<?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>168813</bug_id>
          
          <creation_ts>2017-02-23 18:12:32 -0800</creation_ts>
          <short_desc>New sampling algorithm shows very few points when zoomed out</short_desc>
          <delta_ts>2017-02-23 22:58:52 -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>Perf Dashboard</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>168693</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonlee</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1280607</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-02-23 18:12:32 -0800</bug_when>
    <thetext>Turns out the new sampling algorithm introduced in https://trac.webkit.org/changeset/212853
can hide vast majority of points when zoomed out to a large time range
because then almost all points are fall below the threshold.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280647</commentid>
    <comment_count>1</comment_count>
      <attachid>302634</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-02-23 20:37:32 -0800</bug_when>
    <thetext>Created attachment 302634
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280662</commentid>
    <comment_count>2</comment_count>
      <attachid>302634</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-02-23 21:23:19 -0800</bug_when>
    <thetext>Comment on attachment 302634
Fixes the bug

Nope, this still has a pathology where if the graph becomes more dense because bots become healthier, cycle time improved, etc... then we can simply drop an entire section of data points :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280682</commentid>
    <comment_count>3</comment_count>
      <attachid>302645</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-02-23 22:43:55 -0800</bug_when>
    <thetext>Created attachment 302645
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280686</commentid>
    <comment_count>4</comment_count>
      <attachid>302645</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-02-23 22:55:14 -0800</bug_when>
    <thetext>Comment on attachment 302645
Fixes the bug

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280692</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-02-23 22:58:52 -0800</bug_when>
    <thetext>Committed r212946: &lt;http://trac.webkit.org/changeset/212946&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302634</attachid>
            <date>2017-02-23 20:37:32 -0800</date>
            <delta_ts>2017-02-23 21:23:19 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-168813-20170223203443.patch</filename>
            <type>text/plain</type>
            <size>13961</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyOTM4KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM5IEBACisyMDE3LTAyLTIzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIE5ldyBzYW1wbGluZyBhbGdvcml0aG0gc2hvd3MgdmVyeSBmZXcgcG9pbnRzIHdo
ZW4gem9vbWVkIG91dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY4ODEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiB0aGUgY2hhcnQgaXMgem9vbWVkIG91dCB0byBhIGxhcmdlIHRpbWUgaW50ZXJ2
YWwsIHRoZSBuZXcgc2FtcGxpbmcgYWxnb3JpdGhtIGludHJvZHVjZWQgaW4gcjIxMjg1MworICAg
ICAgICBjYW4gZW5kIHVwIGhpZGluZyBtb3N0IG9mIHRoZSBkYXRhIHBvaW50cyBiZWNhdXNlIHRo
ZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHByZWNlZGluZyBwb2ludCdzIHRpbWUgYW5kCisgICAg
ICAgIHRoZSBzdWNjZWVkaW5nIHBvaW50J3MgdGltZSBvZiBtb3N0IHBvaW50cyB3aWxsIGJlIGJl
bG93IHRoZSB0aHJlc2hvbGQgd2UgY29tcHV0ZWQuCisKKyAgICAgICAgSW5zdGVhZCwgcmFuayBl
YWNoIGRhdGEgcG9pbnQgYmFzZWQgb24gdGhlIGFmb3JlbWVudGlvbmVkIHRpbWUgaW50ZXJ2YWwg
ZGlmZmVyZW5jZSwgYW5kIHBpY2sgdGhlIGZpcnN0IE0KKyAgICAgICAgZGF0YSBwb2ludHMgd2hl
biBNIGRhdGEgcG9pbnRzIGNhbiBiZSBzaG93bi4KKworICAgICAgICBUaGlzIG1ha2VzIHRoZSBu
ZXcgYWxnb3JpdGhtIGJlaGF2ZSBsaWtlIG91ciBvbGQgYWxnb3JpdGhtIHdoaWxlIGtlZXBpbmcg
aXQgc3RhYmxlIHN0aWxsLiBOb3RlIHRoYXQgdGhpcworICAgICAgICBhbGdvcml0aG0gc3RpbGwg
Ymlhc2VzIGRhdGEgcG9pbnRzIHdpdGhvdXQgYSBjbG9zZSBuZWlnaGJvcmluZyBwb2ludCBidXQg
dGhpcyBzZWVtcyB0byB3b3JrIG91dCBpbiBwcmFjdGljZQorICAgICAgICBiZWNhdXNlIHN1Y2gg
YSBwb2ludCB0ZW5kcyB0byBiZSBhbiBpbXBvcnRhbnQgc2FtcGxlIGFueXdheSwgYW5kIHdlIGRv
bid0IGhhdmUgYSBsb3Qgb2Ygc3BhY2UgYmV0d2VlbgorICAgICAgICBkYXRhIHBvaW50cyBzaW5j
ZSB3ZSBhaW0gdG8gc2hvdyBhYm91dCBvbmUgcG9pbnQgcGVyIHBpeGVsLgorCisgICAgICAgICog
YnJvd3Nlci10ZXN0cy9pbmRleC5odG1sOgorICAgICAgICAoQ2FudmFzVGVzdC5jYW52YXNDb250
YWluc0NvbG9yKTogRXh0cmFjdGVkIGZyb20gb25lIG9mIHRoZSB0ZXN0IGNhc2VzIGFuZCBnZW5l
cmFsaXplZC4gUmV0dXJucyB0cnVlIHdoZW4KKyAgICAgICAgdGhlIHNwZWNpZmllZCByZWdpb24g
b2YgdGhlIGNhbnZhcyBjb250YWlucyBhIHNwZWNpZmllZCBjb2xvciAoYWxwaGEgaXMgb3B0aW9u
YWwpLgorICAgICAgICAqIGJyb3dzZXItdGVzdHMvdGltZS1zZXJpZXMtY2hhcnQtdGVzdHMuanM6
IEFkZGVkIGEgdGVzdCBjYXNlIGZvciBzYW1wbGluZy4gSXQgY2hlY2tzIHRoYXQgc2FtcGxpbmcg
aGFwcGVucworICAgICAgICBhbmQgdGhhdCB3ZSBhbHdheXMgc2hvdyBzb21lIGRhdGEgcG9pbnQg
ZXZlbiB3aGVuIHpvb21lZCBvdXQgdG8gYSBsYXJnZSB0aW1lIGludGVydmFsLgorICAgICAgICAo
Y3JlYXRlQ2hhcnRXaXRoU2FtcGxlQ2x1c3Rlcik6CisgICAgICAgICogcHVibGljL3YzL2NvbXBv
bmVudHMvaW50ZXJhY3RpdmUtdGltZS1zZXJpZXMtY2hhcnQuanM6CisgICAgICAgIChJbnRlcmFj
dGl2ZVRpbWVTZXJpZXNDaGFydC5wcm90b3R5cGUuX3NhbXBsZVRpbWVTZXJpZXMpOgorICAgICAg
ICAqIHB1YmxpYy92My9jb21wb25lbnRzL3RpbWUtc2VyaWVzLWNoYXJ0LmpzOgorICAgICAgICAo
VGltZVNlcmllc0NoYXJ0LnByb3RvdHlwZS5fZW5zdXJlU2FtcGxlZFRpbWVTZXJpZXMpOiBNLCB0
aGUgbnVtYmVyIG9mIGRhdGEgcG9pbnRzIHdlIHBpY2sgbXVzdCBiZSBjb21wdXRlZAorICAgICAg
ICBiYXNlZCBvbiB0aGUgd2lkdGggb2YgZGF0YSBwb2ludHMgd2UncmUgYWJvdXQgdG8gZHJhdyBj
b25zdHJhaW5lZCBieSB0aGUgY2FudmFzIHNpemUuIGUuZy4gd2hlbiB0aGUgY2FudmFzCisgICAg
ICAgIGlzIG9ubHkgaGFsZiBmaWxsZWQsIHdlIHNob3VsZG4ndCBiZSBzaG93aW5nIHR3byBwb2lu
dHMgcGVyIHBpeGVsIGluIHRoZSBmaWxsZWQgcmVnaW9uLgorICAgICAgICAoVGltZVNlcmllc0No
YXJ0LnByb3RvdHlwZS5fc2FtcGxlVGltZVNlcmllcyk6IFJlZmluZWQgdGhlIGFsZ29yaXRobS4g
Rmlyc3QsIGNvbXB1dGUgdGhlIHRpbWUgZGlmZmVyZW5jZSBvcgorICAgICAgICB0aGUgcmFuayBm
b3IgZWFjaCBOIGRhdGEgcG9pbnRzLiBTb3J0IHRob3NlIHJhbmtzIGluIGRlc2NlbmRpbmcgb3Jk
ZXIgKGluIHRoZSBvcmRlciB3ZSBwcmVmZXIpLCBhbmQgaW5jbHVkZQorICAgICAgICBhbGwgZGF0
YSBwb2ludHMgYWJvdmUgdGhlIE0tdGggcmFuayBpbiB0aGUgc2FtcGxlLgorICAgICAgICAoVGlt
ZVNlcmllc0NoYXJ0LnByb3RvdHlwZS5jb21wdXRlVGltZUdyaWQpOiBSZXZlcnQgdGhlIGluYWR2
ZXJ0ZW50IGNoYW5nZSBpbiByMjEyOTM1LgorCiAyMDE3LTAyLTIzICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIxMjU0Mik6IE1ha2UgVGlt
ZVNlcmllc0NoYXJ0LmNvbXB1dGVUaW1lR3JpZCBzdG9wcyB4LWF4aXMgZ3JpZCBwcmVtYXR1cmVs
eQpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dzZXItdGVzdHMvaW5kZXguaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvYnJvd3Nlci10ZXN0cy9p
bmRleC5odG1sCShyZXZpc2lvbiAyMTI5MzgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
YnJvd3Nlci10ZXN0cy9pbmRleC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsNiArMTYzLDIz
IEBAIGNvbnN0IENhbnZhc1Rlc3QgPSB7CiAgICAgfSwKIAogICAgIGNhbnZhc0ltYWdlRGF0YShj
YW52YXMpIHsgcmV0dXJuIGNhbnZhc0ltYWdlRGF0YShjYW52YXMpOyB9LAorCisgICAgY2FudmFz
Q29udGFpbnNDb2xvcihjYW52YXMsIGNvbG9yLCByZWN0ID0ge30pCisgICAgeworICAgICAgICBj
b25zdCBjb250ZW50ID0gY2FudmFzLmdldENvbnRleHQoJzJkJykuZ2V0SW1hZ2VEYXRhKHJlY3Qu
eCB8fCAwLCByZWN0LnkgfHwgMCwgcmVjdC53aWR0aCB8fCBjYW52YXMud2lkdGgsIHJlY3QuaGVp
Z2h0IHx8IGNhbnZhcy5oZWlnaHQpOworICAgICAgICBsZXQgZm91bmQgPSBmYWxzZTsKKyAgICAg
ICAgY29uc3QgZGF0YSA9IGNvbnRlbnQuZGF0YTsKKyAgICAgICAgZm9yIChsZXQgc3RhcnRPZlBp
eGVsID0gMDsgc3RhcnRPZlBpeGVsIDwgZGF0YS5sZW5ndGg7IHN0YXJ0T2ZQaXhlbCArPSA0KSB7
CisgICAgICAgICAgICBsZXQgciA9IGRhdGFbc3RhcnRPZlBpeGVsXTsKKyAgICAgICAgICAgIGxl
dCBnID0gZGF0YVtzdGFydE9mUGl4ZWwgKyAxXTsKKyAgICAgICAgICAgIGxldCBiID0gZGF0YVtz
dGFydE9mUGl4ZWwgKyAyXTsKKyAgICAgICAgICAgIGxldCBhID0gZGF0YVtzdGFydE9mUGl4ZWwg
KyAzXTsKKyAgICAgICAgICAgIGlmIChyID09IGNvbG9yLnIgJiYgZyA9PSBjb2xvci5nICYmIGIg
PT0gY29sb3IuYiAmJiAoY29sb3IuYSA9PSB1bmRlZmluZWQgfHwgYSA9PSBjb2xvci5hKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfSwKKwogICAgIGV4cGVjdENhbnZhc2VzTWF0Y2goY2FudmFzMSwgY2FudmFzMikg
eyByZXR1cm4gY2FudmFzUmVmVGVzdChjYW52YXMxLCBjYW52YXMyLCB0cnVlKTsgfSwKICAgICBl
eHBlY3RDYW52YXNlc01pc21hdGNoKGNhbnZhczEsIGNhbnZhczIpIHsgcmV0dXJuIGNhbnZhc1Jl
ZlRlc3QoY2FudmFzMSwgY2FudmFzMiwgZmFsc2UpOyB9LAogfQpJbmRleDogV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL2Jyb3dzZXItdGVzdHMvdGltZS1zZXJpZXMtY2hhcnQtdGVzdHMuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dzZXItdGVzdHMvdGltZS1z
ZXJpZXMtY2hhcnQtdGVzdHMuanMJKHJldmlzaW9uIDIxMjkzOCkKKysrIFdlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9icm93c2VyLXRlc3RzL3RpbWUtc2VyaWVzLWNoYXJ0LXRlc3RzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC03Nyw5ICs3NywxMSBAQCBmdW5jdGlvbiBjcmVhdGVDaGFydFdpdGhTYW1w
bGVDbHVzdGVyKGNvCiAgICAgY29uc3QgY2hhcnQgPSBuZXcgVGltZVNlcmllc0NoYXJ0KFsKICAg
ICAgICAgewogICAgICAgICAgICAgdHlwZTogJ2N1cnJlbnQnLAorICAgICAgICAgICAgbGluZVN0
eWxlOiBvcHRpb25zLmxpbmVTdHlsZSB8fCAnIzY2NicsCiAgICAgICAgICAgICBtZWFzdXJlbWVu
dFNldDogTWVhc3VyZW1lbnRTZXQuZmluZFNldCgxLCAxLCAwKSwKICAgICAgICAgICAgIGludGVy
YWN0aXZlOiBvcHRpb25zLmludGVyYWN0aXZlIHx8IGZhbHNlLAotICAgICAgICAgICAgaW5jbHVk
ZU91dGxpZXJzOiBvcHRpb25zLmluY2x1ZGVPdXRsaWVycyB8fCBmYWxzZQorICAgICAgICAgICAg
aW5jbHVkZU91dGxpZXJzOiBvcHRpb25zLmluY2x1ZGVPdXRsaWVycyB8fCBmYWxzZSwKKyAgICAg
ICAgICAgIHNhbXBsZURhdGE6IG9wdGlvbnMuc2FtcGxlRGF0YSB8fCBmYWxzZSwKICAgICAgICAg
fV0sIGNoYXJ0T3B0aW9ucyk7CiAgICAgY29uc3QgZWxlbWVudCA9IGNoYXJ0LmVsZW1lbnQoKTsK
ICAgICBlbGVtZW50LnN0eWxlLndpZHRoID0gb3B0aW9ucy53aWR0aCB8fCAnMzAwcHgnOwpAQCAt
NTQxLDcgKzU0Myw2IEBAIGRlc2NyaWJlKCdUaW1lU2VyaWVzQ2hhcnQnLCAoKSA9PiB7CiAKICAg
ICAgICAgICAgICAgICBleHBlY3QoY2hhcnQuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2NhbnZh
cycpKS50by5iZShudWxsKTsKICAgICAgICAgICAgICAgICByZXR1cm4gd2FpdEZvckNvbXBvbmVu
dHNUb1JlbmRlcihjb250ZXh0KS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgY29u
c29sZS5sb2coJ2RvbmUnKQogICAgICAgICAgICAgICAgICAgICBleHBlY3QoY2hhcnQuY29udGVu
dCgpLnF1ZXJ5U2VsZWN0b3IoJ2NhbnZhcycpKS50by5ub3QuYmUobnVsbCk7CiAgICAgICAgICAg
ICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKQEAgLTgyOCwxOSArODI5LDUwIEBAIGRlc2NyaWJl
KCdUaW1lU2VyaWVzQ2hhcnQnLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIENhbnZhc1Rl
c3QuZXhwZWN0Q2FudmFzZXNNaXNtYXRjaChjYW52YXNXaXRob3V0WUF4aXMsIGNhbnZhc1dpdGhZ
QXhpczEpOwogICAgICAgICAgICAgICAgICAgICBDYW52YXNUZXN0LmV4cGVjdENhbnZhc2VzTWlz
bWF0Y2goY2FudmFzV2l0aFlBeGlzMSwgY2FudmFzV2l0aFlBeGlzMik7CiAKLSAgICAgICAgICAg
ICAgICAgICAgbGV0IGNvbnRlbnQxID0gQ2FudmFzVGVzdC5jYW52YXNJbWFnZURhdGEoY2FudmFz
V2l0aFlBeGlzMSk7Ci0gICAgICAgICAgICAgICAgICAgIGxldCBmb3VuZEdyaWRMaW5lID0gZmFs
c2U7Ci0gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHkgPSAwOyB5IDwgY29udGVudDEuaGVp
Z2h0OyB5KyspIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGxldCBlbmRPZlkgPSBjb250ZW50
MS53aWR0aCAqIDQgKiB5OwotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHIgPSBjb250ZW50
MS5kYXRhW2VuZE9mWSAtIDRdOwotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGcgPSBjb250
ZW50MS5kYXRhW2VuZE9mWSAtIDNdOwotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGIgPSBj
b250ZW50MS5kYXRhW2VuZE9mWSAtIDJdOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIg
PT0gMjA0ICYmIGcgPT0gMjA0ICYmIGIgPT0gMjA0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZm91bmRHcmlkTGluZSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICAgICAgZXhwZWN0KGZvdW5kR3JpZExpbmUpLnRvLmJlKHRydWUpOwor
ICAgICAgICAgICAgICAgICAgICBleHBlY3QoQ2FudmFzVGVzdC5jYW52YXNDb250YWluc0NvbG9y
KGNhbnZhc1dpdGhZQXhpczEsIHtyOiAyMDQsIGc6IDIwNCwgYjogMjA0fSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHt4OiBjYW52YXNXaXRoWUF4aXMxLndpZHRoIC0gMSwgd2lkdGg6IDEsIHk6
IDAsIGhlaWdodDogY2FudmFzV2l0aFlBeGlzMS5oZWlnaHR9KSkudG8uYmUodHJ1ZSk7CisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisKKyAgICAgICAg
aXQoJ3Nob3VsZCByZW5kZXIgdGhlIHNhbXBsZWQgdGltZSBzZXJpZXMnLCAoKSA9PiB7CisgICAg
ICAgICAgICBjb25zdCBjb250ZXh0ID0gbmV3IEJyb3dzaW5nQ29udGV4dCgpOworICAgICAgICAg
ICAgcmV0dXJuIGNvbnRleHQuaW1wb3J0U2NyaXB0cyhzY3JpcHRzLCAnQ29tcG9uZW50QmFzZScs
ICdUaW1lU2VyaWVzQ2hhcnQnLCAnSW50ZXJhY3RpdmVUaW1lU2VyaWVzQ2hhcnQnLCAnTWVhc3Vy
ZW1lbnRTZXQnLCAnTW9ja1JlbW90ZUFQSScpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAg
IGNvbnN0IGNoYXJ0V2l0aG91dFNhbXBsaW5nID0gY3JlYXRlQ2hhcnRXaXRoU2FtcGxlQ2x1c3Rl
cihjb250ZXh0LCB7fSwge2xpbmVTdHlsZTogJ3JnYigwLCAxMjgsIDI1NSknLCB3aWR0aDogJzEw
MHB4JywgaGVpZ2h0OiAnMTAwcHgnLCBzYW1wbGVEYXRhOiBmYWxzZX0pOworICAgICAgICAgICAg
ICAgIGNvbnN0IGNoYXJ0V2l0aFNhbXBsaW5nID0gY3JlYXRlQ2hhcnRXaXRoU2FtcGxlQ2x1c3Rl
cihjb250ZXh0LCB7fSwge2xpbmVTdHlsZTogJ3JnYigwLCAxMjgsIDI1NSknLCB3aWR0aDogJzEw
MHB4JywgaGVpZ2h0OiAnMTAwcHgnLCBzYW1wbGVEYXRhOiB0cnVlfSk7CisKKyAgICAgICAgICAg
ICAgICBjaGFydFdpdGhvdXRTYW1wbGluZy5zZXREb21haW4oc2FtcGxlQ2x1c3Rlci5zdGFydFRp
bWUsIHNhbXBsZUNsdXN0ZXIuZW5kVGltZSk7CisgICAgICAgICAgICAgICAgY2hhcnRXaXRob3V0
U2FtcGxpbmcuZmV0Y2hNZWFzdXJlbWVudFNldHMoKTsKKyAgICAgICAgICAgICAgICByZXNwb25k
V2l0aFNhbXBsZUNsdXN0ZXIoY29udGV4dC5zeW1ib2xzLk1vY2tSZW1vdGVBUEkucmVxdWVzdHNb
MF0pOworCisgICAgICAgICAgICAgICAgY2hhcnRXaXRoU2FtcGxpbmcuc2V0RG9tYWluKHNhbXBs
ZUNsdXN0ZXIuc3RhcnRUaW1lLCBzYW1wbGVDbHVzdGVyLmVuZFRpbWUpOworICAgICAgICAgICAg
ICAgIGNoYXJ0V2l0aFNhbXBsaW5nLmZldGNoTWVhc3VyZW1lbnRTZXRzKCk7CisKKyAgICAgICAg
ICAgICAgICBsZXQgY2FudmFzV2l0aFNhbXBsaW5nOworICAgICAgICAgICAgICAgIGxldCBjYW52
YXNXaXRob3V0U2FtcGxpbmc7CisgICAgICAgICAgICAgICAgcmV0dXJuIHdhaXRGb3JDb21wb25l
bnRzVG9SZW5kZXIoY29udGV4dCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGNh
bnZhc1dpdGhvdXRTYW1wbGluZyA9IGNoYXJ0V2l0aG91dFNhbXBsaW5nLmNvbnRlbnQoKS5xdWVy
eVNlbGVjdG9yKCdjYW52YXMnKTsKKyAgICAgICAgICAgICAgICAgICAgY2FudmFzV2l0aFNhbXBs
aW5nID0gY2hhcnRXaXRoU2FtcGxpbmcuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2NhbnZhcycp
OworCisgICAgICAgICAgICAgICAgICAgIENhbnZhc1Rlc3QuZXhwZWN0Q2FudmFzZXNNYXRjaChj
YW52YXNXaXRoU2FtcGxpbmcsIGNhbnZhc1dpdGhvdXRTYW1wbGluZyk7CisgICAgICAgICAgICAg
ICAgICAgIGV4cGVjdChDYW52YXNUZXN0LmNhbnZhc0NvbnRhaW5zQ29sb3IoY2FudmFzV2l0aG91
dFNhbXBsaW5nLCB7cjogMCwgZzogMTI4LCBiOiAyNTV9KSkudG8uYmUodHJ1ZSk7CisgICAgICAg
ICAgICAgICAgICAgIGV4cGVjdChDYW52YXNUZXN0LmNhbnZhc0NvbnRhaW5zQ29sb3IoY2FudmFz
V2l0aFNhbXBsaW5nLCB7cjogMCwgZzogMTI4LCBiOiAyNTV9KSkudG8uYmUodHJ1ZSk7CisKKyAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZGlmZiA9IHNhbXBsZUNsdXN0ZXIuZW5kVGltZSAtIHNh
bXBsZUNsdXN0ZXIuc3RhcnRUaW1lOworICAgICAgICAgICAgICAgICAgICBjaGFydFdpdGhvdXRT
YW1wbGluZy5zZXREb21haW4oc2FtcGxlQ2x1c3Rlci5zdGFydFRpbWUgLSAyICogZGlmZiwgc2Ft
cGxlQ2x1c3Rlci5lbmRUaW1lKTsKKyAgICAgICAgICAgICAgICAgICAgY2hhcnRXaXRoU2FtcGxp
bmcuc2V0RG9tYWluKHNhbXBsZUNsdXN0ZXIuc3RhcnRUaW1lIC0gMiAqIGRpZmYsIHNhbXBsZUNs
dXN0ZXIuZW5kVGltZSk7CisKKyAgICAgICAgICAgICAgICAgICAgQ2FudmFzVGVzdC5maWxsQ2Fu
dmFzQmVmb3JlUmVkcmF3Q2hlY2soY2FudmFzV2l0aG91dFNhbXBsaW5nKTsKKyAgICAgICAgICAg
ICAgICAgICAgQ2FudmFzVGVzdC5maWxsQ2FudmFzQmVmb3JlUmVkcmF3Q2hlY2soY2FudmFzV2l0
aFNhbXBsaW5nKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdhaXRGb3JDb21wb25lbnRz
VG9SZW5kZXIoY29udGV4dCk7CisgICAgICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CisgICAg
ICAgICAgICAgICAgICAgIGV4cGVjdChDYW52YXNUZXN0Lmhhc0NhbnZhc0JlZW5SZWRyYXduKGNh
bnZhc1dpdGhvdXRTYW1wbGluZykpLnRvLmJlKHRydWUpOworICAgICAgICAgICAgICAgICAgICBl
eHBlY3QoQ2FudmFzVGVzdC5oYXNDYW52YXNCZWVuUmVkcmF3bihjYW52YXNXaXRoU2FtcGxpbmcp
KS50by5iZSh0cnVlKTsKKworICAgICAgICAgICAgICAgICAgICBleHBlY3QoQ2FudmFzVGVzdC5j
YW52YXNDb250YWluc0NvbG9yKGNhbnZhc1dpdGhvdXRTYW1wbGluZywge3I6IDAsIGc6IDEyOCwg
YjogMjU1fSkpLnRvLmJlKHRydWUpOworICAgICAgICAgICAgICAgICAgICBleHBlY3QoQ2FudmFz
VGVzdC5jYW52YXNDb250YWluc0NvbG9yKGNhbnZhc1dpdGhTYW1wbGluZywge3I6IDAsIGc6IDEy
OCwgYjogMjU1fSkpLnRvLmJlKHRydWUpOworCisgICAgICAgICAgICAgICAgICAgIENhbnZhc1Rl
c3QuZXhwZWN0Q2FudmFzZXNNaXNtYXRjaChjYW52YXNXaXRoU2FtcGxpbmcsIGNhbnZhc1dpdGhv
dXRTYW1wbGluZyk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAg
ICAgfSk7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBvbmVu
dHMvaW50ZXJhY3RpdmUtdGltZS1zZXJpZXMtY2hhcnQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25lbnRzL2ludGVyYWN0aXZlLXRpbWUt
c2VyaWVzLWNoYXJ0LmpzCShyZXZpc2lvbiAyMTI5MzgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL3YzL2NvbXBvbmVudHMvaW50ZXJhY3RpdmUtdGltZS1zZXJpZXMtY2hhcnQu
anMJKHdvcmtpbmcgY29weSkKQEAgLTM4MiwxMSArMzgyLDExIEBAIGNsYXNzIEludGVyYWN0aXZl
VGltZVNlcmllc0NoYXJ0IGV4dGVuZHMKICAgICAgICAgcmV0dXJuIG1ldHJpY3M7CiAgICAgfQog
Ci0gICAgX3NhbXBsZVRpbWVTZXJpZXMoZGF0YSwgbWluaW11bVRpbWVEaWZmLCBleGNsdWRlZFBv
aW50cykKKyAgICBfc2FtcGxlVGltZVNlcmllcyhkYXRhLCBtYXhpbXVtTnVtYmVyT2ZQb2ludHMs
IGV4Y2x1ZGVkUG9pbnRzKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX2luZGljYXRvcklEKQog
ICAgICAgICAgICAgZXhjbHVkZWRQb2ludHMuYWRkKHRoaXMuX2luZGljYXRvcklEKTsKLSAgICAg
ICAgcmV0dXJuIHN1cGVyLl9zYW1wbGVUaW1lU2VyaWVzKGRhdGEsIG1pbmltdW1UaW1lRGlmZiwg
ZXhjbHVkZWRQb2ludHMpOworICAgICAgICByZXR1cm4gc3VwZXIuX3NhbXBsZVRpbWVTZXJpZXMo
ZGF0YSwgbWF4aW11bU51bWJlck9mUG9pbnRzLCBleGNsdWRlZFBvaW50cyk7CiAgICAgfQogCiAg
ICAgX3JlbmRlckNoYXJ0Q29udGVudChjb250ZXh0LCBtZXRyaWNzKQpJbmRleDogV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25lbnRzL3RpbWUtc2VyaWVzLWNoYXJ0Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9u
ZW50cy90aW1lLXNlcmllcy1jaGFydC5qcwkocmV2aXNpb24gMjEyOTM4KQorKysgV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25lbnRzL3RpbWUtc2VyaWVzLWNoYXJ0Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC00OTAsOSArNDkwLDYgQEAgY2xhc3MgVGltZVNlcmllc0NoYXJ0
IGV4dGVuZHMgQ29tcG9uZW50QgogICAgICAgICAgICAgaWYgKCF0aW1lU2VyaWVzKQogICAgICAg
ICAgICAgICAgIHJldHVybiBudWxsOwogCi0gICAgICAgICAgICAvLyBBIGNoYXJ0IHdpdGggWCBw
eCB3aWR0aCBzaG91bGRuJ3QgaGF2ZSBtb3JlIHRoYW4gMlggLyA8cmFkaXVzLW9mLXBvaW50cz4g
ZGF0YSBwb2ludHMuCi0gICAgICAgICAgICBjb25zdCBtYXhpbXVtTnVtYmVyT2ZQb2ludHMgPSAy
ICogbWV0cmljcy5jaGFydFdpZHRoIC8gKHNvdXJjZS5wb2ludFJhZGl1cyB8fCAyKTsKLQogICAg
ICAgICAgICAgY29uc3QgcG9pbnRBZnRlclN0YXJ0ID0gdGltZVNlcmllcy5maW5kUG9pbnRBZnRl
clRpbWUoc3RhcnRUaW1lKTsKICAgICAgICAgICAgIGNvbnN0IHBvaW50QmVmb3JlU3RhcnQgPSAo
cG9pbnRBZnRlclN0YXJ0ID8gdGltZVNlcmllcy5wcmV2aW91c1BvaW50KHBvaW50QWZ0ZXJTdGFy
dCkgOiBudWxsKSB8fCB0aW1lU2VyaWVzLmZpcnN0UG9pbnQoKTsKICAgICAgICAgICAgIGNvbnN0
IHBvaW50QWZ0ZXJFbmQgPSB0aW1lU2VyaWVzLmZpbmRQb2ludEFmdGVyVGltZShlbmRUaW1lKSB8
fCB0aW1lU2VyaWVzLmxhc3RQb2ludCgpOwpAQCAtNTA0LDcgKzUwMSwxMSBAQCBjbGFzcyBUaW1l
U2VyaWVzQ2hhcnQgZXh0ZW5kcyBDb21wb25lbnRCCiAgICAgICAgICAgICBpZiAoIXNvdXJjZS5z
YW1wbGVEYXRhKQogICAgICAgICAgICAgICAgIHJldHVybiB2aWV3OwogCi0gICAgICAgICAgICBy
ZXR1cm4gdGhpcy5fc2FtcGxlVGltZVNlcmllcyh2aWV3LCAoZW5kVGltZSAtIHN0YXJ0VGltZSkg
LyBtYXhpbXVtTnVtYmVyT2ZQb2ludHMsIG5ldyBTZXQpOworICAgICAgICAgICAgLy8gQSBjaGFy
dCB3aXRoIFggcHggd2lkdGggc2hvdWxkbid0IGhhdmUgbW9yZSB0aGFuIDJYIC8gPHJhZGl1cy1v
Zi1wb2ludHM+IGRhdGEgcG9pbnRzLgorICAgICAgICAgICAgY29uc3Qgdmlld1dpZHRoID0gTWF0
aC5taW4obWV0cmljcy5jaGFydFdpZHRoLCBtZXRyaWNzLnRpbWVUb1gocG9pbnRBZnRlckVuZC50
aW1lKSAtIG1ldHJpY3MudGltZVRvWChwb2ludEJlZm9yZVN0YXJ0LnRpbWUpKTsKKyAgICAgICAg
ICAgIGNvbnN0IG1heGltdW1OdW1iZXJPZlBvaW50cyA9IDIgKiB2aWV3V2lkdGggLyAoc291cmNl
LnBvaW50UmFkaXVzIHx8IDIpOworCisgICAgICAgICAgICByZXR1cm4gdGhpcy5fc2FtcGxlVGlt
ZVNlcmllcyh2aWV3LCBtYXhpbXVtTnVtYmVyT2ZQb2ludHMsIG5ldyBTZXQpOwogICAgICAgICB9
KTsKIAogICAgICAgICBJbnN0cnVtZW50YXRpb24uZW5kTWVhc3VyaW5nVGltZSgnVGltZVNlcmll
c0NoYXJ0JywgJ2Vuc3VyZVNhbXBsZWRUaW1lU2VyaWVzJyk7CkBAIC01MTQsMTkgKzUxNSwyOCBA
QCBjbGFzcyBUaW1lU2VyaWVzQ2hhcnQgZXh0ZW5kcyBDb21wb25lbnRCCiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KIAotICAgIF9zYW1wbGVUaW1lU2VyaWVzKHZpZXcsIG1pbmltdW1UaW1l
RGlmZiwgZXhjbHVkZWRQb2ludHMpCisgICAgX3NhbXBsZVRpbWVTZXJpZXModmlldywgbWF4aW11
bU51bWJlck9mUG9pbnRzLCBleGNsdWRlZFBvaW50cykKICAgICB7Ci0gICAgICAgIGlmICh2aWV3
Lmxlbmd0aCgpIDwgMikKKworICAgICAgICBpZiAodmlldy5sZW5ndGgoKSA8IDIgfHwgbWF4aW11
bU51bWJlck9mUG9pbnRzID49IHZpZXcubGVuZ3RoKCkgfHwgbWF4aW11bU51bWJlck9mUG9pbnRz
IDwgMSkKICAgICAgICAgICAgIHJldHVybiB2aWV3OwogCiAgICAgICAgIEluc3RydW1lbnRhdGlv
bi5zdGFydE1lYXN1cmluZ1RpbWUoJ1RpbWVTZXJpZXNDaGFydCcsICdzYW1wbGVUaW1lU2VyaWVz
Jyk7CiAKLSAgICAgICAgY29uc3Qgc2FtcGxlZERhdGEgPSB2aWV3LmZpbHRlcigocG9pbnQsIGkp
ID0+IHsKLSAgICAgICAgICAgIGlmIChleGNsdWRlZFBvaW50cy5oYXMocG9pbnQuaWQpKQotICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBsZXQgcmFua3MgPSBuZXcgQXJyYXko
dmlldy5sZW5ndGgoKSk7CisgICAgICAgIGxldCBpID0gMDsKKyAgICAgICAgZm9yIChsZXQgcG9p
bnQgb2YgdmlldykgewogICAgICAgICAgICAgbGV0IHByZXZpb3VzUG9pbnQgPSB2aWV3LnByZXZp
b3VzUG9pbnQocG9pbnQpIHx8IHBvaW50OwogICAgICAgICAgICAgbGV0IG5leHRQb2ludCA9IHZp
ZXcubmV4dFBvaW50KHBvaW50KSB8fCBwb2ludDsKLSAgICAgICAgICAgIHJldHVybiBuZXh0UG9p
bnQudGltZSAtIHByZXZpb3VzUG9pbnQudGltZSA+PSBtaW5pbXVtVGltZURpZmY7CisgICAgICAg
ICAgICByYW5rc1tpXSA9IG5leHRQb2ludC50aW1lIC0gcHJldmlvdXNQb2ludC50aW1lOworICAg
ICAgICAgICAgaSsrOworICAgICAgICB9CisKKyAgICAgICAgY29uc3Qgc29ydGVkUmFua3MgPSBy
YW5rcy5zbGljZSgwKS5zb3J0KChhLCBiKSA9PiBiIC0gYSk7CisgICAgICAgIGNvbnN0IG1pbmlt
dW1UaW1lRGlmZiA9IHNvcnRlZFJhbmtzW01hdGguZmxvb3IobWF4aW11bU51bWJlck9mUG9pbnRz
KV07CisKKyAgICAgICAgY29uc3Qgc2FtcGxlZERhdGEgPSB2aWV3LmZpbHRlcigocG9pbnQsIGkp
ID0+IHsKKyAgICAgICAgICAgIHJldHVybiBleGNsdWRlZFBvaW50cy5oYXMocG9pbnQuaWQpIHx8
IHJhbmtzW2ldID49IG1pbmltdW1UaW1lRGlmZjsKICAgICAgICAgfSk7CiAKICAgICAgICAgSW5z
dHJ1bWVudGF0aW9uLmVuZE1lYXN1cmluZ1RpbWUoJ1RpbWVTZXJpZXNDaGFydCcsICdzYW1wbGVU
aW1lU2VyaWVzJyk7CkBAIC02MTksNyArNjI5LDcgQEAgY2xhc3MgVGltZVNlcmllc0NoYXJ0IGV4
dGVuZHMgQ29tcG9uZW50QgogCiAgICAgICAgIGxldCBwcmV2aW91c0RhdGUgPSBudWxsOwogICAg
ICAgICBsZXQgcHJldmlvdXNNb250aCA9IG51bGw7Ci0gICAgICAgIHdoaWxlIChjdXJyZW50VGlt
ZSA8PSBtYXgpIHsKKyAgICAgICAgd2hpbGUgKGN1cnJlbnRUaW1lIDw9IG1heCAmJiByZXN1bHQu
bGVuZ3RoIDwgbWF4TGFiZWxzKSB7CiAgICAgICAgICAgICBjb25zdCB0aW1lID0gbmV3IERhdGUo
Y3VycmVudFRpbWUpOwogICAgICAgICAgICAgY29uc3QgbW9udGggPSB0aW1lLmdldFVUQ01vbnRo
KCkgKyAxOwogICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHRpbWUuZ2V0VVRDRGF0ZSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302645</attachid>
            <date>2017-02-23 22:43:55 -0800</date>
            <delta_ts>2017-02-23 22:55:14 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-168813-20170223224105.patch</filename>
            <type>text/plain</type>
            <size>16359</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyOTM4KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ2IEBACisyMDE3LTAyLTIzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIE5ldyBzYW1wbGluZyBhbGdvcml0aG0gc2hvd3MgdmVyeSBmZXcgcG9pbnRzIHdo
ZW4gem9vbWVkIG91dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY4ODEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBhIGNoYXJ0IGlzIHpvb21lZCBvdXQgdG8gYSBsYXJnZSB0aW1lIGludGVydmFs
LCB0aGUgbmV3IHNhbXBsaW5nIGFsZ29yaXRobSBpbnRyb2R1Y2VkIGluIHIyMTI4NTMgY2FuCisg
ICAgICAgIGhpZGUgbW9zdCBvZiB0aGUgZGF0YSBwb2ludHMgYmVjYXVzZSB0aGUgZGlmZmVyZW5j
ZSBiZXR3ZWVuIHRoZSBwcmVjZWRpbmcgcG9pbnQncyB0aW1lIGFuZCB0aGUgc3VjY2VlZGluZwor
ICAgICAgICBwb2ludCdzIHRpbWUgb2YgbW9zdCBwb2ludHMgd2lsbCBiZSBiZWxvdyB0aGUgdGhy
ZXNob2xkIHdlIGNvbXB1dGVkLgorCisgICAgICAgIEluc3RlYWQsIHJhbmsgZWFjaCBkYXRhIHBv
aW50IGJhc2VkIG9uIHRoZSBhZm9yZW1lbnRpb25lZCB0aW1lIGludGVydmFsIGRpZmZlcmVuY2Us
IGFuZCBwaWNrIHRoZSBmaXJzdCBNIGRhdGEKKyAgICAgICAgcG9pbnRzIHdoZW4gTSBkYXRhIHBv
aW50cyBhcmUgdG8gYmUgc2hvd24uCisKKyAgICAgICAgVGhpcyBtYWtlcyB0aGUgbmV3IGFsZ29y
aXRobSBiZWhhdmUgbGlrZSBvdXIgb2xkIGFsZ29yaXRobSB3aGlsZSBrZWVwaW5nIGl0IHN0YWJs
ZSBzdGlsbC4gTm90ZSB0aGF0IHRoaXMKKyAgICAgICAgYWxnb3JpdGhtIHN0aWxsIGJpYXNlcyBk
YXRhIHBvaW50cyB3aXRob3V0IGEgY2xvc2UgbmVpZ2hib3JpbmcgcG9pbnQgYnV0IHRoaXMgc2Vl
bXMgdG8gd29yayBvdXQgaW4gcHJhY3RpY2UKKyAgICAgICAgYmVjYXVzZSBzdWNoIGEgcG9pbnQg
dGVuZHMgdG8gYmUgYW4gaW1wb3J0YW50IHNhbXBsZSBhbnl3YXksIGFuZCB3ZSBkb24ndCBoYXZl
IGEgbG90IG9mIHNwYWNlIGJldHdlZW4KKyAgICAgICAgZGF0YSBwb2ludHMgc2luY2Ugd2UgYWlt
IHRvIHNob3cgYWJvdXQgb25lIHBvaW50IHBlciBwaXhlbC4KKworICAgICAgICAqIGJyb3dzZXIt
dGVzdHMvaW5kZXguaHRtbDoKKyAgICAgICAgKENhbnZhc1Rlc3QuY2FudmFzQ29udGFpbnNDb2xv
cik6IEV4dHJhY3RlZCBmcm9tIG9uZSBvZiB0aGUgdGVzdCBjYXNlcyBhbmQgZ2VuZXJhbGl6ZWQu
IFJldHVybnMgdHJ1ZSB3aGVuCisgICAgICAgIHRoZSBzcGVjaWZpZWQgcmVnaW9uIG9mIHRoZSBj
YW52YXMgY29udGFpbnMgYSBzcGVjaWZpZWQgY29sb3IgKGFscGhhIGlzIG9wdGlvbmFsKS4KKyAg
ICAgICAgKiBicm93c2VyLXRlc3RzL3RpbWUtc2VyaWVzLWNoYXJ0LXRlc3RzLmpzOiBBZGRlZCBh
IHRlc3QgY2FzZSBmb3Igc2FtcGxpbmcuIEl0IGNoZWNrcyB0aGF0IHNhbXBsaW5nIGhhcHBlbnMK
KyAgICAgICAgYW5kIHRoYXQgd2UgYWx3YXlzIHNob3cgc29tZSBkYXRhIHBvaW50IGV2ZW4gd2hl
biB6b29tZWQgb3V0IHRvIGEgbGFyZ2UgdGltZSBpbnRlcnZhbC4KKyAgICAgICAgKGNyZWF0ZUNo
YXJ0V2l0aFNhbXBsZUNsdXN0ZXIpOgorCisgICAgICAgICogcHVibGljL3YzL2NvbXBvbmVudHMv
aW50ZXJhY3RpdmUtdGltZS1zZXJpZXMtY2hhcnQuanM6CisgICAgICAgIChJbnRlcmFjdGl2ZVRp
bWVTZXJpZXNDaGFydC5wcm90b3R5cGUuX3NhbXBsZVRpbWVTZXJpZXMpOgorICAgICAgICAqIHB1
YmxpYy92My9jb21wb25lbnRzL3RpbWUtc2VyaWVzLWNoYXJ0LmpzOgorICAgICAgICAoVGltZVNl
cmllc0NoYXJ0LnByb3RvdHlwZS5fZW5zdXJlU2FtcGxlZFRpbWVTZXJpZXMpOiBNLCB0aGUgbnVt
YmVyIG9mIGRhdGEgcG9pbnRzIHdlIHBpY2sgbXVzdCBiZSBjb21wdXRlZAorICAgICAgICBiYXNl
ZCBvbiB0aGUgd2lkdGggb2YgZGF0YSBwb2ludHMgd2UncmUgYWJvdXQgdG8gZHJhdyBjb25zdHJh
aW5lZCBieSB0aGUgY2FudmFzIHNpemUuIGUuZy4gd2hlbiB0aGUgY2FudmFzCisgICAgICAgIGlz
IG9ubHkgaGFsZiBmaWxsZWQsIHdlIHNob3VsZG4ndCBiZSBzaG93aW5nIHR3byBwb2ludHMgcGVy
IHBpeGVsIGluIHRoZSBmaWxsZWQgcmVnaW9uLgorICAgICAgICAoVGltZVNlcmllc0NoYXJ0LnBy
b3RvdHlwZS5fc2FtcGxlVGltZVNlcmllcyk6IFJlZmluZWQgdGhlIGFsZ29yaXRobS4gRmlyc3Qs
IGNvbXB1dGUgdGhlIHRpbWUgZGlmZmVyZW5jZSBvcgorICAgICAgICB0aGUgcmFuayBmb3IgZWFj
aCBOIGRhdGEgcG9pbnRzLiBTb3J0IHRob3NlIHJhbmtzIGluIGRlc2NlbmRpbmcgb3JkZXIgKGlu
IHRoZSBvcmRlciB3ZSBwcmVmZXIpLCBhbmQgaW5jbHVkZQorICAgICAgICBhbGwgZGF0YSBwb2lu
dHMgYWJvdmUgdGhlIE0tdGggcmFuayBpbiB0aGUgc2FtcGxlLgorICAgICAgICAoVGltZVNlcmll
c0NoYXJ0LnByb3RvdHlwZS5jb21wdXRlVGltZUdyaWQpOiBSZXZlcnQgdGhlIGluYWR2ZXJ0ZW50
IGNoYW5nZSBpbiByMjEyOTM1LgorCisgICAgICAgICogcHVibGljL3YzL21vZGVscy90aW1lLXNl
cmllcy5qczoKKyAgICAgICAgKFRpbWVTZXJpZXNWaWV3LnByb3RvdHlwZS5maWx0ZXIpOiBGaXhl
ZCBhIGJ1ZyB0aGF0IHRoZSBpbmRpY2VzIHBhc3NlZCBvbnRvIHRoZSBjYWxsYmFjayB3ZXJlIHNo
aWZ0ZWQgYnkgdGhlCisgICAgICAgIHN0YXJ0aW5nIGluZGV4LgorICAgICAgICAqIHVuaXQtdGVz
dHMvdGltZS1zZXJpZXMtdGVzdHMuanM6IEFkZGVkIGEgdGVzdCBjYXNlIHRvIGVuc3VyZSBjYWxs
YmFja3MgYXJlIGNhbGxlZCB3aXRoIGNvcnJlY3QgZGF0YSBwb2ludHMKKyAgICAgICAgYW5kIGlu
ZGljZXMuCisKIDIwMTctMDItMjMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihyMjEyNTQyKTogTWFrZSBUaW1lU2VyaWVzQ2hhcnQuY29tcHV0
ZVRpbWVHcmlkIHN0b3BzIHgtYXhpcyBncmlkIHByZW1hdHVyZWx5CkluZGV4OiBXZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvYnJvd3Nlci10ZXN0cy9pbmRleC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9icm93c2VyLXRlc3RzL2luZGV4Lmh0bWwJKHJldmlzaW9u
IDIxMjkzOCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9icm93c2VyLXRlc3RzL2luZGV4
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE2Myw2ICsxNjMsMjMgQEAgY29uc3QgQ2FudmFzVGVz
dCA9IHsKICAgICB9LAogCiAgICAgY2FudmFzSW1hZ2VEYXRhKGNhbnZhcykgeyByZXR1cm4gY2Fu
dmFzSW1hZ2VEYXRhKGNhbnZhcyk7IH0sCisKKyAgICBjYW52YXNDb250YWluc0NvbG9yKGNhbnZh
cywgY29sb3IsIHJlY3QgPSB7fSkKKyAgICB7CisgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjYW52
YXMuZ2V0Q29udGV4dCgnMmQnKS5nZXRJbWFnZURhdGEocmVjdC54IHx8IDAsIHJlY3QueSB8fCAw
LCByZWN0LndpZHRoIHx8IGNhbnZhcy53aWR0aCwgcmVjdC5oZWlnaHQgfHwgY2FudmFzLmhlaWdo
dCk7CisgICAgICAgIGxldCBmb3VuZCA9IGZhbHNlOworICAgICAgICBjb25zdCBkYXRhID0gY29u
dGVudC5kYXRhOworICAgICAgICBmb3IgKGxldCBzdGFydE9mUGl4ZWwgPSAwOyBzdGFydE9mUGl4
ZWwgPCBkYXRhLmxlbmd0aDsgc3RhcnRPZlBpeGVsICs9IDQpIHsKKyAgICAgICAgICAgIGxldCBy
ID0gZGF0YVtzdGFydE9mUGl4ZWxdOworICAgICAgICAgICAgbGV0IGcgPSBkYXRhW3N0YXJ0T2ZQ
aXhlbCArIDFdOworICAgICAgICAgICAgbGV0IGIgPSBkYXRhW3N0YXJ0T2ZQaXhlbCArIDJdOwor
ICAgICAgICAgICAgbGV0IGEgPSBkYXRhW3N0YXJ0T2ZQaXhlbCArIDNdOworICAgICAgICAgICAg
aWYgKHIgPT0gY29sb3IuciAmJiBnID09IGNvbG9yLmcgJiYgYiA9PSBjb2xvci5iICYmIChjb2xv
ci5hID09IHVuZGVmaW5lZCB8fCBhID09IGNvbG9yLmEpKQorICAgICAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LAorCiAgICAg
ZXhwZWN0Q2FudmFzZXNNYXRjaChjYW52YXMxLCBjYW52YXMyKSB7IHJldHVybiBjYW52YXNSZWZU
ZXN0KGNhbnZhczEsIGNhbnZhczIsIHRydWUpOyB9LAogICAgIGV4cGVjdENhbnZhc2VzTWlzbWF0
Y2goY2FudmFzMSwgY2FudmFzMikgeyByZXR1cm4gY2FudmFzUmVmVGVzdChjYW52YXMxLCBjYW52
YXMyLCBmYWxzZSk7IH0sCiB9CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvYnJvd3Nl
ci10ZXN0cy90aW1lLXNlcmllcy1jaGFydC10ZXN0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvYnJvd3Nlci10ZXN0cy90aW1lLXNlcmllcy1jaGFydC10ZXN0cy5q
cwkocmV2aXNpb24gMjEyOTM4KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dzZXIt
dGVzdHMvdGltZS1zZXJpZXMtY2hhcnQtdGVzdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTc3LDkg
Kzc3LDExIEBAIGZ1bmN0aW9uIGNyZWF0ZUNoYXJ0V2l0aFNhbXBsZUNsdXN0ZXIoY28KICAgICBj
b25zdCBjaGFydCA9IG5ldyBUaW1lU2VyaWVzQ2hhcnQoWwogICAgICAgICB7CiAgICAgICAgICAg
ICB0eXBlOiAnY3VycmVudCcsCisgICAgICAgICAgICBsaW5lU3R5bGU6IG9wdGlvbnMubGluZVN0
eWxlIHx8ICcjNjY2JywKICAgICAgICAgICAgIG1lYXN1cmVtZW50U2V0OiBNZWFzdXJlbWVudFNl
dC5maW5kU2V0KDEsIDEsIDApLAogICAgICAgICAgICAgaW50ZXJhY3RpdmU6IG9wdGlvbnMuaW50
ZXJhY3RpdmUgfHwgZmFsc2UsCi0gICAgICAgICAgICBpbmNsdWRlT3V0bGllcnM6IG9wdGlvbnMu
aW5jbHVkZU91dGxpZXJzIHx8IGZhbHNlCisgICAgICAgICAgICBpbmNsdWRlT3V0bGllcnM6IG9w
dGlvbnMuaW5jbHVkZU91dGxpZXJzIHx8IGZhbHNlLAorICAgICAgICAgICAgc2FtcGxlRGF0YTog
b3B0aW9ucy5zYW1wbGVEYXRhIHx8IGZhbHNlLAogICAgICAgICB9XSwgY2hhcnRPcHRpb25zKTsK
ICAgICBjb25zdCBlbGVtZW50ID0gY2hhcnQuZWxlbWVudCgpOwogICAgIGVsZW1lbnQuc3R5bGUu
d2lkdGggPSBvcHRpb25zLndpZHRoIHx8ICczMDBweCc7CkBAIC01NDEsNyArNTQzLDYgQEAgZGVz
Y3JpYmUoJ1RpbWVTZXJpZXNDaGFydCcsICgpID0+IHsKIAogICAgICAgICAgICAgICAgIGV4cGVj
dChjaGFydC5jb250ZW50KCkucXVlcnlTZWxlY3RvcignY2FudmFzJykpLnRvLmJlKG51bGwpOwog
ICAgICAgICAgICAgICAgIHJldHVybiB3YWl0Rm9yQ29tcG9uZW50c1RvUmVuZGVyKGNvbnRleHQp
LnRoZW4oKCkgPT4gewotICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZG9uZScpCiAg
ICAgICAgICAgICAgICAgICAgIGV4cGVjdChjaGFydC5jb250ZW50KCkucXVlcnlTZWxlY3Rvcign
Y2FudmFzJykpLnRvLm5vdC5iZShudWxsKTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAg
ICAgIH0pOwpAQCAtODI4LDE5ICs4MjksNTAgQEAgZGVzY3JpYmUoJ1RpbWVTZXJpZXNDaGFydCcs
ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgQ2FudmFzVGVzdC5leHBlY3RDYW52YXNlc01p
c21hdGNoKGNhbnZhc1dpdGhvdXRZQXhpcywgY2FudmFzV2l0aFlBeGlzMSk7CiAgICAgICAgICAg
ICAgICAgICAgIENhbnZhc1Rlc3QuZXhwZWN0Q2FudmFzZXNNaXNtYXRjaChjYW52YXNXaXRoWUF4
aXMxLCBjYW52YXNXaXRoWUF4aXMyKTsKIAotICAgICAgICAgICAgICAgICAgICBsZXQgY29udGVu
dDEgPSBDYW52YXNUZXN0LmNhbnZhc0ltYWdlRGF0YShjYW52YXNXaXRoWUF4aXMxKTsKLSAgICAg
ICAgICAgICAgICAgICAgbGV0IGZvdW5kR3JpZExpbmUgPSBmYWxzZTsKLSAgICAgICAgICAgICAg
ICAgICAgZm9yIChsZXQgeSA9IDA7IHkgPCBjb250ZW50MS5oZWlnaHQ7IHkrKykgewotICAgICAg
ICAgICAgICAgICAgICAgICAgbGV0IGVuZE9mWSA9IGNvbnRlbnQxLndpZHRoICogNCAqIHk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBsZXQgciA9IGNvbnRlbnQxLmRhdGFbZW5kT2ZZIC0gNF07
Ci0gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZyA9IGNvbnRlbnQxLmRhdGFbZW5kT2ZZIC0g
M107Ci0gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYiA9IGNvbnRlbnQxLmRhdGFbZW5kT2ZZ
IC0gMl07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAociA9PSAyMDQgJiYgZyA9PSAyMDQg
JiYgYiA9PSAyMDQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZEdyaWRMaW5l
ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICBleHBlY3QoZm91bmRHcmlkTGluZSkudG8uYmUodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAg
IGV4cGVjdChDYW52YXNUZXN0LmNhbnZhc0NvbnRhaW5zQ29sb3IoY2FudmFzV2l0aFlBeGlzMSwg
e3I6IDIwNCwgZzogMjA0LCBiOiAyMDR9LAorICAgICAgICAgICAgICAgICAgICAgICAge3g6IGNh
bnZhc1dpdGhZQXhpczEud2lkdGggLSAxLCB3aWR0aDogMSwgeTogMCwgaGVpZ2h0OiBjYW52YXNX
aXRoWUF4aXMxLmhlaWdodH0pKS50by5iZSh0cnVlKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICB9KTsKKworICAgICAgICBpdCgnc2hvdWxkIHJlbmRlciB0
aGUgc2FtcGxlZCB0aW1lIHNlcmllcycsICgpID0+IHsKKyAgICAgICAgICAgIGNvbnN0IGNvbnRl
eHQgPSBuZXcgQnJvd3NpbmdDb250ZXh0KCk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5p
bXBvcnRTY3JpcHRzKHNjcmlwdHMsICdDb21wb25lbnRCYXNlJywgJ1RpbWVTZXJpZXNDaGFydCcs
ICdJbnRlcmFjdGl2ZVRpbWVTZXJpZXNDaGFydCcsICdNZWFzdXJlbWVudFNldCcsICdNb2NrUmVt
b3RlQVBJJykudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgY29uc3QgY2hhcnRXaXRob3V0
U2FtcGxpbmcgPSBjcmVhdGVDaGFydFdpdGhTYW1wbGVDbHVzdGVyKGNvbnRleHQsIHt9LCB7bGlu
ZVN0eWxlOiAncmdiKDAsIDEyOCwgMjU1KScsIHdpZHRoOiAnMTAwcHgnLCBoZWlnaHQ6ICcxMDBw
eCcsIHNhbXBsZURhdGE6IGZhbHNlfSk7CisgICAgICAgICAgICAgICAgY29uc3QgY2hhcnRXaXRo
U2FtcGxpbmcgPSBjcmVhdGVDaGFydFdpdGhTYW1wbGVDbHVzdGVyKGNvbnRleHQsIHt9LCB7bGlu
ZVN0eWxlOiAncmdiKDAsIDEyOCwgMjU1KScsIHdpZHRoOiAnMTAwcHgnLCBoZWlnaHQ6ICcxMDBw
eCcsIHNhbXBsZURhdGE6IHRydWV9KTsKKworICAgICAgICAgICAgICAgIGNoYXJ0V2l0aG91dFNh
bXBsaW5nLnNldERvbWFpbihzYW1wbGVDbHVzdGVyLnN0YXJ0VGltZSwgc2FtcGxlQ2x1c3Rlci5l
bmRUaW1lKTsKKyAgICAgICAgICAgICAgICBjaGFydFdpdGhvdXRTYW1wbGluZy5mZXRjaE1lYXN1
cmVtZW50U2V0cygpOworICAgICAgICAgICAgICAgIHJlc3BvbmRXaXRoU2FtcGxlQ2x1c3Rlcihj
b250ZXh0LnN5bWJvbHMuTW9ja1JlbW90ZUFQSS5yZXF1ZXN0c1swXSk7CisKKyAgICAgICAgICAg
ICAgICBjaGFydFdpdGhTYW1wbGluZy5zZXREb21haW4oc2FtcGxlQ2x1c3Rlci5zdGFydFRpbWUs
IHNhbXBsZUNsdXN0ZXIuZW5kVGltZSk7CisgICAgICAgICAgICAgICAgY2hhcnRXaXRoU2FtcGxp
bmcuZmV0Y2hNZWFzdXJlbWVudFNldHMoKTsKKworICAgICAgICAgICAgICAgIGxldCBjYW52YXNX
aXRoU2FtcGxpbmc7CisgICAgICAgICAgICAgICAgbGV0IGNhbnZhc1dpdGhvdXRTYW1wbGluZzsK
KyAgICAgICAgICAgICAgICByZXR1cm4gd2FpdEZvckNvbXBvbmVudHNUb1JlbmRlcihjb250ZXh0
KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgY2FudmFzV2l0aG91dFNhbXBsaW5n
ID0gY2hhcnRXaXRob3V0U2FtcGxpbmcuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2NhbnZhcycp
OworICAgICAgICAgICAgICAgICAgICBjYW52YXNXaXRoU2FtcGxpbmcgPSBjaGFydFdpdGhTYW1w
bGluZy5jb250ZW50KCkucXVlcnlTZWxlY3RvcignY2FudmFzJyk7CisKKyAgICAgICAgICAgICAg
ICAgICAgQ2FudmFzVGVzdC5leHBlY3RDYW52YXNlc01hdGNoKGNhbnZhc1dpdGhTYW1wbGluZywg
Y2FudmFzV2l0aG91dFNhbXBsaW5nKTsKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0KENhbnZh
c1Rlc3QuY2FudmFzQ29udGFpbnNDb2xvcihjYW52YXNXaXRob3V0U2FtcGxpbmcsIHtyOiAwLCBn
OiAxMjgsIGI6IDI1NX0pKS50by5iZSh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0
KENhbnZhc1Rlc3QuY2FudmFzQ29udGFpbnNDb2xvcihjYW52YXNXaXRoU2FtcGxpbmcsIHtyOiAw
LCBnOiAxMjgsIGI6IDI1NX0pKS50by5iZSh0cnVlKTsKKworICAgICAgICAgICAgICAgICAgICBj
b25zdCBkaWZmID0gc2FtcGxlQ2x1c3Rlci5lbmRUaW1lIC0gc2FtcGxlQ2x1c3Rlci5zdGFydFRp
bWU7CisgICAgICAgICAgICAgICAgICAgIGNoYXJ0V2l0aG91dFNhbXBsaW5nLnNldERvbWFpbihz
YW1wbGVDbHVzdGVyLnN0YXJ0VGltZSAtIDIgKiBkaWZmLCBzYW1wbGVDbHVzdGVyLmVuZFRpbWUp
OworICAgICAgICAgICAgICAgICAgICBjaGFydFdpdGhTYW1wbGluZy5zZXREb21haW4oc2FtcGxl
Q2x1c3Rlci5zdGFydFRpbWUgLSAyICogZGlmZiwgc2FtcGxlQ2x1c3Rlci5lbmRUaW1lKTsKKwor
ICAgICAgICAgICAgICAgICAgICBDYW52YXNUZXN0LmZpbGxDYW52YXNCZWZvcmVSZWRyYXdDaGVj
ayhjYW52YXNXaXRob3V0U2FtcGxpbmcpOworICAgICAgICAgICAgICAgICAgICBDYW52YXNUZXN0
LmZpbGxDYW52YXNCZWZvcmVSZWRyYXdDaGVjayhjYW52YXNXaXRoU2FtcGxpbmcpOworICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gd2FpdEZvckNvbXBvbmVudHNUb1JlbmRlcihjb250ZXh0KTsK
KyAgICAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZXhw
ZWN0KENhbnZhc1Rlc3QuaGFzQ2FudmFzQmVlblJlZHJhd24oY2FudmFzV2l0aG91dFNhbXBsaW5n
KSkudG8uYmUodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIGV4cGVjdChDYW52YXNUZXN0Lmhh
c0NhbnZhc0JlZW5SZWRyYXduKGNhbnZhc1dpdGhTYW1wbGluZykpLnRvLmJlKHRydWUpOworCisg
ICAgICAgICAgICAgICAgICAgIGV4cGVjdChDYW52YXNUZXN0LmNhbnZhc0NvbnRhaW5zQ29sb3Io
Y2FudmFzV2l0aG91dFNhbXBsaW5nLCB7cjogMCwgZzogMTI4LCBiOiAyNTV9KSkudG8uYmUodHJ1
ZSk7CisgICAgICAgICAgICAgICAgICAgIGV4cGVjdChDYW52YXNUZXN0LmNhbnZhc0NvbnRhaW5z
Q29sb3IoY2FudmFzV2l0aFNhbXBsaW5nLCB7cjogMCwgZzogMTI4LCBiOiAyNTV9KSkudG8uYmUo
dHJ1ZSk7CisKKyAgICAgICAgICAgICAgICAgICAgQ2FudmFzVGVzdC5leHBlY3RDYW52YXNlc01p
c21hdGNoKGNhbnZhc1dpdGhTYW1wbGluZywgY2FudmFzV2l0aG91dFNhbXBsaW5nKTsKICAgICAg
ICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKSW5kZXg6IFdlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy9pbnRlcmFjdGl2ZS10aW1l
LXNlcmllcy1jaGFydC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL3YzL2NvbXBvbmVudHMvaW50ZXJhY3RpdmUtdGltZS1zZXJpZXMtY2hhcnQuanMJKHJl
dmlzaW9uIDIxMjkzOCkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29t
cG9uZW50cy9pbnRlcmFjdGl2ZS10aW1lLXNlcmllcy1jaGFydC5qcwkod29ya2luZyBjb3B5KQpA
QCAtMzgyLDExICszODIsMTEgQEAgY2xhc3MgSW50ZXJhY3RpdmVUaW1lU2VyaWVzQ2hhcnQgZXh0
ZW5kcwogICAgICAgICByZXR1cm4gbWV0cmljczsKICAgICB9CiAKLSAgICBfc2FtcGxlVGltZVNl
cmllcyhkYXRhLCBtaW5pbXVtVGltZURpZmYsIGV4Y2x1ZGVkUG9pbnRzKQorICAgIF9zYW1wbGVU
aW1lU2VyaWVzKGRhdGEsIG1heGltdW1OdW1iZXJPZlBvaW50cywgZXhjbHVkZWRQb2ludHMpCiAg
ICAgewogICAgICAgICBpZiAodGhpcy5faW5kaWNhdG9ySUQpCiAgICAgICAgICAgICBleGNsdWRl
ZFBvaW50cy5hZGQodGhpcy5faW5kaWNhdG9ySUQpOwotICAgICAgICByZXR1cm4gc3VwZXIuX3Nh
bXBsZVRpbWVTZXJpZXMoZGF0YSwgbWluaW11bVRpbWVEaWZmLCBleGNsdWRlZFBvaW50cyk7Cisg
ICAgICAgIHJldHVybiBzdXBlci5fc2FtcGxlVGltZVNlcmllcyhkYXRhLCBtYXhpbXVtTnVtYmVy
T2ZQb2ludHMsIGV4Y2x1ZGVkUG9pbnRzKTsKICAgICB9CiAKICAgICBfcmVuZGVyQ2hhcnRDb250
ZW50KGNvbnRleHQsIG1ldHJpY3MpCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL3YzL2NvbXBvbmVudHMvdGltZS1zZXJpZXMtY2hhcnQuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25lbnRzL3RpbWUtc2VyaWVzLWNo
YXJ0LmpzCShyZXZpc2lvbiAyMTI5MzgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL3YzL2NvbXBvbmVudHMvdGltZS1zZXJpZXMtY2hhcnQuanMJKHdvcmtpbmcgY29weSkKQEAg
LTQ5MCw5ICs0OTAsNiBAQCBjbGFzcyBUaW1lU2VyaWVzQ2hhcnQgZXh0ZW5kcyBDb21wb25lbnRC
CiAgICAgICAgICAgICBpZiAoIXRpbWVTZXJpZXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGw7CiAKLSAgICAgICAgICAgIC8vIEEgY2hhcnQgd2l0aCBYIHB4IHdpZHRoIHNob3VsZG4ndCBo
YXZlIG1vcmUgdGhhbiAyWCAvIDxyYWRpdXMtb2YtcG9pbnRzPiBkYXRhIHBvaW50cy4KLSAgICAg
ICAgICAgIGNvbnN0IG1heGltdW1OdW1iZXJPZlBvaW50cyA9IDIgKiBtZXRyaWNzLmNoYXJ0V2lk
dGggLyAoc291cmNlLnBvaW50UmFkaXVzIHx8IDIpOwotCiAgICAgICAgICAgICBjb25zdCBwb2lu
dEFmdGVyU3RhcnQgPSB0aW1lU2VyaWVzLmZpbmRQb2ludEFmdGVyVGltZShzdGFydFRpbWUpOwog
ICAgICAgICAgICAgY29uc3QgcG9pbnRCZWZvcmVTdGFydCA9IChwb2ludEFmdGVyU3RhcnQgPyB0
aW1lU2VyaWVzLnByZXZpb3VzUG9pbnQocG9pbnRBZnRlclN0YXJ0KSA6IG51bGwpIHx8IHRpbWVT
ZXJpZXMuZmlyc3RQb2ludCgpOwogICAgICAgICAgICAgY29uc3QgcG9pbnRBZnRlckVuZCA9IHRp
bWVTZXJpZXMuZmluZFBvaW50QWZ0ZXJUaW1lKGVuZFRpbWUpIHx8IHRpbWVTZXJpZXMubGFzdFBv
aW50KCk7CkBAIC01MDQsNyArNTAxLDExIEBAIGNsYXNzIFRpbWVTZXJpZXNDaGFydCBleHRlbmRz
IENvbXBvbmVudEIKICAgICAgICAgICAgIGlmICghc291cmNlLnNhbXBsZURhdGEpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHZpZXc7CiAKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9zYW1wbGVU
aW1lU2VyaWVzKHZpZXcsIChlbmRUaW1lIC0gc3RhcnRUaW1lKSAvIG1heGltdW1OdW1iZXJPZlBv
aW50cywgbmV3IFNldCk7CisgICAgICAgICAgICAvLyBBIGNoYXJ0IHdpdGggWCBweCB3aWR0aCBz
aG91bGRuJ3QgaGF2ZSBtb3JlIHRoYW4gMlggLyA8cmFkaXVzLW9mLXBvaW50cz4gZGF0YSBwb2lu
dHMuCisgICAgICAgICAgICBjb25zdCB2aWV3V2lkdGggPSBNYXRoLm1pbihtZXRyaWNzLmNoYXJ0
V2lkdGgsIG1ldHJpY3MudGltZVRvWChwb2ludEFmdGVyRW5kLnRpbWUpIC0gbWV0cmljcy50aW1l
VG9YKHBvaW50QmVmb3JlU3RhcnQudGltZSkpOworICAgICAgICAgICAgY29uc3QgbWF4aW11bU51
bWJlck9mUG9pbnRzID0gMiAqIHZpZXdXaWR0aCAvIChzb3VyY2UucG9pbnRSYWRpdXMgfHwgMik7
CisKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9zYW1wbGVUaW1lU2VyaWVzKHZpZXcsIG1heGlt
dW1OdW1iZXJPZlBvaW50cywgbmV3IFNldCk7CiAgICAgICAgIH0pOwogCiAgICAgICAgIEluc3Ry
dW1lbnRhdGlvbi5lbmRNZWFzdXJpbmdUaW1lKCdUaW1lU2VyaWVzQ2hhcnQnLCAnZW5zdXJlU2Ft
cGxlZFRpbWVTZXJpZXMnKTsKQEAgLTUxNCwxOSArNTE1LDI3IEBAIGNsYXNzIFRpbWVTZXJpZXND
aGFydCBleHRlbmRzIENvbXBvbmVudEIKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0g
ICAgX3NhbXBsZVRpbWVTZXJpZXModmlldywgbWluaW11bVRpbWVEaWZmLCBleGNsdWRlZFBvaW50
cykKKyAgICBfc2FtcGxlVGltZVNlcmllcyh2aWV3LCBtYXhpbXVtTnVtYmVyT2ZQb2ludHMsIGV4
Y2x1ZGVkUG9pbnRzKQogICAgIHsKLSAgICAgICAgaWYgKHZpZXcubGVuZ3RoKCkgPCAyKQorCisg
ICAgICAgIGlmICh2aWV3Lmxlbmd0aCgpIDwgMiB8fCBtYXhpbXVtTnVtYmVyT2ZQb2ludHMgPj0g
dmlldy5sZW5ndGgoKSB8fCBtYXhpbXVtTnVtYmVyT2ZQb2ludHMgPCAxKQogICAgICAgICAgICAg
cmV0dXJuIHZpZXc7CiAKICAgICAgICAgSW5zdHJ1bWVudGF0aW9uLnN0YXJ0TWVhc3VyaW5nVGlt
ZSgnVGltZVNlcmllc0NoYXJ0JywgJ3NhbXBsZVRpbWVTZXJpZXMnKTsKIAotICAgICAgICBjb25z
dCBzYW1wbGVkRGF0YSA9IHZpZXcuZmlsdGVyKChwb2ludCwgaSkgPT4gewotICAgICAgICAgICAg
aWYgKGV4Y2x1ZGVkUG9pbnRzLmhhcyhwb2ludC5pZCkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIGxldCByYW5rcyA9IG5ldyBBcnJheSh2aWV3Lmxlbmd0aCgpKTsKKyAg
ICAgICAgbGV0IGkgPSAwOworICAgICAgICBmb3IgKGxldCBwb2ludCBvZiB2aWV3KSB7CiAgICAg
ICAgICAgICBsZXQgcHJldmlvdXNQb2ludCA9IHZpZXcucHJldmlvdXNQb2ludChwb2ludCkgfHwg
cG9pbnQ7CiAgICAgICAgICAgICBsZXQgbmV4dFBvaW50ID0gdmlldy5uZXh0UG9pbnQocG9pbnQp
IHx8IHBvaW50OwotICAgICAgICAgICAgcmV0dXJuIG5leHRQb2ludC50aW1lIC0gcHJldmlvdXNQ
b2ludC50aW1lID49IG1pbmltdW1UaW1lRGlmZjsKKyAgICAgICAgICAgIHJhbmtzW2ldID0gbmV4
dFBvaW50LnRpbWUgLSBwcmV2aW91c1BvaW50LnRpbWU7CisgICAgICAgICAgICBpKys7CisgICAg
ICAgIH0KKworICAgICAgICBjb25zdCBzb3J0ZWRSYW5rcyA9IHJhbmtzLnNsaWNlKDApLnNvcnQo
KGEsIGIpID0+IGIgLSBhKTsKKyAgICAgICAgY29uc3QgbWluaW11bVJhbmsgPSBzb3J0ZWRSYW5r
c1tNYXRoLmZsb29yKG1heGltdW1OdW1iZXJPZlBvaW50cyldOworICAgICAgICBjb25zdCBzYW1w
bGVkRGF0YSA9IHZpZXcuZmlsdGVyKChwb2ludCwgaSkgPT4geworICAgICAgICAgICAgcmV0dXJu
IGV4Y2x1ZGVkUG9pbnRzLmhhcyhwb2ludC5pZCkgfHwgcmFua3NbaV0gPj0gbWluaW11bVJhbms7
CiAgICAgICAgIH0pOwogCiAgICAgICAgIEluc3RydW1lbnRhdGlvbi5lbmRNZWFzdXJpbmdUaW1l
KCdUaW1lU2VyaWVzQ2hhcnQnLCAnc2FtcGxlVGltZVNlcmllcycpOwpAQCAtNjE5LDcgKzYyOCw3
IEBAIGNsYXNzIFRpbWVTZXJpZXNDaGFydCBleHRlbmRzIENvbXBvbmVudEIKIAogICAgICAgICBs
ZXQgcHJldmlvdXNEYXRlID0gbnVsbDsKICAgICAgICAgbGV0IHByZXZpb3VzTW9udGggPSBudWxs
OwotICAgICAgICB3aGlsZSAoY3VycmVudFRpbWUgPD0gbWF4KSB7CisgICAgICAgIHdoaWxlIChj
dXJyZW50VGltZSA8PSBtYXggJiYgcmVzdWx0Lmxlbmd0aCA8IG1heExhYmVscykgewogICAgICAg
ICAgICAgY29uc3QgdGltZSA9IG5ldyBEYXRlKGN1cnJlbnRUaW1lKTsKICAgICAgICAgICAgIGNv
bnN0IG1vbnRoID0gdGltZS5nZXRVVENNb250aCgpICsgMTsKICAgICAgICAgICAgIGNvbnN0IGRh
dGUgPSB0aW1lLmdldFVUQ0RhdGUoKTsKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9w
dWJsaWMvdjMvbW9kZWxzL3RpbWUtc2VyaWVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL3RpbWUtc2VyaWVzLmpzCShyZXZpc2lvbiAy
MTI5MzgpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy90aW1l
LXNlcmllcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTY3LDExICsxNjcsMTIgQEAgY2xhc3MgVGlt
ZVNlcmllc1ZpZXcgewogCiAgICAgZmlsdGVyKGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgY29u
c3QgZGF0YSA9IHRoaXMuX2RhdGE7CiAgICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IFtdOwot
ICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5fc3RhcnRpbmdJbmRleDsgaSA8IHRoaXMuX2FmdGVy
RW5kaW5nSW5kZXg7IGkrKykgewotICAgICAgICAgICAgaWYgKGNhbGxiYWNrKGRhdGFbaV0sIGkp
KQotICAgICAgICAgICAgICAgIGZpbHRlcmVkRGF0YS5wdXNoKGRhdGFbaV0pOworICAgICAgICBs
ZXQgaSA9IDA7CisgICAgICAgIGZvciAobGV0IHBvaW50IG9mIHRoaXMpIHsKKyAgICAgICAgICAg
IGlmIChjYWxsYmFjayhwb2ludCwgaSkpCisgICAgICAgICAgICAgICAgZmlsdGVyZWREYXRhLnB1
c2gocG9pbnQpOworICAgICAgICAgICAgaSsrOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBu
ZXcgVGltZVNlcmllc1ZpZXcodGhpcy5fdGltZVNlcmllcywgMCwgZmlsdGVyZWREYXRhLmxlbmd0
aCwgZmlsdGVyZWREYXRhKTsKICAgICB9CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
dW5pdC10ZXN0cy90aW1lLXNlcmllcy10ZXN0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy90aW1lLXNlcmllcy10ZXN0cy5qcwkocmV2aXNpb24g
MjEyOTM4KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvdGltZS1zZXJp
ZXMtdGVzdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTI3Niw2ICsyNzYsMjAgQEAgZGVzY3JpYmUo
J1RpbWVTZXJpZXMnLCAoKSA9PiB7CiBkZXNjcmliZSgnVGltZVNlcmllc1ZpZXcnLCAoKSA9PiB7
CiAKICAgICBkZXNjcmliZSgnZmlsdGVyJywgKCkgPT4geworICAgICAgICBpdCgnc2hvdWxkIGNh
bGwgY2FsbGJhY2sgd2l0aCBhbiBlbGVtZW50IGluIHRoZSB2aWV3IGFuZCBpdHMgaW5kZXgnLCAo
KSA9PiB7CisgICAgICAgICAgICBjb25zdCB0aW1lU2VyaWVzID0gbmV3IFRpbWVTZXJpZXMoKTsK
KyAgICAgICAgICAgIGFkZFBvaW50c1RvU2VyaWVzKHRpbWVTZXJpZXMsIGZpdmVQb2ludHMpOwor
ICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxWaWV3ID0gdGltZVNlcmllcy52aWV3QmV0d2VlblBv
aW50cyhmaXZlUG9pbnRzWzFdLCBmaXZlUG9pbnRzWzNdKTsKKyAgICAgICAgICAgIGNvbnN0IHBv
aW50cyA9IFtdOworICAgICAgICAgICAgY29uc3QgaW5kaWNlcyA9IFtdOworICAgICAgICAgICAg
Y29uc3QgdmlldyA9IG9yaWdpbmFsVmlldy5maWx0ZXIoKHBvaW50LCBpbmRleCkgPT4geworICAg
ICAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTsKKyAgICAgICAgICAgICAgICBpbmRpY2Vz
LnB1c2goaW5kZXgpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBhc3NlcnQuZGVlcEVx
dWFsKHBvaW50cywgW2ZpdmVQb2ludHNbMV0sIGZpdmVQb2ludHNbMl0sIGZpdmVQb2ludHNbM11d
KTsKKyAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoaW5kaWNlcywgWzAsIDEsIDJdKTsKKyAg
ICAgICAgfSk7CisKICAgICAgICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBmaWx0ZXJlZCB2aWV3Jywg
KCkgPT4gewogICAgICAgICAgICAgY29uc3QgdGltZVNlcmllcyA9IG5ldyBUaW1lU2VyaWVzKCk7
CiAgICAgICAgICAgICBhZGRQb2ludHNUb1Nlcmllcyh0aW1lU2VyaWVzLCBmaXZlUG9pbnRzKTsK
</data>
<flag name="review"
          id="324359"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>