<?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>119586</bug_id>
          
          <creation_ts>2013-08-08 11:39:15 -0700</creation_ts>
          <short_desc>[EME] Implement MediaKeys.isTypeSupported()</short_desc>
          <delta_ts>2013-12-30 23:16:06 -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>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gouache95</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>915526</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-08-08 11:39:15 -0700</bug_when>
    <thetext>[EME] Implement MediaKeys.isTypeSupported()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915535</commentid>
    <comment_count>1</comment_count>
      <attachid>208357</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-08-08 11:48:53 -0700</bug_when>
    <thetext>Created attachment 208357
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915541</commentid>
    <comment_count>2</comment_count>
      <attachid>208357</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-08-08 12:02:18 -0700</bug_when>
    <thetext>Comment on attachment 208357
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=208357&amp;action=review

&gt; Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp:135
&gt; +    // 1. If keySystem contains an unrecognized or unsupported Key System, return false and abort these steps.
&gt; +    // Key system string comparison is case-sensitive.
&gt; +    if (keySystem.isNull() || keySystem.isEmpty() || !CDM::supportsKeySystem(keySystem))
&gt; +        return false;
&gt; +
&gt; +    // 2. If type is null or an empty string, return true and abort these steps.
&gt; +    if (mimeType.isNull() || mimeType.isEmpty())
&gt; +        return true;
&gt; +
&gt; +    // 3. If the Key System specified by keySystem does not support decrypting the container and/or codec
&gt; +    // specified by type, return false and abort these steps.
&gt; +    if (!CDM::supportsKeySystemAndMimeType(keySystem, mimeType))
&gt; +        return false;

Nit: it would be nice if this didn&apos;t have to ask the CDM if it supports the key system twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915552</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-08-08 12:16:53 -0700</bug_when>
    <thetext>Committed r153838: &lt;http://trac.webkit.org/changeset/153838&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915553</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-08-08 12:17:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/14688350&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915555</commentid>
    <comment_count>5</comment_count>
      <attachid>208357</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-08 12:22:32 -0700</bug_when>
    <thetext>Comment on attachment 208357
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=208357&amp;action=review

&gt; Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp:125
&gt; +    if (keySystem.isNull() || keySystem.isEmpty() || !CDM::supportsKeySystem(keySystem))

nit: The call to isNull() is redundant because it is already included in isEmpty().

&gt; Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp:129
&gt; +    if (mimeType.isNull() || mimeType.isEmpty())

Ditto</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208357</attachid>
            <date>2013-08-08 11:48:53 -0700</date>
            <delta_ts>2013-08-08 12:22:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119586-20130808114852.patch</filename>
            <type>text/plain</type>
            <size>18196</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE2NmFiYWYyMTZkYmMx
YmU1MmM0MGE5NWNiMTQ0OTJlMjlkNWJlOC4uZDQwOTQ5OGZhNTE4MGQ3YjA4MDc5ZDJhOWViMGJm
Y2E3MzliZWI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEzLTA4LTA4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtFTUVdIEltcGxlbWVudCBN
ZWRpYUtleXMuaXNUeXBlU3VwcG9ydGVkKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExOTU4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQt
bWVkaWEtaXMtdHlwZS1zdXBwb3J0ZWQuaHRtbAorCisgICAgICAgIFRoZSBFTUUgc3BlYyBoYXMg
cmVtb3ZlZCB0aGUgZXh0cmEga2V5U3lzdGVtIHBhcmFtZXRlciBmcm9tCisgICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQuY2FuUGxheVR5cGUoKSBpbiBmYXZvciBvZiBhIG5ldyBpc1R5cGVTdXBwb3J0
ZWQoKQorICAgICAgICBtZXRob2Qgb24gTWVkaWFLZXlzLgorCisgICAgICAgIFRvIGltcGxlbWVu
dCB0aGlzIG1ldGhvZCwgdGhlIENETUZhY3RvcnkgbmVlZHMgdG8ga25vdyB3aGV0aGVyIHRoZQor
ICAgICAgICByZWdpc3RlcmVkIENETSBzdXBwb3J0cyB0aGUgc3BlY2lmaWVkIG1pbWUgdHlwZS4g
IENETXMgbXVzdCByZWdpc3RlcgorICAgICAgICB0aGlzIG5ldyBmYWN0b3J5IG1ldGhvZCwgd2hp
Y2ggcmVxdWlyZXMgY2hhbmdlcyB0byBDRE1Qcml2YXRlQVZGb3VuZGF0aW9uCisgICAgICAgIGFu
ZCBNb2NrQ0RNLgorCisgICAgICAgIEFkZCB0aGUgbmV3IE1lZGlhS2V5cy5pc1R5cGVTdXBwb3J0
ZWQoKSBtZXRob2Q6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlzOjppc1R5cGVTdXBwb3J0ZWQpOgorICAg
ICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmg6CisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsOgorCisgICAgICAgIEFkZCB0aGUgbmV3
IGZhY3RvcnkgQ0RNU3VwcG9ydHNLZXlTeXN0ZW1BbmRNaW1lVHlwZSBtZXRob2Q6CisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0RN
RmFjdG9yeTo6Q0RNRmFjdG9yeSk6IE5vdyB0YWtlcyBhIHRoaXJkIHBhcmFtZXRlci4KKyAgICAg
ICAgKFdlYkNvcmU6Omluc3RhbGxlZENETUZhY3Rvcmllcyk6IFdoZW4gYWRkaW5nIHRoZSBBVkZv
dW5kYXRpb24gQ0RNLCBwYXNzIGl0cyBuZXcgbWV0aG9kLgorICAgICAgICAoV2ViQ29yZTo6Q0RN
OjpyZWdpc3RlckNETUZhY3RvcnkpOiBOb3cgdGFrZXMgYSB0aGlyZCBwYXJhbWV0ZXIuCisgICAg
ICAgIChXZWJDb3JlOjpDRE06OnN1cHBvcnRzS2V5U3lzdGVtQW5kTWltZVR5cGUpOiBBZGRlZC4K
KyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETS5oOgorICAgICAgICAqIFdlYkNv
cmUuZXhwLmluOgorCisgICAgICAgIFJlZ2lzdGVyIHRoaXMgbmV3IG1ldGhvZCB3aXRoIHRoZSBm
YWN0b3J5IGZvciBhbGwgY29uY3JldGUgQ0RNczoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL0NETVByaXZhdGVBVkZvdW5kYXRpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL0NETVByaXZhdGVBVkZvdW5kYXRpb24ubW06CisgICAgICAgIChXZWJDb3JlOjpD
RE1Qcml2YXRlQVZGb3VuZGF0aW9uOjpzdXBwb3J0c0tleVN5c3RlbSk6CisgICAgICAgIChXZWJD
b3JlOjpDRE1Qcml2YXRlQVZGb3VuZGF0aW9uOjpzdXBwb3J0c0tleVN5c3RlbUFuZE1pbWVUeXBl
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OmluaXRpYWxpemVNb2NrQ0RNKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tDRE0u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja0NETTo6c3VwcG9ydHNLZXlTeXN0ZW0pOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja0NETTo6c3VwcG9ydHNLZXlTeXN0ZW1BbmRNaW1lVHlwZSk6Cisg
ICAgICAgICogdGVzdGluZy9Nb2NrQ0RNLmg6CisKIDIwMTMtMDgtMDggIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTIxNTUxKSBJbmNvcnJl
Y3QgaGFuZGxpbmcgb2YgaW52YWxpZCBtZWRpYSBxdWVyeSBsaXN0LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uY3BwCmluZGV4IDE2MzcyMTYyYmRmNzVjYjU4
NTNjMDJhZGI0ZWI1YWUxYzE2NWIxOWYuLmNkOTM5MjU5MjYxZjgzOTE3MzhhMjRmYWMyYjhjNTNj
OGNmNWM1YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvQ0RNLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NE
TS5jcHAKQEAgLTQzLDE0ICs0MywxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgQ0RN
RmFjdG9yeSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ0RNRmFjdG9yeSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIENETUZhY3RvcnkoQ3JlYXRlQ0RNIGNvbnN0
cnVjdG9yLCBDRE1TdXBwb3J0c0tleVN5c3RlbSBzdXBwb3J0c0tleVN5c3RlbSkKKyAgICBDRE1G
YWN0b3J5KENyZWF0ZUNETSBjb25zdHJ1Y3RvciwgQ0RNU3VwcG9ydHNLZXlTeXN0ZW0gc3VwcG9y
dHNLZXlTeXN0ZW0sIENETVN1cHBvcnRzS2V5U3lzdGVtQW5kTWltZVR5cGUgc3VwcG9ydHNLZXlT
eXN0ZW1BbmRNaW1lVHlwZSkKICAgICAgICAgOiBjb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikKICAg
ICAgICAgLCBzdXBwb3J0c0tleVN5c3RlbShzdXBwb3J0c0tleVN5c3RlbSkKKyAgICAgICAgLCBz
dXBwb3J0c0tleVN5c3RlbUFuZE1pbWVUeXBlKHN1cHBvcnRzS2V5U3lzdGVtQW5kTWltZVR5cGUp
CiAgICAgewogICAgIH0KIAogICAgIENyZWF0ZUNETSBjb25zdHJ1Y3RvcjsKICAgICBDRE1TdXBw
b3J0c0tleVN5c3RlbSBzdXBwb3J0c0tleVN5c3RlbTsKKyAgICBDRE1TdXBwb3J0c0tleVN5c3Rl
bUFuZE1pbWVUeXBlIHN1cHBvcnRzS2V5U3lzdGVtQW5kTWltZVR5cGU7CiB9OwogCiBzdGF0aWMg
VmVjdG9yPENETUZhY3RvcnkqPiYgaW5zdGFsbGVkQ0RNRmFjdG9yaWVzKCkKQEAgLTYyLDcgKzY0
LDcgQEAgc3RhdGljIFZlY3RvcjxDRE1GYWN0b3J5Kj4mIGluc3RhbGxlZENETUZhY3Rvcmllcygp
CiAKICAgICAgICAgLy8gRklYTUU6IGluaXRpYWxpemUgc3BlY2lmaWMgVUEgQ0RNcy4gaHR0cDov
L3dlYmtpdC5vcmcvYi8xMDkzMTgsIGh0dHA6Ly93ZWJraXQub3JnL2IvMTA5MzIwCiAjaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCi0gICAgICAgIGNkbXMuYXBwZW5k
KG5ldyBDRE1GYWN0b3J5KENETVByaXZhdGVBVkZvdW5kYXRpb246OmNyZWF0ZSwgQ0RNUHJpdmF0
ZUFWRm91bmRhdGlvbjo6c3VwcG9ydHNLZXlTeXRlbSkpOworICAgICAgICBjZG1zLmFwcGVuZChu
ZXcgQ0RNRmFjdG9yeShDRE1Qcml2YXRlQVZGb3VuZGF0aW9uOjpjcmVhdGUsIENETVByaXZhdGVB
VkZvdW5kYXRpb246OnN1cHBvcnRzS2V5U3lzdGVtLCBDRE1Qcml2YXRlQVZGb3VuZGF0aW9uOjpz
dXBwb3J0c0tleVN5c3RlbUFuZE1pbWVUeXBlKSk7CiAjZW5kaWYKIAogICAgIH0KQEAgLTcwLDkg
KzcyLDkgQEAgc3RhdGljIFZlY3RvcjxDRE1GYWN0b3J5Kj4mIGluc3RhbGxlZENETUZhY3Rvcmll
cygpCiAgICAgcmV0dXJuIGNkbXM7CiB9CiAKLXZvaWQgQ0RNOjpyZWdpc3RlckNETUZhY3Rvcnko
Q3JlYXRlQ0RNIGNvbnN0cnVjdG9yLCBDRE1TdXBwb3J0c0tleVN5c3RlbSBzdXBwb3J0c0tleVN5
c3RlbSkKK3ZvaWQgQ0RNOjpyZWdpc3RlckNETUZhY3RvcnkoQ3JlYXRlQ0RNIGNvbnN0cnVjdG9y
LCBDRE1TdXBwb3J0c0tleVN5c3RlbSBzdXBwb3J0c0tleVN5c3RlbSwgQ0RNU3VwcG9ydHNLZXlT
eXN0ZW1BbmRNaW1lVHlwZSBzdXBwb3J0c0tleVN5c3RlbUFuZE1pbWVUeXBlKQogewotICAgIGlu
c3RhbGxlZENETUZhY3RvcmllcygpLmFwcGVuZChuZXcgQ0RNRmFjdG9yeShjb25zdHJ1Y3Rvciwg
c3VwcG9ydHNLZXlTeXN0ZW0pKTsKKyAgICBpbnN0YWxsZWRDRE1GYWN0b3JpZXMoKS5hcHBlbmQo
bmV3IENETUZhY3RvcnkoY29uc3RydWN0b3IsIHN1cHBvcnRzS2V5U3lzdGVtLCBzdXBwb3J0c0tl
eVN5c3RlbUFuZE1pbWVUeXBlKSk7CiB9CiAKIHN0YXRpYyBDRE1GYWN0b3J5KiBDRE1GYWN0b3J5
Rm9yS2V5U3lzdGVtKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQpAQCAtOTAsNiArOTIsMTMgQEAg
Ym9vbCBDRE06OnN1cHBvcnRzS2V5U3lzdGVtKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQogICAg
IHJldHVybiBDRE1GYWN0b3J5Rm9yS2V5U3lzdGVtKGtleVN5c3RlbSk7CiB9CiAKK2Jvb2wgQ0RN
OjpzdXBwb3J0c0tleVN5c3RlbUFuZE1pbWVUeXBlKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIGlmIChDRE1GYWN0b3J5KiBmYWN0b3J5ID0g
Q0RNRmFjdG9yeUZvcktleVN5c3RlbShrZXlTeXN0ZW0pKQorICAgICAgICByZXR1cm4gZmFjdG9y
eS0+c3VwcG9ydHNLZXlTeXN0ZW1BbmRNaW1lVHlwZShrZXlTeXN0ZW0sIG1pbWVUeXBlKTsKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIFBhc3NPd25QdHI8Q0RNPiBDRE06OmNyZWF0ZShjb25zdCBT
dHJpbmcmIGtleVN5c3RlbSkKIHsKICAgICBpZiAoIXN1cHBvcnRzS2V5U3lzdGVtKGtleVN5c3Rl
bSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NE
TS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uaAppbmRleCAz
YzQwZjljZDViNGIzN2FhMWRiMWY4YjYxYTNhMGVjYjU2ZTA0MTJhLi4yYjEyYTcyMzRiMjEzMDhj
M2Q3NzE1MjEwNjcxMWVmNzFkYTUzN2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL0NETS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvQ0RNLmgKQEAgLTQyLDYgKzQyLDcgQEAgY2xhc3MgTWVkaWFQbGF5ZXI7CiAK
IHR5cGVkZWYgUGFzc093blB0cjxDRE1Qcml2YXRlSW50ZXJmYWNlPiAoKkNyZWF0ZUNETSkoQ0RN
Kik7CiB0eXBlZGVmIGJvb2wgKCpDRE1TdXBwb3J0c0tleVN5c3RlbSkoY29uc3QgU3RyaW5nJik7
Cit0eXBlZGVmIGJvb2wgKCpDRE1TdXBwb3J0c0tleVN5c3RlbUFuZE1pbWVUeXBlKShjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmKTsKIAogY2xhc3MgQ0RNQ2xpZW50IHsKIHB1YmxpYzoKQEAg
LTY2LDggKzY3LDkgQEAgcHVibGljOgogCiAgICAgZW51bSBDRE1FcnJvckNvZGUgeyBVbmtub3du
RXJyb3IgPSAxLCBDbGllbnRFcnJvciwgU2VydmljZUVycm9yLCBPdXRwdXRFcnJvciwgSGFyZHdh
cmVDaGFuZ2VFcnJvciwgRG9tYWluRXJyb3IgfTsKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tl
eVN5c3RlbShjb25zdCBTdHJpbmcmKTsKKyAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5c3Rl
bUFuZE1pbWVUeXBlKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIG1pbWVU
eXBlKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxDRE0+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGtl
eVN5c3RlbSk7Ci0gICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJDRE1GYWN0b3J5KENyZWF0ZUNETSwg
Q0RNU3VwcG9ydHNLZXlTeXN0ZW0pOworICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyQ0RNRmFjdG9y
eShDcmVhdGVDRE0sIENETVN1cHBvcnRzS2V5U3lzdGVtLCBDRE1TdXBwb3J0c0tleVN5c3RlbUFu
ZE1pbWVUeXBlKTsKICAgICB+Q0RNKCk7CiAKICAgICBib29sIHN1cHBvcnRzTUlNRVR5cGUoY29u
c3QgU3RyaW5nJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL0NETVByaXZhdGVBVkZvdW5kYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDJlMzUz
NDNiODJhZjJhMWFkZDUwZjRiMjY0NmE0ZjQxZWNjYWYzMTIuLjgwNTdmMGQwOGVhZDg0OGRlMjhj
ODBlMTRjM2VlMjBkODE0MjM4ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5oCkBAIC00
MCw3ICs0MCw4IEBAIGNsYXNzIENETVByaXZhdGVBVkZvdW5kYXRpb24gOiBwdWJsaWMgQ0RNUHJp
dmF0ZUludGVyZmFjZSB7CiBwdWJsaWM6CiAgICAgLy8gQ0RNRmFjdG9yeSBzdXBwb3J0OgogICAg
IHN0YXRpYyBQYXNzT3duUHRyPENETVByaXZhdGVJbnRlcmZhY2U+IGNyZWF0ZShDRE0qIGNkbSkg
eyByZXR1cm4gYWRvcHRQdHIobmV3IENETVByaXZhdGVBVkZvdW5kYXRpb24oY2RtKSk7IH0KLSAg
ICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5dGVtKGNvbnN0IFN0cmluZyYpOworICAgIHN0YXRp
YyBib29sIHN1cHBvcnRzS2V5U3lzdGVtKGNvbnN0IFN0cmluZyYpOworICAgIHN0YXRpYyBib29s
IHN1cHBvcnRzS2V5U3lzdGVtQW5kTWltZVR5cGUoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNv
bnN0IFN0cmluZyYgbWltZVR5cGUpOwogCiAgICAgdmlydHVhbCB+Q0RNUHJpdmF0ZUFWRm91bmRh
dGlvbigpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL0NETVByaXZhdGVBVkZvdW5kYXRpb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL0NETVByaXZhdGVBVkZvdW5kYXRpb24ubW0KaW5kZXggMDIzNmNhYmRl
Y2YyNzNkYjgzMjBhMTUzMmNlMGE1YmYwM2Y2YzVmYy4uYmI3OGZkYzA3YzY1YmNjNzYwMWRkMWYz
MjE3MjFhZGJkMWVhNzAyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9DRE1Qcml2YXRlQVZGb3VuZGF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbi5tbQpAQCAtNjIs
MTEgKzYyLDE4IEBAIFNPRlRfTElOS19DTEFTUyhBVkZvdW5kYXRpb24sIEFWQXNzZXRSZXNvdXJj
ZUxvYWRpbmdSZXF1ZXN0KQogI2RlZmluZSBBVkFzc2V0UmVzb3VyY2VMb2FkaW5nUmVxdWVzdCBn
ZXRBVkFzc2V0UmVzb3VyY2VMb2FkaW5nUmVxdWVzdCgpCiAKIAotYm9vbCBDRE1Qcml2YXRlQVZG
b3VuZGF0aW9uOjpzdXBwb3J0c0tleVN5dGVtKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQorYm9v
bCBDRE1Qcml2YXRlQVZGb3VuZGF0aW9uOjpzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcm
IGtleVN5c3RlbSkKIHsKICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2Uoa2V5U3lzdGVtLCAi
Y29tLmFwcGxlLmZwcyIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGtleVN5c3RlbSwgImNvbS5hcHBs
ZS5mcHMuMV8wIik7CiB9CiAKK2Jvb2wgQ0RNUHJpdmF0ZUFWRm91bmRhdGlvbjo6c3VwcG9ydHNL
ZXlTeXN0ZW1BbmRNaW1lVHlwZShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSkKK3sKKyAgICBpZiAoIXN1cHBvcnRzS2V5U3lzdGVtKGtleVN5c3RlbSkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gW0FWVVJMQXNzZXQgaXNQbGF5YWJsZUV4
dGVuZGVkTUlNRVR5cGU6bWltZVR5cGVdOworfQorCiBib29sIENETVByaXZhdGVBVkZvdW5kYXRp
b246OnN1cHBvcnRzTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIHsKICAgICByZXR1
cm4gW0FWVVJMQXNzZXQgaXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6bWltZVR5cGVdOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3Bw
CmluZGV4IDVkMTkzZmJmYmVkYzY4Y2MyZmJmZDUyZWMyZTdkMzUzZDY5MWFjZjQuLjA1YTI5YWE1
NDIwMzk3NmVjOTZiMGViYjZlYmM3Zjc2NmFiY2RkZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAKQEAgLTExOCw2ICsxMTgs
MjYgQEAgUGFzc1JlZlB0cjxNZWRpYUtleVNlc3Npb24+IE1lZGlhS2V5czo6Y3JlYXRlU2Vzc2lv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb24KICAgICByZXR1cm4gc2Vzc2lvbjsKIH0KIAor
Ym9vbCBNZWRpYUtleXM6OmlzVHlwZVN1cHBvcnRlZChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKK3sKKyAgICAvLyAxLiBJZiBrZXlTeXN0ZW0gY29udGFp
bnMgYW4gdW5yZWNvZ25pemVkIG9yIHVuc3VwcG9ydGVkIEtleSBTeXN0ZW0sIHJldHVybiBmYWxz
ZSBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgLy8gS2V5IHN5c3RlbSBzdHJpbmcgY29tcGFy
aXNvbiBpcyBjYXNlLXNlbnNpdGl2ZS4KKyAgICBpZiAoa2V5U3lzdGVtLmlzTnVsbCgpIHx8IGtl
eVN5c3RlbS5pc0VtcHR5KCkgfHwgIUNETTo6c3VwcG9ydHNLZXlTeXN0ZW0oa2V5U3lzdGVtKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gMi4gSWYgdHlwZSBpcyBudWxsIG9yIGFu
IGVtcHR5IHN0cmluZywgcmV0dXJuIHRydWUgYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgorICAgIGlm
IChtaW1lVHlwZS5pc051bGwoKSB8fCBtaW1lVHlwZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgLy8gMy4gSWYgdGhlIEtleSBTeXN0ZW0gc3BlY2lmaWVkIGJ5IGtleVN5
c3RlbSBkb2VzIG5vdCBzdXBwb3J0IGRlY3J5cHRpbmcgdGhlIGNvbnRhaW5lciBhbmQvb3IgY29k
ZWMKKyAgICAvLyBzcGVjaWZpZWQgYnkgdHlwZSwgcmV0dXJuIGZhbHNlIGFuZCBhYm9ydCB0aGVz
ZSBzdGVwcy4KKyAgICBpZiAoIUNETTo6c3VwcG9ydHNLZXlTeXN0ZW1BbmRNaW1lVHlwZShrZXlT
eXN0ZW0sIG1pbWVUeXBlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gNC4gUmV0
dXJuIHRydWU7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgTWVkaWFLZXlzOjpzZXRNZWRp
YUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBtX21lZGlhRWxlbWVu
dCA9IGVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleXMuaAppbmRleCBmMTYyZjk2MWJmMGQ1YzFhNWQ5MTJhOTFkNDkxMTBlYzZjNTFl
YjQxLi40MTg4NDk1MjQ5NDg1YWJjNTQyNTBkZjA2ZjkyZmZkOTRmYmU1YmQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmgKQEAgLTUw
LDYgKzUwLDggQEAgcHVibGljOgogCiAgICAgUGFzc1JlZlB0cjxNZWRpYUtleVNlc3Npb24+IGNy
ZWF0ZVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsIFVpbnQ4QXJyYXkqIGluaXREYXRhLCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICBzdGF0aWMg
Ym9vbCBpc1R5cGVTdXBwb3J0ZWQoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUpOworCiAgICAgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0oKSBjb25zdCB7IHJl
dHVybiBtX2tleVN5c3RlbTsgfQogICAgIENETSogY2RtKCkgeyByZXR1cm4gbV9jZG0uZ2V0KCk7
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleXMuaWRsCmluZGV4IDY0MjdhYmFiM2ZkNWVlMWMxOWVkYWQxYmJjYmQxMTM0YmIyMTNjN2Eu
LjBhNGRkY2JmNDNjY2MyOTlhYWM1MDk3OTc3YWVmYTBlYTk0NmI0NzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKQEAgLTMw
LDUgKzMwLDcgQEAKIF0gaW50ZXJmYWNlIE1lZGlhS2V5cyB7CiAgICAgW0NhbGxXaXRoPVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlvbl0gTWVkaWFLZXlTZXNzaW9uIGNyZWF0
ZVNlc3Npb24oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBET01TdHJpbmcgdHlwZSwgW0Rl
ZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBVaW50OEFycmF5IGluaXREYXRhKTsKIAorICAgIHN0
YXRpYyBib29sZWFuIGlzVHlwZVN1cHBvcnRlZChET01TdHJpbmcga2V5U3lzdGVtLCBbRGVmYXVs
dD1OdWxsU3RyaW5nXSBvcHRpb25hbCBET01TdHJpbmcgdHlwZSk7CisKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGtleVN5c3RlbTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IGIxZmYyMTY5N2Q2NWZhN2Q3ZDc2MTUxZDIyNDkzZThkNGJlZGViNGUuLmFjOTFmMDU2NDFiMTRi
ZmIxMzEyMTc4ZDRiNjY0MTk4MGFlMmU3ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yNzc3
LDcgKzI3NzcsNyBAQCBfX1pON1dlYkNvcmUyMlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMzMmlzTGVn
YWN5Q1NTVmVuZG9yUHJlZml4ZXNFbmFibGVkRQogI2VuZGlmCiAKICNpZiBFTkFCTEUoRU5DUllQ
VEVEX01FRElBX1YyKQotX19aTjdXZWJDb3JlM0NETTE4cmVnaXN0ZXJDRE1GYWN0b3J5RVBGTjNX
VEYxMFBhc3NPd25QdHJJTlNfMTlDRE1Qcml2YXRlSW50ZXJmYWNlRUVFUFMwX0VQRmJSS05TMV82
U3RyaW5nRUUKK19fWk43V2ViQ29yZTNDRE0xOHJlZ2lzdGVyQ0RNRmFjdG9yeUVQRk4zV1RGMTBQ
YXNzT3duUHRySU5TXzE5Q0RNUHJpdmF0ZUludGVyZmFjZUVFRVBTMF9FUEZiUktOUzFfNlN0cmlu
Z0VFUEZiU0FfU0FfRQogI2VuZGlmCiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNGQ2ODljMDFiNjBjMGY5NjQ2NzYxZThiZGJm
ZmZjZjM1YjRhNTg3NS4uYjFjYjJlZTZlNjJlZGM0ZmZkZDQzZjI3Nzg3YmY4OWUwY2M0ZGRmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMjAzMCw3ICsyMDMwLDcgQEAg
dm9pZCBJbnRlcm5hbHM6OmZvcmNlUmVsb2FkKGJvb2wgZW5kVG9FbmQpCiAjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQV9WMikKIHZvaWQgSW50ZXJuYWxzOjppbml0aWFsaXplTW9ja0NETSgpCiB7
Ci0gICAgQ0RNOjpyZWdpc3RlckNETUZhY3RvcnkoTW9ja0NETTo6Y3JlYXRlLCBNb2NrQ0RNOjpz
dXBwb3J0c0tleVN5dGVtKTsKKyAgICBDRE06OnJlZ2lzdGVyQ0RNRmFjdG9yeShNb2NrQ0RNOjpj
cmVhdGUsIE1vY2tDRE06OnN1cHBvcnRzS2V5U3lzdGVtLCBNb2NrQ0RNOjpzdXBwb3J0c0tleVN5
c3RlbUFuZE1pbWVUeXBlKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tDRE0uY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNLmNw
cAppbmRleCBhZDc0YTI0NzkyN2MzYjZkMjY0ZDk1MjNmZjYxNjY5YzhjZmIwOTI2Li41NjJjYjU3
Yzg4N2Y5NmE1YmJjYjE3MDc0NTYwOWEyZGJiMjJkMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tDRE0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a0NETS5jcHAKQEAgLTUwLDExICs1MCwxOSBAQCBwcm90ZWN0ZWQ6CiAgICAgU3RyaW5nIG1fc2Vz
c2lvbklkOwogfTsKIAotYm9vbCBNb2NrQ0RNOjpzdXBwb3J0c0tleVN5dGVtKGNvbnN0IFN0cmlu
ZyYga2V5U3lzdGVtKQorYm9vbCBNb2NrQ0RNOjpzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJp
bmcmIGtleVN5c3RlbSkKIHsKICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2Uoa2V5U3lzdGVt
LCAiY29tLndlYmNvcmUubW9jayIpOwogfQogCitib29sIE1vY2tDRE06OnN1cHBvcnRzS2V5U3lz
dGVtQW5kTWltZVR5cGUoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUpCit7CisgICAgaWYgKCFzdXBwb3J0c0tleVN5c3RlbShrZXlTeXN0ZW0pKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0Nhc2UobWltZVR5cGUs
ICJ2aWRlby9tb2NrIik7Cit9CisKIGJvb2wgTW9ja0NETTo6c3VwcG9ydHNNSU1FVHlwZShjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZShtaW1l
VHlwZSwgInZpZGVvL21vY2siKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja0NETS5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNLmgKaW5kZXggMWNjYzRj
NGU5MTVhNjdmNGEzZTRkZWNhZTZkN2NlOGUyYTliNGVkYi4uM2IzOTJkYmY2ZDM5NGEwODU3YTQ2
YjZhY2E1YWFmMmY5NWViYWYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrQ0RNLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNLmgKQEAgLTM5LDcg
KzM5LDggQEAgY2xhc3MgTW9ja0NETSA6IHB1YmxpYyBDRE1Qcml2YXRlSW50ZXJmYWNlIHsKIHB1
YmxpYzoKICAgICAvLyBDRE1GYWN0b3J5IHN1cHBvcnQ6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
Q0RNUHJpdmF0ZUludGVyZmFjZT4gY3JlYXRlKENETSogY2RtKSB7IHJldHVybiBhZG9wdFB0cihu
ZXcgTW9ja0NETShjZG0pKTsgfQotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzS2V5U3l0ZW0oY29u
c3QgU3RyaW5nJik7CisgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNLZXlTeXN0ZW0oY29uc3QgU3Ry
aW5nJik7CisgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNLZXlTeXN0ZW1BbmRNaW1lVHlwZShjb25z
dCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAKICAgICB2aXJ0
dWFsIH5Nb2NrQ0RNKCkgeyB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0MTc0MjVkZmM2NTQ0OTg2ZDgzN2QzNmQxZTRh
ZjkwZWE3ZDU3NTBjLi43MWNjMmUyOWViZmExNDk1ZDdjOGFkODdhZDBhOTJmYmM4ZjIyY2MwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDgtMDggIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CisKKyAgICAgICAgW0VNRV0gSW1wbGVtZW50IE1lZGlhS2V5cy5pc1R5cGVTdXBw
b3J0ZWQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE5NTg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWlzLXR5cGUtc3VwcG9ydGVk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2Vu
Y3J5cHRlZC1tZWRpYS1pcy10eXBlLXN1cHBvcnRlZC5odG1sOiBBZGRlZC4KKwogMjAxMy0wOC0w
OCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIxMjE1NTEpIEluY29ycmVjdCBoYW5kbGluZyBvZiBpbnZhbGlkIG1lZGlhIHF1ZXJ5IGxpc3Qu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVk
LW1lZGlhLWlzLXR5cGUtc3VwcG9ydGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlh
L2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtaXMtdHlwZS1zdXBwb3J0ZWQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE2ZWI5ODI3NjNmNWI2NTg4YWE5ZDk1NmVkZDM3YTk3MDYwMGJk
YzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEv
ZW5jcnlwdGVkLW1lZGlhLWlzLXR5cGUtc3VwcG9ydGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIyIEBACitUZXN0IEVuY3J5cHRlZCBNZWRpYSBleHRlbnNpb24gb2YgTWVkaWFLZXlzIGlzVHlw
ZVN1cHBvcnRlZCgpIG1ldGhvZC4KKworQWx3YXlzIHJldHVybiBmYWxzZSBmb3IgYSBudWxsIHR5
cGUuCitFWFBFQ1RFRCAoTWVkaWFLZXlzLmlzVHlwZVN1cHBvcnRlZChudWxsKSA9PSAnZmFsc2Un
KSBPSworCitBbHdheXMgcmV0dXJuIGZhbHNlIGZvciBhbiBlbXB0eSB0eXBlLgorRVhQRUNURUQg
KE1lZGlhS2V5cy5pc1R5cGVTdXBwb3J0ZWQoJycpID09ICdmYWxzZScpIE9LCitFWFBFQ1RFRCAo
TWVkaWFLZXlzLmlzVHlwZVN1cHBvcnRlZCgnJywgJycpID09ICdmYWxzZScpIE9LCitFWFBFQ1RF
RCAoTWVkaWFLZXlzLmlzVHlwZVN1cHBvcnRlZCgnJywgbnVsbCkgPT0gJ2ZhbHNlJykgT0sKK0VY
UEVDVEVEIChNZWRpYUtleXMuaXNUeXBlU3VwcG9ydGVkKCcnLCB1bmRlZmluZWQpID09ICdmYWxz
ZScpIE9LCitFWFBFQ1RFRCAoTWVkaWFLZXlzLmlzVHlwZVN1cHBvcnRlZCgnJywgJ3ZpZGVvL2lu
dmFsaWQnKSA9PSAnZmFsc2UnKSBPSworCitBbHdheXMgcmV0dXJuIHRydWUgZm9yIHN1cHBvcnRl
ZCB0eXBlcy4KK0VYUEVDVEVEIChNZWRpYUtleXMuaXNUeXBlU3VwcG9ydGVkKCdjb20ud2ViY29y
ZS5tb2NrJykgPT0gJ3RydWUnKSBPSworCitBbHdheXMgcmV0dXJuIHRydWUgZm9yIHN1cHBvcnRl
ZCB0eXBlcyBhbmQgY29udGFpbmVycy4KK0VYUEVDVEVEIChNZWRpYUtleXMuaXNUeXBlU3VwcG9y
dGVkKCdjb20ud2ViY29yZS5tb2NrJywgJ3ZpZGVvL21vY2snKSA9PSAndHJ1ZScpIE9LCisKK0Fs
d2F5cyByZXR1cm4gZmFsc2UgZm9yIHN1cHBvcnRlZCB0eXBlcyBidXQgdW5zdXBwb3J0ZWQgY29u
dGFpbmVycy4KK0VYUEVDVEVEIChNZWRpYUtleXMuaXNUeXBlU3VwcG9ydGVkKCdjb20ud2ViY29y
ZS5tb2NrJywgJ3ZpZGVvL2ludmFsaWQnKSA9PSAnZmFsc2UnKSBPSworRU5EIE9GIFRFU1QKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1t
ZWRpYS1pcy10eXBlLXN1cHBvcnRlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvZW5jcnlwdGVk
LW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1pcy10eXBlLXN1cHBvcnRlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg0MDg4YzMzMGJmMzg2MTBmMWQyNGJiMGI4NmIxNjQ0NTFjYWUyMGUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWlz
LXR5cGUtc3VwcG9ydGVkLmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
aHRtbCBsYW5nPSJlbiI+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5NZWRpYUtleXMuaXNU
eXBlU3VwcG9ydGVkKCk8L3RpdGxlPgorICAgICAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0
LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgLy8gSW5pdGlhbGl6
ZSB0aGUgTW9ja0NETS4gSXQgc3VwcG9ydHMgdGhlIGtleSBzeXN0ZW0gJ2NvbS53ZWJjb3JlLm1v
Y2snLCB0aGUgCisgICAgICAgICAgICAvLyBtaW1lIHR5cGUgJ3ZpZGVvL21vY2snLiBJdCByZXF1
aXJlcyBpbml0IGRhdGEgdG8gYmVnaW4gd2l0aCAnbW9jaycsIGFuZAorICAgICAgICAgICAgLy8g
a2V5cyB0byBiZWdpbiB3aXRoICdrZXknLgorICAgICAgICAgICAgaWYgKGludGVybmFscykKKyAg
ICAgICAgICAgICAgICBpbnRlcm5hbHMuaW5pdGlhbGl6ZU1vY2tDRE0oKTsKKworICAgICAgICAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkFs
d2F5cyByZXR1cm4gZmFsc2UgZm9yIGEgbnVsbCB0eXBlLiIpOworICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgiTWVkaWFLZXlzLmlzVHlwZVN1cHBvcnRlZChudWxsKSIsIGZhbHNlKTsKKwor
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPkFsd2F5cyByZXR1cm4gZmFsc2UgZm9y
IGFuIGVtcHR5IHR5cGUuIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtl
eXMuaXNUeXBlU3VwcG9ydGVkKCcnKSIsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoIk1lZGlhS2V5cy5pc1R5cGVTdXBwb3J0ZWQoJycsICcnKSIsIGZhbHNlKTsKKyAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5cy5pc1R5cGVTdXBwb3J0ZWQoJycsIG51
bGwpIiwgZmFsc2UpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiTWVkaWFLZXlzLmlz
VHlwZVN1cHBvcnRlZCgnJywgdW5kZWZpbmVkKSIsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoIk1lZGlhS2V5cy5pc1R5cGVTdXBwb3J0ZWQoJycsICd2aWRlby9pbnZhbGlk
JykiLCBmYWxzZSk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj5BbHdheXMg
cmV0dXJuIHRydWUgZm9yIHN1cHBvcnRlZCB0eXBlcy4iKTsKKyAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoIk1lZGlhS2V5cy5pc1R5cGVTdXBwb3J0ZWQoJ2NvbS53ZWJjb3JlLm1vY2snKSIs
IHRydWUpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+QWx3YXlzIHJldHVy
biB0cnVlIGZvciBzdXBwb3J0ZWQgdHlwZXMgYW5kIGNvbnRhaW5lcnMuIik7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJNZWRpYUtleXMuaXNUeXBlU3VwcG9ydGVkKCdjb20ud2ViY29y
ZS5tb2NrJywgJ3ZpZGVvL21vY2snKSIsIHRydWUpOworCisgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCI8YnI+QWx3YXlzIHJldHVybiBmYWxzZSBmb3Igc3VwcG9ydGVkIHR5cGVzIGJ1dCB1
bnN1cHBvcnRlZCBjb250YWluZXJzLiIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
TWVkaWFLZXlzLmlzVHlwZVN1cHBvcnRlZCgnY29tLndlYmNvcmUubW9jaycsICd2aWRlby9pbnZh
bGlkJykiLCBmYWxzZSk7CisKKyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+CisgICAgICAgIDxwPlRlc3QgRW5jcnlwdGVkIE1lZGlhIGV4dGVuc2lvbiBvZiBN
ZWRpYUtleXMgPGVtPmlzVHlwZVN1cHBvcnRlZCgpPC9lbT4gbWV0aG9kLjwvcD4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="230263"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>