<?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>159597</bug_id>
          
          <creation_ts>2016-07-08 23:31:21 -0700</creation_ts>
          <short_desc>Perf dashboard can consume 50-70% of CPU on MacBook even if user is not interacting at all</short_desc>
          <delta_ts>2016-07-09 15:59:43 -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>Perf Dashboard</component>
          <version>WebKit Nightly Build</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>barraclough</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1209413</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-07-08 23:31:21 -0700</bug_when>
    <thetext>Apparently continuously polling on requestAnimationFrame isn&apos;t great for battery life :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209414</commentid>
    <comment_count>1</comment_count>
      <attachid>283247</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-07-08 23:49:33 -0700</bug_when>
    <thetext>Created attachment 283247
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209415</commentid>
    <comment_count>2</comment_count>
      <attachid>283248</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-07-08 23:53:34 -0700</bug_when>
    <thetext>Created attachment 283248
Use Set for render queue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209442</commentid>
    <comment_count>3</comment_count>
      <attachid>283248</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-09 08:17:54 -0700</bug_when>
    <thetext>Comment on attachment 283248
Use Set for render queue

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209486</commentid>
    <comment_count>4</comment_count>
      <attachid>283248</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-09 15:59:36 -0700</bug_when>
    <thetext>Comment on attachment 283248
Use Set for render queue

Clearing flags on attachment: 283248

Committed r203035: &lt;http://trac.webkit.org/changeset/203035&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209487</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-09 15:59:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283247</attachid>
            <date>2016-07-08 23:49:33 -0700</date>
            <delta_ts>2016-07-08 23:53:30 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-159597-20160708234857.patch</filename>
            <type>text/plain</type>
            <size>21113</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjAzMDE5KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ5IEBACisyMDE2LTA3LTA5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIFBlcmYgZGFzaGJvYXJkIGNhbiBjb25zdW1lIDUwLTcwJSBvZiBDUFUgb24gTWFj
Qm9vayBldmVuIGlmIHVzZXIgaXMgbm90IGludGVyYWN0aW5nIGF0IGFsbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NTk3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGltZVNlcmllc0NoYXJ0IGFuZCBJ
bnRlcmFjdGl2ZVRpbWVTZXJpZXNDaGFydCBoYWQgYmVlbiByZWx5aW5nIG9uIGNvbnRpbnVhbGx5
IHBvbGxpbmcgb24gcmVxdWVzdEFuaW1hdGlvbkZyYW1lCisgICAgICAgIHRvIHVwZGF0ZSBpdHNl
bGYgaW4gcmVzcG9uc2UgdG8gaXRzIGNhbnZhcyByZXNpemluZy4gRXZlbiB0aG91Z2ggdGhlcmUg
YXMgYW4gZWFybHkgZXhpdCBpbiB0aGUgY2FzZSB0aGVyZSB3YXMKKyAgICAgICAgbm90aGluZyB0
byB1cGRhdGUsIHRoaXMgaXMgc3RpbGwgY2F1c2luZyBhIHNpZ25pZmljYW50IHBvd2VyIGRyYWlu
IHdoZW4gdGhlIHVzZXIgaXMgbm90IGludGVyYWN0aW5nIGF0IGFsbC4KKworICAgICAgICBMZXQg
VGltZVNlcmllc0NoYXJ0IHVzZSB0aGUgcmVndWxhciB0b3AtZG93biByZW5kZXIgcGF0aCBsaWtl
IG90aGVyIGNvbXBvbmVudHMgd2l0aCBleGNlcHRpb25zIG9mIGxpc3RlbmluZyB0bworICAgICAg
ICB3aW5kb3cncyByZXNpemUgZXZlbnRhcyB3ZWxsIGFzIHdoZW4gbmV3IEpTT05zIGFyZSBmZXRj
aGVkIGZyb20gdGhlIHNlcnZlci4gVGhlIHJlbmRlcigpIGNhbGwgdG8gdGhlIGxhdHRlciBjYXNl
CisgICAgICAgIHdpbGwgYmUgY29lcmNlZCBpbnRvIGEgc2luZ2xlIGNhbGxiYWNrIG9uIHJlcXVl
c3RBbmltYXRpb25GcmFtZSB0byBhdm9pZCBET00tbXV0YXRpb24tbGF5b3V0IGNodXJuLgorCisg
ICAgICAgICogcHVibGljL3YzL2NvbXBvbmVudHMvYmFzZS5qczoKKyAgICAgICAgKENvbXBvbmVu
dEJhc2UuaXNFbGVtZW50SW5WaWV3cG9ydCk6IERlbGV0ZWQuCisgICAgICAgICogcHVibGljL3Yz
L2NvbXBvbmVudHMvY2hhcnQtcGFuZS1iYXNlLmpzOgorICAgICAgICAoQ2hhcnRQYW5lQmFzZS5w
cm90b3R5cGUucmVuZGVyKTogRW5xdWV1ZSBjaGFydHMgdG8gcmVuZGVyLgorICAgICAgICAqIHB1
YmxpYy92My9jb21wb25lbnRzL2NoYXJ0LXN0eWxlcy5qczoKKyAgICAgICAgKENoYXJ0U3R5bGVz
LmRhc2hib2FyZE9wdGlvbnMpOiBSZW1vdmVkIHVwZGF0ZU9uUmVxdWVzdEFuaW1hdGlvbkZyYW1l
IHdoaWNoIGlzIG5vIGxvbmdlciBhbiBhdmFpbGFibGUgb3B0aW9uLgorICAgICAgICAqIHB1Ymxp
Yy92My9jb21wb25lbnRzL3RpbWUtc2VyaWVzLWNoYXJ0LmpzOgorICAgICAgICAoVGltZVNlcmll
c0NoYXJ0KTogUmVwbGFjZWQgdGhlIGNvZGUgdG8gcmVnaXN0ZXIgaXRzZWxmIGZvciByQUYgYnkg
dGhlIGNvZGUgdG8gbGlzdGVuIHRvIHJlc2l6ZSBldmVudHMgb24gd2luZG93LgorICAgICAgICAo
VGltZVNlcmllc0NoYXJ0Ll91cGRhdGVPblJBRik6IERlbGV0ZWQuCisgICAgICAgIChUaW1lU2Vy
aWVzQ2hhcnQuX3VwZGF0ZUFsbENoYXJ0cyk6IEFkZGVkLgorICAgICAgICAoVGltZVNlcmllc0No
YXJ0LnByb3RvdHlwZS5fZW5xdWV1ZVRvUmVuZGVyKTogQWRkZWQuCisgICAgICAgIChUaW1lU2Vy
aWVzQ2hhcnQuX3JlbmRlckVucXVldWVkQ2hhcnRzKTogQWRkZWQuCisgICAgICAgIChUaW1lU2Vy
aWVzQ2hhcnQucHJvdG90eXBlLmZldGNoTWVhc3VyZW1lbnRTZXRzKTogQXZvaWQgY2FsbGluZyBm
ZXRjaEJldHdlZW4gd2hlbiB0aGUgcmFuZ2UgaGFkIGJlZW4gZmV0Y2hlZC4KKyAgICAgICAgV2l0
aG91dCB0aGlzIGNoYW5nZSwgd2UgY2FuIGluY3VyIGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIHJl
ZHVuZGFudCBjYWxscyB0byByZW5kZXIoKSB3aGVuIGFkanVzdGluZyB0aGUgZG9tYWluCisgICAg
ICAgIGluIGNoYXJ0cyBwYWdlIGJ5IHRoZSBzbGlkZXIuIFdoZW4gbm8gbmV3IEpTT04gaXMgZmV0
Y2hlZCwgc2ltcGx5IGVucXVldWUgdGhpcyBjaGFydCB0byByZW5kZXIgb24gckFGLgorICAgICAg
ICAoVGltZVNlcmllc0NoYXJ0LnByb3RvdHlwZS5fZGlkRmV0Y2hNZWFzdXJlbWVudFNldCk6IEVu
cXVldWUgdGhpcyBjaGFydCB0byByZW5kZXIgb24gckFGLgorICAgICAgICAoVGltZVNlcmllc0No
YXJ0LnByb3RvdHlwZS5yZW5kZXIpOiBSZW1vdmVkIHRoZSBjaGVjayBmb3IgaXNFbGVtZW50SW5W
aWV3cG9ydCBzaW5jZSB3ZSBubyBsb25nZXIgZ2V0IHJlbmRlcigpIGNhbGwKKyAgICAgICAgd2hl
biB0aGlzIGNoYXJ0IG1vdmVzIGludG8gdGhlIHZpZXdwb3J0IChhcyB3ZSBubyBsb25nZXIgbGlz
dGVuIHRvIGV2ZXJ5IHJBRiBvciBzY3JvbGwgZXZlbnQpLgorICAgICAgICAqIHB1YmxpYy92My9t
b2RlbHMvbWVhc3VyZW1lbnQtc2V0LmpzOgorICAgICAgICAoTWVhc3VyZW1lbnRTZXQucHJvdG90
eXBlLmhhc0ZldGNoZWRSYW5nZSk6IEZpeGVkIHZhcmlvdXMgYnVncyByZXZlYWxlZCBieSB0aGUg
bmV3IHVzZSBpbiBmZXRjaE1lYXN1cmVtZW50U2V0cy4KKyAgICAgICAgKiBwdWJsaWMvdjMvcGFn
ZXMvY2hhcnQtcGFuZS1zdGF0dXMtdmlldy5qczoKKyAgICAgICAgKENoYXJ0UGFuZVN0YXR1c1Zp
ZXcucHJvdG90eXBlLl91cGRhdGVSZXZpc2lvbkxpc3RGb3JOZXdDdXJyZW50UmVwb3NpdG9yeSk6
IFJlbW92ZWQgdGhlIGRlYWQgY29kZS4gSXQgd2FzIHByb2JhYmx5CisgICAgICAgIGNvcGllZCBm
cm9tIHdoZW4gdGhpcyBjb2RlIHdhcyBpbiBJbnRlcmFjdGl2ZVRpbWVTZXJpZXMgY2hhcnQuIFRo
ZXJlIGlzIG5vIHRoaXMuX2ZvcmNlUmVuZGVyIGluIHRoaXMgY29tcG9uZW50LgorICAgICAgICAq
IHB1YmxpYy92My9wYWdlcy9kYXNoYm9hcmQtcGFnZS5qczoKKyAgICAgICAgKERhc2hib2FyZFBh
Z2UucHJvdG90eXBlLnJlbmRlcik6IEVucXVldWUgY2hhcnRzIHRvIHJlbmRlci4gCisgICAgICAg
ICogcHVibGljL3YzL3BhZ2VzL2hlYWRpbmcuanM6CisgICAgICAgIChTdW1tYXJ5UGFnZS5wcm90
b3R5cGUub3Blbik6IFJlbW92ZWQgdGhlIGNhbGwgdG8gaXNFbGVtZW50SW5WaWV3cG9ydC4gVGhp
cyB3YXNuJ3QgcmVhbGx5IGRvaW5nIGFueXRoaW5nIHVzZWZ1bCBpbgorICAgICAgICB0aGlzIGNv
bXBvbmVudC4KKyAgICAgICAgKiB1bml0LXRlc3RzL21lYXN1cmVtZW50LXNldC10ZXN0cy5qczog
QWRkZWQgdGVzdHMgZm9yIGhhc0ZldGNoZWRSYW5nZS4KKyAgICAgICAgKC53YWl0Rm9yTWVhc3Vy
ZW1lbnRTZXQpOiBNb3ZlZCB0byBiZSB1c2VkIGluIGEgbmV3bHkgYWRkZWQgdGVzdCBjYXNlLgor
CiAyMDE2LTA3LTA4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IGJ1bmRsZS12My1zY3JpcHRzLnB5IHNob3VsZCBjb21wcmVzcyBIVE1ML0NTUyB0ZW1wbGF0ZXMK
SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy9iYXNl
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29t
cG9uZW50cy9iYXNlLmpzCShyZXZpc2lvbiAyMDMwMTkpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL3YzL2NvbXBvbmVudHMvYmFzZS5qcwkod29ya2luZyBjb3B5KQpAQCAtNzUs
MTYgKzc1LDYgQEAgY2xhc3MgQ29tcG9uZW50QmFzZSB7CiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBzdGF0aWMgaXNFbGVtZW50SW5WaWV3cG9ydChlbGVtZW50KQotICAgIHsKLSAgICAgICAgdmFy
IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0OwotICAgICAgICB2YXIgYm91bmRp
bmdSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgaWYgKHZp
ZXdwb3J0SGVpZ2h0IDwgYm91bmRpbmdSZWN0LnRvcCB8fCBib3VuZGluZ1JlY3QuYm90dG9tIDwg
MAotICAgICAgICAgICAgfHwgIWJvdW5kaW5nUmVjdC53aWR0aCB8fCAhYm91bmRpbmdSZWN0Lmhl
aWdodCkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotCiAgICAgc3RhdGljIGRlZmluZUVsZW1lbnQobmFtZSwgZWxlbWVudEludGVyZmFjZSkK
ICAgICB7CiAgICAgICAgIGlmICghQ29tcG9uZW50QmFzZS5fbWFwKQpJbmRleDogV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25lbnRzL2NoYXJ0LXBhbmUtYmFzZS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBvbmVu
dHMvY2hhcnQtcGFuZS1iYXNlLmpzCShyZXZpc2lvbiAyMDMwMTkpCisrKyBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBvbmVudHMvY2hhcnQtcGFuZS1iYXNlLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDEyIEBAIGNsYXNzIENoYXJ0UGFuZUJhc2UgZXh0ZW5k
cyBDb21wb25lbnRCYXMKIAogICAgICAgICBzdXBlci5yZW5kZXIoKTsKIAorICAgICAgICBpZiAo
dGhpcy5fb3ZlcnZpZXdDaGFydCkKKyAgICAgICAgICAgIHRoaXMuX292ZXJ2aWV3Q2hhcnQuZW5x
dWV1ZVRvUmVuZGVyKCk7CisKKyAgICAgICAgaWYgKHRoaXMuX21haW5DaGFydCkKKyAgICAgICAg
ICAgIHRoaXMuX21haW5DaGFydC5lbnF1ZXVlVG9SZW5kZXIoKTsKKwogICAgICAgICBpZiAodGhp
cy5fZXJyb3JNZXNzYWdlKSB7CiAgICAgICAgICAgICB0aGlzLnJlbmRlclJlcGxhY2UodGhpcy5j
b250ZW50KCkucXVlcnlTZWxlY3RvcignLmNoYXJ0LXBhbmUtbWFpbicpLCB0aGlzLl9lcnJvck1l
c3NhZ2UpOwogICAgICAgICAgICAgcmV0dXJuOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy92My9jb21wb25lbnRzL2NoYXJ0LXN0eWxlcy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBvbmVudHMvY2hhcnQtc3R5bGVz
LmpzCShyZXZpc2lvbiAyMDMwMTkpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YzL2NvbXBvbmVudHMvY2hhcnQtc3R5bGVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw3ICs4
Nyw2IEBAIGNsYXNzIENoYXJ0U3R5bGVzIHsKICAgICBzdGF0aWMgZGFzaGJvYXJkT3B0aW9ucyh2
YWx1ZUZvcm1hdHRlcikKICAgICB7CiAgICAgICAgIHJldHVybiB7Ci0gICAgICAgICAgICB1cGRh
dGVPblJlcXVlc3RBbmltYXRpb25GcmFtZTogdHJ1ZSwKICAgICAgICAgICAgIGF4aXM6IHsKICAg
ICAgICAgICAgICAgICB5QXhpc1dpZHRoOiA0LCAvLyByZW0KICAgICAgICAgICAgICAgICB4QXhp
c0hlaWdodDogMiwgLy8gcmVtCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YzL2NvbXBvbmVudHMvdGltZS1zZXJpZXMtY2hhcnQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25lbnRzL3RpbWUtc2VyaWVzLWNoYXJ0
LmpzCShyZXZpc2lvbiAyMDMwMTkpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YzL2NvbXBvbmVudHMvdGltZS1zZXJpZXMtY2hhcnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTIx
LDEyICsyMSwxMSBAQCBjbGFzcyBUaW1lU2VyaWVzQ2hhcnQgZXh0ZW5kcyBDb21wb25lbnRCCiAg
ICAgICAgIHRoaXMuX2NvbnRleHRTY2FsZVkgPSAxOwogICAgICAgICB0aGlzLl9yZW0gPSBudWxs
OwogCi0gICAgICAgIGlmICh0aGlzLl9vcHRpb25zLnVwZGF0ZU9uUmVxdWVzdEFuaW1hdGlvbkZy
YW1lKSB7Ci0gICAgICAgICAgICBpZiAoIVRpbWVTZXJpZXNDaGFydC5fY2hhcnRMaXN0KQotICAg
ICAgICAgICAgICAgIFRpbWVTZXJpZXNDaGFydC5fY2hhcnRMaXN0ID0gW107Ci0gICAgICAgICAg
ICBUaW1lU2VyaWVzQ2hhcnQuX2NoYXJ0TGlzdC5wdXNoKHRoaXMpOwotICAgICAgICAgICAgVGlt
ZVNlcmllc0NoYXJ0Ll91cGRhdGVPblJBRigpOworICAgICAgICBpZiAoIVRpbWVTZXJpZXNDaGFy
dC5fY2hhcnRMaXN0KSB7CisgICAgICAgICAgICBUaW1lU2VyaWVzQ2hhcnQuX2NoYXJ0TGlzdCA9
IFtdOworICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIFRpbWVT
ZXJpZXNDaGFydC5fdXBkYXRlQWxsQ2hhcnRzLmJpbmQoVGltZVNlcmllc0NoYXJ0KSk7CiAgICAg
ICAgIH0KKyAgICAgICAgVGltZVNlcmllc0NoYXJ0Ll9jaGFydExpc3QucHVzaCh0aGlzKTsKICAg
ICB9CiAKICAgICBfZW5zdXJlQ2FudmFzKCkKQEAgLTUxLDE0ICs1MCwyNSBAQCBjbGFzcyBUaW1l
U2VyaWVzQ2hhcnQgZXh0ZW5kcyBDb21wb25lbnRCCiAgICAgICAgIHJldHVybiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICAgICB9CiAKLSAgICBzdGF0aWMgX3VwZGF0ZU9uUkFG
KCkKKyAgICBzdGF0aWMgX3VwZGF0ZUFsbENoYXJ0cygpCiAgICAgewotICAgICAgICB2YXIgc2Vs
ZiA9IHRoaXM7Ci0gICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24g
KCkKLSAgICAgICAgewotICAgICAgICAgICAgVGltZVNlcmllc0NoYXJ0Ll9jaGFydExpc3QubWFw
KGZ1bmN0aW9uIChjaGFydCkgeyBjaGFydC5yZW5kZXIoKTsgfSk7Ci0gICAgICAgICAgICBzZWxm
Ll91cGRhdGVPblJBRigpOwotICAgICAgICB9KTsKKyAgICAgICAgVGltZVNlcmllc0NoYXJ0Ll9j
aGFydExpc3QubWFwKGZ1bmN0aW9uIChjaGFydCkgeyBjaGFydC5yZW5kZXIoKTsgfSk7CisgICAg
fQorCisgICAgZW5xdWV1ZVRvUmVuZGVyKCkKKyAgICB7CisgICAgICAgIGlmICghVGltZVNlcmll
c0NoYXJ0Ll9jaGFydFF1ZXVlKSB7CisgICAgICAgICAgICBUaW1lU2VyaWVzQ2hhcnQuX2NoYXJ0
UXVldWUgPSBbXTsKKyAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoVGlt
ZVNlcmllc0NoYXJ0Ll9yZW5kZXJFbnF1ZXVlZENoYXJ0cy5iaW5kKFRpbWVTZXJpZXNDaGFydCkp
OworICAgICAgICB9CisgICAgICAgIFRpbWVTZXJpZXNDaGFydC5fY2hhcnRRdWV1ZS5wdXNoKHRo
aXMpOworICAgIH0KKworICAgIHN0YXRpYyBfcmVuZGVyRW5xdWV1ZWRDaGFydHMoKQorICAgIHsK
KyAgICAgICAgZm9yICh2YXIgY2hhcnQgb2YgVGltZVNlcmllc0NoYXJ0Ll9jaGFydFF1ZXVlKQor
ICAgICAgICAgICAgY2hhcnQucmVuZGVyKCk7CisgICAgICAgIFRpbWVTZXJpZXNDaGFydC5fY2hh
cnRRdWV1ZSA9IG51bGw7CiAgICAgfQogCiAgICAgc2V0RG9tYWluKHN0YXJ0VGltZSwgZW5kVGlt
ZSkKQEAgLTc3LDEzICs4NywyMSBAQCBjbGFzcyBUaW1lU2VyaWVzQ2hhcnQgZXh0ZW5kcyBDb21w
b25lbnRCCiAKICAgICBmZXRjaE1lYXN1cmVtZW50U2V0cyhub0NhY2hlKQogICAgIHsKKyAgICAg
ICAgdmFyIGZldGNoaW5nID0gZmFsc2U7CiAgICAgICAgIGZvciAodmFyIHNvdXJjZSBvZiB0aGlz
Ll9zb3VyY2VMaXN0KSB7Ci0gICAgICAgICAgICBpZiAoc291cmNlLm1lYXN1cmVtZW50U2V0KQor
ICAgICAgICAgICAgaWYgKHNvdXJjZS5tZWFzdXJlbWVudFNldCkgeworICAgICAgICAgICAgICAg
IGlmIChzb3VyY2UubWVhc3VyZW1lbnRTZXQuaGFzRmV0Y2hlZFJhbmdlKHRoaXMuX3N0YXJ0VGlt
ZSwgdGhpcy5fZW5kVGltZSkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICAgICAgICAgIHNvdXJjZS5tZWFzdXJlbWVudFNldC5mZXRjaEJldHdlZW4odGhpcy5fc3RhcnRU
aW1lLCB0aGlzLl9lbmRUaW1lLCB0aGlzLl9kaWRGZXRjaE1lYXN1cmVtZW50U2V0LmJpbmQodGhp
cywgc291cmNlLm1lYXN1cmVtZW50U2V0KSwgbm9DYWNoZSk7CisgICAgICAgICAgICAgICAgZmV0
Y2hpbmcgPSB0cnVlOworICAgICAgICAgICAgfQorCiAgICAgICAgIH0KICAgICAgICAgdGhpcy5f
c2FtcGxlZFRpbWVTZXJpZXNEYXRhID0gbnVsbDsKICAgICAgICAgdGhpcy5fdmFsdWVSYW5nZUNh
Y2hlID0gbnVsbDsKICAgICAgICAgdGhpcy5fYW5ub3RhdGlvblJvd3MgPSBudWxsOworICAgICAg
ICBpZiAoIWZldGNoaW5nKQorICAgICAgICAgICAgdGhpcy5lbnF1ZXVlVG9SZW5kZXIoKTsKICAg
ICB9CiAKICAgICBfZGlkRmV0Y2hNZWFzdXJlbWVudFNldChzZXQpCkBAIC05Miw2ICsxMTAsOCBA
QCBjbGFzcyBUaW1lU2VyaWVzQ2hhcnQgZXh0ZW5kcyBDb21wb25lbnRCCiAgICAgICAgIHRoaXMu
X3NhbXBsZWRUaW1lU2VyaWVzRGF0YSA9IG51bGw7CiAgICAgICAgIHRoaXMuX3ZhbHVlUmFuZ2VD
YWNoZSA9IG51bGw7CiAgICAgICAgIHRoaXMuX2Fubm90YXRpb25Sb3dzID0gbnVsbDsKKworICAg
ICAgICB0aGlzLmVucXVldWVUb1JlbmRlcigpOwogICAgIH0KIAogICAgIC8vIEZJWE1FOiBGaWd1
cmUgb3V0IGEgd2F5IHRvIG1ha2UgdGhpcyByZWFkb25seS4KQEAgLTEzNSw4ICsxNTUsNiBAQCBj
bGFzcyBUaW1lU2VyaWVzQ2hhcnQgZXh0ZW5kcyBDb21wb25lbnRCCiAKICAgICAgICAgLy8gRklY
TUU6IEFsc28gZGV0ZWN0IGhvcml6b250YWwgc2Nyb2xsaW5nLgogICAgICAgICB2YXIgY2FudmFz
ID0gdGhpcy5fZW5zdXJlQ2FudmFzKCk7Ci0gICAgICAgIGlmICghVGltZVNlcmllc0NoYXJ0Lmlz
RWxlbWVudEluVmlld3BvcnQoY2FudmFzKSkKLSAgICAgICAgICAgIHJldHVybjsKIAogICAgICAg
ICB2YXIgbWV0cmljcyA9IHRoaXMuX2xheW91dCgpOwogICAgICAgICBpZiAoIW1ldHJpY3MuZG9u
ZVdvcmspCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9t
ZWFzdXJlbWVudC1zZXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy92My9tb2RlbHMvbWVhc3VyZW1lbnQtc2V0LmpzCShyZXZpc2lvbiAyMDMwMTkpCisr
KyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9tZWFzdXJlbWVudC1z
ZXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTE1MCwxOCArMTUwLDIzIEBAIGNsYXNzIE1lYXN1cmVt
ZW50U2V0IHsKICAgICBoYXNGZXRjaGVkUmFuZ2Uoc3RhcnRUaW1lLCBlbmRUaW1lKQogICAgIHsK
ICAgICAgICAgY29uc29sZS5hc3NlcnQoc3RhcnRUaW1lIDwgZW5kVGltZSk7Ci0gICAgICAgIHZh
ciBoYXNIb2xlID0gZmFsc2U7CisgICAgICAgIHZhciBmb3VuZFN0YXJ0ID0gZmFsc2U7CiAgICAg
ICAgIHZhciBwcmV2aW91c0VuZFRpbWUgPSBudWxsOwogICAgICAgICBmb3IgKHZhciBjbHVzdGVy
IG9mIHRoaXMuX3NvcnRlZENsdXN0ZXJzKSB7Ci0gICAgICAgICAgICBpZiAoY2x1c3Rlci5zdGFy
dFRpbWUoKSA8IHN0YXJ0VGltZSAmJiBzdGFydFRpbWUgPCBjbHVzdGVyLmVuZFRpbWUoKSkKLSAg
ICAgICAgICAgICAgICBoYXNIb2xlID0gZmFsc2U7Ci0gICAgICAgICAgICBpZiAocHJldmlvdXNF
bmRUaW1lICE9PSBudWxsICYmIHByZXZpb3VzRW5kVGltZSAhPSBjbHVzdGVyLnN0YXJ0VGltZSgp
KQotICAgICAgICAgICAgICAgIGhhc0hvbGUgPSB0cnVlOwotICAgICAgICAgICAgaWYgKGNsdXN0
ZXIuc3RhcnRUaW1lKCkgPCBlbmRUaW1lICYmIGVuZFRpbWUgPCBjbHVzdGVyLmVuZFRpbWUoKSkK
LSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHZhciBjb250YWluc1N0YXJ0ID0g
Y2x1c3Rlci5zdGFydFRpbWUoKSA8PSBzdGFydFRpbWUgJiYgc3RhcnRUaW1lIDw9IGNsdXN0ZXIu
ZW5kVGltZSgpOworICAgICAgICAgICAgdmFyIGNvbnRhaW5zRW5kID0gY2x1c3Rlci5zdGFydFRp
bWUoKSA8PSBlbmRUaW1lICYmIGVuZFRpbWUgPD0gY2x1c3Rlci5lbmRUaW1lKCk7CisgICAgICAg
ICAgICB2YXIgcHJlY2VlZGluZ0NsdXN0ZXJJc01pc3NpbmcgPSBwcmV2aW91c0VuZFRpbWUgIT09
IG51bGwgJiYgcHJldmlvdXNFbmRUaW1lICE9IGNsdXN0ZXIuc3RhcnRUaW1lKCk7CisgICAgICAg
ICAgICBpZiAoY29udGFpbnNTdGFydCAmJiBjb250YWluc0VuZCkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChjb250YWluc1N0YXJ0KQorICAgICAgICAgICAg
ICAgIGZvdW5kU3RhcnQgPSB0cnVlOworICAgICAgICAgICAgaWYgKGZvdW5kU3RhcnQgJiYgcHJl
Y2VlZGluZ0NsdXN0ZXJJc01pc3NpbmcpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICAgICAgaWYgKGNvbnRhaW5zRW5kKQorICAgICAgICAgICAgICAgIHJldHVybiBmb3Vu
ZFN0YXJ0OyAvLyBSZXR1cm4gdHJ1ZSBpZmYgdGhlcmUgd2VyZSBub3QgbWlzc2luZyBjbHVzdGVy
cyBmcm9tIHRoZSBvbmUgdGhhdCBjb250YWlucyBzdGFydFRpbWUKICAgICAgICAgICAgIHByZXZp
b3VzRW5kVGltZSA9IGNsdXN0ZXIuZW5kVGltZSgpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVy
biAhaGFzSG9sZTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBEaWRuJ3QgZmluZCBhIGNsdXN0
ZXIgdGhhdCBjb250YWlucyBzdGFydFRpbWUgb3IgZW5kVGltZQogICAgIH0KIAogICAgIGZldGNo
ZWRUaW1lU2VyaWVzKGNvbmZpZ1R5cGUsIGluY2x1ZGVPdXRsaWVycywgZXh0ZW5kVG9GdXR1cmUp
CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2NoYXJ0LXBh
bmUtc3RhdHVzLXZpZXcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy92My9wYWdlcy9jaGFydC1wYW5lLXN0YXR1cy12aWV3LmpzCShyZXZpc2lvbiAyMDMw
MTkpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2NoYXJ0LXBh
bmUtc3RhdHVzLXZpZXcuanMJKHdvcmtpbmcgY29weSkKQEAgLTExNyw3ICsxMTcsNiBAQCBjbGFz
cyBDaGFydFBhbmVTdGF0dXNWaWV3IGV4dGVuZHMgQ2hhcnRTCiAgICAgewogICAgICAgICB0aGlz
LnVwZGF0ZVN0YXR1c0lmTmVlZGVkKCk7CiAKLSAgICAgICAgdGhpcy5fZm9yY2VSZW5kZXIgPSB0
cnVlOwogICAgICAgICBmb3IgKHZhciBpbmZvIG9mIHRoaXMuX3JldmlzaW9uTGlzdCkgewogICAg
ICAgICAgICAgaWYgKGluZm8ucmVwb3NpdG9yeSA9PSB0aGlzLl9jdXJyZW50UmVwb3NpdG9yeSkg
ewogICAgICAgICAgICAgICAgIHRoaXMuX3NldFJldmlzaW9uUmFuZ2UoZmFsc2UsIGluZm8ucmVw
b3NpdG9yeSwgaW5mby5mcm9tLCBpbmZvLnRvKTsKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjMvcGFnZXMvZGFzaGJvYXJkLXBhZ2UuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9kYXNoYm9hcmQtcGFnZS5qcwko
cmV2aXNpb24gMjAzMDE5KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9w
YWdlcy9kYXNoYm9hcmQtcGFnZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMTA5LDYgKzEwOSw5IEBA
IGNsYXNzIERhc2hib2FyZFBhZ2UgZXh0ZW5kcyBQYWdlV2l0aEhlYWQKICAgICAgICAgICAgIHRo
aXMuX25lZWRzVGFibGVDb25zdHJ1Y3Rpb24gPSBmYWxzZTsKICAgICAgICAgfQogCisgICAgICAg
IGZvciAodmFyIGNoYXJ0IG9mIHRoaXMuX2NoYXJ0cykKKyAgICAgICAgICAgIGNoYXJ0LmVucXVl
dWVUb1JlbmRlcigpOworCiAgICAgICAgIGlmICh0aGlzLl9uZWVkc1N0YXR1c1VwZGF0ZSkgewog
ICAgICAgICAgICAgZm9yICh2YXIgc3RhdHVzVmlldyBvZiB0aGlzLl9zdGF0dXNWaWV3cykKICAg
ICAgICAgICAgICAgICBzdGF0dXNWaWV3LnJlbmRlcigpOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9oZWFkaW5nLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcGFnZXMvaGVhZGluZy5qcwkocmV2aXNpb24g
MjAzMDE5KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9oZWFk
aW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01Miw4ICs1Miw3IEBAIGNsYXNzIEhlYWRpbmcgZXh0
ZW5kcyBDb21wb25lbnRCYXNlIHsKICAgICAgICAgaWYgKHRoaXMuX3Rvb2xiYXIpCiAgICAgICAg
ICAgICB0aGlzLl90b29sYmFyLnJlbmRlcigpOwogCi0gICAgICAgIC8vIFdvcmthcm91bmQgdGhl
IGJvdW5kaW5nIHJlY3RzIGJlaW5nIDB4MCB3aGVuIHRoZSBjb250ZW50IGlzIGVtcHR5LgotICAg
ICAgICBpZiAodGhpcy5fcmVuZGVyZWRPbmNlICYmICFIZWFkaW5nLmlzRWxlbWVudEluVmlld3Bv
cnQodGhpcy5lbGVtZW50KCkpKQorICAgICAgICBpZiAodGhpcy5fcmVuZGVyZWRPbmNlKQogICAg
ICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHZhciB0aXRsZSA9IHRoaXMuY29udGVudCgpLnF1
ZXJ5U2VsZWN0b3IoJy5oZWFkaW5nLXRpdGxlIGEnKTsKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy91bml0LXRlc3RzL21lYXN1cmVtZW50LXNldC10ZXN0cy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9tZWFzdXJlbWVudC1zZXQtdGVz
dHMuanMJKHJldmlzaW9uIDIwMzAxOSkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy91bml0
LXRlc3RzL21lYXN1cmVtZW50LXNldC10ZXN0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTQsNiAr
MTQsMTUgQEAgZGVzY3JpYmUoJ01lYXN1cmVtZW50U2V0JywgZnVuY3Rpb24gKCkgewogICAgICAg
ICBNZWFzdXJlbWVudFNldC5fc2V0ID0gbnVsbDsKICAgICB9KTsKIAorICAgIGZ1bmN0aW9uIHdh
aXRGb3JNZWFzdXJlbWVudFNldCgpCisgICAgeworICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNv
bHZlKCkudGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNv
bHZlKCk7CisgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgcmV0dXJu
IFByb21pc2UucmVzb2x2ZSgpOworICAgICAgICB9KTsKKyAgICB9CisKICAgICBkZXNjcmliZSgn
ZmluZFNldCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBuZXcg
TWVhc3VyZW1lbnRTZXQgZm9yIGEgbmV3IHBhaXIgb2YgcGxhdGZvcm0gYW5kIG1hdHJpYycsIGZ1
bmN0aW9uICgpIHsKICAgICAgICAgICAgIGFzc2VydC5ub3RFcXVhbChNZWFzdXJlbWVudFNldC5m
aW5kU2V0KDEsIDEsIDMwMDApLCBNZWFzdXJlbWVudFNldC5maW5kU2V0KDEsIDIsIDMwMDApKTsK
QEAgLTcxLDE1ICs4MCw2IEBAIGRlc2NyaWJlKCdNZWFzdXJlbWVudFNldCcsIGZ1bmN0aW9uICgp
IHsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKIAotICAgICAgICBmdW5jdGlvbiB3YWl0
Rm9yTWVhc3VyZW1lbnRTZXQoKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gUHJvbWlz
ZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSgpOwotICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwotICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0KLQogICAgICAgICBpdCgnc2hvdWxkIGludm9rZSB0aGUgY2FsbGJhY2sgYW5kIGZl
dGNoIGEgc2Vjb25kYXJ5IGNsdXN0ZXIgd2hlbiB0aGUgY2FjaGVkIHByaW1hcnkgY2x1c3RlciBp
cyB1cC10by1kYXRlIGFuZCB3aXRoaW4gaW4gdGhlIHJlcXVlc3RlZCByYW5nZScsIGZ1bmN0aW9u
IChkb25lKSB7CiAgICAgICAgICAgICB2YXIgc2V0ID0gTWVhc3VyZW1lbnRTZXQuZmluZFNldCgx
LCAxLCAzMDAwKTsKICAgICAgICAgICAgIHZhciBjYWxsQ291bnQgPSAwOwpAQCAtNTE3LDQgKzUx
NywxNjggQEAgZGVzY3JpYmUoJ01lYXN1cmVtZW50U2V0JywgZnVuY3Rpb24gKCkgewogCiAgICAg
fSk7CiAKKyAgICBkZXNjcmliZSgnaGFzRmV0Y2hlZFJhbmdlJywgZnVuY3Rpb24gKCkgeworCisg
ICAgICAgIGl0KCdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gbm8gY2x1c3RlcnMgaGFkIGJlZW4g
ZmV0Y2hlZCcsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHZhciBzZXQgPSBNZWFzdXJlbWVu
dFNldC5maW5kU2V0KDEsIDEsIDMwMDApOworICAgICAgICAgICAgYXNzZXJ0KCFzZXQuaGFzRmV0
Y2hlZFJhbmdlKDIwMDAsIDMwMDApKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgaXQoJ3Nob3Vs
ZCByZXR1cm4gdHJ1ZSB3aGVuIGEgc2luZ2xlIGNsdXN0ZXIgY29udGFpbnMgdGhlIGVudGlyZSBy
YW5nZScsIGZ1bmN0aW9uIChkb25lKSB7CisgICAgICAgICAgICB2YXIgc2V0ID0gTWVhc3VyZW1l
bnRTZXQuZmluZFNldCgxLCAxLCAzMDAwKTsKKyAgICAgICAgICAgIHZhciBwcm9taXNlID0gc2V0
LmZldGNoQmV0d2VlbigyMDAwLCAzMDAwKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1
ZXN0cy5sZW5ndGgsIDEpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVy
bCwgJy4uL2RhdGEvbWVhc3VyZW1lbnQtc2V0LTEtMS5qc29uJyk7CisKKyAgICAgICAgICAgIHJl
cXVlc3RzWzBdLnJlc29sdmUoeworICAgICAgICAgICAgICAgICdjbHVzdGVyU3RhcnQnOiAxMDAw
LAorICAgICAgICAgICAgICAgICdjbHVzdGVyU2l6ZSc6IDEwMDAsCisgICAgICAgICAgICAgICAg
J2Zvcm1hdE1hcCc6IFtdLAorICAgICAgICAgICAgICAgICdjb25maWd1cmF0aW9ucyc6IHtjdXJy
ZW50OiBbXX0sCisgICAgICAgICAgICAgICAgJ3N0YXJ0VGltZSc6IDIwMDAsCisgICAgICAgICAg
ICAgICAgJ2VuZFRpbWUnOiAzMDAwLAorICAgICAgICAgICAgICAgICdsYXN0TW9kaWZpZWQnOiAz
MDAwLAorICAgICAgICAgICAgICAgICdjbHVzdGVyQ291bnQnOiAyLAorICAgICAgICAgICAgICAg
ICdzdGF0dXMnOiAnT0snfSk7CisKKyAgICAgICAgICAgIHByb21pc2UudGhlbihmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0KHNldC5oYXNGZXRjaGVkUmFuZ2UoMjAwMSwgMjk5
OSkpOworICAgICAgICAgICAgICAgIGFzc2VydChzZXQuaGFzRmV0Y2hlZFJhbmdlKDIwMDAsIDMw
MDApKTsKKyAgICAgICAgICAgICAgICBkb25lKCk7CisgICAgICAgICAgICB9KS5jYXRjaChmdW5j
dGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBkb25lKGVycm9yKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICB9KTsKKworICAgICAgICBpdCgnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVu
IHRoZSByYW5nZSBzdGFydHMgYmVmb3JlIHRoZSBmZXRjaGVkIGNsdXN0ZXInLCBmdW5jdGlvbiAo
ZG9uZSkgeworICAgICAgICAgICAgdmFyIHNldCA9IE1lYXN1cmVtZW50U2V0LmZpbmRTZXQoMSwg
MSwgMzAwMCk7CisgICAgICAgICAgICB2YXIgcHJvbWlzZSA9IHNldC5mZXRjaEJldHdlZW4oMjAw
MCwgMzAwMCk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAxKTsK
KyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1swXS51cmwsICcuLi9kYXRhL21lYXN1
cmVtZW50LXNldC0xLTEuanNvbicpOworCisgICAgICAgICAgICByZXF1ZXN0c1swXS5yZXNvbHZl
KHsKKyAgICAgICAgICAgICAgICAnY2x1c3RlclN0YXJ0JzogMTAwMCwKKyAgICAgICAgICAgICAg
ICAnY2x1c3RlclNpemUnOiAxMDAwLAorICAgICAgICAgICAgICAgICdmb3JtYXRNYXAnOiBbXSwK
KyAgICAgICAgICAgICAgICAnY29uZmlndXJhdGlvbnMnOiB7Y3VycmVudDogW119LAorICAgICAg
ICAgICAgICAgICdzdGFydFRpbWUnOiAyMDAwLAorICAgICAgICAgICAgICAgICdlbmRUaW1lJzog
MzAwMCwKKyAgICAgICAgICAgICAgICAnbGFzdE1vZGlmaWVkJzogMzAwMCwKKyAgICAgICAgICAg
ICAgICAnY2x1c3RlckNvdW50JzogMiwKKyAgICAgICAgICAgICAgICAnc3RhdHVzJzogJ09LJ30p
OworCisgICAgICAgICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAgICAg
ICAgIGFzc2VydCghc2V0Lmhhc0ZldGNoZWRSYW5nZSgxNTAwLCAzMDAwKSk7CisgICAgICAgICAg
ICAgICAgZG9uZSgpOworICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7Cisg
ICAgICAgICAgICAgICAgZG9uZShlcnJvcik7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7
CisKKyAgICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0aGUgcmFuZ2UgZW5kcyBh
ZnRlciB0aGUgZmV0Y2hlZCBjbHVzdGVyJywgZnVuY3Rpb24gKGRvbmUpIHsKKyAgICAgICAgICAg
IHZhciBzZXQgPSBNZWFzdXJlbWVudFNldC5maW5kU2V0KDEsIDEsIDMwMDApOworICAgICAgICAg
ICAgdmFyIHByb21pc2UgPSBzZXQuZmV0Y2hCZXR3ZWVuKDIwMDAsIDMwMDApOworICAgICAgICAg
ICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMSk7CisgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwocmVxdWVzdHNbMF0udXJsLCAnLi4vZGF0YS9tZWFzdXJlbWVudC1zZXQtMS0xLmpzb24n
KTsKKworICAgICAgICAgICAgcmVxdWVzdHNbMF0ucmVzb2x2ZSh7CisgICAgICAgICAgICAgICAg
J2NsdXN0ZXJTdGFydCc6IDEwMDAsCisgICAgICAgICAgICAgICAgJ2NsdXN0ZXJTaXplJzogMTAw
MCwKKyAgICAgICAgICAgICAgICAnZm9ybWF0TWFwJzogW10sCisgICAgICAgICAgICAgICAgJ2Nv
bmZpZ3VyYXRpb25zJzoge2N1cnJlbnQ6IFtdfSwKKyAgICAgICAgICAgICAgICAnc3RhcnRUaW1l
JzogMjAwMCwKKyAgICAgICAgICAgICAgICAnZW5kVGltZSc6IDMwMDAsCisgICAgICAgICAgICAg
ICAgJ2xhc3RNb2RpZmllZCc6IDMwMDAsCisgICAgICAgICAgICAgICAgJ2NsdXN0ZXJDb3VudCc6
IDIsCisgICAgICAgICAgICAgICAgJ3N0YXR1cyc6ICdPSyd9KTsKKworICAgICAgICAgICAgcHJv
bWlzZS50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnQoIXNldC5oYXNG
ZXRjaGVkUmFuZ2UoMjUwMCwgMzUwMCkpOworICAgICAgICAgICAgICAgIGRvbmUoKTsKKyAgICAg
ICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikgeworICAgICAgICAgICAgICAgIGRvbmUo
ZXJyb3IpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworCisgICAgICAgIGl0KCdzaG91
bGQgcmV0dXJuIHRydWUgd2hlbiB0aGUgcmFuZ2UgaXMgd2l0aGluIHR3byBmZXRjaGVkIGNsdXN0
ZXJzJywgZnVuY3Rpb24gKGRvbmUpIHsKKyAgICAgICAgICAgIHZhciBzZXQgPSBNZWFzdXJlbWVu
dFNldC5maW5kU2V0KDEsIDEsIDUwMDApOworICAgICAgICAgICAgdmFyIHByb21pc2UgPSBzZXQu
ZmV0Y2hCZXR3ZWVuKDIwMDAsIDMwMDApOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVl
c3RzLmxlbmd0aCwgMSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0udXJs
LCAnLi4vZGF0YS9tZWFzdXJlbWVudC1zZXQtMS0xLmpzb24nKTsKKworICAgICAgICAgICAgcmVx
dWVzdHNbMF0ucmVzb2x2ZSh7CisgICAgICAgICAgICAgICAgJ2NsdXN0ZXJTdGFydCc6IDEwMDAs
CisgICAgICAgICAgICAgICAgJ2NsdXN0ZXJTaXplJzogMTAwMCwKKyAgICAgICAgICAgICAgICAn
Zm9ybWF0TWFwJzogW10sCisgICAgICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb25zJzoge2N1cnJl
bnQ6IFtdfSwKKyAgICAgICAgICAgICAgICAnc3RhcnRUaW1lJzogMzAwMCwKKyAgICAgICAgICAg
ICAgICAnZW5kVGltZSc6IDQwMDAsCisgICAgICAgICAgICAgICAgJ2xhc3RNb2RpZmllZCc6IDUw
MDAsCisgICAgICAgICAgICAgICAgJ2NsdXN0ZXJDb3VudCc6IDIsCisgICAgICAgICAgICAgICAg
J3N0YXR1cyc6ICdPSyd9KTsKKworICAgICAgICAgICAgd2FpdEZvck1lYXN1cmVtZW50U2V0KCku
dGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3Rz
Lmxlbmd0aCwgMik7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzFdLnVy
bCwgJy4uL2RhdGEvbWVhc3VyZW1lbnQtc2V0LTEtMS0zMDAwLmpzb24nKTsKKyAgICAgICAgICAg
ICAgICByZXF1ZXN0c1sxXS5yZXNvbHZlKHsKKyAgICAgICAgICAgICAgICAgICAgJ2NsdXN0ZXJT
dGFydCc6IDEwMDAsCisgICAgICAgICAgICAgICAgICAgICdjbHVzdGVyU2l6ZSc6IDEwMDAsCisg
ICAgICAgICAgICAgICAgICAgICdmb3JtYXRNYXAnOiBbXSwKKyAgICAgICAgICAgICAgICAgICAg
J2NvbmZpZ3VyYXRpb25zJzoge2N1cnJlbnQ6IFtdfSwKKyAgICAgICAgICAgICAgICAgICAgJ3N0
YXJ0VGltZSc6IDIwMDAsCisgICAgICAgICAgICAgICAgICAgICdlbmRUaW1lJzogMzAwMCwKKyAg
ICAgICAgICAgICAgICAgICAgJ2xhc3RNb2RpZmllZCc6IDUwMDAsCisgICAgICAgICAgICAgICAg
ICAgICdjbHVzdGVyQ291bnQnOiAyLAorICAgICAgICAgICAgICAgICAgICAnc3RhdHVzJzogJ09L
J30pOyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewor
ICAgICAgICAgICAgICAgIGFzc2VydChzZXQuaGFzRmV0Y2hlZFJhbmdlKDI1MDAsIDM1MDApKTsK
KyAgICAgICAgICAgICAgICBkb25lKCk7CisgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAo
ZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBkb25lKGVycm9yKTsKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICB9KTsKKworICAgICAgICBpdCgnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZXJl
IGlzIGEgY2x1c3RlciBtaXNzaW5nIGluIHRoZSByYW5nZScsIGZ1bmN0aW9uIChkb25lKSB7Cisg
ICAgICAgICAgICB2YXIgc2V0ID0gTWVhc3VyZW1lbnRTZXQuZmluZFNldCgxLCAxLCA1MDAwKTsK
KyAgICAgICAgICAgIHZhciBwcm9taXNlID0gc2V0LmZldGNoQmV0d2VlbigyMDAwLCA1MDAwKTsK
KyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgICAg
ICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgJy4uL2RhdGEvbWVhc3VyZW1lbnQtc2V0
LTEtMS5qc29uJyk7CisKKyAgICAgICAgICAgIHJlcXVlc3RzWzBdLnJlc29sdmUoeworICAgICAg
ICAgICAgICAgICdjbHVzdGVyU3RhcnQnOiAxMDAwLAorICAgICAgICAgICAgICAgICdjbHVzdGVy
U2l6ZSc6IDEwMDAsCisgICAgICAgICAgICAgICAgJ2Zvcm1hdE1hcCc6IFtdLAorICAgICAgICAg
ICAgICAgICdjb25maWd1cmF0aW9ucyc6IHtjdXJyZW50OiBbXX0sCisgICAgICAgICAgICAgICAg
J3N0YXJ0VGltZSc6IDQwMDAsCisgICAgICAgICAgICAgICAgJ2VuZFRpbWUnOiA1MDAwLAorICAg
ICAgICAgICAgICAgICdsYXN0TW9kaWZpZWQnOiA1MDAwLAorICAgICAgICAgICAgICAgICdjbHVz
dGVyQ291bnQnOiAyLAorICAgICAgICAgICAgICAgICdzdGF0dXMnOiAnT0snfSk7CisKKyAgICAg
ICAgICAgIHdhaXRGb3JNZWFzdXJlbWVudFNldCgpLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDMpOworICAgICAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1sxXS51cmwsICcuLi9kYXRhL21lYXN1cmVtZW50LXNl
dC0xLTEtMzAwMC5qc29uJyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3Rz
WzJdLnVybCwgJy4uL2RhdGEvbWVhc3VyZW1lbnQtc2V0LTEtMS00MDAwLmpzb24nKTsKKyAgICAg
ICAgICAgICAgICByZXF1ZXN0c1sxXS5yZXNvbHZlKHsKKyAgICAgICAgICAgICAgICAgICAgJ2Ns
dXN0ZXJTdGFydCc6IDEwMDAsCisgICAgICAgICAgICAgICAgICAgICdjbHVzdGVyU2l6ZSc6IDEw
MDAsCisgICAgICAgICAgICAgICAgICAgICdmb3JtYXRNYXAnOiBbXSwKKyAgICAgICAgICAgICAg
ICAgICAgJ2NvbmZpZ3VyYXRpb25zJzoge2N1cnJlbnQ6IFtdfSwKKyAgICAgICAgICAgICAgICAg
ICAgJ3N0YXJ0VGltZSc6IDIwMDAsCisgICAgICAgICAgICAgICAgICAgICdlbmRUaW1lJzogMzAw
MCwKKyAgICAgICAgICAgICAgICAgICAgJ2xhc3RNb2RpZmllZCc6IDUwMDAsCisgICAgICAgICAg
ICAgICAgICAgICdjbHVzdGVyQ291bnQnOiAyLAorICAgICAgICAgICAgICAgICAgICAnc3RhdHVz
JzogJ09LJ30pOworICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0KCFzZXQuaGFzRmV0Y2hlZFJhbmdlKDI1MDAsIDQ1MDApKTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQoc2V0Lmhhc0ZldGNoZWRSYW5nZSgyMTAwLCAyMzAwKSk7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0KHNldC5oYXNGZXRjaGVkUmFuZ2UoNDAwMCwgNDgwMCkpOworICAgICAg
ICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikg
eworICAgICAgICAgICAgICAgIGRvbmUoZXJyb3IpOworICAgICAgICAgICAgfSk7CisgICAgICAg
IH0pOworCisgICAgfSk7CisKIH0pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283248</attachid>
            <date>2016-07-08 23:53:34 -0700</date>
            <delta_ts>2016-07-09 15:59:36 -0700</delta_ts>
            <desc>Use Set for render queue</desc>
            <filename>bug-159597-20160708235258.patch</filename>
            <type>text/plain</type>
            <size>21117</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMjAzMDE5KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ5IEBACisyMDE2LTA3LTA5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIFBlcmYgZGFzaGJvYXJkIGNhbiBjb25zdW1lIDUwLTcwJSBvZiBDUFUgb24gTWFj
Qm9vayBldmVuIGlmIHVzZXIgaXMgbm90IGludGVyYWN0aW5nIGF0IGFsbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NTk3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGltZVNlcmllc0NoYXJ0IGFuZCBJ
bnRlcmFjdGl2ZVRpbWVTZXJpZXNDaGFydCBoYWQgYmVlbiByZWx5aW5nIG9uIGNvbnRpbnVhbGx5
IHBvbGxpbmcgb24gcmVxdWVzdEFuaW1hdGlvbkZyYW1lCisgICAgICAgIHRvIHVwZGF0ZSBpdHNl
bGYgaW4gcmVzcG9uc2UgdG8gaXRzIGNhbnZhcyByZXNpemluZy4gRXZlbiB0aG91Z2ggdGhlcmUg
YXMgYW4gZWFybHkgZXhpdCBpbiB0aGUgY2FzZSB0aGVyZSB3YXMKKyAgICAgICAgbm90aGluZyB0
byB1cGRhdGUsIHRoaXMgaXMgc3RpbGwgY2F1c2luZyBhIHNpZ25pZmljYW50IHBvd2VyIGRyYWlu
IHdoZW4gdGhlIHVzZXIgaXMgbm90IGludGVyYWN0aW5nIGF0IGFsbC4KKworICAgICAgICBMZXQg
VGltZVNlcmllc0NoYXJ0IHVzZSB0aGUgcmVndWxhciB0b3AtZG93biByZW5kZXIgcGF0aCBsaWtl
IG90aGVyIGNvbXBvbmVudHMgd2l0aCBleGNlcHRpb25zIG9mIGxpc3RlbmluZyB0bworICAgICAg
ICB3aW5kb3cncyByZXNpemUgZXZlbnRhcyB3ZWxsIGFzIHdoZW4gbmV3IEpTT05zIGFyZSBmZXRj
aGVkIGZyb20gdGhlIHNlcnZlci4gVGhlIHJlbmRlcigpIGNhbGwgdG8gdGhlIGxhdHRlciBjYXNl
CisgICAgICAgIHdpbGwgYmUgY29lcmNlZCBpbnRvIGEgc2luZ2xlIGNhbGxiYWNrIG9uIHJlcXVl
c3RBbmltYXRpb25GcmFtZSB0byBhdm9pZCBET00tbXV0YXRpb24tbGF5b3V0IGNodXJuLgorCisg
ICAgICAgICogcHVibGljL3YzL2NvbXBvbmVudHMvYmFzZS5qczoKKyAgICAgICAgKENvbXBvbmVu
dEJhc2UuaXNFbGVtZW50SW5WaWV3cG9ydCk6IERlbGV0ZWQuCisgICAgICAgICogcHVibGljL3Yz
L2NvbXBvbmVudHMvY2hhcnQtcGFuZS1iYXNlLmpzOgorICAgICAgICAoQ2hhcnRQYW5lQmFzZS5w
cm90b3R5cGUucmVuZGVyKTogRW5xdWV1ZSBjaGFydHMgdG8gcmVuZGVyLgorICAgICAgICAqIHB1
YmxpYy92My9jb21wb25lbnRzL2NoYXJ0LXN0eWxlcy5qczoKKyAgICAgICAgKENoYXJ0U3R5bGVz
LmRhc2hib2FyZE9wdGlvbnMpOiBSZW1vdmVkIHVwZGF0ZU9uUmVxdWVzdEFuaW1hdGlvbkZyYW1l
IHdoaWNoIGlzIG5vIGxvbmdlciBhbiBhdmFpbGFibGUgb3B0aW9uLgorICAgICAgICAqIHB1Ymxp
Yy92My9jb21wb25lbnRzL3RpbWUtc2VyaWVzLWNoYXJ0LmpzOgorICAgICAgICAoVGltZVNlcmll
c0NoYXJ0KTogUmVwbGFjZWQgdGhlIGNvZGUgdG8gcmVnaXN0ZXIgaXRzZWxmIGZvciByQUYgYnkg
dGhlIGNvZGUgdG8gbGlzdGVuIHRvIHJlc2l6ZSBldmVudHMgb24gd2luZG93LgorICAgICAgICAo
VGltZVNlcmllc0NoYXJ0Ll91cGRhdGVPblJBRik6IERlbGV0ZWQuCisgICAgICAgIChUaW1lU2Vy
aWVzQ2hhcnQuX3VwZGF0ZUFsbENoYXJ0cyk6IEFkZGVkLgorICAgICAgICAoVGltZVNlcmllc0No
YXJ0LnByb3RvdHlwZS5fZW5xdWV1ZVRvUmVuZGVyKTogQWRkZWQuCisgICAgICAgIChUaW1lU2Vy
aWVzQ2hhcnQuX3JlbmRlckVucXVldWVkQ2hhcnRzKTogQWRkZWQuCisgICAgICAgIChUaW1lU2Vy
aWVzQ2hhcnQucHJvdG90eXBlLmZldGNoTWVhc3VyZW1lbnRTZXRzKTogQXZvaWQgY2FsbGluZyBm
ZXRjaEJldHdlZW4gd2hlbiB0aGUgcmFuZ2UgaGFkIGJlZW4gZmV0Y2hlZC4KKyAgICAgICAgV2l0
aG91dCB0aGlzIGNoYW5nZSwgd2UgY2FuIGluY3VyIGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIHJl
ZHVuZGFudCBjYWxscyB0byByZW5kZXIoKSB3aGVuIGFkanVzdGluZyB0aGUgZG9tYWluCisgICAg
ICAgIGluIGNoYXJ0cyBwYWdlIGJ5IHRoZSBzbGlkZXIuIFdoZW4gbm8gbmV3IEpTT04gaXMgZmV0
Y2hlZCwgc2ltcGx5IGVucXVldWUgdGhpcyBjaGFydCB0byByZW5kZXIgb24gckFGLgorICAgICAg
ICAoVGltZVNlcmllc0NoYXJ0LnByb3RvdHlwZS5fZGlkRmV0Y2hNZWFzdXJlbWVudFNldCk6IEVu
cXVldWUgdGhpcyBjaGFydCB0byByZW5kZXIgb24gckFGLgorICAgICAgICAoVGltZVNlcmllc0No
YXJ0LnByb3RvdHlwZS5yZW5kZXIpOiBSZW1vdmVkIHRoZSBjaGVjayBmb3IgaXNFbGVtZW50SW5W
aWV3cG9ydCBzaW5jZSB3ZSBubyBsb25nZXIgZ2V0IHJlbmRlcigpIGNhbGwKKyAgICAgICAgd2hl
biB0aGlzIGNoYXJ0IG1vdmVzIGludG8gdGhlIHZpZXdwb3J0IChhcyB3ZSBubyBsb25nZXIgbGlz
dGVuIHRvIGV2ZXJ5IHJBRiBvciBzY3JvbGwgZXZlbnQpLgorICAgICAgICAqIHB1YmxpYy92My9t
b2RlbHMvbWVhc3VyZW1lbnQtc2V0LmpzOgorICAgICAgICAoTWVhc3VyZW1lbnRTZXQucHJvdG90
eXBlLmhhc0ZldGNoZWRSYW5nZSk6IEZpeGVkIHZhcmlvdXMgYnVncyByZXZlYWxlZCBieSB0aGUg
bmV3IHVzZSBpbiBmZXRjaE1lYXN1cmVtZW50U2V0cy4KKyAgICAgICAgKiBwdWJsaWMvdjMvcGFn
ZXMvY2hhcnQtcGFuZS1zdGF0dXMtdmlldy5qczoKKyAgICAgICAgKENoYXJ0UGFuZVN0YXR1c1Zp
ZXcucHJvdG90eXBlLl91cGRhdGVSZXZpc2lvbkxpc3RGb3JOZXdDdXJyZW50UmVwb3NpdG9yeSk6
IFJlbW92ZWQgdGhlIGRlYWQgY29kZS4gSXQgd2FzIHByb2JhYmx5CisgICAgICAgIGNvcGllZCBm
cm9tIHdoZW4gdGhpcyBjb2RlIHdhcyBpbiBJbnRlcmFjdGl2ZVRpbWVTZXJpZXMgY2hhcnQuIFRo
ZXJlIGlzIG5vIHRoaXMuX2ZvcmNlUmVuZGVyIGluIHRoaXMgY29tcG9uZW50LgorICAgICAgICAq
IHB1YmxpYy92My9wYWdlcy9kYXNoYm9hcmQtcGFnZS5qczoKKyAgICAgICAgKERhc2hib2FyZFBh
Z2UucHJvdG90eXBlLnJlbmRlcik6IEVucXVldWUgY2hhcnRzIHRvIHJlbmRlci4gCisgICAgICAg
ICogcHVibGljL3YzL3BhZ2VzL2hlYWRpbmcuanM6CisgICAgICAgIChTdW1tYXJ5UGFnZS5wcm90
b3R5cGUub3Blbik6IFJlbW92ZWQgdGhlIGNhbGwgdG8gaXNFbGVtZW50SW5WaWV3cG9ydC4gVGhp
cyB3YXNuJ3QgcmVhbGx5IGRvaW5nIGFueXRoaW5nIHVzZWZ1bCBpbgorICAgICAgICB0aGlzIGNv
bXBvbmVudC4KKyAgICAgICAgKiB1bml0LXRlc3RzL21lYXN1cmVtZW50LXNldC10ZXN0cy5qczog
QWRkZWQgdGVzdHMgZm9yIGhhc0ZldGNoZWRSYW5nZS4KKyAgICAgICAgKC53YWl0Rm9yTWVhc3Vy
ZW1lbnRTZXQpOiBNb3ZlZCB0byBiZSB1c2VkIGluIGEgbmV3bHkgYWRkZWQgdGVzdCBjYXNlLgor
CiAyMDE2LTA3LTA4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IGJ1bmRsZS12My1zY3JpcHRzLnB5IHNob3VsZCBjb21wcmVzcyBIVE1ML0NTUyB0ZW1wbGF0ZXMK
SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy9iYXNl
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29t
cG9uZW50cy9iYXNlLmpzCShyZXZpc2lvbiAyMDMwMTkpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL3YzL2NvbXBvbmVudHMvYmFzZS5qcwkod29ya2luZyBjb3B5KQpAQCAtNzUs
MTYgKzc1LDYgQEAgY2xhc3MgQ29tcG9uZW50QmFzZSB7CiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBzdGF0aWMgaXNFbGVtZW50SW5WaWV3cG9ydChlbGVtZW50KQotICAgIHsKLSAgICAgICAgdmFy
IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0OwotICAgICAgICB2YXIgYm91bmRp
bmdSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgaWYgKHZp
ZXdwb3J0SGVpZ2h0IDwgYm91bmRpbmdSZWN0LnRvcCB8fCBib3VuZGluZ1JlY3QuYm90dG9tIDwg
MAotICAgICAgICAgICAgfHwgIWJvdW5kaW5nUmVjdC53aWR0aCB8fCAhYm91bmRpbmdSZWN0Lmhl
aWdodCkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotCiAgICAgc3RhdGljIGRlZmluZUVsZW1lbnQobmFtZSwgZWxlbWVudEludGVyZmFjZSkK
ICAgICB7CiAgICAgICAgIGlmICghQ29tcG9uZW50QmFzZS5fbWFwKQpJbmRleDogV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25lbnRzL2NoYXJ0LXBhbmUtYmFzZS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBvbmVu
dHMvY2hhcnQtcGFuZS1iYXNlLmpzCShyZXZpc2lvbiAyMDMwMTkpCisrKyBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBvbmVudHMvY2hhcnQtcGFuZS1iYXNlLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTcsNiArMTk3LDEyIEBAIGNsYXNzIENoYXJ0UGFuZUJhc2UgZXh0ZW5k
cyBDb21wb25lbnRCYXMKIAogICAgICAgICBzdXBlci5yZW5kZXIoKTsKIAorICAgICAgICBpZiAo
dGhpcy5fb3ZlcnZpZXdDaGFydCkKKyAgICAgICAgICAgIHRoaXMuX292ZXJ2aWV3Q2hhcnQuZW5x
dWV1ZVRvUmVuZGVyKCk7CisKKyAgICAgICAgaWYgKHRoaXMuX21haW5DaGFydCkKKyAgICAgICAg
ICAgIHRoaXMuX21haW5DaGFydC5lbnF1ZXVlVG9SZW5kZXIoKTsKKwogICAgICAgICBpZiAodGhp
cy5fZXJyb3JNZXNzYWdlKSB7CiAgICAgICAgICAgICB0aGlzLnJlbmRlclJlcGxhY2UodGhpcy5j
b250ZW50KCkucXVlcnlTZWxlY3RvcignLmNoYXJ0LXBhbmUtbWFpbicpLCB0aGlzLl9lcnJvck1l
c3NhZ2UpOwogICAgICAgICAgICAgcmV0dXJuOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy92My9jb21wb25lbnRzL2NoYXJ0LXN0eWxlcy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBvbmVudHMvY2hhcnQtc3R5bGVz
LmpzCShyZXZpc2lvbiAyMDMwMTkpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YzL2NvbXBvbmVudHMvY2hhcnQtc3R5bGVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw3ICs4
Nyw2IEBAIGNsYXNzIENoYXJ0U3R5bGVzIHsKICAgICBzdGF0aWMgZGFzaGJvYXJkT3B0aW9ucyh2
YWx1ZUZvcm1hdHRlcikKICAgICB7CiAgICAgICAgIHJldHVybiB7Ci0gICAgICAgICAgICB1cGRh
dGVPblJlcXVlc3RBbmltYXRpb25GcmFtZTogdHJ1ZSwKICAgICAgICAgICAgIGF4aXM6IHsKICAg
ICAgICAgICAgICAgICB5QXhpc1dpZHRoOiA0LCAvLyByZW0KICAgICAgICAgICAgICAgICB4QXhp
c0hlaWdodDogMiwgLy8gcmVtCkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YzL2NvbXBvbmVudHMvdGltZS1zZXJpZXMtY2hhcnQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25lbnRzL3RpbWUtc2VyaWVzLWNoYXJ0
LmpzCShyZXZpc2lvbiAyMDMwMTkpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YzL2NvbXBvbmVudHMvdGltZS1zZXJpZXMtY2hhcnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTIx
LDEyICsyMSwxMSBAQCBjbGFzcyBUaW1lU2VyaWVzQ2hhcnQgZXh0ZW5kcyBDb21wb25lbnRCCiAg
ICAgICAgIHRoaXMuX2NvbnRleHRTY2FsZVkgPSAxOwogICAgICAgICB0aGlzLl9yZW0gPSBudWxs
OwogCi0gICAgICAgIGlmICh0aGlzLl9vcHRpb25zLnVwZGF0ZU9uUmVxdWVzdEFuaW1hdGlvbkZy
YW1lKSB7Ci0gICAgICAgICAgICBpZiAoIVRpbWVTZXJpZXNDaGFydC5fY2hhcnRMaXN0KQotICAg
ICAgICAgICAgICAgIFRpbWVTZXJpZXNDaGFydC5fY2hhcnRMaXN0ID0gW107Ci0gICAgICAgICAg
ICBUaW1lU2VyaWVzQ2hhcnQuX2NoYXJ0TGlzdC5wdXNoKHRoaXMpOwotICAgICAgICAgICAgVGlt
ZVNlcmllc0NoYXJ0Ll91cGRhdGVPblJBRigpOworICAgICAgICBpZiAoIVRpbWVTZXJpZXNDaGFy
dC5fY2hhcnRMaXN0KSB7CisgICAgICAgICAgICBUaW1lU2VyaWVzQ2hhcnQuX2NoYXJ0TGlzdCA9
IFtdOworICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIFRpbWVT
ZXJpZXNDaGFydC5fdXBkYXRlQWxsQ2hhcnRzLmJpbmQoVGltZVNlcmllc0NoYXJ0KSk7CiAgICAg
ICAgIH0KKyAgICAgICAgVGltZVNlcmllc0NoYXJ0Ll9jaGFydExpc3QucHVzaCh0aGlzKTsKICAg
ICB9CiAKICAgICBfZW5zdXJlQ2FudmFzKCkKQEAgLTUxLDE0ICs1MCwyNSBAQCBjbGFzcyBUaW1l
U2VyaWVzQ2hhcnQgZXh0ZW5kcyBDb21wb25lbnRCCiAgICAgICAgIHJldHVybiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICAgICB9CiAKLSAgICBzdGF0aWMgX3VwZGF0ZU9uUkFG
KCkKKyAgICBzdGF0aWMgX3VwZGF0ZUFsbENoYXJ0cygpCiAgICAgewotICAgICAgICB2YXIgc2Vs
ZiA9IHRoaXM7Ci0gICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24g
KCkKLSAgICAgICAgewotICAgICAgICAgICAgVGltZVNlcmllc0NoYXJ0Ll9jaGFydExpc3QubWFw
KGZ1bmN0aW9uIChjaGFydCkgeyBjaGFydC5yZW5kZXIoKTsgfSk7Ci0gICAgICAgICAgICBzZWxm
Ll91cGRhdGVPblJBRigpOwotICAgICAgICB9KTsKKyAgICAgICAgVGltZVNlcmllc0NoYXJ0Ll9j
aGFydExpc3QubWFwKGZ1bmN0aW9uIChjaGFydCkgeyBjaGFydC5yZW5kZXIoKTsgfSk7CisgICAg
fQorCisgICAgZW5xdWV1ZVRvUmVuZGVyKCkKKyAgICB7CisgICAgICAgIGlmICghVGltZVNlcmll
c0NoYXJ0Ll9jaGFydFF1ZXVlKSB7CisgICAgICAgICAgICBUaW1lU2VyaWVzQ2hhcnQuX2NoYXJ0
UXVldWUgPSBuZXcgU2V0OworICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFt
ZShUaW1lU2VyaWVzQ2hhcnQuX3JlbmRlckVucXVldWVkQ2hhcnRzLmJpbmQoVGltZVNlcmllc0No
YXJ0KSk7CisgICAgICAgIH0KKyAgICAgICAgVGltZVNlcmllc0NoYXJ0Ll9jaGFydFF1ZXVlLmFk
ZCh0aGlzKTsKKyAgICB9CisKKyAgICBzdGF0aWMgX3JlbmRlckVucXVldWVkQ2hhcnRzKCkKKyAg
ICB7CisgICAgICAgIGZvciAodmFyIGNoYXJ0IG9mIFRpbWVTZXJpZXNDaGFydC5fY2hhcnRRdWV1
ZSkKKyAgICAgICAgICAgIGNoYXJ0LnJlbmRlcigpOworICAgICAgICBUaW1lU2VyaWVzQ2hhcnQu
X2NoYXJ0UXVldWUgPSBudWxsOwogICAgIH0KIAogICAgIHNldERvbWFpbihzdGFydFRpbWUsIGVu
ZFRpbWUpCkBAIC03NywxMyArODcsMjEgQEAgY2xhc3MgVGltZVNlcmllc0NoYXJ0IGV4dGVuZHMg
Q29tcG9uZW50QgogCiAgICAgZmV0Y2hNZWFzdXJlbWVudFNldHMobm9DYWNoZSkKICAgICB7Cisg
ICAgICAgIHZhciBmZXRjaGluZyA9IGZhbHNlOwogICAgICAgICBmb3IgKHZhciBzb3VyY2Ugb2Yg
dGhpcy5fc291cmNlTGlzdCkgewotICAgICAgICAgICAgaWYgKHNvdXJjZS5tZWFzdXJlbWVudFNl
dCkKKyAgICAgICAgICAgIGlmIChzb3VyY2UubWVhc3VyZW1lbnRTZXQpIHsKKyAgICAgICAgICAg
ICAgICBpZiAoc291cmNlLm1lYXN1cmVtZW50U2V0Lmhhc0ZldGNoZWRSYW5nZSh0aGlzLl9zdGFy
dFRpbWUsIHRoaXMuX2VuZFRpbWUpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgICAgICBzb3VyY2UubWVhc3VyZW1lbnRTZXQuZmV0Y2hCZXR3ZWVuKHRoaXMuX3N0
YXJ0VGltZSwgdGhpcy5fZW5kVGltZSwgdGhpcy5fZGlkRmV0Y2hNZWFzdXJlbWVudFNldC5iaW5k
KHRoaXMsIHNvdXJjZS5tZWFzdXJlbWVudFNldCksIG5vQ2FjaGUpOworICAgICAgICAgICAgICAg
IGZldGNoaW5nID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKwogICAgICAgICB9CiAgICAgICAgIHRo
aXMuX3NhbXBsZWRUaW1lU2VyaWVzRGF0YSA9IG51bGw7CiAgICAgICAgIHRoaXMuX3ZhbHVlUmFu
Z2VDYWNoZSA9IG51bGw7CiAgICAgICAgIHRoaXMuX2Fubm90YXRpb25Sb3dzID0gbnVsbDsKKyAg
ICAgICAgaWYgKCFmZXRjaGluZykKKyAgICAgICAgICAgIHRoaXMuZW5xdWV1ZVRvUmVuZGVyKCk7
CiAgICAgfQogCiAgICAgX2RpZEZldGNoTWVhc3VyZW1lbnRTZXQoc2V0KQpAQCAtOTIsNiArMTEw
LDggQEAgY2xhc3MgVGltZVNlcmllc0NoYXJ0IGV4dGVuZHMgQ29tcG9uZW50QgogICAgICAgICB0
aGlzLl9zYW1wbGVkVGltZVNlcmllc0RhdGEgPSBudWxsOwogICAgICAgICB0aGlzLl92YWx1ZVJh
bmdlQ2FjaGUgPSBudWxsOwogICAgICAgICB0aGlzLl9hbm5vdGF0aW9uUm93cyA9IG51bGw7CisK
KyAgICAgICAgdGhpcy5lbnF1ZXVlVG9SZW5kZXIoKTsKICAgICB9CiAKICAgICAvLyBGSVhNRTog
RmlndXJlIG91dCBhIHdheSB0byBtYWtlIHRoaXMgcmVhZG9ubHkuCkBAIC0xMzUsOCArMTU1LDYg
QEAgY2xhc3MgVGltZVNlcmllc0NoYXJ0IGV4dGVuZHMgQ29tcG9uZW50QgogCiAgICAgICAgIC8v
IEZJWE1FOiBBbHNvIGRldGVjdCBob3Jpem9udGFsIHNjcm9sbGluZy4KICAgICAgICAgdmFyIGNh
bnZhcyA9IHRoaXMuX2Vuc3VyZUNhbnZhcygpOwotICAgICAgICBpZiAoIVRpbWVTZXJpZXNDaGFy
dC5pc0VsZW1lbnRJblZpZXdwb3J0KGNhbnZhcykpCi0gICAgICAgICAgICByZXR1cm47CiAKICAg
ICAgICAgdmFyIG1ldHJpY3MgPSB0aGlzLl9sYXlvdXQoKTsKICAgICAgICAgaWYgKCFtZXRyaWNz
LmRvbmVXb3JrKQpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2Rl
bHMvbWVhc3VyZW1lbnQtc2V0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL21lYXN1cmVtZW50LXNldC5qcwkocmV2aXNpb24gMjAzMDE5
KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvbWVhc3VyZW1l
bnQtc2V0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsMTggKzE1MCwyMyBAQCBjbGFzcyBNZWFz
dXJlbWVudFNldCB7CiAgICAgaGFzRmV0Y2hlZFJhbmdlKHN0YXJ0VGltZSwgZW5kVGltZSkKICAg
ICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHN0YXJ0VGltZSA8IGVuZFRpbWUpOwotICAgICAg
ICB2YXIgaGFzSG9sZSA9IGZhbHNlOworICAgICAgICB2YXIgZm91bmRTdGFydCA9IGZhbHNlOwog
ICAgICAgICB2YXIgcHJldmlvdXNFbmRUaW1lID0gbnVsbDsKICAgICAgICAgZm9yICh2YXIgY2x1
c3RlciBvZiB0aGlzLl9zb3J0ZWRDbHVzdGVycykgewotICAgICAgICAgICAgaWYgKGNsdXN0ZXIu
c3RhcnRUaW1lKCkgPCBzdGFydFRpbWUgJiYgc3RhcnRUaW1lIDwgY2x1c3Rlci5lbmRUaW1lKCkp
Ci0gICAgICAgICAgICAgICAgaGFzSG9sZSA9IGZhbHNlOwotICAgICAgICAgICAgaWYgKHByZXZp
b3VzRW5kVGltZSAhPT0gbnVsbCAmJiBwcmV2aW91c0VuZFRpbWUgIT0gY2x1c3Rlci5zdGFydFRp
bWUoKSkKLSAgICAgICAgICAgICAgICBoYXNIb2xlID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChj
bHVzdGVyLnN0YXJ0VGltZSgpIDwgZW5kVGltZSAmJiBlbmRUaW1lIDwgY2x1c3Rlci5lbmRUaW1l
KCkpCi0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB2YXIgY29udGFpbnNTdGFy
dCA9IGNsdXN0ZXIuc3RhcnRUaW1lKCkgPD0gc3RhcnRUaW1lICYmIHN0YXJ0VGltZSA8PSBjbHVz
dGVyLmVuZFRpbWUoKTsKKyAgICAgICAgICAgIHZhciBjb250YWluc0VuZCA9IGNsdXN0ZXIuc3Rh
cnRUaW1lKCkgPD0gZW5kVGltZSAmJiBlbmRUaW1lIDw9IGNsdXN0ZXIuZW5kVGltZSgpOworICAg
ICAgICAgICAgdmFyIHByZWNlZWRpbmdDbHVzdGVySXNNaXNzaW5nID0gcHJldmlvdXNFbmRUaW1l
ICE9PSBudWxsICYmIHByZXZpb3VzRW5kVGltZSAhPSBjbHVzdGVyLnN0YXJ0VGltZSgpOworICAg
ICAgICAgICAgaWYgKGNvbnRhaW5zU3RhcnQgJiYgY29udGFpbnNFbmQpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICBpZiAoY29udGFpbnNTdGFydCkKKyAgICAgICAg
ICAgICAgICBmb3VuZFN0YXJ0ID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChmb3VuZFN0YXJ0ICYm
IHByZWNlZWRpbmdDbHVzdGVySXNNaXNzaW5nKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgICAgIGlmIChjb250YWluc0VuZCkKKyAgICAgICAgICAgICAgICByZXR1cm4g
Zm91bmRTdGFydDsgLy8gUmV0dXJuIHRydWUgaWZmIHRoZXJlIHdlcmUgbm90IG1pc3NpbmcgY2x1
c3RlcnMgZnJvbSB0aGUgb25lIHRoYXQgY29udGFpbnMgc3RhcnRUaW1lCiAgICAgICAgICAgICBw
cmV2aW91c0VuZFRpbWUgPSBjbHVzdGVyLmVuZFRpbWUoKTsKICAgICAgICAgfQotICAgICAgICBy
ZXR1cm4gIWhhc0hvbGU7CisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gRGlkbid0IGZpbmQgYSBj
bHVzdGVyIHRoYXQgY29udGFpbnMgc3RhcnRUaW1lIG9yIGVuZFRpbWUKICAgICB9CiAKICAgICBm
ZXRjaGVkVGltZVNlcmllcyhjb25maWdUeXBlLCBpbmNsdWRlT3V0bGllcnMsIGV4dGVuZFRvRnV0
dXJlKQpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9jaGFy
dC1wYW5lLXN0YXR1cy12aWV3LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjMvcGFnZXMvY2hhcnQtcGFuZS1zdGF0dXMtdmlldy5qcwkocmV2aXNpb24g
MjAzMDE5KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9jaGFy
dC1wYW5lLXN0YXR1cy12aWV3LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNyArMTE3LDYgQEAg
Y2xhc3MgQ2hhcnRQYW5lU3RhdHVzVmlldyBleHRlbmRzIENoYXJ0UwogICAgIHsKICAgICAgICAg
dGhpcy51cGRhdGVTdGF0dXNJZk5lZWRlZCgpOwogCi0gICAgICAgIHRoaXMuX2ZvcmNlUmVuZGVy
ID0gdHJ1ZTsKICAgICAgICAgZm9yICh2YXIgaW5mbyBvZiB0aGlzLl9yZXZpc2lvbkxpc3QpIHsK
ICAgICAgICAgICAgIGlmIChpbmZvLnJlcG9zaXRvcnkgPT0gdGhpcy5fY3VycmVudFJlcG9zaXRv
cnkpIHsKICAgICAgICAgICAgICAgICB0aGlzLl9zZXRSZXZpc2lvblJhbmdlKGZhbHNlLCBpbmZv
LnJlcG9zaXRvcnksIGluZm8uZnJvbSwgaW5mby50byk7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2Rhc2hib2FyZC1wYWdlLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcGFnZXMvZGFzaGJvYXJkLXBhZ2Uu
anMJKHJldmlzaW9uIDIwMzAxOSkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMv
djMvcGFnZXMvZGFzaGJvYXJkLXBhZ2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTEwOSw2ICsxMDks
OSBAQCBjbGFzcyBEYXNoYm9hcmRQYWdlIGV4dGVuZHMgUGFnZVdpdGhIZWFkCiAgICAgICAgICAg
ICB0aGlzLl9uZWVkc1RhYmxlQ29uc3RydWN0aW9uID0gZmFsc2U7CiAgICAgICAgIH0KIAorICAg
ICAgICBmb3IgKHZhciBjaGFydCBvZiB0aGlzLl9jaGFydHMpCisgICAgICAgICAgICBjaGFydC5l
bnF1ZXVlVG9SZW5kZXIoKTsKKwogICAgICAgICBpZiAodGhpcy5fbmVlZHNTdGF0dXNVcGRhdGUp
IHsKICAgICAgICAgICAgIGZvciAodmFyIHN0YXR1c1ZpZXcgb2YgdGhpcy5fc3RhdHVzVmlld3Mp
CiAgICAgICAgICAgICAgICAgc3RhdHVzVmlldy5yZW5kZXIoKTsKSW5kZXg6IFdlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcGFnZXMvaGVhZGluZy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL2hlYWRpbmcuanMJKHJldmlz
aW9uIDIwMzAxOSkKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcGFnZXMv
aGVhZGluZy5qcwkod29ya2luZyBjb3B5KQpAQCAtNTIsOCArNTIsNyBAQCBjbGFzcyBIZWFkaW5n
IGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7CiAgICAgICAgIGlmICh0aGlzLl90b29sYmFyKQogICAg
ICAgICAgICAgdGhpcy5fdG9vbGJhci5yZW5kZXIoKTsKIAotICAgICAgICAvLyBXb3JrYXJvdW5k
IHRoZSBib3VuZGluZyByZWN0cyBiZWluZyAweDAgd2hlbiB0aGUgY29udGVudCBpcyBlbXB0eS4K
LSAgICAgICAgaWYgKHRoaXMuX3JlbmRlcmVkT25jZSAmJiAhSGVhZGluZy5pc0VsZW1lbnRJblZp
ZXdwb3J0KHRoaXMuZWxlbWVudCgpKSkKKyAgICAgICAgaWYgKHRoaXMuX3JlbmRlcmVkT25jZSkK
ICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICB2YXIgdGl0bGUgPSB0aGlzLmNvbnRlbnQo
KS5xdWVyeVNlbGVjdG9yKCcuaGVhZGluZy10aXRsZSBhJyk7CkluZGV4OiBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvdW5pdC10ZXN0cy9tZWFzdXJlbWVudC1zZXQtdGVzdHMuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvbWVhc3VyZW1lbnQtc2V0
LXRlc3RzLmpzCShyZXZpc2lvbiAyMDMwMTkpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
dW5pdC10ZXN0cy9tZWFzdXJlbWVudC1zZXQtdGVzdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTE0
LDYgKzE0LDE1IEBAIGRlc2NyaWJlKCdNZWFzdXJlbWVudFNldCcsIGZ1bmN0aW9uICgpIHsKICAg
ICAgICAgTWVhc3VyZW1lbnRTZXQuX3NldCA9IG51bGw7CiAgICAgfSk7CiAKKyAgICBmdW5jdGlv
biB3YWl0Rm9yTWVhc3VyZW1lbnRTZXQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZSgpOworICAgICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHJl
dHVybiBQcm9taXNlLnJlc29sdmUoKTsKKyAgICAgICAgfSk7CisgICAgfQorCiAgICAgZGVzY3Jp
YmUoJ2ZpbmRTZXQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgIGl0KCdzaG91bGQgY3JlYXRlIGEg
bmV3IE1lYXN1cmVtZW50U2V0IGZvciBhIG5ldyBwYWlyIG9mIHBsYXRmb3JtIGFuZCBtYXRyaWMn
LCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBhc3NlcnQubm90RXF1YWwoTWVhc3VyZW1lbnRT
ZXQuZmluZFNldCgxLCAxLCAzMDAwKSwgTWVhc3VyZW1lbnRTZXQuZmluZFNldCgxLCAyLCAzMDAw
KSk7CkBAIC03MSwxNSArODAsNiBAQCBkZXNjcmliZSgnTWVhc3VyZW1lbnRTZXQnLCBmdW5jdGlv
biAoKSB7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAKLSAgICAgICAgZnVuY3Rpb24g
d2FpdEZvck1lYXN1cmVtZW50U2V0KCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFBy
b21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgIHJldHVy
biBQcm9taXNlLnJlc29sdmUoKTsKLSAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKLSAgICAgICAgICAgIH0p
OwotICAgICAgICB9Ci0KICAgICAgICAgaXQoJ3Nob3VsZCBpbnZva2UgdGhlIGNhbGxiYWNrIGFu
ZCBmZXRjaCBhIHNlY29uZGFyeSBjbHVzdGVyIHdoZW4gdGhlIGNhY2hlZCBwcmltYXJ5IGNsdXN0
ZXIgaXMgdXAtdG8tZGF0ZSBhbmQgd2l0aGluIGluIHRoZSByZXF1ZXN0ZWQgcmFuZ2UnLCBmdW5j
dGlvbiAoZG9uZSkgewogICAgICAgICAgICAgdmFyIHNldCA9IE1lYXN1cmVtZW50U2V0LmZpbmRT
ZXQoMSwgMSwgMzAwMCk7CiAgICAgICAgICAgICB2YXIgY2FsbENvdW50ID0gMDsKQEAgLTUxNyw0
ICs1MTcsMTY4IEBAIGRlc2NyaWJlKCdNZWFzdXJlbWVudFNldCcsIGZ1bmN0aW9uICgpIHsKIAog
ICAgIH0pOwogCisgICAgZGVzY3JpYmUoJ2hhc0ZldGNoZWRSYW5nZScsIGZ1bmN0aW9uICgpIHsK
KworICAgICAgICBpdCgnc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIG5vIGNsdXN0ZXJzIGhhZCBi
ZWVuIGZldGNoZWQnLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB2YXIgc2V0ID0gTWVhc3Vy
ZW1lbnRTZXQuZmluZFNldCgxLCAxLCAzMDAwKTsKKyAgICAgICAgICAgIGFzc2VydCghc2V0Lmhh
c0ZldGNoZWRSYW5nZSgyMDAwLCAzMDAwKSk7CisgICAgICAgIH0pOworCisgICAgICAgIGl0KCdz
aG91bGQgcmV0dXJuIHRydWUgd2hlbiBhIHNpbmdsZSBjbHVzdGVyIGNvbnRhaW5zIHRoZSBlbnRp
cmUgcmFuZ2UnLCBmdW5jdGlvbiAoZG9uZSkgeworICAgICAgICAgICAgdmFyIHNldCA9IE1lYXN1
cmVtZW50U2V0LmZpbmRTZXQoMSwgMSwgMzAwMCk7CisgICAgICAgICAgICB2YXIgcHJvbWlzZSA9
IHNldC5mZXRjaEJldHdlZW4oMjAwMCwgMzAwMCk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
cmVxdWVzdHMubGVuZ3RoLCAxKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1sw
XS51cmwsICcuLi9kYXRhL21lYXN1cmVtZW50LXNldC0xLTEuanNvbicpOworCisgICAgICAgICAg
ICByZXF1ZXN0c1swXS5yZXNvbHZlKHsKKyAgICAgICAgICAgICAgICAnY2x1c3RlclN0YXJ0Jzog
MTAwMCwKKyAgICAgICAgICAgICAgICAnY2x1c3RlclNpemUnOiAxMDAwLAorICAgICAgICAgICAg
ICAgICdmb3JtYXRNYXAnOiBbXSwKKyAgICAgICAgICAgICAgICAnY29uZmlndXJhdGlvbnMnOiB7
Y3VycmVudDogW119LAorICAgICAgICAgICAgICAgICdzdGFydFRpbWUnOiAyMDAwLAorICAgICAg
ICAgICAgICAgICdlbmRUaW1lJzogMzAwMCwKKyAgICAgICAgICAgICAgICAnbGFzdE1vZGlmaWVk
JzogMzAwMCwKKyAgICAgICAgICAgICAgICAnY2x1c3RlckNvdW50JzogMiwKKyAgICAgICAgICAg
ICAgICAnc3RhdHVzJzogJ09LJ30pOworCisgICAgICAgICAgICBwcm9taXNlLnRoZW4oZnVuY3Rp
b24gKCkgeworICAgICAgICAgICAgICAgIGFzc2VydChzZXQuaGFzRmV0Y2hlZFJhbmdlKDIwMDEs
IDI5OTkpKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoc2V0Lmhhc0ZldGNoZWRSYW5nZSgyMDAw
LCAzMDAwKSk7CisgICAgICAgICAgICAgICAgZG9uZSgpOworICAgICAgICAgICAgfSkuY2F0Y2go
ZnVuY3Rpb24gKGVycm9yKSB7CisgICAgICAgICAgICAgICAgZG9uZShlcnJvcik7CisgICAgICAg
ICAgICB9KTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gZmFsc2Ug
d2hlbiB0aGUgcmFuZ2Ugc3RhcnRzIGJlZm9yZSB0aGUgZmV0Y2hlZCBjbHVzdGVyJywgZnVuY3Rp
b24gKGRvbmUpIHsKKyAgICAgICAgICAgIHZhciBzZXQgPSBNZWFzdXJlbWVudFNldC5maW5kU2V0
KDEsIDEsIDMwMDApOworICAgICAgICAgICAgdmFyIHByb21pc2UgPSBzZXQuZmV0Y2hCZXR3ZWVu
KDIwMDAsIDMwMDApOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwg
MSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0udXJsLCAnLi4vZGF0YS9t
ZWFzdXJlbWVudC1zZXQtMS0xLmpzb24nKTsKKworICAgICAgICAgICAgcmVxdWVzdHNbMF0ucmVz
b2x2ZSh7CisgICAgICAgICAgICAgICAgJ2NsdXN0ZXJTdGFydCc6IDEwMDAsCisgICAgICAgICAg
ICAgICAgJ2NsdXN0ZXJTaXplJzogMTAwMCwKKyAgICAgICAgICAgICAgICAnZm9ybWF0TWFwJzog
W10sCisgICAgICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb25zJzoge2N1cnJlbnQ6IFtdfSwKKyAg
ICAgICAgICAgICAgICAnc3RhcnRUaW1lJzogMjAwMCwKKyAgICAgICAgICAgICAgICAnZW5kVGlt
ZSc6IDMwMDAsCisgICAgICAgICAgICAgICAgJ2xhc3RNb2RpZmllZCc6IDMwMDAsCisgICAgICAg
ICAgICAgICAgJ2NsdXN0ZXJDb3VudCc6IDIsCisgICAgICAgICAgICAgICAgJ3N0YXR1cyc6ICdP
Syd9KTsKKworICAgICAgICAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQoIXNldC5oYXNGZXRjaGVkUmFuZ2UoMTUwMCwgMzAwMCkpOworICAgICAg
ICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikg
eworICAgICAgICAgICAgICAgIGRvbmUoZXJyb3IpOworICAgICAgICAgICAgfSk7CisgICAgICAg
IH0pOworCisgICAgICAgIGl0KCdzaG91bGQgcmV0dXJuIGZhbHNlIHdoZW4gdGhlIHJhbmdlIGVu
ZHMgYWZ0ZXIgdGhlIGZldGNoZWQgY2x1c3RlcicsIGZ1bmN0aW9uIChkb25lKSB7CisgICAgICAg
ICAgICB2YXIgc2V0ID0gTWVhc3VyZW1lbnRTZXQuZmluZFNldCgxLCAxLCAzMDAwKTsKKyAgICAg
ICAgICAgIHZhciBwcm9taXNlID0gc2V0LmZldGNoQmV0d2VlbigyMDAwLCAzMDAwKTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgJy4uL2RhdGEvbWVhc3VyZW1lbnQtc2V0LTEtMS5q
c29uJyk7CisKKyAgICAgICAgICAgIHJlcXVlc3RzWzBdLnJlc29sdmUoeworICAgICAgICAgICAg
ICAgICdjbHVzdGVyU3RhcnQnOiAxMDAwLAorICAgICAgICAgICAgICAgICdjbHVzdGVyU2l6ZSc6
IDEwMDAsCisgICAgICAgICAgICAgICAgJ2Zvcm1hdE1hcCc6IFtdLAorICAgICAgICAgICAgICAg
ICdjb25maWd1cmF0aW9ucyc6IHtjdXJyZW50OiBbXX0sCisgICAgICAgICAgICAgICAgJ3N0YXJ0
VGltZSc6IDIwMDAsCisgICAgICAgICAgICAgICAgJ2VuZFRpbWUnOiAzMDAwLAorICAgICAgICAg
ICAgICAgICdsYXN0TW9kaWZpZWQnOiAzMDAwLAorICAgICAgICAgICAgICAgICdjbHVzdGVyQ291
bnQnOiAyLAorICAgICAgICAgICAgICAgICdzdGF0dXMnOiAnT0snfSk7CisKKyAgICAgICAgICAg
IHByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0KCFzZXQu
aGFzRmV0Y2hlZFJhbmdlKDI1MDAsIDM1MDApKTsKKyAgICAgICAgICAgICAgICBkb25lKCk7Cisg
ICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBk
b25lKGVycm9yKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKworICAgICAgICBpdCgn
c2hvdWxkIHJldHVybiB0cnVlIHdoZW4gdGhlIHJhbmdlIGlzIHdpdGhpbiB0d28gZmV0Y2hlZCBj
bHVzdGVycycsIGZ1bmN0aW9uIChkb25lKSB7CisgICAgICAgICAgICB2YXIgc2V0ID0gTWVhc3Vy
ZW1lbnRTZXQuZmluZFNldCgxLCAxLCA1MDAwKTsKKyAgICAgICAgICAgIHZhciBwcm9taXNlID0g
c2V0LmZldGNoQmV0d2VlbigyMDAwLCAzMDAwKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChy
ZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBd
LnVybCwgJy4uL2RhdGEvbWVhc3VyZW1lbnQtc2V0LTEtMS5qc29uJyk7CisKKyAgICAgICAgICAg
IHJlcXVlc3RzWzBdLnJlc29sdmUoeworICAgICAgICAgICAgICAgICdjbHVzdGVyU3RhcnQnOiAx
MDAwLAorICAgICAgICAgICAgICAgICdjbHVzdGVyU2l6ZSc6IDEwMDAsCisgICAgICAgICAgICAg
ICAgJ2Zvcm1hdE1hcCc6IFtdLAorICAgICAgICAgICAgICAgICdjb25maWd1cmF0aW9ucyc6IHtj
dXJyZW50OiBbXX0sCisgICAgICAgICAgICAgICAgJ3N0YXJ0VGltZSc6IDMwMDAsCisgICAgICAg
ICAgICAgICAgJ2VuZFRpbWUnOiA0MDAwLAorICAgICAgICAgICAgICAgICdsYXN0TW9kaWZpZWQn
OiA1MDAwLAorICAgICAgICAgICAgICAgICdjbHVzdGVyQ291bnQnOiAyLAorICAgICAgICAgICAg
ICAgICdzdGF0dXMnOiAnT0snfSk7CisKKyAgICAgICAgICAgIHdhaXRGb3JNZWFzdXJlbWVudFNl
dCgpLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1
ZXN0cy5sZW5ndGgsIDIpOworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1sx
XS51cmwsICcuLi9kYXRhL21lYXN1cmVtZW50LXNldC0xLTEtMzAwMC5qc29uJyk7CisgICAgICAg
ICAgICAgICAgcmVxdWVzdHNbMV0ucmVzb2x2ZSh7CisgICAgICAgICAgICAgICAgICAgICdjbHVz
dGVyU3RhcnQnOiAxMDAwLAorICAgICAgICAgICAgICAgICAgICAnY2x1c3RlclNpemUnOiAxMDAw
LAorICAgICAgICAgICAgICAgICAgICAnZm9ybWF0TWFwJzogW10sCisgICAgICAgICAgICAgICAg
ICAgICdjb25maWd1cmF0aW9ucyc6IHtjdXJyZW50OiBbXX0sCisgICAgICAgICAgICAgICAgICAg
ICdzdGFydFRpbWUnOiAyMDAwLAorICAgICAgICAgICAgICAgICAgICAnZW5kVGltZSc6IDMwMDAs
CisgICAgICAgICAgICAgICAgICAgICdsYXN0TW9kaWZpZWQnOiA1MDAwLAorICAgICAgICAgICAg
ICAgICAgICAnY2x1c3RlckNvdW50JzogMiwKKyAgICAgICAgICAgICAgICAgICAgJ3N0YXR1cyc6
ICdPSyd9KTsgICAgICAgICAgICAgICAgCisgICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgICAgICAgICBhc3NlcnQoc2V0Lmhhc0ZldGNoZWRSYW5nZSgyNTAwLCAzNTAw
KSk7CisgICAgICAgICAgICAgICAgZG9uZSgpOworICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rp
b24gKGVycm9yKSB7CisgICAgICAgICAgICAgICAgZG9uZShlcnJvcik7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgaXQoJ3Nob3VsZCByZXR1cm4gZmFsc2Ugd2hlbiB0
aGVyZSBpcyBhIGNsdXN0ZXIgbWlzc2luZyBpbiB0aGUgcmFuZ2UnLCBmdW5jdGlvbiAoZG9uZSkg
eworICAgICAgICAgICAgdmFyIHNldCA9IE1lYXN1cmVtZW50U2V0LmZpbmRTZXQoMSwgMSwgNTAw
MCk7CisgICAgICAgICAgICB2YXIgcHJvbWlzZSA9IHNldC5mZXRjaEJldHdlZW4oMjAwMCwgNTAw
MCk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAxKTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1swXS51cmwsICcuLi9kYXRhL21lYXN1cmVtZW50
LXNldC0xLTEuanNvbicpOworCisgICAgICAgICAgICByZXF1ZXN0c1swXS5yZXNvbHZlKHsKKyAg
ICAgICAgICAgICAgICAnY2x1c3RlclN0YXJ0JzogMTAwMCwKKyAgICAgICAgICAgICAgICAnY2x1
c3RlclNpemUnOiAxMDAwLAorICAgICAgICAgICAgICAgICdmb3JtYXRNYXAnOiBbXSwKKyAgICAg
ICAgICAgICAgICAnY29uZmlndXJhdGlvbnMnOiB7Y3VycmVudDogW119LAorICAgICAgICAgICAg
ICAgICdzdGFydFRpbWUnOiA0MDAwLAorICAgICAgICAgICAgICAgICdlbmRUaW1lJzogNTAwMCwK
KyAgICAgICAgICAgICAgICAnbGFzdE1vZGlmaWVkJzogNTAwMCwKKyAgICAgICAgICAgICAgICAn
Y2x1c3RlckNvdW50JzogMiwKKyAgICAgICAgICAgICAgICAnc3RhdHVzJzogJ09LJ30pOworCisg
ICAgICAgICAgICB3YWl0Rm9yTWVhc3VyZW1lbnRTZXQoKS50aGVuKGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAzKTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMV0udXJsLCAnLi4vZGF0YS9tZWFzdXJlbWVu
dC1zZXQtMS0xLTMwMDAuanNvbicpOworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1
ZXN0c1syXS51cmwsICcuLi9kYXRhL21lYXN1cmVtZW50LXNldC0xLTEtNDAwMC5qc29uJyk7Cisg
ICAgICAgICAgICAgICAgcmVxdWVzdHNbMV0ucmVzb2x2ZSh7CisgICAgICAgICAgICAgICAgICAg
ICdjbHVzdGVyU3RhcnQnOiAxMDAwLAorICAgICAgICAgICAgICAgICAgICAnY2x1c3RlclNpemUn
OiAxMDAwLAorICAgICAgICAgICAgICAgICAgICAnZm9ybWF0TWFwJzogW10sCisgICAgICAgICAg
ICAgICAgICAgICdjb25maWd1cmF0aW9ucyc6IHtjdXJyZW50OiBbXX0sCisgICAgICAgICAgICAg
ICAgICAgICdzdGFydFRpbWUnOiAyMDAwLAorICAgICAgICAgICAgICAgICAgICAnZW5kVGltZSc6
IDMwMDAsCisgICAgICAgICAgICAgICAgICAgICdsYXN0TW9kaWZpZWQnOiA1MDAwLAorICAgICAg
ICAgICAgICAgICAgICAnY2x1c3RlckNvdW50JzogMiwKKyAgICAgICAgICAgICAgICAgICAgJ3N0
YXR1cyc6ICdPSyd9KTsKKyAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgICAgIGFzc2VydCghc2V0Lmhhc0ZldGNoZWRSYW5nZSgyNTAwLCA0NTAwKSk7CisgICAg
ICAgICAgICAgICAgYXNzZXJ0KHNldC5oYXNGZXRjaGVkUmFuZ2UoMjEwMCwgMjMwMCkpOworICAg
ICAgICAgICAgICAgIGFzc2VydChzZXQuaGFzRmV0Y2hlZFJhbmdlKDQwMDAsIDQ4MDApKTsKKyAg
ICAgICAgICAgICAgICBkb25lKCk7CisgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJy
b3IpIHsKKyAgICAgICAgICAgICAgICBkb25lKGVycm9yKTsKKyAgICAgICAgICAgIH0pOworICAg
ICAgICB9KTsKKworICAgIH0pOworCiB9KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>