<?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>137459</bug_id>
          
          <creation_ts>2014-10-06 13:44:25 -0700</creation_ts>
          <short_desc>One more case of incorrect comparison in recordpatchevent.py</short_desc>
          <delta_ts>2014-10-06 13:58:41 -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>Tools / Tests</component>
          <version>528+ (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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>rniwa</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039808</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-06 13:44:25 -0700</bug_when>
    <thetext>One more place where an int is used in &quot;if&quot; incorrectly. This one seems harmless in practice though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039810</commentid>
    <comment_count>1</comment_count>
      <attachid>239352</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-06 13:45:33 -0700</bug_when>
    <thetext>Created attachment 239352
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039814</commentid>
    <comment_count>2</comment_count>
      <attachid>239353</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-06 13:57:00 -0700</bug_when>
    <thetext>Created attachment 239353
without unrelated changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039815</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-10-06 13:58:41 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r174364&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239352</attachid>
            <date>2014-10-06 13:45:33 -0700</date>
            <delta_ts>2014-10-06 13:57:00 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>ZeroSeconds.txt</filename>
            <type>text/plain</type>
            <size>19934</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3NDM2MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDE0LTEwLTA2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIE9uZSBtb3JlIGNhc2Ugb2YgaW5jb3JyZWN0IGNvbXBhcmlzb24gaW4gcmVj
b3JkcGF0Y2hldmVudC5weQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM3NDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9hcHAueWFtbDoKKyAgICAgICAgKiBRdWV1ZVN0
YXR1c1NlcnZlci9sb2dnZXJzL3JlY29yZHBhdGNoZXZlbnQucHk6CisgICAgICAgIChSZWNvcmRQ
YXRjaEV2ZW50LnN0YXJ0ZWQpOgorCiAyMDE0LTEwLTA2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIHdlYmtpdC1xdWV1ZXMgUGF0Y2hMb2cgaXMgaW5jb3Jy
ZWN0IGZvciBwYXRjaGVzIHRoYXQgdG9vayBsZXNzIHRoYW4gYSBzZWNvbmQKSW5kZXg6IFRvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rh
c2hib2FyZC9TY3JpcHRzL0J1YmJsZVF1ZXVlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2Fy
ZC9TY3JpcHRzL0J1YmJsZVF1ZXVlLmpzCShyZXZpc2lvbiAxNzQzNDMpCShmcm9tIFRvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hi
b2FyZC9TY3JpcHRzL0VXU1F1ZXVlLmpzOjE3NDM0MykKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRz
L0J1YmJsZVF1ZXVlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworRVdTUXVldWUgPSBmdW5jdGlvbihld3MsIGlkLCBpbmZvKQoreworICAgIEJh
c2VPYmplY3QuY2FsbCh0aGlzKTsKKworICAgIGNvbnNvbGUuYXNzZXJ0KGV3cyk7CisgICAgY29u
c29sZS5hc3NlcnQoaWQpOworCisgICAgdGhpcy5ld3MgPSBld3M7CisgICAgdGhpcy5pZCA9IGlk
OworICAgIHRoaXMudGl0bGUgPSBpbmZvLnRpdGxlIHx8ICJceGEwIjsKKworICAgIHRoaXMucGxh
dGZvcm0gPSBpbmZvLnBsYXRmb3JtLm5hbWUgfHwgInVua25vd24iOworfTsKKworQmFzZU9iamVj
dC5hZGRDb25zdHJ1Y3RvckZ1bmN0aW9ucyhFV1NRdWV1ZSk7CisKK0VXU1F1ZXVlLkV2ZW50ID0g
eworICAgIFVwZGF0ZWQ6ICJ1cGRhdGVkIgorfTsKKworRVdTUXVldWUucHJvdG90eXBlID0gewor
ICAgIGNvbnN0cnVjdG9yOiBFV1NRdWV1ZSwKKyAgICBfX3Byb3RvX186IEJhc2VPYmplY3QucHJv
dG90eXBlLAorCisgICAgZ2V0IHN0YXR1c1BhZ2VVUkwoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IHRoaXMuZXdzLnF1ZXVlU3RhdHVzVVJMKHRoaXMuaWQpOworICAgIH0sCisKKyAgICBnZXQgY2hh
cnRzUGFnZVVSTCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fY2hhcnRzUGFnZVVSTDsK
KyAgICB9LAorCisgICAgZ2V0IHBhdGNoQ291bnQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRo
aXMuX3BhdGNoQ291bnQ7CisgICAgfSwKKworICAgIGdldCBsb2FkZWREZXRhaWxlZFN0YXR1cygp
CisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGVkRGV0YWlsZWRTdGF0dXM7CisgICAg
fSwKKworICAgIGdldCBwYXRjaGVzKCkKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRo
aXMuX2xvYWRlZERldGFpbGVkU3RhdHVzKTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3F1ZXVlOwor
ICAgIH0sCisKKyAgICBnZXQgYm90cygpCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCh0
aGlzLl9sb2FkZWREZXRhaWxlZFN0YXR1cyk7CisgICAgICAgIHJldHVybiB0aGlzLl9ib3RzOwor
ICAgIH0sCisKKyAgICB1cGRhdGU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX2xv
YWRlZERldGFpbGVkU3RhdHVzID0gZmFsc2U7CisKKyAgICAgICAgSlNPTi5sb2FkKHRoaXMuZXdz
Lmpzb25RdWV1ZUxlbmd0aFVSTCh0aGlzLmlkKSwgZnVuY3Rpb24oZGF0YSkgeworICAgICAgICAg
ICAgdmFyIG5ld1BhdGNoQ291bnQgPSBkYXRhLnF1ZXVlX2xlbmd0aDsKKyAgICAgICAgICAgIGlm
ICh0aGlzLl9wYXRjaENvdW50ID09IG5ld1BhdGNoQ291bnQpCisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgdGhpcy5fcGF0Y2hDb3VudCA9IG5ld1BhdGNoQ291bnQ7CisgICAg
ICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhFV1NRdWV1ZS5FdmVudC5VcGRh
dGVkLCBudWxsKTsKKyAgICAgICAgfS5iaW5kKHRoaXMpKTsKKyAgICB9LAorCisgICAgbG9hZERl
dGFpbGVkU3RhdHVzOiBmdW5jdGlvbihjYWxsYmFjaykKKyAgICB7CisgICAgICAgIEpTT04ubG9h
ZCh0aGlzLmV3cy5qc29uUXVldWVTdGF0dXNVUkwodGhpcy5pZCksIGZ1bmN0aW9uKGRhdGEpIHsK
KyAgICAgICAgICAgIHRoaXMuX3F1ZXVlID0gW107CisgICAgICAgICAgICBmb3IgKHZhciBpID0g
MCwgZW5kID0gZGF0YS5xdWV1ZS5sZW5ndGg7IGkgPCBlbmQ7ICsraSkgeworICAgICAgICAgICAg
ICAgIHZhciBwYXRjaCA9IGRhdGEucXVldWVbaV07CisgICAgICAgICAgICAgICAgdmFyIGFjdGl2
ZVNpbmNlVGltZSA9IHBhdGNoLmFjdGl2ZV9zaW5jZSA/IERhdGUucGFyc2UocGF0Y2guYWN0aXZl
X3NpbmNlKSA6IDA7CisgICAgICAgICAgICAgICAgdGhpcy5fcXVldWUucHVzaCh7CisgICAgICAg
ICAgICAgICAgICAgIGF0dGFjaG1lbnRJRDogcGF0Y2guYXR0YWNobWVudF9pZCwKKyAgICAgICAg
ICAgICAgICAgICAgc3RhdHVzUGFnZVVSTDogcGF0Y2guc3RhdHVzX3BhZ2UsCisgICAgICAgICAg
ICAgICAgICAgIGxhdGVzdE1lc3NhZ2U6IHBhdGNoLmxhdGVzdF9tZXNzYWdlLAorICAgICAgICAg
ICAgICAgICAgICBsYXRlc3RNZXNzYWdlVGltZTogcGF0Y2gubGF0ZXN0X21lc3NhZ2VfdGltZSA/
IG5ldyBEYXRlKHBhdGNoLmxhdGVzdF9tZXNzYWdlX3RpbWUpIDogbnVsbCwKKyAgICAgICAgICAg
ICAgICAgICAgZGV0YWlsZWRSZXN1bHRzVVJMRm9yTGF0ZXN0TWVzc2FnZTogcGF0Y2gubGF0ZXN0
X3Jlc3VsdHMsCisgICAgICAgICAgICAgICAgICAgIHJldHJ5Q291bnQ6IHBhdGNoLnJldHJ5X2Nv
dW50LAorICAgICAgICAgICAgICAgICAgICBhY3RpdmU6IHBhdGNoLmFjdGl2ZSwKKyAgICAgICAg
ICAgICAgICAgICAgYWN0aXZlU2luY2U6IG5ldyBEYXRlKGFjdGl2ZVNpbmNlVGltZSksCisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRoaXMuX2JvdHMg
PSBbXTsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBlbmQgPSBkYXRhLmJvdHMubGVuZ3Ro
OyBpIDwgZW5kOyArK2kpIHsKKyAgICAgICAgICAgICAgICB2YXIgYm90ID0gZGF0YS5ib3RzW2ld
OworICAgICAgICAgICAgICAgIHZhciBsYXRlc3RNZXNzYWdlVGltZSA9IGJvdC5sYXRlc3RfbWVz
c2FnZV90aW1lID8gRGF0ZS5wYXJzZShib3QubGF0ZXN0X21lc3NhZ2VfdGltZSkgOiAwOworCisg
ICAgICAgICAgICAgICAgdmFyIG9uZURheUluTWlsbGlzZWNvbmRzID0gMjQgKiA2MCAqIDYwICog
MTAwMDsKKyAgICAgICAgICAgICAgICB2YXIgYm90SXNDdXJyZW50bHlBY3RpdmUgPSBEYXRlLm5v
dygpIDwgbGF0ZXN0TWVzc2FnZVRpbWUgKyBvbmVEYXlJbk1pbGxpc2Vjb25kczsKKyAgICAgICAg
ICAgICAgICBpZiAoIWJvdElzQ3VycmVudGx5QWN0aXZlKQorICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAgICAgICAgIC8vIFNvbWV0aW1lcyAocmFyZWx5KSwgdGhlcmUg
YXJlIHN0YXR1cyBtZXNzYWdlcyB3aXRoIGFuIGVtcHR5IGJvdCBuYW1lIGFkZGVkIHRvIHRoZSBk
YXRhYmFzZS4KKyAgICAgICAgICAgICAgICBpZiAoIWJvdC5ib3RfaWQubGVuZ3RoKQorICAgICAg
ICAgICAgICAgICAgICBib3QuYm90X2lkID0gIjxlbXB0eSBuYW1lPiI7CisKKyAgICAgICAgICAg
ICAgICB0aGlzLl9ib3RzLnB1c2goeworICAgICAgICAgICAgICAgICAgICBpZDogYm90LmJvdF9p
ZCwKKyAgICAgICAgICAgICAgICAgICAgc3RhdHVzUGFnZVVSTDogYm90LnN0YXR1c19wYWdlLAor
ICAgICAgICAgICAgICAgICAgICBsYXRlc3RNZXNzYWdlVGltZTogbmV3IERhdGUobGF0ZXN0TWVz
c2FnZVRpbWUpLAorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBjb25zb2xlLmFzc2VydCh0aGlzLnN0YXR1c1BhZ2VVUkwgPT09IGRhdGEuc3RhdHVzX3Bh
Z2UpOworICAgICAgICAgICAgdGhpcy5fY2hhcnRzUGFnZVVSTCA9IGRhdGEuY2hhcnRzX3BhZ2U7
CisKKyAgICAgICAgICAgIHRoaXMuX2xvYWRlZERldGFpbGVkU3RhdHVzID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgfSwKK307Cklu
ZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWJibGVRdWV1ZVNlcnZlci5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWJibGVRdWV1ZVNlcnZlci5qcwkocmV2aXNpb24g
MTc0MzQzKQkoZnJvbSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNv
bmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9FV1MuanM6MTc0MzQzKQorKysgVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwv
ZGFzaGJvYXJkL1NjcmlwdHMvQnViYmxlUXVldWVTZXJ2ZXIuanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK0VXUyA9IGZ1bmN0aW9uKCkKK3sKKyAg
ICBjb25zdCBxdWV1ZUluZm8gPSB7CisgICAgICAgICJtYWMiOiB7cGxhdGZvcm06IERhc2hib2Fy
ZC5QbGF0Zm9ybS5NYWNPU1hNb3VudGFpbkxpb24sIHRpdGxlOiAiV2ViS2l0MSBSZWxlYXNlIFRl
c3RzIn0sCisgICAgICAgICJtYWMtd2syIjoge3BsYXRmb3JtOiBEYXNoYm9hcmQuUGxhdGZvcm0u
TWFjT1NYTW91bnRhaW5MaW9uLCB0aXRsZTogIldlYktpdDIgUmVsZWFzZSBUZXN0cyJ9LAorICAg
ICAgICAid2luIjoge3BsYXRmb3JtOiBEYXNoYm9hcmQuUGxhdGZvcm0uV2luZG93czcsIHRpdGxl
OiAiV2ViS2l0MSBSZWxlYXNlIEJ1aWxkIn0sCisgICAgICAgICJndGstd2syIjoge3BsYXRmb3Jt
OiBEYXNoYm9hcmQuUGxhdGZvcm0uTGludXhHVEssIHRpdGxlOiAiV2ViS2l0MiBSZWxlYXNlIEJ1
aWxkIn0sCisgICAgICAgICJlZmwtd2syIjoge3BsYXRmb3JtOiBEYXNoYm9hcmQuUGxhdGZvcm0u
TGludXhFRkwsIHRpdGxlOiAiV2ViS2l0MiBSZWxlYXNlIEJ1aWxkIn0KKyAgICB9OworCisgICAg
QmFzZU9iamVjdC5jYWxsKHRoaXMpOworCisgICAgdGhpcy5iYXNlVVJMID0gImh0dHBzOi8vd2Vi
a2l0LXF1ZXVlcy5hcHBzcG90LmNvbS8iOworICAgIHRoaXMucXVldWVzID0ge307CisKKyAgICBm
b3IgKHZhciBpZCBpbiBxdWV1ZUluZm8pCisgICAgICAgIHRoaXMucXVldWVzW2lkXSA9IG5ldyBF
V1NRdWV1ZSh0aGlzLCBpZCwgcXVldWVJbmZvW2lkXSk7Cit9OworCitCYXNlT2JqZWN0LmFkZENv
bnN0cnVjdG9yRnVuY3Rpb25zKEVXUyk7CisKK0VXUy5wcm90b3R5cGUgPSB7CisgICAgY29uc3Ry
dWN0b3I6IEVXUywKKyAgICBfX3Byb3RvX186IEJhc2VPYmplY3QucHJvdG90eXBlLAorCisgICAg
anNvblF1ZXVlTGVuZ3RoVVJMOiBmdW5jdGlvbihxdWV1ZUlEKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHRoaXMuYmFzZVVSTCArICJxdWV1ZS1sZW5ndGgtanNvbi8iICsgZW5jb2RlVVJJQ29tcG9u
ZW50KHF1ZXVlSUQpICsgIi1ld3MiOworICAgIH0sCisKKyAgICBqc29uUXVldWVTdGF0dXNVUkw6
IGZ1bmN0aW9uKHF1ZXVlSUQpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5iYXNlVVJMICsg
InF1ZXVlLXN0YXR1cy1qc29uLyIgKyBlbmNvZGVVUklDb21wb25lbnQocXVldWVJRCkgKyAiLWV3
cyI7CisgICAgfSwKKworICAgIHF1ZXVlU3RhdHVzVVJMOiBmdW5jdGlvbihxdWV1ZUlEKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHRoaXMuYmFzZVVSTCArICJxdWV1ZS1zdGF0dXMvIiArIGVuY29k
ZVVSSUNvbXBvbmVudChxdWV1ZUlEKSArICItZXdzIjsKKyAgICB9LAorfTsKSW5kZXg6IFRvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rh
c2hib2FyZC9TY3JpcHRzL0J1YmJsZVF1ZXVlVmlldy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNo
Ym9hcmQvU2NyaXB0cy9CdWJibGVRdWV1ZVZpZXcuanMJKHJldmlzaW9uIDE3NDM0MykJKGZyb20g
VG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0
bWwvZGFzaGJvYXJkL1NjcmlwdHMvRVdTUXVldWVWaWV3LmpzOjE3NDM0MykKKysrIFRvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hi
b2FyZC9TY3JpcHRzL0J1YmJsZVF1ZXVlVmlldy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDIzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK0VXU1F1ZXVlVmlldyA9IGZ1bmN0aW9uKHF1ZXVl
cykKK3sKKyAgICBRdWV1ZVZpZXcuY2FsbCh0aGlzKTsKKworICAgIHRoaXMucXVldWVzID0gcXVl
dWVzIHx8IFtdOworCisgICAgdGhpcy5xdWV1ZXMuZm9yRWFjaChmdW5jdGlvbihxdWV1ZSkgewor
ICAgICAgICBpZiAodGhpcy5wbGF0Zm9ybSAmJiB0aGlzLnBsYXRmb3JtICE9IHF1ZXVlLnBsYXRm
b3JtKQorICAgICAgICAgICAgdGhyb3cgIkEgRVdTIHZpZXcgbWF5IG5vdCBjb250YWluIHF1ZXVl
cyBmb3IgbXVsdGlwbGUgcGxhdGZvcm1zLiIKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhp
cy5wbGF0Zm9ybSA9IHF1ZXVlLnBsYXRmb3JtOworICAgICAgICBxdWV1ZS5hZGRFdmVudExpc3Rl
bmVyKEVXU1F1ZXVlLkV2ZW50LlVwZGF0ZWQsIHRoaXMuX3F1ZXVlVXBkYXRlZCwgdGhpcyk7Cisg
ICAgfS5iaW5kKHRoaXMpKTsKKworICAgIHRoaXMudXBkYXRlKCk7Cit9OworCitCYXNlT2JqZWN0
LmFkZENvbnN0cnVjdG9yRnVuY3Rpb25zKEVXU1F1ZXVlVmlldyk7CisKK0VXU1F1ZXVlVmlldy5w
cm90b3R5cGUgPSB7CisgICAgY29uc3RydWN0b3I6IEVXU1F1ZXVlVmlldywKKyAgICBfX3Byb3Rv
X186IFF1ZXVlVmlldy5wcm90b3R5cGUsCisKKyAgICB1cGRhdGU6IGZ1bmN0aW9uKCkKKyAgICB7
CisgICAgICAgIFF1ZXVlVmlldy5wcm90b3R5cGUudXBkYXRlLmNhbGwodGhpcyk7CisKKyAgICAg
ICAgdGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CisKKyAgICAgICAgZnVuY3Rpb24gYXBw
ZW5kUXVldWUocXVldWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBxdWV1ZUxhYmVsID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOworICAgICAgICAgICAgcXVldWVMYWJlbC5jbGFz
c0xpc3QuYWRkKCJxdWV1ZUxhYmVsIik7CisgICAgICAgICAgICBxdWV1ZUxhYmVsLnRleHRDb250
ZW50ID0gcXVldWUudGl0bGU7CisgICAgICAgICAgICBxdWV1ZUxhYmVsLmhyZWYgPSBxdWV1ZS5z
dGF0dXNQYWdlVVJMOworICAgICAgICAgICAgcXVldWVMYWJlbC50YXJnZXQgPSAiX2JsYW5rIjsK
KyAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChxdWV1ZUxhYmVsKTsKKworICAg
ICAgICAgICAgdmFyIHBhdGNoQ291bnQgPSBxdWV1ZS5wYXRjaENvdW50OworCisgICAgICAgICAg
ICB2YXIgbWVzc2FnZSA9IHBhdGNoQ291bnQgPT09IDEgPyAicGF0Y2ggaW4gcXVldWUiIDogInBh
dGNoZXMgaW4gcXVldWUiOworICAgICAgICAgICAgdmFyIHN0YXR1cyA9IG5ldyBTdGF0dXNMaW5l
VmlldyhtZXNzYWdlLCBTdGF0dXNMaW5lVmlldy5TdGF0dXMuTmV1dHJhbCwgbnVsbCwgcGF0Y2hD
b3VudCB8fCAiMCIpOworICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHN0YXR1
cy5lbGVtZW50KTsKKworICAgICAgICAgICAgbmV3IFBvcG92ZXJUcmFja2VyKHN0YXR1cy5zdGF0
dXNCdWJibGVFbGVtZW50LCB0aGlzLl9wcmVzZW50UG9wb3ZlckZvckVXU1F1ZXVlLmJpbmQodGhp
cyksIHF1ZXVlKTsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMucXVldWVzLmZvckVhY2goZnVu
Y3Rpb24ocXVldWUpIHsKKyAgICAgICAgICAgIGFwcGVuZFF1ZXVlLmNhbGwodGhpcywgcXVldWUp
OworICAgICAgICB9LCB0aGlzKTsKKyAgICB9LAorCisgICAgYWRkTGlua1RvUm93OiBmdW5jdGlv
bihyb3dFbGVtZW50LCBjbGFzc05hbWUsIHRleHQsIHVybCkKKyAgICB7CisgICAgICAgIHZhciBs
aW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKKyAgICAgICAgbGlua0Vs
ZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1lOworICAgICAgICBsaW5rRWxlbWVudC50ZXh0Q29u
dGVudCA9IHRleHQ7CisgICAgICAgIGxpbmtFbGVtZW50LmhyZWYgPSB1cmw7CisgICAgICAgIGxp
bmtFbGVtZW50LnRhcmdldCA9ICJfYmxhbmsiOworICAgICAgICByb3dFbGVtZW50LmFwcGVuZENo
aWxkKGxpbmtFbGVtZW50KTsKKyAgICB9LAorCisgICAgYWRkVGV4dFRvUm93OiBmdW5jdGlvbihy
b3dFbGVtZW50LCBjbGFzc05hbWUsIHRleHQpCisgICAgeworICAgICAgICB2YXIgc3BhbkVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgICAgIHNwYW5FbGVtZW50
LmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKKyAgICAgICAgc3BhbkVsZW1lbnQudGV4dENvbnRlbnQg
PSB0ZXh0OworICAgICAgICByb3dFbGVtZW50LmFwcGVuZENoaWxkKHNwYW5FbGVtZW50KTsKKyAg
ICB9LAorCisgICAgX2FkZFF1ZXVlSGVhZGluZ1RvUG9wb3ZlcjogZnVuY3Rpb24ocXVldWUsIGNv
bnRlbnQpCisgICAgeworICAgICAgICB2YXIgdGl0bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICAgICAgdGl0bGUuY2xhc3NOYW1lID0gInBvcG92ZXItcXVldWUtaGVhZGlu
ZyI7CisKKyAgICAgICAgdGhpcy5hZGRUZXh0VG9Sb3codGl0bGUsICJxdWV1ZS1uYW1lIiwgcXVl
dWUuaWQgKyAiIGV3cyBxdWV1ZSIpOworICAgICAgICB0aGlzLmFkZExpbmtUb1Jvdyh0aXRsZSwg
InF1ZXVlLXN0YXR1cy1saW5rIiwgInN0YXR1cyBwYWdlIiwgcXVldWUuc3RhdHVzUGFnZVVSTCk7
CisgICAgICAgIHRoaXMuYWRkTGlua1RvUm93KHRpdGxlLCAicXVldWUtY2hhcnRzLWxpbmsiLCAi
Y2hhcnRzIiwgcXVldWUuY2hhcnRzUGFnZVVSTCk7CisKKyAgICAgICAgY29udGVudC5hcHBlbmRD
aGlsZCh0aXRsZSk7CisgICAgfSwKKworICAgIF9hZGRCb3RzSGVhZGluZ1RvUG9wb3ZlcjogZnVu
Y3Rpb24ocXVldWUsIGNvbnRlbnQpCisgICAgeworICAgICAgICB2YXIgdGl0bGUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgdGl0bGUuY2xhc3NOYW1lID0gInBvcG92
ZXItYm90cy1oZWFkaW5nIjsKKyAgICAgICAgdGl0bGUudGV4dENvbnRlbnQgPSAibGF0ZXN0IGJv
dCBldmVudCI7CisgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQodGl0bGUpOworICAgIH0sCisK
KyAgICBfYWRkRGl2aWRlclRvUG9wb3ZlcjogZnVuY3Rpb24oY29udGVudCkKKyAgICB7CisgICAg
ICAgIHZhciBkaXZpZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAg
IGRpdmlkZXIuY2xhc3NOYW1lID0gImRpdmlkZXIiOworICAgICAgICBjb250ZW50LmFwcGVuZENo
aWxkKGRpdmlkZXIpOworICAgIH0sCisKKyAgICBfdGltZUludGVydmFsU3RyaW5nOiBmdW5jdGlv
bih0aW1lKQorICAgIHsKKyAgICAgICAgdmFyIHNlY29uZHNJbkhvdXIgPSA2MCAqIDYwOworICAg
ICAgICB2YXIgdGltZURpZmZlcmVuY2UgPSAoRGF0ZS5ub3coKSAtIHRpbWUuZ2V0VGltZSgpKSAv
IDEwMDA7CisgICAgICAgIHZhciBob3VycyA9IE1hdGguZmxvb3IodGltZURpZmZlcmVuY2UgLyBz
ZWNvbmRzSW5Ib3VyKTsKKyAgICAgICAgdmFyIG1pbnV0ZXMgPSBNYXRoLmZsb29yKCh0aW1lRGlm
ZmVyZW5jZSAtIGhvdXJzICogc2Vjb25kc0luSG91cikgLyA2MCk7CisgICAgICAgIHZhciBob3Vy
c1BhcnQgPSAiIjsKKyAgICAgICAgaWYgKGhvdXJzID09PSAxKQorICAgICAgICAgICAgaG91cnNQ
YXJ0ID0gIjFceGEwaG91ciBhbmQgIjsKKyAgICAgICAgZWxzZSBpZiAoaG91cnMgPiAwKQorICAg
ICAgICAgICAgaG91cnNQYXJ0ID0gaG91cnMgKyAiXHhhMGhvdXJzIGFuZCAiOworICAgICAgICBp
ZiAoIW1pbnV0ZXMpCisgICAgICAgICAgICByZXR1cm4gImxlc3MgdGhhbiBhIG1pbnV0ZSI7Cisg
ICAgICAgIGlmIChtaW51dGVzID09PSAxKQorICAgICAgICAgICAgcmV0dXJuIGhvdXJzUGFydCAr
ICIxXHhhMG1pbnV0ZSI7CisgICAgICAgIHJldHVybiBob3Vyc1BhcnQgKyBtaW51dGVzICsgIlx4
YTBtaW51dGVzIjsKKyAgICB9LAorCisgICAgX3BvcG92ZXJDb250ZW50Rm9yRVdTUXVldWU6IGZ1
bmN0aW9uKHF1ZXVlKQorICAgIHsKKyAgICAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgY29udGVudC5jbGFzc05hbWUgPSAiZXdzLXBvcG92
ZXIiOworCisgICAgICAgIHRoaXMuX2FkZFF1ZXVlSGVhZGluZ1RvUG9wb3ZlcihxdWV1ZSwgY29u
dGVudCk7CisgICAgICAgIHRoaXMuX2FkZERpdmlkZXJUb1BvcG92ZXIoY29udGVudCk7CisKKyAg
ICAgICAgdmFyIHBhdGNoZXMgPSBxdWV1ZS5wYXRjaGVzOworICAgICAgICBmb3IgKHZhciBpID0g
MCwgZW5kID0gcGF0Y2hlcy5sZW5ndGg7IGkgPCBlbmQ7ICsraSkgeworICAgICAgICAgICAgdmFy
IHBhdGNoID0gcGF0Y2hlc1tpXTsKKworICAgICAgICAgICAgdmFyIHJvd0VsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKworICAgICAgICAgICAgdGhpcy5hZGRMaW5rVG9S
b3cocm93RWxlbWVudCwgInBhdGNoLWRldGFpbHMtbGluayIsIHBhdGNoLmF0dGFjaG1lbnRJRCwg
cGF0Y2guc3RhdHVzUGFnZVVSTCk7CisKKyAgICAgICAgICAgIGlmIChwYXRjaC5yZXRyeUNvdW50
KQorICAgICAgICAgICAgICAgIHRoaXMuYWRkVGV4dFRvUm93KHJvd0VsZW1lbnQsICJmYWlsdXJl
LWNvdW50IiwgcGF0Y2gucmV0cnlDb3VudCArICJceGEwIiArIChwYXRjaC5yZXRyeUNvdW50ID09
PSAxID8gImF0dGVtcHQiIDogImF0dGVtcHRzIikpOworCisgICAgICAgICAgICBpZiAocGF0Y2gu
ZGV0YWlsZWRSZXN1bHRzVVJMRm9yTGF0ZXN0TWVzc2FnZSkKKyAgICAgICAgICAgICAgICB0aGlz
LmFkZExpbmtUb1Jvdyhyb3dFbGVtZW50LCAibGF0ZXN0LXN0YXR1cy13aXRoLWxpbmsiLCBwYXRj
aC5sYXRlc3RNZXNzYWdlLCBwYXRjaC5kZXRhaWxlZFJlc3VsdHNVUkxGb3JMYXRlc3RNZXNzYWdl
KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKHBhdGNoLmxhdGVzdE1lc3NhZ2UgJiYgcGF0Y2gubGF0
ZXN0TWVzc2FnZS5sZW5ndGgpCisgICAgICAgICAgICAgICAgdGhpcy5hZGRUZXh0VG9Sb3cocm93
RWxlbWVudCwgImxhdGVzdC1zdGF0dXMtbm8tbGluayIsIHBhdGNoLmxhdGVzdE1lc3NhZ2UpOwor
ICAgICAgICAgICAgZWxzZSBpZiAocGF0Y2guYWN0aXZlKSB7CisgICAgICAgICAgICAgICAgdGhp
cy5hZGRUZXh0VG9Sb3cocm93RWxlbWVudCwgImxhdGVzdC1zdGF0dXMtbm8tbGluayIsICJTdGFy
dGVkIik7CisgICAgICAgICAgICAgICAgdGhpcy5hZGRUZXh0VG9Sb3cocm93RWxlbWVudCwgInRp
bWUtc2luY2UtbWVzc2FnZSIsIHRoaXMuX3RpbWVJbnRlcnZhbFN0cmluZyhwYXRjaC5hY3RpdmVT
aW5jZSkgKyAiXHhhMGFnbyIpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAg
dGhpcy5hZGRUZXh0VG9Sb3cocm93RWxlbWVudCwgImxhdGVzdC1zdGF0dXMtbm8tbGluayIsICJO
b3Qgc3RhcnRlZCB5ZXQiKTsKKworICAgICAgICAgICAgaWYgKHBhdGNoLmxhdGVzdE1lc3NhZ2VU
aW1lKQorICAgICAgICAgICAgICAgIHRoaXMuYWRkVGV4dFRvUm93KHJvd0VsZW1lbnQsICJ0aW1l
LXNpbmNlLW1lc3NhZ2UiLCB0aGlzLl90aW1lSW50ZXJ2YWxTdHJpbmcocGF0Y2gubGF0ZXN0TWVz
c2FnZVRpbWUpICsgIlx4YTBhZ28iKTsKKworICAgICAgICAgICAgdGhpcy5hZGRMaW5rVG9Sb3co
cm93RWxlbWVudCwgImJ1Z3ppbGxhLWxpbmsiLCAiYnVnemlsbGEiLCBidWd6aWxsYS5kZXRhaWxz
VVJMRm9yQXR0YWNobWVudChwYXRjaC5hdHRhY2htZW50SUQpKTsKKworICAgICAgICAgICAgY29u
dGVudC5hcHBlbmRDaGlsZChyb3dFbGVtZW50KTsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMu
X2FkZERpdmlkZXJUb1BvcG92ZXIoY29udGVudCk7CisgICAgICAgIHRoaXMuX2FkZEJvdHNIZWFk
aW5nVG9Qb3BvdmVyKHF1ZXVlLCBjb250ZW50KTsKKyAgICAgICAgdGhpcy5fYWRkRGl2aWRlclRv
UG9wb3Zlcihjb250ZW50KTsKKworICAgICAgICB2YXIgYm90cyA9IHF1ZXVlLmJvdHM7CisgICAg
ICAgIGZvciAodmFyIGkgPSAwLCBlbmQgPSBib3RzLmxlbmd0aDsgaSA8IGVuZDsgKytpKSB7Cisg
ICAgICAgICAgICB2YXIgYm90ID0gYm90c1tpXTsKKworICAgICAgICAgICAgdmFyIHJvd0VsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKworICAgICAgICAgICAgdGhpcy5h
ZGRMaW5rVG9Sb3cocm93RWxlbWVudCwgImJvdC1zdGF0dXMtbGluayIsIGJvdC5pZCwgYm90LnN0
YXR1c1BhZ2VVUkwpOworICAgICAgICAgICAgdGhpcy5hZGRUZXh0VG9Sb3cocm93RWxlbWVudCwg
ImJvdC1zdGF0dXMtZGVzY3JpcHRpb24iLCB0aGlzLl90aW1lSW50ZXJ2YWxTdHJpbmcoYm90Lmxh
dGVzdE1lc3NhZ2VUaW1lKSArICJceGEwYWdvIik7CisKKyAgICAgICAgICAgIGNvbnRlbnQuYXBw
ZW5kQ2hpbGQocm93RWxlbWVudCk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gY29udGVu
dDsKKyAgICB9LAorCisgICAgX3ByZXNlbnRQb3BvdmVyRm9yRVdTUXVldWU6IGZ1bmN0aW9uKGVs
ZW1lbnQsIHBvcG92ZXIsIHF1ZXVlKQorICAgIHsKKyAgICAgICAgaWYgKHF1ZXVlLmxvYWRlZERl
dGFpbGVkU3RhdHVzKQorICAgICAgICAgICAgdmFyIGNvbnRlbnQgPSB0aGlzLl9wb3BvdmVyQ29u
dGVudEZvckVXU1F1ZXVlKHF1ZXVlKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICB2YXIg
Y29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICAgICAgY29u
dGVudC5jbGFzc05hbWUgPSAiZXdzLXBvcG92ZXIiOworCisgICAgICAgICAgICB2YXIgbG9hZGlu
Z0luZGljYXRvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICAgICAg
bG9hZGluZ0luZGljYXRvci5jbGFzc05hbWUgPSAibG9hZGluZy1pbmRpY2F0b3IiOworICAgICAg
ICAgICAgbG9hZGluZ0luZGljYXRvci50ZXh0Q29udGVudCA9ICJMb2FkaW5nXHUyMDI2IjsKKyAg
ICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQobG9hZGluZ0luZGljYXRvcik7CisKKyAgICAg
ICAgICAgIHF1ZXVlLmxvYWREZXRhaWxlZFN0YXR1cyhmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICBwb3BvdmVyLmNvbnRlbnQgPSB0aGlzLl9wb3BvdmVyQ29udGVudEZvckVXU1F1ZXVlKHF1
ZXVlKTsKKyAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7CisgICAgICAgIH0KKworICAgICAgICB2
YXIgcmVjdCA9IERhc2hib2FyZC5SZWN0LnJlY3RGcm9tQ2xpZW50UmVjdChlbGVtZW50LmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpKTsKKyAgICAgICAgcG9wb3Zlci5jb250ZW50ID0gY29udGVudDsK
KyAgICAgICAgcG9wb3Zlci5wcmVzZW50KHJlY3QsIFtEYXNoYm9hcmQuUmVjdEVkZ2UuTUlOX1ks
IERhc2hib2FyZC5SZWN0RWRnZS5NQVhfWSwgRGFzaGJvYXJkLlJlY3RFZGdlLk1BWF9YLCBEYXNo
Ym9hcmQuUmVjdEVkZ2UuTUlOX1hdKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfSwKKwor
ICAgIF91cGRhdGVRdWV1ZXM6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMucXVldWVz
LmZvckVhY2goZnVuY3Rpb24ocXVldWUpIHsgcXVldWUudXBkYXRlKCk7IH0pOworICAgIH0sCisK
KyAgICBfcXVldWVVcGRhdGVkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMu
dXBkYXRlU29vbigpOworICAgIH0sCit9OwpJbmRleDogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIv
YXBwLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvYXBwLnlhbWwJ
KHJldmlzaW9uIDE3NDM1NykKKysrIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2FwcC55YW1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogYXBwbGljYXRpb246IHdlYmtpdC1xdWV1ZXMK
LXZlcnNpb246IDE3NDM1NyAjIFNWTiByZXZpc2lvbiBvZiBsYXN0IG1ham9yIGNoYW5nZQordmVy
c2lvbjogYXAgIyBTVk4gcmV2aXNpb24gb2YgbGFzdCBtYWpvciBjaGFuZ2UKIHJ1bnRpbWU6IHB5
dGhvbgogYXBpX3ZlcnNpb246IDEKIApJbmRleDogVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbG9n
Z2Vycy9yZWNvcmRwYXRjaGV2ZW50LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1F1ZXVlU3RhdHVz
U2VydmVyL2xvZ2dlcnMvcmVjb3JkcGF0Y2hldmVudC5weQkocmV2aXNpb24gMTc0MzU3KQorKysg
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbG9nZ2Vycy9yZWNvcmRwYXRjaGV2ZW50LnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIGNsYXNzIFJlY29yZFBhdGNoRXZlbnQob2JqZWN0
KToKIAogICAgICAgICAjIEFuIGV4aXN0aW5nIHdhaXRfZHVyYXRpb24gaW1wbGllcyB0aGUgcGF0
Y2ggaGFkIGJlZW4gc3RhcnRlZCBwcmV2aW91c2x5IGFuZCBpcwogICAgICAgICAjIGJlaW5nIHBp
Y2tlZCB1cCBhZ2FpbiBiZWNhdXNlIGl0IGhhZCBleHBpcmVkLCBvciB3YXMgcmVsZWFzZWQuCi0g
ICAgICAgIGlmIHBhdGNoX2xvZy53YWl0X2R1cmF0aW9uOgorICAgICAgICBpZiBwYXRjaF9sb2cu
d2FpdF9kdXJhdGlvbiBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHBhdGNoX2xvZy5yZXRyeV9j
b3VudCArPSAxCiAgICAgICAgICAgICBwYXRjaF9sb2cucHV0KCkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239353</attachid>
            <date>2014-10-06 13:57:00 -0700</date>
            <delta_ts>2014-10-06 13:57:24 -0700</delta_ts>
            <desc>without unrelated changes</desc>
            <filename>ZeroSeconds.txt</filename>
            <type>text/plain</type>
            <size>1713</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3NDM2MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDE0LTEwLTA2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIE9uZSBtb3JlIGNhc2Ugb2YgaW5jb3JyZWN0IGNvbXBhcmlzb24gaW4gcmVj
b3JkcGF0Y2hldmVudC5weQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM3NDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9hcHAueWFtbDoKKyAgICAgICAgKiBRdWV1ZVN0
YXR1c1NlcnZlci9sb2dnZXJzL3JlY29yZHBhdGNoZXZlbnQucHk6CisgICAgICAgIChSZWNvcmRQ
YXRjaEV2ZW50LnN0YXJ0ZWQpOgorCiAyMDE0LTEwLTA2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIHdlYmtpdC1xdWV1ZXMgUGF0Y2hMb2cgaXMgaW5jb3Jy
ZWN0IGZvciBwYXRjaGVzIHRoYXQgdG9vayBsZXNzIHRoYW4gYSBzZWNvbmQKSW5kZXg6IFRvb2xz
L1F1ZXVlU3RhdHVzU2VydmVyL2FwcC55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1F1ZXVlU3Rh
dHVzU2VydmVyL2FwcC55YW1sCShyZXZpc2lvbiAxNzQzNTcpCisrKyBUb29scy9RdWV1ZVN0YXR1
c1NlcnZlci9hcHAueWFtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIGFwcGxpY2F0
aW9uOiB3ZWJraXQtcXVldWVzCi12ZXJzaW9uOiAxNzQzNTcgIyBTVk4gcmV2aXNpb24gb2YgbGFz
dCBtYWpvciBjaGFuZ2UKK3ZlcnNpb246IGFwICMgU1ZOIHJldmlzaW9uIG9mIGxhc3QgbWFqb3Ig
Y2hhbmdlCiBydW50aW1lOiBweXRob24KIGFwaV92ZXJzaW9uOiAxCiAKSW5kZXg6IFRvb2xzL1F1
ZXVlU3RhdHVzU2VydmVyL2xvZ2dlcnMvcmVjb3JkcGF0Y2hldmVudC5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9sb2dnZXJzL3JlY29yZHBhdGNoZXZlbnQucHkJKHJl
dmlzaW9uIDE3NDM1NykKKysrIFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2xvZ2dlcnMvcmVjb3Jk
cGF0Y2hldmVudC5weQkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBjbGFzcyBSZWNv
cmRQYXRjaEV2ZW50KG9iamVjdCk6CiAKICAgICAgICAgIyBBbiBleGlzdGluZyB3YWl0X2R1cmF0
aW9uIGltcGxpZXMgdGhlIHBhdGNoIGhhZCBiZWVuIHN0YXJ0ZWQgcHJldmlvdXNseSBhbmQgaXMK
ICAgICAgICAgIyBiZWluZyBwaWNrZWQgdXAgYWdhaW4gYmVjYXVzZSBpdCBoYWQgZXhwaXJlZCwg
b3Igd2FzIHJlbGVhc2VkLgotICAgICAgICBpZiBwYXRjaF9sb2cud2FpdF9kdXJhdGlvbjoKKyAg
ICAgICAgaWYgcGF0Y2hfbG9nLndhaXRfZHVyYXRpb24gaXMgbm90IE5vbmU6CiAgICAgICAgICAg
ICBwYXRjaF9sb2cucmV0cnlfY291bnQgKz0gMQogICAgICAgICAgICAgcGF0Y2hfbG9nLnB1dCgp
CiAK
</data>
<flag name="review"
          id="264078"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>