<?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>141650</bug_id>
          
          <creation_ts>2015-02-16 09:21:28 -0800</creation_ts>
          <short_desc>[Streams API] Reading ReadableStream ready and closed attributes should not always create a new promise</short_desc>
          <delta_ts>2015-02-24 06:48:56 -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>WebCore Misc.</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>
          
          <blocked>141160</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1069454</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-16 09:21:28 -0800</bug_when>
    <thetext>As discussed in https://bugs.webkit.org/attachment.cgi?id=246100&amp;action=review, the current implementation of ReadableStream ready attribute leads to the creation of a new promise object each time one the ready attribute is read.
This should be fixed so that the same promise object is returned.
This also applies to the closed attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069456</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-16 09:24:52 -0800</bug_when>
    <thetext>The simplest solution is probably to store a DeferredWrapper either at ReadableStream or JSReadableStream side.
Given that we try to keep ReadableStream away from DeferredWrapper, the idea would be to modify the binding generator to manage DeferredWrapper at JSXXX classes, whenever a Promise-type attribute happens in the corresponding IDL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069822</commentid>
    <comment_count>2</comment_count>
      <attachid>246739</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-17 06:14:42 -0800</bug_when>
    <thetext>Created attachment 246739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069823</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-17 06:15:50 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created attachment 246739 [details]
&gt; Patch

Patch stores promise as JSReadableStream slots and adds a new DeferredWrapper constructor to use that stored promise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070983</commentid>
    <comment_count>4</comment_count>
      <attachid>247053</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-21 11:41:14 -0800</bug_when>
    <thetext>Created attachment 247053
Storage in ReadableStream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070984</commentid>
    <comment_count>5</comment_count>
      <attachid>247054</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-21 11:46:18 -0800</bug_when>
    <thetext>Created attachment 247054
Storage as private in JSReadableStream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071085</commentid>
    <comment_count>6</comment_count>
      <attachid>247084</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-22 13:08:48 -0800</bug_when>
    <thetext>Created attachment 247084
Storage as private in JSReadableStream - trying to fix mac build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071087</commentid>
    <comment_count>7</comment_count>
      <attachid>247085</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-22 13:45:35 -0800</bug_when>
    <thetext>Created attachment 247085
Storage as private in JSReadableStream - trying to fix mac build again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071164</commentid>
    <comment_count>8</comment_count>
      <attachid>247107</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-23 01:48:26 -0800</bug_when>
    <thetext>Created attachment 247107
Storage as private in JSReadableStream - fixing mac build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071193</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-23 07:03:40 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created attachment 247107 [details]
&gt; Storage as private in JSReadableStream - fixing mac build

This patch stores readyPromise and closedPromise as internal slots of JSReadableStream. This is similar to what is described in https://streams.spec.whatwg.org/#rs-internal-slots.
Internal slots are also used in the last patch of bug 141160 to store a reference of the JSReadableStream object directly in the enqueue, close and error JS functions passed as parameters to the start and pull callbacks.

An alternative to internal slots is to store DeferredWrapper objects in ReadableStream (corresponding patch is https://bugs.webkit.org/attachment.cgi?id=247053&amp;action=review).
I have a preference to the first approach.

In a longer term, if this pattern happens in other APIs, it may be best to make the promise objects members of the JSReadableStream class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071221</commentid>
    <comment_count>10</comment_count>
      <attachid>247107</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-23 09:34:40 -0800</bug_when>
    <thetext>Comment on attachment 247107
Storage as private in JSReadableStream - fixing mac build

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

&gt; LayoutTests/streams/readablestream-constructor.html:69
&gt; +    assert_array_equals(Object.keys(rs), [&apos;closed&apos;, &apos;ready&apos;]);

It would be interesting to test Object.getOwnPropertyNames() as well. Object.keys() only gives you enumerable properties.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071223</commentid>
    <comment_count>11</comment_count>
      <attachid>247125</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-23 09:47:06 -0800</bug_when>
    <thetext>Created attachment 247125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071273</commentid>
    <comment_count>12</comment_count>
      <attachid>247125</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-23 12:01:43 -0800</bug_when>
    <thetext>Comment on attachment 247125
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        Stored ready and closed JSPromiseDeferred as slots in JSReadableStream.
&gt; +        Added new constructor for DeferredWrapper to use these stored values.
&gt; +        Updated ready and closed methods to use that new constructor.
&gt; +        Changes are covered by new test in streams/readablestream-constructor.html.

I am not a big fan of private names but I won&apos;t fight you on that. Your tests verify the correctness of this, we can change the implementation later if needed.

What I would like is a complete description in the change log. Explain the problem, two possible solutions, and give the rationale for picking private names above internal states on ReadableStream. This kind of information will be useful to anyone who wants to refactor this code in the future.

&gt; Source/WebCore/bindings/js/ReadableStreamJSSource.cpp:60
&gt; +        return jsUndefined();

I think an invalid JSValue() would be semantically better here. A private slot could contained undefined.

&gt; Source/WebCore/bindings/js/ReadableStreamJSSource.h:66
&gt; +void setInternalSlotToObject(JSC::ExecState*, JSC::JSValue, JSC::PrivateName&amp;, JSC::JSValue);
&gt; +JSC::JSValue getInternalSlotFromObject(JSC::ExecState*, JSC::JSValue, JSC::PrivateName&amp;);

Isn&apos;t that a weird place to put this?

Why not just make them static in JSReadableStreamCustom.cpp?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071352</commentid>
    <comment_count>13</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-23 14:58:41 -0800</bug_when>
    <thetext>Thanks for the review.

(In reply to comment #12)
&gt; Comment on attachment 247125 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=247125&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        Stored ready and closed JSPromiseDeferred as slots in JSReadableStream.
&gt; &gt; +        Added new constructor for DeferredWrapper to use these stored values.
&gt; &gt; +        Updated ready and closed methods to use that new constructor.
&gt; &gt; +        Changes are covered by new test in streams/readablestream-constructor.html.
&gt; 
&gt; I am not a big fan of private names but I won&apos;t fight you on that. Your
&gt; tests verify the correctness of this, we can change the implementation later
&gt; if needed.
&gt; 

The current patch centralizes most things to refactor in JSReadableStreamCustom, making future refactoring a bit easier.

&gt; What I would like is a complete description in the change log. Explain the
&gt; problem, two possible solutions, and give the rationale for picking private
&gt; names above internal states on ReadableStream. This kind of information will
&gt; be useful to anyone who wants to refactor this code in the future.

Sounds good

&gt; &gt; Source/WebCore/bindings/js/ReadableStreamJSSource.cpp:60
&gt; &gt; +        return jsUndefined();
&gt; 
&gt; I think an invalid JSValue() would be semantically better here. A private
&gt; slot could contained undefined.

OK

&gt; 
&gt; &gt; Source/WebCore/bindings/js/ReadableStreamJSSource.h:66
&gt; &gt; +void setInternalSlotToObject(JSC::ExecState*, JSC::JSValue, JSC::PrivateName&amp;, JSC::JSValue);
&gt; &gt; +JSC::JSValue getInternalSlotFromObject(JSC::ExecState*, JSC::JSValue, JSC::PrivateName&amp;);
&gt; 
&gt; Isn&apos;t that a weird place to put this?
&gt; 
&gt; Why not just make them static in JSReadableStreamCustom.cpp?

These functions were first developped for ReadableStreamJSSource and will be used for subsequent patches (https://bugs.webkit.org/attachment.cgi?id=247116&amp;action=review for example).

Ideally these helper functions should go in some other places as they are not tied to ReadableStream. But I did not found any obvious place for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071638</commentid>
    <comment_count>14</comment_count>
      <attachid>247229</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-02-24 05:57:11 -0800</bug_when>
    <thetext>Created attachment 247229
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071644</commentid>
    <comment_count>15</comment_count>
      <attachid>247229</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-24 06:48:51 -0800</bug_when>
    <thetext>Comment on attachment 247229
Patch for landing

Clearing flags on attachment: 247229

Committed r180559: &lt;http://trac.webkit.org/changeset/180559&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071645</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-24 06:48:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246739</attachid>
            <date>2015-02-17 06:14:42 -0800</date>
            <delta_ts>2015-02-21 11:41:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141650-20150217151435.patch</filename>
            <type>text/plain</type>
            <size>9306</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMzZmY2NzVlOTQwYWEx
OGY1YjhiODMwYjNkMzgxMGQxNDZhY2Q4NC4uZGUyMjJiZTdmZGU0YzhjNGRhY2QyMjFjNjhkZTIx
NWEyNmI3ZTExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE1LTAyLTE3ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBhdHRyaWJ1dGVzIHNob3Vs
ZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9yZWQgcmVhZHkgYW5kIGNsb3NlZCBKU1Byb21p
c2VEZWZlcnJlZCBhcyBzbG90cyBpbiBKU1JlYWRhYmxlU3RyZWFtLgorICAgICAgICBBZGRlZCBu
ZXcgY29uc3RydWN0b3IgZm9yIERlZmVycmVkV3JhcHBlciB0byB1c2UgdGhlc2Ugc3RvcmVkIHZh
bHVlcy4KKyAgICAgICAgVXBkYXRlZCByZWFkeSBhbmQgY2xvc2VkIG1ldGhvZHMgdG8gdXNlIHRo
YXQgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICBDaGFuZ2VzIGFyZSBjb3ZlcmVkIGJ5IG5ldyB0
ZXN0IGluIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbC4KKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZl
cnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRPckNyZWF0ZVByb21pc2VEZWZlcnJlZEZyb21P
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6cmVhZHkpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6Y2xvc2VkKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNl
dFNsb3RUb09iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpnZXRTbG90RnJvbU9iamVjdCk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5oOgorCiAyMDE1LTAy
LTE1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIE1vcmUg
YnVpbGQgZml4aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5j
cHAKaW5kZXggYzNhNjM3ZmUwNzZmZGQwNDhkNmU3ZDU0ODZkMjlkZjFhYTc5NTdhZS4uNDZiZGRi
YTE4ZjhjODViZmNiN2ZkMWU4Y2M2N2M1NzdkNTE3ZGYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVByb21pc2UuY3BwCkBAIC0zOCw2ICszOCwxMiBAQCBEZWZlcnJlZFdy
YXBwZXI6OkRlZmVycmVkV3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplYwogewogfQogCitEZWZlcnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBlcihF
eGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTUHJvbWlz
ZURlZmVycmVkKiBwcm9taXNlRGVmZXJyZWQpCisgICAgOiBtX2dsb2JhbE9iamVjdChleGVjLT52
bSgpLCBnbG9iYWxPYmplY3QpCisgICAgLCBtX2RlZmVycmVkKGV4ZWMtPnZtKCksIHByb21pc2VE
ZWZlcnJlZCkKK3sKK30KKwogSlNPYmplY3QqIERlZmVycmVkV3JhcHBlcjo6cHJvbWlzZSgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fZGVmZXJyZWQtPnByb21pc2UoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKaW5kZXggMGQ2NTZjNTkyN2I1MDQ4Y2Q2MWFjZGUz
NDQ0ZWEzZTg0MmU1OWYyYy4uNDJkMDJkOWYyOGU5ZTZhODRhNGU3NWMzYTczMThmOTYxNGY5YTAx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKQEAgLTM5LDYg
KzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRGVmZXJyZWRXcmFwcGVyIHsKIHB1
YmxpYzoKICAgICBEZWZlcnJlZFdyYXBwZXIoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9i
amVjdCopOworICAgIERlZmVycmVkV3JhcHBlcihKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiwgSlNDOjpKU1Byb21pc2VEZWZlcnJlZCopOwogCiAgICAgdGVtcGxhdGU8Y2xhc3Mg
UmVzb2x2ZVJlc3VsdFR5cGU+CiAgICAgdm9pZCByZXNvbHZlKGNvbnN0IFJlc29sdmVSZXN1bHRU
eXBlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxl
U3RyZWFtQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVT
dHJlYW1DdXN0b20uY3BwCmluZGV4IDRhMDViNzBmMjY1OTM5ZGUyMDM1ZGQ3NGE4M2NiY2JjNTJk
ODU2MDguLjk2YTVhODNiZTcxNDU0Y2RmZjRmNmIxMjdkZjNiYjhlMzc1MGQ3ZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20u
Y3BwCkBAIC00Nyw5ICs0NywyMiBAQCBKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OnJlYWQoRXhl
Y1N0YXRlKiBleGVjKQogICAgIHJldHVybiBleGVjLT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMs
IGVycm9yKTsKIH0KIAorc3RhdGljIEpTUHJvbWlzZURlZmVycmVkKiBnZXRPckNyZWF0ZVByb21p
c2VEZWZlcnJlZEZyb21PYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHRoaXNPYmplY3Qs
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IGNoYXIqIGlkZW50aWZpZXIpCit7
CisgICAgSlNWYWx1ZSBzbG90ID0gZ2V0U2xvdEZyb21PYmplY3QoZXhlYywgdGhpc09iamVjdCwg
aWRlbnRpZmllcik7CisgICAgSlNQcm9taXNlRGVmZXJyZWQqIHByb21pc2VEZWZlcnJlZCA9IGpz
RHluYW1pY0Nhc3Q8SlNQcm9taXNlRGVmZXJyZWQqPihzbG90KTsKKworICAgIGlmICghcHJvbWlz
ZURlZmVycmVkKSB7CisgICAgICAgIHByb21pc2VEZWZlcnJlZCA9IEpTUHJvbWlzZURlZmVycmVk
OjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgc2V0U2xvdFRvT2JqZWN0KGV4
ZWMsIHRoaXNPYmplY3QsIGlkZW50aWZpZXIsIHByb21pc2VEZWZlcnJlZCk7CisgICAgfQorICAg
IHJldHVybiBwcm9taXNlRGVmZXJyZWQ7Cit9CisKIEpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6
cmVhZHkoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogewotICAgIERlZmVycmVkV3JhcHBlciB3cmFw
cGVyKGV4ZWMsIGdsb2JhbE9iamVjdCgpKTsKKyAgICBKU1Byb21pc2VEZWZlcnJlZCogcHJvbWlz
ZURlZmVycmVkID0gZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KGV4ZWMsIHRo
aXMsIGdsb2JhbE9iamVjdCgpLCAicmVhZHlQcm9taXNlIik7CisgICAgRGVmZXJyZWRXcmFwcGVy
IHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCksIHByb21pc2VEZWZlcnJlZCk7CiAgICAgYXV0
byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3JhcHBlcl0oUmVmUHRyPFJlYWRhYmxlU3RyZWFtPiBzdHJl
YW0pIG11dGFibGUgewogICAgICAgICB3cmFwcGVyLnJlc29sdmUoc3RyZWFtLmdldCgpKTsKICAg
ICB9OwpAQCAtNjAsNyArNzMsOCBAQCBKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OnJlYWR5KEV4
ZWNTdGF0ZSogZXhlYykgY29uc3QKIAogSlNWYWx1ZSBKU1JlYWRhYmxlU3RyZWFtOjpjbG9zZWQo
RXhlY1N0YXRlKiBleGVjKSBjb25zdAogewotICAgIERlZmVycmVkV3JhcHBlciB3cmFwcGVyKGV4
ZWMsIGdsb2JhbE9iamVjdCgpKTsKKyAgICBKU1Byb21pc2VEZWZlcnJlZCogcHJvbWlzZURlZmVy
cmVkID0gZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KGV4ZWMsIHRoaXMsIGds
b2JhbE9iamVjdCgpLCAiY2xvc2VkUHJvbWlzZSIpOworICAgIERlZmVycmVkV3JhcHBlciB3cmFw
cGVyKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBwcm9taXNlRGVmZXJyZWQpOwogICAgIGF1dG8gc3Vj
Y2Vzc0NhbGxiYWNrID0gW3dyYXBwZXJdKFJlZlB0cjxSZWFkYWJsZVN0cmVhbT4gc3RyZWFtKSBt
dXRhYmxlIHsKICAgICAgICAgd3JhcHBlci5yZXNvbHZlKHN0cmVhbS5nZXQoKSk7CiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1Nv
dXJjZS5jcHAKaW5kZXggOWI0MzQ1N2Y4ZGM0Yjk2NmJhOTRlNzczOWE4NzMwOWM1ZjIzZWYxNC4u
NDFjZWM3Y2IwZDJmNTM3NDQ2ZjMwMjFhYTE1ZTIwZGEzYmIwZGVlNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5jcHAKQEAg
LTMyLDE0ICszMiwzNiBAQAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICNpbmNsdWRlICJSZWFk
YWJsZVN0cmVhbUpTU291cmNlLmgiCiAKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKICNpbmNs
dWRlICJKU1JlYWRhYmxlU3RyZWFtLmgiCiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgogI2lu
Y2x1ZGUgPHJ1bnRpbWUvSlNDSlNWYWx1ZUlubGluZXMuaD4KKyNpbmNsdWRlIDxydW50aW1lL0pT
U3RyaW5nLmg+CisjaW5jbHVkZSA8cnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmg+CiAKIHVzaW5n
IG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordm9pZCBzZXRTbG90VG9P
YmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG9iamVjdFZhbHVlLCBjb25zdCBjaGFyKiBp
ZGVudGlmaWVyLCBKU1ZhbHVlIHZhbHVlKQoreworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBvYmpl
Y3RWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICBQdXRQcm9wZXJ0eVNsb3QgcHJvcGVydHlTbG90
KG9iamVjdFZhbHVlKTsKKyAgICBvYmplY3QtPnB1dChvYmplY3QsIGV4ZWMsIElkZW50aWZpZXIo
ZXhlYywgaWRlbnRpZmllciksIHZhbHVlLCBwcm9wZXJ0eVNsb3QpOworfQorCitKU1ZhbHVlIGdl
dFNsb3RGcm9tT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBvYmplY3RWYWx1ZSwgY29u
c3QgY2hhciogaWRlbnRpZmllcikKK3sKKyAgICBKU09iamVjdCogb2JqZWN0ID0gb2JqZWN0VmFs
dWUudG9PYmplY3QoZXhlYyk7CisgICAgUHJvcGVydHlTbG90IHByb3BlcnR5U2xvdChvYmplY3RW
YWx1ZSk7CisKKyAgICBJZGVudGlmaWVyIHByb3BlcnR5SWRlbnRpZmllcihleGVjLCBpZGVudGlm
aWVyKTsKKyAgICBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lID0gcHJvcGVydHlJZGVudGlmaWVy
OworICAgIGlmICghb2JqZWN0LT5nZXRPd25Qcm9wZXJ0eVNsb3Qob2JqZWN0LCBleGVjLCBwcm9w
ZXJ0eU5hbWUsIHByb3BlcnR5U2xvdCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwor
ICAgIHJldHVybiBwcm9wZXJ0eVNsb3QuZ2V0VmFsdWUoZXhlYywgcHJvcGVydHlOYW1lKTsKK30K
KwogUmVmPFJlYWRhYmxlU3RyZWFtSlNTb3VyY2U+IFJlYWRhYmxlU3RyZWFtSlNTb3VyY2U6OmNy
ZWF0ZShKU0M6OkV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBS
ZWFkYWJsZVN0cmVhbUpTU291cmNlKGV4ZWMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuaAppbmRleCBlNzIwZmEyM2FkNzhkOWE0
YjhhNDYzOTkwMTg2YjRiMGFmOTMxNWJhLi5hZTU4YzhkMzFhOWY3ODdhM2NlNTQ5NmQzYTgwODUz
NmJlZTY0NmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJs
ZVN0cmVhbUpTU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFi
bGVTdHJlYW1KU1NvdXJjZS5oCkBAIC02MSw2ICs2MSw5IEBAIHByaXZhdGU6CiAgICAgSlNDOjpT
dHJvbmc8SlNDOjpVbmtub3duPiBtX2Vycm9yOwogfTsKIAordm9pZCBzZXRTbG90VG9PYmplY3Qo
SlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IGNoYXIqLCBKU0M6OkpTVmFsdWUp
OworSlNDOjpKU1ZhbHVlIGdldFNsb3RGcm9tT2JqZWN0KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U1ZhbHVlLCBjb25zdCBjaGFyKik7CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShTVFJFQU1TX0FQSSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNDA3ZTBjMjZhZmE4MmY1MWI3NzE0OTcz
MzA5NDM3YTg3YWNlNGUwLi45MDRhNzEyMGNiZTU5Y2U3NDQ2NDJhYjUxMzE4OWRiMzFiMzRlZjYx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDItMTcgIFhhYmllciBSb2RyaWd1ZXogQ2Fs
dmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJs
ZXRAY3JmLmNhbm9uLmZyPgorCisgICAgICAgIFtTdHJlYW1zIEFQSV0gUmVhZGluZyBSZWFkYWJs
ZVN0cmVhbSByZWFkeSBhbmQgY2xvc2VkIGF0dHJpYnV0ZXMgc2hvdWxkIG5vdCBhbHdheXMgY3Jl
YXRlIGEgbmV3IHByb21pc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MTY1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50
eHQ6CisgICAgICAgICogc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci5odG1sOgor
CiAyMDE1LTAyLTE0ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBBZGQgdGhlIGluaXRpYWwgbWF0Y2hpbmcgaW1wbGVtZW50YXRpb24gZm9yIGF0dHJp
YnV0ZSBzZWxlY3RvcnMgd2l0aCBjYXNlLWluc2Vuc2l0aXZlIHZhbHVlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3ItZXhwZWN0
ZWQudHh0CmluZGV4IDkwY2QyNGU4ZTZjZWMyM2Q4NzA2NTQ2MDhlZjMzMGY4NGUzZGJkOWQuLjY1
M2JiZTRhOTU1ZTZjOGRhNjc0NTBmOWRhNWE5MTg3ODdiYjdmM2MgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3ItZXhwZWN0
ZWQudHh0CkBAIC0zLDQgKzMsNSBAQCBQQVNTIFJlYWRhYmxlU3RyZWFtIGNvbnN0cnVjdG9yIHNo
b3VsZCBnZXQgYW4gb2JqZWN0IGFzIGFyZ3VtZW50CiBQQVNTIFJlYWRhYmxlU3RyZWFtIGluc3Rh
bmNlcyBzaG91bGQgaGF2ZSB0aGUgY29ycmVjdCBsaXN0IG9mIHByb3BlcnRpZXMgCiBQQVNTIFJl
YWRhYmxlU3RyZWFtIGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vIGFyZ3VtZW50cyAKIFBBU1Mg
UmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIGhhdmUgdGhlIGNvcnJlY3QgbWV0aG9kcyBhbmQgcHJv
cGVydGllcyAKK1BBU1MgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBzaG91bGQgYWx3
YXlzIHJldHVybiB0aGUgc2FtZSBwcm9taXNlIG9iamVjdCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVz
dHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci5odG1sCmluZGV4IDUyZTU1YjZi
MmQ0MDcwMDJhYWViZGU0NmRhMTIwZjMyODViNGM2OWEuLmRlZGQyYzRiZmM2ZDA2MDA4MWNiMGIw
ZDg4ZDg5YWZhNGU3ZjRjMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFi
bGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRh
Ymxlc3RyZWFtLWNvbnN0cnVjdG9yLmh0bWwKQEAgLTU4LDQgKzU4LDEzIEBAIHRlc3QoZnVuY3Rp
b24oKSB7CiAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgcnMuY2xvc2VkLnRoZW4sICdmdW5jdGlv
bicsICdjbG9zZWQgcHJvcGVydHkgaXMgdGhlbmFibGUnKTsKIH0sICdSZWFkYWJsZVN0cmVhbSBp
bnN0YW5jZXMgaGF2ZSB0aGUgY29ycmVjdCBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzJyk7CiAKK3Rl
c3QoZnVuY3Rpb24oKSB7CisgICAgcnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oKTsKKyAgICByZWFk
eVByb21pc2UgPSBycy5yZWFkeTsKKyAgICBjbG9zZWRQcm9taXNlID0gcnMuY2xvc2VkOworCisg
ICAgYXNzZXJ0X2VxdWFscyhyZWFkeVByb21pc2UsIHJzLnJlYWR5KTsKKyAgICBhc3NlcnRfZXF1
YWxzKGNsb3NlZFByb21pc2UsIHJzLmNsb3NlZCk7Cit9LCAnUmVhZGFibGVTdHJlYW0gcmVhZHkg
YW5kIGNsb3NlZCBzaG91bGQgYWx3YXlzIHJldHVybiB0aGUgc2FtZSBwcm9taXNlIG9iamVjdCcp
OworCiA8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247053</attachid>
            <date>2015-02-21 11:41:14 -0800</date>
            <delta_ts>2015-02-21 11:46:04 -0800</delta_ts>
            <desc>Storage in ReadableStream</desc>
            <filename>bug-141650-20150221204103.patch</filename>
            <type>text/plain</type>
            <size>7511</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMzZmY2NzVlOTQwYWEx
OGY1YjhiODMwYjNkMzgxMGQxNDZhY2Q4NC4uMDM0NTVlOWQwN2EyMGQ5NWY3NTMwNzMyZjM4Mzgw
MmM5ZTkyNWFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE1LTAyLTIxICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBhdHRyaWJ1dGVzIHNob3Vs
ZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9yaW5nIERlZmVycmVkV3JhcHBlciBpbiBSZWFk
YWJsZVN0cmVhbSBmb3IgcmVhZHkgYW5kIGNsb3NlZCBwcm9taXNlLgorICAgICAgICBDaGFuZ2Vz
IGFyZSBjb3ZlcmVkIGJ5IG5ldyB0ZXN0IGluIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3Ry
dWN0b3IuaHRtbC4KKworICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbTo6flJlYWRhYmxlU3RyZWFtKToK
KyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlYWRhYmxlU3RyZWFtOjpjbG9zZWREZWZlcnJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFkYWJsZVN0cmVhbTo6cmVhZHlEZWZlcnJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZWFk
YWJsZVN0cmVhbTo6c2V0Q2xvc2VkRGVmZXJyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFi
bGVTdHJlYW06OnNldFJlYWR5RGVmZXJyZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUmVh
ZGFibGVTdHJlYW1DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVh
bTo6cmVhZHkpOgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6Y2xvc2VkKToK
KwogMjAxNS0wMi0xNSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNb3JlIGJ1aWxkIGZpeGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW0uY3BwCmluZGV4IDNlNGZjNjU5OTA3OWMwMGZiNjc5NDc2MDlk
ZDNhYzYyYjVkZDlhNGUuLmZjOTI0NWNkZTEyODVjOTUyZWFhMmUwODU3ZGY3ZDI2YWQ1MTMzYTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFt
LmNwcApAQCAtMzIsNiArMzIsNyBAQAogCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogCisjaW5j
bHVkZSAiSlNET01Qcm9taXNlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZExlYWtDb3VudGVyLmg+CiAKQEAgLTYyLDYgKzYzLDEwIEBAIFJl
YWRhYmxlU3RyZWFtOjp+UmVhZGFibGVTdHJlYW0oKQogI2lmbmRlZiBOREVCVUcKICAgICByZWFk
YWJsZVN0cmVhbUNvdW50ZXIuZGVjcmVtZW50KCk7CiAjZW5kaWYKKyAgICBpZiAobV9jbG9zZWRE
ZWZlcnJlZCkKKyAgICAgICAgZGVsZXRlIG1fY2xvc2VkRGVmZXJyZWQ7CisgICAgaWYgKG1fcmVh
ZHlEZWZlcnJlZCkKKyAgICAgICAgZGVsZXRlIG1fcmVhZHlEZWZlcnJlZDsKIH0KIAogU3RyaW5n
IFJlYWRhYmxlU3RyZWFtOjpzdGF0ZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5oCmluZGV4IGM4NDVmZWRiODZkYTdhZWI3YjdhMGJj
Njg5ZGQ4ZjVlMWFhMWM5YTAuLmNjNWZhNTg5MmRmYzhkMDUyZDNlMTFlNmMwOGNhNzNjODIwYmQw
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bS5oCkBAIC00MCw2ICs0MCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVm
ZXJyZWRXcmFwcGVyOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogLy8gUmVhZGFi
bGVTdHJlYW0gaW1wbGVtZW50cyB0aGUgY29yZSBvZiB0aGUgc3RyZWFtcyBBUEkgUmVhZGFibGVT
dHJlYW0gZnVuY3Rpb25hbGl0eS4KQEAgLTY3LDExICs2OCwyMCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBjbG9zZWQoU3VjY2Vzc0NhbGxiYWNrKTsKICAgICB2b2lkIHJlYWR5KFN1Y2Nlc3NDYWxsYmFj
ayk7CiAKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG1vdmUgdGhlc2UgaW4gYmluZGluZ3MvanMg
b3IgaW4gSlNSZWFkYWJsZVN0cmVhbS4KKyAgICBEZWZlcnJlZFdyYXBwZXIqIGNsb3NlZERlZmVy
cmVkKCkgeyByZXR1cm4gbV9jbG9zZWREZWZlcnJlZDsgfQorICAgIERlZmVycmVkV3JhcHBlciog
cmVhZHlEZWZlcnJlZCgpIHsgcmV0dXJuIG1fcmVhZHlEZWZlcnJlZDsgfQorICAgIHZvaWQgc2V0
Q2xvc2VkRGVmZXJyZWQoRGVmZXJyZWRXcmFwcGVyKiBkZWZlcnJlZCkgeyBtX2Nsb3NlZERlZmVy
cmVkID0gZGVmZXJyZWQ7IH0KKyAgICB2b2lkIHNldFJlYWR5RGVmZXJyZWQoRGVmZXJyZWRXcmFw
cGVyKiBkZWZlcnJlZCkgeyBtX3JlYWR5RGVmZXJyZWQgPSBkZWZlcnJlZDsgfQorCiBwcml2YXRl
OgogICAgIFJlYWRhYmxlU3RyZWFtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8UmVhZGFi
bGVTdHJlYW1Tb3VyY2U+JiYpOwogCiAgICAgU3RhdGUgbV9zdGF0ZTsKICAgICBSZWY8UmVhZGFi
bGVTdHJlYW1Tb3VyY2U+IG1fc291cmNlOworCisgICAgRGVmZXJyZWRXcmFwcGVyKiBtX2Nsb3Nl
ZERlZmVycmVkID0gbnVsbHB0cjsKKyAgICBEZWZlcnJlZFdyYXBwZXIqIG1fcmVhZHlEZWZlcnJl
ZCA9IG51bGxwdHI7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwCmluZGV4IDRhMDViNzBmMjY1OTM5ZGUyMDM1
ZGQ3NGE4M2NiY2JjNTJkODU2MDguLmE0MThjMWFhYzJlNTI1MjY0YjcwYzFlYzg1YzI0YjA4NWRi
MmZiODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVT
dHJlYW1DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFi
bGVTdHJlYW1DdXN0b20uY3BwCkBAIC00OSwyNCArNDksMzQgQEAgSlNWYWx1ZSBKU1JlYWRhYmxl
U3RyZWFtOjpyZWFkKEV4ZWNTdGF0ZSogZXhlYykKIAogSlNWYWx1ZSBKU1JlYWRhYmxlU3RyZWFt
OjpyZWFkeShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7Ci0gICAgRGVmZXJyZWRXcmFwcGVyIHdy
YXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCkpOworICAgIERlZmVycmVkV3JhcHBlciogd3JhcHBl
ciA9IGltcGwoKS5yZWFkeURlZmVycmVkKCk7CisgICAgaWYgKCF3cmFwcGVyKSB7CisgICAgICAg
IHdyYXBwZXIgPSBuZXcgRGVmZXJyZWRXcmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCgpKTsKKyAg
ICAgICAgaW1wbCgpLnNldFJlYWR5RGVmZXJyZWQod3JhcHBlcik7CisgICAgfQorCiAgICAgYXV0
byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3JhcHBlcl0oUmVmUHRyPFJlYWRhYmxlU3RyZWFtPiBzdHJl
YW0pIG11dGFibGUgewotICAgICAgICB3cmFwcGVyLnJlc29sdmUoc3RyZWFtLmdldCgpKTsKKyAg
ICAgICAgd3JhcHBlci0+cmVzb2x2ZShzdHJlYW0uZ2V0KCkpOwogICAgIH07CiAgICAgaW1wbCgp
LnJlYWR5KFdURjo6bW92ZShzdWNjZXNzQ2FsbGJhY2spKTsKIAotICAgIHJldHVybiB3cmFwcGVy
LnByb21pc2UoKTsKKyAgICByZXR1cm4gd3JhcHBlci0+cHJvbWlzZSgpOwogfQogCiBKU1ZhbHVl
IEpTUmVhZGFibGVTdHJlYW06OmNsb3NlZChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7Ci0gICAg
RGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCkpOworICAgIERlZmVy
cmVkV3JhcHBlciogd3JhcHBlciA9IGltcGwoKS5jbG9zZWREZWZlcnJlZCgpOworICAgIGlmICgh
d3JhcHBlcikgeworICAgICAgICB3cmFwcGVyID0gbmV3IERlZmVycmVkV3JhcHBlcihleGVjLCBn
bG9iYWxPYmplY3QoKSk7CisgICAgICAgIGltcGwoKS5zZXRDbG9zZWREZWZlcnJlZCh3cmFwcGVy
KTsKKyAgICB9CisKICAgICBhdXRvIHN1Y2Nlc3NDYWxsYmFjayA9IFt3cmFwcGVyXShSZWZQdHI8
UmVhZGFibGVTdHJlYW0+IHN0cmVhbSkgbXV0YWJsZSB7Ci0gICAgICAgIHdyYXBwZXIucmVzb2x2
ZShzdHJlYW0uZ2V0KCkpOworICAgICAgICB3cmFwcGVyLT5yZXNvbHZlKHN0cmVhbS5nZXQoKSk7
CiAgICAgfTsKICAgICBpbXBsKCkuY2xvc2VkKFdURjo6bW92ZShzdWNjZXNzQ2FsbGJhY2spKTsK
IAotICAgIHJldHVybiB3cmFwcGVyLnByb21pc2UoKTsKKyAgICByZXR1cm4gd3JhcHBlci0+cHJv
bWlzZSgpOwogfQogCiBKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OmNhbmNlbChFeGVjU3RhdGUq
IGV4ZWMpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMzQwN2UwYzI2YWZhODJmNTFiNzcxNDk3MzMwOTQzN2E4N2FjZTRlMC4u
ODU4YmI4NjI0OWU1YjcxZjIyNDQ3OTVkMWUzZTk0ODkxNzEzMDZmNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDE1LTAyLTIxICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdh
bGlhLmNvbT4gYW5kIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4K
KworICAgICAgICBbU3RyZWFtcyBBUEldIFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5k
IGNsb3NlZCBhdHRyaWJ1dGVzIHNob3VsZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVh
bXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0
cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbDogQWRkZWQgdGVzdCB0byBlbnN1
cmUgc2FtZSBwcm9taXNlIG9iamVjdCBpcyByZXR1cm5lZCB3aGVuIGNhbGxpbmcgcmVhZHkvY2xv
c2VkIHNldmVyYWwgdGltZXMuCisKIDIwMTUtMDItMTQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5q
YW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCB0aGUgaW5pdGlhbCBtYXRjaGluZyBpbXBs
ZW1lbnRhdGlvbiBmb3IgYXR0cmlidXRlIHNlbGVjdG9ycyB3aXRoIGNhc2UtaW5zZW5zaXRpdmUg
dmFsdWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29u
c3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVh
bS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKaW5kZXggOTBjZDI0ZThlNmNlYzIzZDg3MDY1NDYw
OGVmMzMwZjg0ZTNkYmQ5ZC4uNjUzYmJlNGE5NTVlNmM4ZGE2NzQ1MGY5ZGE1YTkxODc4N2JiN2Yz
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1
Y3Rvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVh
bS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTMsNCArMyw1IEBAIFBBU1MgUmVhZGFibGVT
dHJlYW0gY29uc3RydWN0b3Igc2hvdWxkIGdldCBhbiBvYmplY3QgYXMgYXJndW1lbnQKIFBBU1Mg
UmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIHNob3VsZCBoYXZlIHRoZSBjb3JyZWN0IGxpc3Qgb2Yg
cHJvcGVydGllcyAKIFBBU1MgUmVhZGFibGVTdHJlYW0gY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGgg
bm8gYXJndW1lbnRzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZXMgaGF2ZSB0aGUgY29y
cmVjdCBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzIAorUEFTUyBSZWFkYWJsZVN0cmVhbSByZWFkeSBh
bmQgY2xvc2VkIHNob3VsZCBhbHdheXMgcmV0dXJuIHRoZSBzYW1lIHByb21pc2Ugb2JqZWN0IAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVj
dG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9y
Lmh0bWwKaW5kZXggNTJlNTViNmIyZDQwNzAwMmFhZWJkZTQ2ZGExMjBmMzI4NWI0YzY5YS4uZWU1
ZjEyMDhiZTRiMDM3MGE0YmM4ODZmMGI5ODZlNDdiOGM3NDU0NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbApAQCAtNTgsNCAr
NTgsMTUgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBycy5j
bG9zZWQudGhlbiwgJ2Z1bmN0aW9uJywgJ2Nsb3NlZCBwcm9wZXJ0eSBpcyB0aGVuYWJsZScpOwog
fSwgJ1JlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBoYXZlIHRoZSBjb3JyZWN0IG1ldGhvZHMgYW5k
IHByb3BlcnRpZXMnKTsKIAordGVzdChmdW5jdGlvbigpIHsKKyAgICBycyA9IG5ldyBSZWFkYWJs
ZVN0cmVhbSgpOworICAgIHJlYWR5UHJvbWlzZSA9IHJzLnJlYWR5OworICAgIGNsb3NlZFByb21p
c2UgPSBycy5jbG9zZWQ7CisKKyAgICBhc3NlcnRfZXF1YWxzKHJlYWR5UHJvbWlzZSwgcnMucmVh
ZHkpOworICAgIGFzc2VydF9lcXVhbHMoY2xvc2VkUHJvbWlzZSwgcnMuY2xvc2VkKTsKKworICAg
IGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXMocnMpLCBbJ2Nsb3NlZCcsICdyZWFkeSdd
KTsKK30sICdSZWFkYWJsZVN0cmVhbSByZWFkeSBhbmQgY2xvc2VkIHNob3VsZCBhbHdheXMgcmV0
dXJuIHRoZSBzYW1lIHByb21pc2Ugb2JqZWN0Jyk7CisKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247054</attachid>
            <date>2015-02-21 11:46:18 -0800</date>
            <delta_ts>2015-02-22 13:08:38 -0800</delta_ts>
            <desc>Storage as private in JSReadableStream</desc>
            <filename>bug-141650-20150221204607.patch</filename>
            <type>text/plain</type>
            <size>9941</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMzZmY2NzVlOTQwYWEx
OGY1YjhiODMwYjNkMzgxMGQxNDZhY2Q4NC4uMWU2MGZkYWRiOTA0NDM4OGJlYWY4YzJkMTg2OTY1
NTU5ZmU0ZWI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE1LTAyLTIxICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBhdHRyaWJ1dGVzIHNob3Vs
ZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9yZWQgcmVhZHkgYW5kIGNsb3NlZCBKU1Byb21p
c2VEZWZlcnJlZCBhcyBzbG90cyBpbiBKU1JlYWRhYmxlU3RyZWFtLgorICAgICAgICBBZGRlZCBu
ZXcgY29uc3RydWN0b3IgZm9yIERlZmVycmVkV3JhcHBlciB0byB1c2UgdGhlc2Ugc3RvcmVkIHZh
bHVlcy4KKyAgICAgICAgVXBkYXRlZCByZWFkeSBhbmQgY2xvc2VkIG1ldGhvZHMgdG8gdXNlIHRo
YXQgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICBDaGFuZ2VzIGFyZSBjb3ZlcmVkIGJ5IG5ldyB0
ZXN0IGluIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbC4KKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZl
cnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRPckNyZWF0ZVByb21pc2VEZWZlcnJlZEZyb21P
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6cmVhZHkpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6Y2xvc2VkKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNl
dEludGVybmFsU2xvdFRvT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OmdldEludGVybmFsU2xv
dEZyb21PYmplY3QpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3Vy
Y2UuaDoKKwogMjAxNS0wMi0xNSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4K
IAogICAgICAgICBNb3JlIGJ1aWxkIGZpeGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVByb21pc2UuY3BwCmluZGV4IGMzYTYzN2ZlMDc2ZmRkMDQ4ZDZlN2Q1NDg2ZDI5ZGYx
YWE3OTU3YWUuLjQ2YmRkYmExOGY4Yzg1YmZjYjdmZDFlOGNjNjdjNTc3ZDUxN2RmMTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcApAQCAtMzgsNiArMzgs
MTIgQEAgRGVmZXJyZWRXcmFwcGVyOjpEZWZlcnJlZFdyYXBwZXIoRXhlY1N0YXRlKiBleGVjLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWMKIHsKIH0KIAorRGVmZXJyZWRXcmFwcGVyOjpE
ZWZlcnJlZFdyYXBwZXIoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU1Byb21pc2VEZWZlcnJlZCogcHJvbWlzZURlZmVycmVkKQorICAgIDogbV9nbG9i
YWxPYmplY3QoZXhlYy0+dm0oKSwgZ2xvYmFsT2JqZWN0KQorICAgICwgbV9kZWZlcnJlZChleGVj
LT52bSgpLCBwcm9taXNlRGVmZXJyZWQpCit7Cit9CisKIEpTT2JqZWN0KiBEZWZlcnJlZFdyYXBw
ZXI6OnByb21pc2UoKSBjb25zdAogewogICAgIHJldHVybiBtX2RlZmVycmVkLT5wcm9taXNlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5oCmluZGV4IDBkNjU2YzU5
MjdiNTA0OGNkNjFhY2RlMzQ0NGVhM2U4NDJlNTlmMmMuLjQyZDAyZDlmMjhlOWU2YTg0YTRlNzVj
M2E3MzE4Zjk2MTRmOWEwMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NUHJvbWlzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJv
bWlzZS5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERlZmVy
cmVkV3JhcHBlciB7CiBwdWJsaWM6CiAgICAgRGVmZXJyZWRXcmFwcGVyKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqKTsKKyAgICBEZWZlcnJlZFdyYXBwZXIoSlNDOjpFeGVjU3Rh
dGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIEpTQzo6SlNQcm9taXNlRGVmZXJyZWQqKTsKIAogICAg
IHRlbXBsYXRlPGNsYXNzIFJlc29sdmVSZXN1bHRUeXBlPgogICAgIHZvaWQgcmVzb2x2ZShjb25z
dCBSZXNvbHZlUmVzdWx0VHlwZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcAppbmRleCA0YTA1YjcwZjI2NTkzOWRlMjAz
NWRkNzRhODNjYmNiYzUyZDg1NjA4Li5jNTc2ZDYzYTBlY2EwOTdlNWYyOTYzYTZmYTA1NDNkYTJh
NjRiZmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxl
U3RyZWFtQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRh
YmxlU3RyZWFtQ3VzdG9tLmNwcApAQCAtNDcsOSArNDcsMjMgQEAgSlNWYWx1ZSBKU1JlYWRhYmxl
U3RyZWFtOjpyZWFkKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gZXhlYy0+dm0oKS50aHJv
d0V4Y2VwdGlvbihleGVjLCBlcnJvcik7CiB9CiAKK3N0YXRpYyBKU1Byb21pc2VEZWZlcnJlZCog
Z2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNW
YWx1ZSB0aGlzT2JqZWN0LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcml2YXRlTmFt
ZSAmbmFtZSkKK3sKKyAgICBKU1ZhbHVlIHNsb3QgPSBnZXRJbnRlcm5hbFNsb3RGcm9tT2JqZWN0
KGV4ZWMsIHRoaXNPYmplY3QsIG5hbWUpOworICAgIEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNl
RGVmZXJyZWQgPSBqc0R5bmFtaWNDYXN0PEpTUHJvbWlzZURlZmVycmVkKj4oc2xvdCk7CisKKyAg
ICBpZiAoIXByb21pc2VEZWZlcnJlZCkgeworICAgICAgICBwcm9taXNlRGVmZXJyZWQgPSBKU1By
b21pc2VEZWZlcnJlZDo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9iamVjdCk7CisgICAgICAgIHNldElu
dGVybmFsU2xvdFRvT2JqZWN0KGV4ZWMsIHRoaXNPYmplY3QsIG5hbWUsIHByb21pc2VEZWZlcnJl
ZCk7CisgICAgfQorICAgIHJldHVybiBwcm9taXNlRGVmZXJyZWQ7Cit9CisKK3N0YXRpYyBKU0M6
OlByaXZhdGVOYW1lIHJlYWR5UHJvbWlzZVNsb3QoInJlYWR5UHJvbWlzZSIpOwogSlNWYWx1ZSBK
U1JlYWRhYmxlU3RyZWFtOjpyZWFkeShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7Ci0gICAgRGVm
ZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCkpOworICAgIEpTUHJvbWlz
ZURlZmVycmVkKiBwcm9taXNlRGVmZXJyZWQgPSBnZXRPckNyZWF0ZVByb21pc2VEZWZlcnJlZEZy
b21PYmplY3QoZXhlYywgdGhpcywgZ2xvYmFsT2JqZWN0KCksIHJlYWR5UHJvbWlzZVNsb3QpOwor
ICAgIERlZmVycmVkV3JhcHBlciB3cmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBwcm9taXNl
RGVmZXJyZWQpOwogICAgIGF1dG8gc3VjY2Vzc0NhbGxiYWNrID0gW3dyYXBwZXJdKFJlZlB0cjxS
ZWFkYWJsZVN0cmVhbT4gc3RyZWFtKSBtdXRhYmxlIHsKICAgICAgICAgd3JhcHBlci5yZXNvbHZl
KHN0cmVhbS5nZXQoKSk7CiAgICAgfTsKQEAgLTU4LDkgKzcyLDExIEBAIEpTVmFsdWUgSlNSZWFk
YWJsZVN0cmVhbTo6cmVhZHkoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogICAgIHJldHVybiB3cmFw
cGVyLnByb21pc2UoKTsKIH0KIAorc3RhdGljIEpTQzo6UHJpdmF0ZU5hbWUgY2xvc2VkUHJvbWlz
ZVNsb3QoImNsb3NlZFByb21pc2UiKTsKIEpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6Y2xvc2Vk
KEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKIHsKLSAgICBEZWZlcnJlZFdyYXBwZXIgd3JhcHBlcihl
eGVjLCBnbG9iYWxPYmplY3QoKSk7CisgICAgSlNQcm9taXNlRGVmZXJyZWQqIHByb21pc2VEZWZl
cnJlZCA9IGdldE9yQ3JlYXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChleGVjLCB0aGlzLCBn
bG9iYWxPYmplY3QoKSwgY2xvc2VkUHJvbWlzZVNsb3QpOworICAgIERlZmVycmVkV3JhcHBlciB3
cmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBwcm9taXNlRGVmZXJyZWQpOwogICAgIGF1dG8g
c3VjY2Vzc0NhbGxiYWNrID0gW3dyYXBwZXJdKFJlZlB0cjxSZWFkYWJsZVN0cmVhbT4gc3RyZWFt
KSBtdXRhYmxlIHsKICAgICAgICAgd3JhcHBlci5yZXNvbHZlKHN0cmVhbS5nZXQoKSk7CiAgICAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFt
SlNTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1K
U1NvdXJjZS5jcHAKaW5kZXggOWI0MzQ1N2Y4ZGM0Yjk2NmJhOTRlNzczOWE4NzMwOWM1ZjIzZWYx
NC4uYjNjZGM3ZGQwNGFkNzZhMzI5NWIwYWY4M2IzMDM4M2VkNWEzZGRkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5jcHAK
QEAgLTMyLDE0ICszMiwzNiBAQAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICNpbmNsdWRlICJS
ZWFkYWJsZVN0cmVhbUpTU291cmNlLmgiCiAKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKICNp
bmNsdWRlICJKU1JlYWRhYmxlU3RyZWFtLmgiCiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgog
I2luY2x1ZGUgPHJ1bnRpbWUvSlNDSlNWYWx1ZUlubGluZXMuaD4KKyNpbmNsdWRlIDxydW50aW1l
L0pTU3RyaW5nLmg+CisjaW5jbHVkZSA8cnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmg+CiAKIHVz
aW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gc2V0SW50ZXJu
YWxTbG90VG9PYmplY3QgaXMgdXNlZCBvbiBKUyBmdW5jdGlvbnMgc28gdGhhdCB0aGUgSlNSZWFk
YWJsZVN0cmVhbSBvYmplY3QgY2FuIGJlIHJldHJpZXZlZCB3aGVuIGV4ZWN1dGluZyB0aGUgY29y
cmVzcG9uZGluZyBKUyBmdW5jdGlvbi4KK3ZvaWQgc2V0SW50ZXJuYWxTbG90VG9PYmplY3QoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIG9iamVjdFZhbHVlLCBQcml2YXRlTmFtZSYgbmFtZSwgSlNW
YWx1ZSB2YWx1ZSkKK3sKKyAgICBKU09iamVjdCogb2JqZWN0ID0gb2JqZWN0VmFsdWUudG9PYmpl
Y3QoZXhlYyk7CisgICAgUHV0UHJvcGVydHlTbG90IHByb3BlcnR5U2xvdChvYmplY3RWYWx1ZSk7
CisgICAgb2JqZWN0LT5wdXQob2JqZWN0LCBleGVjLCBJZGVudGlmaWVyOjpmcm9tKG5hbWUpLCB2
YWx1ZSwgcHJvcGVydHlTbG90KTsKK30KKworSlNWYWx1ZSBnZXRJbnRlcm5hbFNsb3RGcm9tT2Jq
ZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBvYmplY3RWYWx1ZSwgUHJpdmF0ZU5hbWUmIG5h
bWUpCit7CisgICAgSlNPYmplY3QqIG9iamVjdCA9IG9iamVjdFZhbHVlLnRvT2JqZWN0KGV4ZWMp
OworICAgIFByb3BlcnR5U2xvdCBwcm9wZXJ0eVNsb3Qob2JqZWN0VmFsdWUpOworCisgICAgUHJv
cGVydHlOYW1lIHByb3BlcnR5TmFtZSA9IElkZW50aWZpZXI6OmZyb20obmFtZSk7CisgICAgaWYg
KCFvYmplY3QtPmdldE93blByb3BlcnR5U2xvdChvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwg
cHJvcGVydHlTbG90KSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisgICAgcmV0dXJu
IHByb3BlcnR5U2xvdC5nZXRWYWx1ZShleGVjLCBwcm9wZXJ0eU5hbWUpOworfQorCiBSZWY8UmVh
ZGFibGVTdHJlYW1KU1NvdXJjZT4gUmVhZGFibGVTdHJlYW1KU1NvdXJjZTo6Y3JlYXRlKEpTQzo6
RXhlY1N0YXRlKiBleGVjKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlYWRhYmxlU3Ry
ZWFtSlNTb3VyY2UoZXhlYykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
UmVhZGFibGVTdHJlYW1KU1NvdXJjZS5oCmluZGV4IGU3MjBmYTIzYWQ3OGQ5YTRiOGE0NjM5OTAx
ODZiNGIwYWY5MzE1YmEuLjQ0NjM0NjEyNjZhNmRlZjIzMzg1NTYwMGMyZjc4N2EyODMwYTIwNzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNT
b3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpT
U291cmNlLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlIDxoZWFwL1N0cm9uZy5oPgogI2lu
Y2x1ZGUgPGhlYXAvU3Ryb25nSW5saW5lcy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSlNWYWx1
ZS5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvUHJpdmF0ZU5hbWUuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYxLDYgKzYyLDkgQEAgcHJpdmF0ZToKICAg
ICBKU0M6OlN0cm9uZzxKU0M6OlVua25vd24+IG1fZXJyb3I7CiB9OwogCit2b2lkIHNldEludGVy
bmFsU2xvdFRvT2JqZWN0KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OlByaXZh
dGVOYW1lJiwgSlNDOjpKU1ZhbHVlKTsKK0pTQzo6SlNWYWx1ZSBnZXRJbnRlcm5hbFNsb3RGcm9t
T2JqZWN0KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OlByaXZhdGVOYW1lJik7
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVFJFQU1TX0FQ
SSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAzNDA3ZTBjMjZhZmE4MmY1MWI3NzE0OTczMzA5NDM3YTg3YWNlNGUwLi45ZjU4
ZWMwNjYxZjNhYWJkZTk5NWQwOGYwYzhiMGQ5YTc1YzBlN2E2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTUtMDItMjEgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEu
Y29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCisg
ICAgICAgIFtTdHJlYW1zIEFQSV0gUmVhZGluZyBSZWFkYWJsZVN0cmVhbSByZWFkeSBhbmQgY2xv
c2VkIGF0dHJpYnV0ZXMgc2hvdWxkIG5vdCBhbHdheXMgY3JlYXRlIGEgbmV3IHByb21pc2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTY1MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZWFtcy9y
ZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RyZWFt
cy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci5odG1sOiBBZGRlZCB0ZXN0IHRvIGVuc3VyZSBy
ZWFkeSBhbmQgY2xvc2VkIGFsd2F5cyByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZSBvYmplY3QuCisK
IDIwMTUtMDItMTQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEFkZCB0aGUgaW5pdGlhbCBtYXRjaGluZyBpbXBsZW1lbnRhdGlvbiBmb3IgYXR0cmli
dXRlIHNlbGVjdG9ycyB3aXRoIGNhc2UtaW5zZW5zaXRpdmUgdmFsdWUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQKaW5kZXggOTBjZDI0ZThlNmNlYzIzZDg3MDY1NDYwOGVmMzMwZjg0ZTNkYmQ5ZC4uNjUz
YmJlNGE5NTVlNmM4ZGE2NzQ1MGY5ZGE1YTkxODc4N2JiN2YzYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQKQEAgLTMsNCArMyw1IEBAIFBBU1MgUmVhZGFibGVTdHJlYW0gY29uc3RydWN0b3Igc2hv
dWxkIGdldCBhbiBvYmplY3QgYXMgYXJndW1lbnQKIFBBU1MgUmVhZGFibGVTdHJlYW0gaW5zdGFu
Y2VzIHNob3VsZCBoYXZlIHRoZSBjb3JyZWN0IGxpc3Qgb2YgcHJvcGVydGllcyAKIFBBU1MgUmVh
ZGFibGVTdHJlYW0gY2FuIGJlIGNvbnN0cnVjdGVkIHdpdGggbm8gYXJndW1lbnRzIAogUEFTUyBS
ZWFkYWJsZVN0cmVhbSBpbnN0YW5jZXMgaGF2ZSB0aGUgY29ycmVjdCBtZXRob2RzIGFuZCBwcm9w
ZXJ0aWVzIAorUEFTUyBSZWFkYWJsZVN0cmVhbSByZWFkeSBhbmQgY2xvc2VkIHNob3VsZCBhbHdh
eXMgcmV0dXJuIHRoZSBzYW1lIHByb21pc2Ugb2JqZWN0IAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLmh0bWwKaW5kZXggNTJlNTViNmIy
ZDQwNzAwMmFhZWJkZTQ2ZGExMjBmMzI4NWI0YzY5YS4uZWU1ZjEyMDhiZTRiMDM3MGE0YmM4ODZm
MGI5ODZlNDdiOGM3NDU0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZXN0cmVhbS1jb25zdHJ1Y3Rvci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFi
bGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbApAQCAtNTgsNCArNTgsMTUgQEAgdGVzdChmdW5jdGlv
bigpIHsKICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBycy5jbG9zZWQudGhlbiwgJ2Z1bmN0aW9u
JywgJ2Nsb3NlZCBwcm9wZXJ0eSBpcyB0aGVuYWJsZScpOwogfSwgJ1JlYWRhYmxlU3RyZWFtIGlu
c3RhbmNlcyBoYXZlIHRoZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMnKTsKIAordGVz
dChmdW5jdGlvbigpIHsKKyAgICBycyA9IG5ldyBSZWFkYWJsZVN0cmVhbSgpOworICAgIHJlYWR5
UHJvbWlzZSA9IHJzLnJlYWR5OworICAgIGNsb3NlZFByb21pc2UgPSBycy5jbG9zZWQ7CisKKyAg
ICBhc3NlcnRfZXF1YWxzKHJlYWR5UHJvbWlzZSwgcnMucmVhZHkpOworICAgIGFzc2VydF9lcXVh
bHMoY2xvc2VkUHJvbWlzZSwgcnMuY2xvc2VkKTsKKworICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
T2JqZWN0LmtleXMocnMpLCBbJ2Nsb3NlZCcsICdyZWFkeSddKTsKK30sICdSZWFkYWJsZVN0cmVh
bSByZWFkeSBhbmQgY2xvc2VkIHNob3VsZCBhbHdheXMgcmV0dXJuIHRoZSBzYW1lIHByb21pc2Ug
b2JqZWN0Jyk7CisKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247084</attachid>
            <date>2015-02-22 13:08:48 -0800</date>
            <delta_ts>2015-02-22 13:45:27 -0800</delta_ts>
            <desc>Storage as private in JSReadableStream - trying to fix mac build</desc>
            <filename>bug-141650-20150222220836.patch</filename>
            <type>text/plain</type>
            <size>10143</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMzZmY2NzVlOTQwYWEx
OGY1YjhiODMwYjNkMzgxMGQxNDZhY2Q4NC4uMWU2MGZkYWRiOTA0NDM4OGJlYWY4YzJkMTg2OTY1
NTU5ZmU0ZWI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE1LTAyLTIxICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBhdHRyaWJ1dGVzIHNob3Vs
ZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9yZWQgcmVhZHkgYW5kIGNsb3NlZCBKU1Byb21p
c2VEZWZlcnJlZCBhcyBzbG90cyBpbiBKU1JlYWRhYmxlU3RyZWFtLgorICAgICAgICBBZGRlZCBu
ZXcgY29uc3RydWN0b3IgZm9yIERlZmVycmVkV3JhcHBlciB0byB1c2UgdGhlc2Ugc3RvcmVkIHZh
bHVlcy4KKyAgICAgICAgVXBkYXRlZCByZWFkeSBhbmQgY2xvc2VkIG1ldGhvZHMgdG8gdXNlIHRo
YXQgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICBDaGFuZ2VzIGFyZSBjb3ZlcmVkIGJ5IG5ldyB0
ZXN0IGluIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbC4KKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZl
cnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRPckNyZWF0ZVByb21pc2VEZWZlcnJlZEZyb21P
YmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6cmVhZHkpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNSZWFkYWJsZVN0cmVhbTo6Y2xvc2VkKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNl
dEludGVybmFsU2xvdFRvT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OmdldEludGVybmFsU2xv
dEZyb21PYmplY3QpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3Vy
Y2UuaDoKKwogMjAxNS0wMi0xNSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4K
IAogICAgICAgICBNb3JlIGJ1aWxkIGZpeGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVByb21pc2UuY3BwCmluZGV4IGMzYTYzN2ZlMDc2ZmRkMDQ4ZDZlN2Q1NDg2ZDI5ZGYx
YWE3OTU3YWUuLjQ2YmRkYmExOGY4Yzg1YmZjYjdmZDFlOGNjNjdjNTc3ZDUxN2RmMTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcApAQCAtMzgsNiArMzgs
MTIgQEAgRGVmZXJyZWRXcmFwcGVyOjpEZWZlcnJlZFdyYXBwZXIoRXhlY1N0YXRlKiBleGVjLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWMKIHsKIH0KIAorRGVmZXJyZWRXcmFwcGVyOjpE
ZWZlcnJlZFdyYXBwZXIoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU1Byb21pc2VEZWZlcnJlZCogcHJvbWlzZURlZmVycmVkKQorICAgIDogbV9nbG9i
YWxPYmplY3QoZXhlYy0+dm0oKSwgZ2xvYmFsT2JqZWN0KQorICAgICwgbV9kZWZlcnJlZChleGVj
LT52bSgpLCBwcm9taXNlRGVmZXJyZWQpCit7Cit9CisKIEpTT2JqZWN0KiBEZWZlcnJlZFdyYXBw
ZXI6OnByb21pc2UoKSBjb25zdAogewogICAgIHJldHVybiBtX2RlZmVycmVkLT5wcm9taXNlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5oCmluZGV4IDBkNjU2YzU5
MjdiNTA0OGNkNjFhY2RlMzQ0NGVhM2U4NDJlNTlmMmMuLjQyZDAyZDlmMjhlOWU2YTg0YTRlNzVj
M2E3MzE4Zjk2MTRmOWEwMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NUHJvbWlzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJv
bWlzZS5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERlZmVy
cmVkV3JhcHBlciB7CiBwdWJsaWM6CiAgICAgRGVmZXJyZWRXcmFwcGVyKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqKTsKKyAgICBEZWZlcnJlZFdyYXBwZXIoSlNDOjpFeGVjU3Rh
dGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIEpTQzo6SlNQcm9taXNlRGVmZXJyZWQqKTsKIAogICAg
IHRlbXBsYXRlPGNsYXNzIFJlc29sdmVSZXN1bHRUeXBlPgogICAgIHZvaWQgcmVzb2x2ZShjb25z
dCBSZXNvbHZlUmVzdWx0VHlwZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcAppbmRleCA0YTA1YjcwZjI2NTkzOWRlMjAz
NWRkNzRhODNjYmNiYzUyZDg1NjA4Li5mOGRiMjAzM2UwNWNhYjg3ZWFlNjk4ZGNjM2Q4NTI4ZTE0
MGY3OGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxl
U3RyZWFtQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRh
YmxlU3RyZWFtQ3VzdG9tLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkpTRE9NUHJv
bWlzZS5oIgogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtLmgiCiAjaW5jbHVkZSAiUmVhZGFibGVT
dHJlYW1KU1NvdXJjZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCiB1c2lu
ZyBuYW1lc3BhY2UgSlNDOwogCkBAIC00Nyw5ICs0OCwyMyBAQCBKU1ZhbHVlIEpTUmVhZGFibGVT
dHJlYW06OnJlYWQoRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBleGVjLT52bSgpLnRocm93
RXhjZXB0aW9uKGV4ZWMsIGVycm9yKTsKIH0KIAorc3RhdGljIEpTUHJvbWlzZURlZmVycmVkKiBn
ZXRPckNyZWF0ZVByb21pc2VEZWZlcnJlZEZyb21PYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU1Zh
bHVlIHRoaXNPYmplY3QsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFByaXZhdGVOYW1l
ICZuYW1lKQoreworICAgIEpTVmFsdWUgc2xvdCA9IGdldEludGVybmFsU2xvdEZyb21PYmplY3Qo
ZXhlYywgdGhpc09iamVjdCwgbmFtZSk7CisgICAgSlNQcm9taXNlRGVmZXJyZWQqIHByb21pc2VE
ZWZlcnJlZCA9IGpzRHluYW1pY0Nhc3Q8SlNQcm9taXNlRGVmZXJyZWQqPihzbG90KTsKKworICAg
IGlmICghcHJvbWlzZURlZmVycmVkKSB7CisgICAgICAgIHByb21pc2VEZWZlcnJlZCA9IEpTUHJv
bWlzZURlZmVycmVkOjpjcmVhdGUoZXhlYywgZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgc2V0SW50
ZXJuYWxTbG90VG9PYmplY3QoZXhlYywgdGhpc09iamVjdCwgbmFtZSwgcHJvbWlzZURlZmVycmVk
KTsKKyAgICB9CisgICAgcmV0dXJuIHByb21pc2VEZWZlcnJlZDsKK30KKworc3RhdGljIE5ldmVy
RGVzdHJveWVkPEpTQzo6UHJpdmF0ZU5hbWU+IHJlYWR5UHJvbWlzZVNsb3QoInJlYWR5UHJvbWlz
ZSIpOwogSlNWYWx1ZSBKU1JlYWRhYmxlU3RyZWFtOjpyZWFkeShFeGVjU3RhdGUqIGV4ZWMpIGNv
bnN0CiB7Ci0gICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCkp
OworICAgIEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNlRGVmZXJyZWQgPSBnZXRPckNyZWF0ZVBy
b21pc2VEZWZlcnJlZEZyb21PYmplY3QoZXhlYywgdGhpcywgZ2xvYmFsT2JqZWN0KCksIHJlYWR5
UHJvbWlzZVNsb3QpOworICAgIERlZmVycmVkV3JhcHBlciB3cmFwcGVyKGV4ZWMsIGdsb2JhbE9i
amVjdCgpLCBwcm9taXNlRGVmZXJyZWQpOwogICAgIGF1dG8gc3VjY2Vzc0NhbGxiYWNrID0gW3dy
YXBwZXJdKFJlZlB0cjxSZWFkYWJsZVN0cmVhbT4gc3RyZWFtKSBtdXRhYmxlIHsKICAgICAgICAg
d3JhcHBlci5yZXNvbHZlKHN0cmVhbS5nZXQoKSk7CiAgICAgfTsKQEAgLTU4LDkgKzczLDExIEBA
IEpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6cmVhZHkoRXhlY1N0YXRlKiBleGVjKSBjb25zdAog
ICAgIHJldHVybiB3cmFwcGVyLnByb21pc2UoKTsKIH0KIAorc3RhdGljIE5ldmVyRGVzdHJveWVk
PEpTQzo6UHJpdmF0ZU5hbWU+IGNsb3NlZFByb21pc2VTbG90KCJjbG9zZWRQcm9taXNlIik7CiBK
U1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OmNsb3NlZChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7
Ci0gICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCkpOworICAg
IEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNlRGVmZXJyZWQgPSBnZXRPckNyZWF0ZVByb21pc2VE
ZWZlcnJlZEZyb21PYmplY3QoZXhlYywgdGhpcywgZ2xvYmFsT2JqZWN0KCksIGNsb3NlZFByb21p
c2VTbG90KTsKKyAgICBEZWZlcnJlZFdyYXBwZXIgd3JhcHBlcihleGVjLCBnbG9iYWxPYmplY3Qo
KSwgcHJvbWlzZURlZmVycmVkKTsKICAgICBhdXRvIHN1Y2Nlc3NDYWxsYmFjayA9IFt3cmFwcGVy
XShSZWZQdHI8UmVhZGFibGVTdHJlYW0+IHN0cmVhbSkgbXV0YWJsZSB7CiAgICAgICAgIHdyYXBw
ZXIucmVzb2x2ZShzdHJlYW0uZ2V0KCkpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuY3BwCmluZGV4IDliNDM0NTdm
OGRjNGI5NjZiYTk0ZTc3MzlhODczMDljNWYyM2VmMTQuLmIzY2RjN2RkMDRhZDc2YTMyOTViMGFm
ODNiMzAzODNlZDVhM2RkZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuY3BwCkBAIC0zMiwxNCArMzIsMzYgQEAKICNpZiBF
TkFCTEUoU1RSRUFNU19BUEkpCiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5oIgog
CisjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgiCiAjaW5jbHVkZSAiSlNSZWFkYWJsZVN0cmVhbS5o
IgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFs
dWVJbmxpbmVzLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU1N0cmluZy5oPgorI2luY2x1ZGUgPHJ1
bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKKy8vIHNldEludGVybmFsU2xvdFRvT2JqZWN0IGlzIHVzZWQgb24g
SlMgZnVuY3Rpb25zIHNvIHRoYXQgdGhlIEpTUmVhZGFibGVTdHJlYW0gb2JqZWN0IGNhbiBiZSBy
ZXRyaWV2ZWQgd2hlbiBleGVjdXRpbmcgdGhlIGNvcnJlc3BvbmRpbmcgSlMgZnVuY3Rpb24uCit2
b2lkIHNldEludGVybmFsU2xvdFRvT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBvYmpl
Y3RWYWx1ZSwgUHJpdmF0ZU5hbWUmIG5hbWUsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgSlNPYmpl
Y3QqIG9iamVjdCA9IG9iamVjdFZhbHVlLnRvT2JqZWN0KGV4ZWMpOworICAgIFB1dFByb3BlcnR5
U2xvdCBwcm9wZXJ0eVNsb3Qob2JqZWN0VmFsdWUpOworICAgIG9iamVjdC0+cHV0KG9iamVjdCwg
ZXhlYywgSWRlbnRpZmllcjo6ZnJvbShuYW1lKSwgdmFsdWUsIHByb3BlcnR5U2xvdCk7Cit9CisK
K0pTVmFsdWUgZ2V0SW50ZXJuYWxTbG90RnJvbU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgb2JqZWN0VmFsdWUsIFByaXZhdGVOYW1lJiBuYW1lKQoreworICAgIEpTT2JqZWN0KiBvYmpl
Y3QgPSBvYmplY3RWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICBQcm9wZXJ0eVNsb3QgcHJvcGVy
dHlTbG90KG9iamVjdFZhbHVlKTsKKworICAgIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUgPSBJ
ZGVudGlmaWVyOjpmcm9tKG5hbWUpOworICAgIGlmICghb2JqZWN0LT5nZXRPd25Qcm9wZXJ0eVNs
b3Qob2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHByb3BlcnR5U2xvdCkpCisgICAgICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOworICAgIHJldHVybiBwcm9wZXJ0eVNsb3QuZ2V0VmFsdWUoZXhl
YywgcHJvcGVydHlOYW1lKTsKK30KKwogUmVmPFJlYWRhYmxlU3RyZWFtSlNTb3VyY2U+IFJlYWRh
YmxlU3RyZWFtSlNTb3VyY2U6OmNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBSZWFkYWJsZVN0cmVhbUpTU291cmNlKGV4ZWMpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuaApp
bmRleCBlNzIwZmEyM2FkNzhkOWE0YjhhNDYzOTkwMTg2YjRiMGFmOTMxNWJhLi40NDYzNDYxMjY2
YTZkZWYyMzM4NTU2MDBjMmY3ODdhMjgzMGEyMDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5oCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSA8aGVhcC9TdHJvbmcuaD4KICNpbmNsdWRlIDxoZWFwL1N0cm9uZ0lubGluZXMu
aD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFsdWUuaD4KKyNpbmNsdWRlIDxydW50aW1lL1By
aXZhdGVOYW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC02MSw2ICs2Miw5IEBAIHByaXZhdGU6CiAgICAgSlNDOjpTdHJvbmc8SlNDOjpVbmtub3du
PiBtX2Vycm9yOwogfTsKIAordm9pZCBzZXRJbnRlcm5hbFNsb3RUb09iamVjdChKU0M6OkV4ZWNT
dGF0ZSosIEpTQzo6SlNWYWx1ZSwgSlNDOjpQcml2YXRlTmFtZSYsIEpTQzo6SlNWYWx1ZSk7CitK
U0M6OkpTVmFsdWUgZ2V0SW50ZXJuYWxTbG90RnJvbU9iamVjdChKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNWYWx1ZSwgSlNDOjpQcml2YXRlTmFtZSYpOworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBFTkFCTEUoU1RSRUFNU19BUEkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzQwN2UwYzI2YWZhODJm
NTFiNzcxNDk3MzMwOTQzN2E4N2FjZTRlMC4uOWY1OGVjMDY2MWYzYWFiZGU5OTVkMDhmMGM4YjBk
OWE3NWMwZTdhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE1LTAyLTIxICBYYWJpZXIgUm9k
cmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEldIFJlYWRp
bmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBhdHRyaWJ1dGVzIHNob3VsZCBub3Qg
YWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3It
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0
b3IuaHRtbDogQWRkZWQgdGVzdCB0byBlbnN1cmUgcmVhZHkgYW5kIGNsb3NlZCBhbHdheXMgcmV0
dXJuIHRoZSBzYW1lIHByb21pc2Ugb2JqZWN0LgorCiAyMDE1LTAyLTE0ICBCZW5qYW1pbiBQb3Vs
YWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgdGhlIGluaXRpYWwgbWF0
Y2hpbmcgaW1wbGVtZW50YXRpb24gZm9yIGF0dHJpYnV0ZSBzZWxlY3RvcnMgd2l0aCBjYXNlLWlu
c2Vuc2l0aXZlIHZhbHVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxl
c3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVh
ZGFibGVzdHJlYW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CmluZGV4IDkwY2QyNGU4ZTZjZWMy
M2Q4NzA2NTQ2MDhlZjMzMGY4NGUzZGJkOWQuLjY1M2JiZTRhOTU1ZTZjOGRhNjc0NTBmOWRhNWE5
MTg3ODdiYjdmM2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJl
YW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVh
ZGFibGVzdHJlYW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0zLDQgKzMsNSBAQCBQQVNT
IFJlYWRhYmxlU3RyZWFtIGNvbnN0cnVjdG9yIHNob3VsZCBnZXQgYW4gb2JqZWN0IGFzIGFyZ3Vt
ZW50CiBQQVNTIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQgaGF2ZSB0aGUgY29ycmVj
dCBsaXN0IG9mIHByb3BlcnRpZXMgCiBQQVNTIFJlYWRhYmxlU3RyZWFtIGNhbiBiZSBjb25zdHJ1
Y3RlZCB3aXRoIG5vIGFyZ3VtZW50cyAKIFBBU1MgUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIGhh
dmUgdGhlIGNvcnJlY3QgbWV0aG9kcyBhbmQgcHJvcGVydGllcyAKK1BBU1MgUmVhZGFibGVTdHJl
YW0gcmVhZHkgYW5kIGNsb3NlZCBzaG91bGQgYWx3YXlzIHJldHVybiB0aGUgc2FtZSBwcm9taXNl
IG9iamVjdCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVh
bS1jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1j
b25zdHJ1Y3Rvci5odG1sCmluZGV4IDUyZTU1YjZiMmQ0MDcwMDJhYWViZGU0NmRhMTIwZjMyODVi
NGM2OWEuLmVlNWYxMjA4YmU0YjAzNzBhNGJjODg2ZjBiOTg2ZTQ3YjhjNzQ1NDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLmh0bWwK
QEAgLTU4LDQgKzU4LDE1IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YgcnMuY2xvc2VkLnRoZW4sICdmdW5jdGlvbicsICdjbG9zZWQgcHJvcGVydHkgaXMgdGhl
bmFibGUnKTsKIH0sICdSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZXMgaGF2ZSB0aGUgY29ycmVjdCBt
ZXRob2RzIGFuZCBwcm9wZXJ0aWVzJyk7CiAKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgcnMgPSBu
ZXcgUmVhZGFibGVTdHJlYW0oKTsKKyAgICByZWFkeVByb21pc2UgPSBycy5yZWFkeTsKKyAgICBj
bG9zZWRQcm9taXNlID0gcnMuY2xvc2VkOworCisgICAgYXNzZXJ0X2VxdWFscyhyZWFkeVByb21p
c2UsIHJzLnJlYWR5KTsKKyAgICBhc3NlcnRfZXF1YWxzKGNsb3NlZFByb21pc2UsIHJzLmNsb3Nl
ZCk7CisKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5rZXlzKHJzKSwgWydjbG9zZWQn
LCAncmVhZHknXSk7Cit9LCAnUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBzaG91bGQg
YWx3YXlzIHJldHVybiB0aGUgc2FtZSBwcm9taXNlIG9iamVjdCcpOworCiA8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247085</attachid>
            <date>2015-02-22 13:45:35 -0800</date>
            <delta_ts>2015-02-23 01:48:18 -0800</delta_ts>
            <desc>Storage as private in JSReadableStream - trying to fix mac build again</desc>
            <filename>bug-141650-20150222224523.patch</filename>
            <type>text/plain</type>
            <size>10426</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMzZmY2NzVlOTQwYWEx
OGY1YjhiODMwYjNkMzgxMGQxNDZhY2Q4NC4uYTMzNTdiOWQ1MDViZWVmNjQ1Yzc2MzBjOTIzODA3
NDcyZDk3ZGFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTAyLTIxICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBhdHRyaWJ1dGVzIHNob3Vs
ZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9yZWQgcmVhZHkgYW5kIGNsb3NlZCBKU1Byb21p
c2VEZWZlcnJlZCBhcyBzbG90cyBpbiBKU1JlYWRhYmxlU3RyZWFtLgorICAgICAgICBBZGRlZCBu
ZXcgY29uc3RydWN0b3IgZm9yIERlZmVycmVkV3JhcHBlciB0byB1c2UgdGhlc2Ugc3RvcmVkIHZh
bHVlcy4KKyAgICAgICAgVXBkYXRlZCByZWFkeSBhbmQgY2xvc2VkIG1ldGhvZHMgdG8gdXNlIHRo
YXQgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICBDaGFuZ2VzIGFyZSBjb3ZlcmVkIGJ5IG5ldyB0
ZXN0IGluIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbC4KKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZl
cnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjbG9zZWRQcm9taXNlU2xvdE5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Z2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OnJlYWR5UHJvbWlzZVNsb3ROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkpT
UmVhZGFibGVTdHJlYW06OnJlYWR5KToKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVTdHJl
YW06OmNsb3NlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJj
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXRJbnRlcm5hbFNsb3RUb09iamVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpnZXRJbnRlcm5hbFNsb3RGcm9tT2JqZWN0KToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmg6CisKIDIwMTUtMDItMTUgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgTW9yZSBidWlsZCBmaXhpbmcu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcAppbmRleCBjM2E2
MzdmZTA3NmZkZDA0OGQ2ZTdkNTQ4NmQyOWRmMWFhNzk1N2FlLi40NmJkZGJhMThmOGM4NWJmY2I3
ZmQxZThjYzY3YzU3N2Q1MTdkZjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVByb21pc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NUHJvbWlzZS5jcHAKQEAgLTM4LDYgKzM4LDEyIEBAIERlZmVycmVkV3JhcHBlcjo6RGVmZXJy
ZWRXcmFwcGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
CiB7CiB9CiAKK0RlZmVycmVkV3JhcHBlcjo6RGVmZXJyZWRXcmFwcGVyKEV4ZWNTdGF0ZSogZXhl
YywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNQcm9taXNlRGVmZXJyZWQqIHBy
b21pc2VEZWZlcnJlZCkKKyAgICA6IG1fZ2xvYmFsT2JqZWN0KGV4ZWMtPnZtKCksIGdsb2JhbE9i
amVjdCkKKyAgICAsIG1fZGVmZXJyZWQoZXhlYy0+dm0oKSwgcHJvbWlzZURlZmVycmVkKQorewor
fQorCiBKU09iamVjdCogRGVmZXJyZWRXcmFwcGVyOjpwcm9taXNlKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gbV9kZWZlcnJlZC0+cHJvbWlzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01Qcm9taXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVByb21pc2UuaAppbmRleCAwZDY1NmM1OTI3YjUwNDhjZDYxYWNkZTM0NDRlYTNlODQyZTU5
ZjJjLi40MmQwMmQ5ZjI4ZTllNmE4NGE0ZTc1YzNhNzMxOGY5NjE0ZjlhMDFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuaApAQCAtMzksNiArMzksNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEZWZlcnJlZFdyYXBwZXIgewogcHVibGljOgogICAgIERl
ZmVycmVkV3JhcHBlcihKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7CisgICAg
RGVmZXJyZWRXcmFwcGVyKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBKU0M6
OkpTUHJvbWlzZURlZmVycmVkKik7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBSZXNvbHZlUmVzdWx0
VHlwZT4KICAgICB2b2lkIHJlc29sdmUoY29uc3QgUmVzb2x2ZVJlc3VsdFR5cGUmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3RvbS5j
cHAKaW5kZXggNGEwNWI3MGYyNjU5MzlkZTIwMzVkZDc0YTgzY2JjYmM1MmQ4NTYwOC4uMjIwMzQ5
NDdkMDYzOGRjMjE4YTM0ZjQ4ZWQwNzM0OTgwMzM3ZDljYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3RvbS5jcHAKQEAgLTM2LDYg
KzM2LDcgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0
cmVhbS5oIgogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSlNTb3VyY2UuaCIKKyNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIApAQCAtNDcsOSAr
NDgsMjggQEAgSlNWYWx1ZSBKU1JlYWRhYmxlU3RyZWFtOjpyZWFkKEV4ZWNTdGF0ZSogZXhlYykK
ICAgICByZXR1cm4gZXhlYy0+dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBlcnJvcik7CiB9CiAK
K3N0YXRpYyBKU1Byb21pc2VEZWZlcnJlZCogZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9t
T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB0aGlzT2JqZWN0LCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBQcml2YXRlTmFtZSAmbmFtZSkKK3sKKyAgICBKU1ZhbHVlIHNsb3Qg
PSBnZXRJbnRlcm5hbFNsb3RGcm9tT2JqZWN0KGV4ZWMsIHRoaXNPYmplY3QsIG5hbWUpOworICAg
IEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNlRGVmZXJyZWQgPSBqc0R5bmFtaWNDYXN0PEpTUHJv
bWlzZURlZmVycmVkKj4oc2xvdCk7CisKKyAgICBpZiAoIXByb21pc2VEZWZlcnJlZCkgeworICAg
ICAgICBwcm9taXNlRGVmZXJyZWQgPSBKU1Byb21pc2VEZWZlcnJlZDo6Y3JlYXRlKGV4ZWMsIGds
b2JhbE9iamVjdCk7CisgICAgICAgIHNldEludGVybmFsU2xvdFRvT2JqZWN0KGV4ZWMsIHRoaXNP
YmplY3QsIG5hbWUsIHByb21pc2VEZWZlcnJlZCk7CisgICAgfQorICAgIHJldHVybiBwcm9taXNl
RGVmZXJyZWQ7Cit9CisKK0pTQzo6UHJpdmF0ZU5hbWUmIHJlYWR5UHJvbWlzZVNsb3ROYW1lKCkK
K3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SlNDOjpQcml2YXRlTmFtZT4gcmVhZHlQcm9t
aXNlU2xvdE5hbWUoInJlYWR5UHJvbWlzZSIpOworICAgIHJldHVybiByZWFkeVByb21pc2VTbG90
TmFtZTsKK30KKwogSlNWYWx1ZSBKU1JlYWRhYmxlU3RyZWFtOjpyZWFkeShFeGVjU3RhdGUqIGV4
ZWMpIGNvbnN0CiB7Ci0gICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2Jq
ZWN0KCkpOworICAgIEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNlRGVmZXJyZWQgPSBnZXRPckNy
ZWF0ZVByb21pc2VEZWZlcnJlZEZyb21PYmplY3QoZXhlYywgdGhpcywgZ2xvYmFsT2JqZWN0KCks
IHJlYWR5UHJvbWlzZVNsb3ROYW1lKCkpOworICAgIERlZmVycmVkV3JhcHBlciB3cmFwcGVyKGV4
ZWMsIGdsb2JhbE9iamVjdCgpLCBwcm9taXNlRGVmZXJyZWQpOwogICAgIGF1dG8gc3VjY2Vzc0Nh
bGxiYWNrID0gW3dyYXBwZXJdKFJlZlB0cjxSZWFkYWJsZVN0cmVhbT4gc3RyZWFtKSBtdXRhYmxl
IHsKICAgICAgICAgd3JhcHBlci5yZXNvbHZlKHN0cmVhbS5nZXQoKSk7CiAgICAgfTsKQEAgLTU4
LDkgKzc4LDE2IEBAIEpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6cmVhZHkoRXhlY1N0YXRlKiBl
eGVjKSBjb25zdAogICAgIHJldHVybiB3cmFwcGVyLnByb21pc2UoKTsKIH0KIAorSlNDOjpQcml2
YXRlTmFtZSYgY2xvc2VkUHJvbWlzZVNsb3ROYW1lKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8SlNDOjpQcml2YXRlTmFtZT4gY2xvc2VkUHJvbWlzZVNsb3ROYW1lKCJjbG9zZWRQcm9t
aXNlIik7CisgICAgcmV0dXJuIGNsb3NlZFByb21pc2VTbG90TmFtZTsKK30KKwogSlNWYWx1ZSBK
U1JlYWRhYmxlU3RyZWFtOjpjbG9zZWQoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogewotICAgIERl
ZmVycmVkV3JhcHBlciB3cmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCgpKTsKKyAgICBKU1Byb21p
c2VEZWZlcnJlZCogcHJvbWlzZURlZmVycmVkID0gZ2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRG
cm9tT2JqZWN0KGV4ZWMsIHRoaXMsIGdsb2JhbE9iamVjdCgpLCBjbG9zZWRQcm9taXNlU2xvdE5h
bWUoKSk7CisgICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCks
IHByb21pc2VEZWZlcnJlZCk7CiAgICAgYXV0byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3JhcHBlcl0o
UmVmUHRyPFJlYWRhYmxlU3RyZWFtPiBzdHJlYW0pIG11dGFibGUgewogICAgICAgICB3cmFwcGVy
LnJlc29sdmUoc3RyZWFtLmdldCgpKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcAppbmRleCA5YjQzNDU3Zjhk
YzRiOTY2YmE5NGU3NzM5YTg3MzA5YzVmMjNlZjE0Li5iM2NkYzdkZDA0YWQ3NmEzMjk1YjBhZjgz
YjMwMzgzZWQ1YTNkZGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9S
ZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcApAQCAtMzIsMTQgKzMyLDM2IEBACiAjaWYgRU5B
QkxFKFNUUkVBTVNfQVBJKQogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSlNTb3VyY2UuaCIKIAor
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgogI2luY2x1ZGUgIkpTUmVhZGFibGVTdHJlYW0uaCIK
ICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVl
SW5saW5lcy5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNTdHJpbmcuaD4KKyNpbmNsdWRlIDxydW50
aW1lL1N0cnVjdHVyZUlubGluZXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCisvLyBzZXRJbnRlcm5hbFNsb3RUb09iamVjdCBpcyB1c2VkIG9uIEpT
IGZ1bmN0aW9ucyBzbyB0aGF0IHRoZSBKU1JlYWRhYmxlU3RyZWFtIG9iamVjdCBjYW4gYmUgcmV0
cmlldmVkIHdoZW4gZXhlY3V0aW5nIHRoZSBjb3JyZXNwb25kaW5nIEpTIGZ1bmN0aW9uLgordm9p
ZCBzZXRJbnRlcm5hbFNsb3RUb09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgb2JqZWN0
VmFsdWUsIFByaXZhdGVOYW1lJiBuYW1lLCBKU1ZhbHVlIHZhbHVlKQoreworICAgIEpTT2JqZWN0
KiBvYmplY3QgPSBvYmplY3RWYWx1ZS50b09iamVjdChleGVjKTsKKyAgICBQdXRQcm9wZXJ0eVNs
b3QgcHJvcGVydHlTbG90KG9iamVjdFZhbHVlKTsKKyAgICBvYmplY3QtPnB1dChvYmplY3QsIGV4
ZWMsIElkZW50aWZpZXI6OmZyb20obmFtZSksIHZhbHVlLCBwcm9wZXJ0eVNsb3QpOworfQorCitK
U1ZhbHVlIGdldEludGVybmFsU2xvdEZyb21PYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IG9iamVjdFZhbHVlLCBQcml2YXRlTmFtZSYgbmFtZSkKK3sKKyAgICBKU09iamVjdCogb2JqZWN0
ID0gb2JqZWN0VmFsdWUudG9PYmplY3QoZXhlYyk7CisgICAgUHJvcGVydHlTbG90IHByb3BlcnR5
U2xvdChvYmplY3RWYWx1ZSk7CisKKyAgICBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lID0gSWRl
bnRpZmllcjo6ZnJvbShuYW1lKTsKKyAgICBpZiAoIW9iamVjdC0+Z2V0T3duUHJvcGVydHlTbG90
KG9iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBwcm9wZXJ0eVNsb3QpKQorICAgICAgICByZXR1
cm4ganNVbmRlZmluZWQoKTsKKyAgICByZXR1cm4gcHJvcGVydHlTbG90LmdldFZhbHVlKGV4ZWMs
IHByb3BlcnR5TmFtZSk7Cit9CisKIFJlZjxSZWFkYWJsZVN0cmVhbUpTU291cmNlPiBSZWFkYWJs
ZVN0cmVhbUpTU291cmNlOjpjcmVhdGUoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgUmVhZGFibGVTdHJlYW1KU1NvdXJjZShleGVjKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmgKaW5k
ZXggZTcyMGZhMjNhZDc4ZDlhNGI4YTQ2Mzk5MDE4NmI0YjBhZjkzMTViYS4uNDQ2MzQ2MTI2NmE2
ZGVmMjMzODU1NjAwYzJmNzg3YTI4MzBhMjA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuaApAQCAtMzYsNiArMzYsNyBAQAog
I2luY2x1ZGUgPGhlYXAvU3Ryb25nLmg+CiAjaW5jbHVkZSA8aGVhcC9TdHJvbmdJbmxpbmVzLmg+
CiAjaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlLmg+CisjaW5jbHVkZSA8cnVudGltZS9Qcml2
YXRlTmFtZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNjEsNiArNjIsOSBAQCBwcml2YXRlOgogICAgIEpTQzo6U3Ryb25nPEpTQzo6VW5rbm93bj4g
bV9lcnJvcjsKIH07CiAKK3ZvaWQgc2V0SW50ZXJuYWxTbG90VG9PYmplY3QoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTVmFsdWUsIEpTQzo6UHJpdmF0ZU5hbWUmLCBKU0M6OkpTVmFsdWUpOworSlND
OjpKU1ZhbHVlIGdldEludGVybmFsU2xvdEZyb21PYmplY3QoSlNDOjpFeGVjU3RhdGUqLCBKU0M6
OkpTVmFsdWUsIEpTQzo6UHJpdmF0ZU5hbWUmKTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKFNUUkVBTVNfQVBJKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM0MDdlMGMyNmFmYTgyZjUx
Yjc3MTQ5NzMzMDk0MzdhODdhY2U0ZTAuLjlmNThlYzA2NjFmM2FhYmRlOTk1ZDA4ZjBjOGIwZDlh
NzVjMGU3YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNS0wMi0yMSAgWGFiaWVyIFJvZHJp
Z3VleiBDYWx2YXIgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW1N0cmVhbXMgQVBJXSBSZWFkaW5n
IFJlYWRhYmxlU3RyZWFtIHJlYWR5IGFuZCBjbG9zZWQgYXR0cmlidXRlcyBzaG91bGQgbm90IGFs
d2F5cyBjcmVhdGUgYSBuZXcgcHJvbWlzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQxNjUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBzdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9y
Lmh0bWw6IEFkZGVkIHRlc3QgdG8gZW5zdXJlIHJlYWR5IGFuZCBjbG9zZWQgYWx3YXlzIHJldHVy
biB0aGUgc2FtZSBwcm9taXNlIG9iamVjdC4KKwogMjAxNS0wMi0xNCAgQmVuamFtaW4gUG91bGFp
biAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHRoZSBpbml0aWFsIG1hdGNo
aW5nIGltcGxlbWVudGF0aW9uIGZvciBhdHRyaWJ1dGUgc2VsZWN0b3JzIHdpdGggY2FzZS1pbnNl
bnNpdGl2ZSB2YWx1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0
cmVhbS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRh
Ymxlc3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAppbmRleCA5MGNkMjRlOGU2Y2VjMjNk
ODcwNjU0NjA4ZWYzMzBmODRlM2RiZDlkLi42NTNiYmU0YTk1NWU2YzhkYTY3NDUwZjlkYTVhOTE4
Nzg3YmI3ZjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFt
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRh
Ymxlc3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMyw0ICszLDUgQEAgUEFTUyBS
ZWFkYWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBzaG91bGQgZ2V0IGFuIG9iamVjdCBhcyBhcmd1bWVu
dAogUEFTUyBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZXMgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3Qg
bGlzdCBvZiBwcm9wZXJ0aWVzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjYW4gYmUgY29uc3RydWN0
ZWQgd2l0aCBubyBhcmd1bWVudHMgCiBQQVNTIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBoYXZl
IHRoZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgCitQQVNTIFJlYWRhYmxlU3RyZWFt
IHJlYWR5IGFuZCBjbG9zZWQgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZSBv
YmplY3QgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0t
Y29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29u
c3RydWN0b3IuaHRtbAppbmRleCA1MmU1NWI2YjJkNDA3MDAyYWFlYmRlNDZkYTEyMGYzMjg1YjRj
NjlhLi5lZTVmMTIwOGJlNGIwMzcwYTRiYzg4NmYwYjk4NmU0N2I4Yzc0NTQ3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci5odG1sCkBA
IC01OCw0ICs1OCwxNSBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIHJzLmNsb3NlZC50aGVuLCAnZnVuY3Rpb24nLCAnY2xvc2VkIHByb3BlcnR5IGlzIHRoZW5h
YmxlJyk7CiB9LCAnUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIGhhdmUgdGhlIGNvcnJlY3QgbWV0
aG9kcyBhbmQgcHJvcGVydGllcycpOwogCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIHJzID0gbmV3
IFJlYWRhYmxlU3RyZWFtKCk7CisgICAgcmVhZHlQcm9taXNlID0gcnMucmVhZHk7CisgICAgY2xv
c2VkUHJvbWlzZSA9IHJzLmNsb3NlZDsKKworICAgIGFzc2VydF9lcXVhbHMocmVhZHlQcm9taXNl
LCBycy5yZWFkeSk7CisgICAgYXNzZXJ0X2VxdWFscyhjbG9zZWRQcm9taXNlLCBycy5jbG9zZWQp
OworCisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3Qua2V5cyhycyksIFsnY2xvc2VkJywg
J3JlYWR5J10pOworfSwgJ1JlYWRhYmxlU3RyZWFtIHJlYWR5IGFuZCBjbG9zZWQgc2hvdWxkIGFs
d2F5cyByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZSBvYmplY3QnKTsKKwogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247107</attachid>
            <date>2015-02-23 01:48:26 -0800</date>
            <delta_ts>2015-02-23 09:46:59 -0800</delta_ts>
            <desc>Storage as private in JSReadableStream - fixing mac build</desc>
            <filename>bug-141650-20150223104814.patch</filename>
            <type>text/plain</type>
            <size>10309</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDBlMzU2MmNjNjAzM2Fk
MmNmYTk2ODc5NTg4ODRjYzQ5ZjE1ZjFhOC4uZTc2ZmI1YjQ4YjljNjg0ODUyOTlmOTZlY2JhMWNk
ZTljZjFlZDE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTAyLTIzICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBhdHRyaWJ1dGVzIHNob3Vs
ZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9yZWQgcmVhZHkgYW5kIGNsb3NlZCBKU1Byb21p
c2VEZWZlcnJlZCBhcyBzbG90cyBpbiBKU1JlYWRhYmxlU3RyZWFtLgorICAgICAgICBBZGRlZCBu
ZXcgY29uc3RydWN0b3IgZm9yIERlZmVycmVkV3JhcHBlciB0byB1c2UgdGhlc2Ugc3RvcmVkIHZh
bHVlcy4KKyAgICAgICAgVXBkYXRlZCByZWFkeSBhbmQgY2xvc2VkIG1ldGhvZHMgdG8gdXNlIHRo
YXQgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICBDaGFuZ2VzIGFyZSBjb3ZlcmVkIGJ5IG5ldyB0
ZXN0IGluIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbC4KKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZl
cnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjbG9zZWRQcm9taXNlU2xvdE5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Z2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OnJlYWR5UHJvbWlzZVNsb3ROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkpT
UmVhZGFibGVTdHJlYW06OnJlYWR5KToKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVTdHJl
YW06OmNsb3NlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJj
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXRJbnRlcm5hbFNsb3RUb09iamVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpnZXRJbnRlcm5hbFNsb3RGcm9tT2JqZWN0KToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmg6CisKIDIwMTUtMDItMjIgIEd5dXlvdW5n
IEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBNb3ZlIHN0ZDo6dW5p
cXVlX3B0cjw+fG1ha2VfdW5pcXVlPD4gdG8gV2ViQ29yZS9wYWdlL3Njcm9sbGluZwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAKaW5kZXggYzNhNjM3ZmUwNzZm
ZGQwNDhkNmU3ZDU0ODZkMjlkZjFhYTc5NTdhZS4uNDZiZGRiYTE4ZjhjODViZmNiN2ZkMWU4Y2M2
N2M1NzdkNTE3ZGYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21p
c2UuY3BwCkBAIC0zOCw2ICszOCwxMiBAQCBEZWZlcnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBl
cihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogewogfQog
CitEZWZlcnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNlRGVm
ZXJyZWQpCisgICAgOiBtX2dsb2JhbE9iamVjdChleGVjLT52bSgpLCBnbG9iYWxPYmplY3QpCisg
ICAgLCBtX2RlZmVycmVkKGV4ZWMtPnZtKCksIHByb21pc2VEZWZlcnJlZCkKK3sKK30KKwogSlNP
YmplY3QqIERlZmVycmVkV3JhcHBlcjo6cHJvbWlzZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
ZGVmZXJyZWQtPnByb21pc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NUHJvbWlzZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9t
aXNlLmgKaW5kZXggMGQ2NTZjNTkyN2I1MDQ4Y2Q2MWFjZGUzNDQ0ZWEzZTg0MmU1OWYyYy4uNDJk
MDJkOWYyOGU5ZTZhODRhNGU3NWMzYTczMThmOTYxNGY5YTAxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRGVmZXJyZWRXcmFwcGVyIHsKIHB1YmxpYzoKICAgICBEZWZlcnJlZFdy
YXBwZXIoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCopOworICAgIERlZmVycmVk
V3JhcHBlcihKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgSlNDOjpKU1Byb21p
c2VEZWZlcnJlZCopOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgUmVzb2x2ZVJlc3VsdFR5cGU+CiAg
ICAgdm9pZCByZXNvbHZlKGNvbnN0IFJlc29sdmVSZXN1bHRUeXBlJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwCmluZGV4
IDRhMDViNzBmMjY1OTM5ZGUyMDM1ZGQ3NGE4M2NiY2JjNTJkODU2MDguLjI0ZjU1NTYxMmIwOTc1
Njk0MTQwMDllZDhhNWIzNzI1MGEyMDY0Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgiCiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW0uaCIK
ICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUpTU291cmNlLmgiCisjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKQEAgLTQ3LDkgKzQ4LDI4IEBA
IEpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6cmVhZChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0
dXJuIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgZXJyb3IpOwogfQogCitzdGF0aWMg
SlNQcm9taXNlRGVmZXJyZWQqIGdldE9yQ3JlYXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChF
eGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdGhpc09iamVjdCwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgUHJpdmF0ZU5hbWUgJm5hbWUpCit7CisgICAgSlNWYWx1ZSBzbG90ID0gZ2V0SW50
ZXJuYWxTbG90RnJvbU9iamVjdChleGVjLCB0aGlzT2JqZWN0LCBuYW1lKTsKKyAgICBKU1Byb21p
c2VEZWZlcnJlZCogcHJvbWlzZURlZmVycmVkID0ganNEeW5hbWljQ2FzdDxKU1Byb21pc2VEZWZl
cnJlZCo+KHNsb3QpOworCisgICAgaWYgKCFwcm9taXNlRGVmZXJyZWQpIHsKKyAgICAgICAgcHJv
bWlzZURlZmVycmVkID0gSlNQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmpl
Y3QpOworICAgICAgICBzZXRJbnRlcm5hbFNsb3RUb09iamVjdChleGVjLCB0aGlzT2JqZWN0LCBu
YW1lLCBwcm9taXNlRGVmZXJyZWQpOworICAgIH0KKyAgICByZXR1cm4gcHJvbWlzZURlZmVycmVk
OworfQorCitzdGF0aWMgSlNDOjpQcml2YXRlTmFtZSYgcmVhZHlQcm9taXNlU2xvdE5hbWUoKQor
eworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxKU0M6OlByaXZhdGVOYW1lPiByZWFkeVByb21p
c2VTbG90TmFtZSgicmVhZHlQcm9taXNlIik7CisgICAgcmV0dXJuIHJlYWR5UHJvbWlzZVNsb3RO
YW1lOworfQorCiBKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OnJlYWR5KEV4ZWNTdGF0ZSogZXhl
YykgY29uc3QKIHsKLSAgICBEZWZlcnJlZFdyYXBwZXIgd3JhcHBlcihleGVjLCBnbG9iYWxPYmpl
Y3QoKSk7CisgICAgSlNQcm9taXNlRGVmZXJyZWQqIHByb21pc2VEZWZlcnJlZCA9IGdldE9yQ3Jl
YXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChleGVjLCB0aGlzLCBnbG9iYWxPYmplY3QoKSwg
cmVhZHlQcm9taXNlU2xvdE5hbWUoKSk7CisgICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhl
YywgZ2xvYmFsT2JqZWN0KCksIHByb21pc2VEZWZlcnJlZCk7CiAgICAgYXV0byBzdWNjZXNzQ2Fs
bGJhY2sgPSBbd3JhcHBlcl0oUmVmUHRyPFJlYWRhYmxlU3RyZWFtPiBzdHJlYW0pIG11dGFibGUg
ewogICAgICAgICB3cmFwcGVyLnJlc29sdmUoc3RyZWFtLmdldCgpKTsKICAgICB9OwpAQCAtNTgs
OSArNzgsMTYgQEAgSlNWYWx1ZSBKU1JlYWRhYmxlU3RyZWFtOjpyZWFkeShFeGVjU3RhdGUqIGV4
ZWMpIGNvbnN0CiAgICAgcmV0dXJuIHdyYXBwZXIucHJvbWlzZSgpOwogfQogCitzdGF0aWMgSlND
OjpQcml2YXRlTmFtZSYgY2xvc2VkUHJvbWlzZVNsb3ROYW1lKCkKK3sKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8SlNDOjpQcml2YXRlTmFtZT4gY2xvc2VkUHJvbWlzZVNsb3ROYW1lKCJjbG9z
ZWRQcm9taXNlIik7CisgICAgcmV0dXJuIGNsb3NlZFByb21pc2VTbG90TmFtZTsKK30KKwogSlNW
YWx1ZSBKU1JlYWRhYmxlU3RyZWFtOjpjbG9zZWQoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogewot
ICAgIERlZmVycmVkV3JhcHBlciB3cmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCgpKTsKKyAgICBK
U1Byb21pc2VEZWZlcnJlZCogcHJvbWlzZURlZmVycmVkID0gZ2V0T3JDcmVhdGVQcm9taXNlRGVm
ZXJyZWRGcm9tT2JqZWN0KGV4ZWMsIHRoaXMsIGdsb2JhbE9iamVjdCgpLCBjbG9zZWRQcm9taXNl
U2xvdE5hbWUoKSk7CisgICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2Jq
ZWN0KCksIHByb21pc2VEZWZlcnJlZCk7CiAgICAgYXV0byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3Jh
cHBlcl0oUmVmUHRyPFJlYWRhYmxlU3RyZWFtPiBzdHJlYW0pIG11dGFibGUgewogICAgICAgICB3
cmFwcGVyLnJlc29sdmUoc3RyZWFtLmdldCgpKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcAppbmRleCA5YjQz
NDU3ZjhkYzRiOTY2YmE5NGU3NzM5YTg3MzA5YzVmMjNlZjE0Li5iOWEwZDEzNDk1MTg0NTg1NjM3
NDM1NjE5YTBhNDg4NmNjNDRlZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcApAQCAtMzIsMTQgKzMyLDM1IEBACiAj
aWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSlNTb3VyY2Uu
aCIKIAorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgogI2luY2x1ZGUgIkpTUmVhZGFibGVTdHJl
YW0uaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NK
U1ZhbHVlSW5saW5lcy5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNTdHJpbmcuaD4KKyNpbmNsdWRl
IDxydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCit2b2lkIHNldEludGVybmFsU2xvdFRvT2JqZWN0KEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSBvYmplY3RWYWx1ZSwgUHJpdmF0ZU5hbWUmIG5hbWUsIEpTVmFs
dWUgdmFsdWUpCit7CisgICAgSlNPYmplY3QqIG9iamVjdCA9IG9iamVjdFZhbHVlLnRvT2JqZWN0
KGV4ZWMpOworICAgIFB1dFByb3BlcnR5U2xvdCBwcm9wZXJ0eVNsb3Qob2JqZWN0VmFsdWUpOwor
ICAgIG9iamVjdC0+cHV0KG9iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbShuYW1lKSwgdmFs
dWUsIHByb3BlcnR5U2xvdCk7Cit9CisKK0pTVmFsdWUgZ2V0SW50ZXJuYWxTbG90RnJvbU9iamVj
dChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgb2JqZWN0VmFsdWUsIFByaXZhdGVOYW1lJiBuYW1l
KQoreworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBvYmplY3RWYWx1ZS50b09iamVjdChleGVjKTsK
KyAgICBQcm9wZXJ0eVNsb3QgcHJvcGVydHlTbG90KG9iamVjdFZhbHVlKTsKKworICAgIFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUgPSBJZGVudGlmaWVyOjpmcm9tKG5hbWUpOworICAgIGlmICgh
b2JqZWN0LT5nZXRPd25Qcm9wZXJ0eVNsb3Qob2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHBy
b3BlcnR5U2xvdCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIHJldHVybiBw
cm9wZXJ0eVNsb3QuZ2V0VmFsdWUoZXhlYywgcHJvcGVydHlOYW1lKTsKK30KKwogUmVmPFJlYWRh
YmxlU3RyZWFtSlNTb3VyY2U+IFJlYWRhYmxlU3RyZWFtSlNTb3VyY2U6OmNyZWF0ZShKU0M6OkV4
ZWNTdGF0ZSogZXhlYykKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZWFkYWJsZVN0cmVh
bUpTU291cmNlKGV4ZWMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Jl
YWRhYmxlU3RyZWFtSlNTb3VyY2UuaAppbmRleCBlNzIwZmEyM2FkNzhkOWE0YjhhNDYzOTkwMTg2
YjRiMGFmOTMxNWJhLi40NDYzNDYxMjY2YTZkZWYyMzM4NTU2MDBjMmY3ODdhMjgzMGEyMDc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291
cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1Nv
dXJjZS5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8aGVhcC9TdHJvbmcuaD4KICNpbmNs
dWRlIDxoZWFwL1N0cm9uZ0lubGluZXMuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFsdWUu
aD4KKyNpbmNsdWRlIDxydW50aW1lL1ByaXZhdGVOYW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02MSw2ICs2Miw5IEBAIHByaXZhdGU6CiAgICAg
SlNDOjpTdHJvbmc8SlNDOjpVbmtub3duPiBtX2Vycm9yOwogfTsKIAordm9pZCBzZXRJbnRlcm5h
bFNsb3RUb09iamVjdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgSlNDOjpQcml2YXRl
TmFtZSYsIEpTQzo6SlNWYWx1ZSk7CitKU0M6OkpTVmFsdWUgZ2V0SW50ZXJuYWxTbG90RnJvbU9i
amVjdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgSlNDOjpQcml2YXRlTmFtZSYpOwor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1RSRUFNU19BUEkp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNDg3MmU2MzQ4MjcxOTY1Mzk5MDkyYjA0NTk4ZTNiMTM2ZGRjNzFjYi4uY2JhZTFh
NTIzN2IyYTg2MzA2ZTNhYWJhNDg4OGZhNTFhZmZmYjkwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDE1LTAyLTIzICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNv
bT4gYW5kIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAg
ICAgICBbU3RyZWFtcyBBUEldIFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3Nl
ZCBhdHRyaWJ1dGVzIHNob3VsZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVhbXMvcmVh
ZGFibGVzdHJlYW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0cmVhbXMv
cmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbDogQWRkZWQgdGVzdCB0byBlbnN1cmUgcmVh
ZHkgYW5kIGNsb3NlZCBhbHdheXMgcmV0dXJuIHRoZSBzYW1lIHByb21pc2Ugb2JqZWN0LgorCiAy
MDE1LTAyLTIyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmlu
dCBhIGNvbnNvbGUgd2FybmluZyB3aGVuIEhUTUxDYW52YXNFbGVtZW50IGV4Y2VlZHMgdGhlIG1h
eGltdW0gc2l6ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVh
bS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxl
c3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAppbmRleCA5MGNkMjRlOGU2Y2VjMjNkODcw
NjU0NjA4ZWYzMzBmODRlM2RiZDlkLi42NTNiYmU0YTk1NWU2YzhkYTY3NDUwZjlkYTVhOTE4Nzg3
YmI3ZjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNv
bnN0cnVjdG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxl
c3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMyw0ICszLDUgQEAgUEFTUyBSZWFk
YWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBzaG91bGQgZ2V0IGFuIG9iamVjdCBhcyBhcmd1bWVudAog
UEFTUyBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZXMgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3QgbGlz
dCBvZiBwcm9wZXJ0aWVzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjYW4gYmUgY29uc3RydWN0ZWQg
d2l0aCBubyBhcmd1bWVudHMgCiBQQVNTIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBoYXZlIHRo
ZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgCitQQVNTIFJlYWRhYmxlU3RyZWFtIHJl
YWR5IGFuZCBjbG9zZWQgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZSBvYmpl
Y3QgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29u
c3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3Ry
dWN0b3IuaHRtbAppbmRleCA1MmU1NWI2YjJkNDA3MDAyYWFlYmRlNDZkYTEyMGYzMjg1YjRjNjlh
Li5lZTVmMTIwOGJlNGIwMzcwYTRiYzg4NmYwYjk4NmU0N2I4Yzc0NTQ3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci5odG1sCkBAIC01
OCw0ICs1OCwxNSBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IHJzLmNsb3NlZC50aGVuLCAnZnVuY3Rpb24nLCAnY2xvc2VkIHByb3BlcnR5IGlzIHRoZW5hYmxl
Jyk7CiB9LCAnUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIGhhdmUgdGhlIGNvcnJlY3QgbWV0aG9k
cyBhbmQgcHJvcGVydGllcycpOwogCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIHJzID0gbmV3IFJl
YWRhYmxlU3RyZWFtKCk7CisgICAgcmVhZHlQcm9taXNlID0gcnMucmVhZHk7CisgICAgY2xvc2Vk
UHJvbWlzZSA9IHJzLmNsb3NlZDsKKworICAgIGFzc2VydF9lcXVhbHMocmVhZHlQcm9taXNlLCBy
cy5yZWFkeSk7CisgICAgYXNzZXJ0X2VxdWFscyhjbG9zZWRQcm9taXNlLCBycy5jbG9zZWQpOwor
CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3Qua2V5cyhycyksIFsnY2xvc2VkJywgJ3Jl
YWR5J10pOworfSwgJ1JlYWRhYmxlU3RyZWFtIHJlYWR5IGFuZCBjbG9zZWQgc2hvdWxkIGFsd2F5
cyByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZSBvYmplY3QnKTsKKwogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247125</attachid>
            <date>2015-02-23 09:47:06 -0800</date>
            <delta_ts>2015-02-24 05:57:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141650-20150223184654.patch</filename>
            <type>text/plain</type>
            <size>10538</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDBlMzU2MmNjNjAzM2Fk
MmNmYTk2ODc5NTg4ODRjYzQ5ZjE1ZjFhOC4uZTc2ZmI1YjQ4YjljNjg0ODUyOTlmOTZlY2JhMWNk
ZTljZjFlZDE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTAyLTIzICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBhdHRyaWJ1dGVzIHNob3Vs
ZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9yZWQgcmVhZHkgYW5kIGNsb3NlZCBKU1Byb21p
c2VEZWZlcnJlZCBhcyBzbG90cyBpbiBKU1JlYWRhYmxlU3RyZWFtLgorICAgICAgICBBZGRlZCBu
ZXcgY29uc3RydWN0b3IgZm9yIERlZmVycmVkV3JhcHBlciB0byB1c2UgdGhlc2Ugc3RvcmVkIHZh
bHVlcy4KKyAgICAgICAgVXBkYXRlZCByZWFkeSBhbmQgY2xvc2VkIG1ldGhvZHMgdG8gdXNlIHRo
YXQgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICBDaGFuZ2VzIGFyZSBjb3ZlcmVkIGJ5IG5ldyB0
ZXN0IGluIHN0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbC4KKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZl
cnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjbG9zZWRQcm9taXNlU2xvdE5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Z2V0T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OnJlYWR5UHJvbWlzZVNsb3ROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkpT
UmVhZGFibGVTdHJlYW06OnJlYWR5KToKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVTdHJl
YW06OmNsb3NlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJj
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXRJbnRlcm5hbFNsb3RUb09iamVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpnZXRJbnRlcm5hbFNsb3RGcm9tT2JqZWN0KToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmg6CisKIDIwMTUtMDItMjIgIEd5dXlvdW5n
IEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBNb3ZlIHN0ZDo6dW5p
cXVlX3B0cjw+fG1ha2VfdW5pcXVlPD4gdG8gV2ViQ29yZS9wYWdlL3Njcm9sbGluZwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAKaW5kZXggYzNhNjM3ZmUwNzZm
ZGQwNDhkNmU3ZDU0ODZkMjlkZjFhYTc5NTdhZS4uNDZiZGRiYTE4ZjhjODViZmNiN2ZkMWU4Y2M2
N2M1NzdkNTE3ZGYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21p
c2UuY3BwCkBAIC0zOCw2ICszOCwxMiBAQCBEZWZlcnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBl
cihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogewogfQog
CitEZWZlcnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNlRGVm
ZXJyZWQpCisgICAgOiBtX2dsb2JhbE9iamVjdChleGVjLT52bSgpLCBnbG9iYWxPYmplY3QpCisg
ICAgLCBtX2RlZmVycmVkKGV4ZWMtPnZtKCksIHByb21pc2VEZWZlcnJlZCkKK3sKK30KKwogSlNP
YmplY3QqIERlZmVycmVkV3JhcHBlcjo6cHJvbWlzZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
ZGVmZXJyZWQtPnByb21pc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NUHJvbWlzZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9t
aXNlLmgKaW5kZXggMGQ2NTZjNTkyN2I1MDQ4Y2Q2MWFjZGUzNDQ0ZWEzZTg0MmU1OWYyYy4uNDJk
MDJkOWYyOGU5ZTZhODRhNGU3NWMzYTczMThmOTYxNGY5YTAxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRGVmZXJyZWRXcmFwcGVyIHsKIHB1YmxpYzoKICAgICBEZWZlcnJlZFdy
YXBwZXIoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCopOworICAgIERlZmVycmVk
V3JhcHBlcihKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgSlNDOjpKU1Byb21p
c2VEZWZlcnJlZCopOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgUmVzb2x2ZVJlc3VsdFR5cGU+CiAg
ICAgdm9pZCByZXNvbHZlKGNvbnN0IFJlc29sdmVSZXN1bHRUeXBlJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwCmluZGV4
IDRhMDViNzBmMjY1OTM5ZGUyMDM1ZGQ3NGE4M2NiY2JjNTJkODU2MDguLjI0ZjU1NTYxMmIwOTc1
Njk0MTQwMDllZDhhNWIzNzI1MGEyMDY0Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgiCiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW0uaCIK
ICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUpTU291cmNlLmgiCisjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKQEAgLTQ3LDkgKzQ4LDI4IEBA
IEpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6cmVhZChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0
dXJuIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgZXJyb3IpOwogfQogCitzdGF0aWMg
SlNQcm9taXNlRGVmZXJyZWQqIGdldE9yQ3JlYXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChF
eGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdGhpc09iamVjdCwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgUHJpdmF0ZU5hbWUgJm5hbWUpCit7CisgICAgSlNWYWx1ZSBzbG90ID0gZ2V0SW50
ZXJuYWxTbG90RnJvbU9iamVjdChleGVjLCB0aGlzT2JqZWN0LCBuYW1lKTsKKyAgICBKU1Byb21p
c2VEZWZlcnJlZCogcHJvbWlzZURlZmVycmVkID0ganNEeW5hbWljQ2FzdDxKU1Byb21pc2VEZWZl
cnJlZCo+KHNsb3QpOworCisgICAgaWYgKCFwcm9taXNlRGVmZXJyZWQpIHsKKyAgICAgICAgcHJv
bWlzZURlZmVycmVkID0gSlNQcm9taXNlRGVmZXJyZWQ6OmNyZWF0ZShleGVjLCBnbG9iYWxPYmpl
Y3QpOworICAgICAgICBzZXRJbnRlcm5hbFNsb3RUb09iamVjdChleGVjLCB0aGlzT2JqZWN0LCBu
YW1lLCBwcm9taXNlRGVmZXJyZWQpOworICAgIH0KKyAgICByZXR1cm4gcHJvbWlzZURlZmVycmVk
OworfQorCitzdGF0aWMgSlNDOjpQcml2YXRlTmFtZSYgcmVhZHlQcm9taXNlU2xvdE5hbWUoKQor
eworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxKU0M6OlByaXZhdGVOYW1lPiByZWFkeVByb21p
c2VTbG90TmFtZSgicmVhZHlQcm9taXNlIik7CisgICAgcmV0dXJuIHJlYWR5UHJvbWlzZVNsb3RO
YW1lOworfQorCiBKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OnJlYWR5KEV4ZWNTdGF0ZSogZXhl
YykgY29uc3QKIHsKLSAgICBEZWZlcnJlZFdyYXBwZXIgd3JhcHBlcihleGVjLCBnbG9iYWxPYmpl
Y3QoKSk7CisgICAgSlNQcm9taXNlRGVmZXJyZWQqIHByb21pc2VEZWZlcnJlZCA9IGdldE9yQ3Jl
YXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChleGVjLCB0aGlzLCBnbG9iYWxPYmplY3QoKSwg
cmVhZHlQcm9taXNlU2xvdE5hbWUoKSk7CisgICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhl
YywgZ2xvYmFsT2JqZWN0KCksIHByb21pc2VEZWZlcnJlZCk7CiAgICAgYXV0byBzdWNjZXNzQ2Fs
bGJhY2sgPSBbd3JhcHBlcl0oUmVmUHRyPFJlYWRhYmxlU3RyZWFtPiBzdHJlYW0pIG11dGFibGUg
ewogICAgICAgICB3cmFwcGVyLnJlc29sdmUoc3RyZWFtLmdldCgpKTsKICAgICB9OwpAQCAtNTgs
OSArNzgsMTYgQEAgSlNWYWx1ZSBKU1JlYWRhYmxlU3RyZWFtOjpyZWFkeShFeGVjU3RhdGUqIGV4
ZWMpIGNvbnN0CiAgICAgcmV0dXJuIHdyYXBwZXIucHJvbWlzZSgpOwogfQogCitzdGF0aWMgSlND
OjpQcml2YXRlTmFtZSYgY2xvc2VkUHJvbWlzZVNsb3ROYW1lKCkKK3sKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8SlNDOjpQcml2YXRlTmFtZT4gY2xvc2VkUHJvbWlzZVNsb3ROYW1lKCJjbG9z
ZWRQcm9taXNlIik7CisgICAgcmV0dXJuIGNsb3NlZFByb21pc2VTbG90TmFtZTsKK30KKwogSlNW
YWx1ZSBKU1JlYWRhYmxlU3RyZWFtOjpjbG9zZWQoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogewot
ICAgIERlZmVycmVkV3JhcHBlciB3cmFwcGVyKGV4ZWMsIGdsb2JhbE9iamVjdCgpKTsKKyAgICBK
U1Byb21pc2VEZWZlcnJlZCogcHJvbWlzZURlZmVycmVkID0gZ2V0T3JDcmVhdGVQcm9taXNlRGVm
ZXJyZWRGcm9tT2JqZWN0KGV4ZWMsIHRoaXMsIGdsb2JhbE9iamVjdCgpLCBjbG9zZWRQcm9taXNl
U2xvdE5hbWUoKSk7CisgICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2Jq
ZWN0KCksIHByb21pc2VEZWZlcnJlZCk7CiAgICAgYXV0byBzdWNjZXNzQ2FsbGJhY2sgPSBbd3Jh
cHBlcl0oUmVmUHRyPFJlYWRhYmxlU3RyZWFtPiBzdHJlYW0pIG11dGFibGUgewogICAgICAgICB3
cmFwcGVyLnJlc29sdmUoc3RyZWFtLmdldCgpKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcAppbmRleCA5YjQz
NDU3ZjhkYzRiOTY2YmE5NGU3NzM5YTg3MzA5YzVmMjNlZjE0Li5iOWEwZDEzNDk1MTg0NTg1NjM3
NDM1NjE5YTBhNDg4NmNjNDRlZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcApAQCAtMzIsMTQgKzMyLDM1IEBACiAj
aWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSlNTb3VyY2Uu
aCIKIAorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgogI2luY2x1ZGUgIkpTUmVhZGFibGVTdHJl
YW0uaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NK
U1ZhbHVlSW5saW5lcy5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNTdHJpbmcuaD4KKyNpbmNsdWRl
IDxydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCit2b2lkIHNldEludGVybmFsU2xvdFRvT2JqZWN0KEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSBvYmplY3RWYWx1ZSwgUHJpdmF0ZU5hbWUmIG5hbWUsIEpTVmFs
dWUgdmFsdWUpCit7CisgICAgSlNPYmplY3QqIG9iamVjdCA9IG9iamVjdFZhbHVlLnRvT2JqZWN0
KGV4ZWMpOworICAgIFB1dFByb3BlcnR5U2xvdCBwcm9wZXJ0eVNsb3Qob2JqZWN0VmFsdWUpOwor
ICAgIG9iamVjdC0+cHV0KG9iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbShuYW1lKSwgdmFs
dWUsIHByb3BlcnR5U2xvdCk7Cit9CisKK0pTVmFsdWUgZ2V0SW50ZXJuYWxTbG90RnJvbU9iamVj
dChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgb2JqZWN0VmFsdWUsIFByaXZhdGVOYW1lJiBuYW1l
KQoreworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBvYmplY3RWYWx1ZS50b09iamVjdChleGVjKTsK
KyAgICBQcm9wZXJ0eVNsb3QgcHJvcGVydHlTbG90KG9iamVjdFZhbHVlKTsKKworICAgIFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUgPSBJZGVudGlmaWVyOjpmcm9tKG5hbWUpOworICAgIGlmICgh
b2JqZWN0LT5nZXRPd25Qcm9wZXJ0eVNsb3Qob2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHBy
b3BlcnR5U2xvdCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIHJldHVybiBw
cm9wZXJ0eVNsb3QuZ2V0VmFsdWUoZXhlYywgcHJvcGVydHlOYW1lKTsKK30KKwogUmVmPFJlYWRh
YmxlU3RyZWFtSlNTb3VyY2U+IFJlYWRhYmxlU3RyZWFtSlNTb3VyY2U6OmNyZWF0ZShKU0M6OkV4
ZWNTdGF0ZSogZXhlYykKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZWFkYWJsZVN0cmVh
bUpTU291cmNlKGV4ZWMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Jl
YWRhYmxlU3RyZWFtSlNTb3VyY2UuaAppbmRleCBlNzIwZmEyM2FkNzhkOWE0YjhhNDYzOTkwMTg2
YjRiMGFmOTMxNWJhLi40NDYzNDYxMjY2YTZkZWYyMzM4NTU2MDBjMmY3ODdhMjgzMGEyMDc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291
cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1Nv
dXJjZS5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8aGVhcC9TdHJvbmcuaD4KICNpbmNs
dWRlIDxoZWFwL1N0cm9uZ0lubGluZXMuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFsdWUu
aD4KKyNpbmNsdWRlIDxydW50aW1lL1ByaXZhdGVOYW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02MSw2ICs2Miw5IEBAIHByaXZhdGU6CiAgICAg
SlNDOjpTdHJvbmc8SlNDOjpVbmtub3duPiBtX2Vycm9yOwogfTsKIAordm9pZCBzZXRJbnRlcm5h
bFNsb3RUb09iamVjdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgSlNDOjpQcml2YXRl
TmFtZSYsIEpTQzo6SlNWYWx1ZSk7CitKU0M6OkpTVmFsdWUgZ2V0SW50ZXJuYWxTbG90RnJvbU9i
amVjdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgSlNDOjpQcml2YXRlTmFtZSYpOwor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1RSRUFNU19BUEkp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNDg3MmU2MzQ4MjcxOTY1Mzk5MDkyYjA0NTk4ZTNiMTM2ZGRjNzFjYi4uY2JhZTFh
NTIzN2IyYTg2MzA2ZTNhYWJhNDg4OGZhNTFhZmZmYjkwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDE1LTAyLTIzICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNv
bT4gYW5kIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAg
ICAgICBbU3RyZWFtcyBBUEldIFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3Nl
ZCBhdHRyaWJ1dGVzIHNob3VsZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVhbXMvcmVh
ZGFibGVzdHJlYW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0cmVhbXMv
cmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbDogQWRkZWQgdGVzdCB0byBlbnN1cmUgcmVh
ZHkgYW5kIGNsb3NlZCBhbHdheXMgcmV0dXJuIHRoZSBzYW1lIHByb21pc2Ugb2JqZWN0LgorCiAy
MDE1LTAyLTIyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmlu
dCBhIGNvbnNvbGUgd2FybmluZyB3aGVuIEhUTUxDYW52YXNFbGVtZW50IGV4Y2VlZHMgdGhlIG1h
eGltdW0gc2l6ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVh
bS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxl
c3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAppbmRleCA5MGNkMjRlOGU2Y2VjMjNkODcw
NjU0NjA4ZWYzMzBmODRlM2RiZDlkLi42NTNiYmU0YTk1NWU2YzhkYTY3NDUwZjlkYTVhOTE4Nzg3
YmI3ZjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNv
bnN0cnVjdG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxl
c3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMyw0ICszLDUgQEAgUEFTUyBSZWFk
YWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBzaG91bGQgZ2V0IGFuIG9iamVjdCBhcyBhcmd1bWVudAog
UEFTUyBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZXMgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3QgbGlz
dCBvZiBwcm9wZXJ0aWVzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjYW4gYmUgY29uc3RydWN0ZWQg
d2l0aCBubyBhcmd1bWVudHMgCiBQQVNTIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBoYXZlIHRo
ZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgCitQQVNTIFJlYWRhYmxlU3RyZWFtIHJl
YWR5IGFuZCBjbG9zZWQgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZSBvYmpl
Y3QgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29u
c3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3Ry
dWN0b3IuaHRtbAppbmRleCA1MmU1NWI2YjJkNDA3MDAyYWFlYmRlNDZkYTEyMGYzMjg1YjRjNjlh
Li5kMzkzZTEyZmQzOGU1NWIxMGI2M2I2NDFkMTkxYzIyYmVhZjYwZDQ3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci5odG1sCkBAIC01
OCw0ICs1OCwxNyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IHJzLmNsb3NlZC50aGVuLCAnZnVuY3Rpb24nLCAnY2xvc2VkIHByb3BlcnR5IGlzIHRoZW5hYmxl
Jyk7CiB9LCAnUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIGhhdmUgdGhlIGNvcnJlY3QgbWV0aG9k
cyBhbmQgcHJvcGVydGllcycpOwogCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIHJzID0gbmV3IFJl
YWRhYmxlU3RyZWFtKCk7CisgICAgcmVhZHlQcm9taXNlID0gcnMucmVhZHk7CisgICAgY2xvc2Vk
UHJvbWlzZSA9IHJzLmNsb3NlZDsKKworICAgIGFzc2VydF9lcXVhbHMocmVhZHlQcm9taXNlLCBy
cy5yZWFkeSk7CisgICAgYXNzZXJ0X2VxdWFscyhjbG9zZWRQcm9taXNlLCBycy5jbG9zZWQpOwor
CisgICAgLy8gV2UgY2hlY2sgUmVhZGFibGVTdHJlYW0gcHJvcGVydGllcyBoZXJlIGFzIHJlYWR5
IGFuZCBjbG9zZWQgcHJvbWlzZXMgYXJlIHBlcnNpc3RlbnQgYW5kIG5lZWQgdG8gYmUgc3RvcmVk
IGluIHNvbWUgd2F5IHRoYXQgaXMgbm90IG9ic2VydmFibGUuCisgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhPYmplY3Qua2V5cyhycyksIFsnY2xvc2VkJywgJ3JlYWR5J10pOworICAgIGFzc2VydF9h
cnJheV9lcXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocnMpLCBbJ2Nsb3NlZCcsICdy
ZWFkeSddKTsKK30sICdSZWFkYWJsZVN0cmVhbSByZWFkeSBhbmQgY2xvc2VkIHNob3VsZCBhbHdh
eXMgcmV0dXJuIHRoZSBzYW1lIHByb21pc2Ugb2JqZWN0Jyk7CisKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247229</attachid>
            <date>2015-02-24 05:57:11 -0800</date>
            <delta_ts>2015-02-24 06:48:51 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-141650-20150224145658.patch</filename>
            <type>text/plain</type>
            <size>11165</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDBlMzU2MmNjNjAzM2Fk
MmNmYTk2ODc5NTg4ODRjYzQ5ZjE1ZjFhOC4uY2VkMGZmODRjZmIwNmNiODY2NDVjZDZiZjgxYjFi
ZGE1Mzc5NTUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE1LTAyLTIzICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBbU3RyZWFtcyBBUEld
IFJlYWRpbmcgUmVhZGFibGVTdHJlYW0gcmVhZHkgYW5kIGNsb3NlZCBhdHRyaWJ1dGVzIHNob3Vs
ZCBub3QgYWx3YXlzIGNyZWF0ZSBhIG5ldyBwcm9taXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBC
ZW5qYW1pbiBQb3VsYWluLgorCisgICAgICAgIFRoZSBKU1Byb21pc2VEZWZlcnJlZCBvYmplY3Rz
IHJldHVybmVkIGJ5IEpTUmVhZGFibGVTdHJlYW06OnJlYWR5IGFuZCBKU1JlYWRhYmxlU3RyZWFt
OjpjbG9zZWQgc2hvdWxkIGJlIHN0b3JlZCBzb21ld2hlcmUuCisgICAgICAgIFRoaXMgcGF0Y2gg
c3RvcmVzIHRoZW0gYXMgcHJpdmF0ZSBzbG90cyBpbiBKU1JlYWRhYmxlU3RyZWFtLgorICAgICAg
ICBUaGlzIGlzIGNsb3NlIHRvIHRoZSBkZXNjcmlwdGlvbiBpbiBodHRwczovL3N0cmVhbXMuc3Bl
Yy53aGF0d2cub3JnLyNycy1pbnRlcm5hbC1zbG90cy4KKworICAgICAgICBBbiBhbHRlcm5hdGl2
ZSB3b3VsZCBiZSB0byBoYXZlIHRoZXNlIG9iamVjdHMgYXMgSlNSZWFkYWJsZVN0cmVhbSBjbGFz
cyBtZW1iZXJzLCB0aHVzIG1vZGlmeWluZyB0aGUgYmluZGluZyBnZW5lcmF0b3IuCisgICAgICAg
IFRoYXQgbWF5IGJlIHRoZSBjbGVhbmVzdCBzb2x1dGlvbiwgZXNwZWNpYWxseSBpZiBvdGhlciBB
UElzIGV4cHJlc3MgdGhlIHNhbWUgbmVlZC4KKyAgICAgICAgQW5vdGhlciBhbHRlcm5hdGl2ZSBp
cyB0byBzdG9yZSBEZWZlcnJlZFdyYXBwZXIgaW4gUmVhZGFibGVTdHJlYW0gb2JqZWN0cy4KKyAg
ICAgICAgQnV0IGl0IGlzIGN1cnJlbnRseSBwcmVmZXJyZWQgdG8ga2VlcCBEZWZlcnJlZFdyYXBw
ZXIgaW4gYmluZGluZ3MvanMgY29kZS4KKworICAgICAgICBBZGRlZCBuZXcgY29uc3RydWN0b3Ig
Zm9yIERlZmVycmVkV3JhcHBlciB0byB1c2UgdGhlc2Ugc3RvcmVkIHZhbHVlcy4KKyAgICAgICAg
VXBkYXRlZCByZWFkeSBhbmQgY2xvc2VkIG1ldGhvZHMgdG8gdXNlIHRoYXQgbmV3IGNvbnN0cnVj
dG9yLgorICAgICAgICBDaGFuZ2VzIGFyZSBjb3ZlcmVkIGJ5IG5ldyB0ZXN0IGluIHN0cmVhbXMv
cmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbC4KKworICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NUHJvbWlzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJlZFdyYXBwZXI6OkRl
ZmVycmVkV3JhcHBlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmg6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbUN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjbG9zZWRQcm9taXNlU2xvdE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0
T3JDcmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OnJl
YWR5UHJvbWlzZVNsb3ROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVTdHJlYW06
OnJlYWR5KToKKyAgICAgICAgKFdlYkNvcmU6OkpTUmVhZGFibGVTdHJlYW06OmNsb3NlZCk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpzZXRJbnRlcm5hbFNsb3RUb09iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpn
ZXRJbnRlcm5hbFNsb3RGcm9tT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9SZWFkYWJs
ZVN0cmVhbUpTU291cmNlLmg6CisKIDIwMTUtMDItMjIgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5n
LmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBNb3ZlIHN0ZDo6dW5pcXVlX3B0cjw+fG1ha2Vf
dW5pcXVlPD4gdG8gV2ViQ29yZS9wYWdlL3Njcm9sbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAKaW5kZXggYzNhNjM3ZmUwNzZmZGQwNDhkNmU3ZDU0ODZk
MjlkZjFhYTc5NTdhZS4uNDZiZGRiYTE4ZjhjODViZmNiN2ZkMWU4Y2M2N2M1NzdkNTE3ZGYxMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuY3BwCkBAIC0zOCw2
ICszOCwxMiBAQCBEZWZlcnJlZFdyYXBwZXI6OkRlZmVycmVkV3JhcHBlcihFeGVjU3RhdGUqIGV4
ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogewogfQogCitEZWZlcnJlZFdyYXBw
ZXI6OkRlZmVycmVkV3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNlRGVmZXJyZWQpCisgICAgOiBt
X2dsb2JhbE9iamVjdChleGVjLT52bSgpLCBnbG9iYWxPYmplY3QpCisgICAgLCBtX2RlZmVycmVk
KGV4ZWMtPnZtKCksIHByb21pc2VEZWZlcnJlZCkKK3sKK30KKwogSlNPYmplY3QqIERlZmVycmVk
V3JhcHBlcjo6cHJvbWlzZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fZGVmZXJyZWQtPnByb21p
c2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlz
ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKaW5kZXggMGQ2
NTZjNTkyN2I1MDQ4Y2Q2MWFjZGUzNDQ0ZWEzZTg0MmU1OWYyYy4uNDJkMDJkOWYyOGU5ZTZhODRh
NGU3NWMzYTczMThmOTYxNGY5YTAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01Qcm9taXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
RGVmZXJyZWRXcmFwcGVyIHsKIHB1YmxpYzoKICAgICBEZWZlcnJlZFdyYXBwZXIoSlNDOjpFeGVj
U3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCopOworICAgIERlZmVycmVkV3JhcHBlcihKU0M6OkV4
ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgSlNDOjpKU1Byb21pc2VEZWZlcnJlZCopOwog
CiAgICAgdGVtcGxhdGU8Y2xhc3MgUmVzb2x2ZVJlc3VsdFR5cGU+CiAgICAgdm9pZCByZXNvbHZl
KGNvbnN0IFJlc29sdmVSZXN1bHRUeXBlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1DdXN0b20uY3BwCmluZGV4IDRhMDViNzBmMjY1OTM5
ZGUyMDM1ZGQ3NGE4M2NiY2JjNTJkODU2MDguLjBmNzk5M2RlZWNlODhlZGY1YTEzZjA4NWE2Yjk3
ZWI4MDBjNDU0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVh
ZGFibGVTdHJlYW1DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
UmVhZGFibGVTdHJlYW1DdXN0b20uY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiSlNE
T01Qcm9taXNlLmgiCiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW0uaCIKICNpbmNsdWRlICJSZWFk
YWJsZVN0cmVhbUpTU291cmNlLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKQEAgLTQ3LDkgKzQ4LDI4IEBAIEpTVmFsdWUgSlNSZWFk
YWJsZVN0cmVhbTo6cmVhZChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIGV4ZWMtPnZtKCku
dGhyb3dFeGNlcHRpb24oZXhlYywgZXJyb3IpOwogfQogCitzdGF0aWMgSlNQcm9taXNlRGVmZXJy
ZWQqIGdldE9yQ3JlYXRlUHJvbWlzZURlZmVycmVkRnJvbU9iamVjdChFeGVjU3RhdGUqIGV4ZWMs
IEpTVmFsdWUgdGhpc09iamVjdCwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUHJpdmF0
ZU5hbWUgJm5hbWUpCit7CisgICAgSlNWYWx1ZSBzbG90ID0gZ2V0SW50ZXJuYWxTbG90RnJvbU9i
amVjdChleGVjLCB0aGlzT2JqZWN0LCBuYW1lKTsKKyAgICBKU1Byb21pc2VEZWZlcnJlZCogcHJv
bWlzZURlZmVycmVkID0gc2xvdCA/IGpzRHluYW1pY0Nhc3Q8SlNQcm9taXNlRGVmZXJyZWQqPihz
bG90KSA6IG51bGxwdHI7CisKKyAgICBpZiAoIXByb21pc2VEZWZlcnJlZCkgeworICAgICAgICBw
cm9taXNlRGVmZXJyZWQgPSBKU1Byb21pc2VEZWZlcnJlZDo6Y3JlYXRlKGV4ZWMsIGdsb2JhbE9i
amVjdCk7CisgICAgICAgIHNldEludGVybmFsU2xvdFRvT2JqZWN0KGV4ZWMsIHRoaXNPYmplY3Qs
IG5hbWUsIHByb21pc2VEZWZlcnJlZCk7CisgICAgfQorICAgIHJldHVybiBwcm9taXNlRGVmZXJy
ZWQ7Cit9CisKK3N0YXRpYyBKU0M6OlByaXZhdGVOYW1lJiByZWFkeVByb21pc2VTbG90TmFtZSgp
Cit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEpTQzo6UHJpdmF0ZU5hbWU+IHJlYWR5UHJv
bWlzZVNsb3ROYW1lKCJyZWFkeVByb21pc2UiKTsKKyAgICByZXR1cm4gcmVhZHlQcm9taXNlU2xv
dE5hbWU7Cit9CisKIEpTVmFsdWUgSlNSZWFkYWJsZVN0cmVhbTo6cmVhZHkoRXhlY1N0YXRlKiBl
eGVjKSBjb25zdAogewotICAgIERlZmVycmVkV3JhcHBlciB3cmFwcGVyKGV4ZWMsIGdsb2JhbE9i
amVjdCgpKTsKKyAgICBKU1Byb21pc2VEZWZlcnJlZCogcHJvbWlzZURlZmVycmVkID0gZ2V0T3JD
cmVhdGVQcm9taXNlRGVmZXJyZWRGcm9tT2JqZWN0KGV4ZWMsIHRoaXMsIGdsb2JhbE9iamVjdCgp
LCByZWFkeVByb21pc2VTbG90TmFtZSgpKTsKKyAgICBEZWZlcnJlZFdyYXBwZXIgd3JhcHBlcihl
eGVjLCBnbG9iYWxPYmplY3QoKSwgcHJvbWlzZURlZmVycmVkKTsKICAgICBhdXRvIHN1Y2Nlc3ND
YWxsYmFjayA9IFt3cmFwcGVyXShSZWZQdHI8UmVhZGFibGVTdHJlYW0+IHN0cmVhbSkgbXV0YWJs
ZSB7CiAgICAgICAgIHdyYXBwZXIucmVzb2x2ZShzdHJlYW0uZ2V0KCkpOwogICAgIH07CkBAIC01
OCw5ICs3OCwxNiBAQCBKU1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OnJlYWR5KEV4ZWNTdGF0ZSog
ZXhlYykgY29uc3QKICAgICByZXR1cm4gd3JhcHBlci5wcm9taXNlKCk7CiB9CiAKK3N0YXRpYyBK
U0M6OlByaXZhdGVOYW1lJiBjbG9zZWRQcm9taXNlU2xvdE5hbWUoKQoreworICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxKU0M6OlByaXZhdGVOYW1lPiBjbG9zZWRQcm9taXNlU2xvdE5hbWUoImNs
b3NlZFByb21pc2UiKTsKKyAgICByZXR1cm4gY2xvc2VkUHJvbWlzZVNsb3ROYW1lOworfQorCiBK
U1ZhbHVlIEpTUmVhZGFibGVTdHJlYW06OmNsb3NlZChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7
Ci0gICAgRGVmZXJyZWRXcmFwcGVyIHdyYXBwZXIoZXhlYywgZ2xvYmFsT2JqZWN0KCkpOworICAg
IEpTUHJvbWlzZURlZmVycmVkKiBwcm9taXNlRGVmZXJyZWQgPSBnZXRPckNyZWF0ZVByb21pc2VE
ZWZlcnJlZEZyb21PYmplY3QoZXhlYywgdGhpcywgZ2xvYmFsT2JqZWN0KCksIGNsb3NlZFByb21p
c2VTbG90TmFtZSgpKTsKKyAgICBEZWZlcnJlZFdyYXBwZXIgd3JhcHBlcihleGVjLCBnbG9iYWxP
YmplY3QoKSwgcHJvbWlzZURlZmVycmVkKTsKICAgICBhdXRvIHN1Y2Nlc3NDYWxsYmFjayA9IFt3
cmFwcGVyXShSZWZQdHI8UmVhZGFibGVTdHJlYW0+IHN0cmVhbSkgbXV0YWJsZSB7CiAgICAgICAg
IHdyYXBwZXIucmVzb2x2ZShzdHJlYW0uZ2V0KCkpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbUpTU291cmNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuY3BwCmluZGV4IDli
NDM0NTdmOGRjNGI5NjZiYTk0ZTc3MzlhODczMDljNWYyM2VmMTQuLmI4MWFhY2Q1MDA4YjU3NDQ4
MmQ5ZWMxNjNhN2EzNzBhZWQ3Y2Q3ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3VyY2UuY3BwCkBAIC0zMiwxNCArMzIsMzUgQEAK
ICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW1KU1NvdXJj
ZS5oIgogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgiCiAjaW5jbHVkZSAiSlNSZWFkYWJsZVN0
cmVhbS5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KICNpbmNsdWRlIDxydW50aW1lL0pT
Q0pTVmFsdWVJbmxpbmVzLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU1N0cmluZy5oPgorI2luY2x1
ZGUgPHJ1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3ZvaWQgc2V0SW50ZXJuYWxTbG90VG9PYmplY3QoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIG9iamVjdFZhbHVlLCBQcml2YXRlTmFtZSYgbmFtZSwgSlNW
YWx1ZSB2YWx1ZSkKK3sKKyAgICBKU09iamVjdCogb2JqZWN0ID0gb2JqZWN0VmFsdWUudG9PYmpl
Y3QoZXhlYyk7CisgICAgUHV0UHJvcGVydHlTbG90IHByb3BlcnR5U2xvdChvYmplY3RWYWx1ZSk7
CisgICAgb2JqZWN0LT5wdXQob2JqZWN0LCBleGVjLCBJZGVudGlmaWVyOjpmcm9tKG5hbWUpLCB2
YWx1ZSwgcHJvcGVydHlTbG90KTsKK30KKworSlNWYWx1ZSBnZXRJbnRlcm5hbFNsb3RGcm9tT2Jq
ZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBvYmplY3RWYWx1ZSwgUHJpdmF0ZU5hbWUmIG5h
bWUpCit7CisgICAgSlNPYmplY3QqIG9iamVjdCA9IG9iamVjdFZhbHVlLnRvT2JqZWN0KGV4ZWMp
OworICAgIFByb3BlcnR5U2xvdCBwcm9wZXJ0eVNsb3Qob2JqZWN0VmFsdWUpOworCisgICAgUHJv
cGVydHlOYW1lIHByb3BlcnR5TmFtZSA9IElkZW50aWZpZXI6OmZyb20obmFtZSk7CisgICAgaWYg
KCFvYmplY3QtPmdldE93blByb3BlcnR5U2xvdChvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwg
cHJvcGVydHlTbG90KSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKKyAgICByZXR1cm4gcHJv
cGVydHlTbG90LmdldFZhbHVlKGV4ZWMsIHByb3BlcnR5TmFtZSk7Cit9CisKIFJlZjxSZWFkYWJs
ZVN0cmVhbUpTU291cmNlPiBSZWFkYWJsZVN0cmVhbUpTU291cmNlOjpjcmVhdGUoSlNDOjpFeGVj
U3RhdGUqIGV4ZWMpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVhZGFibGVTdHJlYW1K
U1NvdXJjZShleGVjKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9S
ZWFkYWJsZVN0cmVhbUpTU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFk
YWJsZVN0cmVhbUpTU291cmNlLmgKaW5kZXggZTcyMGZhMjNhZDc4ZDlhNGI4YTQ2Mzk5MDE4NmI0
YjBhZjkzMTViYS4uNDQ2MzQ2MTI2NmE2ZGVmMjMzODU1NjAwYzJmNzg3YTI4MzBhMjA3NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1KU1NvdXJj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtSlNTb3Vy
Y2UuaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGhlYXAvU3Ryb25nLmg+CiAjaW5jbHVk
ZSA8aGVhcC9TdHJvbmdJbmxpbmVzLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlLmg+
CisjaW5jbHVkZSA8cnVudGltZS9Qcml2YXRlTmFtZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjEsNiArNjIsOSBAQCBwcml2YXRlOgogICAgIEpT
Qzo6U3Ryb25nPEpTQzo6VW5rbm93bj4gbV9lcnJvcjsKIH07CiAKK3ZvaWQgc2V0SW50ZXJuYWxT
bG90VG9PYmplY3QoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIEpTQzo6UHJpdmF0ZU5h
bWUmLCBKU0M6OkpTVmFsdWUpOworSlNDOjpKU1ZhbHVlIGdldEludGVybmFsU2xvdEZyb21PYmpl
Y3QoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIEpTQzo6UHJpdmF0ZU5hbWUmKTsKKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNUUkVBTVNfQVBJKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDQ4NzJlNjM0ODI3MTk2NTM5OTA5MmIwNDU5OGUzYjEzNmRkYzcxY2IuLmI2ZGQzNTVm
ZmI3ZWI5OWVkNjgwMmFlMjQ4YzgzZDIyNGJkNDU5ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxNS0wMi0yMyAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgPGNhbHZhcmlzQGlnYWxpYS5jb20+
IGFuZCBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAg
ICAgW1N0cmVhbXMgQVBJXSBSZWFkaW5nIFJlYWRhYmxlU3RyZWFtIHJlYWR5IGFuZCBjbG9zZWQg
YXR0cmlidXRlcyBzaG91bGQgbm90IGFsd2F5cyBjcmVhdGUgYSBuZXcgcHJvbWlzZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxNjUwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQmVuamFtaW4gUG91bGFpbi4KKworICAgICAgICAqIHN0cmVhbXMvcmVh
ZGFibGVzdHJlYW0tY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0cmVhbXMv
cmVhZGFibGVzdHJlYW0tY29uc3RydWN0b3IuaHRtbDogQWRkZWQgdGVzdCB0byBlbnN1cmUgcmVh
ZHkgYW5kIGNsb3NlZCBhbHdheXMgcmV0dXJuIHRoZSBzYW1lIHByb21pc2Ugb2JqZWN0LgorCiAy
MDE1LTAyLTIyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBQcmlu
dCBhIGNvbnNvbGUgd2FybmluZyB3aGVuIEhUTUxDYW52YXNFbGVtZW50IGV4Y2VlZHMgdGhlIG1h
eGltdW0gc2l6ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVh
bS1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxl
c3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAppbmRleCA5MGNkMjRlOGU2Y2VjMjNkODcw
NjU0NjA4ZWYzMzBmODRlM2RiZDlkLi42NTNiYmU0YTk1NWU2YzhkYTY3NDUwZjlkYTVhOTE4Nzg3
YmI3ZjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNv
bnN0cnVjdG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxl
c3RyZWFtLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAtMyw0ICszLDUgQEAgUEFTUyBSZWFk
YWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBzaG91bGQgZ2V0IGFuIG9iamVjdCBhcyBhcmd1bWVudAog
UEFTUyBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZXMgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3QgbGlz
dCBvZiBwcm9wZXJ0aWVzIAogUEFTUyBSZWFkYWJsZVN0cmVhbSBjYW4gYmUgY29uc3RydWN0ZWQg
d2l0aCBubyBhcmd1bWVudHMgCiBQQVNTIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBoYXZlIHRo
ZSBjb3JyZWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgCitQQVNTIFJlYWRhYmxlU3RyZWFtIHJl
YWR5IGFuZCBjbG9zZWQgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZSBvYmpl
Y3QgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29u
c3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGVzdHJlYW0tY29uc3Ry
dWN0b3IuaHRtbAppbmRleCA1MmU1NWI2YjJkNDA3MDAyYWFlYmRlNDZkYTEyMGYzMjg1YjRjNjlh
Li5kMzkzZTEyZmQzOGU1NWIxMGI2M2I2NDFkMTkxYzIyYmVhZjYwZDQ3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRhYmxlc3RyZWFtLWNvbnN0cnVjdG9yLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZXN0cmVhbS1jb25zdHJ1Y3Rvci5odG1sCkBAIC01
OCw0ICs1OCwxNyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IHJzLmNsb3NlZC50aGVuLCAnZnVuY3Rpb24nLCAnY2xvc2VkIHByb3BlcnR5IGlzIHRoZW5hYmxl
Jyk7CiB9LCAnUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIGhhdmUgdGhlIGNvcnJlY3QgbWV0aG9k
cyBhbmQgcHJvcGVydGllcycpOwogCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIHJzID0gbmV3IFJl
YWRhYmxlU3RyZWFtKCk7CisgICAgcmVhZHlQcm9taXNlID0gcnMucmVhZHk7CisgICAgY2xvc2Vk
UHJvbWlzZSA9IHJzLmNsb3NlZDsKKworICAgIGFzc2VydF9lcXVhbHMocmVhZHlQcm9taXNlLCBy
cy5yZWFkeSk7CisgICAgYXNzZXJ0X2VxdWFscyhjbG9zZWRQcm9taXNlLCBycy5jbG9zZWQpOwor
CisgICAgLy8gV2UgY2hlY2sgUmVhZGFibGVTdHJlYW0gcHJvcGVydGllcyBoZXJlIGFzIHJlYWR5
IGFuZCBjbG9zZWQgcHJvbWlzZXMgYXJlIHBlcnNpc3RlbnQgYW5kIG5lZWQgdG8gYmUgc3RvcmVk
IGluIHNvbWUgd2F5IHRoYXQgaXMgbm90IG9ic2VydmFibGUuCisgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhPYmplY3Qua2V5cyhycyksIFsnY2xvc2VkJywgJ3JlYWR5J10pOworICAgIGFzc2VydF9h
cnJheV9lcXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocnMpLCBbJ2Nsb3NlZCcsICdy
ZWFkeSddKTsKK30sICdSZWFkYWJsZVN0cmVhbSByZWFkeSBhbmQgY2xvc2VkIHNob3VsZCBhbHdh
eXMgcmV0dXJuIHRoZSBzYW1lIHByb21pc2Ugb2JqZWN0Jyk7CisKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>