<?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>268696</bug_id>
          
          <creation_ts>2024-02-03 10:15:25 -0800</creation_ts>
          <short_desc>REGRESSION(274023@main): Caused webauthn tests to fail</short_desc>
          <delta_ts>2024-02-05 08:23:02 -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>268632</blocked>
    
    <blocked>268748</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>pascoe</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2010386</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-02-03 10:15:25 -0800</bug_when>
    <thetext>https://commits.webkit.org/274023@main introduced a regression:
Caused webauthn tests to fail

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>2010388</commentid>
    <comment_count>1</comment_count>
      <attachid>469691</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-02-03 10:15:31 -0800</bug_when>
    <thetext>Created attachment 469691
REVERT of 274023@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>2010389</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2024-02-03 10:15:52 -0800</bug_when>
    <thetext>Test failures:
https://results.webkit.org/?suite=layout-tests&amp;test=http%2Fwpt%2Fwebauthn%2Fpublic-key-credential-get-success-nfc.https.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2010390</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-02-03 10:21:35 -0800</bug_when>
    <thetext>Committed 274045@main (a57d9469ff79): &lt;https://commits.webkit.org/274045@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 469691.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2010391</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-02-03 10:22:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/122239743&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469691</attachid>
            <date>2024-02-03 10:15:31 -0800</date>
            <delta_ts>2024-02-03 10:21:35 -0800</delta_ts>
            <desc>REVERT of 274023@main</desc>
            <filename>bug-268696-20240203181530.patch</filename>
            <type>text/plain</type>
            <size>44839</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBlNmRjYWJlMmM2YzYyN2M1ZjM0NGJjMzBkOTdkOWUyZDRjYTgxODAxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBTYXQsIDMgRmViIDIwMjQgMTg6MTU6MjcgKzAwMDAKU3ViamVjdDogW1BBVENIXSBV
bnJldmlld2VkLCByZXZlcnRpbmcgMjc0MDIzQG1haW4uCiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjY4Njk2CgpDYXVzZWQgd2ViYXV0aG4gdGVzdHMgdG8gZmFpbAoK
UmV2ZXJ0ZWQgY2hhbmdlc2V0OgoKIltXZWJBdXRobl0gVXNlIEFTIEFQSXMgcGFzc2luZyBjbGll
bnREYXRhIGZvciBXZWJBdXRobiIKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI2ODYzMgpodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy8yNzQwMjNAbWFpbgotLS0KIC4u
Li93ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwICAgICB8IDE3ICsrKystLQog
Li4uL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVudC5oIHwgIDQgKy0KIC4u
Li93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuY3BwICAgICAgICB8ICA1ICstCiAuLi4v
d2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YS5oICAgICAgfCAxMCArLS0tCiAuLi4v
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLnNlcmlhbGl6YXRpb24uaW4gICAgfCAgMiAtCiAuLi51dGhl
bnRpY2F0aW9uU2VydmljZXNGb3J3YXJkRGVjbGFyYXRpb25zLmggfCAgOSAtLS0KIC4uLi9Db2Nv
YS9BdXRoZW50aWNhdGlvblNlcnZpY2VzU29mdExpbmsuaCAgICB8ICAxIC0KIC4uLi9Db2NvYS9X
ZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tbSB8IDYwICsrKysrKysrLS0tLS0tLS0t
LS0KIC4uLi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5jcHAgICAgICB8ICA4ICst
LQogLi4uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmggICAgICAgIHwgIDggKy0t
CiAuLi5iQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4gfCAgNCArLQog
Li4uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAgICAgICAgICAgIHwgIDggKy0tCiAu
Li4vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggICAgICAgICAgICAgfCAgNCArLQogMTMg
ZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgODIgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3IuY3BwCmluZGV4IDhjZDdlNzMxZjllOC4uMzJhZmJmODk4MzRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGlu
YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNh
dG9yQ29vcmRpbmF0b3IuY3BwCkBAIC0yMTYsMTIgKzIxNiwxMiBAQCB2b2lkIEF1dGhlbnRpY2F0
b3JDb29yZGluYXRvcjo6Y3JlYXRlKGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCwgQ3JlZGVudGlh
bENyZWF0aQogICAgICAgICAgICAgUmVmUHRyIGZyYW1lID0gd2Vha0ZyYW1lLmdldCgpOwogICAg
ICAgICAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICB3ZWFrVGhpcy0+bV9jbGllbnQtPm1ha2VDcmVkZW50aWFsKCp3ZWFrRnJhbWUsIG9wdGlvbnMs
IGNyZWF0ZU9wdGlvbnMubWVkaWF0aW9uLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgICAgICAg
ICB3ZWFrVGhpcy0+bV9jbGllbnQtPm1ha2VDcmVkZW50aWFsKCp3ZWFrRnJhbWUsIGNsaWVudERh
dGFKc29uSGFzaCwgb3B0aW9ucywgY3JlYXRlT3B0aW9ucy5tZWRpYXRpb24sIFdURk1vdmUoY2Fs
bGJhY2spKTsKICAgICAgICAgfTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAvLyBBc3lu
YyBvcGVyYXRpb25zIGFyZSBkaXNwYXRjaGVkIGFuZCBoYW5kbGVkIGluIHRoZSBtZXNzZW5nZXIu
Ci0gICAgbV9jbGllbnQtPm1ha2VDcmVkZW50aWFsKCpmcmFtZSwgb3B0aW9ucywgY3JlYXRlT3B0
aW9ucy5tZWRpYXRpb24sIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBtX2NsaWVudC0+bWFrZUNy
ZWRlbnRpYWwoKmZyYW1lLCBjbGllbnREYXRhSnNvbkhhc2gsIG9wdGlvbnMsIGNyZWF0ZU9wdGlv
bnMubWVkaWF0aW9uLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9CiAKIHZvaWQgQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yOjpkaXNjb3ZlckZyb21FeHRlcm5hbFNvdXJjZShjb25zdCBEb2N1bWVudCYg
ZG9jdW1lbnQsIENyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYmIHJlcXVlc3RPcHRpb25zLCBjb25z
dCBTY29wZUFuZENyb3NzT3JpZ2luUGFyZW50JiBzY29wZUFuZENyb3NzT3JpZ2luUGFyZW50LCBD
cmVkZW50aWFsUHJvbWlzZSYmIHByb21pc2UpCkBAIC0yNjksNiArMjY5LDEwIEBAIHZvaWQgQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yOjpkaXNjb3ZlckZyb21FeHRlcm5hbFNvdXJjZShjb25zdCBE
b2N1bWVudCYgZG9jdW1lCiAgICAgICAgIG9wdGlvbnMuZXh0ZW5zaW9ucy0+YXBwaWQgPSBhcHBp
ZDsKICAgICB9CiAKKyAgICAvLyBTdGVwIDEwLTEyLgorICAgIGF1dG8gY2xpZW50RGF0YUpzb24g
PSBidWlsZENsaWVudERhdGFKc29uKENsaWVudERhdGFUeXBlOjpHZXQsIG9wdGlvbnMuY2hhbGxl
bmdlLCBjYWxsZXJPcmlnaW4sIHNjb3BlQW5kQ3Jvc3NPcmlnaW5QYXJlbnQuZmlyc3QpOworICAg
IGF1dG8gY2xpZW50RGF0YUpzb25IYXNoID0gYnVpbGRDbGllbnREYXRhSnNvbkhhc2goY2xpZW50
RGF0YUpzb24pOworCiAgICAgLy8gU3RlcCA0LCAxNC0xOS4KICAgICBpZiAoIW1fY2xpZW50KSB7
CiAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEV4Y2VwdGlvbkNvZGU6OlVua25v
d25FcnJvciwgIlVua25vd24gaW50ZXJuYWwgZXJyb3IuIl9zIH0pOwpAQCAtMjkxLDEzICsyOTUs
MTQgQEAgdm9pZCBBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OmRpc2NvdmVyRnJvbUV4dGVybmFs
U291cmNlKGNvbnN0IERvY3VtZW50JiBkb2N1bWUKICAgICAgICAgfSk7CiAgICAgfQogCi0gICAg
YXV0byBjYWxsYmFjayA9IFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKSwgYWJvcnRTaWduYWwgPSBXVEZNb3ZlKHJlcXVlc3RPcHRpb25zLnNp
Z25hbCldIChBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhJiYgZGF0YSwgQXV0aGVudGljYXRvckF0
dGFjaG1lbnQgYXR0YWNobWVudCwgRXhjZXB0aW9uRGF0YSYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7
CisgICAgYXV0byBjYWxsYmFjayA9IFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBjbGll
bnREYXRhSnNvbiA9IFdURk1vdmUoY2xpZW50RGF0YUpzb24pLCBwcm9taXNlID0gV1RGTW92ZShw
cm9taXNlKSwgYWJvcnRTaWduYWwgPSBXVEZNb3ZlKHJlcXVlc3RPcHRpb25zLnNpZ25hbCldIChB
dXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhJiYgZGF0YSwgQXV0aGVudGljYXRvckF0dGFjaG1lbnQg
YXR0YWNobWVudCwgRXhjZXB0aW9uRGF0YSYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7CiAgICAgICAg
IGlmIChhYm9ydFNpZ25hbCAmJiBhYm9ydFNpZ25hbC0+YWJvcnRlZCgpKSB7CiAgICAgICAgICAg
ICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBFeGNlcHRpb25Db2RlOjpBYm9ydEVycm9yLCAi
QWJvcnRlZCBieSBBYm9ydFNpZ25hbC4iX3MgfSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIAogICAgICAgICBpZiAoYXV0byByZXNwb25zZSA9IEF1dGhlbnRpY2F0b3JSZXNwb25z
ZTo6dHJ5Q3JlYXRlKFdURk1vdmUoZGF0YSksIGF0dGFjaG1lbnQpKSB7CisgICAgICAgICAgICBy
ZXNwb25zZS0+c2V0Q2xpZW50RGF0YUpTT04oV1RGTW92ZShjbGllbnREYXRhSnNvbikpOwogICAg
ICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKFB1YmxpY0tleUNyZWRlbnRpYWw6OmNyZWF0ZShyZXNw
b25zZS5yZWxlYXNlTm9uTnVsbCgpKS5wdHIoKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KQEAgLTMwNiwxOSArMzExLDE5IEBAIHZvaWQgQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
OjpkaXNjb3ZlckZyb21FeHRlcm5hbFNvdXJjZShjb25zdCBEb2N1bWVudCYgZG9jdW1lCiAgICAg
fTsKIAogICAgIGlmIChtX2lzQ2FuY2VsbGluZykgewotICAgICAgICBtX3F1ZXVlZFJlcXVlc3Qg
PSBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgd2Vha0ZyYW1lID0gV2Vha1B0ciB7ICpm
cmFtZSB9LCByZXF1ZXN0T3B0aW9ucyA9IFdURk1vdmUocmVxdWVzdE9wdGlvbnMpLCBzY29wZUFu
ZENyb3NzT3JpZ2luUGFyZW50LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIG11dGFi
bGUgeworICAgICAgICBtX3F1ZXVlZFJlcXVlc3QgPSBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRo
aXMgfSwgd2Vha0ZyYW1lID0gV2Vha1B0ciB7ICpmcmFtZSB9LCBjbGllbnREYXRhSnNvbkhhc2gg
PSBXVEZNb3ZlKGNsaWVudERhdGFKc29uSGFzaCksIHJlcXVlc3RPcHRpb25zID0gV1RGTW92ZShy
ZXF1ZXN0T3B0aW9ucyksIHNjb3BlQW5kQ3Jvc3NPcmlnaW5QYXJlbnQsIGNhbGxiYWNrID0gV1RG
TW92ZShjYWxsYmFjayldKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzIHx8
ICF3ZWFrRnJhbWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgY29uc3Qg
YXV0byBvcHRpb25zID0gcmVxdWVzdE9wdGlvbnMucHVibGljS2V5LnZhbHVlKCk7CiAgICAgICAg
ICAgICBSZWZQdHIgZnJhbWUgPSB3ZWFrRnJhbWUuZ2V0KCk7CiAgICAgICAgICAgICBpZiAoIWZy
YW1lKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2Ns
aWVudC0+Z2V0QXNzZXJ0aW9uKCp3ZWFrRnJhbWUsIG9wdGlvbnMsIHJlcXVlc3RPcHRpb25zLm1l
ZGlhdGlvbiwgc2NvcGVBbmRDcm9zc09yaWdpblBhcmVudCwgV1RGTW92ZShjYWxsYmFjaykpOwor
ICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LT5nZXRBc3NlcnRpb24oKndlYWtGcmFtZSwg
Y2xpZW50RGF0YUpzb25IYXNoLCBvcHRpb25zLCByZXF1ZXN0T3B0aW9ucy5tZWRpYXRpb24sIHNj
b3BlQW5kQ3Jvc3NPcmlnaW5QYXJlbnQsIFdURk1vdmUoY2FsbGJhY2spKTsKICAgICAgICAgfTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAvLyBBc3luYyBvcGVyYXRpb25zIGFyZSBkaXNw
YXRjaGVkIGFuZCBoYW5kbGVkIGluIHRoZSBtZXNzZW5nZXIuCi0gICAgbV9jbGllbnQtPmdldEFz
c2VydGlvbigqZnJhbWUsIG9wdGlvbnMsIHJlcXVlc3RPcHRpb25zLm1lZGlhdGlvbiwgc2NvcGVB
bmRDcm9zc09yaWdpblBhcmVudCwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIG1fY2xpZW50LT5n
ZXRBc3NlcnRpb24oKmZyYW1lLCBjbGllbnREYXRhSnNvbkhhc2gsIG9wdGlvbnMsIHJlcXVlc3RP
cHRpb25zLm1lZGlhdGlvbiwgc2NvcGVBbmRDcm9zc09yaWdpblBhcmVudCwgV1RGTW92ZShjYWxs
YmFjaykpOwogfQogCiB2b2lkIEF1dGhlbnRpY2F0b3JDb29yZGluYXRvcjo6aXNVc2VyVmVyaWZ5
aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKGNvbnN0IERvY3VtZW50JiBkb2N1bWVu
dCwgRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRp
Y2F0b3JDb29yZGluYXRvckNsaWVudC5oCmluZGV4IDM0OWFkNmIxZjZjNC4uYzRkZDlmYzE5ZWUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0
b3JDb29yZGluYXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yQ2xpZW50LmgKQEAgLTYxLDggKzYxLDggQEAgcHVi
bGljOgogICAgIEF1dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVudCgpID0gZGVmYXVsdDsKICAg
ICB2aXJ0dWFsIH5BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQoKSA9IGRlZmF1bHQ7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgbWFrZUNyZWRlbnRpYWwoY29uc3QgTG9jYWxGcmFtZSYsIGNvbnN0
IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmLCBNZWRpYXRpb25SZXF1aXJlbWVu
dCwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0
QXNzZXJ0aW9uKGNvbnN0IExvY2FsRnJhbWUmLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVx
dWVzdE9wdGlvbnMmLCBNZWRpYXRpb25SZXF1aXJlbWVudCwgY29uc3QgU2NvcGVBbmRDcm9zc09y
aWdpblBhcmVudCYsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIG1ha2VDcmVkZW50aWFsKGNvbnN0IExvY2FsRnJhbWUmLCBjb25zdCBWZWN0b3I8dWlu
dDhfdD4mLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zJiwgTWVkaWF0
aW9uUmVxdWlyZW1lbnQsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIGdldEFzc2VydGlvbihjb25zdCBMb2NhbEZyYW1lJiwgY29uc3QgVmVjdG9yPHVp
bnQ4X3Q+JiwgY29uc3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zJiwgTWVkaWF0
aW9uUmVxdWlyZW1lbnQsIGNvbnN0IFNjb3BlQW5kQ3Jvc3NPcmlnaW5QYXJlbnQmLCBSZXF1ZXN0
Q29tcGxldGlvbkhhbmRsZXImJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBpc0NvbmRpdGlvbmFs
TWVkaWF0aW9uQXZhaWxhYmxlKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiwgUXVlcnlDb21wbGV0aW9u
SGFuZGxlciYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGlzVXNlclZlcmlmeWluZ1BsYXRmb3Jt
QXV0aGVudGljYXRvckF2YWlsYWJsZShjb25zdCBTZWN1cml0eU9yaWdpbiYsIFF1ZXJ5Q29tcGxl
dGlvbkhhbmRsZXImJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBnZXRDbGllbnRDYXBhYmlsaXRp
ZXMoY29uc3QgU2VjdXJpdHlPcmlnaW4mLCBDYXBhYmlsaXRpZXNDb21wbGV0aW9uSGFuZGxlciYm
KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1
dGhlbnRpY2F0b3JSZXNwb25zZS5jcHAKaW5kZXggNWIzMjIxN2Y5YTM0Li5iYzljODFkOGMyNDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRv
clJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JSZXNwb25zZS5jcHAKQEAgLTQ2LDE2ICs0NiwxMyBAQCBSZWZQdHI8QXV0aGVudGlj
YXRvclJlc3BvbnNlPiBBdXRoZW50aWNhdG9yUmVzcG9uc2U6OnRyeUNyZWF0ZShBdXRoZW50aWNh
dG9yUmVzcAogICAgICAgICBhdXRvIHJlc3BvbnNlID0gQXV0aGVudGljYXRvckF0dGVzdGF0aW9u
UmVzcG9uc2U6OmNyZWF0ZShkYXRhLnJhd0lkLnJlbGVhc2VOb25OdWxsKCksIGRhdGEuYXR0ZXN0
YXRpb25PYmplY3QucmVsZWFzZU5vbk51bGwoKSwgYXR0YWNobWVudCwgV1RGTW92ZShkYXRhLnRy
YW5zcG9ydHMpKTsKICAgICAgICAgaWYgKGRhdGEuZXh0ZW5zaW9uT3V0cHV0cykKICAgICAgICAg
ICAgIHJlc3BvbnNlLT5zZXRFeHRlbnNpb25zKFdURk1vdmUoKmRhdGEuZXh0ZW5zaW9uT3V0cHV0
cykpOwotICAgICAgICByZXNwb25zZS0+c2V0Q2xpZW50RGF0YUpTT04oZGF0YS5jbGllbnREYXRh
SlNPTi5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICAgICAgcmV0dXJuIFdURk1vdmUocmVzcG9uc2Up
OwogICAgIH0KIAogICAgIGlmICghZGF0YS5hdXRoZW50aWNhdG9yRGF0YSB8fCAhZGF0YS5zaWdu
YXR1cmUpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgUmVmIHJlc3BvbnNlID0gQXV0
aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjpjcmVhdGUoZGF0YS5yYXdJZC5yZWxlYXNlTm9u
TnVsbCgpLCBkYXRhLmF1dGhlbnRpY2F0b3JEYXRhLnJlbGVhc2VOb25OdWxsKCksIGRhdGEuc2ln
bmF0dXJlLnJlbGVhc2VOb25OdWxsKCksIFdURk1vdmUoZGF0YS51c2VySGFuZGxlKSwgV1RGTW92
ZShkYXRhLmV4dGVuc2lvbk91dHB1dHMpLCBhdHRhY2htZW50KTsKLSAgICByZXNwb25zZS0+c2V0
Q2xpZW50RGF0YUpTT04oZGF0YS5jbGllbnREYXRhSlNPTi5yZWxlYXNlTm9uTnVsbCgpKTsKLSAg
ICByZXR1cm4gV1RGTW92ZShyZXNwb25zZSk7CisgICAgcmV0dXJuIEF1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZTo6Y3JlYXRlKGRhdGEucmF3SWQucmVsZWFzZU5vbk51bGwoKSwgZGF0YS5h
dXRoZW50aWNhdG9yRGF0YS5yZWxlYXNlTm9uTnVsbCgpLCBkYXRhLnNpZ25hdHVyZS5yZWxlYXNl
Tm9uTnVsbCgpLCBXVEZNb3ZlKGRhdGEudXNlckhhbmRsZSksIFdURk1vdmUoZGF0YS5leHRlbnNp
b25PdXRwdXRzKSwgYXR0YWNobWVudCk7CiB9CiAKIEF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEg
QXV0aGVudGljYXRvclJlc3BvbnNlOjpkYXRhKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmgK
aW5kZXggM2Q3MDk5ODZhYjcxLi43YTFjOGYzYmU0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YS5o
CkBAIC00NCw3ICs0NCw2IEBAIHN0cnVjdCBBdXRoZW50aWNhdG9yUmVzcG9uc2VCYXNlRGF0YSB7
CiBzdHJ1Y3QgQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2VEYXRhIHsKICAgICBSZWZQ
dHI8QXJyYXlCdWZmZXI+IHJhd0lkOwogICAgIHN0ZDo6b3B0aW9uYWw8QXV0aGVudGljYXRpb25F
eHRlbnNpb25zQ2xpZW50T3V0cHV0cz4gZXh0ZW5zaW9uT3V0cHV0czsKLSAgICBSZWZQdHI8QXJy
YXlCdWZmZXI+IGNsaWVudERhdGFKU09OOwogICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gYXR0ZXN0
YXRpb25PYmplY3Q7CiAgICAgVmVjdG9yPFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ+
IHRyYW5zcG9ydHM7CiB9OwpAQCAtNTIsNyArNTEsNiBAQCBzdHJ1Y3QgQXV0aGVudGljYXRvckF0
dGVzdGF0aW9uUmVzcG9uc2VEYXRhIHsKIHN0cnVjdCBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2VEYXRhIHsKICAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IHJhd0lkOwogICAgIHN0ZDo6b3B0
aW9uYWw8QXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cz4gZXh0ZW5zaW9uT3V0
cHV0czsKLSAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IGNsaWVudERhdGFKU09OOwogICAgIFJlZlB0
cjxBcnJheUJ1ZmZlcj4gYXV0aGVudGljYXRvckRhdGE7CiAgICAgUmVmUHRyPEFycmF5QnVmZmVy
PiBzaWduYXR1cmU7CiAgICAgUmVmUHRyPEFycmF5QnVmZmVyPiB1c2VySGFuZGxlOwpAQCAtNzIs
MTMgKzcwLDExIEBAIHN0cnVjdCBBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhIHsKICAgICAgICAg
ICAgIGlzQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgPSB0cnVlOwogICAgICAgICAg
ICAgcmF3SWQgPSB2LnJhd0lkOwogICAgICAgICAgICAgZXh0ZW5zaW9uT3V0cHV0cyA9IHYuZXh0
ZW5zaW9uT3V0cHV0czsKLSAgICAgICAgICAgIGNsaWVudERhdGFKU09OID0gdi5jbGllbnREYXRh
SlNPTjsKICAgICAgICAgICAgIGF0dGVzdGF0aW9uT2JqZWN0ID0gdi5hdHRlc3RhdGlvbk9iamVj
dDsKICAgICAgICAgICAgIHRyYW5zcG9ydHMgPSB2LnRyYW5zcG9ydHM7CiAgICAgICAgIH0sIFsm
XShjb25zdCBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2VEYXRhJiB2KSB7CiAgICAgICAg
ICAgICByYXdJZCA9IHYucmF3SWQ7CiAgICAgICAgICAgICBleHRlbnNpb25PdXRwdXRzID0gdi5l
eHRlbnNpb25PdXRwdXRzOwotICAgICAgICAgICAgY2xpZW50RGF0YUpTT04gPSB2LmNsaWVudERh
dGFKU09OOwogICAgICAgICAgICAgYXV0aGVudGljYXRvckRhdGEgPSB2LmF1dGhlbnRpY2F0b3JE
YXRhOwogICAgICAgICAgICAgc2lnbmF0dXJlID0gdi5zaWduYXR1cmU7CiAgICAgICAgICAgICB1
c2VySGFuZGxlID0gdi51c2VySGFuZGxlOwpAQCAtOTMsOCArODksNiBAQCBzdHJ1Y3QgQXV0aGVu
dGljYXRvclJlc3BvbnNlRGF0YSB7CiAgICAgLy8gRXh0ZW5zaW9ucwogICAgIHN0ZDo6b3B0aW9u
YWw8QXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cz4gZXh0ZW5zaW9uT3V0cHV0
czsKIAotICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gY2xpZW50RGF0YUpTT047Ci0KICAgICAvLyBB
dXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZQogICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4g
YXR0ZXN0YXRpb25PYmplY3Q7CiAKQEAgLTExMSwxMiArMTA1LDEyIEBAIHN0cnVjdCBBdXRoZW50
aWNhdG9yUmVzcG9uc2VEYXRhIHsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAg
ICAgIGlmIChpc0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlICYmIGF0dGVzdGF0aW9u
T2JqZWN0KQotICAgICAgICAgICAgcmV0dXJuIEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3Bv
bnNlRGF0YSB7IHJhd0lkLCBleHRlbnNpb25PdXRwdXRzLCBjbGllbnREYXRhSlNPTiwgYXR0ZXN0
YXRpb25PYmplY3QsIHRyYW5zcG9ydHMgfTsKKyAgICAgICAgICAgIHJldHVybiBBdXRoZW50aWNh
dG9yQXR0ZXN0YXRpb25SZXNwb25zZURhdGEgeyByYXdJZCwgZXh0ZW5zaW9uT3V0cHV0cywgYXR0
ZXN0YXRpb25PYmplY3QsIHRyYW5zcG9ydHMgfTsKIAogICAgICAgICBpZiAoIWF1dGhlbnRpY2F0
b3JEYXRhIHx8ICFzaWduYXR1cmUpCiAgICAgICAgICAgICByZXR1cm4gQXV0aGVudGljYXRvclJl
c3BvbnNlQmFzZURhdGEgeyByYXdJZCwgZXh0ZW5zaW9uT3V0cHV0cyB9OwogCi0gICAgICAgIHJl
dHVybiBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2VEYXRhIHsgcmF3SWQsIGV4dGVuc2lv
bk91dHB1dHMsIGNsaWVudERhdGFKU09OLCBhdXRoZW50aWNhdG9yRGF0YSwgc2lnbmF0dXJlLCB1
c2VySGFuZGxlIH07CisgICAgICAgIHJldHVybiBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9u
c2VEYXRhIHsgcmF3SWQsIGV4dGVuc2lvbk91dHB1dHMsIGF1dGhlbnRpY2F0b3JEYXRhLCBzaWdu
YXR1cmUsIHVzZXJIYW5kbGUgfTsKICAgICB9CiB9OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLnNlcmlhbGl6YXRpb24uaW4gYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuc2VyaWFsaXphdGlvbi5p
bgppbmRleCBkYmM0Njc3ZmYzNGUuLmQ3ZTcxMzU2NTM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLnNlcmlhbGl6YXRpb24uaW4KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLnNlcmlhbGl6YXRpb24u
aW4KQEAgLTE0NjQsNyArMTQ2NCw2IEBAIHN0cnVjdCBXZWJDb3JlOjpXZWJMb2NrTWFuYWdlclNu
YXBzaG90IHsKIFtDdXN0b21IZWFkZXJdIHN0cnVjdCBXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0
ZXN0YXRpb25SZXNwb25zZURhdGEgewogICAgIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiByYXdJ
ZDsKICAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0Ns
aWVudE91dHB1dHM+IGV4dGVuc2lvbk91dHB1dHM7Ci0gICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZm
ZXI+IGNsaWVudERhdGFKU09OOwogICAgIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiBhdHRlc3Rh
dGlvbk9iamVjdDsKICAgICBWZWN0b3I8V2ViQ29yZTo6QXV0aGVudGljYXRvclRyYW5zcG9ydD4g
dHJhbnNwb3J0czsKIH07CkBAIC0xNDcyLDcgKzE0NzEsNiBAQCBzdHJ1Y3QgV2ViQ29yZTo6V2Vi
TG9ja01hbmFnZXJTbmFwc2hvdCB7CiBbQ3VzdG9tSGVhZGVyXSBzdHJ1Y3QgV2ViQ29yZTo6QXV0
aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlRGF0YSB7CiAgICAgUmVmUHRyPEpTQzo6QXJyYXlC
dWZmZXI+IHJhd0lkOwogICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXV0aGVudGljYXRpb25F
eHRlbnNpb25zQ2xpZW50T3V0cHV0cz4gZXh0ZW5zaW9uT3V0cHV0czsKLSAgICBSZWZQdHI8SlND
OjpBcnJheUJ1ZmZlcj4gY2xpZW50RGF0YUpTT047CiAgICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZm
ZXI+IGF1dGhlbnRpY2F0b3JEYXRhOwogICAgIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiBzaWdu
YXR1cmU7CiAgICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+IHVzZXJIYW5kbGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRo
ZW50aWNhdGlvblNlcnZpY2VzRm9yd2FyZERlY2xhcmF0aW9ucy5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc0Zv
cndhcmREZWNsYXJhdGlvbnMuaAppbmRleCAzNGVhZWIwY2IxNzIuLjg2MTA1OTMxODMxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2Ev
QXV0aGVudGljYXRpb25TZXJ2aWNlc0ZvcndhcmREZWNsYXJhdGlvbnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9BdXRoZW50aWNhdGlvblNl
cnZpY2VzRm9yd2FyZERlY2xhcmF0aW9ucy5oCkBAIC0yNTgsMTEgKzI1OCw2IEBAIHR5cGVkZWYg
TlNfRU5VTShOU0ludGVnZXIsIEFTQXV0aG9yaXphdGlvblB1YmxpY0tleUNyZWRlbnRpYWxMYXJn
ZUJsb2JBc3NlcnRpb25PCiAKIC0gKEFTQXV0aG9yaXphdGlvblBsYXRmb3JtUHVibGljS2V5Q3Jl
ZGVudGlhbEFzc2VydGlvblJlcXVlc3QgKiljcmVhdGVDcmVkZW50aWFsQXNzZXJ0aW9uUmVxdWVz
dFdpdGhDaGFsbGVuZ2U6KE5TRGF0YSAqKWNoYWxsZW5nZSBOU19TV0lGVF9OQU1FKGNyZWF0ZUNy
ZWRlbnRpYWxBc3NlcnRpb25SZXF1ZXN0KGNoYWxsZW5nZTopKTsKIAotLSAoQVNBdXRob3JpemF0
aW9uUGxhdGZvcm1QdWJsaWNLZXlDcmVkZW50aWFsUmVnaXN0cmF0aW9uUmVxdWVzdCAqKWNyZWF0
ZUNyZWRlbnRpYWxSZWdpc3RyYXRpb25SZXF1ZXN0V2l0aENsaWVudERhdGE6KEFTUHVibGljS2V5
Q3JlZGVudGlhbENsaWVudERhdGEgKiljbGllbnREYXRhIG5hbWU6KE5TU3RyaW5nICopbmFtZSB1
c2VySUQ6KE5TRGF0YSAqKXVzZXJJRDsKLQotLSAoQVNBdXRob3JpemF0aW9uUGxhdGZvcm1QdWJs
aWNLZXlDcmVkZW50aWFsQXNzZXJ0aW9uUmVxdWVzdCAqKWNyZWF0ZUNyZWRlbnRpYWxBc3NlcnRp
b25SZXF1ZXN0V2l0aENsaWVudERhdGE6KEFTUHVibGljS2V5Q3JlZGVudGlhbENsaWVudERhdGEg
KiljbGllbnREYXRhOwotCi0KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkg
TlNTdHJpbmcgKnJlbHlpbmdQYXJ0eUlkZW50aWZpZXI7CiBAZW5kCiAKQEAgLTMyOCwxMCArMzIz
LDYgQEAgdHlwZWRlZiBOU1N0cmluZyAqQVNBdXRob3JpemF0aW9uUHVibGljS2V5Q3JlZGVudGlh
bFJlc2lkZW50S2V5UHJlZmVyZW5jZTsKIAogLSAoQVNBdXRob3JpemF0aW9uU2VjdXJpdHlLZXlQ
dWJsaWNLZXlDcmVkZW50aWFsQXNzZXJ0aW9uUmVxdWVzdCAqKWNyZWF0ZUNyZWRlbnRpYWxBc3Nl
cnRpb25SZXF1ZXN0V2l0aENoYWxsZW5nZTooTlNEYXRhICopY2hhbGxlbmdlIE5TX1NXSUZUX05B
TUUoY3JlYXRlQ3JlZGVudGlhbEFzc2VydGlvblJlcXVlc3QoY2hhbGxlbmdlOikpOwogCi0tIChB
U0F1dGhvcml6YXRpb25TZWN1cml0eUtleVB1YmxpY0tleUNyZWRlbnRpYWxSZWdpc3RyYXRpb25S
ZXF1ZXN0ICopY3JlYXRlQ3JlZGVudGlhbFJlZ2lzdHJhdGlvblJlcXVlc3RXaXRoQ2xpZW50RGF0
YTooQVNQdWJsaWNLZXlDcmVkZW50aWFsQ2xpZW50RGF0YSAqKWNsaWVudERhdGEgZGlzcGxheU5h
bWU6KE5TU3RyaW5nICopZGlzcGxheU5hbWUgbmFtZTooTlNTdHJpbmcgKiluYW1lIHVzZXJJRDoo
TlNEYXRhICopdXNlcklEOwotCi0tIChBU0F1dGhvcml6YXRpb25TZWN1cml0eUtleVB1YmxpY0tl
eUNyZWRlbnRpYWxBc3NlcnRpb25SZXF1ZXN0ICopY3JlYXRlQ3JlZGVudGlhbEFzc2VydGlvblJl
cXVlc3RXaXRoQ2xpZW50RGF0YTooQVNQdWJsaWNLZXlDcmVkZW50aWFsQ2xpZW50RGF0YSAqKWNs
aWVudERhdGE7Ci0KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNTdHJp
bmcgKnJlbHlpbmdQYXJ0eUlkZW50aWZpZXI7CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2Vy
dmljZXNTb2Z0TGluay5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vQ29jb2EvQXV0aGVudGljYXRpb25TZXJ2aWNlc1NvZnRMaW5rLmgKaW5kZXggN2M4YjEzMjJi
MzEwLi5iN2EwY2VkNjJmMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhlbnRpY2F0aW9uU2VydmljZXNTb2Z0TGluay5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0F1dGhl
bnRpY2F0aW9uU2VydmljZXNTb2Z0TGluay5oCkBAIC0zNCw3ICszNCw2IEBAIFNPRlRfTElOS19D
TEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNBdXRob3JpemF0aW9uKTsKIFNPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFdlYktpdCwgQVNBdXRob3JpemF0aW9uQ29udHJvbGxlcik7CiBTT0ZUX0xJ
TktfQ0xBU1NfRk9SX0hFQURFUihXZWJLaXQsIEFTQXV0aG9yaXphdGlvblBsYXRmb3JtUHVibGlj
S2V5Q3JlZGVudGlhbFByb3ZpZGVyKTsKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktp
dCwgQVNBdXRob3JpemF0aW9uU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsUHJvdmlkZXIp
OwotU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBBU0F1dGhvcml6YXRpb25XZWJC
cm93c2VyUGxhdGZvcm1QdWJsaWNLZXlDcmVkZW50aWFsUHJvdmlkZXIpOwogU09GVF9MSU5LX0NM
QVNTX0ZPUl9IRUFERVIoV2ViS2l0LCBBU1B1YmxpY0tleUNyZWRlbnRpYWxDbGllbnREYXRhKTsK
IFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFdlYktpdCwgQVNBdXRob3JpemF0aW9uUGxhdGZv
cm1QdWJsaWNLZXlDcmVkZW50aWFsUmVnaXN0cmF0aW9uKTsKIFNPRlRfTElOS19DTEFTU19GT1Jf
SEVBREVSKFdlYktpdCwgQVNBdXRob3JpemF0aW9uU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50
aWFsUmVnaXN0cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvV2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubW0KaW5kZXggODVmZjBlMjM5YjllLi44MzE2MGFi
OGMyN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL1dlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvclByb3h5Lm1tCkBAIC0xNjcsMTYgKzE2NywxNiBAQCBSZXRhaW5QdHI8QVNB
dXRob3JpemF0aW9uQ29udHJvbGxlcj4gV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6
OmNvbnN0cnVjdAogewogICAgIFJldGFpblB0cjxOU0FycmF5PiByZXF1ZXN0czsKICAgICBXVEY6
OnN3aXRjaE9uKHJlcXVlc3REYXRhLm9wdGlvbnMsIFsmXShjb25zdCBQdWJsaWNLZXlDcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zICZvcHRpb25zKSB7Ci0gICAgICAgIHJlcXVlc3RzID0gcmVxdWVz
dHNGb3JSZWdpc3RlcmF0aW9uKG9wdGlvbnMsIHJlcXVlc3REYXRhLmZyYW1lSW5mby5zZWN1cml0
eU9yaWdpbik7CisgICAgICAgIHJlcXVlc3RzID0gcmVxdWVzdHNGb3JSZWdpc3RlcmF0aW9uKG9w
dGlvbnMsIHJlcXVlc3REYXRhLmhhc2gpOwogICAgIH0sIFsmXShjb25zdCBQdWJsaWNLZXlDcmVk
ZW50aWFsUmVxdWVzdE9wdGlvbnMgJm9wdGlvbnMpIHsKLSAgICAgICAgcmVxdWVzdHMgPSByZXF1
ZXN0c0ZvckFzc2VydGlvbihvcHRpb25zLCByZXF1ZXN0RGF0YS5mcmFtZUluZm8uc2VjdXJpdHlP
cmlnaW4sIHJlcXVlc3REYXRhLnBhcmVudE9yaWdpbik7CisgICAgICAgIHJlcXVlc3RzID0gcmVx
dWVzdHNGb3JBc3NlcnRpb24ob3B0aW9ucywgcmVxdWVzdERhdGEuaGFzaCwgcmVxdWVzdERhdGEu
cGFyZW50T3JpZ2luKTsKICAgICB9KTsKICAgICBpZiAoIXJlcXVlc3RzIHx8ICFbcmVxdWVzdHMg
Y291bnRdKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gYWRvcHROUyhbYWxs
b2NBU0F1dGhvcml6YXRpb25Db250cm9sbGVySW5zdGFuY2UoKSBpbml0V2l0aEF1dGhvcml6YXRp
b25SZXF1ZXN0czpyZXF1ZXN0cy5nZXQoKV0pOwogfQogCi1SZXRhaW5QdHI8TlNBcnJheT4gV2Vi
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6OnJlcXVlc3RzRm9yUmVnaXN0ZXJhdGlvbihj
b25zdCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zICZvcHRpb25zLCBjb25zdCBX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIGNhbGxlck9yaWdpbikKK1JldGFpblB0cjxOU0Fy
cmF5PiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6cmVxdWVzdHNGb3JSZWdpc3Rl
cmF0aW9uKGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgJm9wdGlvbnMs
IGNvbnN0IFZlY3Rvcjx1aW50OF90PiAmaGFzaCkKIHsKICAgICBSZXRhaW5QdHI8TlNNdXRhYmxl
QXJyYXk8QVNBdXRob3JpemF0aW9uUmVxdWVzdCAqPj4gcmVxdWVzdHMgPSBhZG9wdE5TKFtbTlNN
dXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKICAgICBib29sIGluY2x1ZGVTZWN1cml0eUtleVJl
cXVlc3QgPSB0cnVlOwpAQCAtMTk1LDIxICsxOTUsMTUgQEAgUmV0YWluUHRyPE5TQXJyYXk+IFdl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpyZXF1ZXN0c0ZvclJlZ2lzdGVyYXRpb24o
Y28KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KLSAgICBSZXRhaW5QdHI8QVNQdWJs
aWNLZXlDcmVkZW50aWFsQ2xpZW50RGF0YT4gY2xpZW50RGF0YSA9IGFkb3B0TlMoW2FsbG9jQVNQ
dWJsaWNLZXlDcmVkZW50aWFsQ2xpZW50RGF0YUluc3RhbmNlKCkgaW5pdFdpdGhDaGFsbGVuZ2U6
dG9OU0RhdGEob3B0aW9ucy5jaGFsbGVuZ2UpLmdldCgpIG9yaWdpbjpjYWxsZXJPcmlnaW4udG9T
dHJpbmcoKV0pOwogICAgIGlmIChpbmNsdWRlUGxhdGZvcm1SZXF1ZXN0KSB7Ci0gICAgICAgIFJl
dGFpblB0ciByZXF1ZXN0ID0gYWRvcHROUyhbW2FsbG9jQVNBdXRob3JpemF0aW9uUGxhdGZvcm1Q
dWJsaWNLZXlDcmVkZW50aWFsUHJvdmlkZXJJbnN0YW5jZSgpIGluaXRXaXRoUmVseWluZ1BhcnR5
SWRlbnRpZmllcjoqb3B0aW9ucy5ycC5pZF0gY3JlYXRlQ3JlZGVudGlhbFJlZ2lzdHJhdGlvblJl
cXVlc3RXaXRoQ2xpZW50RGF0YTpjbGllbnREYXRhLmdldCgpIG5hbWU6b3B0aW9ucy51c2VyLm5h
bWUgdXNlcklEOnRvTlNEYXRhKG9wdGlvbnMudXNlci5pZCkuZ2V0KCldKTsKKyAgICAgICAgYXV0
byByZXF1ZXN0ID0gYWRvcHROUyhbW2FsbG9jQVNBdXRob3JpemF0aW9uUGxhdGZvcm1QdWJsaWNL
ZXlDcmVkZW50aWFsUHJvdmlkZXJJbnN0YW5jZSgpIGluaXRXaXRoUmVseWluZ1BhcnR5SWRlbnRp
Zmllcjoqb3B0aW9ucy5ycC5pZF0gY3JlYXRlQ3JlZGVudGlhbFJlZ2lzdHJhdGlvblJlcXVlc3RX
aXRoQ2hhbGxlbmdlOnRvTlNEYXRhKG9wdGlvbnMuY2hhbGxlbmdlKS5nZXQoKSBuYW1lOm9wdGlv
bnMudXNlci5uYW1lIHVzZXJJRDp0b05TRGF0YShvcHRpb25zLnVzZXIuaWQpLmdldCgpXSk7CiAg
ICAgICAgIHJlcXVlc3QuZ2V0KCkuYXR0ZXN0YXRpb25QcmVmZXJlbmNlID0gdG9BdHRlc3RhdGlv
bkNvbnZleWFuY2VQcmVmZXJlbmNlKG9wdGlvbnMuYXR0ZXN0YXRpb24pLmdldCgpOwogICAgICAg
ICBpZiAob3B0aW9ucy5hdXRoZW50aWNhdG9yU2VsZWN0aW9uKQogICAgICAgICAgICAgcmVxdWVz
dC5nZXQoKS51c2VyVmVyaWZpY2F0aW9uUHJlZmVyZW5jZSA9IHRvQVNVc2VyVmVyaWZpY2F0aW9u
UHJlZmVyZW5jZShvcHRpb25zLmF1dGhlbnRpY2F0b3JTZWxlY3Rpb24tPnVzZXJWZXJpZmljYXRp
b24pLmdldCgpOwogICAgICAgICBbcmVxdWVzdHMgYWRkT2JqZWN0OnJlcXVlc3QubGVha1JlZigp
XTsKICAgICB9CiAgICAgaWYgKGluY2x1ZGVTZWN1cml0eUtleVJlcXVlc3QpIHsKLSAgICAgICAg
UmV0YWluUHRyIHByb3ZpZGVyID0gYWRvcHROUyhbYWxsb2NBU0F1dGhvcml6YXRpb25TZWN1cml0
eUtleVB1YmxpY0tleUNyZWRlbnRpYWxQcm92aWRlckluc3RhbmNlKCkgaW5pdFdpdGhSZWx5aW5n
UGFydHlJZGVudGlmaWVyOipvcHRpb25zLnJwLmlkXSk7Ci0gICAgICAgIFJldGFpblB0cjxBU0F1
dGhvcml6YXRpb25TZWN1cml0eUtleVB1YmxpY0tleUNyZWRlbnRpYWxSZWdpc3RyYXRpb25SZXF1
ZXN0PiByZXF1ZXN0OwotICAgICAgICBpZiAoW3Byb3ZpZGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoY3JlYXRlQ3JlZGVudGlhbFJlZ2lzdHJhdGlvblJlcXVlc3RXaXRoQ2xpZW50RGF0
YTpkaXNwbGF5TmFtZTpuYW1lOnVzZXJJRDopXSkKLSAgICAgICAgICAgIHJlcXVlc3QgPSBhZG9w
dE5TKFtwcm92aWRlciBjcmVhdGVDcmVkZW50aWFsUmVnaXN0cmF0aW9uUmVxdWVzdFdpdGhDbGll
bnREYXRhOmNsaWVudERhdGEuZ2V0KCkgZGlzcGxheU5hbWU6b3B0aW9ucy51c2VyLmRpc3BsYXlO
YW1lIG5hbWU6b3B0aW9ucy51c2VyLm5hbWUgdXNlcklEOnRvTlNEYXRhKG9wdGlvbnMudXNlci5p
ZCkuZ2V0KCldKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVxdWVzdCA9IGFkb3B0TlMo
W3Byb3ZpZGVyIGNyZWF0ZUNyZWRlbnRpYWxSZWdpc3RyYXRpb25SZXF1ZXN0V2l0aENoYWxsZW5n
ZTp0b05TRGF0YShvcHRpb25zLmNoYWxsZW5nZSkuZ2V0KCkgZGlzcGxheU5hbWU6b3B0aW9ucy51
c2VyLmRpc3BsYXlOYW1lIG5hbWU6b3B0aW9ucy51c2VyLm5hbWUgdXNlcklEOnRvTlNEYXRhKG9w
dGlvbnMudXNlci5pZCkuZ2V0KCldKTsKKyAgICAgICAgYXV0byByZXF1ZXN0ID0gYWRvcHROUyhb
W2FsbG9jQVNBdXRob3JpemF0aW9uU2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsUHJvdmlk
ZXJJbnN0YW5jZSgpIGluaXRXaXRoUmVseWluZ1BhcnR5SWRlbnRpZmllcjoqb3B0aW9ucy5ycC5p
ZF0gY3JlYXRlQ3JlZGVudGlhbFJlZ2lzdHJhdGlvblJlcXVlc3RXaXRoQ2hhbGxlbmdlOnRvTlNE
YXRhKG9wdGlvbnMuY2hhbGxlbmdlKS5nZXQoKSBkaXNwbGF5TmFtZTpvcHRpb25zLnVzZXIuZGlz
cGxheU5hbWUgbmFtZTpvcHRpb25zLnVzZXIubmFtZSB1c2VySUQ6dG9OU0RhdGEob3B0aW9ucy51
c2VyLmlkKS5nZXQoKV0pOwogICAgICAgICByZXF1ZXN0LmdldCgpLmF0dGVzdGF0aW9uUHJlZmVy
ZW5jZSA9IHRvQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZShvcHRpb25zLmF0dGVzdGF0
aW9uKS5nZXQoKTsKICAgICAgICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PEFTQXV0aG9yaXph
dGlvblB1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWV0ZXJzICo+PiBwYXJhbWV0ZXJzID0gYWRvcHRO
UyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CiAgICAgICAgIGZvciAoYXV0byBhbGcg
OiBvcHRpb25zLnB1YktleUNyZWRQYXJhbXMpCkBAIC0yMjUsNyArMjE5LDcgQEAgUmV0YWluUHRy
PE5TQXJyYXk+IFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpyZXF1ZXN0c0ZvclJl
Z2lzdGVyYXRpb24oY28KICAgICByZXR1cm4gcmVxdWVzdHM7CiB9CiAKLVJldGFpblB0cjxOU0Fy
cmF5PiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6cmVxdWVzdHNGb3JBc3NlcnRp
b24oY29uc3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zICZvcHRpb25zLCBjb25z
dCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIGNhbGxlck9yaWdpbiwgc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+ICZwYXJlbnRPcmlnaW4pCitSZXRhaW5QdHI8
TlNBcnJheT4gV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6OnJlcXVlc3RzRm9yQXNz
ZXJ0aW9uKGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyAmb3B0aW9ucywg
Y29uc3QgVmVjdG9yPHVpbnQ4X3Q+ICZoYXNoLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luRGF0YT4gJnBhcmVudE9yaWdpbikKIHsKICAgICBSZXRhaW5QdHI8TlNNdXRhYmxl
QXJyYXk8QVNBdXRob3JpemF0aW9uUmVxdWVzdCAqPj4gcmVxdWVzdHMgPSBhZG9wdE5TKFtbTlNN
dXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk8
QVNBdXRob3JpemF0aW9uUGxhdGZvcm1QdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvciAqPj4g
cGxhdGZvcm1BbGxvd2VkQ3JlZGVudGlhbHMgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxs
b2NdIGluaXRdKTsKQEAgLTI0MiwyMSArMjM2LDE1IEBAIFJldGFpblB0cjxOU0FycmF5PiBXZWJB
dXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6cmVxdWVzdHNGb3JBc3NlcnRpb24oY29uc3QK
ICAgICAgICAgICAgIFtjcm9zc1BsYXRmb3JtQWxsb3dlZENyZWRlbnRpYWxzIGFkZE9iamVjdDph
ZG9wdE5TKFthbGxvY0FTQXV0aG9yaXphdGlvblNlY3VyaXR5S2V5UHVibGljS2V5Q3JlZGVudGlh
bERlc2NyaXB0b3JJbnN0YW5jZSgpIGluaXRXaXRoQ3JlZGVudGlhbElEOnRvTlNEYXRhKGNyZWRl
bnRpYWwuaWQpLmdldCgpIHRyYW5zcG9ydHM6dHJhbnNwb3J0cy5nZXQoKV0pLmdldCgpXTsKICAg
ICAgICAgfQogICAgIH0KLSAgICBSZXRhaW5QdHIgY2xpZW50RGF0YSA9IGFkb3B0TlMoW2FsbG9j
QVNQdWJsaWNLZXlDcmVkZW50aWFsQ2xpZW50RGF0YUluc3RhbmNlKCkgaW5pdFdpdGhDaGFsbGVu
Z2U6dG9OU0RhdGEob3B0aW9ucy5jaGFsbGVuZ2UpLmdldCgpIG9yaWdpbjpjYWxsZXJPcmlnaW4u
dG9TdHJpbmcoKV0pOwogICAgIGlmIChbcGxhdGZvcm1BbGxvd2VkQ3JlZGVudGlhbHMgY291bnRd
IHx8ICFbY3Jvc3NQbGF0Zm9ybUFsbG93ZWRDcmVkZW50aWFscyBjb3VudF0pIHsKLSAgICAgICAg
UmV0YWluUHRyIHJlcXVlc3QgPSBhZG9wdE5TKFtbYWxsb2NBU0F1dGhvcml6YXRpb25QbGF0Zm9y
bVB1YmxpY0tleUNyZWRlbnRpYWxQcm92aWRlckluc3RhbmNlKCkgaW5pdFdpdGhSZWx5aW5nUGFy
dHlJZGVudGlmaWVyOm9wdGlvbnMucnBJZF0gY3JlYXRlQ3JlZGVudGlhbEFzc2VydGlvblJlcXVl
c3RXaXRoQ2xpZW50RGF0YTpjbGllbnREYXRhLmdldCgpXSk7CisgICAgICAgIGF1dG8gcmVxdWVz
dCA9IGFkb3B0TlMoW1thbGxvY0FTQXV0aG9yaXphdGlvblBsYXRmb3JtUHVibGljS2V5Q3JlZGVu
dGlhbFByb3ZpZGVySW5zdGFuY2UoKSBpbml0V2l0aFJlbHlpbmdQYXJ0eUlkZW50aWZpZXI6b3B0
aW9ucy5ycElkXSBjcmVhdGVDcmVkZW50aWFsQXNzZXJ0aW9uUmVxdWVzdFdpdGhDaGFsbGVuZ2U6
dG9OU0RhdGEob3B0aW9ucy5jaGFsbGVuZ2UpLmdldCgpXSk7CiAgICAgICAgIGlmIChwbGF0Zm9y
bUFsbG93ZWRDcmVkZW50aWFscykKICAgICAgICAgICAgIHJlcXVlc3QuZ2V0KCkuYWxsb3dlZENy
ZWRlbnRpYWxzID0gcGxhdGZvcm1BbGxvd2VkQ3JlZGVudGlhbHMuZ2V0KCk7CiAgICAgICAgIFty
ZXF1ZXN0cyBhZGRPYmplY3Q6cmVxdWVzdC5sZWFrUmVmKCldOwogICAgIH0KIAogICAgIGlmICgh
bV9pc0NvbmRpdGlvbmFsQXNzZXJ0aW9uICYmIChbY3Jvc3NQbGF0Zm9ybUFsbG93ZWRDcmVkZW50
aWFscyBjb3VudF0gfHwgIVtwbGF0Zm9ybUFsbG93ZWRDcmVkZW50aWFscyBjb3VudF0pKSB7Ci0g
ICAgICAgIFJldGFpblB0ciBwcm92aWRlciA9IGFkb3B0TlMoW2FsbG9jQVNBdXRob3JpemF0aW9u
U2VjdXJpdHlLZXlQdWJsaWNLZXlDcmVkZW50aWFsUHJvdmlkZXJJbnN0YW5jZSgpIGluaXRXaXRo
UmVseWluZ1BhcnR5SWRlbnRpZmllcjpvcHRpb25zLnJwSWRdKTsKLSAgICAgICAgUmV0YWluUHRy
PEFTQXV0aG9yaXphdGlvblNlY3VyaXR5S2V5UHVibGljS2V5Q3JlZGVudGlhbEFzc2VydGlvblJl
cXVlc3Q+IHJlcXVlc3Q7Ci0gICAgICAgIGlmIChbcHJvdmlkZXIgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3RvcihjcmVhdGVDcmVkZW50aWFsQXNzZXJ0aW9uUmVxdWVzdFdpdGhDbGllbnREYXRh
OildKQotICAgICAgICAgICAgcmVxdWVzdCA9IGFkb3B0TlMoW3Byb3ZpZGVyIGNyZWF0ZUNyZWRl
bnRpYWxBc3NlcnRpb25SZXF1ZXN0V2l0aENsaWVudERhdGE6Y2xpZW50RGF0YS5nZXQoKV0pOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXF1ZXN0ID0gYWRvcHROUyhbcHJvdmlkZXIgY3Jl
YXRlQ3JlZGVudGlhbEFzc2VydGlvblJlcXVlc3RXaXRoQ2hhbGxlbmdlOnRvTlNEYXRhKG9wdGlv
bnMuY2hhbGxlbmdlKS5nZXQoKV0pOworICAgICAgICBhdXRvIHJlcXVlc3QgPSBhZG9wdE5TKFtb
YWxsb2NBU0F1dGhvcml6YXRpb25TZWN1cml0eUtleVB1YmxpY0tleUNyZWRlbnRpYWxQcm92aWRl
ckluc3RhbmNlKCkgaW5pdFdpdGhSZWx5aW5nUGFydHlJZGVudGlmaWVyOm9wdGlvbnMucnBJZF0g
Y3JlYXRlQ3JlZGVudGlhbEFzc2VydGlvblJlcXVlc3RXaXRoQ2hhbGxlbmdlOnRvTlNEYXRhKG9w
dGlvbnMuY2hhbGxlbmdlKS5nZXQoKV0pOwogCiAgICAgICAgIGlmIChjcm9zc1BsYXRmb3JtQWxs
b3dlZENyZWRlbnRpYWxzKQogICAgICAgICAgICAgcmVxdWVzdC5nZXQoKS5hbGxvd2VkQ3JlZGVu
dGlhbHMgPSBjcm9zc1BsYXRmb3JtQWxsb3dlZENyZWRlbnRpYWxzLmdldCgpOwpAQCAtMzE5LDI4
ICszMDcsMjQgQEAgdm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6cGVyZm9y
bVJlcXVlc3QoV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGEKICAgICAgICAgICAgICAgICByZXNw
b25zZS5yYXdJZCA9IHRvQXJyYXlCdWZmZXIoY3JlZGVudGlhbC5nZXQoKS5jcmVkZW50aWFsSUQp
OwogICAgICAgICAgICAgICAgIHJlc3BvbnNlLmF0dGVzdGF0aW9uT2JqZWN0ID0gdG9BcnJheUJ1
ZmZlcihjcmVkZW50aWFsLmdldCgpLnJhd0F0dGVzdGF0aW9uT2JqZWN0KTsKICAgICAgICAgICAg
ICAgICByZXNwb25zZS50cmFuc3BvcnRzID0geyB9OwotICAgICAgICAgICAgICAgIHJlc3BvbnNl
LmNsaWVudERhdGFKU09OID0gdG9BcnJheUJ1ZmZlcihjcmVkZW50aWFsLmdldCgpLnJhd0NsaWVu
dERhdGFKU09OKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoW2F1dGguZ2V0KCkuY3JlZGVudGlh
bCBpc0tpbmRPZkNsYXNzOmdldEFTQXV0aG9yaXphdGlvblBsYXRmb3JtUHVibGljS2V5Q3JlZGVu
dGlhbEFzc2VydGlvbkNsYXNzKCldKSB7CiAgICAgICAgICAgICAgICAgYXV0byBjcmVkZW50aWFs
ID0gcmV0YWluUHRyKChBU0F1dGhvcml6YXRpb25QbGF0Zm9ybVB1YmxpY0tleUNyZWRlbnRpYWxB
c3NlcnRpb24gKilhdXRoLmdldCgpLmNyZWRlbnRpYWwpOwogICAgICAgICAgICAgICAgIHJlc3Bv
bnNlLnJhd0lkID0gdG9BcnJheUJ1ZmZlcihjcmVkZW50aWFsLmdldCgpLmNyZWRlbnRpYWxJRCk7
CiAgICAgICAgICAgICAgICAgcmVzcG9uc2UuYXV0aGVudGljYXRvckRhdGEgPSB0b0FycmF5QnVm
ZmVyKGNyZWRlbnRpYWwuZ2V0KCkucmF3QXV0aGVudGljYXRvckRhdGEpOwogICAgICAgICAgICAg
ICAgIHJlc3BvbnNlLnNpZ25hdHVyZSA9IHRvQXJyYXlCdWZmZXIoY3JlZGVudGlhbC5nZXQoKS5z
aWduYXR1cmUpOwogICAgICAgICAgICAgICAgIHJlc3BvbnNlLnVzZXJIYW5kbGUgPSB0b0FycmF5
QnVmZmVyKGNyZWRlbnRpYWwuZ2V0KCkudXNlcklEKTsKLSAgICAgICAgICAgICAgICByZXNwb25z
ZS5jbGllbnREYXRhSlNPTiA9IHRvQXJyYXlCdWZmZXIoY3JlZGVudGlhbC5nZXQoKS5yYXdDbGll
bnREYXRhSlNPTik7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKFthdXRoLmdldCgpLmNyZWRlbnRp
YWwgaXNLaW5kT2ZDbGFzczpnZXRBU0F1dGhvcml6YXRpb25TZWN1cml0eUtleVB1YmxpY0tleUNy
ZWRlbnRpYWxSZWdpc3RyYXRpb25DbGFzcygpXSkgewogICAgICAgICAgICAgICAgIGF1dG8gY3Jl
ZGVudGlhbCA9IHJldGFpblB0cigoQVNBdXRob3JpemF0aW9uU2VjdXJpdHlLZXlQdWJsaWNLZXlD
cmVkZW50aWFsUmVnaXN0cmF0aW9uICopYXV0aC5nZXQoKS5jcmVkZW50aWFsKTsKICAgICAgICAg
ICAgICAgICByZXNwb25zZS5pc0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICByZXNwb25zZS5yYXdJZCA9IHRvQXJyYXlCdWZmZXIoY3JlZGVu
dGlhbC5nZXQoKS5jcmVkZW50aWFsSUQpOwogICAgICAgICAgICAgICAgIHJlc3BvbnNlLmF0dGVz
dGF0aW9uT2JqZWN0ID0gdG9BcnJheUJ1ZmZlcihjcmVkZW50aWFsLmdldCgpLnJhd0F0dGVzdGF0
aW9uT2JqZWN0KTsKICAgICAgICAgICAgICAgICByZXNwb25zZS50cmFuc3BvcnRzID0geyB9Owot
ICAgICAgICAgICAgICAgIHJlc3BvbnNlLmNsaWVudERhdGFKU09OID0gdG9BcnJheUJ1ZmZlcihj
cmVkZW50aWFsLmdldCgpLnJhd0NsaWVudERhdGFKU09OKTsKICAgICAgICAgICAgIH0gZWxzZSBp
ZiAoW2F1dGguZ2V0KCkuY3JlZGVudGlhbCBpc0tpbmRPZkNsYXNzOmdldEFTQXV0aG9yaXphdGlv
blNlY3VyaXR5S2V5UHVibGljS2V5Q3JlZGVudGlhbEFzc2VydGlvbkNsYXNzKCldKSB7CiAgICAg
ICAgICAgICAgICAgYXV0byBjcmVkZW50aWFsID0gcmV0YWluUHRyKChBU0F1dGhvcml6YXRpb25T
ZWN1cml0eUtleVB1YmxpY0tleUNyZWRlbnRpYWxBc3NlcnRpb24gKilhdXRoLmdldCgpLmNyZWRl
bnRpYWwpOwogICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJhd0lkID0gdG9BcnJheUJ1ZmZlcihj
cmVkZW50aWFsLmdldCgpLmNyZWRlbnRpYWxJRCk7CiAgICAgICAgICAgICAgICAgcmVzcG9uc2Uu
YXV0aGVudGljYXRvckRhdGEgPSB0b0FycmF5QnVmZmVyKGNyZWRlbnRpYWwuZ2V0KCkucmF3QXV0
aGVudGljYXRvckRhdGEpOwogICAgICAgICAgICAgICAgIHJlc3BvbnNlLnNpZ25hdHVyZSA9IHRv
QXJyYXlCdWZmZXIoY3JlZGVudGlhbC5nZXQoKS5zaWduYXR1cmUpOwogICAgICAgICAgICAgICAg
IHJlc3BvbnNlLnVzZXJIYW5kbGUgPSB0b0FycmF5QnVmZmVyKGNyZWRlbnRpYWwuZ2V0KCkudXNl
cklEKTsKLSAgICAgICAgICAgICAgICByZXNwb25zZS5jbGllbnREYXRhSlNPTiA9IHRvQXJyYXlC
dWZmZXIoY3JlZGVudGlhbC5nZXQoKS5yYXdDbGllbnREYXRhSlNPTik7CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBpZiAoYXV0byBjYW5jZWxIYW5kbGVyID0gV1RGTW92ZShtX2NhbmNlbEhh
bmRsZXIpKQogICAgICAgICAgICAgICAgIGNhbmNlbEhhbmRsZXIoKTsKQEAgLTUyMCw3ICs1MDQs
NyBAQCBzdGF0aWMgaW5saW5lIEFTUHVibGljS2V5Q3JlZGVudGlhbFJlc2lkZW50S2V5UHJlZmVy
ZW5jZSB0b0FTQ1Jlc2lkZW50S2V5UHJlZmVyZQogICAgIHJldHVybiBBU1B1YmxpY0tleUNyZWRl
bnRpYWxSZXNpZGVudEtleVByZWZlcmVuY2VOb3RQcmVzZW50OwogfQogCi1zdGF0aWMgUmV0YWlu
UHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJlUmVnaXN0cmF0aW9uUmVx
dWVzdENvbnRleHQoY29uc3QgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyYgb3B0
aW9ucywgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpHbG9iYWxGcmFtZUlkZW50aWZpZXI+IGdsb2Jh
bEZyYW1lSUQsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6TWVkaWF0aW9uUmVxdWlyZW1lbnQ+IG1l
ZGlhdGlvbikKK3N0YXRpYyBSZXRhaW5QdHI8QVNDQ3JlZGVudGlhbFJlcXVlc3RDb250ZXh0PiBj
b25maWd1cmVSZWdpc3RyYXRpb25SZXF1ZXN0Q29udGV4dChjb25zdCBQdWJsaWNLZXlDcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zJiBvcHRpb25zLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGhhc2gs
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6R2xvYmFsRnJhbWVJZGVudGlmaWVyPiBnbG9iYWxGcmFt
ZUlELCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok1lZGlhdGlvblJlcXVpcmVtZW50PiBtZWRpYXRp
b24pCiB7CiAgICAgQVNDQ3JlZGVudGlhbFJlcXVlc3RUeXBlcyByZXF1ZXN0VHlwZXMgPSBBU0ND
cmVkZW50aWFsUmVxdWVzdFR5cGVQbGF0Zm9ybVB1YmxpY0tleVJlZ2lzdHJhdGlvbiB8IEFTQ0Ny
ZWRlbnRpYWxSZXF1ZXN0VHlwZVNlY3VyaXR5S2V5UHVibGljS2V5UmVnaXN0cmF0aW9uOwogCkBA
IC01NTAsNyArNTM0LDEwIEBAIHN0YXRpYyBSZXRhaW5QdHI8QVNDQ3JlZGVudGlhbFJlcXVlc3RD
b250ZXh0PiBjb25maWd1cmVSZWdpc3RyYXRpb25SZXF1ZXN0Q29udGV4CiAKICAgICBhdXRvIGNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgPSBhZG9wdE5TKFthbGxvY0FTQ1B1YmxpY0tleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnNJbnN0YW5jZSgpIGluaXRdKTsKIAotICAgIFtjcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zIHNldENoYWxsZW5nZTpXZWJDb3JlOjp0b05TRGF0YShvcHRpb25zLmNo
YWxsZW5nZSkuZ2V0KCldOworICAgIGlmIChbY3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyByZXNw
b25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldENsaWVudERhdGFIYXNoOildKQorICAgICAgICBb
Y3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBzZXRDbGllbnREYXRhSGFzaDp0b05TRGF0YShoYXNo
KS5nZXQoKV07CisgICAgZWxzZQorICAgICAgICBbY3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBz
ZXRDaGFsbGVuZ2U6V2ViQ29yZTo6dG9OU0RhdGEob3B0aW9ucy5jaGFsbGVuZ2UpLmdldCgpXTsK
ICAgICBbY3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBzZXRSZWx5aW5nUGFydHlJZGVudGlmaWVy
OipvcHRpb25zLnJwLmlkXTsKICAgICBbY3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBzZXRVc2Vy
TmFtZTpvcHRpb25zLnVzZXIubmFtZV07CiAgICAgW2NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMg
c2V0VXNlcklkZW50aWZpZXI6V2ViQ29yZTo6dG9OU0RhdGEob3B0aW9ucy51c2VyLmlkKS5nZXQo
KV07CkBAIC02MDAsMTEgKzU4NywxNiBAQCBzdGF0aWMgUmV0YWluUHRyPEFTQ0NyZWRlbnRpYWxS
ZXF1ZXN0Q29udGV4dD4gY29uZmlndXJlUmVnaXN0cmF0aW9uUmVxdWVzdENvbnRleAogICAgIHJl
dHVybiByZXF1ZXN0Q29udGV4dDsKIH0KIAotc3RhdGljIGlubGluZSBSZXRhaW5QdHI8QVNDUHVi
bGljS2V5Q3JlZGVudGlhbEFzc2VydGlvbk9wdGlvbnM+IGNvbmZpZ3VyZUFzc2VydGlvbk9wdGlv
bnMoY29uc3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zJiBvcHRpb25zLCBBU0NQ
dWJsaWNLZXlDcmVkZW50aWFsS2luZCBraW5kLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlY3VyaXR5
T3JpZ2luRGF0YT4mIHBhcmVudE9yaWdpbiwgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PEFTQ1B1
YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yICo+PiBhbGxvd2VkQ3JlZGVudGlhbHMsIFJldGFp
blB0cjxOU1N0cmluZz4gdXNlclZlcmlmaWNhdGlvbikKK3N0YXRpYyBpbmxpbmUgUmV0YWluUHRy
PEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxBc3NlcnRpb25PcHRpb25zPiBjb25maWd1cmVBc3NlcnRp
b25PcHRpb25zKGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYgb3B0aW9u
cywgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBoYXNoLCBBU0NQdWJsaWNLZXlDcmVkZW50aWFsS2lu
ZCBraW5kLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlY3VyaXR5T3JpZ2luRGF0YT4mIHBhcmVudE9y
aWdpbiwgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxEZXNj
cmlwdG9yICo+PiBhbGxvd2VkQ3JlZGVudGlhbHMsIFJldGFpblB0cjxOU1N0cmluZz4gdXNlclZl
cmlmaWNhdGlvbikKIHsKICAgICBhdXRvIGFzc2VydGlvbk9wdGlvbnMgPSBhZG9wdE5TKGFsbG9j
QVNDUHVibGljS2V5Q3JlZGVudGlhbEFzc2VydGlvbk9wdGlvbnNJbnN0YW5jZSgpKTsKLSAgICBS
ZXRhaW5QdHIgY2hhbGxlbmdlID0gV2ViQ29yZTo6dG9OU0RhdGEob3B0aW9ucy5jaGFsbGVuZ2Up
OwotICAgIFthc3NlcnRpb25PcHRpb25zIGluaXRXaXRoS2luZDpraW5kIHJlbHlpbmdQYXJ0eUlk
ZW50aWZpZXI6b3B0aW9ucy5ycElkIGNoYWxsZW5nZTpjaGFsbGVuZ2UuZ2V0KCkgdXNlclZlcmlm
aWNhdGlvblByZWZlcmVuY2U6dXNlclZlcmlmaWNhdGlvbi5nZXQoKSBhbGxvd2VkQ3JlZGVudGlh
bHM6YWxsb3dlZENyZWRlbnRpYWxzLmdldCgpXTsKKyAgICBpZiAoW2Fzc2VydGlvbk9wdGlvbnMg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihpbml0V2l0aEtpbmQ6cmVseWluZ1BhcnR5SWRl
bnRpZmllcjpjbGllbnREYXRhSGFzaDp1c2VyVmVyaWZpY2F0aW9uUHJlZmVyZW5jZTphbGxvd2Vk
Q3JlZGVudGlhbHM6KV0pIHsKKyAgICAgICAgYXV0byBuc0hhc2ggPSB0b05TRGF0YShoYXNoKTsK
KyAgICAgICAgW2Fzc2VydGlvbk9wdGlvbnMgaW5pdFdpdGhLaW5kOmtpbmQgcmVseWluZ1BhcnR5
SWRlbnRpZmllcjpvcHRpb25zLnJwSWQgY2xpZW50RGF0YUhhc2g6bnNIYXNoLmdldCgpIHVzZXJW
ZXJpZmljYXRpb25QcmVmZXJlbmNlOnVzZXJWZXJpZmljYXRpb24uZ2V0KCkgYWxsb3dlZENyZWRl
bnRpYWxzOmFsbG93ZWRDcmVkZW50aWFscy5nZXQoKV07CisgICAgfSBlbHNlIHsKKyAgICAgICAg
YXV0byBjaGFsbGVuZ2UgPSBXZWJDb3JlOjp0b05TRGF0YShvcHRpb25zLmNoYWxsZW5nZSk7Cisg
ICAgICAgIFthc3NlcnRpb25PcHRpb25zIGluaXRXaXRoS2luZDpraW5kIHJlbHlpbmdQYXJ0eUlk
ZW50aWZpZXI6b3B0aW9ucy5ycElkIGNoYWxsZW5nZTpjaGFsbGVuZ2UuZ2V0KCkgdXNlclZlcmlm
aWNhdGlvblByZWZlcmVuY2U6dXNlclZlcmlmaWNhdGlvbi5nZXQoKSBhbGxvd2VkQ3JlZGVudGlh
bHM6YWxsb3dlZENyZWRlbnRpYWxzLmdldCgpXTsKKyAgICB9CiAgICAgaWYgKG9wdGlvbnMuZXh0
ZW5zaW9ucykgewogICAgICAgICBpZiAoW2Fzc2VydGlvbk9wdGlvbnMgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3RvcihzZXRFeHRlbnNpb25zQ0JPUjopXSkKICAgICAgICAgICAgIFthc3NlcnRp
b25PcHRpb25zIHNldEV4dGVuc2lvbnNDQk9SOnRvTlNEYXRhKG9wdGlvbnMuZXh0ZW5zaW9ucy0+
dG9DQk9SKCkpLmdldCgpXTsKQEAgLTYyMCw3ICs2MTIsNyBAQCBzdGF0aWMgaW5saW5lIFJldGFp
blB0cjxBU0NQdWJsaWNLZXlDcmVkZW50aWFsQXNzZXJ0aW9uT3B0aW9ucz4gY29uZmlndXJlQXNz
ZXJ0aQogICAgIHJldHVybiBhc3NlcnRpb25PcHRpb25zOwogfQogCi1zdGF0aWMgUmV0YWluUHRy
PEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29uZmlndXJhdGlvbkFzc2VydGlvblJlcXVl
c3RDb250ZXh0KGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYgb3B0aW9u
cywgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpNZWRpYXRpb25SZXF1aXJlbWVudD4gbWVkaWF0aW9u
LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Okdsb2JhbEZyYW1lSWRlbnRpZmllcj4gZ2xvYmFsRnJh
bWVJRCwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+JiBwYXJlbnRP
cmlnaW4pCitzdGF0aWMgUmV0YWluUHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4dD4gY29u
ZmlndXJhdGlvbkFzc2VydGlvblJlcXVlc3RDb250ZXh0KGNvbnN0IFB1YmxpY0tleUNyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucyYgb3B0aW9ucywgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBoYXNoLCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok1lZGlhdGlvblJlcXVpcmVtZW50PiBtZWRpYXRpb24sIHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6R2xvYmFsRnJhbWVJZGVudGlmaWVyPiBnbG9iYWxGcmFtZUlE
LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4mIHBhcmVudE9yaWdp
bikKIHsKICAgICBBU0NDcmVkZW50aWFsUmVxdWVzdFR5cGVzIHJlcXVlc3RUeXBlcyA9IEFTQ0Ny
ZWRlbnRpYWxSZXF1ZXN0VHlwZVBsYXRmb3JtUHVibGljS2V5QXNzZXJ0aW9uIHwgQVNDQ3JlZGVu
dGlhbFJlcXVlc3RUeXBlU2VjdXJpdHlLZXlQdWJsaWNLZXlBc3NlcnRpb247CiAKQEAgLTY1Miwx
NCArNjQ0LDE0IEBAIHN0YXRpYyBSZXRhaW5QdHI8QVNDQ3JlZGVudGlhbFJlcXVlc3RDb250ZXh0
PiBjb25maWd1cmF0aW9uQXNzZXJ0aW9uUmVxdWVzdENvbnRlCiAgICAgc2V0R2xvYmFsRnJhbWVJ
REZvckNvbnRleHQocmVxdWVzdENvbnRleHQsIGdsb2JhbEZyYW1lSUQpOwogCiAgICAgaWYgKHJl
cXVlc3RUeXBlcyAmIEFTQ0NyZWRlbnRpYWxSZXF1ZXN0VHlwZVBsYXRmb3JtUHVibGljS2V5QXNz
ZXJ0aW9uKSB7Ci0gICAgICAgIFJldGFpblB0ciBhc3NlcnRpb25PcHRpb25zID0gY29uZmlndXJl
QXNzZXJ0aW9uT3B0aW9ucyhvcHRpb25zLCBBU0NQdWJsaWNLZXlDcmVkZW50aWFsS2luZFBsYXRm
b3JtLCBwYXJlbnRPcmlnaW4sIGFsbG93ZWRDcmVkZW50aWFscywgdXNlclZlcmlmaWNhdGlvbik7
CisgICAgICAgIGF1dG8gYXNzZXJ0aW9uT3B0aW9ucyA9IGNvbmZpZ3VyZUFzc2VydGlvbk9wdGlv
bnMob3B0aW9ucywgaGFzaCwgQVNDUHVibGljS2V5Q3JlZGVudGlhbEtpbmRQbGF0Zm9ybSwgcGFy
ZW50T3JpZ2luLCBhbGxvd2VkQ3JlZGVudGlhbHMsIHVzZXJWZXJpZmljYXRpb24pOwogICAgICAg
ICBpZiAoIWFzc2VydGlvbk9wdGlvbnMpCiAgICAgICAgICAgICByZXR1cm4gbmlsOwogICAgICAg
ICBbcmVxdWVzdENvbnRleHQgc2V0UGxhdGZvcm1LZXlDcmVkZW50aWFsQXNzZXJ0aW9uT3B0aW9u
czphc3NlcnRpb25PcHRpb25zLmdldCgpXTsKICAgICB9CiAKICAgICBpZiAocmVxdWVzdFR5cGVz
ICYgQVNDQ3JlZGVudGlhbFJlcXVlc3RUeXBlU2VjdXJpdHlLZXlQdWJsaWNLZXlBc3NlcnRpb24p
IHsKLSAgICAgICAgUmV0YWluUHRyIGFzc2VydGlvbk9wdGlvbnMgPSBjb25maWd1cmVBc3NlcnRp
b25PcHRpb25zKG9wdGlvbnMsIEFTQ1B1YmxpY0tleUNyZWRlbnRpYWxLaW5kU2VjdXJpdHlLZXks
IHBhcmVudE9yaWdpbiwgYWxsb3dlZENyZWRlbnRpYWxzLCB1c2VyVmVyaWZpY2F0aW9uKTsKKyAg
ICAgICAgYXV0byBhc3NlcnRpb25PcHRpb25zID0gY29uZmlndXJlQXNzZXJ0aW9uT3B0aW9ucyhv
cHRpb25zLCBoYXNoLCBBU0NQdWJsaWNLZXlDcmVkZW50aWFsS2luZFNlY3VyaXR5S2V5LCBwYXJl
bnRPcmlnaW4sIGFsbG93ZWRDcmVkZW50aWFscywgdXNlclZlcmlmaWNhdGlvbik7CiAgICAgICAg
IGlmICghYXNzZXJ0aW9uT3B0aW9ucykKICAgICAgICAgICAgIHJldHVybiBuaWw7CiAgICAgICAg
IFtyZXF1ZXN0Q29udGV4dCBzZXRTZWN1cml0eUtleUNyZWRlbnRpYWxBc3NlcnRpb25PcHRpb25z
OmFzc2VydGlvbk9wdGlvbnMuZ2V0KCldOwpAQCAtNjk1LDkgKzY4Nyw5IEBAIFJldGFpblB0cjxB
U0NDcmVkZW50aWFsUmVxdWVzdENvbnRleHQ+IFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5Ojpjb250ZXh0CiB7CiAgICAgUmV0YWluUHRyPEFTQ0NyZWRlbnRpYWxSZXF1ZXN0Q29udGV4
dD4gcmVzdWx0OwogICAgIFdURjo6c3dpdGNoT24ocmVxdWVzdERhdGEub3B0aW9ucywgWyZdKGNv
bnN0IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmIG9wdGlvbnMpIHsKLSAgICAg
ICAgcmVzdWx0ID0gY29uZmlndXJlUmVnaXN0cmF0aW9uUmVxdWVzdENvbnRleHQob3B0aW9ucywg
cmVxdWVzdERhdGEuZ2xvYmFsRnJhbWVJRCwgcmVxdWVzdERhdGEubWVkaWF0aW9uKTsKKyAgICAg
ICAgcmVzdWx0ID0gY29uZmlndXJlUmVnaXN0cmF0aW9uUmVxdWVzdENvbnRleHQob3B0aW9ucywg
cmVxdWVzdERhdGEuaGFzaCwgcmVxdWVzdERhdGEuZ2xvYmFsRnJhbWVJRCwgcmVxdWVzdERhdGEu
bWVkaWF0aW9uKTsKICAgICB9LCBbJl0oY29uc3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RP
cHRpb25zJiBvcHRpb25zKSB7Ci0gICAgICAgIHJlc3VsdCA9IGNvbmZpZ3VyYXRpb25Bc3NlcnRp
b25SZXF1ZXN0Q29udGV4dChvcHRpb25zLCByZXF1ZXN0RGF0YS5tZWRpYXRpb24sIHJlcXVlc3RE
YXRhLmdsb2JhbEZyYW1lSUQsIHJlcXVlc3REYXRhLnBhcmVudE9yaWdpbik7CisgICAgICAgIHJl
c3VsdCA9IGNvbmZpZ3VyYXRpb25Bc3NlcnRpb25SZXF1ZXN0Q29udGV4dChvcHRpb25zLCByZXF1
ZXN0RGF0YS5oYXNoLCByZXF1ZXN0RGF0YS5tZWRpYXRpb24sIHJlcXVlc3REYXRhLmdsb2JhbEZy
YW1lSUQsIHJlcXVlc3REYXRhLnBhcmVudE9yaWdpbik7CiAgICAgfSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRv
clByb3h5LmNwcAppbmRleCAyNWE5NWNmZGE3ZTkuLjUyYmNiMzc2MmRkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmNwcApAQCAtNjAs
MTQgKzYwLDE0IEBAIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Ojp+V2ViQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yUHJveHkoKQogICAgIG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5y
ZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRv
clByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgp
KTsKIH0KIAotdm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6bWFrZUNyZWRl
bnRpYWwoRnJhbWVJZGVudGlmaWVyIGZyYW1lSWQsIEZyYW1lSW5mb0RhdGEmJiBmcmFtZUluZm8s
IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmJiBvcHRpb25zLCBSZXF1ZXN0Q29t
cGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQordm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3JQcm94eTo6bWFrZUNyZWRlbnRpYWwoRnJhbWVJZGVudGlmaWVyIGZyYW1lSWQsIEZyYW1lSW5m
b0RhdGEmJiBmcmFtZUluZm8sIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFB1YmxpY0tleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMmJiBvcHRpb25zLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXIm
JiBoYW5kbGVyKQogewotICAgIGhhbmRsZVJlcXVlc3QoeyB7IH0sIFdURk1vdmUob3B0aW9ucyks
IG1fd2ViUGFnZVByb3h5LCBXZWJBdXRoZW50aWNhdGlvblBhbmVsUmVzdWx0OjpVbmF2YWlsYWJs
ZSwgbnVsbHB0ciwgR2xvYmFsRnJhbWVJZGVudGlmaWVyIHsgbV93ZWJQYWdlUHJveHkud2ViUGFn
ZUlEKCksIGZyYW1lSWQgfSwgV1RGTW92ZShmcmFtZUluZm8pLCBTdHJpbmcoKSwgbnVsbHB0ciwg
c3RkOjpudWxsb3B0LCBzdGQ6Om51bGxvcHQgfSwgV1RGTW92ZShoYW5kbGVyKSk7CisgICAgaGFu
ZGxlUmVxdWVzdCh7IFdURk1vdmUoaGFzaCksIFdURk1vdmUob3B0aW9ucyksIG1fd2ViUGFnZVBy
b3h5LCBXZWJBdXRoZW50aWNhdGlvblBhbmVsUmVzdWx0OjpVbmF2YWlsYWJsZSwgbnVsbHB0ciwg
R2xvYmFsRnJhbWVJZGVudGlmaWVyIHsgbV93ZWJQYWdlUHJveHkud2ViUGFnZUlEKCksIGZyYW1l
SWQgfSwgV1RGTW92ZShmcmFtZUluZm8pLCBTdHJpbmcoKSwgbnVsbHB0ciwgc3RkOjpudWxsb3B0
LCBzdGQ6Om51bGxvcHQgfSwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKLXZvaWQgV2ViQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yUHJveHk6OmdldEFzc2VydGlvbihGcmFtZUlkZW50aWZpZXIgZnJh
bWVJZCwgRnJhbWVJbmZvRGF0YSYmIGZyYW1lSW5mbywgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVl
c3RPcHRpb25zJiYgb3B0aW9ucywgTWVkaWF0aW9uUmVxdWlyZW1lbnQgbWVkaWF0aW9uLCBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gcGFyZW50T3JpZ2luLCBSZXF1
ZXN0Q29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQordm9pZCBXZWJBdXRoZW50aWNhdG9yQ29v
cmRpbmF0b3JQcm94eTo6Z2V0QXNzZXJ0aW9uKEZyYW1lSWRlbnRpZmllciBmcmFtZUlkLCBGcmFt
ZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBQdWJsaWNLZXlD
cmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmJiBvcHRpb25zLCBNZWRpYXRpb25SZXF1aXJlbWVudCBt
ZWRpYXRpb24sIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBwYXJl
bnRPcmlnaW4sIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCiB7Ci0gICAgaGFu
ZGxlUmVxdWVzdCh7IHsgfSwgV1RGTW92ZShvcHRpb25zKSwgbV93ZWJQYWdlUHJveHksIFdlYkF1
dGhlbnRpY2F0aW9uUGFuZWxSZXN1bHQ6OlVuYXZhaWxhYmxlLCBudWxscHRyLCBHbG9iYWxGcmFt
ZUlkZW50aWZpZXIgeyBtX3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSwgZnJhbWVJZCB9LCBXVEZN
b3ZlKGZyYW1lSW5mbyksIFN0cmluZygpLCBudWxscHRyLCBtZWRpYXRpb24sIHBhcmVudE9yaWdp
biB9LCBXVEZNb3ZlKGhhbmRsZXIpKTsKKyAgICBoYW5kbGVSZXF1ZXN0KHsgV1RGTW92ZShoYXNo
KSwgV1RGTW92ZShvcHRpb25zKSwgbV93ZWJQYWdlUHJveHksIFdlYkF1dGhlbnRpY2F0aW9uUGFu
ZWxSZXN1bHQ6OlVuYXZhaWxhYmxlLCBudWxscHRyLCBHbG9iYWxGcmFtZUlkZW50aWZpZXIgeyBt
X3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSwgZnJhbWVJZCB9LCBXVEZNb3ZlKGZyYW1lSW5mbyks
IFN0cmluZygpLCBudWxscHRyLCBtZWRpYXRpb24sIHBhcmVudE9yaWdpbiB9LCBXVEZNb3ZlKGhh
bmRsZXIpKTsKIH0KIAogdm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6aGFu
ZGxlUmVxdWVzdChXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhJiYgZGF0YSwgUmVxdWVzdENv
bXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oCmluZGV4IDFjYzU4ODg3ZTM2Ny4uNDA2YWZhMjU1MjNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9X
ZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5
LmgKQEAgLTg5LDggKzg5LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8gUmVj
ZWl2ZXJzLgotICAgIHZvaWQgbWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVy
LCBGcmFtZUluZm9EYXRhJiYsIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMmJiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYpOwotICAgIHZvaWQgZ2V0QXNzZXJ0
aW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYmLCBXZWJDb3JlOjpQ
dWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmJiwgV2ViQ29yZTo6TWVkaWF0aW9uUmVx
dWlyZW1lbnQsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiwgUmVx
dWVzdENvbXBsZXRpb25IYW5kbGVyJiYpOworICAgIHZvaWQgbWFrZUNyZWRlbnRpYWwoV2ViQ29y
ZTo6RnJhbWVJZGVudGlmaWVyLCBGcmFtZUluZm9EYXRhJiYsIFZlY3Rvcjx1aW50OF90PiYmIGhh
c2gsIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmJiwgUmVxdWVz
dENvbXBsZXRpb25IYW5kbGVyJiYpOworICAgIHZvaWQgZ2V0QXNzZXJ0aW9uKFdlYkNvcmU6OkZy
YW1lSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYmLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBX
ZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmJiwgV2ViQ29yZTo6TWVk
aWF0aW9uUmVxdWlyZW1lbnQsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhPiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYpOwogICAgIHZvaWQgaXNVc2VyVmVyaWZ5
aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSYsIFF1ZXJ5Q29tcGxldGlvbkhhbmRsZXImJik7CiAgICAgdm9pZCBpc0NvbmRp
dGlvbmFsTWVkaWF0aW9uQXZhaWxhYmxlKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0
YSYsIFF1ZXJ5Q29tcGxldGlvbkhhbmRsZXImJik7CiAgICAgdm9pZCBnZXRDbGllbnRDYXBhYmls
aXRpZXMoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiwgQ2FwYWJpbGl0aWVzQ29t
cGxldGlvbkhhbmRsZXImJik7CkBAIC0xMDUsOCArMTA1LDggQEAgcHJpdmF0ZToKIAogI2lmIEhB
VkUoV0VCX0FVVEhOX0FTX01PREVSTikKICAgICBSZXRhaW5QdHI8QVNBdXRob3JpemF0aW9uQ29u
dHJvbGxlcj4gY29uc3RydWN0QVNDb250cm9sbGVyKFdlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERh
dGEmJik7Ci0gICAgUmV0YWluUHRyPE5TQXJyYXk+IHJlcXVlc3RzRm9yUmVnaXN0ZXJhdGlvbihj
b25zdCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zJiwgY29uc3Qg
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBjYWxsZXJPcmlnaW4pOwotICAgIFJldGFpblB0
cjxOU0FycmF5PiByZXF1ZXN0c0ZvckFzc2VydGlvbihjb25zdCBXZWJDb3JlOjpQdWJsaWNLZXlD
cmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEmIGNhbGxlck9yaWdpbiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGE+JiBwYXJlbnRPcmlnaW4pOworICAgIFJldGFpblB0cjxOU0FycmF5PiByZXF1ZXN0c0ZvclJl
Z2lzdGVyYXRpb24oY29uc3QgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0
aW9ucyYsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgaGFzaCk7CisgICAgUmV0YWluUHRyPE5TQXJy
YXk+IHJlcXVlc3RzRm9yQXNzZXJ0aW9uKGNvbnN0IFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucyYsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgaGFzaCwgc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+JiBwYXJlbnRPcmlnaW4pOwogI2VuZGlm
CiAKICAgICB2b2lkIHBlcmZvcm1SZXF1ZXN0KFdlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEm
JiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNh
dGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgppbmRleCA0
Y2ZkYWI1NWEwZGMuLmM0YjJkYWEyYmQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHku
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KQEAgLTI2LDgg
KzI2LDggQEAKIAogbWVzc2FnZXMgLT4gV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkg
Tm90UmVmQ291bnRlZCB7CiAKLSAgICBNYWtlQ3JlZGVudGlhbChXZWJDb3JlOjpGcmFtZUlkZW50
aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSBmcmFtZUluZm8sIHN0
cnVjdCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIG9wdGlvbnMp
IC0+IChzdHJ1Y3QgV2ViQ29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YSBkYXRhLCBlbnVt
OnVpbnQ4X3QgV2ViQ29yZTo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQgYXR0YWNobWVudCwgc3Ry
dWN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgZXhjZXB0aW9uKQotICAgIEdldEFzc2VydGlvbihX
ZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZv
RGF0YSBmcmFtZUluZm8sIHN0cnVjdCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVz
dE9wdGlvbnMgb3B0aW9ucywgZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhdGlvblJlcXVpcmVt
ZW50IG1lZGlhdGlvbiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+
IHBhcmVudE9yaWdpbikgLT4gKHN0cnVjdCBXZWJDb3JlOjpBdXRoZW50aWNhdG9yUmVzcG9uc2VE
YXRhIGRhdGEsIGVudW06dWludDhfdCBXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudCBh
dHRhY2htZW50LCBzdHJ1Y3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSBleGNlcHRpb24pCisgICAg
TWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHN0cnVjdCBX
ZWJLaXQ6OkZyYW1lSW5mb0RhdGEgZnJhbWVJbmZvLCBWZWN0b3I8dWludDhfdD4gaGFzaCwgc3Ry
dWN0IFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgb3B0aW9ucykg
LT4gKHN0cnVjdCBXZWJDb3JlOjpBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhIGRhdGEsIGVudW06
dWludDhfdCBXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudCBhdHRhY2htZW50LCBzdHJ1
Y3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSBleGNlcHRpb24pCisgICAgR2V0QXNzZXJ0aW9uKFdl
YkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpGcmFtZUluZm9E
YXRhIGZyYW1lSW5mbywgVmVjdG9yPHVpbnQ4X3Q+IGhhc2gsIHN0cnVjdCBXZWJDb3JlOjpQdWJs
aWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgb3B0aW9ucywgZW51bTp1aW50OF90IFdlYkNv
cmU6Ok1lZGlhdGlvblJlcXVpcmVtZW50IG1lZGlhdGlvbiwgc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbkRhdGE+IHBhcmVudE9yaWdpbikgLT4gKHN0cnVjdCBXZWJDb3JlOjpB
dXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhIGRhdGEsIGVudW06dWludDhfdCBXZWJDb3JlOjpBdXRo
ZW50aWNhdG9yQXR0YWNobWVudCBhdHRhY2htZW50LCBzdHJ1Y3QgV2ViQ29yZTo6RXhjZXB0aW9u
RGF0YSBleGNlcHRpb24pCiAgICAgaXNDb25kaXRpb25hbE1lZGlhdGlvbkF2YWlsYWJsZShXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgb3JpZ2luKSAtPiAoYm9vbCByZXN1bHQpCiAgICAgSXNV
c2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luRGF0YSBvcmlnaW4pIC0+IChib29sIHJlc3VsdCkKICAgICBHZXRDbGllbnRDYXBh
YmlsaXRpZXMoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIG9yaWdpbikgLT4gKFZlY3RvcjxL
ZXlWYWx1ZVBhaXI8U3RyaW5nLCBib29sPj4gcmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGlu
YXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2Vi
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcAppbmRleCBiMDU2NmJkNjM1MDcuLjBiOTE1ZmU4
YzY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvci5j
cHAKQEAgLTY3LDIyICs2NywyMiBAQCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OldlYkF1
dGhlbnRpY2F0b3JDb29yZGluYXRvcihXZWJQYWdlJiB3ZWJQYWdlKQogewogfQogCi12b2lkIFdl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvcjo6bWFrZUNyZWRlbnRpYWwoY29uc3QgTG9jYWxGcmFt
ZSYgZnJhbWUsIGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmIG9wdGlv
bnMsIE1lZGlhdGlvblJlcXVpcmVtZW50IG1lZGlhdGlvbiwgUmVxdWVzdENvbXBsZXRpb25IYW5k
bGVyJiYgaGFuZGxlcikKK3ZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjptYWtlQ3Jl
ZGVudGlhbChjb25zdCBMb2NhbEZyYW1lJiBmcmFtZSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBo
YXNoLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zJiBvcHRpb25zLCBN
ZWRpYXRpb25SZXF1aXJlbWVudCBtZWRpYXRpb24sIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYm
IGhhbmRsZXIpCiB7CiAgICAgYXV0byB3ZWJGcmFtZSA9IFdlYkZyYW1lOjpmcm9tQ29yZUZyYW1l
KGZyYW1lKTsKICAgICBpZiAoIXdlYkZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3dl
YlBhZ2Uuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3JQcm94eTo6TWFrZUNyZWRlbnRpYWwod2ViRnJhbWUtPmZyYW1lSUQoKSwgd2ViRnJhbWUt
PmluZm8oKSwgb3B0aW9ucyksIFdURk1vdmUoaGFuZGxlcikpOworICAgIG1fd2ViUGFnZS5zZW5k
V2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5
OjpNYWtlQ3JlZGVudGlhbCh3ZWJGcmFtZS0+ZnJhbWVJRCgpLCB3ZWJGcmFtZS0+aW5mbygpLCBo
YXNoLCBvcHRpb25zKSwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKLXZvaWQgV2ViQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yOjpnZXRBc3NlcnRpb24oY29uc3QgTG9jYWxGcmFtZSYgZnJhbWUsIGNv
bnN0IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYgb3B0aW9ucywgTWVkaWF0aW9u
UmVxdWlyZW1lbnQgbWVkaWF0aW9uLCBjb25zdCBTY29wZUFuZENyb3NzT3JpZ2luUGFyZW50JiBz
Y29wZUFuZENyb3NzT3JpZ2luUGFyZW50LCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJiBoYW5k
bGVyKQordm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OmdldEFzc2VydGlvbihjb25z
dCBMb2NhbEZyYW1lJiBmcmFtZSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBoYXNoLCBjb25zdCBQ
dWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmIG9wdGlvbnMsIE1lZGlhdGlvblJlcXVp
cmVtZW50IG1lZGlhdGlvbiwgY29uc3QgU2NvcGVBbmRDcm9zc09yaWdpblBhcmVudCYgc2NvcGVB
bmRDcm9zc09yaWdpblBhcmVudCwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikK
IHsKICAgICBhdXRvIHdlYkZyYW1lID0gV2ViRnJhbWU6OmZyb21Db3JlRnJhbWUoZnJhbWUpOwog
ICAgIGlmICghd2ViRnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fd2ViUGFnZS5zZW5k
V2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5
OjpHZXRBc3NlcnRpb24od2ViRnJhbWUtPmZyYW1lSUQoKSwgd2ViRnJhbWUtPmluZm8oKSwgb3B0
aW9ucywgbWVkaWF0aW9uLCBzY29wZUFuZENyb3NzT3JpZ2luUGFyZW50LnNlY29uZCksIFdURk1v
dmUoaGFuZGxlcikpOworICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6
OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpHZXRBc3NlcnRpb24od2ViRnJhbWUt
PmZyYW1lSUQoKSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9ucywgbWVkaWF0aW9uLCBz
Y29wZUFuZENyb3NzT3JpZ2luUGFyZW50LnNlY29uZCksIFdURk1vdmUoaGFuZGxlcikpOwogfQog
CiB2b2lkIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvcjo6aXNDb25kaXRpb25hbE1lZGlhdGlv
bkF2YWlsYWJsZShjb25zdCBTZWN1cml0eU9yaWdpbiYgb3JpZ2luLCBRdWVyeUNvbXBsZXRpb25I
YW5kbGVyJiYgaGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuaAppbmRleCA4YjU5NDZkNmI0NWQuLjY4MGI4ZDQ2ZDQzMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNh
dGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaApAQCAtNDAsOCArNDAsOCBAQCBwdWJs
aWM6CiAKIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6QXV0aGVudGljYXRvckNvb3JkaW5hdG9y
Q2xpZW50Ci0gICAgdm9pZCBtYWtlQ3JlZGVudGlhbChjb25zdCBXZWJDb3JlOjpMb2NhbEZyYW1l
JiwgY29uc3QgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyYsIFdl
YkNvcmU6Ok1lZGlhdGlvblJlcXVpcmVtZW50LCBXZWJDb3JlOjpSZXF1ZXN0Q29tcGxldGlvbkhh
bmRsZXImJikgZmluYWw7Ci0gICAgdm9pZCBnZXRBc3NlcnRpb24oY29uc3QgV2ViQ29yZTo6TG9j
YWxGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9u
cyYsIFdlYkNvcmU6Ok1lZGlhdGlvblJlcXVpcmVtZW50LCBjb25zdCBzdGQ6OnBhaXI8V2ViQXV0
aG46OlNjb3BlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4+Jiwg
V2ViQ29yZTo6UmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYpIGZpbmFsOworICAgIHZvaWQgbWFr
ZUNyZWRlbnRpYWwoY29uc3QgV2ViQ29yZTo6TG9jYWxGcmFtZSYsIGNvbnN0IFZlY3Rvcjx1aW50
OF90PiYsIGNvbnN0IFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMm
LCBXZWJDb3JlOjpNZWRpYXRpb25SZXF1aXJlbWVudCwgV2ViQ29yZTo6UmVxdWVzdENvbXBsZXRp
b25IYW5kbGVyJiYpIGZpbmFsOworICAgIHZvaWQgZ2V0QXNzZXJ0aW9uKGNvbnN0IFdlYkNvcmU6
OkxvY2FsRnJhbWUmLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGhhc2gsIGNvbnN0IFdlYkNvcmU6
OlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYsIFdlYkNvcmU6Ok1lZGlhdGlvblJl
cXVpcmVtZW50LCBjb25zdCBzdGQ6OnBhaXI8V2ViQXV0aG46OlNjb3BlLCBzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4+JiwgV2ViQ29yZTo6UmVxdWVzdENvbXBsZXRp
b25IYW5kbGVyJiYpIGZpbmFsOwogICAgIHZvaWQgaXNDb25kaXRpb25hbE1lZGlhdGlvbkF2YWls
YWJsZShjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYsIFdlYkNvcmU6OlF1ZXJ5Q29tcGxl
dGlvbkhhbmRsZXImJikgZmluYWw7CiAgICAgdm9pZCBpc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1
dGhlbnRpY2F0b3JBdmFpbGFibGUoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mLCBXZWJD
b3JlOjpRdWVyeUNvbXBsZXRpb25IYW5kbGVyJiYpIGZpbmFsOwogICAgIHZvaWQgZ2V0Q2xpZW50
Q2FwYWJpbGl0aWVzKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiwgV2ViQ29yZTo6Q2Fw
YWJpbGl0aWVzQ29tcGxldGlvbkhhbmRsZXImJikgZmluYWw7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>