<?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>137436</bug_id>
          
          <creation_ts>2014-10-05 17:04:01 -0700</creation_ts>
          <short_desc>Use is&lt;&gt;() / downcast&lt;&gt;() for CryptoKey subclasses</short_desc>
          <delta_ts>2014-10-06 12:20:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          <dependson>137056</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>alecflett</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>jsbell</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039625</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-05 17:04:01 -0700</bug_when>
    <thetext>Use is&lt;&gt;() / downcast&lt;&gt;() for CryptoKey subclasses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039627</commentid>
    <comment_count>1</comment_count>
      <attachid>239306</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-05 17:07:23 -0700</bug_when>
    <thetext>Created attachment 239306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039769</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-06 11:21:20 -0700</bug_when>
    <thetext>Ryosuke, could you please take a look at this one as well? It is similar to the other one you reviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039786</commentid>
    <comment_count>3</comment_count>
      <attachid>239306</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-06 12:20:23 -0700</bug_when>
    <thetext>Comment on attachment 239306
Patch

Clearing flags on attachment: 239306

Committed r174358: &lt;http://trac.webkit.org/changeset/174358&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039787</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-06 12:20:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239306</attachid>
            <date>2014-10-05 17:07:23 -0700</date>
            <delta_ts>2014-10-06 12:20:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137436-20141005170725.patch</filename>
            <type>text/plain</type>
            <size>22428</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZkYjAxMzhlOThmYTAy
MjgyZjc5NDk2NWQ3MDY3MmUyYzVlNzUxYS4uZWRiNGJmYmViZTZiOGNiMTk1ZGRjOWM0MTk1NTBm
OWYxMGE4YTFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUyIEBACiAyMDE0LTEwLTA1ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBVc2UgaXM8PigpIC8g
ZG93bmNhc3Q8PigpIGZvciBDcnlwdG9LZXkgc3ViY2xhc3NlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NDM2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGlzPD4oKSAvIGRvd25jYXN0PD4oKSBm
b3IgQ3J5cHRvS2V5IHN1YmNsYXNzZXMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhh
dmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6
YXRpb25KV0suY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkSldLQWxnb3JpdGhtVG9KU09OKToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xvbmVTZXJpYWxpemVyOjp3cml0ZSk6CisgICAgICAgICogY3J5cHRvL0Ny
eXB0b0tleS5oOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19DQkMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6a2V5
QWxnb3JpdGhtTWF0Y2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNf
Q0JDOjplbmNyeXB0KToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DQkM6
OmRlY3J5cHQpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19LVy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmtleUFs
Z29yaXRobU1hdGNoZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0tX
OjplbmNyeXB0Rm9yV3JhcEtleSk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1B
RVNfS1c6OmRlY3J5cHRGb3JVbndyYXBLZXkpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3Jp
dGhtSE1BQzo6a2V5QWxnb3JpdGhtTWF0Y2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9B
bGdvcml0aG1ITUFDOjpzaWduKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhN
QUM6OnZlcmlmeSk6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGht
UlNBRVNfUEtDUzFfdjFfNS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1S
U0FFU19QS0NTMV92MV81OjprZXlBbGdvcml0aG1NYXRjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmVuY3J5cHQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6ZGVjcnlwdCk6CisgICAgICAg
ICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6Omtl
eUFsZ29yaXRobU1hdGNoZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtUlNB
U1NBX1BLQ1MxX3YxXzU6OnNpZ24pOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGht
UlNBU1NBX1BLQ1MxX3YxXzU6OnZlcmlmeSk6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxn
b3JpdGhtUlNBX09BRVA6OmtleUFsZ29yaXRobU1hdGNoZXMpOgorICAgICAgICAoV2ViQ29yZTo6
Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmVuY3J5cHQpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5
cHRvQWxnb3JpdGhtUlNBX09BRVA6OmRlY3J5cHQpOgorICAgICAgICAqIGNyeXB0by9rZXlzL0Ny
eXB0b0tleUFFUy5oOgorICAgICAgICAoV2ViQ29yZTo6aXNDcnlwdG9LZXlBRVMpOiBEZWxldGVk
LgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuaDoKKyAgICAgICAgKFdlYkNv
cmU6OmlzQ3J5cHRvS2V5SE1BQyk6IERlbGV0ZWQuCisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5
cHRvS2V5UlNBLmg6CisgICAgICAgIChXZWJDb3JlOjppc0NyeXB0b0tleVJTQSk6IERlbGV0ZWQu
CisKKzIwMTQtMTAtMDUgIENocmlzdG9waGUgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAg
ICAgICAgIFVzZSBpczw+KCkgLyBkb3duY2FzdDw+KCkgZm9yIENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnMgc3ViY2xhc3NlcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM3NDMyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NyeXB0b0tleVNlcmlhbGl6YXRpb25KV0suY3BwCmluZGV4IDg5MDU5ZjU2MWE2NDQ0
ZTc1MGU2NGI2NDU5NDU1ZTQzM2Q1Njg1OGYuLmUzMjE0OWIxN2IxZmEyYmU1MWQ4MDAwYWVmMzdl
OTk3N2Y4NzYxN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3J5
cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldLLmNwcApAQCAtNTU2LDE3ICs1NTYsMTcgQEAg
c3RhdGljIHZvaWQgYWRkSldLQWxnb3JpdGhtVG9KU09OKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmpl
Y3QqIGpzb24sIGNvbnN0IENyeXB0b0sKICAgICBTdHJpbmcgandrQWxnb3JpdGhtOwogICAgIHN3
aXRjaCAoa2V5LmFsZ29yaXRobUlkZW50aWZpZXIoKSkgewogICAgIGNhc2UgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllcjo6SE1BQzoKLSAgICAgICAgc3dpdGNoICh0b0NyeXB0b0tleUhNQUMoa2V5
KS5oYXNoQWxnb3JpdGhtSWRlbnRpZmllcigpKSB7CisgICAgICAgIHN3aXRjaCAoZG93bmNhc3Q8
Q3J5cHRvS2V5SE1BQz4oa2V5KS5oYXNoQWxnb3JpdGhtSWRlbnRpZmllcigpKSB7CiAgICAgICAg
IGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzI1NjoKLSAgICAgICAgICAgIGlm
ICh0b0NyeXB0b0tleUhNQUMoa2V5KS5rZXkoKS5zaXplKCkgKiA4ID49IDI1NikKKyAgICAgICAg
ICAgIGlmIChkb3duY2FzdDxDcnlwdG9LZXlITUFDPihrZXkpLmtleSgpLnNpemUoKSAqIDggPj0g
MjU2KQogICAgICAgICAgICAgICAgIGp3a0FsZ29yaXRobSA9ICJIUzI1NiI7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMzg0
OgotICAgICAgICAgICAgaWYgKHRvQ3J5cHRvS2V5SE1BQyhrZXkpLmtleSgpLnNpemUoKSAqIDgg
Pj0gMzg0KQorICAgICAgICAgICAgaWYgKGRvd25jYXN0PENyeXB0b0tleUhNQUM+KGtleSkua2V5
KCkuc2l6ZSgpICogOCA+PSAzODQpCiAgICAgICAgICAgICAgICAgandrQWxnb3JpdGhtID0gIkhT
Mzg0IjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXI6OlNIQV81MTI6Ci0gICAgICAgICAgICBpZiAodG9DcnlwdG9LZXlITUFDKGtleSku
a2V5KCkuc2l6ZSgpICogOCA+PSA1MTIpCisgICAgICAgICAgICBpZiAoZG93bmNhc3Q8Q3J5cHRv
S2V5SE1BQz4oa2V5KS5rZXkoKS5zaXplKCkgKiA4ID49IDUxMikKICAgICAgICAgICAgICAgICBq
d2tBbGdvcml0aG0gPSAiSFM1MTIiOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1
bHQ6CkBAIC01NzQsNyArNTc0LDcgQEAgc3RhdGljIHZvaWQgYWRkSldLQWxnb3JpdGhtVG9KU09O
KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGpzb24sIGNvbnN0IENyeXB0b0sKICAgICAgICAg
fQogICAgICAgICBicmVhazsKICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFF
U19DQkM6Ci0gICAgICAgIHN3aXRjaCAodG9DcnlwdG9LZXlBRVMoa2V5KS5rZXkoKS5zaXplKCkg
KiA4KSB7CisgICAgICAgIHN3aXRjaCAoZG93bmNhc3Q8Q3J5cHRvS2V5QUVTPihrZXkpLmtleSgp
LnNpemUoKSAqIDgpIHsKICAgICAgICAgY2FzZSAxMjg6CiAgICAgICAgICAgICBqd2tBbGdvcml0
aG0gPSAiQTEyOENCQyI7CiAgICAgICAgICAgICBicmVhazsKQEAgLTU4Nyw3ICs1ODcsNyBAQCBz
dGF0aWMgdm9pZCBhZGRKV0tBbGdvcml0aG1Ub0pTT04oRXhlY1N0YXRlKiBleGVjLCBKU09iamVj
dCoganNvbiwgY29uc3QgQ3J5cHRvSwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6QUVTX0tXOgotICAgICAgICBzd2l0Y2ggKHRv
Q3J5cHRvS2V5QUVTKGtleSkua2V5KCkuc2l6ZSgpICogOCkgeworICAgICAgICBzd2l0Y2ggKGRv
d25jYXN0PENyeXB0b0tleUFFUz4oa2V5KS5rZXkoKS5zaXplKCkgKiA4KSB7CiAgICAgICAgIGNh
c2UgMTI4OgogICAgICAgICAgICAgandrQWxnb3JpdGhtID0gIkExMjhLVyI7CiAgICAgICAgICAg
ICBicmVhazsKQEAgLTYwMCw3ICs2MDAsNyBAQCBzdGF0aWMgdm9pZCBhZGRKV0tBbGdvcml0aG1U
b0pTT04oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCoganNvbiwgY29uc3QgQ3J5cHRvSwogICAg
ICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmll
cjo6UlNBU1NBX1BLQ1MxX3YxXzU6IHsKLSAgICAgICAgY29uc3QgQ3J5cHRvS2V5UlNBJiByc2FL
ZXkgPSB0b0NyeXB0b0tleVJTQShrZXkpOworICAgICAgICBjb25zdCBDcnlwdG9LZXlSU0EmIHJz
YUtleSA9IGRvd25jYXN0PENyeXB0b0tleVJTQT4oa2V5KTsKICAgICAgICAgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllciBoYXNoOwogICAgICAgICBpZiAoIXJzYUtleS5pc1Jlc3RyaWN0ZWRUb0hh
c2goaGFzaCkpCiAgICAgICAgICAgICBicmVhazsKQEAgLTYyMiwxNCArNjIyLDE0IEBAIHN0YXRp
YyB2b2lkIGFkZEpXS0FsZ29yaXRobVRvSlNPTihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBq
c29uLCBjb25zdCBDcnlwdG9LCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXI6OlJTQUVTX1BLQ1MxX3YxXzU6IHsKLSAgICAgICAgY29uc3Qg
Q3J5cHRvS2V5UlNBJiByc2FLZXkgPSB0b0NyeXB0b0tleVJTQShrZXkpOworICAgICAgICBjb25z
dCBDcnlwdG9LZXlSU0EmIHJzYUtleSA9IGRvd25jYXN0PENyeXB0b0tleVJTQT4oa2V5KTsKICAg
ICAgICAgaWYgKHJzYUtleS5rZXlTaXplSW5CaXRzKCkgPCAyMDQ4KQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGp3a0FsZ29yaXRobSA9ICJSU0ExXzUiOwogICAgICAgICBicmVhazsKICAg
ICB9CiAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpSU0FfT0FFUDogewotICAg
ICAgICBjb25zdCBDcnlwdG9LZXlSU0EmIHJzYUtleSA9IHRvQ3J5cHRvS2V5UlNBKGtleSk7Cisg
ICAgICAgIGNvbnN0IENyeXB0b0tleVJTQSYgcnNhS2V5ID0gZG93bmNhc3Q8Q3J5cHRvS2V5UlNB
PihrZXkpOwogICAgICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2g7CiAgICAgICAg
IC8vIFdlYkNyeXB0byBSU0EtT0FFUCBrZXlzIGFyZSBub3QgdGllZCB0byBhbnkgcGFydGljdWxh
ciBoYXNoLCB1bmxlc3MgcHJldmlvdXNseSBpbXBvcnRlZCBmcm9tIEpXSywgd2hpY2ggb25seSBz
dXBwb3J0cyBTSEEtMS4KICAgICAgICAgaWYgKHJzYUtleS5pc1Jlc3RyaWN0ZWRUb0hhc2goaGFz
aCkgJiYgaGFzaCAhPSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmlu
ZGV4IDQxZDE4ZTYwNTQxOTBkYjY2OWQwYWI5NDYzYjA4MzY5NjE0YTA5NzIuLjAyZjVlYzlhZTcx
YWEyZjYwOGMzYTUwZGMxYjZmMzVmYjEwMjBiNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTE3MywxOSArMTE3
MywxOSBAQCBwcml2YXRlOgogICAgICAgICBzd2l0Y2ggKGtleS0+a2V5Q2xhc3MoKSkgewogICAg
ICAgICBjYXNlIENyeXB0b0tleUNsYXNzOjpITUFDOgogICAgICAgICAgICAgd3JpdGUoQ3J5cHRv
S2V5Q2xhc3NTdWJ0YWc6OkhNQUMpOwotICAgICAgICAgICAgd3JpdGUodG9DcnlwdG9LZXlITUFD
KGtleSktPmtleSgpKTsKLSAgICAgICAgICAgIHdyaXRlKHRvQ3J5cHRvS2V5SE1BQyhrZXkpLT5o
YXNoQWxnb3JpdGhtSWRlbnRpZmllcigpKTsKKyAgICAgICAgICAgIHdyaXRlKGRvd25jYXN0PENy
eXB0b0tleUhNQUM+KCprZXkpLmtleSgpKTsKKyAgICAgICAgICAgIHdyaXRlKGRvd25jYXN0PENy
eXB0b0tleUhNQUM+KCprZXkpLmhhc2hBbGdvcml0aG1JZGVudGlmaWVyKCkpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ3J5cHRvS2V5Q2xhc3M6OkFFUzoKICAgICAgICAgICAg
IHdyaXRlKENyeXB0b0tleUNsYXNzU3VidGFnOjpBRVMpOwogICAgICAgICAgICAgd3JpdGUoa2V5
LT5hbGdvcml0aG1JZGVudGlmaWVyKCkpOwotICAgICAgICAgICAgd3JpdGUodG9DcnlwdG9LZXlB
RVMoa2V5KS0+a2V5KCkpOworICAgICAgICAgICAgd3JpdGUoZG93bmNhc3Q8Q3J5cHRvS2V5QUVT
Pigqa2V5KS5rZXkoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDcnlwdG9L
ZXlDbGFzczo6UlNBOgogICAgICAgICAgICAgd3JpdGUoQ3J5cHRvS2V5Q2xhc3NTdWJ0YWc6OlJT
QSk7CiAgICAgICAgICAgICB3cml0ZShrZXktPmFsZ29yaXRobUlkZW50aWZpZXIoKSk7CiAgICAg
ICAgICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2g7Ci0gICAgICAgICAgICBib29s
IGlzUmVzdHJpY3RlZFRvSGFzaCA9IHRvQ3J5cHRvS2V5UlNBKGtleSktPmlzUmVzdHJpY3RlZFRv
SGFzaChoYXNoKTsKKyAgICAgICAgICAgIGJvb2wgaXNSZXN0cmljdGVkVG9IYXNoID0gZG93bmNh
c3Q8Q3J5cHRvS2V5UlNBPigqa2V5KS5pc1Jlc3RyaWN0ZWRUb0hhc2goaGFzaCk7CiAgICAgICAg
ICAgICB3cml0ZShpc1Jlc3RyaWN0ZWRUb0hhc2gpOwogICAgICAgICAgICAgaWYgKGlzUmVzdHJp
Y3RlZFRvSGFzaCkKICAgICAgICAgICAgICAgICB3cml0ZShoYXNoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9LZXkuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9D
cnlwdG9LZXkuaAppbmRleCAzYTFiZTY5MDA4NDFhZWVjZGVmYzczMjQxNzE3YTk0OWFhZTVlM2Y5
Li43ZGY5ZTFhZjUwZDA4ZmNhMzk4ZDE4MjY1OGI4YTk2ZDI2MTMxOGY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5
cHRvL0NyeXB0b0tleS5oCkBAIC0yNiwxNSArMjYsMTYgQEAKICNpZm5kZWYgQ3J5cHRvS2V5X2gK
ICNkZWZpbmUgQ3J5cHRvS2V5X2gKIAorI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorCiAjaW5j
bHVkZSAiQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIkNyeXB0b0tleVR5
cGUuaCIKICNpbmNsdWRlICJDcnlwdG9LZXlVc2FnZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVHlwZUNhc3Rz
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCi0jaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8p
Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3J5cHRvQWxnb3JpdGhtRGVzY3JpcHRp
b25CdWlsZGVyOwpAQCAtNzMsMTAgKzc0LDEyIEBAIHByaXZhdGU6CiAgICAgQ3J5cHRvS2V5VXNh
Z2UgbV91c2FnZXM7CiB9OwogCi0jZGVmaW5lIENSWVBUT19LRVlfVFlQRV9DQVNUUyhUb0NsYXNz
TmFtZSkgXAotICAgIFRZUEVfQ0FTVFNfQkFTRShUb0NsYXNzTmFtZSwgQ3J5cHRvS2V5LCBrZXks
IFdlYkNvcmU6OmlzIyNUb0NsYXNzTmFtZSgqa2V5KSwgV2ViQ29yZTo6aXMjI1RvQ2xhc3NOYW1l
KGtleSkpCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorI2RlZmluZSBTUEVDSUFMSVpFX1RZ
UEVfVFJBSVRTX0NSWVBUT19LRVkoVG9DbGFzc05hbWUsIEtleUNsYXNzKSBcCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlRvQ2xhc3NOYW1lKSBcCisgICAgc3RhdGljIGJv
b2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkNyeXB0b0tleSYga2V5KSB7IHJldHVybiBrZXkua2V5
Q2xhc3MoKSA9PSBXZWJDb3JlOjpLZXlDbGFzczsgfSBcCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0VORCgpCisKICNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKICNlbmRpZiAvLyBDcnlw
dG9LZXlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5
cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcAppbmRleCBlOWNhZjE3NmExNzYyNzk1ZmEyZWNl
MmE5NjBlYTNkYmUxNmY2M2FmLi4xYzkwMGFkMGQwYTdjNWY1MzgxMjljZGM1MzRmZjg0NTZkY2Rh
Yzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1BRVNfQ0JDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcApAQCAtNjAsNyArNjAsNyBAQCBib29sIENyeXB0
b0FsZ29yaXRobUFFU19DQkM6OmtleUFsZ29yaXRobU1hdGNoZXMoY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtQWVzQ2JjUGFyYQogewogICAgIGlmIChrZXkuYWxnb3JpdGhtSWRlbnRpZmllcigpICE9IHNf
aWRlbnRpZmllcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIEFTU0VSVChpc0NyeXB0b0tl
eUFFUyhrZXkpKTsKKyAgICBBU1NFUlQoaXM8Q3J5cHRvS2V5QUVTPihrZXkpKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtNzQsNyArNzQsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19D
QkM6OmVuY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1FbmNyeXB0KGFlc0NCQ1BhcmFt
ZXRlcnMsIHRvQ3J5cHRvS2V5QUVTKGtleSksIGRhdGEsIFdURjo6bW92ZShjYWxsYmFjayksIFdU
Rjo6bW92ZShmYWlsdXJlQ2FsbGJhY2spLCBlYyk7CisgICAgcGxhdGZvcm1FbmNyeXB0KGFlc0NC
Q1BhcmFtZXRlcnMsIGRvd25jYXN0PENyeXB0b0tleUFFUz4oa2V5KSwgZGF0YSwgV1RGOjptb3Zl
KGNhbGxiYWNrKSwgV1RGOjptb3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsKIH0KIAogdm9pZCBD
cnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpkZWNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnMmIHBhcmFtZXRlcnMsIGNvbnN0IENyeXB0b0tleSYga2V5LCBjb25zdCBDcnlwdG9PcGVy
YXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNrIGZh
aWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQg
Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZGVjcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzJiBwYXJhbWV0ZXJzCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBwbGF0Zm9y
bURlY3J5cHQoYWVzQ0JDUGFyYW1ldGVycywgdG9DcnlwdG9LZXlBRVMoa2V5KSwgZGF0YSwgV1RG
Ojptb3ZlKGNhbGxiYWNrKSwgV1RGOjptb3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsKKyAgICBw
bGF0Zm9ybURlY3J5cHQoYWVzQ0JDUGFyYW1ldGVycywgZG93bmNhc3Q8Q3J5cHRvS2V5QUVTPihr
ZXkpLCBkYXRhLCBXVEY6Om1vdmUoY2FsbGJhY2spLCBXVEY6Om1vdmUoZmFpbHVyZUNhbGxiYWNr
KSwgZWMpOwogfQogCiB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmdlbmVyYXRlS2V5KGNv
bnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2sgY2FsbGJhY2ss
IFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tX
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19LVy5jcHAKaW5kZXggODcxZjhhZjE5MDlkMTcwZWZjMzczMGNhMmUxMGI4YzY4NTE2MmVmMC4u
MzY3YWM2MjliMDE1YTMyZjUxMjI4YTdmYThkN2U0Nzk5NWYyMTM1MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNf
S1cuY3BwCkBAIC01OSw3ICs1OSw3IEBAIGJvb2wgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjprZXlB
bGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0tleSYga2V5KSBjb25zdAogewogICAgIGlmIChr
ZXkuYWxnb3JpdGhtSWRlbnRpZmllcigpICE9IHNfaWRlbnRpZmllcikKICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIEFTU0VSVChpc0NyeXB0b0tleUFFUyhrZXkpKTsKKyAgICBBU1NFUlQoaXM8
Q3J5cHRvS2V5QUVTPihrZXkpKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtNzEsNyArNzEs
NyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6ZW5jcnlwdEZvcldyYXBLZXkoY29uc3Qg
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBwbGF0Zm9ybUVuY3J5cHQodG9DcnlwdG9LZXlBRVMoa2V5KSwgZGF0YSwgV1RGOjptb3ZlKGNh
bGxiYWNrKSwgV1RGOjptb3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsKKyAgICBwbGF0Zm9ybUVu
Y3J5cHQoZG93bmNhc3Q8Q3J5cHRvS2V5QUVTPihrZXkpLCBkYXRhLCBXVEY6Om1vdmUoY2FsbGJh
Y2spLCBXVEY6Om1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOwogfQogCiB2b2lkIENyeXB0b0Fs
Z29yaXRobUFFU19LVzo6ZGVjcnlwdEZvclVud3JhcEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzJiwgY29uc3QgQ3J5cHRvS2V5JiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRh
dGEmIGRhdGEsIFZlY3RvckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNh
bGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTgxLDcgKzgxLDcgQEAgdm9pZCBDcnlwdG9B
bGdvcml0aG1BRVNfS1c6OmRlY3J5cHRGb3JVbndyYXBLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycyYKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHBsYXRmb3JtRGVjcnlw
dCh0b0NyeXB0b0tleUFFUyhrZXkpLCBkYXRhLCBXVEY6Om1vdmUoY2FsbGJhY2spLCBXVEY6Om1v
dmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOworICAgIHBsYXRmb3JtRGVjcnlwdChkb3duY2FzdDxD
cnlwdG9LZXlBRVM+KGtleSksIGRhdGEsIFdURjo6bW92ZShjYWxsYmFjayksIFdURjo6bW92ZShm
YWlsdXJlQ2FsbGJhY2spLCBlYyk7CiB9CiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpn
ZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxi
YWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2Rl
JikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0Fs
Z29yaXRobUhNQUMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRv
QWxnb3JpdGhtSE1BQy5jcHAKaW5kZXggM2Y2MjA3MDgzMGRjY2NjMThmOWE3YjNiOWYwOGJlN2Zk
ZjA5YmZkOS4uMzZlNGQ4MTdmZDE2ZDcyY2EzNzc3Yzc2ZDNlYzFjMjA4YTlmM2M3YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1B
Qy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtSE1BQy5jcHAKQEAgLTYwLDkgKzYwLDggQEAgYm9vbCBDcnlwdG9BbGdvcml0aG1ITUFDOjpr
ZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0FsZ29yaXRobUhtYWNQYXJhbXMmIHAKIHsK
ICAgICBpZiAoa2V5LmFsZ29yaXRobUlkZW50aWZpZXIoKSAhPSBzX2lkZW50aWZpZXIpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICBBU1NFUlQoaXNDcnlwdG9LZXlITUFDKGtleSkpOwogCi0g
ICAgaWYgKHRvQ3J5cHRvS2V5SE1BQyhrZXkpLmhhc2hBbGdvcml0aG1JZGVudGlmaWVyKCkgIT0g
cGFyYW1ldGVycy5oYXNoKQorICAgIGlmIChkb3duY2FzdDxDcnlwdG9LZXlITUFDPihrZXkpLmhh
c2hBbGdvcml0aG1JZGVudGlmaWVyKCkgIT0gcGFyYW1ldGVycy5oYXNoKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTc3LDcgKzc2LDcgQEAgdm9pZCBDcnlw
dG9BbGdvcml0aG1ITUFDOjpzaWduKGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBh
cmFtZXRlcnMsIGNvbnMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHBsYXRmb3JtU2ln
bihobWFjUGFyYW1ldGVycywgdG9DcnlwdG9LZXlITUFDKGtleSksIGRhdGEsIFdURjo6bW92ZShj
YWxsYmFjayksIFdURjo6bW92ZShmYWlsdXJlQ2FsbGJhY2spLCBlYyk7CisgICAgcGxhdGZvcm1T
aWduKGhtYWNQYXJhbWV0ZXJzLCBkb3duY2FzdDxDcnlwdG9LZXlITUFDPihrZXkpLCBkYXRhLCBX
VEY6Om1vdmUoY2FsbGJhY2spLCBXVEY6Om1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOwogfQog
CiB2b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OnZlcmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXkmIGtleSwgY29uc3QgQ3J5cHRv
T3BlcmF0aW9uRGF0YSYgZXhwZWN0ZWRTaWduYXR1cmUsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRh
dGEmIGRhdGEsIEJvb2xDYWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNrIGZhaWx1cmVDYWxs
YmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC04OSw3ICs4OCw3IEBAIHZvaWQgQ3J5cHRvQWxn
b3JpdGhtSE1BQzo6dmVyaWZ5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMsIGNvCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBwbGF0Zm9ybVZlcmlmeSho
bWFjUGFyYW1ldGVycywgdG9DcnlwdG9LZXlITUFDKGtleSksIGV4cGVjdGVkU2lnbmF0dXJlLCBk
YXRhLCBXVEY6Om1vdmUoY2FsbGJhY2spLCBXVEY6Om1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMp
OworICAgIHBsYXRmb3JtVmVyaWZ5KGhtYWNQYXJhbWV0ZXJzLCBkb3duY2FzdDxDcnlwdG9LZXlI
TUFDPihrZXkpLCBleHBlY3RlZFNpZ25hdHVyZSwgZGF0YSwgV1RGOjptb3ZlKGNhbGxiYWNrKSwg
V1RGOjptb3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsKIH0KIAogdm9pZCBDcnlwdG9BbGdvcml0
aG1ITUFDOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJh
bWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtleU9yS2V5
UGFpckNhbGxiYWNrIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBFeGNl
cHRpb25Db2RlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKaW5kZXgg
NjEzZmJlNTczYmE0MDc3YmRiNjkyYjQ4YWY5YTIxMmI4YjRmNTFiYS4uZmQ3YzZlOTZhMzY5NzE5
MmFjZjZkZmI0YmU0OWNiMWM2OWFkNzhlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtD
UzFfdjFfNS5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgYm9vbCBDcnlwdG9BbGdvcml0aG1SU0FFU19Q
S0NTMV92MV81OjprZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0tleSYga2V5KQogewog
ICAgIGlmIChrZXkuYWxnb3JpdGhtSWRlbnRpZmllcigpICE9IHNfaWRlbnRpZmllcikKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIEFTU0VSVChpc0NyeXB0b0tleVJTQShrZXkpKTsKKyAgICBB
U1NFUlQoaXM8Q3J5cHRvS2V5UlNBPihrZXkpKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAt
NzEsNyArNzEsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmVuY3J5
cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYsCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBwbGF0Zm9ybUVuY3J5cHQodG9DcnlwdG9LZXlSU0Eoa2V5KSwgZGF0YSwgV1RG
Ojptb3ZlKGNhbGxiYWNrKSwgV1RGOjptb3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsKKyAgICBw
bGF0Zm9ybUVuY3J5cHQoZG93bmNhc3Q8Q3J5cHRvS2V5UlNBPihrZXkpLCBkYXRhLCBXVEY6Om1v
dmUoY2FsbGJhY2spLCBXVEY6Om1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOwogfQogCiB2b2lk
IENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmRlY3J5cHQoY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycyYsIGNvbnN0IENyeXB0b0tleSYga2V5LCBjb25zdCBDcnlwdG9PcGVy
YXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNrIGZh
aWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC04MSw3ICs4MSw3IEBAIHZvaWQg
Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6ZGVjcnlwdChjb25zdCBDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzJiwKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHBsYXRmb3Jt
RGVjcnlwdCh0b0NyeXB0b0tleVJTQShrZXkpLCBkYXRhLCBXVEY6Om1vdmUoY2FsbGJhY2spLCBX
VEY6Om1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOworICAgIHBsYXRmb3JtRGVjcnlwdChkb3du
Y2FzdDxDcnlwdG9LZXlSU0E+KGtleSksIGRhdGEsIFdURjo6bW92ZShjYWxsYmFjayksIFdURjo6
bW92ZShmYWlsdXJlQ2FsbGJhY2spLCBlYyk7CiB9CiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNB
RVNfUEtDUzFfdjFfNTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cyYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBL
ZXlPcktleVBhaXJDYWxsYmFjayBjYWxsYmFjaywgVm9pZENhbGxiYWNrIGZhaWx1cmVDYWxsYmFj
aywgRXhjZXB0aW9uQ29kZSYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5j
cHAKaW5kZXggMDcxNGY0N2ZhYjU1MTJlMzAxMjE2YWE0MzA3ZTA1N2FlMzY1YzIxMS4uZWI0M2E5
MTc5NTNmYjRjMjNiOWRkYzdmYTU0ZTdlMjA2MWY0M2Q3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bVJTQVNTQV9QS0NTMV92MV81LmNwcApAQCAtNjEsMTAgKzYxLDkgQEAgYm9vbCBDcnlwdG9BbGdv
cml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6a2V5QWxnb3JpdGhtTWF0Y2hlcyhjb25zdCBDcnlwdG9B
bGdvcml0aG0KIHsKICAgICBpZiAoa2V5LmFsZ29yaXRobUlkZW50aWZpZXIoKSAhPSBzX2lkZW50
aWZpZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBBU1NFUlQoaXNDcnlwdG9LZXlSU0Eo
a2V5KSk7CiAKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGtleUhhc2g7Ci0gICAgaWYg
KHRvQ3J5cHRvS2V5UlNBKGtleSkuaXNSZXN0cmljdGVkVG9IYXNoKGtleUhhc2gpICYmIGtleUhh
c2ggIT0gYWxnb3JpdGhtUGFyYW1ldGVycy5oYXNoKQorICAgIGlmIChkb3duY2FzdDxDcnlwdG9L
ZXlSU0E+KGtleSkuaXNSZXN0cmljdGVkVG9IYXNoKGtleUhhc2gpICYmIGtleUhhc2ggIT0gYWxn
b3JpdGhtUGFyYW1ldGVycy5oYXNoKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTc5LDcgKzc4LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtD
UzFfdjFfNTo6c2lnbihjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXIKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIHBsYXRmb3JtU2lnbihyc2FTU0FQYXJhbWV0ZXJzLCB0
b0NyeXB0b0tleVJTQShrZXkpLCBkYXRhLCBXVEY6Om1vdmUoY2FsbGJhY2spLCBXVEY6Om1vdmUo
ZmFpbHVyZUNhbGxiYWNrKSwgZWMpOworICAgIHBsYXRmb3JtU2lnbihyc2FTU0FQYXJhbWV0ZXJz
LCBkb3duY2FzdDxDcnlwdG9LZXlSU0E+KGtleSksIGRhdGEsIFdURjo6bW92ZShjYWxsYmFjayks
IFdURjo6bW92ZShmYWlsdXJlQ2FsbGJhY2spLCBlYyk7CiB9CiAKIHZvaWQgQ3J5cHRvQWxnb3Jp
dGhtUlNBU1NBX1BLQ1MxX3YxXzU6OnZlcmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXkmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0
aW9uRGF0YSYgc2lnbmF0dXJlLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBCb29s
Q2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlv
bkNvZGUmIGVjKQpAQCAtOTEsNyArOTAsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJTQVNTQV9Q
S0NTMV92MV81Ojp2ZXJpZnkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcAogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1WZXJpZnkocnNhU1NBUGFyYW1ldGVy
cywgdG9DcnlwdG9LZXlSU0Eoa2V5KSwgc2lnbmF0dXJlLCBkYXRhLCBXVEY6Om1vdmUoY2FsbGJh
Y2spLCBXVEY6Om1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOworICAgIHBsYXRmb3JtVmVyaWZ5
KHJzYVNTQVBhcmFtZXRlcnMsICBkb3duY2FzdDxDcnlwdG9LZXlSU0E+KGtleSksIHNpZ25hdHVy
ZSwgZGF0YSwgV1RGOjptb3ZlKGNhbGxiYWNrKSwgV1RGOjptb3ZlKGZhaWx1cmVDYWxsYmFjayks
IGVjKTsKIH0KIAogdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6Z2VuZXJh
dGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycywgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayBj
YWxsYmFjaywgVm9pZENhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1SU0FfT0FFUC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1SU0FfT0FFUC5jcHAKaW5kZXggODhiYjc3MTY5M2VkYTdmNjFlMDNmMzI4OGE3OTIy
MGYxNWFkZGY4MC4uMTk3MjliMDljNTZkM2MxZmM1YjY0ODE0ZWJhYmY5Zjc2NjNmYTU0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGht
UlNBX09BRVAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobVJTQV9PQUVQLmNwcApAQCAtNjEsMTAgKzYxLDkgQEAgYm9vbCBDcnlwdG9BbGdv
cml0aG1SU0FfT0FFUDo6a2V5QWxnb3JpdGhtTWF0Y2hlcyhjb25zdCBDcnlwdG9BbGdvcml0aG1S
c2FPYWVwUGEKIHsKICAgICBpZiAoa2V5LmFsZ29yaXRobUlkZW50aWZpZXIoKSAhPSBzX2lkZW50
aWZpZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBBU1NFUlQoaXNDcnlwdG9LZXlSU0Eo
a2V5KSk7CiAKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGtleUhhc2g7Ci0gICAgaWYg
KHRvQ3J5cHRvS2V5UlNBKGtleSkuaXNSZXN0cmljdGVkVG9IYXNoKGtleUhhc2gpICYmIGtleUhh
c2ggIT0gYWxnb3JpdGhtUGFyYW1ldGVycy5oYXNoKQorICAgIGlmIChkb3duY2FzdDxDcnlwdG9L
ZXlSU0E+KGtleSkuaXNSZXN0cmljdGVkVG9IYXNoKGtleUhhc2gpICYmIGtleUhhc2ggIT0gYWxn
b3JpdGhtUGFyYW1ldGVycy5oYXNoKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTc5LDcgKzc4LDcgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6
ZW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXIKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIHBsYXRmb3JtRW5jcnlwdChyc2FPQUVQUGFyYW1ldGVy
cywgdG9DcnlwdG9LZXlSU0Eoa2V5KSwgZGF0YSwgV1RGOjptb3ZlKGNhbGxiYWNrKSwgV1RGOjpt
b3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsKKyAgICBwbGF0Zm9ybUVuY3J5cHQocnNhT0FFUFBh
cmFtZXRlcnMsIGRvd25jYXN0PENyeXB0b0tleVJTQT4oa2V5KSwgZGF0YSwgV1RGOjptb3ZlKGNh
bGxiYWNrKSwgV1RGOjptb3ZlKGZhaWx1cmVDYWxsYmFjayksIGVjKTsKIH0KIAogdm9pZCBDcnlw
dG9BbGdvcml0aG1SU0FfT0FFUDo6ZGVjcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXkmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0
aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJhY2sgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayBmYWls
dXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAtOTEsNyArOTAsNyBAQCB2b2lkIENy
eXB0b0FsZ29yaXRobVJTQV9PQUVQOjpkZWNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnMmIHBhcmFtZXRlcgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1E
ZWNyeXB0KHJzYU9BRVBQYXJhbWV0ZXJzLCB0b0NyeXB0b0tleVJTQShrZXkpLCBkYXRhLCBXVEY6
Om1vdmUoY2FsbGJhY2spLCBXVEY6Om1vdmUoZmFpbHVyZUNhbGxiYWNrKSwgZWMpOworICAgIHBs
YXRmb3JtRGVjcnlwdChyc2FPQUVQUGFyYW1ldGVycywgZG93bmNhc3Q8Q3J5cHRvS2V5UlNBPihr
ZXkpLCBkYXRhLCBXVEY6Om1vdmUoY2FsbGJhY2spLCBXVEY6Om1vdmUoZmFpbHVyZUNhbGxiYWNr
KSwgZWMpOwogfQogCiB2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpnZW5lcmF0ZUtleShj
b25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3Rh
YmxlLCBDcnlwdG9LZXlVc2FnZSB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrIGNhbGxiYWNr
LCBWb2lkQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5oIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmgKaW5kZXggNGUwZDVmNzg3ZGQ1N2ZiZTBj
OWJmNWVhZDg0ZjA4MTVhM2UxMzdhMy4uMGI3YmI2MTFiNDA3ZGVlYWI0NWJhNTAzNjZkNGZkNGQz
OWY0NDkwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5
QUVTLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmgKQEAg
LTU5LDE2ICs1OSwxMCBAQCBwcml2YXRlOgogICAgIFZlY3Rvcjx1aW50OF90PiBtX2tleTsKIH07
CiAKLWlubGluZSBib29sIGlzQ3J5cHRvS2V5QUVTKGNvbnN0IENyeXB0b0tleSYga2V5KQotewot
ICAgIHJldHVybiBrZXkua2V5Q2xhc3MoKSA9PSBDcnlwdG9LZXlDbGFzczo6QUVTOwotfQotCi1D
UllQVE9fS0VZX1RZUEVfQ0FTVFMoQ3J5cHRvS2V5QUVTKQotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKK1NQRUNJQUxJWkVfVFlQRV9U
UkFJVFNfQ1JZUFRPX0tFWShDcnlwdG9LZXlBRVMsIENyeXB0b0tleUNsYXNzOjpBRVMpCiAKKyNl
bmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAogI2VuZGlmIC8vIENyeXB0b0tleUFFU19o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmgKaW5kZXggNmU1YjM1
OWEzOGI2MjcwODJhNDI2ZWFiYjUyMjIyNGExMDgwZjc3My4uYjc4M2M2NmEwMTVhZWYyOWU4ODY1
MzQzOWY0OTkwZmM1ODljMjJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5SE1BQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUhNQUMuaApAQCAtNjAsMTQgKzYwLDkgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8dWludDhf
dD4gbV9rZXk7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0NyeXB0b0tleUhNQUMoY29uc3QgQ3J5cHRv
S2V5JiBrZXkpCi17Ci0gICAgcmV0dXJuIGtleS5rZXlDbGFzcygpID09IENyeXB0b0tleUNsYXNz
OjpITUFDOwotfQotCi1DUllQVE9fS0VZX1RZUEVfQ0FTVFMoQ3J5cHRvS2V5SE1BQykKLQogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NSWVBUT19LRVko
Q3J5cHRvS2V5SE1BQywgQ3J5cHRvS2V5Q2xhc3M6OkhNQUMpCisKICNlbmRpZiAvLyBFTkFCTEUo
U1VCVExFX0NSWVBUTykKICNlbmRpZiAvLyBDcnlwdG9LZXlITUFDX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5oIGIvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmgKaW5kZXggMWM1ZTdiZDMzMjYwNTUzNDNjNmIxMDRh
YWY3OWQxNmI2ZDk4ZjExMy4uNTFkZDNmNjYxNWY5M2JiNTJkNTdmNWE0YjM4OTAxM2MyNmJmNWQ0
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmgKQEAgLTgxLDE0
ICs4MSw5IEBAIHByaXZhdGU6CiAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBtX2hhc2g7
CiB9OwogCi1pbmxpbmUgYm9vbCBpc0NyeXB0b0tleVJTQShjb25zdCBDcnlwdG9LZXkmIGtleSkK
LXsKLSAgICByZXR1cm4ga2V5LmtleUNsYXNzKCkgPT0gQ3J5cHRvS2V5Q2xhc3M6OlJTQTsKLX0K
LQotQ1JZUFRPX0tFWV9UWVBFX0NBU1RTKENyeXB0b0tleVJTQSkKLQogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NSWVBUT19LRVkoQ3J5cHRvS2V5UlNB
LCBDcnlwdG9LZXlDbGFzczo6UlNBKQorCiAjZW5kaWYgLy8gRU5BQkxFKFNVQlRMRV9DUllQVE8p
CiAjZW5kaWYgLy8gQ3J5cHRvS2V5UlNBX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>