<?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>149001</bug_id>
          
          <creation_ts>2015-09-09 07:11:02 -0700</creation_ts>
          <short_desc>ES6 classes: When a class extends B, super() invokes B.prototype.constructor() instead of B()</short_desc>
          <delta_ts>2015-10-11 11:47:31 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>140491</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Claude Pache">claude.pache</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>ljharb</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1124614</commentid>
    <comment_count>0</comment_count>
    <who name="Claude Pache">claude.pache</who>
    <bug_when>2015-09-09 07:11:02 -0700</bug_when>
    <thetext>Testcase:

```js
var called = null
class B { constructor() { called = &apos;B&apos; } }
class C extends B {}
B.prototype.constructor = function F() { called = &apos;F&apos; }

new C
called // should be &apos;B&apos;, is &apos;F&apos;

```

It seems to me that JSC follows an old drafted semantics of `super()`, when it was equivalent to `super.constructor()`.


For reference, see the runtime semantics of `SuperCall : super Arguments` in the final spec:

    http://www.ecma-international.org/ecma-262/6.0/#sec-super-keyword-runtime-semantics-evaluation

and pay attention to the definition of GetSuperConstructor():

   http://www.ecma-international.org/ecma-262/6.0/#sec-getsuperconstructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132226</commentid>
    <comment_count>1</comment_count>
      <attachid>262857</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-10-11 04:29:31 -0700</bug_when>
    <thetext>Created attachment 262857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132227</commentid>
    <comment_count>2</comment_count>
      <attachid>262858</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-10-11 04:30:56 -0700</bug_when>
    <thetext>Created attachment 262858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132237</commentid>
    <comment_count>3</comment_count>
      <attachid>262858</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-10-11 09:55:57 -0700</bug_when>
    <thetext>Comment on attachment 262858
Patch

r=me
Does the latest spec change the &quot;emitSuperBaseForCallee&quot; static function in BytecodeGenerator?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132244</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-10-11 10:41:07 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 262858 [details]
&gt; Patch
&gt; 
&gt; r=me
&gt; Does the latest spec change the &quot;emitSuperBaseForCallee&quot; static function in
&gt; BytecodeGenerator?

Yup. emitSuperBaseForCallee is correct in the latest spec :)
http://ecma-international.org/ecma-262/6.0/#sec-getsuperbase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132246</commentid>
    <comment_count>5</comment_count>
      <attachid>262858</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-11 11:47:26 -0700</bug_when>
    <thetext>Comment on attachment 262858
Patch

Clearing flags on attachment: 262858

Committed r190847: &lt;http://trac.webkit.org/changeset/190847&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132247</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-11 11:47:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262857</attachid>
            <date>2015-10-11 04:29:31 -0700</date>
            <delta_ts>2015-10-11 04:30:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149001-20151011202856.patch</filename>
            <type>text/plain</type>
            <size>12882</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
YjczMmYzMTQwZjg5MjMzN2RjYTI4NjQ2MDk4OTljNjAxNzVlNzA1Li4zMzgyNGIzMzk4NDQ1M2Jk
YTYyYzUwMTVkMWYzOWU4NTRjOWYyMmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNS0xMC0xMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBFUzYgY2xhc3NlczogV2hlbiBhIGNsYXNzIGV4dGVuZHMgQiwgc3Vw
ZXIoKSBpbnZva2VzIEIucHJvdG90eXBlLmNvbnN0cnVjdG9yKCkgaW5zdGVhZCBvZiBCKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTAwMQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OlN1cGVyTm9kZTo6ZW1pdEJ5dGVj
b2RlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvc3VwZXItY2FsbC1kb2VzLW5vdC1sb29rLXVw
LWNvbnN0cnVjdG9yLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKEIp
OgorICAgICAgICAoQyk6CisgICAgICAgIChCLnByb3RvdHlwZSk6CisKIDIwMTUtMTAtMTAgIEFu
ZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZHVjZSBwb2ludGxl
c3MgbWFsbG9jIHRyYWZmaWMgaW4gQ29kZUJsb2NrIGNvbnN0cnVjdGlvbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCBh
M2U1ZjU2NGFiOGM0MmE5ZDBhMjI2MmI1YTc0OTcxMzhkOWFiYzNiLi41YWJjMDA0MzcwN2RiOGEy
ZDIwMDhjOGQ5NzM5ZWMzNmJlNGRmMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0xNjcsOSArMTY3LDcgQEAgUmVn
aXN0ZXJJRCogU3VwZXJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVy
YXRvciwgUmVnaXN0ZXJJRCogZHMKICAgICBSZWdpc3RlcklEIGNhbGxlZTsKICAgICBjYWxsZWUu
c2V0SW5kZXgoSlNTdGFjazo6Q2FsbGVlKTsKIAotICAgIFJlZlB0cjxSZWdpc3RlcklEPiBob21l
T2JqZWN0ID0gZ2VuZXJhdG9yLmVtaXRHZXRCeUlkKGdlbmVyYXRvci5uZXdUZW1wb3JhcnkoKSwg
JmNhbGxlZSwgZ2VuZXJhdG9yLnByb3BlcnR5TmFtZXMoKS5ob21lT2JqZWN0UHJpdmF0ZU5hbWUp
OwotICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm90b1BhcmVudCA9IGdlbmVyYXRvci5lbWl0R2V0
QnlJZChnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCksIGhvbWVPYmplY3QuZ2V0KCksIGdlbmVyYXRv
ci5wcm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvKTsKLSAgICByZXR1cm4gZ2VuZXJhdG9y
LmVtaXRHZXRCeUlkKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHByb3RvUGFyZW50
LmdldCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yKTsKKyAgICByZXR1
cm4gZ2VuZXJhdG9yLmVtaXRHZXRCeUlkKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCks
ICZjYWxsZWUsIGdlbmVyYXRvci5wcm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvKTsKIH0K
IAogc3RhdGljIFJlZ2lzdGVySUQqIGVtaXRTdXBlckJhc2VGb3JDYWxsZWUoQnl0ZWNvZGVHZW5l
cmF0b3ImIGdlbmVyYXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3Mvc3VwZXItY2FsbC1kb2VzLW5vdC1sb29rLXVwLWNvbnN0cnVjdG9yLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zdXBlci1jYWxsLWRvZXMtbm90LWxvb2st
dXAtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWExNDI0OTk5NGQ2NDg2YzFjN2M4ZTZkMTU5
Yzc1NzNmOTMzYzBjZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3Mvc3VwZXItY2FsbC1kb2VzLW5vdC1sb29rLXVwLWNvbnN0cnVjdG9yLmpzCkBA
IC0wLDAgKzEsMjAgQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAg
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQg
dmFsdWU6ICcgKyBhY3R1YWwpOworfQorCit2YXIgY2FsbGVkID0gbnVsbDsKK2NsYXNzIEIgewor
ICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICBjYWxsZWQgPSAnQic7CisgICAgfQorfQorCitj
bGFzcyBDIGV4dGVuZHMgQiB7Cit9CitCLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGZ1bmN0aW9u
IEYoKSB7CisgICAgY2FsbGVkID0gJ0YnOworfTsKKworbmV3IEMoKTsKK3Nob3VsZEJlKGNhbGxl
ZCwgJ0InKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAxMWJhZDFlOGQ2NzY3M2RkOWE2ZGI5MThkNmJkZjQxODE2ODIwNDc5
Li4wYjVhNDZhZTc5Mzk2ZWE2OGJhNWYyZTgwNzE1ZGU1ZmE1YTYzNmQ5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjQgQEAKKzIwMTUtMTAtMTEgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5j
b20+CisKKyAgICAgICAgRVM2IGNsYXNzZXM6IFdoZW4gYSBjbGFzcyBleHRlbmRzIEIsIHN1cGVy
KCkgaW52b2tlcyBCLnByb3RvdHlwZS5jb25zdHJ1Y3RvcigpIGluc3RlYWQgb2YgQigpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkwMDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1h
dGNoZXMgdGhlIGBzdXBlcigpYCBjYWxsIGluIHRoZSBjb25zdHJ1Y3RvciB0byB0aGUgbGF0ZXN0
IHNwZWMuCisgICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCB3aGVuIGNhbGxpbmcgYHN1cGVyKClg
LCBpdCBsb2FkcyBgY2FsbGVlLltbSG9tZU9iamVjdF1dLl9fcHJvdG9fXy5jb25zdHJ1Y3RvcmAK
KyAgICAgICAgYXMgYSBzdXBlciBjb25zdHJ1Y3Rvci4gQnV0IGFmdGVyIHRoaXMgcGF0Y2gsIGl0
IGxvYWRzIGBjYWxsZWUuX19wcm90b19fYCBhcyBhIHN1cGVyIGNvbnN0cnVjdG9yLgorICAgICAg
ICBUaGlzIGJlaGF2aW9yIGNvcnJlc3BvbmRzIHRvIHRoZSBzZWN0aW9uIDEyLjMuNS4yWzFdLgor
CisgICAgICAgIFsxXTogaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYy
LzYuMC8jc2VjLWdldHN1cGVyY29uc3RydWN0b3IKKworICAgICAgICAqIGpzL2NsYXNzLXN5bnRh
eC1jYWxsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9jbGFzcy1zeW50YXgtZXh0ZW5kcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICoganMvY2xhc3Mtc3ludGF4LXN1cGVyLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LWNhbGwuanM6CisgICAg
ICAgICoganMvc2NyaXB0LXRlc3RzL2NsYXNzLXN5bnRheC1leHRlbmRzLmpzOgorICAgICAgICAq
IGpzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtc3VwZXIuanM6CisKIDIwMTUtMTAtMTAgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJld3JpdGUgSFRNTERl
dGFpbHNFbGVtZW50IHVzaW5nIEhUTUxTbG90RWxlbWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvanMvY2xhc3Mtc3ludGF4LWNhbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvY2xh
c3Mtc3ludGF4LWNhbGwtZXhwZWN0ZWQudHh0CmluZGV4IDc4NzA0ZjNmZDMyYzFmZTJkZDM4NmNh
ZjVhNTM2NjUxMTYxZGY1MzcuLjRhODg1MGE1MzZmZjBhODY5YjBlOWE1ZmY3ODZmNjFjZjkzNjJk
NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1jYWxsLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9qcy9jbGFzcy1zeW50YXgtY2FsbC1leHBlY3RlZC50eHQK
QEAgLTksNyArOSw3IEBAIFBBU1MgbmV3IEIKIFBBU1MgQigpOjo6IlR5cGVFcnJvcjogQ2Fubm90
IGNhbGwgYSBjbGFzcyBjb25zdHJ1Y3RvciIKIFBBU1MgbmV3IChjbGFzcyB7IGNvbnN0cnVjdG9y
KCkge30gfSkoKQogUEFTUyAoY2xhc3MgeyBjb25zdHJ1Y3RvcigpIHt9IH0pKCk6OjoiVHlwZUVy
cm9yOiBDYW5ub3QgY2FsbCBhIGNsYXNzIGNvbnN0cnVjdG9yIgotUEFTUyBuZXcgKGNsYXNzIGV4
dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH0gfSkoKTo6OiJUeXBlRXJyb3I6
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdzdXBlcigpJykiCitQQVNT
IG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHN1cGVyKCkgfSB9KSgp
Ojo6IlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J3N1cGVyKCknKSIKIFBBU1MgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yKCkgeyBz
dXBlcigpIH0gfSkoKTo6OiJUeXBlRXJyb3I6IENhbm5vdCBjYWxsIGEgY2xhc3MgY29uc3RydWN0
b3IiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1leHRlbmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2pzL2NsYXNzLXN5bnRheC1leHRlbmRzLWV4cGVjdGVkLnR4dAppbmRleCA2OTBjYTM5ZjA4NDFi
ZTI0NDg1MzZjNDkxMzI1MDRjMDgzZTE5NmQ2Li5kMWIyYWRhZGY2NTNlZjA1YThkNDllNzVhYjY4
NzQzNGZmZGE0ZmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9jbGFzcy1zeW50YXgtZXh0
ZW5kcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvY2xhc3Mtc3ludGF4LWV4dGVu
ZHMtZXhwZWN0ZWQudHh0CkBAIC01OCw3ICs1OCw3IEBAIFBBU1MgbmV3IChjbGFzcyBleHRlbmRz
IHVuZGVmaW5lZCB7IGNvbnN0cnVjdG9yICgpIHsgdGhpcyB9IH0pOjo6VHlwZUVycm9yOiBUaGUK
IFBBU1MgeCA9IHVuZGVmaW5lZDsgbmV3IChjbGFzcyBleHRlbmRzIHggeyBjb25zdHJ1Y3RvciAo
KSB7IHN1cGVyKCk7IH0gfSk6OjpUeXBlRXJyb3I6IFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhbiBv
YmplY3QuCiBQQVNTIGNsYXNzIHgge307IG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3Ry
dWN0b3IgKCkgeyByZXR1cm4gbmV3IHg7IH0gfSkgaW5zdGFuY2VvZiB4CiBQQVNTIG5ldyAoY2xh
c3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IgKCkgeyB0aGlzOyB9IH0pOjo6UmVmZXJlbmNl
RXJyb3I6IENhbm5vdCBhY2Nlc3MgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KLVBBU1MgbmV3IChj
bGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvciAoKSB7IHN1cGVyKCk7IH0gfSk6OjpUeXBl
RXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdzdXBlcigpJykK
K1BBU1MgbmV3IChjbGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvciAoKSB7IHN1cGVyKCk7
IH0gfSk6OjpUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0
aW5nICdzdXBlcigpJykKIFBBU1MgeCA9IHt9OyBuZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNv
bnN0cnVjdG9yICgpIHsgcmV0dXJuIHggfSB9KTo6OngKIFBBU1MgeSA9IDEyOyBuZXcgKGNsYXNz
IGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yICgpIHsgcmV0dXJuIHk7IH0gfSk6OjpUeXBlRXJy
b3I6IENhbm5vdCByZXR1cm4gYSBub24tb2JqZWN0IHR5cGUgaW4gdGhlIGNvbnN0cnVjdG9yIG9m
IGEgZGVyaXZlZCBjbGFzcy4KIFBBU1MgY2xhc3MgeCB7fTsgbmV3IChjbGFzcyBleHRlbmRzIG51
bGwgeyBjb25zdHJ1Y3RvciAoKSB7IHJldHVybiBuZXcgeDsgfSB9KSBpbnN0YW5jZW9mIHgKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1zdXBlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9qcy9jbGFzcy1zeW50YXgtc3VwZXItZXhwZWN0ZWQudHh0CmluZGV4IDc2
YjViMGI3ZjU1YjdmNzMyMmRkZjdjY2Y3NjAzOThmZGM5ZDNmNGYuLmYyOGM5YmFiZGY3ZDEwNmM3
MmY0NzZhNzk4OTIxNmI1ODA3NzRmNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2NsYXNz
LXN5bnRheC1zdXBlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvY2xhc3Mtc3lu
dGF4LXN1cGVyLWV4cGVjdGVkLnR4dApAQCAtMjksMTIgKzI5LDEyIEBAIFBBU1MgeCBpbnN0YW5j
ZW9mIEJhc2UKIFBBU1MgbmV3IChjbGFzcyBleHRlbmRzIEJhc2UgeyBjb25zdHJ1Y3RvcigpIHsg
fSB9KTo6OlJlZmVyZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFi
bGUuCiBQQVNTIG5ldyAoY2xhc3MgZXh0ZW5kcyBCYXNlIHsgY29uc3RydWN0b3IoKSB7IHJldHVy
biAxOyB9IH0pOjo6VHlwZUVycm9yOiBDYW5ub3QgcmV0dXJuIGEgbm9uLW9iamVjdCB0eXBlIGlu
IHRoZSBjb25zdHJ1Y3RvciBvZiBhIGRlcml2ZWQgY2xhc3MuCiBQQVNTIG5ldyAoY2xhc3MgZXh0
ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHJldHVybiB1bmRlZmluZWQgfSB9KTo6OlJlZmVy
ZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCi1QQVNTIG5l
dyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHN1cGVyKCk7IHJldHVybiB1
bmRlZmluZWQgfSB9KTo6OlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ3N1cGVyKCknKQorUEFTUyBuZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0
cnVjdG9yKCkgeyBzdXBlcigpOyByZXR1cm4gdW5kZWZpbmVkIH0gfSk6OjpUeXBlRXJyb3I6IGZ1
bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdzdXBlcigpJykKIFBBU1Mg
eCA9IHsgfTsgbmV3IChjbGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvcigpIHsgcmV0dXJu
IHggfSB9KTs6Ojp4CiBQQVNTIHggaW5zdGFuY2VvZiBPYmplY3QKIFBBU1MgbmV3IChjbGFzcyBl
eHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvcigpIHsgfSB9KTo6OlJlZmVyZW5jZUVycm9yOiBDYW5u
b3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCiBQQVNTIG5ldyAoY2xhc3MgZXh0ZW5k
cyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHJldHVybiAxOyB9IH0pOjo6VHlwZUVycm9yOiBDYW5u
b3QgcmV0dXJuIGEgbm9uLW9iamVjdCB0eXBlIGluIHRoZSBjb25zdHJ1Y3RvciBvZiBhIGRlcml2
ZWQgY2xhc3MuCi1QQVNTIG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7
IHN1cGVyKCkgfSB9KTo6OlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ3N1cGVyKCknKQorUEFTUyBuZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0
cnVjdG9yKCkgeyBzdXBlcigpIH0gfSk6OjpUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNv
bnN0cnVjdG9yIChldmFsdWF0aW5nICdzdXBlcigpJykKIFBBU1MgbmV3IChjbGFzcyB7IGNvbnN0
cnVjdG9yKCkgeyBzdXBlcigpIH0gfSk6OjpTeW50YXhFcnJvcjogQ2Fubm90IGNhbGwgc3VwZXIo
KSBpbiBhIGJhc2UgY2xhc3MgY29uc3RydWN0b3IuCiBQQVNTIGZ1bmN0aW9uIHgoKSB7IHN1cGVy
KCk7IH06OjpTeW50YXhFcnJvcjogQ2Fubm90IGNhbGwgc3VwZXIoKSBvdXRzaWRlIG9mIGEgY2xh
c3MgY29uc3RydWN0b3IuCiBQQVNTIG5ldyAoY2xhc3MgZXh0ZW5kcyBPYmplY3QgeyBjb25zdHJ1
Y3RvcigpIHsgZnVuY3Rpb24geCgpIHsgc3VwZXIoKSB9IH0gfSk6OjpTeW50YXhFcnJvcjogQ2Fu
bm90IGNhbGwgc3VwZXIoKSBvdXRzaWRlIG9mIGEgY2xhc3MgY29uc3RydWN0b3IuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LWNhbGwuanMgYi9M
YXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LWNhbGwuanMKaW5kZXggODdj
NGFjYjc5MWMxYmZhMzhkNzQxN2ZmMDgzMTBiNTkzZDRhNjYzMS4uNjY4YjAwOGUzOGZjYTU2MmZi
YTM5YmM3ZDc0ZTljYjU0YTllM2JkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0
LXRlc3RzL2NsYXNzLXN5bnRheC1jYWxsLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10
ZXN0cy9jbGFzcy1zeW50YXgtY2FsbC5qcwpAQCAtMzcsNyArMzcsNyBAQCBmdW5jdGlvbiBzaG91
bGROb3RUaHJvdyhzKSB7CiBzaG91bGRUaHJvdygnQigpJywgJyJUeXBlRXJyb3I6IENhbm5vdCBj
YWxsIGEgY2xhc3MgY29uc3RydWN0b3IiJyk7CiBzaG91bGROb3RUaHJvdygnbmV3IChjbGFzcyB7
IGNvbnN0cnVjdG9yKCkge30gfSkoKScpOwogc2hvdWxkVGhyb3coJyhjbGFzcyB7IGNvbnN0cnVj
dG9yKCkge30gfSkoKScsICciVHlwZUVycm9yOiBDYW5ub3QgY2FsbCBhIGNsYXNzIGNvbnN0cnVj
dG9yIicpOwotc2hvdWxkVGhyb3coJ25ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0
b3IoKSB7IHN1cGVyKCkgfSB9KSgpJywgJyJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nIFwnc3VwZXIoKVwnKSInKTsKK3Nob3VsZFRocm93KCduZXcgKGNs
YXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH0gfSkoKScsICciVHlw
ZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyBcJ3N1cGVy
KClcJykiJyk7CiBzaG91bGRUaHJvdygnKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9y
KCkgeyBzdXBlcigpIH0gfSkoKScsICciVHlwZUVycm9yOiBDYW5ub3QgY2FsbCBhIGNsYXNzIGNv
bnN0cnVjdG9yIicpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtZXh0ZW5kcy5qcyBi
L0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtZXh0ZW5kcy5qcwppbmRl
eCBmYjEwODMwNGZhOWJlMGZkNGNkNDhjY2FjZTg4ODQwMTg3Yzg1MjIyLi4yZDY0OWFjZWE4NWYz
OWJmNmVhMTFhMWI5NjIwNDJkYjcwMzk2MGIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9z
Y3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LWV4dGVuZHMuanMKKysrIGIvTGF5b3V0VGVzdHMvanMv
c2NyaXB0LXRlc3RzL2NsYXNzLXN5bnRheC1leHRlbmRzLmpzCkBAIC0xMTYsNyArMTE2LDcgQEAg
ZnVuY3Rpb24gc2hvdWxkQmVUcnVlKHMpIHsKIHNob3VsZFRocm93KCd4ID0gdW5kZWZpbmVkOyBu
ZXcgKGNsYXNzIGV4dGVuZHMgeCB7IGNvbnN0cnVjdG9yICgpIHsgc3VwZXIoKTsgfSB9KScsICci
VHlwZUVycm9yOiBUaGUgc3VwZXJjbGFzcyBpcyBub3QgYW4gb2JqZWN0LiInKTsKIHNob3VsZEJl
VHJ1ZSAoJ2NsYXNzIHgge307IG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3Ig
KCkgeyByZXR1cm4gbmV3IHg7IH0gfSkgaW5zdGFuY2VvZiB4Jyk7CiBzaG91bGRUaHJvdygnbmV3
IChjbGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvciAoKSB7IHRoaXM7IH0gfSknLCAnIlJl
ZmVyZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuIicpOwot
c2hvdWxkVGhyb3coJ25ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IgKCkgeyBz
dXBlcigpOyB9IH0pJywgJyJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nIFwnc3VwZXIoKVwnKSInKTsKK3Nob3VsZFRocm93KCduZXcgKGNsYXNzIGV4dGVu
ZHMgbnVsbCB7IGNvbnN0cnVjdG9yICgpIHsgc3VwZXIoKTsgfSB9KScsICciVHlwZUVycm9yOiBm
dW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyBcJ3N1cGVyKClcJykiJyk7
CiBzaG91bGRCZSgneCA9IHt9OyBuZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9y
ICgpIHsgcmV0dXJuIHggfSB9KScsICd4Jyk7CiBzaG91bGRUaHJvdygneSA9IDEyOyBuZXcgKGNs
YXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yICgpIHsgcmV0dXJuIHk7IH0gfSknLCAnIlR5
cGVFcnJvcjogQ2Fubm90IHJldHVybiBhIG5vbi1vYmplY3QgdHlwZSBpbiB0aGUgY29uc3RydWN0
b3Igb2YgYSBkZXJpdmVkIGNsYXNzLiInKTsKIHNob3VsZEJlVHJ1ZSAoJ2NsYXNzIHgge307IG5l
dyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IgKCkgeyByZXR1cm4gbmV3IHg7IH0g
fSkgaW5zdGFuY2VvZiB4Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVz
dHMvY2xhc3Mtc3ludGF4LXN1cGVyLmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Ns
YXNzLXN5bnRheC1zdXBlci5qcwppbmRleCAyMjU2YzUwNjQyN2U5OTQxZDg0OWY0MjZmM2NjMzIy
YjQ4YThiODJmLi4wODgyM2Y2NWZhMGQ2MTY1NWY2NDBjMGY4MTFlNTYwN2M5NDg4YTA0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LXN1cGVyLmpz
CisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtc3VwZXIuanMK
QEAgLTEwMywxMiArMTAzLDEyIEBAIGZ1bmN0aW9uIHNob3VsZEJlRmFsc2Uocykgewogc2hvdWxk
VGhyb3coJ25ldyAoY2xhc3MgZXh0ZW5kcyBCYXNlIHsgY29uc3RydWN0b3IoKSB7IH0gfSknLCAn
IlJlZmVyZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuIicp
Owogc2hvdWxkVGhyb3coJ25ldyAoY2xhc3MgZXh0ZW5kcyBCYXNlIHsgY29uc3RydWN0b3IoKSB7
IHJldHVybiAxOyB9IH0pJywgJyJUeXBlRXJyb3I6IENhbm5vdCByZXR1cm4gYSBub24tb2JqZWN0
IHR5cGUgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIGEgZGVyaXZlZCBjbGFzcy4iJyk7CiBzaG91bGRU
aHJvdygnbmV3IChjbGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvcigpIHsgcmV0dXJuIHVu
ZGVmaW5lZCB9IH0pJyk7Ci1zaG91bGRUaHJvdygnbmV3IChjbGFzcyBleHRlbmRzIG51bGwgeyBj
b25zdHJ1Y3RvcigpIHsgc3VwZXIoKTsgcmV0dXJuIHVuZGVmaW5lZCB9IH0pJywgJyJUeXBlRXJy
b3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nIFwnc3VwZXIoKVwnKSIn
KTsKK3Nob3VsZFRocm93KCduZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yKCkg
eyBzdXBlcigpOyByZXR1cm4gdW5kZWZpbmVkIH0gfSknLCAnIlR5cGVFcnJvcjogZnVuY3Rpb24g
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgXCdzdXBlcigpXCcpIicpOwogc2hvdWxk
QmUoJ3ggPSB7IH07IG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHJl
dHVybiB4IH0gfSk7JywgJ3gnKTsKIHNob3VsZEJlVHJ1ZSgneCBpbnN0YW5jZW9mIE9iamVjdCcp
Owogc2hvdWxkVGhyb3coJ25ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7
IH0gfSknLCAnIlJlZmVyZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFy
aWFibGUuIicpOwogc2hvdWxkVGhyb3coJ25ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3Ry
dWN0b3IoKSB7IHJldHVybiAxOyB9IH0pJywgJyJUeXBlRXJyb3I6IENhbm5vdCByZXR1cm4gYSBu
b24tb2JqZWN0IHR5cGUgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIGEgZGVyaXZlZCBjbGFzcy4iJyk7
Ci1zaG91bGRUaHJvdygnbmV3IChjbGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvcigpIHsg
c3VwZXIoKSB9IH0pJywgJyJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nIFwnc3VwZXIoKVwnKSInKTsKK3Nob3VsZFRocm93KCduZXcgKGNsYXNzIGV4dGVu
ZHMgbnVsbCB7IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH0gfSknLCAnIlR5cGVFcnJvcjogZnVu
Y3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgXCdzdXBlcigpXCcpIicpOwog
c2hvdWxkVGhyb3coJ25ldyAoY2xhc3MgeyBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKSB9IH0pJywg
JyJTeW50YXhFcnJvcjogQ2Fubm90IGNhbGwgc3VwZXIoKSBpbiBhIGJhc2UgY2xhc3MgY29uc3Ry
dWN0b3IuIicpOwogc2hvdWxkVGhyb3coJ2Z1bmN0aW9uIHgoKSB7IHN1cGVyKCk7IH0nLCAnIlN5
bnRheEVycm9yOiBDYW5ub3QgY2FsbCBzdXBlcigpIG91dHNpZGUgb2YgYSBjbGFzcyBjb25zdHJ1
Y3Rvci4iJyk7CiBzaG91bGRUaHJvdygnbmV3IChjbGFzcyBleHRlbmRzIE9iamVjdCB7IGNvbnN0
cnVjdG9yKCkgeyBmdW5jdGlvbiB4KCkgeyBzdXBlcigpIH0gfSB9KScsICciU3ludGF4RXJyb3I6
IENhbm5vdCBjYWxsIHN1cGVyKCkgb3V0c2lkZSBvZiBhIGNsYXNzIGNvbnN0cnVjdG9yLiInKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262858</attachid>
            <date>2015-10-11 04:30:56 -0700</date>
            <delta_ts>2015-10-11 11:47:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149001-20151011203021.patch</filename>
            <type>text/plain</type>
            <size>12927</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
YjczMmYzMTQwZjg5MjMzN2RjYTI4NjQ2MDk4OTljNjAxNzVlNzA1Li4zOWFkMWU4ZjJjMjUxNGVm
ZGEyMTQwZDk3Yzk2NWE1YzhjODRiY2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNS0xMC0xMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBFUzYgY2xhc3NlczogV2hlbiBhIGNsYXNzIGV4dGVuZHMgQiwgc3Vw
ZXIoKSBpbnZva2VzIEIucHJvdG90eXBlLmNvbnN0cnVjdG9yKCkgaW5zdGVhZCBvZiBCKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTAwMQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
bWF0Y2hlcyB0aGUgYHN1cGVyKClgIGNhbGwgaW4gdGhlIGNvbnN0cnVjdG9yIHRvIHRoZSBsYXRl
c3Qgc3BlYy4KKyAgICAgICAgQmVmb3JlIHRoaXMgcGF0Y2gsIHdoZW4gY2FsbGluZyBgc3VwZXIo
KWAsIGl0IGxvYWRzIGBjYWxsZWUuW1tIb21lT2JqZWN0XV0uX19wcm90b19fLmNvbnN0cnVjdG9y
YAorICAgICAgICBhcyBhIHN1cGVyIGNvbnN0cnVjdG9yLiBCdXQgYWZ0ZXIgdGhpcyBwYXRjaCwg
aXQgbG9hZHMgYGNhbGxlZS5fX3Byb3RvX19gIGFzIGEgc3VwZXIgY29uc3RydWN0b3IuCisgICAg
ICAgIFRoaXMgYmVoYXZpb3IgY29ycmVzcG9uZHMgdG8gdGhlIHNlY3Rpb24gMTIuMy41LjJbMV0u
CisKKyAgICAgICAgWzFdOiBodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0y
NjIvNi4wLyNzZWMtZ2V0c3VwZXJjb25zdHJ1Y3RvcgorCisgICAgICAgICogYnl0ZWNvbXBpbGVy
L05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OlN1cGVyTm9kZTo6ZW1pdEJ5dGVjb2Rl
KToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvc3VwZXItY2FsbC1kb2VzLW5vdC1sb29rLXVwLWNv
bnN0cnVjdG9yLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKEIpOgor
ICAgICAgICAoQyk6CisgICAgICAgIChCLnByb3RvdHlwZSk6CisKIDIwMTUtMTAtMTAgIEFuZHJl
YXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZHVjZSBwb2ludGxlc3Mg
bWFsbG9jIHRyYWZmaWMgaW4gQ29kZUJsb2NrIGNvbnN0cnVjdGlvbi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCBhM2U1
ZjU2NGFiOGM0MmE5ZDBhMjI2MmI1YTc0OTcxMzhkOWFiYzNiLi41YWJjMDA0MzcwN2RiOGEyZDIw
MDhjOGQ5NzM5ZWMzNmJlNGRmMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0xNjcsOSArMTY3LDcgQEAgUmVnaXN0
ZXJJRCogU3VwZXJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRv
ciwgUmVnaXN0ZXJJRCogZHMKICAgICBSZWdpc3RlcklEIGNhbGxlZTsKICAgICBjYWxsZWUuc2V0
SW5kZXgoSlNTdGFjazo6Q2FsbGVlKTsKIAotICAgIFJlZlB0cjxSZWdpc3RlcklEPiBob21lT2Jq
ZWN0ID0gZ2VuZXJhdG9yLmVtaXRHZXRCeUlkKGdlbmVyYXRvci5uZXdUZW1wb3JhcnkoKSwgJmNh
bGxlZSwgZ2VuZXJhdG9yLnByb3BlcnR5TmFtZXMoKS5ob21lT2JqZWN0UHJpdmF0ZU5hbWUpOwot
ICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm90b1BhcmVudCA9IGdlbmVyYXRvci5lbWl0R2V0QnlJ
ZChnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCksIGhvbWVPYmplY3QuZ2V0KCksIGdlbmVyYXRvci5w
cm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvKTsKLSAgICByZXR1cm4gZ2VuZXJhdG9yLmVt
aXRHZXRCeUlkKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHByb3RvUGFyZW50Lmdl
dCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yKTsKKyAgICByZXR1cm4g
Z2VuZXJhdG9yLmVtaXRHZXRCeUlkKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksICZj
YWxsZWUsIGdlbmVyYXRvci5wcm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvKTsKIH0KIAog
c3RhdGljIFJlZ2lzdGVySUQqIGVtaXRTdXBlckJhc2VGb3JDYWxsZWUoQnl0ZWNvZGVHZW5lcmF0
b3ImIGdlbmVyYXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3Mvc3VwZXItY2FsbC1kb2VzLW5vdC1sb29rLXVwLWNvbnN0cnVjdG9yLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zdXBlci1jYWxsLWRvZXMtbm90LWxvb2stdXAt
Y29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWExNDI0OTk5NGQ2NDg2YzFjN2M4ZTZkMTU5Yzc1
NzNmOTMzYzBjZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3Mvc3VwZXItY2FsbC1kb2VzLW5vdC1sb29rLXVwLWNvbnN0cnVjdG9yLmpzCkBAIC0w
LDAgKzEsMjAgQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFs
dWU6ICcgKyBhY3R1YWwpOworfQorCit2YXIgY2FsbGVkID0gbnVsbDsKK2NsYXNzIEIgeworICAg
IGNvbnN0cnVjdG9yKCkgeworICAgICAgICBjYWxsZWQgPSAnQic7CisgICAgfQorfQorCitjbGFz
cyBDIGV4dGVuZHMgQiB7Cit9CitCLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGZ1bmN0aW9uIEYo
KSB7CisgICAgY2FsbGVkID0gJ0YnOworfTsKKworbmV3IEMoKTsKK3Nob3VsZEJlKGNhbGxlZCwg
J0InKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAxMWJhZDFlOGQ2NzY3M2RkOWE2ZGI5MThkNmJkZjQxODE2ODIwNDc5Li4z
OWQxMGZhZGZlODdkYTE0ZDVjZjliMDFiMWE0ZTI0NTFjMDdjZWJmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTUtMTAtMTEgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
CisKKyAgICAgICAgRVM2IGNsYXNzZXM6IFdoZW4gYSBjbGFzcyBleHRlbmRzIEIsIHN1cGVyKCkg
aW52b2tlcyBCLnByb3RvdHlwZS5jb25zdHJ1Y3RvcigpIGluc3RlYWQgb2YgQigpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkwMDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbiBlcnJvciBtZXNzYWdl
IGJlY29tZXMgY2hhbmdlZC4KKworICAgICAgICAqIGpzL2NsYXNzLXN5bnRheC1jYWxsLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBqcy9jbGFzcy1zeW50YXgtZXh0ZW5kcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICoganMvY2xhc3Mtc3ludGF4LXN1cGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBqcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LWNhbGwuanM6CisgICAgICAgICoganMvc2Ny
aXB0LXRlc3RzL2NsYXNzLXN5bnRheC1leHRlbmRzLmpzOgorICAgICAgICAqIGpzL3NjcmlwdC10
ZXN0cy9jbGFzcy1zeW50YXgtc3VwZXIuanM6CisKIDIwMTUtMTAtMTAgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJld3JpdGUgSFRNTERldGFpbHNFbGVtZW50
IHVzaW5nIEhUTUxTbG90RWxlbWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvY2xhc3Mt
c3ludGF4LWNhbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvY2xhc3Mtc3ludGF4LWNh
bGwtZXhwZWN0ZWQudHh0CmluZGV4IDc4NzA0ZjNmZDMyYzFmZTJkZDM4NmNhZjVhNTM2NjUxMTYx
ZGY1MzcuLjRhODg1MGE1MzZmZjBhODY5YjBlOWE1ZmY3ODZmNjFjZjkzNjJkNTkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1jYWxsLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9qcy9jbGFzcy1zeW50YXgtY2FsbC1leHBlY3RlZC50eHQKQEAgLTksNyArOSw3
IEBAIFBBU1MgbmV3IEIKIFBBU1MgQigpOjo6IlR5cGVFcnJvcjogQ2Fubm90IGNhbGwgYSBjbGFz
cyBjb25zdHJ1Y3RvciIKIFBBU1MgbmV3IChjbGFzcyB7IGNvbnN0cnVjdG9yKCkge30gfSkoKQog
UEFTUyAoY2xhc3MgeyBjb25zdHJ1Y3RvcigpIHt9IH0pKCk6OjoiVHlwZUVycm9yOiBDYW5ub3Qg
Y2FsbCBhIGNsYXNzIGNvbnN0cnVjdG9yIgotUEFTUyBuZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7
IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH0gfSkoKTo6OiJUeXBlRXJyb3I6IHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdzdXBlcigpJykiCitQQVNTIG5ldyAoY2xhc3Mg
ZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHN1cGVyKCkgfSB9KSgpOjo6IlR5cGVFcnJv
cjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ3N1cGVyKCknKSIK
IFBBU1MgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH0gfSko
KTo6OiJUeXBlRXJyb3I6IENhbm5vdCBjYWxsIGEgY2xhc3MgY29uc3RydWN0b3IiCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2Ns
YXNzLXN5bnRheC1leHRlbmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5
bnRheC1leHRlbmRzLWV4cGVjdGVkLnR4dAppbmRleCA2OTBjYTM5ZjA4NDFiZTI0NDg1MzZjNDkx
MzI1MDRjMDgzZTE5NmQ2Li5kMWIyYWRhZGY2NTNlZjA1YThkNDllNzVhYjY4NzQzNGZmZGE0ZmEx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9jbGFzcy1zeW50YXgtZXh0ZW5kcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvY2xhc3Mtc3ludGF4LWV4dGVuZHMtZXhwZWN0ZWQu
dHh0CkBAIC01OCw3ICs1OCw3IEBAIFBBU1MgbmV3IChjbGFzcyBleHRlbmRzIHVuZGVmaW5lZCB7
IGNvbnN0cnVjdG9yICgpIHsgdGhpcyB9IH0pOjo6VHlwZUVycm9yOiBUaGUKIFBBU1MgeCA9IHVu
ZGVmaW5lZDsgbmV3IChjbGFzcyBleHRlbmRzIHggeyBjb25zdHJ1Y3RvciAoKSB7IHN1cGVyKCk7
IH0gfSk6OjpUeXBlRXJyb3I6IFRoZSBzdXBlcmNsYXNzIGlzIG5vdCBhbiBvYmplY3QuCiBQQVNT
IGNsYXNzIHgge307IG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IgKCkgeyBy
ZXR1cm4gbmV3IHg7IH0gfSkgaW5zdGFuY2VvZiB4CiBQQVNTIG5ldyAoY2xhc3MgZXh0ZW5kcyBu
dWxsIHsgY29uc3RydWN0b3IgKCkgeyB0aGlzOyB9IH0pOjo6UmVmZXJlbmNlRXJyb3I6IENhbm5v
dCBhY2Nlc3MgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KLVBBU1MgbmV3IChjbGFzcyBleHRlbmRz
IG51bGwgeyBjb25zdHJ1Y3RvciAoKSB7IHN1cGVyKCk7IH0gfSk6OjpUeXBlRXJyb3I6IHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdzdXBlcigpJykKK1BBU1MgbmV3IChj
bGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvciAoKSB7IHN1cGVyKCk7IH0gfSk6OjpUeXBl
RXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdzdXBlcigp
JykKIFBBU1MgeCA9IHt9OyBuZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yICgp
IHsgcmV0dXJuIHggfSB9KTo6OngKIFBBU1MgeSA9IDEyOyBuZXcgKGNsYXNzIGV4dGVuZHMgbnVs
bCB7IGNvbnN0cnVjdG9yICgpIHsgcmV0dXJuIHk7IH0gfSk6OjpUeXBlRXJyb3I6IENhbm5vdCBy
ZXR1cm4gYSBub24tb2JqZWN0IHR5cGUgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIGEgZGVyaXZlZCBj
bGFzcy4KIFBBU1MgY2xhc3MgeCB7fTsgbmV3IChjbGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1
Y3RvciAoKSB7IHJldHVybiBuZXcgeDsgfSB9KSBpbnN0YW5jZW9mIHgKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1zdXBlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9qcy9jbGFzcy1zeW50YXgtc3VwZXItZXhwZWN0ZWQudHh0CmluZGV4IDc2YjViMGI3ZjU1Yjdm
NzMyMmRkZjdjY2Y3NjAzOThmZGM5ZDNmNGYuLmYyOGM5YmFiZGY3ZDEwNmM3MmY0NzZhNzk4OTIx
NmI1ODA3NzRmNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2NsYXNzLXN5bnRheC1zdXBl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvY2xhc3Mtc3ludGF4LXN1cGVyLWV4
cGVjdGVkLnR4dApAQCAtMjksMTIgKzI5LDEyIEBAIFBBU1MgeCBpbnN0YW5jZW9mIEJhc2UKIFBB
U1MgbmV3IChjbGFzcyBleHRlbmRzIEJhc2UgeyBjb25zdHJ1Y3RvcigpIHsgfSB9KTo6OlJlZmVy
ZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCiBQQVNTIG5l
dyAoY2xhc3MgZXh0ZW5kcyBCYXNlIHsgY29uc3RydWN0b3IoKSB7IHJldHVybiAxOyB9IH0pOjo6
VHlwZUVycm9yOiBDYW5ub3QgcmV0dXJuIGEgbm9uLW9iamVjdCB0eXBlIGluIHRoZSBjb25zdHJ1
Y3RvciBvZiBhIGRlcml2ZWQgY2xhc3MuCiBQQVNTIG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsg
Y29uc3RydWN0b3IoKSB7IHJldHVybiB1bmRlZmluZWQgfSB9KTo6OlJlZmVyZW5jZUVycm9yOiBD
YW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCi1QQVNTIG5ldyAoY2xhc3MgZXh0
ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHN1cGVyKCk7IHJldHVybiB1bmRlZmluZWQgfSB9
KTo6OlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3N1
cGVyKCknKQorUEFTUyBuZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yKCkgeyBz
dXBlcigpOyByZXR1cm4gdW5kZWZpbmVkIH0gfSk6OjpUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5v
dCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdzdXBlcigpJykKIFBBU1MgeCA9IHsgfTsgbmV3
IChjbGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvcigpIHsgcmV0dXJuIHggfSB9KTs6Ojp4
CiBQQVNTIHggaW5zdGFuY2VvZiBPYmplY3QKIFBBU1MgbmV3IChjbGFzcyBleHRlbmRzIG51bGwg
eyBjb25zdHJ1Y3RvcigpIHsgfSB9KTo6OlJlZmVyZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVu
aW5pdGlhbGl6ZWQgdmFyaWFibGUuCiBQQVNTIG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29u
c3RydWN0b3IoKSB7IHJldHVybiAxOyB9IH0pOjo6VHlwZUVycm9yOiBDYW5ub3QgcmV0dXJuIGEg
bm9uLW9iamVjdCB0eXBlIGluIHRoZSBjb25zdHJ1Y3RvciBvZiBhIGRlcml2ZWQgY2xhc3MuCi1Q
QVNTIG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHN1cGVyKCkgfSB9
KTo6OlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3N1
cGVyKCknKQorUEFTUyBuZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yKCkgeyBz
dXBlcigpIH0gfSk6OjpUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChl
dmFsdWF0aW5nICdzdXBlcigpJykKIFBBU1MgbmV3IChjbGFzcyB7IGNvbnN0cnVjdG9yKCkgeyBz
dXBlcigpIH0gfSk6OjpTeW50YXhFcnJvcjogQ2Fubm90IGNhbGwgc3VwZXIoKSBpbiBhIGJhc2Ug
Y2xhc3MgY29uc3RydWN0b3IuCiBQQVNTIGZ1bmN0aW9uIHgoKSB7IHN1cGVyKCk7IH06OjpTeW50
YXhFcnJvcjogQ2Fubm90IGNhbGwgc3VwZXIoKSBvdXRzaWRlIG9mIGEgY2xhc3MgY29uc3RydWN0
b3IuCiBQQVNTIG5ldyAoY2xhc3MgZXh0ZW5kcyBPYmplY3QgeyBjb25zdHJ1Y3RvcigpIHsgZnVu
Y3Rpb24geCgpIHsgc3VwZXIoKSB9IH0gfSk6OjpTeW50YXhFcnJvcjogQ2Fubm90IGNhbGwgc3Vw
ZXIoKSBvdXRzaWRlIG9mIGEgY2xhc3MgY29uc3RydWN0b3IuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9qcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LWNhbGwuanMgYi9MYXlvdXRUZXN0cy9q
cy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LWNhbGwuanMKaW5kZXggODdjNGFjYjc5MWMxYmZh
MzhkNzQxN2ZmMDgzMTBiNTkzZDRhNjYzMS4uNjY4YjAwOGUzOGZjYTU2MmZiYTM5YmM3ZDc0ZTlj
YjU0YTllM2JkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2NsYXNz
LXN5bnRheC1jYWxsLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1z
eW50YXgtY2FsbC5qcwpAQCAtMzcsNyArMzcsNyBAQCBmdW5jdGlvbiBzaG91bGROb3RUaHJvdyhz
KSB7CiBzaG91bGRUaHJvdygnQigpJywgJyJUeXBlRXJyb3I6IENhbm5vdCBjYWxsIGEgY2xhc3Mg
Y29uc3RydWN0b3IiJyk7CiBzaG91bGROb3RUaHJvdygnbmV3IChjbGFzcyB7IGNvbnN0cnVjdG9y
KCkge30gfSkoKScpOwogc2hvdWxkVGhyb3coJyhjbGFzcyB7IGNvbnN0cnVjdG9yKCkge30gfSko
KScsICciVHlwZUVycm9yOiBDYW5ub3QgY2FsbCBhIGNsYXNzIGNvbnN0cnVjdG9yIicpOwotc2hv
dWxkVGhyb3coJ25ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHN1cGVy
KCkgfSB9KSgpJywgJyJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nIFwnc3VwZXIoKVwnKSInKTsKK3Nob3VsZFRocm93KCduZXcgKGNsYXNzIGV4dGVuZHMg
bnVsbCB7IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpIH0gfSkoKScsICciVHlwZUVycm9yOiBmdW5j
dGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyBcJ3N1cGVyKClcJykiJyk7CiBz
aG91bGRUaHJvdygnKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigp
IH0gfSkoKScsICciVHlwZUVycm9yOiBDYW5ub3QgY2FsbCBhIGNsYXNzIGNvbnN0cnVjdG9yIicp
OwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtZXh0ZW5kcy5qcyBiL0xheW91dFRlc3Rz
L2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtZXh0ZW5kcy5qcwppbmRleCBmYjEwODMwNGZh
OWJlMGZkNGNkNDhjY2FjZTg4ODQwMTg3Yzg1MjIyLi4yZDY0OWFjZWE4NWYzOWJmNmVhMTFhMWI5
NjIwNDJkYjcwMzk2MGIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
Y2xhc3Mtc3ludGF4LWV4dGVuZHMuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L2NsYXNzLXN5bnRheC1leHRlbmRzLmpzCkBAIC0xMTYsNyArMTE2LDcgQEAgZnVuY3Rpb24gc2hv
dWxkQmVUcnVlKHMpIHsKIHNob3VsZFRocm93KCd4ID0gdW5kZWZpbmVkOyBuZXcgKGNsYXNzIGV4
dGVuZHMgeCB7IGNvbnN0cnVjdG9yICgpIHsgc3VwZXIoKTsgfSB9KScsICciVHlwZUVycm9yOiBU
aGUgc3VwZXJjbGFzcyBpcyBub3QgYW4gb2JqZWN0LiInKTsKIHNob3VsZEJlVHJ1ZSAoJ2NsYXNz
IHgge307IG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IgKCkgeyByZXR1cm4g
bmV3IHg7IH0gfSkgaW5zdGFuY2VvZiB4Jyk7CiBzaG91bGRUaHJvdygnbmV3IChjbGFzcyBleHRl
bmRzIG51bGwgeyBjb25zdHJ1Y3RvciAoKSB7IHRoaXM7IH0gfSknLCAnIlJlZmVyZW5jZUVycm9y
OiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuIicpOwotc2hvdWxkVGhyb3co
J25ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IgKCkgeyBzdXBlcigpOyB9IH0p
JywgJyJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nIFwn
c3VwZXIoKVwnKSInKTsKK3Nob3VsZFRocm93KCduZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNv
bnN0cnVjdG9yICgpIHsgc3VwZXIoKTsgfSB9KScsICciVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBu
b3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyBcJ3N1cGVyKClcJykiJyk7CiBzaG91bGRCZSgn
eCA9IHt9OyBuZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yICgpIHsgcmV0dXJu
IHggfSB9KScsICd4Jyk7CiBzaG91bGRUaHJvdygneSA9IDEyOyBuZXcgKGNsYXNzIGV4dGVuZHMg
bnVsbCB7IGNvbnN0cnVjdG9yICgpIHsgcmV0dXJuIHk7IH0gfSknLCAnIlR5cGVFcnJvcjogQ2Fu
bm90IHJldHVybiBhIG5vbi1vYmplY3QgdHlwZSBpbiB0aGUgY29uc3RydWN0b3Igb2YgYSBkZXJp
dmVkIGNsYXNzLiInKTsKIHNob3VsZEJlVHJ1ZSAoJ2NsYXNzIHgge307IG5ldyAoY2xhc3MgZXh0
ZW5kcyBudWxsIHsgY29uc3RydWN0b3IgKCkgeyByZXR1cm4gbmV3IHg7IH0gfSkgaW5zdGFuY2Vv
ZiB4Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3lu
dGF4LXN1cGVyLmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2NsYXNzLXN5bnRheC1z
dXBlci5qcwppbmRleCAyMjU2YzUwNjQyN2U5OTQxZDg0OWY0MjZmM2NjMzIyYjQ4YThiODJmLi4w
ODgyM2Y2NWZhMGQ2MTY1NWY2NDBjMGY4MTFlNTYwN2M5NDg4YTA0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvY2xhc3Mtc3ludGF4LXN1cGVyLmpzCisrKyBiL0xheW91
dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9jbGFzcy1zeW50YXgtc3VwZXIuanMKQEAgLTEwMywxMiAr
MTAzLDEyIEBAIGZ1bmN0aW9uIHNob3VsZEJlRmFsc2Uocykgewogc2hvdWxkVGhyb3coJ25ldyAo
Y2xhc3MgZXh0ZW5kcyBCYXNlIHsgY29uc3RydWN0b3IoKSB7IH0gfSknLCAnIlJlZmVyZW5jZUVy
cm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuIicpOwogc2hvdWxkVGhy
b3coJ25ldyAoY2xhc3MgZXh0ZW5kcyBCYXNlIHsgY29uc3RydWN0b3IoKSB7IHJldHVybiAxOyB9
IH0pJywgJyJUeXBlRXJyb3I6IENhbm5vdCByZXR1cm4gYSBub24tb2JqZWN0IHR5cGUgaW4gdGhl
IGNvbnN0cnVjdG9yIG9mIGEgZGVyaXZlZCBjbGFzcy4iJyk7CiBzaG91bGRUaHJvdygnbmV3IChj
bGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvcigpIHsgcmV0dXJuIHVuZGVmaW5lZCB9IH0p
Jyk7Ci1zaG91bGRUaHJvdygnbmV3IChjbGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3Rvcigp
IHsgc3VwZXIoKTsgcmV0dXJuIHVuZGVmaW5lZCB9IH0pJywgJyJUeXBlRXJyb3I6IHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nIFwnc3VwZXIoKVwnKSInKTsKK3Nob3VsZFRo
cm93KCduZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpOyBy
ZXR1cm4gdW5kZWZpbmVkIH0gfSknLCAnIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29u
c3RydWN0b3IgKGV2YWx1YXRpbmcgXCdzdXBlcigpXCcpIicpOwogc2hvdWxkQmUoJ3ggPSB7IH07
IG5ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHJldHVybiB4IH0gfSk7
JywgJ3gnKTsKIHNob3VsZEJlVHJ1ZSgneCBpbnN0YW5jZW9mIE9iamVjdCcpOwogc2hvdWxkVGhy
b3coJ25ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IH0gfSknLCAnIlJl
ZmVyZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuIicpOwog
c2hvdWxkVGhyb3coJ25ldyAoY2xhc3MgZXh0ZW5kcyBudWxsIHsgY29uc3RydWN0b3IoKSB7IHJl
dHVybiAxOyB9IH0pJywgJyJUeXBlRXJyb3I6IENhbm5vdCByZXR1cm4gYSBub24tb2JqZWN0IHR5
cGUgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIGEgZGVyaXZlZCBjbGFzcy4iJyk7Ci1zaG91bGRUaHJv
dygnbmV3IChjbGFzcyBleHRlbmRzIG51bGwgeyBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKSB9IH0p
JywgJyJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nIFwn
c3VwZXIoKVwnKSInKTsKK3Nob3VsZFRocm93KCduZXcgKGNsYXNzIGV4dGVuZHMgbnVsbCB7IGNv
bnN0cnVjdG9yKCkgeyBzdXBlcigpIH0gfSknLCAnIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90
IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgXCdzdXBlcigpXCcpIicpOwogc2hvdWxkVGhyb3co
J25ldyAoY2xhc3MgeyBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKSB9IH0pJywgJyJTeW50YXhFcnJv
cjogQ2Fubm90IGNhbGwgc3VwZXIoKSBpbiBhIGJhc2UgY2xhc3MgY29uc3RydWN0b3IuIicpOwog
c2hvdWxkVGhyb3coJ2Z1bmN0aW9uIHgoKSB7IHN1cGVyKCk7IH0nLCAnIlN5bnRheEVycm9yOiBD
YW5ub3QgY2FsbCBzdXBlcigpIG91dHNpZGUgb2YgYSBjbGFzcyBjb25zdHJ1Y3Rvci4iJyk7CiBz
aG91bGRUaHJvdygnbmV3IChjbGFzcyBleHRlbmRzIE9iamVjdCB7IGNvbnN0cnVjdG9yKCkgeyBm
dW5jdGlvbiB4KCkgeyBzdXBlcigpIH0gfSB9KScsICciU3ludGF4RXJyb3I6IENhbm5vdCBjYWxs
IHN1cGVyKCkgb3V0c2lkZSBvZiBhIGNsYXNzIGNvbnN0cnVjdG9yLiInKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>