<?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>112168</bug_id>
          
          <creation_ts>2013-03-12 10:52:43 -0700</creation_ts>
          <short_desc>Web Inspector: coalesce repeating timeline records</short_desc>
          <delta_ts>2013-03-13 11:17:07 -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>
          
          <blocked>112172</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>853608</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-12 10:52:43 -0700</bug_when>
    <thetext>We primarily need this because we&apos;d like to stop aggregating Rasterize events on the back-end, as these may have useful nested records, but are still too numerous to show by default on the front-end. The idea is to introduce artificial parent node for top level repeating events.
This also appears to work well with numerous Parse HTML, Send Request and Paint request, slightly improving the density of information presented on main view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853613</commentid>
    <comment_count>1</comment_count>
      <attachid>192768</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-12 10:55:16 -0700</bug_when>
    <thetext>Created attachment 192768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854240</commentid>
    <comment_count>2</comment_count>
      <attachid>192768</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-03-13 06:03:10 -0700</bug_when>
    <thetext>Comment on attachment 192768
Patch

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

&gt; Source/WebCore/inspector/front-end/TimelinePresentationModel.js:433
&gt; +        coalescedRecord.collapsed = true;

redundant</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854422</commentid>
    <comment_count>3</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-13 11:17:07 -0700</bug_when>
    <thetext>Committed r145727: &lt;http://trac.webkit.org/changeset/145727&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192768</attachid>
            <date>2013-03-12 10:55:16 -0700</date>
            <delta_ts>2013-03-13 06:03:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112168-20130312215113.patch</filename>
            <type>text/plain</type>
            <size>17121</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDZmNDgyNDVmMzAwMmUz
MjU0MTNiYjY1M2MyODE4NTg1NmQzMTgzZS4uNzM0MmUxNWNmYmJlMGEzNzc4MmFjYjZkN2FkYWE5
YzMxNGNiNjU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTAzLTEyICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogY29hbGVzY2UgcmVwZWF0aW5nIHRpbWVsaW5lIHJlY29yZHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjE2OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gY29hbGVzY2UgcmVwZWF0aW5nIHRvcC1s
ZXZlbCB0aW1lbGluZSBldmVudHM7CisgICAgICAgIC0gZHJpdmUtYnk6IG9ubHkgc2hvdyBjYXRl
Z29yaWVzIHRoYXQgYWN0dWFsbHkgdG9vayB0aW1lIGluIGFnZ3JlZ2F0ZWQgc3RhdHM7CisKKyAg
ICAgICAgKiBFbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZUZyYW1lQ29udHJvbGxlci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UaW1lbGluZUZyYW1lQ29udHJvbGxlci5wcm90b3R5cGUuX2lubmVyQWRkUmVj
b3JkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUuX2hpZ2hsaWdodFJl
Y3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lQ2FsY3VsYXRvci5wcm90b3R5cGUu
Y29tcHV0ZUJhckdyYXBoUGVyY2VudGFnZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5yZXNldCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX2lubmVyQWRkUmVj
b3JkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnBy
b3RvdHlwZS5fdXBkYXRlQW5jZXN0b3JTdGF0cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX2ZpbmRDb2FsZXNjZWRQYXJlbnQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBl
Ll9yZXBsYWNlV2l0aENvYWxlc2NlZFJlY29yZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuYWRvcHRSZWNvcmQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuaW5zZXJ0UmV0cm9zcGVjdGl2ZVJlY29yZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQu
cHJvdG90eXBlLmdldCBzZWxmVGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlLl9nZW5lcmF0ZVBvcHVwQ29udGVudFdp
dGhJbWFnZVByZXZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0
aW9uTW9kZWwuUmVjb3JkLnByb3RvdHlwZS5fZ2V0UmVjb3JkRGV0YWlscyk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlLmNh
bGN1bGF0ZUFnZ3JlZ2F0ZWRTdGF0cyk6CisKIDIwMTMtMDMtMTIgIFZzZXZvbG9kIFZsYXNvdiAg
PHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU291cmNlRnJh
bWVzIGFyZSBsZWFraW5nIG9uIHJlbG9hZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Vu
Z2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gu
bHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBiNzcwMWEzYWY0ZTc2YmM5ZDYwMGMwMTY4
MmQzODI4ZGZkM2IzNGM4Li5iZDMwNmYxNzcwYjFjMWExN2VmOTZkOTZmMzNlY2UyMjU2YmVkMWQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdz
LmpzCkBAIC0zNiw2ICszNiw3IEBAIGxvY2FsaXplZFN0cmluZ3NbIiVkIHdhcm5pbmdzIl0gPSAi
JWQgd2FybmluZ3MiOwogbG9jYWxpemVkU3RyaW5nc1siJWQgXHhkNyAlZCBwaXhlbHMgKE5hdHVy
YWw6ICVkIFx4ZDcgJWQgcGl4ZWxzKSJdID0gIiVkIFx4ZDcgJWQgcGl4ZWxzIChOYXR1cmFsOiAl
ZCBceGQ3ICVkIHBpeGVscykiOwogbG9jYWxpemVkU3RyaW5nc1siJWQgXHhkNyAlZCBwaXhlbHMi
XSA9ICIlZCBceGQ3ICVkIHBpeGVscyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyIlZCDDlyAlZCJdID0g
IiVkIMOXICVkIjsKK2xvY2FsaXplZFN0cmluZ3NbIsOXICVkIl0gPSAiw5cgJWQiOwogbG9jYWxp
emVkU3RyaW5nc1siJXMgKCVzKSJdID0gIiVzICglcykiOwogbG9jYWxpemVkU3RyaW5nc1siJXMg
KGF0ICVzKSJdID0gIiVzIChhdCAlcykiOwogbG9jYWxpemVkU3RyaW5nc1siJXMgKGZyb20gY2Fj
aGUpIl0gPSAiJXMgKGZyb20gY2FjaGUpIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVGcmFtZUNvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lRnJhbWVDb250cm9sbGVyLmpzCmluZGV4
IDgxZWJjMWZkMTUxNTIwNTAzNGI4MWE2ODlkZmJiOTQ4OWUzYTEyYTkuLjJlYmVlNDAxMjFlNTdl
YTBlNzM5YWUxN2U4NjdlNDc2Y2YwNDI5ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVGcmFtZUNvbnRyb2xsZXIuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZUZyYW1lQ29udHJvbGxlci5qcwpA
QCAtNzgsNyArNzgsOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVGcmFtZUNvbnRyb2xsZXIucHJv
dG90eXBlID0gewogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmICghdGhpcy5fbGFzdEZy
YW1lKQogICAgICAgICAgICAgICAgIHRoaXMuX2xhc3RGcmFtZSA9IHRoaXMuX2NyZWF0ZUZyYW1l
KHJlY29yZCk7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5hZ2dyZWdh
dGVUaW1lRm9yUmVjb3JkKHRoaXMuX2xhc3RGcmFtZS50aW1lQnlDYXRlZ29yeSwgcmVjb3JkKTsK
KyAgICAgICAgICAgIGlmICghcmVjb3JkLnRocmVhZCkKKyAgICAgICAgICAgICAgICBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVNb2RlbC5hZ2dyZWdhdGVUaW1lRm9yUmVjb3JkKHRoaXMuX2xhc3RGcmFt
ZS50aW1lQnlDYXRlZ29yeSwgcmVjb3JkKTsKICAgICAgICAgICAgIHRoaXMuX2xhc3RGcmFtZS5j
cHVUaW1lICs9IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLmR1cmF0aW9uSW5TZWNvbmRzKHJl
Y29yZCk7CiAgICAgICAgIH0KICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCmluZGV4IGI2YjVjNDY4NzhlZGVkNmRhNTQ1
YWNmMTMyN2I5ZDczYjJmZTQ4ZjguLmY0YzY5Y2U3NGZjYTkyZDMzMGExMzMwMzNjZGIyMDE1MDMw
ZTY2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGlt
ZWxpbmVQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rp
bWVsaW5lUGFuZWwuanMKQEAgLTEwNjIsNiArMTA2Miw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVBhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgIF9oaWdobGlnaHRSZWN0OiBmdW5jdGlvbihyZWNv
cmQpCiAgICAgeworICAgICAgICBpZiAocmVjb3JkLmNvYWxlc2NlZCkKKyAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgaWYgKHRoaXMuX2hpZ2hsaWdodGVkUmVjdCA9PT0gcmVjb3JkLmRhdGEp
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHRoaXMuX2hpZ2hsaWdodGVkUmVjdCA9IHJl
Y29yZC5kYXRhOwpAQCAtMTI3Nyw3ICsxMjc5LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQ2Fs
Y3VsYXRvci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBzdGFydCA9IChyZWNvcmQuc3RhcnRU
aW1lIC0gdGhpcy5fbWluaW11bUJvdW5kYXJ5KSAvIHRoaXMuYm91bmRhcnlTcGFuKCkgKiAxMDA7
CiAgICAgICAgIHZhciBlbmQgPSAocmVjb3JkLnN0YXJ0VGltZSArIHJlY29yZC5zZWxmVGltZSAt
IHRoaXMuX21pbmltdW1Cb3VuZGFyeSkgLyB0aGlzLmJvdW5kYXJ5U3BhbigpICogMTAwOwogICAg
ICAgICB2YXIgZW5kV2l0aENoaWxkcmVuID0gKHJlY29yZC5sYXN0Q2hpbGRFbmRUaW1lIC0gdGhp
cy5fbWluaW11bUJvdW5kYXJ5KSAvIHRoaXMuYm91bmRhcnlTcGFuKCkgKiAxMDA7Ci0gICAgICAg
IHZhciBjcHVXaWR0aCA9IHJlY29yZC5jcHVUaW1lIC8gdGhpcy5ib3VuZGFyeVNwYW4oKSAqIDEw
MDsKKyAgICAgICAgdmFyIGNwdVdpZHRoID0gcmVjb3JkLmNvYWxlc2NlZCA/IGVuZFdpdGhDaGls
ZHJlbiAtIHN0YXJ0IDogcmVjb3JkLmNwdVRpbWUgLyB0aGlzLmJvdW5kYXJ5U3BhbigpICogMTAw
OwogICAgICAgICByZXR1cm4ge3N0YXJ0OiBzdGFydCwgZW5kOiBlbmQsIGVuZFdpdGhDaGlsZHJl
bjogZW5kV2l0aENoaWxkcmVuLCBjcHVXaWR0aDogY3B1V2lkdGh9OwogICAgIH0sCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50
YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxp
bmVQcmVzZW50YXRpb25Nb2RlbC5qcwppbmRleCBkMmViNmQwZmVjMzkzMGJlOGNkMzZiY2EyMTdi
ZmRmYzA5NDRhM2UxLi41MGQ0MGI5YmYxYWY3MDM4OTMyYWJmOGUzZTE5MzA4Mzk1ZDY5MjFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJl
c2VudGF0aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC0yNzIsNiArMjcyLDcgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICB0
aGlzLl9sYXlvdXRJbnZhbGlkYXRlU3RhY2sgPSB7fTsKICAgICAgICAgdGhpcy5fbGFzdFNjaGVk
dWxlU3R5bGVSZWNhbGN1bGF0aW9uID0ge307CiAgICAgICAgIHRoaXMuX3dlYlNvY2tldENyZWF0
ZVJlY29yZHMgPSB7fTsKKyAgICAgICAgdGhpcy5fY29hbGVzY2luZ0J1Y2tldHMgPSB7fTsKICAg
ICB9LAogCiAgICAgYWRkRnJhbWU6IGZ1bmN0aW9uKGZyYW1lKQpAQCAtMzAyLDEyICszMDMsMjQg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewog
ICAgICAgICBjb25zdCByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJl
Y29yZFR5cGU7CiAgICAgICAgIHZhciBpc0hpZGRlblJlY29yZCA9IHJlY29yZC50eXBlIGluIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9oaWRkZW5SZWNvcmRzOwogICAg
ICAgICB2YXIgb3JpZ2luOworICAgICAgICB2YXIgY29hbGVzY2luZ0J1Y2tldDsKKwogICAgICAg
ICBpZiAoIWlzSGlkZGVuUmVjb3JkKSB7CiAgICAgICAgICAgICB2YXIgbmV3UGFyZW50UmVjb3Jk
ID0gdGhpcy5fZmluZFBhcmVudFJlY29yZChyZWNvcmQpOwogICAgICAgICAgICAgaWYgKG5ld1Bh
cmVudFJlY29yZCkgewogICAgICAgICAgICAgICAgIG9yaWdpbiA9IHBhcmVudFJlY29yZDsKICAg
ICAgICAgICAgICAgICBwYXJlbnRSZWNvcmQgPSBuZXdQYXJlbnRSZWNvcmQ7CiAgICAgICAgICAg
ICB9CisgICAgICAgICAgICBpZiAocGFyZW50UmVjb3JkID09PSB0aGlzLl9yb290UmVjb3JkKSB7
CisgICAgICAgICAgICAgICAgLy8gT24gbWFpbiB0aHJlYWQsIG9ubHkgY29hbGVzY2UgaWYgdGhl
IGxhc3QgZXZlbnQgaXMgb2Ygc2FtZSB0eXBlLgorICAgICAgICAgICAgICAgIGNvYWxlc2NpbmdC
dWNrZXQgPSByZWNvcmQudGhyZWFkID8gcmVjb3JkLnR5cGUgOiAibWFpblRocmVhZCI7CisgICAg
ICAgICAgICAgICAgdmFyIGNvYWxlc2NlZFJlY29yZCA9IHRoaXMuX2ZpbmRDb2FsZXNjZWRQYXJl
bnQocmVjb3JkLCBjb2FsZXNjaW5nQnVja2V0KTsKKyAgICAgICAgICAgICAgICBpZiAoY29hbGVz
Y2VkUmVjb3JkKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghb3JpZ2luKQorICAgICAgICAg
ICAgICAgICAgICAgICAgb3JpZ2luID0gcGFyZW50UmVjb3JkOworICAgICAgICAgICAgICAgICAg
ICBwYXJlbnRSZWNvcmQgPSBjb2FsZXNjZWRSZWNvcmQ7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgdmFyIGNoaWxkcmVuID0gcmVjb3JkLmNo
aWxkcmVuOwpAQCAtMzM1LDMyICszNDgsOTggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2Vu
dGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICBpZiAoaXNIaWRkZW5SZWNvcmQpCiAg
ICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkUmVjb3JkOwogCi0gICAgICAgIGZvcm1hdHRlZFJl
Y29yZC5jb2xsYXBzZWQgPSAocGFyZW50UmVjb3JkID09PSB0aGlzLl9yb290UmVjb3JkKTsKKyAg
ICAgICAgZm9ybWF0dGVkUmVjb3JkLmNvbGxhcHNlZCA9IHBhcmVudFJlY29yZCA9PT0gdGhpcy5f
cm9vdFJlY29yZDsKKyAgICAgICAgaWYgKGNvYWxlc2NpbmdCdWNrZXQpCisgICAgICAgICAgICB0
aGlzLl9jb2FsZXNjaW5nQnVja2V0c1tjb2FsZXNjaW5nQnVja2V0XSA9IGZvcm1hdHRlZFJlY29y
ZDsKIAogICAgICAgICB2YXIgY2hpbGRyZW5Db3VudCA9IGNoaWxkcmVuID8gY2hpbGRyZW4ubGVu
Z3RoIDogMDsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkNvdW50OyArK2kp
CiAgICAgICAgICAgICB0aGlzLl9pbm5lckFkZFJlY29yZChjaGlsZHJlbltpXSwgZm9ybWF0dGVk
UmVjb3JkKTsKIAotICAgICAgICBmb3JtYXR0ZWRSZWNvcmQuY2FsY3VsYXRlQWdncmVnYXRlZFN0
YXRzKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmNhdGVnb3JpZXMoKSk7
Ci0KLSAgICAgICAgaWYgKG9yaWdpbikgewotICAgICAgICAgICAgdmFyIGxhc3RDaGlsZEVuZFRp
bWUgPSBmb3JtYXR0ZWRSZWNvcmQubGFzdENoaWxkRW5kVGltZTsKLSAgICAgICAgICAgIHZhciBh
Z2dyZWdhdGVkU3RhdHMgPSBmb3JtYXR0ZWRSZWNvcmQuYWdncmVnYXRlZFN0YXRzOwotICAgICAg
ICAgICAgZm9yICh2YXIgY3VycmVudFJlY29yZCA9IGZvcm1hdHRlZFJlY29yZC5wYXJlbnQ7ICFj
dXJyZW50UmVjb3JkLmlzUm9vdCgpOyBjdXJyZW50UmVjb3JkID0gY3VycmVudFJlY29yZC5wYXJl
bnQpIHsKLSAgICAgICAgICAgICAgICBjdXJyZW50UmVjb3JkLl9jcHVUaW1lICs9IGZvcm1hdHRl
ZFJlY29yZC5fY3B1VGltZTsKLSAgICAgICAgICAgICAgICBpZiAoY3VycmVudFJlY29yZC5sYXN0
Q2hpbGRFbmRUaW1lIDwgbGFzdENoaWxkRW5kVGltZSkKLSAgICAgICAgICAgICAgICAgICAgY3Vy
cmVudFJlY29yZC5sYXN0Q2hpbGRFbmRUaW1lID0gbGFzdENoaWxkRW5kVGltZTsKLSAgICAgICAg
ICAgICAgICBmb3IgKHZhciBjYXRlZ29yeSBpbiBhZ2dyZWdhdGVkU3RhdHMpCi0gICAgICAgICAg
ICAgICAgICAgIGN1cnJlbnRSZWNvcmQuYWdncmVnYXRlZFN0YXRzW2NhdGVnb3J5XSArPSBhZ2dy
ZWdhdGVkU3RhdHNbY2F0ZWdvcnldOwotICAgICAgICAgICAgfQotICAgICAgICB9CisgICAgICAg
IGZvcm1hdHRlZFJlY29yZC5jYWxjdWxhdGVBZ2dyZWdhdGVkU3RhdHMoKTsKKworICAgICAgICBp
ZiAob3JpZ2luKQorICAgICAgICAgICAgdGhpcy5fdXBkYXRlQW5jZXN0b3JTdGF0cyhmb3JtYXR0
ZWRSZWNvcmQpOworCisgICAgICAgIGlmIChwYXJlbnRSZWNvcmQuY29hbGVzY2VkICYmIHBhcmVu
dFJlY29yZC5zdGFydFRpbWUgPiBmb3JtYXR0ZWRSZWNvcmQuc3RhcnRUaW1lKQorICAgICAgICAg
ICAgcGFyZW50UmVjb3JkLl9yZWNvcmQuc3RhcnRUaW1lID0gcmVjb3JkLnN0YXJ0VGltZTsKKwog
ICAgICAgICBvcmlnaW4gPSBmb3JtYXR0ZWRSZWNvcmQub3JpZ2luKCk7Ci0gICAgICAgIGlmICgh
b3JpZ2luLmlzUm9vdCgpKSB7CisgICAgICAgIGlmICghb3JpZ2luLmlzUm9vdCgpICYmICFvcmln
aW4uY29hbGVzY2VkKQogICAgICAgICAgICAgb3JpZ2luLnNlbGZUaW1lIC09IGZvcm1hdHRlZFJl
Y29yZC5lbmRUaW1lIC0gZm9ybWF0dGVkUmVjb3JkLnN0YXJ0VGltZTsKLSAgICAgICAgfQogICAg
ICAgICByZXR1cm4gZm9ybWF0dGVkUmVjb3JkOwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0gcmVj
b3JkCisgICAgICovCisgICAgX3VwZGF0ZUFuY2VzdG9yU3RhdHM6IGZ1bmN0aW9uKHJlY29yZCkK
KyAgICB7CisgICAgICAgIHZhciBsYXN0Q2hpbGRFbmRUaW1lID0gcmVjb3JkLmxhc3RDaGlsZEVu
ZFRpbWU7CisgICAgICAgIHZhciBhZ2dyZWdhdGVkU3RhdHMgPSByZWNvcmQuYWdncmVnYXRlZFN0
YXRzOworICAgICAgICBmb3IgKHZhciBjdXJyZW50UmVjb3JkID0gcmVjb3JkLnBhcmVudDsgY3Vy
cmVudFJlY29yZCAmJiAhY3VycmVudFJlY29yZC5pc1Jvb3QoKTsgY3VycmVudFJlY29yZCA9IGN1
cnJlbnRSZWNvcmQucGFyZW50KSB7CisgICAgICAgICAgICBjdXJyZW50UmVjb3JkLl9jcHVUaW1l
ICs9IHJlY29yZC5fY3B1VGltZTsKKyAgICAgICAgICAgIGlmIChjdXJyZW50UmVjb3JkLmxhc3RD
aGlsZEVuZFRpbWUgPCBsYXN0Q2hpbGRFbmRUaW1lKQorICAgICAgICAgICAgICAgIGN1cnJlbnRS
ZWNvcmQubGFzdENoaWxkRW5kVGltZSA9IGxhc3RDaGlsZEVuZFRpbWU7CisgICAgICAgICAgICBm
b3IgKHZhciBjYXRlZ29yeSBpbiBhZ2dyZWdhdGVkU3RhdHMpCisgICAgICAgICAgICAgICAgY3Vy
cmVudFJlY29yZC5hZ2dyZWdhdGVkU3RhdHNbY2F0ZWdvcnldICs9IGFnZ3JlZ2F0ZWRTdGF0c1tj
YXRlZ29yeV07CisgICAgICAgIH0KKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtP
YmplY3R9IHJlY29yZAorICAgICAqIEBwYXJhbSB7U3RyaW5nfSBidWNrZXQKKyAgICAgKiBAcmV0
dXJuIHtXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQ/fQorICAg
ICAqLworICAgIF9maW5kQ29hbGVzY2VkUGFyZW50OiBmdW5jdGlvbihyZWNvcmQsIGJ1Y2tldCkK
KyAgICB7CisgICAgICAgIGNvbnN0IGNvYWxlc2NpbmdUaHJlc2hvbGRTZWNvbmRzID0gMC4wMDE7
CisKKyAgICAgICAgdmFyIGxhc3RSZWNvcmQgPSB0aGlzLl9jb2FsZXNjaW5nQnVja2V0c1tidWNr
ZXRdOworICAgICAgICB2YXIgc3RhcnRUaW1lID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwu
c3RhcnRUaW1lSW5TZWNvbmRzKHJlY29yZCk7CisgICAgICAgIHZhciBlbmRUaW1lID0gV2ViSW5z
cGVjdG9yLlRpbWVsaW5lTW9kZWwuZW5kVGltZUluU2Vjb25kcyhyZWNvcmQpOworICAgICAgICBp
ZiAoIWxhc3RSZWNvcmQgfHwgbGFzdFJlY29yZC50eXBlICE9PSByZWNvcmQudHlwZSkKKyAgICAg
ICAgICAgIHJldHVybiBudWxsOworICAgICAgICBpZiAobGFzdFJlY29yZC5lbmRUaW1lICsgY29h
bGVzY2luZ1RocmVzaG9sZFNlY29uZHMgPCBzdGFydFRpbWUpCisgICAgICAgICAgICByZXR1cm4g
bnVsbDsKKyAgICAgICAgaWYgKGVuZFRpbWUgKyBjb2FsZXNjaW5nVGhyZXNob2xkU2Vjb25kcyA8
IGxhc3RSZWNvcmQuc3RhcnRUaW1lKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAg
IGlmIChsYXN0UmVjb3JkLnBhcmVudC5jb2FsZXNjZWQpCisgICAgICAgICAgICByZXR1cm4gbGFz
dFJlY29yZC5wYXJlbnQ7CisgICAgICAgIC8vIERvIG5vdCBhZ2dyZWdhdGUgcmVjb3JkcyB0aGF0
IHdlcmUgcmVwYXJlbnRlZC4KKyAgICAgICAgaWYgKGxhc3RSZWNvcmQucGFyZW50ICE9PSB0aGlz
Ll9yb290UmVjb3JkKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIHJldHVybiB0
aGlzLl9yZXBsYWNlV2l0aENvYWxlc2NlZFJlY29yZChsYXN0UmVjb3JkKTsKKyAgICB9LAorCisg
ICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25N
b2RlbC5SZWNvcmR9IHJlY29yZAorICAgICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5UaW1lbGlu
ZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZH0KKyAgICAgKi8KKyAgICBfcmVwbGFjZVdpdGhDb2Fs
ZXNjZWRSZWNvcmQ6IGZ1bmN0aW9uKHJlY29yZCkKKyAgICB7CisgICAgICAgIHZhciByYXdSZWNv
cmQgPSB7CisgICAgICAgICAgICB0eXBlOiByZWNvcmQuX3JlY29yZC50eXBlLAorICAgICAgICAg
ICAgc3RhcnRUaW1lOiByZWNvcmQuX3JlY29yZC5zdGFydFRpbWUsCisgICAgICAgICAgICBlbmRU
aW1lOiByZWNvcmQuX3JlY29yZC5lbmRUaW1lLAorICAgICAgICAgICAgZGF0YTogeyB9CisgICAg
ICAgIH07CisgICAgICAgIGlmIChyZWNvcmQuX3JlY29yZC50aHJlYWQpCisgICAgICAgICAgICBy
YXdSZWNvcmQudGhyZWFkID0gImFnZ3JlZ2F0ZWQiOworICAgICAgICB2YXIgY29hbGVzY2VkUmVj
b3JkID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZCh0
aGlzLCByYXdSZWNvcmQsIG51bGwsIG51bGwsIG51bGwsIGZhbHNlKTsKKyAgICAgICAgdmFyIHBh
cmVudCA9IHJlY29yZC5wYXJlbnQ7CisKKyAgICAgICAgY29hbGVzY2VkUmVjb3JkLmNvYWxlc2Nl
ZCA9IHRydWU7CisgICAgICAgIGNvYWxlc2NlZFJlY29yZC5jb2xsYXBzZWQgPSB0cnVlOworICAg
ICAgICBjb2FsZXNjZWRSZWNvcmQuX2NoaWxkcmVuLnB1c2gocmVjb3JkKTsKKyAgICAgICAgcmVj
b3JkLnBhcmVudCA9IGNvYWxlc2NlZFJlY29yZDsKKyAgICAgICAgY29hbGVzY2VkUmVjb3JkLmNh
bGN1bGF0ZUFnZ3JlZ2F0ZWRTdGF0cygpOworCisgICAgICAgIGNvYWxlc2NlZFJlY29yZC5wYXJl
bnQgPSBwYXJlbnQ7CisgICAgICAgIHBhcmVudC5fY2hpbGRyZW5bcGFyZW50Ll9jaGlsZHJlbi5p
bmRleE9mKHJlY29yZCldID0gY29hbGVzY2VkUmVjb3JkOworICAgICAgICByZXR1cm4gY29hbGVz
Y2VkUmVjb3JkOworICAgIH0sCisKICAgICBfZmluZFBhcmVudFJlY29yZDogZnVuY3Rpb24ocmVj
b3JkKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9nbHVlUmVjb3JkcykKQEAgLTUxMywxMyAr
NTkyLDEzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlw
ZSA9IHsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZCA9IGZ1
bmN0aW9uKHByZXNlbnRhdGlvbk1vZGVsLCByZWNvcmQsIHBhcmVudFJlY29yZCwgb3JpZ2luLCBz
Y3JpcHREZXRhaWxzLCBoaWRkZW4pCiB7CiAgICAgdGhpcy5fbGlua2lmaWVyID0gcHJlc2VudGF0
aW9uTW9kZWwuX2xpbmtpZmllcjsKLSAgICB0aGlzLl9hZ2dyZWdhdGVkU3RhdHMgPSBbXTsKKyAg
ICB0aGlzLl9hZ2dyZWdhdGVkU3RhdHMgPSB7fTsKICAgICB0aGlzLl9yZWNvcmQgPSByZWNvcmQ7
CiAgICAgdGhpcy5fY2hpbGRyZW4gPSBbXTsKICAgICBpZiAoIWhpZGRlbiAmJiBwYXJlbnRSZWNv
cmQpIHsKICAgICAgICAgdGhpcy5wYXJlbnQgPSBwYXJlbnRSZWNvcmQ7Ci0gICAgICAgIGlmICh0
aGlzLmlzQmFja2dyb3VuZCAmJiBwYXJlbnRSZWNvcmQgPT09IHByZXNlbnRhdGlvbk1vZGVsLl9y
b290UmVjb3JkKQotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9u
TW9kZWwuaW5zZXJ0UmV0cm9zcGVjaXR2ZVJlY29yZChwYXJlbnRSZWNvcmQsIHRoaXMpOworICAg
ICAgICBpZiAodGhpcy5pc0JhY2tncm91bmQpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5pbnNlcnRSZXRyb3NwZWN0aXZlUmVjb3JkKHBhcmVudFJl
Y29yZCwgdGhpcyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHBhcmVudFJlY29yZC5jaGls
ZHJlbi5wdXNoKHRoaXMpOwogICAgIH0KQEAgLTYyMSw4ICs3MDAsNyBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQgPSBmdW5jdGlvbihwcmVzZW50YXRpb25N
b2RlbCwgcmVjbwogICAgICAgICAgICAgICAgIHZhciBvcGVuUmVjb3JkID0gcmVjb3JkU3RhY2tb
aW5kZXggLSAxXTsKICAgICAgICAgICAgICAgICBpZiAob3BlblJlY29yZC5zdGFydFRpbWUgPiB0
aW1lUmVjb3JkLnN0YXJ0VGltZSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgICAgICAgICAgdGltZVJlY29yZC5wYXJlbnQuY2hpbGRyZW4uc3BsaWNlKHRpbWVSZWNvcmQu
cGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGltZVJlY29yZCkpOwotICAgICAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmluc2VydFJldHJvc3BlY2l0dmVS
ZWNvcmQob3BlblJlY29yZCwgdGltZVJlY29yZCk7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuYWRvcHRSZWNvcmQob3BlblJlY29yZCwgdGlt
ZVJlY29yZCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KQEAgLTY4Myw3ICs3NjEsMTQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9u
TW9kZWwuUmVjb3JkID0gZnVuY3Rpb24ocHJlc2VudGF0aW9uTW9kZWwsIHJlY28KICAgICB9CiB9
CiAKLVdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmluc2VydFJldHJvc3Bl
Y2l0dmVSZWNvcmQgPSBmdW5jdGlvbihwYXJlbnQsIHJlY29yZCkKK1dlYkluc3BlY3Rvci5UaW1l
bGluZVByZXNlbnRhdGlvbk1vZGVsLmFkb3B0UmVjb3JkID0gZnVuY3Rpb24obmV3UGFyZW50LCBy
ZWNvcmQpCit7CisgICAgcmVjb3JkLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UocmVjb3JkLnBhcmVu
dC5jaGlsZHJlbi5pbmRleE9mKHJlY29yZCkpOworICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZVBy
ZXNlbnRhdGlvbk1vZGVsLmluc2VydFJldHJvc3BlY3RpdmVSZWNvcmQobmV3UGFyZW50LCByZWNv
cmQpOworICAgIHJlY29yZC5wYXJlbnQgPSBuZXdQYXJlbnQ7Cit9CisKK1dlYkluc3BlY3Rvci5U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmluc2VydFJldHJvc3BlY3RpdmVSZWNvcmQgPSBmdW5j
dGlvbihwYXJlbnQsIHJlY29yZCkKIHsKICAgICBmdW5jdGlvbiBjb21wYXJlU3RhcnRUaW1lKHZh
bHVlLCByZWNvcmQpCiAgICAgewpAQCAtNzA2LDcgKzc5MSw3IEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZC5wcm90b3R5cGUgPSB7CiAKICAgICBnZXQgc2Vs
ZlRpbWUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGZUaW1lOworICAgICAgICBy
ZXR1cm4gdGhpcy5jb2FsZXNjZWQgPyB0aGlzLl9sYXN0Q2hpbGRFbmRUaW1lIC0gdGhpcy5zdGFy
dFRpbWUgOiB0aGlzLl9zZWxmVGltZTsKICAgICB9LAogCiAgICAgc2V0IHNlbGZUaW1lKHRpbWUp
CkBAIC04NzgsMTEgKzk2MywxNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25N
b2RlbC5SZWNvcmQucHJvdG90eXBlID0gewogICAgICAgICBjb250ZW50SGVscGVyLmFwcGVuZFRl
eHRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEdXJhdGlvbiIpLCB0ZXh0KTsKIAogICAgICAg
ICBpZiAodGhpcy5fY2hpbGRyZW4ubGVuZ3RoKSB7Ci0gICAgICAgICAgICBjb250ZW50SGVscGVy
LmFwcGVuZFRleHRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWxmIFRpbWUiKSwgTnVtYmVy
LnNlY29uZHNUb1N0cmluZyh0aGlzLl9zZWxmVGltZSwgdHJ1ZSkpOworICAgICAgICAgICAgaWYg
KCF0aGlzLmNvYWxlc2NlZCkKKyAgICAgICAgICAgICAgICBjb250ZW50SGVscGVyLmFwcGVuZFRl
eHRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWxmIFRpbWUiKSwgTnVtYmVyLnNlY29uZHNU
b1N0cmluZyh0aGlzLl9zZWxmVGltZSwgdHJ1ZSkpOwogICAgICAgICAgICAgY29udGVudEhlbHBl
ci5hcHBlbmRUZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ1BVIFRpbWUiKSwgTnVtYmVy
LnNlY29uZHNUb1N0cmluZyh0aGlzLl9jcHVUaW1lLCB0cnVlKSk7CiAgICAgICAgICAgICBjb250
ZW50SGVscGVyLmFwcGVuZEVsZW1lbnRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBZ2dyZWdh
dGVkIFRpbWUiKSwKICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50
YXRpb25Nb2RlbC5fZ2VuZXJhdGVBZ2dyZWdhdGVkSW5mbyh0aGlzLl9hZ2dyZWdhdGVkU3RhdHMp
KTsKICAgICAgICAgfQorCisgICAgICAgIGlmICh0aGlzLmNvYWxlc2NlZCkgeworICAgICAgICAg
ICAgY2FsbGJhY2soY29udGVudEhlbHBlci5jb250ZW50VGFibGUoKSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KICAgICAgICAgY29uc3QgcmVjb3JkVHlwZXMgPSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlOwogCiAgICAgICAgIC8vIFRoZSBtZXNzYWdlcyBt
YXkgdmFyeSBwZXIgcmVjb3JkIHR5cGU7CkBAIC0xMDIyLDYgKzExMTMsOSBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5SZWNvcmQucHJvdG90eXBlID0gewogICAgIF9n
ZXRSZWNvcmREZXRhaWxzOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2YXIgZGV0YWlsczsK
KyAgICAgICAgaWYgKHRoaXMuY29hbGVzY2VkKQorICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Ny
ZWF0ZVNwYW5XaXRoVGV4dChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIsOXICVkIiwgdGhpcy5jaGls
ZHJlbi5sZW5ndGgpKTsKKwogICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkgewogICAgICAgICBj
YXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuR0NFdmVudDoKICAgICAg
ICAgICAgIGRldGFpbHMgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVzIGNvbGxlY3RlZCIsIE51
bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMuZGF0YVsidXNlZEhlYXBTaXplRGVsdGEiXSkpOwpAQCAt
MTA4NCw3ICsxMTc4LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwu
UmVjb3JkLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGRldGFpbHMgJiYgIShkZXRhaWxzIGlu
c3RhbmNlb2YgTm9kZSkpCiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY3JlYXRlU3BhbldpdGhU
ZXh0KCIiICsgZGV0YWlscyk7CiAKLSAgICAgICAgcmV0dXJuIGRldGFpbHMgPyBkZXRhaWxzIDog
bnVsbDsKKyAgICAgICAgcmV0dXJuIGRldGFpbHMgfHwgbnVsbDsKICAgICB9LAogCiAgICAgLyoq
CkBAIC0xMTI4LDIxICsxMjIyLDE5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlv
bk1vZGVsLlJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZh
bHVlID8gIiIgKyBkZWZhdWx0VmFsdWUgOiBudWxsOwogICAgIH0sCiAKLSAgICBjYWxjdWxhdGVB
Z2dyZWdhdGVkU3RhdHM6IGZ1bmN0aW9uKGNhdGVnb3JpZXMpCisgICAgY2FsY3VsYXRlQWdncmVn
YXRlZFN0YXRzOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9hZ2dyZWdhdGVkU3Rh
dHMgPSB7fTsKLSAgICAgICAgZm9yICh2YXIgY2F0ZWdvcnkgaW4gY2F0ZWdvcmllcykKLSAgICAg
ICAgICAgIHRoaXMuX2FnZ3JlZ2F0ZWRTdGF0c1tjYXRlZ29yeV0gPSAwOwogICAgICAgICB0aGlz
Ll9jcHVUaW1lID0gdGhpcy5fc2VsZlRpbWU7CiAKICAgICAgICAgZm9yICh2YXIgaW5kZXggPSB0
aGlzLl9jaGlsZHJlbi5sZW5ndGg7IGluZGV4OyAtLWluZGV4KSB7CiAgICAgICAgICAgICB2YXIg
Y2hpbGQgPSB0aGlzLl9jaGlsZHJlbltpbmRleCAtIDFdOwotICAgICAgICAgICAgZm9yICh2YXIg
Y2F0ZWdvcnkgaW4gY2F0ZWdvcmllcykKLSAgICAgICAgICAgICAgICB0aGlzLl9hZ2dyZWdhdGVk
U3RhdHNbY2F0ZWdvcnldICs9IGNoaWxkLl9hZ2dyZWdhdGVkU3RhdHNbY2F0ZWdvcnldOworICAg
ICAgICAgICAgZm9yICh2YXIgY2F0ZWdvcnkgaW4gY2hpbGQuX2FnZ3JlZ2F0ZWRTdGF0cykKKyAg
ICAgICAgICAgICAgICB0aGlzLl9hZ2dyZWdhdGVkU3RhdHNbY2F0ZWdvcnldID0gKHRoaXMuX2Fn
Z3JlZ2F0ZWRTdGF0c1tjYXRlZ29yeV0gfHwgMCkgKyBjaGlsZC5fYWdncmVnYXRlZFN0YXRzW2Nh
dGVnb3J5XTsKICAgICAgICAgfQogICAgICAgICBmb3IgKHZhciBjYXRlZ29yeSBpbiB0aGlzLl9h
Z2dyZWdhdGVkU3RhdHMpCiAgICAgICAgICAgICB0aGlzLl9jcHVUaW1lICs9IHRoaXMuX2FnZ3Jl
Z2F0ZWRTdGF0c1tjYXRlZ29yeV07Ci0gICAgICAgIHRoaXMuX2FnZ3JlZ2F0ZWRTdGF0c1t0aGlz
LmNhdGVnb3J5Lm5hbWVdICs9IHRoaXMuX3NlbGZUaW1lOworICAgICAgICB0aGlzLl9hZ2dyZWdh
dGVkU3RhdHNbdGhpcy5jYXRlZ29yeS5uYW1lXSA9ICh0aGlzLl9hZ2dyZWdhdGVkU3RhdHNbdGhp
cy5jYXRlZ29yeS5uYW1lXSB8fCAwKSArIHRoaXMuX3NlbGZUaW1lOwogICAgIH0sCiAKICAgICBn
ZXQgYWdncmVnYXRlZFN0YXRzKCkK
</data>
<flag name="review"
          id="214104"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>