<?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>166476</bug_id>
          
          <creation_ts>2016-12-25 09:39:22 -0800</creation_ts>
          <short_desc>[JSC] Implement (Shared)ArrayBuffer.prototype.byteLength</short_desc>
          <delta_ts>2017-02-11 14:14:18 -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>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>InRadar</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>commit-queue</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1262693</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-12-25 09:39:22 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262694</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-12-25 09:45:49 -0800</bug_when>
    <thetext>https://tc39.github.io/ecma262/#sec-get-arraybuffer.prototype.bytelength</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262697</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-12-25 10:00:36 -0800</bug_when>
    <thetext>We already have SharedArrayBuffer. So when implementing ArrayBuffer.prototype.byteLength, we should refer to the updated one in SharedArrayBuffer spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262698</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-12-25 10:00:45 -0800</bug_when>
    <thetext>http://tc39.github.io/ecmascript_sharedmem/shmem.html#StructuredData.SharedArrayBuffer.prototype.get_byteLength</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271424</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-01-30 15:01:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/30273638&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271425</commentid>
    <comment_count>5</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-01-30 15:01:56 -0800</bug_when>
    <thetext>This seems to be the one reason we&apos;re not at 100% in this:
 http://kangax.github.io/compat-table/es2016plus/

Probably worth doing, it&apos;s simple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274830</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-09 07:16:28 -0800</bug_when>
    <thetext>Start working on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275034</commentid>
    <comment_count>7</comment_count>
      <attachid>301078</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-09 13:51:19 -0800</bug_when>
    <thetext>Created attachment 301078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275720</commentid>
    <comment_count>8</comment_count>
      <attachid>301078</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-02-10 19:33:12 -0800</bug_when>
    <thetext>Comment on attachment 301078
Patch

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

r=me

&gt; JSTests/stress/array-buffer-byte-length.js:27
&gt; +    shouldBe(arrayBuffer.byteLength, 42);
&gt; +    shouldBe(sharedArrayBuffer.byteLength, 500);

Can you also add a test where HasOwnProperty(buffer, &quot;byteLength&quot;) is false?

&gt; JSTests/stress/array-buffer-byte-length.js:45
&gt; +    shouldThrow(() =&gt; {
&gt; +        Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, &apos;byteLength&apos;).get.call(sharedArrayBuffer);
&gt; +    }, `TypeError: Receiver should not be a shared array buffer`);
&gt; +
&gt; +    shouldThrow(() =&gt; {
&gt; +        Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, &apos;byteLength&apos;).get.call(arrayBuffer);
&gt; +    }, `TypeError: Receiver should be a shared array buffer`);

Can you also add tests for the other assertions:
- !thisValue.isObject()
- !thisValue.arrayBuffer()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275853</commentid>
    <comment_count>9</comment_count>
      <attachid>301078</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-11 14:12:14 -0800</bug_when>
    <thetext>Comment on attachment 301078
Patch

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

Thanks!

&gt;&gt; JSTests/stress/array-buffer-byte-length.js:27
&gt;&gt; +    shouldBe(sharedArrayBuffer.byteLength, 500);
&gt; 
&gt; Can you also add a test where HasOwnProperty(buffer, &quot;byteLength&quot;) is false?

Added.

&gt;&gt; JSTests/stress/array-buffer-byte-length.js:45
&gt;&gt; +    }, `TypeError: Receiver should be a shared array buffer`);
&gt; 
&gt; Can you also add tests for the other assertions:
&gt; - !thisValue.isObject()
&gt; - !thisValue.arrayBuffer()

Added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275856</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-02-11 14:14:18 -0800</bug_when>
    <thetext>Committed r212196: &lt;http://trac.webkit.org/changeset/212196&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301078</attachid>
            <date>2017-02-09 13:51:19 -0800</date>
            <delta_ts>2017-02-10 19:33:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166476-20170210064853.patch</filename>
            <type>text/plain</type>
            <size>13844</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExOTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MzY5MGI0MWZjOGQxOWEyZWE2NjIyYmZhOTYzYzkwNGI0NmUwMjhkLi41YzQ2OTUxOWM5MzU3MGY5
YzE5NjFkNDMxNWVmZjY4Mjg5ZjlkMjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAxNy0wMi0wOSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgKFNoYXJlZClBcnJheUJ1ZmZlci5wcm90
b3R5cGUuYnl0ZUxlbmd0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY2NDc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgYGJ5dGVMZW5ndGhgIGJlY29tZXMgZ2V0dGVyIGFuZCBpcyBzZXQgaW4gQXJyYXlC
dWZmZXIucHJvdG90eXBlCisgICAgICAgIGFuZCBTaGFyZWRBcnJheUJ1ZmZlci5wcm90b3R5cGUu
IFRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUKKyAgICAgICAgYWJvdmUgZ2V0dGVyIGluIG5hdGl2
ZSBmdW5jdGlvbi4gV2UgZG8gbm90IGhhdmUgYW55IG9wdGltaXphdGlvbgorICAgICAgICBwYXRo
IGZvciB0aGF0IGZvciBub3cgc2luY2UgQXJyYXlCdWZmZXIucHJvdG90eXBlLmJ5dGVMZW5ndGgg
aXMKKyAgICAgICAgbm90IGNvbnNpZGVyZWQgYSBob3QgZnVuY3Rpb246IHdoaWxlIFR5cGVkQXJy
YXlzIGhhdmUgW10gYWNjZXNzZXMsCisgICAgICAgIEFycmF5QnVmZmVyIGRvZXMgbm90IGhhdmUg
dGhhdC4gVGh1cyBieXRlTGVuZ3RoIGdldHRlciBpcyBub3Qgc28KKyAgICAgICAgbWVhbmluZ2Z1
bCBmb3IgYSBob3QgcGF0aHMgbGlrZSBpdGVyYXRpb25zLgorCisgICAgICAgICogcnVudGltZS9K
U0FycmF5QnVmZmVyLmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlcjo6Z2V0T3duUHJv
cGVydHlTbG90KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlcjo6cHV0KTog
RGVsZXRlZC4KKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlcjo6ZGVmaW5lT3duUHJvcGVydHkp
OiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0FycmF5QnVmZmVyOjpkZWxldGVQcm9wZXJ0eSk6
IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXI6OmdldE93bk5vbkluZGV4UHJv
cGVydHlOYW1lcyk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyLmg6
CisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXI6OmltcGwpOiBEZWxldGVkLgorICAgICAgICAq
IHJ1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmFycmF5
QnVmZmVyUHJvdG9HZXR0ZXJGdW5jQnl0ZUxlbmd0aCk6CisgICAgICAgIChKU0M6OnNoYXJlZEFy
cmF5QnVmZmVyUHJvdG9HZXR0ZXJGdW5jQnl0ZUxlbmd0aCk6CisgICAgICAgIChKU0M6OkpTQXJy
YXlCdWZmZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKwogMjAxNy0wMi0wOCAgS2VpdGgg
TWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBvcF9pbiBz
aG91bGQgaGF2ZSBBcnJheVByb2ZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXlCdWZmZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlci5jcHAKaW5kZXggMjM1NDBkYTBhOTZjNjQ4ZjBlNjE4NmQ1ZGY0Mzky
YTM5ZWJlYjc0Zi4uN2E3ZmFhYzc3NmEzYzM3MmZiZmZhNWMyNmJmNjE4MTFiYTY2MWZkMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlci5jcHAKQEAg
LTg1LDc0ICs4NSw1IEBAIHNpemVfdCBKU0FycmF5QnVmZmVyOjplc3RpbWF0ZWRTaXplKEpTQ2Vs
bCogY2VsbCkKICAgICByZXR1cm4gQmFzZTo6ZXN0aW1hdGVkU2l6ZShjZWxsKSArIGJ1ZmZlckVz
dGltYXRlZFNpemU7CiB9CiAKLWJvb2wgSlNBcnJheUJ1ZmZlcjo6Z2V0T3duUHJvcGVydHlTbG90
KAotICAgIEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQotewotICAgIEpTQXJyYXlCdWZmZXIqIHRo
aXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJheUJ1ZmZlcio+KG9iamVjdCk7Ci0gICAgCi0gICAgaWYg
KHByb3BlcnR5TmFtZSA9PSBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuYnl0ZUxlbmd0aCkgewotICAg
ICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIERvbnREZWxldGUgfCBSZWFkT25seSwganNO
dW1iZXIodGhpc09iamVjdC0+aW1wbCgpLT5ieXRlTGVuZ3RoKCkpKTsKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgfQotICAgIAotICAgIHJldHVybiBCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3Qo
dGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKLX0KLQotYm9vbCBKU0FycmF5
QnVmZmVyOjpwdXQoCi0gICAgSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsCi0gICAgUHV0UHJvcGVydHlTbG90JiBz
bG90KQotewotICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOwotICAgIEpTQXJyYXlCdWZmZXIqIHRoaXNPYmplY3QgPSBqc0Nh
c3Q8SlNBcnJheUJ1ZmZlcio+KGNlbGwpOwotCi0gICAgaWYgKFVOTElLRUxZKGlzVGhpc1ZhbHVl
QWx0ZXJlZChzbG90LCB0aGlzT2JqZWN0KSkpIHsKLSAgICAgICAgc2NvcGUucmVsZWFzZSgpOwot
ICAgICAgICByZXR1cm4gb3JkaW5hcnlTZXRTbG93KGV4ZWMsIHRoaXNPYmplY3QsIHByb3BlcnR5
TmFtZSwgdmFsdWUsIHNsb3QudGhpc1ZhbHVlKCksIHNsb3QuaXNTdHJpY3RNb2RlKCkpOwotICAg
IH0KLSAgICAKLSAgICBpZiAocHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPmJ5dGVM
ZW5ndGgpCi0gICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJp
Y3RNb2RlKCksIEFTQ0lJTGl0ZXJhbCgiQXR0ZW1wdGluZyB0byB3cml0ZSB0byBhIHJlYWQtb25s
eSBhcnJheSBidWZmZXIgcHJvcGVydHkuIikpOwotCi0gICAgc2NvcGUucmVsZWFzZSgpOwotICAg
IHJldHVybiBCYXNlOjpwdXQodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwg
c2xvdCk7Ci19Ci0KLWJvb2wgSlNBcnJheUJ1ZmZlcjo6ZGVmaW5lT3duUHJvcGVydHkoCi0gICAg
SlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lLAotICAgIGNvbnN0IFByb3BlcnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvciwgYm9vbCBzaG91
bGRUaHJvdykKLXsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBKU0FycmF5QnVmZmVyKiB0aGlzT2JqZWN0ID0g
anNDYXN0PEpTQXJyYXlCdWZmZXIqPihvYmplY3QpOwotICAgIAotICAgIGlmIChwcm9wZXJ0eU5h
bWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+Ynl0ZUxlbmd0aCkKLSAgICAgICAgcmV0dXJuIHR5cGVF
cnJvcihleGVjLCBzY29wZSwgc2hvdWxkVGhyb3csIEFTQ0lJTGl0ZXJhbCgiQXR0ZW1wdGluZyB0
byBkZWZpbmUgcmVhZC1vbmx5IGFycmF5IGJ1ZmZlciBwcm9wZXJ0eS4iKSk7Ci0KLSAgICBzY29w
ZS5yZWxlYXNlKCk7Ci0gICAgcmV0dXJuIEJhc2U6OmRlZmluZU93blByb3BlcnR5KHRoaXNPYmpl
Y3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgc2hvdWxkVGhyb3cpOwotfQotCi1i
b29sIEpTQXJyYXlCdWZmZXI6OmRlbGV0ZVByb3BlcnR5KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRl
KiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQotewotICAgIEpTQXJyYXlCdWZmZXIq
IHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJheUJ1ZmZlcio+KGNlbGwpOwotICAgIAotICAgIGlm
IChwcm9wZXJ0eU5hbWUgPT0gZXhlYy0+cHJvcGVydHlOYW1lcygpLmJ5dGVMZW5ndGgpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICByZXR1cm4gQmFzZTo6ZGVsZXRlUHJvcGVydHko
dGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lKTsKLX0KLQotdm9pZCBKU0FycmF5QnVmZmVy
OjpnZXRPd25Ob25JbmRleFByb3BlcnR5TmFtZXMoCi0gICAgSlNPYmplY3QqIG9iamVjdCwgRXhl
Y1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgYXJyYXksIEVudW1lcmF0aW9uTW9kZSBt
b2RlKQotewotICAgIEpTQXJyYXlCdWZmZXIqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJheUJ1
ZmZlcio+KG9iamVjdCk7Ci0gICAgCi0gICAgaWYgKG1vZGUuaW5jbHVkZURvbnRFbnVtUHJvcGVy
dGllcygpKQotICAgICAgICBhcnJheS5hZGQoZXhlYy0+cHJvcGVydHlOYW1lcygpLmJ5dGVMZW5n
dGgpOwotICAgIAotICAgIEJhc2U6OmdldE93bk5vbkluZGV4UHJvcGVydHlOYW1lcyh0aGlzT2Jq
ZWN0LCBleGVjLCBhcnJheSwgbW9kZSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmgKaW5kZXggNTJhYTZm
YTljMTRmZmVmZjdjYmMwNGRkZTllYmE0OGYwN2JjZjFmNS4uNTkyODdlMTdjYmQ3NWVhOGExYmU3
NmNmOTNjNTdmOGRkNzEyMGM0MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXlCdWZmZXIuaApAQCAtMzAsMTAgKzMwLDEwIEBACiAKIG5hbWVzcGFjZSBKU0Mgewog
Ci1jbGFzcyBKU0FycmF5QnVmZmVyIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgeworY2xhc3Mg
SlNBcnJheUJ1ZmZlciBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoK
LSAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmplY3QgQmFzZTsKLSAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dl
dFByb3BlcnR5TmFtZXMgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CisgICAgdXNpbmcg
QmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAg
SlNBcnJheUJ1ZmZlcihWTSYsIFN0cnVjdHVyZSosIFBhc3NSZWZQdHI8QXJyYXlCdWZmZXI+KTsK
QEAgLTU2LDE0ICs1Niw3IEBAIGNsYXNzIEpTQXJyYXlCdWZmZXIgOiBwdWJsaWMgSlNOb25GaW5h
bE9iamVjdCB7CiAgICAgc3RhdGljIEFycmF5QnVmZmVyKiB0b1dyYXBwZWQoVk0mLCBKU1ZhbHVl
KTsKICAgICAKIHByb3RlY3RlZDoKLQogICAgIHN0YXRpYyBzaXplX3QgZXN0aW1hdGVkU2l6ZShK
U0NlbGwqKTsKLSAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqLCBF
eGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwotICAgIHN0YXRpYyBib29s
IHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3Bl
cnR5U2xvdCYpOwotICAgIHN0YXRpYyBib29sIGRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0Kiwg
RXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29s
IHNob3VsZFRocm93KTsKLSAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBF
eGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUpOwotICAgIAotICAgIHN0YXRpYyB2b2lkIGdldE93bk5v
bkluZGV4UHJvcGVydHlOYW1lcyhKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFy
cmF5JiwgRW51bWVyYXRpb25Nb2RlKTsKIAogcHJpdmF0ZToKICAgICBBcnJheUJ1ZmZlciogbV9p
bXBsOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1
ZmZlclByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
QnVmZmVyUHJvdG90eXBlLmNwcAppbmRleCA1ZWU1YjY2NGJjMjA1ZmEzMzBkY2RjMTcyNTM1ZTgy
ZjE1OWU0YWQzLi5iODAzZDk1NTlkMjdjM2ZjNDE2ZDE1ZTlkZTNkNzBjOGY2YjBkNDZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90
eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVy
UHJvdG90eXBlLmNwcApAQCAtNzAsNiArNzAsNDYgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgYXJyYXlCdWZmZXJQcm90b0Z1bmNTbGljZShFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCisvLyBodHRwOi8vdGMzOS5n
aXRodWIuaW8vZWNtYXNjcmlwdF9zaGFyZWRtZW0vc2htZW0uaHRtbCNzZWMtZ2V0LWFycmF5YnVm
ZmVyLnByb3RvdHlwZS5ieXRlbGVuZ3RoCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBhcnJheUJ1ZmZlclByb3RvR2V0dGVyRnVuY0J5dGVMZW5ndGgoRXhlY1N0YXRlKiBleGVj
KQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUodm0pOworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+dGhpc1ZhbHVl
KCk7CisgICAgaWYgKCF0aGlzVmFsdWUuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHRocm93
Vk1UeXBlRXJyb3IoZXhlYywgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiUmVjZWl2ZXIgc2hvdWxkIGJl
IGFuIGFycmF5IGJ1ZmZlciBidXQgd2FzIG5vdCBhbiBvYmplY3QiKSk7CisKKyAgICBhdXRvKiB0
aGlzT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU0FycmF5QnVmZmVyKj4odm0sIHRoaXNWYWx1ZSk7
CisgICAgaWYgKCF0aGlzT2JqZWN0KQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihl
eGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJSZWNlaXZlciBzaG91bGQgYmUgYW4gYXJyYXkgYnVm
ZmVyIikpOworICAgIGlmICh0aGlzT2JqZWN0LT5pc1NoYXJlZCgpKQorICAgICAgICByZXR1cm4g
dGhyb3dWTVR5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJSZWNlaXZlciBzaG91
bGQgbm90IGJlIGEgc2hhcmVkIGFycmF5IGJ1ZmZlciIpKTsKKworICAgIHNjb3BlLnJlbGVhc2Uo
KTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIodGhpc09iamVjdC0+aW1w
bCgpLT5ieXRlTGVuZ3RoKCkpKTsKK30KKworLy8gaHR0cDovL3RjMzkuZ2l0aHViLmlvL2VjbWFz
Y3JpcHRfc2hhcmVkbWVtL3NobWVtLmh0bWwjU3RydWN0dXJlZERhdGEuU2hhcmVkQXJyYXlCdWZm
ZXIucHJvdG90eXBlLmdldF9ieXRlTGVuZ3RoCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBzaGFyZWRBcnJheUJ1ZmZlclByb3RvR2V0dGVyRnVuY0J5dGVMZW5ndGgoRXhlY1N0
YXRlKiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+
dGhpc1ZhbHVlKCk7CisgICAgaWYgKCF0aGlzVmFsdWUuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0
dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYywgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiUmVjZWl2ZXIg
c2hvdWxkIGJlIGFuIGFycmF5IGJ1ZmZlciBidXQgd2FzIG5vdCBhbiBvYmplY3QiKSk7CisKKyAg
ICBhdXRvKiB0aGlzT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU0FycmF5QnVmZmVyKj4odm0sIHRo
aXNWYWx1ZSk7CisgICAgaWYgKCF0aGlzT2JqZWN0KQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5
cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJSZWNlaXZlciBzaG91bGQgYmUgYW4g
YXJyYXkgYnVmZmVyIikpOworICAgIGlmICghdGhpc09iamVjdC0+aXNTaGFyZWQoKSkKKyAgICAg
ICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYywgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiUmVj
ZWl2ZXIgc2hvdWxkIGJlIGEgc2hhcmVkIGFycmF5IGJ1ZmZlciIpKTsKKworICAgIHNjb3BlLnJl
bGVhc2UoKTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIodGhpc09iamVj
dC0+aW1wbCgpLT5ieXRlTGVuZ3RoKCkpKTsKK30KKwogY29uc3QgQ2xhc3NJbmZvIEpTQXJyYXlC
dWZmZXJQcm90b3R5cGU6OnNfaW5mbyA9IHsKICAgICAiQXJyYXlCdWZmZXJQcm90b3R5cGUiLCAm
QmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyYXlCdWZmZXJQcm90b3R5
cGUpCiB9OwpAQCAtODYsNiArMTI2LDEwIEBAIHZvaWQgSlNBcnJheUJ1ZmZlclByb3RvdHlwZTo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0CiAgICAg
CiAgICAgSlNDX05BVElWRV9GVU5DVElPTl9XSVRIT1VUX1RSQU5TSVRJT04odm0ucHJvcGVydHlO
YW1lcy0+c2xpY2UsIGFycmF5QnVmZmVyUHJvdG9GdW5jU2xpY2UsIERvbnRFbnVtLCAyKTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+dG9TdHJp
bmdUYWdTeW1ib2wsIGpzU3RyaW5nKCZ2bSwgYXJyYXlCdWZmZXJTaGFyaW5nTW9kZU5hbWUobV9z
aGFyaW5nTW9kZSkpLCBEb250RW51bSB8IFJlYWRPbmx5KTsKKyAgICBpZiAobV9zaGFyaW5nTW9k
ZSA9PSBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlOjpEZWZhdWx0KQorICAgICAgICBKU0NfTkFUSVZF
X0dFVFRFUih2bS5wcm9wZXJ0eU5hbWVzLT5ieXRlTGVuZ3RoLCBhcnJheUJ1ZmZlclByb3RvR2V0
dGVyRnVuY0J5dGVMZW5ndGgsIERvbnRFbnVtIHwgUmVhZE9ubHkpOworICAgIGVsc2UKKyAgICAg
ICAgSlNDX05BVElWRV9HRVRURVIodm0ucHJvcGVydHlOYW1lcy0+Ynl0ZUxlbmd0aCwgc2hhcmVk
QXJyYXlCdWZmZXJQcm90b0dldHRlckZ1bmNCeXRlTGVuZ3RoLCBEb250RW51bSB8IFJlYWRPbmx5
KTsKIH0KIAogSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogSlNBcnJheUJ1ZmZlclByb3RvdHlwZTo6
Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEFycmF5QnVmZmVyU2hhcmluZ01vZGUgc2hhcmluZ01vZGUpCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL0NoYWtyYUNvcmUvdGVzdC90eXBlZGFycmF5L2FycmF5YnVmZmVyVHlwZS5iYXNl
bGluZS1qc2MgYi9KU1Rlc3RzL0NoYWtyYUNvcmUvdGVzdC90eXBlZGFycmF5L2FycmF5YnVmZmVy
VHlwZS5iYXNlbGluZS1qc2MKaW5kZXggNjU0YjI4ZDhhN2E5M2Y2YTA1N2M1NjkyYzAyMmM1ODc1
OTQyOThhZC4uOTczMmFmODcyNWFiMWViNWM5YWE3ZDY4YjY5Y2FiNjRhYmZlOTM0NiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy9DaGFrcmFDb3JlL3Rlc3QvdHlwZWRhcnJheS9hcnJheWJ1ZmZlclR5cGUu
YmFzZWxpbmUtanNjCisrKyBiL0pTVGVzdHMvQ2hha3JhQ29yZS90ZXN0L3R5cGVkYXJyYXkvYXJy
YXlidWZmZXJUeXBlLmJhc2VsaW5lLWpzYwpAQCAtNyw2ICs3LDcgQEAgZm9vID0gMjAKIGJhciA9
IDQyCiAyMAogc2xpY2UKK2J5dGVMZW5ndGgKIGNvbnN0cnVjdG9yCiBhYWEKIGZvbwpAQCAtMTcs
NiArMTgsNyBAQCBhYWEgPSAyMAogZm9vID0gMjAKIGJhciA9IDQyCiBzbGljZQorYnl0ZUxlbmd0
aAogY29uc3RydWN0b3IKIGFhYQogZm9vCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBi
L0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdkODgxMDIxNDUwZWY2MzdiNzQzYTk4MDQ1Yjg5MDNl
NjQwY2Y5ZmQuLmJhMDg1MWE3Yzg3MmQ1ZTg0ZDZmNjM3YmFjZDU0NjcwNmMxOTAxNjAgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTctMDItMDkgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5j
b20+CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50IChTaGFyZWQpQXJyYXlCdWZmZXIucHJvdG90
eXBlLmJ5dGVMZW5ndGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2NjQ3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogQ2hha3JhQ29yZS90ZXN0L3R5cGVkYXJyYXkvYXJyYXlidWZmZXJUeXBlLmJhc2Vs
aW5lLWpzYzoKKyAgICAgICAgKiBzdHJlc3MvYXJyYXktYnVmZmVyLWJ5dGUtbGVuZ3RoLmpzOiBB
ZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKHNob3VsZFRocm93KToKKyAgICAg
ICAgKiBzdHJlc3MvcmVmbGVjdC1zZXQuanM6CisKIDIwMTctMDItMDQgIFl1c3VrZSBTdXp1a2kg
IDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gQWRkIG9wZXJhdGlvblRv
SW50MzJTZW5zaWJsZVNsb3cgdG8gb3B0aW1pemUga3Jha2VuIHBia2RmMiBhbmQgc2hhMjU2CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9hcnJheS1idWZmZXItYnl0ZS1sZW5ndGguanMgYi9K
U1Rlc3RzL3N0cmVzcy9hcnJheS1idWZmZXItYnl0ZS1sZW5ndGguanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTg5
ZTZjYmE5MzI4ZGI5ZGQyMDFiMTdlZmIwZDM1NWY3ODJkOGU0MQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvc3RyZXNzL2FycmF5LWJ1ZmZlci1ieXRlLWxlbmd0aC5qcwpAQCAtMCwwICsxLDQ2
IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKQoreworICAgIGlmIChhY3R1
YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGJhZCB2YWx1ZTogJHtT
dHJpbmcoYWN0dWFsKX1gKTsKK30KKworZnVuY3Rpb24gc2hvdWxkVGhyb3coZnVuYywgZXJyb3JN
ZXNzYWdlKQoreworICAgIHZhciBlcnJvclRocm93biA9IGZhbHNlOworICAgIHZhciBlcnJvciA9
IG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgZnVuYygpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgZXJyb3JUaHJvd24gPSB0cnVlOworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAg
IGlmICghZXJyb3JUaHJvd24pCisgICAgICAgIHRocm93IG5ldyBFcnJvcignbm90IHRocm93bicp
OworICAgIGlmIChTdHJpbmcoZXJyb3IpICE9PSBlcnJvck1lc3NhZ2UpCisgICAgICAgIHRocm93
IG5ldyBFcnJvcihgYmFkIGVycm9yOiAke1N0cmluZyhlcnJvcil9YCk7Cit9CisKK3sKKyAgICBs
ZXQgYXJyYXlCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoNDIpOworICAgIGxldCBzaGFyZWRBcnJh
eUJ1ZmZlciA9IG5ldyBTaGFyZWRBcnJheUJ1ZmZlcig1MDApOworICAgIHNob3VsZEJlKGFycmF5
QnVmZmVyLmJ5dGVMZW5ndGgsIDQyKTsKKyAgICBzaG91bGRCZShzaGFyZWRBcnJheUJ1ZmZlci5i
eXRlTGVuZ3RoLCA1MDApOworICAgIHNob3VsZEJlKEFycmF5QnVmZmVyLnByb3RvdHlwZS5oYXNP
d25Qcm9wZXJ0eSgnYnl0ZUxlbmd0aCcpLCB0cnVlKTsKKyAgICBzaG91bGRCZShTaGFyZWRBcnJh
eUJ1ZmZlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2J5dGVMZW5ndGgnKSwgdHJ1ZSk7CisK
KyAgICBzaG91bGRCZSghIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXlCdWZm
ZXIucHJvdG90eXBlLCAnYnl0ZUxlbmd0aCcpLmdldCwgdHJ1ZSk7CisgICAgc2hvdWxkQmUoISFP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFNoYXJlZEFycmF5QnVmZmVyLnByb3RvdHlw
ZSwgJ2J5dGVMZW5ndGgnKS5nZXQsIHRydWUpOworCisgICAgc2hvdWxkQmUoISFPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5QnVmZmVyLnByb3RvdHlwZSwgJ2J5dGVMZW5ndGgn
KS5zZXQsIGZhbHNlKTsKKyAgICBzaG91bGRCZSghIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoU2hhcmVkQXJyYXlCdWZmZXIucHJvdG90eXBlLCAnYnl0ZUxlbmd0aCcpLnNldCwgZmFs
c2UpOworCisgICAgc2hvdWxkQmUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJh
eUJ1ZmZlci5wcm90b3R5cGUsICdieXRlTGVuZ3RoJykuZ2V0ICE9PSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKFNoYXJlZEFycmF5QnVmZmVyLnByb3RvdHlwZSwgJ2J5dGVMZW5ndGgn
KS5nZXQsIHRydWUpOworCisgICAgc2hvdWxkVGhyb3coKCkgPT4geworICAgICAgICBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5QnVmZmVyLnByb3RvdHlwZSwgJ2J5dGVMZW5n
dGgnKS5nZXQuY2FsbChzaGFyZWRBcnJheUJ1ZmZlcik7CisgICAgfSwgYFR5cGVFcnJvcjogUmVj
ZWl2ZXIgc2hvdWxkIG5vdCBiZSBhIHNoYXJlZCBhcnJheSBidWZmZXJgKTsKKworICAgIHNob3Vs
ZFRocm93KCgpID0+IHsKKyAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihT
aGFyZWRBcnJheUJ1ZmZlci5wcm90b3R5cGUsICdieXRlTGVuZ3RoJykuZ2V0LmNhbGwoYXJyYXlC
dWZmZXIpOworICAgIH0sIGBUeXBlRXJyb3I6IFJlY2VpdmVyIHNob3VsZCBiZSBhIHNoYXJlZCBh
cnJheSBidWZmZXJgKTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3JlZmxlY3Qtc2V0
LmpzIGIvSlNUZXN0cy9zdHJlc3MvcmVmbGVjdC1zZXQuanMKaW5kZXggZDhkOGI5NGRhNmVmMDA5
ODVkNTE2OWI2MWVhZGVmZjRhMjE4ZDY5My4uZWYzMTVhYzYyZDAxYmUwZjQ2ZTNiMmUyMzI1NzIz
NjU1ZDQzYmU1NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9zdHJlc3MvcmVmbGVjdC1zZXQuanMKKysr
IGIvSlNUZXN0cy9zdHJlc3MvcmVmbGVjdC1zZXQuanMKQEAgLTQ5MCwxMCArNDkwLDEwIEBAIHNl
dCBDb2NvYSh2YWx1ZSkgewogICAgIHZhciBvYmplY3QgPSBuZXcgQXJyYXlCdWZmZXIoNjQpOwog
ICAgIHNob3VsZEJlKFJlZmxlY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0LCAnYnl0ZUxlbmd0aCcs
IHsKICAgICAgICAgd3JpdGFibGU6IGZhbHNlCi0gICAgfSksIGZhbHNlKTsKLSAgICBzaG91bGRC
ZShSZWZsZWN0LmdldChvYmplY3QsICdieXRlTGVuZ3RoJyksIDY0KTsKKyAgICB9KSwgdHJ1ZSk7
CisgICAgc2hvdWxkQmUoUmVmbGVjdC5nZXQob2JqZWN0LCAnYnl0ZUxlbmd0aCcpLCB1bmRlZmlu
ZWQpOwogICAgIHNob3VsZEJlKFJlZmxlY3Quc2V0KG9iamVjdCwgJ2J5dGVMZW5ndGgnLCAyMCks
IGZhbHNlKTsKLSAgICBzaG91bGRCZShSZWZsZWN0LmdldChvYmplY3QsICdieXRlTGVuZ3RoJyks
IDY0KTsKKyAgICBzaG91bGRCZShSZWZsZWN0LmdldChvYmplY3QsICdieXRlTGVuZ3RoJyksIHVu
ZGVmaW5lZCk7CiAKICAgICB2YXIgb2JqZWN0ID0gbmV3IEFycmF5QnVmZmVyKDY0KTsKICAgICBz
aG91bGRCZShSZWZsZWN0LmRlZmluZVByb3BlcnR5KG9iamVjdCwgJ2hlbGxvJywgewo=
</data>
<flag name="review"
          id="322936"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>