<?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>205789</bug_id>
          
          <creation_ts>2020-01-06 01:17:02 -0800</creation_ts>
          <short_desc>Add WKWebView SPI to query _WKMediaMutedState</short_desc>
          <delta_ts>2020-01-06 12:29:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Luming Yin">luming_yin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>luming_yin</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1602963</commentid>
    <comment_count>0</comment_count>
    <who name="Luming Yin">luming_yin</who>
    <bug_when>2020-01-06 01:17:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/58335241&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602984</commentid>
    <comment_count>1</comment_count>
      <attachid>386825</attachid>
    <who name="Luming Yin">luming_yin</who>
    <bug_when>2020-01-06 03:12:34 -0800</bug_when>
    <thetext>Created attachment 386825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603009</commentid>
    <comment_count>2</comment_count>
      <attachid>386825</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-01-06 05:32:58 -0800</bug_when>
    <thetext>Comment on attachment 386825
Patch

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

&gt; Source/WebKit/ChangeLog:5
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=205789
&gt; +

This should have a Radar link as well as but bugzilla link.

&gt; Source/WebKit/UIProcess/Cocoa/MediaUtilities.h:2
&gt; + * Copyright (C) 2018 Apple Inc. All rights reserved.

Nit: might as well make this &quot;2018-2020&quot;

&gt; Source/WebKit/UIProcess/Cocoa/MediaUtilities.mm:2
&gt; + * Copyright (C) 2018 Apple Inc. All rights reserved.

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603011</commentid>
    <comment_count>3</comment_count>
      <attachid>386835</attachid>
    <who name="Luming Yin">luming_yin</who>
    <bug_when>2020-01-06 05:41:02 -0800</bug_when>
    <thetext>Created attachment 386835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603014</commentid>
    <comment_count>4</comment_count>
      <attachid>386835</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-01-06 05:51:57 -0800</bug_when>
    <thetext>Comment on attachment 386835
Patch

r=me once the bots are happy with the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603205</commentid>
    <comment_count>5</comment_count>
      <attachid>386835</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-06 12:29:56 -0800</bug_when>
    <thetext>Comment on attachment 386835
Patch

Clearing flags on attachment: 386835

Committed r254075: &lt;https://trac.webkit.org/changeset/254075&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603206</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-06 12:29:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386825</attachid>
            <date>2020-01-06 03:12:34 -0800</date>
            <delta_ts>2020-01-06 05:40:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205789-20200106191233.patch</filename>
            <type>text/plain</type>
            <size>17665</size>
            <attacher name="Luming Yin">luming_yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGExOTJmODhkMGQ0NGQ2YWI4
ZjYxN2NjMTEzZDBhYWM5YzA5NmQ3NWQuLjQ3YzVjYjVkNDcyZmM2ZjZmYmVmNDM1MjE5ZTA0OTdi
NTQ0NDRmZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDEtMDYgIEx1bWluZyBZ
aW4gIDxsdW1pbmdfeWluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgV0tXZWJWaWV3IFNQSSB0
byBxdWVyeSBfV0tNZWRpYU11dGVkU3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNTc4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBwbHVtYmluZyBmb3IgY2xpZW50cyB0byBxdWVyeSB0aGUg
bWVkaWEgbXV0ZWQgc3RhdGUgb24gV0tXZWJWaWV3LgorCisgICAgICAgICogU291cmNlc0NvY29h
LnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IF9tZWRpYU11dGVkU3RhdGVdKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
TWVkaWFVdGlsaXRpZXMuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL01lZGlhQ2FwdHVyZVV0aWxpdGllcy5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9N
ZWRpYVV0aWxpdGllcy5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL01lZGlhQ2FwdHVyZVV0aWxpdGllcy5tbS4KKyAgICAgICAgKFdlYktpdDo6dG9XS01lZGlh
Q2FwdHVyZVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6dG9XS01lZGlhTXV0ZWRTdGF0ZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om11dGVk
U3RhdGVGbGFncyBjb25zdCk6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisKIDIwMjAtMDEtMDYgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEltcGxlbWVudCBSVEMgVlRCIGVuY29kZXJzIGluIEdQVVByb2Nlc3MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291
cmNlc0NvY29hLnR4dAppbmRleCA2MGIzOWYzN2M1Nzg1NTYyMWYyOWY2NmI5NjE3ZDlhN2IzZGE3
MDNkLi5mZTc1Nzk1Mzc2MWI5OWY2OWI4MjhjMTFiYmMwZjMzMWFlZWZjMTkxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3Vy
Y2VzQ29jb2EudHh0CkBAIC0zNjcsNyArMzY3LDcgQEAgVUlQcm9jZXNzL0NvY29hL0Z1bGxzY3Jl
ZW5DbGllbnQubW0KIFVJUHJvY2Vzcy9Db2NvYS9HbG9iYWxGaW5kSW5QYWdlU3RhdGUubW0KIFVJ
UHJvY2Vzcy9Db2NvYS9JY29uTG9hZGluZ0RlbGVnYXRlLm1tCiBVSVByb2Nlc3MvQ29jb2EvTGVn
YWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tCi1VSVByb2Nlc3MvQ29jb2EvTWVkaWFD
YXB0dXJlVXRpbGl0aWVzLm1tCitVSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRpZXMubW0KIFVJ
UHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xp
ZW50SW1wbENvY29hLm1tCiBVSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclBy
b3h5Lm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQppbmRleCAyYzgyYzAzNzA1MTBlMjYzMzE5ZWMwZTU3ZGYxYWE4MmQ3NWJmYWUxLi4xYjA0ZGI4
Y2ZkZDFjY2ZkNTg4M2FjNDA1NzczYmNiMDcxODQwOTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTM4LDcgKzM4LDcgQEAKICNpbXBv
cnQgIkljb25Mb2FkaW5nRGVsZWdhdGUuaCIKICNpbXBvcnQgIkxlZ2FjeVNlc3Npb25TdGF0ZUNv
ZGluZy5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgotI2ltcG9ydCAiTWVkaWFDYXB0dXJlVXRpbGl0
aWVzLmgiCisjaW1wb3J0ICJNZWRpYVV0aWxpdGllcy5oIgogI2ltcG9ydCAiTmF2aWdhdGlvblN0
YXRlLmgiCiAjaW1wb3J0ICJPYmpDT2JqZWN0R3JhcGguaCIKICNpbXBvcnQgIlBhZ2VDbGllbnQu
aCIKQEAgLTE3MzcsNiArMTczNywxMSBAQCAtICh2b2lkKV90b2dnbGVQaWN0dXJlSW5QaWN0dXJl
CiAjZW5kaWYKIH0KIAorLSAoX1dLTWVkaWFNdXRlZFN0YXRlKV9tZWRpYU11dGVkU3RhdGUKK3sK
KyAgICByZXR1cm4gV2ViS2l0Ojp0b1dLTWVkaWFNdXRlZFN0YXRlKF9wYWdlLT5tdXRlZFN0YXRl
RmxhZ3MoKSk7Cit9CisKIC0gKHZvaWQpX2Nsb3NlQWxsTWVkaWFQcmVzZW50YXRpb25zCiB7CiAj
aWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNjFiZjdlZDc2NmU4ZTljMjM5
ZTUzYmRkM2MxNjAyNmQzMDgzYjg0My4uMjk0YzRlN2ExMzEyMjExOWIwZGNhM2Q0OTIwNDFlZGE5
N2UyZGRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0yOTYsNiArMjk2LDcgQEAgdHlwZWRlZiBOU19PUFRJT05T
KE5TVUludGVnZXIsIF9XS1JlY3RFZGdlKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHkpIEJPT0wgX2lzSW5GdWxsc2NyZWVuIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIuMykp
OwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIF9XS01lZGlhQ2FwdHVyZVN0YXRl
IF9tZWRpYUNhcHR1cmVTdGF0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjE1KSwgaW9zKDEz
LjApKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLTWVkaWFNdXRlZFN0YXRl
IF9tZWRpYU11dGVkU3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKIAogLSAodm9pZClfc2V0UGFnZU11dGVkOihfV0tNZWRpYU11dGVkU3Rh
dGUpbXV0ZWRTdGF0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzKSwgaW9zKDExLjApKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFDYXB0dXJl
VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRpYUNhcHR1cmVV
dGlsaXRpZXMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTZlNzI5YmFiNGU4YWUw
NjJiZWI5MDEwYjRmMTk1OWQ3ZGMxYjBiMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRpYUNhcHR1
cmVVdGlsaXRpZXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jcHJhZ21hIG9uY2UKLQotI2ltcG9ydCAiV0tGb3VuZGF0aW9uLmgiCi0KLSNpbXBvcnQgIldL
V2ViVmlld1ByaXZhdGUuaCIKLSNpbXBvcnQgPFdlYkNvcmUvTWVkaWFQcm9kdWNlci5oPgotCi1u
YW1lc3BhY2UgV2ViS2l0IHsKLQotX1dLTWVkaWFDYXB0dXJlU3RhdGUgdG9XS01lZGlhQ2FwdHVy
ZVN0YXRlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyk7Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTWVkaWFDYXB0dXJlVXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTWVkaWFDYXB0dXJlVXRpbGl0aWVzLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0NWE2YzgxMWVlY2ExZWNlYmYzZmU5NDZiMGYyZjBiYTdiNjM1NjBiLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL01lZGlhQ2FwdHVyZVV0aWxpdGllcy5tbQorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTWVkaWFD
YXB0dXJlVXRpbGl0aWVzLmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1fV0tNZWRpYUNhcHR1
cmVTdGF0ZSB0b1dLTWVkaWFDYXB0dXJlU3RhdGUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVk
aWFTdGF0ZUZsYWdzIHN0YXRlKQotewotICAgIF9XS01lZGlhQ2FwdHVyZVN0YXRlIG1lZGlhQ2Fw
dHVyZVN0YXRlID0gX1dLTWVkaWFDYXB0dXJlU3RhdGVOb25lOwotICAgIGlmIChzdGF0ZSAmIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkKLSAgICAg
ICAgbWVkaWFDYXB0dXJlU3RhdGUgfD0gX1dLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmVNaWNyb3Bo
b25lOwotICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Okhhc0FjdGl2ZVZp
ZGVvQ2FwdHVyZURldmljZSkKLSAgICAgICAgbWVkaWFDYXB0dXJlU3RhdGUgfD0gX1dLTWVkaWFD
YXB0dXJlU3RhdGVBY3RpdmVDYW1lcmE7Ci0gICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6SGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UpCi0gICAgICAgIG1lZGlhQ2FwdHVy
ZVN0YXRlIHw9IF9XS01lZGlhQ2FwdHVyZVN0YXRlTXV0ZWRNaWNyb3Bob25lOwotICAgIGlmIChz
dGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Okhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNl
KQotICAgICAgICBtZWRpYUNhcHR1cmVTdGF0ZSB8PSBfV0tNZWRpYUNhcHR1cmVTdGF0ZU11dGVk
Q2FtZXJhOwotCi0gICAgcmV0dXJuIG1lZGlhQ2FwdHVyZVN0YXRlOwotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01l
ZGlhVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRpYVV0aWxp
dGllcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdkMGE4N2YzZGVhOTExYzFhYWNmMzIyMzMzODc4Y2Y2YjUzZTZm
N2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRp
YVV0aWxpdGllcy5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2ltcG9ydCAiV0tGb3VuZGF0aW9uLmgiCisKKyNpbXBvcnQgIldLV2ViVmlld1ByaXZhdGUu
aCIKKyNpbXBvcnQgPFdlYkNvcmUvTWVkaWFQcm9kdWNlci5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworX1dLTWVkaWFDYXB0dXJlU3RhdGUgdG9XS01lZGlhQ2FwdHVyZVN0YXRlKFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyk7CitfV0tNZWRpYU11dGVkU3RhdGUgdG9X
S01lZGlhTXV0ZWRTdGF0ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3Mp
OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL01lZGlhVXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvTWVkaWFVdGlsaXRpZXMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODliNDRhN2Y4ZWE4Nzk3NGY1YjIz
ZGI4YzBhNjkyODU0N2VkY2FiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL01lZGlhVXRpbGl0aWVzLm1tCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFDYXB0dXJlVXRpbGl0aWVz
LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitfV0tNZWRpYUNhcHR1cmVTdGF0ZSB0b1dLTWVk
aWFDYXB0dXJlU3RhdGUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0
YXRlKQoreworICAgIF9XS01lZGlhQ2FwdHVyZVN0YXRlIG1lZGlhQ2FwdHVyZVN0YXRlID0gX1dL
TWVkaWFDYXB0dXJlU3RhdGVOb25lOworICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXI6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkKKyAgICAgICAgbWVkaWFDYXB0dXJl
U3RhdGUgfD0gX1dLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmVNaWNyb3Bob25lOworICAgIGlmIChz
dGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmlj
ZSkKKyAgICAgICAgbWVkaWFDYXB0dXJlU3RhdGUgfD0gX1dLTWVkaWFDYXB0dXJlU3RhdGVBY3Rp
dmVDYW1lcmE7CisgICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SGFzTXV0
ZWRBdWRpb0NhcHR1cmVEZXZpY2UpCisgICAgICAgIG1lZGlhQ2FwdHVyZVN0YXRlIHw9IF9XS01l
ZGlhQ2FwdHVyZVN0YXRlTXV0ZWRNaWNyb3Bob25lOworICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXI6Okhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlKQorICAgICAgICBtZWRp
YUNhcHR1cmVTdGF0ZSB8PSBfV0tNZWRpYUNhcHR1cmVTdGF0ZU11dGVkQ2FtZXJhOworCisgICAg
cmV0dXJuIG1lZGlhQ2FwdHVyZVN0YXRlOworfQorCitfV0tNZWRpYU11dGVkU3RhdGUgdG9XS01l
ZGlhTXV0ZWRTdGF0ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3Mgc3Rh
dGUpCit7CisgICAgX1dLTWVkaWFNdXRlZFN0YXRlIG1lZGlhTXV0ZWRTdGF0ZSA9IF9XS01lZGlh
Tm9uZU11dGVkOworICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok5vbmVN
dXRlZCkKKyAgICAgICAgbWVkaWFNdXRlZFN0YXRlIHw9IF9XS01lZGlhTm9uZU11dGVkOworICAg
IGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvSXNNdXRlZCkKKyAgICAg
ICAgbWVkaWFNdXRlZFN0YXRlIHw9IF9XS01lZGlhQXVkaW9NdXRlZDsKKyAgICBpZiAoc3RhdGUg
JiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQpCisg
ICAgICAgIG1lZGlhTXV0ZWRTdGF0ZSB8PSBfV0tNZWRpYUNhcHR1cmVEZXZpY2VzTXV0ZWQ7Cisg
ICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZUlzTXV0
ZWQpCisgICAgICAgIG1lZGlhTXV0ZWRTdGF0ZSB8PSBfV0tNZWRpYVNjcmVlbkNhcHR1cmVNdXRl
ZDsKKyAgICByZXR1cm4gbWVkaWFNdXRlZFN0YXRlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IGY5
MTgxODY1NzM0YmRmZTRhZmRmMDA3MTVkODkyMDhjZDMwMTM1YTIuLmVhOWE5Y2EzNTU4MzZhMjVj
YTJkNzBjNWJmNjcxNDlmMTlkMDE0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMjksNyArMjksNyBAQAogI2ltcG9ydCAiQVBJRnJhbWVJbmZv
LmgiCiAjaW1wb3J0ICJBUElIaXRUZXN0UmVzdWx0LmgiCiAjaW1wb3J0ICJDb21wbGV0aW9uSGFu
ZGxlckNhbGxDaGVja2VyLmgiCi0jaW1wb3J0ICJNZWRpYUNhcHR1cmVVdGlsaXRpZXMuaCIKKyNp
bXBvcnQgIk1lZGlhVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJXaGVlbEV2ZW50Lmgi
CiAjaW1wb3J0ICJOYXZpZ2F0aW9uQWN0aW9uRGF0YS5oIgogI2ltcG9ydCAiVXNlck1lZGlhUGVy
bWlzc2lvbkNoZWNrUHJveHkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggNzdmYzA0NTg3Y2Q5OWMzNGRmZDVkZjY2YjEyN2MyYWFmZDRjNjg0ZS4uMmM4N2I0OGU3
M2MyZmQzNjFhMmEwZGE4YzhlNzY2Y2QyYzU3ZTMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKQEAgLTEzNTksNiArMTM1OSw4IEBAIHB1YmxpYzoKICAgICBib29sIGhh
c0FjdGl2ZUF1ZGlvU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgYm9v
bCBoYXNBY3RpdmVWaWRlb1N0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZSAmIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZTsgfQogICAg
IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBtZWRpYVN0YXRlRmxhZ3Mo
KSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGU7IH0KKyAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgbXV0ZWRTdGF0ZUZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9t
dXRlZFN0YXRlOyB9CisKICAgICB2b2lkIGhhbmRsZUF1dG9wbGF5RXZlbnQoV2ViQ29yZTo6QXV0
b3BsYXlFdmVudCwgT3B0aW9uU2V0PFdlYkNvcmU6OkF1dG9wbGF5RXZlbnRGbGFncz4pOwogCiAg
ICAgdm9pZCB2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTBiMjE4ODg5MDYxYjI5
MjNmYzliZDEyZWU4ZjljNTczMzQzMDYwMi4uNjg5N2FmNWVjMTk5MGNkMGQ1NjNhYTU1ZmQ0ODg5
NTI4NDYwZjA1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0zMjc3LDggKzMyNzcsOCBAQAogCQk0MTA0ODJDQjFEREQyRkI1MDBGMDA2
RDAgLyogUlRDTmV0d29yay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSVENOZXR3b3JrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwNDgyQ0Mx
REREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUlRDTmV0d29yay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTEx
NDM2MzIwRjY3N0IxMDAyNkY5MTIgLyogSW5qZWN0VXNlclNjcmlwdEltbWVkaWF0ZWx5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdFVzZXJTY3JpcHRJbW1lZGlhdGVs
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTEyODZFRjIxQzhBOTBDMDAzQTg1
NTAgLyogTWVkaWFDYXB0dXJlVXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1lZGlhQ2FwdHVyZVV0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk0MTEyODZGMDIxQzhBOTBEMDAzQTg1NTAgLyogTWVkaWFDYXB0dXJlVXRpbGl0aWVzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWVkaWFDYXB0dXJlVXRp
bGl0aWVzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTEyODZFRjIxQzhBOTBD
MDAzQTg1NTAgLyogTWVkaWFVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVkaWFVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEx
Mjg2RjAyMUM4QTkwRDAwM0E4NTUwIC8qIE1lZGlhVXRpbGl0aWVzLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWVkaWFVdGlsaXRpZXMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxMTJCNTQ3MUY5RkQzQUIwMEU2Nzg3NSAvKiBOZXR3b3JrUlRD
UmVzb2x2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29y
a1JUQ1Jlc29sdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExMkI1NDcx
RjlGRDNBQjAwRTY3OTg2IC8qIE5ldHdvcmtSVENSZXNvbHZlckNvY29hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtSVENSZXNvbHZlckNvY29hLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExMkI1NDgxRjlGRDNBQzAwRTY3ODc1IC8q
IE5ldHdvcmtSVENSZXNvbHZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
ZXR3b3JrUlRDUmVzb2x2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU4ODgs
OCArNTg4OCw4IEBACiAJCQkJNTFDMEM5NzMxRERENzRGMDAwMzJDQUQzIC8qIEljb25Mb2FkaW5n
RGVsZWdhdGUubW0gKi8sCiAJCQkJN0E4MjFGNEIxRTJGNjY0ODAwNjA0NTc3IC8qIExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5oICovLAogCQkJCTdBODIxRjREMUUyRjY3OUUwMDYw
NDU3NyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQubW0gKi8sCi0JCQkJNDEx
Mjg2RUYyMUM4QTkwQzAwM0E4NTUwIC8qIE1lZGlhQ2FwdHVyZVV0aWxpdGllcy5oICovLAotCQkJ
CTQxMTI4NkYwMjFDOEE5MEQwMDNBODU1MCAvKiBNZWRpYUNhcHR1cmVVdGlsaXRpZXMubW0gKi8s
CisJCQkJNDExMjg2RUYyMUM4QTkwQzAwM0E4NTUwIC8qIE1lZGlhVXRpbGl0aWVzLmggKi8sCisJ
CQkJNDExMjg2RjAyMUM4QTkwRDAwM0E4NTUwIC8qIE1lZGlhVXRpbGl0aWVzLm1tICovLAogCQkJ
CTFBQkMzREY0MTg5OUU0MzcwMDRGMDYyNiAvKiBOYXZpZ2F0aW9uU3RhdGUuaCAqLywKIAkJCQkx
QUJDM0RGMzE4OTlFNDM3MDA0RjA2MjYgLyogTmF2aWdhdGlvblN0YXRlLm1tICovLAogCQkJCTVD
NkNFNkQzMUY1OUVBMzUwMDA3QzZDQiAvKiBQYWdlQ2xpZW50SW1wbENvY29hLmggKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386835</attachid>
            <date>2020-01-06 05:41:02 -0800</date>
            <delta_ts>2020-01-06 12:29:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205789-20200106214101.patch</filename>
            <type>text/plain</type>
            <size>17703</size>
            <attacher name="Luming Yin">luming_yin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGExOTJmODhkMGQ0NGQ2YWI4
ZjYxN2NjMTEzZDBhYWM5YzA5NmQ3NWQuLjNmODJlNGQzYjg4ZGJjNmYwZWRkMDBjZDEwZjUzMDlh
Yzg3YjlkZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjAtMDEtMDYgIEx1bWluZyBZ
aW4gIDxsdW1pbmdfeWluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgV0tXZWJWaWV3IFNQSSB0
byBxdWVyeSBfV0tNZWRpYU11dGVkU3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNTc4OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTgzMzUy
NDE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IHBsdW1iaW5nIGZvciBjbGllbnRzIHRvIHF1ZXJ5IHRoZSBtZWRpYSBtdXRlZCBzdGF0ZSBvbiBX
S1dlYlZpZXcuCisKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX21lZGlh
TXV0ZWRTdGF0ZV0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJp
dmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9NZWRpYVV0aWxpdGllcy5oOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFDYXB0dXJlVXRpbGl0
aWVzLmguCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL01lZGlhVXRpbGl0aWVzLm1tOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFDYXB0dXJlVXRpbGl0
aWVzLm1tLgorICAgICAgICAoV2ViS2l0Ojp0b1dLTWVkaWFDYXB0dXJlU3RhdGUpOgorICAgICAg
ICAoV2ViS2l0Ojp0b1dLTWVkaWFNdXRlZFN0YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bXV0ZWRTdGF0ZUZsYWdzIGNvbnN0KToKKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0wMS0wNiAg
eW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFJU
QyBWVEIgZW5jb2RlcnMgaW4gR1BVUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
b3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDYw
YjM5ZjM3YzU3ODU1NjIxZjI5ZjY2Yjk2MTdkOWE3YjNkYTcwM2QuLmZlNzU3OTUzNzYxYjk5ZjY5
YjgyOGMxMWJiYzBmMzMxYWVlZmMxOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNl
c0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTM2Nyw3
ICszNjcsNyBAQCBVSVByb2Nlc3MvQ29jb2EvRnVsbHNjcmVlbkNsaWVudC5tbQogVUlQcm9jZXNz
L0NvY29hL0dsb2JhbEZpbmRJblBhZ2VTdGF0ZS5tbQogVUlQcm9jZXNzL0NvY29hL0ljb25Mb2Fk
aW5nRGVsZWdhdGUubW0KIFVJUHJvY2Vzcy9Db2NvYS9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXJDbGllbnQubW0KLVVJUHJvY2Vzcy9Db2NvYS9NZWRpYUNhcHR1cmVVdGlsaXRpZXMubW0KK1VJ
UHJvY2Vzcy9Db2NvYS9NZWRpYVV0aWxpdGllcy5tbQogVUlQcm9jZXNzL0NvY29hL05hdmlnYXRp
b25TdGF0ZS5tbQogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KIFVJUHJv
Y2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDJjODJjMDM3MDUxMGUy
NjMzMTllYzBlNTdkZjFhYTgyZDc1YmZhZTEuLjFiMDRkYjhjZmRkMWNjZmQ1ODgzYWM0MDU3NzNi
Y2IwNzE4NDA5MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQpAQCAtMzgsNyArMzgsNyBAQAogI2ltcG9ydCAiSWNvbkxvYWRpbmdEZWxlZ2F0
ZS5oIgogI2ltcG9ydCAiTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmgiCiAjaW1wb3J0ICJMb2dn
aW5nLmgiCi0jaW1wb3J0ICJNZWRpYUNhcHR1cmVVdGlsaXRpZXMuaCIKKyNpbXBvcnQgIk1lZGlh
VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJOYXZpZ2F0aW9uU3RhdGUuaCIKICNpbXBvcnQgIk9iakNP
YmplY3RHcmFwaC5oIgogI2ltcG9ydCAiUGFnZUNsaWVudC5oIgpAQCAtMTczNyw2ICsxNzM3LDEx
IEBAIC0gKHZvaWQpX3RvZ2dsZVBpY3R1cmVJblBpY3R1cmUKICNlbmRpZgogfQogCistIChfV0tN
ZWRpYU11dGVkU3RhdGUpX21lZGlhTXV0ZWRTdGF0ZQoreworICAgIHJldHVybiBXZWJLaXQ6OnRv
V0tNZWRpYU11dGVkU3RhdGUoX3BhZ2UtPm11dGVkU3RhdGVGbGFncygpKTsKK30KKwogLSAodm9p
ZClfY2xvc2VBbGxNZWRpYVByZXNlbnRhdGlvbnMKIHsKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9B
UEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1ByaXZhdGUuaAppbmRleCA2MWJmN2VkNzY2ZThlOWMyMzllNTNiZGQzYzE2MDI2ZDMwODNiODQz
Li4yOTRjNGU3YTEzMTIyMTE5YjBkY2EzZDQ5MjA0MWVkYTk3ZTJkZGQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAg
LTI5Niw2ICsyOTYsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVjdEVk
Z2UpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfaXNJbkZ1bGxzY3Jl
ZW4gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMi4zKSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkb25seSkgX1dLTWVkaWFDYXB0dXJlU3RhdGUgX21lZGlhQ2FwdHVyZVN0YXRlIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUpLCBpb3MoMTMuMCkpOworQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWRvbmx5KSBfV0tNZWRpYU11dGVkU3RhdGUgX21lZGlhTXV0ZWRTdGF0ZSBXS19B
UElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiAtICh2
b2lkKV9zZXRQYWdlTXV0ZWQ6KF9XS01lZGlhTXV0ZWRTdGF0ZSltdXRlZFN0YXRlIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTAuMTMpLCBpb3MoMTEuMCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRpYUNhcHR1cmVVdGlsaXRpZXMuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhQ2FwdHVyZVV0aWxpdGllcy5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlNmU3MjliYWI0ZThhZTA2MmJlYjkwMTBiNGYxOTU5ZDdkYzFi
MGIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhQ2FwdHVyZVV0aWxpdGllcy5oCisrKyAvZGV2
L251bGwKQEAgLTEsMzcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW1w
b3J0ICJXS0ZvdW5kYXRpb24uaCIKLQotI2ltcG9ydCAiV0tXZWJWaWV3UHJpdmF0ZS5oIgotI2lt
cG9ydCA8V2ViQ29yZS9NZWRpYVByb2R1Y2VyLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1f
V0tNZWRpYUNhcHR1cmVTdGF0ZSB0b1dLTWVkaWFDYXB0dXJlU3RhdGUoV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRpYUNhcHR1cmVVdGlsaXRp
ZXMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRpYUNhcHR1cmVVdGlsaXRp
ZXMubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1YTZjODExZWVjYTFlY2ViZjNm
ZTk0NmIwZjJmMGJhN2I2MzU2MGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFDYXB0dXJlVXRp
bGl0aWVzLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJNZWRpYUNhcHR1cmVVdGlsaXRpZXMuaCIKLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci0KLV9XS01lZGlhQ2FwdHVyZVN0YXRlIHRvV0tNZWRpYUNhcHR1
cmVTdGF0ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3Mgc3RhdGUpCi17
Ci0gICAgX1dLTWVkaWFDYXB0dXJlU3RhdGUgbWVkaWFDYXB0dXJlU3RhdGUgPSBfV0tNZWRpYUNh
cHR1cmVTdGF0ZU5vbmU7Ci0gICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKQotICAgICAgICBtZWRpYUNhcHR1cmVTdGF0ZSB8
PSBfV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZU1pY3JvcGhvbmU7Ci0gICAgaWYgKHN0YXRlICYg
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlKQotICAg
ICAgICBtZWRpYUNhcHR1cmVTdGF0ZSB8PSBfV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZUNhbWVy
YTsKLSAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpIYXNNdXRlZEF1ZGlv
Q2FwdHVyZURldmljZSkKLSAgICAgICAgbWVkaWFDYXB0dXJlU3RhdGUgfD0gX1dLTWVkaWFDYXB0
dXJlU3RhdGVNdXRlZE1pY3JvcGhvbmU7Ci0gICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UpCi0gICAgICAgIG1lZGlhQ2FwdHVy
ZVN0YXRlIHw9IF9XS01lZGlhQ2FwdHVyZVN0YXRlTXV0ZWRDYW1lcmE7Ci0KLSAgICByZXR1cm4g
bWVkaWFDYXB0dXJlU3RhdGU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRpZXMuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhVXRpbGl0aWVzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTFh
NWQ5NDU1ZDcyMzk2ODIzNzdiNjA0ZDQ1NzUzZGU4MDZhMmQxMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhVXRpbGl0aWVzLmgKQEAgLTAsMCAr
MSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOC0yMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbXBvcnQgIldLRm91
bmRhdGlvbi5oIgorCisjaW1wb3J0ICJXS1dlYlZpZXdQcml2YXRlLmgiCisjaW1wb3J0IDxXZWJD
b3JlL01lZGlhUHJvZHVjZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK19XS01lZGlhQ2Fw
dHVyZVN0YXRlIHRvV0tNZWRpYUNhcHR1cmVTdGF0ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpN
ZWRpYVN0YXRlRmxhZ3MpOworX1dLTWVkaWFNdXRlZFN0YXRlIHRvV0tNZWRpYU11dGVkU3RhdGUo
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzKTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRp
YVV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhVXRpbGl0
aWVzLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY3OTI5ZmFiNTA1Y2M5NDdkYTdhZDNjOTNkNjcyNDAwYzQ1YmY3
NDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRp
YVV0aWxpdGllcy5tbQpAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFVdGlsaXRpZXMuaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK19XS01lZGlhQ2FwdHVyZVN0YXRlIHRvV0tNZWRpYUNhcHR1cmVTdGF0ZShXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3Mgc3RhdGUpCit7CisgICAgX1dLTWVk
aWFDYXB0dXJlU3RhdGUgbWVkaWFDYXB0dXJlU3RhdGUgPSBfV0tNZWRpYUNhcHR1cmVTdGF0ZU5v
bmU7CisgICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SGFzQWN0aXZlQXVk
aW9DYXB0dXJlRGV2aWNlKQorICAgICAgICBtZWRpYUNhcHR1cmVTdGF0ZSB8PSBfV0tNZWRpYUNh
cHR1cmVTdGF0ZUFjdGl2ZU1pY3JvcGhvbmU7CisgICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlKQorICAgICAgICBtZWRpYUNh
cHR1cmVTdGF0ZSB8PSBfV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZUNhbWVyYTsKKyAgICBpZiAo
c3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmlj
ZSkKKyAgICAgICAgbWVkaWFDYXB0dXJlU3RhdGUgfD0gX1dLTWVkaWFDYXB0dXJlU3RhdGVNdXRl
ZE1pY3JvcGhvbmU7CisgICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SGFz
TXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UpCisgICAgICAgIG1lZGlhQ2FwdHVyZVN0YXRlIHw9IF9X
S01lZGlhQ2FwdHVyZVN0YXRlTXV0ZWRDYW1lcmE7CisKKyAgICByZXR1cm4gbWVkaWFDYXB0dXJl
U3RhdGU7Cit9CisKK19XS01lZGlhTXV0ZWRTdGF0ZSB0b1dLTWVkaWFNdXRlZFN0YXRlKFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBzdGF0ZSkKK3sKKyAgICBfV0tNZWRp
YU11dGVkU3RhdGUgbWVkaWFNdXRlZFN0YXRlID0gX1dLTWVkaWFOb25lTXV0ZWQ7CisgICAgaWYg
KHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6Tm9uZU11dGVkKQorICAgICAgICBtZWRp
YU11dGVkU3RhdGUgfD0gX1dLTWVkaWFOb25lTXV0ZWQ7CisgICAgaWYgKHN0YXRlICYgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9Jc011dGVkKQorICAgICAgICBtZWRpYU11dGVkU3RhdGUg
fD0gX1dLTWVkaWFBdWRpb011dGVkOworICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZCkKKyAgICAgICAgbWVkaWFNdXRlZFN0
YXRlIHw9IF9XS01lZGlhQ2FwdHVyZURldmljZXNNdXRlZDsKKyAgICBpZiAoc3RhdGUgJiBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCkKKyAgICAgICAgbWVkaWFN
dXRlZFN0YXRlIHw9IF9XS01lZGlhU2NyZWVuQ2FwdHVyZU11dGVkOworICAgIHJldHVybiBtZWRp
YU11dGVkU3RhdGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXggZjkxODE4NjU3MzRiZGZlNGFmZGYw
MDcxNWQ4OTIwOGNkMzAxMzVhMi4uZWE5YTljYTM1NTgzNmEyNWNhMmQ3MGM1YmY2NzE0OWYxOWQw
MTRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0
ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCkBA
IC0yOSw3ICsyOSw3IEBACiAjaW1wb3J0ICJBUElGcmFtZUluZm8uaCIKICNpbXBvcnQgIkFQSUhp
dFRlc3RSZXN1bHQuaCIKICNpbXBvcnQgIkNvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIuaCIK
LSNpbXBvcnQgIk1lZGlhQ2FwdHVyZVV0aWxpdGllcy5oIgorI2ltcG9ydCAiTWVkaWFVdGlsaXRp
ZXMuaCIKICNpbXBvcnQgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIKICNpbXBvcnQgIk5hdmlnYXRp
b25BY3Rpb25EYXRhLmgiCiAjaW1wb3J0ICJVc2VyTWVkaWFQZXJtaXNzaW9uQ2hlY2tQcm94eS5o
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA3N2ZjMDQ1ODdjZDk5
YzM0ZGZkNWRmNjZiMTI3YzJhYWZkNGM2ODRlLi4yYzg3YjQ4ZTczYzJmZDM2MWEyYTBkYThjOGU3
NjZjZDJjNTdlMzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAt
MTM1OSw2ICsxMzU5LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzQWN0aXZlQXVkaW9TdHJlYW0o
KSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpI
YXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2U7IH0KICAgICBib29sIGhhc0FjdGl2ZVZpZGVvU3Ry
ZWFtKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNl
cjo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlOyB9CiAgICAgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6TWVkaWFTdGF0ZUZsYWdzIG1lZGlhU3RhdGVGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1f
bWVkaWFTdGF0ZTsgfQorICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFn
cyBtdXRlZFN0YXRlRmxhZ3MoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGU7IH0KKwogICAg
IHZvaWQgaGFuZGxlQXV0b3BsYXlFdmVudChXZWJDb3JlOjpBdXRvcGxheUV2ZW50LCBPcHRpb25T
ZXQ8V2ViQ29yZTo6QXV0b3BsYXlFdmVudEZsYWdzPik7CiAKICAgICB2b2lkIHZpZGVvQ29udHJv
bHNNYW5hZ2VyRGlkQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA1MGIyMTg4ODkwNjFiMjkyM2ZjOWJkMTJlZThmOWM1NzMz
NDMwNjAyLi42ODk3YWY1ZWMxOTkwY2QwZDU2M2FhNTVmZDQ4ODk1Mjg0NjBmMDVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMyNzcs
OCArMzI3Nyw4IEBACiAJCTQxMDQ4MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ05ldHdvcmsuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyog
UlRDTmV0d29yay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENOZXR3b3Jr
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTE0MzYzMjBGNjc3QjEwMDI2Rjkx
MiAvKiBJbmplY3RVc2VyU2NyaXB0SW1tZWRpYXRlbHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW5qZWN0VXNlclNjcmlwdEltbWVkaWF0ZWx5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTQxMTI4NkVGMjFDOEE5MEMwMDNBODU1MCAvKiBNZWRpYUNhcHR1cmVV
dGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFDYXB0dXJl
VXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxMTI4NkYwMjFDOEE5
MEQwMDNBODU1MCAvKiBNZWRpYUNhcHR1cmVVdGlsaXRpZXMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZWRpYUNhcHR1cmVVdGlsaXRpZXMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMTI4NkVGMjFDOEE5MEMwMDNBODU1MCAvKiBNZWRpYVV0
aWxpdGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVV0aWxpdGll
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTEyODZGMDIxQzhBOTBEMDAzQTg1
NTAgLyogTWVkaWFVdGlsaXRpZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBNZWRpYVV0aWxpdGllcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDExMkI1NDcxRjlGRDNBQjAwRTY3ODc1IC8qIE5ldHdvcmtSVENSZXNvbHZlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrUlRDUmVzb2x2ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTEyQjU0NzFGOUZEM0FCMDBFNjc5ODYgLyog
TmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTmV0d29ya1JUQ1Jlc29sdmVyQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTEyQjU0ODFGOUZEM0FDMDBFNjc4NzUgLyogTmV0d29ya1JUQ1Jlc29sdmVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtSVENSZXNvbHZlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTg4OCw4ICs1ODg4LDggQEAKIAkJCQk1
MUMwQzk3MzFEREQ3NEYwMDAzMkNBRDMgLyogSWNvbkxvYWRpbmdEZWxlZ2F0ZS5tbSAqLywKIAkJ
CQk3QTgyMUY0QjFFMkY2NjQ4MDA2MDQ1NzcgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
Q2xpZW50LmggKi8sCiAJCQkJN0E4MjFGNEQxRTJGNjc5RTAwNjA0NTc3IC8qIExlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlckNsaWVudC5tbSAqLywKLQkJCQk0MTEyODZFRjIxQzhBOTBDMDAzQTg1
NTAgLyogTWVkaWFDYXB0dXJlVXRpbGl0aWVzLmggKi8sCi0JCQkJNDExMjg2RjAyMUM4QTkwRDAw
M0E4NTUwIC8qIE1lZGlhQ2FwdHVyZVV0aWxpdGllcy5tbSAqLywKKwkJCQk0MTEyODZFRjIxQzhB
OTBDMDAzQTg1NTAgLyogTWVkaWFVdGlsaXRpZXMuaCAqLywKKwkJCQk0MTEyODZGMDIxQzhBOTBE
MDAzQTg1NTAgLyogTWVkaWFVdGlsaXRpZXMubW0gKi8sCiAJCQkJMUFCQzNERjQxODk5RTQzNzAw
NEYwNjI2IC8qIE5hdmlnYXRpb25TdGF0ZS5oICovLAogCQkJCTFBQkMzREYzMTg5OUU0MzcwMDRG
MDYyNiAvKiBOYXZpZ2F0aW9uU3RhdGUubW0gKi8sCiAJCQkJNUM2Q0U2RDMxRjU5RUEzNTAwMDdD
NkNCIC8qIFBhZ2VDbGllbnRJbXBsQ29jb2EuaCAqLywK
</data>

          </attachment>
      

    </bug>

</bugzilla>