<?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>202251</bug_id>
          
          <creation_ts>2019-09-25 17:25:41 -0700</creation_ts>
          <short_desc>Add replacement SPI on _WKWebsiteDataStoreConfiguration for enabling speculative cache validation and IPC-free server trust evaluation</short_desc>
          <delta_ts>2019-09-25 21:25:19 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1574300</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-25 17:25:41 -0700</bug_when>
    <thetext>Add replacement SPI on _WKWebsiteDataStoreConfiguration for enabling speculative cache validation and IPC-free server trust evaluation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574301</commentid>
    <comment_count>1</comment_count>
      <attachid>379596</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-25 17:28:54 -0700</bug_when>
    <thetext>Created attachment 379596
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574303</commentid>
    <comment_count>2</comment_count>
      <attachid>379598</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-25 17:37:42 -0700</bug_when>
    <thetext>Created attachment 379598
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574308</commentid>
    <comment_count>3</comment_count>
      <attachid>379599</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-25 17:47:34 -0700</bug_when>
    <thetext>Created attachment 379599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574354</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-25 21:24:38 -0700</bug_when>
    <thetext>http://trac.webkit.org/r250377</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574355</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-25 21:25:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/55730815&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379596</attachid>
            <date>2019-09-25 17:28:54 -0700</date>
            <delta_ts>2019-09-25 17:37:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202251-20190925172854.patch</filename>
            <type>text/plain</type>
            <size>18304</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTAzNzApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE5LTA5LTI1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIHJlcGxhY2Vt
ZW50IFNQSSBvbiBfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBmb3IgZW5hYmxpbmcg
c3BlY3VsYXRpdmUgY2FjaGUgdmFsaWRhdGlvbiBhbmQgSVBDLWZyZWUgc2VydmVyIHRydXN0IGV2
YWx1YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwMjI1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZXNlIGFyZSB0d28gcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9ucyB0aGF0IGFyZSBjdXJyZW50
bHkgcGVyLVByb2Nlc3NQb29sIHRoYXQgbmVlZCB0byBiZSBwZXItV2Vic2l0ZURhdGFTdG9yZS4K
KyAgICAgICAgVGhpcyBtYWtlcyByZXBsYWNlbWVudCBTUEkgYW5kIGRlcHJlY2F0ZXMgdGhlIG9s
ZCBTUEkuICBJJ20gZ29pbmcgdG8gYWRvcHQgdGhlIG5ldyBTUEkgdGhlbiByZW1vdmUgdGhlIG9s
ZCBTUEkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpOZXR3b3JrU2Vzc2lvbik6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRl
cnM6OmRlY29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVh
dGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3Jr
U2Vzc2lvbkNvY29hLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nl
c3Npb25Db2NvYS5tbToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVSTFNl
c3Npb246dGFzazpkaWRSZWNlaXZlQ2hhbGxlbmdlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNvY29hKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24u
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uLm1tOgorICAgICAgICAoLVtfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
biBuZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkXSk6CisgICAgICAgICgt
W19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIHNldE5ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlVmFsaWRhdGlvbkVuYWJsZWQ6XSk6CisgICAgICAgICgtW19XS1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uIGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkXSk6CisgICAgICAg
ICgtW19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIHNldEZhc3RTZXJ2ZXJUcnVzdEV2
YWx1YXRpb25FbmFibGVkOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2Nv
YS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRh
U3RvcmU6OnBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uOjpjb3B5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYktpdDo6
V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25F
bmFibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb246OnNldEZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkKToKKyAgICAgICAgKFdl
YktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246Om5ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlVmFsaWRhdGlvbkVuYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvbjo6c2V0TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9u
RW5hYmxlZCk6CisKIDIwMTktMDktMjUgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFw
cGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgc2VsZWN0aW9ucyBhZnRlciBzY3JvbGxpbmcgZm9y
IGlmcmFtZXMgYW5kIGhpZGUgc2VsZWN0aW9ucyB3aGlsZSBpZnJhbWVzIGFuZCBvdmVyZmxvdyBz
Y3JvbGxzIGFyZSBzY3JvbGxpbmcuCkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtTZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAkocmV2aXNpb24gMjUwMzUwKQorKysgU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTkwLDcgKzkwLDExIEBAIE5ldHdvcmtTZXNzaW9uOjpOZXR3b3JrU2Vzc2lvbihOZXR3b3JrUHIK
ICAgICAgICAgaWYgKCFuZXR3b3JrQ2FjaGVEaXJlY3RvcnkuaXNOdWxsKCkpCiAgICAgICAgICAg
ICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5uZXR3b3Jr
Q2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogCi0gICAgICAgIG1fY2FjaGUgPSBOZXR3
b3JrQ2FjaGU6OkNhY2hlOjpvcGVuKG5ldHdvcmtQcm9jZXNzLCBuZXR3b3JrQ2FjaGVEaXJlY3Rv
cnksIG5ldHdvcmtQcm9jZXNzLmNhY2hlT3B0aW9ucygpLCBtX3Nlc3Npb25JRCk7CisgICAgICAg
IGF1dG8gY2FjaGVPcHRpb25zID0gbmV0d29ya1Byb2Nlc3MuY2FjaGVPcHRpb25zKCk7CisgICAg
ICAgIGlmIChwYXJhbWV0ZXJzLm5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJs
ZWQpCisgICAgICAgICAgICBjYWNoZU9wdGlvbnMuYWRkKE5ldHdvcmtDYWNoZTo6Q2FjaGVPcHRp
b246OlNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uKTsKKworICAgICAgICBtX2NhY2hlID0gTmV0d29y
a0NhY2hlOjpDYWNoZTo6b3BlbihuZXR3b3JrUHJvY2VzcywgbmV0d29ya0NhY2hlRGlyZWN0b3J5
LCBjYWNoZU9wdGlvbnMsIG1fc2Vzc2lvbklEKTsKICAgICAgICAgaWYgKCFtX2NhY2hlKQogICAg
ICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTmV0d29ya0NhY2hlLCAiRmFpbGVkIHRvIGluaXRp
YWxpemUgdGhlIFdlYktpdCBuZXR3b3JrIGRpc2sgY2FjaGUiKTsKICAgICB9CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtT
ZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkocmV2aXNpb24gMjUwMzUxKQorKysgU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDggQEAgdm9pZCBOZXR3b3JrU2Vzc2lvbkNy
ZWF0aW9uUGFyYW1ldGVyczo6ZQogICAgIGVuY29kZXIgPDwgZGV2aWNlTWFuYWdlbWVudFJlc3Ry
aWN0aW9uc0VuYWJsZWQ7CiAgICAgZW5jb2RlciA8PCBhbGxMb2Fkc0Jsb2NrZWRCeURldmljZU1h
bmFnZW1lbnRSZXN0cmljdGlvbnNGb3JUZXN0aW5nOwogICAgIGVuY29kZXIgPDwgZGF0YUNvbm5l
Y3Rpb25TZXJ2aWNlVHlwZTsKKyAgICBlbmNvZGVyIDw8IGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRp
b25FbmFibGVkOworICAgIGVuY29kZXIgPDwgbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0
aW9uRW5hYmxlZDsKIH0KIAogT3B0aW9uYWw8TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRl
cnM+IE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVy
JiBkZWNvZGVyKQpAQCAtMjI0LDYgKzIyNiwxNiBAQCBPcHRpb25hbDxOZXR3b3JrU2Vzc2lvbkNy
ZWF0aW9uUGFyYW1ldGVyCiAgICAgaWYgKCFkYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKQogICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIAorICAgIE9wdGlvbmFsPGJvb2w+IGZhc3RT
ZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkOworICAgIGRlY29kZXIgPj4gZmFzdFNlcnZlclRy
dXN0RXZhbHVhdGlvbkVuYWJsZWQ7CisgICAgaWYgKCFmYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9u
RW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAKKyAgICBPcHRpb25h
bDxib29sPiBuZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkOworICAgIGRl
Y29kZXIgPj4gbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZDsKKyAgICBp
ZiAoIW5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisgICAgCiAgICAgcmV0dXJuIHt7CiAgICAgICAgICpzZXNzaW9u
SUQKICAgICAgICAgLCBXVEZNb3ZlKCpib3VuZEludGVyZmFjZUlkZW50aWZpZXIpCkBAIC0yNTgs
NyArMjcwLDkgQEAgT3B0aW9uYWw8TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcgogICAg
ICAgICAsIFdURk1vdmUoKnJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW51YWxQcmV2YWxlbnRSZXNv
dXJjZSkKICAgICAgICAgLCBXVEZNb3ZlKCpuZXR3b3JrQ2FjaGVEaXJlY3RvcnkpCiAgICAgICAg
ICwgV1RGTW92ZSgqbmV0d29ya0NhY2hlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKQotICAgICAg
ICAsIFdURk1vdmUoKmRhdGFDb25uZWN0aW9uU2VydmljZVR5cGUpLAorICAgICAgICAsIFdURk1v
dmUoKmRhdGFDb25uZWN0aW9uU2VydmljZVR5cGUpCisgICAgICAgICwgV1RGTW92ZSgqZmFzdFNl
cnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQpCisgICAgICAgICwgV1RGTW92ZSgqbmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCkKICAgICB9fTsKIH0KIApJbmRleDogU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVy
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nl
c3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjUwMzUxKQorKysgU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oCSh3
b3JraW5nIGNvcHkpCkBAIC05Myw2ICs5Myw4IEBAIHN0cnVjdCBOZXR3b3JrU2Vzc2lvbkNyZWF0
aW9uUGFyYW1ldGVycyAKICAgICBTdHJpbmcgbmV0d29ya0NhY2hlRGlyZWN0b3J5OwogICAgIFNh
bmRib3hFeHRlbnNpb246OkhhbmRsZSBuZXR3b3JrQ2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5k
bGU7CiAgICAgU3RyaW5nIGRhdGFDb25uZWN0aW9uU2VydmljZVR5cGU7CisgICAgYm9vbCBmYXN0
U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBuZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgJKHJldmlzaW9uIDI1MDM1MCkK
KysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2Nv
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw2ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
Y29udGludWVEaWRSZWNlaXZlQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlJiwgTmV0d29ya0RhdGFUYXNrQ29jb2E6OlRhc2tJZGVudGlmaWVyLCBOZXR3b3Jr
RGF0YVRhc2tDb2NvYSosIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViS2l0OjpBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJik+JiYp
OwogCisgICAgYm9vbCBmYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQ7IH0KICAgICBib29sIGRl
dmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9kZXZp
Y2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zRW5hYmxlZDsgfQogICAgIGJvb2wgYWxsTG9hZHNCbG9j
a2VkQnlEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zRm9yVGVzdGluZygpIGNvbnN0IHsgcmV0
dXJuIG1fYWxsTG9hZHNCbG9ja2VkQnlEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zRm9yVGVz
dGluZzsgfQogICAgIERNRldlYnNpdGVQb2xpY3lNb25pdG9yICpkZXZpY2VNYW5hZ2VtZW50UG9s
aWN5TW9uaXRvcigpOwpAQCAtMTM2LDYgKzEzNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Fs
bExvYWRzQmxvY2tlZEJ5RGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9uc0ZvclRlc3RpbmcgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRMb2dDb29raWVJbmZvcm1hdGlvbiB7IGZhbHNlIH07
CiAgICAgU2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CisgICAgYm9vbCBtX2Zhc3RTZXJ2
ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3Jr
U2Vzc2lvbkNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQkocmV2aXNpb24gMjUwMzUwKQorKysgU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC01NzgsNyArNTc4LDcgQEAgLSAodm9pZClVUkxTZXNzaW9uOihOU1VS
TFNlc3Npb24gKilzZXNzaQogICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKE5T
VVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VVc2VDcmVkZW50aWFsLCBbTlNVUkxDcmVkZW50aWFsIGNy
ZWRlbnRpYWxGb3JUcnVzdDpjaGFsbGVuZ2UucHJvdGVjdGlvblNwYWNlLnNlcnZlclRydXN0XSk7
CiAKICAgICAgICAgLy8gSGFuZGxlIHNlcnZlciB0cnVzdCBldmFsdWF0aW9uIGF0IHBsYXRmb3Jt
LWxldmVsIGlmIHJlcXVlc3RlZCwgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgYW5kIHRvIHVzZSBB
VFMgZGVmYXVsdHMuCi0gICAgICAgIGlmICghX3Nlc3Npb24tPm5ldHdvcmtQcm9jZXNzKCkuY2Fu
SGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oKSkgeworICAgICAgICBpZiAoIV9zZXNz
aW9uLT5uZXR3b3JrUHJvY2VzcygpLmNhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9u
KCkgfHwgX3Nlc3Npb24tPmZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkKCkpIHsKICNp
ZiBIQVZFKENGTkVUV09SS19OU1VSTFNFU1NJT05fU1RSSUNUUlVTVEVWQUxVQVRFKQogICAgICAg
ICAgICAgaWYgKGNhbk5TVVJMU2Vzc2lvblRydXN0RXZhbHVhdGUoKSkgewogICAgICAgICAgICAg
ICAgIGF1dG8qIG5ldHdvcmtEYXRhVGFzayA9IFtzZWxmIGV4aXN0aW5nVGFzazp0YXNrXTsKQEAg
LTkyMiw2ICs5MjIsNyBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNvY29h
CiAgICAgLCBtX3Byb3h5Q29uZmlndXJhdGlvbihwYXJhbWV0ZXJzLnByb3h5Q29uZmlndXJhdGlv
bikKICAgICAsIG1fc2hvdWxkTG9nQ29va2llSW5mb3JtYXRpb24ocGFyYW1ldGVycy5zaG91bGRM
b2dDb29raWVJbmZvcm1hdGlvbikKICAgICAsIG1fbG9hZFRocm90dGxlTGF0ZW5jeShwYXJhbWV0
ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kpCisgICAgLCBtX2Zhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRp
b25FbmFibGVkKHBhcmFtZXRlcnMuZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQpCiB7
CiAgICAgQVNTRVJUKGhhc1Byb2Nlc3NQcml2aWxlZ2UoUHJvY2Vzc1ByaXZpbGVnZTo6Q2FuQWNj
ZXNzUmF3Q29va2llcykpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S0NvbnRleHRQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCShyZXZpc2lvbiAyNTAzNTApCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTY3LDExICs2NywxMSBAQCBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRSZWdpc3RlclVSTFNjaGVt
CiAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5G
b3JVUkxTY2hlbWUoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIHVybFNjaGVtZSk7
CiAKLVdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RF
dmFsdWF0aW9uKFdLQ29udGV4dFJlZiBjb250ZXh0LCBib29sIHZhbHVlKTsKK1dLX0VYUE9SVCB2
b2lkIFdLQ29udGV4dFNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKFdLQ29u
dGV4dFJlZiBjb250ZXh0LCBib29sIHZhbHVlKSBXS19DX0FQSV9ERVBSRUNBVEVEOwogCiBXS19F
WFBPUlQgdm9pZCBXS0NvbnRleHRTZXRQcmV3YXJtc1Byb2Nlc3Nlc0F1dG9tYXRpY2FsbHkoV0tD
b250ZXh0UmVmIGNvbnRleHQsIGJvb2wgdmFsdWUpOwogCi1XS19FWFBPUlQgdm9pZCBXS0NvbnRl
eHRTZXREaXNrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKFdLQ29udGV4dFJlZiBj
b250ZXh0LCBib29sIHZhbHVlKTsKK1dLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERpc2tDYWNo
ZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoV0tDb250ZXh0UmVmIGNvbnRleHQsIGJvb2wg
dmFsdWUpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7CiAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNl
dEljb25EYXRhYmFzZVBhdGgoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIGljb25E
YXRhYmFzZVBhdGgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tQcm9jZXNzUG9vbFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAkocmV2aXNpb24gMjUwMzUwKQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uICpfY29uZmlndXJhdGlvbjsK
IAogLSAodm9pZClfc2V0QWxsb3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOihOU0FycmF5ICop
Y2VydGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3Q7Ci0tICh2b2lkKV9zZXRD
YW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbjooQk9PTCl2YWx1ZSBXS19BUElfQVZB
SUxBQkxFKG1hY29zKDEwLjExKSwgaW9zKDkuMCkpOworLSAodm9pZClfc2V0Q2FuSGFuZGxlSFRU
UFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb246KEJPT0wpdmFsdWUgV0tfQVBJX0RFUFJFQ0FURURfV0lU
SF9SRVBMQUNFTUVOVCgiX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZmFzdFNlcnZl
clRydXN0RXZhbHVhdGlvbkVuYWJsZWQiLCBtYWNvcygxMC4xMSwgV0tfTUFDX1RCQSksIGlvcyg5
LjAsIFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3NldENvb2tpZUFjY2VwdFBvbGljeTooTlNIVFRQ
Q29va2llQWNjZXB0UG9saWN5KXBvbGljeTsKIAogLSAoaWQpX29iamVjdEZvckJ1bmRsZVBhcmFt
ZXRlcjooTlNTdHJpbmcgKilwYXJhbWV0ZXI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbi5oCShyZXZpc2lvbiAyNTAzNTApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUy
LDcgKzUyLDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMAogQHBy
b3BlcnR5IChub25hdG9taWMpIE5TSW50ZWdlciBkaXNrQ2FjaGVTaXplT3ZlcnJpZGUgV0tfQVBJ
X0RFUFJFQ0FURUQoIlVzZSBbV0tXZWJzaXRlRGF0YVN0b3JlIG5vblBlcnNpc3RlbnREYXRhU3Rv
cmVdIHRvIGxpbWl0IGRpc2sgY2FjaGUgc2l6ZSB0byAwIiwgbWFjb3MoMTAuMTEsIDEwLjE0LjQp
LCBpb3MoOS4wLCAxMi4yKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNBcnJheSAq
Y2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXM7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkg
TlNBcnJheTxOU1N0cmluZyAqPiAqYWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTAuMTIpLCBpb3MoMTAuMCkpOwotQHByb3BlcnR5IChub25hdG9taWMp
IEJPT0wgZGlza0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEwLjEyKSwgaW9zKDEwLjApKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09M
IGRpc2tDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgV0tfQVBJX0RFUFJFQ0FURURf
V0lUSF9SRVBMQUNFTUVOVCgiX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCIsIG1hY29zKDEwLjEyLCBXS19NQUNf
VEJBKSwgaW9zKDEwLjAsIFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxs
YWJsZSwgY29weSkgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciBX
S19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJfV0tXZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIiLCBtYWNvcygxMC4x
Mi4zLCAxMC4xNC40KSwgaW9zKDEwLjMsIDEyLjIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBu
dWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRp
ZmllciBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJfV0tXZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIiLCBt
YWNvcygxMC4xMi4zLCAxMC4xNC40KSwgaW9zKDEwLjMsIDEyLjIpKTsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIHNob3VsZENhcHR1cmVBdWRpb0luVUlQcm9jZXNzIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3MoMTAuMTMpLCBpb3MoMTEuMCkpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDI1MDM1MCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Myw2ICs0Myw4IEBAIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvcygxMC4x
MyksIGlvcygxMS4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSwgc2V0dGVy
PXNldEhUVFBQcm94eTopIE5TVVJMICpodHRwUHJveHkgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygx
MC4xNC40KSwgaW9zKDEyLjIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29w
eSwgc2V0dGVyPXNldEhUVFBTUHJveHk6KSBOU1VSTCAqaHR0cHNQcm94eSBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEwLjE0LjQpLCBpb3MoMTIuMikpOwogQHByb3BlcnR5IChub25hdG9taWMpIEJP
T0wgZGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9uc0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
KSBCT09MIG5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljKSBCT09MIGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiBAcHJvcGVydHkg
KG5vbmF0b21pYykgTlNVSW50ZWdlciBwZXJPcmlnaW5TdG9yYWdlUXVvdGEgV0tfQVBJX0FWQUlM
QUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKmJvdW5kSW50ZXJmYWNlSWRlbnRpZmll
ciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dzQ2VsbHVsYXJBY2Nlc3MgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJh
dGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0JKHJldmlzaW9uIDI1MDM1MikKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMjkwLDYgKzI5MCwyNiBAQCAtICh2b2lk
KXNldERldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFCiAgICAgX2NvbmZpZ3VyYXRpb24tPnNl
dERldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFbmFibGVkKGVuYWJsZWQpOwogfQogCistIChC
T09MKW5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQKK3sKKyAgICByZXR1
cm4gX2NvbmZpZ3VyYXRpb24tPm5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJs
ZWQoKTsKK30KKworLSAodm9pZClzZXROZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25F
bmFibGVkOihCT09MKWVuYWJsZWQKK3sKKyAgICBfY29uZmlndXJhdGlvbi0+c2V0TmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZChlbmFibGVkKTsKK30KKworLSAoQk9PTClm
YXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZAoreworICAgIHJldHVybiBfY29uZmlndXJh
dGlvbi0+ZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQoKTsKK30KKworLSAodm9pZClz
ZXRGYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZDooQk9PTCllbmFibGVkCit7CisgICAg
cmV0dXJuIF9jb25maWd1cmF0aW9uLT5zZXRGYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxl
ZChlbmFibGVkKTsKK30KKwogLSAoTlNVSW50ZWdlcilwZXJPcmlnaW5TdG9yYWdlUXVvdGEKIHsK
ICAgICByZXR1cm4gX2NvbmZpZ3VyYXRpb24tPnBlck9yaWdpblN0b3JhZ2VRdW90YSgpOwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjUw
MzUyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw4IEBAIFJl
ZjxXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2kKIHsKICAgICBhdXRvIGNvcHkg
PSBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y3JlYXRlKG1faXNQZXJzaXN0ZW50KTsK
IAorICAgIGNvcHktPm1fZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQgPSB0aGlzLT5t
X2Zhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkOworICAgIGNvcHktPm1fbmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCA9IHRoaXMtPm1fbmV0d29ya0NhY2hlU3Bl
Y3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZDsKICAgICBjb3B5LT5tX2NhY2hlU3RvcmFnZURpcmVj
dG9yeSA9IHRoaXMtPm1fY2FjaGVTdG9yYWdlRGlyZWN0b3J5OwogICAgIGNvcHktPm1fcGVyT3Jp
Z2luU3RvcmFnZVF1b3RhID0gdGhpcy0+bV9wZXJPcmlnaW5TdG9yYWdlUXVvdGE7CiAgICAgY29w
eS0+bV9uZXR3b3JrQ2FjaGVEaXJlY3RvcnkgPSB0aGlzLT5tX25ldHdvcmtDYWNoZURpcmVjdG9y
eTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAkocmV2aXNpb24g
MjUwMzUyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZUNvbmZpZ3VyYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNzYsNiArNzYsMTIgQEAg
cHVibGljOgogICAgIGJvb2wgYWxsb3dzQ2VsbHVsYXJBY2Nlc3MoKSBjb25zdCB7IHJldHVybiBt
X2FsbG93c0NlbGx1bGFyQWNjZXNzOyB9CiAgICAgdm9pZCBzZXRBbGxvd3NDZWxsdWxhckFjY2Vz
cyhib29sIGFsbG93cykgeyBtX2FsbG93c0NlbGx1bGFyQWNjZXNzID0gYWxsb3dzOyB9CiAKKyAg
ICBib29sIGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZDsgfQorICAgIHZvaWQgc2V0RmFzdFNl
cnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fZmFzdFNlcnZlclRy
dXN0RXZhbHVhdGlvbkVuYWJsZWQgPSBlbmFibGVkOyB9CisKKyAgICBib29sIG5ldHdvcmtDYWNo
ZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX25ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQ7IH0KKyAgICB2b2lkIHNldE5ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fbmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCA9IGVuYWJsZWQ7IH0KKwogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIENGRGljdGlvbmFyeVJlZiBwcm94eUNvbmZpZ3VyYXRpb24oKSBj
b25zdCB7IHJldHVybiBtX3Byb3h5Q29uZmlndXJhdGlvbi5nZXQoKTsgfQogICAgIHZvaWQgc2V0
UHJveHlDb25maWd1cmF0aW9uKENGRGljdGlvbmFyeVJlZiBjb25maWd1cmF0aW9uKSB7IG1fcHJv
eHlDb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjsgfQpAQCAtMTUzLDYgKzE1OSw4IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2RldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFbmFibGVkIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fYWxsTG9hZHNCbG9ja2VkQnlEZXZpY2VNYW5hZ2VtZW50UmVz
dHJpY3Rpb25zRm9yVGVzdGluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2FsbG93c0NlbGx1bGFy
QWNjZXNzIHsgdHJ1ZSB9OworICAgIGJvb2wgbV9mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5h
YmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX25ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRh
dGlvbkVuYWJsZWQgeyBmYWxzZSB9OwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFJldGFpblB0
cjxDRkRpY3Rpb25hcnlSZWY+IG1fcHJveHlDb25maWd1cmF0aW9uOwogI2VuZGlmCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3Jl
Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCShyZXZpc2lvbiAyNTAzNTApCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3Jl
Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTE0Myw2ICsxNDMsOCBAQCBXZWJzaXRlRGF0YVN0
b3JlUGFyYW1ldGVycyBXZWJzaXRlRGF0YVN0CiAgICAgICAgIFdURk1vdmUobmV0d29ya0NhY2hl
RGlyZWN0b3J5KSwKICAgICAgICAgV1RGTW92ZShuZXR3b3JrQ2FjaGVEaXJlY3RvcnlFeHRlbnNp
b25IYW5kbGUpLAogICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPmRhdGFDb25uZWN0aW9uU2Vydmlj
ZVR5cGUoKSwKKyAgICAgICAgbV9jb25maWd1cmF0aW9uLT5mYXN0U2VydmVyVHJ1c3RFdmFsdWF0
aW9uRW5hYmxlZCgpLAorICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPm5ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoKSwKICAgICB9OwogICAgIG5ldHdvcmtpbmdIYXNCZWd1
bigpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379598</attachid>
            <date>2019-09-25 17:37:42 -0700</date>
            <delta_ts>2019-09-25 17:47:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202251-20190925173741.patch</filename>
            <type>text/plain</type>
            <size>18364</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTAzNzApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE5LTA5LTI1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIHJlcGxhY2Vt
ZW50IFNQSSBvbiBfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBmb3IgZW5hYmxpbmcg
c3BlY3VsYXRpdmUgY2FjaGUgdmFsaWRhdGlvbiBhbmQgSVBDLWZyZWUgc2VydmVyIHRydXN0IGV2
YWx1YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwMjI1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZXNlIGFyZSB0d28gcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9ucyB0aGF0IGFyZSBjdXJyZW50
bHkgcGVyLVByb2Nlc3NQb29sIHRoYXQgbmVlZCB0byBiZSBwZXItV2Vic2l0ZURhdGFTdG9yZS4K
KyAgICAgICAgVGhpcyBtYWtlcyByZXBsYWNlbWVudCBTUEkgYW5kIGRlcHJlY2F0ZXMgdGhlIG9s
ZCBTUEkuICBJJ20gZ29pbmcgdG8gYWRvcHQgdGhlIG5ldyBTUEkgdGhlbiByZW1vdmUgdGhlIG9s
ZCBTUEkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpOZXR3b3JrU2Vzc2lvbik6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRl
cnM6OmRlY29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVh
dGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3Jr
U2Vzc2lvbkNvY29hLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nl
c3Npb25Db2NvYS5tbToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVSTFNl
c3Npb246dGFzazpkaWRSZWNlaXZlQ2hhbGxlbmdlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNvY29hKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24u
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uLm1tOgorICAgICAgICAoLVtfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
biBuZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkXSk6CisgICAgICAgICgt
W19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIHNldE5ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlVmFsaWRhdGlvbkVuYWJsZWQ6XSk6CisgICAgICAgICgtW19XS1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uIGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkXSk6CisgICAgICAg
ICgtW19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIHNldEZhc3RTZXJ2ZXJUcnVzdEV2
YWx1YXRpb25FbmFibGVkOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2Nv
YS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRh
U3RvcmU6OnBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uOjpjb3B5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYktpdDo6
V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25F
bmFibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb246OnNldEZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkKToKKyAgICAgICAgKFdl
YktpdDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246Om5ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlVmFsaWRhdGlvbkVuYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvbjo6c2V0TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9u
RW5hYmxlZCk6CisKIDIwMTktMDktMjUgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFw
cGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgc2VsZWN0aW9ucyBhZnRlciBzY3JvbGxpbmcgZm9y
IGlmcmFtZXMgYW5kIGhpZGUgc2VsZWN0aW9ucyB3aGlsZSBpZnJhbWVzIGFuZCBvdmVyZmxvdyBz
Y3JvbGxzIGFyZSBzY3JvbGxpbmcuCkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtTZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAkocmV2aXNpb24gMjUwMzUwKQorKysgU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTkwLDcgKzkwLDEzIEBAIE5ldHdvcmtTZXNzaW9uOjpOZXR3b3JrU2Vzc2lvbihOZXR3b3JrUHIK
ICAgICAgICAgaWYgKCFuZXR3b3JrQ2FjaGVEaXJlY3RvcnkuaXNOdWxsKCkpCiAgICAgICAgICAg
ICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5uZXR3b3Jr
Q2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogCi0gICAgICAgIG1fY2FjaGUgPSBOZXR3
b3JrQ2FjaGU6OkNhY2hlOjpvcGVuKG5ldHdvcmtQcm9jZXNzLCBuZXR3b3JrQ2FjaGVEaXJlY3Rv
cnksIG5ldHdvcmtQcm9jZXNzLmNhY2hlT3B0aW9ucygpLCBtX3Nlc3Npb25JRCk7CisgICAgICAg
IGF1dG8gY2FjaGVPcHRpb25zID0gbmV0d29ya1Byb2Nlc3MuY2FjaGVPcHRpb25zKCk7CisjaWYg
RU5BQkxFKE5FVFdPUktfQ0FDSEVfU1BFQ1VMQVRJVkVfUkVWQUxJREFUSU9OKQorICAgICAgICBp
ZiAocGFyYW1ldGVycy5uZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKQor
ICAgICAgICAgICAgY2FjaGVPcHRpb25zLmFkZChOZXR3b3JrQ2FjaGU6OkNhY2hlT3B0aW9uOjpT
cGVjdWxhdGl2ZVJldmFsaWRhdGlvbik7CisjZW5kaWYKKworICAgICAgICBtX2NhY2hlID0gTmV0
d29ya0NhY2hlOjpDYWNoZTo6b3BlbihuZXR3b3JrUHJvY2VzcywgbmV0d29ya0NhY2hlRGlyZWN0
b3J5LCBjYWNoZU9wdGlvbnMsIG1fc2Vzc2lvbklEKTsKICAgICAgICAgaWYgKCFtX2NhY2hlKQog
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTmV0d29ya0NhY2hlLCAiRmFpbGVkIHRvIGlu
aXRpYWxpemUgdGhlIFdlYktpdCBuZXR3b3JrIGRpc2sgY2FjaGUiKTsKICAgICB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkocmV2aXNpb24gMjUwMzUxKQorKysgU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVy
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDggQEAgdm9pZCBOZXR3b3JrU2Vzc2lv
bkNyZWF0aW9uUGFyYW1ldGVyczo6ZQogICAgIGVuY29kZXIgPDwgZGV2aWNlTWFuYWdlbWVudFJl
c3RyaWN0aW9uc0VuYWJsZWQ7CiAgICAgZW5jb2RlciA8PCBhbGxMb2Fkc0Jsb2NrZWRCeURldmlj
ZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNGb3JUZXN0aW5nOwogICAgIGVuY29kZXIgPDwgZGF0YUNv
bm5lY3Rpb25TZXJ2aWNlVHlwZTsKKyAgICBlbmNvZGVyIDw8IGZhc3RTZXJ2ZXJUcnVzdEV2YWx1
YXRpb25FbmFibGVkOworICAgIGVuY29kZXIgPDwgbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxp
ZGF0aW9uRW5hYmxlZDsKIH0KIAogT3B0aW9uYWw8TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFt
ZXRlcnM+IE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNv
ZGVyJiBkZWNvZGVyKQpAQCAtMjI0LDYgKzIyNiwxNiBAQCBPcHRpb25hbDxOZXR3b3JrU2Vzc2lv
bkNyZWF0aW9uUGFyYW1ldGVyCiAgICAgaWYgKCFkYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlKQog
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIAorICAgIE9wdGlvbmFsPGJvb2w+IGZh
c3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkOworICAgIGRlY29kZXIgPj4gZmFzdFNlcnZl
clRydXN0RXZhbHVhdGlvbkVuYWJsZWQ7CisgICAgaWYgKCFmYXN0U2VydmVyVHJ1c3RFdmFsdWF0
aW9uRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAKKyAgICBPcHRp
b25hbDxib29sPiBuZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkOworICAg
IGRlY29kZXIgPj4gbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZDsKKyAg
ICBpZiAoIW5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQpCisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgCiAgICAgcmV0dXJuIHt7CiAgICAgICAgICpzZXNz
aW9uSUQKICAgICAgICAgLCBXVEZNb3ZlKCpib3VuZEludGVyZmFjZUlkZW50aWZpZXIpCkBAIC0y
NTgsNyArMjcwLDkgQEAgT3B0aW9uYWw8TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcgog
ICAgICAgICAsIFdURk1vdmUoKnJlc291cmNlTG9hZFN0YXRpc3RpY3NNYW51YWxQcmV2YWxlbnRS
ZXNvdXJjZSkKICAgICAgICAgLCBXVEZNb3ZlKCpuZXR3b3JrQ2FjaGVEaXJlY3RvcnkpCiAgICAg
ICAgICwgV1RGTW92ZSgqbmV0d29ya0NhY2hlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKQotICAg
ICAgICAsIFdURk1vdmUoKmRhdGFDb25uZWN0aW9uU2VydmljZVR5cGUpLAorICAgICAgICAsIFdU
Rk1vdmUoKmRhdGFDb25uZWN0aW9uU2VydmljZVR5cGUpCisgICAgICAgICwgV1RGTW92ZSgqZmFz
dFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQpCisgICAgICAgICwgV1RGTW92ZSgqbmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCkKICAgICB9fTsKIH0KIApJbmRleDog
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1l
dGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjUwMzUxKQorKysgU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5o
CSh3b3JraW5nIGNvcHkpCkBAIC05Myw2ICs5Myw4IEBAIHN0cnVjdCBOZXR3b3JrU2Vzc2lvbkNy
ZWF0aW9uUGFyYW1ldGVycyAKICAgICBTdHJpbmcgbmV0d29ya0NhY2hlRGlyZWN0b3J5OwogICAg
IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBuZXR3b3JrQ2FjaGVEaXJlY3RvcnlFeHRlbnNpb25I
YW5kbGU7CiAgICAgU3RyaW5nIGRhdGFDb25uZWN0aW9uU2VydmljZVR5cGU7CisgICAgYm9vbCBm
YXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBuZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkIHsgZmFsc2UgfTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgJKHJldmlzaW9uIDI1MDM1
MCkKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25D
b2NvYS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw2ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgY29udGludWVEaWRSZWNlaXZlQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiwgTmV0d29ya0RhdGFUYXNrQ29jb2E6OlRhc2tJZGVudGlmaWVyLCBOZXR3
b3JrRGF0YVRhc2tDb2NvYSosIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViS2l0OjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJik+
JiYpOwogCisgICAgYm9vbCBmYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQ7IH0KICAgICBib29s
IGRldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9k
ZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zRW5hYmxlZDsgfQogICAgIGJvb2wgYWxsTG9hZHNC
bG9ja2VkQnlEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zRm9yVGVzdGluZygpIGNvbnN0IHsg
cmV0dXJuIG1fYWxsTG9hZHNCbG9ja2VkQnlEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zRm9y
VGVzdGluZzsgfQogICAgIERNRldlYnNpdGVQb2xpY3lNb25pdG9yICpkZXZpY2VNYW5hZ2VtZW50
UG9saWN5TW9uaXRvcigpOwpAQCAtMTM2LDYgKzEzNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2FsbExvYWRzQmxvY2tlZEJ5RGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9uc0ZvclRlc3Rpbmcg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRMb2dDb29raWVJbmZvcm1hdGlvbiB7IGZhbHNl
IH07CiAgICAgU2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CisgICAgYm9vbCBtX2Zhc3RT
ZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrU2Vzc2lvbkNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQkocmV2aXNpb24gMjUwMzUwKQorKysg
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC01NzgsNyArNTc4LDcgQEAgLSAodm9pZClVUkxTZXNzaW9uOihO
U1VSTFNlc3Npb24gKilzZXNzaQogICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVy
KE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VVc2VDcmVkZW50aWFsLCBbTlNVUkxDcmVkZW50aWFs
IGNyZWRlbnRpYWxGb3JUcnVzdDpjaGFsbGVuZ2UucHJvdGVjdGlvblNwYWNlLnNlcnZlclRydXN0
XSk7CiAKICAgICAgICAgLy8gSGFuZGxlIHNlcnZlciB0cnVzdCBldmFsdWF0aW9uIGF0IHBsYXRm
b3JtLWxldmVsIGlmIHJlcXVlc3RlZCwgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgYW5kIHRvIHVz
ZSBBVFMgZGVmYXVsdHMuCi0gICAgICAgIGlmICghX3Nlc3Npb24tPm5ldHdvcmtQcm9jZXNzKCku
Y2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oKSkgeworICAgICAgICBpZiAoIV9z
ZXNzaW9uLT5uZXR3b3JrUHJvY2VzcygpLmNhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0
aW9uKCkgfHwgX3Nlc3Npb24tPmZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkKCkpIHsK
ICNpZiBIQVZFKENGTkVUV09SS19OU1VSTFNFU1NJT05fU1RSSUNUUlVTVEVWQUxVQVRFKQogICAg
ICAgICAgICAgaWYgKGNhbk5TVVJMU2Vzc2lvblRydXN0RXZhbHVhdGUoKSkgewogICAgICAgICAg
ICAgICAgIGF1dG8qIG5ldHdvcmtEYXRhVGFzayA9IFtzZWxmIGV4aXN0aW5nVGFzazp0YXNrXTsK
QEAgLTkyMiw2ICs5MjIsNyBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNv
Y29hCiAgICAgLCBtX3Byb3h5Q29uZmlndXJhdGlvbihwYXJhbWV0ZXJzLnByb3h5Q29uZmlndXJh
dGlvbikKICAgICAsIG1fc2hvdWxkTG9nQ29va2llSW5mb3JtYXRpb24ocGFyYW1ldGVycy5zaG91
bGRMb2dDb29raWVJbmZvcm1hdGlvbikKICAgICAsIG1fbG9hZFRocm90dGxlTGF0ZW5jeShwYXJh
bWV0ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kpCisgICAgLCBtX2Zhc3RTZXJ2ZXJUcnVzdEV2YWx1
YXRpb25FbmFibGVkKHBhcmFtZXRlcnMuZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQp
CiB7CiAgICAgQVNTRVJUKGhhc1Byb2Nlc3NQcml2aWxlZ2UoUHJvY2Vzc1ByaXZpbGVnZTo6Q2Fu
QWNjZXNzUmF3Q29va2llcykpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS0NvbnRleHRQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCShyZXZpc2lvbiAyNTAzNTApCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTY3LDExICs2NywxMSBAQCBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRSZWdpc3RlclVSTFNj
aGVtCiAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRk
ZW5Gb3JVUkxTY2hlbWUoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIHVybFNjaGVt
ZSk7CiAKLVdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1
c3RFdmFsdWF0aW9uKFdLQ29udGV4dFJlZiBjb250ZXh0LCBib29sIHZhbHVlKTsKK1dLX0VYUE9S
VCB2b2lkIFdLQ29udGV4dFNldENhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uKFdL
Q29udGV4dFJlZiBjb250ZXh0LCBib29sIHZhbHVlKSBXS19DX0FQSV9ERVBSRUNBVEVEOwogCiBX
S19FWFBPUlQgdm9pZCBXS0NvbnRleHRTZXRQcmV3YXJtc1Byb2Nlc3Nlc0F1dG9tYXRpY2FsbHko
V0tDb250ZXh0UmVmIGNvbnRleHQsIGJvb2wgdmFsdWUpOwogCi1XS19FWFBPUlQgdm9pZCBXS0Nv
bnRleHRTZXREaXNrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKFdLQ29udGV4dFJl
ZiBjb250ZXh0LCBib29sIHZhbHVlKTsKK1dLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldERpc2tD
YWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoV0tDb250ZXh0UmVmIGNvbnRleHQsIGJv
b2wgdmFsdWUpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7CiAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4
dFNldEljb25EYXRhYmFzZVBhdGgoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIGlj
b25EYXRhYmFzZVBhdGgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAkocmV2aXNpb24gMjUwMzUw
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2
YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkb25seSkgX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uICpfY29uZmlndXJhdGlv
bjsKIAogLSAodm9pZClfc2V0QWxsb3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlOihOU0FycmF5
ICopY2VydGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3Q7Ci0tICh2b2lkKV9z
ZXRDYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbjooQk9PTCl2YWx1ZSBXS19BUElf
QVZBSUxBQkxFKG1hY29zKDEwLjExKSwgaW9zKDkuMCkpOworLSAodm9pZClfc2V0Q2FuSGFuZGxl
SFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb246KEJPT0wpdmFsdWUgV0tfQVBJX0RFUFJFQ0FURURf
V0lUSF9SRVBMQUNFTUVOVCgiX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZmFzdFNl
cnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQiLCBtYWNvcygxMC4xMSwgV0tfTUFDX1RCQSksIGlv
cyg5LjAsIFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3NldENvb2tpZUFjY2VwdFBvbGljeTooTlNI
VFRQQ29va2llQWNjZXB0UG9saWN5KXBvbGljeTsKIAogLSAoaWQpX29iamVjdEZvckJ1bmRsZVBh
cmFtZXRlcjooTlNTdHJpbmcgKilwYXJhbWV0ZXI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5oCShyZXZpc2lvbiAyNTAzNTApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAg
LTUyLDcgKzUyLDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMAog
QHByb3BlcnR5IChub25hdG9taWMpIE5TSW50ZWdlciBkaXNrQ2FjaGVTaXplT3ZlcnJpZGUgV0tf
QVBJX0RFUFJFQ0FURUQoIlVzZSBbV0tXZWJzaXRlRGF0YVN0b3JlIG5vblBlcnNpc3RlbnREYXRh
U3RvcmVdIHRvIGxpbWl0IGRpc2sgY2FjaGUgc2l6ZSB0byAwIiwgbWFjb3MoMTAuMTEsIDEwLjE0
LjQpLCBpb3MoOS4wLCAxMi4yKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNBcnJh
eSAqY2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXM7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29w
eSkgTlNBcnJheTxOU1N0cmluZyAqPiAqYWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpLCBpb3MoMTAuMCkpOwotQHByb3BlcnR5IChub25hdG9t
aWMpIEJPT0wgZGlza0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCBXS19BUElfQVZB
SUxBQkxFKG1hY29zKDEwLjEyKSwgaW9zKDEwLjApKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIGRpc2tDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgV0tfQVBJX0RFUFJFQ0FU
RURfV0lUSF9SRVBMQUNFTUVOVCgiX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubmV0
d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCIsIG1hY29zKDEwLjEyLCBXS19N
QUNfVEJBKSwgaW9zKDEwLjAsIFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBu
dWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
ciBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJfV0tXZWJzaXRlRGF0YVN0b3Jl
Q29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIiLCBtYWNvcygx
MC4xMi4zLCAxMC4xNC40KSwgaW9zKDEwLjMsIDEyLjIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRl
bnRpZmllciBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJfV0tXZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvbi5zb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIi
LCBtYWNvcygxMC4xMi4zLCAxMC4xNC40KSwgaW9zKDEwLjMsIDEyLjIpKTsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljKSBCT09MIHNob3VsZENhcHR1cmVBdWRpb0luVUlQcm9jZXNzIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTAuMTMpLCBpb3MoMTEuMCkpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDI1MDM1MCkKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw4IEBAIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvcygx
MC4xMyksIGlvcygxMS4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSwgc2V0
dGVyPXNldEhUVFBQcm94eTopIE5TVVJMICpodHRwUHJveHkgV0tfQVBJX0FWQUlMQUJMRShtYWNv
cygxMC4xNC40KSwgaW9zKDEyLjIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwg
Y29weSwgc2V0dGVyPXNldEhUVFBTUHJveHk6KSBOU1VSTCAqaHR0cHNQcm94eSBXS19BUElfQVZB
SUxBQkxFKG1hY29zKDEwLjE0LjQpLCBpb3MoMTIuMikpOwogQHByb3BlcnR5IChub25hdG9taWMp
IEJPT0wgZGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9uc0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJM
RShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIG5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljKSBCT09MIGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgTlNVSW50ZWdlciBwZXJPcmlnaW5TdG9yYWdlUXVvdGEgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKmJvdW5kSW50ZXJmYWNlSWRlbnRp
ZmllciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkp
OwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dzQ2VsbHVsYXJBY2Nlc3MgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24ubW0JKHJldmlzaW9uIDI1MDM1MikK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3Jl
Q29uZmlndXJhdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMjkwLDYgKzI5MCwyNiBAQCAtICh2
b2lkKXNldERldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFCiAgICAgX2NvbmZpZ3VyYXRpb24t
PnNldERldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFbmFibGVkKGVuYWJsZWQpOwogfQogCist
IChCT09MKW5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQKK3sKKyAgICBy
ZXR1cm4gX2NvbmZpZ3VyYXRpb24tPm5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVu
YWJsZWQoKTsKK30KKworLSAodm9pZClzZXROZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRp
b25FbmFibGVkOihCT09MKWVuYWJsZWQKK3sKKyAgICBfY29uZmlndXJhdGlvbi0+c2V0TmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZChlbmFibGVkKTsKK30KKworLSAoQk9P
TClmYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZAoreworICAgIHJldHVybiBfY29uZmln
dXJhdGlvbi0+ZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQoKTsKK30KKworLSAodm9p
ZClzZXRGYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZDooQk9PTCllbmFibGVkCit7Cisg
ICAgcmV0dXJuIF9jb25maWd1cmF0aW9uLT5zZXRGYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5h
YmxlZChlbmFibGVkKTsKK30KKwogLSAoTlNVSW50ZWdlcilwZXJPcmlnaW5TdG9yYWdlUXVvdGEK
IHsKICAgICByZXR1cm4gX2NvbmZpZ3VyYXRpb24tPnBlck9yaWdpblN0b3JhZ2VRdW90YSgpOwpJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZUNvbmZpZ3VyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24g
MjUwMzUyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw4IEBA
IFJlZjxXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2kKIHsKICAgICBhdXRvIGNv
cHkgPSBXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6Y3JlYXRlKG1faXNQZXJzaXN0ZW50
KTsKIAorICAgIGNvcHktPm1fZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQgPSB0aGlz
LT5tX2Zhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkOworICAgIGNvcHktPm1fbmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCA9IHRoaXMtPm1fbmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZDsKICAgICBjb3B5LT5tX2NhY2hlU3RvcmFnZURp
cmVjdG9yeSA9IHRoaXMtPm1fY2FjaGVTdG9yYWdlRGlyZWN0b3J5OwogICAgIGNvcHktPm1fcGVy
T3JpZ2luU3RvcmFnZVF1b3RhID0gdGhpcy0+bV9wZXJPcmlnaW5TdG9yYWdlUXVvdGE7CiAgICAg
Y29weS0+bV9uZXR3b3JrQ2FjaGVEaXJlY3RvcnkgPSB0aGlzLT5tX25ldHdvcmtDYWNoZURpcmVj
dG9yeTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAkocmV2aXNp
b24gMjUwMzUyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNzYsNiArNzYsMTIg
QEAgcHVibGljOgogICAgIGJvb2wgYWxsb3dzQ2VsbHVsYXJBY2Nlc3MoKSBjb25zdCB7IHJldHVy
biBtX2FsbG93c0NlbGx1bGFyQWNjZXNzOyB9CiAgICAgdm9pZCBzZXRBbGxvd3NDZWxsdWxhckFj
Y2Vzcyhib29sIGFsbG93cykgeyBtX2FsbG93c0NlbGx1bGFyQWNjZXNzID0gYWxsb3dzOyB9CiAK
KyAgICBib29sIGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZDsgfQorICAgIHZvaWQgc2V0RmFz
dFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fZmFzdFNlcnZl
clRydXN0RXZhbHVhdGlvbkVuYWJsZWQgPSBlbmFibGVkOyB9CisKKyAgICBib29sIG5ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX25ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQ7IH0KKyAgICB2b2lkIHNldE5ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fbmV0
d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCA9IGVuYWJsZWQ7IH0KKwogI2lm
IFBMQVRGT1JNKENPQ09BKQogICAgIENGRGljdGlvbmFyeVJlZiBwcm94eUNvbmZpZ3VyYXRpb24o
KSBjb25zdCB7IHJldHVybiBtX3Byb3h5Q29uZmlndXJhdGlvbi5nZXQoKTsgfQogICAgIHZvaWQg
c2V0UHJveHlDb25maWd1cmF0aW9uKENGRGljdGlvbmFyeVJlZiBjb25maWd1cmF0aW9uKSB7IG1f
cHJveHlDb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjsgfQpAQCAtMTUzLDYgKzE1OSw4IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2RldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFbmFibGVk
IHsgZmFsc2UgfTsKICAgICBib29sIG1fYWxsTG9hZHNCbG9ja2VkQnlEZXZpY2VNYW5hZ2VtZW50
UmVzdHJpY3Rpb25zRm9yVGVzdGluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2FsbG93c0NlbGx1
bGFyQWNjZXNzIHsgdHJ1ZSB9OworICAgIGJvb2wgbV9mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9u
RW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX25ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFs
aWRhdGlvbkVuYWJsZWQgeyBmYWxzZSB9OwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFJldGFp
blB0cjxDRkRpY3Rpb25hcnlSZWY+IG1fcHJveHlDb25maWd1cmF0aW9uOwogI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0
b3JlQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCShyZXZpc2lvbiAyNTAzNTApCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0
b3JlQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTE0Myw2ICsxNDMsOCBAQCBXZWJzaXRlRGF0
YVN0b3JlUGFyYW1ldGVycyBXZWJzaXRlRGF0YVN0CiAgICAgICAgIFdURk1vdmUobmV0d29ya0Nh
Y2hlRGlyZWN0b3J5KSwKICAgICAgICAgV1RGTW92ZShuZXR3b3JrQ2FjaGVEaXJlY3RvcnlFeHRl
bnNpb25IYW5kbGUpLAogICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPmRhdGFDb25uZWN0aW9uU2Vy
dmljZVR5cGUoKSwKKyAgICAgICAgbV9jb25maWd1cmF0aW9uLT5mYXN0U2VydmVyVHJ1c3RFdmFs
dWF0aW9uRW5hYmxlZCgpLAorICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPm5ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoKSwKICAgICB9OwogICAgIG5ldHdvcmtpbmdIYXNC
ZWd1bigpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379599</attachid>
            <date>2019-09-25 17:47:34 -0700</date>
            <delta_ts>2019-09-25 19:28:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202251-20190925174733.patch</filename>
            <type>text/plain</type>
            <size>23535</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTAzNzApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE5LTA5LTI1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIHJlcGxhY2Vt
ZW50IFNQSSBvbiBfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBmb3IgZW5hYmxpbmcg
c3BlY3VsYXRpdmUgY2FjaGUgdmFsaWRhdGlvbiBhbmQgSVBDLWZyZWUgc2VydmVyIHRydXN0IGV2
YWx1YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwMjI1MQorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgVGhl
c2UgYXJlIHR3byBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb25zIHRoYXQgYXJlIGN1cnJlbnRseSBw
ZXItUHJvY2Vzc1Bvb2wgdGhhdCBuZWVkIHRvIGJlIHBlci1XZWJzaXRlRGF0YVN0b3JlLgorICAg
ICAgICBUaGlzIG1ha2VzIHJlcGxhY2VtZW50IFNQSSBhbmQgZGVwcmVjYXRlcyB0aGUgb2xkIFNQ
SS4gIEknbSBnb2luZyB0byBhZG9wdCB0aGUgbmV3IFNQSSB0aGVuIHJlbW92ZSB0aGUgb2xkIFNQ
SS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb246Ok5ldHdvcmtTZXNzaW9uKToKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29u
c3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9u
UGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lv
bkNvY29hLm1tOgorICAgICAgICAoLVtXS05ldHdvcmtTZXNzaW9uRGVsZWdhdGUgVVJMU2Vzc2lv
bjp0YXNrOmRpZFJlY2VpdmVDaGFsbGVuZ2U6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24ubW06CisgICAgICAgICgtW19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIG5l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWRdKToKKyAgICAgICAgKC1bX1dL
V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gc2V0TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVW
YWxpZGF0aW9uRW5hYmxlZDpdKToKKyAgICAgICAgKC1bX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZp
Z3VyYXRpb24gZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWRdKToKKyAgICAgICAgKC1b
X1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gc2V0RmFzdFNlcnZlclRydXN0RXZhbHVh
dGlvbkVuYWJsZWQ6XSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dl
YnNpdGVEYXRhU3RvcmVDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9y
ZTo6cGFyYW1ldGVycyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb246OmNvcHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6ZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJs
ZWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
bjo6c2V0RmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbjo6bmV0d29ya0NhY2hlU3BlY3VsYXRpdmVW
YWxpZGF0aW9uRW5hYmxlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uOjpzZXROZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFi
bGVkKToKKwogMjAxOS0wOS0yNSAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVwZGF0ZSBzZWxlY3Rpb25zIGFmdGVyIHNjcm9sbGluZyBmb3IgaWZy
YW1lcyBhbmQgaGlkZSBzZWxlY3Rpb25zIHdoaWxlIGlmcmFtZXMgYW5kIG92ZXJmbG93IHNjcm9s
bHMgYXJlIHNjcm9sbGluZy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Nlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Nlc3Npb24uY3BwCShyZXZpc2lvbiAyNTAzNTApCisrKyBTb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTAs
NyArOTAsMTMgQEAgTmV0d29ya1Nlc3Npb246Ok5ldHdvcmtTZXNzaW9uKE5ldHdvcmtQcgogICAg
ICAgICBpZiAoIW5ldHdvcmtDYWNoZURpcmVjdG9yeS5pc051bGwoKSkKICAgICAgICAgICAgIFNh
bmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLm5ldHdvcmtDYWNo
ZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAKLSAgICAgICAgbV9jYWNoZSA9IE5ldHdvcmtD
YWNoZTo6Q2FjaGU6Om9wZW4obmV0d29ya1Byb2Nlc3MsIG5ldHdvcmtDYWNoZURpcmVjdG9yeSwg
bmV0d29ya1Byb2Nlc3MuY2FjaGVPcHRpb25zKCksIG1fc2Vzc2lvbklEKTsKKyAgICAgICAgYXV0
byBjYWNoZU9wdGlvbnMgPSBuZXR3b3JrUHJvY2Vzcy5jYWNoZU9wdGlvbnMoKTsKKyNpZiBFTkFC
TEUoTkVUV09SS19DQUNIRV9TUEVDVUxBVElWRV9SRVZBTElEQVRJT04pCisgICAgICAgIGlmIChw
YXJhbWV0ZXJzLm5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQpCisgICAg
ICAgICAgICBjYWNoZU9wdGlvbnMuYWRkKE5ldHdvcmtDYWNoZTo6Q2FjaGVPcHRpb246OlNwZWN1
bGF0aXZlUmV2YWxpZGF0aW9uKTsKKyNlbmRpZgorCisgICAgICAgIG1fY2FjaGUgPSBOZXR3b3Jr
Q2FjaGU6OkNhY2hlOjpvcGVuKG5ldHdvcmtQcm9jZXNzLCBuZXR3b3JrQ2FjaGVEaXJlY3Rvcnks
IGNhY2hlT3B0aW9ucywgbV9zZXNzaW9uSUQpOwogICAgICAgICBpZiAoIW1fY2FjaGUpCiAgICAg
ICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihOZXR3b3JrQ2FjaGUsICJGYWlsZWQgdG8gaW5pdGlh
bGl6ZSB0aGUgV2ViS2l0IG5ldHdvcmsgZGlzayBjYWNoZSIpOwogICAgIH0KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nl
c3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyNTAzNTEpCisrKyBTb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzUsNiArNzUsOCBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplCiAgICAgZW5jb2RlciA8PCBkZXZpY2VNYW5hZ2VtZW50UmVzdHJp
Y3Rpb25zRW5hYmxlZDsKICAgICBlbmNvZGVyIDw8IGFsbExvYWRzQmxvY2tlZEJ5RGV2aWNlTWFu
YWdlbWVudFJlc3RyaWN0aW9uc0ZvclRlc3Rpbmc7CiAgICAgZW5jb2RlciA8PCBkYXRhQ29ubmVj
dGlvblNlcnZpY2VUeXBlOworICAgIGVuY29kZXIgPDwgZmFzdFNlcnZlclRydXN0RXZhbHVhdGlv
bkVuYWJsZWQ7CisgICAgZW5jb2RlciA8PCBuZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRp
b25FbmFibGVkOwogfQogCiBPcHRpb25hbDxOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVy
cz4gTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIpCkBAIC0yMjQsNiArMjI2LDE2IEBAIE9wdGlvbmFsPE5ldHdvcmtTZXNzaW9uQ3Jl
YXRpb25QYXJhbWV0ZXIKICAgICBpZiAoIWRhdGFDb25uZWN0aW9uU2VydmljZVR5cGUpCiAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgCisgICAgT3B0aW9uYWw8Ym9vbD4gZmFzdFNl
cnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQ7CisgICAgZGVjb2RlciA+PiBmYXN0U2VydmVyVHJ1
c3RFdmFsdWF0aW9uRW5hYmxlZDsKKyAgICBpZiAoIWZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25F
bmFibGVkKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIAorICAgIE9wdGlvbmFs
PGJvb2w+IG5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQ7CisgICAgZGVj
b2RlciA+PiBuZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkOworICAgIGlm
ICghbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCkKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKyAgICAKICAgICByZXR1cm4ge3sKICAgICAgICAgKnNlc3Npb25J
RAogICAgICAgICAsIFdURk1vdmUoKmJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcikKQEAgLTI1OCw3
ICsyNzAsOSBAQCBPcHRpb25hbDxOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyCiAgICAg
ICAgICwgV1RGTW92ZSgqcmVzb3VyY2VMb2FkU3RhdGlzdGljc01hbnVhbFByZXZhbGVudFJlc291
cmNlKQogICAgICAgICAsIFdURk1vdmUoKm5ldHdvcmtDYWNoZURpcmVjdG9yeSkKICAgICAgICAg
LCBXVEZNb3ZlKCpuZXR3b3JrQ2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpCi0gICAgICAg
ICwgV1RGTW92ZSgqZGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZSksCisgICAgICAgICwgV1RGTW92
ZSgqZGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZSkKKyAgICAgICAgLCBXVEZNb3ZlKCpmYXN0U2Vy
dmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCkKKyAgICAgICAgLCBXVEZNb3ZlKCpuZXR3b3JrQ2Fj
aGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKQogICAgIH19OwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vz
c2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyNTAzNTEpCisrKyBTb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTkzLDYgKzkzLDggQEAgc3RydWN0IE5ldHdvcmtTZXNzaW9uQ3JlYXRp
b25QYXJhbWV0ZXJzIAogICAgIFN0cmluZyBuZXR3b3JrQ2FjaGVEaXJlY3Rvcnk7CiAgICAgU2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlIG5ldHdvcmtDYWNoZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRs
ZTsKICAgICBTdHJpbmcgZGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTsKKyAgICBib29sIGZhc3RT
ZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG5ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtTZXNzaW9uQ29jb2EuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EuaAkocmV2aXNpb24gMjUwMzUwKQor
KysgU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29h
LmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBj
b250aW51ZURpZFJlY2VpdmVDaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25D
aGFsbGVuZ2UmLCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6VGFza0lkZW50aWZpZXIsIE5ldHdvcmtE
YXRhVGFza0NvY29hKiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJLaXQ6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlRGlzcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmKT4mJik7
CiAKKyAgICBib29sIGZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZDsgfQogICAgIGJvb2wgZGV2
aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9uc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Rldmlj
ZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNFbmFibGVkOyB9CiAgICAgYm9vbCBhbGxMb2Fkc0Jsb2Nr
ZWRCeURldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1
cm4gbV9hbGxMb2Fkc0Jsb2NrZWRCeURldmljZU1hbmFnZW1lbnRSZXN0cmljdGlvbnNGb3JUZXN0
aW5nOyB9CiAgICAgRE1GV2Vic2l0ZVBvbGljeU1vbml0b3IgKmRldmljZU1hbmFnZW1lbnRQb2xp
Y3lNb25pdG9yKCk7CkBAIC0xMzYsNiArMTM3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxs
TG9hZHNCbG9ja2VkQnlEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zRm9yVGVzdGluZyB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX3Nob3VsZExvZ0Nvb2tpZUluZm9ybWF0aW9uIHsgZmFsc2UgfTsK
ICAgICBTZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsKKyAgICBib29sIG1fZmFzdFNlcnZl
clRydXN0RXZhbHVhdGlvbkVuYWJsZWQgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtT
ZXNzaW9uQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCShyZXZpc2lvbiAyNTAzNTApCisrKyBTb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0JKHdv
cmtpbmcgY29weSkKQEAgLTU3OCw3ICs1NzgsNyBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJM
U2Vzc2lvbiAqKXNlc3NpCiAgICAgICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoTlNV
UkxTZXNzaW9uQXV0aENoYWxsZW5nZVVzZUNyZWRlbnRpYWwsIFtOU1VSTENyZWRlbnRpYWwgY3Jl
ZGVudGlhbEZvclRydXN0OmNoYWxsZW5nZS5wcm90ZWN0aW9uU3BhY2Uuc2VydmVyVHJ1c3RdKTsK
IAogICAgICAgICAvLyBIYW5kbGUgc2VydmVyIHRydXN0IGV2YWx1YXRpb24gYXQgcGxhdGZvcm0t
bGV2ZWwgaWYgcmVxdWVzdGVkLCBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucyBhbmQgdG8gdXNlIEFU
UyBkZWZhdWx0cy4KLSAgICAgICAgaWYgKCFfc2Vzc2lvbi0+bmV0d29ya1Byb2Nlc3MoKS5jYW5I
YW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbigpKSB7CisgICAgICAgIGlmICghX3Nlc3Np
b24tPm5ldHdvcmtQcm9jZXNzKCkuY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24o
KSB8fCBfc2Vzc2lvbi0+ZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQoKSkgewogI2lm
IEhBVkUoQ0ZORVRXT1JLX05TVVJMU0VTU0lPTl9TVFJJQ1RSVVNURVZBTFVBVEUpCiAgICAgICAg
ICAgICBpZiAoY2FuTlNVUkxTZXNzaW9uVHJ1c3RFdmFsdWF0ZSgpKSB7CiAgICAgICAgICAgICAg
ICAgYXV0byogbmV0d29ya0RhdGFUYXNrID0gW3NlbGYgZXhpc3RpbmdUYXNrOnRhc2tdOwpAQCAt
OTIyLDYgKzkyMiw3IEBAIE5ldHdvcmtTZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EK
ICAgICAsIG1fcHJveHlDb25maWd1cmF0aW9uKHBhcmFtZXRlcnMucHJveHlDb25maWd1cmF0aW9u
KQogICAgICwgbV9zaG91bGRMb2dDb29raWVJbmZvcm1hdGlvbihwYXJhbWV0ZXJzLnNob3VsZExv
Z0Nvb2tpZUluZm9ybWF0aW9uKQogICAgICwgbV9sb2FkVGhyb3R0bGVMYXRlbmN5KHBhcmFtZXRl
cnMubG9hZFRocm90dGxlTGF0ZW5jeSkKKyAgICAsIG1fZmFzdFNlcnZlclRydXN0RXZhbHVhdGlv
bkVuYWJsZWQocGFyYW1ldGVycy5mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCkKIHsK
ICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nl
c3NSYXdDb29raWVzKSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
Q29udGV4dFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS0NvbnRleHRQcml2YXRlLmgJKHJldmlzaW9uIDI1MDM1MCkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAt
NjcsMTEgKzY3LDExIEBAIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dFJlZ2lzdGVyVVJMU2NoZW0K
IAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZv
clVSTFNjaGVtZShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgdXJsU2NoZW1lKTsK
IAotV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2
YWx1YXRpb24oV0tDb250ZXh0UmVmIGNvbnRleHQsIGJvb2wgdmFsdWUpOworV0tfRVhQT1JUIHZv
aWQgV0tDb250ZXh0U2V0Q2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oV0tDb250
ZXh0UmVmIGNvbnRleHQsIGJvb2wgdmFsdWUpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7CiAKIFdLX0VY
UE9SVCB2b2lkIFdLQ29udGV4dFNldFByZXdhcm1zUHJvY2Vzc2VzQXV0b21hdGljYWxseShXS0Nv
bnRleHRSZWYgY29udGV4dCwgYm9vbCB2YWx1ZSk7CiAKLVdLX0VYUE9SVCB2b2lkIFdLQ29udGV4
dFNldERpc2tDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQoV0tDb250ZXh0UmVmIGNv
bnRleHQsIGJvb2wgdmFsdWUpOworV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0RGlza0NhY2hl
U3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZChXS0NvbnRleHRSZWYgY29udGV4dCwgYm9vbCB2
YWx1ZSkgV0tfQ19BUElfREVQUkVDQVRFRDsKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0
SWNvbkRhdGFiYXNlUGF0aChXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgaWNvbkRh
dGFiYXNlUGF0aCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1Byb2Nlc3NQb29sUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oCShyZXZpc2lvbiAyNTAzNTApCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQAogQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5KSBfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gKl9jb25maWd1cmF0aW9uOwog
CiAtICh2b2lkKV9zZXRBbGxvd3NTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKilj
ZXJ0aWZpY2F0ZUNoYWluIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdDsKLS0gKHZvaWQpX3NldENh
bkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uOihCT09MKXZhbHVlIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTAuMTEpLCBpb3MoOS4wKSk7CistICh2b2lkKV9zZXRDYW5IYW5kbGVIVFRQ
U1NlcnZlclRydXN0RXZhbHVhdGlvbjooQk9PTCl2YWx1ZSBXS19BUElfREVQUkVDQVRFRF9XSVRI
X1JFUExBQ0VNRU5UKCJfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5mYXN0U2VydmVy
VHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCIsIG1hY29zKDEwLjExLCBXS19NQUNfVEJBKSwgaW9zKDku
MCwgV0tfSU9TX1RCQSkpOwogLSAodm9pZClfc2V0Q29va2llQWNjZXB0UG9saWN5OihOU0hUVFBD
b29raWVBY2NlcHRQb2xpY3kpcG9saWN5OwogCiAtIChpZClfb2JqZWN0Rm9yQnVuZGxlUGFyYW1l
dGVyOihOU1N0cmluZyAqKXBhcmFtZXRlcjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uLmgJKHJldmlzaW9uIDI1MDM1MCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNTIs
NyArNTIsNyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTApLCBpb3MoOC4wCiBAcHJv
cGVydHkgKG5vbmF0b21pYykgTlNJbnRlZ2VyIGRpc2tDYWNoZVNpemVPdmVycmlkZSBXS19BUElf
REVQUkVDQVRFRCgiVXNlIFtXS1dlYnNpdGVEYXRhU3RvcmUgbm9uUGVyc2lzdGVudERhdGFTdG9y
ZV0gdG8gbGltaXQgZGlzayBjYWNoZSBzaXplIHRvIDAiLCBtYWNvcygxMC4xMSwgMTAuMTQuNCks
IGlvcyg5LjAsIDEyLjIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0FycmF5ICpj
YWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lczsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBO
U0FycmF5PE5TU3RyaW5nICo+ICphbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4wKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYykg
Qk9PTCBkaXNrQ2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3MoMTAuMTIpLCBpb3MoMTAuMCkpOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wg
ZGlza0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCBXS19BUElfREVQUkVDQVRFRF9X
SVRIX1JFUExBQ0VNRU5UKCJfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5uZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkIiwgbWFjb3MoMTAuMTIsIFdLX01BQ19U
QkEpLCBpb3MoMTAuMCwgV0tfSU9TX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxh
YmxlLCBjb3B5KSBOU1N0cmluZyAqc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyIFdL
X0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIl9XS1dlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciIsIG1hY29zKDEwLjEy
LjMsIDEwLjE0LjQpLCBpb3MoMTAuMywgMTIuMikpOwogQHByb3BlcnR5IChub25hdG9taWMsIG51
bGxhYmxlLCBjb3B5KSBOU1N0cmluZyAqc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlm
aWVyIFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIl9XS1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uLnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllciIsIG1h
Y29zKDEwLjEyLjMsIDEwLjE0LjQpLCBpb3MoMTAuMywgMTIuMikpOwogQHByb3BlcnR5IChub25h
dG9taWMpIEJPT0wgc2hvdWxkQ2FwdHVyZUF1ZGlvSW5VSVByb2Nlc3MgV0tfQVBJX0FWQUlMQUJM
RShtYWNvcygxMC4xMyksIGlvcygxMS4wKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9y
ZUNvbmZpZ3VyYXRpb24uaAkocmV2aXNpb24gMjUwMzUwKQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQzLDYgKzQzLDggQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjEz
KSwgaW9zKDExLgogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxlLCBjb3B5LCBzZXR0ZXI9
c2V0SFRUUFByb3h5OikgTlNVUkwgKmh0dHBQcm94eSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEw
LjE0LjQpLCBpb3MoMTIuMikpOwogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxlLCBjb3B5
LCBzZXR0ZXI9c2V0SFRUUFNQcm94eTopIE5TVVJMICpodHRwc1Byb3h5IFdLX0FQSV9BVkFJTEFC
TEUobWFjb3MoMTAuMTQuNCksIGlvcygxMi4yKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9P
TCBkZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMp
IEJPT0wgbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCBXS19BUElfQVZB
SUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljKSBOU1VJbnRlZ2VyIHBlck9yaWdpblN0b3JhZ2VRdW90YSBXS19BUElfQVZBSUxB
QkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogQHByb3BlcnR5IChub25h
dG9taWMsIG51bGxhYmxlLCBjb3B5KSBOU1N0cmluZyAqYm91bmRJbnRlcmZhY2VJZGVudGlmaWVy
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiBA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhbGxvd3NDZWxsdWxhckFjY2VzcyBXS19BUElfQVZB
SUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5tbQkocmV2aXNpb24gMjUwMzUyKQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOTAsNiArMjkwLDI2IEBAIC0gKHZvaWQp
c2V0RGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9uc0UKICAgICBfY29uZmlndXJhdGlvbi0+c2V0
RGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9uc0VuYWJsZWQoZW5hYmxlZCk7CiB9CiAKKy0gKEJP
T0wpbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZAoreworICAgIHJldHVy
biBfY29uZmlndXJhdGlvbi0+bmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxl
ZCgpOworfQorCistICh2b2lkKXNldE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVu
YWJsZWQ6KEJPT0wpZW5hYmxlZAoreworICAgIF9jb25maWd1cmF0aW9uLT5zZXROZXR3b3JrQ2Fj
aGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkKGVuYWJsZWQpOworfQorCistIChCT09MKWZh
c3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkCit7CisgICAgcmV0dXJuIF9jb25maWd1cmF0
aW9uLT5mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCgpOworfQorCistICh2b2lkKXNl
dEZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkOihCT09MKWVuYWJsZWQKK3sKKyAgICBy
ZXR1cm4gX2NvbmZpZ3VyYXRpb24tPnNldEZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVk
KGVuYWJsZWQpOworfQorCiAtIChOU1VJbnRlZ2VyKXBlck9yaWdpblN0b3JhZ2VRdW90YQogewog
ICAgIHJldHVybiBfY29uZmlndXJhdGlvbi0+cGVyT3JpZ2luU3RvcmFnZVF1b3RhKCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCShyZXZpc2lvbiAyNTAz
NTIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlQ29uZmlndXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDggQEAgUmVm
PFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uPiBXZWJzaQogewogICAgIGF1dG8gY29weSA9
IFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpjcmVhdGUobV9pc1BlcnNpc3RlbnQpOwog
CisgICAgY29weS0+bV9mYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCA9IHRoaXMtPm1f
ZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQ7CisgICAgY29weS0+bV9uZXR3b3JrQ2Fj
aGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkID0gdGhpcy0+bV9uZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkOwogICAgIGNvcHktPm1fY2FjaGVTdG9yYWdlRGlyZWN0
b3J5ID0gdGhpcy0+bV9jYWNoZVN0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgY29weS0+bV9wZXJPcmln
aW5TdG9yYWdlUXVvdGEgPSB0aGlzLT5tX3Blck9yaWdpblN0b3JhZ2VRdW90YTsKICAgICBjb3B5
LT5tX25ldHdvcmtDYWNoZURpcmVjdG9yeSA9IHRoaXMtPm1fbmV0d29ya0NhY2hlRGlyZWN0b3J5
OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCShyZXZpc2lvbiAy
NTAzNTIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC03Niw2ICs3NiwxMiBAQCBw
dWJsaWM6CiAgICAgYm9vbCBhbGxvd3NDZWxsdWxhckFjY2VzcygpIGNvbnN0IHsgcmV0dXJuIG1f
YWxsb3dzQ2VsbHVsYXJBY2Nlc3M7IH0KICAgICB2b2lkIHNldEFsbG93c0NlbGx1bGFyQWNjZXNz
KGJvb2wgYWxsb3dzKSB7IG1fYWxsb3dzQ2VsbHVsYXJBY2Nlc3MgPSBhbGxvd3M7IH0KIAorICAg
IGJvb2wgZmFzdFNlcnZlclRydXN0RXZhbHVhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2Zhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFibGVkOyB9CisgICAgdm9pZCBzZXRGYXN0U2Vy
dmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9mYXN0U2VydmVyVHJ1
c3RFdmFsdWF0aW9uRW5hYmxlZCA9IGVuYWJsZWQ7IH0KKworICAgIGJvb2wgbmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZDsgfQorICAgIHZvaWQgc2V0TmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9uZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZVZhbGlkYXRpb25FbmFibGVkID0gZW5hYmxlZDsgfQorCiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAgICAgQ0ZEaWN0aW9uYXJ5UmVmIHByb3h5Q29uZmlndXJhdGlvbigpIGNv
bnN0IHsgcmV0dXJuIG1fcHJveHlDb25maWd1cmF0aW9uLmdldCgpOyB9CiAgICAgdm9pZCBzZXRQ
cm94eUNvbmZpZ3VyYXRpb24oQ0ZEaWN0aW9uYXJ5UmVmIGNvbmZpZ3VyYXRpb24pIHsgbV9wcm94
eUNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uOyB9CkBAIC0xNTMsNiArMTU5LDggQEAgcHJp
dmF0ZToKICAgICBib29sIG1fZGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9uc0VuYWJsZWQgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9hbGxMb2Fkc0Jsb2NrZWRCeURldmljZU1hbmFnZW1lbnRSZXN0
cmljdGlvbnNGb3JUZXN0aW5nIHsgZmFsc2UgfTsKICAgICBib29sIG1fYWxsb3dzQ2VsbHVsYXJB
Y2Nlc3MgeyB0cnVlIH07CisgICAgYm9vbCBtX2Zhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRpb25FbmFi
bGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fbmV0d29ya0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0
aW9uRW5hYmxlZCB7IGZhbHNlIH07CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgUmV0YWluUHRy
PENGRGljdGlvbmFyeVJlZj4gbV9wcm94eUNvbmZpZ3VyYXRpb247CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVD
b2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0JKHJldmlzaW9uIDI1MDM1MCkKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVD
b2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQzLDYgKzE0Myw4IEBAIFdlYnNpdGVEYXRhU3Rv
cmVQYXJhbWV0ZXJzIFdlYnNpdGVEYXRhU3QKICAgICAgICAgV1RGTW92ZShuZXR3b3JrQ2FjaGVE
aXJlY3RvcnkpLAogICAgICAgICBXVEZNb3ZlKG5ldHdvcmtDYWNoZURpcmVjdG9yeUV4dGVuc2lv
bkhhbmRsZSksCiAgICAgICAgIG1fY29uZmlndXJhdGlvbi0+ZGF0YUNvbm5lY3Rpb25TZXJ2aWNl
VHlwZSgpLAorICAgICAgICBtX2NvbmZpZ3VyYXRpb24tPmZhc3RTZXJ2ZXJUcnVzdEV2YWx1YXRp
b25FbmFibGVkKCksCisgICAgICAgIG1fY29uZmlndXJhdGlvbi0+bmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVWYWxpZGF0aW9uRW5hYmxlZCgpLAogICAgIH07CiAgICAgbmV0d29ya2luZ0hhc0JlZ3Vu
KCk7CiAKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI1MDM3MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE5IEBACisyMDE5LTA5LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIHJlcGxhY2VtZW50IFNQSSBvbiBfV0tXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBmb3IgZW5hYmxpbmcgc3BlY3VsYXRpdmUgY2FjaGUg
dmFsaWRhdGlvbiBhbmQgSVBDLWZyZWUgc2VydmVyIHRydXN0IGV2YWx1YXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjI1MQorCisgICAgICAg
IFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRvcHQgbmV3IFNQSSBpbnN0ZWFk
IG9mIGRlcHJlY2F0ZWQgU1BJLgorCisgICAgICAgICogTWluaUJyb3dzZXIvbWFjL0FwcERlbGVn
YXRlLm06CisgICAgICAgIChwZXJzaXN0ZW50RGF0YVN0b3JlKToKKyAgICAgICAgKGRlZmF1bHRD
b25maWd1cmF0aW9uKToKKyAgICAgICAgKC1bQnJvd3NlckFwcERlbGVnYXRlIGZldGNoRGVmYXVs
dFN0b3JlV2Vic2l0ZURhdGE6XSk6CisgICAgICAgICgtW0Jyb3dzZXJBcHBEZWxlZ2F0ZSBmZXRj
aEFuZENsZWFyRGVmYXVsdFN0b3JlV2Vic2l0ZURhdGE6XSk6CisgICAgICAgICgtW0Jyb3dzZXJB
cHBEZWxlZ2F0ZSBjbGVhckRlZmF1bHRTdG9yZVdlYnNpdGVEYXRhOl0pOgorCiAyMDE5LTA5LTI1
ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBbRVdTXSBS
dW5KYXZhU2NyaXB0Q29yZVRlc3RzVG9UIHNob3VsZCB1c2UgdGhlIHNhbWUgY29tbWFuZCBhcyBS
dW5KYXZhU2NyaXB0Q29yZVRlc3RzCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVs
ZWdhdGUubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUu
bQkocmV2aXNpb24gMjUwMzUwKQorKysgVG9vbHMvTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRl
Lm0JKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAKICNpbXBvcnQgPFdlYktpdC9fV0tJ
bnRlcm5hbERlYnVnRmVhdHVyZS5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1Byb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3Rv
cmUuaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5o
PgogCiBlbnVtIHsKICAgICBXZWJLaXQxTmV3V2luZG93VGFnID0gMSwKQEAgLTc4LDE5ICs3OSwz
MiBAQCAtICh2b2lkKWF3YWtlRnJvbU5pYgogICAgICAgICBbTlNBcHAgc2V0QXV0b21hdGljQ3Vz
dG9taXplVG91Y2hCYXJNZW51SXRlbUVuYWJsZWQ6WUVTXTsKIH0KIAorc3RhdGljIFdLV2Vic2l0
ZURhdGFTdG9yZSAqcGVyc2lzdGVudERhdGFTdG9yZSgpCit7CisgICAgc3RhdGljIFdLV2Vic2l0
ZURhdGFTdG9yZSAqZGF0YVN0b3JlOworCisgICAgaWYgKCFkYXRhU3RvcmUpIHsKKyAgICAgICAg
X1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb24gPSBbW1tfV0tX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0gYXV0b3JlbGVhc2VdOwor
ICAgICAgICBjb25maWd1cmF0aW9uLm5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlVmFsaWRhdGlvbkVu
YWJsZWQgPSBZRVM7CisgICAgICAgIGRhdGFTdG9yZSA9IFtbV0tXZWJzaXRlRGF0YVN0b3JlIGFs
bG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dOworICAgIH0KKyAgICAK
KyAgICByZXR1cm4gZGF0YVN0b3JlOworfQorCiBzdGF0aWMgV0tXZWJWaWV3Q29uZmlndXJhdGlv
biAqZGVmYXVsdENvbmZpZ3VyYXRpb24oKQogewogICAgIHN0YXRpYyBXS1dlYlZpZXdDb25maWd1
cmF0aW9uICpjb25maWd1cmF0aW9uOwogCiAgICAgaWYgKCFjb25maWd1cmF0aW9uKSB7CiAgICAg
ICAgIGNvbmZpZ3VyYXRpb24gPSBbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRd
OworICAgICAgICBjb25maWd1cmF0aW9uLndlYnNpdGVEYXRhU3RvcmUgPSBwZXJzaXN0ZW50RGF0
YVN0b3JlKCk7CiAgICAgICAgIGNvbmZpZ3VyYXRpb24ucHJlZmVyZW5jZXMuX2Z1bGxTY3JlZW5F
bmFibGVkID0gWUVTOwogICAgICAgICBjb25maWd1cmF0aW9uLnByZWZlcmVuY2VzLl9kZXZlbG9w
ZXJFeHRyYXNFbmFibGVkID0gWUVTOwogICAgICAgICBjb25maWd1cmF0aW9uLnByZWZlcmVuY2Vz
Ll9tZWRpYURldmljZXNFbmFibGVkID0gWUVTOwogICAgICAgICBjb25maWd1cmF0aW9uLnByZWZl
cmVuY2VzLl9tb2NrQ2FwdHVyZURldmljZXNFbmFibGVkID0gWUVTOwogCiAgICAgICAgIF9XS1By
b2Nlc3NQb29sQ29uZmlndXJhdGlvbiAqcHJvY2Vzc0NvbmZpZ3VyYXRpb24gPSBbW1tfV0tQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdIGF1dG9yZWxlYXNlXTsKLSAgICAgICAg
cHJvY2Vzc0NvbmZpZ3VyYXRpb24uZGlza0NhY2hlU3BlY3VsYXRpdmVWYWxpZGF0aW9uRW5hYmxl
ZCA9ICFbU2V0dGluZ3NDb250cm9sbGVyIHNoYXJlZF0ubmV0d29ya0NhY2hlU3BlY3VsYXRpdmVS
ZXZhbGlkYXRpb25EaXNhYmxlZDsKICAgICAgICAgaWYgKFtTZXR0aW5nc0NvbnRyb2xsZXIgc2hh
cmVkXS5wZXJXaW5kb3dXZWJQcm9jZXNzZXNEaXNhYmxlZCkKICAgICAgICAgICAgIHByb2Nlc3ND
b25maWd1cmF0aW9uLnVzZXNTaW5nbGVXZWJQcm9jZXNzID0gWUVTOwogICAgICAgICBpZiAoW1Nl
dHRpbmdzQ29udHJvbGxlciBzaGFyZWRdLnByb2Nlc3NTd2FwT25XaW5kb3dPcGVuV2l0aE9wZW5l
ckVuYWJsZWQpCkBAIC0zMDgsMTYgKzMyMiwxNiBAQCAtIChXS1VzZXJDb250ZW50Q29udHJvbGxl
ciAqKXVzZXJDb250ZW50CiAKIC0gKElCQWN0aW9uKWZldGNoRGVmYXVsdFN0b3JlV2Vic2l0ZURh
dGE6KGlkKXNlbmRlcgogewotICAgIFtbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3Rv
cmVdIGZldGNoRGF0YVJlY29yZHNPZlR5cGVzOltXS1dlYnNpdGVEYXRhU3RvcmUgYWxsV2Vic2l0
ZURhdGFUeXBlc10gY29tcGxldGlvbkhhbmRsZXI6XihOU0FycmF5ICp3ZWJzaXRlRGF0YVJlY29y
ZHMpIHsKKyAgICBbcGVyc2lzdGVudERhdGFTdG9yZSgpIGZldGNoRGF0YVJlY29yZHNPZlR5cGVz
OltXS1dlYnNpdGVEYXRhU3RvcmUgYWxsV2Vic2l0ZURhdGFUeXBlc10gY29tcGxldGlvbkhhbmRs
ZXI6XihOU0FycmF5ICp3ZWJzaXRlRGF0YVJlY29yZHMpIHsKICAgICAgICAgTlNMb2coQCJkaWQg
ZmV0Y2ggZGVmYXVsdCBzdG9yZSB3ZWJzaXRlIGRhdGEgJUAuIiwgd2Vic2l0ZURhdGFSZWNvcmRz
KTsKICAgICB9XTsKIH0KIAogLSAoSUJBY3Rpb24pZmV0Y2hBbmRDbGVhckRlZmF1bHRTdG9yZVdl
YnNpdGVEYXRhOihpZClzZW5kZXIKIHsKLSAgICBbW1dLV2Vic2l0ZURhdGFTdG9yZSBkZWZhdWx0
RGF0YVN0b3JlXSBmZXRjaERhdGFSZWNvcmRzT2ZUeXBlczpbV0tXZWJzaXRlRGF0YVN0b3JlIGFs
bFdlYnNpdGVEYXRhVHlwZXNdIGNvbXBsZXRpb25IYW5kbGVyOl4oTlNBcnJheSAqd2Vic2l0ZURh
dGFSZWNvcmRzKSB7Ci0gICAgICAgIFtbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3Rv
cmVdIHJlbW92ZURhdGFPZlR5cGVzOltXS1dlYnNpdGVEYXRhU3RvcmUgYWxsV2Vic2l0ZURhdGFU
eXBlc10gZm9yRGF0YVJlY29yZHM6d2Vic2l0ZURhdGFSZWNvcmRzIGNvbXBsZXRpb25IYW5kbGVy
Ol57Ci0gICAgICAgICAgICBbW1dLV2Vic2l0ZURhdGFTdG9yZSBkZWZhdWx0RGF0YVN0b3JlXSBm
ZXRjaERhdGFSZWNvcmRzT2ZUeXBlczpbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbFdlYnNpdGVEYXRh
VHlwZXNdIGNvbXBsZXRpb25IYW5kbGVyOl4oTlNBcnJheSAqd2Vic2l0ZURhdGFSZWNvcmRzKSB7
CisgICAgW3BlcnNpc3RlbnREYXRhU3RvcmUoKSBmZXRjaERhdGFSZWNvcmRzT2ZUeXBlczpbV0tX
ZWJzaXRlRGF0YVN0b3JlIGFsbFdlYnNpdGVEYXRhVHlwZXNdIGNvbXBsZXRpb25IYW5kbGVyOl4o
TlNBcnJheSAqd2Vic2l0ZURhdGFSZWNvcmRzKSB7CisgICAgICAgIFtwZXJzaXN0ZW50RGF0YVN0
b3JlKCkgcmVtb3ZlRGF0YU9mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9yZSBhbGxXZWJzaXRlRGF0
YVR5cGVzXSBmb3JEYXRhUmVjb3Jkczp3ZWJzaXRlRGF0YVJlY29yZHMgY29tcGxldGlvbkhhbmRs
ZXI6XnsKKyAgICAgICAgICAgIFtwZXJzaXN0ZW50RGF0YVN0b3JlKCkgZmV0Y2hEYXRhUmVjb3Jk
c09mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9yZSBhbGxXZWJzaXRlRGF0YVR5cGVzXSBjb21wbGV0
aW9uSGFuZGxlcjpeKE5TQXJyYXkgKndlYnNpdGVEYXRhUmVjb3JkcykgewogICAgICAgICAgICAg
ICAgIE5TTG9nKEAiZGlkIGNsZWFyIGRlZmF1bHQgc3RvcmUgd2Vic2l0ZSBkYXRhLCBhZnRlciBj
bGVhcmluZyBkYXRhIGlzICVALiIsIHdlYnNpdGVEYXRhUmVjb3Jkcyk7CiAgICAgICAgICAgICB9
XTsKICAgICAgICAgfV07CkBAIC0zMjYsNyArMzQwLDcgQEAgLSAoSUJBY3Rpb24pZmV0Y2hBbmRD
bGVhckRlZmF1bHRTdG9yZVdlYgogCiAtIChJQkFjdGlvbiljbGVhckRlZmF1bHRTdG9yZVdlYnNp
dGVEYXRhOihpZClzZW5kZXIKIHsKLSAgICBbW1dLV2Vic2l0ZURhdGFTdG9yZSBkZWZhdWx0RGF0
YVN0b3JlXSByZW1vdmVEYXRhT2ZUeXBlczpbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbFdlYnNpdGVE
YXRhVHlwZXNdIG1vZGlmaWVkU2luY2U6W05TRGF0ZSBkaXN0YW50UGFzdF0gY29tcGxldGlvbkhh
bmRsZXI6XnsKKyAgICBbcGVyc2lzdGVudERhdGFTdG9yZSgpIHJlbW92ZURhdGFPZlR5cGVzOltX
S1dlYnNpdGVEYXRhU3RvcmUgYWxsV2Vic2l0ZURhdGFUeXBlc10gbW9kaWZpZWRTaW5jZTpbTlNE
YXRlIGRpc3RhbnRQYXN0XSBjb21wbGV0aW9uSGFuZGxlcjpeewogICAgICAgICBOU0xvZyhAIkRp
ZCBjbGVhciBkZWZhdWx0IHN0b3JlIHdlYnNpdGUgZGF0YS4iKTsKICAgICB9XTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>