<?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>172129</bug_id>
          
          <creation_ts>2017-05-15 11:12:20 -0700</creation_ts>
          <short_desc>WebAssembly: exports is a getter</short_desc>
          <delta_ts>2017-05-18 22:27:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>161709</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="JF Bastien">jfbastien</reporter>
          <assigned_to name="JF Bastien">jfbastien</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1308728</commentid>
    <comment_count>0</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-05-15 11:12:20 -0700</bug_when>
    <thetext>Make sure we have the right semantics: https://github.com/WebAssembly/design/pull/1062</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310004</commentid>
    <comment_count>1</comment_count>
      <attachid>310489</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-05-17 23:43:10 -0700</bug_when>
    <thetext>Created attachment 310489
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310009</commentid>
    <comment_count>2</comment_count>
      <attachid>310490</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-05-17 23:53:34 -0700</bug_when>
    <thetext>Created attachment 310490
patch

Rebase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310109</commentid>
    <comment_count>3</comment_count>
      <attachid>310490</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 09:25:03 -0700</bug_when>
    <thetext>Comment on attachment 310490
patch

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

r=me

&gt; JSTests/wasm/js-api/test_basic_api.js:74
&gt; +        assert.throws(() =&gt; WebAssembly.Instance.prototype.exports = undefined, TypeError, `Attempted to assign to readonly property.`);

Please add a test where you do getOwnProperty and assert the property descriptor is what you expect. Also, please add tests where you throw because the |this| is not an instance.

&gt; Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.cpp:48
&gt; + exports webAssemblyInstanceProtoFuncExports DontEnum|Accessor 0

Is it a configurable property?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310148</commentid>
    <comment_count>4</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-05-18 10:49:14 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #3)
&gt; Comment on attachment 310490 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=310490&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; JSTests/wasm/js-api/test_basic_api.js:74
&gt; &gt; +        assert.throws(() =&gt; WebAssembly.Instance.prototype.exports = undefined, TypeError, `Attempted to assign to readonly property.`);
&gt; 
&gt; Please add a test where you do getOwnProperty and assert the property
&gt; descriptor is what you expect.

AFAICT a [[Get]] without [[Set]] has getOwnPropertyDescriptor of {&quot;enumerable&quot;:false,&quot;configurable&quot;:true} does that seem right to you? I&apos;m not super clear on property descriptors, and getters...

None of the accessors specify their own property info.

&gt; Also, please add tests where you throw
&gt; because the |this| is not an instance.

Will do, I tested locally and forgot to add.

&gt; &gt; Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.cpp:48
&gt; &gt; + exports webAssemblyInstanceProtoFuncExports DontEnum|Accessor 0
&gt; 
&gt; Is it a configurable property?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310149</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-05-18 10:57:07 -0700</bug_when>
    <thetext>(In reply to JF Bastien from comment #4)
&gt; (In reply to Saam Barati from comment #3)
&gt; &gt; Comment on attachment 310490 [details]
&gt; &gt; patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=310490&amp;action=review
&gt; &gt; 
&gt; &gt; r=me
&gt; &gt; 
&gt; &gt; &gt; JSTests/wasm/js-api/test_basic_api.js:74
&gt; &gt; &gt; +        assert.throws(() =&gt; WebAssembly.Instance.prototype.exports = undefined, TypeError, `Attempted to assign to readonly property.`);
&gt; &gt; 
&gt; &gt; Please add a test where you do getOwnProperty and assert the property
&gt; &gt; descriptor is what you expect.
&gt; 
&gt; AFAICT a [[Get]] without [[Set]] has getOwnPropertyDescriptor of
&gt; {&quot;enumerable&quot;:false,&quot;configurable&quot;:true} does that seem right to you? I&apos;m
&gt; not super clear on property descriptors, and getters...
&gt; 
&gt; None of the accessors specify their own property info.
It looks like we should default to configurable:false
https://tc39.github.io/ecma262/#table-4

&gt; 
&gt; &gt; Also, please add tests where you throw
&gt; &gt; because the |this| is not an instance.
&gt; 
&gt; Will do, I tested locally and forgot to add.
&gt; 
&gt; &gt; &gt; Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.cpp:48
&gt; &gt; &gt; + exports webAssemblyInstanceProtoFuncExports DontEnum|Accessor 0
&gt; &gt; 
&gt; &gt; Is it a configurable property?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310448</commentid>
    <comment_count>6</comment_count>
      <attachid>310607</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-05-18 21:42:30 -0700</bug_when>
    <thetext>Created attachment 310607
patch

From the discussion it sounds like the enumerable / configurable properties are sill up in the air. I forked to an issue:
  https://github.com/WebAssembly/design/issues/1069
I&apos;ll create an issue here and fix if things change (for all accessors, not just this one).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310449</commentid>
    <comment_count>7</comment_count>
      <attachid>310607</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-18 21:44:43 -0700</bug_when>
    <thetext>Comment on attachment 310607
patch

Rejecting attachment 310607 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 310607, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in JSTests/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/3773872</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310452</commentid>
    <comment_count>8</comment_count>
      <attachid>310609</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-05-18 21:47:52 -0700</bug_when>
    <thetext>Created attachment 310609
patch

No oops.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310472</commentid>
    <comment_count>9</comment_count>
      <attachid>310609</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-18 22:27:32 -0700</bug_when>
    <thetext>Comment on attachment 310609
patch

Clearing flags on attachment: 310609

Committed r217097: &lt;http://trac.webkit.org/changeset/217097&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310473</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-18 22:27:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310489</attachid>
            <date>2017-05-17 23:43:10 -0700</date>
            <delta_ts>2017-05-17 23:53:34 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Exports-is-a-getter.patch</filename>
            <type>text/plain</type>
            <size>12026</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSA1NTcwYTIwNjcyZTlmZTgwMmI2NWQ3ZTUwMDg5YTI2ODljMzIxMDFiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDE3IE1heSAyMDE3IDIzOjQyOjI4IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gRXhwb3J0
cyBpcyBhIGdldHRlcgoKLS0tCiBKU1Rlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8IDEyICsrKysrKysrKwogSlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jh
c2ljX2FwaS5qcyAgICAgICAgICAgICAgfCAgMiArLQogU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrCiAuLi4v
d2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuY3BwICAgICAgICAgICAgICB8ICAxIC0KIC4u
Li9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oIHwgIDIgKysK
IC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmNwcCAgICAgICAgICAgIHwgIDIg
Ky0KIC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUuY3BwICAgICAgIHwg
MzEgKysrKysrKysrKysrKysrKysrKysrLQogLi4uL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlQ
cm90b3R5cGUuY3BwICAgICAgICAgfCAgNyArKystLQogLi4uL3dhc20vanMvV2ViQXNzZW1ibHlU
YWJsZVByb3RvdHlwZS5jcHAgICAgICAgICAgfCAgOCArKystLS0KIDkgZmlsZXMgY2hhbmdlZCwg
ODAgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9D
aGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCBlMzg3OGE4Li45NjNmOWNiIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDE3LTA1LTE3ICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4K
KworICAgICAgICBXZWJBc3NlbWJseTogZXhwb3J0cyBpcyBhIGdldHRlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMTI5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3QgdG8gcmVmbGVj
dCBuZXcgc2VtYW50aWNzLgorCisgICAgICAgICogd2FzbS9qcy1hcGkvdGVzdF9iYXNpY19hcGku
anM6CisgICAgICAgIChjb25zdC5jLmluLmNvbnN0cnVjdG9yUHJvcGVydGllcy5zd2l0Y2gpOgor
CiAyMDE3LTA1LTE2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAg
ICAgICAgIFtKU0NdW0RGR11bRE9NSklUXSBFeHRlbmQgQ2hlY2tET00gdG8gQ2hlY2tTdWJDbGFz
cwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jhc2ljX2FwaS5qcyBiL0pT
VGVzdHMvd2FzbS9qcy1hcGkvdGVzdF9iYXNpY19hcGkuanMKaW5kZXggZmI1ZDU1OS4uNDU2ZDk4
ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jhc2ljX2FwaS5qcworKysg
Yi9KU1Rlc3RzL3dhc20vanMtYXBpL3Rlc3RfYmFzaWNfYXBpLmpzCkBAIC03MSw3ICs3MSw3IEBA
IGZvciAoY29uc3QgYyBpbiBjb25zdHJ1Y3RvclByb3BlcnRpZXMpIHsKICAgICAgICAgZm9yIChj
b25zdCBpbnZhbGlkIG9mIGludmFsaWRJbnN0YW5jZUltcG9ydHMpCiAgICAgICAgICAgICBhc3Nl
cnQudGhyb3dzKCgpID0+IG5ldyBXZWJBc3NlbWJseVtjXShuZXcgV2ViQXNzZW1ibHkuTW9kdWxl
KGVtcHR5TW9kdWxlQXJyYXkpLCBpbnZhbGlkKSwgVHlwZUVycm9yLCBgc2Vjb25kIGFyZ3VtZW50
IHRvIFdlYkFzc2VtYmx5Lkluc3RhbmNlIG11c3QgYmUgdW5kZWZpbmVkIG9yIGFuIE9iamVjdCAo
ZXZhbHVhdGluZyAnbmV3IFdlYkFzc2VtYmx5W2NdKG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoZW1w
dHlNb2R1bGVBcnJheSksIGludmFsaWQpJylgKTsKICAgICAgICAgYXNzZXJ0LmlzTm90VW5kZWYo
aW5zdGFuY2UuZXhwb3J0cyk7Ci0gICAgICAgIGNoZWNrT3duUHJvcGVydHlEZXNjcmlwdG9yKGlu
c3RhbmNlLCAiZXhwb3J0cyIsIHsgdHlwZW9mdmFsdWU6ICJvYmplY3QiLCB3cml0YWJsZTogdHJ1
ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlIH0pOworICAgICAgICBhc3Nl
cnQudGhyb3dzKCgpID0+IFdlYkFzc2VtYmx5Lkluc3RhbmNlLnByb3RvdHlwZS5leHBvcnRzID0g
dW5kZWZpbmVkLCBUeXBlRXJyb3IsIGBBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5IHBy
b3BlcnR5LmApOwogICAgICAgICBhc3NlcnQuaXNVbmRlZihpbnN0YW5jZS5leHBvcnRzLl9fcHJv
dG9fXyk7CiAgICAgICAgIGFzc2VydC5lcShSZWZsZWN0LmlzRXh0ZW5zaWJsZShpbnN0YW5jZS5l
eHBvcnRzKSwgZmFsc2UpOwogICAgICAgICBhc3NlcnQuZXEoU3ltYm9sLml0ZXJhdG9yIGluIGlu
c3RhbmNlLmV4cG9ydHMsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDc3YzU0
ZDguLmM3Y2MyZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisy
MDE3LTA1LTE3ICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWJBc3NlbWJseTogZXhwb3J0cyBpcyBhIGdldHRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMTI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgdXBkYXRlZCBoZXJlOiBodHRwczovL2dpdGh1Yi5j
b20vV2ViQXNzZW1ibHkvZGVzaWduL3B1bGwvMTA2MgorCisgICAgICAgICogd2FzbS9qcy9KU1dl
YkFzc2VtYmx5SW5zdGFuY2UuY3BwOgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5SW5zdGFu
Y2U6OmZpbmlzaENyZWF0aW9uKTogZG9uJ3QgcHV0RGlyZWN0IGhlcmUgYW55bW9yZQorICAgICAg
ICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmg6CisgICAgICAgIChKU0M6OkpTV2Vi
QXNzZW1ibHlJbnN0YW5jZTo6bW9kdWxlTmFtZXNwYWNlT2JqZWN0KTogYWRkIGFjY2Vzc29yCisg
ICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5jcHA6IHNxdWVsY2ggY2F1
c2luZyBhIHdhcm5pbmcKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90
b3R5cGUuY3BwOiB1c2UgTFVUCisgICAgICAgIChKU0M6OmdldEluc3RhbmNlKTogaGVscGVyLCBh
cyBpbiBzdXJyb3VuZGluZyBmaWxlcworICAgICAgICAoSlNDOjp3ZWJBc3NlbWJseUluc3RhbmNl
UHJvdG9GdW5jRXhwb3J0cyk6IGluc3RlYWQgb2YgcHV0RGlyZWN0CisgICAgICAgICogd2FzbS9q
cy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5jcHA6IHBhc3MgVk0gYXJvdW5kIGFzIGZvciBU
YWJsZQorICAgICAgICAoSlNDOjpnZXRNZW1vcnkpOgorICAgICAgICAoSlNDOjp3ZWJBc3NlbWJs
eU1lbW9yeVByb3RvRnVuY0dyb3cpOgorICAgICAgICAoSlNDOjp3ZWJBc3NlbWJseU1lbW9yeVBy
b3RvRnVuY0J1ZmZlcik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlUHJvdG90
eXBlLmNwcDogc3RhdGljIGV2ZXJ5d2hlcmUgYXMgd2l0aCBvdGhlciBjb2RlCisgICAgICAgIChK
U0M6OndlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNMZW5ndGgpOgorICAgICAgICAoSlNDOjp3ZWJB
c3NlbWJseVRhYmxlUHJvdG9GdW5jR3Jvdyk6CisgICAgICAgIChKU0M6OndlYkFzc2VtYmx5VGFi
bGVQcm90b0Z1bmNHZXQpOgorICAgICAgICAoSlNDOjp3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5j
U2V0KToKKwogMjAxNy0wNS0xNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNv
bT4KIAogICAgICAgICBbSlNDXVtERkddW0RPTUpJVF0gRXh0ZW5kIENoZWNrRE9NIHRvIENoZWNr
U3ViQ2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlJbnN0YW5jZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5SW5zdGFuY2UuY3BwCmluZGV4IDkwN2NkZGUuLjM2MTBkYjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNl
LmNwcApAQCAtNjksNyArNjksNiBAQCB2b2lkIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBKU1dlYkFzc2VtYmx5TW9kdWxlKiBtb2R1bGUsCiAKICAgICBtX21v
ZHVsZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIHRoaXMsIG1vZHVsZU5hbWVzcGFjZU9iamVjdCk7
CiAgICAgbV9jYWxsZWUuc2V0KHZtLCB0aGlzLCBtb2R1bGUtPmNhbGxlZSgpKTsKLSAgICBwdXRE
aXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZXhwb3J0cyIpLCBtb2R1bGVO
YW1lc3BhY2VPYmplY3QsIE5vbmUpOwogfQogCiB2b2lkIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6
ZGVzdHJveShKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCmluZGV4IGYwMmFjNmQuLmY2MDhjZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0
YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJ
bnN0YW5jZS5oCkBAIC01NSw2ICs1NSw4IEBAIHB1YmxpYzoKIAogICAgIEpTT2JqZWN0KiBpbXBv
cnRGdW5jdGlvbih1bnNpZ25lZCBpZHgpIHsgUkVMRUFTRV9BU1NFUlQoaWR4IDwgbV9udW1JbXBv
cnRGdW5jdGlvbnMpOyByZXR1cm4gaW1wb3J0RnVuY3Rpb25zKClbaWR4XS5nZXQoKTsgfQogCisg
ICAgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCgpIHsgcmV0
dXJuIG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0LmdldCgpOyB9CisKICAgICBKU1dlYkFzc2VtYmx5
TWVtb3J5KiBtZW1vcnkoKSB7IHJldHVybiBtX21lbW9yeS5nZXQoKTsgfQogICAgIHZvaWQgc2V0
TWVtb3J5KFZNJiB2bSwgSlNXZWJBc3NlbWJseU1lbW9yeSogdmFsdWUpIHsgQVNTRVJUKCFtZW1v
cnkoKSk7IG1fbWVtb3J5LnNldCh2bSwgdGhpcywgdmFsdWUpOyB9CiAgICAgV2FzbTo6TWVtb3J5
TW9kZSBtZW1vcnlNb2RlKCkgeyByZXR1cm4gbWVtb3J5KCktPm1lbW9yeSgpLm1vZGUoKTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5j
dGlvbkJhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlG
dW5jdGlvbkJhc2UuY3BwCmluZGV4IDc5ZTkzNGQuLmQzM2UxMTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5j
cHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNvbnN0IENsYXNzSW5m
byBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZTo6c19pbmZvID0geyAiV2ViQXNzZW1ibHlGdW5jdGlv
bkJhc2UiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFdlYkFz
c2VtYmx5RnVuY3Rpb25CYXNlKSB9OworY29uc3QgQ2xhc3NJbmZvIFdlYkFzc2VtYmx5RnVuY3Rp
b25CYXNlOjpzX2luZm8gPSB7ICJXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZSIsICZCYXNlOjpzX2lu
Zm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoV2ViQXNzZW1ibHlGdW5j
dGlvbkJhc2UpIH07CiAKIFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlOjpXZWJBc3NlbWJseUZ1bmN0
aW9uQmFzZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSog
c3RydWN0dXJlKQogICAgIDogQmFzZSh2bSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNl
UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
SW5zdGFuY2VQcm90b3R5cGUuY3BwCmluZGV4IDAxZTMzNzguLjQxMDEwNzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5
cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5z
dGFuY2VQcm90b3R5cGUuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTMwLDYgKzMwLDEyIEBACiAKICNpbmNsdWRlICJGdW5jdGlvblBy
b3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU01vZHVsZU5h
bWVzcGFjZU9iamVjdC5oIgorI2luY2x1ZGUgIkpTV2ViQXNzZW1ibHlJbnN0YW5jZS5oIgorCitu
YW1lc3BhY2UgSlNDIHsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFz
c2VtYmx5SW5zdGFuY2VQcm90b0Z1bmNFeHBvcnRzKEV4ZWNTdGF0ZSopOworfQogCiAjaW5jbHVk
ZSAiV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5sdXQuaCIKIApAQCAtMzksOSArNDUsMzIg
QEAgY29uc3QgQ2xhc3NJbmZvIFdlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGU6OnNfaW5mbyA9
IHsgIldlYkFzc2VtYmx5Lkluc3RhbmNlLnAKIAogLyogU291cmNlIGZvciBXZWJBc3NlbWJseUlu
c3RhbmNlUHJvdG90eXBlLmx1dC5oCiAgQGJlZ2luIHByb3RvdHlwZVRhYmxlV2ViQXNzZW1ibHlJ
bnN0YW5jZQorIGV4cG9ydHMgd2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvRnVuY0V4cG9ydHMgRG9u
dEVudW18QWNjZXNzb3IgMAogIEBlbmQKICAqLwogCitzdGF0aWMgQUxXQVlTX0lOTElORSBKU1dl
YkFzc2VtYmx5SW5zdGFuY2UqIGdldEluc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywgVk0mIHZtLCBK
U1ZhbHVlIHYpCit7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisgICAgSlNXZWJBc3NlbWJseUluc3RhbmNlKiByZXN1bHQgPSBqc0R5bmFtaWNDYXN0PEpT
V2ViQXNzZW1ibHlJbnN0YW5jZSo+KHZtLCB2KTsKKyAgICBpZiAoIXJlc3VsdCkgeworICAgICAg
ICB0aHJvd0V4Y2VwdGlvbihleGVjLCB0aHJvd1Njb3BlLCAKKyAgICAgICAgICAgIGNyZWF0ZVR5
cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoImV4cGVjdGVkIHx0aGlzfCB2YWx1ZSB0byBiZSBh
biBpbnN0YW5jZSBvZiBXZWJBc3NlbWJseS5JbnN0YW5jZSIpKSk7CisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseUluc3RhbmNlUHJvdG9GdW5jRXhwb3J0cyhF
eGVjU3RhdGUqIGV4ZWMpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBhdXRvIHRo
cm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgIEpTV2ViQXNzZW1ibHlJ
bnN0YW5jZSogaW5zdGFuY2UgPSBnZXRJbnN0YW5jZShleGVjLCB2bSwgZXhlYy0+dGhpc1ZhbHVl
KCkpOyAKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShpbnN0YW5jZS0+bW9kdWxlTmFtZXNwYWNlT2JqZWN0KCkpOwor
fQorCiBXZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlKiBXZWJBc3NlbWJseUluc3RhbmNlUHJv
dG90eXBlOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0
dXJlKQogewogICAgIGF1dG8qIG9iamVjdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFdl
YkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGU+KHZtLmhlYXApKSBXZWJBc3NlbWJseUluc3RhbmNl
UHJvdG90eXBlKHZtLCBzdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUuY3BwCmluZGV4IDI4
M2MzNzA3Li4zMjJlYmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUuY3BwCkBAIC01Myw5ICs1Myw4
IEBAIGNvbnN0IENsYXNzSW5mbyBXZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZTo6c19pbmZvID0g
eyAiV2ViQXNzZW1ibHkuTWVtb3J5LnByb3RvCiBAZW5kCiAqLwogCi1BTFdBWVNfSU5MSU5FIEpT
V2ViQXNzZW1ibHlNZW1vcnkqIGdldE1lbW9yeShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFs
dWUpCitBTFdBWVNfSU5MSU5FIEpTV2ViQXNzZW1ibHlNZW1vcnkqIGdldE1lbW9yeShFeGVjU3Rh
dGUqIGV4ZWMsIFZNJiB2bSwgSlNWYWx1ZSB2YWx1ZSkKIHsKLSAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCiAg
ICAgSlNXZWJBc3NlbWJseU1lbW9yeSogbWVtb3J5ID0ganNEeW5hbWljQ2FzdDxKU1dlYkFzc2Vt
Ymx5TWVtb3J5Kj4odm0sIHZhbHVlKTsgCkBAIC03Miw3ICs3MSw3IEBAIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgd2ViQXNzZW1ibHlNZW1vcnlQcm90b0Z1bmNHcm93KEV4ZWNTdGF0ZSog
ZXhlYykKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgSlNXZWJBc3NlbWJseU1lbW9yeSogbWVtb3J5
ID0gZ2V0TWVtb3J5KGV4ZWMsIGV4ZWMtPnRoaXNWYWx1ZSgpKTsgCisgICAgSlNXZWJBc3NlbWJs
eU1lbW9yeSogbWVtb3J5ID0gZ2V0TWVtb3J5KGV4ZWMsIHZtLCBleGVjLT50aGlzVmFsdWUoKSk7
IAogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICAKICAgICB1
aW50MzJfdCBkZWx0YSA9IHRvTm9uV3JhcHBpbmdVaW50MzIoZXhlYywgZXhlYy0+YXJndW1lbnQo
MCkpOwpAQCAtOTAsNyArODksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFz
c2VtYmx5TWVtb3J5UHJvdG9GdW5jQnVmZmVyKEV4ZWNTdGF0ZSogZXhlYykKICAgICBWTSYgdm0g
PSBleGVjLT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwogCi0gICAgSlNXZWJBc3NlbWJseU1lbW9yeSogbWVtb3J5ID0gZ2V0TWVtb3J5KGV4ZWMs
IGV4ZWMtPnRoaXNWYWx1ZSgpKTsgCisgICAgSlNXZWJBc3NlbWJseU1lbW9yeSogbWVtb3J5ID0g
Z2V0TWVtb3J5KGV4ZWMsIHZtLCBleGVjLT50aGlzVmFsdWUoKSk7IAogICAgIFJFVFVSTl9JRl9F
WENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKG1l
bW9yeS0+YnVmZmVyKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSkpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlU
YWJsZVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseVRhYmxlUHJvdG90eXBlLmNwcAppbmRleCAzNjkyOGU1Li5lNTVjZjRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlUHJvdG90eXBl
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxl
UHJvdG90eXBlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBKU1dl
YkFzc2VtYmx5VGFibGUqIGdldFRhYmxlKEV4ZWNTdGF0ZSogZXhlYywgVk0mIHZtLCBKU1ZhbAog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgd2Vi
QXNzZW1ibHlUYWJsZVByb3RvRnVuY0xlbmd0aChFeGVjU3RhdGUqIGV4ZWMpCitzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jTGVuZ3Ro
KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8g
dGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtNzcsNyArNzcsNyBAQCBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNMZW5n
dGgoRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIo
dGFibGUtPnNpemUoKSkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFz
c2VtYmx5VGFibGVQcm90b0Z1bmNHcm93KEV4ZWNTdGF0ZSogZXhlYykKK3N0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNHcm93KEV4ZWNT
dGF0ZSogZXhlYykKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8gdGhyb3dT
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwpAQCAtOTMsNyArOTMsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNHcm93KEV4ZWNT
dGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwog
fQogCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1
bmNHZXQoRXhlY1N0YXRlKiBleGVjKQorc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgd2ViQXNzZW1ibHlUYWJsZVByb3RvRnVuY0dldChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKQEAgLTExMSw3ICsxMTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNHZXQoRXhlY1N0YXRlKiBleGVjKQogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdWxsKCkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNTZXQoRXhlY1N0YXRlKiBleGVjKQor
c3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgd2ViQXNzZW1ibHlUYWJsZVByb3Rv
RnVuY1NldChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAg
ICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLS0gCjIuOS4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310490</attachid>
            <date>2017-05-17 23:53:34 -0700</date>
            <delta_ts>2017-05-18 21:42:30 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Exports-is-a-getter.patch</filename>
            <type>text/plain</type>
            <size>11169</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSBmYWZlZTJlYWM2YjQ5MzcxNzZhYTIyZTNkM2IwM2E2MDA0MGQwYjA3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDE3IE1heSAyMDE3IDIzOjQyOjI4IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gRXhwb3J0
cyBpcyBhIGdldHRlcgoKLS0tCiBKU1Rlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8IDEyICsrKysrKysrKwogSlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jh
c2ljX2FwaS5qcyAgICAgICAgICAgICAgfCAgMiArLQogU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrCiAuLi4v
d2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuY3BwICAgICAgICAgICAgICB8ICAxIC0KIC4u
Li9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oIHwgIDIgKysK
IC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUuY3BwICAgICAgIHwgMzEg
KysrKysrKysrKysrKysrKysrKysrLQogLi4uL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlQcm90
b3R5cGUuY3BwICAgICAgICAgfCAgNyArKystLQogLi4uL3dhc20vanMvV2ViQXNzZW1ibHlUYWJs
ZVByb3RvdHlwZS5jcHAgICAgICAgICAgfCAgOCArKystLS0KIDggZmlsZXMgY2hhbmdlZCwgNzkg
aW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFu
Z2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCBlMzg3OGE4Li45NjNmOWNiIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDE3LTA1LTE3ICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWJBc3NlbWJseTogZXhwb3J0cyBpcyBhIGdldHRlcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMTI5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3QgdG8gcmVmbGVjdCBu
ZXcgc2VtYW50aWNzLgorCisgICAgICAgICogd2FzbS9qcy1hcGkvdGVzdF9iYXNpY19hcGkuanM6
CisgICAgICAgIChjb25zdC5jLmluLmNvbnN0cnVjdG9yUHJvcGVydGllcy5zd2l0Y2gpOgorCiAy
MDE3LTA1LTE2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAg
ICAgIFtKU0NdW0RGR11bRE9NSklUXSBFeHRlbmQgQ2hlY2tET00gdG8gQ2hlY2tTdWJDbGFzcwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jhc2ljX2FwaS5qcyBiL0pTVGVz
dHMvd2FzbS9qcy1hcGkvdGVzdF9iYXNpY19hcGkuanMKaW5kZXggZmI1ZDU1OS4uNDU2ZDk4ZCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jhc2ljX2FwaS5qcworKysgYi9K
U1Rlc3RzL3dhc20vanMtYXBpL3Rlc3RfYmFzaWNfYXBpLmpzCkBAIC03MSw3ICs3MSw3IEBAIGZv
ciAoY29uc3QgYyBpbiBjb25zdHJ1Y3RvclByb3BlcnRpZXMpIHsKICAgICAgICAgZm9yIChjb25z
dCBpbnZhbGlkIG9mIGludmFsaWRJbnN0YW5jZUltcG9ydHMpCiAgICAgICAgICAgICBhc3NlcnQu
dGhyb3dzKCgpID0+IG5ldyBXZWJBc3NlbWJseVtjXShuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGVt
cHR5TW9kdWxlQXJyYXkpLCBpbnZhbGlkKSwgVHlwZUVycm9yLCBgc2Vjb25kIGFyZ3VtZW50IHRv
IFdlYkFzc2VtYmx5Lkluc3RhbmNlIG11c3QgYmUgdW5kZWZpbmVkIG9yIGFuIE9iamVjdCAoZXZh
bHVhdGluZyAnbmV3IFdlYkFzc2VtYmx5W2NdKG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoZW1wdHlN
b2R1bGVBcnJheSksIGludmFsaWQpJylgKTsKICAgICAgICAgYXNzZXJ0LmlzTm90VW5kZWYoaW5z
dGFuY2UuZXhwb3J0cyk7Ci0gICAgICAgIGNoZWNrT3duUHJvcGVydHlEZXNjcmlwdG9yKGluc3Rh
bmNlLCAiZXhwb3J0cyIsIHsgdHlwZW9mdmFsdWU6ICJvYmplY3QiLCB3cml0YWJsZTogdHJ1ZSwg
Y29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlIH0pOworICAgICAgICBhc3NlcnQu
dGhyb3dzKCgpID0+IFdlYkFzc2VtYmx5Lkluc3RhbmNlLnByb3RvdHlwZS5leHBvcnRzID0gdW5k
ZWZpbmVkLCBUeXBlRXJyb3IsIGBBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5IHByb3Bl
cnR5LmApOwogICAgICAgICBhc3NlcnQuaXNVbmRlZihpbnN0YW5jZS5leHBvcnRzLl9fcHJvdG9f
Xyk7CiAgICAgICAgIGFzc2VydC5lcShSZWZsZWN0LmlzRXh0ZW5zaWJsZShpbnN0YW5jZS5leHBv
cnRzKSwgZmFsc2UpOwogICAgICAgICBhc3NlcnQuZXEoU3ltYm9sLml0ZXJhdG9yIGluIGluc3Rh
bmNlLmV4cG9ydHMsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDllNGM5NGEu
LjEwYjAzOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE3
LTA1LTE3ICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJB
c3NlbWJseTogZXhwb3J0cyBpcyBhIGdldHRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMTI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQXMgdXBkYXRlZCBoZXJlOiBodHRwczovL2dpdGh1Yi5jb20v
V2ViQXNzZW1ibHkvZGVzaWduL3B1bGwvMTA2MgorCisgICAgICAgICogd2FzbS9qcy9KU1dlYkFz
c2VtYmx5SW5zdGFuY2UuY3BwOgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5SW5zdGFuY2U6
OmZpbmlzaENyZWF0aW9uKTogZG9uJ3QgcHV0RGlyZWN0IGhlcmUgYW55bW9yZQorICAgICAgICAq
IHdhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmg6CisgICAgICAgIChKU0M6OkpTV2ViQXNz
ZW1ibHlJbnN0YW5jZTo6bW9kdWxlTmFtZXNwYWNlT2JqZWN0KTogYWRkIGFjY2Vzc29yCisgICAg
ICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5jcHA6IHNxdWVsY2ggY2F1c2lu
ZyBhIHdhcm5pbmcKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5
cGUuY3BwOiB1c2UgTFVUCisgICAgICAgIChKU0M6OmdldEluc3RhbmNlKTogaGVscGVyLCBhcyBp
biBzdXJyb3VuZGluZyBmaWxlcworICAgICAgICAoSlNDOjp3ZWJBc3NlbWJseUluc3RhbmNlUHJv
dG9GdW5jRXhwb3J0cyk6IGluc3RlYWQgb2YgcHV0RGlyZWN0CisgICAgICAgICogd2FzbS9qcy9X
ZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5jcHA6IHBhc3MgVk0gYXJvdW5kIGFzIGZvciBUYWJs
ZQorICAgICAgICAoSlNDOjpnZXRNZW1vcnkpOgorICAgICAgICAoSlNDOjp3ZWJBc3NlbWJseU1l
bW9yeVByb3RvRnVuY0dyb3cpOgorICAgICAgICAoSlNDOjp3ZWJBc3NlbWJseU1lbW9yeVByb3Rv
RnVuY0J1ZmZlcik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseVRhYmxlUHJvdG90eXBl
LmNwcDogc3RhdGljIGV2ZXJ5d2hlcmUgYXMgd2l0aCBvdGhlciBjb2RlCisgICAgICAgIChKU0M6
OndlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNMZW5ndGgpOgorICAgICAgICAoSlNDOjp3ZWJBc3Nl
bWJseVRhYmxlUHJvdG9GdW5jR3Jvdyk6CisgICAgICAgIChKU0M6OndlYkFzc2VtYmx5VGFibGVQ
cm90b0Z1bmNHZXQpOgorICAgICAgICAoSlNDOjp3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jU2V0
KToKKwogMjAxNy0wNS0xNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByZWJhc2VsaW5lIGZvciBuZXdseSBhZGRlZCBDbGFzc0lu
Zm8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1i
bHlJbnN0YW5jZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5SW5zdGFuY2UuY3BwCmluZGV4IDkwN2NkZGUuLjM2MTBkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcApA
QCAtNjksNyArNjksNiBAQCB2b2lkIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU1dlYkFzc2VtYmx5TW9kdWxlKiBtb2R1bGUsCiAKICAgICBtX21vZHVsZU5h
bWVzcGFjZU9iamVjdC5zZXQodm0sIHRoaXMsIG1vZHVsZU5hbWVzcGFjZU9iamVjdCk7CiAgICAg
bV9jYWxsZWUuc2V0KHZtLCB0aGlzLCBtb2R1bGUtPmNhbGxlZSgpKTsKLSAgICBwdXREaXJlY3Qo
dm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZXhwb3J0cyIpLCBtb2R1bGVOYW1lc3Bh
Y2VPYmplY3QsIE5vbmUpOwogfQogCiB2b2lkIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6ZGVzdHJv
eShKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCmluZGV4IGYwMmFjNmQuLmY2MDhjZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5j
ZS5oCkBAIC01NSw2ICs1NSw4IEBAIHB1YmxpYzoKIAogICAgIEpTT2JqZWN0KiBpbXBvcnRGdW5j
dGlvbih1bnNpZ25lZCBpZHgpIHsgUkVMRUFTRV9BU1NFUlQoaWR4IDwgbV9udW1JbXBvcnRGdW5j
dGlvbnMpOyByZXR1cm4gaW1wb3J0RnVuY3Rpb25zKClbaWR4XS5nZXQoKTsgfQogCisgICAgSlNN
b2R1bGVOYW1lc3BhY2VPYmplY3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCgpIHsgcmV0dXJuIG1f
bW9kdWxlTmFtZXNwYWNlT2JqZWN0LmdldCgpOyB9CisKICAgICBKU1dlYkFzc2VtYmx5TWVtb3J5
KiBtZW1vcnkoKSB7IHJldHVybiBtX21lbW9yeS5nZXQoKTsgfQogICAgIHZvaWQgc2V0TWVtb3J5
KFZNJiB2bSwgSlNXZWJBc3NlbWJseU1lbW9yeSogdmFsdWUpIHsgQVNTRVJUKCFtZW1vcnkoKSk7
IG1fbWVtb3J5LnNldCh2bSwgdGhpcywgdmFsdWUpOyB9CiAgICAgV2FzbTo6TWVtb3J5TW9kZSBt
ZW1vcnlNb2RlKCkgeyByZXR1cm4gbWVtb3J5KCktPm1lbW9yeSgpLm1vZGUoKTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZVBy
b3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUlu
c3RhbmNlUHJvdG90eXBlLmNwcAppbmRleCAwMWUzMzc4Li40MTAxMDcxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBl
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUluc3Rh
bmNlUHJvdG90eXBlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2
LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0zMCw2ICszMCwxMiBAQAogCiAjaW5jbHVkZSAiRnVuY3Rpb25Qcm90
b3R5cGUuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNNb2R1bGVOYW1l
c3BhY2VPYmplY3QuaCIKKyNpbmNsdWRlICJKU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCIKKworbmFt
ZXNwYWNlIEpTQyB7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3Nl
bWJseUluc3RhbmNlUHJvdG9GdW5jRXhwb3J0cyhFeGVjU3RhdGUqKTsKK30KIAogI2luY2x1ZGUg
IldlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUubHV0LmgiCiAKQEAgLTM5LDkgKzQ1LDMyIEBA
IGNvbnN0IENsYXNzSW5mbyBXZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlOjpzX2luZm8gPSB7
ICJXZWJBc3NlbWJseS5JbnN0YW5jZS5wCiAKIC8qIFNvdXJjZSBmb3IgV2ViQXNzZW1ibHlJbnN0
YW5jZVByb3RvdHlwZS5sdXQuaAogIEBiZWdpbiBwcm90b3R5cGVUYWJsZVdlYkFzc2VtYmx5SW5z
dGFuY2UKKyBleHBvcnRzIHdlYkFzc2VtYmx5SW5zdGFuY2VQcm90b0Z1bmNFeHBvcnRzIERvbnRF
bnVtfEFjY2Vzc29yIDAKICBAZW5kCiAgKi8KIAorc3RhdGljIEFMV0FZU19JTkxJTkUgSlNXZWJB
c3NlbWJseUluc3RhbmNlKiBnZXRJbnN0YW5jZShFeGVjU3RhdGUqIGV4ZWMsIFZNJiB2bSwgSlNW
YWx1ZSB2KQoreworICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OworICAgIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSogcmVzdWx0ID0ganNEeW5hbWljQ2FzdDxKU1dl
YkFzc2VtYmx5SW5zdGFuY2UqPih2bSwgdik7CisgICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAg
dGhyb3dFeGNlcHRpb24oZXhlYywgdGhyb3dTY29wZSwgCisgICAgICAgICAgICBjcmVhdGVUeXBl
RXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJleHBlY3RlZCB8dGhpc3wgdmFsdWUgdG8gYmUgYW4g
aW5zdGFuY2Ugb2YgV2ViQXNzZW1ibHkuSW5zdGFuY2UiKSkpOworICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgd2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvRnVuY0V4cG9ydHMoRXhl
Y1N0YXRlKiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgYXV0byB0aHJv
d1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBKU1dlYkFzc2VtYmx5SW5z
dGFuY2UqIGluc3RhbmNlID0gZ2V0SW5zdGFuY2UoZXhlYywgdm0sIGV4ZWMtPnRoaXNWYWx1ZSgp
KTsgCisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoaW5zdGFuY2UtPm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpKTsKK30K
KwogV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZSogV2ViQXNzZW1ibHlJbnN0YW5jZVByb3Rv
dHlwZTo6Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKIHsKICAgICBhdXRvKiBvYmplY3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxXZWJB
c3NlbWJseUluc3RhbmNlUHJvdG90eXBlPih2bS5oZWFwKSkgV2ViQXNzZW1ibHlJbnN0YW5jZVBy
b3RvdHlwZSh2bSwgc3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5UHJvdG90eXBlLmNwcAppbmRleCAyODNj
MzcwNy4uMzIyZWJmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5UHJvdG90eXBlLmNwcApAQCAtNTMsOSArNTMsOCBA
QCBjb25zdCBDbGFzc0luZm8gV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGU6OnNfaW5mbyA9IHsg
IldlYkFzc2VtYmx5Lk1lbW9yeS5wcm90bwogQGVuZAogKi8KIAotQUxXQVlTX0lOTElORSBKU1dl
YkFzc2VtYmx5TWVtb3J5KiBnZXRNZW1vcnkoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVl
KQorQUxXQVlTX0lOTElORSBKU1dlYkFzc2VtYmx5TWVtb3J5KiBnZXRNZW1vcnkoRXhlY1N0YXRl
KiBleGVjLCBWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCiB7Ci0gICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAogICAg
IEpTV2ViQXNzZW1ibHlNZW1vcnkqIG1lbW9yeSA9IGpzRHluYW1pY0Nhc3Q8SlNXZWJBc3NlbWJs
eU1lbW9yeSo+KHZtLCB2YWx1ZSk7IApAQCAtNzIsNyArNzEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5TWVtb3J5UHJvdG9GdW5jR3JvdyhFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIEpTV2ViQXNzZW1ibHlNZW1vcnkqIG1lbW9yeSA9
IGdldE1lbW9yeShleGVjLCBleGVjLT50aGlzVmFsdWUoKSk7IAorICAgIEpTV2ViQXNzZW1ibHlN
ZW1vcnkqIG1lbW9yeSA9IGdldE1lbW9yeShleGVjLCB2bSwgZXhlYy0+dGhpc1ZhbHVlKCkpOyAK
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgCiAgICAgdWlu
dDMyX3QgZGVsdGEgPSB0b05vbldyYXBwaW5nVWludDMyKGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDAp
KTsKQEAgLTkwLDcgKzg5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3Nl
bWJseU1lbW9yeVByb3RvRnVuY0J1ZmZlcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZt
KTsKIAotICAgIEpTV2ViQXNzZW1ibHlNZW1vcnkqIG1lbW9yeSA9IGdldE1lbW9yeShleGVjLCBl
eGVjLT50aGlzVmFsdWUoKSk7IAorICAgIEpTV2ViQXNzZW1ibHlNZW1vcnkqIG1lbW9yeSA9IGdl
dE1lbW9yeShleGVjLCB2bSwgZXhlYy0+dGhpc1ZhbHVlKCkpOyAKICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShtZW1v
cnktPmJ1ZmZlcihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VGFi
bGVQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlUYWJsZVByb3RvdHlwZS5jcHAKaW5kZXggMzY5MjhlNS4uZTU1Y2Y0YiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZVBy
b3RvdHlwZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSlNXZWJB
c3NlbWJseVRhYmxlKiBnZXRUYWJsZShFeGVjU3RhdGUqIGV4ZWMsIFZNJiB2bSwgSlNWYWwKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFz
c2VtYmx5VGFibGVQcm90b0Z1bmNMZW5ndGgoRXhlY1N0YXRlKiBleGVjKQorc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgd2ViQXNzZW1ibHlUYWJsZVByb3RvRnVuY0xlbmd0aChF
eGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRo
cm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTc3LDcgKzc3LDcgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jTGVuZ3Ro
KEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKHRh
YmxlLT5zaXplKCkpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3Nl
bWJseVRhYmxlUHJvdG9GdW5jR3JvdyhFeGVjU3RhdGUqIGV4ZWMpCitzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jR3JvdyhFeGVjU3Rh
dGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTkzLDcgKzkzLDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jR3JvdyhFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0K
IAotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5j
R2V0KEV4ZWNTdGF0ZSogZXhlYykKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNHZXQoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFZN
JiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CkBAIC0xMTEsNyArMTExLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jR2V0KEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVsbCgpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jU2V0KEV4ZWNTdGF0ZSogZXhlYykKK3N0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1
bmNTZXQoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAg
YXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0tIAoyLjkuMwoK
</data>
<flag name="review"
          id="331556"
          type_id="1"
          status="+"
          setter="saam"
    />
    <flag name="commit-queue"
          id="331557"
          type_id="3"
          status="-"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310607</attachid>
            <date>2017-05-18 21:42:30 -0700</date>
            <delta_ts>2017-05-18 21:47:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Exports-is-a-getter.patch</filename>
            <type>text/plain</type>
            <size>12036</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSAzMjMwNTJmOTA3MjA4NDNkMzFmMTZhZmI0YzY3YjYzZWE1MWJlMWNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDE3IE1heSAyMDE3IDIzOjQyOjI4IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gRXhwb3J0
cyBpcyBhIGdldHRlcgoKLS0tCiBKU1Rlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8IDEyICsrKysrKysrKwogSlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jh
c2ljX2FwaS5qcyAgICAgICAgICAgICAgfCAxMiArKysrKysrKy0KIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysr
KwogLi4uL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcCAgICAgICAgICAgICAgfCAg
MSAtCiAuLi4vSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCB8
ICAyICsrCiAuLi4vd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlLmNwcCAgICAg
ICB8IDMxICsrKysrKysrKysrKysrKysrKysrKy0KIC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5TWVt
b3J5UHJvdG90eXBlLmNwcCAgICAgICAgIHwgIDcgKysrLS0KIC4uLi93YXNtL2pzL1dlYkFzc2Vt
Ymx5VGFibGVQcm90b3R5cGUuY3BwICAgICAgICAgIHwgIDggKysrLS0tCiA4IGZpbGVzIGNoYW5n
ZWQsIDg5IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmVlYjdmNi4uYWUwMWZlNCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxNy0wNS0xNyAgSkYgQmFzdGllbiAgPGpmYmFzdGllbkBhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViQXNzZW1ibHk6IGV4cG9ydHMgaXMgYSBnZXR0ZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjEyOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIHJl
ZmxlY3QgbmV3IHNlbWFudGljcy4KKworICAgICAgICAqIHdhc20vanMtYXBpL3Rlc3RfYmFzaWNf
YXBpLmpzOgorICAgICAgICAoY29uc3QuYy5pbi5jb25zdHJ1Y3RvclByb3BlcnRpZXMuc3dpdGNo
KToKKwogMjAxNy0wNS0xOCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBQcm94eSdzIFtbR2V0XV0gcGFzc2VzIGluY29ycmVjdCByZWNlaXZlcgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jhc2ljX2FwaS5qcyBiL0pTVGVzdHMvd2FzbS9q
cy1hcGkvdGVzdF9iYXNpY19hcGkuanMKaW5kZXggNmQxM2E0Yy4uMDhlNzRhYSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jhc2ljX2FwaS5qcworKysgYi9KU1Rlc3RzL3dh
c20vanMtYXBpL3Rlc3RfYmFzaWNfYXBpLmpzCkBAIC0xNCw2ICsxNCwxNCBAQCBjb25zdCBjaGVj
a093blByb3BlcnR5RGVzY3JpcHRvciA9IChvYmosIHByb3AsIGV4cGVjdCkgPT4gewogICAgIGFz
c2VydC5lcShkZXNjcmlwdG9yLmVudW1lcmFibGUsIGV4cGVjdC5lbnVtZXJhYmxlKTsKIH07CiAK
K2NvbnN0IGNoZWNrQWNjZXNzb3JPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPSAob2JqLCBwcm9wLCBl
eHBlY3QpID0+IHsKKyAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihvYmosIHByb3ApOworICAgIGFzc2VydC5lcSh0eXBlb2YgZGVzY3JpcHRvci52
YWx1ZSwgInVuZGVmaW5lZCIpOworICAgIGFzc2VydC5lcSh0eXBlb2YgZGVzY3JpcHRvci53cml0
YWJsZSwgInVuZGVmaW5lZCIpOworICAgIGFzc2VydC5lcShkZXNjcmlwdG9yLmNvbmZpZ3VyYWJs
ZSwgZXhwZWN0LmNvbmZpZ3VyYWJsZSk7CisgICAgYXNzZXJ0LmVxKGRlc2NyaXB0b3IuZW51bWVy
YWJsZSwgZXhwZWN0LmVudW1lcmFibGUpOworfTsKKwogY29uc3QgZnVuY3Rpb25Qcm9wZXJ0aWVz
ID0gewogICAgICJ2YWxpZGF0ZSI6IHsgbGVuZ3RoOiAxIH0sCiAgICAgImNvbXBpbGUiOiAgeyBs
ZW5ndGg6IDEgfSwKQEAgLTcwLDcgKzc4LDkgQEAgZm9yIChjb25zdCBjIGluIGNvbnN0cnVjdG9y
UHJvcGVydGllcykgewogICAgICAgICBmb3IgKGNvbnN0IGludmFsaWQgb2YgaW52YWxpZEluc3Rh
bmNlSW1wb3J0cykKICAgICAgICAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gbmV3IFdlYkFzc2Vt
Ymx5W2NdKG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoZW1wdHlNb2R1bGVBcnJheSksIGludmFsaWQp
LCBUeXBlRXJyb3IsIGBzZWNvbmQgYXJndW1lbnQgdG8gV2ViQXNzZW1ibHkuSW5zdGFuY2UgbXVz
dCBiZSB1bmRlZmluZWQgb3IgYW4gT2JqZWN0IChldmFsdWF0aW5nICduZXcgV2ViQXNzZW1ibHlb
Y10obmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUFycmF5KSwgaW52YWxpZCknKWAp
OwogICAgICAgICBhc3NlcnQuaXNOb3RVbmRlZihpbnN0YW5jZS5leHBvcnRzKTsKLSAgICAgICAg
Y2hlY2tPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5zdGFuY2UsICJleHBvcnRzIiwgeyB0eXBlb2Z2
YWx1ZTogIm9iamVjdCIsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1l
cmFibGU6IHRydWUgfSk7CisgICAgICAgIGNoZWNrQWNjZXNzb3JPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoV2ViQXNzZW1ibHkuSW5zdGFuY2UucHJvdG90eXBlLCAiZXhwb3J0cyIsIHsgY29uZmlndXJh
YmxlOiB0cnVlLCBlbnVtZXJhYmxlOiBmYWxzZSB9KTsKKyAgICAgICAgYXNzZXJ0LnRocm93cygo
KSA9PiBXZWJBc3NlbWJseS5JbnN0YW5jZS5wcm90b3R5cGUuZXhwb3J0cyA9IHVuZGVmaW5lZCwg
VHlwZUVycm9yLCBgQXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS5gKTsK
KyAgICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiBXZWJBc3NlbWJseS5JbnN0YW5jZS5wcm90b3R5
cGUuZXhwb3J0cywgVHlwZUVycm9yLCBgZXhwZWN0ZWQgfHRoaXN8IHZhbHVlIHRvIGJlIGFuIGlu
c3RhbmNlIG9mIFdlYkFzc2VtYmx5Lkluc3RhbmNlYCk7CiAgICAgICAgIGFzc2VydC5pc1VuZGVm
KGluc3RhbmNlLmV4cG9ydHMuX19wcm90b19fKTsKICAgICAgICAgYXNzZXJ0LmVxKFJlZmxlY3Qu
aXNFeHRlbnNpYmxlKGluc3RhbmNlLmV4cG9ydHMpLCBmYWxzZSk7CiAgICAgICAgIGFzc2VydC5l
cShTeW1ib2wuaXRlcmF0b3IgaW4gaW5zdGFuY2UuZXhwb3J0cywgZmFsc2UpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKaW5kZXggZjQ1NmE5OC4uM2I5ZDI0YyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTctMDUtMTcgIEpGIEJhc3RpZW4gIDxqZmJhc3RpZW5A
YXBwbGUuY29tPgorCisgICAgICAgIFdlYkFzc2VtYmx5OiBleHBvcnRzIGlzIGEgZ2V0dGVyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIxMjkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBcyB1cGRhdGVk
IGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9kZXNpZ24vcHVsbC8xMDYyCisK
KyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHA6CisgICAgICAgIChK
U0M6OkpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6ZmluaXNoQ3JlYXRpb24pOiBkb24ndCBwdXREaXJl
Y3QgaGVyZSBhbnltb3JlCisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2Uu
aDoKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjptb2R1bGVOYW1lc3BhY2VP
YmplY3QpOiBhZGQgYWNjZXNzb3IKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rp
b25CYXNlLmNwcDogc3F1ZWxjaCBjYXVzaW5nIGEgd2FybmluZworICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5jcHA6IHVzZSBMVVQKKyAgICAgICAgKEpTQzo6
Z2V0SW5zdGFuY2UpOiBoZWxwZXIsIGFzIGluIHN1cnJvdW5kaW5nIGZpbGVzCisgICAgICAgIChK
U0M6OndlYkFzc2VtYmx5SW5zdGFuY2VQcm90b0Z1bmNFeHBvcnRzKTogaW5zdGVhZCBvZiBwdXRE
aXJlY3QKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5UHJvdG90eXBlLmNwcDog
cGFzcyBWTSBhcm91bmQgYXMgZm9yIFRhYmxlCisgICAgICAgIChKU0M6OmdldE1lbW9yeSk6Cisg
ICAgICAgIChKU0M6OndlYkFzc2VtYmx5TWVtb3J5UHJvdG9GdW5jR3Jvdyk6CisgICAgICAgIChK
U0M6OndlYkFzc2VtYmx5TWVtb3J5UHJvdG9GdW5jQnVmZmVyKToKKyAgICAgICAgKiB3YXNtL2pz
L1dlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUuY3BwOiBzdGF0aWMgZXZlcnl3aGVyZSBhcyB3aXRo
IG90aGVyIGNvZGUKKyAgICAgICAgKEpTQzo6d2ViQXNzZW1ibHlUYWJsZVByb3RvRnVuY0xlbmd0
aCk6CisgICAgICAgIChKU0M6OndlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNHcm93KToKKyAgICAg
ICAgKEpTQzo6d2ViQXNzZW1ibHlUYWJsZVByb3RvRnVuY0dldCk6CisgICAgICAgIChKU0M6Ondl
YkFzc2VtYmx5VGFibGVQcm90b0Z1bmNTZXQpOgorCiAyMDE3LTA1LTE4ICBTYWFtIEJhcmF0aSAg
PHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFByb3h5J3MgW1tHZXRdXSBwYXNzZXMgaW5j
b3JyZWN0IHJlY2VpdmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcAppbmRleCAzZjhjM2RlLi5jOGUyZDZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFu
Y2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJ
bnN0YW5jZS5jcHAKQEAgLTY5LDcgKzY5LDYgQEAgdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlLAogCiAg
ICAgbV9tb2R1bGVOYW1lc3BhY2VPYmplY3Quc2V0KHZtLCB0aGlzLCBtb2R1bGVOYW1lc3BhY2VP
YmplY3QpOwogICAgIG1fY2FsbGVlLnNldCh2bSwgdGhpcywgbW9kdWxlLT5jYWxsZWUoKSk7Ci0g
ICAgcHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImV4cG9ydHMiKSwg
bW9kdWxlTmFtZXNwYWNlT2JqZWN0LCBOb25lKTsKIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5SW5z
dGFuY2U6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaAppbmRleCAyM2RmNmNmLi4zY2Zl
NTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5SW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5SW5zdGFuY2UuaApAQCAtNTUsNiArNTUsOCBAQCBwdWJsaWM6CiAKICAgICBKU09iamVj
dCogaW1wb3J0RnVuY3Rpb24odW5zaWduZWQgaWR4KSB7IFJFTEVBU0VfQVNTRVJUKGlkeCA8IG1f
bnVtSW1wb3J0RnVuY3Rpb25zKTsgcmV0dXJuIGltcG9ydEZ1bmN0aW9ucygpW2lkeF0uZ2V0KCk7
IH0KIAorICAgIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0KiBtb2R1bGVOYW1lc3BhY2VPYmplY3Qo
KSB7IHJldHVybiBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5nZXQoKTsgfQorCiAgICAgSlNXZWJB
c3NlbWJseU1lbW9yeSogbWVtb3J5KCkgeyByZXR1cm4gbV9tZW1vcnkuZ2V0KCk7IH0KICAgICB2
b2lkIHNldE1lbW9yeShWTSYgdm0sIEpTV2ViQXNzZW1ibHlNZW1vcnkqIHZhbHVlKSB7IEFTU0VS
VCghbWVtb3J5KCkpOyBtX21lbW9yeS5zZXQodm0sIHRoaXMsIHZhbHVlKTsgfQogICAgIFdhc206
Ok1lbW9yeU1vZGUgbWVtb3J5TW9kZSgpIHsgcmV0dXJuIG1lbW9yeSgpLT5tZW1vcnkoKS5tb2Rl
KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5SW5zdGFuY2VQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5jcHAKaW5kZXggNDc3N2E2MS4uM2NlY2NjOSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0
YW5jZVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2Vi
QXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAsNiArMzAsMTIgQEAKIAogI2luY2x1ZGUg
IkZ1bmN0aW9uUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUg
IkpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNXZWJBc3NlbWJseUluc3Rh
bmNlLmgiCisKK25hbWVzcGFjZSBKU0Mgeworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgd2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvRnVuY0V4cG9ydHMoRXhlY1N0YXRlKik7Cit9
CiAKICNpbmNsdWRlICJXZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlLmx1dC5oIgogCkBAIC0z
OSw5ICs0NSwzMiBAQCBjb25zdCBDbGFzc0luZm8gV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlw
ZTo6c19pbmZvID0geyAiV2ViQXNzZW1ibHkuSW5zdGFuY2UucAogCiAvKiBTb3VyY2UgZm9yIFdl
YkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUubHV0LmgKICBAYmVnaW4gcHJvdG90eXBlVGFibGVX
ZWJBc3NlbWJseUluc3RhbmNlCisgZXhwb3J0cyB3ZWJBc3NlbWJseUluc3RhbmNlUHJvdG9GdW5j
RXhwb3J0cyBEb250RW51bXxBY2Nlc3NvciAwCiAgQGVuZAogICovCiAKK3N0YXRpYyBBTFdBWVNf
SU5MSU5FIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSogZ2V0SW5zdGFuY2UoRXhlY1N0YXRlKiBleGVj
LCBWTSYgdm0sIEpTVmFsdWUgdikKK3sKKyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKyAgICBKU1dlYkFzc2VtYmx5SW5zdGFuY2UqIHJlc3VsdCA9IGpzRHlu
YW1pY0Nhc3Q8SlNXZWJBc3NlbWJseUluc3RhbmNlKj4odm0sIHYpOworICAgIGlmICghcmVzdWx0
KSB7CisgICAgICAgIHRocm93RXhjZXB0aW9uKGV4ZWMsIHRocm93U2NvcGUsIAorICAgICAgICAg
ICAgY3JlYXRlVHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiZXhwZWN0ZWQgfHRoaXN8IHZh
bHVlIHRvIGJlIGFuIGluc3RhbmNlIG9mIFdlYkFzc2VtYmx5Lkluc3RhbmNlIikpKTsKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5SW5zdGFuY2VQcm90b0Z1
bmNFeHBvcnRzKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOwor
ICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgSlNX
ZWJBc3NlbWJseUluc3RhbmNlKiBpbnN0YW5jZSA9IGdldEluc3RhbmNlKGV4ZWMsIHZtLCBleGVj
LT50aGlzVmFsdWUoKSk7IAorICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9
KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGluc3RhbmNlLT5tb2R1bGVOYW1lc3BhY2VP
YmplY3QoKSk7Cit9CisKIFdlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUqIFdlYkFzc2VtYmx5
SW5zdGFuY2VQcm90b3R5cGU6OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCiB7CiAgICAgYXV0byogb2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxv
Y2F0ZUNlbGw8V2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZT4odm0uaGVhcCkpIFdlYkFzc2Vt
Ymx5SW5zdGFuY2VQcm90b3R5cGUodm0sIHN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5j
cHAKaW5kZXggODIyZjYzYi4uNDc0NWViZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5UHJvdG90eXBlLmNwcApAQCAt
NTMsOSArNTMsOCBAQCBjb25zdCBDbGFzc0luZm8gV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGU6
OnNfaW5mbyA9IHsgIldlYkFzc2VtYmx5Lk1lbW9yeS5wcm90bwogQGVuZAogKi8KIAotQUxXQVlT
X0lOTElORSBKU1dlYkFzc2VtYmx5TWVtb3J5KiBnZXRNZW1vcnkoRXhlY1N0YXRlKiBleGVjLCBK
U1ZhbHVlIHZhbHVlKQorQUxXQVlTX0lOTElORSBKU1dlYkFzc2VtYmx5TWVtb3J5KiBnZXRNZW1v
cnkoRXhlY1N0YXRlKiBleGVjLCBWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCiB7Ci0gICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKIAogICAgIEpTV2ViQXNzZW1ibHlNZW1vcnkqIG1lbW9yeSA9IGpzRHluYW1pY0Nhc3Q8
SlNXZWJBc3NlbWJseU1lbW9yeSo+KHZtLCB2YWx1ZSk7IApAQCAtNzIsNyArNzEsNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5TWVtb3J5UHJvdG9GdW5jR3JvdyhF
eGVjU3RhdGUqIGV4ZWMpCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRocm93
U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIEpTV2ViQXNzZW1ibHlNZW1v
cnkqIG1lbW9yeSA9IGdldE1lbW9yeShleGVjLCBleGVjLT50aGlzVmFsdWUoKSk7IAorICAgIEpT
V2ViQXNzZW1ibHlNZW1vcnkqIG1lbW9yeSA9IGdldE1lbW9yeShleGVjLCB2bSwgZXhlYy0+dGhp
c1ZhbHVlKCkpOyAKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAg
ICAgCiAgICAgdWludDMyX3QgZGVsdGEgPSB0b05vbldyYXBwaW5nVWludDMyKGV4ZWMsIGV4ZWMt
PmFyZ3VtZW50KDApKTsKQEAgLTkwLDcgKzg5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCB3ZWJBc3NlbWJseU1lbW9yeVByb3RvRnVuY0J1ZmZlcihFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKIAotICAgIEpTV2ViQXNzZW1ibHlNZW1vcnkqIG1lbW9yeSA9IGdldE1l
bW9yeShleGVjLCBleGVjLT50aGlzVmFsdWUoKSk7IAorICAgIEpTV2ViQXNzZW1ibHlNZW1vcnkq
IG1lbW9yeSA9IGdldE1lbW9yeShleGVjLCB2bSwgZXhlYy0+dGhpc1ZhbHVlKCkpOyAKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShtZW1vcnktPmJ1ZmZlcihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dl
YkFzc2VtYmx5VGFibGVQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZS5jcHAKaW5kZXggMTVlNTgwZi4uYTkxYzM3NiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJs
ZVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNz
ZW1ibHlUYWJsZVByb3RvdHlwZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIEFMV0FZU19J
TkxJTkUgSlNXZWJBc3NlbWJseVRhYmxlKiBnZXRUYWJsZShFeGVjU3RhdGUqIGV4ZWMsIFZNJiB2
bSwgSlNWYWwKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNMZW5ndGgoRXhlY1N0YXRlKiBleGVjKQor
c3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgd2ViQXNzZW1ibHlUYWJsZVByb3Rv
RnVuY0xlbmd0aChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsK
ICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTc3LDcg
Kzc3LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJv
dG9GdW5jTGVuZ3RoKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzTnVtYmVyKHRhYmxlLT5zaXplKCkpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jR3JvdyhFeGVjU3RhdGUqIGV4ZWMpCitzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5j
R3JvdyhFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTkzLDcgKzkzLDcg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5j
R3JvdyhFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRh
YmxlUHJvdG9GdW5jR2V0KEV4ZWNTdGF0ZSogZXhlYykKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNHZXQoRXhlY1N0YXRlKiBleGVj
KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7CkBAIC0xMTEsNyArMTExLDcgQEAgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jR2V0KEV4ZWNTdGF0ZSogZXhl
YykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVsbCgpKTsKIH0KIAotRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jU2V0KEV4ZWNTdGF0
ZSogZXhlYykKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5
VGFibGVQcm90b0Z1bmNTZXQoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0t
IAoyLjkuMwoK
</data>
<flag name="commit-queue"
          id="331684"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310609</attachid>
            <date>2017-05-18 21:47:52 -0700</date>
            <delta_ts>2017-05-18 22:27:32 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Exports-is-a-getter.patch</filename>
            <type>text/plain</type>
            <size>12030</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSAzMjMwNTJmOTA3MjA4NDNkMzFmMTZhZmI0YzY3YjYzZWE1MWJlMWNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDE3IE1heSAyMDE3IDIzOjQyOjI4IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gRXhwb3J0
cyBpcyBhIGdldHRlcgoKLS0tCiBKU1Rlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8IDEyICsrKysrKysrKwogSlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jh
c2ljX2FwaS5qcyAgICAgICAgICAgICAgfCAxMiArKysrKysrKy0KIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysr
KwogLi4uL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcCAgICAgICAgICAgICAgfCAg
MSAtCiAuLi4vSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCB8
ICAyICsrCiAuLi4vd2FzbS9qcy9XZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlLmNwcCAgICAg
ICB8IDMxICsrKysrKysrKysrKysrKysrKysrKy0KIC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5TWVt
b3J5UHJvdG90eXBlLmNwcCAgICAgICAgIHwgIDcgKysrLS0KIC4uLi93YXNtL2pzL1dlYkFzc2Vt
Ymx5VGFibGVQcm90b3R5cGUuY3BwICAgICAgICAgIHwgIDggKysrLS0tCiA4IGZpbGVzIGNoYW5n
ZWQsIDg5IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmVlYjdmNi4uYWUwMWZlNCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxNy0wNS0xNyAgSkYgQmFzdGllbiAgPGpmYmFzdGllbkBhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViQXNzZW1ibHk6IGV4cG9ydHMgaXMgYSBnZXR0ZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjEyOQorCisgICAgICAg
IFJldmlld2VkIGJ5IFNhYW0gQmFyYXRpLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIHJlZmxl
Y3QgbmV3IHNlbWFudGljcy4KKworICAgICAgICAqIHdhc20vanMtYXBpL3Rlc3RfYmFzaWNfYXBp
LmpzOgorICAgICAgICAoY29uc3QuYy5pbi5jb25zdHJ1Y3RvclByb3BlcnRpZXMuc3dpdGNoKToK
KwogMjAxNy0wNS0xOCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBQcm94eSdzIFtbR2V0XV0gcGFzc2VzIGluY29ycmVjdCByZWNlaXZlcgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jhc2ljX2FwaS5qcyBiL0pTVGVzdHMvd2FzbS9qcy1h
cGkvdGVzdF9iYXNpY19hcGkuanMKaW5kZXggNmQxM2E0Yy4uMDhlNzRhYSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy93YXNtL2pzLWFwaS90ZXN0X2Jhc2ljX2FwaS5qcworKysgYi9KU1Rlc3RzL3dhc20v
anMtYXBpL3Rlc3RfYmFzaWNfYXBpLmpzCkBAIC0xNCw2ICsxNCwxNCBAQCBjb25zdCBjaGVja093
blByb3BlcnR5RGVzY3JpcHRvciA9IChvYmosIHByb3AsIGV4cGVjdCkgPT4gewogICAgIGFzc2Vy
dC5lcShkZXNjcmlwdG9yLmVudW1lcmFibGUsIGV4cGVjdC5lbnVtZXJhYmxlKTsKIH07CiAKK2Nv
bnN0IGNoZWNrQWNjZXNzb3JPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPSAob2JqLCBwcm9wLCBleHBl
Y3QpID0+IHsKKyAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihvYmosIHByb3ApOworICAgIGFzc2VydC5lcSh0eXBlb2YgZGVzY3JpcHRvci52YWx1
ZSwgInVuZGVmaW5lZCIpOworICAgIGFzc2VydC5lcSh0eXBlb2YgZGVzY3JpcHRvci53cml0YWJs
ZSwgInVuZGVmaW5lZCIpOworICAgIGFzc2VydC5lcShkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSwg
ZXhwZWN0LmNvbmZpZ3VyYWJsZSk7CisgICAgYXNzZXJ0LmVxKGRlc2NyaXB0b3IuZW51bWVyYWJs
ZSwgZXhwZWN0LmVudW1lcmFibGUpOworfTsKKwogY29uc3QgZnVuY3Rpb25Qcm9wZXJ0aWVzID0g
ewogICAgICJ2YWxpZGF0ZSI6IHsgbGVuZ3RoOiAxIH0sCiAgICAgImNvbXBpbGUiOiAgeyBsZW5n
dGg6IDEgfSwKQEAgLTcwLDcgKzc4LDkgQEAgZm9yIChjb25zdCBjIGluIGNvbnN0cnVjdG9yUHJv
cGVydGllcykgewogICAgICAgICBmb3IgKGNvbnN0IGludmFsaWQgb2YgaW52YWxpZEluc3RhbmNl
SW1wb3J0cykKICAgICAgICAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gbmV3IFdlYkFzc2VtYmx5
W2NdKG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoZW1wdHlNb2R1bGVBcnJheSksIGludmFsaWQpLCBU
eXBlRXJyb3IsIGBzZWNvbmQgYXJndW1lbnQgdG8gV2ViQXNzZW1ibHkuSW5zdGFuY2UgbXVzdCBi
ZSB1bmRlZmluZWQgb3IgYW4gT2JqZWN0IChldmFsdWF0aW5nICduZXcgV2ViQXNzZW1ibHlbY10o
bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShlbXB0eU1vZHVsZUFycmF5KSwgaW52YWxpZCknKWApOwog
ICAgICAgICBhc3NlcnQuaXNOb3RVbmRlZihpbnN0YW5jZS5leHBvcnRzKTsKLSAgICAgICAgY2hl
Y2tPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5zdGFuY2UsICJleHBvcnRzIiwgeyB0eXBlb2Z2YWx1
ZTogIm9iamVjdCIsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFi
bGU6IHRydWUgfSk7CisgICAgICAgIGNoZWNrQWNjZXNzb3JPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
V2ViQXNzZW1ibHkuSW5zdGFuY2UucHJvdG90eXBlLCAiZXhwb3J0cyIsIHsgY29uZmlndXJhYmxl
OiB0cnVlLCBlbnVtZXJhYmxlOiBmYWxzZSB9KTsKKyAgICAgICAgYXNzZXJ0LnRocm93cygoKSA9
PiBXZWJBc3NlbWJseS5JbnN0YW5jZS5wcm90b3R5cGUuZXhwb3J0cyA9IHVuZGVmaW5lZCwgVHlw
ZUVycm9yLCBgQXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS5gKTsKKyAg
ICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiBXZWJBc3NlbWJseS5JbnN0YW5jZS5wcm90b3R5cGUu
ZXhwb3J0cywgVHlwZUVycm9yLCBgZXhwZWN0ZWQgfHRoaXN8IHZhbHVlIHRvIGJlIGFuIGluc3Rh
bmNlIG9mIFdlYkFzc2VtYmx5Lkluc3RhbmNlYCk7CiAgICAgICAgIGFzc2VydC5pc1VuZGVmKGlu
c3RhbmNlLmV4cG9ydHMuX19wcm90b19fKTsKICAgICAgICAgYXNzZXJ0LmVxKFJlZmxlY3QuaXNF
eHRlbnNpYmxlKGluc3RhbmNlLmV4cG9ydHMpLCBmYWxzZSk7CiAgICAgICAgIGFzc2VydC5lcShT
eW1ib2wuaXRlcmF0b3IgaW4gaW5zdGFuY2UuZXhwb3J0cywgZmFsc2UpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggZjQ1NmE5OC4uM2I5ZDI0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzAgQEAKKzIwMTctMDUtMTcgIEpGIEJhc3RpZW4gIDxqZmJhc3RpZW5AYXBw
bGUuY29tPgorCisgICAgICAgIFdlYkFzc2VtYmx5OiBleHBvcnRzIGlzIGEgZ2V0dGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIxMjkKKworICAg
ICAgICBSZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4KKworICAgICAgICBBcyB1cGRhdGVkIGhlcmU6
IGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJBc3NlbWJseS9kZXNpZ24vcHVsbC8xMDYyCisKKyAgICAg
ICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHA6CisgICAgICAgIChKU0M6OkpT
V2ViQXNzZW1ibHlJbnN0YW5jZTo6ZmluaXNoQ3JlYXRpb24pOiBkb24ndCBwdXREaXJlY3QgaGVy
ZSBhbnltb3JlCisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaDoKKyAg
ICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjptb2R1bGVOYW1lc3BhY2VPYmplY3Qp
OiBhZGQgYWNjZXNzb3IKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNl
LmNwcDogc3F1ZWxjaCBjYXVzaW5nIGEgd2FybmluZworICAgICAgICAqIHdhc20vanMvV2ViQXNz
ZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5jcHA6IHVzZSBMVVQKKyAgICAgICAgKEpTQzo6Z2V0SW5z
dGFuY2UpOiBoZWxwZXIsIGFzIGluIHN1cnJvdW5kaW5nIGZpbGVzCisgICAgICAgIChKU0M6Ondl
YkFzc2VtYmx5SW5zdGFuY2VQcm90b0Z1bmNFeHBvcnRzKTogaW5zdGVhZCBvZiBwdXREaXJlY3QK
KyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5UHJvdG90eXBlLmNwcDogcGFzcyBW
TSBhcm91bmQgYXMgZm9yIFRhYmxlCisgICAgICAgIChKU0M6OmdldE1lbW9yeSk6CisgICAgICAg
IChKU0M6OndlYkFzc2VtYmx5TWVtb3J5UHJvdG9GdW5jR3Jvdyk6CisgICAgICAgIChKU0M6Ondl
YkFzc2VtYmx5TWVtb3J5UHJvdG9GdW5jQnVmZmVyKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFz
c2VtYmx5VGFibGVQcm90b3R5cGUuY3BwOiBzdGF0aWMgZXZlcnl3aGVyZSBhcyB3aXRoIG90aGVy
IGNvZGUKKyAgICAgICAgKEpTQzo6d2ViQXNzZW1ibHlUYWJsZVByb3RvRnVuY0xlbmd0aCk6Cisg
ICAgICAgIChKU0M6OndlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNHcm93KToKKyAgICAgICAgKEpT
Qzo6d2ViQXNzZW1ibHlUYWJsZVByb3RvRnVuY0dldCk6CisgICAgICAgIChKU0M6OndlYkFzc2Vt
Ymx5VGFibGVQcm90b0Z1bmNTZXQpOgorCiAyMDE3LTA1LTE4ICBTYWFtIEJhcmF0aSAgPHNiYXJh
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFByb3h5J3MgW1tHZXRdXSBwYXNzZXMgaW5jb3JyZWN0
IHJlY2VpdmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dl
YkFzc2VtYmx5SW5zdGFuY2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseUluc3RhbmNlLmNwcAppbmRleCAzZjhjM2RlLi5jOGUyZDZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5j
ZS5jcHAKQEAgLTY5LDcgKzY5LDYgQEAgdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlz
aENyZWF0aW9uKFZNJiB2bSwgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlLAogCiAgICAgbV9t
b2R1bGVOYW1lc3BhY2VPYmplY3Quc2V0KHZtLCB0aGlzLCBtb2R1bGVOYW1lc3BhY2VPYmplY3Qp
OwogICAgIG1fY2FsbGVlLnNldCh2bSwgdGhpcywgbW9kdWxlLT5jYWxsZWUoKSk7Ci0gICAgcHV0
RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImV4cG9ydHMiKSwgbW9kdWxl
TmFtZXNwYWNlT2JqZWN0LCBOb25lKTsKIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6
OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaAppbmRleCAyM2RmNmNmLi4zY2ZlNTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5z
dGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
SW5zdGFuY2UuaApAQCAtNTUsNiArNTUsOCBAQCBwdWJsaWM6CiAKICAgICBKU09iamVjdCogaW1w
b3J0RnVuY3Rpb24odW5zaWduZWQgaWR4KSB7IFJFTEVBU0VfQVNTRVJUKGlkeCA8IG1fbnVtSW1w
b3J0RnVuY3Rpb25zKTsgcmV0dXJuIGltcG9ydEZ1bmN0aW9ucygpW2lkeF0uZ2V0KCk7IH0KIAor
ICAgIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0KiBtb2R1bGVOYW1lc3BhY2VPYmplY3QoKSB7IHJl
dHVybiBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5nZXQoKTsgfQorCiAgICAgSlNXZWJBc3NlbWJs
eU1lbW9yeSogbWVtb3J5KCkgeyByZXR1cm4gbV9tZW1vcnkuZ2V0KCk7IH0KICAgICB2b2lkIHNl
dE1lbW9yeShWTSYgdm0sIEpTV2ViQXNzZW1ibHlNZW1vcnkqIHZhbHVlKSB7IEFTU0VSVCghbWVt
b3J5KCkpOyBtX21lbW9yeS5zZXQodm0sIHRoaXMsIHZhbHVlKTsgfQogICAgIFdhc206Ok1lbW9y
eU1vZGUgbWVtb3J5TW9kZSgpIHsgcmV0dXJuIG1lbW9yeSgpLT5tZW1vcnkoKS5tb2RlKCk7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5SW5z
dGFuY2VQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNz
ZW1ibHlJbnN0YW5jZVByb3RvdHlwZS5jcHAKaW5kZXggNDc3N2E2MS4uM2NlY2NjOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlJbnN0YW5jZVBy
b3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlJbnN0YW5jZVByb3RvdHlwZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAsNiArMzAsMTIgQEAKIAogI2luY2x1ZGUgIkZ1bmN0
aW9uUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTTW9k
dWxlTmFtZXNwYWNlT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNXZWJBc3NlbWJseUluc3RhbmNlLmgi
CisKK25hbWVzcGFjZSBKU0Mgeworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
d2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvRnVuY0V4cG9ydHMoRXhlY1N0YXRlKik7Cit9CiAKICNp
bmNsdWRlICJXZWJBc3NlbWJseUluc3RhbmNlUHJvdG90eXBlLmx1dC5oIgogCkBAIC0zOSw5ICs0
NSwzMiBAQCBjb25zdCBDbGFzc0luZm8gV2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZTo6c19p
bmZvID0geyAiV2ViQXNzZW1ibHkuSW5zdGFuY2UucAogCiAvKiBTb3VyY2UgZm9yIFdlYkFzc2Vt
Ymx5SW5zdGFuY2VQcm90b3R5cGUubHV0LmgKICBAYmVnaW4gcHJvdG90eXBlVGFibGVXZWJBc3Nl
bWJseUluc3RhbmNlCisgZXhwb3J0cyB3ZWJBc3NlbWJseUluc3RhbmNlUHJvdG9GdW5jRXhwb3J0
cyBEb250RW51bXxBY2Nlc3NvciAwCiAgQGVuZAogICovCiAKK3N0YXRpYyBBTFdBWVNfSU5MSU5F
IEpTV2ViQXNzZW1ibHlJbnN0YW5jZSogZ2V0SW5zdGFuY2UoRXhlY1N0YXRlKiBleGVjLCBWTSYg
dm0sIEpTVmFsdWUgdikKK3sKKyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKKyAgICBKU1dlYkFzc2VtYmx5SW5zdGFuY2UqIHJlc3VsdCA9IGpzRHluYW1pY0Nh
c3Q8SlNXZWJBc3NlbWJseUluc3RhbmNlKj4odm0sIHYpOworICAgIGlmICghcmVzdWx0KSB7Cisg
ICAgICAgIHRocm93RXhjZXB0aW9uKGV4ZWMsIHRocm93U2NvcGUsIAorICAgICAgICAgICAgY3Jl
YXRlVHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiZXhwZWN0ZWQgfHRoaXN8IHZhbHVlIHRv
IGJlIGFuIGluc3RhbmNlIG9mIFdlYkFzc2VtYmx5Lkluc3RhbmNlIikpKTsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5SW5zdGFuY2VQcm90b0Z1bmNFeHBv
cnRzKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIGF1
dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgSlNXZWJBc3Nl
bWJseUluc3RhbmNlKiBpbnN0YW5jZSA9IGdldEluc3RhbmNlKGV4ZWMsIHZtLCBleGVjLT50aGlz
VmFsdWUoKSk7IAorICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGluc3RhbmNlLT5tb2R1bGVOYW1lc3BhY2VPYmplY3Qo
KSk7Cit9CisKIFdlYkFzc2VtYmx5SW5zdGFuY2VQcm90b3R5cGUqIFdlYkFzc2VtYmx5SW5zdGFu
Y2VQcm90b3R5cGU6OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCiB7CiAgICAgYXV0byogb2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNl
bGw8V2ViQXNzZW1ibHlJbnN0YW5jZVByb3RvdHlwZT4odm0uaGVhcCkpIFdlYkFzc2VtYmx5SW5z
dGFuY2VQcm90b3R5cGUodm0sIHN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1lbW9yeVByb3RvdHlwZS5jcHAKaW5k
ZXggODIyZjYzYi4uNDc0NWViZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TWVtb3J5UHJvdG90eXBlLmNwcApAQCAtNTMsOSAr
NTMsOCBAQCBjb25zdCBDbGFzc0luZm8gV2ViQXNzZW1ibHlNZW1vcnlQcm90b3R5cGU6OnNfaW5m
byA9IHsgIldlYkFzc2VtYmx5Lk1lbW9yeS5wcm90bwogQGVuZAogKi8KIAotQUxXQVlTX0lOTElO
RSBKU1dlYkFzc2VtYmx5TWVtb3J5KiBnZXRNZW1vcnkoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IHZhbHVlKQorQUxXQVlTX0lOTElORSBKU1dlYkFzc2VtYmx5TWVtb3J5KiBnZXRNZW1vcnkoRXhl
Y1N0YXRlKiBleGVjLCBWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCiB7Ci0gICAgVk0mIHZtID0gZXhl
Yy0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
IAogICAgIEpTV2ViQXNzZW1ibHlNZW1vcnkqIG1lbW9yeSA9IGpzRHluYW1pY0Nhc3Q8SlNXZWJB
c3NlbWJseU1lbW9yeSo+KHZtLCB2YWx1ZSk7IApAQCAtNzIsNyArNzEsNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5TWVtb3J5UHJvdG9GdW5jR3JvdyhFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIEpTV2ViQXNzZW1ibHlNZW1vcnkqIG1l
bW9yeSA9IGdldE1lbW9yeShleGVjLCBleGVjLT50aGlzVmFsdWUoKSk7IAorICAgIEpTV2ViQXNz
ZW1ibHlNZW1vcnkqIG1lbW9yeSA9IGdldE1lbW9yeShleGVjLCB2bSwgZXhlYy0+dGhpc1ZhbHVl
KCkpOyAKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgCiAg
ICAgdWludDMyX3QgZGVsdGEgPSB0b05vbldyYXBwaW5nVWludDMyKGV4ZWMsIGV4ZWMtPmFyZ3Vt
ZW50KDApKTsKQEAgLTkwLDcgKzg5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3
ZWJBc3NlbWJseU1lbW9yeVByb3RvRnVuY0J1ZmZlcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgVk0m
IHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKIAotICAgIEpTV2ViQXNzZW1ibHlNZW1vcnkqIG1lbW9yeSA9IGdldE1lbW9yeShl
eGVjLCBleGVjLT50aGlzVmFsdWUoKSk7IAorICAgIEpTV2ViQXNzZW1ibHlNZW1vcnkqIG1lbW9y
eSA9IGdldE1lbW9yeShleGVjLCB2bSwgZXhlYy0+dGhpc1ZhbHVlKCkpOyAKICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShtZW1vcnktPmJ1ZmZlcihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkp
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5VGFibGVQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2Vi
QXNzZW1ibHlUYWJsZVByb3RvdHlwZS5jcHAKaW5kZXggMTVlNTgwZi4uYTkxYzM3NiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUYWJsZVByb3Rv
dHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlU
YWJsZVByb3RvdHlwZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUg
SlNXZWJBc3NlbWJseVRhYmxlKiBnZXRUYWJsZShFeGVjU3RhdGUqIGV4ZWMsIFZNJiB2bSwgSlNW
YWwKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNMZW5ndGgoRXhlY1N0YXRlKiBleGVjKQorc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgd2ViQXNzZW1ibHlUYWJsZVByb3RvRnVuY0xl
bmd0aChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTc3LDcgKzc3LDcg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5j
TGVuZ3RoKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVt
YmVyKHRhYmxlLT5zaXplKCkpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3
ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jR3JvdyhFeGVjU3RhdGUqIGV4ZWMpCitzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jR3JvdyhF
eGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHRo
cm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTkzLDcgKzkzLDcgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jR3JvdyhF
eGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJv
dG9GdW5jR2V0KEV4ZWNTdGF0ZSogZXhlYykKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIHdlYkFzc2VtYmx5VGFibGVQcm90b0Z1bmNHZXQoRXhlY1N0YXRlKiBleGVjKQogewog
ICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CkBAIC0xMTEsNyArMTExLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jR2V0KEV4ZWNTdGF0ZSogZXhlYykKICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVsbCgpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCB3ZWJBc3NlbWJseVRhYmxlUHJvdG9GdW5jU2V0KEV4ZWNTdGF0ZSogZXhl
YykKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHdlYkFzc2VtYmx5VGFibGVQ
cm90b0Z1bmNTZXQoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0tIAoyLjku
MwoK
</data>

          </attachment>
      

    </bug>

</bugzilla>