<?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>154000</bug_id>
          
          <creation_ts>2016-02-08 12:12:46 -0800</creation_ts>
          <short_desc>Web Inspector: eliminate the linear and rendering frames TimelineOverview subclasses</short_desc>
          <delta_ts>2016-02-15 15:57:30 -0800</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>WebKit 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>
          
          <blocked>153034</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1162974</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-02-08 12:12:46 -0800</bug_when>
    <thetext>* SUMMARY
Eliminate the linear and rendering frames TimelineOverview subclasses. TimelineRecordingContentView maintains two separate overviews, and switches between them depending on the view mode (Timelines vs Rendering Frames). This seems overly complicated, since the two subclasses only differ in the settings they provide (selection, zoom level, ruler snapping, etc). TimelineOverview should encapsulate the ViewMode, rather than the sidebar, and maintain settings for each mode.

This change is motivated in part by https://bugs.webkit.org/show_bug.cgi?id=153034. Moving the timelines tree outline into the overview is made more awkward by the existence of two separate overview classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1162975</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-08 12:13:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/24553105&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164878</commentid>
    <comment_count>2</comment_count>
      <attachid>271369</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-02-15 13:46:39 -0800</bug_when>
    <thetext>Created attachment 271369
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164891</commentid>
    <comment_count>3</comment_count>
      <attachid>271369</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-02-15 14:07:36 -0800</bug_when>
    <thetext>Comment on attachment 271369
[Patch] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineOverview.js:34
&gt; +        this._timelinesSettings = this._createViewModeSettings(WebInspector.TimelineOverview.ViewMode.Timelines, 0.0001, 60, 0.01, 0, 15);

_timelinesViewModeSettings would read better than two plural nouns.

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineOverview.js:39
&gt; +            this._renderingFramesSettings = this._createViewModeSettings(WebInspector.TimelineOverview.ViewMode.RenderingFrames, minimumDurationPerPixel, maximumDurationPerPixel, minimumDurationPerPixel, 0, 100);

_renderingFramesViewModeSettings

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineOverview.js:653
&gt; +        else
&gt; +            timelineViewMode = WebInspector.TimelineOverview.ViewMode.Timelines;

Could make this the default assignment for the let, and just keep the if without an else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164913</commentid>
    <comment_count>4</comment_count>
      <attachid>271377</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2016-02-15 15:06:13 -0800</bug_when>
    <thetext>Created attachment 271377
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164935</commentid>
    <comment_count>5</comment_count>
      <attachid>271377</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-15 15:57:26 -0800</bug_when>
    <thetext>Comment on attachment 271377
[Patch] Proposed Fix

Clearing flags on attachment: 271377

Committed r196606: &lt;http://trac.webkit.org/changeset/196606&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164936</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-15 15:57:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271369</attachid>
            <date>2016-02-15 13:46:39 -0800</date>
            <delta_ts>2016-02-15 15:06:08 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-154000-20160215134618.patch</filename>
            <type>text/plain</type>
            <size>74262</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAy
YmY1OTUwYTcyM2NhZmUxNjU4NTMwNjMyYzI2ZjZjYjMxZjk5MDYxLi42OGQ2MTQ4MDQxZDg1ZWE1
YTBhMDk1MTYxMmY4ZTM5OTcyNzU0NzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNDAgQEAKKzIwMTYtMDItMTUgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGVsaW1pbmF0ZSB0aGUgbGluZWFyIGFuZCByZW5k
ZXJpbmcgZnJhbWVzIFRpbWVsaW5lT3ZlcnZpZXcgc3ViY2xhc3NlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MDAwCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yNDU1MzEwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIHBhdGNoIGVsaW1pbmF0ZXMgdGhlIFRpbWVsaW5lT3ZlcnZpZXcgc3Vi
Y2xhc3NlcywgYW5kIG1vdmVzIGxvZ2ljIGZvciBzd2l0Y2hpbmcgYmV0d2VlbgorICAgICAgICBh
IHRpbWUtYmFzZWQgb3IgZnJhbWUtYmFzZWQgZ3JhcGggaW50byB0aGUgb3ZlcnZpZXcgaXRzZWxm
LiBUaGUgdmFsdWVzIG9mIHRoZSBvdmVydmlldydzIHN0YXJ0CisgICAgICAgIHRpbWUsIGN1cnJl
bnQgdGltZSwgYW5kIGVuZCB0aW1lIG5vdyBtYXRjaCB0aGUgdmFsdWVzIGluIHRoZSB0aW1lbGlu
ZSByZWNvcmRpbmcgcmVnYXJkbGVzcyBvZiB0aGUKKyAgICAgICAgY3VycmVudCB2aWV3IG1vZGUu
IFdoZW4gdmlld2luZyB0aGUgcmVuZGVyaW5nIGZyYW1lcyBncmFwaCwgdGhlIHJlY29yZGluZyB0
aW1lcyBhcmUgaWdub3JlZCBhbmQKKyAgICAgICAgYWxsIGZyYW1lcyBhcmUgaW5jbHVkZWQuIFRo
ZSBvdmVydmlldyBtYWludGFpbnMgc2VwYXJhdGUgem9vbSBsZXZlbCBhbmQgcnVsZXIgc2VsZWN0
aW9uIHNldHRpbmdzCisgICAgICAgIGZvciBlYWNoIHZpZXcgbW9kZS4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTGlu
ZWFyVGltZWxpbmVPdmVydmlldy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldy5qczogUmVtb3ZlZC4KKyAgICAg
ICAgUmVtb3ZlZCBUaW1lbGluZU92ZXJ2aWV3IHN1YmNsYXNzZXMuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBo
LnByb3RvdHlwZS5nZXQgaGVpZ2h0KToKKyAgICAgICAgU2V0IEZQUyBncmFwaCBoZWlnaHQgdG8g
MTA4IHBpeGVscy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVy
dmlldy5jc3M6CisgICAgICAgICgudGltZWxpbmUtb3ZlcnZpZXc6bm90KC5mcmFtZXMpID4gLmdy
YXBocy1jb250YWluZXIgPiAudGltZWxpbmUtb3ZlcnZpZXctZ3JhcGg6bnRoLWNoaWxkKGV2ZW4p
KToKKyAgICAgICAgKC50aW1lbGluZS1vdmVydmlldzpub3QoLmZyYW1lcykgPiAuZ3JhcGhzLWNv
bnRhaW5lciA+IC50aW1lbGluZS1vdmVydmlldy1ncmFwaDpub3QoOmZpcnN0LWNoaWxkKSk6Cisg
ICAgICAgICgudGltZWxpbmUtb3ZlcnZpZXcgPiAuZ3JhcGhzLWNvbnRhaW5lciA+IC50aW1lbGlu
ZS1vdmVydmlldy1ncmFwaDpudGgtY2hpbGQoZXZlbikpOiBEZWxldGVkLgorICAgICAgICAoLnRp
bWVsaW5lLW92ZXJ2aWV3ID4gLmdyYXBocy1jb250YWluZXIgPiAudGltZWxpbmUtb3ZlcnZpZXct
Z3JhcGg6bm90KDpmaXJzdC1jaGlsZCkpOiBEZWxldGVkLgorICAgICAgICBEaXNhYmxlIGFsdGVy
bmF0aW5nIGdyYXBoIHN0eWxlcyB3aGVuIHNob3dpbmcgRlBTIGluc3RydW1lbnQuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyk6CisgICAgICAgIENyZWF0ZSBzZXBhcmF0ZSBz
ZXR0aW5ncyBmb3IgdGltZWxpbmVzIGFuZCBGUFMgdmlldyBtb2Rlcy4KKyAgICAgICAgKFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5nZXQgdmlld01vZGUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNldCB2aWV3TW9kZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuc2V0IHN0
YXJ0VGltZSk6CisgICAgICAgIEFkanVzdCB0aGUgY3VycmVudCBydWxlciBzZWxlY3Rpb24gd2hl
biBzdGFydCB0aW1lIGNoYW5nZXMuIE5vdCBuZWNlc3NhcnkKKyAgICAgICAgd2hlbiBzaG93aW5n
IHRoZSBGUFMgaW5zdHJ1bWVudCwgd2hpY2ggZG9lc24ndCBoYXZlIGEgc3RhcnQgdGltZS4KKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5nZXQgc2Vjb25k
c1BlclBpeGVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3Rv
dHlwZS5zZXQgc2Vjb25kc1BlclBpeGVsKToKKyAgICAgICAgTm93IGEgd3JhcHBlciBhcm91bmQg
dGhlIGNvcnJlc3BvbmRpbmcgdmlldyBtb2RlIHNldHRpbmcuCisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuc2V0IHBpeGVsQWxpZ25EdXJhdGlvbik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuZ2V0IHNjcm9s
bFN0YXJ0VGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90
b3R5cGUuc2V0IHNjcm9sbFN0YXJ0VGltZSk6CisgICAgICAgIE5vdyBhIHdyYXBwZXIgYXJvdW5k
IHRoZSBjb3JyZXNwb25kaW5nIHZpZXcgbW9kZSBzZXR0aW5nLgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLmdldCB2aXNpYmxlRHVyYXRpb24pOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLmdldCBoZWlnaHQp
OgorICAgICAgICBSZXR1cm4gdGhlIHN1bSBoZWlnaHQgb2YgYWxsIHZpc2libGUgb3ZlcnZpZXcg
Z3JhcGhzLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBl
LnNob3duKToKKyAgICAgICAgU2hvdyBvdmVydmlldyBncmFwaHMgZm9yIHRoZSBjdXJyZW50IHZp
ZXcgbW9kZS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlw
ZS5oaWRkZW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90
eXBlLnJlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3Rv
dHlwZS5yZWNvcmRXYXNGaWx0ZXJlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlldy5wcm90b3R5cGUuc2VsZWN0UmVjb3JkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS51cGRhdGVMYXlvdXRJZk5lZWRlZCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUubGF5b3V0KToKKyAgICAg
ICAgTGF5b3V0IGZvciBib3RoIHZpZXcgbW9kZXMgaXMgbGFyZ2VseSBpZGVudGljYWwsIGFuZCBk
aWZmZXJzIG9ubHkgaW4gdGhlIHRyZWF0bWVudAorICAgICAgICBvZiB0aGUgb3ZlcnZpZXcncyBz
dGFydCB0aW1lLCBjdXJyZW50IHRpbWUsIGFuZCBlbmQgdGltZS4gVGltZS1iYXNlZCBpbnN0cnVt
ZW50cworICAgICAgICB1c2UgdGltZSB2YWx1ZXMgZnJvbSB0aGUgcmVjb3JkaW5nLCB3aGlsZSB0
aGUgRlBTIGluc3RydW1lbnQgaGFzIGEgZml4ZWQgc3RhcnQgdGltZQorICAgICAgICBvZiB6ZXJv
LCBhbmQgYSBjdXJyZW50IGFuZCBlbmQgdGltZSBwaW5uZWQgdG8gdGhlIGxhc3QgcmVuZGVyaW5n
IGZyYW1lLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBl
Ll9oYW5kbGVTY3JvbGxFdmVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVy
dmlldy5wcm90b3R5cGUuX2hhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXcuX2hhbmRsZUdlc3R1cmVTdGFydCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuX2hhbmRsZUdlc3R1cmVDaGFuZ2UpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl9pbnN0cnVt
ZW50QWRkZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90
eXBlLl9pbnN0cnVtZW50UmVtb3ZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlldy5wcm90b3R5cGUuX3RpbWVsaW5lUnVsZXJNb3VzZUNsaWNrZWQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl90aW1lUmFuZ2VTZWxlY3Rp
b25DaGFuZ2VkKToKKyAgICAgICAgU2F2ZSB0aGUgc2VsZWN0aW9uIGZvciB0aGUgY3VycmVudCB2
aWV3IG1vZGUuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5
cGUuX3JlY29yZFNlbGVjdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3LnByb3RvdHlwZS5fcmVzZXRTZWxlY3Rpb24ucmVzZXQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl9yZXNldFNlbGVjdGlvbik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuX2NhblNob3dUaW1lbGlu
ZVR5cGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBl
Ll92aWV3TW9kZURpZENoYW5nZSk6CisgICAgICAgIFNldHMgem9vbSBsZXZlbCwgcnVsZXIgc2Vs
ZWN0aW9uLCBhbmQgZ3JhcGggdmlzaWJpbGl0eSBiYXNlZCBvbiBjdXJyZW50IHZpZXcgbW9kZS4K
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5fY3JlYXRl
Vmlld01vZGVTZXR0aW5ncyk6CisgICAgICAgIEhlbHBlciBmdW5jdGlvbiBmb3IgY3JlYXRpbmcg
YW4gb2JqZWN0IHRvIHRyYWNrIHRoZSB6b29tIGxldmVsIGFuZCBydWxlcgorICAgICAgICBzZWxl
Y3Rpb24gb2YgZWFjaCB2aWV3IG1vZGUuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlldy5wcm90b3R5cGUuZ2V0IF9jdXJyZW50U2V0dGluZ3MpOgorICAgICAgICBJbnRlcm5h
bCBnZXR0ZXIgZm9yIHJldHJpZXZpbmcgdGhlIHNldHRpbmdzIGZvciB0aGUgY3VycmVudCB2aWV3
IG1vZGUuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUu
Y2FuU2hvd1RpbWVsaW5lKTogRGVsZXRlZC4KKyAgICAgICAgTm90IG5lZWRlZCBub3cgdGhhdCB0
aGUgb3ZlcnZpZXcgY29udGFpbnMgYWxsIHRpbWVsaW5lcy4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlld0dyYXBoLnByb3RvdHlwZS5zaG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlld0dyYXBoLnByb3RvdHlwZS5oaWRkZW4pOgorICAgICAgICBUb2dnbGUg
Q1NTIGhpZGRlbiBjbGFzcy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVSZWNvcmRGcmFtZS5qczoKKyAgICAgICAgTm8gbmVlZCB0byBxdWVyeSBvZmZzZXRIZWlnaHQg
bm93IHRoYXQgVGltZWxpbmVPdmVydmlld0dyYXBoIGhhcyBhIGhlaWdodCBwcm9wZXJ0eS4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3
KToKKyAgICAgICAgQ3JlYXRlIGEgc2luZ2xlIHRpbWVsaW5lIG92ZXJ2aWV3LgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLmdldCB0
aW1lbGluZU92ZXJ2aWV3SGVpZ2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJl
Y29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuaGlkZGVuKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5y
ZWNvcmRXYXNGaWx0ZXJlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRp
bmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2N1cnJlbnRDb250ZW50Vmlld0RpZENoYW5nZSk6Cisg
ICAgICAgIFVwZGF0ZSB0aGUgdGltZWxpbmUgIG92ZXJ2aWV3J3MgbW9kZSBiYXNlZCBvbiB0aGUg
Y3VycmVudCB0aW1lbGluZSB2aWV3LgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl9jb250ZW50Vmlld1NlbGVjdGlvblBhdGhDb21w
b25lbnREaWRDaGFuZ2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5n
Q29udGVudFZpZXcucHJvdG90eXBlLl91cGRhdGVUaW1lcyk6CisgICAgICAgIFJlbW92ZWQgc3Bl
Y2lhbCBoYW5kbGluZyBmb3IgdGhlIEZQUyBvdmVydmlldy4KKyAgICAgICAgUmVtb3ZlZCBzZWxl
Y3Rpb24gc3RhcnQgdGltZSBhZGp1c3RtZW50LCB3aGljaCBpcyBub3cgaGFuZGxlZCBpbnRlcm5h
bGx5IGJ5IFRpbWVsaW5lT3ZlcnZpZXcuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX3VwZGF0ZVRpbWVsaW5lT3ZlcnZpZXdIZWln
aHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcu
cHJvdG90eXBlLl9yZWNvcmRpbmdSZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX3RpbWVSYW5nZVNlbGVjdGlvbkNoYW5n
ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcu
cHJvdG90eXBlLl91cGRhdGVGcmFtZVNlbGVjdGlvbik6CisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lU2lkZWJhclBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVNp
ZGViYXJQYW5lbC5wcm90b3R5cGUubWF0Y2hUcmVlRWxlbWVudEFnYWluc3RDdXN0b21GaWx0ZXJz
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5wcm90b3R5cGUu
c2F2ZVN0YXRlVG9Db29raWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJh
clBhbmVsLnByb3RvdHlwZS5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZVRpbWVzVXBkYXRlZCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9jb250
ZW50QnJvd3NlckN1cnJlbnRDb250ZW50Vmlld0RpZENoYW5nZSk6CisgICAgICAgIFJlZnJlc2gg
dGhlIHZpZXcgbW9kZSB3aGVuIHRoZSBjb250ZW50IHZpZXcgY2hhbmdlcy4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5wcm90b3R5cGUuX3JlY29yZGluZ1NlbGVj
dGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5wcm90b3R5
cGUuX3ZpZXdNb2RlU2VsZWN0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lk
ZWJhclBhbmVsLnByb3RvdHlwZS5fdmlld01vZGVGb3JUaW1lbGluZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJvdG90eXBlLl91cGRhdGVWaWV3TW9kZUlm
TmVlZGVkKToKKyAgICAgICAgU3luYyB0aGUgdHJlZSBvdXRsaW5lLCBmcmFtZXMgY2hhcnQsIGFu
ZCBuYXZpZ2F0aW9uIGJhciB3aXRoIHRoZSBjdXJyZW50IHZpZXcgbW9kZS4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5wcm90b3R5cGUuc2hvd24pOgorICAgICAg
ICBSZWZyZXNoaW5nIHRoZSBmcmFtZSBzZWxlY3Rpb24gaXMgdW5uZWNlc3NhcnkuIEl0J3MgdXBk
YXRlZCBieSB0aGUgcmVjb3JkaW5nIGNvbnRlbnQKKyAgICAgICAgdmlldyB3aGVuZXZlciB0aGUg
cnVsZXIgc2VsZWN0aW9uIGNoYW5nZXMuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVT
aWRlYmFyUGFuZWwucHJvdG90eXBlLmdldCB2aWV3TW9kZSk6IERlbGV0ZWQuCisgICAgICAgIE5v
IGxvbmdlciBwdWJsaWMsIHNpbmNlIHRoZSB0aW1lbGluZSBvdmVydmlldyBub3cgb3ducyB0aGUg
dmlldyBtb2RlLiBJbnRlcm5hbGx5IHRoZSBzaWRlYmFyCisgICAgICAgIHN0aWxsIHRyYWNrcyB0
aGUgY3VycmVudCBzdGF0ZSBzbyBpdCBjYW4gZGV0ZXJtaW5lIHdoZW4gdGhlIHZhbHVlIGhhcyBj
aGFuZ2VkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLnByb3Rv
dHlwZS5zaG93VGltZWxpbmVPdmVydmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVTaWRlYmFyUGFuZWwucHJvdG90eXBlLnNob3dUaW1lbGluZVZpZXdGb3JUaW1lbGluZSk6Cisg
ICAgICAgIFRoZSBzaWRlYmFyIHNob3VsZCBvbmx5IGJlIHN5bmNlZCB0byB0aGUgb3ZlcnZpZXcg
YWZ0ZXIgdGhlIGNvbnRlbnQgdmlldyBoYXMgY2hhbmdlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5UaW1lbGluZVNpZGViYXJQYW5lbC5wcm90b3R5cGUudXBkYXRlRnJhbWVTZWxlY3Rpb24pOgor
ICAgICAgICBSZW1vdmVkIHVubmVjZXNzYXJ5IGFzc2VydGlvbi4KKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5wcm90b3R5cGUuX2NoYW5nZVZpZXdNb2RlKTogRGVs
ZXRlZC4KKyAgICAgICAgUmVwbGFjZWQgYnkgX3VwZGF0ZVZpZXdNb2RlSWZOZWVkZWQuCisKIDIw
MTYtMDItMTUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFNob3cgaW5oZXJpdGVkIENTUyB2YXJpYWJsZXMgaW4gdGhlIFN0eWxl
IHNpZGViYXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRt
bAppbmRleCBmMDdmNWQxNjhjNTZlYWNkM2I2NjI0MTQ3NjA3NjBjZDY2ODNmMzM0Li44YmNjZjNl
NTYyOTEzMzMyNWY3ZDU4NzRiNDE5MGMzOWE0OGM0ZDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC01MTgsNyArNTE4LDYgQEAKICAgICA8
c2NyaXB0IHNyYz0iVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dyYXBoLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvTGF5b3V0VGltZWxpbmVWaWV3LmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvTGluZUNoYXJ0LmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0IHNyYz0iVmlld3MvTGluZWFyVGltZWxpbmVPdmVydmlldy5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9IlZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iVmlld3MvTG9nVHJlZUVsZW1lbnQuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJWaWV3cy9NZW1vcnlDYXRlZ29yeVZpZXcuanMiPjwvc2NyaXB0PgpAQCAtNTQ4LDcg
KzU0Nyw2IEBACiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1F1aWNrQ29uc29sZU5hdmlnYXRpb25C
YXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9SYWRpb0J1dHRvbk5hdmln
YXRpb25JdGVtLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmVuZGVyaW5n
RnJhbWVUaW1lbGluZURhdGFHcmlkTm9kZS5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9
IlZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldy5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IlZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGlu
ZVZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9SZXBsYXlEYXNoYm9h
cmRWaWV3LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MaW5lYXJUaW1lbGluZU92ZXJ2aWV3Lmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMmVhNjk0NTkxZWVmNmJmNTA2MDYzYTE1
MWM2Mjk1ZmI4ODM0MjdkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xpbmVhclRp
bWVsaW5lT3ZlcnZpZXcuanMKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotV2ViSW5zcGVjdG9yLkxpbmVhclRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBMaW5lYXJU
aW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcKLXsK
LSAgICBjb25zdHJ1Y3Rvcih0aW1lbGluZVJlY29yZGluZykKLSAgICB7Ci0gICAgICAgIHZhciBk
ZWZhdWx0U2V0dGluZ3NWYWx1ZXMgPSB7Ci0gICAgICAgICAgICBkdXJhdGlvblBlclBpeGVsOiAw
LjAxLAotICAgICAgICAgICAgc2VsZWN0aW9uU3RhcnRWYWx1ZTogMCwKLSAgICAgICAgICAgIHNl
bGVjdGlvbkR1cmF0aW9uOiAxNQotICAgICAgICB9OwotCi0gICAgICAgIHN1cGVyKCJsaW5lYXIi
LCB0aW1lbGluZVJlY29yZGluZywgMC4wMDAxLCAyLCBkZWZhdWx0U2V0dGluZ3NWYWx1ZXMpOwot
ICAgIH0KLQotICAgIC8vIFByb3RlY3RlZAotCi0gICAgY2FuU2hvd1RpbWVsaW5lKHRpbWVsaW5l
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRpbWVsaW5lLnR5cGUgIT09IFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lOwotICAgIH0KLX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lT3ZlcnZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDBmOGFkNGUzYzQ1YmM4ZmI2OWU4ZDY3Zjg0N2I5ZDJhOTdhZWQ3ZTcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92
ZXJ2aWV3LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVdl
Ykluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBSZW5kZXJp
bmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVy
dmlldwotewotICAgIGNvbnN0cnVjdG9yKHRpbWVsaW5lUmVjb3JkaW5nKQotICAgIHsKLSAgICAg
ICAgdmFyIG1pbmltdW1EdXJhdGlvblBlclBpeGVsID0gMSAvIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJlY29yZEZyYW1lLk1heGltdW1XaWR0aFBpeGVsczsKLSAgICAgICAgdmFyIG1heGltdW1EdXJh
dGlvblBlclBpeGVsID0gMSAvIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1pbmlt
dW1XaWR0aFBpeGVsczsKLSAgICAgICAgdmFyIGRlZmF1bHRTZXR0aW5nc1ZhbHVlcyA9IHsKLSAg
ICAgICAgICAgIGR1cmF0aW9uUGVyUGl4ZWw6IG1pbmltdW1EdXJhdGlvblBlclBpeGVsLAotICAg
ICAgICAgICAgc2VsZWN0aW9uU3RhcnRWYWx1ZTogMCwKLSAgICAgICAgICAgIHNlbGVjdGlvbkR1
cmF0aW9uOiAxMDAKLSAgICAgICAgfTsKLQotICAgICAgICBzdXBlcigiZnJhbWVzIiwgdGltZWxp
bmVSZWNvcmRpbmcsIG1pbmltdW1EdXJhdGlvblBlclBpeGVsLCBtYXhpbXVtRHVyYXRpb25QZXJQ
aXhlbCwgZGVmYXVsdFNldHRpbmdzVmFsdWVzKTsKLQotICAgICAgICB0aGlzLnBpeGVsQWxpZ25E
dXJhdGlvbiA9IHRydWU7Ci0gICAgICAgIHRoaXMudGltZWxpbmVSdWxlci5taW5pbXVtU2VsZWN0
aW9uRHVyYXRpb24gPSAxOwotICAgICAgICB0aGlzLnRpbWVsaW5lUnVsZXIuc25hcEludGVydmFs
ID0gMTsKLSAgICAgICAgdGhpcy50aW1lbGluZVJ1bGVyLmZvcm1hdExhYmVsQ2FsbGJhY2sgPSBm
dW5jdGlvbih2YWx1ZSkgewotICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvRml4ZWQoMCk7Ci0g
ICAgICAgIH07Ci0gICAgfQotCi0gICAgLy8gUHJvdGVjdGVkCi0KLSAgICBnZXQgaGVpZ2h0KCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiAxMDg7Ci0gICAgfQotCi0gICAgY2FuU2hvd1RpbWVsaW5l
KHRpbWVsaW5lKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRpbWVsaW5lLnR5cGUgPT09IFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lOwotICAgIH0KLX07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5k
ZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBo
LmpzCmluZGV4IDkzYWMwODc4MmY3ZDlkYTVmOGQ5YzE0ZjRiMDI4NTYwYWMwZDQzOGQuLjAyYmEx
MTMwNGM4N2M4NDI2MzhjN2QxMzdiMjllOGFmZDZiYTA3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVP
dmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCkBAIC05NSw2ICs5
NSwxMSBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGgg
PSBjbGFzcyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lTwogCiAgICAgLy8gUHJvdGVjdGVkCiAKKyAg
ICBnZXQgaGVpZ2h0KCkKKyAgICB7CisgICAgICAgIHJldHVybiAxMDg7CisgICAgfQorCiAgICAg
bGF5b3V0KCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGlu
ZS5yZWNvcmRzLmxlbmd0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5jc3MKaW5kZXggMjVjYTY1
MzMyNzQwNTYwYmQ3MWQwMWRiMjJmOTdhYmRkMWY0ZTAxYS4uNWNjNzNhZjhiZjc3MWQ1NjlhYWU1
YzEzOTIwODdhMjRlZTZjNDVjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5jc3MKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5jc3MKQEAgLTkw
LDEyICs5MCwxMiBAQCBib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnRpbWVsaW5lLW92ZXJ2aWV3
ID4gLmdyYXBocy1jb250YWluZXIgewogICAgIGhlaWdodDogMzZweDsKIH0KIAotLnRpbWVsaW5l
LW92ZXJ2aWV3ID4gLmdyYXBocy1jb250YWluZXIgPiAudGltZWxpbmUtb3ZlcnZpZXctZ3JhcGg6
bnRoLWNoaWxkKGV2ZW4pIHsKKy50aW1lbGluZS1vdmVydmlldzpub3QoLmZyYW1lcykgPiAuZ3Jh
cGhzLWNvbnRhaW5lciA+IC50aW1lbGluZS1vdmVydmlldy1ncmFwaDpudGgtY2hpbGQoZXZlbikg
ewogICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLCAwJSwgOTYlKTsKICAgICBiYWNrZ3JvdW5k
LWNsaXA6IHBhZGRpbmctYm94OwogfQogCi0udGltZWxpbmUtb3ZlcnZpZXcgPiAuZ3JhcGhzLWNv
bnRhaW5lciA+IC50aW1lbGluZS1vdmVydmlldy1ncmFwaDpub3QoOmZpcnN0LWNoaWxkKSB7Cisu
dGltZWxpbmUtb3ZlcnZpZXc6bm90KC5mcmFtZXMpID4gLmdyYXBocy1jb250YWluZXIgPiAudGlt
ZWxpbmUtb3ZlcnZpZXctZ3JhcGg6bm90KDpmaXJzdC1jaGlsZCkgewogICAgIGJvcmRlci10b3A6
IDFweCBzb2xpZCBoc2xhKDAsIDAlLCAwJSwgMC4wOSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2
aWV3LmpzCmluZGV4IDMxNmJlZGE5MWIxZWVmMzE1MDMyM2VjYTI1MjFlMmY3ZWNmMjRlNjcuLjEw
YjU4OGFhOWU0ZmE1MGI0ZGVkYmRiMThiMzMyNjYzOTY3MTM4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVP
dmVydmlldy5qcwpAQCAtMjUsMTkgKzI1LDI3IEBACiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZU92
ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3
CiB7Ci0gICAgY29uc3RydWN0b3IoaWRlbnRpZmllciwgdGltZWxpbmVSZWNvcmRpbmcsIG1pbmlt
dW1EdXJhdGlvblBlclBpeGVsLCBtYXhpbXVtRHVyYXRpb25QZXJQaXhlbCwgZGVmYXVsdFNldHRp
bmdzVmFsdWVzKQorICAgIGNvbnN0cnVjdG9yKHRpbWVsaW5lUmVjb3JkaW5nKQogICAgIHsKICAg
ICAgICAgc3VwZXIoKTsKIAogICAgICAgICBjb25zb2xlLmFzc2VydCh0aW1lbGluZVJlY29yZGlu
ZyBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZyk7CiAKKyAgICAgICAg
dGhpcy5fdGltZWxpbmVzU2V0dGluZ3MgPSB0aGlzLl9jcmVhdGVWaWV3TW9kZVNldHRpbmdzKFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlRpbWVsaW5lcywgMC4wMDAxLCA2
MCwgMC4wMSwgMCwgMTUpOworCisgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuRlBTSW5zdHJ1bWVu
dC5zdXBwb3J0ZWQoKSkgeworICAgICAgICAgICAgbGV0IG1pbmltdW1EdXJhdGlvblBlclBpeGVs
ID0gMSAvIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1heGltdW1XaWR0aFBpeGVs
czsKKyAgICAgICAgICAgIGxldCBtYXhpbXVtRHVyYXRpb25QZXJQaXhlbCA9IDEgLyBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5NaW5pbXVtV2lkdGhQaXhlbHM7CisgICAgICAgICAg
ICB0aGlzLl9yZW5kZXJpbmdGcmFtZXNTZXR0aW5ncyA9IHRoaXMuX2NyZWF0ZVZpZXdNb2RlU2V0
dGluZ3MoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuVmlld01vZGUuUmVuZGVyaW5nRnJh
bWVzLCBtaW5pbXVtRHVyYXRpb25QZXJQaXhlbCwgbWF4aW11bUR1cmF0aW9uUGVyUGl4ZWwsIG1p
bmltdW1EdXJhdGlvblBlclBpeGVsLCAwLCAxMDApOworICAgICAgICB9CisKICAgICAgICAgdGhp
cy5fcmVjb3JkaW5nID0gdGltZWxpbmVSZWNvcmRpbmc7CiAgICAgICAgIHRoaXMuX3JlY29yZGlu
Zy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZy5FdmVudC5J
bnN0cnVtZW50QWRkZWQsIHRoaXMuX2luc3RydW1lbnRBZGRlZCwgdGhpcyk7CiAgICAgICAgIHRo
aXMuX3JlY29yZGluZy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZGluZy5FdmVudC5JbnN0cnVtZW50UmVtb3ZlZCwgdGhpcy5faW5zdHJ1bWVudFJlbW92ZWQsIHRo
aXMpOwogICAgICAgICB0aGlzLl9yZWNvcmRpbmcuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRpbmcuRXZlbnQuTWFya2VyQWRkZWQsIHRoaXMuX21hcmtlckFkZGVk
LCB0aGlzKTsKICAgICAgICAgdGhpcy5fcmVjb3JkaW5nLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nLkV2ZW50LlJlc2V0LCB0aGlzLl9yZWNvcmRpbmdSZXNl
dCwgdGhpcyk7CiAKLSAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoInRpbWVsaW5l
LW92ZXJ2aWV3IiwgaWRlbnRpZmllcik7CisgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3Qu
YWRkKCJ0aW1lbGluZS1vdmVydmlldyIpOwogICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigid2hlZWwiLCB0aGlzLl9oYW5kbGVXaGVlbEV2ZW50LmJpbmQodGhpcykpOwogICAg
ICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2VzdHVyZXN0YXJ0IiwgdGhpcy5f
aGFuZGxlR2VzdHVyZVN0YXJ0LmJpbmQodGhpcykpOwogICAgICAgICB0aGlzLmVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiZ2VzdHVyZWNoYW5nZSIsIHRoaXMuX2hhbmRsZUdlc3R1cmVDaGFuZ2Uu
YmluZCh0aGlzKSk7CkBAIC00Nyw3ICs1NSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAg
ICAgICAgIHRoaXMuX2dyYXBoc0NvbnRhaW5lclZpZXcuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJn
cmFwaHMtY29udGFpbmVyIik7CiAgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9ncmFwaHND
b250YWluZXJWaWV3KTsKIAotICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3R3JhcGhzTWFw
ID0gbmV3IE1hcDsKKyAgICAgICAgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAgPSBuZXcg
TWFwOwogCiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUnVsZXI7CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuYWxsb3dzQ2xpcHBlZExh
YmVscyA9IHRydWU7CkBAIC02OSwzNiArNzcsNDAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcK
ICAgICAgICAgdGhpcy5fc2Nyb2xsV2lkdGhTaXplci5jbGFzc0xpc3QuYWRkKCJzY3JvbGwtd2lk
dGgtc2l6ZXIiKTsKICAgICAgICAgdGhpcy5fc2Nyb2xsQ29udGFpbmVyRWxlbWVudC5hcHBlbmRD
aGlsZCh0aGlzLl9zY3JvbGxXaWR0aFNpemVyKTsKIAotICAgICAgICB0aGlzLl9kZWZhdWx0U2V0
dGluZ3NWYWx1ZXMgPSBkZWZhdWx0U2V0dGluZ3NWYWx1ZXM7Ci0gICAgICAgIHRoaXMuX2R1cmF0
aW9uUGVyUGl4ZWxTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKGlkZW50aWZpZXIg
KyAiLXRpbWVsaW5lLW92ZXJ2aWV3LWR1cmF0aW9uLXBlci1waXhlbCIsIHRoaXMuX2RlZmF1bHRT
ZXR0aW5nc1ZhbHVlcy5kdXJhdGlvblBlclBpeGVsKTsKLSAgICAgICAgdGhpcy5fc2VsZWN0aW9u
U3RhcnRWYWx1ZVNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmcoaWRlbnRpZmllciAr
ICItdGltZWxpbmUtb3ZlcnZpZXctc2VsZWN0aW9uLXN0YXJ0LXZhbHVlIiwgdGhpcy5fZGVmYXVs
dFNldHRpbmdzVmFsdWVzLnNlbGVjdGlvblN0YXJ0VmFsdWUpOwotICAgICAgICB0aGlzLl9zZWxl
Y3Rpb25EdXJhdGlvblNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmcoaWRlbnRpZmll
ciArICItdGltZWxpbmUtb3ZlcnZpZXctc2VsZWN0aW9uLWR1cmF0aW9uIiwgdGhpcy5fZGVmYXVs
dFNldHRpbmdzVmFsdWVzLnNlbGVjdGlvbkR1cmF0aW9uKTsKLQogICAgICAgICB0aGlzLl9zdGFy
dFRpbWUgPSAwOwogICAgICAgICB0aGlzLl9jdXJyZW50VGltZSA9IDA7CiAgICAgICAgIHRoaXMu
X3JldmVhbEN1cnJlbnRUaW1lID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX2VuZFRpbWUgPSAwOwot
ICAgICAgICB0aGlzLl9taW5pbXVtRHVyYXRpb25QZXJQaXhlbCA9IG1pbmltdW1EdXJhdGlvblBl
clBpeGVsOwotICAgICAgICB0aGlzLl9tYXhpbXVtRHVyYXRpb25QZXJQaXhlbCA9IG1heGltdW1E
dXJhdGlvblBlclBpeGVsOwotICAgICAgICB0aGlzLl9kdXJhdGlvblBlclBpeGVsID0gTWF0aC5t
aW4odGhpcy5fbWF4aW11bUR1cmF0aW9uUGVyUGl4ZWwsIE1hdGgubWF4KHRoaXMuX21pbmltdW1E
dXJhdGlvblBlclBpeGVsLCB0aGlzLl9kdXJhdGlvblBlclBpeGVsU2V0dGluZy52YWx1ZSkpOwog
ICAgICAgICB0aGlzLl9waXhlbEFsaWduRHVyYXRpb24gPSBmYWxzZTsKICAgICAgICAgdGhpcy5f
bW91c2VXaGVlbERlbHRhID0gMDsKLSAgICAgICAgdGhpcy5fc2Nyb2xsU3RhcnRUaW1lID0gMDsK
ICAgICAgICAgdGhpcy5fY2FjaGVkU2Nyb2xsQ29udGFpbmVyV2lkdGggPSBOYU47CiAgICAgICAg
IHRoaXMuX3RpbWVsaW5lUnVsZXJTZWxlY3Rpb25DaGFuZ2VkID0gZmFsc2U7CiAKLSAgICAgICAg
dGhpcy5zZWxlY3Rpb25TdGFydFRpbWUgPSB0aGlzLl9zZWxlY3Rpb25TdGFydFZhbHVlU2V0dGlu
Zy52YWx1ZTsKLSAgICAgICAgdGhpcy5zZWxlY3Rpb25EdXJhdGlvbiA9IHRoaXMuX3NlbGVjdGlv
bkR1cmF0aW9uU2V0dGluZy52YWx1ZTsKLQogICAgICAgICBmb3IgKGxldCBpbnN0cnVtZW50IG9m
IHRoaXMuX3JlY29yZGluZy5pbnN0cnVtZW50cykKICAgICAgICAgICAgIHRoaXMuX2luc3RydW1l
bnRBZGRlZChpbnN0cnVtZW50KTsKIAogICAgICAgICBpZiAoIVdlYkluc3BlY3Rvci50aW1lbGlu
ZU1hbmFnZXIuaXNDYXB0dXJpbmdQYWdlUmVsb2FkKCkpCiAgICAgICAgICAgICB0aGlzLl9yZXNl
dFNlbGVjdGlvbigpOworCisgICAgICAgIHRoaXMudmlld01vZGUgPSBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVPdmVydmlldy5WaWV3TW9kZS5UaW1lbGluZXM7CiAgICAgfQogCiAgICAgLy8gUHVibGlj
CiAKKyAgICBnZXQgdmlld01vZGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3ZpZXdN
b2RlOworICAgIH0KKworICAgIHNldCB2aWV3TW9kZSh4KQorICAgIHsKKyAgICAgICAgaWYgKHRo
aXMuX3ZpZXdNb2RlID09PSB4KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMu
X3ZpZXdNb2RlID0geDsKKyAgICAgICAgdGhpcy5fdmlld01vZGVEaWRDaGFuZ2UoKTsKKyAgICB9
CisKICAgICBnZXQgc3RhcnRUaW1lKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9zdGFy
dFRpbWU7CkBAIC0xMTEsNiArMTIzLDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3
ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAg
ICAgIGlmICh0aGlzLl9zdGFydFRpbWUgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKKyAg
ICAgICAgaWYgKHRoaXMuX3ZpZXdNb2RlICE9PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmll
dy5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXMpIHsKKyAgICAgICAgICAgIGxldCBzZWxlY3Rpb25P
ZmZzZXQgPSB0aGlzLnNlbGVjdGlvblN0YXJ0VGltZSAtIHRoaXMuX3N0YXJ0VGltZTsKKyAgICAg
ICAgICAgIHRoaXMuc2VsZWN0aW9uU3RhcnRUaW1lID0gc2VsZWN0aW9uT2Zmc2V0ICsgeDsKKyAg
ICAgICAgfQorCiAgICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHg7CiAKICAgICAgICAgdGhpcy5u
ZWVkc0xheW91dCgpOwpAQCAtMTM2LDI0ICsxNTMsMjMgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
T3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZp
ZXcKIAogICAgIGdldCBzZWNvbmRzUGVyUGl4ZWwoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRo
aXMuX2R1cmF0aW9uUGVyUGl4ZWw7CisgICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50U2V0dGlu
Z3MuZHVyYXRpb25QZXJQaXhlbFNldHRpbmcudmFsdWU7CiAgICAgfQogCiAgICAgc2V0IHNlY29u
ZHNQZXJQaXhlbCh4KQogICAgIHsKLSAgICAgICAgeCA9IE1hdGgubWluKHRoaXMuX21heGltdW1E
dXJhdGlvblBlclBpeGVsLCBNYXRoLm1heCh0aGlzLl9taW5pbXVtRHVyYXRpb25QZXJQaXhlbCwg
eCkpOworICAgICAgICB4ID0gTWF0aC5taW4odGhpcy5fY3VycmVudFNldHRpbmdzLm1heGltdW1E
dXJhdGlvblBlclBpeGVsLCBNYXRoLm1heCh0aGlzLl9jdXJyZW50U2V0dGluZ3MubWluaW11bUR1
cmF0aW9uUGVyUGl4ZWwsIHgpKTsKIAotICAgICAgICBpZiAodGhpcy5fZHVyYXRpb25QZXJQaXhl
bCA9PT0geCkKKyAgICAgICAgaWYgKHRoaXMuc2Vjb25kc1BlclBpeGVsID09PSB4KQogICAgICAg
ICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICh0aGlzLl9waXhlbEFsaWduRHVyYXRpb24pIHsK
ICAgICAgICAgICAgIHggPSAxIC8gTWF0aC5yb3VuZCgxIC8geCk7Ci0gICAgICAgICAgICBpZiAo
dGhpcy5fZHVyYXRpb25QZXJQaXhlbCA9PT0geCkKKyAgICAgICAgICAgIGlmICh0aGlzLnNlY29u
ZHNQZXJQaXhlbCA9PT0geCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAot
ICAgICAgICB0aGlzLl9kdXJhdGlvblBlclBpeGVsID0geDsKLSAgICAgICAgdGhpcy5fZHVyYXRp
b25QZXJQaXhlbFNldHRpbmcudmFsdWUgPSB4OworICAgICAgICB0aGlzLl9jdXJyZW50U2V0dGlu
Z3MuZHVyYXRpb25QZXJQaXhlbFNldHRpbmcudmFsdWUgPSB4OwogCiAgICAgICAgIHRoaXMubmVl
ZHNMYXlvdXQoKTsKICAgICB9CkBAIC0xNzEsNyArMTg3LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9y
LlZpZXcKICAgICAgICAgdGhpcy5fbW91c2VXaGVlbERlbHRhID0gMDsKICAgICAgICAgdGhpcy5f
cGl4ZWxBbGlnbkR1cmF0aW9uID0geDsKICAgICAgICAgaWYgKHRoaXMuX3BpeGVsQWxpZ25EdXJh
dGlvbikKLSAgICAgICAgICAgIHRoaXMuc2Vjb25kc1BlclBpeGVsID0gMSAvIE1hdGgucm91bmQo
MSAvIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwpOworICAgICAgICAgICAgdGhpcy5zZWNvbmRzUGVy
UGl4ZWwgPSAxIC8gTWF0aC5yb3VuZCgxIC8gdGhpcy5zZWNvbmRzUGVyUGl4ZWwpOwogICAgIH0K
IAogICAgIGdldCBlbmRUaW1lKCkKQEAgLTE5MywxNyArMjA5LDE3IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3Bl
Y3Rvci5WaWV3CiAKICAgICBnZXQgc2Nyb2xsU3RhcnRUaW1lKCkKICAgICB7Ci0gICAgICAgIHJl
dHVybiB0aGlzLl9zY3JvbGxTdGFydFRpbWU7CisgICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50
U2V0dGluZ3Muc2Nyb2xsU3RhcnRUaW1lOwogICAgIH0KIAogICAgIHNldCBzY3JvbGxTdGFydFRp
bWUoeCkKICAgICB7CiAgICAgICAgIHggPSB4IHx8IDA7CiAKLSAgICAgICAgaWYgKHRoaXMuX3Nj
cm9sbFN0YXJ0VGltZSA9PT0geCkKKyAgICAgICAgaWYgKHRoaXMuc2Nyb2xsU3RhcnRUaW1lID09
PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3Njcm9sbFN0YXJ0VGlt
ZSA9IHg7CisgICAgICAgIHRoaXMuX2N1cnJlbnRTZXR0aW5ncy5zY3JvbGxTdGFydFRpbWUgPSB4
OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC0yMjEsNyArMjM3LDcg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3
IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRT
Y3JvbGxDb250YWluZXJXaWR0aCA9IE5hTjsKICAgICAgICAgfQogCi0gICAgICAgIHJldHVybiB0
aGlzLl9jYWNoZWRTY3JvbGxDb250YWluZXJXaWR0aCAqIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWw7
CisgICAgICAgIHJldHVybiB0aGlzLl9jYWNoZWRTY3JvbGxDb250YWluZXJXaWR0aCAqIHRoaXMu
c2Vjb25kc1BlclBpeGVsOwogICAgIH0KIAogICAgIGdldCBzZWxlY3Rpb25TdGFydFRpbWUoKQpA
QCAtMjU2LDggKzI3MiwxMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNz
IFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgIGdldCBoZWln
aHQoKQogICAgIHsKICAgICAgICAgbGV0IGhlaWdodCA9IDA7Ci0gICAgICAgIGZvciAobGV0IGdy
YXBoIG9mIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXAudmFsdWVzKCkpCi0gICAgICAg
ICAgICBoZWlnaHQgKz0gZ3JhcGguaGVpZ2h0OworICAgICAgICBmb3IgKGxldCBvdmVydmlld0dy
YXBoIG9mIHRoaXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwLnZhbHVlcygpKSB7CisgICAgICAg
ICAgICBpZiAob3ZlcnZpZXdHcmFwaC52aXNpYmxlKQorICAgICAgICAgICAgICAgIGhlaWdodCAr
PSBvdmVydmlld0dyYXBoLmhlaWdodDsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gaGVpZ2h0
OwogICAgIH0KIApAQCAtMjcwLDggKzI4OCwxMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVy
dmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwog
ICAgIHsKICAgICAgICAgdGhpcy5fdmlzaWJsZSA9IHRydWU7CiAKLSAgICAgICAgZm9yICh2YXIg
dGltZWxpbmVPdmVydmlld0dyYXBoIG9mIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXAu
dmFsdWVzKCkpCi0gICAgICAgICAgICB0aW1lbGluZU92ZXJ2aWV3R3JhcGguc2hvd24oKTsKKyAg
ICAgICAgZm9yIChsZXQgW3R5cGUsIG92ZXJ2aWV3R3JhcGhdIG9mIHRoaXMuX292ZXJ2aWV3R3Jh
cGhzQnlUeXBlTWFwKSB7CisgICAgICAgICAgICBpZiAodGhpcy5fY2FuU2hvd1RpbWVsaW5lVHlw
ZSh0eXBlKSkKKyAgICAgICAgICAgICAgICBvdmVydmlld0dyYXBoLnNob3duKCk7CisgICAgICAg
IH0KIAogICAgICAgICB0aGlzLnVwZGF0ZUxheW91dChXZWJJbnNwZWN0b3IuVmlldy5MYXlvdXRS
ZWFzb24uUmVzaXplKTsKICAgICB9CkBAIC0yODAsMTQgKzMwMCwxNCBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNw
ZWN0b3IuVmlldwogICAgIHsKICAgICAgICAgdGhpcy5fdmlzaWJsZSA9IGZhbHNlOwogCi0gICAg
ICAgIGZvciAodmFyIHRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBvZiB0aGlzLl90aW1lbGluZU92ZXJ2
aWV3R3JhcGhzTWFwLnZhbHVlcygpKQotICAgICAgICAgICAgdGltZWxpbmVPdmVydmlld0dyYXBo
LmhpZGRlbigpOworICAgICAgICBmb3IgKGxldCBvdmVydmlld0dyYXBoIG9mIHRoaXMuX292ZXJ2
aWV3R3JhcGhzQnlUeXBlTWFwLnZhbHVlcygpKQorICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5o
aWRkZW4oKTsKICAgICB9CiAKICAgICByZXNldCgpCiAgICAgewotICAgICAgICBmb3IgKHZhciB0
aW1lbGluZU92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01hcC52
YWx1ZXMoKSkKLSAgICAgICAgICAgIHRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5yZXNldCgpOworICAg
ICAgICBmb3IgKGxldCBvdmVydmlld0dyYXBoIG9mIHRoaXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBl
TWFwLnZhbHVlcygpKQorICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5yZXNldCgpOwogCiAgICAg
ICAgIHRoaXMuX21vdXNlV2hlZWxEZWx0YSA9IDA7CiAKQEAgLTMwMSwyNSArMzIxLDI1IEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRl
bmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICByZWNvcmRXYXNGaWx0ZXJlZCh0aW1lbGluZSwg
cmVjb3JkLCBmaWx0ZXJlZCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuY2Fu
U2hvd1RpbWVsaW5lKHRpbWVsaW5lKSwgdGltZWxpbmUpOwotCi0gICAgICAgIGxldCBvdmVydmll
d0dyYXBoID0gdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01hcC5nZXQodGltZWxpbmUpOwor
ICAgICAgICBsZXQgb3ZlcnZpZXdHcmFwaCA9IHRoaXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBlTWFw
LmdldCh0aW1lbGluZS50eXBlKTsKICAgICAgICAgY29uc29sZS5hc3NlcnQob3ZlcnZpZXdHcmFw
aCwgIk1pc3Npbmcgb3ZlcnZpZXcgZ3JhcGggZm9yIHRpbWVsaW5lIHR5cGUgIiArIHRpbWVsaW5l
LnR5cGUpOwogICAgICAgICBpZiAoIW92ZXJ2aWV3R3JhcGgpCiAgICAgICAgICAgICByZXR1cm47
CiAKKyAgICAgICAgY29uc29sZS5hc3NlcnQob3ZlcnZpZXdHcmFwaC52aXNpYmxlLCAiUmVjb3Jk
IGZpbHRlcmVkIGluIGhpZGRlbiBvdmVydmlldyBncmFwaCIsIHJlY29yZCk7CisKICAgICAgICAg
b3ZlcnZpZXdHcmFwaC5yZWNvcmRXYXNGaWx0ZXJlZChyZWNvcmQsIGZpbHRlcmVkKTsKICAgICB9
CiAKICAgICBzZWxlY3RSZWNvcmQodGltZWxpbmUsIHJlY29yZCkKICAgICB7Ci0gICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHRoaXMuY2FuU2hvd1RpbWVsaW5lKHRpbWVsaW5lKSwgdGltZWxpbmUpOwot
Ci0gICAgICAgIHZhciBvdmVydmlld0dyYXBoID0gdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBo
c01hcC5nZXQodGltZWxpbmUpOworICAgICAgICBsZXQgb3ZlcnZpZXdHcmFwaCA9IHRoaXMuX292
ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwLmdldCh0aW1lbGluZS50eXBlKTsKICAgICAgICAgY29uc29s
ZS5hc3NlcnQob3ZlcnZpZXdHcmFwaCwgIk1pc3Npbmcgb3ZlcnZpZXcgZ3JhcGggZm9yIHRpbWVs
aW5lIHR5cGUgIiArIHRpbWVsaW5lLnR5cGUpOwogICAgICAgICBpZiAoIW92ZXJ2aWV3R3JhcGgp
CiAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgY29uc29sZS5hc3NlcnQob3ZlcnZpZXdH
cmFwaC52aXNpYmxlLCAiUmVjb3JkIHNlbGVjdGVkIGluIGhpZGRlbiBvdmVydmlldyBncmFwaCIs
IHJlY29yZCk7CisKICAgICAgICAgb3ZlcnZpZXdHcmFwaC5zZWxlY3RlZFJlY29yZCA9IHJlY29y
ZDsKICAgICB9CiAKQEAgLTMzMiw4ICszNTIsMTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcK
IAogICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnVwZGF0ZUxheW91dElmTmVlZGVkKCk7CiAK
LSAgICAgICAgZm9yIChsZXQgdGltZWxpbmVPdmVydmlld0dyYXBoIG9mIHRoaXMuX3RpbWVsaW5l
T3ZlcnZpZXdHcmFwaHNNYXAudmFsdWVzKCkpCi0gICAgICAgICAgICB0aW1lbGluZU92ZXJ2aWV3
R3JhcGgudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKKyAgICAgICAgZm9yIChsZXQgb3ZlcnZpZXdH
cmFwaCBvZiB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcC52YWx1ZXMoKSkgeworICAgICAg
ICAgICAgaWYgKG92ZXJ2aWV3R3JhcGgudmlzaWJsZSkKKyAgICAgICAgICAgICAgICBvdmVydmll
d0dyYXBoLnVwZGF0ZUxheW91dElmTmVlZGVkKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICAv
LyBQcm90ZWN0ZWQKQEAgLTM0MywyNSArMzY1LDMxIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92
ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3
CiAgICAgICAgIHJldHVybiB0aGlzLl90aW1lbGluZVJ1bGVyOwogICAgIH0KIAotICAgIGNhblNo
b3dUaW1lbGluZSh0aW1lbGluZSkKLSAgICB7Ci0gICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1
YmNsYXNzZXMuCi0gICAgICAgIGNvbnNvbGUuZXJyb3IoIk5lZWRzIHRvIGJlIGltcGxlbWVudGVk
IGJ5IGEgc3ViY2xhc3MuIik7Ci0gICAgfQotCiAgICAgbGF5b3V0KGxheW91dFJlYXNvbikKICAg
ICB7CiAgICAgICAgIGlmIChsYXlvdXRSZWFzb24gPT09IFdlYkluc3BlY3Rvci5WaWV3LkxheW91
dFJlYXNvbi5SZXNpemUpCiAgICAgICAgICAgICB0aGlzLl9jYWNoZWRTY3JvbGxDb250YWluZXJX
aWR0aCA9IE5hTjsKIAorICAgICAgICBsZXQgc3RhcnRUaW1lID0gdGhpcy5fc3RhcnRUaW1lOwor
ICAgICAgICBsZXQgZW5kVGltZSA9IHRoaXMuX2VuZFRpbWU7CisgICAgICAgIGxldCBjdXJyZW50
VGltZSA9IHRoaXMuX2N1cnJlbnRUaW1lOworICAgICAgICBpZiAodGhpcy5fdmlld01vZGUgPT09
IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcykg
eworICAgICAgICAgICAgbGV0IHJlbmRlcmluZ0ZyYW1lc1RpbWVsaW5lID0gdGhpcy5fcmVjb3Jk
aW5nLnRpbWVsaW5lcy5nZXQoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVy
aW5nRnJhbWUpOworICAgICAgICAgICAgY29uc29sZS5hc3NlcnQocmVuZGVyaW5nRnJhbWVzVGlt
ZWxpbmUsICJSZWNvcmluZyBtaXNzaW5nIHJlbmRlcmluZyBmcmFtZXMgdGltZWxpbmUiKTsKKwor
ICAgICAgICAgICAgc3RhcnRUaW1lID0gMDsKKyAgICAgICAgICAgIGVuZFRpbWUgPSByZW5kZXJp
bmdGcmFtZXNUaW1lbGluZS5yZWNvcmRzLmxlbmd0aDsKKyAgICAgICAgICAgIGN1cnJlbnRUaW1l
ID0gZW5kVGltZTsKKyAgICAgICAgfQorCiAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgcmVxdWly
ZWQgd2lkdGggYmFzZWQgb24gdGhlIGR1cmF0aW9uIGFuZCBzZWNvbmRzIHBlciBwaXhlbC4KLSAg
ICAgICAgbGV0IGR1cmF0aW9uID0gdGhpcy5fZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTsKLSAg
ICAgICAgbGV0IG5ld1dpZHRoID0gTWF0aC5jZWlsKGR1cmF0aW9uIC8gdGhpcy5fZHVyYXRpb25Q
ZXJQaXhlbCk7CisgICAgICAgIGxldCBkdXJhdGlvbiA9IGVuZFRpbWUgLSBzdGFydFRpbWU7Cisg
ICAgICAgIGxldCBuZXdXaWR0aCA9IE1hdGguY2VpbChkdXJhdGlvbiAvIHRoaXMuc2Vjb25kc1Bl
clBpeGVsKTsKIAogICAgICAgICAvLyBVcGRhdGUgYWxsIHJlbGV2YW50IGVsZW1lbnRzIHRvIHRo
ZSBuZXcgcmVxdWlyZWQgd2lkdGguCiAgICAgICAgIHRoaXMuX3VwZGF0ZUVsZW1lbnRXaWR0aCh0
aGlzLl9zY3JvbGxXaWR0aFNpemVyLCBuZXdXaWR0aCk7CiAKLSAgICAgICAgdGhpcy5fY3VycmVu
dFRpbWVNYXJrZXIudGltZSA9IHRoaXMuX2N1cnJlbnRUaW1lOworICAgICAgICB0aGlzLl9jdXJy
ZW50VGltZU1hcmtlci50aW1lID0gY3VycmVudFRpbWU7CiAKICAgICAgICAgaWYgKHRoaXMuX3Jl
dmVhbEN1cnJlbnRUaW1lKSB7CiAgICAgICAgICAgICB0aGlzLnJldmVhbE1hcmtlcih0aGlzLl9j
dXJyZW50VGltZU1hcmtlcik7CkBAIC0zNzEsMjUgKzM5OSwyOCBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuVmlldwogICAgICAgICBjb25zdCB2aXNpYmxlRHVyYXRpb24gPSB0aGlzLnZpc2libGVEdXJh
dGlvbjsKIAogICAgICAgICAvLyBDbGFtcCB0aGUgc2Nyb2xsIHN0YXJ0IHRpbWUgdG8gbWF0Y2gg
d2hhdCB0aGUgc2Nyb2xsIGJhciB3b3VsZCBhbGxvdy4KLSAgICAgICAgbGV0IHNjcm9sbFN0YXJ0
VGltZSA9IE1hdGgubWluKHRoaXMuX3Njcm9sbFN0YXJ0VGltZSwgdGhpcy5fZW5kVGltZSAtIHZp
c2libGVEdXJhdGlvbik7Ci0gICAgICAgIHNjcm9sbFN0YXJ0VGltZSA9IE1hdGgubWF4KHRoaXMu
X3N0YXJ0VGltZSwgc2Nyb2xsU3RhcnRUaW1lKTsKKyAgICAgICAgbGV0IHNjcm9sbFN0YXJ0VGlt
ZSA9IE1hdGgubWluKHRoaXMuc2Nyb2xsU3RhcnRUaW1lLCBlbmRUaW1lIC0gdmlzaWJsZUR1cmF0
aW9uKTsKKyAgICAgICAgc2Nyb2xsU3RhcnRUaW1lID0gTWF0aC5tYXgoc3RhcnRUaW1lLCBzY3Jv
bGxTdGFydFRpbWUpOwogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuemVyb1RpbWUgPSB0
aGlzLl9zdGFydFRpbWU7CisgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuemVyb1RpbWUgPSBz
dGFydFRpbWU7CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuc3RhcnRUaW1lID0gc2Nyb2xs
U3RhcnRUaW1lOwotICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnNlY29uZHNQZXJQaXhlbCA9
IHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWw7CisgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuc2Vj
b25kc1BlclBpeGVsID0gdGhpcy5zZWNvbmRzUGVyUGl4ZWw7CiAKICAgICAgICAgaWYgKCF0aGlz
Ll9kb250VXBkYXRlU2Nyb2xsTGVmdCkgewogICAgICAgICAgICAgdGhpcy5faWdub3JlTmV4dFNj
cm9sbEV2ZW50ID0gdHJ1ZTsKLSAgICAgICAgICAgIGxldCBzY3JvbGxMZWZ0ID0gTWF0aC5jZWls
KChzY3JvbGxTdGFydFRpbWUgLSB0aGlzLl9zdGFydFRpbWUpIC8gdGhpcy5fZHVyYXRpb25QZXJQ
aXhlbCk7CisgICAgICAgICAgICBsZXQgc2Nyb2xsTGVmdCA9IE1hdGguY2VpbCgoc2Nyb2xsU3Rh
cnRUaW1lIC0gc3RhcnRUaW1lKSAvIHRoaXMuc2Vjb25kc1BlclBpeGVsKTsKICAgICAgICAgICAg
IGlmIChzY3JvbGxMZWZ0KQogICAgICAgICAgICAgICAgIHRoaXMuX3Njcm9sbENvbnRhaW5lckVs
ZW1lbnQuc2Nyb2xsTGVmdCA9IHNjcm9sbExlZnQ7CiAgICAgICAgIH0KIAotICAgICAgICBmb3Ig
KGxldCB0aW1lbGluZU92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBo
c01hcC52YWx1ZXMoKSkgewotICAgICAgICAgICAgdGltZWxpbmVPdmVydmlld0dyYXBoLnplcm9U
aW1lID0gdGhpcy5fc3RhcnRUaW1lOwotICAgICAgICAgICAgdGltZWxpbmVPdmVydmlld0dyYXBo
LnN0YXJ0VGltZSA9IHNjcm9sbFN0YXJ0VGltZTsKLSAgICAgICAgICAgIHRpbWVsaW5lT3ZlcnZp
ZXdHcmFwaC5jdXJyZW50VGltZSA9IHRoaXMuX2N1cnJlbnRUaW1lOwotICAgICAgICAgICAgdGlt
ZWxpbmVPdmVydmlld0dyYXBoLmVuZFRpbWUgPSBzY3JvbGxTdGFydFRpbWUgKyB2aXNpYmxlRHVy
YXRpb247CisgICAgICAgIGZvciAobGV0IG92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fb3ZlcnZpZXdH
cmFwaHNCeVR5cGVNYXAudmFsdWVzKCkpIHsKKyAgICAgICAgICAgIGlmICghb3ZlcnZpZXdHcmFw
aC52aXNpYmxlKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBvdmVy
dmlld0dyYXBoLnplcm9UaW1lID0gc3RhcnRUaW1lOworICAgICAgICAgICAgb3ZlcnZpZXdHcmFw
aC5zdGFydFRpbWUgPSBzY3JvbGxTdGFydFRpbWU7CisgICAgICAgICAgICBvdmVydmlld0dyYXBo
LmN1cnJlbnRUaW1lID0gY3VycmVudFRpbWU7CisgICAgICAgICAgICBvdmVydmlld0dyYXBoLmVu
ZFRpbWUgPSBzY3JvbGxTdGFydFRpbWUgKyB2aXNpYmxlRHVyYXRpb247CiAgICAgICAgIH0KICAg
ICB9CiAKQEAgLTQxMSw4ICs0NDIsOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9
IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAg
ICAgIHRoaXMuX2RvbnRVcGRhdGVTY3JvbGxMZWZ0ID0gdHJ1ZTsKIAotICAgICAgICB2YXIgc2Ny
b2xsT2Zmc2V0ID0gdGhpcy5fc2Nyb2xsQ29udGFpbmVyRWxlbWVudC5zY3JvbGxMZWZ0OwotICAg
ICAgICB0aGlzLnNjcm9sbFN0YXJ0VGltZSA9IHRoaXMuX3N0YXJ0VGltZSArIChzY3JvbGxPZmZz
ZXQgKiB0aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKKyAgICAgICAgbGV0IHNjcm9sbE9mZnNldCA9
IHRoaXMuX3Njcm9sbENvbnRhaW5lckVsZW1lbnQuc2Nyb2xsTGVmdDsKKyAgICAgICAgdGhpcy5z
Y3JvbGxTdGFydFRpbWUgPSB0aGlzLl9zdGFydFRpbWUgKyAoc2Nyb2xsT2Zmc2V0ICogdGhpcy5z
ZWNvbmRzUGVyUGl4ZWwpOwogCiAgICAgICAgIC8vIEZvcmNlIGxheW91dCBzbyB3ZSBjYW4gdXBk
YXRlIHdpdGggdGhlIHNjcm9sbCBwb3NpdGlvbiBzeW5jaHJvbm91c2x5LgogICAgICAgICB0aGlz
LnVwZGF0ZUxheW91dElmTmVlZGVkKCk7CkBAIC00NDMsMjUgKzQ3NCwyNSBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJ
bnNwZWN0b3IuVmlldwogCiAgICAgICAgIC8vIFJlbWVtYmVyIHRoZSBtb3VzZSBwb3NpdGlvbiBp
biB0aW1lLgogICAgICAgICBsZXQgbW91c2VPZmZzZXQgPSBldmVudC5wYWdlWCAtIHRoaXMuZWxl
bWVudC50b3RhbE9mZnNldExlZnQ7Ci0gICAgICAgIGxldCBtb3VzZVBvc2l0aW9uVGltZSA9IHRo
aXMuX3Njcm9sbFN0YXJ0VGltZSArIChtb3VzZU9mZnNldCAqIHRoaXMuX2R1cmF0aW9uUGVyUGl4
ZWwpOworICAgICAgICBsZXQgbW91c2VQb3NpdGlvblRpbWUgPSB0aGlzLl9jdXJyZW50U2V0dGlu
Z3Muc2Nyb2xsU3RhcnRUaW1lICsgKG1vdXNlT2Zmc2V0ICogdGhpcy5zZWNvbmRzUGVyUGl4ZWwp
OwogICAgICAgICBsZXQgZGV2aWNlRGlyZWN0aW9uID0gZXZlbnQud2Via2l0RGlyZWN0aW9uSW52
ZXJ0ZWRGcm9tRGV2aWNlID8gMSA6IC0xOwotICAgICAgICBsZXQgZGVsdGEgPSBldmVudC5kZWx0
YVkgKiAodGhpcy5fZHVyYXRpb25QZXJQaXhlbCAvIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3LlNjcm9sbERlbHRhRGVub21pbmF0b3IpICogZGV2aWNlRGlyZWN0aW9uOworICAgICAgICBs
ZXQgZGVsdGEgPSBldmVudC5kZWx0YVkgKiAodGhpcy5zZWNvbmRzUGVyUGl4ZWwgLyBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldy5TY3JvbGxEZWx0YURlbm9taW5hdG9yKSAqIGRldmljZURp
cmVjdGlvbjsKIAogICAgICAgICAvLyBSZXNldCBhY2N1bXVsYXRlZCB3aGVlbCBkZWx0YSB3aGVu
IGRpcmVjdGlvbiBjaGFuZ2VzLgogICAgICAgICBpZiAodGhpcy5fcGl4ZWxBbGlnbkR1cmF0aW9u
ICYmIChkZWx0YSA8IDAgJiYgdGhpcy5fbW91c2VXaGVlbERlbHRhID49IDAgfHwgZGVsdGEgPj0g
MCAmJiB0aGlzLl9tb3VzZVdoZWVsRGVsdGEgPCAwKSkKICAgICAgICAgICAgIHRoaXMuX21vdXNl
V2hlZWxEZWx0YSA9IDA7CiAKLSAgICAgICAgbGV0IHByZXZpb3VzRHVyYXRpb25QZXJQaXhlbCA9
IHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWw7CisgICAgICAgIGxldCBwcmV2aW91c0R1cmF0aW9uUGVy
UGl4ZWwgPSB0aGlzLnNlY29uZHNQZXJQaXhlbDsKICAgICAgICAgdGhpcy5fbW91c2VXaGVlbERl
bHRhICs9IGRlbHRhOwogICAgICAgICB0aGlzLnNlY29uZHNQZXJQaXhlbCArPSB0aGlzLl9tb3Vz
ZVdoZWVsRGVsdGE7CiAKLSAgICAgICAgaWYgKHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwgPT09IHRo
aXMuX21pbmltdW1EdXJhdGlvblBlclBpeGVsICYmIGRlbHRhIDwgMCB8fCB0aGlzLl9kdXJhdGlv
blBlclBpeGVsID09PSB0aGlzLl9tYXhpbXVtRHVyYXRpb25QZXJQaXhlbCAmJiBkZWx0YSA+PSAw
KQorICAgICAgICBpZiAodGhpcy5zZWNvbmRzUGVyUGl4ZWwgPT09IHRoaXMuX2N1cnJlbnRTZXR0
aW5ncy5taW5pbXVtRHVyYXRpb25QZXJQaXhlbCAmJiBkZWx0YSA8IDAgfHwgdGhpcy5zZWNvbmRz
UGVyUGl4ZWwgPT09IHRoaXMuX2N1cnJlbnRTZXR0aW5ncy5tYXhpbXVtRHVyYXRpb25QZXJQaXhl
bCAmJiBkZWx0YSA+PSAwKQogICAgICAgICAgICAgdGhpcy5fbW91c2VXaGVlbERlbHRhID0gMDsK
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgdGhpcy5fbW91c2VXaGVlbERlbHRhID0gcHJldmlv
dXNEdXJhdGlvblBlclBpeGVsICsgdGhpcy5fbW91c2VXaGVlbERlbHRhIC0gdGhpcy5fZHVyYXRp
b25QZXJQaXhlbDsKKyAgICAgICAgICAgIHRoaXMuX21vdXNlV2hlZWxEZWx0YSA9IHByZXZpb3Vz
RHVyYXRpb25QZXJQaXhlbCArIHRoaXMuX21vdXNlV2hlZWxEZWx0YSAtIHRoaXMuc2Vjb25kc1Bl
clBpeGVsOwogCiAgICAgICAgIC8vIENlbnRlciB0aGUgem9vbSBhcm91bmQgdGhlIG1vdXNlIGJh
c2VkIG9uIHRoZSByZW1lbWJlcmVkIG1vdXNlIHBvc2l0aW9uIHRpbWUuCi0gICAgICAgIHRoaXMu
c2Nyb2xsU3RhcnRUaW1lID0gbW91c2VQb3NpdGlvblRpbWUgLSAobW91c2VPZmZzZXQgKiB0aGlz
Ll9kdXJhdGlvblBlclBpeGVsKTsKKyAgICAgICAgdGhpcy5zY3JvbGxTdGFydFRpbWUgPSBtb3Vz
ZVBvc2l0aW9uVGltZSAtIChtb3VzZU9mZnNldCAqIHRoaXMuc2Vjb25kc1BlclBpeGVsKTsKIAog
ICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICBldmVudC5zdG9wUHJvcGFn
YXRpb24oKTsKQEAgLTQ3NSwxMSArNTA2LDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAg
ICAgICAgIH0KIAogICAgICAgICBsZXQgbW91c2VPZmZzZXQgPSBldmVudC5wYWdlWCAtIHRoaXMu
ZWxlbWVudC50b3RhbE9mZnNldExlZnQ7Ci0gICAgICAgIGxldCBtb3VzZVBvc2l0aW9uVGltZSA9
IHRoaXMuX3Njcm9sbFN0YXJ0VGltZSArIChtb3VzZU9mZnNldCAqIHRoaXMuX2R1cmF0aW9uUGVy
UGl4ZWwpOworICAgICAgICBsZXQgbW91c2VQb3NpdGlvblRpbWUgPSB0aGlzLl9jdXJyZW50U2V0
dGluZ3Muc2Nyb2xsU3RhcnRUaW1lICsgKG1vdXNlT2Zmc2V0ICogdGhpcy5zZWNvbmRzUGVyUGl4
ZWwpOwogCiAgICAgICAgIHRoaXMuX2hhbmRsaW5nR2VzdHVyZSA9IHRydWU7CiAgICAgICAgIHRo
aXMuX2dlc3R1cmVTdGFydFN0YXJ0VGltZSA9IG1vdXNlUG9zaXRpb25UaW1lOwotICAgICAgICB0
aGlzLl9nZXN0dXJlU3RhcnREdXJhdGlvblBlclBpeGVsID0gdGhpcy5fZHVyYXRpb25QZXJQaXhl
bDsKKyAgICAgICAgdGhpcy5fZ2VzdHVyZVN0YXJ0RHVyYXRpb25QZXJQaXhlbCA9IHRoaXMuc2Vj
b25kc1BlclBpeGVsOwogCiAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAg
IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwpAQCAtNDk0LDcgKzUyNSw3IEBAIFdlYkluc3BlY3Rv
ci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYklu
c3BlY3Rvci5WaWV3CiAgICAgICAgIGxldCBuZXdTZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLl9nZXN0
dXJlU3RhcnREdXJhdGlvblBlclBpeGVsIC8gc2NhbGU7CiAKICAgICAgICAgdGhpcy5zZWNvbmRz
UGVyUGl4ZWwgPSBuZXdTZWNvbmRzUGVyUGl4ZWw7Ci0gICAgICAgIHRoaXMuc2Nyb2xsU3RhcnRU
aW1lID0gdGhpcy5fZ2VzdHVyZVN0YXJ0U3RhcnRUaW1lIC0gKG1vdXNlT2Zmc2V0ICogdGhpcy5f
ZHVyYXRpb25QZXJQaXhlbCk7CisgICAgICAgIHRoaXMuc2Nyb2xsU3RhcnRUaW1lID0gdGhpcy5f
Z2VzdHVyZVN0YXJ0U3RhcnRUaW1lIC0gKG1vdXNlT2Zmc2V0ICogdGhpcy5zZWNvbmRzUGVyUGl4
ZWwpOwogCiAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgIGV2ZW50LnN0
b3BQcm9wYWdhdGlvbigpOwpAQCAtNTEzLDE1ICs1NDQsMTYgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9y
LlZpZXcKICAgICAgICAgY29uc29sZS5hc3NlcnQoaW5zdHJ1bWVudCBpbnN0YW5jZW9mIFdlYklu
c3BlY3Rvci5JbnN0cnVtZW50LCBpbnN0cnVtZW50KTsKIAogICAgICAgICBsZXQgdGltZWxpbmUg
PSB0aGlzLl9yZWNvcmRpbmcudGltZWxpbmVGb3JJbnN0cnVtZW50KGluc3RydW1lbnQpOwotICAg
ICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01hcC5oYXMo
dGltZWxpbmUpLCB0aW1lbGluZSk7Ci0gICAgICAgIGlmICghdGhpcy5jYW5TaG93VGltZWxpbmUo
dGltZWxpbmUpKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjb25zb2xlLmFzc2VydCgh
dGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAuaGFzKHRpbWVsaW5lLnR5cGUpLCB0aW1lbGlu
ZSk7CiAKICAgICAgICAgbGV0IG92ZXJ2aWV3R3JhcGggPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlld0dyYXBoLmNyZWF0ZUZvclRpbWVsaW5lKHRpbWVsaW5lLCB0aGlzKTsKICAgICAgICAg
b3ZlcnZpZXdHcmFwaC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3R3JhcGguRXZlbnQuUmVjb3JkU2VsZWN0ZWQsIHRoaXMuX3JlY29yZFNlbGVjdGVkLCB0aGlz
KTsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01hcC5zZXQodGltZWxpbmUs
IG92ZXJ2aWV3R3JhcGgpOworICAgICAgICB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcC5z
ZXQodGltZWxpbmUudHlwZSwgb3ZlcnZpZXdHcmFwaCk7CiAKICAgICAgICAgdGhpcy5fZ3JhcGhz
Q29udGFpbmVyVmlldy5hZGRTdWJ2aWV3KG92ZXJ2aWV3R3JhcGgpOworCisgICAgICAgIGlmICgh
dGhpcy5fY2FuU2hvd1RpbWVsaW5lVHlwZSh0aW1lbGluZS50eXBlKSkKKyAgICAgICAgICAgIG92
ZXJ2aWV3R3JhcGguaGlkZGVuKCk7CiAgICAgfQogCiAgICAgX2luc3RydW1lbnRSZW1vdmVkKGV2
ZW50KQpAQCAtNTMwLDEyICs1NjIsOSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9
IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAg
ICBjb25zb2xlLmFzc2VydChpbnN0cnVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkluc3Ry
dW1lbnQsIGluc3RydW1lbnQpOwogCiAgICAgICAgIGxldCB0aW1lbGluZSA9IHRoaXMuX3JlY29y
ZGluZy50aW1lbGluZUZvckluc3RydW1lbnQoaW5zdHJ1bWVudCk7Ci0gICAgICAgIGlmICghdGhp
cy5jYW5TaG93VGltZWxpbmUodGltZWxpbmUpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXAuaGFzKHRp
bWVsaW5lKSwgdGltZWxpbmUpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9vdmVydmll
d0dyYXBoc0J5VHlwZU1hcC5oYXModGltZWxpbmUudHlwZSksIHRpbWVsaW5lKTsKIAotICAgICAg
ICBsZXQgb3ZlcnZpZXdHcmFwaCA9IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXAudGFr
ZSh0aW1lbGluZSk7CisgICAgICAgIGxldCBvdmVydmlld0dyYXBoID0gdGhpcy5fb3ZlcnZpZXdH
cmFwaHNCeVR5cGVNYXAudGFrZSh0aW1lbGluZS50eXBlKTsKICAgICAgICAgb3ZlcnZpZXdHcmFw
aC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGgu
RXZlbnQuUmVjb3JkU2VsZWN0ZWQsIHRoaXMuX3JlY29yZFNlbGVjdGVkLCB0aGlzKTsKICAgICAg
ICAgdGhpcy5fZ3JhcGhzQ29udGFpbmVyVmlldy5yZW1vdmVTdWJ2aWV3KG92ZXJ2aWV3R3JhcGgp
OwogICAgIH0KQEAgLTU1NSwxMyArNTg0LDEzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAg
ICAgICAgIGlmICh0aGlzLl90aW1lbGluZVJ1bGVyU2VsZWN0aW9uQ2hhbmdlZCkKICAgICAgICAg
ICAgIHJldHVybjsKIAotICAgICAgICBmb3IgKHZhciBvdmVydmlld0dyYXBoIG9mIHRoaXMuX3Rp
bWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXAudmFsdWVzKCkpIHsKLSAgICAgICAgICAgIHZhciBncmFw
aFJlY3QgPSBvdmVydmlld0dyYXBoLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Cisg
ICAgICAgIGZvciAobGV0IG92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5
cGVNYXAudmFsdWVzKCkpIHsKKyAgICAgICAgICAgIGxldCBncmFwaFJlY3QgPSBvdmVydmlld0dy
YXBoLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAgICBpZiAoIShl
dmVudC5wYWdlWCA+PSBncmFwaFJlY3QubGVmdCAmJiBldmVudC5wYWdlWCA8PSBncmFwaFJlY3Qu
cmlnaHQgJiYgZXZlbnQucGFnZVkgPj0gZ3JhcGhSZWN0LnRvcCAmJiBldmVudC5wYWdlWSA8PSBn
cmFwaFJlY3QuYm90dG9tKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAg
ICAgLy8gQ2xvbmUgdGhlIGV2ZW50IHRvIGRpc3BhdGNoIGl0IG9uIHRoZSBvdmVydmlldyBncmFw
aCBlbGVtZW50LgotICAgICAgICAgICAgdmFyIG5ld0NsaWNrRXZlbnQgPSBuZXcgZXZlbnQuY29u
c3RydWN0b3IoZXZlbnQudHlwZSwgZXZlbnQpOworICAgICAgICAgICAgbGV0IG5ld0NsaWNrRXZl
bnQgPSBuZXcgZXZlbnQuY29uc3RydWN0b3IoZXZlbnQudHlwZSwgZXZlbnQpOwogICAgICAgICAg
ICAgb3ZlcnZpZXdHcmFwaC5lbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3Q2xpY2tFdmVudCk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTU3MCwxOCArNTk5LDIyIEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRz
IFdlYkluc3BlY3Rvci5WaWV3CiAgICAgX3RpbWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQoZXZlbnQp
CiAgICAgewogICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyU2VsZWN0aW9uQ2hhbmdlZCA9IHRy
dWU7Ci0gICAgICAgIHRoaXMuX3NlbGVjdGlvblN0YXJ0VmFsdWVTZXR0aW5nLnZhbHVlID0gdGhp
cy5zZWxlY3Rpb25TdGFydFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7Ci0gICAgICAgIHRoaXMuX3Nl
bGVjdGlvbkR1cmF0aW9uU2V0dGluZy52YWx1ZSA9IHRoaXMuc2VsZWN0aW9uRHVyYXRpb247CisK
KyAgICAgICAgbGV0IHN0YXJ0VGltZSA9IHRoaXMuX3ZpZXdNb2RlID09PSBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlldy5WaWV3TW9kZS5UaW1lbGluZXMgPyB0aGlzLl9zdGFydFRpbWUgOiAw
OworICAgICAgICB0aGlzLl9jdXJyZW50U2V0dGluZ3Muc2VsZWN0aW9uU3RhcnRWYWx1ZVNldHRp
bmcudmFsdWUgPSB0aGlzLnNlbGVjdGlvblN0YXJ0VGltZSAtIHN0YXJ0VGltZTsKKyAgICAgICAg
dGhpcy5fY3VycmVudFNldHRpbmdzLnNlbGVjdGlvbkR1cmF0aW9uU2V0dGluZy52YWx1ZSA9IHRo
aXMuc2VsZWN0aW9uRHVyYXRpb247CiAKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0
ZW5lcnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuRXZlbnQuVGltZVJhbmdlU2VsZWN0
aW9uQ2hhbmdlZCk7CiAgICAgfQogCiAgICAgX3JlY29yZFNlbGVjdGVkKGV2ZW50KQogICAgIHsK
LSAgICAgICAgZm9yICh2YXIgW3RpbWVsaW5lLCBvdmVydmlld0dyYXBoXSBvZiB0aGlzLl90aW1l
bGluZU92ZXJ2aWV3R3JhcGhzTWFwKSB7CisgICAgICAgIGZvciAobGV0IFt0eXBlLCBvdmVydmll
d0dyYXBoXSBvZiB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcCkgewogICAgICAgICAgICAg
aWYgKG92ZXJ2aWV3R3JhcGggIT09IGV2ZW50LnRhcmdldCkKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKIAorICAgICAgICAgICAgbGV0IHRpbWVsaW5lID0gdGhpcy5fcmVjb3JkaW5nLnRpbWVs
aW5lcy5nZXQodHlwZSk7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydCh0aW1lbGluZSwgIlRp
bWVsaW5lIHJlY29yZGluZyBtaXNzaW5nIHRpbWVsaW5lIHR5cGUiLCB0eXBlKTsKICAgICAgICAg
ICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZU92
ZXJ2aWV3LkV2ZW50LlJlY29yZFNlbGVjdGVkLCB7dGltZWxpbmUsIHJlY29yZDogZXZlbnQuZGF0
YS5yZWNvcmR9KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNTg5LDkgKzYy
MiwyMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3Zl
cnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgX3Jlc2V0U2VsZWN0aW9uKCkK
ICAgICB7Ci0gICAgICAgIHRoaXMuc2Vjb25kc1BlclBpeGVsID0gdGhpcy5fZGVmYXVsdFNldHRp
bmdzVmFsdWVzLmR1cmF0aW9uUGVyUGl4ZWw7Ci0gICAgICAgIHRoaXMuc2VsZWN0aW9uU3RhcnRU
aW1lID0gdGhpcy5fZGVmYXVsdFNldHRpbmdzVmFsdWVzLnNlbGVjdGlvblN0YXJ0VmFsdWU7Ci0g
ICAgICAgIHRoaXMuc2VsZWN0aW9uRHVyYXRpb24gPSB0aGlzLl9kZWZhdWx0U2V0dGluZ3NWYWx1
ZXMuc2VsZWN0aW9uRHVyYXRpb247CisgICAgICAgIGZ1bmN0aW9uIHJlc2V0KHNldHRpbmdzKQor
ICAgICAgICB7CisgICAgICAgICAgICBzZXR0aW5ncy5kdXJhdGlvblBlclBpeGVsU2V0dGluZy5y
ZXNldCgpOworICAgICAgICAgICAgc2V0dGluZ3Muc2VsZWN0aW9uU3RhcnRWYWx1ZVNldHRpbmcu
cmVzZXQoKTsKKyAgICAgICAgICAgIHNldHRpbmdzLnNlbGVjdGlvbkR1cmF0aW9uU2V0dGluZy5y
ZXNldCgpOworICAgICAgICB9CisKKyAgICAgICAgcmVzZXQodGhpcy5fdGltZWxpbmVzU2V0dGlu
Z3MpOworICAgICAgICBpZiAodGhpcy5fcmVuZGVyaW5nRnJhbWVzU2V0dGluZ3MpCisgICAgICAg
ICAgICByZXNldCh0aGlzLl9yZW5kZXJpbmdGcmFtZXNTZXR0aW5ncyk7CisKKyAgICAgICAgdGhp
cy5zZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLl9jdXJyZW50U2V0dGluZ3MuZHVyYXRpb25QZXJQaXhl
bFNldHRpbmcudmFsdWU7CisgICAgICAgIHRoaXMuc2VsZWN0aW9uU3RhcnRUaW1lID0gdGhpcy5f
Y3VycmVudFNldHRpbmdzLnNlbGVjdGlvblN0YXJ0VmFsdWVTZXR0aW5nLnZhbHVlOworICAgICAg
ICB0aGlzLnNlbGVjdGlvbkR1cmF0aW9uID0gdGhpcy5fY3VycmVudFNldHRpbmdzLnNlbGVjdGlv
bkR1cmF0aW9uU2V0dGluZy52YWx1ZTsKICAgICB9CiAKICAgICBfcmVjb3JkaW5nUmVzZXQoZXZl
bnQpCkBAIC01OTksMTAgKzY0Myw3OCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9
IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAg
ICB0aGlzLl90aW1lbGluZVJ1bGVyLmNsZWFyTWFya2VycygpOwogICAgICAgICB0aGlzLl90aW1l
bGluZVJ1bGVyLmFkZE1hcmtlcih0aGlzLl9jdXJyZW50VGltZU1hcmtlcik7CiAgICAgfQorCisg
ICAgX2NhblNob3dUaW1lbGluZVR5cGUodHlwZSkKKyAgICB7CisgICAgICAgIGxldCB0aW1lbGlu
ZVZpZXdNb2RlOworICAgICAgICBpZiAodHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkLlR5cGUuUmVuZGVyaW5nRnJhbWUpCisgICAgICAgICAgICB0aW1lbGluZVZpZXdNb2RlID0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuVmlld01vZGUuUmVuZGVyaW5nRnJhbWVzOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICB0aW1lbGluZVZpZXdNb2RlID0gV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXcuVmlld01vZGUuVGltZWxpbmVzOworICAgICAgICByZXR1cm4gdGlt
ZWxpbmVWaWV3TW9kZSA9PT0gdGhpcy5fdmlld01vZGU7CisgICAgfQorCisgICAgX3ZpZXdNb2Rl
RGlkQ2hhbmdlKCkKKyAgICB7CisgICAgICAgIGxldCBzdGFydFRpbWUgPSAwOworICAgICAgICBs
ZXQgaXNSZW5kZXJpbmdGcmFtZXNNb2RlID0gdGhpcy5fdmlld01vZGUgPT09IFdlYkluc3BlY3Rv
ci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lczsKKyAgICAgICAgaWYg
KGlzUmVuZGVyaW5nRnJhbWVzTW9kZSkgeworICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxl
ci5taW5pbXVtU2VsZWN0aW9uRHVyYXRpb24gPSAxOworICAgICAgICAgICAgdGhpcy5fdGltZWxp
bmVSdWxlci5zbmFwSW50ZXJ2YWwgPSAxOworICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxl
ci5mb3JtYXRMYWJlbENhbGxiYWNrID0gKHZhbHVlKSA9PiB2YWx1ZS50b0ZpeGVkKDApOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5taW5pbXVtU2Vs
ZWN0aW9uRHVyYXRpb24gPSAwLjAxOworICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5z
bmFwSW50ZXJ2YWwgPSBOYU47CisgICAgICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLmZvcm1h
dExhYmVsQ2FsbGJhY2sgPSBudWxsOworCisgICAgICAgICAgICBzdGFydFRpbWUgPSB0aGlzLl9z
dGFydFRpbWU7CisgICAgICAgIH0KKworICAgICAgICB0aGlzLnBpeGVsQWxpZ25EdXJhdGlvbiA9
IGlzUmVuZGVyaW5nRnJhbWVzTW9kZTsKKyAgICAgICAgdGhpcy5zZWxlY3Rpb25TdGFydFRpbWUg
PSB0aGlzLl9jdXJyZW50U2V0dGluZ3Muc2VsZWN0aW9uU3RhcnRWYWx1ZVNldHRpbmcudmFsdWUg
KyBzdGFydFRpbWU7CisgICAgICAgIHRoaXMuc2VsZWN0aW9uRHVyYXRpb24gPSB0aGlzLl9jdXJy
ZW50U2V0dGluZ3Muc2VsZWN0aW9uRHVyYXRpb25TZXR0aW5nLnZhbHVlOworCisgICAgICAgIGZv
ciAobGV0IFt0eXBlLCBvdmVydmlld0dyYXBoXSBvZiB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlw
ZU1hcCkgeworICAgICAgICAgICAgaWYgKHRoaXMuX2NhblNob3dUaW1lbGluZVR5cGUodHlwZSkp
CisgICAgICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5zaG93bigpOworICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGguaGlkZGVuKCk7CisgICAgICAgIH0KKwor
ICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiZnJhbWVzIiwgaXNSZW5kZXJp
bmdGcmFtZXNNb2RlKTsKKyAgICB9CisKKyAgICBfY3JlYXRlVmlld01vZGVTZXR0aW5ncyh2aWV3
TW9kZSwgbWluaW11bUR1cmF0aW9uUGVyUGl4ZWwsIG1heGltdW1EdXJhdGlvblBlclBpeGVsLCBk
dXJhdGlvblBlclBpeGVsLCBzZWxlY3Rpb25TdGFydFZhbHVlLCBzZWxlY3Rpb25EdXJhdGlvbikK
KyAgICB7CisgICAgICAgIGR1cmF0aW9uUGVyUGl4ZWwgPSBNYXRoLm1pbihtYXhpbXVtRHVyYXRp
b25QZXJQaXhlbCwgTWF0aC5tYXgobWluaW11bUR1cmF0aW9uUGVyUGl4ZWwsIGR1cmF0aW9uUGVy
UGl4ZWwpKTsKKworICAgICAgICBsZXQgZHVyYXRpb25QZXJQaXhlbFNldHRpbmcgPSBuZXcgV2Vi
SW5zcGVjdG9yLlNldHRpbmcodmlld01vZGUgKyAiLWR1cmF0aW9uLXBlci1waXhlbCIsIGR1cmF0
aW9uUGVyUGl4ZWwpOworICAgICAgICBsZXQgc2VsZWN0aW9uU3RhcnRWYWx1ZVNldHRpbmcgPSBu
ZXcgV2ViSW5zcGVjdG9yLlNldHRpbmcodmlld01vZGUgKyAiLXNlbGVjdGlvbi1zdGFydC12YWx1
ZSIsIHNlbGVjdGlvblN0YXJ0VmFsdWUpOworICAgICAgICBsZXQgc2VsZWN0aW9uRHVyYXRpb25T
ZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKHZpZXdNb2RlICsgIi1zZWxlY3Rpb24t
ZHVyYXRpb24iLCBzZWxlY3Rpb25EdXJhdGlvbik7CisKKyAgICAgICAgcmV0dXJuIHsKKyAgICAg
ICAgICAgIHNjcm9sbFN0YXJ0VGltZTogMCwKKyAgICAgICAgICAgIG1pbmltdW1EdXJhdGlvblBl
clBpeGVsLAorICAgICAgICAgICAgbWF4aW11bUR1cmF0aW9uUGVyUGl4ZWwsCisgICAgICAgICAg
ICBkdXJhdGlvblBlclBpeGVsU2V0dGluZywKKyAgICAgICAgICAgIHNlbGVjdGlvblN0YXJ0VmFs
dWVTZXR0aW5nLAorICAgICAgICAgICAgc2VsZWN0aW9uRHVyYXRpb25TZXR0aW5nCisgICAgICAg
IH07CisgICAgfQorCisgICAgZ2V0IF9jdXJyZW50U2V0dGluZ3MoKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIHRoaXMuX3ZpZXdNb2RlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5W
aWV3TW9kZS5UaW1lbGluZXMgPyB0aGlzLl90aW1lbGluZXNTZXR0aW5ncyA6IHRoaXMuX3JlbmRl
cmluZ0ZyYW1lc1NldHRpbmdzOworICAgIH0KIH07CiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZU92
ZXJ2aWV3LlNjcm9sbERlbHRhRGVub21pbmF0b3IgPSA1MDA7CiAKK1dlYkluc3BlY3Rvci5UaW1l
bGluZU92ZXJ2aWV3LlZpZXdNb2RlID0geworICAgIFRpbWVsaW5lczogInRpbWVsaW5lLW92ZXJ2
aWV3LXZpZXctbW9kZS10aW1lbGluZXMiLAorICAgIFJlbmRlcmluZ0ZyYW1lczogInRpbWVsaW5l
LW92ZXJ2aWV3LXZpZXctbW9kZS1yZW5kZXJpbmctZnJhbWVzIgorfTsKKwogV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXcuRXZlbnQgPSB7CiAgICAgUmVjb3JkU2VsZWN0ZWQ6ICJ0aW1lbGlu
ZS1vdmVydmlldy1yZWNvcmQtc2VsZWN0ZWQiLAogICAgIFRpbWVSYW5nZVNlbGVjdGlvbkNoYW5n
ZWQ6ICJ0aW1lbGluZS1vdmVydmlldy10aW1lLXJhbmdlLXNlbGVjdGlvbi1jaGFuZ2VkIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IGM0ZWE1MTliYmQzMmE3MWFhY2Nm
ZWFkZTE1ZWZhMGNmMmQwNWI0NjkuLmEyOGIzYTY1ODM0ZTFlNDRhMjdkZWI5MzgxMjc0ZWEwMDM5
OTE3ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTM5LDYgKzM5
LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5l
T3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdlYkluc3AKICAgICAgICAgdGhpcy5fc2VsZWN0ZWRSZWNv
cmQgPSBudWxsOwogICAgICAgICB0aGlzLl9zZWxlY3RlZFJlY29yZENoYW5nZWQgPSBmYWxzZTsK
ICAgICAgICAgdGhpcy5fc2NoZWR1bGVkU2VsZWN0ZWRSZWNvcmRMYXlvdXRVcGRhdGVJZGVudGlm
aWVyID0gdW5kZWZpbmVkOworICAgICAgICB0aGlzLl92aXNpYmxlID0gdHJ1ZTsKICAgICB9CiAK
ICAgICAvLyBQdWJsaWMKQEAgLTE3MiwxMyArMTczLDIxIEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5kcyBXZWJJ
bnNwCiAKICAgICBzaG93bigpCiAgICAgeworICAgICAgICBpZiAodGhpcy5fdmlzaWJsZSkKKyAg
ICAgICAgICAgIHJldHVybjsKKwogICAgICAgICB0aGlzLl92aXNpYmxlID0gdHJ1ZTsKKyAgICAg
ICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsICF0aGlzLl92aXNpYmxl
KTsKICAgICAgICAgdGhpcy51cGRhdGVMYXlvdXQoKTsKICAgICB9CiAKICAgICBoaWRkZW4oKQog
ICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl92aXNpYmxlKQorICAgICAgICAgICAgcmV0dXJuOwor
CiAgICAgICAgIHRoaXMuX3Zpc2libGUgPSBmYWxzZTsKKyAgICAgICAgdGhpcy5lbGVtZW50LmNs
YXNzTGlzdC50b2dnbGUoImhpZGRlbiIsICF0aGlzLl92aXNpYmxlKTsKICAgICB9CiAKICAgICBy
ZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRGcmFtZS5qcwppbmRleCBiOTE4ZTM5OWZmNTNi
MDI0YjMzMjczNzc5ZGJmM2U5MWM2MjFjODVmLi45NmQxYzJlODU4NDdjODA4MDA5N2E2OGYyMzc1
ZWYwYTk3ZTQzNTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuanMKQEAgLTEwOCw3
ICsxMDgsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZSA9IGNsYXNzIFRpbWVs
aW5lUmVjb3JkRnJhbWUgZXh0ZW5kcyBXZWJJbnNwZWN0bwogCiAgICAgX2NhbGN1bGF0ZUZyYW1l
RGlzcGxheURhdGEoZ3JhcGhEYXRhU291cmNlKQogICAgIHsKLSAgICAgICAgdmFyIHNlY29uZHNQ
ZXJCbG9jayA9IChncmFwaERhdGFTb3VyY2UuZ3JhcGhIZWlnaHRTZWNvbmRzIC8gZ3JhcGhEYXRh
U291cmNlLmVsZW1lbnQub2Zmc2V0SGVpZ2h0KSAqIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZEZyYW1lLk1pbmltdW1IZWlnaHRQaXhlbHM7CisgICAgICAgIHZhciBzZWNvbmRzUGVyQmxvY2sg
PSAoZ3JhcGhEYXRhU291cmNlLmdyYXBoSGVpZ2h0U2Vjb25kcyAvIGdyYXBoRGF0YVNvdXJjZS5o
ZWlnaHQpICogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuTWluaW11bUhlaWdodFBp
eGVsczsKICAgICAgICAgdmFyIHNlZ21lbnRzID0gW107CiAgICAgICAgIHZhciBpbnZpc2libGVT
ZWdtZW50cyA9IFtdOwogICAgICAgICB2YXIgY3VycmVudFNlZ21lbnQgPSBudWxsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMKaW5kZXggNWVlNTJmZjdj
MGNjNmM3ZGVmNzRlODQwYTA2MzdjMTdhNmFmZWRmZC4uY2ZhYmE1OGMzMzBlNDRmZmZkNDIzNGNm
MTgwMDRkMzRlYzgzYjU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0Nv
bnRlbnRWaWV3LmpzCkBAIC0zOCwxNiArMzgsMTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUK
IAogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgidGltZWxpbmUtcmVjb3JkaW5n
Iik7CiAKLSAgICAgICAgdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldyA9IG5ldyBXZWJJbnNw
ZWN0b3IuTGluZWFyVGltZWxpbmVPdmVydmlldyh0aGlzLl9yZWNvcmRpbmcpOwotICAgICAgICB0
aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXcuRXZlbnQuVGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCwgdGhpcy5f
dGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCwgdGhpcyk7Ci0KLSAgICAgICAgdGhpcy5fcmVuZGVy
aW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3ID0gbmV3IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lT3ZlcnZpZXcodGhpcy5fcmVjb3JkaW5nKTsKLSAgICAgICAgdGhpcy5fcmVuZGVy
aW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lT3ZlcnZpZXcuRXZlbnQuVGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCwgdGhpcy5fdGlt
ZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCwgdGhpcyk7Ci0gICAgICAgIHRoaXMuX3JlbmRlcmluZ0Zy
YW1lVGltZWxpbmVPdmVydmlldy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU92ZXJ2aWV3LkV2ZW50LlJlY29yZFNlbGVjdGVkLCB0aGlzLl9yZWNvcmRTZWxlY3RlZCwgdGhp
cyk7Ci0KLSAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcgPSB0aGlzLl9saW5l
YXJUaW1lbGluZU92ZXJ2aWV3OwotCi0gICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9jdXJy
ZW50VGltZWxpbmVPdmVydmlldyk7CisgICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcgPSBu
ZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcodGhpcy5fcmVjb3JkaW5nKTsKKyAgICAg
ICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5U
aW1lbGluZU92ZXJ2aWV3LkV2ZW50LlRpbWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQsIHRoaXMuX3Rp
bWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQsIHRoaXMpOworICAgICAgICB0aGlzLl90aW1lbGluZU92
ZXJ2aWV3LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuRXZl
bnQuUmVjb3JkU2VsZWN0ZWQsIHRoaXMuX3JlY29yZFNlbGVjdGVkLCB0aGlzKTsKKyAgICAgICAg
dGhpcy5hZGRTdWJ2aWV3KHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcpOwogCiAgICAgICAgIHRoaXMu
X2NvbnRlbnRWaWV3Q29udGFpbmVyID0gbmV3IFdlYkluc3BlY3Rvci5Db250ZW50Vmlld0NvbnRh
aW5lcjsKICAgICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuQ29udGVudFZpZXdDb250YWluZXIuRXZlbnQuQ3VycmVudENvbnRlbnRW
aWV3RGlkQ2hhbmdlLCB0aGlzLl9jdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UsIHRoaXMpOwpA
QCAtNTcsNyArNTEsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgZQogICAgICAgICB0aGlzLl9j
bGVhclRpbWVsaW5lTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
QnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fY2xlYXJUaW1lbGluZSwg
dGhpcyk7CiAKICAgICAgICAgdGhpcy5fb3ZlcnZpZXdUaW1lbGluZVZpZXcgPSBuZXcgV2ViSW5z
cGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVWaWV3KHJlY29yZGluZywge3RpbWVsaW5lU2lkZWJhclBh
bmVsOiB0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbH0pOwotICAgICAgICB0aGlzLl9vdmVydmll
d1RpbWVsaW5lVmlldy5zZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2
aWV3LnNlY29uZHNQZXJQaXhlbDsKKyAgICAgICAgdGhpcy5fb3ZlcnZpZXdUaW1lbGluZVZpZXcu
c2Vjb25kc1BlclBpeGVsID0gdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWNvbmRzUGVyUGl4ZWw7
CiAKICAgICAgICAgdGhpcy5fdGltZWxpbmVWaWV3TWFwID0gbmV3IE1hcDsKICAgICAgICAgdGhp
cy5fcGF0aENvbXBvbmVudE1hcCA9IG5ldyBNYXA7CkBAIC0xNjEsMTIgKzE1NSwxMiBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcgZQogCiAgICAgZ2V0IHRpbWVsaW5lT3ZlcnZpZXdIZWlnaHQoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LmhlaWdo
dDsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuaGVpZ2h0OwogICAgIH0K
IAogICAgIHNob3duKCkKICAgICB7Ci0gICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2
aWV3LnNob3duKCk7CisgICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2hvd24oKTsKICAg
ICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuc2hvd24oKTsKICAgICAgICAgdGhpcy5f
Y2xlYXJUaW1lbGluZU5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSAhdGhpcy5fcmVjb3JkaW5nLnJl
YWRvbmx5ICYmICFpc05hTih0aGlzLl9yZWNvcmRpbmcuc3RhcnRUaW1lKTsKIApAQCAtMTc4LDcg
KzE3Miw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xh
c3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAKICAgICBoaWRkZW4oKQogICAgIHsK
LSAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuaGlkZGVuKCk7CisgICAgICAg
IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuaGlkZGVuKCk7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRW
aWV3Q29udGFpbmVyLmhpZGRlbigpOwogCiAgICAgICAgIGlmICh0aGlzLl91cGRhdGluZykKQEAg
LTI0OSw3ICsyNDMsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgZQogICAgICAgICBpZiAoIXRo
aXMuY3VycmVudFRpbWVsaW5lVmlldykKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0
aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmlldy5yZWNvcmRXYXNGaWx0ZXJlZCh0aGlzLmN1cnJl
bnRUaW1lbGluZVZpZXcucmVwcmVzZW50ZWRPYmplY3QsIHJlY29yZCwgZmlsdGVyZWQpOworICAg
ICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnJlY29yZFdhc0ZpbHRlcmVkKHRoaXMuY3VycmVu
dFRpbWVsaW5lVmlldy5yZXByZXNlbnRlZE9iamVjdCwgcmVjb3JkLCBmaWx0ZXJlZCk7CiAgICAg
fQogCiAgICAgbWF0Y2hUcmVlRWxlbWVudEFnYWluc3RDdXN0b21GaWx0ZXJzKHRyZWVFbGVtZW50
KQpAQCAtMjU3LDIwICsyNTEsMjAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKICAgICAgICAg
aWYgKHRoaXMuY3VycmVudFRpbWVsaW5lVmlldyAmJiAhdGhpcy5jdXJyZW50VGltZWxpbmVWaWV3
Lm1hdGNoVHJlZUVsZW1lbnRBZ2FpbnN0Q3VzdG9tRmlsdGVycyh0cmVlRWxlbWVudCkpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgdmFyIHN0YXJ0VGltZSA9IHRoaXMuX2N1
cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZTsKLSAgICAgICAgdmFyIGVu
ZFRpbWUgPSBzdGFydFRpbWUgKyB0aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmlldy5zZWxlY3Rp
b25EdXJhdGlvbjsKLSAgICAgICAgdmFyIGN1cnJlbnRUaW1lID0gdGhpcy5fY3VycmVudFRpbWUg
fHwgdGhpcy5fcmVjb3JkaW5nLnN0YXJ0VGltZTsKKyAgICAgICAgbGV0IHN0YXJ0VGltZSA9IHRo
aXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lOworICAgICAgICBsZXQgZW5k
VGltZSA9IHN0YXJ0VGltZSArIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRp
b247CisgICAgICAgIGxldCBjdXJyZW50VGltZSA9IHRoaXMuX2N1cnJlbnRUaW1lIHx8IHRoaXMu
X3JlY29yZGluZy5zdGFydFRpbWU7CiAKLSAgICAgICAgaWYgKHRoaXMuX3RpbWVsaW5lU2lkZWJh
clBhbmVsLnZpZXdNb2RlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuVmll
d01vZGUuUmVuZGVyaW5nRnJhbWVzKSB7CisgICAgICAgIGlmICh0aGlzLl90aW1lbGluZU92ZXJ2
aWV3LnZpZXdNb2RlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5WaWV3TW9kZS5S
ZW5kZXJpbmdGcmFtZXMpIHsKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3JlbmRl
cmluZ0ZyYW1lVGltZWxpbmUpOwogCiAgICAgICAgICAgICBpZiAodGhpcy5fcmVuZGVyaW5nRnJh
bWVUaW1lbGluZSAmJiB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lLnJlY29yZHMubGVuZ3Ro
KSB7Ci0gICAgICAgICAgICAgICAgdmFyIHJlY29yZHMgPSB0aGlzLl9yZW5kZXJpbmdGcmFtZVRp
bWVsaW5lLnJlY29yZHM7Ci0gICAgICAgICAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSB0aGlzLl9j
dXJyZW50VGltZWxpbmVPdmVydmlldy50aW1lbGluZVJ1bGVyLnNuYXBJbnRlcnZhbCA/IHN0YXJ0
VGltZSA6IE1hdGguZmxvb3Ioc3RhcnRUaW1lKTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3Jk
cyA9IHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmUucmVjb3JkczsKKyAgICAgICAgICAgICAg
ICBsZXQgc3RhcnRJbmRleCA9IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcudGltZWxpbmVSdWxlci5z
bmFwSW50ZXJ2YWwgPyBzdGFydFRpbWUgOiBNYXRoLmZsb29yKHN0YXJ0VGltZSk7CiAgICAgICAg
ICAgICAgICAgaWYgKHN0YXJ0SW5kZXggPj0gcmVjb3Jkcy5sZW5ndGgpCiAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICAgICAgICAgIHZhciBlbmRJbmRleCA9IHRo
aXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnRpbWVsaW5lUnVsZXIuc25hcEludGVydmFsID8g
ZW5kVGltZSAtIDE6IE1hdGguZmxvb3IoZW5kVGltZSk7CisgICAgICAgICAgICAgICAgbGV0IGVu
ZEluZGV4ID0gdGhpcy5fdGltZWxpbmVPdmVydmlldy50aW1lbGluZVJ1bGVyLnNuYXBJbnRlcnZh
bCA/IGVuZFRpbWUgLSAxOiBNYXRoLmZsb29yKGVuZFRpbWUpOwogICAgICAgICAgICAgICAgIGVu
ZEluZGV4ID0gTWF0aC5taW4oZW5kSW5kZXgsIHJlY29yZHMubGVuZ3RoIC0gMSk7CiAgICAgICAg
ICAgICAgICAgY29uc29sZS5hc3NlcnQoc3RhcnRJbmRleCA8PSBlbmRJbmRleCwgc3RhcnRJbmRl
eCk7CiAKQEAgLTMyOCwzMSArMzIyLDIyIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAKICAg
ICBfY3VycmVudENvbnRlbnRWaWV3RGlkQ2hhbmdlKGV2ZW50KQogICAgIHsKLSAgICAgICAgbGV0
IG5ld1RpbWVsaW5lT3ZlcnZpZXc7CisgICAgICAgIGxldCBuZXdWaWV3TW9kZTsKICAgICAgICAg
bGV0IHRpbWVsaW5lVmlldyA9IHRoaXMuY3VycmVudFRpbWVsaW5lVmlldzsKICAgICAgICAgaWYg
KHRpbWVsaW5lVmlldyAmJiB0aW1lbGluZVZpZXcucmVwcmVzZW50ZWRPYmplY3QudHlwZSA9PT0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWUpCi0gICAgICAg
ICAgICBuZXdUaW1lbGluZU92ZXJ2aWV3ID0gdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZU92
ZXJ2aWV3OworICAgICAgICAgICAgbmV3Vmlld01vZGUgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlldy5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXM7CiAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIG5ld1RpbWVsaW5lT3ZlcnZpZXcgPSB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3Owot
Ci0gICAgICAgIGlmIChuZXdUaW1lbGluZU92ZXJ2aWV3ICE9PSB0aGlzLl9jdXJyZW50VGltZWxp
bmVPdmVydmlldykgewotICAgICAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcu
aGlkZGVuKCk7Ci0KLSAgICAgICAgICAgIHRoaXMucmVwbGFjZVN1YnZpZXcodGhpcy5fY3VycmVu
dFRpbWVsaW5lT3ZlcnZpZXcsIG5ld1RpbWVsaW5lT3ZlcnZpZXcpOwotCi0gICAgICAgICAgICB0
aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmlldyA9IG5ld1RpbWVsaW5lT3ZlcnZpZXc7CisgICAg
ICAgICAgICBuZXdWaWV3TW9kZSA9IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdN
b2RlLlRpbWVsaW5lczsKIAotICAgICAgICAgICAgdGhpcy5fdXBkYXRlVGltZWxpbmVPdmVydmll
d0hlaWdodCgpOwotICAgICAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuc2hv
d24oKTsKLSAgICAgICAgfQorICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnZpZXdNb2Rl
ID0gbmV3Vmlld01vZGU7CiAKICAgICAgICAgaWYgKHRpbWVsaW5lVmlldykgewogICAgICAgICAg
ICAgdGhpcy5fdGltZWxpbmVTaWRlYmFyUGFuZWwuY29udGVudFRyZWVPdXRsaW5lID0gdGltZWxp
bmVWaWV3Lm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmU7CiAgICAgICAgICAgICB0aGlzLl90
aW1lbGluZVNpZGViYXJQYW5lbC5jb250ZW50VHJlZU91dGxpbmVMYWJlbCA9IHRpbWVsaW5lVmll
dy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lTGFiZWw7CiAgICAgICAgICAgICB0aGlzLl90
aW1lbGluZVNpZGViYXJQYW5lbC5jb250ZW50VHJlZU91dGxpbmVTY29wZUJhciA9IHRpbWVsaW5l
Vmlldy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lU2NvcGVCYXI7CiAKLSAgICAgICAgICAg
IHRpbWVsaW5lVmlldy5zdGFydFRpbWUgPSBuZXdUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0
YXJ0VGltZTsKLSAgICAgICAgICAgIHRpbWVsaW5lVmlldy5lbmRUaW1lID0gbmV3VGltZWxpbmVP
dmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWUgKyBuZXdUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlv
bkR1cmF0aW9uOworICAgICAgICAgICAgdGltZWxpbmVWaWV3LnN0YXJ0VGltZSA9IHRoaXMuX3Rp
bWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lOworICAgICAgICAgICAgdGltZWxpbmVW
aWV3LmVuZFRpbWUgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZSAr
IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRpb247CiAgICAgICAgICAgICB0
aW1lbGluZVZpZXcuY3VycmVudFRpbWUgPSB0aGlzLl9jdXJyZW50VGltZTsKICAgICAgICAgfQog
CkBAIC0zNzcsNyArMzYyLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKIAogICAgICAgICB2
YXIgcmVjb3JkUGF0aENvbXBvbmVudCA9IHRoaXMuc2VsZWN0aW9uUGF0aENvbXBvbmVudHMuZmlu
ZChmdW5jdGlvbihlbGVtZW50KSB7IHJldHVybiBlbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0IGlu
c3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkOyB9KTsKICAgICAgICAgdmFyIHJl
Y29yZCA9IHJlY29yZFBhdGhDb21wb25lbnQgPyByZWNvcmRQYXRoQ29tcG9uZW50LnJlcHJlc2Vu
dGVkT2JqZWN0IDogbnVsbDsKLSAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcu
c2VsZWN0UmVjb3JkKGV2ZW50LnRhcmdldC5yZXByZXNlbnRlZE9iamVjdCwgcmVjb3JkKTsKKyAg
ICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3RSZWNvcmQoZXZlbnQudGFyZ2V0LnJl
cHJlc2VudGVkT2JqZWN0LCByZWNvcmQpOwogICAgIH0KIAogICAgIF9jb250ZW50Vmlld1N1cHBs
ZW1lbnRhbFJlcHJlc2VudGVkT2JqZWN0c0RpZENoYW5nZShldmVudCkKQEAgLTQxOSwxMSArNDA0
LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgPSBjbGFzcyBU
aW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKICAgICBfdXBkYXRlVGltZXMoc3RhcnRUaW1l
LCBjdXJyZW50VGltZSwgZW5kVGltZSkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9zdGFydFRp
bWVOZWVkc1Jlc2V0ICYmICFpc05hTihzdGFydFRpbWUpKSB7Ci0gICAgICAgICAgICB2YXIgc2Vs
ZWN0aW9uT2Zmc2V0ID0gdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFy
dFRpbWUgLSB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3LnN0YXJ0VGltZTsKLQotICAgICAg
ICAgICAgdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldy5zdGFydFRpbWUgPSBzdGFydFRpbWU7
Ci0gICAgICAgICAgICB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0
VGltZSA9IHN0YXJ0VGltZSArIHNlbGVjdGlvbk9mZnNldDsKLQorICAgICAgICAgICAgdGhpcy5f
dGltZWxpbmVPdmVydmlldy5zdGFydFRpbWUgPSBzdGFydFRpbWU7CiAgICAgICAgICAgICB0aGlz
Ll9vdmVydmlld1RpbWVsaW5lVmlldy56ZXJvVGltZSA9IHN0YXJ0VGltZTsKICAgICAgICAgICAg
IGZvciAodmFyIHRpbWVsaW5lVmlldyBvZiB0aGlzLl90aW1lbGluZVZpZXdNYXAudmFsdWVzKCkp
CiAgICAgICAgICAgICAgICAgdGltZWxpbmVWaWV3Lnplcm9UaW1lID0gc3RhcnRUaW1lOwpAQCAt
NDMxLDI1ICs0MTIsMTcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZp
ZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKICAgICAgICAgICAgIHRo
aXMuX3N0YXJ0VGltZU5lZWRzUmVzZXQgPSBmYWxzZTsKICAgICAgICAgfQogCi0gICAgICAgIHRo
aXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuZW5kVGltZSA9IE1hdGgubWF4KGVuZFRpbWUsIGN1
cnJlbnRUaW1lKTsKKyAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5lbmRUaW1lID0gTWF0
aC5tYXgoZW5kVGltZSwgY3VycmVudFRpbWUpOwogCiAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1l
ID0gY3VycmVudFRpbWU7Ci0gICAgICAgIHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuY3Vy
cmVudFRpbWUgPSBjdXJyZW50VGltZTsKKyAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5j
dXJyZW50VGltZSA9IGN1cnJlbnRUaW1lOwogICAgICAgICBpZiAodGhpcy5jdXJyZW50VGltZWxp
bmVWaWV3KQogICAgICAgICAgICAgdGhpcy5jdXJyZW50VGltZWxpbmVWaWV3LmN1cnJlbnRUaW1l
ID0gY3VycmVudFRpbWU7CiAKLSAgICAgICAgaWYgKHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxp
bmUpIHsKLSAgICAgICAgICAgIHZhciBjdXJyZW50RnJhbWVOdW1iZXIgPSAwOwotICAgICAgICAg
ICAgaWYgKHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmUucmVjb3Jkcy5sZW5ndGgpCi0gICAg
ICAgICAgICAgICAgY3VycmVudEZyYW1lTnVtYmVyID0gdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1l
bGluZS5yZWNvcmRzLmxhc3RWYWx1ZS5mcmFtZU51bWJlcjsKLQotICAgICAgICAgICAgdGhpcy5f
cmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3LmN1cnJlbnRUaW1lID0gdGhpcy5fcmVuZGVy
aW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3LmVuZFRpbWUgPSBjdXJyZW50RnJhbWVOdW1iZXI7Ci0g
ICAgICAgIH0KLQogICAgICAgICB0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbC51cGRhdGVGaWx0
ZXIoKTsKIAogICAgICAgICAvLyBGb3JjZSBhIGxheW91dCBub3cgc2luY2Ugd2UgYXJlIGFscmVh
ZHkgaW4gYW4gYW5pbWF0aW9uIGZyYW1lIGFuZCBkb24ndCBuZWVkIHRvIGRlbGF5IGl0IHVudGls
IHRoZSBuZXh0LgotICAgICAgICB0aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmlldy51cGRhdGVM
YXlvdXRJZk5lZWRlZCgpOworICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnVwZGF0ZUxh
eW91dElmTmVlZGVkKCk7CiAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcpCiAg
ICAgICAgICAgICB0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcudXBkYXRlTGF5b3V0SWZOZWVkZWQo
KTsKICAgICB9CkBAIC01NTYsNyArNTI5LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKICAg
ICAgICAgY29uc3QgcnVsZXJIZWlnaHQgPSAyOTsKICAgICAgICAgCiAgICAgICAgIGxldCBzdHls
ZVZhbHVlID0gKHJ1bGVySGVpZ2h0ICsgdGhpcy50aW1lbGluZU92ZXJ2aWV3SGVpZ2h0KSArICJw
eCI7Ci0gICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LmVsZW1lbnQuc3R5bGUu
aGVpZ2h0ID0gc3R5bGVWYWx1ZTsKKyAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5lbGVt
ZW50LnN0eWxlLmhlaWdodCA9IHN0eWxlVmFsdWU7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3
Q29udGFpbmVyLmVsZW1lbnQuc3R5bGUudG9wID0gc3R5bGVWYWx1ZTsKICAgICB9CiAKQEAgLTYz
MSw4ICs2MDQsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9
IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgZQogICAgICAgICB0aGlzLl9yZWNv
cmRpbmcucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmcu
RXZlbnQuVGltZXNVcGRhdGVkLCB0aGlzLl9yZWNvcmRpbmdUaW1lc1VwZGF0ZWQsIHRoaXMpOwog
ICAgICAgICB0aGlzLl93YWl0aW5nVG9SZXNldEN1cnJlbnRUaW1lID0gZmFsc2U7CiAKLSAgICAg
ICAgdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldy5yZXNldCgpOwotICAgICAgICB0aGlzLl9y
ZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcucmVzZXQoKTsKKyAgICAgICAgdGhpcy5fdGlt
ZWxpbmVPdmVydmlldy5yZXNldCgpOwogICAgICAgICB0aGlzLl9vdmVydmlld1RpbWVsaW5lVmll
dy5yZXNldCgpOwogICAgICAgICBmb3IgKHZhciB0aW1lbGluZVZpZXcgb2YgdGhpcy5fdGltZWxp
bmVWaWV3TWFwLnZhbHVlcygpKQogICAgICAgICAgICAgdGltZWxpbmVWaWV3LnJlc2V0KCk7CkBA
IC02NTAsOCArNjIyLDggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZp
ZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKICAgICBfdGltZVJhbmdl
U2VsZWN0aW9uQ2hhbmdlZChldmVudCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRU
aW1lbGluZVZpZXcpIHsKLSAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5zdGFy
dFRpbWUgPSB0aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWU7
Ci0gICAgICAgICAgICB0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcuZW5kVGltZSA9IHRoaXMuX2N1
cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZSArIHRoaXMuX2N1cnJlbnRU
aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvbkR1cmF0aW9uOworICAgICAgICAgICAgdGhpcy5jdXJy
ZW50VGltZWxpbmVWaWV3LnN0YXJ0VGltZSA9IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0
aW9uU3RhcnRUaW1lOworICAgICAgICAgICAgdGhpcy5jdXJyZW50VGltZWxpbmVWaWV3LmVuZFRp
bWUgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZSArIHRoaXMuX3Rp
bWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRpb247CiAKICAgICAgICAgICAgIGlmICh0aGlz
LmN1cnJlbnRUaW1lbGluZVZpZXcucmVwcmVzZW50ZWRPYmplY3QudHlwZSA9PT0gV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWUpCiAgICAgICAgICAgICAgICAg
dGhpcy5fdXBkYXRlRnJhbWVTZWxlY3Rpb24oKTsKQEAgLTcwMSw4ICs2NzMsOCBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcgZQogICAgICAgICBpZiAoIXRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxp
bmUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSB0aGlz
Ll9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lOwotICAg
ICAgICB2YXIgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1l
bGluZU92ZXJ2aWV3LnNlbGVjdGlvbkR1cmF0aW9uIC0gMTsKKyAgICAgICAgbGV0IHN0YXJ0SW5k
ZXggPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZTsKKyAgICAgICAg
bGV0IGVuZEluZGV4ID0gc3RhcnRJbmRleCArIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0
aW9uRHVyYXRpb24gLSAxOwogICAgICAgICB0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbC51cGRh
dGVGcmFtZVNlbGVjdGlvbihzdGFydEluZGV4LCBlbmRJbmRleCk7CiAgICAgfQogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
U2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKaW5kZXggODkxNTZlYzhjM2UwMDczMTI3Yjc3NmUz
ODk4NDk2NjVmNmI3YzQ3OC4uOTI5MDNjYzI5Y2IwMjU0NzUxZThkYmEyM2Q3MTE4MDQ0YmQ4OTgz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKQEAgLTgxLDggKzgxLDggQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFy
UGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9y
ZSh0aGlzLl9iYXNpY1RpdGxlQmFyLCB0aGlzLmVsZW1lbnQuZmlyc3RDaGlsZCk7CiAKICAgICAg
ICAgaWYgKFdlYkluc3BlY3Rvci5GUFNJbnN0cnVtZW50LnN1cHBvcnRlZCgpKSB7Ci0gICAgICAg
ICAgICB2YXIgdGltZWxpbmVzTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLlJhZGlv
QnV0dG9uTmF2aWdhdGlvbkl0ZW0oV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZp
ZXdNb2RlLlRpbWVsaW5lcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lbGluZXMiKSkKLSAg
ICAgICAgICAgIHZhciByZW5kZXJpbmdGcmFtZXNOYXZpZ2F0aW9uSXRlbSA9IG5ldyBXZWJJbnNw
ZWN0b3IuUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbShXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRl
YmFyUGFuZWwuVmlld01vZGUuUmVuZGVyaW5nRnJhbWVzLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlJlbmRlcmluZyBGcmFtZXMiKSkKKyAgICAgICAgICAgIGxldCB0aW1lbGluZXNOYXZpZ2F0aW9u
SXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbShXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldy5WaWV3TW9kZS5UaW1lbGluZXMsIFdlYkluc3BlY3Rvci5V
SVN0cmluZygiVGltZWxpbmVzIikpCisgICAgICAgICAgICBsZXQgcmVuZGVyaW5nRnJhbWVzTmF2
aWdhdGlvbkl0ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0o
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuVmlld01vZGUuUmVuZGVyaW5nRnJhbWVzLCBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlbmRlcmluZyBGcmFtZXMiKSkKICAgICAgICAgICAgIHRo
aXMuX3ZpZXdNb2RlTmF2aWdhdGlvbkJhciA9IG5ldyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJh
cihudWxsLCBbdGltZWxpbmVzTmF2aWdhdGlvbkl0ZW0sIHJlbmRlcmluZ0ZyYW1lc05hdmlnYXRp
b25JdGVtXSwgInRhYmxpc3QiKTsKICAgICAgICAgICAgIHRoaXMuX3ZpZXdNb2RlTmF2aWdhdGlv
bkJhci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uQmFyLkV2ZW50Lk5h
dmlnYXRpb25JdGVtU2VsZWN0ZWQsIHRoaXMuX3ZpZXdNb2RlU2VsZWN0ZWQsIHRoaXMpOwogCkBA
IC0xOTgsOSArMTk4LDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xh
c3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgaWYgKHRo
aXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3KQogICAgICAgICAgICAgdGhpcy5jb250ZW50QnJvd3Nl
ci5zaG93Q29udGVudFZpZXcodGhpcy5fZGlzcGxheWVkQ29udGVudFZpZXcpOwogCi0gICAgICAg
IGlmICh0aGlzLnZpZXdNb2RlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwu
Vmlld01vZGUuUmVuZGVyaW5nRnJhbWVzKQotICAgICAgICAgICAgdGhpcy5fcmVmcmVzaEZyYW1l
U2VsZWN0aW9uQ2hhcnQoKTsKLQogICAgICAgICB0aGlzLl90b2dnbGVSZWNvcmRpbmdTaG9ydGN1
dC5kaXNhYmxlZCA9IGZhbHNlOwogICAgICAgICB0aGlzLl90b2dnbGVOZXdSZWNvcmRpbmdTaG9y
dGN1dC5kaXNhYmxlZCA9IGZhbHNlOwogCkBAIC0yMjYsMTEgKzIyMyw2IEBAIFdlYkluc3BlY3Rv
ci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVu
ZHMgV2ViSW5zcGVjCiAgICAgICAgIFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIucmVzZXQo
KTsKICAgICB9CiAKLSAgICBnZXQgdmlld01vZGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRo
aXMuX3ZpZXdNb2RlOwotICAgIH0KLQogICAgIHNob3dEZWZhdWx0Q29udGVudFZpZXcoKQogICAg
IHsKICAgICAgICAgaWYgKHRoaXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3KQpAQCAtMzQzLDkgKzMz
NSw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5l
U2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAgICAgICAgdGhpcy5fZGlzcGxheWVk
Q29udGVudFZpZXcuc2hvd092ZXJ2aWV3VGltZWxpbmVWaWV3KCk7CiAgICAgICAgIHRoaXMuY29u
dGVudEJyb3dzZXIuc2hvd0NvbnRlbnRWaWV3KHRoaXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3KTsK
LQotICAgICAgICB2YXIgc2VsZWN0ZWRCeVVzZXIgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5fY2hh
bmdlVmlld01vZGUoV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlLlRp
bWVsaW5lcywgc2VsZWN0ZWRCeVVzZXIpOwogICAgIH0KIAogICAgIHNob3dUaW1lbGluZVZpZXdG
b3JUaW1lbGluZSh0aW1lbGluZSkKQEAgLTM1MywxMCArMzQyLDYgQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBX
ZWJJbnNwZWMKICAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuVGltZWxpbmUsIHRpbWVsaW5lKTsKICAgICAgICAgY29uc29sZS5hc3NlcnQodGhp
cy5fZGlzcGxheWVkUmVjb3JkaW5nLnRpbWVsaW5lcy5oYXModGltZWxpbmUudHlwZSksICJDYW5u
b3Qgc2hvdyB0aW1lbGluZSBiZWNhdXNlIGl0IGRvZXMgbm90IGJlbG9uZyB0byB0aGUgc2hvd24g
cmVjb3JkaW5nLiIsIHRpbWVsaW5lLnR5cGUpOwogCi0gICAgICAgIC8vIFRoZSBzaWRlYmFyIHZp
ZXcgbW9kZSBtdXN0IGJlIGluIHRoZSBjb3JyZWN0IHN0YXRlIGJlZm9yZSBjaGFuZ2luZyB0aGUg
Y29udGVudCB2aWV3LgotICAgICAgICB2YXIgc2VsZWN0ZWRCeVVzZXIgPSBmYWxzZTsKLSAgICAg
ICAgdGhpcy5fY2hhbmdlVmlld01vZGUodGhpcy5fdmlld01vZGVGb3JUaW1lbGluZSh0aW1lbGlu
ZSksIHNlbGVjdGVkQnlVc2VyKTsKLQogICAgICAgICBpZiAodGhpcy5fdGltZWxpbmVUcmVlRWxl
bWVudE1hcC5oYXModGltZWxpbmUpKSB7CiAgICAgICAgICAgICAvLyBEZWZlciBzaG93aW5nIHRo
ZSByZWxldmFudCB0aW1lbGluZSB0byB0aGUgb25zZWxlY3QgaGFuZGxlciBvZiB0aGUgdGltZWxp
bmVzIHRyZWUgZWxlbWVudC4KICAgICAgICAgICAgIHZhciB3YXNTZWxlY3RlZEJ5VXNlciA9IHRy
dWU7CkBAIC0zNzEsNyArMzU2LDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVs
ID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICB1cGRh
dGVGcmFtZVNlbGVjdGlvbihzdGFydEZyYW1lSW5kZXgsIGVuZEZyYW1lSW5kZXgpCiAgICAgewog
ICAgICAgICBjb25zb2xlLmFzc2VydChzdGFydEZyYW1lSW5kZXggPD0gZW5kRnJhbWVJbmRleCwg
c3RhcnRGcmFtZUluZGV4LCBlbmRGcmFtZUluZGV4KTsKLSAgICAgICAgY29uc29sZS5hc3NlcnQo
dGhpcy52aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdN
b2RlLlJlbmRlcmluZ0ZyYW1lcywgdGhpcy5fdmlld01vZGUpOwogICAgICAgICBpZiAodGhpcy5f
c3RhcnRGcmFtZUluZGV4ID09PSBzdGFydEZyYW1lSW5kZXggJiYgdGhpcy5fZW5kRnJhbWVJbmRl
eCA9PT0gZW5kRnJhbWVJbmRleCkKICAgICAgICAgICAgIHJldHVybjsKIApAQCAtNDE4LDcgKzQw
Miw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5l
U2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIGlmICghdGhpcy5fZGlzcGxh
eWVkQ29udGVudFZpZXcpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgICAgICBpZiAo
dGhpcy5fdmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3
TW9kZS5SZW5kZXJpbmdGcmFtZXMgJiYgdGhpcy5fcmVuZGVyaW5nRnJhbWVUYXNrRmlsdGVyLnNp
emUpIHsKKyAgICAgICAgaWYgKHRoaXMuX3ZpZXdNb2RlID09PSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlldy5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXMgJiYgdGhpcy5fcmVuZGVyaW5nRnJh
bWVUYXNrRmlsdGVyLnNpemUpIHsKICAgICAgICAgICAgIHdoaWxlICh0cmVlRWxlbWVudCAmJiAh
KHRyZWVFbGVtZW50LnJlY29yZCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZCkpCiAgICAgICAgICAgICAgICAgdHJlZUVsZW1lbnQgPSB0cmVlRWxlbWVudC5wYXJlbnQ7CiAK
QEAgLTQ4Nyw3ICs0NzEsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBj
bGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogCiAgICAgICAgIGNv
b2tpZVtXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuU2hvd2luZ1RpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXdDb29raWVLZXldID0gdGhpcy5jb250ZW50QnJvd3Nlci5jdXJyZW50
Q29udGVudFZpZXcgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250
ZW50VmlldzsKIAotICAgICAgICBpZiAodGhpcy5fdmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5U
aW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXMpCisgICAgICAgIGlm
ICh0aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuVmlld01v
ZGUuUmVuZGVyaW5nRnJhbWVzKQogICAgICAgICAgICAgY29va2llW1dlYkluc3BlY3Rvci5UaW1l
bGluZVNpZGViYXJQYW5lbC5TZWxlY3RlZFRpbWVsaW5lVmlld0lkZW50aWZpZXJDb29raWVLZXld
ID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWU7CiAgICAg
ICAgIGVsc2UgewogICAgICAgICAgICAgdmFyIHNlbGVjdGVkVHJlZUVsZW1lbnQgPSB0aGlzLl90
aW1lbGluZXNUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50OwpAQCAtNTkzLDcgKzU3Nyw3
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lk
ZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAgICBfcmVuZGVyaW5nRnJhbWVUaW1lbGlu
ZVRpbWVzVXBkYXRlZChldmVudCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLnZpZXdNb2RlID09
PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuVmlld01vZGUuUmVuZGVyaW5nRnJh
bWVzKQorICAgICAgICBpZiAodGhpcy5fdmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU92ZXJ2aWV3LlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcykKICAgICAgICAgICAgIHRoaXMuX3Jl
ZnJlc2hGcmFtZVNlbGVjdGlvbkNoYXJ0KCk7CiAgICAgfQogCkBAIC02MjQsMTAgKzYwOCwxOSBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGVi
YXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogCiAgICAgX2NvbnRlbnRCcm93c2VyQ3VycmVudENv
bnRlbnRWaWV3RGlkQ2hhbmdlKGV2ZW50KQogICAgIHsKLSAgICAgICAgdmFyIGRpZFNob3dUaW1l
bGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gdGhpcy5jb250ZW50QnJvd3Nlci5jdXJyZW50Q29u
dGVudFZpZXcgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50
VmlldzsKKyAgICAgICAgbGV0IGRpZFNob3dUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0g
dGhpcy5jb250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXcgaW5zdGFuY2VvZiBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldzsKICAgICAgICAgdGhpcy5lbGVtZW50
LmNsYXNzTGlzdC50b2dnbGUoV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlRpbWVs
aW5lUmVjb3JkaW5nQ29udGVudFZpZXdTaG93aW5nU3R5bGVDbGFzcywgZGlkU2hvd1RpbWVsaW5l
UmVjb3JkaW5nQ29udGVudFZpZXcpOwogCi0gICAgICAgIGlmICh0aGlzLnZpZXdNb2RlID09PSBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuVmlld01vZGUuUmVuZGVyaW5nRnJhbWVz
KQorICAgICAgICBpZiAoIWRpZFNob3dUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3KQorICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX3VwZGF0ZVZpZXdNb2RlSWZOZWVkZWQo
KTsKKyAgICAgICAgdGhpcy5fdGltZWxpbmVDb3VudENoYW5nZWQoKTsKKworICAgICAgICB0aGlz
LnVwZGF0ZUZpbHRlcigpOworCisgICAgICAgIGxldCB0aW1lbGluZVZpZXcgPSB0aGlzLmNvbnRl
bnRCcm93c2VyLmN1cnJlbnRDb250ZW50Vmlldy5jdXJyZW50VGltZWxpbmVWaWV3OworICAgICAg
ICBpZiAodGltZWxpbmVWaWV3LnJlcHJlc2VudGVkT2JqZWN0LnR5cGUgPT09IFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lKQogICAgICAgICAgICAgdGhpcy5f
cmVmcmVzaEZyYW1lU2VsZWN0aW9uQ2hhcnQoKTsKICAgICB9CiAKQEAgLTY5MywxMCArNjg2LDE1
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lk
ZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIHZhciBjb29raWUgPSB7fTsKICAg
ICAgICAgdGhpcy5zYXZlU3RhdGVUb0Nvb2tpZShjb29raWUpOwogCisgICAgICAgIGlmICh0aGlz
Ll9kaXNwbGF5ZWRDb250ZW50VmlldykKKyAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXllZENvbnRl
bnRWaWV3LnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3LkV2ZW50
Lk5hdmlnYXRpb25JdGVtc0RpZENoYW5nZSwgdGhpcy5fdXBkYXRlVmlld01vZGVJZk5lZWRlZCwg
dGhpcyk7CisKICAgICAgICAgLy8gVHJ5IHRvIGdldCB0aGUgcmVjb3JkaW5nIGNvbnRlbnQgdmll
dyBpZiBpdCBleGlzdHMgYWxyZWFkeSwgaWYgaXQgZG9lcyB3ZSBkb24ndCB3YW50IHRvIHJlc3Rv
cmUgdGhlIGNvb2tpZS4KICAgICAgICAgdmFyIG9ubHlFeGlzdGluZyA9IHRydWU7CiAgICAgICAg
IHRoaXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3ID0gdGhpcy5jb250ZW50QnJvd3Nlci5jb250ZW50
Vmlld0ZvclJlcHJlc2VudGVkT2JqZWN0KHRoaXMuX2Rpc3BsYXllZFJlY29yZGluZywgb25seUV4
aXN0aW5nLCB7dGltZWxpbmVTaWRlYmFyUGFuZWw6IHRoaXN9KTsKICAgICAgICAgaWYgKHRoaXMu
X2Rpc3BsYXllZENvbnRlbnRWaWV3KSB7CisgICAgICAgICAgICB0aGlzLl9kaXNwbGF5ZWRDb250
ZW50Vmlldy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5FdmVudC5O
YXZpZ2F0aW9uSXRlbXNEaWRDaGFuZ2UsIHRoaXMuX3VwZGF0ZVZpZXdNb2RlSWZOZWVkZWQsIHRo
aXMpOworCiAgICAgICAgICAgICAvLyBTaG93IHRoZSB0aW1lbGluZSB0aGF0IHdhcyBiZWluZyBz
aG93biB0byB1cGRhdGUgdGhlIHNpZGViYXIgdHJlZSBzdGF0ZS4KICAgICAgICAgICAgIHZhciBj
dXJyZW50VGltZWxpbmVWaWV3ID0gdGhpcy5fZGlzcGxheWVkQ29udGVudFZpZXcuY3VycmVudFRp
bWVsaW5lVmlldzsKICAgICAgICAgICAgIGlmIChjdXJyZW50VGltZWxpbmVWaWV3ICYmIGN1cnJl
bnRUaW1lbGluZVZpZXcucmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3Iu
VGltZWxpbmUpCkBAIC03MTAsNiArNzA4LDggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJh
clBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKIAog
ICAgICAgICBvbmx5RXhpc3RpbmcgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fZGlzcGxheWVkQ29u
dGVudFZpZXcgPSB0aGlzLmNvbnRlbnRCcm93c2VyLmNvbnRlbnRWaWV3Rm9yUmVwcmVzZW50ZWRP
YmplY3QodGhpcy5fZGlzcGxheWVkUmVjb3JkaW5nLCBvbmx5RXhpc3RpbmcsIHt0aW1lbGluZVNp
ZGViYXJQYW5lbDogdGhpc30pOworICAgICAgICBpZiAodGhpcy5fZGlzcGxheWVkQ29udGVudFZp
ZXcpCisgICAgICAgICAgICB0aGlzLl9kaXNwbGF5ZWRDb250ZW50Vmlldy5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5FdmVudC5OYXZpZ2F0aW9uSXRlbXNEaWRDaGFu
Z2UsIHRoaXMuX3VwZGF0ZVZpZXdNb2RlSWZOZWVkZWQsIHRoaXMpOwogCiAgICAgICAgIC8vIFJl
c3RvcmUgdGhlIGNvb2tpZSB0byBjYXJyeSBvdmVyIHRoZSBwcmV2aW91cyByZWNvcmRpbmcgdmll
dyBzdGF0ZSB0byB0aGUgbmV3IHJlY29yZGluZy4KICAgICAgICAgdGhpcy5yZXN0b3JlU3RhdGVG
cm9tQ29va2llKGNvb2tpZSk7CkBAIC04NTksNTIgKzg1OSwzMiBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdl
Ykluc3BlYwogICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC5zZWxlY3RlZE5hdmlnYXRpb25JdGVt
KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHZhciBzZWxlY3RlZE5hdmlnYXRpb25J
dGVtID0gZXZlbnQudGFyZ2V0LnNlbGVjdGVkTmF2aWdhdGlvbkl0ZW07Ci0gICAgICAgIHZhciBz
ZWxlY3RlZEJ5VXNlciA9IHRydWU7Ci0gICAgICAgIHRoaXMuX2NoYW5nZVZpZXdNb2RlKHNlbGVj
dGVkTmF2aWdhdGlvbkl0ZW0uaWRlbnRpZmllciwgc2VsZWN0ZWRCeVVzZXIpOwotICAgIH0KLQot
ICAgIF92aWV3TW9kZUZvclRpbWVsaW5lKHRpbWVsaW5lKQotICAgIHsKLSAgICAgICAgaWYgKHRp
bWVsaW5lICYmIHRpbWVsaW5lLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5U
eXBlLlJlbmRlcmluZ0ZyYW1lKQotICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5UaW1l
bGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXM7Ci0KLSAgICAgICAgcmV0
dXJuIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5UaW1lbGluZXM7
Ci0gICAgfQotCi0gICAgX2NoYW5nZVZpZXdNb2RlKG1vZGUsIHNlbGVjdGVkQnlVc2VyKQotICAg
IHsKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuRlBTSW5zdHJ1bWVudC5zdXBwb3J0ZWQoKSB8
fCB0aGlzLl92aWV3TW9kZSA9PT0gbW9kZSkKKyAgICAgICAgbGV0IHNlbGVjdGVkTmF2aWdhdGlv
bkl0ZW0gPSBldmVudC50YXJnZXQuc2VsZWN0ZWROYXZpZ2F0aW9uSXRlbTsKKyAgICAgICAgbGV0
IG5ld1ZpZXdNb2RlID0gc2VsZWN0ZWROYXZpZ2F0aW9uSXRlbS5pZGVudGlmaWVyOworICAgICAg
ICBpZiAodGhpcy5fdmlld01vZGUgPT09IG5ld1ZpZXdNb2RlKQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIHRoaXMuX3ZpZXdNb2RlID0gbW9kZTsKLSAgICAgICAgdGhpcy5fdmlld01v
ZGVOYXZpZ2F0aW9uQmFyLnNlbGVjdGVkTmF2aWdhdGlvbkl0ZW0gPSB0aGlzLl92aWV3TW9kZTsK
LQotICAgICAgICBpZiAodGhpcy5fdmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVNp
ZGViYXJQYW5lbC5WaWV3TW9kZS5UaW1lbGluZXMpIHsKLSAgICAgICAgICAgIHRoaXMuX3RpbWVs
aW5lc1RyZWVPdXRsaW5lLmhpZGRlbiA9IGZhbHNlOwotICAgICAgICAgICAgdGhpcy5fZnJhbWVT
ZWxlY3Rpb25DaGFydFNlY3Rpb24uY29sbGFwc2VkID0gdHJ1ZTsKLSAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lc1RyZWVPdXRsaW5lLmhpZGRlbiA9IHRydWU7Ci0g
ICAgICAgICAgICB0aGlzLl9mcmFtZVNlbGVjdGlvbkNoYXJ0U2VjdGlvbi5jb2xsYXBzZWQgPSBm
YWxzZTsKKyAgICAgICAgbGV0IHRpbWVsaW5lVHlwZSA9IHRoaXMuX3ByZXZpb3VzU2VsZWN0ZWRU
aW1lbGluZVR5cGU7CisgICAgICAgIGlmIChuZXdWaWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRp
bWVsaW5lT3ZlcnZpZXcuVmlld01vZGUuUmVuZGVyaW5nRnJhbWVzKSB7CisgICAgICAgICAgICB0
aGlzLl9wcmV2aW91c1NlbGVjdGVkVGltZWxpbmVUeXBlID0gdGhpcy5fdGltZWxpbmVzVHJlZU91
dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudCA/IHRoaXMuX3RpbWVsaW5lc1RyZWVPdXRsaW5lLnNl
bGVjdGVkVHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QudHlwZSA6IG51bGw7CisgICAgICAg
ICAgICB0aW1lbGluZVR5cGUgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5k
ZXJpbmdGcmFtZTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChzZWxlY3RlZEJ5VXNlcikgewot
ICAgICAgICAgICAgdmFyIHRpbWVsaW5lVHlwZSA9IHRoaXMuX3ByZXZpb3VzU2VsZWN0ZWRUaW1l
bGluZVR5cGU7Ci0gICAgICAgICAgICBpZiAodGhpcy5fdmlld01vZGUgPT09IFdlYkluc3BlY3Rv
ci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXMpIHsKLSAgICAg
ICAgICAgICAgICB0aGlzLl9wcmV2aW91c1NlbGVjdGVkVGltZWxpbmVUeXBlID0gdGhpcy5fdGlt
ZWxpbmVzVHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudCA/IHRoaXMuX3RpbWVsaW5lc1Ry
ZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QudHlwZSA6IG51
bGw7Ci0gICAgICAgICAgICAgICAgdGltZWxpbmVUeXBlID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWU7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGlmICh0aW1lbGluZVR5cGUpIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlz
Ll9kaXNwbGF5ZWRSZWNvcmRpbmcudGltZWxpbmVzLmhhcyh0aW1lbGluZVR5cGUpLCB0aW1lbGlu
ZVR5cGUpOwotICAgICAgICAgICAgICAgIHRoaXMuc2hvd1RpbWVsaW5lVmlld0ZvclRpbWVsaW5l
KHRoaXMuX2Rpc3BsYXllZFJlY29yZGluZy50aW1lbGluZXMuZ2V0KHRpbWVsaW5lVHlwZSkpOwot
ICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgdGhpcy5zaG93VGltZWxpbmVPdmVy
dmlldygpOworICAgICAgICBpZiAodGltZWxpbmVUeXBlKSB7CisgICAgICAgICAgICBjb25zb2xl
LmFzc2VydCh0aGlzLl9kaXNwbGF5ZWRSZWNvcmRpbmcudGltZWxpbmVzLmhhcyh0aW1lbGluZVR5
cGUpLCB0aW1lbGluZVR5cGUpOworICAgICAgICAgICAgdGhpcy5zaG93VGltZWxpbmVWaWV3Rm9y
VGltZWxpbmUodGhpcy5fZGlzcGxheWVkUmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQodGltZWxpbmVU
eXBlKSk7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICB0aGlzLl90
aW1lbGluZUNvdW50Q2hhbmdlZCgpOworICAgICAgICB0aGlzLnNob3dUaW1lbGluZU92ZXJ2aWV3
KCk7CisgICAgfQogCi0gICAgICAgIHRoaXMudXBkYXRlRmlsdGVyKCk7CisgICAgX3ZpZXdNb2Rl
Rm9yVGltZWxpbmUodGltZWxpbmUpCisgICAgeworICAgICAgICBpZiAodGltZWxpbmUgJiYgdGlt
ZWxpbmUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5n
RnJhbWUpCisgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcu
Vmlld01vZGUuUmVuZGVyaW5nRnJhbWVzOworCisgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlldy5WaWV3TW9kZS5UaW1lbGluZXM7CiAgICAgfQogCiAgICAgX2ZyYW1l
U2VsZWN0aW9uTGVnZW5kSXRlbUNoZWNrZWQoZXZlbnQpCkBAIC0xMDQxLDExICsxMDIxLDI5IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJh
clBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgewogICAgICAgICB0aGlzLl9yZXBsYXlQYXVz
ZVJlc3VtZUJ1dHRvbkl0ZW0udG9nZ2xlZCA9IGZhbHNlOwogICAgIH0KLX07CiAKLVdlYkluc3Bl
Y3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZSA9IHsKLSAgICBUaW1lbGluZXM6ICJ0
aW1lbGluZS1zaWRlYmFyLXBhbmVsLXZpZXctbW9kZS10aW1lbGluZXMiLAotICAgIFJlbmRlcmlu
Z0ZyYW1lczogInRpbWVsaW5lLXNpZGViYXItcGFuZWwtdmlldy1tb2RlLWZyYW1lcyIKKyAgICBf
dXBkYXRlVmlld01vZGVJZk5lZWRlZCgpCisgICAgeworICAgICAgICBsZXQgdGltZWxpbmVWaWV3
ID0gdGhpcy5jb250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXcuY3VycmVudFRpbWVsaW5l
VmlldzsKKyAgICAgICAgbGV0IG5ld1ZpZXdNb2RlID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXcuVmlld01vZGUuVGltZWxpbmVzOworICAgICAgICBpZiAodGltZWxpbmVWaWV3LnJlcHJl
c2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lICYmIHRpbWVsaW5l
Vmlldy5yZXByZXNlbnRlZE9iamVjdC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmQuVHlwZS5SZW5kZXJpbmdGcmFtZSkKKyAgICAgICAgICAgIG5ld1ZpZXdNb2RlID0gV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuVmlld01vZGUuUmVuZGVyaW5nRnJhbWVzOworCisgICAg
ICAgIGlmIChuZXdWaWV3TW9kZSA9PT0gdGhpcy5fdmlld01vZGUpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgdGhpcy5fdmlld01vZGUgPSBuZXdWaWV3TW9kZTsKKworICAgICAgICBp
ZiAodGhpcy5fdmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdN
b2RlLlRpbWVsaW5lcykgeworICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVzVHJlZU91dGxpbmUu
aGlkZGVuID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLl9mcmFtZVNlbGVjdGlvbkNoYXJ0U2Vj
dGlvbi5jb2xsYXBzZWQgPSB0cnVlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGhp
cy5fdGltZWxpbmVzVHJlZU91dGxpbmUuaGlkZGVuID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMu
X2ZyYW1lU2VsZWN0aW9uQ2hhcnRTZWN0aW9uLmNvbGxhcHNlZCA9IGZhbHNlOworICAgICAgICB9
CisKKyAgICAgICAgdGhpcy5fdmlld01vZGVOYXZpZ2F0aW9uQmFyLnNlbGVjdGVkTmF2aWdhdGlv
bkl0ZW0gPSB0aGlzLl92aWV3TW9kZTsKKyAgICB9CiB9OwogCiBXZWJJbnNwZWN0b3IuVGltZWxp
bmVTaWRlYmFyUGFuZWwuSGlkZGVuU3R5bGVDbGFzc05hbWUgPSAiaGlkZGVuIjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271377</attachid>
            <date>2016-02-15 15:06:13 -0800</date>
            <delta_ts>2016-02-15 15:57:26 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-154000-20160215150552.patch</filename>
            <type>text/plain</type>
            <size>74276</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAy
YmY1OTUwYTcyM2NhZmUxNjU4NTMwNjMyYzI2ZjZjYjMxZjk5MDYxLi44YzJkNGY1Y2Q3MWVkNzI3
ZmJlYzY1N2MzYmVjYjZhMThiNTY0M2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNDAgQEAKKzIwMTYtMDItMTUgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGVsaW1pbmF0ZSB0aGUgbGluZWFyIGFuZCByZW5k
ZXJpbmcgZnJhbWVzIFRpbWVsaW5lT3ZlcnZpZXcgc3ViY2xhc3NlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MDAwCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yNDU1MzEwNT4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIu
CisKKyAgICAgICAgVGhpcyBwYXRjaCBlbGltaW5hdGVzIHRoZSBUaW1lbGluZU92ZXJ2aWV3IHN1
YmNsYXNzZXMsIGFuZCBtb3ZlcyBsb2dpYyBmb3Igc3dpdGNoaW5nIGJldHdlZW4KKyAgICAgICAg
YSB0aW1lLWJhc2VkIG9yIGZyYW1lLWJhc2VkIGdyYXBoIGludG8gdGhlIG92ZXJ2aWV3IGl0c2Vs
Zi4gVGhlIHZhbHVlcyBvZiB0aGUgb3ZlcnZpZXcncyBzdGFydAorICAgICAgICB0aW1lLCBjdXJy
ZW50IHRpbWUsIGFuZCBlbmQgdGltZSBub3cgbWF0Y2ggdGhlIHZhbHVlcyBpbiB0aGUgdGltZWxp
bmUgcmVjb3JkaW5nIHJlZ2FyZGxlc3Mgb2YgdGhlCisgICAgICAgIGN1cnJlbnQgdmlldyBtb2Rl
LiBXaGVuIHZpZXdpbmcgdGhlIHJlbmRlcmluZyBmcmFtZXMgZ3JhcGgsIHRoZSByZWNvcmRpbmcg
dGltZXMgYXJlIGlnbm9yZWQgYW5kCisgICAgICAgIGFsbCBmcmFtZXMgYXJlIGluY2x1ZGVkLiBU
aGUgb3ZlcnZpZXcgbWFpbnRhaW5zIHNlcGFyYXRlIHpvb20gbGV2ZWwgYW5kIHJ1bGVyIHNlbGVj
dGlvbiBzZXR0aW5ncworICAgICAgICBmb3IgZWFjaCB2aWV3IG1vZGUuCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL01haW4uaHRtbDoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xp
bmVhclRpbWVsaW5lT3ZlcnZpZXcuanM6IFJlbW92ZWQuCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuanM6IFJlbW92ZWQuCisgICAg
ICAgIFJlbW92ZWQgVGltZWxpbmVPdmVydmlldyBzdWJjbGFzc2VzLgorCisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFw
aC5wcm90b3R5cGUuZ2V0IGhlaWdodCk6CisgICAgICAgIFNldCBGUFMgZ3JhcGggaGVpZ2h0IHRv
IDEwOCBwaXhlbHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3Zl
cnZpZXcuY3NzOgorICAgICAgICAoLnRpbWVsaW5lLW92ZXJ2aWV3Om5vdCguZnJhbWVzKSA+IC5n
cmFwaHMtY29udGFpbmVyID4gLnRpbWVsaW5lLW92ZXJ2aWV3LWdyYXBoOm50aC1jaGlsZChldmVu
KSk6CisgICAgICAgICgudGltZWxpbmUtb3ZlcnZpZXc6bm90KC5mcmFtZXMpID4gLmdyYXBocy1j
b250YWluZXIgPiAudGltZWxpbmUtb3ZlcnZpZXctZ3JhcGg6bm90KDpmaXJzdC1jaGlsZCkpOgor
ICAgICAgICAoLnRpbWVsaW5lLW92ZXJ2aWV3ID4gLmdyYXBocy1jb250YWluZXIgPiAudGltZWxp
bmUtb3ZlcnZpZXctZ3JhcGg6bnRoLWNoaWxkKGV2ZW4pKTogRGVsZXRlZC4KKyAgICAgICAgKC50
aW1lbGluZS1vdmVydmlldyA+IC5ncmFwaHMtY29udGFpbmVyID4gLnRpbWVsaW5lLW92ZXJ2aWV3
LWdyYXBoOm5vdCg6Zmlyc3QtY2hpbGQpKTogRGVsZXRlZC4KKyAgICAgICAgRGlzYWJsZSBhbHRl
cm5hdGluZyBncmFwaCBzdHlsZXMgd2hlbiBzaG93aW5nIEZQUyBpbnN0cnVtZW50LgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcpOgorICAgICAgICBDcmVhdGUgc2VwYXJhdGUg
c2V0dGluZ3MgZm9yIHRpbWVsaW5lcyBhbmQgRlBTIHZpZXcgbW9kZXMuCisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuZ2V0IHZpZXdNb2RlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5zZXQgdmlld01vZGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNldCBz
dGFydFRpbWUpOgorICAgICAgICBBZGp1c3QgdGhlIGN1cnJlbnQgcnVsZXIgc2VsZWN0aW9uIHdo
ZW4gc3RhcnQgdGltZSBjaGFuZ2VzLiBOb3QgbmVjZXNzYXJ5CisgICAgICAgIHdoZW4gc2hvd2lu
ZyB0aGUgRlBTIGluc3RydW1lbnQsIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIHN0YXJ0IHRpbWUuCisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuZ2V0IHNlY29u
ZHNQZXJQaXhlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90
b3R5cGUuc2V0IHNlY29uZHNQZXJQaXhlbCk6CisgICAgICAgIE5vdyBhIHdyYXBwZXIgYXJvdW5k
IHRoZSBjb3JyZXNwb25kaW5nIHZpZXcgbW9kZSBzZXR0aW5nLgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNldCBwaXhlbEFsaWduRHVyYXRpb24pOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLmdldCBzY3Jv
bGxTdGFydFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJv
dG90eXBlLnNldCBzY3JvbGxTdGFydFRpbWUpOgorICAgICAgICBOb3cgYSB3cmFwcGVyIGFyb3Vu
ZCB0aGUgY29ycmVzcG9uZGluZyB2aWV3IG1vZGUgc2V0dGluZy4KKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5nZXQgdmlzaWJsZUR1cmF0aW9uKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5nZXQgaGVpZ2h0
KToKKyAgICAgICAgUmV0dXJuIHRoZSBzdW0gaGVpZ2h0IG9mIGFsbCB2aXNpYmxlIG92ZXJ2aWV3
IGdyYXBocy4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlw
ZS5zaG93bik6CisgICAgICAgIFNob3cgb3ZlcnZpZXcgZ3JhcGhzIGZvciB0aGUgY3VycmVudCB2
aWV3IG1vZGUuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5
cGUuaGlkZGVuKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3Rv
dHlwZS5yZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90
b3R5cGUucmVjb3JkV2FzRmlsdGVyZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
T3ZlcnZpZXcucHJvdG90eXBlLnNlbGVjdFJlY29yZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUudXBkYXRlTGF5b3V0SWZOZWVkZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLmxheW91dCk6CisgICAg
ICAgIExheW91dCBmb3IgYm90aCB2aWV3IG1vZGVzIGlzIGxhcmdlbHkgaWRlbnRpY2FsLCBhbmQg
ZGlmZmVycyBvbmx5IGluIHRoZSB0cmVhdG1lbnQKKyAgICAgICAgb2YgdGhlIG92ZXJ2aWV3J3Mg
c3RhcnQgdGltZSwgY3VycmVudCB0aW1lLCBhbmQgZW5kIHRpbWUuIFRpbWUtYmFzZWQgaW5zdHJ1
bWVudHMKKyAgICAgICAgdXNlIHRpbWUgdmFsdWVzIGZyb20gdGhlIHJlY29yZGluZywgd2hpbGUg
dGhlIEZQUyBpbnN0cnVtZW50IGhhcyBhIGZpeGVkIHN0YXJ0IHRpbWUKKyAgICAgICAgb2YgemVy
bywgYW5kIGEgY3VycmVudCBhbmQgZW5kIHRpbWUgcGlubmVkIHRvIHRoZSBsYXN0IHJlbmRlcmlu
ZyBmcmFtZS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlw
ZS5faGFuZGxlU2Nyb2xsRXZlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXcucHJvdG90eXBlLl9oYW5kbGVXaGVlbEV2ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5UaW1lbGluZU92ZXJ2aWV3Ll9oYW5kbGVHZXN0dXJlU3RhcnQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl9oYW5kbGVHZXN0dXJlQ2hhbmdlKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5faW5zdHJ1
bWVudEFkZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3Rv
dHlwZS5faW5zdHJ1bWVudFJlbW92ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
T3ZlcnZpZXcucHJvdG90eXBlLl90aW1lbGluZVJ1bGVyTW91c2VDbGlja2VkKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5fdGltZVJhbmdlU2VsZWN0
aW9uQ2hhbmdlZCk6CisgICAgICAgIFNhdmUgdGhlIHNlbGVjdGlvbiBmb3IgdGhlIGN1cnJlbnQg
dmlldyBtb2RlLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90
eXBlLl9yZWNvcmRTZWxlY3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVy
dmlldy5wcm90b3R5cGUuX3Jlc2V0U2VsZWN0aW9uLnJlc2V0KToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5fcmVzZXRTZWxlY3Rpb24pOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl9jYW5TaG93VGltZWxp
bmVUeXBlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlw
ZS5fdmlld01vZGVEaWRDaGFuZ2UpOgorICAgICAgICBTZXRzIHpvb20gbGV2ZWwsIHJ1bGVyIHNl
bGVjdGlvbiwgYW5kIGdyYXBoIHZpc2liaWxpdHkgYmFzZWQgb24gY3VycmVudCB2aWV3IG1vZGUu
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuX2NyZWF0
ZVZpZXdNb2RlU2V0dGluZ3MpOgorICAgICAgICBIZWxwZXIgZnVuY3Rpb24gZm9yIGNyZWF0aW5n
IGFuIG9iamVjdCB0byB0cmFjayB0aGUgem9vbSBsZXZlbCBhbmQgcnVsZXIKKyAgICAgICAgc2Vs
ZWN0aW9uIG9mIGVhY2ggdmlldyBtb2RlLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
T3ZlcnZpZXcucHJvdG90eXBlLmdldCBfY3VycmVudFNldHRpbmdzKToKKyAgICAgICAgSW50ZXJu
YWwgZ2V0dGVyIGZvciByZXRyaWV2aW5nIHRoZSBzZXR0aW5ncyBmb3IgdGhlIGN1cnJlbnQgdmll
dyBtb2RlLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBl
LmNhblNob3dUaW1lbGluZSk6IERlbGV0ZWQuCisgICAgICAgIE5vdCBuZWVkZWQgbm93IHRoYXQg
dGhlIG92ZXJ2aWV3IGNvbnRhaW5zIGFsbCB0aW1lbGluZXMuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUuc2hvd24pOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUuaGlkZGVuKToKKyAgICAgICAgVG9nZ2xl
IENTUyBoaWRkZW4gY2xhc3MuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lUmVjb3JkRnJhbWUuanM6CisgICAgICAgIE5vIG5lZWQgdG8gcXVlcnkgb2Zmc2V0SGVpZ2h0
IG5vdyB0aGF0IFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBoYXMgYSBoZWlnaHQgcHJvcGVydHkuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZp
ZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dyk6CisgICAgICAgIENyZWF0ZSBhIHNpbmdsZSB0aW1lbGluZSBvdmVydmlldy4KKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5nZXQg
dGltZWxpbmVPdmVydmlld0hlaWdodCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuc2hvd24pOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLmhpZGRlbik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUu
cmVjb3JkV2FzRmlsdGVyZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
aW5nQ29udGVudFZpZXcucHJvdG90eXBlLl9jdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UpOgor
ICAgICAgICBVcGRhdGUgdGhlIHRpbWVsaW5lICBvdmVydmlldydzIG1vZGUgYmFzZWQgb24gdGhl
IGN1cnJlbnQgdGltZWxpbmUgdmlldy4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJl
Y29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fY29udGVudFZpZXdTZWxlY3Rpb25QYXRoQ29t
cG9uZW50RGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fdXBkYXRlVGltZXMpOgorICAgICAgICBSZW1vdmVkIHNw
ZWNpYWwgaGFuZGxpbmcgZm9yIHRoZSBGUFMgb3ZlcnZpZXcuCisgICAgICAgIFJlbW92ZWQgc2Vs
ZWN0aW9uIHN0YXJ0IHRpbWUgYWRqdXN0bWVudCwgd2hpY2ggaXMgbm93IGhhbmRsZWQgaW50ZXJu
YWxseSBieSBUaW1lbGluZU92ZXJ2aWV3LgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl91cGRhdGVUaW1lbGluZU92ZXJ2aWV3SGVp
Z2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3
LnByb3RvdHlwZS5fcmVjb3JkaW5nUmVzZXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl90aW1lUmFuZ2VTZWxlY3Rpb25DaGFu
Z2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3
LnByb3RvdHlwZS5fdXBkYXRlRnJhbWVTZWxlY3Rpb24pOgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5UaW1lbGluZVNpZGViYXJQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVT
aWRlYmFyUGFuZWwucHJvdG90eXBlLm1hdGNoVHJlZUVsZW1lbnRBZ2FpbnN0Q3VzdG9tRmlsdGVy
cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJvdG90eXBl
LnNhdmVTdGF0ZVRvQ29va2llKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGVi
YXJQYW5lbC5wcm90b3R5cGUuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmVUaW1lc1VwZGF0ZWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fY29u
dGVudEJyb3dzZXJDdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UpOgorICAgICAgICBSZWZyZXNo
IHRoZSB2aWV3IG1vZGUgd2hlbiB0aGUgY29udGVudCB2aWV3IGNoYW5nZXMuCisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9yZWNvcmRpbmdTZWxl
Y3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJvdG90
eXBlLl92aWV3TW9kZVNlbGVjdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVNp
ZGViYXJQYW5lbC5wcm90b3R5cGUuX3ZpZXdNb2RlRm9yVGltZWxpbmUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fdXBkYXRlVmlld01vZGVJ
Zk5lZWRlZCk6CisgICAgICAgIFN5bmMgdGhlIHRyZWUgb3V0bGluZSwgZnJhbWVzIGNoYXJ0LCBh
bmQgbmF2aWdhdGlvbiBiYXIgd2l0aCB0aGUgY3VycmVudCB2aWV3IG1vZGUuCisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJvdG90eXBlLnNob3duKToKKyAgICAg
ICAgUmVmcmVzaGluZyB0aGUgZnJhbWUgc2VsZWN0aW9uIGlzIHVubmVjZXNzYXJ5LiBJdCdzIHVw
ZGF0ZWQgYnkgdGhlIHJlY29yZGluZyBjb250ZW50CisgICAgICAgIHZpZXcgd2hlbmV2ZXIgdGhl
IHJ1bGVyIHNlbGVjdGlvbiBjaGFuZ2VzLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
U2lkZWJhclBhbmVsLnByb3RvdHlwZS5nZXQgdmlld01vZGUpOiBEZWxldGVkLgorICAgICAgICBO
byBsb25nZXIgcHVibGljLCBzaW5jZSB0aGUgdGltZWxpbmUgb3ZlcnZpZXcgbm93IG93bnMgdGhl
IHZpZXcgbW9kZS4gSW50ZXJuYWxseSB0aGUgc2lkZWJhcgorICAgICAgICBzdGlsbCB0cmFja3Mg
dGhlIGN1cnJlbnQgc3RhdGUgc28gaXQgY2FuIGRldGVybWluZSB3aGVuIHRoZSB2YWx1ZSBoYXMg
Y2hhbmdlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5wcm90
b3R5cGUuc2hvd1RpbWVsaW5lT3ZlcnZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lU2lkZWJhclBhbmVsLnByb3RvdHlwZS5zaG93VGltZWxpbmVWaWV3Rm9yVGltZWxpbmUpOgor
ICAgICAgICBUaGUgc2lkZWJhciBzaG91bGQgb25seSBiZSBzeW5jZWQgdG8gdGhlIG92ZXJ2aWV3
IGFmdGVyIHRoZSBjb250ZW50IHZpZXcgaGFzIGNoYW5nZWQuCisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJvdG90eXBlLnVwZGF0ZUZyYW1lU2VsZWN0aW9uKToK
KyAgICAgICAgUmVtb3ZlZCB1bm5lY2Vzc2FyeSBhc3NlcnRpb24uCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9jaGFuZ2VWaWV3TW9kZSk6IERl
bGV0ZWQuCisgICAgICAgIFJlcGxhY2VkIGJ5IF91cGRhdGVWaWV3TW9kZUlmTmVlZGVkLgorCiAy
MDE2LTAyLTE1ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBTaG93IGluaGVyaXRlZCBDU1MgdmFyaWFibGVzIGluIHRoZSBTdHls
ZSBzaWRlYmFyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9NYWluLmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0
bWwKaW5kZXggZjA3ZjVkMTY4YzU2ZWFjZDNiNjYyNDE0NzYwNzYwY2Q2NjgzZjMzNC4uOGJjY2Yz
ZTU2MjkxMzMzMjVmN2Q1ODc0YjQxOTBjMzlhNDhjNGQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbApAQCAtNTE4LDcgKzUxOCw2IEBACiAgICAg
PHNjcmlwdCBzcmM9IlZpZXdzL0xheW91dFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0xheW91dFRpbWVsaW5lVmlldy5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0xpbmVDaGFydC5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdCBzcmM9IlZpZXdzL0xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9Mb2dDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IlZpZXdzL0xvZ1RyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHNyYz0iVmlld3MvTWVtb3J5Q2F0ZWdvcnlWaWV3LmpzIj48L3NjcmlwdD4KQEAgLTU0OCw3
ICs1NDcsNiBAQAogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9RdWlja0NvbnNvbGVOYXZpZ2F0aW9u
QmFyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmFkaW9CdXR0b25OYXZp
Z2F0aW9uSXRlbS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1JlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVEYXRhR3JpZE5vZGUuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3Jj
PSJWaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJWaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxp
bmVWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmVwbGF5RGFzaGJv
YXJkVmlldy5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9MaW5lYXJUaW1lbGluZU92ZXJ2aWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGluZWFyVGltZWxpbmVPdmVydmlldy5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjJlYTY5NDU5MWVlZjZiZjUwNjA2M2Ex
NTFjNjI5NWZiODgzNDI3ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MaW5lYXJU
aW1lbGluZU92ZXJ2aWV3LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLVdlYkluc3BlY3Rvci5MaW5lYXJUaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgTGluZWFy
VGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3Ci17
Ci0gICAgY29uc3RydWN0b3IodGltZWxpbmVSZWNvcmRpbmcpCi0gICAgewotICAgICAgICB2YXIg
ZGVmYXVsdFNldHRpbmdzVmFsdWVzID0gewotICAgICAgICAgICAgZHVyYXRpb25QZXJQaXhlbDog
MC4wMSwKLSAgICAgICAgICAgIHNlbGVjdGlvblN0YXJ0VmFsdWU6IDAsCi0gICAgICAgICAgICBz
ZWxlY3Rpb25EdXJhdGlvbjogMTUKLSAgICAgICAgfTsKLQotICAgICAgICBzdXBlcigibGluZWFy
IiwgdGltZWxpbmVSZWNvcmRpbmcsIDAuMDAwMSwgMiwgZGVmYXVsdFNldHRpbmdzVmFsdWVzKTsK
LSAgICB9Ci0KLSAgICAvLyBQcm90ZWN0ZWQKLQotICAgIGNhblNob3dUaW1lbGluZSh0aW1lbGlu
ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aW1lbGluZS50eXBlICE9PSBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZTsKLSAgICB9Ci19OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJh
bWVUaW1lbGluZU92ZXJ2aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3LmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwZjhhZDRlM2M0NWJjOGZiNjllOGQ2N2Y4NDdiOWQyYTk3YWVkN2U3
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVP
dmVydmlldy5qcworKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1X
ZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgUmVuZGVy
aW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXcKLXsKLSAgICBjb25zdHJ1Y3Rvcih0aW1lbGluZVJlY29yZGluZykKLSAgICB7Ci0gICAg
ICAgIHZhciBtaW5pbXVtRHVyYXRpb25QZXJQaXhlbCA9IDEgLyBXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmRGcmFtZS5NYXhpbXVtV2lkdGhQaXhlbHM7Ci0gICAgICAgIHZhciBtYXhpbXVtRHVy
YXRpb25QZXJQaXhlbCA9IDEgLyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5NaW5p
bXVtV2lkdGhQaXhlbHM7Ci0gICAgICAgIHZhciBkZWZhdWx0U2V0dGluZ3NWYWx1ZXMgPSB7Ci0g
ICAgICAgICAgICBkdXJhdGlvblBlclBpeGVsOiBtaW5pbXVtRHVyYXRpb25QZXJQaXhlbCwKLSAg
ICAgICAgICAgIHNlbGVjdGlvblN0YXJ0VmFsdWU6IDAsCi0gICAgICAgICAgICBzZWxlY3Rpb25E
dXJhdGlvbjogMTAwCi0gICAgICAgIH07Ci0KLSAgICAgICAgc3VwZXIoImZyYW1lcyIsIHRpbWVs
aW5lUmVjb3JkaW5nLCBtaW5pbXVtRHVyYXRpb25QZXJQaXhlbCwgbWF4aW11bUR1cmF0aW9uUGVy
UGl4ZWwsIGRlZmF1bHRTZXR0aW5nc1ZhbHVlcyk7Ci0KLSAgICAgICAgdGhpcy5waXhlbEFsaWdu
RHVyYXRpb24gPSB0cnVlOwotICAgICAgICB0aGlzLnRpbWVsaW5lUnVsZXIubWluaW11bVNlbGVj
dGlvbkR1cmF0aW9uID0gMTsKLSAgICAgICAgdGhpcy50aW1lbGluZVJ1bGVyLnNuYXBJbnRlcnZh
bCA9IDE7Ci0gICAgICAgIHRoaXMudGltZWxpbmVSdWxlci5mb3JtYXRMYWJlbENhbGxiYWNrID0g
ZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgIHJldHVybiB2YWx1ZS50b0ZpeGVkKDApOwot
ICAgICAgICB9OwotICAgIH0KLQotICAgIC8vIFByb3RlY3RlZAotCi0gICAgZ2V0IGhlaWdodCgp
Ci0gICAgewotICAgICAgICByZXR1cm4gMTA4OwotICAgIH0KLQotICAgIGNhblNob3dUaW1lbGlu
ZSh0aW1lbGluZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aW1lbGluZS50eXBlID09PSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZTsKLSAgICB9Ci19Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVu
ZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFw
aC5qcwppbmRleCA5M2FjMDg3ODJmN2Q5ZGE1ZjhkOWMxNGY0YjAyODU2MGFjMGQ0MzhkLi4wMmJh
MTEzMDRjODdjODQyNjM4YzdkMTM3YjI5ZThhZmQ2YmEwN2M1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5l
T3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwpAQCAtOTUsNiAr
OTUsMTEgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBo
ID0gY2xhc3MgUmVuZGVyaW5nRnJhbWVUaW1lbGluZU8KIAogICAgIC8vIFByb3RlY3RlZAogCisg
ICAgZ2V0IGhlaWdodCgpCisgICAgeworICAgICAgICByZXR1cm4gMTA4OworICAgIH0KKwogICAg
IGxheW91dCgpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxp
bmUucmVjb3Jkcy5sZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuY3NzCmluZGV4IDI1Y2E2
NTMzMjc0MDU2MGJkNzFkMDFkYjIyZjk3YWJkZDFmNGUwMWEuLjVjYzczYWY4YmY3NzFkNTY5YWFl
NWMxMzkyMDg3YTI0ZWU2YzQ1YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuY3NzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuY3NzCkBAIC05
MCwxMiArOTAsMTIgQEAgYm9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC50aW1lbGluZS1vdmVydmll
dyA+IC5ncmFwaHMtY29udGFpbmVyIHsKICAgICBoZWlnaHQ6IDM2cHg7CiB9CiAKLS50aW1lbGlu
ZS1vdmVydmlldyA+IC5ncmFwaHMtY29udGFpbmVyID4gLnRpbWVsaW5lLW92ZXJ2aWV3LWdyYXBo
Om50aC1jaGlsZChldmVuKSB7CisudGltZWxpbmUtb3ZlcnZpZXc6bm90KC5mcmFtZXMpID4gLmdy
YXBocy1jb250YWluZXIgPiAudGltZWxpbmUtb3ZlcnZpZXctZ3JhcGg6bnRoLWNoaWxkKGV2ZW4p
IHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMCUsIDk2JSk7CiAgICAgYmFja2dyb3Vu
ZC1jbGlwOiBwYWRkaW5nLWJveDsKIH0KIAotLnRpbWVsaW5lLW92ZXJ2aWV3ID4gLmdyYXBocy1j
b250YWluZXIgPiAudGltZWxpbmUtb3ZlcnZpZXctZ3JhcGg6bm90KDpmaXJzdC1jaGlsZCkgewor
LnRpbWVsaW5lLW92ZXJ2aWV3Om5vdCguZnJhbWVzKSA+IC5ncmFwaHMtY29udGFpbmVyID4gLnRp
bWVsaW5lLW92ZXJ2aWV3LWdyYXBoOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICAgICBib3JkZXItdG9w
OiAxcHggc29saWQgaHNsYSgwLCAwJSwgMCUsIDAuMDkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVy
dmlldy5qcwppbmRleCAzMTZiZWRhOTFiMWVlZjMxNTAzMjNlY2EyNTIxZTJmN2VjZjI0ZTY3Li5l
MTI3ODM5ODUxN2YxNDQ4OGE5ZThjY2U5N2QyNDFlMzlmNjlhNTgyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
T3ZlcnZpZXcuanMKQEAgLTI1LDE5ICsyNSwyNyBAQAogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmll
dwogewotICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIsIHRpbWVsaW5lUmVjb3JkaW5nLCBtaW5p
bXVtRHVyYXRpb25QZXJQaXhlbCwgbWF4aW11bUR1cmF0aW9uUGVyUGl4ZWwsIGRlZmF1bHRTZXR0
aW5nc1ZhbHVlcykKKyAgICBjb25zdHJ1Y3Rvcih0aW1lbGluZVJlY29yZGluZykKICAgICB7CiAg
ICAgICAgIHN1cGVyKCk7CiAKICAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmVSZWNvcmRp
bmcgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmcpOwogCisgICAgICAg
IHRoaXMuX3RpbWVsaW5lc1ZpZXdNb2RlU2V0dGluZ3MgPSB0aGlzLl9jcmVhdGVWaWV3TW9kZVNl
dHRpbmdzKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlRpbWVsaW5lcywg
MC4wMDAxLCA2MCwgMC4wMSwgMCwgMTUpOworCisgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuRlBT
SW5zdHJ1bWVudC5zdXBwb3J0ZWQoKSkgeworICAgICAgICAgICAgbGV0IG1pbmltdW1EdXJhdGlv
blBlclBpeGVsID0gMSAvIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1heGltdW1X
aWR0aFBpeGVsczsKKyAgICAgICAgICAgIGxldCBtYXhpbXVtRHVyYXRpb25QZXJQaXhlbCA9IDEg
LyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5NaW5pbXVtV2lkdGhQaXhlbHM7Cisg
ICAgICAgICAgICB0aGlzLl9yZW5kZXJpbmdGcmFtZXNWaWV3TW9kZVNldHRpbmdzID0gdGhpcy5f
Y3JlYXRlVmlld01vZGVTZXR0aW5ncyhXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5WaWV3
TW9kZS5SZW5kZXJpbmdGcmFtZXMsIG1pbmltdW1EdXJhdGlvblBlclBpeGVsLCBtYXhpbXVtRHVy
YXRpb25QZXJQaXhlbCwgbWluaW11bUR1cmF0aW9uUGVyUGl4ZWwsIDAsIDEwMCk7CisgICAgICAg
IH0KKwogICAgICAgICB0aGlzLl9yZWNvcmRpbmcgPSB0aW1lbGluZVJlY29yZGluZzsKICAgICAg
ICAgdGhpcy5fcmVjb3JkaW5nLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkaW5nLkV2ZW50Lkluc3RydW1lbnRBZGRlZCwgdGhpcy5faW5zdHJ1bWVudEFkZGVkLCB0
aGlzKTsKICAgICAgICAgdGhpcy5fcmVjb3JkaW5nLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkaW5nLkV2ZW50Lkluc3RydW1lbnRSZW1vdmVkLCB0aGlzLl9pbnN0
cnVtZW50UmVtb3ZlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMuX3JlY29yZGluZy5hZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZy5FdmVudC5NYXJrZXJBZGRlZCwg
dGhpcy5fbWFya2VyQWRkZWQsIHRoaXMpOwogICAgICAgICB0aGlzLl9yZWNvcmRpbmcuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmcuRXZlbnQuUmVzZXQsIHRo
aXMuX3JlY29yZGluZ1Jlc2V0LCB0aGlzKTsKIAotICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NM
aXN0LmFkZCgidGltZWxpbmUtb3ZlcnZpZXciLCBpZGVudGlmaWVyKTsKKyAgICAgICAgdGhpcy5l
bGVtZW50LmNsYXNzTGlzdC5hZGQoInRpbWVsaW5lLW92ZXJ2aWV3Iik7CiAgICAgICAgIHRoaXMu
ZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsIHRoaXMuX2hhbmRsZVdoZWVsRXZlbnQu
YmluZCh0aGlzKSk7CiAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJnZXN0
dXJlc3RhcnQiLCB0aGlzLl9oYW5kbGVHZXN0dXJlU3RhcnQuYmluZCh0aGlzKSk7CiAgICAgICAg
IHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJnZXN0dXJlY2hhbmdlIiwgdGhpcy5faGFu
ZGxlR2VzdHVyZUNoYW5nZS5iaW5kKHRoaXMpKTsKQEAgLTQ3LDcgKzU1LDcgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLlZpZXcKICAgICAgICAgdGhpcy5fZ3JhcGhzQ29udGFpbmVyVmlldy5lbGVtZW50
LmNsYXNzTGlzdC5hZGQoImdyYXBocy1jb250YWluZXIiKTsKICAgICAgICAgdGhpcy5hZGRTdWJ2
aWV3KHRoaXMuX2dyYXBoc0NvbnRhaW5lclZpZXcpOwogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5l
T3ZlcnZpZXdHcmFwaHNNYXAgPSBuZXcgTWFwOworICAgICAgICB0aGlzLl9vdmVydmlld0dyYXBo
c0J5VHlwZU1hcCA9IG5ldyBNYXA7CiAKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlciA9IG5l
dyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlcjsKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxl
ci5hbGxvd3NDbGlwcGVkTGFiZWxzID0gdHJ1ZTsKQEAgLTY5LDM2ICs3Nyw0MCBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuVmlldwogICAgICAgICB0aGlzLl9zY3JvbGxXaWR0aFNpemVyLmNsYXNzTGlz
dC5hZGQoInNjcm9sbC13aWR0aC1zaXplciIpOwogICAgICAgICB0aGlzLl9zY3JvbGxDb250YWlu
ZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Njcm9sbFdpZHRoU2l6ZXIpOwogCi0gICAgICAg
IHRoaXMuX2RlZmF1bHRTZXR0aW5nc1ZhbHVlcyA9IGRlZmF1bHRTZXR0aW5nc1ZhbHVlczsKLSAg
ICAgICAgdGhpcy5fZHVyYXRpb25QZXJQaXhlbFNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNl
dHRpbmcoaWRlbnRpZmllciArICItdGltZWxpbmUtb3ZlcnZpZXctZHVyYXRpb24tcGVyLXBpeGVs
IiwgdGhpcy5fZGVmYXVsdFNldHRpbmdzVmFsdWVzLmR1cmF0aW9uUGVyUGl4ZWwpOwotICAgICAg
ICB0aGlzLl9zZWxlY3Rpb25TdGFydFZhbHVlU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0
dGluZyhpZGVudGlmaWVyICsgIi10aW1lbGluZS1vdmVydmlldy1zZWxlY3Rpb24tc3RhcnQtdmFs
dWUiLCB0aGlzLl9kZWZhdWx0U2V0dGluZ3NWYWx1ZXMuc2VsZWN0aW9uU3RhcnRWYWx1ZSk7Ci0g
ICAgICAgIHRoaXMuX3NlbGVjdGlvbkR1cmF0aW9uU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3Iu
U2V0dGluZyhpZGVudGlmaWVyICsgIi10aW1lbGluZS1vdmVydmlldy1zZWxlY3Rpb24tZHVyYXRp
b24iLCB0aGlzLl9kZWZhdWx0U2V0dGluZ3NWYWx1ZXMuc2VsZWN0aW9uRHVyYXRpb24pOwotCiAg
ICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IDA7CiAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lID0g
MDsKICAgICAgICAgdGhpcy5fcmV2ZWFsQ3VycmVudFRpbWUgPSBmYWxzZTsKICAgICAgICAgdGhp
cy5fZW5kVGltZSA9IDA7Ci0gICAgICAgIHRoaXMuX21pbmltdW1EdXJhdGlvblBlclBpeGVsID0g
bWluaW11bUR1cmF0aW9uUGVyUGl4ZWw7Ci0gICAgICAgIHRoaXMuX21heGltdW1EdXJhdGlvblBl
clBpeGVsID0gbWF4aW11bUR1cmF0aW9uUGVyUGl4ZWw7Ci0gICAgICAgIHRoaXMuX2R1cmF0aW9u
UGVyUGl4ZWwgPSBNYXRoLm1pbih0aGlzLl9tYXhpbXVtRHVyYXRpb25QZXJQaXhlbCwgTWF0aC5t
YXgodGhpcy5fbWluaW11bUR1cmF0aW9uUGVyUGl4ZWwsIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWxT
ZXR0aW5nLnZhbHVlKSk7CiAgICAgICAgIHRoaXMuX3BpeGVsQWxpZ25EdXJhdGlvbiA9IGZhbHNl
OwogICAgICAgICB0aGlzLl9tb3VzZVdoZWVsRGVsdGEgPSAwOwotICAgICAgICB0aGlzLl9zY3Jv
bGxTdGFydFRpbWUgPSAwOwogICAgICAgICB0aGlzLl9jYWNoZWRTY3JvbGxDb250YWluZXJXaWR0
aCA9IE5hTjsKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlclNlbGVjdGlvbkNoYW5nZWQgPSBm
YWxzZTsKIAotICAgICAgICB0aGlzLnNlbGVjdGlvblN0YXJ0VGltZSA9IHRoaXMuX3NlbGVjdGlv
blN0YXJ0VmFsdWVTZXR0aW5nLnZhbHVlOwotICAgICAgICB0aGlzLnNlbGVjdGlvbkR1cmF0aW9u
ID0gdGhpcy5fc2VsZWN0aW9uRHVyYXRpb25TZXR0aW5nLnZhbHVlOwotCiAgICAgICAgIGZvciAo
bGV0IGluc3RydW1lbnQgb2YgdGhpcy5fcmVjb3JkaW5nLmluc3RydW1lbnRzKQogICAgICAgICAg
ICAgdGhpcy5faW5zdHJ1bWVudEFkZGVkKGluc3RydW1lbnQpOwogCiAgICAgICAgIGlmICghV2Vi
SW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5pc0NhcHR1cmluZ1BhZ2VSZWxvYWQoKSkKICAgICAg
ICAgICAgIHRoaXMuX3Jlc2V0U2VsZWN0aW9uKCk7CisKKyAgICAgICAgdGhpcy52aWV3TW9kZSA9
IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlRpbWVsaW5lczsKICAgICB9
CiAKICAgICAvLyBQdWJsaWMKIAorICAgIGdldCB2aWV3TW9kZSgpCisgICAgeworICAgICAgICBy
ZXR1cm4gdGhpcy5fdmlld01vZGU7CisgICAgfQorCisgICAgc2V0IHZpZXdNb2RlKHgpCisgICAg
eworICAgICAgICBpZiAodGhpcy5fdmlld01vZGUgPT09IHgpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgdGhpcy5fdmlld01vZGUgPSB4OworICAgICAgICB0aGlzLl92aWV3TW9kZURp
ZENoYW5nZSgpOworICAgIH0KKwogICAgIGdldCBzdGFydFRpbWUoKQogICAgIHsKICAgICAgICAg
cmV0dXJuIHRoaXMuX3N0YXJ0VGltZTsKQEAgLTExMSw2ICsxMjMsMTEgQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5z
cGVjdG9yLlZpZXcKICAgICAgICAgaWYgKHRoaXMuX3N0YXJ0VGltZSA9PT0geCkKICAgICAgICAg
ICAgIHJldHVybjsKIAorICAgICAgICBpZiAodGhpcy5fdmlld01vZGUgIT09IFdlYkluc3BlY3Rv
ci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcykgeworICAgICAgICAg
ICAgbGV0IHNlbGVjdGlvbk9mZnNldCA9IHRoaXMuc2VsZWN0aW9uU3RhcnRUaW1lIC0gdGhpcy5f
c3RhcnRUaW1lOworICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25TdGFydFRpbWUgPSBzZWxlY3Rp
b25PZmZzZXQgKyB4OworICAgICAgICB9CisKICAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0geDsK
IAogICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7CkBAIC0xMzYsMjQgKzE1MywyMyBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgZ2V0IHNlY29uZHNQZXJQaXhlbCgpCiAgICAgewot
ICAgICAgICByZXR1cm4gdGhpcy5fZHVyYXRpb25QZXJQaXhlbDsKKyAgICAgICAgcmV0dXJuIHRo
aXMuX2N1cnJlbnRTZXR0aW5ncy5kdXJhdGlvblBlclBpeGVsU2V0dGluZy52YWx1ZTsKICAgICB9
CiAKICAgICBzZXQgc2Vjb25kc1BlclBpeGVsKHgpCiAgICAgewotICAgICAgICB4ID0gTWF0aC5t
aW4odGhpcy5fbWF4aW11bUR1cmF0aW9uUGVyUGl4ZWwsIE1hdGgubWF4KHRoaXMuX21pbmltdW1E
dXJhdGlvblBlclBpeGVsLCB4KSk7CisgICAgICAgIHggPSBNYXRoLm1pbih0aGlzLl9jdXJyZW50
U2V0dGluZ3MubWF4aW11bUR1cmF0aW9uUGVyUGl4ZWwsIE1hdGgubWF4KHRoaXMuX2N1cnJlbnRT
ZXR0aW5ncy5taW5pbXVtRHVyYXRpb25QZXJQaXhlbCwgeCkpOwogCi0gICAgICAgIGlmICh0aGlz
Ll9kdXJhdGlvblBlclBpeGVsID09PSB4KQorICAgICAgICBpZiAodGhpcy5zZWNvbmRzUGVyUGl4
ZWwgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKHRoaXMuX3BpeGVs
QWxpZ25EdXJhdGlvbikgewogICAgICAgICAgICAgeCA9IDEgLyBNYXRoLnJvdW5kKDEgLyB4KTsK
LSAgICAgICAgICAgIGlmICh0aGlzLl9kdXJhdGlvblBlclBpeGVsID09PSB4KQorICAgICAgICAg
ICAgaWYgKHRoaXMuc2Vjb25kc1BlclBpeGVsID09PSB4KQogICAgICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogCi0gICAgICAgIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwgPSB4OwotICAg
ICAgICB0aGlzLl9kdXJhdGlvblBlclBpeGVsU2V0dGluZy52YWx1ZSA9IHg7CisgICAgICAgIHRo
aXMuX2N1cnJlbnRTZXR0aW5ncy5kdXJhdGlvblBlclBpeGVsU2V0dGluZy52YWx1ZSA9IHg7CiAK
ICAgICAgICAgdGhpcy5uZWVkc0xheW91dCgpOwogICAgIH0KQEAgLTE3MSw3ICsxODcsNyBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICB0aGlzLl9tb3VzZVdoZWVsRGVsdGEgPSAw
OwogICAgICAgICB0aGlzLl9waXhlbEFsaWduRHVyYXRpb24gPSB4OwogICAgICAgICBpZiAodGhp
cy5fcGl4ZWxBbGlnbkR1cmF0aW9uKQotICAgICAgICAgICAgdGhpcy5zZWNvbmRzUGVyUGl4ZWwg
PSAxIC8gTWF0aC5yb3VuZCgxIC8gdGhpcy5fZHVyYXRpb25QZXJQaXhlbCk7CisgICAgICAgICAg
ICB0aGlzLnNlY29uZHNQZXJQaXhlbCA9IDEgLyBNYXRoLnJvdW5kKDEgLyB0aGlzLnNlY29uZHNQ
ZXJQaXhlbCk7CiAgICAgfQogCiAgICAgZ2V0IGVuZFRpbWUoKQpAQCAtMTkzLDE3ICsyMDksMTcg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3
IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIGdldCBzY3JvbGxTdGFydFRpbWUoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbFN0YXJ0VGltZTsKKyAgICAgICAgcmV0
dXJuIHRoaXMuX2N1cnJlbnRTZXR0aW5ncy5zY3JvbGxTdGFydFRpbWU7CiAgICAgfQogCiAgICAg
c2V0IHNjcm9sbFN0YXJ0VGltZSh4KQogICAgIHsKICAgICAgICAgeCA9IHggfHwgMDsKIAotICAg
ICAgICBpZiAodGhpcy5fc2Nyb2xsU3RhcnRUaW1lID09PSB4KQorICAgICAgICBpZiAodGhpcy5z
Y3JvbGxTdGFydFRpbWUgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhp
cy5fc2Nyb2xsU3RhcnRUaW1lID0geDsKKyAgICAgICAgdGhpcy5fY3VycmVudFNldHRpbmdzLnNj
cm9sbFN0YXJ0VGltZSA9IHg7CiAKICAgICAgICAgdGhpcy5uZWVkc0xheW91dCgpOwogICAgIH0K
QEAgLTIyMSw3ICsyMzcsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNz
IFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICAgICAg
ICAgIHRoaXMuX2NhY2hlZFNjcm9sbENvbnRhaW5lcldpZHRoID0gTmFOOwogICAgICAgICB9CiAK
LSAgICAgICAgcmV0dXJuIHRoaXMuX2NhY2hlZFNjcm9sbENvbnRhaW5lcldpZHRoICogdGhpcy5f
ZHVyYXRpb25QZXJQaXhlbDsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NhY2hlZFNjcm9sbENvbnRh
aW5lcldpZHRoICogdGhpcy5zZWNvbmRzUGVyUGl4ZWw7CiAgICAgfQogCiAgICAgZ2V0IHNlbGVj
dGlvblN0YXJ0VGltZSgpCkBAIC0yNTYsOCArMjcyLDEwIEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5W
aWV3CiAgICAgZ2V0IGhlaWdodCgpCiAgICAgewogICAgICAgICBsZXQgaGVpZ2h0ID0gMDsKLSAg
ICAgICAgZm9yIChsZXQgZ3JhcGggb2YgdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01hcC52
YWx1ZXMoKSkKLSAgICAgICAgICAgIGhlaWdodCArPSBncmFwaC5oZWlnaHQ7CisgICAgICAgIGZv
ciAobGV0IG92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAudmFs
dWVzKCkpIHsKKyAgICAgICAgICAgIGlmIChvdmVydmlld0dyYXBoLnZpc2libGUpCisgICAgICAg
ICAgICAgICAgaGVpZ2h0ICs9IG92ZXJ2aWV3R3JhcGguaGVpZ2h0OworICAgICAgICB9CiAgICAg
ICAgIHJldHVybiBoZWlnaHQ7CiAgICAgfQogCkBAIC0yNzAsOCArMjg4LDEwIEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdl
Ykluc3BlY3Rvci5WaWV3CiAgICAgewogICAgICAgICB0aGlzLl92aXNpYmxlID0gdHJ1ZTsKIAot
ICAgICAgICBmb3IgKHZhciB0aW1lbGluZU92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fdGltZWxpbmVP
dmVydmlld0dyYXBoc01hcC52YWx1ZXMoKSkKLSAgICAgICAgICAgIHRpbWVsaW5lT3ZlcnZpZXdH
cmFwaC5zaG93bigpOworICAgICAgICBmb3IgKGxldCBbdHlwZSwgb3ZlcnZpZXdHcmFwaF0gb2Yg
dGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXApIHsKKyAgICAgICAgICAgIGlmICh0aGlzLl9j
YW5TaG93VGltZWxpbmVUeXBlKHR5cGUpKQorICAgICAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGgu
c2hvd24oKTsKKyAgICAgICAgfQogCiAgICAgICAgIHRoaXMudXBkYXRlTGF5b3V0KFdlYkluc3Bl
Y3Rvci5WaWV3LkxheW91dFJlYXNvbi5SZXNpemUpOwogICAgIH0KQEAgLTI4MCwxNCArMzAwLDE0
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmll
dyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgewogICAgICAgICB0aGlzLl92aXNpYmxl
ID0gZmFsc2U7CiAKLSAgICAgICAgZm9yICh2YXIgdGltZWxpbmVPdmVydmlld0dyYXBoIG9mIHRo
aXMuX3RpbWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXAudmFsdWVzKCkpCi0gICAgICAgICAgICB0aW1l
bGluZU92ZXJ2aWV3R3JhcGguaGlkZGVuKCk7CisgICAgICAgIGZvciAobGV0IG92ZXJ2aWV3R3Jh
cGggb2YgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAudmFsdWVzKCkpCisgICAgICAgICAg
ICBvdmVydmlld0dyYXBoLmhpZGRlbigpOwogICAgIH0KIAogICAgIHJlc2V0KCkKICAgICB7Ci0g
ICAgICAgIGZvciAodmFyIHRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBvZiB0aGlzLl90aW1lbGluZU92
ZXJ2aWV3R3JhcGhzTWFwLnZhbHVlcygpKQotICAgICAgICAgICAgdGltZWxpbmVPdmVydmlld0dy
YXBoLnJlc2V0KCk7CisgICAgICAgIGZvciAobGV0IG92ZXJ2aWV3R3JhcGggb2YgdGhpcy5fb3Zl
cnZpZXdHcmFwaHNCeVR5cGVNYXAudmFsdWVzKCkpCisgICAgICAgICAgICBvdmVydmlld0dyYXBo
LnJlc2V0KCk7CiAKICAgICAgICAgdGhpcy5fbW91c2VXaGVlbERlbHRhID0gMDsKIApAQCAtMzAx
LDI1ICszMjEsMjUgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1l
bGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIHJlY29yZFdhc0Zp
bHRlcmVkKHRpbWVsaW5lLCByZWNvcmQsIGZpbHRlcmVkKQogICAgIHsKLSAgICAgICAgY29uc29s
ZS5hc3NlcnQodGhpcy5jYW5TaG93VGltZWxpbmUodGltZWxpbmUpLCB0aW1lbGluZSk7Ci0KLSAg
ICAgICAgbGV0IG92ZXJ2aWV3R3JhcGggPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3R3JhcGhzTWFw
LmdldCh0aW1lbGluZSk7CisgICAgICAgIGxldCBvdmVydmlld0dyYXBoID0gdGhpcy5fb3ZlcnZp
ZXdHcmFwaHNCeVR5cGVNYXAuZ2V0KHRpbWVsaW5lLnR5cGUpOwogICAgICAgICBjb25zb2xlLmFz
c2VydChvdmVydmlld0dyYXBoLCAiTWlzc2luZyBvdmVydmlldyBncmFwaCBmb3IgdGltZWxpbmUg
dHlwZSAiICsgdGltZWxpbmUudHlwZSk7CiAgICAgICAgIGlmICghb3ZlcnZpZXdHcmFwaCkKICAg
ICAgICAgICAgIHJldHVybjsKIAorICAgICAgICBjb25zb2xlLmFzc2VydChvdmVydmlld0dyYXBo
LnZpc2libGUsICJSZWNvcmQgZmlsdGVyZWQgaW4gaGlkZGVuIG92ZXJ2aWV3IGdyYXBoIiwgcmVj
b3JkKTsKKwogICAgICAgICBvdmVydmlld0dyYXBoLnJlY29yZFdhc0ZpbHRlcmVkKHJlY29yZCwg
ZmlsdGVyZWQpOwogICAgIH0KIAogICAgIHNlbGVjdFJlY29yZCh0aW1lbGluZSwgcmVjb3JkKQog
ICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5jYW5TaG93VGltZWxpbmUodGltZWxp
bmUpLCB0aW1lbGluZSk7Ci0KLSAgICAgICAgdmFyIG92ZXJ2aWV3R3JhcGggPSB0aGlzLl90aW1l
bGluZU92ZXJ2aWV3R3JhcGhzTWFwLmdldCh0aW1lbGluZSk7CisgICAgICAgIGxldCBvdmVydmll
d0dyYXBoID0gdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVNYXAuZ2V0KHRpbWVsaW5lLnR5cGUp
OwogICAgICAgICBjb25zb2xlLmFzc2VydChvdmVydmlld0dyYXBoLCAiTWlzc2luZyBvdmVydmll
dyBncmFwaCBmb3IgdGltZWxpbmUgdHlwZSAiICsgdGltZWxpbmUudHlwZSk7CiAgICAgICAgIGlm
ICghb3ZlcnZpZXdHcmFwaCkKICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICBjb25zb2xl
LmFzc2VydChvdmVydmlld0dyYXBoLnZpc2libGUsICJSZWNvcmQgc2VsZWN0ZWQgaW4gaGlkZGVu
IG92ZXJ2aWV3IGdyYXBoIiwgcmVjb3JkKTsKKwogICAgICAgICBvdmVydmlld0dyYXBoLnNlbGVj
dGVkUmVjb3JkID0gcmVjb3JkOwogICAgIH0KIApAQCAtMzMyLDggKzM1MiwxMCBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuVmlldwogCiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIudXBkYXRlTGF5
b3V0SWZOZWVkZWQoKTsKIAotICAgICAgICBmb3IgKGxldCB0aW1lbGluZU92ZXJ2aWV3R3JhcGgg
b2YgdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01hcC52YWx1ZXMoKSkKLSAgICAgICAgICAg
IHRpbWVsaW5lT3ZlcnZpZXdHcmFwaC51cGRhdGVMYXlvdXRJZk5lZWRlZCgpOworICAgICAgICBm
b3IgKGxldCBvdmVydmlld0dyYXBoIG9mIHRoaXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwLnZh
bHVlcygpKSB7CisgICAgICAgICAgICBpZiAob3ZlcnZpZXdHcmFwaC52aXNpYmxlKQorICAgICAg
ICAgICAgICAgIG92ZXJ2aWV3R3JhcGgudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKKyAgICAgICAg
fQogICAgIH0KIAogICAgIC8vIFByb3RlY3RlZApAQCAtMzQzLDI1ICszNjUsMzEgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMg
V2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWVsaW5lUnVsZXI7CiAg
ICAgfQogCi0gICAgY2FuU2hvd1RpbWVsaW5lKHRpbWVsaW5lKQotICAgIHsKLSAgICAgICAgLy8g
SW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KLSAgICAgICAgY29uc29sZS5lcnJvcigiTmVlZHMg
dG8gYmUgaW1wbGVtZW50ZWQgYnkgYSBzdWJjbGFzcy4iKTsKLSAgICB9Ci0KICAgICBsYXlvdXQo
bGF5b3V0UmVhc29uKQogICAgIHsKICAgICAgICAgaWYgKGxheW91dFJlYXNvbiA9PT0gV2ViSW5z
cGVjdG9yLlZpZXcuTGF5b3V0UmVhc29uLlJlc2l6ZSkKICAgICAgICAgICAgIHRoaXMuX2NhY2hl
ZFNjcm9sbENvbnRhaW5lcldpZHRoID0gTmFOOwogCisgICAgICAgIGxldCBzdGFydFRpbWUgPSB0
aGlzLl9zdGFydFRpbWU7CisgICAgICAgIGxldCBlbmRUaW1lID0gdGhpcy5fZW5kVGltZTsKKyAg
ICAgICAgbGV0IGN1cnJlbnRUaW1lID0gdGhpcy5fY3VycmVudFRpbWU7CisgICAgICAgIGlmICh0
aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuVmlld01vZGUu
UmVuZGVyaW5nRnJhbWVzKSB7CisgICAgICAgICAgICBsZXQgcmVuZGVyaW5nRnJhbWVzVGltZWxp
bmUgPSB0aGlzLl9yZWNvcmRpbmcudGltZWxpbmVzLmdldChXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZSk7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChy
ZW5kZXJpbmdGcmFtZXNUaW1lbGluZSwgIlJlY29yaW5nIG1pc3NpbmcgcmVuZGVyaW5nIGZyYW1l
cyB0aW1lbGluZSIpOworCisgICAgICAgICAgICBzdGFydFRpbWUgPSAwOworICAgICAgICAgICAg
ZW5kVGltZSA9IHJlbmRlcmluZ0ZyYW1lc1RpbWVsaW5lLnJlY29yZHMubGVuZ3RoOworICAgICAg
ICAgICAgY3VycmVudFRpbWUgPSBlbmRUaW1lOworICAgICAgICB9CisKICAgICAgICAgLy8gQ2Fs
Y3VsYXRlIHRoZSByZXF1aXJlZCB3aWR0aCBiYXNlZCBvbiB0aGUgZHVyYXRpb24gYW5kIHNlY29u
ZHMgcGVyIHBpeGVsLgotICAgICAgICBsZXQgZHVyYXRpb24gPSB0aGlzLl9lbmRUaW1lIC0gdGhp
cy5fc3RhcnRUaW1lOwotICAgICAgICBsZXQgbmV3V2lkdGggPSBNYXRoLmNlaWwoZHVyYXRpb24g
LyB0aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKKyAgICAgICAgbGV0IGR1cmF0aW9uID0gZW5kVGlt
ZSAtIHN0YXJ0VGltZTsKKyAgICAgICAgbGV0IG5ld1dpZHRoID0gTWF0aC5jZWlsKGR1cmF0aW9u
IC8gdGhpcy5zZWNvbmRzUGVyUGl4ZWwpOwogCiAgICAgICAgIC8vIFVwZGF0ZSBhbGwgcmVsZXZh
bnQgZWxlbWVudHMgdG8gdGhlIG5ldyByZXF1aXJlZCB3aWR0aC4KICAgICAgICAgdGhpcy5fdXBk
YXRlRWxlbWVudFdpZHRoKHRoaXMuX3Njcm9sbFdpZHRoU2l6ZXIsIG5ld1dpZHRoKTsKIAotICAg
ICAgICB0aGlzLl9jdXJyZW50VGltZU1hcmtlci50aW1lID0gdGhpcy5fY3VycmVudFRpbWU7Cisg
ICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lTWFya2VyLnRpbWUgPSBjdXJyZW50VGltZTsKIAogICAg
ICAgICBpZiAodGhpcy5fcmV2ZWFsQ3VycmVudFRpbWUpIHsKICAgICAgICAgICAgIHRoaXMucmV2
ZWFsTWFya2VyKHRoaXMuX2N1cnJlbnRUaW1lTWFya2VyKTsKQEAgLTM3MSwyNSArMzk5LDI4IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBl
eHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIGNvbnN0IHZpc2libGVEdXJhdGlvbiA9
IHRoaXMudmlzaWJsZUR1cmF0aW9uOwogCiAgICAgICAgIC8vIENsYW1wIHRoZSBzY3JvbGwgc3Rh
cnQgdGltZSB0byBtYXRjaCB3aGF0IHRoZSBzY3JvbGwgYmFyIHdvdWxkIGFsbG93LgotICAgICAg
ICBsZXQgc2Nyb2xsU3RhcnRUaW1lID0gTWF0aC5taW4odGhpcy5fc2Nyb2xsU3RhcnRUaW1lLCB0
aGlzLl9lbmRUaW1lIC0gdmlzaWJsZUR1cmF0aW9uKTsKLSAgICAgICAgc2Nyb2xsU3RhcnRUaW1l
ID0gTWF0aC5tYXgodGhpcy5fc3RhcnRUaW1lLCBzY3JvbGxTdGFydFRpbWUpOworICAgICAgICBs
ZXQgc2Nyb2xsU3RhcnRUaW1lID0gTWF0aC5taW4odGhpcy5zY3JvbGxTdGFydFRpbWUsIGVuZFRp
bWUgLSB2aXNpYmxlRHVyYXRpb24pOworICAgICAgICBzY3JvbGxTdGFydFRpbWUgPSBNYXRoLm1h
eChzdGFydFRpbWUsIHNjcm9sbFN0YXJ0VGltZSk7CiAKLSAgICAgICAgdGhpcy5fdGltZWxpbmVS
dWxlci56ZXJvVGltZSA9IHRoaXMuX3N0YXJ0VGltZTsKKyAgICAgICAgdGhpcy5fdGltZWxpbmVS
dWxlci56ZXJvVGltZSA9IHN0YXJ0VGltZTsKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5z
dGFydFRpbWUgPSBzY3JvbGxTdGFydFRpbWU7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIu
c2Vjb25kc1BlclBpeGVsID0gdGhpcy5fZHVyYXRpb25QZXJQaXhlbDsKKyAgICAgICAgdGhpcy5f
dGltZWxpbmVSdWxlci5zZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLnNlY29uZHNQZXJQaXhlbDsKIAog
ICAgICAgICBpZiAoIXRoaXMuX2RvbnRVcGRhdGVTY3JvbGxMZWZ0KSB7CiAgICAgICAgICAgICB0
aGlzLl9pZ25vcmVOZXh0U2Nyb2xsRXZlbnQgPSB0cnVlOwotICAgICAgICAgICAgbGV0IHNjcm9s
bExlZnQgPSBNYXRoLmNlaWwoKHNjcm9sbFN0YXJ0VGltZSAtIHRoaXMuX3N0YXJ0VGltZSkgLyB0
aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKKyAgICAgICAgICAgIGxldCBzY3JvbGxMZWZ0ID0gTWF0
aC5jZWlsKChzY3JvbGxTdGFydFRpbWUgLSBzdGFydFRpbWUpIC8gdGhpcy5zZWNvbmRzUGVyUGl4
ZWwpOwogICAgICAgICAgICAgaWYgKHNjcm9sbExlZnQpCiAgICAgICAgICAgICAgICAgdGhpcy5f
c2Nyb2xsQ29udGFpbmVyRWxlbWVudC5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdDsKICAgICAgICAg
fQogCi0gICAgICAgIGZvciAobGV0IHRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBvZiB0aGlzLl90aW1l
bGluZU92ZXJ2aWV3R3JhcGhzTWFwLnZhbHVlcygpKSB7Ci0gICAgICAgICAgICB0aW1lbGluZU92
ZXJ2aWV3R3JhcGguemVyb1RpbWUgPSB0aGlzLl9zdGFydFRpbWU7Ci0gICAgICAgICAgICB0aW1l
bGluZU92ZXJ2aWV3R3JhcGguc3RhcnRUaW1lID0gc2Nyb2xsU3RhcnRUaW1lOwotICAgICAgICAg
ICAgdGltZWxpbmVPdmVydmlld0dyYXBoLmN1cnJlbnRUaW1lID0gdGhpcy5fY3VycmVudFRpbWU7
Ci0gICAgICAgICAgICB0aW1lbGluZU92ZXJ2aWV3R3JhcGguZW5kVGltZSA9IHNjcm9sbFN0YXJ0
VGltZSArIHZpc2libGVEdXJhdGlvbjsKKyAgICAgICAgZm9yIChsZXQgb3ZlcnZpZXdHcmFwaCBv
ZiB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcC52YWx1ZXMoKSkgeworICAgICAgICAgICAg
aWYgKCFvdmVydmlld0dyYXBoLnZpc2libGUpCisgICAgICAgICAgICAgICAgY29udGludWU7CisK
KyAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGguemVyb1RpbWUgPSBzdGFydFRpbWU7CisgICAgICAg
ICAgICBvdmVydmlld0dyYXBoLnN0YXJ0VGltZSA9IHNjcm9sbFN0YXJ0VGltZTsKKyAgICAgICAg
ICAgIG92ZXJ2aWV3R3JhcGguY3VycmVudFRpbWUgPSBjdXJyZW50VGltZTsKKyAgICAgICAgICAg
IG92ZXJ2aWV3R3JhcGguZW5kVGltZSA9IHNjcm9sbFN0YXJ0VGltZSArIHZpc2libGVEdXJhdGlv
bjsKICAgICAgICAgfQogICAgIH0KIApAQCAtNDExLDggKzQ0Miw4IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3Bl
Y3Rvci5WaWV3CiAKICAgICAgICAgdGhpcy5fZG9udFVwZGF0ZVNjcm9sbExlZnQgPSB0cnVlOwog
Ci0gICAgICAgIHZhciBzY3JvbGxPZmZzZXQgPSB0aGlzLl9zY3JvbGxDb250YWluZXJFbGVtZW50
LnNjcm9sbExlZnQ7Ci0gICAgICAgIHRoaXMuc2Nyb2xsU3RhcnRUaW1lID0gdGhpcy5fc3RhcnRU
aW1lICsgKHNjcm9sbE9mZnNldCAqIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwpOworICAgICAgICBs
ZXQgc2Nyb2xsT2Zmc2V0ID0gdGhpcy5fc2Nyb2xsQ29udGFpbmVyRWxlbWVudC5zY3JvbGxMZWZ0
OworICAgICAgICB0aGlzLnNjcm9sbFN0YXJ0VGltZSA9IHRoaXMuX3N0YXJ0VGltZSArIChzY3Jv
bGxPZmZzZXQgKiB0aGlzLnNlY29uZHNQZXJQaXhlbCk7CiAKICAgICAgICAgLy8gRm9yY2UgbGF5
b3V0IHNvIHdlIGNhbiB1cGRhdGUgd2l0aCB0aGUgc2Nyb2xsIHBvc2l0aW9uIHN5bmNocm9ub3Vz
bHkuCiAgICAgICAgIHRoaXMudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKQEAgLTQ0MywyNSArNDc0
LDI1IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVy
dmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICAgICAgLy8gUmVtZW1iZXIgdGhl
IG1vdXNlIHBvc2l0aW9uIGluIHRpbWUuCiAgICAgICAgIGxldCBtb3VzZU9mZnNldCA9IGV2ZW50
LnBhZ2VYIC0gdGhpcy5lbGVtZW50LnRvdGFsT2Zmc2V0TGVmdDsKLSAgICAgICAgbGV0IG1vdXNl
UG9zaXRpb25UaW1lID0gdGhpcy5fc2Nyb2xsU3RhcnRUaW1lICsgKG1vdXNlT2Zmc2V0ICogdGhp
cy5fZHVyYXRpb25QZXJQaXhlbCk7CisgICAgICAgIGxldCBtb3VzZVBvc2l0aW9uVGltZSA9IHRo
aXMuX2N1cnJlbnRTZXR0aW5ncy5zY3JvbGxTdGFydFRpbWUgKyAobW91c2VPZmZzZXQgKiB0aGlz
LnNlY29uZHNQZXJQaXhlbCk7CiAgICAgICAgIGxldCBkZXZpY2VEaXJlY3Rpb24gPSBldmVudC53
ZWJraXREaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UgPyAxIDogLTE7Ci0gICAgICAgIGxldCBk
ZWx0YSA9IGV2ZW50LmRlbHRhWSAqICh0aGlzLl9kdXJhdGlvblBlclBpeGVsIC8gV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXcuU2Nyb2xsRGVsdGFEZW5vbWluYXRvcikgKiBkZXZpY2VEaXJl
Y3Rpb247CisgICAgICAgIGxldCBkZWx0YSA9IGV2ZW50LmRlbHRhWSAqICh0aGlzLnNlY29uZHNQ
ZXJQaXhlbCAvIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlNjcm9sbERlbHRhRGVub21p
bmF0b3IpICogZGV2aWNlRGlyZWN0aW9uOwogCiAgICAgICAgIC8vIFJlc2V0IGFjY3VtdWxhdGVk
IHdoZWVsIGRlbHRhIHdoZW4gZGlyZWN0aW9uIGNoYW5nZXMuCiAgICAgICAgIGlmICh0aGlzLl9w
aXhlbEFsaWduRHVyYXRpb24gJiYgKGRlbHRhIDwgMCAmJiB0aGlzLl9tb3VzZVdoZWVsRGVsdGEg
Pj0gMCB8fCBkZWx0YSA+PSAwICYmIHRoaXMuX21vdXNlV2hlZWxEZWx0YSA8IDApKQogICAgICAg
ICAgICAgdGhpcy5fbW91c2VXaGVlbERlbHRhID0gMDsKIAotICAgICAgICBsZXQgcHJldmlvdXNE
dXJhdGlvblBlclBpeGVsID0gdGhpcy5fZHVyYXRpb25QZXJQaXhlbDsKKyAgICAgICAgbGV0IHBy
ZXZpb3VzRHVyYXRpb25QZXJQaXhlbCA9IHRoaXMuc2Vjb25kc1BlclBpeGVsOwogICAgICAgICB0
aGlzLl9tb3VzZVdoZWVsRGVsdGEgKz0gZGVsdGE7CiAgICAgICAgIHRoaXMuc2Vjb25kc1BlclBp
eGVsICs9IHRoaXMuX21vdXNlV2hlZWxEZWx0YTsKIAotICAgICAgICBpZiAodGhpcy5fZHVyYXRp
b25QZXJQaXhlbCA9PT0gdGhpcy5fbWluaW11bUR1cmF0aW9uUGVyUGl4ZWwgJiYgZGVsdGEgPCAw
IHx8IHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwgPT09IHRoaXMuX21heGltdW1EdXJhdGlvblBlclBp
eGVsICYmIGRlbHRhID49IDApCisgICAgICAgIGlmICh0aGlzLnNlY29uZHNQZXJQaXhlbCA9PT0g
dGhpcy5fY3VycmVudFNldHRpbmdzLm1pbmltdW1EdXJhdGlvblBlclBpeGVsICYmIGRlbHRhIDwg
MCB8fCB0aGlzLnNlY29uZHNQZXJQaXhlbCA9PT0gdGhpcy5fY3VycmVudFNldHRpbmdzLm1heGlt
dW1EdXJhdGlvblBlclBpeGVsICYmIGRlbHRhID49IDApCiAgICAgICAgICAgICB0aGlzLl9tb3Vz
ZVdoZWVsRGVsdGEgPSAwOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzLl9tb3VzZVdo
ZWVsRGVsdGEgPSBwcmV2aW91c0R1cmF0aW9uUGVyUGl4ZWwgKyB0aGlzLl9tb3VzZVdoZWVsRGVs
dGEgLSB0aGlzLl9kdXJhdGlvblBlclBpeGVsOworICAgICAgICAgICAgdGhpcy5fbW91c2VXaGVl
bERlbHRhID0gcHJldmlvdXNEdXJhdGlvblBlclBpeGVsICsgdGhpcy5fbW91c2VXaGVlbERlbHRh
IC0gdGhpcy5zZWNvbmRzUGVyUGl4ZWw7CiAKICAgICAgICAgLy8gQ2VudGVyIHRoZSB6b29tIGFy
b3VuZCB0aGUgbW91c2UgYmFzZWQgb24gdGhlIHJlbWVtYmVyZWQgbW91c2UgcG9zaXRpb24gdGlt
ZS4KLSAgICAgICAgdGhpcy5zY3JvbGxTdGFydFRpbWUgPSBtb3VzZVBvc2l0aW9uVGltZSAtICht
b3VzZU9mZnNldCAqIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwpOworICAgICAgICB0aGlzLnNjcm9s
bFN0YXJ0VGltZSA9IG1vdXNlUG9zaXRpb25UaW1lIC0gKG1vdXNlT2Zmc2V0ICogdGhpcy5zZWNv
bmRzUGVyUGl4ZWwpOwogCiAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAg
IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwpAQCAtNDc1LDExICs1MDYsMTEgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLlZpZXcKICAgICAgICAgfQogCiAgICAgICAgIGxldCBtb3VzZU9mZnNldCA9IGV2
ZW50LnBhZ2VYIC0gdGhpcy5lbGVtZW50LnRvdGFsT2Zmc2V0TGVmdDsKLSAgICAgICAgbGV0IG1v
dXNlUG9zaXRpb25UaW1lID0gdGhpcy5fc2Nyb2xsU3RhcnRUaW1lICsgKG1vdXNlT2Zmc2V0ICog
dGhpcy5fZHVyYXRpb25QZXJQaXhlbCk7CisgICAgICAgIGxldCBtb3VzZVBvc2l0aW9uVGltZSA9
IHRoaXMuX2N1cnJlbnRTZXR0aW5ncy5zY3JvbGxTdGFydFRpbWUgKyAobW91c2VPZmZzZXQgKiB0
aGlzLnNlY29uZHNQZXJQaXhlbCk7CiAKICAgICAgICAgdGhpcy5faGFuZGxpbmdHZXN0dXJlID0g
dHJ1ZTsKICAgICAgICAgdGhpcy5fZ2VzdHVyZVN0YXJ0U3RhcnRUaW1lID0gbW91c2VQb3NpdGlv
blRpbWU7Ci0gICAgICAgIHRoaXMuX2dlc3R1cmVTdGFydER1cmF0aW9uUGVyUGl4ZWwgPSB0aGlz
Ll9kdXJhdGlvblBlclBpeGVsOworICAgICAgICB0aGlzLl9nZXN0dXJlU3RhcnREdXJhdGlvblBl
clBpeGVsID0gdGhpcy5zZWNvbmRzUGVyUGl4ZWw7CiAKICAgICAgICAgZXZlbnQucHJldmVudERl
ZmF1bHQoKTsKICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CkBAIC00OTQsNyArNTI1
LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2
aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgbGV0IG5ld1NlY29uZHNQZXJQ
aXhlbCA9IHRoaXMuX2dlc3R1cmVTdGFydER1cmF0aW9uUGVyUGl4ZWwgLyBzY2FsZTsKIAogICAg
ICAgICB0aGlzLnNlY29uZHNQZXJQaXhlbCA9IG5ld1NlY29uZHNQZXJQaXhlbDsKLSAgICAgICAg
dGhpcy5zY3JvbGxTdGFydFRpbWUgPSB0aGlzLl9nZXN0dXJlU3RhcnRTdGFydFRpbWUgLSAobW91
c2VPZmZzZXQgKiB0aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKKyAgICAgICAgdGhpcy5zY3JvbGxT
dGFydFRpbWUgPSB0aGlzLl9nZXN0dXJlU3RhcnRTdGFydFRpbWUgLSAobW91c2VPZmZzZXQgKiB0
aGlzLnNlY29uZHNQZXJQaXhlbCk7CiAKICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsK
ICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CkBAIC01MTMsMTUgKzU0NCwxNiBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICBjb25zb2xlLmFzc2VydChpbnN0cnVtZW50
IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkluc3RydW1lbnQsIGluc3RydW1lbnQpOwogCiAgICAg
ICAgIGxldCB0aW1lbGluZSA9IHRoaXMuX3JlY29yZGluZy50aW1lbGluZUZvckluc3RydW1lbnQo
aW5zdHJ1bWVudCk7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl90aW1lbGluZU92ZXJ2
aWV3R3JhcGhzTWFwLmhhcyh0aW1lbGluZSksIHRpbWVsaW5lKTsKLSAgICAgICAgaWYgKCF0aGlz
LmNhblNob3dUaW1lbGluZSh0aW1lbGluZSkpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcC5oYXModGltZWxp
bmUudHlwZSksIHRpbWVsaW5lKTsKIAogICAgICAgICBsZXQgb3ZlcnZpZXdHcmFwaCA9IFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGguY3JlYXRlRm9yVGltZWxpbmUodGltZWxpbmUs
IHRoaXMpOwogICAgICAgICBvdmVydmlld0dyYXBoLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5FdmVudC5SZWNvcmRTZWxlY3RlZCwgdGhpcy5fcmVj
b3JkU2VsZWN0ZWQsIHRoaXMpOwotICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3R3JhcGhz
TWFwLnNldCh0aW1lbGluZSwgb3ZlcnZpZXdHcmFwaCk7CisgICAgICAgIHRoaXMuX292ZXJ2aWV3
R3JhcGhzQnlUeXBlTWFwLnNldCh0aW1lbGluZS50eXBlLCBvdmVydmlld0dyYXBoKTsKIAogICAg
ICAgICB0aGlzLl9ncmFwaHNDb250YWluZXJWaWV3LmFkZFN1YnZpZXcob3ZlcnZpZXdHcmFwaCk7
CisKKyAgICAgICAgaWYgKCF0aGlzLl9jYW5TaG93VGltZWxpbmVUeXBlKHRpbWVsaW5lLnR5cGUp
KQorICAgICAgICAgICAgb3ZlcnZpZXdHcmFwaC5oaWRkZW4oKTsKICAgICB9CiAKICAgICBfaW5z
dHJ1bWVudFJlbW92ZWQoZXZlbnQpCkBAIC01MzAsMTIgKzU2Miw5IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3Bl
Y3Rvci5WaWV3CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGluc3RydW1lbnQgaW5zdGFuY2VvZiBX
ZWJJbnNwZWN0b3IuSW5zdHJ1bWVudCwgaW5zdHJ1bWVudCk7CiAKICAgICAgICAgbGV0IHRpbWVs
aW5lID0gdGhpcy5fcmVjb3JkaW5nLnRpbWVsaW5lRm9ySW5zdHJ1bWVudChpbnN0cnVtZW50KTsK
LSAgICAgICAgaWYgKCF0aGlzLmNhblNob3dUaW1lbGluZSh0aW1lbGluZSkpCi0gICAgICAgICAg
ICByZXR1cm47Ci0KLSAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fdGltZWxpbmVPdmVydmll
d0dyYXBoc01hcC5oYXModGltZWxpbmUpLCB0aW1lbGluZSk7CisgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KHRoaXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBlTWFwLmhhcyh0aW1lbGluZS50eXBlKSwgdGlt
ZWxpbmUpOwogCi0gICAgICAgIGxldCBvdmVydmlld0dyYXBoID0gdGhpcy5fdGltZWxpbmVPdmVy
dmlld0dyYXBoc01hcC50YWtlKHRpbWVsaW5lKTsKKyAgICAgICAgbGV0IG92ZXJ2aWV3R3JhcGgg
PSB0aGlzLl9vdmVydmlld0dyYXBoc0J5VHlwZU1hcC50YWtlKHRpbWVsaW5lLnR5cGUpOwogICAg
ICAgICBvdmVydmlld0dyYXBoLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lT3ZlcnZpZXdHcmFwaC5FdmVudC5SZWNvcmRTZWxlY3RlZCwgdGhpcy5fcmVjb3JkU2VsZWN0
ZWQsIHRoaXMpOwogICAgICAgICB0aGlzLl9ncmFwaHNDb250YWluZXJWaWV3LnJlbW92ZVN1YnZp
ZXcob3ZlcnZpZXdHcmFwaCk7CiAgICAgfQpAQCAtNTU1LDEzICs1ODQsMTMgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLlZpZXcKICAgICAgICAgaWYgKHRoaXMuX3RpbWVsaW5lUnVsZXJTZWxlY3Rpb25D
aGFuZ2VkKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGZvciAodmFyIG92ZXJ2aWV3
R3JhcGggb2YgdGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01hcC52YWx1ZXMoKSkgewotICAg
ICAgICAgICAgdmFyIGdyYXBoUmVjdCA9IG92ZXJ2aWV3R3JhcGguZWxlbWVudC5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKTsKKyAgICAgICAgZm9yIChsZXQgb3ZlcnZpZXdHcmFwaCBvZiB0aGlzLl9v
dmVydmlld0dyYXBoc0J5VHlwZU1hcC52YWx1ZXMoKSkgeworICAgICAgICAgICAgbGV0IGdyYXBo
UmVjdCA9IG92ZXJ2aWV3R3JhcGguZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAg
ICAgICAgICAgIGlmICghKGV2ZW50LnBhZ2VYID49IGdyYXBoUmVjdC5sZWZ0ICYmIGV2ZW50LnBh
Z2VYIDw9IGdyYXBoUmVjdC5yaWdodCAmJiBldmVudC5wYWdlWSA+PSBncmFwaFJlY3QudG9wICYm
IGV2ZW50LnBhZ2VZIDw9IGdyYXBoUmVjdC5ib3R0b20pKQogICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwogCiAgICAgICAgICAgICAvLyBDbG9uZSB0aGUgZXZlbnQgdG8gZGlzcGF0Y2ggaXQgb24g
dGhlIG92ZXJ2aWV3IGdyYXBoIGVsZW1lbnQuCi0gICAgICAgICAgICB2YXIgbmV3Q2xpY2tFdmVu
dCA9IG5ldyBldmVudC5jb25zdHJ1Y3RvcihldmVudC50eXBlLCBldmVudCk7CisgICAgICAgICAg
ICBsZXQgbmV3Q2xpY2tFdmVudCA9IG5ldyBldmVudC5jb25zdHJ1Y3RvcihldmVudC50eXBlLCBl
dmVudCk7CiAgICAgICAgICAgICBvdmVydmlld0dyYXBoLmVsZW1lbnQuZGlzcGF0Y2hFdmVudChu
ZXdDbGlja0V2ZW50KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNTcwLDE4
ICs1OTksMjIgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGlu
ZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICBfdGltZVJhbmdlU2VsZWN0
aW9uQ2hhbmdlZChldmVudCkKICAgICB7CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXJTZWxl
Y3Rpb25DaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgdGhpcy5fc2VsZWN0aW9uU3RhcnRWYWx1ZVNl
dHRpbmcudmFsdWUgPSB0aGlzLnNlbGVjdGlvblN0YXJ0VGltZSAtIHRoaXMuX3N0YXJ0VGltZTsK
LSAgICAgICAgdGhpcy5fc2VsZWN0aW9uRHVyYXRpb25TZXR0aW5nLnZhbHVlID0gdGhpcy5zZWxl
Y3Rpb25EdXJhdGlvbjsKKworICAgICAgICBsZXQgc3RhcnRUaW1lID0gdGhpcy5fdmlld01vZGUg
PT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlRpbWVsaW5lcyA/IHRo
aXMuX3N0YXJ0VGltZSA6IDA7CisgICAgICAgIHRoaXMuX2N1cnJlbnRTZXR0aW5ncy5zZWxlY3Rp
b25TdGFydFZhbHVlU2V0dGluZy52YWx1ZSA9IHRoaXMuc2VsZWN0aW9uU3RhcnRUaW1lIC0gc3Rh
cnRUaW1lOworICAgICAgICB0aGlzLl9jdXJyZW50U2V0dGluZ3Muc2VsZWN0aW9uRHVyYXRpb25T
ZXR0aW5nLnZhbHVlID0gdGhpcy5zZWxlY3Rpb25EdXJhdGlvbjsKIAogICAgICAgICB0aGlzLmRp
c3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5FdmVu
dC5UaW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkKTsKICAgICB9CiAKICAgICBfcmVjb3JkU2VsZWN0
ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBmb3IgKHZhciBbdGltZWxpbmUsIG92ZXJ2aWV3R3Jh
cGhdIG9mIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXApIHsKKyAgICAgICAgZm9yIChs
ZXQgW3R5cGUsIG92ZXJ2aWV3R3JhcGhdIG9mIHRoaXMuX292ZXJ2aWV3R3JhcGhzQnlUeXBlTWFw
KSB7CiAgICAgICAgICAgICBpZiAob3ZlcnZpZXdHcmFwaCAhPT0gZXZlbnQudGFyZ2V0KQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogCisgICAgICAgICAgICBsZXQgdGltZWxpbmUgPSB0aGlz
Ll9yZWNvcmRpbmcudGltZWxpbmVzLmdldCh0eXBlKTsKKyAgICAgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KHRpbWVsaW5lLCAiVGltZWxpbmUgcmVjb3JkaW5nIG1pc3NpbmcgdGltZWxpbmUgdHlwZSIs
IHR5cGUpOwogICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuRXZlbnQuUmVjb3JkU2VsZWN0ZWQsIHt0aW1lbGluZSwg
cmVjb3JkOiBldmVudC5kYXRhLnJlY29yZH0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CkBAIC01ODksOSArNjIyLDIwIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0g
Y2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBf
cmVzZXRTZWxlY3Rpb24oKQogICAgIHsKLSAgICAgICAgdGhpcy5zZWNvbmRzUGVyUGl4ZWwgPSB0
aGlzLl9kZWZhdWx0U2V0dGluZ3NWYWx1ZXMuZHVyYXRpb25QZXJQaXhlbDsKLSAgICAgICAgdGhp
cy5zZWxlY3Rpb25TdGFydFRpbWUgPSB0aGlzLl9kZWZhdWx0U2V0dGluZ3NWYWx1ZXMuc2VsZWN0
aW9uU3RhcnRWYWx1ZTsKLSAgICAgICAgdGhpcy5zZWxlY3Rpb25EdXJhdGlvbiA9IHRoaXMuX2Rl
ZmF1bHRTZXR0aW5nc1ZhbHVlcy5zZWxlY3Rpb25EdXJhdGlvbjsKKyAgICAgICAgZnVuY3Rpb24g
cmVzZXQoc2V0dGluZ3MpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNldHRpbmdzLmR1cmF0aW9u
UGVyUGl4ZWxTZXR0aW5nLnJlc2V0KCk7CisgICAgICAgICAgICBzZXR0aW5ncy5zZWxlY3Rpb25T
dGFydFZhbHVlU2V0dGluZy5yZXNldCgpOworICAgICAgICAgICAgc2V0dGluZ3Muc2VsZWN0aW9u
RHVyYXRpb25TZXR0aW5nLnJlc2V0KCk7CisgICAgICAgIH0KKworICAgICAgICByZXNldCh0aGlz
Ll90aW1lbGluZXNWaWV3TW9kZVNldHRpbmdzKTsKKyAgICAgICAgaWYgKHRoaXMuX3JlbmRlcmlu
Z0ZyYW1lc1ZpZXdNb2RlU2V0dGluZ3MpCisgICAgICAgICAgICByZXNldCh0aGlzLl9yZW5kZXJp
bmdGcmFtZXNWaWV3TW9kZVNldHRpbmdzKTsKKworICAgICAgICB0aGlzLnNlY29uZHNQZXJQaXhl
bCA9IHRoaXMuX2N1cnJlbnRTZXR0aW5ncy5kdXJhdGlvblBlclBpeGVsU2V0dGluZy52YWx1ZTsK
KyAgICAgICAgdGhpcy5zZWxlY3Rpb25TdGFydFRpbWUgPSB0aGlzLl9jdXJyZW50U2V0dGluZ3Mu
c2VsZWN0aW9uU3RhcnRWYWx1ZVNldHRpbmcudmFsdWU7CisgICAgICAgIHRoaXMuc2VsZWN0aW9u
RHVyYXRpb24gPSB0aGlzLl9jdXJyZW50U2V0dGluZ3Muc2VsZWN0aW9uRHVyYXRpb25TZXR0aW5n
LnZhbHVlOwogICAgIH0KIAogICAgIF9yZWNvcmRpbmdSZXNldChldmVudCkKQEAgLTU5OSwxMCAr
NjQzLDc3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVP
dmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIHRoaXMuX3RpbWVsaW5l
UnVsZXIuY2xlYXJNYXJrZXJzKCk7CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuYWRkTWFy
a2VyKHRoaXMuX2N1cnJlbnRUaW1lTWFya2VyKTsKICAgICB9CisKKyAgICBfY2FuU2hvd1RpbWVs
aW5lVHlwZSh0eXBlKQorICAgIHsKKyAgICAgICAgbGV0IHRpbWVsaW5lVmlld01vZGUgPSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5WaWV3TW9kZS5UaW1lbGluZXM7CisgICAgICAgIGlm
ICh0eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFt
ZSkKKyAgICAgICAgICAgIHRpbWVsaW5lVmlld01vZGUgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlldy5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXM7CisKKyAgICAgICAgcmV0dXJuIHRpbWVs
aW5lVmlld01vZGUgPT09IHRoaXMuX3ZpZXdNb2RlOworICAgIH0KKworICAgIF92aWV3TW9kZURp
ZENoYW5nZSgpCisgICAgeworICAgICAgICBsZXQgc3RhcnRUaW1lID0gMDsKKyAgICAgICAgbGV0
IGlzUmVuZGVyaW5nRnJhbWVzTW9kZSA9IHRoaXMuX3ZpZXdNb2RlID09PSBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlldy5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXM7CisgICAgICAgIGlmIChp
c1JlbmRlcmluZ0ZyYW1lc01vZGUpIHsKKyAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIu
bWluaW11bVNlbGVjdGlvbkR1cmF0aW9uID0gMTsKKyAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5l
UnVsZXIuc25hcEludGVydmFsID0gMTsKKyAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIu
Zm9ybWF0TGFiZWxDYWxsYmFjayA9ICh2YWx1ZSkgPT4gdmFsdWUudG9GaXhlZCgwKTsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIubWluaW11bVNlbGVj
dGlvbkR1cmF0aW9uID0gMC4wMTsKKyAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuc25h
cEludGVydmFsID0gTmFOOworICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5mb3JtYXRM
YWJlbENhbGxiYWNrID0gbnVsbDsKKworICAgICAgICAgICAgc3RhcnRUaW1lID0gdGhpcy5fc3Rh
cnRUaW1lOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5waXhlbEFsaWduRHVyYXRpb24gPSBp
c1JlbmRlcmluZ0ZyYW1lc01vZGU7CisgICAgICAgIHRoaXMuc2VsZWN0aW9uU3RhcnRUaW1lID0g
dGhpcy5fY3VycmVudFNldHRpbmdzLnNlbGVjdGlvblN0YXJ0VmFsdWVTZXR0aW5nLnZhbHVlICsg
c3RhcnRUaW1lOworICAgICAgICB0aGlzLnNlbGVjdGlvbkR1cmF0aW9uID0gdGhpcy5fY3VycmVu
dFNldHRpbmdzLnNlbGVjdGlvbkR1cmF0aW9uU2V0dGluZy52YWx1ZTsKKworICAgICAgICBmb3Ig
KGxldCBbdHlwZSwgb3ZlcnZpZXdHcmFwaF0gb2YgdGhpcy5fb3ZlcnZpZXdHcmFwaHNCeVR5cGVN
YXApIHsKKyAgICAgICAgICAgIGlmICh0aGlzLl9jYW5TaG93VGltZWxpbmVUeXBlKHR5cGUpKQor
ICAgICAgICAgICAgICAgIG92ZXJ2aWV3R3JhcGguc2hvd24oKTsKKyAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICBvdmVydmlld0dyYXBoLmhpZGRlbigpOworICAgICAgICB9CisKKyAg
ICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImZyYW1lcyIsIGlzUmVuZGVyaW5n
RnJhbWVzTW9kZSk7CisgICAgfQorCisgICAgX2NyZWF0ZVZpZXdNb2RlU2V0dGluZ3Modmlld01v
ZGUsIG1pbmltdW1EdXJhdGlvblBlclBpeGVsLCBtYXhpbXVtRHVyYXRpb25QZXJQaXhlbCwgZHVy
YXRpb25QZXJQaXhlbCwgc2VsZWN0aW9uU3RhcnRWYWx1ZSwgc2VsZWN0aW9uRHVyYXRpb24pCisg
ICAgeworICAgICAgICBkdXJhdGlvblBlclBpeGVsID0gTWF0aC5taW4obWF4aW11bUR1cmF0aW9u
UGVyUGl4ZWwsIE1hdGgubWF4KG1pbmltdW1EdXJhdGlvblBlclBpeGVsLCBkdXJhdGlvblBlclBp
eGVsKSk7CisKKyAgICAgICAgbGV0IGR1cmF0aW9uUGVyUGl4ZWxTZXR0aW5nID0gbmV3IFdlYklu
c3BlY3Rvci5TZXR0aW5nKHZpZXdNb2RlICsgIi1kdXJhdGlvbi1wZXItcGl4ZWwiLCBkdXJhdGlv
blBlclBpeGVsKTsKKyAgICAgICAgbGV0IHNlbGVjdGlvblN0YXJ0VmFsdWVTZXR0aW5nID0gbmV3
IFdlYkluc3BlY3Rvci5TZXR0aW5nKHZpZXdNb2RlICsgIi1zZWxlY3Rpb24tc3RhcnQtdmFsdWUi
LCBzZWxlY3Rpb25TdGFydFZhbHVlKTsKKyAgICAgICAgbGV0IHNlbGVjdGlvbkR1cmF0aW9uU2V0
dGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZyh2aWV3TW9kZSArICItc2VsZWN0aW9uLWR1
cmF0aW9uIiwgc2VsZWN0aW9uRHVyYXRpb24pOworCisgICAgICAgIHJldHVybiB7CisgICAgICAg
ICAgICBzY3JvbGxTdGFydFRpbWU6IDAsCisgICAgICAgICAgICBtaW5pbXVtRHVyYXRpb25QZXJQ
aXhlbCwKKyAgICAgICAgICAgIG1heGltdW1EdXJhdGlvblBlclBpeGVsLAorICAgICAgICAgICAg
ZHVyYXRpb25QZXJQaXhlbFNldHRpbmcsCisgICAgICAgICAgICBzZWxlY3Rpb25TdGFydFZhbHVl
U2V0dGluZywKKyAgICAgICAgICAgIHNlbGVjdGlvbkR1cmF0aW9uU2V0dGluZworICAgICAgICB9
OworICAgIH0KKworICAgIGdldCBfY3VycmVudFNldHRpbmdzKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiB0aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuVmll
d01vZGUuVGltZWxpbmVzID8gdGhpcy5fdGltZWxpbmVzVmlld01vZGVTZXR0aW5ncyA6IHRoaXMu
X3JlbmRlcmluZ0ZyYW1lc1ZpZXdNb2RlU2V0dGluZ3M7CisgICAgfQogfTsKIAogV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXcuU2Nyb2xsRGVsdGFEZW5vbWluYXRvciA9IDUwMDsKIAorV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuVmlld01vZGUgPSB7CisgICAgVGltZWxpbmVzOiAi
dGltZWxpbmUtb3ZlcnZpZXctdmlldy1tb2RlLXRpbWVsaW5lcyIsCisgICAgUmVuZGVyaW5nRnJh
bWVzOiAidGltZWxpbmUtb3ZlcnZpZXctdmlldy1tb2RlLXJlbmRlcmluZy1mcmFtZXMiCit9Owor
CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5FdmVudCA9IHsKICAgICBSZWNvcmRTZWxl
Y3RlZDogInRpbWVsaW5lLW92ZXJ2aWV3LXJlY29yZC1zZWxlY3RlZCIsCiAgICAgVGltZVJhbmdl
U2VsZWN0aW9uQ2hhbmdlZDogInRpbWVsaW5lLW92ZXJ2aWV3LXRpbWUtcmFuZ2Utc2VsZWN0aW9u
LWNoYW5nZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggYzRlYTUx
OWJiZDMyYTcxYWFjY2ZlYWRlMTVlZmEwY2YyZDA1YjQ2OS4uYTI4YjNhNjU4MzRlMWU0NGEyN2Rl
YjkzODEyNzRlYTAwMzk5MTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5q
cwpAQCAtMzksNiArMzksNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0dyYXBoID0g
Y2xhc3MgVGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV2ViSW5zcAogICAgICAgICB0aGlz
Ll9zZWxlY3RlZFJlY29yZCA9IG51bGw7CiAgICAgICAgIHRoaXMuX3NlbGVjdGVkUmVjb3JkQ2hh
bmdlZCA9IGZhbHNlOwogICAgICAgICB0aGlzLl9zY2hlZHVsZWRTZWxlY3RlZFJlY29yZExheW91
dFVwZGF0ZUlkZW50aWZpZXIgPSB1bmRlZmluZWQ7CisgICAgICAgIHRoaXMuX3Zpc2libGUgPSB0
cnVlOwogICAgIH0KIAogICAgIC8vIFB1YmxpYwpAQCAtMTcyLDEzICsxNzMsMjEgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXdHcmFw
aCBleHRlbmRzIFdlYkluc3AKIAogICAgIHNob3duKCkKICAgICB7CisgICAgICAgIGlmICh0aGlz
Ll92aXNpYmxlKQorICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIHRoaXMuX3Zpc2libGUg
PSB0cnVlOworICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwg
IXRoaXMuX3Zpc2libGUpOwogICAgICAgICB0aGlzLnVwZGF0ZUxheW91dCgpOwogICAgIH0KIAog
ICAgIGhpZGRlbigpCiAgICAgeworICAgICAgICBpZiAoIXRoaXMuX3Zpc2libGUpCisgICAgICAg
ICAgICByZXR1cm47CisKICAgICAgICAgdGhpcy5fdmlzaWJsZSA9IGZhbHNlOworICAgICAgICB0
aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwgIXRoaXMuX3Zpc2libGUpOwog
ICAgIH0KIAogICAgIHJlc2V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzCmluZGV4
IGI5MThlMzk5ZmY1M2IwMjRiMzMyNzM3NzlkYmYzZTkxYzYyMWM4NWYuLjk2ZDFjMmU4NTg0N2M4
MDgwMDk3YTY4ZjIzNzVlZjBhOTdlNDM1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRGcmFt
ZS5qcwpAQCAtMTA4LDcgKzEwOCw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1l
ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRGcmFtZSBleHRlbmRzIFdlYkluc3BlY3RvCiAKICAgICBf
Y2FsY3VsYXRlRnJhbWVEaXNwbGF5RGF0YShncmFwaERhdGFTb3VyY2UpCiAgICAgewotICAgICAg
ICB2YXIgc2Vjb25kc1BlckJsb2NrID0gKGdyYXBoRGF0YVNvdXJjZS5ncmFwaEhlaWdodFNlY29u
ZHMgLyBncmFwaERhdGFTb3VyY2UuZWxlbWVudC5vZmZzZXRIZWlnaHQpICogV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkRnJhbWUuTWluaW11bUhlaWdodFBpeGVsczsKKyAgICAgICAgdmFyIHNl
Y29uZHNQZXJCbG9jayA9IChncmFwaERhdGFTb3VyY2UuZ3JhcGhIZWlnaHRTZWNvbmRzIC8gZ3Jh
cGhEYXRhU291cmNlLmhlaWdodCkgKiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5N
aW5pbXVtSGVpZ2h0UGl4ZWxzOwogICAgICAgICB2YXIgc2VnbWVudHMgPSBbXTsKICAgICAgICAg
dmFyIGludmlzaWJsZVNlZ21lbnRzID0gW107CiAgICAgICAgIHZhciBjdXJyZW50U2VnbWVudCA9
IG51bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwpp
bmRleCA1ZWU1MmZmN2MwY2M2YzdkZWY3NGU4NDBhMDYzN2MxN2E2YWZlZGZkLi5jZmFiYTU4YzMz
MGU0NGZmZmQ0MjM0Y2YxODAwNGQzNGVjODNiNTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMKQEAgLTM4LDE2ICszOCwxMCBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5n
Q29udGVudFZpZXcgZQogCiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ0aW1l
bGluZS1yZWNvcmRpbmciKTsKIAotICAgICAgICB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3
ID0gbmV3IFdlYkluc3BlY3Rvci5MaW5lYXJUaW1lbGluZU92ZXJ2aWV3KHRoaXMuX3JlY29yZGlu
Zyk7Ci0gICAgICAgIHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5FdmVudC5UaW1lUmFuZ2VTZWxlY3Rpb25D
aGFuZ2VkLCB0aGlzLl90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLCB0aGlzKTsKLQotICAgICAg
ICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcgPSBuZXcgV2ViSW5zcGVjdG9y
LlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldyh0aGlzLl9yZWNvcmRpbmcpOwotICAgICAg
ICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5FdmVudC5UaW1lUmFuZ2VTZWxlY3Rpb25DaGFu
Z2VkLCB0aGlzLl90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLCB0aGlzKTsKLSAgICAgICAgdGhp
cy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuRXZlbnQuUmVjb3JkU2VsZWN0ZWQsIHRoaXMuX3JlY29y
ZFNlbGVjdGVkLCB0aGlzKTsKLQotICAgICAgICB0aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmll
dyA9IHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXc7Ci0KLSAgICAgICAgdGhpcy5hZGRTdWJ2
aWV3KHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3KTsKKyAgICAgICAgdGhpcy5fdGltZWxp
bmVPdmVydmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyh0aGlzLl9yZWNv
cmRpbmcpOworICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuRXZlbnQuVGltZVJhbmdlU2VsZWN0aW9uQ2hh
bmdlZCwgdGhpcy5fdGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCwgdGhpcyk7CisgICAgICAgIHRo
aXMuX3RpbWVsaW5lT3ZlcnZpZXcuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlldy5FdmVudC5SZWNvcmRTZWxlY3RlZCwgdGhpcy5fcmVjb3JkU2VsZWN0ZWQsIHRo
aXMpOworICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fdGltZWxpbmVPdmVydmlldyk7CiAK
ICAgICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkNv
bnRlbnRWaWV3Q29udGFpbmVyOwogICAgICAgICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5Db250ZW50Vmlld0NvbnRhaW5lci5FdmVudC5D
dXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UsIHRoaXMuX2N1cnJlbnRDb250ZW50Vmlld0RpZENo
YW5nZSwgdGhpcyk7CkBAIC01Nyw3ICs1MSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAg
ICAgICAgIHRoaXMuX2NsZWFyVGltZWxpbmVOYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl9j
bGVhclRpbWVsaW5lLCB0aGlzKTsKIAogICAgICAgICB0aGlzLl9vdmVydmlld1RpbWVsaW5lVmll
dyA9IG5ldyBXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcocmVjb3JkaW5nLCB7dGlt
ZWxpbmVTaWRlYmFyUGFuZWw6IHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsfSk7Ci0gICAgICAg
IHRoaXMuX292ZXJ2aWV3VGltZWxpbmVWaWV3LnNlY29uZHNQZXJQaXhlbCA9IHRoaXMuX2xpbmVh
clRpbWVsaW5lT3ZlcnZpZXcuc2Vjb25kc1BlclBpeGVsOworICAgICAgICB0aGlzLl9vdmVydmll
d1RpbWVsaW5lVmlldy5zZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNl
Y29uZHNQZXJQaXhlbDsKIAogICAgICAgICB0aGlzLl90aW1lbGluZVZpZXdNYXAgPSBuZXcgTWFw
OwogICAgICAgICB0aGlzLl9wYXRoQ29tcG9uZW50TWFwID0gbmV3IE1hcDsKQEAgLTE2MSwxMiAr
MTU1LDEyIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xh
c3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAKICAgICBnZXQgdGltZWxpbmVPdmVy
dmlld0hlaWdodCgpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudFRpbWVsaW5l
T3ZlcnZpZXcuaGVpZ2h0OworICAgICAgICByZXR1cm4gdGhpcy5fdGltZWxpbmVPdmVydmlldy5o
ZWlnaHQ7CiAgICAgfQogCiAgICAgc2hvd24oKQogICAgIHsKLSAgICAgICAgdGhpcy5fY3VycmVu
dFRpbWVsaW5lT3ZlcnZpZXcuc2hvd24oKTsKKyAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmll
dy5zaG93bigpOwogICAgICAgICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5zaG93bigpOwog
ICAgICAgICB0aGlzLl9jbGVhclRpbWVsaW5lTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9ICF0aGlz
Ll9yZWNvcmRpbmcucmVhZG9ubHkgJiYgIWlzTmFOKHRoaXMuX3JlY29yZGluZy5zdGFydFRpbWUp
OwogCkBAIC0xNzgsNyArMTcyLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3IGUKIAogICAgIGhp
ZGRlbigpCiAgICAgewotICAgICAgICB0aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmlldy5oaWRk
ZW4oKTsKKyAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5oaWRkZW4oKTsKICAgICAgICAg
dGhpcy5fY29udGVudFZpZXdDb250YWluZXIuaGlkZGVuKCk7CiAKICAgICAgICAgaWYgKHRoaXMu
X3VwZGF0aW5nKQpAQCAtMjQ5LDcgKzI0Myw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAg
ICAgICAgIGlmICghdGhpcy5jdXJyZW50VGltZWxpbmVWaWV3KQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnJlY29yZFdhc0ZpbHRl
cmVkKHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5yZXByZXNlbnRlZE9iamVjdCwgcmVjb3JkLCBm
aWx0ZXJlZCk7CisgICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcucmVjb3JkV2FzRmlsdGVy
ZWQodGhpcy5jdXJyZW50VGltZWxpbmVWaWV3LnJlcHJlc2VudGVkT2JqZWN0LCByZWNvcmQsIGZp
bHRlcmVkKTsKICAgICB9CiAKICAgICBtYXRjaFRyZWVFbGVtZW50QWdhaW5zdEN1c3RvbUZpbHRl
cnModHJlZUVsZW1lbnQpCkBAIC0yNTcsMjAgKzI1MSwyMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZp
ZXcgZQogICAgICAgICBpZiAodGhpcy5jdXJyZW50VGltZWxpbmVWaWV3ICYmICF0aGlzLmN1cnJl
bnRUaW1lbGluZVZpZXcubWF0Y2hUcmVlRWxlbWVudEFnYWluc3RDdXN0b21GaWx0ZXJzKHRyZWVF
bGVtZW50KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICB2YXIgc3RhcnRU
aW1lID0gdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lOwot
ICAgICAgICB2YXIgZW5kVGltZSA9IHN0YXJ0VGltZSArIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92
ZXJ2aWV3LnNlbGVjdGlvbkR1cmF0aW9uOwotICAgICAgICB2YXIgY3VycmVudFRpbWUgPSB0aGlz
Ll9jdXJyZW50VGltZSB8fCB0aGlzLl9yZWNvcmRpbmcuc3RhcnRUaW1lOworICAgICAgICBsZXQg
c3RhcnRUaW1lID0gdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWU7Cisg
ICAgICAgIGxldCBlbmRUaW1lID0gc3RhcnRUaW1lICsgdGhpcy5fdGltZWxpbmVPdmVydmlldy5z
ZWxlY3Rpb25EdXJhdGlvbjsKKyAgICAgICAgbGV0IGN1cnJlbnRUaW1lID0gdGhpcy5fY3VycmVu
dFRpbWUgfHwgdGhpcy5fcmVjb3JkaW5nLnN0YXJ0VGltZTsKIAotICAgICAgICBpZiAodGhpcy5f
dGltZWxpbmVTaWRlYmFyUGFuZWwudmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVNp
ZGViYXJQYW5lbC5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXMpIHsKKyAgICAgICAgaWYgKHRoaXMu
X3RpbWVsaW5lT3ZlcnZpZXcudmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3LlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcykgewogICAgICAgICAgICAgY29uc29sZS5hc3Nl
cnQodGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZSk7CiAKICAgICAgICAgICAgIGlmICh0aGlz
Ll9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lICYmIHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmUu
cmVjb3Jkcy5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICB2YXIgcmVjb3JkcyA9IHRoaXMuX3Jl
bmRlcmluZ0ZyYW1lVGltZWxpbmUucmVjb3JkczsKLSAgICAgICAgICAgICAgICB2YXIgc3RhcnRJ
bmRleCA9IHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnRpbWVsaW5lUnVsZXIuc25hcElu
dGVydmFsID8gc3RhcnRUaW1lIDogTWF0aC5mbG9vcihzdGFydFRpbWUpOworICAgICAgICAgICAg
ICAgIGxldCByZWNvcmRzID0gdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZS5yZWNvcmRzOwor
ICAgICAgICAgICAgICAgIGxldCBzdGFydEluZGV4ID0gdGhpcy5fdGltZWxpbmVPdmVydmlldy50
aW1lbGluZVJ1bGVyLnNuYXBJbnRlcnZhbCA/IHN0YXJ0VGltZSA6IE1hdGguZmxvb3Ioc3RhcnRU
aW1lKTsKICAgICAgICAgICAgICAgICBpZiAoc3RhcnRJbmRleCA+PSByZWNvcmRzLmxlbmd0aCkK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgICAgICAgICAgdmFy
IGVuZEluZGV4ID0gdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcudGltZWxpbmVSdWxlci5z
bmFwSW50ZXJ2YWwgPyBlbmRUaW1lIC0gMTogTWF0aC5mbG9vcihlbmRUaW1lKTsKKyAgICAgICAg
ICAgICAgICBsZXQgZW5kSW5kZXggPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnRpbWVsaW5lUnVs
ZXIuc25hcEludGVydmFsID8gZW5kVGltZSAtIDE6IE1hdGguZmxvb3IoZW5kVGltZSk7CiAgICAg
ICAgICAgICAgICAgZW5kSW5kZXggPSBNYXRoLm1pbihlbmRJbmRleCwgcmVjb3Jkcy5sZW5ndGgg
LSAxKTsKICAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChzdGFydEluZGV4IDw9IGVuZElu
ZGV4LCBzdGFydEluZGV4KTsKIApAQCAtMzI4LDMxICszMjIsMjIgQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgPSBjbGFzcyBUaW1lbGluZVJlY29yZGluZ0NvbnRl
bnRWaWV3IGUKIAogICAgIF9jdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UoZXZlbnQpCiAgICAg
ewotICAgICAgICBsZXQgbmV3VGltZWxpbmVPdmVydmlldzsKKyAgICAgICAgbGV0IG5ld1ZpZXdN
b2RlOwogICAgICAgICBsZXQgdGltZWxpbmVWaWV3ID0gdGhpcy5jdXJyZW50VGltZWxpbmVWaWV3
OwogICAgICAgICBpZiAodGltZWxpbmVWaWV3ICYmIHRpbWVsaW5lVmlldy5yZXByZXNlbnRlZE9i
amVjdC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdG
cmFtZSkKLSAgICAgICAgICAgIG5ld1RpbWVsaW5lT3ZlcnZpZXcgPSB0aGlzLl9yZW5kZXJpbmdG
cmFtZVRpbWVsaW5lT3ZlcnZpZXc7CisgICAgICAgICAgICBuZXdWaWV3TW9kZSA9IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lczsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgbmV3VGltZWxpbmVPdmVydmlldyA9IHRoaXMuX2xpbmVhclRpbWVs
aW5lT3ZlcnZpZXc7Ci0KLSAgICAgICAgaWYgKG5ld1RpbWVsaW5lT3ZlcnZpZXcgIT09IHRoaXMu
X2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3KSB7Ci0gICAgICAgICAgICB0aGlzLl9jdXJyZW50VGlt
ZWxpbmVPdmVydmlldy5oaWRkZW4oKTsKLQotICAgICAgICAgICAgdGhpcy5yZXBsYWNlU3Vidmll
dyh0aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmlldywgbmV3VGltZWxpbmVPdmVydmlldyk7Ci0K
LSAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3ID0gbmV3VGltZWxpbmVP
dmVydmlldzsKKyAgICAgICAgICAgIG5ld1ZpZXdNb2RlID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
T3ZlcnZpZXcuVmlld01vZGUuVGltZWxpbmVzOwogCi0gICAgICAgICAgICB0aGlzLl91cGRhdGVU
aW1lbGluZU92ZXJ2aWV3SGVpZ2h0KCk7Ci0gICAgICAgICAgICB0aGlzLl9jdXJyZW50VGltZWxp
bmVPdmVydmlldy5zaG93bigpOwotICAgICAgICB9CisgICAgICAgIHRoaXMuX3RpbWVsaW5lT3Zl
cnZpZXcudmlld01vZGUgPSBuZXdWaWV3TW9kZTsKIAogICAgICAgICBpZiAodGltZWxpbmVWaWV3
KSB7CiAgICAgICAgICAgICB0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbC5jb250ZW50VHJlZU91
dGxpbmUgPSB0aW1lbGluZVZpZXcubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZTsKICAgICAg
ICAgICAgIHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsLmNvbnRlbnRUcmVlT3V0bGluZUxhYmVs
ID0gdGltZWxpbmVWaWV3Lm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmVMYWJlbDsKICAgICAg
ICAgICAgIHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsLmNvbnRlbnRUcmVlT3V0bGluZVNjb3Bl
QmFyID0gdGltZWxpbmVWaWV3Lm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmVTY29wZUJhcjsK
IAotICAgICAgICAgICAgdGltZWxpbmVWaWV3LnN0YXJ0VGltZSA9IG5ld1RpbWVsaW5lT3ZlcnZp
ZXcuc2VsZWN0aW9uU3RhcnRUaW1lOwotICAgICAgICAgICAgdGltZWxpbmVWaWV3LmVuZFRpbWUg
PSBuZXdUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZSArIG5ld1RpbWVsaW5lT3Zl
cnZpZXcuc2VsZWN0aW9uRHVyYXRpb247CisgICAgICAgICAgICB0aW1lbGluZVZpZXcuc3RhcnRU
aW1lID0gdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWU7CisgICAgICAg
ICAgICB0aW1lbGluZVZpZXcuZW5kVGltZSA9IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0
aW9uU3RhcnRUaW1lICsgdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25EdXJhdGlvbjsK
ICAgICAgICAgICAgIHRpbWVsaW5lVmlldy5jdXJyZW50VGltZSA9IHRoaXMuX2N1cnJlbnRUaW1l
OwogICAgICAgICB9CiAKQEAgLTM3Nyw3ICszNjIsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcg
ZQogCiAgICAgICAgIHZhciByZWNvcmRQYXRoQ29tcG9uZW50ID0gdGhpcy5zZWxlY3Rpb25QYXRo
Q29tcG9uZW50cy5maW5kKGZ1bmN0aW9uKGVsZW1lbnQpIHsgcmV0dXJuIGVsZW1lbnQucmVwcmVz
ZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQ7IH0pOwog
ICAgICAgICB2YXIgcmVjb3JkID0gcmVjb3JkUGF0aENvbXBvbmVudCA/IHJlY29yZFBhdGhDb21w
b25lbnQucmVwcmVzZW50ZWRPYmplY3QgOiBudWxsOwotICAgICAgICB0aGlzLl9jdXJyZW50VGlt
ZWxpbmVPdmVydmlldy5zZWxlY3RSZWNvcmQoZXZlbnQudGFyZ2V0LnJlcHJlc2VudGVkT2JqZWN0
LCByZWNvcmQpOworICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdFJlY29yZChl
dmVudC50YXJnZXQucmVwcmVzZW50ZWRPYmplY3QsIHJlY29yZCk7CiAgICAgfQogCiAgICAgX2Nv
bnRlbnRWaWV3U3VwcGxlbWVudGFsUmVwcmVzZW50ZWRPYmplY3RzRGlkQ2hhbmdlKGV2ZW50KQpA
QCAtNDE5LDExICs0MDQsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50
VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgZQogICAgIF91cGRhdGVU
aW1lcyhzdGFydFRpbWUsIGN1cnJlbnRUaW1lLCBlbmRUaW1lKQogICAgIHsKICAgICAgICAgaWYg
KHRoaXMuX3N0YXJ0VGltZU5lZWRzUmVzZXQgJiYgIWlzTmFOKHN0YXJ0VGltZSkpIHsKLSAgICAg
ICAgICAgIHZhciBzZWxlY3Rpb25PZmZzZXQgPSB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3
LnNlbGVjdGlvblN0YXJ0VGltZSAtIHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuc3RhcnRU
aW1lOwotCi0gICAgICAgICAgICB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3LnN0YXJ0VGlt
ZSA9IHN0YXJ0VGltZTsKLSAgICAgICAgICAgIHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcu
c2VsZWN0aW9uU3RhcnRUaW1lID0gc3RhcnRUaW1lICsgc2VsZWN0aW9uT2Zmc2V0OwotCisgICAg
ICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnN0YXJ0VGltZSA9IHN0YXJ0VGltZTsKICAg
ICAgICAgICAgIHRoaXMuX292ZXJ2aWV3VGltZWxpbmVWaWV3Lnplcm9UaW1lID0gc3RhcnRUaW1l
OwogICAgICAgICAgICAgZm9yICh2YXIgdGltZWxpbmVWaWV3IG9mIHRoaXMuX3RpbWVsaW5lVmll
d01hcC52YWx1ZXMoKSkKICAgICAgICAgICAgICAgICB0aW1lbGluZVZpZXcuemVyb1RpbWUgPSBz
dGFydFRpbWU7CkBAIC00MzEsMjUgKzQxMiwxNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgZQog
ICAgICAgICAgICAgdGhpcy5fc3RhcnRUaW1lTmVlZHNSZXNldCA9IGZhbHNlOwogICAgICAgICB9
CiAKLSAgICAgICAgdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldy5lbmRUaW1lID0gTWF0aC5t
YXgoZW5kVGltZSwgY3VycmVudFRpbWUpOworICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3
LmVuZFRpbWUgPSBNYXRoLm1heChlbmRUaW1lLCBjdXJyZW50VGltZSk7CiAKICAgICAgICAgdGhp
cy5fY3VycmVudFRpbWUgPSBjdXJyZW50VGltZTsKLSAgICAgICAgdGhpcy5fbGluZWFyVGltZWxp
bmVPdmVydmlldy5jdXJyZW50VGltZSA9IGN1cnJlbnRUaW1lOworICAgICAgICB0aGlzLl90aW1l
bGluZU92ZXJ2aWV3LmN1cnJlbnRUaW1lID0gY3VycmVudFRpbWU7CiAgICAgICAgIGlmICh0aGlz
LmN1cnJlbnRUaW1lbGluZVZpZXcpCiAgICAgICAgICAgICB0aGlzLmN1cnJlbnRUaW1lbGluZVZp
ZXcuY3VycmVudFRpbWUgPSBjdXJyZW50VGltZTsKIAotICAgICAgICBpZiAodGhpcy5fcmVuZGVy
aW5nRnJhbWVUaW1lbGluZSkgewotICAgICAgICAgICAgdmFyIGN1cnJlbnRGcmFtZU51bWJlciA9
IDA7Ci0gICAgICAgICAgICBpZiAodGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZS5yZWNvcmRz
Lmxlbmd0aCkKLSAgICAgICAgICAgICAgICBjdXJyZW50RnJhbWVOdW1iZXIgPSB0aGlzLl9yZW5k
ZXJpbmdGcmFtZVRpbWVsaW5lLnJlY29yZHMubGFzdFZhbHVlLmZyYW1lTnVtYmVyOwotCi0gICAg
ICAgICAgICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuY3VycmVudFRpbWUg
PSB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuZW5kVGltZSA9IGN1cnJlbnRG
cmFtZU51bWJlcjsKLSAgICAgICAgfQotCiAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2lkZWJhclBh
bmVsLnVwZGF0ZUZpbHRlcigpOwogCiAgICAgICAgIC8vIEZvcmNlIGEgbGF5b3V0IG5vdyBzaW5j
ZSB3ZSBhcmUgYWxyZWFkeSBpbiBhbiBhbmltYXRpb24gZnJhbWUgYW5kIGRvbid0IG5lZWQgdG8g
ZGVsYXkgaXQgdW50aWwgdGhlIG5leHQuCi0gICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92
ZXJ2aWV3LnVwZGF0ZUxheW91dElmTmVlZGVkKCk7CisgICAgICAgIHRoaXMuX3RpbWVsaW5lT3Zl
cnZpZXcudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAgaWYgKHRoaXMuY3VycmVudFRp
bWVsaW5lVmlldykKICAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy51cGRhdGVM
YXlvdXRJZk5lZWRlZCgpOwogICAgIH0KQEAgLTU1Niw3ICs1MjksNyBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcgZQogICAgICAgICBjb25zdCBydWxlckhlaWdodCA9IDI5OwogICAgICAgICAKICAg
ICAgICAgbGV0IHN0eWxlVmFsdWUgPSAocnVsZXJIZWlnaHQgKyB0aGlzLnRpbWVsaW5lT3ZlcnZp
ZXdIZWlnaHQpICsgInB4IjsKLSAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcu
ZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBzdHlsZVZhbHVlOworICAgICAgICB0aGlzLl90aW1lbGlu
ZU92ZXJ2aWV3LmVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gc3R5bGVWYWx1ZTsKICAgICAgICAgdGhp
cy5fY29udGVudFZpZXdDb250YWluZXIuZWxlbWVudC5zdHlsZS50b3AgPSBzdHlsZVZhbHVlOwog
ICAgIH0KIApAQCAtNjMxLDggKzYwNCw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAgICAg
ICAgIHRoaXMuX3JlY29yZGluZy5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZGluZy5FdmVudC5UaW1lc1VwZGF0ZWQsIHRoaXMuX3JlY29yZGluZ1RpbWVzVXBk
YXRlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMuX3dhaXRpbmdUb1Jlc2V0Q3VycmVudFRpbWUgPSBm
YWxzZTsKIAotICAgICAgICB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3LnJlc2V0KCk7Ci0g
ICAgICAgIHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldy5yZXNldCgpOworICAg
ICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnJlc2V0KCk7CiAgICAgICAgIHRoaXMuX292ZXJ2
aWV3VGltZWxpbmVWaWV3LnJlc2V0KCk7CiAgICAgICAgIGZvciAodmFyIHRpbWVsaW5lVmlldyBv
ZiB0aGlzLl90aW1lbGluZVZpZXdNYXAudmFsdWVzKCkpCiAgICAgICAgICAgICB0aW1lbGluZVZp
ZXcucmVzZXQoKTsKQEAgLTY1MCw4ICs2MjIsOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmRpbmdDb250ZW50VmlldyA9IGNsYXNzIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgZQog
ICAgIF90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkKGV2ZW50KQogICAgIHsKICAgICAgICAgaWYg
KHRoaXMuY3VycmVudFRpbWVsaW5lVmlldykgewotICAgICAgICAgICAgdGhpcy5jdXJyZW50VGlt
ZWxpbmVWaWV3LnN0YXJ0VGltZSA9IHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNlbGVj
dGlvblN0YXJ0VGltZTsKLSAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5lbmRU
aW1lID0gdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lICsg
dGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRpb247CisgICAgICAg
ICAgICB0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcuc3RhcnRUaW1lID0gdGhpcy5fdGltZWxpbmVP
dmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWU7CisgICAgICAgICAgICB0aGlzLmN1cnJlbnRUaW1l
bGluZVZpZXcuZW5kVGltZSA9IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRU
aW1lICsgdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25EdXJhdGlvbjsKIAogICAgICAg
ICAgICAgaWYgKHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5yZXByZXNlbnRlZE9iamVjdC50eXBl
ID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZSkKICAg
ICAgICAgICAgICAgICB0aGlzLl91cGRhdGVGcmFtZVNlbGVjdGlvbigpOwpAQCAtNzAxLDggKzY3
Myw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gY2xhc3Mg
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBlCiAgICAgICAgIGlmICghdGhpcy5fcmVuZGVy
aW5nRnJhbWVUaW1lbGluZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB2YXIgc3Rh
cnRJbmRleCA9IHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25T
dGFydFRpbWU7Ci0gICAgICAgIHZhciBlbmRJbmRleCA9IHN0YXJ0SW5kZXggKyB0aGlzLl9yZW5k
ZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRpb24gLSAxOworICAgICAg
ICBsZXQgc3RhcnRJbmRleCA9IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRU
aW1lOworICAgICAgICBsZXQgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgdGhpcy5fdGltZWxpbmVP
dmVydmlldy5zZWxlY3Rpb25EdXJhdGlvbiAtIDE7CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2lk
ZWJhclBhbmVsLnVwZGF0ZUZyYW1lU2VsZWN0aW9uKHN0YXJ0SW5kZXgsIGVuZEluZGV4KTsKICAg
ICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qcwppbmRleCA4OTE1NmVjOGMz
ZTAwNzMxMjdiNzc2ZTM4OTg0OTY2NWY2YjdjNDc4Li45MjkwM2NjMjljYjAyNTQ3NTFlOGRiYTIz
ZDcxMTgwNDRiZDg5ODM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qcwpAQCAt
ODEsOCArODEsOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBU
aW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICB0aGlzLmVsZW1l
bnQuaW5zZXJ0QmVmb3JlKHRoaXMuX2Jhc2ljVGl0bGVCYXIsIHRoaXMuZWxlbWVudC5maXJzdENo
aWxkKTsKIAogICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLkZQU0luc3RydW1lbnQuc3VwcG9ydGVk
KCkpIHsKLSAgICAgICAgICAgIHZhciB0aW1lbGluZXNOYXZpZ2F0aW9uSXRlbSA9IG5ldyBXZWJJ
bnNwZWN0b3IuUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbShXZWJJbnNwZWN0b3IuVGltZWxpbmVT
aWRlYmFyUGFuZWwuVmlld01vZGUuVGltZWxpbmVzLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRp
bWVsaW5lcyIpKQotICAgICAgICAgICAgdmFyIHJlbmRlcmluZ0ZyYW1lc05hdmlnYXRpb25JdGVt
ID0gbmV3IFdlYkluc3BlY3Rvci5SYWRpb0J1dHRvbk5hdmlnYXRpb25JdGVtKFdlYkluc3BlY3Rv
ci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXMsIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiUmVuZGVyaW5nIEZyYW1lcyIpKQorICAgICAgICAgICAgbGV0IHRpbWVs
aW5lc05hdmlnYXRpb25JdGVtID0gbmV3IFdlYkluc3BlY3Rvci5SYWRpb0J1dHRvbk5hdmlnYXRp
b25JdGVtKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlRpbWVsaW5lcywg
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lbGluZXMiKSkKKyAgICAgICAgICAgIGxldCByZW5k
ZXJpbmdGcmFtZXNOYXZpZ2F0aW9uSXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuUmFkaW9CdXR0b25O
YXZpZ2F0aW9uSXRlbShXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5WaWV3TW9kZS5SZW5k
ZXJpbmdGcmFtZXMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVuZGVyaW5nIEZyYW1lcyIpKQog
ICAgICAgICAgICAgdGhpcy5fdmlld01vZGVOYXZpZ2F0aW9uQmFyID0gbmV3IFdlYkluc3BlY3Rv
ci5OYXZpZ2F0aW9uQmFyKG51bGwsIFt0aW1lbGluZXNOYXZpZ2F0aW9uSXRlbSwgcmVuZGVyaW5n
RnJhbWVzTmF2aWdhdGlvbkl0ZW1dLCAidGFibGlzdCIpOwogICAgICAgICAgICAgdGhpcy5fdmll
d01vZGVOYXZpZ2F0aW9uQmFyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk5hdmlnYXRp
b25CYXIuRXZlbnQuTmF2aWdhdGlvbkl0ZW1TZWxlY3RlZCwgdGhpcy5fdmlld01vZGVTZWxlY3Rl
ZCwgdGhpcyk7CiAKQEAgLTE5OCw5ICsxOTgsNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRl
YmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwog
ICAgICAgICBpZiAodGhpcy5fZGlzcGxheWVkQ29udGVudFZpZXcpCiAgICAgICAgICAgICB0aGlz
LmNvbnRlbnRCcm93c2VyLnNob3dDb250ZW50Vmlldyh0aGlzLl9kaXNwbGF5ZWRDb250ZW50Vmll
dyk7CiAKLSAgICAgICAgaWYgKHRoaXMudmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXMpCi0gICAgICAgICAgICB0aGlz
Ll9yZWZyZXNoRnJhbWVTZWxlY3Rpb25DaGFydCgpOwotCiAgICAgICAgIHRoaXMuX3RvZ2dsZVJl
Y29yZGluZ1Nob3J0Y3V0LmRpc2FibGVkID0gZmFsc2U7CiAgICAgICAgIHRoaXMuX3RvZ2dsZU5l
d1JlY29yZGluZ1Nob3J0Y3V0LmRpc2FibGVkID0gZmFsc2U7CiAKQEAgLTIyNiwxMSArMjIzLDYg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRl
YmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5l
TWFuYWdlci5yZXNldCgpOwogICAgIH0KIAotICAgIGdldCB2aWV3TW9kZSgpCi0gICAgewotICAg
ICAgICByZXR1cm4gdGhpcy5fdmlld01vZGU7Ci0gICAgfQotCiAgICAgc2hvd0RlZmF1bHRDb250
ZW50VmlldygpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fZGlzcGxheWVkQ29udGVudFZpZXcp
CkBAIC0zNDMsOSArMzM1LDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0g
Y2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAgICAgICB0
aGlzLl9kaXNwbGF5ZWRDb250ZW50Vmlldy5zaG93T3ZlcnZpZXdUaW1lbGluZVZpZXcoKTsKICAg
ICAgICAgdGhpcy5jb250ZW50QnJvd3Nlci5zaG93Q29udGVudFZpZXcodGhpcy5fZGlzcGxheWVk
Q29udGVudFZpZXcpOwotCi0gICAgICAgIHZhciBzZWxlY3RlZEJ5VXNlciA9IGZhbHNlOwotICAg
ICAgICB0aGlzLl9jaGFuZ2VWaWV3TW9kZShXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFu
ZWwuVmlld01vZGUuVGltZWxpbmVzLCBzZWxlY3RlZEJ5VXNlcik7CiAgICAgfQogCiAgICAgc2hv
d1RpbWVsaW5lVmlld0ZvclRpbWVsaW5lKHRpbWVsaW5lKQpAQCAtMzUzLDEwICszNDIsNiBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQ
YW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICBjb25zb2xlLmFzc2VydCh0aW1lbGluZSBp
bnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZSwgdGltZWxpbmUpOwogICAgICAgICBjb25z
b2xlLmFzc2VydCh0aGlzLl9kaXNwbGF5ZWRSZWNvcmRpbmcudGltZWxpbmVzLmhhcyh0aW1lbGlu
ZS50eXBlKSwgIkNhbm5vdCBzaG93IHRpbWVsaW5lIGJlY2F1c2UgaXQgZG9lcyBub3QgYmVsb25n
IHRvIHRoZSBzaG93biByZWNvcmRpbmcuIiwgdGltZWxpbmUudHlwZSk7CiAKLSAgICAgICAgLy8g
VGhlIHNpZGViYXIgdmlldyBtb2RlIG11c3QgYmUgaW4gdGhlIGNvcnJlY3Qgc3RhdGUgYmVmb3Jl
IGNoYW5naW5nIHRoZSBjb250ZW50IHZpZXcuCi0gICAgICAgIHZhciBzZWxlY3RlZEJ5VXNlciA9
IGZhbHNlOwotICAgICAgICB0aGlzLl9jaGFuZ2VWaWV3TW9kZSh0aGlzLl92aWV3TW9kZUZvclRp
bWVsaW5lKHRpbWVsaW5lKSwgc2VsZWN0ZWRCeVVzZXIpOwotCiAgICAgICAgIGlmICh0aGlzLl90
aW1lbGluZVRyZWVFbGVtZW50TWFwLmhhcyh0aW1lbGluZSkpIHsKICAgICAgICAgICAgIC8vIERl
ZmVyIHNob3dpbmcgdGhlIHJlbGV2YW50IHRpbWVsaW5lIHRvIHRoZSBvbnNlbGVjdCBoYW5kbGVy
IG9mIHRoZSB0aW1lbGluZXMgdHJlZSBlbGVtZW50LgogICAgICAgICAgICAgdmFyIHdhc1NlbGVj
dGVkQnlVc2VyID0gdHJ1ZTsKQEAgLTM3MSw3ICszNTYsNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxp
bmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYklu
c3BlYwogICAgIHVwZGF0ZUZyYW1lU2VsZWN0aW9uKHN0YXJ0RnJhbWVJbmRleCwgZW5kRnJhbWVJ
bmRleCkKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHN0YXJ0RnJhbWVJbmRleCA8PSBl
bmRGcmFtZUluZGV4LCBzdGFydEZyYW1lSW5kZXgsIGVuZEZyYW1lSW5kZXgpOwotICAgICAgICBj
b25zb2xlLmFzc2VydCh0aGlzLnZpZXdNb2RlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRl
YmFyUGFuZWwuVmlld01vZGUuUmVuZGVyaW5nRnJhbWVzLCB0aGlzLl92aWV3TW9kZSk7CiAgICAg
ICAgIGlmICh0aGlzLl9zdGFydEZyYW1lSW5kZXggPT09IHN0YXJ0RnJhbWVJbmRleCAmJiB0aGlz
Ll9lbmRGcmFtZUluZGV4ID09PSBlbmRGcmFtZUluZGV4KQogICAgICAgICAgICAgcmV0dXJuOwog
CkBAIC00MTgsNyArNDAyLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0g
Y2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgaWYg
KCF0aGlzLl9kaXNwbGF5ZWRDb250ZW50VmlldykKICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
Ci0gICAgICAgIGlmICh0aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lk
ZWJhclBhbmVsLlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcyAmJiB0aGlzLl9yZW5kZXJpbmdGcmFt
ZVRhc2tGaWx0ZXIuc2l6ZSkgeworICAgICAgICBpZiAodGhpcy5fdmlld01vZGUgPT09IFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcyAmJiB0aGlz
Ll9yZW5kZXJpbmdGcmFtZVRhc2tGaWx0ZXIuc2l6ZSkgewogICAgICAgICAgICAgd2hpbGUgKHRy
ZWVFbGVtZW50ICYmICEodHJlZUVsZW1lbnQucmVjb3JkIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkKSkKICAgICAgICAgICAgICAgICB0cmVlRWxlbWVudCA9IHRyZWVFbGVt
ZW50LnBhcmVudDsKIApAQCAtNDg3LDcgKzQ3MSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNp
ZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVj
CiAKICAgICAgICAgY29va2llW1dlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5TaG93
aW5nVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlld0Nvb2tpZUtleV0gPSB0aGlzLmNvbnRlbnRC
cm93c2VyLmN1cnJlbnRDb250ZW50VmlldyBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJlY29yZGluZ0NvbnRlbnRWaWV3OwogCi0gICAgICAgIGlmICh0aGlzLl92aWV3TW9kZSA9PT0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1l
cykKKyAgICAgICAgaWYgKHRoaXMuX3ZpZXdNb2RlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlldy5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXMpCiAgICAgICAgICAgICBjb29raWVbV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlNlbGVjdGVkVGltZWxpbmVWaWV3SWRlbnRp
ZmllckNvb2tpZUtleV0gPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJp
bmdGcmFtZTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRUcmVlRWxl
bWVudCA9IHRoaXMuX3RpbWVsaW5lc1RyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQ7CkBA
IC01OTMsNyArNTc3LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xh
c3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAgIF9yZW5kZXJp
bmdGcmFtZVRpbWVsaW5lVGltZXNVcGRhdGVkKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKHRo
aXMudmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9k
ZS5SZW5kZXJpbmdGcmFtZXMpCisgICAgICAgIGlmICh0aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuVmlld01vZGUuUmVuZGVyaW5nRnJhbWVzKQogICAgICAg
ICAgICAgdGhpcy5fcmVmcmVzaEZyYW1lU2VsZWN0aW9uQ2hhcnQoKTsKICAgICB9CiAKQEAgLTYy
NCwxMCArNjA4LDE5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNz
IFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAgICBfY29udGVudEJy
b3dzZXJDdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UoZXZlbnQpCiAgICAgewotICAgICAgICB2
YXIgZGlkU2hvd1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgPSB0aGlzLmNvbnRlbnRCcm93
c2VyLmN1cnJlbnRDb250ZW50VmlldyBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZVJl
Y29yZGluZ0NvbnRlbnRWaWV3OworICAgICAgICBsZXQgZGlkU2hvd1RpbWVsaW5lUmVjb3JkaW5n
Q29udGVudFZpZXcgPSB0aGlzLmNvbnRlbnRCcm93c2VyLmN1cnJlbnRDb250ZW50VmlldyBpbnN0
YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3OwogICAgICAg
ICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRl
YmFyUGFuZWwuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlld1Nob3dpbmdTdHlsZUNsYXNzLCBk
aWRTaG93VGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldyk7CiAKLSAgICAgICAgaWYgKHRoaXMu
dmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5S
ZW5kZXJpbmdGcmFtZXMpCisgICAgICAgIGlmICghZGlkU2hvd1RpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXcpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fdXBkYXRlVmll
d01vZGVJZk5lZWRlZCgpOworICAgICAgICB0aGlzLl90aW1lbGluZUNvdW50Q2hhbmdlZCgpOwor
CisgICAgICAgIHRoaXMudXBkYXRlRmlsdGVyKCk7CisKKyAgICAgICAgbGV0IHRpbWVsaW5lVmll
dyA9IHRoaXMuY29udGVudEJyb3dzZXIuY3VycmVudENvbnRlbnRWaWV3LmN1cnJlbnRUaW1lbGlu
ZVZpZXc7CisgICAgICAgIGlmICh0aW1lbGluZVZpZXcucmVwcmVzZW50ZWRPYmplY3QudHlwZSA9
PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWUpCiAgICAg
ICAgICAgICB0aGlzLl9yZWZyZXNoRnJhbWVTZWxlY3Rpb25DaGFydCgpOwogICAgIH0KIApAQCAt
NjkzLDEwICs2ODYsMTUgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xh
c3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgdmFyIGNv
b2tpZSA9IHt9OwogICAgICAgICB0aGlzLnNhdmVTdGF0ZVRvQ29va2llKGNvb2tpZSk7CiAKKyAg
ICAgICAgaWYgKHRoaXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3KQorICAgICAgICAgICAgdGhpcy5f
ZGlzcGxheWVkQ29udGVudFZpZXcucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ29u
dGVudFZpZXcuRXZlbnQuTmF2aWdhdGlvbkl0ZW1zRGlkQ2hhbmdlLCB0aGlzLl91cGRhdGVWaWV3
TW9kZUlmTmVlZGVkLCB0aGlzKTsKKwogICAgICAgICAvLyBUcnkgdG8gZ2V0IHRoZSByZWNvcmRp
bmcgY29udGVudCB2aWV3IGlmIGl0IGV4aXN0cyBhbHJlYWR5LCBpZiBpdCBkb2VzIHdlIGRvbid0
IHdhbnQgdG8gcmVzdG9yZSB0aGUgY29va2llLgogICAgICAgICB2YXIgb25seUV4aXN0aW5nID0g
dHJ1ZTsKICAgICAgICAgdGhpcy5fZGlzcGxheWVkQ29udGVudFZpZXcgPSB0aGlzLmNvbnRlbnRC
cm93c2VyLmNvbnRlbnRWaWV3Rm9yUmVwcmVzZW50ZWRPYmplY3QodGhpcy5fZGlzcGxheWVkUmVj
b3JkaW5nLCBvbmx5RXhpc3RpbmcsIHt0aW1lbGluZVNpZGViYXJQYW5lbDogdGhpc30pOwogICAg
ICAgICBpZiAodGhpcy5fZGlzcGxheWVkQ29udGVudFZpZXcpIHsKKyAgICAgICAgICAgIHRoaXMu
X2Rpc3BsYXllZENvbnRlbnRWaWV3LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNvbnRl
bnRWaWV3LkV2ZW50Lk5hdmlnYXRpb25JdGVtc0RpZENoYW5nZSwgdGhpcy5fdXBkYXRlVmlld01v
ZGVJZk5lZWRlZCwgdGhpcyk7CisKICAgICAgICAgICAgIC8vIFNob3cgdGhlIHRpbWVsaW5lIHRo
YXQgd2FzIGJlaW5nIHNob3duIHRvIHVwZGF0ZSB0aGUgc2lkZWJhciB0cmVlIHN0YXRlLgogICAg
ICAgICAgICAgdmFyIGN1cnJlbnRUaW1lbGluZVZpZXcgPSB0aGlzLl9kaXNwbGF5ZWRDb250ZW50
Vmlldy5jdXJyZW50VGltZWxpbmVWaWV3OwogICAgICAgICAgICAgaWYgKGN1cnJlbnRUaW1lbGlu
ZVZpZXcgJiYgY3VycmVudFRpbWVsaW5lVmlldy5yZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9m
IFdlYkluc3BlY3Rvci5UaW1lbGluZSkKQEAgLTcxMCw2ICs3MDgsOCBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRz
IFdlYkluc3BlYwogCiAgICAgICAgIG9ubHlFeGlzdGluZyA9IGZhbHNlOwogICAgICAgICB0aGlz
Ll9kaXNwbGF5ZWRDb250ZW50VmlldyA9IHRoaXMuY29udGVudEJyb3dzZXIuY29udGVudFZpZXdG
b3JSZXByZXNlbnRlZE9iamVjdCh0aGlzLl9kaXNwbGF5ZWRSZWNvcmRpbmcsIG9ubHlFeGlzdGlu
Zywge3RpbWVsaW5lU2lkZWJhclBhbmVsOiB0aGlzfSk7CisgICAgICAgIGlmICh0aGlzLl9kaXNw
bGF5ZWRDb250ZW50VmlldykKKyAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3
LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3LkV2ZW50Lk5hdmlnYXRp
b25JdGVtc0RpZENoYW5nZSwgdGhpcy5fdXBkYXRlVmlld01vZGVJZk5lZWRlZCwgdGhpcyk7CiAK
ICAgICAgICAgLy8gUmVzdG9yZSB0aGUgY29va2llIHRvIGNhcnJ5IG92ZXIgdGhlIHByZXZpb3Vz
IHJlY29yZGluZyB2aWV3IHN0YXRlIHRvIHRoZSBuZXcgcmVjb3JkaW5nLgogICAgICAgICB0aGlz
LnJlc3RvcmVTdGF0ZUZyb21Db29raWUoY29va2llKTsKQEAgLTg1OSw1MiArODU5LDMyIEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBh
bmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnNlbGVjdGVk
TmF2aWdhdGlvbkl0ZW0pCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIHNlbGVj
dGVkTmF2aWdhdGlvbkl0ZW0gPSBldmVudC50YXJnZXQuc2VsZWN0ZWROYXZpZ2F0aW9uSXRlbTsK
LSAgICAgICAgdmFyIHNlbGVjdGVkQnlVc2VyID0gdHJ1ZTsKLSAgICAgICAgdGhpcy5fY2hhbmdl
Vmlld01vZGUoc2VsZWN0ZWROYXZpZ2F0aW9uSXRlbS5pZGVudGlmaWVyLCBzZWxlY3RlZEJ5VXNl
cik7Ci0gICAgfQotCi0gICAgX3ZpZXdNb2RlRm9yVGltZWxpbmUodGltZWxpbmUpCi0gICAgewot
ICAgICAgICBpZiAodGltZWxpbmUgJiYgdGltZWxpbmUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWUpCi0gICAgICAgICAgICByZXR1cm4gV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lczsK
LQotICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdN
b2RlLlRpbWVsaW5lczsKLSAgICB9Ci0KLSAgICBfY2hhbmdlVmlld01vZGUobW9kZSwgc2VsZWN0
ZWRCeVVzZXIpCi0gICAgewotICAgICAgICBpZiAoIVdlYkluc3BlY3Rvci5GUFNJbnN0cnVtZW50
LnN1cHBvcnRlZCgpIHx8IHRoaXMuX3ZpZXdNb2RlID09PSBtb2RlKQorICAgICAgICBsZXQgc2Vs
ZWN0ZWROYXZpZ2F0aW9uSXRlbSA9IGV2ZW50LnRhcmdldC5zZWxlY3RlZE5hdmlnYXRpb25JdGVt
OworICAgICAgICBsZXQgbmV3Vmlld01vZGUgPSBzZWxlY3RlZE5hdmlnYXRpb25JdGVtLmlkZW50
aWZpZXI7CisgICAgICAgIGlmICh0aGlzLl92aWV3TW9kZSA9PT0gbmV3Vmlld01vZGUpCiAgICAg
ICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fdmlld01vZGUgPSBtb2RlOwotICAgICAg
ICB0aGlzLl92aWV3TW9kZU5hdmlnYXRpb25CYXIuc2VsZWN0ZWROYXZpZ2F0aW9uSXRlbSA9IHRo
aXMuX3ZpZXdNb2RlOwotCi0gICAgICAgIGlmICh0aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5zcGVj
dG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlLlRpbWVsaW5lcykgewotICAgICAgICAg
ICAgdGhpcy5fdGltZWxpbmVzVHJlZU91dGxpbmUuaGlkZGVuID0gZmFsc2U7Ci0gICAgICAgICAg
ICB0aGlzLl9mcmFtZVNlbGVjdGlvbkNoYXJ0U2VjdGlvbi5jb2xsYXBzZWQgPSB0cnVlOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVzVHJlZU91dGxpbmUuaGlk
ZGVuID0gdHJ1ZTsKLSAgICAgICAgICAgIHRoaXMuX2ZyYW1lU2VsZWN0aW9uQ2hhcnRTZWN0aW9u
LmNvbGxhcHNlZCA9IGZhbHNlOworICAgICAgICBsZXQgdGltZWxpbmVUeXBlID0gdGhpcy5fcHJl
dmlvdXNTZWxlY3RlZFRpbWVsaW5lVHlwZTsKKyAgICAgICAgaWYgKG5ld1ZpZXdNb2RlID09PSBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXMpIHsK
KyAgICAgICAgICAgIHRoaXMuX3ByZXZpb3VzU2VsZWN0ZWRUaW1lbGluZVR5cGUgPSB0aGlzLl90
aW1lbGluZXNUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50ID8gdGhpcy5fdGltZWxpbmVz
VHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdC50eXBlIDog
bnVsbDsKKyAgICAgICAgICAgIHRpbWVsaW5lVHlwZSA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJl
Y29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKHNlbGVj
dGVkQnlVc2VyKSB7Ci0gICAgICAgICAgICB2YXIgdGltZWxpbmVUeXBlID0gdGhpcy5fcHJldmlv
dXNTZWxlY3RlZFRpbWVsaW5lVHlwZTsKLSAgICAgICAgICAgIGlmICh0aGlzLl92aWV3TW9kZSA9
PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlLlJlbmRlcmluZ0Zy
YW1lcykgewotICAgICAgICAgICAgICAgIHRoaXMuX3ByZXZpb3VzU2VsZWN0ZWRUaW1lbGluZVR5
cGUgPSB0aGlzLl90aW1lbGluZXNUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50ID8gdGhp
cy5fdGltZWxpbmVzVHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudC5yZXByZXNlbnRlZE9i
amVjdC50eXBlIDogbnVsbDsKLSAgICAgICAgICAgICAgICB0aW1lbGluZVR5cGUgPSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZTsKLSAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgaWYgKHRpbWVsaW5lVHlwZSkgewotICAgICAgICAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHRoaXMuX2Rpc3BsYXllZFJlY29yZGluZy50aW1lbGluZXMuaGFzKHRpbWVsaW5l
VHlwZSksIHRpbWVsaW5lVHlwZSk7Ci0gICAgICAgICAgICAgICAgdGhpcy5zaG93VGltZWxpbmVW
aWV3Rm9yVGltZWxpbmUodGhpcy5fZGlzcGxheWVkUmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQodGlt
ZWxpbmVUeXBlKSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0aGlzLnNo
b3dUaW1lbGluZU92ZXJ2aWV3KCk7CisgICAgICAgIGlmICh0aW1lbGluZVR5cGUpIHsKKyAgICAg
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2Rpc3BsYXllZFJlY29yZGluZy50aW1lbGluZXMu
aGFzKHRpbWVsaW5lVHlwZSksIHRpbWVsaW5lVHlwZSk7CisgICAgICAgICAgICB0aGlzLnNob3dU
aW1lbGluZVZpZXdGb3JUaW1lbGluZSh0aGlzLl9kaXNwbGF5ZWRSZWNvcmRpbmcudGltZWxpbmVz
LmdldCh0aW1lbGluZVR5cGUpKTsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0g
ICAgICAgIHRoaXMuX3RpbWVsaW5lQ291bnRDaGFuZ2VkKCk7CisgICAgICAgIHRoaXMuc2hvd1Rp
bWVsaW5lT3ZlcnZpZXcoKTsKKyAgICB9CiAKLSAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXIoKTsK
KyAgICBfdmlld01vZGVGb3JUaW1lbGluZSh0aW1lbGluZSkKKyAgICB7CisgICAgICAgIGlmICh0
aW1lbGluZSAmJiB0aW1lbGluZS50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQu
VHlwZS5SZW5kZXJpbmdGcmFtZSkKKyAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVPdmVydmlldy5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXM7CisKKyAgICAgICAgcmV0dXJu
IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlZpZXdNb2RlLlRpbWVsaW5lczsKICAgICB9
CiAKICAgICBfZnJhbWVTZWxlY3Rpb25MZWdlbmRJdGVtQ2hlY2tlZChldmVudCkKQEAgLTEwNDEs
MTEgKzEwMjEsMjkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3Mg
VGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICB7CiAgICAgICAgIHRo
aXMuX3JlcGxheVBhdXNlUmVzdW1lQnV0dG9uSXRlbS50b2dnbGVkID0gZmFsc2U7CiAgICAgfQot
fTsKIAotV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlID0gewotICAg
IFRpbWVsaW5lczogInRpbWVsaW5lLXNpZGViYXItcGFuZWwtdmlldy1tb2RlLXRpbWVsaW5lcyIs
Ci0gICAgUmVuZGVyaW5nRnJhbWVzOiAidGltZWxpbmUtc2lkZWJhci1wYW5lbC12aWV3LW1vZGUt
ZnJhbWVzIgorICAgIF91cGRhdGVWaWV3TW9kZUlmTmVlZGVkKCkKKyAgICB7CisgICAgICAgIGxl
dCB0aW1lbGluZVZpZXcgPSB0aGlzLmNvbnRlbnRCcm93c2VyLmN1cnJlbnRDb250ZW50Vmlldy5j
dXJyZW50VGltZWxpbmVWaWV3OworICAgICAgICBsZXQgbmV3Vmlld01vZGUgPSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVPdmVydmlldy5WaWV3TW9kZS5UaW1lbGluZXM7CisgICAgICAgIGlmICh0aW1l
bGluZVZpZXcucmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxp
bmUgJiYgdGltZWxpbmVWaWV3LnJlcHJlc2VudGVkT2JqZWN0LnR5cGUgPT09IFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lKQorICAgICAgICAgICAgbmV3Vmll
d01vZGUgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5WaWV3TW9kZS5SZW5kZXJpbmdG
cmFtZXM7CisKKyAgICAgICAgaWYgKG5ld1ZpZXdNb2RlID09PSB0aGlzLl92aWV3TW9kZSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl92aWV3TW9kZSA9IG5ld1ZpZXdNb2Rl
OworCisgICAgICAgIGlmICh0aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
T3ZlcnZpZXcuVmlld01vZGUuVGltZWxpbmVzKSB7CisgICAgICAgICAgICB0aGlzLl90aW1lbGlu
ZXNUcmVlT3V0bGluZS5oaWRkZW4gPSBmYWxzZTsKKyAgICAgICAgICAgIHRoaXMuX2ZyYW1lU2Vs
ZWN0aW9uQ2hhcnRTZWN0aW9uLmNvbGxhcHNlZCA9IHRydWU7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICB0aGlzLl90aW1lbGluZXNUcmVlT3V0bGluZS5oaWRkZW4gPSB0cnVlOworICAg
ICAgICAgICAgdGhpcy5fZnJhbWVTZWxlY3Rpb25DaGFydFNlY3Rpb24uY29sbGFwc2VkID0gZmFs
c2U7CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl92aWV3TW9kZU5hdmlnYXRpb25CYXIuc2Vs
ZWN0ZWROYXZpZ2F0aW9uSXRlbSA9IHRoaXMuX3ZpZXdNb2RlOworICAgIH0KIH07CiAKIFdlYklu
c3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5IaWRkZW5TdHlsZUNsYXNzTmFtZSA9ICJoaWRk
ZW4iOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>