<?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>79588</bug_id>
          
          <creation_ts>2012-02-25 17:18:33 -0800</creation_ts>
          <short_desc>[[Get]]/[[Put]] for primitives should not wrap on strict accessor call</short_desc>
          <delta_ts>2012-02-29 15:29:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>barraclough</cc>
    
    <cc>domenic</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>565060</commentid>
    <comment_count>0</comment_count>
      <attachid>128896</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2012-02-25 17:18:33 -0800</bug_when>
    <thetext>Created attachment 128896
Test cases

See attached TC.

The special [[Get]]/[[Put]] defined in ES5.1 §8.7 calls accessors with the primitive value as thisArg; in the non-strict accessor case §10.4.3 calls ToObject on thisArg before entering the function code, whereas in the strict accessor case thisArg is passed through untouched (i.e., as a primitive).

Currently SM (730632), JSC, and Carakan (CORE-44789) all always wrap, V8 never does (about to be reported).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565105</commentid>
    <comment_count>1</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-02-25 22:17:11 -0800</bug_when>
    <thetext>Ugh, yes.  Should be a relatively easy fix, thanks for the bug report!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567174</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-02-28 15:36:50 -0800</bug_when>
    <thetext>I think there is a second, related bug here.

Following through the spec, the behavior described in this bug arises from how primitives are handled as the bases of references, in section 8.7.  In the case of access to a data property, in strict mode a put should always throw rather than creating a new value on a transient object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567273</commentid>
    <comment_count>3</comment_count>
      <attachid>129362</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-02-28 17:32:38 -0800</bug_when>
    <thetext>Created attachment 129362
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567281</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-02-28 17:40:39 -0800</bug_when>
    <thetext>Fixed in r109177</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568006</commentid>
    <comment_count>5</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-02-29 15:29:30 -0800</bug_when>
    <thetext>*** Bug 79843 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>128896</attachid>
            <date>2012-02-25 17:18:33 -0800</date>
            <delta_ts>2012-02-25 17:18:33 -0800</delta_ts>
            <desc>Test cases</desc>
            <filename>foo.js</filename>
            <type>application/x-javascript</type>
            <size>2683</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">ZnVuY3Rpb24gdGVzdEdldFByaW1pdGl2ZV8wKCkgewogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShT
dHJpbmcucHJvdG90eXBlLCAiYSIsIHtjb25maWd1cmFibGU6IHRydWUsCgkJCQkJCWdldDogZnVu
Y3Rpb24oKXsKCQkJCQkJICAidXNlIHN0cmljdCI7CgkJCQkJCSAgcmV0dXJuICh0eXBlb2YgdGhp
cyk7CgkJCQkJCX19KTsKICBhc3NlcnRFcXVhbHMoInN0cmluZyIsICJhIi5hKTsKfQoKZnVuY3Rp
b24gdGVzdEdldFByaW1pdGl2ZV8xKCkgewogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcu
cHJvdG90eXBlLCAiYSIsIHtjb25maWd1cmFibGU6IHRydWUsCgkJCQkJCWdldDogZnVuY3Rpb24o
KXsKCQkJCQkJICByZXR1cm4gKHR5cGVvZiB0aGlzKTsKCQkJCQkJfX0pOwogIGFzc2VydEVxdWFs
cygib2JqZWN0IiwgImEiLmEpOwp9CgpmdW5jdGlvbiB0ZXN0R2V0UHJpbWl0aXZlXzIoKSB7CiAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KE51bWJlci5wcm90b3R5cGUsICJhIiwge2NvbmZpZ3VyYWJs
ZTogdHJ1ZSwKCQkJCQkJZ2V0OiBmdW5jdGlvbigpewoJCQkJCQkgICJ1c2Ugc3RyaWN0IjsKCQkJ
CQkJICByZXR1cm4gKHR5cGVvZiB0aGlzKTsKCQkJCQkJfX0pOwogIGFzc2VydEVxdWFscygibnVt
YmVyIiwgKDEpLmEpOwp9CgpmdW5jdGlvbiB0ZXN0R2V0UHJpbWl0aXZlXzMoKSB7CiAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KE51bWJlci5wcm90b3R5cGUsICJhIiwge2NvbmZpZ3VyYWJsZTogdHJ1
ZSwKCQkJCQkJZ2V0OiBmdW5jdGlvbigpewoJCQkJCQkgIHJldHVybiAodHlwZW9mIHRoaXMpOwoJ
CQkJCQl9fSk7CiAgYXNzZXJ0RXF1YWxzKCJvYmplY3QiLCAoMSkuYSk7Cn0KCmZ1bmN0aW9uIHRl
c3RHZXRQcmltaXRpdmVfNCgpIHsKICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQm9vbGVhbi5wcm90
b3R5cGUsICJhIiwge2NvbmZpZ3VyYWJsZTogdHJ1ZSwKCQkJCQkJIGdldDogZnVuY3Rpb24oKXsK
CQkJCQkJICAgInVzZSBzdHJpY3QiOwoJCQkJCQkgICByZXR1cm4gKHR5cGVvZiB0aGlzKTsKCQkJ
CQkJIH19KTsKICBhc3NlcnRFcXVhbHMoImJvb2xlYW4iLCB0cnVlLmEpOwp9CgpmdW5jdGlvbiB0
ZXN0R2V0UHJpbWl0aXZlXzUoKSB7CiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJvb2xlYW4ucHJv
dG90eXBlLCAiYSIsIHtjb25maWd1cmFibGU6IHRydWUsCgkJCQkJCSBnZXQ6IGZ1bmN0aW9uKCl7
CgkJCQkJCSAgIHJldHVybiAodHlwZW9mIHRoaXMpOwoJCQkJCQkgfX0pOwogIGFzc2VydEVxdWFs
cygib2JqZWN0IiwgdHJ1ZS5hKTsKfQoKZnVuY3Rpb24gdGVzdFNldFByaW1pdGl2ZV8wKCkgewog
IHZhciB0eXBlOwogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcucHJvdG90eXBlLCAiYSIs
IHtjb25maWd1cmFibGU6IHRydWUsCgkJCQkJCXNldDogZnVuY3Rpb24oKXsKCQkJCQkJICAidXNl
IHN0cmljdCI7CgkJCQkJCSAgdHlwZSA9IHR5cGVvZiB0aGlzOwoJCQkJCQl9fSk7CiAgImEiLmEg
PSAxOwogIGFzc2VydEVxdWFscygic3RyaW5nIiwgdHlwZSk7Cn0KCmZ1bmN0aW9uIHRlc3RTZXRQ
cmltaXRpdmVfMSgpIHsKICB2YXIgdHlwZTsKICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5n
LnByb3RvdHlwZSwgImEiLCB7Y29uZmlndXJhYmxlOiB0cnVlLAoJCQkJCQlzZXQ6IGZ1bmN0aW9u
KCl7CgkJCQkJCSAgdHlwZSA9IHR5cGVvZiB0aGlzOwoJCQkJCQl9fSk7CiAgImEiLmEgPSAxOwog
IGFzc2VydEVxdWFscygib2JqZWN0IiwgdHlwZSk7Cn0KCmZ1bmN0aW9uIHRlc3RTZXRQcmltaXRp
dmVfMigpIHsKICB2YXIgdHlwZTsKICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTnVtYmVyLnByb3Rv
dHlwZSwgImEiLCB7Y29uZmlndXJhYmxlOiB0cnVlLAoJCQkJCQlzZXQ6IGZ1bmN0aW9uKCl7CgkJ
CQkJCSAgInVzZSBzdHJpY3QiOwoJCQkJCQkgIHR5cGUgPSB0eXBlb2YgdGhpczsKCQkJCQkJfX0p
OwogICgxKS5hID0gMTsKICBhc3NlcnRFcXVhbHMoIm51bWJlciIsIHR5cGUpOwp9CgpmdW5jdGlv
biB0ZXN0U2V0UHJpbWl0aXZlXzMoKSB7CiAgdmFyIHR5cGU7CiAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KE51bWJlci5wcm90b3R5cGUsICJhIiwge2NvbmZpZ3VyYWJsZTogdHJ1ZSwKCQkJCQkJc2V0
OiBmdW5jdGlvbigpewoJCQkJCQkgIHR5cGUgPSB0eXBlb2YgdGhpczsKCQkJCQkJfX0pOwogICgx
KS5hID0gMTsKICBhc3NlcnRFcXVhbHMoIm9iamVjdCIsIHR5cGUpOwp9CgpmdW5jdGlvbiB0ZXN0
U2V0UHJpbWl0aXZlXzQoKSB7CiAgdmFyIHR5cGU7CiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJv
b2xlYW4ucHJvdG90eXBlLCAiYSIsIHtjb25maWd1cmFibGU6IHRydWUsCgkJCQkJCSBzZXQ6IGZ1
bmN0aW9uKCl7CgkJCQkJCSAgICJ1c2Ugc3RyaWN0IjsKCQkJCQkJICAgdHlwZSA9IHR5cGVvZiB0
aGlzOwoJCQkJCQkgfX0pOwogIHRydWUuYSA9IDE7CiAgYXNzZXJ0RXF1YWxzKCJib29sZWFuIiwg
dHlwZSk7Cn0KCmZ1bmN0aW9uIHRlc3RTZXRQcmltaXRpdmVfNSgpIHsKICB2YXIgdHlwZTsKICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoQm9vbGVhbi5wcm90b3R5cGUsICJhIiwge2NvbmZpZ3VyYWJs
ZTogdHJ1ZSwKCQkJCQkJc2V0OiBmdW5jdGlvbigpewoJCQkJCQkgIHR5cGUgPSB0eXBlb2YgdGhp
czsKCQkJCQkJfX0pOwogIHRydWUuYSA9IDE7CiAgYXNzZXJ0RXF1YWxzKCJvYmplY3QiLCB0eXBl
KTsKfQ==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129362</attachid>
            <date>2012-02-28 17:32:38 -0800</date>
            <delta_ts>2012-02-28 17:36:25 -0800</delta_ts>
            <desc>Fix</desc>
            <filename>79588.patch</filename>
            <type>text/plain</type>
            <size>18125</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTA5MTczKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBA
CisyMDEyLTAyLTI4ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBbW0dldF1dL1tbUHV0XV0gZm9yIHByaW1pdGl2ZXMgc2hvdWxkIG5vdCB3cmFw
IG9uIHN0cmljdCBhY2Nlc3NvciBjYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03OTU4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluIHRoZSBjYXNlIG9mIFtbR2V0XV0sIHRoaXMgaXMgYSBwcmV0dHkg
dHJpdmlhbCBidWcgLSBqdXN0IGRvbid0IHdyYXAKKyAgICAgICAgcHJpbWl0aXZlcyBhdCB0aGUg
cG9pbnQgeW91IGNhbGwgYSBnZXR0ZXIuCisKKyAgICAgICAgRm9yIHNldHRlcnMsIHRoaXMgaXMg
YSBsaXR0bGUgbW9yZSBpbnZvbHZlZCwgc2luY2Ugd2UgaGF2ZSBhbHJlYWR5IHdyYXBwZWQKKyAg
ICAgICAgdGhlIHZhbHVlIHVwIGluIGEgc3ludGhlc2l6ZWQgb2JqZWN0LiBTdG9wIGRvaW5nIHNv
LiBUaGVyZSBpcyBhbHNvIGEgZnVydGhlcgorICAgICAgICBzdWJ0ZWx5LCB0aGF0IGluIHN0cmlj
dCBtb2RlIGFsbCBhdHRlbXB0cyB0byBjcmVhdGUgYSBuZXcgZGF0YSBwcm9wZXJ0eSBvbgorICAg
ICAgICB0aGUgb2JqZWN0IHNob3VsZCB0aHJvdy4KKworICAgICAgICAqIHJ1bnRpbWUvSlNDZWxs
LmNwcDoKKyAgICAgICAgKEpTQzo6SlNDZWxsOjpwdXQpOgorICAgICAgICAgICAgLSBbW1B1dF1d
IHRvIGEgc3RyaW5nIHByaW1pdGl2ZSBzaG91bGQgdXNlIEpTVmFsdWU6OnB1dFRvUHJpbWl0aXZl
LgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6cHV0KToKKyAgICAgICAgICAgIC0gUmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiBjYWxsZWQgaW4g
b25lIHBsYWNlLgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6
SlNWYWx1ZTo6cHV0KToKKyAgICAgICAgICAgIC0gW1tQdXRdXSB0byBhIG5vbi1jZWxsIEpTVmFs
dWUgc2hvdWxkIHVzZSBKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZS4KKyAgICAgICAgKiBydW50aW1l
L0pTVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpzeW50aGVzaXplUHJvdG90eXBl
KToKKyAgICAgICAgICAgIC0gQWRkIHN1cHBvcnQgZm9yIHN5bnRoZXNpemluZyB0aGUgcHJvdG90
eXBlIG9mIHN0cmluZ3MuCisgICAgICAgIChKU0M6OkpTVmFsdWU6OnB1dFRvUHJpbWl0aXZlKToK
KyAgICAgICAgICAgIC0gQWRkZWQsIGltcGxlbWVudHMgW1tQdXRdXSBmb3IgcHJpbWl0aXZlIGJh
c2VzLCBwZXIgOC43LjIuCisgICAgICAgICogcnVudGltZS9KU1ZhbHVlLmg6CisgICAgICAgIChK
U1ZhbHVlKToKKyAgICAgICAgICAgIC0gQWRkIGRlY2xhcmF0aW9uIGZvciBKU1ZhbHVlOjpwdXRU
b1ByaW1pdGl2ZS4KKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5U2xvdC5jcHA6CisgICAgICAg
IChKU0M6OlByb3BlcnR5U2xvdDo6ZnVuY3Rpb25HZXR0ZXIpOgorICAgICAgICAgICAgLSBEb24n
dCBjYWxsIFRvT2JqZWN0IG9uIHByaW1pdGl2ZSB0aGlzIHZhbHVlcy4KKwogMjAxMi0wMi0yOCAg
RmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFNvbWUgcnVuLWphdmFz
Y3JpcHRjb3JlLXRlc3RzIGJyb2tlbiBmb3IgMzItYml0IGRlYnVnCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAJKHJldmlzaW9uIDEwOTE0NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk3
LDYgKzk3LDEwIEBAIGJvb2wgSlNDZWxsOjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEoKIAog
dm9pZCBKU0NlbGw6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRl
bnRpZmllciYgaWRlbnRpZmllciwgSlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlTbG90JiBzbG90
KQogeworICAgIGlmIChjZWxsLT5pc1N0cmluZygpKSB7CisgICAgICAgIEpTVmFsdWUoY2VsbCku
cHV0VG9QcmltaXRpdmUoZXhlYywgaWRlbnRpZmllciwgdmFsdWUsIHNsb3QpOworICAgICAgICBy
ZXR1cm47CisgICAgfQogICAgIEpTT2JqZWN0KiB0aGlzT2JqZWN0ID0gY2VsbC0+dG9PYmplY3Qo
ZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKICAgICB0aGlzT2JqZWN0LT5tZXRo
b2RUYWJsZSgpLT5wdXQodGhpc09iamVjdCwgZXhlYywgaWRlbnRpZmllciwgdmFsdWUsIHNsb3Qp
OwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAko
cmV2aXNpb24gMTA5MTQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTksMTEgKzExOSw2IEBAIGJvb2wgSlNPYmplY3Q6
OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgKICAgICByZXR1cm4gdGhpc09iamVjdC0+bWV0aG9k
VGFibGUoKS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIElkZW50aWZpZXI6
OmZyb20oZXhlYywgcHJvcGVydHlOYW1lKSwgc2xvdCk7CiB9CiAKLXN0YXRpYyB2b2lkIHRocm93
U2V0dGVyRXJyb3IoRXhlY1N0YXRlKiBleGVjKQotewotICAgIHRocm93RXJyb3IoZXhlYywgY3Jl
YXRlVHlwZUVycm9yKGV4ZWMsICJzZXR0aW5nIGEgcHJvcGVydHkgdGhhdCBoYXMgb25seSBhIGdl
dHRlciIpKTsKLX0KLQogLy8gRUNNQSA4LjYuMi4yCiB2b2lkIEpTT2JqZWN0OjpwdXQoSlNDZWxs
KiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
SlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlTbG90JiBzbG90KQogewpAQCAtMTYxLDcgKzE1Niw3
IEBAIHZvaWQgSlNPYmplY3Q6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGEKICAgICAgICAgICAg
ICAgICBKU09iamVjdCogc2V0dGVyRnVuYyA9IGFzR2V0dGVyU2V0dGVyKGdzKS0+c2V0dGVyKCk7
ICAgICAgICAKICAgICAgICAgICAgICAgICBpZiAoIXNldHRlckZ1bmMpIHsKICAgICAgICAgICAg
ICAgICAgICAgaWYgKHNsb3QuaXNTdHJpY3RNb2RlKCkpCi0gICAgICAgICAgICAgICAgICAgICAg
ICB0aHJvd1NldHRlckVycm9yKGV4ZWMpOworICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3dF
cnJvcihleGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgInNldHRpbmcgYSBwcm9wZXJ0eSB0aGF0
IGhhcyBvbmx5IGEgZ2V0dGVyIikpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAxMDkxNDYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04MzQsOCArODM0
LDcgQEAgaW5saW5lIEpTVmFsdWUgSlNWYWx1ZTo6Z2V0KEV4ZWNTdGF0ZSogZQogaW5saW5lIHZv
aWQgSlNWYWx1ZTo6cHV0KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgaWYg
KFVOTElLRUxZKCFpc0NlbGwoKSkpIHsKLSAgICAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSBz
eW50aGVzaXplT2JqZWN0KGV4ZWMpOwotICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSgp
LT5wdXQodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CisgICAg
ICAgIHB1dFRvUHJpbWl0aXZlKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIGFzQ2VsbCgpLT5tZXRob2RUYWJsZSgpLT5wdXQoYXND
ZWxsKCksIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDEwOTE0NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiQm9vbGVhblByb3RvdHlwZS5oIgogI2luY2x1ZGUg
IkVycm9yLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkdldHRl
clNldHRlci5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNGdW5j
dGlvbi5oIgogI2luY2x1ZGUgIkpTTm90QW5PYmplY3QuaCIKQEAgLTEwNSw3ICsxMDYsMTEgQEAg
SlNPYmplY3QqIEpTVmFsdWU6OnN5bnRoZXNpemVPYmplY3QoRXhlYwogCiBKU09iamVjdCogSlNW
YWx1ZTo6c3ludGhlc2l6ZVByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7Ci0gICAg
QVNTRVJUKCFpc0NlbGwoKSk7CisgICAgaWYgKGlzQ2VsbCgpKSB7CisgICAgICAgIEFTU0VSVChp
c1N0cmluZygpKTsKKyAgICAgICAgcmV0dXJuIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+
c3RyaW5nUHJvdG90eXBlKCk7CisgICAgfQorCiAgICAgaWYgKGlzTnVtYmVyKCkpCiAgICAgICAg
IHJldHVybiBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPm51bWJlclByb3RvdHlwZSgpOwog
ICAgIGlmIChpc0Jvb2xlYW4oKSkKQEAgLTExNiw2ICsxMjEsNzAgQEAgSlNPYmplY3QqIEpTVmFs
dWU6OnN5bnRoZXNpemVQcm90b3R5cGUoRQogICAgIHJldHVybiBKU05vdEFuT2JqZWN0OjpjcmVh
dGUoZXhlYyk7CiB9CiAKKy8vIEVDTUEgOC43LjIKK3ZvaWQgSlNWYWx1ZTo6cHV0VG9QcmltaXRp
dmUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFs
dWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICBKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEgPSBleGVjLT5nbG9iYWxEYXRhKCk7CisKKyAgICAvLyBDaGVjayBpZiB0aGVyZSBh
cmUgYW55IHNldHRlcnMgb3IgZ2V0dGVycyBpbiB0aGUgcHJvdG90eXBlIGNoYWluCisgICAgSlNP
YmplY3QqIG9iaiA9IHN5bnRoZXNpemVQcm90b3R5cGUoZXhlYyk7CisgICAgSlNWYWx1ZSBwcm90
b3R5cGU7CisgICAgaWYgKHByb3BlcnR5TmFtZSAhPSBleGVjLT5wcm9wZXJ0eU5hbWVzKCkudW5k
ZXJzY29yZVByb3RvKSB7CisgICAgICAgIGZvciAoOyAhb2JqLT5zdHJ1Y3R1cmUoKS0+aGFzUmVh
ZE9ubHlPckdldHRlclNldHRlclByb3BlcnRpZXNFeGNsdWRpbmdQcm90bygpOyBvYmogPSBhc09i
amVjdChwcm90b3R5cGUpKSB7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmotPnByb3RvdHlw
ZSgpOworICAgICAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkgeworICAgICAgICAgICAg
ICAgIGlmIChzbG90LmlzU3RyaWN0TW9kZSgpKQorICAgICAgICAgICAgICAgICAgICB0aHJvd1R5
cGVFcnJvcihleGVjLCBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpOworICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGZvciAoOyA7IG9iaiA9IGFzT2JqZWN0KHByb3RvdHlwZSkpIHsKKyAgICAgICAgdW5zaWdu
ZWQgYXR0cmlidXRlczsKKyAgICAgICAgSlNDZWxsKiBzcGVjaWZpY1ZhbHVlOworICAgICAgICBz
aXplX3Qgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEsIHByb3BlcnR5
TmFtZSwgYXR0cmlidXRlcywgc3BlY2lmaWNWYWx1ZSk7CisgICAgICAgIGlmIChvZmZzZXQgIT0g
V1RGOjpub3RGb3VuZCkgeworICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBSZWFkT25seSkg
eworICAgICAgICAgICAgICAgIGlmIChzbG90LmlzU3RyaWN0TW9kZSgpKQorICAgICAgICAgICAg
ICAgICAgICB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCBTdHJpY3RNb2Rl
UmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIEpTVmFsdWUgZ3MgPSBvYmotPmdldERpcmVjdE9m
ZnNldChvZmZzZXQpOworICAgICAgICAgICAgaWYgKGdzLmlzR2V0dGVyU2V0dGVyKCkpIHsKKyAg
ICAgICAgICAgICAgICBKU09iamVjdCogc2V0dGVyRnVuYyA9IGFzR2V0dGVyU2V0dGVyKGdzKS0+
c2V0dGVyKCk7ICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoIXNldHRlckZ1bmMpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNTdHJpY3RNb2RlKCkpCisgICAgICAgICAgICAg
ICAgICAgICAgICB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCAic2V0dGlu
ZyBhIHByb3BlcnR5IHRoYXQgaGFzIG9ubHkgYSBnZXR0ZXIiKSk7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgCisgICAgICAg
ICAgICAgICAgQ2FsbERhdGEgY2FsbERhdGE7CisgICAgICAgICAgICAgICAgQ2FsbFR5cGUgY2Fs
bFR5cGUgPSBzZXR0ZXJGdW5jLT5tZXRob2RUYWJsZSgpLT5nZXRDYWxsRGF0YShzZXR0ZXJGdW5j
LCBjYWxsRGF0YSk7CisgICAgICAgICAgICAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsK
KyAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZCh2YWx1ZSk7CisKKyAgICAgICAgICAgICAgICAv
LyBJZiB0aGlzIGlzIFdlYkNvcmUncyBnbG9iYWwgb2JqZWN0IHRoZW4gd2UgbmVlZCB0byBzdWJz
dGl0dXRlIHRoZSBzaGVsbC4KKyAgICAgICAgICAgICAgICBjYWxsKGV4ZWMsIHNldHRlckZ1bmMs
IGNhbGxUeXBlLCBjYWxsRGF0YSwgKnRoaXMsIGFyZ3MpOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gSWYgdGhlcmUncyBhbiBleGlzdGlu
ZyBwcm9wZXJ0eSBvbiB0aGUgb2JqZWN0IG9yIG9uZSBvZiBpdHMgCisgICAgICAgICAgICAvLyBw
cm90b3R5cGVzIGl0IHNob3VsZCBiZSByZXBsYWNlZCwgc28gYnJlYWsgaGVyZS4KKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgcHJvdG90eXBlID0gb2JqLT5wcm90b3R5
cGUoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFr
OworICAgIH0KKyAgICAKKyAgICBpZiAoc2xvdC5pc1N0cmljdE1vZGUoKSkKKyAgICAgICAgdGhy
b3dUeXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsK
KyAgICByZXR1cm47Cit9CisKIGNoYXIqIEpTVmFsdWU6OmRlc2NyaXB0aW9uKCkKIHsKICAgICBz
dGF0aWMgY29uc3Qgc2l6ZV90IHNpemUgPSAxMjg7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1ZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNWYWx1ZS5oCShyZXZpc2lvbiAxMDkxNDYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIyMSw2ICsyMjEsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgSlNWYWx1ZSBnZXQoRXhlY1N0YXRlKiwgdW5zaWdu
ZWQgcHJvcGVydHlOYW1lKSBjb25zdDsKICAgICAgICAgSlNWYWx1ZSBnZXQoRXhlY1N0YXRlKiwg
dW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKSBjb25zdDsKICAgICAgICAgdm9p
ZCBwdXQoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
LCBQdXRQcm9wZXJ0eVNsb3QmKTsKKyAgICAgICAgdm9pZCBwdXRUb1ByaW1pdGl2ZShFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5
U2xvdCYpOwogICAgICAgICB2b2lkIHB1dChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5h
bWUsIEpTVmFsdWUpOwogCiAgICAgICAgIEpTT2JqZWN0KiB0b1RoaXNPYmplY3QoRXhlY1N0YXRl
KikgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNs
b3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3Bl
cnR5U2xvdC5jcHAJKHJldmlzaW9uIDEwOTE0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3BlcnR5U2xvdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDExICszNCw3IEBA
IEpTVmFsdWUgUHJvcGVydHlTbG90OjpmdW5jdGlvbkdldHRlcihFeGUKIAogICAgIENhbGxEYXRh
IGNhbGxEYXRhOwogICAgIENhbGxUeXBlIGNhbGxUeXBlID0gbV9kYXRhLmdldHRlckZ1bmMtPm1l
dGhvZFRhYmxlKCktPmdldENhbGxEYXRhKG1fZGF0YS5nZXR0ZXJGdW5jLCBjYWxsRGF0YSk7Ci0g
ICAgCi0gICAgLy8gT25seSBvYmplY3RzIGNhbiBoYXZlIGFjY2Vzc29yIHByb3BlcnRpZXMuCi0g
ICAgLy8gSWYgdGhlIGJhc2UgaXMgV2ViQ29yZSdzIGdsb2JhbCBvYmplY3QgdGhlbiB3ZSBuZWVk
IHRvIHN1YnN0aXR1dGUgdGhlIHNoZWxsLgotICAgIEFTU0VSVChtX3Nsb3RCYXNlLmlzT2JqZWN0
KCkpOwotICAgIHJldHVybiBjYWxsKGV4ZWMsIG1fZGF0YS5nZXR0ZXJGdW5jLCBjYWxsVHlwZSwg
Y2FsbERhdGEsIG1fdGhpc1ZhbHVlLnRvVGhpc09iamVjdChleGVjKSwgZXhlYy0+ZW1wdHlMaXN0
KCkpOworICAgIHJldHVybiBjYWxsKGV4ZWMsIG1fZGF0YS5nZXR0ZXJGdW5jLCBjYWxsVHlwZSwg
Y2FsbERhdGEsIG1fdGhpc1ZhbHVlLmlzT2JqZWN0KCkgPyBtX3RoaXNWYWx1ZS50b1RoaXNPYmpl
Y3QoZXhlYykgOiBtX3RoaXNWYWx1ZSwgZXhlYy0+ZW1wdHlMaXN0KCkpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBKU0MKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwOTE3MykKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAyLTI4ICBHYXZp
biBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAgICBbW0dldF1d
L1tbUHV0XV0gZm9yIHByaW1pdGl2ZXMgc2hvdWxkIG5vdCB3cmFwIG9uIHN0cmljdCBhY2Nlc3Nv
ciBjYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
OTU4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IHRoZSBjYXNlIG9mIFtbR2V0XV0sIHRoaXMgaXMgYSBwcmV0dHkgdHJpdmlhbCBidWcgLSBqdXN0
IGRvbid0IHdyYXAKKyAgICAgICAgcHJpbWl0aXZlcyBhdCB0aGUgcG9pbnQgeW91IGNhbGwgYSBn
ZXR0ZXIuCisKKyAgICAgICAgRm9yIHNldHRlcnMsIHRoaXMgaXMgYSBsaXR0bGUgbW9yZSBpbnZv
bHZlZCwgc2luY2Ugd2UgaGF2ZSBhbHJlYWR5IHdyYXBwZWQKKyAgICAgICAgdGhlIHZhbHVlIHVw
IGluIGEgc3ludGhlc2l6ZWQgb2JqZWN0LiBTdG9wIGRvaW5nIHNvLiBUaGVyZSBpcyBhbHNvIGEg
ZnVydGhlcgorICAgICAgICBzdWJ0ZWx5LCB0aGF0IGluIHN0cmljdCBtb2RlIGFsbCBhdHRlbXB0
cyB0byBjcmVhdGUgYSBuZXcgZGF0YSBwcm9wZXJ0eSBvbgorICAgICAgICB0aGUgb2JqZWN0IHNo
b3VsZCB0aHJvdy4KKworICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNS41LjEt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvanMvcHJpbWl0aXZlLXByb3BlcnR5LWFjY2Vz
cy1lZGdlLWNhc2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL3JlYWQtbW9kaWZ5
LWV2YWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRlc3RzL3ByaW1p
dGl2ZS1wcm9wZXJ0eS1hY2Nlc3MtZWRnZS1jYXNlcy5qczoKKyAgICAgICAgKiBmYXN0L2pzL3Nj
cmlwdC10ZXN0cy9yZWFkLW1vZGlmeS1ldmFsLmpzOgorICAgICAgICAgICAgLSBBZGRlZCBuZXcg
dGVzdCBjYXNlcyAmIHVwZGF0ZWQgdGVzdCByZXN1bHRzLgorCiAyMDEyLTAyLTI4ICBBZGFtIEts
ZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5n
LCBtYXJrIGFub3RoZXIgY29tcG9zaXRpbmcgdGVzdCBhcyBmbGFreS4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvanMvcHJpbWl0aXZlLXByb3BlcnR5LWFjY2Vzcy1lZGdlLWNhc2VzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3ByaW1pdGl2ZS1wcm9wZXJ0
eS1hY2Nlc3MtZWRnZS1jYXNlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEwOTE0NikKKysrIExh
eW91dFRlc3RzL2Zhc3QvanMvcHJpbWl0aXZlLXByb3BlcnR5LWFjY2Vzcy1lZGdlLWNhc2VzLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDMwIEBAIFRoaXMgcGFnZSB0ZXN0
cyBmb3IgYXNzZXJ0aW9uIGZhaWx1cmVzIGkKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAog
CitQQVNTIGNoZWNrR2V0KDEsIE51bWJlcikgaXMgdHJ1ZQorUEFTUyBjaGVja0dldCgnaGVsbG8n
LCBTdHJpbmcpIGlzIHRydWUKK1BBU1MgY2hlY2tHZXQodHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQor
UEFTUyBjaGVja1NldCgxLCBOdW1iZXIpIGlzIHRydWUKK1BBU1MgY2hlY2tTZXQoJ2hlbGxvJywg
U3RyaW5nKSBpcyB0cnVlCitQQVNTIGNoZWNrU2V0KHRydWUsIEJvb2xlYW4pIGlzIHRydWUKK1BB
U1MgY2hlY2tHZXRTdHJpY3QoMSwgTnVtYmVyKSBpcyB0cnVlCitQQVNTIGNoZWNrR2V0U3RyaWN0
KCdoZWxsbycsIFN0cmluZykgaXMgdHJ1ZQorUEFTUyBjaGVja0dldFN0cmljdCh0cnVlLCBCb29s
ZWFuKSBpcyB0cnVlCitQQVNTIGNoZWNrU2V0U3RyaWN0KDEsIE51bWJlcikgaXMgdHJ1ZQorUEFT
UyBjaGVja1NldFN0cmljdCgnaGVsbG8nLCBTdHJpbmcpIGlzIHRydWUKK1BBU1MgY2hlY2tTZXRT
dHJpY3QodHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQorUEFTUyBjaGVja1JlYWQoMSwgTnVtYmVyKSBp
cyB0cnVlCitQQVNTIGNoZWNrUmVhZCgnaGVsbG8nLCBTdHJpbmcpIGlzIHRydWUKK1BBU1MgY2hl
Y2tSZWFkKHRydWUsIEJvb2xlYW4pIGlzIHRydWUKK1BBU1MgY2hlY2tXcml0ZSgxLCBOdW1iZXIp
IGlzIHRydWUKK1BBU1MgY2hlY2tXcml0ZSgnaGVsbG8nLCBTdHJpbmcpIGlzIHRydWUKK1BBU1Mg
Y2hlY2tXcml0ZSh0cnVlLCBCb29sZWFuKSBpcyB0cnVlCitQQVNTIGNoZWNrUmVhZFN0cmljdCgx
LCBOdW1iZXIpIGlzIHRydWUKK1BBU1MgY2hlY2tSZWFkU3RyaWN0KCdoZWxsbycsIFN0cmluZykg
aXMgdHJ1ZQorUEFTUyBjaGVja1JlYWRTdHJpY3QodHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQorUEFT
UyBjaGVja1dyaXRlU3RyaWN0KDEsIE51bWJlcikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4uCitQQVNTIGNoZWNrV3Jp
dGVTdHJpY3QoJ2hlbGxvJywgU3RyaW5nKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRl
bXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5IHByb3BlcnR5Li4KK1BBU1MgY2hlY2tXcml0ZVN0
cmljdCh0cnVlLCBCb29sZWFuKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRlbXB0ZWQg
dG8gYXNzaWduIHRvIHJlYWRvbmx5IHByb3BlcnR5Li4KIFBBU1MgZGlkTm90Q3Jhc2ggaXMgdHJ1
ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2pzL3JlYWQtbW9kaWZ5LWV2YWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvanMvcmVhZC1tb2RpZnktZXZhbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEw
OTE0NikKKysrIExheW91dFRlc3RzL2Zhc3QvanMvcmVhZC1tb2RpZnktZXZhbC1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAgUEFTUyBwcmVEZWNUZXN0KCk7IGlz
IHRydWUKIFBBU1MgcG9zdEluY1Rlc3QoKTsgaXMgdHJ1ZQogUEFTUyBwb3N0RGVjVGVzdCgpOyBp
cyB0cnVlCiBQQVNTIHByaW1pdGl2ZVRoaXNUZXN0LmNhbGwoMSk7IGlzIHRydWUKLVBBU1Mgc3Ry
aWN0VGhpc1Rlc3QuY2FsbCgxKTsgaXMgdHJ1ZQorUEFTUyBzdHJpY3RUaGlzVGVzdC5jYWxsKDEp
OyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRv
bmx5IHByb3BlcnR5Li4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBD
T01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxhL3N0cmljdC8xNS41LjUu
MS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9tb3ppbGxh
L3N0cmljdC8xNS41LjUuMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEwOTE0NikKKysrIExheW91
dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNS41LjEtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC00LDcgKzQsNyBAQCBQQVNTIHRydWUgPT09IHRydWUKIFBBU1MgJ3VzZSBz
dHJpY3QnOyB2YXIgcyA9IHN0cigpOyBkZWxldGUgcy5sZW5ndGggdGhyZXcgZXhjZXB0aW9uIG9m
IHR5cGUgVHlwZUVycm9yLgogUEFTUyB2YXIgcyA9IHN0cigpOyBkZWxldGUgcy5sZW5ndGggaXMg
ZmFsc2UKIFBBU1MgdHJ1ZSA9PT0gdHJ1ZQotRkFJTCAndXNlIHN0cmljdCc7ICJmb28iLmxlbmd0
aCA9IDEgc2hvdWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgorUEFTUyAndXNlIHN0
cmljdCc7ICJmb28iLmxlbmd0aCA9IDEgdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUgVHlwZUVycm9y
LgogUEFTUyAiZm9vIi5sZW5ndGggPSAxIGlzIDEKIFBBU1MgdHJ1ZSA9PT0gdHJ1ZQogUEFTUyAn
dXNlIHN0cmljdCc7IGRlbGV0ZSAiZm9vIi5sZW5ndGggdGhyZXcgZXhjZXB0aW9uIG9mIHR5cGUg
VHlwZUVycm9yLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvcHJpbWl0
aXZlLXByb3BlcnR5LWFjY2Vzcy1lZGdlLWNhc2VzLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3ByaW1pdGl2ZS1wcm9wZXJ0eS1hY2Nlc3MtZWRnZS1j
YXNlcy5qcwkocmV2aXNpb24gMTA5MTQ2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQt
dGVzdHMvcHJpbWl0aXZlLXByb3BlcnR5LWFjY2Vzcy1lZGdlLWNhc2VzLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0zNyw0ICszNyw5MyBAQCB2YXIgZGlkTm90Q3Jhc2ggPSB0cnVlOwogICAgICAgICBm
KC41KTsKIH0pKCk7CiAKKwordmFyIGNoZWNrT2theTsKKworZnVuY3Rpb24gY2hlY2tHZXQoeCwg
Y29uc3RydWN0b3IpCit7CisgICAgY2hlY2tPa2F5ID0gZmFsc2U7CisgICAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KGNvbnN0cnVjdG9yLnByb3RvdHlwZSwgImZvbyIsIHsgZ2V0OiBmdW5jdGlvbigp
IHsgY2hlY2tPa2F5ID0gdHlwZW9mIHRoaXMgPT09ICdvYmplY3QnOyB9LCBjb25maWd1cmFibGU6
IHRydWUgfSk7CisgICAgeC5mb287CisgICAgZGVsZXRlIGNvbnN0cnVjdG9yLnByb3RvdHlwZS5m
b287CisgICAgcmV0dXJuIGNoZWNrT2theTsKK30KKworZnVuY3Rpb24gY2hlY2tTZXQoeCwgY29u
c3RydWN0b3IpCit7CisgICAgY2hlY2tPa2F5ID0gZmFsc2U7CisgICAgT2JqZWN0LmRlZmluZVBy
b3BlcnR5KGNvbnN0cnVjdG9yLnByb3RvdHlwZSwgImZvbyIsIHsgc2V0OiBmdW5jdGlvbigpIHsg
Y2hlY2tPa2F5ID0gdHlwZW9mIHRoaXMgPT09ICdvYmplY3QnOyB9LCBjb25maWd1cmFibGU6IHRy
dWUgfSk7CisgICAgeC5mb28gPSBudWxsOworICAgIGRlbGV0ZSBjb25zdHJ1Y3Rvci5wcm90b3R5
cGUuZm9vOworICAgIHJldHVybiBjaGVja09rYXk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrR2V0U3Ry
aWN0KHgsIGNvbnN0cnVjdG9yKQoreworICAgIGNoZWNrT2theSA9IGZhbHNlOworICAgIE9iamVj
dC5kZWZpbmVQcm9wZXJ0eShjb25zdHJ1Y3Rvci5wcm90b3R5cGUsICJmb28iLCB7IGdldDogZnVu
Y3Rpb24oKSB7ICJ1c2Ugc3RyaWN0IjsgY2hlY2tPa2F5ID0gdHlwZW9mIHRoaXMgIT09ICdvYmpl
Y3QnOyB9LCBjb25maWd1cmFibGU6IHRydWUgfSk7CisgICAgeC5mb287CisgICAgZGVsZXRlIGNv
bnN0cnVjdG9yLnByb3RvdHlwZS5mb287CisgICAgcmV0dXJuIGNoZWNrT2theTsKK30KKworZnVu
Y3Rpb24gY2hlY2tTZXRTdHJpY3QoeCwgY29uc3RydWN0b3IpCit7CisgICAgY2hlY2tPa2F5ID0g
ZmFsc2U7CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnN0cnVjdG9yLnByb3RvdHlwZSwg
ImZvbyIsIHsgc2V0OiBmdW5jdGlvbigpIHsgInVzZSBzdHJpY3QiOyBjaGVja09rYXkgPSB0eXBl
b2YgdGhpcyAhPT0gJ29iamVjdCc7IH0sIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsKKyAgICB4LmZv
byA9IG51bGw7CisgICAgZGVsZXRlIGNvbnN0cnVjdG9yLnByb3RvdHlwZS5mb287CisgICAgcmV0
dXJuIGNoZWNrT2theTsKK30KKworc2hvdWxkQmVUcnVlKCJjaGVja0dldCgxLCBOdW1iZXIpIik7
CitzaG91bGRCZVRydWUoImNoZWNrR2V0KCdoZWxsbycsIFN0cmluZykiKTsKK3Nob3VsZEJlVHJ1
ZSgiY2hlY2tHZXQodHJ1ZSwgQm9vbGVhbikiKTsKK3Nob3VsZEJlVHJ1ZSgiY2hlY2tTZXQoMSwg
TnVtYmVyKSIpOworc2hvdWxkQmVUcnVlKCJjaGVja1NldCgnaGVsbG8nLCBTdHJpbmcpIik7Citz
aG91bGRCZVRydWUoImNoZWNrU2V0KHRydWUsIEJvb2xlYW4pIik7CitzaG91bGRCZVRydWUoImNo
ZWNrR2V0U3RyaWN0KDEsIE51bWJlcikiKTsKK3Nob3VsZEJlVHJ1ZSgiY2hlY2tHZXRTdHJpY3Qo
J2hlbGxvJywgU3RyaW5nKSIpOworc2hvdWxkQmVUcnVlKCJjaGVja0dldFN0cmljdCh0cnVlLCBC
b29sZWFuKSIpOworc2hvdWxkQmVUcnVlKCJjaGVja1NldFN0cmljdCgxLCBOdW1iZXIpIik7Citz
aG91bGRCZVRydWUoImNoZWNrU2V0U3RyaWN0KCdoZWxsbycsIFN0cmluZykiKTsKK3Nob3VsZEJl
VHJ1ZSgiY2hlY2tTZXRTdHJpY3QodHJ1ZSwgQm9vbGVhbikiKTsKKworZnVuY3Rpb24gY2hlY2tS
ZWFkKHgsIGNvbnN0cnVjdG9yKQoreworICAgIHJldHVybiB4LmZvbyA9PT0gdW5kZWZpbmVkOwor
fQorCitmdW5jdGlvbiBjaGVja1dyaXRlKHgsIGNvbnN0cnVjdG9yKQoreworICAgIHguZm9vID0g
bnVsbDsKKyAgICByZXR1cm4geC5mb28gPT09IHVuZGVmaW5lZDsKK30KKworZnVuY3Rpb24gY2hl
Y2tSZWFkU3RyaWN0KHgsIGNvbnN0cnVjdG9yKQoreworICAgICJ1c2Ugc3RyaWN0IjsKKyAgICBy
ZXR1cm4geC5mb28gPT09IHVuZGVmaW5lZDsKK30KKworZnVuY3Rpb24gY2hlY2tXcml0ZVN0cmlj
dCh4LCBjb25zdHJ1Y3RvcikKK3sKKyAgICAidXNlIHN0cmljdCI7CisgICAgeC5mb28gPSBudWxs
OworICAgIHJldHVybiB4LmZvbyA9PT0gdW5kZWZpbmVkOworfQorCitzaG91bGRCZVRydWUoImNo
ZWNrUmVhZCgxLCBOdW1iZXIpIik7CitzaG91bGRCZVRydWUoImNoZWNrUmVhZCgnaGVsbG8nLCBT
dHJpbmcpIik7CitzaG91bGRCZVRydWUoImNoZWNrUmVhZCh0cnVlLCBCb29sZWFuKSIpOworc2hv
dWxkQmVUcnVlKCJjaGVja1dyaXRlKDEsIE51bWJlcikiKTsKK3Nob3VsZEJlVHJ1ZSgiY2hlY2tX
cml0ZSgnaGVsbG8nLCBTdHJpbmcpIik7CitzaG91bGRCZVRydWUoImNoZWNrV3JpdGUodHJ1ZSwg
Qm9vbGVhbikiKTsKK3Nob3VsZEJlVHJ1ZSgiY2hlY2tSZWFkU3RyaWN0KDEsIE51bWJlcikiKTsK
K3Nob3VsZEJlVHJ1ZSgiY2hlY2tSZWFkU3RyaWN0KCdoZWxsbycsIFN0cmluZykiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiY2hlY2tSZWFkU3RyaWN0KHRydWUsIEJvb2xlYW4pIik7CitzaG91bGRUaHJvdygi
Y2hlY2tXcml0ZVN0cmljdCgxLCBOdW1iZXIpIik7CitzaG91bGRUaHJvdygiY2hlY2tXcml0ZVN0
cmljdCgnaGVsbG8nLCBTdHJpbmcpIik7CitzaG91bGRUaHJvdygiY2hlY2tXcml0ZVN0cmljdCh0
cnVlLCBCb29sZWFuKSIpOworCiBzaG91bGRCZVRydWUoImRpZE5vdENyYXNoIik7CkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9yZWFkLW1vZGlmeS1ldmFsLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3JlYWQtbW9kaWZ5LWV2
YWwuanMJKHJldmlzaW9uIDEwOTE0NikKKysrIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRl
c3RzL3JlYWQtbW9kaWZ5LWV2YWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsxMTksNyBA
QCBmdW5jdGlvbiBzdHJpY3RUaGlzVGVzdCgpCiB7CiAgICAgLy8gSW4gYSBzdHJpY3QgbW9kZSBm
dW5jdGlvbiBwcmltaXRpdmUgdGhpcyB2YWx1ZXMgYXJlIG5vdCBjb252ZXJ0ZWQsIHNvCiAgICAg
Ly8gdGhlIHByb3BlcnR5IGFjY2VzcyBpbiB0aGUgZmlyc3QgZXZhbCBpcyB3cml0aW5nIGEgdmFs
dWUgdG8gYSB0ZW1wb3JhcnkKLSAgICAvLyBvYmplY3QsIGFuZCBzaG91bGQgbm90IGJlIG9ic2Vy
dmVkIGJ5IHRoZSBzZWNvbmQgZXZhbC4KKyAgICAvLyBvYmplY3QuIFRoaXMgdGhyb3dzLCBwZXIg
c2VjdGlvbiA4LjcuMi4KICAgICAidXNlIHN0cmljdCI7CiAgICAgZXZhbCgndGhpcy52YWx1ZSA9
ICJTZWVrcml0IG1lc3NhZ2UiOycpOwogICAgIHJldHVybiBldmFsKCd0aGlzLnZhbHVlJykgPT09
IHVuZGVmaW5lZDsKQEAgLTE0Myw0ICsxNDMsNCBAQCBzaG91bGRCZVRydWUoJ3Bvc3RJbmNUZXN0
KCk7Jyk7CiBzaG91bGRCZVRydWUoJ3Bvc3REZWNUZXN0KCk7Jyk7CiAKIHNob3VsZEJlVHJ1ZSgn
cHJpbWl0aXZlVGhpc1Rlc3QuY2FsbCgxKTsnKTsKLXNob3VsZEJlVHJ1ZSgnc3RyaWN0VGhpc1Rl
c3QuY2FsbCgxKTsnKTsKK3Nob3VsZFRocm93KCdzdHJpY3RUaGlzVGVzdC5jYWxsKDEpOycpOwo=
</data>
<flag name="review"
          id="132041"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>