<?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>166796</bug_id>
          
          <creation_ts>2017-01-06 20:25:08 -0800</creation_ts>
          <short_desc>Add support for MediaKeys.createSession().</short_desc>
          <delta_ts>2017-01-10 10:42:38 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>166772</dependson>
          <blocked>166880</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1264639</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-01-06 20:25:08 -0800</bug_when>
    <thetext>Add support for MediaKeys.createSession().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265366</commentid>
    <comment_count>1</comment_count>
      <attachid>298465</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-01-10 08:36:28 -0800</bug_when>
    <thetext>Created attachment 298465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265391</commentid>
    <comment_count>2</comment_count>
      <attachid>298473</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-01-10 09:31:20 -0800</bug_when>
    <thetext>Created attachment 298473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265421</commentid>
    <comment_count>3</comment_count>
      <attachid>298473</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-10 10:42:34 -0800</bug_when>
    <thetext>Comment on attachment 298473
Patch

Clearing flags on attachment: 298473

Committed r210552: &lt;http://trac.webkit.org/changeset/210552&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265422</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-10 10:42:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298465</attachid>
            <date>2017-01-10 08:36:28 -0800</date>
            <delta_ts>2017-01-10 09:31:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166796-20170110083449.patch</filename>
            <type>text/plain</type>
            <size>29639</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTAyMzYxNmI2ZDdmNDUy
YjE4MWM3ZjZlNmY4YzhkYzMwNjFmYjRiZS4uYjg1Yjc4YjJjYzM0MGUzOTQyNTBjY2JjYjNkYTFi
NGQ0Y2U0MzdkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDE3LTAxLTA2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBN
ZWRpYUtleXMuY3JlYXRlU2Vzc2lvbigpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY2Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL21vY2stTWVkaWFL
ZXlzLWNyZWF0ZVNlc3Npb24uaHRtbAorCisgICAgICAgIEltcGxlbWVudCBNZWRpYUtleXM6OmNy
ZWF0ZVNlc3Npb24oKS4gVGhpcyByZXF1aXJlcyBzb21lIGFkZGl0aW9ucyB0bworICAgICAgICBD
RE0sIENETVByaXZhdGUsIGFuZCBDRE1JbnN0YW5jZSB0byBzdXBwb3J0IHBsYXRmb3JtIGFkb3B0
aW9uIGFuZCB0bworICAgICAgICBpbXBsZW1lbnQgbW9jayBzdXBwb3J0IGZvciB0ZXN0aW5nLiBC
ZWNhdXNlIHRoZSBDRE1JbnN0YW5jZSB3aWxsIG5vdworICAgICAgICBiZSBzaGFyZWQgYmV0d2Vl
biBNZWRpYUtleXMgYW5kIE1lZGlhS2V5U2Vzc2lvbiwgaXQgY2Fubm90IGJlIGEgdW5pcXVlX3B0
ci4KKyAgICAgICAgTWFrZSBDRE1JbnRlcmZhY2UgcmVmLWNvdW50ZWQgYW5kIHN0b3JlIGl0IGFz
IGEgUmVmLgorCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0RNOjpjcmVhdGVJbnN0YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpD
RE06OnN1cHBvcnRzU2Vzc2lvbnMpOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
Q0RNLmg6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE1JbnN0YW5jZS5oOgor
ICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZS5oOgorICAgICAgICAq
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
S2V5U2Vzc2lvbjo6TWVkaWFLZXlTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5
U2Vzc2lvbjo6c2Vzc2lvbklkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6
ZXhwaXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmtleVN0YXR1
c2VzKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5o
OgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uVHlwZS5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vz
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN5c3RlbUFjY2Vzczo6Y3JlYXRlTWVk
aWFLZXlzKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleXM6Ok1lZGlhS2V5cyk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUtleXM6OmNyZWF0ZVNlc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlzLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleXM6OmNyZWF0
ZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsOgorCisy
MDE3LTAxLTA2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCiAgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBNZWRpYUtleXMuc2V0U2VydmVyQ2VydGlmaWNhdGUoKQogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NzcyCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmNwcAppbmRleCA4NDI2NTdjMThh
MjViNTQyOWIxMzFlY2M1YjljNTc3NjIzYjZiOTk0Li44Y2I4MzRlYzUyMmVhY2NmYjU4NDJkZjAx
YmZjMTg2NTk3YTU4OTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL0NETS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9DRE0uY3BwCkBAIC02MTcsNyArNjE3LDcgQEAgdm9pZCBDRE06OmxvYWRBbmRJbml0aWFs
aXplKCkKICAgICAgICAgbV9wcml2YXRlLT5sb2FkQW5kSW5pdGlhbGl6ZSgpOwogfQogCi1zdGQ6
OnVuaXF1ZV9wdHI8Q0RNSW5zdGFuY2U+IENETTo6Y3JlYXRlSW5zdGFuY2UoKQorUmVmUHRyPENE
TUluc3RhbmNlPiBDRE06OmNyZWF0ZUluc3RhbmNlKCkKIHsKICAgICBpZiAoIW1fcHJpdmF0ZSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02MjksNiArNjI5LDExIEBAIGJvb2wgQ0RNOjpz
dXBwb3J0c1NlcnZlckNlcnRpZmljYXRlcygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZSAm
JiBtX3ByaXZhdGUtPnN1cHBvcnRzU2VydmVyQ2VydGlmaWNhdGVzKCk7CiB9CiAKK2Jvb2wgQ0RN
OjpzdXBwb3J0c1Nlc3Npb25zKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlICYmIG1f
cHJpdmF0ZS0+c3VwcG9ydHNTZXNzaW9ucygpOworfQorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmgKaW5kZXggYzQxMjA3YjdjOWYxZWUw
NGQ1MWQyMTI1OWRjNDBlZWEzYjQwOTIwMS4uZTU2Y2NjNjYzMmQ3NjQ0MzUwNzQzZmFlZTFmYTYz
YzY0NGM3OWYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9DRE0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NE
TS5oCkBAIC03MCw4ICs3MCw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGtleVN5c3Rl
bSgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5U3lzdGVtOyB9CiAKICAgICB2b2lkIGxvYWRBbmRJbml0
aWFsaXplKCk7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPENETUluc3RhbmNlPiBjcmVhdGVJbnN0YW5j
ZSgpOworICAgIFJlZlB0cjxDRE1JbnN0YW5jZT4gY3JlYXRlSW5zdGFuY2UoKTsKICAgICBib29s
IHN1cHBvcnRzU2VydmVyQ2VydGlmaWNhdGVzKCkgY29uc3Q7CisgICAgYm9vbCBzdXBwb3J0c1Nl
c3Npb25zKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgQ0RNKERvY3VtZW50JiwgY29uc3QgU3Ry
aW5nJiBrZXlTeXN0ZW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9DRE1JbnN0YW5jZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9DRE1JbnN0YW5jZS5oCmluZGV4IGFhNTQxZTI1YWI3ODc5YTY3ZDc3ZDFiYjYwMmQ3
OGQ5M2M4Y2EwNDkuLjcyZmY1NWNmMjJkY2FkYjNjYmM4YzVlNGQ2ZTUxM2JjNWI2YmY3NGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNSW5zdGFu
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETUluc3Rh
bmNlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBu
YW1lc3BhY2UgSlNDIHsKIGNsYXNzIEFycmF5QnVmZmVyOwpAQCAtMzcsNyArMzgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb247CiAK
LWNsYXNzIENETUluc3RhbmNlIHsKK2NsYXNzIENETUluc3RhbmNlIDogcHVibGljIFJlZkNvdW50
ZWQ8Q0RNSW5zdGFuY2U+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DRE1JbnN0YW5jZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NE
TVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJp
dmF0ZS5oCmluZGV4IGU0ODU1NDY5NjlmNjRkMGEyNGViNzk1M2RkZDYwOGM2ODQzMzU4NTguLjYw
YjZmY2EyZjVkNThmOTk5YmI1NTJiYTU0YzU3NDMyYmE2YjAzODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZS5oCkBAIC00OSw5ICs0
OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBNZWRpYUtleXNSZXF1aXJlbWVudCBkaXN0aW5j
dGl2ZUlkZW50aWZpZXJzUmVxdWlyZW1lbnQoY29uc3QgTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0
aW9uJiwgY29uc3QgTWVkaWFLZXlzUmVzdHJpY3Rpb25zJikgPSAwOwogICAgIHZpcnR1YWwgTWVk
aWFLZXlzUmVxdWlyZW1lbnQgcGVyc2lzdGVudFN0YXRlUmVxdWlyZW1lbnQoY29uc3QgTWVkaWFL
ZXlTeXN0ZW1Db25maWd1cmF0aW9uJiwgY29uc3QgTWVkaWFLZXlzUmVzdHJpY3Rpb25zJikgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBkaXN0aW5jdGl2ZUlkZW50aWZpZXJzQXJlVW5pcXVlUGVyT3Jp
Z2luQW5kQ2xlYXJhYmxlKGNvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYpID0gMDsK
LSAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxDRE1JbnN0YW5jZT4gY3JlYXRlSW5zdGFuY2Uo
KSA9IDA7CisgICAgdmlydHVhbCBSZWZQdHI8Q0RNSW5zdGFuY2U+IGNyZWF0ZUluc3RhbmNlKCkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkQW5kSW5pdGlhbGl6ZSgpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHNTZXJ2ZXJDZXJ0aWZpY2F0ZXMoKSBjb25zdCA9IDA7CisgICAgdmly
dHVhbCBib29sIHN1cHBvcnRzU2Vzc2lvbnMoKSBjb25zdCA9IDA7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5jcHAKaW5kZXggZTVmMTE3NzQ2NjYyMmM4OWFhY2E5NTIyYzVkMTdlMzFkY2JiOWFiYS4u
MGNkNzNmOWUwY2UzNTYwZWYzZmMxNjQwZTZmZjE3YzdjZGE2NDdhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmNwcApAQCAtMzEsNDEgKzMxLDY3IEBACiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQog
CisjaW5jbHVkZSAiQ0RNLmgiCisjaW5jbHVkZSAiQ0RNSW5zdGFuY2UuaCIKICNpbmNsdWRlICJN
ZWRpYUtleVN0YXR1c01hcC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotUmVmPE1lZGlhS2V5U2Vzc2lvbj4gTWVkaWFLZXlTZXNzaW9uOjpj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK1JlZjxNZWRpYUtleVNlc3Np
b24+IE1lZGlhS2V5U2Vzc2lvbjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIE1lZGlhS2V5U2Vzc2lvblR5cGUgc2Vzc2lvblR5cGUsIGJvb2wgdXNlRGlzdGluY3RpdmVJ
ZGVudGlmaWVyLCBSZWY8Q0RNPiYmIGltcGxlbWVudGF0aW9uLCBSZWY8Q0RNSW5zdGFuY2U+JiYg
aW5zdGFuY2UpCiB7Ci0gICAgYXV0byBzZXNzaW9uID0gYWRvcHRSZWYoKm5ldyBNZWRpYUtleVNl
c3Npb24oY29udGV4dCkpOworICAgIGF1dG8gc2Vzc2lvbiA9IGFkb3B0UmVmKCpuZXcgTWVkaWFL
ZXlTZXNzaW9uKGNvbnRleHQsIHNlc3Npb25UeXBlLCB1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIs
IFdURk1vdmUoaW1wbGVtZW50YXRpb24pLCBXVEZNb3ZlKGluc3RhbmNlKSkpOwogICAgIHNlc3Np
b24tPnN1c3BlbmRJZk5lZWRlZCgpOwogICAgIHJldHVybiBzZXNzaW9uOwogfQogCi1NZWRpYUtl
eVNlc3Npb246Ok1lZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
KQorTWVkaWFLZXlTZXNzaW9uOjpNZWRpYUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgTWVkaWFLZXlTZXNzaW9uVHlwZSBzZXNzaW9uVHlwZSwgYm9vbCB1c2VEaXN0
aW5jdGl2ZUlkZW50aWZpZXIsIFJlZjxDRE0+JiYgaW1wbGVtZW50YXRpb24sIFJlZjxDRE1JbnN0
YW5jZT4mJiBpbnN0YW5jZSkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAs
IG1fZXhwaXJhdGlvbihzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpKQor
ICAgICwgbV9rZXlTdGF0dXNlcyhNZWRpYUtleVN0YXR1c01hcDo6Y3JlYXRlKCkpCisgICAgLCBt
X3VzZURpc3RpbmN0aXZlSWRlbnRpZmllcih1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIpCisgICAg
LCBtX3Nlc3Npb25UeXBlKHNlc3Npb25UeXBlKQorICAgICwgbV9pbXBsZW1lbnRhdGlvbihXVEZN
b3ZlKGltcGxlbWVudGF0aW9uKSkKKyAgICAsIG1faW5zdGFuY2UoV1RGTW92ZShpbnN0YW5jZSkp
CiB7CisgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL2VuY3J5cHRlZC1tZWRpYS8jZG9tLW1l
ZGlha2V5cy1zZXRzZXJ2ZXJjZXJ0aWZpY2F0ZQorICAgIC8vIFczQyBFZGl0b3IncyBEcmFmdCAw
OSBOb3ZlbWJlciAyMDE2CisgICAgLy8gY3JlYXRlU2Vzc2lvbigpLCBjdGQuCisKKyAgICAvLyAz
LjEuIExldCB0aGUgc2Vzc2lvbklkIGF0dHJpYnV0ZSBiZSB0aGUgZW1wdHkgc3RyaW5nLgorICAg
IC8vIDMuMi4gTGV0IHRoZSBleHBpcmF0aW9uIGF0dHJpYnV0ZSBiZSBOYU4uCisgICAgLy8gMy4z
LiBMZXQgdGhlIGNsb3NlZCBhdHRyaWJ1dGUgYmUgYSBuZXcgcHJvbWlzZS4KKyAgICAvLyAzLjQu
IExldCBrZXkgc3RhdHVzIGJlIGEgbmV3IGVtcHR5IE1lZGlhS2V5U3RhdHVzTWFwIG9iamVjdCwg
YW5kIGluaXRpYWxpemUgaXQgYXMgZm9sbG93czoKKyAgICAvLyAzLjQuMS4gTGV0IHRoZSBzaXpl
IGF0dHJpYnV0ZSBiZSAwLgorICAgIC8vIDMuNS4gTGV0IHRoZSBzZXNzaW9uIHR5cGUgdmFsdWUg
YmUgc2Vzc2lvblR5cGUuCisgICAgLy8gMy42LiBMZXQgdGhlIHVuaW5pdGlhbGl6ZWQgdmFsdWUg
YmUgdHJ1ZS4KKyAgICAvLyAzLjcuIExldCB0aGUgY2FsbGFibGUgdmFsdWUgYmUgZmFsc2UuCisg
ICAgLy8gMy44LiBMZXQgdGhlIHVzZSBkaXN0aW5jdGl2ZSBpZGVudGlmaWVyIHZhbHVlIGJlIHRo
aXMgb2JqZWN0J3MgdXNlIGRpc3RpbmN0aXZlIGlkZW50aWZpZXIgdmFsdWUuCisgICAgLy8gMy45
LiBMZXQgdGhlIGNkbSBpbXBsZW1lbnRhdGlvbiB2YWx1ZSBiZSB0aGlzIG9iamVjdCdzIGNkbSBp
bXBsZW1lbnRhdGlvbi4KKyAgICAvLyAzLjEwLiBMZXQgdGhlIGNkbSBpbnN0YW5jZSB2YWx1ZSBi
ZSB0aGlzIG9iamVjdCdzIGNkbSBpbnN0YW5jZS4KKworICAgIFVOVVNFRF9QQVJBTShtX2NhbGxh
YmxlKTsKKyAgICBVTlVTRURfUEFSQU0obV9zZXNzaW9uVHlwZSk7CisgICAgVU5VU0VEX1BBUkFN
KG1fdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyKTsKKyAgICBVTlVTRURfUEFSQU0obV9jbG9zZWQp
OworICAgIFVOVVNFRF9QQVJBTShtX3VuaW5pdGlhbGl6ZWQpOwogfQogCiBNZWRpYUtleVNlc3Np
b246On5NZWRpYUtleVNlc3Npb24oKSA9IGRlZmF1bHQ7CiAKIGNvbnN0IFN0cmluZyYgTWVkaWFL
ZXlTZXNzaW9uOjpzZXNzaW9uSWQoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0g
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJuIG1fc2Vzc2lvbklkOwogfQogCiBk
b3VibGUgTWVkaWFLZXlTZXNzaW9uOjpleHBpcmF0aW9uKCkgY29uc3QKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2V4cGlyYXRpb247CiB9CiAK
LVJlZlB0cjxNZWRpYUtleVN0YXR1c01hcD4gTWVkaWFLZXlTZXNzaW9uOjprZXlTdGF0dXNlcygp
IGNvbnN0CitSZWY8TWVkaWFLZXlTdGF0dXNNYXA+IE1lZGlhS2V5U2Vzc2lvbjo6a2V5U3RhdHVz
ZXMoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIG51bGxwdHI7
CisgICAgcmV0dXJuIG1fa2V5U3RhdHVzZXMuY29weVJlZigpOwogfQogCiB2b2lkIE1lZGlhS2V5
U2Vzc2lvbjo6Z2VuZXJhdGVSZXF1ZXN0KGNvbnN0IFN0cmluZyYsIGNvbnN0IEJ1ZmZlclNvdXJj
ZSYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAppbmRleCA2YmNkMjM3ZDdm
OGU5NTAyOWExYzFmN2ZkMWViNGJmZDQ5OGFiMjE1Li41ODI4YjA4MDgyODYxNjM1NTUyNGQ4NGMw
OTU3ZDAzNjVmMjBhNzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKQEAgLTQxLDEyICs0MSwxNCBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCdWZmZXJTb3VyY2U7CitjbGFzcyBDRE07CitjbGFz
cyBDRE1JbnN0YW5jZTsKIGNsYXNzIE1lZGlhS2V5U3RhdHVzTWFwOwogY2xhc3MgTWVkaWFLZXlz
OwogCiBjbGFzcyBNZWRpYUtleVNlc3Npb24gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YUtleVNlc3Npb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxNZWRpYUtleVNlc3Npb24+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisgICAgc3RhdGljIFJlZjxNZWRpYUtl
eVNlc3Npb24+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFLZXlTZXNzaW9u
VHlwZSwgYm9vbCB1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIsIFJlZjxDRE0+JiYsIFJlZjxDRE1J
bnN0YW5jZT4mJik7CiAgICAgdmlydHVhbCB+TWVkaWFLZXlTZXNzaW9uKCk7CiAKICAgICB1c2lu
ZyBSZWZDb3VudGVkPE1lZGlhS2V5U2Vzc2lvbj46OnJlZjsKQEAgLTU0LDcgKzU2LDcgQEAgcHVi
bGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQoKSBjb25zdDsKICAgICBkb3VibGUg
ZXhwaXJhdGlvbigpIGNvbnN0OwotICAgIFJlZlB0cjxNZWRpYUtleVN0YXR1c01hcD4ga2V5U3Rh
dHVzZXMoKSBjb25zdDsKKyAgICBSZWY8TWVkaWFLZXlTdGF0dXNNYXA+IGtleVN0YXR1c2VzKCkg
Y29uc3Q7CiAKICAgICB2b2lkIGdlbmVyYXRlUmVxdWVzdChjb25zdCBTdHJpbmcmLCBjb25zdCBC
dWZmZXJTb3VyY2UmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGxvYWQoY29u
c3QgU3RyaW5nJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CkBAIC02Myw3ICs2NSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHJlbW92ZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKIAogcHJpdmF0
ZToKLSAgICBNZWRpYUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAgIE1l
ZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFLZXlTZXNzaW9uVHlw
ZSwgYm9vbCB1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIsIFJlZjxDRE0+JiYsIFJlZjxDRE1JbnN0
YW5jZT4mJik7CiAKICAgICAvLyBFdmVudFRhcmdldAogICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNl
IGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gTWVkaWFLZXlT
ZXNzaW9uRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CkBAIC03Niw2ICs3OCwxNyBAQCBwcml2
YXRlOgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKKworICAgIFN0cmluZyBtX3Nlc3Npb25J
ZDsKKyAgICBkb3VibGUgbV9leHBpcmF0aW9uOworICAgIFJlZjxNZWRpYUtleVN0YXR1c01hcD4g
bV9rZXlTdGF0dXNlczsKKyAgICBib29sIG1fY2xvc2VkIHsgZmFsc2UgfTsKKyAgICBib29sIG1f
dW5pbml0aWFsaXplZCB7IHRydWUgfTsKKyAgICBib29sIG1fY2FsbGFibGUgeyBmYWxzZSB9Owor
ICAgIGJvb2wgbV91c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXI7CisgICAgTWVkaWFLZXlTZXNzaW9u
VHlwZSBtX3Nlc3Npb25UeXBlOworICAgIFJlZjxDRE0+IG1faW1wbGVtZW50YXRpb247CisgICAg
UmVmPENETUluc3RhbmNlPiBtX2luc3RhbmNlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVNlc3Npb25UeXBlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTZXNzaW9uVHlwZS5pZGwKaW5kZXggYmY1MDBkNWYyNDc2MGM1YmY5YzU3ODll
Nzc1MDlmNjdlNDg0NTA4MC4uYTkyZThmNmFkZDM1ODlhMmUwMzllNmE3MGNiMTRjOTRkNTBiMDBl
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVNlc3Npb25UeXBlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaWRsCkBAIC0yNSw3ICsyNSw4IEBACiAKIFsKICAg
ICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCi0gICAgSW1wbGVtZW50ZWRBcz1NZWRpYUtl
eVNlc3Npb25UeXBlCisgICAgSW1wbGVtZW50ZWRBcz1NZWRpYUtleVNlc3Npb25UeXBlLAorICAg
IEV4cG9ydE1hY3JvPVdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JUCiBdCiBlbnVtIE1lZGlhS2V5
U2Vzc2lvblR5cGUgewogICAgICJ0ZW1wb3JhcnkiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNw
cAppbmRleCA1NGEzODAwM2RmNTM3M2Y2OGI4MzdkMGFmMzBjYzliZjdkYjYxMWFiLi42YWRkZDZi
MDFiZDRmYWQzOGQ2NDA1ODI5NWYyMTgwYTkzM2ZlMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNj
ZXNzLmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgTWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmNy
ZWF0ZU1lZGlhS2V5cyhSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiAgICAgICAgIC8v
IDIuMTAuMy4gTGV0IHRoZSBzdXBwb3J0ZWQgc2Vzc2lvbiB0eXBlcyB2YWx1ZSBiZSBiZSB0aGUg
dmFsdWUgb2YgY29uZmlndXJhdGlvbidzIHNlc3Npb25UeXBlcyBtZW1iZXIuCiAgICAgICAgIC8v
IDIuMTAuNC4gTGV0IHRoZSBjZG0gaW1wbGVtZW50YXRpb24gdmFsdWUgYmUgdGhpcyBvYmplY3Qn
cyBjZG0gaW1wbGVtZW50YXRpb24gdmFsdWUuCiAgICAgICAgIC8vIDIuMTAuNS4gTGV0IHRoZSBj
ZG0gaW5zdGFuY2UgdmFsdWUgYmUgaW5zdGFuY2UuCi0gICAgICAgIGF1dG8gbWVkaWFLZXlzID0g
TWVkaWFLZXlzOjpjcmVhdGUodXNlRGlzdGluY3RpdmVJZGVudGlmaWVyLCBwZXJzaXN0ZW50U3Rh
dGVBbGxvd2VkLCBtX2NvbmZpZ3VyYXRpb24tPnNlc3Npb25UeXBlcywgbV9pbXBsZW1lbnRhdGlv
bi5jb3B5UmVmKCksIFdURk1vdmUoaW5zdGFuY2UpKTsKKyAgICAgICAgYXV0byBtZWRpYUtleXMg
PSBNZWRpYUtleXM6OmNyZWF0ZSh1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIsIHBlcnNpc3RlbnRT
dGF0ZUFsbG93ZWQsIG1fY29uZmlndXJhdGlvbi0+c2Vzc2lvblR5cGVzLCBtX2ltcGxlbWVudGF0
aW9uLmNvcHlSZWYoKSwgaW5zdGFuY2UucmVsZWFzZU5vbk51bGwoKSk7CiAKICAgICAgICAgLy8g
Mi4xMS4gUmVzb2x2ZSBwcm9taXNlIHdpdGggbWVkaWEga2V5cy4KICAgICAgICAgcHJvbWlzZS0+
cmVzb2x2ZVdpdGhOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPE1lZGlhS2V5cz4+KFdURk1vdmUo
bWVkaWFLZXlzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5cy5jcHAKaW5kZXggZmZjYmJiNGJkMGM3OGU1OWQwMjY5Mjk0NTM2ZjM5ZTE3
MjZiYzg3Mi4uZjU1ZDc3NTZlNGYzM2QzZGE1MzExNmIwNDJkMGUzYmQ4ZjBkMWUzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNw
cApAQCAtMzksNyArMzksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLU1lZGlhS2V5czo6
TWVkaWFLZXlzKGJvb2wgdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyLCBib29sIHBlcnNpc3RlbnRT
dGF0ZUFsbG93ZWQsIGNvbnN0IFZlY3RvcjxNZWRpYUtleVNlc3Npb25UeXBlPiYgc3VwcG9ydGVk
U2Vzc2lvblR5cGVzLCBSZWY8Q0RNPiYmIGltcGxlbWVudGF0aW9uLCBzdGQ6OnVuaXF1ZV9wdHI8
Q0RNSW5zdGFuY2U+JiYgaW5zdGFuY2UpCitNZWRpYUtleXM6Ok1lZGlhS2V5cyhib29sIHVzZURp
c3RpbmN0aXZlSWRlbnRpZmllciwgYm9vbCBwZXJzaXN0ZW50U3RhdGVBbGxvd2VkLCBjb25zdCBW
ZWN0b3I8TWVkaWFLZXlTZXNzaW9uVHlwZT4mIHN1cHBvcnRlZFNlc3Npb25UeXBlcywgUmVmPENE
TT4mJiBpbXBsZW1lbnRhdGlvbiwgUmVmPENETUluc3RhbmNlPiYmIGluc3RhbmNlKQogICAgIDog
bV91c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIodXNlRGlzdGluY3RpdmVJZGVudGlmaWVyKQogICAg
ICwgbV9wZXJzaXN0ZW50U3RhdGVBbGxvd2VkKHBlcnNpc3RlbnRTdGF0ZUFsbG93ZWQpCiAgICAg
LCBtX3N1cHBvcnRlZFNlc3Npb25UeXBlcyhzdXBwb3J0ZWRTZXNzaW9uVHlwZXMpCkBAIC01MCwx
MCArNTAsMjQgQEAgTWVkaWFLZXlzOjpNZWRpYUtleXMoYm9vbCB1c2VEaXN0aW5jdGl2ZUlkZW50
aWZpZXIsIGJvb2wgcGVyc2lzdGVudFN0YXRlQWxsb3dlZCwKIAogTWVkaWFLZXlzOjp+TWVkaWFL
ZXlzKCkgPSBkZWZhdWx0OwogCi1FeGNlcHRpb25PcjxSZWY8TWVkaWFLZXlTZXNzaW9uPj4gTWVk
aWFLZXlzOjpjcmVhdGVTZXNzaW9uKE1lZGlhS2V5U2Vzc2lvblR5cGUpCitFeGNlcHRpb25PcjxS
ZWY8TWVkaWFLZXlTZXNzaW9uPj4gTWVkaWFLZXlzOjpjcmVhdGVTZXNzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lZGlhS2V5U2Vzc2lvblR5cGUgc2Vzc2lvblR5cGUpCiB7
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gRXhjZXB0aW9uIHsgTk9UX1NVUFBP
UlRFRF9FUlIgfTsKKyAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vZW5jcnlwdGVkLW1lZGlh
LyNkb20tbWVkaWFrZXlzLXNldHNlcnZlcmNlcnRpZmljYXRlCisgICAgLy8gVzNDIEVkaXRvcidz
IERyYWZ0IDA5IE5vdmVtYmVyIDIwMTYKKworICAgIC8vIFdoZW4gdGhpcyBtZXRob2QgaXMgaW52
b2tlZCwgdGhlIHVzZXIgYWdlbnQgbXVzdCBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKKyAgICAv
LyAxLiBJZiB0aGlzIG9iamVjdCdzIHN1cHBvcnRlZCBzZXNzaW9uIHR5cGVzIHZhbHVlIGRvZXMg
bm90IGNvbnRhaW4gc2Vzc2lvblR5cGUsIHRocm93IFtXZWJJRExdIGEgTm90U3VwcG9ydGVkRXJy
b3IuCisgICAgaWYgKCFtX3N1cHBvcnRlZFNlc3Npb25UeXBlcy5jb250YWlucyhzZXNzaW9uVHlw
ZSkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24oTk9UX1NVUFBPUlRFRF9FUlIpOworCisgICAg
Ly8gMi4gSWYgdGhlIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHN1cHBvcnQgTWVkaWFLZXlTZXNz
aW9uIG9wZXJhdGlvbnMgaW4gdGhlIGN1cnJlbnQgc3RhdGUsIHRocm93IFtXZWJJRExdIGFuIElu
dmFsaWRTdGF0ZUVycm9yLgorICAgIGlmICghbV9pbXBsZW1lbnRhdGlvbi0+c3VwcG9ydHNTZXNz
aW9ucygpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uKElOVkFMSURfU1RBVEVfRVJSKTsKKwor
ICAgIC8vIDMuIExldCBzZXNzaW9uIGJlIGEgbmV3IE1lZGlhS2V5U2Vzc2lvbiBvYmplY3QsIGFu
ZCBpbml0aWFsaXplIGl0IGFzIGZvbGxvd3M6CisgICAgLy8gTk9URTogQ29udGludWVkIGluIE1l
ZGlhS2V5U2Vzc2lvbi4KKyAgICAvLyA0LiBSZXR1cm4gc2Vzc2lvbi4KKyAgICByZXR1cm4gTWVk
aWFLZXlTZXNzaW9uOjpjcmVhdGUoY29udGV4dCwgc2Vzc2lvblR5cGUsIG1fdXNlRGlzdGluY3Rp
dmVJZGVudGlmaWVyLCBtX2ltcGxlbWVudGF0aW9uLmNvcHlSZWYoKSwgbV9pbnN0YW5jZS5jb3B5
UmVmKCkpOwogfQogCiB2b2lkIE1lZGlhS2V5czo6c2V0U2VydmVyQ2VydGlmaWNhdGUoY29uc3Qg
QnVmZmVyU291cmNlJiBzZXJ2ZXJDZXJ0aWZpY2F0ZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBw
cm9taXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlzLmgKaW5kZXggYTMzNDJmZGUxYzhjZDM4NzJmNWE2ZGIzMmEyNmUzNDAyMDI1MTI0ZS4u
YmQ4MGJkMmM5ODQzYThhZjhkN2RiYWQ1Yjg1MzUyNTdkOTA1MWFkNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCkBAIC00OCwyNSAr
NDgsMjUgQEAgY2xhc3MgTWVkaWFLZXlzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlzPiB7
CiBwdWJsaWM6CiAgICAgdXNpbmcgS2V5U2Vzc2lvblR5cGUgPSBNZWRpYUtleVNlc3Npb25UeXBl
OwogCi0gICAgc3RhdGljIFJlZjxNZWRpYUtleXM+IGNyZWF0ZShib29sIHVzZURpc3RpbmN0aXZl
SWRlbnRpZmllciwgYm9vbCBwZXJzaXN0ZW50U3RhdGVBbGxvd2VkLCBjb25zdCBWZWN0b3I8TWVk
aWFLZXlTZXNzaW9uVHlwZT4mIHN1cHBvcnRlZFNlc3Npb25UeXBlcywgUmVmPENETT4mJiBpbXBs
ZW1lbnRhdGlvbiwgc3RkOjp1bmlxdWVfcHRyPENETUluc3RhbmNlPiYmIGluc3RhbmNlKQorICAg
IHN0YXRpYyBSZWY8TWVkaWFLZXlzPiBjcmVhdGUoYm9vbCB1c2VEaXN0aW5jdGl2ZUlkZW50aWZp
ZXIsIGJvb2wgcGVyc2lzdGVudFN0YXRlQWxsb3dlZCwgY29uc3QgVmVjdG9yPE1lZGlhS2V5U2Vz
c2lvblR5cGU+JiBzdXBwb3J0ZWRTZXNzaW9uVHlwZXMsIFJlZjxDRE0+JiYgaW1wbGVtZW50YXRp
b24sIFJlZjxDRE1JbnN0YW5jZT4mJiBpbnN0YW5jZSkKICAgICB7CiAgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IE1lZGlhS2V5cyh1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIsIHBlcnNpc3Rl
bnRTdGF0ZUFsbG93ZWQsIHN1cHBvcnRlZFNlc3Npb25UeXBlcywgV1RGTW92ZShpbXBsZW1lbnRh
dGlvbiksIFdURk1vdmUoaW5zdGFuY2UpKSk7CiAgICAgfQogCiAgICAgfk1lZGlhS2V5cygpOwog
Ci0gICAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhS2V5U2Vzc2lvbj4+IGNyZWF0ZVNlc3Npb24oTWVk
aWFLZXlTZXNzaW9uVHlwZSk7CisgICAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhS2V5U2Vzc2lvbj4+
IGNyZWF0ZVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE1lZGlhS2V5U2Vzc2lvblR5
cGUpOwogCiAgICAgdm9pZCBzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShjb25zdCBCdWZmZXJTb3VyY2Um
LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKIAogcHJvdGVjdGVkOgotICAgIE1lZGlhS2V5cyhi
b29sIHVzZURpc3RpbmN0aXZlSWRlbnRpZmllciwgYm9vbCBwZXJzaXN0ZW50U3RhdGVBbGxvd2Vk
LCBjb25zdCBWZWN0b3I8TWVkaWFLZXlTZXNzaW9uVHlwZT4mLCBSZWY8Q0RNPiYmLCBzdGQ6OnVu
aXF1ZV9wdHI8Q0RNSW5zdGFuY2U+JiYpOworICAgIE1lZGlhS2V5cyhib29sIHVzZURpc3RpbmN0
aXZlSWRlbnRpZmllciwgYm9vbCBwZXJzaXN0ZW50U3RhdGVBbGxvd2VkLCBjb25zdCBWZWN0b3I8
TWVkaWFLZXlTZXNzaW9uVHlwZT4mLCBSZWY8Q0RNPiYmLCBSZWY8Q0RNSW5zdGFuY2U+JiYpOwog
CiAgICAgYm9vbCBtX3VzZURpc3RpbmN0aXZlSWRlbnRpZmllcjsKICAgICBib29sIG1fcGVyc2lz
dGVudFN0YXRlQWxsb3dlZDsKICAgICBWZWN0b3I8TWVkaWFLZXlTZXNzaW9uVHlwZT4gbV9zdXBw
b3J0ZWRTZXNzaW9uVHlwZXM7CiAgICAgUmVmPENETT4gbV9pbXBsZW1lbnRhdGlvbjsKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8Q0RNSW5zdGFuY2U+IG1faW5zdGFuY2U7CisgICAgUmVmPENETUluc3Rh
bmNlPiBtX2luc3RhbmNlOwogICAgIEdlbmVyaWNUYXNrUXVldWU8VGltZXI+IG1fdGFza1F1ZXVl
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleXMuaWRsCmluZGV4IGYzZjIwNzUyOWE1OGEwMmNmN2FkZjkzNzI0Y2JmYTQxMWFiYTI1
NGYuLjc4MTg1MDQyMDAzOWRiZGU5MGUxZDE4MDA3ZjFjMmY3OWZiOTMyNTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKQEAg
LTMxLDYgKzMxLDYgQEAKICAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAog
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBNZWRpYUtleXMgewot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gTWVkaWFLZXlTZXNzaW9uIGNyZWF0ZVNlc3Npb24ob3B0
aW9uYWwgTWVkaWFLZXlTZXNzaW9uVHlwZSBzZXNzaW9uVHlwZSA9ICJ0ZW1wb3JhcnkiKTsKKyAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIE1l
ZGlhS2V5U2Vzc2lvbiBjcmVhdGVTZXNzaW9uKG9wdGlvbmFsIE1lZGlhS2V5U2Vzc2lvblR5cGUg
c2Vzc2lvblR5cGUgPSAidGVtcG9yYXJ5Iik7CiAgICAgUHJvbWlzZTxib29sPiBzZXRTZXJ2ZXJD
ZXJ0aWZpY2F0ZShCdWZmZXJTb3VyY2Ugc2VydmVyQ2VydGlmaWNhdGUpOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NETUZhY3RvcnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5jcHAKaW5kZXggYjc4MjhlMzZjYTVmZWQxMzc0
NzQ1NjNiOTRjNDFhZjY1ZTk2MDNhNy4uZTAyODJiYmZjZDU3MzA1ZWE0OTZmOWQ3ZGVjYmE2NmRk
ZDcxZTE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9y
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5jcHAKQEAg
LTM0LDcgKzM0LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTW9ja0NETUZhY3Rvcnk6Ok1v
Y2tDRE1GYWN0b3J5KCkKLSAgICA6IG1fd2Vha1B0ckZhY3RvcnkodGhpcykKKyAgICA6IG1fc3Vw
cG9ydGVkU2Vzc2lvblR5cGVzKHsgTWVkaWFLZXlTZXNzaW9uVHlwZTo6VGVtcG9yYXJ5LCBNZWRp
YUtleVNlc3Npb25UeXBlOjpQZXJzaXN0ZW50VXNhZ2VSZWNvcmQsIE1lZGlhS2V5U2Vzc2lvblR5
cGU6OlBlcnNpc3RlbnRMaWNlbnNlIH0pCisgICAgLCBtX3dlYWtQdHJGYWN0b3J5KHRoaXMpCiB7
CiAgICAgQ0RNOjpyZWdpc3RlckNETUZhY3RvcnkoKnRoaXMpOwogfQpAQCAtODgsOSArODksMTIg
QEAgYm9vbCBNb2NrQ0RNOjpzdXBwb3J0c0NvbmZpZ3VyYXRpb25XaXRoUmVzdHJpY3Rpb25zKGNv
bnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBN
b2NrQ0RNOjpzdXBwb3J0c1Nlc3Npb25UeXBlV2l0aENvbmZpZ3VyYXRpb24oTWVkaWFLZXlTZXNz
aW9uVHlwZSYsIGNvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYpCitib29sIE1vY2tD
RE06OnN1cHBvcnRzU2Vzc2lvblR5cGVXaXRoQ29uZmlndXJhdGlvbihNZWRpYUtleVNlc3Npb25U
eXBlJiBzZXNzaW9uVHlwZSwgY29uc3QgTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uJikKIHsK
LSAgICAvLyBOT1RFOiBJbXBsZW1lbnQ7CisgICAgaWYgKCFtX2ZhY3RvcnkgfHwgIW1fZmFjdG9y
eS0+c3VwcG9ydGVkU2Vzc2lvblR5cGVzKCkuY29udGFpbnMoc2Vzc2lvblR5cGUpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBOT1RFOiBJbXBsZW1lbnQgY29uZmlndXJhdGlvbiBj
aGVja2luZzsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTIxLDExICsxMjUsMTEgQEAgYm9v
bCBNb2NrQ0RNOjpkaXN0aW5jdGl2ZUlkZW50aWZpZXJzQXJlVW5pcXVlUGVyT3JpZ2luQW5kQ2xl
YXJhYmxlKGNvbnN0IE1lZGlhS2UKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RkOjp1bmlxdWVf
cHRyPENETUluc3RhbmNlPiBNb2NrQ0RNOjpjcmVhdGVJbnN0YW5jZSgpCitSZWZQdHI8Q0RNSW5z
dGFuY2U+IE1vY2tDRE06OmNyZWF0ZUluc3RhbmNlKCkKIHsKICAgICBpZiAobV9mYWN0b3J5ICYm
ICFtX2ZhY3RvcnktPmNhbkNyZWF0ZUluc3RhbmNlcygpKQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPENETUluc3RhbmNlPihuZXcgTW9ja0NETUlu
c3RhbmNlKG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpKSk7CisgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBNb2NrQ0RNSW5zdGFuY2UobV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRy
KCkpKTsKIH0KIAogdm9pZCBNb2NrQ0RNOjpsb2FkQW5kSW5pdGlhbGl6ZSgpCkBAIC0xMzgsNiAr
MTQyLDExIEBAIGJvb2wgTW9ja0NETTo6c3VwcG9ydHNTZXJ2ZXJDZXJ0aWZpY2F0ZXMoKSBjb25z
dAogICAgIHJldHVybiBtX2ZhY3RvcnkgJiYgbV9mYWN0b3J5LT5zdXBwb3J0c1NlcnZlckNlcnRp
ZmljYXRlcygpOwogfQogCitib29sIE1vY2tDRE06OnN1cHBvcnRzU2Vzc2lvbnMoKSBjb25zdAor
eworICAgIHJldHVybiBtX2ZhY3RvcnkgJiYgbV9mYWN0b3J5LT5zdXBwb3J0c1Nlc3Npb25zKCk7
Cit9CisKIE1vY2tDRE1JbnN0YW5jZTo6TW9ja0NETUluc3RhbmNlKFdlYWtQdHI8TW9ja0NETT4g
Y2RtKQogICAgIDogbV9jZG0oY2RtKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9Nb2NrQ0RNRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFj
dG9yeS5oCmluZGV4IDdjNGU3N2Y3YWNhOTMwZjc1ZGIwM2FiMjM2ZmMwYmE1ZWIzNTMxM2QuLjMx
OTIyOTQwN2RjMDBjZDhkODNiOGY2YzgzOWZjODVlMzI5NzhhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NETUZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tDRE1GYWN0b3J5LmgKQEAgLTQ1LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBzdXBwb3J0ZWREYXRhVHlwZXMoKSBjb25zdCB7IHJldHVybiBt
X3N1cHBvcnRlZERhdGFUeXBlczsgfQogICAgIHZvaWQgc2V0U3VwcG9ydGVkRGF0YVR5cGVzKFZl
Y3RvcjxTdHJpbmc+JiYgdHlwZXMpIHsgbV9zdXBwb3J0ZWREYXRhVHlwZXMgPSBXVEZNb3ZlKHR5
cGVzKTsgfQogCisgICAgY29uc3QgVmVjdG9yPE1lZGlhS2V5U2Vzc2lvblR5cGU+JiBzdXBwb3J0
ZWRTZXNzaW9uVHlwZXMoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRlZFNlc3Npb25UeXBlczsg
fQorICAgIHZvaWQgc2V0U3VwcG9ydGVkU2Vzc2lvblR5cGVzKFZlY3RvcjxNZWRpYUtleVNlc3Np
b25UeXBlPiYmIHR5cGVzKSB7IG1fc3VwcG9ydGVkU2Vzc2lvblR5cGVzID0gV1RGTW92ZSh0eXBl
cyk7IH0KKwogICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdXBwb3J0ZWRSb2J1c3RuZXNzKCkg
Y29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRSb2J1c3RuZXNzOyB9CiAgICAgdm9pZCBzZXRTdXBw
b3J0ZWRSb2J1c3RuZXNzKFZlY3RvcjxTdHJpbmc+JiYgcm9idXN0bmVzcykgeyBtX3N1cHBvcnRl
ZFJvYnVzdG5lc3MgPSBXVEZNb3ZlKHJvYnVzdG5lc3MpOyB9CiAKQEAgLTYwLDYgKzYzLDkgQEAg
cHVibGljOgogICAgIGJvb2wgc3VwcG9ydHNTZXJ2ZXJDZXJ0aWZpY2F0ZXMoKSBjb25zdCB7IHJl
dHVybiBtX3N1cHBvcnRzU2VydmVyQ2VydGlmaWNhdGVzOyB9CiAgICAgdm9pZCBzZXRTdXBwb3J0
c1NlcnZlckNlcnRpZmljYXRlcyhib29sIGZsYWcpIHsgbV9zdXBwb3J0c1NlcnZlckNlcnRpZmlj
YXRlcyA9IGZsYWc7IH0KIAorICAgIGJvb2wgc3VwcG9ydHNTZXNzaW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1fc3VwcG9ydHNTZXNzaW9uczsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNTZXNzaW9ucyhi
b29sIGZsYWcpIHsgbV9zdXBwb3J0c1Nlc3Npb25zID0gZmxhZzsgfQorCiAgICAgdm9pZCB1bnJl
Z2lzdGVyKCk7CiAKIHByaXZhdGU6CkBAIC03MCwxMCArNzYsMTIgQEAgcHJpdmF0ZToKICAgICBN
ZWRpYUtleXNSZXF1aXJlbWVudCBtX2Rpc3RpbmN0aXZlSWRlbnRpZmllcnNSZXF1aXJlbWVudCB7
IE1lZGlhS2V5c1JlcXVpcmVtZW50OjpPcHRpb25hbCB9OwogICAgIE1lZGlhS2V5c1JlcXVpcmVt
ZW50IG1fcGVyc2lzdGVudFN0YXRlUmVxdWlyZW1lbnQgeyBNZWRpYUtleXNSZXF1aXJlbWVudDo6
T3B0aW9uYWwgfTsKICAgICBWZWN0b3I8U3RyaW5nPiBtX3N1cHBvcnRlZERhdGFUeXBlczsKKyAg
ICBWZWN0b3I8TWVkaWFLZXlTZXNzaW9uVHlwZT4gbV9zdXBwb3J0ZWRTZXNzaW9uVHlwZXM7CiAg
ICAgVmVjdG9yPFN0cmluZz4gbV9zdXBwb3J0ZWRSb2J1c3RuZXNzOwogICAgIGJvb2wgbV9yZWdp
c3RlcmVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9jYW5DcmVhdGVJbnN0YW5jZXMgeyB0cnVlIH07
CiAgICAgYm9vbCBtX3N1cHBvcnRzU2VydmVyQ2VydGlmaWNhdGVzIHsgdHJ1ZSB9OworICAgIGJv
b2wgbV9zdXBwb3J0c1Nlc3Npb25zIHsgdHJ1ZSB9OwogICAgIFdlYWtQdHJGYWN0b3J5PE1vY2tD
RE1GYWN0b3J5PiBtX3dlYWtQdHJGYWN0b3J5OwogfTsKIApAQCAtOTQsOSArMTAyLDEwIEBAIHBy
aXZhdGU6CiAgICAgTWVkaWFLZXlzUmVxdWlyZW1lbnQgZGlzdGluY3RpdmVJZGVudGlmaWVyc1Jl
cXVpcmVtZW50KGNvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYsIGNvbnN0IE1lZGlh
S2V5c1Jlc3RyaWN0aW9ucyYpIGZpbmFsOwogICAgIE1lZGlhS2V5c1JlcXVpcmVtZW50IHBlcnNp
c3RlbnRTdGF0ZVJlcXVpcmVtZW50KGNvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYs
IGNvbnN0IE1lZGlhS2V5c1Jlc3RyaWN0aW9ucyYpIGZpbmFsOwogICAgIGJvb2wgZGlzdGluY3Rp
dmVJZGVudGlmaWVyc0FyZVVuaXF1ZVBlck9yaWdpbkFuZENsZWFyYWJsZShjb25zdCBNZWRpYUtl
eVN5c3RlbUNvbmZpZ3VyYXRpb24mKSBmaW5hbDsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8Q0RNSW5z
dGFuY2U+IGNyZWF0ZUluc3RhbmNlKCkgZmluYWw7CisgICAgUmVmUHRyPENETUluc3RhbmNlPiBj
cmVhdGVJbnN0YW5jZSgpIGZpbmFsOwogICAgIHZvaWQgbG9hZEFuZEluaXRpYWxpemUoKSBmaW5h
bDsKICAgICBib29sIHN1cHBvcnRzU2VydmVyQ2VydGlmaWNhdGVzKCkgY29uc3QgZmluYWw7Cisg
ICAgYm9vbCBzdXBwb3J0c1Nlc3Npb25zKCkgY29uc3QgZmluYWw7CiAKICAgICBXZWFrUHRyPE1v
Y2tDRE1GYWN0b3J5PiBtX2ZhY3Rvcnk7CiAgICAgV2Vha1B0ckZhY3Rvcnk8TW9ja0NETT4gbV93
ZWFrUHRyRmFjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NE
TUZhY3RvcnkuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwK
aW5kZXggN2M0MzgzNDZmMjA1M2RiNWM4MjZkMWI1MzNhYzFlNTRmNjBlM2I2NS4uOTBkMzgyZWM2
NTk1ZWNjMzMwMjM4NjNhZmYwMzM1MmVhNDQzNzIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrQ0RNRmFjdG9yeS5pZGwKQEAgLTMwLDEwICszMCwxMiBAQAogXSBpbnRlcmZhY2UgTW9j
a0NETUZhY3RvcnkgewogICAgIGF0dHJpYnV0ZSBzZXF1ZW5jZTxET01TdHJpbmc+IHN1cHBvcnRl
ZERhdGFUeXBlczsKICAgICBhdHRyaWJ1dGUgc2VxdWVuY2U8RE9NU3RyaW5nPiBzdXBwb3J0ZWRS
b2J1c3RuZXNzOworICAgIGF0dHJpYnV0ZSBzZXF1ZW5jZTxNZWRpYUtleVNlc3Npb25UeXBlPiBz
dXBwb3J0ZWRTZXNzaW9uVHlwZXM7CiAgICAgYXR0cmlidXRlIE1lZGlhS2V5c1JlcXVpcmVtZW50
IGRpc3RpbmN0aXZlSWRlbnRpZmllcnNSZXF1aXJlbWVudDsKICAgICBhdHRyaWJ1dGUgTWVkaWFL
ZXlzUmVxdWlyZW1lbnQgcGVyc2lzdGVudFN0YXRlUmVxdWlyZW1lbnQ7CiAgICAgYXR0cmlidXRl
IGJvb2xlYW4gY2FuQ3JlYXRlSW5zdGFuY2VzOwogICAgIGF0dHJpYnV0ZSBib29sZWFuIHN1cHBv
cnRzU2VydmVyQ2VydGlmaWNhdGVzOworICAgIGF0dHJpYnV0ZSBib29sZWFuIHN1cHBvcnRzU2Vz
c2lvbnM7CiAKICAgICB2b2lkIHVucmVnaXN0ZXIoKTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjg3N2NhODJlY2Jm
YzVhNmFiNmE0YzM4ZWQwYTU3OWRmOGU2NmNmOC4uYWRlYjhkMzZlZGI0NGVmMDlhNGY1N2UzOGIz
Nzg1ZDhiNjA1MGJkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACiAyMDE3LTAxLTA2ICBKZXIgTm9i
bGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBNZWRp
YUtleXMuY3JlYXRlU2Vzc2lvbigpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY2Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1NZWRpYUtleXMtY3Jl
YXRlU2Vzc2lvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL2VuY3J5cHRl
ZC1tZWRpYS9tb2NrLU1lZGlhS2V5cy1jcmVhdGVTZXNzaW9uLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCisyMDE3LTAxLTA2ICBKZXIgTm9i
bGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBNZWRp
YUtleXMuc2V0U2VydmVyQ2VydGlmaWNhdGUoKQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NzcyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21l
ZGlhL2VuY3J5cHRlZC1tZWRpYS9tb2NrLU1lZGlhS2V5cy1jcmVhdGVTZXNzaW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9tb2NrLU1lZGlhS2V5cy1j
cmVhdGVTZXNzaW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTgwZWU4YTAzOTE0MmRmYTYy
Zjk0ZGM3NTNmZjBjZTg3YmUyNGU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvZW5jcnlwdGVkLW1lZGlhL21vY2stTWVkaWFLZXlzLWNyZWF0ZVNlc3Npb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMjEgQEAKK1JVTihpbnRlcm5hbHMuaW5pdGlhbGl6ZU1vY2tNZWRpYVNv
dXJjZSgpKQorUlVOKG1vY2sgPSBpbnRlcm5hbHMucmVnaXN0ZXJNb2NrQ0RNKCkpCitSVU4obW9j
ay5zdXBwb3J0ZWREYXRhVHlwZXMgPSBbIm1vY2siXSkKK1JVTihjYXBhYmlsaXRpZXMuaW5pdERh
dGFUeXBlcyA9IFsibW9jayJdKQorUlVOKGNhcGFiaWxpdGllcy52aWRlb0NhcGFiaWxpdGllcyA9
IFt7IGNvbnRlbnRUeXBlOiAndmlkZW8vbW9jazsgY29kZWNzPSJtb2NrIicgfV0gKQorUlVOKHBy
b21pc2UgPSBuYXZpZ2F0b3IucmVxdWVzdE1lZGlhS2V5U3lzdGVtQWNjZXNzKCJvcmcud2Via2l0
Lm1vY2siLCBbY2FwYWJpbGl0aWVzXSkpCitQcm9taXNlIHJlc29sdmVkIE9LCisKK1JVTihwcm9t
aXNlID0gbWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3JlYXRlTWVkaWFLZXlzKCkpCitQcm9taXNlIHJl
c29sdmVkIE9LCisKK1JVTihtZWRpYUtleVNlc3Npb24gPSBtZWRpYUtleXMuY3JlYXRlU2Vzc2lv
bigidGVtcG9yYXJ5IikpCitFWFBFQ1RFRCAodHlwZW9mIG1lZGlhS2V5U2Vzc2lvbiA9PSAnb2Jq
ZWN0JykgT0sKKworUlVOKG1vY2suc3VwcG9ydGVkU2Vzc2lvblR5cGVzID0gWyJ0ZW1wb3Jhcnki
XSkKK1RFU1QobWVkaWFLZXlTZXNzaW9uID0gbWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oInBlcnNp
c3RlbnQtbGljZW5zZSIpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSKSBP
SworCitSVU4obW9jay5zdXBwb3J0c1Nlc3Npb25zID0gZmFsc2UpCitURVNUKG1lZGlhS2V5U2Vz
c2lvbiA9IG1lZGlhS2V5cy5jcmVhdGVTZXNzaW9uKCJ0ZW1wb3JhcnkiKSkgVEhST1dTKERPTUV4
Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUikgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9tb2NrLU1lZGlhS2V5cy1jcmVhdGVT
ZXNzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1NZWRp
YUtleXMtY3JlYXRlU2Vzc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmYjhhMzAyODNmOTBkODhmMzlj
M2FhNjA5NzRjNGQ0NWZhMWMzNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1NZWRpYUtleXMtY3JlYXRlU2Vzc2lvbi5odG1sCkBAIC0w
LDAgKzEsMTA5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlw
dCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CisgICAgdmFyIG1vY2s7CisgICAgdmFyIHByb21pc2U7CisgICAgdmFyIG1l
ZGlhS2V5U3lzdGVtQWNjZXNzOworICAgIHZhciBtZWRpYUtleXM7CisgICAgdmFyIG1lZGlhS2V5
U2Vzc2lvbjsKKyAgICB2YXIgY2FwYWJpbGl0aWVzID0ge307CisKKyAgICBmdW5jdGlvbiBkb1Rl
c3QoKQorICAgIHsKKyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAg
ICBmYWlsVGVzdCgiSW50ZXJuYWxzIGlzIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuIikKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHJ1bignaW50ZXJuYWxzLmluaXRp
YWxpemVNb2NrTWVkaWFTb3VyY2UoKScpOworICAgICAgICBydW4oJ21vY2sgPSBpbnRlcm5hbHMu
cmVnaXN0ZXJNb2NrQ0RNKCknKTsKKyAgICAgICAgcnVuKCdtb2NrLnN1cHBvcnRlZERhdGFUeXBl
cyA9IFsibW9jayJdJyk7CisgICAgICAgIHJ1bignY2FwYWJpbGl0aWVzLmluaXREYXRhVHlwZXMg
PSBbIm1vY2siXScpOworICAgICAgICBydW4oYGNhcGFiaWxpdGllcy52aWRlb0NhcGFiaWxpdGll
cyA9IFt7IGNvbnRlbnRUeXBlOiAndmlkZW8vbW9jazsgY29kZWNzPSJtb2NrIicgfV0gYCk7Cisg
ICAgICAgIHJ1bigncHJvbWlzZSA9IG5hdmlnYXRvci5yZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nl
c3MoIm9yZy53ZWJraXQubW9jayIsIFtjYXBhYmlsaXRpZXNdKScpOworICAgICAgICBwcm9taXNl
LnRoZW4oZ290TWVkaWFLZXlTeXN0ZW1BY2Nlc3MpLmNhdGNoKGZhaWxUZXN0KTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBuZXh0KCkgeworICAgICAgICBpZiAoIXRlc3RzLmxlbmd0aCkgeworICAg
ICAgICAgICAgbW9jay51bnJlZ2lzdGVyKCk7CisgICAgICAgICAgICBlbmRUZXN0KCkKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBuZXh0VGVzdCA9IHRlc3Rz
LnNoaWZ0KCk7CisgICAgICAgIGNvbnNvbGVXcml0ZSgnJyk7CisgICAgICAgIG5leHRUZXN0KCk7
CisgICAgfQorCisgICAgZnVuY3Rpb24gc2hvdWxkUmVzb2x2ZShwcm9taXNlKSB7CisgICAgICAg
IHByb21pc2UudGhlbihtZWRpYUtleVN5c3RlbUFjY2VzcyA9PiB7CisgICAgICAgICAgICBsb2dS
ZXN1bHQoU3VjY2VzcywgJ1Byb21pc2UgcmVzb2x2ZWQnKTsKKyAgICAgICAgICAgIG5leHQoKTsK
KyAgICAgICAgfSwgKCkgPT4geworICAgICAgICAgICAgbG9nUmVzdWx0KEZhaWxlZCwgJ1Byb21p
c2UgcmVqZWN0ZWQnKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gc2hvdWxkUmVqZWN0KHByb21pc2UpIHsKKyAgICAgICAgcHJvbWlzZS50
aGVuKCgpID0+IHsKKyAgICAgICAgICAgIGxvZ1Jlc3VsdChGYWlsZWQsICdQcm9taXNlIHJlc29s
dmVkIGluY29ycmVjdGx5Jyk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0sIGV4Y2Vw
dGlvbkNvZGUgPT4geworICAgICAgICAgICAgbG9nUmVzdWx0KFN1Y2Nlc3MsICdQcm9taXNlIHJl
amVjdGVkIGNvcnJlY3RseScpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9KTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBnb3RNZWRpYUtleVN5c3RlbUFjY2VzcyhyZXN1bHQpIHsKKyAg
ICAgICAgbG9nUmVzdWx0KFN1Y2Nlc3MsICdQcm9taXNlIHJlc29sdmVkJyk7CisgICAgICAgIG1l
ZGlhS2V5U3lzdGVtQWNjZXNzID0gcmVzdWx0OworICAgICAgICBuZXh0KCk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gZ290TWVkaWFLZXlzKHJlc3VsdCkgeworICAgICAgICBsb2dSZXN1bHQoU3Vj
Y2VzcywgJ1Byb21pc2UgcmVzb2x2ZWQnKTsKKyAgICAgICAgbWVkaWFLZXlzID0gcmVzdWx0Owor
ICAgICAgICBuZXh0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RyaW5nVG9VSW50OEFycmF5
KHN0cikKKyAgICB7CisgICAgICAgdmFyIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoc3RyLmxlbmd0
aCk7CisgICAgICAgZm9yICh2YXIgaT0wOyBpPHN0ci5sZW5ndGg7IGkrKykKKyAgICAgICAgICAg
IGFycmF5W2ldID0gc3RyLmNoYXJDb2RlQXQoaSk7CisgICAgICAgcmV0dXJuIGFycmF5OworICAg
IH0KKworICAgIHRlc3RzID0gWworICAgICAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHJ1
bigncHJvbWlzZSA9IG1lZGlhS2V5U3lzdGVtQWNjZXNzLmNyZWF0ZU1lZGlhS2V5cygpJyk7Cisg
ICAgICAgICAgICBwcm9taXNlLnRoZW4oZ290TWVkaWFLZXlzKS5jYXRjaChmYWlsVGVzdCk7Cisg
ICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBydW4oJ21lZGlh
S2V5U2Vzc2lvbiA9IG1lZGlhS2V5cy5jcmVhdGVTZXNzaW9uKCJ0ZW1wb3JhcnkiKScpOworICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCd0eXBlb2YgbWVkaWFLZXlTZXNzaW9uJywgJ29iamVjdCcp
CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICBydW4oJ21vY2suc3VwcG9ydGVkU2Vzc2lvblR5cGVzID0gWyJ0ZW1wb3Jh
cnkiXScpOworICAgICAgICAgICAgdGVzdERPTUV4Y2VwdGlvbignbWVkaWFLZXlTZXNzaW9uID0g
bWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oInBlcnNpc3RlbnQtbGljZW5zZSIpJywgJ0RPTUV4Y2Vw
dGlvbi5OT1RfU1VQUE9SVEVEX0VSUicpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9
LAorCisgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcnVuKCdtb2NrLnN1cHBvcnRz
U2Vzc2lvbnMgPSBmYWxzZScpOworICAgICAgICAgICAgdGVzdERPTUV4Y2VwdGlvbignbWVkaWFL
ZXlTZXNzaW9uID0gbWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oInRlbXBvcmFyeSIpJywgJ0RPTUV4
Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUicpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAg
ICB9CisgICAgXTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0iZG9UZXN0
KCkiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBiODgyZmMyNzI3OGI4MTY0NDYxZWE5OGJkOWJiOGJiNWVjYmVlZTRmLi5k
NDFhYmNlNzE3Zjg5ZGJiYzkwMmRhOTQ0NTM2NGFjMTE4ZDJkNjA2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQ2Nyw2ICsxNDY3LDcgQEAgd2Via2l0
Lm9yZy9iLzE2NTg3NCBbIERlYnVnIF0gc3RyZWFtcy9waXBlLXRvLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL21vY2stbmF2aWdhdG9yLXJlcXVlc3RNZWRpYUtl
eVN5c3RlbUFjY2Vzcy5odG1sIFsgU2tpcCBdCiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1N
ZWRpYUtleVN5c3RlbUFjY2Vzcy5odG1sIFsgU2tpcCBdCiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEv
bW9jay1NZWRpYUtleXMtc2V0U2VydmVyQ2VydGlmaWNhdGUuaHRtbCBbIFNraXAgXQorbWVkaWEv
ZW5jcnlwdGVkLW1lZGlhL21vY2stTWVkaWFLZXlzLWNyZWF0ZVNlc3Npb24uaHRtbCBbIFNraXAg
XQogCiB3ZWJraXQub3JnL2IvMTY2MDI1IGh0dHAvdGVzdHMvZmV0Y2gvZmV0Y2hpbmctc2FtZS1y
ZXNvdXJjZS13aXRoLWRpZmZmZXJlbnQtb3B0aW9ucy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298473</attachid>
            <date>2017-01-10 09:31:20 -0800</date>
            <delta_ts>2017-01-10 10:42:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166796-20170110092941.patch</filename>
            <type>text/plain</type>
            <size>29639</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGQ1ZTYyOGM2YThiYjBm
N2E4MzJhMjU2ZjZmZDhlM2JhMWZlZTNlZi4uMWY3ZjZjZjJlNjBlMmVkYzQ4YTRmMDBhZDBjYTBk
NmZlMzhlNGJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDE3LTAxLTA2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBN
ZWRpYUtleXMuY3JlYXRlU2Vzc2lvbigpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY2Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL21vY2stTWVkaWFL
ZXlzLWNyZWF0ZVNlc3Npb24uaHRtbAorCisgICAgICAgIEltcGxlbWVudCBNZWRpYUtleXM6OmNy
ZWF0ZVNlc3Npb24oKS4gVGhpcyByZXF1aXJlcyBzb21lIGFkZGl0aW9ucyB0bworICAgICAgICBD
RE0sIENETVByaXZhdGUsIGFuZCBDRE1JbnN0YW5jZSB0byBzdXBwb3J0IHBsYXRmb3JtIGFkb3B0
aW9uIGFuZCB0bworICAgICAgICBpbXBsZW1lbnQgbW9jayBzdXBwb3J0IGZvciB0ZXN0aW5nLiBC
ZWNhdXNlIHRoZSBDRE1JbnN0YW5jZSB3aWxsIG5vdworICAgICAgICBiZSBzaGFyZWQgYmV0d2Vl
biBNZWRpYUtleXMgYW5kIE1lZGlhS2V5U2Vzc2lvbiwgaXQgY2Fubm90IGJlIGEgdW5pcXVlX3B0
ci4KKyAgICAgICAgTWFrZSBDRE1JbnRlcmZhY2UgcmVmLWNvdW50ZWQgYW5kIHN0b3JlIGl0IGFz
IGEgUmVmLgorCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0RNOjpjcmVhdGVJbnN0YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpD
RE06OnN1cHBvcnRzU2Vzc2lvbnMpOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
Q0RNLmg6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE1JbnN0YW5jZS5oOgor
ICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZS5oOgorICAgICAgICAq
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
S2V5U2Vzc2lvbjo6TWVkaWFLZXlTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5
U2Vzc2lvbjo6c2Vzc2lvbklkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6
ZXhwaXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmtleVN0YXR1
c2VzKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5o
OgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uVHlwZS5p
ZGw6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vz
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN5c3RlbUFjY2Vzczo6Y3JlYXRlTWVk
aWFLZXlzKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleXM6Ok1lZGlhS2V5cyk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUtleXM6OmNyZWF0ZVNlc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlzLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleXM6OmNyZWF0
ZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsOgorCisy
MDE3LTAxLTA2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCiAgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBNZWRpYUtleXMuc2V0U2VydmVyQ2VydGlmaWNhdGUoKQogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NzcyCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmNwcAppbmRleCA4NDI2NTdjMThh
MjViNTQyOWIxMzFlY2M1YjljNTc3NjIzYjZiOTk0Li44Y2I4MzRlYzUyMmVhY2NmYjU4NDJkZjAx
YmZjMTg2NTk3YTU4OTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL0NETS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9DRE0uY3BwCkBAIC02MTcsNyArNjE3LDcgQEAgdm9pZCBDRE06OmxvYWRBbmRJbml0aWFs
aXplKCkKICAgICAgICAgbV9wcml2YXRlLT5sb2FkQW5kSW5pdGlhbGl6ZSgpOwogfQogCi1zdGQ6
OnVuaXF1ZV9wdHI8Q0RNSW5zdGFuY2U+IENETTo6Y3JlYXRlSW5zdGFuY2UoKQorUmVmUHRyPENE
TUluc3RhbmNlPiBDRE06OmNyZWF0ZUluc3RhbmNlKCkKIHsKICAgICBpZiAoIW1fcHJpdmF0ZSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02MjksNiArNjI5LDExIEBAIGJvb2wgQ0RNOjpz
dXBwb3J0c1NlcnZlckNlcnRpZmljYXRlcygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZSAm
JiBtX3ByaXZhdGUtPnN1cHBvcnRzU2VydmVyQ2VydGlmaWNhdGVzKCk7CiB9CiAKK2Jvb2wgQ0RN
OjpzdXBwb3J0c1Nlc3Npb25zKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlICYmIG1f
cHJpdmF0ZS0+c3VwcG9ydHNTZXNzaW9ucygpOworfQorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmgKaW5kZXggYzQxMjA3YjdjOWYxZWUw
NGQ1MWQyMTI1OWRjNDBlZWEzYjQwOTIwMS4uZTU2Y2NjNjYzMmQ3NjQ0MzUwNzQzZmFlZTFmYTYz
YzY0NGM3OWYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9DRE0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NE
TS5oCkBAIC03MCw4ICs3MCw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGtleVN5c3Rl
bSgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5U3lzdGVtOyB9CiAKICAgICB2b2lkIGxvYWRBbmRJbml0
aWFsaXplKCk7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPENETUluc3RhbmNlPiBjcmVhdGVJbnN0YW5j
ZSgpOworICAgIFJlZlB0cjxDRE1JbnN0YW5jZT4gY3JlYXRlSW5zdGFuY2UoKTsKICAgICBib29s
IHN1cHBvcnRzU2VydmVyQ2VydGlmaWNhdGVzKCkgY29uc3Q7CisgICAgYm9vbCBzdXBwb3J0c1Nl
c3Npb25zKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgQ0RNKERvY3VtZW50JiwgY29uc3QgU3Ry
aW5nJiBrZXlTeXN0ZW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9DRE1JbnN0YW5jZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9DRE1JbnN0YW5jZS5oCmluZGV4IGFhNTQxZTI1YWI3ODc5YTY3ZDc3ZDFiYjYwMmQ3
OGQ5M2M4Y2EwNDkuLjcyZmY1NWNmMjJkY2FkYjNjYmM4YzVlNGQ2ZTUxM2JjNWI2YmY3NGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNSW5zdGFu
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETUluc3Rh
bmNlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBu
YW1lc3BhY2UgSlNDIHsKIGNsYXNzIEFycmF5QnVmZmVyOwpAQCAtMzcsNyArMzgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb247CiAK
LWNsYXNzIENETUluc3RhbmNlIHsKK2NsYXNzIENETUluc3RhbmNlIDogcHVibGljIFJlZkNvdW50
ZWQ8Q0RNSW5zdGFuY2U+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DRE1JbnN0YW5jZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NE
TVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJp
dmF0ZS5oCmluZGV4IGU0ODU1NDY5NjlmNjRkMGEyNGViNzk1M2RkZDYwOGM2ODQzMzU4NTguLjYw
YjZmY2EyZjVkNThmOTk5YmI1NTJiYTU0YzU3NDMyYmE2YjAzODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZS5oCkBAIC00OSw5ICs0
OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBNZWRpYUtleXNSZXF1aXJlbWVudCBkaXN0aW5j
dGl2ZUlkZW50aWZpZXJzUmVxdWlyZW1lbnQoY29uc3QgTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0
aW9uJiwgY29uc3QgTWVkaWFLZXlzUmVzdHJpY3Rpb25zJikgPSAwOwogICAgIHZpcnR1YWwgTWVk
aWFLZXlzUmVxdWlyZW1lbnQgcGVyc2lzdGVudFN0YXRlUmVxdWlyZW1lbnQoY29uc3QgTWVkaWFL
ZXlTeXN0ZW1Db25maWd1cmF0aW9uJiwgY29uc3QgTWVkaWFLZXlzUmVzdHJpY3Rpb25zJikgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBkaXN0aW5jdGl2ZUlkZW50aWZpZXJzQXJlVW5pcXVlUGVyT3Jp
Z2luQW5kQ2xlYXJhYmxlKGNvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYpID0gMDsK
LSAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxDRE1JbnN0YW5jZT4gY3JlYXRlSW5zdGFuY2Uo
KSA9IDA7CisgICAgdmlydHVhbCBSZWZQdHI8Q0RNSW5zdGFuY2U+IGNyZWF0ZUluc3RhbmNlKCkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkQW5kSW5pdGlhbGl6ZSgpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHNTZXJ2ZXJDZXJ0aWZpY2F0ZXMoKSBjb25zdCA9IDA7CisgICAgdmly
dHVhbCBib29sIHN1cHBvcnRzU2Vzc2lvbnMoKSBjb25zdCA9IDA7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5jcHAKaW5kZXggZTVmMTE3NzQ2NjYyMmM4OWFhY2E5NTIyYzVkMTdlMzFkY2JiOWFiYS4u
MGNkNzNmOWUwY2UzNTYwZWYzZmMxNjQwZTZmZjE3YzdjZGE2NDdhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmNwcApAQCAtMzEsNDEgKzMxLDY3IEBACiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQog
CisjaW5jbHVkZSAiQ0RNLmgiCisjaW5jbHVkZSAiQ0RNSW5zdGFuY2UuaCIKICNpbmNsdWRlICJN
ZWRpYUtleVN0YXR1c01hcC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotUmVmPE1lZGlhS2V5U2Vzc2lvbj4gTWVkaWFLZXlTZXNzaW9uOjpj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK1JlZjxNZWRpYUtleVNlc3Np
b24+IE1lZGlhS2V5U2Vzc2lvbjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIE1lZGlhS2V5U2Vzc2lvblR5cGUgc2Vzc2lvblR5cGUsIGJvb2wgdXNlRGlzdGluY3RpdmVJ
ZGVudGlmaWVyLCBSZWY8Q0RNPiYmIGltcGxlbWVudGF0aW9uLCBSZWY8Q0RNSW5zdGFuY2U+JiYg
aW5zdGFuY2UpCiB7Ci0gICAgYXV0byBzZXNzaW9uID0gYWRvcHRSZWYoKm5ldyBNZWRpYUtleVNl
c3Npb24oY29udGV4dCkpOworICAgIGF1dG8gc2Vzc2lvbiA9IGFkb3B0UmVmKCpuZXcgTWVkaWFL
ZXlTZXNzaW9uKGNvbnRleHQsIHNlc3Npb25UeXBlLCB1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIs
IFdURk1vdmUoaW1wbGVtZW50YXRpb24pLCBXVEZNb3ZlKGluc3RhbmNlKSkpOwogICAgIHNlc3Np
b24tPnN1c3BlbmRJZk5lZWRlZCgpOwogICAgIHJldHVybiBzZXNzaW9uOwogfQogCi1NZWRpYUtl
eVNlc3Npb246Ok1lZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
KQorTWVkaWFLZXlTZXNzaW9uOjpNZWRpYUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgTWVkaWFLZXlTZXNzaW9uVHlwZSBzZXNzaW9uVHlwZSwgYm9vbCB1c2VEaXN0
aW5jdGl2ZUlkZW50aWZpZXIsIFJlZjxDRE0+JiYgaW1wbGVtZW50YXRpb24sIFJlZjxDRE1JbnN0
YW5jZT4mJiBpbnN0YW5jZSkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKKyAgICAs
IG1fZXhwaXJhdGlvbihzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpKQor
ICAgICwgbV9rZXlTdGF0dXNlcyhNZWRpYUtleVN0YXR1c01hcDo6Y3JlYXRlKCkpCisgICAgLCBt
X3VzZURpc3RpbmN0aXZlSWRlbnRpZmllcih1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIpCisgICAg
LCBtX3Nlc3Npb25UeXBlKHNlc3Npb25UeXBlKQorICAgICwgbV9pbXBsZW1lbnRhdGlvbihXVEZN
b3ZlKGltcGxlbWVudGF0aW9uKSkKKyAgICAsIG1faW5zdGFuY2UoV1RGTW92ZShpbnN0YW5jZSkp
CiB7CisgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL2VuY3J5cHRlZC1tZWRpYS8jZG9tLW1l
ZGlha2V5cy1zZXRzZXJ2ZXJjZXJ0aWZpY2F0ZQorICAgIC8vIFczQyBFZGl0b3IncyBEcmFmdCAw
OSBOb3ZlbWJlciAyMDE2CisgICAgLy8gY3JlYXRlU2Vzc2lvbigpLCBjdGQuCisKKyAgICAvLyAz
LjEuIExldCB0aGUgc2Vzc2lvbklkIGF0dHJpYnV0ZSBiZSB0aGUgZW1wdHkgc3RyaW5nLgorICAg
IC8vIDMuMi4gTGV0IHRoZSBleHBpcmF0aW9uIGF0dHJpYnV0ZSBiZSBOYU4uCisgICAgLy8gMy4z
LiBMZXQgdGhlIGNsb3NlZCBhdHRyaWJ1dGUgYmUgYSBuZXcgcHJvbWlzZS4KKyAgICAvLyAzLjQu
IExldCBrZXkgc3RhdHVzIGJlIGEgbmV3IGVtcHR5IE1lZGlhS2V5U3RhdHVzTWFwIG9iamVjdCwg
YW5kIGluaXRpYWxpemUgaXQgYXMgZm9sbG93czoKKyAgICAvLyAzLjQuMS4gTGV0IHRoZSBzaXpl
IGF0dHJpYnV0ZSBiZSAwLgorICAgIC8vIDMuNS4gTGV0IHRoZSBzZXNzaW9uIHR5cGUgdmFsdWUg
YmUgc2Vzc2lvblR5cGUuCisgICAgLy8gMy42LiBMZXQgdGhlIHVuaW5pdGlhbGl6ZWQgdmFsdWUg
YmUgdHJ1ZS4KKyAgICAvLyAzLjcuIExldCB0aGUgY2FsbGFibGUgdmFsdWUgYmUgZmFsc2UuCisg
ICAgLy8gMy44LiBMZXQgdGhlIHVzZSBkaXN0aW5jdGl2ZSBpZGVudGlmaWVyIHZhbHVlIGJlIHRo
aXMgb2JqZWN0J3MgdXNlIGRpc3RpbmN0aXZlIGlkZW50aWZpZXIgdmFsdWUuCisgICAgLy8gMy45
LiBMZXQgdGhlIGNkbSBpbXBsZW1lbnRhdGlvbiB2YWx1ZSBiZSB0aGlzIG9iamVjdCdzIGNkbSBp
bXBsZW1lbnRhdGlvbi4KKyAgICAvLyAzLjEwLiBMZXQgdGhlIGNkbSBpbnN0YW5jZSB2YWx1ZSBi
ZSB0aGlzIG9iamVjdCdzIGNkbSBpbnN0YW5jZS4KKworICAgIFVOVVNFRF9QQVJBTShtX2NhbGxh
YmxlKTsKKyAgICBVTlVTRURfUEFSQU0obV9zZXNzaW9uVHlwZSk7CisgICAgVU5VU0VEX1BBUkFN
KG1fdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyKTsKKyAgICBVTlVTRURfUEFSQU0obV9jbG9zZWQp
OworICAgIFVOVVNFRF9QQVJBTShtX3VuaW5pdGlhbGl6ZWQpOwogfQogCiBNZWRpYUtleVNlc3Np
b246On5NZWRpYUtleVNlc3Npb24oKSA9IGRlZmF1bHQ7CiAKIGNvbnN0IFN0cmluZyYgTWVkaWFL
ZXlTZXNzaW9uOjpzZXNzaW9uSWQoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0g
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJuIG1fc2Vzc2lvbklkOwogfQogCiBk
b3VibGUgTWVkaWFLZXlTZXNzaW9uOjpleHBpcmF0aW9uKCkgY29uc3QKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2V4cGlyYXRpb247CiB9CiAK
LVJlZlB0cjxNZWRpYUtleVN0YXR1c01hcD4gTWVkaWFLZXlTZXNzaW9uOjprZXlTdGF0dXNlcygp
IGNvbnN0CitSZWY8TWVkaWFLZXlTdGF0dXNNYXA+IE1lZGlhS2V5U2Vzc2lvbjo6a2V5U3RhdHVz
ZXMoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIG51bGxwdHI7
CisgICAgcmV0dXJuIG1fa2V5U3RhdHVzZXMuY29weVJlZigpOwogfQogCiB2b2lkIE1lZGlhS2V5
U2Vzc2lvbjo6Z2VuZXJhdGVSZXF1ZXN0KGNvbnN0IFN0cmluZyYsIGNvbnN0IEJ1ZmZlclNvdXJj
ZSYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAppbmRleCA2YmNkMjM3ZDdm
OGU5NTAyOWExYzFmN2ZkMWViNGJmZDQ5OGFiMjE1Li41ODI4YjA4MDgyODYxNjM1NTUyNGQ4NGMw
OTU3ZDAzNjVmMjBhNzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKQEAgLTQxLDEyICs0MSwxNCBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCdWZmZXJTb3VyY2U7CitjbGFzcyBDRE07CitjbGFz
cyBDRE1JbnN0YW5jZTsKIGNsYXNzIE1lZGlhS2V5U3RhdHVzTWFwOwogY2xhc3MgTWVkaWFLZXlz
OwogCiBjbGFzcyBNZWRpYUtleVNlc3Npb24gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YUtleVNlc3Npb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxNZWRpYUtleVNlc3Npb24+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisgICAgc3RhdGljIFJlZjxNZWRpYUtl
eVNlc3Npb24+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFLZXlTZXNzaW9u
VHlwZSwgYm9vbCB1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIsIFJlZjxDRE0+JiYsIFJlZjxDRE1J
bnN0YW5jZT4mJik7CiAgICAgdmlydHVhbCB+TWVkaWFLZXlTZXNzaW9uKCk7CiAKICAgICB1c2lu
ZyBSZWZDb3VudGVkPE1lZGlhS2V5U2Vzc2lvbj46OnJlZjsKQEAgLTU0LDcgKzU2LDcgQEAgcHVi
bGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBzZXNzaW9uSWQoKSBjb25zdDsKICAgICBkb3VibGUg
ZXhwaXJhdGlvbigpIGNvbnN0OwotICAgIFJlZlB0cjxNZWRpYUtleVN0YXR1c01hcD4ga2V5U3Rh
dHVzZXMoKSBjb25zdDsKKyAgICBSZWY8TWVkaWFLZXlTdGF0dXNNYXA+IGtleVN0YXR1c2VzKCkg
Y29uc3Q7CiAKICAgICB2b2lkIGdlbmVyYXRlUmVxdWVzdChjb25zdCBTdHJpbmcmLCBjb25zdCBC
dWZmZXJTb3VyY2UmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIGxvYWQoY29u
c3QgU3RyaW5nJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CkBAIC02Myw3ICs2NSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHJlbW92ZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKIAogcHJpdmF0
ZToKLSAgICBNZWRpYUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAgIE1l
ZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFLZXlTZXNzaW9uVHlw
ZSwgYm9vbCB1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIsIFJlZjxDRE0+JiYsIFJlZjxDRE1JbnN0
YW5jZT4mJik7CiAKICAgICAvLyBFdmVudFRhcmdldAogICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNl
IGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gTWVkaWFLZXlT
ZXNzaW9uRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CkBAIC03Niw2ICs3OCwxNyBAQCBwcml2
YXRlOgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKKworICAgIFN0cmluZyBtX3Nlc3Npb25J
ZDsKKyAgICBkb3VibGUgbV9leHBpcmF0aW9uOworICAgIFJlZjxNZWRpYUtleVN0YXR1c01hcD4g
bV9rZXlTdGF0dXNlczsKKyAgICBib29sIG1fY2xvc2VkIHsgZmFsc2UgfTsKKyAgICBib29sIG1f
dW5pbml0aWFsaXplZCB7IHRydWUgfTsKKyAgICBib29sIG1fY2FsbGFibGUgeyBmYWxzZSB9Owor
ICAgIGJvb2wgbV91c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXI7CisgICAgTWVkaWFLZXlTZXNzaW9u
VHlwZSBtX3Nlc3Npb25UeXBlOworICAgIFJlZjxDRE0+IG1faW1wbGVtZW50YXRpb247CisgICAg
UmVmPENETUluc3RhbmNlPiBtX2luc3RhbmNlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVNlc3Npb25UeXBlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTZXNzaW9uVHlwZS5pZGwKaW5kZXggYmY1MDBkNWYyNDc2MGM1YmY5YzU3ODll
Nzc1MDlmNjdlNDg0NTA4MC4uYTkyZThmNmFkZDM1ODlhMmUwMzllNmE3MGNiMTRjOTRkNTBiMDBl
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVNlc3Npb25UeXBlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaWRsCkBAIC0yNSw3ICsyNSw4IEBACiAKIFsKICAg
ICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCi0gICAgSW1wbGVtZW50ZWRBcz1NZWRpYUtl
eVNlc3Npb25UeXBlCisgICAgSW1wbGVtZW50ZWRBcz1NZWRpYUtleVNlc3Npb25UeXBlLAorICAg
IEV4cG9ydE1hY3JvPVdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JUCiBdCiBlbnVtIE1lZGlhS2V5
U2Vzc2lvblR5cGUgewogICAgICJ0ZW1wb3JhcnkiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNw
cAppbmRleCA1NGEzODAwM2RmNTM3M2Y2OGI4MzdkMGFmMzBjYzliZjdkYjYxMWFiLi42YWRkZDZi
MDFiZDRmYWQzOGQ2NDA1ODI5NWYyMTgwYTkzM2ZlMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNj
ZXNzLmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIHZvaWQgTWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmNy
ZWF0ZU1lZGlhS2V5cyhSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiAgICAgICAgIC8v
IDIuMTAuMy4gTGV0IHRoZSBzdXBwb3J0ZWQgc2Vzc2lvbiB0eXBlcyB2YWx1ZSBiZSBiZSB0aGUg
dmFsdWUgb2YgY29uZmlndXJhdGlvbidzIHNlc3Npb25UeXBlcyBtZW1iZXIuCiAgICAgICAgIC8v
IDIuMTAuNC4gTGV0IHRoZSBjZG0gaW1wbGVtZW50YXRpb24gdmFsdWUgYmUgdGhpcyBvYmplY3Qn
cyBjZG0gaW1wbGVtZW50YXRpb24gdmFsdWUuCiAgICAgICAgIC8vIDIuMTAuNS4gTGV0IHRoZSBj
ZG0gaW5zdGFuY2UgdmFsdWUgYmUgaW5zdGFuY2UuCi0gICAgICAgIGF1dG8gbWVkaWFLZXlzID0g
TWVkaWFLZXlzOjpjcmVhdGUodXNlRGlzdGluY3RpdmVJZGVudGlmaWVyLCBwZXJzaXN0ZW50U3Rh
dGVBbGxvd2VkLCBtX2NvbmZpZ3VyYXRpb24tPnNlc3Npb25UeXBlcywgbV9pbXBsZW1lbnRhdGlv
bi5jb3B5UmVmKCksIFdURk1vdmUoaW5zdGFuY2UpKTsKKyAgICAgICAgYXV0byBtZWRpYUtleXMg
PSBNZWRpYUtleXM6OmNyZWF0ZSh1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIsIHBlcnNpc3RlbnRT
dGF0ZUFsbG93ZWQsIG1fY29uZmlndXJhdGlvbi0+c2Vzc2lvblR5cGVzLCBtX2ltcGxlbWVudGF0
aW9uLmNvcHlSZWYoKSwgaW5zdGFuY2UucmVsZWFzZU5vbk51bGwoKSk7CiAKICAgICAgICAgLy8g
Mi4xMS4gUmVzb2x2ZSBwcm9taXNlIHdpdGggbWVkaWEga2V5cy4KICAgICAgICAgcHJvbWlzZS0+
cmVzb2x2ZVdpdGhOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPE1lZGlhS2V5cz4+KFdURk1vdmUo
bWVkaWFLZXlzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5cy5jcHAKaW5kZXggZmZjYmJiNGJkMGM3OGU1OWQwMjY5Mjk0NTM2ZjM5ZTE3
MjZiYzg3Mi4uZjU1ZDc3NTZlNGYzM2QzZGE1MzExNmIwNDJkMGUzYmQ4ZjBkMWUzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNw
cApAQCAtMzksNyArMzksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLU1lZGlhS2V5czo6
TWVkaWFLZXlzKGJvb2wgdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyLCBib29sIHBlcnNpc3RlbnRT
dGF0ZUFsbG93ZWQsIGNvbnN0IFZlY3RvcjxNZWRpYUtleVNlc3Npb25UeXBlPiYgc3VwcG9ydGVk
U2Vzc2lvblR5cGVzLCBSZWY8Q0RNPiYmIGltcGxlbWVudGF0aW9uLCBzdGQ6OnVuaXF1ZV9wdHI8
Q0RNSW5zdGFuY2U+JiYgaW5zdGFuY2UpCitNZWRpYUtleXM6Ok1lZGlhS2V5cyhib29sIHVzZURp
c3RpbmN0aXZlSWRlbnRpZmllciwgYm9vbCBwZXJzaXN0ZW50U3RhdGVBbGxvd2VkLCBjb25zdCBW
ZWN0b3I8TWVkaWFLZXlTZXNzaW9uVHlwZT4mIHN1cHBvcnRlZFNlc3Npb25UeXBlcywgUmVmPENE
TT4mJiBpbXBsZW1lbnRhdGlvbiwgUmVmPENETUluc3RhbmNlPiYmIGluc3RhbmNlKQogICAgIDog
bV91c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIodXNlRGlzdGluY3RpdmVJZGVudGlmaWVyKQogICAg
ICwgbV9wZXJzaXN0ZW50U3RhdGVBbGxvd2VkKHBlcnNpc3RlbnRTdGF0ZUFsbG93ZWQpCiAgICAg
LCBtX3N1cHBvcnRlZFNlc3Npb25UeXBlcyhzdXBwb3J0ZWRTZXNzaW9uVHlwZXMpCkBAIC01MCwx
MCArNTAsMjQgQEAgTWVkaWFLZXlzOjpNZWRpYUtleXMoYm9vbCB1c2VEaXN0aW5jdGl2ZUlkZW50
aWZpZXIsIGJvb2wgcGVyc2lzdGVudFN0YXRlQWxsb3dlZCwKIAogTWVkaWFLZXlzOjp+TWVkaWFL
ZXlzKCkgPSBkZWZhdWx0OwogCi1FeGNlcHRpb25PcjxSZWY8TWVkaWFLZXlTZXNzaW9uPj4gTWVk
aWFLZXlzOjpjcmVhdGVTZXNzaW9uKE1lZGlhS2V5U2Vzc2lvblR5cGUpCitFeGNlcHRpb25PcjxS
ZWY8TWVkaWFLZXlTZXNzaW9uPj4gTWVkaWFLZXlzOjpjcmVhdGVTZXNzaW9uKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lZGlhS2V5U2Vzc2lvblR5cGUgc2Vzc2lvblR5cGUpCiB7
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gRXhjZXB0aW9uIHsgTk9UX1NVUFBP
UlRFRF9FUlIgfTsKKyAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vZW5jcnlwdGVkLW1lZGlh
LyNkb20tbWVkaWFrZXlzLXNldHNlcnZlcmNlcnRpZmljYXRlCisgICAgLy8gVzNDIEVkaXRvcidz
IERyYWZ0IDA5IE5vdmVtYmVyIDIwMTYKKworICAgIC8vIFdoZW4gdGhpcyBtZXRob2QgaXMgaW52
b2tlZCwgdGhlIHVzZXIgYWdlbnQgbXVzdCBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKKyAgICAv
LyAxLiBJZiB0aGlzIG9iamVjdCdzIHN1cHBvcnRlZCBzZXNzaW9uIHR5cGVzIHZhbHVlIGRvZXMg
bm90IGNvbnRhaW4gc2Vzc2lvblR5cGUsIHRocm93IFtXZWJJRExdIGEgTm90U3VwcG9ydGVkRXJy
b3IuCisgICAgaWYgKCFtX3N1cHBvcnRlZFNlc3Npb25UeXBlcy5jb250YWlucyhzZXNzaW9uVHlw
ZSkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24oTk9UX1NVUFBPUlRFRF9FUlIpOworCisgICAg
Ly8gMi4gSWYgdGhlIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHN1cHBvcnQgTWVkaWFLZXlTZXNz
aW9uIG9wZXJhdGlvbnMgaW4gdGhlIGN1cnJlbnQgc3RhdGUsIHRocm93IFtXZWJJRExdIGFuIElu
dmFsaWRTdGF0ZUVycm9yLgorICAgIGlmICghbV9pbXBsZW1lbnRhdGlvbi0+c3VwcG9ydHNTZXNz
aW9ucygpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uKElOVkFMSURfU1RBVEVfRVJSKTsKKwor
ICAgIC8vIDMuIExldCBzZXNzaW9uIGJlIGEgbmV3IE1lZGlhS2V5U2Vzc2lvbiBvYmplY3QsIGFu
ZCBpbml0aWFsaXplIGl0IGFzIGZvbGxvd3M6CisgICAgLy8gTk9URTogQ29udGludWVkIGluIE1l
ZGlhS2V5U2Vzc2lvbi4KKyAgICAvLyA0LiBSZXR1cm4gc2Vzc2lvbi4KKyAgICByZXR1cm4gTWVk
aWFLZXlTZXNzaW9uOjpjcmVhdGUoY29udGV4dCwgc2Vzc2lvblR5cGUsIG1fdXNlRGlzdGluY3Rp
dmVJZGVudGlmaWVyLCBtX2ltcGxlbWVudGF0aW9uLmNvcHlSZWYoKSwgbV9pbnN0YW5jZS5jb3B5
UmVmKCkpOwogfQogCiB2b2lkIE1lZGlhS2V5czo6c2V0U2VydmVyQ2VydGlmaWNhdGUoY29uc3Qg
QnVmZmVyU291cmNlJiBzZXJ2ZXJDZXJ0aWZpY2F0ZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBw
cm9taXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlzLmgKaW5kZXggYTMzNDJmZGUxYzhjZDM4NzJmNWE2ZGIzMmEyNmUzNDAyMDI1MTI0ZS4u
YmQ4MGJkMmM5ODQzYThhZjhkN2RiYWQ1Yjg1MzUyNTdkOTA1MWFkNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCkBAIC00OCwyNSAr
NDgsMjUgQEAgY2xhc3MgTWVkaWFLZXlzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlzPiB7
CiBwdWJsaWM6CiAgICAgdXNpbmcgS2V5U2Vzc2lvblR5cGUgPSBNZWRpYUtleVNlc3Npb25UeXBl
OwogCi0gICAgc3RhdGljIFJlZjxNZWRpYUtleXM+IGNyZWF0ZShib29sIHVzZURpc3RpbmN0aXZl
SWRlbnRpZmllciwgYm9vbCBwZXJzaXN0ZW50U3RhdGVBbGxvd2VkLCBjb25zdCBWZWN0b3I8TWVk
aWFLZXlTZXNzaW9uVHlwZT4mIHN1cHBvcnRlZFNlc3Npb25UeXBlcywgUmVmPENETT4mJiBpbXBs
ZW1lbnRhdGlvbiwgc3RkOjp1bmlxdWVfcHRyPENETUluc3RhbmNlPiYmIGluc3RhbmNlKQorICAg
IHN0YXRpYyBSZWY8TWVkaWFLZXlzPiBjcmVhdGUoYm9vbCB1c2VEaXN0aW5jdGl2ZUlkZW50aWZp
ZXIsIGJvb2wgcGVyc2lzdGVudFN0YXRlQWxsb3dlZCwgY29uc3QgVmVjdG9yPE1lZGlhS2V5U2Vz
c2lvblR5cGU+JiBzdXBwb3J0ZWRTZXNzaW9uVHlwZXMsIFJlZjxDRE0+JiYgaW1wbGVtZW50YXRp
b24sIFJlZjxDRE1JbnN0YW5jZT4mJiBpbnN0YW5jZSkKICAgICB7CiAgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IE1lZGlhS2V5cyh1c2VEaXN0aW5jdGl2ZUlkZW50aWZpZXIsIHBlcnNpc3Rl
bnRTdGF0ZUFsbG93ZWQsIHN1cHBvcnRlZFNlc3Npb25UeXBlcywgV1RGTW92ZShpbXBsZW1lbnRh
dGlvbiksIFdURk1vdmUoaW5zdGFuY2UpKSk7CiAgICAgfQogCiAgICAgfk1lZGlhS2V5cygpOwog
Ci0gICAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhS2V5U2Vzc2lvbj4+IGNyZWF0ZVNlc3Npb24oTWVk
aWFLZXlTZXNzaW9uVHlwZSk7CisgICAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhS2V5U2Vzc2lvbj4+
IGNyZWF0ZVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE1lZGlhS2V5U2Vzc2lvblR5
cGUpOwogCiAgICAgdm9pZCBzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShjb25zdCBCdWZmZXJTb3VyY2Um
LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKIAogcHJvdGVjdGVkOgotICAgIE1lZGlhS2V5cyhi
b29sIHVzZURpc3RpbmN0aXZlSWRlbnRpZmllciwgYm9vbCBwZXJzaXN0ZW50U3RhdGVBbGxvd2Vk
LCBjb25zdCBWZWN0b3I8TWVkaWFLZXlTZXNzaW9uVHlwZT4mLCBSZWY8Q0RNPiYmLCBzdGQ6OnVu
aXF1ZV9wdHI8Q0RNSW5zdGFuY2U+JiYpOworICAgIE1lZGlhS2V5cyhib29sIHVzZURpc3RpbmN0
aXZlSWRlbnRpZmllciwgYm9vbCBwZXJzaXN0ZW50U3RhdGVBbGxvd2VkLCBjb25zdCBWZWN0b3I8
TWVkaWFLZXlTZXNzaW9uVHlwZT4mLCBSZWY8Q0RNPiYmLCBSZWY8Q0RNSW5zdGFuY2U+JiYpOwog
CiAgICAgYm9vbCBtX3VzZURpc3RpbmN0aXZlSWRlbnRpZmllcjsKICAgICBib29sIG1fcGVyc2lz
dGVudFN0YXRlQWxsb3dlZDsKICAgICBWZWN0b3I8TWVkaWFLZXlTZXNzaW9uVHlwZT4gbV9zdXBw
b3J0ZWRTZXNzaW9uVHlwZXM7CiAgICAgUmVmPENETT4gbV9pbXBsZW1lbnRhdGlvbjsKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8Q0RNSW5zdGFuY2U+IG1faW5zdGFuY2U7CisgICAgUmVmPENETUluc3Rh
bmNlPiBtX2luc3RhbmNlOwogICAgIEdlbmVyaWNUYXNrUXVldWU8VGltZXI+IG1fdGFza1F1ZXVl
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleXMuaWRsCmluZGV4IGYzZjIwNzUyOWE1OGEwMmNmN2FkZjkzNzI0Y2JmYTQxMWFiYTI1
NGYuLjc4MTg1MDQyMDAzOWRiZGU5MGUxZDE4MDA3ZjFjMmY3OWZiOTMyNTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKQEAg
LTMxLDYgKzMxLDYgQEAKICAgICBFbmFibGVkQXRSdW50aW1lPUVuY3J5cHRlZE1lZGlhQVBJLAog
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBNZWRpYUtleXMgewot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gTWVkaWFLZXlTZXNzaW9uIGNyZWF0ZVNlc3Npb24ob3B0
aW9uYWwgTWVkaWFLZXlTZXNzaW9uVHlwZSBzZXNzaW9uVHlwZSA9ICJ0ZW1wb3JhcnkiKTsKKyAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIE1l
ZGlhS2V5U2Vzc2lvbiBjcmVhdGVTZXNzaW9uKG9wdGlvbmFsIE1lZGlhS2V5U2Vzc2lvblR5cGUg
c2Vzc2lvblR5cGUgPSAidGVtcG9yYXJ5Iik7CiAgICAgUHJvbWlzZTxib29sPiBzZXRTZXJ2ZXJD
ZXJ0aWZpY2F0ZShCdWZmZXJTb3VyY2Ugc2VydmVyQ2VydGlmaWNhdGUpOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NETUZhY3RvcnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5jcHAKaW5kZXggYjc4MjhlMzZjYTVmZWQxMzc0
NzQ1NjNiOTRjNDFhZjY1ZTk2MDNhNy4uZTAyODJiYmZjZDU3MzA1ZWE0OTZmOWQ3ZGVjYmE2NmRk
ZDcxZTE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9y
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5jcHAKQEAg
LTM0LDcgKzM0LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTW9ja0NETUZhY3Rvcnk6Ok1v
Y2tDRE1GYWN0b3J5KCkKLSAgICA6IG1fd2Vha1B0ckZhY3RvcnkodGhpcykKKyAgICA6IG1fc3Vw
cG9ydGVkU2Vzc2lvblR5cGVzKHsgTWVkaWFLZXlTZXNzaW9uVHlwZTo6VGVtcG9yYXJ5LCBNZWRp
YUtleVNlc3Npb25UeXBlOjpQZXJzaXN0ZW50VXNhZ2VSZWNvcmQsIE1lZGlhS2V5U2Vzc2lvblR5
cGU6OlBlcnNpc3RlbnRMaWNlbnNlIH0pCisgICAgLCBtX3dlYWtQdHJGYWN0b3J5KHRoaXMpCiB7
CiAgICAgQ0RNOjpyZWdpc3RlckNETUZhY3RvcnkoKnRoaXMpOwogfQpAQCAtODgsOSArODksMTIg
QEAgYm9vbCBNb2NrQ0RNOjpzdXBwb3J0c0NvbmZpZ3VyYXRpb25XaXRoUmVzdHJpY3Rpb25zKGNv
bnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBN
b2NrQ0RNOjpzdXBwb3J0c1Nlc3Npb25UeXBlV2l0aENvbmZpZ3VyYXRpb24oTWVkaWFLZXlTZXNz
aW9uVHlwZSYsIGNvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYpCitib29sIE1vY2tD
RE06OnN1cHBvcnRzU2Vzc2lvblR5cGVXaXRoQ29uZmlndXJhdGlvbihNZWRpYUtleVNlc3Npb25U
eXBlJiBzZXNzaW9uVHlwZSwgY29uc3QgTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uJikKIHsK
LSAgICAvLyBOT1RFOiBJbXBsZW1lbnQ7CisgICAgaWYgKCFtX2ZhY3RvcnkgfHwgIW1fZmFjdG9y
eS0+c3VwcG9ydGVkU2Vzc2lvblR5cGVzKCkuY29udGFpbnMoc2Vzc2lvblR5cGUpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBOT1RFOiBJbXBsZW1lbnQgY29uZmlndXJhdGlvbiBj
aGVja2luZzsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTIxLDExICsxMjUsMTEgQEAgYm9v
bCBNb2NrQ0RNOjpkaXN0aW5jdGl2ZUlkZW50aWZpZXJzQXJlVW5pcXVlUGVyT3JpZ2luQW5kQ2xl
YXJhYmxlKGNvbnN0IE1lZGlhS2UKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RkOjp1bmlxdWVf
cHRyPENETUluc3RhbmNlPiBNb2NrQ0RNOjpjcmVhdGVJbnN0YW5jZSgpCitSZWZQdHI8Q0RNSW5z
dGFuY2U+IE1vY2tDRE06OmNyZWF0ZUluc3RhbmNlKCkKIHsKICAgICBpZiAobV9mYWN0b3J5ICYm
ICFtX2ZhY3RvcnktPmNhbkNyZWF0ZUluc3RhbmNlcygpKQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPENETUluc3RhbmNlPihuZXcgTW9ja0NETUlu
c3RhbmNlKG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpKSk7CisgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBNb2NrQ0RNSW5zdGFuY2UobV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRy
KCkpKTsKIH0KIAogdm9pZCBNb2NrQ0RNOjpsb2FkQW5kSW5pdGlhbGl6ZSgpCkBAIC0xMzgsNiAr
MTQyLDExIEBAIGJvb2wgTW9ja0NETTo6c3VwcG9ydHNTZXJ2ZXJDZXJ0aWZpY2F0ZXMoKSBjb25z
dAogICAgIHJldHVybiBtX2ZhY3RvcnkgJiYgbV9mYWN0b3J5LT5zdXBwb3J0c1NlcnZlckNlcnRp
ZmljYXRlcygpOwogfQogCitib29sIE1vY2tDRE06OnN1cHBvcnRzU2Vzc2lvbnMoKSBjb25zdAor
eworICAgIHJldHVybiBtX2ZhY3RvcnkgJiYgbV9mYWN0b3J5LT5zdXBwb3J0c1Nlc3Npb25zKCk7
Cit9CisKIE1vY2tDRE1JbnN0YW5jZTo6TW9ja0NETUluc3RhbmNlKFdlYWtQdHI8TW9ja0NETT4g
Y2RtKQogICAgIDogbV9jZG0oY2RtKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9Nb2NrQ0RNRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFj
dG9yeS5oCmluZGV4IDdjNGU3N2Y3YWNhOTMwZjc1ZGIwM2FiMjM2ZmMwYmE1ZWIzNTMxM2QuLjMx
OTIyOTQwN2RjMDBjZDhkODNiOGY2YzgzOWZjODVlMzI5NzhhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NETUZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tDRE1GYWN0b3J5LmgKQEAgLTQ1LDYgKzQ1LDkgQEAgcHVibGljOgogICAgIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBzdXBwb3J0ZWREYXRhVHlwZXMoKSBjb25zdCB7IHJldHVybiBt
X3N1cHBvcnRlZERhdGFUeXBlczsgfQogICAgIHZvaWQgc2V0U3VwcG9ydGVkRGF0YVR5cGVzKFZl
Y3RvcjxTdHJpbmc+JiYgdHlwZXMpIHsgbV9zdXBwb3J0ZWREYXRhVHlwZXMgPSBXVEZNb3ZlKHR5
cGVzKTsgfQogCisgICAgY29uc3QgVmVjdG9yPE1lZGlhS2V5U2Vzc2lvblR5cGU+JiBzdXBwb3J0
ZWRTZXNzaW9uVHlwZXMoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRlZFNlc3Npb25UeXBlczsg
fQorICAgIHZvaWQgc2V0U3VwcG9ydGVkU2Vzc2lvblR5cGVzKFZlY3RvcjxNZWRpYUtleVNlc3Np
b25UeXBlPiYmIHR5cGVzKSB7IG1fc3VwcG9ydGVkU2Vzc2lvblR5cGVzID0gV1RGTW92ZSh0eXBl
cyk7IH0KKwogICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdXBwb3J0ZWRSb2J1c3RuZXNzKCkg
Y29uc3QgeyByZXR1cm4gbV9zdXBwb3J0ZWRSb2J1c3RuZXNzOyB9CiAgICAgdm9pZCBzZXRTdXBw
b3J0ZWRSb2J1c3RuZXNzKFZlY3RvcjxTdHJpbmc+JiYgcm9idXN0bmVzcykgeyBtX3N1cHBvcnRl
ZFJvYnVzdG5lc3MgPSBXVEZNb3ZlKHJvYnVzdG5lc3MpOyB9CiAKQEAgLTYwLDYgKzYzLDkgQEAg
cHVibGljOgogICAgIGJvb2wgc3VwcG9ydHNTZXJ2ZXJDZXJ0aWZpY2F0ZXMoKSBjb25zdCB7IHJl
dHVybiBtX3N1cHBvcnRzU2VydmVyQ2VydGlmaWNhdGVzOyB9CiAgICAgdm9pZCBzZXRTdXBwb3J0
c1NlcnZlckNlcnRpZmljYXRlcyhib29sIGZsYWcpIHsgbV9zdXBwb3J0c1NlcnZlckNlcnRpZmlj
YXRlcyA9IGZsYWc7IH0KIAorICAgIGJvb2wgc3VwcG9ydHNTZXNzaW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1fc3VwcG9ydHNTZXNzaW9uczsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNTZXNzaW9ucyhi
b29sIGZsYWcpIHsgbV9zdXBwb3J0c1Nlc3Npb25zID0gZmxhZzsgfQorCiAgICAgdm9pZCB1bnJl
Z2lzdGVyKCk7CiAKIHByaXZhdGU6CkBAIC03MCwxMCArNzYsMTIgQEAgcHJpdmF0ZToKICAgICBN
ZWRpYUtleXNSZXF1aXJlbWVudCBtX2Rpc3RpbmN0aXZlSWRlbnRpZmllcnNSZXF1aXJlbWVudCB7
IE1lZGlhS2V5c1JlcXVpcmVtZW50OjpPcHRpb25hbCB9OwogICAgIE1lZGlhS2V5c1JlcXVpcmVt
ZW50IG1fcGVyc2lzdGVudFN0YXRlUmVxdWlyZW1lbnQgeyBNZWRpYUtleXNSZXF1aXJlbWVudDo6
T3B0aW9uYWwgfTsKICAgICBWZWN0b3I8U3RyaW5nPiBtX3N1cHBvcnRlZERhdGFUeXBlczsKKyAg
ICBWZWN0b3I8TWVkaWFLZXlTZXNzaW9uVHlwZT4gbV9zdXBwb3J0ZWRTZXNzaW9uVHlwZXM7CiAg
ICAgVmVjdG9yPFN0cmluZz4gbV9zdXBwb3J0ZWRSb2J1c3RuZXNzOwogICAgIGJvb2wgbV9yZWdp
c3RlcmVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9jYW5DcmVhdGVJbnN0YW5jZXMgeyB0cnVlIH07
CiAgICAgYm9vbCBtX3N1cHBvcnRzU2VydmVyQ2VydGlmaWNhdGVzIHsgdHJ1ZSB9OworICAgIGJv
b2wgbV9zdXBwb3J0c1Nlc3Npb25zIHsgdHJ1ZSB9OwogICAgIFdlYWtQdHJGYWN0b3J5PE1vY2tD
RE1GYWN0b3J5PiBtX3dlYWtQdHJGYWN0b3J5OwogfTsKIApAQCAtOTQsOSArMTAyLDEwIEBAIHBy
aXZhdGU6CiAgICAgTWVkaWFLZXlzUmVxdWlyZW1lbnQgZGlzdGluY3RpdmVJZGVudGlmaWVyc1Jl
cXVpcmVtZW50KGNvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYsIGNvbnN0IE1lZGlh
S2V5c1Jlc3RyaWN0aW9ucyYpIGZpbmFsOwogICAgIE1lZGlhS2V5c1JlcXVpcmVtZW50IHBlcnNp
c3RlbnRTdGF0ZVJlcXVpcmVtZW50KGNvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYs
IGNvbnN0IE1lZGlhS2V5c1Jlc3RyaWN0aW9ucyYpIGZpbmFsOwogICAgIGJvb2wgZGlzdGluY3Rp
dmVJZGVudGlmaWVyc0FyZVVuaXF1ZVBlck9yaWdpbkFuZENsZWFyYWJsZShjb25zdCBNZWRpYUtl
eVN5c3RlbUNvbmZpZ3VyYXRpb24mKSBmaW5hbDsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8Q0RNSW5z
dGFuY2U+IGNyZWF0ZUluc3RhbmNlKCkgZmluYWw7CisgICAgUmVmUHRyPENETUluc3RhbmNlPiBj
cmVhdGVJbnN0YW5jZSgpIGZpbmFsOwogICAgIHZvaWQgbG9hZEFuZEluaXRpYWxpemUoKSBmaW5h
bDsKICAgICBib29sIHN1cHBvcnRzU2VydmVyQ2VydGlmaWNhdGVzKCkgY29uc3QgZmluYWw7Cisg
ICAgYm9vbCBzdXBwb3J0c1Nlc3Npb25zKCkgY29uc3QgZmluYWw7CiAKICAgICBXZWFrUHRyPE1v
Y2tDRE1GYWN0b3J5PiBtX2ZhY3Rvcnk7CiAgICAgV2Vha1B0ckZhY3Rvcnk8TW9ja0NETT4gbV93
ZWFrUHRyRmFjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NE
TUZhY3RvcnkuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwK
aW5kZXggN2M0MzgzNDZmMjA1M2RiNWM4MjZkMWI1MzNhYzFlNTRmNjBlM2I2NS4uOTBkMzgyZWM2
NTk1ZWNjMzMwMjM4NjNhZmYwMzM1MmVhNDQzNzIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrQ0RNRmFjdG9yeS5pZGwKQEAgLTMwLDEwICszMCwxMiBAQAogXSBpbnRlcmZhY2UgTW9j
a0NETUZhY3RvcnkgewogICAgIGF0dHJpYnV0ZSBzZXF1ZW5jZTxET01TdHJpbmc+IHN1cHBvcnRl
ZERhdGFUeXBlczsKICAgICBhdHRyaWJ1dGUgc2VxdWVuY2U8RE9NU3RyaW5nPiBzdXBwb3J0ZWRS
b2J1c3RuZXNzOworICAgIGF0dHJpYnV0ZSBzZXF1ZW5jZTxNZWRpYUtleVNlc3Npb25UeXBlPiBz
dXBwb3J0ZWRTZXNzaW9uVHlwZXM7CiAgICAgYXR0cmlidXRlIE1lZGlhS2V5c1JlcXVpcmVtZW50
IGRpc3RpbmN0aXZlSWRlbnRpZmllcnNSZXF1aXJlbWVudDsKICAgICBhdHRyaWJ1dGUgTWVkaWFL
ZXlzUmVxdWlyZW1lbnQgcGVyc2lzdGVudFN0YXRlUmVxdWlyZW1lbnQ7CiAgICAgYXR0cmlidXRl
IGJvb2xlYW4gY2FuQ3JlYXRlSW5zdGFuY2VzOwogICAgIGF0dHJpYnV0ZSBib29sZWFuIHN1cHBv
cnRzU2VydmVyQ2VydGlmaWNhdGVzOworICAgIGF0dHJpYnV0ZSBib29sZWFuIHN1cHBvcnRzU2Vz
c2lvbnM7CiAKICAgICB2b2lkIHVucmVnaXN0ZXIoKTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGY2NTJhNTExMTI2
NjY3YjA0YWExYTAzNGJkYmNjMTcxY2JhOTBlZC4uNmIyN2Q2YWZhNGYxOTI5NzFjZTUzNTU5YThj
NWZjOWQ4NTMyZjgyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACiAyMDE3LTAxLTA2ICBKZXIgTm9i
bGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBNZWRp
YUtleXMuY3JlYXRlU2Vzc2lvbigpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY2Nzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1NZWRpYUtleXMtY3Jl
YXRlU2Vzc2lvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL2VuY3J5cHRl
ZC1tZWRpYS9tb2NrLU1lZGlhS2V5cy1jcmVhdGVTZXNzaW9uLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCisyMDE3LTAxLTA2ICBKZXIgTm9i
bGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBNZWRp
YUtleXMuc2V0U2VydmVyQ2VydGlmaWNhdGUoKQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NzcyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21l
ZGlhL2VuY3J5cHRlZC1tZWRpYS9tb2NrLU1lZGlhS2V5cy1jcmVhdGVTZXNzaW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9tb2NrLU1lZGlhS2V5cy1j
cmVhdGVTZXNzaW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTgwZWU4YTAzOTE0MmRmYTYy
Zjk0ZGM3NTNmZjBjZTg3YmUyNGU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvZW5jcnlwdGVkLW1lZGlhL21vY2stTWVkaWFLZXlzLWNyZWF0ZVNlc3Npb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMjEgQEAKK1JVTihpbnRlcm5hbHMuaW5pdGlhbGl6ZU1vY2tNZWRpYVNv
dXJjZSgpKQorUlVOKG1vY2sgPSBpbnRlcm5hbHMucmVnaXN0ZXJNb2NrQ0RNKCkpCitSVU4obW9j
ay5zdXBwb3J0ZWREYXRhVHlwZXMgPSBbIm1vY2siXSkKK1JVTihjYXBhYmlsaXRpZXMuaW5pdERh
dGFUeXBlcyA9IFsibW9jayJdKQorUlVOKGNhcGFiaWxpdGllcy52aWRlb0NhcGFiaWxpdGllcyA9
IFt7IGNvbnRlbnRUeXBlOiAndmlkZW8vbW9jazsgY29kZWNzPSJtb2NrIicgfV0gKQorUlVOKHBy
b21pc2UgPSBuYXZpZ2F0b3IucmVxdWVzdE1lZGlhS2V5U3lzdGVtQWNjZXNzKCJvcmcud2Via2l0
Lm1vY2siLCBbY2FwYWJpbGl0aWVzXSkpCitQcm9taXNlIHJlc29sdmVkIE9LCisKK1JVTihwcm9t
aXNlID0gbWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3JlYXRlTWVkaWFLZXlzKCkpCitQcm9taXNlIHJl
c29sdmVkIE9LCisKK1JVTihtZWRpYUtleVNlc3Npb24gPSBtZWRpYUtleXMuY3JlYXRlU2Vzc2lv
bigidGVtcG9yYXJ5IikpCitFWFBFQ1RFRCAodHlwZW9mIG1lZGlhS2V5U2Vzc2lvbiA9PSAnb2Jq
ZWN0JykgT0sKKworUlVOKG1vY2suc3VwcG9ydGVkU2Vzc2lvblR5cGVzID0gWyJ0ZW1wb3Jhcnki
XSkKK1RFU1QobWVkaWFLZXlTZXNzaW9uID0gbWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oInBlcnNp
c3RlbnQtbGljZW5zZSIpKSBUSFJPV1MoRE9NRXhjZXB0aW9uLk5PVF9TVVBQT1JURURfRVJSKSBP
SworCitSVU4obW9jay5zdXBwb3J0c1Nlc3Npb25zID0gZmFsc2UpCitURVNUKG1lZGlhS2V5U2Vz
c2lvbiA9IG1lZGlhS2V5cy5jcmVhdGVTZXNzaW9uKCJ0ZW1wb3JhcnkiKSkgVEhST1dTKERPTUV4
Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUikgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL2VuY3J5cHRlZC1tZWRpYS9tb2NrLU1lZGlhS2V5cy1jcmVhdGVT
ZXNzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1NZWRp
YUtleXMtY3JlYXRlU2Vzc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmYjhhMzAyODNmOTBkODhmMzlj
M2FhNjA5NzRjNGQ0NWZhMWMzNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRp
YS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1NZWRpYUtleXMtY3JlYXRlU2Vzc2lvbi5odG1sCkBAIC0w
LDAgKzEsMTA5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlw
dCBzcmM9Li4vdmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CisgICAgdmFyIG1vY2s7CisgICAgdmFyIHByb21pc2U7CisgICAgdmFyIG1l
ZGlhS2V5U3lzdGVtQWNjZXNzOworICAgIHZhciBtZWRpYUtleXM7CisgICAgdmFyIG1lZGlhS2V5
U2Vzc2lvbjsKKyAgICB2YXIgY2FwYWJpbGl0aWVzID0ge307CisKKyAgICBmdW5jdGlvbiBkb1Rl
c3QoKQorICAgIHsKKyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAg
ICBmYWlsVGVzdCgiSW50ZXJuYWxzIGlzIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuIikKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHJ1bignaW50ZXJuYWxzLmluaXRp
YWxpemVNb2NrTWVkaWFTb3VyY2UoKScpOworICAgICAgICBydW4oJ21vY2sgPSBpbnRlcm5hbHMu
cmVnaXN0ZXJNb2NrQ0RNKCknKTsKKyAgICAgICAgcnVuKCdtb2NrLnN1cHBvcnRlZERhdGFUeXBl
cyA9IFsibW9jayJdJyk7CisgICAgICAgIHJ1bignY2FwYWJpbGl0aWVzLmluaXREYXRhVHlwZXMg
PSBbIm1vY2siXScpOworICAgICAgICBydW4oYGNhcGFiaWxpdGllcy52aWRlb0NhcGFiaWxpdGll
cyA9IFt7IGNvbnRlbnRUeXBlOiAndmlkZW8vbW9jazsgY29kZWNzPSJtb2NrIicgfV0gYCk7Cisg
ICAgICAgIHJ1bigncHJvbWlzZSA9IG5hdmlnYXRvci5yZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nl
c3MoIm9yZy53ZWJraXQubW9jayIsIFtjYXBhYmlsaXRpZXNdKScpOworICAgICAgICBwcm9taXNl
LnRoZW4oZ290TWVkaWFLZXlTeXN0ZW1BY2Nlc3MpLmNhdGNoKGZhaWxUZXN0KTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBuZXh0KCkgeworICAgICAgICBpZiAoIXRlc3RzLmxlbmd0aCkgeworICAg
ICAgICAgICAgbW9jay51bnJlZ2lzdGVyKCk7CisgICAgICAgICAgICBlbmRUZXN0KCkKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBuZXh0VGVzdCA9IHRlc3Rz
LnNoaWZ0KCk7CisgICAgICAgIGNvbnNvbGVXcml0ZSgnJyk7CisgICAgICAgIG5leHRUZXN0KCk7
CisgICAgfQorCisgICAgZnVuY3Rpb24gc2hvdWxkUmVzb2x2ZShwcm9taXNlKSB7CisgICAgICAg
IHByb21pc2UudGhlbihtZWRpYUtleVN5c3RlbUFjY2VzcyA9PiB7CisgICAgICAgICAgICBsb2dS
ZXN1bHQoU3VjY2VzcywgJ1Byb21pc2UgcmVzb2x2ZWQnKTsKKyAgICAgICAgICAgIG5leHQoKTsK
KyAgICAgICAgfSwgKCkgPT4geworICAgICAgICAgICAgbG9nUmVzdWx0KEZhaWxlZCwgJ1Byb21p
c2UgcmVqZWN0ZWQnKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gc2hvdWxkUmVqZWN0KHByb21pc2UpIHsKKyAgICAgICAgcHJvbWlzZS50
aGVuKCgpID0+IHsKKyAgICAgICAgICAgIGxvZ1Jlc3VsdChGYWlsZWQsICdQcm9taXNlIHJlc29s
dmVkIGluY29ycmVjdGx5Jyk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0sIGV4Y2Vw
dGlvbkNvZGUgPT4geworICAgICAgICAgICAgbG9nUmVzdWx0KFN1Y2Nlc3MsICdQcm9taXNlIHJl
amVjdGVkIGNvcnJlY3RseScpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9KTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBnb3RNZWRpYUtleVN5c3RlbUFjY2VzcyhyZXN1bHQpIHsKKyAg
ICAgICAgbG9nUmVzdWx0KFN1Y2Nlc3MsICdQcm9taXNlIHJlc29sdmVkJyk7CisgICAgICAgIG1l
ZGlhS2V5U3lzdGVtQWNjZXNzID0gcmVzdWx0OworICAgICAgICBuZXh0KCk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gZ290TWVkaWFLZXlzKHJlc3VsdCkgeworICAgICAgICBsb2dSZXN1bHQoU3Vj
Y2VzcywgJ1Byb21pc2UgcmVzb2x2ZWQnKTsKKyAgICAgICAgbWVkaWFLZXlzID0gcmVzdWx0Owor
ICAgICAgICBuZXh0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RyaW5nVG9VSW50OEFycmF5
KHN0cikKKyAgICB7CisgICAgICAgdmFyIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoc3RyLmxlbmd0
aCk7CisgICAgICAgZm9yICh2YXIgaT0wOyBpPHN0ci5sZW5ndGg7IGkrKykKKyAgICAgICAgICAg
IGFycmF5W2ldID0gc3RyLmNoYXJDb2RlQXQoaSk7CisgICAgICAgcmV0dXJuIGFycmF5OworICAg
IH0KKworICAgIHRlc3RzID0gWworICAgICAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHJ1
bigncHJvbWlzZSA9IG1lZGlhS2V5U3lzdGVtQWNjZXNzLmNyZWF0ZU1lZGlhS2V5cygpJyk7Cisg
ICAgICAgICAgICBwcm9taXNlLnRoZW4oZ290TWVkaWFLZXlzKS5jYXRjaChmYWlsVGVzdCk7Cisg
ICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBydW4oJ21lZGlh
S2V5U2Vzc2lvbiA9IG1lZGlhS2V5cy5jcmVhdGVTZXNzaW9uKCJ0ZW1wb3JhcnkiKScpOworICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCd0eXBlb2YgbWVkaWFLZXlTZXNzaW9uJywgJ29iamVjdCcp
CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICBydW4oJ21vY2suc3VwcG9ydGVkU2Vzc2lvblR5cGVzID0gWyJ0ZW1wb3Jh
cnkiXScpOworICAgICAgICAgICAgdGVzdERPTUV4Y2VwdGlvbignbWVkaWFLZXlTZXNzaW9uID0g
bWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oInBlcnNpc3RlbnQtbGljZW5zZSIpJywgJ0RPTUV4Y2Vw
dGlvbi5OT1RfU1VQUE9SVEVEX0VSUicpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9
LAorCisgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcnVuKCdtb2NrLnN1cHBvcnRz
U2Vzc2lvbnMgPSBmYWxzZScpOworICAgICAgICAgICAgdGVzdERPTUV4Y2VwdGlvbignbWVkaWFL
ZXlTZXNzaW9uID0gbWVkaWFLZXlzLmNyZWF0ZVNlc3Npb24oInRlbXBvcmFyeSIpJywgJ0RPTUV4
Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUicpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAg
ICB9CisgICAgXTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0iZG9UZXN0
KCkiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBlNzA2NWUwNzNhMDNiZTUwM2E0YzkxNTAwMTdjZGFhZTRlNDgzZThmLi5h
ZWIxZGMwZWM4MTY5N2Q3YjNjMjExZGUzZWEwZDYyNWFiNjUyZjgzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQ2OCw2ICsxNDY4LDcgQEAgd2Via2l0
Lm9yZy9iLzE2NTg3NCBbIERlYnVnIF0gc3RyZWFtcy9waXBlLXRvLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL21vY2stbmF2aWdhdG9yLXJlcXVlc3RNZWRpYUtl
eVN5c3RlbUFjY2Vzcy5odG1sIFsgU2tpcCBdCiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1N
ZWRpYUtleVN5c3RlbUFjY2Vzcy5odG1sIFsgU2tpcCBdCiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEv
bW9jay1NZWRpYUtleXMtc2V0U2VydmVyQ2VydGlmaWNhdGUuaHRtbCBbIFNraXAgXQorbWVkaWEv
ZW5jcnlwdGVkLW1lZGlhL21vY2stTWVkaWFLZXlzLWNyZWF0ZVNlc3Npb24uaHRtbCBbIFNraXAg
XQogCiB3ZWJraXQub3JnL2IvMTY2MDI1IGh0dHAvdGVzdHMvZmV0Y2gvZmV0Y2hpbmctc2FtZS1y
ZXNvdXJjZS13aXRoLWRpZmZmZXJlbnQtb3B0aW9ucy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>