<?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>236340</bug_id>
          
          <creation_ts>2022-02-08 16:22:26 -0800</creation_ts>
          <short_desc>self.location.href is incorrect in shared workers in case of redirects</short_desc>
          <delta_ts>2022-02-09 10:40:17 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>230382</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>mkwst</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1838947</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-08 16:22:26 -0800</bug_when>
    <thetext>self.location.href is incorrect in shared workers in case of redirects. It should be the URL of the last request, not the first one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838955</commentid>
    <comment_count>1</comment_count>
      <attachid>451323</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-08 16:38:18 -0800</bug_when>
    <thetext>Created attachment 451323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839132</commentid>
    <comment_count>2</comment_count>
      <attachid>451370</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-09 07:16:20 -0800</bug_when>
    <thetext>Created attachment 451370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839173</commentid>
    <comment_count>3</comment_count>
      <attachid>451383</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-02-09 08:23:49 -0800</bug_when>
    <thetext>Created attachment 451383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839243</commentid>
    <comment_count>4</comment_count>
      <attachid>451383</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-02-09 10:05:40 -0800</bug_when>
    <thetext>Comment on attachment 451383
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839266</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-09 10:31:39 -0800</bug_when>
    <thetext>Committed r289483 (247024@main): &lt;https://commits.webkit.org/247024@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451383.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839272</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-09 10:40:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/88700147&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451323</attachid>
            <date>2022-02-08 16:38:18 -0800</date>
            <delta_ts>2022-02-09 07:16:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236340-20220208163817.patch</filename>
            <type>text/plain</type>
            <size>37137</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY2ODEyMGUyN2FhMzVm
ZDIxZTA2YWJmYWM5Y2VjNDhiYjJkNzM1Zi4uMjIyNzJiMTk3OTM1MTFmY2FiYjYxOThiMzgwNmMz
MjdlOTZkOGQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIyLTAyLTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgc2VsZi5sb2NhdGlvbi5ocmVm
IGlzIGluY29ycmVjdCBpbiBzaGFyZWQgd29ya2VycyBpbiBjYXNlIG9mIHJlZGlyZWN0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MzQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2VsZi5sb2NhdGlv
bi5ocmVmIGlzIGluY29ycmVjdCBpbiBzaGFyZWQgd29ya2VycyBpbiBjYXNlIG9mIHJlZGlyZWN0
cy4gSXQgc2hvdWxkIGJlCisgICAgICAgIHRoZSBVUkwgb2YgdGhlIGxhc3QgcmVxdWVzdCwgbm90
IHRoZSBmaXJzdCBvbmUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCByZWJhc2VsaW5lZCBleGlz
dGluZyB0ZXN0cy4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpyZWRpcmVj
dFJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oOgor
ICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlckNsaWVudDo6cmVkaXJlY3RSZWNlaXZl
ZCk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcjo6cmVkaXJlY3RS
ZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRn
ZTo6cmVkaXJlY3RSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVM
b2FkZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckZldGNo
UmVzdWx0Lmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdDo6aXNvbGF0ZWRD
b3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OndvcmtlckZldGNoRXJyb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQ6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdDo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWRTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExv
YWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlw
dExvYWRlcjo6cmVkaXJlY3RSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3Jp
cHRMb2FkZXI6OmZldGNoUmVzdWx0IGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpzY3Jp
cHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpsYXN0UmVx
dWVzdFVSTCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OnNj
cmlwdCk6IERlbGV0ZWQuCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6
am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VySm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2I6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNs
aWVudC5oOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtl
clRocmVhZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdlbmVyYXRlV29ya2VyUGFyYW1l
dGVycyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVk
V29ya2VyVGhyZWFkUHJveHkpOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hh
cmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAyMi0wMi0wOCAgQnJhbmRvbiBTdGV3YXJ0ICA8
YnJhbmRvbnN0ZXdhcnRAYXBwbGUuY29tPgogCiAgICAgICAgIEdyaWQgbWF5IGJlIGVtcHR5IGlu
IGNlcnRhaW4gc2NlbmFyaW9zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJjYmY3YTY1MWE2MjlkYmQ0MDQzODMzYWE4
OTkzMGNlODIzNDkxNGIuLmJiYzg5ODY1NjQ0M2Q4NWM0MzFlNDVmNTM1M2Y2OTNkY2E0MzI3Y2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjItMDItMDggIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBzZWxmLmxvY2F0aW9uLmhyZWYgaXMgaW5jb3JyZWN0
IGluIHNoYXJlZCB3b3JrZXJzIGluIGNhc2Ugb2YgcmVkaXJlY3RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYzNDAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZWxmLmxvY2F0aW9uLmhyZWYgaXMgaW5j
b3JyZWN0IGluIHNoYXJlZCB3b3JrZXJzIGluIGNhc2Ugb2YgcmVkaXJlY3RzLiBJdCBzaG91bGQg
YmUgdGhlIFVSTCBvZgorICAgICAgICB0aGUgbGFzdCByZXF1ZXN0LCBub3QgdGhlIGZpcnN0IG9u
ZS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtl
clNvZnRVcGRhdGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpTZXJ2aWNlV29ya2VyU29m
dFVwZGF0ZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25u
ZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNo
YXJlZFdvcmtlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtl
ckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisK
IDIwMjItMDItMDggIEogUGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgogCiAgICAgICAgIFtX
ZWJBdXRobl0gVXNlIEF1dGhlbnRpY2F0aW9uU2VydmljZXNBZ2VudCBmb3IgV2ViQXV0aG4gY2Fs
bHMgb24gaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIuY3BwCmluZGV4IGI4YzdmYjNkNDZhNTBmNDkyMzYwY2JiOGEzOGVjMDFiZTVkNWQw
ZmIuLjUwY2JkMDI0ODBlZmIzNTA2N2IxM2M3MzY2MDg5NTI3NzRjM2E2NTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0z
MTQsNiArMzE0LDkgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlZGlyZWN0UmVj
ZWl2ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBSZXNvdXIKICAgICBSZWY8RG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKICAgICAtLW1fb3B0aW9ucy5t
YXhSZWRpcmVjdENvdW50OwogCisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+
cmVkaXJlY3RSZWNlaXZlZChyZXF1ZXN0LnVybCgpKTsKKwogICAgIC8vIEZJWE1FOiBXZSByZXN0
cmljdCB0aGlzIGNoZWNrIHRvIEZldGNoIEFQSSBmb3IgdGhlIG1vbWVudCwgYXMgdGhpcyBtaWdo
dCBkaXNydXB0IFdvcmtlclNjcmlwdExvYWRlci4KICAgICAvLyBSZWFzc2VzcyB0aGlzIGNoZWNr
IGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZmV0Y2gvaXNzdWVzLzM5MyBkaXNj
dXNzaW9ucy4KICAgICAvLyBXZSBzaG91bGQgYWxzbyBkaXNhYmxlIHRoYXQgY2hlY2sgaW4gbmF2
aWdhdGlvbiBtb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
Q2xpZW50LmgKaW5kZXggYzhlZTRjMmQwNWY5OGY0OGVkOWFlZWRhNjk4MWY2OWJlOGNjMjU2MC4u
MTMxOTIyZWRhNzllODUzYTk0OTY0NzAxYzk1ODNiNDUyMTk5YmUzNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCkBAIC00NSw2ICs0NSw3IEBA
IGNsYXNzIFRocmVhZGFibGVMb2FkZXJDbGllbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLypieXRlc1NlbnQqLywgdW5zaWduZWQg
bG9uZyBsb25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8pIHsgfQogCisgICAgdmlydHVhbCB2b2lk
IHJlZGlyZWN0UmVjZWl2ZWQoY29uc3QgVVJMJiAvKnJlZGlyZWN0VVJMKi8pIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVE
YXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hM
b2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNz
JikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRl
ckNsaWVudFdyYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
Q2xpZW50V3JhcHBlci5oCmluZGV4IGExN2IwNzM4Mjc5MWFhYzQ2ZDIwMzVkMzMwNTI1ZTNiMWI0
N2QyOTcuLjE5NjE5YjA1MTM5NTg5OGU4Y2RhY2EwNjE0ZGNlNjIxOTQ4ODA4ZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBl
ci5oCkBAIC01NCw2ICs1NCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2RvbmU7CiAg
ICAgfQogCisgICAgdm9pZCByZWRpcmVjdFJlY2VpdmVkKGNvbnN0IFVSTCYgcmVkaXJlY3RVUkwp
CisgICAgeworICAgICAgICBpZiAobV9jbGllbnQpCisgICAgICAgICAgICBtX2NsaWVudC0+cmVk
aXJlY3RSZWNlaXZlZChyZWRpcmVjdFVSTCk7CisgICAgfQorCiAgICAgdm9pZCBkaWRTZW5kRGF0
YSh1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNTZW50LCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxC
eXRlc1RvQmVTZW50KQogICAgIHsKICAgICAgICAgaWYgKG1fY2xpZW50KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IGNjM2FkMzU5
MDQzNTQyMDJjYzU2ZDIyZjQ0MTk3MjhmNzE3YWFiZWQuLjUxZmZhNjkzNTJlNWYzMjAwNWNhZmVh
MDlkYzk0Y2EyZmY4ZDQzY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2Vy
VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTIxMSw2ICsyMTEsMTQgQEAgdm9pZCBXb3JrZXJUaHJl
YWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpjbGVhckNsaWVudFdyYXBwZXIoKQogICAg
IG1fd29ya2VyQ2xpZW50V3JhcHBlci0+Y2xlYXJDbGllbnQoKTsKIH0KIAordm9pZCBXb3JrZXJU
aHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpyZWRpcmVjdFJlY2VpdmVkKGNvbnN0
IFVSTCYgcmVkaXJlY3RVUkwpCit7CisgICAgbV9sb2FkZXJQcm94eS5wb3N0VGFza0Zvck1vZGVU
b1dvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFtwcm90ZWN0ZWRXb3JrZXJDbGllbnRXcmFwcGVy
ID0gUmVmIHsgKm1fd29ya2VyQ2xpZW50V3JhcHBlciB9LCByZWRpcmVjdFVSTCA9IHJlZGlyZWN0
VVJMLmlzb2xhdGVkQ29weSgpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0
YWJsZSB7CisgICAgICAgIEFTU0VSVF9VTlVTRUQoY29udGV4dCwgY29udGV4dC5pc1dvcmtlckds
b2JhbFNjb3BlKCkgfHwgY29udGV4dC5pc1dvcmtsZXRHbG9iYWxTY29wZSgpKTsKKyAgICAgICAg
cHJvdGVjdGVkV29ya2VyQ2xpZW50V3JhcHBlci0+cmVkaXJlY3RSZWNlaXZlZChyZWRpcmVjdFVS
TCk7CisgICAgfSwgbV90YXNrTW9kZSk7Cit9CisKIHZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRl
cjo6TWFpblRocmVhZEJyaWRnZTo6ZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIGJ5dGVz
U2VudCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCkKIHsKICAgICBtX2xv
YWRlclByb3h5LnBvc3RUYXNrRm9yTW9kZVRvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoW3By
b3RlY3RlZFdvcmtlckNsaWVudFdyYXBwZXIgPSBSZWYgeyAqbV93b3JrZXJDbGllbnRXcmFwcGVy
IH0sIGJ5dGVzU2VudCwgdG90YWxCeXRlc1RvQmVTZW50XSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCkgbXV0YWJsZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
V29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRo
cmVhZGFibGVMb2FkZXIuaAppbmRleCBjYTQ5NWU2MTVmODU0N2Q1YjY3NTkyNmI2Y2M0N2Q0MDNi
NTEwYTU3Li42YzI3M2Q2ODU5Mjc4OTgxNWY5ODM4ZTUzZjg0NjFkYzM0ZmNkOGY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTEwMyw2
ICsxMDMsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGNsZWFyQ2xpZW50V3JhcHBlcigpOwog
CiAgICAgICAgIC8vIEFsbCBleGVjdXRlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgIHZv
aWQgcmVkaXJlY3RSZWNlaXZlZChjb25zdCBVUkwmIHJlZGlyZWN0VVJMKSBvdmVycmlkZTsKICAg
ICAgICAgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNTZW50LCB1bnNp
Z25lZCBsb25nIGxvbmcgdG90YWxCeXRlc1RvQmVTZW50KSBvdmVycmlkZTsKICAgICAgICAgdm9p
ZCBkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29u
c3QgU2hhcmVkQnVmZmVyJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5k
ZXggYTA0ODc1NjJjZTE2NDNjZjNmZjY4N2QxYjBjZTIyZDhiMjZmODlhYi4uODNhODg0YmM1YTJh
ZjA0NDA4ZDIyMWI1MzI4Y2RmODQ2ZDEyMjU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNw
cApAQCAtMjEzLDEyICsyMTMsNyBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNoZWQoKQogICAg
IGlmIChhdXRvIHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXItPnJl
ZmVycmVyUG9saWN5KCksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKICAgICAg
ICAgcmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5OwogCi0gICAgVVJMIHJlc3BvbnNlVVJMID0gbV9z
Y3JpcHRMb2FkZXItPnJlc3BvbnNlVVJMKCk7Ci0gICAgaWYgKCFtX3NjcmlwdExvYWRlci0+aXNS
ZWRpcmVjdGVkKCkgJiYgbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlU291cmNlKCkgIT0gUmVzb3Vy
Y2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7Ci0gICAgICAgIGlmIChtX3Njcmlw
dExvYWRlci0+dXJsKCkuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCi0gICAgICAgICAgICByZXNw
b25zZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIobV9zY3JpcHRMb2FkZXItPnVybCgpLmZyYWdt
ZW50SWRlbnRpZmllcigpKTsKLSAgICB9Ci0gICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJH
bG9iYWxTY29wZShyZXNwb25zZVVSTCwgbV9vcHRpb25zLm5hbWUsIGNvbnRleHQtPnVzZXJBZ2Vu
dChyZXNwb25zZVVSTCksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIG1fc2NyaXB0TG9hZGVyLT5jcm9zc09yaWdpbkVtYmVkZGVy
UG9saWN5KCksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9vcHRpb25z
LnR5cGUsIG1fb3B0aW9ucy5jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOworICAgIG1fY29u
dGV4dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPmxhc3RSZXF1
ZXN0VVJMKCksIG1fb3B0aW9ucy5uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2Fk
ZXItPmxhc3RSZXF1ZXN0VVJMKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgp
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3NjcmlwdExvYWRlci0+Y3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeSgpLCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xpY3ksIG1f
b3B0aW9ucy50eXBlLCBtX29wdGlvbnMuY3JlZGVudGlhbHMsIG1fcnVudGltZUZsYWdzKTsKICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpjb250ZXh0LCBtX3Nj
cmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkudG9TdHJp
bmcoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRmV0
Y2hSZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRmV0Y2hSZXN1bHQuaApp
bmRleCAxYzM4MjQzMjRlZGRkMDc0MWIyNDI0ZGFjOWNkYTZiYjY4NmY1MDE3Li41OTk2YmZhMjk4
Yjk0MzI4Y2M3MGZjOGJlMGJmNTgzYWFjYjc4YzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckZldGNoUmVzdWx0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJGZXRjaFJlc3VsdC5oCkBAIC0zNSwxMyArMzUsMTQgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQgewogICAgIFNjcmlwdEJ1ZmZlciBzY3Jp
cHQ7CisgICAgVVJMIGxhc3RSZXF1ZXN0VVJMOyAvLyBMYXN0IFVSTCBpbiBjYXNlIG9mIHJlZGly
ZWN0cy4KICAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOwogICAgIENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBjb250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAg
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5OwogICAg
IFN0cmluZyByZWZlcnJlclBvbGljeTsKICAgICBSZXNvdXJjZUVycm9yIGVycm9yOwogCi0gICAg
V29ya2VyRmV0Y2hSZXN1bHQgaXNvbGF0ZWRDb3B5KCkgY29uc3QgeyByZXR1cm4geyBzY3JpcHQu
aXNvbGF0ZWRDb3B5KCksIGNlcnRpZmljYXRlSW5mby5pc29sYXRlZENvcHkoKSwgY29udGVudFNl
Y3VyaXR5UG9saWN5Lmlzb2xhdGVkQ29weSgpLCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Lmlz
b2xhdGVkQ29weSgpLCByZWZlcnJlclBvbGljeS5pc29sYXRlZENvcHkoKSwgZXJyb3IuaXNvbGF0
ZWRDb3B5KCkgfTsgfQorICAgIFdvcmtlckZldGNoUmVzdWx0IGlzb2xhdGVkQ29weSgpIGNvbnN0
IHsgcmV0dXJuIHsgc2NyaXB0Lmlzb2xhdGVkQ29weSgpLCBsYXN0UmVxdWVzdFVSTC5pc29sYXRl
ZENvcHkoKSwgY2VydGlmaWNhdGVJbmZvLmlzb2xhdGVkQ29weSgpLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3kuaXNvbGF0ZWRDb3B5KCksIGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaXNvbGF0ZWRD
b3B5KCksIHJlZmVycmVyUG9saWN5Lmlzb2xhdGVkQ29weSgpLCBlcnJvci5pc29sYXRlZENvcHko
KSB9OyB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVy
JikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VE
X1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgV29ya2VyRmV0Y2hSZXN1bHQmKTsKQEAgLTQ5
LDEzICs1MCwxMyBAQCBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQgewogCiBpbmxpbmUgV29ya2Vy
RmV0Y2hSZXN1bHQgd29ya2VyRmV0Y2hFcnJvcihjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikK
IHsKLSAgICByZXR1cm4geyB7IH0sIHsgfSwgeyB9LCB7IH0sIHsgfSwgZXJyb3IgfTsKKyAgICBy
ZXR1cm4geyB7IH0sIHsgfSwgeyB9LCB7IH0sIHsgfSwgeyB9LCBlcnJvciB9OwogfQogCiB0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBXb3JrZXJGZXRjaFJlc3VsdDo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8PCBzY3JpcHQgPDwgY29udGVudFNl
Y3VyaXR5UG9saWN5IDw8IGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kgPDwgcmVmZXJyZXJQb2xp
Y3kgPDwgZXJyb3IgPDwgY2VydGlmaWNhdGVJbmZvOworICAgIGVuY29kZXIgPDwgc2NyaXB0IDw8
IGxhc3RSZXF1ZXN0VVJMIDw8IGNvbnRlbnRTZWN1cml0eVBvbGljeSA8PCBjcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5IDw8IHJlZmVycmVyUG9saWN5IDw8IGVycm9yIDw8IGNlcnRpZmljYXRlSW5m
bzsKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTYzLDYgKzY0LDggQEAgYm9vbCBX
b3JrZXJGZXRjaFJlc3VsdDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdvcmtlckZldGNoUmVz
dWx0JiByZXN1bHQpCiB7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc2NyaXB0KSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lmxh
c3RSZXF1ZXN0VVJMKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUocmVzdWx0LmNvbnRlbnRTZWN1cml0eVBvbGljeSkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5jcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApp
bmRleCA5ZGZiNGM5OTFhOGNiNTkxZTEyODc4NWU2YTZmMTRjZDJhMTUyNjI4Li5lMmY4ZTZkOTFh
ZDcxNjViMzNjYjIyNTJjNjc0Yzk0ZWRjZGM1OTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAi
U2VydmljZVdvcmtlckNvbnRleHREYXRhLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlLmgiCiAjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgorI2luY2x1ZGUgIldv
cmtlckZldGNoUmVzdWx0LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNs
dWRlICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyLmgiCkBAIC01Nyw2ICs1OCw3IEBAIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvCiAg
ICAgYXV0byYgd29ya2VyR2xvYmFsU2NvcGUgPSBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4o
KnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwogCiAgICAgbV91cmwgPSB1cmw7CisgICAgbV9sYXN0
UmVxdWVzdFVSTCA9IHVybDsKICAgICBtX2Rlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0
aW5hdGlvbjo6U2NyaXB0OwogICAgIG1faXNDT0VQRW5hYmxlZCA9IHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPnNldHRpbmdzVmFsdWVzKCkuY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeUVuYWJsZWQ7
CiAKQEAgLTExNiw2ICsxMTgsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5j
aHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogewogICAgIG1f
Y2xpZW50ID0gJmNsaWVudDsKICAgICBtX3VybCA9IHNjcmlwdFJlcXVlc3QudXJsKCk7CisgICAg
bV9sYXN0UmVxdWVzdFVSTCA9IHNjcmlwdFJlcXVlc3QudXJsKCk7CiAgICAgbV9kZXN0aW5hdGlv
biA9IGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbjsKICAgICBtX2lzQ09FUEVuYWJsZWQgPSBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0LnNldHRpbmdzVmFsdWVzKCkuY3Jvc3NPcmlnaW5FbWJlZGRlclBv
bGljeUVuYWJsZWQ7CiAKQEAgLTE3OCw2ICsxODEsMTEgQEAgUmVzb3VyY2VFcnJvciBXb3JrZXJT
Y3JpcHRMb2FkZXI6OnZhbGlkYXRlV29ya2VyUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYKICAgICByZXR1cm4geyB9OwogfQogCit2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6cmVkaXJl
Y3RSZWNlaXZlZChjb25zdCBVUkwmIHJlZGlyZWN0VVJMKQoreworICAgIG1fbGFzdFJlcXVlc3RV
UkwgPSByZWRpcmVjdFVSTDsKK30KKwogdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZFJlY2Vp
dmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgbV9lcnJvciA9IHZhbGlkYXRlV29ya2Vy
UmVzcG9uc2UocmVzcG9uc2UsIG1fZGVzdGluYXRpb24pOwpAQCAtMjY2LDQgKzI3NCwxMSBAQCB2
b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6Y2FuY2VsKCkKICAgICBtX3RocmVhZGFibGVMb2FkZXIg
PSBudWxscHRyOwogfQogCitXb3JrZXJGZXRjaFJlc3VsdCBXb3JrZXJTY3JpcHRMb2FkZXI6OmZl
dGNoUmVzdWx0KCkgY29uc3QKK3sKKyAgICBpZiAobV9mYWlsZWQpCisgICAgICAgIHJldHVybiB3
b3JrZXJGZXRjaEVycm9yKGVycm9yKCkpOworICAgIHJldHVybiB7IHNjcmlwdCgpLCBsYXN0UmVx
dWVzdFVSTCgpLCBjZXJ0aWZpY2F0ZUluZm8oKSwgY29udGVudFNlY3VyaXR5UG9saWN5KCksIGNy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSwgcmVmZXJyZXJQb2xpY3koKSwgeyB9IH07Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oCmluZGV4IDY5NGEwNjc2NGQzN2NhNzMwZmQxZTBiMWQyYjg3YjY1ZDAwZmMw
YWYuLmYyZGVhODhmMTEwM2M1MTg5MjRkODEzNzY0ZTE4NzlkYjhiOGUwNTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtNDksNiArNDksNyBAQCBj
bGFzcyBFeGNlcHRpb247CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVGV4
dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlckNsaWVudDsKK3N0cnVj
dCBXb3JrZXJGZXRjaFJlc3VsdDsKIGVudW0gY2xhc3MgQ2VydGlmaWNhdGVJbmZvUG9saWN5IDog
dWludDhfdDsKIAogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8
V29ya2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXJDbGllbnQgewpAQCAt
NjQsMTEgKzY1LDEyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbm90aWZ5RXJyb3IoKTsKIAotICAg
IGNvbnN0IFNjcmlwdEJ1ZmZlciYgc2NyaXB0KCkgeyByZXR1cm4gbV9zY3JpcHQ7IH0KKyAgICBj
b25zdCBTY3JpcHRCdWZmZXImIHNjcmlwdCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0OyB9CiAg
ICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2Vj
dXJpdHlQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRTZWN1cml0eVBvbGljeTsgfQog
ICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlZmVy
cmVyUG9saWN5OyB9CiAgICAgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgY3Jvc3NP
cmlnaW5FbWJlZGRlclBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeTsgfQogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0K
KyAgICBjb25zdCBVUkwmIGxhc3RSZXF1ZXN0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0UmVx
dWVzdFVSTDsgfQogICAgIGNvbnN0IFVSTCYgcmVzcG9uc2VVUkwoKSBjb25zdDsKICAgICBSZXNv
dXJjZVJlc3BvbnNlOjpTb3VyY2UgcmVzcG9uc2VTb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX3Jl
c3BvbnNlU291cmNlOyB9CiAgICAgYm9vbCBpc1JlZGlyZWN0ZWQoKSBjb25zdCB7IHJldHVybiBt
X2lzUmVkaXJlY3RlZDsgfQpAQCAtNzgsNiArODAsOSBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VM
b2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7
IH0KICAgICBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJy
b3I7IH0KIAorICAgIFdvcmtlckZldGNoUmVzdWx0IGZldGNoUmVzdWx0KCkgY29uc3Q7CisKKyAg
ICB2b2lkIHJlZGlyZWN0UmVjZWl2ZWQoY29uc3QgVVJMJiByZWRpcmVjdFVSTCkgb3ZlcnJpZGU7
CiAgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0
YShjb25zdCBTaGFyZWRCdWZmZXImKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRp
bmcoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSBv
dmVycmlkZTsKQEAgLTEwMyw2ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxUZXh0UmVz
b3VyY2VEZWNvZGVyPiBtX2RlY29kZXI7CiAgICAgU2NyaXB0QnVmZmVyIG1fc2NyaXB0OwogICAg
IFVSTCBtX3VybDsKKyAgICBVUkwgbV9sYXN0UmVxdWVzdFVSTDsKICAgICBVUkwgbV9yZXNwb25z
ZVVSTDsKICAgICBDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUluZm87CiAgICAgU3RyaW5n
IG1fcmVzcG9uc2VNSU1FVHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCA3YjQ3OGNiOTlkZTk3
YWJjNTM0MjlhMjVmMDljOGM0ZDM2NGU2ODBjLi5mMjE0YWM2YTAwNzZmYThkNjc4NDMwZDZmNGNl
MTU0MDNlOGExNmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC00OTEsMTMgKzQ5MSwxMyBAQCB2
b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnN0YXJ0U2NyaXB0RmV0Y2hGb3JKb2IoU2Vydmlj
ZVdvcmtlckpvYiYgam9iLCBGZXRjaAogICAgIGpvYi5mZXRjaFNjcmlwdFdpdGhDb250ZXh0KCpj
b250ZXh0LCBjYWNoZVBvbGljeSk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6
am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QgU2Ny
aXB0QnVmZmVyJiBzY3JpcHQsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1
cml0eVBvbGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgY29lcCwgY29uc3Qg
U3RyaW5nJiByZWZlcnJlclBvbGljeSkKK3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9i
RmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QgV29ya2Vy
RmV0Y2hSZXN1bHQmIGZldGNoUmVzdWx0KQogewogICAgIEFTU0VSVChtX2NyZWF0aW9uVGhyZWFk
LnB0cigpID09ICZUaHJlYWQ6OmN1cnJlbnQoKSk7CiAKICAgICBDT05UQUlORVJfUkVMRUFTRV9M
T0coImpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdDogU3VjY2Vzc2Z1bHkgZmluaXNoZWQgZmV0Y2hp
bmcgc2NyaXB0IGZvciBqb2IgJSIgUFJJdTY0LCBqb2IuaWRlbnRpZmllcigpLnRvVUludDY0KCkp
OwogCi0gICAgZW5zdXJlU1dDbGllbnRDb25uZWN0aW9uKCkuZmluaXNoRmV0Y2hpbmdTY3JpcHRJ
blNlcnZlcihqb2IuZGF0YSgpLmlkZW50aWZpZXIoKSwgam9iLmRhdGEoKS5yZWdpc3RyYXRpb25L
ZXkoKSwgV29ya2VyRmV0Y2hSZXN1bHQgeyBzY3JpcHQsIGNlcnRpZmljYXRlSW5mbywgY29udGVu
dFNlY3VyaXR5UG9saWN5LCBjb2VwLCByZWZlcnJlclBvbGljeSwgeyB9IH0pOworICAgIGVuc3Vy
ZVNXQ2xpZW50Q29ubmVjdGlvbigpLmZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoam9iLmRh
dGEoKS5pZGVudGlmaWVyKCksIGpvYi5kYXRhKCkucmVnaXN0cmF0aW9uS2V5KCksIGZldGNoUmVz
dWx0KTsKIH0KIAogdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JGYWlsZWRMb2FkaW5n
U2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3Is
IEV4Y2VwdGlvbiYmIGV4Y2VwdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCmluZGV4IDI4ZjVjYmMxZmVlNmFh
ZWM0ODBlNDQ5MTEzYzRkNDEwODNhZjNiNjQuLjdhZjIxNzNlOGQ1ZTI0OTFlNTZlMjNkNDUzNTlk
YjAzZWY5OWU1MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApAQCAtMTE4LDcgKzExOCw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYs
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZl
ZCkgZmluYWw7CiAgICAgdm9pZCBqb2JSZXNvbHZlZFdpdGhVbnJlZ2lzdHJhdGlvblJlc3VsdChT
ZXJ2aWNlV29ya2VySm9iJiwgYm9vbCB1bnJlZ2lzdHJhdGlvblJlc3VsdCkgZmluYWw7CiAgICAg
dm9pZCBzdGFydFNjcmlwdEZldGNoRm9ySm9iKFNlcnZpY2VXb3JrZXJKb2ImLCBGZXRjaE9wdGlv
bnM6OkNhY2hlKSBmaW5hbDsKLSAgICB2b2lkIGpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChTZXJ2
aWNlV29ya2VySm9iJiwgY29uc3QgU2NyaXB0QnVmZmVyJiwgY29uc3QgQ2VydGlmaWNhdGVJbmZv
JiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgY29uc3QgQ3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSYsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3kpIGZp
bmFsOworICAgIHZvaWQgam9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2Im
LCBjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYpIGZpbmFsOwogICAgIHZvaWQgam9iRmFpbGVkTG9h
ZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgUmVzb3VyY2VFcnJvciYsIEV4Y2Vw
dGlvbiYmKSBmaW5hbDsKIAogICAgIHZvaWQgbm90aWZ5RmFpbGVkRmV0Y2hpbmdTY3JpcHQoU2Vy
dmljZVdvcmtlckpvYiYsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcAppbmRleCA2OWVmOWQ3
MDdmYzQzZDQ3YzJlMjI2NWFhMTQ5NjM0ZTNiYjAxOGQ3Li5jNjM4MTg2OWVjNzhmNzNiOTk1NzBi
ODMyNmYyYzk2ZWJiNGYxNTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iRGF0YS5oIgogI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCIKKyNpbmNsdWRlICJXb3JrZXJGZXRj
aFJlc3VsdC5oIgogI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtMTY1LDcgKzE2Niw3IEBAIHZvaWQgU2VydmljZVdvcmtlckpvYjo6bm90aWZ5Rmlu
aXNoZWQoKQogICAgIGF1dG8gc2NyaXB0TG9hZGVyID0gV1RGTW92ZShtX3NjcmlwdExvYWRlcik7
CiAKICAgICBpZiAoIXNjcmlwdExvYWRlci0+ZmFpbGVkKCkpIHsKLSAgICAgICAgbV9jbGllbnQu
am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KCp0aGlzLCBzY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBz
Y3JpcHRMb2FkZXItPmNlcnRpZmljYXRlSW5mbygpLCBzY3JpcHRMb2FkZXItPmNvbnRlbnRTZWN1
cml0eVBvbGljeSgpLCBzY3JpcHRMb2FkZXItPmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSwg
c2NyaXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpKTsKKyAgICAgICAgbV9jbGllbnQuam9iRmlu
aXNoZWRMb2FkaW5nU2NyaXB0KCp0aGlzLCBzY3JpcHRMb2FkZXItPmZldGNoUmVzdWx0KCkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaAppbmRleCAyY2Y1MTQ3OGM5YjFk
ZjcwZGFiZTBiZTQ2MWZkOTcwNWMyOTNjYzEyLi4wNDU5MzNjNjI0MzAyMjhmNTNhNTkxYjFkZjA3
MGMxZGNiMjRhNmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckpvYkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgU2Ny
aXB0QnVmZmVyOwogY2xhc3MgU2VydmljZVdvcmtlckpvYjsKIHN0cnVjdCBDcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5Owogc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOworc3Ry
dWN0IFdvcmtlckZldGNoUmVzdWx0OwogCiBjbGFzcyBTZXJ2aWNlV29ya2VySm9iQ2xpZW50IHsK
IHB1YmxpYzoKQEAgLTUwLDcgKzUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBqb2JS
ZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYsIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhJiYsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBqb2JSZXNvbHZlZFdpdGhVbnJlZ2lzdHJhdGlvblJlc3VsdChTZXJ2aWNlV29y
a2VySm9iJiwgYm9vbCB1bnJlZ2lzdHJhdGlvblJlc3VsdCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBzdGFydFNjcmlwdEZldGNoRm9ySm9iKFNlcnZpY2VXb3JrZXJKb2ImLCBGZXRjaE9wdGlvbnM6
OkNhY2hlKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChT
ZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU2NyaXB0QnVmZmVyJiwgY29uc3QgQ2VydGlmaWNhdGVJ
bmZvJiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgY29uc3Qg
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3kp
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgam9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VX
b3JrZXJKb2ImLCBjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgam9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgUmVzb3Vy
Y2VFcnJvciYsIEV4Y2VwdGlvbiYmKSA9IDA7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRl
eCAzODBmYzNhNWVkNGY2YTQ5ZjlkY2I2N2YzNDFiNjE3NWYzYmJmOGYzLi5hMWFmMmUyNzY4ZjJj
NTVmZGI0NWMwZWNmYmE5NDliYjE2NGY4MGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTU4
LDEyICs1OCw5IEBAIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVz
cG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50CiAKIHZvaWQgU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZCgpCiB7Ci0gICAgaWYgKG1fbG9hZGVyLT5mYWls
ZWQoKSkKLSAgICAgICAgcmV0dXJuIG1fY29tcGxldGlvbkhhbmRsZXIod29ya2VyRmV0Y2hFcnJv
cihtX2xvYWRlci0+ZXJyb3IoKSkpOwotCi0gICAgaWYgKGF1dG8qIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQgPSBtX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQorICAgIGlmIChhdXRv
KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0ID0gbV93b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKTsgIW1fbG9hZGVyLT5mYWlsZWQoKSkKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpzY3JpcHRJbXBvcnRlZCgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgbV9sb2FkZXItPmlk
ZW50aWZpZXIoKSwgbV9sb2FkZXItPnNjcmlwdCgpLnRvU3RyaW5nKCkpOwotICAgIG1fY29tcGxl
dGlvbkhhbmRsZXIoeyBtX2xvYWRlci0+c2NyaXB0KCksIG1fbG9hZGVyLT5jZXJ0aWZpY2F0ZUlu
Zm8oKSwgbV9sb2FkZXItPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLCBtX2xvYWRlci0+Y3Jvc3NP
cmlnaW5FbWJlZGRlclBvbGljeSgpLCBtX2xvYWRlci0+cmVmZXJyZXJQb2xpY3koKSwgeyB9IH0p
OyAvLyBkZWxldGVzIHRoaXMuCisgICAgbV9jb21wbGV0aW9uSGFuZGxlcihtX2xvYWRlci0+ZmV0
Y2hSZXN1bHQoKSk7IC8vIGRlbGV0ZXMgdGhpcy4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFy
ZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9j
b250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcAppbmRleCAyNmJhN2I2OGJjZWQyZTky
ZTE2N2U3NzljOWNkNTVkM2QzYjE3ODc3Li4zNTQ3ZDY3N2U4ZWFhZjZjY2U1NzlmYzIwY2NjZTlh
OGY4YTU1NWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250
ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcApAQCAtNTUsMTAg
KzU1LDEwIEBAIHN0YXRpYyBIYXNoU2V0PFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4mIGFsbFNo
YXJlZFdvcmtlclRocmVhZFByb3hpZXMoKQogICAgIHJldHVybiBzZXQ7CiB9CiAKLXN0YXRpYyBX
b3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJP
cHRpb25zJiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIERvY3VtZW50
JiBkb2N1bWVudCkKK3N0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1l
dGVycyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9w
dGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRG9jdW1lbnQm
IGRvY3VtZW50KQogewogICAgIHJldHVybiBXb3JrZXJQYXJhbWV0ZXJzIHsKLSAgICAgICAgc2Ny
aXB0VVJMLAorICAgICAgICB3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwKICAgICAg
ICAgd29ya2VyT3B0aW9ucy5uYW1lLAogICAgICAgICAic2hhcmVkd29ya2VyOiIgKyBJbnNwZWN0
b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLAogICAgICAgICB1c2Vy
QWdlbnQsCkBAIC03NCwxMCArNzQsMTAgQEAgc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJh
dGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBXb3IKICAgICB9
OwogfQogCi1TaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHko
VW5pcXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgY29uc3QgVVJM
JiBzY3JpcHRVUkwsIFdvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtl
ck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgQ2FjaGVT
dG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQorU2hhcmVkV29ya2VyVGhyZWFk
UHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNo
YXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50
T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1
bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogbV9w
YWdlKFdURk1vdmUocGFnZSkpCiAgICAgLCBtX2RvY3VtZW50KCptX3BhZ2UtPm1haW5GcmFtZSgp
LmRvY3VtZW50KCkpCi0gICAgLCBtX3dvcmtlclRocmVhZChTaGFyZWRXb3JrZXJUaHJlYWQ6OmNy
ZWF0ZShzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMoc2Ny
aXB0VVJMLCB3b3JrZXJGZXRjaFJlc3VsdCwgV1RGTW92ZSh3b3JrZXJPcHRpb25zKSwgdXNlckFn
ZW50LCBtX2RvY3VtZW50KSwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdC5zY3JpcHQpLCAqdGhp
cywgKnRoaXMsICp0aGlzLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgY2xpZW50T3Jp
Z2luLnRvcE9yaWdpbi5zZWN1cml0eU9yaWdpbigpLCBtX2RvY3VtZW50LT5pZGJDb25uZWN0aW9u
UHJveHkoKSwgbV9kb2N1bWVudC0+c29ja2V0UHJvdmlkZXIoKSwgSlNDOjpSdW50aW1lRmxhZ3M6
OmNyZWF0ZUFsbEVuYWJsZWQoKSkpCisgICAgLCBtX3dvcmtlclRocmVhZChTaGFyZWRXb3JrZXJU
aHJlYWQ6OmNyZWF0ZShzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBnZW5lcmF0ZVdvcmtlclBhcmFt
ZXRlcnMod29ya2VyRmV0Y2hSZXN1bHQsIFdURk1vdmUod29ya2VyT3B0aW9ucyksIHVzZXJBZ2Vu
dCwgbV9kb2N1bWVudCksIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQuc2NyaXB0KSwgKnRoaXMs
ICp0aGlzLCAqdGhpcywgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGNsaWVudE9yaWdp
bi50b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgbV9kb2N1bWVudC0+aWRiQ29ubmVjdGlvblBy
b3h5KCksIG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVyKCksIEpTQzo6UnVudGltZUZsYWdzOjpj
cmVhdGVBbGxFbmFibGVkKCkpKQogICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihjYWNoZVN0
b3JhZ2VQcm92aWRlcikKIHsKICAgICBBU1NFUlQoIWFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hp
ZXMoKS5jb250YWlucyh0aGlzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKaW5kZXgg
MzM2NDI0MGFiYmI1OWI4ZDFkMDM5ZmVlYmQwNWIxNGEwMjczN2FkZi4uZGFiM2ExMjNkZWUxOGRi
YjYyNGQ3N2Y1OGVkOThkNDQ5NGM3ZmE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHku
aApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBc1Rlcm1pbmF0aW5nT3JU
ZXJtaW5hdGVkKCkgeyBtX2lzVGVybWluYXRpbmdPclRlcm1pbmF0ZWQgPSB0cnVlOyB9CiAKIHBy
aXZhdGU6Ci0gICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVl
UmVmPFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYs
IGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJPcHRpb25z
JiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQcm92aWRlciYpOworICAg
IFdFQkNPUkVfRVhQT1JUIFNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYm
LCBTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mLCBXb3JrZXJGZXRj
aFJlc3VsdCYmLCBXb3JrZXJPcHRpb25zJiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNo
ZVN0b3JhZ2VQcm92aWRlciYpOwogCiAgICAgLy8gV29ya2VyT2JqZWN0UHJveHkuCiAgICAgdm9p
ZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2Us
IGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvU2VydmljZVdvcmtlclNvZnRVcGRhdGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJTb2Z0VXBkYXRlTG9h
ZGVyLmNwcAppbmRleCAzN2I5NjY4ZjBmNWQ4NDMwNmI0NjRhZmU0ZDA2M2E3NWMzZjExYTZiLi41
YmQxYWJlN2M0ZWQ3ZjMzYjU2OTVjZGI2MWViMTQyODJkYjY3MGQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlclNvZnRV
cGRhdGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vydmlj
ZVdvcmtlci9TZXJ2aWNlV29ya2VyU29mdFVwZGF0ZUxvYWRlci5jcHAKQEAgLTE5Niw3ICsxOTYs
NyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJTb2Z0VXBkYXRlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5n
KGNvbnN0IFdlYkNvcmU6Ok5ldHdvcmtMb2FkTQogewogICAgIGlmIChtX2RlY29kZXIpCiAgICAg
ICAgIG1fc2NyaXB0LmFwcGVuZChtX2RlY29kZXItPmZsdXNoKCkpOwotICAgIG1fY29tcGxldGlv
bkhhbmRsZXIoeyBTY3JpcHRCdWZmZXIgeyBtX3NjcmlwdC50b1N0cmluZygpIH0sIG1fY2VydGlm
aWNhdGVJbmZvLCBtX2NvbnRlbnRTZWN1cml0eVBvbGljeSwgbV9jcm9zc09yaWdpbkVtYmVkZGVy
UG9saWN5LCBtX3JlZmVycmVyUG9saWN5LCB7IH0gfSk7CisgICAgbV9jb21wbGV0aW9uSGFuZGxl
cih7IFNjcmlwdEJ1ZmZlciB7IG1fc2NyaXB0LnRvU3RyaW5nKCkgfSwgbV9qb2JEYXRhLnNjcmlw
dFVSTCwgbV9jZXJ0aWZpY2F0ZUluZm8sIG1fY29udGVudFNlY3VyaXR5UG9saWN5LCBtX2Nyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3ksIG1fcmVmZXJyZXJQb2xpY3ksIHsgfSB9KTsKICAgICBkaWRD
b21wbGV0ZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCmluZGV4IGZmODZiYzdkNmEyZDQzMWYz
ODM0ZGY4NWUxZDI2MjM0NTZmNWE5ODcuLmFhM2FhN2M0NjQ3ZDczNDBlY2I1ZWIwNThkZDI2NTJh
ZDVhNmM2YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVk
V29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtl
clNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCkBAIC04OSw3ICs4OSw3IEBAIHZvaWQgV2Vi
U2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2Vy
KFdlYlNoYXJlZFdvcmtlCiB7CiAgICAgQ09OVEVYVF9DT05ORUNUSU9OX1JFTEVBU0VfTE9HKCJs
YXVuY2hTaGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIgUFJJdTY0LCBzaGFy
ZWRXb3JrZXIuaWRlbnRpZmllcigpLnRvVUludDY0KCkpOwogICAgIHNoYXJlZFdvcmtlci5tYXJr
QXNSdW5uaW5nKCk7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uOjpMYXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFyZWRXb3JrZXIub3JpZ2lu
KCksIHNoYXJlZFdvcmtlci5pZGVudGlmaWVyKCksIHNoYXJlZFdvcmtlci51cmwoKSwgc2hhcmVk
V29ya2VyLndvcmtlck9wdGlvbnMoKSwgc2hhcmVkV29ya2VyLmZldGNoUmVzdWx0KCkgfSk7Cisg
ICAgc2VuZChNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
OjpMYXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFyZWRXb3JrZXIub3JpZ2luKCksIHNoYXJlZFdvcmtl
ci5pZGVudGlmaWVyKCksIHNoYXJlZFdvcmtlci53b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtl
ci5mZXRjaFJlc3VsdCgpIH0pOwogICAgIGZvciAoYXV0byYgcG9ydCA6IHNoYXJlZFdvcmtlci5z
aGFyZWRXb3JrZXJPYmplY3RzKCkudmFsdWVzKCkpCiAgICAgICAgIHBvc3RDb25uZWN0RXZlbnQo
c2hhcmVkV29ya2VyLCBwb3J0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4IDg0MzA2NDc2NjVmYTY1MDhhNWVjNzAwNjczYmJi
NzQ0MmQzYjY4ZjAuLjIwNWIzZTZmYWVkMjIzNjZiMWE1MWJjN2E4ODA1ZGIwZmY1NTJiMTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtl
ckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApA
QCAtODksNyArODksNyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZShjb25zdCBXZWJQcgogICAgIG1fcHJlZmVyZW5j
ZXNTdG9yZSA9IHN0b3JlOwogfQogCi12b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9y
aWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlm
aWVyLCBVUkwmJiB1cmwsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBX
ZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0KQordm9pZCBXZWJT
aGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcihX
ZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50
aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmIHdv
cmtlck9wdGlvbnMsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1
bHQpCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29ya2VyLCAiV2ViU2hhcmVkV29ya2VyQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklk
ZW50aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOwog
ICAgIGF1dG8gcGFnZUNvbmZpZ3VyYXRpb24gPSBXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldp
dGhFbXB0eUNsaWVudHMoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2Vzc2lvbklEKCkpOwpAQCAt
MTEwLDggKzExMCw4IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50CiAgICAgICAgIFdlYlBhZ2U6
OnVwZGF0ZVNldHRpbmdzR2VuZXJhdGVkKCptX3ByZWZlcmVuY2VzU3RvcmUsIHBhZ2UtPnNldHRp
bmdzKCkpOwogICAgICAgICBwYWdlLT5zZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGlj
eShzdGF0aWNfY2FzdDxXZWJDb3JlOjpTdG9yYWdlQmxvY2tpbmdQb2xpY3k+KG1fcHJlZmVyZW5j
ZXNTdG9yZS0+Z2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN0b3JhZ2VC
bG9ja2luZ1BvbGljeUtleSgpKSkpOwogICAgIH0KLSAgICBwYWdlLT5zZXR1cEZvclJlbW90ZVdv
cmtlcih1cmwsIG9yaWdpbi50b3BPcmlnaW4sIHdvcmtlckZldGNoUmVzdWx0LnJlZmVycmVyUG9s
aWN5KTsKLSAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVhZFByb3h5ID0gV2ViQ29yZTo6U2hhcmVk
V29ya2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2UpLCBzaGFyZWRXb3JrZXJJZGVu
dGlmaWVyLCBvcmlnaW4sIHVybCwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdCksIFdURk1vdmUo
d29ya2VyT3B0aW9ucyksIG1fdXNlckFnZW50LCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNo
ZVN0b3JhZ2VQcm92aWRlcigpKTsKKyAgICBwYWdlLT5zZXR1cEZvclJlbW90ZVdvcmtlcih3b3Jr
ZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwgb3JpZ2luLnRvcE9yaWdpbiwgd29ya2VyRmV0
Y2hSZXN1bHQucmVmZXJyZXJQb2xpY3kpOworICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJv
eHkgPSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFn
ZSksIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRjaFJl
c3VsdCksIFdURk1vdmUod29ya2VyT3B0aW9ucyksIG1fdXNlckFnZW50LCBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92aWRlcigpKTsKIAogICAgIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlckNvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5yZWdpc3RlclNoYXJlZFdvcmtlclRo
cmVhZChXVEZNb3ZlKHNoYXJlZFdvcmtlclRocmVhZFByb3h5KSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IDFhY2ZkMGM0MTI5MWQ1
N2U3NGIwNmZlZGM2OTViZmFmMTA5NWRiYmUuLmFiMzVjYmQwMTg4NWNlYjM3NjEzMTBiZGY0ZDVi
N2I4ODcyMGFmNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbi5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBJ
UEMgTWVzc2FnZXMuCi0gICAgdm9pZCBsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50
T3JpZ2luJiYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFVSTCYmLCBXZWJDb3Jl
OjpXb3JrZXJPcHRpb25zJiYsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYpOworICAgIHZv
aWQgbGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpT
aGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYsIFdlYkNvcmU6
OldvcmtlckZldGNoUmVzdWx0JiYpOwogICAgIHZvaWQgdXBkYXRlUHJlZmVyZW5jZXNTdG9yZShj
b25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJik7CiAgICAgdm9pZCBzZXRVc2VyQWdlbnQoU3RyaW5n
JiYgdXNlckFnZW50KSB7IG1fdXNlckFnZW50ID0gV1RGTW92ZSh1c2VyQWdlbnQpOyB9CiAgICAg
dm9pZCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IGQ4MmE0YWRhNTNmZDRiZWIxYzVlZWUx
ZjdhYmE2MjJmM2ZkNWIxZGIuLjhlZGE3YWI1OTgzMTA0MDMxYWM1MjMyZmFhNGViZDg1ZjBlNjc4
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJl
ZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNv
bm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAog
bWVzc2FnZXMgLT4gV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uIE5vdFJl
ZkNvdW50ZWQgewotICAgIExhdW5jaFNoYXJlZFdvcmtlcihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50
T3JpZ2luIG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLCBVUkwgdXJsLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3Jr
ZXJPcHRpb25zLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgd29ya2VyRmV0Y2hS
ZXN1bHQpCisgICAgTGF1bmNoU2hhcmVkV29ya2VyKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmln
aW4gb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklk
ZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlvbnMsIHN0
cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCB3b3JrZXJGZXRjaFJlc3VsdCkKICAgICBQ
b3N0Q29ubmVjdEV2ZW50KFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29y
a2VySWRlbnRpZmllciwgV2ViQ29yZTo6VHJhbnNmZXJyZWRNZXNzYWdlUG9ydCBwb3J0LCBTdHJp
bmcgc291cmNlT3JpZ2luKQogICAgIFRlcm1pbmF0ZVNoYXJlZFdvcmtlcihXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIpCiAgICAgVXBkYXRlUHJl
ZmVyZW5jZXNTdG9yZShzdHJ1Y3QgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlIHN0b3JlKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMDkxZWU3ZWI5OWFiZWRlNGUwM2Q2ODYw
NzIwN2MxYjk4M2YxY2ExYS4uYWQyYTY3MzEzNzMzOTcyOGZlNWQwOWNkNTYxZThjMDhkNTdiZjRm
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjIt
MDItMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBzZWxmLmxv
Y2F0aW9uLmhyZWYgaXMgaW5jb3JyZWN0IGluIHNoYXJlZCB3b3JrZXJzIGluIGNhc2Ugb2YgcmVk
aXJlY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzYzNDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZWJhc2VsaW5lIFdQVCB0ZXN0cyB0aGF0IGFyZSBub3cgcGFzc2luZy4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi1z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9i
YWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorCiAy
MDIyLTAyLTA4ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFtjc3MtbG9naWNhbF0gW2Nzcy1hbmltYXRpb25zXSBjaGFuZ2luZyAiZGlyZWN0aW9uIiBvciAi
d3JpdGluZy1tb2RlIiBzaG91bGQgcmVjb21wdXRlIGtleWZyYW1lcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwv
YWxwaGEvaW1wb3J0U2NyaXB0cy1pbi1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxw
aGEvaW1wb3J0U2NyaXB0cy1pbi1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGFiNWE3
ZmI4OTAyMGYyOWZkODkzYTc1NjgwZmZlMTdkM2QzNTBmN2MuLmFiNTNiODA1OTlhZTAxOTU3ODA4
NWVlNDRhYWVmYTRjNzk1NTI2ODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMt
aW4tc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRz
LWluLXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgaW1w
b3J0U2NyaXB0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWEvc2NyaXB0LmpzIiBidXQg
Z290ICJiZXRhL3NjcmlwdC5qcyIKK1BBU1MgaW1wb3J0U2NyaXB0cwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVy
bC9hbHBoYS94aHItaW4tc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1p
bi1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGQ2YjA4ZWVkYWU2ZjY5NmM3YTRiZmE2
NTVlMTNiNWVkNDYwN2VhMDEuLmVhMTQ1NGQ5YjNmMjBmODVkOTAxNmM1MDZhMTU0NmFmNjE3ODQy
ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9iYXNldXJsL2FscGhhL3hoci1pbi1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsMyBAQAogCi1GQUlMIHhoci13b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImdhbW1h
XG4iIGJ1dCBnb3QgImJldGFcbiIKK1BBU1MgeGhyLXdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNl
cy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1zaGFyZWR3b3JrZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3Qtc2hhcmVk
d29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBiOGY2MjQ1ZGJkY2JjZTQ2YzdlMjVkYzE0MWEwNDhm
Nzc0ZmYzOTJkLi5jMGU1NWExZTA1NDE5NzBkY2EyYzEzODdiZmQwMjE1MzIwZWRlNjBmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1zaGFyZWR3
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9u
L3JlZGlyZWN0LXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZB
SUwgcmVkaXJlY3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIi93b3JrZXJzL2ludGVyZmFjZXMv
V29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3QuanMiIGJ1dCBnb3QgIi9jb21tb24v
cmVkaXJlY3QucHkiCitQQVNTIHJlZGlyZWN0CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451370</attachid>
            <date>2022-02-09 07:16:20 -0800</date>
            <delta_ts>2022-02-09 08:23:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236340-20220209071619.patch</filename>
            <type>text/plain</type>
            <size>37965</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU2ZDg5YjMxNjkyZGVk
NDhkNDgyMWM3MWFjODExOGMwNWQxM2E2Ni4uMjMzYTFkNTlmYzRiOTA2NTZjYTRmMWJjMGJlZWE0
YTA4YzRiZmQ2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIyLTAyLTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgc2VsZi5sb2NhdGlvbi5ocmVm
IGlzIGluY29ycmVjdCBpbiBzaGFyZWQgd29ya2VycyBpbiBjYXNlIG9mIHJlZGlyZWN0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MzQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2VsZi5sb2NhdGlv
bi5ocmVmIGlzIGluY29ycmVjdCBpbiBzaGFyZWQgd29ya2VycyBpbiBjYXNlIG9mIHJlZGlyZWN0
cy4gSXQgc2hvdWxkIGJlCisgICAgICAgIHRoZSBVUkwgb2YgdGhlIGxhc3QgcmVxdWVzdCwgbm90
IHRoZSBmaXJzdCBvbmUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCByZWJhc2VsaW5lZCBleGlz
dGluZyB0ZXN0cy4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpyZWRpcmVj
dFJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oOgor
ICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlckNsaWVudDo6cmVkaXJlY3RSZWNlaXZl
ZCk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcjo6cmVkaXJlY3RS
ZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRn
ZTo6cmVkaXJlY3RSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVM
b2FkZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckZldGNo
UmVzdWx0Lmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdDo6aXNvbGF0ZWRD
b3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OndvcmtlckZldGNoRXJyb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQ6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdDo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWRTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExv
YWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlw
dExvYWRlcjo6cmVkaXJlY3RSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3Jp
cHRMb2FkZXI6OmZldGNoUmVzdWx0IGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpzY3Jp
cHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpsYXN0UmVx
dWVzdFVSTCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OnNj
cmlwdCk6IERlbGV0ZWQuCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6
am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VySm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2I6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNs
aWVudC5oOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtl
clRocmVhZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdlbmVyYXRlV29ya2VyUGFyYW1l
dGVycyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVk
V29ya2VyVGhyZWFkUHJveHkpOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hh
cmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAyMi0wMi0wOSAgTGF1cm8gTW91cmEgIDxsbW91
cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBOb24tdW5pZmllZCBidWlsZCBmaXhlcyBhZnRlciBy
Mjg5MjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDVjMGU0YTU5YTUwZDUyMzc3MGE2Y2I5NjliMzZlYjBiNTg0NTZl
M2MuLjM3ZjgyMTFjMGNhOWRjZTFmNmVmYzk5ZjI3YjI3ZTY1NzAwY2YxNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMjItMDItMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBzZWxmLmxvY2F0aW9uLmhyZWYgaXMgaW5jb3JyZWN0IGluIHNoYXJlZCB3
b3JrZXJzIGluIGNhc2Ugb2YgcmVkaXJlY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYzNDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBzZWxmLmxvY2F0aW9uLmhyZWYgaXMgaW5jb3JyZWN0IGluIHNo
YXJlZCB3b3JrZXJzIGluIGNhc2Ugb2YgcmVkaXJlY3RzLiBJdCBzaG91bGQgYmUgdGhlIFVSTCBv
ZgorICAgICAgICB0aGUgbGFzdCByZXF1ZXN0LCBub3QgdGhlIGZpcnN0IG9uZS4KKworICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlclNvZnRVcGRhdGVM
b2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpTZXJ2aWNlV29ya2VyU29mdFVwZGF0ZUxvYWRl
cjo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjpsYXVu
Y2hTaGFyZWRXb3JrZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRX
b3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJT
aGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRX
b3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisKIDIwMjItMDItMDkg
IExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQg
YnVpbGQgZml4ZXMgYWZ0ZXIgcjI4OTI0NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCBiOGM3ZmIzZDQ2YTUwZjQ5MjM2MGNi
YjhhMzhlYzAxYmU1ZDVkMGZiLi41MGNiZDAyNDgwZWZiMzUwNjdiMTNjNzM2NjA4OTUyNzc0YzNh
NjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyLmNwcApAQCAtMzE0LDYgKzMxNCw5IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyOjpyZWRpcmVjdFJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgUmVzb3VyCiAg
ICAgUmVmPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAg
ICAgLS1tX29wdGlvbnMubWF4UmVkaXJlY3RDb3VudDsKIAorICAgIGlmIChtX2NsaWVudCkKKyAg
ICAgICAgbV9jbGllbnQtPnJlZGlyZWN0UmVjZWl2ZWQocmVxdWVzdC51cmwoKSk7CisKICAgICAv
LyBGSVhNRTogV2UgcmVzdHJpY3QgdGhpcyBjaGVjayB0byBGZXRjaCBBUEkgZm9yIHRoZSBtb21l
bnQsIGFzIHRoaXMgbWlnaHQgZGlzcnVwdCBXb3JrZXJTY3JpcHRMb2FkZXIuCiAgICAgLy8gUmVh
c3Nlc3MgdGhpcyBjaGVjayBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2ZldGNo
L2lzc3Vlcy8zOTMgZGlzY3Vzc2lvbnMuCiAgICAgLy8gV2Ugc2hvdWxkIGFsc28gZGlzYWJsZSB0
aGF0IGNoZWNrIGluIG5hdmlnYXRpb24gbW9kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmluZGV4IGM4ZWU0YzJkMDVmOThmNDhlZDlhZWVkYTY5
ODFmNjliZThjYzI1NjAuLjEzMTkyMmVkYTc5ZTg1M2E5NDk2NDcwMWM5NTgzYjQ1MjE5OWJlMzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApA
QCAtNDUsNiArNDUsNyBAQCBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IHsKIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIC8qYnl0ZXNT
ZW50Ki8sIHVuc2lnbmVkIGxvbmcgbG9uZyAvKnRvdGFsQnl0ZXNUb0JlU2VudCovKSB7IH0KIAor
ICAgIHZpcnR1YWwgdm9pZCByZWRpcmVjdFJlY2VpdmVkKGNvbnN0IFVSTCYgLypyZWRpcmVjdFVS
TCovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9h
ZGVySWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBTaGFyZWRCdWZmZXImKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIsIGNvbnN0IE5l
dHdvcmtMb2FkTWV0cmljcyYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAppbmRleCBhMTdiMDczODI3OTFhYWM0NmQy
MDM1ZDMzMDUyNWUzYjFiNDdkMjk3Li4xOTYxOWIwNTEzOTU4OThlOGNkYWNhMDYxNGRjZTYyMTk0
ODgwOGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRl
ckNsaWVudFdyYXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlckNsaWVudFdyYXBwZXIuaApAQCAtNTQsNiArNTQsMTIgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbV9kb25lOwogICAgIH0KIAorICAgIHZvaWQgcmVkaXJlY3RSZWNlaXZlZChjb25zdCBV
UkwmIHJlZGlyZWN0VVJMKQorICAgIHsKKyAgICAgICAgaWYgKG1fY2xpZW50KQorICAgICAgICAg
ICAgbV9jbGllbnQtPnJlZGlyZWN0UmVjZWl2ZWQocmVkaXJlY3RVUkwpOworICAgIH0KKwogICAg
IHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzU2VudCwgdW5zaWduZWQg
bG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCkKICAgICB7CiAgICAgICAgIGlmIChtX2NsaWVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNw
cAppbmRleCBjYzNhZDM1OTA0MzU0MjAyY2M1NmQyMmY0NDE5NzI4ZjcxN2FhYmVkLi41MWZmYTY5
MzUyZTVmMzIwMDVjYWZlYTA5ZGM5NGNhMmZmOGQ0M2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0yMTEsNiArMjExLDE0IEBA
IHZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6Y2xlYXJDbGll
bnRXcmFwcGVyKCkKICAgICBtX3dvcmtlckNsaWVudFdyYXBwZXItPmNsZWFyQ2xpZW50KCk7CiB9
CiAKK3ZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6cmVkaXJl
Y3RSZWNlaXZlZChjb25zdCBVUkwmIHJlZGlyZWN0VVJMKQoreworICAgIG1fbG9hZGVyUHJveHku
cG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZShbcHJvdGVjdGVkV29y
a2VyQ2xpZW50V3JhcHBlciA9IFJlZiB7ICptX3dvcmtlckNsaWVudFdyYXBwZXIgfSwgcmVkaXJl
Y3RVUkwgPSByZWRpcmVjdFVSTC5pc29sYXRlZENvcHkoKV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQpIG11dGFibGUgeworICAgICAgICBBU1NFUlRfVU5VU0VEKGNvbnRleHQsIGNv
bnRleHQuaXNXb3JrZXJHbG9iYWxTY29wZSgpIHx8IGNvbnRleHQuaXNXb3JrbGV0R2xvYmFsU2Nv
cGUoKSk7CisgICAgICAgIHByb3RlY3RlZFdvcmtlckNsaWVudFdyYXBwZXItPnJlZGlyZWN0UmVj
ZWl2ZWQocmVkaXJlY3RVUkwpOworICAgIH0sIG1fdGFza01vZGUpOworfQorCiB2b2lkIFdvcmtl
clRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6OmRpZFNlbmREYXRhKHVuc2lnbmVk
IGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzVG9CZVNl
bnQpCiB7CiAgICAgbV9sb2FkZXJQcm94eS5wb3N0VGFza0Zvck1vZGVUb1dvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlKFtwcm90ZWN0ZWRXb3JrZXJDbGllbnRXcmFwcGVyID0gUmVmIHsgKm1fd29y
a2VyQ2xpZW50V3JhcHBlciB9LCBieXRlc1NlbnQsIHRvdGFsQnl0ZXNUb0JlU2VudF0gKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggY2E0OTVlNjE1Zjg1NDdkNWI2
NzU5MjZiNmNjNDdkNDAzYjUxMGE1Ny4uNmMyNzNkNjg1OTI3ODk4MTVmOTgzOGU1M2Y4NDYxZGMz
NGZjZDhmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFi
bGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxv
YWRlci5oCkBAIC0xMDMsNiArMTAzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBjbGVhckNs
aWVudFdyYXBwZXIoKTsKIAogICAgICAgICAvLyBBbGwgZXhlY3V0ZWQgb24gdGhlIG1haW4gdGhy
ZWFkLgorICAgICAgICB2b2lkIHJlZGlyZWN0UmVjZWl2ZWQoY29uc3QgVVJMJiByZWRpcmVjdFVS
TCkgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25n
IGJ5dGVzU2VudCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCkgb3ZlcnJp
ZGU7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9hZGVySWRlbnRp
ZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRp
ZFJlY2VpdmVEYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXIuY3BwCmluZGV4IGEwNDg3NTYyY2UxNjQzY2YzZmY2ODdkMWIwY2UyMmQ4YjI2Zjg5
YWIuLjgzYTg4NGJjNWEyYWYwNDQwOGQyMjFiNTMyOGNkZjg0NmQxMjI1ODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5jcHAKQEAgLTIxMywxMiArMjEzLDcgQEAgdm9pZCBXb3JrZXI6Om5vdGlm
eUZpbmlzaGVkKCkKICAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1f
c2NyaXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRU
UEhlYWRlcikpCiAgICAgICAgIHJlZmVycmVyUG9saWN5ID0gKnBvbGljeTsKIAotICAgIFVSTCBy
ZXNwb25zZVVSTCA9IG1fc2NyaXB0TG9hZGVyLT5yZXNwb25zZVVSTCgpOwotICAgIGlmICghbV9z
Y3JpcHRMb2FkZXItPmlzUmVkaXJlY3RlZCgpICYmIG1fc2NyaXB0TG9hZGVyLT5yZXNwb25zZVNv
dXJjZSgpICE9IFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcikgewotICAg
ICAgICBpZiAobV9zY3JpcHRMb2FkZXItPnVybCgpLmhhc0ZyYWdtZW50SWRlbnRpZmllcigpKQot
ICAgICAgICAgICAgcmVzcG9uc2VVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKG1fc2NyaXB0TG9h
ZGVyLT51cmwoKS5mcmFnbWVudElkZW50aWZpZXIoKSk7Ci0gICAgfQotICAgIG1fY29udGV4dFBy
b3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUocmVzcG9uc2VVUkwsIG1fb3B0aW9ucy5uYW1lLCBj
b250ZXh0LT51c2VyQWdlbnQocmVzcG9uc2VVUkwpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXIt
PnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3NjcmlwdExvYWRlci0+Y3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSgpLCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQ
b2xpY3ksIG1fb3B0aW9ucy50eXBlLCBtX29wdGlvbnMuY3JlZGVudGlhbHMsIG1fcnVudGltZUZs
YWdzKTsKKyAgICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0
TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgpLCBtX29wdGlvbnMubmFtZSwgY29udGV4dC0+dXNlckFn
ZW50KG1fc2NyaXB0TG9hZGVyLT5sYXN0UmVxdWVzdFVSTCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0
TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBt
X3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV9zY3JpcHRMb2Fk
ZXItPmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIHJl
ZmVycmVyUG9saWN5LCBtX29wdGlvbnMudHlwZSwgbV9vcHRpb25zLmNyZWRlbnRpYWxzLCBtX3J1
bnRpbWVGbGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRl
ZCgqY29udGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXIt
PnNjcmlwdCgpLnRvU3RyaW5nKCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckZldGNoUmVzdWx0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckZldGNoUmVzdWx0LmgKaW5kZXggMWMzODI0MzI0ZWRkZDA3NDFiMjQyNGRhYzljZGE2YmI2ODZm
NTAxNy4uNTk5NmJmYTI5OGI5NDMyOGNjNzBmYzhiZTBiZjU4M2FhY2I3OGMwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJGZXRjaFJlc3VsdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRmV0Y2hSZXN1bHQuaApAQCAtMzUsMTMgKzM1LDE0IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IFdvcmtlckZldGNoUmVzdWx0IHsKICAgICBT
Y3JpcHRCdWZmZXIgc2NyaXB0OworICAgIFVSTCBsYXN0UmVxdWVzdFVSTDsgLy8gTGFzdCBVUkwg
aW4gY2FzZSBvZiByZWRpcmVjdHMuCiAgICAgQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5m
bzsKICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgY29udGVudFNlY3Vy
aXR5UG9saWN5OwogICAgIENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kgY3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeTsKICAgICBTdHJpbmcgcmVmZXJyZXJQb2xpY3k7CiAgICAgUmVzb3VyY2VFcnJv
ciBlcnJvcjsKIAotICAgIFdvcmtlckZldGNoUmVzdWx0IGlzb2xhdGVkQ29weSgpIGNvbnN0IHsg
cmV0dXJuIHsgc2NyaXB0Lmlzb2xhdGVkQ29weSgpLCBjZXJ0aWZpY2F0ZUluZm8uaXNvbGF0ZWRD
b3B5KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeS5pc29sYXRlZENvcHkoKSwgY3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeS5pc29sYXRlZENvcHkoKSwgcmVmZXJyZXJQb2xpY3kuaXNvbGF0ZWRDb3B5
KCksIGVycm9yLmlzb2xhdGVkQ29weSgpIH07IH0KKyAgICBXb3JrZXJGZXRjaFJlc3VsdCBpc29s
YXRlZENvcHkoKSBjb25zdCB7IHJldHVybiB7IHNjcmlwdC5pc29sYXRlZENvcHkoKSwgbGFzdFJl
cXVlc3RVUkwuaXNvbGF0ZWRDb3B5KCksIGNlcnRpZmljYXRlSW5mby5pc29sYXRlZENvcHkoKSwg
Y29udGVudFNlY3VyaXR5UG9saWN5Lmlzb2xhdGVkQ29weSgpLCBjcm9zc09yaWdpbkVtYmVkZGVy
UG9saWN5Lmlzb2xhdGVkQ29weSgpLCByZWZlcnJlclBvbGljeS5pc29sYXRlZENvcHkoKSwgZXJy
b3IuaXNvbGF0ZWRDb3B5KCkgfTsgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9p
ZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0
YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdvcmtlckZldGNo
UmVzdWx0Jik7CkBAIC00OSwxMyArNTAsMTMgQEAgc3RydWN0IFdvcmtlckZldGNoUmVzdWx0IHsK
IAogaW5saW5lIFdvcmtlckZldGNoUmVzdWx0IHdvcmtlckZldGNoRXJyb3IoY29uc3QgUmVzb3Vy
Y2VFcnJvciYgZXJyb3IpCiB7Ci0gICAgcmV0dXJuIHsgeyB9LCB7IH0sIHsgfSwgeyB9LCB7IH0s
IGVycm9yIH07CisgICAgcmV0dXJuIHsgeyB9LCB7IH0sIHsgfSwgeyB9LCB7IH0sIHsgfSwgZXJy
b3IgfTsKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgV29ya2VyRmV0Y2hSZXN1
bHQ6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewotICAgIGVuY29kZXIgPDwgc2Ny
aXB0IDw8IGNvbnRlbnRTZWN1cml0eVBvbGljeSA8PCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
IDw8IHJlZmVycmVyUG9saWN5IDw8IGVycm9yIDw8IGNlcnRpZmljYXRlSW5mbzsKKyAgICBlbmNv
ZGVyIDw8IHNjcmlwdCA8PCBsYXN0UmVxdWVzdFVSTCA8PCBjb250ZW50U2VjdXJpdHlQb2xpY3kg
PDwgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSA8PCByZWZlcnJlclBvbGljeSA8PCBlcnJvciA8
PCBjZXJ0aWZpY2F0ZUluZm87CiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CkBAIC02Myw2
ICs2NCw4IEBAIGJvb2wgV29ya2VyRmV0Y2hSZXN1bHQ6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVy
LCBXb3JrZXJGZXRjaFJlc3VsdCYgcmVzdWx0KQogewogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LnNjcmlwdCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5sYXN0UmVxdWVzdFVSTCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5jb250ZW50U2VjdXJpdHlQb2xpY3kpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY3Jvc3NP
cmlnaW5FbWJlZGRlclBvbGljeSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5jcHAKaW5kZXggOWRmYjRjOTkxYThjYjU5MWUxMjg3ODVlNmE2ZjE0Y2QyYTE1
MjYyOC4uZTJmOGU2ZDkxYWQ3MTY1YjMzY2IyMjUyYzY3NGM5NGVkY2RjNTkyMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMzcsNiArMzcs
NyBAQAogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YS5oIgogI2luY2x1ZGUgIlNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIu
aCIKKyNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgIldvcmtlckdsb2Jh
bFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIgpAQCAtNTcsNiArNTgsNyBAQCBzdGQ6Om9wdGlv
bmFsPEV4Y2VwdGlvbj4gV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShTY3Jp
cHRFeGVjdXRpb25DbwogICAgIGF1dG8mIHdvcmtlckdsb2JhbFNjb3BlID0gZG93bmNhc3Q8V29y
a2VyR2xvYmFsU2NvcGU+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKIAogICAgIG1fdXJsID0g
dXJsOworICAgIG1fbGFzdFJlcXVlc3RVUkwgPSB1cmw7CiAgICAgbV9kZXN0aW5hdGlvbiA9IEZl
dGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNjcmlwdDsKICAgICBtX2lzQ09FUEVuYWJsZWQgPSBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LT5zZXR0aW5nc1ZhbHVlcygpLmNyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3lFbmFibGVkOwogCkBAIC0xMTYsNiArMTE4LDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRM
b2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRF
eGVjdXQKIHsKICAgICBtX2NsaWVudCA9ICZjbGllbnQ7CiAgICAgbV91cmwgPSBzY3JpcHRSZXF1
ZXN0LnVybCgpOworICAgIG1fbGFzdFJlcXVlc3RVUkwgPSBzY3JpcHRSZXF1ZXN0LnVybCgpOwog
ICAgIG1fZGVzdGluYXRpb24gPSBmZXRjaE9wdGlvbnMuZGVzdGluYXRpb247CiAgICAgbV9pc0NP
RVBFbmFibGVkID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5zZXR0aW5nc1ZhbHVlcygpLmNyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3lFbmFibGVkOwogCkBAIC0xNzgsNiArMTgxLDExIEBAIFJlc291
cmNlRXJyb3IgV29ya2VyU2NyaXB0TG9hZGVyOjp2YWxpZGF0ZVdvcmtlclJlc3BvbnNlKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmCiAgICAgcmV0dXJuIHsgfTsKIH0KIAordm9pZCBXb3JrZXJTY3Jp
cHRMb2FkZXI6OnJlZGlyZWN0UmVjZWl2ZWQoY29uc3QgVVJMJiByZWRpcmVjdFVSTCkKK3sKKyAg
ICBtX2xhc3RSZXF1ZXN0VVJMID0gcmVkaXJlY3RVUkw7Cit9CisKIHZvaWQgV29ya2VyU2NyaXB0
TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50
aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIG1fZXJyb3Ig
PSB2YWxpZGF0ZVdvcmtlclJlc3BvbnNlKHJlc3BvbnNlLCBtX2Rlc3RpbmF0aW9uKTsKQEAgLTI2
Niw0ICsyNzQsMTEgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmNhbmNlbCgpCiAgICAgbV90
aHJlYWRhYmxlTG9hZGVyID0gbnVsbHB0cjsKIH0KIAorV29ya2VyRmV0Y2hSZXN1bHQgV29ya2Vy
U2NyaXB0TG9hZGVyOjpmZXRjaFJlc3VsdCgpIGNvbnN0Cit7CisgICAgaWYgKG1fZmFpbGVkKQor
ICAgICAgICByZXR1cm4gd29ya2VyRmV0Y2hFcnJvcihlcnJvcigpKTsKKyAgICByZXR1cm4geyBz
Y3JpcHQoKSwgbGFzdFJlcXVlc3RVUkwoKSwgY2VydGlmaWNhdGVJbmZvKCksIGNvbnRlbnRTZWN1
cml0eVBvbGljeSgpLCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KCksIHJlZmVycmVyUG9saWN5
KCksIHsgfSB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCA2OTRhMDY3NjRkMzdjYTczMGZkMWUw
YjFkMmI4N2I2NWQwMGZjMGFmLi5mMmRlYTg4ZjExMDNjNTE4OTI0ZDgxMzc2NGUxODc5ZGI4Yjhl
MDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAg
LTQ5LDYgKzQ5LDcgQEAgY2xhc3MgRXhjZXB0aW9uOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiBjbGFzcyBXb3JrZXJTY3JpcHRMb2Fk
ZXJDbGllbnQ7CitzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CiBlbnVtIGNsYXNzIENlcnRpZmlj
YXRlSW5mb1BvbGljeSA6IHVpbnQ4X3Q7CiAKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlciA6IHB1
YmxpYyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50IHsKQEAgLTY0LDExICs2NSwxMiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG5vdGlm
eUVycm9yKCk7CiAKLSAgICBjb25zdCBTY3JpcHRCdWZmZXImIHNjcmlwdCgpIHsgcmV0dXJuIG1f
c2NyaXB0OyB9CisgICAgY29uc3QgU2NyaXB0QnVmZmVyJiBzY3JpcHQoKSBjb25zdCB7IHJldHVy
biBtX3NjcmlwdDsgfQogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50U2Vj
dXJpdHlQb2xpY3k7IH0KICAgICBjb25zdCBTdHJpbmcmIHJlZmVycmVyUG9saWN5KCkgY29uc3Qg
eyByZXR1cm4gbV9yZWZlcnJlclBvbGljeTsgfQogICAgIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3kmIGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX2Ny
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3k7IH0KICAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IHsg
cmV0dXJuIG1fdXJsOyB9CisgICAgY29uc3QgVVJMJiBsYXN0UmVxdWVzdFVSTCgpIGNvbnN0IHsg
cmV0dXJuIG1fbGFzdFJlcXVlc3RVUkw7IH0KICAgICBjb25zdCBVUkwmIHJlc3BvbnNlVVJMKCkg
Y29uc3Q7CiAgICAgUmVzb3VyY2VSZXNwb25zZTo6U291cmNlIHJlc3BvbnNlU291cmNlKCkgY29u
c3QgeyByZXR1cm4gbV9yZXNwb25zZVNvdXJjZTsgfQogICAgIGJvb2wgaXNSZWRpcmVjdGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc1JlZGlyZWN0ZWQ7IH0KQEAgLTc4LDYgKzgwLDkgQEAgcHVibGlj
OgogICAgIFJlc291cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1
cm4gbV9pZGVudGlmaWVyOyB9CiAgICAgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IoKSBjb25z
dCB7IHJldHVybiBtX2Vycm9yOyB9CiAKKyAgICBXb3JrZXJGZXRjaFJlc3VsdCBmZXRjaFJlc3Vs
dCgpIGNvbnN0OworCisgICAgdm9pZCByZWRpcmVjdFJlY2VpdmVkKGNvbnN0IFVSTCYgcmVkaXJl
Y3RVUkwpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9h
ZGVySWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOwogICAgIHZv
aWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgU2hhcmVkQnVmZmVyJikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgTmV0d29y
a0xvYWRNZXRyaWNzJikgb3ZlcnJpZGU7CkBAIC0xMDMsNiArMTA4LDcgQEAgcHJpdmF0ZToKICAg
ICBSZWZQdHI8VGV4dFJlc291cmNlRGVjb2Rlcj4gbV9kZWNvZGVyOwogICAgIFNjcmlwdEJ1ZmZl
ciBtX3NjcmlwdDsKICAgICBVUkwgbV91cmw7CisgICAgVVJMIG1fbGFzdFJlcXVlc3RVUkw7CiAg
ICAgVVJMIG1fcmVzcG9uc2VVUkw7CiAgICAgQ2VydGlmaWNhdGVJbmZvIG1fY2VydGlmaWNhdGVJ
bmZvOwogICAgIFN0cmluZyBtX3Jlc3BvbnNlTUlNRVR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKaW5k
ZXggN2I0NzhjYjk5ZGU5N2FiYzUzNDI5YTI1ZjA5YzhjNGQzNjRlNjgwYy4uZjIxNGFjNmEwMDc2
ZmE4ZDY3ODQzMGQ2ZjRjZTE1NDAzZThhMTZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcApAQCAtNDkx
LDEzICs0OTEsMTMgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzdGFydFNjcmlwdEZl
dGNoRm9ySm9iKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgRmV0Y2gKICAgICBqb2IuZmV0Y2hTY3Jp
cHRXaXRoQ29udGV4dCgqY29udGV4dCwgY2FjaGVQb2xpY3kpOwogfQogCi12b2lkIFNlcnZpY2VX
b3JrZXJDb250YWluZXI6OmpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9i
JiBqb2IsIGNvbnN0IFNjcmlwdEJ1ZmZlciYgc2NyaXB0LCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbywgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xp
Y3kmIGNvZXAsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3kpCit2b2lkIFNlcnZpY2VXb3Jr
ZXJDb250YWluZXI6OmpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiBq
b2IsIGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiBmZXRjaFJlc3VsdCkKIHsKICAgICBBU1NFUlQo
bV9jcmVhdGlvblRocmVhZC5wdHIoKSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpOwogCiAgICAgQ09O
VEFJTkVSX1JFTEVBU0VfTE9HKCJqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQ6IFN1Y2Nlc3NmdWx5
IGZpbmlzaGVkIGZldGNoaW5nIHNjcmlwdCBmb3Igam9iICUiIFBSSXU2NCwgam9iLmlkZW50aWZp
ZXIoKS50b1VJbnQ2NCgpKTsKIAotICAgIGVuc3VyZVNXQ2xpZW50Q29ubmVjdGlvbigpLmZpbmlz
aEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoam9iLmRhdGEoKS5pZGVudGlmaWVyKCksIGpvYi5kYXRh
KCkucmVnaXN0cmF0aW9uS2V5KCksIFdvcmtlckZldGNoUmVzdWx0IHsgc2NyaXB0LCBjZXJ0aWZp
Y2F0ZUluZm8sIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29lcCwgcmVmZXJyZXJQb2xpY3ksIHsg
fSB9KTsKKyAgICBlbnN1cmVTV0NsaWVudENvbm5lY3Rpb24oKS5maW5pc2hGZXRjaGluZ1Njcmlw
dEluU2VydmVyKGpvYi5kYXRhKCkuaWRlbnRpZmllcigpLCBqb2IuZGF0YSgpLnJlZ2lzdHJhdGlv
bktleSgpLCBmZXRjaFJlc3VsdCk7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6
am9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiBqb2IsIGNvbnN0IFJlc291
cmNlRXJyb3ImIGVycm9yLCBFeGNlcHRpb24mJiBleGNlcHRpb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAppbmRl
eCAyOGY1Y2JjMWZlZTZhYWVjNDgwZTQ0OTExM2M0ZDQxMDgzYWYzYjY0Li43YWYyMTczZThkNWUy
NDkxZTU2ZTIzZDQ1MzU5ZGIwM2VmOTllNTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKQEAgLTExOCw3ICsx
MTgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgam9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNl
cnZpY2VXb3JrZXJKb2ImLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBTaG91bGRO
b3RpZnlXaGVuUmVzb2x2ZWQpIGZpbmFsOwogICAgIHZvaWQgam9iUmVzb2x2ZWRXaXRoVW5yZWdp
c3RyYXRpb25SZXN1bHQoU2VydmljZVdvcmtlckpvYiYsIGJvb2wgdW5yZWdpc3RyYXRpb25SZXN1
bHQpIGZpbmFsOwogICAgIHZvaWQgc3RhcnRTY3JpcHRGZXRjaEZvckpvYihTZXJ2aWNlV29ya2Vy
Sm9iJiwgRmV0Y2hPcHRpb25zOjpDYWNoZSkgZmluYWw7Ci0gICAgdm9pZCBqb2JGaW5pc2hlZExv
YWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFNjcmlwdEJ1ZmZlciYsIGNvbnN0
IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyYsIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmLCBjb25zdCBTdHJpbmcmIHJl
ZmVycmVyUG9saWN5KSBmaW5hbDsKKyAgICB2b2lkIGpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChT
ZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmKSBmaW5hbDsKICAgICB2
b2lkIGpvYkZhaWxlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFJlc291
cmNlRXJyb3ImLCBFeGNlcHRpb24mJikgZmluYWw7CiAKICAgICB2b2lkIG5vdGlmeUZhaWxlZEZl
dGNoaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpv
Yi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5j
cHAKaW5kZXggNjllZjlkNzA3ZmM0M2Q0N2MyZTIyNjVhYTE0OTYzNGUzYmIwMThkNy4uYzYzODE4
NjllYzc4ZjczYjk5NTcwYjgzMjZmMmM5NmViYjRmMTUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAtMzcsNiArMzcs
NyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtl
ckpvYkRhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgiCisjaW5j
bHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE2NSw3ICsxNjYsNyBAQCB2b2lkIFNlcnZpY2VXb3Jr
ZXJKb2I6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBhdXRvIHNjcmlwdExvYWRlciA9IFdURk1vdmUo
bV9zY3JpcHRMb2FkZXIpOwogCiAgICAgaWYgKCFzY3JpcHRMb2FkZXItPmZhaWxlZCgpKSB7Ci0g
ICAgICAgIG1fY2xpZW50LmpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdCgqdGhpcywgc2NyaXB0TG9h
ZGVyLT5zY3JpcHQoKSwgc2NyaXB0TG9hZGVyLT5jZXJ0aWZpY2F0ZUluZm8oKSwgc2NyaXB0TG9h
ZGVyLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKSwgc2NyaXB0TG9hZGVyLT5jcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5KCksIHNjcmlwdExvYWRlci0+cmVmZXJyZXJQb2xpY3koKSk7CisgICAgICAg
IG1fY2xpZW50LmpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdCgqdGhpcywgc2NyaXB0TG9hZGVyLT5m
ZXRjaFJlc3VsdCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgKaW5k
ZXggMmNmNTE0NzhjOWIxZGY3MGRhYmUwYmU0NjFmZDk3MDVjMjkzY2MxMi4uMDQ1OTMzYzYyNDMw
MjI4ZjUzYTU5MWIxZGYwNzBjMWRjYjI0YTZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVudC5oCkBAIC0zOSw2ICsz
OSw3IEBAIGNsYXNzIFNjcmlwdEJ1ZmZlcjsKIGNsYXNzIFNlcnZpY2VXb3JrZXJKb2I7CiBzdHJ1
Y3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeTsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGF0YTsKK3N0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKIAogY2xhc3MgU2VydmljZVdv
cmtlckpvYkNsaWVudCB7CiBwdWJsaWM6CkBAIC01MCw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgam9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2Im
LCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBTaG91bGROb3RpZnlXaGVuUmVzb2x2
ZWQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgam9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25S
ZXN1bHQoU2VydmljZVdvcmtlckpvYiYsIGJvb2wgdW5yZWdpc3RyYXRpb25SZXN1bHQpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRTY3JpcHRGZXRjaEZvckpvYihTZXJ2aWNlV29ya2VySm9i
JiwgRmV0Y2hPcHRpb25zOjpDYWNoZSkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBqb2JGaW5pc2hl
ZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFNjcmlwdEJ1ZmZlciYsIGNv
bnN0IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyYsIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmLCBjb25zdCBTdHJpbmcm
IHJlZmVycmVyUG9saWN5KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGpvYkZpbmlzaGVkTG9hZGlu
Z1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGpvYkZhaWxlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpv
YiYsIGNvbnN0IFJlc291cmNlRXJyb3ImLCBFeGNlcHRpb24mJikgPSAwOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlw
dExvYWRlci5jcHAKaW5kZXggMzgwZmMzYTVlZDRmNmE0OWY5ZGNiNjdmMzQxYjYxNzVmM2JiZjhm
My4uYTFhZjJlMjc2OGYyYzU1ZmRiNDVjMGVjZmJhOTQ5YmIxNjRmODBmMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRM
b2FkZXIuY3BwCkBAIC01OCwxMiArNTgsOSBAQCB2b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRl
cjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9hZGVySWRlbnRpZmllciBpZGVudAogCiB2
b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQoKQogewotICAgIGlm
IChtX2xvYWRlci0+ZmFpbGVkKCkpCi0gICAgICAgIHJldHVybiBtX2NvbXBsZXRpb25IYW5kbGVy
KHdvcmtlckZldGNoRXJyb3IobV9sb2FkZXItPmVycm9yKCkpKTsKLQotICAgIGlmIChhdXRvKiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0ID0gbV93b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSkKKyAgICBpZiAoYXV0byogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9IG1fd29ya2VyLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCk7ICFtX2xvYWRlci0+ZmFpbGVkKCkpCiAgICAgICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsIG1fbG9hZGVyLT5pZGVudGlmaWVyKCksIG1fbG9hZGVyLT5zY3JpcHQoKS50b1N0cmluZygp
KTsKLSAgICBtX2NvbXBsZXRpb25IYW5kbGVyKHsgbV9sb2FkZXItPnNjcmlwdCgpLCBtX2xvYWRl
ci0+Y2VydGlmaWNhdGVJbmZvKCksIG1fbG9hZGVyLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKSwg
bV9sb2FkZXItPmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSwgbV9sb2FkZXItPnJlZmVycmVy
UG9saWN5KCksIHsgfSB9KTsgLy8gZGVsZXRlcyB0aGlzLgorICAgIG1fY29tcGxldGlvbkhhbmRs
ZXIobV9sb2FkZXItPmZldGNoUmVzdWx0KCkpOyAvLyBkZWxldGVzIHRoaXMuCiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hh
cmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKaW5kZXgg
MjZiYTdiNjhiY2VkMmU5MmUxNjdlNzc5YzljZDU1ZDNkM2IxNzg3Ny4uMzU0N2Q2NzdlOGVhYWY2
Y2NlNTc5ZmMyMGNjY2U5YThmOGE1NTVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94
eS5jcHAKQEAgLTU1LDEwICs1NSwxMCBAQCBzdGF0aWMgSGFzaFNldDxTaGFyZWRXb3JrZXJUaHJl
YWRQcm94eSo+JiBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkKICAgICByZXR1cm4gc2V0
OwogfQogCi1zdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXJGZXRj
aFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBEb2N1bWVudCYgZG9jdW1lbnQpCitzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5l
cmF0ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNo
UmVzdWx0LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4gV29ya2VyUGFyYW1ldGVy
cyB7Ci0gICAgICAgIHNjcmlwdFVSTCwKKyAgICAgICAgd29ya2VyRmV0Y2hSZXN1bHQubGFzdFJl
cXVlc3RVUkwsCiAgICAgICAgIHdvcmtlck9wdGlvbnMubmFtZSwKICAgICAgICAgInNoYXJlZHdv
cmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIo
KSwKICAgICAgICAgdXNlckFnZW50LApAQCAtNzQsMTAgKzc0LDEwIEBAIHN0YXRpYyBXb3JrZXJQ
YXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgV29yCiAgICAgfTsKIH0KIAotU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdv
cmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50
aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRP
cmlnaW4sIGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZl
dGNoUmVzdWx0LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIENhY2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKK1No
YXJlZFdvcmtlclRocmVhZFByb3h5OjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShVbmlxdWVSZWY8
UGFnZT4mJiBwYWdlLCBTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZp
ZXIsIGNvbnN0IENsaWVudE9yaWdpbiYgY2xpZW50T3JpZ2luLCBXb3JrZXJGZXRjaFJlc3VsdCYm
IHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIENhY2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92
aWRlcikKICAgICA6IG1fcGFnZShXVEZNb3ZlKHBhZ2UpKQogICAgICwgbV9kb2N1bWVudCgqbV9w
YWdlLT5tYWluRnJhbWUoKS5kb2N1bWVudCgpKQotICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVk
V29ya2VyVGhyZWFkOjpjcmVhdGUoc2hhcmVkV29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3Jr
ZXJQYXJhbWV0ZXJzKHNjcmlwdFVSTCwgd29ya2VyRmV0Y2hSZXN1bHQsIFdURk1vdmUod29ya2Vy
T3B0aW9ucyksIHVzZXJBZ2VudCwgbV9kb2N1bWVudCksIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1
bHQuc2NyaXB0KSwgKnRoaXMsICp0aGlzLCAqdGhpcywgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpO
b3JtYWwsIGNsaWVudE9yaWdpbi50b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgbV9kb2N1bWVu
dC0+aWRiQ29ubmVjdGlvblByb3h5KCksIG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVyKCksIEpT
Qzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpKQorICAgICwgbV93b3JrZXJUaHJl
YWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2hhcmVkV29ya2VySWRlbnRpZmllciwgZ2Vu
ZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZldGNoUmVzdWx0LCBXVEZNb3ZlKHdvcmtlck9w
dGlvbnMpLCB1c2VyQWdlbnQsIG1fZG9jdW1lbnQpLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0
LnNjcmlwdCksICp0aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9y
bWFsLCBjbGllbnRPcmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5T3JpZ2luKCksIG1fZG9jdW1lbnQt
PmlkYkNvbm5lY3Rpb25Qcm94eSgpLCBtX2RvY3VtZW50LT5zb2NrZXRQcm92aWRlcigpLCBKU0M6
OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkKICAgICAsIG1fY2FjaGVTdG9yYWdl
UHJvdmlkZXIoY2FjaGVTdG9yYWdlUHJvdmlkZXIpCiB7CiAgICAgQVNTRVJUKCFhbGxTaGFyZWRX
b3JrZXJUaHJlYWRQcm94aWVzKCkuY29udGFpbnModGhpcykpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJl
YWRQcm94eS5oCmluZGV4IDMzNjQyNDBhYmJiNTliOGQxZDAzOWZlZWJkMDViMTRhMDI3MzdhZGYu
LmRhYjNhMTIzZGVlMThkYmI2MjRkNzdmNThlZDk4ZDQ0OTRjN2ZhOTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdv
cmtlclRocmVhZFByb3h5LmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
QXNUZXJtaW5hdGluZ09yVGVybWluYXRlZCgpIHsgbV9pc1Rlcm1pbmF0aW5nT3JUZXJtaW5hdGVk
ID0gdHJ1ZTsgfQogCiBwcml2YXRlOgotICAgIFdFQkNPUkVfRVhQT1JUIFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmLCBTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25z
dCBDbGllbnRPcmlnaW4mLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgV29ya2VyRmV0Y2hSZXN1bHQm
JiwgV29ya2VyT3B0aW9ucyYmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgQ2FjaGVTdG9yYWdl
UHJvdmlkZXImKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShV
bmlxdWVSZWY8UGFnZT4mJiwgU2hhcmVkV29ya2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3Jp
Z2luJiwgV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VyT3B0aW9ucyYmLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImKTsKIAogICAgIC8vIFdvcmtlck9iamVj
dFByb3h5LgogICAgIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmlu
ZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJTb2Z0VXBkYXRlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29y
a2VyU29mdFVwZGF0ZUxvYWRlci5jcHAKaW5kZXggMzdiOTY2OGYwZjVkODQzMDZiNDY0YWZlNGQw
NjNhNzVjM2YxMWE2Yi4uNWJkMWFiZTdjNGVkN2YzM2I1Njk1Y2RiNjFlYjE0MjgyZGI2NzBkNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1Nl
cnZpY2VXb3JrZXJTb2Z0VXBkYXRlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlclNvZnRVcGRhdGVMb2FkZXIuY3Bw
CkBAIC0xOTYsNyArMTk2LDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyU29mdFVwZGF0ZUxvYWRlcjo6
ZGlkRmluaXNoTG9hZGluZyhjb25zdCBXZWJDb3JlOjpOZXR3b3JrTG9hZE0KIHsKICAgICBpZiAo
bV9kZWNvZGVyKQogICAgICAgICBtX3NjcmlwdC5hcHBlbmQobV9kZWNvZGVyLT5mbHVzaCgpKTsK
LSAgICBtX2NvbXBsZXRpb25IYW5kbGVyKHsgU2NyaXB0QnVmZmVyIHsgbV9zY3JpcHQudG9TdHJp
bmcoKSB9LCBtX2NlcnRpZmljYXRlSW5mbywgbV9jb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fY3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSwgbV9yZWZlcnJlclBvbGljeSwgeyB9IH0pOworICAgIG1f
Y29tcGxldGlvbkhhbmRsZXIoeyBTY3JpcHRCdWZmZXIgeyBtX3NjcmlwdC50b1N0cmluZygpIH0s
IG1fam9iRGF0YS5zY3JpcHRVUkwsIG1fY2VydGlmaWNhdGVJbmZvLCBtX2NvbnRlbnRTZWN1cml0
eVBvbGljeSwgbV9jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCBtX3JlZmVycmVyUG9saWN5LCB7
IH0gfSk7CiAgICAgZGlkQ29tcGxldGUoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250
ZXh0Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAppbmRleCBi
ZDU0ZWU5OWMxNjI3OGU1NTVjZDY3YmJiNjc3Mzc1Y2NkOWI1YjU4Li5iMjc3ZTY1NzJmODE5MDEy
M2VmYjY0ZTg5MWNiMzY3YTBiNDg5ZjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25u
ZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAtOTAsNyAr
OTAsNyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb246Omxh
dW5jaFNoYXJlZFdvcmtlcihXZWJTaGFyZWRXb3JrZQogewogICAgIENPTlRFWFRfQ09OTkVDVElP
Tl9SRUxFQVNFX0xPRygibGF1bmNoU2hhcmVkV29ya2VyOiBzaGFyZWRXb3JrZXJJZGVudGlmaWVy
PSUiIFBSSXU2NCwgc2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAgICBz
aGFyZWRXb3JrZXIubWFya0FzUnVubmluZygpOwotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNoYXJl
ZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsgc2hh
cmVkV29ya2VyLm9yaWdpbigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRXb3Jr
ZXIudXJsKCksIHNoYXJlZFdvcmtlci53b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtlci5mZXRj
aFJlc3VsdCgpIH0pOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsgc2hhcmVkV29ya2VyLm9yaWdp
bigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRXb3JrZXIud29ya2VyT3B0aW9u
cygpLCBzaGFyZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSB9KTsKICAgICBmb3IgKGF1dG8mIHBvcnQg
OiBzaGFyZWRXb3JrZXIuc2hhcmVkV29ya2VyT2JqZWN0cygpLnZhbHVlcygpKQogICAgICAgICBw
b3N0Q29ubmVjdEV2ZW50KHNoYXJlZFdvcmtlciwgcG9ydCk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAppbmRleCA4MTUyMTZhY2RjZTNk
OTJlNmEzZmZmYWNmZWViMmM4YmI5YjhjNDcwLi4yYmZmNjBhYmNmMDEzNDhkOGFjZjNjNDcyMzg5
YmI1MDBhYTJkMzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoY29uc3QgV2ViUHIK
ICAgICBtX3ByZWZlcmVuY2VzU3RvcmUgPSBzdG9yZTsKIH0KIAotdm9pZCBXZWJTaGFyZWRXb3Jr
ZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpD
bGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hh
cmVkV29ya2VySWRlbnRpZmllciwgVVJMJiYgdXJsLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYg
d29ya2VyT3B0aW9ucywgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJGZXRjaFJl
c3VsdCkKK3ZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVu
Y2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJDb3JlOjpT
aGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6Oldv
cmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYm
IHdvcmtlckZldGNoUmVzdWx0KQogewogICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldl
YlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2Vy
OiBzaGFyZWRXb3JrZXJJZGVudGlmaWVyPSUiIFBSSXU2NCwgc2hhcmVkV29ya2VySWRlbnRpZmll
ci50b1VJbnQ2NCgpKTsKICAgICBhdXRvIHBhZ2VDb25maWd1cmF0aW9uID0gV2ViQ29yZTo6cGFn
ZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlDbGllbnRzKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNl
c3Npb25JRCgpKTsKQEAgLTExMCw4ICsxMTAsOCBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudAog
ICAgICAgICBXZWJQYWdlOjp1cGRhdGVTZXR0aW5nc0dlbmVyYXRlZCgqbV9wcmVmZXJlbmNlc1N0
b3JlLCBwYWdlLT5zZXR0aW5ncygpKTsKICAgICAgICAgcGFnZS0+c2V0dGluZ3MoKS5zZXRTdG9y
YWdlQmxvY2tpbmdQb2xpY3koc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U3RvcmFnZUJsb2NraW5nUG9s
aWN5PihtX3ByZWZlcmVuY2VzU3RvcmUtPmdldFVJbnQzMlZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpzdG9yYWdlQmxvY2tpbmdQb2xpY3lLZXkoKSkpKTsKICAgICB9Ci0gICAgcGFnZS0+
c2V0dXBGb3JSZW1vdGVXb3JrZXIodXJsLCBvcmlnaW4udG9wT3JpZ2luLCB3b3JrZXJGZXRjaFJl
c3VsdC5yZWZlcnJlclBvbGljeSk7Ci0gICAgYXV0byBzaGFyZWRXb3JrZXJUaHJlYWRQcm94eSA9
IFdlYkNvcmU6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpjcmVhdGUoV1RGTW92ZShwYWdlKSwg
c2hhcmVkV29ya2VySWRlbnRpZmllciwgb3JpZ2luLCB1cmwsIFdURk1vdmUod29ya2VyRmV0Y2hS
ZXN1bHQpLCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCBtX3VzZXJBZ2VudCwgV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSk7CisgICAgcGFnZS0+c2V0dXBGb3JS
ZW1vdGVXb3JrZXIod29ya2VyRmV0Y2hSZXN1bHQubGFzdFJlcXVlc3RVUkwsIG9yaWdpbi50b3BP
cmlnaW4sIHdvcmtlckZldGNoUmVzdWx0LnJlZmVycmVyUG9saWN5KTsKKyAgICBhdXRvIHNoYXJl
ZFdvcmtlclRocmVhZFByb3h5ID0gV2ViQ29yZTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmNy
ZWF0ZShXVEZNb3ZlKHBhZ2UpLCBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBvcmlnaW4sIFdURk1v
dmUod29ya2VyRmV0Y2hSZXN1bHQpLCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCBtX3VzZXJBZ2Vu
dCwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSk7CiAKICAg
ICBXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkucmVnaXN0
ZXJTaGFyZWRXb3JrZXJUaHJlYWQoV1RGTW92ZShzaGFyZWRXb3JrZXJUaHJlYWRQcm94eSkpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVk
V29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaAppbmRl
eCAxYWNmZDBjNDEyOTFkNTdlNzRiMDZmZWRjNjk1YmZhZjEwOTVkYmJlLi5hYjM1Y2JkMDE4ODVj
ZWIzNzYxMzEwYmRmNGQ1YjdiODg3MjBhZjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAKIHBy
aXZhdGU6CiAgICAgLy8gSVBDIE1lc3NhZ2VzLgotICAgIHZvaWQgbGF1bmNoU2hhcmVkV29ya2Vy
KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVy
LCBVUkwmJiwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJl
c3VsdCYmKTsKKyAgICB2b2lkIGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmln
aW4mJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0
aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKTsKICAgICB2b2lkIHVwZGF0ZVBy
ZWZlcmVuY2VzU3RvcmUoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpOwogICAgIHZvaWQgc2V0
VXNlckFnZW50KFN0cmluZyYmIHVzZXJBZ2VudCkgeyBtX3VzZXJBZ2VudCA9IFdURk1vdmUodXNl
ckFnZW50KTsgfQogICAgIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJl
ZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCBkODJhNGFk
YTUzZmQ0YmViMWM1ZWVlMWY3YWJhNjIyZjNmZDViMWRiLi44ZWRhN2FiNTk4MzEwNDAzMWFjNTIz
MmZhYTRlYmQ4NWYwZTY3ODFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2Vy
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBACiAj
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbiBOb3RSZWZDb3VudGVkIHsKLSAgICBMYXVuY2hTaGFyZWRXb3JrZXIoc3RydWN0
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50
aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgVVJMIHVybCwgc3RydWN0IFdlYkNvcmU6Oldv
cmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucywgc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVz
dWx0IHdvcmtlckZldGNoUmVzdWx0KQorICAgIExhdW5jaFNoYXJlZFdvcmtlcihzdHJ1Y3QgV2Vi
Q29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmll
ciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3
b3JrZXJPcHRpb25zLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgd29ya2VyRmV0
Y2hSZXN1bHQpCiAgICAgUG9zdENvbm5lY3RFdmVudChXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVu
dGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlRyYW5zZmVycmVkTWVzc2Fn
ZVBvcnQgcG9ydCwgU3RyaW5nIHNvdXJjZU9yaWdpbikKICAgICBUZXJtaW5hdGVTaGFyZWRXb3Jr
ZXIoV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVy
KQogICAgIFVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoc3RydWN0IFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZSBzdG9yZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDEwYWFlMWYw
ODI0ZDcxN2RkN2U1ODAyNjg3Y2FlMGE1YmE1NzAxMzUuLjBhZmM5ZTcwNmNhY2RmMjFlMzllOGNh
YmFjOTVmYTRjYjU3MDU2MTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDIyLTAyLTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisK
KyAgICAgICAgc2VsZi5sb2NhdGlvbi5ocmVmIGlzIGluY29ycmVjdCBpbiBzaGFyZWQgd29ya2Vy
cyBpbiBjYXNlIG9mIHJlZGlyZWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM2MzQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmViYXNlbGluZSBXUFQgdGVzdHMgdGhhdCBhcmUgbm93IHBhc3Npbmcu
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2lt
cG9ydFNjcmlwdHMtaW4tc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1zaGFyZWR3b3JrZXIt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3Qtc2hhcmVkd29ya2VyLWV4
cGVjdGVkLnR4dDoKKwogMjAyMi0wMi0wOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NTUyBDb250YWluZXIgUXVlcmllc10gSW1wbGVtZW50IGlubGluZS1z
aXplIGNvbnRhaW5tZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXNo
YXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXNoYXJl
ZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggYWI1YTdmYjg5MDIwZjI5ZmQ4OTNhNzU2ODBmZmUx
N2QzZDM1MGY3Yy4uYWI1M2I4MDU5OWFlMDE5NTc4MDg1ZWU0NGFhZWZhNGM3OTU1MjY4NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi1zaGFyZWR3b3JrZXItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlwdHMtaW4tc2hhcmVkd29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBpbXBvcnRTY3JpcHRzIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJnYW1tYS9zY3JpcHQuanMiIGJ1dCBnb3QgImJldGEvc2NyaXB0LmpzIgorUEFT
UyBpbXBvcnRTY3JpcHRzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1pbi1zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXNoYXJlZHdvcmtlci1leHBlY3RlZC50
eHQKaW5kZXggZDZiMDhlZWRhZTZmNjk2YzdhNGJmYTY1NWUxM2I1ZWQ0NjA3ZWEwMS4uZWExNDU0
ZDliM2YyMGY4NWQ5MDE2YzUwNmExNTQ2YWY2MTc4NDJkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEv
eGhyLWluLXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXNo
YXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgeGhyLXdvcmtl
ciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2FtbWFcbiIgYnV0IGdvdCAiYmV0YVxuIgorUEFT
UyB4aHItd29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0
aW9uL3JlZGlyZWN0LXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9i
YWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4
IGI4ZjYyNDVkYmRjYmNlNDZjN2UyNWRjMTQxYTA0OGY3NzRmZjM5MmQuLmMwZTU1YTFlMDU0MTk3
MGRjYTJjMTM4N2JmZDAyMTUzMjBlZGU2MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2Jh
bFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmVkaXJlY3Qtc2hhcmVkd29ya2VyLWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCByZWRpcmVjdCBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlv
bi9yZWRpcmVjdC5qcyIgYnV0IGdvdCAiL2NvbW1vbi9yZWRpcmVjdC5weSIKK1BBU1MgcmVkaXJl
Y3QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJlY3RlZC1zaGFyZWR3b3JrZXItb3JpZ2luLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29w
ZW4tdXJsLXJlZGlyZWN0ZWQtc2hhcmVkd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXgg
NTljYWNhNDg2ZjhkZWFjMDc4OWM5N2I0ZmVlOGE1MjU5N2E1ZTU0Ny4uMzBlYjUxOTBlYmRkNGMy
MDcwMWNhYjhiOTY0OGY2MDlkZTY0MWQ0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJlY3RlZC1zaGFyZWR3
b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1yZWRpcmVjdGVkLXNoYXJlZHdvcmtlci1v
cmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIFJlZmVyZXIgaGVhZGVy
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSZWZlcmVyOiBodHRwOi8vbG9jYWxob3N0Ojg4MDAv
eGhyL3Jlc291cmNlcy93b3JrZXJ4aHItb3JpZ2luLXJlZmVycmVyLmpzXG4iIGJ1dCBnb3QgIlJl
ZmVyZXI6IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL3JlZGlyZWN0LnB5P2xv
Y2F0aW9uPXdvcmtlcnhoci1vcmlnaW4tcmVmZXJyZXIuanNcbiIKK1BBU1MgUmVmZXJlciBoZWFk
ZXIKIEZBSUwgT3JpZ2luIGhlYWRlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiT3JpZ2luOiBo
dHRwOi8vbG9jYWxob3N0Ojg4MDBcbiIgYnV0IGdvdCAiIgogUEFTUyBSZXF1ZXN0IFVSTCB0ZXN0
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451383</attachid>
            <date>2022-02-09 08:23:49 -0800</date>
            <delta_ts>2022-02-09 10:31:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236340-20220209082348.patch</filename>
            <type>text/plain</type>
            <size>38885</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NDcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzViZGJhOWY1Mzg5NTBk
ZDU2ZjY4MjFmMzAzOTRiMTRiM2M5YzJiZC4uZTZiOTVjODI3Mzg0NDVjNzE5YjVkMWRjYjEwYjVm
NjZkOWIyNTVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIyLTAyLTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgc2VsZi5sb2NhdGlvbi5ocmVm
IGlzIGluY29ycmVjdCBpbiBzaGFyZWQgd29ya2VycyBpbiBjYXNlIG9mIHJlZGlyZWN0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MzQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2VsZi5sb2NhdGlv
bi5ocmVmIGlzIGluY29ycmVjdCBpbiBzaGFyZWQgd29ya2VycyBpbiBjYXNlIG9mIHJlZGlyZWN0
cy4gSXQgc2hvdWxkIGJlCisgICAgICAgIHRoZSBVUkwgb2YgdGhlIGxhc3QgcmVxdWVzdCwgbm90
IHRoZSBmaXJzdCBvbmUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCByZWJhc2VsaW5lZCBleGlz
dGluZyB0ZXN0cy4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpyZWRpcmVj
dFJlY2VpdmVkKToKKyAgICAgICAgKiBsb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oOgor
ICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlckNsaWVudDo6cmVkaXJlY3RSZWNlaXZl
ZCk6CisgICAgICAgICogbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcjo6cmVkaXJlY3RS
ZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRn
ZTo6cmVkaXJlY3RSZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL1dvcmtlclRocmVhZGFibGVM
b2FkZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckZldGNo
UmVzdWx0Lmg6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdDo6aXNvbGF0ZWRD
b3B5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OndvcmtlckZldGNoRXJyb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQ6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdDo6ZGVjb2RlKToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWRTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExv
YWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlw
dExvYWRlcjo6cmVkaXJlY3RSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3Jp
cHRMb2FkZXI6OmZldGNoUmVzdWx0IGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpzY3Jp
cHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpsYXN0UmVx
dWVzdFVSTCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6OnNj
cmlwdCk6IERlbGV0ZWQuCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
b250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRhaW5lcjo6
am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VySm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJKb2I6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNs
aWVudC5oOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtl
clRocmVhZFByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdlbmVyYXRlV29ya2VyUGFyYW1l
dGVycyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVk
V29ya2VyVGhyZWFkUHJveHkpOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hh
cmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAyMi0wMi0wOSAgQWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBUcmFuc2Zvcm0gcm9vdCBpbmxpbmUg
Ym94J3MgbG9naWNhbCByZWN0IGJhc2VkIG9uIHRoZSB3cml0aW5nIG1vZGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
NWMwZTRhNTlhNTBkNTIzNzcwYTZjYjk2OWIzNmViMGI1ODQ1NmUzYy4uMzdmODIxMWMwY2E5ZGNl
MWY2ZWZjOTlmMjdiMjdlNjU3MDBjZjE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAy
Mi0wMi0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIHNlbGYu
bG9jYXRpb24uaHJlZiBpcyBpbmNvcnJlY3QgaW4gc2hhcmVkIHdvcmtlcnMgaW4gY2FzZSBvZiBy
ZWRpcmVjdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNjM0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IHNlbGYubG9jYXRpb24uaHJlZiBpcyBpbmNvcnJlY3QgaW4gc2hhcmVkIHdvcmtlcnMgaW4gY2Fz
ZSBvZiByZWRpcmVjdHMuIEl0IHNob3VsZCBiZSB0aGUgVVJMIG9mCisgICAgICAgIHRoZSBsYXN0
IHJlcXVlc3QsIG5vdCB0aGUgZmlyc3Qgb25lLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyU29mdFVwZGF0ZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlNlcnZpY2VXb3JrZXJTb2Z0VXBkYXRlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5n
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNoYXJl
ZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcik6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKwogMjAyMi0wMi0wOSAgTGF1cm8gTW91cmEgIDxsbW91
cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBOb24tdW5pZmllZCBidWlsZCBmaXhlcyBhZnRlciBy
Mjg5MjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuY3BwCmluZGV4IGI4YzdmYjNkNDZhNTBmNDkyMzYwY2JiOGEzOGVjMDFiZTVkNWQwZmIu
LjUwY2JkMDI0ODBlZmIzNTA2N2IxM2M3MzY2MDg5NTI3NzRjM2E2NTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC0zMTQs
NiArMzE0LDkgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlZGlyZWN0UmVjZWl2
ZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBSZXNvdXIKICAgICBSZWY8RG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKICAgICAtLW1fb3B0aW9ucy5tYXhS
ZWRpcmVjdENvdW50OwogCisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+cmVk
aXJlY3RSZWNlaXZlZChyZXF1ZXN0LnVybCgpKTsKKwogICAgIC8vIEZJWE1FOiBXZSByZXN0cmlj
dCB0aGlzIGNoZWNrIHRvIEZldGNoIEFQSSBmb3IgdGhlIG1vbWVudCwgYXMgdGhpcyBtaWdodCBk
aXNydXB0IFdvcmtlclNjcmlwdExvYWRlci4KICAgICAvLyBSZWFzc2VzcyB0aGlzIGNoZWNrIGJh
c2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZmV0Y2gvaXNzdWVzLzM5MyBkaXNjdXNz
aW9ucy4KICAgICAvLyBXZSBzaG91bGQgYWxzbyBkaXNhYmxlIHRoYXQgY2hlY2sgaW4gbmF2aWdh
dGlvbiBtb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVM
b2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgKaW5kZXggYzhlZTRjMmQwNWY5OGY0OGVkOWFlZWRhNjk4MWY2OWJlOGNjMjU2MC4uMTMx
OTIyZWRhNzllODUzYTk0OTY0NzAxYzk1ODNiNDUyMTk5YmUzNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCkBAIC00NSw2ICs0NSw3IEBAIGNs
YXNzIFRocmVhZGFibGVMb2FkZXJDbGllbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBk
aWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLypieXRlc1NlbnQqLywgdW5zaWduZWQgbG9u
ZyBsb25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8pIHsgfQogCisgICAgdmlydHVhbCB2b2lkIHJl
ZGlyZWN0UmVjZWl2ZWQoY29uc3QgVVJMJiAvKnJlZGlyZWN0VVJMKi8pIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRh
KGNvbnN0IFNoYXJlZEJ1ZmZlciYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2Fk
aW5nKFJlc291cmNlTG9hZGVySWRlbnRpZmllciwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJikg
eyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNs
aWVudFdyYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50V3JhcHBlci5oCmluZGV4IGExN2IwNzM4Mjc5MWFhYzQ2ZDIwMzVkMzMwNTI1ZTNiMWI0N2Qy
OTcuLjE5NjE5YjA1MTM5NTg5OGU4Y2RhY2EwNjE0ZGNlNjIxOTQ4ODA4ZGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5o
CkBAIC01NCw2ICs1NCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2RvbmU7CiAgICAg
fQogCisgICAgdm9pZCByZWRpcmVjdFJlY2VpdmVkKGNvbnN0IFVSTCYgcmVkaXJlY3RVUkwpCisg
ICAgeworICAgICAgICBpZiAobV9jbGllbnQpCisgICAgICAgICAgICBtX2NsaWVudC0+cmVkaXJl
Y3RSZWNlaXZlZChyZWRpcmVjdFVSTCk7CisgICAgfQorCiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1
bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNTZW50LCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRl
c1RvQmVTZW50KQogICAgIHsKICAgICAgICAgaWYgKG1fY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IGNjM2FkMzU5MDQz
NTQyMDJjYzU2ZDIyZjQ0MTk3MjhmNzE3YWFiZWQuLjUxZmZhNjkzNTJlNWYzMjAwNWNhZmVhMDlk
Yzk0Y2EyZmY4ZDQzY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJU
aHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhy
ZWFkYWJsZUxvYWRlci5jcHAKQEAgLTIxMSw2ICsyMTEsMTQgQEAgdm9pZCBXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpjbGVhckNsaWVudFdyYXBwZXIoKQogICAgIG1f
d29ya2VyQ2xpZW50V3JhcHBlci0+Y2xlYXJDbGllbnQoKTsKIH0KIAordm9pZCBXb3JrZXJUaHJl
YWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdlOjpyZWRpcmVjdFJlY2VpdmVkKGNvbnN0IFVS
TCYgcmVkaXJlY3RVUkwpCit7CisgICAgbV9sb2FkZXJQcm94eS5wb3N0VGFza0Zvck1vZGVUb1dv
cmtlck9yV29ya2xldEdsb2JhbFNjb3BlKFtwcm90ZWN0ZWRXb3JrZXJDbGllbnRXcmFwcGVyID0g
UmVmIHsgKm1fd29ya2VyQ2xpZW50V3JhcHBlciB9LCByZWRpcmVjdFVSTCA9IHJlZGlyZWN0VVJM
Lmlzb2xhdGVkQ29weSgpXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJs
ZSB7CisgICAgICAgIEFTU0VSVF9VTlVTRUQoY29udGV4dCwgY29udGV4dC5pc1dvcmtlckdsb2Jh
bFNjb3BlKCkgfHwgY29udGV4dC5pc1dvcmtsZXRHbG9iYWxTY29wZSgpKTsKKyAgICAgICAgcHJv
dGVjdGVkV29ya2VyQ2xpZW50V3JhcHBlci0+cmVkaXJlY3RSZWNlaXZlZChyZWRpcmVjdFVSTCk7
CisgICAgfSwgbV90YXNrTW9kZSk7Cit9CisKIHZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6
TWFpblRocmVhZEJyaWRnZTo6ZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzU2Vu
dCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCkKIHsKICAgICBtX2xvYWRl
clByb3h5LnBvc3RUYXNrRm9yTW9kZVRvV29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGUoW3Byb3Rl
Y3RlZFdvcmtlckNsaWVudFdyYXBwZXIgPSBSZWYgeyAqbV93b3JrZXJDbGllbnRXcmFwcGVyIH0s
IGJ5dGVzU2VudCwgdG90YWxCeXRlc1RvQmVTZW50XSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCkgbXV0YWJsZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuaAppbmRleCBjYTQ5NWU2MTVmODU0N2Q1YjY3NTkyNmI2Y2M0N2Q0MDNiNTEw
YTU3Li42YzI3M2Q2ODU5Mjc4OTgxNWY5ODM4ZTUzZjg0NjFkYzM0ZmNkOGY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTEwMyw2ICsx
MDMsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGNsZWFyQ2xpZW50V3JhcHBlcigpOwogCiAg
ICAgICAgIC8vIEFsbCBleGVjdXRlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCisgICAgICAgIHZvaWQg
cmVkaXJlY3RSZWNlaXZlZChjb25zdCBVUkwmIHJlZGlyZWN0VVJMKSBvdmVycmlkZTsKICAgICAg
ICAgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNTZW50LCB1bnNpZ25l
ZCBsb25nIGxvbmcgdG90YWxCeXRlc1RvQmVTZW50KSBvdmVycmlkZTsKICAgICAgICAgdm9pZCBk
aWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3Qg
U2hhcmVkQnVmZmVyJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXgg
YTA0ODc1NjJjZTE2NDNjZjNmZjY4N2QxYjBjZTIyZDhiMjZmODlhYi4uODNhODg0YmM1YTJhZjA0
NDA4ZDIyMWI1MzI4Y2RmODQ2ZDEyMjU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApA
QCAtMjEzLDEyICsyMTMsNyBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNoZWQoKQogICAgIGlm
IChhdXRvIHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXItPnJlZmVy
cmVyUG9saWN5KCksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKICAgICAgICAg
cmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5OwogCi0gICAgVVJMIHJlc3BvbnNlVVJMID0gbV9zY3Jp
cHRMb2FkZXItPnJlc3BvbnNlVVJMKCk7Ci0gICAgaWYgKCFtX3NjcmlwdExvYWRlci0+aXNSZWRp
cmVjdGVkKCkgJiYgbV9zY3JpcHRMb2FkZXItPnJlc3BvbnNlU291cmNlKCkgIT0gUmVzb3VyY2VS
ZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKSB7Ci0gICAgICAgIGlmIChtX3NjcmlwdExv
YWRlci0+dXJsKCkuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkpCi0gICAgICAgICAgICByZXNwb25z
ZVVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIobV9zY3JpcHRMb2FkZXItPnVybCgpLmZyYWdtZW50
SWRlbnRpZmllcigpKTsKLSAgICB9Ci0gICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9i
YWxTY29wZShyZXNwb25zZVVSTCwgbV9vcHRpb25zLm5hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChy
ZXNwb25zZVVSTCksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIG1fc2NyaXB0TG9hZGVyLT5jcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5KCksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCByZWZlcnJlclBvbGljeSwgbV9vcHRpb25zLnR5
cGUsIG1fb3B0aW9ucy5jcmVkZW50aWFscywgbV9ydW50aW1lRmxhZ3MpOworICAgIG1fY29udGV4
dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPmxhc3RSZXF1ZXN0
VVJMKCksIG1fb3B0aW9ucy5uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXIt
Pmxhc3RSZXF1ZXN0VVJMKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3NjcmlwdExvYWRlci0+Y3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeSgpLCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fb3B0
aW9ucy50eXBlLCBtX29wdGlvbnMuY3JlZGVudGlhbHMsIG1fcnVudGltZUZsYWdzKTsKICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpjb250ZXh0LCBtX3Njcmlw
dExvYWRlci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkudG9TdHJpbmco
KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRmV0Y2hS
ZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyRmV0Y2hSZXN1bHQuaAppbmRl
eCAxYzM4MjQzMjRlZGRkMDc0MWIyNDI0ZGFjOWNkYTZiYjY4NmY1MDE3Li41OTk2YmZhMjk4Yjk0
MzI4Y2M3MGZjOGJlMGJmNTgzYWFjYjc4YzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckZldGNoUmVzdWx0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJGZXRjaFJlc3VsdC5oCkBAIC0zNSwxMyArMzUsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQgewogICAgIFNjcmlwdEJ1ZmZlciBzY3JpcHQ7
CisgICAgVVJMIGxhc3RSZXF1ZXN0VVJMOyAvLyBMYXN0IFVSTCBpbiBjYXNlIG9mIHJlZGlyZWN0
cy4KICAgICBDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOwogICAgIENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBjb250ZW50U2VjdXJpdHlQb2xpY3k7CiAgICAgQ3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5OwogICAgIFN0
cmluZyByZWZlcnJlclBvbGljeTsKICAgICBSZXNvdXJjZUVycm9yIGVycm9yOwogCi0gICAgV29y
a2VyRmV0Y2hSZXN1bHQgaXNvbGF0ZWRDb3B5KCkgY29uc3QgeyByZXR1cm4geyBzY3JpcHQuaXNv
bGF0ZWRDb3B5KCksIGNlcnRpZmljYXRlSW5mby5pc29sYXRlZENvcHkoKSwgY29udGVudFNlY3Vy
aXR5UG9saWN5Lmlzb2xhdGVkQ29weSgpLCBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Lmlzb2xh
dGVkQ29weSgpLCByZWZlcnJlclBvbGljeS5pc29sYXRlZENvcHkoKSwgZXJyb3IuaXNvbGF0ZWRD
b3B5KCkgfTsgfQorICAgIFdvcmtlckZldGNoUmVzdWx0IGlzb2xhdGVkQ29weSgpIGNvbnN0IHsg
cmV0dXJuIHsgc2NyaXB0Lmlzb2xhdGVkQ29weSgpLCBsYXN0UmVxdWVzdFVSTC5pc29sYXRlZENv
cHkoKSwgY2VydGlmaWNhdGVJbmZvLmlzb2xhdGVkQ29weSgpLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3kuaXNvbGF0ZWRDb3B5KCksIGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaXNvbGF0ZWRDb3B5
KCksIHJlZmVycmVyUG9saWN5Lmlzb2xhdGVkQ29weSgpLCBlcnJvci5pc29sYXRlZENvcHkoKSB9
OyB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikg
Y29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JF
VFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgV29ya2VyRmV0Y2hSZXN1bHQmKTsKQEAgLTQ5LDEz
ICs1MCwxMyBAQCBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQgewogCiBpbmxpbmUgV29ya2VyRmV0
Y2hSZXN1bHQgd29ya2VyRmV0Y2hFcnJvcihjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIHsK
LSAgICByZXR1cm4geyB7IH0sIHsgfSwgeyB9LCB7IH0sIHsgfSwgZXJyb3IgfTsKKyAgICByZXR1
cm4geyB7IH0sIHsgfSwgeyB9LCB7IH0sIHsgfSwgeyB9LCBlcnJvciB9OwogfQogCiB0ZW1wbGF0
ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBXb3JrZXJGZXRjaFJlc3VsdDo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8PCBzY3JpcHQgPDwgY29udGVudFNlY3Vy
aXR5UG9saWN5IDw8IGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kgPDwgcmVmZXJyZXJQb2xpY3kg
PDwgZXJyb3IgPDwgY2VydGlmaWNhdGVJbmZvOworICAgIGVuY29kZXIgPDwgc2NyaXB0IDw8IGxh
c3RSZXF1ZXN0VVJMIDw8IGNvbnRlbnRTZWN1cml0eVBvbGljeSA8PCBjcm9zc09yaWdpbkVtYmVk
ZGVyUG9saWN5IDw8IHJlZmVycmVyUG9saWN5IDw8IGVycm9yIDw8IGNlcnRpZmljYXRlSW5mbzsK
IH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTYzLDYgKzY0LDggQEAgYm9vbCBXb3Jr
ZXJGZXRjaFJlc3VsdDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdvcmtlckZldGNoUmVzdWx0
JiByZXN1bHQpCiB7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc2NyaXB0KSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lmxhc3RS
ZXF1ZXN0VVJMKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUocmVzdWx0LmNvbnRlbnRTZWN1cml0eVBvbGljeSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRl
eCA5ZGZiNGM5OTFhOGNiNTkxZTEyODc4NWU2YTZmMTRjZDJhMTUyNjI4Li5lMmY4ZTZkOTFhZDcx
NjViMzNjYjIyNTJjNjc0Yzk0ZWRjZGM1OTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlLmgiCiAjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgorI2luY2x1ZGUgIldvcmtl
ckZldGNoUmVzdWx0LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRl
ICJXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWRhYmxl
TG9hZGVyLmgiCkBAIC01Nyw2ICs1OCw3IEBAIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBXb3Jr
ZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvCiAgICAg
YXV0byYgd29ya2VyR2xvYmFsU2NvcGUgPSBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQpOwogCiAgICAgbV91cmwgPSB1cmw7CisgICAgbV9sYXN0UmVx
dWVzdFVSTCA9IHVybDsKICAgICBtX2Rlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5h
dGlvbjo6U2NyaXB0OwogICAgIG1faXNDT0VQRW5hYmxlZCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQtPnNldHRpbmdzVmFsdWVzKCkuY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeUVuYWJsZWQ7CiAK
QEAgLTExNiw2ICsxMTgsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJv
bm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogewogICAgIG1fY2xp
ZW50ID0gJmNsaWVudDsKICAgICBtX3VybCA9IHNjcmlwdFJlcXVlc3QudXJsKCk7CisgICAgbV9s
YXN0UmVxdWVzdFVSTCA9IHNjcmlwdFJlcXVlc3QudXJsKCk7CiAgICAgbV9kZXN0aW5hdGlvbiA9
IGZldGNoT3B0aW9ucy5kZXN0aW5hdGlvbjsKICAgICBtX2lzQ09FUEVuYWJsZWQgPSBzY3JpcHRF
eGVjdXRpb25Db250ZXh0LnNldHRpbmdzVmFsdWVzKCkuY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGlj
eUVuYWJsZWQ7CiAKQEAgLTE3OCw2ICsxODEsMTEgQEAgUmVzb3VyY2VFcnJvciBXb3JrZXJTY3Jp
cHRMb2FkZXI6OnZhbGlkYXRlV29ya2VyUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYK
ICAgICByZXR1cm4geyB9OwogfQogCit2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6cmVkaXJlY3RS
ZWNlaXZlZChjb25zdCBVUkwmIHJlZGlyZWN0VVJMKQoreworICAgIG1fbGFzdFJlcXVlc3RVUkwg
PSByZWRpcmVjdFVSTDsKK30KKwogdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZFJlY2VpdmVS
ZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgbV9lcnJvciA9IHZhbGlkYXRlV29ya2VyUmVz
cG9uc2UocmVzcG9uc2UsIG1fZGVzdGluYXRpb24pOwpAQCAtMjY2LDQgKzI3NCwxMSBAQCB2b2lk
IFdvcmtlclNjcmlwdExvYWRlcjo6Y2FuY2VsKCkKICAgICBtX3RocmVhZGFibGVMb2FkZXIgPSBu
dWxscHRyOwogfQogCitXb3JrZXJGZXRjaFJlc3VsdCBXb3JrZXJTY3JpcHRMb2FkZXI6OmZldGNo
UmVzdWx0KCkgY29uc3QKK3sKKyAgICBpZiAobV9mYWlsZWQpCisgICAgICAgIHJldHVybiB3b3Jr
ZXJGZXRjaEVycm9yKGVycm9yKCkpOworICAgIHJldHVybiB7IHNjcmlwdCgpLCBsYXN0UmVxdWVz
dFVSTCgpLCBjZXJ0aWZpY2F0ZUluZm8oKSwgY29udGVudFNlY3VyaXR5UG9saWN5KCksIGNyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3koKSwgcmVmZXJyZXJQb2xpY3koKSwgeyB9IH07Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5oCmluZGV4IDY5NGEwNjc2NGQzN2NhNzMwZmQxZTBiMWQyYjg3YjY1ZDAwZmMwYWYu
LmYyZGVhODhmMTEwM2M1MTg5MjRkODEzNzY0ZTE4NzlkYjhiOGUwNTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtNDksNiArNDksNyBAQCBjbGFz
cyBFeGNlcHRpb247CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVGV4dFJl
c291cmNlRGVjb2RlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlckNsaWVudDsKK3N0cnVjdCBX
b3JrZXJGZXRjaFJlc3VsdDsKIGVudW0gY2xhc3MgQ2VydGlmaWNhdGVJbmZvUG9saWN5IDogdWlu
dDhfdDsKIAogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29y
a2VyU2NyaXB0TG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXJDbGllbnQgewpAQCAtNjQs
MTEgKzY1LDEyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbm90aWZ5RXJyb3IoKTsKIAotICAgIGNv
bnN0IFNjcmlwdEJ1ZmZlciYgc2NyaXB0KCkgeyByZXR1cm4gbV9zY3JpcHQ7IH0KKyAgICBjb25z
dCBTY3JpcHRCdWZmZXImIHNjcmlwdCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0OyB9CiAgICAg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJp
dHlQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRTZWN1cml0eVBvbGljeTsgfQogICAg
IGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVy
UG9saWN5OyB9CiAgICAgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgY3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Jvc3NPcmlnaW5FbWJlZGRlclBv
bGljeTsgfQogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0KKyAg
ICBjb25zdCBVUkwmIGxhc3RSZXF1ZXN0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0UmVxdWVz
dFVSTDsgfQogICAgIGNvbnN0IFVSTCYgcmVzcG9uc2VVUkwoKSBjb25zdDsKICAgICBSZXNvdXJj
ZVJlc3BvbnNlOjpTb3VyY2UgcmVzcG9uc2VTb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3Bv
bnNlU291cmNlOyB9CiAgICAgYm9vbCBpc1JlZGlyZWN0ZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
UmVkaXJlY3RlZDsgfQpAQCAtNzgsNiArODAsOSBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2Fk
ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0K
ICAgICBjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3I7
IH0KIAorICAgIFdvcmtlckZldGNoUmVzdWx0IGZldGNoUmVzdWx0KCkgY29uc3Q7CisKKyAgICB2
b2lkIHJlZGlyZWN0UmVjZWl2ZWQoY29uc3QgVVJMJiByZWRpcmVjdFVSTCkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShj
b25zdCBTaGFyZWRCdWZmZXImKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmco
UmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmKSBvdmVy
cmlkZTsKQEAgLTEwMyw2ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxUZXh0UmVzb3Vy
Y2VEZWNvZGVyPiBtX2RlY29kZXI7CiAgICAgU2NyaXB0QnVmZmVyIG1fc2NyaXB0OwogICAgIFVS
TCBtX3VybDsKKyAgICBVUkwgbV9sYXN0UmVxdWVzdFVSTDsKICAgICBVUkwgbV9yZXNwb25zZVVS
TDsKICAgICBDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUluZm87CiAgICAgU3RyaW5nIG1f
cmVzcG9uc2VNSU1FVHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCA3YjQ3OGNiOTlkZTk3YWJj
NTM0MjlhMjVmMDljOGM0ZDM2NGU2ODBjLi5mMjE0YWM2YTAwNzZmYThkNjc4NDMwZDZmNGNlMTU0
MDNlOGExNmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC00OTEsMTMgKzQ5MSwxMyBAQCB2b2lk
IFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnN0YXJ0U2NyaXB0RmV0Y2hGb3JKb2IoU2VydmljZVdv
cmtlckpvYiYgam9iLCBGZXRjaAogICAgIGpvYi5mZXRjaFNjcmlwdFdpdGhDb250ZXh0KCpjb250
ZXh0LCBjYWNoZVBvbGljeSk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9i
RmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QgU2NyaXB0
QnVmZmVyJiBzY3JpcHQsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvLCBj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0
eVBvbGljeSwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgY29lcCwgY29uc3QgU3Ry
aW5nJiByZWZlcnJlclBvbGljeSkKK3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmlu
aXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QgV29ya2VyRmV0
Y2hSZXN1bHQmIGZldGNoUmVzdWx0KQogewogICAgIEFTU0VSVChtX2NyZWF0aW9uVGhyZWFkLnB0
cigpID09ICZUaHJlYWQ6OmN1cnJlbnQoKSk7CiAKICAgICBDT05UQUlORVJfUkVMRUFTRV9MT0co
ImpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdDogU3VjY2Vzc2Z1bHkgZmluaXNoZWQgZmV0Y2hpbmcg
c2NyaXB0IGZvciBqb2IgJSIgUFJJdTY0LCBqb2IuaWRlbnRpZmllcigpLnRvVUludDY0KCkpOwog
Ci0gICAgZW5zdXJlU1dDbGllbnRDb25uZWN0aW9uKCkuZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNl
cnZlcihqb2IuZGF0YSgpLmlkZW50aWZpZXIoKSwgam9iLmRhdGEoKS5yZWdpc3RyYXRpb25LZXko
KSwgV29ya2VyRmV0Y2hSZXN1bHQgeyBzY3JpcHQsIGNlcnRpZmljYXRlSW5mbywgY29udGVudFNl
Y3VyaXR5UG9saWN5LCBjb2VwLCByZWZlcnJlclBvbGljeSwgeyB9IH0pOworICAgIGVuc3VyZVNX
Q2xpZW50Q29ubmVjdGlvbigpLmZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoam9iLmRhdGEo
KS5pZGVudGlmaWVyKCksIGpvYi5kYXRhKCkucmVnaXN0cmF0aW9uS2V5KCksIGZldGNoUmVzdWx0
KTsKIH0KIAogdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JGYWlsZWRMb2FkaW5nU2Ny
aXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IsIEV4
Y2VwdGlvbiYmIGV4Y2VwdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCmluZGV4IDI4ZjVjYmMxZmVlNmFhZWM0
ODBlNDQ5MTEzYzRkNDEwODNhZjNiNjQuLjdhZjIxNzNlOGQ1ZTI0OTFlNTZlMjNkNDUzNTlkYjAz
ZWY5OWU1MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApAQCAtMTE4LDcgKzExOCw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYsIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCkg
ZmluYWw7CiAgICAgdm9pZCBqb2JSZXNvbHZlZFdpdGhVbnJlZ2lzdHJhdGlvblJlc3VsdChTZXJ2
aWNlV29ya2VySm9iJiwgYm9vbCB1bnJlZ2lzdHJhdGlvblJlc3VsdCkgZmluYWw7CiAgICAgdm9p
ZCBzdGFydFNjcmlwdEZldGNoRm9ySm9iKFNlcnZpY2VXb3JrZXJKb2ImLCBGZXRjaE9wdGlvbnM6
OkNhY2hlKSBmaW5hbDsKLSAgICB2b2lkIGpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNl
V29ya2VySm9iJiwgY29uc3QgU2NyaXB0QnVmZmVyJiwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgY29uc3QgQ3Jvc3NP
cmlnaW5FbWJlZGRlclBvbGljeSYsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3kpIGZpbmFs
OworICAgIHZvaWQgam9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImLCBj
b25zdCBXb3JrZXJGZXRjaFJlc3VsdCYpIGZpbmFsOwogICAgIHZvaWQgam9iRmFpbGVkTG9hZGlu
Z1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgUmVzb3VyY2VFcnJvciYsIEV4Y2VwdGlv
biYmKSBmaW5hbDsKIAogICAgIHZvaWQgbm90aWZ5RmFpbGVkRmV0Y2hpbmdTY3JpcHQoU2Vydmlj
ZVdvcmtlckpvYiYsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcAppbmRleCA2OWVmOWQ3MDdm
YzQzZDQ3YzJlMjI2NWFhMTQ5NjM0ZTNiYjAxOGQ3Li5jNjM4MTg2OWVjNzhmNzNiOTk1NzBiODMy
NmYyYzk2ZWJiNGYxNTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckpvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiU2Vj
dXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iRGF0YS5oIgogI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCIKKyNpbmNsdWRlICJXb3JrZXJGZXRjaFJl
c3VsdC5oIgogI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMTY1LDcgKzE2Niw3IEBAIHZvaWQgU2VydmljZVdvcmtlckpvYjo6bm90aWZ5RmluaXNo
ZWQoKQogICAgIGF1dG8gc2NyaXB0TG9hZGVyID0gV1RGTW92ZShtX3NjcmlwdExvYWRlcik7CiAK
ICAgICBpZiAoIXNjcmlwdExvYWRlci0+ZmFpbGVkKCkpIHsKLSAgICAgICAgbV9jbGllbnQuam9i
RmluaXNoZWRMb2FkaW5nU2NyaXB0KCp0aGlzLCBzY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBzY3Jp
cHRMb2FkZXItPmNlcnRpZmljYXRlSW5mbygpLCBzY3JpcHRMb2FkZXItPmNvbnRlbnRTZWN1cml0
eVBvbGljeSgpLCBzY3JpcHRMb2FkZXItPmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSwgc2Ny
aXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpKTsKKyAgICAgICAgbV9jbGllbnQuam9iRmluaXNo
ZWRMb2FkaW5nU2NyaXB0KCp0aGlzLCBzY3JpcHRMb2FkZXItPmZldGNoUmVzdWx0KCkpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaAppbmRleCAyY2Y1MTQ3OGM5YjFkZjcw
ZGFiZTBiZTQ2MWZkOTcwNWMyOTNjYzEyLi4wNDU5MzNjNjI0MzAyMjhmNTNhNTkxYjFkZjA3MGMx
ZGNiMjRhNmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgU2NyaXB0
QnVmZmVyOwogY2xhc3MgU2VydmljZVdvcmtlckpvYjsKIHN0cnVjdCBDcm9zc09yaWdpbkVtYmVk
ZGVyUG9saWN5Owogc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOworc3RydWN0
IFdvcmtlckZldGNoUmVzdWx0OwogCiBjbGFzcyBTZXJ2aWNlV29ya2VySm9iQ2xpZW50IHsKIHB1
YmxpYzoKQEAgLTUwLDcgKzUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBqb2JSZXNv
bHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYsIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25EYXRhJiYsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBqb2JSZXNvbHZlZFdpdGhVbnJlZ2lzdHJhdGlvblJlc3VsdChTZXJ2aWNlV29ya2Vy
Sm9iJiwgYm9vbCB1bnJlZ2lzdHJhdGlvblJlc3VsdCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBz
dGFydFNjcmlwdEZldGNoRm9ySm9iKFNlcnZpY2VXb3JrZXJKb2ImLCBGZXRjaE9wdGlvbnM6OkNh
Y2hlKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGpvYkZpbmlzaGVkTG9hZGluZ1NjcmlwdChTZXJ2
aWNlV29ya2VySm9iJiwgY29uc3QgU2NyaXB0QnVmZmVyJiwgY29uc3QgQ2VydGlmaWNhdGVJbmZv
JiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgY29uc3QgQ3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSYsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3kpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgam9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3Jr
ZXJKb2ImLCBjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
am9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgUmVzb3VyY2VF
cnJvciYsIEV4Y2VwdGlvbiYmKSA9IDA7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCAz
ODBmYzNhNWVkNGY2YTQ5ZjlkY2I2N2YzNDFiNjE3NWYzYmJmOGYzLi5hMWFmMmUyNzY4ZjJjNTVm
ZGI0NWMwZWNmYmE5NDliYjE2NGY4MGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTU4LDEy
ICs1OCw5IEBAIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9u
c2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50CiAKIHZvaWQgU2hhcmVkV29ya2VyU2Ny
aXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZCgpCiB7Ci0gICAgaWYgKG1fbG9hZGVyLT5mYWlsZWQo
KSkKLSAgICAgICAgcmV0dXJuIG1fY29tcGxldGlvbkhhbmRsZXIod29ya2VyRmV0Y2hFcnJvciht
X2xvYWRlci0+ZXJyb3IoKSkpOwotCi0gICAgaWYgKGF1dG8qIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQgPSBtX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQorICAgIGlmIChhdXRvKiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0ID0gbV93b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KTsgIW1fbG9hZGVyLT5mYWlsZWQoKSkKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpzY3JpcHRJbXBvcnRlZCgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgbV9sb2FkZXItPmlkZW50
aWZpZXIoKSwgbV9sb2FkZXItPnNjcmlwdCgpLnRvU3RyaW5nKCkpOwotICAgIG1fY29tcGxldGlv
bkhhbmRsZXIoeyBtX2xvYWRlci0+c2NyaXB0KCksIG1fbG9hZGVyLT5jZXJ0aWZpY2F0ZUluZm8o
KSwgbV9sb2FkZXItPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLCBtX2xvYWRlci0+Y3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeSgpLCBtX2xvYWRlci0+cmVmZXJyZXJQb2xpY3koKSwgeyB9IH0pOyAv
LyBkZWxldGVzIHRoaXMuCisgICAgbV9jb21wbGV0aW9uSGFuZGxlcihtX2xvYWRlci0+ZmV0Y2hS
ZXN1bHQoKSk7IC8vIGRlbGV0ZXMgdGhpcy4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRX
b3JrZXJUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250
ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcAppbmRleCAyNmJhN2I2OGJjZWQyZTkyZTE2
N2U3NzljOWNkNTVkM2QzYjE3ODc3Li4zNTQ3ZDY3N2U4ZWFhZjZjY2U1NzlmYzIwY2NjZTlhOGY4
YTU1NWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0
L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcApAQCAtNTUsMTAgKzU1
LDEwIEBAIHN0YXRpYyBIYXNoU2V0PFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4mIGFsbFNoYXJl
ZFdvcmtlclRocmVhZFByb3hpZXMoKQogICAgIHJldHVybiBzZXQ7CiB9CiAKLXN0YXRpYyBXb3Jr
ZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRp
b25zJiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIERvY3VtZW50JiBk
b2N1bWVudCkKK3N0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVy
cyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlv
bnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRG9jdW1lbnQmIGRv
Y3VtZW50KQogewogICAgIHJldHVybiBXb3JrZXJQYXJhbWV0ZXJzIHsKLSAgICAgICAgc2NyaXB0
VVJMLAorICAgICAgICB3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwKICAgICAgICAg
d29ya2VyT3B0aW9ucy5uYW1lLAogICAgICAgICAic2hhcmVkd29ya2VyOiIgKyBJbnNwZWN0b3I6
OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLAogICAgICAgICB1c2VyQWdl
bnQsCkBAIC03NCwxMCArNzQsMTAgQEAgc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVX
b3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBXb3IKICAgICB9Owog
fQogCi1TaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5p
cXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIFdvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9w
dGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgQ2FjaGVTdG9y
YWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQorU2hhcmVkV29ya2VyVGhyZWFkUHJv
eHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJl
ZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3Jp
Z2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQs
IFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Q2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogbV9wYWdl
KFdURk1vdmUocGFnZSkpCiAgICAgLCBtX2RvY3VtZW50KCptX3BhZ2UtPm1haW5GcmFtZSgpLmRv
Y3VtZW50KCkpCi0gICAgLCBtX3dvcmtlclRocmVhZChTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0
ZShzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMoc2NyaXB0
VVJMLCB3b3JrZXJGZXRjaFJlc3VsdCwgV1RGTW92ZSh3b3JrZXJPcHRpb25zKSwgdXNlckFnZW50
LCBtX2RvY3VtZW50KSwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdC5zY3JpcHQpLCAqdGhpcywg
KnRoaXMsICp0aGlzLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgY2xpZW50T3JpZ2lu
LnRvcE9yaWdpbi5zZWN1cml0eU9yaWdpbigpLCBtX2RvY3VtZW50LT5pZGJDb25uZWN0aW9uUHJv
eHkoKSwgbV9kb2N1bWVudC0+c29ja2V0UHJvdmlkZXIoKSwgSlNDOjpSdW50aW1lRmxhZ3M6OmNy
ZWF0ZUFsbEVuYWJsZWQoKSkpCisgICAgLCBtX3dvcmtlclRocmVhZChTaGFyZWRXb3JrZXJUaHJl
YWQ6OmNyZWF0ZShzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRl
cnMod29ya2VyRmV0Y2hSZXN1bHQsIFdURk1vdmUod29ya2VyT3B0aW9ucyksIHVzZXJBZ2VudCwg
bV9kb2N1bWVudCksIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQuc2NyaXB0KSwgKnRoaXMsICp0
aGlzLCAqdGhpcywgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGNsaWVudE9yaWdpbi50
b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgbV9kb2N1bWVudC0+aWRiQ29ubmVjdGlvblByb3h5
KCksIG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVyKCksIEpTQzo6UnVudGltZUZsYWdzOjpjcmVh
dGVBbGxFbmFibGVkKCkpKQogICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihjYWNoZVN0b3Jh
Z2VQcm92aWRlcikKIHsKICAgICBBU1NFUlQoIWFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMo
KS5jb250YWlucyh0aGlzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3No
YXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKaW5kZXggMzM2
NDI0MGFiYmI1OWI4ZDFkMDM5ZmVlYmQwNWIxNGEwMjczN2FkZi4uZGFiM2ExMjNkZWUxOGRiYjYy
NGQ3N2Y1OGVkOThkNDQ5NGM3ZmE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaApA
QCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBc1Rlcm1pbmF0aW5nT3JUZXJt
aW5hdGVkKCkgeyBtX2lzVGVybWluYXRpbmdPclRlcm1pbmF0ZWQgPSB0cnVlOyB9CiAKIHByaXZh
dGU6Ci0gICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVm
PFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYsIGNv
bnN0IFVSTCYgc2NyaXB0VVJMLCBXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJPcHRpb25zJiYs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQcm92aWRlciYpOworICAgIFdF
QkNPUkVfRVhQT1JUIFNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmLCBT
aGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mLCBXb3JrZXJGZXRjaFJl
c3VsdCYmLCBXb3JrZXJPcHRpb25zJiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNoZVN0
b3JhZ2VQcm92aWRlciYpOwogCiAgICAgLy8gV29ya2VyT2JqZWN0UHJveHkuCiAgICAgdm9pZCBw
b3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGlu
dCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkg
ZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvU2VydmljZVdvcmtlclNvZnRVcGRhdGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJTb2Z0VXBkYXRlTG9hZGVy
LmNwcAppbmRleCAzN2I5NjY4ZjBmNWQ4NDMwNmI0NjRhZmU0ZDA2M2E3NWMzZjExYTZiLi41YmQx
YWJlN2M0ZWQ3ZjMzYjU2OTVjZGI2MWViMTQyODJkYjY3MGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlclNvZnRVcGRh
dGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdv
cmtlci9TZXJ2aWNlV29ya2VyU29mdFVwZGF0ZUxvYWRlci5jcHAKQEAgLTE5Niw3ICsxOTYsNyBA
QCB2b2lkIFNlcnZpY2VXb3JrZXJTb2Z0VXBkYXRlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGNv
bnN0IFdlYkNvcmU6Ok5ldHdvcmtMb2FkTQogewogICAgIGlmIChtX2RlY29kZXIpCiAgICAgICAg
IG1fc2NyaXB0LmFwcGVuZChtX2RlY29kZXItPmZsdXNoKCkpOwotICAgIG1fY29tcGxldGlvbkhh
bmRsZXIoeyBTY3JpcHRCdWZmZXIgeyBtX3NjcmlwdC50b1N0cmluZygpIH0sIG1fY2VydGlmaWNh
dGVJbmZvLCBtX2NvbnRlbnRTZWN1cml0eVBvbGljeSwgbV9jcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5LCBtX3JlZmVycmVyUG9saWN5LCB7IH0gfSk7CisgICAgbV9jb21wbGV0aW9uSGFuZGxlcih7
IFNjcmlwdEJ1ZmZlciB7IG1fc2NyaXB0LnRvU3RyaW5nKCkgfSwgbV9qb2JEYXRhLnNjcmlwdFVS
TCwgbV9jZXJ0aWZpY2F0ZUluZm8sIG1fY29udGVudFNlY3VyaXR5UG9saWN5LCBtX2Nyb3NzT3Jp
Z2luRW1iZWRkZXJQb2xpY3ksIG1fcmVmZXJyZXJQb2xpY3ksIHsgfSB9KTsKICAgICBkaWRDb21w
bGV0ZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1No
YXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtl
clNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCmluZGV4IGJkNTRlZTk5YzE2Mjc4ZTU1NWNk
NjdiYmI2NzczNzVjY2Q5YjViNTguLmIyNzdlNjU3MmY4MTkwMTIzZWZiNjRlODkxY2IzNjdhMGI0
ODlmMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNl
cnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCkBAIC05MCw3ICs5MCw3IEBAIHZvaWQgV2ViU2hh
cmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdl
YlNoYXJlZFdvcmtlCiB7CiAgICAgQ09OVEVYVF9DT05ORUNUSU9OX1JFTEVBU0VfTE9HKCJsYXVu
Y2hTaGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRX
b3JrZXIuaWRlbnRpZmllcigpLnRvVUludDY0KCkpOwogICAgIHNoYXJlZFdvcmtlci5tYXJrQXNS
dW5uaW5nKCk7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uOjpMYXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFyZWRXb3JrZXIub3JpZ2luKCks
IHNoYXJlZFdvcmtlci5pZGVudGlmaWVyKCksIHNoYXJlZFdvcmtlci51cmwoKSwgc2hhcmVkV29y
a2VyLndvcmtlck9wdGlvbnMoKSwgc2hhcmVkV29ya2VyLmZldGNoUmVzdWx0KCkgfSk7CisgICAg
c2VuZChNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpM
YXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFyZWRXb3JrZXIub3JpZ2luKCksIHNoYXJlZFdvcmtlci5p
ZGVudGlmaWVyKCksIHNoYXJlZFdvcmtlci53b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtlci5m
ZXRjaFJlc3VsdCgpIH0pOwogICAgIGZvciAoYXV0byYgcG9ydCA6IHNoYXJlZFdvcmtlci5zaGFy
ZWRXb3JrZXJPYmplY3RzKCkudmFsdWVzKCkpCiAgICAgICAgIHBvc3RDb25uZWN0RXZlbnQoc2hh
cmVkV29ya2VyLCBwb3J0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb24uY3BwCmluZGV4IDgxNTIxNmFjZGNlM2Q5MmU2YTNmZmZhY2ZlZWIyYzhi
YjliOGM0NzAuLjJiZmY2MGFiY2YwMTM0OGQ4YWNmM2M0NzIzODliYjUwMGFhMmQzMmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAt
ODksNyArODksNyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZShjb25zdCBXZWJQcgogICAgIG1fcHJlZmVyZW5jZXNT
dG9yZSA9IHN0b3JlOwogfQogCi12b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdp
biwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVy
LCBVUkwmJiB1cmwsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXZWJD
b3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0KQordm9pZCBXZWJTaGFy
ZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJD
b3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZp
ZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmIHdvcmtl
ck9wdGlvbnMsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQp
CiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29ya2VyLCAiV2ViU2hhcmVkV29ya2VyQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50
aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOwogICAg
IGF1dG8gcGFnZUNvbmZpZ3VyYXRpb24gPSBXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhF
bXB0eUNsaWVudHMoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2Vzc2lvbklEKCkpOwpAQCAtMTEw
LDggKzExMCw4IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
OjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50CiAgICAgICAgIFdlYlBhZ2U6OnVw
ZGF0ZVNldHRpbmdzR2VuZXJhdGVkKCptX3ByZWZlcmVuY2VzU3RvcmUsIHBhZ2UtPnNldHRpbmdz
KCkpOwogICAgICAgICBwYWdlLT5zZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShz
dGF0aWNfY2FzdDxXZWJDb3JlOjpTdG9yYWdlQmxvY2tpbmdQb2xpY3k+KG1fcHJlZmVyZW5jZXNT
dG9yZS0+Z2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN0b3JhZ2VCbG9j
a2luZ1BvbGljeUtleSgpKSkpOwogICAgIH0KLSAgICBwYWdlLT5zZXR1cEZvclJlbW90ZVdvcmtl
cih1cmwsIG9yaWdpbi50b3BPcmlnaW4sIHdvcmtlckZldGNoUmVzdWx0LnJlZmVycmVyUG9saWN5
KTsKLSAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVhZFByb3h5ID0gV2ViQ29yZTo6U2hhcmVkV29y
a2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2UpLCBzaGFyZWRXb3JrZXJJZGVudGlm
aWVyLCBvcmlnaW4sIHVybCwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdCksIFdURk1vdmUod29y
a2VyT3B0aW9ucyksIG1fdXNlckFnZW50LCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0
b3JhZ2VQcm92aWRlcigpKTsKKyAgICBwYWdlLT5zZXR1cEZvclJlbW90ZVdvcmtlcih3b3JrZXJG
ZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwgb3JpZ2luLnRvcE9yaWdpbiwgd29ya2VyRmV0Y2hS
ZXN1bHQucmVmZXJyZXJQb2xpY3kpOworICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJveHkg
PSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFnZSks
IHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3Vs
dCksIFdURk1vdmUod29ya2VyT3B0aW9ucyksIG1fdXNlckFnZW50LCBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92aWRlcigpKTsKIAogICAgIFdlYkNvcmU6OlNoYXJlZFdv
cmtlckNvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5yZWdpc3RlclNoYXJlZFdvcmtlclRocmVh
ZChXVEZNb3ZlKHNoYXJlZFdvcmtlclRocmVhZFByb3h5KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJl
ZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IDFhY2ZkMGM0MTI5MWQ1N2U3
NGIwNmZlZGM2OTViZmFmMTA5NWRiYmUuLmFiMzVjYmQwMTg4NWNlYjM3NjEzMTBiZGY0ZDViN2I4
ODcyMGFmNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBJUEMg
TWVzc2FnZXMuCi0gICAgdm9pZCBsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luJiYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFVSTCYmLCBXZWJDb3JlOjpX
b3JrZXJPcHRpb25zJiYsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYpOworICAgIHZvaWQg
bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYsIFdlYkNvcmU6Oldv
cmtlckZldGNoUmVzdWx0JiYpOwogICAgIHZvaWQgdXBkYXRlUHJlZmVyZW5jZXNTdG9yZShjb25z
dCBXZWJQcmVmZXJlbmNlc1N0b3JlJik7CiAgICAgdm9pZCBzZXRVc2VyQWdlbnQoU3RyaW5nJiYg
dXNlckFnZW50KSB7IG1fdXNlckFnZW50ID0gV1RGTW92ZSh1c2VyQWdlbnQpOyB9CiAgICAgdm9p
ZCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IGQ4MmE0YWRhNTNmZDRiZWIxYzVlZWUxZjdh
YmE2MjJmM2ZkNWIxZGIuLjhlZGE3YWI1OTgzMTA0MDMxYWM1MjMyZmFhNGViZDg1ZjBlNjc4MWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdv
cmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb24ubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVz
c2FnZXMgLT4gV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uIE5vdFJlZkNv
dW50ZWQgewotICAgIExhdW5jaFNoYXJlZFdvcmtlcihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luIG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyLCBVUkwgdXJsLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJP
cHRpb25zLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgd29ya2VyRmV0Y2hSZXN1
bHQpCisgICAgTGF1bmNoU2hhcmVkV29ya2VyKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4g
b3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50
aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlvbnMsIHN0cnVj
dCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCB3b3JrZXJGZXRjaFJlc3VsdCkKICAgICBQb3N0
Q29ubmVjdEV2ZW50KFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2Vy
SWRlbnRpZmllciwgV2ViQ29yZTo6VHJhbnNmZXJyZWRNZXNzYWdlUG9ydCBwb3J0LCBTdHJpbmcg
c291cmNlT3JpZ2luKQogICAgIFRlcm1pbmF0ZVNoYXJlZFdvcmtlcihXZWJDb3JlOjpTaGFyZWRX
b3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIpCiAgICAgVXBkYXRlUHJlZmVy
ZW5jZXNTdG9yZShzdHJ1Y3QgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlIHN0b3JlKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMjBiYjA0Y2M5YjQyYTdjNWY2Yzc2ZTU4YjNj
OWM2YWM2YTI2MjFjMC4uNzRjM2VhZTcxZDI2NGZhYTdmOTIwMTkzZjYzOWIyYjM4Y2VjNWRmYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjItMDIt
MDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBzZWxmLmxvY2F0
aW9uLmhyZWYgaXMgaW5jb3JyZWN0IGluIHNoYXJlZCB3b3JrZXJzIGluIGNhc2Ugb2YgcmVkaXJl
Y3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYz
NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJh
c2VsaW5lIFdQVCB0ZXN0cyB0aGF0IGFyZSBub3cgcGFzc2luZy4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy1pbi1zaGFy
ZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxT
Y29wZS9sb2NhdGlvbi9yZWRpcmVjdC1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDIy
LTAyLTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzeW5j
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbSBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVy
bC9hbHBoYS9pbXBvcnRTY3JpcHRzLWluLXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9h
bHBoYS9pbXBvcnRTY3JpcHRzLWluLXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggYWI1
YTdmYjg5MDIwZjI5ZmQ4OTNhNzU2ODBmZmUxN2QzZDM1MGY3Yy4uYWI1M2I4MDU5OWFlMDE5NTc4
MDg1ZWU0NGFhZWZhNGM3OTU1MjY4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0
cy1pbi1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL2ltcG9ydFNjcmlw
dHMtaW4tc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBp
bXBvcnRTY3JpcHRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYS9zY3JpcHQuanMiIGJ1
dCBnb3QgImJldGEvc2NyaXB0LmpzIgorUEFTUyBpbXBvcnRTY3JpcHRzCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNl
dXJsL2FscGhhL3hoci1pbi1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhy
LWluLXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZDZiMDhlZWRhZTZmNjk2YzdhNGJm
YTY1NWUxM2I1ZWQ0NjA3ZWEwMS4uZWExNDU0ZDliM2YyMGY4NWQ5MDE2YzUwNmExNTQ2YWY2MTc4
NDJkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXNoYXJlZHdvcmtlci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2Jhc2V1cmwvYWxwaGEveGhyLWluLXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSwzIEBACiAKLUZBSUwgeGhyLXdvcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZ2Ft
bWFcbiIgYnV0IGdvdCAiYmV0YVxuIgorUEFTUyB4aHItd29ya2VyCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LXNoYXJlZHdvcmtlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1zaGFy
ZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGI4ZjYyNDVkYmRjYmNlNDZjN2UyNWRjMTQxYTA0
OGY3NzRmZjM5MmQuLmMwZTU1YTFlMDU0MTk3MGRjYTJjMTM4N2JmZDAyMTUzMjBlZGU2MGYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0LXNoYXJl
ZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRp
b24vcmVkaXJlY3Qtc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCByZWRpcmVjdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiL3dvcmtlcnMvaW50ZXJmYWNl
cy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC5qcyIgYnV0IGdvdCAiL2NvbW1v
bi9yZWRpcmVjdC5weSIKK1BBU1MgcmVkaXJlY3QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvb3Blbi11cmwtcmVkaXJlY3RlZC1z
aGFyZWR3b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQtc2hhcmVkd29ya2Vy
LW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggNTljYWNhNDg2ZjhkZWFjMDc4OWM5N2I0ZmVlOGE1
MjU5N2E1ZTU0Ny4uMzBlYjUxOTBlYmRkNGMyMDcwMWNhYjhiOTY0OGY2MDlkZTY0MWQ0ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIv
b3Blbi11cmwtcmVkaXJlY3RlZC1zaGFyZWR3b3JrZXItb3JpZ2luLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVy
bC1yZWRpcmVjdGVkLXNoYXJlZHdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEs
NSBAQAogCi1GQUlMIFJlZmVyZXIgaGVhZGVyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJSZWZl
cmVyOiBodHRwOi8vbG9jYWxob3N0Ojg4MDAveGhyL3Jlc291cmNlcy93b3JrZXJ4aHItb3JpZ2lu
LXJlZmVycmVyLmpzXG4iIGJ1dCBnb3QgIlJlZmVyZXI6IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC94
aHIvcmVzb3VyY2VzL3JlZGlyZWN0LnB5P2xvY2F0aW9uPXdvcmtlcnhoci1vcmlnaW4tcmVmZXJy
ZXIuanNcbiIKK1BBU1MgUmVmZXJlciBoZWFkZXIKIEZBSUwgT3JpZ2luIGhlYWRlciBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiT3JpZ2luOiBodHRwOi8vbG9jYWxob3N0Ojg4MDBcbiIgYnV0IGdv
dCAiIgogUEFTUyBSZXF1ZXN0IFVSTCB0ZXN0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9vcGVuLXVybC1y
ZWRpcmVjdGVkLXNoYXJlZHdvcmtlci1vcmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJs
LXJlZGlyZWN0ZWQtc2hhcmVkd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggZWU1M2Yy
ZmYyZDVlMDhhZDI5OGM2MjdjNzAzNzQ0MTlmN2RiMTkzNS4uYWM0OWU5Yjk2MGI0NTljNjBhNjkx
MDBhNjIzN2QwODJjNmExYmU3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGlyZWN0ZWQt
c2hhcmVkd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL29wZW4tdXJsLXJlZGly
ZWN0ZWQtc2hhcmVkd29ya2VyLW9yaWdpbi1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAK
LUZBSUwgUmVmZXJlciBoZWFkZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlJlZmVyZXI6IGh0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC94aHIvcmVzb3VyY2VzL3dvcmtlcnhoci1vcmlnaW4tcmVmZXJy
ZXIuanNcbiIgYnV0IGdvdCAiUmVmZXJlcjogaHR0cDovL2xvY2FsaG9zdDo4ODAwL3hoci9yZXNv
dXJjZXMvcmVkaXJlY3QucHk/bG9jYXRpb249d29ya2VyeGhyLW9yaWdpbi1yZWZlcnJlci5qc1xu
IgorUEFTUyBSZWZlcmVyIGhlYWRlcgogUEFTUyBPcmlnaW4gaGVhZGVyCiBQQVNTIFJlcXVlc3Qg
VVJMIHRlc3QKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>