<?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>83122</bug_id>
          
          <creation_ts>2012-04-04 01:09:36 -0700</creation_ts>
          <short_desc>Web Inspector: make padding and client window width part of timeline calculator&apos;s state</short_desc>
          <delta_ts>2012-04-04 05:42:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>83146</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>kadam</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>pnormand</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>595299</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-04-04 01:09:36 -0700</bug_when>
    <thetext>We used to pass client width to calculator&apos;s computeBarGraphWindowPosition(), then adjust for possible padding on the left. This often required passing paddingLeft along with the calculator and lead to possible inconsistent values of width used. Also, this makes it difficult to reuse position calculation logic for a single position, not the entire bar.
This adds display window dimensions to calculator&apos;s state, so that it&apos;s sufficient to pass calculator around and trivial to implement position calculation for single time value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595301</commentid>
    <comment_count>1</comment_count>
      <attachid>135527</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-04-04 01:17:47 -0700</bug_when>
    <thetext>Created attachment 135527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595307</commentid>
    <comment_count>2</comment_count>
      <attachid>135528</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-04-04 01:44:50 -0700</bug_when>
    <thetext>Created attachment 135528
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595325</commentid>
    <comment_count>3</comment_count>
      <attachid>135528</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-04 02:09:08 -0700</bug_when>
    <thetext>Comment on attachment 135528
Patch

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

&gt; Source/WebCore/inspector/front-end/TimelinePanel.js:735
&gt; +    this._minWidth = 5;

Please use constants for these</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595335</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-04-04 02:27:40 -0700</bug_when>
    <thetext>Committed r113156: &lt;http://trac.webkit.org/changeset/113156&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595372</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-04-04 03:21:01 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Committed r113156: &lt;http://trac.webkit.org/changeset/113156&gt;

This patch broke 4 inspector tests on GTK...
http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r113156%20(21569)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595374</commentid>
    <comment_count>6</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-04-04 03:22:28 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Committed r113156: &lt;http://trac.webkit.org/changeset/113156&gt;
&gt; 
&gt; This patch broke 4 inspector tests on GTK...
&gt; http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r113156%20(21569)/results.html

https://bugs.webkit.org/show_bug.cgi?id=83136</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595412</commentid>
    <comment_count>7</comment_count>
    <who name="Ádám Kallai">kadam</who>
    <bug_when>2012-04-04 04:34:31 -0700</bug_when>
    <thetext>These tests are failing on Qt. After r113156.
http://trac.webkit.org/changeset/113156

* http/tests/inspector/network/network-initiator-from-console.html

Diff:
http://build.webkit.sed.hu/results/x86-64%20Linux%20Qt%20Release/r113156%20(35808)/http/tests/inspector/network/network-initiator-from-console-diff.txt

* http/tests/inspector/network/network-sidebar-width.html

Diff:
http://build.webkit.sed.hu/results/x86-64%20Linux%20Qt%20Release/r113156%20(35808)/http/tests/inspector/network/network-sidebar-width-diff.txt

* http/tests/inspector/resource-har-pages.html

Diff:

http://build.webkit.sed.hu/results/x86-64%20Linux%20Qt%20Release/r113156%20(35808)/http/tests/inspector/resource-har-pages-diff.txt

 
* inspector/debugger/source-frame.html

Diff:
http://build.webkit.sed.hu/results/x86-64%20Linux%20Qt%20Release/r113156%20(35808)/inspector/debugger/source-frame-diff.txt

* inspector/debugger/watch-expressions-panel-switch.html

Diff:

http://build.webkit.sed.hu/results/x86-64%20Linux%20Qt%20Release/r113156%20(35808)/inspector/debugger/watch-expressions-panel-switch-diff.txt

* inspector/network-status-non-http.html

Diff:
http://build.webkit.sed.hu/results/x86-64%20Linux%20Qt%20Release/r113156%20(35808)/inspector/network-status-non-http-diff.txt

I will skip these tests until It is fixed.
Thanks for your investigation.
Please unskip these tests if you have fixed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595454</commentid>
    <comment_count>8</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-04-04 05:42:14 -0700</bug_when>
    <thetext>Committed r113177: &lt;http://trac.webkit.org/changeset/113177&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135527</attachid>
            <date>2012-04-04 01:17:47 -0700</date>
            <delta_ts>2012-04-04 01:44:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83122-20120404121745.patch</filename>
            <type>text/plain</type>
            <size>17525</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE3NWM1ZmE5NzYzNmQ3
MGRlNjc5NTQxYmExOThjZmE3ZTg4MGI3My4uYjA1M2RmZWQ1YTY3MGExNGRkMzQ3MjVhNzEzNjUz
YzYyMWViZjYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA0LTA0ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogbWFrZSBwYWRkaW5nIGFuZCBjbGllbnQgd2luZG93IHdpZHRoIHBhcnQgb2YgdGltZWxpbmUg
Y2FsY3VsYXRvcidzIHN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MzEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIC0gcHJlc2VydmUgd2luZG93IHdpZHRoIGFuZCBwYWRkaW5nIHdpdGhpbiBUaW1l
bGluZUNhbGN1bGF0b3IKKyAgICAgICAgLSByZWx5IG9uIGNhbGN1bGF0b3IgdG8gYWRkIGV4cGFu
c2lvbiBhcnJvdyBwYWRkaW5nCisgICAgICAgIC0gYWRkIFRpbWVsaW5lQ2FsY3VsYXRvcjo6Y29t
cHV0ZVBvc2l0aW9uKCkgZm9yIGNvbXB1dGluZyBzaW5nbGUgcG9zaXRpb24gKG5vdCBlbnRpcmUg
YmFyIGRpbWVuc2lvbnMpCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL01lbW9yeVN0
YXRpc3RpY3MuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTWVtb3J5U3RhdGlzdGljcy5wcm90
b3R5cGUuX3JlZnJlc2hEaXZpZGVycyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZUdyaWQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVHcmlkLnByb3Rv
dHlwZS51cGRhdGVEaXZpZGVycyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1l
bGluZU92ZXJ2aWV3UGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3UGFuZS5wcm90b3R5cGUuX3VwZGF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlld1BhbmUucHJvdG90eXBlLl9yZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlld0NhbGN1bGF0b3IucHJvdG90eXBlLmNvbXB1dGVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0NhbGN1bGF0b3IucHJvdG90eXBl
LnNldERpc3BsYXlXaW5kb3cpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxp
bmVQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlw
ZS5fdXBkYXRlRXZlbnREaXZpZGVycyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
YW5lbC5wcm90b3R5cGUuX3JlZnJlc2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UGFuZWwucHJvdG90eXBlLl9yZWZyZXNoUmVjb3Jkcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVDYWxjdWxhdG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZUNhbGN1
bGF0b3IucHJvdG90eXBlLmNvbXB1dGVQb3NpdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVDYWxjdWxhdG9yLnByb3RvdHlwZS5jb21wdXRlQmFyR3JhcGhXaW5kb3dQb3NpdGlv
bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVDYWxjdWxhdG9yLnByb3RvdHlwZS5z
ZXREaXNwbGF5V2luZG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEdy
YXBoUm93LnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
RXhwYW5kYWJsZUVsZW1lbnQucHJvdG90eXBlLl91cGRhdGUpOgorCiAyMDEyLTA0LTAzICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogcmVtb3ZlIHVudXNlZCByZWZlcmVuY2VzIHRvIFRpbWVsaW5lQ2FsY3VsYXRvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9NZW1vcnlTdGF0aXN0aWNz
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9NZW1vcnlTdGF0aXN0aWNz
LmpzCmluZGV4IGMzZmRmYjUwNjdjNDRhM2IwNzI4MjczMGViYWExY2Y5OTRhMzg3ODEuLjZiOWE3
YmZhODVkZTdkYjg0Zjk2NTc2YzUxZDNkYWE5ZmU4NzMyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWVtb3J5U3RhdGlzdGljcy5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL01lbW9yeVN0YXRpc3RpY3MuanMKQEAgLTQy
MCw3ICs0MjAsNyBAQCBXZWJJbnNwZWN0b3IuTWVtb3J5U3RhdGlzdGljcy5wcm90b3R5cGUgPSB7
CiAKICAgICBfcmVmcmVzaERpdmlkZXJzOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB0aGlz
Ll90aW1lbGluZUdyaWQudXBkYXRlRGl2aWRlcnModHJ1ZSwgdGhpcy5fdGltZWxpbmVQYW5lbC5j
YWxjdWxhdG9yLCB0aGlzLl90aW1lbGluZVBhbmVsLnRpbWVsaW5lUGFkZGluZ0xlZnQpOworICAg
ICAgICB0aGlzLl90aW1lbGluZUdyaWQudXBkYXRlRGl2aWRlcnModGhpcy5fdGltZWxpbmVQYW5l
bC5jYWxjdWxhdG9yKTsKICAgICB9LAogCiAgICAgX3NldFZlcnRpY2FsQ2xpcDogZnVuY3Rpb24o
b3JpZ2luWSwgaGVpZ2h0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZUdyaWQuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lR3JpZC5qcwppbmRleCBlZmY0MGZlZTk5NmY2YmIxY2Q4ZmJhYjBjZTYxNjUx
OWRjNzhmYWJkLi5lYWIzMjc4MWEyZTFiYjU0NjJlMjhmZDk1NWQ0OTNhOGUxY2I0OTgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lR3JpZC5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lR3JpZC5q
cwpAQCAtNjMsMjYgKzYzLDE5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZUdyaWQucHJvdG90eXBl
ID0gewogICAgICAgICByZXR1cm4gdGhpcy5fZGl2aWRlcnNFbGVtZW50OwogICAgIH0sCiAKLSAg
ICAvKioKLSAgICAgKiBAcGFyYW0ge251bWJlcj19IHBhZGRpbmdMZWZ0Ci0gICAgICovCi0gICAg
dXBkYXRlRGl2aWRlcnM6IGZ1bmN0aW9uKGZvcmNlLCBjYWxjdWxhdG9yLCBwYWRkaW5nTGVmdCkK
KyAgICB1cGRhdGVEaXZpZGVyczogZnVuY3Rpb24oY2FsY3VsYXRvcikKICAgICB7Ci0gICAgICAg
IHZhciBkaXZpZGVyQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuX2RpdmlkZXJzRWxlbWVudC5vZmZz
ZXRXaWR0aCAvIDY0KTsKKyAgICAgICAgdmFyIGRpdmlkZXJzRWxlbWVudENsaWVudFdpZHRoID0g
dGhpcy5fZGl2aWRlcnNFbGVtZW50LmNsaWVudFdpZHRoOworICAgICAgICB2YXIgZGl2aWRlckNv
dW50ID0gTWF0aC5yb3VuZChkaXZpZGVyc0VsZW1lbnRDbGllbnRXaWR0aCAvIDY0KTsKICAgICAg
ICAgdmFyIHNsaWNlID0gY2FsY3VsYXRvci5ib3VuZGFyeVNwYW4gLyBkaXZpZGVyQ291bnQ7Ci0g
ICAgICAgIGlmICghZm9yY2UgJiYgdGhpcy5fY3VycmVudERpdmlkZXJTbGljZSA9PT0gc2xpY2Up
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgaWYgKHR5cGVvZiBwYWRkaW5n
TGVmdCAhPT0gIm51bWJlciIpCi0gICAgICAgICAgICBwYWRkaW5nTGVmdCA9IDA7CiAgICAgICAg
IHRoaXMuX2N1cnJlbnREaXZpZGVyU2xpY2UgPSBzbGljZTsKIAogICAgICAgICAvLyBSZXVzZSBk
aXZpZGVyIGVsZW1lbnRzIGFuZCBsYWJlbHMuCiAgICAgICAgIHZhciBkaXZpZGVyID0gdGhpcy5f
ZGl2aWRlcnNFbGVtZW50LmZpcnN0Q2hpbGQ7CiAgICAgICAgIHZhciBkaXZpZGVyTGFiZWxCYXIg
PSB0aGlzLl9kaXZpZGVyc0xhYmVsQmFyRWxlbWVudC5maXJzdENoaWxkOwogCi0gICAgICAgIHZh
ciBkaXZpZGVyc0VsZW1lbnRDbGllbnRXaWR0aCA9IHRoaXMuX2RpdmlkZXJzRWxlbWVudC5jbGll
bnRXaWR0aDsKLSAgICAgICAgdmFyIGNsaWVudFdpZHRoID0gZGl2aWRlcnNFbGVtZW50Q2xpZW50
V2lkdGggLSBwYWRkaW5nTGVmdDsKKyAgICAgICAgdmFyIHBhZGRpbmdMZWZ0ID0gY2FsY3VsYXRv
ci5wYWRkaW5nTGVmdDsKICAgICAgICAgZm9yICh2YXIgaSA9IHBhZGRpbmdMZWZ0ID8gMCA6IDE7
IGkgPD0gZGl2aWRlckNvdW50OyArK2kpIHsKICAgICAgICAgICAgIGlmICghZGl2aWRlcikgewog
ICAgICAgICAgICAgICAgIGRpdmlkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
QEAgLTExNCw3ICsxMDcsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVHcmlkLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgICAgICBkaXZpZGVyTGFiZWxCYXIucmVtb3ZlU3R5bGVDbGFzcygibGFz
dCIpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICB2YXIgbGVmdCA9IHBhZGRpbmdMZWZ0
ICsgY2xpZW50V2lkdGggKiAoaSAvIGRpdmlkZXJDb3VudCk7CisgICAgICAgICAgICB2YXIgbGVm
dCA9IGNhbGN1bGF0b3IuY29tcHV0ZVBvc2l0aW9uKGNhbGN1bGF0b3IubWluaW11bUJvdW5kYXJ5
ICsgc2xpY2UgKiBpKTsKICAgICAgICAgICAgIHZhciBwZXJjZW50TGVmdCA9IDEwMCAqIGxlZnQg
LyBkaXZpZGVyc0VsZW1lbnRDbGllbnRXaWR0aDsKICAgICAgICAgICAgIHRoaXMuX3NldERpdmlk
ZXJBbmRCYXJMZWZ0KGRpdmlkZXIsIGRpdmlkZXJMYWJlbEJhciwgcGVyY2VudExlZnQpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lT3Zl
cnZpZXdQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGlu
ZU92ZXJ2aWV3UGFuZS5qcwppbmRleCA1MDQ4NTJiMzdkZGY0MGNlZjYxZTZmNGRiYzliYTkwNWNj
MGEyOGVkLi40MWJmMTIxNWZhNTc2YjY0NTQ4ZjAwNGFmNTQzZDMyODU5NTMxZDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lT3ZlcnZpZXdQ
YW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVP
dmVydmlld1BhbmUuanMKQEAgLTE5Niw2ICsxOTYsOSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlld1BhbmUucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgZGVsZXRlIHRoaXMuX3Jl
ZnJlc2hUaW1lb3V0OwogCisgICAgICAgIHRoaXMuX292ZXJ2aWV3Q2FsY3VsYXRvci5zZXRXaW5k
b3codGhpcy5fbW9kZWwubWluaW11bVJlY29yZFRpbWUoKSwgdGhpcy5fbW9kZWwubWF4aW11bVJl
Y29yZFRpbWUoKSk7CisgICAgICAgIHRoaXMuX292ZXJ2aWV3Q2FsY3VsYXRvci5zZXREaXNwbGF5
V2luZG93KDAsIHRoaXMuX292ZXJ2aWV3Q29udGFpbmVyLmNsaWVudFdpZHRoKTsKKwogICAgICAg
ICBpZiAodGhpcy5faGVhcEdyYXBoLnZpc2libGUpCiAgICAgICAgICAgICB0aGlzLl9oZWFwR3Jh
cGgudXBkYXRlKCk7CiAgICAgICAgIGVsc2UgaWYgKHRoaXMuX3ZlcnRpY2FsT3ZlcnZpZXcpCkBA
IC0yMDMsOCArMjA2LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdQYW5lLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ2F0ZWdvcnlT
dHJpcHMoKTsKIAotICAgICAgICB0aGlzLl9vdmVydmlld0NhbGN1bGF0b3Iuc2V0V2luZG93KHRo
aXMuX21vZGVsLm1pbmltdW1SZWNvcmRUaW1lKCksIHRoaXMuX21vZGVsLm1heGltdW1SZWNvcmRU
aW1lKCkpOwotICAgICAgICB0aGlzLl9vdmVydmlld0dyaWQudXBkYXRlRGl2aWRlcnModHJ1ZSwg
dGhpcy5fb3ZlcnZpZXdDYWxjdWxhdG9yKTsKKyAgICAgICAgdGhpcy5fb3ZlcnZpZXdHcmlkLnVw
ZGF0ZURpdmlkZXJzKHRoaXMuX292ZXJ2aWV3Q2FsY3VsYXRvcik7CiAgICAgICAgIHRoaXMuX3Vw
ZGF0ZUV2ZW50RGl2aWRlcnMoKTsKICAgICB9LAogCkBAIC0yMTcsNyArMjE5LDYgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRp
bWVsaW5lc1tjYXRlZ29yeV0gPSBbXTsKICAgICAgICAgICAgIHRoaXMuX2NhdGVnb3J5R3JhcGhz
W2NhdGVnb3J5XS5jbGVhckNodW5rcygpOwogICAgICAgICB9Ci0gICAgICAgIHRoaXMuX292ZXJ2
aWV3Q2FsY3VsYXRvci5zZXRXaW5kb3codGhpcy5fbW9kZWwubWluaW11bVJlY29yZFRpbWUoKSwg
dGhpcy5fbW9kZWwubWF4aW11bVJlY29yZFRpbWUoKSk7CiAKICAgICAgICAgLy8gQ3JlYXRlIHNw
YXJzZSBhcnJheXMgd2l0aCAxMDEgY2VsbHMgZWFjaCB0byBmaWxsIHdpdGggY2h1bmtzIGZvciBh
IGdpdmVuIGNhdGVnb3J5LgogICAgICAgICBmdW5jdGlvbiBtYXJrUGVyY2VudGFnZXNGb3JSZWNv
cmQocmVjb3JkKQpAQCAtMzEwLDggKzMxMSw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3UGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3dpbmRvd0VuZFRpbWUgPSBJbmZp
bml0eTsKICAgICAgICAgdGhpcy5fb3ZlcnZpZXdXaW5kb3cucmVzZXQoKTsKICAgICAgICAgdGhp
cy5fb3ZlcnZpZXdDYWxjdWxhdG9yLnJlc2V0KCk7Ci0gICAgICAgIHRoaXMuX292ZXJ2aWV3R3Jp
ZC51cGRhdGVEaXZpZGVycyh0cnVlLCB0aGlzLl9vdmVydmlld0NhbGN1bGF0b3IpOwogICAgICAg
ICB0aGlzLl9ldmVudERpdmlkZXJzID0gW107CisgICAgICAgIHRoaXMuX292ZXJ2aWV3R3JpZC51
cGRhdGVEaXZpZGVycyh0aGlzLl9vdmVydmlld0NhbGN1bGF0b3IpOwogICAgICAgICBpZiAodGhp
cy5fdmVydGljYWxPdmVydmlldykKICAgICAgICAgICAgIHRoaXMuX3ZlcnRpY2FsT3ZlcnZpZXcu
cmVzZXQoKTsKICAgICAgICAgdGhpcy5fdXBkYXRlKCk7CkBAIC01ODYsNiArNTg3LDE0IEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3Q2FsY3VsYXRvciA9IGZ1bmN0aW9uKCkKIH0KIAog
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdDYWxjdWxhdG9yLnByb3RvdHlwZSA9IHsKKyAg
ICAvKioKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gdGltZQorICAgICAqLworICAgIGNvbXB1dGVQ
b3NpdGlvbjogZnVuY3Rpb24odGltZSkKKyAgICB7CisgICAgICAgIHJldHVybiAodGltZSAtIHRo
aXMubWluaW11bUJvdW5kYXJ5KSAvIHRoaXMuYm91bmRhcnlTcGFuICogdGhpcy5fd29ya2luZ0Fy
ZWEgKyB0aGlzLnBhZGRpbmdMZWZ0OworICAgIH0sCisKICAgICBjb21wdXRlQmFyR3JhcGhQZXJj
ZW50YWdlczogZnVuY3Rpb24ocmVjb3JkKQogICAgIHsKICAgICAgICAgdmFyIHN0YXJ0ID0gKFdl
Ykluc3BlY3Rvci5UaW1lbGluZU1vZGVsLnN0YXJ0VGltZUluU2Vjb25kcyhyZWNvcmQpIC0gdGhp
cy5taW5pbXVtQm91bmRhcnkpIC8gdGhpcy5ib3VuZGFyeVNwYW4gKiAxMDA7CkBAIC02MDQsNiAr
NjEzLDE2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3Q2FsY3VsYXRvci5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHRoaXMuYm91bmRhcnlTcGFuID0gdGhpcy5tYXhpbXVtQm91bmRhcnkg
LSB0aGlzLm1pbmltdW1Cb3VuZGFyeTsKICAgICB9LAogCisgICAgLyoqCisgICAgICogQHBhcmFt
IHtudW1iZXJ9IHBhZGRpbmdMZWZ0CisgICAgICogQHBhcmFtIHtudW1iZXJ9IGNsaWVudFdpZHRo
CisgICAgICovCisgICAgc2V0RGlzcGxheVdpbmRvdzogZnVuY3Rpb24ocGFkZGluZ0xlZnQsIGNs
aWVudFdpZHRoKQorICAgIHsKKyAgICAgICAgdGhpcy5fd29ya2luZ0FyZWEgPSBjbGllbnRXaWR0
aCAtIHBhZGRpbmdMZWZ0OworICAgICAgICB0aGlzLnBhZGRpbmdMZWZ0ID0gcGFkZGluZ0xlZnQ7
CisgICAgfSwKKwogICAgIHJlc2V0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLnNl
dFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZVBhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZVBhbmVsLmpzCmluZGV4IDMzYWVlMWQyMDdkZGViYTgyOWU2MjIwM2FlNmI1YTMzMGQy
NmNmMmMuLjEwNWIxZGMzODNjNjk1MjM2NDE1ZjhiMjYyN2YxNmYyMGUxMGEyZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMK
QEAgLTMyOSw3ICszMjksNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUg
PSB7CiAgICAgX3VwZGF0ZUV2ZW50RGl2aWRlcnM6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAg
IHRoaXMuX3RpbWVsaW5lR3JpZC5yZW1vdmVFdmVudERpdmlkZXJzKCk7Ci0gICAgICAgIHZhciBj
bGllbnRXaWR0aCA9IHRoaXMuX2dyYXBoUm93c0VsZW1lbnQub2Zmc2V0V2lkdGggLSB0aGlzLl9l
eHBhbmRPZmZzZXQ7CisgICAgICAgIHZhciBjbGllbnRXaWR0aCA9IHRoaXMuX2dyYXBoUm93c0Vs
ZW1lbnQub2Zmc2V0V2lkdGg7CiAgICAgICAgIHZhciBkaXZpZGVycyA9IFtdOwogICAgICAgICAv
LyBPbmx5IHNob3cgZnJhbWVzIGlmIHdlJ3JlIHpvb21lZCBjbG9zZSBlbm91Z2ggLS0gb3RoZXJ3
aXNlIHRoZXknZCBiZSB0byBkZW5zZSB0byBiZSB1c2VmdWwgYW5kIHdpbGwgb3ZlcnBvcHVsYXRl
IERPTS4KICAgICAgICAgdmFyIHNob3dGcmFtZXMgPSB0aGlzLmNhbGN1bGF0b3IuYm91bmRhcnlT
cGFuIDwgMS4wICYmIHRoaXMuX3ZlcnRpY2FsT3ZlcnZpZXc7CkBAIC0zMzgsNyArMzM4LDcgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFy
IHJlY29yZCA9IHRoaXMuX3RpbWVTdGFtcFJlY29yZHNbaV07CiAgICAgICAgICAgICBpZiAocmVj
b3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuQmVnaW5G
cmFtZSAmJiAhc2hvd0ZyYW1lcykKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg
ICAgIHZhciBwb3NpdGlvbnMgPSB0aGlzLl9jYWxjdWxhdG9yLmNvbXB1dGVCYXJHcmFwaFdpbmRv
d1Bvc2l0aW9uKHJlY29yZCwgY2xpZW50V2lkdGgpOworICAgICAgICAgICAgdmFyIHBvc2l0aW9u
cyA9IHRoaXMuX2NhbGN1bGF0b3IuY29tcHV0ZUJhckdyYXBoV2luZG93UG9zaXRpb24ocmVjb3Jk
KTsKICAgICAgICAgICAgIHZhciBkaXZpZGVyUG9zaXRpb24gPSBNYXRoLnJvdW5kKHBvc2l0aW9u
cy5sZWZ0KTsKICAgICAgICAgICAgIGlmIChkaXZpZGVyUG9zaXRpb24gPCAwIHx8IGRpdmlkZXJQ
b3NpdGlvbiA+PSBjbGllbnRXaWR0aCB8fCBkaXZpZGVyc1tkaXZpZGVyUG9zaXRpb25dKQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNTM4LDggKzUzOCw4IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9yZWZy
ZXNoVGltZW91dDsKICAgICAgICAgfQogCi0gICAgICAgIGlmICghdGhpcy5fYm91bmRhcmllc0Fy
ZVZhbGlkKQotICAgICAgICAgICAgdGhpcy5fY2FsY3VsYXRvci5zZXRXaW5kb3codGhpcy5fb3Zl
cnZpZXdQYW5lLndpbmRvd1N0YXJ0VGltZSgpLCB0aGlzLl9vdmVydmlld1BhbmUud2luZG93RW5k
VGltZSgpKTsKKyAgICAgICAgdGhpcy5fY2FsY3VsYXRvci5zZXRXaW5kb3codGhpcy5fb3ZlcnZp
ZXdQYW5lLndpbmRvd1N0YXJ0VGltZSgpLCB0aGlzLl9vdmVydmlld1BhbmUud2luZG93RW5kVGlt
ZSgpKTsKKyAgICAgICAgdGhpcy5fY2FsY3VsYXRvci5zZXREaXNwbGF5V2luZG93KCF0aGlzLl9v
dmVydmlld1BhbmUud2luZG93TGVmdCgpID8gdGhpcy5fZXhwYW5kT2Zmc2V0IDogMCwgdGhpcy5f
Z3JhcGhSb3dzRWxlbWVudC5jbGllbnRXaWR0aCk7CiAKICAgICAgICAgdmFyIHJlY29yZHNJbldp
bmRvd0NvdW50ID0gdGhpcy5fcmVmcmVzaFJlY29yZHMoIXRoaXMuX2JvdW5kYXJpZXNBcmVWYWxp
ZCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJlY29yZHNDb3VudGVyKHJlY29yZHNJbldpbmRvd0Nv
dW50KTsKQEAgLTYxOSw3ICs2MTksOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgdmFyIGxhc3RDaGlsZEluZGV4ID0gaSArIHJlY29y
ZC52aXNpYmxlQ2hpbGRyZW5Db3VudDsKICAgICAgICAgICAgICAgICBpZiAobGFzdENoaWxkSW5k
ZXggPj0gc3RhcnRJbmRleCAmJiBsYXN0Q2hpbGRJbmRleCA8IGVuZEluZGV4KSB7CiAgICAgICAg
ICAgICAgICAgICAgIHZhciBleHBhbmRFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZUV4cGFuZGFibGVFbGVtZW50KHRoaXMuX2V4cGFuZEVsZW1lbnRzKTsKLSAgICAgICAgICAgICAg
ICAgICAgZXhwYW5kRWxlbWVudC5fdXBkYXRlKHJlY29yZCwgaSwgdGhpcy5fY2FsY3VsYXRvci5j
b21wdXRlQmFyR3JhcGhXaW5kb3dQb3NpdGlvbihyZWNvcmQsIHdpZHRoIC0gdGhpcy5fZXhwYW5k
T2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgIHZhciBwb3NpdGlvbnMgPSB0aGlzLl9jYWxj
dWxhdG9yLmNvbXB1dGVCYXJHcmFwaFdpbmRvd1Bvc2l0aW9uKHJlY29yZCk7CisgICAgICAgICAg
ICAgICAgICAgIGV4cGFuZEVsZW1lbnQuX3VwZGF0ZShyZWNvcmQsIGksIHBvc2l0aW9ucy5sZWZ0
IC0gdGhpcy5fZXhwbGFuZE9mZnNldCwgcG9zaXRpb25zLndpZHRoKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghbGlzdFJvd0Vs
ZW1lbnQpIHsKQEAgLTYzMiw3ICs2MzMsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgbGlzdFJv
d0VsZW1lbnQucm93LnVwZGF0ZShyZWNvcmQsIGlzRXZlbiwgdmlzaWJsZVRvcCk7Ci0gICAgICAg
ICAgICAgICAgZ3JhcGhSb3dFbGVtZW50LnJvdy51cGRhdGUocmVjb3JkLCBpc0V2ZW4sIHRoaXMu
X2NhbGN1bGF0b3IsIHdpZHRoLCB0aGlzLl9leHBhbmRPZmZzZXQsIGkpOworICAgICAgICAgICAg
ICAgIGdyYXBoUm93RWxlbWVudC5yb3cudXBkYXRlKHJlY29yZCwgaXNFdmVuLCB0aGlzLl9jYWxj
dWxhdG9yLCB0aGlzLl9leHBhbmRPZmZzZXQsIGkpOwogCiAgICAgICAgICAgICAgICAgbGlzdFJv
d0VsZW1lbnQgPSBsaXN0Um93RWxlbWVudC5uZXh0U2libGluZzsKICAgICAgICAgICAgICAgICBn
cmFwaFJvd0VsZW1lbnQgPSBncmFwaFJvd0VsZW1lbnQubmV4dFNpYmxpbmc7CkBAIC02NTYsMTcg
KzY1NywxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIHRoaXMuc3BsaXRWaWV3LnNpZGViYXJSZXNpemVyRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0
aGlzLnNpZGViYXJFbGVtZW50LmNsaWVudEhlaWdodCArICJweCI7CiAgICAgICAgIC8vIFJlc2Vy
dmUgc29tZSByb29tIGZvciBleHBhbmQgLyBjb2xsYXBzZSBjb250cm9scyB0byB0aGUgbGVmdCBm
b3IgcmVjb3JkcyB0aGF0IHN0YXJ0IGF0IDBtcy4KICAgICAgICAgaWYgKHVwZGF0ZUJvdW5kYXJp
ZXMpCi0gICAgICAgICAgICB0aGlzLl90aW1lbGluZUdyaWQudXBkYXRlRGl2aWRlcnModHJ1ZSwg
dGhpcy5fY2FsY3VsYXRvciwgdGhpcy50aW1lbGluZVBhZGRpbmdMZWZ0KTsKKyAgICAgICAgICAg
IHRoaXMuX3RpbWVsaW5lR3JpZC51cGRhdGVEaXZpZGVycyh0aGlzLl9jYWxjdWxhdG9yKTsKICAg
ICAgICAgdGhpcy5fYWRqdXN0U2Nyb2xsUG9zaXRpb24oKHJlY29yZHNJbldpbmRvdy5sZW5ndGgg
KyAxKSAqIHJvd0hlaWdodCk7CiAKICAgICAgICAgcmV0dXJuIHJlY29yZHNJbldpbmRvdy5sZW5n
dGg7CiAgICAgfSwKIAotICAgIGdldCB0aW1lbGluZVBhZGRpbmdMZWZ0KCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiAhdGhpcy5fb3ZlcnZpZXdQYW5lLndpbmRvd0xlZnQoKSA/IHRoaXMuX2V4cGFu
ZE9mZnNldCA6IDA7Ci0gICAgfSwKLQogICAgIF9hZGp1c3RTY3JvbGxQb3NpdGlvbjogZnVuY3Rp
b24odG90YWxIZWlnaHQpCiAgICAgewogICAgICAgICAvLyBQcmV2ZW50IHRoZSBjb250YWluZXIg
ZnJvbSBiZWluZyBzY3JvbGxlZCBvZmYgdGhlIGVuZC4KQEAgLTczNSw5ICs3MzEsMjAgQEAgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rv
ci5QYW5lbC5wcm90b3R5cGU7CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVDYWxjdWxhdG9yID0gZnVu
Y3Rpb24obW9kZWwpCiB7CiAgICAgdGhpcy5fbW9kZWwgPSBtb2RlbDsKKworICAgIHRoaXMuX21p
bldpZHRoID0gNTsKKyAgICB0aGlzLl9ib3JkZXJXaWR0aCA9IDQ7CiB9CiAKIFdlYkluc3BlY3Rv
ci5UaW1lbGluZUNhbGN1bGF0b3IucHJvdG90eXBlID0geworICAgIC8qKgorICAgICAqIEBwYXJh
bSB7bnVtYmVyfSB0aW1lCisgICAgICovCisgICAgY29tcHV0ZVBvc2l0aW9uOiBmdW5jdGlvbih0
aW1lKQorICAgIHsKKyAgICAgICAgcmV0dXJuICh0aW1lIC0gdGhpcy5taW5pbXVtQm91bmRhcnkp
IC8gdGhpcy5ib3VuZGFyeVNwYW4gKiB0aGlzLl93b3JraW5nQXJlYSArIHRoaXMucGFkZGluZ0xl
ZnQ7CisgICAgfSwKKwogICAgIGNvbXB1dGVCYXJHcmFwaFBlcmNlbnRhZ2VzOiBmdW5jdGlvbihy
ZWNvcmQpCiAgICAgewogICAgICAgICB2YXIgc3RhcnQgPSAocmVjb3JkLnN0YXJ0VGltZSAtIHRo
aXMubWluaW11bUJvdW5kYXJ5KSAvIHRoaXMuYm91bmRhcnlTcGFuICogMTAwOwpAQCAtNzQ3LDE5
ICs3NTQsMTYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQ2FsY3VsYXRvci5wcm90b3R5cGUgPSB7
CiAgICAgICAgIHJldHVybiB7c3RhcnQ6IHN0YXJ0LCBlbmQ6IGVuZCwgZW5kV2l0aENoaWxkcmVu
OiBlbmRXaXRoQ2hpbGRyZW4sIGNwdVdpZHRoOiBjcHVXaWR0aH07CiAgICAgfSwKIAotICAgIGNv
bXB1dGVCYXJHcmFwaFdpbmRvd1Bvc2l0aW9uOiBmdW5jdGlvbihyZWNvcmQsIGNsaWVudFdpZHRo
KQorICAgIGNvbXB1dGVCYXJHcmFwaFdpbmRvd1Bvc2l0aW9uOiBmdW5jdGlvbihyZWNvcmQpCiAg
ICAgewotICAgICAgICBjb25zdCBtaW5XaWR0aCA9IDU7Ci0gICAgICAgIGNvbnN0IGJvcmRlcldp
ZHRoID0gNDsKLSAgICAgICAgdmFyIHdvcmtpbmdBcmVhID0gY2xpZW50V2lkdGggLSBtaW5XaWR0
aCAtIGJvcmRlcldpZHRoOwogICAgICAgICB2YXIgcGVyY2VudGFnZXMgPSB0aGlzLmNvbXB1dGVC
YXJHcmFwaFBlcmNlbnRhZ2VzKHJlY29yZCk7CiAKLSAgICAgICAgdmFyIGxlZnQgPSBwZXJjZW50
YWdlcy5zdGFydCAvIDEwMCAqIHdvcmtpbmdBcmVhOwotICAgICAgICB2YXIgd2lkdGggPSAocGVy
Y2VudGFnZXMuZW5kIC0gcGVyY2VudGFnZXMuc3RhcnQpIC8gMTAwICogd29ya2luZ0FyZWEgKyBt
aW5XaWR0aDsKLSAgICAgICAgdmFyIHdpZHRoV2l0aENoaWxkcmVuID0gIChwZXJjZW50YWdlcy5l
bmRXaXRoQ2hpbGRyZW4gLSBwZXJjZW50YWdlcy5zdGFydCkgLyAxMDAgKiB3b3JraW5nQXJlYTsK
LSAgICAgICAgdmFyIGNwdVdpZHRoID0gcGVyY2VudGFnZXMuY3B1V2lkdGggLyAxMDAgKiB3b3Jr
aW5nQXJlYSArIG1pbldpZHRoOworICAgICAgICB2YXIgbGVmdCA9IHRoaXMuY29tcHV0ZVBvc2l0
aW9uKHJlY29yZC5zdGFydFRpbWUpOworICAgICAgICB2YXIgd2lkdGggPSAocGVyY2VudGFnZXMu
ZW5kIC0gcGVyY2VudGFnZXMuc3RhcnQpIC8gMTAwICogdGhpcy5fd29ya2luZ0FyZWEgKyB0aGlz
Ll9taW5XaWR0aDsKKyAgICAgICAgdmFyIHdpZHRoV2l0aENoaWxkcmVuID0gIChwZXJjZW50YWdl
cy5lbmRXaXRoQ2hpbGRyZW4gLSBwZXJjZW50YWdlcy5zdGFydCkgLyAxMDAgKiB0aGlzLl93b3Jr
aW5nQXJlYTsKKyAgICAgICAgdmFyIGNwdVdpZHRoID0gcGVyY2VudGFnZXMuY3B1V2lkdGggLyAx
MDAgKiB0aGlzLl93b3JraW5nQXJlYSArIHRoaXMuX21pbldpZHRoOwogICAgICAgICBpZiAocGVy
Y2VudGFnZXMuZW5kV2l0aENoaWxkcmVuID4gcGVyY2VudGFnZXMuZW5kKQotICAgICAgICAgICAg
d2lkdGhXaXRoQ2hpbGRyZW4gKz0gYm9yZGVyV2lkdGggKyBtaW5XaWR0aDsKKyAgICAgICAgICAg
IHdpZHRoV2l0aENoaWxkcmVuICs9IHRoaXMuX2JvcmRlcldpZHRoICsgdGhpcy5fbWluV2lkdGg7
CiAgICAgICAgIHJldHVybiB7bGVmdDogbGVmdCwgd2lkdGg6IHdpZHRoLCB3aWR0aFdpdGhDaGls
ZHJlbjogd2lkdGhXaXRoQ2hpbGRyZW4sIGNwdVdpZHRoOiBjcHVXaWR0aH07CiAgICAgfSwKIApA
QCAtNzcwLDYgKzc3NCwxNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVDYWxjdWxhdG9yLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgdGhpcy5ib3VuZGFyeVNwYW4gPSB0aGlzLm1heGltdW1Cb3VuZGFy
eSAtIHRoaXMubWluaW11bUJvdW5kYXJ5OwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge251bWJlcn0gcGFkZGluZ0xlZnQKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gY2xpZW50V2lk
dGgKKyAgICAgKi8KKyAgICBzZXREaXNwbGF5V2luZG93OiBmdW5jdGlvbihwYWRkaW5nTGVmdCwg
Y2xpZW50V2lkdGgpCisgICAgeworICAgICAgICB0aGlzLl93b3JraW5nQXJlYSA9IGNsaWVudFdp
ZHRoIC0gdGhpcy5fbWluV2lkdGggLSB0aGlzLl9ib3JkZXJXaWR0aCAtIHBhZGRpbmdMZWZ0Owor
ICAgICAgICB0aGlzLnBhZGRpbmdMZWZ0ID0gcGFkZGluZ0xlZnQ7CisgICAgfSwKKwogICAgIGZv
cm1hdFRpbWU6IGZ1bmN0aW9uKHZhbHVlKQogICAgIHsKICAgICAgICAgcmV0dXJuIE51bWJlci5z
ZWNvbmRzVG9TdHJpbmcodmFsdWUgKyB0aGlzLm1pbmltdW1Cb3VuZGFyeSAtIHRoaXMuX21vZGVs
Lm1pbmltdW1SZWNvcmRUaW1lKCkpOwpAQCAtODY2LDE4ICs4ODAsMTggQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkR3JhcGhSb3cgPSBmdW5jdGlvbihncmFwaENvbnRhaW5lciwgc2NoZWR1
bGVSZWZyZXNoKQogfQogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRHcmFwaFJvdy5wcm90
b3R5cGUgPSB7Ci0gICAgdXBkYXRlOiBmdW5jdGlvbihyZWNvcmQsIGlzRXZlbiwgY2FsY3VsYXRv
ciwgY2xpZW50V2lkdGgsIGV4cGFuZE9mZnNldCwgaW5kZXgpCisgICAgdXBkYXRlOiBmdW5jdGlv
bihyZWNvcmQsIGlzRXZlbiwgY2FsY3VsYXRvciwgZXhwYW5kT2Zmc2V0LCBpbmRleCkKICAgICB7
CiAgICAgICAgIHRoaXMuX3JlY29yZCA9IHJlY29yZDsKICAgICAgICAgdGhpcy5lbGVtZW50LmNs
YXNzTmFtZSA9ICJ0aW1lbGluZS1ncmFwaC1zaWRlIHRpbWVsaW5lLWNhdGVnb3J5LSIgKyByZWNv
cmQuY2F0ZWdvcnkubmFtZSArIChpc0V2ZW4gPyAiIGV2ZW4iIDogIiIpOwotICAgICAgICB2YXIg
YmFyUG9zaXRpb24gPSBjYWxjdWxhdG9yLmNvbXB1dGVCYXJHcmFwaFdpbmRvd1Bvc2l0aW9uKHJl
Y29yZCwgY2xpZW50V2lkdGggLSBleHBhbmRPZmZzZXQpOwotICAgICAgICB0aGlzLl9iYXJXaXRo
Q2hpbGRyZW5FbGVtZW50LnN0eWxlLmxlZnQgPSBiYXJQb3NpdGlvbi5sZWZ0ICsgZXhwYW5kT2Zm
c2V0ICsgInB4IjsKKyAgICAgICAgdmFyIGJhclBvc2l0aW9uID0gY2FsY3VsYXRvci5jb21wdXRl
QmFyR3JhcGhXaW5kb3dQb3NpdGlvbihyZWNvcmQpOworICAgICAgICB0aGlzLl9iYXJXaXRoQ2hp
bGRyZW5FbGVtZW50LnN0eWxlLmxlZnQgPSBiYXJQb3NpdGlvbi5sZWZ0ICsgInB4IjsKICAgICAg
ICAgdGhpcy5fYmFyV2l0aENoaWxkcmVuRWxlbWVudC5zdHlsZS53aWR0aCA9IGJhclBvc2l0aW9u
LndpZHRoV2l0aENoaWxkcmVuICsgInB4IjsKLSAgICAgICAgdGhpcy5fYmFyRWxlbWVudC5zdHls
ZS5sZWZ0ID0gYmFyUG9zaXRpb24ubGVmdCArIGV4cGFuZE9mZnNldCArICJweCI7CisgICAgICAg
IHRoaXMuX2JhckVsZW1lbnQuc3R5bGUubGVmdCA9IGJhclBvc2l0aW9uLmxlZnQgKyAicHgiOwog
ICAgICAgICB0aGlzLl9iYXJFbGVtZW50LnN0eWxlLndpZHRoID0gIGJhclBvc2l0aW9uLndpZHRo
ICsgInB4IjsKLSAgICAgICAgdGhpcy5fYmFyQ3B1RWxlbWVudC5zdHlsZS5sZWZ0ID0gYmFyUG9z
aXRpb24ubGVmdCArIGV4cGFuZE9mZnNldCArICJweCI7CisgICAgICAgIHRoaXMuX2JhckNwdUVs
ZW1lbnQuc3R5bGUubGVmdCA9IGJhclBvc2l0aW9uLmxlZnQgKyAicHgiOwogICAgICAgICB0aGlz
Ll9iYXJDcHVFbGVtZW50LnN0eWxlLndpZHRoID0gYmFyUG9zaXRpb24uY3B1V2lkdGggKyAicHgi
OwotICAgICAgICB0aGlzLl9leHBhbmRFbGVtZW50Ll91cGRhdGUocmVjb3JkLCBpbmRleCwgYmFy
UG9zaXRpb24pOworICAgICAgICB0aGlzLl9leHBhbmRFbGVtZW50Ll91cGRhdGUocmVjb3JkLCBp
bmRleCwgYmFyUG9zaXRpb24ubGVmdCAtIGV4cGFuZE9mZnNldCwgYmFyUG9zaXRpb24ud2lkdGgp
OwogICAgIH0sCiAKICAgICBfb25DbGljazogZnVuY3Rpb24oZXZlbnQpCkBAIC05MDksMTMgKzky
MywxMyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVFeHBhbmRhYmxlRWxlbWVudCA9IGZ1bmN0aW9u
KGNvbnRhaW5lcikKIH0KIAogV2ViSW5zcGVjdG9yLlRpbWVsaW5lRXhwYW5kYWJsZUVsZW1lbnQu
cHJvdG90eXBlID0gewotICAgIF91cGRhdGU6IGZ1bmN0aW9uKHJlY29yZCwgaW5kZXgsIGJhclBv
c2l0aW9uKQorICAgIF91cGRhdGU6IGZ1bmN0aW9uKHJlY29yZCwgaW5kZXgsIGxlZnQsIHdpZHRo
KQogICAgIHsKICAgICAgICAgY29uc3Qgcm93SGVpZ2h0ID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UGFuZWwucm93SGVpZ2h0OwogICAgICAgICBpZiAocmVjb3JkLnZpc2libGVDaGlsZHJlbkNvdW50
IHx8IHJlY29yZC5pbnZpc2libGVDaGlsZHJlbkNvdW50KSB7CiAgICAgICAgICAgICB0aGlzLl9l
bGVtZW50LnN0eWxlLnRvcCA9IGluZGV4ICogcm93SGVpZ2h0ICsgInB4IjsKLSAgICAgICAgICAg
IHRoaXMuX2VsZW1lbnQuc3R5bGUubGVmdCA9IGJhclBvc2l0aW9uLmxlZnQgKyAicHgiOwotICAg
ICAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS53aWR0aCA9IE1hdGgubWF4KDEyLCBiYXJQb3Np
dGlvbi53aWR0aCArIDI1KSArICJweCI7CisgICAgICAgICAgICB0aGlzLl9lbGVtZW50LnN0eWxl
LmxlZnQgPSBsZWZ0ICsgInB4IjsKKyAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUud2lk
dGggPSBNYXRoLm1heCgxMiwgd2lkdGggKyAyNSkgKyAicHgiOwogICAgICAgICAgICAgaWYgKCFy
ZWNvcmQuY29sbGFwc2VkKSB7CiAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS5o
ZWlnaHQgPSAocmVjb3JkLnZpc2libGVDaGlsZHJlbkNvdW50ICsgMSkgKiByb3dIZWlnaHQgKyAi
cHgiOwogICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuYWRkU3R5bGVDbGFzcygidGltZWxp
bmUtZXhwYW5kYWJsZS1leHBhbmRlZCIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135528</attachid>
            <date>2012-04-04 01:44:50 -0700</date>
            <delta_ts>2012-04-04 02:09:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83122-20120404124449.patch</filename>
            <type>text/plain</type>
            <size>18381</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE3NWM1ZmE5NzYzNmQ3
MGRlNjc5NTQxYmExOThjZmE3ZTg4MGI3My4uYjA1M2RmZWQ1YTY3MGExNGRkMzQ3MjVhNzEzNjUz
YzYyMWViZjYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA0LTA0ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogbWFrZSBwYWRkaW5nIGFuZCBjbGllbnQgd2luZG93IHdpZHRoIHBhcnQgb2YgdGltZWxpbmUg
Y2FsY3VsYXRvcidzIHN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MzEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIC0gcHJlc2VydmUgd2luZG93IHdpZHRoIGFuZCBwYWRkaW5nIHdpdGhpbiBUaW1l
bGluZUNhbGN1bGF0b3IKKyAgICAgICAgLSByZWx5IG9uIGNhbGN1bGF0b3IgdG8gYWRkIGV4cGFu
c2lvbiBhcnJvdyBwYWRkaW5nCisgICAgICAgIC0gYWRkIFRpbWVsaW5lQ2FsY3VsYXRvcjo6Y29t
cHV0ZVBvc2l0aW9uKCkgZm9yIGNvbXB1dGluZyBzaW5nbGUgcG9zaXRpb24gKG5vdCBlbnRpcmUg
YmFyIGRpbWVuc2lvbnMpCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL01lbW9yeVN0
YXRpc3RpY3MuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTWVtb3J5U3RhdGlzdGljcy5wcm90
b3R5cGUuX3JlZnJlc2hEaXZpZGVycyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZUdyaWQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVHcmlkLnByb3Rv
dHlwZS51cGRhdGVEaXZpZGVycyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1l
bGluZU92ZXJ2aWV3UGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3UGFuZS5wcm90b3R5cGUuX3VwZGF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlld1BhbmUucHJvdG90eXBlLl9yZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlld0NhbGN1bGF0b3IucHJvdG90eXBlLmNvbXB1dGVQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0NhbGN1bGF0b3IucHJvdG90eXBl
LnNldERpc3BsYXlXaW5kb3cpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxp
bmVQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlw
ZS5fdXBkYXRlRXZlbnREaXZpZGVycyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
YW5lbC5wcm90b3R5cGUuX3JlZnJlc2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UGFuZWwucHJvdG90eXBlLl9yZWZyZXNoUmVjb3Jkcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVDYWxjdWxhdG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZUNhbGN1
bGF0b3IucHJvdG90eXBlLmNvbXB1dGVQb3NpdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVDYWxjdWxhdG9yLnByb3RvdHlwZS5jb21wdXRlQmFyR3JhcGhXaW5kb3dQb3NpdGlv
bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVDYWxjdWxhdG9yLnByb3RvdHlwZS5z
ZXREaXNwbGF5V2luZG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEdy
YXBoUm93LnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
RXhwYW5kYWJsZUVsZW1lbnQucHJvdG90eXBlLl91cGRhdGUpOgorCiAyMDEyLTA0LTAzICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogcmVtb3ZlIHVudXNlZCByZWZlcmVuY2VzIHRvIFRpbWVsaW5lQ2FsY3VsYXRvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9NZW1vcnlTdGF0aXN0aWNz
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9NZW1vcnlTdGF0aXN0aWNz
LmpzCmluZGV4IGMzZmRmYjUwNjdjNDRhM2IwNzI4MjczMGViYWExY2Y5OTRhMzg3ODEuLjZiOWE3
YmZhODVkZTdkYjg0Zjk2NTc2YzUxZDNkYWE5ZmU4NzMyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWVtb3J5U3RhdGlzdGljcy5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL01lbW9yeVN0YXRpc3RpY3MuanMKQEAgLTQy
MCw3ICs0MjAsNyBAQCBXZWJJbnNwZWN0b3IuTWVtb3J5U3RhdGlzdGljcy5wcm90b3R5cGUgPSB7
CiAKICAgICBfcmVmcmVzaERpdmlkZXJzOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB0aGlz
Ll90aW1lbGluZUdyaWQudXBkYXRlRGl2aWRlcnModHJ1ZSwgdGhpcy5fdGltZWxpbmVQYW5lbC5j
YWxjdWxhdG9yLCB0aGlzLl90aW1lbGluZVBhbmVsLnRpbWVsaW5lUGFkZGluZ0xlZnQpOworICAg
ICAgICB0aGlzLl90aW1lbGluZUdyaWQudXBkYXRlRGl2aWRlcnModGhpcy5fdGltZWxpbmVQYW5l
bC5jYWxjdWxhdG9yKTsKICAgICB9LAogCiAgICAgX3NldFZlcnRpY2FsQ2xpcDogZnVuY3Rpb24o
b3JpZ2luWSwgaGVpZ2h0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZUdyaWQuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lR3JpZC5qcwppbmRleCBlZmY0MGZlZTk5NmY2YmIxY2Q4ZmJhYjBjZTYxNjUx
OWRjNzhmYWJkLi4yY2JmYjQ5MjhjNmZkODA5OTk2ZDI1ZjVhYTI0M2VhMjFlYTE0NjY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lR3JpZC5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lR3JpZC5q
cwpAQCAtNjMsMjYgKzYzLDE5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZUdyaWQucHJvdG90eXBl
ID0gewogICAgICAgICByZXR1cm4gdGhpcy5fZGl2aWRlcnNFbGVtZW50OwogICAgIH0sCiAKLSAg
ICAvKioKLSAgICAgKiBAcGFyYW0ge251bWJlcj19IHBhZGRpbmdMZWZ0Ci0gICAgICovCi0gICAg
dXBkYXRlRGl2aWRlcnM6IGZ1bmN0aW9uKGZvcmNlLCBjYWxjdWxhdG9yLCBwYWRkaW5nTGVmdCkK
KyAgICB1cGRhdGVEaXZpZGVyczogZnVuY3Rpb24oY2FsY3VsYXRvcikKICAgICB7Ci0gICAgICAg
IHZhciBkaXZpZGVyQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuX2RpdmlkZXJzRWxlbWVudC5vZmZz
ZXRXaWR0aCAvIDY0KTsKKyAgICAgICAgdmFyIGRpdmlkZXJzRWxlbWVudENsaWVudFdpZHRoID0g
dGhpcy5fZGl2aWRlcnNFbGVtZW50LmNsaWVudFdpZHRoOworICAgICAgICB2YXIgZGl2aWRlckNv
dW50ID0gTWF0aC5yb3VuZChkaXZpZGVyc0VsZW1lbnRDbGllbnRXaWR0aCAvIDY0KTsKICAgICAg
ICAgdmFyIHNsaWNlID0gY2FsY3VsYXRvci5ib3VuZGFyeVNwYW4gLyBkaXZpZGVyQ291bnQ7Ci0g
ICAgICAgIGlmICghZm9yY2UgJiYgdGhpcy5fY3VycmVudERpdmlkZXJTbGljZSA9PT0gc2xpY2Up
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgaWYgKHR5cGVvZiBwYWRkaW5n
TGVmdCAhPT0gIm51bWJlciIpCi0gICAgICAgICAgICBwYWRkaW5nTGVmdCA9IDA7CiAgICAgICAg
IHRoaXMuX2N1cnJlbnREaXZpZGVyU2xpY2UgPSBzbGljZTsKIAogICAgICAgICAvLyBSZXVzZSBk
aXZpZGVyIGVsZW1lbnRzIGFuZCBsYWJlbHMuCiAgICAgICAgIHZhciBkaXZpZGVyID0gdGhpcy5f
ZGl2aWRlcnNFbGVtZW50LmZpcnN0Q2hpbGQ7CiAgICAgICAgIHZhciBkaXZpZGVyTGFiZWxCYXIg
PSB0aGlzLl9kaXZpZGVyc0xhYmVsQmFyRWxlbWVudC5maXJzdENoaWxkOwogCi0gICAgICAgIHZh
ciBkaXZpZGVyc0VsZW1lbnRDbGllbnRXaWR0aCA9IHRoaXMuX2RpdmlkZXJzRWxlbWVudC5jbGll
bnRXaWR0aDsKLSAgICAgICAgdmFyIGNsaWVudFdpZHRoID0gZGl2aWRlcnNFbGVtZW50Q2xpZW50
V2lkdGggLSBwYWRkaW5nTGVmdDsKKyAgICAgICAgdmFyIHBhZGRpbmdMZWZ0ID0gY2FsY3VsYXRv
ci5wYWRkaW5nTGVmdDsKICAgICAgICAgZm9yICh2YXIgaSA9IHBhZGRpbmdMZWZ0ID8gMCA6IDE7
IGkgPD0gZGl2aWRlckNvdW50OyArK2kpIHsKICAgICAgICAgICAgIGlmICghZGl2aWRlcikgewog
ICAgICAgICAgICAgICAgIGRpdmlkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
QEAgLTExNCw3ICsxMDcsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVHcmlkLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgICAgICBkaXZpZGVyTGFiZWxCYXIucmVtb3ZlU3R5bGVDbGFzcygibGFz
dCIpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICB2YXIgbGVmdCA9IHBhZGRpbmdMZWZ0
ICsgY2xpZW50V2lkdGggKiAoaSAvIGRpdmlkZXJDb3VudCk7CisgICAgICAgICAgICB2YXIgbGVm
dCA9IGNhbGN1bGF0b3IuY29tcHV0ZVBvc2l0aW9uKGNhbGN1bGF0b3IubWluaW11bUJvdW5kYXJ5
ICsgc2xpY2UgKiBpKTsKICAgICAgICAgICAgIHZhciBwZXJjZW50TGVmdCA9IDEwMCAqIGxlZnQg
LyBkaXZpZGVyc0VsZW1lbnRDbGllbnRXaWR0aDsKICAgICAgICAgICAgIHRoaXMuX3NldERpdmlk
ZXJBbmRCYXJMZWZ0KGRpdmlkZXIsIGRpdmlkZXJMYWJlbEJhciwgcGVyY2VudExlZnQpOwogCkBA
IC0xNTgsOSArMTUxLDEwIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZUdyaWQucHJvdG90eXBlID0g
ewogICAgIGFkZEV2ZW50RGl2aWRlcnM6IGZ1bmN0aW9uKGRpdmlkZXJzKQogICAgIHsKICAgICAg
ICAgdGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX2V2ZW50RGl2aWRlcnNFbGVtZW50KTsK
LSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXZpZGVycy5sZW5ndGg7ICsraSkKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXZpZGVycy5sZW5ndGg7ICsraSkgewogICAgICAgICAg
ICAgaWYgKGRpdmlkZXJzW2ldKQogICAgICAgICAgICAgICAgIHRoaXMuX2V2ZW50RGl2aWRlcnNF
bGVtZW50LmFwcGVuZENoaWxkKGRpdmlkZXJzW2ldKTsKKyAgICAgICAgfQogICAgICAgICB0aGlz
LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZXZlbnREaXZpZGVyc0VsZW1lbnQpOwogICAgIH0s
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxp
bmVPdmVydmlld1BhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rp
bWVsaW5lT3ZlcnZpZXdQYW5lLmpzCmluZGV4IDUwNDg1MmIzN2RkZjQwY2VmNjFlNmY0ZGJjOWJh
OTA1Y2MwYTI4ZWQuLjQxYmYxMjE1ZmE1NzZiNjQ1NDhmMDA0YWY1NDNkMzI4NTk1MzFkMjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVPdmVy
dmlld1BhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1l
bGluZU92ZXJ2aWV3UGFuZS5qcwpAQCAtMTk2LDYgKzE5Niw5IEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZU92ZXJ2aWV3UGFuZS5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBkZWxldGUgdGhp
cy5fcmVmcmVzaFRpbWVvdXQ7CiAKKyAgICAgICAgdGhpcy5fb3ZlcnZpZXdDYWxjdWxhdG9yLnNl
dFdpbmRvdyh0aGlzLl9tb2RlbC5taW5pbXVtUmVjb3JkVGltZSgpLCB0aGlzLl9tb2RlbC5tYXhp
bXVtUmVjb3JkVGltZSgpKTsKKyAgICAgICAgdGhpcy5fb3ZlcnZpZXdDYWxjdWxhdG9yLnNldERp
c3BsYXlXaW5kb3coMCwgdGhpcy5fb3ZlcnZpZXdDb250YWluZXIuY2xpZW50V2lkdGgpOworCiAg
ICAgICAgIGlmICh0aGlzLl9oZWFwR3JhcGgudmlzaWJsZSkKICAgICAgICAgICAgIHRoaXMuX2hl
YXBHcmFwaC51cGRhdGUoKTsKICAgICAgICAgZWxzZSBpZiAodGhpcy5fdmVydGljYWxPdmVydmll
dykKQEAgLTIwMyw4ICsyMDYsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUu
cHJvdG90eXBlID0gewogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0aGlzLl91cGRhdGVDYXRl
Z29yeVN0cmlwcygpOwogCi0gICAgICAgIHRoaXMuX292ZXJ2aWV3Q2FsY3VsYXRvci5zZXRXaW5k
b3codGhpcy5fbW9kZWwubWluaW11bVJlY29yZFRpbWUoKSwgdGhpcy5fbW9kZWwubWF4aW11bVJl
Y29yZFRpbWUoKSk7Ci0gICAgICAgIHRoaXMuX292ZXJ2aWV3R3JpZC51cGRhdGVEaXZpZGVycyh0
cnVlLCB0aGlzLl9vdmVydmlld0NhbGN1bGF0b3IpOworICAgICAgICB0aGlzLl9vdmVydmlld0dy
aWQudXBkYXRlRGl2aWRlcnModGhpcy5fb3ZlcnZpZXdDYWxjdWxhdG9yKTsKICAgICAgICAgdGhp
cy5fdXBkYXRlRXZlbnREaXZpZGVycygpOwogICAgIH0sCiAKQEAgLTIxNyw3ICsyMTksNiBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgdGltZWxpbmVzW2NhdGVnb3J5XSA9IFtdOwogICAgICAgICAgICAgdGhpcy5fY2F0ZWdvcnlH
cmFwaHNbY2F0ZWdvcnldLmNsZWFyQ2h1bmtzKCk7CiAgICAgICAgIH0KLSAgICAgICAgdGhpcy5f
b3ZlcnZpZXdDYWxjdWxhdG9yLnNldFdpbmRvdyh0aGlzLl9tb2RlbC5taW5pbXVtUmVjb3JkVGlt
ZSgpLCB0aGlzLl9tb2RlbC5tYXhpbXVtUmVjb3JkVGltZSgpKTsKIAogICAgICAgICAvLyBDcmVh
dGUgc3BhcnNlIGFycmF5cyB3aXRoIDEwMSBjZWxscyBlYWNoIHRvIGZpbGwgd2l0aCBjaHVua3Mg
Zm9yIGEgZ2l2ZW4gY2F0ZWdvcnkuCiAgICAgICAgIGZ1bmN0aW9uIG1hcmtQZXJjZW50YWdlc0Zv
clJlY29yZChyZWNvcmQpCkBAIC0zMTAsOCArMzExLDggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
T3ZlcnZpZXdQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fd2luZG93RW5kVGltZSA9
IEluZmluaXR5OwogICAgICAgICB0aGlzLl9vdmVydmlld1dpbmRvdy5yZXNldCgpOwogICAgICAg
ICB0aGlzLl9vdmVydmlld0NhbGN1bGF0b3IucmVzZXQoKTsKLSAgICAgICAgdGhpcy5fb3ZlcnZp
ZXdHcmlkLnVwZGF0ZURpdmlkZXJzKHRydWUsIHRoaXMuX292ZXJ2aWV3Q2FsY3VsYXRvcik7CiAg
ICAgICAgIHRoaXMuX2V2ZW50RGl2aWRlcnMgPSBbXTsKKyAgICAgICAgdGhpcy5fb3ZlcnZpZXdH
cmlkLnVwZGF0ZURpdmlkZXJzKHRoaXMuX292ZXJ2aWV3Q2FsY3VsYXRvcik7CiAgICAgICAgIGlm
ICh0aGlzLl92ZXJ0aWNhbE92ZXJ2aWV3KQogICAgICAgICAgICAgdGhpcy5fdmVydGljYWxPdmVy
dmlldy5yZXNldCgpOwogICAgICAgICB0aGlzLl91cGRhdGUoKTsKQEAgLTU4Niw2ICs1ODcsMTQg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdDYWxjdWxhdG9yID0gZnVuY3Rpb24oKQog
fQogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0NhbGN1bGF0b3IucHJvdG90eXBlID0g
eworICAgIC8qKgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lCisgICAgICovCisgICAgY29t
cHV0ZVBvc2l0aW9uOiBmdW5jdGlvbih0aW1lKQorICAgIHsKKyAgICAgICAgcmV0dXJuICh0aW1l
IC0gdGhpcy5taW5pbXVtQm91bmRhcnkpIC8gdGhpcy5ib3VuZGFyeVNwYW4gKiB0aGlzLl93b3Jr
aW5nQXJlYSArIHRoaXMucGFkZGluZ0xlZnQ7CisgICAgfSwKKwogICAgIGNvbXB1dGVCYXJHcmFw
aFBlcmNlbnRhZ2VzOiBmdW5jdGlvbihyZWNvcmQpCiAgICAgewogICAgICAgICB2YXIgc3RhcnQg
PSAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuc3RhcnRUaW1lSW5TZWNvbmRzKHJlY29yZCkg
LSB0aGlzLm1pbmltdW1Cb3VuZGFyeSkgLyB0aGlzLmJvdW5kYXJ5U3BhbiAqIDEwMDsKQEAgLTYw
NCw2ICs2MTMsMTYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdDYWxjdWxhdG9yLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5ib3VuZGFyeVNwYW4gPSB0aGlzLm1heGltdW1Cb3Vu
ZGFyeSAtIHRoaXMubWluaW11bUJvdW5kYXJ5OwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBA
cGFyYW0ge251bWJlcn0gcGFkZGluZ0xlZnQKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gY2xpZW50
V2lkdGgKKyAgICAgKi8KKyAgICBzZXREaXNwbGF5V2luZG93OiBmdW5jdGlvbihwYWRkaW5nTGVm
dCwgY2xpZW50V2lkdGgpCisgICAgeworICAgICAgICB0aGlzLl93b3JraW5nQXJlYSA9IGNsaWVu
dFdpZHRoIC0gcGFkZGluZ0xlZnQ7CisgICAgICAgIHRoaXMucGFkZGluZ0xlZnQgPSBwYWRkaW5n
TGVmdDsKKyAgICB9LAorCiAgICAgcmVzZXQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRo
aXMuc2V0V2luZG93KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lUGFuZWwuanMKaW5kZXggMzNhZWUxZDIwN2RkZWJhODI5ZTYyMjAzYWU2YjVh
MzMwZDI2Y2YyYy4uOWE5MTRlMWZkZTI3YjM3YzZmYzFkZjUwMzVhZDk4NjBiZWE4YjQ5NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVs
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5l
bC5qcwpAQCAtMzI5LDcgKzMyOSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3Rv
dHlwZSA9IHsKICAgICBfdXBkYXRlRXZlbnREaXZpZGVyczogZnVuY3Rpb24oKQogICAgIHsKICAg
ICAgICAgdGhpcy5fdGltZWxpbmVHcmlkLnJlbW92ZUV2ZW50RGl2aWRlcnMoKTsKLSAgICAgICAg
dmFyIGNsaWVudFdpZHRoID0gdGhpcy5fZ3JhcGhSb3dzRWxlbWVudC5vZmZzZXRXaWR0aCAtIHRo
aXMuX2V4cGFuZE9mZnNldDsKKyAgICAgICAgdmFyIGNsaWVudFdpZHRoID0gdGhpcy5fZ3JhcGhS
b3dzRWxlbWVudC5vZmZzZXRXaWR0aDsKICAgICAgICAgdmFyIGRpdmlkZXJzID0gW107CiAgICAg
ICAgIC8vIE9ubHkgc2hvdyBmcmFtZXMgaWYgd2UncmUgem9vbWVkIGNsb3NlIGVub3VnaCAtLSBv
dGhlcndpc2UgdGhleSdkIGJlIHRvIGRlbnNlIHRvIGJlIHVzZWZ1bCBhbmQgd2lsbCBvdmVycG9w
dWxhdGUgRE9NLgogICAgICAgICB2YXIgc2hvd0ZyYW1lcyA9IHRoaXMuY2FsY3VsYXRvci5ib3Vu
ZGFyeVNwYW4gPCAxLjAgJiYgdGhpcy5fdmVydGljYWxPdmVydmlldzsKQEAgLTMzOCwxMyArMzM4
LDEzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICAgIHZhciByZWNvcmQgPSB0aGlzLl90aW1lU3RhbXBSZWNvcmRzW2ldOwogICAgICAgICAgICAg
aWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBl
LkJlZ2luRnJhbWUgJiYgIXNob3dGcmFtZXMpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgICAgICB2YXIgcG9zaXRpb25zID0gdGhpcy5fY2FsY3VsYXRvci5jb21wdXRlQmFyR3Jh
cGhXaW5kb3dQb3NpdGlvbihyZWNvcmQsIGNsaWVudFdpZHRoKTsKKyAgICAgICAgICAgIHZhciBw
b3NpdGlvbnMgPSB0aGlzLl9jYWxjdWxhdG9yLmNvbXB1dGVCYXJHcmFwaFdpbmRvd1Bvc2l0aW9u
KHJlY29yZCk7CiAgICAgICAgICAgICB2YXIgZGl2aWRlclBvc2l0aW9uID0gTWF0aC5yb3VuZChw
b3NpdGlvbnMubGVmdCk7CiAgICAgICAgICAgICBpZiAoZGl2aWRlclBvc2l0aW9uIDwgMCB8fCBk
aXZpZGVyUG9zaXRpb24gPj0gY2xpZW50V2lkdGggfHwgZGl2aWRlcnNbZGl2aWRlclBvc2l0aW9u
XSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIHZhciBkaXZpZGVyID0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuY3JlYXRlRXZlbnREaXZpZGVy
KHJlY29yZCk7CiAgICAgICAgICAgICBkaXZpZGVyLnRpdGxlID0gcmVjb3JkLnRpdGxlOwotICAg
ICAgICAgICAgZGl2aWRlci5zdHlsZS5sZWZ0ID0gKGRpdmlkZXJQb3NpdGlvbiArIHRoaXMuX2V4
cGFuZE9mZnNldCkgKyAicHgiOworICAgICAgICAgICAgZGl2aWRlci5zdHlsZS5sZWZ0ID0gZGl2
aWRlclBvc2l0aW9uICsgInB4IjsKICAgICAgICAgICAgIGRpdmlkZXJzW2RpdmlkZXJQb3NpdGlv
bl0gPSBkaXZpZGVyOwogICAgICAgICB9CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lR3JpZC5hZGRF
dmVudERpdmlkZXJzKGRpdmlkZXJzKTsKQEAgLTUzOCw4ICs1MzgsOCBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fcmVm
cmVzaFRpbWVvdXQ7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIXRoaXMuX2JvdW5kYXJpZXNB
cmVWYWxpZCkKLSAgICAgICAgICAgIHRoaXMuX2NhbGN1bGF0b3Iuc2V0V2luZG93KHRoaXMuX292
ZXJ2aWV3UGFuZS53aW5kb3dTdGFydFRpbWUoKSwgdGhpcy5fb3ZlcnZpZXdQYW5lLndpbmRvd0Vu
ZFRpbWUoKSk7CisgICAgICAgIHRoaXMuX2NhbGN1bGF0b3Iuc2V0V2luZG93KHRoaXMuX292ZXJ2
aWV3UGFuZS53aW5kb3dTdGFydFRpbWUoKSwgdGhpcy5fb3ZlcnZpZXdQYW5lLndpbmRvd0VuZFRp
bWUoKSk7CisgICAgICAgIHRoaXMuX2NhbGN1bGF0b3Iuc2V0RGlzcGxheVdpbmRvdyghdGhpcy5f
b3ZlcnZpZXdQYW5lLndpbmRvd0xlZnQoKSA/IHRoaXMuX2V4cGFuZE9mZnNldCA6IDAsIHRoaXMu
X2dyYXBoUm93c0VsZW1lbnQuY2xpZW50V2lkdGgpOwogCiAgICAgICAgIHZhciByZWNvcmRzSW5X
aW5kb3dDb3VudCA9IHRoaXMuX3JlZnJlc2hSZWNvcmRzKCF0aGlzLl9ib3VuZGFyaWVzQXJlVmFs
aWQpOwogICAgICAgICB0aGlzLl91cGRhdGVSZWNvcmRzQ291bnRlcihyZWNvcmRzSW5XaW5kb3dD
b3VudCk7CkBAIC02MTksNyArNjE5LDggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJv
dG90eXBlID0gewogICAgICAgICAgICAgICAgIHZhciBsYXN0Q2hpbGRJbmRleCA9IGkgKyByZWNv
cmQudmlzaWJsZUNoaWxkcmVuQ291bnQ7CiAgICAgICAgICAgICAgICAgaWYgKGxhc3RDaGlsZElu
ZGV4ID49IHN0YXJ0SW5kZXggJiYgbGFzdENoaWxkSW5kZXggPCBlbmRJbmRleCkgewogICAgICAg
ICAgICAgICAgICAgICB2YXIgZXhwYW5kRWxlbWVudCA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxp
bmVFeHBhbmRhYmxlRWxlbWVudCh0aGlzLl9leHBhbmRFbGVtZW50cyk7Ci0gICAgICAgICAgICAg
ICAgICAgIGV4cGFuZEVsZW1lbnQuX3VwZGF0ZShyZWNvcmQsIGksIHRoaXMuX2NhbGN1bGF0b3Iu
Y29tcHV0ZUJhckdyYXBoV2luZG93UG9zaXRpb24ocmVjb3JkLCB3aWR0aCAtIHRoaXMuX2V4cGFu
ZE9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICB2YXIgcG9zaXRpb25zID0gdGhpcy5fY2Fs
Y3VsYXRvci5jb21wdXRlQmFyR3JhcGhXaW5kb3dQb3NpdGlvbihyZWNvcmQpOworICAgICAgICAg
ICAgICAgICAgICBleHBhbmRFbGVtZW50Ll91cGRhdGUocmVjb3JkLCBpLCBwb3NpdGlvbnMubGVm
dCAtIHRoaXMuX2V4cGxhbmRPZmZzZXQsIHBvc2l0aW9ucy53aWR0aCk7CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWxpc3RSb3dF
bGVtZW50KSB7CkBAIC02MzIsNyArNjMzLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIGxpc3RS
b3dFbGVtZW50LnJvdy51cGRhdGUocmVjb3JkLCBpc0V2ZW4sIHZpc2libGVUb3ApOwotICAgICAg
ICAgICAgICAgIGdyYXBoUm93RWxlbWVudC5yb3cudXBkYXRlKHJlY29yZCwgaXNFdmVuLCB0aGlz
Ll9jYWxjdWxhdG9yLCB3aWR0aCwgdGhpcy5fZXhwYW5kT2Zmc2V0LCBpKTsKKyAgICAgICAgICAg
ICAgICBncmFwaFJvd0VsZW1lbnQucm93LnVwZGF0ZShyZWNvcmQsIGlzRXZlbiwgdGhpcy5fY2Fs
Y3VsYXRvciwgdGhpcy5fZXhwYW5kT2Zmc2V0LCBpKTsKIAogICAgICAgICAgICAgICAgIGxpc3RS
b3dFbGVtZW50ID0gbGlzdFJvd0VsZW1lbnQubmV4dFNpYmxpbmc7CiAgICAgICAgICAgICAgICAg
Z3JhcGhSb3dFbGVtZW50ID0gZ3JhcGhSb3dFbGVtZW50Lm5leHRTaWJsaW5nOwpAQCAtNjU2LDE3
ICs2NTcsMTIgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0gewogICAg
ICAgICB0aGlzLnNwbGl0Vmlldy5zaWRlYmFyUmVzaXplckVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0g
dGhpcy5zaWRlYmFyRWxlbWVudC5jbGllbnRIZWlnaHQgKyAicHgiOwogICAgICAgICAvLyBSZXNl
cnZlIHNvbWUgcm9vbSBmb3IgZXhwYW5kIC8gY29sbGFwc2UgY29udHJvbHMgdG8gdGhlIGxlZnQg
Zm9yIHJlY29yZHMgdGhhdCBzdGFydCBhdCAwbXMuCiAgICAgICAgIGlmICh1cGRhdGVCb3VuZGFy
aWVzKQotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVHcmlkLnVwZGF0ZURpdmlkZXJzKHRydWUs
IHRoaXMuX2NhbGN1bGF0b3IsIHRoaXMudGltZWxpbmVQYWRkaW5nTGVmdCk7CisgICAgICAgICAg
ICB0aGlzLl90aW1lbGluZUdyaWQudXBkYXRlRGl2aWRlcnModGhpcy5fY2FsY3VsYXRvcik7CiAg
ICAgICAgIHRoaXMuX2FkanVzdFNjcm9sbFBvc2l0aW9uKChyZWNvcmRzSW5XaW5kb3cubGVuZ3Ro
ICsgMSkgKiByb3dIZWlnaHQpOwogCiAgICAgICAgIHJldHVybiByZWNvcmRzSW5XaW5kb3cubGVu
Z3RoOwogICAgIH0sCiAKLSAgICBnZXQgdGltZWxpbmVQYWRkaW5nTGVmdCgpCi0gICAgewotICAg
ICAgICByZXR1cm4gIXRoaXMuX292ZXJ2aWV3UGFuZS53aW5kb3dMZWZ0KCkgPyB0aGlzLl9leHBh
bmRPZmZzZXQgOiAwOwotICAgIH0sCi0KICAgICBfYWRqdXN0U2Nyb2xsUG9zaXRpb246IGZ1bmN0
aW9uKHRvdGFsSGVpZ2h0KQogICAgIHsKICAgICAgICAgLy8gUHJldmVudCB0aGUgY29udGFpbmVy
IGZyb20gYmVpbmcgc2Nyb2xsZWQgb2ZmIHRoZSBlbmQuCkBAIC03MzUsOSArNzMxLDIwIEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0
b3IuUGFuZWwucHJvdG90eXBlOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lQ2FsY3VsYXRvciA9IGZ1
bmN0aW9uKG1vZGVsKQogewogICAgIHRoaXMuX21vZGVsID0gbW9kZWw7CisKKyAgICB0aGlzLl9t
aW5XaWR0aCA9IDU7CisgICAgdGhpcy5fYm9yZGVyV2lkdGggPSA0OwogfQogCiBXZWJJbnNwZWN0
b3IuVGltZWxpbmVDYWxjdWxhdG9yLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge251bWJlcn0gdGltZQorICAgICAqLworICAgIGNvbXB1dGVQb3NpdGlvbjogZnVuY3Rpb24o
dGltZSkKKyAgICB7CisgICAgICAgIHJldHVybiAodGltZSAtIHRoaXMubWluaW11bUJvdW5kYXJ5
KSAvIHRoaXMuYm91bmRhcnlTcGFuICogdGhpcy5fd29ya2luZ0FyZWEgKyB0aGlzLnBhZGRpbmdM
ZWZ0OworICAgIH0sCisKICAgICBjb21wdXRlQmFyR3JhcGhQZXJjZW50YWdlczogZnVuY3Rpb24o
cmVjb3JkKQogICAgIHsKICAgICAgICAgdmFyIHN0YXJ0ID0gKHJlY29yZC5zdGFydFRpbWUgLSB0
aGlzLm1pbmltdW1Cb3VuZGFyeSkgLyB0aGlzLmJvdW5kYXJ5U3BhbiAqIDEwMDsKQEAgLTc0Nywx
OSArNzU0LDE2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZUNhbGN1bGF0b3IucHJvdG90eXBlID0g
ewogICAgICAgICByZXR1cm4ge3N0YXJ0OiBzdGFydCwgZW5kOiBlbmQsIGVuZFdpdGhDaGlsZHJl
bjogZW5kV2l0aENoaWxkcmVuLCBjcHVXaWR0aDogY3B1V2lkdGh9OwogICAgIH0sCiAKLSAgICBj
b21wdXRlQmFyR3JhcGhXaW5kb3dQb3NpdGlvbjogZnVuY3Rpb24ocmVjb3JkLCBjbGllbnRXaWR0
aCkKKyAgICBjb21wdXRlQmFyR3JhcGhXaW5kb3dQb3NpdGlvbjogZnVuY3Rpb24ocmVjb3JkKQog
ICAgIHsKLSAgICAgICAgY29uc3QgbWluV2lkdGggPSA1OwotICAgICAgICBjb25zdCBib3JkZXJX
aWR0aCA9IDQ7Ci0gICAgICAgIHZhciB3b3JraW5nQXJlYSA9IGNsaWVudFdpZHRoIC0gbWluV2lk
dGggLSBib3JkZXJXaWR0aDsKICAgICAgICAgdmFyIHBlcmNlbnRhZ2VzID0gdGhpcy5jb21wdXRl
QmFyR3JhcGhQZXJjZW50YWdlcyhyZWNvcmQpOwogCi0gICAgICAgIHZhciBsZWZ0ID0gcGVyY2Vu
dGFnZXMuc3RhcnQgLyAxMDAgKiB3b3JraW5nQXJlYTsKLSAgICAgICAgdmFyIHdpZHRoID0gKHBl
cmNlbnRhZ2VzLmVuZCAtIHBlcmNlbnRhZ2VzLnN0YXJ0KSAvIDEwMCAqIHdvcmtpbmdBcmVhICsg
bWluV2lkdGg7Ci0gICAgICAgIHZhciB3aWR0aFdpdGhDaGlsZHJlbiA9ICAocGVyY2VudGFnZXMu
ZW5kV2l0aENoaWxkcmVuIC0gcGVyY2VudGFnZXMuc3RhcnQpIC8gMTAwICogd29ya2luZ0FyZWE7
Ci0gICAgICAgIHZhciBjcHVXaWR0aCA9IHBlcmNlbnRhZ2VzLmNwdVdpZHRoIC8gMTAwICogd29y
a2luZ0FyZWEgKyBtaW5XaWR0aDsKKyAgICAgICAgdmFyIGxlZnQgPSB0aGlzLmNvbXB1dGVQb3Np
dGlvbihyZWNvcmQuc3RhcnRUaW1lKTsKKyAgICAgICAgdmFyIHdpZHRoID0gKHBlcmNlbnRhZ2Vz
LmVuZCAtIHBlcmNlbnRhZ2VzLnN0YXJ0KSAvIDEwMCAqIHRoaXMuX3dvcmtpbmdBcmVhICsgdGhp
cy5fbWluV2lkdGg7CisgICAgICAgIHZhciB3aWR0aFdpdGhDaGlsZHJlbiA9ICAocGVyY2VudGFn
ZXMuZW5kV2l0aENoaWxkcmVuIC0gcGVyY2VudGFnZXMuc3RhcnQpIC8gMTAwICogdGhpcy5fd29y
a2luZ0FyZWE7CisgICAgICAgIHZhciBjcHVXaWR0aCA9IHBlcmNlbnRhZ2VzLmNwdVdpZHRoIC8g
MTAwICogdGhpcy5fd29ya2luZ0FyZWEgKyB0aGlzLl9taW5XaWR0aDsKICAgICAgICAgaWYgKHBl
cmNlbnRhZ2VzLmVuZFdpdGhDaGlsZHJlbiA+IHBlcmNlbnRhZ2VzLmVuZCkKLSAgICAgICAgICAg
IHdpZHRoV2l0aENoaWxkcmVuICs9IGJvcmRlcldpZHRoICsgbWluV2lkdGg7CisgICAgICAgICAg
ICB3aWR0aFdpdGhDaGlsZHJlbiArPSB0aGlzLl9ib3JkZXJXaWR0aCArIHRoaXMuX21pbldpZHRo
OwogICAgICAgICByZXR1cm4ge2xlZnQ6IGxlZnQsIHdpZHRoOiB3aWR0aCwgd2lkdGhXaXRoQ2hp
bGRyZW46IHdpZHRoV2l0aENoaWxkcmVuLCBjcHVXaWR0aDogY3B1V2lkdGh9OwogICAgIH0sCiAK
QEAgLTc3MCw2ICs3NzQsMTYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQ2FsY3VsYXRvci5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuYm91bmRhcnlTcGFuID0gdGhpcy5tYXhpbXVtQm91bmRh
cnkgLSB0aGlzLm1pbmltdW1Cb3VuZGFyeTsKICAgICB9LAogCisgICAgLyoqCisgICAgICogQHBh
cmFtIHtudW1iZXJ9IHBhZGRpbmdMZWZ0CisgICAgICogQHBhcmFtIHtudW1iZXJ9IGNsaWVudFdp
ZHRoCisgICAgICovCisgICAgc2V0RGlzcGxheVdpbmRvdzogZnVuY3Rpb24ocGFkZGluZ0xlZnQs
IGNsaWVudFdpZHRoKQorICAgIHsKKyAgICAgICAgdGhpcy5fd29ya2luZ0FyZWEgPSBjbGllbnRX
aWR0aCAtIHRoaXMuX21pbldpZHRoIC0gdGhpcy5fYm9yZGVyV2lkdGggLSBwYWRkaW5nTGVmdDsK
KyAgICAgICAgdGhpcy5wYWRkaW5nTGVmdCA9IHBhZGRpbmdMZWZ0OworICAgIH0sCisKICAgICBm
b3JtYXRUaW1lOiBmdW5jdGlvbih2YWx1ZSkKICAgICB7CiAgICAgICAgIHJldHVybiBOdW1iZXIu
c2Vjb25kc1RvU3RyaW5nKHZhbHVlICsgdGhpcy5taW5pbXVtQm91bmRhcnkgLSB0aGlzLl9tb2Rl
bC5taW5pbXVtUmVjb3JkVGltZSgpKTsKQEAgLTg2NiwxOCArODgwLDE4IEBAIFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZEdyYXBoUm93ID0gZnVuY3Rpb24oZ3JhcGhDb250YWluZXIsIHNjaGVk
dWxlUmVmcmVzaCkKIH0KIAogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkR3JhcGhSb3cucHJv
dG90eXBlID0gewotICAgIHVwZGF0ZTogZnVuY3Rpb24ocmVjb3JkLCBpc0V2ZW4sIGNhbGN1bGF0
b3IsIGNsaWVudFdpZHRoLCBleHBhbmRPZmZzZXQsIGluZGV4KQorICAgIHVwZGF0ZTogZnVuY3Rp
b24ocmVjb3JkLCBpc0V2ZW4sIGNhbGN1bGF0b3IsIGV4cGFuZE9mZnNldCwgaW5kZXgpCiAgICAg
ewogICAgICAgICB0aGlzLl9yZWNvcmQgPSByZWNvcmQ7CiAgICAgICAgIHRoaXMuZWxlbWVudC5j
bGFzc05hbWUgPSAidGltZWxpbmUtZ3JhcGgtc2lkZSB0aW1lbGluZS1jYXRlZ29yeS0iICsgcmVj
b3JkLmNhdGVnb3J5Lm5hbWUgKyAoaXNFdmVuID8gIiBldmVuIiA6ICIiKTsKLSAgICAgICAgdmFy
IGJhclBvc2l0aW9uID0gY2FsY3VsYXRvci5jb21wdXRlQmFyR3JhcGhXaW5kb3dQb3NpdGlvbihy
ZWNvcmQsIGNsaWVudFdpZHRoIC0gZXhwYW5kT2Zmc2V0KTsKLSAgICAgICAgdGhpcy5fYmFyV2l0
aENoaWxkcmVuRWxlbWVudC5zdHlsZS5sZWZ0ID0gYmFyUG9zaXRpb24ubGVmdCArIGV4cGFuZE9m
ZnNldCArICJweCI7CisgICAgICAgIHZhciBiYXJQb3NpdGlvbiA9IGNhbGN1bGF0b3IuY29tcHV0
ZUJhckdyYXBoV2luZG93UG9zaXRpb24ocmVjb3JkKTsKKyAgICAgICAgdGhpcy5fYmFyV2l0aENo
aWxkcmVuRWxlbWVudC5zdHlsZS5sZWZ0ID0gYmFyUG9zaXRpb24ubGVmdCArICJweCI7CiAgICAg
ICAgIHRoaXMuX2JhcldpdGhDaGlsZHJlbkVsZW1lbnQuc3R5bGUud2lkdGggPSBiYXJQb3NpdGlv
bi53aWR0aFdpdGhDaGlsZHJlbiArICJweCI7Ci0gICAgICAgIHRoaXMuX2JhckVsZW1lbnQuc3R5
bGUubGVmdCA9IGJhclBvc2l0aW9uLmxlZnQgKyBleHBhbmRPZmZzZXQgKyAicHgiOworICAgICAg
ICB0aGlzLl9iYXJFbGVtZW50LnN0eWxlLmxlZnQgPSBiYXJQb3NpdGlvbi5sZWZ0ICsgInB4IjsK
ICAgICAgICAgdGhpcy5fYmFyRWxlbWVudC5zdHlsZS53aWR0aCA9ICBiYXJQb3NpdGlvbi53aWR0
aCArICJweCI7Ci0gICAgICAgIHRoaXMuX2JhckNwdUVsZW1lbnQuc3R5bGUubGVmdCA9IGJhclBv
c2l0aW9uLmxlZnQgKyBleHBhbmRPZmZzZXQgKyAicHgiOworICAgICAgICB0aGlzLl9iYXJDcHVF
bGVtZW50LnN0eWxlLmxlZnQgPSBiYXJQb3NpdGlvbi5sZWZ0ICsgInB4IjsKICAgICAgICAgdGhp
cy5fYmFyQ3B1RWxlbWVudC5zdHlsZS53aWR0aCA9IGJhclBvc2l0aW9uLmNwdVdpZHRoICsgInB4
IjsKLSAgICAgICAgdGhpcy5fZXhwYW5kRWxlbWVudC5fdXBkYXRlKHJlY29yZCwgaW5kZXgsIGJh
clBvc2l0aW9uKTsKKyAgICAgICAgdGhpcy5fZXhwYW5kRWxlbWVudC5fdXBkYXRlKHJlY29yZCwg
aW5kZXgsIGJhclBvc2l0aW9uLmxlZnQgLSBleHBhbmRPZmZzZXQsIGJhclBvc2l0aW9uLndpZHRo
KTsKICAgICB9LAogCiAgICAgX29uQ2xpY2s6IGZ1bmN0aW9uKGV2ZW50KQpAQCAtOTA5LDEzICs5
MjMsMTMgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lRXhwYW5kYWJsZUVsZW1lbnQgPSBmdW5jdGlv
bihjb250YWluZXIpCiB9CiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZUV4cGFuZGFibGVFbGVtZW50
LnByb3RvdHlwZSA9IHsKLSAgICBfdXBkYXRlOiBmdW5jdGlvbihyZWNvcmQsIGluZGV4LCBiYXJQ
b3NpdGlvbikKKyAgICBfdXBkYXRlOiBmdW5jdGlvbihyZWNvcmQsIGluZGV4LCBsZWZ0LCB3aWR0
aCkKICAgICB7CiAgICAgICAgIGNvbnN0IHJvd0hlaWdodCA9IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVBhbmVsLnJvd0hlaWdodDsKICAgICAgICAgaWYgKHJlY29yZC52aXNpYmxlQ2hpbGRyZW5Db3Vu
dCB8fCByZWNvcmQuaW52aXNpYmxlQ2hpbGRyZW5Db3VudCkgewogICAgICAgICAgICAgdGhpcy5f
ZWxlbWVudC5zdHlsZS50b3AgPSBpbmRleCAqIHJvd0hlaWdodCArICJweCI7Ci0gICAgICAgICAg
ICB0aGlzLl9lbGVtZW50LnN0eWxlLmxlZnQgPSBiYXJQb3NpdGlvbi5sZWZ0ICsgInB4IjsKLSAg
ICAgICAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUud2lkdGggPSBNYXRoLm1heCgxMiwgYmFyUG9z
aXRpb24ud2lkdGggKyAyNSkgKyAicHgiOworICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5zdHls
ZS5sZWZ0ID0gbGVmdCArICJweCI7CisgICAgICAgICAgICB0aGlzLl9lbGVtZW50LnN0eWxlLndp
ZHRoID0gTWF0aC5tYXgoMTIsIHdpZHRoICsgMjUpICsgInB4IjsKICAgICAgICAgICAgIGlmICgh
cmVjb3JkLmNvbGxhcHNlZCkgewogICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUu
aGVpZ2h0ID0gKHJlY29yZC52aXNpYmxlQ2hpbGRyZW5Db3VudCArIDEpICogcm93SGVpZ2h0ICsg
InB4IjsKICAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LmFkZFN0eWxlQ2xhc3MoInRpbWVs
aW5lLWV4cGFuZGFibGUtZXhwYW5kZWQiKTsK
</data>
<flag name="review"
          id="140058"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>