<?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>194068</bug_id>
          
          <creation_ts>2019-01-30 17:30:38 -0800</creation_ts>
          <short_desc>[WebGPU] WebGPUAdapterDescriptor -&gt; GPURequestAdapterOptions and take powerPreference into account</short_desc>
          <delta_ts>2019-01-31 12:53:58 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Fan">justin_fan</reporter>
          <assigned_to name="Justin Fan">justin_fan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1500313</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-30 17:30:38 -0800</bug_when>
    <thetext>[WebGPU] MGPUAdapterDescriptor -&gt; GPURequestAdapterOptions and take powerPreference into account</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500321</commentid>
    <comment_count>1</comment_count>
      <attachid>360659</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-30 17:46:02 -0800</bug_when>
    <thetext>Created attachment 360659
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500322</commentid>
    <comment_count>2</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-30 17:47:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/47680215&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500332</commentid>
    <comment_count>3</comment_count>
      <attachid>360662</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-30 18:04:19 -0800</bug_when>
    <thetext>Created attachment 360662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500652</commentid>
    <comment_count>4</comment_count>
      <attachid>360744</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-31 11:00:20 -0800</bug_when>
    <thetext>Created attachment 360744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500674</commentid>
    <comment_count>5</comment_count>
      <attachid>360744</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-01-31 11:40:40 -0800</bug_when>
    <thetext>Comment on attachment 360744
Patch

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

&gt; Source/WebCore/Modules/webgpu/WebGPU.h:36
&gt; +    

Is that a blank tab?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500688</commentid>
    <comment_count>6</comment_count>
      <attachid>360749</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-01-31 11:58:50 -0800</bug_when>
    <thetext>Created attachment 360749
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500716</commentid>
    <comment_count>7</comment_count>
      <attachid>360749</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-31 12:53:56 -0800</bug_when>
    <thetext>Comment on attachment 360749
Patch for landing

Clearing flags on attachment: 360749

Committed r240807: &lt;https://trac.webkit.org/changeset/240807&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500717</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-31 12:53:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360659</attachid>
            <date>2019-01-30 17:46:02 -0800</date>
            <delta_ts>2019-01-30 18:04:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194068-20190130174602.patch</filename>
            <type>text/plain</type>
            <size>33283</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFkNzQ1MGE5NDQ0ODAw
NmViOTcyYTEyMjYyYTI3ZmVjMDBjNDAwZi4uNTZlN2EyM2JlYWQzMzkzNTdiNTM0YzYyZTcyMTg1
OGIxMWY1NDk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAxLTMwICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gR1BVQWRh
cHRlckRlc2NyaXB0b3IgLT4gR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIGFuZCB0YWtlIHBvd2Vy
UHJlZmVyZW5jZSBpbnRvIGFjY291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5NDA2OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2ODAyMTU+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAg
ICBQZXIgdGhlIFdlYiBHUFUgSURMLCBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvciBpcyBub3cga25v
d24gYXMgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIGFuZCBpcyBvcHRpb25hbC4KKyAgICAgICAg
SW4gYWRkaXRpb24sIFdlYiBHUFUgbm93IGFjdHVhbGx5IGF0dGVtcHRzIHRvIHJldHVybiBhbiBp
bnRlZ3JhdGVkIEdQVSB3aGVuIGEgbG93LXBvd2VyIGFkYXB0ZXIgaXMgcmVxdWVzdGVkLgorCisg
ICAgICAgIFRlc3Q6IGFkYXB0ZXItb3B0aW9ucy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsLgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFU6
OnJlcXVlc3RBZGFwdGVyIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFUu
aDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFUuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVQWRh
cHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVUFkYXB0ZXI6OldlYkdQVUFk
YXB0ZXIpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdQVUFkYXB0ZXI6Om9wdGlvbnMgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVE
ZXZpY2U6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmlj
ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZXF1ZXN0QWRhcHRlck9w
dGlvbnMuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUFkYXB0ZXJEZXNjcmlwdG9yLmguCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2Nv
Y29hL0dQVURldmljZU1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpjcmVh
dGUpOgorCisgICAgICAgIFN5bWJvbCB1cGRhdGVzIGZvciB0aGUgcmVuYW1pbmc6CisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisKIDIwMTktMDEtMjggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4K
IAogICAgICAgICBMaW1pdCB1c2VyLWFnZW50IGludGVyYWN0aW9ucyBiYXNlZCBvbiB0aGUgdG91
Y2gtYWN0aW9uIHByb3BlcnR5IG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0ODJjZjZm
ZDU5Y2MzOWFkMzEyNjgwMTgyZjgwN2Y4Njk2Njk1NzAwLi45N2E4ZTg4ZGI1Y2NkNjIwNGM5MTdk
NzEyZDk5OGJhYTlhYjlmNGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDYyLDkgKzQ2Miw5
IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJkcml2ZXIv
TmF2aWdhdG9yV2ViRHJpdmVyLmlkbAogCiAgICAgTW9kdWxlcy93ZWJncHUvRE9NV2luZG93V2Vi
R1BVLmlkbAorICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwK
ICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFUuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BV
QWRhcHRlci5pZGwKLSAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5p
ZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXAuaWRsCiAgICAgTW9kdWxlcy93
ZWJncHUvV2ViR1BVQmluZEdyb3VwQmluZGluZy5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVCaW5kR3JvdXBEZXNjcmlwdG9yLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggY2Q2NzU3NjY0ZWVjNWUwYzYwOWFiMmY2OTEyMGM4NGFhZTlmZDY4Ny4uZWQ3MmJmZWM5ZDYx
NDQ0NzAwZDU5MGEyODM4MjQ2OGM3MWI4ZWVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0zNzIsOSArMzcyLDkgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZHJpdmVyL05hdmlnYXRvcldlYkRyaXZlci5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvRE9NV2luZG93V2ViR1BVLmlkbCBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5pZGwgXAotICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cC5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwQmluZGluZy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwRGVzY3JpcHRvci5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVUmVxdWVzdEFkYXB0ZXJPcHRp
b25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVy
T3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JjODRmMjQ0MDUxMDM4Yjc0YTVhY2M1ZGE0YzM0MmRj
OTBjYWRhNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisvLyBodHRwczovL2dpdGh1Yi5jb20vZ3B1d2ViL2dwdXdlYi9ibG9iL21hc3Rlci9kZXNpZ24v
c2tldGNoLndlYmlkbAorCitlbnVtIEdQVVBvd2VyUHJlZmVyZW5jZSB7CisgICAgImxvdy1wb3dl
ciIsCisgICAgImhpZ2gtcGVyZm9ybWFuY2UiCit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VC
R1BVLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitdIGRpY3Rpb25hcnkgR1BVUmVxdWVz
dEFkYXB0ZXJPcHRpb25zIHsKKyAgICBHUFVQb3dlclByZWZlcmVuY2UgcG93ZXJQcmVmZXJlbmNl
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuY3BwCmluZGV4IDBkYzQx
MWFlMzAzZTRiMDg2ZWRiZjlmODY4Zjg1ZGI0ZDFhYzY0ZmYuLjM4Zjk5M2MxNjI3MTNjMDlmYjA3
ZmRiMjk5MDljM2FhOWEzOGM5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkKIAorI2luY2x1
ZGUgIkdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkpTV2ViR1BVQWRhcHRl
ci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw5ICszOCw5IEBAIFJlZjxXZWJHUFU+
IFdlYkdQVTo6Y3JlYXRlKCkKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFUpOwogfQog
Ci12b2lkIFdlYkdQVTo6cmVxdWVzdEFkYXB0ZXIoY29uc3QgV2ViR1BVQWRhcHRlckRlc2NyaXB0
b3ImIGRlc2NyaXB0b3IsIFdlYkdQVUFkYXB0ZXJQcm9taXNlJiYgZGVmZXJyZWQpIGNvbnN0Cit2
b2lkIFdlYkdQVTo6cmVxdWVzdEFkYXB0ZXIoT3B0aW9uYWw8R1BVUmVxdWVzdEFkYXB0ZXJPcHRp
b25zPiYmIG9wdGlvbnMsIFdlYkdQVUFkYXB0ZXJQcm9taXNlJiYgZGVmZXJyZWQpIGNvbnN0CiB7
Ci0gICAgYXV0byBhZGFwdGVyID0gV2ViR1BVQWRhcHRlcjo6Y3JlYXRlKGRlc2NyaXB0b3IpOwor
ICAgIGF1dG8gYWRhcHRlciA9IFdlYkdQVUFkYXB0ZXI6OmNyZWF0ZShXVEZNb3ZlKG9wdGlvbnMp
KTsKICAgICBkZWZlcnJlZC5yZXNvbHZlKGFkYXB0ZXIuZ2V0KCkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oCmluZGV4IDBkNTEwNzY5MDI4ZTEzNjAxOWE4YzI2NmJi
MGI3ZDZjYTg1MGIwM2MuLjc5N2JmMmJkOWEyZTZmNzhjODkzZjM2NjFjNzJiZDlkMGJmN2VkZTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oCkBAIC0yOCwxMiArMjgsMTMg
QEAKICNpZiBFTkFCTEUoV0VCR1BVKQogCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBXZWJHUFVBZGFwdGVyOwotCi1zdHJ1Y3QgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3I7Cisg
ICAgCitzdHJ1Y3QgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zOwogCiBjbGFzcyBXZWJHUFUgOiBw
dWJsaWMgUmVmQ291bnRlZDxXZWJHUFU+IHsKIHB1YmxpYzoKQEAgLTQxLDcgKzQyLDcgQEAgcHVi
bGljOgogCiAgICAgdXNpbmcgV2ViR1BVQWRhcHRlclByb21pc2UgPSBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMSW50ZXJmYWNlPFdlYkdQVUFkYXB0ZXI+PjsKIAotICAgIHZvaWQgcmVxdWVzdEFkYXB0
ZXIoY29uc3QgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3ImLCBXZWJHUFVBZGFwdGVyUHJvbWlzZSYm
KSBjb25zdDsKKyAgICB2b2lkIHJlcXVlc3RBZGFwdGVyKE9wdGlvbmFsPEdQVVJlcXVlc3RBZGFw
dGVyT3B0aW9ucz4mJiwgV2ViR1BVQWRhcHRlclByb21pc2UmJikgY29uc3Q7CiAKIHByaXZhdGU6
CiAgICAgV2ViR1BVKCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVS5pZGwKaW5kZXggYzYzZGU4YWQ1M2QxNjIzNzk4OWM1NGE1MTVjYjYwZTk5NzdhNjExNi4u
MWNjOWU0Zjk3NjBmYzk5MzU4ZGU3N2Q2NzAxNmIzOWIwZjNjZWJkYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuaWRsCkBAIC0yOSw1ICsyOSw1IEBACiAgICAgRW5hYmxl
ZEF0UnVudGltZT1XZWJHUFUsCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRl
cmZhY2UgV2ViR1BVIHsKLSAgICBQcm9taXNlPFdlYkdQVUFkYXB0ZXI+IHJlcXVlc3RBZGFwdGVy
KFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yIGRlc2MpOworICAgIFByb21pc2U8V2ViR1BVQWRhcHRl
cj4gcmVxdWVzdEFkYXB0ZXIob3B0aW9uYWwgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIG9wdGlv
bnMpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUFkYXB0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRl
ci5jcHAKaW5kZXggNzdmOWY0OTFlNGZjMTYxOWUwMGRiOTI2NzQ4ZWFhYmFiYmQ1MTFiYS4uOGJm
NmU5YmI0M2Y1MjAxNTE4MTYxZjU3NGVlNmVmMTE1MzE2ZTdhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKQEAgLTI5LDIxICsyOSwxOCBA
QAogI2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCi0jaW5jbHVkZSAiV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJXZWJH
UFVEZXZpY2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWY8V2ViR1BVQWRhcHRlcj4g
V2ViR1BVQWRhcHRlcjo6Y3JlYXRlKGNvbnN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yJiBkZXNj
cmlwdG9yKQorUmVmPFdlYkdQVUFkYXB0ZXI+IFdlYkdQVUFkYXB0ZXI6OmNyZWF0ZShPcHRpb25h
bDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiYgb3B0aW9ucykKIHsKLSAgICAvLyBGSVhNRTog
VmFsaWRhdGlvbiBvbiBkZXNjcmlwdG9yLgotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQ
VUFkYXB0ZXIoZGVzY3JpcHRvcikpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQVUFk
YXB0ZXIoV1RGTW92ZShvcHRpb25zKSkpOwogfQogCi1XZWJHUFVBZGFwdGVyOjpXZWJHUFVBZGFw
dGVyKGNvbnN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQotICAgIDogbV9k
ZXNjcmlwdG9yKGRlc2NyaXB0b3IpCitXZWJHUFVBZGFwdGVyOjpXZWJHUFVBZGFwdGVyKE9wdGlv
bmFsPEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucz4mJiBvcHRpb25zKQorICAgIDogbV9vcHRpb25z
KFdURk1vdmUob3B0aW9ucykpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKG1fZGVzY3JpcHRvcik7CiB9
CiAKIFJlZlB0cjxXZWJHUFVEZXZpY2U+IFdlYkdQVUFkYXB0ZXI6OmNyZWF0ZURldmljZSgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmgKaW5kZXggOGQw
NGU1NGJmMmE2NDA4ZTllODgyNTRjODIwNGNlYzU1YzE2ODA4NC4uYmY3Y2MzZmY4MjhlMTZiYzE3
MTQxMjJmMjA0YThhMGVmNDQ5NjVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV2ViR1BVQWRhcHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVUFkYXB0ZXIuaApAQCAtMjcsNiArMjcsOCBAQAogCiAjaWYgRU5BQkxFKFdFQkdQ
VSkKIAorI2luY2x1ZGUgIkdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oIgorI2luY2x1ZGUgPHd0
Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCkBAIC0zNSwxOCArMzcsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFdlYkdQVURldmljZTsKIAotc3RydWN0
IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yOwotCiBjbGFzcyBXZWJHUFVBZGFwdGVyIDogcHVibGlj
IFJlZkNvdW50ZWQ8V2ViR1BVQWRhcHRlcj4gewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8V2Vi
R1BVQWRhcHRlcj4gY3JlYXRlKGNvbnN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yJik7CisgICAg
c3RhdGljIFJlZjxXZWJHUFVBZGFwdGVyPiBjcmVhdGUoT3B0aW9uYWw8R1BVUmVxdWVzdEFkYXB0
ZXJPcHRpb25zPiYmKTsKIAogICAgIFJlZlB0cjxXZWJHUFVEZXZpY2U+IGNyZWF0ZURldmljZSgp
OworICAgIAorICAgIE9wdGlvbmFsPEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucz4gb3B0aW9ucygp
IGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9uczsgfQogCiBwcml2YXRlOgotICAgIFdlYkdQVUFkYXB0
ZXIoY29uc3QgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3ImKTsKKyAgICBleHBsaWNpdCBXZWJHUFVB
ZGFwdGVyKE9wdGlvbmFsPEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucz4mJik7CiAKLSAgICBjb25z
dCBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvciYgbV9kZXNjcmlwdG9yOworICAgIE9wdGlvbmFsPEdQ
VVJlcXVlc3RBZGFwdGVyT3B0aW9ucz4gbV9vcHRpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
QWRhcHRlckRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUFkYXB0ZXJEZXNjcmlwdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlZTRk
ODlhMTMzOTU2MzA1ZWUzODk3MWE4OTFkYTI1ZTk3OWNmMGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotc3RydWN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yIHsKLSAgICBl
bnVtIGNsYXNzIFBvd2VyUHJlZmVyZW5jZSB7Ci0gICAgICAgIERlZmF1bHQsCi0gICAgICAgIExv
d1Bvd2VyLAotICAgICAgICBIaWdoUGVyZm9ybWFuY2UKLSAgICB9OwotCi0gICAgUG93ZXJQcmVm
ZXJlbmNlIHBvd2VyUHJlZmVyZW5jZSA9IFBvd2VyUHJlZmVyZW5jZTo6RGVmYXVsdDsKLX07Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVzY3Jp
cHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVz
Y3JpcHRvci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyOTRkN2NiMzQ1ZWFh
OTY1M2E0MzdlMWNjMDkxNWRhZTA3NWJhNzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRh
cHRlckRlc2NyaXB0b3IuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0vLyBodHRwczovL2dpdGh1Yi5jb20vZ3B1d2ViL2dwdXdlYi9ibG9iL21hc3Rlci9kZXNp
Z24vc2tldGNoLndlYmlkbAotCi1lbnVtIFdlYkdQVVBvd2VyUHJlZmVyZW5jZSB7Ci0gICAgImRl
ZmF1bHQiLAotICAgICJsb3ctcG93ZXIiLAotICAgICJoaWdoLXBlcmZvcm1hbmNlIgotfTsKLQot
WwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQot
XSBkaWN0aW9uYXJ5IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yIHsKLSAgICBXZWJHUFVQb3dlclBy
ZWZlcmVuY2UgcG93ZXJQcmVmZXJlbmNlID0gImRlZmF1bHQiOwotfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4IDcwYWRlYzgzMDZmZWEy
MzM3NzUyOGRhZGU3YmI4OGFiMmMyYmQwNzIuLmE5OGVjNTg1YmJhZDYzNWY0ZjY5OTMxMWE0YzU4
NTM0OTVhMjEwYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcApAQCAtNTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFJlZlB0
cjxXZWJHUFVEZXZpY2U+IFdlYkdQVURldmljZTo6Y3JlYXRlKFJlZjxXZWJHUFVBZGFwdGVyPiYm
IGFkYXB0ZXIpCiB7Ci0gICAgaWYgKGF1dG8gZGV2aWNlID0gR1BVRGV2aWNlOjpjcmVhdGUoKSkg
Ly8gRklYTUU6IFRha2UgYWRhcHRlciBpbnRvIGFjY291bnQgd2hlbiBjcmVhdGluZyBtX2Rldmlj
ZS4KKyAgICBpZiAoYXV0byBkZXZpY2UgPSBHUFVEZXZpY2U6OmNyZWF0ZShhZGFwdGVyLT5vcHRp
b25zKCkpKQogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkdQVURldmljZShXVEZNb3Zl
KGFkYXB0ZXIpLCBkZXZpY2UucmVsZWFzZU5vbk51bGwoKSkpOwogICAgIHJldHVybiBudWxscHRy
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAppbmRleCBkZTU0MjFmOGY4ZmMzMmM0NmU3YWM5YTdmOWJkYTdkZDRk
MTNlYmRiLi42NzUxMDkxOTAyNDdjMzA5OWZjOWEwNTRkYjU4ZjZmZWJlMTU0MTUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dApAQCAtMjc2Niw2ICsyNzY2LDcgQEAgSlNHZW9wb3NpdGlvbi5jcHAKIEpTR2xvYmFs
Q3J5cHRvLmNwcAogSlNHbG9iYWxFdmVudEhhbmRsZXJzLmNwcAogSlNHbG9iYWxQZXJmb3JtYW5j
ZS5jcHAKK0pTR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmNwcAogSlNIVE1MQWxsQ29sbGVjdGlv
bi5jcHAKIEpTSFRNTEFuY2hvckVsZW1lbnQuY3BwCiBKU0hUTUxBcHBsZXRFbGVtZW50LmNwcApA
QCAtMzI5MCw3ICszMjkxLDYgQEAgSlNXYXZlU2hhcGVyTm9kZS5jcHAKIEpTV2ViQW5pbWF0aW9u
LmNwcAogSlNXZWJHUFUuY3BwCiBKU1dlYkdQVUFkYXB0ZXIuY3BwCi1KU1dlYkdQVUFkYXB0ZXJE
ZXNjcmlwdG9yLmNwcAogSlNXZWJHUFVCaW5kR3JvdXAuY3BwCiBKU1dlYkdQVUJpbmRHcm91cEJp
bmRpbmcuY3BwCiBKU1dlYkdQVUJpbmRHcm91cERlc2NyaXB0b3IuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWNjM2JhZTQx
YTI2MTAwNDYzYWM5MmUzOTIxMWI1NTQzNTkxZWM0Yi4uZThiMTAxYzZjMTBmNTgyNjRkYTgyMGUw
NDcyMzFmYjI4NTVkMjk4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM5NDIsOCArMTM5NDIsNyBAQAogCQlEMDIzMkI1ODIx
Q0I0OUI3MDA5NDgzQjkgLyogR1BVQmluZEdyb3VwTGF5b3V0TWV0YWwubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBHUFVCaW5kR3JvdXBMYXlvdXRNZXRhbC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRDAyNDU0RDAyMUM0QTQxQzAwQjczNjI4IC8qIEdQVUJpbmRHcm91cExheW91
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBHUFVCaW5kR3JvdXBMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRDAyQjgzRUQyMUM4Mzk3QTAwRjg1NDczIC8qIFdlYkdQVUJpbmRHcm91
cExheW91dERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0
b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlEMDJDMjY5MTIxODE0MTZEMDBE
ODE4RTQgLyogV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BV
QWRhcHRlckRlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRDAyQzI2
OTIyMTgxNDE2RDAwRDgxOEU0IC8qIFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBX
ZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwMkMyNjkyMjE4MTQxNkQwMEQ4MThFNCAvKiBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUQwMkY4NTRFMjE2ODJBNEEwMDg4RUU3NCAvKiBXZWJNZXRhbENvbW1hbmRRdWV1
ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gV2ViTWV0YWxDb21tYW5kUXVldWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlEMDJGODU1MDIxNjgyQTU2MDA4OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlQ29t
bWFuZEVuY29kZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAyRjg1NTEy
MTY4MkE1NjAwODhFRTc0IC8qIFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQwMzMsNiArMTQwMzIsNyBAQAogCQlE
MDYzQUU0NzIxQzA2NjI2MDAwRTZBMzUgLyogV2ViR1BVSW5wdXRTdGVwTW9kZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
V2ViR1BVSW5wdXRTdGVwTW9kZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQw
NjNBRTQ4MjFDMDY2REIwMDBFNkEzNSAvKiBXZWJHUFVJbmRleEZvcm1hdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJHUFVJbmRleEZvcm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
MDYzQUU0OTIxQzA2NkRCMDAwRTZBMzUgLyogV2ViR1BVSW5kZXhGb3JtYXQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdl
YkdQVUluZGV4Rm9ybWF0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA2QTlB
MjEyMjAyNkM3QTAwODNDNjYyIC8qIEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRDA2QzBEOEQwQ0ZEMTE0NjAwNjVGNDNGIC8qIFJlbW92ZUZvcm1hdENvbW1hbmQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3ZlRm9ybWF0Q29tbWFuZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDZDMEQ4RTBDRkQxMTQ2MDA2NUY0M0Yg
LyogUmVtb3ZlRm9ybWF0Q29tbWFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW1vdmVGb3JtYXRDb21tYW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRDA3REVBQjcwQTM2NTU0QTAwQ0EzMEY4IC8qIEluc2VydExpc3RDb21tYW5kLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNlcnRMaXN0Q29tbWFuZC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzI3Niw4ICsxNzI3Niw4IEBACiAJ
CTI5QTgxMjA0MEZCQjlCNDEwMDUxMDI5MyAvKiBhY2Nlc3NpYmlsaXR5ICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQkyOUFFMjEyOTIxQUI5RUNCMDA4Njky
ODMgLyogaXNvbGF0ZWR0cmVlICovLAogCQkJCUFBQTcyOEVGMTZEMUQ4QkMwMEQzQkJDNiAvKiBp
b3MgKi8sCisJCQkJMjlBRTIxMjkyMUFCOUVDQjAwODY5MjgzIC8qIGlzb2xhdGVkdHJlZSAqLywK
IAkJCQkyOUE4MTIwNTBGQkI5QjUyMDA1MTAyOTMgLyogbWFjICovLAogCQkJCTI5ODFDQTlEMTMx
ODIyRUMwMEQxMkYyQSAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwICovLAogCQkJCTI5QTgx
MjE2MEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQuaCAqLywKQEAgLTE3
Mzc0LDEwICsxNzM3NCwxMCBAQAogCQkyOUFFMjEyOTIxQUI5RUNCMDA4NjkyODMgLyogaXNvbGF0
ZWR0cmVlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQky
OUFFMjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLywKIAkJCQkyOUFF
MjEyQzIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuY3BwICovLAotCQkJCTI5QUUy
MTMzMjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCAqLywKKwkJCQkyOUFF
MjEyQjIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCAqLywKIAkJCQkyOUFFMjEz
NDIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmNwcCAqLywKKwkJCQkyOUFF
MjEzMzIxQUJBNDhBMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWVOb2RlLmggKi8sCiAJCQkpOwog
CQkJcGF0aCA9IGlzb2xhdGVkdHJlZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0x
ODQ1Miw2ICsxODQ1Miw3IEBACiAJCQkJRDAzMjExQ0UyMUFDOTU0RTAwNzYzQ0YyIC8qIEdQVVJl
bmRlclBhc3NFbmNvZGVyLmggKi8sCiAJCQkJMzEyRkY4QjkyMUE0QzJFRjAwRUIxOTlEIC8qIEdQ
VVJlbmRlclBpcGVsaW5lLmggKi8sCiAJCQkJMzEyRkY4QkMyMUE0QzJGMDAwRUIxOTlEIC8qIEdQ
VVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oICovLAorCQkJCUQwNkE5QTIxMjIwMjZDN0EwMDgz
QzY2MiAvKiBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaCAqLywKIAkJCQkzMTJGRjhCQjIxQTRD
MkYwMDBFQjE5OUQgLyogR1BVU2hhZGVyTW9kdWxlLmggKi8sCiAJCQkJMzEyRkY4QzAyMUE0QzJG
MjAwRUIxOTlEIC8qIEdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCAqLywKIAkJCQkzMTJGRjhC
QTIxQTRDMkVGMDBFQjE5OUQgLyogR1BVU3dhcENoYWluLmggKi8sCkBAIC0yNjAxMywxNCArMjYw
MTQsMTMgQEAKIAkJCQlEMDBGNTk0MTIxNkVDQzdBMDAwRDcxREIgLyogRE9NV2luZG93V2ViR1BV
LmNwcCAqLywKIAkJCQlEMDBGNTk0MDIxNkVDQzdBMDAwRDcxREIgLyogRE9NV2luZG93V2ViR1BV
LmggKi8sCiAJCQkJRDAwRjU5NDIyMTZFQ0M3QTAwMEQ3MURCIC8qIERPTVdpbmRvd1dlYkdQVS5p
ZGwgKi8sCisJCQkJRDAyQzI2OTIyMTgxNDE2RDAwRDgxOEU0IC8qIEdQVVJlcXVlc3RBZGFwdGVy
T3B0aW9ucy5pZGwgKi8sCiAJCQkJRDAwRjU5NDcyMTZFRkU1NDAwMEQ3MURCIC8qIFdlYkdQVS5j
cHAgKi8sCiAJCQkJRDAwRjU5NDYyMTZFRkU1NDAwMEQ3MURCIC8qIFdlYkdQVS5oICovLAogCQkJ
CUQwMEY1OTQ4MjE2RUZFNTQwMDBENzFEQiAvKiBXZWJHUFUuaWRsICovLAogCQkJCUQwMEY1OTUw
MjE2RkZBQzIwMDBENzFEQiAvKiBXZWJHUFVBZGFwdGVyLmNwcCAqLywKIAkJCQlEMDBGNTk0RjIx
NkZGQUMyMDAwRDcxREIgLyogV2ViR1BVQWRhcHRlci5oICovLAogCQkJCUQwMEY1OTUxMjE2RkZB
QzIwMDBENzFEQiAvKiBXZWJHUFVBZGFwdGVyLmlkbCAqLywKLQkJCQlEMDJDMjY5MTIxODE0MTZE
MDBEODE4RTQgLyogV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaCAqLywKLQkJCQlEMDJDMjY5MjIx
ODE0MTZEMDBEODE4RTQgLyogV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsICovLAogCQkJCUQw
QkUxMDYxMjFFNkMwRUIwMEU0MkE4OSAvKiBXZWJHUFVCaW5kR3JvdXAuY3BwICovLAogCQkJCUQw
QkUxMDYwMjFFNkMwRUIwMEU0MkE4OSAvKiBXZWJHUFVCaW5kR3JvdXAuaCAqLywKIAkJCQlEMEJF
MTA2MjIxRTZDMEVCMDBFNDJBODkgLyogV2ViR1BVQmluZEdyb3VwLmlkbCAqLywKQEAgLTI4MjY1
LDYgKzI4MjY1LDcgQEAKIAkJCQk3NkNERDJGNTExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJp
bGl0eU1lbnVMaXN0UG9wdXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QUNCMjEyMTQzRTcxMjgw
MDZCQ0E1RiAvKiBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MjlBODEyMzYwRkJCOUMxRDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3QuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTI5MzZCRjVDMjFENjlFNEIwMDRBOEZDOSAvKiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNDA5Qzk4NTExNkQwREREMDA3MTk3
QkQgLyogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyOUE4MTIzOTBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDNEY2RUIxMTA4RjlBNTAwOTlEMERCIC8qIEFjY2Vzc2li
aWxpdHlTY3JvbGxiYXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0MzQsNiArMjg0MzUsOCBAQAog
CQkJCTA3RjRFOTMzMjBCMzU4N0YwMDJFMzgwMyAvKiBBVkZvdW5kYXRpb25NSU1FVHlwZUNhY2hl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDMzNkY2MjE3RjlGNjQ3MDBERERDRDAgLyogQVZUcmFj
a1ByaXZhdGVBVkZPYmpDSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwMzYzRTYxODFBMUNE
QzAwQzA3NEE1IC8qIEFWVmlkZW9DYXB0dXJlU291cmNlLmggaW4gSGVhZGVycyAqLywKKwkJCQky
OUFFMjEyRDIxQUI5RUVCMDA4NjkyODMgLyogQVhJc29sYXRlZFRyZWUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTI5QUUyMTM1MjFBQkE0OEEwMDg2OTI4MyAvKiBBWElzb2xhdGVkVHJlZU5vZGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUY0NUMyMzFFMTk5NUI3M0IwMEE2RTJFMyAvKiBBeGlzU2Nyb2xs
U25hcE9mZnNldHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5QTgxMjM4MEZCQjlDMUQwMDUxMDI5
MyAvKiBBWE9iamVjdENhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MUM5RjJGOTFBRTNCRUIw
MDA5NUI2MUMgLyogQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQuaCBpbiBIZWFkZXJzICovLApAQCAt
MzAwMDcsNyArMzAwMTAsNiBAQAogCQkJCTFBRTJBQTk4MEExQ0REMkQwMEI0MkIyNSAvKiBKU0hU
TUxJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU3RTk3MEExQTgzRTMwMDdG
QjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNkIwOTU2
MUY1RjM0RDkwMDNDMzcwMiAvKiBKU0hUTUxJbnB1dEVsZW1lbnRFbnRyaWVzQVBJLmggaW4gSGVh
ZGVycyAqLywKLQkJCQkyOTM2QkY1QzIxRDY5RTRCMDA0QThGQzkgLyogQWNjZXNzaWJpbGl0eU9i
amVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTYxNDhBNzkxMkU0MUUzQjAwNDRB
Nzg0IC8qIEpTSFRNTEtleWdlbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJBQjIy
MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBRTJBQjI0MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKQEAgLTMxNDY0LDcgKzMxNDY2LDYgQEAKIAkJCQk1MTQwNUM4OTE5MEIwMTQ0
MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
NDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0MzJEM0ZFODE4QTg2NTg0MDBEN0RDMDMgLyogU2VsZWN0b3JDaGVja2VyVGVzdEZ1
bmN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMjlBRTIxMzUyMUFCQTQ4QTAwODY5MjgzIC8q
IEFYSXNvbGF0ZWRUcmVlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZCOTk5OTcxODA0RDU0
MjAwRDAxMTIxIC8qIFNlbGVjdG9yQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxNTA3
MTU4MTY4NTA2NzMwMEMzQzdCMyAvKiBTZWxlY3RvckZpbHRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDMxMDdCRTIxOENDMTlERTAwQ0MxOEU4IC8qIFNlbGVjdG9yUHNldWRvVHlwZU1hcC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMjQwMCw3ICszMjQwMSw2IEBACiAJCQkJOTc3RTJFMEYxMkYwRkM5
QzAwQzEzMzgwIC8qIFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0
MTZGRTYxODgxMEVGODAwMDlGQzVGIC8qIFlvdVR1YmVFbWJlZFNoYWRvd0VsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdBNTUxNUY1MTkxODMwQTMwMDk2ODdEMiAvKiBZb3VUdWJlUGx1Z2lu
UmVwbGFjZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTI5QUUyMTJEMjFBQjlFRUIwMDg2OTI4
MyAvKiBBWElzb2xhdGVkVHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdCNjUx
ODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCA2ZTZkNTE1MzE4NWI4YmFlZGU0
YjM0OWNiMDVhMjMxN2NiYTE4YTRhLi45YzliNTk3N2E0YTAyYjE3NjE5MWFlNzNkZWM1ZTE1Mzdk
NTc1MTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VURldmljZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1
ZGUgIkdQVVF1ZXVlLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgpAQCAtNTAsMTEgKzUxLDEyIEBAIHN0cnVjdCBHUFVCaW5kR3JvdXBMYXlvdXRE
ZXNjcmlwdG9yOwogc3RydWN0IEdQVUJ1ZmZlckRlc2NyaXB0b3I7CiBzdHJ1Y3QgR1BVUGlwZWxp
bmVMYXlvdXREZXNjcmlwdG9yOwogc3RydWN0IEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjsK
K3N0cnVjdCBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM7CiBzdHJ1Y3QgR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvcjsKIAogY2xhc3MgR1BVRGV2aWNlIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVRGV2
aWNlPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxHUFVEZXZpY2U+IGNyZWF0ZSgpOwor
ICAgIHN0YXRpYyBSZWZQdHI8R1BVRGV2aWNlPiBjcmVhdGUoT3B0aW9uYWw8R1BVUmVxdWVzdEFk
YXB0ZXJPcHRpb25zPiYmKTsKIAogICAgIFJlZlB0cjxHUFVCdWZmZXI+IGNyZWF0ZUJ1ZmZlcihH
UFVCdWZmZXJEZXNjcmlwdG9yJiYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25z
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDIxMzExNjUzYjliOGE1NGYzMDQ2YTVhZTQ5NDkyY2YxMjYyYjY0Ngot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK3N0cnVjdCBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMgeworICAgIGVudW0gY2xhc3MgUG93
ZXJQcmVmZXJlbmNlIHsKKyAgICAgICAgTG93UG93ZXIsCisgICAgICAgIEhpZ2hQZXJmb3JtYW5j
ZQorICAgIH07CisgICAgCisgICAgUG93ZXJQcmVmZXJlbmNlIHBvd2VyUHJlZmVyZW5jZTsKK307
CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BV
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29h
L0dQVURldmljZU1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2NvY29hL0dQVURldmljZU1ldGFsLm1tCmluZGV4IGU4Mzg3YTc3MTFiMDIwMGVkOTE5MmZhMTQy
MGQzNTkyZjhlNDgxODkuLmVlOTc3N2VmYmRhMDU0Nzk3N2ExNjVlZTY0YzhhYTMyMzFkYTE2NWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2NvYS9H
UFVEZXZpY2VNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvY29jb2EvR1BVRGV2aWNlTWV0YWwubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJM
RShXRUJHUFUpCiAKKyNpbXBvcnQgIkdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oIgogI2ltcG9y
dCAiTG9nZ2luZy5oIgogCiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgpAQCAtMzUsMjMgKzM2LDM1
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRyPEdQVURldmljZT4gR1BVRGV2aWNl
OjpjcmVhdGUoKQorUmVmUHRyPEdQVURldmljZT4gR1BVRGV2aWNlOjpjcmVhdGUoT3B0aW9uYWw8
R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiYmIG9wdGlvbnMpCiB7Ci0gICAgUGxhdGZvcm1EZXZp
Y2VTbWFydFB0ciBkZXZpY2U7CisgICAgUGxhdGZvcm1EZXZpY2VTbWFydFB0ciBkZXZpY2VQdHI7
CiAKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0KLSAgICBkZXZpY2UgPSBhZG9w
dE5TKE1UTENyZWF0ZVN5c3RlbURlZmF1bHREZXZpY2UoKSk7IC8vIEZJWE1FOiBUYWtlIFdlYkdQ
VVBvd2VyUHJlZmVyZW5jZSBpbnRvIGFjY291bnQuCisgICAgCisgICAgaWYgKG9wdGlvbnMgJiYg
b3B0aW9ucy0+cG93ZXJQcmVmZXJlbmNlID09IEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9uczo6UG93
ZXJQcmVmZXJlbmNlOjpMb3dQb3dlcikgeworICAgICAgICBhdXRvIGRldmljZXMgPSBhZG9wdE5T
KE1UTENvcHlBbGxEZXZpY2VzKCkpOworICAgICAgICAKKyAgICAgICAgZm9yIChpZCA8TVRMRGV2
aWNlPiBkZXZpY2UgOiBkZXZpY2VzLmdldCgpKSB7CisgICAgICAgICAgICBpZiAoZGV2aWNlLmxv
d1Bvd2VyKSB7CisgICAgICAgICAgICAgICAgZGV2aWNlUHRyID0gcmV0YWluUHRyKGRldmljZSk7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisgICAgCisgICAgaWYgKCFkZXZpY2VQdHIpCisgICAgICAgIGRldmljZVB0ciA9IGFkb3B0TlMo
TVRMQ3JlYXRlU3lzdGVtRGVmYXVsdERldmljZSgpKTsKIAogICAgIEVORF9CTE9DS19PQkpDX0VY
Q0VQVElPTlM7CiAKLSAgICBpZiAoIWRldmljZSkgeworICAgIGlmICghZGV2aWNlUHRyKSB7CiAg
ICAgICAgIExPRyhXZWJHUFUsICJHUFVEZXZpY2U6OkdQVURldmljZSgpOiBVbmFibGUgdG8gY3Jl
YXRlIEdQVURldmljZSEiKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAg
TE9HKFdlYkdQVSwgIkdQVURldmljZTo6R1BVRGV2aWNlKCk6IE1UTERldmljZSBpcyAlcCIsIGRl
dmljZS5nZXQoKSk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBHUFVEZXZpY2UoV1RGTW92ZShk
ZXZpY2UpKSk7CisgICAgTE9HKFdlYkdQVSwgIkdQVURldmljZTo6R1BVRGV2aWNlKCk6IE1UTERl
dmljZSBpcyAlcCIsIGRldmljZVB0ci5nZXQoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBH
UFVEZXZpY2UoV1RGTW92ZShkZXZpY2VQdHIpKSk7CiB9CiAKIEdQVURldmljZTo6R1BVRGV2aWNl
KFBsYXRmb3JtRGV2aWNlU21hcnRQdHImJiBkZXZpY2UpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGRjOTRlODZmN2E2YjE5
NzQ4N2ZlZjcwMzgwN2RmY2VlMmVhYzIwZC4uOTUxMGRkZTBjODAwMDkzZjc3Njc2NDhiYzhhMjUw
YWY4NTQ0YjVlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTAxLTMwICBKdXN0aW4gRmFu
ICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gR1BVQWRhcHRlckRl
c2NyaXB0b3IgLT4gR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIGFuZCB0YWtlIHBvd2VyUHJlZmVy
ZW5jZSBpbnRvIGFjY291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NDA2OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2ODAyMTU+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNpbXBsZSB0
ZXN0IHRvIGNyZWF0ZSBkZXZpY2Ugd2l0aCBhbGwgb3B0aW9ucy4gVXBkYXRlIGhlbHBlciBmdW5j
dGlvbnMgZm9yIG90aGVyIFdlYiBHUFUKKyAgICAgICAgdGVzdHMgdG8gcmVxdWVzdCBkaWZmZXJl
bnQgYWRhcHRlcnMuIChObyBjaGFuZ2UgaW4gdGVzdCBiZWhhdmlvciBleHBlY3RlZC4pCisKKyAg
ICAgICAgKiB3ZWJncHUvYWRhcHRlci1vcHRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViZ3B1L2FkYXB0ZXItb3B0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
cHUvanMvYmFzaWMtd2ViZ3B1LWZ1bmN0aW9ucy5qczoKKyAgICAgICAgKGFzeW5jLnNldFVwQ29u
dGV4dHMpOiBVcGRhdGUgdG8gdXNlIG5vIGFkYXB0ZXIgcmVxdWVzdCBhcmd1bWVudCBhdCBhbGwu
IAorICAgICAgICAqIHdlYmdwdS9qcy93ZWJncHUtZnVuY3Rpb25zLmpzOgorICAgICAgICAoYXN5
bmMuZ2V0QmFzaWNEZXZpY2UpOiBVcGRhdGUgdG8gcmVxdWVzdCB0aGUgbG93LXBvd2VyIGFkYXB0
ZXIuCisKIDIwMTktMDEtMjggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBMaW1pdCB1c2VyLWFnZW50IGludGVyYWN0aW9ucyBiYXNlZCBvbiB0aGUgdG91Y2gt
YWN0aW9uIHByb3BlcnR5IG9uIGlPUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2Fk
YXB0ZXItb3B0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJncHUvYWRhcHRlci1v
cHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGYxYTUwZmEwYWJmMDljYzhjZWM3ZWQ0
YWZiMWNiMTViMGIyZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Fk
YXB0ZXItb3B0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgQ3JlYXRl
IHRoZSBkZWZhdWx0IGRldmljZS4gCitQQVNTIENyZWF0ZSBhIGRldmljZSB3aXRoIGEgbG93LXBv
d2VyIG9wdGlvbi4gCitQQVNTIENyZWF0ZSBhIGRldmljZSB3aXRoIGEgaGlnaC1wZXJmb3JtYW5j
ZSBvcHRpb24uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvYWRhcHRlci1vcHRp
b25zLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJncHUvYWRhcHRlci1vcHRpb25zLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjA0MmYyOGM4NWRkMjllM2RmMjJmMTVlNWQxNmZmZWY3MzhkMWVhYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9hZGFwdGVyLW9wdGlvbnMuaHRtbApAQCAtMCww
ICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVy
aW1lbnRhbDpXZWJHUFVFbmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8
dGl0bGU+Q3JlYXRlIEdQVURldmljZXMgZnJvbSB2YXJpb3VzIG9wdGlvbnMuPC90aXRsZT4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGNvbnN0IGRlZmF1
bHRBZGFwdGVyID0gYXdhaXQgd2ViZ3B1LnJlcXVlc3RBZGFwdGVyKCk7CisgICAgY29uc3QgZGV2
aWNlID0gZGVmYXVsdEFkYXB0ZXIuY3JlYXRlRGV2aWNlKCk7CisKKyAgICBhc3NlcnRfdHJ1ZShk
ZXZpY2UgaW5zdGFuY2VvZiBXZWJHUFVEZXZpY2UsICJEZWZhdWx0IGRldmljZSBzdWNjZXNzZnVs
bHkgY3JlYXRlZC4iKTsKK30sICJDcmVhdGUgdGhlIGRlZmF1bHQgZGV2aWNlLiIpOworCitwcm9t
aXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGNvbnN0IGxvd1Bvd2VyQWRhcHRlciA9IGF3YWl0
IHdlYmdwdS5yZXF1ZXN0QWRhcHRlcih7IHBvd2VyUHJlZmVyZW5jZTogImxvdy1wb3dlciIgfSk7
CisgICAgY29uc3QgZGV2aWNlID0gbG93UG93ZXJBZGFwdGVyLmNyZWF0ZURldmljZSgpOworCisg
ICAgYXNzZXJ0X3RydWUoZGV2aWNlIGluc3RhbmNlb2YgV2ViR1BVRGV2aWNlLCAiRGV2aWNlIHN1
Y2Nlc3NmdWxseSBjcmVhdGVkIHVzaW5nIGxvdy1wb3dlciBvcHRpb24uIik7Cit9LCAiQ3JlYXRl
IGEgZGV2aWNlIHdpdGggYSBsb3ctcG93ZXIgb3B0aW9uLiIpOworCitwcm9taXNlX3Rlc3QoYXN5
bmMgKCkgPT4geworICAgIGNvbnN0IGhpZ2hQZXJmQWRhcHRlciA9IGF3YWl0IHdlYmdwdS5yZXF1
ZXN0QWRhcHRlcih7IHBvd2VyUHJlZmVyZW5jZTogImhpZ2gtcGVyZm9ybWFuY2UiIH0pOworICAg
IGNvbnN0IGRldmljZSA9IGhpZ2hQZXJmQWRhcHRlci5jcmVhdGVEZXZpY2UoKTsKKworICAgIGFz
c2VydF90cnVlKGRldmljZSBpbnN0YW5jZW9mIFdlYkdQVURldmljZSwgIkRldmljZSBzdWNjZXNz
ZnVsbHkgY3JlYXRlZCB1c2luZyBoaWdoLXBlcmZvcm1hbmNlIG9wdGlvbi4iKTsKK30sICJDcmVh
dGUgYSBkZXZpY2Ugd2l0aCBhIGhpZ2gtcGVyZm9ybWFuY2Ugb3B0aW9uLiIpOworPC9zY3JpcHQ+
Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ3B1L2pzL2Jhc2ljLXdlYmdwdS1mdW5jdGlvbnMuanMgYi9MYXlvdXRUZXN0cy93
ZWJncHUvanMvYmFzaWMtd2ViZ3B1LWZ1bmN0aW9ucy5qcwppbmRleCAwZDA4NzAyNjJmNzAwOWUx
YTNkOTMwZWVkNGRhZTQ5ZTAwMDk5YzZmLi4wODM3MzI1MzYzMDlmOWMzYTM2YjYxYTU1NzYzMzg1
NzBkM2ZhZDgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJncHUvanMvYmFzaWMtd2ViZ3B1
LWZ1bmN0aW9ucy5qcworKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvanMvYmFzaWMtd2ViZ3B1LWZ1
bmN0aW9ucy5qcwpAQCAtNjAsOCArNjAsNyBAQCBhc3luYyBmdW5jdGlvbiBzZXRVcENvbnRleHRz
KGNhbnZhcykgewogCiAgICAgc2hvdWxkQmVEZWZpbmVkKHdpbmRvdy53ZWJncHUpOwogICAgIAot
ICAgIC8vIEZJWE1FOiByZXF1ZXN0QWRhcHRlciBzaG91bGQgdGFrZSBhIFdlYkdQVUFkYXB0ZXJE
ZXNjcmlwdG9yLgotICAgIGFkYXB0ZXIgPSBhd2FpdCB3aW5kb3cud2ViZ3B1LnJlcXVlc3RBZGFw
dGVyKHt9KTsKKyAgICBhZGFwdGVyID0gYXdhaXQgd2luZG93LndlYmdwdS5yZXF1ZXN0QWRhcHRl
cigpOwogICAgIGlmICghYWRhcHRlcikgewogICAgICAgICB0ZXN0RmFpbGVkKCJDb3VsZCBub3Qg
Y3JlYXRlIGRlZmF1bHQgV2ViR1BVQWRhcHRlciEiKQogICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyBiL0xheW91dFRl
c3RzL3dlYmdwdS9qcy93ZWJncHUtZnVuY3Rpb25zLmpzCmluZGV4IDc2N2Y5NDY1MjFhNGFkMjIy
MTNmOTJmMGQ0ZmNiNTcyMGM4MjYzMTcuLmYzNzg5YzlmMjU0YjQzOTA0NGRmNzk0NWYyZjRjMWUx
ZTA3OGFmNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9qcy93ZWJncHUtZnVuY3Rp
b25zLmpzCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9qcy93ZWJncHUtZnVuY3Rpb25zLmpzCkBA
IC0xLDYgKzEsNSBAQAogYXN5bmMgZnVuY3Rpb24gZ2V0QmFzaWNEZXZpY2UoKSB7Ci0gICAgLy8g
RklYTUU6IHJlcXVlc3RBZGFwdGVyIHNob3VsZCB0YWtlIGEgV2ViR1BVQWRhcHRlckRlc2NyaXB0
b3IuCi0gICAgY29uc3QgYWRhcHRlciA9IGF3YWl0IHdpbmRvdy53ZWJncHUucmVxdWVzdEFkYXB0
ZXIoe30pOworICAgIGNvbnN0IGFkYXB0ZXIgPSBhd2FpdCB3aW5kb3cud2ViZ3B1LnJlcXVlc3RB
ZGFwdGVyKHsgcG93ZXJQcmVmZXJlbmNlOiAibG93LXBvd2VyIiB9KTsKICAgICBjb25zdCBkZXZp
Y2UgPSBhZGFwdGVyLmNyZWF0ZURldmljZSgpOwogICAgIHJldHVybiBkZXZpY2U7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360662</attachid>
            <date>2019-01-30 18:04:19 -0800</date>
            <delta_ts>2019-01-31 11:00:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194068-20190130180418.patch</filename>
            <type>text/plain</type>
            <size>30573</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJkMTYxZTUxZGU5M2Vh
MmE5ZmVlMTM2NGNmMjhjYmZiYTQ4ODdiNy4uZTdhMWUxZDAzNzM2MzIyMTZmZGE5MTAyODgwMjAx
ODE2MmMxOWM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTAxLTMwICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gV2ViR1BV
QWRhcHRlckRlc2NyaXB0b3IgLT4gR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIGFuZCB0YWtlIHBv
d2VyUHJlZmVyZW5jZSBpbnRvIGFjY291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NDA2OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2ODAy
MTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBQZXIgdGhlIFdlYiBHUFUgSURMLCBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvciBpcyBub3cg
a25vd24gYXMgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIGFuZCBpcyBvcHRpb25hbC4KKyAgICAg
ICAgSW4gYWRkaXRpb24sIFdlYiBHUFUgbm93IGFjdHVhbGx5IGF0dGVtcHRzIHRvIHJldHVybiBh
biBpbnRlZ3JhdGVkIEdQVSB3aGVuIGEgbG93LXBvd2VyIGFkYXB0ZXIgaXMgcmVxdWVzdGVkLgor
CisgICAgICAgIFRlc3Q6IGFkYXB0ZXItb3B0aW9ucy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmdwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsLgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
UFU6OnJlcXVlc3RBZGFwdGVyIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFUuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BV
QWRhcHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVUFkYXB0ZXI6OldlYkdQ
VUFkYXB0ZXIpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdQVUFkYXB0ZXI6Om9wdGlvbnMgY29uc3QpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
UFVEZXZpY2U6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURl
dmljZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZXF1ZXN0QWRhcHRl
ck9wdGlvbnMuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmguCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2NvY29hL0dQVURldmljZU1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpj
cmVhdGUpOgorCiAyMDE5LTAxLTMwICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4K
IAogICAgICAgICBGbG9hdFdpdGhSZWN0IGhhcyBpbnZhbGlkIGFuZCBpbmFjY2Vzc2libGUgZGVm
YXVsdCBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0ODJjZjZmZDU5Y2MzOWFk
MzEyNjgwMTgyZjgwN2Y4Njk2Njk1NzAwLi45N2E4ZTg4ZGI1Y2NkNjIwNGM5MTdkNzEyZDk5OGJh
YTlhYjlmNGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDYyLDkgKzQ2Miw5IEBAIHNldChX
ZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJkcml2ZXIvTmF2aWdhdG9y
V2ViRHJpdmVyLmlkbAogCiAgICAgTW9kdWxlcy93ZWJncHUvRE9NV2luZG93V2ViR1BVLmlkbAor
ICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwKICAgICBNb2R1
bGVzL3dlYmdwdS9XZWJHUFUuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5p
ZGwKLSAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5pZGwKICAgICBN
b2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXAuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvV2Vi
R1BVQmluZEdyb3VwQmluZGluZy5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3Jv
dXBEZXNjcmlwdG9yLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggOWNkNDRl
NDhkMGU4NjBmMjc4NGYxYzRiM2NhOGY5ZDllNTA5ZWZhOC4uZDE5OTdkYzAzMGFmNmIyNjE0ZDk3
YWQwNzUzZWFhNTFhMThmMjZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0z
NzIsOSArMzcyLDkgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZHJpdmVyL05hdmlnYXRvcldlYkRyaXZlci5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvRE9NV2luZG93V2ViR1BVLmlkbCBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYmdwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy93
ZWJncHUvV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93
ZWJncHUvV2ViR1BVQmluZEdyb3VwQmluZGluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJncHUvV2ViR1BVQmluZEdyb3VwRGVzY3JpcHRvci5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2JjODRmMjQ0MDUxMDM4Yjc0YTVhY2M1ZGE0YzM0MmRjOTBjYWRhNQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVJlcXVl
c3RBZGFwdGVyT3B0aW9ucy5pZGwKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisvLyBodHRw
czovL2dpdGh1Yi5jb20vZ3B1d2ViL2dwdXdlYi9ibG9iL21hc3Rlci9kZXNpZ24vc2tldGNoLndl
YmlkbAorCitlbnVtIEdQVVBvd2VyUHJlZmVyZW5jZSB7CisgICAgImxvdy1wb3dlciIsCisgICAg
ImhpZ2gtcGVyZm9ybWFuY2UiCit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAorICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCitdIGRpY3Rpb25hcnkgR1BVUmVxdWVzdEFkYXB0ZXJP
cHRpb25zIHsKKyAgICBHUFVQb3dlclByZWZlcmVuY2UgcG93ZXJQcmVmZXJlbmNlOworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuY3BwCmluZGV4IDBkYzQxMWFlMzAzZTRi
MDg2ZWRiZjlmODY4Zjg1ZGI0ZDFhYzY0ZmYuLjM4Zjk5M2MxNjI3MTNjMDlmYjA3ZmRiMjk5MDlj
M2FhOWEzOGM5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmNwcApA
QCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkKIAorI2luY2x1ZGUgIkdQVVJl
cXVlc3RBZGFwdGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkpTV2ViR1BVQWRhcHRlci5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw5ICszOCw5IEBAIFJlZjxXZWJHUFU+IFdlYkdQVTo6
Y3JlYXRlKCkKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFUpOwogfQogCi12b2lkIFdl
YkdQVTo6cmVxdWVzdEFkYXB0ZXIoY29uc3QgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IsIFdlYkdQVUFkYXB0ZXJQcm9taXNlJiYgZGVmZXJyZWQpIGNvbnN0Cit2b2lkIFdlYkdQ
VTo6cmVxdWVzdEFkYXB0ZXIoT3B0aW9uYWw8R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiYmIG9w
dGlvbnMsIFdlYkdQVUFkYXB0ZXJQcm9taXNlJiYgZGVmZXJyZWQpIGNvbnN0CiB7Ci0gICAgYXV0
byBhZGFwdGVyID0gV2ViR1BVQWRhcHRlcjo6Y3JlYXRlKGRlc2NyaXB0b3IpOworICAgIGF1dG8g
YWRhcHRlciA9IFdlYkdQVUFkYXB0ZXI6OmNyZWF0ZShXVEZNb3ZlKG9wdGlvbnMpKTsKICAgICBk
ZWZlcnJlZC5yZXNvbHZlKGFkYXB0ZXIuZ2V0KCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVS5oCmluZGV4IDBkNTEwNzY5MDI4ZTEzNjAxOWE4YzI2NmJiMGI3ZDZjYTg1
MGIwM2MuLjc5N2JmMmJkOWEyZTZmNzhjODkzZjM2NjFjNzJiZDlkMGJmN2VkZTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oCkBAIC0yOCwxMiArMjgsMTMgQEAKICNpZiBF
TkFCTEUoV0VCR1BVKQogCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNs
dWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBXZWJH
UFVBZGFwdGVyOwotCi1zdHJ1Y3QgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3I7CisgICAgCitzdHJ1
Y3QgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zOwogCiBjbGFzcyBXZWJHUFUgOiBwdWJsaWMgUmVm
Q291bnRlZDxXZWJHUFU+IHsKIHB1YmxpYzoKQEAgLTQxLDcgKzQyLDcgQEAgcHVibGljOgogCiAg
ICAgdXNpbmcgV2ViR1BVQWRhcHRlclByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50
ZXJmYWNlPFdlYkdQVUFkYXB0ZXI+PjsKIAotICAgIHZvaWQgcmVxdWVzdEFkYXB0ZXIoY29uc3Qg
V2ViR1BVQWRhcHRlckRlc2NyaXB0b3ImLCBXZWJHUFVBZGFwdGVyUHJvbWlzZSYmKSBjb25zdDsK
KyAgICB2b2lkIHJlcXVlc3RBZGFwdGVyKE9wdGlvbmFsPEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9u
cz4mJiwgV2ViR1BVQWRhcHRlclByb21pc2UmJikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgV2Vi
R1BVKCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5pZGwK
aW5kZXggYzYzZGU4YWQ1M2QxNjIzNzk4OWM1NGE1MTVjYjYwZTk5NzdhNjExNi4uMWNjOWU0Zjk3
NjBmYzk5MzU4ZGU3N2Q2NzAxNmIzOWIwZjNjZWJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFUuaWRsCkBAIC0yOSw1ICsyOSw1IEBACiAgICAgRW5hYmxlZEF0UnVudGlt
ZT1XZWJHUFUsCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgV2Vi
R1BVIHsKLSAgICBQcm9taXNlPFdlYkdQVUFkYXB0ZXI+IHJlcXVlc3RBZGFwdGVyKFdlYkdQVUFk
YXB0ZXJEZXNjcmlwdG9yIGRlc2MpOworICAgIFByb21pc2U8V2ViR1BVQWRhcHRlcj4gcmVxdWVz
dEFkYXB0ZXIob3B0aW9uYWwgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIG9wdGlvbnMpOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKaW5k
ZXggNzdmOWY0OTFlNGZjMTYxOWUwMGRiOTI2NzQ4ZWFhYmFiYmQ1MTFiYS4uOGJmNmU5YmI0M2Y1
MjAxNTE4MTYxZjU3NGVlNmVmMTE1MzE2ZTdhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKQEAgLTI5LDIxICsyOSwxOCBAQAogI2lmIEVO
QUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5j
bHVkZSAiV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJXZWJHUFVEZXZpY2Uu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWY8V2ViR1BVQWRhcHRlcj4gV2ViR1BVQWRh
cHRlcjo6Y3JlYXRlKGNvbnN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQor
UmVmPFdlYkdQVUFkYXB0ZXI+IFdlYkdQVUFkYXB0ZXI6OmNyZWF0ZShPcHRpb25hbDxHUFVSZXF1
ZXN0QWRhcHRlck9wdGlvbnM+JiYgb3B0aW9ucykKIHsKLSAgICAvLyBGSVhNRTogVmFsaWRhdGlv
biBvbiBkZXNjcmlwdG9yLgotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQVUFkYXB0ZXIo
ZGVzY3JpcHRvcikpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQVUFkYXB0ZXIoV1RG
TW92ZShvcHRpb25zKSkpOwogfQogCi1XZWJHUFVBZGFwdGVyOjpXZWJHUFVBZGFwdGVyKGNvbnN0
IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQotICAgIDogbV9kZXNjcmlwdG9y
KGRlc2NyaXB0b3IpCitXZWJHUFVBZGFwdGVyOjpXZWJHUFVBZGFwdGVyKE9wdGlvbmFsPEdQVVJl
cXVlc3RBZGFwdGVyT3B0aW9ucz4mJiBvcHRpb25zKQorICAgIDogbV9vcHRpb25zKFdURk1vdmUo
b3B0aW9ucykpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKG1fZGVzY3JpcHRvcik7CiB9CiAKIFJlZlB0
cjxXZWJHUFVEZXZpY2U+IFdlYkdQVUFkYXB0ZXI6OmNyZWF0ZURldmljZSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmgKaW5kZXggOGQwNGU1NGJmMmE2
NDA4ZTllODgyNTRjODIwNGNlYzU1YzE2ODA4NC4uYmY3Y2MzZmY4MjhlMTZiYzE3MTQxMjJmMjA0
YThhMGVmNDQ5NjVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVQWRhcHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUFkYXB0ZXIuaApAQCAtMjcsNiArMjcsOCBAQAogCiAjaWYgRU5BQkxFKFdFQkdQVSkKIAorI2lu
Y2x1ZGUgIkdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25h
bC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC0zNSwxOCArMzcsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFdlYkdQVURldmljZTsKIAotc3RydWN0IFdlYkdQVUFk
YXB0ZXJEZXNjcmlwdG9yOwotCiBjbGFzcyBXZWJHUFVBZGFwdGVyIDogcHVibGljIFJlZkNvdW50
ZWQ8V2ViR1BVQWRhcHRlcj4gewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8V2ViR1BVQWRhcHRl
cj4gY3JlYXRlKGNvbnN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yJik7CisgICAgc3RhdGljIFJl
ZjxXZWJHUFVBZGFwdGVyPiBjcmVhdGUoT3B0aW9uYWw8R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25z
PiYmKTsKIAogICAgIFJlZlB0cjxXZWJHUFVEZXZpY2U+IGNyZWF0ZURldmljZSgpOworICAgIAor
ICAgIE9wdGlvbmFsPEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucz4gb3B0aW9ucygpIGNvbnN0IHsg
cmV0dXJuIG1fb3B0aW9uczsgfQogCiBwcml2YXRlOgotICAgIFdlYkdQVUFkYXB0ZXIoY29uc3Qg
V2ViR1BVQWRhcHRlckRlc2NyaXB0b3ImKTsKKyAgICBleHBsaWNpdCBXZWJHUFVBZGFwdGVyKE9w
dGlvbmFsPEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucz4mJik7CiAKLSAgICBjb25zdCBXZWJHUFVB
ZGFwdGVyRGVzY3JpcHRvciYgbV9kZXNjcmlwdG9yOworICAgIE9wdGlvbmFsPEdQVVJlcXVlc3RB
ZGFwdGVyT3B0aW9ucz4gbV9vcHRpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlckRl
c2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXJE
ZXNjcmlwdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlZTRkODlhMTMzOTU2
MzA1ZWUzODk3MWE4OTFkYTI1ZTk3OWNmMGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRh
cHRlckRlc2NyaXB0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotc3RydWN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yIHsKLSAgICBlbnVtIGNsYXNz
IFBvd2VyUHJlZmVyZW5jZSB7Ci0gICAgICAgIERlZmF1bHQsCi0gICAgICAgIExvd1Bvd2VyLAot
ICAgICAgICBIaWdoUGVyZm9ybWFuY2UKLSAgICB9OwotCi0gICAgUG93ZXJQcmVmZXJlbmNlIHBv
d2VyUHJlZmVyZW5jZSA9IFBvd2VyUHJlZmVyZW5jZTo6RGVmYXVsdDsKLX07Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5p
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyOTRkN2NiMzQ1ZWFhOTY1M2E0Mzdl
MWNjMDkxNWRhZTA3NWJhNzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlckRlc2Ny
aXB0b3IuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0vLyBo
dHRwczovL2dpdGh1Yi5jb20vZ3B1d2ViL2dwdXdlYi9ibG9iL21hc3Rlci9kZXNpZ24vc2tldGNo
LndlYmlkbAotCi1lbnVtIFdlYkdQVVBvd2VyUHJlZmVyZW5jZSB7Ci0gICAgImRlZmF1bHQiLAot
ICAgICJsb3ctcG93ZXIiLAotICAgICJoaWdoLXBlcmZvcm1hbmNlIgotfTsKLQotWwotICAgIENv
bmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBkaWN0aW9u
YXJ5IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yIHsKLSAgICBXZWJHUFVQb3dlclByZWZlcmVuY2Ug
cG93ZXJQcmVmZXJlbmNlID0gImRlZmF1bHQiOwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4IDcwYWRlYzgzMDZmZWEyMzM3NzUyOGRh
ZGU3YmI4OGFiMmMyYmQwNzIuLmE5OGVjNTg1YmJhZDYzNWY0ZjY5OTMxMWE0YzU4NTM0OTVhMjEw
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmlj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNw
cApAQCAtNTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFJlZlB0cjxXZWJHUFVE
ZXZpY2U+IFdlYkdQVURldmljZTo6Y3JlYXRlKFJlZjxXZWJHUFVBZGFwdGVyPiYmIGFkYXB0ZXIp
CiB7Ci0gICAgaWYgKGF1dG8gZGV2aWNlID0gR1BVRGV2aWNlOjpjcmVhdGUoKSkgLy8gRklYTUU6
IFRha2UgYWRhcHRlciBpbnRvIGFjY291bnQgd2hlbiBjcmVhdGluZyBtX2RldmljZS4KKyAgICBp
ZiAoYXV0byBkZXZpY2UgPSBHUFVEZXZpY2U6OmNyZWF0ZShhZGFwdGVyLT5vcHRpb25zKCkpKQog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkdQVURldmljZShXVEZNb3ZlKGFkYXB0ZXIp
LCBkZXZpY2UucmVsZWFzZU5vbk51bGwoKSkpOwogICAgIHJldHVybiBudWxscHRyOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCBlMDczODQxYTY5NDU3YzA3ZmE3NTdhOTU2YjMzYTJlZDhiYzU2Y2Q3Li5h
MmVjYTFkN2FlMzU3NWQ4ZTFmMmY2OTFiZDFkYTUxOThkODdhYjMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtMjc2OCw2ICsyNzY4LDcgQEAgSlNHZW9wb3NpdGlvbi5jcHAKIEpTR2xvYmFsQ3J5cHRvLmNw
cAogSlNHbG9iYWxFdmVudEhhbmRsZXJzLmNwcAogSlNHbG9iYWxQZXJmb3JtYW5jZS5jcHAKK0pT
R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmNwcAogSlNIVE1MQWxsQ29sbGVjdGlvbi5jcHAKIEpT
SFRNTEFuY2hvckVsZW1lbnQuY3BwCiBKU0hUTUxBcHBsZXRFbGVtZW50LmNwcApAQCAtMzI5Miw3
ICszMjkzLDYgQEAgSlNXYXZlU2hhcGVyTm9kZS5jcHAKIEpTV2ViQW5pbWF0aW9uLmNwcAogSlNX
ZWJHUFUuY3BwCiBKU1dlYkdQVUFkYXB0ZXIuY3BwCi1KU1dlYkdQVUFkYXB0ZXJEZXNjcmlwdG9y
LmNwcAogSlNXZWJHUFVCaW5kR3JvdXAuY3BwCiBKU1dlYkdQVUJpbmRHcm91cEJpbmRpbmcuY3Bw
CiBKU1dlYkdQVUJpbmRHcm91cERlc2NyaXB0b3IuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTNjNzVlOGM4NjMzNTc0ZDg5
ZTg0YmMwYWJiZjFmMTAzOGFiZDMwYy4uZjM5YzBiMDlkMzU4MTIwZGRmNzRjNDU2OGEwMmU4YzIz
ZjczZDAzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTM5NDgsOCArMTM5NDgsNyBAQAogCQlEMDIzMkI1ODIxQ0I0OUI3MDA5
NDgzQjkgLyogR1BVQmluZEdyb3VwTGF5b3V0TWV0YWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBHUFVCaW5kR3JvdXBMYXlvdXRNZXRhbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRDAyNDU0RDAyMUM0QTQxQzAwQjczNjI4IC8qIEdQVUJpbmRHcm91cExheW91dC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBHUFVCaW5kR3JvdXBMYXlvdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRDAyQjgzRUQyMUM4Mzk3QTAwRjg1NDczIC8qIFdlYkdQVUJpbmRHcm91cExheW91dERl
c2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVUJpbmRHcm91cExheW91dERlc2NyaXB0b3IuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlEMDJDMjY5MTIxODE0MTZEMDBEODE4RTQgLyog
V2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVQWRhcHRlckRl
c2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRDAyQzI2OTIyMTgxNDE2
RDAwRDgxOEU0IC8qIFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJHUFVBZGFw
dGVyRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkMyNjky
MjE4MTQxNkQwMEQ4MThFNCAvKiBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQ
VVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQwMkY4NTRFMjE2ODJBNEEwMDg4RUU3NCAvKiBXZWJNZXRhbENvbW1hbmRRdWV1ZS5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gV2ViTWV0YWxDb21tYW5kUXVldWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlEMDJGODU1MDIxNjgyQTU2MDA4OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29k
ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAyRjg1NTEyMTY4MkE1NjAw
ODhFRTc0IC8qIFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQwMzksNiArMTQwMzgsNyBAQAogCQlEMDYzQUU0NzIx
QzA2NjI2MDAwRTZBMzUgLyogV2ViR1BVSW5wdXRTdGVwTW9kZS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVSW5w
dXRTdGVwTW9kZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwNjNBRTQ4MjFD
MDY2REIwMDBFNkEzNSAvKiBXZWJHUFVJbmRleEZvcm1hdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJH
UFVJbmRleEZvcm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDYzQUU0OTIx
QzA2NkRCMDAwRTZBMzUgLyogV2ViR1BVSW5kZXhGb3JtYXQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVUluZGV4
Rm9ybWF0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA2QTlBMjEyMjAyNkM3
QTAwODNDNjYyIC8qIEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBH
UFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RDA2QzBEOEQwQ0ZEMTE0NjAwNjVGNDNGIC8qIFJlbW92ZUZvcm1hdENvbW1hbmQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3ZlRm9ybWF0Q29tbWFuZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlEMDZDMEQ4RTBDRkQxMTQ2MDA2NUY0M0YgLyogUmVtb3Zl
Rm9ybWF0Q29tbWFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZW1vdmVGb3JtYXRDb21tYW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA3
REVBQjcwQTM2NTU0QTAwQ0EzMEY4IC8qIEluc2VydExpc3RDb21tYW5kLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNlcnRMaXN0Q29tbWFuZC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODQ1OCw2ICsxODQ1OCw3IEBACiAJCQkJRDAzMjEx
Q0UyMUFDOTU0RTAwNzYzQ0YyIC8qIEdQVVJlbmRlclBhc3NFbmNvZGVyLmggKi8sCiAJCQkJMzEy
RkY4QjkyMUE0QzJFRjAwRUIxOTlEIC8qIEdQVVJlbmRlclBpcGVsaW5lLmggKi8sCiAJCQkJMzEy
RkY4QkMyMUE0QzJGMDAwRUIxOTlEIC8qIEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oICov
LAorCQkJCUQwNkE5QTIxMjIwMjZDN0EwMDgzQzY2MiAvKiBHUFVSZXF1ZXN0QWRhcHRlck9wdGlv
bnMuaCAqLywKIAkJCQkzMTJGRjhCQjIxQTRDMkYwMDBFQjE5OUQgLyogR1BVU2hhZGVyTW9kdWxl
LmggKi8sCiAJCQkJMzEyRkY4QzAyMUE0QzJGMjAwRUIxOTlEIC8qIEdQVVNoYWRlck1vZHVsZURl
c2NyaXB0b3IuaCAqLywKIAkJCQkzMTJGRjhCQTIxQTRDMkVGMDBFQjE5OUQgLyogR1BVU3dhcENo
YWluLmggKi8sCkBAIC0yNjAyMywxNCArMjYwMjQsMTMgQEAKIAkJCQlEMDBGNTk0MTIxNkVDQzdB
MDAwRDcxREIgLyogRE9NV2luZG93V2ViR1BVLmNwcCAqLywKIAkJCQlEMDBGNTk0MDIxNkVDQzdB
MDAwRDcxREIgLyogRE9NV2luZG93V2ViR1BVLmggKi8sCiAJCQkJRDAwRjU5NDIyMTZFQ0M3QTAw
MEQ3MURCIC8qIERPTVdpbmRvd1dlYkdQVS5pZGwgKi8sCisJCQkJRDAyQzI2OTIyMTgxNDE2RDAw
RDgxOEU0IC8qIEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwgKi8sCiAJCQkJRDAwRjU5NDcy
MTZFRkU1NDAwMEQ3MURCIC8qIFdlYkdQVS5jcHAgKi8sCiAJCQkJRDAwRjU5NDYyMTZFRkU1NDAw
MEQ3MURCIC8qIFdlYkdQVS5oICovLAogCQkJCUQwMEY1OTQ4MjE2RUZFNTQwMDBENzFEQiAvKiBX
ZWJHUFUuaWRsICovLAogCQkJCUQwMEY1OTUwMjE2RkZBQzIwMDBENzFEQiAvKiBXZWJHUFVBZGFw
dGVyLmNwcCAqLywKIAkJCQlEMDBGNTk0RjIxNkZGQUMyMDAwRDcxREIgLyogV2ViR1BVQWRhcHRl
ci5oICovLAogCQkJCUQwMEY1OTUxMjE2RkZBQzIwMDBENzFEQiAvKiBXZWJHUFVBZGFwdGVyLmlk
bCAqLywKLQkJCQlEMDJDMjY5MTIxODE0MTZEMDBEODE4RTQgLyogV2ViR1BVQWRhcHRlckRlc2Ny
aXB0b3IuaCAqLywKLQkJCQlEMDJDMjY5MjIxODE0MTZEMDBEODE4RTQgLyogV2ViR1BVQWRhcHRl
ckRlc2NyaXB0b3IuaWRsICovLAogCQkJCUQwQkUxMDYxMjFFNkMwRUIwMEU0MkE4OSAvKiBXZWJH
UFVCaW5kR3JvdXAuY3BwICovLAogCQkJCUQwQkUxMDYwMjFFNkMwRUIwMEU0MkE4OSAvKiBXZWJH
UFVCaW5kR3JvdXAuaCAqLywKIAkJCQlEMEJFMTA2MjIxRTZDMEVCMDBFNDJBODkgLyogV2ViR1BV
QmluZEdyb3VwLmlkbCAqLywKQEAgLTMxMDQ3LDYgKzMxMDQ3LDcgQEAKIAkJCQlCQ0JCOEFCOTEz
RjFBRkIwMDA3MzRERjAgLyogUE9ESW50ZXJ2YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkI4
QUJBMTNGMUFGQjAwMDczNERGMCAvKiBQT0RJbnRlcnZhbFRyZWUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDQkI4QUJCMTNGMUFGQjAwMDczNERGMCAvKiBQT0RSZWRCbGFja1RyZWUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTcxQjVBQjI2MjFGMUQ5RjQwMDM3NkU1QyAvKiBQb2ludGVyQ2FwdHVyZUNv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxN0QzRkYzMjE1NTk5RjQwMDM0RTNCOSAv
KiBQb2ludGVyRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQjFGNzE3MEQwMENBQTgwMDRB
RUE2NCAvKiBQb2ludGVyRXZlbnRzSGl0UnVsZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTNGRjgx
M0E3MURCQTg2NDAwMDlCRjAwMSAvKiBQb2ludGVyTG9ja0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzE5NjgsNyArMzE5NjksNiBAQAogCQkJCTI2RTk0NEREMUFDNEI0RUEwMDdCODVC
NSAvKiBUZXJtLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTUwQjZBNjA5OURGMDI3MDA5MEQ3ODEg
LyogVGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMTcwOTlFNjQ5MjAwNTZFNTgxIC8q
IFRleHRBZmZpbml0eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNzFCNUFCMjYyMUYxRDlGNDAwMzc2
RTVDIC8qIFBvaW50ZXJDYXB0dXJlQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0U3
QjJEQjUxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY1NERDRTYxODgxMDUxRDAwM0VFREJCIC8qIFRleHRBdXRvU2l6aW5n
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREEzNDBEMDA2QzFEMDBFRjZGMjYgLyogVGV4dEJv
dW5kYXJpZXMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCmluZGV4IDZlNmQ1MTUzMTg1YjhiYWVkZTRiMzQ5Y2Iw
NWEyMzE3Y2JhMThhNGEuLjljOWI1OTc3YTRhMDJiMTc2MTkxYWU3M2RlYzVlMTUzN2Q1NzUxMGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZp
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNl
LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoV0VCR1BVKQogCiAjaW5jbHVkZSAiR1BV
UXVldWUuaCIKKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CkBAIC01MCwxMSArNTEsMTIgQEAgc3RydWN0IEdQVUJpbmRHcm91cExheW91dERlc2NyaXB0
b3I7CiBzdHJ1Y3QgR1BVQnVmZmVyRGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVQaXBlbGluZUxheW91
dERlc2NyaXB0b3I7CiBzdHJ1Y3QgR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOworc3RydWN0
IEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9uczsKIHN0cnVjdCBHUFVTaGFkZXJNb2R1bGVEZXNjcmlw
dG9yOwogCiBjbGFzcyBHUFVEZXZpY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxHUFVEZXZpY2U+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPEdQVURldmljZT4gY3JlYXRlKCk7CisgICAgc3Rh
dGljIFJlZlB0cjxHUFVEZXZpY2U+IGNyZWF0ZShPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9w
dGlvbnM+JiYpOwogCiAgICAgUmVmUHRyPEdQVUJ1ZmZlcj4gY3JlYXRlQnVmZmVyKEdQVUJ1ZmZl
ckRlc2NyaXB0b3ImJikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MjEzMTE2NTNiOWI4YTU0ZjMwNDZhNWFlNDk0OTJjZjEyNjJiNjQ2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlcXVl
c3RBZGFwdGVyT3B0aW9ucy5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShXRUJHUFUpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Ry
dWN0IEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucyB7CisgICAgZW51bSBjbGFzcyBQb3dlclByZWZl
cmVuY2UgeworICAgICAgICBMb3dQb3dlciwKKyAgICAgICAgSGlnaFBlcmZvcm1hbmNlCisgICAg
fTsKKyAgICAKKyAgICBQb3dlclByZWZlcmVuY2UgcG93ZXJQcmVmZXJlbmNlOworfTsKKyAgICAK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2EvR1BVRGV2
aWNlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29jb2Ev
R1BVRGV2aWNlTWV0YWwubW0KaW5kZXggZTgzODdhNzcxMWIwMjAwZWQ5MTkyZmExNDIwZDM1OTJm
OGU0ODE4OS4uZWU5Nzc3ZWZiZGEwNTQ3OTc3YTE2NWVlNjRjOGFhMzIzMWRhMTY1ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L2NvY29hL0dQVURldmlj
ZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9jb2Nv
YS9HUFVEZXZpY2VNZXRhbC5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFdFQkdQ
VSkKIAorI2ltcG9ydCAiR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmgiCiAjaW1wb3J0ICJMb2dn
aW5nLmgiCiAKICNpbXBvcnQgPE1ldGFsL01ldGFsLmg+CkBAIC0zNSwyMyArMzYsMzUgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQdHI8R1BVRGV2aWNlPiBHUFVEZXZpY2U6OmNyZWF0
ZSgpCitSZWZQdHI8R1BVRGV2aWNlPiBHUFVEZXZpY2U6OmNyZWF0ZShPcHRpb25hbDxHUFVSZXF1
ZXN0QWRhcHRlck9wdGlvbnM+JiYgb3B0aW9ucykKIHsKLSAgICBQbGF0Zm9ybURldmljZVNtYXJ0
UHRyIGRldmljZTsKKyAgICBQbGF0Zm9ybURldmljZVNtYXJ0UHRyIGRldmljZVB0cjsKIAogICAg
IEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLQotICAgIGRldmljZSA9IGFkb3B0TlMoTVRM
Q3JlYXRlU3lzdGVtRGVmYXVsdERldmljZSgpKTsgLy8gRklYTUU6IFRha2UgV2ViR1BVUG93ZXJQ
cmVmZXJlbmNlIGludG8gYWNjb3VudC4KKyAgICAKKyAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25z
LT5wb3dlclByZWZlcmVuY2UgPT0gR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zOjpQb3dlclByZWZl
cmVuY2U6Okxvd1Bvd2VyKSB7CisgICAgICAgIGF1dG8gZGV2aWNlcyA9IGFkb3B0TlMoTVRMQ29w
eUFsbERldmljZXMoKSk7CisgICAgICAgIAorICAgICAgICBmb3IgKGlkIDxNVExEZXZpY2U+IGRl
dmljZSA6IGRldmljZXMuZ2V0KCkpIHsKKyAgICAgICAgICAgIGlmIChkZXZpY2UubG93UG93ZXIp
IHsKKyAgICAgICAgICAgICAgICBkZXZpY2VQdHIgPSByZXRhaW5QdHIoZGV2aWNlKTsKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICAK
KyAgICBpZiAoIWRldmljZVB0cikKKyAgICAgICAgZGV2aWNlUHRyID0gYWRvcHROUyhNVExDcmVh
dGVTeXN0ZW1EZWZhdWx0RGV2aWNlKCkpOwogCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKIAotICAgIGlmICghZGV2aWNlKSB7CisgICAgaWYgKCFkZXZpY2VQdHIpIHsKICAgICAgICAg
TE9HKFdlYkdQVSwgIkdQVURldmljZTo6R1BVRGV2aWNlKCk6IFVuYWJsZSB0byBjcmVhdGUgR1BV
RGV2aWNlISIpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICBMT0coV2Vi
R1BVLCAiR1BVRGV2aWNlOjpHUFVEZXZpY2UoKTogTVRMRGV2aWNlIGlzICVwIiwgZGV2aWNlLmdl
dCgpKTsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEdQVURldmljZShXVEZNb3ZlKGRldmljZSkp
KTsKKyAgICBMT0coV2ViR1BVLCAiR1BVRGV2aWNlOjpHUFVEZXZpY2UoKTogTVRMRGV2aWNlIGlz
ICVwIiwgZGV2aWNlUHRyLmdldCgpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEdQVURldmlj
ZShXVEZNb3ZlKGRldmljZVB0cikpKTsKIH0KIAogR1BVRGV2aWNlOjpHUFVEZXZpY2UoUGxhdGZv
cm1EZXZpY2VTbWFydFB0ciYmIGRldmljZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ZDQ1N2Q2ZmNkZGM2YmI1NzI1Mzk5
NDIwZTVmZGYxNjczNzNjNTU4Li5hMGVmNWQ4MTE3YWY4NmIxYmU1MWRiMTFkM2E1ZTMwOWU2MjVi
ODEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMDEtMzAgIEp1c3RpbiBGYW4gIDxqdXN0
aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBXZWJHUFVBZGFwdGVyRGVzY3Jp
cHRvciAtPiBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMgYW5kIHRha2UgcG93ZXJQcmVmZXJlbmNl
IGludG8gYWNjb3VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk0MDY4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzY4MDIxNT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc2ltcGxlIHRlc3Qg
dG8gY3JlYXRlIGRldmljZSB3aXRoIGFsbCBvcHRpb25zLiBVcGRhdGUgaGVscGVyIGZ1bmN0aW9u
cyBmb3Igb3RoZXIgV2ViIEdQVQorICAgICAgICB0ZXN0cyB0byByZXF1ZXN0IGRpZmZlcmVudCBh
ZGFwdGVycy4gKE5vIGNoYW5nZSBpbiB0ZXN0IGJlaGF2aW9yIGV4cGVjdGVkLikKKworICAgICAg
ICAqIHdlYmdwdS9hZGFwdGVyLW9wdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJncHUvYWRhcHRlci1vcHRpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdwdS9q
cy9iYXNpYy13ZWJncHUtZnVuY3Rpb25zLmpzOgorICAgICAgICAoYXN5bmMuc2V0VXBDb250ZXh0
cyk6IFVwZGF0ZSB0byB1c2Ugbm8gYWRhcHRlciByZXF1ZXN0IGFyZ3VtZW50IGF0IGFsbC4gCisg
ICAgICAgICogd2ViZ3B1L2pzL3dlYmdwdS1mdW5jdGlvbnMuanM6CisgICAgICAgIChhc3luYy5n
ZXRCYXNpY0RldmljZSk6IFVwZGF0ZSB0byByZXF1ZXN0IHRoZSBsb3ctcG93ZXIgYWRhcHRlci4K
KwogMjAxOS0wMS0zMCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW2lPU10gS2V5dXBzIGZvciBub24tbW9kaWZpZXIga2V5cyBpZGVudGlmaWVkIGFzICJEZWFk
IiB3aGVuIG5vdCBmb2N1c2VkIGluIGEgY29udGVudC1lZGl0YWJsZSBlbGVtZW50CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvYWRhcHRlci1vcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdwdS9hZGFwdGVyLW9wdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJkZjFhNTBmYTBhYmYwOWNjOGNlYzdlZDRhZmIxY2IxNWIwYjJkZTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJncHUvYWRhcHRlci1vcHRpb25zLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKKworUEFTUyBDcmVhdGUgdGhlIGRlZmF1bHQgZGV2aWNlLiAKK1BBU1MgQ3Jl
YXRlIGEgZGV2aWNlIHdpdGggYSBsb3ctcG93ZXIgb3B0aW9uLiAKK1BBU1MgQ3JlYXRlIGEgZGV2
aWNlIHdpdGggYSBoaWdoLXBlcmZvcm1hbmNlIG9wdGlvbi4gCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdwdS9hZGFwdGVyLW9wdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9h
ZGFwdGVyLW9wdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMDQyZjI4Yzg1ZGQyOWUzZGYyMmYxNWU1
ZDE2ZmZlZjczOGQxZWFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Fk
YXB0ZXItb3B0aW9ucy5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOldlYkdQVUVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5DcmVhdGUgR1BVRGV2aWNlcyBmcm9tIHZh
cmlvdXMgb3B0aW9ucy48L3RpdGxlPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3lu
YyAoKSA9PiB7CisgICAgY29uc3QgZGVmYXVsdEFkYXB0ZXIgPSBhd2FpdCB3ZWJncHUucmVxdWVz
dEFkYXB0ZXIoKTsKKyAgICBjb25zdCBkZXZpY2UgPSBkZWZhdWx0QWRhcHRlci5jcmVhdGVEZXZp
Y2UoKTsKKworICAgIGFzc2VydF90cnVlKGRldmljZSBpbnN0YW5jZW9mIFdlYkdQVURldmljZSwg
IkRlZmF1bHQgZGV2aWNlIHN1Y2Nlc3NmdWxseSBjcmVhdGVkLiIpOworfSwgIkNyZWF0ZSB0aGUg
ZGVmYXVsdCBkZXZpY2UuIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgY29u
c3QgbG93UG93ZXJBZGFwdGVyID0gYXdhaXQgd2ViZ3B1LnJlcXVlc3RBZGFwdGVyKHsgcG93ZXJQ
cmVmZXJlbmNlOiAibG93LXBvd2VyIiB9KTsKKyAgICBjb25zdCBkZXZpY2UgPSBsb3dQb3dlckFk
YXB0ZXIuY3JlYXRlRGV2aWNlKCk7CisKKyAgICBhc3NlcnRfdHJ1ZShkZXZpY2UgaW5zdGFuY2Vv
ZiBXZWJHUFVEZXZpY2UsICJEZXZpY2Ugc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgdXNpbmcgbG93LXBv
d2VyIG9wdGlvbi4iKTsKK30sICJDcmVhdGUgYSBkZXZpY2Ugd2l0aCBhIGxvdy1wb3dlciBvcHRp
b24uIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgY29uc3QgaGlnaFBlcmZB
ZGFwdGVyID0gYXdhaXQgd2ViZ3B1LnJlcXVlc3RBZGFwdGVyKHsgcG93ZXJQcmVmZXJlbmNlOiAi
aGlnaC1wZXJmb3JtYW5jZSIgfSk7CisgICAgY29uc3QgZGV2aWNlID0gaGlnaFBlcmZBZGFwdGVy
LmNyZWF0ZURldmljZSgpOworCisgICAgYXNzZXJ0X3RydWUoZGV2aWNlIGluc3RhbmNlb2YgV2Vi
R1BVRGV2aWNlLCAiRGV2aWNlIHN1Y2Nlc3NmdWxseSBjcmVhdGVkIHVzaW5nIGhpZ2gtcGVyZm9y
bWFuY2Ugb3B0aW9uLiIpOworfSwgIkNyZWF0ZSBhIGRldmljZSB3aXRoIGEgaGlnaC1wZXJmb3Jt
YW5jZSBvcHRpb24uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvanMvYmFzaWMtd2ViZ3B1LWZ1
bmN0aW9ucy5qcyBiL0xheW91dFRlc3RzL3dlYmdwdS9qcy9iYXNpYy13ZWJncHUtZnVuY3Rpb25z
LmpzCmluZGV4IDBkMDg3MDI2MmY3MDA5ZTFhM2Q5MzBlZWQ0ZGFlNDllMDAwOTljNmYuLjA4Mzcz
MjUzNjMwOWY5YzNhMzZiNjFhNTU3NjMzODU3MGQzZmFkODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3dlYmdwdS9qcy9iYXNpYy13ZWJncHUtZnVuY3Rpb25zLmpzCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdwdS9qcy9iYXNpYy13ZWJncHUtZnVuY3Rpb25zLmpzCkBAIC02MCw4ICs2MCw3IEBAIGFz
eW5jIGZ1bmN0aW9uIHNldFVwQ29udGV4dHMoY2FudmFzKSB7CiAKICAgICBzaG91bGRCZURlZmlu
ZWQod2luZG93LndlYmdwdSk7CiAgICAgCi0gICAgLy8gRklYTUU6IHJlcXVlc3RBZGFwdGVyIHNo
b3VsZCB0YWtlIGEgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuCi0gICAgYWRhcHRlciA9IGF3YWl0
IHdpbmRvdy53ZWJncHUucmVxdWVzdEFkYXB0ZXIoe30pOworICAgIGFkYXB0ZXIgPSBhd2FpdCB3
aW5kb3cud2ViZ3B1LnJlcXVlc3RBZGFwdGVyKCk7CiAgICAgaWYgKCFhZGFwdGVyKSB7CiAgICAg
ICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5vdCBjcmVhdGUgZGVmYXVsdCBXZWJHUFVBZGFwdGVyISIp
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9qcy93ZWJn
cHUtZnVuY3Rpb25zLmpzIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2pzL3dlYmdwdS1mdW5jdGlvbnMu
anMKaW5kZXggNzY3Zjk0NjUyMWE0YWQyMjIxM2Y5MmYwZDRmY2I1NzIwYzgyNjMxNy4uZjM3ODlj
OWYyNTRiNDM5MDQ0ZGY3OTQ1ZjJmNGMxZTFlMDc4YWY1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvd2ViZ3B1L2pzL3dlYmdwdS1mdW5jdGlvbnMuanMKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ3B1
L2pzL3dlYmdwdS1mdW5jdGlvbnMuanMKQEAgLTEsNiArMSw1IEBACiBhc3luYyBmdW5jdGlvbiBn
ZXRCYXNpY0RldmljZSgpIHsKLSAgICAvLyBGSVhNRTogcmVxdWVzdEFkYXB0ZXIgc2hvdWxkIHRh
a2UgYSBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvci4KLSAgICBjb25zdCBhZGFwdGVyID0gYXdhaXQg
d2luZG93LndlYmdwdS5yZXF1ZXN0QWRhcHRlcih7fSk7CisgICAgY29uc3QgYWRhcHRlciA9IGF3
YWl0IHdpbmRvdy53ZWJncHUucmVxdWVzdEFkYXB0ZXIoeyBwb3dlclByZWZlcmVuY2U6ICJsb3ct
cG93ZXIiIH0pOwogICAgIGNvbnN0IGRldmljZSA9IGFkYXB0ZXIuY3JlYXRlRGV2aWNlKCk7CiAg
ICAgcmV0dXJuIGRldmljZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360744</attachid>
            <date>2019-01-31 11:00:20 -0800</date>
            <delta_ts>2019-01-31 11:58:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194068-20190131110019.patch</filename>
            <type>text/plain</type>
            <size>29660</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDgzYmIzZDBkZmQzYTk3
ODliZWYxYmNmOTYxMGY2MTdjYzkzNzg3Yy4uMGQ3YzAxODAzNDcyZWRlMjdlOWM2MjgyYjFkMGY0
ZmE5MDgwNGVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTAxLTMxICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gV2ViR1BV
QWRhcHRlckRlc2NyaXB0b3IgLT4gR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIGFuZCB0YWtlIHBv
d2VyUHJlZmVyZW5jZSBpbnRvIGFjY291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NDA2OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2ODAy
MTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBQZXIgdGhlIFdlYiBHUFUgSURMLCBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvciBpcyBub3cg
a25vd24gYXMgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIGFuZCBpcyBvcHRpb25hbC4KKyAgICAg
ICAgSW4gYWRkaXRpb24sIFdlYiBHUFUgbm93IGFjdHVhbGx5IGF0dGVtcHRzIHRvIHJldHVybiBh
biBpbnRlZ3JhdGVkIEdQVSB3aGVuIGEgbG93LXBvd2VyIGFkYXB0ZXIgaXMgcmVxdWVzdGVkLgor
CisgICAgICAgIFRlc3Q6IGFkYXB0ZXItb3B0aW9ucy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmdwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsLgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
UFU6OnJlcXVlc3RBZGFwdGVyIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFUuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BV
QWRhcHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVUFkYXB0ZXI6OldlYkdQ
VUFkYXB0ZXIpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdQVUFkYXB0ZXI6Om9wdGlvbnMgY29uc3QpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
UFVEZXZpY2U6OmNyZWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURl
dmljZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZXF1ZXN0QWRhcHRl
ck9wdGlvbnMuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmguCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L2NvY29hL0dQVURldmljZU1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpj
cmVhdGUpOgorCiAyMDE5LTAxLTMxICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTaW1wbGlmeSBhbmQgc3RyZWFtbGluZSBjb2RlIHRoYXQgY3JlYXRlcyBhbiBhcHBy
b3ByaWF0ZSBkb2N1bWVudCBiYXNlZCBvbiBNSU1FIHR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggZDM1NWU3YjJhMDY5NWMzMTc1YzNkYWQ2ZTY1NTI2MTM3ZWUyYzExYS4uOTM4ZmU5YTVhZjFh
YjU0YWQwMTU2OTk0YzMzZGY0NWM1NzMyNDU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2
NCw5ICs0NjQsOSBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMv
d2ViZ3B1L0RPTVdpbmRvd1dlYkdQVS5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVDb21wYXJl
RnVuY3Rpb24uaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVRGVwdGhTdGVuY2lsU3RhdGVEZXNj
cmlwdG9yLmlkbAorICAgIE1vZHVsZXMvd2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5p
ZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFUuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvV2Vi
R1BVQWRhcHRlci5pZGwKLSAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVzY3JpcHRv
ci5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXAuaWRsCiAgICAgTW9kdWxl
cy93ZWJncHUvV2ViR1BVQmluZEdyb3VwQmluZGluZy5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVCaW5kR3JvdXBEZXNjcmlwdG9yLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggNWU1NGI3Y2I0YThjYWY2ZDM2N2NlMGE5NzM3MGY2MjRiMWMyZTBmMi4uYmMzMDA5ZWY1
MGM5NjRiNmU2Nzg0Y2U4MmMwNzY0OWNmNzk0NWVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0zNzQsOSArMzc0LDkgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJncHUvRE9NV2luZG93V2ViR1BVLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3dlYmdwdS9HUFVDb21wYXJlRnVuY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXAuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cEJpbmRpbmcuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJpbmRHcm91cERlc2NyaXB0b3IuaWRsIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9u
cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVSZXF1ZXN0QWRhcHRlck9w
dGlvbnMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiYzg0ZjI0NDA1MTAzOGI3NGE1YWNjNWRhNGMzNDJkYzkw
Y2FkYTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9H
UFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
Ly8gaHR0cHM6Ly9naXRodWIuY29tL2dwdXdlYi9ncHV3ZWIvYmxvYi9tYXN0ZXIvZGVzaWduL3Nr
ZXRjaC53ZWJpZGwKKworZW51bSBHUFVQb3dlclByZWZlcmVuY2UgeworICAgICJsb3ctcG93ZXIi
LAorICAgICJoaWdoLXBlcmZvcm1hbmNlIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQkdQ
VSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQorXSBkaWN0aW9uYXJ5IEdQVVJlcXVlc3RB
ZGFwdGVyT3B0aW9ucyB7CisgICAgR1BVUG93ZXJQcmVmZXJlbmNlIHBvd2VyUHJlZmVyZW5jZTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmNwcAppbmRleCAwZGM0MTFh
ZTMwM2U0YjA4NmVkYmY5Zjg2OGY4NWRiNGQxYWM2NGZmLi4zOGY5OTNjMTYyNzEzYzA5ZmIwN2Zk
YjI5OTA5YzNhYTlhMzhjOTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbmNsdWRl
ICJHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaCIKICNpbmNsdWRlICJKU1dlYkdQVUFkYXB0ZXIu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsOSArMzgsOSBAQCBSZWY8V2ViR1BVPiBX
ZWJHUFU6OmNyZWF0ZSgpCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVKTsKIH0KIAot
dm9pZCBXZWJHUFU6OnJlcXVlc3RBZGFwdGVyKGNvbnN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9y
JiBkZXNjcmlwdG9yLCBXZWJHUFVBZGFwdGVyUHJvbWlzZSYmIGRlZmVycmVkKSBjb25zdAordm9p
ZCBXZWJHUFU6OnJlcXVlc3RBZGFwdGVyKE9wdGlvbmFsPEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9u
cz4mJiBvcHRpb25zLCBXZWJHUFVBZGFwdGVyUHJvbWlzZSYmIGRlZmVycmVkKSBjb25zdAogewot
ICAgIGF1dG8gYWRhcHRlciA9IFdlYkdQVUFkYXB0ZXI6OmNyZWF0ZShkZXNjcmlwdG9yKTsKKyAg
ICBhdXRvIGFkYXB0ZXIgPSBXZWJHUFVBZGFwdGVyOjpjcmVhdGUoV1RGTW92ZShvcHRpb25zKSk7
CiAgICAgZGVmZXJyZWQucmVzb2x2ZShhZGFwdGVyLmdldCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFUuaAppbmRleCAwZDUxMDc2OTAyOGUxMzYwMTlhOGMyNjZiYjBi
N2Q2Y2E4NTBiMDNjLi43OTdiZjJiZDlhMmU2Zjc4Yzg5M2YzNjYxYzcyYmQ5ZDBiZjdlZGU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuaApAQCAtMjgsMTIgKzI4LDEzIEBA
CiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgV2ViR1BVQWRhcHRlcjsKLQotc3RydWN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yOworICAg
IAorc3RydWN0IEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9uczsKIAogY2xhc3MgV2ViR1BVIDogcHVi
bGljIFJlZkNvdW50ZWQ8V2ViR1BVPiB7CiBwdWJsaWM6CkBAIC00MSw3ICs0Miw3IEBAIHB1Ymxp
YzoKIAogICAgIHVzaW5nIFdlYkdQVUFkYXB0ZXJQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVk
PElETEludGVyZmFjZTxXZWJHUFVBZGFwdGVyPj47CiAKLSAgICB2b2lkIHJlcXVlc3RBZGFwdGVy
KGNvbnN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yJiwgV2ViR1BVQWRhcHRlclByb21pc2UmJikg
Y29uc3Q7CisgICAgdm9pZCByZXF1ZXN0QWRhcHRlcihPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRl
ck9wdGlvbnM+JiYsIFdlYkdQVUFkYXB0ZXJQcm9taXNlJiYpIGNvbnN0OwogCiBwcml2YXRlOgog
ICAgIFdlYkdQVSgpID0gZGVmYXVsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFUuaWRsCmluZGV4IGM2M2RlOGFkNTNkMTYyMzc5ODljNTRhNTE1Y2I2MGU5OTc3YTYxMTYuLjFj
YzllNGY5NzYwZmM5OTM1OGRlNzdkNjcwMTZiMzliMGYzY2ViZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVLmlkbApAQCAtMjksNSArMjksNSBAQAogICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViR1BVLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJm
YWNlIFdlYkdQVSB7Ci0gICAgUHJvbWlzZTxXZWJHUFVBZGFwdGVyPiByZXF1ZXN0QWRhcHRlcihX
ZWJHUFVBZGFwdGVyRGVzY3JpcHRvciBkZXNjKTsKKyAgICBQcm9taXNlPFdlYkdQVUFkYXB0ZXI+
IHJlcXVlc3RBZGFwdGVyKG9wdGlvbmFsIEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucyBvcHRpb25z
KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVB
ZGFwdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIu
Y3BwCmluZGV4IDc3ZjlmNDkxZTRmYzE2MTllMDBkYjkyNjc0OGVhYWJhYmJkNTExYmEuLjhiZjZl
OWJiNDNmNTIwMTUxODE2MWY1NzRlZTZlZjExNTMxNmU3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCkBAIC0yOSwyMSArMjksMTggQEAK
ICNpZiBFTkFCTEUoV0VCR1BVKQogCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IgotI2luY2x1ZGUgIldlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiV2ViR1BV
RGV2aWNlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPFdlYkdQVUFkYXB0ZXI+IFdl
YkdQVUFkYXB0ZXI6OmNyZWF0ZShjb25zdCBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvciYgZGVzY3Jp
cHRvcikKK1JlZjxXZWJHUFVBZGFwdGVyPiBXZWJHUFVBZGFwdGVyOjpjcmVhdGUoT3B0aW9uYWw8
R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiYmIG9wdGlvbnMpCiB7Ci0gICAgLy8gRklYTUU6IFZh
bGlkYXRpb24gb24gZGVzY3JpcHRvci4KLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVB
ZGFwdGVyKGRlc2NyaXB0b3IpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVBZGFw
dGVyKFdURk1vdmUob3B0aW9ucykpKTsKIH0KIAotV2ViR1BVQWRhcHRlcjo6V2ViR1BVQWRhcHRl
cihjb25zdCBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKLSAgICA6IG1fZGVz
Y3JpcHRvcihkZXNjcmlwdG9yKQorV2ViR1BVQWRhcHRlcjo6V2ViR1BVQWRhcHRlcihPcHRpb25h
bDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiYgb3B0aW9ucykKKyAgICA6IG1fb3B0aW9ucyhX
VEZNb3ZlKG9wdGlvbnMpKQogewotICAgIFVOVVNFRF9QQVJBTShtX2Rlc2NyaXB0b3IpOwogfQog
CiBSZWZQdHI8V2ViR1BVRGV2aWNlPiBXZWJHUFVBZGFwdGVyOjpjcmVhdGVEZXZpY2UoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5oCmluZGV4IDhkMDRl
NTRiZjJhNjQwOGU5ZTg4MjU0YzgyMDRjZWM1NWMxNjgwODQuLmJmN2NjM2ZmODI4ZTE2YmMxNzE0
MTIyZjIwNGE4YTBlZjQ0OTY1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVBZGFwdGVyLmgKQEAgLTI3LDYgKzI3LDggQEAKIAogI2lmIEVOQUJMRShXRUJHUFUp
CiAKKyNpbmNsdWRlICJHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaCIKKyNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIApAQCAtMzUsMTggKzM3LDE4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBXZWJHUFVEZXZpY2U7CiAKLXN0cnVjdCBX
ZWJHUFVBZGFwdGVyRGVzY3JpcHRvcjsKLQogY2xhc3MgV2ViR1BVQWRhcHRlciA6IHB1YmxpYyBS
ZWZDb3VudGVkPFdlYkdQVUFkYXB0ZXI+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQ
VUFkYXB0ZXI+IGNyZWF0ZShjb25zdCBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvciYpOworICAgIHN0
YXRpYyBSZWY8V2ViR1BVQWRhcHRlcj4gY3JlYXRlKE9wdGlvbmFsPEdQVVJlcXVlc3RBZGFwdGVy
T3B0aW9ucz4mJik7CiAKICAgICBSZWZQdHI8V2ViR1BVRGV2aWNlPiBjcmVhdGVEZXZpY2UoKTsK
KyAgICAKKyAgICBPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+IG9wdGlvbnMoKSBj
b25zdCB7IHJldHVybiBtX29wdGlvbnM7IH0KIAogcHJpdmF0ZToKLSAgICBXZWJHUFVBZGFwdGVy
KGNvbnN0IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yJik7CisgICAgZXhwbGljaXQgV2ViR1BVQWRh
cHRlcihPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiYpOwogCi0gICAgY29uc3Qg
V2ViR1BVQWRhcHRlckRlc2NyaXB0b3ImIG1fZGVzY3JpcHRvcjsKKyAgICBPcHRpb25hbDxHUFVS
ZXF1ZXN0QWRhcHRlck9wdGlvbnM+IG1fb3B0aW9uczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFk
YXB0ZXJEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVB
ZGFwdGVyRGVzY3JpcHRvci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZWU0ZDg5
YTEzMzk1NjMwNWVlMzg5NzFhODkxZGEyNWU5NzljZjBkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLXN0cnVjdCBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvciB7Ci0gICAgZW51
bSBjbGFzcyBQb3dlclByZWZlcmVuY2UgewotICAgICAgICBEZWZhdWx0LAotICAgICAgICBMb3dQ
b3dlciwKLSAgICAgICAgSGlnaFBlcmZvcm1hbmNlCi0gICAgfTsKLQotICAgIFBvd2VyUHJlZmVy
ZW5jZSBwb3dlclByZWZlcmVuY2UgPSBQb3dlclByZWZlcmVuY2U6OkRlZmF1bHQ7Ci19OwotCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlckRlc2NyaXB0
b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlckRlc2Ny
aXB0b3IuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjk0ZDdjYjM0NWVhYTk2
NTNhNDM3ZTFjYzA5MTVkYWUwNzViYTc0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0
ZXJEZXNjcmlwdG9yLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotLy8gaHR0cHM6Ly9naXRodWIuY29tL2dwdXdlYi9ncHV3ZWIvYmxvYi9tYXN0ZXIvZGVzaWdu
L3NrZXRjaC53ZWJpZGwKLQotZW51bSBXZWJHUFVQb3dlclByZWZlcmVuY2UgewotICAgICJkZWZh
dWx0IiwKLSAgICAibG93LXBvd2VyIiwKLSAgICAiaGlnaC1wZXJmb3JtYW5jZSIKLX07Ci0KLVsK
LSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0g
ZGljdGlvbmFyeSBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvciB7Ci0gICAgV2ViR1BVUG93ZXJQcmVm
ZXJlbmNlIHBvd2VyUHJlZmVyZW5jZSA9ICJkZWZhdWx0IjsKLX07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAppbmRleCAwZDk4ZTEzZGIzZjc4ODE1
YTNkNDFmOTQyN2JlZWU1MjVmY2EzMzkxLi40ZGQwYTk0MjBkYmI3NmQ2MzMzMmExZTgzMDJkMDUw
NDZjZDdlYzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZS5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBSZWZQdHI8
V2ViR1BVRGV2aWNlPiBXZWJHUFVEZXZpY2U6OmNyZWF0ZShSZWY8V2ViR1BVQWRhcHRlcj4mJiBh
ZGFwdGVyKQogewotICAgIGlmIChhdXRvIGRldmljZSA9IEdQVURldmljZTo6Y3JlYXRlKCkpIC8v
IEZJWE1FOiBUYWtlIGFkYXB0ZXIgaW50byBhY2NvdW50IHdoZW4gY3JlYXRpbmcgbV9kZXZpY2Uu
CisgICAgaWYgKGF1dG8gZGV2aWNlID0gR1BVRGV2aWNlOjpjcmVhdGUoYWRhcHRlci0+b3B0aW9u
cygpKSkKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJHUFVEZXZpY2UoV1RGTW92ZShh
ZGFwdGVyKSwgZGV2aWNlLnJlbGVhc2VOb25OdWxsKCkpKTsKICAgICByZXR1cm4gbnVsbHB0cjsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKaW5kZXggYzI3ZDkxNzMzMDk0MmJkODA4ZGYyMmRkOTc2NjIyNDBjMWFj
NTk0MS4uMzc4YzA2NTNiODA5MGNmMDFjM2IwZGFkY2EzOTU5MTMwZTdmODU4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKQEAgLTI3NzAsNiArMjc3MCw3IEBAIEpTR2VvcG9zaXRpb24uY3BwCiBKU0dsb2JhbENy
eXB0by5jcHAKIEpTR2xvYmFsRXZlbnRIYW5kbGVycy5jcHAKIEpTR2xvYmFsUGVyZm9ybWFuY2Uu
Y3BwCitKU0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5jcHAKIEpTSFRNTEFsbENvbGxlY3Rpb24u
Y3BwCiBKU0hUTUxBbmNob3JFbGVtZW50LmNwcAogSlNIVE1MQXBwbGV0RWxlbWVudC5jcHAKQEAg
LTMyOTQsNyArMzI5NSw2IEBAIEpTV2F2ZVNoYXBlck5vZGUuY3BwCiBKU1dlYkFuaW1hdGlvbi5j
cHAKIEpTV2ViR1BVLmNwcAogSlNXZWJHUFVBZGFwdGVyLmNwcAotSlNXZWJHUFVBZGFwdGVyRGVz
Y3JpcHRvci5jcHAKIEpTV2ViR1BVQmluZEdyb3VwLmNwcAogSlNXZWJHUFVCaW5kR3JvdXBCaW5k
aW5nLmNwcAogSlNXZWJHUFVCaW5kR3JvdXBEZXNjcmlwdG9yLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZlYWQ3M2M5ODk0
OTc2MmUyMjU0MDAyODgzNzgwYWRmNGU3YTZhOWIuLjg4Y2Y5MDJhNjliMDM5YjA2ZjA0ZWIwOTYz
NDE4NDQ3NDMwOGIyZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTEzOTQ4LDggKzEzOTQ4LDcgQEAKIAkJRDAyMzJCNTgyMUNC
NDlCNzAwOTQ4M0I5IC8qIEdQVUJpbmRHcm91cExheW91dE1ldGFsLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gR1BVQmluZEdyb3VwTGF5b3V0TWV0YWwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUQwMjQ1NEQwMjFDNEE0MUMwMEI3MzYyOCAvKiBHUFVCaW5kR3JvdXBMYXlvdXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gR1BVQmluZEdyb3VwTGF5b3V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUQwMkI4M0VEMjFDODM5N0EwMEY4NTQ3MyAvKiBXZWJHUFVCaW5kR3JvdXBM
YXlvdXREZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJHUFVCaW5kR3JvdXBMYXlvdXREZXNjcmlwdG9y
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRDAyQzI2OTEyMTgxNDE2RDAwRDgx
OEU0IC8qIFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVUFk
YXB0ZXJEZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUQwMkMyNjky
MjE4MTQxNkQwMEQ4MThFNCAvKiBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2Vi
R1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDJDMjY5MjIxODE0MTZEMDBEODE4RTQgLyogR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlEMDJGODU0RTIxNjgyQTRBMDA4OEVFNzQgLyogV2ViTWV0YWxDb21tYW5kUXVldWUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFdlYk1ldGFsQ29tbWFuZFF1ZXVlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRDAyRjg1NTAyMTY4MkE1NjAwODhFRTc0IC8qIFdlYk1ldGFsQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbENvbXB1dGVDb21t
YW5kRW5jb2Rlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMkY4NTUxMjE2
ODJBNTYwMDg4RUU3NCAvKiBXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MDQzLDYgKzE0MDQyLDcgQEAKIAkJRDA2
M0FFNDcyMUMwNjYyNjAwMEU2QTM1IC8qIFdlYkdQVUlucHV0U3RlcE1vZGUuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdl
YkdQVUlucHV0U3RlcE1vZGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDYz
QUU0ODIxQzA2NkRCMDAwRTZBMzUgLyogV2ViR1BVSW5kZXhGb3JtYXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViR1BVSW5kZXhGb3JtYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA2
M0FFNDkyMUMwNjZEQjAwMEU2QTM1IC8qIFdlYkdQVUluZGV4Rm9ybWF0LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJH
UFVJbmRleEZvcm1hdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNkE5QTIx
MjIwMjZDN0EwMDgzQzY2MiAvKiBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUQwNkMwRDhEMENGRDExNDYwMDY1RjQzRiAvKiBSZW1vdmVGb3JtYXRDb21tYW5kLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW92ZUZvcm1hdENvbW1hbmQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA2QzBEOEUwQ0ZEMTE0NjAwNjVGNDNGIC8q
IFJlbW92ZUZvcm1hdENvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVtb3ZlRm9ybWF0Q29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUQwN0RFQUI3MEEzNjU1NEEwMENBMzBGOCAvKiBJbnNlcnRMaXN0Q29tbWFuZC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zZXJ0TGlzdENvbW1hbmQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg0NjQsNiArMTg0NjQsNyBAQAogCQkJ
CUQwMzIxMUNFMjFBQzk1NEUwMDc2M0NGMiAvKiBHUFVSZW5kZXJQYXNzRW5jb2Rlci5oICovLAog
CQkJCTMxMkZGOEI5MjFBNEMyRUYwMEVCMTk5RCAvKiBHUFVSZW5kZXJQaXBlbGluZS5oICovLAog
CQkJCTMxMkZGOEJDMjFBNEMyRjAwMEVCMTk5RCAvKiBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IuaCAqLywKKwkJCQlEMDZBOUEyMTIyMDI2QzdBMDA4M0M2NjIgLyogR1BVUmVxdWVzdEFkYXB0
ZXJPcHRpb25zLmggKi8sCiAJCQkJMzEyRkY4QkIyMUE0QzJGMDAwRUIxOTlEIC8qIEdQVVNoYWRl
ck1vZHVsZS5oICovLAogCQkJCTMxMkZGOEMwMjFBNEMyRjIwMEVCMTk5RCAvKiBHUFVTaGFkZXJN
b2R1bGVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMzEyRkY4QkEyMUE0QzJFRjAwRUIxOTlEIC8qIEdQ
VVN3YXBDaGFpbi5oICovLApAQCAtMjYwMzEsMTQgKzI2MDMyLDEzIEBACiAJCQkJRDAwRjU5NDIy
MTZFQ0M3QTAwMEQ3MURCIC8qIERPTVdpbmRvd1dlYkdQVS5pZGwgKi8sCiAJCQkJRDAzQzg0OUUy
MUZGQ0YwMDAwMDIyMjdGIC8qIEdQVUNvbXBhcmVGdW5jdGlvbi5pZGwgKi8sCiAJCQkJRDAzQzg0
QTIyMUZGRDcyMzAwMDIyMjdGIC8qIEdQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3JpcHRvci5pZGwg
Ki8sCisJCQkJRDAyQzI2OTIyMTgxNDE2RDAwRDgxOEU0IC8qIEdQVVJlcXVlc3RBZGFwdGVyT3B0
aW9ucy5pZGwgKi8sCiAJCQkJRDAwRjU5NDcyMTZFRkU1NDAwMEQ3MURCIC8qIFdlYkdQVS5jcHAg
Ki8sCiAJCQkJRDAwRjU5NDYyMTZFRkU1NDAwMEQ3MURCIC8qIFdlYkdQVS5oICovLAogCQkJCUQw
MEY1OTQ4MjE2RUZFNTQwMDBENzFEQiAvKiBXZWJHUFUuaWRsICovLAogCQkJCUQwMEY1OTUwMjE2
RkZBQzIwMDBENzFEQiAvKiBXZWJHUFVBZGFwdGVyLmNwcCAqLywKIAkJCQlEMDBGNTk0RjIxNkZG
QUMyMDAwRDcxREIgLyogV2ViR1BVQWRhcHRlci5oICovLAogCQkJCUQwMEY1OTUxMjE2RkZBQzIw
MDBENzFEQiAvKiBXZWJHUFVBZGFwdGVyLmlkbCAqLywKLQkJCQlEMDJDMjY5MTIxODE0MTZEMDBE
ODE4RTQgLyogV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaCAqLywKLQkJCQlEMDJDMjY5MjIxODE0
MTZEMDBEODE4RTQgLyogV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsICovLAogCQkJCUQwQkUx
MDYxMjFFNkMwRUIwMEU0MkE4OSAvKiBXZWJHUFVCaW5kR3JvdXAuY3BwICovLAogCQkJCUQwQkUx
MDYwMjFFNkMwRUIwMEU0MkE4OSAvKiBXZWJHUFVCaW5kR3JvdXAuaCAqLywKIAkJCQlEMEJFMTA2
MjIxRTZDMEVCMDBFNDJBODkgLyogV2ViR1BVQmluZEdyb3VwLmlkbCAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCA2ZTZkNTE1
MzE4NWI4YmFlZGU0YjM0OWNiMDVhMjMxN2NiYTE4YTRhLi45YzliNTk3N2E0YTAyYjE3NjE5MWFl
NzNkZWM1ZTE1MzdkNTc1MTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVURldmljZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKFdFQkdQ
VSkKIAogI2luY2x1ZGUgIkdQVVF1ZXVlLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JldGFpblB0ci5oPgpAQCAtNTAsMTEgKzUxLDEyIEBAIHN0cnVjdCBHUFVCaW5k
R3JvdXBMYXlvdXREZXNjcmlwdG9yOwogc3RydWN0IEdQVUJ1ZmZlckRlc2NyaXB0b3I7CiBzdHJ1
Y3QgR1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yOwogc3RydWN0IEdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvcjsKK3N0cnVjdCBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM7CiBzdHJ1Y3QgR1BV
U2hhZGVyTW9kdWxlRGVzY3JpcHRvcjsKIAogY2xhc3MgR1BVRGV2aWNlIDogcHVibGljIFJlZkNv
dW50ZWQ8R1BVRGV2aWNlPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxHUFVEZXZpY2U+
IGNyZWF0ZSgpOworICAgIHN0YXRpYyBSZWZQdHI8R1BVRGV2aWNlPiBjcmVhdGUoT3B0aW9uYWw8
R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiYmKTsKIAogICAgIFJlZlB0cjxHUFVCdWZmZXI+IGNy
ZWF0ZUJ1ZmZlcihHUFVCdWZmZXJEZXNjcmlwdG9yJiYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVxdWVzdEFkYXB0ZXJPcHRp
b25zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVxdWVzdEFk
YXB0ZXJPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDIxMzExNjUzYjliOGE1NGYzMDQ2YTVhZTQ5NDky
Y2YxMjYyYjY0NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaApAQCAtMCwwICsxLDQzIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3N0cnVjdCBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMgeworICAgIGVu
dW0gY2xhc3MgUG93ZXJQcmVmZXJlbmNlIHsKKyAgICAgICAgTG93UG93ZXIsCisgICAgICAgIEhp
Z2hQZXJmb3JtYW5jZQorICAgIH07CisgICAgCisgICAgUG93ZXJQcmVmZXJlbmNlIHBvd2VyUHJl
ZmVyZW5jZTsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCR1BVKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L2NvY29hL0dQVURldmljZU1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L2NvY29hL0dQVURldmljZU1ldGFsLm1tCmluZGV4IGU4Mzg3YTc3MTFiMDIw
MGVkOTE5MmZhMTQyMGQzNTkyZjhlNDgxODkuLmVlOTc3N2VmYmRhMDU0Nzk3N2ExNjVlZTY0Yzhh
YTMyMzFkYTE2NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9jb2NvYS9HUFVEZXZpY2VNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvY29jb2EvR1BVRGV2aWNlTWV0YWwubW0KQEAgLTI4LDYgKzI4LDcgQEAK
IAogI2lmIEVOQUJMRShXRUJHUFUpCiAKKyNpbXBvcnQgIkdQVVJlcXVlc3RBZGFwdGVyT3B0aW9u
cy5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogCiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgpAQCAt
MzUsMjMgKzM2LDM1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmUHRyPEdQVURldmlj
ZT4gR1BVRGV2aWNlOjpjcmVhdGUoKQorUmVmUHRyPEdQVURldmljZT4gR1BVRGV2aWNlOjpjcmVh
dGUoT3B0aW9uYWw8R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiYmIG9wdGlvbnMpCiB7Ci0gICAg
UGxhdGZvcm1EZXZpY2VTbWFydFB0ciBkZXZpY2U7CisgICAgUGxhdGZvcm1EZXZpY2VTbWFydFB0
ciBkZXZpY2VQdHI7CiAKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0KLSAgICBk
ZXZpY2UgPSBhZG9wdE5TKE1UTENyZWF0ZVN5c3RlbURlZmF1bHREZXZpY2UoKSk7IC8vIEZJWE1F
OiBUYWtlIFdlYkdQVVBvd2VyUHJlZmVyZW5jZSBpbnRvIGFjY291bnQuCisgICAgCisgICAgaWYg
KG9wdGlvbnMgJiYgb3B0aW9ucy0+cG93ZXJQcmVmZXJlbmNlID09IEdQVVJlcXVlc3RBZGFwdGVy
T3B0aW9uczo6UG93ZXJQcmVmZXJlbmNlOjpMb3dQb3dlcikgeworICAgICAgICBhdXRvIGRldmlj
ZXMgPSBhZG9wdE5TKE1UTENvcHlBbGxEZXZpY2VzKCkpOworICAgICAgICAKKyAgICAgICAgZm9y
IChpZCA8TVRMRGV2aWNlPiBkZXZpY2UgOiBkZXZpY2VzLmdldCgpKSB7CisgICAgICAgICAgICBp
ZiAoZGV2aWNlLmxvd1Bvd2VyKSB7CisgICAgICAgICAgICAgICAgZGV2aWNlUHRyID0gcmV0YWlu
UHRyKGRldmljZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKyAgICB9CisgICAgCisgICAgaWYgKCFkZXZpY2VQdHIpCisgICAgICAgIGRldmljZVB0
ciA9IGFkb3B0TlMoTVRMQ3JlYXRlU3lzdGVtRGVmYXVsdERldmljZSgpKTsKIAogICAgIEVORF9C
TE9DS19PQkpDX0VYQ0VQVElPTlM7CiAKLSAgICBpZiAoIWRldmljZSkgeworICAgIGlmICghZGV2
aWNlUHRyKSB7CiAgICAgICAgIExPRyhXZWJHUFUsICJHUFVEZXZpY2U6OkdQVURldmljZSgpOiBV
bmFibGUgdG8gY3JlYXRlIEdQVURldmljZSEiKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgfQogCi0gICAgTE9HKFdlYkdQVSwgIkdQVURldmljZTo6R1BVRGV2aWNlKCk6IE1UTERldmlj
ZSBpcyAlcCIsIGRldmljZS5nZXQoKSk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBHUFVEZXZp
Y2UoV1RGTW92ZShkZXZpY2UpKSk7CisgICAgTE9HKFdlYkdQVSwgIkdQVURldmljZTo6R1BVRGV2
aWNlKCk6IE1UTERldmljZSBpcyAlcCIsIGRldmljZVB0ci5nZXQoKSk7CisgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBHUFVEZXZpY2UoV1RGTW92ZShkZXZpY2VQdHIpKSk7CiB9CiAKIEdQVURldmlj
ZTo6R1BVRGV2aWNlKFBsYXRmb3JtRGV2aWNlU21hcnRQdHImJiBkZXZpY2UpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjBi
ZTg4NjVlMjIyMTg5NTFiMmI3MThkODQxOWM2YjBlMjM1MWZiMC4uNTNhZDdmY2I0N2Y4ZDk3ZGIz
ZGE2ZmJhMmMxMzk4OTk5NTY1ZWVlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTAxLTMx
ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0g
V2ViR1BVQWRhcHRlckRlc2NyaXB0b3IgLT4gR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIGFuZCB0
YWtlIHBvd2VyUHJlZmVyZW5jZSBpbnRvIGFjY291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDA2OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDc2ODAyMTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIHNpbXBsZSB0ZXN0IHRvIGNyZWF0ZSBkZXZpY2Ugd2l0aCBhbGwgb3B0aW9ucy4gVXBk
YXRlIGhlbHBlciBmdW5jdGlvbnMgZm9yIG90aGVyIFdlYiBHUFUKKyAgICAgICAgdGVzdHMgdG8g
cmVxdWVzdCBkaWZmZXJlbnQgYWRhcHRlcnMuIChObyBjaGFuZ2UgaW4gdGVzdCBiZWhhdmlvciBl
eHBlY3RlZC4pCisKKyAgICAgICAgKiB3ZWJncHUvYWRhcHRlci1vcHRpb25zLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViZ3B1L2FkYXB0ZXItb3B0aW9ucy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJncHUvanMvYmFzaWMtd2ViZ3B1LWZ1bmN0aW9ucy5qczoKKyAgICAgICAg
KGFzeW5jLnNldFVwQ29udGV4dHMpOiBVcGRhdGUgdG8gdXNlIG5vIGFkYXB0ZXIgcmVxdWVzdCBh
cmd1bWVudCBhdCBhbGwuIAorICAgICAgICAqIHdlYmdwdS9qcy93ZWJncHUtZnVuY3Rpb25zLmpz
OgorICAgICAgICAoYXN5bmMuZ2V0QmFzaWNEZXZpY2UpOiBVcGRhdGUgdG8gcmVxdWVzdCB0aGUg
bG93LXBvd2VyIGFkYXB0ZXIuCisKIDIwMTktMDEtMzEgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBVc2UgdGhlIHVzZWQgbWFyZ2luIHZhbHVlcyBpbiBv
dXRPZkZsb3dSZXBsYWNlZEhvcml6b250YWxHZW9tZXRyeSBjb25zaXN0ZW50bHkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdwdS9hZGFwdGVyLW9wdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViZ3B1L2FkYXB0ZXItb3B0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmRmMWE1MGZhMGFiZjA5Y2M4Y2VjN2VkNGFmYjFjYjE1YjBiMmRlOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmdwdS9hZGFwdGVyLW9wdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorCitQQVNTIENyZWF0ZSB0aGUgZGVmYXVsdCBkZXZpY2UuIAorUEFTUyBDcmVh
dGUgYSBkZXZpY2Ugd2l0aCBhIGxvdy1wb3dlciBvcHRpb24uIAorUEFTUyBDcmVhdGUgYSBkZXZp
Y2Ugd2l0aCBhIGhpZ2gtcGVyZm9ybWFuY2Ugb3B0aW9uLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ3B1L2FkYXB0ZXItb3B0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2Fk
YXB0ZXItb3B0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwNDJmMjhjODVkZDI5ZTNkZjIyZjE1ZTVk
MTZmZmVmNzM4ZDFlYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvYWRh
cHRlci1vcHRpb25zLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6V2ViR1BVRW5hYmxlZD10cnVlIF0gLS0+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkNyZWF0ZSBHUFVEZXZpY2VzIGZyb20gdmFy
aW91cyBvcHRpb25zLjwvdGl0bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5j
ICgpID0+IHsKKyAgICBjb25zdCBkZWZhdWx0QWRhcHRlciA9IGF3YWl0IHdlYmdwdS5yZXF1ZXN0
QWRhcHRlcigpOworICAgIGNvbnN0IGRldmljZSA9IGRlZmF1bHRBZGFwdGVyLmNyZWF0ZURldmlj
ZSgpOworCisgICAgYXNzZXJ0X3RydWUoZGV2aWNlIGluc3RhbmNlb2YgV2ViR1BVRGV2aWNlLCAi
RGVmYXVsdCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQuIik7Cit9LCAiQ3JlYXRlIHRoZSBk
ZWZhdWx0IGRldmljZS4iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25z
dCBsb3dQb3dlckFkYXB0ZXIgPSBhd2FpdCB3ZWJncHUucmVxdWVzdEFkYXB0ZXIoeyBwb3dlclBy
ZWZlcmVuY2U6ICJsb3ctcG93ZXIiIH0pOworICAgIGNvbnN0IGRldmljZSA9IGxvd1Bvd2VyQWRh
cHRlci5jcmVhdGVEZXZpY2UoKTsKKworICAgIGFzc2VydF90cnVlKGRldmljZSBpbnN0YW5jZW9m
IFdlYkdQVURldmljZSwgIkRldmljZSBzdWNjZXNzZnVsbHkgY3JlYXRlZCB1c2luZyBsb3ctcG93
ZXIgb3B0aW9uLiIpOworfSwgIkNyZWF0ZSBhIGRldmljZSB3aXRoIGEgbG93LXBvd2VyIG9wdGlv
bi4iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBoaWdoUGVyZkFk
YXB0ZXIgPSBhd2FpdCB3ZWJncHUucmVxdWVzdEFkYXB0ZXIoeyBwb3dlclByZWZlcmVuY2U6ICJo
aWdoLXBlcmZvcm1hbmNlIiB9KTsKKyAgICBjb25zdCBkZXZpY2UgPSBoaWdoUGVyZkFkYXB0ZXIu
Y3JlYXRlRGV2aWNlKCk7CisKKyAgICBhc3NlcnRfdHJ1ZShkZXZpY2UgaW5zdGFuY2VvZiBXZWJH
UFVEZXZpY2UsICJEZXZpY2Ugc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgdXNpbmcgaGlnaC1wZXJmb3Jt
YW5jZSBvcHRpb24uIik7Cit9LCAiQ3JlYXRlIGEgZGV2aWNlIHdpdGggYSBoaWdoLXBlcmZvcm1h
bmNlIG9wdGlvbi4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS9qcy9iYXNpYy13ZWJncHUtZnVu
Y3Rpb25zLmpzIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L2pzL2Jhc2ljLXdlYmdwdS1mdW5jdGlvbnMu
anMKaW5kZXggMGQwODcwMjYyZjcwMDllMWEzZDkzMGVlZDRkYWU0OWUwMDA5OWM2Zi4uMDgzNzMy
NTM2MzA5ZjljM2EzNmI2MWE1NTc2MzM4NTcwZDNmYWQ4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvd2ViZ3B1L2pzL2Jhc2ljLXdlYmdwdS1mdW5jdGlvbnMuanMKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ3B1L2pzL2Jhc2ljLXdlYmdwdS1mdW5jdGlvbnMuanMKQEAgLTYwLDggKzYwLDcgQEAgYXN5
bmMgZnVuY3Rpb24gc2V0VXBDb250ZXh0cyhjYW52YXMpIHsKIAogICAgIHNob3VsZEJlRGVmaW5l
ZCh3aW5kb3cud2ViZ3B1KTsKICAgICAKLSAgICAvLyBGSVhNRTogcmVxdWVzdEFkYXB0ZXIgc2hv
dWxkIHRha2UgYSBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvci4KLSAgICBhZGFwdGVyID0gYXdhaXQg
d2luZG93LndlYmdwdS5yZXF1ZXN0QWRhcHRlcih7fSk7CisgICAgYWRhcHRlciA9IGF3YWl0IHdp
bmRvdy53ZWJncHUucmVxdWVzdEFkYXB0ZXIoKTsKICAgICBpZiAoIWFkYXB0ZXIpIHsKICAgICAg
ICAgdGVzdEZhaWxlZCgiQ291bGQgbm90IGNyZWF0ZSBkZWZhdWx0IFdlYkdQVUFkYXB0ZXIhIikK
ICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2pzL3dlYmdw
dS1mdW5jdGlvbnMuanMgYi9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2ViZ3B1LWZ1bmN0aW9ucy5q
cwppbmRleCA3NjdmOTQ2NTIxYTRhZDIyMjEzZjkyZjBkNGZjYjU3MjBjODI2MzE3Li5mMzc4OWM5
ZjI1NGI0MzkwNDRkZjc5NDVmMmY0YzFlMWUwNzhhZjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy93ZWJncHUvanMvd2ViZ3B1LWZ1bmN0aW9ucy5qcworKysgYi9MYXlvdXRUZXN0cy93ZWJncHUv
anMvd2ViZ3B1LWZ1bmN0aW9ucy5qcwpAQCAtMSw2ICsxLDUgQEAKIGFzeW5jIGZ1bmN0aW9uIGdl
dEJhc2ljRGV2aWNlKCkgewotICAgIC8vIEZJWE1FOiByZXF1ZXN0QWRhcHRlciBzaG91bGQgdGFr
ZSBhIFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLgotICAgIGNvbnN0IGFkYXB0ZXIgPSBhd2FpdCB3
aW5kb3cud2ViZ3B1LnJlcXVlc3RBZGFwdGVyKHt9KTsKKyAgICBjb25zdCBhZGFwdGVyID0gYXdh
aXQgd2luZG93LndlYmdwdS5yZXF1ZXN0QWRhcHRlcih7IHBvd2VyUHJlZmVyZW5jZTogImxvdy1w
b3dlciIgfSk7CiAgICAgY29uc3QgZGV2aWNlID0gYWRhcHRlci5jcmVhdGVEZXZpY2UoKTsKICAg
ICByZXR1cm4gZGV2aWNlOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360749</attachid>
            <date>2019-01-31 11:58:50 -0800</date>
            <delta_ts>2019-01-31 12:53:56 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-194068-20190131115849.patch</filename>
            <type>text/plain</type>
            <size>29650</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDgzYmIzZDBkZmQzYTk3
ODliZWYxYmNmOTYxMGY2MTdjYzkzNzg3Yy4uZDI3N2M0NTZjZWU2YzQ4MDJjYjY3NmQxZmYwMmMw
OGE0ZjRkYWE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTAxLTMxICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gV2ViR1BV
QWRhcHRlckRlc2NyaXB0b3IgLT4gR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIGFuZCB0YWtlIHBv
d2VyUHJlZmVyZW5jZSBpbnRvIGFjY291bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NDA2OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc2ODAy
MTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorICAgICAgICAKKyAgICAg
ICAgUGVyIHRoZSBXZWIgR1BVIElETCwgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IgaXMgbm93IGtu
b3duIGFzIEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucyBhbmQgaXMgb3B0aW9uYWwuCisgICAgICAg
IEluIGFkZGl0aW9uLCBXZWIgR1BVIG5vdyBhY3R1YWxseSBhdHRlbXB0cyB0byByZXR1cm4gYW4g
aW50ZWdyYXRlZCBHUFUgd2hlbiBhIGxvdy1wb3dlciBhZGFwdGVyIGlzIHJlcXVlc3RlZC4KKwor
ICAgICAgICBUZXN0OiBhZGFwdGVyLW9wdGlvbnMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy93
ZWJncHUvR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmlkbC4KKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BV
OjpyZXF1ZXN0QWRhcHRlciBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BV
Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVUFk
YXB0ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVBZGFwdGVyOjpXZWJHUFVB
ZGFwdGVyKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmg6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJHUFVBZGFwdGVyOjpvcHRpb25zIGNvbnN0KToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BV
RGV2aWNlOjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZp
Y2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVxdWVzdEFkYXB0ZXJP
cHRpb25zLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVBZGFwdGVyRGVzY3JpcHRvci5oLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9j
b2NvYS9HUFVEZXZpY2VNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6Y3Jl
YXRlKToKKwogMjAxOS0wMS0zMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgU2ltcGxpZnkgYW5kIHN0cmVhbWxpbmUgY29kZSB0aGF0IGNyZWF0ZXMgYW4gYXBwcm9w
cmlhdGUgZG9jdW1lbnQgYmFzZWQgb24gTUlNRSB0eXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGQzNTVlN2IyYTA2OTVjMzE3NWMzZGFkNmU2NTUyNjEzN2VlMmMxMWEuLjkzOGZlOWE1YWYxYWI1
NGFkMDE1Njk5NGMzM2RmNDVjNTczMjQ1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjQs
OSArNDY0LDkgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3dl
YmdwdS9ET01XaW5kb3dXZWJHUFUuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvR1BVQ29tcGFyZUZ1
bmN0aW9uLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlRGVzY3Jp
cHRvci5pZGwKKyAgICBNb2R1bGVzL3dlYmdwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRs
CiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUFkYXB0ZXIuaWRsCi0gICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlckRlc2NyaXB0b3Iu
aWRsCiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwLmlkbAogICAgIE1vZHVsZXMv
d2ViZ3B1L1dlYkdQVUJpbmRHcm91cEJpbmRpbmcuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvV2Vi
R1BVQmluZEdyb3VwRGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IDVlNTRiN2NiNGE4Y2FmNmQzNjdjZTBhOTczNzBmNjI0YjFjMmUwZjIuLmJjMzAwOWVmNTBj
OTY0YjZlNjc4NGNlODJjMDc2NDljZjc5NDVlZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtMzc0LDkgKzM3NCw5IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L0RPTVdpbmRvd1dlYkdQVS5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJncHUvR1BVQ29tcGFyZUZ1bmN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmdwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJncHUvV2ViR1BVQmluZEdyb3VwLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBCaW5kaW5nLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVCaW5kR3JvdXBEZXNjcmlwdG9yLmlkbCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVUmVxdWVzdEFkYXB0ZXJPcHRp
b25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jYmM4NGYyNDQwNTEwMzhiNzRhNWFjYzVkYTRjMzQyZGM5MGNh
ZGE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BV
UmVxdWVzdEFkYXB0ZXJPcHRpb25zLmlkbApAQCAtMCwwICsxLDM3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKy8v
IGh0dHBzOi8vZ2l0aHViLmNvbS9ncHV3ZWIvZ3B1d2ViL2Jsb2IvbWFzdGVyL2Rlc2lnbi9za2V0
Y2gud2ViaWRsCisKK2VudW0gR1BVUG93ZXJQcmVmZXJlbmNlIHsKKyAgICAibG93LXBvd2VyIiwK
KyAgICAiaGlnaC1wZXJmb3JtYW5jZSIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJHUFUs
CisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKK10gZGljdGlvbmFyeSBHUFVSZXF1ZXN0QWRh
cHRlck9wdGlvbnMgeworICAgIEdQVVBvd2VyUHJlZmVyZW5jZSBwb3dlclByZWZlcmVuY2U7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5jcHAKaW5kZXggMGRjNDExYWUz
MDNlNGIwODZlZGJmOWY4NjhmODVkYjRkMWFjNjRmZi4uMzhmOTkzYzE2MjcxM2MwOWZiMDdmZGIy
OTkwOWMzYWE5YTM4Yzk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUu
Y3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAi
R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiSlNXZWJHUFVBZGFwdGVyLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3LDkgKzM4LDkgQEAgUmVmPFdlYkdQVT4gV2Vi
R1BVOjpjcmVhdGUoKQogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQVSk7CiB9CiAKLXZv
aWQgV2ViR1BVOjpyZXF1ZXN0QWRhcHRlcihjb25zdCBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvciYg
ZGVzY3JpcHRvciwgV2ViR1BVQWRhcHRlclByb21pc2UmJiBkZWZlcnJlZCkgY29uc3QKK3ZvaWQg
V2ViR1BVOjpyZXF1ZXN0QWRhcHRlcihPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+
JiYgb3B0aW9ucywgV2ViR1BVQWRhcHRlclByb21pc2UmJiBkZWZlcnJlZCkgY29uc3QKIHsKLSAg
ICBhdXRvIGFkYXB0ZXIgPSBXZWJHUFVBZGFwdGVyOjpjcmVhdGUoZGVzY3JpcHRvcik7CisgICAg
YXV0byBhZGFwdGVyID0gV2ViR1BVQWRhcHRlcjo6Y3JlYXRlKFdURk1vdmUob3B0aW9ucykpOwog
ICAgIGRlZmVycmVkLnJlc29sdmUoYWRhcHRlci5nZXQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVLmgKaW5kZXggMGQ1MTA3NjkwMjhlMTM2MDE5YThjMjY2YmIwYjdk
NmNhODUwYjAzYy4uMjcyNzAzNzhhOWRkYjI1NjcxNjk2OTc0ZWYyMDg1NTgwNjE4NWU4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmgKQEAgLTI4LDEyICsyOCwxMyBAQAog
I2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgor
I2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IFdlYkdQVUFkYXB0ZXI7CiAKLXN0cnVjdCBXZWJHUFVBZGFwdGVyRGVzY3JpcHRvcjsKK3N0cnVj
dCBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM7CiAKIGNsYXNzIFdlYkdQVSA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYkdQVT4gewogcHVibGljOgpAQCAtNDEsNyArNDIsNyBAQCBwdWJsaWM6CiAKICAg
ICB1c2luZyBXZWJHUFVBZGFwdGVyUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRl
cmZhY2U8V2ViR1BVQWRhcHRlcj4+OwogCi0gICAgdm9pZCByZXF1ZXN0QWRhcHRlcihjb25zdCBX
ZWJHUFVBZGFwdGVyRGVzY3JpcHRvciYsIFdlYkdQVUFkYXB0ZXJQcm9taXNlJiYpIGNvbnN0Owor
ICAgIHZvaWQgcmVxdWVzdEFkYXB0ZXIoT3B0aW9uYWw8R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25z
PiYmLCBXZWJHUFVBZGFwdGVyUHJvbWlzZSYmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBXZWJH
UFUoKSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmlkbApp
bmRleCBjNjNkZThhZDUzZDE2MjM3OTg5YzU0YTUxNWNiNjBlOTk3N2E2MTE2Li4xY2M5ZTRmOTc2
MGZjOTkzNThkZTc3ZDY3MDE2YjM5YjBmM2NlYmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVS5pZGwKQEAgLTI5LDUgKzI5LDUgQEAKICAgICBFbmFibGVkQXRSdW50aW1l
PVdlYkdQVSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBXZWJH
UFUgewotICAgIFByb21pc2U8V2ViR1BVQWRhcHRlcj4gcmVxdWVzdEFkYXB0ZXIoV2ViR1BVQWRh
cHRlckRlc2NyaXB0b3IgZGVzYyk7CisgICAgUHJvbWlzZTxXZWJHUFVBZGFwdGVyPiByZXF1ZXN0
QWRhcHRlcihvcHRpb25hbCBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMgb3B0aW9ucyk7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmNwcAppbmRl
eCA3N2Y5ZjQ5MWU0ZmMxNjE5ZTAwZGI5MjY3NDhlYWFiYWJiZDUxMWJhLi44YmY2ZTliYjQzZjUy
MDE1MTgxNjFmNTc0ZWU2ZWYxMTUzMTZlN2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmNwcApAQCAtMjksMjEgKzI5LDE4IEBACiAjaWYgRU5B
QkxFKFdFQkdQVSkKIAogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKLSNpbmNs
dWRlICJXZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIldlYkdQVURldmljZS5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxXZWJHUFVBZGFwdGVyPiBXZWJHUFVBZGFw
dGVyOjpjcmVhdGUoY29uc3QgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCitS
ZWY8V2ViR1BVQWRhcHRlcj4gV2ViR1BVQWRhcHRlcjo6Y3JlYXRlKE9wdGlvbmFsPEdQVVJlcXVl
c3RBZGFwdGVyT3B0aW9ucz4mJiBvcHRpb25zKQogewotICAgIC8vIEZJWE1FOiBWYWxpZGF0aW9u
IG9uIGRlc2NyaXB0b3IuCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVQWRhcHRlcihk
ZXNjcmlwdG9yKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVQWRhcHRlcihXVEZN
b3ZlKG9wdGlvbnMpKSk7CiB9CiAKLVdlYkdQVUFkYXB0ZXI6OldlYkdQVUFkYXB0ZXIoY29uc3Qg
V2ViR1BVQWRhcHRlckRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCi0gICAgOiBtX2Rlc2NyaXB0b3Io
ZGVzY3JpcHRvcikKK1dlYkdQVUFkYXB0ZXI6OldlYkdQVUFkYXB0ZXIoT3B0aW9uYWw8R1BVUmVx
dWVzdEFkYXB0ZXJPcHRpb25zPiYmIG9wdGlvbnMpCisgICAgOiBtX29wdGlvbnMoV1RGTW92ZShv
cHRpb25zKSkKIHsKLSAgICBVTlVTRURfUEFSQU0obV9kZXNjcmlwdG9yKTsKIH0KIAogUmVmUHRy
PFdlYkdQVURldmljZT4gV2ViR1BVQWRhcHRlcjo6Y3JlYXRlRGV2aWNlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaAppbmRleCA4ZDA0ZTU0YmYyYTY0
MDhlOWU4ODI1NGM4MjA0Y2VjNTVjMTY4MDg0Li5iZjdjYzNmZjgyOGUxNmJjMTcxNDEyMmYyMDRh
OGEwZWY0NDk2NWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVBZGFwdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
QWRhcHRlci5oCkBAIC0yNyw2ICsyNyw4IEBACiAKICNpZiBFTkFCTEUoV0VCR1BVKQogCisjaW5j
bHVkZSAiR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAKQEAgLTM1LDE4ICszNywxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2ViR1BVRGV2aWNlOwogCi1zdHJ1Y3QgV2ViR1BVQWRh
cHRlckRlc2NyaXB0b3I7Ci0KIGNsYXNzIFdlYkdQVUFkYXB0ZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXZWJHUFVBZGFwdGVyPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxXZWJHUFVBZGFwdGVy
PiBjcmVhdGUoY29uc3QgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3ImKTsKKyAgICBzdGF0aWMgUmVm
PFdlYkdQVUFkYXB0ZXI+IGNyZWF0ZShPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+
JiYpOwogCiAgICAgUmVmUHRyPFdlYkdQVURldmljZT4gY3JlYXRlRGV2aWNlKCk7CisgICAgCisg
ICAgT3B0aW9uYWw8R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiBvcHRpb25zKCkgY29uc3QgeyBy
ZXR1cm4gbV9vcHRpb25zOyB9CiAKIHByaXZhdGU6Ci0gICAgV2ViR1BVQWRhcHRlcihjb25zdCBX
ZWJHUFVBZGFwdGVyRGVzY3JpcHRvciYpOworICAgIGV4cGxpY2l0IFdlYkdQVUFkYXB0ZXIoT3B0
aW9uYWw8R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiYmKTsKIAotICAgIGNvbnN0IFdlYkdQVUFk
YXB0ZXJEZXNjcmlwdG9yJiBtX2Rlc2NyaXB0b3I7CisgICAgT3B0aW9uYWw8R1BVUmVxdWVzdEFk
YXB0ZXJPcHRpb25zPiBtX29wdGlvbnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVz
Y3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlckRl
c2NyaXB0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGVlNGQ4OWExMzM5NTYz
MDVlZTM4OTcxYTg5MWRhMjVlOTc5Y2YwZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFw
dGVyRGVzY3JpcHRvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0g
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQot
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1zdHJ1Y3QgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IgewotICAgIGVudW0gY2xhc3Mg
UG93ZXJQcmVmZXJlbmNlIHsKLSAgICAgICAgRGVmYXVsdCwKLSAgICAgICAgTG93UG93ZXIsCi0g
ICAgICAgIEhpZ2hQZXJmb3JtYW5jZQotICAgIH07Ci0KLSAgICBQb3dlclByZWZlcmVuY2UgcG93
ZXJQcmVmZXJlbmNlID0gUG93ZXJQcmVmZXJlbmNlOjpEZWZhdWx0OwotfTsKLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFdFQkdQVSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmlk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzI5NGQ3Y2IzNDVlYWE5NjUzYTQzN2Ux
Y2MwOTE1ZGFlMDc1YmE3NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyRGVzY3Jp
cHRvci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLS8vIGh0
dHBzOi8vZ2l0aHViLmNvbS9ncHV3ZWIvZ3B1d2ViL2Jsb2IvbWFzdGVyL2Rlc2lnbi9za2V0Y2gu
d2ViaWRsCi0KLWVudW0gV2ViR1BVUG93ZXJQcmVmZXJlbmNlIHsKLSAgICAiZGVmYXVsdCIsCi0g
ICAgImxvdy1wb3dlciIsCi0gICAgImhpZ2gtcGVyZm9ybWFuY2UiCi19OwotCi1bCi0gICAgQ29u
ZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGRpY3Rpb25h
cnkgV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IgewotICAgIFdlYkdQVVBvd2VyUHJlZmVyZW5jZSBw
b3dlclByZWZlcmVuY2UgPSAiZGVmYXVsdCI7Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKaW5kZXggMGQ5OGUxM2RiM2Y3ODgxNWEzZDQxZjk0
MjdiZWVlNTI1ZmNhMzM5MS4uNGRkMGE5NDIwZGJiNzZkNjMzMzJhMWU4MzAyZDA1MDQ2Y2Q3ZWMx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3Bw
CkBAIC01OCw3ICs1OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUmVmUHRyPFdlYkdQVURl
dmljZT4gV2ViR1BVRGV2aWNlOjpjcmVhdGUoUmVmPFdlYkdQVUFkYXB0ZXI+JiYgYWRhcHRlcikK
IHsKLSAgICBpZiAoYXV0byBkZXZpY2UgPSBHUFVEZXZpY2U6OmNyZWF0ZSgpKSAvLyBGSVhNRTog
VGFrZSBhZGFwdGVyIGludG8gYWNjb3VudCB3aGVuIGNyZWF0aW5nIG1fZGV2aWNlLgorICAgIGlm
IChhdXRvIGRldmljZSA9IEdQVURldmljZTo6Y3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMoKSkpCiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKFdURk1vdmUoYWRhcHRlciks
IGRldmljZS5yZWxlYXNlTm9uTnVsbCgpKSk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IGMyN2Q5MTczMzA5NDJiZDgwOGRmMjJkZDk3NjYyMjQwYzFhYzU5NDEuLjM3
OGMwNjUzYjgwOTBjZjAxYzNiMGRhZGNhMzk1OTEzMGU3Zjg1ODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBA
IC0yNzcwLDYgKzI3NzAsNyBAQCBKU0dlb3Bvc2l0aW9uLmNwcAogSlNHbG9iYWxDcnlwdG8uY3Bw
CiBKU0dsb2JhbEV2ZW50SGFuZGxlcnMuY3BwCiBKU0dsb2JhbFBlcmZvcm1hbmNlLmNwcAorSlNH
UFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuY3BwCiBKU0hUTUxBbGxDb2xsZWN0aW9uLmNwcAogSlNI
VE1MQW5jaG9yRWxlbWVudC5jcHAKIEpTSFRNTEFwcGxldEVsZW1lbnQuY3BwCkBAIC0zMjk0LDcg
KzMyOTUsNiBAQCBKU1dhdmVTaGFwZXJOb2RlLmNwcAogSlNXZWJBbmltYXRpb24uY3BwCiBKU1dl
YkdQVS5jcHAKIEpTV2ViR1BVQWRhcHRlci5jcHAKLUpTV2ViR1BVQWRhcHRlckRlc2NyaXB0b3Iu
Y3BwCiBKU1dlYkdQVUJpbmRHcm91cC5jcHAKIEpTV2ViR1BVQmluZEdyb3VwQmluZGluZy5jcHAK
IEpTV2ViR1BVQmluZEdyb3VwRGVzY3JpcHRvci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2ZWFkNzNjOTg5NDk3NjJlMjI1
NDAwMjg4Mzc4MGFkZjRlN2E2YTliLi44OGNmOTAyYTY5YjAzOWIwNmYwNGViMDk2MzQxODQ0NzQz
MDhiMmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0xMzk0OCw4ICsxMzk0OCw3IEBACiAJCUQwMjMyQjU4MjFDQjQ5QjcwMDk0
ODNCOSAvKiBHUFVCaW5kR3JvdXBMYXlvdXRNZXRhbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IEdQVUJpbmRHcm91cExheW91dE1ldGFsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlEMDI0NTREMDIxQzRBNDFDMDBCNzM2MjggLyogR1BVQmluZEdyb3VwTGF5b3V0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEdQVUJpbmRHcm91cExheW91dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlEMDJCODNFRDIxQzgzOTdBMDBGODU0NzMgLyogV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVz
Y3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVQmluZEdyb3VwTGF5b3V0RGVzY3JpcHRvci5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUQwMkMyNjkxMjE4MTQxNkQwMEQ4MThFNCAvKiBX
ZWJHUFVBZGFwdGVyRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVBZGFwdGVyRGVz
Y3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlEMDJDMjY5MjIxODE0MTZE
MDBEODE4RTQgLyogV2ViR1BVQWRhcHRlckRlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdQVUFkYXB0
ZXJEZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyQzI2OTIy
MTgxNDE2RDAwRDgxOEU0IC8qIEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR1BV
UmVxdWVzdEFkYXB0ZXJPcHRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RDAyRjg1NEUyMTY4MkE0QTAwODhFRTc0IC8qIFdlYk1ldGFsQ29tbWFuZFF1ZXVlLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBXZWJNZXRhbENvbW1hbmRRdWV1ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQwMkY4NTUwMjE2ODJBNTYwMDg4RUU3NCAvKiBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rl
ci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29k
ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDJGODU1MTIxNjgyQTU2MDA4
OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDA0Myw2ICsxNDA0Miw3IEBACiAJCUQwNjNBRTQ3MjFD
MDY2MjYwMDBFNkEzNSAvKiBXZWJHUFVJbnB1dFN0ZXBNb2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJHUFVJbnB1
dFN0ZXBNb2RlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA2M0FFNDgyMUMw
NjZEQjAwMEU2QTM1IC8qIFdlYkdQVUluZGV4Rm9ybWF0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQ
VUluZGV4Rm9ybWF0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwNjNBRTQ5MjFD
MDY2REIwMDBFNkEzNSAvKiBXZWJHUFVJbmRleEZvcm1hdC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR1BVSW5kZXhG
b3JtYXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDZBOUEyMTIyMDI2QzdB
MDA4M0M2NjIgLyogR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQ
VVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
MDZDMEQ4RDBDRkQxMTQ2MDA2NUY0M0YgLyogUmVtb3ZlRm9ybWF0Q29tbWFuZC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdmVGb3JtYXRDb21tYW5kLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwNkMwRDhFMENGRDExNDYwMDY1RjQzRiAvKiBSZW1vdmVG
b3JtYXRDb21tYW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJl
bW92ZUZvcm1hdENvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDdE
RUFCNzBBMzY1NTRBMDBDQTMwRjggLyogSW5zZXJ0TGlzdENvbW1hbmQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc2VydExpc3RDb21tYW5kLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4NDY0LDYgKzE4NDY0LDcgQEAKIAkJCQlEMDMyMTFD
RTIxQUM5NTRFMDA3NjNDRjIgLyogR1BVUmVuZGVyUGFzc0VuY29kZXIuaCAqLywKIAkJCQkzMTJG
RjhCOTIxQTRDMkVGMDBFQjE5OUQgLyogR1BVUmVuZGVyUGlwZWxpbmUuaCAqLywKIAkJCQkzMTJG
RjhCQzIxQTRDMkYwMDBFQjE5OUQgLyogR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmggKi8s
CisJCQkJRDA2QTlBMjEyMjAyNkM3QTAwODNDNjYyIC8qIEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9u
cy5oICovLAogCQkJCTMxMkZGOEJCMjFBNEMyRjAwMEVCMTk5RCAvKiBHUFVTaGFkZXJNb2R1bGUu
aCAqLywKIAkJCQkzMTJGRjhDMDIxQTRDMkYyMDBFQjE5OUQgLyogR1BVU2hhZGVyTW9kdWxlRGVz
Y3JpcHRvci5oICovLAogCQkJCTMxMkZGOEJBMjFBNEMyRUYwMEVCMTk5RCAvKiBHUFVTd2FwQ2hh
aW4uaCAqLywKQEAgLTI2MDMxLDE0ICsyNjAzMiwxMyBAQAogCQkJCUQwMEY1OTQyMjE2RUNDN0Ew
MDBENzFEQiAvKiBET01XaW5kb3dXZWJHUFUuaWRsICovLAogCQkJCUQwM0M4NDlFMjFGRkNGMDAw
MDAyMjI3RiAvKiBHUFVDb21wYXJlRnVuY3Rpb24uaWRsICovLAogCQkJCUQwM0M4NEEyMjFGRkQ3
MjMwMDAyMjI3RiAvKiBHUFVEZXB0aFN0ZW5jaWxTdGF0ZURlc2NyaXB0b3IuaWRsICovLAorCQkJ
CUQwMkMyNjkyMjE4MTQxNkQwMEQ4MThFNCAvKiBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaWRs
ICovLAogCQkJCUQwMEY1OTQ3MjE2RUZFNTQwMDBENzFEQiAvKiBXZWJHUFUuY3BwICovLAogCQkJ
CUQwMEY1OTQ2MjE2RUZFNTQwMDBENzFEQiAvKiBXZWJHUFUuaCAqLywKIAkJCQlEMDBGNTk0ODIx
NkVGRTU0MDAwRDcxREIgLyogV2ViR1BVLmlkbCAqLywKIAkJCQlEMDBGNTk1MDIxNkZGQUMyMDAw
RDcxREIgLyogV2ViR1BVQWRhcHRlci5jcHAgKi8sCiAJCQkJRDAwRjU5NEYyMTZGRkFDMjAwMEQ3
MURCIC8qIFdlYkdQVUFkYXB0ZXIuaCAqLywKIAkJCQlEMDBGNTk1MTIxNkZGQUMyMDAwRDcxREIg
LyogV2ViR1BVQWRhcHRlci5pZGwgKi8sCi0JCQkJRDAyQzI2OTEyMTgxNDE2RDAwRDgxOEU0IC8q
IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmggKi8sCi0JCQkJRDAyQzI2OTIyMTgxNDE2RDAwRDgx
OEU0IC8qIFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLmlkbCAqLywKIAkJCQlEMEJFMTA2MTIxRTZD
MEVCMDBFNDJBODkgLyogV2ViR1BVQmluZEdyb3VwLmNwcCAqLywKIAkJCQlEMEJFMTA2MDIxRTZD
MEVCMDBFNDJBODkgLyogV2ViR1BVQmluZEdyb3VwLmggKi8sCiAJCQkJRDBCRTEwNjIyMUU2QzBF
QjAwRTQyQTg5IC8qIFdlYkdQVUJpbmRHcm91cC5pZGwgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKaW5kZXggNmU2ZDUxNTMxODViOGJh
ZWRlNGIzNDljYjA1YTIzMTdjYmExOGE0YS4uOWM5YjU5NzdhNGEwMmIxNzYxOTFhZTczZGVjNWUx
NTM3ZDU3NTEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVEZXZpY2UuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShXRUJHUFUpCiAKICNp
bmNsdWRlICJHUFVRdWV1ZS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KQEAgLTUwLDExICs1MSwxMiBAQCBzdHJ1Y3QgR1BVQmluZEdyb3VwTGF5
b3V0RGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVCdWZmZXJEZXNjcmlwdG9yOwogc3RydWN0IEdQVVBp
cGVsaW5lTGF5b3V0RGVzY3JpcHRvcjsKIHN0cnVjdCBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3I7CitzdHJ1Y3QgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zOwogc3RydWN0IEdQVVNoYWRlck1v
ZHVsZURlc2NyaXB0b3I7CiAKIGNsYXNzIEdQVURldmljZSA6IHB1YmxpYyBSZWZDb3VudGVkPEdQ
VURldmljZT4gewogcHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8R1BVRGV2aWNlPiBjcmVhdGUo
KTsKKyAgICBzdGF0aWMgUmVmUHRyPEdQVURldmljZT4gY3JlYXRlKE9wdGlvbmFsPEdQVVJlcXVl
c3RBZGFwdGVyT3B0aW9ucz4mJik7CiAKICAgICBSZWZQdHI8R1BVQnVmZmVyPiBjcmVhdGVCdWZm
ZXIoR1BVQnVmZmVyRGVzY3JpcHRvciYmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlcXVlc3RBZGFwdGVyT3B0
aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQyMTMxMTY1M2I5YjhhNTRmMzA0NmE1YWU0OTQ5MmNmMTI2MmI2
NDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQkdQVSkKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zIHsKKyAgICBlbnVtIGNsYXNz
IFBvd2VyUHJlZmVyZW5jZSB7CisgICAgICAgIExvd1Bvd2VyLAorICAgICAgICBIaWdoUGVyZm9y
bWFuY2UKKyAgICB9OworICAgIAorICAgIFBvd2VyUHJlZmVyZW5jZSBwb3dlclByZWZlcmVuY2U7
Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdF
QkdQVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9j
b2NvYS9HUFVEZXZpY2VNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9jb2NvYS9HUFVEZXZpY2VNZXRhbC5tbQppbmRleCBlODM4N2E3NzExYjAyMDBlZDkxOTJm
YTE0MjBkMzU5MmY4ZTQ4MTg5Li5lZTk3NzdlZmJkYTA1NDc5NzdhMTY1ZWU2NGM4YWEzMjMxZGEx
NjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvY29j
b2EvR1BVRGV2aWNlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L2NvY29hL0dQVURldmljZU1ldGFsLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBF
TkFCTEUoV0VCR1BVKQogCisjaW1wb3J0ICJHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaCIKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKIAogI2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KQEAgLTM1LDIzICsz
NiwzNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZlB0cjxHUFVEZXZpY2U+IEdQVURl
dmljZTo6Y3JlYXRlKCkKK1JlZlB0cjxHUFVEZXZpY2U+IEdQVURldmljZTo6Y3JlYXRlKE9wdGlv
bmFsPEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucz4mJiBvcHRpb25zKQogewotICAgIFBsYXRmb3Jt
RGV2aWNlU21hcnRQdHIgZGV2aWNlOworICAgIFBsYXRmb3JtRGV2aWNlU21hcnRQdHIgZGV2aWNl
UHRyOwogCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotCi0gICAgZGV2aWNlID0g
YWRvcHROUyhNVExDcmVhdGVTeXN0ZW1EZWZhdWx0RGV2aWNlKCkpOyAvLyBGSVhNRTogVGFrZSBX
ZWJHUFVQb3dlclByZWZlcmVuY2UgaW50byBhY2NvdW50LgorICAgIAorICAgIGlmIChvcHRpb25z
ICYmIG9wdGlvbnMtPnBvd2VyUHJlZmVyZW5jZSA9PSBHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM6
OlBvd2VyUHJlZmVyZW5jZTo6TG93UG93ZXIpIHsKKyAgICAgICAgYXV0byBkZXZpY2VzID0gYWRv
cHROUyhNVExDb3B5QWxsRGV2aWNlcygpKTsKKyAgICAgICAgCisgICAgICAgIGZvciAoaWQgPE1U
TERldmljZT4gZGV2aWNlIDogZGV2aWNlcy5nZXQoKSkgeworICAgICAgICAgICAgaWYgKGRldmlj
ZS5sb3dQb3dlcikgeworICAgICAgICAgICAgICAgIGRldmljZVB0ciA9IHJldGFpblB0cihkZXZp
Y2UpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorICAgIAorICAgIGlmICghZGV2aWNlUHRyKQorICAgICAgICBkZXZpY2VQdHIgPSBhZG9w
dE5TKE1UTENyZWF0ZVN5c3RlbURlZmF1bHREZXZpY2UoKSk7CiAKICAgICBFTkRfQkxPQ0tfT0JK
Q19FWENFUFRJT05TOwogCi0gICAgaWYgKCFkZXZpY2UpIHsKKyAgICBpZiAoIWRldmljZVB0cikg
ewogICAgICAgICBMT0coV2ViR1BVLCAiR1BVRGV2aWNlOjpHUFVEZXZpY2UoKTogVW5hYmxlIHRv
IGNyZWF0ZSBHUFVEZXZpY2UhIik7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAot
ICAgIExPRyhXZWJHUFUsICJHUFVEZXZpY2U6OkdQVURldmljZSgpOiBNVExEZXZpY2UgaXMgJXAi
LCBkZXZpY2UuZ2V0KCkpOwotICAgIHJldHVybiBhZG9wdFJlZihuZXcgR1BVRGV2aWNlKFdURk1v
dmUoZGV2aWNlKSkpOworICAgIExPRyhXZWJHUFUsICJHUFVEZXZpY2U6OkdQVURldmljZSgpOiBN
VExEZXZpY2UgaXMgJXAiLCBkZXZpY2VQdHIuZ2V0KCkpOworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgR1BVRGV2aWNlKFdURk1vdmUoZGV2aWNlUHRyKSkpOwogfQogCiBHUFVEZXZpY2U6OkdQVURl
dmljZShQbGF0Zm9ybURldmljZVNtYXJ0UHRyJiYgZGV2aWNlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIwYmU4ODY1ZTIy
MjE4OTUxYjJiNzE4ZDg0MTljNmIwZTIzNTFmYjAuLjExNzRjMWJjODQ2MjI4NGM3MWZmOTM3OGQ4
NWUxMDE4NDNhNzhjNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0wMS0zMSAgSnVzdGlu
IEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIFdlYkdQVUFk
YXB0ZXJEZXNjcmlwdG9yIC0+IEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucyBhbmQgdGFrZSBwb3dl
clByZWZlcmVuY2UgaW50byBhY2NvdW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTQwNjgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NjgwMjE1
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBBZGQgc2lt
cGxlIHRlc3QgdG8gY3JlYXRlIGRldmljZSB3aXRoIGFsbCBvcHRpb25zLiBVcGRhdGUgaGVscGVy
IGZ1bmN0aW9ucyBmb3Igb3RoZXIgV2ViIEdQVQorICAgICAgICB0ZXN0cyB0byByZXF1ZXN0IGRp
ZmZlcmVudCBhZGFwdGVycy4gKE5vIGNoYW5nZSBpbiB0ZXN0IGJlaGF2aW9yIGV4cGVjdGVkLikK
KworICAgICAgICAqIHdlYmdwdS9hZGFwdGVyLW9wdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJncHUvYWRhcHRlci1vcHRpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmdwdS9qcy9iYXNpYy13ZWJncHUtZnVuY3Rpb25zLmpzOgorICAgICAgICAoYXN5bmMuc2V0
VXBDb250ZXh0cyk6IFVwZGF0ZSB0byB1c2Ugbm8gYWRhcHRlciByZXF1ZXN0IGFyZ3VtZW50IGF0
IGFsbC4gCisgICAgICAgICogd2ViZ3B1L2pzL3dlYmdwdS1mdW5jdGlvbnMuanM6CisgICAgICAg
IChhc3luYy5nZXRCYXNpY0RldmljZSk6IFVwZGF0ZSB0byByZXF1ZXN0IHRoZSBsb3ctcG93ZXIg
YWRhcHRlci4KKwogMjAxOS0wMS0zMSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtMRkNdIFVzZSB0aGUgdXNlZCBtYXJnaW4gdmFsdWVzIGluIG91dE9mRmxvd1Jl
cGxhY2VkSG9yaXpvbnRhbEdlb21ldHJ5IGNvbnNpc3RlbnRseQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ3B1L2FkYXB0ZXItb3B0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJncHUvYWRhcHRlci1vcHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGYxYTUwZmEw
YWJmMDljYzhjZWM3ZWQ0YWZiMWNiMTViMGIyZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViZ3B1L2FkYXB0ZXItb3B0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CisKK1BBU1MgQ3JlYXRlIHRoZSBkZWZhdWx0IGRldmljZS4gCitQQVNTIENyZWF0ZSBhIGRldmlj
ZSB3aXRoIGEgbG93LXBvd2VyIG9wdGlvbi4gCitQQVNTIENyZWF0ZSBhIGRldmljZSB3aXRoIGEg
aGlnaC1wZXJmb3JtYW5jZSBvcHRpb24uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
cHUvYWRhcHRlci1vcHRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJncHUvYWRhcHRlci1vcHRp
b25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjA0MmYyOGM4NWRkMjllM2RmMjJmMTVlNWQxNmZmZWY3Mzhk
MWVhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9hZGFwdGVyLW9wdGlv
bnMuaHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpXZWJHUFVFbmFibGVkPXRydWUgXSAtLT4KKzxtZXRhIGNo
YXJzZXQ9dXRmLTg+Cis8dGl0bGU+Q3JlYXRlIEdQVURldmljZXMgZnJvbSB2YXJpb3VzIG9wdGlv
bnMuPC90aXRsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewor
ICAgIGNvbnN0IGRlZmF1bHRBZGFwdGVyID0gYXdhaXQgd2ViZ3B1LnJlcXVlc3RBZGFwdGVyKCk7
CisgICAgY29uc3QgZGV2aWNlID0gZGVmYXVsdEFkYXB0ZXIuY3JlYXRlRGV2aWNlKCk7CisKKyAg
ICBhc3NlcnRfdHJ1ZShkZXZpY2UgaW5zdGFuY2VvZiBXZWJHUFVEZXZpY2UsICJEZWZhdWx0IGRl
dmljZSBzdWNjZXNzZnVsbHkgY3JlYXRlZC4iKTsKK30sICJDcmVhdGUgdGhlIGRlZmF1bHQgZGV2
aWNlLiIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGNvbnN0IGxvd1Bvd2Vy
QWRhcHRlciA9IGF3YWl0IHdlYmdwdS5yZXF1ZXN0QWRhcHRlcih7IHBvd2VyUHJlZmVyZW5jZTog
Imxvdy1wb3dlciIgfSk7CisgICAgY29uc3QgZGV2aWNlID0gbG93UG93ZXJBZGFwdGVyLmNyZWF0
ZURldmljZSgpOworCisgICAgYXNzZXJ0X3RydWUoZGV2aWNlIGluc3RhbmNlb2YgV2ViR1BVRGV2
aWNlLCAiRGV2aWNlIHN1Y2Nlc3NmdWxseSBjcmVhdGVkIHVzaW5nIGxvdy1wb3dlciBvcHRpb24u
Iik7Cit9LCAiQ3JlYXRlIGEgZGV2aWNlIHdpdGggYSBsb3ctcG93ZXIgb3B0aW9uLiIpOworCitw
cm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGNvbnN0IGhpZ2hQZXJmQWRhcHRlciA9IGF3
YWl0IHdlYmdwdS5yZXF1ZXN0QWRhcHRlcih7IHBvd2VyUHJlZmVyZW5jZTogImhpZ2gtcGVyZm9y
bWFuY2UiIH0pOworICAgIGNvbnN0IGRldmljZSA9IGhpZ2hQZXJmQWRhcHRlci5jcmVhdGVEZXZp
Y2UoKTsKKworICAgIGFzc2VydF90cnVlKGRldmljZSBpbnN0YW5jZW9mIFdlYkdQVURldmljZSwg
IkRldmljZSBzdWNjZXNzZnVsbHkgY3JlYXRlZCB1c2luZyBoaWdoLXBlcmZvcm1hbmNlIG9wdGlv
bi4iKTsKK30sICJDcmVhdGUgYSBkZXZpY2Ugd2l0aCBhIGhpZ2gtcGVyZm9ybWFuY2Ugb3B0aW9u
LiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L2pzL2Jhc2ljLXdlYmdwdS1mdW5jdGlvbnMuanMg
Yi9MYXlvdXRUZXN0cy93ZWJncHUvanMvYmFzaWMtd2ViZ3B1LWZ1bmN0aW9ucy5qcwppbmRleCAw
ZDA4NzAyNjJmNzAwOWUxYTNkOTMwZWVkNGRhZTQ5ZTAwMDk5YzZmLi4wODM3MzI1MzYzMDlmOWMz
YTM2YjYxYTU1NzYzMzg1NzBkM2ZhZDgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93ZWJncHUv
anMvYmFzaWMtd2ViZ3B1LWZ1bmN0aW9ucy5qcworKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvanMv
YmFzaWMtd2ViZ3B1LWZ1bmN0aW9ucy5qcwpAQCAtNjAsOCArNjAsNyBAQCBhc3luYyBmdW5jdGlv
biBzZXRVcENvbnRleHRzKGNhbnZhcykgewogCiAgICAgc2hvdWxkQmVEZWZpbmVkKHdpbmRvdy53
ZWJncHUpOwogICAgIAotICAgIC8vIEZJWE1FOiByZXF1ZXN0QWRhcHRlciBzaG91bGQgdGFrZSBh
IFdlYkdQVUFkYXB0ZXJEZXNjcmlwdG9yLgotICAgIGFkYXB0ZXIgPSBhd2FpdCB3aW5kb3cud2Vi
Z3B1LnJlcXVlc3RBZGFwdGVyKHt9KTsKKyAgICBhZGFwdGVyID0gYXdhaXQgd2luZG93LndlYmdw
dS5yZXF1ZXN0QWRhcHRlcigpOwogICAgIGlmICghYWRhcHRlcikgewogICAgICAgICB0ZXN0RmFp
bGVkKCJDb3VsZCBub3QgY3JlYXRlIGRlZmF1bHQgV2ViR1BVQWRhcHRlciEiKQogICAgICAgICBy
ZXR1cm47CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvanMvd2ViZ3B1LWZ1bmN0aW9u
cy5qcyBiL0xheW91dFRlc3RzL3dlYmdwdS9qcy93ZWJncHUtZnVuY3Rpb25zLmpzCmluZGV4IDc2
N2Y5NDY1MjFhNGFkMjIyMTNmOTJmMGQ0ZmNiNTcyMGM4MjYzMTcuLmYzNzg5YzlmMjU0YjQzOTA0
NGRmNzk0NWYyZjRjMWUxZTA3OGFmNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS9q
cy93ZWJncHUtZnVuY3Rpb25zLmpzCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS9qcy93ZWJncHUt
ZnVuY3Rpb25zLmpzCkBAIC0xLDYgKzEsNSBAQAogYXN5bmMgZnVuY3Rpb24gZ2V0QmFzaWNEZXZp
Y2UoKSB7Ci0gICAgLy8gRklYTUU6IHJlcXVlc3RBZGFwdGVyIHNob3VsZCB0YWtlIGEgV2ViR1BV
QWRhcHRlckRlc2NyaXB0b3IuCi0gICAgY29uc3QgYWRhcHRlciA9IGF3YWl0IHdpbmRvdy53ZWJn
cHUucmVxdWVzdEFkYXB0ZXIoe30pOworICAgIGNvbnN0IGFkYXB0ZXIgPSBhd2FpdCB3aW5kb3cu
d2ViZ3B1LnJlcXVlc3RBZGFwdGVyKHsgcG93ZXJQcmVmZXJlbmNlOiAibG93LXBvd2VyIiB9KTsK
ICAgICBjb25zdCBkZXZpY2UgPSBhZGFwdGVyLmNyZWF0ZURldmljZSgpOwogICAgIHJldHVybiBk
ZXZpY2U7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>