<?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>169232</bug_id>
          
          <creation_ts>2017-03-06 15:59:37 -0800</creation_ts>
          <short_desc>[WebCrypto] Make sure all CryptoKey classes are structured clonable</short_desc>
          <delta_ts>2017-03-17 14:18:50 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>166746</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1284031</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-06 15:59:37 -0800</bug_when>
    <thetext>Make CryptoKeyEC structured clonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284032</commentid>
    <comment_count>1</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-06 16:00:52 -0800</bug_when>
    <thetext>&lt;rdar://problem/23789585&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285250</commentid>
    <comment_count>2</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-09 00:32:13 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; &lt;rdar://problem/23789585&gt;

This radar is faked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285252</commentid>
    <comment_count>3</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-09 00:33:06 -0800</bug_when>
    <thetext>We should make sure all CryptoKey classes are structured clonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285253</commentid>
    <comment_count>4</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-09 00:35:36 -0800</bug_when>
    <thetext>This includes CryptoKeyAES, CryptoKeyHMAC, CryptoKeyEE, CryptoKeyRSA and CryptoKeyRaw.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285254</commentid>
    <comment_count>5</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-09 00:37:06 -0800</bug_when>
    <thetext>For all CryptoKey, we should make sure they have move constructors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288919</commentid>
    <comment_count>6</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-16 20:47:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/31106660&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288920</commentid>
    <comment_count>7</comment_count>
      <attachid>304747</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-16 20:57:41 -0700</bug_when>
    <thetext>Created attachment 304747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288922</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-16 20:59:50 -0700</bug_when>
    <thetext>Attachment 304747 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:196:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/bindings/js/SerializedScriptValue.cpp:197:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 2 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289119</commentid>
    <comment_count>9</comment_count>
      <attachid>304747</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-03-17 13:18:29 -0700</bug_when>
    <thetext>Comment on attachment 304747
Patch

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289138</commentid>
    <comment_count>10</comment_count>
      <attachid>304747</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-17 13:48:59 -0700</bug_when>
    <thetext>Comment on attachment 304747
Patch

Thanks Brent for r+ my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289154</commentid>
    <comment_count>11</comment_count>
      <attachid>304747</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-17 14:18:46 -0700</bug_when>
    <thetext>Comment on attachment 304747
Patch

Clearing flags on attachment: 304747

Committed r214122: &lt;http://trac.webkit.org/changeset/214122&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289155</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-17 14:18:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304747</attachid>
            <date>2017-03-16 20:57:41 -0700</date>
            <delta_ts>2017-03-17 14:18:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169232-20170316205740.patch</filename>
            <type>text/plain</type>
            <size>31777</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWEyNjM5NDU2YWU2OWYx
MDljOGE5Njc0MWYxNjExYzNlMDcyZGE3YS4uNDRjZjAyNWI5ZjFkNmY2N2Y5NDU0YjQ2MzFlNzg5
YjNmMDllZmI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE3LTAzLTE2ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkNyeXB0b10gTWFr
ZSBzdXJlIGFsbCBDcnlwdG9LZXkgY2xhc3NlcyBhcmUgc3RydWN0dXJlZCBjbG9uYWJsZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MjMyCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8zMTEwNjY2MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGRvZXMgdGhlIGZvbGxvd2luZyBmZXcg
dGhpbmdzOiAxKSBJdCBtYWtlcyBDcnlwdG9LZXlFQyBhbmQgQ3J5cHRvS2V5UmF3CisgICAgICAg
IHN0cnVjdHVyZWQgY2xvbmFibGU7IDIpIEl0IG1ha2VzIENyeXB0b0tleUFFUyBhbmQgQ3J5cHRv
S2V5SE1BQyB0byB1c2UgYSBtb3ZlIGltcG9ydGVyCisgICAgICAgIGR1cmluZyBkZXNlcmlhbGl6
YXRpb247IDMpIEl0IGFkZHMgc29tZSB0ZXN0cyB0byBtYWtlIHN1cmUgQ3J5cHRvS2V5QUVTLCBD
cnlwdG9LZXlITUFDCisgICAgICAgIGFuZCBDcnlwdG9LZXlSU0Egd29uJ3QgbG9zZSB0aGVpciBp
bnRlcm5hbCBkYXRhIGR1cmluZyBzZXJpYWxpemF0aW9uL2Rlc2VyaWFsaXphdGlvbi4KKworICAg
ICAgICBUZXN0czogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2VjLXBvc3RNZXNzYWdlLXdvcmtlci5o
dG1sCisgICAgICAgICAgICAgICBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmF3LXBvc3RNZXNzYWdl
LXdvcmtlci5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFs
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJpYWxpemVyOjp3cml0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZEhNQUNLZXkpOgorICAgICAgICAo
V2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRBRVNLZXkpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRFQ0tleSk6CisgICAgICAgIChXZWJDb3JlOjpDbG9u
ZURlc2VyaWFsaXplcjo6cmVhZFJhd0tleSk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2Vy
aWFsaXplcjo6cmVhZENyeXB0b0tleSk6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5
RUMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvS2V5RUM6Om5hbWVkQ3VydmVTdHJpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvS2V5RUM6OmlzVmFsaWRFQ0FsZ29yaXRobSk6Cisg
ICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5RUMuaDoKKwogMjAxNy0wMy0xNiAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBHVEsg
YnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcAppbmRleCAxZDVkY2NhYmJkNTA1OTVlZGFjMWFjZGRmYzdhODQ5NTI2OTBh
NTMzLi45MmE3MzIyMGYzMGFmOGZkMTAzYTQzYTVjZTEwYmM0YzlhODQzMGFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAK
QEAgLTMyLDggKzMyLDEwIEBACiAjaW5jbHVkZSAiQ3J5cHRvS2V5QUVTLmgiCiAjaW5jbHVkZSAi
Q3J5cHRvS2V5RGF0YU9jdGV0U2VxdWVuY2UuaCIKICNpbmNsdWRlICJDcnlwdG9LZXlEYXRhUlNB
Q29tcG9uZW50cy5oIgorI2luY2x1ZGUgIkNyeXB0b0tleUVDLmgiCiAjaW5jbHVkZSAiQ3J5cHRv
S2V5SE1BQy5oIgogI2luY2x1ZGUgIkNyeXB0b0tleVJTQS5oIgorI2luY2x1ZGUgIkNyeXB0b0tl
eVJhdy5oIgogI2luY2x1ZGUgIkZpbGUuaCIKICNpbmNsdWRlICJGaWxlTGlzdC5oIgogI2luY2x1
ZGUgIklEQlZhbHVlLmgiCkBAIC0xOTEsOSArMTkzLDExIEBAIGNvbnN0IHVpbnQzMl90IGN1cnJl
bnRLZXlGb3JtYXRWZXJzaW9uID0gMTsKIGVudW0gY2xhc3MgQ3J5cHRvS2V5Q2xhc3NTdWJ0YWcg
ewogICAgIEhNQUMgPSAwLAogICAgIEFFUyA9IDEsCi0gICAgUlNBID0gMgorICAgIFJTQSA9IDIs
CisgICAgRUMgPSAzLAorICAgIFJhdyA9IDQsCiB9OwotY29uc3QgdWludDhfdCBjcnlwdG9LZXlD
bGFzc1N1YnRhZ01heGltdW1WYWx1ZSA9IDI7Citjb25zdCB1aW50OF90IGNyeXB0b0tleUNsYXNz
U3VidGFnTWF4aW11bVZhbHVlID0gNDsKIAogZW51bSBjbGFzcyBDcnlwdG9LZXlBc3ltbWV0cmlj
VHlwZVN1YnRhZyB7CiAgICAgUHVibGljID0gMCwKQEAgLTM4Myw2ICszODcsMTIgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIFN0cmluZ0RhdGFJczhCaXRGbGFnID0gMHg4MDAwMDAwMDsKICAqCiAg
KiBQcmltZUluZm8gOi0KICAqICAgIDxmYWN0b3JTaXplOnVpbnQzMl90PiA8ZmFjdG9yOmJ5dGV7
ZmFjdG9yU2l6ZX0+IDxjcnRFeHBvbmVudFNpemU6dWludDMyX3Q+IDxjcnRFeHBvbmVudDpieXRl
e2NydEV4cG9uZW50U2l6ZX0+IDxjcnRDb2VmZmljaWVudFNpemU6dWludDMyX3Q+IDxjcnRDb2Vm
ZmljaWVudDpieXRle2NydENvZWZmaWNpZW50U2l6ZX0+CisgKgorICogQ3J5cHRvS2V5RUMgOi0K
KyAqICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXJUYWcgPG5hbWVkQ3VydmU6U3RyaW5nRGF0
YT4gQ3J5cHRvS2V5QXN5bW1ldHJpY1R5cGVTdWJ0YWcgPGtleVNpemU6dWludDMyX3Q+IDxrZXlE
YXRhOmJ5dGV7a2V5U2l6ZX0+CisgKgorICogQ3J5cHRvS2V5UmF3IDotCisgKiAgICBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyVGFnIDxrZXlTaXplOnVpbnQzMl90PiA8a2V5RGF0YTpieXRle2tl
eVNpemV9PgogICovCiAKIHVzaW5nIERlc2VyaWFsaXphdGlvblJlc3VsdCA9IHN0ZDo6cGFpcjxK
U0M6OkpTVmFsdWUsIFNlcmlhbGl6YXRpb25SZXR1cm5Db2RlPjsKQEAgLTEyMDksMTIgKzEyMTks
MzMgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHdyaXRlKGRvd25jYXN0PENyeXB0b0tleUFFUz4o
KmtleSkua2V5KCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ3J5cHRvS2V5
Q2xhc3M6OkVDOgotICAgICAgICAgICAgLy8gQSBkdW1teSBpbXBsZW1lbnRhdGlvbiBmb3Igbm93
LgotICAgICAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjkyMzIKKyAgICAgICAgICAgIHdyaXRlKENyeXB0b0tleUNsYXNzU3VidGFnOjpF
Qyk7CisgICAgICAgICAgICB3cml0ZShrZXktPmFsZ29yaXRobUlkZW50aWZpZXIoKSk7CisgICAg
ICAgICAgICB3cml0ZShkb3duY2FzdDxDcnlwdG9LZXlFQz4oKmtleSkubmFtZWRDdXJ2ZVN0cmlu
ZygpKTsKKyAgICAgICAgICAgIHN3aXRjaCAoa2V5LT50eXBlKCkpIHsKKyAgICAgICAgICAgIGNh
c2UgQ3J5cHRvS2V5OjpUeXBlOjpQdWJsaWM6IHsKKyAgICAgICAgICAgICAgICB3cml0ZShDcnlw
dG9LZXlBc3ltbWV0cmljVHlwZVN1YnRhZzo6UHVibGljKTsKKyAgICAgICAgICAgICAgICBhdXRv
IHJlc3VsdCA9IGRvd25jYXN0PENyeXB0b0tleUVDPigqa2V5KS5leHBvcnRSYXcoKTsKKyAgICAg
ICAgICAgICAgICBBU1NFUlQoIXJlc3VsdC5oYXNFeGNlcHRpb24oKSk7CisgICAgICAgICAgICAg
ICAgd3JpdGUocmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhc2UgQ3J5cHRvS2V5OjpUeXBlOjpQ
cml2YXRlOiB7CisgICAgICAgICAgICAgICAgd3JpdGUoQ3J5cHRvS2V5QXN5bW1ldHJpY1R5cGVT
dWJ0YWc6OlByaXZhdGUpOworICAgICAgICAgICAgICAgIC8vIFVzZSB0aGUgc3RhbmRhcmQgY29t
cGxpZWQgbWV0aG9kIGlzIG5vdCB2ZXJ5IGVmZmljaWVudCwgYnV0IHNpbXBsZS9yZWxpYWJsZS4K
KyAgICAgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IGRvd25jYXN0PENyeXB0b0tleUVDPigqa2V5
KS5leHBvcnRQa2NzOCgpOworICAgICAgICAgICAgICAgIEFTU0VSVCghcmVzdWx0Lmhhc0V4Y2Vw
dGlvbigpKTsKKyAgICAgICAgICAgICAgICB3cml0ZShyZXN1bHQucmVsZWFzZVJldHVyblZhbHVl
KCkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0tleUNsYXNzOjpS
YXc6Ci0gICAgICAgICAgICAvLyBBIGR1bW15IGltcGxlbWVudGF0aW9uIGZvciBub3cuCi0gICAg
ICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2OTIzMgorICAgICAgICAgICAgd3JpdGUoQ3J5cHRvS2V5Q2xhc3NTdWJ0YWc6OlJhdyk7Cisg
ICAgICAgICAgICB3cml0ZShrZXktPmFsZ29yaXRobUlkZW50aWZpZXIoKSk7CisgICAgICAgICAg
ICB3cml0ZShkb3duY2FzdDxDcnlwdG9LZXlSYXc+KCprZXkpLmtleSgpKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0tleUNsYXNzOjpSU0E6CiAgICAgICAgICAgICB3
cml0ZShDcnlwdG9LZXlDbGFzc1N1YnRhZzo6UlNBKTsKQEAgLTIwMzEsNyArMjA2Miw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaDsKICAgICAgICAg
aWYgKCFyZWFkKGhhc2gpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1
bHQgPSBDcnlwdG9LZXlITUFDOjpjcmVhdGUoa2V5RGF0YSwgaGFzaCwgZXh0cmFjdGFibGUsIHVz
YWdlcyk7CisgICAgICAgIHJlc3VsdCA9IENyeXB0b0tleUhNQUM6OmltcG9ydFJhdygwLCBoYXNo
LCBXVEZNb3ZlKGtleURhdGEpLCBleHRyYWN0YWJsZSwgdXNhZ2VzKTsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogCkBAIC0yMDQ1LDcgKzIwNzYsNyBAQCBwcml2YXRlOgogICAgICAgICBW
ZWN0b3I8dWludDhfdD4ga2V5RGF0YTsKICAgICAgICAgaWYgKCFyZWFkKGtleURhdGEpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXN1bHQgPSBDcnlwdG9LZXlBRVM6OmNy
ZWF0ZShhbGdvcml0aG0sIGtleURhdGEsIGV4dHJhY3RhYmxlLCB1c2FnZXMpOworICAgICAgICBy
ZXN1bHQgPSBDcnlwdG9LZXlBRVM6OmltcG9ydFJhdyhhbGdvcml0aG0sIFdURk1vdmUoa2V5RGF0
YSksIGV4dHJhY3RhYmxlLCB1c2FnZXMpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
QEAgLTIxMjcsNiArMjE1OCw0NyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKKyAgICBib29sIHJlYWRFQ0tleShib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCB1c2FnZXMsIFJlZlB0cjxDcnlwdG9LZXk+JiByZXN1bHQpCisgICAgeworICAgICAg
ICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobTsKKyAgICAgICAgaWYgKCFyZWFk
KGFsZ29yaXRobSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICghQ3J5
cHRvS2V5RUM6OmlzVmFsaWRFQ0FsZ29yaXRobShhbGdvcml0aG0pKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICBDYWNoZWRTdHJpbmdSZWYgY3VydmU7CisgICAgICAgIGlmICgh
cmVhZFN0cmluZ0RhdGEoY3VydmUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICBDcnlwdG9LZXlBc3ltbWV0cmljVHlwZVN1YnRhZyB0eXBlOworICAgICAgICBpZiAoIXJlYWQo
dHlwZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIFZlY3Rvcjx1aW50OF90
PiBrZXlEYXRhOworICAgICAgICBpZiAoIXJlYWQoa2V5RGF0YSkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgQ3J5cHRv
S2V5QXN5bW1ldHJpY1R5cGVTdWJ0YWc6OlB1YmxpYzoKKyAgICAgICAgICAgIHJlc3VsdCA9IENy
eXB0b0tleUVDOjppbXBvcnRSYXcoYWxnb3JpdGhtLCBjdXJ2ZS0+c3RyaW5nKCksIFdURk1vdmUo
a2V5RGF0YSksIGV4dHJhY3RhYmxlLCB1c2FnZXMpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgQ3J5cHRvS2V5QXN5bW1ldHJpY1R5cGVTdWJ0YWc6OlByaXZhdGU6CisgICAgICAg
ICAgICByZXN1bHQgPSBDcnlwdG9LZXlFQzo6aW1wb3J0UGtjczgoYWxnb3JpdGhtLCBjdXJ2ZS0+
c3RyaW5nKCksIFdURk1vdmUoa2V5RGF0YSksIGV4dHJhY3RhYmxlLCB1c2FnZXMpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisK
KyAgICBib29sIHJlYWRSYXdLZXkoQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBSZWZQdHI8
Q3J5cHRvS2V5PiYgcmVzdWx0KQorICAgIHsKKyAgICAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
ZmllciBhbGdvcml0aG07CisgICAgICAgIGlmICghcmVhZChhbGdvcml0aG0pKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICBWZWN0b3I8dWludDhfdD4ga2V5RGF0YTsKKyAgICAg
ICAgaWYgKCFyZWFkKGtleURhdGEpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICByZXN1bHQgPSBDcnlwdG9LZXlSYXc6OmNyZWF0ZShhbGdvcml0aG0sIFdURk1vdmUoa2V5RGF0
YSksIHVzYWdlcyk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIGJvb2wgcmVh
ZENyeXB0b0tleShKU1ZhbHVlJiBjcnlwdG9LZXkpCiAgICAgewogICAgICAgICB1aW50MzJfdCBr
ZXlGb3JtYXRWZXJzaW9uOwpAQCAtMjE5MSw2ICsyMjYzLDE0IEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICBpZiAoIXJlYWRSU0FLZXkoZXh0cmFjdGFibGUsIHVzYWdlcywgcmVzdWx0KSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBDcnlwdG9LZXlDbGFzc1N1YnRhZzo6RUM6CisgICAgICAgICAgICBpZiAoIXJlYWRFQ0tleShl
eHRyYWN0YWJsZSwgdXNhZ2VzLCByZXN1bHQpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0tleUNsYXNzU3VidGFn
OjpSYXc6CisgICAgICAgICAgICBpZiAoIXJlYWRSYXdLZXkodXNhZ2VzLCByZXN1bHQpKQorICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CiAgICAgICAgIGNyeXB0b0tleSA9IGdldEpTVmFsdWUocmVzdWx0LmdldCgpKTsKICAgICAgICAg
cmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9LZXlFQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlFQy5jcHAK
aW5kZXggZDhkZTYxZTFhYTNkZGYzMjYzZmJmZWNiZGYxMGQyMzIxY2U3YmRkMC4uZGIyZWJhN2Ex
NjZiYmQ2ZGI4YzIyZjk2NDhmMDExOGM0NTFhZTIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5RUMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9rZXlzL0NyeXB0b0tleUVDLmNwcApAQCAtMTczLDYgKzE3MywyNCBAQCBFeGNlcHRpb25PcjxW
ZWN0b3I8dWludDhfdD4+IENyeXB0b0tleUVDOjpleHBvcnRQa2NzOCgpIGNvbnN0CiAgICAgcmV0
dXJuIHBsYXRmb3JtRXhwb3J0UGtjczgoKTsKIH0KIAorU3RyaW5nIENyeXB0b0tleUVDOjpuYW1l
ZEN1cnZlU3RyaW5nKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fY3VydmUpIHsKKyAgICBjYXNl
IE5hbWVkQ3VydmU6OlAyNTY6CisgICAgICAgIHJldHVybiBTdHJpbmcoUDI1Nik7CisgICAgY2Fz
ZSBOYW1lZEN1cnZlOjpQMzg0OgorICAgICAgICByZXR1cm4gU3RyaW5nKFAzODQpOworICAgIH0K
KworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBlbXB0eVN0cmluZygpOwor
fQorCitib29sIENyeXB0b0tleUVDOjppc1ZhbGlkRUNBbGdvcml0aG0oQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllciBhbGdvcml0aG0pCit7CisgICAgcmV0dXJuIGFsZ29yaXRobSA9PSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpFQ0RTQSB8fCBhbGdvcml0aG0gPT0gQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllcjo6RUNESDsKK30KKwogc3RkOjp1bmlxdWVfcHRyPEtleUFsZ29yaXRobT4gQ3J5
cHRvS2V5RUM6OmJ1aWxkQWxnb3JpdGhtKCkgY29uc3QKIHsKICAgICBTdHJpbmcgbmFtZSA9IENy
eXB0b0FsZ29yaXRobVJlZ2lzdHJ5OjpzaW5nbGV0b24oKS5uYW1lKGFsZ29yaXRobUlkZW50aWZp
ZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlF
Qy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5RUMuaAppbmRleCAwMjhj
Mzg3ZWViOTdjZDliMzBlZTBiMzc3M2Y2ZTlkZmFjODU4NWZmLi5mMThkNDE0ZTc4YmJiMGY5Mjhl
ZmYzOTg5ZWI1MTJmNDc0MzQ1OTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
a2V5cy9DcnlwdG9LZXlFQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUVDLmgKQEAgLTg5LDcgKzg5LDkgQEAgcHVibGljOgogCiAgICAgc2l6ZV90IGtleVNpemVJ
bkJpdHMoKSBjb25zdDsKICAgICBOYW1lZEN1cnZlIG5hbWVkQ3VydmUoKSBjb25zdCB7IHJldHVy
biBtX2N1cnZlOyB9CisgICAgU3RyaW5nIG5hbWVkQ3VydmVTdHJpbmcoKSBjb25zdDsKICAgICBQ
bGF0Zm9ybUVDS2V5IHBsYXRmb3JtS2V5KCkgeyByZXR1cm4gbV9wbGF0Zm9ybUtleTsgfQorICAg
IHN0YXRpYyBib29sIGlzVmFsaWRFQ0FsZ29yaXRobShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
KTsKIAogcHJpdmF0ZToKICAgICBDcnlwdG9LZXlFQyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
LCBOYW1lZEN1cnZlLCBDcnlwdG9LZXlUeXBlLCBQbGF0Zm9ybUVDS2V5LCBib29sIGV4dHJhY3Rh
YmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDIxMzM0YWM1ODEyOGYzOTcxZTY1
YWVmMDYwODkxMWUzZTliNjA2ZC4uODI0ZmNhMzdlOTJjMjQ5M2VkYmQyNGQ1ZGZlY2M0ZDMwMzYy
OTE1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTAzLTE2ICBKaWV3ZW4gVGFuICA8amll
d2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkNyeXB0b10gTWFrZSBzdXJlIGFsbCBD
cnlwdG9LZXkgY2xhc3NlcyBhcmUgc3RydWN0dXJlZCBjbG9uYWJsZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MjMyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8zMTEwNjY2MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtcG9zdE1lc3NhZ2Utd29ya2Vy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLXBvc3RN
ZXNzYWdlLXdvcmtlci5odG1sOgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9lYy1w
b3N0TWVzc2FnZS13b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
d29ya2Vycy9zdWJ0bGUvZWMtcG9zdE1lc3NhZ2Utd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLXBvc3RNZXNzYWdlLXdvcmtlci1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtcG9zdE1lc3NhZ2Ut
d29ya2VyLmh0bWw6CisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jhdy1wb3N0TWVz
c2FnZS13b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vy
cy9zdWJ0bGUvcmF3LXBvc3RNZXNzYWdlLXdvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2VjLXBvc3RNZXNzYWdlLXdvcmtlci5qczog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yYXctcG9z
dE1lc3NhZ2Utd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0
bGUvcmVzb3VyY2VzL3JzYS1wb3N0TWVzc2FnZS13b3JrZXIuanM6CisgICAgICAgICogY3J5cHRv
L3dvcmtlcnMvc3VidGxlL3JzYS1wb3N0TWVzc2FnZS13b3JrZXItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtcG9zdE1lc3NhZ2Utd29ya2VyLmh0bWw6
CisKIDIwMTctMDMtMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIGFjdGl2YXRpbmcgd2VicnRjIHRlc3RzIG9uIFJlbGVhc2UgYm90cwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1wb3N0TWVzc2FnZS13b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1wb3N0
TWVzc2FnZS13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDQ4ZGU4YWM3N2VhYmE3NjVlNDhiZTUz
ZmZkNjc1MTQzNGQwMzhkNDcuLjE5MWI3YWQ0OTYyNjliMGE0YWNlYmMwNmQ3MTkxZjdkMTlmNDI2
ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtcG9z
dE1lc3NhZ2Utd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29y
a2Vycy9zdWJ0bGUvYWVzLXBvc3RNZXNzYWdlLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTksNiAr
OSw3IEBAIFBBU1Mga2V5LmV4dHJhY3RhYmxlIGlzIHRydWUKIFBBU1Mga2V5LmFsZ29yaXRobS5u
YW1lIGlzICdBRVMtQ0JDJwogUEFTUyBrZXkuYWxnb3JpdGhtLmxlbmd0aCBpcyAxMjgKIFBBU1Mg
a2V5LnVzYWdlcyBpcyBbJ2RlY3J5cHQnLCAnZW5jcnlwdCddCitQQVNTIGJ5dGVzVG9BU0NJSVN0
cmluZyhleHBvcnRlZEtleSkgaXMgcmF3S2V5QXNjaWkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL2Flcy1wb3N0TWVzc2FnZS13b3JrZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtcG9zdE1lc3NhZ2Utd29ya2VyLmh0bWwKaW5kZXgg
OWFlY2MzZGM0YTVkZWE5NTJjNGMzMDJhZDkzODA5ODkxY2MzNWU5MC4uYWNlYzA1NGFlMjhlMDM5
YjdjNzI5NDFkOTZkZGE2NTdmOTRjYTNlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL2Flcy1wb3N0TWVzc2FnZS13b3JrZXIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLXBvc3RNZXNzYWdlLXdvcmtlci5odG1sCkBA
IC0xMSw4ICsxMSwxMCBAQAogZGVzY3JpcHRpb24oIlRlc3Qgc2VuZGluZyBhZXMgY3J5cHRvIGtl
eXMgdmlhIHBvc3RNZXNzYWdlIHRvIGEgd29ya2VyLiIpOwogCiBqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKK3ZhciByYXdLZXlBc2NpaSA9ICIxNiBieXRlcyBvZiBrZXkhIjsKK3ZhciByYXdLZXkgPSBh
c2NpaVRvVWludDhBcnJheShyYXdLZXlBc2NpaSk7CiAKLWNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJyYXciLCBhc2NpaVRvVWludDhBcnJheSgiMTYgYnl0ZXMgb2Yga2V5ISIpLCB7bmFtZTogImFl
cy1jYmMiLCBsZW5ndGg6IDEyOH0sIHRydWUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Il0pLnRoZW4o
ZnVuY3Rpb24obG9jYWxLZXkpIHsKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdL
ZXksIHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4fSwgdHJ1ZSwgWyJlbmNyeXB0IiwgImRl
Y3J5cHQiXSkudGhlbihmdW5jdGlvbihsb2NhbEtleSkgewogICAgIHZhciB3b3JrZXIgPSBuZXcg
V29ya2VyKCJyZXNvdXJjZXMvYWVzLXBvc3RNZXNzYWdlLXdvcmtlci5qcyIpOwogICAgIHdvcmtl
ci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpIHsKICAgICAgICAgaWYgKCFldnQuZGF0YS5yZXN1
bHQpIHsKQEAgLTI1LDggKzI3LDE1IEBAIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCBh
c2NpaVRvVWludDhBcnJheSgiMTYgYnl0ZXMgb2Yga2V5ISIpLCB7bmFtZTogImFlCiAgICAgICAg
ICAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRobS5uYW1lIiwgIidBRVMtQ0JDJyIpOwogICAgICAg
ICAgICAgc2hvdWxkQmUoImtleS5hbGdvcml0aG0ubGVuZ3RoIiwgIjEyOCIpOwogICAgICAgICAg
ICAgc2hvdWxkQmUoImtleS51c2FnZXMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnXSIpOworCisg
ICAgICAgICAgICBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwga2V5KS50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgeworICAgICAgICAgICAgICAgIGV4cG9ydGVkS2V5ID0gcmVzdWx0OworCisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0cmluZyhleHBvcnRlZEtleSki
LCAicmF3S2V5QXNjaWkiKTsKKworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgfSk7CiAgICAgICAgIH0KLSAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfQog
ICAgIHdvcmtlci5wb3N0TWVzc2FnZShsb2NhbEtleSk7CiB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9lYy1wb3N0TWVzc2FnZS13b3JrZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2VjLXBvc3RNZXNzYWdl
LXdvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzViYzc5ZWU3YWUzMGY3YmE1Zjk5NTc0
NzAwMmJiODBhZmI5YjQ2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93
b3JrZXJzL3N1YnRsZS9lYy1wb3N0TWVzc2FnZS13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjYgQEAKK1Rlc3Qgc2VuZGluZyBlYyBjcnlwdG8ga2V5cyB2aWEgcG9zdE1lc3NhZ2UgdG8g
YSB3b3JrZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIEFsbCBjaGVj
a3MgcGFzc2VkIGluIHdvcmtlciBmb3IgcHJpdmF0ZSBrZXkKK1BBU1MgcHJpdmF0ZUtleS50eXBl
IGlzICdwcml2YXRlJworUEFTUyBwcml2YXRlS2V5LmV4dHJhY3RhYmxlIGlzIHRydWUKK1BBU1Mg
cHJpdmF0ZUtleS5hbGdvcml0aG0ubmFtZSBpcyAnRUNESCcKK1BBU1MgcHJpdmF0ZUtleS5hbGdv
cml0aG0ubmFtZWRDdXJ2ZSBpcyAnUC0yNTYnCitQQVNTIHByaXZhdGVLZXkudXNhZ2VzIGlzIFsn
ZGVyaXZlQml0cyddCitQQVNTIGV4cG9ydGVkS2V5LnggaXMgcHJpdmF0ZUtleUpTT04ueAorUEFT
UyBleHBvcnRlZEtleS55IGlzIHByaXZhdGVLZXlKU09OLnkKK1BBU1MgZXhwb3J0ZWRLZXkuZCBp
cyBwcml2YXRlS2V5SlNPTi5kCitQQVNTIEFsbCBjaGVja3MgcGFzc2VkIGluIHdvcmtlciBmb3Ig
cHVibGljIGtleQorUEFTUyBwdWJsaWNLZXkudHlwZSBpcyAncHVibGljJworUEFTUyBwdWJsaWNL
ZXkuZXh0cmFjdGFibGUgaXMgdHJ1ZQorUEFTUyBwdWJsaWNLZXkuYWxnb3JpdGhtLm5hbWUgaXMg
J0VDREgnCitQQVNTIHB1YmxpY0tleS5hbGdvcml0aG0ubmFtZWRDdXJ2ZSBpcyAnUC0yNTYnCitQ
QVNTIHB1YmxpY0tleS51c2FnZXMgaXMgWyBdCitQQVNTIGV4cG9ydGVkS2V5LnggaXMgcHVibGlj
S2V5SlNPTi54CitQQVNTIGV4cG9ydGVkS2V5LnkgaXMgcHVibGljS2V5SlNPTi55CitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2VjLXBvc3RNZXNzYWdlLXdvcmtlci5o
dG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2VjLXBvc3RNZXNzYWdlLXdv
cmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhMTY2NjZkZmIyNDY5YTU0YTY0ZWM2MTRlYmYxNWQ1MTQ0
MDE4MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0
bGUvZWMtcG9zdE1lc3NhZ2Utd29ya2VyLmh0bWwKQEAgLTAsMCArMSw5MSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHNlbmRpbmcgZWMgY3J5cHRvIGtleXMg
dmlhIHBvc3RNZXNzYWdlIHRvIGEgd29ya2VyLiIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KwordmFyIHB1YmxpY0tleUpTT04gPSB7CisgICAga3R5OiAiRUMiLAorICAgIHVzZTogImVuYyIs
CisgICAgZXh0OiB0cnVlLAorICAgIGNydjogIlAtMjU2IiwKKyAgICB4OiAiMUZTVldpZVR2aWtG
a0cxTk95aGtVQ2FNYmRRaHh3SDZhQ3U0RXotc1J0QSIsCisgICAgeTogIjlqbU5UTHFNNGNqQmhk
QW5IY05JOVlRVjNPOExGbW8tRWRaV2s4bnRBYUkiLAorfTsKKwordmFyIHByaXZhdGVLZXlKU09O
ID0geworICAgIGt0eTogIkVDIiwKKyAgICBleHQ6IHRydWUsCisgICAga2V5X29wczogWyJkZXJp
dmVCaXRzIiwgImRlcml2ZUtleSJdLAorICAgIGNydjogIlAtMjU2IiwKKyAgICB4OiAiMUZTVldp
ZVR2aWtGa0cxTk95aGtVQ2FNYmRRaHh3SDZhQ3U0RXotc1J0QSIsCisgICAgeTogIjlqbU5UTHFN
NGNqQmhkQW5IY05JOVlRVjNPOExGbW8tRWRaV2s4bnRBYUkiLAorICAgIGQ6ICJwcHhCU292M044
X0FVY2lzQXV2bUxWNHlFOGVfTF9CTEU4YlpiOVoxWGpnIiwKK307CisKK3ZhciBjb3VudCA9IDA7
Cit2YXIgd29ya2VyID0gbmV3IFdvcmtlcigicmVzb3VyY2VzL2VjLXBvc3RNZXNzYWdlLXdvcmtl
ci5qcyIpOword29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkgeworICAgIGlmICghZXZ0
LmRhdGEucmVzdWx0KSB7CisgICAgICAgIHRlc3RGYWlsZWQoIkNoZWNrIGZhaWxlZCBpbiB3b3Jr
ZXI6ICIgKyBldnQuZGF0YS5tZXNzYWdlKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgaWYgKHB1YmxpY0tleSA9IGV2dC5kYXRhLnB1YmxpY0tleSkgewor
ICAgICAgICAgICAgdGVzdFBhc3NlZCgiQWxsIGNoZWNrcyBwYXNzZWQgaW4gd29ya2VyIGZvciBw
dWJsaWMga2V5Iik7CisgICAgICAgICAgICBzaG91bGRCZSgicHVibGljS2V5LnR5cGUiLCAiJ3B1
YmxpYyciKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuZXh0cmFjdGFibGUiLCAi
dHJ1ZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoInB1YmxpY0tleS5hbGdvcml0aG0ubmFtZSIs
ICInRUNESCciKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnb3JpdGhtLm5h
bWVkQ3VydmUiLCAiJ1AtMjU2JyIpOworICAgICAgICAgICAgc2hvdWxkQmUoInB1YmxpY0tleS51
c2FnZXMiLCAiWyBdIik7CisKKyAgICAgICAgICAgIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJq
d2siLCBwdWJsaWNLZXkpLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgICAgICAgICAgICAg
Y291bnQgPSBjb3VudCArIDE7CisgICAgICAgICAgICAgICAgZXhwb3J0ZWRLZXkgPSByZXN1bHQ7
CisKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZXhwb3J0ZWRLZXkueCIsICJwdWJsaWNLZXlK
U09OLngiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZXhwb3J0ZWRLZXkueSIsICJwdWJs
aWNLZXlKU09OLnkiKTsKKworICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PSAyKQorICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9
IGVsc2UgaWYgKHByaXZhdGVLZXkgPSBldnQuZGF0YS5wcml2YXRlS2V5KSB7CisgICAgICAgICAg
ICB0ZXN0UGFzc2VkKCJBbGwgY2hlY2tzIHBhc3NlZCBpbiB3b3JrZXIgZm9yIHByaXZhdGUga2V5
Iik7CisgICAgICAgICAgICBzaG91bGRCZSgicHJpdmF0ZUtleS50eXBlIiwgIidwcml2YXRlJyIp
OworICAgICAgICAgICAgc2hvdWxkQmUoInByaXZhdGVLZXkuZXh0cmFjdGFibGUiLCAidHJ1ZSIp
OworICAgICAgICAgICAgc2hvdWxkQmUoInByaXZhdGVLZXkuYWxnb3JpdGhtLm5hbWUiLCAiJ0VD
REgnIik7CisgICAgICAgICAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGdvcml0aG0ubmFtZWRD
dXJ2ZSIsICInUC0yNTYnIik7CisgICAgICAgICAgICBzaG91bGRCZSgicHJpdmF0ZUtleS51c2Fn
ZXMiLCAiWydkZXJpdmVCaXRzJ10iKTsKKworICAgICAgICAgICAgY3J5cHRvLnN1YnRsZS5leHBv
cnRLZXkoImp3ayIsIHByaXZhdGVLZXkpLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgICAg
ICAgICAgICAgY291bnQgPSBjb3VudCArIDE7CisgICAgICAgICAgICAgICAgZXhwb3J0ZWRLZXkg
PSByZXN1bHQ7CisKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZXhwb3J0ZWRLZXkueCIsICJw
cml2YXRlS2V5SlNPTi54Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImV4cG9ydGVkS2V5
LnkiLCAicHJpdmF0ZUtleUpTT04ueSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJleHBv
cnRlZEtleS5kIiwgInByaXZhdGVLZXlKU09OLmQiKTsKKworICAgICAgICAgICAgICAgIGlmIChj
b3VudCA9PSAyKQorICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICB9CisgICAgfQorfQorCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgi
andrIiwgcHVibGljS2V5SlNPTiwgeyBuYW1lOiJFQ0RIIiwgbmFtZWRDdXJ2ZToiUC0yNTYiIH0s
IHRydWUsIFsgXSkudGhlbihmdW5jdGlvbihsb2NhbFB1YmxpY0tleSkgeworICAgIHdvcmtlci5w
b3N0TWVzc2FnZSh7IHB1YmxpY0tleTogbG9jYWxQdWJsaWNLZXkgfSk7Cit9KTsKK2NyeXB0by5z
dWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBwcml2YXRlS2V5SlNPTiwgeyBuYW1lOiJFQ0RIIiwgbmFt
ZWRDdXJ2ZToiUC0yNTYiIH0sIHRydWUsIFsnZGVyaXZlQml0cyddKS50aGVuKGZ1bmN0aW9uKGxv
Y2FsUHJpdmF0ZUtleSkgeworICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7IHByaXZhdGVLZXk6IGxv
Y2FsUHJpdmF0ZUtleSB9KTsKK30pOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1wb3N0TWVz
c2FnZS13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL2htYWMtcG9zdE1lc3NhZ2Utd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBlMjM3YWU4ZjVj
ODVhYzgzYTgzYjI5ZjdjZWNjZTg3MGRjMzcyMzVjLi4wZWMwODI3YTE2MDBkMmZjNWVkZDRmODUy
ZThiMWUzZWFmNGRiMmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9z
dWJ0bGUvaG1hYy1wb3N0TWVzc2FnZS13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLXBvc3RNZXNzYWdlLXdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEwLDYgKzEwLDcgQEAgUEFTUyBrZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ0hNQUMn
CiBQQVNTIGtleS5hbGdvcml0aG0ubGVuZ3RoIGlzIDEyOAogUEFTUyBrZXkuYWxnb3JpdGhtLmhh
c2gubmFtZSBpcyAnU0hBLTEnCiBQQVNTIGtleS51c2FnZXMgaXMgWyJzaWduIiwgInZlcmlmeSJd
CitQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyhleHBvcnRlZEtleSkgaXMgcmF3S2V5QXNjaWkKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtcG9zdE1lc3NhZ2Utd29y
a2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1wb3N0TWVz
c2FnZS13b3JrZXIuaHRtbAppbmRleCAwZWUxMTcxMTE3ODNhZTY1NTg4OGY4MWU0ZjcxZWY3NDc5
NjM2NTI5Li41NzEzNmFhZDg4NTliODUyZTMwOGEyMmExMjQ5NzdlNzJkNTJmZmNlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1wb3N0TWVzc2FnZS13
b3JrZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1w
b3N0TWVzc2FnZS13b3JrZXIuaHRtbApAQCAtMTEsOCArMTEsMTAgQEAKIGRlc2NyaXB0aW9uKCJU
ZXN0IHNlbmRpbmcgaG1hYyBjcnlwdG8ga2V5cyB2aWEgcG9zdE1lc3NhZ2UgdG8gYSB3b3JrZXIu
Iik7CiAKIGpzVGVzdElzQXN5bmMgPSB0cnVlOwordmFyIHJhd0tleUFzY2lpID0gIjE2IGJ5dGVz
IG9mIGtleSEiOwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KHJhd0tleUFzY2lpKTsK
IAotY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIGFzY2lpVG9VaW50OEFycmF5KCIxNiBi
eXRlcyBvZiBrZXkhIiksIHtuYW1lOiAnaG1hYycsIGhhc2g6IHtuYW1lOiAnc2hhLTEnfX0sIHRy
dWUsIFsnc2lnbicsICd2ZXJpZnknXSkudGhlbihmdW5jdGlvbihsb2NhbEtleSkgeworY3J5cHRv
LnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwge25hbWU6ICdobWFjJywgaGFzaDoge25h
bWU6ICdzaGEtMSd9fSwgdHJ1ZSwgWydzaWduJywgJ3ZlcmlmeSddKS50aGVuKGZ1bmN0aW9uKGxv
Y2FsS2V5KSB7CiAgICAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoInJlc291cmNlcy9obWFjLXBv
c3RNZXNzYWdlLXdvcmtlci5qcyIpOwogICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihl
dnQpIHsKICAgICAgICAgaWYgKCFldnQuZGF0YS5yZXN1bHQpIHsKQEAgLTI2LDggKzI4LDE1IEBA
IGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCBhc2NpaVRvVWludDhBcnJheSgiMTYgYnl0
ZXMgb2Yga2V5ISIpLCB7bmFtZTogJ2htCiAgICAgICAgICAgICBzaG91bGRCZSgia2V5LmFsZ29y
aXRobS5sZW5ndGgiLCAiMTI4Iik7CiAgICAgICAgICAgICBzaG91bGRCZSgia2V5LmFsZ29yaXRo
bS5oYXNoLm5hbWUiLCAiJ1NIQS0xJyIpOwogICAgICAgICAgICAgc2hvdWxkQmUoImtleS51c2Fn
ZXMiLCAnWyJzaWduIiwgInZlcmlmeSJdJyk7CisKKyAgICAgICAgICAgIGNyeXB0by5zdWJ0bGUu
ZXhwb3J0S2V5KCJyYXciLCBrZXkpLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgICAgICAg
ICAgICAgZXhwb3J0ZWRLZXkgPSByZXN1bHQ7CisKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgi
Ynl0ZXNUb0FTQ0lJU3RyaW5nKGV4cG9ydGVkS2V5KSIsICJyYXdLZXlBc2NpaSIpOworCisgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICB9KTsKICAgICAgICAgfQot
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICB9CiAgICAgd29ya2VyLnBvc3RNZXNzYWdlKGxv
Y2FsS2V5KTsKIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL3Jhdy1wb3N0TWVzc2FnZS13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3dvcmtlcnMvc3VidGxlL3Jhdy1wb3N0TWVzc2FnZS13b3JrZXItZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjkxNThkNjM5Zjg4MTU0ODUwZGNjZGIzNDBiNjJjOTBmOWJjM2Y5MTgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmF3LXBvc3RN
ZXNzYWdlLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdCBzZW5kaW5n
IHJhdyBjcnlwdG8ga2V5cyB2aWEgcG9zdE1lc3NhZ2UgdG8gYSB3b3JrZXIuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIEFsbCBjaGVja3MgcGFzc2VkIGluIHdvcmtlcgor
UEFTUyBrZXkudHlwZSBpcyAnc2VjcmV0JworUEFTUyBrZXkuZXh0cmFjdGFibGUgaXMgZmFsc2UK
K1BBU1Mga2V5LmFsZ29yaXRobS5uYW1lIGlzICdQQktERjInCitQQVNTIGtleS51c2FnZXMgaXMg
WydkZXJpdmVCaXRzJywgJ2Rlcml2ZUtleSddCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dv
cmtlcnMvc3VidGxlL3Jhdy1wb3N0TWVzc2FnZS13b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2Ny
eXB0by93b3JrZXJzL3N1YnRsZS9yYXctcG9zdE1lc3NhZ2Utd29ya2VyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTFhZTZjZmU4MmUzN2I3MjE3NDU2M2M2MmU3ZmNmN2NjY2MxZjEyZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yYXctcG9zdE1lc3NhZ2Ut
d29ya2VyLmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2Rl
c2NyaXB0aW9uKCJUZXN0IHNlbmRpbmcgcmF3IGNyeXB0byBrZXlzIHZpYSBwb3N0TWVzc2FnZSB0
byBhIHdvcmtlci4iKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2NyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJyYXciLCBhc2NpaVRvVWludDhBcnJheSgiMTYgYnl0ZXMgb2Yga2V5ISIpLCAi
UEJLREYyIiwgZmFsc2UsIFsiZGVyaXZlQml0cyIsICJkZXJpdmVLZXkiXSkudGhlbihmdW5jdGlv
bihsb2NhbEtleSkgeworICAgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCJyZXNvdXJjZXMvcmF3
LXBvc3RNZXNzYWdlLXdvcmtlci5qcyIpOworICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlv
bihldnQpIHsKKyAgICAgICAgaWYgKCFldnQuZGF0YS5yZXN1bHQpIHsKKyAgICAgICAgICAgIHRl
c3RGYWlsZWQoIkNoZWNrIGZhaWxlZCBpbiB3b3JrZXI6ICIgKyBldnQuZGF0YS5tZXNzYWdlKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIkFsbCBjaGVja3MgcGFz
c2VkIGluIHdvcmtlciIpOworICAgICAgICAgICAga2V5ID0gZXZ0LmRhdGEua2V5OworICAgICAg
ICAgICAgc2hvdWxkQmUoImtleS50eXBlIiwgIidzZWNyZXQnIik7CisgICAgICAgICAgICBzaG91
bGRCZSgia2V5LmV4dHJhY3RhYmxlIiwgImZhbHNlIik7CisgICAgICAgICAgICBzaG91bGRCZSgi
a2V5LmFsZ29yaXRobS5uYW1lIiwgIidQQktERjInIik7CisgICAgICAgICAgICBzaG91bGRCZSgi
a2V5LnVzYWdlcyIsICJbJ2Rlcml2ZUJpdHMnLCAnZGVyaXZlS2V5J10iKTsKKyAgICAgICAgfQor
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9CisgICAgd29ya2VyLnBvc3RNZXNzYWdlKGxv
Y2FsS2V5KTsKK30pOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2VjLXBvc3RNZXNz
YWdlLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJj
ZXMvZWMtcG9zdE1lc3NhZ2Utd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkNGMwZjMwM2ZjOThmNjc2
Y2E5ZTY0Mjc5ODk0NjMxYzA3Y2E5YTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2VjLXBvc3RNZXNzYWdlLXdvcmtlci5qcwpA
QCAtMCwwICsxLDM0IEBACitpbXBvcnRTY3JpcHRzKCIuLi8uLi8uLi9yZXNvdXJjZXMvY29tbW9u
LmpzIik7CisKK29ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkKK3sKKyAgICBpZiAocHVibGljS2V5
ID0gZXZ0LmRhdGEucHVibGljS2V5KSB7CisgICAgICAgIGlmIChwdWJsaWNLZXkudHlwZSAhPSAn
cHVibGljJykKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlKHsgcmVzdWx0OmZhbHNlLCBtZXNzYWdl
OidwdWJsaWNLZXkudHlwZSBzaG91bGQgYmUgInB1YmxpYyInIH0pOworICAgICAgICBlbHNlIGlm
ICghcHVibGljS2V5LmV4dHJhY3RhYmxlKQorICAgICAgICAgICAgcG9zdE1lc3NhZ2UoeyByZXN1
bHQ6ZmFsc2UsIG1lc3NhZ2U6J3B1YmxpY0tleS5leHRyYWN0YWJsZSBzaG91bGQgYmUgdHJ1ZScg
fSk7CisgICAgICAgIGVsc2UgaWYgKHB1YmxpY0tleS5hbGdvcml0aG0ubmFtZSAhPSAiRUNESCIp
CisgICAgICAgICAgICBwb3N0TWVzc2FnZSh7IHJlc3VsdDpmYWxzZSwgbWVzc2FnZToncHVibGlj
S2V5LmFsZ29yaXRobS5uYW1lIHNob3VsZCBiZSAiRUNESCInIH0pOworICAgICAgICBlbHNlIGlm
IChwdWJsaWNLZXkuYWxnb3JpdGhtLm5hbWVkQ3VydmUgIT0gIlAtMjU2IikKKyAgICAgICAgICAg
IHBvc3RNZXNzYWdlKHsgcmVzdWx0OmZhbHNlLCBtZXNzYWdlOidwdWJsaWNLZXkuYWxnb3JpdGht
Lm5hbWVkQ3VydmUgc2hvdWxkIGJlIFAtMjU2JyB9KTsKKyAgICAgICAgZWxzZSBpZiAocHVibGlj
S2V5LnVzYWdlcy50b1N0cmluZygpICE9ICIiKQorICAgICAgICAgICAgcG9zdE1lc3NhZ2UoeyBy
ZXN1bHQ6ZmFsc2UsIG1lc3NhZ2U6J3B1YmxpY0tleS51c2FnZXMgc2hvdWxkIGJlIFsgXScgfSk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlKHsgcmVzdWx0OnRydWUsIHB1
YmxpY0tleTpwdWJsaWNLZXkgfSk7CisgICAgfSBlbHNlIGlmIChwcml2YXRlS2V5ID0gZXZ0LmRh
dGEucHJpdmF0ZUtleSkgeworICAgICAgICBpZiAocHJpdmF0ZUtleS50eXBlICE9ICdwcml2YXRl
JykKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlKHsgcmVzdWx0OmZhbHNlLCBtZXNzYWdlOidwcml2
YXRlS2V5LnR5cGUgc2hvdWxkIGJlICJwcml2YXRlIicgfSk7CisgICAgICAgIGVsc2UgaWYgKCFw
cml2YXRlS2V5LmV4dHJhY3RhYmxlKQorICAgICAgICAgICAgcG9zdE1lc3NhZ2UoeyByZXN1bHQ6
ZmFsc2UsIG1lc3NhZ2U6J3ByaXZhdGVLZXkuZXh0cmFjdGFibGUgc2hvdWxkIGJlIHRydWUnIH0p
OworICAgICAgICBlbHNlIGlmIChwcml2YXRlS2V5LmFsZ29yaXRobS5uYW1lICE9ICJFQ0RIIikK
KyAgICAgICAgICAgIHBvc3RNZXNzYWdlKHsgcmVzdWx0OmZhbHNlLCBtZXNzYWdlOidwdWJsaWNL
ZXkuYWxnb3JpdGhtLm5hbWUgc2hvdWxkIGJlICJFQ0RIIicgfSk7CisgICAgICAgIGVsc2UgaWYg
KHByaXZhdGVLZXkuYWxnb3JpdGhtLm5hbWVkQ3VydmUgIT0gIlAtMjU2IikKKyAgICAgICAgICAg
IHBvc3RNZXNzYWdlKHsgcmVzdWx0OmZhbHNlLCBtZXNzYWdlOidwdWJsaWNLZXkuYWxnb3JpdGht
Lm5hbWVkQ3VydmUgc2hvdWxkIGJlIFAtMjU2JyB9KTsKKyAgICAgICAgZWxzZSBpZiAocHJpdmF0
ZUtleS51c2FnZXMudG9TdHJpbmcoKSAhPSAiZGVyaXZlQml0cyIpCisgICAgICAgICAgICBwb3N0
TWVzc2FnZSh7IHJlc3VsdDpmYWxzZSwgbWVzc2FnZToncHJpdmF0ZUtleS51c2FnZXMgc2hvdWxk
IGJlIFsiZGVyaXZlQml0cyJdJyB9KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcG9zdE1l
c3NhZ2UoeyByZXN1bHQ6dHJ1ZSwgcHJpdmF0ZUtleTpwcml2YXRlS2V5IH0pOworICAgIH0gZWxz
ZSB7CisgICAgICAgIHBvc3RNZXNzYWdlKHsgcmVzdWx0OmZhbHNlLCBtZXNzYWdlOidrZXkgaXMg
JyArIGtleSB9KTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29y
a2Vycy9zdWJ0bGUvcmVzb3VyY2VzL3Jhdy1wb3N0TWVzc2FnZS13b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL3Jhdy1wb3N0TWVzc2FnZS13b3Jr
ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDgxOGM0MWU1M2U0ZDhlZTMzNjhiODc5MTcyMWE1MGM3ODJiNmI1
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9y
ZXNvdXJjZXMvcmF3LXBvc3RNZXNzYWdlLXdvcmtlci5qcwpAQCAtMCwwICsxLDE2IEBACitvbm1l
c3NhZ2UgPSBmdW5jdGlvbihldnQpCit7CisgICAgdmFyIGtleSA9IGV2dC5kYXRhOworICAgIGlm
ICgha2V5KQorICAgICAgICBwb3N0TWVzc2FnZSh7IHJlc3VsdDpmYWxzZSwgbWVzc2FnZTona2V5
IGlzICcgKyBrZXkgfSk7CisgICAgaWYgKGtleS50eXBlICE9ICdzZWNyZXQnKQorICAgICAgICBw
b3N0TWVzc2FnZSh7IHJlc3VsdDpmYWxzZSwgbWVzc2FnZTona2V5LnR5cGUgc2hvdWxkIGJlICJz
ZWNyZXQiJyB9KTsKKyAgICBlbHNlIGlmIChrZXkuZXh0cmFjdGFibGUpCisgICAgICAgIHBvc3RN
ZXNzYWdlKHsgcmVzdWx0OmZhbHNlLCBtZXNzYWdlOidrZXkuZXh0cmFjdGFibGUgc2hvdWxkIGJl
IGZhbHNlJyB9KTsKKyAgICBlbHNlIGlmIChrZXkuYWxnb3JpdGhtLm5hbWUgIT0gIlBCS0RGMiIp
CisgICAgICAgIHBvc3RNZXNzYWdlKHsgcmVzdWx0OmZhbHNlLCBtZXNzYWdlOidrZXkuYWxnb3Jp
dGhtLm5hbWUgc2hvdWxkIGJlICJQQktERjIiJyB9KTsKKyAgICBlbHNlIGlmIChrZXkudXNhZ2Vz
LnRvU3RyaW5nKCkgIT0gImRlcml2ZUJpdHMsZGVyaXZlS2V5IikKKyAgICAgICAgcG9zdE1lc3Nh
Z2UoeyByZXN1bHQ6ZmFsc2UsIG1lc3NhZ2U6J2tleS51c2FnZXMgc2hvdWxkIGJlIFsiZGVyaXZl
Qml0cyIsICJkZXJpdmVLZXkiXScgfSk7CisgICAgZWxzZQorICAgICAgICBwb3N0TWVzc2FnZSh7
IHJlc3VsdDp0cnVlLCBrZXk6a2V5IH0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yc2EtcG9zdE1lc3NhZ2Utd29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yc2EtcG9zdE1lc3Nh
Z2Utd29ya2VyLmpzCmluZGV4IDIxYzg3YzJlZjllMmUwN2E3NjZhYzk0MzI5YzI2ZmYwNTY3NTQ2
MmUuLjNhMGVmODM3YzA5YTJmMGQwNTNkZTA1NTE0MmQ1NmY2ZTA4MzlkNzIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNhLXBvc3RNZXNz
YWdlLXdvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVz
b3VyY2VzL3JzYS1wb3N0TWVzc2FnZS13b3JrZXIuanMKQEAgLTIyLDggKzIyLDggQEAgb25tZXNz
YWdlID0gZnVuY3Rpb24oZXZ0KQogICAgIH0gZWxzZSBpZiAocHJpdmF0ZUtleSA9IGV2dC5kYXRh
LnByaXZhdGVLZXkpIHsKICAgICAgICAgaWYgKHByaXZhdGVLZXkudHlwZSAhPSAncHJpdmF0ZScp
CiAgICAgICAgICAgICBwb3N0TWVzc2FnZSh7IHJlc3VsdDpmYWxzZSwgbWVzc2FnZToncHJpdmF0
ZUtleS50eXBlIHNob3VsZCBiZSAicHJpdmF0ZSInIH0pOwotICAgICAgICBlbHNlIGlmIChwcml2
YXRlS2V5LmV4dHJhY3RhYmxlKQotICAgICAgICAgICAgcG9zdE1lc3NhZ2UoeyByZXN1bHQ6ZmFs
c2UsIG1lc3NhZ2U6J3ByaXZhdGVLZXkuZXh0cmFjdGFibGUgc2hvdWxkIGJlIGZhbHNlJyB9KTsK
KyAgICAgICAgZWxzZSBpZiAoIXByaXZhdGVLZXkuZXh0cmFjdGFibGUpCisgICAgICAgICAgICBw
b3N0TWVzc2FnZSh7IHJlc3VsdDpmYWxzZSwgbWVzc2FnZToncHJpdmF0ZUtleS5leHRyYWN0YWJs
ZSBzaG91bGQgYmUgdHJ1ZScgfSk7CiAgICAgICAgIGVsc2UgaWYgKHByaXZhdGVLZXkuYWxnb3Jp
dGhtLm5hbWUgIT0gIlJTQUVTLVBLQ1MxLXYxXzUiKQogICAgICAgICAgICAgcG9zdE1lc3NhZ2Uo
eyByZXN1bHQ6ZmFsc2UsIG1lc3NhZ2U6J3ByaXZhdGVLZXkuYWxnb3JpdGhtLm5hbWUgc2hvdWxk
IGJlICJSU0FFUy1QS0NTMS12MV81IicgfSk7CiAgICAgICAgIGVsc2UgaWYgKHByaXZhdGVLZXku
YWxnb3JpdGhtLm1vZHVsdXNMZW5ndGggIT0gMjA0OCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtcG9zdE1lc3NhZ2Utd29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtcG9zdE1lc3NhZ2Utd29y
a2VyLWV4cGVjdGVkLnR4dAppbmRleCA2YmQzZDI5OWEwOTNkYzIyYTkwY2YwOTM0ZTMzOTRkMTVm
OGM4ZjQ1Li4wYzM5NzkwMGZiZWU5YzkzMjk5Njg2ZmQwMzVkNGQ3YjRiODVjODk4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLXBvc3RNZXNzYWdlLXdv
cmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxl
L3JzYS1wb3N0TWVzc2FnZS13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC01LDEyICs1LDIwIEBAIE9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgQWxsIGNoZWNrcyBwYXNzZWQgaW4gd29ya2Vy
IGZvciBwcml2YXRlIGtleQogUEFTUyBwcml2YXRlS2V5LnR5cGUgaXMgJ3ByaXZhdGUnCi1QQVNT
IHByaXZhdGVLZXkuZXh0cmFjdGFibGUgaXMgZmFsc2UKK1BBU1MgcHJpdmF0ZUtleS5leHRyYWN0
YWJsZSBpcyB0cnVlCiBQQVNTIHByaXZhdGVLZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ1JTQUVTLVBL
Q1MxLXYxXzUnCiBQQVNTIHByaXZhdGVLZXkuYWxnb3JpdGhtLm1vZHVsdXNMZW5ndGggaXMgMjA0
OAogUEFTUyBieXRlc1RvSGV4U3RyaW5nKHByaXZhdGVLZXkuYWxnb3JpdGhtLnB1YmxpY0V4cG9u
ZW50KSBpcyAnMDEwMDAxJwogUEFTUyBwcml2YXRlS2V5LmFsZ29yaXRobS5oYXNoIGlzIHVuZGVm
aW5lZC4KIFBBU1MgcHJpdmF0ZUtleS51c2FnZXMgaXMgWydkZWNyeXB0J10KK1BBU1MgZXhwb3J0
ZWRLZXkubiBpcyBwcml2YXRlS2V5SlNPTi5uCitQQVNTIGV4cG9ydGVkS2V5LmUgaXMgcHJpdmF0
ZUtleUpTT04uZQorUEFTUyBleHBvcnRlZEtleS5kIGlzIHByaXZhdGVLZXlKU09OLmQKK1BBU1Mg
ZXhwb3J0ZWRLZXkucCBpcyBwcml2YXRlS2V5SlNPTi5wCitQQVNTIGV4cG9ydGVkS2V5LnEgaXMg
cHJpdmF0ZUtleUpTT04ucQorUEFTUyBleHBvcnRlZEtleS5kcCBpcyBwcml2YXRlS2V5SlNPTi5k
cAorUEFTUyBleHBvcnRlZEtleS5kcSBpcyBwcml2YXRlS2V5SlNPTi5kcQorUEFTUyBleHBvcnRl
ZEtleS5xaSBpcyBwcml2YXRlS2V5SlNPTi5xaQogUEFTUyBBbGwgY2hlY2tzIHBhc3NlZCBpbiB3
b3JrZXIgZm9yIHB1YmxpYyBrZXkKIFBBU1MgcHVibGljS2V5LnR5cGUgaXMgJ3B1YmxpYycKIFBB
U1MgcHVibGljS2V5LmV4dHJhY3RhYmxlIGlzIHRydWUKQEAgLTE5LDYgKzI3LDggQEAgUEFTUyBw
dWJsaWNLZXkuYWxnb3JpdGhtLm1vZHVsdXNMZW5ndGggaXMgMjA0OAogUEFTUyBieXRlc1RvSGV4
U3RyaW5nKHB1YmxpY0tleS5hbGdvcml0aG0ucHVibGljRXhwb25lbnQpIGlzICcwMTAwMDEnCiBQ
QVNTIHB1YmxpY0tleS5hbGdvcml0aG0uaGFzaCBpcyB1bmRlZmluZWQuCiBQQVNTIHB1YmxpY0tl
eS51c2FnZXMgaXMgWydlbmNyeXB0J10KK1BBU1MgZXhwb3J0ZWRLZXkubiBpcyBwdWJsaWNLZXlK
U09OLm4KK1BBU1MgZXhwb3J0ZWRLZXkuZSBpcyBwdWJsaWNLZXlKU09OLmUKIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1wb3N0TWVzc2FnZS13b3JrZXIuaHRtbCBi
L0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtcG9zdE1lc3NhZ2Utd29ya2Vy
Lmh0bWwKaW5kZXggYmZlOWYzOGYxYTk3OGE5NmZmNzk5ZDc2NzM4Y2VlY2VmZTkzMjQxMS4uNGY1
NTFlYTNhMWNhYjhkZTMzODk0YTFjYTgwZDdhZTEwNDZlZjI4YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1wb3N0TWVzc2FnZS13b3JrZXIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLXBvc3RNZXNzYWdlLXdv
cmtlci5odG1sCkBAIC01NSwyNyArNTUsNTEgQEAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9u
KGV2dCkgewogICAgICAgICAgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcocHVibGljS2V5
LmFsZ29yaXRobS5wdWJsaWNFeHBvbmVudCkiLCAiJzAxMDAwMSciKTsKICAgICAgICAgICAgIHNo
b3VsZEJlVW5kZWZpbmVkKCJwdWJsaWNLZXkuYWxnb3JpdGhtLmhhc2giKTsKICAgICAgICAgICAg
IHNob3VsZEJlKCJwdWJsaWNLZXkudXNhZ2VzIiwgIlsnZW5jcnlwdCddIik7CisKKyAgICAgICAg
ICAgIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBwdWJsaWNLZXkpLnRoZW4oZnVuY3Rp
b24ocmVzdWx0KSB7CisgICAgICAgICAgICAgICAgY291bnQgPSBjb3VudCArIDE7CisgICAgICAg
ICAgICAgICAgZXhwb3J0ZWRLZXkgPSByZXN1bHQ7CisKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgiZXhwb3J0ZWRLZXkubiIsICJwdWJsaWNLZXlKU09OLm4iKTsKKyAgICAgICAgICAgICAgICBz
aG91bGRCZSgiZXhwb3J0ZWRLZXkuZSIsICJwdWJsaWNLZXlKU09OLmUiKTsKKworICAgICAgICAg
ICAgICAgIGlmIChjb3VudCA9PSAyKQorICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9IGVsc2UgaWYgKHByaXZhdGVLZXkgPSBldnQu
ZGF0YS5wcml2YXRlS2V5KSB7CiAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJBbGwgY2hlY2tzIHBh
c3NlZCBpbiB3b3JrZXIgZm9yIHByaXZhdGUga2V5Iik7CiAgICAgICAgICAgICBzaG91bGRCZSgi
cHJpdmF0ZUtleS50eXBlIiwgIidwcml2YXRlJyIpOwotICAgICAgICAgICAgc2hvdWxkQmUoInBy
aXZhdGVLZXkuZXh0cmFjdGFibGUiLCAiZmFsc2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJw
cml2YXRlS2V5LmV4dHJhY3RhYmxlIiwgInRydWUiKTsKICAgICAgICAgICAgIHNob3VsZEJlKCJw
cml2YXRlS2V5LmFsZ29yaXRobS5uYW1lIiwgIidSU0FFUy1QS0NTMS12MV81JyIpOwogICAgICAg
ICAgICAgc2hvdWxkQmUoInByaXZhdGVLZXkuYWxnb3JpdGhtLm1vZHVsdXNMZW5ndGgiLCAiMjA0
OCIpOwogICAgICAgICAgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcocHJpdmF0ZUtleS5h
bGdvcml0aG0ucHVibGljRXhwb25lbnQpIiwgIicwMTAwMDEnIik7CiAgICAgICAgICAgICBzaG91
bGRCZVVuZGVmaW5lZCgicHJpdmF0ZUtleS5hbGdvcml0aG0uaGFzaCIpOwogICAgICAgICAgICAg
c2hvdWxkQmUoInByaXZhdGVLZXkudXNhZ2VzIiwgIlsnZGVjcnlwdCddIik7CisKKyAgICAgICAg
ICAgIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBwcml2YXRlS2V5KS50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgeworICAgICAgICAgICAgICAgIGNvdW50ID0gY291bnQgKyAxOworICAgICAg
ICAgICAgICAgIGV4cG9ydGVkS2V5ID0gcmVzdWx0OworCisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoImV4cG9ydGVkS2V5Lm4iLCAicHJpdmF0ZUtleUpTT04ubiIpOworICAgICAgICAgICAgICAg
IHNob3VsZEJlKCJleHBvcnRlZEtleS5lIiwgInByaXZhdGVLZXlKU09OLmUiKTsKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZSgiZXhwb3J0ZWRLZXkuZCIsICJwcml2YXRlS2V5SlNPTi5kIik7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoImV4cG9ydGVkS2V5LnAiLCAicHJpdmF0ZUtleUpTT04u
cCIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJleHBvcnRlZEtleS5xIiwgInByaXZhdGVL
ZXlKU09OLnEiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZXhwb3J0ZWRLZXkuZHAiLCAi
cHJpdmF0ZUtleUpTT04uZHAiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiZXhwb3J0ZWRL
ZXkuZHEiLCAicHJpdmF0ZUtleUpTT04uZHEiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgi
ZXhwb3J0ZWRLZXkucWkiLCAicHJpdmF0ZUtleUpTT04ucWkiKTsKKworICAgICAgICAgICAgICAg
IGlmIChjb3VudCA9PSAyKQorICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgIH0pOwogICAgICAgICB9Ci0gICAgICAgIGNvdW50ID0gY291bnQgKyAxOwogICAg
IH0KLQotICAgIGlmIChjb3VudCA9PSAyKQotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIAog
Y3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHB1YmxpY0tleUpTT04sIGFsZ29yaXRobUtl
eUdlbiwgdHJ1ZSwgWydlbmNyeXB0J10pLnRoZW4oZnVuY3Rpb24obG9jYWxQdWJsaWNLZXkpIHsK
ICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoeyBwdWJsaWNLZXk6IGxvY2FsUHVibGljS2V5IH0pOwog
fSk7Ci1jcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwgcHJpdmF0ZUtleUpTT04sIGFsZ29y
aXRobUtleUdlbiwgZmFsc2UsIFsnZGVjcnlwdCddKS50aGVuKGZ1bmN0aW9uKGxvY2FsUHJpdmF0
ZUtleSkgeworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHByaXZhdGVLZXlKU09OLCBh
bGdvcml0aG1LZXlHZW4sIHRydWUsIFsnZGVjcnlwdCddKS50aGVuKGZ1bmN0aW9uKGxvY2FsUHJp
dmF0ZUtleSkgewogICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7IHByaXZhdGVLZXk6IGxvY2FsUHJp
dmF0ZUtleSB9KTsKIH0pOwogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>