<?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>284263</bug_id>
          
          <creation_ts>2024-12-08 19:06:55 -0800</creation_ts>
          <short_desc>REGRESSION(287525@main): breaks !ENABLE(NOTIFICATIONS) build, correct use of ENABLEs will be non-trivial</short_desc>
          <delta_ts>2024-12-08 19:12:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>284214</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>beidson</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2080062</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-12-08 19:06:55 -0800</bug_when>
    <thetext>https://commits.webkit.org/287525@main introduced a regression:
breaks !ENABLE(NOTIFICATIONS) build, correct use of ENABLEs will be non-trivial

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2080064</commentid>
    <comment_count>1</comment_count>
      <attachid>473505</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-12-08 19:07:04 -0800</bug_when>
    <thetext>Created attachment 473505
REVERT of 287525@main

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2080066</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-12-08 19:11:19 -0800</bug_when>
    <thetext>Committed 287530@main (e0c4325db143): &lt;https://commits.webkit.org/287530@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 473505.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2080067</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-12-08 19:12:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/141133146&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473505</attachid>
            <date>2024-12-08 19:07:04 -0800</date>
            <delta_ts>2024-12-08 19:11:20 -0800</delta_ts>
            <desc>REVERT of 287525@main</desc>
            <filename>bug-284263-20241209030703.patch</filename>
            <type>text/plain</type>
            <size>59968</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBlMWI3MjVhODA3ZWZlY2I2ZTM1NTE2YzhkMTEyOGE0ZjAwM2RkMDA5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBNb24sIDkgRGVjIDIwMjQgMDM6MDc6MDAgKzAwMDAKU3ViamVjdDogW1BBVENIXSBV
bnJldmlld2VkLCByZXZlcnRpbmcgMjg3NTI1QG1haW4uCiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Mjg0MjYzCgpicmVha3MgIUVOQUJMRShOT1RJRklDQVRJT05TKSBi
dWlsZCwgY29ycmVjdCB1c2Ugb2YgRU5BQkxFcyB3aWxsIGJlIG5vbi10cml2aWFsCgpSZXZlcnRl
ZCBjaGFuZ2VzZXQ6CgoiQWRvcHQgc3RhbmRhcmRzIHJlbmFtZXMgZm9yIGRlY2xhcmF0aXZlIHdl
YiBwdXNoLCBhbmQgZW5hYmxlIGl0IgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Mjg0MjE0Cmh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnLzI4NzUyNUBtYWluCi0tLQog
Li4uL1ByZWZlcmVuY2VzL1VuaWZpZWRXZWJQcmVmZXJlbmNlcy55YW1sICAgIHwgIDQgKy0KIFNv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICB8ICAyICsKIC4uLi9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgICB8ICAyICsKIC4uLi9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0ICB8ICA0ICsKIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgICAgICAgICAgICB8ICAyICsKIC4uLi9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCAgICB8IDE4ICsrKy0tCiAuLi4vTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oICAgICAgfCAgNyArLQogLi4uL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsICAgIHwgIDIgKy0KIC4uLi9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkRhdGEuY3BwICAgICAgICB8ICA0ICstCiAuLi4vTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkRhdGEuaCAgfCAgMiArLQogLi4uL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uRGF0YUNvY29hLm1tICAgIHwgIDIgKy0KIC4uLi9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbk9wdGlvbnMuaWRsICAgICB8ICAyICstCiAuLi4vbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25QYXlsb2FkLmNwcCAgICAgfCAgNCArLQogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNo
LWFwaS9QdXNoRXZlbnQuY3BwIHwgMzcgKy0tLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3B1c2gtYXBpL1B1c2hFdmVudC5oICAgfCAyMiArLS0tLQogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wdXNoLWFwaS9QdXNoRXZlbnQuaWRsIHwgIDIgLQogLi4uL3B1c2gtYXBpL1B1c2hOb3RpZmlj
YXRpb25FdmVudC5jcHAgICAgICAgIHwgNTYgKysrKysrKysrKysrKwogLi4uL01vZHVsZXMvcHVz
aC1hcGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50LmggIHwgNjUgKysrKysrKysrKysrKysrCiAuLi4v
cHVzaC1hcGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50LmlkbCAgICAgICAgfCAzOCArKysrKysrKysK
IC4uLi9wdXNoLWFwaS9QdXNoTm90aWZpY2F0aW9uRXZlbnRJbml0LmggICAgICB8IDQxICsrKysr
KysrKysKIC4uLi9wdXNoLWFwaS9QdXNoTm90aWZpY2F0aW9uRXZlbnRJbml0LmlkbCAgICB8IDMy
ICsrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCAgICAgICAgICAgICAgICAgICAg
fCAgMyArCiAuLi4vV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogfCAx
NCArKysrCiAuLi4vV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggfCAg
MSArCiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRJbnRlcmZhY2VzLmluICAgICAgICAgfCAgMSAr
CiBTb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5jcHAgICAgICAgfCAgNiArLQog
Li4uL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCAgICAgIHwgMTUgKystLQog
Li4uL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggICAgICAgIHwgMTAgKy0tCiAu
Li4vc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCAgICAgfCAgOSArKy0KIC4u
Li9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgICB8IDE5ICsrLS0tCiAu
Li4vc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaCAgICAgfCAgMiArLQogLi4u
L1dlYkNvcmVBcmd1bWVudENvZGVycy5zZXJpYWxpemF0aW9uLmluICAgIHwgIDIgKy0KIC4uLi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbSB8ICA0ICstCiAuLi4vVGVz
dHMvV2ViS2l0Q29jb2EvV2ViUHVzaERhZW1vbi5tbSAgICAgICAgfCA4MSArKysrKysrKystLS0t
LS0tLS0tCiAzNCBmaWxlcyBjaGFuZ2VkLCAzNjQgaW5zZXJ0aW9ucygrKSwgMTUxIGRlbGV0aW9u
cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkv
UHVzaE5vdGlmaWNhdGlvbkV2ZW50LmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50LmgKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hOb3RpZmljYXRpb25F
dmVudC5pZGwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gt
YXBpL1B1c2hOb3RpZmljYXRpb25FdmVudEluaXQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50SW5pdC5pZGwK
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvVW5pZmllZFdlYlBy
ZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvVW5pZmllZFdl
YlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMWEwNGQxNjIwYmUzLi45N2M5MDM1MzRjMTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9VbmlmaWVkV2ViUHJlZmVyZW5j
ZXMueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvVW5pZmllZFdlYlBy
ZWZlcmVuY2VzLnlhbWwKQEAgLTI0MzUsNyArMjQzNSw3IEBAIERlY2xhcmF0aXZlU2hhZG93Um9v
dHNTZXJpYWxpemVyQVBJc0VuYWJsZWQ6CiAKIERlY2xhcmF0aXZlV2ViUHVzaDoKICAgdHlwZTog
Ym9vbAotICBzdGF0dXM6IHN0YWJsZQorICBzdGF0dXM6IHRlc3RhYmxlCiAgIGNhdGVnb3J5OiBk
b20KICAgZGVmYXVsdHNPdmVycmlkYWJsZTogdHJ1ZQogICBjb25kaXRpb246IEVOQUJMRShERUNM
QVJBVElWRV9XRUJfUFVTSCkKQEAgLTI0NDUsNyArMjQ0NSw3IEBAIERlY2xhcmF0aXZlV2ViUHVz
aDoKICAgICBXZWJLaXRMZWdhY3k6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktpdDoK
LSAgICAgIGRlZmF1bHQ6IHRydWUKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICAgV2ViQ29yZToK
ICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMGNlODdkNTQx
ZDA4Li41YzQ3MWJjMjlmZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC02MTgsNiArNjE4LDgg
QEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3B1c2gtYXBpL1B1
c2hFdmVudEluaXQuaWRsCiAgICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdlci5pZGwKICAg
ICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5pZGwKKyAgICBNb2R1bGVzL3B1c2gt
YXBpL1B1c2hOb3RpZmljYXRpb25FdmVudC5pZGwKKyAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hO
b3RpZmljYXRpb25FdmVudEluaXQuaWRsCiAgICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNoUGVybWlz
c2lvblN0YXRlLmlkbAogICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5pZGwK
ICAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5pZGwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Qg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDE5
YjhlZGViNjJkMC4uMTJhZDg1NDQzMWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTgyOCw2ICs4MjgsOCBAQCAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
cHVzaC1hcGkvUHVzaEV2ZW50SW5pdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1h
cGkvUHVzaE1hbmFnZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hN
ZXNzYWdlRGF0YS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlm
aWNhdGlvbkV2ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTm90
aWZpY2F0aW9uRXZlbnRJbml0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoUGVybWlzc2lvblN0YXRlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoU3Vic2NyaXB0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGQ4Y2QzMmIxMDdkNC4uMTlkYmY2MzI0NDNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlz
dApAQCAtMjMyOSw2ICsyMzI5LDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUHVzaE1hbmFnZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hNYW5hZ2VyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaE1lc3NhZ2VEYXRhLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoTWVzc2FnZURhdGEuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoTm90aWZp
Y2F0aW9uRXZlbnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1B1c2hOb3RpZmljYXRpb25FdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hOb3RpZmljYXRpb25FdmVudEluaXQuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hOb3RpZmljYXRp
b25FdmVudEluaXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQdXNoUGVybWlzc2lvblN0YXRlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoUGVybWlzc2lvblN0YXRlLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaFN1YnNjcmlwdGlvbi5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDhhMzBmY2RiM2JlZC4uZjNjNWYxYWNkNGJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTU5MSw2ICs1OTEsOCBAQCBKU19C
SU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZl
bnRJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2Vy
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTm90aWZpY2F0aW9uRXZl
bnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlmaWNhdGlv
bkV2ZW50SW5pdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoUGVy
bWlzc2lvblN0YXRlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hT
dWJzY3JpcHRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmluZGV4IGM3Y2JiODRlZWExMy4u
MDMxNDgxZTg4MzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtMTE4LDcgKzExOCw3IEBAIEV4Y2VwdGlvbk9y
PFJlZjxOb3RpZmljYXRpb24+PiBOb3RpZmljYXRpb246OmNyZWF0ZUZvclNlcnZpY2VXb3JrZXIo
U2NyaXB0RXhlY3V0CiBSZWY8Tm90aWZpY2F0aW9uPiBOb3RpZmljYXRpb246OmNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBOb3RpZmljYXRpb25EYXRhJiYgZGF0YSkKIHsK
ICNpZiBFTkFCTEUoREVDTEFSQVRJVkVfV0VCX1BVU0gpCi0gICAgT3B0aW9ucyBvcHRpb25zIHsg
ZGF0YS5kaXJlY3Rpb24sIFdURk1vdmUoZGF0YS5sYW5ndWFnZSksIFdURk1vdmUoZGF0YS5ib2R5
KSwgV1RGTW92ZShkYXRhLnRhZyksIFdURk1vdmUoZGF0YS5pY29uVVJMKSwgSlNDOjpqc051bGwo
KSwgbnVsbHB0ciwgbnVsbHB0ciwgZGF0YS5zaWxlbnQsIGRhdGEubmF2aWdhdGVVUkwuc3RyaW5n
KCkgfTsKKyAgICBPcHRpb25zIG9wdGlvbnMgeyBkYXRhLmRpcmVjdGlvbiwgV1RGTW92ZShkYXRh
Lmxhbmd1YWdlKSwgV1RGTW92ZShkYXRhLmJvZHkpLCBXVEZNb3ZlKGRhdGEudGFnKSwgV1RGTW92
ZShkYXRhLmljb25VUkwpLCBKU0M6OmpzTnVsbCgpLCBudWxscHRyLCBudWxscHRyLCBkYXRhLnNp
bGVudCwgeyB9LCBXVEZNb3ZlKGRhdGEuZGVmYXVsdEFjdGlvblVSTCkgfTsKICNlbHNlCiAgICAg
T3B0aW9ucyBvcHRpb25zIHsgZGF0YS5kaXJlY3Rpb24sIFdURk1vdmUoZGF0YS5sYW5ndWFnZSks
IFdURk1vdmUoZGF0YS5ib2R5KSwgV1RGTW92ZShkYXRhLnRhZyksIFdURk1vdmUoZGF0YS5pY29u
VVJMKSwgSlNDOjpqc051bGwoKSwgbnVsbHB0ciwgbnVsbHB0ciwgZGF0YS5zaWxlbnQgfTsKICNl
bmRpZgpAQCAtMTM0LDggKzEzNCw4IEBAIFJlZjxOb3RpZmljYXRpb24+IE5vdGlmaWNhdGlvbjo6
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFVSCiAgICAgT3B0
aW9ucyBvcHRpb25zOwogICAgIGlmIChwYXlsb2FkLm9wdGlvbnMpIHsKICNpZiBFTkFCTEUoREVD
TEFSQVRJVkVfV0VCX1BVU0gpCi0gICAgICAgIG9wdGlvbnMgPSB7IHBheWxvYWQub3B0aW9ucy0+
ZGlyLCBwYXlsb2FkLm9wdGlvbnMtPmxhbmcsIHBheWxvYWQub3B0aW9ucy0+Ym9keSwgcGF5bG9h
ZC5vcHRpb25zLT50YWcsIHBheWxvYWQub3B0aW9ucy0+aWNvbiwgSlNDOjpqc051bGwoKSwgbnVs
bHB0ciwgbnVsbHB0ciwgcGF5bG9hZC5vcHRpb25zLT5zaWxlbnQsIHsgfSB9OwotICAgICAgICBv
cHRpb25zLm5hdmlnYXRlID0gcGF5bG9hZC5kZWZhdWx0QWN0aW9uVVJMLnN0cmluZygpOworICAg
ICAgICBvcHRpb25zID0geyBwYXlsb2FkLm9wdGlvbnMtPmRpciwgcGF5bG9hZC5vcHRpb25zLT5s
YW5nLCBwYXlsb2FkLm9wdGlvbnMtPmJvZHksIHBheWxvYWQub3B0aW9ucy0+dGFnLCBwYXlsb2Fk
Lm9wdGlvbnMtPmljb24sIEpTQzo6anNOdWxsKCksIG51bGxwdHIsIG51bGxwdHIsIHBheWxvYWQu
b3B0aW9ucy0+c2lsZW50LCB7IH0sIHsgfSB9OworICAgICAgICBvcHRpb25zLmRlZmF1bHRBY3Rp
b25VUkwgPSBwYXlsb2FkLmRlZmF1bHRBY3Rpb25VUkw7CiAjZWxzZQogICAgICAgICBvcHRpb25z
ID0geyBwYXlsb2FkLm9wdGlvbnMtPmRpciwgcGF5bG9hZC5vcHRpb25zLT5sYW5nLCBwYXlsb2Fk
Lm9wdGlvbnMtPmJvZHksIHBheWxvYWQub3B0aW9ucy0+dGFnLCBwYXlsb2FkLm9wdGlvbnMtPmlj
b24sIEpTQzo6anNOdWxsKCksIG51bGxwdHIsIG51bGxwdHIsIHBheWxvYWQub3B0aW9ucy0+c2ls
ZW50IH07CiAjZW5kaWYKQEAgLTE4MSwxMCArMTgxLDEyIEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZp
Y2F0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFdURjo6VVVJRCBpZGVudGlm
aWVyCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKICNpZiBFTkFCTEUo
REVDTEFSQVRJVkVfV0VCX1BVU0gpCi0gICAgaWYgKCFvcHRpb25zLm5hdmlnYXRlLmlzRW1wdHko
KSkgewotICAgICAgICBhdXRvIG5hdmlnYXRlID0gY29udGV4dC5jb21wbGV0ZVVSTChXVEZNb3Zl
KG9wdGlvbnMubmF2aWdhdGUpLmlzb2xhdGVkQ29weSgpKTsKLSAgICAgICAgaWYgKG5hdmlnYXRl
LmlzVmFsaWQoKSkKLSAgICAgICAgICAgIG1fbmF2aWdhdGUgPSBXVEZNb3ZlKG5hdmlnYXRlKTsK
KyAgICBpZiAob3B0aW9ucy5kZWZhdWx0QWN0aW9uVVJMLmlzVmFsaWQoKSkKKyAgICAgICAgbV9k
ZWZhdWx0QWN0aW9uVVJMID0gV1RGTW92ZShvcHRpb25zLmRlZmF1bHRBY3Rpb25VUkwpLmlzb2xh
dGVkQ29weSgpOworICAgIGVsc2UgaWYgKCFvcHRpb25zLmRlZmF1bHRBY3Rpb24uaXNFbXB0eSgp
KSB7CisgICAgICAgIGF1dG8gZGVmYXVsdEFjdGlvblVSTCA9IGNvbnRleHQuY29tcGxldGVVUkwo
V1RGTW92ZShvcHRpb25zLmRlZmF1bHRBY3Rpb24pLmlzb2xhdGVkQ29weSgpKTsKKyAgICAgICAg
aWYgKGRlZmF1bHRBY3Rpb25VUkwuaXNWYWxpZCgpKQorICAgICAgICAgICAgbV9kZWZhdWx0QWN0
aW9uVVJMID0gV1RGTW92ZShkZWZhdWx0QWN0aW9uVVJMKTsKICAgICB9CiAjZW5kaWYKIApAQCAt
NDQ3LDcgKzQ0OSw3IEBAIE5vdGlmaWNhdGlvbkRhdGEgTm90aWZpY2F0aW9uOjpkYXRhKCkgY29u
c3QKIAogICAgIHJldHVybiB7CiAjaWYgRU5BQkxFKERFQ0xBUkFUSVZFX1dFQl9QVVNIKQotICAg
ICAgICBtX25hdmlnYXRlLAorICAgICAgICBtX2RlZmF1bHRBY3Rpb25VUkwsCiAjZWxzZQogICAg
ICAgICB7IH0sCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCA2NTgwMTI0Y2RiOWQuLjM4ZWQyYTcyZTI4MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uaApAQCAtNzcsNyArNzcsOCBAQCBwdWJsaWM6CiAgICAgICAgIFJlZlB0cjxKU09OOjpW
YWx1ZT4ganNvbkRhdGE7CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gc2lsZW50OwogI2lm
IEVOQUJMRShERUNMQVJBVElWRV9XRUJfUFVTSCkKLSAgICAgICAgU3RyaW5nIG5hdmlnYXRlOwor
ICAgICAgICBTdHJpbmcgZGVmYXVsdEFjdGlvbjsKKyAgICAgICAgVVJMIGRlZmF1bHRBY3Rpb25V
Ukw7CiAjZW5kaWYKICAgICB9OwogICAgIC8vIEZvciBKUyBjb25zdHJ1Y3RvciBvbmx5LgpAQCAt
OTMsNyArOTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbG9zZSgpOwogCiAjaWYgRU5BQkxFKERF
Q0xBUkFUSVZFX1dFQl9QVVNIKQotICAgIGNvbnN0IFVSTCYgbmF2aWdhdGUoKSBjb25zdCB7IHJl
dHVybiBtX25hdmlnYXRlOyB9CisgICAgY29uc3QgVVJMJiBkZWZhdWx0QWN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9kZWZhdWx0QWN0aW9uVVJMOyB9CiAjZW5kaWYKICAgICBjb25zdCBTdHJpbmcm
IHRpdGxlKCkgY29uc3QgeyByZXR1cm4gbV90aXRsZTsgfQogICAgIERpcmVjdGlvbiBkaXIoKSBj
b25zdCB7IHJldHVybiBtX2RpcmVjdGlvbjsgfQpAQCAtMTUyLDcgKzE1Myw3IEBAIHByaXZhdGU6
CiAgICAgV1RGOjpVVUlEIG1faWRlbnRpZmllcjsKIAogI2lmIEVOQUJMRShERUNMQVJBVElWRV9X
RUJfUFVTSCkKLSAgICBVUkwgbV9uYXZpZ2F0ZTsKKyAgICBVUkwgbV9kZWZhdWx0QWN0aW9uVVJM
OwogI2VuZGlmCiAgICAgU3RyaW5nIG1fdGl0bGU7CiAgICAgRGlyZWN0aW9uIG1fZGlyZWN0aW9u
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmlkbAppbmRleCBhNDdiMTMyYTU3YjQuLjE0OTk1YmI4MjZmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwK
QEAgLTQ4LDcgKzQ4LDcgQEAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2xpY2s7CiAg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVycm9yOwogCi0gICAgW0NvbmRpdGlvbmFsPURF
Q0xBUkFUSVZFX1dFQl9QVVNILCBFbmFibGVkQnlTZXR0aW5nPURlY2xhcmF0aXZlV2ViUHVzaF0g
cmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBuYXZpZ2F0ZTsKKyAgICBbQ29uZGl0aW9uYWw9
REVDTEFSQVRJVkVfV0VCX1BVU0gsIEVuYWJsZWRCeVNldHRpbmc9RGVjbGFyYXRpdmVXZWJQdXNo
XSByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIGRlZmF1bHRBY3Rpb247CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyB0aXRsZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm90
aWZpY2F0aW9uRGlyZWN0aW9uIGRpcjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGxhbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uRGF0YS5jcHAKaW5kZXggOWViY2ZlZDdhZWNhLi5jMjAyMjczNzk1Mzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uRGF0YS5jcHAKQEAgLTMwLDEyICszMCwxMiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIE5vdGlmaWNhdGlvbkRhdGEgTm90aWZpY2F0aW9uRGF0YTo6aXNvbGF0ZWRDb3B5KCkg
Y29uc3QgJgogewotICAgIHJldHVybiB7IG5hdmlnYXRlVVJMLmlzb2xhdGVkQ29weSgpLCB0aXRs
ZS5pc29sYXRlZENvcHkoKSwgYm9keS5pc29sYXRlZENvcHkoKSwgaWNvblVSTC5pc29sYXRlZENv
cHkoKSwgdGFnLmlzb2xhdGVkQ29weSgpLCBsYW5ndWFnZS5pc29sYXRlZENvcHkoKSwgZGlyZWN0
aW9uLCBvcmlnaW5TdHJpbmcuaXNvbGF0ZWRDb3B5KCksIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25VUkwuaXNvbGF0ZWRDb3B5KCksIG5vdGlmaWNhdGlvbklELCBjb250ZXh0SWRlbnRpZmllciwg
c291cmNlU2Vzc2lvbiwgY3JlYXRpb25UaW1lLCBkYXRhLCBzaWxlbnQgfTsKKyAgICByZXR1cm4g
eyBkZWZhdWx0QWN0aW9uVVJMLmlzb2xhdGVkQ29weSgpLCB0aXRsZS5pc29sYXRlZENvcHkoKSwg
Ym9keS5pc29sYXRlZENvcHkoKSwgaWNvblVSTC5pc29sYXRlZENvcHkoKSwgdGFnLmlzb2xhdGVk
Q29weSgpLCBsYW5ndWFnZS5pc29sYXRlZENvcHkoKSwgZGlyZWN0aW9uLCBvcmlnaW5TdHJpbmcu
aXNvbGF0ZWRDb3B5KCksIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25VUkwuaXNvbGF0ZWRDb3B5
KCksIG5vdGlmaWNhdGlvbklELCBjb250ZXh0SWRlbnRpZmllciwgc291cmNlU2Vzc2lvbiwgY3Jl
YXRpb25UaW1lLCBkYXRhLCBzaWxlbnQgfTsKIH0KIAogTm90aWZpY2F0aW9uRGF0YSBOb3RpZmlj
YXRpb25EYXRhOjppc29sYXRlZENvcHkoKSAmJgogewotICAgIHJldHVybiB7IFdURk1vdmUobmF2
aWdhdGVVUkwpLmlzb2xhdGVkQ29weSgpLCBXVEZNb3ZlKHRpdGxlKS5pc29sYXRlZENvcHkoKSwg
V1RGTW92ZShib2R5KS5pc29sYXRlZENvcHkoKSwgV1RGTW92ZShpY29uVVJMKS5pc29sYXRlZENv
cHkoKSwgV1RGTW92ZSh0YWcpLmlzb2xhdGVkQ29weSgpLCBXVEZNb3ZlKGxhbmd1YWdlKS5pc29s
YXRlZENvcHkoKSwgZGlyZWN0aW9uLCBXVEZNb3ZlKG9yaWdpblN0cmluZykuaXNvbGF0ZWRDb3B5
KCksIFdURk1vdmUoc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblVSTCkuaXNvbGF0ZWRDb3B5KCks
IG5vdGlmaWNhdGlvbklELCBjb250ZXh0SWRlbnRpZmllciwgc291cmNlU2Vzc2lvbiwgY3JlYXRp
b25UaW1lLCBXVEZNb3ZlKGRhdGEpLCBzaWxlbnQgfTsKKyAgICByZXR1cm4geyBXVEZNb3ZlKGRl
ZmF1bHRBY3Rpb25VUkwpLmlzb2xhdGVkQ29weSgpLCBXVEZNb3ZlKHRpdGxlKS5pc29sYXRlZENv
cHkoKSwgV1RGTW92ZShib2R5KS5pc29sYXRlZENvcHkoKSwgV1RGTW92ZShpY29uVVJMKS5pc29s
YXRlZENvcHkoKSwgV1RGTW92ZSh0YWcpLmlzb2xhdGVkQ29weSgpLCBXVEZNb3ZlKGxhbmd1YWdl
KS5pc29sYXRlZENvcHkoKSwgZGlyZWN0aW9uLCBXVEZNb3ZlKG9yaWdpblN0cmluZykuaXNvbGF0
ZWRDb3B5KCksIFdURk1vdmUoc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblVSTCkuaXNvbGF0ZWRD
b3B5KCksIG5vdGlmaWNhdGlvbklELCBjb250ZXh0SWRlbnRpZmllciwgc291cmNlU2Vzc2lvbiwg
Y3JlYXRpb25UaW1lLCBXVEZNb3ZlKGRhdGEpLCBzaWxlbnQgfTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25EYXRhLmgKaW5kZXggYWNjMjQwNThmNTFmLi40YTQ1NzdlNWVhMTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkRhdGEuaApAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3QgTm90aWZpY2F0aW9uRGF0
YSB7CiAKICAgICBib29sIGlzUGVyc2lzdGVudCgpIGNvbnN0IHsgcmV0dXJuICFzZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uVVJMLmlzTnVsbCgpOyB9CiAKLSAgICBVUkwgbmF2aWdhdGVVUkw7Cisg
ICAgVVJMIGRlZmF1bHRBY3Rpb25VUkw7CiAgICAgU3RyaW5nIHRpdGxlOwogICAgIFN0cmluZyBi
b2R5OwogICAgIFN0cmluZyBpY29uVVJMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkRhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25EYXRhQ29jb2EubW0KaW5kZXgg
YzU3MjFlZjM0YzJhLi5kNjVhZmU2YTIyODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25EYXRhQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkRhdGFDb2NvYS5tbQpA
QCAtMTAxLDcgKzEwMSw3IEBAIHN0ZDo6b3B0aW9uYWw8Tm90aWZpY2F0aW9uRGF0YT4gTm90aWZp
Y2F0aW9uRGF0YTo6ZnJvbURpY3Rpb25hcnkoTlNEaWN0aW9uYXJ5ICpkCiBOU0RpY3Rpb25hcnkg
Kk5vdGlmaWNhdGlvbkRhdGE6OmRpY3Rpb25hcnlSZXByZXNlbnRhdGlvbigpIGNvbnN0CiB7CiAg
ICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqcmVzdWx0ID0gQHsKLSAgICAgICAgV2ViTm90aWZpY2F0
aW9uRGVmYXVsdEFjdGlvblVSTEtleSA6IChOU1N0cmluZyAqKW5hdmlnYXRlVVJMLnN0cmluZygp
LAorICAgICAgICBXZWJOb3RpZmljYXRpb25EZWZhdWx0QWN0aW9uVVJMS2V5IDogKE5TU3RyaW5n
ICopZGVmYXVsdEFjdGlvblVSTC5zdHJpbmcoKSwKICAgICAgICAgV2ViTm90aWZpY2F0aW9uVGl0
bGVLZXkgOiAoTlNTdHJpbmcgKil0aXRsZSwKICAgICAgICAgV2ViTm90aWZpY2F0aW9uQm9keUtl
eSA6IChOU1N0cmluZyAqKWJvZHksCiAgICAgICAgIFdlYk5vdGlmaWNhdGlvbkljb25VUkxLZXkg
OiAoTlNTdHJpbmcgKilpY29uVVJMLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk9wdGlvbnMuaWRsCmluZGV4IGQ4NDUy
YjdkNDlkZS4uNDg5NDVlMzkzZjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uT3B0aW9ucy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbk9wdGlvbnMuaWRsCkBAIC0yNiw3
ICsyNiw3IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OUwogXSBkaWN0aW9uYXJ5
IE5vdGlmaWNhdGlvbk9wdGlvbnMgewotICAgIFtDb25kaXRpb25hbD1ERUNMQVJBVElWRV9XRUJf
UFVTSCwgRW5hYmxlZEJ5U2V0dGluZz1EZWNsYXJhdGl2ZVdlYlB1c2hdIFVTVlN0cmluZyBuYXZp
Z2F0ZTsKKyAgICBbQ29uZGl0aW9uYWw9REVDTEFSQVRJVkVfV0VCX1BVU0gsIEVuYWJsZWRCeVNl
dHRpbmc9RGVjbGFyYXRpdmVXZWJQdXNoXSBVU1ZTdHJpbmcgZGVmYXVsdEFjdGlvbiA9ICIiOwog
ICAgIE5vdGlmaWNhdGlvbkRpcmVjdGlvbiBkaXIgPSAiYXV0byI7CiAgICAgRE9NU3RyaW5nIGxh
bmcgPSAiIjsKICAgICBET01TdHJpbmcgYm9keSA9ICIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBheWxvYWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBheWxvYWQuY3Bw
CmluZGV4IDU3ZGNmM2VlYzQ0YS4uYjdmZmJmZTI2N2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGF5bG9hZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBheWxvYWQu
Y3BwCkBAIC01NywxMyArNTcsMTMgQEAgTm90aWZpY2F0aW9uUGF5bG9hZCBOb3RpZmljYXRpb25Q
YXlsb2FkOjpmcm9tTm90aWZpY2F0aW9uRGF0YShjb25zdCBOb3RpZmljYXRpb24KIHsKICAgICBO
b3RpZmljYXRpb25PcHRpb25zUGF5bG9hZCBvcHRpb25zIHsgZGF0YS5kaXJlY3Rpb24sIGRhdGEu
bGFuZ3VhZ2UsIGRhdGEuYm9keSwgZGF0YS50YWcsIGRhdGEuaWNvblVSTCwgeyB9LCBkYXRhLnNp
bGVudCB9OwogCi0gICAgcmV0dXJuIHsgZGF0YS5uYXZpZ2F0ZVVSTCwgZGF0YS50aXRsZSwgc3Rk
OjpudWxsb3B0LCBXVEZNb3ZlKG9wdGlvbnMpLCBmYWxzZSB9OworICAgIHJldHVybiB7IGRhdGEu
ZGVmYXVsdEFjdGlvblVSTCwgZGF0YS50aXRsZSwgc3RkOjpudWxsb3B0LCBXVEZNb3ZlKG9wdGlv
bnMpLCBmYWxzZSB9OwogfQogCiBOb3RpZmljYXRpb25EYXRhIE5vdGlmaWNhdGlvblBheWxvYWQ6
OnRvTm90aWZpY2F0aW9uRGF0YSgpIGNvbnN0CiB7CiAgICAgTm90aWZpY2F0aW9uRGF0YSBkYXRh
OwotICAgIGRhdGEubmF2aWdhdGVVUkwgPSBkZWZhdWx0QWN0aW9uVVJMOworICAgIGRhdGEuZGVm
YXVsdEFjdGlvblVSTCA9IGRlZmF1bHRBY3Rpb25VUkw7CiAgICAgZGF0YS50aXRsZSA9IHRpdGxl
OwogCiAgICAgaWYgKG9wdGlvbnMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1h
cGkvUHVzaEV2ZW50LmNwcAppbmRleCA5OTg4ODM4ZTgyMmQuLmI5OTg2NTVkYTA4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmNwcApAQCAtNTYsMTcg
KzU2LDEyIEBAIFJlZjxQdXNoRXZlbnQ+IFB1c2hFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIFB1c2hFdmVudEluaXQmJiBpbml0aWFsCiAgICAgc3RkOjpvcHRpb25hbDxWZWN0
b3I8dWludDhfdD4+IGRhdGE7CiAgICAgaWYgKGluaXRpYWxpemVyLmRhdGEpCiAgICAgICAgIGRh
dGEgPSBkYXRhRnJvbVB1c2hNZXNzYWdlRGF0YUluaXQoKmluaXRpYWxpemVyLmRhdGEpOwotICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFB1c2hFdmVudCh0eXBlLCBXVEZNb3ZlKGluaXRpYWxpemVy
KSwgV1RGTW92ZShkYXRhKSwgbnVsbHB0ciwgc3RkOjpudWxsb3B0LCBpc1RydXN0ZWQpKTsKKyAg
ICByZXR1cm4gY3JlYXRlKHR5cGUsIFdURk1vdmUoaW5pdGlhbGl6ZXIpLCBXVEZNb3ZlKGRhdGEp
LCBpc1RydXN0ZWQpOwogfQogCiBSZWY8UHVzaEV2ZW50PiBQdXNoRXZlbnQ6OmNyZWF0ZShjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYgaW5pdGlhbGl6ZXIsIHN0
ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYmIGRhdGEsIElzVHJ1c3RlZCBpc1RydXN0ZWQp
CiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHVzaEV2ZW50KHR5cGUsIFdURk1vdmUoaW5p
dGlhbGl6ZXIpLCBXVEZNb3ZlKGRhdGEpLCBudWxscHRyLCBzdGQ6Om51bGxvcHQsIGlzVHJ1c3Rl
ZCkpOwotfQotCi1SZWY8UHVzaEV2ZW50PiBQdXNoRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3Ry
aW5nJiB0eXBlLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYgaW5pdGlhbGl6ZXIsIFJlZjxOb3RpZmlj
YXRpb24+IHByb3Bvc2VkTm90aWZpY2F0aW9uLCBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBwcm9w
b3NlZEFwcEJhZGdlLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQotewotICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFB1c2hFdmVudCh0eXBlLCBXVEZNb3ZlKGluaXRpYWxpemVyKSwgc3RkOjpudWxsb3B0
LCBXVEZNb3ZlKHByb3Bvc2VkTm90aWZpY2F0aW9uKSwgcHJvcG9zZWRBcHBCYWRnZSwgaXNUcnVz
dGVkKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHVzaEV2ZW50KHR5cGUsIFdURk1vdmUo
aW5pdGlhbGl6ZXIpLCBXVEZNb3ZlKGRhdGEpLCBpc1RydXN0ZWQpKTsKIH0KIAogc3RhdGljIGlu
bGluZSBSZWZQdHI8UHVzaE1lc3NhZ2VEYXRhPiBwdXNoTWVzc2FnZURhdGFGcm9tT3B0aW9uYWxW
ZWN0b3Ioc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYgZGF0YSkKQEAgLTc2LDM4ICs3
MSwxMiBAQCBzdGF0aWMgaW5saW5lIFJlZlB0cjxQdXNoTWVzc2FnZURhdGE+IHB1c2hNZXNzYWdl
RGF0YUZyb21PcHRpb25hbFZlY3RvcihzdGQ6Om9wdAogICAgIHJldHVybiBQdXNoTWVzc2FnZURh
dGE6OmNyZWF0ZShXVEZNb3ZlKCpkYXRhKSk7CiB9CiAKLVB1c2hFdmVudDo6UHVzaEV2ZW50KGNv
bnN0IEF0b21TdHJpbmcmIHR5cGUsIEV4dGVuZGFibGVFdmVudEluaXQmJiBldmVudEluaXQsIHN0
ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYmIGRhdGEsIFJlZlB0cjxOb3RpZmljYXRpb24+
IHByb3Bvc2VkTm90aWZpY2F0aW9uLCBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBwcm9wb3NlZEFw
cEJhZGdlLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorUHVzaEV2ZW50OjpQdXNoRXZlbnQoY29uc3Qg
QXRvbVN0cmluZyYgdHlwZSwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmIGV2ZW50SW5pdCwgc3RkOjpv
cHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYgZGF0YSwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKICAg
ICA6IEV4dGVuZGFibGVFdmVudChFdmVudEludGVyZmFjZVR5cGU6OlB1c2hFdmVudCwgdHlwZSwg
V1RGTW92ZShldmVudEluaXQpLCBpc1RydXN0ZWQpCiAgICAgLCBtX2RhdGEocHVzaE1lc3NhZ2VE
YXRhRnJvbU9wdGlvbmFsVmVjdG9yKFdURk1vdmUoZGF0YSkpKQotICAgICwgbV9wcm9wb3NlZE5v
dGlmaWNhdGlvbihwcm9wb3NlZE5vdGlmaWNhdGlvbikKLSAgICAsIG1fcHJvcG9zZWRBcHBCYWRn
ZShwcm9wb3NlZEFwcEJhZGdlKQogewogfQogCiBQdXNoRXZlbnQ6On5QdXNoRXZlbnQoKSA9IGRl
ZmF1bHQ7CiAKLU5vdGlmaWNhdGlvbiogUHVzaEV2ZW50Ojpub3RpZmljYXRpb24oKQotewotICAg
IGlmIChtX3VwZGF0ZWROb3RpZmljYXRpb24pCi0gICAgICAgIHJldHVybiBtX3VwZGF0ZWROb3Rp
ZmljYXRpb24uZ2V0KCk7Ci0KLSAgICByZXR1cm4gbV9wcm9wb3NlZE5vdGlmaWNhdGlvbi5nZXQo
KTsKLX0KLQotc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gUHVzaEV2ZW50OjphcHBCYWRnZSgpCi17
Ci0gICAgaWYgKG1fdXBkYXRlZEFwcEJhZGdlLmhhc192YWx1ZSgpKQotICAgICAgICByZXR1cm4g
bV91cGRhdGVkQXBwQmFkZ2UudmFsdWUoKTsKLQotICAgIHJldHVybiBtX3Byb3Bvc2VkQXBwQmFk
Z2U7Ci19Ci0KLXN0ZDo6b3B0aW9uYWw8Tm90aWZpY2F0aW9uRGF0YT4gUHVzaEV2ZW50Ojp1cGRh
dGVkTm90aWZpY2F0aW9uRGF0YSgpIGNvbnN0Ci17Ci0gICAgaWYgKFJlZlB0ciB1cGRhdGVkTm90
aWZpY2F0aW9uID0gbV91cGRhdGVkTm90aWZpY2F0aW9uKQotICAgICAgICByZXR1cm4gdXBkYXRl
ZE5vdGlmaWNhdGlvbi0+ZGF0YSgpOwotCi0gICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLX0KLQog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wdXNoLWFwaS9QdXNoRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkv
UHVzaEV2ZW50LmgKaW5kZXggMjk2NGQ0NTNhMDJhLi4zNDdlYjMwYjllNzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuaApAQCAtMjYsOCArMjYsNiBAQAog
I3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJFeHRlbmRhYmxlRXZlbnQuaCIKLSNpbmNsdWRlICJO
b3RpZmljYXRpb24uaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb25EYXRhLmgiCiAjaW5jbHVkZSAi
UHVzaEV2ZW50SW5pdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOSwzMiArMzcsMTQg
QEAgY2xhc3MgUHVzaEV2ZW50IGZpbmFsIDogcHVibGljIEV4dGVuZGFibGVFdmVudCB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxQdXNoRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiwg
UHVzaEV2ZW50SW5pdCYmLCBJc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Ok5vKTsKICAgICBzdGF0aWMg
UmVmPFB1c2hFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmLCBFeHRlbmRhYmxlRXZlbnRJ
bml0JiYsIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYmLCBJc1RydXN0ZWQpOwotICAg
IHN0YXRpYyBSZWY8UHVzaEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYsIEV4dGVuZGFi
bGVFdmVudEluaXQmJiwgUmVmPE5vdGlmaWNhdGlvbj4sIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+
IGFwcEJhZGdlLCBJc1RydXN0ZWQpOwogICAgIH5QdXNoRXZlbnQoKTsKIAogICAgIFB1c2hNZXNz
YWdlRGF0YSogZGF0YSgpIHsgcmV0dXJuIG1fZGF0YS5nZXQoKTsgfQotICAgIE5vdGlmaWNhdGlv
biogbm90aWZpY2F0aW9uKCk7Ci0gICAgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gYXBwQmFkZ2Uo
KTsKLQotICAgIE5vdGlmaWNhdGlvbiogcHJvcG9zZWROb3RpZmljYXRpb24oKSBjb25zdCB7IHJl
dHVybiBtX3Byb3Bvc2VkTm90aWZpY2F0aW9uLmdldCgpOyB9Ci0gICAgc3RkOjpvcHRpb25hbDx1
aW50NjRfdD4gcHJvcG9zZWRBcHBCYWRnZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcG9zZWRBcHBC
YWRnZTsgfQotCi0gICAgdm9pZCBzZXRVcGRhdGVkTm90aWZpY2F0aW9uKE5vdGlmaWNhdGlvbiog
bm90aWZpY2F0aW9uKSB7IG1fdXBkYXRlZE5vdGlmaWNhdGlvbiA9IG5vdGlmaWNhdGlvbjsgfQot
ICAgIHN0ZDo6b3B0aW9uYWw8Tm90aWZpY2F0aW9uRGF0YT4gdXBkYXRlZE5vdGlmaWNhdGlvbkRh
dGEoKSBjb25zdDsKLQotICAgIHZvaWQgc2V0VXBkYXRlZEFwcEJhZGdlKHN0ZDo6b3B0aW9uYWw8
dWludDY0X3Q+JiYgdXBkYXRlZEFwcEJhZGdlKSB7IG1fdXBkYXRlZEFwcEJhZGdlID0gV1RGTW92
ZSh1cGRhdGVkQXBwQmFkZ2UpOyB9Ci0gICAgY29uc3Qgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlv
bmFsPHVpbnQ2NF90Pj4mIHVwZGF0ZWRBcHBCYWRnZSgpIGNvbnN0IHsgcmV0dXJuIG1fdXBkYXRl
ZEFwcEJhZGdlOyB9CiAKIHByaXZhdGU6Ci0gICAgUHVzaEV2ZW50KGNvbnN0IEF0b21TdHJpbmcm
LCBFeHRlbmRhYmxlRXZlbnRJbml0JiYsIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYm
LCBSZWZQdHI8Tm90aWZpY2F0aW9uPiwgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gYXBwQmFkZ2Us
IElzVHJ1c3RlZCk7CisgICAgUHVzaEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmLCBFeHRlbmRhYmxl
RXZlbnRJbml0JiYsIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYmLCBJc1RydXN0ZWQp
OwogCiAgICAgUmVmUHRyPFB1c2hNZXNzYWdlRGF0YT4gbV9kYXRhOwotCi0gICAgUmVmUHRyPE5v
dGlmaWNhdGlvbj4gbV9wcm9wb3NlZE5vdGlmaWNhdGlvbjsKLSAgICBzdGQ6Om9wdGlvbmFsPHVp
bnQ2NF90PiBtX3Byb3Bvc2VkQXBwQmFkZ2U7Ci0KLSAgICBSZWZQdHI8Tm90aWZpY2F0aW9uPiBt
X3VwZGF0ZWROb3RpZmljYXRpb247Ci0gICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPHVp
bnQ2NF90Pj4gbV91cGRhdGVkQXBwQmFkZ2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5pZGwKaW5kZXgg
NjcyNTZkYWFmZWE3Li4xOTE5ZTRhY2RmZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3B1c2gtYXBpL1B1c2hFdmVudC5pZGwKQEAgLTMyLDYgKzMyLDQgQEAKIF0gaW50ZXJmYWNlIFB1
c2hFdmVudCA6IEV4dGVuZGFibGVFdmVudCB7CiAgICAgY29uc3RydWN0b3IoW0F0b21TdHJpbmdd
IERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBQdXNoRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQdXNoTWVzc2FnZURhdGE/IGRhdGE7Ci0gICAgW0NvbmRp
dGlvbmFsPURFQ0xBUkFUSVZFX1dFQl9QVVNILCBFbmFibGVkQnlTZXR0aW5nPURlY2xhcmF0aXZl
V2ViUHVzaF0gcmVhZG9ubHkgYXR0cmlidXRlIE5vdGlmaWNhdGlvbj8gbm90aWZpY2F0aW9uOwot
ICAgIFtDb25kaXRpb25hbD1ERUNMQVJBVElWRV9XRUJfUFVTSCwgRW5hYmxlZEJ5U2V0dGluZz1E
ZWNsYXJhdGl2ZVdlYlB1c2hdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmc/
IGFwcEJhZGdlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1h
cGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVz
aC1hcGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAuLmI2MDk5MDJmOTFmNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50LmNwcApAQCAtMCww
ICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIzIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlB1
c2hOb3RpZmljYXRpb25FdmVudC5oIgorCisjaWYgRU5BQkxFKERFQ0xBUkFUSVZFX1dFQl9QVVNI
KQorCisjaW5jbHVkZSA8d3RmL1Rab25lTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1dURl9NQUtFX1RaT05FX09SX0lTT19BTExPQ0FURURfSU1QTChQdXNoTm90aWZp
Y2F0aW9uRXZlbnQpOworCitQdXNoTm90aWZpY2F0aW9uRXZlbnQ6OlB1c2hOb3RpZmljYXRpb25F
dmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYgZXZlbnRJ
bml0LCBOb3RpZmljYXRpb24qIHByb3Bvc2VkTm90aWZpY2F0aW9uLCBzdGQ6Om9wdGlvbmFsPHVp
bnQ2NF90PiBwcm9wb3NlZEFwcEJhZGdlLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorICAgIDogRXh0
ZW5kYWJsZUV2ZW50KEV2ZW50SW50ZXJmYWNlVHlwZTo6UHVzaE5vdGlmaWNhdGlvbkV2ZW50LCB0
eXBlLCBXVEZNb3ZlKGV2ZW50SW5pdCksIGlzVHJ1c3RlZCkKKyAgICAsIG1fcHJvcG9zZWROb3Rp
ZmljYXRpb24ocHJvcG9zZWROb3RpZmljYXRpb24pCisgICAgLCBtX3Byb3Bvc2VkQXBwQmFkZ2Uo
cHJvcG9zZWRBcHBCYWRnZSkKK3sKK30KKworUmVmPFB1c2hOb3RpZmljYXRpb25FdmVudD4gUHVz
aE5vdGlmaWNhdGlvbkV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgUHVzaE5v
dGlmaWNhdGlvbkV2ZW50SW5pdCYmIGV2ZW50SW5pdCwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQdXNoTm90aWZpY2F0aW9uRXZlbnQodHlwZSwgV1RG
TW92ZShldmVudEluaXQpLCBudWxscHRyLCBzdGQ6Om51bGxvcHQsIGlzVHJ1c3RlZCkpOworfQor
CitSZWY8UHVzaE5vdGlmaWNhdGlvbkV2ZW50PiBQdXNoTm90aWZpY2F0aW9uRXZlbnQ6OmNyZWF0
ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYgZXZlbnRJbml0
LCBOb3RpZmljYXRpb24mIG5vdGlmaWNhdGlvbiwgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gcHJv
cG9zZWRBcHBCYWRnZSwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBQdXNoTm90aWZpY2F0aW9uRXZlbnQodHlwZSwgV1RGTW92ZShldmVudEluaXQpLCAm
bm90aWZpY2F0aW9uLCBwcm9wb3NlZEFwcEJhZGdlLCBpc1RydXN0ZWQpKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKERFQ0xBUkFUSVZFX1dFQl9QVVNI
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTm90aWZp
Y2F0aW9uRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlm
aWNhdGlvbkV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44
YWFkNWRkYzc0ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1
c2gtYXBpL1B1c2hOb3RpZmljYXRpb25FdmVudC5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShERUNMQVJBVElWRV9XRUJfUFVTSCkKKwor
I2luY2x1ZGUgIkV4dGVuZGFibGVFdmVudC5oIgorI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgor
I2luY2x1ZGUgIk5vdGlmaWNhdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJQdXNoTm90aWZpY2F0aW9u
RXZlbnRJbml0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUHVzaE5vdGlmaWNh
dGlvbkV2ZW50IGZpbmFsIDogcHVibGljIEV4dGVuZGFibGVFdmVudCB7CisgICAgV1RGX01BS0Vf
VFpPTkVfT1JfSVNPX0FMTE9DQVRFRChQdXNoTm90aWZpY2F0aW9uRXZlbnQpOworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8UHVzaE5vdGlmaWNhdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0
cmluZyYsIFB1c2hOb3RpZmljYXRpb25FdmVudEluaXQmJiwgSXNUcnVzdGVkID0gSXNUcnVzdGVk
OjpObyk7CisgICAgc3RhdGljIFJlZjxQdXNoTm90aWZpY2F0aW9uRXZlbnQ+IGNyZWF0ZShjb25z
dCBBdG9tU3RyaW5nJiwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmLCBOb3RpZmljYXRpb24mLCBzdGQ6
Om9wdGlvbmFsPHVpbnQ2NF90PiBwcm9wb3NlZEFwcEJhZGdlLCBJc1RydXN0ZWQpOworCisgICAg
flB1c2hOb3RpZmljYXRpb25FdmVudCgpID0gZGVmYXVsdDsKKworICAgIE5vdGlmaWNhdGlvbiog
cHJvcG9zZWROb3RpZmljYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Byb3Bvc2VkTm90aWZpY2F0
aW9uLmdldCgpOyB9CisgICAgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gcHJvcG9zZWRBcHBCYWRn
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcG9zZWRBcHBCYWRnZTsgfQorCisgICAgdm9pZCBzZXRV
cGRhdGVkTm90aWZpY2F0aW9uRGF0YShOb3RpZmljYXRpb25EYXRhJiYgdXBkYXRlZERhdGEpIHsg
bV91cGRhdGVkTm90aWZpY2F0aW9uRGF0YSA9IFdURk1vdmUodXBkYXRlZERhdGEpOyB9CisgICAg
Y29uc3Qgc3RkOjpvcHRpb25hbDxOb3RpZmljYXRpb25EYXRhPiYgdXBkYXRlZE5vdGlmaWNhdGlv
bkRhdGEoKSBjb25zdCB7IHJldHVybiBtX3VwZGF0ZWROb3RpZmljYXRpb25EYXRhOyB9CisKKyAg
ICB2b2lkIHNldFVwZGF0ZWRBcHBCYWRnZShzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiYmIHVwZGF0
ZWRBcHBCYWRnZSkgeyBtX3VwZGF0ZWRBcHBCYWRnZSA9IFdURk1vdmUodXBkYXRlZEFwcEJhZGdl
KTsgfQorICAgIGNvbnN0IHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDx1aW50NjRfdD4+JiB1
cGRhdGVkQXBwQmFkZ2UoKSBjb25zdCB7IHJldHVybiBtX3VwZGF0ZWRBcHBCYWRnZTsgfQorCitw
cml2YXRlOgorICAgIFB1c2hOb3RpZmljYXRpb25FdmVudChjb25zdCBBdG9tU3RyaW5nJiwgRXh0
ZW5kYWJsZUV2ZW50SW5pdCYmLCBOb3RpZmljYXRpb24qLCBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90
PiBwcm9wb3NlZEFwcEJhZGdlLCBJc1RydXN0ZWQpOworCisgICAgUmVmUHRyPE5vdGlmaWNhdGlv
bj4gbV9wcm9wb3NlZE5vdGlmaWNhdGlvbjsKKyAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBt
X3Byb3Bvc2VkQXBwQmFkZ2U7CisgICAgc3RkOjpvcHRpb25hbDxOb3RpZmljYXRpb25EYXRhPiBt
X3VwZGF0ZWROb3RpZmljYXRpb25EYXRhOworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25h
bDx1aW50NjRfdD4+IG1fdXBkYXRlZEFwcEJhZGdlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKERFQ0xBUkFUSVZFX1dFQl9QVVNIKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTm90aWZpY2F0aW9uRXZlbnQu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTm90aWZpY2F0aW9uRXZl
bnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMDgxOWUxZDRm
YzkzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoTm90aWZpY2F0aW9uRXZlbnQuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisv
LyBFeHBlcmltZW50YWwgYnV0IHN0YW5kYXJkcyB0cmFja2VkCitbCisgICAgQ29uZGl0aW9uYWw9
REVDTEFSQVRJVkVfV0VCX1BVU0gsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1EZWNsYXJhdGl2ZVdl
YlB1c2gsCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgRXhwb3NlZD1TZXJ2
aWNlV29ya2VyLAorICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBTZWN1cmVDb250
ZXh0CitdIGludGVyZmFjZSBQdXNoTm90aWZpY2F0aW9uRXZlbnQgeworICAgIGNvbnN0cnVjdG9y
KFtBdG9tU3RyaW5nXSBET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgUHVzaE5vdGlmaWNhdGlvbkV2
ZW50SW5pdCBldmVudEluaXREaWN0KTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgTm90aWZpY2F0
aW9uIHByb3Bvc2VkTm90aWZpY2F0aW9uOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGxvbmc/IHByb3Bvc2VkQXBwQmFkZ2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTm90aWZpY2F0aW9uRXZlbnRJbml0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hOb3RpZmljYXRpb25FdmVudEluaXQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjk4OTkzYjUwODA5ZgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlm
aWNhdGlvbkV2ZW50SW5pdC5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShERUNMQVJBVElWRV9XRUJfUFVTSCkKKworI2luY2x1ZGUgIkV4
dGVuZGFibGVFdmVudEluaXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUHVz
aE5vdGlmaWNhdGlvbkV2ZW50SW5pdCA6IEV4dGVuZGFibGVFdmVudEluaXQgeworICAgIFJlZlB0
cjxOb3RpZmljYXRpb24+IHByb3Bvc2VkTm90aWZpY2F0aW9uOworICAgIHN0ZDo6b3B0aW9uYWw8
dW5zaWduZWQgbG9uZyBsb25nPiBwcm9wb3NlZEFwcEJhZGdlOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKERFQ0xBUkFUSVZFX1dFQl9QVVNIKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTm90aWZpY2F0aW9u
RXZlbnRJbml0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlm
aWNhdGlvbkV2ZW50SW5pdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi41MmExNjYwMzk0NzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3B1c2gtYXBpL1B1c2hOb3RpZmljYXRpb25FdmVudEluaXQuaWRsCkBAIC0wLDAgKzEsMzIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9REVDTEFSQVRJVkVfV0VCX1BVU0gs
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1EZWNsYXJhdGl2ZVdlYlB1c2gKK10gZGljdGlvbmFyeSBQ
dXNoTm90aWZpY2F0aW9uRXZlbnRJbml0IDogRXh0ZW5kYWJsZUV2ZW50SW5pdCB7CisgICAgTm90
aWZpY2F0aW9uIHByb3Bvc2VkTm90aWZpY2F0aW9uOworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBw
cm9wb3NlZEFwcEJhZGdlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNjA4NDRjOWYxNjJkLi40ZDEx
MDc5YjU0OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zMjgsNiArMzI4LDcgQEAgTW9kdWxlcy9wdXNo
LWFwaS9QdXNoRGF0YWJhc2UuY3BwCiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5jcHAKIE1v
ZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VDcnlwdG8uY3BwCiBNb2R1bGVzL3B1c2gtYXBpL1B1
c2hNZXNzYWdlRGF0YS5jcHAKK01vZHVsZXMvcHVzaC1hcGkvUHVzaE5vdGlmaWNhdGlvbkV2ZW50
LmNwcAogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcAogTW9kdWxlcy9wdXNo
LWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuY3BwCiBNb2R1bGVzL3B1c2gtYXBpL1B1
c2hTdWJzY3JpcHRpb25EYXRhLmNwcApAQCAtNDM0Myw2ICs0MzQ0LDggQEAgSlNQdXNoRXZlbnQu
Y3BwCiBKU1B1c2hFdmVudEluaXQuY3BwCiBKU1B1c2hNYW5hZ2VyLmNwcAogSlNQdXNoTWVzc2Fn
ZURhdGEuY3BwCitKU1B1c2hOb3RpZmljYXRpb25FdmVudC5jcHAKK0pTUHVzaE5vdGlmaWNhdGlv
bkV2ZW50SW5pdC5jcHAKIEpTUHVzaFBlcm1pc3Npb25TdGF0ZS5jcHAKIEpTUHVzaFN1YnNjcmlw
dGlvbi5jcHAKIEpTUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFkZGQ3NTJl
NDJhMS4uYTMwYTc5MmJiMzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xOTg4LDYgKzE5ODgsOCBAQAogCQk1MTU0N0ZFNTJD
OTI5NkJEMDBDRDQwMkQgLyogTWVkaWFTb3VyY2VJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTU0N0ZFMDJDOTI5NkJEMDBDRDQwMkQgLyogTWVk
aWFTb3VyY2VJbml0LmggKi87IH07CiAJCTUxNTRGNkVDMkIwMUZDNzAwMEI4NTdEOSAvKiBQbGF0
Zm9ybU1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxNTRGNkVCMkIwMUZDNzAwMEI4NTdEOSAvKiBQbGF0Zm9ybU1lZGlhRXJyb3IuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTU0RjZF
RjJCMDIzNDA5MDBCODU3RDkgLyogTWVkaWFQcm9taXNlVHlwZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNTRGNkVFMkIwMjM0MDkwMEI4NTdEOSAv
KiBNZWRpYVByb21pc2VUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTUxNUI5RDNFMkFCQTQxRjQwMEZCMjA4MSAvKiBQdXNoTm90aWZpY2F0
aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxNUI5RDNCMkFCQTQwRUMwMEZCMjA4MSAvKiBQdXNoTm90aWZpY2F0aW9uRXZlbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTVCOUQzRjJB
QkE0MUY4MDBGQjIwODEgLyogUHVzaE5vdGlmaWNhdGlvbkV2ZW50SW5pdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1QjlEM0MyQUJBNDFFQTAwRkIy
MDgxIC8qIFB1c2hOb3RpZmljYXRpb25FdmVudEluaXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTVCRTE5MDFENTRGNUZCMDBERDdDNjggLyog
RW1wdHlHYW1lcGFkUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxNUJFMTg5MUQ1NEY1RjYwMEREN0M2OCAvKiBFbXB0eUdhbWVwYWRQcm92
aWRlci5oICovOyB9OwogCQk1MTVCRTE5MjFENTRGNUZCMDBERDdDNjggLyogR2FtZXBhZFByb3Zp
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVC
RTE4QjFENTRGNUY2MDBERDdDNjggLyogR2FtZXBhZFByb3ZpZGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE1QkUxOTMxRDU0RjVGQjAwREQ3
QzY4IC8qIEdhbWVwYWRQcm92aWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1QkUxOEMxRDU0RjVGNjAwREQ3QzY4IC8qIEdhbWVwYWRQ
cm92aWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0xMTUxMCw2ICsxMTUxMiwxMSBAQAogCQk1MTU0N0ZFNzJDOTI5RkYxMDBDRDQw
MkQgLyogSlNNZWRpYVNvdXJjZUluaXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYVNv
dXJjZUluaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTU0RjZFQjJCMDFG
QzcwMDBCODU3RDkgLyogUGxhdGZvcm1NZWRpYUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBsYXRmb3JtTWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MTU0RjZFRTJCMDIzNDA5MDBCODU3RDkgLyogTWVkaWFQcm9taXNlVHlwZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWVkaWFQcm9taXNlVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNTE1QjlEMzkyQUJBNDBFQzAwRkIyMDgxIC8qIFB1c2hOb3RpZmljYXRpb25FdmVu
dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUHVzaE5vdGlmaWNhdGlvbkV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTE1QjlEM0EyQUJBNDBFQzAwRkIyMDgxIC8qIFB1c2hOb3RpZmljYXRpb25F
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQdXNoTm90aWZpY2F0aW9uRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTVCOUQzQjJBQkE0MEVDMDBGQjIwODEgLyog
UHVzaE5vdGlmaWNhdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1c2hOb3RpZmljYXRpb25F
dmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTVCOUQzQzJBQkE0MUVBMDBG
QjIwODEgLyogUHVzaE5vdGlmaWNhdGlvbkV2ZW50SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQdXNo
Tm90aWZpY2F0aW9uRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUx
NUI5RDNEMkFCQTQxRUEwMEZCMjA4MSAvKiBQdXNoTm90aWZpY2F0aW9uRXZlbnRJbml0LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBQdXNoTm90aWZpY2F0aW9uRXZlbnRJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTE1QkUxODgxRDU0RjVGNjAwREQ3QzY4IC8qIEVtcHR5R2FtZXBhZFByb3ZpZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVtcHR5R2FtZXBhZFBy
b3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE1QkUxODkxRDU0RjVG
NjAwREQ3QzY4IC8qIEVtcHR5R2FtZXBhZFByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEVtcHR5R2FtZXBhZFByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxNUJFMThBMUQ1NEY1RjYwMEREN0M2OCAvKiBHYW1lcGFkUHJvdmlkZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2FtZXBhZFByb3ZpZGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI0OTk4LDYgKzI1MDA1LDExIEBACiAJ
CQkJNDE4RkNCQkUyNzA2RTRGNzAwRjk2RUNBIC8qIFB1c2hNZXNzYWdlRGF0YS5jcHAgKi8sCiAJ
CQkJNDE4RkNCQkMyNzA2RTRGNjAwRjk2RUNBIC8qIFB1c2hNZXNzYWdlRGF0YS5oICovLAogCQkJ
CTQxOEZDQkJBMjcwNkU0RjUwMEY5NkVDQSAvKiBQdXNoTWVzc2FnZURhdGEuaWRsICovLAorCQkJ
CTUxNUI5RDNBMkFCQTQwRUMwMEZCMjA4MSAvKiBQdXNoTm90aWZpY2F0aW9uRXZlbnQuY3BwICov
LAorCQkJCTUxNUI5RDNCMkFCQTQwRUMwMEZCMjA4MSAvKiBQdXNoTm90aWZpY2F0aW9uRXZlbnQu
aCAqLywKKwkJCQk1MTVCOUQzOTJBQkE0MEVDMDBGQjIwODEgLyogUHVzaE5vdGlmaWNhdGlvbkV2
ZW50LmlkbCAqLywKKwkJCQk1MTVCOUQzQzJBQkE0MUVBMDBGQjIwODEgLyogUHVzaE5vdGlmaWNh
dGlvbkV2ZW50SW5pdC5oICovLAorCQkJCTUxNUI5RDNEMkFCQTQxRUEwMEZCMjA4MSAvKiBQdXNo
Tm90aWZpY2F0aW9uRXZlbnRJbml0LmlkbCAqLywKIAkJCQlFQkI5NzM3ODI3MTAwNjUxMDA3NzMy
RUYgLyogUHVzaFBlcm1pc3Npb25TdGF0ZS5oICovLAogCQkJCUVCQjk3MzdGMjcxMDA2NTMwMDc3
MzJFRiAvKiBQdXNoUGVybWlzc2lvblN0YXRlLmlkbCAqLywKIAkJCQk1MUY4RkE0NjJBQjkwNkJD
MDBDODQxM0IgLyogUHVzaFN0cmF0ZWd5LmggKi8sCkBAIC00MzEwNyw2ICs0MzExOSw4IEBACiAJ
CQkJNDE4RkNCQzIyNzA2RTUwMTAwRjk2RUNBIC8qIFB1c2hFdmVudEluaXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUVCQjk3MzgxMjcxMDA2NzEwMDc3MzJFRiAvKiBQdXNoTWFuYWdlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRUJBNzVDNDcyNzVFQzYyMTAwRDZEMzFDIC8qIFB1c2hNZXNzYWdlQ3J5
cHRvLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTVCOUQzRTJBQkE0MUY0MDBGQjIwODEgLyogUHVz
aE5vdGlmaWNhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTVCOUQzRjJBQkE0MUY4
MDBGQjIwODEgLyogUHVzaE5vdGlmaWNhdGlvbkV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRUJCOTczODIyNzEwMDY3NjAwNzczMkVGIC8qIFB1c2hQZXJtaXNzaW9uU3RhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTgzRDUxMUY2MjUwQzFDQkYwMDJFREM1MSAvKiBQdXNoUHVsbEZJRk8u
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjhGQTQ3MkFCOTA2QkMwMEM4NDEzQiAvKiBQdXNoU3Ry
YXRlZ3kuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDM0YWU2ZDQ5YWRiNi4uNzM5NDZjOTBjMDViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5o
CkBAIC0zNjcsNiArMzY3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFB1c2hF
dmVudCkgXAogICAgIG1hY3JvKFB1c2hNYW5hZ2VyKSBcCiAgICAgbWFjcm8oUHVzaE1lc3NhZ2VE
YXRhKSBcCisgICAgbWFjcm8oUHVzaE5vdGlmaWNhdGlvbkV2ZW50KSBcCiAgICAgbWFjcm8oUHVz
aFN1YnNjcmlwdGlvbikgXAogICAgIG1hY3JvKFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCkg
XAogICAgIG1hY3JvKFB1c2hTdWJzY3JpcHRpb25PcHRpb25zKSBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRJbnRlcmZhY2VzLmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50SW50ZXJmYWNlcy5pbgppbmRleCAwYzAwODdhNTg4MTUuLmEyYTZhYWQ4YmE0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50SW50ZXJmYWNlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRJbnRlcmZhY2VzLmluCkBAIC00Nyw2ICs0Nyw3IEBAIFBvcFN0YXRl
RXZlbnQKIFByb2dyZXNzRXZlbnQKIFByb21pc2VSZWplY3Rpb25FdmVudAogUHVzaEV2ZW50CitQ
dXNoTm90aWZpY2F0aW9uRXZlbnQgY29uZGl0aW9uYWw9REVDTEFSQVRJVkVfV0VCX1BVU0gKIFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudAogU3VibWl0RXZlbnQKIFRvZ2dsZUV2ZW50CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5jcHAKaW5kZXggNjJmZjBjNzUxNGRiLi5hOGZh
MDMwMDA5M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5jcHAKQEAgLTMx
LDcgKzMxLDcgQEAKICNpbmNsdWRlICJHUFUuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJQdXNoRXZlbnQuaCIKKyNpbmNs
dWRlICJQdXNoTm90aWZpY2F0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJCYWRnZVByb3h5LmgiCiAjaW5jbHVkZSAiV29y
a2VyR2xvYmFsU2NvcGUuaCIKQEAgLTk5LDggKzk5LDggQEAgdm9pZCBXb3JrZXJOYXZpZ2F0b3I6
OnNldEFwcEJhZGdlKHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQgbG9uZyBsb25nPiBiYWRnZSwgUmVm
PEQKIHsKICNpZiBFTkFCTEUoREVDTEFSQVRJVkVfV0VCX1BVU0gpCiAgICAgaWYgKGlzPFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZT4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkgewotICAgICAg
ICBpZiAoUmVmUHRyIGRlY2xhcmF0aXZlUHVzaEV2ZW50ID0gZG93bmNhc3Q8U2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpLT5kZWNsYXJhdGl2ZVB1c2hF
dmVudCgpKSB7Ci0gICAgICAgICAgICBkZWNsYXJhdGl2ZVB1c2hFdmVudC0+c2V0VXBkYXRlZEFw
cEJhZGdlKFdURk1vdmUoYmFkZ2UpKTsKKyAgICAgICAgaWYgKFJlZlB0ciBwdXNoTm90aWZpY2F0
aW9uRXZlbnQgPSBkb3duY2FzdDxTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU+KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSktPnB1c2hOb3RpZmljYXRpb25FdmVudCgpKSB7CisgICAgICAgICAgICBw
dXNoTm90aWZpY2F0aW9uRXZlbnQtPnNldFVwZGF0ZWRBcHBCYWRnZShXVEZNb3ZlKGJhZGdlKSk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCmluZGV4IDZkOTEyYTQwMmFjMi4uMTE2YzU4NTcwZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJO
b3RpZmljYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlB1c2hFdmVudC5oIgorI2luY2x1ZGUgIlB1
c2hOb3RpZmljYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlNXQ29udGV4dE1hbmFnZXIuaCIKICNp
bmNsdWRlICJTV1NlcnZlci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXIuaCIKQEAgLTg3LDcg
Kzg4LDcgQEAgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjp+U2VydmljZVdvcmtlckdsb2JhbFNj
b3BlKCkKIHZvaWQgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpkaXNwYXRjaFB1c2hFdmVudChQ
dXNoRXZlbnQmIHB1c2hFdmVudCkKIHsKICNpZiBFTkFCTEUoREVDTEFSQVRJVkVfV0VCX1BVU0gp
Ci0gICAgQVNTRVJUKCFtX2RlY2xhcmF0aXZlUHVzaEV2ZW50ICYmICFtX3B1c2hFdmVudCk7Cisg
ICAgQVNTRVJUKCFtX3B1c2hOb3RpZmljYXRpb25FdmVudCAmJiAhbV9wdXNoRXZlbnQpOwogI2Vs
c2UKICAgICBBU1NFUlQoIW1fcHVzaEV2ZW50KTsKICNlbmRpZgpAQCAtOTksMTggKzEwMCwxOCBA
QCB2b2lkIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6ZGlzcGF0Y2hQdXNoRXZlbnQoUHVzaEV2
ZW50JiBwdXNoRXZlbnQpCiB9CiAKICNpZiBFTkFCTEUoREVDTEFSQVRJVkVfV0VCX1BVU0gpCi12
b2lkIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6ZGlzcGF0Y2hEZWNsYXJhdGl2ZVB1c2hFdmVu
dChQdXNoRXZlbnQmIGV2ZW50KQordm9pZCBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmRpc3Bh
dGNoUHVzaE5vdGlmaWNhdGlvbkV2ZW50KFB1c2hOb3RpZmljYXRpb25FdmVudCYgZXZlbnQpCiB7
Ci0gICAgQVNTRVJUKCFtX2RlY2xhcmF0aXZlUHVzaEV2ZW50ICYmICFtX3B1c2hFdmVudCk7Ci0g
ICAgbV9kZWNsYXJhdGl2ZVB1c2hFdmVudCA9ICZldmVudDsKKyAgICBBU1NFUlQoIW1fcHVzaE5v
dGlmaWNhdGlvbkV2ZW50ICYmICFtX3B1c2hFdmVudCk7CisgICAgbV9wdXNoTm90aWZpY2F0aW9u
RXZlbnQgPSAmZXZlbnQ7CiAgICAgbV9sYXN0UHVzaEV2ZW50VGltZSA9IE1vbm90b25pY1RpbWU6
Om5vdygpOwogICAgIGRpc3BhdGNoRXZlbnQoZXZlbnQpOwogfQogCi12b2lkIFNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZTo6Y2xlYXJEZWNsYXJhdGl2ZVB1c2hFdmVudCgpCit2b2lkIFNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZTo6Y2xlYXJQdXNoTm90aWZpY2F0aW9uRXZlbnQoKQogewotICAgIEFT
U0VSVChtX2RlY2xhcmF0aXZlUHVzaEV2ZW50KTsKLSAgICBtX2RlY2xhcmF0aXZlUHVzaEV2ZW50
ID0gbnVsbHB0cjsKKyAgICBBU1NFUlQobV9wdXNoTm90aWZpY2F0aW9uRXZlbnQpOworICAgIG1f
cHVzaE5vdGlmaWNhdGlvbkV2ZW50ID0gbnVsbHB0cjsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlLmgKaW5kZXggN2ZhM2RkMjkwM2IxLi5kODhjZGM5OTI4Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmgKQEAgLTQ5LDcgKzQ5LDcgQEAgY2xhc3MgU2VydmljZVdvcmtlclRocmVhZDsKIGNsYXNzIFdv
cmtlckNsaWVudDsKIAogI2lmIEVOQUJMRShERUNMQVJBVElWRV9XRUJfUFVTSCkKLWNsYXNzIERl
Y2xhcmF0aXZlUHVzaEV2ZW50OworY2xhc3MgUHVzaE5vdGlmaWNhdGlvbkV2ZW50OwogI2VuZGlm
CiAKIGVudW0gY2xhc3MgTm90aWZpY2F0aW9uRXZlbnRUeXBlIDogYm9vbDsKQEAgLTkzLDkgKzkz
LDkgQEAgcHVibGljOgogICAgIFB1c2hFdmVudCogcHVzaEV2ZW50KCkgeyByZXR1cm4gbV9wdXNo
RXZlbnQuZ2V0KCk7IH0KIAogI2lmIEVOQUJMRShERUNMQVJBVElWRV9XRUJfUFVTSCkKLSAgICB2
b2lkIGRpc3BhdGNoRGVjbGFyYXRpdmVQdXNoRXZlbnQoUHVzaEV2ZW50Jik7Ci0gICAgUHVzaEV2
ZW50KiBkZWNsYXJhdGl2ZVB1c2hFdmVudCgpIHsgcmV0dXJuIG1fZGVjbGFyYXRpdmVQdXNoRXZl
bnQuZ2V0KCk7IH0KLSAgICB2b2lkIGNsZWFyRGVjbGFyYXRpdmVQdXNoRXZlbnQoKTsKKyAgICB2
b2lkIGRpc3BhdGNoUHVzaE5vdGlmaWNhdGlvbkV2ZW50KFB1c2hOb3RpZmljYXRpb25FdmVudCYp
OworICAgIFB1c2hOb3RpZmljYXRpb25FdmVudCogcHVzaE5vdGlmaWNhdGlvbkV2ZW50KCkgeyBy
ZXR1cm4gbV9wdXNoTm90aWZpY2F0aW9uRXZlbnQuZ2V0KCk7IH0KKyAgICB2b2lkIGNsZWFyUHVz
aE5vdGlmaWNhdGlvbkV2ZW50KCk7CiAjZW5kaWYKIAogICAgIGJvb2wgaGFzUGVuZGluZ1NpbGVu
dFB1c2hFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzUGVuZGluZ1NpbGVudFB1c2hFdmVudDsg
fQpAQCAtMTUwLDcgKzE1MCw3IEBAIHByaXZhdGU6CiAgICAgVGltZXIgbV91c2VyR2VzdHVyZVRp
bWVyOwogICAgIFJlZlB0cjxQdXNoRXZlbnQ+IG1fcHVzaEV2ZW50OwogI2lmIEVOQUJMRShERUNM
QVJBVElWRV9XRUJfUFVTSCkKLSAgICBSZWZQdHI8UHVzaEV2ZW50PiBtX2RlY2xhcmF0aXZlUHVz
aEV2ZW50OworICAgIFJlZlB0cjxQdXNoTm90aWZpY2F0aW9uRXZlbnQ+IG1fcHVzaE5vdGlmaWNh
dGlvbkV2ZW50OwogI2VuZGlmCiAgICAgTW9ub3RvbmljVGltZSBtX2xhc3RQdXNoRXZlbnRUaW1l
OwogICAgIGJvb2wgbV9jb25zb2xlTWVzc2FnZVJlcG9ydGluZ0VuYWJsZWQgeyBmYWxzZSB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IGZjNTljYzIxZWU3ZC4uNTFmMTc5NmNkMGNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiTm90
aWZpY2F0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvbi5oIgog
I2luY2x1ZGUgIlB1c2hFdmVudC5oIgorI2luY2x1ZGUgIlB1c2hOb3RpZmljYXRpb25FdmVudC5o
IgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC0zMTAs
MTggKzMxMSwxOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNob3dOb3RpZmlj
YXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dAogCiAgICAgUmVmUHRyIHNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZSA9IGR5bmFtaWNEb3duY2FzdDxTZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGU+KGNvbnRleHQpOwogCi0gICAgLy8gSWYgd2UncmUgaGFuZGxpbmcgYSBEZWNsYXJhdGl2
ZVB1c2hFdmVudCwgdGhpcyBOb3RpZmljYXRpb24gd2lsbCBvdmVycmlkZSB0aGUgcHJvcG9zZWQg
bm90aWZpY2F0aW9uCisgICAgLy8gSWYgd2UncmUgaGFuZGxpbmcgYSBQdXNoTm90aWZpY2F0aW9u
RXZlbnQsIHRoaXMgTm90aWZpY2F0aW9uIHdpbGwgb3ZlcnJpZGUgdGhlIHByb3Bvc2VkIG5vdGlm
aWNhdGlvbgogICAgIC8vIGluc3RlYWQgb2YgYmVpbmcgc2hvd24gZGlyZWN0bHkuCiAgICAgaWYg
KHNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSkgewogI2lmIEVOQUJMRShERUNMQVJBVElWRV9XRUJf
UFVTSCkKLSAgICAgICAgaWYgKFJlZlB0ciBkZWNsYXJhdGl2ZVB1c2hFdmVudCA9IHNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS0+ZGVjbGFyYXRpdmVQdXNoRXZlbnQoKSkgeworICAgICAgICBpZiAo
UmVmUHRyIHB1c2hOb3RpZmljYXRpb25FdmVudCA9IHNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS0+
cHVzaE5vdGlmaWNhdGlvbkV2ZW50KCkpIHsKICAgICAgICAgICAgIGF1dG8gbm90aWZpY2F0aW9u
ID0gbm90aWZpY2F0aW9uUmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpOwotICAgICAgICAgICAg
aWYgKCFub3RpZmljYXRpb24tPm5hdmlnYXRlKCkuaXNWYWxpZCgpKSB7CisgICAgICAgICAgICBp
ZiAoIW5vdGlmaWNhdGlvbi0+ZGVmYXVsdEFjdGlvbigpLmlzVmFsaWQoKSkgewogICAgICAgICAg
ICAgICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBFeGNlcHRpb25Db2RlOjpUeXBlRXJy
b3IsICJDYWxsIHRvIHNob3dOb3RpZmljYXRpb24oKSB3aGlsZSBoYW5kbGluZyBhIGBwdXNobm90
aWZpY2F0aW9uYCBldmVudCBkaWQgbm90IGluY2x1ZGUgTm90aWZpY2F0aW9uT3B0aW9ucyB0aGF0
IHNwZWNpZnkgYSB2YWxpZCBkZWZhdWx0QWN0aW9uIHVybCJfcyB9KTsKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGRlY2xhcmF0aXZlUHVzaEV2
ZW50LT5zZXRVcGRhdGVkTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi5wdHIoKSk7CisgICAgICAg
ICAgICBwdXNoTm90aWZpY2F0aW9uRXZlbnQtPnNldFVwZGF0ZWROb3RpZmljYXRpb25EYXRhKG5v
dGlmaWNhdGlvbi0+ZGF0YSgpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9T
ZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9j
b250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IGQ2YzFmM2Y4ZjU2Ni4uNTdlN2I5
MGZkZThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNDMsNiArNDMsNyBAQAog
I2luY2x1ZGUgIk5vdGlmaWNhdGlvblBheWxvYWQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaCIKICNpbmNsdWRlICJQdXNoRXZlbnQuaCIKKyNpbmNsdWRlICJQdXNoTm90aWZpY2F0
aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQdXNoU3Vic2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiUHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmgiCiAjaW5jbHVkZSAiU1dDb250ZXh0TWFuYWdlci5o
IgpAQCAtMjUxLDcgKzI1Miw3IEBAIHZvaWQgU2VydmljZVdvcmtlclRocmVhZDo6cXVldWVUYXNr
VG9GaXJlUHVzaEV2ZW50KHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+CiAjaWYgRU5BQkxF
KERFQ0xBUkFUSVZFX1dFQl9QVVNIKQogICAgIC8vIExvZ2ljIGZvciBwdXNobm90aWZpY2F0aW9u
IGV2ZW50cyBpcyBkaWZmZXJlbnQgZW5vdWdoIHRvIG5vdCBzaGFyZSB0aGlzIHNhbWUgaW1wbGVt
ZW50YXRpb24gYm9keS4KICAgICBpZiAocGF5bG9hZCkgewotICAgICAgICBxdWV1ZVRhc2tUb0Zp
cmVEZWNsYXJhdGl2ZVB1c2hFdmVudChXVEZNb3ZlKCpwYXlsb2FkKSwgV1RGTW92ZShjYWxsYmFj
aykpOworICAgICAgICBxdWV1ZVRhc2tUb0ZpcmVQdXNoTm90aWZpY2F0aW9uRXZlbnQoV1RGTW92
ZSgqcGF5bG9hZCksIFdURk1vdmUoY2FsbGJhY2spKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICNlbHNlCkBAIC0yOTAsMTkgKzI5MSwxOSBAQCB2b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnF1
ZXVlVGFza1RvRmlyZVB1c2hFdmVudChzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90PgogfQog
CiAjaWYgRU5BQkxFKERFQ0xBUkFUSVZFX1dFQl9QVVNIKQotdm9pZCBTZXJ2aWNlV29ya2VyVGhy
ZWFkOjpxdWV1ZVRhc2tUb0ZpcmVEZWNsYXJhdGl2ZVB1c2hFdmVudChOb3RpZmljYXRpb25QYXls
b2FkJiYgcHJvcG9zZWRQYXlsb2FkLCBGdW5jdGlvbjx2b2lkKGJvb2wsIHN0ZDo6b3B0aW9uYWw8
Tm90aWZpY2F0aW9uUGF5bG9hZD4mJik+JiYgY2FsbGJhY2spCit2b2lkIFNlcnZpY2VXb3JrZXJU
aHJlYWQ6OnF1ZXVlVGFza1RvRmlyZVB1c2hOb3RpZmljYXRpb25FdmVudChOb3RpZmljYXRpb25Q
YXlsb2FkJiYgcHJvcG9zZWRQYXlsb2FkLCBGdW5jdGlvbjx2b2lkKGJvb2wsIHN0ZDo6b3B0aW9u
YWw8Tm90aWZpY2F0aW9uUGF5bG9hZD4mJik+JiYgY2FsbGJhY2spCiB7CiAgICAgUmVmIHNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZSA9IGRvd25jYXN0PFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4o
Kmdsb2JhbFNjb3BlKCkpOwogICAgIGF1dG8gc2NvcGVVUkwgPSBzZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUtPnJlZ2lzdHJhdGlvbigpLmRhdGEoKS5zY29wZVVSTDsKICAgICBzZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUtPmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpET01NYW5pcHVs
YXRpb24sIFt3ZWFrVGhpcyA9IFRocmVhZFNhZmVXZWFrUHRyIHsgKnRoaXMgfSwgc2VydmljZVdv
cmtlckdsb2JhbFNjb3BlID0gUmVmIHsgc2VydmljZVdvcmtlckdsb2JhbFNjb3BlIH0sIHByb3Bv
c2VkUGF5bG9hZCA9IFdURk1vdmUocHJvcG9zZWRQYXlsb2FkKSwgY2FsbGJhY2sgPSBXVEZNb3Zl
KGNhbGxiYWNrKSwgc2NvcGVVUkxdKCkgbXV0YWJsZSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKFNl
cnZpY2VXb3JrZXIsICJTZXJ2aWNlV29ya2VyVGhyZWFkOjpxdWV1ZVRhc2tUb0ZpcmVEZWNsYXJh
dGl2ZVB1c2hFdmVudCBmaXJpbmcgcHVzaG5vdGlmaWNhdGlvbiBldmVudCBmb3Igd29ya2VyICUi
IFBSSXU2NCwgc2VydmljZVdvcmtlckdsb2JhbFNjb3BlLT50aHJlYWQoKS5pZGVudGlmaWVyKCku
dG9VSW50NjQoKSk7CisgICAgICAgIFJFTEVBU0VfTE9HKFNlcnZpY2VXb3JrZXIsICJTZXJ2aWNl
V29ya2VyVGhyZWFkOjpxdWV1ZVRhc2tUb0ZpcmVQdXNoTm90aWZpY2F0aW9uRXZlbnQgZmlyaW5n
IHB1c2hub3RpZmljYXRpb24gZXZlbnQgZm9yIHdvcmtlciAlIiBQUkl1NjQsIHNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS0+dGhyZWFkKCkuaWRlbnRpZmllcigpLnRvVUludDY0KCkpOwogCiAgICAg
ICAgIGF1dG8gbm90aWZpY2F0aW9uID0gTm90aWZpY2F0aW9uOjpjcmVhdGUoc2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlLmdldCgpLCBzY29wZVVSTCwgcHJvcG9zZWRQYXlsb2FkKTsKLSAgICAgICAg
UmVmIGRlY2xhcmF0aXZlUHVzaEV2ZW50ID0gUHVzaEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LnB1c2hFdmVudCwgeyB9LCBub3RpZmljYXRpb24uZ2V0KCksIHByb3Bvc2VkUGF5bG9hZC5hcHBC
YWRnZSwgRXh0ZW5kYWJsZUV2ZW50OjpJc1RydXN0ZWQ6Olllcyk7Ci0gICAgICAgIHNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZS0+ZGlzcGF0Y2hEZWNsYXJhdGl2ZVB1c2hFdmVudChkZWNsYXJhdGl2
ZVB1c2hFdmVudCk7CisgICAgICAgIGF1dG8gcHVzaE5vdGlmaWNhdGlvbkV2ZW50ID0gUHVzaE5v
dGlmaWNhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnB1c2hub3RpZmljYXRpb25FdmVu
dCwgeyB9LCBub3RpZmljYXRpb24uZ2V0KCksIHByb3Bvc2VkUGF5bG9hZC5hcHBCYWRnZSwgRXh0
ZW5kYWJsZUV2ZW50OjpJc1RydXN0ZWQ6Olllcyk7CisgICAgICAgIHNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZS0+ZGlzcGF0Y2hQdXNoTm90aWZpY2F0aW9uRXZlbnQocHVzaE5vdGlmaWNhdGlvbkV2
ZW50KTsKIAotICAgICAgICBkZWNsYXJhdGl2ZVB1c2hFdmVudC0+d2hlbkFsbEV4dGVuZExpZmV0
aW1lUHJvbWlzZXNBcmVTZXR0bGVkKFtzZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgPSBSZWYgeyBz
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgfSwgcHJvcG9zZWRQYXlsb2FkID0gV1RGTW92ZShwcm9w
b3NlZFBheWxvYWQpLCBkZWNsYXJhdGl2ZVB1c2hFdmVudCA9IFdURk1vdmUoZGVjbGFyYXRpdmVQ
dXNoRXZlbnQpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShhdXRvJiYgZXh0ZW5kTGlm
ZXRpbWVQcm9taXNlcykgbXV0YWJsZSB7Ci0gICAgICAgICAgICBzZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUtPmNsZWFyRGVjbGFyYXRpdmVQdXNoRXZlbnQoKTsKKyAgICAgICAgcHVzaE5vdGlmaWNh
dGlvbkV2ZW50LT53aGVuQWxsRXh0ZW5kTGlmZXRpbWVQcm9taXNlc0FyZVNldHRsZWQoW3NlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZSA9IFJlZiB7IHNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSB9LCBw
cm9wb3NlZFBheWxvYWQgPSBXVEZNb3ZlKHByb3Bvc2VkUGF5bG9hZCksIHB1c2hOb3RpZmljYXRp
b25FdmVudCA9IFdURk1vdmUocHVzaE5vdGlmaWNhdGlvbkV2ZW50KSwgY2FsbGJhY2sgPSBXVEZN
b3ZlKGNhbGxiYWNrKV0oYXV0byYmIGV4dGVuZExpZmV0aW1lUHJvbWlzZXMpIG11dGFibGUgewor
ICAgICAgICAgICAgc2VydmljZVdvcmtlckdsb2JhbFNjb3BlLT5jbGVhclB1c2hOb3RpZmljYXRp
b25FdmVudCgpOwogCiAgICAgICAgICAgICBib29sIGhhc1JlamVjdGVkQW55UHJvbWlzZSA9IGZh
bHNlOwogICAgICAgICAgICAgZm9yIChhdXRvJiBwcm9taXNlIDogZXh0ZW5kTGlmZXRpbWVQcm9t
aXNlcykgewpAQCAtMzIxLDExICszMjIsMTEgQEAgdm9pZCBTZXJ2aWNlV29ya2VyVGhyZWFkOjpx
dWV1ZVRhc2tUb0ZpcmVEZWNsYXJhdGl2ZVB1c2hFdmVudChOb3RpZmljYXRpb25QYXlsb2EKICAg
ICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGKCFzdWNjZXNzLCBTZXJ2aWNlV29ya2VyLCAi
U2VydmljZVdvcmtlclRocmVhZDo6cXVldWVUYXNrVG9GaXJlUHVzaEV2ZW50IGZhaWxlZCB0byBw
cm9jZXNzIHB1c2ggZXZlbnQgKHJlamVjdGVkUHJvbWlzZSA9ICVkLCBzaG93ZWROb3RpZmljYXRp
b24gPSAlZCkiLCBoYXNSZWplY3RlZEFueVByb21pc2UsIHNob3dlZE5vdGlmaWNhdGlvbik7CiAK
ICAgICAgICAgICAgIGF1dG8gcHJvcG9zZWRBcHBCYWRnZSA9IHByb3Bvc2VkUGF5bG9hZC5hcHBC
YWRnZTsKLSAgICAgICAgICAgIGF1dG8gZGF0YSA9IGRlY2xhcmF0aXZlUHVzaEV2ZW50LT51cGRh
dGVkTm90aWZpY2F0aW9uRGF0YSgpOworICAgICAgICAgICAgYXV0byBkYXRhID0gcHVzaE5vdGlm
aWNhdGlvbkV2ZW50LT51cGRhdGVkTm90aWZpY2F0aW9uRGF0YSgpOwogICAgICAgICAgICAgc3Rk
OjpvcHRpb25hbDxOb3RpZmljYXRpb25QYXlsb2FkPiByZXN1bHRQYXlsb2FkID0gZGF0YSA/IE5v
dGlmaWNhdGlvblBheWxvYWQ6OmZyb21Ob3RpZmljYXRpb25EYXRhKCpkYXRhKSA6IFdURk1vdmUo
cHJvcG9zZWRQYXlsb2FkKTsKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHJlc3VsdFBheWxv
YWQpOwogCi0gICAgICAgICAgICBpZiAoYXV0byB1cGRhdGVkQXBwQmFkZ2UgPSBkZWNsYXJhdGl2
ZVB1c2hFdmVudC0+dXBkYXRlZEFwcEJhZGdlKCkpCisgICAgICAgICAgICBpZiAoYXV0byB1cGRh
dGVkQXBwQmFkZ2UgPSBwdXNoTm90aWZpY2F0aW9uRXZlbnQtPnVwZGF0ZWRBcHBCYWRnZSgpKQog
ICAgICAgICAgICAgICAgIHJlc3VsdFBheWxvYWQtPmFwcEJhZGdlID0gKnVwZGF0ZWRBcHBCYWRn
ZTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByZXN1bHRQYXlsb2FkLT5hcHBC
YWRnZSA9IHByb3Bvc2VkQXBwQmFkZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKaW5kZXggZmYx
NjQ3Mjg1NzMxLi5hN2U5NDJhOGJhMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKQEAgLTc1
LDcgKzc1LDcgQEAgcHVibGljOgogICAgIHZvaWQgcXVldWVUYXNrVG9GaXJlQWN0aXZhdGVFdmVu
dCgpOwogICAgIHZvaWQgcXVldWVUYXNrVG9GaXJlUHVzaEV2ZW50KHN0ZDo6b3B0aW9uYWw8VmVj
dG9yPHVpbnQ4X3Q+PiYmLCBzdGQ6Om9wdGlvbmFsPE5vdGlmaWNhdGlvblBheWxvYWQ+JiYsIEZ1
bmN0aW9uPHZvaWQoYm9vbCwgc3RkOjpvcHRpb25hbDxOb3RpZmljYXRpb25QYXlsb2FkPiYmKT4m
Jik7CiAjaWYgRU5BQkxFKERFQ0xBUkFUSVZFX1dFQl9QVVNIKQotICAgIHZvaWQgcXVldWVUYXNr
VG9GaXJlRGVjbGFyYXRpdmVQdXNoRXZlbnQoTm90aWZpY2F0aW9uUGF5bG9hZCYmLCBGdW5jdGlv
bjx2b2lkKGJvb2wsIHN0ZDo6b3B0aW9uYWw8Tm90aWZpY2F0aW9uUGF5bG9hZD4mJik+JiYpOwor
ICAgIHZvaWQgcXVldWVUYXNrVG9GaXJlUHVzaE5vdGlmaWNhdGlvbkV2ZW50KE5vdGlmaWNhdGlv
blBheWxvYWQmJiwgRnVuY3Rpb248dm9pZChib29sLCBzdGQ6Om9wdGlvbmFsPE5vdGlmaWNhdGlv
blBheWxvYWQ+JiYpPiYmKTsKICNlbmRpZgogICAgIHZvaWQgcXVldWVUYXNrVG9GaXJlUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50KHN0ZDo6b3B0aW9uYWw8UHVzaFN1YnNjcmlwdGlvbkRhdGE+
JiYgbmV3U3Vic2NyaXB0aW9uRGF0YSwgc3RkOjpvcHRpb25hbDxQdXNoU3Vic2NyaXB0aW9uRGF0
YT4mJiBvbGRTdWJzY3JpcHRpb25EYXRhKTsKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OX0VWRU5U
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LnNlcmlhbGl6YXRpb24uaW4gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuc2VyaWFsaXphdGlvbi5pbgppbmRleCAxNzcxMjI5MmM3NDMuLjMwOWMwYjkyYmM0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLnNl
cmlhbGl6YXRpb24uaW4KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLnNlcmlhbGl6YXRpb24uaW4KQEAgLTE0NzgsNyArMTQ3OCw3IEBAIHN0cnVjdCBXZWJD
b3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIHsKIH07CiAKIHN0cnVjdCBXZWJDb3JlOjpOb3Rp
ZmljYXRpb25EYXRhIHsKLSAgICBVUkwgbmF2aWdhdGVVUkw7CisgICAgVVJMIGRlZmF1bHRBY3Rp
b25VUkw7CiAgICAgU3RyaW5nIHRpdGxlOwogICAgIFN0cmluZyBib2R5OwogICAgIFN0cmluZyBp
Y29uVVJMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2Vic2l0ZURhdGFTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYnNpdGVEYXRhU3RvcmUubW0KaW5kZXggMzM4M2Y4NjQyYzllLi45NDY3ODRmYmZiN2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRh
U3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0
ZURhdGFTdG9yZS5tbQpAQCAtMTE1NSwxMCArMTE1NSwxMCBAQCAtKHZvaWQpX3Byb2Nlc3NXZWJD
b3JlUGVyc2lzdGVudE5vdGlmaWNhdGlvbkNsaWNrOihjb25zdCBXZWJDb3JlOjpOb3RpZmljYXRp
b25EYQogICAgIFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkRhdGEgbm90aWZpY2F0aW9uRGF0YSA9IGNv
bnN0Tm90aWZpY2F0aW9uRGF0YTsKIAogI2lmIEVOQUJMRShERUNMQVJBVElWRV9XRUJfUFVTSCkK
LSAgICBpZiAoIW5vdGlmaWNhdGlvbkRhdGEubmF2aWdhdGVVUkwuaXNFbXB0eSgpICYmIF93ZWJz
aXRlRGF0YVN0b3JlLT5jb25maWd1cmF0aW9uKCkuaXNEZWNsYXJhdGl2ZVdlYlB1c2hFbmFibGVk
KCkpIHsKKyAgICBpZiAoIW5vdGlmaWNhdGlvbkRhdGEuZGVmYXVsdEFjdGlvblVSTC5pc0VtcHR5
KCkgJiYgX3dlYnNpdGVEYXRhU3RvcmUtPmNvbmZpZ3VyYXRpb24oKS5pc0RlY2xhcmF0aXZlV2Vi
UHVzaEVuYWJsZWQoKSkgewogICAgICAgICBSRUxFQVNFX0xPRyhQdXNoLCAiU2VuZGluZyBwZXJz
aXN0ZW50IG5vdGlmaWNhdGlvbiBjbGlja2VkIHdpdGggZGVmYXVsdCBhY3Rpb24gVVJMLiBSZXF1
ZXN0aW5nIG5hdmlnYXRpb24gdG8gaXQgbm93LiIpOwogCi0gICAgICAgIF93ZWJzaXRlRGF0YVN0
b3JlLT5jbGllbnQoKS5uYXZpZ2F0aW9uVG9Ob3RpZmljYXRpb25BY3Rpb25VUkwobm90aWZpY2F0
aW9uRGF0YS5uYXZpZ2F0ZVVSTCk7CisgICAgICAgIF93ZWJzaXRlRGF0YVN0b3JlLT5jbGllbnQo
KS5uYXZpZ2F0aW9uVG9Ob3RpZmljYXRpb25BY3Rpb25VUkwobm90aWZpY2F0aW9uRGF0YS5kZWZh
dWx0QWN0aW9uVVJMKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1dlYlB1c2hEYWVtb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1dlYlB1c2hEYWVtb24ubW0KaW5kZXggODNmNTY0ZTNhZWZhLi41MTY3MTNjOWM1
ZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vi
UHVzaERhZW1vbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1dlYlB1c2hEYWVtb24ubW0KQEAgLTYxNCw1MCArNjE0LDQ4IEBAIHNlbGYuYWRkRXZlbnRMaXN0
ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4gewogICAgIH0KIH0pOwogCi1zZWxmLmFkZEV2ZW50
TGlzdGVuZXIoInB1c2giLCBhc3luYyAoZXZlbnQpID0+IHsKLSAgICBpZiAoZXZlbnQubm90aWZp
Y2F0aW9uKSB7Ci0gICAgICAgIC8vIElmIHRoZSB0YWcgaXMgZW1wdHksIGRvIG5vdGhpbmcKLSAg
ICAgICAgaWYgKCFldmVudC5ub3RpZmljYXRpb24udGFnKQotICAgICAgICAgICAgcmV0dXJuOwot
Ci0gICAgICAgIHZhciBvcHRpb25zRnJvbVRhZyA9IGV2ZW50Lm5vdGlmaWNhdGlvbi50YWcuc3Bs
aXQoIiAiKTsKLSAgICAgICAgdmFyIG5ld1RpdGxlOwotICAgICAgICB2YXIgbmV3QmFkZ2U7Ci0g
ICAgICAgIHZhciBuZXdBY3Rpb25VUkw7Ci0gICAgICAgIGlmIChvcHRpb25zRnJvbVRhZ1swXSA9
PSAidGl0bGVhbmRiYWRnZSIpIHsKLSAgICAgICAgICAgIG5ld1RpdGxlID0gb3B0aW9uc0Zyb21U
YWdbMV07Ci0gICAgICAgICAgICBuZXdCYWRnZSA9IG9wdGlvbnNGcm9tVGFnWzJdOwotICAgICAg
ICB9IGVsc2UgaWYgKG9wdGlvbnNGcm9tVGFnWzBdID09ICJ0aXRsZSIpCi0gICAgICAgICAgICBu
ZXdUaXRsZSA9IG9wdGlvbnNGcm9tVGFnWzFdOwotICAgICAgICBlbHNlIGlmIChvcHRpb25zRnJv
bVRhZ1swXSA9PSAiYmFkZ2UiKQotICAgICAgICAgICAgbmV3QmFkZ2UgPSBvcHRpb25zRnJvbVRh
Z1sxXTsKLSAgICAgICAgZWxzZSBpZiAob3B0aW9uc0Zyb21UYWdbMF0gPT0gImRhdGF0b3RpdGxl
IikKLSAgICAgICAgICAgIG5ld1RpdGxlID0gZXZlbnQubm90aWZpY2F0aW9uLmRhdGE7Ci0gICAg
ICAgIGVsc2UgaWYgKG9wdGlvbnNGcm9tVGFnWzBdID09ICJkZWZhdWx0YWN0aW9udXJsIikKLSAg
ICAgICAgICAgIG5ld0FjdGlvblVSTCA9IG9wdGlvbnNGcm9tVGFnWzFdOwotICAgICAgICBlbHNl
IGlmIChvcHRpb25zRnJvbVRhZ1swXSA9PSAiZW1wdHlkZWZhdWx0YWN0aW9udXJsIikgewotICAg
ICAgICAgICAgc2VsZi5yZWdpc3RyYXRpb24uc2hvd05vdGlmaWNhdGlvbigiTWlzc2luZyBkZWZh
dWx0IGFjdGlvbiIpLnRoZW4oKHZhbHVlKSA9PiB7Ci0gICAgICAgICAgICAgICAgZ2xvYmFsUG9y
dC5wb3N0TWVzc2FnZSgic2hvd05vdGlmaWNhdGlvbiBzdWNjZWVkZWQiKTsKLSAgICAgICAgICAg
IH0sIChleGNlcHRpb24pID0+IHsKLSAgICAgICAgICAgICAgICBnbG9iYWxQb3J0LnBvc3RNZXNz
YWdlKCJzaG93Tm90aWZpY2F0aW9uIGZhaWxlZDogIiArIGV4Y2VwdGlvbik7Ci0gICAgICAgICAg
ICB9KTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChuZXdUaXRsZSB8fCBuZXdBY3Rpb25VUkwp
IHsKLSAgICAgICAgICAgIGlmICghbmV3VGl0bGUpCi0gICAgICAgICAgICAgICAgbmV3VGl0bGUg
PSBldmVudC5ub3RpZmljYXRpb24udGl0bGU7Ci0gICAgICAgICAgICBpZiAoIW5ld0FjdGlvblVS
TCkKLSAgICAgICAgICAgICAgICBuZXdBY3Rpb25VUkwgPSBldmVudC5ub3RpZmljYXRpb24ubmF2
aWdhdGU7CitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoInB1c2hub3RpZmljYXRpb24iLCBhc3luYyAo
ZXZlbnQpID0+IHsKKyAgICAvLyBJZiB0aGUgdGFnIGlzIGVtcHR5LCBkbyBub3RoaW5nCisgICAg
aWYgKCFldmVudC5wcm9wb3NlZE5vdGlmaWNhdGlvbi50YWcpCisgICAgICAgIHJldHVybjsKIAot
ICAgICAgICAgICAgc2VsZi5yZWdpc3RyYXRpb24uc2hvd05vdGlmaWNhdGlvbihuZXdUaXRsZSwg
eyAibmF2aWdhdGUiOiBuZXdBY3Rpb25VUkwgfSk7Ci0gICAgICAgIH0KKyAgICB2YXIgb3B0aW9u
c0Zyb21UYWcgPSBldmVudC5wcm9wb3NlZE5vdGlmaWNhdGlvbi50YWcuc3BsaXQoIiAiKTsKKyAg
ICB2YXIgbmV3VGl0bGU7CisgICAgdmFyIG5ld0JhZGdlOworICAgIHZhciBuZXdBY3Rpb25VUkw7
CisgICAgaWYgKG9wdGlvbnNGcm9tVGFnWzBdID09ICJ0aXRsZWFuZGJhZGdlIikgeworICAgICAg
ICBuZXdUaXRsZSA9IG9wdGlvbnNGcm9tVGFnWzFdOworICAgICAgICBuZXdCYWRnZSA9IG9wdGlv
bnNGcm9tVGFnWzJdOworICAgIH0gZWxzZSBpZiAob3B0aW9uc0Zyb21UYWdbMF0gPT0gInRpdGxl
IikKKyAgICAgICAgbmV3VGl0bGUgPSBvcHRpb25zRnJvbVRhZ1sxXTsKKyAgICBlbHNlIGlmIChv
cHRpb25zRnJvbVRhZ1swXSA9PSAiYmFkZ2UiKQorICAgICAgICBuZXdCYWRnZSA9IG9wdGlvbnNG
cm9tVGFnWzFdOworICAgIGVsc2UgaWYgKG9wdGlvbnNGcm9tVGFnWzBdID09ICJkYXRhdG90aXRs
ZSIpCisgICAgICAgIG5ld1RpdGxlID0gZXZlbnQucHJvcG9zZWROb3RpZmljYXRpb24uZGF0YTsK
KyAgICBlbHNlIGlmIChvcHRpb25zRnJvbVRhZ1swXSA9PSAiZGVmYXVsdGFjdGlvbnVybCIpCisg
ICAgICAgIG5ld0FjdGlvblVSTCA9IG9wdGlvbnNGcm9tVGFnWzFdOworICAgIGVsc2UgaWYgKG9w
dGlvbnNGcm9tVGFnWzBdID09ICJlbXB0eWRlZmF1bHRhY3Rpb251cmwiKSB7CisgICAgICAgIHNl
bGYucmVnaXN0cmF0aW9uLnNob3dOb3RpZmljYXRpb24oIk1pc3NpbmcgZGVmYXVsdCBhY3Rpb24i
KS50aGVuKCh2YWx1ZSkgPT4geworICAgICAgICAgICAgZ2xvYmFsUG9ydC5wb3N0TWVzc2FnZSgi
c2hvd05vdGlmaWNhdGlvbiBzdWNjZWVkZWQiKTsKKyAgICAgICAgfSwgKGV4Y2VwdGlvbikgPT4g
eworICAgICAgICAgICAgZ2xvYmFsUG9ydC5wb3N0TWVzc2FnZSgic2hvd05vdGlmaWNhdGlvbiBm
YWlsZWQ6ICIgKyBleGNlcHRpb24pOworICAgICAgICB9KTsKKyAgICB9CiAKLSAgICAgICAgaWYg
KG5ld0JhZGdlKQotICAgICAgICAgICAgbmF2aWdhdG9yLnNldEFwcEJhZGdlKG5ld0JhZGdlKTsK
KyAgICBpZiAobmV3VGl0bGUgfHwgbmV3QWN0aW9uVVJMKSB7CisgICAgICAgIGlmICghbmV3VGl0
bGUpCisgICAgICAgICAgICBuZXdUaXRsZSA9IGV2ZW50LnByb3Bvc2VkTm90aWZpY2F0aW9uLnRp
dGxlOworICAgICAgICBpZiAoIW5ld0FjdGlvblVSTCkKKyAgICAgICAgICAgIG5ld0FjdGlvblVS
TCA9IGV2ZW50LnByb3Bvc2VkTm90aWZpY2F0aW9uLmRlZmF1bHRBY3Rpb247CiAKLSAgICAgICAg
cmV0dXJuOworICAgICAgICBzZWxmLnJlZ2lzdHJhdGlvbi5zaG93Tm90aWZpY2F0aW9uKG5ld1Rp
dGxlLCB7ICJkZWZhdWx0QWN0aW9uIjogbmV3QWN0aW9uVVJMIH0pOwogICAgIH0KIAorICAgIGlm
IChuZXdCYWRnZSkKKyAgICAgICAgbmF2aWdhdG9yLnNldEFwcEJhZGdlKG5ld0JhZGdlKTsKK30p
OworCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoInB1c2giLCBhc3luYyAoZXZlbnQpID0+IHsKICAg
ICB0cnkgewogICAgICAgICBpZiAoc2hvd05vdGlmaWNhdGlvbnMpIHsKICAgICAgICAgICAgIGF3
YWl0IHNlbGYucmVnaXN0cmF0aW9uLnNob3dOb3RpZmljYXRpb24oIm5vdGlmaWNhdGlvbiIpOwpA
QCAtOTQyLDExICs5NDAsMTEgQEAgcHVibGljOgogCiAKICNpZiBFTkFCTEUoREVDTEFSQVRJVkVf
V0VCX1BVU0gpCi0gICAgdm9pZCBpbmplY3REZWNsYXJhdGl2ZVB1c2hNZXNzYWdlKEFTQ0lJTGl0
ZXJhbCBqc29uKQorICAgIHZvaWQgaW5qZWN0RGVjbGFyYXRpdmVQdXNoTWVzc2FnZShBU0NJSUxp
dGVyYWwganNvbiwgQVNDSUlMaXRlcmFsIHVybCA9ICJodHRwczovL2V4YW1wbGUuY29tIl9zKQog
ICAgIHsKICAgICAgICAgV2ViS2l0OjpXZWJQdXNoRDo6UHVzaE1lc3NhZ2VGb3JUZXN0aW5nIG1l
c3NhZ2U7CiAgICAgICAgIG1lc3NhZ2UudGFyZ2V0QXBwQ29kZVNpZ25pbmdJZGVudGlmaWVyID0g
ImNvbS5hcHBsZS5XZWJLaXQuVGVzdFdlYktpdEFQSSJfczsKLSAgICAgICAgbWVzc2FnZS5yZWdp
c3RyYXRpb25VUkwgPSBVUkwoImh0dHBzOi8vZXhhbXBsZS5jb20iX3MpOworICAgICAgICBtZXNz
YWdlLnJlZ2lzdHJhdGlvblVSTCA9IFVSTCh1cmwpOwogICAgICAgICBtZXNzYWdlLmRpc3Bvc2l0
aW9uID0gV2ViS2l0OjpXZWJQdXNoRDo6UHVzaE1lc3NhZ2VEaXNwb3NpdGlvbjo6Tm90aWZpY2F0
aW9uOwogICAgICAgICBtZXNzYWdlLnBheWxvYWQgPSBqc29uOwogCkBAIC0yODAzLDYgKzI4MDEs
NyBAQCBwdWJsaWM6CiAKICAgICAgICAgaWYgKCFbcmVjZW50VGl0bGUgaXNFcXVhbFRvU3RyaW5n
OnRpdGxlXSkKICAgICAgICAgICAgIE5TTG9nKEAiTW9zdCByZWNlbnQgdGl0bGU6ICVAXG5FeHBl
Y3RlZCB0aXRsZTogJUAiLCByZWNlbnRUaXRsZSwgdGl0bGUpOworCiAgICAgfQogCiAgICAgdm9p
ZCBjaGVja0xhc3ROb3RpZmljYXRpb25EZWZhdWx0QWN0aW9uVVJMKE5TU3RyaW5nICphY3Rpb25V
UkwpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>