<?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>236843</bug_id>
          
          <creation_ts>2022-02-18 09:28:49 -0800</creation_ts>
          <short_desc>[JSC] ReferenceError when using extra parens in class fields</short_desc>
          <delta_ts>2022-03-21 12:58:33 -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>JavaScriptCore</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>macOS 11</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="Liam Mitchell">mitchell.liam</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1843456</commentid>
    <comment_count>0</comment_count>
      <attachid>452527</attachid>
    <who name="Liam Mitchell">mitchell.liam</who>
    <bug_when>2022-02-18 09:28:49 -0800</bug_when>
    <thetext>Created attachment 452527
Two reproducible examples

Extra params inside class field declarations cause ReferenceErrors.

Example 1:

;(() =&gt; {
  const a = (x) =&gt; x
  
  class B {
    c = a((&apos;OK&apos;));
  }

  // Should write &apos;OK&apos;
  document.write(new B().c)
})()

Throws ReferenceError: Can&apos;t find variable: a

Example 2:

;(() =&gt; {
  const a = &apos;OK&apos;

  class B {
    static c = {
      d: a,
      e: (1),
    }
  }

  // Should write &apos;OK&apos;
  document.write(B.c.d)
})()

Throws ReferenceError: Can&apos;t find variable: a

Tested on Safari TP 15.4, Safari 15.2, 15.3, iOS 14.5, 15.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843781</commentid>
    <comment_count>1</comment_count>
    <who name="Liam Mitchell">mitchell.liam</who>
    <bug_when>2022-02-18 21:18:20 -0800</bug_when>
    <thetext>This is only reproducible without dev tools. If dev tools is open, the code works as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1845369</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-23 15:41:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/89382583&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848385</commentid>
    <comment_count>3</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2022-03-04 13:29:30 -0800</bug_when>
    <thetext>Hi Liam,

Thanks for the report! Given that it doesn&apos;t happen with the DevTools open it sounds like this could be a JIT bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848386</commentid>
    <comment_count>4</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2022-03-04 13:30:25 -0800</bug_when>
    <thetext>Actually I&apos;m not so sure it&apos;s a JIT bug; you don&apos;t have any loops in the code you&apos;re running.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848390</commentid>
    <comment_count>5</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2022-03-04 13:38:21 -0800</bug_when>
    <thetext>Looks like we&apos;re failing to create a lexical environment when the extra parens are there for some reason...

(function foo() {
  const a = (x) =&gt; x

  class B {
//    c = a(&apos;OK&apos;);
      c = a((&apos;OK&apos;));
  }

  // Should write &apos;OK&apos;
  print(new B().c)
})()

produces the following byte code:

foo#CMKAuY:[0x1078f4130-&gt;0x107871300, NoneFunctionCall, 100]: 25 instructions (0 16-bit instructions, 0 32-bit instructions, 8 instructions with metadata); 216 bytes (116 metadata bytes); 1 parameter(s); 20 callee register(s); 7 variable(s); scope at loc4

bb#1
Predecessors: [ ]
[   0] enter
[   1] get_scope          dst:loc4
[   3] mov                dst:loc5, src:loc4
[   6] check_traps
[   7] mov                dst:loc6, src:callee
[  10] mov                dst:loc7, src:&lt;JSValue()&gt;(const0)
[  13] mov                dst:loc8, src:&lt;JSValue()&gt;(const0)
[  16] new_func_exp       dst:loc7, scope:loc4, functionDecl:0
[  20] mov                dst:loc9, src:&lt;JSValue()&gt;(const0)
[  23] new_func_exp       dst:loc10, scope:loc4, functionDecl:1
[  27] new_object         dst:loc11, inlineCapacity:0
[  31] define_data_property base:loc11, property:String (atomic),8Bit:(1),length:(11): constructor, StructureID: 16608(const1), value:loc10, attributes:Int32: 89(const2)
[  36] define_data_property base:loc10, property:String (atomic),8Bit:(1),length:(9): prototype, StructureID: 16608(const3), value:loc11, attributes:Int32: 74(const4)
[  41] new_func_exp       dst:loc12, scope:loc4, functionDecl:2
[  45] put_by_id          base:loc12, property:0, value:loc11, flags:Strict
[  51] put_by_id          base:loc10, property:1, value:loc12, flags:IsDirect|Strict
[  57] mov                dst:loc9, src:loc10
[  60] mov                dst:loc8, src:loc10
[  63] resolve_scope      dst:loc12, scope:loc4, var:2, resolveType:GlobalProperty, localScopeDepth:0
[  70] get_from_scope     dst:loc9, scope:loc12, var:2, getPutInfo:2048&lt;ThrowIfNotFound|GlobalProperty|NotInitialization|NotStrictMode&gt;, localScopeDepth:0, offset:0
[  78] mov                dst:loc14, src:loc8
[  81] construct          dst:loc13, callee:loc8, argc:1, argv:20
[  87] get_by_id          dst:loc11, base:loc13, property:3
[  92] call               dst:loc9, callee:loc9, argc:2, argv:18
[  98] ret                value:Undefined(const5)
Successors: [ ]

but if the comments are flipped we get:

foo#CpArJP:[0x103ff4130-&gt;0x103f71300, NoneFunctionCall, 113]: 27 instructions (0 16-bit instructions, 0 32-bit instructions, 9 instructions with metadata); 229 bytes (116 metadata bytes); 1 parameter(s); 20 callee register(s); 7 variable(s); scope at loc4

bb#1
Predecessors: [ ]
[   0] enter
[   1] get_scope          dst:loc4
[   3] mov                dst:loc5, src:loc4
[   6] check_traps
[   7] mov                dst:loc6, src:callee
[  10] create_lexical_environment dst:loc8, scope:loc4, symbolTable:Cell: 0x104100da8 (0x280004700:[0x4700/18176, SymbolTable, (0/0, 0/0){}, NonArray, Leaf]), StructureID: 18176(const0), initialValue:&lt;JSValue()&gt;(const1)
[  15] mov                dst:loc4, src:loc8
[  18] mov                dst:loc7, src:&lt;JSValue()&gt;(const1)
[  21] new_func_exp       dst:loc9, scope:loc4, functionDecl:0
[  25] put_to_scope       scope:loc8, var:0, value:loc9, getPutInfo:1049604&lt;DoNotThrowIfNotFound|ResolvedClosureVar|ConstInitialization|NotStrictMode&gt;, symbolTableOrScopeDepth:0, offset:0
[  33] mov                dst:loc9, src:&lt;JSValue()&gt;(const1)
[  36] new_func_exp       dst:loc10, scope:loc4, functionDecl:1
[  40] new_object         dst:loc11, inlineCapacity:0
[  44] define_data_property base:loc11, property:String (atomic),8Bit:(1),length:(11): constructor, StructureID: 16608(const2), value:loc10, attributes:Int32: 89(const3)
[  49] define_data_property base:loc10, property:String (atomic),8Bit:(1),length:(9): prototype, StructureID: 16608(const4), value:loc11, attributes:Int32: 74(const5)
[  54] new_func_exp       dst:loc12, scope:loc4, functionDecl:2
[  58] put_by_id          base:loc12, property:1, value:loc11, flags:Strict
[  64] put_by_id          base:loc10, property:2, value:loc12, flags:IsDirect|Strict
[  70] mov                dst:loc9, src:loc10
[  73] mov                dst:loc7, src:loc10
[  76] resolve_scope      dst:loc12, scope:loc4, var:3, resolveType:GlobalProperty, localScopeDepth:1
[  83] get_from_scope     dst:loc9, scope:loc12, var:3, getPutInfo:2048&lt;ThrowIfNotFound|GlobalProperty|NotInitialization|NotStrictMode&gt;, localScopeDepth:1, offset:0
[  91] mov                dst:loc14, src:loc7
[  94] construct          dst:loc13, callee:loc7, argc:1, argv:20
[ 100] get_by_id          dst:loc11, base:loc13, property:4
[ 105] call               dst:loc9, callee:loc9, argc:2, argv:18
[ 111] ret                value:Undefined(const6)
Successors: [ ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853133</commentid>
    <comment_count>6</comment_count>
      <attachid>455222</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-03-21 02:37:26 -0700</bug_when>
    <thetext>Created attachment 455222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853279</commentid>
    <comment_count>7</comment_count>
      <attachid>455222</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-03-21 12:04:15 -0700</bug_when>
    <thetext>Comment on attachment 455222
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853300</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-21 12:58:29 -0700</bug_when>
    <thetext>Committed r291577 (248677@main): &lt;https://commits.webkit.org/248677@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455222.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>452527</attachid>
            <date>2022-02-18 09:28:49 -0800</date>
            <delta_ts>2022-02-18 09:28:49 -0800</delta_ts>
            <desc>Two reproducible examples</desc>
            <filename>ReferenceError1.html</filename>
            <type>text/html</type>
            <size>501</size>
            <attacher name="Liam Mitchell">mitchell.liam</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPHRpdGxlPmlPUyBTYWZhcmkvV2ViS2l0IGNs
YXNzIHByb3BlcnR5IFJlZmVyZW5jZUVycm9yPC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp3aW5kb3cub25lcnJvciA9IChtZXNzYWdlKSA9PiB7
CiAgZG9jdW1lbnQud3JpdGUobWVzc2FnZSkgIAp9Cgo7KCgpID0+IHsKICBjb25zdCBhID0gKHgp
ID0+IHgKICAKICBjbGFzcyBCIHsKICAgIGMgPSBhKCgnT0snKSk7CiAgfQoKICAvLyBTaG91bGQg
d3JpdGUgJ09LJwogIGRvY3VtZW50LndyaXRlKG5ldyBCKCkuYykKfSkoKQoKOygoKSA9PiB7CiAg
Y29uc3QgYSA9ICdPSycKCiAgY2xhc3MgQiB7CiAgICBzdGF0aWMgYyA9IHsKICAgICAgZDogYSwK
ICAgICAgZTogKDEpLAogICAgfQogIH0KCiAgLy8gU2hvdWxkIHdyaXRlICdPSycKICBkb2N1bWVu
dC53cml0ZShCLmMuZCkKfSkoKQo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455222</attachid>
            <date>2022-03-21 02:37:26 -0700</date>
            <delta_ts>2022-03-21 12:58:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236843-20220321023725.patch</filename>
            <type>text/plain</type>
            <size>5337</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
ZWFkNTY5YTZiZDY2NDQ2ZmY5MTAwMmM1MWQyMjg0ODhiM2Q1YWRlLi4xYjFiMTU0YmE3OWNlMzkx
NTNlOWEyNTIzODgxNDUxYTkwMmY2YzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMi0wMy0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlZmVyZW5jZUVycm9yIHdoZW4gdXNpbmcgZXh0cmEgcGFyZW5z
IGluIGNsYXNzIGZpZWxkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2ODQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgY2xhc3MgZmllbGQgaW5pdGlhbGl6ZXIgc2hvdWxkIGNyZWF0ZSBpdHMgb3duIHVz
ZWQtdmFyaWFibGVzIHNldAorICAgICAgICB0byBjYXB0dXJlIHVzZWQgdmFyaWFibGVzIHNlcGFy
YXRlbHkgZnJvbSB0aGUgb3RoZXIgdmFyaWFibGVzIHNpbmNlCisgICAgICAgIGl0IGJlY29tZXMg
aW5kZXBlbmRlbnQgQ29kZUJsb2NrIGludGVybmFsbHkgbGF0ZXIuIFRoZSBjdXJyZW50IGNvZGUK
KyAgICAgICAgd2FzIHdyb25nIHNpbmNlLAorCisgICAgICAgICAgICAxLiBJbmNvcnJlY3RseSB1
c2luZyB0aGUgY3VycmVudCBzZXQgb2YgY2xhc3Mtc2NvcGUuCisgICAgICAgICAgICAyLiBJbmNv
cnJlY3RseSBtYXJraW5nIG9ubHkgdGhlIGxhc3Qgc2V0IHdoaWxlIHBhcnNlQXNzaWdubWVudEV4
cHJlc3Npb24gY2FuIGNyZWF0ZSBhIG5ldyBzZXQgaW5zaWRlIGl0LgorCisgICAgICAgICogcGFy
c2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNs
YXNzKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgIChKU0M6OlNjb3BlOjpt
YXJrTGFzdFVzZWRWYXJpYWJsZXNTZXRBc0NhcHR1cmVkKToKKwogMjAyMi0wMy0xOCAgWXVzdWtl
IFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEZ1cnRoZXIgcmVk
dWNlICMgb2YgcmVnaXN0ZXJzIHVzZWQgaW4gUmVnRXhwVGVzdElubGluZQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDUwMzkzZGE4OGQxZWMzMDY0NGVhZTAzMGMx
YTE1YjIzY2I2ZGM4MWEuLjU1MjZmNWM5YTEyNTAwODEzM2U5MThlMjZlZjMyNDdhODVkZTIzODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTMxMTAsMTIgKzMx
MTAsMTQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKIAogICAgICAgICAgICAgVHJlZUV4cHJl
c3Npb24gaW5pdGlhbGl6ZXIgPSAwOwogICAgICAgICAgICAgaWYgKGNvbnN1bWUoRVFVQUwpKSB7
CisgICAgICAgICAgICAgICAgc2l6ZV90IHVzZWRWYXJpYWJsZXNTaXplID0gY3VycmVudFNjb3Bl
KCktPmN1cnJlbnRVc2VkVmFyaWFibGVzU2l6ZSgpOworICAgICAgICAgICAgICAgIGN1cnJlbnRT
Y29wZSgpLT5wdXNoVXNlZFZhcmlhYmxlU2V0KCk7CiAgICAgICAgICAgICAgICAgU2V0Rm9yU2Nv
cGUgb3ZlcnJpZGVQYXJzaW5nQ2xhc3NGaWVsZEluaXRpYWxpemVyKG1fcGFyc2VyU3RhdGUuaXNQ
YXJzaW5nQ2xhc3NGaWVsZEluaXRpYWxpemVyLCB0cnVlKTsKICAgICAgICAgICAgICAgICBjbGFz
c1Njb3BlLT5zZXRFeHBlY3RlZFN1cGVyQmluZGluZyhTdXBlckJpbmRpbmc6Ok5lZWRlZCk7CiAg
ICAgICAgICAgICAgICAgaW5pdGlhbGl6ZXIgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNv
bnRleHQpOwogICAgICAgICAgICAgICAgIGNsYXNzU2NvcGUtPnNldEV4cGVjdGVkU3VwZXJCaW5k
aW5nKFN1cGVyQmluZGluZzo6Tm90TmVlZGVkKTsKICAgICAgICAgICAgICAgICBmYWlsSWZGYWxz
ZShpbml0aWFsaXplciwgIkNhbm5vdCBwYXJzZSBpbml0aWFsaXplciBmb3IgY2xhc3MgZmllbGQi
KTsKLSAgICAgICAgICAgICAgICBjbGFzc1Njb3BlLT5tYXJrTGFzdFVzZWRWYXJpYWJsZXNTZXRB
c0NhcHR1cmVkKCk7CisgICAgICAgICAgICAgICAgY2xhc3NTY29wZS0+bWFya0xhc3RVc2VkVmFy
aWFibGVzU2V0QXNDYXB0dXJlZCh1c2VkVmFyaWFibGVzU2l6ZSk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBmYWlsSWZGYWxzZShhdXRvU2VtaUNvbG9uKCksICJFeHBlY3RlZCBhICc7JyBm
b2xsb3dpbmcgYSBjbGFzcyBmaWVsZCIpOwogICAgICAgICAgICAgYXV0byBpbmZlck5hbWUgPSBp
bml0aWFsaXplciA/IEluZmVyTmFtZTo6QWxsb3dlZCA6IEluZmVyTmFtZTo6RGlzYWxsb3dlZDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDE3MDRkMzU4NDJjMWMzNzZi
ODliMzcxNWVmYzZlNWNiMGRjNzc0MWEuLjMzOGZjMGIyYTcxYWVkNzYyZWViOTExMTQ2YjdmZGFl
NDExNjBlYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtNjYzLDEw
ICs2NjMsMTIgQEAgc3RydWN0IFNjb3BlIHsKICAgICAgICAgbV9jbG9zZWRWYXJpYWJsZUNhbmRp
ZGF0ZXMuYWRkKGltcGwpOwogICAgIH0KIAotICAgIHZvaWQgbWFya0xhc3RVc2VkVmFyaWFibGVz
U2V0QXNDYXB0dXJlZCgpCisgICAgdm9pZCBtYXJrTGFzdFVzZWRWYXJpYWJsZXNTZXRBc0NhcHR1
cmVkKHVuc2lnbmVkIGZyb20pCiAgICAgewotICAgICAgICBmb3IgKFVuaXF1ZWRTdHJpbmdJbXBs
KiBpbXBsIDogbV91c2VkVmFyaWFibGVzLmxhc3QoKSkKLSAgICAgICAgICAgIG1fY2xvc2VkVmFy
aWFibGVDYW5kaWRhdGVzLmFkZChpbXBsKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9
IGZyb207IGluZGV4IDwgbV91c2VkVmFyaWFibGVzLnNpemUoKTsgKytpbmRleCkgeworICAgICAg
ICAgICAgZm9yIChVbmlxdWVkU3RyaW5nSW1wbCogaW1wbCA6IG1fdXNlZFZhcmlhYmxlc1tpbmRl
eF0pCisgICAgICAgICAgICAgICAgbV9jbG9zZWRWYXJpYWJsZUNhbmRpZGF0ZXMuYWRkKGltcGwp
OworICAgICAgICB9CiAgICAgfQogICAgIAogICAgIHZvaWQgY29sbGVjdEZyZWVWYXJpYWJsZXMo
U2NvcGUqIG5lc3RlZFNjb3BlLCBib29sIHNob3VsZFRyYWNrQ2xvc2VkVmFyaWFibGVzKQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAxMDFm
ZWEwZTEwOGQyZjEyMTIzMDgyZDU0NDc0MzBhMmIyNDI4NDkzLi4xNWQ5YTE3ZjFiYTA3NDEwMzFh
YzU4N2U0ZjZiYTE1MzNkNzI1ZmZkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysg
Yi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIyLTAzLTIxICBZdXN1a2Ug
U3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTQ10gUmVmZXJlbmNlRXJy
b3Igd2hlbiB1c2luZyBleHRyYSBwYXJlbnMgaW4gY2xhc3MgZmllbGRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY4NDMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9jbGFzcy1maWVsZC1p
bml0aWFsaXplci1zaG91bGQtaGF2ZS12YXJpYWJsZS1zY29wZS5qczogQWRkZWQuCisgICAgICAg
IChzaG91bGRCZSk6CisgICAgICAgICh0ZXN0MS5jb25zdC5hLnguQik6CisgICAgICAgICh0ZXN0
MSk6CisgICAgICAgICh0ZXN0Mi5jb25zdC5hLnguQik6CisgICAgICAgICh0ZXN0Mik6CisgICAg
ICAgICh0ZXN0My5CLnByb3RvdHlwZS5iKToKKyAgICAgICAgKHRlc3QzLkIpOgorICAgICAgICAo
dGVzdDMpOgorCiAyMDIyLTAzLTA4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgaW52YWxpZCBBU1NFUlQgaW4gTG9jYWxlSURCdWlsZGVyOjpvdmVycmlk
ZUxhbmd1YWdlU2NyaXB0UmVnaW9uKCkuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9jbGFz
cy1maWVsZC1pbml0aWFsaXplci1zaG91bGQtaGF2ZS12YXJpYWJsZS1zY29wZS5qcyBiL0pTVGVz
dHMvc3RyZXNzL2NsYXNzLWZpZWxkLWluaXRpYWxpemVyLXNob3VsZC1oYXZlLXZhcmlhYmxlLXNj
b3BlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI2MTM3YzcxNjhkODk2MGQ4YjE0NjQxMjhkOTVjZDY2NGViY2E1
ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9jbGFzcy1maWVsZC1pbml0aWFs
aXplci1zaG91bGQtaGF2ZS12YXJpYWJsZS1zY29wZS5qcwpAQCAtMCwwICsxLDM3IEBACitmdW5j
dGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsK
K30KKworKGZ1bmN0aW9uIHRlc3QxKCkgeworICAgIGNvbnN0IGEgPSAoeCkgPT4geAorCisgICAg
Y2xhc3MgQiB7CisgICAgICAgIGMgPSBhKCdPSycpOworICAgIH0KKworICAgIHNob3VsZEJlKG5l
dyBCKCkuYywgIk9LIik7Cit9KSgpOworCisoZnVuY3Rpb24gdGVzdDIoKSB7CisgICAgY29uc3Qg
YSA9ICh4KSA9PiB4CisKKyAgICBjbGFzcyBCIHsKKyAgICAgICAgYyA9IGEoKCdPSycpKTsKKyAg
ICB9CisKKyAgICBzaG91bGRCZShuZXcgQigpLmMsICJPSyIpOworfSkoKTsKKworKGZ1bmN0aW9u
IHRlc3QzKCkgeworICAgIGNvbnN0IGEgPSAoeCkgPT4geDsKKyAgICBjb25zdCBiID0gJ29rJzsK
KworICAgIGNsYXNzIEIgeworICAgICAgICBbYl0oKSB7IHJldHVybiA0MjsgfQorICAgICAgICBj
ID0gYSgnT0snKTsKKyAgICB9CisKKyAgICBzaG91bGRCZShuZXcgQigpLmMsICJPSyIpOworICAg
IHNob3VsZEJlKG5ldyBCKCkub2soKSwgNDIpOworfSkoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>