<?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>144678</bug_id>
          
          <creation_ts>2015-05-06 02:38:10 -0700</creation_ts>
          <short_desc>FunctionCallBracketNode should store the base value to the temporary when subscript has assignment</short_desc>
          <delta_ts>2015-05-07 15:37:25 -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>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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1092120</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-06 02:38:10 -0700</bug_when>
    <thetext>Currently, FunctionCallBracketNode directly use the RegisterID returned by emitNode.
But if the base part is the local register and the subscript part has assignment to it, the base result is accidentally rewritten.

function t() { var ok = {null: function () { } }; ok[ok = null](); }
t();  // Should not throw error.

Seeing the code, we need to use emitNodeForLeftHandSide.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092128</commentid>
    <comment_count>1</comment_count>
      <attachid>252467</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-06 04:16:52 -0700</bug_when>
    <thetext>Created attachment 252467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092179</commentid>
    <comment_count>2</comment_count>
      <attachid>252481</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-06 09:37:11 -0700</bug_when>
    <thetext>Created attachment 252481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092180</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-06 09:37:23 -0700</bug_when>
    <thetext>Added more tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092182</commentid>
    <comment_count>4</comment_count>
      <attachid>252481</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-05-06 09:41:41 -0700</bug_when>
    <thetext>Comment on attachment 252481
Patch

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

Added comments to the patch for ease of review.

&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:709
&gt; +        base = emitSuperBaseForCallee(generator);

Since super is not variable (so rewriting super cannot be done) and its return value is always temporary register, in this case, we need not to take care.

&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:712
&gt; +            base = generator.emitNode(m_base);

When the subscript is string, evaluating it has no side effect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092646</commentid>
    <comment_count>5</comment_count>
      <attachid>252481</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-05-07 11:04:49 -0700</bug_when>
    <thetext>Comment on attachment 252481
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092802</commentid>
    <comment_count>6</comment_count>
      <attachid>252481</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-07 15:37:19 -0700</bug_when>
    <thetext>Comment on attachment 252481
Patch

Clearing flags on attachment: 252481

Committed r183955: &lt;http://trac.webkit.org/changeset/183955&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092803</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-07 15:37:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252467</attachid>
            <date>2015-05-06 04:16:52 -0700</date>
            <delta_ts>2015-05-06 09:37:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144678-20150506201535.patch</filename>
            <type>text/plain</type>
            <size>9033</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzODY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MTk3NDgyNjgzZDNkMDg5NjE0NjhkZjVmZTk1ZTc0YzBhMjIxZWE5Li43NGYwZmRmYWU1NTJjNjEz
MTcxYTk5ZjVjZDZlMjMzNDZkODVmYjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAxNS0wNS0wNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZSBzaG91bGQgc3RvcmUgdGhl
IGJhc2UgdmFsdWUgdG8gdGhlIHRlbXBvcmFyeSB3aGVuIHN1YnNjcmlwdCBoYXMgYXNzaWdubWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0Njc4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVu
dGx5LCBGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZSBkaXJlY3RseSB1c2UgdGhlIFJlZ2lzdGVySUQg
cmV0dXJuZWQgYnkgZW1pdE5vZGUuCisgICAgICAgIEJ1dCBpZiB0aGUgYmFzZSBwYXJ0IGlzIHRo
ZSBsb2NhbCByZWdpc3RlciBhbmQgdGhlIHN1YnNjcmlwdCBwYXJ0IGhhcyBhc3NpZ25tZW50IHRv
IGl0LCB0aGUgYmFzZSByZXN1bHQgaXMgYWNjaWRlbnRhbGx5IHJld3JpdHRlbi4KKworICAgICAg
ICBmdW5jdGlvbiB0KCkgeyB2YXIgb2sgPSB7bnVsbDogZnVuY3Rpb24gKCkgeyB9IH07IG9rW29r
ID0gbnVsbF0oKTsgfQorICAgICAgICB0KCk7ICAvLyBTaG91bGQgbm90IHRocm93IGVycm9yLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggdGFrZXMgY2FyZSBhYm91dCBgc3Vic2NyaXB0SGFzQXNzaWdu
bWVudGAuCisgICAgICAgIEJ5IHVzaW5nIGBlbWl0Tm9kZUZvckxlZnRIYW5kU2lkZWAsIHdoZW4g
dGhlcmUncyBhc3NpZ25tZW50IHRvIGxvY2FsIHZhcmlhYmxlcyBpbiBSSFMsCisgICAgICAgIGl0
IGNvcnJlY3RseSBtb3ZlcyB0aGUgTEhTIHZhbHVlIHRvIGEgdGVtcG9yYXJ5IHJlZ2lzdGVyLgor
CisgICAgICAgICogYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6
OkZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlOjplbWl0Qnl0ZWNvZGUpOgorICAgICAgICAqIHBhcnNl
ci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6Om1ha2VGdW5jdGlvbkNh
bGxOb2RlKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAo
SlNDOjpGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZTo6RnVuY3Rpb25DYWxsQnJhY2tldE5vZGUpOgor
ICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hc3NpZ25t
ZW50LWluLWZ1bmN0aW9uLWNhbGwtYnJhY2tldC1ub2RlLmpzOiBBZGRlZC4KKyAgICAgICAgKHNo
b3VsZEJlKToKKyAgICAgICAgKHNob3VsZEJlLik6CisKIDIwMTUtMDUtMDUgIEZpbGlwIFBpemxv
ICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBQdXRHbG9iYWxWYXIgc2hvdWxkbid0IGhh
dmUgYW4gdW5jb25kaXRpb25hbCBzdG9yZSBiYXJyaWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMDI5MGM4MWFiMDk3
M2NlZDA2ZDVhNmRmZTc4YzIyNTE5NmIyMmIyZi4uOGZlNWIyOTA2NWJlNmU3YWUwMWZkZWQ3NTM1
NTZmNGI1MDVjZWU4NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtNzAyLDEwICs3MDIsMjggQEAgUmVnaXN0ZXJJRCog
Qnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY19wdXRCeVZhbERpcmVjdChCeXRl
Y29kZUdlbmVyYXQKIFJlZ2lzdGVySUQqIEZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlOjplbWl0Qnl0
ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQogewog
ICAgIGJvb2wgYmFzZUlzU3VwZXIgPSBtX2Jhc2UtPmlzU3VwZXJOb2RlKCk7Ci0gICAgUmVmUHRy
PFJlZ2lzdGVySUQ+IGJhc2UgPSBiYXNlSXNTdXBlciA/IGVtaXRTdXBlckJhc2VGb3JDYWxsZWUo
Z2VuZXJhdG9yKSA6IGdlbmVyYXRvci5lbWl0Tm9kZShtX2Jhc2UpOwotICAgIFJlZlB0cjxSZWdp
c3RlcklEPiBwcm9wZXJ0eSA9IGdlbmVyYXRvci5lbWl0Tm9kZShtX3N1YnNjcmlwdCk7Ci0gICAg
Z2VuZXJhdG9yLmVtaXRFeHByZXNzaW9uSW5mbyhzdWJleHByZXNzaW9uRGl2b3QoKSwgc3ViZXhw
cmVzc2lvblN0YXJ0KCksIHN1YmV4cHJlc3Npb25FbmQoKSk7Ci0gICAgUmVmUHRyPFJlZ2lzdGVy
SUQ+IGZ1bmN0aW9uID0gZ2VuZXJhdG9yLmVtaXRHZXRCeVZhbChnZW5lcmF0b3IudGVtcERlc3Rp
bmF0aW9uKGRzdCksIGJhc2UuZ2V0KCksIHByb3BlcnR5LmdldCgpKTsKKyAgICBib29sIHN1YnNj
cmlwdElzU3RyaW5nID0gbV9zdWJzY3JpcHQtPmlzU3RyaW5nKCk7CisKKyAgICBSZWZQdHI8UmVn
aXN0ZXJJRD4gYmFzZTsKKyAgICBpZiAoYmFzZUlzU3VwZXIpCisgICAgICAgIGJhc2UgPSBlbWl0
U3VwZXJCYXNlRm9yQ2FsbGVlKGdlbmVyYXRvcik7CisgICAgZWxzZSB7CisgICAgICAgIGlmIChz
dWJzY3JpcHRJc1N0cmluZykKKyAgICAgICAgICAgIGJhc2UgPSBnZW5lcmF0b3IuZW1pdE5vZGUo
bV9iYXNlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgYmFzZSA9IGdlbmVyYXRvci5lbWl0
Tm9kZUZvckxlZnRIYW5kU2lkZShtX2Jhc2UsIG1fc3Vic2NyaXB0SGFzQXNzaWdubWVudHMsIG1f
c3Vic2NyaXB0LT5pc1B1cmUoZ2VuZXJhdG9yKSk7CisgICAgfQorCisgICAgUmVmUHRyPFJlZ2lz
dGVySUQ+IGZ1bmN0aW9uOworICAgIGlmIChzdWJzY3JpcHRJc1N0cmluZykgeworICAgICAgICBn
ZW5lcmF0b3IuZW1pdEV4cHJlc3Npb25JbmZvKHN1YmV4cHJlc3Npb25EaXZvdCgpLCBzdWJleHBy
ZXNzaW9uU3RhcnQoKSwgc3ViZXhwcmVzc2lvbkVuZCgpKTsKKyAgICAgICAgZnVuY3Rpb24gPSBn
ZW5lcmF0b3IuZW1pdEdldEJ5SWQoZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3QpLCBiYXNl
LmdldCgpLCBzdGF0aWNfY2FzdDxTdHJpbmdOb2RlKj4obV9zdWJzY3JpcHQpLT52YWx1ZSgpKTsK
KyAgICB9IGVsc2UgeworICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gcHJvcGVydHkgPSBnZW5l
cmF0b3IuZW1pdE5vZGUobV9zdWJzY3JpcHQpOworICAgICAgICBnZW5lcmF0b3IuZW1pdEV4cHJl
c3Npb25JbmZvKHN1YmV4cHJlc3Npb25EaXZvdCgpLCBzdWJleHByZXNzaW9uU3RhcnQoKSwgc3Vi
ZXhwcmVzc2lvbkVuZCgpKTsKKyAgICAgICAgZnVuY3Rpb24gPSBnZW5lcmF0b3IuZW1pdEdldEJ5
VmFsKGdlbmVyYXRvci50ZW1wRGVzdGluYXRpb24oZHN0KSwgYmFzZS5nZXQoKSwgcHJvcGVydHku
Z2V0KCkpOworICAgIH0KKwogICAgIFJlZlB0cjxSZWdpc3RlcklEPiByZXR1cm5WYWx1ZSA9IGdl
bmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCwgZnVuY3Rpb24uZ2V0KCkpOwogICAgIENhbGxB
cmd1bWVudHMgY2FsbEFyZ3VtZW50cyhnZW5lcmF0b3IsIG1fYXJncyk7CiAgICAgaWYgKGJhc2VJ
c1N1cGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWls
ZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBh
YTczNzA1MmNiM2M4MTUzNTdjOGE2ZmUzNjhhZDIxNTliYTMyYzBmLi5lZjMxOWExODVlYzY4ODFk
OTgwMjJiZTBlNzcyZDA1MGYxODc3MjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaApAQCAtMTAyOCw3ICsxMDI4LDcgQEAgRXhwcmVzc2lvbk5vZGUqIEFTVEJ1
aWxkZXI6Om1ha2VGdW5jdGlvbkNhbGxOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRp
b24KICAgICB9CiAgICAgaWYgKGZ1bmMtPmlzQnJhY2tldEFjY2Vzc29yTm9kZSgpKSB7CiAgICAg
ICAgIEJyYWNrZXRBY2Nlc3Nvck5vZGUqIGJyYWNrZXQgPSBzdGF0aWNfY2FzdDxCcmFja2V0QWNj
ZXNzb3JOb2RlKj4oZnVuYyk7Ci0gICAgICAgIEZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlKiBub2Rl
ID0gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZShsb2NhdGlvbiwg
YnJhY2tldC0+YmFzZSgpLCBicmFja2V0LT5zdWJzY3JpcHQoKSwgYXJncywgZGl2b3QsIGRpdm90
U3RhcnQsIGRpdm90RW5kKTsKKyAgICAgICAgRnVuY3Rpb25DYWxsQnJhY2tldE5vZGUqIG5vZGUg
PSBuZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlKGxvY2F0aW9uLCBi
cmFja2V0LT5iYXNlKCksIGJyYWNrZXQtPnN1YnNjcmlwdCgpLCBicmFja2V0LT5zdWJzY3JpcHRI
YXNBc3NpZ25tZW50cygpLCBhcmdzLCBkaXZvdCwgZGl2b3RTdGFydCwgZGl2b3RFbmQpOwogICAg
ICAgICBub2RlLT5zZXRTdWJleHByZXNzaW9uSW5mbyhicmFja2V0LT5kaXZvdCgpLCBicmFja2V0
LT5kaXZvdEVuZCgpLm9mZnNldCk7CiAgICAgICAgIHJldHVybiBub2RlOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggODli
OTI4ZWNmOGI0NDAwMDYyMzY2MTI4MmE5NzBhNTYyMWE1MWE5Mi4uZDRiMzM1NTg3MDY0NDQ0OTI0
ZTQ2NTUyNDE5YWYwYjVlZGU5ZDI1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTM0MSwxMiArMzQxLDEzIEBACiAgICAgewogICAg
IH0KIAotICAgIGlubGluZSBGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZTo6RnVuY3Rpb25DYWxsQnJh
Y2tldE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUq
IGJhc2UsIEV4cHJlc3Npb25Ob2RlKiBzdWJzY3JpcHQsIEFyZ3VtZW50c05vZGUqIGFyZ3MsIGNv
bnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90U3Rh
cnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCkKKyAgICBpbmxpbmUgRnVuY3Rpb25D
YWxsQnJhY2tldE5vZGU6OkZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlKGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBiYXNlLCBFeHByZXNzaW9uTm9kZSogc3Vi
c2NyaXB0LCBib29sIHN1YnNjcmlwdEhhc0Fzc2lnbm1lbnRzLCBBcmd1bWVudHNOb2RlKiBhcmdz
LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZv
dFN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RFbmQpCiAgICAgICAgIDogRXhwcmVz
c2lvbk5vZGUobG9jYXRpb24pCiAgICAgICAgICwgVGhyb3dhYmxlU3ViRXhwcmVzc2lvbkRhdGEo
ZGl2b3QsIGRpdm90U3RhcnQsIGRpdm90RW5kKQogICAgICAgICAsIG1fYmFzZShiYXNlKQogICAg
ICAgICAsIG1fc3Vic2NyaXB0KHN1YnNjcmlwdCkKICAgICAgICAgLCBtX2FyZ3MoYXJncykKKyAg
ICAgICAgLCBtX3N1YnNjcmlwdEhhc0Fzc2lnbm1lbnRzKHN1YnNjcmlwdEhhc0Fzc2lnbm1lbnRz
KQogICAgIHsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA3
ODQ4MTg0ZTU1NGNmNDBlYWYzOTA2N2U2NzhhNWVkOGFjNTQ5OWU4Li5kMmNmMmVlNGYzOTJjMTJh
YzI2NTNjMmYwODJmZGM0NGU4ODBhYWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCkBAIC03MjcsNyArNzI3LDcgQEAKICAgICAKICAgICBjbGFzcyBGdW5jdGlvbkNhbGxCcmFj
a2V0Tm9kZSA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSwgcHVibGljIFRocm93YWJsZVN1YkV4cHJl
c3Npb25EYXRhIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIEZ1bmN0aW9uQ2FsbEJyYWNrZXROb2Rl
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25Ob2RlKiBiYXNlLCBFeHByZXNzaW9u
Tm9kZSogc3Vic2NyaXB0LCBBcmd1bWVudHNOb2RlKiwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRp
dm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RTdGFydCwgY29uc3QgSlNUZXh0UG9zaXRp
b24mIGRpdm90RW5kKTsKKyAgICAgICAgRnVuY3Rpb25DYWxsQnJhY2tldE5vZGUoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGJhc2UsIEV4cHJlc3Npb25Ob2RlKiBzdWJz
Y3JpcHQsIGJvb2wgc3Vic2NyaXB0SGFzQXNzaWdubWVudHMsIEFyZ3VtZW50c05vZGUqLCBjb25z
dCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdFN0YXJ0
LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RFbmQpOwogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBS
ZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOwpAQCAtNzM1LDYgKzczNSw3IEBACiAgICAgICAgIEV4
cHJlc3Npb25Ob2RlKiBtX2Jhc2U7CiAgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBtX3N1YnNjcmlw
dDsKICAgICAgICAgQXJndW1lbnRzTm9kZSogbV9hcmdzOworICAgICAgICBib29sIG1fc3Vic2Ny
aXB0SGFzQXNzaWdubWVudHM7CiAgICAgfTsKIAogICAgIGNsYXNzIEZ1bmN0aW9uQ2FsbERvdE5v
ZGUgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBUaHJvd2FibGVTdWJFeHByZXNzaW9u
RGF0YSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fz
c2lnbm1lbnQtaW4tZnVuY3Rpb24tY2FsbC1icmFja2V0LW5vZGUuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fzc2lnbm1lbnQtaW4tZnVuY3Rpb24tY2FsbC1icmFja2V0
LW5vZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM4MjQ5Zjc0YjJjYjlmOTI5ZjVkYjFhM2NmNGNlYzBjOThj
NDMyNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXNzaWdubWVudC1pbi1mdW5jdGlvbi1jYWxsLWJyYWNrZXQtbm9kZS5qcwpAQCAtMCwwICsx
LDc3IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFj
dHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAn
ICsgYWN0dWFsKTsKK30KKworLy8gU2ltcGxlIGFzc2lnbm1lbnQgKG5vdCBGdW5jdGlvbkNhbGxC
cmFja2V0Tm9kZSkuCisKK3Nob3VsZEJlKGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgb2JqZWN0ID0g
eworICAgICAgICBudWxsOiAnb2snCisgICAgfTsKKworICAgIHJldHVybiBvYmplY3Rbb2JqZWN0
ID0gbnVsbF07Cit9KCksICdvaycpOworCitzaG91bGRCZShmdW5jdGlvbiAodmFsdWUpIHsKKyAg
ICB2YXIgb2JqZWN0ID0geyB9OworICAgIG9iamVjdC5udWxsID0gJ29rJzsKKworICAgIHJldHVy
biBvYmplY3Rbb2JqZWN0ID0gdmFsdWVdOworfShudWxsKSwgJ29rJyk7CisKK3Nob3VsZEJlKGZ1
bmN0aW9uICgpIHsKKyAgICB2YXIgb2JqZWN0ID0geworICAgICAgICBudWxsOiAnb2snCisgICAg
fTsKKworICAgIHJldHVybiBvYmplY3RbJ251bGwnXTsKK30oKSwgJ29rJyk7CisKK3Nob3VsZEJl
KGZ1bmN0aW9uICh2YWx1ZSkgeworICAgIHZhciBvYmplY3QgPSB7IH07CisgICAgb2JqZWN0Lm51
bGwgPSAnb2snOworCisgICAgcmV0dXJuIG9iamVjdFsnbnVsbCddOworfShudWxsKSwgJ29rJyk7
CisKKy8vIEZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlLgorCitzaG91bGRCZShmdW5jdGlvbiAoKSB7
CisgICAgdmFyIG9iamVjdCA9IHsKKyAgICAgICAgbnVsbDogZnVuY3Rpb24gKCkgeworICAgICAg
ICAgICAgcmV0dXJuICdvayc7CisgICAgICAgIH0KKyAgICB9OworCisgICAgcmV0dXJuIG9iamVj
dFtvYmplY3QgPSBudWxsXSgpOworfSgpLCAnb2snKTsKKworc2hvdWxkQmUoZnVuY3Rpb24gKHZh
bHVlKSB7CisgICAgdmFyIG9iamVjdCA9IHsgfTsKKyAgICBvYmplY3QubnVsbCA9IGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgcmV0dXJuICdvayc7CisgICAgfTsKKworICAgIHJldHVybiBvYmplY3Rb
b2JqZWN0ID0gdmFsdWVdKCk7Cit9KG51bGwpLCAnb2snKTsKKworc2hvdWxkQmUoZnVuY3Rpb24g
KCkgeworICAgIHZhciBvYmplY3QgPSB7CisgICAgICAgIG51bGw6IGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgICAgIHJldHVybiAnb2snOworICAgICAgICB9CisgICAgfTsKKworICAgIHJldHVybiBv
YmplY3RbJ251bGwnXSgpOworfSgpLCAnb2snKTsKKworc2hvdWxkQmUoZnVuY3Rpb24gKHZhbHVl
KSB7CisgICAgdmFyIG9iamVjdCA9IHsgfTsKKyAgICBvYmplY3QubnVsbCA9IGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgcmV0dXJuICdvayc7CisgICAgfTsKKworICAgIHJldHVybiBvYmplY3RbJ251
bGwnXSgpOworfShudWxsKSwgJ29rJyk7CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252481</attachid>
            <date>2015-05-06 09:37:11 -0700</date>
            <delta_ts>2015-05-07 15:37:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144678-20150507013554.patch</filename>
            <type>text/plain</type>
            <size>9860</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzODY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MTk3NDgyNjgzZDNkMDg5NjE0NjhkZjVmZTk1ZTc0YzBhMjIxZWE5Li43NGYwZmRmYWU1NTJjNjEz
MTcxYTk5ZjVjZDZlMjMzNDZkODVmYjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAxNS0wNS0wNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZSBzaG91bGQgc3RvcmUgdGhl
IGJhc2UgdmFsdWUgdG8gdGhlIHRlbXBvcmFyeSB3aGVuIHN1YnNjcmlwdCBoYXMgYXNzaWdubWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0Njc4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVu
dGx5LCBGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZSBkaXJlY3RseSB1c2UgdGhlIFJlZ2lzdGVySUQg
cmV0dXJuZWQgYnkgZW1pdE5vZGUuCisgICAgICAgIEJ1dCBpZiB0aGUgYmFzZSBwYXJ0IGlzIHRo
ZSBsb2NhbCByZWdpc3RlciBhbmQgdGhlIHN1YnNjcmlwdCBwYXJ0IGhhcyBhc3NpZ25tZW50IHRv
IGl0LCB0aGUgYmFzZSByZXN1bHQgaXMgYWNjaWRlbnRhbGx5IHJld3JpdHRlbi4KKworICAgICAg
ICBmdW5jdGlvbiB0KCkgeyB2YXIgb2sgPSB7bnVsbDogZnVuY3Rpb24gKCkgeyB9IH07IG9rW29r
ID0gbnVsbF0oKTsgfQorICAgICAgICB0KCk7ICAvLyBTaG91bGQgbm90IHRocm93IGVycm9yLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggdGFrZXMgY2FyZSBhYm91dCBgc3Vic2NyaXB0SGFzQXNzaWdu
bWVudGAuCisgICAgICAgIEJ5IHVzaW5nIGBlbWl0Tm9kZUZvckxlZnRIYW5kU2lkZWAsIHdoZW4g
dGhlcmUncyBhc3NpZ25tZW50IHRvIGxvY2FsIHZhcmlhYmxlcyBpbiBSSFMsCisgICAgICAgIGl0
IGNvcnJlY3RseSBtb3ZlcyB0aGUgTEhTIHZhbHVlIHRvIGEgdGVtcG9yYXJ5IHJlZ2lzdGVyLgor
CisgICAgICAgICogYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6
OkZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlOjplbWl0Qnl0ZWNvZGUpOgorICAgICAgICAqIHBhcnNl
ci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6Om1ha2VGdW5jdGlvbkNh
bGxOb2RlKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAo
SlNDOjpGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZTo6RnVuY3Rpb25DYWxsQnJhY2tldE5vZGUpOgor
ICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hc3NpZ25t
ZW50LWluLWZ1bmN0aW9uLWNhbGwtYnJhY2tldC1ub2RlLmpzOiBBZGRlZC4KKyAgICAgICAgKHNo
b3VsZEJlKToKKyAgICAgICAgKHNob3VsZEJlLik6CisKIDIwMTUtMDUtMDUgIEZpbGlwIFBpemxv
ICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBQdXRHbG9iYWxWYXIgc2hvdWxkbid0IGhh
dmUgYW4gdW5jb25kaXRpb25hbCBzdG9yZSBiYXJyaWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMDI5MGM4MWFiMDk3
M2NlZDA2ZDVhNmRmZTc4YzIyNTE5NmIyMmIyZi4uOGZlNWIyOTA2NWJlNmU3YWUwMWZkZWQ3NTM1
NTZmNGI1MDVjZWU4NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtNzAyLDEwICs3MDIsMjggQEAgUmVnaXN0ZXJJRCog
Qnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY19wdXRCeVZhbERpcmVjdChCeXRl
Y29kZUdlbmVyYXQKIFJlZ2lzdGVySUQqIEZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlOjplbWl0Qnl0
ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQogewog
ICAgIGJvb2wgYmFzZUlzU3VwZXIgPSBtX2Jhc2UtPmlzU3VwZXJOb2RlKCk7Ci0gICAgUmVmUHRy
PFJlZ2lzdGVySUQ+IGJhc2UgPSBiYXNlSXNTdXBlciA/IGVtaXRTdXBlckJhc2VGb3JDYWxsZWUo
Z2VuZXJhdG9yKSA6IGdlbmVyYXRvci5lbWl0Tm9kZShtX2Jhc2UpOwotICAgIFJlZlB0cjxSZWdp
c3RlcklEPiBwcm9wZXJ0eSA9IGdlbmVyYXRvci5lbWl0Tm9kZShtX3N1YnNjcmlwdCk7Ci0gICAg
Z2VuZXJhdG9yLmVtaXRFeHByZXNzaW9uSW5mbyhzdWJleHByZXNzaW9uRGl2b3QoKSwgc3ViZXhw
cmVzc2lvblN0YXJ0KCksIHN1YmV4cHJlc3Npb25FbmQoKSk7Ci0gICAgUmVmUHRyPFJlZ2lzdGVy
SUQ+IGZ1bmN0aW9uID0gZ2VuZXJhdG9yLmVtaXRHZXRCeVZhbChnZW5lcmF0b3IudGVtcERlc3Rp
bmF0aW9uKGRzdCksIGJhc2UuZ2V0KCksIHByb3BlcnR5LmdldCgpKTsKKyAgICBib29sIHN1YnNj
cmlwdElzU3RyaW5nID0gbV9zdWJzY3JpcHQtPmlzU3RyaW5nKCk7CisKKyAgICBSZWZQdHI8UmVn
aXN0ZXJJRD4gYmFzZTsKKyAgICBpZiAoYmFzZUlzU3VwZXIpCisgICAgICAgIGJhc2UgPSBlbWl0
U3VwZXJCYXNlRm9yQ2FsbGVlKGdlbmVyYXRvcik7CisgICAgZWxzZSB7CisgICAgICAgIGlmIChz
dWJzY3JpcHRJc1N0cmluZykKKyAgICAgICAgICAgIGJhc2UgPSBnZW5lcmF0b3IuZW1pdE5vZGUo
bV9iYXNlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgYmFzZSA9IGdlbmVyYXRvci5lbWl0
Tm9kZUZvckxlZnRIYW5kU2lkZShtX2Jhc2UsIG1fc3Vic2NyaXB0SGFzQXNzaWdubWVudHMsIG1f
c3Vic2NyaXB0LT5pc1B1cmUoZ2VuZXJhdG9yKSk7CisgICAgfQorCisgICAgUmVmUHRyPFJlZ2lz
dGVySUQ+IGZ1bmN0aW9uOworICAgIGlmIChzdWJzY3JpcHRJc1N0cmluZykgeworICAgICAgICBn
ZW5lcmF0b3IuZW1pdEV4cHJlc3Npb25JbmZvKHN1YmV4cHJlc3Npb25EaXZvdCgpLCBzdWJleHBy
ZXNzaW9uU3RhcnQoKSwgc3ViZXhwcmVzc2lvbkVuZCgpKTsKKyAgICAgICAgZnVuY3Rpb24gPSBn
ZW5lcmF0b3IuZW1pdEdldEJ5SWQoZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3QpLCBiYXNl
LmdldCgpLCBzdGF0aWNfY2FzdDxTdHJpbmdOb2RlKj4obV9zdWJzY3JpcHQpLT52YWx1ZSgpKTsK
KyAgICB9IGVsc2UgeworICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gcHJvcGVydHkgPSBnZW5l
cmF0b3IuZW1pdE5vZGUobV9zdWJzY3JpcHQpOworICAgICAgICBnZW5lcmF0b3IuZW1pdEV4cHJl
c3Npb25JbmZvKHN1YmV4cHJlc3Npb25EaXZvdCgpLCBzdWJleHByZXNzaW9uU3RhcnQoKSwgc3Vi
ZXhwcmVzc2lvbkVuZCgpKTsKKyAgICAgICAgZnVuY3Rpb24gPSBnZW5lcmF0b3IuZW1pdEdldEJ5
VmFsKGdlbmVyYXRvci50ZW1wRGVzdGluYXRpb24oZHN0KSwgYmFzZS5nZXQoKSwgcHJvcGVydHku
Z2V0KCkpOworICAgIH0KKwogICAgIFJlZlB0cjxSZWdpc3RlcklEPiByZXR1cm5WYWx1ZSA9IGdl
bmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCwgZnVuY3Rpb24uZ2V0KCkpOwogICAgIENhbGxB
cmd1bWVudHMgY2FsbEFyZ3VtZW50cyhnZW5lcmF0b3IsIG1fYXJncyk7CiAgICAgaWYgKGJhc2VJ
c1N1cGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWls
ZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBh
YTczNzA1MmNiM2M4MTUzNTdjOGE2ZmUzNjhhZDIxNTliYTMyYzBmLi5lZjMxOWExODVlYzY4ODFk
OTgwMjJiZTBlNzcyZDA1MGYxODc3MjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaApAQCAtMTAyOCw3ICsxMDI4LDcgQEAgRXhwcmVzc2lvbk5vZGUqIEFTVEJ1
aWxkZXI6Om1ha2VGdW5jdGlvbkNhbGxOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRp
b24KICAgICB9CiAgICAgaWYgKGZ1bmMtPmlzQnJhY2tldEFjY2Vzc29yTm9kZSgpKSB7CiAgICAg
ICAgIEJyYWNrZXRBY2Nlc3Nvck5vZGUqIGJyYWNrZXQgPSBzdGF0aWNfY2FzdDxCcmFja2V0QWNj
ZXNzb3JOb2RlKj4oZnVuYyk7Ci0gICAgICAgIEZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlKiBub2Rl
ID0gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZShsb2NhdGlvbiwg
YnJhY2tldC0+YmFzZSgpLCBicmFja2V0LT5zdWJzY3JpcHQoKSwgYXJncywgZGl2b3QsIGRpdm90
U3RhcnQsIGRpdm90RW5kKTsKKyAgICAgICAgRnVuY3Rpb25DYWxsQnJhY2tldE5vZGUqIG5vZGUg
PSBuZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlKGxvY2F0aW9uLCBi
cmFja2V0LT5iYXNlKCksIGJyYWNrZXQtPnN1YnNjcmlwdCgpLCBicmFja2V0LT5zdWJzY3JpcHRI
YXNBc3NpZ25tZW50cygpLCBhcmdzLCBkaXZvdCwgZGl2b3RTdGFydCwgZGl2b3RFbmQpOwogICAg
ICAgICBub2RlLT5zZXRTdWJleHByZXNzaW9uSW5mbyhicmFja2V0LT5kaXZvdCgpLCBicmFja2V0
LT5kaXZvdEVuZCgpLm9mZnNldCk7CiAgICAgICAgIHJldHVybiBub2RlOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggODli
OTI4ZWNmOGI0NDAwMDYyMzY2MTI4MmE5NzBhNTYyMWE1MWE5Mi4uZDRiMzM1NTg3MDY0NDQ0OTI0
ZTQ2NTUyNDE5YWYwYjVlZGU5ZDI1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTM0MSwxMiArMzQxLDEzIEBACiAgICAgewogICAg
IH0KIAotICAgIGlubGluZSBGdW5jdGlvbkNhbGxCcmFja2V0Tm9kZTo6RnVuY3Rpb25DYWxsQnJh
Y2tldE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUq
IGJhc2UsIEV4cHJlc3Npb25Ob2RlKiBzdWJzY3JpcHQsIEFyZ3VtZW50c05vZGUqIGFyZ3MsIGNv
bnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90U3Rh
cnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCkKKyAgICBpbmxpbmUgRnVuY3Rpb25D
YWxsQnJhY2tldE5vZGU6OkZ1bmN0aW9uQ2FsbEJyYWNrZXROb2RlKGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBiYXNlLCBFeHByZXNzaW9uTm9kZSogc3Vi
c2NyaXB0LCBib29sIHN1YnNjcmlwdEhhc0Fzc2lnbm1lbnRzLCBBcmd1bWVudHNOb2RlKiBhcmdz
LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZv
dFN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RFbmQpCiAgICAgICAgIDogRXhwcmVz
c2lvbk5vZGUobG9jYXRpb24pCiAgICAgICAgICwgVGhyb3dhYmxlU3ViRXhwcmVzc2lvbkRhdGEo
ZGl2b3QsIGRpdm90U3RhcnQsIGRpdm90RW5kKQogICAgICAgICAsIG1fYmFzZShiYXNlKQogICAg
ICAgICAsIG1fc3Vic2NyaXB0KHN1YnNjcmlwdCkKICAgICAgICAgLCBtX2FyZ3MoYXJncykKKyAg
ICAgICAgLCBtX3N1YnNjcmlwdEhhc0Fzc2lnbm1lbnRzKHN1YnNjcmlwdEhhc0Fzc2lnbm1lbnRz
KQogICAgIHsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA3
ODQ4MTg0ZTU1NGNmNDBlYWYzOTA2N2U2NzhhNWVkOGFjNTQ5OWU4Li5kMmNmMmVlNGYzOTJjMTJh
YzI2NTNjMmYwODJmZGM0NGU4ODBhYWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCkBAIC03MjcsNyArNzI3LDcgQEAKICAgICAKICAgICBjbGFzcyBGdW5jdGlvbkNhbGxCcmFj
a2V0Tm9kZSA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSwgcHVibGljIFRocm93YWJsZVN1YkV4cHJl
c3Npb25EYXRhIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIEZ1bmN0aW9uQ2FsbEJyYWNrZXROb2Rl
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25Ob2RlKiBiYXNlLCBFeHByZXNzaW9u
Tm9kZSogc3Vic2NyaXB0LCBBcmd1bWVudHNOb2RlKiwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRp
dm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RTdGFydCwgY29uc3QgSlNUZXh0UG9zaXRp
b24mIGRpdm90RW5kKTsKKyAgICAgICAgRnVuY3Rpb25DYWxsQnJhY2tldE5vZGUoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGJhc2UsIEV4cHJlc3Npb25Ob2RlKiBzdWJz
Y3JpcHQsIGJvb2wgc3Vic2NyaXB0SGFzQXNzaWdubWVudHMsIEFyZ3VtZW50c05vZGUqLCBjb25z
dCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdFN0YXJ0
LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RFbmQpOwogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBS
ZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOwpAQCAtNzM1LDYgKzczNSw3IEBACiAgICAgICAgIEV4
cHJlc3Npb25Ob2RlKiBtX2Jhc2U7CiAgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBtX3N1YnNjcmlw
dDsKICAgICAgICAgQXJndW1lbnRzTm9kZSogbV9hcmdzOworICAgICAgICBib29sIG1fc3Vic2Ny
aXB0SGFzQXNzaWdubWVudHM7CiAgICAgfTsKIAogICAgIGNsYXNzIEZ1bmN0aW9uQ2FsbERvdE5v
ZGUgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBUaHJvd2FibGVTdWJFeHByZXNzaW9u
RGF0YSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fz
c2lnbm1lbnQtaW4tZnVuY3Rpb24tY2FsbC1icmFja2V0LW5vZGUuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fzc2lnbm1lbnQtaW4tZnVuY3Rpb24tY2FsbC1icmFja2V0
LW5vZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRmNzBmZWZkNjhhMGEzN2JmMDY5NTI0MzliYzRkMjkwYzk3
MzU4ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXNzaWdubWVudC1pbi1mdW5jdGlvbi1jYWxsLWJyYWNrZXQtbm9kZS5qcwpAQCAtMCwwICsx
LDEyNiBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChh
Y3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTog
JyArIGFjdHVhbCk7Cit9CisKKy8vIFNpbXBsZSBhc3NpZ25tZW50IChub3QgRnVuY3Rpb25DYWxs
QnJhY2tldE5vZGUpLgorCitzaG91bGRCZShmdW5jdGlvbiAoKSB7CisgICAgdmFyIG9iamVjdCA9
IHsKKyAgICAgICAgbnVsbDogJ29rJworICAgIH07CisKKyAgICByZXR1cm4gb2JqZWN0W29iamVj
dCA9IG51bGxdOworfSgpLCAnb2snKTsKKworc2hvdWxkQmUoZnVuY3Rpb24gKHZhbHVlKSB7Cisg
ICAgdmFyIG9iamVjdCA9IHsgfTsKKyAgICBvYmplY3QubnVsbCA9ICdvayc7CisKKyAgICByZXR1
cm4gb2JqZWN0W29iamVjdCA9IHZhbHVlXTsKK30obnVsbCksICdvaycpOworCitzaG91bGRCZShm
dW5jdGlvbiAoKSB7CisgICAgdmFyIG9iamVjdCA9IHsKKyAgICAgICAgbnVsbDogJ29rJworICAg
IH07CisKKyAgICByZXR1cm4gb2JqZWN0WydudWxsJ107Cit9KCksICdvaycpOworCitzaG91bGRC
ZShmdW5jdGlvbiAodmFsdWUpIHsKKyAgICB2YXIgb2JqZWN0ID0geyB9OworICAgIG9iamVjdC5u
dWxsID0gJ29rJzsKKworICAgIHJldHVybiBvYmplY3RbJ251bGwnXTsKK30obnVsbCksICdvaycp
OworCitzaG91bGRCZShmdW5jdGlvbiAoKSB7CisgICAgdmFyIG9iamVjdCA9IHsKKyAgICAgICAg
bnVsbDogJ29rJworICAgIH07CisKKyAgICBmdW5jdGlvbiBmaWxsKCkgeworICAgICAgICByZXR1
cm4gb2JqZWN0ID0gbnVsbDsKKyAgICB9CisKKyAgICByZXR1cm4gb2JqZWN0W2ZpbGwoKV07Cit9
KCksICdvaycpOworCitzaG91bGRCZShmdW5jdGlvbiAodmFsdWUpIHsKKyAgICB2YXIgb2JqZWN0
ID0geyB9OworICAgIG9iamVjdC5udWxsID0gJ29rJzsKKworICAgIGZ1bmN0aW9uIGZpbGwoKSB7
CisgICAgICAgIHJldHVybiBvYmplY3QgPSB2YWx1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gb2Jq
ZWN0W2ZpbGwoKV07Cit9KG51bGwpLCAnb2snKTsKKworLy8gRnVuY3Rpb25DYWxsQnJhY2tldE5v
ZGUuCisKK3Nob3VsZEJlKGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgb2JqZWN0ID0geworICAgICAg
ICBudWxsOiBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICByZXR1cm4gJ29rJzsKKyAgICAgICAg
fQorICAgIH07CisKKyAgICByZXR1cm4gb2JqZWN0W29iamVjdCA9IG51bGxdKCk7Cit9KCksICdv
aycpOworCitzaG91bGRCZShmdW5jdGlvbiAodmFsdWUpIHsKKyAgICB2YXIgb2JqZWN0ID0geyB9
OworICAgIG9iamVjdC5udWxsID0gZnVuY3Rpb24gKCkgeworICAgICAgICByZXR1cm4gJ29rJzsK
KyAgICB9OworCisgICAgcmV0dXJuIG9iamVjdFtvYmplY3QgPSB2YWx1ZV0oKTsKK30obnVsbCks
ICdvaycpOworCitzaG91bGRCZShmdW5jdGlvbiAoKSB7CisgICAgdmFyIG9iamVjdCA9IHsKKyAg
ICAgICAgbnVsbDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgcmV0dXJuICdvayc7CisgICAg
ICAgIH0KKyAgICB9OworCisgICAgcmV0dXJuIG9iamVjdFsnbnVsbCddKCk7Cit9KCksICdvaycp
OworCitzaG91bGRCZShmdW5jdGlvbiAodmFsdWUpIHsKKyAgICB2YXIgb2JqZWN0ID0geyB9Owor
ICAgIG9iamVjdC5udWxsID0gZnVuY3Rpb24gKCkgeworICAgICAgICByZXR1cm4gJ29rJzsKKyAg
ICB9OworCisgICAgcmV0dXJuIG9iamVjdFsnbnVsbCddKCk7Cit9KG51bGwpLCAnb2snKTsKKwor
c2hvdWxkQmUoZnVuY3Rpb24gKCkgeworICAgIHZhciBvYmplY3QgPSB7CisgICAgICAgIG51bGw6
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHJldHVybiAnb2snOworICAgICAgICB9CisgICAg
fTsKKworICAgIGZ1bmN0aW9uIGZpbGwoKSB7CisgICAgICAgIHJldHVybiBvYmplY3QgPSBudWxs
OworICAgIH0KKworICAgIHJldHVybiBvYmplY3RbZmlsbCgpXSgpOworfSgpLCAnb2snKTsKKwor
c2hvdWxkQmUoZnVuY3Rpb24gKHZhbHVlKSB7CisgICAgdmFyIG9iamVjdCA9IHsgfTsKKyAgICBv
YmplY3QubnVsbCA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgcmV0dXJuICdvayc7CisgICAgfTsK
KworICAgIGZ1bmN0aW9uIGZpbGwoKSB7CisgICAgICAgIHJldHVybiBvYmplY3QgPSB2YWx1ZTsK
KyAgICB9CisKKyAgICByZXR1cm4gb2JqZWN0W2ZpbGwoKV0oKTsKK30obnVsbCksICdvaycpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>