<?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>199676</bug_id>
          
          <creation_ts>2019-07-10 11:26:55 -0700</creation_ts>
          <short_desc>[WebGPU] Implement GPUUncapturedErrorEvent</short_desc>
          <delta_ts>2022-02-10 16:40:26 -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>WebGPU</component>
          <version>Other</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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Fan">justin_fan</reporter>
          <assigned_to name="Justin Fan">justin_fan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1551743</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-07-10 11:26:55 -0700</bug_when>
    <thetext>Errors not captured by any error scope should be fired as Events on the GPUDevice and reported to console.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567931</commentid>
    <comment_count>1</comment_count>
      <attachid>378032</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-09-04 18:13:41 -0700</bug_when>
    <thetext>Created attachment 378032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568197</commentid>
    <comment_count>2</comment_count>
      <attachid>378032</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-05 12:22:05 -0700</bug_when>
    <thetext>Comment on attachment 378032
Patch

Clearing flags on attachment: 378032

Committed r249539: &lt;https://trac.webkit.org/changeset/249539&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568198</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-05 12:22:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568199</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-05 12:23:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/55078734&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568296</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-09-05 15:47:28 -0700</bug_when>
    <thetext>There are quite a few webgpu layout test failures on Mojave bots after this change: https://build.webkit.org/results/Apple%20Mojave%20Release%20WK2%20(Tests)/r249539%20(6413)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568310</commentid>
    <comment_count>6</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-09-05 16:26:02 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568311</commentid>
    <comment_count>7</comment_count>
      <attachid>378135</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-09-05 16:26:03 -0700</bug_when>
    <thetext>Created attachment 378135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568715</commentid>
    <comment_count>8</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2019-09-06 14:54:41 -0700</bug_when>
    <thetext>Fixes added in https://trac.webkit.org/changeset/249555/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378032</attachid>
            <date>2019-09-04 18:13:41 -0700</date>
            <delta_ts>2019-09-05 16:26:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199676-20190904181341.patch</filename>
            <type>text/plain</type>
            <size>42568</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q1MmI4ZTJiYmM3Nzdm
OGZhYjA3N2Y2YjA5MzMxMmVkMDcyZTMzMS4uYTQ0YWFmYWNlNjc3NDZjNjMxZWYyNzk1ODQ0MWYw
NjcwY2I3YmE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE5LTA5LTA0ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2NzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQgYW5k
ICJ1bmNhcHR1cmVkZXJyb3IiIGV2ZW50IG5hbWUuCisgICAgICAgIEFkZCB0aGUgb251bmNhcHR1
cmVkZXJyb3IgRXZlbnRIYW5kbGVyIGF0dHJpYnV0ZSB0byBHUFVEZXZpY2UuCisKKyAgICAgICAg
VGVzdDogd2ViZ3B1L3VuY2FwdHVyZWQtZXJyb3JzLmh0bWwKKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVkRXJy
b3JFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVVbmNhcHR1cmVkRXJyb3JFdmVudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVVuY2FwdHVyZWRFcnJvckV2ZW50OjpHUFVV
bmNhcHR1cmVkRXJyb3JFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVVbmNhcHR1cmVkRXJy
b3JFdmVudDo6ZXZlbnRJbnRlcmZhY2UgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BV
VW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUFkYXB0ZXIuY3BwOiBNdXN0IG5vdyBwcm92aWRlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgdG8g
YW55IGNyZWF0ZWQgR1BVRGV2aWNlLgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVQWRhcHRlcjo6
cmVxdWVzdERldmljZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRh
cHRlci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6IElzIG5vdyBhbiBFdmVudFRh
cmdldC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6dHJ5Q3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6V2ViR1BVRGV2aWNlKToKKyAgICAgICAgKFdlYkNv
cmU6OnByaW50VmFsaWRhdGlvbkVycm9yVG9Db25zb2xlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdQVURldmljZTo6ZGlzcGF0Y2hVbmNhcHR1cmVkRXJyb3IpOiBFdmVudHMgc2hvdWxkIG9ubHkg
YmUgZmlyZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFdmVudEhhbmRsZXIuaWRs
OgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
Lmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1l
cy5pbjoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHA6IEdQVUVycm9ycyBjYW4gb25seSBiZSBj
cmVhdGVkIGludGVybmFsbHk7IGNyZWF0aW9uIHNob3VsZCBuZXZlciBmYWlsLgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlRXJyb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVFcnJvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvclNjb3Bl
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVFcnJvclNjb3Blczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVUVycm9yU2NvcGVzOjpHUFVFcnJvclNjb3Blcyk6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVFcnJvclNjb3Blczo6Z2VuZXJhdGVFcnJvcik6IFVzZSBhIGNhbGxiYWNrIGZv
ciBub3csIHNpbmNlIEdQVUVycm9yU2NvcGVzIGlzIHN0aWxsIHVuZGVyIHBsYXRmb3JtLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvclNjb3Blcy5oOgorICAgICAgICAo
V2ViQ29yZTo6R1BVRXJyb3JTY29wZXM6OmNyZWF0ZSk6IERlbGV0ZWQuCisKIDIwMTktMDktMDQg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBGb3JtYXR0
aW5nQ29udGV4dDo6bWFwKiBmdW5jdGlvbnMgYXJlIHRvbyBnZW5lcmljLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCAzOWMwZGRjNTY2YzhjYWJmODhhZjcyZDA5YzQ5NTA4ZjgwZGQxODNjLi45ZmI0
ZTBiMDE0Mjg3Y2E2YzNhMGM3YjM5ZDllMzdkNjg2YjI1ZTk0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtNDkyLDYgKzQ5Miw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAg
TW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJn
cHUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlVXNh
Z2UuaWRsCisgICAgTW9kdWxlcy93ZWJncHUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsCiAg
ICAgTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRhdGlvbkVycm9yLmlkbAogICAgIE1vZHVsZXMvd2Vi
Z3B1L0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUv
R1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5pZGwKQEAgLTUxMiw2ICs1MTMsNyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQ
aXBlbGluZURlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlk
bAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbAorICAgIE1v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUV2ZW50SGFuZGxlci5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1
L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGY0MDFmNzRmZDRlYWFhMTIxNDZkOWM2MWIyNzY4Njcw
ZDBiYTk4MTYuLjcyOGQ1ODZmZDhlNjIyYTIzZDAwMWQzZGY1ZWZjMjllZjUwNzFhNzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzQ2
LDYgKzM0Niw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVN0b3JlT3AuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVGb3JtYXQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlVXNhZ2UuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbApA
QCAtMzY4LDYgKzM2OSw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNv
bXB1dGVQaXBlbGluZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNv
bXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVE
ZXZpY2VFcnJvclNjb3Blcy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZUV2ZW50SGFuZGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMDE0YjE1YTYzYjA1YTVl
YTcyOWQxYjI0YjUwYWYwY2RiMmFmMGIwOS4uZWNmMjczMjkzOGE4M2I1MTFhY2YyMzlkMGQ3NmEy
MmIxMDgzODc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QKQEAgLTYzNSw2ICs2MzUsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVGb3JtYXQuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVGb3JtYXQuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlVXNh
Z2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQ
VVRleHR1cmVVc2FnZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZhbGlkYXRpb25F
cnJvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R1BVVmFsaWRhdGlvbkVycm9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5jcHAKQEAgLTc3NSw4ICs3
NzcsNiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hU
TUxNZXRlckVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0hUTUxNZXRlckVsZW1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE1vZEVsZW1lbnQuaAotJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT3JGb3JlaWduRWxlbWVu
dC5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRN
TE9yRm9yZWlnbkVsZW1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNIVE1MT0xpc3RFbGVtZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT0xpc3RFbGVtZW50LmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE9iamVjdEVsZW1lbnQuY3BwCkBA
IC03ODcsNiArNzg3LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNIVE1MT3B0aW9uRWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE9wdGlvbkVsZW1lbnQuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0hUTUxPckZvcmVpZ25FbGVtZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT3JGb3JlaWduRWxlbWVudC5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPdXRwdXRFbGVtZW50LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT3V0
cHV0RWxlbWVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmNwcApAQCAtMTk2MSw2ICsxOTYzLDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVEZXZpY2UuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQVURl
dmljZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dl
YkdQVURldmljZUVycm9yU2NvcGVzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQVURldmljZUV2ZW50SGFuZGxl
ci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
R1BVRGV2aWNlRXZlbnRIYW5kbGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNj
cmlwdG9yQmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggZWI2ZDgyNzFiMjU3MTM2YjM5NmI3NWQyZDFmMGRhNGRiZmM5NTM3YS4uMGQzYzY5YTgz
ZjllODdmN2E0MGZkNTViMDdhYzQzNDBkNjgxMjRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0zOTgsNiArMzk4LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVGb3JtYXQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJncHUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5pZGwg
XApAQCAtNDE4LDYgKzQxOSw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwgXAogCSQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUV2ZW50SGFuZGxlci5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVldWUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVkRXJy
b3JFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVk
RXJyb3JFdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUwMTUwYTkyMzA1YTNlNGJlYjFkOWI1NGVjMjc0
YjEyMWZlMjc0MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmNwcApAQCAtMCwwICsxLDYyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkdQVVVuY2FwdHVyZWRFcnJvckV2
ZW50LmgiCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Jl
ZjxHUFVVbmNhcHR1cmVkRXJyb3JFdmVudD4gR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQ6OmNyZWF0
ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVz
dGVkIGlzVHJ1c3RlZCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVVbmNhcHR1cmVk
RXJyb3JFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKSk7Cit9CisKK1JlZjxHUFVV
bmNhcHR1cmVkRXJyb3JFdmVudD4gR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQ6OmNyZWF0ZShjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBHUFVFcnJvciYmIGVycm9yKQoreworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50KHR5cGUsIFdURk1vdmUoZXJyb3IpKSk7
Cit9CisKK0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50OjpHUFVVbmNhcHR1cmVkRXJyb3JFdmVudChj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVk
IGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCisg
ICAgLCBtX2Vycm9yKGluaXRpYWxpemVyLmVycm9yKQoreworfQorCitHUFVVbmNhcHR1cmVkRXJy
b3JFdmVudDo6R1BVVW5jYXB0dXJlZEVycm9yRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwg
R1BVRXJyb3ImJiBlcnJvcikKKyAgICA6IEV2ZW50KHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2Fu
Y2VsYWJsZTo6Tm8pCisgICAgLCBtX2Vycm9yKFdURk1vdmUoZXJyb3IpKQoreworfQorCitFdmVu
dEludGVyZmFjZSBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25z
dAoreworICAgIHJldHVybiBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudEludGVyZmFjZVR5cGU7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVkRXJy
b3JFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVW5jYXB0dXJlZEVy
cm9yRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDlkNDFiYzhmYTZiNDNiMzc1ZWUxOTZjMzI5NjI2N2Jl
ZTE4NWY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
R1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVkZSAiRXZlbnQuaCIK
KyNpbmNsdWRlICJHUFVFcnJvci5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudCBmaW5hbCA6IHB1Ymxp
YyBFdmVudCB7CitwdWJsaWM6CisgICAgc3RydWN0IEluaXQ6IEV2ZW50SW5pdCB7CisgICAgICAg
IEdQVUVycm9yIGVycm9yOworICAgIH07CisKKyAgICBzdGF0aWMgUmVmPEdQVVVuY2FwdHVyZWRF
cnJvckV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IEluaXQmLCBJc1RydXN0
ZWQgPSBJc1RydXN0ZWQ6Ok5vKTsKKyAgICBzdGF0aWMgUmVmPEdQVVVuY2FwdHVyZWRFcnJvckV2
ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYsIEdQVUVycm9yJiYpOworCisgICAgY29uc3Qg
R1BVRXJyb3IgZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9CisKK3ByaXZhdGU6Cisg
ICAgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQoY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IEluaXQm
LCBJc1RydXN0ZWQpOworICAgIEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmLCBHUFVFcnJvciYmKTsKKworICAgIC8vIEV2ZW50CisgICAgRXZlbnRJbnRlcmZhY2UgZXZl
bnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKKworICAgIEdQVUVycm9yIG1fZXJyb3I7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVW5jYXB0dXJlZEVy
cm9yRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVW5jYXB0dXJl
ZEVycm9yRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkM2M2YTFkMWMyM2FkNGE4ZTBkY2UyOTRjOGIy
Mjc1YjhhZmJhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5pZGwKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisvLyBodHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK3R5cGVkZWYgKEdQVU91
dE9mTWVtb3J5RXJyb3Igb3IgR1BVVmFsaWRhdGlvbkVycm9yKSBHUFVFcnJvcjsKKworWworICAg
IENvbmRpdGlvbmFsPVdFQkdQVSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQorXSBkaWN0
aW9uYXJ5IEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgcmVx
dWlyZWQgR1BVRXJyb3IgZXJyb3I7Cit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAor
ICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudElu
aXQgZ3B1VW5jYXB0dXJlZEVycm9yRXZlbnRJbml0RGljdCksCisgICAgRW5hYmxlZEF0UnVudGlt
ZT1XZWJHUFUsCisgICAgRXhwb3NlZD1XaW5kb3cKK10gaW50ZXJmYWNlIEdQVVVuY2FwdHVyZWRF
cnJvckV2ZW50IDogRXZlbnQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBHUFVFcnJvciBlcnJv
cjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVB
ZGFwdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIu
Y3BwCmluZGV4IDYxOGZhNmYwYWQyNTA4NDk0NGZhMDA4YWRjNjIzMjhiNTJjMzdiMjkuLjUyNzE0
ZmI5MTI5OGI5YjI2ZjA2NGFiNjgxMjYwMDI4ZmNlNzU4YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCkBAIC0yOCw4ICsyOCw4IEBACiAK
ICNpZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJK
U1dlYkdQVURldmljZS5oIgotI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MywxMiArNDMsMTQgQEAgV2ViR1BVQWRhcHRlcjo6
V2ViR1BVQWRhcHRlcihPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiYgb3B0aW9u
cykKIHsKIH0KIAotdm9pZCBXZWJHUFVBZGFwdGVyOjpyZXF1ZXN0RGV2aWNlKERldmljZVJlcXVl
c3RQcm9taXNlJiYgcHJvbWlzZSkgY29uc3QKK3ZvaWQgV2ViR1BVQWRhcHRlcjo6cmVxdWVzdERl
dmljZShEb2N1bWVudCYgZG9jdW1lbnQsIERldmljZVJlcXVlc3RQcm9taXNlJiYgcHJvbWlzZSkg
Y29uc3QKIHsKLSAgICBpZiAoYXV0byBkZXZpY2UgPSBXZWJHUFVEZXZpY2U6OnRyeUNyZWF0ZSgq
dGhpcykpCi0gICAgICAgIHByb21pc2UucmVzb2x2ZShkZXZpY2UucmVsZWFzZU5vbk51bGwoKSk7
Ci0gICAgZWxzZQotICAgICAgICBwcm9taXNlLnJlamVjdCgpOworICAgIGRvY3VtZW50LnBvc3RU
YXNrKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJsZSB7CisgICAg
ICAgIGlmIChhdXRvIGRldmljZSA9IFdlYkdQVURldmljZTo6dHJ5Q3JlYXRlKGNvbnRleHQsIHBy
b3RlY3RlZFRoaXMuZ2V0KCkpKQorICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGRldmljZS5y
ZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJvbWlzZS5yZWpl
Y3QoKTsKKyAgICB9KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5oCmluZGV4IDM5YmEzZGI2ZTUxNGU0
M2NkZDgxMzZkMzllZjBjOGU3MjQ4NDVlNWQuLjE4NDk1MTk3NzJkMzJiYzIzYmI1MjQ1NzRiNzgw
NjgyMzE2Yzk4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVUFkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVB
ZGFwdGVyLmgKQEAgLTM1LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBXZWJHUFVE
ZXZpY2U7CiAKIGNsYXNzIFdlYkdQVUFkYXB0ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVB
ZGFwdGVyPiB7CkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYkdQ
VUFkYXB0ZXI+IGNyZWF0ZShPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiYpOwog
CiAgICAgdXNpbmcgRGV2aWNlUmVxdWVzdFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURM
SW50ZXJmYWNlPFdlYkdQVURldmljZT4+OwotICAgIHZvaWQgcmVxdWVzdERldmljZShEZXZpY2VS
ZXF1ZXN0UHJvbWlzZSYmKSBjb25zdDsKKyAgICB2b2lkIHJlcXVlc3REZXZpY2UoRG9jdW1lbnQm
LCBEZXZpY2VSZXF1ZXN0UHJvbWlzZSYmKSBjb25zdDsKICAgICAKICAgICBjb25zdCBPcHRpb25h
bDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiBvcHRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9v
cHRpb25zOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVUFkYXB0ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRh
cHRlci5pZGwKaW5kZXggZDgzMTkwM2IzNzNhYTc2OTJlYzhmYWZhNzkxNzI5MDhhMmM1ODcxMi4u
N2RiOTVhNmI1NWI0YWZlZTZiMzY2N2UwMmZjM2QyNmJlMzgwZDJlMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5pZGwKQEAgLTM1LDUgKzM1LDUg
QEAKICAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgV2ViR1BVTGltaXRzIGxpbWl0czsgRG9uJ3Qg
ZXhwb3NlIGhpZ2hlciBsaW1pdHMgZm9yIG5vdy4KIAogICAgIC8vIE1heSByZWplY3Qgd2l0aCBE
T01FeGNlcHRpb24gIC8vIFRPRE86IERPTUV4Y2VwdGlvbigiT3BlcmF0aW9uRXJyb3IiKT8KLSAg
ICBQcm9taXNlPFdlYkdQVURldmljZT4gcmVxdWVzdERldmljZSgvKkdQVURldmljZURlc2NyaXB0
b3IgZGVzY3JpcHRvciovKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIFByb21pc2U8V2ViR1BV
RGV2aWNlPiByZXF1ZXN0RGV2aWNlKC8qR1BVRGV2aWNlRGVzY3JpcHRvciBkZXNjcmlwdG9yKi8p
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3Bw
CmluZGV4IGY0MDRiODA5NDMxOGE2ODFiMmY2OTcwMTI1ZTc2NDNhMDExN2ZmMGMuLmMwZjA1ZmQw
MzllMWZhZmUyNGQwYjQxNWJiMTdiNWE5MjczZGE2NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcApAQCAtMjgsNiArMjgsOSBAQAogCiAjaWYg
RU5BQkxFKFdFQkdQVSkKIAorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgog
I2luY2x1ZGUgIkdQVUJpbmRHcm91cC5oIgogI2luY2x1ZGUgIkdQVUJpbmRHcm91cEJpbmRpbmcu
aCIKQEAgLTQzLDYgKzQ2LDcgQEAKICNpbmNsdWRlICJHUFVTYW1wbGVyRGVzY3JpcHRvci5oIgog
I2luY2x1ZGUgIkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJHUFVUZXh0
dXJlRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIkdQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmgiCiAj
aW5jbHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCiAjaW5jbHVkZSAiSlNHUFVPdXRP
Zk1lbW9yeUVycm9yLmgiCiAjaW5jbHVkZSAiSlNHUFVWYWxpZGF0aW9uRXJyb3IuaCIKQEAgLTY3
LDIzICs3MSwzNSBAQAogI2luY2x1ZGUgIldlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCIK
ICNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW4uaCIKICNpbmNsdWRlICJXZWJHUFVUZXh0dXJlLmgi
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29uc29sZU1lc3NhZ2UuaD4KKyNpbmNsdWRlIDxt
ZW1vcnk+CisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi9W
YXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotUmVmUHRyPFdlYkdQVURldmljZT4gV2ViR1BVRGV2aWNlOjp0cnlDcmVhdGUo
UmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYgYWRhcHRlcikKK1dURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChXZWJHUFVEZXZpY2UpOworCitSZWZQdHI8V2ViR1BVRGV2aWNlPiBXZWJHUFVEZXZp
Y2U6OnRyeUNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Y29uc3Qg
V2ViR1BVQWRhcHRlcj4mJiBhZGFwdGVyKQogewogICAgIGlmIChhdXRvIGRldmljZSA9IEdQVURl
dmljZTo6dHJ5Q3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMoKSkpCi0gICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgV2ViR1BVRGV2aWNlKFdURk1vdmUoYWRhcHRlciksIGRldmljZS5yZWxlYXNlTm9u
TnVsbCgpKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKGNvbnRl
eHQsIFdURk1vdmUoYWRhcHRlciksIGRldmljZS5yZWxlYXNlTm9uTnVsbCgpKSk7CiAgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKLVdlYkdQVURldmljZTo6V2ViR1BVRGV2aWNlKFJlZjxjb25zdCBX
ZWJHUFVBZGFwdGVyPiYmIGFkYXB0ZXIsIFJlZjxHUFVEZXZpY2U+JiYgZGV2aWNlKQotICAgIDog
bV9hZGFwdGVyKFdURk1vdmUoYWRhcHRlcikpCitXZWJHUFVEZXZpY2U6OldlYkdQVURldmljZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4m
JiBhZGFwdGVyLCBSZWY8R1BVRGV2aWNlPiYmIGRldmljZSkKKyAgICA6IG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dChjb250ZXh0KQorICAgICwgbV9hZGFwdGVyKFdURk1vdmUoYWRhcHRlcikpCiAg
ICAgLCBtX2RldmljZShXVEZNb3ZlKGRldmljZSkpCi0gICAgLCBtX2Vycm9yU2NvcGVzKEdQVUVy
cm9yU2NvcGVzOjpjcmVhdGUoKSkKKyAgICAsIG1fZXJyb3JTY29wZXMoR1BVRXJyb3JTY29wZXM6
OmNyZWF0ZShbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0gKEdQVUVycm9yJiYg
ZXJyb3IpIHsKKyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgZGlzcGF0Y2hVbmNh
cHR1cmVkRXJyb3IoV1RGTW92ZShlcnJvcikpOworICAgIH0pKQogeworICAgIEFTU0VSVChtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaXNEb2N1bWVudCgpKTsKIH0KIAogUmVmPFdlYkdQVUJ1ZmZl
cj4gV2ViR1BVRGV2aWNlOjpjcmVhdGVCdWZmZXIoY29uc3QgR1BVQnVmZmVyRGVzY3JpcHRvciYg
ZGVzY3JpcHRvcikgY29uc3QKQEAgLTIwNSw2ICsyMjEsMzEgQEAgdm9pZCBXZWJHUFVEZXZpY2U6
OnBvcEVycm9yU2NvcGUoRXJyb3JQcm9taXNlJiYgcHJvbWlzZSkKICAgICAgICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IsICJHUFVEZXZpY2U6OnBvcEVycm9yU2Nv
cGUoKTogIiArIGZhaWxNZXNzYWdlIH0pOwogfQogCisvLyBFcnJvcnMgcmVwb3J0ZWQgdmlhIHRo
ZSB2YWxpZGF0aW9uIGVycm9yIGV2ZW50IHNob3VsZCBhbHNvIGFwcGVhciBpbiB0aGUgY29uc29s
ZSBhcyB3YXJuaW5ncy4KK3N0YXRpYyB2b2lkIHByaW50VmFsaWRhdGlvbkVycm9yVG9Db25zb2xl
KEdQVUVycm9yJiBlcnJvciwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK3sKKyAg
ICBpZiAoIVdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEdQVVZhbGlkYXRpb25FcnJvcj4+
KGVycm9yKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byB2YWxpZGF0aW9uRXJyb3IgPSBX
VEY6OmdldDxSZWZQdHI8R1BVVmFsaWRhdGlvbkVycm9yPj4oZXJyb3IpOworICAgIGlmICghdmFs
aWRhdGlvbkVycm9yKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIG1lc3NhZ2UgPSB2YWxp
ZGF0aW9uRXJyb3ItPm1lc3NhZ2UoKTsKKyAgICBhdXRvIGNvbnNvbGVNZXNzYWdlID0gbWFrZVVu
aXF1ZTxJbnNwZWN0b3I6OkNvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpSZW5kZXJpbmcs
IE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgbWVzc2FnZSk7CisKKyAg
ICBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkuYWRkQ29uc29sZU1lc3NhZ2UoV1RGTW92ZShj
b25zb2xlTWVzc2FnZSkpOworfQorCit2b2lkIFdlYkdQVURldmljZTo6ZGlzcGF0Y2hVbmNhcHR1
cmVkRXJyb3IoR1BVRXJyb3ImJiBlcnJvcikKK3sKKyAgICBwcmludFZhbGlkYXRpb25FcnJvclRv
Q29uc29sZShlcnJvciwgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKKworICAgIGNhbGxPbk1h
aW5UaHJlYWQoW2Vycm9yID0gV1RGTW92ZShlcnJvciksIHRoaXMsIHByb3RlY3RlZFRoaXMgPSBt
YWtlUmVmKCp0aGlzKV0gKCkgbXV0YWJsZSB7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoR1BVVW5j
YXB0dXJlZEVycm9yRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkudW5jYXB0dXJlZGVycm9yRXZl
bnQsIFdURk1vdmUoZXJyb3IpKSk7CisgICAgfSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVURldmljZS5oCmluZGV4IGY0ZTQzZjIzNTQ3ZTdiZTBjOWZmYTA0NDM0MWZj
NmE4NjAwZTM5MjAuLmNlNDU0YTk0NjA2OGI1YTA2YWE3NjkzN2I5MTU4ZWNmNTYyMGEwZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCkBAIC0yNyw2
ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQu
aCIKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKICNpbmNsdWRlICJHUFVFcnJvclNjb3Blcy5oIgog
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCkBAIC0zNyw2ICszOCw3IEBACiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewogY2xhc3MgQXJyYXlCdWZmZXI7CkBAIC03NSw5ICs3NywxMCBAQCBlbnVtIGNsYXNzIEdQ
VUVycm9yRmlsdGVyOwogdXNpbmcgRXJyb3JJRExVbmlvbiA9IElETFVuaW9uPElETEludGVyZmFj
ZTxHUFVPdXRPZk1lbW9yeUVycm9yPiwgSURMSW50ZXJmYWNlPEdQVVZhbGlkYXRpb25FcnJvcj4+
OwogdXNpbmcgRXJyb3JQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETE51bGxhYmxlPEVy
cm9ySURMVW5pb24+PjsKIAotY2xhc3MgV2ViR1BVRGV2aWNlIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViR1BVRGV2aWNlPiB7CitjbGFzcyBXZWJHUFVEZXZpY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxX
ZWJHUFVEZXZpY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENh
bk1ha2VXZWFrUHRyPFdlYkdQVURldmljZT4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
V2ViR1BVRGV2aWNlKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPFdlYkdQVURldmljZT4g
dHJ5Q3JlYXRlKFJlZjxjb25zdCBXZWJHUFVBZGFwdGVyPiYmKTsKKyAgICBzdGF0aWMgUmVmUHRy
PFdlYkdQVURldmljZT4gdHJ5Q3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8Y29u
c3QgV2ViR1BVQWRhcHRlcj4mJik7CiAKICAgICBjb25zdCBXZWJHUFVBZGFwdGVyJiBhZGFwdGVy
KCkgY29uc3QgeyByZXR1cm4gbV9hZGFwdGVyLmdldCgpOyB9CiAgICAgR1BVRGV2aWNlJiBkZXZp
Y2UoKSB7IHJldHVybiBtX2RldmljZS5nZXQoKTsgfQpAQCAtMTAzLDggKzEwNiwyMSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpIHsgbV9l
cnJvclNjb3Blcy0+cHVzaEVycm9yU2NvcGUoZmlsdGVyKTsgfQogICAgIHZvaWQgcG9wRXJyb3JT
Y29wZShFcnJvclByb21pc2UmJik7CiAKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAg
dXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CisKIHByaXZhdGU6Ci0gICAgV2ViR1BVRGV2aWNlKFJl
Zjxjb25zdCBXZWJHUFVBZGFwdGVyPiYmLCBSZWY8R1BVRGV2aWNlPiYmKTsKKyAgICBXZWJHUFVE
ZXZpY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxjb25zdCBXZWJHUFVBZGFwdGVyPiYm
LCBSZWY8R1BVRGV2aWNlPiYmKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgRXZlbnRUYXJn
ZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBX
ZWJHUFVEZXZpY2VFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KKyAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4g
Jm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsgfQorICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBm
aW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJl
ZigpOyB9CisKKyAgICB2b2lkIGRpc3BhdGNoVW5jYXB0dXJlZEVycm9yKEdQVUVycm9yJiYpOwor
CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAgICAgUmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+IG1fYWRhcHRlcjsKICAgICBSZWY8R1BVRGV2
aWNlPiBtX2RldmljZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVURldmljZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVE
ZXZpY2UuaWRsCmluZGV4IGY1ZmYwMDg4MzM2MDI4ZGQ1ZjMwMzlhNjVjOWFmNTUxYjQ2NmU5MTEu
LmNmZjRhOTg2NjY2MGFmZTcwYTI0NjZmNmJiZThmYjhjOTc4MDEzMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbApAQCAtMjksOSArMjksOCBA
QCB0eXBlZGVmIHNlcXVlbmNlPGFueT4gR1BVTWFwcGVkQnVmZmVyOyAgLy8gW0dQVUJ1ZmZlciwg
QXJyYXlCdWZmZXJdCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJm
YWNlTmFtZT1HUFVEZXZpY2UKLV0gaW50ZXJmYWNlIFdlYkdQVURldmljZSB7CitdIGludGVyZmFj
ZSBXZWJHUFVEZXZpY2UgOiBFdmVudFRhcmdldCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFdl
YkdQVUFkYXB0ZXIgYWRhcHRlcjsKIAogICAgIFdlYkdQVUJ1ZmZlciBjcmVhdGVCdWZmZXIoR1BV
QnVmZmVyRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUV2ZW50SGFuZGxlci5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFdmVudEhhbmRsZXIuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY1NDUzMzFlZDg5OGUxYmE4YWEyOGU2ZTMyN2Q4ZWRhNGM4NzU0ZjgKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFdmVudEhh
bmRsZXIuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9ncHV3ZWIu
Z2l0aHViLmlvL2dwdXdlYgorCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAorICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViR1BVCitdIHBhcnRpYWwgaW50ZXJmYWNlIFdlYkdQVURldmljZSB7Cisg
ICAgW0V4cG9zZWQ9V2luZG93XQorICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb251bmNhcHR1
cmVkZXJyb3I7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBjOWIxMTNjMWQ4MGYzZjNmNGJhOWY5Nzc1
NDAzNjViYTc0N2UxNDExLi4xMTZkNTE0NWZlYzZmYTI5YjU2ZWIwYWQ0ZDBhNTA1NTU2YmYyZmRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dApAQCAtMzAzLDYgKzMwMyw3IEBAIE1vZHVsZXMvd2Vic29ja2V0cy9X
ZWJTb2NrZXRIYW5kc2hha2UuY3BwCiBNb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuY3BwCiAKIE1vZHVsZXMvd2ViZ3B1L0dQVUNhbnZhc0NvbnRleHQu
Y3BwCitNb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5jcHAKIE1vZHVsZXMv
d2ViZ3B1L05hdmlnYXRvckdQVS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ29tcHV0
ZURpbWVuc2lvbnMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFy
eVV0aWxpdGllcy5jcHAKQEAgLTI4MjgsNiArMjgyOSw3IEBAIEpTR1BVU3RvcmVPcC5jcHAKIEpT
R1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCiBKU0dQVVRleHR1cmVGb3JtYXQuY3BwCiBKU0dQVVRl
eHR1cmVVc2FnZS5jcHAKK0pTR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuY3BwCiBKU0dQVVZhbGlk
YXRpb25FcnJvci5jcHAKIEpTR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5jcHAKIEpTR1BV
VmVydGV4QnVmZmVyRGVzY3JpcHRvci5jcHAKQEAgLTMzODUsNiArMzM4Nyw3IEBAIEpTV2ViR1BV
Q29tcHV0ZVBpcGVsaW5lLmNwcAogSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmNw
cAogSlNXZWJHUFVEZXZpY2UuY3BwCiBKU1dlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcAorSlNX
ZWJHUFVEZXZpY2VFdmVudEhhbmRsZXIuY3BwCiBKU1dlYkdQVVF1ZXVlLmNwcAogSlNXZWJHUFVQ
aXBlbGluZURlc2NyaXB0b3JCYXNlLmNwcAogSlNXZWJHUFVQaXBlbGluZUxheW91dC5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAzOTQxNTVhMTBhZGQ5MjVlYWQ3NjFiYTUxN2U0ZDhlOGFjZjFhODQ2Li43ZTk1YjYzOWEyNzZm
MzkzZTMyMzNlYzMwMWFhMDdkZTA2OTA3N2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzk5NCw2ICsxMzk5NCwxMSBAQAog
CQlEMDkzRDIyNTIxNzk1MUQ0MDAzMjkyMTcgLyogR1BVQ2FudmFzQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBHUFVDYW52YXNDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQwOTNEMjI3MjE3OTUxRDQwMDMyOTIxNyAvKiBHUFVDYW52YXNDb250ZXh0LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBH
UFVDYW52YXNDb250ZXh0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA5M0Qy
MjkyMTc5NTQxNjAwMzI5MjE3IC8qIEdQVUNhbnZhc0NvbnRleHQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gR1BVQ2FudmFzQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwOUFDMDA1MjMxNzFGNTIwMDE4Nzc2MiAvKiBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlEMDlBQzAwNjIzMTcxRjUyMDAxODc3NjIgLyogR1BVVW5jYXB0dXJlZEVy
cm9yRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBQzAwNzIzMTcxRjUyMDAxODc3
NjIgLyogR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVVuY2FwdHVyZWRFcnJv
ckV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUMwMEEyMzE3MzVC
RTAwMTg3NzYyIC8qIFdlYkdQVURldmljZUV2ZW50SGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJHUFVEZXZpY2VFdmVudEhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RDA5QUMwMEIyMzE3MzVCRTAwMTg3NzYyIC8qIFdlYkdQVURldmljZUV2ZW50SGFuZGxlci5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gV2ViR1BVRGV2aWNlRXZlbnRIYW5kbGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRDA5QUZBRkYyMkQwMkU1MzAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2Nv
cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVURldmljZUVycm9yU2NvcGVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwOUFGQjAxMjJEMDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVE
ZXZpY2VFcnJvclNjb3Blcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHUFVEZXZpY2VFcnJv
clNjb3Blcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwOUFGQjAyMjJEMDQ3
MTkwMEM0NTM4QyAvKiBHUFVFcnJvckZpbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBHUFVFcnJvckZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjU5ODIsNiArMjU5ODcsOSBAQAogCQkJCUQwMjZGNDhCMjIwQTVCMEIwMEFDNUY0OSAvKiBHUFVU
ZXh0dXJlRGVzY3JpcHRvci5pZGwgKi8sCiAJCQkJRDBFQUNGQUUyMTlFMzBGRDAwMEZBNzVDIC8q
IEdQVVRleHR1cmVGb3JtYXQuaWRsICovLAogCQkJCUQwMjZGNDgzMjIwQTQ3MkYwMEFDNUY0OSAv
KiBHUFVUZXh0dXJlVXNhZ2UuaWRsICovLAorCQkJCUQwOUFDMDA2MjMxNzFGNTIwMDE4Nzc2MiAv
KiBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5jcHAgKi8sCisJCQkJRDA5QUMwMDUyMzE3MUY1MjAw
MTg3NzYyIC8qIEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmggKi8sCisJCQkJRDA5QUMwMDcyMzE3
MUY1MjAwMTg3NzYyIC8qIEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmlkbCAqLywKIAkJCQlEMDlB
RkIwQzIyRDU1RTkwMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmlkbCAqLywKIAkJCQlE
MEQ4NjQ5NjIxQkExOEY0MDAzQzk4M0MgLyogR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5p
ZGwgKi8sCiAJCQkJRDBEODY0OTgyMUJBMTlBNzAwM0M5ODNDIC8qIEdQVVZlcnRleEJ1ZmZlckRl
c2NyaXB0b3IuaWRsICovLApAQCAtMjYwMzIsNiArMjYwNDAsOCBAQAogCQkJCUQwOUFGQjAxMjJE
MDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAgKi8sCiAJCQkJRDA5
QUZBRkYyMkQwMkU1MzAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmggKi8sCiAJ
CQkJRDA5QUZCMDMyMkQ0MENDNTAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmlk
bCAqLywKKwkJCQlEMDlBQzAwQTIzMTczNUJFMDAxODc3NjIgLyogV2ViR1BVRGV2aWNlRXZlbnRI
YW5kbGVyLmggKi8sCisJCQkJRDA5QUMwMEIyMzE3MzVCRTAwMTg3NzYyIC8qIFdlYkdQVURldmlj
ZUV2ZW50SGFuZGxlci5pZGwgKi8sCiAJCQkJRDBDNDE5RjAyMTgzRUIzMTAwOUVDMURFIC8qIFdl
YkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaCAqLywKIAkJCQlEMEM0MTlGMTIxODNFQjMxMDA5
RUMxREUgLyogV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwgKi8sCiAJCQkJRDA1QTk5
RTUyMUM5QkYyQzAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcCAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBk
ODg0YzY2MDhkZjU4ZDYyNGM1ODIyYTBhYjQ0MzBiYTAzOTE2MTg4Li4xZjA4ZGM4MzJlMGNhZjdk
ZWU4YzNmNjdjNjA0YmMzNTQzMjg3ZTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xMDcsNiArMTA3LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIG1hY3JvKEdQVVRleHR1cmUpIFwKICAgICBtYWNybyhHUFVUZXh0dXJl
VXNhZ2UpIFwKICAgICBtYWNybyhHUFVUZXh0dXJlVmlldykgXAorICAgIG1hY3JvKEdQVVVuY2Fw
dHVyZWRFcnJvckV2ZW50KSBcCiAgICAgbWFjcm8oR1BVVmFsaWRhdGlvbkVycm9yKSBcCiAgICAg
bWFjcm8oSFRNTEF0dGFjaG1lbnRFbGVtZW50KSBcCiAgICAgbWFjcm8oSFRNTEF1ZGlvRWxlbWVu
dCkgXApAQCAtMjg1LDYgKzI4Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhv
bnRvdWNobW92ZSkgXAogICAgIG1hY3JvKG9udG91Y2hzdGFydCkgXAogICAgIG1hY3JvKG9udG91
Y2hmb3JjZWNoYW5nZSkgXAorICAgIG1hY3JvKG9udW5jYXB0dXJlZGVycm9yKSBcCiAgICAgbWFj
cm8ob252cmRpc3BsYXlhY3RpdmF0ZSkgXAogICAgIG1hY3JvKG9udnJkaXNwbGF5Ymx1cikgXAog
ICAgIG1hY3JvKG9udnJkaXNwbGF5Y29ubmVjdCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5k
ZXggNWI2YWI2ODc1NWI2MWJmZTJkNGE2OGJjYmU3NTI0ZmQwZGRhYmI5Yy4uZmM0ZmQ1Y2UzZjhk
Y2U1Njc4OTg4ZDk0NTMyZTEzZThiOGU3OTllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBA
IC0yNjcsNiArMjY3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHRyYW5zaXRp
b25lbmQpIFwKICAgICBtYWNybyh0cmFuc2l0aW9ucnVuKSBcCiAgICAgbWFjcm8odHJhbnNpdGlv
bnN0YXJ0KSBcCisgICAgbWFjcm8odW5jYXB0dXJlZGVycm9yKSBcCiAgICAgbWFjcm8odW5oYW5k
bGVkcmVqZWN0aW9uKSBcCiAgICAgbWFjcm8odW5sb2FkKSBcCiAgICAgbWFjcm8odW5tdXRlKSBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDhmZGEwNmRlNWVmOGNhMDk3M2U0MGQwNDgz
ZmE4YmRjMWE2NzQ4MDMuLmViYzI0MjU2ZDAzZWJlZDI0OTg1ZjQzZjA0MTQzMTA2YzY0NzcxYTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC04MiwzICs4Miw0IEBAIE1lZGlhRW5jcnlw
dGVkRXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCiBNZWRpYUtleU1lc3NhZ2VFdmVu
dCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKIFZSRGlzcGxheUV2ZW50CiBQb2ludGVyRXZl
bnQgY29uZGl0aW9uYWw9UE9JTlRFUl9FVkVOVFMKK0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50IGNv
bmRpdGlvbmFsPVdFQkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4K
aW5kZXggOGNhMzhhM2U4MjgyNzA1Njc0MjIyNzA5NzMwNjQ0ZTYwNjllMjJmMS4uOWI5YmY5Mzdj
YzA5M2E2MDA1Y2Q2MGNlMTY0NGNiMDg4ZWJlNjYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXRGYWN0b3J5LmluCkBAIC00OSw2ICs0OSw3IEBAIFZSRGlzcGxheQogVmlkZW9UcmFj
a0xpc3QgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKIFZpc3VhbFZpZXdwb3J0CiBXZWJBbmltYXRp
b24KK1dlYkdQVURldmljZSBjb25kaXRpb25hbD1XRUJHUFUKIFdlYktpdE1lZGlhS2V5U2Vzc2lv
biBjb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBCiBXZWJTb2NrZXQKIFdvcmtlcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHAK
aW5kZXggZTg2NGEzZDYzYTk0NGYzM2ZjNDNiMzIzZjU4MmQ4NDhjYzI5YmE4NS4uYmIyOGQ0ZmMx
MmM4YTI0NzI4Y2UyMDY1YmQyNzIxZGJhZjgyYmZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCkBAIC0zMiwxNiArMzIsMTYgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1PcHRpb25hbDxHUFVFcnJvcj4gY3JlYXRlRXJyb3Io
R1BVRXJyb3JGaWx0ZXIgZmlsdGVyLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCitHUFVFcnJvciBj
cmVhdGVFcnJvcihHUFVFcnJvckZpbHRlciBmaWx0ZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkK
IHsKICAgICBzd2l0Y2ggKGZpbHRlcikgewogICAgIGNhc2UgR1BVRXJyb3JGaWx0ZXI6Ok91dE9m
TWVtb3J5OgogICAgICAgICByZXR1cm4gR1BVRXJyb3IoUmVmUHRyPEdQVU91dE9mTWVtb3J5RXJy
b3I+KEdQVU91dE9mTWVtb3J5RXJyb3I6OmNyZWF0ZSgpKSk7CiAgICAgY2FzZSBHUFVFcnJvckZp
bHRlcjo6VmFsaWRhdGlvbjoKICAgICAgICAgcmV0dXJuIEdQVUVycm9yKFJlZlB0cjxHUFVWYWxp
ZGF0aW9uRXJyb3I+KEdQVVZhbGlkYXRpb25FcnJvcjo6Y3JlYXRlKG1lc3NhZ2UpKSk7Ci0gICAg
ZGVmYXVsdDoKKyAgICBjYXNlIEdQVUVycm9yRmlsdGVyOjpOb25lOgogICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmV0
dXJuIEdQVUVycm9yKFJlZlB0cjxHUFVWYWxpZGF0aW9uRXJyb3I+KEdQVVZhbGlkYXRpb25FcnJv
cjo6Y3JlYXRlKCJCYWQgZXJyb3IhIikpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmgKaW5kZXggZTY3YzM1YWRjODkwZDM3
MmZjYzk3M2M4ZmRkZjJiN2I2ZjU5MzZiYy4uNjlmYzhmYWZhZmE0NWYwZmYxNDdjYjhiYmI0NzEz
MzIyNzUyYzI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUVycm9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUVycm9yLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgIkdQVU91dE9mTWVtb3J5
RXJyb3IuaCIKICNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJyb3IuaCIKLSNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zhcmlh
bnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTQwLDcgKzM5LDcgQEAg
ZW51bSBjbGFzcyBHUFVFcnJvckZpbHRlcjsKIAogdXNpbmcgR1BVRXJyb3IgPSBWYXJpYW50PFJl
ZlB0cjxHUFVPdXRPZk1lbW9yeUVycm9yPiwgUmVmUHRyPEdQVVZhbGlkYXRpb25FcnJvcj4+Owog
Ci1PcHRpb25hbDxHUFVFcnJvcj4gY3JlYXRlRXJyb3IoR1BVRXJyb3JGaWx0ZXIsIGNvbnN0IFN0
cmluZyYpOworR1BVRXJyb3IgY3JlYXRlRXJyb3IoR1BVRXJyb3JGaWx0ZXIsIGNvbnN0IFN0cmlu
ZyYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvclNjb3Blcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JTY29wZXMuY3BwCmluZGV4IGZmOTM4
NTUzMGViOGI3YjQwMTBlZWNlNDNhY2EwYmM0ODM2NzdlZjAuLjA0ZTU3MzQ2MTdlN2I0MTQyZjBk
OTU0ZDU0MjVlYzVlNTZjNTk2YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVFcnJvclNjb3Blcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yU2NvcGVzLmNwcApAQCAtMzAsNiArMzAsMTkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjb25zdCB1bnNpZ25lZCBtYXhVbmNhcHR1cmVkRXJy
b3JFdmVudHNBbGxvd2VkID0gMjU2OworCitSZWY8R1BVRXJyb3JTY29wZXM+IEdQVUVycm9yU2Nv
cGVzOjpjcmVhdGUoVW5jYXB0dXJlZEVycm9yQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVFcnJvclNjb3BlcyhXVEZNb3ZlKGNhbGxiYWNrKSkpOwor
fQorCitHUFVFcnJvclNjb3Blczo6R1BVRXJyb3JTY29wZXMoVW5jYXB0dXJlZEVycm9yQ2FsbGJh
Y2smJiBjYWxsYmFjaykKKyAgICA6IG1fdW5jYXB0dXJlZEVycm9yQ2FsbGJhY2soV1RGTW92ZShj
YWxsYmFjaykpCisgICAgLCBtX251bVVuY2FwdHVyZWRFcnJvckV2ZW50c0FsbG93ZWQobWF4VW5j
YXB0dXJlZEVycm9yRXZlbnRzQWxsb3dlZCkKK3sKK30KKwogdm9pZCBHUFVFcnJvclNjb3Blczo6
cHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKQogewogICAgIG1fZXJyb3JTY29w
ZXMuYXBwZW5kKEVycm9yU2NvcGUgeyBmaWx0ZXIsIFdURjo6bnVsbG9wdCB9KTsKQEAgLTUyLDkg
KzY1LDE2IEBAIHZvaWQgR1BVRXJyb3JTY29wZXM6OmdlbmVyYXRlRXJyb3IoY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBHUFVFcnJvckZpbHRlciBmaWx0ZXIpCiAgICAgICAgIHJldHVybiBzY29wZS5m
aWx0ZXIgPT0gR1BVRXJyb3JGaWx0ZXI6Ok5vbmUgfHwgc2NvcGUuZmlsdGVyID09IGZpbHRlcjsK
ICAgICB9KTsKIAotICAgIC8vIEZJWE1FOiBodHRwczovL3dlYmtpdC5vcmcvYi8xOTk2NzYgVW5j
YXB0dXJlZCBlcnJvcnMgbmVlZCB0byBiZSBmaXJlZCBhcyBHUFVVbmNhcHR1cmVkRXJyb3JFdmVu
dHMuCi0gICAgaWYgKGl0ZXJhdG9yID09IG1fZXJyb3JTY29wZXMucmVuZCgpKQorICAgIGlmIChp
dGVyYXRvciA9PSBtX2Vycm9yU2NvcGVzLnJlbmQoKSkgeworICAgICAgICBpZiAoIW1fbnVtVW5j
YXB0dXJlZEVycm9yRXZlbnRzQWxsb3dlZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICBtX3VuY2FwdHVyZWRFcnJvckNhbGxiYWNrKGNyZWF0ZUVycm9yKGZpbHRlciwgbWVzc2FnZSkp
OworICAgICAgICBpZiAoISgtLW1fbnVtVW5jYXB0dXJlZEVycm9yRXZlbnRzQWxsb3dlZCkpCisg
ICAgICAgICAgICBtX3VuY2FwdHVyZWRFcnJvckNhbGxiYWNrKGNyZWF0ZUVycm9yKEdQVUVycm9y
RmlsdGVyOjpWYWxpZGF0aW9uLCAiV2ViR1BVOiBUb28gbWFueSBlcnJvcnM7IG5vIG1vcmUgZXJy
b3IgZXZlbnRzIHdpbGwgZmlyZSBvbiB0aGlzIEdQVURldmljZS4iKSk7CisKICAgICAgICAgcmV0
dXJuOworICAgIH0KIAogICAgIC8vIElmIHRoZSBzY29wZSBoYXMgYWxyZWFkeSBjYXB0dXJlZCBh
biBlcnJvciwgaWdub3JlIHRoaXMgbmV3IG9uZS4KICAgICBpZiAoaXRlcmF0b3ItPmVycm9yKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9y
U2NvcGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JT
Y29wZXMuaAppbmRleCBhZjg4NTg4ZWYyYWJhMGJlYmQ1MWI3YzQzYzEzY2MxYTA1MzBkYzk3Li40
ZDRmZDVhMGIyMjZhZDI0NjBkMzVjZjRjOWQ4NDliNTEwYmI4MzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JTY29wZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JTY29wZXMuaApAQCAt
MjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiR1BVRXJyb3IuaCIKICNpbmNsdWRlICJHUFVFcnJv
ckZpbHRlci5oIgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9PcHRp
b25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgpAQCAtMzksNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdQVUVycm9y
U2NvcGVzIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVRXJyb3JTY29wZXM+IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUmVmPEdQVUVycm9yU2NvcGVzPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IEdQVUVycm9yU2NvcGVzKTsgfQorICAgIHVzaW5nIFVuY2FwdHVyZWRFcnJvckNhbGxiYWNr
ID0gRnVuY3Rpb248dm9pZChHUFVFcnJvciYmKT47CisgICAgc3RhdGljIFJlZjxHUFVFcnJvclNj
b3Blcz4gY3JlYXRlKFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrJiYpOwogCiAgICAgdm9pZCBwdXNo
RXJyb3JTY29wZShHUFVFcnJvckZpbHRlcik7CiAgICAgT3B0aW9uYWw8R1BVRXJyb3I+IHBvcEVy
cm9yU2NvcGUoU3RyaW5nJiBmYWlsTWVzc2FnZSk7CkBAIC01NCwxMCArNTYsMTMgQEAgcHJpdmF0
ZToKICAgICAgICAgT3B0aW9uYWw8R1BVRXJyb3I+IGVycm9yOwogICAgIH07CiAKLSAgICBHUFVF
cnJvclNjb3BlcygpID0gZGVmYXVsdDsKKyAgICBHUFVFcnJvclNjb3BlcyhVbmNhcHR1cmVkRXJy
b3JDYWxsYmFjayYmKTsKKworICAgIFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrIG1fdW5jYXB0dXJl
ZEVycm9yQ2FsbGJhY2s7CiAKICAgICBWZWN0b3I8RXJyb3JTY29wZT4gbV9lcnJvclNjb3BlczsK
ICAgICBTdHJpbmcgbV9wcmVmaXg7CisgICAgdW5zaWduZWQgbV9udW1VbmNhcHR1cmVkRXJyb3JF
dmVudHNBbGxvd2VkOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBlMjA0
MjQ5OTQ3NWI2MzJhZGJjYmZjMzlkMjIzYTdkNDhjYTZiMjUuLjM3MTY5ZThmNmEzNTRiODkxZmY0
ZTU1Mjk0MTIyZGJmNzgxZTljOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wOS0wNCAg
SnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIElt
cGxlbWVudCBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5Njc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0byBlbnN1cmUgR1BVVW5jYXB0dXJl
ZEVycm9yRXZlbnRzIHdvcmsuCisKKyAgICAgICAgKiB3ZWJncHUvdW5jYXB0dXJlZC1lcnJvcnMu
aHRtbDogQWRkZWQuCisKIDIwMTktMDktMDQgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxs
YXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRyZXNzIHJldmlldyBjb21tZW50cyBhZnRlciBy
MjQ5MzY0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvdW5jYXB0dXJlZC1lcnJvcnMu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS91bmNhcHR1cmVkLWVycm9ycy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjllMmVjNDIwZDBkZjllN2E2OTNhYzYxNzM5OWY1OGE0OTgxMjcxNWIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvdW5jYXB0dXJlZC1lcnJvcnMuaHRtbApAQCAtMCww
ICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+
VGVzdCBFcnJvciBTY29wZXMuPC90aXRsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9ImpzL3dlYmdw
dS1mdW5jdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitsZXQgdGVzdHMgPSB7fTsKK2xldCBl
dmVudFdhdGNoZXI7CisKK2NvbnN0IGNhdXNlVW5jYXB0dXJlZEVycm9yRXZlbnQgPSBkZXZpY2Ug
PT4geworICAgIGRldmljZS5jcmVhdGVCdWZmZXIoeyBzaXplOiA0LCB1c2FnZTogR1BVQnVmZmVy
VXNhZ2UuTUFQX1JFQUQgfCBHUFVCdWZmZXJVc2FnZS5NQVBfV1JJVEUgfSk7Cit9OworCit0ZXN0
c1siRmlyZSBhbiB1bmNhcHR1cmVkIEdQVURldmljZSBlcnJvciBldmVudCBhdCAnZGV2aWNlJy4i
XSA9IGFzeW5jIGRldmljZSA9PiB7CisgICAgY29uc3QgYXN5bmNUZXN0ID0gYXN5bmNfdGVzdCgi
R1BVVW5jYXB0dXJlZEVycm9yRXZlbnQgYXN5bmMgdGVzdC4iKTsKKyAgICBjb25zdCBldmVudFdh
dGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKGFzeW5jVGVzdCwgZGV2aWNlLCAidW5jYXB0dXJlZGVy
cm9yIik7CisgICAgY29uc3QgZXZlbnRGaXJlZCA9IGV2ZW50V2F0Y2hlci53YWl0X2ZvcigidW5j
YXB0dXJlZGVycm9yIikudGhlbihldmVudCA9PiB7CisgICAgICAgIGFzc2VydF90cnVlKGV2ZW50
LmVycm9yIGluc3RhbmNlb2YgR1BVVmFsaWRhdGlvbkVycm9yLCAiU3VjY2Vzc2Z1bGx5IGZpcmVk
IEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50LiIpOworICAgICAgICBhc3luY1Rlc3QuZG9uZSgpOwor
ICAgIH0pOworCisgICAgY29uc3QgdGltZW91dCA9IG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+
IHsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHJlamVjdCgiVGltZWQgb3V0IHdhaXRpbmcg
Zm9yIGVycm9yIGV2ZW50ISIpIH0sIDMwMDApOworICAgIH0pOworCisgICAgY2F1c2VVbmNhcHR1
cmVkRXJyb3JFdmVudChkZXZpY2UpOworCisgICAgcmV0dXJuIFByb21pc2UucmFjZShbZXZlbnRG
aXJlZCwgdGltZW91dF0pOworfTsKKwordGVzdHNbIkludGVyY2VwdCBhbiB1bmNhcHR1cmVkIGVy
cm9yIHdpdGggR1BVRGV2aWNlLm9udW5jYXB0dXJlZGVycm9yIEV2ZW50SGFuZGxlci4iXSA9IGFz
eW5jIGRldmljZSA9PiB7CisgICAgY29uc3QgY2FwdHVyZWRFcnJvclByb21pc2UgPSBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgZGV2aWNlLm9udW5jYXB0dXJlZGVycm9yID0gZXZl
bnQgPT4geworICAgICAgICAgICAgYXNzZXJ0X3RydWUoZXZlbnQuZXJyb3IgaW5zdGFuY2VvZiBH
UFVWYWxpZGF0aW9uRXJyb3IsICJTdWNjZXNzZnVsbHkgZmlyZWQgR1BVVW5jYXB0dXJlZEVycm9y
RXZlbnQuIik7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH07CisKKyAgICAgICAg
Y2F1c2VVbmNhcHR1cmVkRXJyb3JFdmVudChkZXZpY2UpOworICAgIH0pOworCisgICAgY29uc3Qg
dGltZW91dCA9IG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHsKKyAgICAgICAgc2V0VGltZW91
dCgoKSA9PiB7IHJlamVjdCgiVGltZWQgb3V0IHdhaXRpbmcgZm9yIGVycm9yIGV2ZW50ISIpIH0s
IDMwMDApOworICAgIH0pOworCisgICAgcmV0dXJuIFByb21pc2UucmFjZShbY2FwdHVyZWRFcnJv
clByb21pc2UsIHRpbWVvdXRdKTsKK307CisKK3J1blRlc3RzV2l0aERldmljZSh0ZXN0cyk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378135</attachid>
            <date>2019-09-05 16:26:03 -0700</date>
            <delta_ts>2022-02-10 16:40:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199676-20190905162602.patch</filename>
            <type>text/plain</type>
            <size>47221</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q1MmI4ZTJiYmM3Nzdm
OGZhYjA3N2Y2YjA5MzMxMmVkMDcyZTMzMS4uMTBjNjA4YjZmMmRjYTE0OTNhMmIyNzdlYTllMjEz
MDFjNzA3MDA1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE5LTA5LTA1ICBKdXN0
aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSW1wbGVt
ZW50IEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2NzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQgYW5k
ICJ1bmNhcHR1cmVkZXJyb3IiIGV2ZW50IG5hbWUuCisgICAgICAgIEFkZCB0aGUgb251bmNhcHR1
cmVkZXJyb3IgRXZlbnRIYW5kbGVyIGF0dHJpYnV0ZSB0byBHUFVEZXZpY2UuCisKKyAgICAgICAg
VGVzdDogd2ViZ3B1L3VuY2FwdHVyZWQtZXJyb3JzLmh0bWwKKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVkRXJy
b3JFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVVbmNhcHR1cmVkRXJyb3JFdmVudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVVuY2FwdHVyZWRFcnJvckV2ZW50OjpHUFVV
bmNhcHR1cmVkRXJyb3JFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpHUFVVbmNhcHR1cmVkRXJy
b3JFdmVudDo6ZXZlbnRJbnRlcmZhY2UgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1
L0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvR1BV
VW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUFkYXB0ZXIuY3BwOiBNdXN0IG5vdyBwcm92aWRlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgdG8g
YW55IGNyZWF0ZWQgR1BVRGV2aWNlLgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVQWRhcHRlcjo6
cmVxdWVzdERldmljZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRh
cHRlci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6IElzIG5vdyBhbiBFdmVudFRh
cmdldC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6dHJ5Q3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdQVURldmljZTo6V2ViR1BVRGV2aWNlKToKKyAgICAgICAgKFdlYkNv
cmU6OnByaW50VmFsaWRhdGlvbkVycm9yVG9Db25zb2xlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdQVURldmljZTo6ZGlzcGF0Y2hVbmNhcHR1cmVkRXJyb3IpOiBFdmVudHMgc2hvdWxkIG9ubHkg
YmUgZmlyZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgICogTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFdmVudEhhbmRsZXIuaWRs
OgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
Lmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1l
cy5pbjoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHA6IEdQVUVycm9ycyBjYW4gb25seSBiZSBj
cmVhdGVkIGludGVybmFsbHk7IGNyZWF0aW9uIHNob3VsZCBuZXZlciBmYWlsLgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlRXJyb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVFcnJvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvclNjb3Bl
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVFcnJvclNjb3Blczo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVUVycm9yU2NvcGVzOjpHUFVFcnJvclNjb3Blcyk6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVFcnJvclNjb3Blczo6Z2VuZXJhdGVFcnJvcik6IFVzZSBhIGNhbGxiYWNrIGZv
ciBub3csIHNpbmNlIEdQVUVycm9yU2NvcGVzIGlzIHN0aWxsIHVuZGVyIHBsYXRmb3JtLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvclNjb3Blcy5oOgorICAgICAgICAo
V2ViQ29yZTo6R1BVRXJyb3JTY29wZXM6OmNyZWF0ZSk6IERlbGV0ZWQuCisKIDIwMTktMDktMDQg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBGb3JtYXR0
aW5nQ29udGV4dDo6bWFwKiBmdW5jdGlvbnMgYXJlIHRvbyBnZW5lcmljLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCAzOWMwZGRjNTY2YzhjYWJmODhhZjcyZDA5YzQ5NTA4ZjgwZGQxODNjLi45ZmI0
ZTBiMDE0Mjg3Y2E2YzNhMGM3YjM5ZDllMzdkNjg2YjI1ZTk0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtNDkyLDYgKzQ5Miw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAg
TW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJn
cHUvR1BVVGV4dHVyZUZvcm1hdC5pZGwKICAgICBNb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlVXNh
Z2UuaWRsCisgICAgTW9kdWxlcy93ZWJncHUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsCiAg
ICAgTW9kdWxlcy93ZWJncHUvR1BVVmFsaWRhdGlvbkVycm9yLmlkbAogICAgIE1vZHVsZXMvd2Vi
Z3B1L0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUv
R1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5pZGwKQEAgLTUxMiw2ICs1MTMsNyBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQ
aXBlbGluZURlc2NyaXB0b3IuaWRsCiAgICAgTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlk
bAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUVycm9yU2NvcGVzLmlkbAorICAgIE1v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUV2ZW50SGFuZGxlci5pZGwKICAgICBNb2R1bGVzL3dl
YmdwdS9XZWJHUFVQaXBlbGluZURlc2NyaXB0b3JCYXNlLmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1
L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbAogICAgIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVs
aW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGY0MDFmNzRmZDRlYWFhMTIxNDZkOWM2MWIyNzY4Njcw
ZDBiYTk4MTYuLjcyOGQ1ODZmZDhlNjIyYTIzZDAwMWQzZGY1ZWZjMjllZjUwNzFhNzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMzQ2
LDYgKzM0Niw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVN0b3JlT3AuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVGb3JtYXQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVUZXh0dXJlVXNhZ2UuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2ViZ3B1L0dQVVZlcnRleEF0dHJpYnV0ZURlc2NyaXB0b3IuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9HUFVWZXJ0ZXhCdWZmZXJEZXNjcmlwdG9yLmlkbApA
QCAtMzY4LDYgKzM2OSw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNv
bXB1dGVQaXBlbGluZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNv
bXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVE
ZXZpY2VFcnJvclNjb3Blcy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VURldmljZUV2ZW50SGFuZGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVQaXBlbGluZUxheW91dC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0RGVzY3JpcHRvci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMDE0YjE1YTYzYjA1YTVl
YTcyOWQxYjI0YjUwYWYwY2RiMmFmMGIwOS4uZWNmMjczMjkzOGE4M2I1MTFhY2YyMzlkMGQ3NmEy
MmIxMDgzODc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QKQEAgLTYzNSw2ICs2MzUsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVGb3JtYXQuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVRleHR1cmVGb3JtYXQuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVUZXh0dXJlVXNh
Z2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQ
VVRleHR1cmVVc2FnZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dQVVZhbGlkYXRpb25F
cnJvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R1BVVmFsaWRhdGlvbkVycm9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5jcHAKQEAgLTc3NSw4ICs3
NzcsNiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hU
TUxNZXRlckVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0hUTUxNZXRlckVsZW1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE1vZEVsZW1lbnQuaAotJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT3JGb3JlaWduRWxlbWVu
dC5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRN
TE9yRm9yZWlnbkVsZW1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNIVE1MT0xpc3RFbGVtZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT0xpc3RFbGVtZW50LmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE9iamVjdEVsZW1lbnQuY3BwCkBA
IC03ODcsNiArNzg3LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNIVE1MT3B0aW9uRWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE9wdGlvbkVsZW1lbnQuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0hUTUxPckZvcmVpZ25FbGVtZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT3JGb3JlaWduRWxlbWVudC5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPdXRwdXRFbGVtZW50LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT3V0
cHV0RWxlbWVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmNwcApAQCAtMTk2MSw2ICsxOTYzLDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVEZXZpY2UuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQVURl
dmljZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dl
YkdQVURldmljZUVycm9yU2NvcGVzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYkdQVURldmljZUV2ZW50SGFuZGxl
ci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
R1BVRGV2aWNlRXZlbnRIYW5kbGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViR1BVUGlwZWxpbmVEZXNj
cmlwdG9yQmFzZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggZWI2ZDgyNzFiMjU3MTM2YjM5NmI3NWQyZDFmMGRhNGRiZmM5NTM3YS4uMGQzYzY5YTgz
ZjllODdmN2E0MGZkNTViMDdhYzQzNDBkNjgxMjRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0zOTgsNiArMzk4LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVGb3JtYXQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L0dQVVRleHR1cmVVc2FnZS5pZGwgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJncHUvR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L0dQVVZhbGlkYXRpb25FcnJvci5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvR1BVVmVydGV4QnVmZmVyRGVzY3JpcHRvci5pZGwg
XApAQCAtNDE4LDYgKzQxOSw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwgXAogCSQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlRXJyb3JTY29wZXMuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUV2ZW50SGFuZGxlci5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJncHUvV2ViR1BVUXVldWUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lTGF5b3V0LmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVkRXJy
b3JFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVk
RXJyb3JFdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUwMTUwYTkyMzA1YTNlNGJlYjFkOWI1NGVjMjc0
YjEyMWZlMjc0MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmNwcApAQCAtMCwwICsxLDYyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkdQVVVuY2FwdHVyZWRFcnJvckV2
ZW50LmgiCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Jl
ZjxHUFVVbmNhcHR1cmVkRXJyb3JFdmVudD4gR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQ6OmNyZWF0
ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVz
dGVkIGlzVHJ1c3RlZCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVVbmNhcHR1cmVk
RXJyb3JFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKSk7Cit9CisKK1JlZjxHUFVV
bmNhcHR1cmVkRXJyb3JFdmVudD4gR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQ6OmNyZWF0ZShjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBHUFVFcnJvciYmIGVycm9yKQoreworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50KHR5cGUsIFdURk1vdmUoZXJyb3IpKSk7
Cit9CisKK0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50OjpHUFVVbmNhcHR1cmVkRXJyb3JFdmVudChj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVk
IGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCisg
ICAgLCBtX2Vycm9yKGluaXRpYWxpemVyLmVycm9yKQoreworfQorCitHUFVVbmNhcHR1cmVkRXJy
b3JFdmVudDo6R1BVVW5jYXB0dXJlZEVycm9yRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwg
R1BVRXJyb3ImJiBlcnJvcikKKyAgICA6IEV2ZW50KHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2Fu
Y2VsYWJsZTo6Tm8pCisgICAgLCBtX2Vycm9yKFdURk1vdmUoZXJyb3IpKQoreworfQorCitFdmVu
dEludGVyZmFjZSBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25z
dAoreworICAgIHJldHVybiBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudEludGVyZmFjZVR5cGU7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVkRXJy
b3JFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVW5jYXB0dXJlZEVy
cm9yRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDlkNDFiYzhmYTZiNDNiMzc1ZWUxOTZjMzI5NjI2N2Jl
ZTE4NWY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
R1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCR1BVKQorCisjaW5jbHVkZSAiRXZlbnQuaCIK
KyNpbmNsdWRlICJHUFVFcnJvci5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudCBmaW5hbCA6IHB1Ymxp
YyBFdmVudCB7CitwdWJsaWM6CisgICAgc3RydWN0IEluaXQ6IEV2ZW50SW5pdCB7CisgICAgICAg
IEdQVUVycm9yIGVycm9yOworICAgIH07CisKKyAgICBzdGF0aWMgUmVmPEdQVVVuY2FwdHVyZWRF
cnJvckV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IEluaXQmLCBJc1RydXN0
ZWQgPSBJc1RydXN0ZWQ6Ok5vKTsKKyAgICBzdGF0aWMgUmVmPEdQVVVuY2FwdHVyZWRFcnJvckV2
ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYsIEdQVUVycm9yJiYpOworCisgICAgY29uc3Qg
R1BVRXJyb3IgZXJyb3IoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yOyB9CisKK3ByaXZhdGU6Cisg
ICAgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQoY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IEluaXQm
LCBJc1RydXN0ZWQpOworICAgIEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmLCBHUFVFcnJvciYmKTsKKworICAgIC8vIEV2ZW50CisgICAgRXZlbnRJbnRlcmZhY2UgZXZl
bnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKKworICAgIEdQVUVycm9yIG1fZXJyb3I7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR1BVKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVW5jYXB0dXJlZEVy
cm9yRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVVW5jYXB0dXJl
ZEVycm9yRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkM2M2YTFkMWMyM2FkNGE4ZTBkY2UyOTRjOGIy
Mjc1YjhhZmJhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5pZGwKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisvLyBodHRwczovL2dwdXdlYi5naXRodWIuaW8vZ3B1d2ViCisKK3R5cGVkZWYgKEdQVU91
dE9mTWVtb3J5RXJyb3Igb3IgR1BVVmFsaWRhdGlvbkVycm9yKSBHUFVFcnJvcjsKKworWworICAg
IENvbmRpdGlvbmFsPVdFQkdQVSwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQorXSBkaWN0
aW9uYXJ5IEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgcmVx
dWlyZWQgR1BVRXJyb3IgZXJyb3I7Cit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAor
ICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudElu
aXQgZ3B1VW5jYXB0dXJlZEVycm9yRXZlbnRJbml0RGljdCksCisgICAgRW5hYmxlZEF0UnVudGlt
ZT1XZWJHUFUsCisgICAgRXhwb3NlZD1XaW5kb3cKK10gaW50ZXJmYWNlIEdQVVVuY2FwdHVyZWRF
cnJvckV2ZW50IDogRXZlbnQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBHUFVFcnJvciBlcnJv
cjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVB
ZGFwdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIu
Y3BwCmluZGV4IDYxOGZhNmYwYWQyNTA4NDk0NGZhMDA4YWRjNjIzMjhiNTJjMzdiMjkuLjUyNzE0
ZmI5MTI5OGI5YjI2ZjA2NGFiNjgxMjYwMDI4ZmNlNzU4YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCkBAIC0yOCw4ICsyOCw4IEBACiAK
ICNpZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJK
U1dlYkdQVURldmljZS5oIgotI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MywxMiArNDMsMTQgQEAgV2ViR1BVQWRhcHRlcjo6
V2ViR1BVQWRhcHRlcihPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiYgb3B0aW9u
cykKIHsKIH0KIAotdm9pZCBXZWJHUFVBZGFwdGVyOjpyZXF1ZXN0RGV2aWNlKERldmljZVJlcXVl
c3RQcm9taXNlJiYgcHJvbWlzZSkgY29uc3QKK3ZvaWQgV2ViR1BVQWRhcHRlcjo6cmVxdWVzdERl
dmljZShEb2N1bWVudCYgZG9jdW1lbnQsIERldmljZVJlcXVlc3RQcm9taXNlJiYgcHJvbWlzZSkg
Y29uc3QKIHsKLSAgICBpZiAoYXV0byBkZXZpY2UgPSBXZWJHUFVEZXZpY2U6OnRyeUNyZWF0ZSgq
dGhpcykpCi0gICAgICAgIHByb21pc2UucmVzb2x2ZShkZXZpY2UucmVsZWFzZU5vbk51bGwoKSk7
Ci0gICAgZWxzZQotICAgICAgICBwcm9taXNlLnJlamVjdCgpOworICAgIGRvY3VtZW50LnBvc3RU
YXNrKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHByb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJsZSB7CisgICAg
ICAgIGlmIChhdXRvIGRldmljZSA9IFdlYkdQVURldmljZTo6dHJ5Q3JlYXRlKGNvbnRleHQsIHBy
b3RlY3RlZFRoaXMuZ2V0KCkpKQorICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKGRldmljZS5y
ZWxlYXNlTm9uTnVsbCgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJvbWlzZS5yZWpl
Y3QoKTsKKyAgICB9KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5oCmluZGV4IDM5YmEzZGI2ZTUxNGU0
M2NkZDgxMzZkMzllZjBjOGU3MjQ4NDVlNWQuLjE4NDk1MTk3NzJkMzJiYzIzYmI1MjQ1NzRiNzgw
NjgyMzE2Yzk4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVUFkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVB
ZGFwdGVyLmgKQEAgLTM1LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBXZWJHUFVE
ZXZpY2U7CiAKIGNsYXNzIFdlYkdQVUFkYXB0ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVB
ZGFwdGVyPiB7CkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYkdQ
VUFkYXB0ZXI+IGNyZWF0ZShPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiYpOwog
CiAgICAgdXNpbmcgRGV2aWNlUmVxdWVzdFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURM
SW50ZXJmYWNlPFdlYkdQVURldmljZT4+OwotICAgIHZvaWQgcmVxdWVzdERldmljZShEZXZpY2VS
ZXF1ZXN0UHJvbWlzZSYmKSBjb25zdDsKKyAgICB2b2lkIHJlcXVlc3REZXZpY2UoRG9jdW1lbnQm
LCBEZXZpY2VSZXF1ZXN0UHJvbWlzZSYmKSBjb25zdDsKICAgICAKICAgICBjb25zdCBPcHRpb25h
bDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiBvcHRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9v
cHRpb25zOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVUFkYXB0ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRh
cHRlci5pZGwKaW5kZXggZDgzMTkwM2IzNzNhYTc2OTJlYzhmYWZhNzkxNzI5MDhhMmM1ODcxMi4u
N2RiOTVhNmI1NWI0YWZlZTZiMzY2N2UwMmZjM2QyNmJlMzgwZDJlMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5pZGwKQEAgLTM1LDUgKzM1LDUg
QEAKICAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgV2ViR1BVTGltaXRzIGxpbWl0czsgRG9uJ3Qg
ZXhwb3NlIGhpZ2hlciBsaW1pdHMgZm9yIG5vdy4KIAogICAgIC8vIE1heSByZWplY3Qgd2l0aCBE
T01FeGNlcHRpb24gIC8vIFRPRE86IERPTUV4Y2VwdGlvbigiT3BlcmF0aW9uRXJyb3IiKT8KLSAg
ICBQcm9taXNlPFdlYkdQVURldmljZT4gcmVxdWVzdERldmljZSgvKkdQVURldmljZURlc2NyaXB0
b3IgZGVzY3JpcHRvciovKTsKKyAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIFByb21pc2U8V2ViR1BV
RGV2aWNlPiByZXF1ZXN0RGV2aWNlKC8qR1BVRGV2aWNlRGVzY3JpcHRvciBkZXNjcmlwdG9yKi8p
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURl
dmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3Bw
CmluZGV4IGY0MDRiODA5NDMxOGE2ODFiMmY2OTcwMTI1ZTc2NDNhMDExN2ZmMGMuLmMwZjA1ZmQw
MzllMWZhZmUyNGQwYjQxNWJiMTdiNWE5MjczZGE2NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcApAQCAtMjgsNiArMjgsOSBAQAogCiAjaWYg
RU5BQkxFKFdFQkdQVSkKIAorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgog
I2luY2x1ZGUgIkdQVUJpbmRHcm91cC5oIgogI2luY2x1ZGUgIkdQVUJpbmRHcm91cEJpbmRpbmcu
aCIKQEAgLTQzLDYgKzQ2LDcgQEAKICNpbmNsdWRlICJHUFVTYW1wbGVyRGVzY3JpcHRvci5oIgog
I2luY2x1ZGUgIkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJHUFVUZXh0
dXJlRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIkdQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmgiCiAj
aW5jbHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCiAjaW5jbHVkZSAiSlNHUFVPdXRP
Zk1lbW9yeUVycm9yLmgiCiAjaW5jbHVkZSAiSlNHUFVWYWxpZGF0aW9uRXJyb3IuaCIKQEAgLTY3
LDIzICs3MSwzNSBAQAogI2luY2x1ZGUgIldlYkdQVVNoYWRlck1vZHVsZURlc2NyaXB0b3IuaCIK
ICNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW4uaCIKICNpbmNsdWRlICJXZWJHUFVUZXh0dXJlLmgi
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ29uc29sZU1lc3NhZ2UuaD4KKyNpbmNsdWRlIDxt
ZW1vcnk+CisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi9W
YXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotUmVmUHRyPFdlYkdQVURldmljZT4gV2ViR1BVRGV2aWNlOjp0cnlDcmVhdGUo
UmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYgYWRhcHRlcikKK1dURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChXZWJHUFVEZXZpY2UpOworCitSZWZQdHI8V2ViR1BVRGV2aWNlPiBXZWJHUFVEZXZp
Y2U6OnRyeUNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Y29uc3Qg
V2ViR1BVQWRhcHRlcj4mJiBhZGFwdGVyKQogewogICAgIGlmIChhdXRvIGRldmljZSA9IEdQVURl
dmljZTo6dHJ5Q3JlYXRlKGFkYXB0ZXItPm9wdGlvbnMoKSkpCi0gICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgV2ViR1BVRGV2aWNlKFdURk1vdmUoYWRhcHRlciksIGRldmljZS5yZWxlYXNlTm9u
TnVsbCgpKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViR1BVRGV2aWNlKGNvbnRl
eHQsIFdURk1vdmUoYWRhcHRlciksIGRldmljZS5yZWxlYXNlTm9uTnVsbCgpKSk7CiAgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKLVdlYkdQVURldmljZTo6V2ViR1BVRGV2aWNlKFJlZjxjb25zdCBX
ZWJHUFVBZGFwdGVyPiYmIGFkYXB0ZXIsIFJlZjxHUFVEZXZpY2U+JiYgZGV2aWNlKQotICAgIDog
bV9hZGFwdGVyKFdURk1vdmUoYWRhcHRlcikpCitXZWJHUFVEZXZpY2U6OldlYkdQVURldmljZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4m
JiBhZGFwdGVyLCBSZWY8R1BVRGV2aWNlPiYmIGRldmljZSkKKyAgICA6IG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dChjb250ZXh0KQorICAgICwgbV9hZGFwdGVyKFdURk1vdmUoYWRhcHRlcikpCiAg
ICAgLCBtX2RldmljZShXVEZNb3ZlKGRldmljZSkpCi0gICAgLCBtX2Vycm9yU2NvcGVzKEdQVUVy
cm9yU2NvcGVzOjpjcmVhdGUoKSkKKyAgICAsIG1fZXJyb3JTY29wZXMoR1BVRXJyb3JTY29wZXM6
OmNyZWF0ZShbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0gKEdQVUVycm9yJiYg
ZXJyb3IpIHsKKyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgZGlzcGF0Y2hVbmNh
cHR1cmVkRXJyb3IoV1RGTW92ZShlcnJvcikpOworICAgIH0pKQogeworICAgIEFTU0VSVChtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaXNEb2N1bWVudCgpKTsKIH0KIAogUmVmPFdlYkdQVUJ1ZmZl
cj4gV2ViR1BVRGV2aWNlOjpjcmVhdGVCdWZmZXIoY29uc3QgR1BVQnVmZmVyRGVzY3JpcHRvciYg
ZGVzY3JpcHRvcikgY29uc3QKQEAgLTIwNSw2ICsyMjEsMzEgQEAgdm9pZCBXZWJHUFVEZXZpY2U6
OnBvcEVycm9yU2NvcGUoRXJyb3JQcm9taXNlJiYgcHJvbWlzZSkKICAgICAgICAgcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IsICJHUFVEZXZpY2U6OnBvcEVycm9yU2Nv
cGUoKTogIiArIGZhaWxNZXNzYWdlIH0pOwogfQogCisvLyBFcnJvcnMgcmVwb3J0ZWQgdmlhIHRo
ZSB2YWxpZGF0aW9uIGVycm9yIGV2ZW50IHNob3VsZCBhbHNvIGFwcGVhciBpbiB0aGUgY29uc29s
ZSBhcyB3YXJuaW5ncy4KK3N0YXRpYyB2b2lkIHByaW50VmFsaWRhdGlvbkVycm9yVG9Db25zb2xl
KEdQVUVycm9yJiBlcnJvciwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK3sKKyAg
ICBpZiAoIVdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmUHRyPEdQVVZhbGlkYXRpb25FcnJvcj4+
KGVycm9yKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byB2YWxpZGF0aW9uRXJyb3IgPSBX
VEY6OmdldDxSZWZQdHI8R1BVVmFsaWRhdGlvbkVycm9yPj4oZXJyb3IpOworICAgIGlmICghdmFs
aWRhdGlvbkVycm9yKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIG1lc3NhZ2UgPSB2YWxp
ZGF0aW9uRXJyb3ItPm1lc3NhZ2UoKTsKKyAgICBhdXRvIGNvbnNvbGVNZXNzYWdlID0gbWFrZVVu
aXF1ZTxJbnNwZWN0b3I6OkNvbnNvbGVNZXNzYWdlPihNZXNzYWdlU291cmNlOjpSZW5kZXJpbmcs
IE1lc3NhZ2VUeXBlOjpMb2csIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgbWVzc2FnZSk7CisKKyAg
ICBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkuYWRkQ29uc29sZU1lc3NhZ2UoV1RGTW92ZShj
b25zb2xlTWVzc2FnZSkpOworfQorCit2b2lkIFdlYkdQVURldmljZTo6ZGlzcGF0Y2hVbmNhcHR1
cmVkRXJyb3IoR1BVRXJyb3ImJiBlcnJvcikKK3sKKyAgICBwcmludFZhbGlkYXRpb25FcnJvclRv
Q29uc29sZShlcnJvciwgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKKworICAgIGNhbGxPbk1h
aW5UaHJlYWQoW2Vycm9yID0gV1RGTW92ZShlcnJvciksIHRoaXMsIHByb3RlY3RlZFRoaXMgPSBt
YWtlUmVmKCp0aGlzKV0gKCkgbXV0YWJsZSB7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoR1BVVW5j
YXB0dXJlZEVycm9yRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkudW5jYXB0dXJlZGVycm9yRXZl
bnQsIFdURk1vdmUoZXJyb3IpKSk7CisgICAgfSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJHUFUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZ3B1L1dlYkdQVURldmljZS5oCmluZGV4IGY0ZTQzZjIzNTQ3ZTdiZTBjOWZmYTA0NDM0MWZj
NmE4NjAwZTM5MjAuLmNlNDU0YTk0NjA2OGI1YTA2YWE3NjkzN2I5MTU4ZWNmNTYyMGEwZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCkBAIC0yNyw2
ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoV0VCR1BVKQogCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQu
aCIKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKICNpbmNsdWRlICJHUFVFcnJvclNjb3Blcy5oIgog
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCkBAIC0zNyw2ICszOCw3IEBACiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewogY2xhc3MgQXJyYXlCdWZmZXI7CkBAIC03NSw5ICs3NywxMCBAQCBlbnVtIGNsYXNzIEdQ
VUVycm9yRmlsdGVyOwogdXNpbmcgRXJyb3JJRExVbmlvbiA9IElETFVuaW9uPElETEludGVyZmFj
ZTxHUFVPdXRPZk1lbW9yeUVycm9yPiwgSURMSW50ZXJmYWNlPEdQVVZhbGlkYXRpb25FcnJvcj4+
OwogdXNpbmcgRXJyb3JQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETE51bGxhYmxlPEVy
cm9ySURMVW5pb24+PjsKIAotY2xhc3MgV2ViR1BVRGV2aWNlIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViR1BVRGV2aWNlPiB7CitjbGFzcyBXZWJHUFVEZXZpY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxX
ZWJHUFVEZXZpY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENh
bk1ha2VXZWFrUHRyPFdlYkdQVURldmljZT4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
V2ViR1BVRGV2aWNlKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPFdlYkdQVURldmljZT4g
dHJ5Q3JlYXRlKFJlZjxjb25zdCBXZWJHUFVBZGFwdGVyPiYmKTsKKyAgICBzdGF0aWMgUmVmUHRy
PFdlYkdQVURldmljZT4gdHJ5Q3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8Y29u
c3QgV2ViR1BVQWRhcHRlcj4mJik7CiAKICAgICBjb25zdCBXZWJHUFVBZGFwdGVyJiBhZGFwdGVy
KCkgY29uc3QgeyByZXR1cm4gbV9hZGFwdGVyLmdldCgpOyB9CiAgICAgR1BVRGV2aWNlJiBkZXZp
Y2UoKSB7IHJldHVybiBtX2RldmljZS5nZXQoKTsgfQpAQCAtMTAzLDggKzEwNiwyMSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwdXNoRXJyb3JTY29wZShHUFVFcnJvckZpbHRlciBmaWx0ZXIpIHsgbV9l
cnJvclNjb3Blcy0+cHVzaEVycm9yU2NvcGUoZmlsdGVyKTsgfQogICAgIHZvaWQgcG9wRXJyb3JT
Y29wZShFcnJvclByb21pc2UmJik7CiAKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAg
dXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CisKIHByaXZhdGU6Ci0gICAgV2ViR1BVRGV2aWNlKFJl
Zjxjb25zdCBXZWJHUFVBZGFwdGVyPiYmLCBSZWY8R1BVRGV2aWNlPiYmKTsKKyAgICBXZWJHUFVE
ZXZpY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxjb25zdCBXZWJHUFVBZGFwdGVyPiYm
LCBSZWY8R1BVRGV2aWNlPiYmKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgRXZlbnRUYXJn
ZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBX
ZWJHUFVEZXZpY2VFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KKyAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4g
Jm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsgfQorICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBm
aW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJl
ZigpOyB9CisKKyAgICB2b2lkIGRpc3BhdGNoVW5jYXB0dXJlZEVycm9yKEdQVUVycm9yJiYpOwor
CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAgICAgUmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+IG1fYWRhcHRlcjsKICAgICBSZWY8R1BVRGV2
aWNlPiBtX2RldmljZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVURldmljZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVE
ZXZpY2UuaWRsCmluZGV4IGY1ZmYwMDg4MzM2MDI4ZGQ1ZjMwMzlhNjVjOWFmNTUxYjQ2NmU5MTEu
LmNmZjRhOTg2NjY2MGFmZTcwYTI0NjZmNmJiZThmYjhjOTc4MDEzMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmlkbApAQCAtMjksOSArMjksOCBA
QCB0eXBlZGVmIHNlcXVlbmNlPGFueT4gR1BVTWFwcGVkQnVmZmVyOyAgLy8gW0dQVUJ1ZmZlciwg
QXJyYXlCdWZmZXJdCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJm
YWNlTmFtZT1HUFVEZXZpY2UKLV0gaW50ZXJmYWNlIFdlYkdQVURldmljZSB7CitdIGludGVyZmFj
ZSBXZWJHUFVEZXZpY2UgOiBFdmVudFRhcmdldCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFdl
YkdQVUFkYXB0ZXIgYWRhcHRlcjsKIAogICAgIFdlYkdQVUJ1ZmZlciBjcmVhdGVCdWZmZXIoR1BV
QnVmZmVyRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZUV2ZW50SGFuZGxlci5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFdmVudEhhbmRsZXIuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY1NDUzMzFlZDg5OGUxYmE4YWEyOGU2ZTMyN2Q4ZWRhNGM4NzU0ZjgKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2VFdmVudEhh
bmRsZXIuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworLy8gaHR0cHM6Ly9ncHV3ZWIu
Z2l0aHViLmlvL2dwdXdlYgorCitbCisgICAgQ29uZGl0aW9uYWw9V0VCR1BVLAorICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViR1BVCitdIHBhcnRpYWwgaW50ZXJmYWNlIFdlYkdQVURldmljZSB7Cisg
ICAgW0V4cG9zZWQ9V2luZG93XQorICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb251bmNhcHR1
cmVkZXJyb3I7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBjOWIxMTNjMWQ4MGYzZjNmNGJhOWY5Nzc1
NDAzNjViYTc0N2UxNDExLi4xMTZkNTE0NWZlYzZmYTI5YjU2ZWIwYWQ0ZDBhNTA1NTU2YmYyZmRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dApAQCAtMzAzLDYgKzMwMyw3IEBAIE1vZHVsZXMvd2Vic29ja2V0cy9X
ZWJTb2NrZXRIYW5kc2hha2UuY3BwCiBNb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuY3BwCiAKIE1vZHVsZXMvd2ViZ3B1L0dQVUNhbnZhc0NvbnRleHQu
Y3BwCitNb2R1bGVzL3dlYmdwdS9HUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5jcHAKIE1vZHVsZXMv
d2ViZ3B1L05hdmlnYXRvckdQVS5jcHAKIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMQ29tcHV0
ZURpbWVuc2lvbnMuY3BwCiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFy
eVV0aWxpdGllcy5jcHAKQEAgLTI4MjgsNiArMjgyOSw3IEBAIEpTR1BVU3RvcmVPcC5jcHAKIEpT
R1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCiBKU0dQVVRleHR1cmVGb3JtYXQuY3BwCiBKU0dQVVRl
eHR1cmVVc2FnZS5jcHAKK0pTR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuY3BwCiBKU0dQVVZhbGlk
YXRpb25FcnJvci5jcHAKIEpTR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5jcHAKIEpTR1BV
VmVydGV4QnVmZmVyRGVzY3JpcHRvci5jcHAKQEAgLTMzODUsNiArMzM4Nyw3IEBAIEpTV2ViR1BV
Q29tcHV0ZVBpcGVsaW5lLmNwcAogSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yLmNw
cAogSlNXZWJHUFVEZXZpY2UuY3BwCiBKU1dlYkdQVURldmljZUVycm9yU2NvcGVzLmNwcAorSlNX
ZWJHUFVEZXZpY2VFdmVudEhhbmRsZXIuY3BwCiBKU1dlYkdQVVF1ZXVlLmNwcAogSlNXZWJHUFVQ
aXBlbGluZURlc2NyaXB0b3JCYXNlLmNwcAogSlNXZWJHUFVQaXBlbGluZUxheW91dC5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAzOTQxNTVhMTBhZGQ5MjVlYWQ3NjFiYTUxN2U0ZDhlOGFjZjFhODQ2Li43ZTk1YjYzOWEyNzZm
MzkzZTMyMzNlYzMwMWFhMDdkZTA2OTA3N2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzk5NCw2ICsxMzk5NCwxMSBAQAog
CQlEMDkzRDIyNTIxNzk1MUQ0MDAzMjkyMTcgLyogR1BVQ2FudmFzQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBHUFVDYW52YXNDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQwOTNEMjI3MjE3OTUxRDQwMDMyOTIxNyAvKiBHUFVDYW52YXNDb250ZXh0LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBH
UFVDYW52YXNDb250ZXh0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDA5M0Qy
MjkyMTc5NTQxNjAwMzI5MjE3IC8qIEdQVUNhbnZhc0NvbnRleHQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gR1BVQ2FudmFzQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwOUFDMDA1MjMxNzFGNTIwMDE4Nzc2MiAvKiBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlEMDlBQzAwNjIzMTcxRjUyMDAxODc3NjIgLyogR1BVVW5jYXB0dXJlZEVy
cm9yRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDlBQzAwNzIzMTcxRjUyMDAxODc3
NjIgLyogR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdQVVVuY2FwdHVyZWRFcnJv
ckV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA5QUMwMEEyMzE3MzVC
RTAwMTg3NzYyIC8qIFdlYkdQVURldmljZUV2ZW50SGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJHUFVEZXZpY2VFdmVudEhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RDA5QUMwMEIyMzE3MzVCRTAwMTg3NzYyIC8qIFdlYkdQVURldmljZUV2ZW50SGFuZGxlci5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gV2ViR1BVRGV2aWNlRXZlbnRIYW5kbGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRDA5QUZBRkYyMkQwMkU1MzAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2Nv
cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdQVURldmljZUVycm9yU2NvcGVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwOUFGQjAxMjJEMDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVE
ZXZpY2VFcnJvclNjb3Blcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHUFVEZXZpY2VFcnJv
clNjb3Blcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwOUFGQjAyMjJEMDQ3
MTkwMEM0NTM4QyAvKiBHUFVFcnJvckZpbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBHUFVFcnJvckZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjU5ODIsNiArMjU5ODcsOSBAQAogCQkJCUQwMjZGNDhCMjIwQTVCMEIwMEFDNUY0OSAvKiBHUFVU
ZXh0dXJlRGVzY3JpcHRvci5pZGwgKi8sCiAJCQkJRDBFQUNGQUUyMTlFMzBGRDAwMEZBNzVDIC8q
IEdQVVRleHR1cmVGb3JtYXQuaWRsICovLAogCQkJCUQwMjZGNDgzMjIwQTQ3MkYwMEFDNUY0OSAv
KiBHUFVUZXh0dXJlVXNhZ2UuaWRsICovLAorCQkJCUQwOUFDMDA2MjMxNzFGNTIwMDE4Nzc2MiAv
KiBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5jcHAgKi8sCisJCQkJRDA5QUMwMDUyMzE3MUY1MjAw
MTg3NzYyIC8qIEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmggKi8sCisJCQkJRDA5QUMwMDcyMzE3
MUY1MjAwMTg3NzYyIC8qIEdQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmlkbCAqLywKIAkJCQlEMDlB
RkIwQzIyRDU1RTkwMDBDNDUzOEMgLyogR1BVVmFsaWRhdGlvbkVycm9yLmlkbCAqLywKIAkJCQlE
MEQ4NjQ5NjIxQkExOEY0MDAzQzk4M0MgLyogR1BVVmVydGV4QXR0cmlidXRlRGVzY3JpcHRvci5p
ZGwgKi8sCiAJCQkJRDBEODY0OTgyMUJBMTlBNzAwM0M5ODNDIC8qIEdQVVZlcnRleEJ1ZmZlckRl
c2NyaXB0b3IuaWRsICovLApAQCAtMjYwMzIsNiArMjYwNDAsOCBAQAogCQkJCUQwOUFGQjAxMjJE
MDJFNTMwMEM0NTM4QyAvKiBXZWJHUFVEZXZpY2VFcnJvclNjb3Blcy5jcHAgKi8sCiAJCQkJRDA5
QUZBRkYyMkQwMkU1MzAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmggKi8sCiAJ
CQkJRDA5QUZCMDMyMkQ0MENDNTAwQzQ1MzhDIC8qIFdlYkdQVURldmljZUVycm9yU2NvcGVzLmlk
bCAqLywKKwkJCQlEMDlBQzAwQTIzMTczNUJFMDAxODc3NjIgLyogV2ViR1BVRGV2aWNlRXZlbnRI
YW5kbGVyLmggKi8sCisJCQkJRDA5QUMwMEIyMzE3MzVCRTAwMTg3NzYyIC8qIFdlYkdQVURldmlj
ZUV2ZW50SGFuZGxlci5pZGwgKi8sCiAJCQkJRDBDNDE5RjAyMTgzRUIzMTAwOUVDMURFIC8qIFdl
YkdQVVBpcGVsaW5lRGVzY3JpcHRvckJhc2UuaCAqLywKIAkJCQlEMEM0MTlGMTIxODNFQjMxMDA5
RUMxREUgLyogV2ViR1BVUGlwZWxpbmVEZXNjcmlwdG9yQmFzZS5pZGwgKi8sCiAJCQkJRDA1QTk5
RTUyMUM5QkYyQzAwMDMyQjc1IC8qIFdlYkdQVVBpcGVsaW5lTGF5b3V0LmNwcCAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBk
ODg0YzY2MDhkZjU4ZDYyNGM1ODIyYTBhYjQ0MzBiYTAzOTE2MTg4Li4xZjA4ZGM4MzJlMGNhZjdk
ZWU4YzNmNjdjNjA0YmMzNTQzMjg3ZTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xMDcsNiArMTA3LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIG1hY3JvKEdQVVRleHR1cmUpIFwKICAgICBtYWNybyhHUFVUZXh0dXJl
VXNhZ2UpIFwKICAgICBtYWNybyhHUFVUZXh0dXJlVmlldykgXAorICAgIG1hY3JvKEdQVVVuY2Fw
dHVyZWRFcnJvckV2ZW50KSBcCiAgICAgbWFjcm8oR1BVVmFsaWRhdGlvbkVycm9yKSBcCiAgICAg
bWFjcm8oSFRNTEF0dGFjaG1lbnRFbGVtZW50KSBcCiAgICAgbWFjcm8oSFRNTEF1ZGlvRWxlbWVu
dCkgXApAQCAtMjg1LDYgKzI4Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhv
bnRvdWNobW92ZSkgXAogICAgIG1hY3JvKG9udG91Y2hzdGFydCkgXAogICAgIG1hY3JvKG9udG91
Y2hmb3JjZWNoYW5nZSkgXAorICAgIG1hY3JvKG9udW5jYXB0dXJlZGVycm9yKSBcCiAgICAgbWFj
cm8ob252cmRpc3BsYXlhY3RpdmF0ZSkgXAogICAgIG1hY3JvKG9udnJkaXNwbGF5Ymx1cikgXAog
ICAgIG1hY3JvKG9udnJkaXNwbGF5Y29ubmVjdCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5k
ZXggNWI2YWI2ODc1NWI2MWJmZTJkNGE2OGJjYmU3NTI0ZmQwZGRhYmI5Yy4uZmM0ZmQ1Y2UzZjhk
Y2U1Njc4OTg4ZDk0NTMyZTEzZThiOGU3OTllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBA
IC0yNjcsNiArMjY3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHRyYW5zaXRp
b25lbmQpIFwKICAgICBtYWNybyh0cmFuc2l0aW9ucnVuKSBcCiAgICAgbWFjcm8odHJhbnNpdGlv
bnN0YXJ0KSBcCisgICAgbWFjcm8odW5jYXB0dXJlZGVycm9yKSBcCiAgICAgbWFjcm8odW5oYW5k
bGVkcmVqZWN0aW9uKSBcCiAgICAgbWFjcm8odW5sb2FkKSBcCiAgICAgbWFjcm8odW5tdXRlKSBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDhmZGEwNmRlNWVmOGNhMDk3M2U0MGQwNDgz
ZmE4YmRjMWE2NzQ4MDMuLmViYzI0MjU2ZDAzZWJlZDI0OTg1ZjQzZjA0MTQzMTA2YzY0NzcxYTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC04MiwzICs4Miw0IEBAIE1lZGlhRW5jcnlw
dGVkRXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCiBNZWRpYUtleU1lc3NhZ2VFdmVu
dCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKIFZSRGlzcGxheUV2ZW50CiBQb2ludGVyRXZl
bnQgY29uZGl0aW9uYWw9UE9JTlRFUl9FVkVOVFMKK0dQVVVuY2FwdHVyZWRFcnJvckV2ZW50IGNv
bmRpdGlvbmFsPVdFQkdQVQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4K
aW5kZXggOGNhMzhhM2U4MjgyNzA1Njc0MjIyNzA5NzMwNjQ0ZTYwNjllMjJmMS4uOWI5YmY5Mzdj
YzA5M2E2MDA1Y2Q2MGNlMTY0NGNiMDg4ZWJlNjYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXRGYWN0b3J5LmluCkBAIC00OSw2ICs0OSw3IEBAIFZSRGlzcGxheQogVmlkZW9UcmFj
a0xpc3QgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKIFZpc3VhbFZpZXdwb3J0CiBXZWJBbmltYXRp
b24KK1dlYkdQVURldmljZSBjb25kaXRpb25hbD1XRUJHUFUKIFdlYktpdE1lZGlhS2V5U2Vzc2lv
biBjb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBCiBXZWJTb2NrZXQKIFdvcmtlcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5jcHAK
aW5kZXggZTg2NGEzZDYzYTk0NGYzM2ZjNDNiMzIzZjU4MmQ4NDhjYzI5YmE4NS4uYmIyOGQ0ZmMx
MmM4YTI0NzI4Y2UyMDY1YmQyNzIxZGJhZjgyYmZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3IuY3BwCkBAIC0zMiwxNiArMzIsMTYgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1PcHRpb25hbDxHUFVFcnJvcj4gY3JlYXRlRXJyb3Io
R1BVRXJyb3JGaWx0ZXIgZmlsdGVyLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCitHUFVFcnJvciBj
cmVhdGVFcnJvcihHUFVFcnJvckZpbHRlciBmaWx0ZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkK
IHsKICAgICBzd2l0Y2ggKGZpbHRlcikgewogICAgIGNhc2UgR1BVRXJyb3JGaWx0ZXI6Ok91dE9m
TWVtb3J5OgogICAgICAgICByZXR1cm4gR1BVRXJyb3IoUmVmUHRyPEdQVU91dE9mTWVtb3J5RXJy
b3I+KEdQVU91dE9mTWVtb3J5RXJyb3I6OmNyZWF0ZSgpKSk7CiAgICAgY2FzZSBHUFVFcnJvckZp
bHRlcjo6VmFsaWRhdGlvbjoKICAgICAgICAgcmV0dXJuIEdQVUVycm9yKFJlZlB0cjxHUFVWYWxp
ZGF0aW9uRXJyb3I+KEdQVVZhbGlkYXRpb25FcnJvcjo6Y3JlYXRlKG1lc3NhZ2UpKSk7Ci0gICAg
ZGVmYXVsdDoKKyAgICBjYXNlIEdQVUVycm9yRmlsdGVyOjpOb25lOgogICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmV0
dXJuIEdQVUVycm9yKFJlZlB0cjxHUFVWYWxpZGF0aW9uRXJyb3I+KEdQVVZhbGlkYXRpb25FcnJv
cjo6Y3JlYXRlKCJCYWQgZXJyb3IhIikpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yLmgKaW5kZXggZTY3YzM1YWRjODkwZDM3
MmZjYzk3M2M4ZmRkZjJiN2I2ZjU5MzZiYy4uNjlmYzhmYWZhZmE0NWYwZmYxNDdjYjhiYmI0NzEz
MzIyNzUyYzI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUVycm9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUVycm9yLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgIkdQVU91dE9mTWVtb3J5
RXJyb3IuaCIKICNpbmNsdWRlICJHUFVWYWxpZGF0aW9uRXJyb3IuaCIKLSNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zhcmlh
bnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTQwLDcgKzM5LDcgQEAg
ZW51bSBjbGFzcyBHUFVFcnJvckZpbHRlcjsKIAogdXNpbmcgR1BVRXJyb3IgPSBWYXJpYW50PFJl
ZlB0cjxHUFVPdXRPZk1lbW9yeUVycm9yPiwgUmVmUHRyPEdQVVZhbGlkYXRpb25FcnJvcj4+Owog
Ci1PcHRpb25hbDxHUFVFcnJvcj4gY3JlYXRlRXJyb3IoR1BVRXJyb3JGaWx0ZXIsIGNvbnN0IFN0
cmluZyYpOworR1BVRXJyb3IgY3JlYXRlRXJyb3IoR1BVRXJyb3JGaWx0ZXIsIGNvbnN0IFN0cmlu
ZyYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFcnJvclNjb3Blcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JTY29wZXMuY3BwCmluZGV4IGZmOTM4
NTUzMGViOGI3YjQwMTBlZWNlNDNhY2EwYmM0ODM2NzdlZjAuLjA0ZTU3MzQ2MTdlN2I0MTQyZjBk
OTU0ZDU0MjVlYzVlNTZjNTk2YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVFcnJvclNjb3Blcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9yU2NvcGVzLmNwcApAQCAtMzAsNiArMzAsMTkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjb25zdCB1bnNpZ25lZCBtYXhVbmNhcHR1cmVkRXJy
b3JFdmVudHNBbGxvd2VkID0gMjU2OworCitSZWY8R1BVRXJyb3JTY29wZXM+IEdQVUVycm9yU2Nv
cGVzOjpjcmVhdGUoVW5jYXB0dXJlZEVycm9yQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFVFcnJvclNjb3BlcyhXVEZNb3ZlKGNhbGxiYWNrKSkpOwor
fQorCitHUFVFcnJvclNjb3Blczo6R1BVRXJyb3JTY29wZXMoVW5jYXB0dXJlZEVycm9yQ2FsbGJh
Y2smJiBjYWxsYmFjaykKKyAgICA6IG1fdW5jYXB0dXJlZEVycm9yQ2FsbGJhY2soV1RGTW92ZShj
YWxsYmFjaykpCisgICAgLCBtX251bVVuY2FwdHVyZWRFcnJvckV2ZW50c0FsbG93ZWQobWF4VW5j
YXB0dXJlZEVycm9yRXZlbnRzQWxsb3dlZCkKK3sKK30KKwogdm9pZCBHUFVFcnJvclNjb3Blczo6
cHVzaEVycm9yU2NvcGUoR1BVRXJyb3JGaWx0ZXIgZmlsdGVyKQogewogICAgIG1fZXJyb3JTY29w
ZXMuYXBwZW5kKEVycm9yU2NvcGUgeyBmaWx0ZXIsIFdURjo6bnVsbG9wdCB9KTsKQEAgLTUyLDkg
KzY1LDE2IEBAIHZvaWQgR1BVRXJyb3JTY29wZXM6OmdlbmVyYXRlRXJyb3IoY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBHUFVFcnJvckZpbHRlciBmaWx0ZXIpCiAgICAgICAgIHJldHVybiBzY29wZS5m
aWx0ZXIgPT0gR1BVRXJyb3JGaWx0ZXI6Ok5vbmUgfHwgc2NvcGUuZmlsdGVyID09IGZpbHRlcjsK
ICAgICB9KTsKIAotICAgIC8vIEZJWE1FOiBodHRwczovL3dlYmtpdC5vcmcvYi8xOTk2NzYgVW5j
YXB0dXJlZCBlcnJvcnMgbmVlZCB0byBiZSBmaXJlZCBhcyBHUFVVbmNhcHR1cmVkRXJyb3JFdmVu
dHMuCi0gICAgaWYgKGl0ZXJhdG9yID09IG1fZXJyb3JTY29wZXMucmVuZCgpKQorICAgIGlmIChp
dGVyYXRvciA9PSBtX2Vycm9yU2NvcGVzLnJlbmQoKSkgeworICAgICAgICBpZiAoIW1fbnVtVW5j
YXB0dXJlZEVycm9yRXZlbnRzQWxsb3dlZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICBtX3VuY2FwdHVyZWRFcnJvckNhbGxiYWNrKGNyZWF0ZUVycm9yKGZpbHRlciwgbWVzc2FnZSkp
OworICAgICAgICBpZiAoISgtLW1fbnVtVW5jYXB0dXJlZEVycm9yRXZlbnRzQWxsb3dlZCkpCisg
ICAgICAgICAgICBtX3VuY2FwdHVyZWRFcnJvckNhbGxiYWNrKGNyZWF0ZUVycm9yKEdQVUVycm9y
RmlsdGVyOjpWYWxpZGF0aW9uLCAiV2ViR1BVOiBUb28gbWFueSBlcnJvcnM7IG5vIG1vcmUgZXJy
b3IgZXZlbnRzIHdpbGwgZmlyZSBvbiB0aGlzIEdQVURldmljZS4iKSk7CisKICAgICAgICAgcmV0
dXJuOworICAgIH0KIAogICAgIC8vIElmIHRoZSBzY29wZSBoYXMgYWxyZWFkeSBjYXB0dXJlZCBh
biBlcnJvciwgaWdub3JlIHRoaXMgbmV3IG9uZS4KICAgICBpZiAoaXRlcmF0b3ItPmVycm9yKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVycm9y
U2NvcGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JT
Y29wZXMuaAppbmRleCBhZjg4NTg4ZWYyYWJhMGJlYmQ1MWI3YzQzYzEzY2MxYTA1MzBkYzk3Li40
ZDRmZDVhMGIyMjZhZDI0NjBkMzVjZjRjOWQ4NDliNTEwYmI4MzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JTY29wZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRXJyb3JTY29wZXMuaApAQCAt
MjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiR1BVRXJyb3IuaCIKICNpbmNsdWRlICJHUFVFcnJv
ckZpbHRlci5oIgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9PcHRp
b25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgpAQCAtMzksNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdQVUVycm9y
U2NvcGVzIDogcHVibGljIFJlZkNvdW50ZWQ8R1BVRXJyb3JTY29wZXM+IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUmVmPEdQVUVycm9yU2NvcGVzPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IEdQVUVycm9yU2NvcGVzKTsgfQorICAgIHVzaW5nIFVuY2FwdHVyZWRFcnJvckNhbGxiYWNr
ID0gRnVuY3Rpb248dm9pZChHUFVFcnJvciYmKT47CisgICAgc3RhdGljIFJlZjxHUFVFcnJvclNj
b3Blcz4gY3JlYXRlKFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrJiYpOwogCiAgICAgdm9pZCBwdXNo
RXJyb3JTY29wZShHUFVFcnJvckZpbHRlcik7CiAgICAgT3B0aW9uYWw8R1BVRXJyb3I+IHBvcEVy
cm9yU2NvcGUoU3RyaW5nJiBmYWlsTWVzc2FnZSk7CkBAIC01NCwxMCArNTYsMTMgQEAgcHJpdmF0
ZToKICAgICAgICAgT3B0aW9uYWw8R1BVRXJyb3I+IGVycm9yOwogICAgIH07CiAKLSAgICBHUFVF
cnJvclNjb3BlcygpID0gZGVmYXVsdDsKKyAgICBHUFVFcnJvclNjb3BlcyhVbmNhcHR1cmVkRXJy
b3JDYWxsYmFjayYmKTsKKworICAgIFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrIG1fdW5jYXB0dXJl
ZEVycm9yQ2FsbGJhY2s7CiAKICAgICBWZWN0b3I8RXJyb3JTY29wZT4gbV9lcnJvclNjb3BlczsK
ICAgICBTdHJpbmcgbV9wcmVmaXg7CisgICAgdW5zaWduZWQgbV9udW1VbmNhcHR1cmVkRXJyb3JF
dmVudHNBbGxvd2VkOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBlMjA0
MjQ5OTQ3NWI2MzJhZGJjYmZjMzlkMjIzYTdkNDhjYTZiMjUuLjkwYzIwYWRlNmIwNTA5Mjk0NzIz
ZDdmMjI0MDlmMWNiN2VhZDc2MzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0wOS0wNSAg
SnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIElt
cGxlbWVudCBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5Njc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0byBlbnN1cmUgR1BVVW5jYXB0dXJl
ZEVycm9yRXZlbnRzIHdvcmsuCisgICAgICAgIFVwZGF0ZSBleGlzdGluZyB0ZXN0cyB0byBhY2Nv
dW50IGZvciBuZXcgY29uc29sZSB3YXJuaW5nIG1lc3NhZ2VzLgorCisgICAgICAgICogd2ViZ3B1
L2J1ZmZlci1lcnJvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmdwdS9tYXAtcmVhZC1i
dWZmZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWJncHUvbWFwLXdyaXRlLWJ1ZmZlcnMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYmdwdS91bmNhcHR1cmVkLWVycm9ycy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdwdS91bmNhcHR1cmVkLWVycm9ycy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvdXNlLXVuZGVmaW5lZC12YXJpYWJsZS0yLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWJncHUvd2hsc2wvdXNlLXVuZGVmaW5lZC12YXJpYWJs
ZS1leHBlY3RlZC50eHQ6CisKIDIwMTktMDktMDQgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3Vo
YWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRyZXNzIHJldmlldyBjb21tZW50cyBhZnRl
ciByMjQ5MzY0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvYnVmZmVyLWVycm9ycy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJncHUvYnVmZmVyLWVycm9ycy1leHBlY3RlZC50
eHQKaW5kZXggNTZiZmQ5MWM0NWJhOTYyMGZmNjQ3ZjFiZTE2YTIwNTY1OWVjNzY0MS4uNjI4YzEz
ODNlMTg2MWQ5MjMxZjg2OGI0MmExMDUwOTNmNjFjNDMxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvd2ViZ3B1L2J1ZmZlci1lcnJvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dl
YmdwdS9idWZmZXItZXJyb3JzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDQgQEAKK0NPTlNPTEUg
TUVTU0FHRTogR1BVRGV2aWNlLmNyZWF0ZUJ1ZmZlcigpOiBCdWZmZXIgY2Fubm90IGhhdmUgYm90
aCBNQVBfUkVBRCBhbmQgTUFQX1dSSVRFIHVzYWdlIQogCiBQQVNTIEdQVUJ1ZmZlcnMgY2FuIGJl
IGNyZWF0ZWQgd2l0aCBib3RoIHJlYWQtb25seSBhbmQgU1RPUkFHRSB1c2FnZXMuIAogUEFTUyB1
bm1hcCBvbiBhbHJlYWR5IHVubWFwcGVkLCBtYXBwYWJsZSBHUFVCdWZmZXIgc2hvdWxkIG5vdCBn
ZW5lcmF0ZSBlcnJvci4gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJncHUvbWFwLXJlYWQt
YnVmZmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJncHUvbWFwLXJlYWQtYnVmZmVy
cy1leHBlY3RlZC50eHQKaW5kZXggNjAxNWUwY2UxZTc2ZWNhMWZiNDNiYWFjZTBiOWNjYTUyMWFm
ZGViNi4uMjA0N2Y3NTU0YWI0M2YwMGViNzg5NmRkZjU3NTIxMzI0M2VjYTVlYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L21hcC1yZWFkLWJ1ZmZlcnMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3dlYmdwdS9tYXAtcmVhZC1idWZmZXJzLWV4cGVjdGVkLnR4dApAQCAtMSwz
ICsxLDcgQEAKK0NPTlNPTEUgTUVTU0FHRTogR1BVQnVmZmVyLm1hcFJlYWRBc3luYygpOiBJbnZh
bGlkIG9wZXJhdGlvbiEKK0NPTlNPTEUgTUVTU0FHRTogR1BVQnVmZmVyLm1hcFdyaXRlQXN5bmMo
KTogSW52YWxpZCBvcGVyYXRpb24hCitDT05TT0xFIE1FU1NBR0U6IEdQVUJ1ZmZlci5tYXBSZWFk
QXN5bmMoKTogSW52YWxpZCBvcGVyYXRpb24hCitDT05TT0xFIE1FU1NBR0U6IEdQVUJ1ZmZlci5t
YXBSZWFkQXN5bmMoKTogSW52YWxpZCBvcGVyYXRpb24hCiAKIFBBU1MgbWFwUmVhZEFzeW5jLCB1
bm1hcCwgYW5kIGRlc3Ryb3kgb24gYSBHUFVCdWZmZXIuIAogUEFTUyBHUFVCdWZmZXIubWFwUmVh
ZEFzeW5jIG9uIGEgYnVmZmVyIGNyZWF0ZWQgdmlhIEdQVURldmljZS5jcmVhdGVCdWZmZXJNYXBw
ZWQuIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L21hcC13cml0ZS1idWZmZXJzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdwdS9tYXAtd3JpdGUtYnVmZmVycy1leHBlY3Rl
ZC50eHQKaW5kZXggN2Q2NTQwNTgwNDJiNTMxMjMxOWI2MzNiZmFiNTExNzQzYTgwOWJmZS4uODQw
NDRiYWQ5M2E5YThmMGM2ZTRmZGU0ODc1NjM2MTFjMDA1ZjI1MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvd2ViZ3B1L21hcC13cml0ZS1idWZmZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJncHUvbWFwLXdyaXRlLWJ1ZmZlcnMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBA
QAorQ09OU09MRSBNRVNTQUdFOiBHUFVCdWZmZXIubWFwV3JpdGVBc3luYygpOiBJbnZhbGlkIG9w
ZXJhdGlvbiEKK0NPTlNPTEUgTUVTU0FHRTogR1BVQnVmZmVyLm1hcFdyaXRlQXN5bmMoKTogSW52
YWxpZCBvcGVyYXRpb24hCiAKIFBBU1MgTWFwIHdyaXRlLCB1bm1hcCwgYW5kIGRlc3Ryb3kgYSBH
UFVCdWZmZXIuIAogUEFTUyBSZWplY3QgYSBtYXAgd3JpdGUgb24gYSBidWZmZXIgbm90IGNyZWF0
ZWQgd2l0aCBNQVBfV1JJVEUgdXNhZ2UuIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1
L3JlbmRlci1waXBlbGluZXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdwdS9yZW5kZXItcGlwZWxp
bmVzLmh0bWwKaW5kZXggNmJiOGQyNmVjMjJhM2VmOTYwYTE3MjgzYjMyNjk1NDVhMjZkZjk2OC4u
ZmZkNTM4ZDgxYzFiOWQ1ZjJlNTkyZmNlMDM4MzA2ZmY5NTBlMGU0YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvd2ViZ3B1L3JlbmRlci1waXBlbGluZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJncHUvcmVuZGVyLXBpcGVsaW5lcy5odG1sCkBAIC01LDcgKzUsNyBAQAogPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0Pgog
Y29uc3Qgc2hhZGVyQ29kZSA9IGAKLXZlcnRleCBmbG9hdDQgdmVydGV4X21haW4odWludCB2aWQg
W1t2ZXJ0ZXhfaWRdXSkgOiBTVl9Qb3NpdGlvbgordmVydGV4IGZsb2F0NCB2ZXJ0ZXhfbWFpbih1
aW50IHZpZCA6IFNWX1ZlcnRleElEKSA6IFNWX1Bvc2l0aW9uCiB7CiAgICAgZmxvYXQ0IHY7CiAg
ICAgc3dpdGNoICh2aWQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS91bmNhcHR1
cmVkLWVycm9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJncHUvdW5jYXB0dXJlZC1l
cnJvcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxZTFhMjQ5MDlkM2Y4NGYyMmUzMzNkOWFj
Y2Y3YjE1MDlhYjlhOWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvdW5j
YXB0dXJlZC1lcnJvcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNT
QUdFOiBHUFVEZXZpY2UuY3JlYXRlQnVmZmVyKCk6IEJ1ZmZlciBjYW5ub3QgaGF2ZSBib3RoIE1B
UF9SRUFEIGFuZCBNQVBfV1JJVEUgdXNhZ2UhCitDT05TT0xFIE1FU1NBR0U6IEdQVURldmljZS5j
cmVhdGVCdWZmZXIoKTogQnVmZmVyIGNhbm5vdCBoYXZlIGJvdGggTUFQX1JFQUQgYW5kIE1BUF9X
UklURSB1c2FnZSEKKworUEFTUyBGaXJlIGFuIHVuY2FwdHVyZWQgR1BVRGV2aWNlIGVycm9yIGV2
ZW50IGF0ICdkZXZpY2UnLiAKK1BBU1MgSW50ZXJjZXB0IGFuIHVuY2FwdHVyZWQgZXJyb3Igd2l0
aCBHUFVEZXZpY2Uub251bmNhcHR1cmVkZXJyb3IgRXZlbnRIYW5kbGVyLiAKK1BBU1MgR1BVVW5j
YXB0dXJlZEVycm9yRXZlbnQgYXN5bmMgdGVzdC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdwdS91bmNhcHR1cmVkLWVycm9ycy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3VuY2Fw
dHVyZWQtZXJyb3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWUyZWM0MjBkMGRmOWU3YTY5M2FjNjE3Mzk5
ZjU4YTQ5ODEyNzE1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdwdS91bmNh
cHR1cmVkLWVycm9ycy5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5UZXN0IEVycm9yIFNjb3Blcy48L3RpdGxlPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0ianMvd2ViZ3B1LWZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK2xldCB0ZXN0cyA9IHt9OworbGV0IGV2ZW50V2F0Y2hlcjsKKworY29uc3QgY2F1c2VVbmNh
cHR1cmVkRXJyb3JFdmVudCA9IGRldmljZSA9PiB7CisgICAgZGV2aWNlLmNyZWF0ZUJ1ZmZlcih7
IHNpemU6IDQsIHVzYWdlOiBHUFVCdWZmZXJVc2FnZS5NQVBfUkVBRCB8IEdQVUJ1ZmZlclVzYWdl
Lk1BUF9XUklURSB9KTsKK307CisKK3Rlc3RzWyJGaXJlIGFuIHVuY2FwdHVyZWQgR1BVRGV2aWNl
IGVycm9yIGV2ZW50IGF0ICdkZXZpY2UnLiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBjb25z
dCBhc3luY1Rlc3QgPSBhc3luY190ZXN0KCJHUFVVbmNhcHR1cmVkRXJyb3JFdmVudCBhc3luYyB0
ZXN0LiIpOworICAgIGNvbnN0IGV2ZW50V2F0Y2hlciA9IG5ldyBFdmVudFdhdGNoZXIoYXN5bmNU
ZXN0LCBkZXZpY2UsICJ1bmNhcHR1cmVkZXJyb3IiKTsKKyAgICBjb25zdCBldmVudEZpcmVkID0g
ZXZlbnRXYXRjaGVyLndhaXRfZm9yKCJ1bmNhcHR1cmVkZXJyb3IiKS50aGVuKGV2ZW50ID0+IHsK
KyAgICAgICAgYXNzZXJ0X3RydWUoZXZlbnQuZXJyb3IgaW5zdGFuY2VvZiBHUFVWYWxpZGF0aW9u
RXJyb3IsICJTdWNjZXNzZnVsbHkgZmlyZWQgR1BVVW5jYXB0dXJlZEVycm9yRXZlbnQuIik7Cisg
ICAgICAgIGFzeW5jVGVzdC5kb25lKCk7CisgICAgfSk7CisKKyAgICBjb25zdCB0aW1lb3V0ID0g
bmV3IFByb21pc2UoKF8sIHJlamVjdCkgPT4geworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsg
cmVqZWN0KCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgZXJyb3IgZXZlbnQhIikgfSwgMzAwMCk7Cisg
ICAgfSk7CisKKyAgICBjYXVzZVVuY2FwdHVyZWRFcnJvckV2ZW50KGRldmljZSk7CisKKyAgICBy
ZXR1cm4gUHJvbWlzZS5yYWNlKFtldmVudEZpcmVkLCB0aW1lb3V0XSk7Cit9OworCit0ZXN0c1si
SW50ZXJjZXB0IGFuIHVuY2FwdHVyZWQgZXJyb3Igd2l0aCBHUFVEZXZpY2Uub251bmNhcHR1cmVk
ZXJyb3IgRXZlbnRIYW5kbGVyLiJdID0gYXN5bmMgZGV2aWNlID0+IHsKKyAgICBjb25zdCBjYXB0
dXJlZEVycm9yUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBkZXZp
Y2Uub251bmNhcHR1cmVkZXJyb3IgPSBldmVudCA9PiB7CisgICAgICAgICAgICBhc3NlcnRfdHJ1
ZShldmVudC5lcnJvciBpbnN0YW5jZW9mIEdQVVZhbGlkYXRpb25FcnJvciwgIlN1Y2Nlc3NmdWxs
eSBmaXJlZCBHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC4iKTsKKyAgICAgICAgICAgIHJlc29sdmUo
KTsKKyAgICAgICAgfTsKKworICAgICAgICBjYXVzZVVuY2FwdHVyZWRFcnJvckV2ZW50KGRldmlj
ZSk7CisgICAgfSk7CisKKyAgICBjb25zdCB0aW1lb3V0ID0gbmV3IFByb21pc2UoKF8sIHJlamVj
dCkgPT4geworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgcmVqZWN0KCJUaW1lZCBvdXQgd2Fp
dGluZyBmb3IgZXJyb3IgZXZlbnQhIikgfSwgMzAwMCk7CisgICAgfSk7CisKKyAgICByZXR1cm4g
UHJvbWlzZS5yYWNlKFtjYXB0dXJlZEVycm9yUHJvbWlzZSwgdGltZW91dF0pOworfTsKKworcnVu
VGVzdHNXaXRoRGV2aWNlKHRlc3RzKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdwdS93aGxzbC91c2Ut
dW5kZWZpbmVkLXZhcmlhYmxlLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3do
bHNsL3VzZS11bmRlZmluZWQtdmFyaWFibGUtMi1leHBlY3RlZC50eHQKaW5kZXggNDg4MmY5MDQ1
OGE1NmY1NDVlYjE5Yzc0ZDI3ZjhmNmFmMjMxODJkNC4uMzY4OWVlMWU2NDczYzgyNGZhZjQ2ZTQ1
ZDAxYzdmMjZiZTljZWJlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3Vz
ZS11bmRlZmluZWQtdmFyaWFibGUtMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z3B1L3dobHNsL3VzZS11bmRlZmluZWQtdmFyaWFibGUtMi1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSw0IEBACitDT05TT0xFIE1FU1NBR0U6IEdQVURldmljZS5jcmVhdGVDb21wdXRlUGlwZWxpbmUo
KTogV0hMU0wgY29tcGlsZSBlcnJvcjogNDoyNTogQ2Fubm90IGZpbmQgdGhlIHZhcmlhYmxlIGRl
Y2xhcmF0aW9uLgogUEFTUyAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3VzZS11bmRlZmluZWQtdmFyaWFibGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ3B1L3dobHNsL3VzZS11bmRlZmluZWQtdmFy
aWFibGUtZXhwZWN0ZWQudHh0CmluZGV4IDQ4ODJmOTA0NThhNTZmNTQ1ZWIxOWM3NGQyN2Y4ZjZh
ZjIzMTgyZDQuLjA3MmU4NmExZTM3YTFkZTg5YjNlZTg2ZTA3N2M1NWM1MDY4NGJhZTAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3dlYmdwdS93aGxzbC91c2UtdW5kZWZpbmVkLXZhcmlhYmxlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJncHUvd2hsc2wvdXNlLXVuZGVmaW5lZC12
YXJpYWJsZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IEdQ
VURldmljZS5jcmVhdGVDb21wdXRlUGlwZWxpbmUoKTogV0hMU0wgY29tcGlsZSBlcnJvcjogNjo5
OiBDYW5ub3QgZmluZCB0aGUgdmFyaWFibGUgZGVjbGFyYXRpb24uCiBQQVNTIAogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>