<?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>161050</bug_id>
          
          <creation_ts>2016-08-22 12:07:50 -0700</creation_ts>
          <short_desc>Introduce a MathMLRowElement class for mrow-like elements</short_desc>
          <delta_ts>2016-08-26 02:18:13 -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>MathML</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160543</blocked>
    
    <blocked>161053</blocked>
    
    <blocked>161230</blocked>
    
    <blocked>161232</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1221931</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-22 12:07:50 -0700</bug_when>
    <thetext>Another step for bug 160543.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221934</commentid>
    <comment_count>1</comment_count>
      <attachid>286612</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-22 12:29:35 -0700</bug_when>
    <thetext>Created attachment 286612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221945</commentid>
    <comment_count>2</comment_count>
      <attachid>286612</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-22 12:57:57 -0700</bug_when>
    <thetext>Comment on attachment 286612
Patch

I noticed that the constructor of RenderMathMLRow (and its derived class) can now take MathMLRowElement (or a derived class) as a parameter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222146</commentid>
    <comment_count>3</comment_count>
      <attachid>286612</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-08-22 23:45:25 -0700</bug_when>
    <thetext>Comment on attachment 286612
Patch

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

&gt; Source/WebCore/mathml/MathMLRowElement.h:39
&gt; +    void childrenChanged(const ChildChange&amp;) final;

Seems this could be private instead of protected.

&gt; Source/WebCore/mathml/MathMLRowElement.h:42
&gt; +    bool acceptsDisplayStyleAttribute() override;
&gt; +    bool acceptsMathVariantAttribute() override;

Seems these could both be final instead of override and private instead of protected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222168</commentid>
    <comment_count>4</comment_count>
      <attachid>286689</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-23 00:55:01 -0700</bug_when>
    <thetext>Created attachment 286689
Patch

Updated patch that also force renderer constructors to take a MathMLRowElement and make more element classes inherits from MathMLRowElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222172</commentid>
    <comment_count>5</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-23 01:29:56 -0700</bug_when>
    <thetext>Committed r204779: &lt;http://trac.webkit.org/changeset/204779&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286612</attachid>
            <date>2016-08-22 12:29:35 -0700</date>
            <delta_ts>2016-08-22 23:45:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161050-20160822212737.patch</filename>
            <type>text/plain</type>
            <size>22510</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0NzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBiMmQ3NGJjYTc5MGRh
MTY4MTc2MWY5NzIwYTcxNDJjNDMxNWQzZC4uNTI0NmY3N2U2ZTRjNzAzMThhOTE0ZDRhM2IzN2Q2
YzI2ZThjYzljZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE2LTA4LTIyICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgYSBNYXRo
TUxSb3dFbGVtZW50IGNsYXNzIGZvciBtcm93LWxpa2UgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTA1MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGludHJvZHVjZSBhIE1hdGhNTFJv
d0VsZW1lbnQgY2xhc3MgZm9yIGVsZW1lbnRzIGNyZWF0aW5nIFJlbmRlck1hdGhNTFJvdyByZW5k
ZXJlcnMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWhhdmlvciBpcyB1bmNoYW5nZWQuCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkIE1hdGhNTFJvd0VsZW1lbnQgZmlsZXMuCisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0by4KKyAgICAg
ICAgKiBtYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwv
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHA6IFJlbW92ZSB1bnVzZWQgaGVhZGVycy4K
KyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZUVs
ZW1lbnRSZW5kZXJlcik6IEhhbmRsZSBzb21lIG1yb3ctbGlrZQorICAgICAgICBlbGVtZW50cyBp
biB0aGUgTWF0aE1MUm93RWxlbWVudCBjbGFzcy4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQ6OmFjY2VwdHNEaXNwbGF5U3R5bGVBdHRyaWJ1dGUpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNoaWxk
cmVuQ2hhbmdlZCk6IERlbGV0ZWQuIFdlIG9ubHkgbmVlZCB0byBjYWxjdWxhdGUKKyAgICAgICAg
dGhlIGZvcm0gZm9yIG9wZXJhdG9ycyBpbnNpZGUgYSBNYXRoTUxSb3dFbGVtZW50LgorICAgICAg
ICAoV2ViQ29yZTo6TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6YWNjZXB0c01hdGhWYXJp
YW50QXR0cmlidXRlKTogRGVsZXRlZC4gbXN0eWxlIGlzCisgICAgICAgIGhhbmRsZWQgaW4gdGhl
IE1hdGhNTFJvd0VsZW1lbnQgY2xhc3MuCisgICAgICAgICogbWF0aG1sL01hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQuaDogVXBkYXRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucy4KKyAgICAgICAg
KiBtYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuY3BwOiBNYWtlIHRoaXMgY2xhc3MgaW5oZXJpdHMg
ZnJvbSBNYXRoTUxSb3dFbGVtZW50LgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxNYXRoRWxlbWVu
dC5oOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MUGFkZGVkRWxlbWVudC5jcHA6IERp
dHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxQYWRkZWRFbGVtZW50Lmg6IERpdHRvLgorICAg
ICAgICAqIG1hdGhtbC9NYXRoTUxSb3dFbGVtZW50LmNwcDogTmV3IGNsYXNzIGZvciBtcm93LWxp
a2UgZWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFJvd0VsZW1lbnQ6Ok1hdGhNTFJv
d0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MUm93RWxlbWVudDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFJvd0VsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCk6IE1v
dmUgY29kZSBmcm9tIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuCisgICAgICAgIChXZWJD
b3JlOjpNYXRoTUxSb3dFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1hdGhNTFJvd0VsZW1lbnQ6OmFjY2VwdHNEaXNwbGF5U3R5bGVBdHRy
aWJ1dGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFJvd0VsZW1lbnQ6OmFjY2Vw
dHNNYXRoVmFyaWFudEF0dHJpYnV0ZSk6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxS
b3dFbGVtZW50Lmg6CisgICAgICAgICogbWF0aG1sL21hdGh0YWdzLmluOiBNYXAgdGFncyBjcmVh
dGluZyBSZW5kZXJNYXRoTUxSb3cgcmVuZGVyZXJzIHRvIE1hdGhNTFJvd0VsZW1lbnQuCisKIDIw
MTYtMDgtMjIgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBGaXggYmluZGluZ3MgdGVzdHMgYWZ0ZXIgcjIwNDcxNy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggZDFlOWQyZTM2ZTBhYTVjYjg1ODYxMDg4NGEyZWUwMzBhYjk2NTQ4Ny4uMTVkZDc4
Mzc1YjI2NDMwYzczYzE4OWU5NjI3YmE0OWFiMzYyNWU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTIwMTEsNiArMjAxMSw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBtYXRobWwvTWF0
aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcAogICAgIG1hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1l
bnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTFBhZGRlZEVsZW1lbnQuY3BwCisgICAgbWF0aG1sL01h
dGhNTFJvd0VsZW1lbnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmNwcAog
ICAgIG1hdGhtbC9NYXRoTUxTZWxlY3RFbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxTcGFj
ZUVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMjU4NDc4MGY3NjJmOWZiMTJiNWIxZjg3MTdkZjE2NDA1YmM3Y2Q0
Mi4uODg1ZWZlODhhMGE1NjlhOWQ0ZDI4Yzk3YjFjMDMxOGFjMjM5MWEwMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjMxMiw5
ICs2MzEyLDExIEBACiAJCUY5OEZGRjQ1MTFBMjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOThGRkY0MzEx
QTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGlscy5oICovOyB9OwogCQlGOUYwRUQ3QTBEQjUwQ0Ey
MDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOUYwRUQ3NzBEQjUwQ0EyMDBEMTZEQjkg
LyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi87IH07CiAJCUZBNjU0QTZCMTEwOEFC
RUQwMDI2MTVFMCAvKiBNYXRoTUxUb2tlbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkE2NTRBNjkxMTA4QUJFRDAwMjYxNUUwIC8qIE1h
dGhNTFRva2VuRWxlbWVudC5jcHAgKi87IH07CisJCUZBNzY1QTZCMTEwOEFCRUQwMDI2MTVFMCAv
KiBNYXRoTUxSb3dFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZBNzY1QTY5MTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxSb3dFbGVtZW50
LmNwcCAqLzsgfTsKIAkJRkE2NTRBNkIxMTA4QUJFRDAwMjYxNkYxIC8qIE1hdGhNTE9wZXJhdG9y
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGQTY1NEE2OTExMDhBQkVEMDAyNjE2RjEgLyogTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCAq
LzsgfTsKIAkJRkE2NTRBNkIxMTA4QUJFRDAwMjYyNkYxIC8qIE1hdGhNTFVuZGVyT3ZlckVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkE2
NTRBNjkxMTA4QUJFRDAwMjYyNkYxIC8qIE1hdGhNTFVuZGVyT3ZlckVsZW1lbnQuY3BwICovOyB9
OwogCQlGQTY1NEE2QzExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MVG9rZW5FbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTY1NEE2QTExMDhB
QkVEMDAyNjE1RTAgLyogTWF0aE1MVG9rZW5FbGVtZW50LmggKi87IH07CisJCUZBNzY1QTZDMTEw
OEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxSb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTc2NUE2QTExMDhBQkVEMDAyNjE1RTAgLyogTWF0
aE1MUm93RWxlbWVudC5oICovOyB9OwogCQlGQTY1NEE2QzExMDhBQkVEMDAyNjE2RjEgLyogTWF0
aE1MT3BlcmF0b3JFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGQTY1NEE2QTExMDhBQkVEMDAyNjE2RjEgLyogTWF0aE1MT3BlcmF0b3JFbGVt
ZW50LmggKi87IH07CiAJCUZBNjU0QTZDMTEwOEFCRUQwMDI2MjZGMSAvKiBNYXRoTUxVbmRlck92
ZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGQTY1NEE2QTExMDhBQkVEMDAyNjI2RjEgLyogTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5oICov
OyB9OwogCQlGQUJFNzJGNDEwNTlDMUVCMDBEODg4Q0MgLyogTWF0aE1MQW5ub3RhdGlvbkVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFC
RTcyRUQxMDU5QzFFQjAwRDg4OENDIC8qIE1hdGhNTEFubm90YXRpb25FbGVtZW50LmNwcCAqLzsg
fTsKQEAgLTEzODg0LDkgKzEzODg2LDExIEBACiAJCUZBNjU0QTYzMTEwOEFCQjcwMDI2MTVFMCAv
KiBtYXRobWwuY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBtYXRobWwuY3NzOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQTY1NEE2NzExMDhBQkUyMDAyNjE1RTAgLyogbWF0
aGF0dHJzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IG1hdGhhdHRycy5pbjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkE2NTRBNjkxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFRv
a2VuRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRo
TUxUb2tlbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQTc2NUE2
OTExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MUm93RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxSb3dFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkE2NTRBNjkxMTA4QUJFRDAwMjYxNkYxIC8qIE1hdGhNTE9wZXJh
dG9yRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRo
TUxPcGVyYXRvckVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQTY1
NEE2OTExMDhBQkVEMDAyNjI2RjEgLyogTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxVbmRlck92ZXJFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkE2NTRBNkExMTA4QUJFRDAwMjYxNUUw
IC8qIE1hdGhNTFRva2VuRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNYXRoTUxUb2tlbkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkE3
NjVBNkExMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFJvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MUm93RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGQTY1NEE2QTExMDhBQkVEMDAyNjE2RjEgLyogTWF0aE1MT3BlcmF0b3JF
bGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGhNTE9wZXJhdG9y
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQTY1NEE2QTExMDhBQkVE
MDAyNjI2RjEgLyogTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNYXRoTUxVbmRlck92ZXJFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUZBNkU0NjZGQ0QwNDE4QTk5NjZBNUI2MCAvKiBETlNSZXNvbHZlUXVldWUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE5TUmVzb2x2ZVF1ZXVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzE0Miw2ICsyMzE0Niw4IEBACiAJCQkJNEZB
NjVBNkExMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFNwYWNlRWxlbWVudC5oICovLAogCQkJCUZB
NjU0QTY5MTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxUb2tlbkVsZW1lbnQuY3BwICovLAogCQkJ
CUZBNjU0QTZBMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxUb2tlbkVsZW1lbnQuaCAqLywKKwkJ
CQlGQTc2NUE2OTExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MUm93RWxlbWVudC5jcHAgKi8sCisJ
CQkJRkE3NjVBNkExMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFJvd0VsZW1lbnQuaCAqLywKIAkJ
CQlGQTY1NEE2OTExMDhBQkVEMDAyNjI2RjEgLyogTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5jcHAg
Ki8sCiAJCQkJRkE2NTRBNkExMTA4QUJFRDAwMjYyNkYxIC8qIE1hdGhNTFVuZGVyT3ZlckVsZW1l
bnQuaCAqLywKIAkJCQlGQUJFNzJGMzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aHRhZ3MuaW4gKi8s
CkBAIC0yNTM3NSw2ICsyNTM4MSw3IEBACiAJCQkJNEZBNjVBNkMxMTA4QUJFRDAwMjYxNUUwIC8q
IE1hdGhNTFNwYWNlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDM5MTc2RTAxMkRBMjVF
MTdCQUY4MEEyIC8qIE1hdGhNTFN0eWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGQTY1NEE2QzEx
MDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MVG9rZW5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlGQTc2NUE2QzExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MUm93RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkE2NTRBNkMxMTA4QUJFRDAwMjYyNkYxIC8qIE1hdGhNTFVuZGVyT3ZlckVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQzOTA0NkVBMTJEQTI1RTgxMkFGODBBQyAvKiBN
YXRoT3BlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RDVEQzJDMEY0MjNBNzMwMDhGMjBG
RCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTA1
OSw2ICsyOTA2Niw3IEBACiAJCQkJNEZBNjVBNkIxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFNw
YWNlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzkxNzZERjEyREEyNUUxN0JBRjgw
QTIgLyogTWF0aE1MU3R5bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkE2NTRBNkIxMTA4QUJF
RDAwMjYxNUUwIC8qIE1hdGhNTFRva2VuRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlG
QTc2NUE2QjExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MUm93RWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlGQTY1NEE2QjExMDhBQkVEMDAyNjI2RjEgLyogTWF0aE1MVW5kZXJPdmVyRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzkwNDZFOTEyREEyNUU4MTJBRjgwQUMgLyog
TWF0aE9wZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RDVEQzJCMEY0MjNBNzMwMDhG
MjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxBbGxJbk9uZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwCmluZGV4IDc3NTIwYmRkNGFhYzM5
MDVlNWZhODExNzNhYzA5Y2ZiMWYyYWI1OGMuLjdlMzA5MDgxZjMzMTgxZjQ3ZTIxZWRiYmU5MTA5
YjQ4ZTU0ZWJkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxBbGxJ
bk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcApA
QCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIk1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHAi
CiAjaW5jbHVkZSAiTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCIKICNpbmNsdWRlICJNYXRoTUxQ
YWRkZWRFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJNYXRoTUxSb3dFbGVtZW50LmNwcCIKICNpbmNs
dWRlICJNYXRoTUxTY3JpcHRzRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MU2VsZWN0RWxl
bWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MVG9rZW5FbGVtZW50LmNwcCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcApp
bmRleCAyOTVmOGZmMDRhYmQ5Mzg5NDJkMmVkNTFhYjJjZTQ5Yzk4MmFmZDEzLi43ZGJjZjQ0YzQw
NDMxMTIzNzRiMmU2ZTdiZDc2MjBlNTY5MjE4MGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCkBAIC0zMiwxMiAr
MzIsNyBAQAogI2luY2x1ZGUgIk1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCIKIAogI2lu
Y2x1ZGUgIk1hdGhNTE5hbWVzLmgiCi0jaW5jbHVkZSAiTWF0aE1MT3BlcmF0b3JFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MQmxvY2suaCIKLSNpbmNsdWRlICJSZW5kZXJNYXRoTUxG
ZW5jZWQuaCIKLSNpbmNsdWRlICJSZW5kZXJNYXRoTUxNZW5jbG9zZS5oIgotI2luY2x1ZGUgIlJl
bmRlck1hdGhNTFJvb3QuaCIKLSNpbmNsdWRlICJSZW5kZXJNYXRoTUxSb3cuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC01MywyNCArNDgsOCBAQCBSZWY8TWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudD4gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1
YQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpKTsKIH0KIAotdm9pZCBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKLXsKLSAgICBm
b3IgKGF1dG8gY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0
U2libGluZygpKSB7Ci0gICAgICAgIGlmIChjaGlsZC0+aGFzVGFnTmFtZShNYXRoTUxOYW1lczo6
bW9UYWcpKQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8TWF0aE1MT3BlcmF0b3JFbGVtZW50Kj4o
Y2hpbGQpLT5zZXRPcGVyYXRvckZvcm1EaXJ0eSgpOwotICAgIH0KLQotICAgIE1hdGhNTEVsZW1l
bnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2UpOwotfQotCiBSZW5kZXJQdHI8UmVuZGVyRWxlbWVu
dD4gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJl
bmRlclN0eWxlJiYgc3R5bGUsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpCiB7Ci0gICAgaWYg
KGhhc1RhZ05hbWUobWVycm9yVGFnKSB8fCBoYXNUYWdOYW1lKG1waGFudG9tVGFnKSB8fCBoYXNU
YWdOYW1lKG1yb3dUYWcpIHx8IGhhc1RhZ05hbWUobXN0eWxlVGFnKSkKLSAgICAgICAgcmV0dXJu
IGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhNTFJvdz4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsK
LSAgICBpZiAoaGFzVGFnTmFtZShtc3FydFRhZykgfHwgaGFzVGFnTmFtZShtcm9vdFRhZykpCi0g
ICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJNYXRoTUxSb290PigqdGhpcywgV1RG
TW92ZShzdHlsZSkpOwotICAgIGlmIChoYXNUYWdOYW1lKG1mZW5jZWRUYWcpKQotICAgICAgICBy
ZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MRmVuY2VkPigqdGhpcywgV1RGTW92ZShz
dHlsZSkpOwogICAgIGlmIChoYXNUYWdOYW1lKG10YWJsZVRhZykpCiAgICAgICAgIHJldHVybiBj
cmVhdGVSZW5kZXJlcjxSZW5kZXJNYXRoTUxUYWJsZT4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsK
IApAQCAtNzksMTIgKzU4LDcgQEAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IE1hdGhNTElubGlu
ZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW4KIAogYm9vbCBNYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50OjphY2NlcHRzRGlzcGxheVN0eWxlQXR0cmlidXRlKCkK
IHsKLSAgICByZXR1cm4gaGFzVGFnTmFtZShtc3R5bGVUYWcpIHx8IGhhc1RhZ05hbWUobXRhYmxl
VGFnKTsKLX0KLQotYm9vbCBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjphY2NlcHRzTWF0
aFZhcmlhbnRBdHRyaWJ1dGUoKQotewotICAgIHJldHVybiBoYXNUYWdOYW1lKG1zdHlsZVRhZyk7
CisgICAgcmV0dXJuIGhhc1RhZ05hbWUobXRhYmxlVGFnKTsKIH0KIAogdm9pZCBNYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgKaW5kZXggYmQ4ZWRmNDRiZWMy
YmMyMDYxMjhkOTk1ZDQyZWI2YTFmZGJhZDA5Ny4uZjJiMWUyNWM1YzJjM2NhYmZjNDRjNGFhZWIy
ZDQ3YjY0ZjY0YjViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5oCkBAIC0zOCwxMSArMzgsOSBAQCBwdWJsaWM6CiAKIHBy
b3RlY3RlZDoKICAgICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7Ci0gICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29u
c3QgQ2hpbGRDaGFuZ2UmKSBvdmVycmlkZTsKICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKIAogICAgIGJv
b2wgYWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgpIG92ZXJyaWRlOwotICAgIGJvb2wgYWNj
ZXB0c01hdGhWYXJpYW50QXR0cmlidXRlKCkgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgUmVu
ZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYm
LCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuY3BwCmluZGV4IGVlMWMzZTFmMjk2YmU1YzI5YTAxMTdm
ZDlmMmQzMjFkYzU1ZmU5YzEuLmQxZDIxODgyZjRjYjc5ZGJkOWY5ODczZTYwY2IyMGMzZTdkMzJh
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcApAQCAt
MzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgTWF0aE1M
TmFtZXM7CiAKIGlubGluZSBNYXRoTUxNYXRoRWxlbWVudDo6TWF0aE1MTWF0aEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKKyAgICA6IE1hdGhN
TFJvd0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAgICAgc2V0SGFzQ3VzdG9tU3R5bGVS
ZXNvbHZlQ2FsbGJhY2tzKCk7CiB9CkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgTWF0aE1MTWF0aEVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b21pY1N0CiAKIHZvaWQgTWF0aE1MTWF0aEVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiB7
Ci0gICAgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCk7
CisgICAgTWF0aE1MUm93RWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCk7CiAKICAgICBNYXRo
TUxTdHlsZTo6cmVzb2x2ZU1hdGhNTFN0eWxlVHJlZShyZW5kZXJlcigpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmgKaW5kZXggZjczYjlkODg3YTYzMDBlYTA3
YjIzYjViNDE5ZjlkZjFhNzk4MmZlZS4uNWFjMDk0MGI4ZDI3ZDQ4YzE1Yzk1ZjllNzlhOGQ5ZGU5
NGU0NTAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmgKQEAg
LTI4LDExICsyOCwxMSBAQAogI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUFUSE1MKQotI2lu
Y2x1ZGUgIk1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCIKKyNpbmNsdWRlICJNYXRoTUxS
b3dFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTWF0aE1MTWF0aEVs
ZW1lbnQgZmluYWwgOiBwdWJsaWMgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCB7CitjbGFz
cyBNYXRoTUxNYXRoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBNYXRoTUxSb3dFbGVtZW50IHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPE1hdGhNTE1hdGhFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTFBhZGRlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTFBhZGRlZEVsZW1lbnQuY3BwCmluZGV4IDY0YTg0YmU2ZjhjYmRmNDgzNDllNTA1
NTRhODhhMzE3NzRlOTVjZmMuLjRhNDE5Y2ViMTYzYWRlNjVmNzI2MDc1MTU3MTJlNWI4MGFhZTJj
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxQYWRkZWRFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUGFkZGVkRWxlbWVudC5jcHAK
QEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIE1h
dGhNTE5hbWVzOwogCiBpbmxpbmUgTWF0aE1MUGFkZGVkRWxlbWVudDo6TWF0aE1MUGFkZGVkRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCi0g
ICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAg
IDogTWF0aE1MUm93RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFBhZGRlZEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxQYWRkZWRFbGVtZW50LmgKaW5kZXggYzNhOThmMTRlYjg3ZGI5
NWIzOTM3NjQ3ZGUwMTQ4MWU5MzY5YWVhYi4uY2UwNzcyYzMyODAzY2UxNmI5ODNiNTdjMDZmOTdm
MzkwOTlhYjU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFBhZGRl
ZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUGFkZGVkRWxlbWVu
dC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNwcmFnbWEgb25jZQogCiAjaWYgRU5BQkxFKE1BVEhN
TCkKLSNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgiCisjaW5jbHVkZSAi
TWF0aE1MUm93RWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1hdGhN
TFBhZGRlZEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dCB7CitjbGFzcyBNYXRoTUxQYWRkZWRFbGVtZW50IGZpbmFsIDogcHVibGljIE1hdGhNTFJvd0Vs
ZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWF0aE1MUGFkZGVkRWxlbWVudD4gY3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CiAgICAgLy8gRklY
TUU6IFBzZXVkby11bml0cyBhcmUgbm90IHN1cHBvcnRlZCB5ZXQgKGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTczMCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MUm93RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0
aE1MUm93RWxlbWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODU2MzI2MzZhZDk2MTg1MzExMjUyNzc0MzMx
MzJhNTQ2NTEyMjBiNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9N
YXRoTUxSb3dFbGVtZW50LmNwcApAQCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE2IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1ZGUg
Ik1hdGhNTFJvd0VsZW1lbnQuaCIKKworI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjaW5jbHVk
ZSAiTWF0aE1MT3BlcmF0b3JFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyTWF0aE1MRmVuY2Vk
LmgiCisjaW5jbHVkZSAiUmVuZGVyTWF0aE1MTWVuY2xvc2UuaCIKKyNpbmNsdWRlICJSZW5kZXJN
YXRoTUxSb290LmgiCisjaW5jbHVkZSAiUmVuZGVyTWF0aE1MUm93LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOworCitNYXRoTUxSb3dFbGVt
ZW50OjpNYXRoTUxSb3dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50JiBkb2N1bWVudCkKKyAgICA6IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpCit7Cit9CisKK1JlZjxNYXRoTUxSb3dFbGVtZW50PiBNYXRoTUxSb3dFbGVt
ZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3Vt
ZW50KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1hdGhNTFJvd0VsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpKTsKK30KKwordm9pZCBNYXRoTUxSb3dFbGVtZW50OjpjaGlsZHJlbkNoYW5n
ZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKK3sKKyAgICBmb3IgKGF1dG8gY2hpbGQgPSBm
aXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7CisgICAg
ICAgIGlmIChjaGlsZC0+aGFzVGFnTmFtZShtb1RhZykpCisgICAgICAgICAgICBzdGF0aWNfY2Fz
dDxNYXRoTUxPcGVyYXRvckVsZW1lbnQqPihjaGlsZCktPnNldE9wZXJhdG9yRm9ybURpcnR5KCk7
CisgICAgfQorCisgICAgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6Y2hpbGRyZW5DaGFu
Z2VkKGNoYW5nZSk7Cit9CisKK1JlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxSb3dFbGVt
ZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwgY29uc3QgUmVu
ZGVyVHJlZVBvc2l0aW9uJikKK3sKKyAgICBpZiAoaGFzVGFnTmFtZShtc3FydFRhZykgfHwgaGFz
VGFnTmFtZShtcm9vdFRhZykpCisgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJN
YXRoTUxSb290PigqdGhpcywgV1RGTW92ZShzdHlsZSkpOworCisgICAgaWYgKGhhc1RhZ05hbWUo
bWZlbmNlZFRhZykpCisgICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJNYXRoTUxG
ZW5jZWQ+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7CisKKyAgICBBU1NFUlQoaGFzVGFnTmFtZSht
ZXJyb3JUYWcpIHx8IGhhc1RhZ05hbWUobXBoYW50b21UYWcpIHx8IGhhc1RhZ05hbWUobXJvd1Rh
ZykgfHwgaGFzVGFnTmFtZShtc3R5bGVUYWcpKTsKKyAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8
UmVuZGVyTWF0aE1MUm93PigqdGhpcywgV1RGTW92ZShzdHlsZSkpOworfQorCitib29sIE1hdGhN
TFJvd0VsZW1lbnQ6OmFjY2VwdHNEaXNwbGF5U3R5bGVBdHRyaWJ1dGUoKQoreworICAgIHJldHVy
biBoYXNUYWdOYW1lKG1zdHlsZVRhZyk7Cit9CisKK2Jvb2wgTWF0aE1MUm93RWxlbWVudDo6YWNj
ZXB0c01hdGhWYXJpYW50QXR0cmlidXRlKCkKK3sKKyAgICByZXR1cm4gaGFzVGFnTmFtZShtc3R5
bGVUYWcpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxSb3dFbGVtZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTkyZTYzZDBlNzJhNjFlNTM3
ZmEzNDUyODE4ZDYwZjYwZjAzMzY1MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxSb3dFbGVtZW50LmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1ZGUg
Ik1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBNYXRoTUxSb3dFbGVtZW50IDogcHVibGljIE1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TWF0aE1MUm93RWxlbWVudD4gY3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CisKK3Byb3RlY3RlZDoK
KyAgICBNYXRoTUxSb3dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50Jik7CisgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBmaW5h
bDsKKworICAgIGJvb2wgYWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgpIG92ZXJyaWRlOwor
ICAgIGJvb2wgYWNjZXB0c01hdGhWYXJpYW50QXR0cmlidXRlKCkgb3ZlcnJpZGU7CisKK3ByaXZh
dGU6CisgICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihS
ZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsKK307CisK
K30KKworI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvbWF0aHRhZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4K
aW5kZXggMmEyZjVhYjlhZWNjZTI1ZDViNWQ5YTIxYTZkMmJiODA3MzkzNTIxZS4uMzU2YTZkNDQ3
NzFlMjgxM2QwOTI2Njc5YjJjOWRkNDljMTYwMTU2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbWF0aG1sL21hdGh0YWdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRodGFn
cy5pbgpAQCAtOCwxOCArOCwxOCBAQCBhbm5vdGF0aW9uLXhtbCBpbnRlcmZhY2VOYW1lPU1hdGhN
TEFubm90YXRpb25FbGVtZW50CiBtYWN0aW9uIGludGVyZmFjZU5hbWU9TWF0aE1MU2VsZWN0RWxl
bWVudAogbWF0aAogbWZyYWMgaW50ZXJmYWNlTmFtZT1NYXRoTUxGcmFjdGlvbkVsZW1lbnQKLW1m
ZW5jZWQgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CittZmVuY2Vk
IGludGVyZmFjZU5hbWU9TWF0aE1MUm93RWxlbWVudAogbXN1YnN1cCBpbnRlcmZhY2VOYW1lPU1h
dGhNTFNjcmlwdHNFbGVtZW50Ci1tZXJyb3IgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50CittZXJyb3IgaW50ZXJmYWNlTmFtZT1NYXRoTUxSb3dFbGVtZW50CiBtcGFk
ZGVkIGludGVyZmFjZU5hbWU9TWF0aE1MUGFkZGVkRWxlbWVudAotbXBoYW50b20gaW50ZXJmYWNl
TmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Ci1tcm93IGludGVyZmFjZU5hbWU9TWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAotbXN0eWxlIGludGVyZmFjZU5hbWU9TWF0aE1MSW5s
aW5lQ29udGFpbmVyRWxlbWVudAorbXBoYW50b20gaW50ZXJmYWNlTmFtZT1NYXRoTUxSb3dFbGVt
ZW50Cittcm93IGludGVyZmFjZU5hbWU9TWF0aE1MUm93RWxlbWVudAorbXN0eWxlIGludGVyZmFj
ZU5hbWU9TWF0aE1MUm93RWxlbWVudAogbW92ZXIgaW50ZXJmYWNlTmFtZT1NYXRoTUxVbmRlck92
ZXJFbGVtZW50CiBtdW5kZXIgaW50ZXJmYWNlTmFtZT1NYXRoTUxVbmRlck92ZXJFbGVtZW50CiBt
dW5kZXJvdmVyIGludGVyZmFjZU5hbWU9TWF0aE1MVW5kZXJPdmVyRWxlbWVudAotbXNxcnQgaW50
ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Ci1tcm9vdCBpbnRlcmZhY2VO
YW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK21zcXJ0IGludGVyZmFjZU5hbWU9TWF0
aE1MUm93RWxlbWVudAorbXJvb3QgaW50ZXJmYWNlTmFtZT1NYXRoTUxSb3dFbGVtZW50CiBtaSBp
bnRlcmZhY2VOYW1lPU1hdGhNTFRva2VuRWxlbWVudAogbW4gaW50ZXJmYWNlTmFtZT1NYXRoTUxU
b2tlbkVsZW1lbnQKIG1vIGludGVyZmFjZU5hbWU9TWF0aE1MT3BlcmF0b3JFbGVtZW50Cg==
</data>
<flag name="review"
          id="310137"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286689</attachid>
            <date>2016-08-23 00:55:01 -0700</date>
            <delta_ts>2016-08-23 00:55:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Bug-161050-Introduce-a-MathMLRowElement-class-for-mr.patch</filename>
            <type>text/plain</type>
            <size>39771</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSAxYzNhZDUyMGNhMzNkZDhmZGZkYWVlODBiOWYxYTAwZGY1OWM1MTQ0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogVHVlLCAyMyBBdWcgMjAxNiAwOTo1MTo0OSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEJ1ZyAx
NjEwNTAgLSBJbnRyb2R1Y2UgYSBNYXRoTUxSb3dFbGVtZW50IGNsYXNzIGZvciBtcm93LWxpa2UK
IGVsZW1lbnRzCgotLS0KIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAg
ICAgICAgICAgIHwgIDEgKwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCA1NSArKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qICAgfCAgOCArKwogU291cmNlL1dlYkNvcmUvbWF0aG1s
L01hdGhNTEFsbEluT25lLmNwcCAgICAgICAgICAgfCAgMSArCiBTb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MQW5ub3RhdGlvbkVsZW1lbnQuY3BwICB8ICA0ICstCiBTb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MQW5ub3RhdGlvbkVsZW1lbnQuaCAgICB8ICA1ICstCiAuLi4vbWF0aG1sL01h
dGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICAgICAgICB8IDI4ICstLS0tLS0KIC4uLi9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmggIHwgIDIgLQogU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcCAgICAgICAgfCAgNCArLQog
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmggICAgICAgICAgfCAgNCAr
LQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHAgICAgfCAg
NCArLQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1lbmNsb3NlRWxlbWVudC5oICAgICAg
fCAgNCArLQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFBhZGRlZEVsZW1lbnQuY3BwICAg
ICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFBhZGRlZEVsZW1lbnQuaCAg
ICAgICAgfCAgNCArLQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuY3Bw
ICAgICAgICAgfCA4NiArKysrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MUm93RWxlbWVudC5oICAgICAgICAgICB8IDUwICsrKysrKysrKysrKysKIFNvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTZWxlY3RFbGVtZW50LmNwcCAgICAgIHwgMTIgKy0tCiBT
b3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5oICAgICAgICB8ICA0ICst
CiBTb3VyY2UvV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4gICAgICAgICAgICAgICAgICB8IDE0
ICsrLS0KIC4uLi9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5jcHAgICAgICAg
IHwgIDMgKy0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2Vk
LmggIHwgIDYgKy0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MTWF0
aC5jcHAgIHwgIDMgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MTWF0aC5oIHwgIDQgKy0KIC4uLi9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1lbmNs
b3NlLmNwcCAgICAgIHwgIDIgKy0KIC4uLi9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1l
bmNsb3NlLmggICAgICAgIHwgIDQgKy0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MUm9vdC5jcHAgIHwgIDMgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MUm9vdC5oIHwgIDQgKy0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MUm93LmNwcCAgIHwgIDggKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmggIHwgIDUgKy0KIDI5IGZpbGVzIGNoYW5nZWQsIDI2
MSBpbnNlcnRpb25zKCspLCA3MyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUm93RWxlbWVudC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBTb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUm93RWxlbWVudC5oCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCAxOGYwOGE4Li4wYmI3N2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjAx
MSw2ICsyMDExLDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIG1hdGhtbC9NYXRoTUxPcGVy
YXRvckRpY3Rpb25hcnkuY3BwCiAgICAgbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAK
ICAgICBtYXRobWwvTWF0aE1MUGFkZGVkRWxlbWVudC5jcHAKKyAgICBtYXRobWwvTWF0aE1MUm93
RWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3BwCiAgICAgbWF0
aG1sL01hdGhNTFNlbGVjdEVsZW1lbnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTFNwYWNlRWxlbWVu
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA5YmZhY2U4Li4zMjdiMDFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNTggQEAKKzIwMTYtMDgtMjMgIEZyZWRlcmljIFdhbmcgIDxmcmVkLndhbmdAZnJlZS5mcj4K
KworICAgICAgICBJbnRyb2R1Y2UgYSBNYXRoTUxSb3dFbGVtZW50IGNsYXNzIGZvciBtcm93LWxp
a2UgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2MTA1MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
IFdlIGludHJvZHVjZSBhIE1hdGhNTFJvd0VsZW1lbnQgY2xhc3MgZm9yIGVsZW1lbnRzIGNyZWF0
aW5nIFJlbmRlck1hdGhNTFJvdyByZW5kZXJlcnMuCisgICAgICAgIFdlIGFsc28gZm9yY2UgY29u
c3RydWN0b3JzIG9mIHRoZSBjb3JyZXNwb25kaW5nIHJlbmRlcmVyIGNsYXNzZXMgdG8gYWNjZXB0
IE1hdGhNTFJvd0VsZW1lbnQuCisgICAgICAgIEl0J3Mgbm90IGNsZWFyIHdoZXRoZXIgc2VtYW50
aWNzLXhtbCByZWFsbHkgbmVlZHMgdG8gY3JlYXRlIFJlbmRlck1hdGhNTFJvdyBidXQgZm9yIG5v
dworICAgICAgICB3ZSBtYWtlIE1hdGhNTEFubm90YXRpb25FbGVtZW50IGluaGVyaXRzIGZyb20g
TWF0aE1MUm93RWxlbWVudCB0byBwcmVzZXJ2ZSB0aGF0IGJlaGF2aW9yLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cywgYmVoYXZpb3IgaXMgdW5jaGFuZ2VkLgorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6IEFkZCBNYXRoTUxSb3dFbGVtZW50IGZpbGVzLgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAgICAgICogbWF0aG1sL01hdGhNTEFs
bEluT25lLmNwcDogRGl0dG8uCisgICAgICAgICogbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQuY3BwOiBSZW1vdmUgdW51c2VkIGhlYWRlcnMuCisgICAgICAgIChXZWJDb3JlOjpN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIpOiBIYW5k
bGUgc29tZSBtcm93LWxpa2UKKyAgICAgICAgZWxlbWVudHMgaW4gdGhlIE1hdGhNTFJvd0VsZW1l
bnQgY2xhc3MuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
OjphY2NlcHRzRGlzcGxheVN0eWxlQXR0cmlidXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOiBEZWxldGVk
LiBXZSBvbmx5IG5lZWQgdG8gY2FsY3VsYXRlCisgICAgICAgIHRoZSBmb3JtIGZvciBvcGVyYXRv
cnMgaW5zaWRlIGEgTWF0aE1MUm93RWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQ6OmFjY2VwdHNNYXRoVmFyaWFudEF0dHJpYnV0ZSk6IERlbGV0
ZWQuIG1zdHlsZSBpcworICAgICAgICBoYW5kbGVkIGluIHRoZSBNYXRoTUxSb3dFbGVtZW50IGNs
YXNzLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Lmg6IFVw
ZGF0ZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMuCisgICAgICAgICogbWF0aG1sL01hdGhNTE1hdGhF
bGVtZW50LmNwcDogTWFrZSB0aGlzIGNsYXNzIGluaGVyaXRzIGZyb20gTWF0aE1MUm93RWxlbWVu
dC4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaDogRGl0dG8uCisgICAgICAg
ICogbWF0aG1sL01hdGhNTFBhZGRlZEVsZW1lbnQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBtYXRo
bWwvTWF0aE1MUGFkZGVkRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1M
U2VsZWN0RWxlbWVudC5jcHA6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxTZWxlY3RF
bGVtZW50Lmg6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxBbm5vdGF0aW9uRWxlbWVu
dC5jcHA6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxBbm5vdGF0aW9uRWxlbWVudC5o
OiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MUm93RWxlbWVudC5jcHA6IE5ldyBjbGFz
cyBmb3IgbXJvdy1saWtlIGVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxSb3dFbGVt
ZW50OjpNYXRoTUxSb3dFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTFJvd0VsZW1l
bnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxSb3dFbGVtZW50OjpjaGlsZHJl
bkNoYW5nZWQpOiBNb3ZlIGNvZGUgZnJvbSBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Lgor
ICAgICAgICAoV2ViQ29yZTo6TWF0aE1MUm93RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVy
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxSb3dFbGVtZW50OjphY2NlcHRzRGlz
cGxheVN0eWxlQXR0cmlidXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxSb3dF
bGVtZW50OjphY2NlcHRzTWF0aFZhcmlhbnRBdHRyaWJ1dGUpOiBEaXR0by4KKyAgICAgICAgKiBt
YXRobWwvTWF0aE1MUm93RWxlbWVudC5oOgorICAgICAgICAqIG1hdGhtbC9tYXRodGFncy5pbjog
TWFwIHRhZ3MgY3JlYXRpbmcgUmVuZGVyTWF0aE1MUm93IHJlbmRlcmVycyB0byBNYXRoTUxSb3dF
bGVtZW50LgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNw
cDogRm9yY2UgdGhlIGNvbnN0cnVjdG9yIHRvIHRha2UgTWF0aE1MUm93RWxlbWVudC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5oOiBEaXR0by4KKyAgICAg
ICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1hdGguY3BwOiBEaXR0by4KKyAgICAg
ICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1hdGguaDogRGl0dG8uCisgICAgICAg
ICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxNZW5jbG9zZS5jcHA6IEZvcmNlIHRoZSBj
b25zdHJ1Y3RvciB0byB0YWtlIE1hdGhNTE1lbmNsb3NlRWxlbWVudC4KKyAgICAgICAgKiByZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1lbmNsb3NlLmg6IERpdHRvLgorICAgICAgICAqIHJl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5jcHA6IEZvcmNlIHRoZSBjb25zdHJ1Y3Rv
ciB0byB0YWtlIE1hdGhNTFJvd0VsZW1lbnQuCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxSb290Lmg6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MUm93LmNwcDogRGl0dG8gYW5kIGFkZCBhbiBoZWxwZXIgZnVuY3Rpb24gZWxlbWVu
dCgpIHRvCisgICAgICAgIHJldHJpZXZlIHRoZSBNYXRoTUxSb3dFbGVtZW50LgorICAgICAgICAq
IHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93Lmg6IERpdHRvLgorCiAyMDE2LTA4LTIy
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBUZXh0VHJh
Y2tDdWUncyBjb25zdHJ1Y3RvciBhcyBwZXIgdGhlIGxhdGVzdCBzcGVjaWZpY2F0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
M2Y2OGJiZi4uYzg5NjYzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjMxMiw5ICs2MzEyLDExIEBACiAJCUY5OEZGRjQ1MTFB
MjY3NjIwMEY1NDhFOCAvKiBDU1NPTVV0aWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGOThGRkY0MzExQTI2NzYyMDBGNTQ4RTggLyogQ1NTT01VdGls
cy5oICovOyB9OwogCQlGOUYwRUQ3QTBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGOUYwRUQ3NzBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50LmggKi87IH07CiAJCUZBNjU0QTZCMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxUb2tlbkVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkE2NTRBNjkxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFRva2VuRWxlbWVudC5jcHAgKi87IH07
CisJCUZBNzY1QTZCMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxSb3dFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBNzY1QTY5MTEwOEFC
RUQwMDI2MTVFMCAvKiBNYXRoTUxSb3dFbGVtZW50LmNwcCAqLzsgfTsKIAkJRkE2NTRBNkIxMTA4
QUJFRDAwMjYxNkYxIC8qIE1hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTY1NEE2OTExMDhBQkVEMDAyNjE2RjEg
LyogTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCAqLzsgfTsKIAkJRkE2NTRBNkIxMTA4QUJFRDAw
MjYyNkYxIC8qIE1hdGhNTFVuZGVyT3ZlckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkE2NTRBNjkxMTA4QUJFRDAwMjYyNkYxIC8qIE1h
dGhNTFVuZGVyT3ZlckVsZW1lbnQuY3BwICovOyB9OwogCQlGQTY1NEE2QzExMDhBQkVEMDAyNjE1
RTAgLyogTWF0aE1MVG9rZW5FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGQTY1NEE2QTExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MVG9rZW5F
bGVtZW50LmggKi87IH07CisJCUZBNzY1QTZDMTEwOEFCRUQwMDI2MTVFMCAvKiBNYXRoTUxSb3dF
bGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
QTc2NUE2QTExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MUm93RWxlbWVudC5oICovOyB9OwogCQlG
QTY1NEE2QzExMDhBQkVEMDAyNjE2RjEgLyogTWF0aE1MT3BlcmF0b3JFbGVtZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTY1NEE2QTExMDhBQkVE
MDAyNjE2RjEgLyogTWF0aE1MT3BlcmF0b3JFbGVtZW50LmggKi87IH07CiAJCUZBNjU0QTZDMTEw
OEFCRUQwMDI2MjZGMSAvKiBNYXRoTUxVbmRlck92ZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQTY1NEE2QTExMDhBQkVEMDAyNjI2RjEg
LyogTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5oICovOyB9OwogCQlGQUJFNzJGNDEwNTlDMUVCMDBE
ODg4Q0MgLyogTWF0aE1MQW5ub3RhdGlvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRUQxMDU5QzFFQjAwRDg4OENDIC8qIE1h
dGhNTEFubm90YXRpb25FbGVtZW50LmNwcCAqLzsgfTsKQEAgLTEzODg0LDkgKzEzODg2LDExIEBA
CiAJCUZBNjU0QTYzMTEwOEFCQjcwMDI2MTVFMCAvKiBtYXRobWwuY3NzICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dC5jc3M7IHBhdGggPSBtYXRobWwuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
QTY1NEE2NzExMDhBQkUyMDAyNjE1RTAgLyogbWF0aGF0dHJzLmluICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IG1hdGhhdHRycy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkE2NTRB
NjkxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFRva2VuRWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxUb2tlbkVsZW1lbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGQTc2NUE2OTExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1M
Um93RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRo
TUxSb3dFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkE2NTRBNjkx
MTA4QUJFRDAwMjYxNkYxIC8qIE1hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQTY1NEE2OTExMDhBQkVEMDAyNjI2RjEgLyogTWF0
aE1MVW5kZXJPdmVyRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBNYXRoTUxVbmRlck92ZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRkE2NTRBNkExMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFRva2VuRWxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxUb2tlbkVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkE3NjVBNkExMTA4QUJFRDAwMjYxNUUwIC8qIE1h
dGhNTFJvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1M
Um93RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQTY1NEE2QTExMDhB
QkVEMDAyNjE2RjEgLyogTWF0aE1MT3BlcmF0b3JFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1hdGhNTE9wZXJhdG9yRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGQTY1NEE2QTExMDhBQkVEMDAyNjI2RjEgLyogTWF0aE1MVW5kZXJPdmVy
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxVbmRlck92
ZXJFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZBNkU0NjZGQ0QwNDE4
QTk5NjZBNUI2MCAvKiBETlNSZXNvbHZlUXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE5TUmVzb2x2ZVF1ZXVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0yMzE0Miw2ICsyMzE0Niw4IEBACiAJCQkJNEZBNjVBNkExMTA4QUJFRDAwMjYxNUUwIC8qIE1h
dGhNTFNwYWNlRWxlbWVudC5oICovLAogCQkJCUZBNjU0QTY5MTEwOEFCRUQwMDI2MTVFMCAvKiBN
YXRoTUxUb2tlbkVsZW1lbnQuY3BwICovLAogCQkJCUZBNjU0QTZBMTEwOEFCRUQwMDI2MTVFMCAv
KiBNYXRoTUxUb2tlbkVsZW1lbnQuaCAqLywKKwkJCQlGQTc2NUE2OTExMDhBQkVEMDAyNjE1RTAg
LyogTWF0aE1MUm93RWxlbWVudC5jcHAgKi8sCisJCQkJRkE3NjVBNkExMTA4QUJFRDAwMjYxNUUw
IC8qIE1hdGhNTFJvd0VsZW1lbnQuaCAqLywKIAkJCQlGQTY1NEE2OTExMDhBQkVEMDAyNjI2RjEg
LyogTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5jcHAgKi8sCiAJCQkJRkE2NTRBNkExMTA4QUJFRDAw
MjYyNkYxIC8qIE1hdGhNTFVuZGVyT3ZlckVsZW1lbnQuaCAqLywKIAkJCQlGQUJFNzJGMzEwNTlD
MUVCMDBEOTk5REQgLyogbWF0aHRhZ3MuaW4gKi8sCkBAIC0yNTM3NSw2ICsyNTM4MSw3IEBACiAJ
CQkJNEZBNjVBNkMxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFNwYWNlRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNDM5MTc2RTAxMkRBMjVFMTdCQUY4MEEyIC8qIE1hdGhNTFN0eWxlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGQTY1NEE2QzExMDhBQkVEMDAyNjE1RTAgLyogTWF0aE1MVG9r
ZW5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGQTc2NUE2QzExMDhBQkVEMDAyNjE1RTAg
LyogTWF0aE1MUm93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkE2NTRBNkMxMTA4QUJF
RDAwMjYyNkYxIC8qIE1hdGhNTFVuZGVyT3ZlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQzOTA0NkVBMTJEQTI1RTgxMkFGODBBQyAvKiBNYXRoT3BlcmF0b3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQ5RDVEQzJDMEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9wZXJh
dGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTA1OSw2ICsyOTA2Niw3IEBACiAJCQkJNEZBNjVB
NkIxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFNwYWNlRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk0MzkxNzZERjEyREEyNUUxN0JBRjgwQTIgLyogTWF0aE1MU3R5bGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkE2NTRBNkIxMTA4QUJFRDAwMjYxNUUwIC8qIE1hdGhNTFRva2VuRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGQTc2NUE2QjExMDhBQkVEMDAyNjE1RTAgLyog
TWF0aE1MUm93RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGQTY1NEE2QjExMDhBQkVE
MDAyNjI2RjEgLyogTWF0aE1MVW5kZXJPdmVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk0MzkwNDZFOTEyREEyNUU4MTJBRjgwQUMgLyogTWF0aE9wZXJhdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTQ5RDVEQzJCMEY0MjNBNzMwMDhGMjBGRCAvKiBNYXRyaXgzRFRyYW5zZm9ybU9w
ZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21h
dGhtbC9NYXRoTUxBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MQWxs
SW5PbmUuY3BwCmluZGV4IDc3NTIwYmQuLjdlMzA5MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1s
L01hdGhNTEFsbEluT25lLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIk1hdGhNTE9w
ZXJhdG9yRGljdGlvbmFyeS5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNw
cCIKICNpbmNsdWRlICJNYXRoTUxQYWRkZWRFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJNYXRoTUxS
b3dFbGVtZW50LmNwcCIKICNpbmNsdWRlICJNYXRoTUxTY3JpcHRzRWxlbWVudC5jcHAiCiAjaW5j
bHVkZSAiTWF0aE1MU2VsZWN0RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MVG9rZW5FbGVt
ZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxBbm5vdGF0
aW9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MQW5ub3RhdGlvbkVs
ZW1lbnQuY3BwCmluZGV4IDM1NTEzMWQuLjJhNjA2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxBbm5vdGF0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTEFubm90YXRpb25FbGVtZW50LmNwcApAQCAtNDEsNyArNDEsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CiAKIE1hdGhN
TEFubm90YXRpb25FbGVtZW50OjpNYXRoTUxBbm5vdGF0aW9uRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgOiBNYXRoTUxFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDogTWF0aE1MUm93RWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShhbm5vdGF0aW9uVGFnKSB8fCBoYXNUYWdO
YW1lKGFubm90YXRpb25feG1sVGFnKSk7CiB9CkBAIC0xMDAsNyArMTAwLDcgQEAgdm9pZCBNYXRo
TUxBbm5vdGF0aW9uRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
JiBuYW1lLCBjb25zdAogICAgICAgICBpZiAoaXM8TWF0aE1MRWxlbWVudD4ocGFyZW50KSAmJiBw
YXJlbnQtPmhhc1RhZ05hbWUoc2VtYW50aWNzVGFnKSkKICAgICAgICAgICAgIGRvd25jYXN0PE1h
dGhNTEVsZW1lbnQ+KCpwYXJlbnQpLnVwZGF0ZVNlbGVjdGVkQ2hpbGQoKTsKICAgICB9Ci0gICAg
TWF0aE1MRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChuYW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWUs
IHJlYXNvbik7CisgICAgTWF0aE1MUm93RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChuYW1lLCBv
bGRWYWx1ZSwgbmV3VmFsdWUsIHJlYXNvbik7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxBbm5vdGF0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
bWF0aG1sL01hdGhNTEFubm90YXRpb25FbGVtZW50LmgKaW5kZXggYWFjMjAyMy4uMTcwYzEyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEFubm90YXRpb25FbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEFubm90YXRpb25FbGVtZW50LmgK
QEAgLTI2LDExICsyNiwxMSBAQAogI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUFUSE1MKQot
I2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJNYXRoTUxSb3dFbGVtZW50Lmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTWF0aE1MQW5ub3RhdGlvbkVsZW1lbnQg
ZmluYWwgOiBwdWJsaWMgTWF0aE1MRWxlbWVudCB7CitjbGFzcyBNYXRoTUxBbm5vdGF0aW9uRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBNYXRoTUxSb3dFbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPE1hdGhNTEFubm90YXRpb25FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKIHByaXZhdGU6CkBAIC0zOCw3ICszOCw2IEBAIHByaXZh
dGU6CiAgICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihS
ZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBmaW5hbDsKIAogICAgIGJv
b2wgaXNTZW1hbnRpY0Fubm90YXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9Ci0g
ICAgYm9vbCBpc1ByZXNlbnRhdGlvbk1hdGhNTCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7
IH0KIAogICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJikgY29u
c3QgZmluYWw7CiAgICAgdm9pZCBhdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBjb25zdCBBdG9taWNTdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1Zh
bHVlLCBBdHRyaWJ1dGVNb2RpZmljYXRpb25SZWFzb24pIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCmluZGV4
IDI5NWY4ZmYuLjdkYmNmNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKQEAgLTMyLDEyICszMiw3IEBACiAjaW5j
bHVkZSAiTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIgogCiAjaW5jbHVkZSAiTWF0aE1M
TmFtZXMuaCIKLSNpbmNsdWRlICJNYXRoTUxPcGVyYXRvckVsZW1lbnQuaCIKICNpbmNsdWRlICJS
ZW5kZXJNYXRoTUxCbG9jay5oIgotI2luY2x1ZGUgIlJlbmRlck1hdGhNTEZlbmNlZC5oIgotI2lu
Y2x1ZGUgIlJlbmRlck1hdGhNTE1lbmNsb3NlLmgiCi0jaW5jbHVkZSAiUmVuZGVyTWF0aE1MUm9v
dC5oIgotI2luY2x1ZGUgIlJlbmRlck1hdGhNTFJvdy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTUzLDI0ICs0OCw4IEBAIFJlZjxNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50PiBN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhCiAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkpOwogfQogCi12b2lkIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNoaWxkcmVu
Q2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdlKQotewotICAgIGZvciAoYXV0byBjaGls
ZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsK
LSAgICAgICAgaWYgKGNoaWxkLT5oYXNUYWdOYW1lKE1hdGhNTE5hbWVzOjptb1RhZykpCi0gICAg
ICAgICAgICBzdGF0aWNfY2FzdDxNYXRoTUxPcGVyYXRvckVsZW1lbnQqPihjaGlsZCktPnNldE9w
ZXJhdG9yRm9ybURpcnR5KCk7Ci0gICAgfQotCi0gICAgTWF0aE1MRWxlbWVudDo6Y2hpbGRyZW5D
aGFuZ2VkKGNoYW5nZSk7Ci19Ci0KIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBz
dHlsZSwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikKIHsKLSAgICBpZiAoaGFzVGFnTmFtZSht
ZXJyb3JUYWcpIHx8IGhhc1RhZ05hbWUobXBoYW50b21UYWcpIHx8IGhhc1RhZ05hbWUobXJvd1Rh
ZykgfHwgaGFzVGFnTmFtZShtc3R5bGVUYWcpKQotICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVy
ZXI8UmVuZGVyTWF0aE1MUm93PigqdGhpcywgV1RGTW92ZShzdHlsZSkpOwotICAgIGlmIChoYXNU
YWdOYW1lKG1zcXJ0VGFnKSB8fCBoYXNUYWdOYW1lKG1yb290VGFnKSkKLSAgICAgICAgcmV0dXJu
IGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhNTFJvb3Q+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7
Ci0gICAgaWYgKGhhc1RhZ05hbWUobWZlbmNlZFRhZykpCi0gICAgICAgIHJldHVybiBjcmVhdGVS
ZW5kZXJlcjxSZW5kZXJNYXRoTUxGZW5jZWQ+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7CiAgICAg
aWYgKGhhc1RhZ05hbWUobXRhYmxlVGFnKSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVy
PFJlbmRlck1hdGhNTFRhYmxlPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOwogCkBAIC03OSwxMiAr
NTgsNyBAQCBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbgogCiBib29sIE1hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQ6OmFjY2VwdHNEaXNwbGF5U3R5bGVBdHRyaWJ1dGUoKQogewotICAgIHJldHVy
biBoYXNUYWdOYW1lKG1zdHlsZVRhZykgfHwgaGFzVGFnTmFtZShtdGFibGVUYWcpOwotfQotCi1i
b29sIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmFjY2VwdHNNYXRoVmFyaWFudEF0dHJp
YnV0ZSgpCi17Ci0gICAgcmV0dXJuIGhhc1RhZ05hbWUobXN0eWxlVGFnKTsKKyAgICByZXR1cm4g
aGFzVGFnTmFtZShtdGFibGVUYWcpOwogfQogCiB2b2lkIE1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b21pY1N0cmluZyYgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQuaAppbmRleCBiZDhlZGY0Li5mMmIxZTI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
LmgKQEAgLTM4LDExICszOCw5IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIE1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQmKTsKLSAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIG92ZXJy
aWRlOwogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogCiAgICAgYm9vbCBhY2NlcHRzRGlzcGxheVN0eWxl
QXR0cmlidXRlKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBhY2NlcHRzTWF0aFZhcmlhbnRBdHRyaWJ1
dGUoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4g
Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3Np
dGlvbiYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TE1hdGhFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVu
dC5jcHAKaW5kZXggZWUxYzNlMS4uZDFkMjE4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MTWF0aEVsZW1lbnQuY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIHVzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKIAogaW5saW5lIE1hdGhNTE1hdGhFbGVt
ZW50OjpNYXRoTUxNYXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1
bWVudCYgZG9jdW1lbnQpCi0gICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KHRhZ05h
bWUsIGRvY3VtZW50KQorICAgIDogTWF0aE1MUm93RWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkK
IHsKICAgICBzZXRIYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3MoKTsKIH0KQEAgLTgzLDcg
KzgzLDcgQEAgdm9pZCBNYXRoTUxNYXRoRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3QKIAogdm9pZCBNYXRoTUxNYXRoRWxlbWVu
dDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKIHsKLSAgICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMoKTsKKyAgICBNYXRoTUxSb3dFbGVtZW50OjpkaWRBdHRh
Y2hSZW5kZXJlcnMoKTsKIAogICAgIE1hdGhNTFN0eWxlOjpyZXNvbHZlTWF0aE1MU3R5bGVUcmVl
KHJlbmRlcmVyKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TE1hdGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQu
aAppbmRleCBmNzNiOWQ4Li41YWMwOTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MTWF0aEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
TWF0aEVsZW1lbnQuaApAQCAtMjgsMTEgKzI4LDExIEBACiAjcHJhZ21hIG9uY2UKIAogI2lmIEVO
QUJMRShNQVRITUwpCi0jaW5jbHVkZSAiTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIgor
I2luY2x1ZGUgIk1hdGhNTFJvd0VsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBNYXRoTUxNYXRoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBNYXRoTUxJbmxpbmVDb250YWlu
ZXJFbGVtZW50IHsKK2NsYXNzIE1hdGhNTE1hdGhFbGVtZW50IGZpbmFsIDogcHVibGljIE1hdGhN
TFJvd0VsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWF0aE1MTWF0aEVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MTWVuY2xvc2VFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNZW5jbG9zZUVsZW1lbnQuY3BwCmluZGV4IDkw
MjZhOGIuLjY3ODkxYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxN
ZW5jbG9zZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNZW5j
bG9zZUVsZW1lbnQuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVz
aW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKIAogTWF0aE1MTWVuY2xvc2VFbGVtZW50OjpNYXRo
TUxNZW5jbG9zZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQm
IGRvY3VtZW50KQotICAgIDogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCkKKyAgICA6IE1hdGhNTFJvd0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiB7CiAg
ICAgLy8gQnkgZGVmYXVsdCB3ZSBkcmF3IGEgbG9uZ2Rpdi4KICAgICBjbGVhck5vdGF0aW9ucygp
OwpAQCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgTWF0aE1MTWVuY2xvc2VFbGVtZW50OjpwYXJzZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tCiAgICAgaWYgKG5h
bWUgPT0gbm90YXRpb25BdHRyKQogICAgICAgICBtX25vdGF0aW9uRmxhZ3MgPSBOdWxsb3B0Owog
Ci0gICAgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwg
dmFsdWUpOworICAgIE1hdGhNTFJvd0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVl
KTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1lbmNs
b3NlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1lbmNsb3NlRWxlbWVu
dC5oCmluZGV4IDRmZjY5MmQuLjkyMDZkZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21h
dGhtbC9NYXRoTUxNZW5jbG9zZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MTWVuY2xvc2VFbGVtZW50LmgKQEAgLTI4LDExICsyOCwxMSBAQAogCiAjaWYgRU5BQkxF
KE1BVEhNTCkKICNpbmNsdWRlICJFbGVtZW50LmgiCi0jaW5jbHVkZSAiTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudC5oIgorI2luY2x1ZGUgIk1hdGhNTFJvd0VsZW1lbnQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBNYXRoTUxNZW5jbG9zZUVsZW1lbnQgZmluYWw6IHB1Ymxp
YyBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50IHsKK2NsYXNzIE1hdGhNTE1lbmNsb3NlRWxl
bWVudCBmaW5hbDogcHVibGljIE1hdGhNTFJvd0VsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8TWF0aE1MTWVuY2xvc2VFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1s
L01hdGhNTFBhZGRlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFBh
ZGRlZEVsZW1lbnQuY3BwCmluZGV4IDY0YTg0YmUuLjRhNDE5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxQYWRkZWRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9tYXRobWwvTWF0aE1MUGFkZGVkRWxlbWVudC5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwogCiBpbmxpbmUg
TWF0aE1MUGFkZGVkRWxlbWVudDo6TWF0aE1MUGFkZGVkRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgOiBNYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDogTWF0aE1MUm93RWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTFBhZGRlZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxQ
YWRkZWRFbGVtZW50LmgKaW5kZXggYzNhOThmMS4uY2UwNzcyYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTFBhZGRlZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MUGFkZGVkRWxlbWVudC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNwcmFn
bWEgb25jZQogCiAjaWYgRU5BQkxFKE1BVEhNTCkKLSNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MUm93RWxlbWVudC5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1hdGhNTFBhZGRlZEVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCB7CitjbGFzcyBNYXRoTUxQYWRkZWRFbGVtZW50
IGZpbmFsIDogcHVibGljIE1hdGhNTFJvd0VsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8TWF0aE1MUGFkZGVkRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50Jik7CiAgICAgLy8gRklYTUU6IFBzZXVkby11bml0cyBhcmUgbm90IHN1cHBv
cnRlZCB5ZXQgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTczMCku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUm93RWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUm93RWxlbWVudC5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU2MzI2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxSb3dFbGVtZW50LmNwcApAQCAtMCwwICsxLDg2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUo
TUFUSE1MKQorI2luY2x1ZGUgIk1hdGhNTFJvd0VsZW1lbnQuaCIKKworI2luY2x1ZGUgIk1hdGhN
TE5hbWVzLmgiCisjaW5jbHVkZSAiTWF0aE1MT3BlcmF0b3JFbGVtZW50LmgiCisjaW5jbHVkZSAi
UmVuZGVyTWF0aE1MRmVuY2VkLmgiCisjaW5jbHVkZSAiUmVuZGVyTWF0aE1MTWVuY2xvc2UuaCIK
KyNpbmNsdWRlICJSZW5kZXJNYXRoTUxSb290LmgiCisjaW5jbHVkZSAiUmVuZGVyTWF0aE1MUm93
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVz
OworCitNYXRoTUxSb3dFbGVtZW50OjpNYXRoTUxSb3dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKKyAgICA6IE1hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCit7Cit9CisKK1JlZjxNYXRoTUxSb3dFbGVt
ZW50PiBNYXRoTUxSb3dFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1hdGhN
TFJvd0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKK30KKwordm9pZCBNYXRoTUxSb3dFbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKK3sKKyAgICBm
b3IgKGF1dG8gY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0
U2libGluZygpKSB7CisgICAgICAgIGlmIChjaGlsZC0+aGFzVGFnTmFtZShtb1RhZykpCisgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxNYXRoTUxPcGVyYXRvckVsZW1lbnQqPihjaGlsZCktPnNldE9w
ZXJhdG9yRm9ybURpcnR5KCk7CisgICAgfQorCisgICAgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNoYW5nZSk7Cit9CisKK1JlbmRlclB0cjxSZW5kZXJFbGVt
ZW50PiBNYXRoTUxSb3dFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUm
JiBzdHlsZSwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikKK3sKKyAgICBpZiAoaGFzVGFnTmFt
ZShtc3FydFRhZykgfHwgaGFzVGFnTmFtZShtcm9vdFRhZykpCisgICAgICAgIHJldHVybiBjcmVh
dGVSZW5kZXJlcjxSZW5kZXJNYXRoTUxSb290PigqdGhpcywgV1RGTW92ZShzdHlsZSkpOworCisg
ICAgaWYgKGhhc1RhZ05hbWUobWZlbmNlZFRhZykpCisgICAgICAgIHJldHVybiBjcmVhdGVSZW5k
ZXJlcjxSZW5kZXJNYXRoTUxGZW5jZWQ+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7CisKKyAgICBB
U1NFUlQoaGFzVGFnTmFtZShtZXJyb3JUYWcpIHx8IGhhc1RhZ05hbWUobXBoYW50b21UYWcpIHx8
IGhhc1RhZ05hbWUobXJvd1RhZykgfHwgaGFzVGFnTmFtZShtc3R5bGVUYWcpKTsKKyAgICByZXR1
cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MUm93PigqdGhpcywgV1RGTW92ZShzdHlsZSkp
OworfQorCitib29sIE1hdGhNTFJvd0VsZW1lbnQ6OmFjY2VwdHNEaXNwbGF5U3R5bGVBdHRyaWJ1
dGUoKQoreworICAgIHJldHVybiBoYXNUYWdOYW1lKG1zdHlsZVRhZyk7Cit9CisKK2Jvb2wgTWF0
aE1MUm93RWxlbWVudDo6YWNjZXB0c01hdGhWYXJpYW50QXR0cmlidXRlKCkKK3sKKyAgICByZXR1
cm4gaGFzVGFnTmFtZShtc3R5bGVUYWcpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFU
SE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxSb3dFbGVtZW50LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZlMDJlNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxSb3dFbGVtZW50LmgKQEAgLTAsMCArMSw1MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoTUFUSE1MKQor
I2luY2x1ZGUgIk1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBNYXRoTUxSb3dFbGVtZW50IDogcHVibGljIE1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TWF0aE1MUm93RWxlbWVu
dD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CisKK3By
b3RlY3RlZDoKKyAgICBNYXRoTUxSb3dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50Jik7CisgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFu
Z2UmKSBvdmVycmlkZTsKKworICAgIGJvb2wgYWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgp
IG92ZXJyaWRlOworICAgIGJvb2wgYWNjZXB0c01hdGhWYXJpYW50QXR0cmlidXRlKCkgb3ZlcnJp
ZGU7CisKK3ByaXZhdGU6CisgICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1l
bnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBvdmVy
cmlkZTsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9tYXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggNzFiODMyZS4uMjdiNzE0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNlbGVjdEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTZWxlY3RFbGVtZW50LmNwcApA
QCAtNDMsNyArNDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgTWF0
aE1MTmFtZXM7CiAKIE1hdGhNTFNlbGVjdEVsZW1lbnQ6Ok1hdGhNTFNlbGVjdEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKKyAgICA6IE1hdGhN
TFJvd0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiAgICAgLCBtX3NlbGVjdGVkQ2hpbGQobnVs
bHB0cikKIHsKIH0KQEAgLTg5LDEzICs4OSwxMyBAQCBib29sIE1hdGhNTFNlbGVjdEVsZW1lbnQ6
OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0CiB2b2lk
IE1hdGhNTFNlbGVjdEVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpCiB7CiAgICAgdXBk
YXRlU2VsZWN0ZWRDaGlsZCgpOwotICAgIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmZp
bmlzaFBhcnNpbmdDaGlsZHJlbigpOworICAgIE1hdGhNTFJvd0VsZW1lbnQ6OmZpbmlzaFBhcnNp
bmdDaGlsZHJlbigpOwogfQogCiB2b2lkIE1hdGhNTFNlbGVjdEVsZW1lbnQ6OmNoaWxkcmVuQ2hh
bmdlZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdlKQogewogICAgIHVwZGF0ZVNlbGVjdGVkQ2hp
bGQoKTsKLSAgICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQo
Y2hhbmdlKTsKKyAgICBNYXRoTUxSb3dFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlKTsK
IH0KIAogdm9pZCBNYXRoTUxTZWxlY3RFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgb2xkVmFsdWUsIGNvbnN0IEF0
b21pY1N0cmluZyYgbmV3VmFsdWUsIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbiByZWFzb24p
CkBAIC0xMDMsNyArMTAzLDcgQEAgdm9pZCBNYXRoTUxTZWxlY3RFbGVtZW50OjphdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b20KICAgICBpZiAoaGFz
VGFnTmFtZShtYWN0aW9uVGFnKSAmJiAobmFtZSA9PSBNYXRoTUxOYW1lczo6YWN0aW9udHlwZUF0
dHIgfHwgbmFtZSA9PSBNYXRoTUxOYW1lczo6c2VsZWN0aW9uQXR0cikpCiAgICAgICAgIHVwZGF0
ZVNlbGVjdGVkQ2hpbGQoKTsKIAotICAgIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmF0
dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkVmFsdWUsIG5ld1ZhbHVlLCByZWFzb24pOworICAgIE1h
dGhNTFJvd0VsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkVmFsdWUsIG5ld1ZhbHVl
LCByZWFzb24pOwogfQogCiBpbnQgTWF0aE1MU2VsZWN0RWxlbWVudDo6Z2V0U2VsZWN0ZWRBY3Rp
b25DaGlsZEFuZEluZGV4KEVsZW1lbnQqJiBzZWxlY3RlZENoaWxkKQpAQCAtMjE5LDEyICsyMTks
MTIgQEAgdm9pZCBNYXRoTUxTZWxlY3RFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50
KiBldmVudCkKICAgICAgICAgfQogICAgIH0KIAotICAgIE1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOworICAgIE1hdGhNTFJvd0VsZW1lbnQ6
OmRlZmF1bHRFdmVudEhhbmRsZXIoZXZlbnQpOwogfQogCiBib29sIE1hdGhNTFNlbGVjdEVsZW1l
bnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkKIHsKLSAgICByZXR1cm4gYXR0cmli
dXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihNYXRoTUxOYW1lczo6YWN0aW9udHlwZUF0dHIpID09
ICJ0b2dnbGUiIHx8IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OndpbGxSZXNwb25kVG9N
b3VzZUNsaWNrRXZlbnRzKCk7CisgICAgcmV0dXJuIGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24oTWF0aE1MTmFtZXM6OmFjdGlvbnR5cGVBdHRyKSA9PSAidG9nZ2xlIiB8fCBNYXRoTUxS
b3dFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpOwogfQogCiB2b2lkIE1h
dGhNTFNlbGVjdEVsZW1lbnQ6OnRvZ2dsZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TFNlbGVjdEVsZW1lbnQuaAppbmRleCAwZGZjMGQ4Li5iOGNkNTJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxTZWxlY3RFbGVtZW50LmgKQEAgLTI2LDExICsyNiwxMSBAQAogI3By
YWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUFUSE1MKQotI2luY2x1ZGUgIk1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQuaCIKKyNpbmNsdWRlICJNYXRoTUxSb3dFbGVtZW50LmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTWF0aE1MU2VsZWN0RWxlbWVudCBmaW5hbCA6IHB1Ymxp
YyBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50IHsKK2NsYXNzIE1hdGhNTFNlbGVjdEVsZW1l
bnQgZmluYWwgOiBwdWJsaWMgTWF0aE1MUm93RWxlbWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxNYXRoTUxTZWxlY3RFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQmKTsKICAgICBzdGF0aWMgYm9vbCBpc01hdGhNTEVuY29kaW5nKGNvbnN0
IEF0b21pY1N0cmluZyYgdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1s
L21hdGh0YWdzLmluIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL21hdGh0YWdzLmluCmluZGV4IDJh
MmY1YWIuLjM1NmE2ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRodGFn
cy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4KQEAgLTgsMTggKzgs
MTggQEAgYW5ub3RhdGlvbi14bWwgaW50ZXJmYWNlTmFtZT1NYXRoTUxBbm5vdGF0aW9uRWxlbWVu
dAogbWFjdGlvbiBpbnRlcmZhY2VOYW1lPU1hdGhNTFNlbGVjdEVsZW1lbnQKIG1hdGgKIG1mcmFj
IGludGVyZmFjZU5hbWU9TWF0aE1MRnJhY3Rpb25FbGVtZW50Ci1tZmVuY2VkIGludGVyZmFjZU5h
bWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbWZlbmNlZCBpbnRlcmZhY2VOYW1lPU1h
dGhNTFJvd0VsZW1lbnQKIG1zdWJzdXAgaW50ZXJmYWNlTmFtZT1NYXRoTUxTY3JpcHRzRWxlbWVu
dAotbWVycm9yIGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbWVy
cm9yIGludGVyZmFjZU5hbWU9TWF0aE1MUm93RWxlbWVudAogbXBhZGRlZCBpbnRlcmZhY2VOYW1l
PU1hdGhNTFBhZGRlZEVsZW1lbnQKLW1waGFudG9tIGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5l
Q29udGFpbmVyRWxlbWVudAotbXJvdyBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQKLW1zdHlsZSBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1l
bnQKK21waGFudG9tIGludGVyZmFjZU5hbWU9TWF0aE1MUm93RWxlbWVudAorbXJvdyBpbnRlcmZh
Y2VOYW1lPU1hdGhNTFJvd0VsZW1lbnQKK21zdHlsZSBpbnRlcmZhY2VOYW1lPU1hdGhNTFJvd0Vs
ZW1lbnQKIG1vdmVyIGludGVyZmFjZU5hbWU9TWF0aE1MVW5kZXJPdmVyRWxlbWVudAogbXVuZGVy
IGludGVyZmFjZU5hbWU9TWF0aE1MVW5kZXJPdmVyRWxlbWVudAogbXVuZGVyb3ZlciBpbnRlcmZh
Y2VOYW1lPU1hdGhNTFVuZGVyT3ZlckVsZW1lbnQKLW1zcXJ0IGludGVyZmFjZU5hbWU9TWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudAotbXJvb3QgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50Cittc3FydCBpbnRlcmZhY2VOYW1lPU1hdGhNTFJvd0VsZW1lbnQKK21y
b290IGludGVyZmFjZU5hbWU9TWF0aE1MUm93RWxlbWVudAogbWkgaW50ZXJmYWNlTmFtZT1NYXRo
TUxUb2tlbkVsZW1lbnQKIG1uIGludGVyZmFjZU5hbWU9TWF0aE1MVG9rZW5FbGVtZW50CiBtbyBp
bnRlcmZhY2VOYW1lPU1hdGhNTE9wZXJhdG9yRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwCmluZGV4IDM4Mzcy
MTkuLjFkMTZiNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MRmVuY2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUg
IkZvbnRTZWxlY3Rvci5oIgogI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjaW5jbHVkZSAiTWF0
aE1MUm93RWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJl
bmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgpAQCAt
NDMsNyArNDQsNyBAQCB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CiBzdGF0aWMgY29uc3Qg
Y2hhciogZ09wZW5pbmdCcmFjZUNoYXIgPSAiKCI7CiBzdGF0aWMgY29uc3QgY2hhciogZ0Nsb3Np
bmdCcmFjZUNoYXIgPSAiKSI7CiAKLVJlbmRlck1hdGhNTEZlbmNlZDo6UmVuZGVyTWF0aE1MRmVu
Y2VkKE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYg
c3R5bGUpCitSZW5kZXJNYXRoTUxGZW5jZWQ6OlJlbmRlck1hdGhNTEZlbmNlZChNYXRoTUxSb3dF
bGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogICAgIDogUmVuZGVyTWF0aE1M
Um93KGVsZW1lbnQsIFdURk1vdmUoc3R5bGUpKQogICAgICwgbV9jbG9zZUZlbmNlUmVuZGVyZXIo
bnVsbHB0cikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MRmVuY2VkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTEZlbmNlZC5oCmluZGV4IGY2MjVjZGEuLmRjMGI5ZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuaApAQCAt
MjcsMTYgKzI3LDE2IEBACiAKICNpZiBFTkFCTEUoTUFUSE1MKQogCi0jaW5jbHVkZSAiTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTEZlbmNlZE9w
ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MUm93LmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgTWF0aE1MUm93RWxlbWVudDsKKwogY2xhc3MgUmVuZGVyTWF0aE1MRmVu
Y2VkIGZpbmFsIDogcHVibGljIFJlbmRlck1hdGhNTFJvdyB7CiBwdWJsaWM6Ci0gICAgUmVuZGVy
TWF0aE1MRmVuY2VkKE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQmLCBSZW5kZXJTdHlsZSYm
KTsKLSAgICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50JiBlbGVtZW50KCkgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCY+KG5vZGVGb3JOb25Bbm9u
eW1vdXMoKSk7IH0KKyAgICBSZW5kZXJNYXRoTUxGZW5jZWQoTWF0aE1MUm93RWxlbWVudCYsIFJl
bmRlclN0eWxlJiYpOwogCiBwcml2YXRlOgogICAgIGJvb2wgaXNSZW5kZXJNYXRoTUxGZW5jZWQo
KSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1hdGguY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxNYXRoLmNwcAppbmRleCBlOTJjYTdmLi5lNzU1
YTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTE1hdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVy
TWF0aE1MTWF0aC5jcHAKQEAgLTMwLDEyICszMCwxMyBAQAogI2luY2x1ZGUgIlJlbmRlck1hdGhN
TE1hdGguaCIKIAogI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjaW5jbHVkZSAiTWF0aE1MUm93
RWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBNYXRo
TUxOYW1lczsKIAotUmVuZGVyTWF0aE1MTWF0aDo6UmVuZGVyTWF0aE1MTWF0aChFbGVtZW50JiBl
bGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQorUmVuZGVyTWF0aE1MTWF0aDo6UmVuZGVyTWF0
aE1MTWF0aChNYXRoTUxSb3dFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQog
ICAgIDogUmVuZGVyTWF0aE1MUm93KGVsZW1lbnQsIFdURk1vdmUoc3R5bGUpKQogewogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxNYXRo
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1hdGguaApp
bmRleCA5ZTJiM2ZhLi4xMWNjNzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTE1hdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTE1hdGguaApAQCAtMzEsOSArMzEsMTEgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBNYXRoTUxSb3dFbGVtZW50OworCiBjbGFzcyBSZW5kZXJN
YXRoTUxNYXRoIGZpbmFsIDogcHVibGljIFJlbmRlck1hdGhNTFJvdyB7CiBwdWJsaWM6Ci0gICAg
UmVuZGVyTWF0aE1MTWF0aChFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7CisgICAgUmVuZGVyTWF0
aE1MTWF0aChNYXRoTUxSb3dFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7CiAKIHByaXZhdGU6CiAg
ICAgYm9vbCBpc1JlbmRlck1hdGhNTE1hdGgoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TE1lbmNsb3NlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MTWVuY2xvc2UuY3BwCmluZGV4IDk3NGRlMGIuLjdhNGRiYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MTWVuY2xvc2UuY3Bw
CkBAIC00Miw3ICs0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKIC8vIEZvciBu
b3csIHdlIHVzZSBhIEJlemllciBjdXJ2ZSBhbmQgdGhpcyBzb21ld2hhdCBhcmJpdHJhcnkgdmFs
dWUuCiBjb25zdCB1bnNpZ25lZCBzaG9ydCBsb25nRGl2TGVmdFNwYWNlID0gMTA7CiAKLVJlbmRl
ck1hdGhNTE1lbmNsb3NlOjpSZW5kZXJNYXRoTUxNZW5jbG9zZShFbGVtZW50JiBlbGVtZW50LCBS
ZW5kZXJTdHlsZSYmIHN0eWxlKQorUmVuZGVyTWF0aE1MTWVuY2xvc2U6OlJlbmRlck1hdGhNTE1l
bmNsb3NlKE1hdGhNTE1lbmNsb3NlRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHls
ZSkKICAgICA6IFJlbmRlck1hdGhNTFJvdyhlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSkKICAgICAs
IG1fYXNjZW50KDApCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTE1lbmNsb3NlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTE1lbmNsb3NlLmgKaW5kZXggNjg1ZDllOC4uMzA4NTkyNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxNZW5jbG9z
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MTWVu
Y2xvc2UuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJl
bmRlck1hdGhNTE1lbmNsb3NlIGZpbmFsOiBwdWJsaWMgUmVuZGVyTWF0aE1MUm93IHsKIHB1Ymxp
YzoKLSAgICBSZW5kZXJNYXRoTUxNZW5jbG9zZShFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7Cisg
ICAgUmVuZGVyTWF0aE1MTWVuY2xvc2UoTWF0aE1MTWVuY2xvc2VFbGVtZW50JiwgUmVuZGVyU3R5
bGUmJik7CiAKIHByaXZhdGU6CiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuICJSZW5kZXJNYXRoTUxNZW5jbG9zZSI7IH0KQEAgLTQ0LDcgKzQ0LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jikg
ZmluYWw7CiAKICAgICBMYXlvdXRVbml0IHJ1bGVUaGlja25lc3MoKSBjb25zdDsKLSAgICBib29s
IGhhc05vdGF0aW9uKE1hdGhNTE1lbmNsb3NlRWxlbWVudDo6TWVuY2xvc2VOb3RhdGlvbkZsYWcg
bm90YXRpb25GbGFnKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxNYXRoTUxNZW5jbG9zZUVsZW1l
bnQ+KGVsZW1lbnQoKSktPmhhc05vdGF0aW9uKG5vdGF0aW9uRmxhZyk7IH0KKyAgICBib29sIGhh
c05vdGF0aW9uKE1hdGhNTE1lbmNsb3NlRWxlbWVudDo6TWVuY2xvc2VOb3RhdGlvbkZsYWcgbm90
YXRpb25GbGFnKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxNYXRoTUxNZW5jbG9zZUVsZW1lbnQ+
KGVsZW1lbnQoKSkuaGFzTm90YXRpb24obm90YXRpb25GbGFnKTsgfQogCiAgICAgdm9pZCBnZXRT
cGFjZUFyb3VuZENvbnRlbnQoTGF5b3V0VW5pdCBjb250ZW50V2lkdGgsIExheW91dFVuaXQgY29u
dGVudEhlaWdodCwgTGF5b3V0VW5pdCYgbGVmdFNwYWNlLCBMYXlvdXRVbml0JiByaWdodFNwYWNl
LCBMYXlvdXRVbml0JiB0b3BTcGFjZSwgTGF5b3V0VW5pdCYgYm90dG9tU3BhY2UpIGNvbnN0Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TFJvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxS
b290LmNwcAppbmRleCBkYTkxNTRlLi40M2NkZDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5jcHAKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIK
ICNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgorI2luY2x1ZGUgIk1hdGhNTFJvd0VsZW1lbnQuaCIK
ICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRlICJSZW5kZXJJdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIlJlbmRlck1hdGhNTE1lbmNsb3NlLmgiCkBAIC00Myw3ICs0NCw3IEBAIHN0YXRpYyBj
b25zdCBVQ2hhciBnUmFkaWNhbENoYXJhY3RlciA9IDB4MjIxQTsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1SZW5kZXJNYXRoTUxSb290OjpSZW5kZXJNYXRoTUxSb290KEVsZW1lbnQmIGVsZW1l
bnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCitSZW5kZXJNYXRoTUxSb290OjpSZW5kZXJNYXRoTUxS
b290KE1hdGhNTFJvd0VsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiAgICAg
OiBSZW5kZXJNYXRoTUxSb3coZWxlbWVudCwgV1RGTW92ZShzdHlsZSkpCiB7CiAgICAgLy8gRGV0
ZXJtaW5lIHdoYXQga2luZCBvZiBleHByZXNzaW9uIHdlIGhhdmUgYnkgZWxlbWVudCBuYW1lCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJv
b3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5o
CmluZGV4IGQzYWFlYzEuLjBkZWUxMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5oCkBAIC0zNCwxMSArMzQsMTMgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBNYXRoTUxSb3dFbGVtZW50OworCiAvLyBSZW5kZXIg
YmFzZV4oMS9pbmRleCksIG9yIHNxcnQoYmFzZSkgdXNpbmcgcmFkaWNhbCBub3RhdGlvbi4KIGNs
YXNzIFJlbmRlck1hdGhNTFJvb3QgZmluYWwgOiBwdWJsaWMgUmVuZGVyTWF0aE1MUm93IHsKIAog
cHVibGljOgotICAgIFJlbmRlck1hdGhNTFJvb3QoRWxlbWVudCYsIFJlbmRlclN0eWxlJiYpOwor
ICAgIFJlbmRlck1hdGhNTFJvb3QoTWF0aE1MUm93RWxlbWVudCYsIFJlbmRlclN0eWxlJiYpOwog
ICAgIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKSBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZVN0eWxl
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVy
TWF0aE1MUm93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MUm93LmNwcAppbmRleCBiNWZjMjRiLi5kNzUwZmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuY3BwCkBAIC0zMSw2ICszMSw3
IEBACiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MUm93LmgiCiAKICNpbmNsdWRlICJNYXRoTUxOYW1l
cy5oIgorI2luY2x1ZGUgIk1hdGhNTFJvd0VsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJJdGVy
YXRvci5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTE9wZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyTWF0aE1MUm9vdC5oIgpAQCAtMzksMTEgKzQwLDE2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwogCi1SZW5kZXJNYXRoTUxSb3c6OlJlbmRl
ck1hdGhNTFJvdyhFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQorUmVuZGVy
TWF0aE1MUm93OjpSZW5kZXJNYXRoTUxSb3coTWF0aE1MUm93RWxlbWVudCYgZWxlbWVudCwgUmVu
ZGVyU3R5bGUmJiBzdHlsZSkKICAgICA6IFJlbmRlck1hdGhNTEJsb2NrKGVsZW1lbnQsIFdURk1v
dmUoc3R5bGUpKQogewogfQogCitNYXRoTUxSb3dFbGVtZW50JiBSZW5kZXJNYXRoTUxSb3c6OmVs
ZW1lbnQoKSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxNYXRoTUxSb3dFbGVtZW50
Jj4obm9kZUZvck5vbkFub255bW91cygpKTsKK30KKwogT3B0aW9uYWw8aW50PiBSZW5kZXJNYXRo
TUxSb3c6OmZpcnN0TGluZUJhc2VsaW5lKCkgY29uc3QKIHsKICAgICBhdXRvKiBiYXNlbGluZUNo
aWxkID0gZmlyc3RDaGlsZEJveCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MUm93LmgKaW5kZXggYzdkZTEzMC4uMjg5NDIxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5oCkBAIC0z
Miw5ICszMiwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIE1hdGhNTFJvd0Vs
ZW1lbnQ7CisKIGNsYXNzIFJlbmRlck1hdGhNTFJvdyA6IHB1YmxpYyBSZW5kZXJNYXRoTUxCbG9j
ayB7CiBwdWJsaWM6Ci0gICAgUmVuZGVyTWF0aE1MUm93KEVsZW1lbnQmLCBSZW5kZXJTdHlsZSYm
KTsKKyAgICBSZW5kZXJNYXRoTUxSb3coTWF0aE1MUm93RWxlbWVudCYsIFJlbmRlclN0eWxlJiYp
OworICAgIE1hdGhNTFJvd0VsZW1lbnQmIGVsZW1lbnQoKSBjb25zdDsKIAogcHJvdGVjdGVkOgog
ICAgIHZvaWQgbGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0IHBh
Z2VMb2dpY2FsSGVpZ2h0ID0gMCkgb3ZlcnJpZGU7Ci0tIAoyLjguMQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>