<?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>220058</bug_id>
          
          <creation_ts>2020-12-21 09:23:32 -0800</creation_ts>
          <short_desc>Unmuting a track in case of end of interruption by another web process tab is not working well with capture muting icons</short_desc>
          <delta_ts>2021-01-13 07:52:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>220591</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1716012</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-21 09:23:32 -0800</bug_when>
    <thetext>Unmuting a track in case of end of interruption by another web process tab is not working well with capture muting icons</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716018</commentid>
    <comment_count>1</comment_count>
      <attachid>416606</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-21 09:58:05 -0800</bug_when>
    <thetext>Created attachment 416606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716775</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-28 09:24:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/72705675&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717295</commentid>
    <comment_count>3</comment_count>
      <attachid>416998</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-05 05:48:53 -0800</bug_when>
    <thetext>Created attachment 416998
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718821</commentid>
    <comment_count>4</comment_count>
      <attachid>416998</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-01-11 14:25:06 -0800</bug_when>
    <thetext>Comment on attachment 416998
Patch

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

&gt; Source/WebCore/ChangeLog:20
&gt; +        When an interruption ends, all capture tracks are updated accorsing the page muted state, which is controlled by UIProcess.

s/updated accorsing the page/updated according to the page/

&gt; Source/WebKit/ChangeLog:172
&gt; -2020-12-22  Youenn Fablet  &lt;youenn@apple.com&gt;
&gt; +2020-12-21  Youenn Fablet  &lt;youenn@apple.com&gt;

Is this change intentional?

&gt; Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:487
&gt; +        // We can only have one source at a time: we can mute all tracks but unmute only one of them.

Nit: this and the comment below are duplicated in the audio and video loops, they could be moved up above instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718967</commentid>
    <comment_count>5</comment_count>
      <attachid>417445</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-12 05:09:55 -0800</bug_when>
    <thetext>Created attachment 417445
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718984</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-12 06:34:33 -0800</bug_when>
    <thetext>Committed r271401: &lt;https://trac.webkit.org/changeset/271401&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417445.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719281</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-01-13 07:52:01 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 220591</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416606</attachid>
            <date>2020-12-21 09:58:05 -0800</date>
            <delta_ts>2021-01-05 05:48:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220058-20201221185803.patch</filename>
            <type>text/plain</type>
            <size>16473</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDUwN2Q0YTkwNzUxYzQz
YTM1Y2Q4ZDI1ZDA3OTA3ZTU4NmMyNzI2MC4uZDViNTdiMDgzYmJhZWZhNzI4NjI3ZjQ1ZDZmY2Qw
MzljOGI0YWM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIwLTEyLTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVbm11dGluZyBhIHRyYWNr
IGluIGNhc2Ugb2YgZW5kIG9mIGludGVycnVwdGlvbiBieSBhbm90aGVyIHdlYiBwcm9jZXNzIHRh
YiBpcyBub3Qgd29ya2luZyB3ZWxsIHdpdGggY2FwdHVyZSBtdXRpbmcgaWNvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDA1OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJlZm9yZSB0aGUgcGF0Y2gs
IHdlIHdlcmUgbXV0aW5nIGFsbCB0cmFja3MgaW4gY2FzZSBvZiBBdWRpbyBTZXNzaW9uIGludGVy
cnVwdGlvbi4KKyAgICAgICAgVGhpcyB3b3JrcyB3ZWxsIGluIGNhc2UgYW5vdGhlciBhcHBsaWNh
dGlvbiB0cmlnZ2VycyB0aGUgaW50ZXJydXB0aW9uLgorCisgICAgICAgIEluIGNhc2UgdGhlIGlu
dGVycnVwdGlvbiBpcyBkb25lIGJ5IGFub3RoZXIgdGFiLCB0aGlzIGRvZXMgbm90IHdvcmsgd2Vs
bCBmb3IgdHdvIHJlYXNvbnM6CisgICAgICAgIC0gVGhlIFVJUHJvY2VzcyBpcyBkb2luZyB0aGUg
d29yayBvZiBtdXRpbmcgdGhlIHRyYWNrcyB3aGVuIGFub3RoZXIgdGFiIGlzIHN0YXJ0aW5nIHRv
IGNhcHR1cmUKKyAgICAgICAgLSBVbm11dGluZyBpbiBjYXNlIG9mIGludGVycnVwdGlvbiBtaWdo
dCB1bm11dGUgc2V2ZXJhbCB0YWJzIGlmIHRoZXkgYXJlIGluIHRoZSBzYW1lIHByb2Nlc3MKKyAg
ICAgICAgQXMgYW4gZXhhbXBsZSwgaWYgYSB0YWIgaXMgY2FwdHVyaW5nLCBhbmQgYW5vdGhlciB0
YWIgc3RhcnRzIHRvIGNhcHR1cmUsIGdvaW5nIGJhY2sgdG8gZmlyc3QgdGFiIHdpbGwgYXV0b21h
dGljYWxseQorICAgICAgICByZXN0YXJ0IHRoZSBhdWRpbyBjYXB0dXJlIGFzIHRoZSBBdWRpbyBT
ZXNzaW9uIHdpbGwgZW5kIGl0cyBpbnRlcnJ1cHRpb24uIEJ1dCBpdCB3aWxsIG5vdCBtdXRlIHRo
ZSBjYW1lcmEgdHJhY2suCisKKyAgICAgICAgVG8gZml4IHRoYXQsIHRoZSBBdWRpbyBTaGFyZWQg
VW5pdCBpcyBubyBsb25nZXIgZGlyZWN0bHkgbXV0aW5nIG9yIHVubXV0aW5nIHRoZSBhdWRpbyB0
cmFja3MuCisgICAgICAgIEluc3RlYWQsIGVhY2ggcGFnZSBpcyBub3RpZmllZCBvZiBzdGFydC9l
bmQgb2YgQXVkaW9TZXNzaW9uIGludGVycnVwdGlvbi4KKyAgICAgICAgV2hlbiBhbiBpbnRlcnJ1
cHRpb24gc3RhcnRzLCBhbGwgY2FwdHVyZSB0cmFja3MgYXJlIG11dGVkLgorICAgICAgICBXaGVu
IGFuIGludGVycnVwdGlvbiBlbmRzLCBhbGwgY2FwdHVyZSB0cmFja3MgYXJlIHVwZGF0ZWQgYWNj
b3JzaW5nIHRoZSBwYWdlIG11dGVkIHN0YXRlLCB3aGljaCBpcyBjb250cm9sbGVkIGJ5IFVJUHJv
Y2Vzcy4KKyAgICAgICAgVGhpcyBhbHNvIGNvdmVycyB0aGUgY2FzZSBvZiBzZXZlcmFsIHRhYnMg
Y2FwdHVyaW5nIGluIHRoZSBzYW1lIHByb2Nlc3MsIHNpbmNlIG9ubHkgb25lIHRhYiB3aWxsIG5v
dCBiZSBzZXQgYXMgbXV0ZWQgYnkgVUlQcm9jZXNzLgorCisgICAgICAgIEluIGNhc2Ugb2Ygc2V2
ZXJhbCBjYXB0dXJlIE1lZGlhU3RyZWFtVHJhY2sgaW4gdGhlIHNhbWUgZG9jdW1lbnQgYW5kIHRo
ZXkgYXJlIG5vdCB0aGUgYWN0aXZlIHNvdXJjZSwgd2UgcGljayB0aGUgZmlyc3Qgb25lIGFzIHRo
ZXJlIGlzCisgICAgICAgIG5vIHdheSB0byBrbm93IHdoaWNoIG9uZSB3YXMgdGhlIGxhc3QgdW5t
dXRlZCBvbmUuCisgICAgICAgIFdlIHNob3VsZCBwcm9iYWJseSBhZGQgc29tZSBzdXBwb3J0IHRv
IGFsd2F5cyByZW1lbWJlciB0aGUgbGFzdCBsaXZpbmcgdHJhY2sgb2YgYSB0YWIgaW4gaU9TLgor
CisgICAgICAgIE1hbnVhbGx5IHRlc3RlZC4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRy
YWNrOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6dXBkYXRl
Q2FwdHVyZUFjY29yZGluZ1RvTXV0ZWRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbVRyYWNrOjp1cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnZpc2liaWxpdHlTdGF0ZUNoYW5nZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBhZ2VNdXRlZFN0YXRlRGlkQ2hhbmdlKToKKyAg
ICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6YmVnaW5BdWRp
b0NhcHR1cmVJbnRlcnJ1cHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZW5kQXVkaW9D
YXB0dXJlSW50ZXJydXB0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpCYXNlQXVkaW9TaGFyZWRVbml0OjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29y
ZTo6QmFzZUF1ZGlvU2hhcmVkVW5pdDo6c3VzcGVuZCk6CisKIDIwMjAtMTItMjEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIERvIGV4dGVuc2l2ZSBz
ZWFyY2ggZm9yIG1pY3JvcGhvbmUgZGV2aWNlcyB3aGVuIHRyeWluZyB0byBjYXB0dXJlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDQ3MmFjMzQ4NDBmMTg5NzNkMTc1Yzk1ZDIzODMxZDU5ZDFlMWJjNzYuLjk1ODY2MTEz
Yjk3MjkxNDA0YzMxZTk2ZTM0ZWI5ZTUxYzFmYzFiMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMjAtMTItMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAg
ICAgIFVubXV0aW5nIGEgdHJhY2sgaW4gY2FzZSBvZiBlbmQgb2YgaW50ZXJydXB0aW9uIGJ5IGFu
b3RoZXIgd2ViIHByb2Nlc3MgdGFiIGlzIG5vdCB3b3JraW5nIHdlbGwgd2l0aCBjYXB0dXJlIG11
dGluZyBpY29ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIwMDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGFuIG9ic2VydmVyIG9mIEF1ZGlvU2Vzc2lvbiBpbnRlcnJ1cHRpb25zIHRoYXQgZm9y
d2FyZHMgdGhlIHNpZ25hbCB0byBhbGwgdGFicyBvZiB0aGUgcHJvY2Vzcy4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktp
dDo6UGFnZUF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk9ic2VydmVyOjpQYWdlQXVkaW9TZXNzaW9u
SW50ZXJydXB0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQXVkaW9TZXNzaW9u
SW50ZXJydXB0aW9uT2JzZXJ2ZXI6On5QYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2
ZXIpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2
ZXI6OmJlZ2luQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGFn
ZUF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk9ic2VydmVyOjplbmRBdWRpb1Nlc3Npb25JbnRlcnJ1
cHRpb24pOgorICAgICAgICAoV2ViS2l0OjpsaXN0ZW5Ub0F1ZGlvU2Vzc2lvbkludGVycnVwdGlv
bik6CisKIDIwMjAtMTItMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpT1NdIERvIGV4dGVuc2l2ZSBzZWFyY2ggZm9yIG1pY3JvcGhvbmUgZGV2aWNlcyB3
aGVuIHRyeWluZyB0byBjYXB0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCAxNjgzNmUwZWEzNTU2ODUy
NjFjZDgzMTVkYmFmMzA4ODZmZGY1MzA5Li4xODEwMmRjZjQ2Y2M0N2VmMmY3ODMzZDZhMmY0ZTgz
MjU2OTBkYjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTcxLDggKzcxLDEwIEBAIFJlZjxNZWRpYVN0
cmVhbVRyYWNrPiBNZWRpYVN0cmVhbVRyYWNrOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwKICAgICBhdXRvIHRyYWNrID0gYWRvcHRSZWYoKm5ldyBNZWRpYVN0cmVhbVRy
YWNrKGNvbnRleHQsIFdURk1vdmUocHJpdmF0ZVRyYWNrKSkpOwogICAgIHRyYWNrLT5zdXNwZW5k
SWZOZWVkZWQoKTsKIAotICAgIGlmICh0cmFjay0+aXNDYXB0dXJlVHJhY2soKSkKLSAgICAgICAg
dHJhY2stPnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUoKTsKKyAgICBpZiAodHJhY2stPmlzQ2FwdHVy
ZVRyYWNrKCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIHBhZ2UgPSB0cmFjay0+ZG9jdW1lbnQoKS0+
cGFnZSgpKQorICAgICAgICAgICAgdHJhY2stPnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUocGFnZS0+
bXV0ZWRTdGF0ZSgpKTsKKyAgICB9CiAKICAgICByZXR1cm4gdHJhY2s7CiB9CkBAIC00NjMsNDcg
KzQ2NSw2NCBAQCBzdGF0aWMgYm9vbCBpc1NvdXJjZUNhcHR1cmluZ0ZvclRyYWNrSW5Eb2N1bWVu
dChSZWFsdGltZU1lZGlhU291cmNlJiBzb3VyY2UsIERvYwogfQogI2VuZGlmCiAKLXZvaWQgTWVk
aWFTdHJlYW1UcmFjazo6dXBkYXRlQ2FwdHVyZUFjY29yZGluZ1RvTXV0ZWRTdGF0ZShEb2N1bWVu
dCYgZG9jdW1lbnQpCit2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvcmRp
bmdUb011dGVkU3RhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0
YXRlRmxhZ3MgbXV0ZWRTdGF0ZSkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGF1
dG8qIHBhZ2UgPSBkb2N1bWVudC5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1
cm47CiAKKyAgICBib29sIHBhZ2VNdXRlZCA9IG11dGVkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpB
dWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisKICAgICBhdXRvKiBhY3RpdmVBdWRpb1NvdXJj
ZSA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZh
Y3RvcnkoKS5hY3RpdmVTb3VyY2UoKTsKLSAgICBpZiAoYWN0aXZlQXVkaW9Tb3VyY2UgJiYgaXNT
b3VyY2VDYXB0dXJpbmdGb3JUcmFja0luRG9jdW1lbnQoKmFjdGl2ZUF1ZGlvU291cmNlLCBkb2N1
bWVudCkpIHsKLSAgICAgICAgYm9vbCBwYWdlTXV0ZWQgPSBwYWdlLT5tdXRlZFN0YXRlKCkgJiBN
ZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAgaWYgKGFjdGl2
ZUF1ZGlvU291cmNlICYmIGlzU291cmNlQ2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3Rp
dmVBdWRpb1NvdXJjZSwgZG9jdW1lbnQpKQogICAgICAgICBhY3RpdmVBdWRpb1NvdXJjZS0+c2V0
TXV0ZWQocGFnZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBkb2N1bWVudC5zZXR0aW5n
cygpLmludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOworICAg
IGVsc2UgeworICAgICAgICAvLyBXZSBjYW4gb25seSBoYXZlIG9uZSBzb3VyY2UgYXQgYSB0aW1l
LCBzbyB3aGlsZSB3ZSBjYW4gbXV0ZSBhbGwgdHJhY2tzLCB3ZSBjYW4gYWN0dWFsbHkgdW5tdXRl
IG9ubHkgb25lIG9mIHRoZW0uCisgICAgICAgIGZvciAoYXV0byogY2FwdHVyZVRyYWNrIDogYWxs
Q2FwdHVyZVRyYWNrcygpKSB7CisgICAgICAgICAgICBpZiAoY2FwdHVyZVRyYWNrLT5kb2N1bWVu
dCgpICE9ICZkb2N1bWVudCB8fCBjYXB0dXJlVHJhY2stPmVuZGVkKCkgfHwgY2FwdHVyZVRyYWNr
LT5zb3VyY2UoKS5kZXZpY2VUeXBlKCkgIT0gQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWlj
cm9waG9uZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGNhcHR1cmVU
cmFjay0+bV9wcml2YXRlLT5zZXRNdXRlZChwYWdlTXV0ZWQpOworICAgICAgICAgICAgLy8gSWYg
d2UgYXJlIHVubXV0aW5nLCB3ZSB1bm11dGUgdGhlIGZpcnN0IHNvdXJjZSBvZiB0aGUgZG9jdW1l
bnQgd2Uga25vdy4KKyAgICAgICAgICAgIGlmICghcGFnZU11dGVkKQorICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CiAgICAgfQogCiAgICAgYXV0byogYWN0aXZlVmlkZW9Tb3VyY2Ug
PSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS52aWRlb0NhcHR1cmVGYWN0
b3J5KCkuYWN0aXZlU291cmNlKCk7Ci0gICAgaWYgKGFjdGl2ZVZpZGVvU291cmNlICYmIGlzU291
cmNlQ2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVWaWRlb1NvdXJjZSwgZG9jdW1l
bnQpKSB7Ci0gICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVk
aWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkOworICAgIGlmIChhY3RpdmVW
aWRlb1NvdXJjZSAmJiBpc1NvdXJjZUNhcHR1cmluZ0ZvclRyYWNrSW5Eb2N1bWVudCgqYWN0aXZl
VmlkZW9Tb3VyY2UsIGRvY3VtZW50KSkKICAgICAgICAgYWN0aXZlVmlkZW9Tb3VyY2UtPnNldE11
dGVkKHBhZ2VNdXRlZCB8fCBkb2N1bWVudC5oaWRkZW4oKSk7CisgICAgZWxzZSB7CisgICAgICAg
IC8vIFdlIGNhbiBvbmx5IGhhdmUgb25lIHNvdXJjZSBhdCBhIHRpbWUsIHNvIHdoaWxlIHdlIGNh
biBtdXRlIGFsbCB0cmFja3MsIHdlIGNhbiBhY3R1YWxseSB1bm11dGUgb25seSBvbmUgb2YgdGhl
bS4KKyAgICAgICAgZm9yIChhdXRvKiBjYXB0dXJlVHJhY2sgOiBhbGxDYXB0dXJlVHJhY2tzKCkp
IHsKKyAgICAgICAgICAgIGlmIChjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgIT0gJmRvY3VtZW50
IHx8IGNhcHR1cmVUcmFjay0+ZW5kZWQoKSB8fCBjYXB0dXJlVHJhY2stPnNvdXJjZSgpLmRldmlj
ZVR5cGUoKSAhPSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmEpCisgICAgICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgICAgICBjYXB0dXJlVHJhY2stPm1fcHJpdmF0ZS0+c2V0
TXV0ZWQocGFnZU11dGVkKTsKKyAgICAgICAgICAgIC8vIElmIHdlIGFyZSB1bm11dGluZywgd2Ug
dW5tdXRlIHRoZSBmaXJzdCBzb3VyY2Ugb2YgdGhlIGRvY3VtZW50IHdlIGtub3cuCisgICAgICAg
ICAgICBpZiAoIXBhZ2VNdXRlZCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQog
ICAgIH0KICNlbHNlCiAgICAgZm9yIChhdXRvKiBjYXB0dXJlVHJhY2sgOiBhbGxDYXB0dXJlVHJh
Y2tzKCkpIHsKICAgICAgICAgaWYgKGNhcHR1cmVUcmFjay0+ZG9jdW1lbnQoKSA9PSAmZG9jdW1l
bnQgJiYgIWNhcHR1cmVUcmFjay0+ZW5kZWQoKSkKLSAgICAgICAgICAgIGNhcHR1cmVUcmFjay0+
dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSgpOworICAgICAgICAgICAgY2FwdHVyZVRyYWNrLT51cGRh
dGVUb1BhZ2VNdXRlZFN0YXRlKG11dGVkU3RhdGUpOwogICAgIH0KICNlbmRpZgogfQogCi12b2lk
IE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUoKQordm9pZCBNZWRpYVN0
cmVhbVRyYWNrOjp1cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3Rh
dGVGbGFncyBtdXRlZFN0YXRlKQogewogICAgIEFTU0VSVChpc0NhcHR1cmVUcmFjaygpKTsKLSAg
ICBhdXRvKiBwYWdlID0gZG9jdW1lbnQoKS0+cGFnZSgpOwotICAgIGlmICghcGFnZSkKLSAgICAg
ICAgcmV0dXJuOwogCiAgICAgc3dpdGNoIChzb3VyY2UoKS5kZXZpY2VUeXBlKCkpIHsKICAgICBj
YXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1pY3JvcGhvbmU6CiAgICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6Ci0gICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0
ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1
cmVJc011dGVkKTsKKyAgICAgICAgbV9wcml2YXRlLT5zZXRNdXRlZChtdXRlZFN0YXRlICYgTWVk
aWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW46CiAgICAgY2FzZSBD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6Ci0gICAgICAgIG1fcHJpdmF0ZS0+c2V0
TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZUlz
TXV0ZWQpOworICAgICAgICBtX3ByaXZhdGUtPnNldE11dGVkKG11dGVkU3RhdGUgJiBNZWRpYVBy
b2R1Y2VyOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICBjYXNlIENhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGU6OlVua25vd246CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCmluZGV4IGIwMGYwNDkzMzIwZGE4ZTlh
NTA0ZWU1NmRhZjU4ZTIwN2NjMTFjOTYuLjNlN2YxMjcyMzU0MDhkYjQxZDFlMTZjMWE0NzliZWRj
MzEwZWRkMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFjay5oCkBAIC03Miw3ICs3Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBlbmRDYXB0dXJlKERvY3VtZW50Jik7CiAKICAgICBzdGF0aWMgTWVkaWFQcm9kdWNl
cjo6TWVkaWFTdGF0ZUZsYWdzIGNhcHR1cmVTdGF0ZShEb2N1bWVudCYpOwotICAgIHN0YXRpYyB2
b2lkIHVwZGF0ZUNhcHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUoRG9jdW1lbnQmKTsKKyAgICBz
dGF0aWMgdm9pZCB1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRlKERvY3VtZW50Jiwg
TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzKTsKIAogICAgIHZpcnR1YWwgYm9vbCBpc0Nh
bnZhcygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTE2OCw3ICsxNjgsNyBAQCBwcml2
YXRlOgogICAgIGV4cGxpY2l0IE1lZGlhU3RyZWFtVHJhY2soTWVkaWFTdHJlYW1UcmFjayYpOwog
CiAgICAgdm9pZCBjb25maWd1cmVUcmFja1JlbmRlcmluZygpOwotICAgIHZvaWQgdXBkYXRlVG9Q
YWdlTXV0ZWRTdGF0ZSgpOworICAgIHZvaWQgdXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZShNZWRpYVBy
b2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MpOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4K
ICAgICB2b2lkIHN0b3AoKSBmaW5hbCB7IHN0b3BUcmFjaygpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCAwYzYzMDI3M2E5NjgwNjkyODliYWVmYmVjMzcyNGFkNGQwOTE3NWYwLi5jMmNj
ZWEzMDZkNzQ0M2Q2NThmN2E3YjRlYThiY2UzY2Q3ZTQyMDZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTE3NTcsOSArMTc1NywxMyBAQCB2b2lkIERvY3VtZW50Ojp2aXNpYmlsaXR5U3Rh
dGVDaGFuZ2VkKCkKICAgICAgICAgY2xpZW50LT52aXNpYmlsaXR5U3RhdGVDaGFuZ2VkKCk7CiAK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGF1
dG8qIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47
CisKICAgICBpZiAoYXV0byBtZWRpYVNlc3Npb25NYW5hZ2VyID0gUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkgewogICAgICAgICBpZiAoIW1lZGlh
U2Vzc2lvbk1hbmFnZXItPmlzSW50ZXJydXB0ZWQoKSkKLSAgICAgICAgICAgIE1lZGlhU3RyZWFt
VHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUoKnRoaXMpOworICAgICAg
ICAgICAgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlQ2FwdHVyZUFjY29yZGluZ1RvTXV0ZWRTdGF0
ZSgqdGhpcywgcGFnZS0+bXV0ZWRTdGF0ZSgpKTsKICAgICB9CiAjZW5kaWYKIH0KQEAgLTQyNTgs
NyArNDI2Miw3IEBAIHZvaWQgRG9jdW1lbnQ6OnBhZ2VNdXRlZFN0YXRlRGlkQ2hhbmdlKCkKICAg
ICAgICAgYXVkaW9Qcm9kdWNlci5wYWdlTXV0ZWRTdGF0ZURpZENoYW5nZSgpOwogCiAjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKLSAgICBNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNj
b3JkaW5nVG9NdXRlZFN0YXRlKCp0aGlzKTsKKyAgICBNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVD
YXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRlKCp0aGlzLCBwYWdlKCktPm11dGVkU3RhdGUoKSk7
CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggY2U5MTZmOGYyMDkxZjkxY2ZhZmUy
ZTM5ODk1NjcyZWJlZWJkMTg1NS4uYjM3MzNhNzU4YjBjYThhODJkZWM2YWIyZjFlNDc4MWYzZTVm
NDE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC03OSw2ICs3OSw3IEBACiAjaW5jbHVkZSAiTG93
UG93ZXJNb2RlTm90aWZpZXIuaCIKICNpbmNsdWRlICJNZWRpYUNhblN0YXJ0TGlzdGVuZXIuaCIK
ICNpbmNsdWRlICJNZWRpYVJlY29yZGVyUHJvdmlkZXIuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVh
bVRyYWNrLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCiAjaW5jbHVkZSAiUGFnZUNvbmZpZ3Vy
YXRpb24uaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUNsaWVudC5oIgpAQCAtMjA3NCw2ICsyMDc1
LDI0IEBAIHZvaWQgUGFnZTo6c3RvcE1lZGlhQ2FwdHVyZSgpCiAjZW5kaWYKIH0KIAordm9pZCBQ
YWdlOjpiZWdpbkF1ZGlvQ2FwdHVyZUludGVycnVwdGlvbigpCit7CisjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKKyAgICBmb3JFYWNoRG9jdW1lbnQoW211dGVkU3RhdGUgPSBtdXRlZFN0YXRlKCld
KGF1dG8mIGRvY3VtZW50KSB7CisgICAgICAgIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1
cmVBY2NvcmRpbmdUb011dGVkU3RhdGUoZG9jdW1lbnQsIG11dGVkU3RhdGUgfCBNZWRpYVByb2R1
Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQpOworICAgIH0pOworI2VuZGlmCit9CisK
K3ZvaWQgUGFnZTo6ZW5kQXVkaW9DYXB0dXJlSW50ZXJydXB0aW9uKCkKK3sKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQorICAgIGZvckVhY2hEb2N1bWVudChbbXV0ZWRTdGF0ZSA9IG11dGVkU3Rh
dGUoKV0oYXV0byYgZG9jdW1lbnQpIHsKKyAgICAgICAgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRl
Q2FwdHVyZUFjY29yZGluZ1RvTXV0ZWRTdGF0ZShkb2N1bWVudCwgbXV0ZWRTdGF0ZSk7CisgICAg
fSk7CisjZW5kaWYKK30KKwogYm9vbCBQYWdlOjptZWRpYVBsYXliYWNrRXhpc3RzKCkKIHsKICNp
ZiBFTkFCTEUoVklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDFiYjQzMTY1NmRlMjQ2ZjZhNDY2YTk1
MGQ4OGQ1MmFmODlhYzA5YWMuLjdjZGM3MzAxMDI0M2YxZWVkNWNlOTViYWVhYjZhY2I3YjIyNWU1
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC04MzEsNiArODMxLDkgQEAgcHVibGljOgogICAgIGJvb2wg
dGV4dEludGVyYWN0aW9uRW5hYmxlZCgpIHsgcmV0dXJuIG1fdGV4dEludGVyYWN0aW9uRW5hYmxl
ZDsgfQogICAgIHZvaWQgc2V0VGV4dEludGVyYWN0aW9uRW5hYmxlZChib29sIHZhbHVlKSB7IG1f
dGV4dEludGVyYWN0aW9uRW5hYmxlZCA9IHZhbHVlOyB9CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGJlZ2luQXVkaW9DYXB0dXJlSW50ZXJydXB0aW9uKCk7CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBlbmRBdWRpb0NhcHR1cmVJbnRlcnJ1cHRpb24oKTsKKwogcHJpdmF0ZToKICAgICBzdHJ1
Y3QgTmF2aWdhdGlvbiB7CiAgICAgICAgIFJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9T
aGFyZWRVbml0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9C
YXNlQXVkaW9TaGFyZWRVbml0LmNwcAppbmRleCA5ZmM1ZmY1MGE2NTYyMzljOTVlNDExMGZjNjU2
ZDk0ODQxNGMxM2Y1Li5jZDZiNWQzYTEyNGYyMDM0ZWNjMzZiZDY2YWU2NDk3ZmUzOTg0ZWJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1
ZGlvU2hhcmVkVW5pdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuY3BwCkBAIC0xODMsMTMgKzE4Myw2IEBAIE9TU3Rh
dHVzIEJhc2VBdWRpb1NoYXJlZFVuaXQ6OnJlc3VtZSgpCiAgICAgICAgIG1fbmVlZHNSZWNvbmZp
Z3VyYXRpb24gPSBmYWxzZTsKICAgICAgICAgcmVjb25maWd1cmUoKTsKICAgICB9Ci0KLSAgICBB
U1NFUlQoIW1fcHJvZHVjaW5nQ291bnQpOwotCi0gICAgZm9yRWFjaENsaWVudChbXShhdXRvJiBj
bGllbnQpIHsKLSAgICAgICAgY2xpZW50LnNldE11dGVkKGZhbHNlKTsKLSAgICB9KTsKLQogICAg
IHJldHVybiAwOwogfQogCkBAIC0yMDEsMTMgKzE5NCw2IEBAIE9TU3RhdHVzIEJhc2VBdWRpb1No
YXJlZFVuaXQ6OnN1c3BlbmQoKQogCiAgICAgbV9zdXNwZW5kZWQgPSB0cnVlOwogICAgIHN0b3BJ
bnRlcm5hbCgpOwotCi0gICAgZm9yRWFjaENsaWVudChbXShhdXRvJiBjbGllbnQpIHsKLSAgICAg
ICAgY2xpZW50LnNldE11dGVkKHRydWUpOwotICAgIH0pOwotCi0gICAgQVNTRVJUKCFtX3Byb2R1
Y2luZ0NvdW50KTsKLQogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCA4MzQzYjkwNjFmZDc3MDFj
YjkxYTZkNTg5YWQ2NjNmNGU3MjQyM2EyLi4zZWJmYTY0YTQ0NzJhNDdjNTQ0NzI4Y2M2YTBiYmUy
MWM3Y2ViNmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0KQEAgLTU0LDYgKzU0LDcgQEAKICNpbXBvcnQgPEphdmFTY3JpcHRDb3Jl
L09wdGlvbnMuaD4KICNpbXBvcnQgPFdlYkNvcmUvQVZBc3NldE1JTUVUeXBlQ2FjaGUuaD4KICNp
bXBvcnQgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9BdWRpb1Nl
c3Npb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvQ1BVTW9uaXRvci5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9EaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZvbnRD
YWNoZS5oPgpAQCAtMTY3LDYgKzE2OCwxMCBAQCBzdGF0aWMgY29uc3QgU2Vjb25kcyBjcHVNb25p
dG9yaW5nSW50ZXJ2YWwgeyA4X21pbiB9Owogc3RhdGljIGNvbnN0IGRvdWJsZSBzZXJ2aWNlV29y
a2VyQ1BVTGltaXQgeyAwLjUgfTsgLy8gNTAlIGF2ZXJhZ2UgQ1BVIHVzYWdlIG92ZXIgOCBtaW51
dGVzLgogI2VuZGlmCiAKKyNpZiBQTEFURk9STShJT1MpCitzdGF0aWMgdm9pZCBsaXN0ZW5Ub0F1
ZGlvU2Vzc2lvbkludGVycnVwdGlvbigpOworI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzczo6cGxh
dGZvcm1TZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwpCiB7CiB9CkBAIC0zOTEsNiArMzk2LDEwIEBA
IHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhCiAjZW5kaWYKIAogICAgIFdlYkNvcmU6OklPU3VyZmFj
ZTo6c2V0TWF4aW11bVNpemUocGFyYW1ldGVycy5tYXhpbXVtSU9TdXJmYWNlU2l6ZSk7CisKKyNp
ZiBQTEFURk9STShJT1MpCisgICAgbGlzdGVuVG9BdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb24oKTsK
KyNlbmRpZgogfQogCiB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0V2Vic2l0ZURhdGFTdG9y
ZVBhcmFtZXRlcnMoV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQpA
QCAtMTE1Niw2ICsxMTY1LDQ5IEBAIHZvaWQgV2ViUHJvY2Vzczo6d2FpdEZvclBlbmRpbmdQYXN0
ZWJvYXJkV3JpdGVzVG9GaW5pc2goY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkCiAgICAgfQogfQog
CisjaWYgUExBVEZPUk0oSU9TKQorY2xhc3MgUGFnZUF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk9i
c2VydmVyIDogcHVibGljIEF1ZGlvU2Vzc2lvbjo6SW50ZXJydXB0aW9uT2JzZXJ2ZXIgeworcHVi
bGljOgorICAgIFBhZ2VBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PYnNlcnZlcigpOworICAgIH5Q
YWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXIoKTsKKworcHJpdmF0ZToKKyAgICB2
b2lkIGJlZ2luQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uKCkgZmluYWw7CisgICAgdm9pZCBlbmRB
dWRpb1Nlc3Npb25JbnRlcnJ1cHRpb24oV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpNYXlSZXN1bWUp
IGZpbmFsOworfTsKKworUGFnZUF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk9ic2VydmVyOjpQYWdl
QXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXIoKQoreworICAgIEF1ZGlvU2Vzc2lvbjo6
c2hhcmVkU2Vzc2lvbigpLmFkZEludGVycnVwdGlvbk9ic2VydmVyKCp0aGlzKTsKK30KKworUGFn
ZUF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk9ic2VydmVyOjp+UGFnZUF1ZGlvU2Vzc2lvbkludGVy
cnVwdGlvbk9ic2VydmVyKCkKK3sKKyAgICBBdWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKS5y
ZW1vdmVJbnRlcnJ1cHRpb25PYnNlcnZlcigqdGhpcyk7Cit9CisKK3ZvaWQgUGFnZUF1ZGlvU2Vz
c2lvbkludGVycnVwdGlvbk9ic2VydmVyOjpiZWdpbkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbigp
Cit7CisgICAgUGFnZTo6Zm9yRWFjaFBhZ2UoW10oYXV0byYgcGFnZSkgeworICAgICAgICBwYWdl
LmJlZ2luQXVkaW9DYXB0dXJlSW50ZXJydXB0aW9uKCk7CisgICAgfSk7Cit9CisKK3ZvaWQgUGFn
ZUF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk9ic2VydmVyOjplbmRBdWRpb1Nlc3Npb25JbnRlcnJ1
cHRpb24oQXVkaW9TZXNzaW9uOjpNYXlSZXN1bWUgbWF5UmVzdW1lKQoreworICAgIGlmIChtYXlS
ZXN1bWUgPT0gQXVkaW9TZXNzaW9uOjpNYXlSZXN1bWU6Ok5vKQorICAgICAgICByZXR1cm47Cisg
ICAgUGFnZTo6Zm9yRWFjaFBhZ2UoW10oYXV0byYgcGFnZSkgeworICAgICAgICBwYWdlLmVuZEF1
ZGlvQ2FwdHVyZUludGVycnVwdGlvbigpOworICAgIH0pOworfQorCit2b2lkIGxpc3RlblRvQXVk
aW9TZXNzaW9uSW50ZXJydXB0aW9uKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UGFn
ZUF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk9ic2VydmVyPiBvYnNlcnZlcjsKK30KKyNlbmRpZgor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX1NFU1NJT05fSUQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416998</attachid>
            <date>2021-01-05 05:48:53 -0800</date>
            <delta_ts>2021-01-12 05:08:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220058-20210105144851.patch</filename>
            <type>text/plain</type>
            <size>20813</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJmZWE2MDdkZmZlMjZk
NjFjNTVlOWE1YWNiMDM2NTkyNjZmMmY2OC4uMjM5ODIzZTk3MDA2NzZiNWNiYjgwOTk3ZjVkZGMw
MmFiNDdlYzM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIwLTEyLTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVbm11dGluZyBhIHRyYWNr
IGluIGNhc2Ugb2YgZW5kIG9mIGludGVycnVwdGlvbiBieSBhbm90aGVyIHdlYiBwcm9jZXNzIHRh
YiBpcyBub3Qgd29ya2luZyB3ZWxsIHdpdGggY2FwdHVyZSBtdXRpbmcgaWNvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDA1OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJlZm9yZSB0aGUgcGF0Y2gs
IHdlIHdlcmUgbXV0aW5nIGFsbCB0cmFja3MgaW4gY2FzZSBvZiBBdWRpbyBTZXNzaW9uIGludGVy
cnVwdGlvbi4KKyAgICAgICAgVGhpcyB3b3JrcyB3ZWxsIGluIGNhc2UgYW5vdGhlciBhcHBsaWNh
dGlvbiB0cmlnZ2VycyB0aGUgaW50ZXJydXB0aW9uLgorCisgICAgICAgIEluIGNhc2UgdGhlIGlu
dGVycnVwdGlvbiBpcyBkb25lIGJ5IGFub3RoZXIgdGFiLCB0aGlzIGRvZXMgbm90IHdvcmsgd2Vs
bCBmb3IgdHdvIHJlYXNvbnM6CisgICAgICAgIC0gVGhlIFVJUHJvY2VzcyBpcyBkb2luZyB0aGUg
d29yayBvZiBtdXRpbmcgdGhlIHRyYWNrcyB3aGVuIGFub3RoZXIgdGFiIGlzIHN0YXJ0aW5nIHRv
IGNhcHR1cmUKKyAgICAgICAgLSBVbm11dGluZyBpbiBjYXNlIG9mIGludGVycnVwdGlvbiBtaWdo
dCB1bm11dGUgc2V2ZXJhbCB0YWJzIGlmIHRoZXkgYXJlIGluIHRoZSBzYW1lIHByb2Nlc3MKKyAg
ICAgICAgQXMgYW4gZXhhbXBsZSwgaWYgYSB0YWIgaXMgY2FwdHVyaW5nLCBhbmQgYW5vdGhlciB0
YWIgc3RhcnRzIHRvIGNhcHR1cmUsIGdvaW5nIGJhY2sgdG8gZmlyc3QgdGFiIHdpbGwgYXV0b21h
dGljYWxseQorICAgICAgICByZXN0YXJ0IHRoZSBhdWRpbyBjYXB0dXJlIGFzIHRoZSBBdWRpbyBT
ZXNzaW9uIHdpbGwgZW5kIGl0cyBpbnRlcnJ1cHRpb24uIEJ1dCBpdCB3aWxsIG5vdCBtdXRlIHRo
ZSBjYW1lcmEgdHJhY2suCisKKyAgICAgICAgVG8gZml4IHRoYXQsIHRoZSBBdWRpbyBTaGFyZWQg
VW5pdCBpcyBubyBsb25nZXIgZGlyZWN0bHkgbXV0aW5nIG9yIHVubXV0aW5nIHRoZSBhdWRpbyB0
cmFja3MuCisgICAgICAgIEluc3RlYWQsIGVhY2ggcGFnZSBpcyBub3RpZmllZCBvZiBzdGFydC9l
bmQgb2YgQXVkaW9TZXNzaW9uIGludGVycnVwdGlvbi4KKyAgICAgICAgV2hlbiBhbiBpbnRlcnJ1
cHRpb24gc3RhcnRzLCBhbGwgY2FwdHVyZSB0cmFja3MgYXJlIG11dGVkLgorICAgICAgICBXaGVu
IGFuIGludGVycnVwdGlvbiBlbmRzLCBhbGwgY2FwdHVyZSB0cmFja3MgYXJlIHVwZGF0ZWQgYWNj
b3JzaW5nIHRoZSBwYWdlIG11dGVkIHN0YXRlLCB3aGljaCBpcyBjb250cm9sbGVkIGJ5IFVJUHJv
Y2Vzcy4KKyAgICAgICAgVGhpcyBhbHNvIGNvdmVycyB0aGUgY2FzZSBvZiBzZXZlcmFsIHRhYnMg
Y2FwdHVyaW5nIGluIHRoZSBzYW1lIHByb2Nlc3MsIHNpbmNlIG9ubHkgb25lIHRhYiB3aWxsIG5v
dCBiZSBzZXQgYXMgbXV0ZWQgYnkgVUlQcm9jZXNzLgorCisgICAgICAgIEluIGNhc2Ugb2Ygc2V2
ZXJhbCBjYXB0dXJlIE1lZGlhU3RyZWFtVHJhY2sgaW4gdGhlIHNhbWUgZG9jdW1lbnQgYW5kIHRo
ZXkgYXJlIG5vdCB0aGUgYWN0aXZlIHNvdXJjZSwgd2UgcGljayB0aGUgZmlyc3Qgb25lIGFzIHRo
ZXJlIGlzCisgICAgICAgIG5vIHdheSB0byBrbm93IHdoaWNoIG9uZSB3YXMgdGhlIGxhc3QgdW5t
dXRlZCBvbmUuCisgICAgICAgIFdlIHNob3VsZCBwcm9iYWJseSBhZGQgc29tZSBzdXBwb3J0IHRv
IGFsd2F5cyByZW1lbWJlciB0aGUgbGFzdCBsaXZpbmcgdHJhY2sgb2YgYSB0YWIgaW4gaU9TLgor
CisgICAgICAgIE1hbnVhbGx5IHRlc3RlZC4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRy
YWNrOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6dXBkYXRl
Q2FwdHVyZUFjY29yZGluZ1RvTXV0ZWRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbVRyYWNrOjp1cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnZpc2liaWxpdHlTdGF0ZUNoYW5nZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBhZ2VNdXRlZFN0YXRlRGlkQ2hhbmdlKToKKyAg
ICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6YmVnaW5BdWRp
b0NhcHR1cmVJbnRlcnJ1cHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZW5kQXVkaW9D
YXB0dXJlSW50ZXJydXB0aW9uKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpCYXNlQXVkaW9TaGFyZWRVbml0OjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29y
ZTo6QmFzZUF1ZGlvU2hhcmVkVW5pdDo6c3VzcGVuZCk6CisKIDIwMjEtMDEtMDMgIFJvYiBCdWlz
ICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBVc2UgVVRGLTggZW5jb2RpbmcgZm9yIGVt
cHR5IG1haW4gcmVzb3VyY2UgbG9hZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzFhNDBmOTE0NDc3ZjY3ZDdhMTM2
Njc5MTA4NzQzOTQ3YjYxNmM1My4uNzNkOThjN2U1NzFkNGYzNjkxYjU2ZmJjNjMyZWYzODhhNjAw
M2JjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0xMi0yMiAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgVW5tdXRpbmcgYSB0cmFjayBpbiBjYXNl
IG9mIGVuZCBvZiBpbnRlcnJ1cHRpb24gYnkgYW5vdGhlciB3ZWIgcHJvY2VzcyB0YWIgaXMgbm90
IHdvcmtpbmcgd2VsbCB3aXRoIGNhcHR1cmUgbXV0aW5nIGljb25zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAwNTgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gb2JzZXJ2ZXIgb2YgQXVkaW9T
ZXNzaW9uIGludGVycnVwdGlvbnMgdGhhdCBmb3J3YXJkcyB0aGUgc2lnbmFsIHRvIGFsbCB0YWJz
IG9mIHRoZSBwcm9jZXNzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6
ZVdlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0
aW9uT2JzZXJ2ZXI6OlBhZ2VBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PYnNlcnZlcik6CisgICAg
ICAgIChXZWJLaXQ6OlBhZ2VBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PYnNlcnZlcjo6flBhZ2VB
dWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PYnNlcnZlcik6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VB
dWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PYnNlcnZlcjo6YmVnaW5BdWRpb1Nlc3Npb25JbnRlcnJ1
cHRpb24pOgorICAgICAgICAoV2ViS2l0OjpQYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2Jz
ZXJ2ZXI6OmVuZEF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbik6CisgICAgICAgIChXZWJLaXQ6Omxp
c3RlblRvQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uKToKKwogMjAyMS0wMS0wMiAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBzb21lIEZyYW1lTG9hZGVyOjpj
aGFuZ2VMb2NhdGlvbiBwYXJhbWV0ZXJzCkBAIC0xNTIsNyArMTY5LDcgQEAKICAgICAgICAgKiBV
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL21hYy9TY3JvbGxlck1hYy5tbToKICAgICAgICAgKC1b
V0tTY3JvbGxlckltcERlbGVnYXRlIGVmZmVjdGl2ZUFwcGVhcmFuY2VGb3JTY3JvbGxlckltcDpd
KToKIAotMjAyMC0xMi0yMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisyMDIw
LTEyLTIxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
XSBEbyBleHRlbnNpdmUgc2VhcmNoIGZvciBtaWNyb3Bob25lIGRldmljZXMgd2hlbiB0cnlpbmcg
dG8gY2FwdHVyZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIwMDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBkYTAzM2JjOGFhODMxOGVkYzYxMjk5Zjk0YzBi
NzM0MWMyNzA0ZGM4Li5hMjFjYTA0ZTRjMTFiMjgwZWNhMjkzYjI1N2NiZTc3MWI0NmVkZjc5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFjay5jcHAKQEAgLTcxLDggKzcxLDEwIEBAIFJlZjxNZWRpYVN0cmVhbVRyYWNrPiBN
ZWRpYVN0cmVhbVRyYWNrOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwK
ICAgICBhdXRvIHRyYWNrID0gYWRvcHRSZWYoKm5ldyBNZWRpYVN0cmVhbVRyYWNrKGNvbnRleHQs
IFdURk1vdmUocHJpdmF0ZVRyYWNrKSkpOwogICAgIHRyYWNrLT5zdXNwZW5kSWZOZWVkZWQoKTsK
IAotICAgIGlmICh0cmFjay0+aXNDYXB0dXJlVHJhY2soKSkKLSAgICAgICAgdHJhY2stPnVwZGF0
ZVRvUGFnZU11dGVkU3RhdGUoKTsKKyAgICBpZiAodHJhY2stPmlzQ2FwdHVyZVRyYWNrKCkpIHsK
KyAgICAgICAgaWYgKGF1dG8qIHBhZ2UgPSB0cmFjay0+ZG9jdW1lbnQoKS0+cGFnZSgpKQorICAg
ICAgICAgICAgdHJhY2stPnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUocGFnZS0+bXV0ZWRTdGF0ZSgp
KTsKKyAgICB9CiAKICAgICByZXR1cm4gdHJhY2s7CiB9CkBAIC00NjksNDcgKzQ3MSw2NCBAQCBz
dGF0aWMgYm9vbCBpc1NvdXJjZUNhcHR1cmluZ0ZvclRyYWNrSW5Eb2N1bWVudChSZWFsdGltZU1l
ZGlhU291cmNlJiBzb3VyY2UsIERvYwogfQogI2VuZGlmCiAKLXZvaWQgTWVkaWFTdHJlYW1UcmFj
azo6dXBkYXRlQ2FwdHVyZUFjY29yZGluZ1RvTXV0ZWRTdGF0ZShEb2N1bWVudCYgZG9jdW1lbnQp
Cit2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvcmRpbmdUb011dGVkU3Rh
dGUoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgbXV0
ZWRTdGF0ZSkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGF1dG8qIHBhZ2UgPSBk
b2N1bWVudC5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKKyAgICBi
b29sIHBhZ2VNdXRlZCA9IG11dGVkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVv
Q2FwdHVyZUlzTXV0ZWQ7CisKICAgICBhdXRvKiBhY3RpdmVBdWRpb1NvdXJjZSA9IFJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3RvcnkoKS5hY3Rp
dmVTb3VyY2UoKTsKLSAgICBpZiAoYWN0aXZlQXVkaW9Tb3VyY2UgJiYgaXNTb3VyY2VDYXB0dXJp
bmdGb3JUcmFja0luRG9jdW1lbnQoKmFjdGl2ZUF1ZGlvU291cmNlLCBkb2N1bWVudCkpIHsKLSAg
ICAgICAgYm9vbCBwYWdlTXV0ZWQgPSBwYWdlLT5tdXRlZFN0YXRlKCkgJiBNZWRpYVByb2R1Y2Vy
OjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAgaWYgKGFjdGl2ZUF1ZGlvU291cmNl
ICYmIGlzU291cmNlQ2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVBdWRpb1NvdXJj
ZSwgZG9jdW1lbnQpKQogICAgICAgICBhY3RpdmVBdWRpb1NvdXJjZS0+c2V0TXV0ZWQocGFnZU11
dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBkb2N1bWVudC5zZXR0aW5ncygpLmludGVycnVw
dEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOworICAgIGVsc2UgeworICAg
ICAgICAvLyBXZSBjYW4gb25seSBoYXZlIG9uZSBzb3VyY2UgYXQgYSB0aW1lOiB3ZSBjYW4gbXV0
ZSBhbGwgdHJhY2tzIGJ1dCB1bm11dGUgb25seSBvbmUgb2YgdGhlbS4KKyAgICAgICAgZm9yIChh
dXRvKiBjYXB0dXJlVHJhY2sgOiBhbGxDYXB0dXJlVHJhY2tzKCkpIHsKKyAgICAgICAgICAgIGlm
IChjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgIT0gJmRvY3VtZW50IHx8IGNhcHR1cmVUcmFjay0+
ZW5kZWQoKSB8fCBjYXB0dXJlVHJhY2stPnNvdXJjZSgpLmRldmljZVR5cGUoKSAhPSBDYXB0dXJl
RGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25lKQorICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgY2FwdHVyZVRyYWNrLT5tX3ByaXZhdGUtPnNldE11dGVkKHBhZ2VNdXRl
ZCk7CisgICAgICAgICAgICAvLyBJZiB1bm11dGluZywgdW5tdXRlIHRoZSBmaXJzdCBzb3VyY2Ug
b2YgdGhlIGRvY3VtZW50IHdlIGtub3cuCisgICAgICAgICAgICBpZiAoIXBhZ2VNdXRlZCkKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGF1dG8qIGFjdGl2
ZVZpZGVvU291cmNlID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmlk
ZW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2ZVNvdXJjZSgpOwotICAgIGlmIChhY3RpdmVWaWRlb1Nv
dXJjZSAmJiBpc1NvdXJjZUNhcHR1cmluZ0ZvclRyYWNrSW5Eb2N1bWVudCgqYWN0aXZlVmlkZW9T
b3VyY2UsIGRvY3VtZW50KSkgewotICAgICAgICBib29sIHBhZ2VNdXRlZCA9IHBhZ2UtPm11dGVk
U3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZDsKKyAg
ICBpZiAoYWN0aXZlVmlkZW9Tb3VyY2UgJiYgaXNTb3VyY2VDYXB0dXJpbmdGb3JUcmFja0luRG9j
dW1lbnQoKmFjdGl2ZVZpZGVvU291cmNlLCBkb2N1bWVudCkpCiAgICAgICAgIGFjdGl2ZVZpZGVv
U291cmNlLT5zZXRNdXRlZChwYWdlTXV0ZWQgfHwgZG9jdW1lbnQuaGlkZGVuKCkpOworICAgIGVs
c2UgeworICAgICAgICAvLyBXZSBjYW4gb25seSBoYXZlIG9uZSBzb3VyY2UgYXQgYSB0aW1lOiB3
ZSBjYW4gbXV0ZSBhbGwgdHJhY2tzIGJ1dCB1bm11dGUgb25seSBvbmUgb2YgdGhlbS4KKyAgICAg
ICAgZm9yIChhdXRvKiBjYXB0dXJlVHJhY2sgOiBhbGxDYXB0dXJlVHJhY2tzKCkpIHsKKyAgICAg
ICAgICAgIGlmIChjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgIT0gJmRvY3VtZW50IHx8IGNhcHR1
cmVUcmFjay0+ZW5kZWQoKSB8fCBjYXB0dXJlVHJhY2stPnNvdXJjZSgpLmRldmljZVR5cGUoKSAh
PSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmEpCisgICAgICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgICAgICBjYXB0dXJlVHJhY2stPm1fcHJpdmF0ZS0+c2V0TXV0ZWQocGFn
ZU11dGVkKTsKKyAgICAgICAgICAgIC8vIElmIHVubXV0aW5nLCB1bm11dGUgdGhlIGZpcnN0IHNv
dXJjZSBvZiB0aGUgZG9jdW1lbnQgd2Uga25vdy4KKyAgICAgICAgICAgIGlmICghcGFnZU11dGVk
KQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogI2Vsc2UKICAgICBm
b3IgKGF1dG8qIGNhcHR1cmVUcmFjayA6IGFsbENhcHR1cmVUcmFja3MoKSkgewogICAgICAgICBp
ZiAoY2FwdHVyZVRyYWNrLT5kb2N1bWVudCgpID09ICZkb2N1bWVudCAmJiAhY2FwdHVyZVRyYWNr
LT5lbmRlZCgpKQotICAgICAgICAgICAgY2FwdHVyZVRyYWNrLT51cGRhdGVUb1BhZ2VNdXRlZFN0
YXRlKCk7CisgICAgICAgICAgICBjYXB0dXJlVHJhY2stPnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUo
bXV0ZWRTdGF0ZSk7CiAgICAgfQogI2VuZGlmCiB9CiAKLXZvaWQgTWVkaWFTdHJlYW1UcmFjazo6
dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSgpCit2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRv
UGFnZU11dGVkU3RhdGUoTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIG11dGVkU3RhdGUp
CiB7CiAgICAgQVNTRVJUKGlzQ2FwdHVyZVRyYWNrKCkpOwotICAgIGF1dG8qIHBhZ2UgPSBkb2N1
bWVudCgpLT5wYWdlKCk7Ci0gICAgaWYgKCFwYWdlKQotICAgICAgICByZXR1cm47CiAKICAgICBz
d2l0Y2ggKHNvdXJjZSgpLmRldmljZVR5cGUoKSkgewogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6
RGV2aWNlVHlwZTo6TWljcm9waG9uZToKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5
cGU6OkNhbWVyYToKLSAgICAgICAgbV9wcml2YXRlLT5zZXRNdXRlZChwYWdlLT5tdXRlZFN0YXRl
KCkgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQpOworICAgICAg
ICBtX3ByaXZhdGUtPnNldE11dGVkKG11dGVkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0Fu
ZFZpZGVvQ2FwdHVyZUlzTXV0ZWQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbjoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmlj
ZVR5cGU6OldpbmRvdzoKLSAgICAgICAgbV9wcml2YXRlLT5zZXRNdXRlZChwYWdlLT5tdXRlZFN0
YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCk7CisgICAgICAgIG1f
cHJpdmF0ZS0+c2V0TXV0ZWQobXV0ZWRTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OlNjcmVlbkNhcHR1
cmVJc011dGVkKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpTcGVha2VyOgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5r
bm93bjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrLmgKaW5kZXggN2QwM2EzYWZhMmFjMjY1MTQ5YzZjYmEwMjRhMTVjYjUzNTRh
ZDNlNS4uMzE3ZWQwZGFkOWZiZWNmNzcxMTE4ZGJkNjk1OWRlOWQ3MWFjNTc5NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGVuZENhcHR1cmUo
RG9jdW1lbnQmKTsKIAogICAgIHN0YXRpYyBNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3Mg
Y2FwdHVyZVN0YXRlKERvY3VtZW50Jik7Ci0gICAgc3RhdGljIHZvaWQgdXBkYXRlQ2FwdHVyZUFj
Y29yZGluZ1RvTXV0ZWRTdGF0ZShEb2N1bWVudCYpOworICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUNh
cHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUoRG9jdW1lbnQmLCBNZWRpYVByb2R1Y2VyOjpNdXRl
ZFN0YXRlRmxhZ3MpOwogCiAgICAgdmlydHVhbCBib29sIGlzQ2FudmFzKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KIApAQCAtMTY5LDcgKzE2OSw3IEBAIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
TWVkaWFTdHJlYW1UcmFjayhNZWRpYVN0cmVhbVRyYWNrJik7CiAKICAgICB2b2lkIGNvbmZpZ3Vy
ZVRyYWNrUmVuZGVyaW5nKCk7Ci0gICAgdm9pZCB1cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKCk7Cisg
ICAgdm9pZCB1cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVG
bGFncyk7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIHZvaWQgc3RvcCgpIGZp
bmFsIHsgc3RvcFRyYWNrKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDFjY2QwZjcw
MmVlZjk3ZjUxZTEyM2ZiYjgwYWNkN2MxMzhjODIwODcuLjk3MDAwYmIzOWUzNDU0NzNmNWI5YzVm
NWJjMjRkMDM4ZDY1NzMzNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTc2MCw5ICsx
NzYwLDEzIEBAIHZvaWQgRG9jdW1lbnQ6OnZpc2liaWxpdHlTdGF0ZUNoYW5nZWQoKQogICAgICAg
ICBjbGllbnQtPnZpc2liaWxpdHlTdGF0ZUNoYW5nZWQoKTsKIAogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgYXV0byogcGFnZSA9IHRoaXMtPnBh
Z2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChhdXRvIG1l
ZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1h
bmFnZXJJZkV4aXN0cygpKSB7CiAgICAgICAgIGlmICghbWVkaWFTZXNzaW9uTWFuYWdlci0+aXNJ
bnRlcnJ1cHRlZCgpKQotICAgICAgICAgICAgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlQ2FwdHVy
ZUFjY29yZGluZ1RvTXV0ZWRTdGF0ZSgqdGhpcyk7CisgICAgICAgICAgICBNZWRpYVN0cmVhbVRy
YWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRlKCp0aGlzLCBwYWdlLT5tdXRl
ZFN0YXRlKCkpOwogICAgIH0KICNlbmRpZgogfQpAQCAtNDI0OCw3ICs0MjUyLDcgQEAgdm9pZCBE
b2N1bWVudDo6cGFnZU11dGVkU3RhdGVEaWRDaGFuZ2UoKQogICAgICAgICBhdWRpb1Byb2R1Y2Vy
LnBhZ2VNdXRlZFN0YXRlRGlkQ2hhbmdlKCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQot
ICAgIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUo
KnRoaXMpOworICAgIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvcmRpbmdUb011
dGVkU3RhdGUoKnRoaXMsIHBhZ2UoKS0+bXV0ZWRTdGF0ZSgpKTsKICNlbmRpZgogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAppbmRleCBjZTkxNmY4ZjIwOTFmOTFjZmFmZTJlMzk4OTU2NzJlYmVlYmQxODU1
Li5iMzczM2E3NThiMGNhOGE4MmRlYzZhYjJmMWU0NzgxZjNlNWY0MTRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKQEAgLTc5LDYgKzc5LDcgQEAKICNpbmNsdWRlICJMb3dQb3dlck1vZGVOb3RpZmllci5o
IgogI2luY2x1ZGUgIk1lZGlhQ2FuU3RhcnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIk1lZGlhUmVj
b3JkZXJQcm92aWRlci5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2suaCIKICNpbmNsdWRl
ICJOYXZpZ2F0b3IuaCIKICNpbmNsdWRlICJQYWdlQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUg
IlBhZ2VDb25zb2xlQ2xpZW50LmgiCkBAIC0yMDc0LDYgKzIwNzUsMjQgQEAgdm9pZCBQYWdlOjpz
dG9wTWVkaWFDYXB0dXJlKCkKICNlbmRpZgogfQogCit2b2lkIFBhZ2U6OmJlZ2luQXVkaW9DYXB0
dXJlSW50ZXJydXB0aW9uKCkKK3sKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIGZvckVh
Y2hEb2N1bWVudChbbXV0ZWRTdGF0ZSA9IG11dGVkU3RhdGUoKV0oYXV0byYgZG9jdW1lbnQpIHsK
KyAgICAgICAgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlQ2FwdHVyZUFjY29yZGluZ1RvTXV0ZWRT
dGF0ZShkb2N1bWVudCwgbXV0ZWRTdGF0ZSB8IE1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9D
YXB0dXJlSXNNdXRlZCk7CisgICAgfSk7CisjZW5kaWYKK30KKwordm9pZCBQYWdlOjplbmRBdWRp
b0NhcHR1cmVJbnRlcnJ1cHRpb24oKQoreworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAg
Zm9yRWFjaERvY3VtZW50KFttdXRlZFN0YXRlID0gbXV0ZWRTdGF0ZSgpXShhdXRvJiBkb2N1bWVu
dCkgeworICAgICAgICBNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9N
dXRlZFN0YXRlKGRvY3VtZW50LCBtdXRlZFN0YXRlKTsKKyAgICB9KTsKKyNlbmRpZgorfQorCiBi
b29sIFBhZ2U6Om1lZGlhUGxheWJhY2tFeGlzdHMoKQogewogI2lmIEVOQUJMRShWSURFTykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKaW5kZXggMWJiNDMxNjU2ZGUyNDZmNmE0NjZhOTUwZDg4ZDUyYWY4OWFjMDlhYy4u
N2NkYzczMDEwMjQzZjFlZWQ1Y2U5NWJhZWFiNmFjYjdiMjI1ZTU1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
QEAgLTgzMSw2ICs4MzEsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCB0ZXh0SW50ZXJhY3Rpb25FbmFi
bGVkKCkgeyByZXR1cm4gbV90ZXh0SW50ZXJhY3Rpb25FbmFibGVkOyB9CiAgICAgdm9pZCBzZXRU
ZXh0SW50ZXJhY3Rpb25FbmFibGVkKGJvb2wgdmFsdWUpIHsgbV90ZXh0SW50ZXJhY3Rpb25FbmFi
bGVkID0gdmFsdWU7IH0KIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYmVnaW5BdWRpb0NhcHR1
cmVJbnRlcnJ1cHRpb24oKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuZEF1ZGlvQ2FwdHVy
ZUludGVycnVwdGlvbigpOworCiBwcml2YXRlOgogICAgIHN0cnVjdCBOYXZpZ2F0aW9uIHsKICAg
ICAgICAgUmVnaXN0cmFibGVEb21haW4gZG9tYWluOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQu
Y3BwCmluZGV4IDlmYzVmZjUwYTY1NjIzOWM5NWU0MTEwZmM2NTZkOTQ4NDE0YzEzZjUuLmNkNmI1
ZDNhMTI0ZjIwMzRlY2MzNmJkNjZhZTY0OTdmZTM5ODRlYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hh
cmVkVW5pdC5jcHAKQEAgLTE4MywxMyArMTgzLDYgQEAgT1NTdGF0dXMgQmFzZUF1ZGlvU2hhcmVk
VW5pdDo6cmVzdW1lKCkKICAgICAgICAgbV9uZWVkc1JlY29uZmlndXJhdGlvbiA9IGZhbHNlOwog
ICAgICAgICByZWNvbmZpZ3VyZSgpOwogICAgIH0KLQotICAgIEFTU0VSVCghbV9wcm9kdWNpbmdD
b3VudCk7Ci0KLSAgICBmb3JFYWNoQ2xpZW50KFtdKGF1dG8mIGNsaWVudCkgewotICAgICAgICBj
bGllbnQuc2V0TXV0ZWQoZmFsc2UpOwotICAgIH0pOwotCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAg
LTIwMSwxMyArMTk0LDYgQEAgT1NTdGF0dXMgQmFzZUF1ZGlvU2hhcmVkVW5pdDo6c3VzcGVuZCgp
CiAKICAgICBtX3N1c3BlbmRlZCA9IHRydWU7CiAgICAgc3RvcEludGVybmFsKCk7Ci0KLSAgICBm
b3JFYWNoQ2xpZW50KFtdKGF1dG8mIGNsaWVudCkgewotICAgICAgICBjbGllbnQuc2V0TXV0ZWQo
dHJ1ZSk7Ci0gICAgfSk7Ci0KLSAgICBBU1NFUlQoIW1fcHJvZHVjaW5nQ291bnQpOwotCiAgICAg
cmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBhYjYw
MmQwYWNlY2QyM2ZkY2EzYzBkNDljNzhiZDc3MDIyZjQ1OWFmLi5lMmIxNzI1YTg0NmVhOTc1MzFh
MDIxM2NiMjRlOWIzYTlkYzE0YWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CkBAIC01MjczLDcgKzUyNzMsMTYgQEAgdm9pZCBJbnRlcm5hbHM6OnNldE1lZGlhU3RyZWFtVHJh
Y2tJZGVudGlmaWVyKE1lZGlhU3RyZWFtVHJhY2smIHRyYWNrLCBTdHJpbmcmJgogCiB2b2lkIElu
dGVybmFsczo6c2V0TWVkaWFTdHJlYW1Tb3VyY2VJbnRlcnJ1cHRlZChNZWRpYVN0cmVhbVRyYWNr
JiB0cmFjaywgYm9vbCBpbnRlcnJ1cHRlZCkKIHsKKyAgICBhdXRvKiBkb2N1bWVudCA9IGNvbnRl
eHREb2N1bWVudCgpOworICAgIGF1dG8qIHBhZ2UgPSBkb2N1bWVudCA/IGRvY3VtZW50LT5wYWdl
KCkgOiBudWxscHRyOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgdHJh
Y2suc291cmNlKCkuc2V0SW50ZXJydXB0ZWRGb3JUZXN0aW5nKGludGVycnVwdGVkKTsKKyAgICBp
ZiAoaW50ZXJydXB0ZWQpCisgICAgICAgIHBhZ2UtPmJlZ2luQXVkaW9DYXB0dXJlSW50ZXJydXB0
aW9uKCk7CisgICAgZWxzZQorICAgICAgICBwYWdlLT5lbmRBdWRpb0NhcHR1cmVJbnRlcnJ1cHRp
b24oKTsKIH0KIAogYm9vbCBJbnRlcm5hbHM6OmlzTWVkaWFTdHJlYW1Tb3VyY2VJbnRlcnJ1cHRl
ZChNZWRpYVN0cmVhbVRyYWNrJiB0cmFjaykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcAppbmRleCA0YmIxOGE2NmM3NWE0OGMzNmU4Njc2MWQzMGRjMzNlZWI3MDlj
YWJkLi4yZDM0NzE2Yzc2NjhlNGY5Y2U0ZmIxZmNhOTZmOTZkZmVhMTE3NWMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xODE0LDcgKzE4MTQsOCBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgY2hlY2tEb2N1bWVudHNDYXB0dXJlU3RhdGVDb25zaXN0ZW5jeShjb25z
dCBWZWN0b3I8U3RyaW5nPiYgZQogCiB2b2lkIFdlYlByb2Nlc3M6OnJldm9rZVVzZXJNZWRpYURl
dmljZVNhbmRib3hFeHRlbnNpb25zKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBleHRlbnNpb25JRHMp
CiB7Ci0gICAgY2hlY2tEb2N1bWVudHNDYXB0dXJlU3RhdGVDb25zaXN0ZW5jeShleHRlbnNpb25J
RHMpOworICAgIGlmICghTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6Om1vY2tSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyRW5hYmxlZCgpKQorICAgICAgICBjaGVja0RvY3VtZW50c0NhcHR1
cmVTdGF0ZUNvbnNpc3RlbmN5KGV4dGVuc2lvbklEcyk7CiAKICAgICBmb3IgKGNvbnN0IGF1dG8m
IGV4dGVuc2lvbklEIDogZXh0ZW5zaW9uSURzKSB7CiAgICAgICAgIGF1dG8gZXh0ZW5zaW9uID0g
bV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucy50YWtlKGV4dGVuc2lvbklEKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4
IDcxZDRhOWE3OGFiMGNjZWQ5ZDA5YTJmOWI0NjYyNDExYzA3ODRiYzcuLjk1ZTRjM2YxNGU2MDI5
ODkyODIwYjU0ZjBjOTAxMGJlZGNlMTM0YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtNTQsNiArNTQsNyBAQAogI2ltcG9y
dCA8SmF2YVNjcmlwdENvcmUvT3B0aW9ucy5oPgogI2ltcG9ydCA8V2ViQ29yZS9BVkFzc2V0TUlN
RVR5cGVDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BWE9iamVjdENhY2hlLmg+CisjaW1wb3J0
IDxXZWJDb3JlL0F1ZGlvU2Vzc2lvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9DUFVNb25pdG9yLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXIuaD4KICNpbXBv
cnQgPFdlYkNvcmUvRm9udENhY2hlLmg+CkBAIC0xNjgsNiArMTY5LDEwIEBAIHN0YXRpYyBjb25z
dCBTZWNvbmRzIGNwdU1vbml0b3JpbmdJbnRlcnZhbCB7IDhfbWluIH07CiBzdGF0aWMgY29uc3Qg
ZG91YmxlIHNlcnZpY2VXb3JrZXJDUFVMaW1pdCB7IDAuNSB9OyAvLyA1MCUgYXZlcmFnZSBDUFUg
dXNhZ2Ugb3ZlciA4IG1pbnV0ZXMuCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPUykKK3N0YXRp
YyB2b2lkIGxpc3RlblRvQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uKCk7CisjZW5kaWYKKwogdm9p
ZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCkKIHsKIH0KQEAg
LTM5Miw2ICszOTcsMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQ
cm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmEKICNlbmRpZgogCiAgICAg
V2ViQ29yZTo6SU9TdXJmYWNlOjpzZXRNYXhpbXVtU2l6ZShwYXJhbWV0ZXJzLm1heGltdW1JT1N1
cmZhY2VTaXplKTsKKworI2lmIFBMQVRGT1JNKElPUykKKyAgICBsaXN0ZW5Ub0F1ZGlvU2Vzc2lv
bkludGVycnVwdGlvbigpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1T
ZXRXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyhXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVy
cyYmIHBhcmFtZXRlcnMpCkBAIC0xMTYwLDYgKzExNjksNDkgQEAgdm9pZCBXZWJQcm9jZXNzOjp3
YWl0Rm9yUGVuZGluZ1Bhc3RlYm9hcmRXcml0ZXNUb0ZpbmlzaChjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmQKICAgICB9CiB9CiAKKyNpZiBQTEFURk9STShJT1MpCitjbGFzcyBQYWdlQXVkaW9TZXNz
aW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXIgOiBwdWJsaWMgQXVkaW9TZXNzaW9uOjpJbnRlcnJ1cHRp
b25PYnNlcnZlciB7CitwdWJsaWM6CisgICAgUGFnZUF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk9i
c2VydmVyKCk7CisgICAgflBhZ2VBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PYnNlcnZlcigpOwor
Citwcml2YXRlOgorICAgIHZvaWQgYmVnaW5BdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb24oKSBmaW5h
bDsKKyAgICB2b2lkIGVuZEF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbihXZWJDb3JlOjpBdWRpb1Nl
c3Npb246Ok1heVJlc3VtZSkgZmluYWw7Cit9OworCitQYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0
aW9uT2JzZXJ2ZXI6OlBhZ2VBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PYnNlcnZlcigpCit7Cisg
ICAgQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkuYWRkSW50ZXJydXB0aW9uT2JzZXJ2ZXIo
KnRoaXMpOworfQorCitQYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXI6On5QYWdl
QXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXIoKQoreworICAgIEF1ZGlvU2Vzc2lvbjo6
c2hhcmVkU2Vzc2lvbigpLnJlbW92ZUludGVycnVwdGlvbk9ic2VydmVyKCp0aGlzKTsKK30KKwor
dm9pZCBQYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXI6OmJlZ2luQXVkaW9TZXNz
aW9uSW50ZXJydXB0aW9uKCkKK3sKKyAgICBQYWdlOjpmb3JFYWNoUGFnZShbXShhdXRvJiBwYWdl
KSB7CisgICAgICAgIHBhZ2UuYmVnaW5BdWRpb0NhcHR1cmVJbnRlcnJ1cHRpb24oKTsKKyAgICB9
KTsKK30KKwordm9pZCBQYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXI6OmVuZEF1
ZGlvU2Vzc2lvbkludGVycnVwdGlvbihBdWRpb1Nlc3Npb246Ok1heVJlc3VtZSBtYXlSZXN1bWUp
Cit7CisgICAgaWYgKG1heVJlc3VtZSA9PSBBdWRpb1Nlc3Npb246Ok1heVJlc3VtZTo6Tm8pCisg
ICAgICAgIHJldHVybjsKKyAgICBQYWdlOjpmb3JFYWNoUGFnZShbXShhdXRvJiBwYWdlKSB7Cisg
ICAgICAgIHBhZ2UuZW5kQXVkaW9DYXB0dXJlSW50ZXJydXB0aW9uKCk7CisgICAgfSk7Cit9CisK
K3ZvaWQgbGlzdGVuVG9BdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb24oKQoreworICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxQYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXI+IG9ic2Vy
dmVyOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgUkVMRUFT
RV9MT0dfU0VTU0lPTl9JRApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9tZWRpYS1zdHJlYW0tdHJhY2staW50ZXJydXB0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXRyYWNrLWludGVycnVwdGVkLmh0bWwKaW5kZXggNzY0
MGM2YTM0ZWYyOWFjYmE2NjJkMDliMmRiMDRmNTIzMjdiNGUxMy4uNGM5NGMzY2VmZWEzNmE0ZTg5
NzZkZmQ0ODk2NDIyMGFlZDhkNTE5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9tZWRpYS1zdHJlYW0tdHJhY2staW50ZXJydXB0ZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS10cmFjay1pbnRlcnJ1cHRlZC5odG1s
CkBAIC01MCw4ICs1MCwxMSBAQAogCiAgICAgZnVuY3Rpb24gdGVzdFRyYWNrKHRyYWNrLCB0aXRs
ZSkKICAgICB7Ci0gICAgICAgIHByb21pc2VfdGVzdCgodGVzdCkgPT4gewotICAgICAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgcHJvbWlz
ZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgICAgICAgICBpZiAodHJhY2subXV0ZWQpCisg
ICAgICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0cmFjay5vbnVubXV0
ZSA9IHJlc29sdmUpOworCisgICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwg
cmVqZWN0KSA9PiB7CiAgICAgICAgICAgICAgICAgbGV0IGlzVmlkZW8gPSB0cmFjay5raW5kID09
ICJ2aWRlbyI7CiAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAg
ICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmlu
Y2x1ZGVzKCdIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZScpKTsKQEAgLTY3LDEyICs3MCw5IEBA
CiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjay5vbnVubXV0ZSA9IChldnQpID0+IHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB3YWl0Rm9yUGFnZVN0YXRlQ2hhbmdlKDEwLCBwYWdl
U3RhdGUsIHJlc29sdmUsIHJlamVjdCkKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLQogICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcyhpc1Zp
ZGVvID8gJ0hhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlJyA6ICdIYXNNdXRlZEF1ZGlvQ2FwdHVy
ZURldmljZScpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFn
ZU1lZGlhU3RhdGUuaW5jbHVkZXMoaXNWaWRlbyA/ICdIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmlj
ZScgOiAnSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UnKSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYXNzZXJ0X3RydWUocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoaXNWaWRlbyA/ICdI
YXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UnIDogJ0hhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmlj
ZScpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFnZU1lZGlh
U3RhdGUuaW5jbHVkZXMoaXNWaWRlbyA/ICdIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UnIDog
J0hhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZScpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzTXV0ZWRBdWRpb0Nh
cHR1cmVEZXZpY2UnKSwgJ2F1ZGlvIG11dGVkJyk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYXNzZXJ0X3RydWUocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc011dGVkVmlkZW9DYXB0
dXJlRGV2aWNlJyksICd2aWRlbyBtdXRlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhZ2VTdGF0ZSA9IGludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludGVybmFscy5zZXRNZWRpYVN0cmVhbVNvdXJjZUludGVycnVwdGVkKHRy
YWNrLCBmYWxzZSkKICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTg1LDYgKzg1LDggQEAK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZWpl
Y3QoIk11dGVkIHN0YXRlIGRpZCBub3QgY2hhbmdlIGluIDEgc2Vjb25kIiksIDEwMDApOwogICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB0cmFjay5vbm11dGUgPSAoKSA9PiB7IH07CisgICAg
ICAgICAgICB0cmFjay5vbnVubXV0ZSA9ICgpID0+IHsgfTsKICAgICAgICAgfSwgdGl0bGUpOwog
ICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417445</attachid>
            <date>2021-01-12 05:09:55 -0800</date>
            <delta_ts>2021-01-12 06:34:34 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-220058-20210112140954.patch</filename>
            <type>text/plain</type>
            <size>20207</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWVmMmFlYTNlMjJiZGY5
YmQ1YTc2NTFjMWNlZDk2ZDFjNzk2NjM0Ni4uYzNhNjNkZmIyMjY5N2RjMDViZGEyODU0MmE4Y2Q5
ODY0YmQ1Yzg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTAxLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVbm11dGluZyBhIHRyYWNr
IGluIGNhc2Ugb2YgZW5kIG9mIGludGVycnVwdGlvbiBieSBhbm90aGVyIHdlYiBwcm9jZXNzIHRh
YiBpcyBub3Qgd29ya2luZyB3ZWxsIHdpdGggY2FwdHVyZSBtdXRpbmcgaWNvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDA1OAorCisgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBCZWZvcmUgdGhlIHBhdGNoLCB3
ZSB3ZXJlIG11dGluZyBhbGwgdHJhY2tzIGluIGNhc2Ugb2YgQXVkaW8gU2Vzc2lvbiBpbnRlcnJ1
cHRpb24uCisgICAgICAgIFRoaXMgd29ya3Mgd2VsbCBpbiBjYXNlIGFub3RoZXIgYXBwbGljYXRp
b24gdHJpZ2dlcnMgdGhlIGludGVycnVwdGlvbi4KKworICAgICAgICBJbiBjYXNlIHRoZSBpbnRl
cnJ1cHRpb24gaXMgZG9uZSBieSBhbm90aGVyIHRhYiwgdGhpcyBkb2VzIG5vdCB3b3JrIHdlbGwg
Zm9yIHR3byByZWFzb25zOgorICAgICAgICAtIFRoZSBVSVByb2Nlc3MgaXMgZG9pbmcgdGhlIHdv
cmsgb2YgbXV0aW5nIHRoZSB0cmFja3Mgd2hlbiBhbm90aGVyIHRhYiBpcyBzdGFydGluZyB0byBj
YXB0dXJlCisgICAgICAgIC0gVW5tdXRpbmcgaW4gY2FzZSBvZiBpbnRlcnJ1cHRpb24gbWlnaHQg
dW5tdXRlIHNldmVyYWwgdGFicyBpZiB0aGV5IGFyZSBpbiB0aGUgc2FtZSBwcm9jZXNzCisgICAg
ICAgIEFzIGFuIGV4YW1wbGUsIGlmIGEgdGFiIGlzIGNhcHR1cmluZywgYW5kIGFub3RoZXIgdGFi
IHN0YXJ0cyB0byBjYXB0dXJlLCBnb2luZyBiYWNrIHRvIGZpcnN0IHRhYiB3aWxsIGF1dG9tYXRp
Y2FsbHkKKyAgICAgICAgcmVzdGFydCB0aGUgYXVkaW8gY2FwdHVyZSBhcyB0aGUgQXVkaW8gU2Vz
c2lvbiB3aWxsIGVuZCBpdHMgaW50ZXJydXB0aW9uLiBCdXQgaXQgd2lsbCBub3QgbXV0ZSB0aGUg
Y2FtZXJhIHRyYWNrLgorCisgICAgICAgIFRvIGZpeCB0aGF0LCB0aGUgQXVkaW8gU2hhcmVkIFVu
aXQgaXMgbm8gbG9uZ2VyIGRpcmVjdGx5IG11dGluZyBvciB1bm11dGluZyB0aGUgYXVkaW8gdHJh
Y2tzLgorICAgICAgICBJbnN0ZWFkLCBlYWNoIHBhZ2UgaXMgbm90aWZpZWQgb2Ygc3RhcnQvZW5k
IG9mIEF1ZGlvU2Vzc2lvbiBpbnRlcnJ1cHRpb24uCisgICAgICAgIFdoZW4gYW4gaW50ZXJydXB0
aW9uIHN0YXJ0cywgYWxsIGNhcHR1cmUgdHJhY2tzIGFyZSBtdXRlZC4KKyAgICAgICAgV2hlbiBh
biBpbnRlcnJ1cHRpb24gZW5kcywgYWxsIGNhcHR1cmUgdHJhY2tzIGFyZSB1cGRhdGVkIGFjY29y
ZGluZyB0aGUgcGFnZSBtdXRlZCBzdGF0ZSwgd2hpY2ggaXMgY29udHJvbGxlZCBieSBVSVByb2Nl
c3MuCisgICAgICAgIFRoaXMgYWxzbyBjb3ZlcnMgdGhlIGNhc2Ugb2Ygc2V2ZXJhbCB0YWJzIGNh
cHR1cmluZyBpbiB0aGUgc2FtZSBwcm9jZXNzLCBzaW5jZSBvbmx5IG9uZSB0YWIgd2lsbCBub3Qg
YmUgc2V0IGFzIG11dGVkIGJ5IFVJUHJvY2Vzcy4KKworICAgICAgICBJbiBjYXNlIG9mIHNldmVy
YWwgY2FwdHVyZSBNZWRpYVN0cmVhbVRyYWNrIGluIHRoZSBzYW1lIGRvY3VtZW50IGFuZCB0aGV5
IGFyZSBub3QgdGhlIGFjdGl2ZSBzb3VyY2UsIHdlIHBpY2sgdGhlIGZpcnN0IG9uZSBhcyB0aGVy
ZSBpcworICAgICAgICBubyB3YXkgdG8ga25vdyB3aGljaCBvbmUgd2FzIHRoZSBsYXN0IHVubXV0
ZWQgb25lLgorICAgICAgICBXZSBzaG91bGQgcHJvYmFibHkgYWRkIHNvbWUgc3VwcG9ydCB0byBh
bHdheXMgcmVtZW1iZXIgdGhlIGxhc3QgbGl2aW5nIHRyYWNrIG9mIGEgdGFiIGluIGlPUy4KKwor
ICAgICAgICBNYW51YWxseSB0ZXN0ZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFj
azo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNh
cHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp2aXNpYmlsaXR5U3RhdGVDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwYWdlTXV0ZWRTdGF0ZURpZENoYW5nZSk6CisgICAg
ICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmJlZ2luQXVkaW9D
YXB0dXJlSW50ZXJydXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmVuZEF1ZGlvQ2Fw
dHVyZUludGVycnVwdGlvbik6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QmFzZUF1ZGlvU2hhcmVkVW5pdDo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkJhc2VBdWRpb1NoYXJlZFVuaXQ6OnN1c3BlbmQpOgorCiAyMDIxLTAxLTEyICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgTnVsbCBjaGVjayBDU1NGaWx0ZXI6Om91dHB1
dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDBkMjI5OTkzM2ZmYjJmNjkzNDUyNjU3ZTFkMjc1YzBhZmJmOThkNTQu
LmQ2NGYzOGIxMTNkNDEzMWNhZDE3MDFjMDVhNjM5NGQwNTZiMTg3YmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMjEtMDEtMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIFVubXV0aW5nIGEgdHJhY2sgaW4gY2FzZSBvZiBlbmQgb2YgaW50ZXJydXB0
aW9uIGJ5IGFub3RoZXIgd2ViIHByb2Nlc3MgdGFiIGlzIG5vdCB3b3JraW5nIHdlbGwgd2l0aCBj
YXB0dXJlIG11dGluZyBpY29ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIwMDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgor
CisgICAgICAgIEFkZCBhbiBvYnNlcnZlciBvZiBBdWRpb1Nlc3Npb24gaW50ZXJydXB0aW9ucyB0
aGF0IGZvcndhcmRzIHRoZSBzaWduYWwgdG8gYWxsIHRhYnMgb2YgdGhlIHByb2Nlc3MuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PYnNlcnZlcjo6UGFnZUF1ZGlv
U2Vzc2lvbkludGVycnVwdGlvbk9ic2VydmVyKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUF1ZGlv
U2Vzc2lvbkludGVycnVwdGlvbk9ic2VydmVyOjp+UGFnZUF1ZGlvU2Vzc2lvbkludGVycnVwdGlv
bk9ic2VydmVyKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUF1ZGlvU2Vzc2lvbkludGVycnVwdGlv
bk9ic2VydmVyOjpiZWdpbkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbik6CisgICAgICAgIChXZWJL
aXQ6OlBhZ2VBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25PYnNlcnZlcjo6ZW5kQXVkaW9TZXNzaW9u
SW50ZXJydXB0aW9uKToKKyAgICAgICAgKFdlYktpdDo6bGlzdGVuVG9BdWRpb1Nlc3Npb25JbnRl
cnJ1cHRpb24pOgorCiAyMDIxLTAxLTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUgT3B0aW9uc0dUSy5jbWFr
ZSBhbmQgTkVXUyBmb3IgMi4zMS4xIHJlbGVhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IGRhMDMzYmM4
YWE4MzE4ZWRjNjEyOTlmOTRjMGI3MzQxYzI3MDRkYzguLjczOWM5YmJiYTAyMjE1Y2QxNTU5YTUy
ZmMwYWJhODgxODg1OTQ5YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtNzEsOCArNzEsMTAgQEAgUmVm
PE1lZGlhU3RyZWFtVHJhY2s+IE1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LAogICAgIGF1dG8gdHJhY2sgPSBhZG9wdFJlZigqbmV3IE1lZGlh
U3RyZWFtVHJhY2soY29udGV4dCwgV1RGTW92ZShwcml2YXRlVHJhY2spKSk7CiAgICAgdHJhY2st
PnN1c3BlbmRJZk5lZWRlZCgpOwogCi0gICAgaWYgKHRyYWNrLT5pc0NhcHR1cmVUcmFjaygpKQot
ICAgICAgICB0cmFjay0+dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSgpOworICAgIGlmICh0cmFjay0+
aXNDYXB0dXJlVHJhY2soKSkgeworICAgICAgICBpZiAoYXV0byogcGFnZSA9IHRyYWNrLT5kb2N1
bWVudCgpLT5wYWdlKCkpCisgICAgICAgICAgICB0cmFjay0+dXBkYXRlVG9QYWdlTXV0ZWRTdGF0
ZShwYWdlLT5tdXRlZFN0YXRlKCkpOworICAgIH0KIAogICAgIHJldHVybiB0cmFjazsKIH0KQEAg
LTQ2OSw0NyArNDcxLDU3IEBAIHN0YXRpYyBib29sIGlzU291cmNlQ2FwdHVyaW5nRm9yVHJhY2tJ
bkRvY3VtZW50KFJlYWx0aW1lTWVkaWFTb3VyY2UmIHNvdXJjZSwgRG9jCiB9CiAjZW5kaWYKIAot
dm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRl
KERvY3VtZW50JiBkb2N1bWVudCkKK3ZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlQ2FwdHVy
ZUFjY29yZGluZ1RvTXV0ZWRTdGF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGVGbGFncyBtdXRlZFN0YXRlKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAgICAgYXV0byogcGFnZSA9IGRvY3VtZW50LnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAg
ICAgIHJldHVybjsKIAorICAgIGJvb2wgcGFnZU11dGVkID0gbXV0ZWRTdGF0ZSAmIE1lZGlhUHJv
ZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZDsKKworICAgIGF1dG8gdXBkYXRlVHJh
Y2tzQWNjb3JkaW5nUGFnZU11dGVkU3RhdGUgPSBbXShjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQs
IENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUgZGV2aWNlVHlwZSwgYm9vbCBwYWdlTXV0ZWQpIHsK
KyAgICAgICAgLy8gV2UgY2FuIG9ubHkgaGF2ZSBvbmUgc291cmNlIGF0IGEgdGltZTogd2UgY2Fu
IG11dGUgYWxsIHRyYWNrcyBidXQgdW5tdXRlIG9ubHkgb25lIG9mIHRoZW0uCisgICAgICAgIGZv
ciAoYXV0byogY2FwdHVyZVRyYWNrIDogYWxsQ2FwdHVyZVRyYWNrcygpKSB7CisgICAgICAgICAg
ICBpZiAoY2FwdHVyZVRyYWNrLT5kb2N1bWVudCgpICE9ICZkb2N1bWVudCB8fCBjYXB0dXJlVHJh
Y2stPmVuZGVkKCkgfHwgY2FwdHVyZVRyYWNrLT5zb3VyY2UoKS5kZXZpY2VUeXBlKCkgIT0gZGV2
aWNlVHlwZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGNhcHR1cmVU
cmFjay0+bV9wcml2YXRlLT5zZXRNdXRlZChwYWdlTXV0ZWQpOworICAgICAgICAgICAgLy8gSWYg
dW5tdXRpbmcsIHVubXV0ZSB0aGUgZmlyc3Qgc291cmNlIG9mIHRoZSBkb2N1bWVudCB3ZSBrbm93
LgorICAgICAgICAgICAgaWYgKCFwYWdlTXV0ZWQpCisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICB9OwogICAgIGF1dG8qIGFjdGl2ZUF1ZGlvU291cmNlID0gUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2
ZVNvdXJjZSgpOwotICAgIGlmIChhY3RpdmVBdWRpb1NvdXJjZSAmJiBpc1NvdXJjZUNhcHR1cmlu
Z0ZvclRyYWNrSW5Eb2N1bWVudCgqYWN0aXZlQXVkaW9Tb3VyY2UsIGRvY3VtZW50KSkgewotICAg
ICAgICBib29sIHBhZ2VNdXRlZCA9IHBhZ2UtPm11dGVkU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6
OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZDsKKyAgICBpZiAoYWN0aXZlQXVkaW9Tb3VyY2Ug
JiYgaXNTb3VyY2VDYXB0dXJpbmdGb3JUcmFja0luRG9jdW1lbnQoKmFjdGl2ZUF1ZGlvU291cmNl
LCBkb2N1bWVudCkpCiAgICAgICAgIGFjdGl2ZUF1ZGlvU291cmNlLT5zZXRNdXRlZChwYWdlTXV0
ZWQgfHwgKGRvY3VtZW50LmhpZGRlbigpICYmIGRvY3VtZW50LnNldHRpbmdzKCkuaW50ZXJydXB0
QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZCgpKSk7Ci0gICAgfQorICAgIGVsc2UK
KyAgICAgICAgdXBkYXRlVHJhY2tzQWNjb3JkaW5nUGFnZU11dGVkU3RhdGUoZG9jdW1lbnQsIENh
cHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1pY3JvcGhvbmUsIHBhZ2VNdXRlZCk7CiAKICAgICBh
dXRvKiBhY3RpdmVWaWRlb1NvdXJjZSA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmds
ZXRvbigpLnZpZGVvQ2FwdHVyZUZhY3RvcnkoKS5hY3RpdmVTb3VyY2UoKTsKLSAgICBpZiAoYWN0
aXZlVmlkZW9Tb3VyY2UgJiYgaXNTb3VyY2VDYXB0dXJpbmdGb3JUcmFja0luRG9jdW1lbnQoKmFj
dGl2ZVZpZGVvU291cmNlLCBkb2N1bWVudCkpIHsKLSAgICAgICAgYm9vbCBwYWdlTXV0ZWQgPSBw
YWdlLT5tdXRlZFN0YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlz
TXV0ZWQ7CisgICAgaWYgKGFjdGl2ZVZpZGVvU291cmNlICYmIGlzU291cmNlQ2FwdHVyaW5nRm9y
VHJhY2tJbkRvY3VtZW50KCphY3RpdmVWaWRlb1NvdXJjZSwgZG9jdW1lbnQpKQogICAgICAgICBh
Y3RpdmVWaWRlb1NvdXJjZS0+c2V0TXV0ZWQocGFnZU11dGVkIHx8IGRvY3VtZW50LmhpZGRlbigp
KTsKLSAgICB9CisgICAgZWxzZQorICAgICAgICB1cGRhdGVUcmFja3NBY2NvcmRpbmdQYWdlTXV0
ZWRTdGF0ZShkb2N1bWVudCwgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhLCBwYWdl
TXV0ZWQpOwogI2Vsc2UKICAgICBmb3IgKGF1dG8qIGNhcHR1cmVUcmFjayA6IGFsbENhcHR1cmVU
cmFja3MoKSkgewogICAgICAgICBpZiAoY2FwdHVyZVRyYWNrLT5kb2N1bWVudCgpID09ICZkb2N1
bWVudCAmJiAhY2FwdHVyZVRyYWNrLT5lbmRlZCgpKQotICAgICAgICAgICAgY2FwdHVyZVRyYWNr
LT51cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKCk7CisgICAgICAgICAgICBjYXB0dXJlVHJhY2stPnVw
ZGF0ZVRvUGFnZU11dGVkU3RhdGUobXV0ZWRTdGF0ZSk7CiAgICAgfQogI2VuZGlmCiB9CiAKLXZv
aWQgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSgpCit2b2lkIE1lZGlh
U3RyZWFtVHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUoTWVkaWFQcm9kdWNlcjo6TXV0ZWRT
dGF0ZUZsYWdzIG11dGVkU3RhdGUpCiB7CiAgICAgQVNTRVJUKGlzQ2FwdHVyZVRyYWNrKCkpOwot
ICAgIGF1dG8qIHBhZ2UgPSBkb2N1bWVudCgpLT5wYWdlKCk7Ci0gICAgaWYgKCFwYWdlKQotICAg
ICAgICByZXR1cm47CiAKICAgICBzd2l0Y2ggKHNvdXJjZSgpLmRldmljZVR5cGUoKSkgewogICAg
IGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWljcm9waG9uZToKICAgICBjYXNlIENh
cHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkNhbWVyYToKLSAgICAgICAgbV9wcml2YXRlLT5zZXRN
dXRlZChwYWdlLT5tdXRlZFN0YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2Fw
dHVyZUlzTXV0ZWQpOworICAgICAgICBtX3ByaXZhdGUtPnNldE11dGVkKG11dGVkU3RhdGUgJiBN
ZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQpOwogICAgICAgICBicmVh
azsKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbjoKICAgICBjYXNl
IENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoKLSAgICAgICAgbV9wcml2YXRlLT5z
ZXRNdXRlZChwYWdlLT5tdXRlZFN0YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpTY3JlZW5DYXB0dXJl
SXNNdXRlZCk7CisgICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQobXV0ZWRTdGF0ZSAmIE1lZGlh
UHJvZHVjZXI6OlNjcmVlbkNhcHR1cmVJc011dGVkKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyOgogICAgIGNhc2UgQ2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggN2QwM2EzYWZhMmFjMjY1
MTQ5YzZjYmEwMjRhMTVjYjUzNTRhZDNlNS4uMzE3ZWQwZGFkOWZiZWNmNzcxMTE4ZGJkNjk1OWRl
OWQ3MWFjNTc5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogICAgIHN0
YXRpYyB2b2lkIGVuZENhcHR1cmUoRG9jdW1lbnQmKTsKIAogICAgIHN0YXRpYyBNZWRpYVByb2R1
Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgY2FwdHVyZVN0YXRlKERvY3VtZW50Jik7Ci0gICAgc3RhdGlj
IHZvaWQgdXBkYXRlQ2FwdHVyZUFjY29yZGluZ1RvTXV0ZWRTdGF0ZShEb2N1bWVudCYpOworICAg
IHN0YXRpYyB2b2lkIHVwZGF0ZUNhcHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUoRG9jdW1lbnQm
LCBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MpOwogCiAgICAgdmlydHVhbCBib29sIGlz
Q2FudmFzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtMTY5LDcgKzE2OSw3IEBAIHBy
aXZhdGU6CiAgICAgZXhwbGljaXQgTWVkaWFTdHJlYW1UcmFjayhNZWRpYVN0cmVhbVRyYWNrJik7
CiAKICAgICB2b2lkIGNvbmZpZ3VyZVRyYWNrUmVuZGVyaW5nKCk7Ci0gICAgdm9pZCB1cGRhdGVU
b1BhZ2VNdXRlZFN0YXRlKCk7CisgICAgdm9pZCB1cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKE1lZGlh
UHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyk7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJ
LgogICAgIHZvaWQgc3RvcCgpIGZpbmFsIHsgc3RvcFRyYWNrKCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IDI3YTlkODEzZTI3NGZjMGY0OTU5MDlmNzAyYmFhYTMxNjcyYmU5MzAuLmVl
YzZiNGFhZjc5NTRhNmZkY2QyOTdlZWRjMzQwNjFjZTk0MzY1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtMTgxMCw5ICsxODEwLDEzIEBAIHZvaWQgRG9jdW1lbnQ6OnZpc2liaWxpdHlT
dGF0ZUNoYW5nZWQoKQogICAgICAgICBjbGllbnQtPnZpc2liaWxpdHlTdGF0ZUNoYW5nZWQoKTsK
IAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAg
YXV0byogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVy
bjsKKwogICAgIGlmIChhdXRvIG1lZGlhU2Vzc2lvbk1hbmFnZXIgPSBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKSB7CiAgICAgICAgIGlmICghbWVk
aWFTZXNzaW9uTWFuYWdlci0+aXNJbnRlcnJ1cHRlZCgpKQotICAgICAgICAgICAgTWVkaWFTdHJl
YW1UcmFjazo6dXBkYXRlQ2FwdHVyZUFjY29yZGluZ1RvTXV0ZWRTdGF0ZSgqdGhpcyk7CisgICAg
ICAgICAgICBNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0
YXRlKCp0aGlzLCBwYWdlLT5tdXRlZFN0YXRlKCkpOwogICAgIH0KICNlbmRpZgogfQpAQCAtNDI5
OCw3ICs0MzAyLDcgQEAgdm9pZCBEb2N1bWVudDo6cGFnZU11dGVkU3RhdGVEaWRDaGFuZ2UoKQog
ICAgICAgICBhdWRpb1Byb2R1Y2VyLnBhZ2VNdXRlZFN0YXRlRGlkQ2hhbmdlKCk7CiAKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQotICAgIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1cmVB
Y2NvcmRpbmdUb011dGVkU3RhdGUoKnRoaXMpOworICAgIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0
ZUNhcHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUoKnRoaXMsIHBhZ2UoKS0+bXV0ZWRTdGF0ZSgp
KTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBjZTkxNmY4ZjIwOTFmOTFjZmFm
ZTJlMzk4OTU2NzJlYmVlYmQxODU1Li5iMzczM2E3NThiMGNhOGE4MmRlYzZhYjJmMWU0NzgxZjNl
NWY0MTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTc5LDYgKzc5LDcgQEAKICNpbmNsdWRlICJM
b3dQb3dlck1vZGVOb3RpZmllci5oIgogI2luY2x1ZGUgIk1lZGlhQ2FuU3RhcnRMaXN0ZW5lci5o
IgogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJQcm92aWRlci5oIgorI2luY2x1ZGUgIk1lZGlhU3Ry
ZWFtVHJhY2suaCIKICNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKICNpbmNsdWRlICJQYWdlQ29uZmln
dXJhdGlvbi5oIgogI2luY2x1ZGUgIlBhZ2VDb25zb2xlQ2xpZW50LmgiCkBAIC0yMDc0LDYgKzIw
NzUsMjQgQEAgdm9pZCBQYWdlOjpzdG9wTWVkaWFDYXB0dXJlKCkKICNlbmRpZgogfQogCit2b2lk
IFBhZ2U6OmJlZ2luQXVkaW9DYXB0dXJlSW50ZXJydXB0aW9uKCkKK3sKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorICAgIGZvckVhY2hEb2N1bWVudChbbXV0ZWRTdGF0ZSA9IG11dGVkU3RhdGUo
KV0oYXV0byYgZG9jdW1lbnQpIHsKKyAgICAgICAgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlQ2Fw
dHVyZUFjY29yZGluZ1RvTXV0ZWRTdGF0ZShkb2N1bWVudCwgbXV0ZWRTdGF0ZSB8IE1lZGlhUHJv
ZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZCk7CisgICAgfSk7CisjZW5kaWYKK30K
Kwordm9pZCBQYWdlOjplbmRBdWRpb0NhcHR1cmVJbnRlcnJ1cHRpb24oKQoreworI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCisgICAgZm9yRWFjaERvY3VtZW50KFttdXRlZFN0YXRlID0gbXV0ZWRT
dGF0ZSgpXShhdXRvJiBkb2N1bWVudCkgeworICAgICAgICBNZWRpYVN0cmVhbVRyYWNrOjp1cGRh
dGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRlKGRvY3VtZW50LCBtdXRlZFN0YXRlKTsKKyAg
ICB9KTsKKyNlbmRpZgorfQorCiBib29sIFBhZ2U6Om1lZGlhUGxheWJhY2tFeGlzdHMoKQogewog
I2lmIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggMWJiNDMxNjU2ZGUyNDZmNmE0NjZh
OTUwZDg4ZDUyYWY4OWFjMDlhYy4uN2NkYzczMDEwMjQzZjFlZWQ1Y2U5NWJhZWFiNmFjYjdiMjI1
ZTU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTgzMSw2ICs4MzEsOSBAQCBwdWJsaWM6CiAgICAgYm9v
bCB0ZXh0SW50ZXJhY3Rpb25FbmFibGVkKCkgeyByZXR1cm4gbV90ZXh0SW50ZXJhY3Rpb25FbmFi
bGVkOyB9CiAgICAgdm9pZCBzZXRUZXh0SW50ZXJhY3Rpb25FbmFibGVkKGJvb2wgdmFsdWUpIHsg
bV90ZXh0SW50ZXJhY3Rpb25FbmFibGVkID0gdmFsdWU7IH0KIAorICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgYmVnaW5BdWRpb0NhcHR1cmVJbnRlcnJ1cHRpb24oKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIGVuZEF1ZGlvQ2FwdHVyZUludGVycnVwdGlvbigpOworCiBwcml2YXRlOgogICAgIHN0
cnVjdCBOYXZpZ2F0aW9uIHsKICAgICAgICAgUmVnaXN0cmFibGVEb21haW4gZG9tYWluOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRp
b1NoYXJlZFVuaXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0Jhc2VBdWRpb1NoYXJlZFVuaXQuY3BwCmluZGV4IDlmYzVmZjUwYTY1NjIzOWM5NWU0MTEwZmM2
NTZkOTQ4NDE0YzEzZjUuLmNkNmI1ZDNhMTI0ZjIwMzRlY2MzNmJkNjZhZTY0OTdmZTM5ODRlYmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNl
QXVkaW9TaGFyZWRVbml0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHAKQEAgLTE4MywxMyArMTgzLDYgQEAgT1NT
dGF0dXMgQmFzZUF1ZGlvU2hhcmVkVW5pdDo6cmVzdW1lKCkKICAgICAgICAgbV9uZWVkc1JlY29u
ZmlndXJhdGlvbiA9IGZhbHNlOwogICAgICAgICByZWNvbmZpZ3VyZSgpOwogICAgIH0KLQotICAg
IEFTU0VSVCghbV9wcm9kdWNpbmdDb3VudCk7Ci0KLSAgICBmb3JFYWNoQ2xpZW50KFtdKGF1dG8m
IGNsaWVudCkgewotICAgICAgICBjbGllbnQuc2V0TXV0ZWQoZmFsc2UpOwotICAgIH0pOwotCiAg
ICAgcmV0dXJuIDA7CiB9CiAKQEAgLTIwMSwxMyArMTk0LDYgQEAgT1NTdGF0dXMgQmFzZUF1ZGlv
U2hhcmVkVW5pdDo6c3VzcGVuZCgpCiAKICAgICBtX3N1c3BlbmRlZCA9IHRydWU7CiAgICAgc3Rv
cEludGVybmFsKCk7Ci0KLSAgICBmb3JFYWNoQ2xpZW50KFtdKGF1dG8mIGNsaWVudCkgewotICAg
ICAgICBjbGllbnQuc2V0TXV0ZWQodHJ1ZSk7Ci0gICAgfSk7Ci0KLSAgICBBU1NFUlQoIW1fcHJv
ZHVjaW5nQ291bnQpOwotCiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAppbmRleCBhYjYwMmQwYWNlY2QyM2ZkY2EzYzBkNDljNzhiZDc3MDIyZjQ1OWFm
Li5lMmIxNzI1YTg0NmVhOTc1MzFhMDIxM2NiMjRlOWIzYTlkYzE0YWZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01MjczLDcgKzUyNzMsMTYgQEAgdm9pZCBJbnRlcm5h
bHM6OnNldE1lZGlhU3RyZWFtVHJhY2tJZGVudGlmaWVyKE1lZGlhU3RyZWFtVHJhY2smIHRyYWNr
LCBTdHJpbmcmJgogCiB2b2lkIEludGVybmFsczo6c2V0TWVkaWFTdHJlYW1Tb3VyY2VJbnRlcnJ1
cHRlZChNZWRpYVN0cmVhbVRyYWNrJiB0cmFjaywgYm9vbCBpbnRlcnJ1cHRlZCkKIHsKKyAgICBh
dXRvKiBkb2N1bWVudCA9IGNvbnRleHREb2N1bWVudCgpOworICAgIGF1dG8qIHBhZ2UgPSBkb2N1
bWVudCA/IGRvY3VtZW50LT5wYWdlKCkgOiBudWxscHRyOworICAgIGlmICghcGFnZSkKKyAgICAg
ICAgcmV0dXJuOworCiAgICAgdHJhY2suc291cmNlKCkuc2V0SW50ZXJydXB0ZWRGb3JUZXN0aW5n
KGludGVycnVwdGVkKTsKKyAgICBpZiAoaW50ZXJydXB0ZWQpCisgICAgICAgIHBhZ2UtPmJlZ2lu
QXVkaW9DYXB0dXJlSW50ZXJydXB0aW9uKCk7CisgICAgZWxzZQorICAgICAgICBwYWdlLT5lbmRB
dWRpb0NhcHR1cmVJbnRlcnJ1cHRpb24oKTsKIH0KIAogYm9vbCBJbnRlcm5hbHM6OmlzTWVkaWFT
dHJlYW1Tb3VyY2VJbnRlcnJ1cHRlZChNZWRpYVN0cmVhbVRyYWNrJiB0cmFjaykgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA0YmIxOGE2NmM3NWE0OGMz
NmU4Njc2MWQzMGRjMzNlZWI3MDljYWJkLi4yZDM0NzE2Yzc2NjhlNGY5Y2U0ZmIxZmNhOTZmOTZk
ZmVhMTE3NWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0x
ODE0LDcgKzE4MTQsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY2hlY2tEb2N1bWVudHNDYXB0dXJl
U3RhdGVDb25zaXN0ZW5jeShjb25zdCBWZWN0b3I8U3RyaW5nPiYgZQogCiB2b2lkIFdlYlByb2Nl
c3M6OnJldm9rZVVzZXJNZWRpYURldmljZVNhbmRib3hFeHRlbnNpb25zKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBleHRlbnNpb25JRHMpCiB7Ci0gICAgY2hlY2tEb2N1bWVudHNDYXB0dXJlU3RhdGVD
b25zaXN0ZW5jeShleHRlbnNpb25JRHMpOworICAgIGlmICghTW9ja1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXI6Om1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyRW5hYmxlZCgpKQorICAgICAg
ICBjaGVja0RvY3VtZW50c0NhcHR1cmVTdGF0ZUNvbnNpc3RlbmN5KGV4dGVuc2lvbklEcyk7CiAK
ICAgICBmb3IgKGNvbnN0IGF1dG8mIGV4dGVuc2lvbklEIDogZXh0ZW5zaW9uSURzKSB7CiAgICAg
ICAgIGF1dG8gZXh0ZW5zaW9uID0gbV9tZWRpYUNhcHR1cmVTYW5kYm94RXh0ZW5zaW9ucy50YWtl
KGV4dGVuc2lvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tCmluZGV4IGI2Y2M4NjQxMjM3NDkzZGQ2MzYyZmMwNWM1MGRlN2NiY2E5
Nzc0OTguLjc0Nzc4Mjk1Njg2NGQ3ZmUwMjA2ZThmMTY4M2RiMjEzYTg4MDU3MWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAt
NTQsNiArNTQsNyBAQAogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvT3B0aW9ucy5oPgogI2ltcG9y
dCA8V2ViQ29yZS9BVkFzc2V0TUlNRVR5cGVDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BWE9i
amVjdENhY2hlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0F1ZGlvU2Vzc2lvbi5oPgogI2ltcG9ydCA8
V2ViQ29yZS9DUFVNb25pdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Rpc3BsYXlSZWZyZXNoTW9u
aXRvck1hbmFnZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRm9udENhY2hlLmg+CkBAIC0xNzAsNiAr
MTcxLDEwIEBAIHN0YXRpYyBjb25zdCBTZWNvbmRzIGNwdU1vbml0b3JpbmdJbnRlcnZhbCB7IDhf
bWluIH07CiBzdGF0aWMgY29uc3QgZG91YmxlIHNlcnZpY2VXb3JrZXJDUFVMaW1pdCB7IDAuNSB9
OyAvLyA1MCUgYXZlcmFnZSBDUFUgdXNhZ2Ugb3ZlciA4IG1pbnV0ZXMuCiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKElPUykKK3N0YXRpYyB2b2lkIGxpc3RlblRvQXVkaW9TZXNzaW9uSW50ZXJydXB0
aW9uKCk7CisjZW5kaWYKKwogdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwo
Q2FjaGVNb2RlbCkKIHsKIH0KQEAgLTQwNiw2ICs0MTEsMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMm
IHBhcmEKICNlbmRpZgogCiAgICAgV2ViQ29yZTo6SU9TdXJmYWNlOjpzZXRNYXhpbXVtU2l6ZShw
YXJhbWV0ZXJzLm1heGltdW1JT1N1cmZhY2VTaXplKTsKKworI2lmIFBMQVRGT1JNKElPUykKKyAg
ICBsaXN0ZW5Ub0F1ZGlvU2Vzc2lvbkludGVycnVwdGlvbigpOworI2VuZGlmCiB9CiAKIHZvaWQg
V2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyhXZWJQcm9j
ZXNzRGF0YVN0b3JlUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCkBAIC0xMTc3LDYgKzExODYsNDkg
QEAgdm9pZCBXZWJQcm9jZXNzOjp3YWl0Rm9yUGVuZGluZ1Bhc3RlYm9hcmRXcml0ZXNUb0Zpbmlz
aChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmQKICAgICB9CiB9CiAKKyNpZiBQTEFURk9STShJT1Mp
CitjbGFzcyBQYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXIgOiBwdWJsaWMgQXVk
aW9TZXNzaW9uOjpJbnRlcnJ1cHRpb25PYnNlcnZlciB7CitwdWJsaWM6CisgICAgUGFnZUF1ZGlv
U2Vzc2lvbkludGVycnVwdGlvbk9ic2VydmVyKCk7CisgICAgflBhZ2VBdWRpb1Nlc3Npb25JbnRl
cnJ1cHRpb25PYnNlcnZlcigpOworCitwcml2YXRlOgorICAgIHZvaWQgYmVnaW5BdWRpb1Nlc3Np
b25JbnRlcnJ1cHRpb24oKSBmaW5hbDsKKyAgICB2b2lkIGVuZEF1ZGlvU2Vzc2lvbkludGVycnVw
dGlvbihXZWJDb3JlOjpBdWRpb1Nlc3Npb246Ok1heVJlc3VtZSkgZmluYWw7Cit9OworCitQYWdl
QXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXI6OlBhZ2VBdWRpb1Nlc3Npb25JbnRlcnJ1
cHRpb25PYnNlcnZlcigpCit7CisgICAgQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkuYWRk
SW50ZXJydXB0aW9uT2JzZXJ2ZXIoKnRoaXMpOworfQorCitQYWdlQXVkaW9TZXNzaW9uSW50ZXJy
dXB0aW9uT2JzZXJ2ZXI6On5QYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2JzZXJ2ZXIoKQor
eworICAgIEF1ZGlvU2Vzc2lvbjo6c2hhcmVkU2Vzc2lvbigpLnJlbW92ZUludGVycnVwdGlvbk9i
c2VydmVyKCp0aGlzKTsKK30KKwordm9pZCBQYWdlQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uT2Jz
ZXJ2ZXI6OmJlZ2luQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uKCkKK3sKKyAgICBQYWdlOjpmb3JF
YWNoUGFnZShbXShhdXRvJiBwYWdlKSB7CisgICAgICAgIHBhZ2UuYmVnaW5BdWRpb0NhcHR1cmVJ
bnRlcnJ1cHRpb24oKTsKKyAgICB9KTsKK30KKwordm9pZCBQYWdlQXVkaW9TZXNzaW9uSW50ZXJy
dXB0aW9uT2JzZXJ2ZXI6OmVuZEF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbihBdWRpb1Nlc3Npb246
Ok1heVJlc3VtZSBtYXlSZXN1bWUpCit7CisgICAgaWYgKG1heVJlc3VtZSA9PSBBdWRpb1Nlc3Np
b246Ok1heVJlc3VtZTo6Tm8pCisgICAgICAgIHJldHVybjsKKyAgICBQYWdlOjpmb3JFYWNoUGFn
ZShbXShhdXRvJiBwYWdlKSB7CisgICAgICAgIHBhZ2UuZW5kQXVkaW9DYXB0dXJlSW50ZXJydXB0
aW9uKCk7CisgICAgfSk7Cit9CisKK3ZvaWQgbGlzdGVuVG9BdWRpb1Nlc3Npb25JbnRlcnJ1cHRp
b24oKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxQYWdlQXVkaW9TZXNzaW9uSW50ZXJy
dXB0aW9uT2JzZXJ2ZXI+IG9ic2VydmVyOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCiAjdW5kZWYgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tdHJhY2staW50ZXJydXB0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXRyYWNrLWludGVy
cnVwdGVkLmh0bWwKaW5kZXggNzY0MGM2YTM0ZWYyOWFjYmE2NjJkMDliMmRiMDRmNTIzMjdiNGUx
My4uNGM5NGMzY2VmZWEzNmE0ZTg5NzZkZmQ0ODk2NDIyMGFlZDhkNTE5NCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tdHJhY2staW50ZXJydXB0
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS10
cmFjay1pbnRlcnJ1cHRlZC5odG1sCkBAIC01MCw4ICs1MCwxMSBAQAogCiAgICAgZnVuY3Rpb24g
dGVzdFRyYWNrKHRyYWNrLCB0aXRsZSkKICAgICB7Ci0gICAgICAgIHByb21pc2VfdGVzdCgodGVz
dCkgPT4gewotICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3Qp
ID0+IHsKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgICAgICAg
ICBpZiAodHJhY2subXV0ZWQpCisgICAgICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB0cmFjay5vbnVubXV0ZSA9IHJlc29sdmUpOworCisgICAgICAgICAgICBhd2FpdCBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgICAgICAgICAgICAgbGV0IGlz
VmlkZW8gPSB0cmFjay5raW5kID09ICJ2aWRlbyI7CiAgICAgICAgICAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGludGVybmFs
cy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKCdIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZScp
KTsKQEAgLTY3LDEyICs3MCw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjay5vbnVu
bXV0ZSA9IChldnQpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWl0Rm9yUGFn
ZVN0YXRlQ2hhbmdlKDEwLCBwYWdlU3RhdGUsIHJlc29sdmUsIHJlamVjdCkKICAgICAgICAgICAg
ICAgICAgICAgICAgIH0KLQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVk
aWFTdGF0ZS5pbmNsdWRlcyhpc1ZpZGVvID8gJ0hhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlJyA6
ICdIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZScpKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhc3NlcnRfZmFsc2UocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoaXNWaWRlbyA/ICdIYXNN
dXRlZEF1ZGlvQ2FwdHVyZURldmljZScgOiAnSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UnKSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUocGFnZU1lZGlhU3RhdGUu
aW5jbHVkZXMoaXNWaWRlbyA/ICdIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UnIDogJ0hhc0Fj
dGl2ZVZpZGVvQ2FwdHVyZURldmljZScpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
c3NlcnRfZmFsc2UocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoaXNWaWRlbyA/ICdIYXNBY3RpdmVW
aWRlb0NhcHR1cmVEZXZpY2UnIDogJ0hhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZScpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVkaWFTdGF0ZS5pbmNs
dWRlcygnSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UnKSwgJ2F1ZGlvIG11dGVkJyk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUocGFnZU1lZGlhU3RhdGUuaW5jbHVk
ZXMoJ0hhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlJyksICd2aWRlbyBtdXRlZCcpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBhZ2VTdGF0ZSA9IGludGVybmFscy5wYWdlTWVkaWFTdGF0
ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVybmFscy5zZXRNZWRpYVN0cmVh
bVNvdXJjZUludGVycnVwdGVkKHRyYWNrLCBmYWxzZSkKICAgICAgICAgICAgICAgICAgICAgICAg
IH0KQEAgLTg1LDYgKzg1LDggQEAKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
c2V0VGltZW91dCgoKSA9PiByZWplY3QoIk11dGVkIHN0YXRlIGRpZCBub3QgY2hhbmdlIGluIDEg
c2Vjb25kIiksIDEwMDApOwogICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB0cmFjay5vbm11
dGUgPSAoKSA9PiB7IH07CisgICAgICAgICAgICB0cmFjay5vbnVubXV0ZSA9ICgpID0+IHsgfTsK
ICAgICAgICAgfSwgdGl0bGUpOwogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>