<?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>219598</bug_id>
          
          <creation_ts>2020-12-07 04:42:47 -0800</creation_ts>
          <short_desc>Allow RTCRtpSFrameTransform to handle multiple keys</short_desc>
          <delta_ts>2020-12-08 02:37:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=219610</see_also>
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1712433</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-07 04:42:47 -0800</bug_when>
    <thetext>Allow RTCRtpSFrameTransform to handle multiple keys</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712434</commentid>
    <comment_count>1</comment_count>
      <attachid>415550</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-07 04:55:29 -0800</bug_when>
    <thetext>Created attachment 415550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712439</commentid>
    <comment_count>2</comment_count>
      <attachid>415553</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-07 05:32:15 -0800</bug_when>
    <thetext>Created attachment 415553
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712476</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-07 09:22:58 -0800</bug_when>
    <thetext>Committed r270507: &lt;https://trac.webkit.org/changeset/270507&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415553.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712477</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-07 09:23:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/72050096&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712561</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-12-07 12:48:41 -0800</bug_when>
    <thetext>Reverted r270507 for reason:

Caused some WebRTC tests to assert

Committed r270518: &lt;https://trac.webkit.org/changeset/270518&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712562</commentid>
    <comment_count>6</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-12-07 12:49:01 -0800</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #5)
&gt; Reverted r270507 for reason:
&gt; 
&gt; Caused some WebRTC tests to assert
See https://bugs.webkit.org/show_bug.cgi?id=219610</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712710</commentid>
    <comment_count>7</comment_count>
      <attachid>415619</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-08 01:32:47 -0800</bug_when>
    <thetext>Created attachment 415619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712729</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-08 02:37:16 -0800</bug_when>
    <thetext>Committed r270532: &lt;https://trac.webkit.org/changeset/270532&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415619.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415550</attachid>
            <date>2020-12-07 04:55:29 -0800</date>
            <delta_ts>2020-12-07 05:32:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219598-20201207135528.patch</filename>
            <type>text/plain</type>
            <size>13953</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ0MTE0YThlYTY1OGI3
ODgyNzQxOWUyMjM3MWY0NmQ4YWZkNmRiNC4uYTkyOTdhM2FkYjc1MDRiNDQ4YjU5NDk4OGIyNTY0
MGZjNTc5YjcxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTEyLTA3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBSVENSdHBTRnJh
bWVUcmFuc2Zvcm0gdG8gaGFuZGxlIG11bHRpcGxlIGtleXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTU5OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgYSBtYXAgb2YgSUQgdG8gS2V5IG1hdGVy
aWFsIHdoZW4gc2V0RW5jcnlwdGlvbktleSBpcyBjYWxsZWQuCisgICAgICAgIFVzZSB0aGF0IG1h
cCBvbiBkZWNyeXB0aW9uIHNpZGUgdG8gZ2V0IGtleSBtYXRlcmlhbCBmcm9tIGtleSBJRC4KKyAg
ICAgICAgQWRkIGludGVybmFscyBBUEkgdG8gdmFsaWRhdGUga2V5IHJldHJpZXZhbCBpcyBkb25l
IGNvcnJlY3RseS4KKyAgICAgICAgSWYgc2V0RW5jcnlwdGlvbktleSBrZXkgSUQgaXMgbm90IHNl
dCwgd2UgdXNlIHRoZSBtYXAgc2l6ZSB3aGljaCBhbGxvd3MgdG8gdXNlIDAsIDEsIDIgYW5kIHNv
IG9uLi4uCisKKyAgICAgICAgVGVzdDogd2VicnRjL3NmcmFtZS1rZXlzLmh0bWwKKworICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJUQ1J0cFNGcmFtZVRyYW5zZm9ybTo6a2V5SWRGb3JUZXN0aW5nIGNvbnN0
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5o
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXI6OnNldEVuY3J5
cHRpb25LZXkpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXI6OnVw
ZGF0ZUVuY3J5cHRpb25LZXkpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU0ZyYW1lVHJhbnNm
b3JtZXI6OmRlY3J5cHRGcmFtZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTRnJhbWVUcmFuc2Zvcm1lci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU0ZyYW1lVHJh
bnNmb3JtZXI6OmtleUlkIGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNmcmFtZUtleUlkKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwog
MjAyMC0xMi0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIGEgU0ZyYW1lIEgyNjQgZXhwZXJpbWVudGFsIGNvbXBhdGliaWxpdHkgbW9kZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFu
c2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJh
bWVUcmFuc2Zvcm0uY3BwCmluZGV4IDE1OTg1MThlZTNiZTMyZjY2ZmQ5NmU1NDBmZjgwNDg0NmJk
ZTE2MGYuLmY1ZDg0MWU1M2M2ZTljYjg1YTI2MDJlMjM4YWU4NzAyZmE0NzJkZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNm
b3JtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNG
cmFtZVRyYW5zZm9ybS5jcHAKQEAgLTgwLDYgKzgwLDExIEBAIHVpbnQ2NF90IFJUQ1J0cFNGcmFt
ZVRyYW5zZm9ybTo6Y291bnRlckZvclRlc3RpbmcoKSBjb25zdAogICAgIHJldHVybiBtX3RyYW5z
Zm9ybWVyLT5jb3VudGVyKCk7CiB9CiAKK3VpbnQ2NF90IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybTo6
a2V5SWRGb3JUZXN0aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90cmFuc2Zvcm1lci0+a2V5
SWQoKTsKK30KKwogYm9vbCBSVENSdHBTRnJhbWVUcmFuc2Zvcm06OmlzQXR0YWNoZWQoKSBjb25z
dAogewogICAgIHJldHVybiBtX2lzQXR0YWNoZWQgfHwgKG1fcmVhZGFibGUgJiYgbV9yZWFkYWJs
ZS0+aXNMb2NrZWQoKSkgfHwgKG1fd3JpdGFibGUgJiYgbV93cml0YWJsZS0+aXNMb2NrZWQoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNG
cmFtZVRyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTRnJhbWVUcmFuc2Zvcm0uaAppbmRleCA1ZGYzODYyZmU4NzdiYjU4OTQyYjE4OTM4NDlkNDZm
OGYwMmZkZGZiLi40ZmVlNjI3OWY2MjM5ZDE1NDZlYjY0YjY2MjJlMDM4MjhmZjU4YWU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRy
YW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U0ZyYW1lVHJhbnNmb3JtLmgKQEAgLTYwLDYgKzYwLDcgQEAgcHVibGljOgogICAgIHZvaWQgd2ls
bENsZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7CiAKICAgICBXRUJDT1JFX0VY
UE9SVCB1aW50NjRfdCBjb3VudGVyRm9yVGVzdGluZygpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQ
T1JUIHVpbnQ2NF90IGtleUlkRm9yVGVzdGluZygpIGNvbnN0OwogCiAgICAgRXhjZXB0aW9uT3I8
UmVmUHRyPFJlYWRhYmxlU3RyZWFtPj4gcmVhZGFibGUoKTsKICAgICBFeGNlcHRpb25PcjxSZWZQ
dHI8V3JpdGFibGVTdHJlYW0+PiB3cml0YWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm1lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmNw
cAppbmRleCBlODUxZDU4MDBiZDI4OGY5NTdhYzA0MzU4OWQ4OWRkYjQ4MjA2M2FjLi4xMTkwYzE1
YzBmZmQxZmNlMzQ5YTIyNjhiNDk2MTFiZGE4OTdlNTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9y
bWVyLmNwcApAQCAtMTQ5LDYgKzE0OSwxNCBAQCBSVENSdHBTRnJhbWVUcmFuc2Zvcm1lcjo6flJU
Q1J0cFNGcmFtZVRyYW5zZm9ybWVyKCkKIAogRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwU0ZyYW1l
VHJhbnNmb3JtZXI6OnNldEVuY3J5cHRpb25LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiByYXdL
ZXksIE9wdGlvbmFsPHVpbnQ2NF90PiBrZXlJZCkKIHsKKyAgICBhdXRvIGxvY2tlciA9IGhvbGRM
b2NrKG1fa2V5TG9jayk7CisgICAgcmV0dXJuIHVwZGF0ZUVuY3J5cHRpb25LZXkocmF3S2V5LCBr
ZXlJZCwgU2hvdWxkVXBkYXRlS2V5czo6WWVzKTsKK30KKworRXhjZXB0aW9uT3I8dm9pZD4gUlRD
UnRwU0ZyYW1lVHJhbnNmb3JtZXI6OnVwZGF0ZUVuY3J5cHRpb25LZXkoY29uc3QgVmVjdG9yPHVp
bnQ4X3Q+JiByYXdLZXksIE9wdGlvbmFsPHVpbnQ2NF90PiBrZXlJZCwgU2hvdWxkVXBkYXRlS2V5
cyBzaG91bGRVcGRhdGVLZXlzKQoreworICAgIEFTU0VSVChtX2tleUxvY2suaXNMb2NrZWQoKSk7
CisKICAgICBhdXRvIHNhbHRLZXlSZXN1bHQgPSBjb21wdXRlU2FsdEtleShyYXdLZXkpOwogICAg
IGlmIChzYWx0S2V5UmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gc2FsdEtl
eVJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CkBAIC0xNjMsMTUgKzE3MSwxNyBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBSVENSdHBTRnJhbWVUcmFuc2Zvcm1lcjo6c2V0RW5jcnlwdGlvbktleShjb25z
dCBWZWN0b3I8dWludDhfdAogICAgIGlmIChlbmNyeXB0aW9uS2V5UmVzdWx0Lmhhc0V4Y2VwdGlv
bigpKQogICAgICAgICByZXR1cm4gZW5jcnlwdGlvbktleVJlc3VsdC5yZWxlYXNlRXhjZXB0aW9u
KCk7CiAKLSAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fa2V5TG9jayk7CisgICAgaWYgKCFr
ZXlJZCkKKyAgICAgICAga2V5SWQgPSBtX2tleXMuc2l6ZSgpOworCisgICAgbV9rZXlJZCA9ICpr
ZXlJZDsKKyAgICBpZiAoc2hvdWxkVXBkYXRlS2V5cyA9PSBTaG91bGRVcGRhdGVLZXlzOjpZZXMp
CisgICAgICAgIG1fa2V5cy5zZXQoKmtleUlkLCByYXdLZXkpOwogCiAgICAgbV9zYWx0S2V5ID0g
c2FsdEtleVJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKICAgICBtX2F1dGhlbnRpY2F0aW9u
S2V5ID0gYXV0aGVudGljYXRpb25LZXlSZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCk7CiAgICAg
bV9lbmNyeXB0aW9uS2V5ID0gZW5jcnlwdGlvbktleVJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUo
KTsKIAotICAgIGlmIChrZXlJZCkKLSAgICAgICAgbV9rZXlJZCA9ICprZXlJZDsKLQogICAgIHVw
ZGF0ZUF1dGhlbnRpY2F0aW9uU2l6ZSgpOwogICAgIG1faGFzS2V5ID0gdHJ1ZTsKIApAQCAtMjA0
LDggKzIxNCwxMiBAQCBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IFJUQ1J0cFNGcmFtZVRy
YW5zZm9ybWVyOjpkZWNyeXB0RnJhbWUoY29uc3QgdWludDhfdAogICAgIG1fY291bnRlciA9IGhl
YWRlci0+Y291bnRlcjsKIAogICAgIGlmIChoZWFkZXItPmtleUlkICE9IG1fa2V5SWQpIHsKLSAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBzZWFyY2ggZm9yIGtleXMuCi0gICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciB9OworICAgICAgICBhdXRvIGl0ZXJhdG9y
ID0gbV9rZXlzLmZpbmQoaGVhZGVyLT5rZXlJZCk7CisgICAgICAgIGlmIChpdGVyYXRvciA9PSBt
X2tleXMuZW5kKCkpCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgRGF0YUVycm9yLCAi
S2V5IElEIGlzIHVua25vd24iIH07CisgICAgICAgIGF1dG8gcmVzdWx0ID0gdXBkYXRlRW5jcnlw
dGlvbktleShpdGVyYXRvci0+dmFsdWUsIGl0ZXJhdG9yLT5rZXksIFNob3VsZFVwZGF0ZUtleXM6
Ok5vKTsKKyAgICAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJl
dHVybiByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpOwogICAgIH0KIAogICAgIGlmIChmcmFtZVNp
emUgPCAoaGVhZGVyLT5zaXplICsgbV9hdXRoZW50aWNhdGlvblNpemUpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm1l
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFu
c2Zvcm1lci5oCmluZGV4IGRlMjNiZDhlYWZiMGU4ZjM4MDU5YTgwMDJjOGZmNmEwOTIyMjQxYTYu
LjA0NzYyOWM4ODc2YTM5MGU4YTY1Y2YyNTJmODBjMjU5OGE0ZGQzMTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRy
YW5zZm9ybWVyLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYgZW5jcnlwdGlvbktleSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jcnlwdGlvbktleTsg
fQogICAgIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgc2FsdEtleSgpIGNvbnN0IHsgcmV0dXJuIG1f
c2FsdEtleTsgfQogCisgICAgdWludDY0X3Qga2V5SWQoKSBjb25zdCB7IHJldHVybiBtX2tleUlk
OyB9CiAgICAgdWludDY0X3QgY291bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlcjsgfQog
ICAgIHZvaWQgc2V0Q291bnRlcih1aW50NjRfdCBjb3VudGVyKSB7IG1fY291bnRlciA9IGNvdW50
ZXI7IH0KIApAQCAtNjEsNiArNjIsOSBAQCBwcml2YXRlOgogICAgIEV4Y2VwdGlvbk9yPFZlY3Rv
cjx1aW50OF90Pj4gZGVjcnlwdEZyYW1lKGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QpOwogICAgIEV4
Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90Pj4gZW5jcnlwdEZyYW1lKGNvbnN0IHVpbnQ4X3QqLCBz
aXplX3QpOwogCisgICAgZW51bSBjbGFzcyBTaG91bGRVcGRhdGVLZXlzIHsgTm8sIFllcyB9Owor
ICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHVwZGF0ZUVuY3J5cHRpb25LZXkoY29uc3QgVmVjdG9yPHVp
bnQ4X3Q+JiByYXdLZXksIE9wdGlvbmFsPHVpbnQ2NF90PiwgU2hvdWxkVXBkYXRlS2V5cyA9IFNo
b3VsZFVwZGF0ZUtleXM6Olllcyk7CisKICAgICBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+
IGNvbXB1dGVTYWx0S2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYpOwogICAgIEV4Y2VwdGlvbk9y
PFZlY3Rvcjx1aW50OF90Pj4gY29tcHV0ZUF1dGhlbnRpY2F0aW9uS2V5KGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYpOwogICAgIEV4Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90Pj4gY29tcHV0ZUVuY3J5
cHRpb25LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+Jik7CkBAIC03NSw2ICs3OSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG1fYXV0aGVudGljYXRpb25LZXk7CiAgICAgVmVjdG9y
PHVpbnQ4X3Q+IG1fZW5jcnlwdGlvbktleTsKICAgICBWZWN0b3I8dWludDhfdD4gbV9zYWx0S2V5
OworICAgIEhhc2hNYXA8dWludDY0X3QsIFZlY3Rvcjx1aW50OF90Pj4gbV9rZXlzOwogCiAgICAg
Ym9vbCBtX2lzRW5jcnlwdGluZyB7IGZhbHNlIH07CiAgICAgdWludDY0X3QgbV9hdXRoZW50aWNh
dGlvblNpemUgeyAxMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDY2
NGFjZDExOWU2MTIzNTAyNDNmNzcyOGY2NDNhNTA2NmVlYzI5N2EuLjdiYTY4ZDRkMDJjNGNlYjA2
ZGU0ODlhMDA0M2Q3ZDM4MDVmMDk1ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKQEAgLTE1ODEsNiArMTU4MSwxMSBAQCB1aW50NjRfdCBJbnRlcm5hbHM6OnNmcmFtZUNvdW50
ZXIoY29uc3QgUlRDUnRwU0ZyYW1lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCiAgICAgcmV0dXJuIHRy
YW5zZm9ybS5jb3VudGVyRm9yVGVzdGluZygpOwogfQogCit1aW50NjRfdCBJbnRlcm5hbHM6OnNm
cmFtZUtleUlkKGNvbnN0IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQoreworICAg
IHJldHVybiB0cmFuc2Zvcm0ua2V5SWRGb3JUZXN0aW5nKCk7Cit9CisKIHZvaWQgSW50ZXJuYWxz
OjpzZXRFbmFibGVXZWJSVENFbmNyeXB0aW9uKGJvb2wgdmFsdWUpCiB7CiAjaWYgVVNFKExJQldF
QlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDQxZWFiNGM1ODMwZjUxM2Yy
NGQzZTViNzE3YzY1MDU3NWEwYjZhYWEuLmM1YjZlMmRiMTNjMGVjZmRiNmE4MzMwOGViZjI2ZDBl
MjIxMzc1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNjEwLDYgKzYxMCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdlYlJUQ1ZQOVN1cHBvcnQoYm9vbCBzdXBwb3J0VlA5
UHJvZmlsZTAsIGJvb2wgc3VwcG9ydFZQOVByb2ZpbGUyKTsKICAgICB2b2lkIHNldFdlYlJUQ1ZQ
OVZUQlN1cHBvcnQoYm9vbCk7CiAgICAgdWludDY0X3Qgc2ZyYW1lQ291bnRlcihjb25zdCBSVENS
dHBTRnJhbWVUcmFuc2Zvcm0mKTsKKyAgICB1aW50NjRfdCBzZnJhbWVLZXlJZChjb25zdCBSVENS
dHBTRnJhbWVUcmFuc2Zvcm0mKTsKICAgICB2b2lkIHNldEVuYWJsZVdlYlJUQ0VuY3J5cHRpb24o
Ym9vbCk7CiAgICAgdm9pZCBzZXRVc2VEVExTMTAoYm9vbCk7CiAgICAgdm9pZCBzZXRVc2VHUFVQ
cm9jZXNzRm9yV2ViUlRDKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmlu
ZGV4IDZmOTIxYWZkYWU0MzA1ZWFmZTlmYTVlMjU5MzNjOWQ1OTIyNmIxNTEuLmY2YzljNjc4MzIx
MjcyNzY0NmFmZTQ4ODA2YWQxMDdkNzM1N2VmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKQEAgLTgwMyw2ICs4MDMsNyBAQCBlbnVtIFRyZWVUeXBlIHsKICAgICBbQ29uZGl0
aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFdlYlJUQ1ZQOVN1cHBvcnQoYm9vbGVhbiBzdXBw
b3J0VlA5UHJvZmlsZTAsIGJvb2xlYW4gc3VwcG9ydFZQOVByb2ZpbGUyKTsKICAgICBbQ29uZGl0
aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFdlYlJUQ1ZQOVZUQlN1cHBvcnQoYm9vbGVhbiBh
bGxvd2VkKTsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5zaWduZWQgbG9uZyBsb25nIHNm
cmFtZUNvdW50ZXIoUlRDUnRwU0ZyYW1lVHJhbnNmb3JtIHRyYW5zZm9ybSk7CisgICAgW0NvbmRp
dGlvbmFsPVdFQl9SVENdIHVuc2lnbmVkIGxvbmcgbG9uZyBzZnJhbWVLZXlJZChSVENSdHBTRnJh
bWVUcmFuc2Zvcm0gdHJhbnNmb3JtKTsKIAogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1d
IHVuZGVmaW5lZCBzZXRNb2NrQXVkaW9UcmFja0NoYW5uZWxOdW1iZXIoTWVkaWFTdHJlYW1UcmFj
ayB0cmFjaywgdW5zaWduZWQgc2hvcnQgY291bnQpOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9T
VFJFQU1dIHVuZGVmaW5lZCBzZXRTaG91bGRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlD
aGFuZ2UoYm9vbGVhbiBzaG91bGRJbnRlcnJ1cHQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE3ZmNlOGViMDIxNTUwMDMy
MDZhYTVlOTMxMDM4ZTRhMDlmNzk2YjQuLjc4YTQ1ZTU0NjBiMTljMGZiOWRkMTg4ZTkyYWNlY2E1
NTliYjM1ZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0xMi0wNyAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgUlRDUnRwU0ZyYW1lVHJhbnNm
b3JtIHRvIGhhbmRsZSBtdWx0aXBsZSBrZXlzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk1OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHdlYnJ0Yy9zZnJhbWUta2V5cy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYnJ0Yy9zZnJhbWUta2V5cy5odG1sOiBBZGRlZC4KKwogMjAyMC0x
Mi0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEg
U0ZyYW1lIEgyNjQgZXhwZXJpbWVudGFsIGNvbXBhdGliaWxpdHkgbW9kZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2VicnRjL3NmcmFtZS1rZXlzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYnJ0Yy9zZnJhbWUta2V5cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGRjNWFlM2IxMTI5
OWVlOWNkOTVjYzE5NmMwYTMwZjdjZjJhMjM4MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYnJ0Yy9zZnJhbWUta2V5cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKKwor
UEFTUyBBdWRpbyBleGNoYW5nZSB3aXRoIFNGcmFtZSBzZXR1cAorUEFTUyBBZGQgYSBuZXcgZW5j
cnlwdGlvbiBrZXkKK1BBU1MgQWRkIGEgbmV3IGVuY3J5cHRpb24ga2V5IHdpdGgga2V5IGlkCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy9zZnJhbWUta2V5cy5odG1sIGIvTGF5b3V0
VGVzdHMvd2VicnRjL3NmcmFtZS1rZXlzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM0YjNhMWQ3MjQ0ODQ4
ZGJhOTMwZDdlY2FmNWI1MDQ4ZDk1YWM2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYnJ0Yy9zZnJhbWUta2V5cy5odG1sCkBAIC0wLDAgKzEsODMgQEAKKzwhZG9jdHlwZSBodG1s
PgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHZpZGVvIGlkPSJh
dWRpbyIgYXV0b3BsYXkgcGxheXNJbmxpbmU+PC92aWRlbz4KKyAgICAgICAgPHNjcmlwdCBzcmMg
PSJyb3V0aW5lcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CitsZXQgc2VuZGVyLCBy
ZWNlaXZlcjsKK2xldCBrZXkxLCBrZXkyLCBrZXkzOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRl
c3QpID0+IHsKKyAgICBrZXkxID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIs
IG5ldyBVaW50OEFycmF5KFsxNDMsIDc3LCA0MywgMTAsIDcyLCAxOSwgMzcsIDY3LCAyMzYsIDIx
OSwgMjQsIDkzLCAyNiwgMTY1LCA5MSwgMTc4XSksICJIS0RGIiwgZmFsc2UsIFsiZGVyaXZlQml0
cyIsICJkZXJpdmVLZXkiXSk7CisgICAga2V5MiA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJyYXciLCBuZXcgVWludDhBcnJheShbMTQ0LCA3NywgNDMsIDEwLCA3MiwgMTksIDM3LCA2
NywgMjM2LCAyMTksIDI0LCA5MywgMjYsIDE2NSwgOTEsIDE3OF0pLCAiSEtERiIsIGZhbHNlLCBb
ImRlcml2ZUJpdHMiLCAiZGVyaXZlS2V5Il0pOworICAgIGtleTMgPSBhd2FpdCBjcnlwdG8uc3Vi
dGxlLmltcG9ydEtleSgicmF3IiwgbmV3IFVpbnQ4QXJyYXkoWzE0NSwgNzcsIDQzLCAxMCwgNzIs
IDE5LCAzNywgNjcsIDIzNiwgMjE5LCAyNCwgOTMsIDI2LCAxNjUsIDkxLCAxNzhdKSwgIkhLREYi
LCBmYWxzZSwgWyJkZXJpdmVCaXRzIiwgImRlcml2ZUtleSJdKTsKKworICAgIGNvbnN0IGxvY2Fs
U3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlv
OiB0cnVlfSk7CisgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUs
IHJlamVjdCkgPT4geworICAgICAgICBjcmVhdGVDb25uZWN0aW9ucygoZmlyc3RDb25uZWN0aW9u
KSA9PiB7CisgICAgICAgICAgICBzZW5kZXIgPSBmaXJzdENvbm5lY3Rpb24uYWRkVHJhY2sobG9j
YWxTdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXSwgbG9jYWxTdHJlYW0pOworICAgICAgICAgICAg
bGV0IHRyYW5zZm9ybSA9IG5ldyBSVENSdHBTRnJhbWVUcmFuc2Zvcm07CisgICAgICAgICAgICB0
cmFuc2Zvcm0uc2V0RW5jcnlwdGlvbktleShrZXkxKTsKKyAgICAgICAgICAgIHNlbmRlci50cmFu
c2Zvcm0gPSB0cmFuc2Zvcm07CisgICAgICAgIH0sIChzZWNvbmRDb25uZWN0aW9uKSA9PiB7Cisg
ICAgICAgICAgICBzZWNvbmRDb25uZWN0aW9uLm9udHJhY2sgPSAodHJhY2tFdmVudCkgPT4gewor
ICAgICAgICAgICAgICAgIGxldCB0cmFuc2Zvcm0gPSBuZXcgUlRDUnRwU0ZyYW1lVHJhbnNmb3Jt
OworICAgICAgICAgICAgICAgIHRyYW5zZm9ybS5zZXRFbmNyeXB0aW9uS2V5KGtleTEpOworICAg
ICAgICAgICAgICAgIHRyYW5zZm9ybS5zZXRFbmNyeXB0aW9uS2V5KGtleTIpOworICAgICAgICAg
ICAgICAgIHRyYW5zZm9ybS5zZXRFbmNyeXB0aW9uS2V5KGtleTMsIDEwMDApOworICAgICAgICAg
ICAgICAgIHJlY2VpdmVyID0gdHJhY2tFdmVudC5yZWNlaXZlcjsKKyAgICAgICAgICAgICAgICBy
ZWNlaXZlci50cmFuc2Zvcm0gPSB0cmFuc2Zvcm07CisgICAgICAgICAgICAgICAgcmVzb2x2ZSh0
cmFja0V2ZW50LnN0cmVhbXNbMF0pOworICAgICAgICAgICAgfTsKKyAgICAgICAgfSk7CisgICAg
ICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJUZXN0IHRpbWVkIG91dCIpLCA1MDAwKTsKKyAg
ICB9KTsKKworICAgIGF1ZGlvLnNyY09iamVjdCA9IHN0cmVhbTsKKyAgICBhd2FpdCBhdWRpby5w
bGF5KCk7Cit9LCAiQXVkaW8gZXhjaGFuZ2Ugd2l0aCBTRnJhbWUgc2V0dXAiKTsKKworYXN5bmMg
ZnVuY3Rpb24gd2FpdEZvckNvdW50ZXJJbmNyZWFzZShyZWNlaXZlcikKK3sKKyAgICBjb25zdCBy
ZWNlaXZlckNvdW50ZXIgPSBpbnRlcm5hbHMuc2ZyYW1lQ291bnRlcihyZWNlaXZlci50cmFuc2Zv
cm0pOworICAgIGxldCBjb3VudGVyID0gMDsKKyAgICB3aGlsZSAocmVjZWl2ZXJDb3VudGVyID09
PSBpbnRlcm5hbHMuc2ZyYW1lQ291bnRlcihyZWNlaXZlci50cmFuc2Zvcm0pICYmICsrY291bnRl
ciA8IDEwMCkKKyAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0
KHJlc29sdmUsIDUwKSk7CisgICAgcmV0dXJuIHJlY2VpdmVyQ291bnRlciAhPT0gaW50ZXJuYWxz
LnNmcmFtZUNvdW50ZXIocmVjZWl2ZXIudHJhbnNmb3JtKTsKK30KKworYXN5bmMgZnVuY3Rpb24g
d2FpdEZvclJlY2VpdmVyS2V5SWQocmVjZWl2ZXIsIGtleUlkKQoreworICAgIGxldCBjb3VudGVy
ID0gMDsKKyAgICB3aGlsZSAoa2V5SWQgIT09IGludGVybmFscy5zZnJhbWVLZXlJZChyZWNlaXZl
ci50cmFuc2Zvcm0pICYmICsrY291bnRlciA8IDEwMCkKKyAgICAgICAgYXdhaXQgbmV3IFByb21p
c2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDUwKSk7CisgICAgcmV0dXJuIGtleUlk
ID09PSBpbnRlcm5hbHMuc2ZyYW1lS2V5SWQocmVjZWl2ZXIudHJhbnNmb3JtKTsKK30KKworcHJv
bWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICBzZW5kZXIudHJhbnNmb3JtLnNldEVuY3J5
cHRpb25LZXkoa2V5Mik7CisKKyAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICByZXR1
cm47CisKKyAgIGFzc2VydF90cnVlKGF3YWl0IHdhaXRGb3JSZWNlaXZlcktleUlkKHJlY2VpdmVy
LCAxKSwgImtleSBpZCAxIik7CisgICBhc3NlcnRfdHJ1ZShhd2FpdCB3YWl0Rm9yQ291bnRlcklu
Y3JlYXNlKHJlY2VpdmVyKSwgImNvdW50ZXIgaW5jcmVhc2UgMSIpOworfSwgIkFkZCBhIG5ldyBl
bmNyeXB0aW9uIGtleSIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgIHNl
bmRlci50cmFuc2Zvcm0uc2V0RW5jcnlwdGlvbktleShrZXkzLCAxMDAwKTsKKworICAgaWYgKCF3
aW5kb3cuaW50ZXJuYWxzKQorICAgICAgIHJldHVybjsKKworICAgYXNzZXJ0X3RydWUoYXdhaXQg
d2FpdEZvclJlY2VpdmVyS2V5SWQocmVjZWl2ZXIsIDEwMDApLCAia2V5IGlkIDIiKTsKKyAgIGFz
c2VydF90cnVlKGF3YWl0IHdhaXRGb3JDb3VudGVySW5jcmVhc2UocmVjZWl2ZXIpLCAiY291bnRl
ciBpbmNyZWFzZSAyIik7Cit9LCAiQWRkIGEgbmV3IGVuY3J5cHRpb24ga2V5IHdpdGgga2V5IGlk
Iik7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="432803"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415553</attachid>
            <date>2020-12-07 05:32:15 -0800</date>
            <delta_ts>2020-12-08 01:32:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219598-20201207143214.patch</filename>
            <type>text/plain</type>
            <size>14110</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ0MTE0YThlYTY1OGI3
ODgyNzQxOWUyMjM3MWY0NmQ4YWZkNmRiNC4uYTkyOTdhM2FkYjc1MDRiNDQ4YjU5NDk4OGIyNTY0
MGZjNTc5YjcxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTEyLTA3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBSVENSdHBTRnJh
bWVUcmFuc2Zvcm0gdG8gaGFuZGxlIG11bHRpcGxlIGtleXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTU5OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgYSBtYXAgb2YgSUQgdG8gS2V5IG1hdGVy
aWFsIHdoZW4gc2V0RW5jcnlwdGlvbktleSBpcyBjYWxsZWQuCisgICAgICAgIFVzZSB0aGF0IG1h
cCBvbiBkZWNyeXB0aW9uIHNpZGUgdG8gZ2V0IGtleSBtYXRlcmlhbCBmcm9tIGtleSBJRC4KKyAg
ICAgICAgQWRkIGludGVybmFscyBBUEkgdG8gdmFsaWRhdGUga2V5IHJldHJpZXZhbCBpcyBkb25l
IGNvcnJlY3RseS4KKyAgICAgICAgSWYgc2V0RW5jcnlwdGlvbktleSBrZXkgSUQgaXMgbm90IHNl
dCwgd2UgdXNlIHRoZSBtYXAgc2l6ZSB3aGljaCBhbGxvd3MgdG8gdXNlIDAsIDEsIDIgYW5kIHNv
IG9uLi4uCisKKyAgICAgICAgVGVzdDogd2VicnRjL3NmcmFtZS1rZXlzLmh0bWwKKworICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJUQ1J0cFNGcmFtZVRyYW5zZm9ybTo6a2V5SWRGb3JUZXN0aW5nIGNvbnN0
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5o
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXI6OnNldEVuY3J5
cHRpb25LZXkpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXI6OnVw
ZGF0ZUVuY3J5cHRpb25LZXkpOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU0ZyYW1lVHJhbnNm
b3JtZXI6OmRlY3J5cHRGcmFtZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTRnJhbWVUcmFuc2Zvcm1lci5oOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU0ZyYW1lVHJh
bnNmb3JtZXI6OmtleUlkIGNvbnN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNmcmFtZUtleUlkKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwog
MjAyMC0xMi0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIGEgU0ZyYW1lIEgyNjQgZXhwZXJpbWVudGFsIGNvbXBhdGliaWxpdHkgbW9kZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFu
c2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJh
bWVUcmFuc2Zvcm0uY3BwCmluZGV4IDE1OTg1MThlZTNiZTMyZjY2ZmQ5NmU1NDBmZjgwNDg0NmJk
ZTE2MGYuLmY1ZDg0MWU1M2M2ZTljYjg1YTI2MDJlMjM4YWU4NzAyZmE0NzJkZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNm
b3JtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNG
cmFtZVRyYW5zZm9ybS5jcHAKQEAgLTgwLDYgKzgwLDExIEBAIHVpbnQ2NF90IFJUQ1J0cFNGcmFt
ZVRyYW5zZm9ybTo6Y291bnRlckZvclRlc3RpbmcoKSBjb25zdAogICAgIHJldHVybiBtX3RyYW5z
Zm9ybWVyLT5jb3VudGVyKCk7CiB9CiAKK3VpbnQ2NF90IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybTo6
a2V5SWRGb3JUZXN0aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90cmFuc2Zvcm1lci0+a2V5
SWQoKTsKK30KKwogYm9vbCBSVENSdHBTRnJhbWVUcmFuc2Zvcm06OmlzQXR0YWNoZWQoKSBjb25z
dAogewogICAgIHJldHVybiBtX2lzQXR0YWNoZWQgfHwgKG1fcmVhZGFibGUgJiYgbV9yZWFkYWJs
ZS0+aXNMb2NrZWQoKSkgfHwgKG1fd3JpdGFibGUgJiYgbV93cml0YWJsZS0+aXNMb2NrZWQoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNG
cmFtZVRyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTRnJhbWVUcmFuc2Zvcm0uaAppbmRleCA1ZGYzODYyZmU4NzdiYjU4OTQyYjE4OTM4NDlkNDZm
OGYwMmZkZGZiLi40ZmVlNjI3OWY2MjM5ZDE1NDZlYjY0YjY2MjJlMDM4MjhmZjU4YWU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRy
YW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U0ZyYW1lVHJhbnNmb3JtLmgKQEAgLTYwLDYgKzYwLDcgQEAgcHVibGljOgogICAgIHZvaWQgd2ls
bENsZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7CiAKICAgICBXRUJDT1JFX0VY
UE9SVCB1aW50NjRfdCBjb3VudGVyRm9yVGVzdGluZygpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQ
T1JUIHVpbnQ2NF90IGtleUlkRm9yVGVzdGluZygpIGNvbnN0OwogCiAgICAgRXhjZXB0aW9uT3I8
UmVmUHRyPFJlYWRhYmxlU3RyZWFtPj4gcmVhZGFibGUoKTsKICAgICBFeGNlcHRpb25PcjxSZWZQ
dHI8V3JpdGFibGVTdHJlYW0+PiB3cml0YWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm1lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmNw
cAppbmRleCBlODUxZDU4MDBiZDI4OGY5NTdhYzA0MzU4OWQ4OWRkYjQ4MjA2M2FjLi4xMTkwYzE1
YzBmZmQxZmNlMzQ5YTIyNjhiNDk2MTFiZGE4OTdlNTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9y
bWVyLmNwcApAQCAtMTQ5LDYgKzE0OSwxNCBAQCBSVENSdHBTRnJhbWVUcmFuc2Zvcm1lcjo6flJU
Q1J0cFNGcmFtZVRyYW5zZm9ybWVyKCkKIAogRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwU0ZyYW1l
VHJhbnNmb3JtZXI6OnNldEVuY3J5cHRpb25LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiByYXdL
ZXksIE9wdGlvbmFsPHVpbnQ2NF90PiBrZXlJZCkKIHsKKyAgICBhdXRvIGxvY2tlciA9IGhvbGRM
b2NrKG1fa2V5TG9jayk7CisgICAgcmV0dXJuIHVwZGF0ZUVuY3J5cHRpb25LZXkocmF3S2V5LCBr
ZXlJZCwgU2hvdWxkVXBkYXRlS2V5czo6WWVzKTsKK30KKworRXhjZXB0aW9uT3I8dm9pZD4gUlRD
UnRwU0ZyYW1lVHJhbnNmb3JtZXI6OnVwZGF0ZUVuY3J5cHRpb25LZXkoY29uc3QgVmVjdG9yPHVp
bnQ4X3Q+JiByYXdLZXksIE9wdGlvbmFsPHVpbnQ2NF90PiBrZXlJZCwgU2hvdWxkVXBkYXRlS2V5
cyBzaG91bGRVcGRhdGVLZXlzKQoreworICAgIEFTU0VSVChtX2tleUxvY2suaXNMb2NrZWQoKSk7
CisKICAgICBhdXRvIHNhbHRLZXlSZXN1bHQgPSBjb21wdXRlU2FsdEtleShyYXdLZXkpOwogICAg
IGlmIChzYWx0S2V5UmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gc2FsdEtl
eVJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CkBAIC0xNjMsMTUgKzE3MSwxNyBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBSVENSdHBTRnJhbWVUcmFuc2Zvcm1lcjo6c2V0RW5jcnlwdGlvbktleShjb25z
dCBWZWN0b3I8dWludDhfdAogICAgIGlmIChlbmNyeXB0aW9uS2V5UmVzdWx0Lmhhc0V4Y2VwdGlv
bigpKQogICAgICAgICByZXR1cm4gZW5jcnlwdGlvbktleVJlc3VsdC5yZWxlYXNlRXhjZXB0aW9u
KCk7CiAKLSAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fa2V5TG9jayk7CisgICAgaWYgKCFr
ZXlJZCkKKyAgICAgICAga2V5SWQgPSBtX2tleXMuc2l6ZSgpOworCisgICAgbV9rZXlJZCA9ICpr
ZXlJZDsKKyAgICBpZiAoc2hvdWxkVXBkYXRlS2V5cyA9PSBTaG91bGRVcGRhdGVLZXlzOjpZZXMp
CisgICAgICAgIG1fa2V5cy5zZXQoKmtleUlkLCByYXdLZXkpOwogCiAgICAgbV9zYWx0S2V5ID0g
c2FsdEtleVJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKICAgICBtX2F1dGhlbnRpY2F0aW9u
S2V5ID0gYXV0aGVudGljYXRpb25LZXlSZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCk7CiAgICAg
bV9lbmNyeXB0aW9uS2V5ID0gZW5jcnlwdGlvbktleVJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUo
KTsKIAotICAgIGlmIChrZXlJZCkKLSAgICAgICAgbV9rZXlJZCA9ICprZXlJZDsKLQogICAgIHVw
ZGF0ZUF1dGhlbnRpY2F0aW9uU2l6ZSgpOwogICAgIG1faGFzS2V5ID0gdHJ1ZTsKIApAQCAtMjA0
LDggKzIxNCwxMiBAQCBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IFJUQ1J0cFNGcmFtZVRy
YW5zZm9ybWVyOjpkZWNyeXB0RnJhbWUoY29uc3QgdWludDhfdAogICAgIG1fY291bnRlciA9IGhl
YWRlci0+Y291bnRlcjsKIAogICAgIGlmIChoZWFkZXItPmtleUlkICE9IG1fa2V5SWQpIHsKLSAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBzZWFyY2ggZm9yIGtleXMuCi0gICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciB9OworICAgICAgICBhdXRvIGl0ZXJhdG9y
ID0gbV9rZXlzLmZpbmQoaGVhZGVyLT5rZXlJZCk7CisgICAgICAgIGlmIChpdGVyYXRvciA9PSBt
X2tleXMuZW5kKCkpCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgRGF0YUVycm9yLCAi
S2V5IElEIGlzIHVua25vd24iIH07CisgICAgICAgIGF1dG8gcmVzdWx0ID0gdXBkYXRlRW5jcnlw
dGlvbktleShpdGVyYXRvci0+dmFsdWUsIGl0ZXJhdG9yLT5rZXksIFNob3VsZFVwZGF0ZUtleXM6
Ok5vKTsKKyAgICAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJl
dHVybiByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpOwogICAgIH0KIAogICAgIGlmIChmcmFtZVNp
emUgPCAoaGVhZGVyLT5zaXplICsgbV9hdXRoZW50aWNhdGlvblNpemUpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm1l
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFu
c2Zvcm1lci5oCmluZGV4IGRlMjNiZDhlYWZiMGU4ZjM4MDU5YTgwMDJjOGZmNmEwOTIyMjQxYTYu
LmM4ZDM4ZTdlYzU4M2RkNDBlNmFjYmM2ZjZjZTRkNjY0NTNiMjBlYjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRy
YW5zZm9ybWVyLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRl
IDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCkBA
IC01Miw2ICs1Myw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBWZWN0b3I8dWludDhfdD4mIGVuY3J5
cHRpb25LZXkoKSBjb25zdCB7IHJldHVybiBtX2VuY3J5cHRpb25LZXk7IH0KICAgICBjb25zdCBW
ZWN0b3I8dWludDhfdD4mIHNhbHRLZXkoKSBjb25zdCB7IHJldHVybiBtX3NhbHRLZXk7IH0KIAor
ICAgIHVpbnQ2NF90IGtleUlkKCkgY29uc3QgeyByZXR1cm4gbV9rZXlJZDsgfQogICAgIHVpbnQ2
NF90IGNvdW50ZXIoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXI7IH0KICAgICB2b2lkIHNldENv
dW50ZXIodWludDY0X3QgY291bnRlcikgeyBtX2NvdW50ZXIgPSBjb3VudGVyOyB9CiAKQEAgLTYx
LDYgKzYzLDkgQEAgcHJpdmF0ZToKICAgICBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IGRl
Y3J5cHRGcmFtZShjb25zdCB1aW50OF90Kiwgc2l6ZV90KTsKICAgICBFeGNlcHRpb25PcjxWZWN0
b3I8dWludDhfdD4+IGVuY3J5cHRGcmFtZShjb25zdCB1aW50OF90Kiwgc2l6ZV90KTsKIAorICAg
IGVudW0gY2xhc3MgU2hvdWxkVXBkYXRlS2V5cyB7IE5vLCBZZXMgfTsKKyAgICBFeGNlcHRpb25P
cjx2b2lkPiB1cGRhdGVFbmNyeXB0aW9uS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgcmF3S2V5
LCBPcHRpb25hbDx1aW50NjRfdD4sIFNob3VsZFVwZGF0ZUtleXMgPSBTaG91bGRVcGRhdGVLZXlz
OjpZZXMpOworCiAgICAgRXhjZXB0aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+PiBjb21wdXRlU2FsdEtl
eShjb25zdCBWZWN0b3I8dWludDhfdD4mKTsKICAgICBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhf
dD4+IGNvbXB1dGVBdXRoZW50aWNhdGlvbktleShjb25zdCBWZWN0b3I8dWludDhfdD4mKTsKICAg
ICBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IGNvbXB1dGVFbmNyeXB0aW9uS2V5KGNvbnN0
IFZlY3Rvcjx1aW50OF90PiYpOwpAQCAtNzUsNiArODAsNyBAQCBwcml2YXRlOgogICAgIFZlY3Rv
cjx1aW50OF90PiBtX2F1dGhlbnRpY2F0aW9uS2V5OwogICAgIFZlY3Rvcjx1aW50OF90PiBtX2Vu
Y3J5cHRpb25LZXk7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG1fc2FsdEtleTsKKyAgICBIYXNoTWFw
PHVpbnQ2NF90LCBWZWN0b3I8dWludDhfdD4+IG1fa2V5czsKIAogICAgIGJvb2wgbV9pc0VuY3J5
cHRpbmcgeyBmYWxzZSB9OwogICAgIHVpbnQ2NF90IG1fYXV0aGVudGljYXRpb25TaXplIHsgMTAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA2NjRhY2QxMTllNjEyMzUw
MjQzZjc3MjhmNjQzYTUwNjZlZWMyOTdhLi43YmE2OGQ0ZDAyYzRjZWIwNmRlNDg5YTAwNDNkN2Qz
ODA1ZjA5NWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0xNTgxLDYg
KzE1ODEsMTEgQEAgdWludDY0X3QgSW50ZXJuYWxzOjpzZnJhbWVDb3VudGVyKGNvbnN0IFJUQ1J0
cFNGcmFtZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQogICAgIHJldHVybiB0cmFuc2Zvcm0uY291bnRl
ckZvclRlc3RpbmcoKTsKIH0KIAordWludDY0X3QgSW50ZXJuYWxzOjpzZnJhbWVLZXlJZChjb25z
dCBSVENSdHBTRnJhbWVUcmFuc2Zvcm0mIHRyYW5zZm9ybSkKK3sKKyAgICByZXR1cm4gdHJhbnNm
b3JtLmtleUlkRm9yVGVzdGluZygpOworfQorCiB2b2lkIEludGVybmFsczo6c2V0RW5hYmxlV2Vi
UlRDRW5jcnlwdGlvbihib29sIHZhbHVlKQogewogI2lmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA0MWVhYjRjNTgzMGY1MTNmMjRkM2U1YjcxN2M2NTA1
NzVhMGI2YWFhLi5jNWI2ZTJkYjEzYzBlY2ZkYjZhODMzMDhlYmYyNmQwZTIyMTM3NTIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTYxMCw2ICs2MTAsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRXZWJSVENWUDlTdXBwb3J0KGJvb2wgc3VwcG9ydFZQOVByb2ZpbGUwLCBib29s
IHN1cHBvcnRWUDlQcm9maWxlMik7CiAgICAgdm9pZCBzZXRXZWJSVENWUDlWVEJTdXBwb3J0KGJv
b2wpOwogICAgIHVpbnQ2NF90IHNmcmFtZUNvdW50ZXIoY29uc3QgUlRDUnRwU0ZyYW1lVHJhbnNm
b3JtJik7CisgICAgdWludDY0X3Qgc2ZyYW1lS2V5SWQoY29uc3QgUlRDUnRwU0ZyYW1lVHJhbnNm
b3JtJik7CiAgICAgdm9pZCBzZXRFbmFibGVXZWJSVENFbmNyeXB0aW9uKGJvb2wpOwogICAgIHZv
aWQgc2V0VXNlRFRMUzEwKGJvb2wpOwogICAgIHZvaWQgc2V0VXNlR1BVUHJvY2Vzc0ZvcldlYlJU
Qyhib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA2ZjkyMWFmZGFl
NDMwNWVhZmU5ZmE1ZTI1OTMzYzlkNTkyMjZiMTUxLi5mNmM5YzY3ODMyMTI3Mjc2NDZhZmU0ODgw
NmFkMTA3ZDczNTdlZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC04
MDMsNiArODAzLDcgQEAgZW51bSBUcmVlVHlwZSB7CiAgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENd
IHVuZGVmaW5lZCBzZXRXZWJSVENWUDlTdXBwb3J0KGJvb2xlYW4gc3VwcG9ydFZQOVByb2ZpbGUw
LCBib29sZWFuIHN1cHBvcnRWUDlQcm9maWxlMik7CiAgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENd
IHVuZGVmaW5lZCBzZXRXZWJSVENWUDlWVEJTdXBwb3J0KGJvb2xlYW4gYWxsb3dlZCk7CiAgICAg
W0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuc2lnbmVkIGxvbmcgbG9uZyBzZnJhbWVDb3VudGVyKFJU
Q1J0cFNGcmFtZVRyYW5zZm9ybSB0cmFuc2Zvcm0pOworICAgIFtDb25kaXRpb25hbD1XRUJfUlRD
XSB1bnNpZ25lZCBsb25nIGxvbmcgc2ZyYW1lS2V5SWQoUlRDUnRwU0ZyYW1lVHJhbnNmb3JtIHRy
YW5zZm9ybSk7CiAKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRlZmluZWQgc2V0
TW9ja0F1ZGlvVHJhY2tDaGFubmVsTnVtYmVyKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIHVuc2ln
bmVkIHNob3J0IGNvdW50KTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB1bmRlZmlu
ZWQgc2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlKGJvb2xlYW4g
c2hvdWxkSW50ZXJydXB0KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxN2ZjZThlYjAyMTU1MDAzMjA2YWE1ZTkzMTAzOGU0
YTA5Zjc5NmI0Li43OGE0NWU1NDYwYjE5YzBmYjlkZDE4OGU5MmFjZWNhNTU5YmIzNWRmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMTItMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIEFsbG93IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybSB0byBoYW5kbGUg
bXVsdGlwbGUga2V5cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5NTk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3ZWJydGMvc2ZyYW1lLWtleXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWJydGMvc2ZyYW1lLWtleXMuaHRtbDogQWRkZWQuCisKIDIwMjAtMTItMDcgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIFNGcmFtZSBIMjY0IGV4
cGVyaW1lbnRhbCBjb21wYXRpYmlsaXR5IG1vZGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YnJ0Yy9zZnJhbWUta2V5cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJydGMvc2ZyYW1l
LWtleXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkYzVhZTNiMTEyOTllZTljZDk1Y2MxOTZj
MGEzMGY3Y2YyYTIzODEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvc2Zy
YW1lLWtleXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCisKK1BBU1MgQXVkaW8gZXhj
aGFuZ2Ugd2l0aCBTRnJhbWUgc2V0dXAKK1BBU1MgQWRkIGEgbmV3IGVuY3J5cHRpb24ga2V5CitQ
QVNTIEFkZCBhIG5ldyBlbmNyeXB0aW9uIGtleSB3aXRoIGtleSBpZAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJydGMvc2ZyYW1lLWtleXMuaHRtbCBiL0xheW91dFRlc3RzL3dlYnJ0Yy9z
ZnJhbWUta2V5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzNGIzYTFkNzI0NDg0OGRiYTkzMGQ3ZWNhZjVi
NTA0OGQ5NWFjNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvc2ZyYW1l
LWtleXMuaHRtbApAQCAtMCwwICsxLDgzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDx2aWRlbyBpZD0iYXVkaW8iIGF1dG9wbGF5
IHBsYXlzSW5saW5lPjwvdmlkZW8+CisgICAgICAgIDxzY3JpcHQgc3JjID0icm91dGluZXMuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorbGV0IHNlbmRlciwgcmVjZWl2ZXI7CitsZXQg
a2V5MSwga2V5Miwga2V5MzsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAg
a2V5MSA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCBuZXcgVWludDhBcnJh
eShbMTQzLCA3NywgNDMsIDEwLCA3MiwgMTksIDM3LCA2NywgMjM2LCAyMTksIDI0LCA5MywgMjYs
IDE2NSwgOTEsIDE3OF0pLCAiSEtERiIsIGZhbHNlLCBbImRlcml2ZUJpdHMiLCAiZGVyaXZlS2V5
Il0pOworICAgIGtleTIgPSBhd2FpdCBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgbmV3
IFVpbnQ4QXJyYXkoWzE0NCwgNzcsIDQzLCAxMCwgNzIsIDE5LCAzNywgNjcsIDIzNiwgMjE5LCAy
NCwgOTMsIDI2LCAxNjUsIDkxLCAxNzhdKSwgIkhLREYiLCBmYWxzZSwgWyJkZXJpdmVCaXRzIiwg
ImRlcml2ZUtleSJdKTsKKyAgICBrZXkzID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXko
InJhdyIsIG5ldyBVaW50OEFycmF5KFsxNDUsIDc3LCA0MywgMTAsIDcyLCAxOSwgMzcsIDY3LCAy
MzYsIDIxOSwgMjQsIDkzLCAyNiwgMTY1LCA5MSwgMTc4XSksICJIS0RGIiwgZmFsc2UsIFsiZGVy
aXZlQml0cyIsICJkZXJpdmVLZXkiXSk7CisKKyAgICBjb25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0
IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzogdHJ1ZX0pOworICAg
IGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsK
KyAgICAgICAgY3JlYXRlQ29ubmVjdGlvbnMoKGZpcnN0Q29ubmVjdGlvbikgPT4geworICAgICAg
ICAgICAgc2VuZGVyID0gZmlyc3RDb25uZWN0aW9uLmFkZFRyYWNrKGxvY2FsU3RyZWFtLmdldEF1
ZGlvVHJhY2tzKClbMF0sIGxvY2FsU3RyZWFtKTsKKyAgICAgICAgICAgIGxldCB0cmFuc2Zvcm0g
PSBuZXcgUlRDUnRwU0ZyYW1lVHJhbnNmb3JtOworICAgICAgICAgICAgdHJhbnNmb3JtLnNldEVu
Y3J5cHRpb25LZXkoa2V5MSk7CisgICAgICAgICAgICBzZW5kZXIudHJhbnNmb3JtID0gdHJhbnNm
b3JtOworICAgICAgICB9LCAoc2Vjb25kQ29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgc2Vj
b25kQ29ubmVjdGlvbi5vbnRyYWNrID0gKHRyYWNrRXZlbnQpID0+IHsKKyAgICAgICAgICAgICAg
ICBsZXQgdHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybTsKKyAgICAgICAgICAg
ICAgICB0cmFuc2Zvcm0uc2V0RW5jcnlwdGlvbktleShrZXkxKTsKKyAgICAgICAgICAgICAgICB0
cmFuc2Zvcm0uc2V0RW5jcnlwdGlvbktleShrZXkyKTsKKyAgICAgICAgICAgICAgICB0cmFuc2Zv
cm0uc2V0RW5jcnlwdGlvbktleShrZXkzLCAxMDAwKTsKKyAgICAgICAgICAgICAgICByZWNlaXZl
ciA9IHRyYWNrRXZlbnQucmVjZWl2ZXI7CisgICAgICAgICAgICAgICAgcmVjZWl2ZXIudHJhbnNm
b3JtID0gdHJhbnNmb3JtOworICAgICAgICAgICAgICAgIHJlc29sdmUodHJhY2tFdmVudC5zdHJl
YW1zWzBdKTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH0pOworICAgICAgICBzZXRUaW1lb3V0
KCgpID0+IHJlamVjdCgiVGVzdCB0aW1lZCBvdXQiKSwgNTAwMCk7CisgICAgfSk7CisKKyAgICBh
dWRpby5zcmNPYmplY3QgPSBzdHJlYW07CisgICAgYXdhaXQgYXVkaW8ucGxheSgpOworfSwgIkF1
ZGlvIGV4Y2hhbmdlIHdpdGggU0ZyYW1lIHNldHVwIik7CisKK2FzeW5jIGZ1bmN0aW9uIHdhaXRG
b3JDb3VudGVySW5jcmVhc2UocmVjZWl2ZXIpCit7CisgICAgY29uc3QgcmVjZWl2ZXJDb3VudGVy
ID0gaW50ZXJuYWxzLnNmcmFtZUNvdW50ZXIocmVjZWl2ZXIudHJhbnNmb3JtKTsKKyAgICBsZXQg
Y291bnRlciA9IDA7CisgICAgd2hpbGUgKHJlY2VpdmVyQ291bnRlciA9PT0gaW50ZXJuYWxzLnNm
cmFtZUNvdW50ZXIocmVjZWl2ZXIudHJhbnNmb3JtKSAmJiArK2NvdW50ZXIgPCAxMDApCisgICAg
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCA1MCkp
OworICAgIHJldHVybiByZWNlaXZlckNvdW50ZXIgIT09IGludGVybmFscy5zZnJhbWVDb3VudGVy
KHJlY2VpdmVyLnRyYW5zZm9ybSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHdhaXRGb3JSZWNlaXZl
cktleUlkKHJlY2VpdmVyLCBrZXlJZCkKK3sKKyAgICBsZXQgY291bnRlciA9IDA7CisgICAgd2hp
bGUgKGtleUlkICE9PSBpbnRlcm5hbHMuc2ZyYW1lS2V5SWQocmVjZWl2ZXIudHJhbnNmb3JtKSAm
JiArK2NvdW50ZXIgPCAxMDApCisgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
c2V0VGltZW91dChyZXNvbHZlLCA1MCkpOworICAgIHJldHVybiBrZXlJZCA9PT0gaW50ZXJuYWxz
LnNmcmFtZUtleUlkKHJlY2VpdmVyLnRyYW5zZm9ybSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3lu
YyAodGVzdCkgPT4geworICAgc2VuZGVyLnRyYW5zZm9ybS5zZXRFbmNyeXB0aW9uS2V5KGtleTIp
OworCisgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgcmV0dXJuOworCisgICBhc3Nl
cnRfdHJ1ZShhd2FpdCB3YWl0Rm9yUmVjZWl2ZXJLZXlJZChyZWNlaXZlciwgMSksICJrZXkgaWQg
MSIpOworICAgYXNzZXJ0X3RydWUoYXdhaXQgd2FpdEZvckNvdW50ZXJJbmNyZWFzZShyZWNlaXZl
ciksICJjb3VudGVyIGluY3JlYXNlIDEiKTsKK30sICJBZGQgYSBuZXcgZW5jcnlwdGlvbiBrZXki
KTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICBzZW5kZXIudHJhbnNmb3Jt
LnNldEVuY3J5cHRpb25LZXkoa2V5MywgMTAwMCk7CisKKyAgIGlmICghd2luZG93LmludGVybmFs
cykKKyAgICAgICByZXR1cm47CisKKyAgIGFzc2VydF90cnVlKGF3YWl0IHdhaXRGb3JSZWNlaXZl
cktleUlkKHJlY2VpdmVyLCAxMDAwKSwgImtleSBpZCAyIik7CisgICBhc3NlcnRfdHJ1ZShhd2Fp
dCB3YWl0Rm9yQ291bnRlckluY3JlYXNlKHJlY2VpdmVyKSwgImNvdW50ZXIgaW5jcmVhc2UgMiIp
OworfSwgIkFkZCBhIG5ldyBlbmNyeXB0aW9uIGtleSB3aXRoIGtleSBpZCIpOworICAgICAgICA8
L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415619</attachid>
            <date>2020-12-08 01:32:47 -0800</date>
            <delta_ts>2020-12-08 02:37:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219598-20201208103245.patch</filename>
            <type>text/plain</type>
            <size>14522</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc1YjM0ZTVlYTA0NDJj
NTIwNWUxZmZlZTU1NDk5ZmYxOTAxNjEwMC4uMTA2ZjkzNWFlZTFkNTUyZjc2MWY3ODQ1YzJjM2Ew
ZDRhYzQwZGVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTEyLTA4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBSVENSdHBTRnJh
bWVUcmFuc2Zvcm0gdG8gaGFuZGxlIG11bHRpcGxlIGtleXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTU5OAorCisgICAgICAgIFJldmlld2VkIGJ5
IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBLZWVwIGEgbWFwIG9mIElEIHRvIEtleSBtYXRlcmlh
bCB3aGVuIHNldEVuY3J5cHRpb25LZXkgaXMgY2FsbGVkLgorICAgICAgICBVc2UgdGhhdCBtYXAg
b24gZGVjcnlwdGlvbiBzaWRlIHRvIGdldCBrZXkgbWF0ZXJpYWwgZnJvbSBrZXkgSUQuCisgICAg
ICAgIEFkZCBpbnRlcm5hbHMgQVBJIHRvIHZhbGlkYXRlIGtleSByZXRyaWV2YWwgaXMgZG9uZSBj
b3JyZWN0bHkuCisgICAgICAgIElmIHNldEVuY3J5cHRpb25LZXkga2V5IElEIGlzIG5vdCBzZXQs
IHdlIHVzZSB0aGUgbWFwIHNpemUgd2hpY2ggYWxsb3dzIHRvIHVzZSAwLCAxLCAyIGFuZCBzbyBv
bi4uLgorCisgICAgICAgIFRlc3Q6IHdlYnJ0Yy9zZnJhbWUta2V5cy5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSVENSdHBTRnJhbWVUcmFuc2Zvcm06OmtleUlkRm9yVGVzdGluZyBjb25zdCk6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm0uaDoK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyOjpzZXRFbmNyeXB0
aW9uS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyOjp1cGRh
dGVFbmNyeXB0aW9uS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNGcmFtZVRyYW5zZm9y
bWVyOjpkZWNyeXB0RnJhbWUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U0ZyYW1lVHJhbnNmb3JtZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNGcmFtZVRyYW5z
Zm9ybWVyOjprZXlJZCBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZnJhbWVLZXlJZCk6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIw
MjAtMTItMDcgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCBzb3J0LVhjb2RlLXByb2plY3QtZmlsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zv
cm0uY3BwCmluZGV4IDE1OTg1MThlZTNiZTMyZjY2ZmQ5NmU1NDBmZjgwNDg0NmJkZTE2MGYuLmY1
ZDg0MWU1M2M2ZTljYjg1YTI2MDJlMjM4YWU4NzAyZmE0NzJkZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5z
Zm9ybS5jcHAKQEAgLTgwLDYgKzgwLDExIEBAIHVpbnQ2NF90IFJUQ1J0cFNGcmFtZVRyYW5zZm9y
bTo6Y291bnRlckZvclRlc3RpbmcoKSBjb25zdAogICAgIHJldHVybiBtX3RyYW5zZm9ybWVyLT5j
b3VudGVyKCk7CiB9CiAKK3VpbnQ2NF90IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybTo6a2V5SWRGb3JU
ZXN0aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90cmFuc2Zvcm1lci0+a2V5SWQoKTsKK30K
KwogYm9vbCBSVENSdHBTRnJhbWVUcmFuc2Zvcm06OmlzQXR0YWNoZWQoKSBjb25zdAogewogICAg
IHJldHVybiBtX2lzQXR0YWNoZWQgfHwgKG1fcmVhZGFibGUgJiYgbV9yZWFkYWJsZS0+aXNMb2Nr
ZWQoKSkgfHwgKG1fd3JpdGFibGUgJiYgbV93cml0YWJsZS0+aXNMb2NrZWQoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5z
Zm9ybS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVU
cmFuc2Zvcm0uaAppbmRleCA1ZGYzODYyZmU4NzdiYjU4OTQyYjE4OTM4NDlkNDZmOGYwMmZkZGZi
Li40ZmVlNjI3OWY2MjM5ZDE1NDZlYjY0YjY2MjJlMDM4MjhmZjU4YWU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJh
bnNmb3JtLmgKQEAgLTYwLDYgKzYwLDcgQEAgcHVibGljOgogICAgIHZvaWQgd2lsbENsZWFyQmFj
a2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB1aW50
NjRfdCBjb3VudGVyRm9yVGVzdGluZygpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHVpbnQ2
NF90IGtleUlkRm9yVGVzdGluZygpIGNvbnN0OwogCiAgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFJl
YWRhYmxlU3RyZWFtPj4gcmVhZGFibGUoKTsKICAgICBFeGNlcHRpb25PcjxSZWZQdHI8V3JpdGFi
bGVTdHJlYW0+PiB3cml0YWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmNwcAppbmRleCBl
ODUxZDU4MDBiZDI4OGY5NTdhYzA0MzU4OWQ4OWRkYjQ4MjA2M2FjLi5iNzY5M2EwMWIzMGZhMzU1
ZTFlYWQwM2ZlMWJiNDgxNDgwYmRjNDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmNwcApA
QCAtMTQ5LDYgKzE0OSwxOSBAQCBSVENSdHBTRnJhbWVUcmFuc2Zvcm1lcjo6flJUQ1J0cFNGcmFt
ZVRyYW5zZm9ybWVyKCkKIAogRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwU0ZyYW1lVHJhbnNmb3Jt
ZXI6OnNldEVuY3J5cHRpb25LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiByYXdLZXksIE9wdGlv
bmFsPHVpbnQ2NF90PiBrZXlJZCkKIHsKKyAgICBpZiAoa2V5SWQgJiYgKmtleUlkID09IHN0ZDo6
bnVtZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IFR5cGVFcnJvciwgIktleSBJRCBpcyB0b28gYmlnIiB9OworCisgICAgYXV0byBsb2NrZXIg
PSBob2xkTG9jayhtX2tleUxvY2spOworICAgIHJldHVybiB1cGRhdGVFbmNyeXB0aW9uS2V5KHJh
d0tleSwga2V5SWQsIFNob3VsZFVwZGF0ZUtleXM6Olllcyk7Cit9CisKK0V4Y2VwdGlvbk9yPHZv
aWQ+IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyOjp1cGRhdGVFbmNyeXB0aW9uS2V5KGNvbnN0IFZl
Y3Rvcjx1aW50OF90PiYgcmF3S2V5LCBPcHRpb25hbDx1aW50NjRfdD4ga2V5SWQsIFNob3VsZFVw
ZGF0ZUtleXMgc2hvdWxkVXBkYXRlS2V5cykKK3sKKyAgICBBU1NFUlQoIWtleUlkIHx8ICprZXlJ
ZCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ2NF90Pjo6bWF4KCkpOworCisgICAgQVNTRVJU
KG1fa2V5TG9jay5pc0xvY2tlZCgpKTsKKwogICAgIGF1dG8gc2FsdEtleVJlc3VsdCA9IGNvbXB1
dGVTYWx0S2V5KHJhd0tleSk7CiAgICAgaWYgKHNhbHRLZXlSZXN1bHQuaGFzRXhjZXB0aW9uKCkp
CiAgICAgICAgIHJldHVybiBzYWx0S2V5UmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKQEAgLTE2
MywxNSArMTc2LDE3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybWVy
OjpzZXRFbmNyeXB0aW9uS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90CiAgICAgaWYgKGVuY3J5cHRp
b25LZXlSZXN1bHQuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBlbmNyeXB0aW9uS2V5
UmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKIAotICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2so
bV9rZXlMb2NrKTsKKyAgICBpZiAoIWtleUlkKQorICAgICAgICBrZXlJZCA9IG1fa2V5cy5zaXpl
KCk7CisKKyAgICBtX2tleUlkID0gKmtleUlkOworICAgIGlmIChzaG91bGRVcGRhdGVLZXlzID09
IFNob3VsZFVwZGF0ZUtleXM6OlllcykKKyAgICAgICAgbV9rZXlzLnNldCgqa2V5SWQgKyAxLCBy
YXdLZXkpOwogCiAgICAgbV9zYWx0S2V5ID0gc2FsdEtleVJlc3VsdC5yZWxlYXNlUmV0dXJuVmFs
dWUoKTsKICAgICBtX2F1dGhlbnRpY2F0aW9uS2V5ID0gYXV0aGVudGljYXRpb25LZXlSZXN1bHQu
cmVsZWFzZVJldHVyblZhbHVlKCk7CiAgICAgbV9lbmNyeXB0aW9uS2V5ID0gZW5jcnlwdGlvbktl
eVJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKIAotICAgIGlmIChrZXlJZCkKLSAgICAgICAg
bV9rZXlJZCA9ICprZXlJZDsKLQogICAgIHVwZGF0ZUF1dGhlbnRpY2F0aW9uU2l6ZSgpOwogICAg
IG1faGFzS2V5ID0gdHJ1ZTsKIApAQCAtMjA0LDggKzIxOSwxNSBAQCBFeGNlcHRpb25PcjxWZWN0
b3I8dWludDhfdD4+IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyOjpkZWNyeXB0RnJhbWUoY29uc3Qg
dWludDhfdAogICAgIG1fY291bnRlciA9IGhlYWRlci0+Y291bnRlcjsKIAogICAgIGlmIChoZWFk
ZXItPmtleUlkICE9IG1fa2V5SWQpIHsKLSAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBzZWFy
Y2ggZm9yIGtleXMuCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJv
ciB9OworICAgICAgICBpZiAoaGVhZGVyLT5rZXlJZCA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVp
bnQ2NF90Pjo6bWF4KCkpCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgRGF0YUVycm9y
LCAiS2V5IElEIGlzIHVua25vd24iIH07CisKKyAgICAgICAgYXV0byBpdGVyYXRvciA9IG1fa2V5
cy5maW5kKGhlYWRlci0+a2V5SWQgKyAxKTsKKyAgICAgICAgaWYgKGl0ZXJhdG9yID09IG1fa2V5
cy5lbmQoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBEYXRhRXJyb3IsICJLZXkg
SUQgaXMgdW5rbm93biIgfTsKKyAgICAgICAgYXV0byByZXN1bHQgPSB1cGRhdGVFbmNyeXB0aW9u
S2V5KGl0ZXJhdG9yLT52YWx1ZSwgaGVhZGVyLT5rZXlJZCwgU2hvdWxkVXBkYXRlS2V5czo6Tm8p
OworICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgfQogCiAgICAgaWYgKGZyYW1lU2l6ZSA8
IChoZWFkZXItPnNpemUgKyBtX2F1dGhlbnRpY2F0aW9uU2l6ZSkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9y
bWVyLmgKaW5kZXggZGUyM2JkOGVhZmIwZThmMzgwNTlhODAwMmM4ZmY2YTA5MjIyNDFhNi4uYzhk
MzhlN2VjNTgzZGQ0MGU2YWNiYzZmNmNlNGQ2NjQ1M2IyMGViOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm1lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNm
b3JtZXIuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShXRUJfUlRDKQogCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKQEAgLTUy
LDYgKzUzLDcgQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgZW5jcnlwdGlv
bktleSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jcnlwdGlvbktleTsgfQogICAgIGNvbnN0IFZlY3Rv
cjx1aW50OF90PiYgc2FsdEtleSgpIGNvbnN0IHsgcmV0dXJuIG1fc2FsdEtleTsgfQogCisgICAg
dWludDY0X3Qga2V5SWQoKSBjb25zdCB7IHJldHVybiBtX2tleUlkOyB9CiAgICAgdWludDY0X3Qg
Y291bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fY291bnRlcjsgfQogICAgIHZvaWQgc2V0Q291bnRl
cih1aW50NjRfdCBjb3VudGVyKSB7IG1fY291bnRlciA9IGNvdW50ZXI7IH0KIApAQCAtNjEsNiAr
NjMsOSBAQCBwcml2YXRlOgogICAgIEV4Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90Pj4gZGVjcnlw
dEZyYW1lKGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QpOwogICAgIEV4Y2VwdGlvbk9yPFZlY3Rvcjx1
aW50OF90Pj4gZW5jcnlwdEZyYW1lKGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QpOwogCisgICAgZW51
bSBjbGFzcyBTaG91bGRVcGRhdGVLZXlzIHsgTm8sIFllcyB9OworICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHVwZGF0ZUVuY3J5cHRpb25LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiByYXdLZXksIE9w
dGlvbmFsPHVpbnQ2NF90PiwgU2hvdWxkVXBkYXRlS2V5cyA9IFNob3VsZFVwZGF0ZUtleXM6Olll
cyk7CisKICAgICBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IGNvbXB1dGVTYWx0S2V5KGNv
bnN0IFZlY3Rvcjx1aW50OF90PiYpOwogICAgIEV4Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90Pj4g
Y29tcHV0ZUF1dGhlbnRpY2F0aW9uS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYpOwogICAgIEV4
Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90Pj4gY29tcHV0ZUVuY3J5cHRpb25LZXkoY29uc3QgVmVj
dG9yPHVpbnQ4X3Q+Jik7CkBAIC03NSw2ICs4MCw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPHVp
bnQ4X3Q+IG1fYXV0aGVudGljYXRpb25LZXk7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG1fZW5jcnlw
dGlvbktleTsKICAgICBWZWN0b3I8dWludDhfdD4gbV9zYWx0S2V5OworICAgIEhhc2hNYXA8dWlu
dDY0X3QsIFZlY3Rvcjx1aW50OF90Pj4gbV9rZXlzOwogCiAgICAgYm9vbCBtX2lzRW5jcnlwdGlu
ZyB7IGZhbHNlIH07CiAgICAgdWludDY0X3QgbV9hdXRoZW50aWNhdGlvblNpemUgeyAxMCB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDY2NGFjZDExOWU2MTIzNTAyNDNm
NzcyOGY2NDNhNTA2NmVlYzI5N2EuLjdiYTY4ZDRkMDJjNGNlYjA2ZGU0ODlhMDA0M2Q3ZDM4MDVm
MDk1ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTE1ODEsNiArMTU4
MSwxMSBAQCB1aW50NjRfdCBJbnRlcm5hbHM6OnNmcmFtZUNvdW50ZXIoY29uc3QgUlRDUnRwU0Zy
YW1lVHJhbnNmb3JtJiB0cmFuc2Zvcm0pCiAgICAgcmV0dXJuIHRyYW5zZm9ybS5jb3VudGVyRm9y
VGVzdGluZygpOwogfQogCit1aW50NjRfdCBJbnRlcm5hbHM6OnNmcmFtZUtleUlkKGNvbnN0IFJU
Q1J0cFNGcmFtZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQoreworICAgIHJldHVybiB0cmFuc2Zvcm0u
a2V5SWRGb3JUZXN0aW5nKCk7Cit9CisKIHZvaWQgSW50ZXJuYWxzOjpzZXRFbmFibGVXZWJSVENF
bmNyeXB0aW9uKGJvb2wgdmFsdWUpCiB7CiAjaWYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCmluZGV4IDQxZWFiNGM1ODMwZjUxM2YyNGQzZTViNzE3YzY1MDU3NWEw
YjZhYWEuLmM1YjZlMmRiMTNjMGVjZmRiNmE4MzMwOGViZjI2ZDBlMjIxMzc1MjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNjEwLDYgKzYxMCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFdlYlJUQ1ZQOVN1cHBvcnQoYm9vbCBzdXBwb3J0VlA5UHJvZmlsZTAsIGJvb2wgc3Vw
cG9ydFZQOVByb2ZpbGUyKTsKICAgICB2b2lkIHNldFdlYlJUQ1ZQOVZUQlN1cHBvcnQoYm9vbCk7
CiAgICAgdWludDY0X3Qgc2ZyYW1lQ291bnRlcihjb25zdCBSVENSdHBTRnJhbWVUcmFuc2Zvcm0m
KTsKKyAgICB1aW50NjRfdCBzZnJhbWVLZXlJZChjb25zdCBSVENSdHBTRnJhbWVUcmFuc2Zvcm0m
KTsKICAgICB2b2lkIHNldEVuYWJsZVdlYlJUQ0VuY3J5cHRpb24oYm9vbCk7CiAgICAgdm9pZCBz
ZXRVc2VEVExTMTAoYm9vbCk7CiAgICAgdm9pZCBzZXRVc2VHUFVQcm9jZXNzRm9yV2ViUlRDKGJv
b2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDZmOTIxYWZkYWU0MzA1
ZWFmZTlmYTVlMjU5MzNjOWQ1OTIyNmIxNTEuLmY2YzljNjc4MzIxMjcyNzY0NmFmZTQ4ODA2YWQx
MDdkNzM1N2VmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTgwMyw2
ICs4MDMsNyBAQCBlbnVtIFRyZWVUeXBlIHsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5k
ZWZpbmVkIHNldFdlYlJUQ1ZQOVN1cHBvcnQoYm9vbGVhbiBzdXBwb3J0VlA5UHJvZmlsZTAsIGJv
b2xlYW4gc3VwcG9ydFZQOVByb2ZpbGUyKTsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5k
ZWZpbmVkIHNldFdlYlJUQ1ZQOVZUQlN1cHBvcnQoYm9vbGVhbiBhbGxvd2VkKTsKICAgICBbQ29u
ZGl0aW9uYWw9V0VCX1JUQ10gdW5zaWduZWQgbG9uZyBsb25nIHNmcmFtZUNvdW50ZXIoUlRDUnRw
U0ZyYW1lVHJhbnNmb3JtIHRyYW5zZm9ybSk7CisgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVu
c2lnbmVkIGxvbmcgbG9uZyBzZnJhbWVLZXlJZChSVENSdHBTRnJhbWVUcmFuc2Zvcm0gdHJhbnNm
b3JtKTsKIAogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBzZXRNb2Nr
QXVkaW9UcmFja0NoYW5uZWxOdW1iZXIoTWVkaWFTdHJlYW1UcmFjayB0cmFjaywgdW5zaWduZWQg
c2hvcnQgY291bnQpOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBz
ZXRTaG91bGRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2UoYm9vbGVhbiBzaG91
bGRJbnRlcnJ1cHQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdmYTNiZDIzZjc3NTg5ODA5NjVlZDZkYTdhNGYyNWVkNzk0
MmI1NmYuLjAyODE2OWE5YmI0ODcwOWY2YTNlMDY5ZWNjNDc1MjIzMWJmNDA3NDEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAyMC0xMi0wOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgQWxsb3cgUlRDUnRwU0ZyYW1lVHJhbnNmb3JtIHRvIGhhbmRsZSBtdWx0
aXBsZSBrZXlzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTk1OTgKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAg
KiB3ZWJydGMvc2ZyYW1lLWtleXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJy
dGMvc2ZyYW1lLWtleXMuaHRtbDogQWRkZWQuCisKIDIwMjAtMTItMDcgIFRydWl0dCBTYXZlbGwg
IDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjY5MzU5KTogWyBN
YWMgXSBodHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vZGlzY29ubmVjdC1kb20tdHJlZS1hZnRlci1t
YWluLWZyYW1lLW5hdmlnYXRpb24uaHRtbCBpcyBmbGFreSBmYWlsaW5nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJydGMvc2ZyYW1lLWtleXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2VicnRjL3NmcmFtZS1rZXlzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZGM1YWUzYjExMjk5
ZWU5Y2Q5NWNjMTk2YzBhMzBmN2NmMmEyMzgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2VicnRjL3NmcmFtZS1rZXlzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworCitQ
QVNTIEF1ZGlvIGV4Y2hhbmdlIHdpdGggU0ZyYW1lIHNldHVwCitQQVNTIEFkZCBhIG5ldyBlbmNy
eXB0aW9uIGtleQorUEFTUyBBZGQgYSBuZXcgZW5jcnlwdGlvbiBrZXkgd2l0aCBrZXkgaWQKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL3NmcmFtZS1rZXlzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJydGMvc2ZyYW1lLWtleXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzRiM2ExZDcyNDQ4NDhk
YmE5MzBkN2VjYWY1YjUwNDhkOTVhYzYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2VicnRjL3NmcmFtZS1rZXlzLmh0bWwKQEAgLTAsMCArMSw4MyBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8dmlkZW8gaWQ9ImF1
ZGlvIiBhdXRvcGxheSBwbGF5c0lubGluZT48L3ZpZGVvPgorICAgICAgICA8c2NyaXB0IHNyYyA9
InJvdXRpbmVzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KK2xldCBzZW5kZXIsIHJl
Y2VpdmVyOworbGV0IGtleTEsIGtleTIsIGtleTM7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVz
dCkgPT4geworICAgIGtleTEgPSBhd2FpdCBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3Iiwg
bmV3IFVpbnQ4QXJyYXkoWzE0MywgNzcsIDQzLCAxMCwgNzIsIDE5LCAzNywgNjcsIDIzNiwgMjE5
LCAyNCwgOTMsIDI2LCAxNjUsIDkxLCAxNzhdKSwgIkhLREYiLCBmYWxzZSwgWyJkZXJpdmVCaXRz
IiwgImRlcml2ZUtleSJdKTsKKyAgICBrZXkyID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5pbXBvcnRL
ZXkoInJhdyIsIG5ldyBVaW50OEFycmF5KFsxNDQsIDc3LCA0MywgMTAsIDcyLCAxOSwgMzcsIDY3
LCAyMzYsIDIxOSwgMjQsIDkzLCAyNiwgMTY1LCA5MSwgMTc4XSksICJIS0RGIiwgZmFsc2UsIFsi
ZGVyaXZlQml0cyIsICJkZXJpdmVLZXkiXSk7CisgICAga2V5MyA9IGF3YWl0IGNyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJyYXciLCBuZXcgVWludDhBcnJheShbMTQ1LCA3NywgNDMsIDEwLCA3Miwg
MTksIDM3LCA2NywgMjM2LCAyMTksIDI0LCA5MywgMjYsIDE2NSwgOTEsIDE3OF0pLCAiSEtERiIs
IGZhbHNlLCBbImRlcml2ZUJpdHMiLCAiZGVyaXZlS2V5Il0pOworCisgICAgY29uc3QgbG9jYWxT
dHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86
IHRydWV9KTsKKyAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwg
cmVqZWN0KSA9PiB7CisgICAgICAgIGNyZWF0ZUNvbm5lY3Rpb25zKChmaXJzdENvbm5lY3Rpb24p
ID0+IHsKKyAgICAgICAgICAgIHNlbmRlciA9IGZpcnN0Q29ubmVjdGlvbi5hZGRUcmFjayhsb2Nh
bFN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBdLCBsb2NhbFN0cmVhbSk7CisgICAgICAgICAgICBs
ZXQgdHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybTsKKyAgICAgICAgICAgIHRy
YW5zZm9ybS5zZXRFbmNyeXB0aW9uS2V5KGtleTEpOworICAgICAgICAgICAgc2VuZGVyLnRyYW5z
Zm9ybSA9IHRyYW5zZm9ybTsKKyAgICAgICAgfSwgKHNlY29uZENvbm5lY3Rpb24pID0+IHsKKyAg
ICAgICAgICAgIHNlY29uZENvbm5lY3Rpb24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9PiB7Cisg
ICAgICAgICAgICAgICAgbGV0IHRyYW5zZm9ybSA9IG5ldyBSVENSdHBTRnJhbWVUcmFuc2Zvcm07
CisgICAgICAgICAgICAgICAgdHJhbnNmb3JtLnNldEVuY3J5cHRpb25LZXkoa2V5MSk7CisgICAg
ICAgICAgICAgICAgdHJhbnNmb3JtLnNldEVuY3J5cHRpb25LZXkoa2V5Mik7CisgICAgICAgICAg
ICAgICAgdHJhbnNmb3JtLnNldEVuY3J5cHRpb25LZXkoa2V5MywgMTAwMCk7CisgICAgICAgICAg
ICAgICAgcmVjZWl2ZXIgPSB0cmFja0V2ZW50LnJlY2VpdmVyOworICAgICAgICAgICAgICAgIHJl
Y2VpdmVyLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKHRy
YWNrRXZlbnQuc3RyZWFtc1swXSk7CisgICAgICAgICAgICB9OworICAgICAgICB9KTsKKyAgICAg
ICAgc2V0VGltZW91dCgoKSA9PiByZWplY3QoIlRlc3QgdGltZWQgb3V0IiksIDUwMDApOworICAg
IH0pOworCisgICAgYXVkaW8uc3JjT2JqZWN0ID0gc3RyZWFtOworICAgIGF3YWl0IGF1ZGlvLnBs
YXkoKTsKK30sICJBdWRpbyBleGNoYW5nZSB3aXRoIFNGcmFtZSBzZXR1cCIpOworCithc3luYyBm
dW5jdGlvbiB3YWl0Rm9yQ291bnRlckluY3JlYXNlKHJlY2VpdmVyKQoreworICAgIGNvbnN0IHJl
Y2VpdmVyQ291bnRlciA9IGludGVybmFscy5zZnJhbWVDb3VudGVyKHJlY2VpdmVyLnRyYW5zZm9y
bSk7CisgICAgbGV0IGNvdW50ZXIgPSAwOworICAgIHdoaWxlIChyZWNlaXZlckNvdW50ZXIgPT09
IGludGVybmFscy5zZnJhbWVDb3VudGVyKHJlY2VpdmVyLnRyYW5zZm9ybSkgJiYgKytjb3VudGVy
IDwgMTAwKQorICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQo
cmVzb2x2ZSwgNTApKTsKKyAgICByZXR1cm4gcmVjZWl2ZXJDb3VudGVyICE9PSBpbnRlcm5hbHMu
c2ZyYW1lQ291bnRlcihyZWNlaXZlci50cmFuc2Zvcm0pOworfQorCithc3luYyBmdW5jdGlvbiB3
YWl0Rm9yUmVjZWl2ZXJLZXlJZChyZWNlaXZlciwga2V5SWQpCit7CisgICAgbGV0IGNvdW50ZXIg
PSAwOworICAgIHdoaWxlIChrZXlJZCAhPT0gaW50ZXJuYWxzLnNmcmFtZUtleUlkKHJlY2VpdmVy
LnRyYW5zZm9ybSkgJiYgKytjb3VudGVyIDwgMTAwKQorICAgICAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKTsKKyAgICByZXR1cm4ga2V5SWQg
PT09IGludGVybmFscy5zZnJhbWVLZXlJZChyZWNlaXZlci50cmFuc2Zvcm0pOworfQorCitwcm9t
aXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgIHNlbmRlci50cmFuc2Zvcm0uc2V0RW5jcnlw
dGlvbktleShrZXkyKTsKKworICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgIHJldHVy
bjsKKworICAgYXNzZXJ0X3RydWUoYXdhaXQgd2FpdEZvclJlY2VpdmVyS2V5SWQocmVjZWl2ZXIs
IDEpLCAia2V5IGlkIDEiKTsKKyAgIGFzc2VydF90cnVlKGF3YWl0IHdhaXRGb3JDb3VudGVySW5j
cmVhc2UocmVjZWl2ZXIpLCAiY291bnRlciBpbmNyZWFzZSAxIik7Cit9LCAiQWRkIGEgbmV3IGVu
Y3J5cHRpb24ga2V5Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgc2Vu
ZGVyLnRyYW5zZm9ybS5zZXRFbmNyeXB0aW9uS2V5KGtleTMsIDEwMDApOworCisgICBpZiAoIXdp
bmRvdy5pbnRlcm5hbHMpCisgICAgICAgcmV0dXJuOworCisgICBhc3NlcnRfdHJ1ZShhd2FpdCB3
YWl0Rm9yUmVjZWl2ZXJLZXlJZChyZWNlaXZlciwgMTAwMCksICJrZXkgaWQgMiIpOworICAgYXNz
ZXJ0X3RydWUoYXdhaXQgd2FpdEZvckNvdW50ZXJJbmNyZWFzZShyZWNlaXZlciksICJjb3VudGVy
IGluY3JlYXNlIDIiKTsKK30sICJBZGQgYSBuZXcgZW5jcnlwdGlvbiBrZXkgd2l0aCBrZXkgaWQi
KTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>