<?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>146168</bug_id>
          
          <creation_ts>2015-06-19 16:25:25 -0700</creation_ts>
          <short_desc>Web Inspector: Reduce rendering frames &quot;Other&quot; time by instrumenting compositing</short_desc>
          <delta_ts>2015-06-30 16:41:32 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>agomez</cc>
    
    <cc>burg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1103474</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-06-19 16:25:25 -0700</bug_when>
    <thetext>* SUMMARY
Reduce rendering frames &quot;Other&quot; time by instrumenting compositing time.

Compositing begins when a scheduled layer flush occurs, at which point zero or more paint events (currently instrumented) may occur. Determining the point when compositing completes is more difficult, but as the layer flush is scheduled at the very end of the runloop we can assume that the end of the runloop coincides with completion of compositing.

* NOTE
Paint events that occur during compositing shouldn&apos;t count toward the total painting time for that runloop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103475</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-06-19 16:26:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/21470258&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103522</commentid>
    <comment_count>2</comment_count>
      <attachid>255256</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-06-19 17:45:50 -0700</bug_when>
    <thetext>Created attachment 255256
[Patch] WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103850</commentid>
    <comment_count>3</comment_count>
      <attachid>255256</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-06-22 09:50:31 -0700</bug_when>
    <thetext>Comment on attachment 255256
[Patch] WIP

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

Looks good to me.

&gt; Source/WebInspectorUI/UserInterface/Models/RenderingFrameTimelineRecord.js:119
&gt; +                // Paint events which occur during compositing must be subracted from the total painting time to
&gt; +                // prevent the time from being counted twice.

Not sure I follow this. Can you explain more?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103855</commentid>
    <comment_count>4</comment_count>
      <attachid>255256</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-06-22 10:00:36 -0700</bug_when>
    <thetext>Comment on attachment 255256
[Patch] WIP

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

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:746
&gt; +    , m_didFlushLayers(false)

please initialize this in the class declaration.

&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:257
&gt; +    bool m_didFlushLayers;

... here.

bool m_didFlushLayers { false };

&gt; Source/WebCore/page/FrameView.cpp:1085
&gt; +    InspectorInstrumentation::didFlushLayers(frame());

I tend to prefer more ObjC-like names these days, but that&apos;s just me. e.g.,

InspectorInstrumentation::didFlushLayersForFrame(Frame&amp;)

The disambiguation is more useful when there&apos;s multiple important-looking parameters.

&gt; Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js:278
&gt; +            console.log(&quot;Rendering Frame payload &amp; children&quot;, recordPayload, children);

oops

&gt; Source/WebInspectorUI/UserInterface/Models/RenderingFrameTimelineRecord.js:110
&gt; +                // Layout events which were synchronously triggered from JavaScript must be subracted from the total

speling

&gt; Source/WebInspectorUI/UserInterface/Models/RenderingFrameTimelineRecord.js:118
&gt; +                // Paint events which occur during compositing must be subracted from the total painting time to

speling

&gt; Source/WebInspectorUI/UserInterface/Models/RenderingFrameTimelineRecord.js:123
&gt; +                    for (var compositeRecord of compositeRecords) {

How often does this code get called? It seems kinda scary to be doing O(n^2) summary like this, if it&apos;s used, say, in a requestAnimationFrame. Couldn&apos;t the compositing record durations be adjusted when unpacking the record tree payload?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103881</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-06-22 11:29:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/21148110&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103896</commentid>
    <comment_count>6</comment_count>
      <attachid>255256</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-06-22 12:32:15 -0700</bug_when>
    <thetext>Comment on attachment 255256
[Patch] WIP

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Models/RenderingFrameTimelineRecord.js:123
&gt;&gt; +                    for (var compositeRecord of compositeRecords) {
&gt; 
&gt; How often does this code get called? It seems kinda scary to be doing O(n^2) summary like this, if it&apos;s used, say, in a requestAnimationFrame. Couldn&apos;t the compositing record durations be adjusted when unpacking the record tree payload?

During unpacking we could flag Paint records that are children of a Composite. Alternatively we could add a parent property to TimelineRecord. Having this information after the event hierarchy has been unpacked might be useful elsewhere in the front end. I prefer the latter, but either way we still need to check all paint records for a given rendering frame, subtracting those that are flagged or are children of a Composite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104152</commentid>
    <comment_count>7</comment_count>
      <attachid>255423</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-06-23 12:57:09 -0700</bug_when>
    <thetext>Created attachment 255423
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104176</commentid>
    <comment_count>8</comment_count>
      <attachid>255423</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-23 14:17:03 -0700</bug_when>
    <thetext>Comment on attachment 255423
[Patch] Proposed Fix

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        compositing finishes, so currently we consider this to coincide with the end of the runloop.

I think this is wrong. I think we should use another observer, or some other API to know when the commit is done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104177</commentid>
    <comment_count>9</comment_count>
      <attachid>255423</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-06-23 14:18:28 -0700</bug_when>
    <thetext>Comment on attachment 255423
[Patch] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js:272
&gt; +                record.__occurredDuringComposite = true;

This should just be a public property on the LayoutTimelineRecord.

&gt; Source/WebInspectorUI/UserInterface/Models/RenderingFrameTimelineRecord.js:122
&gt; +                    return currentValue.__occurredDuringComposite ? previousValue + currentValue.duration : previousValue;

... Since you use it in another file here, and that is fragile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105048</commentid>
    <comment_count>10</comment_count>
      <attachid>255663</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-06-26 14:05:24 -0700</bug_when>
    <thetext>Created attachment 255663
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105051</commentid>
    <comment_count>11</comment_count>
      <attachid>255663</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-06-26 14:12:59 -0700</bug_when>
    <thetext>Comment on attachment 255663
[Patch] Proposed Fix

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

I don&apos;t see the RLO for when addCommitHandler: is not available.

&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:243
&gt; +    int m_callStackDepth { 1 };

This used to be initialized to 0.

&gt; Source/WebInspectorUI/UserInterface/Models/LayoutTimelineRecord.js:43
&gt; +        this._duringComposite = duringComposite || false;

|| false?

&gt; Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:367
&gt; +    [CATransaction addCommitHandler:^{
&gt; +        m_webPage.corePage()-&gt;inspectorController().didComposite(m_webPage.mainFrameView()-&gt;frame());
&gt; +    } forPhase:kCATransactionPhasePostCommit];
&gt; +

This needs OS guards, right?

&gt; Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:395
&gt; +        [CATransaction addCommitHandler:^{
&gt; +            m_webPage.corePage()-&gt;inspectorController().didComposite(m_webPage.mainFrameView()-&gt;frame());
&gt; +        } forPhase:kCATransactionPhasePostCommit];

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105065</commentid>
    <comment_count>12</comment_count>
      <attachid>255663</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-06-26 14:44:13 -0700</bug_when>
    <thetext>Comment on attachment 255663
[Patch] Proposed Fix

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Models/LayoutTimelineRecord.js:43
&gt;&gt; +        this._duringComposite = duringComposite || false;
&gt; 
&gt; || false?

duringComposite is an optional parameter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105068</commentid>
    <comment_count>13</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-06-26 14:49:30 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; I don&apos;t see the RLO for when addCommitHandler: is not available.
 
The frame end RLO uses an order of CoreAnimationCommit + 1 and will mark a pending composite record as complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105069</commentid>
    <comment_count>14</comment_count>
      <attachid>255668</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-06-26 14:52:23 -0700</bug_when>
    <thetext>Created attachment 255668
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105414</commentid>
    <comment_count>15</comment_count>
      <attachid>255663</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-06-29 10:32:19 -0700</bug_when>
    <thetext>Comment on attachment 255663
[Patch] Proposed Fix

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Models/LayoutTimelineRecord.js:43
&gt;&gt;&gt; +        this._duringComposite = duringComposite || false;
&gt;&gt; 
&gt;&gt; || false?
&gt; 
&gt; duringComposite is an optional parameter.

another idiom that might be ok:

this._duringComposite = !!duringComposite;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105764</commentid>
    <comment_count>16</comment_count>
      <attachid>255663</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-06-30 13:09:09 -0700</bug_when>
    <thetext>Comment on attachment 255663
[Patch] Proposed Fix

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

&gt;&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Models/LayoutTimelineRecord.js:43
&gt;&gt;&gt;&gt; +        this._duringComposite = duringComposite || false;
&gt;&gt;&gt; 
&gt;&gt;&gt; || false?
&gt;&gt; 
&gt;&gt; duringComposite is an optional parameter.
&gt; 
&gt; another idiom that might be ok:
&gt; 
&gt; this._duringComposite = !!duringComposite;

I think ORing with false is more widely used throughout the Inspector, but I prefer the double-not idiom: more concise and also more familiar to C/C++ programmers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105795</commentid>
    <comment_count>17</comment_count>
      <attachid>255668</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-06-30 13:58:33 -0700</bug_when>
    <thetext>Comment on attachment 255668
[Patch] Proposed Fix

r=me

This is looking nice. Great work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105821</commentid>
    <comment_count>18</comment_count>
      <attachid>255668</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-30 14:46:51 -0700</bug_when>
    <thetext>Comment on attachment 255668
[Patch] Proposed Fix

Clearing flags on attachment: 255668

Committed r186133: &lt;http://trac.webkit.org/changeset/186133&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105822</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-30 14:46:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105843</commentid>
    <comment_count>20</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-06-30 15:08:53 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Comment on attachment 255663 [details]
&gt; [Patch] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=255663&amp;action=review
&gt; 
&gt; &gt;&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Models/LayoutTimelineRecord.js:43
&gt; &gt;&gt;&gt;&gt; +        this._duringComposite = duringComposite || false;
&gt; &gt;&gt;&gt; 
&gt; &gt;&gt;&gt; || false?
&gt; &gt;&gt; 
&gt; &gt;&gt; duringComposite is an optional parameter.
&gt; &gt; 
&gt; &gt; another idiom that might be ok:
&gt; &gt; 
&gt; &gt; this._duringComposite = !!duringComposite;
&gt; 
&gt; I think ORing with false is more widely used throughout the Inspector, but I
&gt; prefer the double-not idiom: more concise and also more familiar to C/C++
&gt; programmers.

I tend to prefer double-not when it is inline with other things or a return. I still use or-false when dealing with optional parameters, since it is clear what the default is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105890</commentid>
    <comment_count>21</comment_count>
      <attachid>255663</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-06-30 16:41:32 -0700</bug_when>
    <thetext>Comment on attachment 255663
[Patch] Proposed Fix

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

&gt;&gt;&gt;&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Models/LayoutTimelineRecord.js:43
&gt;&gt;&gt;&gt;&gt;&gt; +        this._duringComposite = duringComposite || false;
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; || false?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; duringComposite is an optional parameter.
&gt;&gt;&gt; 
&gt;&gt;&gt; another idiom that might be ok:
&gt;&gt;&gt; 
&gt;&gt;&gt; this._duringComposite = !!duringComposite;
&gt;&gt; 
&gt;&gt; I think ORing with false is more widely used throughout the Inspector, but I prefer the double-not idiom: more concise and also more familiar to C/C++ programmers.
&gt; 
&gt; I tend to prefer double-not when it is inline with other things or a return. I still use or-false when dealing with optional parameters, since it is clear what the default is.

Good point.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255256</attachid>
            <date>2015-06-19 17:45:50 -0700</date>
            <delta_ts>2015-06-23 12:57:04 -0700</delta_ts>
            <desc>[Patch] WIP</desc>
            <filename>bug-146168-20150619174511.patch</filename>
            <type>text/plain</type>
            <size>19634</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5lLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5lLmpzb24KaW5kZXggN2RhMTAyODUwYTA5
NjlmZGI0YTAxNjY1MWMxMmRiODdkZWViOGY2MS4uZmEyNmYzNmY0YTNmMTdiMjcxYmE4ZWI3OWY5
NmFkMGMyYTk3ZmJmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9UaW1lbGluZS5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbgpAQCAtMTMsNiArMTMsNyBAQAogICAgICAgICAg
ICAgICAgICJJbnZhbGlkYXRlTGF5b3V0IiwKICAgICAgICAgICAgICAgICAiTGF5b3V0IiwKICAg
ICAgICAgICAgICAgICAiUGFpbnQiLAorICAgICAgICAgICAgICAgICJDb21wb3NpdGUiLAogICAg
ICAgICAgICAgICAgICJSZW5kZXJpbmdGcmFtZSIsCiAgICAgICAgICAgICAgICAgIlNjcm9sbExh
eWVyIiwKICAgICAgICAgICAgICAgICAiUGFyc2VIVE1MIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggZTYwZjBk
NjQ3NjRmNzk2OTQyMTRkOWRkNGE5YzJjN2Y5YWE3MjgyMy4uNjlhZDJjMTM1MDRmMDgzNWFiZDQ3
Mzk5YTI3MzMzZjgzZDhlYTA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTQ3NSw2ICs0NzUsMTIgQEAgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoWEhSTG9hZEV2ZW50SW1wbChj
b25zdCBJbnNwZWN0b3JJbnN0cnUKICAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRGlzcGF0Y2hY
SFJMb2FkRXZlbnQoKTsKIH0KIAordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZs
dXNoTGF5ZXJzSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzLCBG
cmFtZSYgZnJhbWUpCit7CisgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5l
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSkKKyAg
ICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRmx1c2hMYXllcnMoZnJhbWUpOworfQorCiB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
JiBpbnN0cnVtZW50aW5nQWdlbnRzLCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogICAgIGlm
IChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggYWQ4ZGU2YmY0NjQ0YTJk
ZTA2ZjM4ZmRlNWMxMzBiZWE3ZTNhY2NhMS4uZDdiOWE4Zjg0ZmE5ZjI1ZjFlOGU1MTc4OGQzODRm
MDNkYTUxNjNkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMTY0LDYgKzE2NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBkaWREaXNwYXRjaFhIUkxvYWRFdmVudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsU2Nyb2xsTGF5ZXIoRnJhbWUmKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRTY3JvbGxMYXllcihGcmFtZSYpOworICAgIHN0YXRpYyB2b2lk
IGRpZEZsdXNoTGF5ZXJzKEZyYW1lJik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFBhaW50KFJlbmRl
ck9iamVjdCopOwogICAgIHN0YXRpYyB2b2lkIGRpZFBhaW50KFJlbmRlck9iamVjdCosIGNvbnN0
IExheW91dFJlY3QmKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IHdpbGxSZWNhbGN1bGF0ZVN0eWxlKERvY3VtZW50Jik7CkBAIC0zNDIsNiArMzQzLDcgQEAgcHJp
dmF0ZToKICAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaFhIUkxvYWRFdmVudEltcGwoY29uc3Qg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFNj
cm9sbExheWVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsKICAgICBzdGF0aWMg
dm9pZCBkaWRTY3JvbGxMYXllckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYpOworICAgIHN0YXRp
YyB2b2lkIGRpZEZsdXNoTGF5ZXJzSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUmKTsK
ICAgICBzdGF0aWMgdm9pZCB3aWxsUGFpbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBSZW5k
ZXJPYmplY3QqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRQYWludEltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyYsIFJlbmRlck9iamVjdCosIGNvbnN0IExheW91dFJlY3QmKTsKICAgICBzdGF0aWMgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxSZWNhbGN1bGF0ZVN0eWxlSW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzJiwgRG9jdW1lbnQmKTsKQEAgLTgxNCw2ICs4MTYsMTMgQEAgaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaFhIUkxvYWRFdmVudChj
b25zdCBJbnNwZWN0b3JJbnMKICAgICAgICAgZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnRJbXBsKGNv
b2tpZSk7CiB9CiAKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmx1
c2hMYXllcnMoRnJhbWUmIGZyYW1lKQoreworICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKCZmcmFtZSkpCisgICAgICAgIGRpZEZs
dXNoTGF5ZXJzSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOworfQorCiBpbmxpbmUg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQYWludChSZW5kZXJPYmplY3QqIHJl
bmRlcmVyKQogewogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
CmluZGV4IDdlNTVjY2Y0OWJiNTNkMjI0OWI5YTUzMTg0MGFhZmM0MDRjZDU1MzMuLmM1OTljZGVh
ODA2MDg5ZGQwZTY4MThkNmNmMWMzZjYxMjk4NGVlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTE2OCw2ICsxNjgs
MTEgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjppbnRlcm5hbFN0YXJ0KGNvbnN0IGlu
dCogbWF4Q2FsbFN0YWNrRGVwdGgpCiAgICAgICAgIGlmICghbV9lbmFibGVkIHx8IG1fc2NyaXB0
RGVidWdTZXJ2ZXItPmlzUGF1c2VkKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAg
aWYgKG1fZGlkRmx1c2hMYXllcnMpIHsKKyAgICAgICAgICAgIG1fZGlkRmx1c2hMYXllcnMgPSBm
YWxzZTsKKyAgICAgICAgICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29y
ZFR5cGU6OkNvbXBvc2l0ZSk7CisgICAgICAgIH0KKwogICAgICAgICBBU1NFUlQobV9ydW5Mb29w
TmVzdGluZ0xldmVsID4gMCk7CiAgICAgICAgIG1fcnVuTG9vcE5lc3RpbmdMZXZlbC0tOwogICAg
ICAgICBpZiAoIW1fcnVuTG9vcE5lc3RpbmdMZXZlbCkKQEAgLTM5OSw2ICs0MDQsMTMgQEAgdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNhbGN1bGF0ZVN0eWxlKCkKICAgICBkaWRD
b21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpSZWNhbGN1bGF0ZVN0eWxl
cyk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRmx1c2hMYXllcnMoRnJh
bWUmIGZyYW1lKQoreworICAgIEFTU0VSVCghbV9kaWRGbHVzaExheWVycyk7CisgICAgbV9kaWRG
bHVzaExheWVycyA9IHRydWU7CisgICAgcHVzaEN1cnJlbnRSZWNvcmQoSW5zcGVjdG9yT2JqZWN0
OjpjcmVhdGUoKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpDb21wb3NpdGUsIHRydWUsICZmcmFtZSk7
Cit9CisKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFBhaW50KEZyYW1lJiBmcmFt
ZSkKIHsKICAgICBwdXNoQ3VycmVudFJlY29yZChJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpLCBU
aW1lbGluZVJlY29yZFR5cGU6OlBhaW50LCB0cnVlLCAmZnJhbWUpOwpAQCAtNjA3LDYgKzYxOSw4
IEBAIHN0YXRpYyBJbnNwZWN0b3I6OlByb3RvY29sOjpUaW1lbGluZTo6RXZlbnRUeXBlIHRvUHJv
dG9jb2woVGltZWxpbmVSZWNvcmRUeXBlIHR5CiAgICAgICAgIHJldHVybiBJbnNwZWN0b3I6OlBy
b3RvY29sOjpUaW1lbGluZTo6RXZlbnRUeXBlOjpMYXlvdXQ7CiAgICAgY2FzZSBUaW1lbGluZVJl
Y29yZFR5cGU6OlBhaW50OgogICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6VGlt
ZWxpbmU6OkV2ZW50VHlwZTo6UGFpbnQ7CisgICAgY2FzZSBUaW1lbGluZVJlY29yZFR5cGU6OkNv
bXBvc2l0ZToKKyAgICAgICAgcmV0dXJuIEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRpbWVsaW5lOjpF
dmVudFR5cGU6OkNvbXBvc2l0ZTsKICAgICBjYXNlIFRpbWVsaW5lUmVjb3JkVHlwZTo6UmVuZGVy
aW5nRnJhbWU6CiAgICAgICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpUaW1lbGluZTo6
RXZlbnRUeXBlOjpSZW5kZXJpbmdGcmFtZTsKICAgICBjYXNlIFRpbWVsaW5lUmVjb3JkVHlwZTo6
U2Nyb2xsTGF5ZXI6CkBAIC03MjksNiArNzQzLDcgQEAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW4K
ICAgICAsIG1fZW5hYmxlZChmYWxzZSkKICAgICAsIG1fZW5hYmxlZEZyb21Gcm9udGVuZChmYWxz
ZSkKICAgICAsIG1fcnVuTG9vcE5lc3RpbmdMZXZlbCgwKQorICAgICwgbV9kaWRGbHVzaExheWVy
cyhmYWxzZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmgKaW5kZXggNmEwYWZhZWU4YTgwZTVjOWYzNjQxZjJkNDk1MzA1NzI5
YzM3NjYxZi4uNzNkNDRlYThiM2VlMDY1OTA1ZGZiZDEzNGE0YzU2YzU5YjUxMzczMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBA
IC03Miw2ICs3Miw3IEBAIGVudW0gY2xhc3MgVGltZWxpbmVSZWNvcmRUeXBlIHsKICAgICBJbnZh
bGlkYXRlTGF5b3V0LAogICAgIExheW91dCwKICAgICBQYWludCwKKyAgICBDb21wb3NpdGUsCiAg
ICAgUmVuZGVyaW5nRnJhbWUsCiAgICAgU2Nyb2xsTGF5ZXIsCiAKQEAgLTE1NSw2ICsxNTYsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTY3JvbGwoKTsKICAgICB2b2lkIHdpbGxEaXNwYXRjaFhI
UkxvYWRFdmVudChjb25zdCBTdHJpbmcmLCBGcmFtZSopOwogICAgIHZvaWQgZGlkRGlzcGF0Y2hY
SFJMb2FkRXZlbnQoKTsKKyAgICB2b2lkIGRpZEZsdXNoTGF5ZXJzKEZyYW1lJik7CiAgICAgdm9p
ZCB3aWxsUGFpbnQoRnJhbWUmKTsKICAgICB2b2lkIGRpZFBhaW50KFJlbmRlck9iamVjdCosIGNv
bnN0IExheW91dFJlY3QmKTsKICAgICB2b2lkIHdpbGxSZWNhbGN1bGF0ZVN0eWxlKEZyYW1lKik7
CkBAIC0yNTIsNiArMjU0LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29y
ZTo6UnVuTG9vcE9ic2VydmVyPiBtX2ZyYW1lU3RvcE9ic2VydmVyOwogI2VuZGlmCiAgICAgaW50
IG1fcnVuTG9vcE5lc3RpbmdMZXZlbDsKKyAgICBib29sIG1fZGlkRmx1c2hMYXllcnM7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXgg
YWJjNjNiZmM4NTU1YWMzZGM3ZjFmM2NhMTU0MzNkZDQyZjc3ZGJjMy4uNmUyOGRkZjQ0ZjgzODhm
ZThiOWJhNWM4NWUyZjA2ZWI2YWRmOTcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApA
QCAtMTA4Miw2ICsxMDgyLDggQEAgYm9vbCBGcmFtZVZpZXc6OmlzRW5jbG9zZWRJbkNvbXBvc2l0
aW5nTGF5ZXIoKSBjb25zdAogCiBib29sIEZyYW1lVmlldzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRl
SW5jbHVkaW5nU3ViZnJhbWVzKCkKIHsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEZsdXNoTGF5ZXJzKGZyYW1lKCkpOworCiAgICAgYm9vbCBhbGxGcmFtZXNGbHVzaGVkID0gZmx1
c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0ZyYW1lKCZmcmFtZSgpKTsKIAogICAgIGZvciAoRnJh
bWUqIGNoaWxkID0gZnJhbWUoKS50cmVlKCkuZmlyc3RSZW5kZXJlZENoaWxkKCk7IGNoaWxkOyBj
aGlsZCA9IGNoaWxkLT50cmVlKCkudHJhdmVyc2VOZXh0UmVuZGVyZWQobV9mcmFtZS5wdHIoKSkp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0
aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGQwYWNjNjM4ZTBmZWZjYTgz
ZDk0ZDdlM2EwNGIwMmZkZGFiZmUwYTMuLmQ4ODZhNzQxZDIxMzUyZjNjYmRkOWUyZjU2OTJiNmU4
YjUzODZkOGIgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgNTQKemNtYUVLbFg9ZkE8Xy1T
KCVKfmUlNDREaWk0NTx1QzQ2eklmNDdOYjUjTmY9MyZ5ZFNkMDM/QzNsUDVVblorNiQ4Ckd5JXp3
WkpyMzlhCgpkZWx0YSAxNApXY21kbVVpfX0kXzxfLVMobl4pPmotVXxSWkVlQngkCgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGlt
ZWxpbmVNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29u
dHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzCmluZGV4IDUzYThmODcxYzA3NTBlYzgzZjdmMzUz
YjExZTQzNmI2YzRmZjQ5YjcuLjkwMDZmMTA5ODljZDUzZTVlYmE5ZDM2MTk0MTNjYzM5ZDdhOGQz
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKQEAgLTI2NywxMSArMjY3
LDE1IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFn
ZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQoV2Vi
SW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludCwgc3RhcnRUaW1l
LCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIHJlY29yZFBheWxvYWQu
ZGF0YS54LCByZWNvcmRQYXlsb2FkLmRhdGEueSwgcmVjb3JkUGF5bG9hZC5kYXRhLndpZHRoLCBy
ZWNvcmRQYXlsb2FkLmRhdGEuaGVpZ2h0KTsKIAorICAgICAgICBjYXNlIFRpbWVsaW5lQWdlbnQu
RXZlbnRUeXBlLkNvbXBvc2l0ZToKKyAgICAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9y
LkxheW91dFRpbWVsaW5lUmVjb3JkKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuQ29tcG9zaXRlLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFtZXMsIHNvdXJj
ZUNvZGVMb2NhdGlvbik7CisKICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5S
ZW5kZXJpbmdGcmFtZToKICAgICAgICAgICAgIGlmICghcmVjb3JkUGF5bG9hZC5jaGlsZHJlbikK
ICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAogICAgICAgICAgICAgdmFyIGNoaWxkcmVu
ID0gdGhpcy5fcHJvY2Vzc05lc3RlZFJlY29yZHMocmVjb3JkUGF5bG9hZC5jaGlsZHJlbiwgcmVj
b3JkUGF5bG9hZCk7CisgICAgICAgICAgICBjb25zb2xlLmxvZygiUmVuZGVyaW5nIEZyYW1lIHBh
eWxvYWQgJiBjaGlsZHJlbiIsIHJlY29yZFBheWxvYWQsIGNoaWxkcmVuKTsKICAgICAgICAgICAg
IGlmICghY2hpbGRyZW4ubGVuZ3RoKQogICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAg
ICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJl
Y29yZChzdGFydFRpbWUsIGVuZFRpbWUsIGNoaWxkcmVuKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9UaW1lbGluZVJlY29yZENvbXBvc2l0
ZS5zdmcgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvVGltZWxp
bmVSZWNvcmRDb21wb3NpdGUuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZGQ2NmZiNGUzYmUwODk4NzNlYjg2
ZTQxMzhiOTQxNzVmZmZhODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9JbWFnZXMvVGltZWxpbmVSZWNvcmRDb21wb3NpdGUuc3ZnCkBAIC0w
LDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0g
Q29weXJpZ2h0IMKpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAtLT4KKzxz
dmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdC
b3g9IjAgMCAxNiAxNiI+CisgICAgPHBhdGggZmlsbD0icmdiKDE3NiwgMjA0LCAxMDUpIiBkPSJN
IDEzIDEgTCAzIDEgQyAxLjg5ODQzOCAxIDEgMS44OTg0MzggMSAzIEwgMSAxMyBDIDEgMTQuMTAx
NTYyIDEuODk4NDM4IDE1IDMgMTUgTCAxMyAxNSBDIDE0LjEwMTU2MiAxNSAxNSAxNC4xMDE1NjIg
MTUgMTMgTCAxNSAzIEMgMTUgMS44OTg0MzggMTQuMTAxNTYyIDEgMTMgMSBaIi8+CisgICAgPHBh
dGggZmlsbD0icmdiKDE1MiwgMTg4LCA3NykiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4IDEg
MSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBMIDEz
IDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQz
OCAxNC4xMDE1NjIgMSAxMyAxIE0gMTMgMiBDIDEzLjU1MDc4MSAyIDE0IDIuNDQ5MjE5IDE0IDMg
TCAxNCAxMyBDIDE0IDEzLjU1MDc4MSAxMy41NTA3ODEgMTQgMTMgMTQgTCAzIDE0IEMgMi40NDky
MTkgMTQgMiAxMy41NTA3ODEgMiAxMyBMIDIgMyBDIDIgMi40NDkyMTkgMi40NDkyMTkgMiAzIDIg
TCAxMyAyIi8+CisgICAgPHBhdGggZmlsbD0icmdiKDE1MiwgMTg4LCA3NykiIGQ9Ik0gNC43NzM0
MzggMTEuNTQyOTY5IEMgMy44NTU0NjkgMTAuNjIxMDk0IDMuMzkwNjI1IDkuMzQ3NjU2IDMuMzkw
NjI1IDcuNzY5NTMxIEMgMy4zOTA2MjUgNi4xNTYyNSAzLjg2MzI4MSA0Ljg3ODkwNiA0Ljc4OTA2
MiAzLjk2NDg0NCBDIDUuNzEwOTM4IDMuMDU0Njg4IDcuMDAzOTA2IDIuNTkzNzUgOC42MjUgMi41
OTM3NSBDIDkuNTcwMzEyIDIuNTkzNzUgMTAuNTE5NTMxIDIuNzA3MDMxIDExLjQ0MTQwNiAyLjky
OTY4OCBDIDExLjg5MDYyNSAzLjAzNTE1NiAxMi4yMTA5MzggMy40Mzc1IDEyLjIxMDkzOCAzLjkw
MjM0NCBMIDEyLjIxMDkzOCA1LjE5NTMxMiBDIDEyLjIxMDkzOCA1LjUxOTUzMSAxMi4wNTA3ODEg
NS44MjQyMTkgMTEuNzg5MDYyIDYuMDExNzE5IEMgMTEuNjEzMjgxIDYuMTMyODEyIDExLjQxMDE1
NiA2LjE5NTMxMiAxMS4yMDcwMzEgNi4xOTUzMTIgQyAxMS4wOTc2NTYgNi4xOTUzMTIgMTAuOTg0
Mzc1IDYuMTc5Njg4IDEwLjg3ODkwNiA2LjE0MDYyNSBDIDEwLjAxNTYyNSA1LjgzNTkzOCA5LjMw
ODU5NCA1LjY4MzU5NCA4Ljc2OTUzMSA1LjY4MzU5NCBDIDguMDU4NTk0IDUuNjgzNTk0IDcuNzUz
OTA2IDUuOTQxNDA2IDcuNTg5ODQ0IDYuMTMyODEyIEMgNy4yOTY4NzUgNi40NzY1NjIgNy4xNDg0
MzggNy4wMTk1MzEgNy4xNDg0MzggNy43NDYwOTQgQyA3LjE0ODQzOCA4LjQ0NTMxMiA3LjMwODU5
NCA4Ljk3MjY1NiA3LjYyMTA5NCA5LjMyMDMxMiBDIDcuODA4NTk0IDkuNTIzNDM4IDguMTQ4NDM4
IDkuNzk2ODc1IDguOTIxODc1IDkuNzk2ODc1IEMgOS41NDI5NjkgOS43OTY4NzUgMTAuMTg3NSA5
LjYzMjgxMiAxMC44Mzk4NDQgOS4zMDg1OTQgQyAxMC45ODA0NjkgOS4yNDIxODggMTEuMTMyODEy
IDkuMjA3MDMxIDExLjI4NTE1NiA5LjIwNzAzMSBDIDExLjQ2ODc1IDkuMjA3MDMxIDExLjY0ODQz
OCA5LjI1NzgxMiAxMS44MTI1IDkuMzU5Mzc1IEMgMTIuMTA1NDY5IDkuNTM5MDYyIDEyLjI4NTE1
NiA5Ljg1OTM3NSAxMi4yODUxNTYgMTAuMjA3MDMxIEwgMTIuMjg1MTU2IDExLjQyNTc4MSBDIDEy
LjI4NTE1NiAxMS44MjAzMTIgMTIuMDUwNzgxIDEyLjE3OTY4OCAxMS42OTE0MDYgMTIuMzM5ODQ0
IEMgMTAuNzkyOTY5IDEyLjczODI4MSA5LjczMDQ2OSAxMi45NDE0MDYgOC41MjczNDQgMTIuOTQx
NDA2IEMgNi45NTcwMzEgMTIuOTQxNDA2IDUuNjkxNDA2IDEyLjQ3MjY1NiA0Ljc3MzQzOCAxMS41
NDI5NjkiLz4KKyAgICA8cGF0aCBmaWxsPSJ3aGl0ZSIgZD0iTSAxMS4yODUxNTYgMTEuNDI1Nzgx
IEMgMTAuNTE1NjI1IDExLjc2OTUzMSA5LjU5NzY1NiAxMS45NDE0MDYgOC41MjczNDQgMTEuOTQx
NDA2IEMgNy4yMjY1NjIgMTEuOTQxNDA2IDYuMjEwOTM4IDExLjU3NDIxOSA1LjQ4NDM3NSAxMC44
Mzk4NDQgQyA0Ljc1NzgxMiAxMC4xMDU0NjkgNC4zOTQ1MzEgOS4wODIwMzEgNC4zOTQ1MzEgNy43
Njk1MzEgQyA0LjM5NDUzMSA2LjQyOTY4OCA0Ljc1NzgxMiA1LjM5ODQzOCA1LjQ5MjE4OCA0LjY3
NTc4MSBDIDYuMjIyNjU2IDMuOTU3MDMxIDcuMjY5NTMxIDMuNTkzNzUgOC42MjUgMy41OTM3NSBD
IDkuNDkyMTg4IDMuNTkzNzUgMTAuMzUxNTYyIDMuNjk1MzEyIDExLjIxMDkzOCAzLjkwMjM0NCBM
IDExLjIxMDkzOCA1LjE5NTMxMiBDIDEwLjIzODI4MSA0Ljg1NTQ2OSA5LjQyNTc4MSA0LjY4MzU5
NCA4Ljc2OTUzMSA0LjY4MzU5NCBDIDcuOTMzNTk0IDQuNjgzNTk0IDcuMjg1MTU2IDQuOTQ5MjE5
IDYuODMyMDMxIDUuNDg0Mzc1IEMgNi4zNzUgNi4wMTU2MjUgNi4xNDg0MzggNi43Njk1MzEgNi4x
NDg0MzggNy43NDYwOTQgQyA2LjE0ODQzOCA4LjcwNzAzMSA2LjM5NDUzMSA5LjQ1MzEyNSA2Ljg4
MjgxMiA5Ljk5MjE4OCBDIDcuMzcxMDk0IDEwLjUyNzM0NCA4LjA1MDc4MSAxMC43OTY4NzUgOC45
MjE4NzUgMTAuNzk2ODc1IEMgOS43MDMxMjUgMTAuNzk2ODc1IDEwLjQ4ODI4MSAxMC42MDE1NjIg
MTEuMjg1MTU2IDEwLjIwNzAzMSBaIi8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9MYXlvdXRUaW1lbGluZVJlY29yZC5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9MYXlvdXRUaW1lbGlu
ZVJlY29yZC5qcwppbmRleCBmN2U0MjRhMDk1Mzk5MzI2MGI0YWZiNWU1ZDc4MTI0NzRlYjk5ZjBk
Li43ZmRmNDJhNWFlZTRlNWRiNTM2MzA3ODBjMzk5ODYzZmVjYWYwNGQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTGF5b3V0VGltZWxpbmVS
ZWNvcmQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L0xheW91dFRpbWVsaW5lUmVjb3JkLmpzCkBAIC01OSw2ICs1OSw4IEBAIFdlYkluc3BlY3Rvci5M
YXlvdXRUaW1lbGluZVJlY29yZCA9IGNsYXNzIExheW91dFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMg
V2ViSW5zcGVjCiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYXlv
dXQiKTsKICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZl
bnRUeXBlLlBhaW50OgogICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
UGFpbnQiKTsKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQu
RXZlbnRUeXBlLkNvbXBvc2l0ZToKKyAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkNvbXBvc2l0ZSIpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xMjAsNyArMTIyLDgg
QEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZSA9IHsKICAgICBJ
bnZhbGlkYXRlTGF5b3V0OiAibGF5b3V0LXRpbWVsaW5lLXJlY29yZC1pbnZhbGlkYXRlLWxheW91
dCIsCiAgICAgRm9yY2VkTGF5b3V0OiAibGF5b3V0LXRpbWVsaW5lLXJlY29yZC1mb3JjZWQtbGF5
b3V0IiwKICAgICBMYXlvdXQ6ICJsYXlvdXQtdGltZWxpbmUtcmVjb3JkLWxheW91dCIsCi0gICAg
UGFpbnQ6ICJsYXlvdXQtdGltZWxpbmUtcmVjb3JkLXBhaW50IgorICAgIFBhaW50OiAibGF5b3V0
LXRpbWVsaW5lLXJlY29yZC1wYWludCIsCisgICAgQ29tcG9zaXRlOiAibGF5b3V0LXRpbWVsaW5l
LXJlY29yZC1jb21wb3NpdGUiCiB9OwogCiBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNv
cmQuVHlwZUlkZW50aWZpZXIgPSAibGF5b3V0LXRpbWVsaW5lLXJlY29yZCI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVuZGVyaW5nRnJh
bWVUaW1lbGluZVJlY29yZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzCmluZGV4IDAzYTFlNzMyODBi
OGI4ZmI0NzBmYTU2NDc1MmRkODU4NTYzMzEyZGYuLjVkODRhNzQ3M2VhZmZhODM2YzAwYjhkZTcy
YTQ0NzRjZmE4NmY5NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVs
aW5lUmVjb3JkLmpzCkBAIC04Myw5ICs4Myw5IEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lUmVjb3JkID0gY2xhc3MgUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZCBlCiAg
ICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3Jk
LlRhc2tUeXBlLlNjcmlwdDoKICAgICAgICAgICAgICAgICByZXR1cm4gcmVjb3JkLnR5cGUgPT09
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdDsKICAgICAgICAgICAgIGNh
c2UgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuVGFza1R5cGUuTGF5
b3V0OgotICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkLlR5cGUuTGF5b3V0ICYmIHJlY29yZC5ldmVudFR5cGUgIT09IFdlYklu
c3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuUGFpbnQ7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQu
VHlwZS5MYXlvdXQgJiYgcmVjb3JkLmV2ZW50VHlwZSAhPT0gV2ViSW5zcGVjdG9yLkxheW91dFRp
bWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Db21wb3NpdGUgJiYgcmVjb3JkLmV2ZW50VHlwZSAhPT0g
V2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludDsKICAgICAg
ICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuVGFz
a1R5cGUuUGFpbnQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZC50eXBlID09PSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5MYXlvdXQgJiYgcmVjb3JkLmV2ZW50VHlwZSA9
PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludDsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gcmVjb3JkLmV2ZW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkxh
eW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Db21wb3NpdGUgfHwgcmVjb3JkLmV2ZW50VHlw
ZSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludDsK
ICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcigiVW5z
dXBwb3J0ZWQgdGFzayB0eXBlOiAiICsgdGFza1R5cGUpOwogICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKQEAgLTEwNiwxNCArMTA2LDI3IEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lUmVjb3JkID0gY2xhc3MgUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZCBlCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzVmFsdWUgKyBjdXJyZW50RHVyYXRpb247CiAg
ICAgICAgICAgICB9LCAwKTsKIAotICAgICAgICAgICAgLy8gVGltZSBzcGVudCBpbiBsYXlvdXQg
ZXZlbnRzIHdoaWNoIHdlcmUgc3luY2hyb25vdXNseSB0cmlnZ2VyZWQgZnJvbSBKYXZhU2NyaXB0
IG11c3QgYmUgZGVkdWN0ZWQgZnJvbSB0aGUKLSAgICAgICAgICAgIC8vIHJlbmRlcmluZyBmcmFt
ZSdzIHNjcmlwdCBkdXJhdGlvbiwgdG8gcHJldmVudCB0aGUgdGltZSBmcm9tIGJlaW5nIGNvdW50
ZWQgdHdpY2UuCiAgICAgICAgICAgICBpZiAodGFza1R5cGUgPT09IFdlYkluc3BlY3Rvci5SZW5k
ZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlLlNjcmlwdCkgeworICAgICAgICAgICAg
ICAgIC8vIExheW91dCBldmVudHMgd2hpY2ggd2VyZSBzeW5jaHJvbm91c2x5IHRyaWdnZXJlZCBm
cm9tIEphdmFTY3JpcHQgbXVzdCBiZSBzdWJyYWN0ZWQgZnJvbSB0aGUgdG90YWwKKyAgICAgICAg
ICAgICAgICAvLyBzY3JpcHQgdGltZSB0byBwcmV2ZW50IHRoZSB0aW1lIGZyb20gYmVpbmcgY291
bnRlZCB0d2ljZS4KICAgICAgICAgICAgICAgICBkdXJhdGlvbiAtPSB0aGlzLl9jaGlsZHJlbi5y
ZWR1Y2UoZnVuY3Rpb24ocHJldmlvdXNWYWx1ZSwgY3VycmVudFZhbHVlKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkLlR5cGUuTGF5b3V0ICYmIChjdXJyZW50VmFsdWUuc291cmNlQ29kZUxvY2F0aW9uIHx8
IGN1cnJlbnRWYWx1ZS5jYWxsRnJhbWVzKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBwcmV2aW91c1ZhbHVlICsgY3VycmVudFZhbHVlLmR1cmF0aW9uOwogICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZTsKICAgICAgICAgICAgICAgICB9LCAwKTsKKyAgICAg
ICAgICAgIH0gZWxzZSBpZiAodGFza1R5cGUgPT09IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlLlBhaW50KSB7CisgICAgICAgICAgICAgICAgLy8gUGFp
bnQgZXZlbnRzIHdoaWNoIG9jY3VyIGR1cmluZyBjb21wb3NpdGluZyBtdXN0IGJlIHN1YnJhY3Rl
ZCBmcm9tIHRoZSB0b3RhbCBwYWludGluZyB0aW1lIHRvCisgICAgICAgICAgICAgICAgLy8gcHJl
dmVudCB0aGUgdGltZSBmcm9tIGJlaW5nIGNvdW50ZWQgdHdpY2UuCisgICAgICAgICAgICAgICAg
dmFyIGNvbXBvc2l0ZVJlY29yZHMgPSB0aGlzLl9jaGlsZHJlbi5maWx0ZXIoZnVuY3Rpb24ocmVj
b3JkKSB7IHJldHVybiByZWNvcmQuZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0VGlt
ZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkNvbXBvc2l0ZTsgfSk7CisgICAgICAgICAgICAgICAgdmFy
IHBhaW50UmVjb3JkcyA9IHRoaXMuX2NoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihyZWNvcmQpIHsg
cmV0dXJuIHJlY29yZC5ldmVudFR5cGUgPT09IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJl
Y29yZC5FdmVudFR5cGUuUGFpbnQ7IH0pOworICAgICAgICAgICAgICAgIGR1cmF0aW9uIC09IHBh
aW50UmVjb3Jkcy5yZWR1Y2UoZnVuY3Rpb24ocHJldmlvdXNWYWx1ZSwgcGFpbnRSZWNvcmQpIHsK
KyAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgY29tcG9zaXRlUmVjb3JkIG9mIGNvbXBvc2l0
ZVJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYWludFJlY29yZC5zdGFy
dFRpbWUgPj0gY29tcG9zaXRlUmVjb3JkLnN0YXJ0VGltZSAmJiBwYWludFJlY29yZC5lbmRUaW1l
IDw9IGNvbXBvc2l0ZVJlY29yZC5lbmRUaW1lKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY3VycmVudFZhbHVlID0rIHBhaW50UmVjb3JkLmR1cmF0aW9uOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSwgMCk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVJY29ucy5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcwppbmRleCAzYzU1NDNhZGM2N2Q2NzhiYjE5ZmZj
YjE0OTZjYjllZWRmNTMzMDY2Li40OWIxZjRiYzQ4NWEyYTgxOTdlZWY5MGI2ZTk4MjQxODc3MTcy
MjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZUljb25zLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcwpAQCAtNzUsNiArNzUsMTAgQEAKICAgICBjb250
ZW50OiB1cmwoLi4vSW1hZ2VzL1RpbWVsaW5lUmVjb3JkUGFpbnQuc3ZnKTsKIH0KIAorLmNvbXBv
c2l0ZS1yZWNvcmQgLmljb24geworICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMvVGltZWxpbmVS
ZWNvcmRDb21wb3NpdGUuc3ZnKTsKK30KKwogLnJlbmRlcmluZy1mcmFtZS1yZWNvcmQgLmljb24g
ewogICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMvVGltZWxpbmVSZWNvcmRSZW5kZXJpbmdGcmFt
ZS5zdmcpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanMKaW5k
ZXggZTk0YzcyODg1MTk2YzdkYTU5OGViZjFhNjBmNjg5ZjFkOTQ4ZDAzNC4uNDYwM2Y2MTNhOThj
NGQ4Nzk1ZGY1NDZlNGUxNzYxYzk0MjljMDE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJl
Y29yZFRyZWVFbGVtZW50LmpzCkBAIC02Miw2ICs2Miw5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJlY29yZFRyZWVFbGVtZW50ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCBleHRl
bmRzCiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuUGFpbnQ6CiAgICAgICAgICAgICAgICAgaWNvblN0eWxlQ2xhc3MgPSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5QYWludFJlY29yZEljb25TdHlsZUNsYXNz
OwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3Iu
TGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkNvbXBvc2l0ZToKKyAgICAgICAgICAgICAg
ICBpY29uU3R5bGVDbGFzcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50
LkNvbXBvc2l0ZVJlY29yZEljb25TdHlsZUNsYXNzOworICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJVbmtu
b3duIExheW91dFRpbWVsaW5lUmVjb3JkIGV2ZW50VHlwZTogIiArIHRpbWVsaW5lUmVjb3JkLmV2
ZW50VHlwZSwgdGltZWxpbmVSZWNvcmQpOwogICAgICAgICAgICAgfQpAQCAtMTU3LDYgKzE2MCw3
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50ID0gY2xhc3MgVGltZWxp
bmVSZWNvcmRUcmVlRWxlbWVudCBleHRlbmRzCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRU
cmVlRWxlbWVudC5TdHlsZVJlY29yZEljb25TdHlsZUNsYXNzID0gInN0eWxlLXJlY29yZCI7CiBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5MYXlvdXRSZWNvcmRJY29uU3R5
bGVDbGFzcyA9ICJsYXlvdXQtcmVjb3JkIjsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRy
ZWVFbGVtZW50LlBhaW50UmVjb3JkSWNvblN0eWxlQ2xhc3MgPSAicGFpbnQtcmVjb3JkIjsKK1dl
Ykluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkNvbXBvc2l0ZVJlY29yZEljb25T
dHlsZUNsYXNzID0gImNvbXBvc2l0ZS1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkVHJlZUVsZW1lbnQuUmVuZGVyaW5nRnJhbWVSZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJyZW5k
ZXJpbmctZnJhbWUtcmVjb3JkIjsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVt
ZW50LkV2YWx1YXRlZFJlY29yZEljb25TdHlsZUNsYXNzID0gImV2YWx1YXRlZC1yZWNvcmQiOwog
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuRXZlbnRSZWNvcmRJY29uU3R5
bGVDbGFzcyA9ICJldmVudC1yZWNvcmQiOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255423</attachid>
            <date>2015-06-23 12:57:09 -0700</date>
            <delta_ts>2015-06-26 14:05:19 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-146168-20150623125625.patch</filename>
            <type>text/plain</type>
            <size>29219</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1ODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZDk2ZTg4OWJiMTgwZjdiYmFiZDQ4MjU1N2U4NjEyN2U5NWUzOGRlLi5kOWRhOTk1M2M5ZDZlNjkw
ODNmZmM5NWEwZjQwODhkMzhjYWY1YThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNS0wNi0yMyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVkdWNlIHJlbmRlcmluZyBmcmFtZXMgIk90aGVy
IiB0aW1lIGJ5IGluc3RydW1lbnRpbmcgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjE2OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5l
Lmpzb246CisgICAgICAgIE5ldyB0aW1lbGluZSByZWNvcmQgdHlwZSBmb3IgY29tcG9zaXRpbmcg
ZXZlbnRzLgorCiAyMDE1LTA2LTIyICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtFUzZdIEFsbG93IHRyYWlsaW5nIGNvbW1hIGluIEFycmF5QmluZGlu
Z1BhdHRlcm4gYW5kIE9iamVjdEJpbmRpbmdQYXR0ZXJuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzAxOWQyODI3
OWEwN2UxN2RjYTUyZmI5OGVlZmQ2NWJhODBlODQ0Zi4uMzI1ZmQ3MzU0YmZjMjJlNWU5NjY1MWFi
Y2RkZjNlNjViZTgxNTdhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTA2LTIz
ICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBSZWR1Y2UgcmVuZGVyaW5nIGZyYW1lcyAiT3RoZXIiIHRpbWUgYnkgaW5zdHJ1bWVudGlu
ZyBjb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ2MTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBhZGRzIEluc3BlY3RvciBpbnN0cnVtZW50YXRpb24gYW5kIGhvb2tz
IGZvciBhcHByb3hpbWF0aW5nIHRoZSB0aW1lIHNwZW50IGNvbXBvc2l0aW5nIGluCisgICAgICAg
IENvcmVBbmltYXRpb24uIFdlIGFkZCBvdXIgaG9vayB0byBpbnN0cnVtZW50IHRoZSBzdGFydCBv
ZiBjb21wb3NpdGluZyBhdCB0aGUgdGhlIEZyYW1lVmlldyBsZXZlbCwgd2hlbgorICAgICAgICBM
YXllckZsdXNoU2NoZWR1bGVyIGhhcyB0cmlnZ2VyZWQgYSBzY2hlZHVsZWQgbGF5ZXIgZmx1c2gu
IEl0IGlzIG1vcmUgZGlmZmljdWx0IHRvIGRldGVybWluZSB0aGUgdGltZQorICAgICAgICBjb21w
b3NpdGluZyBmaW5pc2hlcywgc28gY3VycmVudGx5IHdlIGNvbnNpZGVyIHRoaXMgdG8gY29pbmNp
ZGUgd2l0aCB0aGUgZW5kIG9mIHRoZSBydW5sb29wLgorCisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEZsdXNoTGF5ZXJzSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRGbHVzaExheWVycyk6CisgICAgICAgIFBsdW1iaW5nIGZvciBu
ZXcgaW5zdHJ1bWVudGF0aW9uLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
aW50ZXJuYWxTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjpkaWRGbHVzaExheWVycyk6CisgICAgICAgIChXZWJDb3JlOjp0b1Byb3RvY29sKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICBOZXcgQ29t
cG9zaXRlIGV2ZW50IHR5cGUgYW5kIGluc3RydW1lbnRhdGlvbi4KKworICAgICAgICAqIHBhZ2Uv
RnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Zmx1c2hDb21wb3Np
dGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKToKKyAgICAgICAgSG9vayBmb3IgY29tcG9zaXRp
bmcgaW5zdHJ1bWVudGluZy4KKwogMjAxNS0wNi0yMyAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJu
YW5kZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBQZXJmb3JtYW5j
ZSBvcHRpbWl6YXRpb246IGF2b2lkIGNvbXB1dGluZyBvdmVyZmxvdyBhbGlnbm1lbnQgaWYgbm90
IG5lZWRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggMWM5ZjU1YWRjZWFlMDVlOTJjZGQy
OWM2NWFjMjZhMTcwZTgxMDk1Ny4uMzliNTBmM2YwNGIxNWNhZmVhMjFhZWYzNjkwZDRkZmM0MWI0
OTEwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDIgQEAKIDIwMTUtMDYt
MjMgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFJlZHVjZSByZW5kZXJpbmcgZnJhbWVzICJPdGhlciIgdGltZSBieSBpbnN0cnVtZW50
aW5nIGNvbXBvc2l0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDYxNjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLl9wcm9jZXNzUmVj
b3JkKToKKyAgICAgICAgQWRkZWQgaGFuZGxpbmcgZm9yIG5ldyBDb21wb3NpdGUgcmVjb3JkIHR5
cGUuIFBhaW50IHJlY29yZHMgd2l0aCBhIHBhcmVudCBDb21wb3NpdGUgcmVjb3JkCisgICAgICAg
IGFyZSBub3cgZmxhZ2dlZCB0byBzaW1wbGlmeSBwcm9jZXNzaW5nIGFmdGVyIGV2ZW50IGhpZXJh
cmNoeSBpcyB1bnBhY2tlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvSW1hZ2VzL1RpbWVs
aW5lUmVjb3JkQ29tcG9zaXRlLnN2ZzogQWRkZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9N
b2RlbHMvTGF5b3V0VGltZWxpbmVSZWNvcmQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5
b3V0VGltZWxpbmVSZWNvcmQuZGlzcGxheU5hbWVGb3JFdmVudFR5cGUpOgorICAgICAgICBOZXcg
aWNvbi9sYWJlbCBmb3IgQ29tcG9zaXRlIHJlY29yZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvTW9kZWxzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5wcm90b3R5cGUuZHVyYXRpb25G
b3JUYXNrLmdldCB2YWxpZFJlY29yZEZvclRhc2tUeXBlKToKKyAgICAgICAgQWNjb3VudCBmb3Ig
Y29tcG9zaXRlcyB3aGVuIGJ1Y2tldGluZyBydW5sb29wIHRhc2tzLgorCisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLnByb3RvdHlwZS5fbGF5
b3V0VGltZWxpbmVSZWNvcmRBZGRlZCk6CisgICAgICAgIFVwZGF0ZWQgdG8gaW5jbHVkZSBjb21w
b3NpdGVzIGluIHRoZSBwYWludCB0aW1lbGluZSByb3cuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LnByb3RvdHlwZS5fcHJvY2Vzc1BlbmRp
bmdSZWNvcmRzKToKKyAgICAgICAgU21hbGwgdW5yZWxhdGVkIGZpeC4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVJY29ucy5jc3M6CisgICAgICAgICguY29tcG9zaXRl
LXJlY29yZCAuaWNvbik6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJl
Y29yZEJhci5jc3M6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29y
ZFRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJl
ZUVsZW1lbnQpOgorICAgICAgICBOZXcgc3R5bGVzIGFuZCB0cmVlIGVsZW1lbnQgaWNvbi4KKwor
MjAxNS0wNi0yMyAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CisKICAgICAgICAg
V2ViIEluc3BlY3RvcjogTGF5b3V0ICYgUmVuZGVyaW5nIHRpbWVsaW5lIHNob3VsZCBzaG93IHBh
aW50IGFuZCBsYXlvdXQgcmVjb3JkcyBpbiBzZXBhcmF0ZSByb3dzCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYxMTkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uCmluZGV4
IDdkYTEwMjg1MGEwOTY5ZmRiNGEwMTY2NTFjMTJkYjg3ZGVlYjhmNjEuLmZhMjZmMzZmNGEzZjE3
YjI3MWJhOGViNzlmOTZhZDBjMmE5N2ZiZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5lLmpzb24KQEAgLTEzLDYgKzEzLDcg
QEAKICAgICAgICAgICAgICAgICAiSW52YWxpZGF0ZUxheW91dCIsCiAgICAgICAgICAgICAgICAg
IkxheW91dCIsCiAgICAgICAgICAgICAgICAgIlBhaW50IiwKKyAgICAgICAgICAgICAgICAiQ29t
cG9zaXRlIiwKICAgICAgICAgICAgICAgICAiUmVuZGVyaW5nRnJhbWUiLAogICAgICAgICAgICAg
ICAgICJTY3JvbGxMYXllciIsCiAgICAgICAgICAgICAgICAgIlBhcnNlSFRNTCIsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3Bw
CmluZGV4IGU2MGYwZDY0NzY0Zjc5Njk0MjE0ZDlkZDRhOWMyYzdmOWFhNzI4MjMuLjY5YWQyYzEz
NTA0ZjA4MzVhYmQ0NzM5OWEyNzMzM2Y4M2Q4ZWEwNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC00NzUsNiAr
NDc1LDEyIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaFhIUkxv
YWRFdmVudEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1CiAgICAgICAgIHRpbWVsaW5lQWdlbnQt
PmRpZERpc3BhdGNoWEhSTG9hZEV2ZW50KCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRGbHVzaExheWVyc0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVu
dGluZ0FnZW50cywgRnJhbWUmIGZyYW1lKQoreworICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KCkpCisgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZEZsdXNoTGF5ZXJzKGZyYW1lKTsK
K30KKwogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQYWludEltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgUmVuZGVyT2JqZWN0KiByZW5kZXJl
cikKIHsKICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGlu
c3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGFk
OGRlNmJmNDY0NGEyZGUwNmYzOGZkZTVjMTMwYmVhN2UzYWNjYTEuLmQ3YjlhOGY4NGZhOWYyNWYx
ZThlNTE3ODhkMzg0ZjAzZGE1MTYzZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTE2NCw2ICsxNjQsNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnQoY29uc3QgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFNjcm9sbExh
eWVyKEZyYW1lJik7CiAgICAgc3RhdGljIHZvaWQgZGlkU2Nyb2xsTGF5ZXIoRnJhbWUmKTsKKyAg
ICBzdGF0aWMgdm9pZCBkaWRGbHVzaExheWVycyhGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lkIHdp
bGxQYWludChSZW5kZXJPYmplY3QqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRQYWludChSZW5kZXJP
YmplY3QqLCBjb25zdCBMYXlvdXRSZWN0Jik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSB3aWxsUmVjYWxjdWxhdGVTdHlsZShEb2N1bWVudCYpOwpAQCAtMzQyLDYg
KzM0Myw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hYSFJMb2FkRXZl
bnRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAgIHN0YXRp
YyB2b2lkIHdpbGxTY3JvbGxMYXllckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lJik7
CiAgICAgc3RhdGljIHZvaWQgZGlkU2Nyb2xsTGF5ZXJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
KTsKKyAgICBzdGF0aWMgdm9pZCBkaWRGbHVzaExheWVyc0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyYsIEZyYW1lJik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFBhaW50SW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzJiwgUmVuZGVyT2JqZWN0Kik7CiAgICAgc3RhdGljIHZvaWQgZGlkUGFpbnRJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmLCBSZW5kZXJPYmplY3QqLCBjb25zdCBMYXlvdXRSZWN0Jik7CiAg
ICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsUmVjYWxjdWxhdGVT
dHlsZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIERvY3VtZW50Jik7CkBAIC04MTQsNiArODE2
LDEzIEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hY
SFJMb2FkRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zCiAgICAgICAgIGRpZERpc3BhdGNoWEhSTG9h
ZEV2ZW50SW1wbChjb29raWUpOwogfQogCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZEZsdXNoTGF5ZXJzKEZyYW1lJiBmcmFtZSkKK3sKKyAgICBGQVNUX1JFVFVSTl9J
Rl9OT19GUk9OVEVORFModm9pZCgpKTsKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZSgmZnJhbWUpKQor
ICAgICAgICBkaWRGbHVzaExheWVyc0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsK
K30KKwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnQoUmVu
ZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMo
dm9pZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcAppbmRleCA3ZTU1Y2NmNDliYjUzZDIyNDliOWE1MzE4NDBhYWZjNDA0Y2Q1
NTMzLi5jODZjOGVmYzM3NWE0NDdjYTYzZmQxZDllNTliMWVmYjgwZTNmOGI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBA
IC0xNjgsNiArMTY4LDExIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6aW50ZXJuYWxT
dGFydChjb25zdCBpbnQqIG1heENhbGxTdGFja0RlcHRoKQogICAgICAgICBpZiAoIW1fZW5hYmxl
ZCB8fCBtX3NjcmlwdERlYnVnU2VydmVyLT5pc1BhdXNlZCgpKQogICAgICAgICAgICAgcmV0dXJu
OwogCisgICAgICAgIGlmIChtX2RpZEZsdXNoTGF5ZXJzKSB7CisgICAgICAgICAgICBtX2RpZEZs
dXNoTGF5ZXJzID0gZmFsc2U7CisgICAgICAgICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQo
VGltZWxpbmVSZWNvcmRUeXBlOjpDb21wb3NpdGUpOworICAgICAgICB9CisKICAgICAgICAgQVNT
RVJUKG1fcnVuTG9vcE5lc3RpbmdMZXZlbCA+IDApOwogICAgICAgICBtX3J1bkxvb3BOZXN0aW5n
TGV2ZWwtLTsKICAgICAgICAgaWYgKCFtX3J1bkxvb3BOZXN0aW5nTGV2ZWwpCkBAIC0zOTksNiAr
NDA0LDEzIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVjYWxjdWxhdGVTdHls
ZSgpCiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6UmVj
YWxjdWxhdGVTdHlsZXMpOwogfQogCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZEZs
dXNoTGF5ZXJzKEZyYW1lJiBmcmFtZSkKK3sKKyAgICBBU1NFUlQoIW1fZGlkRmx1c2hMYXllcnMp
OworICAgIG1fZGlkRmx1c2hMYXllcnMgPSB0cnVlOworICAgIHB1c2hDdXJyZW50UmVjb3JkKElu
c3BlY3Rvck9iamVjdDo6Y3JlYXRlKCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6Q29tcG9zaXRlLCB0
cnVlLCAmZnJhbWUpOworfQorCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxQYWlu
dChGcmFtZSYgZnJhbWUpCiB7CiAgICAgcHVzaEN1cnJlbnRSZWNvcmQoSW5zcGVjdG9yT2JqZWN0
OjpjcmVhdGUoKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpQYWludCwgdHJ1ZSwgJmZyYW1lKTsKQEAg
LTYwNyw2ICs2MTksOCBAQCBzdGF0aWMgSW5zcGVjdG9yOjpQcm90b2NvbDo6VGltZWxpbmU6OkV2
ZW50VHlwZSB0b1Byb3RvY29sKFRpbWVsaW5lUmVjb3JkVHlwZSB0eQogICAgICAgICByZXR1cm4g
SW5zcGVjdG9yOjpQcm90b2NvbDo6VGltZWxpbmU6OkV2ZW50VHlwZTo6TGF5b3V0OwogICAgIGNh
c2UgVGltZWxpbmVSZWNvcmRUeXBlOjpQYWludDoKICAgICAgICAgcmV0dXJuIEluc3BlY3Rvcjo6
UHJvdG9jb2w6OlRpbWVsaW5lOjpFdmVudFR5cGU6OlBhaW50OworICAgIGNhc2UgVGltZWxpbmVS
ZWNvcmRUeXBlOjpDb21wb3NpdGU6CisgICAgICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29s
OjpUaW1lbGluZTo6RXZlbnRUeXBlOjpDb21wb3NpdGU7CiAgICAgY2FzZSBUaW1lbGluZVJlY29y
ZFR5cGU6OlJlbmRlcmluZ0ZyYW1lOgogICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2Nv
bDo6VGltZWxpbmU6OkV2ZW50VHlwZTo6UmVuZGVyaW5nRnJhbWU7CiAgICAgY2FzZSBUaW1lbGlu
ZVJlY29yZFR5cGU6OlNjcm9sbExheWVyOgpAQCAtNzIwLDE1ICs3MzQsOCBAQCB2b2lkIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29y
ZFR5cGUgdHlwZSkKIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3BlY3RvclRpbWVsaW5lQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yUGFn
ZUFnZW50KiBwYWdlQWdlbnQsIEluc3BlY3RvclR5cGUgdHlwZSwgSW5zcGVjdG9yQ2xpZW50KiBj
bGllbnQpCiAgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoQVNDSUlMaXRlcmFsKCJUaW1lbGluZSIp
LCBpbnN0cnVtZW50aW5nQWdlbnRzKQogICAgICwgbV9wYWdlQWdlbnQocGFnZUFnZW50KQotICAg
ICwgbV9zY3JpcHREZWJ1Z1NlcnZlcihudWxscHRyKQotICAgICwgbV9pZCgxKQotICAgICwgbV9j
YWxsU3RhY2tEZXB0aCgwKQotICAgICwgbV9tYXhDYWxsU3RhY2tEZXB0aCg1KQogICAgICwgbV9p
bnNwZWN0b3JUeXBlKHR5cGUpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCi0gICAgLCBtX2VuYWJs
ZWQoZmFsc2UpCi0gICAgLCBtX2VuYWJsZWRGcm9tRnJvbnRlbmQoZmFsc2UpCi0gICAgLCBtX3J1
bkxvb3BOZXN0aW5nTGV2ZWwoMCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggNmEwYWZhZWU4YTgwZTVjOWYzNjQx
ZjJkNDk1MzA1NzI5YzM3NjYxZi4uMjhjODFlYTgwNzJiOGRiZmM2NTMxOWE3ZDZhOGU1MDlkOGVj
N2QxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5oCkBAIC03Miw2ICs3Miw3IEBAIGVudW0gY2xhc3MgVGltZWxpbmVSZWNvcmRUeXBl
IHsKICAgICBJbnZhbGlkYXRlTGF5b3V0LAogICAgIExheW91dCwKICAgICBQYWludCwKKyAgICBD
b21wb3NpdGUsCiAgICAgUmVuZGVyaW5nRnJhbWUsCiAgICAgU2Nyb2xsTGF5ZXIsCiAKQEAgLTE1
NSw2ICsxNTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTY3JvbGwoKTsKICAgICB2b2lkIHdp
bGxEaXNwYXRjaFhIUkxvYWRFdmVudChjb25zdCBTdHJpbmcmLCBGcmFtZSopOwogICAgIHZvaWQg
ZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnQoKTsKKyAgICB2b2lkIGRpZEZsdXNoTGF5ZXJzKEZyYW1l
Jik7CiAgICAgdm9pZCB3aWxsUGFpbnQoRnJhbWUmKTsKICAgICB2b2lkIGRpZFBhaW50KFJlbmRl
ck9iamVjdCosIGNvbnN0IExheW91dFJlY3QmKTsKICAgICB2b2lkIHdpbGxSZWNhbGN1bGF0ZVN0
eWxlKEZyYW1lKik7CkBAIC0yMjksMjkgKzIzMSwzMCBAQCBwcml2YXRlOgogICAgIFBhZ2UqIHBh
Z2UoKTsKIAogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9wYWdlQWdlbnQ7Ci0gICAgUGFnZVNj
cmlwdERlYnVnU2VydmVyKiBtX3NjcmlwdERlYnVnU2VydmVyOworICAgIFBhZ2VTY3JpcHREZWJ1
Z1NlcnZlciogbV9zY3JpcHREZWJ1Z1NlcnZlciB7IG51bGxwdHIgfTsKIAogICAgIHN0ZDo6dW5p
cXVlX3B0cjxJbnNwZWN0b3I6OlRpbWVsaW5lRnJvbnRlbmREaXNwYXRjaGVyPiBtX2Zyb250ZW5k
RGlzcGF0Y2hlcjsKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpUaW1lbGluZUJhY2tlbmREaXNwYXRj
aGVyPiBtX2JhY2tlbmREaXNwYXRjaGVyOwogCiAgICAgVmVjdG9yPFRpbWVsaW5lUmVjb3JkRW50
cnk+IG1fcmVjb3JkU3RhY2s7CiAKLSAgICBpbnQgbV9pZDsKLSAgICBpbnQgbV9jYWxsU3RhY2tE
ZXB0aDsKLSAgICBpbnQgbV9tYXhDYWxsU3RhY2tEZXB0aDsKKyAgICBpbnQgbV9pZCB7IDEgfTsK
KyAgICBpbnQgbV9jYWxsU3RhY2tEZXB0aCB7IDEgfTsKKyAgICBpbnQgbV9tYXhDYWxsU3RhY2tE
ZXB0aCB7IDUgfTsKICAgICBJbnNwZWN0b3JUeXBlIG1faW5zcGVjdG9yVHlwZTsKICAgICBJbnNw
ZWN0b3JDbGllbnQqIG1fY2xpZW50OwogCiAgICAgVmVjdG9yPFRpbWVsaW5lUmVjb3JkRW50cnk+
IG1fcGVuZGluZ0NvbnNvbGVQcm9maWxlUmVjb3JkczsKIAotICAgIGJvb2wgbV9lbmFibGVkOwot
ICAgIGJvb2wgbV9lbmFibGVkRnJvbUZyb250ZW5kOworICAgIGJvb2wgbV9lbmFibGVkIHsgZmFs
c2UgfTsKKyAgICBib29sIG1fZW5hYmxlZEZyb21Gcm9udGVuZCB7IGZhbHNlIH07CiAKICNpZiBQ
TEFURk9STShDT0NPQSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UnVuTG9vcE9ic2Vy
dmVyPiBtX2ZyYW1lU3RhcnRPYnNlcnZlcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6
UnVuTG9vcE9ic2VydmVyPiBtX2ZyYW1lU3RvcE9ic2VydmVyOwogI2VuZGlmCi0gICAgaW50IG1f
cnVuTG9vcE5lc3RpbmdMZXZlbDsKKyAgICBpbnQgbV9ydW5Mb29wTmVzdGluZ0xldmVsIHsgMCB9
OworICAgIGJvb2wgbV9kaWRGbHVzaExheWVycyB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggYWJjNjNiZmM4NTU1
YWMzZGM3ZjFmM2NhMTU0MzNkZDQyZjc3ZGJjMy4uNmUyOGRkZjQ0ZjgzODhmZThiOWJhNWM4NWUy
ZjA2ZWI2YWRmOTcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTA4Miw2ICsx
MDgyLDggQEAgYm9vbCBGcmFtZVZpZXc6OmlzRW5jbG9zZWRJbkNvbXBvc2l0aW5nTGF5ZXIoKSBj
b25zdAogCiBib29sIEZyYW1lVmlldzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3Vi
ZnJhbWVzKCkKIHsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZsdXNoTGF5ZXJz
KGZyYW1lKCkpOworCiAgICAgYm9vbCBhbGxGcmFtZXNGbHVzaGVkID0gZmx1c2hDb21wb3NpdGlu
Z1N0YXRlRm9yVGhpc0ZyYW1lKCZmcmFtZSgpKTsKIAogICAgIGZvciAoRnJhbWUqIGNoaWxkID0g
ZnJhbWUoKS50cmVlKCkuZmlyc3RSZW5kZXJlZENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxk
LT50cmVlKCkudHJhdmVyc2VOZXh0UmVuZGVyZWQobV9mcmFtZS5wdHIoKSkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXpl
ZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJv
ai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGQwYWNjNjM4ZTBmZWZjYTgzZDk0ZDdlM2EwNGIw
MmZkZGFiZmUwYTMuLmQ4ODZhNzQxZDIxMzUyZjNjYmRkOWUyZjU2OTJiNmU4YjUzODZkOGIgMTAw
NjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgNTQKemNtYUVLbFg9ZkE8Xy1TKCVKfmUlNDREaWk0
NTx1QzQ2eklmNDdOYjUjTmY9MyZ5ZFNkMDM/QzNsUDVVblorNiQ4Ckd5JXp3WkpyMzlhCgpkZWx0
YSAxNApXY21kbVVpfX0kXzxfLVMobl4pPmotVXxSWkVlQngkCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2Vy
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGlt
ZWxpbmVNYW5hZ2VyLmpzCmluZGV4IDUzYThmODcxYzA3NTBlYzgzZjdmMzUzYjExZTQzNmI2YzRm
ZjQ5YjcuLjQ1ZDhkYTNmZDEwNmQ5YTFjMTZmMDVjNDMwZDg3MjJiODAzNTY1NDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVs
aW5lTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKQEAgLTI2MSwxMSArMjYxLDIzIEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlw
ZS5QYWludDoKICAgICAgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyA2KTogUGFpbnQgcmVj
b3JkcyBkYXRhIGNvbnRhaW5lZCB4LCB5LCB3aWR0aCwgaGVpZ2h0IHByb3BlcnRpZXMuIFRoaXMg
YmVjYW1lIGEgcXVhZCAiY2xpcCIuCisgICAgICAgICAgICB2YXIgcmVjb3JkOwogICAgICAgICAg
ICAgdmFyIHF1YWQgPSByZWNvcmRQYXlsb2FkLmRhdGEuY2xpcCA/IG5ldyBXZWJJbnNwZWN0b3Iu
UXVhZChyZWNvcmRQYXlsb2FkLmRhdGEuY2xpcCkgOiBudWxsOwogICAgICAgICAgICAgaWYgKHF1
YWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxp
bmVSZWNvcmQoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWlu
dCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIG51
bGwsIG51bGwsIHF1YWQud2lkdGgsIHF1YWQuaGVpZ2h0LCBxdWFkKTsKKyAgICAgICAgICAgICAg
ICByZWNvcmQgPSBuZXcgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkKFdlYkluc3Bl
Y3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuUGFpbnQsIHN0YXJ0VGltZSwgZW5k
VGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBudWxsLCBudWxsLCBxdWFkLndp
ZHRoLCBxdWFkLmhlaWdodCwgcXVhZCk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQoV2ViSW5zcGVj
dG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludCwgc3RhcnRUaW1lLCBlbmRU
aW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIHJlY29yZFBheWxvYWQuZGF0YS54
LCByZWNvcmRQYXlsb2FkLmRhdGEueSwgcmVjb3JkUGF5bG9hZC5kYXRhLndpZHRoLCByZWNvcmRQ
YXlsb2FkLmRhdGEuaGVpZ2h0KTsKKyAgICAgICAgICAgICAgICByZWNvcmQgPSBuZXcgV2ViSW5z
cGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJl
Y29yZC5FdmVudFR5cGUuUGFpbnQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291
cmNlQ29kZUxvY2F0aW9uLCByZWNvcmRQYXlsb2FkLmRhdGEueCwgcmVjb3JkUGF5bG9hZC5kYXRh
LnksIHJlY29yZFBheWxvYWQuZGF0YS53aWR0aCwgcmVjb3JkUGF5bG9hZC5kYXRhLmhlaWdodCk7
CisKKyAgICAgICAgICAgIGlmIChyZWNvcmRQYXlsb2FkLl9fb2NjdXJyZWREdXJpbmdDb21wb3Np
dGUpCisgICAgICAgICAgICAgICAgcmVjb3JkLl9fb2NjdXJyZWREdXJpbmdDb21wb3NpdGUgPSB0
cnVlOworICAgICAgICAgICAgcmV0dXJuIHJlY29yZDsKKworICAgICAgICBjYXNlIFRpbWVsaW5l
QWdlbnQuRXZlbnRUeXBlLkNvbXBvc2l0ZToKKyAgICAgICAgICAgIHJlY29yZFBheWxvYWQuY2hp
bGRyZW4uZm9yRWFjaChmdW5jdGlvbihjaGlsZFJlY29yZFBheWxvYWQpIHsKKyAgICAgICAgICAg
ICAgICBjb25zb2xlLmFzc2VydChjaGlsZFJlY29yZFBheWxvYWQudHlwZSA9PT0gVGltZWxpbmVB
Z2VudC5FdmVudFR5cGUuUGFpbnQsIGNoaWxkUmVjb3JkUGF5bG9hZC50eXBlKTsKKyAgICAgICAg
ICAgICAgICBjaGlsZFJlY29yZFBheWxvYWQuX19vY2N1cnJlZER1cmluZ0NvbXBvc2l0ZSA9IHRy
dWU7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9y
LkxheW91dFRpbWVsaW5lUmVjb3JkKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuQ29tcG9zaXRlLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFtZXMsIHNvdXJj
ZUNvZGVMb2NhdGlvbik7CiAKICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5S
ZW5kZXJpbmdGcmFtZToKICAgICAgICAgICAgIGlmICghcmVjb3JkUGF5bG9hZC5jaGlsZHJlbikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9U
aW1lbGluZVJlY29yZENvbXBvc2l0ZS5zdmcgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9JbWFnZXMvVGltZWxpbmVSZWNvcmRDb21wb3NpdGUuc3ZnCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJi
ZGQ2NmZiNGUzYmUwODk4NzNlYjg2ZTQxMzhiOTQxNzVmZmZhODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvVGltZWxpbmVSZWNv
cmRDb21wb3NpdGUuc3ZnCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0idXRmLTgiPz4KKzwhLS0gQ29weXJpZ2h0IMKpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLiAtLT4KKzxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CisgICAgPHBhdGggZmlsbD0icmdi
KDE3NiwgMjA0LCAxMDUpIiBkPSJNIDEzIDEgTCAzIDEgQyAxLjg5ODQzOCAxIDEgMS44OTg0Mzgg
MSAzIEwgMSAxMyBDIDEgMTQuMTAxNTYyIDEuODk4NDM4IDE1IDMgMTUgTCAxMyAxNSBDIDE0LjEw
MTU2MiAxNSAxNSAxNC4xMDE1NjIgMTUgMTMgTCAxNSAzIEMgMTUgMS44OTg0MzggMTQuMTAxNTYy
IDEgMTMgMSBaIi8+CisgICAgPHBhdGggZmlsbD0icmdiKDE1MiwgMTg4LCA3NykiIGQ9Ik0gMTMg
MSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIg
MS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAx
MyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAxIE0gMTMgMiBDIDEzLjU1MDc4
MSAyIDE0IDIuNDQ5MjE5IDE0IDMgTCAxNCAxMyBDIDE0IDEzLjU1MDc4MSAxMy41NTA3ODEgMTQg
MTMgMTQgTCAzIDE0IEMgMi40NDkyMTkgMTQgMiAxMy41NTA3ODEgMiAxMyBMIDIgMyBDIDIgMi40
NDkyMTkgMi40NDkyMTkgMiAzIDIgTCAxMyAyIi8+CisgICAgPHBhdGggZmlsbD0icmdiKDE1Miwg
MTg4LCA3NykiIGQ9Ik0gNC43NzM0MzggMTEuNTQyOTY5IEMgMy44NTU0NjkgMTAuNjIxMDk0IDMu
MzkwNjI1IDkuMzQ3NjU2IDMuMzkwNjI1IDcuNzY5NTMxIEMgMy4zOTA2MjUgNi4xNTYyNSAzLjg2
MzI4MSA0Ljg3ODkwNiA0Ljc4OTA2MiAzLjk2NDg0NCBDIDUuNzEwOTM4IDMuMDU0Njg4IDcuMDAz
OTA2IDIuNTkzNzUgOC42MjUgMi41OTM3NSBDIDkuNTcwMzEyIDIuNTkzNzUgMTAuNTE5NTMxIDIu
NzA3MDMxIDExLjQ0MTQwNiAyLjkyOTY4OCBDIDExLjg5MDYyNSAzLjAzNTE1NiAxMi4yMTA5Mzgg
My40Mzc1IDEyLjIxMDkzOCAzLjkwMjM0NCBMIDEyLjIxMDkzOCA1LjE5NTMxMiBDIDEyLjIxMDkz
OCA1LjUxOTUzMSAxMi4wNTA3ODEgNS44MjQyMTkgMTEuNzg5MDYyIDYuMDExNzE5IEMgMTEuNjEz
MjgxIDYuMTMyODEyIDExLjQxMDE1NiA2LjE5NTMxMiAxMS4yMDcwMzEgNi4xOTUzMTIgQyAxMS4w
OTc2NTYgNi4xOTUzMTIgMTAuOTg0Mzc1IDYuMTc5Njg4IDEwLjg3ODkwNiA2LjE0MDYyNSBDIDEw
LjAxNTYyNSA1LjgzNTkzOCA5LjMwODU5NCA1LjY4MzU5NCA4Ljc2OTUzMSA1LjY4MzU5NCBDIDgu
MDU4NTk0IDUuNjgzNTk0IDcuNzUzOTA2IDUuOTQxNDA2IDcuNTg5ODQ0IDYuMTMyODEyIEMgNy4y
OTY4NzUgNi40NzY1NjIgNy4xNDg0MzggNy4wMTk1MzEgNy4xNDg0MzggNy43NDYwOTQgQyA3LjE0
ODQzOCA4LjQ0NTMxMiA3LjMwODU5NCA4Ljk3MjY1NiA3LjYyMTA5NCA5LjMyMDMxMiBDIDcuODA4
NTk0IDkuNTIzNDM4IDguMTQ4NDM4IDkuNzk2ODc1IDguOTIxODc1IDkuNzk2ODc1IEMgOS41NDI5
NjkgOS43OTY4NzUgMTAuMTg3NSA5LjYzMjgxMiAxMC44Mzk4NDQgOS4zMDg1OTQgQyAxMC45ODA0
NjkgOS4yNDIxODggMTEuMTMyODEyIDkuMjA3MDMxIDExLjI4NTE1NiA5LjIwNzAzMSBDIDExLjQ2
ODc1IDkuMjA3MDMxIDExLjY0ODQzOCA5LjI1NzgxMiAxMS44MTI1IDkuMzU5Mzc1IEMgMTIuMTA1
NDY5IDkuNTM5MDYyIDEyLjI4NTE1NiA5Ljg1OTM3NSAxMi4yODUxNTYgMTAuMjA3MDMxIEwgMTIu
Mjg1MTU2IDExLjQyNTc4MSBDIDEyLjI4NTE1NiAxMS44MjAzMTIgMTIuMDUwNzgxIDEyLjE3OTY4
OCAxMS42OTE0MDYgMTIuMzM5ODQ0IEMgMTAuNzkyOTY5IDEyLjczODI4MSA5LjczMDQ2OSAxMi45
NDE0MDYgOC41MjczNDQgMTIuOTQxNDA2IEMgNi45NTcwMzEgMTIuOTQxNDA2IDUuNjkxNDA2IDEy
LjQ3MjY1NiA0Ljc3MzQzOCAxMS41NDI5NjkiLz4KKyAgICA8cGF0aCBmaWxsPSJ3aGl0ZSIgZD0i
TSAxMS4yODUxNTYgMTEuNDI1NzgxIEMgMTAuNTE1NjI1IDExLjc2OTUzMSA5LjU5NzY1NiAxMS45
NDE0MDYgOC41MjczNDQgMTEuOTQxNDA2IEMgNy4yMjY1NjIgMTEuOTQxNDA2IDYuMjEwOTM4IDEx
LjU3NDIxOSA1LjQ4NDM3NSAxMC44Mzk4NDQgQyA0Ljc1NzgxMiAxMC4xMDU0NjkgNC4zOTQ1MzEg
OS4wODIwMzEgNC4zOTQ1MzEgNy43Njk1MzEgQyA0LjM5NDUzMSA2LjQyOTY4OCA0Ljc1NzgxMiA1
LjM5ODQzOCA1LjQ5MjE4OCA0LjY3NTc4MSBDIDYuMjIyNjU2IDMuOTU3MDMxIDcuMjY5NTMxIDMu
NTkzNzUgOC42MjUgMy41OTM3NSBDIDkuNDkyMTg4IDMuNTkzNzUgMTAuMzUxNTYyIDMuNjk1MzEy
IDExLjIxMDkzOCAzLjkwMjM0NCBMIDExLjIxMDkzOCA1LjE5NTMxMiBDIDEwLjIzODI4MSA0Ljg1
NTQ2OSA5LjQyNTc4MSA0LjY4MzU5NCA4Ljc2OTUzMSA0LjY4MzU5NCBDIDcuOTMzNTk0IDQuNjgz
NTk0IDcuMjg1MTU2IDQuOTQ5MjE5IDYuODMyMDMxIDUuNDg0Mzc1IEMgNi4zNzUgNi4wMTU2MjUg
Ni4xNDg0MzggNi43Njk1MzEgNi4xNDg0MzggNy43NDYwOTQgQyA2LjE0ODQzOCA4LjcwNzAzMSA2
LjM5NDUzMSA5LjQ1MzEyNSA2Ljg4MjgxMiA5Ljk5MjE4OCBDIDcuMzcxMDk0IDEwLjUyNzM0NCA4
LjA1MDc4MSAxMC43OTY4NzUgOC45MjE4NzUgMTAuNzk2ODc1IEMgOS43MDMxMjUgMTAuNzk2ODc1
IDEwLjQ4ODI4MSAxMC42MDE1NjIgMTEuMjg1MTU2IDEwLjIwNzAzMSBaIi8+Cis8L3N2Zz4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9MYXlv
dXRUaW1lbGluZVJlY29yZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9MYXlvdXRUaW1lbGluZVJlY29yZC5qcwppbmRleCBmN2U0MjRhMDk1Mzk5MzI2MGI0
YWZiNWU1ZDc4MTI0NzRlYjk5ZjBkLi43ZmRmNDJhNWFlZTRlNWRiNTM2MzA3ODBjMzk5ODYzZmVj
YWYwNGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvTGF5b3V0VGltZWxpbmVSZWNvcmQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL0xheW91dFRpbWVsaW5lUmVjb3JkLmpzCkBAIC01OSw2ICs1
OSw4IEBAIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZCA9IGNsYXNzIExheW91dFRp
bWVsaW5lUmVjb3JkIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgICAgICByZXR1cm4gV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJMYXlvdXQiKTsKICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuTGF5
b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlBhaW50OgogICAgICAgICAgICAgcmV0dXJuIFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiUGFpbnQiKTsKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3Iu
TGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkNvbXBvc2l0ZToKKyAgICAgICAgICAgIHJl
dHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvbXBvc2l0ZSIpOwogICAgICAgICB9CiAgICAg
fQogCkBAIC0xMjAsNyArMTIyLDggQEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3Jk
LkV2ZW50VHlwZSA9IHsKICAgICBJbnZhbGlkYXRlTGF5b3V0OiAibGF5b3V0LXRpbWVsaW5lLXJl
Y29yZC1pbnZhbGlkYXRlLWxheW91dCIsCiAgICAgRm9yY2VkTGF5b3V0OiAibGF5b3V0LXRpbWVs
aW5lLXJlY29yZC1mb3JjZWQtbGF5b3V0IiwKICAgICBMYXlvdXQ6ICJsYXlvdXQtdGltZWxpbmUt
cmVjb3JkLWxheW91dCIsCi0gICAgUGFpbnQ6ICJsYXlvdXQtdGltZWxpbmUtcmVjb3JkLXBhaW50
IgorICAgIFBhaW50OiAibGF5b3V0LXRpbWVsaW5lLXJlY29yZC1wYWludCIsCisgICAgQ29tcG9z
aXRlOiAibGF5b3V0LXRpbWVsaW5lLXJlY29yZC1jb21wb3NpdGUiCiB9OwogCiBXZWJJbnNwZWN0
b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuVHlwZUlkZW50aWZpZXIgPSAibGF5b3V0LXRpbWVsaW5l
LXJlY29yZCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Nb2RlbHMvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3Jk
LmpzCmluZGV4IDAzYTFlNzMyODBiOGI4ZmI0NzBmYTU2NDc1MmRkODU4NTYzMzEyZGYuLmIyMmMw
OGI2OTg0MDAzOGMwNmRjMmJjNDM5MmFkMWZmYWI1MGMwZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5l
UmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzCkBAIC04Myw5ICs4Myw5IEBAIFdlYklu
c3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkID0gY2xhc3MgUmVuZGVyaW5nRnJh
bWVUaW1lbGluZVJlY29yZCBlCiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5SZW5kZXJp
bmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlLlNjcmlwdDoKICAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlNj
cmlwdDsKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxp
bmVSZWNvcmQuVGFza1R5cGUuTGF5b3V0OgotICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmQu
dHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuTGF5b3V0ICYmIHJlY29y
ZC5ldmVudFR5cGUgIT09IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5FdmVudFR5
cGUuUGFpbnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZC50eXBlID09PSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5MYXlvdXQgJiYgcmVjb3JkLmV2ZW50VHlwZSAhPT0g
V2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Db21wb3NpdGUgJiYg
cmVjb3JkLmV2ZW50VHlwZSAhPT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2
ZW50VHlwZS5QYWludDsKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0Zy
YW1lVGltZWxpbmVSZWNvcmQuVGFza1R5cGUuUGFpbnQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5MYXlvdXQg
JiYgcmVjb3JkLmV2ZW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3Jk
LkV2ZW50VHlwZS5QYWludDsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVjb3JkLmV2ZW50VHlw
ZSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Db21wb3Np
dGUgfHwgcmVjb3JkLmV2ZW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5QYWludDsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAg
ICAgY29uc29sZS5lcnJvcigiVW5zdXBwb3J0ZWQgdGFzayB0eXBlOiAiICsgdGFza1R5cGUpOwog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEwNiwxNCArMTA2LDIxIEBAIFdlYklu
c3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkID0gY2xhc3MgUmVuZGVyaW5nRnJh
bWVUaW1lbGluZVJlY29yZCBlCiAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzVmFsdWUg
KyBjdXJyZW50RHVyYXRpb247CiAgICAgICAgICAgICB9LCAwKTsKIAotICAgICAgICAgICAgLy8g
VGltZSBzcGVudCBpbiBsYXlvdXQgZXZlbnRzIHdoaWNoIHdlcmUgc3luY2hyb25vdXNseSB0cmln
Z2VyZWQgZnJvbSBKYXZhU2NyaXB0IG11c3QgYmUgZGVkdWN0ZWQgZnJvbSB0aGUKLSAgICAgICAg
ICAgIC8vIHJlbmRlcmluZyBmcmFtZSdzIHNjcmlwdCBkdXJhdGlvbiwgdG8gcHJldmVudCB0aGUg
dGltZSBmcm9tIGJlaW5nIGNvdW50ZWQgdHdpY2UuCiAgICAgICAgICAgICBpZiAodGFza1R5cGUg
PT09IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlLlNj
cmlwdCkgeworICAgICAgICAgICAgICAgIC8vIExheW91dCBldmVudHMgc3luY2hyb25vdXNseSB0
cmlnZ2VyZWQgZnJvbSBKYXZhU2NyaXB0IG11c3QgYmUgc3VidHJhY3RlZCBmcm9tIHRoZSB0b3Rh
bAorICAgICAgICAgICAgICAgIC8vIHNjcmlwdCB0aW1lLCB0byBwcmV2ZW50IHRoZSB0aW1lIGZy
b20gYmVpbmcgY291bnRlZCB0d2ljZS4KICAgICAgICAgICAgICAgICBkdXJhdGlvbiAtPSB0aGlz
Ll9jaGlsZHJlbi5yZWR1Y2UoZnVuY3Rpb24ocHJldmlvdXNWYWx1ZSwgY3VycmVudFZhbHVlKSB7
CiAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUudHlwZSA9PT0gV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuTGF5b3V0ICYmIChjdXJyZW50VmFsdWUuc291cmNlQ29k
ZUxvY2F0aW9uIHx8IGN1cnJlbnRWYWx1ZS5jYWxsRnJhbWVzKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlICsgY3VycmVudFZhbHVlLmR1cmF0aW9uOwogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZTsKICAgICAgICAgICAgICAgICB9
LCAwKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodGFza1R5cGUgPT09IFdlYkluc3BlY3Rvci5S
ZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlLlBhaW50KSB7CisgICAgICAgICAg
ICAgICAgLy8gUGFpbnQgZXZlbnRzIHRyaWdnZXJlZCBkdXJpbmcgYSBDb21wb3NpdGUgZXZlbnQg
bXVzdCBiZSBzdWJ0cmFjdGVkIGZyb20gdGhlIHRvdGFsIHBhaW50aW5nIHRpbWUsCisgICAgICAg
ICAgICAgICAgLy8gc2luY2UgdGhlIGNvbXBvc2l0aW5nIHRpbWUgYWxyZWFkeSBpbmNsdWRlcyB0
aW1lIHNwZW50IGluIHRoZXNlIFBhaW50IGV2ZW50cy4KKyAgICAgICAgICAgICAgICB2YXIgcGFp
bnRSZWNvcmRzID0gdGhpcy5fY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKHJlY29yZCkgeyByZXR1
cm4gcmVjb3JkLmV2ZW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3Jk
LkV2ZW50VHlwZS5QYWludDsgfSk7CisgICAgICAgICAgICAgICAgZHVyYXRpb24gLT0gcGFpbnRS
ZWNvcmRzLnJlZHVjZShmdW5jdGlvbihwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpIHsKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZS5fX29jY3VycmVkRHVyaW5nQ29t
cG9zaXRlID8gcHJldmlvdXNWYWx1ZSArIGN1cnJlbnRWYWx1ZS5kdXJhdGlvbiA6IHByZXZpb3Vz
VmFsdWU7CisgICAgICAgICAgICAgICAgfSwgMCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
TGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IDkw
ZWM4MWY3ZTIyYmQzYjVhYzc1ZjhhZjZiMGMxYjZlOTIwY2JjODAuLjhiNDBjNzUyYjFhZWVhMDg1
ODI3YjY0ZWMzYzEwOTdkOWYzN2ExMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGlu
ZU92ZXJ2aWV3R3JhcGguanMKQEAgLTEwNSw3ICsxMDUsNyBAQCBXZWJJbnNwZWN0b3IuTGF5b3V0
VGltZWxpbmVPdmVydmlld0dyYXBoLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGxheW91dFRp
bWVsaW5lUmVjb3JkID0gZXZlbnQuZGF0YS5yZWNvcmQ7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KGxheW91dFRpbWVsaW5lUmVjb3JkIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVs
aW5lUmVjb3JkKTsKIAotICAgICAgICBpZiAobGF5b3V0VGltZWxpbmVSZWNvcmQuZXZlbnRUeXBl
ID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlBhaW50KQor
ICAgICAgICBpZiAobGF5b3V0VGltZWxpbmVSZWNvcmQuZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0
b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkNvbXBvc2l0ZSB8fCBsYXlvdXRUaW1l
bGluZVJlY29yZC5ldmVudFR5cGUgPT09IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29y
ZC5FdmVudFR5cGUuUGFpbnQpCiAgICAgICAgICAgICB0aGlzLl90aW1lbGluZVBhaW50UmVjb3Jk
Um93LnJlY29yZHMucHVzaChsYXlvdXRUaW1lbGluZVJlY29yZCk7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIHRoaXMuX3RpbWVsaW5lTGF5b3V0UmVjb3JkUm93LnJlY29yZHMucHVzaChsYXlv
dXRUaW1lbGluZVJlY29yZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVW
aWV3LmpzCmluZGV4IDU0MTRjMzcyOGYwOWEzZTkxODZlNjFkY2UwMmNjYzlhZjYxZWRlMzcuLjU5
ZGU0ZmFiMTcxODhkZGY0YjAwODUwZTcxY2MyZWM1NGYzNTcyNmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxp
bmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzCkBAIC0yMjUsNiArMjI1LDcgQEAgV2ViSW5z
cGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgICAg
ICAgICAgICAgICAgICB0aGlzLl9kYXRhR3JpZC5hZGRSb3dJblNvcnRPcmRlcihsYXlvdXRUcmVl
RWxlbWVudCwgbGF5b3V0RGF0YUdyaWROb2RlLCB0cmVlRWxlbWVudCk7CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIGlmIChjaGlsZFJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmQuVHlwZS5TY3JpcHQpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHJvb3ROb2RlcyA9
IFtdOwogICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGRSZWNvcmQucHJvZmlsZSkgewogICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgdXNpbmcgdGhlIGJvdHRvbS11
cCB0cmVlIG9uY2UgaXQgaXMgaW1wbGVtZW50ZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICBy
b290Tm9kZXMgPSBjaGlsZFJlY29yZC5wcm9maWxlLnRvcERvd25Sb290Tm9kZXM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUlj
b25zLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lSWNvbnMuY3NzCmluZGV4IDNjNTU0M2FkYzY3ZDY3OGJiMTlmZmNiMTQ5NmNiOWVlZGY1MzMw
NjYuLjQ5YjFmNGJjNDg1YTJhODE5N2VlZjkwYjZlOTgyNDE4NzcxNzIyMGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lSWNvbnMu
Y3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lSWNvbnMuY3NzCkBAIC03NSw2ICs3NSwxMCBAQAogICAgIGNvbnRlbnQ6IHVybCguLi9JbWFn
ZXMvVGltZWxpbmVSZWNvcmRQYWludC5zdmcpOwogfQogCisuY29tcG9zaXRlLXJlY29yZCAuaWNv
biB7CisgICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9UaW1lbGluZVJlY29yZENvbXBvc2l0ZS5z
dmcpOworfQorCiAucmVuZGVyaW5nLWZyYW1lLXJlY29yZCAuaWNvbiB7CiAgICAgY29udGVudDog
dXJsKC4uL0ltYWdlcy9UaW1lbGluZVJlY29yZFJlbmRlcmluZ0ZyYW1lLnN2Zyk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZVJlY29yZEJhci5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZVJlY29yZEJhci5jc3MKaW5kZXggMjAwYzgxNjdiMDczNjA3MmM1ZDE5Y2I4OGRm
Y2JkMWVlM2MzOTg1Ny4uMzQ4N2FjNDM3NmJhMTM2NmRmZTAxODJlOTgxYjUwNjM0NDdkYTRhMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVSZWNvcmRCYXIuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmNzcwpAQCAtODcsNiArODcsNyBAQAogICAgIGJv
cmRlci1jb2xvcjogcmdiKDIxMiwgMTA4LCAxMDgpOwogfQogCisudGltZWxpbmUtcmVjb3JkLWJh
ci50aW1lbGluZS1yZWNvcmQtdHlwZS1sYXlvdXQubGF5b3V0LXRpbWVsaW5lLXJlY29yZC1jb21w
b3NpdGUgPiAuc2VnbWVudCwKIC50aW1lbGluZS1yZWNvcmQtYmFyLnRpbWVsaW5lLXJlY29yZC10
eXBlLWxheW91dC5sYXlvdXQtdGltZWxpbmUtcmVjb3JkLXBhaW50ID4gLnNlZ21lbnQgewogICAg
IGJhY2tncm91bmQtY29sb3I6IHJnYigxNzYsIDIwNCwgMTA1KTsKICAgICBib3JkZXItY29sb3I6
IHJnYigxNTIsIDE4OCwgNzcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1l
bnQuanMKaW5kZXggZTk0YzcyODg1MTk2YzdkYTU5OGViZjFhNjBmNjg5ZjFkOTQ4ZDAzNC4uNDYw
M2Y2MTNhOThjNGQ4Nzk1ZGY1NDZlNGUxNzYxYzk0MjljMDE3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxl
bWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZVJlY29yZFRyZWVFbGVtZW50LmpzCkBAIC02Miw2ICs2Miw5IEBAIFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRUcmVlRWxl
bWVudCBleHRlbmRzCiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGlu
ZVJlY29yZC5FdmVudFR5cGUuUGFpbnQ6CiAgICAgICAgICAgICAgICAgaWNvblN0eWxlQ2xhc3Mg
PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5QYWludFJlY29yZEljb25T
dHlsZUNsYXNzOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBXZWJJ
bnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkNvbXBvc2l0ZToKKyAgICAg
ICAgICAgICAgICBpY29uU3R5bGVDbGFzcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRy
ZWVFbGVtZW50LkNvbXBvc2l0ZVJlY29yZEljb25TdHlsZUNsYXNzOworICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBjb25zb2xlLmVy
cm9yKCJVbmtub3duIExheW91dFRpbWVsaW5lUmVjb3JkIGV2ZW50VHlwZTogIiArIHRpbWVsaW5l
UmVjb3JkLmV2ZW50VHlwZSwgdGltZWxpbmVSZWNvcmQpOwogICAgICAgICAgICAgfQpAQCAtMTU3
LDYgKzE2MCw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50ID0gY2xh
c3MgVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCBleHRlbmRzCiBXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmRUcmVlRWxlbWVudC5TdHlsZVJlY29yZEljb25TdHlsZUNsYXNzID0gInN0eWxlLXJl
Y29yZCI7CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5MYXlvdXRSZWNv
cmRJY29uU3R5bGVDbGFzcyA9ICJsYXlvdXQtcmVjb3JkIjsKIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJlY29yZFRyZWVFbGVtZW50LlBhaW50UmVjb3JkSWNvblN0eWxlQ2xhc3MgPSAicGFpbnQtcmVj
b3JkIjsKK1dlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkNvbXBvc2l0ZVJl
Y29yZEljb25TdHlsZUNsYXNzID0gImNvbXBvc2l0ZS1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuUmVuZGVyaW5nRnJhbWVSZWNvcmRJY29uU3R5bGVDbGFz
cyA9ICJyZW5kZXJpbmctZnJhbWUtcmVjb3JkIjsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZFRyZWVFbGVtZW50LkV2YWx1YXRlZFJlY29yZEljb25TdHlsZUNsYXNzID0gImV2YWx1YXRlZC1y
ZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuRXZlbnRSZWNv
cmRJY29uU3R5bGVDbGFzcyA9ICJldmVudC1yZWNvcmQiOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255663</attachid>
            <date>2015-06-26 14:05:24 -0700</date>
            <delta_ts>2015-06-26 14:52:17 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-146168-20150626140437.patch</filename>
            <type>text/plain</type>
            <size>38380</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
OTBiZTM1OWRjMjJmNjE4ZDVmYzEzZjY4Y2U3NzFiNGMyM2I2Yjg1Li5jMTFkZjUxOGEyZjc5OGU4
MGI4ZTg1ZDFhYTVlYzUxZDIwOGE1NGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNS0wNi0yNiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVkdWNlIHJlbmRlcmluZyBmcmFtZXMgIk90aGVy
IiB0aW1lIGJ5IGluc3RydW1lbnRpbmcgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjE2OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5l
Lmpzb246CisgICAgICAgIE5ldyB0aW1lbGluZSByZWNvcmQgdHlwZSBmb3IgY29tcG9zaXRpbmcg
ZXZlbnRzLgorCiAyMDE1LTA2LTI2ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmVtb3ZlIEFSTXY3QXNzZW1ibGVyLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBk
NDExOGY4ZmMyZjhhZThjZWM2NWUxMmFjMWE1NmM3ODg3NmM1MWYuLmZlMDZkODQzMmVmYWVmZDUw
MjJjZmY2ODYwZTlhNzI4ZmQ2YTQ2YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAx
NS0wNi0yNiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogUmVkdWNlIHJlbmRlcmluZyBmcmFtZXMgIk90aGVyIiB0aW1lIGJ5IGluc3Ry
dW1lbnRpbmcgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0NjE2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIEluc3BlY3RvciBpbnN0cnVtZW50YXRpb24gZm9yIG1lYXN1cmlu
ZyBDb3JlQW5pbWF0aW9uIGNvbXBvc2l0aW5nIHRpbWUuIFdlIG1hcmsgdGhlIHN0YXJ0IG9mIGEg
Y29tcG9zaXRlCisgICAgICAgIGV2ZW50IHdoZW4gdGhlIExheWVyRmx1c2hTY2hlZHVsZXIgdHJp
Z2dlcnMgYSBzY2hlZHVsZWQgbGF5ZXIgZmx1c2guIEluc3BlY3RvckNvbnRyb2xsZXIgbm93IGV4
cG9ydHMgYSBmdW5jdGlvbgorICAgICAgICBmb3IgbWFya2luZyB0aGUgZW5kIG9mIHRoZSBjb21w
b3NpdGUgZXZlbnQsIHdoaWNoIHNob3VsZCBiZSBjYWxsZWQgZHVyaW5nIHRoZSBDQSB0cmFuc2Fj
dGlvbiBwb3N0LWNvbW1pdCBwaGFzZQorICAgICAgICAoYmFzZWQgb24gcGxhdGZvcm0gc3VwcG9y
dCkuIExhY2tpbmcgcGxhdGZvcm0gc3VwcG9ydCwgdGhlIGV2ZW50IGlzIGNvbnNpZGVyZWQgY29t
cGxldGUgYWZ0ZXIgQ29yZUFuaW1hdGlvbgorICAgICAgICBydW5sb29wIG9ic2VydmVycyBoYXZl
IHJ1bi4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZENvbXBvc2l0ZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgTmV3IGV4cG9y
dCBmb3IgaW5zdHJ1bWVudGF0aW9uIGluIFdlYktpdDIuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbENvbXBvc2l0ZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21wb3NpdGVJbXBsKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxDb21wb3NpdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21wb3NpdGUpOgorICAgICAgICBQbHVt
YmluZyBmb3IgbmV3IGluc3RydW1lbnRhdGlvbi4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OmludGVybmFsU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6aW50ZXJuYWxTdG9wKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OndpbGxDb21wb3NpdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkQ29tcG9zaXRlKToKKyAgICAgICAgKFdlYkNvcmU6OnRvUHJvdG9j
b2wpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6CisgICAg
ICAgIE5ldyBDb21wb3NpdGUgZXZlbnQgdHlwZSBhbmQgaW5zdHJ1bWVudGF0aW9uLgorCisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpm
bHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMpOgorICAgICAgICBIb29rIGZv
ciBzdGFydCBvZiBjb21wb3NpdGluZy4KKworICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9R
dWFydHpDb3JlU1BJLmg6CisgICAgICAgIE5ldyBoZWFkZXIgaW5jbHVkZSBhbmQgaW50ZXJmYWNl
IGRlY2xhcmF0aW9uLgorCiAyMDE1LTA2LTI1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgR2V0IHJpZCBvZiBTY3JvbGxiYXJUaGVtZUNsaWVudCBub3cg
dGhhdCBpdCdzIHVudXNlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggYzkzOTAwZDVmNmNl
OTI4MWMzZTAyZmUyMTU4ZWExMzlkMDM0Yzc4ZC4uZDk2YWM1YTNlNmQxZmViNWI4MjhhYmYzNDQ4
NzY5OWViYjc2NTVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMTUtMDYtMjYgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFJlZHVjZSByZW5kZXJpbmcgZnJhbWVzICJPdGhlciIgdGltZSBieSBp
bnN0cnVtZW50aW5nIGNvbXBvc2l0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDYxNjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5n
cy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdl
ci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLl9w
cm9jZXNzUmVjb3JkKToKKyAgICAgICAgQWRkZWQgaGFuZGxpbmcgZm9yIG5ldyBDb21wb3NpdGUg
cmVjb3JkIHR5cGUuIFBhaW50IHJlY29yZHMgd2l0aCBhIHBhcmVudCBDb21wb3NpdGUgcmVjb3Jk
CisgICAgICAgIGFyZSBmbGFnZ2VkIHRvIHNpbXBsaWZ5IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGV2
ZW50IGhpZXJhcmNoeSBpcyB1bnBhY2tlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvSW1h
Z2VzL1RpbWVsaW5lUmVjb3JkQ29tcG9zaXRlLnN2ZzogQWRkZWQuCisgICAgICAgIE5ldyBjb21w
b3NpdGUgcmVjb3JkIGljb24uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9MYXlv
dXRUaW1lbGluZVJlY29yZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGlu
ZVJlY29yZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuZGlz
cGxheU5hbWVGb3JFdmVudFR5cGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVs
aW5lUmVjb3JkLnByb3RvdHlwZS5nZXQgZHVyaW5nQ29tcG9zaXRlKTogQWRkZWQKKyAgICAgICAg
Q29tcG9zaXRlIHJlY29yZCBzdXBwb3J0LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2Rl
bHMvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLnByb3RvdHlwZS5kdXJhdGlvbkZvclRhc2su
Z2V0IHZhbGlkUmVjb3JkRm9yVGFza1R5cGUpOgorICAgICAgICBBZGQgY29tcG9zaXRpbmcgdGlt
ZSB3aGVuIGJ1Y2tldGluZyBydW5sb29wIHRhc2tzLCBpZ25vcmluZyBQYWludCBldmVudHMgdGhh
dCBhcmUKKyAgICAgICAgY29udGFpbmVkIHdpdGhpbiBhIENvbXBvc2l0ZSBldmVudC4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90
b3R5cGUuX2xheW91dFRpbWVsaW5lUmVjb3JkQWRkZWQpOgorICAgICAgICBBZGQgQ29tcG9zaXRl
IHJlY29yZHMgdG8gcGFpbnQgdGltZWxpbmUgcm93LgorCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5wcm90b3R5cGUuX3Byb2Nlc3NQZW5kaW5n
UmVjb3Jkcyk6CisgICAgICAgIFNtYWxsIHVucmVsYXRlZCBmaXguCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lSWNvbnMuY3NzOgorICAgICAgICAoLmNvbXBvc2l0ZS1y
ZWNvcmQgLmljb24pOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNv
cmRCYXIuY3NzOgorICAgICAgICAoLnRpbWVsaW5lLXJlY29yZC1iYXIudGltZWxpbmUtcmVjb3Jk
LXR5cGUtbGF5b3V0LmxheW91dC10aW1lbGluZS1yZWNvcmQtY29tcG9zaXRlID4gLnNlZ21lbnQp
OgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVu
dC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50KToK
KyAgICAgICAgTmV3IHN0eWxlcyBhbmQgdHJlZSBlbGVtZW50IGljb24uCisKIDIwMTUtMDYtMjUg
IE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFdyb25nIHRpbWVsaW5lIHNlbGVjdGVkIGFmdGVyIHN3aXRjaGluZyBmcm9tIFJlbmRlcmlu
ZyBGcmFtZXMgdG8gVGltZWxpbmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWZkOTBmZTExYmNiNWNmYjUyZDU0
MTYyMDJlYTFhNTI4M2UwMWYxNS4uZDMyNGRmMTkzY2ExMjNmODJhOWUzNjRkNzAxNjkzMDAxOGQw
ZTZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1LTA2LTI2ICBNYXR0IEJha2Vy
ICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZWR1Y2Ug
cmVuZGVyaW5nIGZyYW1lcyAiT3RoZXIiIHRpbWUgYnkgaW5zdHJ1bWVudGluZyBjb21wb3NpdGlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2MTY4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0Fy
ZWEubW06CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpm
bHVzaExheWVycyk6CisgICAgICAgIEFkZGVkIENBIHRyYW5zYWN0aW9uIHBvc3QtY29tbWl0IGhh
bmRsZXJzIHRvIGluc3RydW1lbnQgZW5kIG9mIGNvbXBvc2l0ZS4KKwogMjAxNS0wNi0yNiAgTWF0
dCBSYWpjYSAgPG1yYWpjYUBhcHBsZS5jb20+CiAKICAgICAgICAgV2lyZWxlc3MgUGxheWJhY2sg
VGFyZ2V0LXJlbGF0ZWQgI2ltcG9ydCBzaG91bGQgYmUgYSAjaW5jbHVkZQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29uCmlu
ZGV4IDdkYTEwMjg1MGEwOTY5ZmRiNGEwMTY2NTFjMTJkYjg3ZGVlYjhmNjEuLmZhMjZmMzZmNGEz
ZjE3YjI3MWJhOGViNzlmOTZhZDBjMmE5N2ZiZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbgorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5lLmpzb24KQEAgLTEzLDYgKzEz
LDcgQEAKICAgICAgICAgICAgICAgICAiSW52YWxpZGF0ZUxheW91dCIsCiAgICAgICAgICAgICAg
ICAgIkxheW91dCIsCiAgICAgICAgICAgICAgICAgIlBhaW50IiwKKyAgICAgICAgICAgICAgICAi
Q29tcG9zaXRlIiwKICAgICAgICAgICAgICAgICAiUmVuZGVyaW5nRnJhbWUiLAogICAgICAgICAg
ICAgICAgICJTY3JvbGxMYXllciIsCiAgICAgICAgICAgICAgICAgIlBhcnNlSFRNTCIsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXgg
MTc3OWZmZGM3M2Y3YTkwMDA4OGNhMWQ0YzA0MzM0N2UzNjlhMDI1Ni4uZjIzYTVlYTBlZTU2ZDA1
ZTE0NDUxMDZhNzI1YWMxYzk2YTQ2OGU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNDUzLDQgKzQ1Myw5IEBAIFJlZjxTdG9w
d2F0Y2g+IEluc3BlY3RvckNvbnRyb2xsZXI6OmV4ZWN1dGlvblN0b3B3YXRjaCgpCiAgICAgcmV0
dXJuIG1fZXhlY3V0aW9uU3RvcHdhdGNoLmNvcHlSZWYoKTsKIH0KIAordm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpkaWRDb21wb3NpdGUoRnJhbWUmIGZyYW1lKQoreworICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkQ29tcG9zaXRlKGZyYW1lKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmgKaW5kZXggMmRmYzM0NjI5YjAzMjNiOTZjOGI1YmE0ZTAxYzBjNmE3MDVhMDA1Ny4uODMwZDU2
M2QzYzYyMGJmMTMzZmExMTRiZWJiMzIzMmE0NTViN2EwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0xMzcsNiArMTM3LDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBmcm9udGVuZEluaXRpYWxpemVkKCkgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCBSZWY8V1RGOjpTdG9wd2F0Y2g+IGV4ZWN1dGlvblN0b3B3YXRjaCgpIG92ZXJy
aWRlOwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRDb21wb3NpdGUoRnJhbWUmKTsKKwog
cHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwCmluZGV4IGU2MGYwZDY0NzY0Zjc5Njk0MjE0ZDlkZDRhOWMyYzdmOWFhNzI4MjMuLjQx
YzgyODA5OTNiN2ZkNmQyZjMxOWFjZGVkZGFlNDdlY2EwM2I2MmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC00
NzUsNiArNDc1LDE4IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRj
aFhIUkxvYWRFdmVudEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1CiAgICAgICAgIHRpbWVsaW5l
QWdlbnQtPmRpZERpc3BhdGNoWEhSTG9hZEV2ZW50KCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsQ29tcG9zaXRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0
cnVtZW50aW5nQWdlbnRzLCBGcmFtZSYgZnJhbWUpCit7CisgICAgaWYgKEluc3BlY3RvclRpbWVs
aW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclRp
bWVsaW5lQWdlbnQoKSkKKyAgICAgICAgdGltZWxpbmVBZ2VudC0+d2lsbENvbXBvc2l0ZShmcmFt
ZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21wb3NpdGVJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMpCit7CisgICAgaWYgKElu
c3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Lmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSkKKyAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkQ29t
cG9zaXRlKCk7Cit9CisKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnRJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIFJlbmRlck9iamVj
dCogcmVuZGVyZXIpCiB7CiAgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5l
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aAppbmRleCBhZDhkZTZiZjQ2NDRhMmRlMDZmMzhmZGU1YzEzMGJlYTdlM2FjY2ExLi5hMDM1NGFk
YTgwNDk5MDk2NDJkMGJlYmRkMDJhMzE1MTBjODJjOWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0xNjQsNiArMTY0
LDggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoWEhSTG9hZEV2ZW50KGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAgIHN0YXRpYyB2b2lkIHdp
bGxTY3JvbGxMYXllcihGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lkIGRpZFNjcm9sbExheWVyKEZy
YW1lJik7CisgICAgc3RhdGljIHZvaWQgd2lsbENvbXBvc2l0ZShGcmFtZSYpOworICAgIHN0YXRp
YyB2b2lkIGRpZENvbXBvc2l0ZShGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lkIHdpbGxQYWludChS
ZW5kZXJPYmplY3QqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRQYWludChSZW5kZXJPYmplY3QqLCBj
b25zdCBMYXlvdXRSZWN0Jik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSB3aWxsUmVjYWxjdWxhdGVTdHlsZShEb2N1bWVudCYpOwpAQCAtMzQyLDYgKzM0NCw4IEBA
IHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnRJbXBsKGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAgIHN0YXRpYyB2b2lkIHdp
bGxTY3JvbGxMYXllckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lJik7CiAgICAgc3Rh
dGljIHZvaWQgZGlkU2Nyb2xsTGF5ZXJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmKTsKKyAgICBz
dGF0aWMgdm9pZCB3aWxsQ29tcG9zaXRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUm
KTsKKyAgICBzdGF0aWMgdm9pZCBkaWRDb21wb3NpdGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
KTsKICAgICBzdGF0aWMgdm9pZCB3aWxsUGFpbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBS
ZW5kZXJPYmplY3QqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRQYWludEltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyYsIFJlbmRlck9iamVjdCosIGNvbnN0IExheW91dFJlY3QmKTsKICAgICBzdGF0aWMg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxSZWNhbGN1bGF0ZVN0eWxlSW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzJiwgRG9jdW1lbnQmKTsKQEAgLTgxNCw2ICs4MTgsMjAgQEAgaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaFhIUkxvYWRFdmVu
dChjb25zdCBJbnNwZWN0b3JJbnMKICAgICAgICAgZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnRJbXBs
KGNvb2tpZSk7CiB9CiAKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2ls
bENvbXBvc2l0ZShGcmFtZSYgZnJhbWUpCit7CisgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRF
TkRTKHZvaWQoKSk7CisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoJmZyYW1lKSkKKyAgICAgICAgd2ls
bENvbXBvc2l0ZUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsKK30KKworaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21wb3NpdGUoRnJhbWUmIGZyYW1l
KQoreworICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOworICAgIGlmIChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0Fn
ZW50c0ZvckZyYW1lKCZmcmFtZSkpCisgICAgICAgIGRpZENvbXBvc2l0ZUltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMpOworfQorCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OndpbGxQYWludChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyh2b2lkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IDdlNTVjY2Y0OWJiNTNkMjI0OWI5YTUz
MTg0MGFhZmM0MDRjZDU1MzMuLjBlMzJiYzVlNjM4OThhZmY4ZWQyYjA2YWJiMGY3YTFiYTk4MDA4
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5jcHAKQEAgLTE3MCw4ICsxNzAsMTMgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFn
ZW50OjppbnRlcm5hbFN0YXJ0KGNvbnN0IGludCogbWF4Q2FsbFN0YWNrRGVwdGgpCiAKICAgICAg
ICAgQVNTRVJUKG1fcnVuTG9vcE5lc3RpbmdMZXZlbCA+IDApOwogICAgICAgICBtX3J1bkxvb3BO
ZXN0aW5nTGV2ZWwtLTsKLSAgICAgICAgaWYgKCFtX3J1bkxvb3BOZXN0aW5nTGV2ZWwpCi0gICAg
ICAgICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpSZW5k
ZXJpbmdGcmFtZSk7CisgICAgICAgIGlmIChtX3J1bkxvb3BOZXN0aW5nTGV2ZWwpCisgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKG1fc3RhcnRlZENvbXBvc2l0ZSkKKyAgICAgICAg
ICAgIGRpZENvbXBvc2l0ZSgpOworCisgICAgICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChU
aW1lbGluZVJlY29yZFR5cGU6OlJlbmRlcmluZ0ZyYW1lKTsKICAgICB9KTsKIAogICAgIG1fZnJh
bWVTdGFydE9ic2VydmVyLT5zY2hlZHVsZShjdXJyZW50UnVuTG9vcCgpLCBrQ0ZSdW5Mb29wRW50
cnkgfCBrQ0ZSdW5Mb29wQWZ0ZXJXYWl0aW5nKTsKQEAgLTIxNiw2ICsyMjEsNyBAQCB2b2lkIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmludGVybmFsU3RvcCgpCiAgICAgY2xlYXJSZWNvcmRTdGFj
aygpOwogCiAgICAgbV9lbmFibGVkID0gZmFsc2U7CisgICAgbV9zdGFydGVkQ29tcG9zaXRlID0g
ZmFsc2U7CiAKICAgICBpZiAobV9mcm9udGVuZERpc3BhdGNoZXIpCiAgICAgICAgIG1fZnJvbnRl
bmREaXNwYXRjaGVyLT5yZWNvcmRpbmdTdG9wcGVkKCk7CkBAIC0zOTksNiArNDA1LDIwIEBAIHZv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVjYWxjdWxhdGVTdHlsZSgpCiAgICAgZGlk
Q29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6UmVjYWxjdWxhdGVTdHls
ZXMpOwogfQogCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxDb21wb3NpdGUoRnJh
bWUmIGZyYW1lKQoreworICAgIEFTU0VSVCghbV9zdGFydGVkQ29tcG9zaXRlKTsKKyAgICBwdXNo
Q3VycmVudFJlY29yZChJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpLCBUaW1lbGluZVJlY29yZFR5
cGU6OkNvbXBvc2l0ZSwgdHJ1ZSwgJmZyYW1lKTsKKyAgICBtX3N0YXJ0ZWRDb21wb3NpdGUgPSB0
cnVlOworfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENvbXBvc2l0ZSgpCit7
CisgICAgQVNTRVJUKG1fc3RhcnRlZENvbXBvc2l0ZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50
UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6Q29tcG9zaXRlKTsKKyAgICBtX3N0YXJ0ZWRDb21w
b3NpdGUgPSBmYWxzZTsKK30KKwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUGFp
bnQoRnJhbWUmIGZyYW1lKQogewogICAgIHB1c2hDdXJyZW50UmVjb3JkKEluc3BlY3Rvck9iamVj
dDo6Y3JlYXRlKCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6UGFpbnQsIHRydWUsICZmcmFtZSk7CkBA
IC02MDcsNiArNjI3LDggQEAgc3RhdGljIEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRpbWVsaW5lOjpF
dmVudFR5cGUgdG9Qcm90b2NvbChUaW1lbGluZVJlY29yZFR5cGUgdHkKICAgICAgICAgcmV0dXJu
IEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRpbWVsaW5lOjpFdmVudFR5cGU6OkxheW91dDsKICAgICBj
YXNlIFRpbWVsaW5lUmVjb3JkVHlwZTo6UGFpbnQ6CiAgICAgICAgIHJldHVybiBJbnNwZWN0b3I6
OlByb3RvY29sOjpUaW1lbGluZTo6RXZlbnRUeXBlOjpQYWludDsKKyAgICBjYXNlIFRpbWVsaW5l
UmVjb3JkVHlwZTo6Q29tcG9zaXRlOgorICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2Nv
bDo6VGltZWxpbmU6OkV2ZW50VHlwZTo6Q29tcG9zaXRlOwogICAgIGNhc2UgVGltZWxpbmVSZWNv
cmRUeXBlOjpSZW5kZXJpbmdGcmFtZToKICAgICAgICAgcmV0dXJuIEluc3BlY3Rvcjo6UHJvdG9j
b2w6OlRpbWVsaW5lOjpFdmVudFR5cGU6OlJlbmRlcmluZ0ZyYW1lOwogICAgIGNhc2UgVGltZWxp
bmVSZWNvcmRUeXBlOjpTY3JvbGxMYXllcjoKQEAgLTcyMCwxNSArNzQyLDggQEAgdm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNv
cmRUeXBlIHR5cGUpCiBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclBh
Z2VBZ2VudCogcGFnZUFnZW50LCBJbnNwZWN0b3JUeXBlIHR5cGUsIEluc3BlY3RvckNsaWVudCog
Y2xpZW50KQogICAgIDogSW5zcGVjdG9yQWdlbnRCYXNlKEFTQ0lJTGl0ZXJhbCgiVGltZWxpbmUi
KSwgaW5zdHJ1bWVudGluZ0FnZW50cykKICAgICAsIG1fcGFnZUFnZW50KHBhZ2VBZ2VudCkKLSAg
ICAsIG1fc2NyaXB0RGVidWdTZXJ2ZXIobnVsbHB0cikKLSAgICAsIG1faWQoMSkKLSAgICAsIG1f
Y2FsbFN0YWNrRGVwdGgoMCkKLSAgICAsIG1fbWF4Q2FsbFN0YWNrRGVwdGgoNSkKICAgICAsIG1f
aW5zcGVjdG9yVHlwZSh0eXBlKQogICAgICwgbV9jbGllbnQoY2xpZW50KQotICAgICwgbV9lbmFi
bGVkKGZhbHNlKQotICAgICwgbV9lbmFibGVkRnJvbUZyb250ZW5kKGZhbHNlKQotICAgICwgbV9y
dW5Mb29wTmVzdGluZ0xldmVsKDApCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDZhMGFmYWVlOGE4MGU1YzlmMzY0
MWYyZDQ5NTMwNTcyOWMzNzY2MWYuLmNiYmJjNmMwOTk4Zjk0ZTFlOTQ1MTQ1MDY4YjgyMzFhN2Nm
YmM4NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaApAQCAtNzIsNiArNzIsNyBAQCBlbnVtIGNsYXNzIFRpbWVsaW5lUmVjb3JkVHlw
ZSB7CiAgICAgSW52YWxpZGF0ZUxheW91dCwKICAgICBMYXlvdXQsCiAgICAgUGFpbnQsCisgICAg
Q29tcG9zaXRlLAogICAgIFJlbmRlcmluZ0ZyYW1lLAogICAgIFNjcm9sbExheWVyLAogCkBAIC0x
NTUsNiArMTU2LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlkU2Nyb2xsKCk7CiAgICAgdm9pZCB3
aWxsRGlzcGF0Y2hYSFJMb2FkRXZlbnQoY29uc3QgU3RyaW5nJiwgRnJhbWUqKTsKICAgICB2b2lk
IGRpZERpc3BhdGNoWEhSTG9hZEV2ZW50KCk7CisgICAgdm9pZCB3aWxsQ29tcG9zaXRlKEZyYW1l
Jik7CisgICAgdm9pZCBkaWRDb21wb3NpdGUoKTsKICAgICB2b2lkIHdpbGxQYWludChGcmFtZSYp
OwogICAgIHZvaWQgZGlkUGFpbnQoUmVuZGVyT2JqZWN0KiwgY29uc3QgTGF5b3V0UmVjdCYpOwog
ICAgIHZvaWQgd2lsbFJlY2FsY3VsYXRlU3R5bGUoRnJhbWUqKTsKQEAgLTIyOSwyOSArMjMyLDMw
IEBAIHByaXZhdGU6CiAgICAgUGFnZSogcGFnZSgpOwogCiAgICAgSW5zcGVjdG9yUGFnZUFnZW50
KiBtX3BhZ2VBZ2VudDsKLSAgICBQYWdlU2NyaXB0RGVidWdTZXJ2ZXIqIG1fc2NyaXB0RGVidWdT
ZXJ2ZXI7CisgICAgUGFnZVNjcmlwdERlYnVnU2VydmVyKiBtX3NjcmlwdERlYnVnU2VydmVyIHsg
bnVsbHB0ciB9OwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6VGltZWxpbmVGcm9u
dGVuZERpc3BhdGNoZXI+IG1fZnJvbnRlbmREaXNwYXRjaGVyOwogICAgIFJlZlB0cjxJbnNwZWN0
b3I6OlRpbWVsaW5lQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CiAKICAg
ICBWZWN0b3I8VGltZWxpbmVSZWNvcmRFbnRyeT4gbV9yZWNvcmRTdGFjazsKIAotICAgIGludCBt
X2lkOwotICAgIGludCBtX2NhbGxTdGFja0RlcHRoOwotICAgIGludCBtX21heENhbGxTdGFja0Rl
cHRoOworICAgIGludCBtX2lkIHsgMSB9OworICAgIGludCBtX2NhbGxTdGFja0RlcHRoIHsgMSB9
OworICAgIGludCBtX21heENhbGxTdGFja0RlcHRoIHsgNSB9OwogICAgIEluc3BlY3RvclR5cGUg
bV9pbnNwZWN0b3JUeXBlOwogICAgIEluc3BlY3RvckNsaWVudCogbV9jbGllbnQ7CiAKICAgICBW
ZWN0b3I8VGltZWxpbmVSZWNvcmRFbnRyeT4gbV9wZW5kaW5nQ29uc29sZVByb2ZpbGVSZWNvcmRz
OwogCi0gICAgYm9vbCBtX2VuYWJsZWQ7Ci0gICAgYm9vbCBtX2VuYWJsZWRGcm9tRnJvbnRlbmQ7
CisgICAgYm9vbCBtX2VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9lbmFibGVkRnJvbUZy
b250ZW5kIHsgZmFsc2UgfTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJDb3JlOjpSdW5Mb29wT2JzZXJ2ZXI+IG1fZnJhbWVTdGFydE9ic2VydmVyOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpSdW5Mb29wT2JzZXJ2ZXI+IG1fZnJhbWVTdG9wT2Jz
ZXJ2ZXI7CiAjZW5kaWYKLSAgICBpbnQgbV9ydW5Mb29wTmVzdGluZ0xldmVsOworICAgIGludCBt
X3J1bkxvb3BOZXN0aW5nTGV2ZWwgeyAwIH07CisgICAgYm9vbCBtX3N0YXJ0ZWRDb21wb3NpdGUg
eyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCmluZGV4IDEyMTJkNTUzNGJmOWQ1MmNlMzBjNWQzMTI2NTc0OTU2NjM1NDNkM2Mu
LjAxNWNhNjA2Mjk1ZDk1YmQ3MWZjZmQ1M2NhNmVlZmY2ZDlmM2ViYjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKQEAgLTEwODIsNiArMTA4Miw4IEBAIGJvb2wgRnJhbWVWaWV3Ojppc0Vu
Y2xvc2VkSW5Db21wb3NpdGluZ0xheWVyKCkgY29uc3QKIAogYm9vbCBGcmFtZVZpZXc6OmZsdXNo
Q29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpCiB7CisgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsQ29tcG9zaXRlKGZyYW1lKCkpOworCiAgICAgYm9vbCBhbGxGcmFt
ZXNGbHVzaGVkID0gZmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0ZyYW1lKCZmcmFtZSgpKTsK
IAogICAgIGZvciAoRnJhbWUqIGNoaWxkID0gZnJhbWUoKS50cmVlKCkuZmlyc3RSZW5kZXJlZENo
aWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCkudHJhdmVyc2VOZXh0UmVuZGVyZWQo
bV9mcmFtZS5wdHIoKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nw
aS9jb2NvYS9RdWFydHpDb3JlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29j
b2EvUXVhcnR6Q29yZVNQSS5oCmluZGV4IDhhYTg0MzAyMDQxNTZkYzNmZmM1M2VkYTZjZjJkYTdi
ZmEwYzYxMDQuLjY3MWI1MGVhZDc3MDUwNThmZTBhNmIxNjZhZDgxYTY2Mzk4ZWM1ZWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaApA
QCAtNDUsNiArNDUsNyBAQCBleHRlcm4gIkMiIHsKICNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FDb250
ZXh0Lmg+CiAjaW1wb3J0IDxRdWFydHpDb3JlL0NBRmlsdGVyLmg+CiAjaW1wb3J0IDxRdWFydHpD
b3JlL0NBVGlsZWRMYXllclByaXZhdGUuaD4KKyNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FUcmFuc2Fj
dGlvblByaXZhdGUuaD4KIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CkBAIC0xMTIsNiArMTEzLDE4
IEBAIHR5cGVkZWYgc3RydWN0IENBQ29sb3JNYXRyaXggQ0FDb2xvck1hdHJpeDsKICsgKENBRmls
dGVyICopZmlsdGVyV2l0aFR5cGU6KE5TU3RyaW5nICopdHlwZTsKIEBwcm9wZXJ0eSAoY29weSkg
TlNTdHJpbmcgKm5hbWU7CiBAZW5kCisKKyNpZiAoVEFSR0VUX09TX0lQSE9ORSAmJiBfX0lQSE9O
RV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA5MDAwMCkgfHwgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDExMDApCit0eXBlZGVmIGVudW0g
eworICAgIGtDQVRyYW5zYWN0aW9uUGhhc2VQcmVMYXlvdXQsCisgICAga0NBVHJhbnNhY3Rpb25Q
aGFzZVByZUNvbW1pdCwKKyAgICBrQ0FUcmFuc2FjdGlvblBoYXNlUG9zdENvbW1pdCwKK30gQ0FU
cmFuc2FjdGlvblBoYXNlOworCitAaW50ZXJmYWNlIENBVHJhbnNhY3Rpb24gKERldGFpbHMpCisr
ICh2b2lkKWFkZENvbW1pdEhhbmRsZXI6KHZvaWQoXikodm9pZCkpYmxvY2sgZm9yUGhhc2U6KENB
VHJhbnNhY3Rpb25QaGFzZSlwaGFzZTsKK0BlbmQKKyNlbmRpZgogI2VuZGlmIC8vIF9fT0JKQ19f
CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlv
bnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9M
b2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggN2U5ZTQ0NDVh
MjJmNjAwY2E3NjBhNjMxNGRlZjE4MzAyMTM0MDRiMC4uZDFlZmI2YzJlZTY1MGRhNDQ2ZTU3YWM4
ZDM0ZThjNThmZTY2Nzg5NCAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSA1NAp6Y21YQH5u
dDlGfTxfLVMoJUp+ZSU0NERpaTQ1PHVDNDZ6SWY0N05iNSNOZj0zJnlkU2QwMz9DM2xQNVVuWis2
JE8KR0pfWjF0Qm8zdGoKCmRlbHRhIDE0CldjbWJSOWhXWEhJPF8tUyhuXik9PTl8SGg0Yk8kWn4K
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9UaW1lbGluZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKaW5kZXggNTNhOGY4NzFjMDc1MGVj
ODNmN2YzNTNiMTFlNDM2YjZjNGZmNDliNy4uMWFhYmI0NmU4YTJhNzcyYzhjY2Y1OWNlYWJjMjMy
ZTM4ZWNlMjgyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwpAQCAtMjYy
LDEwICsyNjIsMTggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVs
aW5lTWFuYWdlciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgY2FzZSBUaW1l
bGluZUFnZW50LkV2ZW50VHlwZS5QYWludDoKICAgICAgICAgICAgIC8vIENPTVBBVElCSUxJVFkg
KGlPUyA2KTogUGFpbnQgcmVjb3JkcyBkYXRhIGNvbnRhaW5lZCB4LCB5LCB3aWR0aCwgaGVpZ2h0
IHByb3BlcnRpZXMuIFRoaXMgYmVjYW1lIGEgcXVhZCAiY2xpcCIuCiAgICAgICAgICAgICB2YXIg
cXVhZCA9IHJlY29yZFBheWxvYWQuZGF0YS5jbGlwID8gbmV3IFdlYkluc3BlY3Rvci5RdWFkKHJl
Y29yZFBheWxvYWQuZGF0YS5jbGlwKSA6IG51bGw7CisgICAgICAgICAgICB2YXIgZHVyaW5nQ29t
cG9zaXRlID0gcmVjb3JkUGF5bG9hZC5fX2R1cmluZ0NvbXBvc2l0ZSB8fCBmYWxzZTsKICAgICAg
ICAgICAgIGlmIChxdWFkKQotICAgICAgICAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9y
LkxheW91dFRpbWVsaW5lUmVjb3JkKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuUGFpbnQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29k
ZUxvY2F0aW9uLCBudWxsLCBudWxsLCBxdWFkLndpZHRoLCBxdWFkLmhlaWdodCwgcXVhZCk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNv
cmQoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludCwgc3Rh
cnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIG51bGwsIG51
bGwsIHF1YWQud2lkdGgsIHF1YWQuaGVpZ2h0LCBxdWFkLCBkdXJpbmdDb21wb3NpdGUpOwogICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkxh
eW91dFRpbWVsaW5lUmVjb3JkKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5FdmVu
dFR5cGUuUGFpbnQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxv
Y2F0aW9uLCByZWNvcmRQYXlsb2FkLmRhdGEueCwgcmVjb3JkUGF5bG9hZC5kYXRhLnksIHJlY29y
ZFBheWxvYWQuZGF0YS53aWR0aCwgcmVjb3JkUGF5bG9hZC5kYXRhLmhlaWdodCk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQoV2Vi
SW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludCwgc3RhcnRUaW1l
LCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIHJlY29yZFBheWxvYWQu
ZGF0YS54LCByZWNvcmRQYXlsb2FkLmRhdGEueSwgcmVjb3JkUGF5bG9hZC5kYXRhLndpZHRoLCBy
ZWNvcmRQYXlsb2FkLmRhdGEuaGVpZ2h0LCBudWxsLCBkdXJpbmdDb21wb3NpdGUpOworCisgICAg
ICAgIGNhc2UgVGltZWxpbmVBZ2VudC5FdmVudFR5cGUuQ29tcG9zaXRlOgorICAgICAgICAgICAg
cmVjb3JkUGF5bG9hZC5jaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uKGNoaWxkUmVjb3JkUGF5bG9h
ZCkgeworICAgICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGNoaWxkUmVjb3JkUGF5bG9hZC50
eXBlID09PSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5QYWludCwgY2hpbGRSZWNvcmRQYXlsb2Fk
LnR5cGUpOworICAgICAgICAgICAgICAgIGNoaWxkUmVjb3JkUGF5bG9hZC5fX2R1cmluZ0NvbXBv
c2l0ZSA9IHRydWU7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybiBuZXcgV2Vi
SW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGlu
ZVJlY29yZC5FdmVudFR5cGUuQ29tcG9zaXRlLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFt
ZXMsIHNvdXJjZUNvZGVMb2NhdGlvbik7CiAKICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2
ZW50VHlwZS5SZW5kZXJpbmdGcmFtZToKICAgICAgICAgICAgIGlmICghcmVjb3JkUGF5bG9hZC5j
aGlsZHJlbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0ltYWdlcy9UaW1lbGluZVJlY29yZENvbXBvc2l0ZS5zdmcgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9JbWFnZXMvVGltZWxpbmVSZWNvcmRDb21wb3NpdGUuc3ZnCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJiZGQ2NmZiNGUzYmUwODk4NzNlYjg2ZTQxMzhiOTQxNzVmZmZhODcKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvVGlt
ZWxpbmVSZWNvcmRDb21wb3NpdGUuc3ZnCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0gQ29weXJpZ2h0IMKpIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLiAtLT4KKzxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CisgICAgPHBhdGgg
ZmlsbD0icmdiKDE3NiwgMjA0LCAxMDUpIiBkPSJNIDEzIDEgTCAzIDEgQyAxLjg5ODQzOCAxIDEg
MS44OTg0MzggMSAzIEwgMSAxMyBDIDEgMTQuMTAxNTYyIDEuODk4NDM4IDE1IDMgMTUgTCAxMyAx
NSBDIDE0LjEwMTU2MiAxNSAxNSAxNC4xMDE1NjIgMTUgMTMgTCAxNSAzIEMgMTUgMS44OTg0Mzgg
MTQuMTAxNTYyIDEgMTMgMSBaIi8+CisgICAgPHBhdGggZmlsbD0icmdiKDE1MiwgMTg4LCA3Nyki
IGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAx
NC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEw
MTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAxIE0gMTMgMiBD
IDEzLjU1MDc4MSAyIDE0IDIuNDQ5MjE5IDE0IDMgTCAxNCAxMyBDIDE0IDEzLjU1MDc4MSAxMy41
NTA3ODEgMTQgMTMgMTQgTCAzIDE0IEMgMi40NDkyMTkgMTQgMiAxMy41NTA3ODEgMiAxMyBMIDIg
MyBDIDIgMi40NDkyMTkgMi40NDkyMTkgMiAzIDIgTCAxMyAyIi8+CisgICAgPHBhdGggZmlsbD0i
cmdiKDE1MiwgMTg4LCA3NykiIGQ9Ik0gNC43NzM0MzggMTEuNTQyOTY5IEMgMy44NTU0NjkgMTAu
NjIxMDk0IDMuMzkwNjI1IDkuMzQ3NjU2IDMuMzkwNjI1IDcuNzY5NTMxIEMgMy4zOTA2MjUgNi4x
NTYyNSAzLjg2MzI4MSA0Ljg3ODkwNiA0Ljc4OTA2MiAzLjk2NDg0NCBDIDUuNzEwOTM4IDMuMDU0
Njg4IDcuMDAzOTA2IDIuNTkzNzUgOC42MjUgMi41OTM3NSBDIDkuNTcwMzEyIDIuNTkzNzUgMTAu
NTE5NTMxIDIuNzA3MDMxIDExLjQ0MTQwNiAyLjkyOTY4OCBDIDExLjg5MDYyNSAzLjAzNTE1NiAx
Mi4yMTA5MzggMy40Mzc1IDEyLjIxMDkzOCAzLjkwMjM0NCBMIDEyLjIxMDkzOCA1LjE5NTMxMiBD
IDEyLjIxMDkzOCA1LjUxOTUzMSAxMi4wNTA3ODEgNS44MjQyMTkgMTEuNzg5MDYyIDYuMDExNzE5
IEMgMTEuNjEzMjgxIDYuMTMyODEyIDExLjQxMDE1NiA2LjE5NTMxMiAxMS4yMDcwMzEgNi4xOTUz
MTIgQyAxMS4wOTc2NTYgNi4xOTUzMTIgMTAuOTg0Mzc1IDYuMTc5Njg4IDEwLjg3ODkwNiA2LjE0
MDYyNSBDIDEwLjAxNTYyNSA1LjgzNTkzOCA5LjMwODU5NCA1LjY4MzU5NCA4Ljc2OTUzMSA1LjY4
MzU5NCBDIDguMDU4NTk0IDUuNjgzNTk0IDcuNzUzOTA2IDUuOTQxNDA2IDcuNTg5ODQ0IDYuMTMy
ODEyIEMgNy4yOTY4NzUgNi40NzY1NjIgNy4xNDg0MzggNy4wMTk1MzEgNy4xNDg0MzggNy43NDYw
OTQgQyA3LjE0ODQzOCA4LjQ0NTMxMiA3LjMwODU5NCA4Ljk3MjY1NiA3LjYyMTA5NCA5LjMyMDMx
MiBDIDcuODA4NTk0IDkuNTIzNDM4IDguMTQ4NDM4IDkuNzk2ODc1IDguOTIxODc1IDkuNzk2ODc1
IEMgOS41NDI5NjkgOS43OTY4NzUgMTAuMTg3NSA5LjYzMjgxMiAxMC44Mzk4NDQgOS4zMDg1OTQg
QyAxMC45ODA0NjkgOS4yNDIxODggMTEuMTMyODEyIDkuMjA3MDMxIDExLjI4NTE1NiA5LjIwNzAz
MSBDIDExLjQ2ODc1IDkuMjA3MDMxIDExLjY0ODQzOCA5LjI1NzgxMiAxMS44MTI1IDkuMzU5Mzc1
IEMgMTIuMTA1NDY5IDkuNTM5MDYyIDEyLjI4NTE1NiA5Ljg1OTM3NSAxMi4yODUxNTYgMTAuMjA3
MDMxIEwgMTIuMjg1MTU2IDExLjQyNTc4MSBDIDEyLjI4NTE1NiAxMS44MjAzMTIgMTIuMDUwNzgx
IDEyLjE3OTY4OCAxMS42OTE0MDYgMTIuMzM5ODQ0IEMgMTAuNzkyOTY5IDEyLjczODI4MSA5Ljcz
MDQ2OSAxMi45NDE0MDYgOC41MjczNDQgMTIuOTQxNDA2IEMgNi45NTcwMzEgMTIuOTQxNDA2IDUu
NjkxNDA2IDEyLjQ3MjY1NiA0Ljc3MzQzOCAxMS41NDI5NjkiLz4KKyAgICA8cGF0aCBmaWxsPSJ3
aGl0ZSIgZD0iTSAxMS4yODUxNTYgMTEuNDI1NzgxIEMgMTAuNTE1NjI1IDExLjc2OTUzMSA5LjU5
NzY1NiAxMS45NDE0MDYgOC41MjczNDQgMTEuOTQxNDA2IEMgNy4yMjY1NjIgMTEuOTQxNDA2IDYu
MjEwOTM4IDExLjU3NDIxOSA1LjQ4NDM3NSAxMC44Mzk4NDQgQyA0Ljc1NzgxMiAxMC4xMDU0Njkg
NC4zOTQ1MzEgOS4wODIwMzEgNC4zOTQ1MzEgNy43Njk1MzEgQyA0LjM5NDUzMSA2LjQyOTY4OCA0
Ljc1NzgxMiA1LjM5ODQzOCA1LjQ5MjE4OCA0LjY3NTc4MSBDIDYuMjIyNjU2IDMuOTU3MDMxIDcu
MjY5NTMxIDMuNTkzNzUgOC42MjUgMy41OTM3NSBDIDkuNDkyMTg4IDMuNTkzNzUgMTAuMzUxNTYy
IDMuNjk1MzEyIDExLjIxMDkzOCAzLjkwMjM0NCBMIDExLjIxMDkzOCA1LjE5NTMxMiBDIDEwLjIz
ODI4MSA0Ljg1NTQ2OSA5LjQyNTc4MSA0LjY4MzU5NCA4Ljc2OTUzMSA0LjY4MzU5NCBDIDcuOTMz
NTk0IDQuNjgzNTk0IDcuMjg1MTU2IDQuOTQ5MjE5IDYuODMyMDMxIDUuNDg0Mzc1IEMgNi4zNzUg
Ni4wMTU2MjUgNi4xNDg0MzggNi43Njk1MzEgNi4xNDg0MzggNy43NDYwOTQgQyA2LjE0ODQzOCA4
LjcwNzAzMSA2LjM5NDUzMSA5LjQ1MzEyNSA2Ljg4MjgxMiA5Ljk5MjE4OCBDIDcuMzcxMDk0IDEw
LjUyNzM0NCA4LjA1MDc4MSAxMC43OTY4NzUgOC45MjE4NzUgMTAuNzk2ODc1IEMgOS43MDMxMjUg
MTAuNzk2ODc1IDEwLjQ4ODI4MSAxMC42MDE1NjIgMTEuMjg1MTU2IDEwLjIwNzAzMSBaIi8+Cis8
L3N2Zz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9MYXlvdXRUaW1lbGluZVJlY29yZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9MYXlvdXRUaW1lbGluZVJlY29yZC5qcwppbmRleCBmN2U0MjRhMDk1
Mzk5MzI2MGI0YWZiNWU1ZDc4MTI0NzRlYjk5ZjBkLi5jMThkY2Y3ZGY2ZTVhZWE1MTQ1YWEzZTAy
MjE2Y2Y0MTM4YmNlN2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvTGF5b3V0VGltZWxpbmVSZWNvcmQuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0xheW91dFRpbWVsaW5lUmVjb3JkLmpzCkBA
IC0yNSw3ICsyNSw3IEBACiAKIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZCA9IGNs
YXNzIExheW91dFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkCiB7Ci0gICAgY29uc3RydWN0b3IoZXZlbnRUeXBlLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNh
bGxGcmFtZXMsIHNvdXJjZUNvZGVMb2NhdGlvbiwgeCwgeSwgd2lkdGgsIGhlaWdodCwgcXVhZCkK
KyAgICBjb25zdHJ1Y3RvcihldmVudFR5cGUsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1l
cywgc291cmNlQ29kZUxvY2F0aW9uLCB4LCB5LCB3aWR0aCwgaGVpZ2h0LCBxdWFkLCBkdXJpbmdD
b21wb3NpdGUpCiAgICAgewogICAgICAgICBzdXBlcihXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmQuVHlwZS5MYXlvdXQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29k
ZUxvY2F0aW9uKTsKIApAQCAtNDAsNiArNDAsNyBAQCBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxp
bmVSZWNvcmQgPSBjbGFzcyBMYXlvdXRUaW1lbGluZVJlY29yZCBleHRlbmRzIFdlYkluc3BlYwog
ICAgICAgICB0aGlzLl93aWR0aCA9IHR5cGVvZiB3aWR0aCA9PT0gIm51bWJlciIgPyB3aWR0aCA6
IE5hTjsKICAgICAgICAgdGhpcy5faGVpZ2h0ID0gdHlwZW9mIGhlaWdodCA9PT0gIm51bWJlciIg
PyBoZWlnaHQgOiBOYU47CiAgICAgICAgIHRoaXMuX3F1YWQgPSBxdWFkIGluc3RhbmNlb2YgV2Vi
SW5zcGVjdG9yLlF1YWQgPyBxdWFkIDogbnVsbDsKKyAgICAgICAgdGhpcy5fZHVyaW5nQ29tcG9z
aXRlID0gZHVyaW5nQ29tcG9zaXRlIHx8IGZhbHNlOwogICAgIH0KIAogICAgIC8vIFN0YXRpYwpA
QCAtNTksNiArNjAsOCBAQCBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQgPSBjbGFz
cyBMYXlvdXRUaW1lbGluZVJlY29yZCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICAgICAgcmV0
dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGF5b3V0Iik7CiAgICAgICAgIGNhc2UgV2ViSW5z
cGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludDoKICAgICAgICAgICAg
IHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhaW50Iik7CisgICAgICAgIGNhc2UgV2Vi
SW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Db21wb3NpdGU6CisgICAg
ICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb21wb3NpdGUiKTsKICAgICAg
ICAgfQogICAgIH0KIApAQCAtMTA2LDYgKzEwOSwxMSBAQCBXZWJJbnNwZWN0b3IuTGF5b3V0VGlt
ZWxpbmVSZWNvcmQgPSBjbGFzcyBMYXlvdXRUaW1lbGluZVJlY29yZCBleHRlbmRzIFdlYkluc3Bl
YwogICAgICAgICByZXR1cm4gdGhpcy5fcXVhZDsKICAgICB9CiAKKyAgICBnZXQgZHVyaW5nQ29t
cG9zaXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9kdXJpbmdDb21wb3NpdGU7Cisg
ICAgfQorCiAgICAgc2F2ZUlkZW50aXR5VG9Db29raWUoY29va2llKQogICAgIHsKICAgICAgICAg
c3VwZXIuc2F2ZUlkZW50aXR5VG9Db29raWUoY29va2llKTsKQEAgLTEyMCw3ICsxMjgsOCBAQCBX
ZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlID0gewogICAgIEludmFs
aWRhdGVMYXlvdXQ6ICJsYXlvdXQtdGltZWxpbmUtcmVjb3JkLWludmFsaWRhdGUtbGF5b3V0IiwK
ICAgICBGb3JjZWRMYXlvdXQ6ICJsYXlvdXQtdGltZWxpbmUtcmVjb3JkLWZvcmNlZC1sYXlvdXQi
LAogICAgIExheW91dDogImxheW91dC10aW1lbGluZS1yZWNvcmQtbGF5b3V0IiwKLSAgICBQYWlu
dDogImxheW91dC10aW1lbGluZS1yZWNvcmQtcGFpbnQiCisgICAgUGFpbnQ6ICJsYXlvdXQtdGlt
ZWxpbmUtcmVjb3JkLXBhaW50IiwKKyAgICBDb21wb3NpdGU6ICJsYXlvdXQtdGltZWxpbmUtcmVj
b3JkLWNvbXBvc2l0ZSIKIH07CiAKIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5U
eXBlSWRlbnRpZmllciA9ICJsYXlvdXQtdGltZWxpbmUtcmVjb3JkIjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZW5kZXJpbmdGcmFtZVRp
bWVsaW5lUmVjb3JkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuanMKaW5kZXggMDNhMWU3MzI4MGI4Yjhm
YjQ3MGZhNTY0NzUyZGQ4NTg1NjMzMTJkZi4uMmI2ZGY3YWFjN2JmZjBjZmExMTM2YTlkNGIyODUz
MzE0MGUwMzIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVS
ZWNvcmQuanMKQEAgLTgzLDkgKzgzLDkgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGlt
ZWxpbmVSZWNvcmQgPSBjbGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkIGUKICAgICAg
ICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuVGFz
a1R5cGUuU2NyaXB0OgogICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmQudHlwZSA9PT0gV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0OwogICAgICAgICAgICAgY2FzZSBX
ZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5UYXNrVHlwZS5MYXlvdXQ6
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSZWNvcmQuVHlwZS5MYXlvdXQgJiYgcmVjb3JkLmV2ZW50VHlwZSAhPT0gV2ViSW5zcGVj
dG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludDsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gcmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBl
LkxheW91dCAmJiByZWNvcmQuZXZlbnRUeXBlICE9PSBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxp
bmVSZWNvcmQuRXZlbnRUeXBlLlBhaW50ICYmIHJlY29yZC5ldmVudFR5cGUgIT09IFdlYkluc3Bl
Y3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQ29tcG9zaXRlOwogICAgICAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5UYXNrVHlw
ZS5QYWludDoKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVjb3JkLnR5cGUgPT09IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLkxheW91dCAmJiByZWNvcmQuZXZlbnRUeXBlID09PSBX
ZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlBhaW50OworICAgICAg
ICAgICAgICAgIHJldHVybiByZWNvcmQuZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0
VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlBhaW50IHx8IHJlY29yZC5ldmVudFR5cGUgPT09IFdl
Ykluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQ29tcG9zaXRlOwogICAg
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJVbnN1cHBv
cnRlZCB0YXNrIHR5cGU6ICIgKyB0YXNrVHlwZSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwpAQCAtMTA2LDE0ICsxMDYsMjEgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGlt
ZWxpbmVSZWNvcmQgPSBjbGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkIGUKICAgICAg
ICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZSArIGN1cnJlbnREdXJhdGlvbjsKICAgICAg
ICAgICAgIH0sIDApOwogCi0gICAgICAgICAgICAvLyBUaW1lIHNwZW50IGluIGxheW91dCBldmVu
dHMgd2hpY2ggd2VyZSBzeW5jaHJvbm91c2x5IHRyaWdnZXJlZCBmcm9tIEphdmFTY3JpcHQgbXVz
dCBiZSBkZWR1Y3RlZCBmcm9tIHRoZQotICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGZyYW1lJ3Mg
c2NyaXB0IGR1cmF0aW9uLCB0byBwcmV2ZW50IHRoZSB0aW1lIGZyb20gYmVpbmcgY291bnRlZCB0
d2ljZS4KICAgICAgICAgICAgIGlmICh0YXNrVHlwZSA9PT0gV2ViSW5zcGVjdG9yLlJlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVSZWNvcmQuVGFza1R5cGUuU2NyaXB0KSB7CisgICAgICAgICAgICAgICAg
Ly8gTGF5b3V0IGV2ZW50cyBzeW5jaHJvbm91c2x5IHRyaWdnZXJlZCBmcm9tIEphdmFTY3JpcHQg
bXVzdCBiZSBzdWJ0cmFjdGVkIGZyb20gdGhlIHRvdGFsCisgICAgICAgICAgICAgICAgLy8gc2Ny
aXB0IHRpbWUsIHRvIHByZXZlbnQgdGhlIHRpbWUgZnJvbSBiZWluZyBjb3VudGVkIHR3aWNlLgog
ICAgICAgICAgICAgICAgIGR1cmF0aW9uIC09IHRoaXMuX2NoaWxkcmVuLnJlZHVjZShmdW5jdGlv
bihwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgaWYg
KGN1cnJlbnRWYWx1ZS50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5M
YXlvdXQgJiYgKGN1cnJlbnRWYWx1ZS5zb3VyY2VDb2RlTG9jYXRpb24gfHwgY3VycmVudFZhbHVl
LmNhbGxGcmFtZXMpKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzVmFs
dWUgKyBjdXJyZW50VmFsdWUuZHVyYXRpb247CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBw
cmV2aW91c1ZhbHVlOwogICAgICAgICAgICAgICAgIH0sIDApOworICAgICAgICAgICAgfSBlbHNl
IGlmICh0YXNrVHlwZSA9PT0gV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNv
cmQuVGFza1R5cGUuUGFpbnQpIHsKKyAgICAgICAgICAgICAgICAvLyBQYWludCBldmVudHMgdHJp
Z2dlcmVkIGR1cmluZyBhIENvbXBvc2l0ZSBldmVudCBtdXN0IGJlIHN1YnRyYWN0ZWQgZnJvbSB0
aGUgdG90YWwgcGFpbnRpbmcgdGltZSwKKyAgICAgICAgICAgICAgICAvLyBzaW5jZSB0aGUgY29t
cG9zaXRpbmcgdGltZSBhbHJlYWR5IGluY2x1ZGVzIHRpbWUgc3BlbnQgaW4gdGhlc2UgUGFpbnQg
ZXZlbnRzLgorICAgICAgICAgICAgICAgIHZhciBwYWludFJlY29yZHMgPSB0aGlzLl9jaGlsZHJl
bi5maWx0ZXIoZnVuY3Rpb24ocmVjb3JkKSB7IHJldHVybiByZWNvcmQuZXZlbnRUeXBlID09PSBX
ZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlBhaW50OyB9KTsKKyAg
ICAgICAgICAgICAgICBkdXJhdGlvbiAtPSBwYWludFJlY29yZHMucmVkdWNlKGZ1bmN0aW9uKHBy
ZXZpb3VzVmFsdWUsIGN1cnJlbnRWYWx1ZSkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4g
Y3VycmVudFZhbHVlLmR1cmluZ0NvbXBvc2l0ZSA/IHByZXZpb3VzVmFsdWUgKyBjdXJyZW50VmFs
dWUuZHVyYXRpb24gOiBwcmV2aW91c1ZhbHVlOworICAgICAgICAgICAgICAgIH0sIDApOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5qcwppbmRleCA5MGVjODFmN2UyMmJkM2I1YWM3NWY4YWY2YjBjMWI2ZTkyMGNi
YzgwLi5mMWQ5ZmYxM2UzODM4YWI2YTAyYmE3NWNkY2FhOGMyZDkyYjJiZTFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGlu
ZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC0xMDUsNyArMTA1LDcg
QEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIHZhciBsYXlvdXRUaW1lbGluZVJlY29yZCA9IGV2ZW50LmRhdGEucmVjb3JkOwog
ICAgICAgICBjb25zb2xlLmFzc2VydChsYXlvdXRUaW1lbGluZVJlY29yZCBpbnN0YW5jZW9mIFdl
Ykluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZCk7CiAKLSAgICAgICAgaWYgKGxheW91dFRp
bWVsaW5lUmVjb3JkLmV2ZW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5QYWludCkKKyAgICAgICAgaWYgKGxheW91dFRpbWVsaW5lUmVjb3JkLmV2
ZW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5Q
YWludCB8fCBsYXlvdXRUaW1lbGluZVJlY29yZC5ldmVudFR5cGUgPT09IFdlYkluc3BlY3Rvci5M
YXlvdXRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQ29tcG9zaXRlKQogICAgICAgICAgICAgdGhp
cy5fdGltZWxpbmVQYWludFJlY29yZFJvdy5yZWNvcmRzLnB1c2gobGF5b3V0VGltZWxpbmVSZWNv
cmQpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0aGlzLl90aW1lbGluZUxheW91dFJlY29y
ZFJvdy5yZWNvcmRzLnB1c2gobGF5b3V0VGltZWxpbmVSZWNvcmQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1l
bGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9S
ZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcwppbmRleCA1NDE0YzM3MjhmMDlhM2U5MTg2ZTYx
ZGNlMDJjY2M5YWY2MWVkZTM3Li41OWRlNGZhYjE3MTg4ZGRmNGIwMDg1MGU3MWNjMmVjNTRmMzU3
MjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcwpAQCAt
MjI1LDYgKzIyNSw3IEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5w
cm90b3R5cGUgPSB7CiAKICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZGF0YUdyaWQuYWRkUm93
SW5Tb3J0T3JkZXIobGF5b3V0VHJlZUVsZW1lbnQsIGxheW91dERhdGFHcmlkTm9kZSwgdHJlZUVs
ZW1lbnQpOwogICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGRSZWNvcmQudHlwZSA9PT0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KSB7CisgICAgICAgICAgICAg
ICAgICAgIHZhciByb290Tm9kZXMgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxk
UmVjb3JkLnByb2ZpbGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTdXBw
b3J0IHVzaW5nIHRoZSBib3R0b20tdXAgdHJlZSBvbmNlIGl0IGlzIGltcGxlbWVudGVkLgogICAg
ICAgICAgICAgICAgICAgICAgICAgcm9vdE5vZGVzID0gY2hpbGRSZWNvcmQucHJvZmlsZS50b3BE
b3duUm9vdE5vZGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVJY29ucy5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcwppbmRleCAzYzU1NDNhZGM2N2Q2Nzhi
YjE5ZmZjYjE0OTZjYjllZWRmNTMzMDY2Li40OWIxZjRiYzQ4NWEyYTgxOTdlZWY5MGI2ZTk4MjQx
ODc3MTcyMjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZUljb25zLmNzcwpAQCAtNzUsNiArNzUsMTAgQEAKICAg
ICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL1RpbWVsaW5lUmVjb3JkUGFpbnQuc3ZnKTsKIH0KIAor
LmNvbXBvc2l0ZS1yZWNvcmQgLmljb24geworICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMvVGlt
ZWxpbmVSZWNvcmRDb21wb3NpdGUuc3ZnKTsKK30KKwogLnJlbmRlcmluZy1mcmFtZS1yZWNvcmQg
Lmljb24gewogICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMvVGltZWxpbmVSZWNvcmRSZW5kZXJp
bmdGcmFtZS5zdmcpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuY3NzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRCYXIuY3NzCmluZGV4IDIwMGM4
MTY3YjA3MzYwNzJjNWQxOWNiODhkZmNiZDFlZTNjMzk4NTcuLmJmNWI2ODZiNGJkN2RiNDdlZDMx
YWQ2NTdlYWY5MmM1ODk1ODVmNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmNzcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEJhci5jc3MKQEAg
LTg3LDcgKzg3LDkgQEAKICAgICBib3JkZXItY29sb3I6IHJnYigyMTIsIDEwOCwgMTA4KTsKIH0K
IAotLnRpbWVsaW5lLXJlY29yZC1iYXIudGltZWxpbmUtcmVjb3JkLXR5cGUtbGF5b3V0LmxheW91
dC10aW1lbGluZS1yZWNvcmQtcGFpbnQgPiAuc2VnbWVudCB7CisKKy50aW1lbGluZS1yZWNvcmQt
YmFyLnRpbWVsaW5lLXJlY29yZC10eXBlLWxheW91dC5sYXlvdXQtdGltZWxpbmUtcmVjb3JkLXBh
aW50ID4gLnNlZ21lbnQsCisudGltZWxpbmUtcmVjb3JkLWJhci50aW1lbGluZS1yZWNvcmQtdHlw
ZS1sYXlvdXQubGF5b3V0LXRpbWVsaW5lLXJlY29yZC1jb21wb3NpdGUgPiAuc2VnbWVudCB7CiAg
ICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE3NiwgMjA0LCAxMDUpOwogICAgIGJvcmRlci1jb2xv
cjogcmdiKDE1MiwgMTg4LCA3Nyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVl
RWxlbWVudC5qcwppbmRleCBlOTRjNzI4ODUxOTZjN2RhNTk4ZWJmMWE2MGY2ODlmMWQ5NDhkMDM0
Li40NjAzZjYxM2E5OGM0ZDg3OTVkZjU0NmU0ZTE3NjFjOTQyOWMwMTcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZFRy
ZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanMKQEAgLTYyLDYgKzYyLDkgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQgPSBjbGFzcyBUaW1lbGluZVJlY29yZFRy
ZWVFbGVtZW50IGV4dGVuZHMKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkxheW91dFRp
bWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludDoKICAgICAgICAgICAgICAgICBpY29uU3R5bGVD
bGFzcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LlBhaW50UmVjb3Jk
SWNvblN0eWxlQ2xhc3M7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQ29tcG9zaXRlOgor
ICAgICAgICAgICAgICAgIGljb25TdHlsZUNsYXNzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkVHJlZUVsZW1lbnQuQ29tcG9zaXRlUmVjb3JkSWNvblN0eWxlQ2xhc3M7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGNvbnNv
bGUuZXJyb3IoIlVua25vd24gTGF5b3V0VGltZWxpbmVSZWNvcmQgZXZlbnRUeXBlOiAiICsgdGlt
ZWxpbmVSZWNvcmQuZXZlbnRUeXBlLCB0aW1lbGluZVJlY29yZCk7CiAgICAgICAgICAgICB9CkBA
IC0xNTcsNiArMTYwLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQg
PSBjbGFzcyBUaW1lbGluZVJlY29yZFRyZWVFbGVtZW50IGV4dGVuZHMKIFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZFRyZWVFbGVtZW50LlN0eWxlUmVjb3JkSWNvblN0eWxlQ2xhc3MgPSAic3R5
bGUtcmVjb3JkIjsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkxheW91
dFJlY29yZEljb25TdHlsZUNsYXNzID0gImxheW91dC1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuUGFpbnRSZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJwYWlu
dC1yZWNvcmQiOworV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuQ29tcG9z
aXRlUmVjb3JkSWNvblN0eWxlQ2xhc3MgPSAiY29tcG9zaXRlLXJlY29yZCI7CiBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5SZW5kZXJpbmdGcmFtZVJlY29yZEljb25TdHls
ZUNsYXNzID0gInJlbmRlcmluZy1mcmFtZS1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkVHJlZUVsZW1lbnQuRXZhbHVhdGVkUmVjb3JkSWNvblN0eWxlQ2xhc3MgPSAiZXZhbHVh
dGVkLXJlY29yZCI7CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5FdmVu
dFJlY29yZEljb25TdHlsZUNsYXNzID0gImV2ZW50LXJlY29yZCI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYS5tbQppbmRleCA5ODJhZTg1N2UyZTg3ZDYwMmUzMzljZTc2NjA3N2Ey
MjE1NDZlMzg0Li5hMzhmNDAxMjIyYTFhMzc4OTg5ZTY1MTJhOWZjYzUwZWU2ZDM2ZTE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTQwLDggKzQwLDEwIEBACiAj
aW1wb3J0IDxXZWJDb3JlL0RlYnVnUGFnZU92ZXJsYXlzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zy
YW1lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgorI2ltcG9ydCA8V2ViQ29yZS9J
bnNwZWN0b3JDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL01haW5GcmFtZS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
UXVhcnR6Q29yZVNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
aD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TZXR0
aW5ncy5oPgpAQCAtMzU5LDYgKzM2MSwxMCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhOjpmbHVzaExheWVycygpCiAgICAgRmxvYXRSZWN0IHZpc2libGVSZWN0KEZsb2F0UG9pbnQo
KSwgbV92aWV3U2l6ZSk7CiAgICAgdmlzaWJsZVJlY3QuaW50ZXJzZWN0KG1fc2Nyb2xsZWRFeHBv
c2VkUmVjdCk7CiAKKyAgICBbQ0FUcmFuc2FjdGlvbiBhZGRDb21taXRIYW5kbGVyOl57CisgICAg
ICAgIG1fd2ViUGFnZS5jb3JlUGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVyKCkuZGlkQ29tcG9z
aXRlKG1fd2ViUGFnZS5tYWluRnJhbWVWaWV3KCktPmZyYW1lKCkpOworICAgIH0gZm9yUGhhc2U6
a0NBVHJhbnNhY3Rpb25QaGFzZVBvc3RDb21taXRdOworCiAgICAgbV93ZWJQYWdlLm1haW5GcmFt
ZVZpZXcoKS0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCk7CiAKICAg
ICAvLyBCZWNhdXNlIG91ciB2aWV3LXJlbGF0aXZlIG92ZXJsYXkgcm9vdCBsYXllciBpcyBub3Qg
YXR0YWNoZWQgdG8gdGhlIEZyYW1lVmlldydzIEdyYXBoaWNzTGF5ZXIgdHJlZSwgd2UgbmVlZCB0
byBmbHVzaCBpdCBtYW51YWxseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhLm1tCmluZGV4IGY4MjRhYWNjYjNmOWRjMGVjMzllZjM2YjRlNmU3ZGIxOThmMWE5MjYuLjVk
MzNiOTA5OTY0YjNjYzQwNmYyMzVkODA5NThmYmUyYmY5YmIyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNDMsMTAgKzQzLDEyIEBACiAjaW1wb3J0
IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQu
aD4KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NMYXllckNBLmg+CisjaW1wb3J0IDxXZWJDb3Jl
L0luc3BlY3RvckNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWFjaFNlbmRSaWdodC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9NYWluRnJhbWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUNBQW5pbWF0aW9uQ29jb2EuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvUXVhcnR6Q29yZVNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJMYXllckJh
Y2tpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1JlbmRlclZpZXcuaD4KQEAgLTM4OCw2ICszOTAsMTAgQEAgYm9vbCBUaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMoKQogICAgICAgICBpZiAobV92
aWV3T3ZlcmxheVJvb3RMYXllcikKICAgICAgICAgICAgIG1fdmlld092ZXJsYXlSb290TGF5ZXIt
PmZsdXNoQ29tcG9zaXRpbmdTdGF0ZSh2aXNpYmxlUmVjdCk7CiAKKyAgICAgICAgW0NBVHJhbnNh
Y3Rpb24gYWRkQ29tbWl0SGFuZGxlcjpeeworICAgICAgICAgICAgbV93ZWJQYWdlLmNvcmVQYWdl
KCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS5kaWRDb21wb3NpdGUobV93ZWJQYWdlLm1haW5GcmFt
ZVZpZXcoKS0+ZnJhbWUoKSk7CisgICAgICAgIH0gZm9yUGhhc2U6a0NBVHJhbnNhY3Rpb25QaGFz
ZVBvc3RDb21taXRdOworCiAgICAgICAgIGJvb2wgcmV0dXJuVmFsdWUgPSBtX3dlYlBhZ2UubWFp
bkZyYW1lVmlldygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsK
ICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogICAgICAgICBpZiAoU2Nyb2xsaW5nQ29vcmRp
bmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gbV93ZWJQYWdlLmNvcmVQYWdlKCktPnNjcm9s
bGluZ0Nvb3JkaW5hdG9yKCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255668</attachid>
            <date>2015-06-26 14:52:23 -0700</date>
            <delta_ts>2015-06-30 14:46:51 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-146168-20150626145135.patch</filename>
            <type>text/plain</type>
            <size>38633</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
OTBiZTM1OWRjMjJmNjE4ZDVmYzEzZjY4Y2U3NzFiNGMyM2I2Yjg1Li5jMTFkZjUxOGEyZjc5OGU4
MGI4ZTg1ZDFhYTVlYzUxZDIwOGE1NGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNS0wNi0yNiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVkdWNlIHJlbmRlcmluZyBmcmFtZXMgIk90aGVy
IiB0aW1lIGJ5IGluc3RydW1lbnRpbmcgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjE2OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL1RpbWVsaW5l
Lmpzb246CisgICAgICAgIE5ldyB0aW1lbGluZSByZWNvcmQgdHlwZSBmb3IgY29tcG9zaXRpbmcg
ZXZlbnRzLgorCiAyMDE1LTA2LTI2ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmVtb3ZlIEFSTXY3QXNzZW1ibGVyLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDU0
N2E5MWZjZWJkZmZmYmQyNmMzMzYzZjkzMDlkNTQwNTM4ZTJlZGMuLmFjY2Q4NjQ3N2I5ZDVlOGVk
MmU2YzllZjQxZDY2ZTU1MWQ5ZTk5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAx
NS0wNi0yNiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogUmVkdWNlIHJlbmRlcmluZyBmcmFtZXMgIk90aGVyIiB0aW1lIGJ5IGluc3Ry
dW1lbnRpbmcgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0NjE2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIEluc3BlY3RvciBpbnN0cnVtZW50YXRpb24gZm9yIG1lYXN1cmlu
ZyBDb3JlQW5pbWF0aW9uIGNvbXBvc2l0aW5nIHRpbWUuIFdlIG1hcmsgdGhlIHN0YXJ0IG9mIGEg
Y29tcG9zaXRlCisgICAgICAgIGV2ZW50IHdoZW4gdGhlIExheWVyRmx1c2hTY2hlZHVsZXIgdHJp
Z2dlcnMgYSBzY2hlZHVsZWQgbGF5ZXIgZmx1c2guIEluc3BlY3RvckNvbnRyb2xsZXIgbm93IGV4
cG9ydHMgYSBmdW5jdGlvbgorICAgICAgICBmb3IgbWFya2luZyB0aGUgZW5kIG9mIHRoZSBjb21w
b3NpdGUgZXZlbnQsIHdoaWNoIHNob3VsZCBiZSBjYWxsZWQgZHVyaW5nIHRoZSBDQSB0cmFuc2Fj
dGlvbiBwb3N0LWNvbW1pdCBwaGFzZQorICAgICAgICAoYmFzZWQgb24gcGxhdGZvcm0gc3VwcG9y
dCkuIExhY2tpbmcgcGxhdGZvcm0gc3VwcG9ydCwgdGhlIGV2ZW50IGlzIGNvbnNpZGVyZWQgY29t
cGxldGUgYWZ0ZXIgQ29yZUFuaW1hdGlvbgorICAgICAgICBydW5sb29wIG9ic2VydmVycyBoYXZl
IHJ1bi4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZENvbXBvc2l0ZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgTmV3IGV4cG9y
dCBmb3IgaW5zdHJ1bWVudGF0aW9uIGluIFdlYktpdDIuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbENvbXBvc2l0ZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21wb3NpdGVJbXBsKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxDb21wb3NpdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21wb3NpdGUpOgorICAgICAgICBQbHVt
YmluZyBmb3IgbmV3IGluc3RydW1lbnRhdGlvbi4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OmludGVybmFsU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6aW50ZXJuYWxTdG9wKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OndpbGxDb21wb3NpdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkQ29tcG9zaXRlKToKKyAgICAgICAgKFdlYkNvcmU6OnRvUHJvdG9j
b2wpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6CisgICAg
ICAgIE5ldyBDb21wb3NpdGUgZXZlbnQgdHlwZSBhbmQgaW5zdHJ1bWVudGF0aW9uLgorCisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpm
bHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMpOgorICAgICAgICBIb29rIGZv
ciBzdGFydCBvZiBjb21wb3NpdGluZy4KKworICAgICAgICAqIHBsYXRmb3JtL3NwaS9jb2NvYS9R
dWFydHpDb3JlU1BJLmg6CisgICAgICAgIE5ldyBoZWFkZXIgaW5jbHVkZSBhbmQgaW50ZXJmYWNl
IGRlY2xhcmF0aW9uLgorCiAyMDE1LTA2LTI2ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNv
bT4KIAogICAgICAgICBObyBhdWRpbyBvbiBhbmltYXRlZCBwYWdlIHdpdGggdGhlIGF0dGFjaGVk
IGZpeGVkIGxheW91dCBlcHViCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBjOTM5MDBkNWY2
Y2U5MjgxYzNlMDJmZTIxNThlYTEzOWQwMzRjNzhkLi5kOTZhYzVhM2U2ZDFmZWI1YjgyOGFiZjM0
NDg3Njk5ZWJiNzY1NWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBA
QAorMjAxNS0wNi0yNiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogUmVkdWNlIHJlbmRlcmluZyBmcmFtZXMgIk90aGVyIiB0aW1lIGJ5
IGluc3RydW1lbnRpbmcgY29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0NjE2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5h
Z2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUu
X3Byb2Nlc3NSZWNvcmQpOgorICAgICAgICBBZGRlZCBoYW5kbGluZyBmb3IgbmV3IENvbXBvc2l0
ZSByZWNvcmQgdHlwZS4gUGFpbnQgcmVjb3JkcyB3aXRoIGEgcGFyZW50IENvbXBvc2l0ZSByZWNv
cmQKKyAgICAgICAgYXJlIGZsYWdnZWQgdG8gc2ltcGxpZnkgcHJvY2Vzc2luZyBhZnRlciB0aGUg
ZXZlbnQgaGllcmFyY2h5IGlzIHVucGFja2VkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9J
bWFnZXMvVGltZWxpbmVSZWNvcmRDb21wb3NpdGUuc3ZnOiBBZGRlZC4KKyAgICAgICAgTmV3IGNv
bXBvc2l0ZSByZWNvcmQgaWNvbi4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0xh
eW91dFRpbWVsaW5lUmVjb3JkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVs
aW5lUmVjb3JkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5k
aXNwbGF5TmFtZUZvckV2ZW50VHlwZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGlt
ZWxpbmVSZWNvcmQucHJvdG90eXBlLmdldCBkdXJpbmdDb21wb3NpdGUpOiBBZGRlZAorICAgICAg
ICBDb21wb3NpdGUgcmVjb3JkIHN1cHBvcnQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01v
ZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQucHJvdG90eXBlLmR1cmF0aW9uRm9yVGFz
ay5nZXQgdmFsaWRSZWNvcmRGb3JUYXNrVHlwZSk6CisgICAgICAgIEFkZCBjb21wb3NpdGluZyB0
aW1lIHdoZW4gYnVja2V0aW5nIHJ1bmxvb3AgdGFza3MsIGlnbm9yaW5nIFBhaW50IGV2ZW50cyB0
aGF0IGFyZQorICAgICAgICBjb250YWluZWQgd2l0aGluIGEgQ29tcG9zaXRlIGV2ZW50LgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZU92ZXJ2aWV3R3JhcGgu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLnBy
b3RvdHlwZS5fbGF5b3V0VGltZWxpbmVSZWNvcmRBZGRlZCk6CisgICAgICAgIEFkZCBDb21wb3Np
dGUgcmVjb3JkcyB0byBwYWludCB0aW1lbGluZSByb3cuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LnByb3RvdHlwZS5fcHJvY2Vzc1BlbmRp
bmdSZWNvcmRzKToKKyAgICAgICAgU21hbGwgdW5yZWxhdGVkIGZpeC4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVJY29ucy5jc3M6CisgICAgICAgICguY29tcG9zaXRl
LXJlY29yZCAuaWNvbik6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJl
Y29yZEJhci5jc3M6CisgICAgICAgICgudGltZWxpbmUtcmVjb3JkLWJhci50aW1lbGluZS1yZWNv
cmQtdHlwZS1sYXlvdXQubGF5b3V0LXRpbWVsaW5lLXJlY29yZC1jb21wb3NpdGUgPiAuc2VnbWVu
dCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZFRyZWVFbGVt
ZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQp
OgorICAgICAgICBOZXcgc3R5bGVzIGFuZCB0cmVlIGVsZW1lbnQgaWNvbi4KKwogMjAxNS0wNi0y
NSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogV3JvbmcgdGltZWxpbmUgc2VsZWN0ZWQgYWZ0ZXIgc3dpdGNoaW5nIGZyb20gUmVuZGVy
aW5nIEZyYW1lcyB0byBUaW1lbGluZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3MWFiMDVlZWE4NDZmM2IwODM2
MDllMGQxZGVmMzZjNTRmZDhkOTBjLi4xYTRkMjA1YWZmY2YyNzk0MzgxMjg3NGIyZGE1OTk5ZjU2
MDQzYThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDYtMjYgIE1hdHQgQmFr
ZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlZHVj
ZSByZW5kZXJpbmcgZnJhbWVzICJPdGhlciIgdGltZSBieSBpbnN0cnVtZW50aW5nIGNvbXBvc2l0
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYx
NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycyk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6
OmZsdXNoTGF5ZXJzKToKKyAgICAgICAgQWRkZWQgQ0EgdHJhbnNhY3Rpb24gcG9zdC1jb21taXQg
aGFuZGxlcnMgdG8gaW5zdHJ1bWVudCBlbmQgb2YgY29tcG9zaXRlLgorCiAyMDE1LTA2LTI2ICBC
ZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
aW1hZ2UgcHJldmlld3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvVGltZWxpbmUuanNvbgppbmRleCA3ZGExMDI4NTBhMDk2OWZkYjRhMDE2NjUx
YzEyZGI4N2RlZWI4ZjYxLi5mYTI2ZjM2ZjRhM2YxN2IyNzFiYThlYjc5Zjk2YWQwYzJhOTdmYmY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1Rp
bWVsaW5lLmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2Nv
bC9UaW1lbGluZS5qc29uCkBAIC0xMyw2ICsxMyw3IEBACiAgICAgICAgICAgICAgICAgIkludmFs
aWRhdGVMYXlvdXQiLAogICAgICAgICAgICAgICAgICJMYXlvdXQiLAogICAgICAgICAgICAgICAg
ICJQYWludCIsCisgICAgICAgICAgICAgICAgIkNvbXBvc2l0ZSIsCiAgICAgICAgICAgICAgICAg
IlJlbmRlcmluZ0ZyYW1lIiwKICAgICAgICAgICAgICAgICAiU2Nyb2xsTGF5ZXIiLAogICAgICAg
ICAgICAgICAgICJQYXJzZUhUTUwiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDE3NzlmZmRjNzNmN2E5MDAwODhjYTFkNGMwNDMz
NDdlMzY5YTAyNTYuLmYyM2E1ZWEwZWU1NmQwNWUxNDQ1MTA2YTcyNWFjMWM5NmE0NjhlOTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
QEAgLTQ1Myw0ICs0NTMsOSBAQCBSZWY8U3RvcHdhdGNoPiBJbnNwZWN0b3JDb250cm9sbGVyOjpl
eGVjdXRpb25TdG9wd2F0Y2goKQogICAgIHJldHVybiBtX2V4ZWN1dGlvblN0b3B3YXRjaC5jb3B5
UmVmKCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkQ29tcG9zaXRlKEZyYW1l
JiBmcmFtZSkKK3sKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENvbXBvc2l0ZShm
cmFtZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDJkZmMzNDYyOWIwMzIzYjk2Yzhi
NWJhNGUwMWMwYzZhNzA1YTAwNTcuLjgzMGQ1NjNkM2M2MjBiZjEzM2ZhMTE0YmViYjMyMzJhNDU1
YjdhMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuaApAQCAtMTM3LDYgKzEzNyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZnJvbnRl
bmRJbml0aWFsaXplZCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgUmVmPFdURjo6U3RvcHdhdGNo
PiBleGVjdXRpb25TdG9wd2F0Y2goKSBvdmVycmlkZTsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZGlkQ29tcG9zaXRlKEZyYW1lJik7CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCBlNjBmMGQ2NDc2NGY3OTY5
NDIxNGQ5ZGQ0YTljMmM3ZjlhYTcyODIzLi40MWM4MjgwOTkzYjdmZDZkMmYzMTlhY2RlZGRhZTQ3
ZWNhMDNiNjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNDc1LDYgKzQ3NSwxOCBAQCB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnRJbXBsKGNvbnN0IEluc3Bl
Y3Rvckluc3RydQogICAgICAgICB0aW1lbGluZUFnZW50LT5kaWREaXNwYXRjaFhIUkxvYWRFdmVu
dCgpOwogfQogCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbENvbXBvc2l0ZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgRnJhbWUmIGZyYW1l
KQoreworICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCisgICAgICAgIHRpbWVs
aW5lQWdlbnQtPndpbGxDb21wb3NpdGUoZnJhbWUpOworfQorCit2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkQ29tcG9zaXRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVt
ZW50aW5nQWdlbnRzKQoreworICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGlu
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCisg
ICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZENvbXBvc2l0ZSgpOworfQorCiB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0
cnVtZW50aW5nQWdlbnRzLCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogICAgIGlmIChJbnNw
ZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5p
bnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggYWQ4ZGU2YmY0NjQ0YTJkZTA2ZjM4
ZmRlNWMxMzBiZWE3ZTNhY2NhMS4uYTAzNTRhZGE4MDQ5OTA5NjQyZDBiZWJkZDAyYTMxNTEwYzgy
YzlmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaApAQCAtMTY0LDYgKzE2NCw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9p
ZCBkaWREaXNwYXRjaFhIUkxvYWRFdmVudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsU2Nyb2xsTGF5ZXIoRnJhbWUmKTsKICAgICBz
dGF0aWMgdm9pZCBkaWRTY3JvbGxMYXllcihGcmFtZSYpOworICAgIHN0YXRpYyB2b2lkIHdpbGxD
b21wb3NpdGUoRnJhbWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRDb21wb3NpdGUoRnJhbWUmKTsK
ICAgICBzdGF0aWMgdm9pZCB3aWxsUGFpbnQoUmVuZGVyT2JqZWN0Kik7CiAgICAgc3RhdGljIHZv
aWQgZGlkUGFpbnQoUmVuZGVyT2JqZWN0KiwgY29uc3QgTGF5b3V0UmVjdCYpOwogICAgIHN0YXRp
YyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFJlY2FsY3VsYXRlU3R5bGUoRG9j
dW1lbnQmKTsKQEAgLTM0Miw2ICszNDQsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRp
ZERpc3BhdGNoWEhSTG9hZEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsU2Nyb2xsTGF5ZXJJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMmLCBGcmFtZSYpOwogICAgIHN0YXRpYyB2b2lkIGRpZFNjcm9sbExheWVySW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzJik7CisgICAgc3RhdGljIHZvaWQgd2lsbENvbXBvc2l0ZUltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lJik7CisgICAgc3RhdGljIHZvaWQgZGlkQ29tcG9z
aXRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFBhaW50
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgUmVuZGVyT2JqZWN0Kik7CiAgICAgc3RhdGljIHZv
aWQgZGlkUGFpbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBSZW5kZXJPYmplY3QqLCBjb25z
dCBMYXlvdXRSZWN0Jik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSB3aWxsUmVjYWxjdWxhdGVTdHlsZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIERvY3VtZW50
Jik7CkBAIC04MTQsNiArODE4LDIwIEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zCiAgICAgICAg
IGRpZERpc3BhdGNoWEhSTG9hZEV2ZW50SW1wbChjb29raWUpOwogfQogCitpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxDb21wb3NpdGUoRnJhbWUmIGZyYW1lKQorewor
ICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOworICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
ckZyYW1lKCZmcmFtZSkpCisgICAgICAgIHdpbGxDb21wb3NpdGVJbXBsKCppbnN0cnVtZW50aW5n
QWdlbnRzLCBmcmFtZSk7Cit9CisKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkQ29tcG9zaXRlKEZyYW1lJiBmcmFtZSkKK3sKKyAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZSgmZnJhbWUpKQorICAgICAg
ICBkaWRDb21wb3NpdGVJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzKTsKK30KKwogaW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnQoUmVuZGVyT2JqZWN0KiByZW5k
ZXJlcikKIHsKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApp
bmRleCA3ZTU1Y2NmNDliYjUzZDIyNDliOWE1MzE4NDBhYWZjNDA0Y2Q1NTMzLi4wZTMyYmM1ZTYz
ODk4YWZmOGVkMmIwNmFiYjBmN2ExYmE5ODAwOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0xNzAsOCArMTcwLDEz
IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6aW50ZXJuYWxTdGFydChjb25zdCBpbnQq
IG1heENhbGxTdGFja0RlcHRoKQogCiAgICAgICAgIEFTU0VSVChtX3J1bkxvb3BOZXN0aW5nTGV2
ZWwgPiAwKTsKICAgICAgICAgbV9ydW5Mb29wTmVzdGluZ0xldmVsLS07Ci0gICAgICAgIGlmICgh
bV9ydW5Mb29wTmVzdGluZ0xldmVsKQotICAgICAgICAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVj
b3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6UmVuZGVyaW5nRnJhbWUpOworICAgICAgICBpZiAobV9y
dW5Mb29wTmVzdGluZ0xldmVsKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmICht
X3N0YXJ0ZWRDb21wb3NpdGUpCisgICAgICAgICAgICBkaWRDb21wb3NpdGUoKTsKKworICAgICAg
ICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpSZW5kZXJpbmdG
cmFtZSk7CiAgICAgfSk7CiAKICAgICBtX2ZyYW1lU3RhcnRPYnNlcnZlci0+c2NoZWR1bGUoY3Vy
cmVudFJ1bkxvb3AoKSwga0NGUnVuTG9vcEVudHJ5IHwga0NGUnVuTG9vcEFmdGVyV2FpdGluZyk7
CkBAIC0yMTYsNiArMjIxLDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjppbnRlcm5h
bFN0b3AoKQogICAgIGNsZWFyUmVjb3JkU3RhY2soKTsKIAogICAgIG1fZW5hYmxlZCA9IGZhbHNl
OworICAgIG1fc3RhcnRlZENvbXBvc2l0ZSA9IGZhbHNlOwogCiAgICAgaWYgKG1fZnJvbnRlbmRE
aXNwYXRjaGVyKQogICAgICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+cmVjb3JkaW5nU3RvcHBl
ZCgpOwpAQCAtMzk5LDYgKzQwNSwyMCBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRp
ZFJlY2FsY3VsYXRlU3R5bGUoKQogICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGlu
ZVJlY29yZFR5cGU6OlJlY2FsY3VsYXRlU3R5bGVzKTsKIH0KIAordm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50Ojp3aWxsQ29tcG9zaXRlKEZyYW1lJiBmcmFtZSkKK3sKKyAgICBBU1NFUlQoIW1f
c3RhcnRlZENvbXBvc2l0ZSk7CisgICAgcHVzaEN1cnJlbnRSZWNvcmQoSW5zcGVjdG9yT2JqZWN0
OjpjcmVhdGUoKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpDb21wb3NpdGUsIHRydWUsICZmcmFtZSk7
CisgICAgbV9zdGFydGVkQ29tcG9zaXRlID0gdHJ1ZTsKK30KKwordm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpkaWRDb21wb3NpdGUoKQoreworICAgIEFTU0VSVChtX3N0YXJ0ZWRDb21wb3Np
dGUpOworICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OkNv
bXBvc2l0ZSk7CisgICAgbV9zdGFydGVkQ29tcG9zaXRlID0gZmFsc2U7Cit9CisKIHZvaWQgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFBhaW50KEZyYW1lJiBmcmFtZSkKIHsKICAgICBwdXNo
Q3VycmVudFJlY29yZChJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpLCBUaW1lbGluZVJlY29yZFR5
cGU6OlBhaW50LCB0cnVlLCAmZnJhbWUpOwpAQCAtNjA3LDYgKzYyNyw4IEBAIHN0YXRpYyBJbnNw
ZWN0b3I6OlByb3RvY29sOjpUaW1lbGluZTo6RXZlbnRUeXBlIHRvUHJvdG9jb2woVGltZWxpbmVS
ZWNvcmRUeXBlIHR5CiAgICAgICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpUaW1lbGlu
ZTo6RXZlbnRUeXBlOjpMYXlvdXQ7CiAgICAgY2FzZSBUaW1lbGluZVJlY29yZFR5cGU6OlBhaW50
OgogICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6VGltZWxpbmU6OkV2ZW50VHlw
ZTo6UGFpbnQ7CisgICAgY2FzZSBUaW1lbGluZVJlY29yZFR5cGU6OkNvbXBvc2l0ZToKKyAgICAg
ICAgcmV0dXJuIEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRpbWVsaW5lOjpFdmVudFR5cGU6OkNvbXBv
c2l0ZTsKICAgICBjYXNlIFRpbWVsaW5lUmVjb3JkVHlwZTo6UmVuZGVyaW5nRnJhbWU6CiAgICAg
ICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpUaW1lbGluZTo6RXZlbnRUeXBlOjpSZW5k
ZXJpbmdGcmFtZTsKICAgICBjYXNlIFRpbWVsaW5lUmVjb3JkVHlwZTo6U2Nyb2xsTGF5ZXI6CkBA
IC03MjAsMTUgKzc0Miw4IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxl
dGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZSB0eXBlKQogSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JQYWdlQWdlbnQqIHBhZ2VBZ2VudCwgSW5zcGVjdG9y
VHlwZSB0eXBlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKICAgICA6IEluc3BlY3RvckFnZW50
QmFzZShBU0NJSUxpdGVyYWwoIlRpbWVsaW5lIiksIGluc3RydW1lbnRpbmdBZ2VudHMpCiAgICAg
LCBtX3BhZ2VBZ2VudChwYWdlQWdlbnQpCi0gICAgLCBtX3NjcmlwdERlYnVnU2VydmVyKG51bGxw
dHIpCi0gICAgLCBtX2lkKDEpCi0gICAgLCBtX2NhbGxTdGFja0RlcHRoKDApCi0gICAgLCBtX21h
eENhbGxTdGFja0RlcHRoKDUpCiAgICAgLCBtX2luc3BlY3RvclR5cGUodHlwZSkKICAgICAsIG1f
Y2xpZW50KGNsaWVudCkKLSAgICAsIG1fZW5hYmxlZChmYWxzZSkKLSAgICAsIG1fZW5hYmxlZEZy
b21Gcm9udGVuZChmYWxzZSkKLSAgICAsIG1fcnVuTG9vcE5lc3RpbmdMZXZlbCgwKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aAppbmRleCA2YTBhZmFlZThhODBlNWM5ZjM2NDFmMmQ0OTUzMDU3MjljMzc2NjFmLi42YWE1ODRj
Njg5YmQxZjNhYzZiZWI4NThjMjVjZmQ1ZmU4MTkyNThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcyLDYgKzcyLDcgQEAg
ZW51bSBjbGFzcyBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIEludmFsaWRhdGVMYXlvdXQsCiAg
ICAgTGF5b3V0LAogICAgIFBhaW50LAorICAgIENvbXBvc2l0ZSwKICAgICBSZW5kZXJpbmdGcmFt
ZSwKICAgICBTY3JvbGxMYXllciwKIApAQCAtMTU1LDYgKzE1Niw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIGRpZFNjcm9sbCgpOwogICAgIHZvaWQgd2lsbERpc3BhdGNoWEhSTG9hZEV2ZW50KGNvbnN0
IFN0cmluZyYsIEZyYW1lKik7CiAgICAgdm9pZCBkaWREaXNwYXRjaFhIUkxvYWRFdmVudCgpOwor
ICAgIHZvaWQgd2lsbENvbXBvc2l0ZShGcmFtZSYpOworICAgIHZvaWQgZGlkQ29tcG9zaXRlKCk7
CiAgICAgdm9pZCB3aWxsUGFpbnQoRnJhbWUmKTsKICAgICB2b2lkIGRpZFBhaW50KFJlbmRlck9i
amVjdCosIGNvbnN0IExheW91dFJlY3QmKTsKICAgICB2b2lkIHdpbGxSZWNhbGN1bGF0ZVN0eWxl
KEZyYW1lKik7CkBAIC0yMjksMjkgKzIzMiwzMCBAQCBwcml2YXRlOgogICAgIFBhZ2UqIHBhZ2Uo
KTsKIAogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9wYWdlQWdlbnQ7Ci0gICAgUGFnZVNjcmlw
dERlYnVnU2VydmVyKiBtX3NjcmlwdERlYnVnU2VydmVyOworICAgIFBhZ2VTY3JpcHREZWJ1Z1Nl
cnZlciogbV9zY3JpcHREZWJ1Z1NlcnZlciB7IG51bGxwdHIgfTsKIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxJbnNwZWN0b3I6OlRpbWVsaW5lRnJvbnRlbmREaXNwYXRjaGVyPiBtX2Zyb250ZW5kRGlz
cGF0Y2hlcjsKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpUaW1lbGluZUJhY2tlbmREaXNwYXRjaGVy
PiBtX2JhY2tlbmREaXNwYXRjaGVyOwogCiAgICAgVmVjdG9yPFRpbWVsaW5lUmVjb3JkRW50cnk+
IG1fcmVjb3JkU3RhY2s7CiAKLSAgICBpbnQgbV9pZDsKLSAgICBpbnQgbV9jYWxsU3RhY2tEZXB0
aDsKLSAgICBpbnQgbV9tYXhDYWxsU3RhY2tEZXB0aDsKKyAgICBpbnQgbV9pZCB7IDEgfTsKKyAg
ICBpbnQgbV9jYWxsU3RhY2tEZXB0aCB7IDAgfTsKKyAgICBpbnQgbV9tYXhDYWxsU3RhY2tEZXB0
aCB7IDUgfTsKICAgICBJbnNwZWN0b3JUeXBlIG1faW5zcGVjdG9yVHlwZTsKICAgICBJbnNwZWN0
b3JDbGllbnQqIG1fY2xpZW50OwogCiAgICAgVmVjdG9yPFRpbWVsaW5lUmVjb3JkRW50cnk+IG1f
cGVuZGluZ0NvbnNvbGVQcm9maWxlUmVjb3JkczsKIAotICAgIGJvb2wgbV9lbmFibGVkOwotICAg
IGJvb2wgbV9lbmFibGVkRnJvbUZyb250ZW5kOworICAgIGJvb2wgbV9lbmFibGVkIHsgZmFsc2Ug
fTsKKyAgICBib29sIG1fZW5hYmxlZEZyb21Gcm9udGVuZCB7IGZhbHNlIH07CiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UnVuTG9vcE9ic2VydmVy
PiBtX2ZyYW1lU3RhcnRPYnNlcnZlcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UnVu
TG9vcE9ic2VydmVyPiBtX2ZyYW1lU3RvcE9ic2VydmVyOwogI2VuZGlmCi0gICAgaW50IG1fcnVu
TG9vcE5lc3RpbmdMZXZlbDsKKyAgICBpbnQgbV9ydW5Mb29wTmVzdGluZ0xldmVsIHsgMCB9Owor
ICAgIGJvb2wgbV9zdGFydGVkQ29tcG9zaXRlIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAxMjEyZDU1MzRiZjlk
NTJjZTMwYzVkMzEyNjU3NDk1NjYzNTQzZDNjLi4wMTVjYTYwNjI5NWQ5NWJkNzFmY2ZkNTNjYTZl
ZWZmNmQ5ZjNlYmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMDgyLDYgKzEw
ODIsOCBAQCBib29sIEZyYW1lVmlldzo6aXNFbmNsb3NlZEluQ29tcG9zaXRpbmdMYXllcigpIGNv
bnN0CiAKIGJvb2wgRnJhbWVWaWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJm
cmFtZXMoKQogeworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbENvbXBvc2l0ZShm
cmFtZSgpKTsKKwogICAgIGJvb2wgYWxsRnJhbWVzRmx1c2hlZCA9IGZsdXNoQ29tcG9zaXRpbmdT
dGF0ZUZvclRoaXNGcmFtZSgmZnJhbWUoKSk7CiAKICAgICBmb3IgKEZyYW1lKiBjaGlsZCA9IGZy
YW1lKCkudHJlZSgpLmZpcnN0UmVuZGVyZWRDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+
dHJlZSgpLnRyYXZlcnNlTmV4dFJlbmRlcmVkKG1fZnJhbWUucHRyKCkpKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaAppbmRleCA4YWE4
NDMwMjA0MTU2ZGMzZmZjNTNlZGE2Y2YyZGE3YmZhMGM2MTA0Li42NzFiNTBlYWQ3NzA1MDU4ZmUw
YTZiMTY2YWQ4MWE2NjM5OGVjNWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgZXh0ZXJuICJDIiB7
CiAjaW1wb3J0IDxRdWFydHpDb3JlL0NBQ29udGV4dC5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9D
QUZpbHRlci5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQVRpbGVkTGF5ZXJQcml2YXRlLmg+Cisj
aW1wb3J0IDxRdWFydHpDb3JlL0NBVHJhbnNhY3Rpb25Qcml2YXRlLmg+CiAKICNpZmRlZiBfX2Nw
bHVzcGx1cwogfQpAQCAtMTEyLDYgKzExMywxOCBAQCB0eXBlZGVmIHN0cnVjdCBDQUNvbG9yTWF0
cml4IENBQ29sb3JNYXRyaXg7CiArIChDQUZpbHRlciAqKWZpbHRlcldpdGhUeXBlOihOU1N0cmlu
ZyAqKXR5cGU7CiBAcHJvcGVydHkgKGNvcHkpIE5TU3RyaW5nICpuYW1lOwogQGVuZAorCisjaWYg
KFRBUkdFVF9PU19JUEhPTkUgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
OTAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxMTAwKQordHlwZWRlZiBlbnVtIHsKKyAgICBrQ0FUcmFuc2FjdGlvblBoYXNlUHJl
TGF5b3V0LAorICAgIGtDQVRyYW5zYWN0aW9uUGhhc2VQcmVDb21taXQsCisgICAga0NBVHJhbnNh
Y3Rpb25QaGFzZVBvc3RDb21taXQsCit9IENBVHJhbnNhY3Rpb25QaGFzZTsKKworQGludGVyZmFj
ZSBDQVRyYW5zYWN0aW9uIChEZXRhaWxzKQorKyAodm9pZClhZGRDb21taXRIYW5kbGVyOih2b2lk
KF4pKHZvaWQpKWJsb2NrIGZvclBoYXNlOihDQVRyYW5zYWN0aW9uUGhhc2UpcGhhc2U7CitAZW5k
CisjZW5kaWYKICNlbmRpZiAvLyBfX09CSkNfXwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3Mu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzCmluZGV4IDdlOWU0NDQ1YTIyZjYwMGNhNzYwYTYzMTRkZWYxODMwMjEzNDA0
YjAuLmQxZWZiNmMyZWU2NTBkYTQ0NmU1N2FjOGQzNGU4YzU4ZmU2Njc4OTQgMTAwNjQ0CkdJVCBi
aW5hcnkgcGF0Y2gKZGVsdGEgNTQKemNtWEB+bnQ5Rn08Xy1TKCVKfmUlNDREaWk0NTx1QzQ2eklm
NDdOYjUjTmY9MyZ5ZFNkMDM/QzNsUDVVblorNiRPCkdKX1oxdEJvM3RqCgpkZWx0YSAxNApXY21i
UjloV1hISTxfLVMobl4pPT05fEhoNGJPJFp+CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5h
Z2VyLmpzCmluZGV4IDUzYThmODcxYzA3NTBlYzgzZjdmMzUzYjExZTQzNmI2YzRmZjQ5YjcuLjFh
YWJiNDZlOGEyYTc3MmM4Y2NmNTljZWFiYzIzMmUzOGVjZTI4MmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdl
ci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9UaW1lbGluZU1hbmFnZXIuanMKQEAgLTI2MiwxMCArMjYyLDE4IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuT2JqZWN0CiAgICAgICAgIGNhc2UgVGltZWxpbmVBZ2VudC5FdmVudFR5cGUuUGFpbnQ6CiAg
ICAgICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgNik6IFBhaW50IHJlY29yZHMgZGF0YSBj
b250YWluZWQgeCwgeSwgd2lkdGgsIGhlaWdodCBwcm9wZXJ0aWVzLiBUaGlzIGJlY2FtZSBhIHF1
YWQgImNsaXAiLgogICAgICAgICAgICAgdmFyIHF1YWQgPSByZWNvcmRQYXlsb2FkLmRhdGEuY2xp
cCA/IG5ldyBXZWJJbnNwZWN0b3IuUXVhZChyZWNvcmRQYXlsb2FkLmRhdGEuY2xpcCkgOiBudWxs
OworICAgICAgICAgICAgdmFyIGR1cmluZ0NvbXBvc2l0ZSA9IHJlY29yZFBheWxvYWQuX19kdXJp
bmdDb21wb3NpdGUgfHwgZmFsc2U7CiAgICAgICAgICAgICBpZiAocXVhZCkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZChXZWJJbnNw
ZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlBhaW50LCBzdGFydFRpbWUsIGVu
ZFRpbWUsIGNhbGxGcmFtZXMsIHNvdXJjZUNvZGVMb2NhdGlvbiwgbnVsbCwgbnVsbCwgcXVhZC53
aWR0aCwgcXVhZC5oZWlnaHQsIHF1YWQpOworICAgICAgICAgICAgICAgIHJldHVybiBuZXcgV2Vi
SW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGlu
ZVJlY29yZC5FdmVudFR5cGUuUGFpbnQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywg
c291cmNlQ29kZUxvY2F0aW9uLCBudWxsLCBudWxsLCBxdWFkLndpZHRoLCBxdWFkLmhlaWdodCwg
cXVhZCwgZHVyaW5nQ29tcG9zaXRlKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZChXZWJJbnNwZWN0
b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlBhaW50LCBzdGFydFRpbWUsIGVuZFRp
bWUsIGNhbGxGcmFtZXMsIHNvdXJjZUNvZGVMb2NhdGlvbiwgcmVjb3JkUGF5bG9hZC5kYXRhLngs
IHJlY29yZFBheWxvYWQuZGF0YS55LCByZWNvcmRQYXlsb2FkLmRhdGEud2lkdGgsIHJlY29yZFBh
eWxvYWQuZGF0YS5oZWlnaHQpOworICAgICAgICAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLkxheW91dFRpbWVsaW5lUmVjb3JkKFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29y
ZC5FdmVudFR5cGUuUGFpbnQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNl
Q29kZUxvY2F0aW9uLCByZWNvcmRQYXlsb2FkLmRhdGEueCwgcmVjb3JkUGF5bG9hZC5kYXRhLnks
IHJlY29yZFBheWxvYWQuZGF0YS53aWR0aCwgcmVjb3JkUGF5bG9hZC5kYXRhLmhlaWdodCwgbnVs
bCwgZHVyaW5nQ29tcG9zaXRlKTsKKworICAgICAgICBjYXNlIFRpbWVsaW5lQWdlbnQuRXZlbnRU
eXBlLkNvbXBvc2l0ZToKKyAgICAgICAgICAgIHJlY29yZFBheWxvYWQuY2hpbGRyZW4uZm9yRWFj
aChmdW5jdGlvbihjaGlsZFJlY29yZFBheWxvYWQpIHsKKyAgICAgICAgICAgICAgICBjb25zb2xl
LmFzc2VydChjaGlsZFJlY29yZFBheWxvYWQudHlwZSA9PT0gVGltZWxpbmVBZ2VudC5FdmVudFR5
cGUuUGFpbnQsIGNoaWxkUmVjb3JkUGF5bG9hZC50eXBlKTsKKyAgICAgICAgICAgICAgICBjaGls
ZFJlY29yZFBheWxvYWQuX19kdXJpbmdDb21wb3NpdGUgPSB0cnVlOworICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29y
ZChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkNvbXBvc2l0ZSwg
c3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24pOwogCiAg
ICAgICAgIGNhc2UgVGltZWxpbmVBZ2VudC5FdmVudFR5cGUuUmVuZGVyaW5nRnJhbWU6CiAgICAg
ICAgICAgICBpZiAoIXJlY29yZFBheWxvYWQuY2hpbGRyZW4pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvVGltZWxpbmVSZWNvcmRDb21wb3Np
dGUuc3ZnIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL1RpbWVs
aW5lUmVjb3JkQ29tcG9zaXRlLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmRkNjZmYjRlM2JlMDg5ODczZWI4
NmU0MTM4Yjk0MTc1ZmZmYTg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL1RpbWVsaW5lUmVjb3JkQ29tcG9zaXRlLnN2ZwpAQCAt
MCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0t
IENvcHlyaWdodCDCqSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gLS0+Cis8
c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3
Qm94PSIwIDAgMTYgMTYiPgorICAgIDxwYXRoIGZpbGw9InJnYigxNzYsIDIwNCwgMTA1KSIgZD0i
TSAxMyAxIEwgMyAxIEMgMS44OTg0MzggMSAxIDEuODk4NDM4IDEgMyBMIDEgMTMgQyAxIDE0LjEw
MTU2MiAxLjg5ODQzOCAxNSAzIDE1IEwgMTMgMTUgQyAxNC4xMDE1NjIgMTUgMTUgMTQuMTAxNTYy
IDE1IDEzIEwgMTUgMyBDIDE1IDEuODk4NDM4IDE0LjEwMTU2MiAxIDEzIDEgWiIvPgorICAgIDxw
YXRoIGZpbGw9InJnYigxNTIsIDE4OCwgNzcpIiBkPSJNIDEzIDEgTCAzIDEgQyAxLjg5ODQzOCAx
IDEgMS44OTg0MzggMSAzIEwgMSAxMyBDIDEgMTQuMTAxNTYyIDEuODk4NDM4IDE1IDMgMTUgTCAx
MyAxNSBDIDE0LjEwMTU2MiAxNSAxNSAxNC4xMDE1NjIgMTUgMTMgTCAxNSAzIEMgMTUgMS44OTg0
MzggMTQuMTAxNTYyIDEgMTMgMSBNIDEzIDIgQyAxMy41NTA3ODEgMiAxNCAyLjQ0OTIxOSAxNCAz
IEwgMTQgMTMgQyAxNCAxMy41NTA3ODEgMTMuNTUwNzgxIDE0IDEzIDE0IEwgMyAxNCBDIDIuNDQ5
MjE5IDE0IDIgMTMuNTUwNzgxIDIgMTMgTCAyIDMgQyAyIDIuNDQ5MjE5IDIuNDQ5MjE5IDIgMyAy
IEwgMTMgMiIvPgorICAgIDxwYXRoIGZpbGw9InJnYigxNTIsIDE4OCwgNzcpIiBkPSJNIDQuNzcz
NDM4IDExLjU0Mjk2OSBDIDMuODU1NDY5IDEwLjYyMTA5NCAzLjM5MDYyNSA5LjM0NzY1NiAzLjM5
MDYyNSA3Ljc2OTUzMSBDIDMuMzkwNjI1IDYuMTU2MjUgMy44NjMyODEgNC44Nzg5MDYgNC43ODkw
NjIgMy45NjQ4NDQgQyA1LjcxMDkzOCAzLjA1NDY4OCA3LjAwMzkwNiAyLjU5Mzc1IDguNjI1IDIu
NTkzNzUgQyA5LjU3MDMxMiAyLjU5Mzc1IDEwLjUxOTUzMSAyLjcwNzAzMSAxMS40NDE0MDYgMi45
Mjk2ODggQyAxMS44OTA2MjUgMy4wMzUxNTYgMTIuMjEwOTM4IDMuNDM3NSAxMi4yMTA5MzggMy45
MDIzNDQgTCAxMi4yMTA5MzggNS4xOTUzMTIgQyAxMi4yMTA5MzggNS41MTk1MzEgMTIuMDUwNzgx
IDUuODI0MjE5IDExLjc4OTA2MiA2LjAxMTcxOSBDIDExLjYxMzI4MSA2LjEzMjgxMiAxMS40MTAx
NTYgNi4xOTUzMTIgMTEuMjA3MDMxIDYuMTk1MzEyIEMgMTEuMDk3NjU2IDYuMTk1MzEyIDEwLjk4
NDM3NSA2LjE3OTY4OCAxMC44Nzg5MDYgNi4xNDA2MjUgQyAxMC4wMTU2MjUgNS44MzU5MzggOS4z
MDg1OTQgNS42ODM1OTQgOC43Njk1MzEgNS42ODM1OTQgQyA4LjA1ODU5NCA1LjY4MzU5NCA3Ljc1
MzkwNiA1Ljk0MTQwNiA3LjU4OTg0NCA2LjEzMjgxMiBDIDcuMjk2ODc1IDYuNDc2NTYyIDcuMTQ4
NDM4IDcuMDE5NTMxIDcuMTQ4NDM4IDcuNzQ2MDk0IEMgNy4xNDg0MzggOC40NDUzMTIgNy4zMDg1
OTQgOC45NzI2NTYgNy42MjEwOTQgOS4zMjAzMTIgQyA3LjgwODU5NCA5LjUyMzQzOCA4LjE0ODQz
OCA5Ljc5Njg3NSA4LjkyMTg3NSA5Ljc5Njg3NSBDIDkuNTQyOTY5IDkuNzk2ODc1IDEwLjE4NzUg
OS42MzI4MTIgMTAuODM5ODQ0IDkuMzA4NTk0IEMgMTAuOTgwNDY5IDkuMjQyMTg4IDExLjEzMjgx
MiA5LjIwNzAzMSAxMS4yODUxNTYgOS4yMDcwMzEgQyAxMS40Njg3NSA5LjIwNzAzMSAxMS42NDg0
MzggOS4yNTc4MTIgMTEuODEyNSA5LjM1OTM3NSBDIDEyLjEwNTQ2OSA5LjUzOTA2MiAxMi4yODUx
NTYgOS44NTkzNzUgMTIuMjg1MTU2IDEwLjIwNzAzMSBMIDEyLjI4NTE1NiAxMS40MjU3ODEgQyAx
Mi4yODUxNTYgMTEuODIwMzEyIDEyLjA1MDc4MSAxMi4xNzk2ODggMTEuNjkxNDA2IDEyLjMzOTg0
NCBDIDEwLjc5Mjk2OSAxMi43MzgyODEgOS43MzA0NjkgMTIuOTQxNDA2IDguNTI3MzQ0IDEyLjk0
MTQwNiBDIDYuOTU3MDMxIDEyLjk0MTQwNiA1LjY5MTQwNiAxMi40NzI2NTYgNC43NzM0MzggMTEu
NTQyOTY5Ii8+CisgICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0gMTEuMjg1MTU2IDExLjQyNTc4
MSBDIDEwLjUxNTYyNSAxMS43Njk1MzEgOS41OTc2NTYgMTEuOTQxNDA2IDguNTI3MzQ0IDExLjk0
MTQwNiBDIDcuMjI2NTYyIDExLjk0MTQwNiA2LjIxMDkzOCAxMS41NzQyMTkgNS40ODQzNzUgMTAu
ODM5ODQ0IEMgNC43NTc4MTIgMTAuMTA1NDY5IDQuMzk0NTMxIDkuMDgyMDMxIDQuMzk0NTMxIDcu
NzY5NTMxIEMgNC4zOTQ1MzEgNi40Mjk2ODggNC43NTc4MTIgNS4zOTg0MzggNS40OTIxODggNC42
NzU3ODEgQyA2LjIyMjY1NiAzLjk1NzAzMSA3LjI2OTUzMSAzLjU5Mzc1IDguNjI1IDMuNTkzNzUg
QyA5LjQ5MjE4OCAzLjU5Mzc1IDEwLjM1MTU2MiAzLjY5NTMxMiAxMS4yMTA5MzggMy45MDIzNDQg
TCAxMS4yMTA5MzggNS4xOTUzMTIgQyAxMC4yMzgyODEgNC44NTU0NjkgOS40MjU3ODEgNC42ODM1
OTQgOC43Njk1MzEgNC42ODM1OTQgQyA3LjkzMzU5NCA0LjY4MzU5NCA3LjI4NTE1NiA0Ljk0OTIx
OSA2LjgzMjAzMSA1LjQ4NDM3NSBDIDYuMzc1IDYuMDE1NjI1IDYuMTQ4NDM4IDYuNzY5NTMxIDYu
MTQ4NDM4IDcuNzQ2MDk0IEMgNi4xNDg0MzggOC43MDcwMzEgNi4zOTQ1MzEgOS40NTMxMjUgNi44
ODI4MTIgOS45OTIxODggQyA3LjM3MTA5NCAxMC41MjczNDQgOC4wNTA3ODEgMTAuNzk2ODc1IDgu
OTIxODc1IDEwLjc5Njg3NSBDIDkuNzAzMTI1IDEwLjc5Njg3NSAxMC40ODgyODEgMTAuNjAxNTYy
IDExLjI4NTE1NiAxMC4yMDcwMzEgWiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTGF5b3V0VGltZWxpbmVSZWNvcmQuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTGF5b3V0VGltZWxp
bmVSZWNvcmQuanMKaW5kZXggZjdlNDI0YTA5NTM5OTMyNjBiNGFmYjVlNWQ3ODEyNDc0ZWI5OWYw
ZC4uYzE4ZGNmN2RmNmU1YWVhNTE0NWFhM2UwMjIxNmNmNDEzOGJjZTdlNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0xheW91dFRpbWVsaW5l
UmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9MYXlvdXRUaW1lbGluZVJlY29yZC5qcwpAQCAtMjUsNyArMjUsNyBAQAogCiBXZWJJbnNwZWN0
b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQgPSBjbGFzcyBMYXlvdXRUaW1lbGluZVJlY29yZCBleHRl
bmRzIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZAogewotICAgIGNvbnN0cnVjdG9yKGV2ZW50
VHlwZSwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24s
IHgsIHksIHdpZHRoLCBoZWlnaHQsIHF1YWQpCisgICAgY29uc3RydWN0b3IoZXZlbnRUeXBlLCBz
dGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFtZXMsIHNvdXJjZUNvZGVMb2NhdGlvbiwgeCwgeSwg
d2lkdGgsIGhlaWdodCwgcXVhZCwgZHVyaW5nQ29tcG9zaXRlKQogICAgIHsKICAgICAgICAgc3Vw
ZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuTGF5b3V0LCBzdGFydFRpbWUsIGVu
ZFRpbWUsIGNhbGxGcmFtZXMsIHNvdXJjZUNvZGVMb2NhdGlvbik7CiAKQEAgLTQwLDYgKzQwLDcg
QEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkID0gY2xhc3MgTGF5b3V0VGltZWxp
bmVSZWNvcmQgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgdGhpcy5fd2lkdGggPSB0eXBlb2Yg
d2lkdGggPT09ICJudW1iZXIiID8gd2lkdGggOiBOYU47CiAgICAgICAgIHRoaXMuX2hlaWdodCA9
IHR5cGVvZiBoZWlnaHQgPT09ICJudW1iZXIiID8gaGVpZ2h0IDogTmFOOwogICAgICAgICB0aGlz
Ll9xdWFkID0gcXVhZCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5RdWFkID8gcXVhZCA6IG51bGw7
CisgICAgICAgIHRoaXMuX2R1cmluZ0NvbXBvc2l0ZSA9IGR1cmluZ0NvbXBvc2l0ZSB8fCBmYWxz
ZTsKICAgICB9CiAKICAgICAvLyBTdGF0aWMKQEAgLTU5LDYgKzYwLDggQEAgV2ViSW5zcGVjdG9y
LkxheW91dFRpbWVsaW5lUmVjb3JkID0gY2xhc3MgTGF5b3V0VGltZWxpbmVSZWNvcmQgZXh0ZW5k
cyBXZWJJbnNwZWMKICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxh
eW91dCIpOwogICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuUGFpbnQ6CiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJQYWludCIpOworICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29y
ZC5FdmVudFR5cGUuQ29tcG9zaXRlOgorICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5V
SVN0cmluZygiQ29tcG9zaXRlIik7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTEwNiw2ICsxMDks
MTEgQEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkID0gY2xhc3MgTGF5b3V0VGlt
ZWxpbmVSZWNvcmQgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgcmV0dXJuIHRoaXMuX3F1YWQ7
CiAgICAgfQogCisgICAgZ2V0IGR1cmluZ0NvbXBvc2l0ZSgpCisgICAgeworICAgICAgICByZXR1
cm4gdGhpcy5fZHVyaW5nQ29tcG9zaXRlOworICAgIH0KKwogICAgIHNhdmVJZGVudGl0eVRvQ29v
a2llKGNvb2tpZSkKICAgICB7CiAgICAgICAgIHN1cGVyLnNhdmVJZGVudGl0eVRvQ29va2llKGNv
b2tpZSk7CkBAIC0xMjAsNyArMTI4LDggQEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZSA9IHsKICAgICBJbnZhbGlkYXRlTGF5b3V0OiAibGF5b3V0LXRpbWVsaW5l
LXJlY29yZC1pbnZhbGlkYXRlLWxheW91dCIsCiAgICAgRm9yY2VkTGF5b3V0OiAibGF5b3V0LXRp
bWVsaW5lLXJlY29yZC1mb3JjZWQtbGF5b3V0IiwKICAgICBMYXlvdXQ6ICJsYXlvdXQtdGltZWxp
bmUtcmVjb3JkLWxheW91dCIsCi0gICAgUGFpbnQ6ICJsYXlvdXQtdGltZWxpbmUtcmVjb3JkLXBh
aW50IgorICAgIFBhaW50OiAibGF5b3V0LXRpbWVsaW5lLXJlY29yZC1wYWludCIsCisgICAgQ29t
cG9zaXRlOiAibGF5b3V0LXRpbWVsaW5lLXJlY29yZC1jb21wb3NpdGUiCiB9OwogCiBXZWJJbnNw
ZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuVHlwZUlkZW50aWZpZXIgPSAibGF5b3V0LXRpbWVs
aW5lLXJlY29yZCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVj
b3JkLmpzCmluZGV4IDAzYTFlNzMyODBiOGI4ZmI0NzBmYTU2NDc1MmRkODU4NTYzMzEyZGYuLjJi
NmRmN2FhYzdiZmYwY2ZhMTEzNmE5ZDRiMjg1MzMxNDBlMDMyMGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVs
aW5lUmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzCkBAIC04Myw5ICs4Myw5IEBAIFdl
Ykluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkID0gY2xhc3MgUmVuZGVyaW5n
RnJhbWVUaW1lbGluZVJlY29yZCBlCiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5SZW5k
ZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlLlNjcmlwdDoKICAgICAgICAgICAgICAg
ICByZXR1cm4gcmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBl
LlNjcmlwdDsKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGlt
ZWxpbmVSZWNvcmQuVGFza1R5cGUuTGF5b3V0OgotICAgICAgICAgICAgICAgIHJldHVybiByZWNv
cmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuTGF5b3V0ICYmIHJl
Y29yZC5ldmVudFR5cGUgIT09IFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5FdmVu
dFR5cGUuUGFpbnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZC50eXBlID09PSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5MYXlvdXQgJiYgcmVjb3JkLmV2ZW50VHlwZSAh
PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWludCAmJiBy
ZWNvcmQuZXZlbnRUeXBlICE9PSBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZl
bnRUeXBlLkNvbXBvc2l0ZTsKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlJlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVSZWNvcmQuVGFza1R5cGUuUGFpbnQ6Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5MYXlv
dXQgJiYgcmVjb3JkLmV2ZW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5QYWludDsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVjb3JkLmV2ZW50
VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5QYWlu
dCB8fCByZWNvcmQuZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLkNvbXBvc2l0ZTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAg
ICAgICAgY29uc29sZS5lcnJvcigiVW5zdXBwb3J0ZWQgdGFzayB0eXBlOiAiICsgdGFza1R5cGUp
OwogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEwNiwxNCArMTA2LDIxIEBAIFdl
Ykluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkID0gY2xhc3MgUmVuZGVyaW5n
RnJhbWVUaW1lbGluZVJlY29yZCBlCiAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzVmFs
dWUgKyBjdXJyZW50RHVyYXRpb247CiAgICAgICAgICAgICB9LCAwKTsKIAotICAgICAgICAgICAg
Ly8gVGltZSBzcGVudCBpbiBsYXlvdXQgZXZlbnRzIHdoaWNoIHdlcmUgc3luY2hyb25vdXNseSB0
cmlnZ2VyZWQgZnJvbSBKYXZhU2NyaXB0IG11c3QgYmUgZGVkdWN0ZWQgZnJvbSB0aGUKLSAgICAg
ICAgICAgIC8vIHJlbmRlcmluZyBmcmFtZSdzIHNjcmlwdCBkdXJhdGlvbiwgdG8gcHJldmVudCB0
aGUgdGltZSBmcm9tIGJlaW5nIGNvdW50ZWQgdHdpY2UuCiAgICAgICAgICAgICBpZiAodGFza1R5
cGUgPT09IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBl
LlNjcmlwdCkgeworICAgICAgICAgICAgICAgIC8vIExheW91dCBldmVudHMgc3luY2hyb25vdXNs
eSB0cmlnZ2VyZWQgZnJvbSBKYXZhU2NyaXB0IG11c3QgYmUgc3VidHJhY3RlZCBmcm9tIHRoZSB0
b3RhbAorICAgICAgICAgICAgICAgIC8vIHNjcmlwdCB0aW1lLCB0byBwcmV2ZW50IHRoZSB0aW1l
IGZyb20gYmVpbmcgY291bnRlZCB0d2ljZS4KICAgICAgICAgICAgICAgICBkdXJhdGlvbiAtPSB0
aGlzLl9jaGlsZHJlbi5yZWR1Y2UoZnVuY3Rpb24ocHJldmlvdXNWYWx1ZSwgY3VycmVudFZhbHVl
KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUudHlwZSA9PT0gV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuTGF5b3V0ICYmIChjdXJyZW50VmFsdWUuc291cmNl
Q29kZUxvY2F0aW9uIHx8IGN1cnJlbnRWYWx1ZS5jYWxsRnJhbWVzKSkKICAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlICsgY3VycmVudFZhbHVlLmR1cmF0aW9uOwog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZTsKICAgICAgICAgICAgICAg
ICB9LCAwKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodGFza1R5cGUgPT09IFdlYkluc3BlY3Rv
ci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlLlBhaW50KSB7CisgICAgICAg
ICAgICAgICAgLy8gUGFpbnQgZXZlbnRzIHRyaWdnZXJlZCBkdXJpbmcgYSBDb21wb3NpdGUgZXZl
bnQgbXVzdCBiZSBzdWJ0cmFjdGVkIGZyb20gdGhlIHRvdGFsIHBhaW50aW5nIHRpbWUsCisgICAg
ICAgICAgICAgICAgLy8gc2luY2UgdGhlIGNvbXBvc2l0aW5nIHRpbWUgYWxyZWFkeSBpbmNsdWRl
cyB0aW1lIHNwZW50IGluIHRoZXNlIFBhaW50IGV2ZW50cy4KKyAgICAgICAgICAgICAgICB2YXIg
cGFpbnRSZWNvcmRzID0gdGhpcy5fY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKHJlY29yZCkgeyBy
ZXR1cm4gcmVjb3JkLmV2ZW50VHlwZSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5QYWludDsgfSk7CisgICAgICAgICAgICAgICAgZHVyYXRpb24gLT0gcGFp
bnRSZWNvcmRzLnJlZHVjZShmdW5jdGlvbihwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpIHsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZS5kdXJpbmdDb21wb3NpdGUg
PyBwcmV2aW91c1ZhbHVlICsgY3VycmVudFZhbHVlLmR1cmF0aW9uIDogcHJldmlvdXNWYWx1ZTsK
KyAgICAgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRU
aW1lbGluZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggOTBlYzgxZjdl
MjJiZDNiNWFjNzVmOGFmNmIwYzFiNmU5MjBjYmM4MC4uZjFkOWZmMTNlMzgzOGFiNmEwMmJhNzVj
ZGNhYThjMmQ5MmIyYmUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lT3ZlcnZp
ZXdHcmFwaC5qcwpAQCAtMTA1LDcgKzEwNSw3IEBAIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGlu
ZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlID0gewogICAgICAgICB2YXIgbGF5b3V0VGltZWxpbmVS
ZWNvcmQgPSBldmVudC5kYXRhLnJlY29yZDsKICAgICAgICAgY29uc29sZS5hc3NlcnQobGF5b3V0
VGltZWxpbmVSZWNvcmQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNv
cmQpOwogCi0gICAgICAgIGlmIChsYXlvdXRUaW1lbGluZVJlY29yZC5ldmVudFR5cGUgPT09IFdl
Ykluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuUGFpbnQpCisgICAgICAg
IGlmIChsYXlvdXRUaW1lbGluZVJlY29yZC5ldmVudFR5cGUgPT09IFdlYkluc3BlY3Rvci5MYXlv
dXRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuUGFpbnQgfHwgbGF5b3V0VGltZWxpbmVSZWNvcmQu
ZXZlbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBl
LkNvbXBvc2l0ZSkKICAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUGFpbnRSZWNvcmRSb3cucmVj
b3Jkcy5wdXNoKGxheW91dFRpbWVsaW5lUmVjb3JkKTsKICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgdGhpcy5fdGltZWxpbmVMYXlvdXRSZWNvcmRSb3cucmVjb3Jkcy5wdXNoKGxheW91dFRpbWVs
aW5lUmVjb3JkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanMK
aW5kZXggNTQxNGMzNzI4ZjA5YTNlOTE4NmU2MWRjZTAyY2NjOWFmNjFlZGUzNy4uNTlkZTRmYWIx
NzE4OGRkZjRiMDA4NTBlNzFjYzJlYzU0ZjM1NzI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVy
aW5nRnJhbWVUaW1lbGluZVZpZXcuanMKQEAgLTIyNSw2ICsyMjUsNyBAQCBXZWJJbnNwZWN0b3Iu
UmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcucHJvdG90eXBlID0gewogCiAgICAgICAgICAgICAg
ICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZFJvd0luU29ydE9yZGVyKGxheW91dFRyZWVFbGVtZW50
LCBsYXlvdXREYXRhR3JpZE5vZGUsIHRyZWVFbGVtZW50KTsKICAgICAgICAgICAgICAgICB9IGVs
c2UgaWYgKGNoaWxkUmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5U
eXBlLlNjcmlwdCkgeworICAgICAgICAgICAgICAgICAgICB2YXIgcm9vdE5vZGVzID0gW107CiAg
ICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZFJlY29yZC5wcm9maWxlKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCB1c2luZyB0aGUgYm90dG9tLXVwIHRyZWUg
b25jZSBpdCBpcyBpbXBsZW1lbnRlZC4KICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3ROb2Rl
cyA9IGNoaWxkUmVjb3JkLnByb2ZpbGUudG9wRG93blJvb3ROb2RlczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lSWNvbnMuY3Nz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVJY29u
cy5jc3MKaW5kZXggM2M1NTQzYWRjNjdkNjc4YmIxOWZmY2IxNDk2Y2I5ZWVkZjUzMzA2Ni4uNDli
MWY0YmM0ODVhMmE4MTk3ZWVmOTBiNmU5ODI0MTg3NzE3MjIwZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVJY29ucy5jc3MKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVJY29u
cy5jc3MKQEAgLTc1LDYgKzc1LDEwIEBACiAgICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9UaW1l
bGluZVJlY29yZFBhaW50LnN2Zyk7CiB9CiAKKy5jb21wb3NpdGUtcmVjb3JkIC5pY29uIHsKKyAg
ICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL1RpbWVsaW5lUmVjb3JkQ29tcG9zaXRlLnN2Zyk7Cit9
CisKIC5yZW5kZXJpbmctZnJhbWUtcmVjb3JkIC5pY29uIHsKICAgICBjb250ZW50OiB1cmwoLi4v
SW1hZ2VzL1RpbWVsaW5lUmVjb3JkUmVuZGVyaW5nRnJhbWUuc3ZnKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3Jk
QmFyLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lUmVjb3JkQmFyLmNzcwppbmRleCAyMDBjODE2N2IwNzM2MDcyYzVkMTljYjg4ZGZjYmQxZWUz
YzM5ODU3Li5iZjViNjg2YjRiZDdkYjQ3ZWQzMWFkNjU3ZWFmOTJjNTg5NTg1ZjVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJl
Y29yZEJhci5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVSZWNvcmRCYXIuY3NzCkBAIC04Nyw3ICs4Nyw5IEBACiAgICAgYm9yZGVyLWNv
bG9yOiByZ2IoMjEyLCAxMDgsIDEwOCk7CiB9CiAKLS50aW1lbGluZS1yZWNvcmQtYmFyLnRpbWVs
aW5lLXJlY29yZC10eXBlLWxheW91dC5sYXlvdXQtdGltZWxpbmUtcmVjb3JkLXBhaW50ID4gLnNl
Z21lbnQgeworCisudGltZWxpbmUtcmVjb3JkLWJhci50aW1lbGluZS1yZWNvcmQtdHlwZS1sYXlv
dXQubGF5b3V0LXRpbWVsaW5lLXJlY29yZC1wYWludCA+IC5zZWdtZW50LAorLnRpbWVsaW5lLXJl
Y29yZC1iYXIudGltZWxpbmUtcmVjb3JkLXR5cGUtbGF5b3V0LmxheW91dC10aW1lbGluZS1yZWNv
cmQtY29tcG9zaXRlID4gLnNlZ21lbnQgewogICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNzYs
IDIwNCwgMTA1KTsKICAgICBib3JkZXItY29sb3I6IHJnYigxNTIsIDE4OCwgNzcpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVSZWNvcmRUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanMKaW5kZXggZTk0YzcyODg1MTk2
YzdkYTU5OGViZjFhNjBmNjg5ZjFkOTQ4ZDAzNC4uNDYwM2Y2MTNhOThjNGQ4Nzk1ZGY1NDZlNGUx
NzYxYzk0MjljMDE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50
LmpzCkBAIC02Miw2ICs2Miw5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVt
ZW50ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCBleHRlbmRzCiAgICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuUGFpbnQ6
CiAgICAgICAgICAgICAgICAgaWNvblN0eWxlQ2xhc3MgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmRUcmVlRWxlbWVudC5QYWludFJlY29yZEljb25TdHlsZUNsYXNzOwogICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVS
ZWNvcmQuRXZlbnRUeXBlLkNvbXBvc2l0ZToKKyAgICAgICAgICAgICAgICBpY29uU3R5bGVDbGFz
cyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkNvbXBvc2l0ZVJlY29y
ZEljb25TdHlsZUNsYXNzOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVm
YXVsdDoKICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJVbmtub3duIExheW91dFRpbWVs
aW5lUmVjb3JkIGV2ZW50VHlwZTogIiArIHRpbWVsaW5lUmVjb3JkLmV2ZW50VHlwZSwgdGltZWxp
bmVSZWNvcmQpOwogICAgICAgICAgICAgfQpAQCAtMTU3LDYgKzE2MCw3IEBAIFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRUcmVlRWxl
bWVudCBleHRlbmRzCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5TdHls
ZVJlY29yZEljb25TdHlsZUNsYXNzID0gInN0eWxlLXJlY29yZCI7CiBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSZWNvcmRUcmVlRWxlbWVudC5MYXlvdXRSZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJsYXlv
dXQtcmVjb3JkIjsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LlBhaW50
UmVjb3JkSWNvblN0eWxlQ2xhc3MgPSAicGFpbnQtcmVjb3JkIjsKK1dlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZFRyZWVFbGVtZW50LkNvbXBvc2l0ZVJlY29yZEljb25TdHlsZUNsYXNzID0gImNv
bXBvc2l0ZS1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQu
UmVuZGVyaW5nRnJhbWVSZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJyZW5kZXJpbmctZnJhbWUtcmVj
b3JkIjsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZFRyZWVFbGVtZW50LkV2YWx1YXRlZFJl
Y29yZEljb25TdHlsZUNsYXNzID0gImV2YWx1YXRlZC1yZWNvcmQiOwogV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuRXZlbnRSZWNvcmRJY29uU3R5bGVDbGFzcyA9ICJldmVu
dC1yZWNvcmQiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KaW5kZXggOTgy
YWU4NTdlMmU4N2Q2MDJlMzM5Y2U3NjYwNzdhMjIxNTQ2ZTM4NC4uNGRkMGNkMDY1NDdjYWFhZWZj
M2U4NTUzN2I2MGQzYzRlNTljYTY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLm1tCkBAIC00MCw4ICs0MCwxMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9EZWJ1Z1BhZ2VPdmVy
bGF5cy5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFt
ZVZpZXcuaD4KKyNpbXBvcnQgPFdlYkNvcmUvSW5zcGVjdG9yQ29udHJvbGxlci5oPgogI2ltcG9y
dCA8V2ViQ29yZS9NYWluRnJhbWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZU92ZXJsYXlDb250
cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1F1YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlclZp
ZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2V0dGluZ3MuaD4KQEAgLTM1OSw2ICszNjEsMTIgQEAg
dm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMoKQogICAgIEZsb2F0
UmVjdCB2aXNpYmxlUmVjdChGbG9hdFBvaW50KCksIG1fdmlld1NpemUpOwogICAgIHZpc2libGVS
ZWN0LmludGVyc2VjdChtX3Njcm9sbGVkRXhwb3NlZFJlY3QpOwogCisjaWYgKFRBUkdFVF9PU19J
UEhPTkUgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gOTAwMDApIHx8IChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMTAw
KQorICAgIFtDQVRyYW5zYWN0aW9uIGFkZENvbW1pdEhhbmRsZXI6XnsKKyAgICAgICAgbV93ZWJQ
YWdlLmNvcmVQYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS5kaWRDb21wb3NpdGUobV93ZWJQ
YWdlLm1haW5GcmFtZVZpZXcoKS0+ZnJhbWUoKSk7CisgICAgfSBmb3JQaGFzZTprQ0FUcmFuc2Fj
dGlvblBoYXNlUG9zdENvbW1pdF07CisjZW5kaWYKKwogICAgIG1fd2ViUGFnZS5tYWluRnJhbWVW
aWV3KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwogCiAgICAg
Ly8gQmVjYXVzZSBvdXIgdmlldy1yZWxhdGl2ZSBvdmVybGF5IHJvb3QgbGF5ZXIgaXMgbm90IGF0
dGFjaGVkIHRvIHRoZSBGcmFtZVZpZXcncyBHcmFwaGljc0xheWVyIHRyZWUsIHdlIG5lZWQgdG8g
Zmx1c2ggaXQgbWFudWFsbHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YS5tbQppbmRleCBmODI0YWFjY2IzZjlkYzBlYzM5ZWYzNmI0ZTZlN2RiMTk4ZjFhOTI2Li40ODU0
NDFjMmVlZDcwZGRmNjU2YmU2OWQ1MWI3MThlMzg3ZDE1M2RjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRD
b3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTQzLDEwICs0MywxMiBAQAogI2ltcG9ydCA8
V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXJDQS5oPgorI2ltcG9ydCA8V2ViQ29yZS9J
bnNwZWN0b3JDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL01hY2hTZW5kUmlnaHQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvTWFpbkZyYW1lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1DQUFuaW1hdGlvbkNvY29hLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL1F1YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyTGF5ZXJCYWNr
aW5nLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlckxheWVyQ29tcG9zaXRvci5oPgogI2ltcG9y
dCA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CkBAIC0zODgsNiArMzkwLDEyIEBAIGJvb2wgVGlsZWRD
b3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKCkKICAgICAgICAgaWYgKG1fdmll
d092ZXJsYXlSb290TGF5ZXIpCiAgICAgICAgICAgICBtX3ZpZXdPdmVybGF5Um9vdExheWVyLT5m
bHVzaENvbXBvc2l0aW5nU3RhdGUodmlzaWJsZVJlY3QpOwogCisjaWYgKFRBUkdFVF9PU19JUEhP
TkUgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gOTAwMDApIHx8IChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMTAwKQor
ICAgICAgICBbQ0FUcmFuc2FjdGlvbiBhZGRDb21taXRIYW5kbGVyOl57CisgICAgICAgICAgICBt
X3dlYlBhZ2UuY29yZVBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLmRpZENvbXBvc2l0ZSht
X3dlYlBhZ2UubWFpbkZyYW1lVmlldygpLT5mcmFtZSgpKTsKKyAgICAgICAgfSBmb3JQaGFzZTpr
Q0FUcmFuc2FjdGlvblBoYXNlUG9zdENvbW1pdF07CisjZW5kaWYKKwogICAgICAgICBib29sIHJl
dHVyblZhbHVlID0gbV93ZWJQYWdlLm1haW5GcmFtZVZpZXcoKS0+Zmx1c2hDb21wb3NpdGluZ1N0
YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCk7CiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAg
ICAgICAgaWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IG1f
d2ViUGFnZS5jb3JlUGFnZSgpLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>