<?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>67119</bug_id>
          
          <creation_ts>2011-08-29 04:51:19 -0700</creation_ts>
          <short_desc>Return value of window.onerror has inverted semantics</short_desc>
          <delta_ts>2011-08-30 06:00:10 -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>WebCore Misc.</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="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ian</cc>
    
    <cc>kbalazs</cc>
    
    <cc>ossy</cc>
    
    <cc>pfeldman</cc>
    
    <cc>voliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>458170</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-08-29 04:51:19 -0700</bug_when>
    <thetext>In Chrome, returning &apos;true&apos; from window.onerror allows the error to propagate, and returning &apos;false&apos; suppresses it.

This is the inverse of the behavior in Firefox and IE, where returning &apos;true&apos; suppresses the error, but returning &apos;false&apos; propagates it.

(See also https://developer.mozilla.org/en/DOM/window.onerror which states: &quot;When the function returns true, this prevents the firing of the default event handler.&quot;)

The attached html page can be used to reproduce the issue.


Original Chromium bug report: http://code.google.com/p/chromium/issues/detail?id=92062</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458171</commentid>
    <comment_count>1</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-08-29 04:52:52 -0700</bug_when>
    <thetext>Ian is going to make the spec match behavior of IE and FF, WebKit implementation should also be changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458217</commentid>
    <comment_count>2</comment_count>
      <attachid>105490</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-08-29 07:54:57 -0700</bug_when>
    <thetext>Created attachment 105490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458228</commentid>
    <comment_count>3</comment_count>
      <attachid>105490</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-29 08:20:20 -0700</bug_when>
    <thetext>Comment on attachment 105490
Patch

Attachment 105490 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9563186

New failing tests:
fast/events/window-onerror13.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458261</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-29 10:21:57 -0700</bug_when>
    <thetext>I think the test coverage here is not sufficient. I’d like to see tests covering the case where the function does not have a return statement. And cases where event.preventDefault() is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458796</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-08-30 02:28:56 -0700</bug_when>
    <thetext>Committed r94061: &lt;http://trac.webkit.org/changeset/94061&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458798</commentid>
    <comment_count>6</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-08-30 02:29:42 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I think the test coverage here is not sufficient. I’d like to see tests covering the case where the function does not have a return statement. And cases where event.preventDefault() is called.

I&apos;ll add new tests in a separate patch shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458818</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-08-30 03:17:22 -0700</bug_when>
    <thetext>It made 3 tests fail on the SL bot and on the Qt bot. (maybe on other bots too) Reopen to fix the bug and/or update tests. (I don&apos;t know if the new results are correct or not.)

--- /Volumes/Data/WebKit-BuildSlave/snowleopard-intel-release-tests/build/layout-test-results/fast/workers/shared-worker-script-error-expected.txt 
+++ /Volumes/Data/WebKit-BuildSlave/snowleopard-intel-release-tests/build/layout-test-results/fast/workers/shared-worker-script-error-actual.txt 
@@ -1,4 +1,5 @@
 CONSOLE MESSAGE: line 12: ReferenceError: Can&apos;t find variable: generateError
+CONSOLE MESSAGE: line 18: ReferenceError: Can&apos;t find variable: generateError
 Test SharedWorker script error handling functionality. Should print a series of PASS messages, followed with DONE.
 
 SUCCESS: unhandled error generated


--- /Volumes/Data/WebKit-BuildSlave/snowleopard-intel-release-tests/build/layout-test-results/http/tests/security/cross-origin-script-window-onerror-redirected-expected.txt 
+++ /Volumes/Data/WebKit-BuildSlave/snowleopard-intel-release-tests/build/layout-test-results/http/tests/security/cross-origin-script-window-onerror-redirected-actual.txt 
@@ -1,3 +1,4 @@
+CONSOLE MESSAGE: line 1: SyntaxError: Expected an identifier but found &apos;sensitive&apos; instead
 Test that window.onerror won&apos;t reveal any potentially sensitive script content if the latter is loaded from a different domain after a redirect. The test passes if you don&apos;t see any data from the linked resource. Bug 52903.
 
 window.onerror message: Script error. at : 0



--- /Volumes/Data/WebKit-BuildSlave/snowleopard-intel-release-tests/build/layout-test-results/http/tests/security/cross-origin-script-window-onerror-expected.txt 
+++ /Volumes/Data/WebKit-BuildSlave/snowleopard-intel-release-tests/build/layout-test-results/http/tests/security/cross-origin-script-window-onerror-actual.txt 
@@ -1,3 +1,4 @@
+CONSOLE MESSAGE: line 1: SyntaxError: Expected an identifier but found &apos;sensitive&apos; instead
 Test that window.onerror won&apos;t reveal any potentially sensitive script content if the latter is loaded from a different domain. The test passes if you don&apos;t see any data from the linked resource. Bug 52903.
 
 window.onerror message: Script error. at : 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458865</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-08-30 06:00:10 -0700</bug_when>
    <thetext>Fixed in http://trac.webkit.org/changeset/94066</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105490</attachid>
            <date>2011-08-29 07:54:57 -0700</date>
            <delta_ts>2011-08-29 10:20:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67119-20110829185455.patch</filename>
            <type>text/plain</type>
            <size>14514</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM5NTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMDNjNjFkYjY4ZThlNzMxMzBmOGE4
YzRjZGQ1NGVhYTdlZDU2YThmLi40NGM0NGJhMTAxMWY0NWZhZGM3YWExODk1NDNmMjAyNGRlZTdh
MzUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDgtMjkgIFl1cnkgU2VtaWtoYXRza3kg
IDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV0dXJuIHZhbHVlIG9mIHdpbmRvdy5v
bmVycm9yIGhhcyBpbnZlcnRlZCBzZW1hbnRpY3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLmh0bWw6CisgICAgICAgICog
ZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMi5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRz
L3dpbmRvdy1vbmVycm9yMTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2
ZW50cy93aW5kb3ctb25lcnJvcjEzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEuaHRtbC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5k
b3ctb25lcnJvcjIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjMu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2
ZW50cy93aW5kb3ctb25lcnJvcjYuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ct
b25lcnJvcjguaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjkuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1zY3JpcHQtZXJyb3It
YnViYmxlZC5qczoKKyAgICAgICAgKG9uZXJyb3IpOgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9y
ZXNvdXJjZXMvd29ya2VyLXNjcmlwdC1lcnJvci1oYW5kbGVkLmpzOgorICAgICAgICAob25lcnJv
cik6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS93aW5kb3ctb25lcnJvci1leGNlcHRp
b24taW4taWZyYW1lLmh0bWw6CisKIDIwMTEtMDgtMjggIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hp
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ2hyb21pdW0gV2luOiBTZXR0aW5nIHNxdWFyZS1idXR0
b24gYXBwZWFyYW5jZSByZWFjaGVzIE5PVFJFQUNIRUQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2luZG93LW9uZXJyb3IxLmh0bWwKaW5kZXggNTlkMjQ5NTg2ODg1NTc0YWUwOGIzNjVhYzIx
YWQxMTFjYjczYTVmMy4uMGJkYWE5YmIyYmMwOGE0Nzk0YzFhMzE2N2Q4NTZiNzE0YTIzMzUxZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxLmh0bWwKQEAgLTIw
LDcgKzIwLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlv
biAoZXJyb3IsIHVybCwgbGluZSkgewogICAgICAgICB1cmwgPSB1cmwgPyB1cmwubWF0Y2goIC9b
XlwvXStcLz8kLyApWzBdIDogdXJsOwogICAgICAgICBwcmludCgiUEFTUzogY2F1Z2h0IGdsb2Jh
bCBlcnJvcjogIiArIGVycm9yICsgIiBhdCAiICsgdXJsICsgIjoiICsgbGluZSwgImdyZWVuIik7
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfTsKICAg
ICBoYWhhaGFfZ29vZF9sdWNrX2ZpbmRpbmdfbWUoKTsgLy8gY2F1Z2h0IGJ5IHdpbmRvdy5vbmVy
cm9yCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJv
cjExLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLmh0bWwK
aW5kZXggNzY1NWZhNzI3ZDhiNTYyYTBiZTQzZWFlMjNkMWMwNjQxMDQyZTQ1My4uZGRkZWM3ZWZj
YTkwMGUxYzlmNGNiNDlmMjUyZGIzMGY2NmViMDg4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEuaHRtbApAQCAtMTgsNyArMTgsNyBAQCB3aW5kb3cub25l
cnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lKQogewogICAgIHVybCA9IHVybCA/IHVybC5t
YXRjaCggL1teXC9dK1wvPyQvIClbMF0gOiB1cmw7CiAgICAgbG9nKCJNYWluIGZyYW1lIHdpbmRv
dy5vbmVycm9yOiAiICsgbXNnICsgIiBhdCAiICsgdXJsICsgIjoiICsgbGluZSk7Ci0gICAgcmV0
dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOwogfQogCiB0aHJvd0V4Y2VwdGlvbigpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMi5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMi5odG1sCmluZGV4IGRlZGU5
NzVkOTc0MDdkODUwZDFmYmIzZWYxYmQwNDcyODEzMjZmMTAuLmIxMTU3MTBiYjRkY2JkMWY0Zjdh
N2Y0OTQ1NzkyY2NkNTc3YjY1OGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3dpbmRvdy1vbmVycm9yMTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5k
b3ctb25lcnJvcjEyLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAgd2luZG93Lm9uZXJyb3IgPSBmdW5j
dGlvbihtc2csIHVybCwgbGluZSkKICAgICBsb2coIm1zZzogIiArIG1zZyk7CiAgICAgbG9nKCJ1
cmw6ICIgKyB1cmwpOwogICAgIGxvZygibGluZTogIiArIGxpbmUpOwotICAgIHJldHVybiBmYWxz
ZTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50
KCJFdmVudCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9u
ZXJyb3IxMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25l
cnJvcjEzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZjBkNmQ5NWZkNTJkNDY3YWMwMTI2MmI0
ZTQ1Y2NlMWU5NmU2OGUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2luZG93LW9uZXJyb3IxMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMDogQW4gRXJyb3IKK1Rlc3QgdGhhdCBlcnJvciBpcyB0cmVhdGVkIGFz
IG5vdCBoYW5kbGVkIHdoZW4gd2luZG93Lm9uZXJyb3IgcmV0dXJuIHZhbHVlIGlzIG5vdCAndHJ1
ZScuIEJ1ZyA2NzExOS4KKworVW5jYXVnaHQgZXJyb3Igc2hvdWxkIGJlIHByaW50ZWQgaW4gY29u
c29sZSB3aGVuIHdpbmRvdy5vbmVycm9yIHJldHVybnMgbm90IHRydWUuCitET05FLgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODMzNjMxYjY2ZWMwMWNmMTUyYjkzZmJjMDBlYjVhZDYyN2Y3YWExMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTMuaHRtbApAQCAtMCww
ICsxLDI3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93aW5kb3ct
b25lcnJvci5qcyI+Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdCB0aGF0IGVy
cm9yIGlzIHRyZWF0ZWQgYXMgbm90IGhhbmRsZWQgd2hlbiB3aW5kb3cub25lcnJvciByZXR1cm4K
K3ZhbHVlIGlzIG5vdCAndHJ1ZScuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NzExOSI+QnVnIDY3MTE5PC9hPi48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24gbG9nKG1zZykg
eworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1z
ZyArICI8YnI+IjsKK30KKword2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGlu
ZSkKK3sKKyAgbG9nKCJVbmNhdWdodCBlcnJvciBzaG91bGQgYmUgcHJpbnRlZCBpbiBjb25zb2xl
IHdoZW4gd2luZG93Lm9uZXJyb3IgcmV0dXJucyBub3QgdHJ1ZS4iKTsKKyAgbG9nKCJET05FLiIp
OworfQorCit0aHJvdyAiQW4gRXJyb3IiOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjIuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMi5odG1sCmluZGV4IDhmNDU4
YmNlN2M4OWM2ZTE2N2NhYzI5Yzg5N2Q3MmQ1YzgxNzcwZjEuLmQyYzc4NjhmY2NkZjI1MmI0MjVk
Mzk2ZmE5ZjlkMzAzMWI4NjcyYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3dpbmRvdy1vbmVycm9yMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRv
dy1vbmVycm9yMi5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rp
b24obXNnLCB1cmwsIGxpbmUpCiAgICAgaWYgKCsrdW5oYW5kbGVkRXJyb3JDb3VudCA9PT0gMyAm
JiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKIAotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsK
IH0KIAogZnVuY3Rpb24gZGVsYXllZFRocm93RXhjZXB0aW9uKCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvd2luZG93LW9uZXJyb3IzLmh0bWwKaW5kZXggZWUyODkzZjBjN2Q5OTMyMTc2YzBl
YTMxZWE0ZjBkMjEwY2VmMTNjZi4uOTM1Y2JlMzg5YjdlM2NmOTc5ODhhZjVhZDI2Nzg3OWUwYTY4
ZjIwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3Iz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IzLmh0bWwK
QEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24gdGVzdDEoKQogICAgIHdpbmRvdy5vbmVycm9yID0g
ZnVuY3Rpb24gKGVycm9yLCB1cmwsIGxpbmUpIHsKICAgICAgICAgdXJsID0gdXJsID8gdXJsLm1h
dGNoKCAvW15cL10rXC8/JC8gKVswXSA6IHVybDsKICAgICAgICAgbG9nKCJFcnJvciBjYXVnaHQg
c3VjY2Vzc2Z1bGx5OiAiICsgZXJyb3IgKyAiXG5GaWxlOiAiICsgdXJsICsgIlxuTGluZTogIiAr
IGxpbmUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fTsKICAgICB1bmtub3duT2JqZWN0LnVua25vd25Qcm9wZXJ0eSsrOwogfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjQuaHRtbAppbmRleCBjNTE4ODdkYWY2OGYxOTA2
MGU3MDY0MDE4NDg5ZTU5YWRiOTc4ZGVmLi5mMTZiYWJhMDU1MTI0NGU0MWNmNTNhYjU0ZjkzZDZi
NTMxMzBlMDViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25l
cnJvcjQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjQu
aHRtbApAQCAtMTEsNyArMTEsNyBAQCBmdW5jdGlvbiB0ZXN0MSgpCiAgICAgd2luZG93Lm9uZXJy
b3IgPSBmdW5jdGlvbiAoZXJyb3IsIHVybCwgbGluZSkgewogICAgICAgICB1cmwgPSB1cmwgPyB1
cmwubWF0Y2goIC9bXlwvXStcLz8kLyApWzBdIDogdXJsOwogICAgICAgICBsb2coIkVycm9yIGNh
dWdodCBzdWNjZXNzZnVsbHk6ICIgKyBlcnJvciArICJcbkZpbGU6ICIgKyB1cmwgKyAiXG5MaW5l
OiAiICsgbGluZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9OwogICAgIGV2YWwoIjE9MiIpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvd2luZG93LW9uZXJyb3I1Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93
aW5kb3ctb25lcnJvcjUuaHRtbAppbmRleCA5MzJkNDM4YTU2ZWE4ODJmYjExN2IyMjEzOTVjNGEw
ZDgxOTk2NDRlLi42ZTA1ODIwMmY4OTIwNmE3NmE4ZjM3MmQ3YzMzYjExNzA1NDUyNTdiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUuaHRtbApAQCAtMTEsNyAr
MTEsNyBAQCBmdW5jdGlvbiB0ZXN0MSgpCiAgICAgd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbiAo
ZXJyb3IsIHVybCwgbGluZSkgewogICAgICAgICB1cmwgPSB1cmwgPyB1cmwubWF0Y2goIC9bXlwv
XStcLz8kLyApWzBdIDogdXJsOwogICAgICAgICBsb2coIkVycm9yIGNhdWdodCBzdWNjZXNzZnVs
bHk6ICIgKyBlcnJvciArICJcbkZpbGU6ICIgKyB1cmwgKyAiXG5MaW5lOiAiICsgbGluZSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9OwogICAgIGV2
YWwoImEoIik7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ct
b25lcnJvcjYuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNi5o
dG1sCmluZGV4IDE5Nzg0MzY4OTczMjQxMTM4YTllNjBiN2I0NTZkNTFlMzBiMWFlNDAuLjdlOWY1
ZDk2ZWEyMjA1NWMxYTllMDk4YjRiMjQ2NzAyM2M5NGVkYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNi5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIHdpbmRvdy5v
bmVycm9yID0gZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUpCiB7CiAgICAgdXJsID0gdXJsID8gdXJs
Lm1hdGNoKCAvW15cL10rXC8/JC8gKVswXSA6IHVybDsKICAgICBsb2coIk1haW4gZnJhbWUgd2lu
ZG93Lm9uZXJyb3I6ICIgKyBtc2cgKyAiIGF0ICIgKyB1cmwgKyAiOiIgKyBsaW5lKTsKLSAgICBy
ZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7CiB9CiA8L3NjcmlwdD4KIDxzY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjguaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOC5odG1sCmluZGV4IGJhZGU1
Mzg4NmYyZmQ3Mzk5NTZiNjEwOTQ2NzczMThhNWEyMWE4ODkuLjg0M2ZkYjk5MWJjNjdlZTZmYTk3
YjNhN2JjNTk4YzVhZTcwOWI5MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3dpbmRvdy1vbmVycm9yOC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRv
dy1vbmVycm9yOC5odG1sCkBAIC0xOCw3ICsxOCw3IEBAIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rp
b24obXNnLCB1cmwsIGxpbmUpCiAgICAgICAgIGxvZygiUEFTU0VEOiB0aGlzID09PSB3aW5kb3ci
KTsKICAgICBlbHNlCiAgICAgICAgIGxvZygiRkFJTEVEOiB0aGlzID09PSB3aW5kb3ciKTsKLSAg
ICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHRocm93IDIwMTA7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjkuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOS5odG1sCmluZGV4IDEwODZhY2U5
YzdhZDc2MjllNzEwYTI0YmRiYjlmNWM5MzE0NWI5NTQuLmUyODYzMjJhOWRkNjQ1MTkyMWNkNzcz
Mjc1NjYwNGY1MzIzZDU4ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dp
bmRvdy1vbmVycm9yOS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1v
bmVycm9yOS5odG1sCkBAIC0yNSw3ICsyNSw3IEBAIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24o
bXNnLCB1cmwsIGxpbmUpCiAgICAgbG9nKCJ3aW5kb3cuZXZlbnQubGluZW5vID0gIiArIHdpbmRv
dy5ldmVudC5saW5lbm8pOwogICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICByZXR1cm4gZmFs
c2U7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHRocm93IG5ldyBFcnJvcigyMDEwKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLXNjcmlwdC1l
cnJvci1idWJibGVkLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3Jr
ZXItc2NyaXB0LWVycm9yLWJ1YmJsZWQuanMKaW5kZXggMDgxZGVjYjdmOTgzMWI1Y2EzOTMxMzU1
OTEzMTEyNmNkOTFlZjFkZC4uMjBkZmYzNzcyZGVkZWMwZDI3OTMyOTIxYWVjZjUwYTEyODcwNzBi
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXIt
c2NyaXB0LWVycm9yLWJ1YmJsZWQuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jl
c291cmNlcy93b3JrZXItc2NyaXB0LWVycm9yLWJ1YmJsZWQuanMKQEAgLTQsNyArNCw3IEBAIG9u
ZXJyb3IgPSBmdW5jdGlvbihtZXNzYWdlLCB1cmwsIGxpbmVubykKICAgICAgICAgcG9zdE1lc3Nh
Z2UoIkZBSUw6IEJhZCBsb2NhdGlvbi4gQWN0dWFsOiAiICsgdXJsICsgIiBFeHBlY3RlZDogIiAr
IGxvY2F0aW9uLmhyZWYpOwogICAgIHNwbGl0VXJsID0gdXJsLnNwbGl0KCcvJyk7CiAgICAgcG9z
dE1lc3NhZ2UoIlBBU1M6IG9uZXJyb3IgaW4gd29ya2VyIGNvbnRleHQgaW52b2tlZCBmb3IgYSBz
Y3JpcHQgdGhhdCBoYXMgc2NyaXB0IGVycm9yICciICsgbWVzc2FnZSArICInIGF0IGxpbmUgIiAr
IGxpbmVubyArICIgaW4gIiArIHNwbGl0VXJsW3NwbGl0VXJsLmxlbmd0aCAtIDFdKTsKLSAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGZvby5iYXIgPSAwOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItc2NyaXB0LWVy
cm9yLWhhbmRsZWQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtl
ci1zY3JpcHQtZXJyb3ItaGFuZGxlZC5qcwppbmRleCA1MGQ5MDc3ZmZjZmM4MmM5ZjliY2I5OWI4
ZTdiODFkZGFiZDExNjY5Li5hMjBkNDEwOGI1OTVjMDRhMDg5ZWJlYjA0OGIyMWRhYmNlOWFjODg3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1z
Y3JpcHQtZXJyb3ItaGFuZGxlZC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVz
b3VyY2VzL3dvcmtlci1zY3JpcHQtZXJyb3ItaGFuZGxlZC5qcwpAQCAtMSw3ICsxLDcgQEAKIG9u
ZXJyb3IgPSBmdW5jdGlvbihtZXNzYWdlLCB1cmwsIGxpbmVubykKIHsKICAgICBwb3N0TWVzc2Fn
ZSgib25lcnJvciBpbnZva2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQgZXJyb3IgJyIg
KyBtZXNzYWdlICsgIicgYXQgbGluZSAiICsgbGluZW5vKTsKLSAgICByZXR1cm4gZmFsc2U7Cisg
ICAgcmV0dXJuIHRydWU7CiB9CiAKIGZvby5iYXIgPSAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS93aW5kb3ctb25lcnJvci1leGNlcHRpb24taW4taWZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3dpbmRvdy1vbmVycm9yLWV4
Y2VwdGlvbi1pbi1pZnJhbWUuaHRtbAppbmRleCAwOTA0ZTM5NTJiOGFhMTk5YTFjM2Q0NWVjNjI1
ODgzOTM3MzJjYTFiLi44OGFmNzY2ODYyYTMwOTdjYjI5NTIwZmMyZjg5NjcwYjhjNWFkNzc1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3dpbmRvdy1vbmVycm9y
LWV4Y2VwdGlvbi1pbi1pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3dpbmRvdy1vbmVycm9yLWV4Y2VwdGlvbi1pbi1pZnJhbWUuaHRtbApAQCAtMTcsNyAr
MTcsNyBAQCB3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lKQogewogICAg
IHVybCA9IHVybCA/IHVybC5tYXRjaCggL1teXC9dK1wvPyQvIClbMF0gOiB1cmw7CiAgICAgbG9n
KCJNYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiAiICsgbXNnICsgIiBhdCAiICsgdXJsICsgIjoi
ICsgbGluZSk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOwogfQogCiBmdW5j
dGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDMwZmNjNGMxNmQzMWZm
NjVjODNkZThhNWMyMmJjOGJmYzcwZTgwODguLmE2YWE0NzYzZDgxNTQ0YzMxODI1MTI2MDhlMmQ2
MGNlYjhhOTI2NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wOC0yOSAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXR1cm4gdmFs
dWUgb2Ygd2luZG93Lm9uZXJyb3IgaGFzIGludmVydGVkIHNlbWFudGljcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMTkKKworICAgICAgICBFcnJv
ciBpcyBub3cgdHJlYXRlZCBhcyBoYW5kbGVkIG9ubHkgd2hlbiB3aW5kb3cub25lcnJvciBmdW5j
dGlvbiByZXR1cm5zIHRydWUuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMy5odG1sCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU0Vycm9ySGFuZGxlcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
V2luZG93RXJyb3JIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4V2luZG93RXJyb3JI
YW5kbGVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhX
b3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4V29ya2Vy
Q29udGV4dEVycm9ySGFuZGxlcjo6Y2FsbExpc3RlbmVyRnVuY3Rpb24pOgorCiAyMDExLTA4LTI4
ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgogCiAgICAgICAgIENocm9taXVt
IFdpbjogU2V0dGluZyBzcXVhcmUtYnV0dG9uIGFwcGVhcmFuY2UgcmVhY2hlcyBOT1RSRUFDSEVE
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHAKaW5kZXgg
M2Q5MTZlNmQyYTc0NDhlZTlkYjQzMTE0Mjc5YzIzYjJkMmZlODg1Ny4uNGYyY2UzOTRhMmEwZDNm
NTI3NWNhYzdkNDY4ZmZhOWE3YzAyMjE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNFcnJvckhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRXJyb3JIYW5kbGVyLmNwcApAQCAtMTAyLDcgKzEwMiw3IEBAIHZvaWQgSlNFcnJvckhh
bmRsZXI6OmhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsCiAgICAgICAgICAgICByZXBvcnRDdXJyZW50RXhjZXB0aW9uKGV4ZWMpOwogICAg
ICAgICBlbHNlIHsKICAgICAgICAgICAgIGJvb2wgcmV0dmFsYm9vbDsKLSAgICAgICAgICAgIGlm
IChyZXR1cm5WYWx1ZS5nZXRCb29sZWFuKHJldHZhbGJvb2wpICYmICFyZXR2YWxib29sKQorICAg
ICAgICAgICAgaWYgKHJldHVyblZhbHVlLmdldEJvb2xlYW4ocmV0dmFsYm9vbCkgJiYgcmV0dmFs
Ym9vbCkKICAgICAgICAgICAgICAgICBldmVudC0+cHJldmVudERlZmF1bHQoKTsKICAgICAgICAg
fQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4V2luZG93
RXJyb3JIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4V2luZG93RXJy
b3JIYW5kbGVyLmNwcAppbmRleCBlMzNhMTgzZjA1MjA3ODk1NjY0OTA3NzYxMDc5YTYzMmRhZDMw
NDdmLi5iZTZhNWYxZDY5MjFlYjExMzQxNmMzMjM1NDkxZDM4NTczNmVhNGZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwCkBA
IC01Nyw3ICs1Nyw3IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4V2luZG93RXJyb3JIYW5kbGVy
OjpjYWxsTGlzdGVuZXJGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25DCiAgICAgICAgIHY4OjpUcnlD
YXRjaCB0cnlDYXRjaDsKICAgICAgICAgdHJ5Q2F0Y2guU2V0VmVyYm9zZSh0cnVlKTsKICAgICAg
ICAgcmV0dXJuVmFsdWUgPSBjYWxsRnVuY3Rpb24tPkNhbGwodGhpc1ZhbHVlLCAzLCBwYXJhbWV0
ZXJzKTsKLSAgICAgICAgaWYgKCF0cnlDYXRjaC5IYXNDYXVnaHQoKSAmJiAhcmV0dXJuVmFsdWUu
SXNFbXB0eSgpICYmIHJldHVyblZhbHVlLT5Jc0Jvb2xlYW4oKSAmJiAhcmV0dXJuVmFsdWUtPkJv
b2xlYW5WYWx1ZSgpKQorICAgICAgICBpZiAoIXRyeUNhdGNoLkhhc0NhdWdodCgpICYmICFyZXR1
cm5WYWx1ZS5Jc0VtcHR5KCkgJiYgcmV0dXJuVmFsdWUtPklzQm9vbGVhbigpICYmIHJldHVyblZh
bHVlLT5Cb29sZWFuVmFsdWUoKSkKICAgICAgICAgICAgIGV2ZW50LT5wcmV2ZW50RGVmYXVsdCgp
OwogICAgIH0KICAgICByZXR1cm4gcmV0dXJuVmFsdWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOFdvcmtlckNvbnRleHRFcnJvckhhbmRsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmNwcAppbmRl
eCA1YTc1YTQwMGQyODJhZDhhYWZmODg2NTgyY2VkNTc0MTcxNmNhYmNiLi4zYjlhODg2NTIxNjA2
NWY3YThkMzVjNjZhOGJlNTUyYzgzZmRlMGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFdvcmtlckNvbnRleHRFcnJvckhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4V29ya2VyQ29udGV4dEVycm9ySGFuZGxlci5jcHAKQEAgLTU1
LDcgKzU1LDcgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhXb3JrZXJDb250ZXh0RXJyb3JIYW5k
bGVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbihTY3JpcHRFeGUKICAgICAgICAgdjg6OkxvY2FsPHY4
OjpPYmplY3Q+IHRoaXNWYWx1ZSA9IHY4OjpDb250ZXh0OjpHZXRDdXJyZW50KCktPkdsb2JhbCgp
OwogICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcGFyYW1ldGVyc1szXSA9IHsgdjhTdHJp
bmcoZXJyb3JFdmVudC0+bWVzc2FnZSgpKSwgdjhTdHJpbmcoZXJyb3JFdmVudC0+ZmlsZW5hbWUo
KSksIHY4OjpJbnRlZ2VyOjpOZXcoZXJyb3JFdmVudC0+bGluZW5vKCkpIH07CiAgICAgICAgIHJl
dHVyblZhbHVlID0gY2FsbEZ1bmN0aW9uLT5DYWxsKHRoaXNWYWx1ZSwgMywgcGFyYW1ldGVycyk7
Ci0gICAgICAgIGlmICghcmV0dXJuVmFsdWUuSXNFbXB0eSgpICYmIHJldHVyblZhbHVlLT5Jc0Jv
b2xlYW4oKSAmJiAhcmV0dXJuVmFsdWUtPkJvb2xlYW5WYWx1ZSgpKQorICAgICAgICBpZiAoIXJl
dHVyblZhbHVlLklzRW1wdHkoKSAmJiByZXR1cm5WYWx1ZS0+SXNCb29sZWFuKCkgJiYgcmV0dXJu
VmFsdWUtPkJvb2xlYW5WYWx1ZSgpKQogICAgICAgICAgICAgZXZlbnQtPnByZXZlbnREZWZhdWx0
KCk7CiAgICAgfQogICAgIHJldHVybiByZXR1cm5WYWx1ZTsK
</data>
<flag name="review"
          id="101666"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="101672"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>