<?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>271182</bug_id>
          
          <creation_ts>2024-03-18 14:50:55 -0700</creation_ts>
          <short_desc>REGRESSION(276198@main): Broke internal Safari</short_desc>
          <delta_ts>2024-03-18 14:57:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>269728</blocked>
    
    <blocked>271097</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>bkayes</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2021890</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-03-18 14:50:55 -0700</bug_when>
    <thetext>https://commits.webkit.org/276198@main introduced a regression:
Broke internal Safari

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>2021893</commentid>
    <comment_count>1</comment_count>
      <attachid>470420</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-03-18 14:51:03 -0700</bug_when>
    <thetext>Created attachment 470420
REVERT of 276198@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>2021899</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-03-18 14:56:54 -0700</bug_when>
    <thetext>Committed 276302@main (6c9fb3193d9d): &lt;https://commits.webkit.org/276302@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 470420.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2021900</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-03-18 14:57:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/124970644&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470420</attachid>
            <date>2024-03-18 14:51:03 -0700</date>
            <delta_ts>2024-03-18 14:56:55 -0700</delta_ts>
            <desc>REVERT of 276198@main</desc>
            <filename>bug-271182-20240318215102.patch</filename>
            <type>text/plain</type>
            <size>33356</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBhNWQyNDhiMzgwMWMxMjRmNTY2ZGZiOGJiNjY4MmQyZTVhMTUyNDdkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBNb24sIDE4IE1hciAyMDI0IDIxOjUxOjAwICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDI3NjE5OEBtYWluIGFuZCAyNzYyMThAbWFpbi4KIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzExODIKCkJyb2tlIGludGVybmFs
IFNhZmFyaQoKUmV2ZXJ0ZWQgY2hhbmdlc2V0czoKCiJuZXcgZXhjZXB0aW9uIGhhbmRsZXIgYWRv
cHRpb24iCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjk3MjgKaHR0
cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjc2MTk4QG1haW4KCiJmaXggZGFyd2luX2FybV90aHJl
YWRfc3RhdGU2NCBtYWNybyB1c2FnZSBidWlsZCBpc3N1ZSIKaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI3MTA5NwpodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy8yNzYy
MThAbWFpbgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwICAgICAgICAgICAgICAg
ICB8ICAxOSArLS0KIC4uLi9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3BwICAgICAgICAg
ICB8ICAxMCArLQogLi4uL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaCAg
IHwgIDE2IC0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTVRyYXBzLmNwcCAgICAg
fCAgIDEgLQogLi4uL3dhc20vV2FzbUZhdWx0U2lnbmFsSGFuZGxlci5jcHAgICAgICAgICAgIHwg
IDIzIC0tLQogLi4uL3dhc20vV2FzbUZhdWx0U2lnbmFsSGFuZGxlci5oICAgICAgICAgICAgIHwg
ICA5ICstCiBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qICAgICAgfCAg
IDMgLQogU291cmNlL1dURi93dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlICAgICAgICAgIHwgICAy
ICstCiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZSAgICAgICAgICAgICAgfCAgIDIg
Ky0KIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUmVnaXN0ZXJzLmNwcCAgICAgICAgICB8ICAgOCAt
CiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVJlZ2lzdGVycy5oICAgICAgICAgICAgfCAgIDYgLQog
U291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxzLmNwcCAgICAgICAgICAgIHwgMTUyICsrKysr
LS0tLS0tLS0tLS0tLQogU291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxzLmggICAgICAgICAg
ICAgIHwgIDI5ICstLS0KIFNvdXJjZS9XVEYvd3RmL3dpbi9TaWduYWxzV2luLmNwcCAgICAgICAg
ICAgICB8ICAgNSAtCiAuLi4vaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYi5pbiAg
ICAgfCAgMjMgKy0tCiAuLi4vV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbiAg
ICAgfCAgMjAgKy0tCiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TaWduYWxzLmNwcCAg
ICAgfCAgMTMgKy0KIDE3IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDI4MiBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IGZlZWVjNTlmN2QxZS4uNTJiM2NjZGJk
OGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAtMzQ5Niw5ICszNDk2LDcgQEAgaW50IG1haW4o
aW50IGFyZ2MsIGNoYXIqKiBhcmd2IFdURl9UWk9ORV9FWFRSQV9NQUlOX0FSR1MpCiAKICNpZiBP
UyhVTklYKQogICAgIGlmIChnZXRlbnYoIkpTX1NIRUxMX1dBSVRfRk9SX1NJR1VTUjJfVE9fRVhJ
VCIpKSB7Ci0gICAgICAgIHVpbnQzMl90IGtleSA9IDA7Ci0gICAgICAgIGludCBtYXNrID0gMDsK
LSAgICAgICAgaW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5nKGtleSwgbWFzayk7CisgICAgICAgIGlu
aXRpYWxpemVTaWduYWxIYW5kbGluZygpOwogICAgICAgICBhZGRTaWduYWxIYW5kbGVyKFNpZ25h
bDo6VXNyLCBTaWduYWxIYW5kbGVyKFsmXSAoU2lnbmFsLCBTaWdJbmZvJiwgUGxhdGZvcm1SZWdp
c3RlcnMmKSB7CiAgICAgICAgICAgICBkYXRhTG9nTG4oIlNpZ25hbCBoYW5kbGVyIGhpdCwgd2Ug
Y2FuIGV4aXQgbm93LiIpOwogICAgICAgICAgICAgd2FpdFRvRXhpdC5zaWduYWwoKTsKQEAgLTM5
NzIsMTkgKzM5NzAsNyBAQCB2b2lkIENvbW1hbmRMaW5lOjpwYXJzZUFyZ3VtZW50cyhpbnQgYXJn
YywgY2hhcioqIGFyZ3YpCiAgICAgICAgIH0KICAgICAgICAgaWYgKCFzdHJjbXAoYXJnLCAiLXMi
KSkgewogI2lmIE9TKFVOSVgpCi0gICAgICAgICAgICB1aW50MzJfdCBrZXkgPSAwOwotICAgICAg
ICAgICAgaW50IG1hc2sgPSAwOwotI2lmIEhBVkUoTUFDSF9FWENFUFRJT05TKQotICAgICAgICAg
ICAgbWFzayB8PSB0b01hY2hNYXNrKFNpZ25hbDo6SWxsZWdhbEluc3RydWN0aW9uKTsKLSAgICAg
ICAgICAgIG1hc2sgfD0gdG9NYWNoTWFzayhTaWduYWw6OkFjY2Vzc0ZhdWx0KTsKLSAgICAgICAg
ICAgIG1hc2sgfD0gdG9NYWNoTWFzayhTaWduYWw6OkZsb2F0aW5nUG9pbnQpOwotICAgICAgICAg
ICAgbWFzayB8PSB0b01hY2hNYXNrKFNpZ25hbDo6QnJlYWtwb2ludCk7Ci0jaWYgIU9TKERBUldJ
TikKLSAgICAgICAgICAgIG1hc2sgfD0gdG9NYWNoTWFzayhTaWduYWw6OkFib3J0KTsKLSNlbmRp
ZiAvLyAhT1MoREFSV0lOKQotI2VuZGlmIC8vIEhBVkUoTUFDSF9FWENFUFRJT05TKQotCi0gICAg
ICAgICAgICBpbml0aWFsaXplU2lnbmFsSGFuZGxpbmcoa2V5LCBtYXNrKTsKKyAgICAgICAgICAg
IGluaXRpYWxpemVTaWduYWxIYW5kbGluZygpOwogCiAgICAgICAgICAgICBTaWduYWxBY3Rpb24g
KCpleGl0KShTaWduYWwsIFNpZ0luZm8mLCBQbGF0Zm9ybVJlZ2lzdGVycyYpID0gW10gKFNpZ25h
bCwgU2lnSW5mbyYsIFBsYXRmb3JtUmVnaXN0ZXJzJikgewogICAgICAgICAgICAgICAgIGRhdGFM
b2dMbigiU2lnbmFsIGhhbmRsZXIgaGl0LiBFeGl0aW5nIHdpdGggc3RhdHVzIDAiKTsKQEAgLTQw
MDcsNyArMzk5Myw2IEBAIHZvaWQgQ29tbWFuZExpbmU6OnBhcnNlQXJndW1lbnRzKGludCBhcmdj
LCBjaGFyKiogYXJndikKICAgICAgICAgICAgIGFkZFNpZ25hbEhhbmRsZXIoU2lnbmFsOjpBYm9y
dCwgU2lnbmFsSGFuZGxlcihleGl0KSk7CiAgICAgICAgICAgICBhY3RpdmF0ZVNpZ25hbEhhbmRs
ZXJzRm9yKFNpZ25hbDo6QWJvcnQpOwogI2VuZGlmCi0gICAgICAgICAgICBmaW5hbGl6ZVNpZ25h
bEhhbmRsZXJzKCk7CiAjZW5kaWYKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFk
aW5nLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRp
bmcuY3BwCmluZGV4IGI3YmMzMTNkY2U5MC4uNWM2ODAxZDJlNWFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcApAQCAt
MTM3LDE1ICsxMzcsNyBAQCB2b2lkIGluaXRpYWxpemUoKQogCiAgICAgICAgIGlmIChXYXNtOjpp
c1N1cHBvcnRlZCgpIHx8ICFPcHRpb25zOjp1c2VQb2xsaW5nVHJhcHMoKSkgewogICAgICAgICAg
ICAgLy8gSlNMb2NrOjpsb2NrKCkgY2FuIGNhbGwgcmVnaXN0ZXJUaHJlYWRGb3JNYWNoRXhjZXB0
aW9uSGFuZGxpbmcoKSB3aGljaCBjcmFzaGVzIGlmIHRoaXMgaGFzIG5vdCBiZWVuIGNhbGxlZCBm
aXJzdC4KLSAgICAgICAgICAgIGludCBtYXNrID0gMDsKLSNpZiBDUFUoQVJNNjRFKSAmJiBkZWZp
bmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElUWV9QUk9URUNURUQpICYmICFQTEFURk9STShJT1Nf
RkFNSUxZX1NJTVVMQVRPUikKLSAgICAgICAgICAgIEpTQzo6V2FzbTo6TWFjaEV4Y2VwdGlvblNp
Z25pbmdLZXkga2V5Z2VuOwotICAgICAgICAgICAgdWludDMyX3Qgc2lnbmluZ0tleSA9IGtleWdl
bi5yYW5kb21TaWduaW5nS2V5OwotICAgICAgICAgICAgbWFzayB8PSB0b01hY2hNYXNrKFNpZ25h
bDo6QWNjZXNzRmF1bHQpOwotI2Vsc2UKLSAgICAgICAgICAgIHVpbnQzMl90IHNpZ25pbmdLZXkg
PSAwOwotI2VuZGlmIC8vIENQVShBUk02NEUpICYmIGRlZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lE
RU5USVRZX1BST1RFQ1RFRCkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKQotICAg
ICAgICAgICAgaW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5nKHNpZ25pbmdLZXksIG1hc2spOworICAg
ICAgICAgICAgaW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5nKCk7CiAKICAgICAgICAgICAgIGlmICgh
T3B0aW9uczo6dXNlUG9sbGluZ1RyYXBzKCkpCiAgICAgICAgICAgICAgICAgVk1UcmFwczo6aW5p
dGlhbGl6ZVNpZ25hbHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL01hY2hpbmVDb250ZXh0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNo
aW5lQ29udGV4dC5oCmluZGV4IGYyZTZiYTk4ZTEyZi4uM2ZhMTgwMjZjMTExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgKQEAgLTQ0LDcgKzQ0
LDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVCA9IHZvaWQqPiBUIGZyYW1lUG9pbnRlcihjb25zdCBQ
bGF0Zm9ybVJlZ2lzdGVycyYpOwogaW5saW5lIENvZGVQdHI8UGxhdGZvcm1SZWdpc3RlcnNMUlB0
clRhZz4gbGlua1JlZ2lzdGVyKGNvbnN0IFBsYXRmb3JtUmVnaXN0ZXJzJik7CiBpbmxpbmUgc3Rk
OjpvcHRpb25hbDxDb2RlUHRyPFBsYXRmb3JtUmVnaXN0ZXJzUENQdHJUYWc+PiBpbnN0cnVjdGlv
blBvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdpc3RlcnMmKTsKIGlubGluZSB2b2lkIHNldEluc3Ry
dWN0aW9uUG9pbnRlcihQbGF0Zm9ybVJlZ2lzdGVycyYsIENvZGVQdHI8Q0Z1bmN0aW9uUHRyVGFn
Pik7Ci1pbmxpbmUgdm9pZCBzZXRJbnN0cnVjdGlvblBvaW50ZXIoUGxhdGZvcm1SZWdpc3RlcnMm
LCB2b2lkICopOwogCiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZComIGFyZ3VtZW50UG9pbnRlcihQ
bGF0Zm9ybVJlZ2lzdGVycyYpOwogdGVtcGxhdGU8c2l6ZV90IE4+IHZvaWQqIGFyZ3VtZW50UG9p
bnRlcihjb25zdCBQbGF0Zm9ybVJlZ2lzdGVycyYpOwpAQCAtNDU4LDI3ICs0NTcsMTIgQEAgaW5s
aW5lIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmb3JtUmVnaXN0ZXJzJiByZWdzLCBD
b2RlUHRyPENGdW5jdGlvblB0clQKIHsKICNpZiBVU0UoUExBVEZPUk1fUkVHSVNURVJTX1dJVEhf
UFJPRklMRSkKICAgICBXVEZfV1JJVEVfUExBVEZPUk1fUkVHSVNURVJTX1BDX1dJVEhfUFJPRklM
RShyZWdzLCB2YWx1ZS50YWdnZWRQdHIoKSk7Ci0jZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVSX01B
Q1JPUykgJiYgZGVmaW5lZChFWENFUFRJT05fU1RBVEVfSURFTlRJVFlfUFJPVEVDVEVEKSAmJiAh
UExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmICFQTEFURk9STShXQVRDSE9TKQotICAg
IF9fZGFyd2luX2FybV90aHJlYWRfc3RhdGU2NF9zZXRfcHJlc2lnbmVkX3BjX2ZwdHIocmVncywg
dmFsdWUudGFnZ2VkUHRyKCkpOwogI2VsaWYgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCiAg
ICAgX19kYXJ3aW5fYXJtX3RocmVhZF9zdGF0ZTY0X3NldF9wY19mcHRyKHJlZ3MsIHZhbHVlLnRh
Z2dlZFB0cigpKTsKICNlbHNlCiAgICAgaW5zdHJ1Y3Rpb25Qb2ludGVySW1wbChyZWdzKSA9IHZh
bHVlLnRhZ2dlZFB0cigpOwogI2VuZGlmCiB9Ci0KLWlubGluZSB2b2lkIHNldEluc3RydWN0aW9u
UG9pbnRlcihQbGF0Zm9ybVJlZ2lzdGVycyYgcmVncywgdm9pZCogdmFsdWUpCi17Ci0jaWYgVVNF
KFBMQVRGT1JNX1JFR0lTVEVSU19XSVRIX1BST0ZJTEUpCi0gICAgV1RGX1dSSVRFX1BMQVRGT1JN
X1JFR0lTVEVSU19QQ19XSVRIX1BST0ZJTEUocmVncywgdmFsdWUpOwotI2VsaWYgVVNFKERBUldJ
Tl9SRUdJU1RFUl9NQUNST1MpICYmIGRlZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZX1BS
T1RFQ1RFRCkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSAmJiAhUExBVEZPUk0o
V0FUQ0hPUykKLSAgICBfX2Rhcndpbl9hcm1fdGhyZWFkX3N0YXRlNjRfc2V0X3ByZXNpZ25lZF9w
Y19mcHRyKHJlZ3MsIHZhbHVlKTsKLSNlbGlmIFVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKQot
ICAgIF9fZGFyd2luX2FybV90aHJlYWRfc3RhdGU2NF9zZXRfcGNfZnB0cihyZWdzLCB2YWx1ZSk7
Ci0jZWxzZQotICAgIGluc3RydWN0aW9uUG9pbnRlckltcGwocmVncykgPSB2YWx1ZTsKLSNlbmRp
ZgotfQogI2VuZGlmIC8vIE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9DT05URVhUKQogCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNVHJhcHMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAKaW5kZXggODIwNTg0Y2Uy
ODFiLi44ZjAxYTBiNWVlYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNVHJhcHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNVHJh
cHMuY3BwCkBAIC0yMDEsNyArMjAxLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fdm0odm0pCiAg
ICAgewogICAgICAgICBhY3RpdmF0ZVNpZ25hbEhhbmRsZXJzRm9yKFNpZ25hbDo6QWNjZXNzRmF1
bHQpOwotICAgICAgICBmaW5hbGl6ZVNpZ25hbEhhbmRsZXJzKCk7CiAgICAgfQogCiAgICAgc3Rh
dGljIHZvaWQgaW5pdGlhbGl6ZVNpZ25hbHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbUZhdWx0U2lnbmFsSGFuZGxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtRmF1bHRTaWduYWxIYW5kbGVyLmNwcAppbmRleCBjOGFlYzMwMDFhMWIu
LjQ1OGIxNWQxNzZkMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUZhdWx0U2lnbmFsSGFuZGxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
V2FzbUZhdWx0U2lnbmFsSGFuZGxlci5jcHAKQEAgLTM4LDMwICszOCwxMiBAQAogI2luY2x1ZGUg
Ildhc21FeGNlcHRpb25UeXBlLmgiCiAjaW5jbHVkZSAiV2FzbU1lbW9yeS5oIgogI2luY2x1ZGUg
Ildhc21UaHVua3MuaCIKLSNpbmNsdWRlIDx3dGYvQ29kZVB0ci5oPgotI2luY2x1ZGUgPHd0Zi9D
cnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvdGhyZWFkcy9TaWduYWxzLmg+
CiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgV2FzbSB7CiAKLXVzaW5nIFdURjo6Q29kZVB0
cjsKLQotI2lmIENQVShBUk02NEUpICYmIGRlZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZ
X1BST1RFQ1RFRCkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKQotdm9pZCogcHJl
c2lnbmVkVHJhbXBvbGluZSA9IHsgfTsKLQotTWFjaEV4Y2VwdGlvblNpZ25pbmdLZXk6Ok1hY2hF
eGNlcHRpb25TaWduaW5nS2V5KCkKLXsKLSAgICAvLyBTaWduIHRoZSB0cmFtcG9saW5lIHBvaW50
ZXIgdXNpbmcgYSByYW5kb20gZGl2ZXJzaWZpZXIgYW5kIHN0YXNoIGl0IGF3YXkgYmVmb3JlIHdl
YmNvbnRlbnQgaGFzIHN0YXJ0ZWQgc28gdGhhdAotICAgIC8vIGV2ZW4gYSBQQUMgc2lnbmluZyBn
YWRnZXQgY2Fubm90IGZha2UgdGhpcyByYW5kb20gZGl2ZXJzaWZpZXIKLSAgICByYW5kb21TaWdu
aW5nS2V5ID0gV1RGOjpjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcjx1aW50MzJfdD4oKSAm
IF9fREFSV0lOX0FSTV9USFJFQURfU1RBVEU2NF9VU0VSX0RJVkVSU0lGSUVSX01BU0s7Ci0gICAg
dWludDY0X3QgZGl2ZXJzaWZpZXIgPSBwdHJhdXRoX2JsZW5kX2Rpc2NyaW1pbmF0b3IoKHZvaWQg
KikodW5zaWduZWQgbG9uZylyYW5kb21TaWduaW5nS2V5LCBwdHJhdXRoX3N0cmluZ19kaXNjcmlt
aW5hdG9yKCJwYyIpKTsKLSAgICBwcmVzaWduZWRUcmFtcG9saW5lID0gSlNDOjpMTEludDo6Z2V0
Q29kZVB0cjxDRnVuY3Rpb25QdHJUYWc+KHdhc21fdGhyb3dfZnJvbV9mYXVsdF9oYW5kbGVyX3Ry
YW1wb2xpbmVfcmVnX2luc3RhbmNlKS51bnRhZ2dlZFB0cigpOwotICAgIHByZXNpZ25lZFRyYW1w
b2xpbmUgPSBwdHJhdXRoX3NpZ25fdW5hdXRoZW50aWNhdGVkKHByZXNpZ25lZFRyYW1wb2xpbmUs
IHB0cmF1dGhfa2V5X2Z1bmN0aW9uX3BvaW50ZXIsIGRpdmVyc2lmaWVyKTsKLX0KLSNlbmRpZiAv
LyBDUFUoQVJNNjRFKSAmJiBkZWZpbmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElUWV9QUk9URUNU
RUQpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikKLQogbmFtZXNwYWNlIHsKIG5h
bWVzcGFjZSBXYXNtRmF1bHRTaWduYWxIYW5kbGVySW50ZXJuYWwgewogc3RhdGljIGNvbnN0ZXhw
ciBib29sIHZlcmJvc2UgPSBmYWxzZTsKQEAgLTExNCwxMSArOTYsNyBAQCBzdGF0aWMgU2lnbmFs
QWN0aW9uIHRyYXBIYW5kbGVyKFNpZ25hbCBzaWduYWwsIFNpZ0luZm8mIHNpZ0luZm8sIFBsYXRm
b3JtUmVnaXN0ZQogICAgICAgICAgICAgfTsKIAogICAgICAgICAgICAgaWYgKGRpZEZhdWx0SW5X
YXNtKGZhdWx0aW5nSW5zdHJ1Y3Rpb24pKSB7Ci0jaWYgQ1BVKEFSTTY0RSkgJiYgZGVmaW5lZChF
WENFUFRJT05fU1RBVEVfSURFTlRJVFlfUFJPVEVDVEVEKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlM
WV9TSU1VTEFUT1IpCi0gICAgICAgICAgICAgICAgTWFjaGluZUNvbnRleHQ6OnNldEluc3RydWN0
aW9uUG9pbnRlcihjb250ZXh0LCBwcmVzaWduZWRUcmFtcG9saW5lKTsKLSNlbHNlCiAgICAgICAg
ICAgICAgICAgTWFjaGluZUNvbnRleHQ6OnNldEluc3RydWN0aW9uUG9pbnRlcihjb250ZXh0LCBM
TEludDo6Z2V0Q29kZVB0cjxDRnVuY3Rpb25QdHJUYWc+KHdhc21fdGhyb3dfZnJvbV9mYXVsdF9o
YW5kbGVyX3RyYW1wb2xpbmVfcmVnX2luc3RhbmNlKSk7Ci0jZW5kaWYKICAgICAgICAgICAgICAg
ICByZXR1cm4gU2lnbmFsQWN0aW9uOjpIYW5kbGVkOwogICAgICAgICAgICAgfQogICAgICAgICB9
CkBAIC0xMzcsNyArMTE1LDYgQEAgdm9pZCBhY3RpdmF0ZVNpZ25hbGluZ01lbW9yeSgpCiAgICAg
ICAgICAgICByZXR1cm47CiAKICAgICAgICAgYWN0aXZhdGVTaWduYWxIYW5kbGVyc0ZvcihTaWdu
YWw6OkFjY2Vzc0ZhdWx0KTsKLSAgICAgICAgV1RGOjpmaW5hbGl6ZVNpZ25hbEhhbmRsZXJzKCk7
CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21GYXVsdFNpZ25hbEhhbmRsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21G
YXVsdFNpZ25hbEhhbmRsZXIuaAppbmRleCAyMjJiZjcwNjk5MjcuLjJiNWNiOTdlYzNmOCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZhdWx0U2lnbmFsSGFuZGxl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21GYXVsdFNpZ25hbEhhbmRs
ZXIuaApAQCAtMjgsNiArMjgsNyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFjZSBXYXNt
IHsKKwogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKIHZvaWQgYWN0aXZhdGVTaWduYWxpbmdNZW1v
cnkoKTsKIHZvaWQgcHJlcGFyZVNpZ25hbGluZ01lbW9yeSgpOwpAQCAtMzYsMTIgKzM3LDQgQEAg
aW5saW5lIHZvaWQgYWN0aXZhdGVTaWduYWxpbmdNZW1vcnkoKSB7IH0KIGlubGluZSB2b2lkIHBy
ZXBhcmVTaWduYWxpbmdNZW1vcnkoKSB7IH0KICNlbmRpZiAvLyBFTkFCTEUoV0VCQVNTRU1CTFkp
CiAKLSNpZiBDUFUoQVJNNjRFKSAmJiBkZWZpbmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElUWV9Q
Uk9URUNURUQpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikKLWNsYXNzIE1hY2hF
eGNlcHRpb25TaWduaW5nS2V5IHsKLXB1YmxpYzoKLSAgICB1aW50MzJfdCByYW5kb21TaWduaW5n
S2V5ID0geyB9OwotICAgIE1hY2hFeGNlcHRpb25TaWduaW5nS2V5KCk7Ci19OwotI2VuZGlmIC8v
IENQVShBUk02NEUpICYmIGRlZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZX1BST1RFQ1RF
RCkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKQotCiB9IH0gLy8gbmFtZXNwYWNl
IEpTQzo6V2FzbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MjM2ODgyYmNkZjNhLi5kZjQ1NDIxM2Q3NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNDA2MCw3ICs0MDYwLDYgQEAKIAkJCWlzYSA9IFhDQnVpbGRDb25m
aWd1cmF0aW9uOwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA1RDI0N0I3MDE0Njg5
QzQ3MDBFNzhCNzYgLyogRGVidWdSZWxlYXNlLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5n
cyA9IHsKLQkJCQlPVEhFUl9NSUdGTEFHUyA9ICItRE1BQ0hfRVhDX1NFUlZFUl9UQVNLSURUT0tF
Tl9TVEFURSI7CiAJCQl9OwogCQkJbmFtZSA9IERlYnVnOwogCQl9OwpAQCAtNDA2OCw3ICs0MDY3
LDYgQEAKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwogCQkJYmFzZUNvbmZpZ3VyYXRp
b25SZWZlcmVuY2UgPSA1RDI0N0I3MDE0Njg5QzQ3MDBFNzhCNzYgLyogRGVidWdSZWxlYXNlLnhj
Y29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlPVEhFUl9NSUdGTEFHUyA9ICIt
RE1BQ0hfRVhDX1NFUlZFUl9UQVNLSURUT0tFTl9TVEFURSI7CiAJCQl9OwogCQkJbmFtZSA9IFJl
bGVhc2U7CiAJCX07CkBAIC00MDkwLDcgKzQwODgsNiBAQAogCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDVEMjQ3QjZFMTQ2ODlD
NDcwMEU3OEI3NiAvKiBCYXNlLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJ
CQlPVEhFUl9NSUdGTEFHUyA9ICItRE1BQ0hfRVhDX1NFUlZFUl9UQVNLSURUT0tFTl9TVEFURSI7
CiAJCQl9OwogCQkJbmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpT
Q09ubHkuY21ha2UKaW5kZXggMDA4ZTY1Mjc5N2JmLi5iYzBhYWRhMWU3NDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UKQEAgLTg0LDcgKzg0LDcgQEAgZWxzZWlmIChBUFBMRSkK
ICAgICAgICAgICAgICR7V1RGX0RFUklWRURfU09VUkNFU19ESVJ9L21hY2hfZXhjVXNlci5jCiAg
ICAgICAgIE1BSU5fREVQRU5ERU5DWSBtYWMvTWFjaEV4Y2VwdGlvbnMuZGVmcwogICAgICAgICBX
T1JLSU5HX0RJUkVDVE9SWSAke1dURl9ERVJJVkVEX1NPVVJDRVNfRElSfQotICAgICAgICBDT01N
QU5EIG1pZyAtRE1BQ0hfRVhDX1NFUlZFUl9UQVNLSURUT0tFTl9TVEFURSAtc2hlYWRlciBNYWNo
RXhjZXB0aW9uc1NlcnZlci5oIE1hY2hFeGNlcHRpb25zLmRlZnMKKyAgICAgICAgQ09NTUFORCBt
aWcgLXNoZWFkZXIgTWFjaEV4Y2VwdGlvbnNTZXJ2ZXIuaCBNYWNoRXhjZXB0aW9ucy5kZWZzCiAg
ICAgICAgIFZFUkJBVElNKQogICAgIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgICAgIGNv
Y29hL01lbW9yeUZvb3RwcmludENvY29hLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQppbmRl
eCA4NDMzYzA2YjQ5ODIuLjE0ZjA3YmQwMWY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UK
QEAgLTExNyw3ICsxMTcsNyBAQCBhZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgICAgICR7V1RGX0RF
UklWRURfU09VUkNFU19ESVJ9L21hY2hfZXhjVXNlci5jCiAgICAgTUFJTl9ERVBFTkRFTkNZIG1h
Yy9NYWNoRXhjZXB0aW9ucy5kZWZzCiAgICAgV09SS0lOR19ESVJFQ1RPUlkgJHtXVEZfREVSSVZF
RF9TT1VSQ0VTX0RJUn0KLSAgICBDT01NQU5EIG1pZyAtRE1BQ0hfRVhDX1NFUlZFUl9UQVNLSURU
T0tFTl9TVEFURSAtc2hlYWRlciBNYWNoRXhjZXB0aW9uc1NlcnZlci5oIE1hY2hFeGNlcHRpb25z
LmRlZnMKKyAgICBDT01NQU5EIG1pZyAtc2hlYWRlciBNYWNoRXhjZXB0aW9uc1NlcnZlci5oIE1h
Y2hFeGNlcHRpb25zLmRlZnMKICAgICBWRVJCQVRJTSkKIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VT
CiAgICAgJHtXVEZfREVSSVZFRF9TT1VSQ0VTX0RJUn0vbWFjaF9leGNTZXJ2ZXIuYwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1SZWdpc3RlcnMuY3BwIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1SZWdpc3RlcnMuY3BwCmluZGV4IGRmM2I4NzBmNjM2Yy4uMTM2OTQxNzkwNzM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVJlZ2lzdGVycy5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1SZWdpc3RlcnMuY3BwCkBAIC01MywxNCArNTMsNiBAQCB2
b2lkKiB0aHJlYWRTdGF0ZUxSSW50ZXJuYWwoUGxhdGZvcm1SZWdpc3RlcnMmIHJlZ3MpCiAKIHZv
aWQqIHRocmVhZFN0YXRlUENJbnRlcm5hbChQbGF0Zm9ybVJlZ2lzdGVycyYgcmVncykKIHsKLSNp
ZiBDUFUoQVJNNjRFKSAmJiBkZWZpbmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElUWV9QUk9URUNU
RUQpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikKLSAgICAvLyBJZiB1c2Vyc3Bh
Y2UgaGFzIG1vZGlmaWVkIHRoZSBQQyBhbmQgc2V0IGl0IHRvIHRoZSBwcmVzaWduZWRUcmFtcG9s
aW5lLAotICAgIC8vIHdlIHdhbnQgdG8gYXZvaWQgYXV0aGluZyB0aGUgdmFsdWUgYXMgaXQgaXMg
dXNpbmcgYSBjdXN0b20gcHRyYXV0aCBzaWduaW5nIHNjaGVtZS4KLSAgICBfU1RSVUNUX0FSTV9U
SFJFQURfU1RBVEU2NCogdHMgPSAmKHJlZ3MpOwotICAgIGlmICghKHRzLT5fX29wYXF1ZV9mbGFn
cyAmIF9fREFSV0lOX0FSTV9USFJFQURfU1RBVEU2NF9GTEFHU19LRVJORUxfU0lHTkVEX1BDKSkK
LSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0jZW5kaWYgLy8gZGVmaW5lZChFWENFUFRJT05fU1RB
VEVfSURFTlRJVFlfUFJPVEVDVEVEKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1Ip
Ci0KICAgICB2b2lkKiBjYW5kaWRhdGVQQyA9IGFybV90aHJlYWRfc3RhdGU2NF9nZXRfcGNfZnB0
cihyZWdzKTsKIAogI2lmIFVTRShVTlRBR0dFRF9USFJFQURfU1RBVEVfUFRSKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1SZWdpc3RlcnMuaCBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtUmVnaXN0ZXJzLmgKaW5kZXggMTBmNWU1MTg0YjgzLi5iMDU5NGIyYzcwZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUmVnaXN0ZXJzLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1SZWdpc3RlcnMuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KIAogI2lmIE9TKERBUldJTikKLSNpbmNsdWRlIDxtYWNoL2V4Y2Vw
dGlvbl90eXBlcy5oPgogI2luY2x1ZGUgPG1hY2gvdGhyZWFkX2FjdC5oPgogI2luY2x1ZGUgPHNp
Z25hbC5oPgogI2VsaWYgT1MoV0lORE9XUykKQEAgLTEzMSwxMyArMTMwLDggQEAgdXNpbmcgV1RG
Ojp0aHJlYWRTdGF0ZVBDSW50ZXJuYWw7CiAjZGVmaW5lIFdURl9SRUFEX1BMQVRGT1JNX1JFR0lT
VEVSU19QQ19XSVRIX1BST0ZJTEUocmVncykgXAogICAgIHRocmVhZFN0YXRlUENJbnRlcm5hbChj
b25zdF9jYXN0PFBsYXRmb3JtUmVnaXN0ZXJzJj4ocmVncykpCiAKLSNpZiBkZWZpbmVkKEVYQ0VQ
VElPTl9TVEFURV9JREVOVElUWV9QUk9URUNURUQpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJ
TVVMQVRPUikKLSNkZWZpbmUgV1RGX1dSSVRFX1BMQVRGT1JNX1JFR0lTVEVSU19QQ19XSVRIX1BS
T0ZJTEUocmVncywgbmV3UG9pbnRlcikgXAotICAgIGFybV90aHJlYWRfc3RhdGU2NF9zZXRfcGNf
cHJlc2lnbmVkX2ZwdHIocmVncywgbmV3UG9pbnRlcikKLSNlbHNlIC8vIGRlZmluZWQoRVhDRVBU
SU9OX1NUQVRFX0lERU5USVRZX1BST1RFQ1RFRCkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lN
VUxBVE9SKQogI2RlZmluZSBXVEZfV1JJVEVfUExBVEZPUk1fUkVHSVNURVJTX1BDX1dJVEhfUFJP
RklMRShyZWdzLCBuZXdQb2ludGVyKSBcCiAgICAgYXJtX3RocmVhZF9zdGF0ZTY0X3NldF9wY19m
cHRyKHJlZ3MsIG5ld1BvaW50ZXIpCi0jZW5kaWYgLy8gZGVmaW5lZChFWENFUFRJT05fU1RBVEVf
SURFTlRJVFlfUFJPVEVDVEVEKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpCiAK
ICNkZWZpbmUgV1RGX1JFQURfTUFDSElORV9DT05URVhUX1NQX1dJVEhfUFJPRklMRShtYWNoaW5l
Q29udGV4dCkgXAogICAgIFdURl9SRUFEX1BMQVRGT1JNX1JFR0lTVEVSU19TUF9XSVRIX1BST0ZJ
TEUobWFjaGluZUNvbnRleHQtPl9fc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90aHJl
YWRzL1NpZ25hbHMuY3BwIGIvU291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxzLmNwcAppbmRl
eCAyMGM0YWUwYzk1NmUuLjY4ZmM1ZjY0YzJmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
dGhyZWFkcy9TaWduYWxzLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMu
Y3BwCkBAIC00MSwzMCArNDEsMjggQEAgZXh0ZXJuICJDIiB7CiAjaWYgSEFWRShNQUNIX0VYQ0VQ
VElPTlMpCiAjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbmNsdWRlIDxtYWNoL21h
Y2guaD4KLSNpbmNsdWRlIDxtYWNoL3BvcnQuaD4KLSNpbmNsdWRlIDxtYWNoL3Rhc2suaD4KICNp
bmNsdWRlIDxtYWNoL3RocmVhZF9hY3QuaD4KLSNpbmNsdWRlIDxtYWNoL3RocmVhZF9zdGF0dXMu
aD4KICNlbmRpZgogCiAjaWYgT1MoREFSV0lOKQogI2luY2x1ZGUgPG1hY2gvdm1fcGFyYW0uaD4K
ICNlbmRpZgogCi0jaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4K
ICNpbmNsdWRlIDx3dGYvRGF0YUxvZy5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAj
aW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtUmVn
aXN0ZXJzLmg+Ci0jaW5jbHVkZSA8d3RmL1Njb3BlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZEdy
b3VwLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgotI2luY2x1ZGUgPHd0Zi9UcmFuc2xh
dGVkUHJvY2Vzcy5oPgogI2luY2x1ZGUgPHd0Zi9XVEZDb25maWcuaD4KIAogbmFtZXNwYWNlIFdU
RiB7CiAKKyNpZiBIQVZFKE1BQ0hfRVhDRVBUSU9OUykKK3N0YXRpYyBleGNlcHRpb25fbWFza190
IHRvTWFjaE1hc2soU2lnbmFsKTsKKyNlbmRpZgorCiB2b2lkIFNpZ25hbEhhbmRsZXJzOjphZGQo
U2lnbmFsIHNpZ25hbCwgU2lnbmFsSGFuZGxlciYmIGhhbmRsZXIpCiB7CiAgICAgQ29uZmlnOjpB
c3NlcnROb3RGcm96ZW5TY29wZSBhc3NlcnRTY29wZTsKQEAgLTExMiw5ICsxMTAsOCBAQCBpbmxp
bmUgdm9pZCBTaWduYWxIYW5kbGVyczo6Zm9yRWFjaEhhbmRsZXIoU2lnbmFsIHNpZ25hbCwgY29u
c3QgRnVuYyYgZnVuYykgY29ucwogLy8gaHR0cDovL3d3dy5jcy5jbXUuZWR1L2Fmcy9jcy9wcm9q
ZWN0L21hY2gvcHVibGljL2RvYy91bnB1Ymxpc2hlZC9taWcucHMKIAogc3RhdGljIGNvbnN0ZXhw
ciBzaXplX3QgbWF4TWVzc2FnZVNpemUgPSAxICogS0I7Ci11aW50MzJfdCByYW5kb21TaWduaW5n
S2V5ID0gMDsKIAotdm9pZCBpbml0TWFjaEV4Y2VwdGlvbkhhbmRsZXJUaHJlYWQoYm9vbCBlbmFi
bGUsIHVpbnQzMl90IHNpZ25pbmdLZXksIGV4Y2VwdGlvbl9tYXNrX3QgbWFzaykKK3ZvaWQgaW5p
dE1hY2hFeGNlcHRpb25IYW5kbGVyVGhyZWFkKGJvb2wgZW5hYmxlKQogewogICAgIHN0YXRpYyBz
dGQ6Om9uY2VfZmxhZyBvbmNlOwogICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2UsIFs9XSB7CkBAIC0x
MjcsMzcgKzEyNCwxOCBAQCB2b2lkIGluaXRNYWNoRXhjZXB0aW9uSGFuZGxlclRocmVhZChib29s
IGVuYWJsZSwgdWludDMyX3Qgc2lnbmluZ0tleSwgZXhjZXB0aW9uXwogICAgICAgICBDb25maWc6
OkFzc2VydE5vdEZyb3plblNjb3BlIGFzc2VydFNjb3BlOwogICAgICAgICBTaWduYWxIYW5kbGVy
cyYgaGFuZGxlcnMgPSBnX3d0ZkNvbmZpZy5zaWduYWxIYW5kbGVyczsKIAotICAgICAgICB1aW50
MTZfdCBmbGFncyA9IE1QT19JTlNFUlRfU0VORF9SSUdIVDsKLQotLy8gVGhpcyBwcm92aXNpb25h
bCBmbGFnIGNhbiBiZSByZW1vdmVkIG9uY2UgbWFjb3Mgc29ub21hIGlzIG5vIGxvbmdlciBzdXBw
b3J0ZWQKKyAgICAgICAgdWludDE2X3QgZmxhZ3MgPSAwOwogI2lmZGVmIE1QT19QUk9WSVNJT05B
TF9JRF9QUk9UX09QVE9VVAogICAgICAgICBmbGFncyB8PSBNUE9fUFJPVklTSU9OQUxfSURfUFJP
VF9PUFRPVVQ7CiAjZW5kaWYKLQotI2lmIGRlZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZ
X1BST1RFQ1RFRCkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKQotICAgICAgICBm
bGFncyB8PSBNUE9fRVhDRVBUSU9OX1BPUlQ7Ci0jZW5kaWYKICAgICAgICAgbWFjaF9wb3J0X29w
dGlvbnNfdCBvcHRzID0gewogICAgICAgICAgICAgLmZsYWdzID0gZmxhZ3MKICAgICAgICAgfTsK
IAotCiAgICAgICAgIGtlcm5fcmV0dXJuX3Qga3IgPSBtYWNoX3BvcnRfY29uc3RydWN0KG1hY2hf
dGFza19zZWxmKCksICZvcHRzLCAwLCAmaGFuZGxlcnMuZXhjZXB0aW9uUG9ydCk7CiAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKGtyID09IEtFUk5fU1VDQ0VTUyk7Ci0KLSNpZiBkZWZpbmVkKEVYQ0VQ
VElPTl9TVEFURV9JREVOVElUWV9QUk9URUNURUQpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJ
TVVMQVRPUikKLSAgICAgICAgdWludDY0X3QgZXhjZXB0aW9uc0FsbG93ZWQgPSBtYXNrOwotICAg
ICAgICB1aW50NjRfdCBiZWhhdmlvcnNBbGxvd2VkID0gRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZ
X1BST1RFQ1RFRCB8IE1BQ0hfRVhDRVBUSU9OX0NPREVTOwotICAgICAgICB1aW50NjRfdCBmbGF2
b3JzQWxsb3dlZCA9IE1BQ0hJTkVfVEhSRUFEX1NUQVRFOwotCi0gICAgICAgIGtyID0gdGFza19y
ZWdpc3Rlcl9oYXJkZW5lZF9leGNlcHRpb25faGFuZGxlcihjdXJyZW50X3Rhc2soKSwKLSAgICAg
ICAgICAgIHNpZ25pbmdLZXksIGV4Y2VwdGlvbnNBbGxvd2VkLAotICAgICAgICAgICAgYmVoYXZp
b3JzQWxsb3dlZCwgZmxhdm9yc0FsbG93ZWQsIGhhbmRsZXJzLmV4Y2VwdGlvblBvcnQpOworICAg
ICAgICBrciA9IG1hY2hfcG9ydF9pbnNlcnRfcmlnaHQobWFjaF90YXNrX3NlbGYoKSwgaGFuZGxl
cnMuZXhjZXB0aW9uUG9ydCwgaGFuZGxlcnMuZXhjZXB0aW9uUG9ydCwgTUFDSF9NU0dfVFlQRV9N
QUtFX1NFTkQpOwogICAgICAgICBSRUxFQVNFX0FTU0VSVChrciA9PSBLRVJOX1NVQ0NFU1MpOwot
I2Vsc2UKLSAgICAgICAgVU5VU0VEX1BBUkFNKHNpZ25pbmdLZXkpOwotICAgICAgICBVTlVTRURf
UEFSQU0obWFzayk7Ci0jZW5kaWYKIAogICAgICAgICBkaXNwYXRjaF9zb3VyY2VfdCBzb3VyY2Ug
PSBkaXNwYXRjaF9zb3VyY2VfY3JlYXRlKAogICAgICAgICAgICAgRElTUEFUQ0hfU09VUkNFX1RZ
UEVfTUFDSF9SRUNWLCBoYW5kbGVycy5leGNlcHRpb25Qb3J0LCAwLCBESVNQQVRDSF9UQVJHRVRf
UVVFVUVfREVGQVVMVCk7CkBAIC0xODksNiArMTY3LDE4IEBAIHN0YXRpYyBTaWduYWwgZnJvbU1h
Y2hFeGNlcHRpb24oZXhjZXB0aW9uX3R5cGVfdCB0eXBlKQogICAgIHJldHVybiBTaWduYWw6OlVu
a25vd247CiB9CiAKK3N0YXRpYyBleGNlcHRpb25fbWFza190IHRvTWFjaE1hc2soU2lnbmFsIHNp
Z25hbCkKK3sKKyAgICBzd2l0Y2ggKHNpZ25hbCkgeworICAgIGNhc2UgU2lnbmFsOjpBY2Nlc3NG
YXVsdDogcmV0dXJuIEVYQ19NQVNLX0JBRF9BQ0NFU1M7CisgICAgY2FzZSBTaWduYWw6OklsbGVn
YWxJbnN0cnVjdGlvbjogcmV0dXJuIEVYQ19NQVNLX0JBRF9JTlNUUlVDVElPTjsKKyAgICBjYXNl
IFNpZ25hbDo6RmxvYXRpbmdQb2ludDogcmV0dXJuIEVYQ19NQVNLX0FSSVRITUVUSUM7CisgICAg
Y2FzZSBTaWduYWw6OkJyZWFrcG9pbnQ6IHJldHVybiBFWENfTUFTS19CUkVBS1BPSU5UOworICAg
IGRlZmF1bHQ6IGJyZWFrOworICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OworfQorCiAjaWYgQ1BVKEFSTTY0RSkgJiYgT1MoREFSV0lOKQogaW5saW5lIHB0cmF1dGhfZ2Vu
ZXJpY19zaWduYXR1cmVfdCBoYXNoVGhyZWFkU3RhdGUoY29uc3QgdGhyZWFkX3N0YXRlX3Qgc291
cmNlKQogewpAQCAtMjMyLDUzICsyMjIsNiBAQCBrZXJuX3JldHVybl90IGNhdGNoX21hY2hfZXhj
ZXB0aW9uX3JhaXNlX3N0YXRlX2lkZW50aXR5KG1hY2hfcG9ydF90LCBtYWNoX3BvcnRfdAogICAg
IHJldHVybiBLRVJOX0ZBSUxVUkU7CiB9CiAKLXN0YXRpYyBrZXJuX3JldHVybl90IHJ1blNpZ25h
bEhhbmRsZXJzKFNpZ25hbCAmc2lnbmFsLCBQbGF0Zm9ybVJlZ2lzdGVycyYgcmVnaXN0ZXJzLCBi
b29sICZkaWRIYW5kbGUsIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgZGF0YUNvdW50LCBtYWNoX2V4
Y2VwdGlvbl9kYXRhX3QgZXhjZXB0aW9uRGF0YSkKLXsKLSAgICBTaWdJbmZvIGluZm87Ci0gICAg
U2lnbmFsSGFuZGxlcnMmIGhhbmRsZXJzID0gZ193dGZDb25maWcuc2lnbmFsSGFuZGxlcnM7Ci0g
ICAgaWYgKHNpZ25hbCA9PSBTaWduYWw6OkFjY2Vzc0ZhdWx0KSB7Ci0gICAgICAgIEFTU0VSVF9V
TlVTRUQoZGF0YUNvdW50LCBkYXRhQ291bnQgPT0gMik7Ci0gICAgICAgIGluZm8uZmF1bHRpbmdB
ZGRyZXNzID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZXhjZXB0aW9uRGF0YVsxXSk7Ci0jaWYg
Q1BVKEFERFJFU1M2NCkKLSAgICAgICAgLy8gSWYgdGhlIGZhdWx0aW5nIGFkZHJlc3MgaXMgb3V0
IG9mIHRoZSByYW5nZSBvZiBhbnkgdmFsaWQgbWVtb3J5LCB3ZSB3b3VsZAotICAgICAgICAvLyBu
b3QgaGF2ZSBhbnkgcmVhc29uIHRvIGhhbmRsZSBpdC4gSnVzdCBsZXQgdGhlIGRlZmF1bHQgaGFu
ZGxlciB0YWtlIGNhcmUgb2YgaXQuCi0gICAgICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQg
dmFsaWRBZGRyZXNzQml0cyA9IE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKTsK
LSAgICAgICAgc3RhdGljIGNvbnN0ZXhwciB1aW50cHRyX3QgaW52YWxpZEFkZHJlc3NNYXNrID0g
figoMXVsbCA8PCB2YWxpZEFkZHJlc3NCaXRzKSAtIDEpOwotICAgICAgICBpZiAoYml0d2lzZV9j
YXN0PHVpbnRwdHJfdD4oaW5mby5mYXVsdGluZ0FkZHJlc3MpICYgaW52YWxpZEFkZHJlc3NNYXNr
KQotICAgICAgICAgICAgcmV0dXJuIEtFUk5fRkFJTFVSRTsKLSNlbmRpZgotICAgIH0KLQotICAg
IGhhbmRsZXJzLmZvckVhY2hIYW5kbGVyKHNpZ25hbCwgWyZdIChjb25zdCBTaWduYWxIYW5kbGVy
JiBoYW5kbGVyKSB7Ci0gICAgICAgIFNpZ25hbEFjdGlvbiBoYW5kbGVyUmVzdWx0ID0gaGFuZGxl
cihzaWduYWwsIGluZm8sIHJlZ2lzdGVycyk7Ci0gICAgICAgIGRpZEhhbmRsZSB8PSBoYW5kbGVy
UmVzdWx0ID09IFNpZ25hbEFjdGlvbjo6SGFuZGxlZDsKLSAgICB9KTsKLSAgICByZXR1cm4gS0VS
Tl9TVUNDRVNTOwotfQotCi0jaWYgZGVmaW5lZChFWENFUFRJT05fU1RBVEVfSURFTlRJVFlfUFJP
VEVDVEVEKQotCi1rZXJuX3JldHVybl90IGNhdGNoX21hY2hfZXhjZXB0aW9uX3JhaXNlX3N0YXRl
X2lkZW50aXR5X3Byb3RlY3RlZCgKLSAgICBtYWNoX3BvcnRfdCBleGNlcHRpb25Qb3J0LAotICAg
IHVpbnQ2NF90IHRocmVhZElELAotICAgIG1hY2hfcG9ydF90IHRhc2tJRFRva2VuLAotICAgIGV4
Y2VwdGlvbl90eXBlX3QgZXhjZXB0aW9uVHlwZSwKLSAgICBtYWNoX2V4Y2VwdGlvbl9kYXRhX3Qg
ZXhjZXB0aW9uRGF0YSwKLSAgICBtYWNoX21zZ190eXBlX251bWJlcl90IGRhdGFDb3VudCwKLSAg
ICBpbnQqIHN0YXRlRmxhdm9yLAotICAgIGNvbnN0IHRocmVhZF9zdGF0ZV90IGluU3RhdGUsCi0g
ICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCBpblN0YXRlQ291bnQsCi0gICAgdGhyZWFkX3N0YXRl
X3Qgb3V0U3RhdGUsCi0gICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCogb3V0U3RhdGVDb3VudCkK
LXsKLSAgICBVTlVTRURfUEFSQU0odGhyZWFkSUQpOwotICAgIFVOVVNFRF9QQVJBTSh0YXNrSURU
b2tlbik7Ci0gICAgcmV0dXJuIGNhdGNoX21hY2hfZXhjZXB0aW9uX3JhaXNlX3N0YXRlKGV4Y2Vw
dGlvblBvcnQsIGV4Y2VwdGlvblR5cGUsIGV4Y2VwdGlvbkRhdGEsCi0gICAgICAgIGRhdGFDb3Vu
dCwgc3RhdGVGbGF2b3IsIGluU3RhdGUsIGluU3RhdGVDb3VudCwgb3V0U3RhdGUsIG91dFN0YXRl
Q291bnQpOwotfQotCi0jZW5kaWYgLy8gZGVmaW5lZChFWENFUFRJT05fU1RBVEVfSURFTlRJVFlf
UFJPVEVDVEVEKQotCiBrZXJuX3JldHVybl90IGNhdGNoX21hY2hfZXhjZXB0aW9uX3JhaXNlX3N0
YXRlKAogICAgIG1hY2hfcG9ydF90IHBvcnQsCiAgICAgZXhjZXB0aW9uX3R5cGVfdCBleGNlcHRp
b25UeXBlLApAQCAtMzIwLDEwICsyNjMsMjUgQEAga2Vybl9yZXR1cm5fdCBjYXRjaF9tYWNoX2V4
Y2VwdGlvbl9yYWlzZV9zdGF0ZSgKICAgICBQbGF0Zm9ybVJlZ2lzdGVycyYgcmVnaXN0ZXJzID0g
cmVpbnRlcnByZXRfY2FzdDxhcm1fdW5pZmllZF90aHJlYWRfc3RhdGUqPihvdXRTdGF0ZSktPnRz
XzMyOwogI2VuZGlmCiAKKyAgICBTaWdJbmZvIGluZm87CisgICAgaWYgKHNpZ25hbCA9PSBTaWdu
YWw6OkFjY2Vzc0ZhdWx0KSB7CisgICAgICAgIEFTU0VSVF9VTlVTRUQoZGF0YUNvdW50LCBkYXRh
Q291bnQgPT0gMik7CisgICAgICAgIGluZm8uZmF1bHRpbmdBZGRyZXNzID0gcmVpbnRlcnByZXRf
Y2FzdDx2b2lkKj4oZXhjZXB0aW9uRGF0YVsxXSk7CisjaWYgQ1BVKEFERFJFU1M2NCkKKyAgICAg
ICAgLy8gSWYgdGhlIGZhdWx0aW5nIGFkZHJlc3MgaXMgb3V0IG9mIHRoZSByYW5nZSBvZiBhbnkg
dmFsaWQgbWVtb3J5LCB3ZSB3b3VsZAorICAgICAgICAvLyBub3QgaGF2ZSBhbnkgcmVhc29uIHRv
IGhhbmRsZSBpdC4gSnVzdCBsZXQgdGhlIGRlZmF1bHQgaGFuZGxlciB0YWtlIGNhcmUgb2YgaXQu
CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgdmFsaWRBZGRyZXNzQml0cyA9IE9T
X0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKTsKKyAgICAgICAgc3RhdGljIGNvbnN0
ZXhwciB1aW50cHRyX3QgaW52YWxpZEFkZHJlc3NNYXNrID0gfigoMXVsbCA8PCB2YWxpZEFkZHJl
c3NCaXRzKSAtIDEpOworICAgICAgICBpZiAoYml0d2lzZV9jYXN0PHVpbnRwdHJfdD4oaW5mby5m
YXVsdGluZ0FkZHJlc3MpICYgaW52YWxpZEFkZHJlc3NNYXNrKQorICAgICAgICAgICAgcmV0dXJu
IEtFUk5fRkFJTFVSRTsKKyNlbmRpZgorICAgIH0KKwogICAgIGJvb2wgZGlkSGFuZGxlID0gZmFs
c2U7Ci0gICAga2Vybl9yZXR1cm5fdCBrciA9IHJ1blNpZ25hbEhhbmRsZXJzKHNpZ25hbCwgcmVn
aXN0ZXJzLCBkaWRIYW5kbGUsIGRhdGFDb3VudCwgZXhjZXB0aW9uRGF0YSk7Ci0gICAgaWYgKGty
ICE9IEtFUk5fU1VDQ0VTUykKLSAgICAgICAgcmV0dXJuIGtyOworICAgIGhhbmRsZXJzLmZvckVh
Y2hIYW5kbGVyKHNpZ25hbCwgWyZdIChjb25zdCBTaWduYWxIYW5kbGVyJiBoYW5kbGVyKSB7Cisg
ICAgICAgIFNpZ25hbEFjdGlvbiBoYW5kbGVyUmVzdWx0ID0gaGFuZGxlcihzaWduYWwsIGluZm8s
IHJlZ2lzdGVycyk7CisgICAgICAgIGRpZEhhbmRsZSB8PSBoYW5kbGVyUmVzdWx0ID09IFNpZ25h
bEFjdGlvbjo6SGFuZGxlZDsKKyAgICB9KTsKIAogICAgIGlmIChkaWRIYW5kbGUpIHsKICNpZiBD
UFUoQVJNNjRFKSAmJiBPUyhEQVJXSU4pCkBAIC0zNDksMjcgKzMwNyw3IEBAIGlubGluZSB2b2lk
IHNldEV4Y2VwdGlvblBvcnRzKGNvbnN0IEFic3RyYWN0TG9ja2VyJiB0aHJlYWRHcm91cExvY2tl
ciwgVGhyZWFkJiB0CiB7CiAgICAgVU5VU0VEX1BBUkFNKHRocmVhZEdyb3VwTG9ja2VyKTsKICAg
ICBTaWduYWxIYW5kbGVycyYgaGFuZGxlcnMgPSBnX3d0ZkNvbmZpZy5zaWduYWxIYW5kbGVyczsK
LQotI2lmIGRlZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZX1BST1RFQ1RFRCkgJiYgIVBM
QVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKQotICAgIGV4Y2VwdGlvbl9iZWhhdmlvcl90IG5l
d0JlaGF2aW9yID0gTUFDSF9FWENFUFRJT05fQ09ERVM7Ci0gICAgaWYgKFdURjo6aXNYODZCaW5h
cnlSdW5uaW5nT25BUk0oKSkgewotICAgICAgICAvLyBJZiB3ZSBhcmUgYSB0cmFuc2xhdGVkIHBy
b2Nlc3MgaW4gcm9zZXR0YSwgdXNlIHRoZSBvbGQgZXhjZXB0aW9uIHN0eWxlCi0gICAgICAgIG5l
d0JlaGF2aW9yIHw9IEVYQ0VQVElPTl9TVEFURTsKLSAgICB9IGVsc2UgewotICAgICAgICAvLyBP
dGhlcndpc2UgdXNlIHRoZSBuZXcgc3R5bGUKLSAgICAgICAgbmV3QmVoYXZpb3IgfD0gRVhDRVBU
SU9OX1NUQVRFX0lERU5USVRZX1BST1RFQ1RFRDsKLSAgICAgICAga2Vybl9yZXR1cm5fdCByZXN1
bHQgPSB0aHJlYWRfYWRvcHRfZXhjZXB0aW9uX2hhbmRsZXIodGhyZWFkLm1hY2hUaHJlYWQoKSwg
aGFuZGxlcnMuZXhjZXB0aW9uUG9ydCwgaGFuZGxlcnMuYWRkZWRFeGNlcHRpb25zICZhY3RpdmVF
eGNlcHRpb25zLCBuZXdCZWhhdmlvciwgTUFDSElORV9USFJFQURfU1RBVEUpOwotICAgICAgICBp
ZiAocmVzdWx0ICE9IEtFUk5fU1VDQ0VTUykgewotICAgICAgICAgICAgZGF0YUxvZ0xuKCJ0aHJl
YWQgYWRvcHQgZXhjZXB0aW9uIGhhbmRsZXIgZmFpbGVkIGR1ZSB0byAiLCBtYWNoX2Vycm9yX3N0
cmluZyhyZXN1bHQpKTsKLSAgICAgICAgICAgIENSQVNIKCk7Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLSNlbHNlIC8vIGRlZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZ
X1BST1RFQ1RFRCkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKQotICAgIGV4Y2Vw
dGlvbl9iZWhhdmlvcl90IG5ld0JlaGF2aW9yID0gRVhDRVBUSU9OX1NUQVRFIHwgTUFDSF9FWENF
UFRJT05fQ09ERVM7Ci0jZW5kaWYgLy8gZGVmaW5lZChFWENFUFRJT05fU1RBVEVfSURFTlRJVFlf
UFJPVEVDVEVEKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpCi0KLSAgICBrZXJu
X3JldHVybl90IHJlc3VsdCA9IHRocmVhZF9zZXRfZXhjZXB0aW9uX3BvcnRzKHRocmVhZC5tYWNo
VGhyZWFkKCksIGhhbmRsZXJzLmFkZGVkRXhjZXB0aW9ucyAmYWN0aXZlRXhjZXB0aW9ucywgaGFu
ZGxlcnMuZXhjZXB0aW9uUG9ydCwgbmV3QmVoYXZpb3IsIE1BQ0hJTkVfVEhSRUFEX1NUQVRFKTsK
KyAgICBrZXJuX3JldHVybl90IHJlc3VsdCA9IHRocmVhZF9zZXRfZXhjZXB0aW9uX3BvcnRzKHRo
cmVhZC5tYWNoVGhyZWFkKCksIGhhbmRsZXJzLmFkZGVkRXhjZXB0aW9ucyAmIGFjdGl2ZUV4Y2Vw
dGlvbnMsIGhhbmRsZXJzLmV4Y2VwdGlvblBvcnQsIEVYQ0VQVElPTl9TVEFURSB8IE1BQ0hfRVhD
RVBUSU9OX0NPREVTLCBNQUNISU5FX1RIUkVBRF9TVEFURSk7CiAgICAgaWYgKHJlc3VsdCAhPSBL
RVJOX1NVQ0NFU1MpIHsKICAgICAgICAgZGF0YUxvZ0xuKCJ0aHJlYWQgc2V0IHBvcnQgZmFpbGVk
IGR1ZSB0byAiLCBtYWNoX2Vycm9yX3N0cmluZyhyZXN1bHQpKTsKICAgICAgICAgQ1JBU0goKTsK
QEAgLTQ4MCwyMCArNDE4LDEwIEBAIHZvaWQgYWN0aXZhdGVTaWduYWxIYW5kbGVyc0ZvcihTaWdu
YWwgc2lnbmFsKQogICAgIEFTU0VSVChzaWduYWwgPCBTaWduYWw6OlVua25vd24pOwogICAgIEFT
U0VSVCghaGFuZGxlcnMudXNlTWFjaCB8fCBzaWduYWwgIT0gU2lnbmFsOjpVc3IpOwogCi0gICAg
aWYgKGhhbmRsZXJzLnVzZU1hY2gpCi0gICAgICAgIGFjdGl2ZUV4Y2VwdGlvbnMgfD0gdG9NYWNo
TWFzayhzaWduYWwpOwotI2VuZGlmCi19Ci0KLQotdm9pZCBmaW5hbGl6ZVNpZ25hbEhhbmRsZXJz
KCkKLXsKLSNpZiBIQVZFKE1BQ0hfRVhDRVBUSU9OUykKLSAgICBjb25zdCBTaWduYWxIYW5kbGVy
cyYgaGFuZGxlcnMgPSBnX3d0ZkNvbmZpZy5zaWduYWxIYW5kbGVyczsKLSAgICBSRUxFQVNFX0FT
U0VSVChoYW5kbGVycy5pbml0U3RhdGUgPj0gU2lnbmFsSGFuZGxlcnM6OkluaXRTdGF0ZTo6SW5p
dGlhbGl6ZWRIYW5kbGVyVGhyZWFkKTsKLQogICAgIExvY2tlciBsb2NrZXIgeyBhY3RpdmVUaHJl
YWRzKCkuZ2V0TG9jaygpIH07CiAgICAgaWYgKGhhbmRsZXJzLnVzZU1hY2gpIHsKKyAgICAgICAg
YWN0aXZlRXhjZXB0aW9ucyB8PSB0b01hY2hNYXNrKHNpZ25hbCk7CisKICAgICAgICAgZm9yIChh
dXRvJiB0aHJlYWQgOiBhY3RpdmVUaHJlYWRzKCkudGhyZWFkcyhsb2NrZXIpKQogICAgICAgICAg
ICAgc2V0RXhjZXB0aW9uUG9ydHMobG9ja2VyLCB0aHJlYWQuZ2V0KCkpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5oIGIvU291cmNlL1dURi93dGYv
dGhyZWFkcy9TaWduYWxzLmgKaW5kZXggZjM0ZWQ0OTdiMDg3Li43MzU3NTk4ZTA0M2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL3RocmVhZHMvU2lnbmFscy5oCkBAIC0xMjQsMzYgKzEyNCwxOCBAQCBzdHJ1Y3QgU2lnbmFs
SGFuZGxlcnMgewogLy8gYW5kIG9uY2UgY29tbWl0ZWQgdGhleSBjYW4ndCBiZSB0dXJuZWQgb2Zm
LgogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkU2lnbmFsSGFuZGxlcihTaWduYWwsIFNpZ25h
bEhhbmRsZXImJik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBhY3RpdmF0ZVNpZ25hbEhhbmRs
ZXJzRm9yKFNpZ25hbCk7Ci1XVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBmaW5hbGl6ZVNpZ25hbEhh
bmRsZXJzKCk7Ci0KLSNpZiBPUyhVTklYKSAmJiBIQVZFKE1BQ0hfRVhDRVBUSU9OUykKLWlubGlu
ZSBleGNlcHRpb25fbWFza190IHRvTWFjaE1hc2soU2lnbmFsIHNpZ25hbCkKLXsKLSAgICBzd2l0
Y2ggKHNpZ25hbCkgewotICAgIGNhc2UgU2lnbmFsOjpBY2Nlc3NGYXVsdDogcmV0dXJuIEVYQ19N
QVNLX0JBRF9BQ0NFU1M7Ci0gICAgY2FzZSBTaWduYWw6OklsbGVnYWxJbnN0cnVjdGlvbjogcmV0
dXJuIEVYQ19NQVNLX0JBRF9JTlNUUlVDVElPTjsKLSAgICBjYXNlIFNpZ25hbDo6RmxvYXRpbmdQ
b2ludDogcmV0dXJuIEVYQ19NQVNLX0FSSVRITUVUSUM7Ci0gICAgY2FzZSBTaWduYWw6OkJyZWFr
cG9pbnQ6IHJldHVybiBFWENfTUFTS19CUkVBS1BPSU5UOwotICAgIGRlZmF1bHQ6IGJyZWFrOwot
ICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotI2VuZGlmIC8vIE9T
KFVOSVgpICYmIEhBVkUoTUFDSF9FWENFUFRJT05TKQorCiAKICNpZiBIQVZFKE1BQ0hfRVhDRVBU
SU9OUykKIGNsYXNzIFRocmVhZDsKIHZvaWQgcmVnaXN0ZXJUaHJlYWRGb3JNYWNoRXhjZXB0aW9u
SGFuZGxpbmcoVGhyZWFkJik7Ci1XVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBpbml0TWFjaEV4Y2Vw
dGlvbkhhbmRsZXJUaHJlYWQoYm9vbCwgdWludDMyX3QsIGV4Y2VwdGlvbl9tYXNrX3QpOwotaW5s
aW5lIHZvaWQgaW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5nKHVpbnQzMl90IHNpZ25pbmdLZXksIGV4
Y2VwdGlvbl9tYXNrX3QgbWFzaykgeyBpbml0TWFjaEV4Y2VwdGlvbkhhbmRsZXJUaHJlYWQodHJ1
ZSwgc2lnbmluZ0tleSwgbWFzayk7IH0KLWlubGluZSB2b2lkIGRpc2FibGVTaWduYWxIYW5kbGlu
ZygpIHsgaW5pdE1hY2hFeGNlcHRpb25IYW5kbGVyVGhyZWFkKGZhbHNlLCAwLCAwKTsgfQorV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgaW5pdE1hY2hFeGNlcHRpb25IYW5kbGVyVGhyZWFkKGJvb2wp
OworaW5saW5lIHZvaWQgaW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5nKCkgeyBpbml0TWFjaEV4Y2Vw
dGlvbkhhbmRsZXJUaHJlYWQodHJ1ZSk7IH0KK2lubGluZSB2b2lkIGRpc2FibGVTaWduYWxIYW5k
bGluZygpIHsgaW5pdE1hY2hFeGNlcHRpb25IYW5kbGVyVGhyZWFkKGZhbHNlKTsgfQogCiB2b2lk
IGhhbmRsZVNpZ25hbHNXaXRoTWFjaCgpOwogI2Vsc2UKLWlubGluZSB2b2lkIGluaXRpYWxpemVT
aWduYWxIYW5kbGluZyh1aW50MzJfdCBzaWduaW5nS2V5LCBpbnQgbWFzaykKLXsKLSAgICBVTlVT
RURfUEFSQU0oc2lnbmluZ0tleSk7Ci0gICAgVU5VU0VEX1BBUkFNKG1hc2spOwotfQoraW5saW5l
IHZvaWQgaW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5nKCkgeyB9CiBpbmxpbmUgdm9pZCBkaXNhYmxl
U2lnbmFsSGFuZGxpbmcoKSB7IH0KICNlbmRpZiAvLyBIQVZFKE1BQ0hfRVhDRVBUSU9OUykKIApA
QCAtMTcwLDYgKzE1Miw1IEBAIHVzaW5nIFdURjo6U2lnbmFsQWN0aW9uOwogdXNpbmcgV1RGOjpT
aWduYWxIYW5kbGVyOwogdXNpbmcgV1RGOjphZGRTaWduYWxIYW5kbGVyOwogdXNpbmcgV1RGOjph
Y3RpdmF0ZVNpZ25hbEhhbmRsZXJzRm9yOwotdXNpbmcgV1RGOjpmaW5hbGl6ZVNpZ25hbEhhbmRs
ZXJzOwogdXNpbmcgV1RGOjppbml0aWFsaXplU2lnbmFsSGFuZGxpbmc7CiB1c2luZyBXVEY6OmRp
c2FibGVTaWduYWxIYW5kbGluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9TaWdu
YWxzV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9TaWduYWxzV2luLmNwcAppbmRleCBmYTg0
MzU3YjJkNjQuLjk1M2U2YmNlOWZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL1Np
Z25hbHNXaW4uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9TaWduYWxzV2luLmNwcApAQCAt
MTQ5LDExICsxNDksNiBAQCB2b2lkIFNpZ25hbEhhbmRsZXJzOjppbml0aWFsaXplKCkKICAgICAv
LyBub29wCiB9CiAKLXZvaWQgZmluYWxpemVTaWduYWxIYW5kbGVycygpCi17Ci0gICAgLy8gbm9v
cAotfQotCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmIC8vIE9TKFdJTkRPV1MpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5h
cHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYi5pbiBiL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1Nh
bmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiLmluCmluZGV4
IDVmMGM0ZjQ1MWY2YS4uYTVhOGYwMTY4NWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Jl
c291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5z
Yi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2Nv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYi5pbgpAQCAtMTQ2NiwyOCArMTQ2NiwxMyBAQAog
I2VuZGlmCiAjZW5kaWYKIAotI2lmIEhBVkUoSEFSREVORURfTUFDSF9FWENFUFRJT05TKQotICAg
ICAgICAod2l0aC1maWx0ZXIgKHJlcXVpcmUtbm90IChsb2NrZG93bi1tb2RlKSkKLSAgICAgICAg
ICAgIChhbGxvdyBtYWNoLW1lc3NhZ2Utc2VuZCAoa2VybmVsLW1pZy1yb3V0aW5lIHRocmVhZF9h
ZG9wdF9leGNlcHRpb25faGFuZGxlcikpCiAjaWYgRU5BQkxFKEJMT0NLX1NFVF9FWENFUFRJT05f
UE9SVFMpCi0gICAgICAgICAgICAod2l0aC1maWx0ZXIgKHJlcXVpcmUtbm90ICh3ZWJjb250ZW50
LXByb2Nlc3MtbGF1bmNoZWQpKQotICAgICAgICAgICAgICAgIChhbGxvdyBtYWNoLW1lc3NhZ2Ut
c2VuZCAoa2VybmVsLW1pZy1yb3V0aW5lIHRhc2tfcmVnaXN0ZXJfaGFyZGVuZWRfZXhjZXB0aW9u
X2hhbmRsZXIpKSkKLSNlbHNlCi0gICAgICAgICAgICAoYWxsb3cgbWFjaC1tZXNzYWdlLXNlbmQg
KGtlcm5lbC1taWctcm91dGluZSB0YXNrX3JlZ2lzdGVyX2hhcmRlbmVkX2V4Y2VwdGlvbl9oYW5k
bGVyKSkKLSNlbmRpZiA7OyBFTkFCTEUoQkxPQ0tfU0VUX0VYQ0VQVElPTl9QT1JUUykKLSAgICAg
ICAgKQorICAgICAgICAod2l0aC1maWx0ZXIgKHJlcXVpcmUtbm90ICh3ZWJjb250ZW50LXByb2Nl
c3MtbGF1bmNoZWQpKQorICAgICAgICAgICAgKGFsbG93IG1hY2gtbWVzc2FnZS1zZW5kIChrZXJu
ZWwtbWlnLXJvdXRpbmUgdGhyZWFkX3NldF9leGNlcHRpb25fcG9ydHMpKSkKICNlbHNlCiAgICAg
ICAgICh3aXRoLWZpbHRlciAocmVxdWlyZS1ub3QgKGxvY2tkb3duLW1vZGUpKQotI2lmIEVOQUJM
RShCTE9DS19TRVRfRVhDRVBUSU9OX1BPUlRTKQotICAgICAgICAgICAgKHdpdGgtZmlsdGVyIChy
ZXF1aXJlLW5vdCAod2ViY29udGVudC1wcm9jZXNzLWxhdW5jaGVkKSkKLSAgICAgICAgICAgICAg
ICAoYWxsb3cgbWFjaC1tZXNzYWdlLXNlbmQgKGtlcm5lbC1taWctcm91dGluZSB0aHJlYWRfc2V0
X2V4Y2VwdGlvbl9wb3J0cykpKQotI2Vsc2UKLSAgICAgICAgICAgIChhbGxvdyBtYWNoLW1lc3Nh
Z2Utc2VuZCAoa2VybmVsLW1pZy1yb3V0aW5lIHRocmVhZF9zZXRfZXhjZXB0aW9uX3BvcnRzKSkK
LSNlbmRpZiA7OyBFTkFCTEUoQkxPQ0tfU0VUX0VYQ0VQVElPTl9QT1JUUykKLSAgICAgICAgKQot
I2VuZGlmIDs7IEhBVkUoSEFSREVORURfTUFDSF9FWENFUFRJT05TKQotCi0KKyAgICAgICAgICAg
IChhbGxvdyBtYWNoLW1lc3NhZ2Utc2VuZCAoa2VybmVsLW1pZy1yb3V0aW5lIHRocmVhZF9zZXRf
ZXhjZXB0aW9uX3BvcnRzKSkpCisjZW5kaWYKIAogICAgICAgICAod2l0aC1maWx0ZXIgKGxvY2tk
b3duLW1vZGUpCiAgICAgICAgICAgICAoZGVueSBtYWNoLW1lc3NhZ2Utc2VuZCAod2l0aCB0ZWxl
bWV0cnkpICh3aXRoIG1lc3NhZ2UgIkxvY2tkb3duIG1vZGUiKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCmluZGV4IDNkMDIyNzM1
ZWQ4Yi4uYzhhNzIyZjNhMmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCkBAIC0xODIyLDE4ICsxODIyLDYgQEAKICNlbmRp
ZgogKSkKIAotKGRlZmluZSAoYWxsb3ctdGhyZWFkLWFkb3B0LWV4Y2VwdGlvbi1oYW5kbGVyKQot
ICAgICh3aGVuIChkZWZpbmVkPyAndGhyZWFkX2Fkb3B0X2V4Y2VwdGlvbl9oYW5kbGVyKQotICAg
ICAgICAoYWxsb3cgbWFjaC1tZXNzYWdlLXNlbmQgKGtlcm5lbC1taWctcm91dGluZSB0aHJlYWRf
YWRvcHRfZXhjZXB0aW9uX2hhbmRsZXIpKSkpCi0KLShkZWZpbmUgKGFsbG93LW1hY2gtZXhjZXB0
aW9ucykKLSNpZiBIQVZFKEhBUkRFTkVEX01BQ0hfRVhDRVBUSU9OUykKLSAgICAod2hlbiAoZGVm
aW5lZD8gJ3Rhc2tfcmVnaXN0ZXJfaGFyZGVuZWRfZXhjZXB0aW9uX2hhbmRsZXIpCi0gICAgICAg
IChhbGxvdyBtYWNoLW1lc3NhZ2Utc2VuZCAoa2VybmVsLW1pZy1yb3V0aW5lIHRhc2tfcmVnaXN0
ZXJfaGFyZGVuZWRfZXhjZXB0aW9uX2hhbmRsZXIpKSkpCi0jZWxzZQotICAgIChhbGxvdyBtYWNo
LW1lc3NhZ2Utc2VuZCAoa2VybmVsLW1pZy1yb3V0aW5lIHRocmVhZF9zZXRfZXhjZXB0aW9uX3Bv
cnRzKSkpCi0jZW5kaWYKLQogKGlmIChhbmQgKGVxdWFsPyAocGFyYW0gIkVOQUJMRV9TQU5EQk9Y
X01FU1NBR0VfRklMVEVSIikgIllFUyIpIChkZWZpbmVkPyAnbWFjaC1rZXJuZWwtZW5kcG9pbnQp
KQogICAgIChhbGxvdyBtYWNoLWtlcm5lbC1lbmRwb2ludAogICAgICAgICAoYXBwbHktbWVzc2Fn
ZS1maWx0ZXIKQEAgLTE4NDEsMjEgKzE4MjksMTcgQEAKICNpZiBFTkFCTEUoTE9DS0RPV05fTU9E
RV9URUxFTUVUUlkpCiAgICAgICAgICAgICAod2l0aC1maWx0ZXIgKHJlcXVpcmUtbm90IChsb2Nr
ZG93bi1tb2RlKSkKICAgICAgICAgICAgICAgICAoYWxsb3cgbWFjaC1tZXNzYWdlLXNlbmQgKGtl
cm5lbC1taWctcm91dGluZXMtYmxvY2tlZC1pbi1sb2NrZG93bi1tb2RlKSkKLSAgICAgICAgICAg
ICAgICAoYWxsb3cgbWFjaC1tZXNzYWdlLXNlbmQgKGtlcm5lbC1taWctcm91dGluZXMtYmxvY2tl
ZC1pbi1sb2NrZG93bi1tb2RlLWF2b2lkLXRlbGVtZXRyeSkpCi0gICAgICAgICAgICAgICAgKGFs
bG93LXRocmVhZC1hZG9wdC1leGNlcHRpb24taGFuZGxlcikpCisgICAgICAgICAgICAgICAgKGFs
bG93IG1hY2gtbWVzc2FnZS1zZW5kIChrZXJuZWwtbWlnLXJvdXRpbmVzLWJsb2NrZWQtaW4tbG9j
a2Rvd24tbW9kZS1hdm9pZC10ZWxlbWV0cnkpKSkKICAgICAgICAgICAgICh3aXRoLWZpbHRlciAo
bG9ja2Rvd24tbW9kZSkKICAgICAgICAgICAgICAgICAoZGVueSBtYWNoLW1lc3NhZ2Utc2VuZCAo
d2l0aCB0ZWxlbWV0cnkpIChrZXJuZWwtbWlnLXJvdXRpbmVzLWJsb2NrZWQtaW4tbG9ja2Rvd24t
bW9kZSkpCiAgICAgICAgICAgICAgICAgKGRlbnkgbWFjaC1tZXNzYWdlLXNlbmQgKHdpdGggdGVs
ZW1ldHJ5KSAoa2VybmVsLW1pZy1yb3V0aW5lcy1ibG9ja2VkLWluLWxvY2tkb3duLW1vZGUtYXZv
aWQtdGVsZW1ldHJ5KSkpCiAjZWxzZQogICAgICAgICAgICAgKGFsbG93IG1hY2gtbWVzc2FnZS1z
ZW5kIChrZXJuZWwtbWlnLXJvdXRpbmVzLWJsb2NrZWQtaW4tbG9ja2Rvd24tbW9kZSkpCiAgICAg
ICAgICAgICAoYWxsb3cgbWFjaC1tZXNzYWdlLXNlbmQgKGtlcm5lbC1taWctcm91dGluZXMtYmxv
Y2tlZC1pbi1sb2NrZG93bi1tb2RlLWF2b2lkLXRlbGVtZXRyeSkpCi0gICAgICAgICAgICAoYWxs
b3ctdGhyZWFkLWFkb3B0LWV4Y2VwdGlvbi1oYW5kbGVyKQogI2VuZGlmCiAjaWYgRU5BQkxFKEJM
T0NLX1NFVF9FWENFUFRJT05fUE9SVFMpCiAgICAgICAgICAgICAod2l0aC1maWx0ZXIgKHJlcXVp
cmUtbm90ICh3ZWJjb250ZW50LXByb2Nlc3MtbGF1bmNoZWQpKQotICAgICAgICAgICAgICAgIChh
bGxvdy1tYWNoLWV4Y2VwdGlvbnMpKQotI2Vsc2UKLSAgICAgICAgICAgIChhbGxvdy1tYWNoLWV4
Y2VwdGlvbnMpCisgICAgICAgICAgICAgICAgKGFsbG93IG1hY2gtbWVzc2FnZS1zZW5kIChrZXJu
ZWwtbWlnLXJvdXRpbmUgdGhyZWFkX3NldF9leGNlcHRpb25fcG9ydHMpKSkKICNlbmRpZgogCiAg
ICAgICAgICAgICAoYWxsb3cgbWFjaC1tZXNzYWdlLXNlbmQgKGtlcm5lbC1taWctcm91dGluZXMt
aW4tdXNlKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1NpZ25h
bHMuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU2lnbmFscy5jcHAKaW5kZXgg
ZWYwOTZjYTQ4NTVmLi40MzQ1ZWQyMjZiM2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL1NpZ25hbHMuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1NpZ25hbHMuY3BwCkBAIC00Nyw5ICs0Nyw3IEBAIHB1YmxpYzoKIFRFU1QoU2lnbmFscywg
U2lnbmFsc1dvcmtPbkV4aXQpCiB7CiAgICAgc3RhdGljIGJvb2wgaGFuZGxlclJhbiA9IGZhbHNl
OwotICAgIHVpbnQzMl90IGtleSA9IDA7Ci0gICAgaW50IG1hc2sgPSAwOwotICAgIGluaXRpYWxp
emVTaWduYWxIYW5kbGluZyhrZXksIG1hc2spOworICAgIGluaXRpYWxpemVTaWduYWxIYW5kbGlu
ZygpOwogICAgIGFkZFNpZ25hbEhhbmRsZXIoU2lnbmFsOjpVc3IsIFtdIChTaWduYWwgc2lnbmFs
LCBTaWdJbmZvJiwgUGxhdGZvcm1SZWdpc3RlcnMmKSAtPiBTaWduYWxBY3Rpb24gewogICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzaWduYWwgPT0gU2lnbmFsOjpVc3IpOwogCkBAIC01OCw3ICs1Niw2
IEBAIFRFU1QoU2lnbmFscywgU2lnbmFsc1dvcmtPbkV4aXQpCiAgICAgICAgIHJldHVybiBTaWdu
YWxBY3Rpb246OkhhbmRsZWQ7CiAgICAgfSk7CiAgICAgYWN0aXZhdGVTaWduYWxIYW5kbGVyc0Zv
cihTaWduYWw6OlVzcik7Ci0gICAgZmluYWxpemVTaWduYWxIYW5kbGVycygpOwogCiAgICAgQXRv
bWljPGJvb2w+IHJlY2VpdmVyU2hvdWxkS2VlcFJ1bm5pbmcodHJ1ZSk7CiAgICAgUmVmPFRocmVh
ZD4gcmVjZWl2ZXJUaHJlYWQgPSAoVGhyZWFkOjpjcmVhdGUoIlRocmVhZE1lc3NhZ2UgcmVjZWl2
ZXIiLApAQCAtODIsMTIgKzc5LDcgQEAgVEVTVChTaWduYWxzLCBTaWduYWxzV29ya09uRXhpdCkK
IFRFU1QoU2lnbmFscywgU2lnbmFsc0FjY2Vzc0ZhdWx0KQogewogICAgIHN0YXRpYyBib29sIGhh
bmRsZXJSYW4gPSBmYWxzZTsKLSAgICB1aW50MzJfdCBrZXkgPSAwOwotICAgIGludCBtYXNrID0g
MDsKLSNpZiBIQVZFKE1BQ0hfRVhDRVBUSU9OUykKLSAgICBtYXNrIHw9IHRvTWFjaE1hc2soU2ln
bmFsOjpBY2Nlc3NGYXVsdCk7Ci0jZW5kaWYgLy8gSEFWRShNQUNIX0VYQ0VQVElPTlMpCi0gICAg
aW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5nKGtleSwgbWFzayk7CisgICAgaW5pdGlhbGl6ZVNpZ25h
bEhhbmRsaW5nKCk7CiAgICAgYWRkU2lnbmFsSGFuZGxlcihTaWduYWw6OkFjY2Vzc0ZhdWx0LCBb
XSAoU2lnbmFsIHNpZ25hbCwgU2lnSW5mbyYgc2lnSW5mbywgUGxhdGZvcm1SZWdpc3RlcnMmIGNv
bnRleHQpIC0+IFNpZ25hbEFjdGlvbiB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHNpZ25hbCA9
PSBTaWduYWw6OkFjY2Vzc0ZhdWx0KTsKIApAQCAtMTA1LDcgKzk3LDYgQEAgVEVTVChTaWduYWxz
LCBTaWduYWxzQWNjZXNzRmF1bHQpCiAgICAgICAgIHJldHVybiBTaWduYWxBY3Rpb246OkhhbmRs
ZWQ7CiAgICAgfSk7CiAgICAgYWN0aXZhdGVTaWduYWxIYW5kbGVyc0ZvcihTaWduYWw6OkFjY2Vz
c0ZhdWx0KTsKLSAgICBmaW5hbGl6ZVNpZ25hbEhhbmRsZXJzKCk7CiAKICAgICAvLyBBbGxvY2F0
ZSBhIHBhZ2Ugb2YgbWVtb3J5CiAgICAgY2hhciogcHRyID0gYml0d2lzZV9jYXN0PGNoYXIqPihH
aWdhY2FnZTo6dHJ5QWxsb2NhdGVaZXJvZWRWaXJ0dWFsUGFnZXMoR2lnYWNhZ2U6OlByaW1pdGl2
ZSwgNDA5NikpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>