<?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>13790</bug_id>
          
          <creation_ts>2007-05-20 07:44:01 -0700</creation_ts>
          <short_desc>Function declarations are not treated as statements (used to affect starcraft2.com)</short_desc>
          <delta_ts>2008-11-24 23:23:53 -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>JavaScriptCore</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Cameron Zwarich (cpst)">zwarich</assigned_to>
          <cc>bfults</cc>
    
    <cc>ggaren</cc>
    
    <cc>ian</cc>
    
    <cc>zwarich</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>9582</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-05-20 07:44:01 -0700</bug_when>
    <thetext>I was having problems at the new Starcraft II site &lt;http://www.starcraft2.com&gt;.

I narrowed it down to a problem in &lt;http://www.starcraft2.com/js/tooltip.js&gt;, which is a modified copy of the Dynamic Drive DHTML tooltip script. Here&apos;s an excerpt:

    if (ie||ns6)
    //var tipobj =  document.getElementById(&quot;dhtmltooltip&quot;);

    function ietruebody(){

This boils down to &quot;if (x) function y()&quot;, which is a syntax error in our implementation, but works fine in Firefox at least. I didn&apos;t test IE, but I&apos;m pretty sure it works fine there.

This is a case where matching the ECMAScript standard is causing compatibility problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9583</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-05-20 07:45:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/5216063&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9585</commentid>
    <comment_count>2</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-05-20 07:53:11 -0700</bug_when>
    <thetext>Another Starcraft II bug:  Bug 13787.  Not sure if they&apos;re related or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71044</commentid>
    <comment_count>3</comment_count>
      <attachid>19187</attachid>
    <who name="Robbert Broersma">mail</who>
    <bug_when>2008-02-18 06:40:35 -0800</bug_when>
    <thetext>Created attachment 19187
JavaScript file that causes a syntax error unexpectedly using an inline defined named function

I have attached an example where the SyntaxError occurs. This is a weird ECMAScript implementation issue. The script doesn&apos;t cause errors in IE7 and FF3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84960</commentid>
    <comment_count>4</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-07-02 02:17:37 -0700</bug_when>
    <thetext>If you look at http://www.starcraft2.com/js/tooltip.js, you will notice that the &apos;if&apos; is also commented. It seems that they did not mean to comment only the var statement. The original source for that JS library also seems to support this: http://www.dynamicdrive.com/dynamicindex5/dhtmltooltip.htm.

Can we close this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85005</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-07-02 12:47:29 -0700</bug_when>
    <thetext>If we understand that we&apos;re different from the other JavaScript engines (with higher market share) and our considered decision is that we don&apos;t want to match their behavior, then sure, we can close the bug.

I&apos;m sure others will make this mistake again in the future on other websites. But maybe it&apos;s OK if we behave differently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100096</commentid>
    <comment_count>6</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-24 16:16:08 -0800</bug_when>
    <thetext>*** Bug 14090 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100097</commentid>
    <comment_count>7</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-24 16:17:32 -0800</bug_when>
    <thetext>I will probably just do this. It will avoid future compatibility issues and it will even simplify our grammar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100125</commentid>
    <comment_count>8</comment_count>
      <attachid>25467</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-24 19:16:05 -0800</bug_when>
    <thetext>Created attachment 25467
Proposed patch (without test)

Here is a patch that fixes this problem. I will add some tests for this new behaviour and put it up for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100168</commentid>
    <comment_count>9</comment_count>
      <attachid>25474</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-24 23:02:50 -0800</bug_when>
    <thetext>Created attachment 25474
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100170</commentid>
    <comment_count>10</comment_count>
      <attachid>25474</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-11-24 23:12:56 -0800</bug_when>
    <thetext>Comment on attachment 25474
Proposed patch

r=me

JavaScript stinks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100175</commentid>
    <comment_count>11</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-11-24 23:23:53 -0800</bug_when>
    <thetext>Landed in r38747.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>19187</attachid>
            <date>2008-02-18 06:40:35 -0800</date>
            <delta_ts>2008-02-18 06:40:35 -0800</delta_ts>
            <desc>JavaScript file that causes a syntax error unexpectedly using an inline defined named function</desc>
            <filename>inline-named-function.js</filename>
            <type>application/javascript</type>
            <size>250</size>
            <attacher name="Robbert Broersma">mail</attacher>
            
              <data encoding="base64">Ly8gVGhpcyBkb2VzIHdvcms6CmlmICh0eXBlb2YgZm9vID09ICd1bmRlZmluZWQnKQogIGZvbyA9
IGZ1bmN0aW9uKCkge30KCi8vIFRoaXMgYWxzbyB3b3JrczoKaWYgKHR5cGVvZiBiYXIgPT0gJ3Vu
ZGVmaW5lZCcpIHsKICBmdW5jdGlvbiBiYXIoKSB7fQp9CgovLyBCdXQgdGhpcyBkb2Vzbid0Ogpp
ZiAodHlwZW9mIHF1dXggPT0gJ3VuZGVmaW5lZCcpCiAgZnVuY3Rpb24gcXV1eCgpIHt9IC8vIFN5
bnRheEVycm9yOiBQYXJzZSBlcnJvcg==
</data>
<flag name="review"
          id="8380"
          type_id="1"
          status="-"
          setter="mail"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25467</attachid>
            <date>2008-11-24 19:16:05 -0800</date>
            <delta_ts>2008-11-24 23:02:50 -0800</delta_ts>
            <desc>Proposed patch (without test)</desc>
            <filename>statement.diff</filename>
            <type>text/plain</type>
            <size>4683</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IHBhcnNlci9HcmFtbWFyLnkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGFyc2VyL0dyYW1tYXIueQko
cmV2aXNpb24gMzg3MzYpCisrKyBwYXJzZXIvR3JhbW1hci55CSh3b3JraW5nIGNvcHkpCkBAIC0y
NjAsMTAgKzI2MCw5IEBACiAldHlwZSA8c3RhdGVtZW50Tm9kZT4gICBTd2l0Y2hTdGF0ZW1lbnQg
TGFiZWxsZWRTdGF0ZW1lbnQKICV0eXBlIDxzdGF0ZW1lbnROb2RlPiAgIFRocm93U3RhdGVtZW50
IFRyeVN0YXRlbWVudAogJXR5cGUgPHN0YXRlbWVudE5vZGU+ICAgRGVidWdnZXJTdGF0ZW1lbnQK
LSV0eXBlIDxzdGF0ZW1lbnROb2RlPiAgIFNvdXJjZUVsZW1lbnQKIAogJXR5cGUgPGV4cHJlc3Np
b25Ob2RlPiAgSW5pdGlhbGl6ZXIgSW5pdGlhbGl6ZXJOb0luCi0ldHlwZSA8ZnVuY0RlY2xOb2Rl
PiAgICBGdW5jdGlvbkRlY2xhcmF0aW9uCisldHlwZSA8c3RhdGVtZW50Tm9kZT4gICBGdW5jdGlv
bkRlY2xhcmF0aW9uCiAldHlwZSA8ZnVuY0V4cHJOb2RlPiAgICBGdW5jdGlvbkV4cHIKICV0eXBl
IDxmdW5jdGlvbkJvZHlOb2RlPiAgRnVuY3Rpb25Cb2R5CiAldHlwZSA8c291cmNlRWxlbWVudHM+
ICBTb3VyY2VFbGVtZW50cwpAQCAtNzk2LDYgKzc5NSw3IEBACiAgICAgQmxvY2sKICAgfCBWYXJp
YWJsZVN0YXRlbWVudAogICB8IENvbnN0U3RhdGVtZW50CisgIHwgRnVuY3Rpb25EZWNsYXJhdGlv
bgogICB8IEVtcHR5U3RhdGVtZW50CiAgIHwgRXhwclN0YXRlbWVudAogICB8IElmU3RhdGVtZW50
CkBAIC0xMTY4LDEzICsxMTY4LDE0IEBACiA7CiAKIEZ1bmN0aW9uRGVjbGFyYXRpb246Ci0gICAg
RlVOQ1RJT04gSURFTlQgJygnICcpJyBPUEVOQlJBQ0UgRnVuY3Rpb25Cb2R5IENMT1NFQlJBQ0Ug
eyAkJCA9IGNyZWF0ZU5vZGVJbmZvKG5ldyBGdW5jRGVjbE5vZGUoR0xPQkFMX0RBVEEsICokMiwg
JDYsIExFWEVSLT5zb3VyY2VDb2RlKCQ1LCAkNywgQDUuZmlyc3RfbGluZSkpLCAoKCokMiA9PSBH
TE9CQUxfREFUQS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzKSA/IEFyZ3VtZW50c0ZlYXR1cmUg
OiAwKSB8IENsb3N1cmVGZWF0dXJlLCAwKTsgREJHKCQ2LCBANSwgQDcpOyB9CisgICAgRlVOQ1RJ
T04gSURFTlQgJygnICcpJyBPUEVOQlJBQ0UgRnVuY3Rpb25Cb2R5IENMT1NFQlJBQ0UgeyAkJCA9
IGNyZWF0ZU5vZGVEZWNsYXJhdGlvbkluZm88U3RhdGVtZW50Tm9kZSo+KG5ldyBGdW5jRGVjbE5v
ZGUoR0xPQkFMX0RBVEEsICokMiwgJDYsIExFWEVSLT5zb3VyY2VDb2RlKCQ1LCAkNywgQDUuZmly
c3RfbGluZSkpLCAwLCBuZXcgUGFyc2VyUmVmQ291bnRlZERhdGE8RGVjbGFyYXRpb25TdGFja3M6
OkZ1bmN0aW9uU3RhY2s+KEdMT0JBTF9EQVRBKSwgKCgqJDIgPT0gR0xPQkFMX0RBVEEtPnByb3Bl
cnR5TmFtZXMtPmFyZ3VtZW50cykgPyBBcmd1bWVudHNGZWF0dXJlIDogMCkgfCBDbG9zdXJlRmVh
dHVyZSwgMCk7IERCRygkNiwgQDUsIEA3KTsgJCQubV9mdW5jRGVjbGFyYXRpb25zLT5kYXRhLmFw
cGVuZChzdGF0aWNfY2FzdDxGdW5jRGVjbE5vZGUqPigkJC5tX25vZGUpKTsgfQogICB8IEZVTkNU
SU9OIElERU5UICcoJyBGb3JtYWxQYXJhbWV0ZXJMaXN0ICcpJyBPUEVOQlJBQ0UgRnVuY3Rpb25C
b2R5IENMT1NFQlJBQ0UKICAgICAgIHsgCi0gICAgICAgICAgJCQgPSBjcmVhdGVOb2RlSW5mbyhu
ZXcgRnVuY0RlY2xOb2RlKEdMT0JBTF9EQVRBLCAqJDIsICQ3LCBMRVhFUi0+c291cmNlQ29kZSgk
NiwgJDgsIEA2LmZpcnN0X2xpbmUpLCAkNC5tX25vZGUuaGVhZCksICgoKiQyID09IEdMT0JBTF9E
QVRBLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMpID8gQXJndW1lbnRzRmVhdHVyZSA6IDApIHwg
JDQubV9mZWF0dXJlcyB8IENsb3N1cmVGZWF0dXJlLCAwKTsgCisgICAgICAgICAgJCQgPSBjcmVh
dGVOb2RlRGVjbGFyYXRpb25JbmZvPFN0YXRlbWVudE5vZGUqPihuZXcgRnVuY0RlY2xOb2RlKEdM
T0JBTF9EQVRBLCAqJDIsICQ3LCBMRVhFUi0+c291cmNlQ29kZSgkNiwgJDgsIEA2LmZpcnN0X2xp
bmUpLCAkNC5tX25vZGUuaGVhZCksIDAsIG5ldyBQYXJzZXJSZWZDb3VudGVkRGF0YTxEZWNsYXJh
dGlvblN0YWNrczo6RnVuY3Rpb25TdGFjaz4oR0xPQkFMX0RBVEEpLCAoKCokMiA9PSBHTE9CQUxf
REFUQS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzKSA/IEFyZ3VtZW50c0ZlYXR1cmUgOiAwKSB8
ICQ0Lm1fZmVhdHVyZXMgfCBDbG9zdXJlRmVhdHVyZSwgMCk7IAogICAgICAgICAgIGlmICgkNC5t
X2ZlYXR1cmVzICYgQXJndW1lbnRzRmVhdHVyZSkKICAgICAgICAgICAgICAgJDctPnNldFVzZXNB
cmd1bWVudHMoKTsgCi0gICAgICAgICAgREJHKCQ3LCBANiwgQDgpOyAKKyAgICAgICAgICBEQkco
JDcsIEA2LCBAOCk7CisgICAgICAgICAgJCQubV9mdW5jRGVjbGFyYXRpb25zLT5kYXRhLmFwcGVu
ZChzdGF0aWNfY2FzdDxGdW5jRGVjbE5vZGUqPigkJC5tX25vZGUpKTsKICAgICAgIH0KIDsKIApA
QCAtMTIxOCwyNSArMTIxOSwyMCBAQAogOwogCiBTb3VyY2VFbGVtZW50czoKLSAgICBTb3VyY2VF
bGVtZW50ICAgICAgICAgICAgICAgICAgICAgICB7ICQkLm1fbm9kZSA9IG5ldyBTb3VyY2VFbGVt
ZW50cyhHTE9CQUxfREFUQSk7CisgICAgU3RhdGVtZW50ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgeyAkJC5tX25vZGUgPSBuZXcgU291cmNlRWxlbWVudHMoR0xPQkFMX0RBVEEpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCQubV9ub2RlLT5hcHBlbmQoJDEu
bV9ub2RlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkLm1f
dmFyRGVjbGFyYXRpb25zID0gJDEubV92YXJEZWNsYXJhdGlvbnM7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAkJC5tX2Z1bmNEZWNsYXJhdGlvbnMgPSAkMS5tX2Z1
bmNEZWNsYXJhdGlvbnM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAkJC5tX2ZlYXR1cmVzID0gJDEubV9mZWF0dXJlczsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICQkLm1fbnVtQ29uc3RhbnRzID0gJDEubV9udW1Db25zdGFudHM7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICB8IFNvdXJjZUVs
ZW1lbnRzIFNvdXJjZUVsZW1lbnQgICAgICAgIHsgJCQubV9ub2RlLT5hcHBlbmQoJDIubV9ub2Rl
KTsKKyAgfCBTb3VyY2VFbGVtZW50cyBTdGF0ZW1lbnQgICAgICAgICAgICB7ICQkLm1fbm9kZS0+
YXBwZW5kKCQyLm1fbm9kZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAkJC5tX3ZhckRlY2xhcmF0aW9ucyA9IG1lcmdlRGVjbGFyYXRpb25MaXN0cygkMS5tX3Zh
ckRlY2xhcmF0aW9ucywgJDIubV92YXJEZWNsYXJhdGlvbnMpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJCQubV9mdW5jRGVjbGFyYXRpb25zID0gbWVyZ2VEZWNs
YXJhdGlvbkxpc3RzKCQxLm1fZnVuY0RlY2xhcmF0aW9ucywgJDIubV9mdW5jRGVjbGFyYXRpb25z
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkLm1fZmVhdHVy
ZXMgPSAkMS5tX2ZlYXR1cmVzIHwgJDIubV9mZWF0dXJlczsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICQkLm1fbnVtQ29uc3RhbnRzID0gJDEubV9udW1Db25zdGFu
dHMgKyAkMi5tX251bUNvbnN0YW50czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9CiA7Ci0KLVNvdXJjZUVsZW1lbnQ6Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiAg
ICAgICAgICAgICAgICAgeyAkJCA9IGNyZWF0ZU5vZGVEZWNsYXJhdGlvbkluZm88U3RhdGVtZW50
Tm9kZSo+KCQxLm1fbm9kZSwgMCwgbmV3IFBhcnNlclJlZkNvdW50ZWREYXRhPERlY2xhcmF0aW9u
U3RhY2tzOjpGdW5jdGlvblN0YWNrPihHTE9CQUxfREFUQSksICQxLm1fZmVhdHVyZXMsIDApOyAk
JC5tX2Z1bmNEZWNsYXJhdGlvbnMtPmRhdGEuYXBwZW5kKCQxLm1fbm9kZSk7IH0KLSAgfCBTdGF0
ZW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICQkID0gJDE7IH0KLTsKICAKIC8vIFN0
YXJ0IE5vTm9kZXMKIApAQCAtMTYyNiw2ICsxNjIyLDcgQEAKICAgICBCbG9ja19Ob05vZGUKICAg
fCBWYXJpYWJsZVN0YXRlbWVudF9Ob05vZGUKICAgfCBDb25zdFN0YXRlbWVudF9Ob05vZGUKKyAg
fCBGdW5jdGlvbkRlY2xhcmF0aW9uX05vTm9kZQogICB8IEVtcHR5U3RhdGVtZW50X05vTm9kZQog
ICB8IEV4cHJTdGF0ZW1lbnRfTm9Ob2RlCiAgIHwgSWZTdGF0ZW1lbnRfTm9Ob2RlCkBAIC0xODIw
LDE1ICsxODE3LDEwIEBACiA7CiAKIFNvdXJjZUVsZW1lbnRzX05vTm9kZToKLSAgICBTb3VyY2VF
bGVtZW50X05vTm9kZQotICB8IFNvdXJjZUVsZW1lbnRzX05vTm9kZSBTb3VyY2VFbGVtZW50X05v
Tm9kZQorICAgIFN0YXRlbWVudF9Ob05vZGUKKyAgfCBTb3VyY2VFbGVtZW50c19Ob05vZGUgU3Rh
dGVtZW50X05vTm9kZQogOwogCi1Tb3VyY2VFbGVtZW50X05vTm9kZToKLSAgICBGdW5jdGlvbkRl
Y2xhcmF0aW9uX05vTm9kZQotICB8IFN0YXRlbWVudF9Ob05vZGUKLTsKLQogLy8gRW5kIE5vTm9k
ZXMKIAogJSUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25474</attachid>
            <date>2008-11-24 23:02:50 -0800</date>
            <delta_ts>2008-11-24 23:12:56 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>statement.diff</filename>
            <type>text/plain</type>
            <size>11136</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDM4NzQ2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDgtMTEtMjQgIENhbWVyb24g
WndhcmljaCAgPHp3YXJpY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAxMzc5MDogRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFy
ZSBub3QgdHJlYXRlZCBhcyBzdGF0ZW1lbnRzICh1c2VkIHRvIGFmZmVjdCBzdGFyY3JhZnQyLmNv
bSkKKyAgICAgICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzc5
MD4KKworICAgICAgICBNb2RpZnkgdGhlIHBhcnNlciB0byB0cmVhdCBmdW5jdGlvbiBkZWNsYXJh
dGlvbnMgYXMgc3RhdGVtZW50cywKKyAgICAgICAgc2ltcGxpZnlpbmcgdGhlIGdyYW1tYXIgaW4g
dGhlIHByb2Nlc3MuIFRlY2huaWNhbGx5LCBhY2NvcmRpbmcgdG8gdGhlCisgICAgICAgIGdyYW1t
YXIgaW4gdGhlIEVDTUEgc3BlYywgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBub3Qgc3RhdGVt
ZW50cyBhbmQKKyAgICAgICAgY2FuIG5vdCBiZSB1c2VkIGV2ZXJ5d2hlcmUgdGhhdCBzdGF0ZW1l
bnRzIGNhbiwgYnV0IGl0IGlzIG5vdCB3b3J0aCB0aGUKKyAgICAgICAgcG9zc2liaWxpdHkgY29t
cGF0aWJpbGl0eSBpc3N1ZXMganVzdCB0byBzdGljayB0byB0aGUgc3BlYyBpbiB0aGlzIGNhc2Uu
CisKKyAgICAgICAgKiBwYXJzZXIvR3JhbW1hci55OgorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5j
cHA6CisgICAgICAgIChKU0M6OkZ1bmNEZWNsTm9kZTo6ZW1pdEJ5dGVjb2RlKTogQXZvaWQgcmV0
dXJuaW5nIGlnbm9yZWRSZXN1bHQoKQorICAgICAgICBhcyBhIHJlc3VsdCwgYmVjYXVzZSBpdCBj
YXVzZXMgYSBjcmFzaCBpbiBEb1doaWxlTm9kZTo6ZW1pdEJ5dGVjb2RlKCkuCisKIDIwMDgtMTEt
MjQgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTYW0gV2VpbmlnLgpJbmRleDogSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuY3BwCShyZXZpc2lvbiAz
ODczNikKKysrIEphdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI2MzIsNiArMjYzMiw4IEBACiAKIFJlZ2lzdGVySUQqIEZ1bmNEZWNsTm9kZTo6ZW1pdEJ5
dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogZHN0KQogeworICAgIGlmIChk
c3QgPT0gaWdub3JlZFJlc3VsdCgpKQorICAgICAgICBkc3QgPSAwOwogICAgIHJldHVybiBkc3Q7
CiB9CiAKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3BhcnNlci9HcmFtbWFyLnkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSmF2YVNjcmlwdENvcmUvcGFyc2VyL0dyYW1tYXIueQkocmV2aXNpb24gMzg3MzYpCisrKyBK
YXZhU2NyaXB0Q29yZS9wYXJzZXIvR3JhbW1hci55CSh3b3JraW5nIGNvcHkpCkBAIC0yNjAsMTAg
KzI2MCw5IEBACiAldHlwZSA8c3RhdGVtZW50Tm9kZT4gICBTd2l0Y2hTdGF0ZW1lbnQgTGFiZWxs
ZWRTdGF0ZW1lbnQKICV0eXBlIDxzdGF0ZW1lbnROb2RlPiAgIFRocm93U3RhdGVtZW50IFRyeVN0
YXRlbWVudAogJXR5cGUgPHN0YXRlbWVudE5vZGU+ICAgRGVidWdnZXJTdGF0ZW1lbnQKLSV0eXBl
IDxzdGF0ZW1lbnROb2RlPiAgIFNvdXJjZUVsZW1lbnQKIAogJXR5cGUgPGV4cHJlc3Npb25Ob2Rl
PiAgSW5pdGlhbGl6ZXIgSW5pdGlhbGl6ZXJOb0luCi0ldHlwZSA8ZnVuY0RlY2xOb2RlPiAgICBG
dW5jdGlvbkRlY2xhcmF0aW9uCisldHlwZSA8c3RhdGVtZW50Tm9kZT4gICBGdW5jdGlvbkRlY2xh
cmF0aW9uCiAldHlwZSA8ZnVuY0V4cHJOb2RlPiAgICBGdW5jdGlvbkV4cHIKICV0eXBlIDxmdW5j
dGlvbkJvZHlOb2RlPiAgRnVuY3Rpb25Cb2R5CiAldHlwZSA8c291cmNlRWxlbWVudHM+ICBTb3Vy
Y2VFbGVtZW50cwpAQCAtNzk2LDYgKzc5NSw3IEBACiAgICAgQmxvY2sKICAgfCBWYXJpYWJsZVN0
YXRlbWVudAogICB8IENvbnN0U3RhdGVtZW50CisgIHwgRnVuY3Rpb25EZWNsYXJhdGlvbgogICB8
IEVtcHR5U3RhdGVtZW50CiAgIHwgRXhwclN0YXRlbWVudAogICB8IElmU3RhdGVtZW50CkBAIC0x
MTY4LDEzICsxMTY4LDE0IEBACiA7CiAKIEZ1bmN0aW9uRGVjbGFyYXRpb246Ci0gICAgRlVOQ1RJ
T04gSURFTlQgJygnICcpJyBPUEVOQlJBQ0UgRnVuY3Rpb25Cb2R5IENMT1NFQlJBQ0UgeyAkJCA9
IGNyZWF0ZU5vZGVJbmZvKG5ldyBGdW5jRGVjbE5vZGUoR0xPQkFMX0RBVEEsICokMiwgJDYsIExF
WEVSLT5zb3VyY2VDb2RlKCQ1LCAkNywgQDUuZmlyc3RfbGluZSkpLCAoKCokMiA9PSBHTE9CQUxf
REFUQS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzKSA/IEFyZ3VtZW50c0ZlYXR1cmUgOiAwKSB8
IENsb3N1cmVGZWF0dXJlLCAwKTsgREJHKCQ2LCBANSwgQDcpOyB9CisgICAgRlVOQ1RJT04gSURF
TlQgJygnICcpJyBPUEVOQlJBQ0UgRnVuY3Rpb25Cb2R5IENMT1NFQlJBQ0UgeyAkJCA9IGNyZWF0
ZU5vZGVEZWNsYXJhdGlvbkluZm88U3RhdGVtZW50Tm9kZSo+KG5ldyBGdW5jRGVjbE5vZGUoR0xP
QkFMX0RBVEEsICokMiwgJDYsIExFWEVSLT5zb3VyY2VDb2RlKCQ1LCAkNywgQDUuZmlyc3RfbGlu
ZSkpLCAwLCBuZXcgUGFyc2VyUmVmQ291bnRlZERhdGE8RGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0
aW9uU3RhY2s+KEdMT0JBTF9EQVRBKSwgKCgqJDIgPT0gR0xPQkFMX0RBVEEtPnByb3BlcnR5TmFt
ZXMtPmFyZ3VtZW50cykgPyBBcmd1bWVudHNGZWF0dXJlIDogMCkgfCBDbG9zdXJlRmVhdHVyZSwg
MCk7IERCRygkNiwgQDUsIEA3KTsgJCQubV9mdW5jRGVjbGFyYXRpb25zLT5kYXRhLmFwcGVuZChz
dGF0aWNfY2FzdDxGdW5jRGVjbE5vZGUqPigkJC5tX25vZGUpKTsgfQogICB8IEZVTkNUSU9OIElE
RU5UICcoJyBGb3JtYWxQYXJhbWV0ZXJMaXN0ICcpJyBPUEVOQlJBQ0UgRnVuY3Rpb25Cb2R5IENM
T1NFQlJBQ0UKICAgICAgIHsgCi0gICAgICAgICAgJCQgPSBjcmVhdGVOb2RlSW5mbyhuZXcgRnVu
Y0RlY2xOb2RlKEdMT0JBTF9EQVRBLCAqJDIsICQ3LCBMRVhFUi0+c291cmNlQ29kZSgkNiwgJDgs
IEA2LmZpcnN0X2xpbmUpLCAkNC5tX25vZGUuaGVhZCksICgoKiQyID09IEdMT0JBTF9EQVRBLT5w
cm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMpID8gQXJndW1lbnRzRmVhdHVyZSA6IDApIHwgJDQubV9m
ZWF0dXJlcyB8IENsb3N1cmVGZWF0dXJlLCAwKTsgCisgICAgICAgICAgJCQgPSBjcmVhdGVOb2Rl
RGVjbGFyYXRpb25JbmZvPFN0YXRlbWVudE5vZGUqPihuZXcgRnVuY0RlY2xOb2RlKEdMT0JBTF9E
QVRBLCAqJDIsICQ3LCBMRVhFUi0+c291cmNlQ29kZSgkNiwgJDgsIEA2LmZpcnN0X2xpbmUpLCAk
NC5tX25vZGUuaGVhZCksIDAsIG5ldyBQYXJzZXJSZWZDb3VudGVkRGF0YTxEZWNsYXJhdGlvblN0
YWNrczo6RnVuY3Rpb25TdGFjaz4oR0xPQkFMX0RBVEEpLCAoKCokMiA9PSBHTE9CQUxfREFUQS0+
cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzKSA/IEFyZ3VtZW50c0ZlYXR1cmUgOiAwKSB8ICQ0Lm1f
ZmVhdHVyZXMgfCBDbG9zdXJlRmVhdHVyZSwgMCk7IAogICAgICAgICAgIGlmICgkNC5tX2ZlYXR1
cmVzICYgQXJndW1lbnRzRmVhdHVyZSkKICAgICAgICAgICAgICAgJDctPnNldFVzZXNBcmd1bWVu
dHMoKTsgCi0gICAgICAgICAgREJHKCQ3LCBANiwgQDgpOyAKKyAgICAgICAgICBEQkcoJDcsIEA2
LCBAOCk7CisgICAgICAgICAgJCQubV9mdW5jRGVjbGFyYXRpb25zLT5kYXRhLmFwcGVuZChzdGF0
aWNfY2FzdDxGdW5jRGVjbE5vZGUqPigkJC5tX25vZGUpKTsKICAgICAgIH0KIDsKIApAQCAtMTIx
OCwyNSArMTIxOSwyMCBAQAogOwogCiBTb3VyY2VFbGVtZW50czoKLSAgICBTb3VyY2VFbGVtZW50
ICAgICAgICAgICAgICAgICAgICAgICB7ICQkLm1fbm9kZSA9IG5ldyBTb3VyY2VFbGVtZW50cyhH
TE9CQUxfREFUQSk7CisgICAgU3RhdGVtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAk
JC5tX25vZGUgPSBuZXcgU291cmNlRWxlbWVudHMoR0xPQkFMX0RBVEEpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCQubV9ub2RlLT5hcHBlbmQoJDEubV9ub2Rl
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkLm1fdmFyRGVj
bGFyYXRpb25zID0gJDEubV92YXJEZWNsYXJhdGlvbnM7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAkJC5tX2Z1bmNEZWNsYXJhdGlvbnMgPSAkMS5tX2Z1bmNEZWNs
YXJhdGlvbnM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkJC5t
X2ZlYXR1cmVzID0gJDEubV9mZWF0dXJlczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICQkLm1fbnVtQ29uc3RhbnRzID0gJDEubV9udW1Db25zdGFudHM7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICB8IFNvdXJjZUVsZW1lbnRz
IFNvdXJjZUVsZW1lbnQgICAgICAgIHsgJCQubV9ub2RlLT5hcHBlbmQoJDIubV9ub2RlKTsKKyAg
fCBTb3VyY2VFbGVtZW50cyBTdGF0ZW1lbnQgICAgICAgICAgICB7ICQkLm1fbm9kZS0+YXBwZW5k
KCQyLm1fbm9kZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk
JC5tX3ZhckRlY2xhcmF0aW9ucyA9IG1lcmdlRGVjbGFyYXRpb25MaXN0cygkMS5tX3ZhckRlY2xh
cmF0aW9ucywgJDIubV92YXJEZWNsYXJhdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJCQubV9mdW5jRGVjbGFyYXRpb25zID0gbWVyZ2VEZWNsYXJhdGlv
bkxpc3RzKCQxLm1fZnVuY0RlY2xhcmF0aW9ucywgJDIubV9mdW5jRGVjbGFyYXRpb25zKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQkLm1fZmVhdHVyZXMgPSAk
MS5tX2ZlYXR1cmVzIHwgJDIubV9mZWF0dXJlczsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICQkLm1fbnVtQ29uc3RhbnRzID0gJDEubV9udW1Db25zdGFudHMgKyAk
Mi5tX251bUNvbnN0YW50czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9CiA7Ci0KLVNvdXJjZUVsZW1lbnQ6Ci0gICAgRnVuY3Rpb25EZWNsYXJhdGlvbiAgICAgICAg
ICAgICAgICAgeyAkJCA9IGNyZWF0ZU5vZGVEZWNsYXJhdGlvbkluZm88U3RhdGVtZW50Tm9kZSo+
KCQxLm1fbm9kZSwgMCwgbmV3IFBhcnNlclJlZkNvdW50ZWREYXRhPERlY2xhcmF0aW9uU3RhY2tz
OjpGdW5jdGlvblN0YWNrPihHTE9CQUxfREFUQSksICQxLm1fZmVhdHVyZXMsIDApOyAkJC5tX2Z1
bmNEZWNsYXJhdGlvbnMtPmRhdGEuYXBwZW5kKCQxLm1fbm9kZSk7IH0KLSAgfCBTdGF0ZW1lbnQg
ICAgICAgICAgICAgICAgICAgICAgICAgICB7ICQkID0gJDE7IH0KLTsKICAKIC8vIFN0YXJ0IE5v
Tm9kZXMKIApAQCAtMTYyNiw2ICsxNjIyLDcgQEAKICAgICBCbG9ja19Ob05vZGUKICAgfCBWYXJp
YWJsZVN0YXRlbWVudF9Ob05vZGUKICAgfCBDb25zdFN0YXRlbWVudF9Ob05vZGUKKyAgfCBGdW5j
dGlvbkRlY2xhcmF0aW9uX05vTm9kZQogICB8IEVtcHR5U3RhdGVtZW50X05vTm9kZQogICB8IEV4
cHJTdGF0ZW1lbnRfTm9Ob2RlCiAgIHwgSWZTdGF0ZW1lbnRfTm9Ob2RlCkBAIC0xODIwLDE1ICsx
ODE3LDEwIEBACiA7CiAKIFNvdXJjZUVsZW1lbnRzX05vTm9kZToKLSAgICBTb3VyY2VFbGVtZW50
X05vTm9kZQotICB8IFNvdXJjZUVsZW1lbnRzX05vTm9kZSBTb3VyY2VFbGVtZW50X05vTm9kZQor
ICAgIFN0YXRlbWVudF9Ob05vZGUKKyAgfCBTb3VyY2VFbGVtZW50c19Ob05vZGUgU3RhdGVtZW50
X05vTm9kZQogOwogCi1Tb3VyY2VFbGVtZW50X05vTm9kZToKLSAgICBGdW5jdGlvbkRlY2xhcmF0
aW9uX05vTm9kZQotICB8IFN0YXRlbWVudF9Ob05vZGUKLTsKLQogLy8gRW5kIE5vTm9kZXMKIAog
JSUKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDM4NzQ2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDgtMTEtMjQgIENhbWVyb24gWndhcmlj
aCAgPHp3YXJpY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3IgYnVnIDEzNzkwOiBGdW5jdGlvbiBkZWNsYXJh
dGlvbnMgYXJlIG5vdCB0cmVhdGVkIGFzIHN0YXRlbWVudHMgKHVzZWQgdG8gYWZmZWN0IHN0YXJj
cmFmdDIuY29tKQorICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzNzkwPgorCisgICAgICAgICogZmFzdC9qcy9mdW5jdGlvbi1kZWNsYXJhdGlvbi1zdGF0
ZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL2Z1bmN0aW9uLWRl
Y2xhcmF0aW9uLXN0YXRlbWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3Jlc291
cmNlcy9mdW5jdGlvbi1kZWNsYXJhdGlvbi1zdGF0ZW1lbnQuanM6IEFkZGVkLgorCiAyMDA4LTEx
LTI0ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuaWtvbGFzLnppbW1lcm1hbm5AdG9yY2htb2JpbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb3JnZSBTdGFpa29zICYgRXJpYyBTZWlkZWwu
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2Z1bmN0aW9uLWRlY2xhcmF0aW9uLXN0YXRlbWVu
dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9mdW5jdGlv
bi1kZWNsYXJhdGlvbi1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9qcy9mdW5jdGlvbi1kZWNsYXJhdGlvbi1zdGF0ZW1lbnQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
ZnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSB0cmVhdGVkIGFzIHN0YXRlbWVudHMuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGlmVGVzdCgpIGlzIHRydWUKK1BBU1MgaWZF
bHNlVGVzdCgpIGlzIHRydWUKK1BBU1MgZG9XaGlsZVRlc3QoKSBpcyB0cnVlCitQQVNTIHdoaWxl
VGVzdCgpIGlzIHRydWUKK1BBU1MgZm9yVGVzdCgpIGlzIHRydWUKK1BBU1MgZm9yVmFyVGVzdCgp
IGlzIHRydWUKK1BBU1MgZm9ySW5UZXN0KCkgaXMgdHJ1ZQorUEFTUyBmb3JJblZhclRlc3QoKSBp
cyB0cnVlCitQQVNTIGZvckluVmFySW5pdFRlc3QoKSBpcyB0cnVlCitQQVNTIHdpdGhUZXN0KCkg
aXMgdHJ1ZQorUEFTUyBsYWJlbFRlc3QoKSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9y
ZXNvdXJjZXMvZnVuY3Rpb24tZGVjbGFyYXRpb24tc3RhdGVtZW50LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2Z1bmN0aW9uLWRlY2xhcmF0aW9uLXN0YXRl
bWVudC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2Z1
bmN0aW9uLWRlY2xhcmF0aW9uLXN0YXRlbWVudC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NjIgQEAKK2Rlc2NyaXB0aW9uKAorIlRoaXMgdGVzdCBjaGVja3MgdGhhdCBmdW5jdGlvbiBkZWNs
YXJhdGlvbnMgYXJlIHRyZWF0ZWQgYXMgc3RhdGVtZW50cy4iCispOworCitmdW5jdGlvbiBmKCkK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Z1bmN0aW9uIGlmVGVzdCgpCit7CisgICAgaWYg
KHRydWUpCisgICAgICAgIGZ1bmN0aW9uIGYoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgcmV0dXJuIGYoKTsKK30KKworc2hvdWxkQmVUcnVl
KCJpZlRlc3QoKSIpOworCitmdW5jdGlvbiBpZkVsc2VUZXN0KCkKK3sKKyAgICBpZiAoZmFsc2Up
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBlbHNlCisgICAgICAgIGZ1bmN0aW9uIGYoKQor
ICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgcmV0
dXJuIGYoKTsKK30KKworc2hvdWxkQmVUcnVlKCJpZkVsc2VUZXN0KCkiKTsKKworZnVuY3Rpb24g
ZG9XaGlsZVRlc3QoKQoreworICAgIHZhciBpID0gMDsKKyAgICBkbworICAgICAgICBmdW5jdGlv
biBmKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAg
ICB3aGlsZSAoaSsrIDwgMTApCisKKyAgICByZXR1cm4gZigpOworfQorCitzaG91bGRCZVRydWUo
ImRvV2hpbGVUZXN0KCkiKTsKKworZnVuY3Rpb24gd2hpbGVUZXN0KCkKK3sKKyAgICB2YXIgaSA9
IDA7CisgICAgd2hpbGUgKGkrKyA8IDEwKQorICAgICAgICBmdW5jdGlvbiBmKCkKKyAgICAgICAg
eworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAgIHJldHVybiBmKCk7
Cit9CisKK3Nob3VsZEJlVHJ1ZSgid2hpbGVUZXN0KCkiKTsKKworZnVuY3Rpb24gZm9yVGVzdCgp
Cit7CisgICAgdmFyIGk7CisgICAgZm9yIChpID0gMDsgaSA8IDEwOyArK2kpCisgICAgICAgIGZ1
bmN0aW9uIGYoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
fQorCisgICAgcmV0dXJuIGYoKTsKK30KKworc2hvdWxkQmVUcnVlKCJmb3JUZXN0KCkiKTsKKwor
ZnVuY3Rpb24gZm9yVmFyVGVzdCgpCit7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgKytp
KQorICAgICAgICBmdW5jdGlvbiBmKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgIH0KKworICAgIHJldHVybiBmKCk7Cit9CisKK3Nob3VsZEJlVHJ1ZSgiZm9y
VmFyVGVzdCgpIik7CisKK2Z1bmN0aW9uIGZvckluVGVzdCgpCit7CisgICAgdmFyIGE7CisgICAg
Zm9yIChhIGluIHsgZmllbGQ6IGZhbHNlIH0pCisgICAgICAgIGZ1bmN0aW9uIGYoKQorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgcmV0dXJuIGYo
KTsKK30KKworc2hvdWxkQmVUcnVlKCJmb3JJblRlc3QoKSIpOworCitmdW5jdGlvbiBmb3JJblZh
clRlc3QoKQoreworICAgIHZhciBhOworICAgIGZvciAodmFyIGEgaW4geyBmaWVsZDogZmFsc2Ug
fSkKKyAgICAgICAgZnVuY3Rpb24gZigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICB9CisKKyAgICByZXR1cm4gZigpOworfQorCitzaG91bGRCZVRydWUoImZv
ckluVmFyVGVzdCgpIik7CisKK2Z1bmN0aW9uIGZvckluVmFySW5pdFRlc3QoKQoreworICAgIHZh
ciBhOworICAgIGZvciAodmFyIGEgPSBmYWxzZSBpbiB7IGZpZWxkOiBmYWxzZSB9KQorICAgICAg
ICBmdW5jdGlvbiBmKCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ICAgIH0KKworICAgIHJldHVybiBmKCk7Cit9CisKK3Nob3VsZEJlVHJ1ZSgiZm9ySW5WYXJJbml0
VGVzdCgpIik7CisKK2Z1bmN0aW9uIHdpdGhUZXN0KCkKK3sKKyAgICB3aXRoICh7IH0pCisgICAg
ICAgIGZ1bmN0aW9uIGYoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgfQorCisgICAgcmV0dXJuIGYoKTsKK30KKworc2hvdWxkQmVUcnVlKCJ3aXRoVGVzdCgp
Iik7CisKK2Z1bmN0aW9uIGxhYmVsVGVzdCgpCit7CisgICAgbGFiZWw6CisgICAgICAgIGZ1bmN0
aW9uIGYoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQor
CisgICAgcmV0dXJuIGYoKTsKK30KKworc2hvdWxkQmVUcnVlKCJsYWJlbFRlc3QoKSIpOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMv
ZnVuY3Rpb24tZGVjbGFyYXRpb24tc3RhdGVtZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9mdW5jdGlvbi1kZWNsYXJhdGlvbi1zdGF0ZW1lbnQuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvZnVuY3Rpb24tZGVjbGFyYXRpb24tc3RhdGVt
ZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZnVuY3Rpb24tZGVjbGFyYXRpb24tc3RhdGVtZW50LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="11830"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>