<?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>216968</bug_id>
          
          <creation_ts>2020-09-25 02:20:56 -0700</creation_ts>
          <short_desc>Implement default behavior for getUserMedia requests in case where there is no delegate set</short_desc>
          <delta_ts>2020-09-25 07:36:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1691823</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-25 02:20:56 -0700</bug_when>
    <thetext>Implement default behavior for getUserMedia requests in case where there is no delegate set</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691827</commentid>
    <comment_count>1</comment_count>
      <attachid>409674</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-25 02:34:17 -0700</bug_when>
    <thetext>Created attachment 409674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691831</commentid>
    <comment_count>2</comment_count>
      <attachid>409677</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-25 02:56:12 -0700</bug_when>
    <thetext>Created attachment 409677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691857</commentid>
    <comment_count>3</comment_count>
      <attachid>409684</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-25 06:19:05 -0700</bug_when>
    <thetext>Created attachment 409684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691876</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-25 07:35:52 -0700</bug_when>
    <thetext>Committed r267568: &lt;https://trac.webkit.org/changeset/267568&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409684.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691877</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-25 07:36:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/69570447&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409674</attachid>
            <date>2020-09-25 02:34:17 -0700</date>
            <delta_ts>2020-09-25 02:56:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216968-20200925113413.patch</filename>
            <type>text/plain</type>
            <size>31420</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkYjc1NjgyY2ExNjY4MjY5
NjdmZWNiNzMzMjgxN2RmYzkwMDRjMGYuLjExZTE5YTE0MzM2N2U3NDdhNmJmZjQwZWM4N2NkNWRm
ZTA1MmNhMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjAtMDktMjUgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBkZWZhdWx0IGJl
aGF2aW9yIGZvciBnZXRVc2VyTWVkaWEgcmVxdWVzdHMgaW4gY2FzZSB3aGVyZSB0aGVyZSBpcyBu
byBkZWxlZ2F0ZSBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNjk2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEluIGNhc2UgcGFnZSBVSURlbGVnYXRlIGlzIG5vdCBzZXQsIG1ha2UgdGhlIGdldFVz
ZXJNZWRpYSByZXF1ZXN0IGRvIGl0cyBkZWZhdWx0IGFjdGlvbi4KKyAgICAgICAgSW4gY2FzZSB0
aGVyZSBpcyBhIFVJRGVsZWdhdGUgYnV0IG5vIGdldFVzZXJNZWRpYSBzcGVjaWZpYyBkZWxlZ2F0
ZXMsIG1ha2UgdGhlIGdldFVzZXJNZWRpYSByZXF1ZXN0IGRvIGl0cyBkZWZhdWx0IGFjdGlvbi4K
KyAgICAgICAgRGVmYXVsdCBhY3Rpb24gaXMgZGVueSBmb3IgZ2V0RGlzcGxheU1lZGlhIGFuZCBm
b3Igbm9uIGNvY29hIHBvcnRzLgorICAgICAgICBGb3IgY29jb2EgcG9ydHMsIGEgcHJvbXB0IGlz
IHNob3duLgorCisgICAgICAgIEZvciBDb2NvYSBhcHBzIHRoYXQgYXJlIG5vdCBTYWZhcmksIGRv
IGNhbWVyYSBjYXB0dXJlIGluIFVJUHJvY2Vzcy4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQg
d2l0aCBNaW5pQnJvd3NlciBhbmQgTW9iaWxlTWluaUJyb3dzZXIuCisKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdENhcHR1cmVWaWRlb0luVUlQcm9jZXNzRW5hYmxlZCk6CisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50Lmg6CisgICAgICAg
IChBUEk6OlVJQ2xpZW50OjpkZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgIChX
ZWJLaXQ6OnJlcXVlc3RVc2VyTWVkaWFBdXRob3JpemF0aW9uRm9yRnJhbWUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Lm1tOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJl
QWNjZXNzQWxlcnQubW0uCisgICAgICAgIChXZWJLaXQ6OmFsZXJ0TWVzc2FnZVRleHQpOgorICAg
ICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Ojpkb0RlZmF1bHRB
Y3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nl
c3NBbGVydC5oOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RQcm94eTo6ZG9EZWZhdWx0QWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oOgorICAgICAgICAqIFdlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIwLTA5LTI0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNjc1MDIpOiBbR1RL
XVtXUEVdIGVwaGVtZXJhbCBXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIgaWdub3JlcyBUTFMgZXJy
b3JzIGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmluZGV4IGM4NGM5MTE5N2NjMTQzYzU0ZDE1MTlmZDlhMzAw
MGM2YjA2NjYzYjAuLjg4MzgzYjg5ZmMyMTU1NmU2MGQ4YTg2YTRiYWQwZDU2NjBkNzAxNzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVl
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmNwcApAQCAtMTkyLDYgKzE5Miw5IEBAIGJvb2wgZGVmYXVsdENhcHR1cmVWaWRlb0luVUlQ
cm9jZXNzRW5hYmxlZCgpCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHJldHVybiAhTWFjQXBwbGlj
YXRpb246OmlzU2FmYXJpKCk7CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAg
IHJldHVybiAhSU9TQXBwbGljYXRpb246OmlzTW9iaWxlU2FmYXJpKCk7CisjZW5kaWYKIAogICAg
IHJldHVybiBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBhZjI0YWE5MjAxMmE4
NDk5ZGRmZjYxYmNjNjdmY2ZhY2YxNDZhOTc5Li4wNDMzZjY1NWUwODc1MzExOTM3YWZjNjk5YmYx
MmQzNDJjZTJlMGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQK
KysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODYsNiArMzg2LDcgQEAg
VUlQcm9jZXNzL0NvY29hL1RleHRDaGVja2luZ0NvbnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tCiBVSVByb2Nlc3MvQ29jb2EvVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5j
cHAKIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAorVUlQ
cm9jZXNzL0NvY29hL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkubW0KIFVJUHJvY2Vz
cy9Db2NvYS9WZXJzaW9uQ2hlY2tzLm1tCiBVSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5Lm1tCiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKaW5kZXggY2U3ZmMxYWUxZmE5
YmI0YzgyYThkNjc0NmMyODE5NGE1OGJlYTk5NC4uNWFhODE1YTIyOGVlNzRlZTQyYWJiZDEwZDQz
MjAzNDI4ZjU4MDA5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50
LmgKQEAgLTEzOCw3ICsxMzgsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgcnVuT3Bl
blBhbmVsKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiwgV2Vi
S2l0OjpGcmFtZUluZm9EYXRhJiYsIE9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJLaXQ6OldlYk9w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5JiwgY29uc3QgV2ViS2l0OjpG
cmFtZUluZm9EYXRhJiwgRnVuY3Rpb248dm9pZChib29sKT4mKSB7IH0KLSAgICB2aXJ0dWFsIHZv
aWQgZGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0OjpXZWJQ
YWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkmLCBTZWN1cml0eU9yaWdpbiYsIFNlY3Vy
aXR5T3JpZ2luJiwgV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5JiByZXF1
ZXN0KSB7IHJlcXVlc3QuZGVueSgpOyB9CisgICAgdmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZv
clVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0
OjpXZWJGcmFtZVByb3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBTZWN1cml0eU9yaWdpbiYsIFdlYktp
dDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYgcmVxdWVzdCkgeyByZXF1ZXN0LmRv
RGVmYXVsdEFjdGlvbigpOyB9CiAgICAgdmlydHVhbCB2b2lkIGNoZWNrVXNlck1lZGlhUGVybWlz
c2lvbkZvck9yaWdpbihXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94
eSYsIFNlY3VyaXR5T3JpZ2luJiwgU2VjdXJpdHlPcmlnaW4mLCBXZWJLaXQ6OlVzZXJNZWRpYVBl
cm1pc3Npb25DaGVja1Byb3h5JiByZXF1ZXN0KSB7IHJlcXVlc3QuZGVueSgpOyB9CiAgICAgdmly
dHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdl
YktpdDo6V2ViUGFnZVByb3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBGdW5jdGlvbjx2b2lkKGJvb2wp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsgfQogICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2Vzc0NvbmZpcm0oV2ViS2l0OjpXZWJQYWdl
UHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJs
ZURvbWFpbiYgcmVxdWVzdGluZ0RvbWFpbiwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21h
aW4mIGN1cnJlbnREb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDViMjdmMThlNjJiYTU5NjkwNGY3
NjhiOGM1ZmM2NzU1MzBmNjg5YzAuLmMwMmJmODkyZDhjMmI1ODkxOTAzYmU5NjYwOWRlYjdiZmQ3
YmFkNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpA
QCAtNDQsNyArNDQsNiBAQAogI2ltcG9ydCAiV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmgiCiAj
aW1wb3J0ICJXS1N0b3JhZ2VBY2Nlc3NBbGVydC5oIgogI2ltcG9ydCAiV0tVSURlbGVnYXRlUHJp
dmF0ZS5oIgotI2ltcG9ydCAiV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQuaCIKICNpbXBv
cnQgIldLV2ViVmlld0NvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3
SW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oIgpAQCAtODk2
LDYgKzg5NSwxNCBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWRDaGFuZ2VGb250QXR0
cmlidXRlcyhjb25zdCBXZWJDb3JlOjpGb250QXR0cmlidXRlcwogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiBzdGF0aWMgdm9pZCByZXF1ZXN0VXNlck1lZGlhQXV0aG9yaXphdGlvbkZvckZyYW1l
KGNvbnN0IFdlYkZyYW1lUHJveHkmIGZyYW1lLCBBUEk6OlNlY3VyaXR5T3JpZ2luJiB0b3BMZXZl
bE9yaWdpbiwgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYgcmVxdWVzdCwgaWQgPFdL
VUlEZWxlZ2F0ZVByaXZhdGU+IGRlbGVnYXRlLCBXS1dlYlZpZXcmIHdlYlZpZXcpCiB7CisgICAg
Ym9vbCByZXNwb25kc1RvUmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb24gPSBbZGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpyZXF1ZXN0TWVkaWFDYXB0
dXJlQXV0aG9yaXphdGlvbjpkZWNpc2lvbkhhbmRsZXI6KV07CisgICAgYm9vbCByZXNwb25kc1Rv
UmVxdWVzdFVzZXJNZWRpYUF1dGhvcml6YXRpb25Gb3JEZXZpY2VzID0gW2RlbGVnYXRlIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cmVxdWVzdFVzZXJNZWRpYUF1dGhvcml6
YXRpb25Gb3JEZXZpY2VzOnVybDptYWluRnJhbWVVUkw6ZGVjaXNpb25IYW5kbGVyOildOworCisg
ICAgaWYgKCFyZXNwb25kc1RvUmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb24gJiYgIXJl
c3BvbmRzVG9SZXF1ZXN0VXNlck1lZGlhQXV0aG9yaXphdGlvbkZvckRldmljZXMpIHsKKyAgICAg
ICAgcmVxdWVzdC5kb0RlZmF1bHRBY3Rpb24oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIGF1dG8gY2hlY2tlciA9IENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShk
ZWxlZ2F0ZSwgQHNlbGVjdG9yKF93ZWJWaWV3OnJlcXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0
aW9uOmRlY2lzaW9uSGFuZGxlcjopKTsKICAgICBhdXRvIGRlY2lzaW9uSGFuZGxlciA9IG1ha2VC
bG9ja1B0cihbcHJvdGVjdGVkUmVxdWVzdCA9IG1ha2VSZWYocmVxdWVzdCksIGNoZWNrZXIgPSBX
VEZNb3ZlKGNoZWNrZXIpXShCT09MIGF1dGhvcml6ZWQpIHsKICAgICAgICAgaWYgKGNoZWNrZXIt
PmNvbXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQpAQCAtOTIxLDE1ICs5MjgsNiBAQCBz
dGF0aWMgdm9pZCByZXF1ZXN0VXNlck1lZGlhQXV0aG9yaXphdGlvbkZvckZyYW1lKGNvbnN0IFdl
YkZyYW1lUHJveHkmIGZyYW1lLCBBUAogICAgICAgICBBU1NFUlQoIShkZXZpY2VzICYgX1dLQ2Fw
dHVyZURldmljZUNhbWVyYSkpOwogICAgIH0KIAotICAgIGJvb2wgcmVzcG9uZHNUb1JlcXVlc3RN
ZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoX3dlYlZpZXc6cmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb246ZGVjaXNp
b25IYW5kbGVyOildOwotICAgIGJvb2wgcmVzcG9uZHNUb1JlcXVlc3RVc2VyTWVkaWFBdXRob3Jp
emF0aW9uRm9yRGV2aWNlcyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJWaWV3OnJlcXVlc3RVc2VyTWVkaWFBdXRob3JpemF0aW9uRm9yRGV2aWNlczp1cmw6bWFp
bkZyYW1lVVJMOmRlY2lzaW9uSGFuZGxlcjopXTsKLSAgICBpZiAoIXJlcXVlc3QucmVxdWlyZXNE
aXNwbGF5Q2FwdHVyZSgpICYmICFyZXNwb25kc1RvUmVxdWVzdFVzZXJNZWRpYUF1dGhvcml6YXRp
b25Gb3JEZXZpY2VzICYmICFyZXNwb25kc1RvUmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRp
b24pIHsKLSAgICAgICAgcHJlc2VudFVzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydCgmd2ViVmll
dywgdG9wTGV2ZWxPcmlnaW4sIGRldmljZXMsIFtkZWNpc2lvbkhhbmRsZXIgPSBXVEZNb3ZlKGRl
Y2lzaW9uSGFuZGxlcildKGJvb2wgYXV0aG9yaXplZCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICBk
ZWNpc2lvbkhhbmRsZXIoYXV0aG9yaXplZCk7Ci0gICAgICAgIH0pOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCiAgICAgLy8gRklYTUU6IFByb3ZpZGUgYSBzcGVjaWZpYyBkZWxlZ2F0ZSBmb3Ig
ZGlzcGxheSBjYXB0dXJlLgogICAgIGlmICghcmVxdWVzdC5yZXF1aXJlc0Rpc3BsYXlDYXB0dXJl
KCkgJiYgcmVzcG9uZHNUb1JlcXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uKSB7CiAgICAg
ICAgIFtkZWxlZ2F0ZSBfd2ViVmlldzomd2ViVmlldyByZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9y
aXphdGlvbjpkZXZpY2VzIGRlY2lzaW9uSGFuZGxlcjpkZWNpc2lvbkhhbmRsZXIuZ2V0KCldOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTRkOGMyYWE1MzAyNTU0
N2QzYjE3MGNmOTkyMTYyNDdjZDdiYjdlYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkubW0KQEAg
LTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQg
IlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaCIKKworI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisKKyNpbXBvcnQgIlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
LmgiCisjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCA8V2ViQ29yZS9Mb2Nh
bGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KKyNpbXBvcnQgPHd0Zi9V
UkxIZWxwZXJzLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMgTlNTdHJpbmcqIHZp
c2libGVEb21haW4oY29uc3QgU3RyaW5nJiBob3N0KQoreworICAgIGF1dG8gZG9tYWluID0gV1RG
OjpVUkxIZWxwZXJzOjp1c2VyVmlzaWJsZVVSTChob3N0LnV0ZjgoKSk7CisgICAgcmV0dXJuIHN0
YXJ0c1dpdGhMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZG9tYWluLCAid3d3LiIpID8gZG9tYWlu
LnN1YnN0cmluZyg0KSA6IGRvbWFpbjsKK30KKworc3RhdGljIE5TU3RyaW5nICphbGVydE1lc3Nh
Z2VUZXh0KGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiBvcmlnaW4sIGJvb2wgc2hvdWxk
QXNrVXNlckZvckFjY2Vzc1RvTWljcm9waG9uZSwgYm9vbCBzaG91bGRBc2tVc2VyRm9yQWNjZXNz
VG9DYW1lcmEpCit7CisgICAgaWYgKG9yaWdpbi5wcm90b2NvbCgpICE9ICJodHRwIiAmJiBvcmln
aW4ucHJvdG9jb2woKSAhPSAiaHR0cHMiKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgaWYg
KHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb0NhbWVyYSAmJiBzaG91bGRBc2tVc2VyRm9yQWNjZXNz
VG9NaWNyb3Bob25lKQorICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6
V0VCX1VJX05TU1RSSU5HKEAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgY2FtZXJhIGFuZCBt
aWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtZWRpYSBwcm9tcHQiKSwgdmlzaWJsZURv
bWFpbihvcmlnaW4uaG9zdCgpKV07CisgICAgaWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb0Nh
bWVyYSkKKyAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9O
U1NUUklORyhAIkFsbG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGNhbWVyYT8iLCBAIk1lc3NhZ2Ug
Zm9yIHVzZXIgY2FtZXJhIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9z
dCgpKV07CisgICAgaWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb01pY3JvcGhvbmUpCisgICAg
ICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkcoQCJB
bGxvdyDigJwlQOKAnSB0byB1c2UgeW91ciBtaWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3IgdXNl
ciBtaWNyb3Bob25lIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9zdCgp
KV07CisgICAgcmV0dXJuIG5pbDsKK30KKwordm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5Ojpkb0RlZmF1bHRBY3Rpb24oKQoreworICAgIEFTU0VSVChtX21hbmFnZXIpOworICAg
IGlmICghbV9tYW5hZ2VyKSB7CisgICAgICAgIGRlbnkoKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBhdXRvICp3ZWJWaWV3ID0gZnJvbVdlYlBhZ2VQcm94eShtX21hbmFnZXItPnBhZ2Uo
KSk7CisgICAgaWYgKCF3ZWJWaWV3KSB7CisgICAgICAgIGRlbnkoKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBpZiAocmVxdWlyZXNEaXNwbGF5Q2FwdHVyZSgpKSB7CisgICAgICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQgZ2V0RGlzcGxheU1lZGlhIHByb21wdCwgZm9yIG5vdyBkZW55Lgor
ICAgICAgICBkZW55KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvICphbGVy
dFRpdGxlID0gYWxlcnRNZXNzYWdlVGV4dCh0b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmlnaW4o
KSwgcmVxdWlyZXNBdWRpb0NhcHR1cmUoKSwgcmVxdWlyZXNWaWRlb0NhcHR1cmUoKSk7CisgICAg
aWYgKCFhbGVydFRpdGxlKSB7CisgICAgICAgIGRlbnkoKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGF1dG8gY29tcGxldGlvbkJsb2NrID0gbWFrZUJsb2NrUHRyKFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldKGJvb2wgc2hvdWxkQWxsb3cpIG11dGFibGUgewor
ICAgICAgICBpZiAoIXNob3VsZEFsbG93KQorICAgICAgICAgICAgZGVueSgpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBhbGxvdygpOworICAgIH0pOworCisgICAgTlNTdHJpbmcgKmFsbG93
QnV0dG9uU3RyaW5nID0gV0VCX1VJX1NUUklOR19LRVkoQCJBbGxvdyIsICJBbGxvdyAodXNlcm1l
ZGlhKSIsIEAiQWxsb3cgYnV0dG9uIHRpdGxlIGluIHVzZXIgbWVkaWEgcHJvbXB0Iik7CisgICAg
TlNTdHJpbmcgKmRvTm90QWxsb3dCdXR0b25TdHJpbmcgPSBXRUJfVUlfU1RSSU5HX0tFWShAIkRv
buKAmXQgQWxsb3ciLCAiRG9u4oCZdCBBbGxvdyAodXNlcm1lZGlhKSIsIEAiRGlzYWxsb3cgYnV0
dG9uIHRpdGxlIGluIHVzZXIgbWVkaWEgcHJvbXB0Iik7CisKKyNpZiBQTEFURk9STShNQUMpCisg
ICAgYXV0byBhbGVydCA9IGFkb3B0TlMoW05TQWxlcnQgbmV3XSk7CisgICAgW2FsZXJ0IHNldE1l
c3NhZ2VUZXh0OmFsZXJ0VGl0bGVdOworICAgIFthbGVydCBhZGRCdXR0b25XaXRoVGl0bGU6YWxs
b3dCdXR0b25TdHJpbmddOworICAgIFthbGVydCBhZGRCdXR0b25XaXRoVGl0bGU6ZG9Ob3RBbGxv
d0J1dHRvblN0cmluZ107CisgICAgW2FsZXJ0IGJlZ2luU2hlZXRNb2RhbEZvcldpbmRvdzp3ZWJW
aWV3LndpbmRvdyBjb21wbGV0aW9uSGFuZGxlcjpbY29tcGxldGlvbkJsb2NrXShOU01vZGFsUmVz
cG9uc2UgcmV0dXJuQ29kZSkgeworICAgICAgICBhdXRvIHNob3VsZEFsbG93ID0gcmV0dXJuQ29k
ZSA9PSBOU0FsZXJ0Rmlyc3RCdXR0b25SZXR1cm47CisgICAgICAgIGNvbXBsZXRpb25CbG9jayhz
aG91bGRBbGxvdyk7CisgICAgfV07CisjZWxzZQorICAgIFVJQWxlcnRDb250cm9sbGVyKiBhbGVy
dCA9IFtVSUFsZXJ0Q29udHJvbGxlciBhbGVydENvbnRyb2xsZXJXaXRoVGl0bGU6YWxlcnRUaXRs
ZSBtZXNzYWdlOm5pbCBwcmVmZXJyZWRTdHlsZTpVSUFsZXJ0Q29udHJvbGxlclN0eWxlQWxlcnRd
OworICAgIFVJQWxlcnRBY3Rpb24qIGFsbG93QWN0aW9uID0gW1VJQWxlcnRBY3Rpb24gYWN0aW9u
V2l0aFRpdGxlOmFsbG93QnV0dG9uU3RyaW5nIHN0eWxlOlVJQWxlcnRBY3Rpb25TdHlsZUNhbmNl
bCBoYW5kbGVyOltjb21wbGV0aW9uQmxvY2tdKFVJQWxlcnRBY3Rpb24gKmFjdGlvbikgeworICAg
ICAgICBjb21wbGV0aW9uQmxvY2sodHJ1ZSk7CisgICAgfV07CisKKyAgICBVSUFsZXJ0QWN0aW9u
KiBkb05vdEFsbG93QWN0aW9uID0gW1VJQWxlcnRBY3Rpb24gYWN0aW9uV2l0aFRpdGxlOmRvTm90
QWxsb3dCdXR0b25TdHJpbmcgc3R5bGU6VUlBbGVydEFjdGlvblN0eWxlRGVmYXVsdCBoYW5kbGVy
Oltjb21wbGV0aW9uQmxvY2tdKFVJQWxlcnRBY3Rpb24gKmFjdGlvbikgeworICAgICAgICBjb21w
bGV0aW9uQmxvY2soZmFsc2UpOworICAgIH1dOworCisgICAgW2FsZXJ0IGFkZEFjdGlvbjpkb05v
dEFsbG93QWN0aW9uXTsKKyAgICBbYWxlcnQgYWRkQWN0aW9uOmFsbG93QWN0aW9uXTsKKworICAg
IFtbVUlWaWV3Q29udHJvbGxlciBfdmlld0NvbnRyb2xsZXJGb3JGdWxsU2NyZWVuUHJlc2VudGF0
aW9uRnJvbVZpZXc6d2ViVmlld10gcHJlc2VudFZpZXdDb250cm9sbGVyOmFsZXJ0IGFuaW1hdGVk
OllFUyBjb21wbGV0aW9uOm5pbF07CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNhN2Q0ZmU2Y2NhNDg5NWY0NzAyYTc4
MjBjNjM0NjZhOTQyMmJhODUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJl
QWNjZXNzQWxlcnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNpbXBvcnQgIldL
V2ViVmlld1ByaXZhdGUuaCIKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0KLUBjbGFzcyBXS1dl
YlZpZXc7Ci0KLW5hbWVzcGFjZSBBUEkgewotY2xhc3MgU2VjdXJpdHlPcmlnaW47Ci19Ci0KLW5h
bWVzcGFjZSBXZWJLaXQgewotCi12b2lkIHByZXNlbnRVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxl
cnQoV0tXZWJWaWV3ICosIEFQSTo6U2VjdXJpdHlPcmlnaW4mLCBfV0tDYXB0dXJlRGV2aWNlcywg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7Ci0KLX0KLQotI2VuZGlmIC8vIEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lm1tCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGFiYTJiZTBjNDY0ZDA5M2E2MjdjZmE5NjM5MGM2MTgw
YmI5MDI0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0
Lm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTA4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0
ICJjb25maWcuaCIKLSNpbXBvcnQgIldLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0LmgiCi0K
LSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5o
IgotI2ltcG9ydCAiV0tXZWJWaWV3UHJpdmF0ZS5oIgotI2ltcG9ydCAiV2ViUGFnZVByb3h5Lmgi
Ci0jaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KLSNpbXBvcnQgPHd0Zi9CbG9j
a1B0ci5oPgotI2ltcG9ydCA8d3RmL1VSTEhlbHBlcnMuaD4KLSNpbXBvcnQgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotc3RhdGljIE5TU3RyaW5nKiB2aXNp
YmxlRG9tYWluKGNvbnN0IFN0cmluZyYgaG9zdCkKLXsKLSAgICBhdXRvIGRvbWFpbiA9IFdURjo6
VVJMSGVscGVyczo6dXNlclZpc2libGVVUkwoaG9zdC51dGY4KCkpOwotICAgIHJldHVybiBzdGFy
dHNXaXRoTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRvbWFpbiwgInd3dy4iKSA/IGRvbWFpbi5z
dWJzdHJpbmcoNCkgOiBkb21haW47Ci19Ci0KLXN0YXRpYyBOU1N0cmluZyAqYWxlcnRNZXNzYWdl
VGV4dChBUEk6OlNlY3VyaXR5T3JpZ2luJiB0b3BMZXZlbE9yaWdpbiwgX1dLQ2FwdHVyZURldmlj
ZXMgZGV2aWNlcykKLXsKLSAgICBib29sIHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb0NhbWVyYSA9
IGRldmljZXMgJiBfV0tDYXB0dXJlRGV2aWNlQ2FtZXJhOwotICAgIGJvb2wgc2hvdWxkQXNrVXNl
ckZvckFjY2Vzc1RvTWljcm9waG9uZSA9IGRldmljZXMgJiBfV0tDYXB0dXJlRGV2aWNlTWljcm9w
aG9uZTsKLQotICAgIGF1dG8mIG9yaWdpbiA9IHRvcExldmVsT3JpZ2luLnNlY3VyaXR5T3JpZ2lu
KCk7Ci0gICAgaWYgKG9yaWdpbi5wcm90b2NvbCgpICE9ICJodHRwIiAmJiBvcmlnaW4ucHJvdG9j
b2woKSAhPSAiaHR0cHMiKQotICAgICAgICByZXR1cm4gbmlsOwotCi0gICAgaWYgKHNob3VsZEFz
a1VzZXJGb3JBY2Nlc3NUb0NhbWVyYSAmJiBzaG91bGRBc2tVc2VyRm9yQWNjZXNzVG9NaWNyb3Bo
b25lKQotICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX05T
U1RSSU5HKEAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgY2FtZXJhIGFuZCBtaWNyb3Bob25l
PyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtZWRpYSBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmln
aW4uaG9zdCgpKV07Ci0gICAgaWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb0NhbWVyYSkKLSAg
ICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9OU1NUUklORyhA
IkFsbG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGNhbWVyYT8iLCBAIk1lc3NhZ2UgZm9yIHVzZXIg
Y2FtZXJhIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9zdCgpKV07Ci0g
ICAgaWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb01pY3JvcGhvbmUpCi0gICAgICAgIHJldHVy
biBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkcoQCJBbGxvdyDigJwl
QOKAnSB0byB1c2UgeW91ciBtaWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtaWNyb3Bo
b25lIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9zdCgpKV07Ci0gICAg
cmV0dXJuIG5pbDsKLX0KLQotdm9pZCBwcmVzZW50VXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0
KFdLV2ViVmlldyAqd2ViVmlldywgQVBJOjpTZWN1cml0eU9yaWdpbiYgdG9wTGV2ZWxPcmlnaW4s
IF9XS0NhcHR1cmVEZXZpY2VzIGRldmljZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgYXV0byAqYWxlcnRUaXRsZSA9IGFsZXJ0TWVz
c2FnZVRleHQodG9wTGV2ZWxPcmlnaW4sIGRldmljZXMpOwotICAgIGlmICghYWxlcnRUaXRsZSkg
ewotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBhdXRvIGNvbXBsZXRpb25CbG9jayA9IG1ha2VCbG9ja1B0cihbY29tcGxldGlv
bkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBzaG91bGRBbGxvdykg
bXV0YWJsZSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHNob3VsZEFsbG93KTsKLSAgICB9
KTsKLQotICAgIE5TU3RyaW5nICphbGxvd0J1dHRvblN0cmluZyA9IFdFQl9VSV9TVFJJTkdfS0VZ
KEAiQWxsb3ciLCAiQWxsb3cgKHVzZXJtZWRpYSkiLCBAIkFsbG93IGJ1dHRvbiB0aXRsZSBpbiB1
c2VyIG1lZGlhIHByb21wdCIpOwotICAgIE5TU3RyaW5nICpkb05vdEFsbG93QnV0dG9uU3RyaW5n
ID0gV0VCX1VJX1NUUklOR19LRVkoQCJEb27igJl0IEFsbG93IiwgIkRvbuKAmXQgQWxsb3cgKHVz
ZXJtZWRpYSkiLCBAIkRpc2FsbG93IGJ1dHRvbiB0aXRsZSBpbiB1c2VyIG1lZGlhIHByb21wdCIp
OwotCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGF1dG8gYWxlcnQgPSBhZG9wdE5TKFtOU0FsZXJ0
IG5ld10pOwotICAgIFthbGVydCBzZXRNZXNzYWdlVGV4dDphbGVydFRpdGxlXTsKLSAgICBbYWxl
cnQgYWRkQnV0dG9uV2l0aFRpdGxlOmFsbG93QnV0dG9uU3RyaW5nXTsKLSAgICBbYWxlcnQgYWRk
QnV0dG9uV2l0aFRpdGxlOmRvTm90QWxsb3dCdXR0b25TdHJpbmddOwotICAgIFthbGVydCBiZWdp
blNoZWV0TW9kYWxGb3JXaW5kb3c6d2ViVmlldy53aW5kb3cgY29tcGxldGlvbkhhbmRsZXI6W2Nv
bXBsZXRpb25CbG9ja10oTlNNb2RhbFJlc3BvbnNlIHJldHVybkNvZGUpIHsKLSAgICAgICAgYXV0
byBzaG91bGRBbGxvdyA9IHJldHVybkNvZGUgPT0gTlNBbGVydEZpcnN0QnV0dG9uUmV0dXJuOwot
ICAgICAgICBjb21wbGV0aW9uQmxvY2soc2hvdWxkQWxsb3cpOwotICAgIH1dOwotI2Vsc2UKLSAg
ICBVSUFsZXJ0Q29udHJvbGxlciogYWxlcnQgPSBbVUlBbGVydENvbnRyb2xsZXIgYWxlcnRDb250
cm9sbGVyV2l0aFRpdGxlOmFsZXJ0VGl0bGUgbWVzc2FnZTpuaWwgcHJlZmVycmVkU3R5bGU6VUlB
bGVydENvbnRyb2xsZXJTdHlsZUFsZXJ0XTsKLSAgICBVSUFsZXJ0QWN0aW9uKiBhbGxvd0FjdGlv
biA9IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhUaXRsZTphbGxvd0J1dHRvblN0cmluZyBzdHls
ZTpVSUFsZXJ0QWN0aW9uU3R5bGVDYW5jZWwgaGFuZGxlcjpbY29tcGxldGlvbkJsb2NrXShVSUFs
ZXJ0QWN0aW9uICphY3Rpb24pIHsKLSAgICAgICAgY29tcGxldGlvbkJsb2NrKHRydWUpOwotICAg
IH1dOwotCi0gICAgVUlBbGVydEFjdGlvbiogZG9Ob3RBbGxvd0FjdGlvbiA9IFtVSUFsZXJ0QWN0
aW9uIGFjdGlvbldpdGhUaXRsZTpkb05vdEFsbG93QnV0dG9uU3RyaW5nIHN0eWxlOlVJQWxlcnRB
Y3Rpb25TdHlsZURlZmF1bHQgaGFuZGxlcjpbY29tcGxldGlvbkJsb2NrXShVSUFsZXJ0QWN0aW9u
ICphY3Rpb24pIHsKLSAgICAgICAgY29tcGxldGlvbkJsb2NrKGZhbHNlKTsKLSAgICB9XTsKLQot
ICAgIFthbGVydCBhZGRBY3Rpb246ZG9Ob3RBbGxvd0FjdGlvbl07Ci0gICAgW2FsZXJ0IGFkZEFj
dGlvbjphbGxvd0FjdGlvbl07Ci0KLSAgICBbW1VJVmlld0NvbnRyb2xsZXIgX3ZpZXdDb250cm9s
bGVyRm9yRnVsbFNjcmVlblByZXNlbnRhdGlvbkZyb21WaWV3OndlYlZpZXddIHByZXNlbnRWaWV3
Q29udHJvbGxlcjphbGVydCBhbmltYXRlZDpZRVMgY29tcGxldGlvbjpuaWxdOwotI2VuZGlmCi19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gRU5BQkxFKERFVklDRV9PUklF
TlRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAKaW5kZXggOTY2ZmRhZDVjZjBkZDA5Yjk4ZmY1
NTYxMDNlMjA2YWExMTc1Yzk2My4uZGRiMGQ0NzBlZGZhMWEwNTQ2ZWIwZmRhODIzNzIzMDgyNzBl
NTkwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAKQEAgLTk1LDYgKzk1LDEzIEBAIHZvaWQgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6ZGVueShVc2VyTWVkaWFBY2Nlc3NEZW5pYWxS
ZWFzb24gcmVhc29uKQogICAgIGludmFsaWRhdGUoKTsKIH0KIAorI2lmICFQTEFURk9STShDT0NP
QSkKK3ZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6ZG9EZWZhdWx0QWN0aW9u
KCkKK3sKKyAgICBkZW55KCk7Cit9CisjZW5kaWYKKwogdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdFByb3h5OjppbnZhbGlkYXRlKCkKIHsKICAgICBtX21hbmFnZXIgPSBudWxscHRyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RQcm94eS5oCmluZGV4IDY3NDA4MDVjYjEzZDFiZjNhNDE3MjY4YjJiMzY1ZjBiY2U0
ZWZjMzQuLjY1Mjk2ZjNhMGU5Mzg0YmEzNmZkZDU5ZDFkZjMwMzdmMWE2ZjVkZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdFByb3h5LmgKQEAgLTQ3LDYgKzQ3LDggQEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgVXNl
ck1lZGlhQWNjZXNzRGVuaWFsUmVhc29uIHsgTm9Db25zdHJhaW50cywgVXNlck1lZGlhRGlzYWJs
ZWQsIE5vQ2FwdHVyZURldmljZXMsIEludmFsaWRDb25zdHJhaW50LCBIYXJkd2FyZUVycm9yLCBQ
ZXJtaXNzaW9uRGVuaWVkLCBPdGhlckZhaWx1cmUgfTsKICAgICB2b2lkIGRlbnkoVXNlck1lZGlh
QWNjZXNzRGVuaWFsUmVhc29uID0gVXNlck1lZGlhQWNjZXNzRGVuaWFsUmVhc29uOjpVc2VyTWVk
aWFEaXNhYmxlZCk7CiAKKyAgICB2b2lkIGRvRGVmYXVsdEFjdGlvbigpOworCiAgICAgdm9pZCBp
bnZhbGlkYXRlKCk7CiAgICAgYm9vbCBpc1BlbmRpbmcoKSBjb25zdCB7IHJldHVybiBtX21hbmFn
ZXI7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNTliOTkwN2M3ZmM5Njc3YTk3MzJjYWZmMGZlMDA4OWIwZTQ5YzE0MC4uYjhkMjU0
OTFjYWFmYjgyNDNkZjAwY2YzNjY2ZGRlNmE2NTA5NDVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05MDIsNyArOTAyLDYgQEAKIAkJ
NDEzMDc1QjQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBODFERTg1RUU3MDAz
OUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDEzQ0NENTAyMERFQkM3NDAw
NjVBMjFBIC8qIGNvbS5nb29nbGUuZ29vZ2xldGFsa2Jyb3dzZXJwbHVnaW4uc2IgaW4gQ29weSBQ
bHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEzQ0NENEYyMERFQkMyRjAwNjVBMjFBIC8qIGNvbS5nb29nbGUuZ29vZ2xldGFsa2Jyb3dz
ZXJwbHVnaW4uc2IgKi87IH07CiAJCTQxNDM3NTFDMjBFQUVBMkQwMEZBRDA2QyAvKiBjbi5taWNy
b2RvbmUuY21iLnNhZmFyaS5zYiBpbiBDb3B5IFBsdWctaW4gU2FuZGJveCBQcm9maWxlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQzNzUxQjIwRUFFQTFFMDBGQUQwNkMg
LyogY24ubWljcm9kb25lLmNtYi5zYWZhcmkuc2IgKi87IH07Ci0JCTQxNDdEQzY5MjUxOUVDMzMw
MDIxNEVFNyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDdEQzY3MjUxOUUyOUQwMDIxNEVF
NyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSAqLzsgfTsKIAkJNDE0REQzNzky
MEJGNDNGNTAwNjk1OUZCIC8qIGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2IgaW4gUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNEREMzc4MjBCRjQz
RUEwMDY5NTlGQiAvKiBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0LnNiICovOyB9OwogCQk0
MTRERDM3QTIwQkY0OUE1MDA2OTU5RkIgLyogY29tLmNpc2NvLndlYmV4LnBsdWdpbi5ncGM2NC5z
YiBpbiBDb3B5IFBsdWctaW4gU2FuZGJveCBQcm9maWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTRERDM3ODIwQkY0M0VBMDA2OTU5RkIgLyogY29tLmNpc2NvLndlYmV4
LnBsdWdpbi5ncGM2NC5zYiAqLzsgfTsKIAkJNDE1N0U0QjAyMEUyRUNERjAwQTZDMEQ3IC8qIGNv
bS5nb29nbGUubzFkYnJvd3NlcnBsdWdpbi5zYiBpbiBDb3B5IFBsdWctaW4gU2FuZGJveCBQcm9m
aWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTU3RTRBRjIwRTJFQzk4
MDBBNkMwRDcgLyogY29tLmdvb2dsZS5vMWRicm93c2VycGx1Z2luLnNiICovOyB9OwpAQCAtMzM5
MCw2ICszMzg5LDcgQEAKIAkJNDExOERDMUIyMUU2RDExQTAwREUwNEM3IC8qIFdlYnNpdGVEYXRh
U3RvcmVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vic2l0ZURh
dGFTdG9yZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTFBOEREOTIw
RERCNjA1MDA2MEQzNEYgLyogV0tNb2NrTWVkaWFEZXZpY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV0tNb2NrTWVkaWFEZXZpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDExQThEREEyMEREQjYwNTAwNjBEMzRGIC8qIFdLTW9ja01lZGlhRGV2aWNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTW9ja01lZGlhRGV2aWNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDExQTlBOUEyNTFERTkzRTAwODA3
RDdFIC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTFCMjI2MjFFMzcxMjQ0MDA0RjczNjMgLyogTGliV2ViUlRDTmV0
d29yay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENOZXR3b3Jr
Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxMjg3RDRCMjI1QzA1QzQwMDlBM0UyNiAvKiBXZWJTb2NrZXRU
YXNrQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJT
b2NrZXRUYXNrQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjg3RDRD
MjI1QzA1QzUwMDlBM0UyNiAvKiBXZWJTb2NrZXRUYXNrQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0VGFza0NvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0zNDEyLDggKzM0MTIsNiBAQAogCQk0MTM1RkJEMDFGNEZCN0YyMDA3NEM0
N0IgLyogQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTNDQ0Q0RjIwREVCQzJGMDA2NUEyMUEgLyogY29tLmdvb2dsZS5nb29nbGV0
YWxrYnJvd3NlcnBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBjb20uZ29vZ2xlLmdv
b2dsZXRhbGticm93c2VycGx1Z2luLnNiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTQzNzUxQjIwRUFFQTFFMDBGQUQwNkMgLyogY24ubWljcm9kb25lLmNtYi5zYWZhcmkuc2IgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gY24ubWljcm9kb25lLmNtYi5zYWZhcmkuc2I7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxNDdEQzY3MjUxOUUyOUQwMDIxNEVFNyAvKiBXS1VzZXJN
ZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLVXNlck1l
ZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0
MTQ3REM2ODI1MTlFMjlEMDAyMTRFRTcgLyogV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0REQzNzgyMEJGNDNFQTAwNjk1OUZCIC8qIGNvbS5j
aXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29tLmNp
c2NvLndlYmV4LnBsdWdpbi5ncGM2NC5zYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDE1MEE1QTAyM0UwNkM5MTAwNTEyNjRBIC8qIEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQcm9jZXNzU2Vzc2lvblBhcmFt
ZXRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE1MTg1MzUyMjI3MDRGNTAw
NTQzMEM2IC8qIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU2VydmljZVdvcmtlckZldGNoVGFzay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNjM2MSw2ICs2MzU5LDcgQEAKIAkJCQkxQUZFNDM2MzE4QjZDMDgxMDA5QzdB
NDggLyogVUlEZWxlZ2F0ZS5tbSAqLywKIAkJCQk0NjMyMzY4NjIzMTQ4MzNGMDBBNDhGQTcgLyog
VUlSZW1vdGVPYmplY3RSZWdpc3RyeS5jcHAgKi8sCiAJCQkJNDYzMjM2ODUyMzE0ODMzRjAwQTQ4
RkE3IC8qIFVJUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAqLywKKwkJCQk0MTFBOUE5QTI1MURFOTNF
MDA4MDdEN0UgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5tbSAqLywKIAkJCQlF
NEU4NjQ4RTFCMTY3M0ZCMDBDODJGNDAgLyogVmVyc2lvbkNoZWNrcy5oICovLAogCQkJCUU0RTg2
NDhGMUIxNjczRkIwMEM4MkY0MCAvKiBWZXJzaW9uQ2hlY2tzLm1tICovLAogCQkJCTUyRDVBMUFB
MUM1NzQ5NEUwMERFMzRBMyAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCAqLywKQEAg
LTYzOTMsOCArNjM5Miw2IEBACiAJCQkJMkQ3QUFGRDIxOEM4NjQwNjAwQTdBQ0Q0IC8qIFdLV2Vi
Vmlld0NvbnRlbnRQcm92aWRlci5oICovLAogCQkJCTJEQzZEOUMxMThDNDRBNjEwMDQzQkFENCAv
KiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5oICovLAogCQkJCTJEQzZEOUMyMThD
NDRBNjEwMDQzQkFENCAvKiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5tbSAqLywK
LQkJCQk0MTQ3REM2ODI1MTlFMjlEMDAyMTRFRTcgLyogV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNz
QWxlcnQuaCAqLywKLQkJCQk0MTQ3REM2NzI1MTlFMjlEMDAyMTRFRTcgLyogV0tVc2VyTWVkaWFD
YXB0dXJlQWNjZXNzQWxlcnQubW0gKi8sCiAJCQkJQzE3MTBDRjIyNEE3QkQwMzAwRDdDMTEyIC8q
IFhQQ0V2ZW50SGFuZGxlci5oICovLAogCQkJKTsKIAkJCXBhdGggPSBDb2NvYTsKQEAgLTEyOTc1
LDcgKzEyOTcyLDYgQEAKIAkJCQkyRDExQjdCRjIxMjZBMjgzMDA2Rjg4NzggLyogVW5pZmllZFNv
dXJjZTU2LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3QzEyMTI2QTI4MzAwNkY4ODc4
IC8qIFVuaWZpZWRTb3VyY2U1Ny1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCN0MyMjEy
NkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlNTcuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
NDE0N0RDNjkyNTE5RUMzMzAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3QzMyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZp
ZWRTb3VyY2U1OC1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCN0M0MjEyNkEyODMwMDZG
ODg3OCAvKiBVbmlmaWVkU291cmNlNTguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3QzYy
MTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2U1OS5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjZDM3ZTFh
ODEzMmEwNjMzYmJjODZmOWQwNDJjMWI5MTI3MTI3NTFmLi4wYzFhMGNjNGUxNmQwYzI1NzQ3MTU0
NWIyZmM1Y2FkYzk0YzQ3OWMwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDktMjUgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBkZWZhdWx0IGJlaGF2aW9y
IGZvciBnZXRVc2VyTWVkaWEgcmVxdWVzdHMgaW4gY2FzZSB3aGVyZSB0aGVyZSBpcyBubyBkZWxl
Z2F0ZSBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNjk2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBjYW1lcmEgYW5kIG1pY3JvcGhvbmUgZW50aXRsZW1lbnRzIHRvIE1vYmlsZU1pbmlCcm93
c2VyLgorICAgICAgICBFeHBvc2UgbWVkaWFEZXZpY2VzIHRvIHdlYiBwYWdlcy4KKworICAgICAg
ICAqIE1vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93c2VyL0luZm8ucGxpc3Q6CisgICAg
ICAgICogTW9iaWxlTWluaUJyb3dzZXIvTW9iaWxlTWluaUJyb3dzZXJGcmFtZXdvcmsvV2ViVmll
d0NvbnRyb2xsZXIubToKKyAgICAgICAgKC1bV2ViVmlld0NvbnRyb2xsZXIgY3JlYXRlV2ViVmll
d10pOgorCiAyMDIwLTA5LTI0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNjc1MDIpOiBbR1RLXVtXUEVdIGVwaGVtZXJh
bCBXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIgaWdub3JlcyBUTFMgZXJyb3JzIGJ5IGRlZmF1bHQK
ZGlmZiAtLWdpdCBhL1Rvb2xzL01vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93c2VyL0lu
Zm8ucGxpc3QgYi9Ub29scy9Nb2JpbGVNaW5pQnJvd3Nlci9Nb2JpbGVNaW5pQnJvd3Nlci9JbmZv
LnBsaXN0CmluZGV4IDZmMGY2ZmU5ZTNiN2M0N2MwMDhiMTFjNTM4MDRkN2JlM2U3YThkNGEuLjY1
MWJhNTc0YzJkZTE4M2I5YzYwMTdlNzQ1NjFjNDBjZTM2NjU2Y2QgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L01vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93c2VyL0luZm8ucGxpc3QKKysrIGIvVG9v
bHMvTW9iaWxlTWluaUJyb3dzZXIvTW9iaWxlTWluaUJyb3dzZXIvSW5mby5wbGlzdApAQCAtNTQs
NSArNTQsMTEgQEAKIAkJPGtleT5OU0FsbG93c0FyYml0cmFyeUxvYWRzSW5XZWJDb250ZW50PC9r
ZXk+CiAJCTx0cnVlLz4KIAk8L2RpY3Q+CisgICAgPGtleT5jb20uYXBwbGUuc2VjdXJpdHkuZGV2
aWNlLmNhbWVyYTwva2V5PgorICAgIDx0cnVlLz4KKyAgICA8a2V5PmNvbS5hcHBsZS5zZWN1cml0
eS5kZXZpY2UubWljcm9waG9uZTwva2V5PgorICAgIDx0cnVlLz4KKyAgICA8a2V5Pk5TQ2FtZXJh
VXNhZ2VEZXNjcmlwdGlvbjwva2V5PgorICAgIDxzdHJpbmc+Q2FtZXJhIHVzYWdlIGRlc2NyaXB0
aW9uPC9zdHJpbmc+CiA8L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvTW9iaWxl
TWluaUJyb3dzZXIvTW9iaWxlTWluaUJyb3dzZXJGcmFtZXdvcmsvV2ViVmlld0NvbnRyb2xsZXIu
bSBiL1Rvb2xzL01vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93c2VyRnJhbWV3b3JrL1dl
YlZpZXdDb250cm9sbGVyLm0KaW5kZXggZjFiNWVkZWQxY2YyNjE5MTVjZGVjZTU4NmI4YjlhYWU0
ZDcxOTZmYi4uOGM0ODRlYzA3NjU3NWE5ODgxMDA4ZmQ0ZmU3ZjY5ODZhODI4YTk0NSAxMDA2NDQK
LS0tIGEvVG9vbHMvTW9iaWxlTWluaUJyb3dzZXIvTW9iaWxlTWluaUJyb3dzZXJGcmFtZXdvcmsv
V2ViVmlld0NvbnRyb2xsZXIubQorKysgYi9Ub29scy9Nb2JpbGVNaW5pQnJvd3Nlci9Nb2JpbGVN
aW5pQnJvd3NlckZyYW1ld29yay9XZWJWaWV3Q29udHJvbGxlci5tCkBAIC0yOCw2ICsyOCw3IEBA
CiAjaW1wb3J0ICJUYWJWaWV3Q29udHJvbGxlci5oIgogI2ltcG9ydCA8V2ViS2l0L1dLTmF2aWdh
dGlvbi5oPgogI2ltcG9ydCA8V2ViS2l0L1dLTmF2aWdhdGlvbkRlbGVnYXRlLmg+CisjaW1wb3J0
IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZp
ZXcuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmg+CiAKQEAgLTE3
NSw2ICsxNzYsOCBAQCAtICh2b2lkKWFkZFdlYlZpZXcKIC0gKFdLV2ViVmlldyAqKWNyZWF0ZVdl
YlZpZXcKIHsKICAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gW1tX
S1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XTsKKyAgICBjb25maWd1cmF0aW9uLnBy
ZWZlcmVuY2VzLl9tZWRpYURldmljZXNFbmFibGVkID0gWUVTOworCiAgICAgV0tXZWJWaWV3ICp3
ZWJWaWV3ID0gW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6c2VsZi53ZWJWaWV3Q29u
dGFpbmVyLmJvdW5kcyBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dOwogICAgIHdlYlZpZXcu
bmF2aWdhdGlvbkRlbGVnYXRlID0gc2VsZjsKICAgICB3ZWJWaWV3LmF1dG9yZXNpemluZ01hc2sg
PSBVSVZpZXdBdXRvcmVzaXppbmdGbGV4aWJsZVdpZHRoIHwgVUlWaWV3QXV0b3Jlc2l6aW5nRmxl
eGlibGVIZWlnaHQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409677</attachid>
            <date>2020-09-25 02:56:12 -0700</date>
            <delta_ts>2020-09-25 06:18:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216968-20200925115610.patch</filename>
            <type>text/plain</type>
            <size>31546</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkYjc1NjgyY2ExNjY4MjY5
NjdmZWNiNzMzMjgxN2RmYzkwMDRjMGYuLjExZTE5YTE0MzM2N2U3NDdhNmJmZjQwZWM4N2NkNWRm
ZTA1MmNhMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjAtMDktMjUgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBkZWZhdWx0IGJl
aGF2aW9yIGZvciBnZXRVc2VyTWVkaWEgcmVxdWVzdHMgaW4gY2FzZSB3aGVyZSB0aGVyZSBpcyBu
byBkZWxlZ2F0ZSBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNjk2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEluIGNhc2UgcGFnZSBVSURlbGVnYXRlIGlzIG5vdCBzZXQsIG1ha2UgdGhlIGdldFVz
ZXJNZWRpYSByZXF1ZXN0IGRvIGl0cyBkZWZhdWx0IGFjdGlvbi4KKyAgICAgICAgSW4gY2FzZSB0
aGVyZSBpcyBhIFVJRGVsZWdhdGUgYnV0IG5vIGdldFVzZXJNZWRpYSBzcGVjaWZpYyBkZWxlZ2F0
ZXMsIG1ha2UgdGhlIGdldFVzZXJNZWRpYSByZXF1ZXN0IGRvIGl0cyBkZWZhdWx0IGFjdGlvbi4K
KyAgICAgICAgRGVmYXVsdCBhY3Rpb24gaXMgZGVueSBmb3IgZ2V0RGlzcGxheU1lZGlhIGFuZCBm
b3Igbm9uIGNvY29hIHBvcnRzLgorICAgICAgICBGb3IgY29jb2EgcG9ydHMsIGEgcHJvbXB0IGlz
IHNob3duLgorCisgICAgICAgIEZvciBDb2NvYSBhcHBzIHRoYXQgYXJlIG5vdCBTYWZhcmksIGRv
IGNhbWVyYSBjYXB0dXJlIGluIFVJUHJvY2Vzcy4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQg
d2l0aCBNaW5pQnJvd3NlciBhbmQgTW9iaWxlTWluaUJyb3dzZXIuCisKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVm
YXVsdENhcHR1cmVWaWRlb0luVUlQcm9jZXNzRW5hYmxlZCk6CisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50Lmg6CisgICAgICAg
IChBUEk6OlVJQ2xpZW50OjpkZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgIChX
ZWJLaXQ6OnJlcXVlc3RVc2VyTWVkaWFBdXRob3JpemF0aW9uRm9yRnJhbWUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Lm1tOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJl
QWNjZXNzQWxlcnQubW0uCisgICAgICAgIChXZWJLaXQ6OmFsZXJ0TWVzc2FnZVRleHQpOgorICAg
ICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Ojpkb0RlZmF1bHRB
Y3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nl
c3NBbGVydC5oOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RQcm94eTo6ZG9EZWZhdWx0QWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oOgorICAgICAgICAqIFdlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIwLTA5LTI0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNjc1MDIpOiBbR1RL
XVtXUEVdIGVwaGVtZXJhbCBXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIgaWdub3JlcyBUTFMgZXJy
b3JzIGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmluZGV4IGM4NGM5MTE5N2NjMTQzYzU0ZDE1MTlmZDlhMzAw
MGM2YjA2NjYzYjAuLjg4MzgzYjg5ZmMyMTU1NmU2MGQ4YTg2YTRiYWQwZDU2NjBkNzAxNzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVl
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFs
dWVzLmNwcApAQCAtMTkyLDYgKzE5Miw5IEBAIGJvb2wgZGVmYXVsdENhcHR1cmVWaWRlb0luVUlQ
cm9jZXNzRW5hYmxlZCgpCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHJldHVybiAhTWFjQXBwbGlj
YXRpb246OmlzU2FmYXJpKCk7CiAjZW5kaWYKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAg
IHJldHVybiAhSU9TQXBwbGljYXRpb246OmlzTW9iaWxlU2FmYXJpKCk7CisjZW5kaWYKIAogICAg
IHJldHVybiBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29h
LnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBhZjI0YWE5MjAxMmE4
NDk5ZGRmZjYxYmNjNjdmY2ZhY2YxNDZhOTc5Li4wNDMzZjY1NWUwODc1MzExOTM3YWZjNjk5YmYx
MmQzNDJjZTJlMGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQK
KysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0zODYsNiArMzg2LDcgQEAg
VUlQcm9jZXNzL0NvY29hL1RleHRDaGVja2luZ0NvbnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tCiBVSVByb2Nlc3MvQ29jb2EvVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5j
cHAKIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAorVUlQ
cm9jZXNzL0NvY29hL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkubW0KIFVJUHJvY2Vz
cy9Db2NvYS9WZXJzaW9uQ2hlY2tzLm1tCiBVSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5Lm1tCiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKaW5kZXggY2U3ZmMxYWUxZmE5
YmI0YzgyYThkNjc0NmMyODE5NGE1OGJlYTk5NC4uNWFhODE1YTIyOGVlNzRlZTQyYWJiZDEwZDQz
MjAzNDI4ZjU4MDA5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50
LmgKQEAgLTEzOCw3ICsxMzgsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgcnVuT3Bl
blBhbmVsKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiwgV2Vi
S2l0OjpGcmFtZUluZm9EYXRhJiYsIE9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJLaXQ6OldlYk9w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5JiwgY29uc3QgV2ViS2l0OjpG
cmFtZUluZm9EYXRhJiwgRnVuY3Rpb248dm9pZChib29sKT4mKSB7IH0KLSAgICB2aXJ0dWFsIHZv
aWQgZGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0OjpXZWJQ
YWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkmLCBTZWN1cml0eU9yaWdpbiYsIFNlY3Vy
aXR5T3JpZ2luJiwgV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5JiByZXF1
ZXN0KSB7IHJlcXVlc3QuZGVueSgpOyB9CisgICAgdmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZv
clVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0
OjpXZWJGcmFtZVByb3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBTZWN1cml0eU9yaWdpbiYsIFdlYktp
dDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYgcmVxdWVzdCkgeyByZXF1ZXN0LmRv
RGVmYXVsdEFjdGlvbigpOyB9CiAgICAgdmlydHVhbCB2b2lkIGNoZWNrVXNlck1lZGlhUGVybWlz
c2lvbkZvck9yaWdpbihXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94
eSYsIFNlY3VyaXR5T3JpZ2luJiwgU2VjdXJpdHlPcmlnaW4mLCBXZWJLaXQ6OlVzZXJNZWRpYVBl
cm1pc3Npb25DaGVja1Byb3h5JiByZXF1ZXN0KSB7IHJlcXVlc3QuZGVueSgpOyB9CiAgICAgdmly
dHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdl
YktpdDo6V2ViUGFnZVByb3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBGdW5jdGlvbjx2b2lkKGJvb2wp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsgfQogICAg
IHZpcnR1YWwgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2Vzc0NvbmZpcm0oV2ViS2l0OjpXZWJQYWdl
UHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJs
ZURvbWFpbiYgcmVxdWVzdGluZ0RvbWFpbiwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21h
aW4mIGN1cnJlbnREb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDViMjdmMThlNjJiYTU5NjkwNGY3
NjhiOGM1ZmM2NzU1MzBmNjg5YzAuLmMwMmJmODkyZDhjMmI1ODkxOTAzYmU5NjYwOWRlYjdiZmQ3
YmFkNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpA
QCAtNDQsNyArNDQsNiBAQAogI2ltcG9ydCAiV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmgiCiAj
aW1wb3J0ICJXS1N0b3JhZ2VBY2Nlc3NBbGVydC5oIgogI2ltcG9ydCAiV0tVSURlbGVnYXRlUHJp
dmF0ZS5oIgotI2ltcG9ydCAiV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQuaCIKICNpbXBv
cnQgIldLV2ViVmlld0NvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3
SW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oIgpAQCAtODk2
LDYgKzg5NSwxNCBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWRDaGFuZ2VGb250QXR0
cmlidXRlcyhjb25zdCBXZWJDb3JlOjpGb250QXR0cmlidXRlcwogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiBzdGF0aWMgdm9pZCByZXF1ZXN0VXNlck1lZGlhQXV0aG9yaXphdGlvbkZvckZyYW1l
KGNvbnN0IFdlYkZyYW1lUHJveHkmIGZyYW1lLCBBUEk6OlNlY3VyaXR5T3JpZ2luJiB0b3BMZXZl
bE9yaWdpbiwgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYgcmVxdWVzdCwgaWQgPFdL
VUlEZWxlZ2F0ZVByaXZhdGU+IGRlbGVnYXRlLCBXS1dlYlZpZXcmIHdlYlZpZXcpCiB7CisgICAg
Ym9vbCByZXNwb25kc1RvUmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb24gPSBbZGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpyZXF1ZXN0TWVkaWFDYXB0
dXJlQXV0aG9yaXphdGlvbjpkZWNpc2lvbkhhbmRsZXI6KV07CisgICAgYm9vbCByZXNwb25kc1Rv
UmVxdWVzdFVzZXJNZWRpYUF1dGhvcml6YXRpb25Gb3JEZXZpY2VzID0gW2RlbGVnYXRlIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cmVxdWVzdFVzZXJNZWRpYUF1dGhvcml6
YXRpb25Gb3JEZXZpY2VzOnVybDptYWluRnJhbWVVUkw6ZGVjaXNpb25IYW5kbGVyOildOworCisg
ICAgaWYgKCFyZXNwb25kc1RvUmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb24gJiYgIXJl
c3BvbmRzVG9SZXF1ZXN0VXNlck1lZGlhQXV0aG9yaXphdGlvbkZvckRldmljZXMpIHsKKyAgICAg
ICAgcmVxdWVzdC5kb0RlZmF1bHRBY3Rpb24oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIGF1dG8gY2hlY2tlciA9IENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShk
ZWxlZ2F0ZSwgQHNlbGVjdG9yKF93ZWJWaWV3OnJlcXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0
aW9uOmRlY2lzaW9uSGFuZGxlcjopKTsKICAgICBhdXRvIGRlY2lzaW9uSGFuZGxlciA9IG1ha2VC
bG9ja1B0cihbcHJvdGVjdGVkUmVxdWVzdCA9IG1ha2VSZWYocmVxdWVzdCksIGNoZWNrZXIgPSBX
VEZNb3ZlKGNoZWNrZXIpXShCT09MIGF1dGhvcml6ZWQpIHsKICAgICAgICAgaWYgKGNoZWNrZXIt
PmNvbXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQpAQCAtOTIxLDE1ICs5MjgsNiBAQCBz
dGF0aWMgdm9pZCByZXF1ZXN0VXNlck1lZGlhQXV0aG9yaXphdGlvbkZvckZyYW1lKGNvbnN0IFdl
YkZyYW1lUHJveHkmIGZyYW1lLCBBUAogICAgICAgICBBU1NFUlQoIShkZXZpY2VzICYgX1dLQ2Fw
dHVyZURldmljZUNhbWVyYSkpOwogICAgIH0KIAotICAgIGJvb2wgcmVzcG9uZHNUb1JlcXVlc3RN
ZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoX3dlYlZpZXc6cmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb246ZGVjaXNp
b25IYW5kbGVyOildOwotICAgIGJvb2wgcmVzcG9uZHNUb1JlcXVlc3RVc2VyTWVkaWFBdXRob3Jp
emF0aW9uRm9yRGV2aWNlcyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJWaWV3OnJlcXVlc3RVc2VyTWVkaWFBdXRob3JpemF0aW9uRm9yRGV2aWNlczp1cmw6bWFp
bkZyYW1lVVJMOmRlY2lzaW9uSGFuZGxlcjopXTsKLSAgICBpZiAoIXJlcXVlc3QucmVxdWlyZXNE
aXNwbGF5Q2FwdHVyZSgpICYmICFyZXNwb25kc1RvUmVxdWVzdFVzZXJNZWRpYUF1dGhvcml6YXRp
b25Gb3JEZXZpY2VzICYmICFyZXNwb25kc1RvUmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRp
b24pIHsKLSAgICAgICAgcHJlc2VudFVzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydCgmd2ViVmll
dywgdG9wTGV2ZWxPcmlnaW4sIGRldmljZXMsIFtkZWNpc2lvbkhhbmRsZXIgPSBXVEZNb3ZlKGRl
Y2lzaW9uSGFuZGxlcildKGJvb2wgYXV0aG9yaXplZCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICBk
ZWNpc2lvbkhhbmRsZXIoYXV0aG9yaXplZCk7Ci0gICAgICAgIH0pOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCiAgICAgLy8gRklYTUU6IFByb3ZpZGUgYSBzcGVjaWZpYyBkZWxlZ2F0ZSBmb3Ig
ZGlzcGxheSBjYXB0dXJlLgogICAgIGlmICghcmVxdWVzdC5yZXF1aXJlc0Rpc3BsYXlDYXB0dXJl
KCkgJiYgcmVzcG9uZHNUb1JlcXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uKSB7CiAgICAg
ICAgIFtkZWxlZ2F0ZSBfd2ViVmlldzomd2ViVmlldyByZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9y
aXphdGlvbjpkZXZpY2VzIGRlY2lzaW9uSGFuZGxlcjpkZWNpc2lvbkhhbmRsZXIuZ2V0KCldOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdhZGZmOTZiZWU3M2Jh
YjFiMjY2OTA3ZmJiNzAxNzAwZDgyYzE1MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkubW0KQEAg
LTAsMCArMSwxMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQg
IlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaCIKKworI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisKKyNpbXBvcnQgIlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
LmgiCisjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCA8V2ViQ29yZS9Mb2Nh
bGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KKyNpbXBvcnQgPHd0Zi9V
UkxIZWxwZXJzLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMgTlNTdHJpbmcqIHZp
c2libGVEb21haW4oY29uc3QgU3RyaW5nJiBob3N0KQoreworICAgIGF1dG8gZG9tYWluID0gV1RG
OjpVUkxIZWxwZXJzOjp1c2VyVmlzaWJsZVVSTChob3N0LnV0ZjgoKSk7CisgICAgcmV0dXJuIHN0
YXJ0c1dpdGhMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZG9tYWluLCAid3d3LiIpID8gZG9tYWlu
LnN1YnN0cmluZyg0KSA6IGRvbWFpbjsKK30KKworc3RhdGljIE5TU3RyaW5nICphbGVydE1lc3Nh
Z2VUZXh0KGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiBvcmlnaW4sIGJvb2wgc2hvdWxk
QXNrVXNlckZvckFjY2Vzc1RvTWljcm9waG9uZSwgYm9vbCBzaG91bGRBc2tVc2VyRm9yQWNjZXNz
VG9DYW1lcmEpCit7CisgICAgaWYgKG9yaWdpbi5wcm90b2NvbCgpICE9ICJodHRwIiAmJiBvcmln
aW4ucHJvdG9jb2woKSAhPSAiaHR0cHMiKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgaWYg
KHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb0NhbWVyYSAmJiBzaG91bGRBc2tVc2VyRm9yQWNjZXNz
VG9NaWNyb3Bob25lKQorICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6
V0VCX1VJX05TU1RSSU5HKEAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgY2FtZXJhIGFuZCBt
aWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtZWRpYSBwcm9tcHQiKSwgdmlzaWJsZURv
bWFpbihvcmlnaW4uaG9zdCgpKV07CisgICAgaWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb0Nh
bWVyYSkKKyAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9O
U1NUUklORyhAIkFsbG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGNhbWVyYT8iLCBAIk1lc3NhZ2Ug
Zm9yIHVzZXIgY2FtZXJhIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9z
dCgpKV07CisgICAgaWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb01pY3JvcGhvbmUpCisgICAg
ICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkcoQCJB
bGxvdyDigJwlQOKAnSB0byB1c2UgeW91ciBtaWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3IgdXNl
ciBtaWNyb3Bob25lIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9zdCgp
KV07CisgICAgcmV0dXJuIG5pbDsKK30KKwordm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5Ojpkb0RlZmF1bHRBY3Rpb24oKQoreworICAgIEFTU0VSVChtX21hbmFnZXIpOworICAg
IGlmICghbV9tYW5hZ2VyKSB7CisgICAgICAgIGRlbnkoKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBhdXRvICp3ZWJWaWV3ID0gZnJvbVdlYlBhZ2VQcm94eShtX21hbmFnZXItPnBhZ2Uo
KSk7CisgICAgaWYgKCF3ZWJWaWV3KSB7CisgICAgICAgIGRlbnkoKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBpZiAocmVxdWlyZXNEaXNwbGF5Q2FwdHVyZSgpKSB7CisgICAgICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQgZ2V0RGlzcGxheU1lZGlhIHByb21wdCwgZm9yIG5vdyBkZW55Lgor
ICAgICAgICBkZW55KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvICphbGVy
dFRpdGxlID0gYWxlcnRNZXNzYWdlVGV4dCh0b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmlnaW4o
KSwgcmVxdWlyZXNBdWRpb0NhcHR1cmUoKSwgcmVxdWlyZXNWaWRlb0NhcHR1cmUoKSk7CisgICAg
aWYgKCFhbGVydFRpdGxlKSB7CisgICAgICAgIGRlbnkoKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGF1dG8gY29tcGxldGlvbkJsb2NrID0gbWFrZUJsb2NrUHRyKFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldKGJvb2wgc2hvdWxkQWxsb3cpIG11dGFibGUgewor
ICAgICAgICBpZiAoIXNob3VsZEFsbG93KQorICAgICAgICAgICAgZGVueSgpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBhbGxvdygpOworICAgIH0pOworCisgICAgTlNTdHJpbmcgKmFsbG93
QnV0dG9uU3RyaW5nID0gV0VCX1VJX1NUUklOR19LRVkoQCJBbGxvdyIsICJBbGxvdyAodXNlcm1l
ZGlhKSIsIEAiQWxsb3cgYnV0dG9uIHRpdGxlIGluIHVzZXIgbWVkaWEgcHJvbXB0Iik7CisgICAg
TlNTdHJpbmcgKmRvTm90QWxsb3dCdXR0b25TdHJpbmcgPSBXRUJfVUlfU1RSSU5HX0tFWShAIkRv
buKAmXQgQWxsb3ciLCAiRG9u4oCZdCBBbGxvdyAodXNlcm1lZGlhKSIsIEAiRGlzYWxsb3cgYnV0
dG9uIHRpdGxlIGluIHVzZXIgbWVkaWEgcHJvbXB0Iik7CisKKyNpZiBQTEFURk9STShNQUMpCisg
ICAgYXV0byBhbGVydCA9IGFkb3B0TlMoW05TQWxlcnQgbmV3XSk7CisgICAgW2FsZXJ0IHNldE1l
c3NhZ2VUZXh0OmFsZXJ0VGl0bGVdOworICAgIFthbGVydCBhZGRCdXR0b25XaXRoVGl0bGU6YWxs
b3dCdXR0b25TdHJpbmddOworICAgIFthbGVydCBhZGRCdXR0b25XaXRoVGl0bGU6ZG9Ob3RBbGxv
d0J1dHRvblN0cmluZ107CisgICAgW2FsZXJ0IGJlZ2luU2hlZXRNb2RhbEZvcldpbmRvdzp3ZWJW
aWV3LndpbmRvdyBjb21wbGV0aW9uSGFuZGxlcjpbY29tcGxldGlvbkJsb2NrXShOU01vZGFsUmVz
cG9uc2UgcmV0dXJuQ29kZSkgeworICAgICAgICBhdXRvIHNob3VsZEFsbG93ID0gcmV0dXJuQ29k
ZSA9PSBOU0FsZXJ0Rmlyc3RCdXR0b25SZXR1cm47CisgICAgICAgIGNvbXBsZXRpb25CbG9jayhz
aG91bGRBbGxvdyk7CisgICAgfV07CisjZWxzZQorICAgIFVJQWxlcnRDb250cm9sbGVyKiBhbGVy
dCA9IFtVSUFsZXJ0Q29udHJvbGxlciBhbGVydENvbnRyb2xsZXJXaXRoVGl0bGU6YWxlcnRUaXRs
ZSBtZXNzYWdlOm5pbCBwcmVmZXJyZWRTdHlsZTpVSUFsZXJ0Q29udHJvbGxlclN0eWxlQWxlcnRd
OworICAgIFVJQWxlcnRBY3Rpb24qIGFsbG93QWN0aW9uID0gW1VJQWxlcnRBY3Rpb24gYWN0aW9u
V2l0aFRpdGxlOmFsbG93QnV0dG9uU3RyaW5nIHN0eWxlOlVJQWxlcnRBY3Rpb25TdHlsZUNhbmNl
bCBoYW5kbGVyOltjb21wbGV0aW9uQmxvY2tdKFVJQWxlcnRBY3Rpb24gKmFjdGlvbikgeworICAg
ICAgICBjb21wbGV0aW9uQmxvY2sodHJ1ZSk7CisgICAgfV07CisKKyAgICBVSUFsZXJ0QWN0aW9u
KiBkb05vdEFsbG93QWN0aW9uID0gW1VJQWxlcnRBY3Rpb24gYWN0aW9uV2l0aFRpdGxlOmRvTm90
QWxsb3dCdXR0b25TdHJpbmcgc3R5bGU6VUlBbGVydEFjdGlvblN0eWxlRGVmYXVsdCBoYW5kbGVy
Oltjb21wbGV0aW9uQmxvY2tdKFVJQWxlcnRBY3Rpb24gKmFjdGlvbikgeworICAgICAgICBjb21w
bGV0aW9uQmxvY2soZmFsc2UpOworICAgIH1dOworCisgICAgW2FsZXJ0IGFkZEFjdGlvbjpkb05v
dEFsbG93QWN0aW9uXTsKKyAgICBbYWxlcnQgYWRkQWN0aW9uOmFsbG93QWN0aW9uXTsKKworICAg
IFtbVUlWaWV3Q29udHJvbGxlciBfdmlld0NvbnRyb2xsZXJGb3JGdWxsU2NyZWVuUHJlc2VudGF0
aW9uRnJvbVZpZXc6d2ViVmlld10gcHJlc2VudFZpZXdDb250cm9sbGVyOmFsZXJ0IGFuaW1hdGVk
OllFUyBjb21wbGV0aW9uOm5pbF07CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbHNlCisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0UHJveHk6OmRvRGVmYXVsdEFjdGlvbigpCit7CisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Cit9CisKK30KKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNz
QWxlcnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVy
ZUFjY2Vzc0FsZXJ0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNhN2Q0ZmU2Y2Nh
NDg5NWY0NzAyYTc4MjBjNjM0NjZhOTQyMmJhODUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tVc2Vy
TWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0K
LSNpbXBvcnQgIldLV2ViVmlld1ByaXZhdGUuaCIKLSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0K
LUBjbGFzcyBXS1dlYlZpZXc7Ci0KLW5hbWVzcGFjZSBBUEkgewotY2xhc3MgU2VjdXJpdHlPcmln
aW47Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi12b2lkIHByZXNlbnRVc2VyTWVkaWFDYXB0
dXJlQWNjZXNzQWxlcnQoV0tXZWJWaWV3ICosIEFQSTo6U2VjdXJpdHlPcmlnaW4mLCBfV0tDYXB0
dXJlRGV2aWNlcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7Ci0KLX0KLQotI2Vu
ZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0
Lm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGFiYTJiZTBjNDY0ZDA5M2E2Mjdj
ZmE5NjM5MGM2MTgwYmI5MDI0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVy
ZUFjY2Vzc0FsZXJ0Lm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTA4ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIldLVXNlck1lZGlhQ2FwdHVyZUFjY2Vz
c0FsZXJ0LmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW1wb3J0ICJXS1dlYlZp
ZXdJbnRlcm5hbC5oIgotI2ltcG9ydCAiV0tXZWJWaWV3UHJpdmF0ZS5oIgotI2ltcG9ydCAiV2Vi
UGFnZVByb3h5LmgiCi0jaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KLSNpbXBv
cnQgPHd0Zi9CbG9ja1B0ci5oPgotI2ltcG9ydCA8d3RmL1VSTEhlbHBlcnMuaD4KLSNpbXBvcnQg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotc3RhdGljIE5T
U3RyaW5nKiB2aXNpYmxlRG9tYWluKGNvbnN0IFN0cmluZyYgaG9zdCkKLXsKLSAgICBhdXRvIGRv
bWFpbiA9IFdURjo6VVJMSGVscGVyczo6dXNlclZpc2libGVVUkwoaG9zdC51dGY4KCkpOwotICAg
IHJldHVybiBzdGFydHNXaXRoTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRvbWFpbiwgInd3dy4i
KSA/IGRvbWFpbi5zdWJzdHJpbmcoNCkgOiBkb21haW47Ci19Ci0KLXN0YXRpYyBOU1N0cmluZyAq
YWxlcnRNZXNzYWdlVGV4dChBUEk6OlNlY3VyaXR5T3JpZ2luJiB0b3BMZXZlbE9yaWdpbiwgX1dL
Q2FwdHVyZURldmljZXMgZGV2aWNlcykKLXsKLSAgICBib29sIHNob3VsZEFza1VzZXJGb3JBY2Nl
c3NUb0NhbWVyYSA9IGRldmljZXMgJiBfV0tDYXB0dXJlRGV2aWNlQ2FtZXJhOwotICAgIGJvb2wg
c2hvdWxkQXNrVXNlckZvckFjY2Vzc1RvTWljcm9waG9uZSA9IGRldmljZXMgJiBfV0tDYXB0dXJl
RGV2aWNlTWljcm9waG9uZTsKLQotICAgIGF1dG8mIG9yaWdpbiA9IHRvcExldmVsT3JpZ2luLnNl
Y3VyaXR5T3JpZ2luKCk7Ci0gICAgaWYgKG9yaWdpbi5wcm90b2NvbCgpICE9ICJodHRwIiAmJiBv
cmlnaW4ucHJvdG9jb2woKSAhPSAiaHR0cHMiKQotICAgICAgICByZXR1cm4gbmlsOwotCi0gICAg
aWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb0NhbWVyYSAmJiBzaG91bGRBc2tVc2VyRm9yQWNj
ZXNzVG9NaWNyb3Bob25lKQotICAgICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3Jt
YXQ6V0VCX1VJX05TU1RSSU5HKEAiQWxsb3cg4oCcJUDigJ0gdG8gdXNlIHlvdXIgY2FtZXJhIGFu
ZCBtaWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3IgdXNlciBtZWRpYSBwcm9tcHQiKSwgdmlzaWJs
ZURvbWFpbihvcmlnaW4uaG9zdCgpKV07Ci0gICAgaWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NU
b0NhbWVyYSkKLSAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9V
SV9OU1NUUklORyhAIkFsbG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGNhbWVyYT8iLCBAIk1lc3Nh
Z2UgZm9yIHVzZXIgY2FtZXJhIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4u
aG9zdCgpKV07Ci0gICAgaWYgKHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb01pY3JvcGhvbmUpCi0g
ICAgICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkco
QCJBbGxvdyDigJwlQOKAnSB0byB1c2UgeW91ciBtaWNyb3Bob25lPyIsIEAiTWVzc2FnZSBmb3Ig
dXNlciBtaWNyb3Bob25lIGFjY2VzcyBwcm9tcHQiKSwgdmlzaWJsZURvbWFpbihvcmlnaW4uaG9z
dCgpKV07Ci0gICAgcmV0dXJuIG5pbDsKLX0KLQotdm9pZCBwcmVzZW50VXNlck1lZGlhQ2FwdHVy
ZUFjY2Vzc0FsZXJ0KFdLV2ViVmlldyAqd2ViVmlldywgQVBJOjpTZWN1cml0eU9yaWdpbiYgdG9w
TGV2ZWxPcmlnaW4sIF9XS0NhcHR1cmVEZXZpY2VzIGRldmljZXMsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgYXV0byAqYWxlcnRUaXRs
ZSA9IGFsZXJ0TWVzc2FnZVRleHQodG9wTGV2ZWxPcmlnaW4sIGRldmljZXMpOwotICAgIGlmICgh
YWxlcnRUaXRsZSkgewotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBhdXRvIGNvbXBsZXRpb25CbG9jayA9IG1ha2VCbG9ja1B0
cihbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBz
aG91bGRBbGxvdykgbXV0YWJsZSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHNob3VsZEFs
bG93KTsKLSAgICB9KTsKLQotICAgIE5TU3RyaW5nICphbGxvd0J1dHRvblN0cmluZyA9IFdFQl9V
SV9TVFJJTkdfS0VZKEAiQWxsb3ciLCAiQWxsb3cgKHVzZXJtZWRpYSkiLCBAIkFsbG93IGJ1dHRv
biB0aXRsZSBpbiB1c2VyIG1lZGlhIHByb21wdCIpOwotICAgIE5TU3RyaW5nICpkb05vdEFsbG93
QnV0dG9uU3RyaW5nID0gV0VCX1VJX1NUUklOR19LRVkoQCJEb27igJl0IEFsbG93IiwgIkRvbuKA
mXQgQWxsb3cgKHVzZXJtZWRpYSkiLCBAIkRpc2FsbG93IGJ1dHRvbiB0aXRsZSBpbiB1c2VyIG1l
ZGlhIHByb21wdCIpOwotCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIGF1dG8gYWxlcnQgPSBhZG9w
dE5TKFtOU0FsZXJ0IG5ld10pOwotICAgIFthbGVydCBzZXRNZXNzYWdlVGV4dDphbGVydFRpdGxl
XTsKLSAgICBbYWxlcnQgYWRkQnV0dG9uV2l0aFRpdGxlOmFsbG93QnV0dG9uU3RyaW5nXTsKLSAg
ICBbYWxlcnQgYWRkQnV0dG9uV2l0aFRpdGxlOmRvTm90QWxsb3dCdXR0b25TdHJpbmddOwotICAg
IFthbGVydCBiZWdpblNoZWV0TW9kYWxGb3JXaW5kb3c6d2ViVmlldy53aW5kb3cgY29tcGxldGlv
bkhhbmRsZXI6W2NvbXBsZXRpb25CbG9ja10oTlNNb2RhbFJlc3BvbnNlIHJldHVybkNvZGUpIHsK
LSAgICAgICAgYXV0byBzaG91bGRBbGxvdyA9IHJldHVybkNvZGUgPT0gTlNBbGVydEZpcnN0QnV0
dG9uUmV0dXJuOwotICAgICAgICBjb21wbGV0aW9uQmxvY2soc2hvdWxkQWxsb3cpOwotICAgIH1d
OwotI2Vsc2UKLSAgICBVSUFsZXJ0Q29udHJvbGxlciogYWxlcnQgPSBbVUlBbGVydENvbnRyb2xs
ZXIgYWxlcnRDb250cm9sbGVyV2l0aFRpdGxlOmFsZXJ0VGl0bGUgbWVzc2FnZTpuaWwgcHJlZmVy
cmVkU3R5bGU6VUlBbGVydENvbnRyb2xsZXJTdHlsZUFsZXJ0XTsKLSAgICBVSUFsZXJ0QWN0aW9u
KiBhbGxvd0FjdGlvbiA9IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhUaXRsZTphbGxvd0J1dHRv
blN0cmluZyBzdHlsZTpVSUFsZXJ0QWN0aW9uU3R5bGVDYW5jZWwgaGFuZGxlcjpbY29tcGxldGlv
bkJsb2NrXShVSUFsZXJ0QWN0aW9uICphY3Rpb24pIHsKLSAgICAgICAgY29tcGxldGlvbkJsb2Nr
KHRydWUpOwotICAgIH1dOwotCi0gICAgVUlBbGVydEFjdGlvbiogZG9Ob3RBbGxvd0FjdGlvbiA9
IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhUaXRsZTpkb05vdEFsbG93QnV0dG9uU3RyaW5nIHN0
eWxlOlVJQWxlcnRBY3Rpb25TdHlsZURlZmF1bHQgaGFuZGxlcjpbY29tcGxldGlvbkJsb2NrXShV
SUFsZXJ0QWN0aW9uICphY3Rpb24pIHsKLSAgICAgICAgY29tcGxldGlvbkJsb2NrKGZhbHNlKTsK
LSAgICB9XTsKLQotICAgIFthbGVydCBhZGRBY3Rpb246ZG9Ob3RBbGxvd0FjdGlvbl07Ci0gICAg
W2FsZXJ0IGFkZEFjdGlvbjphbGxvd0FjdGlvbl07Ci0KLSAgICBbW1VJVmlld0NvbnRyb2xsZXIg
X3ZpZXdDb250cm9sbGVyRm9yRnVsbFNjcmVlblByZXNlbnRhdGlvbkZyb21WaWV3OndlYlZpZXdd
IHByZXNlbnRWaWV3Q29udHJvbGxlcjphbGVydCBhbmltYXRlZDpZRVMgY29tcGxldGlvbjpuaWxd
OwotI2VuZGlmCi19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAKaW5kZXggOTY2ZmRhZDVj
ZjBkZDA5Yjk4ZmY1NTYxMDNlMjA2YWExMTc1Yzk2My4uZGRiMGQ0NzBlZGZhMWEwNTQ2ZWIwZmRh
ODIzNzIzMDgyNzBlNTkwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAKQEAgLTk1LDYgKzk1LDEz
IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6ZGVueShVc2VyTWVkaWFB
Y2Nlc3NEZW5pYWxSZWFzb24gcmVhc29uKQogICAgIGludmFsaWRhdGUoKTsKIH0KIAorI2lmICFQ
TEFURk9STShDT0NPQSkKK3ZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6ZG9E
ZWZhdWx0QWN0aW9uKCkKK3sKKyAgICBkZW55KCk7Cit9CisjZW5kaWYKKwogdm9pZCBVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjppbnZhbGlkYXRlKCkKIHsKICAgICBtX21hbmFnZXIg
PSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oCmluZGV4IDY3NDA4MDVjYjEzZDFiZjNhNDE3MjY4
YjJiMzY1ZjBiY2U0ZWZjMzQuLjY1Mjk2ZjNhMGU5Mzg0YmEzNmZkZDU5ZDFkZjMwMzdmMWE2ZjVk
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgKQEAgLTQ3LDYgKzQ3LDggQEAgcHVibGljOgogICAgIGVu
dW0gY2xhc3MgVXNlck1lZGlhQWNjZXNzRGVuaWFsUmVhc29uIHsgTm9Db25zdHJhaW50cywgVXNl
ck1lZGlhRGlzYWJsZWQsIE5vQ2FwdHVyZURldmljZXMsIEludmFsaWRDb25zdHJhaW50LCBIYXJk
d2FyZUVycm9yLCBQZXJtaXNzaW9uRGVuaWVkLCBPdGhlckZhaWx1cmUgfTsKICAgICB2b2lkIGRl
bnkoVXNlck1lZGlhQWNjZXNzRGVuaWFsUmVhc29uID0gVXNlck1lZGlhQWNjZXNzRGVuaWFsUmVh
c29uOjpVc2VyTWVkaWFEaXNhYmxlZCk7CiAKKyAgICB2b2lkIGRvRGVmYXVsdEFjdGlvbigpOwor
CiAgICAgdm9pZCBpbnZhbGlkYXRlKCk7CiAgICAgYm9vbCBpc1BlbmRpbmcoKSBjb25zdCB7IHJl
dHVybiBtX21hbmFnZXI7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNTliOTkwN2M3ZmM5Njc3YTk3MzJjYWZmMGZlMDA4OWIwZTQ5
YzE0MC4uYjhkMjU0OTFjYWFmYjgyNDNkZjAwY2YzNjY2ZGRlNmE2NTA5NDVlMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05MDIsNyAr
OTAyLDYgQEAKIAkJNDEzMDc1QjQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVB
ODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLzsgfTsKIAkJNDEzQ0NE
NTAyMERFQkM3NDAwNjVBMjFBIC8qIGNvbS5nb29nbGUuZ29vZ2xldGFsa2Jyb3dzZXJwbHVnaW4u
c2IgaW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDEzQ0NENEYyMERFQkMyRjAwNjVBMjFBIC8qIGNvbS5nb29nbGUuZ29v
Z2xldGFsa2Jyb3dzZXJwbHVnaW4uc2IgKi87IH07CiAJCTQxNDM3NTFDMjBFQUVBMkQwMEZBRDA2
QyAvKiBjbi5taWNyb2RvbmUuY21iLnNhZmFyaS5zYiBpbiBDb3B5IFBsdWctaW4gU2FuZGJveCBQ
cm9maWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQzNzUxQjIwRUFF
QTFFMDBGQUQwNkMgLyogY24ubWljcm9kb25lLmNtYi5zYWZhcmkuc2IgKi87IH07Ci0JCTQxNDdE
QzY5MjUxOUVDMzMwMDIxNEVFNyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDdEQzY3MjUx
OUUyOUQwMDIxNEVFNyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSAqLzsgfTsK
IAkJNDE0REQzNzkyMEJGNDNGNTAwNjk1OUZCIC8qIGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3Bj
NjQuc2IgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
NEREMzc4MjBCRjQzRUEwMDY5NTlGQiAvKiBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0LnNi
ICovOyB9OwogCQk0MTRERDM3QTIwQkY0OUE1MDA2OTU5RkIgLyogY29tLmNpc2NvLndlYmV4LnBs
dWdpbi5ncGM2NC5zYiBpbiBDb3B5IFBsdWctaW4gU2FuZGJveCBQcm9maWxlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTRERDM3ODIwQkY0M0VBMDA2OTU5RkIgLyogY29t
LmNpc2NvLndlYmV4LnBsdWdpbi5ncGM2NC5zYiAqLzsgfTsKIAkJNDE1N0U0QjAyMEUyRUNERjAw
QTZDMEQ3IC8qIGNvbS5nb29nbGUubzFkYnJvd3NlcnBsdWdpbi5zYiBpbiBDb3B5IFBsdWctaW4g
U2FuZGJveCBQcm9maWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTU3
RTRBRjIwRTJFQzk4MDBBNkMwRDcgLyogY29tLmdvb2dsZS5vMWRicm93c2VycGx1Z2luLnNiICov
OyB9OwpAQCAtMzM5MCw2ICszMzg5LDcgQEAKIAkJNDExOERDMUIyMUU2RDExQTAwREUwNEM3IC8q
IFdlYnNpdGVEYXRhU3RvcmVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2Vic2l0ZURhdGFTdG9yZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTFBOEREOTIwRERCNjA1MDA2MEQzNEYgLyogV0tNb2NrTWVkaWFEZXZpY2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tNb2NrTWVkaWFEZXZpY2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExQThEREEyMEREQjYwNTAwNjBEMzRGIC8qIFdLTW9ja01l
ZGlhRGV2aWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTW9j
a01lZGlhRGV2aWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDExQTlBOUEy
NTFERTkzRTAwODA3RDdFIC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTFCMjI2MjFFMzcxMjQ0MDA0RjczNjMgLyog
TGliV2ViUlRDTmV0d29yay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJX
ZWJSVENOZXR3b3JrLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjg3RDRCMjI1QzA1QzQwMDlBM0UyNiAv
KiBXZWJTb2NrZXRUYXNrQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXZWJTb2NrZXRUYXNrQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxMjg3RDRDMjI1QzA1QzUwMDlBM0UyNiAvKiBXZWJTb2NrZXRUYXNrQ29jb2EuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU29ja2V0VGFza0NvY29hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNDEyLDggKzM0MTIsNiBAQAogCQk0MTM1RkJEMDFG
NEZCN0YyMDA3NEM0N0IgLyogQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNDQ0Q0RjIwREVCQzJGMDA2NUEyMUEgLyogY29tLmdv
b2dsZS5nb29nbGV0YWxrYnJvd3NlcnBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBj
b20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTQzNzUxQjIwRUFFQTFFMDBGQUQwNkMgLyogY24ubWljcm9kb25lLmNtYi5z
YWZhcmkuc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY24ubWljcm9kb25lLmNtYi5zYWZhcmku
c2I7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxNDdEQzY3MjUxOUUyOUQwMDIxNEVF
NyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk0MTQ3REM2ODI1MTlFMjlEMDAyMTRFRTcgLyogV0tVc2VyTWVkaWFDYXB0dXJl
QWNjZXNzQWxlcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxl
cnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0REQzNzgyMEJGNDNFQTAwNjk1
OUZCIC8qIGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2IgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gY29tLmNpc2NvLndlYmV4LnBsdWdpbi5ncGM2NC5zYjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDE1MEE1QTAyM0UwNkM5MTAwNTEyNjRBIC8qIEdQVVByb2Nlc3NTZXNzaW9u
UGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHUFVQcm9jZXNz
U2Vzc2lvblBhcmFtZXRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE1MTg1
MzUyMjI3MDRGNTAwNTQzMEM2IC8qIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZVdvcmtlckZldGNoVGFzay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjM2MSw2ICs2MzU5LDcgQEAKIAkJCQkxQUZFNDM2MzE4
QjZDMDgxMDA5QzdBNDggLyogVUlEZWxlZ2F0ZS5tbSAqLywKIAkJCQk0NjMyMzY4NjIzMTQ4MzNG
MDBBNDhGQTcgLyogVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5jcHAgKi8sCiAJCQkJNDYzMjM2ODUy
MzE0ODMzRjAwQTQ4RkE3IC8qIFVJUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAqLywKKwkJCQk0MTFB
OUE5QTI1MURFOTNFMDA4MDdEN0UgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5t
bSAqLywKIAkJCQlFNEU4NjQ4RTFCMTY3M0ZCMDBDODJGNDAgLyogVmVyc2lvbkNoZWNrcy5oICov
LAogCQkJCUU0RTg2NDhGMUIxNjczRkIwMEM4MkY0MCAvKiBWZXJzaW9uQ2hlY2tzLm1tICovLAog
CQkJCTUyRDVBMUFBMUM1NzQ5NEUwMERFMzRBMyAvKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHkuaCAqLywKQEAgLTYzOTMsOCArNjM5Miw2IEBACiAJCQkJMkQ3QUFGRDIxOEM4NjQwNjAwQTdB
Q0Q0IC8qIFdLV2ViVmlld0NvbnRlbnRQcm92aWRlci5oICovLAogCQkJCTJEQzZEOUMxMThDNDRB
NjEwMDQzQkFENCAvKiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5oICovLAogCQkJ
CTJEQzZEOUMyMThDNDRBNjEwMDQzQkFENCAvKiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdp
c3RyeS5tbSAqLywKLQkJCQk0MTQ3REM2ODI1MTlFMjlEMDAyMTRFRTcgLyogV0tVc2VyTWVkaWFD
YXB0dXJlQWNjZXNzQWxlcnQuaCAqLywKLQkJCQk0MTQ3REM2NzI1MTlFMjlEMDAyMTRFRTcgLyog
V0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQubW0gKi8sCiAJCQkJQzE3MTBDRjIyNEE3QkQw
MzAwRDdDMTEyIC8qIFhQQ0V2ZW50SGFuZGxlci5oICovLAogCQkJKTsKIAkJCXBhdGggPSBDb2Nv
YTsKQEAgLTEyOTc1LDcgKzEyOTcyLDYgQEAKIAkJCQkyRDExQjdCRjIxMjZBMjgzMDA2Rjg4Nzgg
LyogVW5pZmllZFNvdXJjZTU2LW1tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3QzEyMTI2
QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2U1Ny1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTJEMTFCN0MyMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlNTcuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJNDE0N0RDNjkyNTE5RUMzMzAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVy
ZUFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQxMUI3QzMyMTI2QTI4MzAwNkY4
ODc4IC8qIFVuaWZpZWRTb3VyY2U1OC1tbS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCN0M0
MjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNlNTguY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQxMUI3QzYyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2U1OS5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCBjZDM3ZTFhODEzMmEwNjMzYmJjODZmOWQwNDJjMWI5MTI3MTI3NTFmLi4wYzFhMGNjNGUx
NmQwYzI1NzQ3MTU0NWIyZmM1Y2FkYzk0YzQ3OWMwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDktMjUgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBkZWZh
dWx0IGJlaGF2aW9yIGZvciBnZXRVc2VyTWVkaWEgcmVxdWVzdHMgaW4gY2FzZSB3aGVyZSB0aGVy
ZSBpcyBubyBkZWxlZ2F0ZSBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNjk2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBjYW1lcmEgYW5kIG1pY3JvcGhvbmUgZW50aXRsZW1lbnRzIHRvIE1v
YmlsZU1pbmlCcm93c2VyLgorICAgICAgICBFeHBvc2UgbWVkaWFEZXZpY2VzIHRvIHdlYiBwYWdl
cy4KKworICAgICAgICAqIE1vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93c2VyL0luZm8u
cGxpc3Q6CisgICAgICAgICogTW9iaWxlTWluaUJyb3dzZXIvTW9iaWxlTWluaUJyb3dzZXJGcmFt
ZXdvcmsvV2ViVmlld0NvbnRyb2xsZXIubToKKyAgICAgICAgKC1bV2ViVmlld0NvbnRyb2xsZXIg
Y3JlYXRlV2ViVmlld10pOgorCiAyMDIwLTA5LTI0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNjc1MDIpOiBbR1RLXVtX
UEVdIGVwaGVtZXJhbCBXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIgaWdub3JlcyBUTFMgZXJyb3Jz
IGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1Rvb2xzL01vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1p
bmlCcm93c2VyL0luZm8ucGxpc3QgYi9Ub29scy9Nb2JpbGVNaW5pQnJvd3Nlci9Nb2JpbGVNaW5p
QnJvd3Nlci9JbmZvLnBsaXN0CmluZGV4IDZmMGY2ZmU5ZTNiN2M0N2MwMDhiMTFjNTM4MDRkN2Jl
M2U3YThkNGEuLjY1MWJhNTc0YzJkZTE4M2I5YzYwMTdlNzQ1NjFjNDBjZTM2NjU2Y2QgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL01vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93c2VyL0luZm8ucGxp
c3QKKysrIGIvVG9vbHMvTW9iaWxlTWluaUJyb3dzZXIvTW9iaWxlTWluaUJyb3dzZXIvSW5mby5w
bGlzdApAQCAtNTQsNSArNTQsMTEgQEAKIAkJPGtleT5OU0FsbG93c0FyYml0cmFyeUxvYWRzSW5X
ZWJDb250ZW50PC9rZXk+CiAJCTx0cnVlLz4KIAk8L2RpY3Q+CisgICAgPGtleT5jb20uYXBwbGUu
c2VjdXJpdHkuZGV2aWNlLmNhbWVyYTwva2V5PgorICAgIDx0cnVlLz4KKyAgICA8a2V5PmNvbS5h
cHBsZS5zZWN1cml0eS5kZXZpY2UubWljcm9waG9uZTwva2V5PgorICAgIDx0cnVlLz4KKyAgICA8
a2V5Pk5TQ2FtZXJhVXNhZ2VEZXNjcmlwdGlvbjwva2V5PgorICAgIDxzdHJpbmc+Q2FtZXJhIHVz
YWdlIGRlc2NyaXB0aW9uPC9zdHJpbmc+CiA8L2RpY3Q+CiA8L3BsaXN0PgpkaWZmIC0tZ2l0IGEv
VG9vbHMvTW9iaWxlTWluaUJyb3dzZXIvTW9iaWxlTWluaUJyb3dzZXJGcmFtZXdvcmsvV2ViVmll
d0NvbnRyb2xsZXIubSBiL1Rvb2xzL01vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93c2Vy
RnJhbWV3b3JrL1dlYlZpZXdDb250cm9sbGVyLm0KaW5kZXggZjFiNWVkZWQxY2YyNjE5MTVjZGVj
ZTU4NmI4YjlhYWU0ZDcxOTZmYi4uOGM0ODRlYzA3NjU3NWE5ODgxMDA4ZmQ0ZmU3ZjY5ODZhODI4
YTk0NSAxMDA2NDQKLS0tIGEvVG9vbHMvTW9iaWxlTWluaUJyb3dzZXIvTW9iaWxlTWluaUJyb3dz
ZXJGcmFtZXdvcmsvV2ViVmlld0NvbnRyb2xsZXIubQorKysgYi9Ub29scy9Nb2JpbGVNaW5pQnJv
d3Nlci9Nb2JpbGVNaW5pQnJvd3NlckZyYW1ld29yay9XZWJWaWV3Q29udHJvbGxlci5tCkBAIC0y
OCw2ICsyOCw3IEBACiAjaW1wb3J0ICJUYWJWaWV3Q29udHJvbGxlci5oIgogI2ltcG9ydCA8V2Vi
S2l0L1dLTmF2aWdhdGlvbi5oPgogI2ltcG9ydCA8V2ViS2l0L1dLTmF2aWdhdGlvbkRlbGVnYXRl
Lmg+CisjaW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4KICNpbXBvcnQgPFdl
YktpdC9XS1dlYlZpZXcuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9u
Lmg+CiAKQEAgLTE3NSw2ICsxNzYsOCBAQCAtICh2b2lkKWFkZFdlYlZpZXcKIC0gKFdLV2ViVmll
dyAqKWNyZWF0ZVdlYlZpZXcKIHsKICAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1
cmF0aW9uID0gW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XTsKKyAgICBjb25m
aWd1cmF0aW9uLnByZWZlcmVuY2VzLl9tZWRpYURldmljZXNFbmFibGVkID0gWUVTOworCiAgICAg
V0tXZWJWaWV3ICp3ZWJWaWV3ID0gW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6c2Vs
Zi53ZWJWaWV3Q29udGFpbmVyLmJvdW5kcyBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dOwog
ICAgIHdlYlZpZXcubmF2aWdhdGlvbkRlbGVnYXRlID0gc2VsZjsKICAgICB3ZWJWaWV3LmF1dG9y
ZXNpemluZ01hc2sgPSBVSVZpZXdBdXRvcmVzaXppbmdGbGV4aWJsZVdpZHRoIHwgVUlWaWV3QXV0
b3Jlc2l6aW5nRmxleGlibGVIZWlnaHQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409684</attachid>
            <date>2020-09-25 06:19:05 -0700</date>
            <delta_ts>2020-09-25 07:35:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216968-20200925151903.patch</filename>
            <type>text/plain</type>
            <size>30874</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkYjc1NjgyY2ExNjY4MjY5
NjdmZWNiNzMzMjgxN2RmYzkwMDRjMGYuLjdiZGFjZTk0NmUyZTVjNjhlYWYxNGQ5NjYxMjQyODIx
M2NiNGVjZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjAtMDktMjUgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBkZWZhdWx0IGJl
aGF2aW9yIGZvciBnZXRVc2VyTWVkaWEgcmVxdWVzdHMgaW4gY2FzZSB3aGVyZSB0aGVyZSBpcyBu
byBkZWxlZ2F0ZSBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNjk2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEluIGNhc2UgcGFnZSBVSURlbGVnYXRlIGlzIG5vdCBzZXQsIG1ha2UgdGhlIGdldFVz
ZXJNZWRpYSByZXF1ZXN0IGRvIGl0cyBkZWZhdWx0IGFjdGlvbi4KKyAgICAgICAgSW4gY2FzZSB0
aGVyZSBpcyBhIFVJRGVsZWdhdGUgYnV0IG5vIGdldFVzZXJNZWRpYSBzcGVjaWZpYyBkZWxlZ2F0
ZXMsIG1ha2UgdGhlIGdldFVzZXJNZWRpYSByZXF1ZXN0IGRvIGl0cyBkZWZhdWx0IGFjdGlvbi4K
KyAgICAgICAgRGVmYXVsdCBhY3Rpb24gaXMgZGVueSBmb3IgZ2V0RGlzcGxheU1lZGlhIGFuZCBm
b3Igbm9uIGNvY29hIHBvcnRzLgorICAgICAgICBGb3IgY29jb2EgcG9ydHMsIGEgcHJvbXB0IGlz
IHNob3duLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZCB3aXRoIE1pbmlCcm93c2VyIGFuZCBN
b2JpbGVNaW5pQnJvd3Nlci4KKworICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6
ZGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpyZXF1ZXN0VXNl
ck1lZGlhQXV0aG9yaXphdGlvbkZvckZyYW1lKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lm1tLgor
ICAgICAgICAoV2ViS2l0OjphbGVydE1lc3NhZ2VUZXh0KToKKyAgICAgICAgKFdlYktpdDo6VXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6ZG9EZWZhdWx0QWN0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OmRv
RGVmYXVsdEFjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0UHJveHkuaDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKwogMjAyMC0wOS0yNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjY3NTAyKTogW0dUS11bV1BFXSBlcGhlbWVyYWwg
V2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyIGlnbm9yZXMgVExTIGVycm9ycyBieSBkZWZhdWx0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggYWYyNGFhOTIwMTJhODQ5OWRkZmY2MWJjYzY3ZmNmYWNm
MTQ2YTk3OS4uMDQzM2Y2NTVlMDg3NTMxMTkzN2FmYzY5OWJmMTJkMzQyY2UyZTBiNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQv
U291cmNlc0NvY29hLnR4dApAQCAtMzg2LDYgKzM4Niw3IEBAIFVJUHJvY2Vzcy9Db2NvYS9UZXh0
Q2hlY2tpbmdDb250cm9sbGVyLm1tCiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQogVUlQ
cm9jZXNzL0NvY29hL1VJUmVtb3RlT2JqZWN0UmVnaXN0cnkuY3BwCiBVSVByb2Nlc3MvQ29jb2Ev
VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKK1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Lm1tCiBVSVByb2Nlc3MvQ29jb2EvVmVyc2lvbkNoZWNr
cy5tbQogVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQogVUlQ
cm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElVSUNsaWVudC5oCmluZGV4IGNlN2ZjMWFlMWZhOWJiNGM4MmE4ZDY3NDZjMjgxOTRh
NThiZWE5OTQuLjVhYTgxNWEyMjhlZTc0ZWU0MmFiYmQxMGQ0MzIwMzQyOGY1ODAwOTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCkBAIC0xMzgsNyArMTM4LDcg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHJ1bk9wZW5QYW5lbChXZWJLaXQ6OldlYlBh
Z2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSosIFdlYktpdDo6RnJhbWVJbmZvRGF0YSYm
LCBPcGVuUGFuZWxQYXJhbWV0ZXJzKiwgV2ViS2l0OjpXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5l
clByb3h5KikgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVjaWRlUG9saWN5
Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdl
YktpdDo6V2ViRnJhbWVQcm94eSYsIGNvbnN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSYsIEZ1bmN0
aW9uPHZvaWQoYm9vbCk+JikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGRlY2lkZVBvbGljeUZvclVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpX
ZWJGcmFtZVByb3h5JiwgU2VjdXJpdHlPcmlnaW4mLCBTZWN1cml0eU9yaWdpbiYsIFdlYktpdDo6
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYgcmVxdWVzdCkgeyByZXF1ZXN0LmRlbnko
KTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFNl
Y3VyaXR5T3JpZ2luJiwgU2VjdXJpdHlPcmlnaW4mLCBXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0UHJveHkmIHJlcXVlc3QpIHsgcmVxdWVzdC5kb0RlZmF1bHRBY3Rpb24oKTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBjaGVja1VzZXJNZWRpYVBlcm1pc3Npb25Gb3JPcmlnaW4oV2ViS2l0
OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OldlYkZyYW1lUHJveHkmLCBTZWN1cml0eU9yaWdpbiYs
IFNlY3VyaXR5T3JpZ2luJiwgV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eSYg
cmVxdWVzdCkgeyByZXF1ZXN0LmRlbnkoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkZWNpZGVQb2xp
Y3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXZWJLaXQ6OldlYlBhZ2VQcm94eSYs
IFNlY3VyaXR5T3JpZ2luJiwgRnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikgeyBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVz
dFN0b3JhZ2VBY2Nlc3NDb25maXJtKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJG
cmFtZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mIHJlcXVlc3RpbmdE
b21haW4sIGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiBjdXJyZW50RG9tYWluLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBs
ZXRpb25IYW5kbGVyKHRydWUpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5tbQppbmRleCA1YjI3ZjE4ZTYyYmE1OTY5MDRmNzY4YjhjNWZjNjc1NTMwZjY4OWMw
Li5jMDJiZjg5MmQ4YzJiNTg5MTkwM2JlOTY2MDlkZWI3YmZkN2JhZDQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KQEAgLTQ0LDcgKzQ0LDYgQEAKICNp
bXBvcnQgIldLU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tTdG9yYWdlQWNj
ZXNzQWxlcnQuaCIKICNpbXBvcnQgIldLVUlEZWxlZ2F0ZVByaXZhdGUuaCIKLSNpbXBvcnQgIldL
VXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0LmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdDb25maWd1
cmF0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCiAjaW1wb3J0
ICJXS1dpbmRvd0ZlYXR1cmVzSW50ZXJuYWwuaCIKQEAgLTg5Niw2ICs4OTUsMTQgQEAgdm9pZCBV
SURlbGVnYXRlOjpVSUNsaWVudDo6ZGlkQ2hhbmdlRm9udEF0dHJpYnV0ZXMoY29uc3QgV2ViQ29y
ZTo6Rm9udEF0dHJpYnV0ZXMKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogc3RhdGljIHZvaWQg
cmVxdWVzdFVzZXJNZWRpYUF1dGhvcml6YXRpb25Gb3JGcmFtZShjb25zdCBXZWJGcmFtZVByb3h5
JiBmcmFtZSwgQVBJOjpTZWN1cml0eU9yaWdpbiYgdG9wTGV2ZWxPcmlnaW4sIFVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0UHJveHkmIHJlcXVlc3QsIGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPiBk
ZWxlZ2F0ZSwgV0tXZWJWaWV3JiB3ZWJWaWV3KQogeworICAgIGJvb2wgcmVzcG9uZHNUb1JlcXVl
c3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3IoX3dlYlZpZXc6cmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb246ZGVj
aXNpb25IYW5kbGVyOildOworICAgIGJvb2wgcmVzcG9uZHNUb1JlcXVlc3RVc2VyTWVkaWFBdXRo
b3JpemF0aW9uRm9yRGV2aWNlcyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF93ZWJWaWV3OnJlcXVlc3RVc2VyTWVkaWFBdXRob3JpemF0aW9uRm9yRGV2aWNlczp1cmw6
bWFpbkZyYW1lVVJMOmRlY2lzaW9uSGFuZGxlcjopXTsKKworICAgIGlmICghcmVzcG9uZHNUb1Jl
cXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uICYmICFyZXNwb25kc1RvUmVxdWVzdFVzZXJN
ZWRpYUF1dGhvcml6YXRpb25Gb3JEZXZpY2VzKSB7CisgICAgICAgIHJlcXVlc3QuZG9EZWZhdWx0
QWN0aW9uKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBhdXRvIGNoZWNrZXIgPSBD
b21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUoZGVsZWdhdGUsIEBzZWxlY3Rvcihf
d2ViVmlldzpyZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9yaXphdGlvbjpkZWNpc2lvbkhhbmRsZXI6
KSk7CiAgICAgYXV0byBkZWNpc2lvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoW3Byb3RlY3RlZFJl
cXVlc3QgPSBtYWtlUmVmKHJlcXVlc3QpLCBjaGVja2VyID0gV1RGTW92ZShjaGVja2VyKV0oQk9P
TCBhdXRob3JpemVkKSB7CiAgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFuZGxlckhh
c0JlZW5DYWxsZWQoKSkKQEAgLTkyMSwxNSArOTI4LDYgQEAgc3RhdGljIHZvaWQgcmVxdWVzdFVz
ZXJNZWRpYUF1dGhvcml6YXRpb25Gb3JGcmFtZShjb25zdCBXZWJGcmFtZVByb3h5JiBmcmFtZSwg
QVAKICAgICAgICAgQVNTRVJUKCEoZGV2aWNlcyAmIF9XS0NhcHR1cmVEZXZpY2VDYW1lcmEpKTsK
ICAgICB9CiAKLSAgICBib29sIHJlc3BvbmRzVG9SZXF1ZXN0TWVkaWFDYXB0dXJlQXV0aG9yaXph
dGlvbiA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJl
cXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uOmRlY2lzaW9uSGFuZGxlcjopXTsKLSAgICBi
b29sIHJlc3BvbmRzVG9SZXF1ZXN0VXNlck1lZGlhQXV0aG9yaXphdGlvbkZvckRldmljZXMgPSBb
ZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpyZXF1ZXN0VXNl
ck1lZGlhQXV0aG9yaXphdGlvbkZvckRldmljZXM6dXJsOm1haW5GcmFtZVVSTDpkZWNpc2lvbkhh
bmRsZXI6KV07Ci0gICAgaWYgKCFyZXF1ZXN0LnJlcXVpcmVzRGlzcGxheUNhcHR1cmUoKSAmJiAh
cmVzcG9uZHNUb1JlcXVlc3RVc2VyTWVkaWFBdXRob3JpemF0aW9uRm9yRGV2aWNlcyAmJiAhcmVz
cG9uZHNUb1JlcXVlc3RNZWRpYUNhcHR1cmVBdXRob3JpemF0aW9uKSB7Ci0gICAgICAgIHByZXNl
bnRVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQoJndlYlZpZXcsIHRvcExldmVsT3JpZ2luLCBk
ZXZpY2VzLCBbZGVjaXNpb25IYW5kbGVyID0gV1RGTW92ZShkZWNpc2lvbkhhbmRsZXIpXShib29s
IGF1dGhvcml6ZWQpIG11dGFibGUgewotICAgICAgICAgICAgZGVjaXNpb25IYW5kbGVyKGF1dGhv
cml6ZWQpOwotICAgICAgICB9KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIC8vIEZJ
WE1FOiBQcm92aWRlIGEgc3BlY2lmaWMgZGVsZWdhdGUgZm9yIGRpc3BsYXkgY2FwdHVyZS4KICAg
ICBpZiAoIXJlcXVlc3QucmVxdWlyZXNEaXNwbGF5Q2FwdHVyZSgpICYmIHJlc3BvbmRzVG9SZXF1
ZXN0TWVkaWFDYXB0dXJlQXV0aG9yaXphdGlvbikgewogICAgICAgICBbZGVsZWdhdGUgX3dlYlZp
ZXc6JndlYlZpZXcgcmVxdWVzdE1lZGlhQ2FwdHVyZUF1dGhvcml6YXRpb246ZGV2aWNlcyBkZWNp
c2lvbkhhbmRsZXI6ZGVjaXNpb25IYW5kbGVyLmdldCgpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3YWRmZjk2YmVlNzNiYWIxYjI2NjkwN2ZiYjcwMTcwMGQ4
MmMxNTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Lm1tCkBAIC0wLDAgKzEsMTMxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdFByb3h5LmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW1wb3J0ICJV
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIgorI2ltcG9ydCAiV0tXZWJW
aWV3SW50ZXJuYWwuaCIKKyNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2lt
cG9ydCA8d3RmL0Jsb2NrUHRyLmg+CisjaW1wb3J0IDx3dGYvVVJMSGVscGVycy5oPgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworc3RhdGljIE5TU3RyaW5nKiB2aXNpYmxlRG9tYWluKGNvbnN0IFN0
cmluZyYgaG9zdCkKK3sKKyAgICBhdXRvIGRvbWFpbiA9IFdURjo6VVJMSGVscGVyczo6dXNlclZp
c2libGVVUkwoaG9zdC51dGY4KCkpOworICAgIHJldHVybiBzdGFydHNXaXRoTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGRvbWFpbiwgInd3dy4iKSA/IGRvbWFpbi5zdWJzdHJpbmcoNCkgOiBkb21h
aW47Cit9CisKK3N0YXRpYyBOU1N0cmluZyAqYWxlcnRNZXNzYWdlVGV4dChjb25zdCBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbiYgb3JpZ2luLCBib29sIHNob3VsZEFza1VzZXJGb3JBY2Nlc3NUb01p
Y3JvcGhvbmUsIGJvb2wgc2hvdWxkQXNrVXNlckZvckFjY2Vzc1RvQ2FtZXJhKQoreworICAgIGlm
IChvcmlnaW4ucHJvdG9jb2woKSAhPSAiaHR0cCIgJiYgb3JpZ2luLnByb3RvY29sKCkgIT0gImh0
dHBzIikKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIGlmIChzaG91bGRBc2tVc2VyRm9yQWNj
ZXNzVG9DYW1lcmEgJiYgc2hvdWxkQXNrVXNlckZvckFjY2Vzc1RvTWljcm9waG9uZSkKKyAgICAg
ICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9OU1NUUklORyhAIkFs
bG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGNhbWVyYSBhbmQgbWljcm9waG9uZT8iLCBAIk1lc3Nh
Z2UgZm9yIHVzZXIgbWVkaWEgcHJvbXB0IiksIHZpc2libGVEb21haW4ob3JpZ2luLmhvc3QoKSld
OworICAgIGlmIChzaG91bGRBc2tVc2VyRm9yQWNjZXNzVG9DYW1lcmEpCisgICAgICAgIHJldHVy
biBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkcoQCJBbGxvdyDigJwl
QOKAnSB0byB1c2UgeW91ciBjYW1lcmE/IiwgQCJNZXNzYWdlIGZvciB1c2VyIGNhbWVyYSBhY2Nl
c3MgcHJvbXB0IiksIHZpc2libGVEb21haW4ob3JpZ2luLmhvc3QoKSldOworICAgIGlmIChzaG91
bGRBc2tVc2VyRm9yQWNjZXNzVG9NaWNyb3Bob25lKQorICAgICAgICByZXR1cm4gW05TU3RyaW5n
IHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX05TU1RSSU5HKEAiQWxsb3cg4oCcJUDigJ0gdG8gdXNl
IHlvdXIgbWljcm9waG9uZT8iLCBAIk1lc3NhZ2UgZm9yIHVzZXIgbWljcm9waG9uZSBhY2Nlc3Mg
cHJvbXB0IiksIHZpc2libGVEb21haW4ob3JpZ2luLmhvc3QoKSldOworICAgIHJldHVybiBuaWw7
Cit9CisKK3ZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6ZG9EZWZhdWx0QWN0
aW9uKCkKK3sKKyAgICBBU1NFUlQobV9tYW5hZ2VyKTsKKyAgICBpZiAoIW1fbWFuYWdlcikgewor
ICAgICAgICBkZW55KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgYXV0byAqd2ViVmll
dyA9IGZyb21XZWJQYWdlUHJveHkobV9tYW5hZ2VyLT5wYWdlKCkpOworICAgIGlmICghd2ViVmll
dykgeworICAgICAgICBkZW55KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKHJl
cXVpcmVzRGlzcGxheUNhcHR1cmUoKSkgeworICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGdl
dERpc3BsYXlNZWRpYSBwcm9tcHQsIGZvciBub3cgZGVueS4KKyAgICAgICAgZGVueSgpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byAqYWxlcnRUaXRsZSA9IGFsZXJ0TWVzc2Fn
ZVRleHQodG9wTGV2ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCksIHJlcXVpcmVzQXVkaW9DYXB0
dXJlKCksIHJlcXVpcmVzVmlkZW9DYXB0dXJlKCkpOworICAgIGlmICghYWxlcnRUaXRsZSkgewor
ICAgICAgICBkZW55KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGNvbXBs
ZXRpb25CbG9jayA9IG1ha2VCbG9ja1B0cihbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpXShib29sIHNob3VsZEFsbG93KSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCFzaG91bGRB
bGxvdykKKyAgICAgICAgICAgIGRlbnkoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgYWxs
b3coKTsKKyAgICB9KTsKKworICAgIE5TU3RyaW5nICphbGxvd0J1dHRvblN0cmluZyA9IFdFQl9V
SV9TVFJJTkdfS0VZKEAiQWxsb3ciLCAiQWxsb3cgKHVzZXJtZWRpYSkiLCBAIkFsbG93IGJ1dHRv
biB0aXRsZSBpbiB1c2VyIG1lZGlhIHByb21wdCIpOworICAgIE5TU3RyaW5nICpkb05vdEFsbG93
QnV0dG9uU3RyaW5nID0gV0VCX1VJX1NUUklOR19LRVkoQCJEb27igJl0IEFsbG93IiwgIkRvbuKA
mXQgQWxsb3cgKHVzZXJtZWRpYSkiLCBAIkRpc2FsbG93IGJ1dHRvbiB0aXRsZSBpbiB1c2VyIG1l
ZGlhIHByb21wdCIpOworCisjaWYgUExBVEZPUk0oTUFDKQorICAgIGF1dG8gYWxlcnQgPSBhZG9w
dE5TKFtOU0FsZXJ0IG5ld10pOworICAgIFthbGVydCBzZXRNZXNzYWdlVGV4dDphbGVydFRpdGxl
XTsKKyAgICBbYWxlcnQgYWRkQnV0dG9uV2l0aFRpdGxlOmFsbG93QnV0dG9uU3RyaW5nXTsKKyAg
ICBbYWxlcnQgYWRkQnV0dG9uV2l0aFRpdGxlOmRvTm90QWxsb3dCdXR0b25TdHJpbmddOworICAg
IFthbGVydCBiZWdpblNoZWV0TW9kYWxGb3JXaW5kb3c6d2ViVmlldy53aW5kb3cgY29tcGxldGlv
bkhhbmRsZXI6W2NvbXBsZXRpb25CbG9ja10oTlNNb2RhbFJlc3BvbnNlIHJldHVybkNvZGUpIHsK
KyAgICAgICAgYXV0byBzaG91bGRBbGxvdyA9IHJldHVybkNvZGUgPT0gTlNBbGVydEZpcnN0QnV0
dG9uUmV0dXJuOworICAgICAgICBjb21wbGV0aW9uQmxvY2soc2hvdWxkQWxsb3cpOworICAgIH1d
OworI2Vsc2UKKyAgICBVSUFsZXJ0Q29udHJvbGxlciogYWxlcnQgPSBbVUlBbGVydENvbnRyb2xs
ZXIgYWxlcnRDb250cm9sbGVyV2l0aFRpdGxlOmFsZXJ0VGl0bGUgbWVzc2FnZTpuaWwgcHJlZmVy
cmVkU3R5bGU6VUlBbGVydENvbnRyb2xsZXJTdHlsZUFsZXJ0XTsKKyAgICBVSUFsZXJ0QWN0aW9u
KiBhbGxvd0FjdGlvbiA9IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhUaXRsZTphbGxvd0J1dHRv
blN0cmluZyBzdHlsZTpVSUFsZXJ0QWN0aW9uU3R5bGVDYW5jZWwgaGFuZGxlcjpbY29tcGxldGlv
bkJsb2NrXShVSUFsZXJ0QWN0aW9uICphY3Rpb24pIHsKKyAgICAgICAgY29tcGxldGlvbkJsb2Nr
KHRydWUpOworICAgIH1dOworCisgICAgVUlBbGVydEFjdGlvbiogZG9Ob3RBbGxvd0FjdGlvbiA9
IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhUaXRsZTpkb05vdEFsbG93QnV0dG9uU3RyaW5nIHN0
eWxlOlVJQWxlcnRBY3Rpb25TdHlsZURlZmF1bHQgaGFuZGxlcjpbY29tcGxldGlvbkJsb2NrXShV
SUFsZXJ0QWN0aW9uICphY3Rpb24pIHsKKyAgICAgICAgY29tcGxldGlvbkJsb2NrKGZhbHNlKTsK
KyAgICB9XTsKKworICAgIFthbGVydCBhZGRBY3Rpb246ZG9Ob3RBbGxvd0FjdGlvbl07CisgICAg
W2FsZXJ0IGFkZEFjdGlvbjphbGxvd0FjdGlvbl07CisKKyAgICBbW1VJVmlld0NvbnRyb2xsZXIg
X3ZpZXdDb250cm9sbGVyRm9yRnVsbFNjcmVlblByZXNlbnRhdGlvbkZyb21WaWV3OndlYlZpZXdd
IHByZXNlbnRWaWV3Q29udHJvbGxlcjphbGVydCBhbmltYXRlZDpZRVMgY29tcGxldGlvbjpuaWxd
OworI2VuZGlmCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZWxzZQorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKwordm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Ojpkb0Rl
ZmF1bHRBY3Rpb24oKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit9CisjZW5k
aWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTdkNGZlNmNjYTQ4OTVmNDcwMmE3ODIwYzYzNDY2
YTk0MjJiYTg1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0Fs
ZXJ0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdt
YSBvbmNlCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW1wb3J0ICJXS1dlYlZpZXdQ
cml2YXRlLmgiCi0jaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgotCi1AY2xhc3MgV0tXZWJWaWV3Owot
Ci1uYW1lc3BhY2UgQVBJIHsKLWNsYXNzIFNlY3VyaXR5T3JpZ2luOwotfQotCi1uYW1lc3BhY2Ug
V2ViS2l0IHsKLQotdm9pZCBwcmVzZW50VXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0KFdLV2Vi
VmlldyAqLCBBUEk6OlNlY3VyaXR5T3JpZ2luJiwgX1dLQ2FwdHVyZURldmljZXMsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwotCi19Ci0KLSNlbmRpZiAvLyBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbQpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjRhYmEyYmUwYzQ2NGQwOTNhNjI3Y2ZhOTYzOTBjNjE4MGJiOTAyNC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbQorKysg
L2Rldi9udWxsCkBAIC0xLDEwOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmln
LmgiCi0jaW1wb3J0ICJXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5oIgotCi0jaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKLQotI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwuaCIKLSNpbXBv
cnQgIldLV2ViVmlld1ByaXZhdGUuaCIKLSNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgotI2ltcG9y
dCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+Ci0jaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4K
LSNpbXBvcnQgPHd0Zi9VUkxIZWxwZXJzLmg+Ci0jaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLXN0YXRpYyBOU1N0cmluZyogdmlzaWJsZURvbWFp
bihjb25zdCBTdHJpbmcmIGhvc3QpCi17Ci0gICAgYXV0byBkb21haW4gPSBXVEY6OlVSTEhlbHBl
cnM6OnVzZXJWaXNpYmxlVVJMKGhvc3QudXRmOCgpKTsKLSAgICByZXR1cm4gc3RhcnRzV2l0aExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkb21haW4sICJ3d3cuIikgPyBkb21haW4uc3Vic3RyaW5n
KDQpIDogZG9tYWluOwotfQotCi1zdGF0aWMgTlNTdHJpbmcgKmFsZXJ0TWVzc2FnZVRleHQoQVBJ
OjpTZWN1cml0eU9yaWdpbiYgdG9wTGV2ZWxPcmlnaW4sIF9XS0NhcHR1cmVEZXZpY2VzIGRldmlj
ZXMpCi17Ci0gICAgYm9vbCBzaG91bGRBc2tVc2VyRm9yQWNjZXNzVG9DYW1lcmEgPSBkZXZpY2Vz
ICYgX1dLQ2FwdHVyZURldmljZUNhbWVyYTsKLSAgICBib29sIHNob3VsZEFza1VzZXJGb3JBY2Nl
c3NUb01pY3JvcGhvbmUgPSBkZXZpY2VzICYgX1dLQ2FwdHVyZURldmljZU1pY3JvcGhvbmU7Ci0K
LSAgICBhdXRvJiBvcmlnaW4gPSB0b3BMZXZlbE9yaWdpbi5zZWN1cml0eU9yaWdpbigpOwotICAg
IGlmIChvcmlnaW4ucHJvdG9jb2woKSAhPSAiaHR0cCIgJiYgb3JpZ2luLnByb3RvY29sKCkgIT0g
Imh0dHBzIikKLSAgICAgICAgcmV0dXJuIG5pbDsKLQotICAgIGlmIChzaG91bGRBc2tVc2VyRm9y
QWNjZXNzVG9DYW1lcmEgJiYgc2hvdWxkQXNrVXNlckZvckFjY2Vzc1RvTWljcm9waG9uZSkKLSAg
ICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9OU1NUUklORyhA
IkFsbG93IOKAnCVA4oCdIHRvIHVzZSB5b3VyIGNhbWVyYSBhbmQgbWljcm9waG9uZT8iLCBAIk1l
c3NhZ2UgZm9yIHVzZXIgbWVkaWEgcHJvbXB0IiksIHZpc2libGVEb21haW4ob3JpZ2luLmhvc3Qo
KSldOwotICAgIGlmIChzaG91bGRBc2tVc2VyRm9yQWNjZXNzVG9DYW1lcmEpCi0gICAgICAgIHJl
dHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlfTlNTVFJJTkcoQCJBbGxvdyDi
gJwlQOKAnSB0byB1c2UgeW91ciBjYW1lcmE/IiwgQCJNZXNzYWdlIGZvciB1c2VyIGNhbWVyYSBh
Y2Nlc3MgcHJvbXB0IiksIHZpc2libGVEb21haW4ob3JpZ2luLmhvc3QoKSldOwotICAgIGlmIChz
aG91bGRBc2tVc2VyRm9yQWNjZXNzVG9NaWNyb3Bob25lKQotICAgICAgICByZXR1cm4gW05TU3Ry
aW5nIHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX05TU1RSSU5HKEAiQWxsb3cg4oCcJUDigJ0gdG8g
dXNlIHlvdXIgbWljcm9waG9uZT8iLCBAIk1lc3NhZ2UgZm9yIHVzZXIgbWljcm9waG9uZSBhY2Nl
c3MgcHJvbXB0IiksIHZpc2libGVEb21haW4ob3JpZ2luLmhvc3QoKSldOwotICAgIHJldHVybiBu
aWw7Ci19Ci0KLXZvaWQgcHJlc2VudFVzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydChXS1dlYlZp
ZXcgKndlYlZpZXcsIEFQSTo6U2VjdXJpdHlPcmlnaW4mIHRvcExldmVsT3JpZ2luLCBfV0tDYXB0
dXJlRGV2aWNlcyBkZXZpY2VzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQotewotICAgIGF1dG8gKmFsZXJ0VGl0bGUgPSBhbGVydE1lc3NhZ2VUZXh0
KHRvcExldmVsT3JpZ2luLCBkZXZpY2VzKTsKLSAgICBpZiAoIWFsZXJ0VGl0bGUpIHsKLSAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgYXV0byBjb21wbGV0aW9uQmxvY2sgPSBtYWtlQmxvY2tQdHIoW2NvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGJvb2wgc2hvdWxkQWxsb3cpIG11dGFibGUg
ewotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzaG91bGRBbGxvdyk7Ci0gICAgfSk7Ci0KLSAg
ICBOU1N0cmluZyAqYWxsb3dCdXR0b25TdHJpbmcgPSBXRUJfVUlfU1RSSU5HX0tFWShAIkFsbG93
IiwgIkFsbG93ICh1c2VybWVkaWEpIiwgQCJBbGxvdyBidXR0b24gdGl0bGUgaW4gdXNlciBtZWRp
YSBwcm9tcHQiKTsKLSAgICBOU1N0cmluZyAqZG9Ob3RBbGxvd0J1dHRvblN0cmluZyA9IFdFQl9V
SV9TVFJJTkdfS0VZKEAiRG9u4oCZdCBBbGxvdyIsICJEb27igJl0IEFsbG93ICh1c2VybWVkaWEp
IiwgQCJEaXNhbGxvdyBidXR0b24gdGl0bGUgaW4gdXNlciBtZWRpYSBwcm9tcHQiKTsKLQotI2lm
IFBMQVRGT1JNKE1BQykKLSAgICBhdXRvIGFsZXJ0ID0gYWRvcHROUyhbTlNBbGVydCBuZXddKTsK
LSAgICBbYWxlcnQgc2V0TWVzc2FnZVRleHQ6YWxlcnRUaXRsZV07Ci0gICAgW2FsZXJ0IGFkZEJ1
dHRvbldpdGhUaXRsZTphbGxvd0J1dHRvblN0cmluZ107Ci0gICAgW2FsZXJ0IGFkZEJ1dHRvbldp
dGhUaXRsZTpkb05vdEFsbG93QnV0dG9uU3RyaW5nXTsKLSAgICBbYWxlcnQgYmVnaW5TaGVldE1v
ZGFsRm9yV2luZG93OndlYlZpZXcud2luZG93IGNvbXBsZXRpb25IYW5kbGVyOltjb21wbGV0aW9u
QmxvY2tdKE5TTW9kYWxSZXNwb25zZSByZXR1cm5Db2RlKSB7Ci0gICAgICAgIGF1dG8gc2hvdWxk
QWxsb3cgPSByZXR1cm5Db2RlID09IE5TQWxlcnRGaXJzdEJ1dHRvblJldHVybjsKLSAgICAgICAg
Y29tcGxldGlvbkJsb2NrKHNob3VsZEFsbG93KTsKLSAgICB9XTsKLSNlbHNlCi0gICAgVUlBbGVy
dENvbnRyb2xsZXIqIGFsZXJ0ID0gW1VJQWxlcnRDb250cm9sbGVyIGFsZXJ0Q29udHJvbGxlcldp
dGhUaXRsZTphbGVydFRpdGxlIG1lc3NhZ2U6bmlsIHByZWZlcnJlZFN0eWxlOlVJQWxlcnRDb250
cm9sbGVyU3R5bGVBbGVydF07Ci0gICAgVUlBbGVydEFjdGlvbiogYWxsb3dBY3Rpb24gPSBbVUlB
bGVydEFjdGlvbiBhY3Rpb25XaXRoVGl0bGU6YWxsb3dCdXR0b25TdHJpbmcgc3R5bGU6VUlBbGVy
dEFjdGlvblN0eWxlQ2FuY2VsIGhhbmRsZXI6W2NvbXBsZXRpb25CbG9ja10oVUlBbGVydEFjdGlv
biAqYWN0aW9uKSB7Ci0gICAgICAgIGNvbXBsZXRpb25CbG9jayh0cnVlKTsKLSAgICB9XTsKLQot
ICAgIFVJQWxlcnRBY3Rpb24qIGRvTm90QWxsb3dBY3Rpb24gPSBbVUlBbGVydEFjdGlvbiBhY3Rp
b25XaXRoVGl0bGU6ZG9Ob3RBbGxvd0J1dHRvblN0cmluZyBzdHlsZTpVSUFsZXJ0QWN0aW9uU3R5
bGVEZWZhdWx0IGhhbmRsZXI6W2NvbXBsZXRpb25CbG9ja10oVUlBbGVydEFjdGlvbiAqYWN0aW9u
KSB7Ci0gICAgICAgIGNvbXBsZXRpb25CbG9jayhmYWxzZSk7Ci0gICAgfV07Ci0KLSAgICBbYWxl
cnQgYWRkQWN0aW9uOmRvTm90QWxsb3dBY3Rpb25dOwotICAgIFthbGVydCBhZGRBY3Rpb246YWxs
b3dBY3Rpb25dOwotCi0gICAgW1tVSVZpZXdDb250cm9sbGVyIF92aWV3Q29udHJvbGxlckZvckZ1
bGxTY3JlZW5QcmVzZW50YXRpb25Gcm9tVmlldzp3ZWJWaWV3XSBwcmVzZW50Vmlld0NvbnRyb2xs
ZXI6YWxlcnQgYW5pbWF0ZWQ6WUVTIGNvbXBsZXRpb246bmlsXTsKLSNlbmRpZgotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0UHJveHkuY3BwCmluZGV4IDk2NmZkYWQ1Y2YwZGQwOWI5OGZmNTU2MTAzZTIw
NmFhMTE3NWM5NjMuLmRkYjBkNDcwZWRmYTFhMDU0NmViMGZkYTgyMzcyMzA4MjcwZTU5MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0UHJveHkuY3BwCkBAIC05NSw2ICs5NSwxMyBAQCB2b2lkIFVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0UHJveHk6OmRlbnkoVXNlck1lZGlhQWNjZXNzRGVuaWFsUmVhc29uIHJl
YXNvbikKICAgICBpbnZhbGlkYXRlKCk7CiB9CiAKKyNpZiAhUExBVEZPUk0oQ09DT0EpCit2b2lk
IFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OmRvRGVmYXVsdEFjdGlvbigpCit7Cisg
ICAgZGVueSgpOworfQorI2VuZGlmCisKIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQ
cm94eTo6aW52YWxpZGF0ZSgpCiB7CiAgICAgbV9tYW5hZ2VyID0gbnVsbHB0cjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
UHJveHkuaAppbmRleCA2NzQwODA1Y2IxM2QxYmYzYTQxNzI2OGIyYjM2NWYwYmNlNGVmYzM0Li42
NTI5NmYzYTBlOTM4NGJhMzZmZGQ1OWQxZGYzMDM3ZjFhNmY1ZGRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eS5oCkBAIC00Nyw2ICs0Nyw4IEBAIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIFVzZXJNZWRpYUFj
Y2Vzc0RlbmlhbFJlYXNvbiB7IE5vQ29uc3RyYWludHMsIFVzZXJNZWRpYURpc2FibGVkLCBOb0Nh
cHR1cmVEZXZpY2VzLCBJbnZhbGlkQ29uc3RyYWludCwgSGFyZHdhcmVFcnJvciwgUGVybWlzc2lv
bkRlbmllZCwgT3RoZXJGYWlsdXJlIH07CiAgICAgdm9pZCBkZW55KFVzZXJNZWRpYUFjY2Vzc0Rl
bmlhbFJlYXNvbiA9IFVzZXJNZWRpYUFjY2Vzc0RlbmlhbFJlYXNvbjo6VXNlck1lZGlhRGlzYWJs
ZWQpOwogCisgICAgdm9pZCBkb0RlZmF1bHRBY3Rpb24oKTsKKwogICAgIHZvaWQgaW52YWxpZGF0
ZSgpOwogICAgIGJvb2wgaXNQZW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9tYW5hZ2VyOyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDU5Yjk5MDdjN2ZjOTY3N2E5NzMyY2FmZjBmZTAwODliMGU0OWMxNDAuLmI4ZDI1NDkxY2FhZmI4
MjQzZGYwMGNmMzY2NmRkZTZhNjUwOTQ1ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTAyLDcgKzkwMiw2IEBACiAJCTQxMzA3NUI0
MURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8q
IExpYldlYlJUQ1Byb3ZpZGVyLmggKi87IH07CiAJCTQxM0NDRDUwMjBERUJDNzQwMDY1QTIxQSAv
KiBjb20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2luLnNiIGluIENvcHkgUGx1Zy1pbiBT
YW5kYm94IFByb2ZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0ND
RDRGMjBERUJDMkYwMDY1QTIxQSAvKiBjb20uZ29vZ2xlLmdvb2dsZXRhbGticm93c2VycGx1Z2lu
LnNiICovOyB9OwogCQk0MTQzNzUxQzIwRUFFQTJEMDBGQUQwNkMgLyogY24ubWljcm9kb25lLmNt
Yi5zYWZhcmkuc2IgaW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE0Mzc1MUIyMEVBRUExRTAwRkFEMDZDIC8qIGNuLm1p
Y3JvZG9uZS5jbWIuc2FmYXJpLnNiICovOyB9OwotCQk0MTQ3REM2OTI1MTlFQzMzMDAyMTRFRTcg
LyogV0tVc2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQ3REM2NzI1MTlFMjlEMDAyMTRFRTcgLyogV0tV
c2VyTWVkaWFDYXB0dXJlQWNjZXNzQWxlcnQubW0gKi87IH07CiAJCTQxNEREMzc5MjBCRjQzRjUw
MDY5NTlGQiAvKiBjb20uY2lzY28ud2ViZXgucGx1Z2luLmdwYzY0LnNiIGluIFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTRERDM3ODIwQkY0M0VBMDA2OTU5
RkIgLyogY29tLmNpc2NvLndlYmV4LnBsdWdpbi5ncGM2NC5zYiAqLzsgfTsKIAkJNDE0REQzN0Ey
MEJGNDlBNTAwNjk1OUZCIC8qIGNvbS5jaXNjby53ZWJleC5wbHVnaW4uZ3BjNjQuc2IgaW4gQ29w
eSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE0REQzNzgyMEJGNDNFQTAwNjk1OUZCIC8qIGNvbS5jaXNjby53ZWJleC5wbHVnaW4u
Z3BjNjQuc2IgKi87IH07CiAJCTQxNTdFNEIwMjBFMkVDREYwMEE2QzBENyAvKiBjb20uZ29vZ2xl
Lm8xZGJyb3dzZXJwbHVnaW4uc2IgaW4gQ29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1N0U0QUYyMEUyRUM5ODAwQTZDMEQ3
IC8qIGNvbS5nb29nbGUubzFkYnJvd3NlcnBsdWdpbi5zYiAqLzsgfTsKQEAgLTMzOTAsNiArMzM4
OSw3IEBACiAJCTQxMThEQzFCMjFFNkQxMUEwMERFMDRDNyAvKiBXZWJzaXRlRGF0YVN0b3JlQ2xp
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYnNpdGVEYXRhU3RvcmVD
bGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExQThERDkyMEREQjYwNTAw
NjBEMzRGIC8qIFdLTW9ja01lZGlhRGV2aWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdLTW9ja01lZGlhRGV2aWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxMUE4RERBMjBEREI2MDUwMDYwRDM0RiAvKiBXS01vY2tNZWRpYURldmljZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS01vY2tNZWRpYURldmljZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMUE5QTlBMjUxREU5M0UwMDgwN0Q3RSAvKiBV
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdvcmsuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDTmV0d29yay5oOyBwYXRo
ID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTI4N0Q0QjIyNUMwNUM0MDA5QTNFMjYgLyogV2ViU29ja2V0VGFza0NvY29h
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViU29ja2V0VGFz
a0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTI4N0Q0QzIyNUMwNUM1
MDA5QTNFMjYgLyogV2ViU29ja2V0VGFza0NvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYlNvY2tldFRhc2tDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMzQxMiw4ICszNDEyLDYgQEAKIAkJNDEzNUZCRDAxRjRGQjdGMjAwNzRDNDdCIC8qIENh
Y2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDEzQ0NENEYyMERFQkMyRjAwNjVBMjFBIC8qIGNvbS5nb29nbGUuZ29vZ2xldGFsa2Jyb3dz
ZXJwbHVnaW4uc2IgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29tLmdvb2dsZS5nb29nbGV0YWxr
YnJvd3NlcnBsdWdpbi5zYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0Mzc1MUIy
MEVBRUExRTAwRkFEMDZDIC8qIGNuLm1pY3JvZG9uZS5jbWIuc2FmYXJpLnNiICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IGNuLm1pY3JvZG9uZS5jbWIuc2FmYXJpLnNiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk0MTQ3REM2NzI1MTlFMjlEMDAyMTRFRTcgLyogV0tVc2VyTWVkaWFDYXB0
dXJlQWNjZXNzQWxlcnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1VzZXJNZWRpYUNhcHR1
cmVBY2Nlc3NBbGVydC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDE0N0RDNjgy
NTE5RTI5RDAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxNEREMzc4MjBCRjQzRUEwMDY5NTlGQiAvKiBjb20uY2lzY28ud2Vi
ZXgucGx1Z2luLmdwYzY0LnNiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IGNvbS5jaXNjby53ZWJl
eC5wbHVnaW4uZ3BjNjQuc2I7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNTBBNUEw
MjNFMDZDOTEwMDUxMjY0QSAvKiBHUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNTE4NTM1MjIyNzA0RjUwMDU0MzBDNiAv
KiBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTYzNjEsNiArNjM1OSw3IEBACiAJCQkJMUFGRTQzNjMxOEI2QzA4MTAwOUM3QTQ4IC8qIFVJ
RGVsZWdhdGUubW0gKi8sCiAJCQkJNDYzMjM2ODYyMzE0ODMzRjAwQTQ4RkE3IC8qIFVJUmVtb3Rl
T2JqZWN0UmVnaXN0cnkuY3BwICovLAogCQkJCTQ2MzIzNjg1MjMxNDgzM0YwMEE0OEZBNyAvKiBV
SVJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggKi8sCisJCQkJNDExQTlBOUEyNTFERTkzRTAwODA3RDdF
IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkubW0gKi8sCiAJCQkJRTRFODY0OEUx
QjE2NzNGQjAwQzgyRjQwIC8qIFZlcnNpb25DaGVja3MuaCAqLywKIAkJCQlFNEU4NjQ4RjFCMTY3
M0ZCMDBDODJGNDAgLyogVmVyc2lvbkNoZWNrcy5tbSAqLywKIAkJCQk1MkQ1QTFBQTFDNTc0OTRF
MDBERTM0QTMgLyogVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmggKi8sCkBAIC02MzkzLDgg
KzYzOTIsNiBAQAogCQkJCTJEN0FBRkQyMThDODY0MDYwMEE3QUNENCAvKiBXS1dlYlZpZXdDb250
ZW50UHJvdmlkZXIuaCAqLywKIAkJCQkyREM2RDlDMTE4QzQ0QTYxMDA0M0JBRDQgLyogV0tXZWJW
aWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkuaCAqLywKIAkJCQkyREM2RDlDMjE4QzQ0QTYxMDA0
M0JBRDQgLyogV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0gKi8sCi0JCQkJNDE0
N0RDNjgyNTE5RTI5RDAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFjY2Vzc0FsZXJ0Lmgg
Ki8sCi0JCQkJNDE0N0RDNjcyNTE5RTI5RDAwMjE0RUU3IC8qIFdLVXNlck1lZGlhQ2FwdHVyZUFj
Y2Vzc0FsZXJ0Lm1tICovLAogCQkJCUMxNzEwQ0YyMjRBN0JEMDMwMEQ3QzExMiAvKiBYUENFdmVu
dEhhbmRsZXIuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gQ29jb2E7CkBAIC0xMjk3NSw3ICsxMjk3
Miw2IEBACiAJCQkJMkQxMUI3QkYyMTI2QTI4MzAwNkY4ODc4IC8qIFVuaWZpZWRTb3VyY2U1Ni1t
bS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCN0MxMjEyNkEyODMwMDZGODg3OCAvKiBVbmlm
aWVkU291cmNlNTctbW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDExQjdDMjIxMjZBMjgzMDA2
Rjg4NzggLyogVW5pZmllZFNvdXJjZTU3LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxNDdEQzY5
MjUxOUVDMzMwMDIxNEVFNyAvKiBXS1VzZXJNZWRpYUNhcHR1cmVBY2Nlc3NBbGVydC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTJEMTFCN0MzMjEyNkEyODMwMDZGODg3OCAvKiBVbmlmaWVkU291cmNl
NTgtbW0ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDExQjdDNDIxMjZBMjgzMDA2Rjg4NzggLyog
VW5pZmllZFNvdXJjZTU4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEMTFCN0M2MjEyNkEyODMw
MDZGODg3OCAvKiBVbmlmaWVkU291cmNlNTkuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2QzN2UxYTgxMzJhMDYz
M2JiYzg2ZjlkMDQyYzFiOTEyNzEyNzUxZi4uZjFiMGZjNTRmZTgzNzBhNzI1OTRlYjJkY2NiMjIx
ZjRlN2RjMGM2ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA5LTI1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgZGVmYXVsdCBiZWhhdmlvciBmb3IgZ2V0
VXNlck1lZGlhIHJlcXVlc3RzIGluIGNhc2Ugd2hlcmUgdGhlcmUgaXMgbm8gZGVsZWdhdGUgc2V0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY5NjgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgY2Ft
ZXJhIGFuZCBtaWNyb3Bob25lIGVudGl0bGVtZW50cyB0byBNb2JpbGVNaW5pQnJvd3Nlci4KKyAg
ICAgICAgRXhwb3NlIG1lZGlhRGV2aWNlcyB0byB3ZWIgcGFnZXMgYW5kIHVzZSBtb2NrIGRldmlj
ZXMuCisKKyAgICAgICAgKiBNb2JpbGVNaW5pQnJvd3Nlci9Nb2JpbGVNaW5pQnJvd3Nlci9JbmZv
LnBsaXN0OgorICAgICAgICAqIE1vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93c2VyRnJh
bWV3b3JrL1dlYlZpZXdDb250cm9sbGVyLm06CisgICAgICAgICgtW1dlYlZpZXdDb250cm9sbGVy
IGNyZWF0ZVdlYlZpZXddKToKKwogMjAyMC0wOS0yNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjY3NTAyKTogW0dUS11b
V1BFXSBlcGhlbWVyYWwgV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyIGlnbm9yZXMgVExTIGVycm9y
cyBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Ub29scy9Nb2JpbGVNaW5pQnJvd3Nlci9Nb2JpbGVN
aW5pQnJvd3Nlci9JbmZvLnBsaXN0IGIvVG9vbHMvTW9iaWxlTWluaUJyb3dzZXIvTW9iaWxlTWlu
aUJyb3dzZXIvSW5mby5wbGlzdAppbmRleCA2ZjBmNmZlOWUzYjdjNDdjMDA4YjExYzUzODA0ZDdi
ZTNlN2E4ZDRhLi42NTFiYTU3NGMyZGUxODNiOWM2MDE3ZTc0NTYxYzQwY2UzNjY1NmNkIDEwMDY0
NAotLS0gYS9Ub29scy9Nb2JpbGVNaW5pQnJvd3Nlci9Nb2JpbGVNaW5pQnJvd3Nlci9JbmZvLnBs
aXN0CisrKyBiL1Rvb2xzL01vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93c2VyL0luZm8u
cGxpc3QKQEAgLTU0LDUgKzU0LDExIEBACiAJCTxrZXk+TlNBbGxvd3NBcmJpdHJhcnlMb2Fkc0lu
V2ViQ29udGVudDwva2V5PgogCQk8dHJ1ZS8+CiAJPC9kaWN0PgorICAgIDxrZXk+Y29tLmFwcGxl
LnNlY3VyaXR5LmRldmljZS5jYW1lcmE8L2tleT4KKyAgICA8dHJ1ZS8+CisgICAgPGtleT5jb20u
YXBwbGUuc2VjdXJpdHkuZGV2aWNlLm1pY3JvcGhvbmU8L2tleT4KKyAgICA8dHJ1ZS8+CisgICAg
PGtleT5OU0NhbWVyYVVzYWdlRGVzY3JpcHRpb248L2tleT4KKyAgICA8c3RyaW5nPkNhbWVyYSB1
c2FnZSBkZXNjcmlwdGlvbjwvc3RyaW5nPgogPC9kaWN0PgogPC9wbGlzdD4KZGlmZiAtLWdpdCBh
L1Rvb2xzL01vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93c2VyRnJhbWV3b3JrL1dlYlZp
ZXdDb250cm9sbGVyLm0gYi9Ub29scy9Nb2JpbGVNaW5pQnJvd3Nlci9Nb2JpbGVNaW5pQnJvd3Nl
ckZyYW1ld29yay9XZWJWaWV3Q29udHJvbGxlci5tCmluZGV4IGYxYjVlZGVkMWNmMjYxOTE1Y2Rl
Y2U1ODZiOGI5YWFlNGQ3MTk2ZmIuLjk0N2RmOGZiMWUzYmUwZTg0OTJlN2Y0MDRkOTJhOWQyNDk0
ZDZmOWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01vYmlsZU1pbmlCcm93c2VyL01vYmlsZU1pbmlCcm93
c2VyRnJhbWV3b3JrL1dlYlZpZXdDb250cm9sbGVyLm0KKysrIGIvVG9vbHMvTW9iaWxlTWluaUJy
b3dzZXIvTW9iaWxlTWluaUJyb3dzZXJGcmFtZXdvcmsvV2ViVmlld0NvbnRyb2xsZXIubQpAQCAt
MjgsNiArMjgsNyBAQAogI2ltcG9ydCAiVGFiVmlld0NvbnRyb2xsZXIuaCIKICNpbXBvcnQgPFdl
YktpdC9XS05hdmlnYXRpb24uaD4KICNpbXBvcnQgPFdlYktpdC9XS05hdmlnYXRpb25EZWxlZ2F0
ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CiAjaW1wb3J0IDxX
ZWJLaXQvV0tXZWJWaWV3Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlv
bi5oPgogCkBAIC0xNzUsNiArMTc2LDEwIEBAIC0gKHZvaWQpYWRkV2ViVmlldwogLSAoV0tXZWJW
aWV3ICopY3JlYXRlV2ViVmlldwogewogICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZp
Z3VyYXRpb24gPSBbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdOworCisgICAg
Y29uZmlndXJhdGlvbi5wcmVmZXJlbmNlcy5fbWVkaWFEZXZpY2VzRW5hYmxlZCA9IFlFUzsKKyAg
ICBjb25maWd1cmF0aW9uLnByZWZlcmVuY2VzLl9tb2NrQ2FwdHVyZURldmljZXNFbmFibGVkID0g
WUVTOworCiAgICAgV0tXZWJWaWV3ICp3ZWJWaWV3ID0gW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6c2VsZi53ZWJWaWV3Q29udGFpbmVyLmJvdW5kcyBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb25dOwogICAgIHdlYlZpZXcubmF2aWdhdGlvbkRlbGVnYXRlID0gc2VsZjsKICAgICB3
ZWJWaWV3LmF1dG9yZXNpemluZ01hc2sgPSBVSVZpZXdBdXRvcmVzaXppbmdGbGV4aWJsZVdpZHRo
IHwgVUlWaWV3QXV0b3Jlc2l6aW5nRmxleGlibGVIZWlnaHQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>