<?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>110708</bug_id>
          
          <creation_ts>2013-02-24 00:08:09 -0800</creation_ts>
          <short_desc>Fix the tests based on computedStyleIncludingVisitedInfo for asynchronous update of the visited style</short_desc>
          <delta_ts>2013-02-27 00:31:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>840553</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-24 00:08:09 -0800</bug_when>
    <thetext>Fix the tests based on computedStyleIncludingVisitedInfo for asynchronous update of the visited style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840554</commentid>
    <comment_count>1</comment_count>
      <attachid>189960</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-24 00:15:46 -0800</bug_when>
    <thetext>Created attachment 189960
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842669</commentid>
    <comment_count>2</comment_count>
      <attachid>189960</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-26 21:16:38 -0800</bug_when>
    <thetext>Comment on attachment 189960
Patch

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

&gt; LayoutTests/ChangeLog:11
&gt; +        WebKit because the list of visited URLs is maintained outside the Web Process.

Nit: WebProcess.

&gt; LayoutTests/fast/js/resources/js-test-pre.js:347
&gt; +  if (typeof _a != &quot;string&quot; || typeof _b != &quot;string&quot;)
&gt; +    debug(&quot;WARN: shouldBecomeDifferent() expects string arguments&quot;);
&gt; +  if (timeout === undefined)
&gt; +    timeout = 500;
&gt; +
&gt; +  var condition = function() {
&gt; +    var exception;
&gt; +    var _av;
&gt; +    try {
&gt; +      _av = eval(_a);
&gt; +    } catch (e) {
&gt; +      exception = e;
&gt; +    }
&gt; +    var _bv = eval(_b);
&gt; +    if (exception)
&gt; +      testFailed(_a + &quot; should became not equal to &quot; + _bv + &quot;. Threw exception &quot; + exception);
&gt; +    if (!isResultCorrect(_av, _bv)) {
&gt; +      testPassed(_a + &quot; became different from &quot; + _b);
&gt; +      return true;
&gt; +    }
&gt; +    return false;
&gt; +  };

It&apos;s unfortunate that we have to duplicate so much code.

&gt; LayoutTests/fast/js/resources/js-test-pre.js:348
&gt; +  var failureTime = Date.now() + timeout;

We should probably call window.performance.now() when available so that we may not get affected by the system clock being adjusted while we&apos;re running this test.
But that should probably be done in a separate patch since we also want to fix shouldBecomeEqual.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842772</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-02-27 00:31:11 -0800</bug_when>
    <thetext>Committed r144152: &lt;http://trac.webkit.org/changeset/144152&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189960</attachid>
            <date>2013-02-24 00:15:46 -0800</date>
            <delta_ts>2013-02-26 21:16:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110708-20130224001202.patch</filename>
            <type>text/plain</type>
            <size>16167</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzODUzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjJjYTFmZGI0YzRkMWFjOWZlZDNj
MzI3Y2VjNDRlNGJjNGVlNDM3MC4uNzg2ZmRmNDQ2MzUwM2RlMmQzZGY4NzhkODYxZGJkZGEyODli
MmM1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTI0ICBCZW5qYW1pbiBQb3VsYWlu
ICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBGaXggdGhlIHRlc3RzIGJhc2VkIG9u
IGNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyBmb3IgYXN5bmNocm9ub3VzIHVwZGF0
ZSBvZiB0aGUgdmlzaXRlZCBzdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEwNzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIHRlc3RzIHVzaW5nIGNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNp
dGVkSW5mbyB3ZXJlIHVzaW5nIHRoZSBhc3VtcHRpb24gdGhhdCB2aXNpdGVkIHN0eWxlCisgICAg
ICAgIGlzIHVwZGF0ZWQgc3luY2hyb25vdXNseSB3aXRoIHRoZSBsb2FkaW5nIG9mIHJlc291cmNl
cy4KKyAgICAgICAgVGhpcyBhc3N1bXB0aW9uIGlzIHZhbGlkIGZvciBNYWMgV2ViS2l0MSwgYnV0
IGRvZXMgbm90IGhvbGQgZm9yIG11bHRpcHJvY2VzcworICAgICAgICBXZWJLaXQgYmVjYXVzZSB0
aGUgbGlzdCBvZiB2aXNpdGVkIFVSTHMgaXMgbWFpbnRhaW5lZCBvdXRzaWRlIHRoZSBXZWIgUHJv
Y2Vzcy4KKworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgdGhlIHRlc3RzIHRvIHVzZSB0aGUg
J3Nob3VsZEJlY29tZVhYWCcgdGVzdCBmdW5jdGlvbnMgaW4gb3JkZXIgdG8gd2FpdAorICAgICAg
ICBmb3IgdGhlIGFzeW5jaHJvbm91cyB1cGRhdGUuIFdpdGggdGhlIGNoYW5nZSwgYWxsIHRoZSB0
ZXN0cyBzdWNjZWVkIHJlbGlhYmx5IG9uIFdlYktpdDIuCisKKyAgICAgICAgKiBmYXN0L2hpc3Rv
cnkvbXVsdGlwbGUtY2xhc3Nlcy12aXNpdGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2hpc3RvcnkvbXVsdGlwbGUtY2xhc3Nlcy12aXNpdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9o
aXN0b3J5L25lc3RlZC12aXNpdGVkLXRlc3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
aGlzdG9yeS9uZXN0ZWQtdmlzaXRlZC10ZXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9oaXN0b3J5
L3NlbGYtaXMtdmlzaXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3Nl
bGYtaXMtdmlzaXRlZC5odG1sOgorICAgICAgICAqIGZhc3QvaGlzdG9yeS9zaWJsaW5nLXZpc2l0
ZWQtdGVzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9oaXN0b3J5L3NpYmxpbmctdmlz
aXRlZC10ZXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anM6CisgICAgICAgICguY29uZGl0aW9uKToKKyAgICAgICAgKC5mYWlsdXJlSGFuZGxlcik6Cisg
ICAgICAgIChzaG91bGRCZWNvbWVEaWZmZXJlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL3drMi9U
ZXN0RXhwZWN0YXRpb25zOgorCiAyMDEzLTAyLTIzICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFt
aW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGVzdGluZyBzdGF0ZXMg
Y2hhbmdpbmcgYXN5bmNocm9ub3VzbHkuIEFwcGx5IGl0IHRvIHN0YXRlLXVybC1zZXRzLWxpbmtz
LXZpc2l0ZWQuaHRtbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9tdWx0
aXBsZS1jbGFzc2VzLXZpc2l0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0
b3J5L211bHRpcGxlLWNsYXNzZXMtdmlzaXRlZC1leHBlY3RlZC50eHQKaW5kZXggNzUwMjM1ZTg4
YjY3NTc2MGVlMWFhMDQ3NWZjYjY5NzhkYzBmNjZhZS4uY2EyZDkyYzZmYmQ0M2E4NTZlNzQ5ZmI4
ZGVlMTA0YTA1NzRjZThmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L211
bHRpcGxlLWNsYXNzZXMtdmlzaXRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L211bHRpcGxlLWNsYXNzZXMtdmlzaXRlZC1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw4IEBACiBUaGVzZSB0d28gbGlua3Mgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChvcmFuZ2Up
OgogCiBPbmUgVHdvCi1QQVNTCitQQVNTIGZpcnN0U3R5bGUuY29sb3IgYmVjYW1lIHNlY29uZFN0
eWxlLmNvbG9yCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L211bHRpcGxlLWNsYXNz
ZXMtdmlzaXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L211bHRpcGxlLWNsYXNz
ZXMtdmlzaXRlZC5odG1sCmluZGV4IDk2NTA4NjFhNjk3NmMyOTA3Y2Y3ZmY0OThlNTMzMGI4NzM4
NTA5NjYuLjgxZmUyNDhjODA3NmI2Zjg0OTJhMzFjOTJhNDBhYzlkNzNlZDRkOWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9tdWx0aXBsZS1jbGFzc2VzLXZpc2l0ZWQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3RvcnkvbXVsdGlwbGUtY2xhc3Nlcy12aXNpdGVk
Lmh0bWwKQEAgLTEsMjcgKzEsMTggQEAKIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1pZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgd2luZG93LnRlc3RSdW5uZXIua2VlcFdlYkhpc3RvcnkoKTsKLSAgICB3
aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci19CiAKIGZ1bmN0aW9uIGNvbXBhcmVTdHls
ZXMoKQogewogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB2YXIgZmlyc3RT
dHlsZSA9IHdpbmRvdy50ZXN0UnVubmVyLmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5m
byhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb25lJykpOwotICAgICAgICB2YXIgc2Vjb25kU3R5
bGUgPSB3aW5kb3cudGVzdFJ1bm5lci5jb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8o
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3R3bycpKTsKLSAgICAgICAgaWYgKGZpcnN0U3R5bGUu
Y29sb3IgIT0gc2Vjb25kU3R5bGUuY29sb3IpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnRkFJTCc7Ci0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgdmFyIGZpcnN0U3R5bGUgPSB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb25lJyksICIiKTsKLSAg
ICB2YXIgc2Vjb25kU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndHdvJyksICIiKTsKLSAgICBpZiAoZmlyc3RTdHlsZS5jb2xvciA9PSBzZWNv
bmRTdHlsZS5jb2xvcikgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0
JykuaW5uZXJIVE1MID0gJ0ZBSUwnOwotICAgICAgICByZXR1cm47CisgICAgICAgIGZpcnN0U3R5
bGUgPSB0ZXN0UnVubmVyLmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnb25lJykpOworICAgICAgICBzZWNvbmRTdHlsZSA9IHRlc3RSdW5u
ZXIuY29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0d28nKSk7CisgICAgICAgIHNob3VsZEJlY29tZUVxdWFsKCdmaXJzdFN0eWxlLmNvbG9y
JywgJ3NlY29uZFN0eWxlLmNvbG9yJywgZmluaXNoSlNUZXN0KTsKICAgICB9CiB9CiA8L3Njcmlw
dD4KQEAgLTM0LDE2ICsyNSwxMiBAQCBmdW5jdGlvbiBjb21wYXJlU3R5bGVzKCkKIDwvaGVhZD4K
IDxib2R5IG9ubG9hZD0iY29tcGFyZVN0eWxlcygpIj4KIDxpZnJhbWUgc3JjPSJyZXNvdXJjZXMv
ZHVtbXkuaHRtbCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+Ci0KKzxwPlRoZXNlIHR3
byBsaW5rcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IgKG9yYW5nZSk6PC9wPgogPHA+Ci1UaGVz
ZSB0d28gbGlua3Mgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yIChvcmFuZ2UpOgotPC9wPgotPHA+
Ci08YSBocmVmPSJyZXNvdXJjZXMvZHVtbXkuaHRtbCIgaWQ9Im9uZSI+T25lPC9hPiAKLTxhIGhy
ZWY9InJlc291cmNlcy9kdW1teS5odG1sIiBpZD0idHdvIiBjbGFzcz0idGVzdCI+VHdvPC9hPjxi
cj4KLTwvcD4KLTxwIGlkPXJlc3VsdD4KLVBBU1MKKyAgPGEgaHJlZj0icmVzb3VyY2VzL2R1bW15
Lmh0bWwiIGlkPSJvbmUiPk9uZTwvYT4KKyAgPGEgaHJlZj0icmVzb3VyY2VzL2R1bW15Lmh0bWwi
IGlkPSJ0d28iIGNsYXNzPSJ0ZXN0Ij5Ud288L2E+PGJyPgogPC9wPgorPGRpdiBpZD1jb25zb2xl
PjwvZGl2PgogPC9ib2R5PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9o
aXN0b3J5L25lc3RlZC12aXNpdGVkLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9oaXN0b3J5L25lc3RlZC12aXNpdGVkLXRlc3QtZXhwZWN0ZWQudHh0CmluZGV4IDkwOGRhMzMy
NTU4YjFhNjRmM2VkYjNiNTAzYTRlNjM4ODE3NmNhNmEuLjY1YTBiNzBhODM3ZGI2ZTBjNDA3ODg0
ZGI4ZDkyYWZmNjQ0ODc0MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9u
ZXN0ZWQtdmlzaXRlZC10ZXN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hp
c3RvcnkvbmVzdGVkLXZpc2l0ZWQtdGVzdC1leHBlY3RlZC50eHQKQEAgLTIsNCArMiw4IEBAIFRo
ZXNlIHR3byBsaW5rcyBzaG91bGQgYmUgZGlmZmVyZW50IGNvbG9ycyAoZ3JlZW4gYW5kIG9yYW5n
ZSk6CiAKIE9uZSBUd28KIAotUEFTUworUEFTUyBmaXJzdFN0eWxlLmNvbG9yIGJlY2FtZSBkaWZm
ZXJlbnQgZnJvbSBzZWNvbmRTdHlsZS5jb2xvcgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlz
dG9yeS9uZXN0ZWQtdmlzaXRlZC10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkv
bmVzdGVkLXZpc2l0ZWQtdGVzdC5odG1sCmluZGV4IDNmMzA1MThiYmRiZDM5M2NhYTEwMzc3YmRk
MWNlZjRmZDYyNWYwMTAuLjgwZGQ2MGI5YmM2YzAxZDk2ZDVjZTY1Nzc1OGUxMzhmZWZmNGI3ZTAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9uZXN0ZWQtdmlzaXRlZC10ZXN0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L25lc3RlZC12aXNpdGVkLXRlc3Qu
aHRtbApAQCAtMSwxMCArMSwxMSBAQAogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLWlmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB3aW5kb3cudGVzdFJ1bm5lci5rZWVwV2ViSGlzdG9yeSgpOwotICAgIHdp
bmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLX0KIAogZnVuY3Rpb24gY29tcGFyZVN0eWxl
cygpCiB7CkBAIC0xNSwxOSArMTYsOSBAQCBmdW5jdGlvbiBjb21wYXJlU3R5bGVzKCkKICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW5jbG9zdXJlJykuYXBwZW5kQ2hpbGQoYW5jaG9yKTsK
IAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB2YXIgZmlyc3RTdHlsZSA9
IHdpbmRvdy50ZXN0UnVubmVyLmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnb25lJykpOwotICAgICAgICB2YXIgc2Vjb25kU3R5bGUgPSB3
aW5kb3cudGVzdFJ1bm5lci5jb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3R3bycpKTsKLSAgICAgICAgaWYgKGZpcnN0U3R5bGUuY29sb3Ig
PT0gc2Vjb25kU3R5bGUuY29sb3IpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnRkFJTCc7Ci0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIH0KLSAgICB9Ci0KLSAgICB2YXIgZmlyc3RTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvbmUnKSwgIiIpOwotICAgIHZhciBzZWNv
bmRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0d28nKSwgIiIpOwotICAgIGlmIChmaXJzdFN0eWxlLmNvbG9yICE9IHNlY29uZFN0eWxlLmNv
bG9yKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhU
TUwgPSAnRkFJTCc7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgZmlyc3RTdHlsZSA9IHRlc3RS
dW5uZXIuY29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdvbmUnKSk7CisgICAgICAgIHNlY29uZFN0eWxlID0gdGVzdFJ1bm5lci5jb21wdXRl
ZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3R3bycp
KTsKKyAgICAgICAgc2hvdWxkQmVjb21lRGlmZmVyZW50KCdmaXJzdFN0eWxlLmNvbG9yJywgJ3Nl
Y29uZFN0eWxlLmNvbG9yJywgZmluaXNoSlNUZXN0KTsKICAgICB9CiB9CiA8L3NjcmlwdD4KQEAg
LTM5LDIwICszMCwxMiBAQCBmdW5jdGlvbiBjb21wYXJlU3R5bGVzKCkKIDxib2R5IG9ubG9hZD0i
Y29tcGFyZVN0eWxlcygpIj4KIDxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvZHVtbXkuaHRtbCIgc3R5
bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+CiAKLTxwPgotVGhlc2UgdHdvIGxpbmtzIHNob3Vs
ZCBiZSBkaWZmZXJlbnQgY29sb3JzIChncmVlbiBhbmQgb3JhbmdlKToKLTwvcD4KKzxwPlRoZXNl
IHR3byBsaW5rcyBzaG91bGQgYmUgZGlmZmVyZW50IGNvbG9ycyAoZ3JlZW4gYW5kIG9yYW5nZSk6
PC9wPgogPHAgc3R5bGU9ImNvbG9yOmdyZWVuIj4KIDxhIGlkPSJlbmNsb3N1cmUiIGhyZWY9InJl
c291cmNlcy9kdW1teS5odG1sIj48L2E+CiA8YSBocmVmPSJyZXNvdXJjZXMvZHVtbXkuaHRtbCIg
aWQ9InR3byI+VHdvPC9hPgogPC9wPgotCi08c2NyaXB0PgotCi08L3NjcmlwdD4KLQotPHAgaWQ9
cmVzdWx0PgotUEFTUwotPC9wPgorPGRpdiBpZD1jb25zb2xlPjwvZGl2PgogPC9ib2R5PgorPHNj
cmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3NlbGYtaXMtdmlzaXRl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkvc2VsZi1pcy12aXNpdGVk
LWV4cGVjdGVkLnR4dAppbmRleCAyNTJlN2E0YWNlNzNmMjVjYzg5ZjMwZmIzNmU3YWZhYjg5NzNh
OGVkLi5kZGJkMWRhNzFmM2RmYjQ1NDk1Zjg4ZjdhZDc2OTgzNmY4NjA4ZjUxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkvc2VsZi1pcy12aXNpdGVkLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkvc2VsZi1pcy12aXNpdGVkLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDkgQEAKIFRoZXNlIHR3byBsaW5rcyBzaG91bGQgYmUgZGlmZmVyZW50IGNv
bG9ycyAoZ3JlZW4gYW5kIG9yYW5nZSk6CiAKIE9uZSBUd28KLVBBU1MKK1BBU1MgZmlyc3RTdHls
ZS5jb2xvciBiZWNhbWUgZGlmZmVyZW50IGZyb20gc2Vjb25kU3R5bGUuY29sb3IKK1BBU1MgZmly
c3RTdHlsZS5iYWNrZ3JvdW5kQ29sb3IgYmVjYW1lIGRpZmZlcmVudCBmcm9tIHNlY29uZFN0eWxl
LmJhY2tncm91bmRDb2xvcgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9zZWxmLWlz
LXZpc2l0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9zZWxmLWlzLXZpc2l0ZWQu
aHRtbAppbmRleCBiNjhkNWJkYjA2ZGMxZjQ0ZjY4YWM5OGE3YzlhN2RjMzdiNTIzOWYwLi5lYTk4
YzZiY2QwNTVjMzkzMjY3MDc2ZmExMTc3YjQ5YjczZDhkNWNkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2hpc3Rvcnkvc2VsZi1pcy12aXNpdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9oaXN0b3J5L3NlbGYtaXMtdmlzaXRlZC5odG1sCkBAIC0xLDI3ICsxLDIwIEBACiA8aHRt
bD4KIDxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Citqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHdpbmRvdy50ZXN0UnVu
bmVyLmtlZXBXZWJIaXN0b3J5KCk7Ci0gICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotfQogCiBmdW5jdGlvbiBjb21wYXJlU3R5bGVzKCkKIHsKICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKLSAgICAgICAgdmFyIGZpcnN0U3R5bGUgPSB3aW5kb3cudGVzdFJ1bm5lci5jb21w
dXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29u
ZScpKTsKLSAgICAgICAgdmFyIHNlY29uZFN0eWxlID0gd2luZG93LnRlc3RSdW5uZXIuY29tcHV0
ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0d28n
KSk7Ci0gICAgICAgIGlmIChmaXJzdFN0eWxlLmNvbG9yID09IHNlY29uZFN0eWxlLmNvbG9yIHx8
IGZpcnN0U3R5bGUuYmFja2dyb3VuZENvbG9yID09IHNlY29uZFN0eWxlLmJhY2tncm91bmRDb2xv
cikgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVy
SFRNTCA9ICdGQUlMJzsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgIH0KLSAg
ICAKLSAgICB2YXIgZmlyc3RTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdvbmUnKSwgIiIpOwotICAgIHZhciBzZWNvbmRTdHlsZSA9IHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0d28nKSwgIiIpOwot
ICAgIGlmIChmaXJzdFN0eWxlLmNvbG9yICE9IHNlY29uZFN0eWxlLmNvbG9yIHx8IGZpcnN0U3R5
bGUuYmFja2dyb3VuZENvbG9yICE9IHNlY29uZFN0eWxlLmJhY2tncm91bmRDb2xvcikgewotICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ0ZBSUwn
OwotICAgICAgICByZXR1cm47CisgICAgICAgIGZpcnN0U3R5bGUgPSB0ZXN0UnVubmVyLmNvbXB1
dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb25l
JykpOworICAgICAgICBzZWNvbmRTdHlsZSA9IHRlc3RSdW5uZXIuY29tcHV0ZWRTdHlsZUluY2x1
ZGluZ1Zpc2l0ZWRJbmZvKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0d28nKSk7CisgICAgICAg
IHNob3VsZEJlY29tZURpZmZlcmVudCgnZmlyc3RTdHlsZS5jb2xvcicsICdzZWNvbmRTdHlsZS5j
b2xvcicsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgc2hvdWxkQmVjb21lRGlmZmVyZW50KCdm
aXJzdFN0eWxlLmJhY2tncm91bmRDb2xvcicsICdzZWNvbmRTdHlsZS5iYWNrZ3JvdW5kQ29sb3In
LCBmaW5pc2hKU1Rlc3QpOworICAgICAgICB9KTsKICAgICB9CiB9CiA8L3NjcmlwdD4KQEAgLTMz
LDE1ICsyNiwxMiBAQCBmdW5jdGlvbiBjb21wYXJlU3R5bGVzKCkKIDxib2R5IG9ubG9hZD0iY29t
cGFyZVN0eWxlcygpIj4KIDxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvZHVtbXkuaHRtbCIgc3R5bGU9
ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+CiAKLTxwPgotVGhlc2UgdHdvIGxpbmtzIHNob3VsZCBi
ZSBkaWZmZXJlbnQgY29sb3JzIChncmVlbiBhbmQgb3JhbmdlKToKLTwvcD4KKzxwPlRoZXNlIHR3
byBsaW5rcyBzaG91bGQgYmUgZGlmZmVyZW50IGNvbG9ycyAoZ3JlZW4gYW5kIG9yYW5nZSk6PC9w
PgogPHA+CiA8YSBocmVmPSJodHRwOi8vbWFkZXVwLnNpdGUuY29tIiBpZD0ib25lIj5PbmU8L2E+
IAogPGEgaHJlZj0icmVzb3VyY2VzL2R1bW15Lmh0bWwiIGlkPSJ0d28iPlR3bzwvYT48YnI+CiA8
L3A+Ci08cCBpZD1yZXN1bHQ+Ci1QQVNTCi08L3A+Cis8ZGl2IGlkPWNvbnNvbGU+PC9kaXY+CiA8
L2JvZHk+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkvc2li
bGluZy12aXNpdGVkLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5
L3NpYmxpbmctdmlzaXRlZC10ZXN0LWV4cGVjdGVkLnR4dAppbmRleCA5MDhkYTMzMjU1OGIxYTY0
ZjNlZGIzYjUwM2E0ZTYzODgxNzZjYTZhLi42NWEwYjcwYTgzN2RiNmUwYzQwNzg4NGRiOGQ5MmFm
ZjY0NDg3NDAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2hpc3Rvcnkvc2libGluZy12
aXNpdGVkLXRlc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9z
aWJsaW5nLXZpc2l0ZWQtdGVzdC1leHBlY3RlZC50eHQKQEAgLTIsNCArMiw4IEBAIFRoZXNlIHR3
byBsaW5rcyBzaG91bGQgYmUgZGlmZmVyZW50IGNvbG9ycyAoZ3JlZW4gYW5kIG9yYW5nZSk6CiAK
IE9uZSBUd28KIAotUEFTUworUEFTUyBmaXJzdFN0eWxlLmNvbG9yIGJlY2FtZSBkaWZmZXJlbnQg
ZnJvbSBzZWNvbmRTdHlsZS5jb2xvcgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9z
aWJsaW5nLXZpc2l0ZWQtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3NpYmxp
bmctdmlzaXRlZC10ZXN0Lmh0bWwKaW5kZXggMWY1MmNiNjJiNzRhNmI2YzhhMTg0ODhjMDdhY2Q3
ZmE2ZThjMTJiMS4uN2M5OWUwYjQ3M2VhZjY1ZTJkZGUyNWQ1MTlhZDlkZGY2YmFhMjA2ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3NpYmxpbmctdmlzaXRlZC10ZXN0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3NpYmxpbmctdmlzaXRlZC10ZXN0Lmh0
bWwKQEAgLTEsMjcgKzEsMTggQEAKIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgd2luZG93LnRlc3RSdW5uZXIua2VlcFdlYkhpc3RvcnkoKTsKLSAgICB3aW5k
b3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci19CiAKIGZ1bmN0aW9uIGNvbXBhcmVTdHlsZXMo
KQogewogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB2YXIgZmlyc3RTdHls
ZSA9IHdpbmRvdy50ZXN0UnVubmVyLmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb25lJykpOwotICAgICAgICB2YXIgc2Vjb25kU3R5bGUg
PSB3aW5kb3cudGVzdFJ1bm5lci5jb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3R3bycpKTsKLSAgICAgICAgaWYgKGZpcnN0U3R5bGUuY29s
b3IgPT0gc2Vjb25kU3R5bGUuY29sb3IpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnRkFJTCc7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICB2YXIgZmlyc3RTdHlsZSA9IHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvbmUnKSwgIiIpOwotICAgIHZhciBz
ZWNvbmRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0d28nKSwgIiIpOwotICAgIGlmIChmaXJzdFN0eWxlLmNvbG9yICE9IHNlY29uZFN0eWxl
LmNvbG9yKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5l
ckhUTUwgPSAnRkFJTCc7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgZmlyc3RTdHlsZSA9IHRl
c3RSdW5uZXIuY29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdvbmUnKSk7CisgICAgICAgIHNlY29uZFN0eWxlID0gdGVzdFJ1bm5lci5jb21w
dXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3R3
bycpKTsKKyAgICAgICAgc2hvdWxkQmVjb21lRGlmZmVyZW50KCdmaXJzdFN0eWxlLmNvbG9yJywg
J3NlY29uZFN0eWxlLmNvbG9yJywgZmluaXNoSlNUZXN0KTsKICAgICB9CiB9CiA8L3NjcmlwdD4K
QEAgLTM0LDIwICsyNSwxMiBAQCBmdW5jdGlvbiBjb21wYXJlU3R5bGVzKCkKIDxib2R5IG9ubG9h
ZD0iY29tcGFyZVN0eWxlcygpIj4KIDxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvZHVtbXkuaHRtbCIg
c3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+CiAKLTxwPgotVGhlc2UgdHdvIGxpbmtzIHNo
b3VsZCBiZSBkaWZmZXJlbnQgY29sb3JzIChncmVlbiBhbmQgb3JhbmdlKToKLTwvcD4KKzxwPlRo
ZXNlIHR3byBsaW5rcyBzaG91bGQgYmUgZGlmZmVyZW50IGNvbG9ycyAoZ3JlZW4gYW5kIG9yYW5n
ZSk6PC9wPgogPHAgc3R5bGU9ImNvbG9yOmdyZWVuIj4KIDxhIGhyZWY9InJlc291cmNlcy9kdW1t
eS5odG1sIiBpZD0ib25lIj5PbmU8L2E+CiA8YSBocmVmPSJodHRwOi8vbWFkZXVwLnNpdGUuY29t
IiBpZD0idHdvIj5Ud288L2E+CiA8L3A+Ci0KLTxzY3JpcHQ+Ci0KLTwvc2NyaXB0PgotCi08cCBp
ZD1yZXN1bHQ+Ci1QQVNTCi08L3A+Cis8ZGl2IGlkPWNvbnNvbGU+PC9kaXY+CiA8L2JvZHk+Cis8
c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCmlu
ZGV4IDQ1MDc5MzNlY2VhNDY2N2Q4ZGQ3YzQ4Y2RlYmY2NzhkODM0YjNhMWQuLjliMzBjZDI2ZGVh
NGFmM2E1NDgwZmRmNTczZTY0NmJjMGE5NDMxOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzCkBAIC0zMjEsNiArMzIxLDM4IEBAIGZ1bmN0aW9uIHNo
b3VsZE5vdEJlKF9hLCBfYiwgcXVpZXQpCiAgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIG5v
dCBiZSAiICsgX2J2ICsgIi4iKTsKIH0KIAorZnVuY3Rpb24gc2hvdWxkQmVjb21lRGlmZmVyZW50
KF9hLCBfYiwgY29tcGxldGlvbkhhbmRsZXIsIHRpbWVvdXQpCit7CisgIGlmICh0eXBlb2YgX2Eg
IT0gInN0cmluZyIgfHwgdHlwZW9mIF9iICE9ICJzdHJpbmciKQorICAgIGRlYnVnKCJXQVJOOiBz
aG91bGRCZWNvbWVEaWZmZXJlbnQoKSBleHBlY3RzIHN0cmluZyBhcmd1bWVudHMiKTsKKyAgaWYg
KHRpbWVvdXQgPT09IHVuZGVmaW5lZCkKKyAgICB0aW1lb3V0ID0gNTAwOworCisgIHZhciBjb25k
aXRpb24gPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgZXhjZXB0aW9uOworICAgIHZhciBfYXY7Cisg
ICAgdHJ5IHsKKyAgICAgIF9hdiA9IGV2YWwoX2EpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAg
IGV4Y2VwdGlvbiA9IGU7CisgICAgfQorICAgIHZhciBfYnYgPSBldmFsKF9iKTsKKyAgICBpZiAo
ZXhjZXB0aW9uKQorICAgICAgdGVzdEZhaWxlZChfYSArICIgc2hvdWxkIGJlY2FtZSBub3QgZXF1
YWwgdG8gIiArIF9idiArICIuIFRocmV3IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uKTsKKyAgICBp
ZiAoIWlzUmVzdWx0Q29ycmVjdChfYXYsIF9idikpIHsKKyAgICAgIHRlc3RQYXNzZWQoX2EgKyAi
IGJlY2FtZSBkaWZmZXJlbnQgZnJvbSAiICsgX2IpOworICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKKyAgfTsKKyAgdmFyIGZhaWx1cmVUaW1lID0gRGF0ZS5ub3co
KSArIHRpbWVvdXQ7CisgIHZhciBmYWlsdXJlSGFuZGxlciA9IGZ1bmN0aW9uICgpIHsKKyAgICB0
ZXN0RmFpbGVkKF9hICsgIiBkaWQgbm90IGJlY29tZSBkaWZmZXJlbnQgZnJvbSAiICsgX2IgKyAi
IGluICIgKyAodGltZW91dCAvIDEwMDApICsgIiBzZWNvbmRzLiIpOworICAgIGNvbXBsZXRpb25I
YW5kbGVyKCk7CisgIH07CisgIF93YWl0Rm9yQ29uZGl0aW9uKGNvbmRpdGlvbiwgZmFpbHVyZVRp
bWUsIGNvbXBsZXRpb25IYW5kbGVyLCBmYWlsdXJlSGFuZGxlcik7Cit9CisKIGZ1bmN0aW9uIHNo
b3VsZEJlVHJ1ZShfYSkgeyBzaG91bGRCZShfYSwgInRydWUiKTsgfQogZnVuY3Rpb24gc2hvdWxk
QmVUcnVlUXVpZXQoX2EpIHsgc2hvdWxkQmUoX2EsICJ0cnVlIiwgdHJ1ZSk7IH0KIGZ1bmN0aW9u
IHNob3VsZEJlRmFsc2UoX2EpIHsgc2hvdWxkQmUoX2EsICJmYWxzZSIpOyB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGZlNDQxMjFmMzI4NjUxOTUyNmM3
YzAyNTI3NWZjNzA4NTJjZTU0ZTQuLjMwOTc4OGEwNjMzOTViMWMwNmMxOGQ2NTc3YzRmZmU3NzRj
NmExYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0y
ODAsMTEgKzI4MCw2IEBAIGZhc3QvZm9ybXMvdmFsaWRhdGlvbi1tZXNzYWdlLW9uLXJhZGlvLmh0
bWwKIGZhc3QvZm9ybXMvdmFsaWRhdGlvbi1tZXNzYWdlLW9uLXJhbmdlLmh0bWwKIGZhc3QvZm9y
bXMvdmFsaWRhdGlvbi1tZXNzYWdlLW9uLXRleHRhcmVhLmh0bWwKIAotIyBNaXNiZWhhdmluZyBj
b21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8gb3Iga2VlcFdlYkhpc3RvcnkgQVBJIGlu
IFdlYktpdFRlc3RSdW5uZXIKLSMgaHR0cDovL3dlYmtpdC5vcmcvYi81ODMzNAotZmFzdC9oaXN0
b3J5L25lc3RlZC12aXNpdGVkLXRlc3QuaHRtbAotZmFzdC9oaXN0b3J5L3NlbGYtaXMtdmlzaXRl
ZC5odG1sCi1mYXN0L2hpc3Rvcnkvc2libGluZy12aXNpdGVkLXRlc3QuaHRtbAogcGxhdGZvcm0v
bWFjL2FjY2Vzc2liaWxpdHkvc2VhcmNoLXByZWRpY2F0ZS5odG1sCiAKICMgW1dLMl0gQ1NQIHJl
cG9ydGluZyBkb2Vzbid0IHdvcmsKQEAgLTY1Niw5ICs2NTEsNiBAQCBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1sb2NhdGlvbi1nZXQuaHRtbAogaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHJvdG9jb2wtZXhwbGljaXQtZG9tYWluLmh0bWwKIGh0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXByb3RvY29sLmh0bWwKIAotIyBX
cm9uZyBjb2xvciBmb3IgdmlzaXRlZCBsaW5rCi1mYXN0L2hpc3RvcnkvbXVsdGlwbGUtY2xhc3Nl
cy12aXNpdGVkLmh0bWwKLQogIyBGbGFreSB0ZXN0cyAoc2xvdykKIGZhc3Qvd29ya2Vycy9zdG9y
YWdlL2ludGVycnVwdC1kYXRhYmFzZS5odG1sCiBmYXN0L3dvcmtlcnMvc3RvcmFnZS91c2Utc2Ft
ZS1kYXRhYmFzZS1pbi1wYWdlLWFuZC13b3JrZXJzLmh0bWwK
</data>
<flag name="review"
          id="210532"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>