<?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>223187</bug_id>
          
          <creation_ts>2021-03-15 09:39:32 -0700</creation_ts>
          <short_desc>REGRESSION(r274405): Test is failing now</short_desc>
          <delta_ts>2021-03-16 12:03:26 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>223158</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>mark.lam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739476</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-03-15 09:39:32 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/274405 broke the build:
Test is failing now

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739478</commentid>
    <comment_count>1</comment_count>
      <attachid>423188</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-03-15 09:39:38 -0700</bug_when>
    <thetext>Created attachment 423188
REVERT of r274405

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739485</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-15 09:45:41 -0700</bug_when>
    <thetext>commit-queue failed to commit attachment 423188 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740094</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-16 12:03:00 -0700</bug_when>
    <thetext>Committed r274505: &lt;https://commits.webkit.org/r274505&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423188.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740095</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-16 12:03:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/75487761&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423188</attachid>
            <date>2021-03-15 09:39:38 -0700</date>
            <delta_ts>2021-03-16 12:03:01 -0700</delta_ts>
            <desc>REVERT of r274405</desc>
            <filename>bug-223187-20210315163938.patch</filename>
            <type>text/plain</type>
            <size>30677</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDIyCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ5OWY5OGI5NDcwMGY2OGVhNzExODZkZDZkYTNl
ZWRjZThjODdkNTIuLjQ5OTE5NWJhMjRmNmE0NmY5YWVhNDRmOTg0YTI4MTM3MWI2ZGYwODQgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMjEtMDMtMTUgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc0NDA1LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMTg3CisKKyAgICAg
ICAgVGVzdCBpcyBmYWlsaW5nIG5vdworCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKwor
ICAgICAgICAiW0pTQ10gUnVuIG9uZSBNb3ppbGxhIHRlc3QgZXhwbGljaXRseSB1bmRlciBQU1Qg
c2luY2UgdGhpcworICAgICAgICB0ZXN0IGRvZXMgbm90IHdvcmsgd2hlbiB3ZSBhcmUgbW92aW5n
IGZyb20gUFNUIHRvIFBEVCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMzE1OAorICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvMjc0NDA1CisKIDIwMjEtMDMtMTQgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KIAogICAgICAgICBbSlNDXSBSdW4gb25lIE1vemlsbGEgdGVzdCBleHBsaWNpdGx5IHVuZGVy
IFBTVCBzaW5jZSB0aGlzIHRlc3QgZG9lcyBub3Qgd29yayB3aGVuIHdlIGFyZSBtb3ZpbmcgZnJv
bSBQU1QgdG8gUERUCmRpZmYgLS1naXQgYS9KU1Rlc3RzL2NvbXBsZXgueWFtbCBiL0pTVGVzdHMv
Y29tcGxleC55YW1sCmluZGV4IDI1YzdmM2VmYWUyNmE5MTIxYTE0ZTFjNzM4N2M0ZmZjYWUyOTZl
M2EuLjYyZWRmNTAzODMxMGVkODU4MzQyMWMzMWJjZjBjNzVhN2NjZDFkNzcgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvY29tcGxleC55YW1sCisrKyBiL0pTVGVzdHMvY29tcGxleC55YW1sCkBAIC00Myw2
ICs0MywzIEBACiAKIC0gcGF0aDogY29tcGxleC9kYXRlLXBhcnNlLW1pbGxpc2Vjb25kcy5qcwog
ICBjbWQ6IHJ1bkNvbXBsZXhUZXN0IFtdLCBbXSwgIlRaPUFtZXJpY2EvTG9zX0FuZ2VsZXMiLCAi
LS11c2VEb2xsYXJWTT0xIgotCi0tIHBhdGg6IGNvbXBsZXgvbW96aWxsYS1lY21hLURhdGUtMTUu
OS41LjE0LmpzCi0gIGNtZDogcnVuQ29tcGxleFRlc3QgWyJtb3ppbGxhLXNoZWxsLmpzIl0sIFtd
LCAiVFo9UFNUIiwgIi0tdXNlRG9sbGFyVk09MSIKZGlmZiAtLWdpdCBhL0pTVGVzdHMvY29tcGxl
eC9tb3ppbGxhLWVjbWEtRGF0ZS0xNS45LjUuMTQuanMgYi9KU1Rlc3RzL2NvbXBsZXgvbW96aWxs
YS1lY21hLURhdGUtMTUuOS41LjE0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
MWM1MWFiZDI1ODBiZDI0MDFhZGI2NTZiZTk2OTY0ZmM5NWY5OTJiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvY29tcGxleC9tb3ppbGxhLWVj
bWEtRGF0ZS0xNS45LjUuMTQuanMKKysrIC9kZXYvbnVsbApAQCAtMSw5OCArMCwwIEBACi0vKiBU
aGUgY29udGVudHMgb2YgdGhpcyBmaWxlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRzY2FwZSBQdWJs
aWMKLSAqIExpY2Vuc2UgVmVyc2lvbiAxLjEgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1
c2UgdGhpcyBmaWxlCi0gKiBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZ
b3UgbWF5IG9idGFpbiBhIGNvcHkgb2YKLSAqIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cubW96
aWxsYS5vcmcvTlBMLwotICoKLSAqIFNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNl
bnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUwotICogSVMiIGJhc2lzLCBXSVRIT1VUIFdBUlJB
TlRZIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvcgotICogaW1wbGllZC4gU2VlIHRoZSBM
aWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nCi0gKiByaWdodHMgYW5k
IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICoKLSAqIFRoZSBPcmlnaW5hbCBDb2Rl
IGlzIE1vemlsbGEgQ29tbXVuaWNhdG9yIGNsaWVudCBjb2RlLCByZWxlYXNlZCBNYXJjaAotICog
MzEsIDE5OTguCi0gKgotICogVGhlIEluaXRpYWwgRGV2ZWxvcGVyIG9mIHRoZSBPcmlnaW5hbCBD
b2RlIGlzIE5ldHNjYXBlIENvbW11bmljYXRpb25zCi0gKiBDb3Jwb3JhdGlvbi4gUG9ydGlvbnMg
Y3JlYXRlZCBieSBOZXRzY2FwZSBhcmUKLSAqIENvcHlyaWdodCAoQykgMTk5OCBOZXRzY2FwZSBD
b21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbi4gQWxsCi0gKiBSaWdodHMgUmVzZXJ2ZWQuCi0gKgot
ICogQ29udHJpYnV0b3Iocyk6IAotICogCi0gKi8KLS8qKgotICAgIEZpbGUgTmFtZTogICAgICAg
ICAgMTUuOS41LjE0LmpzCi0gICAgRUNNQSBTZWN0aW9uOiAgICAgICAxNS45LjUuMTQKLSAgICBE
ZXNjcmlwdGlvbjogICAgICAgIERhdGUucHJvdG90eXBlLmdldEhvdXJzCi0gICAgMS4gIExldCB0
IGJlIHRoaXMgdGltZSB2YWx1ZS4KLSAgICAyLiAgSWYgdCBpcyBOYU4sIHJldHVybiBOYU4uCi0g
ICAgMy4gIFJldHVybiBIb3VyRnJvbVRpbWUoTG9jYWxUaW1lKHQpKS4KLQotICAgIEF1dGhvcjog
ICAgICAgICAgICAgY2hyaXN0aW5lQG5ldHNjYXBlLmNvbQotICAgIERhdGU6ICAgICAgICAgICAg
ICAgMTIgbm92ZW1iZXIgMTk5NwotKi8KLQotICAgIHZhciBTRUNUSU9OID0gIjE1LjkuNS4xNCI7
Ci0gICAgdmFyIFZFUlNJT04gPSAiRUNNQV8xIjsKLSAgICBzdGFydFRlc3QoKTsKLSAgICB2YXIg
VElUTEUgICA9ICJEYXRlLnByb3RvdHlwZS5nZXRIb3VycygpIjsKLQotICAgIHdyaXRlSGVhZGVy
VG9Mb2coIFNFQ1RJT04gKyAiICIrIFRJVExFKTsKLQotICAgIHZhciB0ZXN0Y2FzZXMgPSBuZXcg
QXJyYXkoKTsKLQotICAgIHZhciBUWl9BREpVU1QgPSBUWl9ESUZGICogbXNQZXJIb3VyOwotCi0g
ICAgLy8gZ2V0IHRoZSBjdXJyZW50IHRpbWUKLSAgICB2YXIgbm93ID0gKG5ldyBEYXRlKCkpLnZh
bHVlT2YoKTsKLQotICAgIC8vIGdldCB0aW1lIGZvciAyOSBmZWIgMjAwMAotCi0gICAgdmFyIFVU
Q19GRUJfMjlfMjAwMCA9IFRJTUVfMjAwMCArIDMxKm1zUGVyRGF5ICsgMjgqbXNQZXJIb3VyOwot
Ci0gICAgLy8gZ2V0IHRpbWUgZm9yIDEgamFuIDIwMDUKLQotICAgIHZhciBVVENfSkFOXzFfMjAw
NSA9IFRJTUVfMjAwMCArIFRpbWVJblllYXIoMjAwMCkrVGltZUluWWVhcigyMDAxKSsKLSAgICBU
aW1lSW5ZZWFyKDIwMDIpK1RpbWVJblllYXIoMjAwMykrVGltZUluWWVhcigyMDA0KTsKLQotICAg
IGFkZFRlc3RDYXNlKCBub3cgKTsKLSAgICBhZGRUZXN0Q2FzZSggVElNRV9ZRUFSXzAgKTsKLSAg
ICBhZGRUZXN0Q2FzZSggVElNRV8xOTcwICk7Ci0gICAgYWRkVGVzdENhc2UoIFRJTUVfMTkwMCAp
OwotICAgIGFkZFRlc3RDYXNlKCBUSU1FXzIwMDAgKTsKLSAgICBhZGRUZXN0Q2FzZSggVVRDX0ZF
Ql8yOV8yMDAwICk7Ci0gICAgYWRkVGVzdENhc2UoIFVUQ19KQU5fMV8yMDA1ICk7Ci0KLSAgICB0
ZXN0Y2FzZXNbdGMrK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJT04sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiKG5ldyBEYXRlKE5hTikpLmdldEhvdXJzKCkiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFOLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKG5ldyBEYXRlKE5hTikpLmdldEhvdXJzKCkgKTsKLQotICAgIHRlc3Rj
YXNlc1t0YysrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJEYXRlLnByb3RvdHlwZS5nZXRIb3Vycy5sZW5ndGgiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIERhdGUucHJvdG90eXBlLmdldEhvdXJzLmxlbmd0aCApOwotICAgIHRlc3Qo
KTsKLWZ1bmN0aW9uIGFkZFRlc3RDYXNlKCB0ICkgewotICAgIGZvciAoIGggPSAwOyBoIDwgMjQ7
IGgrPTQgKSB7Ci0gICAgICAgICAgICB0ICs9IG1zUGVySG91cjsKLSAgICAgICAgICAgIHRlc3Rj
YXNlc1t0YysrXSA9IG5ldyBUZXN0Q2FzZSggU0VDVElPTiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICIobmV3IERhdGUoIit0KyIpKS5nZXRIb3VycygpIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvdXJGcm9tVGltZSgoTG9jYWxUaW1lKHQpKSks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmV3IERhdGUodCkpLmdldEhv
dXJzKCkgKTsKLSAgICB9Ci19Ci1mdW5jdGlvbiB0ZXN0KCkgewotICAgIGZvciAoIHRjPTA7IHRj
IDwgdGVzdGNhc2VzLmxlbmd0aDsgdGMrKyApIHsKLSAgICAgICAgdGVzdGNhc2VzW3RjXS5wYXNz
ZWQgPSB3cml0ZVRlc3RDYXNlUmVzdWx0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RjYXNlc1t0Y10uZXhwZWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RjYXNl
c1t0Y10uYWN0dWFsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RjYXNlc1t0Y10u
ZGVzY3JpcHRpb24gKyIgPSAiKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RjYXNl
c1t0Y10uYWN0dWFsICk7Ci0KLSAgICAgICAgdGVzdGNhc2VzW3RjXS5yZWFzb24gKz0gKCB0ZXN0
Y2FzZXNbdGNdLnBhc3NlZCApID8gIiIgOiAid3JvbmcgdmFsdWUgIjsKLSAgICAgICAgaWYgKCFn
ZXRUZXN0Q2FzZVJlc3VsdCh0ZXN0Y2FzZXNbdGNdLmV4cGVjdCwgdGVzdGNhc2VzW3RjXS5hY3R1
YWwpKQotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRlc3RjYXNlc1t0Y10uZGVzY3JpcHRp
b24gKyIgPSAiKyB0ZXN0Y2FzZXNbdGNdLmFjdHVhbCArICIgZXhwZWN0ZWQ6ICIgKyB0ZXN0Y2Fz
ZXNbdGNdLmV4cGVjdCk7Ci0gICAgfQotICAgIHN0b3BUZXN0KCk7Ci0gICAgcmV0dXJuICggdGVz
dGNhc2VzICk7Ci19CmRpZmYgLS1naXQgYS9KU1Rlc3RzL2NvbXBsZXgvbW96aWxsYS1zaGVsbC5q
cyBiL0pTVGVzdHMvY29tcGxleC9tb3ppbGxhLXNoZWxsLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkN2UwODY5MjJkODNhNjAxYTNlMDE0YjYyYWZmNjIwZTE4ZWFkN2MxLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvY29tcGxl
eC9tb3ppbGxhLXNoZWxsLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNzEyICswLDAgQEAKLS8qIFRo
ZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIE5ldHNjYXBlIFB1Ymxp
YwotICogTGljZW5zZSBWZXJzaW9uIDEuMSAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVz
ZSB0aGlzIGZpbGUKLSAqIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlv
dSBtYXkgb2J0YWluIGEgY29weSBvZgotICogdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5tb3pp
bGxhLm9yZy9OUEwvCi0gKgotICogU29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vu
c2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTCi0gKiBJUyIgYmFzaXMsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yCi0gKiBpbXBsaWVkLiBTZWUgdGhlIExp
Y2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKLSAqIHJpZ2h0cyBhbmQg
bGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gKgotICogVGhlIE9yaWdpbmFsIENvZGUg
aXMgTW96aWxsYSBDb21tdW5pY2F0b3IgY2xpZW50IGNvZGUsIHJlbGVhc2VkIE1hcmNoCi0gKiAz
MSwgMTk5OC4KLSAqCi0gKiBUaGUgSW5pdGlhbCBEZXZlbG9wZXIgb2YgdGhlIE9yaWdpbmFsIENv
ZGUgaXMgTmV0c2NhcGUgQ29tbXVuaWNhdGlvbnMKLSAqIENvcnBvcmF0aW9uLiBQb3J0aW9ucyBj
cmVhdGVkIGJ5IE5ldHNjYXBlIGFyZQotICogQ29weXJpZ2h0IChDKSAxOTk4IE5ldHNjYXBlIENv
bW11bmljYXRpb25zIENvcnBvcmF0aW9uLiBBbGwKLSAqIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0g
KiBDb250cmlidXRvcihzKTogCi0gKgotICovCi0vKgotICogSmF2YVNjcmlwdCBzaGFyZWQgZnVu
Y3Rpb25zIGZpbGUgZm9yIHJ1bm5pbmcgdGhlIHRlc3RzIGluIGVpdGhlcgotICogc3RhbmQtYWxv
bmUgSmF2YVNjcmlwdCBlbmdpbmUuICBUbyBydW4gYSB0ZXN0LCBmaXJzdCBsb2FkIHRoaXMgZmls
ZSwKLSAqIHRoZW4gbG9hZCB0aGUgdGVzdCBzY3JpcHQuCi0gKi8KLQotdmFyICAgIGNvbXBsZXRl
ZCA9ICAgIGZhbHNlOwotdmFyICAgIHRlc3RjYXNlczsKLXZhciB0YyA9IDA7Ci0KLVNFQ1RJT04g
ICAgPSAiIjsKLVZFUlNJT04gICAgPSAiIjsKLUJVR05VTUJFUiA9ICAgICIiOwotCi0vKgotICog
Y29uc3RhbnQgc3RyaW5ncwotICovCi12YXIgICAgR0xPQkFMID0gIltvYmplY3QgZ2xvYmFsXSI7
Ci12YXIgUEFTU0VEID0gIiBQQVNTRUQhIgotdmFyIEZBSUxFRCA9ICIgRkFJTEVEISBleHBlY3Rl
ZDogIjsKLQotdmFyICAgIERFQlVHID0gICAgZmFsc2U7Ci0KLQotCi0vKiB3cmFwcGVyIGZvciB0
ZXN0IGNhcyBjb25zdHJ1Y3RvciB0aGF0IGRvZXNuJ3QgcmVxdWlyZSB0aGUgU0VDVElPTgotICog
YXJndW1lbnQuCi0gKi8KLQotZnVuY3Rpb24gQWRkVGVzdENhc2UoIGRlc2NyaXB0aW9uLCBleHBl
Y3QsIGFjdHVhbCApIHsKLSAgICB0ZXN0Y2FzZXNbdGMrK10gPSBuZXcgVGVzdENhc2UoIFNFQ1RJ
T04sIGRlc2NyaXB0aW9uLCBleHBlY3QsIGFjdHVhbCApOwotfQotCi0vKgotICogVGVzdENhc2Ug
Y29uc3RydWN0b3IKLSAqCi0gKi8KLQotZnVuY3Rpb24gVGVzdENhc2UoIG4sIGQsIGUsICAgIGEg
KSAgICB7Ci0gICAgdGhpcy5uYW1lICAgICAgICAgPSBuOwotICAgIHRoaXMuZGVzY3JpcHRpb24g
PSBkOwotICAgIHRoaXMuZXhwZWN0ICAgICAgICAgPSBlOwotICAgIHRoaXMuYWN0dWFsICAgICAg
ICAgPSBhOwotICAgIHRoaXMucGFzc2VkICAgICAgICAgPSB0cnVlOwotICAgIHRoaXMucmVhc29u
ICAgICAgICAgPSAiIjsKLSAgICB0aGlzLmJ1Z251bWJlciAgICAgID0gICAgQlVHTlVNQkVSOwot
Ci0gICAgdGhpcy5wYXNzZWQgICAgPSBnZXRUZXN0Q2FzZVJlc3VsdCggdGhpcy5leHBlY3QsIHRo
aXMuYWN0dWFsICk7Ci0gICAgaWYgKCBERUJVRyApIHsKLSAgICAgICAgd3JpdGVMaW5lVG9Mb2co
ICAgICJhZGRlZCAiICsgdGhpcy5kZXNjcmlwdGlvbiAgICApOwotICAgIH0KLX0KLQotLyoKLSAq
IFNldCB1cCB0ZXN0IGVudmlyb25tZW50LgotICoKLSAqLwotZnVuY3Rpb24gc3RhcnRUZXN0KCkg
ewotICAgIGlmICggdmVyc2lvbiApIHsKLSAgICAgICAgLy8gICAgSmF2YVNjcmlwdCAxLjMgaXMg
c3VwcG9zZWQgdG8gYmUgY29tcGxpYW50IGVjbWEgICAgdmVyc2lvbiAgICAxLjAKLSAgICAgICAg
aWYgKCBWRVJTSU9OID09ICAgICJFQ01BXzEiICkgewotICAgICAgICAgICAgdmVyc2lvbiAgICAo
ICIxMzAiICAgICk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCBWRVJTSU9OID09ICAgICJKU18x
LjMiICkgewotICAgICAgICAgICAgdmVyc2lvbiAgICAoICIxMzAiICAgICk7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKCBWRVJTSU9OID09ICAgICJKU18xLjIiICkgewotICAgICAgICAgICAgdmVy
c2lvbiAgICAoICIxMjAiICAgICk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCBWRVJTSU9OICA9
PSAiSlNfMS4xIiApICAgIHsKLSAgICAgICAgICAgIHZlcnNpb24gICAgKCAiMTEwIiAgICApOwot
ICAgICAgICB9Ci0gICAgICAgIC8vIGZvciBlY21hICAgIHZlcnNpb24gICAgMi4wLCB3ZSAgICB3
aWxsIGxlYXZlIHRoZSBqYXZhc2NyaXB0IHZlcnNpb24gdG8KLSAgICAgICAgLy8gdGhlIGRlZmF1
bHQgKCBmb3Igbm93ICkuCi0gICAgfQotCi0gICAgLy8gcHJpbnQgb3V0IGJ1Z251bWJlcgotCi0g
ICAgaWYgKCBCVUdOVU1CRVIgKSB7Ci0gICAgICAgICAgICB3cml0ZUxpbmVUb0xvZyAoIkJVR05V
TUJFUjogIiArIEJVR05VTUJFUiApOwotICAgIH0KLQotICAgIHRlc3RjYXNlcyA9IG5ldyBBcnJh
eSgpOwotICAgIHRjID0gMDsKLX0KLQotCi1mdW5jdGlvbiB0ZXN0KCkgewotICAgIGZvciAoIHRj
PTA7IHRjIDwgdGVzdGNhc2VzLmxlbmd0aDsgdGMrKyApIHsKLSAgICAgICAgdGVzdGNhc2VzW3Rj
XS5wYXNzZWQgPSB3cml0ZVRlc3RDYXNlUmVzdWx0KAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RjYXNlc1t0Y10uZXhwZWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RjYXNlc1t0Y10uYWN0dWFsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RjYXNl
c1t0Y10uZGVzY3JpcHRpb24gKyIgPSAiKyB0ZXN0Y2FzZXNbdGNdLmFjdHVhbCApOwotICAgICAg
ICB0ZXN0Y2FzZXNbdGNdLnJlYXNvbiArPSAoIHRlc3RjYXNlc1t0Y10ucGFzc2VkICkgPyAiIiA6
ICJ3cm9uZyB2YWx1ZSAiOwotICAgIH0KLSAgICBzdG9wVGVzdCgpOwotICAgIHJldHVybiAoIHRl
c3RjYXNlcyApOwotfQotCi0vKgotICogQ29tcGFyZSBleHBlY3RlZCByZXN1bHQgdG8gdGhlIGFj
dHVhbCByZXN1bHQgYW5kIGZpZ3VyZSBvdXQgd2hldGhlcgotICogdGhlIHRlc3QgY2FzZSBwYXNz
ZWQuCi0gKi8KLWZ1bmN0aW9uIGdldFRlc3RDYXNlUmVzdWx0KCAgICBleHBlY3QsICAgIGFjdHVh
bCApIHsKLSAgICAvLyAgICBiZWNhdXNlICAgICggTmFOID09IE5hTiApIGFsd2F5cyByZXR1cm5z
IGZhbHNlLCBuZWVkIHRvIGRvCi0gICAgLy8gICAgYSBzcGVjaWFsIGNvbXBhcmUgdG8gc2VlIGlm
ICAgIHdlIGdvdCB0aGUgcmlnaHQgcmVzdWx0LgotICAgICAgICBpZiAoIGFjdHVhbCAgICAhPSBh
Y3R1YWwgKSAgICB7Ci0gICAgICAgICAgICBpZiAoIHR5cGVvZiAgICBhY3R1YWwgPT0gIm9iamVj
dCIgKSB7Ci0gICAgICAgICAgICAgICAgYWN0dWFsID0gIk5hTiBvYmplY3QiOwotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBhY3R1YWwgPSAiTmFOIG51bWJlciI7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCBleHBlY3QgICAgIT0gZXhwZWN0ICkg
ICAgewotICAgICAgICAgICAgaWYgKCB0eXBlb2YgICAgZXhwZWN0ID09ICJvYmplY3QiICkgewot
ICAgICAgICAgICAgICAgIGV4cGVjdCA9ICJOYU4gb2JqZWN0IjsKLSAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgZXhwZWN0ID0gIk5hTiBudW1iZXIiOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0KLSAgICAgICAgdmFyICAgIHBhc3NlZCA9ICggZXhwZWN0ID09IGFjdHVh
bCAgICApID8gICAgdHJ1ZSA6IGZhbHNlOwotCi0gICAgLy8gICAgaWYgYm90aCAgICBvYmplY3Rz
ICAgIGFyZSAgICBudW1iZXJzCi0gICAgLy8gbmVlZCAgICB0byByZXBsYWNlIHcvIElFRUUgc3Rh
bmRhcmQgICAgZm9yICAgIHJvdW5kaW5nCi0gICAgICAgIGlmICggICAgIXBhc3NlZAotICAgICAg
ICAgICAgICAgICYmIHR5cGVvZihhY3R1YWwpID09ICJudW1iZXIiCi0gICAgICAgICAgICAgICAg
JiYgdHlwZW9mKGV4cGVjdCkgPT0gIm51bWJlciIKLSAgICAgICAgICAgICkgewotICAgICAgICAg
ICAgICAgIGlmICggTWF0aC5hYnMoYWN0dWFsLWV4cGVjdCkgPCAwLjAwMDAwMDEgKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIHBhc3NlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0KLSAgICAvLyAgICB2ZXJpZnkgdHlwZSAgICBpcyB0aGUgc2FtZQotICAgICAgICBpZiAo
IHR5cGVvZihleHBlY3QpICAgICE9IHR5cGVvZihhY3R1YWwpICkgICAgewotICAgICAgICAgICAg
cGFzc2VkID0gZmFsc2U7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gcGFzc2VkOwotfQot
Ci0vKgotICogQmVnaW4gcHJpbnRpbmcgZnVuY3Rpb25zLiAgVGhlc2UgZnVuY3Rpb25zIHVzZSB0
aGUgc2hlbGwncwotICogcHJpbnQgZnVuY3Rpb24uICBXaGVuIHJ1bm5pbmcgdGVzdHMgaW4gdGhl
IGJyb3dzZXIsIHRoZXNlCi0gKiBmdW5jdGlvbnMsIG92ZXJyaWRlIHRoZXNlIGZ1bmN0aW9ucyB3
aXRoIGZ1bmN0aW9ucyB0aGF0IHVzZQotICogZG9jdW1lbnQud3JpdGUuCi0gKi8KLQotZnVuY3Rp
b24gd3JpdGVUZXN0Q2FzZVJlc3VsdCggZXhwZWN0LCBhY3R1YWwsIHN0cmluZyApIHsKLSAgICAg
ICAgdmFyICAgIHBhc3NlZCA9IGdldFRlc3RDYXNlUmVzdWx0KCAgICBleHBlY3QsICAgIGFjdHVh
bCApOwotICAgICAgICB3cml0ZUZvcm1hdHRlZFJlc3VsdCggZXhwZWN0LCBhY3R1YWwsIHN0cmlu
ZywgcGFzc2VkICk7Ci0gICAgICAgIHJldHVybiBwYXNzZWQ7Ci19Ci1mdW5jdGlvbiB3cml0ZUZv
cm1hdHRlZFJlc3VsdCggZXhwZWN0LCBhY3R1YWwsIHN0cmluZywgcGFzc2VkICkgewotICAgICAg
ICB2YXIgcyA9IHN0cmluZyA7Ci0gICAgICAgIHMgKz0gKCBwYXNzZWQgKSA/IFBBU1NFRCA6IEZB
SUxFRCArIGV4cGVjdDsKLSAgICAgICAgd3JpdGVMaW5lVG9Mb2coIHMpOwotICAgICAgICByZXR1
cm4gcGFzc2VkOwotfQotZnVuY3Rpb24gd3JpdGVMaW5lVG9Mb2coIHN0cmluZyAgICApIHsKLSAg
ICBwcmludCggc3RyaW5nICk7Ci19Ci1mdW5jdGlvbiB3cml0ZUhlYWRlclRvTG9nKCBzdHJpbmcg
KSAgICB7Ci0gICAgcHJpbnQoIHN0cmluZyApOwotfQotLyogZW5kIG9mIHByaW50IGZ1bmN0aW9u
cyAqLwotCi0KLS8qCi0gKiBXaGVuIHJ1bm5pbmcgaW4gdGhlIHNoZWxsLCBydW4gdGhlIGdhcmJh
Z2UgY29sbGVjdG9yIGFmdGVyIHRoZQotICogdGVzdCBoYXMgY29tcGxldGVkLgotICovCi0KLWZ1
bmN0aW9uIHN0b3BUZXN0KCkgICAgewotICAgICB2YXIgZ2M7Ci0gICAgaWYgKCBnYyAhPSB1bmRl
ZmluZWQgKSB7Ci0gICAgICAgIGdjKCk7Ci0gICAgfQotfQotCi0vKgotICogQ29udmVuaWVuY2Ug
ZnVuY3Rpb24gZm9yIGRpc3BsYXlpbmcgZmFpbGVkIHRlc3QgY2FzZXMuICBVc2VmdWwKLSAqIHdo
ZW4gcnVubmluZyB0ZXN0cyBtYW51YWxseS4KLSAqCi0gKi8KLWZ1bmN0aW9uIGdldEZhaWxlZENh
c2VzKCkgewotICBmb3IgKCAgICB2YXIgICAgaSA9ICAgIDA7IGkgPCB0ZXN0Y2FzZXMubGVuZ3Ro
OyBpKysgKSB7Ci0gICAgIGlmICAgICggISAgICB0ZXN0Y2FzZXNbaV0ucGFzc2VkICAgICkgewot
ICAgICAgICBwcmludCggdGVzdGNhc2VzW2ldLmRlc2NyaXB0aW9uICAgICsiID0gIiArdGVzdGNh
c2VzW2ldLmFjdHVhbCAgICArIiBleHBlY3RlZDogIisgICAgdGVzdGNhc2VzW2ldLmV4cGVjdCAg
ICApOwotICAgICB9Ci0gIH0KLX0KLSAvKgotICAqICAgIERhdGUgZnVuY3Rpb25zIHVzZWQgICAg
YnkgdGVzdHMgaW4gICAgRGF0ZSBzdWl0ZQotICAqCi0gICovCi12YXIgICAgbXNQZXJEYXkgPSAg
ICAgICAgICAgIDg2NDAwMDAwOwotdmFyICAgIEhvdXJzUGVyRGF5ICAgID0gICAgICAgIDI0Owot
dmFyICAgIE1pbnV0ZXNQZXJIb3VyID0gICAgNjA7Ci12YXIgICAgU2Vjb25kc1Blck1pbnV0ZSA9
ICAgIDYwOwotdmFyICAgIG1zUGVyU2Vjb25kICAgID0gICAgICAgIDEwMDA7Ci12YXIgICAgbXNQ
ZXJNaW51dGUgICAgPSAgICAgICAgNjAwMDA7ICAgICAgICAvLyAgICBtc1BlclNlY29uZCAgICAq
IFNlY29uZHNQZXJNaW51dGUKLXZhciAgICBtc1BlckhvdXIgPSAgICAgICAgICAgIDM2MDAwMDA7
ICAgIC8vICAgIG1zUGVyTWludXRlICAgICogTWludXRlc1BlckhvdXIKLXZhciAgICAgICAgICAg
ICBUWl9ESUZGICAgID0gZ2V0VGltZVpvbmVEaWZmKCk7ICAvLyBvZmZzZXQgb2YgdGVzdGVyJ3Mg
dGltZXpvbmUgZnJvbSBVVEMKLXZhciAgICAgICAgICAgICBUWl9QU1QgPSAtODsgIC8vIG9mZnNl
dCBvZiBQYWNpZmljIFN0YW5kYXJkIFRpbWUgZnJvbSBVVEMKLXZhciAgICAgICAgICAgICBQU1Rf
RElGRiA9IFRaX0RJRkYgLSBUWl9QU1Q7ICAvLyBvZmZzZXQgb2YgdGVzdGVyJ3MgdGltZXpvbmUg
ZnJvbSBQU1QKLXZhciAgICBUSU1FXzE5NzAgICAgID0gMDsKLXZhciAgICBUSU1FXzIwMDAgICAg
ID0gOTQ2Njg0ODAwMDAwOwotdmFyICAgIFRJTUVfMTkwMCAgICAgPSAtMjIwODk4ODgwMDAwMDsK
LXZhciAgICAgVElNRV9ZRUFSXzAgICAgICA9IC02MjE2NzIxOTIwMDAwMDsKLQotCi0vKgotICog
T3JpZ2luYWxseSwgdGhlIHRlc3Qgc3VpdGUgdXNlZCBhIGhhcmQtY29kZWQgdmFsdWUgVFpfRElG
RiA9IC04LiAKLSAqIEJ1dCB0aGF0IHdhcyBvbmx5IHZhbGlkIGZvciB0ZXN0ZXJzIGluIHRoZSBQ
YWNpZmljIFN0YW5kYXJkIFRpbWUgWm9uZSEgCi0gKiBXZSBjYWxjdWxhdGUgdGhlIHByb3BlciBu
dW1iZXIgZHluYW1pY2FsbHkgZm9yIGFueSB0ZXN0ZXIuIFdlIGp1c3QKLSAqIGhhdmUgdG8gYmUg
Y2FyZWZ1bCBub3QgdG8gdXNlIGEgZGF0ZSBzdWJqZWN0IHRvIERheWxpZ2h0IFNhdmluZ3MgVGlt
ZS4uLgotKi8KLWZ1bmN0aW9uIGdldFRpbWVab25lRGlmZigpCi17Ci0gIHJldHVybiAtKChuZXcg
RGF0ZSgyMDAwLCAxLCAxKSkuZ2V0VGltZXpvbmVPZmZzZXQoKSkvNjA7Ci19Ci0KLQotLyogCi0g
KiBEYXRlIHRlc3QgIlJlc3VsdEFycmF5cyIgYXJlIGhhcmQtY29kZWQgZm9yIFBhY2lmaWMgU3Rh
bmRhcmQgVGltZS4gCi0gKiBXZSBtdXN0IGFkanVzdCB0aGVtIGZvciB0aGUgdGVzdGVyJ3Mgb3du
IHRpbWV6b25lIC0KLSAqLwotZnVuY3Rpb24gYWRqdXN0UmVzdWx0QXJyYXkoUmVzdWx0QXJyYXks
IG1zTW9kZSkKLXsKLSAgLy8gSWYgdGhlIHRlc3RlcidzIHN5c3RlbSBjbG9jayBpcyBpbiBQU1Qs
IG5vIG5lZWQgdG8gY29udGludWUgLSAKLSAgaWYgKCFQU1RfRElGRikge3JldHVybjt9IAotCi0g
IC8qIFRoZSBkYXRlIHRlc3RjYXNlcyBpbnN0YW50aWF0ZSBEYXRlIG9iamVjdHMgaW4gdHdvIGRp
ZmZlcmVudCB3YXlzOgotICAgKgotICAgKiAgICAgICAgbWlsbGlzZWNvbmQgbW9kZTogZS5nLiAg
IGR0ID0gbmV3IERhdGUoMTAwMDAwMDApOwotICAgKiAgICAgICAgeWVhci1tb250aC1kYXkgbW9k
ZTogIGR0ID0gbmV3IERhdGUoMjAwMCwgNSwgMSwgLi4uKTsKLSAgICoKLSAgICogSW4gdGhlIGZp
cnN0IGNhc2UsIHRoZSBkYXRlIGlzIG1lYXN1cmVkIGZyb20gVGltZSAwIGluIEdyZWVud2ljaCAo
aS5lLiBVVEMpLgotICAgKiBJbiB0aGUgc2Vjb25kIGNhc2UsIGl0IGlzIG1lYXN1cmVkIHdpdGgg
cmVmZXJlbmNlIHRvIHRoZSB0ZXN0ZXIncyBsb2NhbCB0aW1lem9uZS4KLSAgICoKLSAgICogSW4g
dGhlIGZpcnN0IGNhc2Ugd2UgbXVzdCBjb3JyZWN0IHRob3NlIHZhbHVlcyBleHBlY3RlZCBmb3Ig
bG9jYWwgbWVhc3VyZW1lbnRzLAotICAgKiBsaWtlIGR0LmdldEhvdXJzKCkgZXRjLiBObyBjb3Jy
ZWN0aW9uIGlzIG5lY2Vzc2FyeSBmb3IgZHQuZ2V0VVRDSG91cnMoKSBldGMuCi0gICAqIAotICAg
KiBJbiB0aGUgc2Vjb25kIGNhc2UsIGl0IGlzIGV4YWN0bHkgdGhlIG90aGVyIHdheSBhcm91bmQg
LQotICAqLyAKLSAgaWYgKG1zTW9kZSkKLSAgewotICAgIC8vIFRoZSBoYXJkLWNvZGVkIFVUQyBt
aWxsaXNlY29uZHMgZnJvbSBUaW1lIDAgZGVyaXZlcyBmcm9tIGEgVVRDIGRhdGUuCi0gICAgLy8g
U2hpZnQgdG8gdGhlIHJpZ2h0IGJ5IHRoZSBvZmZzZXQgYmV0d2VlbiBVVEMgYW5kIHRoZSB0ZXN0
ZXIuCi0gICAgdmFyIHQgPSBSZXN1bHRBcnJheVtUSU1FXSAgKyAgVFpfRElGRiptc1BlckhvdXI7
Ci0KLSAgICAvLyBVc2Ugb3VyIGRhdGUgYXJpdGhtZXRpYyBmdW5jdGlvbnMgdG8gZGV0ZXJtaW5l
IHRoZSBsb2NhbCBob3VyLCBkYXksIGV0Yy4gCi0gICAgUmVzdWx0QXJyYXlbSE9VUlNdID0gSG91
ckZyb21UaW1lKHQpOyAKLSAgICBSZXN1bHRBcnJheVtEQVldID0gV2Vla0RheSh0KTsKLSAgICBS
ZXN1bHRBcnJheVtEQVRFXSA9IERhdGVGcm9tVGltZSh0KTsKLSAgICBSZXN1bHRBcnJheVtNT05U
SF0gPSBNb250aEZyb21UaW1lKHQpOwotICAgIFJlc3VsdEFycmF5W1lFQVJdID0gWWVhckZyb21U
aW1lKHQpOyAgCi0gIH0KLSAgZWxzZQotICB7Ci0gICAgLy8gVGhlIGhhcmQtY29kZWQgVVRDIG1p
bGxpc2Vjb25kcyBmcm9tIFRpbWUgMCBkZXJpdmVzIGZyb20gYSBQU1QgZGF0ZS4KLSAgICAvLyBT
aGlmdCB0byB0aGUgbGVmdCBieSB0aGUgb2Zmc2V0IGJldHdlZW4gUFNUIGFuZCB0aGUgdGVzdGVy
LgotICAgIHZhciB0ID0gUmVzdWx0QXJyYXlbVElNRV0gIC0gIFBTVF9ESUZGKm1zUGVySG91cjsK
LQotICAgIC8vIFVzZSBvdXIgZGF0ZSBhcml0aG1ldGljIGZ1bmN0aW9ucyB0byBkZXRlcm1pbmUg
dGhlIFVUQyBob3VyLCBkYXksIGV0Yy4gCi0gICAgUmVzdWx0QXJyYXlbVElNRV0gPSB0OwotICAg
IFJlc3VsdEFycmF5W1VUQ19IT1VSU10gPSBIb3VyRnJvbVRpbWUodCk7IAotICAgIFJlc3VsdEFy
cmF5W1VUQ19EQVldID0gV2Vla0RheSh0KTsKLSAgICBSZXN1bHRBcnJheVtVVENfREFURV0gPSBE
YXRlRnJvbVRpbWUodCk7Ci0gICAgUmVzdWx0QXJyYXlbVVRDX01PTlRIXSA9IE1vbnRoRnJvbVRp
bWUodCk7Ci0gICAgUmVzdWx0QXJyYXlbVVRDX1lFQVJdID0gWWVhckZyb21UaW1lKHQpOwotICB9
Ci19Ci0KLQotZnVuY3Rpb24gRGF5KCB0ICAgICkgewotICAgIHJldHVybiAoIE1hdGguZmxvb3Io
dC9tc1BlckRheSApICk7Ci19Ci1mdW5jdGlvbiBEYXlzSW5ZZWFyKCB5ICkgewotICAgIGlmICgg
eSAlIDQgIT0gMCAgICApIHsKLSAgICAgICAgcmV0dXJuIDM2NTsKLSAgICB9Ci0gICAgaWYgKCAo
eSAgICAlIDQgICAgPT0gMCkgJiYgKHkgICAgJSAxMDAgIT0gMCkgICAgKSB7Ci0gICAgICAgIHJl
dHVybiAzNjY7Ci0gICAgfQotICAgIGlmICggKHkgICAgJSAxMDAgPT0gMCkgICAgJiYgICAgKHkg
JSA0MDAgIT0gICAgMCkgKSB7Ci0gICAgICAgIHJldHVybiAzNjU7Ci0gICAgfQotICAgIGlmICgg
KHkgICAgJSA0MDAgPT0gMCkgICAgKXsKLSAgICAgICAgcmV0dXJuIDM2NjsKLSAgICB9IGVsc2Ug
ewotICAgICAgICByZXR1cm4gIkVSUk9SOiBEYXlzSW5ZZWFyKCIgICAgKyB5ICAgICsgIikgY2Fz
ZSBub3QgY292ZXJlZCI7Ci0gICAgfQotfQotZnVuY3Rpb24gVGltZUluWWVhciggeSApIHsKLSAg
ICByZXR1cm4gKCBEYXlzSW5ZZWFyKHkpICogbXNQZXJEYXkgKTsKLX0KLWZ1bmN0aW9uIERheU51
bWJlciggICAgdCApICAgIHsKLSAgICByZXR1cm4gKCBNYXRoLmZsb29yKCB0IC8gbXNQZXJEYXkg
KSAgICApOwotfQotZnVuY3Rpb24gVGltZVdpdGhpbkRheSggICAgdCApICAgIHsKLSAgICBpZiAo
IHQgPCAwICkgewotICAgICAgICByZXR1cm4gKCAodCAgICAlIG1zUGVyRGF5KSAgICArIG1zUGVy
RGF5ICk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcmV0dXJuICggdCAlIG1zUGVyRGF5ICk7Ci0g
ICAgfQotfQotZnVuY3Rpb24gWWVhck51bWJlciggdCApIHsKLX0KLWZ1bmN0aW9uIFRpbWVGcm9t
WWVhciggeSApIHsKLSAgICByZXR1cm4gKCBtc1BlckRheSAqICAgIERheUZyb21ZZWFyKHkpICk7
Ci19Ci1mdW5jdGlvbiBEYXlGcm9tWWVhciggeSAgICApIHsKLSAgICByZXR1cm4gKCAgICAzNjUq
KHktMTk3MCkgKwotICAgICAgICAgICAgICAgIE1hdGguZmxvb3IoKHktMTk2OSkvNCkgLQotICAg
ICAgICAgICAgICAgIE1hdGguZmxvb3IoKHktMTkwMSkvMTAwKSArCi0gICAgICAgICAgICAgICAg
TWF0aC5mbG9vcigoeS0xNjAxKS80MDApICk7Ci19Ci1mdW5jdGlvbiBJbkxlYXBZZWFyKCB0ICkg
ewotICAgIGlmICggRGF5c0luWWVhcihZZWFyRnJvbVRpbWUodCkpID09ICAgIDM2NSAgICApIHsK
LSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIGlmICggRGF5c0luWWVhcihZZWFyRnJvbVRp
bWUodCkpID09ICAgIDM2NiAgICApIHsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgcmV0dXJuICJFUlJPUjogIEluTGVhcFllYXIoIisgdCArICIpIGNhc2Ugbm90IGNv
dmVyZWQiOwotICAgIH0KLX0KLWZ1bmN0aW9uIFllYXJGcm9tVGltZSggdCApIHsKLSAgICB0ID0g
ICAgTnVtYmVyKCAgICB0ICk7Ci0gICAgdmFyICAgIHNpZ24gPSAoIHQgPCAwICkgPyAtMSA6ICAg
IDE7Ci0gICAgdmFyICAgIHllYXIgPSAoIHNpZ24gPCAgICAwICkgICAgPyAxOTY5IDogMTk3MDsK
LSAgICBmb3IgICAgKCAgICB2YXIgICAgdGltZVRvVGltZVplcm8gPSB0OyAgICA7ICApIHsKLSAg
ICAvLyAgICBzdWJ0cmFjdCB0aGUgY3VycmVudCB5ZWFyJ3MgICAgdGltZSBmcm9tIHRoZSB0aW1l
IHRoYXQncyBsZWZ0LgotICAgICAgICB0aW1lVG9UaW1lWmVybyAtPSBzaWduICogVGltZUluWWVh
cih5ZWFyKQotCi0gICAgLy8gICAgaWYgdGhlcmUncyBsZXNzICAgIHRoYW4gdGhlIGN1cnJlbnQg
eWVhcidzICAgIHdvcnRoIG9mIHRpbWUgbGVmdCwgICAgdGhlbiBicmVhay4KLSAgICAgICAgaWYg
KCBzaWduIDwgICAgMCApICAgIHsKLSAgICAgICAgICAgIGlmICggc2lnbiAqICAgIHRpbWVUb1Rp
bWVaZXJvIDw9IDAgICAgKSB7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgIHllYXIgKz0gICAgc2lnbjsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGlmICggc2lnbiAqICAgIHRpbWVUb1RpbWVa
ZXJvIDwgMCApIHsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgeWVhciArPSAgICBzaWduOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgfQotICAgIHJldHVybiAoIHllYXIgKTsKLX0KLWZ1bmN0aW9uIE1vbnRoRnJvbVRp
bWUoICAgIHQgKSAgICB7Ci0gICAgLy8gICAgaSBrbm93IGkgY291bGQgdXNlIHN3aXRjaCBidXQg
aSdkIHJhdGhlciBub3QgdW50aWwgaXQncyAgICBwYXJ0IG9mICAgIEVDTUEKLSAgICB2YXIgICAg
ZGF5ICAgID0gRGF5V2l0aGluWWVhciggdCApOwotICAgIHZhciAgICBsZWFwID0gSW5MZWFwWWVh
cih0KTsKLQotICAgIGlmICggKDAgICAgPD0gZGF5KSAgICAmJiAoZGF5ICAgIDwgMzEpICkgICAg
ewotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgaWYgKCAoMzEgPD0gICAgZGF5KSAmJiAg
ICAoZGF5IDwgKDU5K2xlYXApKSApICAgIHsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotICAg
IGlmICggKCg1OStsZWFwKSAgICA8PSBkYXkpICAgICYmIChkYXkgICAgPCAoOTArbGVhcCkpICkg
ewotICAgICAgICByZXR1cm4gMjsKLSAgICB9Ci0gICAgaWYgKCAoKDkwK2xlYXApICAgIDw9IGRh
eSkgICAgJiYgKGRheSAgICA8ICgxMjArbGVhcCkpICkgICAgewotICAgICAgICByZXR1cm4gMzsK
LSAgICB9Ci0gICAgaWYgKCAoKDEyMCtsZWFwKSA8PSAgICBkYXkpICYmICAgIChkYXkgPCAoMTUx
K2xlYXApKSApIHsKLSAgICAgICAgcmV0dXJuIDQ7Ci0gICAgfQotICAgIGlmICggKCgxNTErbGVh
cCkgPD0gICAgZGF5KSAmJiAgICAoZGF5IDwgKDE4MStsZWFwKSkgKSB7Ci0gICAgICAgIHJldHVy
biA1OwotICAgIH0KLSAgICBpZiAoICgoMTgxK2xlYXApIDw9ICAgIGRheSkgJiYgICAgKGRheSA8
ICgyMTIrbGVhcCkpICkgewotICAgICAgICByZXR1cm4gNjsKLSAgICB9Ci0gICAgaWYgKCAoKDIx
MitsZWFwKSA8PSAgICBkYXkpICYmICAgIChkYXkgPCAoMjQzK2xlYXApKSApIHsKLSAgICAgICAg
cmV0dXJuIDc7Ci0gICAgfQotICAgIGlmICggKCgyNDMrbGVhcCkgPD0gICAgZGF5KSAmJiAgICAo
ZGF5IDwgKDI3MytsZWFwKSkgKSB7Ci0gICAgICAgIHJldHVybiA4OwotICAgIH0KLSAgICBpZiAo
ICgoMjczK2xlYXApIDw9ICAgIGRheSkgJiYgICAgKGRheSA8ICgzMDQrbGVhcCkpICkgewotICAg
ICAgICByZXR1cm4gOTsKLSAgICB9Ci0gICAgaWYgKCAoKDMwNCtsZWFwKSA8PSAgICBkYXkpICYm
ICAgIChkYXkgPCAoMzM0K2xlYXApKSApIHsKLSAgICAgICAgcmV0dXJuIDEwOwotICAgIH0KLSAg
ICBpZiAoICgoMzM0K2xlYXApIDw9ICAgIGRheSkgJiYgICAgKGRheSA8ICgzNjUrbGVhcCkpICkg
ewotICAgICAgICByZXR1cm4gMTE7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcmV0dXJuICJFUlJP
UjogICAgTW9udGhGcm9tVGltZSgiK3QrIikgbm90IGtub3duIjsKLSAgICB9Ci19Ci1mdW5jdGlv
biBEYXlXaXRoaW5ZZWFyKCAgICB0ICkgICAgewotICAgICAgICByZXR1cm4oICAgIERheSh0KSAt
IERheUZyb21ZZWFyKFllYXJGcm9tVGltZSh0KSkpOwotfQotZnVuY3Rpb24gRGF0ZUZyb21UaW1l
KCB0ICkgewotICAgIHZhciAgICBkYXkgICAgPSBEYXlXaXRoaW5ZZWFyKHQpOwotICAgIHZhciAg
ICBtb250aCA9ICAgIE1vbnRoRnJvbVRpbWUodCk7Ci0KLSAgICBpZiAoIG1vbnRoID09IDAgICAg
KSB7Ci0gICAgICAgIHJldHVybiAoIGRheSArIDEgKTsKLSAgICB9Ci0gICAgaWYgKCBtb250aCA9
PSAxICAgICkgewotICAgICAgICByZXR1cm4gKCBkYXkgLSAzMCApOwotICAgIH0KLSAgICBpZiAo
IG1vbnRoID09IDIgICAgKSB7Ci0gICAgICAgIHJldHVybiAoIGRheSAtIDU4IC0gICAgSW5MZWFw
WWVhcih0KSApOwotICAgIH0KLSAgICBpZiAoIG1vbnRoID09IDMgICAgKSB7Ci0gICAgICAgIHJl
dHVybiAoIGRheSAtIDg5IC0gICAgSW5MZWFwWWVhcih0KSk7Ci0gICAgfQotICAgIGlmICggbW9u
dGggPT0gNCAgICApIHsKLSAgICAgICAgcmV0dXJuICggZGF5IC0gMTE5IC0gSW5MZWFwWWVhcih0
KSk7Ci0gICAgfQotICAgIGlmICggbW9udGggPT0gNSAgICApIHsKLSAgICAgICAgcmV0dXJuICgg
ZGF5IC0gMTUwLSAgICBJbkxlYXBZZWFyKHQpKTsKLSAgICB9Ci0gICAgaWYgKCBtb250aCA9PSA2
ICAgICkgewotICAgICAgICByZXR1cm4gKCBkYXkgLSAxODAtICAgIEluTGVhcFllYXIodCkpOwot
ICAgIH0KLSAgICBpZiAoIG1vbnRoID09IDcgICAgKSB7Ci0gICAgICAgIHJldHVybiAoIGRheSAt
IDIxMS0gICAgSW5MZWFwWWVhcih0KSk7Ci0gICAgfQotICAgIGlmICggbW9udGggPT0gOCAgICAp
IHsKLSAgICAgICAgcmV0dXJuICggZGF5IC0gMjQyLSAgICBJbkxlYXBZZWFyKHQpKTsKLSAgICB9
Ci0gICAgaWYgKCBtb250aCA9PSA5ICAgICkgewotICAgICAgICByZXR1cm4gKCBkYXkgLSAyNzIt
ICAgIEluTGVhcFllYXIodCkpOwotICAgIH0KLSAgICBpZiAoIG1vbnRoID09IDEwICkgewotICAg
ICAgICByZXR1cm4gKCBkYXkgLSAzMDMtICAgIEluTGVhcFllYXIodCkpOwotICAgIH0KLSAgICBp
ZiAoIG1vbnRoID09IDExICkgewotICAgICAgICByZXR1cm4gKCBkYXkgLSAzMzMtICAgIEluTGVh
cFllYXIodCkpOwotICAgIH0KLQotICAgIHJldHVybiAoIkVSUk9SOiAgICAgRGF0ZUZyb21UaW1l
KCIrdCsiKSBub3Qga25vd24iICAgICk7Ci19Ci1mdW5jdGlvbiBXZWVrRGF5KCB0ICAgICkgewot
ICAgIHZhciAgICB3ZWVrZGF5ICAgID0gKERheSh0KSs0KSAlIDc7Ci0gICAgcmV0dXJuKCAgICB3
ZWVrZGF5ICAgIDwgMCAgICA/IDcgICAgKyB3ZWVrZGF5IDogICAgd2Vla2RheSAgICApOwotfQot
Ci0vLyBtaXNzaW5nIGRheWxpZ2h0ICAgIHNhdmlucyB0aW1lICAgIGFkanVzdG1lbnQKLQotZnVu
Y3Rpb24gSG91ckZyb21UaW1lKCB0ICkgewotICAgIHZhciAgICBoID0gICAgTWF0aC5mbG9vcigg
ICAgdCAvICAgIG1zUGVySG91ciApICAgICUgSG91cnNQZXJEYXk7Ci0gICAgcmV0dXJuICggKGg8
MCkgPyBIb3Vyc1BlckRheSArIGggOiBoICApOwotfQotZnVuY3Rpb24gTWluRnJvbVRpbWUoIHQg
ICAgKSB7Ci0gICAgdmFyICAgIG1pbiAgICA9IE1hdGguZmxvb3IoIHQgICAgLyBtc1Blck1pbnV0
ZSApICAgICUgTWludXRlc1BlckhvdXI7Ci0gICAgcmV0dXJuKCAgICAoIG1pbiA8ICAgIDAgKSAg
ICA/IE1pbnV0ZXNQZXJIb3VyICsgbWluIDogbWluICApOwotfQotZnVuY3Rpb24gU2VjRnJvbVRp
bWUoIHQgICAgKSB7Ci0gICAgdmFyICAgIHNlYyAgICA9IE1hdGguZmxvb3IoIHQgICAgLyBtc1Bl
clNlY29uZCApICAgICUgU2Vjb25kc1Blck1pbnV0ZTsKLSAgICByZXR1cm4gKCAoc2VjIDwgICAg
MCApICAgID8gU2Vjb25kc1Blck1pbnV0ZSArIHNlYyA6IHNlYyApOwotfQotZnVuY3Rpb24gbXNG
cm9tVGltZSggdCApIHsKLSAgICB2YXIgICAgbXMgPSB0ICUgbXNQZXJTZWNvbmQ7Ci0gICAgcmV0
dXJuICggKG1zIDwgMCApID8gbXNQZXJTZWNvbmQgKyBtcyA6ICAgIG1zICk7Ci19Ci1mdW5jdGlv
biBMb2NhbFRaQSgpICAgIHsKLSAgICByZXR1cm4gKCBUWl9ESUZGICogbXNQZXJIb3VyICk7Ci19
Ci1mdW5jdGlvbiBVVEMoIHQgICAgKSB7Ci0gICAgcmV0dXJuICggdCAtIExvY2FsVFpBKCkgICAg
LSBEYXlsaWdodFNhdmluZ1RBKHQgLSBMb2NhbFRaQSgpKSApOwotfQotCi1mdW5jdGlvbiBEYXls
aWdodFNhdmluZ1RBKCB0ICkgewotICAgIHQgPSAgICB0IC0gICAgTG9jYWxUWkEoKTsKLQotICAg
IHZhciAgICBkc3Rfc3RhcnQgPSBHZXRTZWNvbmRTdW5kYXlJbk1hcmNoKHQpICsgMiptc1Blckhv
dXI7Ci0gICAgdmFyICAgIGRzdF9lbmQgICAgICA9IEdldEZpcnN0U3VuZGF5SW5Ob3ZlbWJlcih0
KSsgMiptc1BlckhvdXI7Ci0KLSAgICBpZiAoIHQgPj0gZHN0X3N0YXJ0ICAgICYmIHQgPCBkc3Rf
ZW5kICkgewotICAgICAgICByZXR1cm4gbXNQZXJIb3VyOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IHJldHVybiAwOwotICAgIH0KLQotICAgIC8vIERheWxpZ2h0ICAgIFNhdmluZ3MgICAgVGltZSBz
dGFydHMgICAgb24gdGhlIGZpcnN0IFN1bmRheSAgICBpbiBBcHJpbCBhdCAgICAyOjAwQU0gaW4K
LSAgICAvLyBQU1QuICAgICBPdGhlciB0aW1lICAgIHpvbmVzIHdpbGwgbmVlZCAgICB0byBvdmVy
cmlkZSAgICB0aGlzIGZ1bmN0aW9uLgotCi0gICAgcHJpbnQoIG5ldyBEYXRlKCBVVEMoZHN0X3N0
YXJ0ICsgTG9jYWxUWkEoKSkpICk7Ci0KLSAgICByZXR1cm4gVVRDKGRzdF9zdGFydCAgKyAgICBM
b2NhbFRaQSgpKTsKLX0KLQotZnVuY3Rpb24gR2V0Rmlyc3RTdW5kYXlJbkFwcmlsKCB0ICkgewot
ICAgIHZhciB5ZWFyID0gWWVhckZyb21UaW1lKHQpOwotICAgIHZhciBsZWFwID0gSW5MZWFwWWVh
cih0KTsKLQotICAgIHZhciBhcHJpbCA9IFRpbWVGcm9tWWVhcih5ZWFyKSArIFRpbWVJbk1vbnRo
KDAsIGxlYXApICsgVGltZUluTW9udGgoMSxsZWFwKSArCi0gICAgVGltZUluTW9udGgoMixsZWFw
KTsKLQotICAgIGZvciAoIHZhciBmaXJzdF9zdW5kYXkgPSBhcHJpbDsgV2Vla0RheShmaXJzdF9z
dW5kYXkpID4gMDsKLSAgICAgICAgZmlyc3Rfc3VuZGF5ICs9IG1zUGVyRGF5ICkKLSAgICB7Ci0g
ICAgICAgIDsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmlyc3Rfc3VuZGF5OwotfQotZnVuY3Rpb24g
R2V0TGFzdFN1bmRheUluT2N0b2JlciggdCApIHsKLSAgICB2YXIgeWVhciA9IFllYXJGcm9tVGlt
ZSh0KTsKLSAgICB2YXIgbGVhcCA9IEluTGVhcFllYXIodCk7Ci0KLSAgICBmb3IgKCB2YXIgb2N0
ID0gVGltZUZyb21ZZWFyKHllYXIpLCBtID0gMDsgbSA8IDk7IG0rKyApIHsKLSAgICAgICAgb2N0
ICs9IFRpbWVJbk1vbnRoKG0sIGxlYXApOwotICAgIH0KLSAgICBmb3IgKCB2YXIgbGFzdF9zdW5k
YXkgPSBvY3QgKyAzMCptc1BlckRheTsgV2Vla0RheShsYXN0X3N1bmRheSkgPiAwOwotICAgICAg
ICBsYXN0X3N1bmRheSAtPSBtc1BlckRheSApCi0gICAgewotICAgICAgICA7Ci0gICAgfQotICAg
IHJldHVybiBsYXN0X3N1bmRheTsKLX0KLQotLy8gQWRkZWQgdGhlc2UgdHdvIGZ1bmN0aW9ucyBi
ZWNhdXNlIERTVCBydWxlcyBjaGFuZ2VkIGZvciB0aGUgVVMuCi1mdW5jdGlvbiBHZXRTZWNvbmRT
dW5kYXlJbk1hcmNoKCB0ICkgewotICAgIHZhciAgICB5ZWFyID0gWWVhckZyb21UaW1lKHQpOwot
ICAgIHZhciAgICBsZWFwID0gSW5MZWFwWWVhcih0KTsKLQotICAgIHZhciAgICBtYXJjaCA9ICAg
IFRpbWVGcm9tWWVhcih5ZWFyKSArIFRpbWVJbk1vbnRoKDAsIGxlYXApICsgVGltZUluTW9udGgo
MSxsZWFwKTsKLQotICAgIHZhciBzdW5kYXlDb3VudCA9IDA7Ci0gICAgdmFyIGZsYWcgPSB0cnVl
OwotICAgIGZvciAoIHZhciBzZWNvbmRfc3VuZGF5ID0gbWFyY2g7IGZsYWc7IHNlY29uZF9zdW5k
YXkgKz0gbXNQZXJEYXkgKQotICAgIHsKLSAgICAgICAgaWYgKFdlZWtEYXkoc2Vjb25kX3N1bmRh
eSkgPT0gMCkgewotICAgICAgICAgICAgaWYoKytzdW5kYXlDb3VudCA9PSAyKQotICAgICAgICAg
ICAgICAgIGZsYWcgPSBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiBzZWNv
bmRfc3VuZGF5OwotfQotZnVuY3Rpb24gR2V0Rmlyc3RTdW5kYXlJbk5vdmVtYmVyKCB0ICkgewot
ICAgIHZhciB5ZWFyID0gWWVhckZyb21UaW1lKHQpOwotICAgIHZhciBsZWFwID0gSW5MZWFwWWVh
cih0KTsKLQotICAgIGZvciAoIHZhciBub3YgPSBUaW1lRnJvbVllYXIoeWVhciksIG0gPSAgICAw
OyBtIDwgMTA7IG0rKyApIHsKLSAgICAgICAgbm92ICs9IFRpbWVJbk1vbnRoKG0sIGxlYXApOwot
ICAgIH0KLSAgICBmb3IgKCB2YXIgZmlyc3Rfc3VuZGF5ID0gbm92OyBXZWVrRGF5KGZpcnN0X3N1
bmRheSkgPiAwOwotICAgICAgICBmaXJzdF9zdW5kYXkgKz0gbXNQZXJEYXkgICAgKQotICAgIHsK
LSAgICAgICAgOwotICAgIH0KLSAgICByZXR1cm4gZmlyc3Rfc3VuZGF5OwotfQotZnVuY3Rpb24g
TG9jYWxUaW1lKCAgICB0ICkgICAgewotICAgIHJldHVybiAoIHQgKyBMb2NhbFRaQSgpICAgICsg
RGF5bGlnaHRTYXZpbmdUQSh0KSApOwotfQotZnVuY3Rpb24gTWFrZVRpbWUoIGhvdXIsIG1pbiwg
c2VjLCBtcyApICAgIHsKLSAgICBpZiAoIGlzTmFOKCAgICBob3VyICkgfHwgaXNOYU4oIG1pbiAp
IHx8IGlzTmFOKCBzZWMgKSB8fCBpc05hTiggbXMgICAgKSApICAgIHsKLSAgICAgICAgcmV0dXJu
IE51bWJlci5OYU47Ci0gICAgfQotCi0gICAgaG91ciA9IFRvSW50ZWdlcihob3VyKTsKLSAgICBt
aW4gICAgID0gVG9JbnRlZ2VyKCBtaW4pOwotICAgIHNlYyAgICAgPSBUb0ludGVnZXIoIHNlYyk7
Ci0gICAgbXMgICAgID0gVG9JbnRlZ2VyKCBtcyApOwotCi0gICAgcmV0dXJuKCAgICAoaG91cipt
c1BlckhvdXIpICsgKG1pbiptc1Blck1pbnV0ZSkgKwotICAgICAgICAgICAgKHNlYyptc1BlclNl
Y29uZCkgKyAgICBtcyApOwotfQotZnVuY3Rpb24gTWFrZURheSggeWVhciwgICAgbW9udGgsIGRh
dGUgICAgKSB7Ci0gICAgaWYgKCBpc05hTih5ZWFyKSB8fCAgICBpc05hTihtb250aCkgfHwgICAg
aXNOYU4oZGF0ZSkgICAgKSB7Ci0gICAgICAgIHJldHVybiBOdW1iZXIuTmFOOwotICAgIH0KLSAg
ICB5ZWFyID0gVG9JbnRlZ2VyKHllYXIpOwotICAgIG1vbnRoID0gICAgVG9JbnRlZ2VyKG1vbnRo
KTsKLSAgICBkYXRlID0gVG9JbnRlZ2VyKGRhdGUgKTsKLQotICAgIHZhciAgICBzaWduID0gKCB5
ZWFyIDwgICAgMTk3MCApID8gLTEgICAgOiAxOwotICAgIHZhciAgICB0ID0gICAgICAgKCB5ZWFy
IDwgICAgMTk3MCApID8gMSA6ICAwOwotICAgIHZhciAgICB5ID0gICAgICAgKCB5ZWFyIDwgICAg
MTk3MCApID8gMTk2OSA6ICAgIDE5NzA7Ci0KLSAgICB2YXIgICAgcmVzdWx0NSAgICA9IHllYXIg
KyBNYXRoLmZsb29yKCBtb250aC8xMiApOwotICAgIHZhciAgICByZXN1bHQ2ICAgID0gbW9udGgg
ICAgJSAxMjsKLQotICAgIGlmICggeWVhciA8ICAgIDE5NzAgKSB7Ci0gICAgICAgZm9yICggeSA9
IDE5Njk7IHkgPj0gICAgeWVhcjsgeSAgICArPSBzaWduICAgICkgewotICAgICAgICAgdCArPSBz
aWduICogVGltZUluWWVhcih5KTsKLSAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgZm9y
ICAgICggeSAgICA9IDE5NzAgOyB5IDwgeWVhcjsgeSArPSAgICBzaWduICkgewotICAgICAgICAg
ICAgdCArPSBzaWduICogICAgVGltZUluWWVhcih5KTsKLSAgICAgICAgfQotICAgIH0KLQotICAg
IHZhciAgICBsZWFwID0gSW5MZWFwWWVhciggdCApOwotCi0gICAgZm9yICAgICggdmFyIG0gICAg
PSAwOyBtIDwgbW9udGg7ICAgIG0rKyAgICApIHsKLSAgICAgICAgdCArPSBUaW1lSW5Nb250aCgg
bSwgbGVhcCApOwotICAgIH0KLQotICAgIGlmICggWWVhckZyb21UaW1lKHQpICE9ICAgIHJlc3Vs
dDUgICAgKSB7Ci0gICAgICAgIHJldHVybiBOdW1iZXIuTmFOOwotICAgIH0KLSAgICBpZiAoIE1v
bnRoRnJvbVRpbWUodCkgIT0gcmVzdWx0NiApIHsKLSAgICAgICAgcmV0dXJuIE51bWJlci5OYU47
Ci0gICAgfQotICAgIGlmICggRGF0ZUZyb21UaW1lKHQpICE9ICAgIDEgKSAgICB7Ci0gICAgICAg
IHJldHVybiBOdW1iZXIuTmFOOwotICAgIH0KLQotICAgIHJldHVybiAoIChEYXkodCkpICsgICAg
ZGF0ZSAtIDEgKTsKLX0KLWZ1bmN0aW9uIFRpbWVJbk1vbnRoKCBtb250aCwgbGVhcCApICAgIHsK
LSAgICAvLyBzZXB0ZW1iZXIgYXByaWwganVuZSAgICBub3ZlbWJlcgotICAgIC8vIGphbiAwICBm
ZWIgMSAgICAgbWFyIDIgICAgYXByICAgIDMgICAgbWF5ICAgIDQgIGp1bmUgICAgNSAganVsIDYK
LSAgICAvLyBhdWcgNyAgc2VwIDggICAgIG9jdCA5ICAgIG5vdiAgICAxMCAgICBkZWMgICAgMTEK
LQotICAgIGlmICggbW9udGggPT0gMyAgICB8fCBtb250aCA9PSAgICA1IHx8IG1vbnRoID09IDgg
ICAgfHwgbW9udGggPT0gICAgMTAgKSB7Ci0gICAgICAgIHJldHVybiAoIDMwKm1zUGVyRGF5ICk7
Ci0gICAgfQotCi0gICAgLy8gYWxsIHRoZSByZXN0Ci0gICAgaWYgKCBtb250aCA9PSAwICAgIHx8
IG1vbnRoID09ICAgIDIgfHwgbW9udGggPT0gNCAgICB8fCBtb250aCA9PSAgICA2IHx8Ci0gICAg
ICAgICBtb250aCA9PSA3ICAgIHx8IG1vbnRoID09ICAgIDkgfHwgbW9udGggPT0gMTEgKSB7Ci0g
ICAgICAgIHJldHVybiAoIDMxKm1zUGVyRGF5ICk7Ci0gICAgIH0KLQotICAgIC8vIHNhdmUgICAg
ZmVicnVhcnkKLSAgICByZXR1cm4gKCAobGVhcCA9PSAwKSA/IDI4Km1zUGVyRGF5IDogMjkqbXNQ
ZXJEYXkgKTsKLX0KLWZ1bmN0aW9uIE1ha2VEYXRlKCBkYXksICAgIHRpbWUgKSB7Ci0gICAgaWYg
KCAgICBkYXkgICAgPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICAgIHx8Ci0gICAgICAgICAg
ICBkYXkgICAgPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICAgIHx8Ci0gICAgICAgICAgICBk
YXkgICAgPT0gTnVtYmVyLk5hTiApICAgIHsKLSAgICAgICAgcmV0dXJuIE51bWJlci5OYU47Ci0g
ICAgfQotICAgIGlmICggICAgdGltZSA9PSAgICBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgfHwK
LSAgICAgICAgICAgIHRpbWUgPT0gICAgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIHx8Ci0gICAg
ICAgICAgICBkYXkgICAgPT0gTnVtYmVyLk5hTikgewotICAgICAgICByZXR1cm4gTnVtYmVyLk5h
TjsKLSAgICB9Ci0gICAgcmV0dXJuICggZGF5ICogbXNQZXJEYXkgICAgKSArICAgIHRpbWU7Ci19
Ci1mdW5jdGlvbiBUaW1lQ2xpcCggdCApIHsKLSAgICBpZiAoIGlzTmFOKCAgICB0ICkgICAgKSB7
Ci0gICAgICAgIHJldHVybiAoIE51bWJlci5OYU4gICAgKTsKLSAgICB9Ci0gICAgaWYgKCBNYXRo
LmFicyggdCApID4gOC42NGUxNSApIHsKLSAgICAgICAgcmV0dXJuICggTnVtYmVyLk5hTiAgICAp
OwotICAgIH0KLQotICAgIHJldHVybiAoIFRvSW50ZWdlciggICAgdCApICAgICk7Ci19Ci1mdW5j
dGlvbiBUb0ludGVnZXIoICAgIHQgKSAgICB7Ci0gICAgdCA9ICAgIE51bWJlciggICAgdCApOwot
Ci0gICAgaWYgKCBpc05hTiggICAgdCApICAgICl7Ci0gICAgICAgIHJldHVybiAoIE51bWJlci5O
YU4gICAgKTsKLSAgICB9Ci0gICAgaWYgKCB0ID09IDAgICAgfHwgdCA9PSAgICAtMCB8fAotICAg
ICAgICAgdCA9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgfHwgdCAgICA9PSBOdW1iZXIuTkVH
QVRJVkVfSU5GSU5JVFkgICAgKSB7Ci0gICAgICAgICByZXR1cm4gICAgMDsKLSAgICB9Ci0KLSAg
ICB2YXIgICAgc2lnbiA9ICggdCA8IDAgKSA/IC0xIDogICAgMTsKLQotICAgIHJldHVybiAoIHNp
Z24gKiAgICBNYXRoLmZsb29yKCAgICBNYXRoLmFicyggdCAgICApICkgICAgKTsKLX0KLWZ1bmN0
aW9uIEVudW1lcmF0ZSAoIG8gKSB7Ci0gICAgdmFyICAgIHA7Ci0gICAgZm9yICAgICggcCAgICBp
biBvICkgewotICAgICAgICBwcmludCggcCArIjogIiArIG9bcF0gKTsKLSAgICB9Ci19Ci0KLS8q
IHRoZXNlIGZ1bmN0aW9ucyBhcmUgdXNlZnVsIGZvciBydW5uaW5nIHRlc3RzIG1hbnVhbGx5IGlu
IFJoaW5vICovCi0KLWZ1bmN0aW9uIEdldENvbnRleHQoKSB7Ci0gICAgcmV0dXJuIFBhY2thZ2Vz
LmNvbS5uZXRzY2FwZS5qYXZhc2NyaXB0LkNvbnRleHQuZ2V0Q3VycmVudENvbnRleHQoKTsKLX0K
LWZ1bmN0aW9uIE9wdExldmVsKCBpICkgewotICAgIGkgPSAgICBOdW1iZXIoaSk7Ci0gICAgdmFy
ICAgIGN4ID0gR2V0Q29udGV4dCgpOwotICAgIGN4LnNldE9wdGltaXphdGlvbkxldmVsKGkpOwot
fQotLyogZW5kIG9mIFJoaW5vIGZ1bmN0aW9ucyAqLwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9tb3pp
bGxhL2VjbWEvRGF0ZS8xNS45LjUuMTQuanMgYi9KU1Rlc3RzL21vemlsbGEvZWNtYS9EYXRlLzE1
LjkuNS4xNC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDk1YWRhMmQyZjY1MjI3M2QwNDNjN2FlMTBjYjIwMTE2
NGJiMjhiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9tb3ppbGxhL2VjbWEvRGF0ZS8xNS45
LjUuMTQuanMKQEAgLTAsMCArMSw5NiBAQAorLyogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSBh
cmUgc3ViamVjdCB0byB0aGUgTmV0c2NhcGUgUHVibGljCisgKiBMaWNlbnNlIFZlcnNpb24gMS4x
ICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZQorICogZXhjZXB0IGlu
IGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mCisg
KiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3Lm1vemlsbGEub3JnL05QTC8KKyAqCisgKiBTb2Z0
d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAi
QVMKKyAqIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgZWl0aGVyIGV4
cHJlc3Mgb3IKKyAqIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxh
bmd1YWdlIGdvdmVybmluZworICogcmlnaHRzIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGlj
ZW5zZS4KKyAqCisgKiBUaGUgT3JpZ2luYWwgQ29kZSBpcyBNb3ppbGxhIENvbW11bmljYXRvciBj
bGllbnQgY29kZSwgcmVsZWFzZWQgTWFyY2gKKyAqIDMxLCAxOTk4LgorICoKKyAqIFRoZSBJbml0
aWFsIERldmVsb3BlciBvZiB0aGUgT3JpZ2luYWwgQ29kZSBpcyBOZXRzY2FwZSBDb21tdW5pY2F0
aW9ucworICogQ29ycG9yYXRpb24uIFBvcnRpb25zIGNyZWF0ZWQgYnkgTmV0c2NhcGUgYXJlCisg
KiBDb3B5cmlnaHQgKEMpIDE5OTggTmV0c2NhcGUgQ29tbXVuaWNhdGlvbnMgQ29ycG9yYXRpb24u
IEFsbAorICogUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIENvbnRyaWJ1dG9yKHMpOiAKKyAqIAor
ICovCisvKioKKyAgICBGaWxlIE5hbWU6ICAgICAgICAgIDE1LjkuNS4xNC5qcworICAgIEVDTUEg
U2VjdGlvbjogICAgICAgMTUuOS41LjE0CisgICAgRGVzY3JpcHRpb246ICAgICAgICBEYXRlLnBy
b3RvdHlwZS5nZXRIb3VycworICAgIDEuICBMZXQgdCBiZSB0aGlzIHRpbWUgdmFsdWUuCisgICAg
Mi4gIElmIHQgaXMgTmFOLCByZXR1cm4gTmFOLgorICAgIDMuICBSZXR1cm4gSG91ckZyb21UaW1l
KExvY2FsVGltZSh0KSkuCisKKyAgICBBdXRob3I6ICAgICAgICAgICAgIGNocmlzdGluZUBuZXRz
Y2FwZS5jb20KKyAgICBEYXRlOiAgICAgICAgICAgICAgIDEyIG5vdmVtYmVyIDE5OTcKKyovCisK
KyAgICB2YXIgU0VDVElPTiA9ICIxNS45LjUuMTQiOworICAgIHZhciBWRVJTSU9OID0gIkVDTUFf
MSI7CisgICAgc3RhcnRUZXN0KCk7CisgICAgdmFyIFRJVExFICAgPSAiRGF0ZS5wcm90b3R5cGUu
Z2V0SG91cnMoKSI7CisKKyAgICB3cml0ZUhlYWRlclRvTG9nKCBTRUNUSU9OICsgIiAiKyBUSVRM
RSk7CisKKyAgICB2YXIgdGVzdGNhc2VzID0gbmV3IEFycmF5KCk7CisKKyAgICB2YXIgVFpfQURK
VVNUID0gVFpfRElGRiAqIG1zUGVySG91cjsKKworICAgIC8vIGdldCB0aGUgY3VycmVudCB0aW1l
CisgICAgdmFyIG5vdyA9IChuZXcgRGF0ZSgpKS52YWx1ZU9mKCk7CisKKyAgICAvLyBnZXQgdGlt
ZSBmb3IgMjkgZmViIDIwMDAKKworICAgIHZhciBVVENfRkVCXzI5XzIwMDAgPSBUSU1FXzIwMDAg
KyAzMSptc1BlckRheSArIDI4Km1zUGVySG91cjsKKworICAgIC8vIGdldCB0aW1lIGZvciAxIGph
biAyMDA1CisKKyAgICB2YXIgVVRDX0pBTl8xXzIwMDUgPSBUSU1FXzIwMDAgKyBUaW1lSW5ZZWFy
KDIwMDApK1RpbWVJblllYXIoMjAwMSkrCisgICAgVGltZUluWWVhcigyMDAyKStUaW1lSW5ZZWFy
KDIwMDMpK1RpbWVJblllYXIoMjAwNCk7CisKKyAgICBhZGRUZXN0Q2FzZSggbm93ICk7CisgICAg
YWRkVGVzdENhc2UoIFRJTUVfWUVBUl8wICk7CisgICAgYWRkVGVzdENhc2UoIFRJTUVfMTk3MCAp
OworICAgIGFkZFRlc3RDYXNlKCBUSU1FXzE5MDAgKTsKKyAgICBhZGRUZXN0Q2FzZSggVElNRV8y
MDAwICk7CisgICAgYWRkVGVzdENhc2UoIFVUQ19GRUJfMjlfMjAwMCApOworICAgIGFkZFRlc3RD
YXNlKCBVVENfSkFOXzFfMjAwNSApOworCisgICAgdGVzdGNhc2VzW3RjKytdID0gbmV3IFRlc3RD
YXNlKCBTRUNUSU9OLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihuZXcg
RGF0ZShOYU4pKS5nZXRIb3VycygpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5hTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZXcgRGF0ZShO
YU4pKS5nZXRIb3VycygpICk7CisKKyAgICB0ZXN0Y2FzZXNbdGMrK10gPSBuZXcgVGVzdENhc2Uo
IFNFQ1RJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGF0ZS5wcm90
b3R5cGUuZ2V0SG91cnMubGVuZ3RoIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRlLnByb3RvdHlw
ZS5nZXRIb3Vycy5sZW5ndGggKTsKKyAgICB0ZXN0KCk7CitmdW5jdGlvbiBhZGRUZXN0Q2FzZSgg
dCApIHsKKyAgICBmb3IgKCBoID0gMDsgaCA8IDI0OyBoKz00ICkgeworICAgICAgICAgICAgdCAr
PSBtc1BlckhvdXI7CisgICAgICAgICAgICB0ZXN0Y2FzZXNbdGMrK10gPSBuZXcgVGVzdENhc2Uo
IFNFQ1RJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKG5ldyBEYXRl
KCIrdCsiKSkuZ2V0SG91cnMoKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBIb3VyRnJvbVRpbWUoKExvY2FsVGltZSh0KSkpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKG5ldyBEYXRlKHQpKS5nZXRIb3VycygpICk7CisgICAgfQorfQorZnVuY3Rp
b24gdGVzdCgpIHsKKyAgICBmb3IgKCB0Yz0wOyB0YyA8IHRlc3RjYXNlcy5sZW5ndGg7IHRjKysg
KSB7CisgICAgICAgIHRlc3RjYXNlc1t0Y10ucGFzc2VkID0gd3JpdGVUZXN0Q2FzZVJlc3VsdCgK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0Y2FzZXNbdGNdLmV4cGVjdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0Y2FzZXNbdGNdLmFjdHVhbCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0Y2FzZXNbdGNdLmRlc2NyaXB0aW9uICsiID0gIisKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0Y2FzZXNbdGNdLmFjdHVhbCApOworCisgICAgICAg
IHRlc3RjYXNlc1t0Y10ucmVhc29uICs9ICggdGVzdGNhc2VzW3RjXS5wYXNzZWQgKSA/ICIiIDog
Indyb25nIHZhbHVlICI7CisgICAgfQorICAgIHN0b3BUZXN0KCk7CisgICAgcmV0dXJuICggdGVz
dGNhc2VzICk7Cit9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL21vemlsbGEvbW96aWxsYS10ZXN0cy55
YW1sIGIvSlNUZXN0cy9tb3ppbGxhL21vemlsbGEtdGVzdHMueWFtbAppbmRleCAxMjg4MTc0ZDhi
OGNmODU4ZWQ1YWY1NDNmOWI2NDVlMmVjNDE1OTk0Li4zOTg3NTljY2QzOTFjNjI4M2ZkNTM0MGRi
YjQzNzZjZjdmMGYwNWFhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL21vemlsbGEvbW96aWxsYS10ZXN0
cy55YW1sCisrKyBiL0pTVGVzdHMvbW96aWxsYS9tb3ppbGxhLXRlc3RzLnlhbWwKQEAgLTIyNyw2
ICsyMjcsOCBAQAogICBjbWQ6IGRlZmF1bHRSdW5Nb3ppbGxhVGVzdCA6bm9ybWFsLCAiLi4vc2hl
bGwuanMiCiAtIHBhdGg6IGVjbWEvRGF0ZS8xNS45LjUuMTMtOC5qcwogICBjbWQ6IGRlZmF1bHRS
dW5Nb3ppbGxhVGVzdCA6bm9ybWFsLCAiLi4vc2hlbGwuanMiCistIHBhdGg6IGVjbWEvRGF0ZS8x
NS45LjUuMTQuanMKKyAgY21kOiBkZWZhdWx0UnVuTW96aWxsYVRlc3QgOm5vcm1hbCwgIi4uL3No
ZWxsLmpzIgogLSBwYXRoOiBlY21hL0RhdGUvMTUuOS41LjE1LmpzCiAgIGNtZDogZGVmYXVsdFJ1
bk1vemlsbGFUZXN0IDpub3JtYWwsICIuLi9zaGVsbC5qcyIKIC0gcGF0aDogZWNtYS9EYXRlLzE1
LjkuNS4xNi5qcwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>