<?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>194482</bug_id>
          
          <creation_ts>2019-02-10 11:42:02 -0800</creation_ts>
          <short_desc>REGRESSION(r241167): Broke the GTK mediastream tests (Requested by philn on #webkit).</short_desc>
          <delta_ts>2019-02-10 11:45:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>194240</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1504701</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-10 11:42:02 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/241167 broke the build:
Broke the GTK mediastream tests (Requested by philn on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504703</commentid>
    <comment_count>1</comment_count>
      <attachid>361635</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-10 11:42:09 -0800</bug_when>
    <thetext>Created attachment 361635
ROLLOUT of r241167

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504704</commentid>
    <comment_count>2</comment_count>
      <attachid>361635</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-10 11:44:38 -0800</bug_when>
    <thetext>Comment on attachment 361635
ROLLOUT of r241167

Clearing flags on attachment: 361635

Committed r241252: &lt;https://trac.webkit.org/changeset/241252&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504705</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-10 11:44:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504706</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-10 11:45:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/47950219&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361635</attachid>
            <date>2019-02-10 11:42:09 -0800</date>
            <delta_ts>2019-02-10 11:44:38 -0800</delta_ts>
            <desc>ROLLOUT of r241167</desc>
            <filename>bug-194482-20190210114208.patch</filename>
            <type>text/plain</type>
            <size>47303</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxMjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI1NjZmYzFkZGEwMzU4YTA0
YzM5NjM5M2RmNjNmZGJmOTY4YTU0YWYuLmVkYzRiMTI4ZGFlZWU4YTI1YzM2YmVjNzk2ODA5MWQ3
YmNmZjE2ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDItMTAgIENvbW1pdCBR
dWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIyNDExNjcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTQ0ODIKKworICAgICAgICBCcm9rZSB0aGUgR1RLIG1lZGlhc3RyZWFtIHRl
c3RzIChSZXF1ZXN0ZWQgYnkgcGhpbG4gb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAg
UmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJGaWx0ZXIgb3V0IE92ZXJjb25zdHJhaW5l
ZGVycm9yLmNvbnN0cmFpbnQgd2hlbiBnZXRVc2VyTWVkaWEKKyAgICAgICAgaXMgbm90IGdyYW50
ZWQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQy
NDAKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI0MTE2NworCiAy
MDE5LTAyLTA5ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBFbGlt
aW5hdGUgdW5uZWNlc3NhcnkgU3RyaW5nIHRlbXBvcmFyaWVzIGJ5IHVzaW5nIFN0cmluZ0NvbmNh
dGVuYXRlTnVtYmVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1l
ZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNl
ck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuY3BwCmluZGV4IDMwNGZhMjFjMjRhNjY2OGIzMTVl
MDNiOTRiMWRkYmY5ZDllZjcyZDcuLjk2NTEzZWIwMTFiMDAwZGUwMzcxYmY3ZDIyMjUwODIxNGYy
ZGE3ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25DaGVja1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVk
aWFQZXJtaXNzaW9uQ2hlY2tQcm94eS5jcHAKQEAgLTQxLDI0ICs0MSwxOSBAQCBVc2VyTWVkaWFQ
ZXJtaXNzaW9uQ2hlY2tQcm94eTo6VXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkodWludDY0
X3QgZnJhbWVJRCwgQwogewogfQogCi1Vc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eTo6flVz
ZXJNZWRpYVBlcm1pc3Npb25DaGVja1Byb3h5KCkKLXsKLSAgICBpbnZhbGlkYXRlKCk7Ci19Ci0K
IHZvaWQgVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHk6OnNldFVzZXJNZWRpYUFjY2Vzc0lu
Zm8oYm9vbCBhbGxvd2VkKQogewogICAgIEFTU0VSVChtX2NvbXBsZXRpb25IYW5kbGVyKTsKLSAg
ICBjb21wbGV0ZShhbGxvd2VkKTsKLX0KLQotdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQ
cm94eTo6Y29tcGxldGUoT3B0aW9uYWw8Ym9vbD4gYWxsb3dlZCkKLXsKICAgICBpZiAoIW1fY29t
cGxldGlvbkhhbmRsZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIGF1dG8gY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKG1fY29tcGxldGlvbkhhbmRsZXIpOwotICAgIGNvbXBsZXRpb25IYW5k
bGVyKGFsbG93ZWQpOworICAgIG1fY29tcGxldGlvbkhhbmRsZXIoYWxsb3dlZCk7CisgICAgbV9j
b21wbGV0aW9uSGFuZGxlciA9IG51bGxwdHI7Cit9CisKK3ZvaWQgVXNlck1lZGlhUGVybWlzc2lv
bkNoZWNrUHJveHk6OmludmFsaWRhdGUoKQoreworICAgIG1fY29tcGxldGlvbkhhbmRsZXIgPSBu
dWxscHRyOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25DaGVja1Byb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eS5oCmluZGV4IDll
MDBiYjkzNzRiYjU2ZDkyMDY0NDQwYTZhYzc0YTZhN2NmZWFiMWIuLjZhMDg5NTA2Y2VhMzg4ZDFk
NGMzZDZkZWZkYTVmZTBlMGFlZTU3YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25DaGVja1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuaApAQCAtMjcsNyArMjcsNyBA
QAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYUNvbnN0
cmFpbnRzLmg+Ci0jaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CisjaW5jbHVkZSA8
d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFz
cyBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8
QVBJOjpPYmplY3Q6OlR5cGU6OlVzZXJNZWRpYVBlcm1pc3Npb25DaGVjaz4gewogcHVibGljOgog
Ci0gICAgdXNpbmcgQ29tcGxldGlvbkhhbmRsZXIgPSBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZv
aWQoT3B0aW9uYWw8Ym9vbD4gYWxsb3dlZCk+OworICAgIHVzaW5nIENvbXBsZXRpb25IYW5kbGVy
ID0gV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wgYWxsb3dlZCk+OwogCiAgICAgc3RhdGljIFJlZjxV
c2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eT4gY3JlYXRlKHVpbnQ2NF90IGZyYW1lSUQsIENv
bXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlciwgUmVmPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiYm
IHVzZXJNZWRpYURvY3VtZW50T3JpZ2luLCBSZWY8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+JiYg
dG9wTGV2ZWxEb2N1bWVudE9yaWdpbikKICAgICB7CkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgZGVueSgpIHsgc2V0VXNlck1lZGlhQWNjZXNzSW5mbyhmYWxzZSk7IH0KICAg
ICB2b2lkIHNldFVzZXJNZWRpYUFjY2Vzc0luZm8oYm9vbCk7Ci0gICAgdm9pZCBpbnZhbGlkYXRl
KCkgeyBjb21wbGV0ZSh7IH0pOyB9CisgICAgdm9pZCBpbnZhbGlkYXRlKCk7CiAKICAgICB1aW50
NjRfdCBmcmFtZUlEKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZUlEOyB9CiAgICAgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4mIHVzZXJNZWRpYURvY3VtZW50U2VjdXJpdHlPcmlnaW4oKSB7IHJldHVy
biBtX3VzZXJNZWRpYURvY3VtZW50U2VjdXJpdHlPcmlnaW4uZ2V0KCk7IH0KQEAgLTU2LDEwICs1
Niw3IEBAIHB1YmxpYzoKICAgICAKIHByaXZhdGU6CiAgICAgVXNlck1lZGlhUGVybWlzc2lvbkNo
ZWNrUHJveHkodWludDY0X3QgZnJhbWVJRCwgQ29tcGxldGlvbkhhbmRsZXImJiwgUmVmPFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luPiYmIHVzZXJNZWRpYURvY3VtZW50T3JpZ2luLCBSZWY8V2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW4+JiYgdG9wTGV2ZWxEb2N1bWVudE9yaWdpbik7Ci0gICAgflVzZXJN
ZWRpYVBlcm1pc3Npb25DaGVja1Byb3h5KCk7CiAKLSAgICB2b2lkIGNvbXBsZXRlKE9wdGlvbmFs
PGJvb2w+IGFsbG93ZWQpOwotICAgIAogICAgIHVpbnQ2NF90IG1fZnJhbWVJRDsKICAgICBDb21w
bGV0aW9uSGFuZGxlciBtX2NvbXBsZXRpb25IYW5kbGVyOwogICAgIFJlZjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbj4gbV91c2VyTWVkaWFEb2N1bWVudFNlY3VyaXR5T3JpZ2luOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDdiOGM2MTQxZWRjOTNmZGI1NWQyYzhiNmNl
YzdhZThlMmRkNTI3YWYuLjlmYTNhNTBkOTYwYTQyNTAwYWU0ZWM1YmY0N2Y1YWM5OTA0N2NlODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKQEAgLTc1LDYgKzc1LDggQEAg
dm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6aW52YWxpZGF0ZVBl
bmRpbmdSZXF1ZXN0cygpCiAgICAgICAgIHJlcXVlc3QtPmludmFsaWRhdGUoKTsKICAgICBtX3Bl
bmRpbmdVc2VyTWVkaWFSZXF1ZXN0cy5jbGVhcigpOwogCisgICAgZm9yIChhdXRvJiByZXF1ZXN0
IDogbV9wZW5kaW5nRGV2aWNlUmVxdWVzdHMudmFsdWVzKCkpCisgICAgICAgIHJlcXVlc3QtPmlu
dmFsaWRhdGUoKTsKICAgICBtX3BlbmRpbmdEZXZpY2VSZXF1ZXN0cy5jbGVhcigpOwogfQogCkBA
IC05MCwxOCArOTIsMjMgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eTo6Y2FwdHVyZURldmljZXNDaGFuZ2VkKCkKICAgICBpZiAoIW1fcGFnZS5pc1ZhbGlkKCkg
fHwgIW1fcGFnZS5tYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byBoYW5k
bGVyID0gW3RoaXNdKE9wdGlvbmFsPGJvb2w+IG9yaWdpbkhhc1BlcnNpc3RlbnRBY2Nlc3MpIG11
dGFibGUgewotICAgICAgICBpZiAoIW9yaWdpbkhhc1BlcnNpc3RlbnRBY2Nlc3MgfHwgIW1fcGFn
ZS5pc1ZhbGlkKCkpCisgICAgYXV0byByZXF1ZXN0SUQgPSBnZW5lcmF0ZVJlcXVlc3RJRCgpOwor
ICAgIGF1dG8gaGFuZGxlciA9IFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwg
cmVxdWVzdElEXShib29sIG9yaWdpbkhhc1BlcnNpc3RlbnRBY2Nlc3MpIG11dGFibGUgeworICAg
ICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlmICht
X2dyYW50ZWRSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgISpvcmlnaW5IYXNQZXJzaXN0ZW50QWNjZXNz
KQorICAgICAgICBhdXRvIHBlbmRpbmdSZXF1ZXN0ID0gbV9wZW5kaW5nRGV2aWNlUmVxdWVzdHMu
dGFrZShyZXF1ZXN0SUQpOworICAgICAgICBpZiAoIXBlbmRpbmdSZXF1ZXN0IHx8ICFtX3BhZ2Uu
aXNWYWxpZCgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmIChtX2dyYW50ZWRS
ZXF1ZXN0cy5pc0VtcHR5KCkgJiYgIW9yaWdpbkhhc1BlcnNpc3RlbnRBY2Nlc3MpCiAgICAgICAg
ICAgICByZXR1cm47CiAKICAgICAgICAgbV9wYWdlLnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpDYXB0dXJlRGV2aWNlc0NoYW5nZWQoKSwgbV9wYWdlLnBhZ2VJRCgpKTsKICAgICB9
OwogCiAgICAgYXV0byBvcmlnaW4gPSBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKG1f
cGFnZS5tYWluRnJhbWUoKS0+dXJsKCkpOwotICAgIGdldFVzZXJNZWRpYVBlcm1pc3Npb25JbmZv
KG1fcGFnZS5tYWluRnJhbWUoKS0+ZnJhbWVJRCgpLCBvcmlnaW4uZ2V0KCksIFdURk1vdmUob3Jp
Z2luKSwgV1RGTW92ZShoYW5kbGVyKSk7CisgICAgZ2V0VXNlck1lZGlhUGVybWlzc2lvbkluZm8o
cmVxdWVzdElELCBtX3BhZ2UubWFpbkZyYW1lKCktPmZyYW1lSUQoKSwgV1RGTW92ZShoYW5kbGVy
KSwgb3JpZ2luLmdldCgpLCBXVEZNb3ZlKG9yaWdpbikpOwogI2VuZGlmCiB9CiAKQEAgLTExMCw2
ICsxMTcsMTMgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6
Y2xlYXJDYWNoZWRTdGF0ZSgpCiAgICAgaW52YWxpZGF0ZVBlbmRpbmdSZXF1ZXN0cygpOwogfQog
CitSZWY8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eT4gVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHk6OmNyZWF0ZVBlcm1pc3Npb25SZXF1ZXN0KHVpbnQ2NF90IHVz
ZXJNZWRpYUlELCB1aW50NjRfdCBtYWluRnJhbWVJRCwgdWludDY0X3QgZnJhbWVJRCwgUmVmPFNl
Y3VyaXR5T3JpZ2luPiYmIHVzZXJNZWRpYURvY3VtZW50T3JpZ2luLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgdG9wTGV2ZWxEb2N1bWVudE9yaWdpbiwgVmVjdG9yPENhcHR1cmVEZXZpY2U+JiYgYXVk
aW9EZXZpY2VzLCBWZWN0b3I8Q2FwdHVyZURldmljZT4mJiB2aWRlb0RldmljZXMsIE1lZGlhU3Ry
ZWFtUmVxdWVzdCYmIHJlcXVlc3QpCit7CisgICAgYXV0byBwZXJtaXNzaW9uUmVxdWVzdCA9IFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OmNyZWF0ZSgqdGhpcywgdXNlck1lZGlhSUQs
IG1haW5GcmFtZUlELCBmcmFtZUlELCBXVEZNb3ZlKHVzZXJNZWRpYURvY3VtZW50T3JpZ2luKSwg
V1RGTW92ZSh0b3BMZXZlbERvY3VtZW50T3JpZ2luKSwgV1RGTW92ZShhdWRpb0RldmljZXMpLCBX
VEZNb3ZlKHZpZGVvRGV2aWNlcyksIFdURk1vdmUocmVxdWVzdCkpOworICAgIG1fcGVuZGluZ1Vz
ZXJNZWRpYVJlcXVlc3RzLmFkZCh1c2VyTWVkaWFJRCwgcGVybWlzc2lvblJlcXVlc3QucHRyKCkp
OworICAgIHJldHVybiBwZXJtaXNzaW9uUmVxdWVzdDsKK30KKwogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiBzdGF0aWMgdWludDY0X3QgdG9XZWJDb3JlKFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0UHJveHk6OlVzZXJNZWRpYUFjY2Vzc0RlbmlhbFJlYXNvbiByZWFzb24pCiB7CkBAIC0xNzQs
MTggKzE4OCwxNSBAQCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
Ojp1c2VyTWVkaWFBY2Nlc3NXYXNHcmFudGVkKHVpbnQ2NF90CiAgICAgaWYgKCFyZXF1ZXN0KQog
ICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvJiB1c2VyTWVkaWFEb2N1bWVudFNlY3VyaXR5T3Jp
Z2luID0gcmVxdWVzdC0+dXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpOwotICAgIGF1
dG8mIHRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbiA9IHJlcXVlc3QtPnRvcExldmVsRG9j
dW1lbnRTZWN1cml0eU9yaWdpbigpOwotICAgIG1fcGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkuZGV2
aWNlSWRIYXNoU2FsdFN0b3JhZ2UoKS5kZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2luKHVzZXJNZWRp
YURvY3VtZW50U2VjdXJpdHlPcmlnaW4sIHRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbiwg
W3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCByZXF1ZXN0ID0gcmVxdWVzdC5y
ZWxlYXNlTm9uTnVsbCgpXSAoU3RyaW5nJiYgZGV2aWNlSURIYXNoU2FsdCkgbXV0YWJsZSB7Cisg
ICAgbV9wYWdlLndlYnNpdGVEYXRhU3RvcmUoKS5kZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSgpLmRl
dmljZUlkSGFzaFNhbHRGb3JPcmlnaW4ocmVxdWVzdC0+dXNlck1lZGlhRG9jdW1lbnRTZWN1cml0
eU9yaWdpbigpLCByZXF1ZXN0LT50b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmlnaW4oKSwgW3Ro
aXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB1c2VyTWVkaWFJRCwgYXVkaW9EZXZp
Y2UgPSBXVEZNb3ZlKGF1ZGlvRGV2aWNlKSwgdmlkZW9EZXZpY2UgPSBXVEZNb3ZlKHZpZGVvRGV2
aWNlKSwgbG9jYWxSZXF1ZXN0ID0gcmVxdWVzdC5jb3B5UmVmKCldIChTdHJpbmcmJiBkZXZpY2VJ
REhhc2hTYWx0KSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgaWYgKCFncmFudEFjY2VzcyhyZXF1ZXN0KSkKLSAgICAgICAgICAg
IHJldHVybjsKLQotICAgICAgICBtX2dyYW50ZWRSZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1
ZXN0KSk7Ci0gICAgICAgIGlmIChtX2hhc0ZpbHRlcmVkRGV2aWNlTGlzdCkKLSAgICAgICAgICAg
IGNhcHR1cmVEZXZpY2VzQ2hhbmdlZCgpOwotICAgICAgICBtX2hhc0ZpbHRlcmVkRGV2aWNlTGlz
dCA9IGZhbHNlOworICAgICAgICBpZiAoZ3JhbnRBY2Nlc3ModXNlck1lZGlhSUQsIFdURk1vdmUo
YXVkaW9EZXZpY2UpLCBXVEZNb3ZlKHZpZGVvRGV2aWNlKSwgV1RGTW92ZShkZXZpY2VJREhhc2hT
YWx0KSkpIHsKKyAgICAgICAgICAgIG1fZ3JhbnRlZFJlcXVlc3RzLmFwcGVuZChsb2NhbFJlcXVl
c3QucmVsZWFzZU5vbk51bGwoKSk7CisgICAgICAgICAgICBpZiAobV9oYXNGaWx0ZXJlZERldmlj
ZUxpc3QpCisgICAgICAgICAgICAgICAgY2FwdHVyZURldmljZXNDaGFuZ2VkKCk7CisgICAgICAg
ICAgICBtX2hhc0ZpbHRlcmVkRGV2aWNlTGlzdCA9IGZhbHNlOworICAgICAgICB9CiAgICAgfSk7
CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTSh1c2VyTWVkaWFJRCk7CkBAIC0yNTUsMTQgKzI2Niwx
NCBAQCBib29sIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojp3YXNSZXF1
ZXN0RGVuaWVkKHVpbnQ2NF90IG1haW5GcmFtZQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9v
bCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6Z3JhbnRBY2Nlc3MoY29u
c3QgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYgcmVxdWVzdCkKK2Jvb2wgVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmdyYW50QWNjZXNzKHVpbnQ2NF90IHVz
ZXJNZWRpYUlELCBjb25zdCBDYXB0dXJlRGV2aWNlIGF1ZGlvRGV2aWNlLCBjb25zdCBDYXB0dXJl
RGV2aWNlIHZpZGVvRGV2aWNlLCBjb25zdCBTdHJpbmcmIGRldmljZUlkZW50aWZpZXJIYXNoU2Fs
dCkKIHsKLSAgICBpZiAoIVVzZXJNZWRpYVByb2Nlc3NNYW5hZ2VyOjpzaW5nbGV0b24oKS53aWxs
Q3JlYXRlTWVkaWFTdHJlYW0oKnRoaXMsIHJlcXVlc3QuaGFzQXVkaW9EZXZpY2UoKSwgcmVxdWVz
dC5oYXNWaWRlb0RldmljZSgpKSkgewotICAgICAgICBkZW55UmVxdWVzdChyZXF1ZXN0LnVzZXJN
ZWRpYUlEKCksIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OlVzZXJNZWRpYUFjY2Vz
c0RlbmlhbFJlYXNvbjo6T3RoZXJGYWlsdXJlLCAiVW5hYmxlIHRvIGV4dGVuZCBzYW5kYm94LiIp
OworICAgIGlmICghVXNlck1lZGlhUHJvY2Vzc01hbmFnZXI6OnNpbmdsZXRvbigpLndpbGxDcmVh
dGVNZWRpYVN0cmVhbSgqdGhpcywgISFhdWRpb0RldmljZSwgISF2aWRlb0RldmljZSkpIHsKKyAg
ICAgICAgZGVueVJlcXVlc3QodXNlck1lZGlhSUQsIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
UHJveHk6OlVzZXJNZWRpYUFjY2Vzc0RlbmlhbFJlYXNvbjo6T3RoZXJGYWlsdXJlLCAiVW5hYmxl
IHRvIGV4dGVuZCBzYW5kYm94LiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0g
ICAgbV9wYWdlLnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVc2VyTWVkaWFBY2Nl
c3NXYXNHcmFudGVkKHJlcXVlc3QudXNlck1lZGlhSUQoKSwgcmVxdWVzdC5hdWRpb0RldmljZSgp
LCByZXF1ZXN0LnZpZGVvRGV2aWNlKCksIHJlcXVlc3QuZGV2aWNlSWRlbnRpZmllckhhc2hTYWx0
KCkpLCBtX3BhZ2UucGFnZUlEKCkpOworICAgIG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNzYWdl
czo6V2ViUGFnZTo6VXNlck1lZGlhQWNjZXNzV2FzR3JhbnRlZCh1c2VyTWVkaWFJRCwgYXVkaW9E
ZXZpY2UsIHZpZGVvRGV2aWNlLCBkZXZpY2VJZGVudGlmaWVySGFzaFNhbHQpLCBtX3BhZ2UucGFn
ZUlEKCkpOwogICAgIHJldHVybiB0cnVlOwogfQogI2VuZGlmCkBAIC0yODUsMjYgKzI5NiwyNSBA
QCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpzY2hlZHVsZU5l
eHRSZWplY3Rpb24oKQogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLVVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpSZXF1ZXN0QWN0aW9uIFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpnZXRSZXF1ZXN0QWN0aW9uKGNvbnN0IFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0UHJveHkmIHJlcXVlc3QpCitVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXJQcm94eTo6UmVxdWVzdEFjdGlvbiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eTo6Z2V0UmVxdWVzdEFjdGlvbih1aW50NjRfdCBmcmFtZUlELCBTZWN1cml0
eU9yaWdpbiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIFNlY3VyaXR5T3JpZ2luJiB0b3BMZXZl
bERvY3VtZW50T3JpZ2luLCBjb25zdCBNZWRpYVN0cmVhbVJlcXVlc3QmIHVzZXJSZXF1ZXN0LCBW
ZWN0b3I8Q2FwdHVyZURldmljZT4mIGF1ZGlvRGV2aWNlcywgVmVjdG9yPENhcHR1cmVEZXZpY2U+
JiB2aWRlb0RldmljZXMpCiB7Ci0gICAgYm9vbCByZXF1ZXN0aW5nU2NyZWVuQ2FwdHVyZSA9IHJl
cXVlc3QucmVxdWVzdFR5cGUoKSA9PSBNZWRpYVN0cmVhbVJlcXVlc3Q6OlR5cGU6OkRpc3BsYXlN
ZWRpYTsKLSAgICBib29sIHJlcXVlc3RpbmdDYW1lcmEgPSAhcmVxdWVzdGluZ1NjcmVlbkNhcHR1
cmUgJiYgcmVxdWVzdC5oYXNWaWRlb0RldmljZSgpOwotICAgIGJvb2wgcmVxdWVzdGluZ01pY3Jv
cGhvbmUgPSByZXF1ZXN0Lmhhc0F1ZGlvRGV2aWNlKCk7CisgICAgYm9vbCByZXF1ZXN0aW5nU2Ny
ZWVuQ2FwdHVyZSA9IHVzZXJSZXF1ZXN0LnR5cGUgPT0gTWVkaWFTdHJlYW1SZXF1ZXN0OjpUeXBl
OjpEaXNwbGF5TWVkaWE7CisgICAgQVNTRVJUKCEocmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUgJiYg
dmlkZW9EZXZpY2VzLmlzRW1wdHkoKSkpOworICAgIEFTU0VSVCghKHJlcXVlc3RpbmdTY3JlZW5D
YXB0dXJlICYmICFhdWRpb0RldmljZXMuaXNFbXB0eSgpKSk7CisgICAgYm9vbCByZXF1ZXN0aW5n
Q2FtZXJhID0gIXJlcXVlc3RpbmdTY3JlZW5DYXB0dXJlICYmICF2aWRlb0RldmljZXMuaXNFbXB0
eSgpOworICAgIGJvb2wgcmVxdWVzdGluZ01pY3JvcGhvbmUgPSAhYXVkaW9EZXZpY2VzLmlzRW1w
dHkoKTsKIAotICAgIEFTU0VSVCghKHJlcXVlc3RpbmdTY3JlZW5DYXB0dXJlICYmICFyZXF1ZXN0
Lmhhc1ZpZGVvRGV2aWNlKCkpKTsKLSAgICBBU1NFUlQoIShyZXF1ZXN0aW5nU2NyZWVuQ2FwdHVy
ZSAmJiByZXF1ZXN0aW5nTWljcm9waG9uZSkpOwotCi0gICAgaWYgKHdhc1JlcXVlc3REZW5pZWQo
cmVxdWVzdC5mcmFtZUlEKCksIHJlcXVlc3QudXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdp
bigpLCByZXF1ZXN0LnRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0aW5n
TWljcm9waG9uZSwgcmVxdWVzdGluZ0NhbWVyYSwgcmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUpKQor
ICAgIGlmICh3YXNSZXF1ZXN0RGVuaWVkKGZyYW1lSUQsIHVzZXJNZWRpYURvY3VtZW50T3JpZ2lu
LCB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCByZXF1ZXN0aW5nTWljcm9waG9uZSwgcmVxdWVzdGlu
Z0NhbWVyYSwgcmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUpKQogICAgICAgICByZXR1cm4gUmVxdWVz
dEFjdGlvbjo6RGVueTsKIAotICAgIGlmIChyZXF1ZXN0LnJlcXVlc3RUeXBlKCkgPT0gTWVkaWFT
dHJlYW1SZXF1ZXN0OjpUeXBlOjpEaXNwbGF5TWVkaWEpCisgICAgaWYgKHVzZXJSZXF1ZXN0LnR5
cGUgPT0gTWVkaWFTdHJlYW1SZXF1ZXN0OjpUeXBlOjpEaXNwbGF5TWVkaWEpCiAgICAgICAgIHJl
dHVybiBSZXF1ZXN0QWN0aW9uOjpQcm9tcHQ7CiAKLSAgICByZXR1cm4gc2VhcmNoRm9yR3JhbnRl
ZFJlcXVlc3QocmVxdWVzdC5mcmFtZUlEKCksIHJlcXVlc3QudXNlck1lZGlhRG9jdW1lbnRTZWN1
cml0eU9yaWdpbigpLCByZXF1ZXN0LnRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCBy
ZXF1ZXN0aW5nTWljcm9waG9uZSwgcmVxdWVzdGluZ0NhbWVyYSkgPyBSZXF1ZXN0QWN0aW9uOjpH
cmFudCA6IFJlcXVlc3RBY3Rpb246OlByb21wdDsKKyAgICByZXR1cm4gc2VhcmNoRm9yR3JhbnRl
ZFJlcXVlc3QoZnJhbWVJRCwgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIHRvcExldmVsRG9jdW1l
bnRPcmlnaW4sIHJlcXVlc3RpbmdNaWNyb3Bob25lLCByZXF1ZXN0aW5nQ2FtZXJhKSA/IFJlcXVl
c3RBY3Rpb246OkdyYW50IDogUmVxdWVzdEFjdGlvbjo6UHJvbXB0OwogfQogI2VuZGlmCiAKLXZv
aWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnJlcXVlc3RVc2VyTWVk
aWFQZXJtaXNzaW9uRm9yRnJhbWUodWludDY0X3QgdXNlck1lZGlhSUQsIHVpbnQ2NF90IGZyYW1l
SUQsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiwgUmVmPFNl
Y3VyaXR5T3JpZ2luPiYmIHRvcExldmVsRG9jdW1lbnRPcmlnaW4sIE1lZGlhU3RyZWFtUmVxdWVz
dCYmIHVzZXJSZXF1ZXN0KQordm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eTo6cmVxdWVzdFVzZXJNZWRpYVBlcm1pc3Npb25Gb3JGcmFtZSh1aW50NjRfdCB1c2VyTWVk
aWFJRCwgdWludDY0X3QgZnJhbWVJRCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHVzZXJNZWRpYURv
Y3VtZW50T3JpZ2luLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wTGV2ZWxEb2N1bWVudE9yaWdp
biwgY29uc3QgTWVkaWFTdHJlYW1SZXF1ZXN0JiB1c2VyUmVxdWVzdCkKIHsKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogICAgIGlmICghVXNlck1lZGlhUHJvY2Vzc01hbmFnZXI6OnNpbmdsZXRv
bigpLmNhcHR1cmVFbmFibGVkKCkpIHsKQEAgLTMxMyw2MiArMzIzLDk1IEBAIHZvaWQgVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnJlcXVlc3RVc2VyTWVkaWFQZXJtaXNz
aW9uRm9yRnJhbWUoCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoIW1fcGFnZS5p
c1ZhbGlkKCkpCi0gICAgICAgIHJldHVybjsKKyAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
OjpJbnZhbGlkQ29uc3RyYWludHNIYW5kbGVyIGludmFsaWRIYW5kbGVyID0gW3RoaXMsIHVzZXJN
ZWRpYUlEXShjb25zdCBTdHJpbmcmIGludmFsaWRDb25zdHJhaW50KSB7CisgICAgICAgIGlmICgh
bV9wYWdlLmlzVmFsaWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKIAotICAgIGF1dG8gdXNlck1l
ZGlhT3JpZ2luID0gQVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHVzZXJNZWRpYURvY3VtZW50
T3JpZ2luLmdldCgpKTsKLSAgICBhdXRvIHRvcExldmVsT3JpZ2luID0gQVBJOjpTZWN1cml0eU9y
aWdpbjo6Y3JlYXRlKHRvcExldmVsRG9jdW1lbnRPcmlnaW4uZ2V0KCkpOworICAgICAgICBkZW55
UmVxdWVzdCh1c2VyTWVkaWFJRCwgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6VXNl
ck1lZGlhQWNjZXNzRGVuaWFsUmVhc29uOjpJbnZhbGlkQ29uc3RyYWludCwgaW52YWxpZENvbnN0
cmFpbnQpOworICAgIH07CiAKLSAgICBhdXRvIHJlcXVlc3QgPSBtX3BlbmRpbmdVc2VyTWVkaWFS
ZXF1ZXN0cy5hZGQodXNlck1lZGlhSUQsIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6
OmNyZWF0ZSgqdGhpcywgdXNlck1lZGlhSUQsIG1fcGFnZS5tYWluRnJhbWUoKS0+ZnJhbWVJRCgp
LCBmcmFtZUlELCBXVEZNb3ZlKHVzZXJNZWRpYURvY3VtZW50T3JpZ2luKSwgV1RGTW92ZSh0b3BM
ZXZlbERvY3VtZW50T3JpZ2luKSwgeyB9LCB7IH0sIFdURk1vdmUodXNlclJlcXVlc3QpKSkuaXRl
cmF0b3ItPnZhbHVlLmNvcHlSZWYoKTsKKyAgICBhdXRvIHZhbGlkSGFuZGxlciA9IFt0aGlzLCB1
c2VyTWVkaWFJRCwgZnJhbWVJRCwgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4gPSB1c2VyTWVkaWFE
b2N1bWVudE9yaWdpbi5jb3B5UmVmKCksIHRvcExldmVsRG9jdW1lbnRPcmlnaW4gPSB0b3BMZXZl
bERvY3VtZW50T3JpZ2luLmNvcHlSZWYoKSwgbG9jYWxVc2VyUmVxdWVzdCA9IHVzZXJSZXF1ZXN0
XShWZWN0b3I8Q2FwdHVyZURldmljZT4mJiBhdWRpb0RldmljZXMsIFZlY3RvcjxDYXB0dXJlRGV2
aWNlPiYmIHZpZGVvRGV2aWNlcywgU3RyaW5nJiYgZGV2aWNlSWRlbnRpZmllckhhc2hTYWx0KSBt
dXRhYmxlIHsKKyAgICAgICAgaWYgKCFtX3BhZ2UuaXNWYWxpZCgpIHx8ICFtX3BhZ2UubWFpbkZy
YW1lKCkpCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBnZXRVc2VyTWVkaWFQZXJtaXNzaW9u
SW5mbyhmcmFtZUlELCByZXF1ZXN0LT51c2VyTWVkaWFEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCks
IHJlcXVlc3QtPnRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCBbdGhpcywgcmVxdWVz
dCA9IHJlcXVlc3QucmVsZWFzZU5vbk51bGwoKV0oT3B0aW9uYWw8Ym9vbD4gaGFzUGVyc2lzdGVu
dEFjY2VzcykgbXV0YWJsZSB7Ci0gICAgICAgIGlmICghcmVxdWVzdC0+aXNQZW5kaW5nKCkpCisg
ICAgICAgIGlmICh2aWRlb0RldmljZXMuaXNFbXB0eSgpICYmIGF1ZGlvRGV2aWNlcy5pc0VtcHR5
KCkpIHsKKyAgICAgICAgICAgIGRlbnlSZXF1ZXN0KHVzZXJNZWRpYUlELCBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5OjpVc2VyTWVkaWFBY2Nlc3NEZW5pYWxSZWFzb246Ok5vQ29uc3Ry
YWludHMsIGVtcHR5U3RyaW5nKCkpOwogICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAK
LSAgICAgICAgaWYgKCFoYXNQZXJzaXN0ZW50QWNjZXNzKSB7Ci0gICAgICAgICAgICByZXF1ZXN0
LT5kZW55KFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OlVzZXJNZWRpYUFjY2Vzc0Rl
bmlhbFJlYXNvbjo6T3RoZXJGYWlsdXJlKTsKKyAgICAgICAgYXV0byBhY3Rpb24gPSBnZXRSZXF1
ZXN0QWN0aW9uKG1fcGFnZS5tYWluRnJhbWUoKS0+ZnJhbWVJRCgpLCB1c2VyTWVkaWFEb2N1bWVu
dE9yaWdpbi5nZXQoKSwgdG9wTGV2ZWxEb2N1bWVudE9yaWdpbi5nZXQoKSwgbG9jYWxVc2VyUmVx
dWVzdCwgYXVkaW9EZXZpY2VzLCB2aWRlb0RldmljZXMpOworICAgICAgICBpZiAoYWN0aW9uID09
IFJlcXVlc3RBY3Rpb246OkRlbnkpIHsKKyAgICAgICAgICAgIGRlbnlSZXF1ZXN0KHVzZXJNZWRp
YUlELCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjpVc2VyTWVkaWFBY2Nlc3NEZW5p
YWxSZWFzb246OlBlcm1pc3Npb25EZW5pZWQsIGVtcHR5U3RyaW5nKCkpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgcHJvY2Vzc1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0KFdURk1vdmUocmVxdWVzdCksICpoYXNQZXJzaXN0ZW50QWNjZXNzKTsKLSAgICB9KTsK
LX0KKyAgICAgICAgaWYgKGFjdGlvbiA9PSBSZXF1ZXN0QWN0aW9uOjpHcmFudCkgeworICAgICAg
ICAgICAgQVNTRVJUKGxvY2FsVXNlclJlcXVlc3QudHlwZSAhPSBNZWRpYVN0cmVhbVJlcXVlc3Q6
OlR5cGU6OkRpc3BsYXlNZWRpYSk7CiAKLXZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHk6OnByb2Nlc3NVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdChSZWY8VXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eT4mJiByZXF1ZXN0LCBib29sIGhhc1BlcnNpc3RlbnRB
Y2Nlc3MpCi17Ci0gICAgaWYgKGhhc1BlcnNpc3RlbnRBY2Nlc3MpCi0gICAgICAgIHJlcXVlc3Qt
PnNldEhhc1BlcnNpc3RlbnRBY2Nlc3MoKTsKKyAgICAgICAgICAgIGlmIChtX3BhZ2UuaXNWaWV3
VmlzaWJsZSgpKSB7CisgICAgICAgICAgICAgICAgLy8gV2Ugc2VsZWN0IHRoZSBmaXJzdCBhdmFp
bGFibGUgZGV2aWNlcywgYnV0IHRoZSBjdXJyZW50IGNsaWVudCBBUEkgYWxsb3dzIGNsaWVudCB0
byBzZWxlY3Qgd2hpY2ggZGV2aWNlIHRvIHBpY2suCisgICAgICAgICAgICAgICAgLy8gRklYTUU6
IFJlbW92ZSB0aGUgcG9zc2libGl0eSBmb3IgdGhlIGNsaWVudCB0byBkbyB0aGUgZGV2aWNlIHNl
bGVjdGlvbi4KKyAgICAgICAgICAgICAgICBhdXRvIGF1ZGlvRGV2aWNlID0gIWF1ZGlvRGV2aWNl
cy5pc0VtcHR5KCkgPyBhdWRpb0RldmljZXNbMF0gOiBDYXB0dXJlRGV2aWNlKCk7CisgICAgICAg
ICAgICAgICAgYXV0byB2aWRlb0RldmljZSA9ICF2aWRlb0RldmljZXMuaXNFbXB0eSgpID8gdmlk
ZW9EZXZpY2VzWzBdIDogQ2FwdHVyZURldmljZSgpOworICAgICAgICAgICAgICAgIGdyYW50QWNj
ZXNzKHVzZXJNZWRpYUlELCBXVEZNb3ZlKGF1ZGlvRGV2aWNlKSwgV1RGTW92ZSh2aWRlb0Rldmlj
ZSksIFdURk1vdmUoZGV2aWNlSWRlbnRpZmllckhhc2hTYWx0KSk7CisgICAgICAgICAgICB9IGVs
c2UKKyAgICAgICAgICAgICAgICBtX3ByZWdyYW50ZWRSZXF1ZXN0cy5hcHBlbmQoY3JlYXRlUGVy
bWlzc2lvblJlcXVlc3QodXNlck1lZGlhSUQsIG1fcGFnZS5tYWluRnJhbWUoKS0+ZnJhbWVJRCgp
LCBmcmFtZUlELCBXVEZNb3ZlKHVzZXJNZWRpYURvY3VtZW50T3JpZ2luKSwgV1RGTW92ZSh0b3BM
ZXZlbERvY3VtZW50T3JpZ2luKSwgV1RGTW92ZShhdWRpb0RldmljZXMpLCBXVEZNb3ZlKHZpZGVv
RGV2aWNlcyksIFdURk1vdmUobG9jYWxVc2VyUmVxdWVzdCkpKTsKIAotICAgIGF1dG8mIHVzZXJN
ZWRpYURvY3VtZW50U2VjdXJpdHlPcmlnaW4gPSByZXF1ZXN0LT51c2VyTWVkaWFEb2N1bWVudFNl
Y3VyaXR5T3JpZ2luKCk7Ci0gICAgYXV0byYgdG9wTGV2ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2lu
ID0gcmVxdWVzdC0+dG9wTGV2ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCk7Ci0gICAgbV9wYWdl
LndlYnNpdGVEYXRhU3RvcmUoKS5kZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSgpLmRldmljZUlkSGFz
aFNhbHRGb3JPcmlnaW4odXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbiwgdG9wTGV2ZWxE
b2N1bWVudFNlY3VyaXR5T3JpZ2luLCBbdGhpcywgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCld
IChTdHJpbmcmJiBkZXZpY2VJREhhc2hTYWx0KSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKCFyZXF1
ZXN0LT5pc1BlbmRpbmcoKSkKICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAg
ICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OkludmFsaWRDb25zdHJhaW50c0hhbmRsZXIg
aW52YWxpZEhhbmRsZXIgPSBbdGhpcywgcmVxdWVzdCA9IHJlcXVlc3QuY29weVJlZigpXShjb25z
dCBTdHJpbmcmIGludmFsaWRDb25zdHJhaW50KSB7Ci0gICAgICAgICAgICBpZiAoIXJlcXVlc3Qt
PmlzUGVuZGluZygpKQotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgYXV0byB1c2Vy
TWVkaWFPcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUodXNlck1lZGlhRG9jdW1l
bnRPcmlnaW4uZ2V0KCkpOworICAgICAgICBhdXRvIHRvcExldmVsT3JpZ2luID0gQVBJOjpTZWN1
cml0eU9yaWdpbjo6Y3JlYXRlKHRvcExldmVsRG9jdW1lbnRPcmlnaW4uZ2V0KCkpOworICAgICAg
ICBhdXRvIHBlbmRpbmdSZXF1ZXN0ID0gY3JlYXRlUGVybWlzc2lvblJlcXVlc3QodXNlck1lZGlh
SUQsIG1fcGFnZS5tYWluRnJhbWUoKS0+ZnJhbWVJRCgpLCBmcmFtZUlELCBXVEZNb3ZlKHVzZXJN
ZWRpYURvY3VtZW50T3JpZ2luKSwgV1RGTW92ZSh0b3BMZXZlbERvY3VtZW50T3JpZ2luKSwgV1RG
TW92ZShhdWRpb0RldmljZXMpLCBXVEZNb3ZlKHZpZGVvRGV2aWNlcyksIFdURk1vdmUobG9jYWxV
c2VyUmVxdWVzdCkpOworCisgICAgICAgIGlmIChtX3BhZ2UuaXNDb250cm9sbGVkQnlBdXRvbWF0
aW9uKCkpIHsKKyAgICAgICAgICAgIGlmIChXZWJBdXRvbWF0aW9uU2Vzc2lvbiogYXV0b21hdGlv
blNlc3Npb24gPSBtX3BhZ2UucHJvY2VzcygpLnByb2Nlc3NQb29sKCkuYXV0b21hdGlvblNlc3Np
b24oKSkgeworICAgICAgICAgICAgICAgIGlmIChhdXRvbWF0aW9uU2Vzc2lvbi0+c2hvdWxkQWxs
b3dHZXRVc2VyTWVkaWFGb3JQYWdlKG1fcGFnZSkpCisgICAgICAgICAgICAgICAgICAgIHBlbmRp
bmdSZXF1ZXN0LT5hbGxvdygpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgdXNlck1lZGlhQWNjZXNzV2FzRGVuaWVkKHVzZXJNZWRpYUlELCBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5OjpVc2VyTWVkaWFBY2Nlc3NEZW5pYWxSZWFzb246OlBlcm1pc3Np
b25EZW5pZWQpOwogCi0gICAgICAgICAgICBpZiAoIW1fcGFnZS5pc1ZhbGlkKCkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CiAKLSAgICAgICAgICAg
IHByb2Nlc3NVc2VyTWVkaWFQZXJtaXNzaW9uSW52YWxpZFJlcXVlc3QocmVxdWVzdC5nZXQoKSwg
aW52YWxpZENvbnN0cmFpbnQpOwotICAgICAgICB9OworICAgICAgICBpZiAobV9wYWdlLnByZWZl
cmVuY2VzKCkubW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCgpICYmICFtX3BhZ2UucHJlZmVyZW5j
ZXMoKS5tb2NrQ2FwdHVyZURldmljZXNQcm9tcHRFbmFibGVkKCkpIHsKKyAgICAgICAgICAgIHBl
bmRpbmdSZXF1ZXN0LT5hbGxvdygpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAK
LSAgICAgICAgYXV0byB2YWxpZEhhbmRsZXIgPSBbdGhpcywgcmVxdWVzdCA9IHJlcXVlc3QuY29w
eVJlZigpXShWZWN0b3I8Q2FwdHVyZURldmljZT4mJiBhdWRpb0RldmljZXMsIFZlY3RvcjxDYXB0
dXJlRGV2aWNlPiYmIHZpZGVvRGV2aWNlcywgU3RyaW5nJiYgZGV2aWNlSWRlbnRpZmllckhhc2hT
YWx0KSBtdXRhYmxlIHsKLSAgICAgICAgICAgIGlmICghcmVxdWVzdC0+aXNQZW5kaW5nKCkpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAvLyBJZiBwYWdlIG5hdmlnYXRlZCwgdGhl
cmUgaXMgbm8gbmVlZCB0byBjYWxsIHRoZSBwYWdlIGNsaWVudCBmb3IgYXV0aG9yaXphdGlvbi4K
KyAgICAgICAgYXV0byogd2ViRnJhbWUgPSBtX3BhZ2UucHJvY2VzcygpLndlYkZyYW1lKGZyYW1l
SUQpOwogCi0gICAgICAgICAgICBpZiAoIW1fcGFnZS5pc1ZhbGlkKCkgfHwgIW1fcGFnZS5tYWlu
RnJhbWUoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghd2ViRnJhbWUg
fHwgIVNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKG1fcGFnZS5wYWdlTG9hZFN0YXRl
KCkuYWN0aXZlVVJMKCkpLT5pc1NhbWVTY2hlbWVIb3N0UG9ydCh0b3BMZXZlbE9yaWdpbi0+c2Vj
dXJpdHlPcmlnaW4oKSkpIHsKKyAgICAgICAgICAgIGRlbnlSZXF1ZXN0KHVzZXJNZWRpYUlELCBV
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjpVc2VyTWVkaWFBY2Nlc3NEZW5pYWxSZWFz
b246Ok5vQ29uc3RyYWludHMsIGVtcHR5U3RyaW5nKCkpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisKKyAgICAgICAgLy8gRklYTUU6IFJlbW92ZSB3ZWJGcmFtZSwgdXNlck1lZGlh
T3JpZ2luIGFuZCB0b3BMZXZlbE9yaWdpbiBmcm9tIHRoaXMgdWlDbGllbnQgQVBJIGNhbGwuCisg
ICAgICAgIG1fcGFnZS51aUNsaWVudCgpLmRlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0KG1fcGFnZSwgKndlYkZyYW1lLCBXVEZNb3ZlKHVzZXJNZWRpYU9yaWdpbiksIFdU
Rk1vdmUodG9wTGV2ZWxPcmlnaW4pLCBwZW5kaW5nUmVxdWVzdC5nZXQoKSk7CisgICAgfTsKKwor
ICAgIGF1dG8gcmVxdWVzdElEID0gZ2VuZXJhdGVSZXF1ZXN0SUQoKTsKKyAgICBhdXRvIGhhdmVQ
ZXJtaXNzaW9uSW5mb0hhbmRsZXIgPSBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhp
cyksIHJlcXVlc3RJRCwgdmFsaWRIYW5kbGVyID0gV1RGTW92ZSh2YWxpZEhhbmRsZXIpLCBpbnZh
bGlkSGFuZGxlciA9IFdURk1vdmUoaW52YWxpZEhhbmRsZXIpLCBsb2NhbFVzZXJSZXF1ZXN0ID0g
dXNlclJlcXVlc3RdKGJvb2wgb3JpZ2luSGFzUGVyc2lzdGVudEFjY2VzcykgbXV0YWJsZSB7Cisg
ICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgYXV0
byBwZW5kaW5nUmVxdWVzdCA9IG1fcGVuZGluZ0RldmljZVJlcXVlc3RzLnRha2UocmVxdWVzdElE
KTsKKyAgICAgICAgaWYgKCFwZW5kaW5nUmVxdWVzdCkKKyAgICAgICAgICAgIHJldHVybjsKIAot
ICAgICAgICAgICAgcHJvY2Vzc1VzZXJNZWRpYVBlcm1pc3Npb25WYWxpZFJlcXVlc3QoV1RGTW92
ZShyZXF1ZXN0KSwgV1RGTW92ZShhdWRpb0RldmljZXMpLCBXVEZNb3ZlKHZpZGVvRGV2aWNlcyks
IFdURk1vdmUoZGV2aWNlSWRlbnRpZmllckhhc2hTYWx0KSk7Ci0gICAgICAgIH07CisgICAgICAg
IGlmICghbV9wYWdlLmlzVmFsaWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBz
eW5jV2l0aFdlYkNvcmVQcmVmcygpOwogCi0gICAgICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXI6OnNpbmdsZXRvbigpLnZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKFdURk1vdmUodmFsaWRI
YW5kbGVyKSwgV1RGTW92ZShpbnZhbGlkSGFuZGxlciksIHJlcXVlc3QtPnVzZXJSZXF1ZXN0KCks
IFdURk1vdmUoZGV2aWNlSURIYXNoU2FsdCkpOwotICAgIH0pOworICAgICAgICBtX3BhZ2Uud2Vi
c2l0ZURhdGFTdG9yZSgpLmRldmljZUlkSGFzaFNhbHRTdG9yYWdlKCkuZGV2aWNlSWRIYXNoU2Fs
dEZvck9yaWdpbihwZW5kaW5nUmVxdWVzdC52YWx1ZSgpLT51c2VyTWVkaWFEb2N1bWVudFNlY3Vy
aXR5T3JpZ2luKCksIHBlbmRpbmdSZXF1ZXN0LnZhbHVlKCktPnRvcExldmVsRG9jdW1lbnRTZWN1
cml0eU9yaWdpbigpLCBbdmFsaWRIYW5kbGVyID0gV1RGTW92ZSh2YWxpZEhhbmRsZXIpLCBpbnZh
bGlkSGFuZGxlciA9IFdURk1vdmUoaW52YWxpZEhhbmRsZXIpLCBsb2NhbFVzZXJSZXF1ZXN0ID0g
bG9jYWxVc2VyUmVxdWVzdF0gKFN0cmluZyYmIGRldmljZUlESGFzaFNhbHQpIG11dGFibGUgewor
ICAgICAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmFsaWRh
dGVSZXF1ZXN0Q29uc3RyYWludHMoV1RGTW92ZSh2YWxpZEhhbmRsZXIpLCBXVEZNb3ZlKGludmFs
aWRIYW5kbGVyKSwgV1RGTW92ZShsb2NhbFVzZXJSZXF1ZXN0KSwgV1RGTW92ZShkZXZpY2VJREhh
c2hTYWx0KSk7CisgICAgICAgIH0pOworICAgIH07CisKKyAgICBnZXRVc2VyTWVkaWFQZXJtaXNz
aW9uSW5mbyhyZXF1ZXN0SUQsIGZyYW1lSUQsIFdURk1vdmUoaGF2ZVBlcm1pc3Npb25JbmZvSGFu
ZGxlciksIFdURk1vdmUodXNlck1lZGlhRG9jdW1lbnRPcmlnaW4pLCBXVEZNb3ZlKHRvcExldmVs
RG9jdW1lbnRPcmlnaW4pKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHVzZXJNZWRpYUlEKTsK
ICAgICBVTlVTRURfUEFSQU0oZnJhbWVJRCk7CkBAIC0zNzksOTMgKzQyMiwxOSBAQCB2b2lkIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojpwcm9jZXNzVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3QoUgogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLXZvaWQgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnByb2Nlc3NVc2VyTWVkaWFQZXJt
aXNzaW9uSW52YWxpZFJlcXVlc3QoY29uc3QgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eSYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiBpbnZhbGlkQ29uc3RyYWludCkKLXsKLSAgICBib29s
IGZpbHRlckNvbnN0cmFpbnQgPSAhcmVxdWVzdC5oYXNQZXJzaXN0ZW50QWNjZXNzKCkgJiYgIXdh
c0dyYW50ZWRWaWRlb09yQXVkaW9BY2Nlc3MocmVxdWVzdC5mcmFtZUlEKCksIHJlcXVlc3QudXNl
ck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0LnRvcExldmVsRG9jdW1lbnRT
ZWN1cml0eU9yaWdpbigpKTsKLQotICAgIGRlbnlSZXF1ZXN0KHJlcXVlc3QudXNlck1lZGlhSUQo
KSwgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6VXNlck1lZGlhQWNjZXNzRGVuaWFs
UmVhc29uOjpJbnZhbGlkQ29uc3RyYWludCwgZmlsdGVyQ29uc3RyYWludCA/IFN0cmluZyB7IH0g
OiBpbnZhbGlkQ29uc3RyYWludCk7Ci19Ci0KLXZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHk6OnByb2Nlc3NVc2VyTWVkaWFQZXJtaXNzaW9uVmFsaWRSZXF1ZXN0KFJl
ZjxVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5PiYmIHJlcXVlc3QsIFZlY3RvcjxDYXB0
dXJlRGV2aWNlPiYmIGF1ZGlvRGV2aWNlcywgVmVjdG9yPENhcHR1cmVEZXZpY2U+JiYgdmlkZW9E
ZXZpY2VzLCBTdHJpbmcmJiBkZXZpY2VJZGVudGlmaWVySGFzaFNhbHQpCi17Ci0gICAgaWYgKHZp
ZGVvRGV2aWNlcy5pc0VtcHR5KCkgJiYgYXVkaW9EZXZpY2VzLmlzRW1wdHkoKSkgewotICAgICAg
ICBkZW55UmVxdWVzdChyZXF1ZXN0LT51c2VyTWVkaWFJRCgpLCBVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdFByb3h5OjpVc2VyTWVkaWFBY2Nlc3NEZW5pYWxSZWFzb246Ok5vQ29uc3RyYWludHMs
IGVtcHR5U3RyaW5nKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgcmVxdWVzdC0+
c2V0RGV2aWNlSWRlbnRpZmllckhhc2hTYWx0KFdURk1vdmUoZGV2aWNlSWRlbnRpZmllckhhc2hT
YWx0KSk7Ci0gICAgcmVxdWVzdC0+c2V0RWxpZ2libGVWaWRlb0RldmljZVVJRHMoV1RGTW92ZSh2
aWRlb0RldmljZXMpKTsKLSAgICByZXF1ZXN0LT5zZXRFbGlnaWJsZUF1ZGlvRGV2aWNlVUlEcyhX
VEZNb3ZlKGF1ZGlvRGV2aWNlcykpOwotCi0gICAgYXV0byBhY3Rpb24gPSBnZXRSZXF1ZXN0QWN0
aW9uKHJlcXVlc3QpOwotICAgIGlmIChhY3Rpb24gPT0gUmVxdWVzdEFjdGlvbjo6RGVueSkgewot
ICAgICAgICBkZW55UmVxdWVzdChyZXF1ZXN0LT51c2VyTWVkaWFJRCgpLCBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5OjpVc2VyTWVkaWFBY2Nlc3NEZW5pYWxSZWFzb246OlBlcm1pc3Np
b25EZW5pZWQsIGVtcHR5U3RyaW5nKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKGFjdGlvbiA9PSBSZXF1ZXN0QWN0aW9uOjpHcmFudCkgewotICAgICAgICBBU1NFUlQocmVx
dWVzdC0+cmVxdWVzdFR5cGUoKSAhPSBNZWRpYVN0cmVhbVJlcXVlc3Q6OlR5cGU6OkRpc3BsYXlN
ZWRpYSk7Ci0KLSAgICAgICAgaWYgKG1fcGFnZS5pc1ZpZXdWaXNpYmxlKCkpCi0gICAgICAgICAg
ICBncmFudEFjY2VzcyhyZXF1ZXN0KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9wcmVn
cmFudGVkUmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVxdWVzdCkpOwotCi0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBpZiAobV9wYWdlLmlzQ29udHJvbGxlZEJ5QXV0b21hdGlvbigpKSB7
Ci0gICAgICAgIGlmIChXZWJBdXRvbWF0aW9uU2Vzc2lvbiogYXV0b21hdGlvblNlc3Npb24gPSBt
X3BhZ2UucHJvY2VzcygpLnByb2Nlc3NQb29sKCkuYXV0b21hdGlvblNlc3Npb24oKSkgewotICAg
ICAgICAgICAgaWYgKGF1dG9tYXRpb25TZXNzaW9uLT5zaG91bGRBbGxvd0dldFVzZXJNZWRpYUZv
clBhZ2UobV9wYWdlKSkKLSAgICAgICAgICAgICAgICByZXF1ZXN0LT5hbGxvdygpOwotICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHVzZXJNZWRpYUFjY2Vzc1dhc0RlbmllZChyZXF1
ZXN0LT51c2VyTWVkaWFJRCgpLCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjpVc2Vy
TWVkaWFBY2Nlc3NEZW5pYWxSZWFzb246OlBlcm1pc3Npb25EZW5pZWQpOwotCi0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAobV9wYWdlLnByZWZlcmVuY2Vz
KCkubW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCgpICYmICFtX3BhZ2UucHJlZmVyZW5jZXMoKS5t
b2NrQ2FwdHVyZURldmljZXNQcm9tcHRFbmFibGVkKCkpIHsKLSAgICAgICAgcmVxdWVzdC0+YWxs
b3coKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIElmIHBhZ2UgbmF2aWdhdGVk
LCB0aGVyZSBpcyBubyBuZWVkIHRvIGNhbGwgdGhlIHBhZ2UgY2xpZW50IGZvciBhdXRob3JpemF0
aW9uLgotICAgIGF1dG8qIHdlYkZyYW1lID0gbV9wYWdlLnByb2Nlc3MoKS53ZWJGcmFtZShyZXF1
ZXN0LT5mcmFtZUlEKCkpOwotCi0gICAgaWYgKCF3ZWJGcmFtZSB8fCAhU2VjdXJpdHlPcmlnaW46
OmNyZWF0ZUZyb21TdHJpbmcobV9wYWdlLnBhZ2VMb2FkU3RhdGUoKS5hY3RpdmVVUkwoKSktPmlz
U2FtZVNjaGVtZUhvc3RQb3J0KHJlcXVlc3QtPnRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdp
bigpKSkgewotICAgICAgICBkZW55UmVxdWVzdChyZXF1ZXN0LT51c2VyTWVkaWFJRCgpLCBVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjpVc2VyTWVkaWFBY2Nlc3NEZW5pYWxSZWFzb246
Ok5vQ29uc3RyYWludHMsIGVtcHR5U3RyaW5nKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB3ZWJGcmFtZSwgdXNlck1lZGlhT3JpZ2luIGFuZCB0b3BM
ZXZlbE9yaWdpbiBmcm9tIHRoaXMgdWlDbGllbnQgQVBJIGNhbGwuCi0gICAgYXV0byB1c2VyTWVk
aWFPcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUocmVxdWVzdC0+dXNlck1lZGlh
RG9jdW1lbnRTZWN1cml0eU9yaWdpbigpKTsKLSAgICBhdXRvIHRvcExldmVsT3JpZ2luID0gQVBJ
OjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHJlcXVlc3QtPnRvcExldmVsRG9jdW1lbnRTZWN1cml0
eU9yaWdpbigpKTsKLSAgICBtX3BhZ2UudWlDbGllbnQoKS5kZWNpZGVQb2xpY3lGb3JVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdChtX3BhZ2UsICp3ZWJGcmFtZSwgV1RGTW92ZSh1c2VyTWVkaWFP
cmlnaW4pLCBXVEZNb3ZlKHRvcExldmVsT3JpZ2luKSwgcmVxdWVzdCk7Ci19Ci0KLXZvaWQgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmdldFVzZXJNZWRpYVBlcm1pc3Np
b25JbmZvKHVpbnQ2NF90IGZyYW1lSUQsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB1c2VyTWVkaWFE
b2N1bWVudE9yaWdpbiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcExldmVsRG9jdW1lbnRPcmln
aW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8Ym9vbD4pPiYmIGhhbmRsZXIpCit2
b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpnZXRVc2VyTWVkaWFQ
ZXJtaXNzaW9uSW5mbyh1aW50NjRfdCByZXF1ZXN0SUQsIHVpbnQ2NF90IGZyYW1lSUQsIFVzZXJN
ZWRpYVBlcm1pc3Npb25DaGVja1Byb3h5OjpDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIsIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiwgUmVmPFNlY3VyaXR5
T3JpZ2luPiYmIHRvcExldmVsRG9jdW1lbnRPcmlnaW4pCiB7CiAgICAgYXV0byogd2ViRnJhbWUg
PSBtX3BhZ2UucHJvY2VzcygpLndlYkZyYW1lKGZyYW1lSUQpOwogICAgIGlmICghd2ViRnJhbWUg
fHwgIVNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKG1fcGFnZS5wYWdlTG9hZFN0YXRl
KCkuYWN0aXZlVVJMKCkpLT5pc1NhbWVTY2hlbWVIb3N0UG9ydCh0b3BMZXZlbERvY3VtZW50T3Jp
Z2luLmdldCgpKSkgewotICAgICAgICBoYW5kbGVyKHsgfSk7CisgICAgICAgIGhhbmRsZXIoZmFs
c2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgYXV0byB1c2VyTWVkaWFPcmlnaW4g
PSBBUEk6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUodXNlck1lZGlhRG9jdW1lbnRPcmlnaW4uZ2V0
KCkpOwogICAgIGF1dG8gdG9wTGV2ZWxPcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3JpZ2luOjpjcmVh
dGUodG9wTGV2ZWxEb2N1bWVudE9yaWdpbi5nZXQoKSk7CisgICAgYXV0byByZXF1ZXN0ID0gVXNl
ck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHk6OmNyZWF0ZShmcmFtZUlELCBXVEZNb3ZlKGhhbmRs
ZXIpLCBXVEZNb3ZlKHVzZXJNZWRpYURvY3VtZW50T3JpZ2luKSwgV1RGTW92ZSh0b3BMZXZlbERv
Y3VtZW50T3JpZ2luKSk7CiAKLSAgICBhdXRvIHJlcXVlc3RJRCA9IGdlbmVyYXRlUmVxdWVzdElE
KCk7Ci0gICAgbV9wZW5kaW5nRGV2aWNlUmVxdWVzdHMuYWRkKHJlcXVlc3RJRCk7Ci0KLSAgICBh
dXRvIHJlcXVlc3QgPSBVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eTo6Y3JlYXRlKGZyYW1l
SUQsIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgcmVxdWVzdElELCBoYW5k
bGVyID0gV1RGTW92ZShoYW5kbGVyKV0oT3B0aW9uYWw8Ym9vbD4gYWxsb3dlZCkgbXV0YWJsZSB7
Ci0gICAgICAgIGlmICghd2Vha1RoaXMgfHwgIW1fcGVuZGluZ0RldmljZVJlcXVlc3RzLnJlbW92
ZShyZXF1ZXN0SUQpIHx8ICFhbGxvd2VkKSB7Ci0gICAgICAgICAgICBoYW5kbGVyKHsgfSk7Ci0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgaGFuZGxlcigqYWxsb3dlZCk7
Ci0gICAgfSwgV1RGTW92ZSh1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiksIFdURk1vdmUodG9wTGV2
ZWxEb2N1bWVudE9yaWdpbikpOwotCisgICAgbV9wZW5kaW5nRGV2aWNlUmVxdWVzdHMuYWRkKHJl
cXVlc3RJRCwgcmVxdWVzdC5jb3B5UmVmKCkpOwogICAgIC8vIEZJWE1FOiBSZW1vdmUgd2ViRnJh
bWUsIHVzZXJNZWRpYU9yaWdpbiBhbmQgdG9wTGV2ZWxPcmlnaW4gZnJvbSB0aGlzIHVpQ2xpZW50
IEFQSSBjYWxsLgogICAgIG1fcGFnZS51aUNsaWVudCgpLmNoZWNrVXNlck1lZGlhUGVybWlzc2lv
bkZvck9yaWdpbihtX3BhZ2UsICp3ZWJGcmFtZSwgdXNlck1lZGlhT3JpZ2luLmdldCgpLCB0b3BM
ZXZlbE9yaWdpbi5nZXQoKSwgcmVxdWVzdC5nZXQoKSk7CiB9CkBAIC00ODgsOSArNDU3LDEyIEBA
IGJvb2wgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6Ondhc0dyYW50ZWRW
aWRlb09yQXVkaW9BY2Nlc3ModWludDY0CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CisjZW5kaWYK
IAotVmVjdG9yPENhcHR1cmVEZXZpY2U+IFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5Ojpjb21wdXRlRmlsdGVyZWREZXZpY2VMaXN0KGJvb2wgcmV2ZWFsSWRzQW5kTGFiZWxz
LCBjb25zdCBTdHJpbmcmIGRldmljZUlESGFzaFNhbHQpCit2b2lkIFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5OjplbnVtZXJhdGVNZWRpYURldmljZXNGb3JGcmFtZSh1aW50
NjRfdCB1c2VyTWVkaWFJRCwgdWludDY0X3QgZnJhbWVJRCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IHVzZXJNZWRpYURvY3VtZW50T3JpZ2luLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wTGV2ZWxE
b2N1bWVudE9yaWdpbikKIHsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRNYXhpbXVtQ2FtZXJh
Q291bnQgPSAyOwogI2Vsc2UKQEAgLTQ5OCw1NiArNDcwLDE5IEBAIFZlY3RvcjxDYXB0dXJlRGV2
aWNlPiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6Y29tcHV0ZUZpbHRl
cmVkRGV2CiAjZW5kaWYKICAgICBzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRNYXhpbXVtTWljcm9w
aG9uZUNvdW50ID0gMTsKIAotICAgIGF1dG8gZGV2aWNlcyA9IFJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXI6OnNpbmdsZXRvbigpLmdldE1lZGlhU3RyZWFtRGV2aWNlcygpOwotICAgIGludCBjYW1l
cmFDb3VudCA9IDA7Ci0gICAgaW50IG1pY3JvcGhvbmVDb3VudCA9IDA7Ci0KLSAgICBWZWN0b3I8
Q2FwdHVyZURldmljZT4gZmlsdGVyZWREZXZpY2VzOwotICAgIGZvciAoY29uc3QgYXV0byYgZGV2
aWNlIDogZGV2aWNlcykgewotICAgICAgICBpZiAoIWRldmljZS5lbmFibGVkKCkgfHwgKGRldmlj
ZS50eXBlKCkgIT0gV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhICYm
IGRldmljZS50eXBlKCkgIT0gV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWlj
cm9waG9uZSkpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBpZiAoIXJldmVhbElk
c0FuZExhYmVscykgewotICAgICAgICAgICAgaWYgKGRldmljZS50eXBlKCkgPT0gV2ViQ29yZTo6
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhICYmICsrY2FtZXJhQ291bnQgPiBkZWZh
dWx0TWF4aW11bUNhbWVyYUNvdW50KQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgaWYgKGRldmljZS50eXBlKCkgPT0gV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNl
VHlwZTo6TWljcm9waG9uZSAmJiArK21pY3JvcGhvbmVDb3VudCA+IGRlZmF1bHRNYXhpbXVtTWlj
cm9waG9uZUNvdW50KQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAg
ICAgICAgYXV0byBsYWJlbCA9IGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGF1dG8gaWQgPSBlbXB0
eVN0cmluZygpOwotICAgICAgICBhdXRvIGdyb3VwSWQgPSBlbXB0eVN0cmluZygpOwotICAgICAg
ICBpZiAocmV2ZWFsSWRzQW5kTGFiZWxzKSB7Ci0gICAgICAgICAgICBsYWJlbCA9IGRldmljZS5s
YWJlbCgpOwotICAgICAgICAgICAgaWQgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5n
bGV0b24oKS5oYXNoU3RyaW5nV2l0aFNhbHQoZGV2aWNlLnBlcnNpc3RlbnRJZCgpLCBkZXZpY2VJ
REhhc2hTYWx0KTsKLSAgICAgICAgICAgIGdyb3VwSWQgPSBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyOjpzaW5nbGV0b24oKS5oYXNoU3RyaW5nV2l0aFNhbHQoZGV2aWNlLmdyb3VwSWQoKSwgZGV2
aWNlSURIYXNoU2FsdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmaWx0ZXJlZERldmljZXMuYXBw
ZW5kKENhcHR1cmVEZXZpY2UoaWQsIGRldmljZS50eXBlKCksIGxhYmVsLCBncm91cElkKSk7Ci0g
ICAgfQotCi0gICAgbV9oYXNGaWx0ZXJlZERldmljZUxpc3QgPSAhcmV2ZWFsSWRzQW5kTGFiZWxz
OwotICAgIHJldHVybiBmaWx0ZXJlZERldmljZXM7Ci19Ci0jZW5kaWYKLQotdm9pZCBVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6ZW51bWVyYXRlTWVkaWFEZXZpY2VzRm9y
RnJhbWUodWludDY0X3QgdXNlck1lZGlhSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IHRvcExldmVsRG9jdW1lbnRPcmlnaW4pCi17Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAg
ICBhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gW3RoaXMsIHVzZXJNZWRpYUlELCBmcmFtZUlELCB1
c2VyTWVkaWFEb2N1bWVudE9yaWdpbiA9IHVzZXJNZWRpYURvY3VtZW50T3JpZ2luLmNvcHlSZWYo
KSwgdG9wTGV2ZWxEb2N1bWVudE9yaWdpbiA9IHRvcExldmVsRG9jdW1lbnRPcmlnaW4uY29weVJl
ZigpXShPcHRpb25hbDxib29sPiBvcmlnaW5IYXNQZXJzaXN0ZW50QWNjZXNzKSBtdXRhYmxlIHsK
LSAgICAgICAgaWYgKCFvcmlnaW5IYXNQZXJzaXN0ZW50QWNjZXNzKQorICAgIGF1dG8gcmVxdWVz
dElEID0gZ2VuZXJhdGVSZXF1ZXN0SUQoKTsKKyAgICBhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0g
W3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCByZXF1ZXN0SUQsIHVzZXJNZWRp
YUlELCByZXF1ZXN0T3JpZ2luID0gdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4uY29weVJlZigpLCB0
b3BPcmlnaW4gPSB0b3BMZXZlbERvY3VtZW50T3JpZ2luLmNvcHlSZWYoKV0oYm9vbCBvcmlnaW5I
YXNQZXJzaXN0ZW50QWNjZXNzKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAg
ICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAoIW1fcGFnZS5pc1ZhbGlkKCkpCiAgICAg
ICAgICAgICByZXR1cm47CiAKLSAgICAgICAgYXV0byByZXF1ZXN0SUQgPSBnZW5lcmF0ZVJlcXVl
c3RJRCgpOwotICAgICAgICBtX3BlbmRpbmdEZXZpY2VSZXF1ZXN0cy5hZGQocmVxdWVzdElEKTsK
LQotICAgICAgICBhdXRvJiByZXF1ZXN0T3JpZ2luID0gdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4u
Z2V0KCk7Ci0gICAgICAgIGF1dG8mIHRvcE9yaWdpbiA9IHRvcExldmVsRG9jdW1lbnRPcmlnaW4u
Z2V0KCk7Ci0gICAgICAgIG1fcGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkuZGV2aWNlSWRIYXNoU2Fs
dFN0b3JhZ2UoKS5kZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2luKHJlcXVlc3RPcmlnaW4sIHRvcE9y
aWdpbiwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCByZXF1ZXN0SUQsIGZy
YW1lSUQsIHVzZXJNZWRpYUlELCB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiA9IFdURk1vdmUodXNl
ck1lZGlhRG9jdW1lbnRPcmlnaW4pLCB0b3BMZXZlbERvY3VtZW50T3JpZ2luID0gV1RGTW92ZSh0
b3BMZXZlbERvY3VtZW50T3JpZ2luKSwgb3JpZ2luSGFzUGVyc2lzdGVudEFjY2VzcyA9ICpvcmln
aW5IYXNQZXJzaXN0ZW50QWNjZXNzXSAoU3RyaW5nJiYgZGV2aWNlSURIYXNoU2FsdCkgewotICAg
ICAgICAgICAgaWYgKCF3ZWFrVGhpcyB8fCAhbV9wZW5kaW5nRGV2aWNlUmVxdWVzdHMucmVtb3Zl
KHJlcXVlc3RJRCkpCisgICAgICAgIG1fcGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkuZGV2aWNlSWRI
YXNoU2FsdFN0b3JhZ2UoKS5kZXZpY2VJZEhhc2hTYWx0Rm9yT3JpZ2luKHJlcXVlc3RPcmlnaW4u
Z2V0KCksIHRvcE9yaWdpbi5nZXQoKSwgW3RoaXMsIHdlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhp
cyksIHJlcXVlc3RJRCwgdXNlck1lZGlhSUQsICZvcmlnaW5IYXNQZXJzaXN0ZW50QWNjZXNzXSAo
U3RyaW5nJiYgZGV2aWNlSURIYXNoU2FsdCkgeworICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBhdXRvIHBlbmRpbmdSZXF1ZXN0
ID0gbV9wZW5kaW5nRGV2aWNlUmVxdWVzdHMudGFrZShyZXF1ZXN0SUQpOworICAgICAgICAgICAg
aWYgKCFwZW5kaW5nUmVxdWVzdCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAg
ICAgIGlmICghbV9wYWdlLmlzVmFsaWQoKSkKQEAgLTU1NSwxMyArNDkwLDQzIEBAIHZvaWQgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmVudW1lcmF0ZU1lZGlhRGV2aWNl
c0ZvckZyYW1lKHVpbnQ2CiAKICAgICAgICAgICAgIHN5bmNXaXRoV2ViQ29yZVByZWZzKCk7CiAK
LSAgICAgICAgICAgIGJvb2wgcmV2ZWFsSWRzQW5kTGFiZWxzID0gb3JpZ2luSGFzUGVyc2lzdGVu
dEFjY2VzcyB8fCB3YXNHcmFudGVkVmlkZW9PckF1ZGlvQWNjZXNzKGZyYW1lSUQsIHVzZXJNZWRp
YURvY3VtZW50T3JpZ2luLmdldCgpLCB0b3BMZXZlbERvY3VtZW50T3JpZ2luLmdldCgpKTsKLQot
ICAgICAgICAgICAgbV9wYWdlLnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRD
b21wbGV0ZU1lZGlhRGV2aWNlRW51bWVyYXRpb24geyB1c2VyTWVkaWFJRCwgY29tcHV0ZUZpbHRl
cmVkRGV2aWNlTGlzdChyZXZlYWxJZHNBbmRMYWJlbHMsIGRldmljZUlESGFzaFNhbHQpLCBkZXZp
Y2VJREhhc2hTYWx0LCBvcmlnaW5IYXNQZXJzaXN0ZW50QWNjZXNzIH0sIG1fcGFnZS5wYWdlSUQo
KSk7CisgICAgICAgICAgICBhdXRvIGRldmljZXMgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
OjpzaW5nbGV0b24oKS5nZXRNZWRpYVN0cmVhbURldmljZXMoKTsKKyAgICAgICAgICAgIGF1dG8m
IHJlcXVlc3QgPSAqcGVuZGluZ1JlcXVlc3Q7CisgICAgICAgICAgICBib29sIHJldmVhbElkc0Fu
ZExhYmVscyA9IG9yaWdpbkhhc1BlcnNpc3RlbnRBY2Nlc3MgfHwgd2FzR3JhbnRlZFZpZGVvT3JB
dWRpb0FjY2VzcyhyZXF1ZXN0LT5mcmFtZUlEKCksIHJlcXVlc3QtPnVzZXJNZWRpYURvY3VtZW50
U2VjdXJpdHlPcmlnaW4oKSwgcmVxdWVzdC0+dG9wTGV2ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2lu
KCkpOworICAgICAgICAgICAgaW50IGNhbWVyYUNvdW50ID0gMDsKKyAgICAgICAgICAgIGludCBt
aWNyb3Bob25lQ291bnQgPSAwOworCisgICAgICAgICAgICBWZWN0b3I8Q2FwdHVyZURldmljZT4g
ZmlsdGVyZWREZXZpY2VzOworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBkZXZpY2UgOiBk
ZXZpY2VzKSB7CisgICAgICAgICAgICAgICAgaWYgKCFkZXZpY2UuZW5hYmxlZCgpIHx8IChkZXZp
Y2UudHlwZSgpICE9IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkNhbWVyYSAm
JiBkZXZpY2UudHlwZSgpICE9IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1p
Y3JvcGhvbmUpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
ICAgIGlmICghcmV2ZWFsSWRzQW5kTGFiZWxzKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChk
ZXZpY2UudHlwZSgpID09IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkNhbWVy
YSAmJiArK2NhbWVyYUNvdW50ID4gZGVmYXVsdE1heGltdW1DYW1lcmFDb3VudCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICBpZiAoZGV2aWNl
LnR5cGUoKSA9PSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25l
ICYmICsrbWljcm9waG9uZUNvdW50ID4gZGVmYXVsdE1heGltdW1NaWNyb3Bob25lQ291bnQpCisg
ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBhdXRvIGxhYmVsID0gZW1wdHlTdHJpbmcoKTsKKyAgICAgICAgICAgICAg
ICBhdXRvIGlkID0gZW1wdHlTdHJpbmcoKTsKKyAgICAgICAgICAgICAgICBhdXRvIGdyb3VwSWQg
PSBlbXB0eVN0cmluZygpOworICAgICAgICAgICAgICAgIGlmIChyZXZlYWxJZHNBbmRMYWJlbHMp
IHsKKyAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBkZXZpY2UubGFiZWwoKTsKKyAgICAgICAg
ICAgICAgICAgICAgaWQgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5o
YXNoU3RyaW5nV2l0aFNhbHQoZGV2aWNlLnBlcnNpc3RlbnRJZCgpLCBkZXZpY2VJREhhc2hTYWx0
KTsKKyAgICAgICAgICAgICAgICAgICAgZ3JvdXBJZCA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXI6OnNpbmdsZXRvbigpLmhhc2hTdHJpbmdXaXRoU2FsdChkZXZpY2UuZ3JvdXBJZCgpLCBkZXZp
Y2VJREhhc2hTYWx0KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmaWx0
ZXJlZERldmljZXMuYXBwZW5kKENhcHR1cmVEZXZpY2UoaWQsIGRldmljZS50eXBlKCksIGxhYmVs
LCBncm91cElkKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG1faGFzRmlsdGVyZWRE
ZXZpY2VMaXN0ID0gIXJldmVhbElkc0FuZExhYmVsczsKKworICAgICAgICAgICAgbV9wYWdlLnBy
b2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRDb21wbGV0ZU1lZGlhRGV2aWNlRW51
bWVyYXRpb24odXNlck1lZGlhSUQsIFdURk1vdmUoZmlsdGVyZWREZXZpY2VzKSwgV1RGTW92ZShk
ZXZpY2VJREhhc2hTYWx0KSwgb3JpZ2luSGFzUGVyc2lzdGVudEFjY2VzcyksIG1fcGFnZS5wYWdl
SUQoKSk7CiAgICAgICAgIH0pOwogICAgIH07CiAKLSAgICBnZXRVc2VyTWVkaWFQZXJtaXNzaW9u
SW5mbyhmcmFtZUlELCBXVEZNb3ZlKHVzZXJNZWRpYURvY3VtZW50T3JpZ2luKSwgV1RGTW92ZSh0
b3BMZXZlbERvY3VtZW50T3JpZ2luKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAg
IGdldFVzZXJNZWRpYVBlcm1pc3Npb25JbmZvKHJlcXVlc3RJRCwgZnJhbWVJRCwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlciksIFdURk1vdmUodXNlck1lZGlhRG9jdW1lbnRPcmlnaW4pLCBXVEZN
b3ZlKHRvcExldmVsRG9jdW1lbnRPcmlnaW4pKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHVz
ZXJNZWRpYUlEKTsKICAgICBVTlVTRURfUEFSQU0oZnJhbWVJRCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94
eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHkuaAppbmRleCBhMTE1YzQzODY3NTM3ZWM4ZDUzZGY1ZGZiZTUyZTJlY2Q2OTE1
ZTFlLi5lYWNjZTZmOTJiNjVmZmNjMjliZTRkMTM3ODhkYTgxZDkxNTkwNTU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5LmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpbmNsdWRlICJVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBy
b2R1Y2VyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgotI2luY2x1ZGUg
PHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgpAQCAtNDksNyAr
NDgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGludmFsaWRhdGVQZW5kaW5nUmVxdWVzdHMoKTsK
IAotICAgIHZvaWQgcmVxdWVzdFVzZXJNZWRpYVBlcm1pc3Npb25Gb3JGcmFtZSh1aW50NjRfdCB1
c2VyTWVkaWFJRCwgdWludDY0X3QgZnJhbWVJRCwgUmVmPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
PiYmICB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiwgUmVmPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
PiYmIHRvcExldmVsRG9jdW1lbnRPcmlnaW4sIFdlYkNvcmU6Ok1lZGlhU3RyZWFtUmVxdWVzdCYm
KTsKKyAgICB2b2lkIHJlcXVlc3RVc2VyTWVkaWFQZXJtaXNzaW9uRm9yRnJhbWUodWludDY0X3Qg
dXNlck1lZGlhSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFJlZjxXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bj4mJiAgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIFJlZjxXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bj4mJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBjb25zdCBXZWJDb3JlOjpNZWRpYVN0cmVhbVJl
cXVlc3QmKTsKIAogICAgIHZvaWQgcmVzZXRBY2Nlc3ModWludDY0X3QgbWFpbkZyYW1lSUQpOwog
ICAgIHZvaWQgdmlld0lzQmVjb21pbmdWaXNpYmxlKCk7CkBAIC03MiwzMyArNzEsMjcgQEAgcHJp
dmF0ZToKICAgICBSZWY8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eT4gY3JlYXRlUGVy
bWlzc2lvblJlcXVlc3QodWludDY0X3QgdXNlck1lZGlhSUQsIHVpbnQ2NF90IG1haW5GcmFtZUlE
LCB1aW50NjRfdCBmcmFtZUlELCBSZWY8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+JiYgdXNlck1l
ZGlhRG9jdW1lbnRPcmlnaW4sIFJlZjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4mJiB0b3BMZXZl
bERvY3VtZW50T3JpZ2luLCBWZWN0b3I8V2ViQ29yZTo6Q2FwdHVyZURldmljZT4mJiBhdWRpb0Rl
dmljZXMsIFZlY3RvcjxXZWJDb3JlOjpDYXB0dXJlRGV2aWNlPiYmIHZpZGVvRGV2aWNlcywgV2Vi
Q29yZTo6TWVkaWFTdHJlYW1SZXF1ZXN0JiYpOwogICAgIHZvaWQgZGVueVJlcXVlc3QodWludDY0
X3QgdXNlck1lZGlhSUQsIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OlVzZXJNZWRp
YUFjY2Vzc0RlbmlhbFJlYXNvbiwgY29uc3QgU3RyaW5nJiBpbnZhbGlkQ29uc3RyYWludCk7CiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBib29sIGdyYW50QWNjZXNzKGNvbnN0IFVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkmKTsKKyAgICBib29sIGdyYW50QWNjZXNzKHVpbnQ2
NF90IHVzZXJNZWRpYUlELCBjb25zdCBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlIGF1ZGlvRGV2aWNl
LCBjb25zdCBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlIHZpZGVvRGV2aWNlLCBjb25zdCBTdHJpbmcm
IGRldmljZUlkZW50aWZpZXJIYXNoU2FsdCk7CiAKICAgICBjb25zdCBVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5KiBzZWFyY2hGb3JHcmFudGVkUmVxdWVzdCh1aW50NjRfdCBmcmFtZUlE
LCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4s
IGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBi
b29sIG5lZWRzQXVkaW8sIGJvb2wgbmVlZHNWaWRlbykgY29uc3Q7CiAgICAgYm9vbCB3YXNSZXF1
ZXN0RGVuaWVkKHVpbnQ2NF90IG1haW5GcmFtZUlELCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBib29sIG5lZWRzQXVkaW8sIGJvb2wgbmVlZHNW
aWRlbywgYm9vbCBuZWVkc1NjcmVlbkNhcHR1cmUpOwogCi0gICAgdm9pZCBnZXRVc2VyTWVkaWFQ
ZXJtaXNzaW9uSW5mbyh1aW50NjRfdCBmcmFtZUlELCBSZWY8V2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4+JiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIFJlZjxXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bj4mJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlv
bmFsPGJvb2w+KT4mJik7CisgICAgdm9pZCBnZXRVc2VyTWVkaWFQZXJtaXNzaW9uSW5mbyh1aW50
NjRfdCByZXF1ZXN0SUQsIHVpbnQ2NF90IGZyYW1lSUQsIFVzZXJNZWRpYVBlcm1pc3Npb25DaGVj
a1Byb3h5OjpDb21wbGV0aW9uSGFuZGxlciYmLCBSZWY8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+
JiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIFJlZjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4m
JiB0b3BMZXZlbERvY3VtZW50T3JpZ2luKTsKIAogICAgIGVudW0gY2xhc3MgUmVxdWVzdEFjdGlv
biB7CiAgICAgICAgIERlbnksCiAgICAgICAgIEdyYW50LAogICAgICAgICBQcm9tcHQKICAgICB9
OwotICAgIFJlcXVlc3RBY3Rpb24gZ2V0UmVxdWVzdEFjdGlvbihjb25zdCBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5Jik7CisgICAgUmVxdWVzdEFjdGlvbiBnZXRSZXF1ZXN0QWN0aW9u
KHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiB1c2VyTWVkaWFEb2N1
bWVudE9yaWdpbiwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHRvcExldmVsRG9jdW1lbnRPcmln
aW4sIGNvbnN0IFdlYkNvcmU6Ok1lZGlhU3RyZWFtUmVxdWVzdCYsIFZlY3RvcjxXZWJDb3JlOjpD
YXB0dXJlRGV2aWNlPiYgYXVkaW9EZXZpY2VzLCBWZWN0b3I8V2ViQ29yZTo6Q2FwdHVyZURldmlj
ZT4mIHZpZGVvRGV2aWNlcyk7CiAKICAgICBib29sIHdhc0dyYW50ZWRWaWRlb09yQXVkaW9BY2Nl
c3ModWludDY0X3QsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiB1c2VyTWVkaWFEb2N1
bWVudE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHRvcExldmVsRG9jdW1l
bnRPcmlnaW4pOwotCi0gICAgVmVjdG9yPFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U+IGNvbXB1dGVG
aWx0ZXJlZERldmljZUxpc3QoYm9vbCByZXZlYWxJZHNBbmRMYWJlbHMsIGNvbnN0IFN0cmluZyYg
ZGV2aWNlSURIYXNoU2FsdCk7Ci0KLSAgICB2b2lkIHByb2Nlc3NVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdChSZWY8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eT4mJiwgYm9vbCBoYXNQ
ZXJzaXN0ZW50QWNjZXNzKTsKLSAgICB2b2lkIHByb2Nlc3NVc2VyTWVkaWFQZXJtaXNzaW9uSW52
YWxpZFJlcXVlc3QoY29uc3QgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYsIGNvbnN0
IFN0cmluZyYgaW52YWxpZENvbnN0cmFpbnQpOwotICAgIHZvaWQgcHJvY2Vzc1VzZXJNZWRpYVBl
cm1pc3Npb25WYWxpZFJlcXVlc3QoUmVmPFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk+
JiYsIFZlY3RvcjxXZWJDb3JlOjpDYXB0dXJlRGV2aWNlPiYmIGF1ZGlvRGV2aWNlcywgVmVjdG9y
PFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U+JiYgdmlkZW9EZXZpY2VzLCBTdHJpbmcmJiBkZXZpY2VJ
ZGVudGlmaWVySGFzaFNhbHQpOwogI2VuZGlmCiAKICAgICB2b2lkIHdhdGNoZG9nVGltZXJGaXJl
ZCgpOwogCiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0UHJveHk+PiBtX3BlbmRpbmdVc2VyTWVkaWFSZXF1ZXN0czsKLSAgICBIYXNoU2V0PHVp
bnQ2NF90PiBtX3BlbmRpbmdEZXZpY2VSZXF1ZXN0czsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBS
ZWY8VXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHk+PiBtX3BlbmRpbmdEZXZpY2VSZXF1ZXN0
czsKIAogICAgIFdlYlBhZ2VQcm94eSYgbV9wYWdlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgKaW5kZXgg
MDY3ZjgwMjAzZjFhNWZkZDMyMzhjOGFlMjlkN2RjYWNhMWFlYTEyZC4uYWM4MDVlNzg4YmUyMzE3
ZTBhN2FhZWI3MTg5MDljZjQ1YmNhODkwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaApAQCAtNDgsNDIg
KzQ4LDIxIEBAIHB1YmxpYzoKICAgICB2b2lkIGRlbnkoVXNlck1lZGlhQWNjZXNzRGVuaWFsUmVh
c29uID0gVXNlck1lZGlhQWNjZXNzRGVuaWFsUmVhc29uOjpVc2VyTWVkaWFEaXNhYmxlZCk7CiAK
ICAgICB2b2lkIGludmFsaWRhdGUoKTsKLSAgICBib29sIGlzUGVuZGluZygpIGNvbnN0IHsgcmV0
dXJuIG1fbWFuYWdlcjsgfQogCiAgICAgYm9vbCByZXF1aXJlc0F1ZGlvQ2FwdHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZWxpZ2libGVBdWRpb0RldmljZXMuc2l6ZSgpOyB9CiAgICAgYm9vbCByZXF1
aXJlc1ZpZGVvQ2FwdHVyZSgpIGNvbnN0IHsgcmV0dXJuICFyZXF1aXJlc0Rpc3BsYXlDYXB0dXJl
KCkgJiYgbV9lbGlnaWJsZVZpZGVvRGV2aWNlcy5zaXplKCk7IH0KICAgICBib29sIHJlcXVpcmVz
RGlzcGxheUNhcHR1cmUoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3QudHlwZSA9PSBXZWJDb3Jl
OjpNZWRpYVN0cmVhbVJlcXVlc3Q6OlR5cGU6OkRpc3BsYXlNZWRpYSAmJiBtX2VsaWdpYmxlVmlk
ZW9EZXZpY2VzLnNpemUoKTsgfQogCi0gICAgdm9pZCBzZXRFbGlnaWJsZVZpZGVvRGV2aWNlVUlE
cyhWZWN0b3I8V2ViQ29yZTo6Q2FwdHVyZURldmljZT4mJiBkZXZpY2VzKSB7IG1fZWxpZ2libGVW
aWRlb0RldmljZXMgPSBXVEZNb3ZlKGRldmljZXMpOyB9Ci0gICAgdm9pZCBzZXRFbGlnaWJsZUF1
ZGlvRGV2aWNlVUlEcyhWZWN0b3I8V2ViQ29yZTo6Q2FwdHVyZURldmljZT4mJiBkZXZpY2VzKSB7
IG1fZWxpZ2libGVBdWRpb0RldmljZXMgPSBXVEZNb3ZlKGRldmljZXMpOyB9Ci0KICAgICBWZWN0
b3I8U3RyaW5nPiB2aWRlb0RldmljZVVJRHMoKSBjb25zdDsKICAgICBWZWN0b3I8U3RyaW5nPiBh
dWRpb0RldmljZVVJRHMoKSBjb25zdDsKLSAgICBib29sIGhhc0F1ZGlvRGV2aWNlKCkgY29uc3Qg
eyByZXR1cm4gIW1fZWxpZ2libGVBdWRpb0RldmljZXMuaXNFbXB0eSgpOyB9Ci0gICAgYm9vbCBo
YXNWaWRlb0RldmljZSgpIGNvbnN0IHsgcmV0dXJuICFtX2VsaWdpYmxlVmlkZW9EZXZpY2VzLmlz
RW1wdHkoKTsgfQotCi0gICAgYm9vbCBoYXNQZXJzaXN0ZW50QWNjZXNzKCkgY29uc3QgeyByZXR1
cm4gbV9oYXNQZXJzaXN0ZW50QWNjZXNzOyB9Ci0gICAgdm9pZCBzZXRIYXNQZXJzaXN0ZW50QWNj
ZXNzKCkgeyBtX2hhc1BlcnNpc3RlbnRBY2Nlc3MgPSB0cnVlOyB9CiAKLSAgICB1aW50NjRfdCB1
c2VyTWVkaWFJRCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlck1lZGlhSUQ7IH0KICAgICB1aW50NjRf
dCBtYWluRnJhbWVJRCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFpbkZyYW1lSUQ7IH0KICAgICB1aW50
NjRfdCBmcmFtZUlEKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZUlEOyB9Ci0KICAgICBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbiYgdG9wTGV2ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCkgeyByZXR1
cm4gbV90b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmlnaW4uZ2V0KCk7IH0KICAgICBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbiYgdXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpIHsgcmV0
dXJuIG1fdXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbi5nZXQoKTsgfQotICAgIGNvbnN0
IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiB0b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmlnaW4o
KSBjb25zdCB7IHJldHVybiBtX3RvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbi5nZXQoKTsg
fQotICAgIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiB1c2VyTWVkaWFEb2N1bWVudFNl
Y3VyaXR5T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV91c2VyTWVkaWFEb2N1bWVudFNlY3VyaXR5
T3JpZ2luLmdldCgpOyB9Ci0KLSAgICBjb25zdCBXZWJDb3JlOjpNZWRpYVN0cmVhbVJlcXVlc3Qm
IHVzZXJSZXF1ZXN0KCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0OyB9CiAKICAgICBXZWJDb3Jl
OjpNZWRpYVN0cmVhbVJlcXVlc3Q6OlR5cGUgcmVxdWVzdFR5cGUoKSBjb25zdCB7IHJldHVybiBt
X3JlcXVlc3QudHlwZTsgfQogCi0gICAgdm9pZCBzZXREZXZpY2VJZGVudGlmaWVySGFzaFNhbHQo
U3RyaW5nJiYgc2FsdCkgeyBtX2RldmljZUlkZW50aWZpZXJIYXNoU2FsdCA9IFdURk1vdmUoc2Fs
dCk7IH0KLSAgICBjb25zdCBTdHJpbmcmIGRldmljZUlkZW50aWZpZXJIYXNoU2FsdCgpIGNvbnN0
IHsgcmV0dXJuIG1fZGV2aWNlSWRlbnRpZmllckhhc2hTYWx0OyB9Ci0KLSAgICBXZWJDb3JlOjpD
YXB0dXJlRGV2aWNlIGF1ZGlvRGV2aWNlKCkgY29uc3QgeyByZXR1cm4gbV9lbGlnaWJsZUF1ZGlv
RGV2aWNlcy5pc0VtcHR5KCkgPyBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlIHsgfSA6IG1fZWxpZ2li
bGVBdWRpb0RldmljZXNbMF07IH0KLSAgICBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlIHZpZGVvRGV2
aWNlKCkgY29uc3QgeyByZXR1cm4gbV9lbGlnaWJsZVZpZGVvRGV2aWNlcy5pc0VtcHR5KCkgPyBX
ZWJDb3JlOjpDYXB0dXJlRGV2aWNlIHsgfSA6IG1fZWxpZ2libGVWaWRlb0RldmljZXNbMF07IH0K
LQogcHJpdmF0ZToKICAgICBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5KFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5JiwgdWludDY0X3QgdXNlck1lZGlhSUQsIHVp
bnQ2NF90IG1haW5GcmFtZUlELCB1aW50NjRfdCBmcmFtZUlELCBSZWY8V2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW4+JiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIFJlZjxXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbj4mJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBWZWN0b3I8V2ViQ29yZTo6Q2FwdHVy
ZURldmljZT4mJiBhdWRpb0RldmljZXMsIFZlY3RvcjxXZWJDb3JlOjpDYXB0dXJlRGV2aWNlPiYm
IHZpZGVvRGV2aWNlcywgV2ViQ29yZTo6TWVkaWFTdHJlYW1SZXF1ZXN0JiYpOwogCkBAIC05Niw4
ICs3NSw2IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U+IG1f
ZWxpZ2libGVWaWRlb0RldmljZXM7CiAgICAgVmVjdG9yPFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U+
IG1fZWxpZ2libGVBdWRpb0RldmljZXM7CiAgICAgV2ViQ29yZTo6TWVkaWFTdHJlYW1SZXF1ZXN0
IG1fcmVxdWVzdDsKLSAgICBib29sIG1faGFzUGVyc2lzdGVudEFjY2VzcyB7IGZhbHNlIH07Ci0g
ICAgU3RyaW5nIG1fZGV2aWNlSWRlbnRpZmllckhhc2hTYWx0OwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA4
Y2JlMzkxMDk1NGY3OGJhYzg4YjI5MjM5ZDhkYTYzZWYxNTM4MWUxLi43NzkyNjRkZTcyYTU5MGFk
ZmYzNDc5ODNmMThkY2RkYWZjY2JkNjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKQEAgLTcwMTgsMTIgKzcwMTgsMTIgQEAgVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHkmIFdlYlBhZ2VQcm94eTo6dXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3QKIH0KICNlbmRpZgogCi12b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFVzZXJNZWRpYVBlcm1p
c3Npb25Gb3JGcmFtZSh1aW50NjRfdCB1c2VyTWVkaWFJRCwgdWludDY0X3QgZnJhbWVJRCwgY29u
c3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiAgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW5E
YXRhLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcExldmVsRG9jdW1lbnRP
cmlnaW5EYXRhLCBXZWJDb3JlOjpNZWRpYVN0cmVhbVJlcXVlc3QmJiByZXF1ZXN0KQordm9pZCBX
ZWJQYWdlUHJveHk6OnJlcXVlc3RVc2VyTWVkaWFQZXJtaXNzaW9uRm9yRnJhbWUodWludDY0X3Qg
dXNlck1lZGlhSUQsIHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luRGF0YSYgIHVzZXJNZWRpYURvY3VtZW50T3JpZ2luRGF0YSwgY29uc3QgV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luRGF0YSwgY29uc3QgV2ViQ29y
ZTo6TWVkaWFTdHJlYW1SZXF1ZXN0JiByZXF1ZXN0KQogewogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAgICAgTUVTU0FHRV9DSEVDSyhtX3Byb2Nlc3MsIG1fcHJvY2Vzcy0+d2ViRnJhbWUoZnJh
bWVJRCkpOwogCi0gICAgdXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCkucmVxdWVz
dFVzZXJNZWRpYVBlcm1pc3Npb25Gb3JGcmFtZSh1c2VyTWVkaWFJRCwgZnJhbWVJRCwgdXNlck1l
ZGlhRG9jdW1lbnRPcmlnaW5EYXRhLnNlY3VyaXR5T3JpZ2luKCksIHRvcExldmVsRG9jdW1lbnRP
cmlnaW5EYXRhLnNlY3VyaXR5T3JpZ2luKCksIFdURk1vdmUocmVxdWVzdCkpOworICAgIHVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpLnJlcXVlc3RVc2VyTWVkaWFQZXJtaXNzaW9u
Rm9yRnJhbWUodXNlck1lZGlhSUQsIGZyYW1lSUQsIHVzZXJNZWRpYURvY3VtZW50T3JpZ2luRGF0
YS5zZWN1cml0eU9yaWdpbigpLCB0b3BMZXZlbERvY3VtZW50T3JpZ2luRGF0YS5zZWN1cml0eU9y
aWdpbigpLCByZXF1ZXN0KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHVzZXJNZWRpYUlEKTsK
ICAgICBVTlVTRURfUEFSQU0oZnJhbWVJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IGQ5OWMyYWRhNGI0ZDZjM2EzNjczNGY0MzRlZDk1NTVlNDhhOGMwYmMuLmQz
ODRjZDdjMDM0ODBkODU4NjBiMWM1OGUzN2Y1ZjIyYTQ0ZThhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNjAzLDcgKzE2MDMsNyBAQCBwcml2YXRlOgogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHkmIHVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigpOwogI2VuZGlmCi0g
ICAgdm9pZCByZXF1ZXN0VXNlck1lZGlhUGVybWlzc2lvbkZvckZyYW1lKHVpbnQ2NF90IHVzZXJN
ZWRpYUlELCB1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEmIHVzZXJNZWRpYURvY3VtZW50T3JpZ2luSWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luSWRlbnRpZmllciwgV2ViQ29y
ZTo6TWVkaWFTdHJlYW1SZXF1ZXN0JiYpOworICAgIHZvaWQgcmVxdWVzdFVzZXJNZWRpYVBlcm1p
c3Npb25Gb3JGcmFtZSh1aW50NjRfdCB1c2VyTWVkaWFJRCwgdWludDY0X3QgZnJhbWVJRCwgY29u
c3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbklk
ZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wTGV2ZWxEb2N1
bWVudE9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6Ok1lZGlhU3RyZWFtUmVxdWVzdCYp
OwogICAgIHZvaWQgZW51bWVyYXRlTWVkaWFEZXZpY2VzRm9yRnJhbWUodWludDY0X3QgdXNlck1l
ZGlhSUQsIHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0
YSYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW5EYXRhLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEmIHRvcExldmVsRG9jdW1lbnRPcmlnaW5EYXRhKTsKICAgICB2b2lkIGJlZ2luTW9u
aXRvcmluZ0NhcHR1cmVEZXZpY2VzKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjYjkxOWMyYmQwNmVjM2VlNmYxMWVk
OTExZjY1NmRkMWJkMWIxNjg1Li5iNzkzZTJjMmFkYzMzMDRhODBhNjQ1NGQ3NTJmZjQ1YzA3NzEy
OGJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDItMTAgIENvbW1pdCBRdWV1ZSAgPGNv
bW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIyNDExNjcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTQ0ODIKKworICAgICAgICBCcm9rZSB0aGUgR1RLIG1lZGlhc3RyZWFtIHRlc3RzIChSZXF1
ZXN0ZWQgYnkgcGhpbG4gb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQg
Y2hhbmdlc2V0OgorCisgICAgICAgICJGaWx0ZXIgb3V0IE92ZXJjb25zdHJhaW5lZGVycm9yLmNv
bnN0cmFpbnQgd2hlbiBnZXRVc2VyTWVkaWEKKyAgICAgICAgaXMgbm90IGdyYW50ZWQiCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQyNDAKKyAgICAg
ICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI0MTE2NworCiAyMDE5LTAyLTA5
ICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGZpeCB0eXBvcyBpbiB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9vdmVyY29uc3RyYWluZWRlcnJvci1jb25zdHJhaW50LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vb3ZlcmNvbnN0cmFpbmVkZXJyb3ItY29u
c3RyYWludC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0MmI1
YmE3NDZjYmE2OTRmZDA4NDIzYzU2MDEwNjdlNDgwNDFmZGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9v
dmVyY29uc3RyYWluZWRlcnJvci1jb25zdHJhaW50LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDQgKzAsMCBAQAotCi1QQVNTIEJlZm9yZSBncmFudCAKLVBBU1MgQWZ0ZXIgZ3JhbnQg
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vb3ZlcmNvbnN0cmFp
bmVkZXJyb3ItY29uc3RyYWludC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9v
dmVyY29uc3RyYWluZWRlcnJvci1jb25zdHJhaW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGMxNzZlZmNlYmU2YWFhYTE1MGQ1YTJhMWM3OGU5MTk0NTA0ZGRmZDAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9vdmVyY29uc3RyYWluZWRlcnJvci1jb25zdHJhaW50Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxodG1sPgotICAgIDxo
ZWFkPgotICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci0gICAgICAgIDx0aXRsZT5PdmVy
Q29uc3RyYWluZWRFcnJvci5jb25zdHJhaW50IHRlc3Rpbmc8L3RpdGxlPgotICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5PgotCi0gICAgICAgIDxzY3JpcHQ+Ci1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRVc2VyTWVkaWFQZXJtaXNzaW9u
KHRydWUpOwotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgd2luZG93LmludGVybmFscy5zZXRN
b2NrTWVkaWFDYXB0dXJlRGV2aWNlc0VuYWJsZWQodHJ1ZSk7Ci0KLXByb21pc2VfdGVzdChhc3lu
YyAoKSA9PiB7Ci0gICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlh
KHthdWRpbzoge2RldmljZUlkOiB7ZXhhY3Q6Im5vbmUifX19KS50aGVuKAotICAgICAgICAoKSA9
PiBhc3NlcnRfbm90X3JlYWNoZWQoImd1bSBzaG91bGQgZmFpbCIpLAotICAgICAgICAoZSkgPT4g
ewotICAgICAgICAgICAgYXNzZXJ0X3RydWUoZSBpbnN0YW5jZW9mIE92ZXJjb25zdHJhaW5lZEVy
cm9yKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5jb25zdHJhaW50LCAiIiwgImNvbnN0
cmFpbnQgc2hvdWxkIGJlIHRoZSBlbXB0eSBzdHJpbmciKTsKLSAgICAgICAgfQotICAgICk7Ci19
LCAiQmVmb3JlIGdyYW50Iik7Ci0KLXByb21pc2VfdGVzdChhc3luYyh0ZXN0KSA9PiB7Ci0gICAg
YXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOiB0cnVlfSk7
Ci0gICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzog
e2RldmljZUlkOiB7ZXhhY3Q6Im5vbmUifX19KS50aGVuKAotICAgICAgICAoKSA9PiBhc3NlcnRf
bm90X3JlYWNoZWQoImd1bSBzaG91bGQgZmFpbCIpLAotICAgICAgICAoZSkgPT4gewotICAgICAg
ICAgICAgYXNzZXJ0X3RydWUoZSBpbnN0YW5jZW9mIE92ZXJjb25zdHJhaW5lZEVycm9yKTsKLSAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5jb25zdHJhaW50LCAiZGV2aWNlSWQiLCAiY29uc3Ry
YWludCBzaG91bGQgYmUgZGV2aWNlSWQiKTsKLSAgICAgICAgfQotICAgICk7Ci19LCAiQWZ0ZXIg
Z3JhbnQiKTsKLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>