<?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>192546</bug_id>
          
          <creation_ts>2018-12-09 21:06:47 -0800</creation_ts>
          <short_desc>Remove derived classes of RealtimeMediaSourceCenter</short_desc>
          <delta_ts>2018-12-10 19:47:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit 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>
          <dependson>192542</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1486487</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-09 21:06:47 -0800</bug_when>
    <thetext>Remove derived classes of RealtimeMediaSourceCenter.
This will allow to reason more easily about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486488</commentid>
    <comment_count>1</comment_count>
      <attachid>356944</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-09 21:15:32 -0800</bug_when>
    <thetext>Created attachment 356944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486684</commentid>
    <comment_count>2</comment_count>
      <attachid>356987</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-10 13:04:29 -0800</bug_when>
    <thetext>Created attachment 356987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486772</commentid>
    <comment_count>3</comment_count>
      <attachid>357007</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-10 15:30:38 -0800</bug_when>
    <thetext>Created attachment 357007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486859</commentid>
    <comment_count>4</comment_count>
      <attachid>357007</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-10 19:46:26 -0800</bug_when>
    <thetext>Comment on attachment 357007
Patch

Clearing flags on attachment: 357007

Committed r239065: &lt;https://trac.webkit.org/changeset/239065&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486860</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-10 19:46:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486861</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-10 19:47:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/46617205&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356944</attachid>
            <date>2018-12-09 21:15:32 -0800</date>
            <delta_ts>2018-12-10 13:04:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192546-20181209211529.patch</filename>
            <type>text/plain</type>
            <size>46156</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IwNjA1YWE2Y2M0Mjdm
ZDNiN2QzNDZlOWVmZTYzNjc1NTRmNjliOC4uMjdhZTFjNmE0OTRlNmI0NDQ3MDA2NTY1NWRhODY2
MjMwZTY3Y2Q0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE4LTEyLTA5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgZGVyaXZlZCBj
bGFzc2VzIG9mIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjU0NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB2aXJ0dWFsIG1ldGhvZHMgb2YgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlciBhbmQgcmVtb3ZlIGRlcml2ZWQgY2xhc3NlcyBvZiBpdC4K
KyAgICAgICAgSW5zdGVhZCBwb3J0IHNwZWNpZmljIGltcGxlbWVudGF0aW9uIGRpcmVjdGx5IGlt
cGxlbWVudCB0aGUgbmVlZGVkIGRlZmF1bHQgZmFjdG9yeSBtZXRob2RzLgorCisgICAgICAgIFJl
bmFtZWQgc29tZSBtZXRob2RzIGZvciBpbXByb3ZlZCBjb25zaXN0ZW5jeS4KKyAgICAgICAgTW92
ZWQgc29tZSBzdGF0aWMgdmFyaWFibGVzIGFzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIgbWVt
YmVycy4KKworICAgICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFnZS9EZXByZWNhdGVk
R2xvYmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6UmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Z2V0TWVkaWFTdHJlYW1EZXZpY2VzKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmdldFVzZXJNZWRpYURldmljZXMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0VmlkZW9D
YXB0dXJlUGFnZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXI6OnNldEF1ZGlvRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjp1bnNldEF1ZGlvRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjphdWRpb0NhcHR1cmVGYWN0b3J5KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNldFZpZGVvRmFjdG9yeSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp1bnNldFZpZGVvRmFjdG9y
eSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp2aWRlb0Nh
cHR1cmVGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXI6OnNldERpc3BsYXlDYXB0dXJlRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyOjp1bnNldERpc3BsYXlDYXB0dXJlRmFjdG9yeSk6CisgICAgICAg
IChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkaXNwbGF5Q2FwdHVyZUZhY3Rv
cnkpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvU291
cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lVmlkZW9Tb3VyY2U6On5SZWFsdGlt
ZVZpZGVvU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lVmlkZW9Tb3VyY2U6OnBy
ZXBhcmVUb1Byb2R1Y2VEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVmYXVsdEF1ZGlvQ2FwdHVyZUZh
Y3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVm
YXVsdFZpZGVvQ2FwdHVyZUZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlcjo6ZGVmYXVsdERpc3BsYXlDYXB0dXJlRmFjdG9yeSk6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJM
aWJXZWJSVEMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
QVZWaWRlb0NhcHR1cmVTb3VyY2UubW06CisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVy
ZVNvdXJjZTo6fkFWVmlkZW9DYXB0dXJlU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkFWVmlk
ZW9DYXB0dXJlU291cmNlOjpzZXR1cENhcHR1cmVTZXNzaW9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjp+RGlzcGxheUNhcHR1cmVTb3Vy
Y2VDb2NvYSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjpz
dGFydFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0QXVkaW9DYXB0dXJlRmFjdG9yeSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0VmlkZW9DYXB0
dXJlRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
OjpkZWZhdWx0RGlzcGxheUNhcHR1cmVGYWN0b3J5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oOiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6On5Nb2NrUmVhbHRpbWVBdWRpb1Nv
dXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6c3RhcnRQ
cm9kdWNpbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpzZXRNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmF1ZGlvQ2FwdHVy
ZUZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXI6OnZpZGVvQ2FwdHVyZUZhY3RvcnkpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoKKwogMjAxOC0xMi0wOSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9u
RmFjdG9yeSBzaG91bGQgaXNvbGF0ZSBjb3B5IGl0cyB0ZXN0IGNhc2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYWE3
ODEyZDRiNDYyNTBiMTI4M2QyNTI5ZDI4OWE4NWFiMzZjMDkzNS4uMjE0Zjc2MTdmYjYzZmNkMjkz
MTUxZDVhNmFlOGIxZWRlOWM5OTUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0x
Mi0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3Zl
IGRlcml2ZWQgY2xhc3NlcyBvZiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI1NDYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBwZGF0ZSBjb2RlIGFjY29yZGlu
ZyBXZWJDb3JlIGNoYW5nZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlh
Q2FwdHVyZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1
cmVNYW5hZ2VyUHJveHk6OmNyZWF0ZU1lZGlhU291cmNlRm9yQ2FwdHVyZURldmljZVdpdGhDb25z
dHJhaW50cyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyOjp+VXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJl
TWFuYWdlcjo6aW5pdGlhbGl6ZSk6CisKIDIwMTgtMTItMDkgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgbW9jayBjYXB0dXJlIGhhcHBlbiBpbiB0aGUg
cHJvY2VzcyB1c2VkIGZvciByZWFsIGNhcHR1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1ZjZjNzMwMzE1MGRjMGNmM2Y0ZjQy
MTAwZjQ0NjVjZGE0ODZjNGZmLi4wY2VjMjRiNTg4ZTljODVjMWRmOGY4MDFmMTcwZWY5ZDIxYmFk
OTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xMzUwLDcgKzEzNTAsNiBAQAogCQk0QTBEQTJGRjEyOUIyNDE5MDBBQjYxRTEg
LyogRm9ybUFzc29jaWF0ZWRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0QTBEQTJGRDEyOUIyNDE5MDBBQjYxRTEgLyogRm9ybUFzc29jaWF0
ZWRFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNEEwRkZBOUUxQUFGNUU3RTAwNjI4MDNCIC8qIE1vY2tSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
QTBGRkE5QzFBQUY1RTZDMDA2MjgwM0IgLyogTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0QTBG
RkFBMjFBQUY1RUEyMDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEEwRkZBQTAxQUFGNUVB
MjAwNjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0QTBGRkFBNjFBQUY1RUY2MDA2Mjgw
M0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEEwRkZBQTQxQUFGNUVGNjAwNjI4MDNCIC8qIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0QTM4QkY1MTE0RkUxQzA5MDA2MTI1MTIgLyogV2ViU29j
a2V0RGVmbGF0ZUZyYW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNEEzOEJGNEYxNEZFMUMwOTAwNjEyNTEyIC8qIFdlYlNvY2tldERlZmxhdGVGcmFt
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
QTRGNDhBQTE2QjBERkMwMDBFREJCMjkgLyogRG9jdW1lbnRSdWxlU2V0cy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0RjQ4QTgxNkIwREZDMDAwRURC
QjI5IC8qIERvY3VtZW50UnVsZVNldHMuaCAqLzsgfTsKIAkJNEE0RjY1NzExQUE5OTdGMTAwRTM4
Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDRBNEY2NTZDMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1l
ZGlhU291cmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTc4NDYsNyArNzg0NSw2IEBACiAJCTRBMEZGQTlGMUFBRjVFQTIwMDYyODAzQiAvKiBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0QTBGRkFBMDFBQUY1RUEyMDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBMEZGQUEz
MUFBRjVFRjYwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0QTBGRkFBNDFBQUY1RUY2
MDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBMzhCRjRFMTRGRTFDMDkwMDYxMjUxMiAvKiBXZWJT
b2NrZXREZWZsYXRlRnJhbWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYlNvY2tldERlZmxhdGVGcmFtZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0QTM4QkY0RjE0RkUxQzA5MDA2MTI1MTIgLyogV2ViU29ja2V0RGVmbGF0ZUZyYW1lci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTb2NrZXREZWZsYXRlRnJhbWVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBNEY0OEE3MTZCMERGQzAwMEVEQkIy
OSAvKiBEb2N1bWVudFJ1bGVTZXRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERvY3VtZW50UnVsZVNldHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTU2NjksNyArMTU2NjcsNiBAQAogCQkJCTVDREQ4MzNBMUU0MzI0QkIwMDYyMUU4MyAvKiBS
ZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oICovLAogCQkJCTVDREQ4MzM5MUU0MzI0
QkIwMDYyMUU4MyAvKiBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAqLywKIAkJ
CQk0QTBGRkFBMzFBQUY1RUY2MDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1h
Yy5jcHAgKi8sCi0JCQkJNEEwRkZBQTQxQUFGNUVGNjAwNjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJNYWMuaCAqLywKIAkJCQk0MTEwM0FBNzFFMzk3OTBBMDA3NjlGMTQgLyogUmVh
bHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuY3BwICovLAogCQkJCTQxMTAzQUE4MUUzOTc5
MEEwMDc2OUYxNCAvKiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5oICovLAogCQkJ
CTVDREQ4MzNCMUU0MzI0QkIwMDYyMUI4MyAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYS5jcHAgKi8sCkBAIC0yOTk4OSw3ICsyOTk4Niw2IEBACiAJCQkJMTEzMTBDRjYyMEJBNEE1
NjAwNjVBOEQwIC8qIExheW91dENoaWxkSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTEx
OTlGQTQ2MjA4RTM1QTMwMDIzNThDQyAvKiBMYXlvdXRDb250YWluZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTExMzEwQ0Y1MjBCQTRBNEMwMDY1QThEMCAvKiBMYXlvdXREZXNjZW5kYW50SXRlcmF0
b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTZGN0NBM0M2MjA4QzI5NTcwMDJGMjlBQiAvKiBMYXlv
dXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTE5OUZBNTMyMDhFMzhEMzAwMjM1OENDIC8q
IExheW91dElubGluZUJveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTE5OUZBNEYyMDhFMzg5OTAw
MjM1OENDIC8qIExheW91dElubGluZUNvbnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTEz
MTBDRjQyMEJBNEEzRDAwNjVBOEQwIC8qIExheW91dEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywK
QEAgLTMwMDAwLDcgKzI5OTk2LDcgQEAKIAkJCQlBMTI1MzhENDEzRjlCNjBBMDAwMjQ3NTQgLyog
TGF5b3V0UmVwYWludGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxMTMxMENGMzIwQkE0QTM3MDA2
NUE4RDAgLyogTGF5b3V0UmVwbGFjZWQuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MURDMDU0MTY0
ODM0QjkwMDM3MUU1QSAvKiBMYXlvdXRTaXplLmggaW4gSGVhZGVycyAqLywKLQkJCQkyRDkwNjYw
NzBCRTE0MUQ0MDA5NTY5OTggLyogUmVuZGVyTGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovLAor
CQkJCTZGN0NBM0M2MjA4QzI5NTcwMDJGMjlBQiAvKiBMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMTEzMTBDRjIyMEJBNEEzMjAwNjVBOEQwIC8qIExheW91dFRyZWVCdWlsZGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxNDFEQzA0ODE2NDgzNDhGMDAzNzFFNUEgLyogTGF5b3V0VW5p
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RFOEI1RUQxQTY5Nzc3MzAwQjRCNjZBIC8qIExlZ2Fj
eUNETVByaXZhdGVDbGVhcktleS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDUzNiw3ICszMDUzMiw2
IEBACiAJCQkJNEE0RjY1NzExQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTRBNEY2NTcyMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGlt
ZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTBGRkFBMjFB
QUY1RUEyMDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJNEEwRkZBQTYxQUFGNUVGNjAwNjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3NTRBNUVBMjE1RUEzQjgwMDJEM0E5OSAv
KiBSZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE0RjY1
NzQxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDdDMUMwRTUxQkZCNjBFRDAwQkQyMjU2IC8qIFJlYWx0aW1lTWVkaWFT
b3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDYwMiw2ICsz
MDU5Nyw3IEBACiAJCQkJMEY1ODBDRkYwRjEyREU5QjAwNTFENjg5IC8qIFJlbmRlckxheWVyQmFj
a2luZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1ODBDRkQwRjEyREU5QjAwNTFENjg5IC8qIFJl
bmRlckxheWVyQ29tcG9zaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJM0MyNDRGRUFBMzc1QUM2
MzNGODhCRTZGIC8qIFJlbmRlckxheWVyTW9kZWxPYmplY3QuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBSZW5kZXJMYXlvdXRTdGF0ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEJFMDMwQTIwRjMxMTJGQjAwM0MxQTQ2IC8qIFJlbmRlckxpbmVCb3hMaXN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDg2NDA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVy
TGluZUJyZWFrLmggaW4gSGVhZGVycyAqLywKIAkJCQlBQkI1NDE5RjBBQ0RERkU0MDAyODIwRUIg
LyogUmVuZGVyTGlzdEJveC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5jcHAKaW5kZXggZjM1MGI0NmZhZjI2ZGZmNjU1
YjkzODcxM2QwMzM1YzUwZjliNzI2Mi4uZjQ5OTVkMzg3MGMyYmRhMDZlMTNmMDE5ZjlkZTVlYzIw
MzA1OWVmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXByZWNhdGVkR2xvYmFs
U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGVwcmVjYXRlZEdsb2JhbFNl
dHRpbmdzLmNwcApAQCAtMzQsOSArMzQsNiBAQAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAj
aW5jbHVkZSAiTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIKIAotI2lmIFVTRShBVkZP
VU5EQVRJT04pCi0jaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIgotI2Vu
ZGlmCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyLmNwcAppbmRleCBkNjdlMTI3NzQ0YmY1Y2IzNGM1MmQ5NWEwZTZkZTkwZTU0ZmIyNzFj
Li5jNmU0Y2I1Y2YyMDhlOThiYTgzYmI2ODU3MjgzMDgyNjQ1MmU3NzE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyLmNwcApAQCAtNDMsMTEgKzQzLDYgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogCi1SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyJiBSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyOjpzaW5nbGV0b24oKQotewotICAgIHJldHVybiBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyOjpwbGF0Zm9ybUNlbnRlcigpOwotfQotCiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCkKIHsKICAgICBtX3N1cHBvcnRlZENvbnN0cmFpbnRz
LnNldFN1cHBvcnRzV2lkdGgodHJ1ZSk7CkBAIC02OCw3ICs2Myw3IEBAIHZvaWQgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0oTmV3TWVkaWFTdHJlYW1IYW5kbGVy
JiYgY29tcGxlCiAgICAgU3RyaW5nIGludmFsaWRDb25zdHJhaW50OwogCiAgICAgaWYgKGF1ZGlv
RGV2aWNlKSB7Ci0gICAgICAgIGF1dG8gYXVkaW9Tb3VyY2UgPSBhdWRpb0ZhY3RvcnkoKS5jcmVh
dGVBdWRpb0NhcHR1cmVTb3VyY2UoV1RGTW92ZShhdWRpb0RldmljZSksIFN0cmluZyB7IGhhc2hT
YWx0IH0sICZyZXF1ZXN0LmF1ZGlvQ29uc3RyYWludHMpOworICAgICAgICBhdXRvIGF1ZGlvU291
cmNlID0gYXVkaW9DYXB0dXJlRmFjdG9yeSgpLmNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShXVEZN
b3ZlKGF1ZGlvRGV2aWNlKSwgU3RyaW5nIHsgaGFzaFNhbHQgfSwgJnJlcXVlc3QuYXVkaW9Db25z
dHJhaW50cyk7CiAgICAgICAgIGlmIChhdWRpb1NvdXJjZSkKICAgICAgICAgICAgIGF1ZGlvU291
cmNlcy5hcHBlbmQoYXVkaW9Tb3VyY2Uuc291cmNlKCkpOwogICAgICAgICBlbHNlIHsKQEAgLTg0
LDcgKzc5LDcgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpjcmVhdGVNZWRpYVN0
cmVhbShOZXdNZWRpYVN0cmVhbUhhbmRsZXImJiBjb21wbGUKICAgICBpZiAodmlkZW9EZXZpY2Up
IHsKICAgICAgICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgdmlkZW9Tb3VyY2U7CiAgICAgICAgIGlm
ICh2aWRlb0RldmljZS50eXBlKCkgPT0gQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJh
KQotICAgICAgICAgICAgdmlkZW9Tb3VyY2UgPSB2aWRlb0ZhY3RvcnkoKS5jcmVhdGVWaWRlb0Nh
cHR1cmVTb3VyY2UoV1RGTW92ZSh2aWRlb0RldmljZSksIFdURk1vdmUoaGFzaFNhbHQpLCAmcmVx
dWVzdC52aWRlb0NvbnN0cmFpbnRzKTsKKyAgICAgICAgICAgIHZpZGVvU291cmNlID0gdmlkZW9D
YXB0dXJlRmFjdG9yeSgpLmNyZWF0ZVZpZGVvQ2FwdHVyZVNvdXJjZShXVEZNb3ZlKHZpZGVvRGV2
aWNlKSwgV1RGTW92ZShoYXNoU2FsdCksICZyZXF1ZXN0LnZpZGVvQ29uc3RyYWludHMpOwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICB2aWRlb1NvdXJjZSA9IGRpc3BsYXlDYXB0dXJlRmFjdG9y
eSgpLmNyZWF0ZURpc3BsYXlDYXB0dXJlU291cmNlKFdURk1vdmUodmlkZW9EZXZpY2UpLCAmcmVx
dWVzdC52aWRlb0NvbnN0cmFpbnRzKTsKIApAQCAtMTA2LDExICsxMDEsMTEgQEAgdm9pZCBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpjcmVhdGVNZWRpYVN0cmVhbShOZXdNZWRpYVN0cmVhbUhh
bmRsZXImJiBjb21wbGUKIFZlY3RvcjxDYXB0dXJlRGV2aWNlPiBSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyOjpnZXRNZWRpYVN0cmVhbURldmljZXMoKQogewogICAgIFZlY3RvcjxDYXB0dXJlRGV2
aWNlPiByZXN1bHQ7Ci0gICAgZm9yIChhdXRvJiBkZXZpY2UgOiBhdWRpb0ZhY3RvcnkoKS5hdWRp
b0NhcHR1cmVEZXZpY2VNYW5hZ2VyKCkuY2FwdHVyZURldmljZXMoKSkgeworICAgIGZvciAoYXV0
byYgZGV2aWNlIDogYXVkaW9DYXB0dXJlRmFjdG9yeSgpLmF1ZGlvQ2FwdHVyZURldmljZU1hbmFn
ZXIoKS5jYXB0dXJlRGV2aWNlcygpKSB7CiAgICAgICAgIGlmIChkZXZpY2UuZW5hYmxlZCgpKQog
ICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChkZXZpY2UpOwogICAgIH0KLSAgICBmb3IgKGF1dG8m
IGRldmljZSA6IHZpZGVvRmFjdG9yeSgpLnZpZGVvQ2FwdHVyZURldmljZU1hbmFnZXIoKS5jYXB0
dXJlRGV2aWNlcygpKSB7CisgICAgZm9yIChhdXRvJiBkZXZpY2UgOiB2aWRlb0NhcHR1cmVGYWN0
b3J5KCkudmlkZW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpLmNhcHR1cmVEZXZpY2VzKCkpIHsKICAg
ICAgICAgaWYgKGRldmljZS5lbmFibGVkKCkpCiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGRl
dmljZSk7CiAgICAgfQpAQCAtMTkxLDExICsxODYsMTEgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpnZXRVc2VyTWVkaWFEZXZpY2VzKGNvbnN0IE1lZGlhU3RyZWFtUmVxdWVzdCYg
cmUKIHsKICAgICBTdHJpbmcgaW52YWxpZENvbnN0cmFpbnQ7CiAgICAgaWYgKHJlcXVlc3QuYXVk
aW9Db25zdHJhaW50cy5pc1ZhbGlkKSB7Ci0gICAgICAgIGZvciAoYXV0byYgZGV2aWNlIDogYXVk
aW9GYWN0b3J5KCkuYXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpLmNhcHR1cmVEZXZpY2VzKCkp
IHsKKyAgICAgICAgZm9yIChhdXRvJiBkZXZpY2UgOiBhdWRpb0NhcHR1cmVGYWN0b3J5KCkuYXVk
aW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpLmNhcHR1cmVEZXZpY2VzKCkpIHsKICAgICAgICAgICAg
IGlmICghZGV2aWNlLmVuYWJsZWQoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAg
ICAgICAgICAgYXV0byBzb3VyY2VPckVycm9yID0gYXVkaW9GYWN0b3J5KCkuY3JlYXRlQXVkaW9D
YXB0dXJlU291cmNlKGRldmljZSwgU3RyaW5nIHsgaGFzaFNhbHQgfSwgeyB9KTsKKyAgICAgICAg
ICAgIGF1dG8gc291cmNlT3JFcnJvciA9IGF1ZGlvQ2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVBdWRp
b0NhcHR1cmVTb3VyY2UoZGV2aWNlLCBTdHJpbmcgeyBoYXNoU2FsdCB9LCB7IH0pOwogICAgICAg
ICAgICAgaWYgKHNvdXJjZU9yRXJyb3IgJiYgc291cmNlT3JFcnJvci5jYXB0dXJlU291cmNlLT5z
dXBwb3J0c0NvbnN0cmFpbnRzKHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cywgaW52YWxpZENvbnN0
cmFpbnQpKQogICAgICAgICAgICAgICAgIGF1ZGlvRGV2aWNlSW5mby5hcHBlbmQoe3NvdXJjZU9y
RXJyb3IuY2FwdHVyZVNvdXJjZS0+Zml0bmVzc1Njb3JlKCksIGRldmljZX0pOwogCkBAIC0yMDUs
MTEgKzIwMCwxMSBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmdldFVzZXJNZWRp
YURldmljZXMoY29uc3QgTWVkaWFTdHJlYW1SZXF1ZXN0JiByZQogICAgIH0KIAogICAgIGlmIChy
ZXF1ZXN0LnZpZGVvQ29uc3RyYWludHMuaXNWYWxpZCkgewotICAgICAgICBmb3IgKGF1dG8mIGRl
dmljZSA6IHZpZGVvRmFjdG9yeSgpLnZpZGVvQ2FwdHVyZURldmljZU1hbmFnZXIoKS5jYXB0dXJl
RGV2aWNlcygpKSB7CisgICAgICAgIGZvciAoYXV0byYgZGV2aWNlIDogdmlkZW9DYXB0dXJlRmFj
dG9yeSgpLnZpZGVvQ2FwdHVyZURldmljZU1hbmFnZXIoKS5jYXB0dXJlRGV2aWNlcygpKSB7CiAg
ICAgICAgICAgICBpZiAoIWRldmljZS5lbmFibGVkKCkpCiAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAKLSAgICAgICAgICAgIGF1dG8gc291cmNlT3JFcnJvciA9IHZpZGVvRmFjdG9yeSgpLmNy
ZWF0ZVZpZGVvQ2FwdHVyZVNvdXJjZShkZXZpY2UsIFN0cmluZyB7IGhhc2hTYWx0IH0sIHsgfSk7
CisgICAgICAgICAgICBhdXRvIHNvdXJjZU9yRXJyb3IgPSB2aWRlb0NhcHR1cmVGYWN0b3J5KCku
Y3JlYXRlVmlkZW9DYXB0dXJlU291cmNlKGRldmljZSwgU3RyaW5nIHsgaGFzaFNhbHQgfSwgeyB9
KTsKICAgICAgICAgICAgIGlmIChzb3VyY2VPckVycm9yICYmIHNvdXJjZU9yRXJyb3IuY2FwdHVy
ZVNvdXJjZS0+c3VwcG9ydHNDb25zdHJhaW50cyhyZXF1ZXN0LnZpZGVvQ29uc3RyYWludHMsIGlu
dmFsaWRDb25zdHJhaW50KSkKICAgICAgICAgICAgICAgICB2aWRlb0RldmljZUluZm8uYXBwZW5k
KHtzb3VyY2VPckVycm9yLmNhcHR1cmVTb3VyY2UtPmZpdG5lc3NTY29yZSgpLCBkZXZpY2V9KTsK
IApAQCAtMjYzLDgxICsyNTgsNTcgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp2
YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhWYWxpZENvbnN0cmFpbnRzSGFuZGwKIAogdm9pZCBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzZXRWaWRlb0NhcHR1cmVQYWdlU3RhdGUoYm9vbCBp
bnRlcnJ1cHRlZCwgYm9vbCBwYWdlTXV0ZWQpCiB7Ci0gICAgdmlkZW9GYWN0b3J5KCkuc2V0Vmlk
ZW9DYXB0dXJlUGFnZVN0YXRlKGludGVycnVwdGVkLCBwYWdlTXV0ZWQpOworICAgIHZpZGVvQ2Fw
dHVyZUZhY3RvcnkoKS5zZXRWaWRlb0NhcHR1cmVQYWdlU3RhdGUoaW50ZXJydXB0ZWQsIHBhZ2VN
dXRlZCk7CiB9CiAKLXN0ZDo6b3B0aW9uYWw8Q2FwdHVyZURldmljZT4gUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlcjo6Y2FwdHVyZURldmljZVdpdGhQZXJzaXN0ZW50SUQoQ2FwdHVyZURldmljZTo6
RGV2aWNlVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIGlkKQordm9pZCBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpzZXRBdWRpb0NhcHR1cmVGYWN0b3J5KEF1ZGlvQ2FwdHVyZUZhY3RvcnkmIGZh
Y3RvcnkpCiB7Ci0gICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpE
ZXZpY2VUeXBlOjpDYW1lcmE6Ci0gICAgICAgIHJldHVybiB2aWRlb0ZhY3RvcnkoKS52aWRlb0Nh
cHR1cmVEZXZpY2VNYW5hZ2VyKCkuY2FwdHVyZURldmljZVdpdGhQZXJzaXN0ZW50SUQodHlwZSwg
aWQpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
Ok1pY3JvcGhvbmU6Ci0gICAgICAgIHJldHVybiBhdWRpb0ZhY3RvcnkoKS5hdWRpb0NhcHR1cmVE
ZXZpY2VNYW5hZ2VyKCkuY2FwdHVyZURldmljZVdpdGhQZXJzaXN0ZW50SUQodHlwZSwgaWQpOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVl
bjoKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkFwcGxpY2F0aW9uOgotICAg
IGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93OgotICAgIGNhc2UgQ2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZTo6QnJvd3NlcjoKLSAgICAgICAgcmV0dXJuIGRpc3BsYXlDYXB0
dXJlRmFjdG9yeSgpLmRpc3BsYXlDYXB0dXJlRGV2aWNlTWFuYWdlcigpLmNhcHR1cmVEZXZpY2VX
aXRoUGVyc2lzdGVudElEKHR5cGUsIGlkKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpVbmtub3duOgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KyAgICBtX2F1ZGlvQ2FwdHVyZUZhY3RvcnlPdmVycmlkZSA9ICZmYWN0b3J5OwogfQogCi1zdGF0
aWMgQXVkaW9DYXB0dXJlRmFjdG9yeSogYXVkaW9GYWN0b3J5T3ZlcnJpZGU7Ci12b2lkIFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNldEF1ZGlvRmFjdG9yeShBdWRpb0NhcHR1cmVGYWN0b3J5
JiBmYWN0b3J5KQotewotICAgIGF1ZGlvRmFjdG9yeU92ZXJyaWRlID0gJmZhY3Rvcnk7Ci19Ci12
b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnVuc2V0QXVkaW9GYWN0b3J5KEF1ZGlvQ2Fw
dHVyZUZhY3RvcnkmIG9sZE92ZXJyaWRlKQordm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
Ojp1bnNldEF1ZGlvQ2FwdHVyZUZhY3RvcnkoQXVkaW9DYXB0dXJlRmFjdG9yeSYgb2xkT3ZlcnJp
ZGUpCiB7Ci0gICAgQVNTRVJUX1VOVVNFRChvbGRPdmVycmlkZSwgYXVkaW9GYWN0b3J5T3ZlcnJp
ZGUgPT0gJm9sZE92ZXJyaWRlKTsKLSAgICBpZiAoJm9sZE92ZXJyaWRlID09IGF1ZGlvRmFjdG9y
eU92ZXJyaWRlKQotICAgICAgICBhdWRpb0ZhY3RvcnlPdmVycmlkZSA9IG51bGxwdHI7CisgICAg
QVNTRVJUX1VOVVNFRChvbGRPdmVycmlkZSwgbV9hdWRpb0NhcHR1cmVGYWN0b3J5T3ZlcnJpZGUg
PT0gJm9sZE92ZXJyaWRlKTsKKyAgICBpZiAoJm9sZE92ZXJyaWRlID09IG1fYXVkaW9DYXB0dXJl
RmFjdG9yeU92ZXJyaWRlKQorICAgICAgICBtX2F1ZGlvQ2FwdHVyZUZhY3RvcnlPdmVycmlkZSA9
IG51bGxwdHI7CiB9CiAKLUF1ZGlvQ2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXI6OmF1ZGlvRmFjdG9yeSgpCitBdWRpb0NhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjphdWRpb0NhcHR1cmVGYWN0b3J5KCkKIHsKLSAgICByZXR1cm4gYXVkaW9G
YWN0b3J5T3ZlcnJpZGUgPyAqYXVkaW9GYWN0b3J5T3ZlcnJpZGUgOiBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0ZhY3RvcnlQcml2YXRlKCk7CisgICAgcmV0dXJu
IG1fYXVkaW9DYXB0dXJlRmFjdG9yeU92ZXJyaWRlID8gKm1fYXVkaW9DYXB0dXJlRmFjdG9yeU92
ZXJyaWRlIDogZGVmYXVsdEF1ZGlvQ2FwdHVyZUZhY3RvcnkoKTsKIH0KIAotc3RhdGljIFZpZGVv
Q2FwdHVyZUZhY3RvcnkqIHZpZGVvRmFjdG9yeU92ZXJyaWRlOwotdm9pZCBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjpzZXRWaWRlb0ZhY3RvcnkoVmlkZW9DYXB0dXJlRmFjdG9yeSYgZmFjdG9y
eSkKK3ZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0VmlkZW9DYXB0dXJlRmFjdG9y
eShWaWRlb0NhcHR1cmVGYWN0b3J5JiBmYWN0b3J5KQogewotICAgIHZpZGVvRmFjdG9yeU92ZXJy
aWRlID0gJmZhY3Rvcnk7CisgICAgbV92aWRlb0NhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgPSAmZmFj
dG9yeTsKIH0KLXZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dW5zZXRWaWRlb0ZhY3Rv
cnkoVmlkZW9DYXB0dXJlRmFjdG9yeSYgb2xkT3ZlcnJpZGUpCit2b2lkIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXI6OnVuc2V0VmlkZW9DYXB0dXJlRmFjdG9yeShWaWRlb0NhcHR1cmVGYWN0b3J5
JiBvbGRPdmVycmlkZSkKIHsKLSAgICBBU1NFUlRfVU5VU0VEKG9sZE92ZXJyaWRlLCB2aWRlb0Zh
Y3RvcnlPdmVycmlkZSA9PSAmb2xkT3ZlcnJpZGUpOwotICAgIGlmICgmb2xkT3ZlcnJpZGUgPT0g
dmlkZW9GYWN0b3J5T3ZlcnJpZGUpCi0gICAgICAgIHZpZGVvRmFjdG9yeU92ZXJyaWRlID0gbnVs
bHB0cjsKKyAgICBBU1NFUlRfVU5VU0VEKG9sZE92ZXJyaWRlLCBtX3ZpZGVvQ2FwdHVyZUZhY3Rv
cnlPdmVycmlkZSA9PSAmb2xkT3ZlcnJpZGUpOworICAgIGlmICgmb2xkT3ZlcnJpZGUgPT0gbV92
aWRlb0NhcHR1cmVGYWN0b3J5T3ZlcnJpZGUpCisgICAgICAgIG1fdmlkZW9DYXB0dXJlRmFjdG9y
eU92ZXJyaWRlID0gbnVsbHB0cjsKIH0KIAotVmlkZW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6dmlkZW9GYWN0b3J5KCkKK1ZpZGVvQ2FwdHVyZUZhY3RvcnkmIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnZpZGVvQ2FwdHVyZUZhY3RvcnkoKQogewotICAgIHJl
dHVybiB2aWRlb0ZhY3RvcnlPdmVycmlkZSA/ICp2aWRlb0ZhY3RvcnlPdmVycmlkZSA6IFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvRmFjdG9yeVByaXZhdGUoKTsK
KyAgICByZXR1cm4gbV92aWRlb0NhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgPyAqbV92aWRlb0NhcHR1
cmVGYWN0b3J5T3ZlcnJpZGUgOiBkZWZhdWx0VmlkZW9DYXB0dXJlRmFjdG9yeSgpOwogfQogCi1z
dGF0aWMgRGlzcGxheUNhcHR1cmVGYWN0b3J5KiBkaXNwbGF5Q2FwdHVyZUZhY3RvcnlPdmVycmlk
ZTsKIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0RGlzcGxheUNhcHR1cmVGYWN0
b3J5KERpc3BsYXlDYXB0dXJlRmFjdG9yeSYgZmFjdG9yeSkKIHsKLSAgICBkaXNwbGF5Q2FwdHVy
ZUZhY3RvcnlPdmVycmlkZSA9ICZmYWN0b3J5OworICAgIG1fZGlzcGxheUNhcHR1cmVGYWN0b3J5
T3ZlcnJpZGUgPSAmZmFjdG9yeTsKIH0KKwogdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
Ojp1bnNldERpc3BsYXlDYXB0dXJlRmFjdG9yeShEaXNwbGF5Q2FwdHVyZUZhY3RvcnkmIG9sZE92
ZXJyaWRlKQogewotICAgIEFTU0VSVF9VTlVTRUQob2xkT3ZlcnJpZGUsIGRpc3BsYXlDYXB0dXJl
RmFjdG9yeU92ZXJyaWRlID09ICZvbGRPdmVycmlkZSk7Ci0gICAgaWYgKCZvbGRPdmVycmlkZSA9
PSBkaXNwbGF5Q2FwdHVyZUZhY3RvcnlPdmVycmlkZSkKLSAgICAgICAgZGlzcGxheUNhcHR1cmVG
YWN0b3J5T3ZlcnJpZGUgPSBudWxscHRyOworICAgIEFTU0VSVF9VTlVTRUQob2xkT3ZlcnJpZGUs
IG1fZGlzcGxheUNhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgPT0gJm9sZE92ZXJyaWRlKTsKKyAgICBp
ZiAoJm9sZE92ZXJyaWRlID09IG1fZGlzcGxheUNhcHR1cmVGYWN0b3J5T3ZlcnJpZGUpCisgICAg
ICAgIG1fZGlzcGxheUNhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgPSBudWxscHRyOwogfQogCiBEaXNw
bGF5Q2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmRpc3BsYXlDYXB0
dXJlRmFjdG9yeSgpCiB7Ci0gICAgcmV0dXJuIGRpc3BsYXlDYXB0dXJlRmFjdG9yeU92ZXJyaWRl
ID8gKmRpc3BsYXlDYXB0dXJlRmFjdG9yeU92ZXJyaWRlIDogUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlcjo6c2luZ2xldG9uKCkuZGlzcGxheUNhcHR1cmVGYWN0b3J5UHJpdmF0ZSgpOworICAgIHJl
dHVybiBtX2Rpc3BsYXlDYXB0dXJlRmFjdG9yeU92ZXJyaWRlID8gKm1fZGlzcGxheUNhcHR1cmVG
YWN0b3J5T3ZlcnJpZGUgOiBkZWZhdWx0RGlzcGxheUNhcHR1cmVGYWN0b3J5KCk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAppbmRleCBi
YjBkZWYyZTVlZjM0YTVkZTI1ZGQyNGU4NmIzMGQzZDhjMGQzM2RkLi4zYmIyNTk0YmIwOTFkMzYz
Nzc2MWRiOWE0ZGQxMjMzMzgyMTY5ODI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5o
CkBAIC01NSwzNCArNTUsMzIgQEAgc3RydWN0IE1lZGlhQ29uc3RyYWludHM7CiAgICAgCiBjbGFz
cyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlciYgcGxhdGZvcm1DZW50ZXIoKTsKLSAgICB2aXJ0dWFsIH5SZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyKCk7CisgICAgflJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIo
KTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
JiBzaW5nbGV0b24oKTsKIAogICAgIHVzaW5nIFZhbGlkQ29uc3RyYWludHNIYW5kbGVyID0gV1RG
OjpGdW5jdGlvbjx2b2lkKFZlY3RvcjxDYXB0dXJlRGV2aWNlPiYmIGF1ZGlvRGV2aWNlVUlEcywg
VmVjdG9yPENhcHR1cmVEZXZpY2U+JiYgdmlkZW9EZXZpY2VVSURzLCBTdHJpbmcmJik+OwogICAg
IHVzaW5nIEludmFsaWRDb25zdHJhaW50c0hhbmRsZXIgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoY29u
c3QgU3RyaW5nJiBpbnZhbGlkQ29uc3RyYWludCk+OwotICAgIHZpcnR1YWwgdm9pZCB2YWxpZGF0
ZVJlcXVlc3RDb25zdHJhaW50cyhWYWxpZENvbnN0cmFpbnRzSGFuZGxlciYmLCBJbnZhbGlkQ29u
c3RyYWludHNIYW5kbGVyJiYsIGNvbnN0IE1lZGlhU3RyZWFtUmVxdWVzdCYsIFN0cmluZyYmKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKFZhbGlk
Q29uc3RyYWludHNIYW5kbGVyJiYsIEludmFsaWRDb25zdHJhaW50c0hhbmRsZXImJiwgY29uc3Qg
TWVkaWFTdHJlYW1SZXF1ZXN0JiwgU3RyaW5nJiYpOwogCiAgICAgdXNpbmcgTmV3TWVkaWFTdHJl
YW1IYW5kbGVyID0gV1RGOjpGdW5jdGlvbjx2b2lkKFJlZlB0cjxNZWRpYVN0cmVhbVByaXZhdGU+
JiYpPjsKLSAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlTWVkaWFTdHJlYW0oTmV3TWVkaWFTdHJlYW1I
YW5kbGVyJiYsIFN0cmluZyYmLCBDYXB0dXJlRGV2aWNlJiYgYXVkaW9EZXZpY2UsIENhcHR1cmVE
ZXZpY2UmJiB2aWRlb0RldmljZSwgY29uc3QgTWVkaWFTdHJlYW1SZXF1ZXN0Jik7CisgICAgdm9p
ZCBjcmVhdGVNZWRpYVN0cmVhbShOZXdNZWRpYVN0cmVhbUhhbmRsZXImJiwgU3RyaW5nJiYsIENh
cHR1cmVEZXZpY2UmJiBhdWRpb0RldmljZSwgQ2FwdHVyZURldmljZSYmIHZpZGVvRGV2aWNlLCBj
b25zdCBNZWRpYVN0cmVhbVJlcXVlc3QmKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFZlY3RvcjxD
YXB0dXJlRGV2aWNlPiBnZXRNZWRpYVN0cmVhbURldmljZXMoKTsKLSAgICBXRUJDT1JFX0VYUE9S
VCBzdGQ6Om9wdGlvbmFsPENhcHR1cmVEZXZpY2U+IGNhcHR1cmVEZXZpY2VXaXRoUGVyc2lzdGVu
dElEKENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUsIGNvbnN0IFN0cmluZyYpOwotICAgIAorCiAg
ICAgY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzJiBzdXBwb3J0
ZWRDb25zdHJhaW50cygpIHsgcmV0dXJuIG1fc3VwcG9ydGVkQ29uc3RyYWludHM7IH0KIAotICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBBdWRpb0NhcHR1cmVGYWN0b3J5JiBhdWRpb0ZhY3Rvcnko
KTsKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRBdWRpb0ZhY3RvcnkoQXVkaW9D
YXB0dXJlRmFjdG9yeSYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHVuc2V0QXVk
aW9GYWN0b3J5KEF1ZGlvQ2FwdHVyZUZhY3RvcnkmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBBdWRp
b0NhcHR1cmVGYWN0b3J5JiBhdWRpb0NhcHR1cmVGYWN0b3J5KCk7CisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRBdWRpb0NhcHR1cmVGYWN0b3J5KEF1ZGlvQ2FwdHVyZUZhY3RvcnkmKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVuc2V0QXVkaW9DYXB0dXJlRmFjdG9yeShBdWRpb0NhcHR1
cmVGYWN0b3J5Jik7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgVmlkZW9DYXB0dXJlRmFj
dG9yeSYgdmlkZW9GYWN0b3J5KCk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0
VmlkZW9GYWN0b3J5KFZpZGVvQ2FwdHVyZUZhY3RvcnkmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgdm9pZCB1bnNldFZpZGVvRmFjdG9yeShWaWRlb0NhcHR1cmVGYWN0b3J5Jik7CisgICAg
V0VCQ09SRV9FWFBPUlQgVmlkZW9DYXB0dXJlRmFjdG9yeSYgdmlkZW9DYXB0dXJlRmFjdG9yeSgp
OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VmlkZW9DYXB0dXJlRmFjdG9yeShWaWRlb0Nh
cHR1cmVGYWN0b3J5Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1bnNldFZpZGVvQ2FwdHVy
ZUZhY3RvcnkoVmlkZW9DYXB0dXJlRmFjdG9yeSYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIERpc3BsYXlDYXB0dXJlRmFjdG9yeSYgZGlzcGxheUNhcHR1cmVGYWN0b3J5KCk7Ci0gICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0RGlzcGxheUNhcHR1cmVGYWN0b3J5KERpc3Bs
YXlDYXB0dXJlRmFjdG9yeSYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHVuc2V0
RGlzcGxheUNhcHR1cmVGYWN0b3J5KERpc3BsYXlDYXB0dXJlRmFjdG9yeSYpOworICAgIFdFQkNP
UkVfRVhQT1JUIERpc3BsYXlDYXB0dXJlRmFjdG9yeSYgZGlzcGxheUNhcHR1cmVGYWN0b3J5KCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoRGlzcGxh
eUNhcHR1cmVGYWN0b3J5Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1bnNldERpc3BsYXlD
YXB0dXJlRmFjdG9yeShEaXNwbGF5Q2FwdHVyZUZhY3RvcnkmKTsKIAogICAgIFdFQkNPUkVfRVhQ
T1JUIFN0cmluZyBoYXNoU3RyaW5nV2l0aFNhbHQoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3Ry
aW5nJiBoYXNoU2FsdCk7CiAKQEAgLTkyLDE2ICs5MCwxNCBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGNhcHR1cmVEZXZpY2VzQ2hhbmdlZCgpOwogCi1wcm90ZWN0ZWQ6Citwcml2YXRlOgogICAgIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIoKTsKKyAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95
ZWQ8UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcj47CiAKLSAgICBSZWFsdGltZU1lZGlhU291cmNl
U3VwcG9ydGVkQ29uc3RyYWludHMgbV9zdXBwb3J0ZWRDb25zdHJhaW50czsKLQotICAgIFdFQkNP
UkVfRVhQT1JUIHZpcnR1YWwgQXVkaW9DYXB0dXJlRmFjdG9yeSYgYXVkaW9GYWN0b3J5UHJpdmF0
ZSgpID0gMDsKLSAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIFZpZGVvQ2FwdHVyZUZhY3Rvcnkm
IHZpZGVvRmFjdG9yeVByaXZhdGUoKSA9IDA7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBE
aXNwbGF5Q2FwdHVyZUZhY3RvcnkmIGRpc3BsYXlDYXB0dXJlRmFjdG9yeVByaXZhdGUoKSA9IDA7
CisgICAgQXVkaW9DYXB0dXJlRmFjdG9yeSYgZGVmYXVsdEF1ZGlvQ2FwdHVyZUZhY3RvcnkoKTsK
KyAgICBWaWRlb0NhcHR1cmVGYWN0b3J5JiBkZWZhdWx0VmlkZW9DYXB0dXJlRmFjdG9yeSgpOwor
ICAgIERpc3BsYXlDYXB0dXJlRmFjdG9yeSYgZGVmYXVsdERpc3BsYXlDYXB0dXJlRmFjdG9yeSgp
OwogCi1wcml2YXRlOgogICAgIHN0cnVjdCBEZXZpY2VJbmZvIHsKICAgICAgICAgdW5zaWduZWQg
Zml0bmVzc1Njb3JlOwogICAgICAgICBDYXB0dXJlRGV2aWNlIGRldmljZTsKQEAgLTExMCw3ICsx
MDYsMTMgQEAgcHJpdmF0ZToKICAgICB2b2lkIGdldERpc3BsYXlNZWRpYURldmljZXMoY29uc3Qg
TWVkaWFTdHJlYW1SZXF1ZXN0JiwgVmVjdG9yPERldmljZUluZm8+JiwgU3RyaW5nJik7CiAgICAg
dm9pZCBnZXRVc2VyTWVkaWFEZXZpY2VzKGNvbnN0IE1lZGlhU3RyZWFtUmVxdWVzdCYsIFN0cmlu
ZyYmLCBWZWN0b3I8RGV2aWNlSW5mbz4mIGF1ZGlvRGV2aWNlcywgVmVjdG9yPERldmljZUluZm8+
JiB2aWRlb0RldmljZXMsIFN0cmluZyYpOwogCisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBv
cnRlZENvbnN0cmFpbnRzIG1fc3VwcG9ydGVkQ29uc3RyYWludHM7CisKICAgICBXVEY6OkZ1bmN0
aW9uPHZvaWQoKT4gbV9kZXZpY2VDaGFuZ2VkT2JzZXJ2ZXI7CisKKyAgICBBdWRpb0NhcHR1cmVG
YWN0b3J5KiBtX2F1ZGlvQ2FwdHVyZUZhY3RvcnlPdmVycmlkZSB7IG51bGxwdHIgfTsKKyAgICBW
aWRlb0NhcHR1cmVGYWN0b3J5KiBtX3ZpZGVvQ2FwdHVyZUZhY3RvcnlPdmVycmlkZSB7IG51bGxw
dHIgfTsKKyAgICBEaXNwbGF5Q2FwdHVyZUZhY3RvcnkqIG1fZGlzcGxheUNhcHR1cmVGYWN0b3J5
T3ZlcnJpZGUgeyBudWxscHRyIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVv
U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1l
VmlkZW9Tb3VyY2UuY3BwCmluZGV4IDRmNTlhNjBjYzRkZmMyMzgxMzg0OTI2YzFiZGI1ZmZkOGU1
ZWYzOTcuLjI2ZGIxOTUwNzdlMzZlOWU1MDQ1ODRjZjNkOThhNjg5YjRkZDgwMmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9Tb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1l
VmlkZW9Tb3VyY2UuY3BwCkBAIC00Nyw3ICs0Nyw3IEBAIFJlYWx0aW1lVmlkZW9Tb3VyY2U6OlJl
YWx0aW1lVmlkZW9Tb3VyY2UoU3RyaW5nJiYgbmFtZSwgU3RyaW5nJiYgaWQsIFN0cmluZyYmIGhh
CiBSZWFsdGltZVZpZGVvU291cmNlOjp+UmVhbHRpbWVWaWRlb1NvdXJjZSgpCiB7CiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0
b24oKS52aWRlb0ZhY3RvcnkoKS51bnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7CisgICAgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9DYXB0dXJlRmFjdG9yeSgpLnVu
c2V0QWN0aXZlU291cmNlKCp0aGlzKTsKICNlbmRpZgogfQogCkBAIC01Niw3ICs1Niw3IEBAIHZv
aWQgUmVhbHRpbWVWaWRlb1NvdXJjZTo6cHJlcGFyZVRvUHJvZHVjZURhdGEoKQogICAgIEFTU0VS
VChmcmFtZVJhdGUoKSk7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvRmFjdG9yeSgpLnNldEFjdGl2ZVNv
dXJjZSgqdGhpcyk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCku
dmlkZW9DYXB0dXJlRmFjdG9yeSgpLnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7CiAjZW5kaWYKIAog
ICAgIGlmIChzaXplKCkuaXNFbXB0eSgpICYmICFtX2RlZmF1bHRTaXplLmlzRW1wdHkoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGli
V2ViUlRDLmNwcAppbmRleCA4MTZiYTExNGM5NzIwNjZhMzU4OWYxZDY5NmI5ZDhkMTE0YWM2ZjE4
Li5hNWFkMjAwMmU4YWViZjU1MDllNTBjMjVkNjMzOTk0MGY3YWU1YThhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlckxpYldlYlJUQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJSVEMu
Y3BwCkBAIC0zMSwzNyArMzEsMjQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDJiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGli
V2ViUlRDOjpzaW5nbGV0b24oKQorUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciYgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
TGliV2ViUlRDPiBjZW50ZXI7CiAgICAgcmV0dXJuIGNlbnRlcjsKIH0KIAotUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlciYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6cGxhdGZvcm1DZW50ZXIo
KQotewotICAgIHJldHVybiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDOjpzaW5n
bGV0b24oKTsKLX0KLQotUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQzo6UmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQygpCi17Ci19Ci0KLVJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXJMaWJXZWJSVEM6On5SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDKCkK
LXsKLX0KLQotQXVkaW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxp
YldlYlJUQzo6YXVkaW9GYWN0b3J5UHJpdmF0ZSgpCitBdWRpb0NhcHR1cmVGYWN0b3J5JiBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0QXVkaW9DYXB0dXJlRmFjdG9yeSgpCiB7CiAg
ICAgcmV0dXJuIEdTdHJlYW1lckF1ZGlvQ2FwdHVyZVNvdXJjZTo6ZmFjdG9yeSgpOwogfQogCi1W
aWRlb0NhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDOjp2
aWRlb0ZhY3RvcnlQcml2YXRlKCkKK1ZpZGVvQ2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXI6OmRlZmF1bHRWaWRlb0NhcHR1cmVGYWN0b3J5KCkKIHsKICAgICByZXR1cm4g
R1N0cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlOjpmYWN0b3J5KCk7CiB9CiAKLURpc3BsYXlDYXB0
dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQzo6ZGlzcGxheUNh
cHR1cmVGYWN0b3J5UHJpdmF0ZSgpCitEaXNwbGF5Q2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OmRlZmF1bHREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKQogewogICAgIHJl
dHVybiBHU3RyZWFtZXJWaWRlb0NhcHR1cmVTb3VyY2U6OmRpc3BsYXlGYWN0b3J5KCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIv
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJX
ZWJSVEMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzVjYzYyMjRiYTliMDJmMTBm
ZjA5YmVlNWMxOTNkYmZmNjE0OTA3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFt
ZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5oCisrKyAvZGV2L251bGwKQEAg
LTEsNTQgKzAsMCBAQAotIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggTWV0cm9sb2dpY2FsIEdy
b3VwIEIuVi4KLSAqIEF1dGhvcjogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNv
bT4KLSAqIEF1dGhvcjogQWxlamFuZHJvIEcuIENhc3RybyA8YWxleEBpZ2FsaWEuY29tPgotICoK
LSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWludCB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNwcmFn
bWEgb25jZQotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKExJQldFQlJUQykKLQot
I2luY2x1ZGUgIkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgiCi0jaW5jbHVkZSAiTGliV2ViUlRDUHJv
dmlkZXIuaCIKLSNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCi0jaW5jbHVkZSAiUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIgotCi0jaW5jbHVkZSA8d2VicnRjL2FwaS9wZWVyY29u
bmVjdGlvbmludGVyZmFjZS5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDIGZpbmFsIDogcHVibGljIFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXIgewotcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDJiBzaW5nbGV0b24oKTsKLQotcHJpdmF0ZToK
LSAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ckxpYldlYlJUQz47Ci0gICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQygpOwot
ICAgIH5SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDKCk7Ci0KLSAgICBBdWRpb0Nh
cHR1cmVGYWN0b3J5JiBhdWRpb0ZhY3RvcnlQcml2YXRlKCkgZmluYWw7Ci0gICAgVmlkZW9DYXB0
dXJlRmFjdG9yeSYgdmlkZW9GYWN0b3J5UHJpdmF0ZSgpIGZpbmFsOwotICAgIERpc3BsYXlDYXB0
dXJlRmFjdG9yeSYgZGlzcGxheUNhcHR1cmVGYWN0b3J5UHJpdmF0ZSgpIGZpbmFsOwotfTsKLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkg
JiYgVVNFKExJQldFQlJUQykKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCmluZGV4IDU1
ZWJhYzhkY2YzZDY4ZWVlOGQxZGI5ZmY4Y2Y5YjFlOWRjMDUzMzguLjhkZDViZGNmNmQ0ZGEyNTAz
YTNmYjI2MmViZGZkZWQ3MzNmOWI1NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0K
QEAgLTM1LDcgKzM1LDYgQEAKICNpbXBvcnQgIk1lZGlhQ29uc3RyYWludHMuaCIKICNpbXBvcnQg
Ik1lZGlhU2FtcGxlQVZGT2JqQy5oIgogI2ltcG9ydCAiUGxhdGZvcm1MYXllci5oIgotI2ltcG9y
dCAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIgogI2ltcG9ydCAiUmVhbHRpbWVNZWRp
YVNvdXJjZVNldHRpbmdzLmgiCiAjaW1wb3J0ICJSZWFsdGltZVZpZGVvVXRpbGl0aWVzLmgiCiAj
aW1wb3J0IDxBVkZvdW5kYXRpb24vQVZDYXB0dXJlRGV2aWNlLmg+CkBAIC0xODIsNyArMTgxLDcg
QEAgQVZWaWRlb0NhcHR1cmVTb3VyY2U6OkFWVmlkZW9DYXB0dXJlU291cmNlKEFWQ2FwdHVyZURl
dmljZVR5cGVkZWYqIGRldmljZSwgU3RyaW4KIEFWVmlkZW9DYXB0dXJlU291cmNlOjp+QVZWaWRl
b0NhcHR1cmVTb3VyY2UoKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9GYWN0b3J5KCkudW5zZXRBY3Rp
dmVTb3VyY2UoKnRoaXMpOworICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRv
bigpLnZpZGVvQ2FwdHVyZUZhY3RvcnkoKS51bnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7CiAjZW5k
aWYKICAgICBbbV9vYmpjT2JzZXJ2ZXIgZGlzY29ubmVjdF07CiAKQEAgLTQzNCw3ICs0MzMsNyBA
QCBBVkZyYW1lUmF0ZVJhbmdlVHlwZSogQVZWaWRlb0NhcHR1cmVTb3VyY2U6OmZyYW1lRHVyYXRp
b25Gb3JGcmFtZVJhdGUoZG91YmxlIHJhdAogYm9vbCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6c2V0
dXBDYXB0dXJlU2Vzc2lvbigpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS52aWRlb0ZhY3RvcnkoKS5zZXRBY3Rp
dmVTb3VyY2UoKnRoaXMpOworICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRv
bigpLnZpZGVvQ2FwdHVyZUZhY3RvcnkoKS5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOwogI2VuZGlm
CiAKICAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZVNv
dXJjZUNvY29hLmNwcAppbmRleCAzMzcyZmEyNzk2NjgxZDljODNiNmQyYTJhMzEyMmRjYzk3YTc5
ZTU2Li4wYTBmNjM0NjA4ZjViOGI3NTNkNGI3ZjVkN2NkMjZiYzE0ZjM2ZDg1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVT
b3VyY2VDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0Rpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EuY3BwCkBAIC02Miw3ICs2Miw3IEBAIERpc3Bs
YXlDYXB0dXJlU291cmNlQ29jb2E6OkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EoU3RyaW5nJiYg
bmFtZSkKIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6On5EaXNwbGF5Q2FwdHVyZVNvdXJjZUNv
Y29hKCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvRmFjdG9yeSgpLnVuc2V0QWN0aXZlU291cmNlKCp0
aGlzKTsKKyAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS52aWRlb0Nh
cHR1cmVGYWN0b3J5KCkudW5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOwogI2VuZGlmCiB9CiAKQEAg
LTEyMiw3ICsxMjIsNyBAQCB2b2lkIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OnNldHRpbmdz
RGlkQ2hhbmdlKE9wdGlvblNldDxSZWFsdGltZU1lZGlhU291cmNlUwogdm9pZCBEaXNwbGF5Q2Fw
dHVyZVNvdXJjZUNvY29hOjpzdGFydFByb2R1Y2luZ0RhdGEoKQogewogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCi0gICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmlk
ZW9GYWN0b3J5KCkuc2V0QWN0aXZlU291cmNlKCp0aGlzKTsKKyAgICBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpzaW5nbGV0b24oKS52aWRlb0NhcHR1cmVGYWN0b3J5KCkuc2V0QWN0aXZlU291
cmNlKCp0aGlzKTsKICNlbmRpZgogCiAgICAgbV9zdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcAppbmRl
eCA5ZDNjZmMxZmY2YTQ4MDNiMjUxZDAxMWE4Y2IxZjdmM2U1M2U0MGIwLi40ZjVjZTFkY2IyZTY2
ZDA3OTRkZDE0ZDdkNmRjMGE4YmY4MGM4ZGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJNYWMuY3BwCkBAIC0zMSwxNCArMzEsMTMgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0jaW5jbHVkZSAiUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYy5oIgotCiAjaW5jbHVkZSAiQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5o
IgogI2luY2x1ZGUgIkFWVmlkZW9DYXB0dXJlU291cmNlLmgiCiAjaW5jbHVkZSAiQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZS5oIgogI2luY2x1ZGUgIkRpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmgi
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUHJpdmF0ZS5oIgor
I2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIKICNpbmNsdWRlICJTY3JlZW5E
aXNwbGF5Q2FwdHVyZVNvdXJjZU1hYy5oIgogI2luY2x1ZGUgIldpbmRvd0Rpc3BsYXlDYXB0dXJl
U291cmNlTWFjLmgiCiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTk3LDM1ICs5Niwy
NSBAQCBwcml2YXRlOgogICAgIENhcHR1cmVEZXZpY2VNYW5hZ2VyJiBkaXNwbGF5Q2FwdHVyZURl
dmljZU1hbmFnZXIoKSB7IHJldHVybiBEaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYTo6c2luZ2xl
dG9uKCk7IH0KIH07CiAKLVJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMmIFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJNYWM6OnNpbmdsZXRvbigpCitSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
JiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKQogewogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJNYWM+IGNlbnRlcjsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcj4gY2VudGVyOwogICAgIHJldHVybiBjZW50ZXI7CiB9CiAKLVJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXImIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnBsYXRm
b3JtQ2VudGVyKCkKLXsKLSAgICByZXR1cm4gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6
c2luZ2xldG9uKCk7Ci19Ci0KLVJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OlJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMoKSA9IGRlZmF1bHQ7Ci0KLVJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWM6On5SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKCkgPSBkZWZhdWx0OwotCi0K
LUF1ZGlvQ2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmF1ZGlv
RmFjdG9yeVByaXZhdGUoKQorQXVkaW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6ZGVmYXVsdEF1ZGlvQ2FwdHVyZUZhY3RvcnkoKQogewogICAgIHJldHVybiBDb3Jl
QXVkaW9DYXB0dXJlU291cmNlOjpmYWN0b3J5KCk7CiB9CiAKLVZpZGVvQ2FwdHVyZUZhY3Rvcnkm
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OnZpZGVvRmFjdG9yeVByaXZhdGUoKQorVmlk
ZW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVmYXVsdFZpZGVv
Q2FwdHVyZUZhY3RvcnkoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWaWRlb0NhcHR1
cmVTb3VyY2VGYWN0b3J5TWFjPiBmYWN0b3J5OwogICAgIHJldHVybiBmYWN0b3J5LmdldCgpOwog
fQogCi1EaXNwbGF5Q2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6
OmRpc3BsYXlDYXB0dXJlRmFjdG9yeVByaXZhdGUoKQorRGlzcGxheUNhcHR1cmVGYWN0b3J5JiBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0RGlzcGxheUNhcHR1cmVGYWN0b3J5KCkK
IHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RGlzcGxheUNhcHR1cmVTb3VyY2VGYWN0b3J5
TWFjPiBmYWN0b3J5OwogICAgIHJldHVybiBmYWN0b3J5LmdldCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGViMDcwOTIyZDI3ZWIzZjljNDdkMGQ3MTdkYzMyNjhjOTBhNzgyMDEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDYxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxOCBBcHBs
ZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCi0gKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKiAzLiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEVyaWNzc29uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzCi0gKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0g
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck1hY19oCi0jZGVmaW5lIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWNfaAotCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2Uu
aCIKLSNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCi0jaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLWNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMgZmluYWwgOiBw
dWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciB7Ci1wdWJsaWM6Ci0gICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMmIHNpbmdsZXRvbigpOwot
Ci1wcml2YXRlOgotICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyTWFjPjsKLSAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKCk7Ci0g
ICAgflJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMoKTsKLQotICAgIEF1ZGlvQ2FwdHVyZUZh
Y3RvcnkmIGF1ZGlvRmFjdG9yeVByaXZhdGUoKSBmaW5hbDsKLSAgICBWaWRlb0NhcHR1cmVGYWN0
b3J5JiB2aWRlb0ZhY3RvcnlQcml2YXRlKCkgZmluYWw7Ci0gICAgRGlzcGxheUNhcHR1cmVGYWN0
b3J5JiBkaXNwbGF5Q2FwdHVyZUZhY3RvcnlQcml2YXRlKCkgZmluYWw7Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jZW5k
aWYgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hY19oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwCmluZGV4
IGQ0MDc1N2U1Zjk1NWViOWVhYjBjYTkzMGQwMjZlZTc0MWU1ZjdmN2UuLmRjNWEyZDZlNjYwZTQw
ZWZjNDM3MzA0ZjcxNjRiNTA5ZDcyNzExZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwCkBAIC03Miw3ICs3
Miw3IEBAIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZShT
dHJpbmcmJiBkZXZpY2VJRCwgU3RyaW5nJiYgbmFtCiBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6
fk1vY2tSZWFsdGltZUF1ZGlvU291cmNlKCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQot
ICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvRmFjdG9yeSgp
LnVuc2V0QWN0aXZlU291cmNlKCp0aGlzKTsKKyAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
OjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5KCkudW5zZXRBY3RpdmVTb3VyY2UoKnRo
aXMpOwogI2VuZGlmCiB9CiAKQEAgLTEyMCw3ICsxMjAsNyBAQCB2b2lkIE1vY2tSZWFsdGltZUF1
ZGlvU291cmNlOjpzZXR0aW5nc0RpZENoYW5nZShPcHRpb25TZXQ8UmVhbHRpbWVNZWRpYVNvdXJj
ZVNldAogdm9pZCBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkK
IHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXI6OnNpbmdsZXRvbigpLmF1ZGlvRmFjdG9yeSgpLnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7Cisg
ICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFj
dG9yeSgpLnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7CiAjZW5kaWYKIAogICAgIGlmICghc2FtcGxl
UmF0ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAppbmRleCA3N2I2MWY5MGIyOWNhYWNl
YjYxZTNiZTRjOGM1MGEwYzFhMGNjNDRlLi4yNzE5ZDE1YjJjMzRhY2M3YTg2NTM1YTkwMzVkMGVk
ZWU2NGY0M2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcApAQCAtMTk0LDE4ICsxOTQs
MTggQEAgdm9pZCBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0TW9ja1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJFbmFibGVkKGJvb2wKIAogICAgIGlmIChhY3RpdmUpIHsKICAgICAg
ICAgaWYgKG1vY2subV9pc01vY2tBdWRpb0NhcHR1cmVFbmFibGVkKQotICAgICAgICAgICAgY2Vu
dGVyLnNldEF1ZGlvRmFjdG9yeShtb2NrLmF1ZGlvRmFjdG9yeSgpKTsKKyAgICAgICAgICAgIGNl
bnRlci5zZXRBdWRpb0NhcHR1cmVGYWN0b3J5KG1vY2suYXVkaW9DYXB0dXJlRmFjdG9yeSgpKTsK
ICAgICAgICAgaWYgKG1vY2subV9pc01vY2tWaWRlb0NhcHR1cmVFbmFibGVkKQotICAgICAgICAg
ICAgY2VudGVyLnNldFZpZGVvRmFjdG9yeShtb2NrLnZpZGVvRmFjdG9yeSgpKTsKKyAgICAgICAg
ICAgIGNlbnRlci5zZXRWaWRlb0NhcHR1cmVGYWN0b3J5KG1vY2sudmlkZW9DYXB0dXJlRmFjdG9y
eSgpKTsKICAgICAgICAgaWYgKG1vY2subV9pc01vY2tEaXNwbGF5Q2FwdHVyZUVuYWJsZWQpCiAg
ICAgICAgICAgICBjZW50ZXIuc2V0RGlzcGxheUNhcHR1cmVGYWN0b3J5KG1vY2suZGlzcGxheUNh
cHR1cmVGYWN0b3J5KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG1vY2su
bV9pc01vY2tBdWRpb0NhcHR1cmVFbmFibGVkKQotICAgICAgICBjZW50ZXIudW5zZXRBdWRpb0Zh
Y3RvcnkobW9jay5hdWRpb0ZhY3RvcnkoKSk7CisgICAgICAgIGNlbnRlci51bnNldEF1ZGlvQ2Fw
dHVyZUZhY3RvcnkobW9jay5hdWRpb0NhcHR1cmVGYWN0b3J5KCkpOwogICAgIGlmIChtb2NrLm1f
aXNNb2NrVmlkZW9DYXB0dXJlRW5hYmxlZCkKLSAgICAgICAgY2VudGVyLnVuc2V0VmlkZW9GYWN0
b3J5KG1vY2sudmlkZW9GYWN0b3J5KCkpOworICAgICAgICBjZW50ZXIudW5zZXRWaWRlb0NhcHR1
cmVGYWN0b3J5KG1vY2sudmlkZW9DYXB0dXJlRmFjdG9yeSgpKTsKICAgICBpZiAobW9jay5tX2lz
TW9ja0Rpc3BsYXlDYXB0dXJlRW5hYmxlZCkKICAgICAgICAgY2VudGVyLnVuc2V0RGlzcGxheUNh
cHR1cmVGYWN0b3J5KG1vY2suZGlzcGxheUNhcHR1cmVGYWN0b3J5KCkpOwogfQpAQCAtMzM1LDEz
ICszMzUsMTMgQEAgVmVjdG9yPENhcHR1cmVEZXZpY2U+JiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6ZGlzcGxheURldmljZXMoKQogICAgIHJldHVybiBkaXNwbGF5RGV2aWNlczsKIH0K
IAotQXVkaW9DYXB0dXJlRmFjdG9yeSYgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmF1
ZGlvRmFjdG9yeSgpCitBdWRpb0NhcHR1cmVGYWN0b3J5JiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6YXVkaW9DYXB0dXJlRmFjdG9yeSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPE1vY2tSZWFsdGltZUF1ZGlvU291cmNlRmFjdG9yeT4gZmFjdG9yeTsKICAgICByZXR1cm4g
ZmFjdG9yeS5nZXQoKTsKIH0KIAotVmlkZW9DYXB0dXJlRmFjdG9yeSYgTW9ja1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OnZpZGVvRmFjdG9yeSgpCitWaWRlb0NhcHR1cmVGYWN0b3J5JiBNb2Nr
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dmlkZW9DYXB0dXJlRmFjdG9yeSgpCiB7CiAgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPE1vY2tSZWFsdGltZVZpZGVvU291cmNlRmFjdG9yeT4gZmFj
dG9yeTsKICAgICByZXR1cm4gZmFjdG9yeS5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaApp
bmRleCA3YzE4MmJhNWU1NzZjYTMwZGM0YTQzMDYyZjI2ZTY4ZGU1NWY2Zjg0Li42MDU5MDg3NjQ0
OGNjOGY3NWE5ZDU4MzdjMDYzOTRhOGY0MDA3ZDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5o
CkBAIC02Niw4ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIoKSA9IGRlZmF1bHQ7CiAgICAgZnJpZW5kIE5ldmVyRGVzdHJveWVkPE1vY2tSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyPjsKIAotICAgIEF1ZGlvQ2FwdHVyZUZhY3RvcnkmIGF1ZGlvRmFj
dG9yeSgpOwotICAgIFZpZGVvQ2FwdHVyZUZhY3RvcnkmIHZpZGVvRmFjdG9yeSgpOworICAgIEF1
ZGlvQ2FwdHVyZUZhY3RvcnkmIGF1ZGlvQ2FwdHVyZUZhY3RvcnkoKTsKKyAgICBWaWRlb0NhcHR1
cmVGYWN0b3J5JiB2aWRlb0NhcHR1cmVGYWN0b3J5KCk7CiAgICAgRGlzcGxheUNhcHR1cmVGYWN0
b3J5JiBkaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKTsKIAogICAgIGNsYXNzIE1vY2tBdWRpb0NhcHR1
cmVEZXZpY2VNYW5hZ2VyIGZpbmFsIDogcHVibGljIENhcHR1cmVEZXZpY2VNYW5hZ2VyIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVN
YW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlh
Q2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKaW5kZXggYWY4M2I2Mzg3OWNhYTM1NGIzY2MwOTE0MzNl
ODE1MjM5YjUxYWVmYS4uYzI2ZWMwYTI4YjRhZGRlMTA5YzhmZTRhZmU4ZjRmZmY5MzYxOTdjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVy
ZU1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKQEAgLTEzNiwxNiArMTM2LDE2IEBAIHZvaWQg
VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6Y3JlYXRlTWVkaWFTb3VyY2VGb3JDYXB0dXJl
RGV2aWNlV2l0aENvbnN0cmFpCiAgICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3Igc291cmNlT3JFcnJv
cjsKICAgICBzd2l0Y2ggKGRldmljZS50eXBlKCkpIHsKICAgICBjYXNlIFdlYkNvcmU6OkNhcHR1
cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1pY3JvcGhvbmU6Ci0gICAgICAgIHNvdXJjZU9yRXJyb3Ig
PSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjphdWRpb0ZhY3RvcnkoKS5jcmVhdGVBdWRpb0Nh
cHR1cmVTb3VyY2UoZGV2aWNlLCBXVEZNb3ZlKGhhc2hTYWx0KSwgJmNvbnN0cmFpbnRzKTsKKyAg
ICAgICAgc291cmNlT3JFcnJvciA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRv
bigpLmF1ZGlvQ2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UoZGV2aWNl
LCBXVEZNb3ZlKGhhc2hTYWx0KSwgJmNvbnN0cmFpbnRzKTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6Ci0gICAgICAg
IHNvdXJjZU9yRXJyb3IgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp2aWRlb0ZhY3Rvcnko
KS5jcmVhdGVWaWRlb0NhcHR1cmVTb3VyY2UoZGV2aWNlLCBXVEZNb3ZlKGhhc2hTYWx0KSwgJmNv
bnN0cmFpbnRzKTsKKyAgICAgICAgc291cmNlT3JFcnJvciA9IFJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvQ2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVWaWRlb0NhcHR1
cmVTb3VyY2UoZGV2aWNlLCBXVEZNb3ZlKGhhc2hTYWx0KSwgJmNvbnN0cmFpbnRzKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpT
Y3JlZW46CiAgICAgY2FzZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5k
b3c6CiAgICAgY2FzZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpBcHBsaWNh
dGlvbjoKICAgICBjYXNlIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkJyb3dz
ZXI6Ci0gICAgICAgIHNvdXJjZU9yRXJyb3IgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpk
aXNwbGF5Q2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVEaXNwbGF5Q2FwdHVyZVNvdXJjZShkZXZpY2Us
ICZjb25zdHJhaW50cyk7CisgICAgICAgIHNvdXJjZU9yRXJyb3IgPSBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5kaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVEaXNw
bGF5Q2FwdHVyZVNvdXJjZShkZXZpY2UsICZjb25zdHJhaW50cyk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyLmNwcAppbmRleCAxY2Q4
NjQxYzU4ZGFjZDY5MzBkMDVmNjAzYTE2YzNmZDRkYWE2ODFjLi44NGY5OWVhODAwNTA2M2UxZTUx
N2I5ZDg3ZTViMDgwODAwNWEyOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlci5jcHAKQEAgLTIwNiw5ICsy
MDYsOSBAQCBVc2VyTWVkaWFDYXB0dXJlTWFuYWdlcjo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIo
V2ViUHJvY2VzcyYgcHJvY2VzcykKIAogVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXI6On5Vc2VyTWVk
aWFDYXB0dXJlTWFuYWdlcigpCiB7Ci0gICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dW5z
ZXRBdWRpb0ZhY3RvcnkoKnRoaXMpOwotICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnVu
c2V0RGlzcGxheUNhcHR1cmVGYWN0b3J5KCp0aGlzKTsKLSAgICBSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyOjp1bnNldFZpZGVvRmFjdG9yeSgqdGhpcyk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6c2luZ2xldG9uKCkudW5zZXRBdWRpb0NhcHR1cmVGYWN0b3J5KCp0aGlzKTsKKyAg
ICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS51bnNldERpc3BsYXlDYXB0
dXJlRmFjdG9yeSgqdGhpcyk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xl
dG9uKCkudW5zZXRWaWRlb0NhcHR1cmVGYWN0b3J5KCp0aGlzKTsKICAgICBtX3Byb2Nlc3MucmVt
b3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpKTsKIH0KIApAQCAtMjI0LDExICsyMjQsMTEgQEAgdm9pZCBVc2Vy
TWVkaWFDYXB0dXJlTWFuYWdlcjo6aW5pdGlhbGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzJiBwYXIKICAgICBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xl
dG9uKCkuc2V0TW9ja0Rpc3BsYXlDYXB0dXJlRW5hYmxlZCghcGFyYW1ldGVycy5zaG91bGRDYXB0
dXJlRGlzcGxheUluVUlQcm9jZXNzKTsKIAogICAgIGlmIChwYXJhbWV0ZXJzLnNob3VsZENhcHR1
cmVBdWRpb0luVUlQcm9jZXNzKQotICAgICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpz
ZXRBdWRpb0ZhY3RvcnkoKnRoaXMpOworICAgICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
OjpzaW5nbGV0b24oKS5zZXRBdWRpb0NhcHR1cmVGYWN0b3J5KCp0aGlzKTsKICAgICBpZiAocGFy
YW1ldGVycy5zaG91bGRDYXB0dXJlVmlkZW9JblVJUHJvY2VzcykKLSAgICAgICAgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6c2V0VmlkZW9GYWN0b3J5KCp0aGlzKTsKKyAgICAgICAgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuc2V0VmlkZW9DYXB0dXJlRmFjdG9yeSgq
dGhpcyk7CiAgICAgaWYgKHBhcmFtZXRlcnMuc2hvdWxkQ2FwdHVyZURpc3BsYXlJblVJUHJvY2Vz
cykKLSAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0RGlzcGxheUNhcHR1cmVG
YWN0b3J5KCp0aGlzKTsKKyAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xl
dG9uKCkuc2V0RGlzcGxheUNhcHR1cmVGYWN0b3J5KCp0aGlzKTsKIH0KIAogV2ViQ29yZTo6Q2Fw
dHVyZVNvdXJjZU9yRXJyb3IgVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXI6OmNyZWF0ZUNhcHR1cmVT
b3VyY2UoY29uc3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBTdHJpbmcmJiBoYXNoU2FsdCwgY29u
c3QgV2ViQ29yZTo6TWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356987</attachid>
            <date>2018-12-10 13:04:29 -0800</date>
            <delta_ts>2018-12-10 15:30:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192546-20181210130429.patch</filename>
            <type>text/plain</type>
            <size>44643</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE4MWQ3MzM0OTFmZWY1
YWZhOWMzN2VlODIwMjI1ZGNhODRmNGFmZS4uM2FhMGU4Y2VhMDM1MTQ0Y2NlYWZjOTVlODE0MTI2
NDZiZjViOTJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE4LTEyLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgZGVyaXZlZCBj
bGFzc2VzIG9mIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjU0NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB2aXJ0dWFsIG1ldGhvZHMgb2YgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlciBhbmQgcmVtb3ZlIGRlcml2ZWQgY2xhc3NlcyBvZiBpdC4K
KyAgICAgICAgSW5zdGVhZCBwb3J0IHNwZWNpZmljIGltcGxlbWVudGF0aW9uIGRpcmVjdGx5IGlt
cGxlbWVudCB0aGUgbmVlZGVkIGRlZmF1bHQgZmFjdG9yeSBtZXRob2RzLgorCisgICAgICAgIFJl
bmFtZWQgc29tZSBtZXRob2RzIGZvciBpbXByb3ZlZCBjb25zaXN0ZW5jeS4KKyAgICAgICAgTW92
ZWQgc29tZSBzdGF0aWMgdmFyaWFibGVzIGFzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIgbWVt
YmVycy4KKworICAgICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFnZS9EZXByZWNhdGVk
R2xvYmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6UmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Z2V0TWVkaWFTdHJlYW1EZXZpY2VzKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmdldFVzZXJNZWRpYURldmljZXMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0VmlkZW9D
YXB0dXJlUGFnZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXI6OnNldEF1ZGlvRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjp1bnNldEF1ZGlvRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjphdWRpb0NhcHR1cmVGYWN0b3J5KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNldFZpZGVvRmFjdG9yeSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp1bnNldFZpZGVvRmFjdG9y
eSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp2aWRlb0Nh
cHR1cmVGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXI6OnNldERpc3BsYXlDYXB0dXJlRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyOjp1bnNldERpc3BsYXlDYXB0dXJlRmFjdG9yeSk6CisgICAgICAg
IChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkaXNwbGF5Q2FwdHVyZUZhY3Rv
cnkpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvU291
cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lVmlkZW9Tb3VyY2U6On5SZWFsdGlt
ZVZpZGVvU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lVmlkZW9Tb3VyY2U6OnBy
ZXBhcmVUb1Byb2R1Y2VEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVmYXVsdEF1ZGlvQ2FwdHVyZUZh
Y3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVm
YXVsdFZpZGVvQ2FwdHVyZUZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlcjo6ZGVmYXVsdERpc3BsYXlDYXB0dXJlRmFjdG9yeSk6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJM
aWJXZWJSVEMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
QVZWaWRlb0NhcHR1cmVTb3VyY2UubW06CisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVy
ZVNvdXJjZTo6fkFWVmlkZW9DYXB0dXJlU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkFWVmlk
ZW9DYXB0dXJlU291cmNlOjpzZXR1cENhcHR1cmVTZXNzaW9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjp+RGlzcGxheUNhcHR1cmVTb3Vy
Y2VDb2NvYSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjpz
dGFydFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0QXVkaW9DYXB0dXJlRmFjdG9yeSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0VmlkZW9DYXB0
dXJlRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
OjpkZWZhdWx0RGlzcGxheUNhcHR1cmVGYWN0b3J5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oOiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6On5Nb2NrUmVhbHRpbWVBdWRpb1Nv
dXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6c3RhcnRQ
cm9kdWNpbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpzZXRNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmF1ZGlvQ2FwdHVy
ZUZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXI6OnZpZGVvQ2FwdHVyZUZhY3RvcnkpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoKKwogMjAxOC0xMi0xMCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBtb2NrIGNhcHR1cmUgaGFwcGVuIGlu
IHRoZSBwcm9jZXNzIHVzZWQgZm9yIHJlYWwgY2FwdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkM2NhZjNjZjli
YTk1YmNmYThlOTQ0MDc0NGU1N2YxMzAxYTU1YTM4Li5iODhmYzI3YjgwNGEwMWUxNTc4NjY1ZWFl
MzZkNGZiZDU4OGIxNjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTEyLTEwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgZGVyaXZl
ZCBjbGFzc2VzIG9mIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjU0NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHBkYXRlIGNvZGUgYWNjb3JkaW5nIFdlYkNv
cmUgY2hhbmdlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJl
TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFn
ZXJQcm94eTo6Y3JlYXRlTWVkaWFTb3VyY2VGb3JDYXB0dXJlRGV2aWNlV2l0aENvbnN0cmFpbnRz
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXI6On5Vc2VyTWVkaWFD
YXB0dXJlTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
Ojppbml0aWFsaXplKToKKwogMjAxOC0xMi0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWFrZSBtb2NrIGNhcHR1cmUgaGFwcGVuIGluIHRoZSBwcm9jZXNz
IHVzZWQgZm9yIHJlYWwgY2FwdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDVmNmM3MzAzMTUwZGMwY2YzZjRmNDIxMDBmNDQ2
NWNkYTQ4NmM0ZmYuLmRmMmM5NTVmMDE5YWUxMGNhNWE2ZDU4ODcxODM0MGY0ZGE0ZmRhNjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTEzNTAsNyArMTM1MCw2IEBACiAJCTRBMERBMkZGMTI5QjI0MTkwMEFCNjFFMSAvKiBGb3Jt
QXNzb2NpYXRlZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDRBMERBMkZEMTI5QjI0MTkwMEFCNjFFMSAvKiBGb3JtQXNzb2NpYXRlZEVsZW1l
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
QTBGRkE5RTFBQUY1RTdFMDA2MjgwM0IgLyogTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBMEZGQTlD
MUFBRjVFNkMwMDYyODAzQiAvKiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRBMEZGQUEyMUFB
RjVFQTIwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTBGRkFBMDFBQUY1RUEyMDA2Mjgw
M0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTRBMEZGQUE2MUFBRjVFRjYwMDYyODAzQiAvKiBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0QTBGRkFBNDFBQUY1RUY2MDA2MjgwM0IgLyogUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTRBMzhCRjUxMTRGRTFDMDkwMDYxMjUxMiAvKiBXZWJTb2NrZXREZWZs
YXRlRnJhbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0QTM4QkY0RjE0RkUxQzA5MDA2MTI1MTIgLyogV2ViU29ja2V0RGVmbGF0ZUZyYW1lci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRBNEY0OEFB
MTZCMERGQzAwMEVEQkIyOSAvKiBEb2N1bWVudFJ1bGVTZXRzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTRGNDhBODE2QjBERkMwMDBFREJCMjkgLyog
RG9jdW1lbnRSdWxlU2V0cy5oICovOyB9OwogCQk0QTRGNjU3MTFBQTk5N0YxMDBFMzhDREQgLyog
UmVhbHRpbWVNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNEE0RjY1NkMxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3Vy
Y2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
Nzg0Niw3ICs3ODQ1LDYgQEAKIAkJNEEwRkZBOUYxQUFGNUVBMjAwNjI4MDNCIC8qIFJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTRBMEZGQUEwMUFBRjVFQTIwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEEwRkZBQTMxQUFGNUVG
NjAwNjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRBMEZGQUE0MUFBRjVFRjYwMDYyODAz
QiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNEEzOEJGNEUxNEZFMUMwOTAwNjEyNTEyIC8qIFdlYlNvY2tldERl
ZmxhdGVGcmFtZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
U29ja2V0RGVmbGF0ZUZyYW1lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRB
MzhCRjRGMTRGRTFDMDkwMDYxMjUxMiAvKiBXZWJTb2NrZXREZWZsYXRlRnJhbWVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNvY2tldERlZmxhdGVGcmFtZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEE0RjQ4QTcxNkIwREZDMDAwRURCQjI5IC8qIERv
Y3VtZW50UnVsZVNldHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RG9jdW1lbnRSdWxlU2V0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTY2
OSw3ICsxNTY2Nyw2IEBACiAJCQkJNUNERDgzM0ExRTQzMjRCQjAwNjIxRTgzIC8qIFJlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLmggKi8sCiAJCQkJNUNERDgzMzkxRTQzMjRCQjAwNjIx
RTgzIC8qIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovLAogCQkJCTRBMEZG
QUEzMUFBRjVFRjYwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcCAq
LywKLQkJCQk0QTBGRkFBNDFBQUY1RUY2MDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlck1hYy5oICovLAogCQkJCTQxMTAzQUE3MUUzOTc5MEEwMDc2OUYxNCAvKiBSZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi8sCiAJCQkJNDExMDNBQTgxRTM5NzkwQTAwNzY5
RjE0IC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmggKi8sCiAJCQkJNUNERDgz
M0IxRTQzMjRCQjAwNjIxQjgzIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNw
cCAqLywKQEAgLTMwNTM2LDcgKzMwNTMzLDYgQEAKIAkJCQk0QTRGNjU3MTFBQTk5N0YxMDBFMzhD
REQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE0RjY1NzIx
QUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTRBMEZGQUEyMUFBRjVFQTIwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0QTBGRkFBNjFBQUY1RUY2MDA2Mjgw
M0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MDc1NEE1RUEyMTVFQTNCODAwMkQzQTk5IC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3NDFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVN
ZWRpYVNvdXJjZVNldHRpbmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0MxQzBFNTFCRkI2MEVE
MDBCRDIyNTYgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4g
SGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGVwcmVjYXRlZEds
b2JhbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGVwcmVjYXRlZEdsb2JhbFNl
dHRpbmdzLmNwcAppbmRleCBmMzUwYjQ2ZmFmMjZkZmY2NTViOTM4NzEzZDAzMzVjNTBmOWI3MjYy
Li5mNDk5NWQzODcwYzJiZGEwNmUxM2YwMTlmOWRlNWVjMjAzMDU5ZWZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuY3BwCkBAIC0zNCw5ICsz
NCw2IEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICNpbmNsdWRlICJNb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5oIgogCi0jaWYgVVNFKEFWRk9VTkRBVElPTikKLSNpbmNsdWRlICJS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgiCi0jZW5kaWYKICNlbmRpZgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCmluZGV4IGQ2N2Ux
Mjc3NDRiZjVjYjM0YzUyZDk1YTBlNmRlOTBlNTRmYjI3MWMuLmM2ZTRjYjVjZjIwOGU5OGJhODNi
YjY4NTcyODMwODI2NDUyZTc3MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3Bw
CkBAIC00MywxMSArNDMsNiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAKLVJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXImIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpCi17
Ci0gICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnBsYXRmb3JtQ2VudGVyKCk7
Ci19Ci0KIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIoKQogewogICAgIG1fc3VwcG9ydGVkQ29uc3RyYWludHMuc2V0U3VwcG9ydHNXaWR0aCh0cnVl
KTsKQEAgLTY4LDcgKzYzLDcgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpjcmVh
dGVNZWRpYVN0cmVhbShOZXdNZWRpYVN0cmVhbUhhbmRsZXImJiBjb21wbGUKICAgICBTdHJpbmcg
aW52YWxpZENvbnN0cmFpbnQ7CiAKICAgICBpZiAoYXVkaW9EZXZpY2UpIHsKLSAgICAgICAgYXV0
byBhdWRpb1NvdXJjZSA9IGF1ZGlvRmFjdG9yeSgpLmNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShX
VEZNb3ZlKGF1ZGlvRGV2aWNlKSwgU3RyaW5nIHsgaGFzaFNhbHQgfSwgJnJlcXVlc3QuYXVkaW9D
b25zdHJhaW50cyk7CisgICAgICAgIGF1dG8gYXVkaW9Tb3VyY2UgPSBhdWRpb0NhcHR1cmVGYWN0
b3J5KCkuY3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKFdURk1vdmUoYXVkaW9EZXZpY2UpLCBTdHJp
bmcgeyBoYXNoU2FsdCB9LCAmcmVxdWVzdC5hdWRpb0NvbnN0cmFpbnRzKTsKICAgICAgICAgaWYg
KGF1ZGlvU291cmNlKQogICAgICAgICAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChhdWRpb1NvdXJj
ZS5zb3VyY2UoKSk7CiAgICAgICAgIGVsc2UgewpAQCAtODQsNyArNzksNyBAQCB2b2lkIFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKE5ld01lZGlhU3RyZWFtSGFu
ZGxlciYmIGNvbXBsZQogICAgIGlmICh2aWRlb0RldmljZSkgewogICAgICAgICBDYXB0dXJlU291
cmNlT3JFcnJvciB2aWRlb1NvdXJjZTsKICAgICAgICAgaWYgKHZpZGVvRGV2aWNlLnR5cGUoKSA9
PSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmEpCi0gICAgICAgICAgICB2aWRlb1Nv
dXJjZSA9IHZpZGVvRmFjdG9yeSgpLmNyZWF0ZVZpZGVvQ2FwdHVyZVNvdXJjZShXVEZNb3ZlKHZp
ZGVvRGV2aWNlKSwgV1RGTW92ZShoYXNoU2FsdCksICZyZXF1ZXN0LnZpZGVvQ29uc3RyYWludHMp
OworICAgICAgICAgICAgdmlkZW9Tb3VyY2UgPSB2aWRlb0NhcHR1cmVGYWN0b3J5KCkuY3JlYXRl
VmlkZW9DYXB0dXJlU291cmNlKFdURk1vdmUodmlkZW9EZXZpY2UpLCBXVEZNb3ZlKGhhc2hTYWx0
KSwgJnJlcXVlc3QudmlkZW9Db25zdHJhaW50cyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IHZpZGVvU291cmNlID0gZGlzcGxheUNhcHR1cmVGYWN0b3J5KCkuY3JlYXRlRGlzcGxheUNhcHR1
cmVTb3VyY2UoV1RGTW92ZSh2aWRlb0RldmljZSksICZyZXF1ZXN0LnZpZGVvQ29uc3RyYWludHMp
OwogCkBAIC0xMDYsMTEgKzEwMSwxMSBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6
OmNyZWF0ZU1lZGlhU3RyZWFtKE5ld01lZGlhU3RyZWFtSGFuZGxlciYmIGNvbXBsZQogVmVjdG9y
PENhcHR1cmVEZXZpY2U+IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmdldE1lZGlhU3RyZWFt
RGV2aWNlcygpCiB7CiAgICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IHJlc3VsdDsKLSAgICBmb3Ig
KGF1dG8mIGRldmljZSA6IGF1ZGlvRmFjdG9yeSgpLmF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIo
KS5jYXB0dXJlRGV2aWNlcygpKSB7CisgICAgZm9yIChhdXRvJiBkZXZpY2UgOiBhdWRpb0NhcHR1
cmVGYWN0b3J5KCkuYXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpLmNhcHR1cmVEZXZpY2VzKCkp
IHsKICAgICAgICAgaWYgKGRldmljZS5lbmFibGVkKCkpCiAgICAgICAgICAgICByZXN1bHQuYXBw
ZW5kKGRldmljZSk7CiAgICAgfQotICAgIGZvciAoYXV0byYgZGV2aWNlIDogdmlkZW9GYWN0b3J5
KCkudmlkZW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpLmNhcHR1cmVEZXZpY2VzKCkpIHsKKyAgICBm
b3IgKGF1dG8mIGRldmljZSA6IHZpZGVvQ2FwdHVyZUZhY3RvcnkoKS52aWRlb0NhcHR1cmVEZXZp
Y2VNYW5hZ2VyKCkuY2FwdHVyZURldmljZXMoKSkgewogICAgICAgICBpZiAoZGV2aWNlLmVuYWJs
ZWQoKSkKICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoZGV2aWNlKTsKICAgICB9CkBAIC0xOTEs
MTEgKzE4NiwxMSBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmdldFVzZXJNZWRp
YURldmljZXMoY29uc3QgTWVkaWFTdHJlYW1SZXF1ZXN0JiByZQogewogICAgIFN0cmluZyBpbnZh
bGlkQ29uc3RyYWludDsKICAgICBpZiAocmVxdWVzdC5hdWRpb0NvbnN0cmFpbnRzLmlzVmFsaWQp
IHsKLSAgICAgICAgZm9yIChhdXRvJiBkZXZpY2UgOiBhdWRpb0ZhY3RvcnkoKS5hdWRpb0NhcHR1
cmVEZXZpY2VNYW5hZ2VyKCkuY2FwdHVyZURldmljZXMoKSkgeworICAgICAgICBmb3IgKGF1dG8m
IGRldmljZSA6IGF1ZGlvQ2FwdHVyZUZhY3RvcnkoKS5hdWRpb0NhcHR1cmVEZXZpY2VNYW5hZ2Vy
KCkuY2FwdHVyZURldmljZXMoKSkgewogICAgICAgICAgICAgaWYgKCFkZXZpY2UuZW5hYmxlZCgp
KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBhdXRvIHNvdXJjZU9y
RXJyb3IgPSBhdWRpb0ZhY3RvcnkoKS5jcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UoZGV2aWNlLCBT
dHJpbmcgeyBoYXNoU2FsdCB9LCB7IH0pOworICAgICAgICAgICAgYXV0byBzb3VyY2VPckVycm9y
ID0gYXVkaW9DYXB0dXJlRmFjdG9yeSgpLmNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShkZXZpY2Us
IFN0cmluZyB7IGhhc2hTYWx0IH0sIHsgfSk7CiAgICAgICAgICAgICBpZiAoc291cmNlT3JFcnJv
ciAmJiBzb3VyY2VPckVycm9yLmNhcHR1cmVTb3VyY2UtPnN1cHBvcnRzQ29uc3RyYWludHMocmVx
dWVzdC5hdWRpb0NvbnN0cmFpbnRzLCBpbnZhbGlkQ29uc3RyYWludCkpCiAgICAgICAgICAgICAg
ICAgYXVkaW9EZXZpY2VJbmZvLmFwcGVuZCh7c291cmNlT3JFcnJvci5jYXB0dXJlU291cmNlLT5m
aXRuZXNzU2NvcmUoKSwgZGV2aWNlfSk7CiAKQEAgLTIwNSwxMSArMjAwLDExIEBAIHZvaWQgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Z2V0VXNlck1lZGlhRGV2aWNlcyhjb25zdCBNZWRpYVN0
cmVhbVJlcXVlc3QmIHJlCiAgICAgfQogCiAgICAgaWYgKHJlcXVlc3QudmlkZW9Db25zdHJhaW50
cy5pc1ZhbGlkKSB7Ci0gICAgICAgIGZvciAoYXV0byYgZGV2aWNlIDogdmlkZW9GYWN0b3J5KCku
dmlkZW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpLmNhcHR1cmVEZXZpY2VzKCkpIHsKKyAgICAgICAg
Zm9yIChhdXRvJiBkZXZpY2UgOiB2aWRlb0NhcHR1cmVGYWN0b3J5KCkudmlkZW9DYXB0dXJlRGV2
aWNlTWFuYWdlcigpLmNhcHR1cmVEZXZpY2VzKCkpIHsKICAgICAgICAgICAgIGlmICghZGV2aWNl
LmVuYWJsZWQoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgYXV0
byBzb3VyY2VPckVycm9yID0gdmlkZW9GYWN0b3J5KCkuY3JlYXRlVmlkZW9DYXB0dXJlU291cmNl
KGRldmljZSwgU3RyaW5nIHsgaGFzaFNhbHQgfSwgeyB9KTsKKyAgICAgICAgICAgIGF1dG8gc291
cmNlT3JFcnJvciA9IHZpZGVvQ2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVWaWRlb0NhcHR1cmVTb3Vy
Y2UoZGV2aWNlLCBTdHJpbmcgeyBoYXNoU2FsdCB9LCB7IH0pOwogICAgICAgICAgICAgaWYgKHNv
dXJjZU9yRXJyb3IgJiYgc291cmNlT3JFcnJvci5jYXB0dXJlU291cmNlLT5zdXBwb3J0c0NvbnN0
cmFpbnRzKHJlcXVlc3QudmlkZW9Db25zdHJhaW50cywgaW52YWxpZENvbnN0cmFpbnQpKQogICAg
ICAgICAgICAgICAgIHZpZGVvRGV2aWNlSW5mby5hcHBlbmQoe3NvdXJjZU9yRXJyb3IuY2FwdHVy
ZVNvdXJjZS0+Zml0bmVzc1Njb3JlKCksIGRldmljZX0pOwogCkBAIC0yNjMsODEgKzI1OCw1NyBA
QCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnZhbGlkYXRlUmVxdWVzdENvbnN0cmFp
bnRzKFZhbGlkQ29uc3RyYWludHNIYW5kbAogCiB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXI6OnNldFZpZGVvQ2FwdHVyZVBhZ2VTdGF0ZShib29sIGludGVycnVwdGVkLCBib29sIHBhZ2VN
dXRlZCkKIHsKLSAgICB2aWRlb0ZhY3RvcnkoKS5zZXRWaWRlb0NhcHR1cmVQYWdlU3RhdGUoaW50
ZXJydXB0ZWQsIHBhZ2VNdXRlZCk7CisgICAgdmlkZW9DYXB0dXJlRmFjdG9yeSgpLnNldFZpZGVv
Q2FwdHVyZVBhZ2VTdGF0ZShpbnRlcnJ1cHRlZCwgcGFnZU11dGVkKTsKIH0KIAotc3RkOjpvcHRp
b25hbDxDYXB0dXJlRGV2aWNlPiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpjYXB0dXJlRGV2
aWNlV2l0aFBlcnNpc3RlbnRJRChDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlIHR5cGUsIGNvbnN0
IFN0cmluZyYgaWQpCit2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNldEF1ZGlvQ2Fw
dHVyZUZhY3RvcnkoQXVkaW9DYXB0dXJlRmFjdG9yeSYgZmFjdG9yeSkKIHsKLSAgICBzd2l0Y2gg
KHR5cGUpIHsKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkNhbWVyYToKLSAg
ICAgICAgcmV0dXJuIHZpZGVvRmFjdG9yeSgpLnZpZGVvQ2FwdHVyZURldmljZU1hbmFnZXIoKS5j
YXB0dXJlRGV2aWNlV2l0aFBlcnNpc3RlbnRJRCh0eXBlLCBpZCk7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWljcm9waG9uZToKLSAgICAgICAg
cmV0dXJuIGF1ZGlvRmFjdG9yeSgpLmF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIoKS5jYXB0dXJl
RGV2aWNlV2l0aFBlcnNpc3RlbnRJRCh0eXBlLCBpZCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U2NyZWVuOgotICAgIGNhc2UgQ2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZTo6QXBwbGljYXRpb246Ci0gICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpE
ZXZpY2VUeXBlOjpXaW5kb3c6Ci0gICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpC
cm93c2VyOgotICAgICAgICByZXR1cm4gZGlzcGxheUNhcHR1cmVGYWN0b3J5KCkuZGlzcGxheUNh
cHR1cmVEZXZpY2VNYW5hZ2VyKCkuY2FwdHVyZURldmljZVdpdGhQZXJzaXN0ZW50SUQodHlwZSwg
aWQpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OlVua25vd246Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBicmVhazsK
LSAgICB9Ci0KLSAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIG1fYXVkaW9DYXB0dXJlRmFj
dG9yeU92ZXJyaWRlID0gJmZhY3Rvcnk7CiB9CiAKLXN0YXRpYyBBdWRpb0NhcHR1cmVGYWN0b3J5
KiBhdWRpb0ZhY3RvcnlPdmVycmlkZTsKLXZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6
c2V0QXVkaW9GYWN0b3J5KEF1ZGlvQ2FwdHVyZUZhY3RvcnkmIGZhY3RvcnkpCi17Ci0gICAgYXVk
aW9GYWN0b3J5T3ZlcnJpZGUgPSAmZmFjdG9yeTsKLX0KLXZvaWQgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6dW5zZXRBdWRpb0ZhY3RvcnkoQXVkaW9DYXB0dXJlRmFjdG9yeSYgb2xkT3ZlcnJp
ZGUpCit2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnVuc2V0QXVkaW9DYXB0dXJlRmFj
dG9yeShBdWRpb0NhcHR1cmVGYWN0b3J5JiBvbGRPdmVycmlkZSkKIHsKLSAgICBBU1NFUlRfVU5V
U0VEKG9sZE92ZXJyaWRlLCBhdWRpb0ZhY3RvcnlPdmVycmlkZSA9PSAmb2xkT3ZlcnJpZGUpOwot
ICAgIGlmICgmb2xkT3ZlcnJpZGUgPT0gYXVkaW9GYWN0b3J5T3ZlcnJpZGUpCi0gICAgICAgIGF1
ZGlvRmFjdG9yeU92ZXJyaWRlID0gbnVsbHB0cjsKKyAgICBBU1NFUlRfVU5VU0VEKG9sZE92ZXJy
aWRlLCBtX2F1ZGlvQ2FwdHVyZUZhY3RvcnlPdmVycmlkZSA9PSAmb2xkT3ZlcnJpZGUpOworICAg
IGlmICgmb2xkT3ZlcnJpZGUgPT0gbV9hdWRpb0NhcHR1cmVGYWN0b3J5T3ZlcnJpZGUpCisgICAg
ICAgIG1fYXVkaW9DYXB0dXJlRmFjdG9yeU92ZXJyaWRlID0gbnVsbHB0cjsKIH0KIAotQXVkaW9D
YXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6YXVkaW9GYWN0b3J5KCkK
K0F1ZGlvQ2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmF1ZGlvQ2Fw
dHVyZUZhY3RvcnkoKQogewotICAgIHJldHVybiBhdWRpb0ZhY3RvcnlPdmVycmlkZSA/ICphdWRp
b0ZhY3RvcnlPdmVycmlkZSA6IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigp
LmF1ZGlvRmFjdG9yeVByaXZhdGUoKTsKKyAgICByZXR1cm4gbV9hdWRpb0NhcHR1cmVGYWN0b3J5
T3ZlcnJpZGUgPyAqbV9hdWRpb0NhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgOiBkZWZhdWx0QXVkaW9D
YXB0dXJlRmFjdG9yeSgpOwogfQogCi1zdGF0aWMgVmlkZW9DYXB0dXJlRmFjdG9yeSogdmlkZW9G
YWN0b3J5T3ZlcnJpZGU7Ci12b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNldFZpZGVv
RmFjdG9yeShWaWRlb0NhcHR1cmVGYWN0b3J5JiBmYWN0b3J5KQordm9pZCBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjpzZXRWaWRlb0NhcHR1cmVGYWN0b3J5KFZpZGVvQ2FwdHVyZUZhY3Rvcnkm
IGZhY3RvcnkpCiB7Ci0gICAgdmlkZW9GYWN0b3J5T3ZlcnJpZGUgPSAmZmFjdG9yeTsKKyAgICBt
X3ZpZGVvQ2FwdHVyZUZhY3RvcnlPdmVycmlkZSA9ICZmYWN0b3J5OwogfQotdm9pZCBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyOjp1bnNldFZpZGVvRmFjdG9yeShWaWRlb0NhcHR1cmVGYWN0b3J5
JiBvbGRPdmVycmlkZSkKK3ZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dW5zZXRWaWRl
b0NhcHR1cmVGYWN0b3J5KFZpZGVvQ2FwdHVyZUZhY3RvcnkmIG9sZE92ZXJyaWRlKQogewotICAg
IEFTU0VSVF9VTlVTRUQob2xkT3ZlcnJpZGUsIHZpZGVvRmFjdG9yeU92ZXJyaWRlID09ICZvbGRP
dmVycmlkZSk7Ci0gICAgaWYgKCZvbGRPdmVycmlkZSA9PSB2aWRlb0ZhY3RvcnlPdmVycmlkZSkK
LSAgICAgICAgdmlkZW9GYWN0b3J5T3ZlcnJpZGUgPSBudWxscHRyOworICAgIEFTU0VSVF9VTlVT
RUQob2xkT3ZlcnJpZGUsIG1fdmlkZW9DYXB0dXJlRmFjdG9yeU92ZXJyaWRlID09ICZvbGRPdmVy
cmlkZSk7CisgICAgaWYgKCZvbGRPdmVycmlkZSA9PSBtX3ZpZGVvQ2FwdHVyZUZhY3RvcnlPdmVy
cmlkZSkKKyAgICAgICAgbV92aWRlb0NhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgPSBudWxscHRyOwog
fQogCi1WaWRlb0NhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp2aWRl
b0ZhY3RvcnkoKQorVmlkZW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
cjo6dmlkZW9DYXB0dXJlRmFjdG9yeSgpCiB7Ci0gICAgcmV0dXJuIHZpZGVvRmFjdG9yeU92ZXJy
aWRlID8gKnZpZGVvRmFjdG9yeU92ZXJyaWRlIDogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6
c2luZ2xldG9uKCkudmlkZW9GYWN0b3J5UHJpdmF0ZSgpOworICAgIHJldHVybiBtX3ZpZGVvQ2Fw
dHVyZUZhY3RvcnlPdmVycmlkZSA/ICptX3ZpZGVvQ2FwdHVyZUZhY3RvcnlPdmVycmlkZSA6IGRl
ZmF1bHRWaWRlb0NhcHR1cmVGYWN0b3J5KCk7CiB9CiAKLXN0YXRpYyBEaXNwbGF5Q2FwdHVyZUZh
Y3RvcnkqIGRpc3BsYXlDYXB0dXJlRmFjdG9yeU92ZXJyaWRlOwogdm9pZCBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjpzZXREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoRGlzcGxheUNhcHR1cmVGYWN0
b3J5JiBmYWN0b3J5KQogewotICAgIGRpc3BsYXlDYXB0dXJlRmFjdG9yeU92ZXJyaWRlID0gJmZh
Y3Rvcnk7CisgICAgbV9kaXNwbGF5Q2FwdHVyZUZhY3RvcnlPdmVycmlkZSA9ICZmYWN0b3J5Owog
fQorCiB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnVuc2V0RGlzcGxheUNhcHR1cmVG
YWN0b3J5KERpc3BsYXlDYXB0dXJlRmFjdG9yeSYgb2xkT3ZlcnJpZGUpCiB7Ci0gICAgQVNTRVJU
X1VOVVNFRChvbGRPdmVycmlkZSwgZGlzcGxheUNhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgPT0gJm9s
ZE92ZXJyaWRlKTsKLSAgICBpZiAoJm9sZE92ZXJyaWRlID09IGRpc3BsYXlDYXB0dXJlRmFjdG9y
eU92ZXJyaWRlKQotICAgICAgICBkaXNwbGF5Q2FwdHVyZUZhY3RvcnlPdmVycmlkZSA9IG51bGxw
dHI7CisgICAgQVNTRVJUX1VOVVNFRChvbGRPdmVycmlkZSwgbV9kaXNwbGF5Q2FwdHVyZUZhY3Rv
cnlPdmVycmlkZSA9PSAmb2xkT3ZlcnJpZGUpOworICAgIGlmICgmb2xkT3ZlcnJpZGUgPT0gbV9k
aXNwbGF5Q2FwdHVyZUZhY3RvcnlPdmVycmlkZSkKKyAgICAgICAgbV9kaXNwbGF5Q2FwdHVyZUZh
Y3RvcnlPdmVycmlkZSA9IG51bGxwdHI7CiB9CiAKIERpc3BsYXlDYXB0dXJlRmFjdG9yeSYgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGlzcGxheUNhcHR1cmVGYWN0b3J5KCkKIHsKLSAgICBy
ZXR1cm4gZGlzcGxheUNhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgPyAqZGlzcGxheUNhcHR1cmVGYWN0
b3J5T3ZlcnJpZGUgOiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5kaXNw
bGF5Q2FwdHVyZUZhY3RvcnlQcml2YXRlKCk7CisgICAgcmV0dXJuIG1fZGlzcGxheUNhcHR1cmVG
YWN0b3J5T3ZlcnJpZGUgPyAqbV9kaXNwbGF5Q2FwdHVyZUZhY3RvcnlPdmVycmlkZSA6IGRlZmF1
bHREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCmluZGV4IGJiMGRlZjJlNWVmMzRhNWRlMjVkZDI0
ZTg2YjMwZDNkOGMwZDMzZGQuLjNiYjI1OTRiYjA5MWQzNjM3NzYxZGI5YTRkZDEyMzMzODIxNjk4
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKQEAgLTU1LDM0ICs1NSwzMiBAQCBz
dHJ1Y3QgTWVkaWFDb25zdHJhaW50czsKICAgICAKIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIgewogcHVibGljOgotICAgIHN0YXRpYyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyJiBw
bGF0Zm9ybUNlbnRlcigpOwotICAgIHZpcnR1YWwgflJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIo
KTsKKyAgICB+UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpOwogCiAgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXImIHNpbmdsZXRvbigpOwogCiAgICAg
dXNpbmcgVmFsaWRDb25zdHJhaW50c0hhbmRsZXIgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoVmVjdG9y
PENhcHR1cmVEZXZpY2U+JiYgYXVkaW9EZXZpY2VVSURzLCBWZWN0b3I8Q2FwdHVyZURldmljZT4m
JiB2aWRlb0RldmljZVVJRHMsIFN0cmluZyYmKT47CiAgICAgdXNpbmcgSW52YWxpZENvbnN0cmFp
bnRzSGFuZGxlciA9IFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBTdHJpbmcmIGludmFsaWRDb25z
dHJhaW50KT47Ci0gICAgdmlydHVhbCB2b2lkIHZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKFZh
bGlkQ29uc3RyYWludHNIYW5kbGVyJiYsIEludmFsaWRDb25zdHJhaW50c0hhbmRsZXImJiwgY29u
c3QgTWVkaWFTdHJlYW1SZXF1ZXN0JiwgU3RyaW5nJiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgdmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoVmFsaWRDb25zdHJhaW50c0hhbmRsZXImJiwg
SW52YWxpZENvbnN0cmFpbnRzSGFuZGxlciYmLCBjb25zdCBNZWRpYVN0cmVhbVJlcXVlc3QmLCBT
dHJpbmcmJik7CiAKICAgICB1c2luZyBOZXdNZWRpYVN0cmVhbUhhbmRsZXIgPSBXVEY6OkZ1bmN0
aW9uPHZvaWQoUmVmUHRyPE1lZGlhU3RyZWFtUHJpdmF0ZT4mJik+OwotICAgIHZpcnR1YWwgdm9p
ZCBjcmVhdGVNZWRpYVN0cmVhbShOZXdNZWRpYVN0cmVhbUhhbmRsZXImJiwgU3RyaW5nJiYsIENh
cHR1cmVEZXZpY2UmJiBhdWRpb0RldmljZSwgQ2FwdHVyZURldmljZSYmIHZpZGVvRGV2aWNlLCBj
b25zdCBNZWRpYVN0cmVhbVJlcXVlc3QmKTsKKyAgICB2b2lkIGNyZWF0ZU1lZGlhU3RyZWFtKE5l
d01lZGlhU3RyZWFtSGFuZGxlciYmLCBTdHJpbmcmJiwgQ2FwdHVyZURldmljZSYmIGF1ZGlvRGV2
aWNlLCBDYXB0dXJlRGV2aWNlJiYgdmlkZW9EZXZpY2UsIGNvbnN0IE1lZGlhU3RyZWFtUmVxdWVz
dCYpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgVmVjdG9yPENhcHR1cmVEZXZpY2U+IGdldE1lZGlh
U3RyZWFtRGV2aWNlcygpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6b3B0aW9uYWw8Q2FwdHVy
ZURldmljZT4gY2FwdHVyZURldmljZVdpdGhQZXJzaXN0ZW50SUQoQ2FwdHVyZURldmljZTo6RGV2
aWNlVHlwZSwgY29uc3QgU3RyaW5nJik7Ci0gICAgCisKICAgICBjb25zdCBSZWFsdGltZU1lZGlh
U291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMmIHN1cHBvcnRlZENvbnN0cmFpbnRzKCkgeyByZXR1
cm4gbV9zdXBwb3J0ZWRDb25zdHJhaW50czsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IEF1ZGlvQ2FwdHVyZUZhY3RvcnkmIGF1ZGlvRmFjdG9yeSgpOwotICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB2b2lkIHNldEF1ZGlvRmFjdG9yeShBdWRpb0NhcHR1cmVGYWN0b3J5Jik7Ci0gICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgdW5zZXRBdWRpb0ZhY3RvcnkoQXVkaW9DYXB0dXJl
RmFjdG9yeSYpOworICAgIFdFQkNPUkVfRVhQT1JUIEF1ZGlvQ2FwdHVyZUZhY3RvcnkmIGF1ZGlv
Q2FwdHVyZUZhY3RvcnkoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEF1ZGlvQ2FwdHVy
ZUZhY3RvcnkoQXVkaW9DYXB0dXJlRmFjdG9yeSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
dW5zZXRBdWRpb0NhcHR1cmVGYWN0b3J5KEF1ZGlvQ2FwdHVyZUZhY3RvcnkmKTsKIAotICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyBWaWRlb0NhcHR1cmVGYWN0b3J5JiB2aWRlb0ZhY3RvcnkoKTsK
LSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRWaWRlb0ZhY3RvcnkoVmlkZW9DYXB0
dXJlRmFjdG9yeSYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHVuc2V0VmlkZW9G
YWN0b3J5KFZpZGVvQ2FwdHVyZUZhY3RvcnkmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBWaWRlb0Nh
cHR1cmVGYWN0b3J5JiB2aWRlb0NhcHR1cmVGYWN0b3J5KCk7CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRWaWRlb0NhcHR1cmVGYWN0b3J5KFZpZGVvQ2FwdHVyZUZhY3RvcnkmKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHVuc2V0VmlkZW9DYXB0dXJlRmFjdG9yeShWaWRlb0NhcHR1cmVG
YWN0b3J5Jik7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgRGlzcGxheUNhcHR1cmVGYWN0
b3J5JiBkaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
dm9pZCBzZXREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoRGlzcGxheUNhcHR1cmVGYWN0b3J5Jik7Ci0g
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgdW5zZXREaXNwbGF5Q2FwdHVyZUZhY3Rvcnko
RGlzcGxheUNhcHR1cmVGYWN0b3J5Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgRGlzcGxheUNhcHR1
cmVGYWN0b3J5JiBkaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHNldERpc3BsYXlDYXB0dXJlRmFjdG9yeShEaXNwbGF5Q2FwdHVyZUZhY3RvcnkmKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVuc2V0RGlzcGxheUNhcHR1cmVGYWN0b3J5KERpc3BsYXlD
YXB0dXJlRmFjdG9yeSYpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGhhc2hTdHJpbmdX
aXRoU2FsdChjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIGhhc2hTYWx0KTsKIApAQCAt
OTIsMTYgKzkwLDE0IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2FwdHVyZURldmljZXNDaGFuZ2Vk
KCk7CiAKLXByb3RlY3RlZDoKK3ByaXZhdGU6CiAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
cigpOworICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyPjsKIAotICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cyBt
X3N1cHBvcnRlZENvbnN0cmFpbnRzOwotCi0gICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBBdWRp
b0NhcHR1cmVGYWN0b3J5JiBhdWRpb0ZhY3RvcnlQcml2YXRlKCkgPSAwOwotICAgIFdFQkNPUkVf
RVhQT1JUIHZpcnR1YWwgVmlkZW9DYXB0dXJlRmFjdG9yeSYgdmlkZW9GYWN0b3J5UHJpdmF0ZSgp
ID0gMDsKLSAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIERpc3BsYXlDYXB0dXJlRmFjdG9yeSYg
ZGlzcGxheUNhcHR1cmVGYWN0b3J5UHJpdmF0ZSgpID0gMDsKKyAgICBBdWRpb0NhcHR1cmVGYWN0
b3J5JiBkZWZhdWx0QXVkaW9DYXB0dXJlRmFjdG9yeSgpOworICAgIFZpZGVvQ2FwdHVyZUZhY3Rv
cnkmIGRlZmF1bHRWaWRlb0NhcHR1cmVGYWN0b3J5KCk7CisgICAgRGlzcGxheUNhcHR1cmVGYWN0
b3J5JiBkZWZhdWx0RGlzcGxheUNhcHR1cmVGYWN0b3J5KCk7CiAKLXByaXZhdGU6CiAgICAgc3Ry
dWN0IERldmljZUluZm8gewogICAgICAgICB1bnNpZ25lZCBmaXRuZXNzU2NvcmU7CiAgICAgICAg
IENhcHR1cmVEZXZpY2UgZGV2aWNlOwpAQCAtMTEwLDcgKzEwNiwxMyBAQCBwcml2YXRlOgogICAg
IHZvaWQgZ2V0RGlzcGxheU1lZGlhRGV2aWNlcyhjb25zdCBNZWRpYVN0cmVhbVJlcXVlc3QmLCBW
ZWN0b3I8RGV2aWNlSW5mbz4mLCBTdHJpbmcmKTsKICAgICB2b2lkIGdldFVzZXJNZWRpYURldmlj
ZXMoY29uc3QgTWVkaWFTdHJlYW1SZXF1ZXN0JiwgU3RyaW5nJiYsIFZlY3RvcjxEZXZpY2VJbmZv
PiYgYXVkaW9EZXZpY2VzLCBWZWN0b3I8RGV2aWNlSW5mbz4mIHZpZGVvRGV2aWNlcywgU3RyaW5n
Jik7CiAKKyAgICBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMgbV9zdXBw
b3J0ZWRDb25zdHJhaW50czsKKwogICAgIFdURjo6RnVuY3Rpb248dm9pZCgpPiBtX2RldmljZUNo
YW5nZWRPYnNlcnZlcjsKKworICAgIEF1ZGlvQ2FwdHVyZUZhY3RvcnkqIG1fYXVkaW9DYXB0dXJl
RmFjdG9yeU92ZXJyaWRlIHsgbnVsbHB0ciB9OworICAgIFZpZGVvQ2FwdHVyZUZhY3RvcnkqIG1f
dmlkZW9DYXB0dXJlRmFjdG9yeU92ZXJyaWRlIHsgbnVsbHB0ciB9OworICAgIERpc3BsYXlDYXB0
dXJlRmFjdG9yeSogbV9kaXNwbGF5Q2FwdHVyZUZhY3RvcnlPdmVycmlkZSB7IG51bGxwdHIgfTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKaW5kZXgg
NGY1OWE2MGNjNGRmYzIzODEzODQ5MjZjMWJkYjVmZmQ4ZTVlZjM5Ny4uMjZkYjE5NTA3N2UzNmU5
ZTUwNDU4NGNmM2Q5OGE2ODliNGRkODAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKQEAgLTQ3
LDcgKzQ3LDcgQEAgUmVhbHRpbWVWaWRlb1NvdXJjZTo6UmVhbHRpbWVWaWRlb1NvdXJjZShTdHJp
bmcmJiBuYW1lLCBTdHJpbmcmJiBpZCwgU3RyaW5nJiYgaGEKIFJlYWx0aW1lVmlkZW9Tb3VyY2U6
On5SZWFsdGltZVZpZGVvU291cmNlKCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvRmFjdG9yeSgpLnVu
c2V0QWN0aXZlU291cmNlKCp0aGlzKTsKKyAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpz
aW5nbGV0b24oKS52aWRlb0NhcHR1cmVGYWN0b3J5KCkudW5zZXRBY3RpdmVTb3VyY2UoKnRoaXMp
OwogI2VuZGlmCiB9CiAKQEAgLTU2LDcgKzU2LDcgQEAgdm9pZCBSZWFsdGltZVZpZGVvU291cmNl
OjpwcmVwYXJlVG9Qcm9kdWNlRGF0YSgpCiAgICAgQVNTRVJUKGZyYW1lUmF0ZSgpKTsKIAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2lu
Z2xldG9uKCkudmlkZW9GYWN0b3J5KCkuc2V0QWN0aXZlU291cmNlKCp0aGlzKTsKKyAgICBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS52aWRlb0NhcHR1cmVGYWN0b3J5KCku
c2V0QWN0aXZlU291cmNlKCp0aGlzKTsKICNlbmRpZgogCiAgICAgaWYgKHNpemUoKS5pc0VtcHR5
KCkgJiYgIW1fZGVmYXVsdFNpemUuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJMaWJXZWJSVEMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0
cmVhbWVyL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJSVEMuY3BwCmluZGV4IDgxNmJh
MTE0Yzk3MjA2NmEzNTg5ZjFkNjk2YjlkOGQxMTRhYzZmMTguLmQzZjQ1YThjZTU5Y2Q3OGM5NGY2
MzYwYzEyOTM2ZWQxODY2ZGU4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2dzdHJlYW1lci9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRD
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIv
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5jcHAKQEAgLTIyLDcgKzIyLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFVTRShM
SUJXRUJSVEMpCi0jaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5o
IgorI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIKIAogI2luY2x1ZGUgIkdT
dHJlYW1lckF1ZGlvQ2FwdHVyZVNvdXJjZS5oIgogI2luY2x1ZGUgIkdTdHJlYW1lckNhcHR1cmVE
ZXZpY2UuaCIKQEAgLTMxLDM3ICszMSwyNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJSVEMmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJMaWJXZWJSVEM6OnNpbmdsZXRvbigpCitSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyJiBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKQogewogICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJMaWJXZWJSVEM+IGNlbnRlcjsKICAgICByZXR1cm4gY2VudGVyOwogfQogCi1SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyJiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpwbGF0Zm9ybUNl
bnRlcigpCi17Ci0gICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJSVEM6
OnNpbmdsZXRvbigpOwotfQotCi1SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDOjpS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDKCkKLXsKLX0KLQotUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlckxpYldlYlJUQzo6flJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJS
VEMoKQotewotfQotCi1BdWRpb0NhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyTGliV2ViUlRDOjphdWRpb0ZhY3RvcnlQcml2YXRlKCkKK0F1ZGlvQ2FwdHVyZUZhY3Rvcnkm
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmRlZmF1bHRBdWRpb0NhcHR1cmVGYWN0b3J5KCkK
IHsKICAgICByZXR1cm4gR1N0cmVhbWVyQXVkaW9DYXB0dXJlU291cmNlOjpmYWN0b3J5KCk7CiB9
CiAKLVZpZGVvQ2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJS
VEM6OnZpZGVvRmFjdG9yeVByaXZhdGUoKQorVmlkZW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6ZGVmYXVsdFZpZGVvQ2FwdHVyZUZhY3RvcnkoKQogewogICAgIHJl
dHVybiBHU3RyZWFtZXJWaWRlb0NhcHR1cmVTb3VyY2U6OmZhY3RvcnkoKTsKIH0KIAotRGlzcGxh
eUNhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDOjpkaXNw
bGF5Q2FwdHVyZUZhY3RvcnlQcml2YXRlKCkKK0Rpc3BsYXlDYXB0dXJlRmFjdG9yeSYgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVmYXVsdERpc3BsYXlDYXB0dXJlRmFjdG9yeSgpCiB7CiAg
ICAgcmV0dXJuIEdTdHJlYW1lclZpZGVvQ2FwdHVyZVNvdXJjZTo6ZGlzcGxheUZhY3RvcnkoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJl
YW1lci9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ckxpYldlYlJUQy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNWNjNjIyNGJhOWIw
MmYxMGZmMDliZWU1YzE5M2RiZmY2MTQ5MDcwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dz
dHJlYW1lci9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw1NCArMCwwIEBACi0gLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBNZXRyb2xvZ2lj
YWwgR3JvdXAgQi5WLgotICogQXV0aG9yOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2Fs
aWEuY29tPgotICogQXV0aG9yOiBBbGVqYW5kcm8gRy4gQ2FzdHJvIDxhbGV4QGlnYWxpYS5jb20+
Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhaW50IHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoTElCV0VCUlRD
KQotCi0jaW5jbHVkZSAiQ2FwdHVyZURldmljZU1hbmFnZXIuaCIKLSNpbmNsdWRlICJMaWJXZWJS
VENQcm92aWRlci5oIgotI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2UuaCIKLSNpbmNsdWRl
ICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCi0KLSNpbmNsdWRlIDx3ZWJydGMvYXBpL3Bl
ZXJjb25uZWN0aW9uaW50ZXJmYWNlLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJSVEMgZmluYWwgOiBwdWJsaWMgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlciB7Ci1wdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJSVEMmIHNpbmdsZXRvbigpOwotCi1wcml2
YXRlOgotICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyTGliV2ViUlRDPjsKLSAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRD
KCk7Ci0gICAgflJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJSVEMoKTsKLQotICAgIEF1
ZGlvQ2FwdHVyZUZhY3RvcnkmIGF1ZGlvRmFjdG9yeVByaXZhdGUoKSBmaW5hbDsKLSAgICBWaWRl
b0NhcHR1cmVGYWN0b3J5JiB2aWRlb0ZhY3RvcnlQcml2YXRlKCkgZmluYWw7Ci0gICAgRGlzcGxh
eUNhcHR1cmVGYWN0b3J5JiBkaXNwbGF5Q2FwdHVyZUZhY3RvcnlQcml2YXRlKCkgZmluYWw7Ci19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKSAmJiBVU0UoTElCV0VCUlRDKQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KaW5k
ZXggNTVlYmFjOGRjZjNkNjhlZWU4ZDFkYjlmZjhjZjliMWU5ZGMwNTMzOC4uOGRkNWJkY2Y2ZDRk
YTI1MDNhM2ZiMjYyZWJkZmRlZDczM2Y5YjU1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJj
ZS5tbQpAQCAtMzUsNyArMzUsNiBAQAogI2ltcG9ydCAiTWVkaWFDb25zdHJhaW50cy5oIgogI2lt
cG9ydCAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybUxheWVyLmgiCi0j
aW1wb3J0ICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgiCiAjaW1wb3J0ICJSZWFsdGlt
ZU1lZGlhU291cmNlU2V0dGluZ3MuaCIKICNpbXBvcnQgIlJlYWx0aW1lVmlkZW9VdGlsaXRpZXMu
aCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkNhcHR1cmVEZXZpY2UuaD4KQEAgLTE4Miw3ICsx
ODEsNyBAQCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6QVZWaWRlb0NhcHR1cmVTb3VyY2UoQVZDYXB0
dXJlRGV2aWNlVHlwZWRlZiogZGV2aWNlLCBTdHJpbgogQVZWaWRlb0NhcHR1cmVTb3VyY2U6On5B
VlZpZGVvQ2FwdHVyZVNvdXJjZSgpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS52aWRlb0ZhY3RvcnkoKS51bnNl
dEFjdGl2ZVNvdXJjZSgqdGhpcyk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2lu
Z2xldG9uKCkudmlkZW9DYXB0dXJlRmFjdG9yeSgpLnVuc2V0QWN0aXZlU291cmNlKCp0aGlzKTsK
ICNlbmRpZgogICAgIFttX29iamNPYnNlcnZlciBkaXNjb25uZWN0XTsKIApAQCAtNDM0LDcgKzQz
Myw3IEBAIEFWRnJhbWVSYXRlUmFuZ2VUeXBlKiBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6ZnJhbWVE
dXJhdGlvbkZvckZyYW1lUmF0ZShkb3VibGUgcmF0CiBib29sIEFWVmlkZW9DYXB0dXJlU291cmNl
OjpzZXR1cENhcHR1cmVTZXNzaW9uKCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvRmFjdG9yeSgpLnNl
dEFjdGl2ZVNvdXJjZSgqdGhpcyk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2lu
Z2xldG9uKCkudmlkZW9DYXB0dXJlRmFjdG9yeSgpLnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7CiAj
ZW5kaWYKIAogICAgIE5TRXJyb3IgKmVycm9yID0gbmlsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlU291cmNlQ29jb2Eu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0
dXJlU291cmNlQ29jb2EuY3BwCmluZGV4IDMzNzJmYTI3OTY2ODFkOWM4M2I2ZDJhMmEzMTIyZGNj
OTdhNzllNTYuLjBhMGY2MzQ2MDhmNWI4Yjc1M2Q0YjdmNWQ3Y2QyNmJjMTRmMzZkODUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2Fw
dHVyZVNvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKQEAgLTYyLDcgKzYyLDcgQEAg
RGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6RGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYShTdHJp
bmcmJiBuYW1lKQogRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6fkRpc3BsYXlDYXB0dXJlU291
cmNlQ29jb2EoKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9GYWN0b3J5KCkudW5zZXRBY3RpdmVTb3Vy
Y2UoKnRoaXMpOworICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZp
ZGVvQ2FwdHVyZUZhY3RvcnkoKS51bnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7CiAjZW5kaWYKIH0K
IApAQCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6c2V0
dGluZ3NEaWRDaGFuZ2UoT3B0aW9uU2V0PFJlYWx0aW1lTWVkaWFTb3VyY2VTCiB2b2lkIERpc3Bs
YXlDYXB0dXJlU291cmNlQ29jb2E6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiB7CiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKLSAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24o
KS52aWRlb0ZhY3RvcnkoKS5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOworICAgIFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvQ2FwdHVyZUZhY3RvcnkoKS5zZXRBY3Rp
dmVTb3VyY2UoKnRoaXMpOwogI2VuZGlmCiAKICAgICBtX3N0YXJ0VGltZSA9IE1vbm90b25pY1Rp
bWU6Om5vdygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3Bw
CmluZGV4IDlkM2NmYzFmZjZhNDgwM2IyNTFkMDExYThjYjFmN2YzZTUzZTQwYjAuLmMwYjQ5ZGU5
NDExZGZkMTg3OWE5MzMwNTYxNTc4ZDk0MWE2NmMxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFj
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAKQEAgLTI5LDEwICsyOSw5IEBACiAgKi8KIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIK
IAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0jaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck1hYy5oIgotCiAjaW5jbHVkZSAiQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oIgogI2lu
Y2x1ZGUgIkFWVmlkZW9DYXB0dXJlU291cmNlLmgiCiAjaW5jbHVkZSAiQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZS5oIgpAQCAtOTcsMzUgKzk2LDI1IEBAIHByaXZhdGU6CiAgICAgQ2FwdHVyZURldmlj
ZU1hbmFnZXImIGRpc3BsYXlDYXB0dXJlRGV2aWNlTWFuYWdlcigpIHsgcmV0dXJuIERpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hOjpzaW5nbGV0b24oKTsgfQogfTsKIAotUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck1hYyYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6c2luZ2xldG9uKCkK
K1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXImIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNp
bmdsZXRvbigpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYz4gY2VudGVyOworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyPiBjZW50ZXI7CiAg
ICAgcmV0dXJuIGNlbnRlcjsKIH0KIAotUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciYgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcjo6cGxhdGZvcm1DZW50ZXIoKQotewotICAgIHJldHVybiBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpzaW5nbGV0b24oKTsKLX0KLQotUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYzo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYygpID0gZGVmYXVs
dDsKLQotUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6flJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMoKSA9IGRlZmF1bHQ7Ci0KLQotQXVkaW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYzo6YXVkaW9GYWN0b3J5UHJpdmF0ZSgpCitBdWRpb0NhcHR1cmVG
YWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0QXVkaW9DYXB0dXJlRmFj
dG9yeSgpCiB7CiAgICAgcmV0dXJuIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmZhY3RvcnkoKTsK
IH0KIAotVmlkZW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6
dmlkZW9GYWN0b3J5UHJpdmF0ZSgpCitWaWRlb0NhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjpkZWZhdWx0VmlkZW9DYXB0dXJlRmFjdG9yeSgpCiB7CiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPFZpZGVvQ2FwdHVyZVNvdXJjZUZhY3RvcnlNYWM+IGZhY3Rvcnk7CiAg
ICAgcmV0dXJuIGZhY3RvcnkuZ2V0KCk7CiB9CiAKLURpc3BsYXlDYXB0dXJlRmFjdG9yeSYgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6ZGlzcGxheUNhcHR1cmVGYWN0b3J5UHJpdmF0ZSgp
CitEaXNwbGF5Q2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmRlZmF1
bHREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxE
aXNwbGF5Q2FwdHVyZVNvdXJjZUZhY3RvcnlNYWM+IGZhY3Rvcnk7CiAgICAgcmV0dXJuIGZhY3Rv
cnkuZ2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWIwNzA5MjJkMjdlYjNmOWM0N2QwZDcxN2RjMzI2
OGM5MGE3ODIwMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck1hYy5oCisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMy0yMDE4IEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqICAgIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAq
ICAgIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgRXJpY3Nzb24gbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKLSAqICAgIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
Ci0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2lmbmRlZiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjX2gKLSNkZWZpbmUgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hY19oCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW5j
bHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgotI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIuaCIKLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYyBmaW5hbCA6IHB1YmxpYyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
IHsKLXB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck1hYyYgc2luZ2xldG9uKCk7Ci0KLXByaXZhdGU6Ci0gICAgZnJpZW5kIGNsYXNzIE5l
dmVyRGVzdHJveWVkPFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM+OwotICAgIFJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMoKTsKLSAgICB+UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1h
YygpOwotCi0gICAgQXVkaW9DYXB0dXJlRmFjdG9yeSYgYXVkaW9GYWN0b3J5UHJpdmF0ZSgpIGZp
bmFsOwotICAgIFZpZGVvQ2FwdHVyZUZhY3RvcnkmIHZpZGVvRmFjdG9yeVByaXZhdGUoKSBmaW5h
bDsKLSAgICBEaXNwbGF5Q2FwdHVyZUZhY3RvcnkmIGRpc3BsYXlDYXB0dXJlRmFjdG9yeVByaXZh
dGUoKSBmaW5hbDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCi0KLSNlbmRpZiAvLyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
TWFjX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0
aW1lQXVkaW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVh
bHRpbWVBdWRpb1NvdXJjZS5jcHAKaW5kZXggZDQwNzU3ZTVmOTU1ZWI5ZWFiMGNhOTMwZDAyNmVl
NzQxZTVmN2Y3ZS4uZGM1YTJkNmU2NjBlNDBlZmM0MzczMDRmNzE2NGI1MDlkNzI3MTFkZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVBdWRpb1Nv
dXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVB
dWRpb1NvdXJjZS5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6
Ok1vY2tSZWFsdGltZUF1ZGlvU291cmNlKFN0cmluZyYmIGRldmljZUlELCBTdHJpbmcmJiBuYW0K
IE1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjp+TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UoKQogewog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6
c2luZ2xldG9uKCkuYXVkaW9GYWN0b3J5KCkudW5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOworICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3Rv
cnkoKS51bnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7CiAjZW5kaWYKIH0KIApAQCAtMTIwLDcgKzEy
MCw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6OnNldHRpbmdzRGlkQ2hhbmdlKE9w
dGlvblNldDxSZWFsdGltZU1lZGlhU291cmNlU2V0CiB2b2lkIE1vY2tSZWFsdGltZUF1ZGlvU291
cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEoKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0g
ICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9GYWN0b3J5KCku
c2V0QWN0aXZlU291cmNlKCp0aGlzKTsKKyAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpz
aW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5KCkuc2V0QWN0aXZlU291cmNlKCp0aGlzKTsK
ICNlbmRpZgogCiAgICAgaWYgKCFzYW1wbGVSYXRlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIu
Y3BwCmluZGV4IDc3YjYxZjkwYjI5Y2FhY2ViNjFlM2JlNGM4YzUwYTBjMWEwY2M0NGUuLjI3MTlk
MTViMmMzNGFjYzdhODY1MzVhOTAzNWQwZWRlZTY0ZjQzYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuY3BwCkBAIC0xOTQsMTggKzE5NCwxOCBAQCB2b2lkIE1vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpzZXRNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQoYm9vbAog
CiAgICAgaWYgKGFjdGl2ZSkgewogICAgICAgICBpZiAobW9jay5tX2lzTW9ja0F1ZGlvQ2FwdHVy
ZUVuYWJsZWQpCi0gICAgICAgICAgICBjZW50ZXIuc2V0QXVkaW9GYWN0b3J5KG1vY2suYXVkaW9G
YWN0b3J5KCkpOworICAgICAgICAgICAgY2VudGVyLnNldEF1ZGlvQ2FwdHVyZUZhY3RvcnkobW9j
ay5hdWRpb0NhcHR1cmVGYWN0b3J5KCkpOwogICAgICAgICBpZiAobW9jay5tX2lzTW9ja1ZpZGVv
Q2FwdHVyZUVuYWJsZWQpCi0gICAgICAgICAgICBjZW50ZXIuc2V0VmlkZW9GYWN0b3J5KG1vY2su
dmlkZW9GYWN0b3J5KCkpOworICAgICAgICAgICAgY2VudGVyLnNldFZpZGVvQ2FwdHVyZUZhY3Rv
cnkobW9jay52aWRlb0NhcHR1cmVGYWN0b3J5KCkpOwogICAgICAgICBpZiAobW9jay5tX2lzTW9j
a0Rpc3BsYXlDYXB0dXJlRW5hYmxlZCkKICAgICAgICAgICAgIGNlbnRlci5zZXREaXNwbGF5Q2Fw
dHVyZUZhY3RvcnkobW9jay5kaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKICAgICBpZiAobW9jay5tX2lzTW9ja0F1ZGlvQ2FwdHVyZUVuYWJsZWQpCi0g
ICAgICAgIGNlbnRlci51bnNldEF1ZGlvRmFjdG9yeShtb2NrLmF1ZGlvRmFjdG9yeSgpKTsKKyAg
ICAgICAgY2VudGVyLnVuc2V0QXVkaW9DYXB0dXJlRmFjdG9yeShtb2NrLmF1ZGlvQ2FwdHVyZUZh
Y3RvcnkoKSk7CiAgICAgaWYgKG1vY2subV9pc01vY2tWaWRlb0NhcHR1cmVFbmFibGVkKQotICAg
ICAgICBjZW50ZXIudW5zZXRWaWRlb0ZhY3RvcnkobW9jay52aWRlb0ZhY3RvcnkoKSk7CisgICAg
ICAgIGNlbnRlci51bnNldFZpZGVvQ2FwdHVyZUZhY3RvcnkobW9jay52aWRlb0NhcHR1cmVGYWN0
b3J5KCkpOwogICAgIGlmIChtb2NrLm1faXNNb2NrRGlzcGxheUNhcHR1cmVFbmFibGVkKQogICAg
ICAgICBjZW50ZXIudW5zZXREaXNwbGF5Q2FwdHVyZUZhY3RvcnkobW9jay5kaXNwbGF5Q2FwdHVy
ZUZhY3RvcnkoKSk7CiB9CkBAIC0zMzUsMTMgKzMzNSwxMyBAQCBWZWN0b3I8Q2FwdHVyZURldmlj
ZT4mIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkaXNwbGF5RGV2aWNlcygpCiAgICAg
cmV0dXJuIGRpc3BsYXlEZXZpY2VzOwogfQogCi1BdWRpb0NhcHR1cmVGYWN0b3J5JiBNb2NrUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6YXVkaW9GYWN0b3J5KCkKK0F1ZGlvQ2FwdHVyZUZhY3Rv
cnkmIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjphdWRpb0NhcHR1cmVGYWN0b3J5KCkK
IHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2VGYWN0
b3J5PiBmYWN0b3J5OwogICAgIHJldHVybiBmYWN0b3J5LmdldCgpOwogfQogCi1WaWRlb0NhcHR1
cmVGYWN0b3J5JiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dmlkZW9GYWN0b3J5KCkK
K1ZpZGVvQ2FwdHVyZUZhY3RvcnkmIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp2aWRl
b0NhcHR1cmVGYWN0b3J5KCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TW9ja1JlYWx0
aW1lVmlkZW9Tb3VyY2VGYWN0b3J5PiBmYWN0b3J5OwogICAgIHJldHVybiBmYWN0b3J5LmdldCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCmluZGV4IDdjMTgyYmE1ZTU3NmNhMzBkYzRhNDMwNjJm
MjZlNjhkZTU1ZjZmODQuLjYwNTkwODc2NDQ4Y2M4Zjc1YTlkNTgzN2MwNjM5NGE4ZjQwMDdkNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKQEAgLTY2LDggKzY2LDggQEAgcHJpdmF0ZToKICAg
ICBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpID0gZGVmYXVsdDsKICAgICBmcmllbmQg
TmV2ZXJEZXN0cm95ZWQ8TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI+OwogCi0gICAgQXVk
aW9DYXB0dXJlRmFjdG9yeSYgYXVkaW9GYWN0b3J5KCk7Ci0gICAgVmlkZW9DYXB0dXJlRmFjdG9y
eSYgdmlkZW9GYWN0b3J5KCk7CisgICAgQXVkaW9DYXB0dXJlRmFjdG9yeSYgYXVkaW9DYXB0dXJl
RmFjdG9yeSgpOworICAgIFZpZGVvQ2FwdHVyZUZhY3RvcnkmIHZpZGVvQ2FwdHVyZUZhY3Rvcnko
KTsKICAgICBEaXNwbGF5Q2FwdHVyZUZhY3RvcnkmIGRpc3BsYXlDYXB0dXJlRmFjdG9yeSgpOwog
CiAgICAgY2xhc3MgTW9ja0F1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIgZmluYWwgOiBwdWJsaWMg
Q2FwdHVyZURldmljZU1hbmFnZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAppbmRleCBh
ZjgzYjYzODc5Y2FhMzU0YjNjYzA5MTQzM2U4MTUyMzliNTFhZWZhLi5jMjZlYzBhMjhiNGFkZGUx
MDljOGZlNGFmZThmNGZmZjkzNjE5N2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcApA
QCAtMTM2LDE2ICsxMzYsMTYgQEAgdm9pZCBVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5Ojpj
cmVhdGVNZWRpYVNvdXJjZUZvckNhcHR1cmVEZXZpY2VXaXRoQ29uc3RyYWkKICAgICBDYXB0dXJl
U291cmNlT3JFcnJvciBzb3VyY2VPckVycm9yOwogICAgIHN3aXRjaCAoZGV2aWNlLnR5cGUoKSkg
ewogICAgIGNhc2UgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWljcm9waG9u
ZToKLSAgICAgICAgc291cmNlT3JFcnJvciA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmF1
ZGlvRmFjdG9yeSgpLmNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShkZXZpY2UsIFdURk1vdmUoaGFz
aFNhbHQpLCAmY29uc3RyYWludHMpOworICAgICAgICBzb3VyY2VPckVycm9yID0gUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9yeSgpLmNyZWF0
ZUF1ZGlvQ2FwdHVyZVNvdXJjZShkZXZpY2UsIFdURk1vdmUoaGFzaFNhbHQpLCAmY29uc3RyYWlu
dHMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGU6OkNhbWVyYToKLSAgICAgICAgc291cmNlT3JFcnJvciA9IFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXI6OnZpZGVvRmFjdG9yeSgpLmNyZWF0ZVZpZGVvQ2FwdHVyZVNvdXJjZShkZXZp
Y2UsIFdURk1vdmUoaGFzaFNhbHQpLCAmY29uc3RyYWludHMpOworICAgICAgICBzb3VyY2VPckVy
cm9yID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9DYXB0dXJl
RmFjdG9yeSgpLmNyZWF0ZVZpZGVvQ2FwdHVyZVNvdXJjZShkZXZpY2UsIFdURk1vdmUoaGFzaFNh
bHQpLCAmY29uc3RyYWludHMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYkNvcmU6OkNh
cHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbjoKICAgICBjYXNlIFdlYkNvcmU6OkNhcHR1
cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoKICAgICBjYXNlIFdlYkNvcmU6OkNhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OkFwcGxpY2F0aW9uOgogICAgIGNhc2UgV2ViQ29yZTo6Q2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZTo6QnJvd3NlcjoKLSAgICAgICAgc291cmNlT3JFcnJvciA9IFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmRpc3BsYXlDYXB0dXJlRmFjdG9yeSgpLmNyZWF0ZURp
c3BsYXlDYXB0dXJlU291cmNlKGRldmljZSwgJmNvbnN0cmFpbnRzKTsKKyAgICAgICAgc291cmNl
T3JFcnJvciA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmRpc3BsYXlD
YXB0dXJlRmFjdG9yeSgpLmNyZWF0ZURpc3BsYXlDYXB0dXJlU291cmNlKGRldmljZSwgJmNvbnN0
cmFpbnRzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNl
OjpEZXZpY2VUeXBlOjpVbmtub3duOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9Vc2VyTWVkaWFDYXB0dXJl
TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvVXNlck1lZGlhQ2Fw
dHVyZU1hbmFnZXIuY3BwCmluZGV4IDFjZDg2NDFjNThkYWNkNjkzMGQwNWY2MDNhMTZjM2ZkNGRh
YTY4MWMuLjg0Zjk5ZWE4MDA1MDYzZTFlNTE3YjlkODdlNWIwODA4MDA1YTI5MTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1VzZXJNZWRpYUNhcHR1
cmVNYW5hZ2VyLmNwcApAQCAtMjA2LDkgKzIwNiw5IEBAIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlcihXZWJQcm9jZXNzJiBwcm9jZXNzKQogCiBVc2VyTWVk
aWFDYXB0dXJlTWFuYWdlcjo6flVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyKCkKIHsKLSAgICBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjp1bnNldEF1ZGlvRmFjdG9yeSgqdGhpcyk7Ci0gICAgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dW5zZXREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKnRoaXMp
OwotICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnVuc2V0VmlkZW9GYWN0b3J5KCp0aGlz
KTsKKyAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS51bnNldEF1ZGlv
Q2FwdHVyZUZhY3RvcnkoKnRoaXMpOworICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNp
bmdsZXRvbigpLnVuc2V0RGlzcGxheUNhcHR1cmVGYWN0b3J5KCp0aGlzKTsKKyAgICBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS51bnNldFZpZGVvQ2FwdHVyZUZhY3Rvcnko
KnRoaXMpOwogICAgIG1fcHJvY2Vzcy5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlVz
ZXJNZWRpYUNhcHR1cmVNYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpOwogfQogCkBAIC0y
MjQsMTEgKzIyNCwxMSBAQCB2b2lkIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyOjppbml0aWFsaXpl
KGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcgogICAgIE1vY2tSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5zZXRNb2NrRGlzcGxheUNhcHR1cmVFbmFi
bGVkKCFwYXJhbWV0ZXJzLnNob3VsZENhcHR1cmVEaXNwbGF5SW5VSVByb2Nlc3MpOwogCiAgICAg
aWYgKHBhcmFtZXRlcnMuc2hvdWxkQ2FwdHVyZUF1ZGlvSW5VSVByb2Nlc3MpCi0gICAgICAgIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNldEF1ZGlvRmFjdG9yeSgqdGhpcyk7CisgICAgICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnNldEF1ZGlvQ2FwdHVyZUZh
Y3RvcnkoKnRoaXMpOwogICAgIGlmIChwYXJhbWV0ZXJzLnNob3VsZENhcHR1cmVWaWRlb0luVUlQ
cm9jZXNzKQotICAgICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzZXRWaWRlb0ZhY3Rv
cnkoKnRoaXMpOworICAgICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24o
KS5zZXRWaWRlb0NhcHR1cmVGYWN0b3J5KCp0aGlzKTsKICAgICBpZiAocGFyYW1ldGVycy5zaG91
bGRDYXB0dXJlRGlzcGxheUluVUlQcm9jZXNzKQotICAgICAgICBSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyOjpzZXREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKnRoaXMpOworICAgICAgICBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5zZXREaXNwbGF5Q2FwdHVyZUZhY3Rvcnko
KnRoaXMpOwogfQogCiBXZWJDb3JlOjpDYXB0dXJlU291cmNlT3JFcnJvciBVc2VyTWVkaWFDYXB0
dXJlTWFuYWdlcjo6Y3JlYXRlQ2FwdHVyZVNvdXJjZShjb25zdCBDYXB0dXJlRGV2aWNlJiBkZXZp
Y2UsIFN0cmluZyYmIGhhc2hTYWx0LCBjb25zdCBXZWJDb3JlOjpNZWRpYUNvbnN0cmFpbnRzKiBj
b25zdHJhaW50cykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357007</attachid>
            <date>2018-12-10 15:30:38 -0800</date>
            <delta_ts>2018-12-10 19:46:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192546-20181210153037.patch</filename>
            <type>text/plain</type>
            <size>44545</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE4MWQ3MzM0OTFmZWY1
YWZhOWMzN2VlODIwMjI1ZGNhODRmNGFmZS4uM2FhMGU4Y2VhMDM1MTQ0Y2NlYWZjOTVlODE0MTI2
NDZiZjViOTJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE4LTEyLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgZGVyaXZlZCBj
bGFzc2VzIG9mIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjU0NgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB2aXJ0dWFsIG1ldGhvZHMgb2YgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlciBhbmQgcmVtb3ZlIGRlcml2ZWQgY2xhc3NlcyBvZiBpdC4K
KyAgICAgICAgSW5zdGVhZCBwb3J0IHNwZWNpZmljIGltcGxlbWVudGF0aW9uIGRpcmVjdGx5IGlt
cGxlbWVudCB0aGUgbmVlZGVkIGRlZmF1bHQgZmFjdG9yeSBtZXRob2RzLgorCisgICAgICAgIFJl
bmFtZWQgc29tZSBtZXRob2RzIGZvciBpbXByb3ZlZCBjb25zaXN0ZW5jeS4KKyAgICAgICAgTW92
ZWQgc29tZSBzdGF0aWMgdmFyaWFibGVzIGFzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIgbWVt
YmVycy4KKworICAgICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFnZS9EZXByZWNhdGVk
R2xvYmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6UmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Z2V0TWVkaWFTdHJlYW1EZXZpY2VzKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmdldFVzZXJNZWRpYURldmljZXMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0VmlkZW9D
YXB0dXJlUGFnZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXI6OnNldEF1ZGlvRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjp1bnNldEF1ZGlvRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjphdWRpb0NhcHR1cmVGYWN0b3J5KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNldFZpZGVvRmFjdG9yeSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp1bnNldFZpZGVvRmFjdG9y
eSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp2aWRlb0Nh
cHR1cmVGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXI6OnNldERpc3BsYXlDYXB0dXJlRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyOjp1bnNldERpc3BsYXlDYXB0dXJlRmFjdG9yeSk6CisgICAgICAg
IChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkaXNwbGF5Q2FwdHVyZUZhY3Rv
cnkpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvU291
cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lVmlkZW9Tb3VyY2U6On5SZWFsdGlt
ZVZpZGVvU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lVmlkZW9Tb3VyY2U6OnBy
ZXBhcmVUb1Byb2R1Y2VEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVmYXVsdEF1ZGlvQ2FwdHVyZUZh
Y3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVm
YXVsdFZpZGVvQ2FwdHVyZUZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlcjo6ZGVmYXVsdERpc3BsYXlDYXB0dXJlRmFjdG9yeSk6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJM
aWJXZWJSVEMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
QVZWaWRlb0NhcHR1cmVTb3VyY2UubW06CisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVy
ZVNvdXJjZTo6fkFWVmlkZW9DYXB0dXJlU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkFWVmlk
ZW9DYXB0dXJlU291cmNlOjpzZXR1cENhcHR1cmVTZXNzaW9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjp+RGlzcGxheUNhcHR1cmVTb3Vy
Y2VDb2NvYSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjpz
dGFydFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0QXVkaW9DYXB0dXJlRmFjdG9yeSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0VmlkZW9DYXB0
dXJlRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
OjpkZWZhdWx0RGlzcGxheUNhcHR1cmVGYWN0b3J5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oOiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2U6On5Nb2NrUmVhbHRpbWVBdWRpb1Nv
dXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6c3RhcnRQ
cm9kdWNpbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpzZXRNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmF1ZGlvQ2FwdHVy
ZUZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXI6OnZpZGVvQ2FwdHVyZUZhY3RvcnkpOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoKKwogMjAxOC0xMi0xMCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBtb2NrIGNhcHR1cmUgaGFwcGVuIGlu
IHRoZSBwcm9jZXNzIHVzZWQgZm9yIHJlYWwgY2FwdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkM2NhZjNjZjli
YTk1YmNmYThlOTQ0MDc0NGU1N2YxMzAxYTU1YTM4Li5iODhmYzI3YjgwNGEwMWUxNTc4NjY1ZWFl
MzZkNGZiZDU4OGIxNjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTEyLTEwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgZGVyaXZl
ZCBjbGFzc2VzIG9mIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjU0NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHBkYXRlIGNvZGUgYWNjb3JkaW5nIFdlYkNv
cmUgY2hhbmdlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJl
TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFn
ZXJQcm94eTo6Y3JlYXRlTWVkaWFTb3VyY2VGb3JDYXB0dXJlRGV2aWNlV2l0aENvbnN0cmFpbnRz
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXI6On5Vc2VyTWVkaWFD
YXB0dXJlTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
Ojppbml0aWFsaXplKToKKwogMjAxOC0xMi0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTWFrZSBtb2NrIGNhcHR1cmUgaGFwcGVuIGluIHRoZSBwcm9jZXNz
IHVzZWQgZm9yIHJlYWwgY2FwdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDVmNmM3MzAzMTUwZGMwY2YzZjRmNDIxMDBmNDQ2
NWNkYTQ4NmM0ZmYuLmRmMmM5NTVmMDE5YWUxMGNhNWE2ZDU4ODcxODM0MGY0ZGE0ZmRhNjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTEzNTAsNyArMTM1MCw2IEBACiAJCTRBMERBMkZGMTI5QjI0MTkwMEFCNjFFMSAvKiBGb3Jt
QXNzb2NpYXRlZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDRBMERBMkZEMTI5QjI0MTkwMEFCNjFFMSAvKiBGb3JtQXNzb2NpYXRlZEVsZW1l
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
QTBGRkE5RTFBQUY1RTdFMDA2MjgwM0IgLyogTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBMEZGQTlD
MUFBRjVFNkMwMDYyODAzQiAvKiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRBMEZGQUEyMUFB
RjVFQTIwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTBGRkFBMDFBQUY1RUEyMDA2Mjgw
M0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTRBMEZGQUE2MUFBRjVFRjYwMDYyODAzQiAvKiBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0QTBGRkFBNDFBQUY1RUY2MDA2MjgwM0IgLyogUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTRBMzhCRjUxMTRGRTFDMDkwMDYxMjUxMiAvKiBXZWJTb2NrZXREZWZs
YXRlRnJhbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0QTM4QkY0RjE0RkUxQzA5MDA2MTI1MTIgLyogV2ViU29ja2V0RGVmbGF0ZUZyYW1lci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRBNEY0OEFB
MTZCMERGQzAwMEVEQkIyOSAvKiBEb2N1bWVudFJ1bGVTZXRzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTRGNDhBODE2QjBERkMwMDBFREJCMjkgLyog
RG9jdW1lbnRSdWxlU2V0cy5oICovOyB9OwogCQk0QTRGNjU3MTFBQTk5N0YxMDBFMzhDREQgLyog
UmVhbHRpbWVNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNEE0RjY1NkMxQUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3Vy
Y2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
Nzg0Niw3ICs3ODQ1LDYgQEAKIAkJNEEwRkZBOUYxQUFGNUVBMjAwNjI4MDNCIC8qIFJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTRBMEZGQUEwMUFBRjVFQTIwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEEwRkZBQTMxQUFGNUVG
NjAwNjI4MDNCIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTRBMEZGQUE0MUFBRjVFRjYwMDYyODAz
QiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNEEzOEJGNEUxNEZFMUMwOTAwNjEyNTEyIC8qIFdlYlNvY2tldERl
ZmxhdGVGcmFtZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
U29ja2V0RGVmbGF0ZUZyYW1lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRB
MzhCRjRGMTRGRTFDMDkwMDYxMjUxMiAvKiBXZWJTb2NrZXREZWZsYXRlRnJhbWVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNvY2tldERlZmxhdGVGcmFtZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEE0RjQ4QTcxNkIwREZDMDAwRURCQjI5IC8qIERv
Y3VtZW50UnVsZVNldHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RG9jdW1lbnRSdWxlU2V0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTY2
OSw3ICsxNTY2Nyw2IEBACiAJCQkJNUNERDgzM0ExRTQzMjRCQjAwNjIxRTgzIC8qIFJlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLmggKi8sCiAJCQkJNUNERDgzMzkxRTQzMjRCQjAwNjIx
RTgzIC8qIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovLAogCQkJCTRBMEZG
QUEzMUFBRjVFRjYwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcCAq
LywKLQkJCQk0QTBGRkFBNDFBQUY1RUY2MDA2MjgwM0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlck1hYy5oICovLAogCQkJCTQxMTAzQUE3MUUzOTc5MEEwMDc2OUYxNCAvKiBSZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi8sCiAJCQkJNDExMDNBQTgxRTM5NzkwQTAwNzY5
RjE0IC8qIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmggKi8sCiAJCQkJNUNERDgz
M0IxRTQzMjRCQjAwNjIxQjgzIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNw
cCAqLywKQEAgLTMwNTM2LDcgKzMwNTMzLDYgQEAKIAkJCQk0QTRGNjU3MTFBQTk5N0YxMDBFMzhD
REQgLyogUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE0RjY1NzIx
QUE5OTdGMTAwRTM4Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTRBMEZGQUEyMUFBRjVFQTIwMDYyODAzQiAvKiBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0QTBGRkFBNjFBQUY1RUY2MDA2Mjgw
M0IgLyogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MDc1NEE1RUEyMTVFQTNCODAwMkQzQTk5IC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3NDFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVN
ZWRpYVNvdXJjZVNldHRpbmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0MxQzBFNTFCRkI2MEVE
MDBCRDIyNTYgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4g
SGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGVwcmVjYXRlZEds
b2JhbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGVwcmVjYXRlZEdsb2JhbFNl
dHRpbmdzLmNwcAppbmRleCBmMzUwYjQ2ZmFmMjZkZmY2NTViOTM4NzEzZDAzMzVjNTBmOWI3MjYy
Li5mNDk5NWQzODcwYzJiZGEwNmUxM2YwMTlmOWRlNWVjMjAzMDU5ZWZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuY3BwCkBAIC0zNCw5ICsz
NCw2IEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICNpbmNsdWRlICJNb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5oIgogCi0jaWYgVVNFKEFWRk9VTkRBVElPTikKLSNpbmNsdWRlICJS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgiCi0jZW5kaWYKICNlbmRpZgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCmluZGV4IGQ2N2Ux
Mjc3NDRiZjVjYjM0YzUyZDk1YTBlNmRlOTBlNTRmYjI3MWMuLjI5MGIzMTE4MTUwMzc0MTU1MDZm
NTc4OWM5NjFmZmQ0YWJiMTFlMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3Bw
CkBAIC00MiwxMCArNDIsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0KIFJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXImIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigp
CiB7Ci0gICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnBsYXRmb3JtQ2VudGVy
KCk7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcj4gY2VudGVyOworICAgIHJldHVybiBjZW50ZXI7
CiB9CiAKIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIoKQpAQCAtNjgsNyArNjksNyBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmNy
ZWF0ZU1lZGlhU3RyZWFtKE5ld01lZGlhU3RyZWFtSGFuZGxlciYmIGNvbXBsZQogICAgIFN0cmlu
ZyBpbnZhbGlkQ29uc3RyYWludDsKIAogICAgIGlmIChhdWRpb0RldmljZSkgewotICAgICAgICBh
dXRvIGF1ZGlvU291cmNlID0gYXVkaW9GYWN0b3J5KCkuY3JlYXRlQXVkaW9DYXB0dXJlU291cmNl
KFdURk1vdmUoYXVkaW9EZXZpY2UpLCBTdHJpbmcgeyBoYXNoU2FsdCB9LCAmcmVxdWVzdC5hdWRp
b0NvbnN0cmFpbnRzKTsKKyAgICAgICAgYXV0byBhdWRpb1NvdXJjZSA9IGF1ZGlvQ2FwdHVyZUZh
Y3RvcnkoKS5jcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UoV1RGTW92ZShhdWRpb0RldmljZSksIFN0
cmluZyB7IGhhc2hTYWx0IH0sICZyZXF1ZXN0LmF1ZGlvQ29uc3RyYWludHMpOwogICAgICAgICBp
ZiAoYXVkaW9Tb3VyY2UpCiAgICAgICAgICAgICBhdWRpb1NvdXJjZXMuYXBwZW5kKGF1ZGlvU291
cmNlLnNvdXJjZSgpKTsKICAgICAgICAgZWxzZSB7CkBAIC04NCw3ICs4NSw3IEBAIHZvaWQgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0oTmV3TWVkaWFTdHJlYW1I
YW5kbGVyJiYgY29tcGxlCiAgICAgaWYgKHZpZGVvRGV2aWNlKSB7CiAgICAgICAgIENhcHR1cmVT
b3VyY2VPckVycm9yIHZpZGVvU291cmNlOwogICAgICAgICBpZiAodmlkZW9EZXZpY2UudHlwZSgp
ID09IENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkNhbWVyYSkKLSAgICAgICAgICAgIHZpZGVv
U291cmNlID0gdmlkZW9GYWN0b3J5KCkuY3JlYXRlVmlkZW9DYXB0dXJlU291cmNlKFdURk1vdmUo
dmlkZW9EZXZpY2UpLCBXVEZNb3ZlKGhhc2hTYWx0KSwgJnJlcXVlc3QudmlkZW9Db25zdHJhaW50
cyk7CisgICAgICAgICAgICB2aWRlb1NvdXJjZSA9IHZpZGVvQ2FwdHVyZUZhY3RvcnkoKS5jcmVh
dGVWaWRlb0NhcHR1cmVTb3VyY2UoV1RGTW92ZSh2aWRlb0RldmljZSksIFdURk1vdmUoaGFzaFNh
bHQpLCAmcmVxdWVzdC52aWRlb0NvbnN0cmFpbnRzKTsKICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgdmlkZW9Tb3VyY2UgPSBkaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVEaXNwbGF5Q2Fw
dHVyZVNvdXJjZShXVEZNb3ZlKHZpZGVvRGV2aWNlKSwgJnJlcXVlc3QudmlkZW9Db25zdHJhaW50
cyk7CiAKQEAgLTEwNiwxMSArMTA3LDExIEBAIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
cjo6Y3JlYXRlTWVkaWFTdHJlYW0oTmV3TWVkaWFTdHJlYW1IYW5kbGVyJiYgY29tcGxlCiBWZWN0
b3I8Q2FwdHVyZURldmljZT4gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Z2V0TWVkaWFTdHJl
YW1EZXZpY2VzKCkKIHsKICAgICBWZWN0b3I8Q2FwdHVyZURldmljZT4gcmVzdWx0OwotICAgIGZv
ciAoYXV0byYgZGV2aWNlIDogYXVkaW9GYWN0b3J5KCkuYXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdl
cigpLmNhcHR1cmVEZXZpY2VzKCkpIHsKKyAgICBmb3IgKGF1dG8mIGRldmljZSA6IGF1ZGlvQ2Fw
dHVyZUZhY3RvcnkoKS5hdWRpb0NhcHR1cmVEZXZpY2VNYW5hZ2VyKCkuY2FwdHVyZURldmljZXMo
KSkgewogICAgICAgICBpZiAoZGV2aWNlLmVuYWJsZWQoKSkKICAgICAgICAgICAgIHJlc3VsdC5h
cHBlbmQoZGV2aWNlKTsKICAgICB9Ci0gICAgZm9yIChhdXRvJiBkZXZpY2UgOiB2aWRlb0ZhY3Rv
cnkoKS52aWRlb0NhcHR1cmVEZXZpY2VNYW5hZ2VyKCkuY2FwdHVyZURldmljZXMoKSkgeworICAg
IGZvciAoYXV0byYgZGV2aWNlIDogdmlkZW9DYXB0dXJlRmFjdG9yeSgpLnZpZGVvQ2FwdHVyZURl
dmljZU1hbmFnZXIoKS5jYXB0dXJlRGV2aWNlcygpKSB7CiAgICAgICAgIGlmIChkZXZpY2UuZW5h
YmxlZCgpKQogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChkZXZpY2UpOwogICAgIH0KQEAgLTE5
MSwxMSArMTkyLDExIEBAIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Z2V0VXNlck1l
ZGlhRGV2aWNlcyhjb25zdCBNZWRpYVN0cmVhbVJlcXVlc3QmIHJlCiB7CiAgICAgU3RyaW5nIGlu
dmFsaWRDb25zdHJhaW50OwogICAgIGlmIChyZXF1ZXN0LmF1ZGlvQ29uc3RyYWludHMuaXNWYWxp
ZCkgewotICAgICAgICBmb3IgKGF1dG8mIGRldmljZSA6IGF1ZGlvRmFjdG9yeSgpLmF1ZGlvQ2Fw
dHVyZURldmljZU1hbmFnZXIoKS5jYXB0dXJlRGV2aWNlcygpKSB7CisgICAgICAgIGZvciAoYXV0
byYgZGV2aWNlIDogYXVkaW9DYXB0dXJlRmFjdG9yeSgpLmF1ZGlvQ2FwdHVyZURldmljZU1hbmFn
ZXIoKS5jYXB0dXJlRGV2aWNlcygpKSB7CiAgICAgICAgICAgICBpZiAoIWRldmljZS5lbmFibGVk
KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgIGF1dG8gc291cmNl
T3JFcnJvciA9IGF1ZGlvRmFjdG9yeSgpLmNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShkZXZpY2Us
IFN0cmluZyB7IGhhc2hTYWx0IH0sIHsgfSk7CisgICAgICAgICAgICBhdXRvIHNvdXJjZU9yRXJy
b3IgPSBhdWRpb0NhcHR1cmVGYWN0b3J5KCkuY3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKGRldmlj
ZSwgU3RyaW5nIHsgaGFzaFNhbHQgfSwgeyB9KTsKICAgICAgICAgICAgIGlmIChzb3VyY2VPckVy
cm9yICYmIHNvdXJjZU9yRXJyb3IuY2FwdHVyZVNvdXJjZS0+c3VwcG9ydHNDb25zdHJhaW50cyhy
ZXF1ZXN0LmF1ZGlvQ29uc3RyYWludHMsIGludmFsaWRDb25zdHJhaW50KSkKICAgICAgICAgICAg
ICAgICBhdWRpb0RldmljZUluZm8uYXBwZW5kKHtzb3VyY2VPckVycm9yLmNhcHR1cmVTb3VyY2Ut
PmZpdG5lc3NTY29yZSgpLCBkZXZpY2V9KTsKIApAQCAtMjA1LDExICsyMDYsMTEgQEAgdm9pZCBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpnZXRVc2VyTWVkaWFEZXZpY2VzKGNvbnN0IE1lZGlh
U3RyZWFtUmVxdWVzdCYgcmUKICAgICB9CiAKICAgICBpZiAocmVxdWVzdC52aWRlb0NvbnN0cmFp
bnRzLmlzVmFsaWQpIHsKLSAgICAgICAgZm9yIChhdXRvJiBkZXZpY2UgOiB2aWRlb0ZhY3Rvcnko
KS52aWRlb0NhcHR1cmVEZXZpY2VNYW5hZ2VyKCkuY2FwdHVyZURldmljZXMoKSkgeworICAgICAg
ICBmb3IgKGF1dG8mIGRldmljZSA6IHZpZGVvQ2FwdHVyZUZhY3RvcnkoKS52aWRlb0NhcHR1cmVE
ZXZpY2VNYW5hZ2VyKCkuY2FwdHVyZURldmljZXMoKSkgewogICAgICAgICAgICAgaWYgKCFkZXZp
Y2UuZW5hYmxlZCgpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBh
dXRvIHNvdXJjZU9yRXJyb3IgPSB2aWRlb0ZhY3RvcnkoKS5jcmVhdGVWaWRlb0NhcHR1cmVTb3Vy
Y2UoZGV2aWNlLCBTdHJpbmcgeyBoYXNoU2FsdCB9LCB7IH0pOworICAgICAgICAgICAgYXV0byBz
b3VyY2VPckVycm9yID0gdmlkZW9DYXB0dXJlRmFjdG9yeSgpLmNyZWF0ZVZpZGVvQ2FwdHVyZVNv
dXJjZShkZXZpY2UsIFN0cmluZyB7IGhhc2hTYWx0IH0sIHsgfSk7CiAgICAgICAgICAgICBpZiAo
c291cmNlT3JFcnJvciAmJiBzb3VyY2VPckVycm9yLmNhcHR1cmVTb3VyY2UtPnN1cHBvcnRzQ29u
c3RyYWludHMocmVxdWVzdC52aWRlb0NvbnN0cmFpbnRzLCBpbnZhbGlkQ29uc3RyYWludCkpCiAg
ICAgICAgICAgICAgICAgdmlkZW9EZXZpY2VJbmZvLmFwcGVuZCh7c291cmNlT3JFcnJvci5jYXB0
dXJlU291cmNlLT5maXRuZXNzU2NvcmUoKSwgZGV2aWNlfSk7CiAKQEAgLTI2Myw4MSArMjY0LDU3
IEBAIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dmFsaWRhdGVSZXF1ZXN0Q29uc3Ry
YWludHMoVmFsaWRDb25zdHJhaW50c0hhbmRsCiAKIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlcjo6c2V0VmlkZW9DYXB0dXJlUGFnZVN0YXRlKGJvb2wgaW50ZXJydXB0ZWQsIGJvb2wgcGFn
ZU11dGVkKQogewotICAgIHZpZGVvRmFjdG9yeSgpLnNldFZpZGVvQ2FwdHVyZVBhZ2VTdGF0ZShp
bnRlcnJ1cHRlZCwgcGFnZU11dGVkKTsKKyAgICB2aWRlb0NhcHR1cmVGYWN0b3J5KCkuc2V0Vmlk
ZW9DYXB0dXJlUGFnZVN0YXRlKGludGVycnVwdGVkLCBwYWdlTXV0ZWQpOwogfQogCi1zdGQ6Om9w
dGlvbmFsPENhcHR1cmVEZXZpY2U+IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmNhcHR1cmVE
ZXZpY2VXaXRoUGVyc2lzdGVudElEKENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUgdHlwZSwgY29u
c3QgU3RyaW5nJiBpZCkKK3ZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0QXVkaW9D
YXB0dXJlRmFjdG9yeShBdWRpb0NhcHR1cmVGYWN0b3J5JiBmYWN0b3J5KQogewotICAgIHN3aXRj
aCAodHlwZSkgewotICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhOgot
ICAgICAgICByZXR1cm4gdmlkZW9GYWN0b3J5KCkudmlkZW9DYXB0dXJlRGV2aWNlTWFuYWdlcigp
LmNhcHR1cmVEZXZpY2VXaXRoUGVyc2lzdGVudElEKHR5cGUsIGlkKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25lOgotICAgICAg
ICByZXR1cm4gYXVkaW9GYWN0b3J5KCkuYXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpLmNhcHR1
cmVEZXZpY2VXaXRoUGVyc2lzdGVudElEKHR5cGUsIGlkKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW46Ci0gICAgY2FzZSBDYXB0dXJl
RGV2aWNlOjpEZXZpY2VUeXBlOjpBcHBsaWNhdGlvbjoKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6
OkRldmljZVR5cGU6OldpbmRvdzoKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OkJyb3dzZXI6Ci0gICAgICAgIHJldHVybiBkaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKS5kaXNwbGF5
Q2FwdHVyZURldmljZU1hbmFnZXIoKS5jYXB0dXJlRGV2aWNlV2l0aFBlcnNpc3RlbnRJRCh0eXBl
LCBpZCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlw
ZTo6VW5rbm93bjoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFr
OwotICAgIH0KLQotICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgbV9hdWRpb0NhcHR1cmVG
YWN0b3J5T3ZlcnJpZGUgPSAmZmFjdG9yeTsKIH0KIAotc3RhdGljIEF1ZGlvQ2FwdHVyZUZhY3Rv
cnkqIGF1ZGlvRmFjdG9yeU92ZXJyaWRlOwotdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
OjpzZXRBdWRpb0ZhY3RvcnkoQXVkaW9DYXB0dXJlRmFjdG9yeSYgZmFjdG9yeSkKK3ZvaWQgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dW5zZXRBdWRpb0NhcHR1cmVGYWN0b3J5KEF1ZGlvQ2Fw
dHVyZUZhY3RvcnkmIG9sZE92ZXJyaWRlKQogewotICAgIGF1ZGlvRmFjdG9yeU92ZXJyaWRlID0g
JmZhY3Rvcnk7Ci19Ci12b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnVuc2V0QXVkaW9G
YWN0b3J5KEF1ZGlvQ2FwdHVyZUZhY3RvcnkmIG9sZE92ZXJyaWRlKQotewotICAgIEFTU0VSVF9V
TlVTRUQob2xkT3ZlcnJpZGUsIGF1ZGlvRmFjdG9yeU92ZXJyaWRlID09ICZvbGRPdmVycmlkZSk7
Ci0gICAgaWYgKCZvbGRPdmVycmlkZSA9PSBhdWRpb0ZhY3RvcnlPdmVycmlkZSkKLSAgICAgICAg
YXVkaW9GYWN0b3J5T3ZlcnJpZGUgPSBudWxscHRyOworICAgIEFTU0VSVF9VTlVTRUQob2xkT3Zl
cnJpZGUsIG1fYXVkaW9DYXB0dXJlRmFjdG9yeU92ZXJyaWRlID09ICZvbGRPdmVycmlkZSk7Cisg
ICAgaWYgKCZvbGRPdmVycmlkZSA9PSBtX2F1ZGlvQ2FwdHVyZUZhY3RvcnlPdmVycmlkZSkKKyAg
ICAgICAgbV9hdWRpb0NhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgPSBudWxscHRyOwogfQogCi1BdWRp
b0NhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjphdWRpb0ZhY3Rvcnko
KQorQXVkaW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6YXVkaW9D
YXB0dXJlRmFjdG9yeSgpCiB7Ci0gICAgcmV0dXJuIGF1ZGlvRmFjdG9yeU92ZXJyaWRlID8gKmF1
ZGlvRmFjdG9yeU92ZXJyaWRlIDogUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9u
KCkuYXVkaW9GYWN0b3J5UHJpdmF0ZSgpOworICAgIHJldHVybiBtX2F1ZGlvQ2FwdHVyZUZhY3Rv
cnlPdmVycmlkZSA/ICptX2F1ZGlvQ2FwdHVyZUZhY3RvcnlPdmVycmlkZSA6IGRlZmF1bHRBdWRp
b0NhcHR1cmVGYWN0b3J5KCk7CiB9CiAKLXN0YXRpYyBWaWRlb0NhcHR1cmVGYWN0b3J5KiB2aWRl
b0ZhY3RvcnlPdmVycmlkZTsKLXZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0Vmlk
ZW9GYWN0b3J5KFZpZGVvQ2FwdHVyZUZhY3RvcnkmIGZhY3RvcnkpCit2b2lkIFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OnNldFZpZGVvQ2FwdHVyZUZhY3RvcnkoVmlkZW9DYXB0dXJlRmFjdG9y
eSYgZmFjdG9yeSkKIHsKLSAgICB2aWRlb0ZhY3RvcnlPdmVycmlkZSA9ICZmYWN0b3J5OworICAg
IG1fdmlkZW9DYXB0dXJlRmFjdG9yeU92ZXJyaWRlID0gJmZhY3Rvcnk7CiB9Ci12b2lkIFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnVuc2V0VmlkZW9GYWN0b3J5KFZpZGVvQ2FwdHVyZUZhY3Rv
cnkmIG9sZE92ZXJyaWRlKQordm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp1bnNldFZp
ZGVvQ2FwdHVyZUZhY3RvcnkoVmlkZW9DYXB0dXJlRmFjdG9yeSYgb2xkT3ZlcnJpZGUpCiB7Ci0g
ICAgQVNTRVJUX1VOVVNFRChvbGRPdmVycmlkZSwgdmlkZW9GYWN0b3J5T3ZlcnJpZGUgPT0gJm9s
ZE92ZXJyaWRlKTsKLSAgICBpZiAoJm9sZE92ZXJyaWRlID09IHZpZGVvRmFjdG9yeU92ZXJyaWRl
KQotICAgICAgICB2aWRlb0ZhY3RvcnlPdmVycmlkZSA9IG51bGxwdHI7CisgICAgQVNTRVJUX1VO
VVNFRChvbGRPdmVycmlkZSwgbV92aWRlb0NhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgPT0gJm9sZE92
ZXJyaWRlKTsKKyAgICBpZiAoJm9sZE92ZXJyaWRlID09IG1fdmlkZW9DYXB0dXJlRmFjdG9yeU92
ZXJyaWRlKQorICAgICAgICBtX3ZpZGVvQ2FwdHVyZUZhY3RvcnlPdmVycmlkZSA9IG51bGxwdHI7
CiB9CiAKLVZpZGVvQ2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnZp
ZGVvRmFjdG9yeSgpCitWaWRlb0NhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyOjp2aWRlb0NhcHR1cmVGYWN0b3J5KCkKIHsKLSAgICByZXR1cm4gdmlkZW9GYWN0b3J5T3Zl
cnJpZGUgPyAqdmlkZW9GYWN0b3J5T3ZlcnJpZGUgOiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
OjpzaW5nbGV0b24oKS52aWRlb0ZhY3RvcnlQcml2YXRlKCk7CisgICAgcmV0dXJuIG1fdmlkZW9D
YXB0dXJlRmFjdG9yeU92ZXJyaWRlID8gKm1fdmlkZW9DYXB0dXJlRmFjdG9yeU92ZXJyaWRlIDog
ZGVmYXVsdFZpZGVvQ2FwdHVyZUZhY3RvcnkoKTsKIH0KIAotc3RhdGljIERpc3BsYXlDYXB0dXJl
RmFjdG9yeSogZGlzcGxheUNhcHR1cmVGYWN0b3J5T3ZlcnJpZGU7CiB2b2lkIFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OnNldERpc3BsYXlDYXB0dXJlRmFjdG9yeShEaXNwbGF5Q2FwdHVyZUZh
Y3RvcnkmIGZhY3RvcnkpCiB7Ci0gICAgZGlzcGxheUNhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgPSAm
ZmFjdG9yeTsKKyAgICBtX2Rpc3BsYXlDYXB0dXJlRmFjdG9yeU92ZXJyaWRlID0gJmZhY3Rvcnk7
CiB9CisKIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dW5zZXREaXNwbGF5Q2FwdHVy
ZUZhY3RvcnkoRGlzcGxheUNhcHR1cmVGYWN0b3J5JiBvbGRPdmVycmlkZSkKIHsKLSAgICBBU1NF
UlRfVU5VU0VEKG9sZE92ZXJyaWRlLCBkaXNwbGF5Q2FwdHVyZUZhY3RvcnlPdmVycmlkZSA9PSAm
b2xkT3ZlcnJpZGUpOwotICAgIGlmICgmb2xkT3ZlcnJpZGUgPT0gZGlzcGxheUNhcHR1cmVGYWN0
b3J5T3ZlcnJpZGUpCi0gICAgICAgIGRpc3BsYXlDYXB0dXJlRmFjdG9yeU92ZXJyaWRlID0gbnVs
bHB0cjsKKyAgICBBU1NFUlRfVU5VU0VEKG9sZE92ZXJyaWRlLCBtX2Rpc3BsYXlDYXB0dXJlRmFj
dG9yeU92ZXJyaWRlID09ICZvbGRPdmVycmlkZSk7CisgICAgaWYgKCZvbGRPdmVycmlkZSA9PSBt
X2Rpc3BsYXlDYXB0dXJlRmFjdG9yeU92ZXJyaWRlKQorICAgICAgICBtX2Rpc3BsYXlDYXB0dXJl
RmFjdG9yeU92ZXJyaWRlID0gbnVsbHB0cjsKIH0KIAogRGlzcGxheUNhcHR1cmVGYWN0b3J5JiBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKQogewotICAg
IHJldHVybiBkaXNwbGF5Q2FwdHVyZUZhY3RvcnlPdmVycmlkZSA/ICpkaXNwbGF5Q2FwdHVyZUZh
Y3RvcnlPdmVycmlkZSA6IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmRp
c3BsYXlDYXB0dXJlRmFjdG9yeVByaXZhdGUoKTsKKyAgICByZXR1cm4gbV9kaXNwbGF5Q2FwdHVy
ZUZhY3RvcnlPdmVycmlkZSA/ICptX2Rpc3BsYXlDYXB0dXJlRmFjdG9yeU92ZXJyaWRlIDogZGVm
YXVsdERpc3BsYXlDYXB0dXJlRmFjdG9yeSgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKaW5kZXggYmIwZGVmMmU1ZWYzNGE1ZGUyNWRk
MjRlODZiMzBkM2Q4YzBkMzNkZC4uM2JiMjU5NGJiMDkxZDM2Mzc3NjFkYjlhNGRkMTIzMzM4MjE2
OTgyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaApAQCAtNTUsMzQgKzU1LDMyIEBA
IHN0cnVjdCBNZWRpYUNvbnN0cmFpbnRzOwogICAgIAogY2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIm
IHBsYXRmb3JtQ2VudGVyKCk7Ci0gICAgdmlydHVhbCB+UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
cigpOworICAgIH5SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCk7CiAKICAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciYgc2luZ2xldG9uKCk7CiAKICAg
ICB1c2luZyBWYWxpZENvbnN0cmFpbnRzSGFuZGxlciA9IFdURjo6RnVuY3Rpb248dm9pZChWZWN0
b3I8Q2FwdHVyZURldmljZT4mJiBhdWRpb0RldmljZVVJRHMsIFZlY3RvcjxDYXB0dXJlRGV2aWNl
PiYmIHZpZGVvRGV2aWNlVUlEcywgU3RyaW5nJiYpPjsKICAgICB1c2luZyBJbnZhbGlkQ29uc3Ry
YWludHNIYW5kbGVyID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IFN0cmluZyYgaW52YWxpZENv
bnN0cmFpbnQpPjsKLSAgICB2aXJ0dWFsIHZvaWQgdmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMo
VmFsaWRDb25zdHJhaW50c0hhbmRsZXImJiwgSW52YWxpZENvbnN0cmFpbnRzSGFuZGxlciYmLCBj
b25zdCBNZWRpYVN0cmVhbVJlcXVlc3QmLCBTdHJpbmcmJik7CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCB2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhWYWxpZENvbnN0cmFpbnRzSGFuZGxlciYm
LCBJbnZhbGlkQ29uc3RyYWludHNIYW5kbGVyJiYsIGNvbnN0IE1lZGlhU3RyZWFtUmVxdWVzdCYs
IFN0cmluZyYmKTsKIAogICAgIHVzaW5nIE5ld01lZGlhU3RyZWFtSGFuZGxlciA9IFdURjo6RnVu
Y3Rpb248dm9pZChSZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPiYmKT47Ci0gICAgdmlydHVhbCB2
b2lkIGNyZWF0ZU1lZGlhU3RyZWFtKE5ld01lZGlhU3RyZWFtSGFuZGxlciYmLCBTdHJpbmcmJiwg
Q2FwdHVyZURldmljZSYmIGF1ZGlvRGV2aWNlLCBDYXB0dXJlRGV2aWNlJiYgdmlkZW9EZXZpY2Us
IGNvbnN0IE1lZGlhU3RyZWFtUmVxdWVzdCYpOworICAgIHZvaWQgY3JlYXRlTWVkaWFTdHJlYW0o
TmV3TWVkaWFTdHJlYW1IYW5kbGVyJiYsIFN0cmluZyYmLCBDYXB0dXJlRGV2aWNlJiYgYXVkaW9E
ZXZpY2UsIENhcHR1cmVEZXZpY2UmJiB2aWRlb0RldmljZSwgY29uc3QgTWVkaWFTdHJlYW1SZXF1
ZXN0Jik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBWZWN0b3I8Q2FwdHVyZURldmljZT4gZ2V0TWVk
aWFTdHJlYW1EZXZpY2VzKCk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RkOjpvcHRpb25hbDxDYXB0
dXJlRGV2aWNlPiBjYXB0dXJlRGV2aWNlV2l0aFBlcnNpc3RlbnRJRChDYXB0dXJlRGV2aWNlOjpE
ZXZpY2VUeXBlLCBjb25zdCBTdHJpbmcmKTsKLSAgICAKKwogICAgIGNvbnN0IFJlYWx0aW1lTWVk
aWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cyYgc3VwcG9ydGVkQ29uc3RyYWludHMoKSB7IHJl
dHVybiBtX3N1cHBvcnRlZENvbnN0cmFpbnRzOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgQXVkaW9DYXB0dXJlRmFjdG9yeSYgYXVkaW9GYWN0b3J5KCk7Ci0gICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIHZvaWQgc2V0QXVkaW9GYWN0b3J5KEF1ZGlvQ2FwdHVyZUZhY3RvcnkmKTsKLSAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCB1bnNldEF1ZGlvRmFjdG9yeShBdWRpb0NhcHR1
cmVGYWN0b3J5Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgQXVkaW9DYXB0dXJlRmFjdG9yeSYgYXVk
aW9DYXB0dXJlRmFjdG9yeSgpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QXVkaW9DYXB0
dXJlRmFjdG9yeShBdWRpb0NhcHR1cmVGYWN0b3J5Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCB1bnNldEF1ZGlvQ2FwdHVyZUZhY3RvcnkoQXVkaW9DYXB0dXJlRmFjdG9yeSYpOwogCi0gICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIFZpZGVvQ2FwdHVyZUZhY3RvcnkmIHZpZGVvRmFjdG9yeSgp
OwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFZpZGVvRmFjdG9yeShWaWRlb0Nh
cHR1cmVGYWN0b3J5Jik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgdW5zZXRWaWRl
b0ZhY3RvcnkoVmlkZW9DYXB0dXJlRmFjdG9yeSYpOworICAgIFdFQkNPUkVfRVhQT1JUIFZpZGVv
Q2FwdHVyZUZhY3RvcnkmIHZpZGVvQ2FwdHVyZUZhY3RvcnkoKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldFZpZGVvQ2FwdHVyZUZhY3RvcnkoVmlkZW9DYXB0dXJlRmFjdG9yeSYpOworICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgdW5zZXRWaWRlb0NhcHR1cmVGYWN0b3J5KFZpZGVvQ2FwdHVy
ZUZhY3RvcnkmKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBEaXNwbGF5Q2FwdHVyZUZh
Y3RvcnkmIGRpc3BsYXlDYXB0dXJlRmFjdG9yeSgpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyB2b2lkIHNldERpc3BsYXlDYXB0dXJlRmFjdG9yeShEaXNwbGF5Q2FwdHVyZUZhY3RvcnkmKTsK
LSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCB1bnNldERpc3BsYXlDYXB0dXJlRmFjdG9y
eShEaXNwbGF5Q2FwdHVyZUZhY3RvcnkmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBEaXNwbGF5Q2Fw
dHVyZUZhY3RvcnkmIGRpc3BsYXlDYXB0dXJlRmFjdG9yeSgpOworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0RGlzcGxheUNhcHR1cmVGYWN0b3J5KERpc3BsYXlDYXB0dXJlRmFjdG9yeSYpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdW5zZXREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoRGlzcGxh
eUNhcHR1cmVGYWN0b3J5Jik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgaGFzaFN0cmlu
Z1dpdGhTYWx0KGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmluZyYgaGFzaFNhbHQpOwogCkBA
IC05MiwxNiArOTAsMTQgQEAgcHVibGljOgogCiAgICAgdm9pZCBjYXB0dXJlRGV2aWNlc0NoYW5n
ZWQoKTsKIAotcHJvdGVjdGVkOgorcHJpdmF0ZToKICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyKCk7CisgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVzdHJveWVkPFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXI+OwogCi0gICAgUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRz
IG1fc3VwcG9ydGVkQ29uc3RyYWludHM7Ci0KLSAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIEF1
ZGlvQ2FwdHVyZUZhY3RvcnkmIGF1ZGlvRmFjdG9yeVByaXZhdGUoKSA9IDA7Ci0gICAgV0VCQ09S
RV9FWFBPUlQgdmlydHVhbCBWaWRlb0NhcHR1cmVGYWN0b3J5JiB2aWRlb0ZhY3RvcnlQcml2YXRl
KCkgPSAwOwotICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgRGlzcGxheUNhcHR1cmVGYWN0b3J5
JiBkaXNwbGF5Q2FwdHVyZUZhY3RvcnlQcml2YXRlKCkgPSAwOworICAgIEF1ZGlvQ2FwdHVyZUZh
Y3RvcnkmIGRlZmF1bHRBdWRpb0NhcHR1cmVGYWN0b3J5KCk7CisgICAgVmlkZW9DYXB0dXJlRmFj
dG9yeSYgZGVmYXVsdFZpZGVvQ2FwdHVyZUZhY3RvcnkoKTsKKyAgICBEaXNwbGF5Q2FwdHVyZUZh
Y3RvcnkmIGRlZmF1bHREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKTsKIAotcHJpdmF0ZToKICAgICBz
dHJ1Y3QgRGV2aWNlSW5mbyB7CiAgICAgICAgIHVuc2lnbmVkIGZpdG5lc3NTY29yZTsKICAgICAg
ICAgQ2FwdHVyZURldmljZSBkZXZpY2U7CkBAIC0xMTAsNyArMTA2LDEzIEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBnZXREaXNwbGF5TWVkaWFEZXZpY2VzKGNvbnN0IE1lZGlhU3RyZWFtUmVxdWVzdCYs
IFZlY3RvcjxEZXZpY2VJbmZvPiYsIFN0cmluZyYpOwogICAgIHZvaWQgZ2V0VXNlck1lZGlhRGV2
aWNlcyhjb25zdCBNZWRpYVN0cmVhbVJlcXVlc3QmLCBTdHJpbmcmJiwgVmVjdG9yPERldmljZUlu
Zm8+JiBhdWRpb0RldmljZXMsIFZlY3RvcjxEZXZpY2VJbmZvPiYgdmlkZW9EZXZpY2VzLCBTdHJp
bmcmKTsKIAorICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cyBtX3N1
cHBvcnRlZENvbnN0cmFpbnRzOworCiAgICAgV1RGOjpGdW5jdGlvbjx2b2lkKCk+IG1fZGV2aWNl
Q2hhbmdlZE9ic2VydmVyOworCisgICAgQXVkaW9DYXB0dXJlRmFjdG9yeSogbV9hdWRpb0NhcHR1
cmVGYWN0b3J5T3ZlcnJpZGUgeyBudWxscHRyIH07CisgICAgVmlkZW9DYXB0dXJlRmFjdG9yeSog
bV92aWRlb0NhcHR1cmVGYWN0b3J5T3ZlcnJpZGUgeyBudWxscHRyIH07CisgICAgRGlzcGxheUNh
cHR1cmVGYWN0b3J5KiBtX2Rpc3BsYXlDYXB0dXJlRmFjdG9yeU92ZXJyaWRlIHsgbnVsbHB0ciB9
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmNwcAppbmRl
eCA0ZjU5YTYwY2M0ZGZjMjM4MTM4NDkyNmMxYmRiNWZmZDhlNWVmMzk3Li4yNmRiMTk1MDc3ZTM2
ZTllNTA0NTg0Y2YzZDk4YTY4OWI0ZGQ4MDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmNwcApAQCAt
NDcsNyArNDcsNyBAQCBSZWFsdGltZVZpZGVvU291cmNlOjpSZWFsdGltZVZpZGVvU291cmNlKFN0
cmluZyYmIG5hbWUsIFN0cmluZyYmIGlkLCBTdHJpbmcmJiBoYQogUmVhbHRpbWVWaWRlb1NvdXJj
ZTo6flJlYWx0aW1lVmlkZW9Tb3VyY2UoKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0g
ICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9GYWN0b3J5KCku
dW5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOworICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6
OnNpbmdsZXRvbigpLnZpZGVvQ2FwdHVyZUZhY3RvcnkoKS51bnNldEFjdGl2ZVNvdXJjZSgqdGhp
cyk7CiAjZW5kaWYKIH0KIApAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFJlYWx0aW1lVmlkZW9Tb3Vy
Y2U6OnByZXBhcmVUb1Byb2R1Y2VEYXRhKCkKICAgICBBU1NFUlQoZnJhbWVSYXRlKCkpOwogCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpz
aW5nbGV0b24oKS52aWRlb0ZhY3RvcnkoKS5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOworICAgIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvQ2FwdHVyZUZhY3Rvcnko
KS5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOwogI2VuZGlmCiAKICAgICBpZiAoc2l6ZSgpLmlzRW1w
dHkoKSAmJiAhbV9kZWZhdWx0U2l6ZS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlckxpYldlYlJUQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9n
c3RyZWFtZXIvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5jcHAKaW5kZXggODE2
YmExMTRjOTcyMDY2YTM1ODlmMWQ2OTZiOWQ4ZDExNGFjNmYxOC4uMjgwZWQ5NGI4YWVkZDIyYzZk
N2MwMjdlY2Q4Yzg1ZDZhODI5YzViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJS
VEMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1l
ci9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDLmNwcApAQCAtMjIsNyArMjIsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNF
KExJQldFQlJUQykKLSNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRD
LmgiCisjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIgogCiAjaW5jbHVkZSAi
R1N0cmVhbWVyQXVkaW9DYXB0dXJlU291cmNlLmgiCiAjaW5jbHVkZSAiR1N0cmVhbWVyQ2FwdHVy
ZURldmljZS5oIgpAQCAtMzEsMzcgKzMxLDE3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQyYgUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlckxpYldlYlJUQzo6c2luZ2xldG9uKCkKLXsKLSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkp
OwotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGli
V2ViUlRDPiBjZW50ZXI7Ci0gICAgcmV0dXJuIGNlbnRlcjsKLX0KLQotUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlciYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6cGxhdGZvcm1DZW50ZXIoKQot
ewotICAgIHJldHVybiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDOjpzaW5nbGV0
b24oKTsKLX0KLQotUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQzo6UmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQygpCi17Ci19Ci0KLVJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJMaWJXZWJSVEM6On5SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDKCkKLXsK
LX0KLQotQXVkaW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldl
YlJUQzo6YXVkaW9GYWN0b3J5UHJpdmF0ZSgpCitBdWRpb0NhcHR1cmVGYWN0b3J5JiBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyOjpkZWZhdWx0QXVkaW9DYXB0dXJlRmFjdG9yeSgpCiB7CiAgICAg
cmV0dXJuIEdTdHJlYW1lckF1ZGlvQ2FwdHVyZVNvdXJjZTo6ZmFjdG9yeSgpOwogfQogCi1WaWRl
b0NhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDOjp2aWRl
b0ZhY3RvcnlQcml2YXRlKCkKK1ZpZGVvQ2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXI6OmRlZmF1bHRWaWRlb0NhcHR1cmVGYWN0b3J5KCkKIHsKICAgICByZXR1cm4gR1N0
cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlOjpmYWN0b3J5KCk7CiB9CiAKLURpc3BsYXlDYXB0dXJl
RmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQzo6ZGlzcGxheUNhcHR1
cmVGYWN0b3J5UHJpdmF0ZSgpCitEaXNwbGF5Q2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXI6OmRlZmF1bHREaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKQogewogICAgIHJldHVy
biBHU3RyZWFtZXJWaWRlb0NhcHR1cmVTb3VyY2U6OmRpc3BsYXlGYWN0b3J5KCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJMaWJXZWJS
VEMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzVjYzYyMjRiYTliMDJmMTBmZjA5
YmVlNWMxOTNkYmZmNjE0OTA3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIv
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQy5oCisrKyAvZGV2L251bGwKQEAgLTEs
NTQgKzAsMCBAQAotIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggTWV0cm9sb2dpY2FsIEdyb3Vw
IEIuVi4KLSAqIEF1dGhvcjogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4K
LSAqIEF1dGhvcjogQWxlamFuZHJvIEcuIENhc3RybyA8YWxleEBpZ2FsaWEuY29tPgotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWludCB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKExJQldFQlJUQykKLQotI2lu
Y2x1ZGUgIkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgiCi0jaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlk
ZXIuaCIKLSNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCi0jaW5jbHVkZSAiUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5oIgotCi0jaW5jbHVkZSA8d2VicnRjL2FwaS9wZWVyY29ubmVj
dGlvbmludGVyZmFjZS5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDIGZpbmFsIDogcHVibGljIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIgewotcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDJiBzaW5nbGV0b24oKTsKLQotcHJpdmF0ZToKLSAg
ICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxp
YldlYlJUQz47Ci0gICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckxpYldlYlJUQygpOwotICAg
IH5SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTGliV2ViUlRDKCk7Ci0KLSAgICBBdWRpb0NhcHR1
cmVGYWN0b3J5JiBhdWRpb0ZhY3RvcnlQcml2YXRlKCkgZmluYWw7Ci0gICAgVmlkZW9DYXB0dXJl
RmFjdG9yeSYgdmlkZW9GYWN0b3J5UHJpdmF0ZSgpIGZpbmFsOwotICAgIERpc3BsYXlDYXB0dXJl
RmFjdG9yeSYgZGlzcGxheUNhcHR1cmVGYWN0b3J5UHJpdmF0ZSgpIGZpbmFsOwotfTsKLQotfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYg
VVNFKExJQldFQlJUQykKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCmluZGV4IDU1ZWJh
YzhkY2YzZDY4ZWVlOGQxZGI5ZmY4Y2Y5YjFlOWRjMDUzMzguLjk0MTA1ODc3MzZjNjljOWRjZjFk
ZTE0NmQ1ZmViOGRjZmQ4YzgwYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KQEAg
LTM1LDcgKzM1LDcgQEAKICNpbXBvcnQgIk1lZGlhQ29uc3RyYWludHMuaCIKICNpbXBvcnQgIk1l
ZGlhU2FtcGxlQVZGT2JqQy5oIgogI2ltcG9ydCAiUGxhdGZvcm1MYXllci5oIgotI2ltcG9ydCAi
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oIgorI2ltcG9ydCAiUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlci5oIgogI2ltcG9ydCAiUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzLmgiCiAj
aW1wb3J0ICJSZWFsdGltZVZpZGVvVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24v
QVZDYXB0dXJlRGV2aWNlLmg+CkBAIC0xODIsNyArMTgyLDcgQEAgQVZWaWRlb0NhcHR1cmVTb3Vy
Y2U6OkFWVmlkZW9DYXB0dXJlU291cmNlKEFWQ2FwdHVyZURldmljZVR5cGVkZWYqIGRldmljZSwg
U3RyaW4KIEFWVmlkZW9DYXB0dXJlU291cmNlOjp+QVZWaWRlb0NhcHR1cmVTb3VyY2UoKQogewog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6
c2luZ2xldG9uKCkudmlkZW9GYWN0b3J5KCkudW5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOworICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvQ2FwdHVyZUZhY3Rv
cnkoKS51bnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7CiAjZW5kaWYKICAgICBbbV9vYmpjT2JzZXJ2
ZXIgZGlzY29ubmVjdF07CiAKQEAgLTQzNCw3ICs0MzQsNyBAQCBBVkZyYW1lUmF0ZVJhbmdlVHlw
ZSogQVZWaWRlb0NhcHR1cmVTb3VyY2U6OmZyYW1lRHVyYXRpb25Gb3JGcmFtZVJhdGUoZG91Ymxl
IHJhdAogYm9vbCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6c2V0dXBDYXB0dXJlU2Vzc2lvbigpCiB7
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
OjpzaW5nbGV0b24oKS52aWRlb0ZhY3RvcnkoKS5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOworICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZpZGVvQ2FwdHVyZUZhY3Rv
cnkoKS5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOwogI2VuZGlmCiAKICAgICBOU0Vycm9yICplcnJv
ciA9IG5pbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAppbmRleCAz
MzcyZmEyNzk2NjgxZDljODNiNmQyYTJhMzEyMmRjYzk3YTc5ZTU2Li4wYTBmNjM0NjA4ZjViOGI3
NTNkNGI3ZjVkN2NkMjZiYzE0ZjM2ZDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlU291
cmNlQ29jb2EuY3BwCkBAIC02Miw3ICs2Miw3IEBAIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6
OkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EoU3RyaW5nJiYgbmFtZSkKIERpc3BsYXlDYXB0dXJl
U291cmNlQ29jb2E6On5EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hKCkKIHsKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigp
LnZpZGVvRmFjdG9yeSgpLnVuc2V0QWN0aXZlU291cmNlKCp0aGlzKTsKKyAgICBSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS52aWRlb0NhcHR1cmVGYWN0b3J5KCkudW5zZXRB
Y3RpdmVTb3VyY2UoKnRoaXMpOwogI2VuZGlmCiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2b2lk
IERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OnNldHRpbmdzRGlkQ2hhbmdlKE9wdGlvblNldDxS
ZWFsdGltZU1lZGlhU291cmNlUwogdm9pZCBEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjpzdGFy
dFByb2R1Y2luZ0RhdGEoKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9GYWN0b3J5KCkuc2V0QWN0aXZl
U291cmNlKCp0aGlzKTsKKyAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24o
KS52aWRlb0NhcHR1cmVGYWN0b3J5KCkuc2V0QWN0aXZlU291cmNlKCp0aGlzKTsKICNlbmRpZgog
CiAgICAgbV9zdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcAppbmRleCA5ZDNjZmMxZmY2YTQ4MDNiMjUx
ZDAxMWE4Y2IxZjdmM2U1M2U0MGIwLi44NmRkOGViYzNlOWY2MTc5OGM3NjUzMDI4MDdkNjA0NjI3
YTM1MzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3Bw
CkBAIC0yOSwxMCArMjksOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQotI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaCIKLQogI2luY2x1ZGUg
IkFWQ2FwdHVyZURldmljZU1hbmFnZXIuaCIKICNpbmNsdWRlICJBVlZpZGVvQ2FwdHVyZVNvdXJj
ZS5oIgogI2luY2x1ZGUgIkNvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaCIKQEAgLTk3LDM1ICs5Niwx
OCBAQCBwcml2YXRlOgogICAgIENhcHR1cmVEZXZpY2VNYW5hZ2VyJiBkaXNwbGF5Q2FwdHVyZURl
dmljZU1hbmFnZXIoKSB7IHJldHVybiBEaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYTo6c2luZ2xl
dG9uKCk7IH0KIH07CiAKLVJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMmIFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJNYWM6OnNpbmdsZXRvbigpCi17Ci0gICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck1hYz4gY2VudGVyOwotICAgIHJldHVybiBjZW50ZXI7Ci19Ci0KLVJlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXImIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnBsYXRmb3JtQ2VudGVyKCkKLXsK
LSAgICByZXR1cm4gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6c2luZ2xldG9uKCk7Ci19
Ci0KLVJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJNYWMoKSA9IGRlZmF1bHQ7Ci0KLVJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6On5SZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTWFjKCkgPSBkZWZhdWx0OwotCi0KLUF1ZGlvQ2FwdHVyZUZh
Y3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmF1ZGlvRmFjdG9yeVByaXZhdGUo
KQorQXVkaW9DYXB0dXJlRmFjdG9yeSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVmYXVs
dEF1ZGlvQ2FwdHVyZUZhY3RvcnkoKQogewogICAgIHJldHVybiBDb3JlQXVkaW9DYXB0dXJlU291
cmNlOjpmYWN0b3J5KCk7CiB9CiAKLVZpZGVvQ2FwdHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJNYWM6OnZpZGVvRmFjdG9yeVByaXZhdGUoKQorVmlkZW9DYXB0dXJlRmFjdG9y
eSYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGVmYXVsdFZpZGVvQ2FwdHVyZUZhY3Rvcnko
KQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWaWRlb0NhcHR1cmVTb3VyY2VGYWN0b3J5
TWFjPiBmYWN0b3J5OwogICAgIHJldHVybiBmYWN0b3J5LmdldCgpOwogfQogCi1EaXNwbGF5Q2Fw
dHVyZUZhY3RvcnkmIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmRpc3BsYXlDYXB0dXJl
RmFjdG9yeVByaXZhdGUoKQorRGlzcGxheUNhcHR1cmVGYWN0b3J5JiBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpkZWZhdWx0RGlzcGxheUNhcHR1cmVGYWN0b3J5KCkKIHsKICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8RGlzcGxheUNhcHR1cmVTb3VyY2VGYWN0b3J5TWFjPiBmYWN0b3J5Owog
ICAgIHJldHVybiBmYWN0b3J5LmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyTWFjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViMDcwOTIyZDI3ZWIz
ZjljNDdkMGQ3MTdkYzMyNjhjOTBhNzgyMDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDYxICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxOCBBcHBsZSwgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
Ci0gKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKiAzLiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEVyaWNzc29uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotICogICAgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
Ci0gKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
LSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpZm5kZWYgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hY19oCi0j
ZGVmaW5lIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWNfaAotCi0jaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKLQotI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2UuaCIKLSNpbmNsdWRlICJS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgiCi0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNs
YXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMgZmluYWwgOiBwdWJsaWMgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlciB7Ci1wdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMmIHNpbmdsZXRvbigpOwotCi1wcml2YXRlOgotICAg
IGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFj
PjsKLSAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjKCk7Ci0gICAgflJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJNYWMoKTsKLQotICAgIEF1ZGlvQ2FwdHVyZUZhY3RvcnkmIGF1ZGlvRmFj
dG9yeVByaXZhdGUoKSBmaW5hbDsKLSAgICBWaWRlb0NhcHR1cmVGYWN0b3J5JiB2aWRlb0ZhY3Rv
cnlQcml2YXRlKCkgZmluYWw7Ci0gICAgRGlzcGxheUNhcHR1cmVGYWN0b3J5JiBkaXNwbGF5Q2Fw
dHVyZUZhY3RvcnlQcml2YXRlKCkgZmluYWw7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jZW5kaWYgLy8gUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hY19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01vY2tSZWFsdGltZUF1ZGlvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwCmluZGV4IGQ0MDc1N2U1Zjk1NWVi
OWVhYjBjYTkzMGQwMjZlZTc0MWU1ZjdmN2UuLmRjNWEyZDZlNjYwZTQwZWZjNDM3MzA0ZjcxNjRi
NTA5ZDcyNzExZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9j
a1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTW9ja1JlYWx0aW1lQXVkaW9Tb3VyY2UuY3BwCkBAIC03Miw3ICs3Miw3IEBAIE1vY2tSZWFs
dGltZUF1ZGlvU291cmNlOjpNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZShTdHJpbmcmJiBkZXZpY2VJ
RCwgU3RyaW5nJiYgbmFtCiBNb2NrUmVhbHRpbWVBdWRpb1NvdXJjZTo6fk1vY2tSZWFsdGltZUF1
ZGlvU291cmNlKCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvRmFjdG9yeSgpLnVuc2V0QWN0aXZlU291
cmNlKCp0aGlzKTsKKyAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5h
dWRpb0NhcHR1cmVGYWN0b3J5KCkudW5zZXRBY3RpdmVTb3VyY2UoKnRoaXMpOwogI2VuZGlmCiB9
CiAKQEAgLTEyMCw3ICsxMjAsNyBAQCB2b2lkIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlOjpzZXR0
aW5nc0RpZENoYW5nZShPcHRpb25TZXQ8UmVhbHRpbWVNZWRpYVNvdXJjZVNldAogdm9pZCBNb2Nr
UmVhbHRpbWVBdWRpb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKIHsKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigp
LmF1ZGlvRmFjdG9yeSgpLnNldEFjdGl2ZVNvdXJjZSgqdGhpcyk7CisgICAgUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9yeSgpLnNldEFjdGl2
ZVNvdXJjZSgqdGhpcyk7CiAjZW5kaWYKIAogICAgIGlmICghc2FtcGxlUmF0ZSgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyLmNwcAppbmRleCA3N2I2MWY5MGIyOWNhYWNlYjYxZTNiZTRjOGM1MGEw
YzFhMGNjNDRlLi4yNzE5ZDE1YjJjMzRhY2M3YTg2NTM1YTkwMzVkMGVkZWU2NGY0M2MzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyLmNwcApAQCAtMTk0LDE4ICsxOTQsMTggQEAgdm9pZCBNb2Nr
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJFbmFibGVkKGJvb2wKIAogICAgIGlmIChhY3RpdmUpIHsKICAgICAgICAgaWYgKG1vY2subV9p
c01vY2tBdWRpb0NhcHR1cmVFbmFibGVkKQotICAgICAgICAgICAgY2VudGVyLnNldEF1ZGlvRmFj
dG9yeShtb2NrLmF1ZGlvRmFjdG9yeSgpKTsKKyAgICAgICAgICAgIGNlbnRlci5zZXRBdWRpb0Nh
cHR1cmVGYWN0b3J5KG1vY2suYXVkaW9DYXB0dXJlRmFjdG9yeSgpKTsKICAgICAgICAgaWYgKG1v
Y2subV9pc01vY2tWaWRlb0NhcHR1cmVFbmFibGVkKQotICAgICAgICAgICAgY2VudGVyLnNldFZp
ZGVvRmFjdG9yeShtb2NrLnZpZGVvRmFjdG9yeSgpKTsKKyAgICAgICAgICAgIGNlbnRlci5zZXRW
aWRlb0NhcHR1cmVGYWN0b3J5KG1vY2sudmlkZW9DYXB0dXJlRmFjdG9yeSgpKTsKICAgICAgICAg
aWYgKG1vY2subV9pc01vY2tEaXNwbGF5Q2FwdHVyZUVuYWJsZWQpCiAgICAgICAgICAgICBjZW50
ZXIuc2V0RGlzcGxheUNhcHR1cmVGYWN0b3J5KG1vY2suZGlzcGxheUNhcHR1cmVGYWN0b3J5KCkp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKG1vY2subV9pc01vY2tBdWRpb0Nh
cHR1cmVFbmFibGVkKQotICAgICAgICBjZW50ZXIudW5zZXRBdWRpb0ZhY3RvcnkobW9jay5hdWRp
b0ZhY3RvcnkoKSk7CisgICAgICAgIGNlbnRlci51bnNldEF1ZGlvQ2FwdHVyZUZhY3RvcnkobW9j
ay5hdWRpb0NhcHR1cmVGYWN0b3J5KCkpOwogICAgIGlmIChtb2NrLm1faXNNb2NrVmlkZW9DYXB0
dXJlRW5hYmxlZCkKLSAgICAgICAgY2VudGVyLnVuc2V0VmlkZW9GYWN0b3J5KG1vY2sudmlkZW9G
YWN0b3J5KCkpOworICAgICAgICBjZW50ZXIudW5zZXRWaWRlb0NhcHR1cmVGYWN0b3J5KG1vY2su
dmlkZW9DYXB0dXJlRmFjdG9yeSgpKTsKICAgICBpZiAobW9jay5tX2lzTW9ja0Rpc3BsYXlDYXB0
dXJlRW5hYmxlZCkKICAgICAgICAgY2VudGVyLnVuc2V0RGlzcGxheUNhcHR1cmVGYWN0b3J5KG1v
Y2suZGlzcGxheUNhcHR1cmVGYWN0b3J5KCkpOwogfQpAQCAtMzM1LDEzICszMzUsMTMgQEAgVmVj
dG9yPENhcHR1cmVEZXZpY2U+JiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6ZGlzcGxh
eURldmljZXMoKQogICAgIHJldHVybiBkaXNwbGF5RGV2aWNlczsKIH0KIAotQXVkaW9DYXB0dXJl
RmFjdG9yeSYgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmF1ZGlvRmFjdG9yeSgpCitB
dWRpb0NhcHR1cmVGYWN0b3J5JiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6YXVkaW9D
YXB0dXJlRmFjdG9yeSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPE1vY2tSZWFsdGlt
ZUF1ZGlvU291cmNlRmFjdG9yeT4gZmFjdG9yeTsKICAgICByZXR1cm4gZmFjdG9yeS5nZXQoKTsK
IH0KIAotVmlkZW9DYXB0dXJlRmFjdG9yeSYgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6
OnZpZGVvRmFjdG9yeSgpCitWaWRlb0NhcHR1cmVGYWN0b3J5JiBNb2NrUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlcjo6dmlkZW9DYXB0dXJlRmFjdG9yeSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPE1vY2tSZWFsdGltZVZpZGVvU291cmNlRmFjdG9yeT4gZmFjdG9yeTsKICAgICByZXR1
cm4gZmFjdG9yeS5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAppbmRleCA3YzE4MmJhNWU1
NzZjYTMwZGM0YTQzMDYyZjI2ZTY4ZGU1NWY2Zjg0Li42MDU5MDg3NjQ0OGNjOGY3NWE5ZDU4Mzdj
MDYzOTRhOGY0MDA3ZDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCkBAIC02Niw4ICs2Niw4
IEBAIHByaXZhdGU6CiAgICAgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIoKSA9IGRlZmF1
bHQ7CiAgICAgZnJpZW5kIE5ldmVyRGVzdHJveWVkPE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyPjsKIAotICAgIEF1ZGlvQ2FwdHVyZUZhY3RvcnkmIGF1ZGlvRmFjdG9yeSgpOwotICAgIFZp
ZGVvQ2FwdHVyZUZhY3RvcnkmIHZpZGVvRmFjdG9yeSgpOworICAgIEF1ZGlvQ2FwdHVyZUZhY3Rv
cnkmIGF1ZGlvQ2FwdHVyZUZhY3RvcnkoKTsKKyAgICBWaWRlb0NhcHR1cmVGYWN0b3J5JiB2aWRl
b0NhcHR1cmVGYWN0b3J5KCk7CiAgICAgRGlzcGxheUNhcHR1cmVGYWN0b3J5JiBkaXNwbGF5Q2Fw
dHVyZUZhY3RvcnkoKTsKIAogICAgIGNsYXNzIE1vY2tBdWRpb0NhcHR1cmVEZXZpY2VNYW5hZ2Vy
IGZpbmFsIDogcHVibGljIENhcHR1cmVEZXZpY2VNYW5hZ2VyIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQ
cm94eS5jcHAKaW5kZXggYWY4M2I2Mzg3OWNhYTM1NGIzY2MwOTE0MzNlODE1MjM5YjUxYWVmYS4u
YzI2ZWMwYTI4YjRhZGRlMTA5YzhmZTRhZmU4ZjRmZmY5MzYxOTdjYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1h
bmFnZXJQcm94eS5jcHAKQEAgLTEzNiwxNiArMTM2LDE2IEBAIHZvaWQgVXNlck1lZGlhQ2FwdHVy
ZU1hbmFnZXJQcm94eTo6Y3JlYXRlTWVkaWFTb3VyY2VGb3JDYXB0dXJlRGV2aWNlV2l0aENvbnN0
cmFpCiAgICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3Igc291cmNlT3JFcnJvcjsKICAgICBzd2l0Y2gg
KGRldmljZS50eXBlKCkpIHsKICAgICBjYXNlIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmlj
ZVR5cGU6Ok1pY3JvcGhvbmU6Ci0gICAgICAgIHNvdXJjZU9yRXJyb3IgPSBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjphdWRpb0ZhY3RvcnkoKS5jcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UoZGV2
aWNlLCBXVEZNb3ZlKGhhc2hTYWx0KSwgJmNvbnN0cmFpbnRzKTsKKyAgICAgICAgc291cmNlT3JF
cnJvciA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVy
ZUZhY3RvcnkoKS5jcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UoZGV2aWNlLCBXVEZNb3ZlKGhhc2hT
YWx0KSwgJmNvbnN0cmFpbnRzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJDb3JlOjpD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6Ci0gICAgICAgIHNvdXJjZU9yRXJyb3Ig
PSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp2aWRlb0ZhY3RvcnkoKS5jcmVhdGVWaWRlb0Nh
cHR1cmVTb3VyY2UoZGV2aWNlLCBXVEZNb3ZlKGhhc2hTYWx0KSwgJmNvbnN0cmFpbnRzKTsKKyAg
ICAgICAgc291cmNlT3JFcnJvciA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRv
bigpLnZpZGVvQ2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVWaWRlb0NhcHR1cmVTb3VyY2UoZGV2aWNl
LCBXVEZNb3ZlKGhhc2hTYWx0KSwgJmNvbnN0cmFpbnRzKTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW46CiAgICAgY2Fz
ZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6CiAgICAgY2FzZSBX
ZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpBcHBsaWNhdGlvbjoKICAgICBjYXNl
IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkJyb3dzZXI6Ci0gICAgICAgIHNv
dXJjZU9yRXJyb3IgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpkaXNwbGF5Q2FwdHVyZUZh
Y3RvcnkoKS5jcmVhdGVEaXNwbGF5Q2FwdHVyZVNvdXJjZShkZXZpY2UsICZjb25zdHJhaW50cyk7
CisgICAgICAgIHNvdXJjZU9yRXJyb3IgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5n
bGV0b24oKS5kaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVEaXNwbGF5Q2FwdHVyZVNvdXJj
ZShkZXZpY2UsICZjb25zdHJhaW50cyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViQ29y
ZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyLmNwcAppbmRleCAxY2Q4NjQxYzU4ZGFjZDY5MzBk
MDVmNjAzYTE2YzNmZDRkYWE2ODFjLi44NGY5OWVhODAwNTA2M2UxZTUxN2I5ZDg3ZTViMDgwODAw
NWEyOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvVXNlck1l
ZGlhQ2FwdHVyZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlci5jcHAKQEAgLTIwNiw5ICsyMDYsOSBAQCBVc2VyTWVk
aWFDYXB0dXJlTWFuYWdlcjo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIoV2ViUHJvY2VzcyYgcHJv
Y2VzcykKIAogVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXI6On5Vc2VyTWVkaWFDYXB0dXJlTWFuYWdl
cigpCiB7Ci0gICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dW5zZXRBdWRpb0ZhY3Rvcnko
KnRoaXMpOwotICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnVuc2V0RGlzcGxheUNhcHR1
cmVGYWN0b3J5KCp0aGlzKTsKLSAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp1bnNldFZp
ZGVvRmFjdG9yeSgqdGhpcyk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xl
dG9uKCkudW5zZXRBdWRpb0NhcHR1cmVGYWN0b3J5KCp0aGlzKTsKKyAgICBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS51bnNldERpc3BsYXlDYXB0dXJlRmFjdG9yeSgqdGhp
cyk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudW5zZXRWaWRl
b0NhcHR1cmVGYWN0b3J5KCp0aGlzKTsKICAgICBtX3Byb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpKTsKIH0KIApAQCAtMjI0LDExICsyMjQsMTEgQEAgdm9pZCBVc2VyTWVkaWFDYXB0dXJlTWFu
YWdlcjo6aW5pdGlhbGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXIK
ICAgICBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuc2V0TW9ja0Rp
c3BsYXlDYXB0dXJlRW5hYmxlZCghcGFyYW1ldGVycy5zaG91bGRDYXB0dXJlRGlzcGxheUluVUlQ
cm9jZXNzKTsKIAogICAgIGlmIChwYXJhbWV0ZXJzLnNob3VsZENhcHR1cmVBdWRpb0luVUlQcm9j
ZXNzKQotICAgICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzZXRBdWRpb0ZhY3Rvcnko
KnRoaXMpOworICAgICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5z
ZXRBdWRpb0NhcHR1cmVGYWN0b3J5KCp0aGlzKTsKICAgICBpZiAocGFyYW1ldGVycy5zaG91bGRD
YXB0dXJlVmlkZW9JblVJUHJvY2VzcykKLSAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
cjo6c2V0VmlkZW9GYWN0b3J5KCp0aGlzKTsKKyAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlcjo6c2luZ2xldG9uKCkuc2V0VmlkZW9DYXB0dXJlRmFjdG9yeSgqdGhpcyk7CiAgICAgaWYg
KHBhcmFtZXRlcnMuc2hvdWxkQ2FwdHVyZURpc3BsYXlJblVJUHJvY2VzcykKLSAgICAgICAgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2V0RGlzcGxheUNhcHR1cmVGYWN0b3J5KCp0aGlzKTsK
KyAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuc2V0RGlzcGxh
eUNhcHR1cmVGYWN0b3J5KCp0aGlzKTsKIH0KIAogV2ViQ29yZTo6Q2FwdHVyZVNvdXJjZU9yRXJy
b3IgVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXI6OmNyZWF0ZUNhcHR1cmVTb3VyY2UoY29uc3QgQ2Fw
dHVyZURldmljZSYgZGV2aWNlLCBTdHJpbmcmJiBoYXNoU2FsdCwgY29uc3QgV2ViQ29yZTo6TWVk
aWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>