<?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>164722</bug_id>
          
          <creation_ts>2016-11-14 12:06:53 -0800</creation_ts>
          <short_desc>Update SubtleCrypto::exportKey to match the latest spec</short_desc>
          <delta_ts>2016-11-17 12:42:33 -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>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>160883</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rob</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1251071</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-14 12:06:53 -0800</bug_when>
    <thetext>Update SubtleCrypto::exportKey to match the latest spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251075</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-11-14 12:10:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/29251740&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251093</commentid>
    <comment_count>2</comment_count>
      <attachid>294732</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-14 12:58:03 -0800</bug_when>
    <thetext>Created attachment 294732
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251109</commentid>
    <comment_count>3</comment_count>
      <attachid>294732</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-14 13:24:33 -0800</bug_when>
    <thetext>Comment on attachment 294732
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +           It also refers to the latest Editor&apos;s Draft at a certain degree:

&quot;at a certain degree&quot; --&gt; &quot;to a certain degree:&quot;

&gt; Source/WebCore/ChangeLog:14
&gt; +        2. It implements exportKey operations of following algorithms: AES-CBC, AES-KW,

&quot;... of THE following algorithms...&quot;

&gt; Source/WebCore/ChangeLog:19
&gt; +        P.S. We currently only support Raw and Jwk key format.

&quot;P.S.&quot; -&gt; &quot;Note: &quot;

&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:352
&gt; +            JSObject* info = constructEmptyObject(&amp;state);

Could be auto* here. Can &apos;constructEmptyObject&apos; return nullptr?

&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:358
&gt; +        result-&gt;putDirect(vm, Identifier::fromString(&amp;vm, &quot;oth&quot;), constructArray(&amp;state, static_cast&lt;Structure*&gt;(0), list));

I think this should be &quot;static_cast&lt;Structure*&gt;(nullptr)&quot;

&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:524
&gt; +    // The spec suggests we should perform the following task asynchronously as of 11 December 2014:

Unless the specification is requiring asynchronous handling to only happen on 11 December 2014 and beyond, I think you want to phrase it:

&quot;// The 11 December 2014 version of the specification suggests we should perform the following task asynchronously:&quot;

&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:526
&gt; +    // That&apos;s simply not necessary. Therefore, we perform it synchronously.

I&apos;m not sure I understand this comment. Why is it not necessary?

&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:152
&gt; +            jwk.alg = String(ALG128);

Is this costly? Should we have defined ALG128 (and others) as ASCIILiterals?

&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:151
&gt; +            jwk.alg = String(ALG128);

Ditto my earlier comments about ASCIILiteral?

&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp:169
&gt; +            jwk.alg = String(ALG1);

Again (ASCIILiteral)?

&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:42
&gt; +static const char* const ALG = &quot;RSA1_5&quot;;

Would it be better if each of these classes had a static method &quot;algorithmName()&quot; or something that returned this value as an ASCIILiteral?

&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:106
&gt; +        if (key.alg &amp;&amp; key.alg.value() != ALG) {

.. this this would be &quot;if (key.alg &amp;&amp; key.alg.value() != algorithmName()) {&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251110</commentid>
    <comment_count>4</comment_count>
      <attachid>294732</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-14 13:25:12 -0800</bug_when>
    <thetext>Comment on attachment 294732
Patch

r- because the patch does not apply cleanly. Can you please address my comments and re-upload?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251201</commentid>
    <comment_count>5</comment_count>
      <attachid>294732</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-14 15:44:49 -0800</bug_when>
    <thetext>Comment on attachment 294732
Patch

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

First of all, thanks Brent for reviewing my patch.

&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt; +           It also refers to the latest Editor&apos;s Draft at a certain degree:
&gt; 
&gt; &quot;at a certain degree&quot; --&gt; &quot;to a certain degree:&quot;

Fixed.

&gt;&gt; Source/WebCore/ChangeLog:14
&gt;&gt; +        2. It implements exportKey operations of following algorithms: AES-CBC, AES-KW,
&gt; 
&gt; &quot;... of THE following algorithms...&quot;

Fixed.

&gt;&gt; Source/WebCore/ChangeLog:19
&gt;&gt; +        P.S. We currently only support Raw and Jwk key format.
&gt; 
&gt; &quot;P.S.&quot; -&gt; &quot;Note: &quot;

Fixed.

&gt;&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:352
&gt;&gt; +            JSObject* info = constructEmptyObject(&amp;state);
&gt; 
&gt; Could be auto* here. Can &apos;constructEmptyObject&apos; return nullptr?

Fixed. Should not be able.

&gt;&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:358
&gt;&gt; +        result-&gt;putDirect(vm, Identifier::fromString(&amp;vm, &quot;oth&quot;), constructArray(&amp;state, static_cast&lt;Structure*&gt;(0), list));
&gt; 
&gt; I think this should be &quot;static_cast&lt;Structure*&gt;(nullptr)&quot;

Fixed.

&gt;&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:524
&gt;&gt; +    // The spec suggests we should perform the following task asynchronously as of 11 December 2014:
&gt; 
&gt; Unless the specification is requiring asynchronous handling to only happen on 11 December 2014 and beyond, I think you want to phrase it:
&gt; 
&gt; &quot;// The 11 December 2014 version of the specification suggests we should perform the following task asynchronously:&quot;

Fixed.

&gt;&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:526
&gt;&gt; +    // That&apos;s simply not necessary. Therefore, we perform it synchronously.
&gt; 
&gt; I&apos;m not sure I understand this comment. Why is it not necessary?

The spec suggests all methods should be performed asynchronously. This suggestions, in my opinion, is beneficial only for time consuming operations like RSA key generation. Such that, they will not block the UI. For other operations, however, it will add extra complexity/time to the codes, which is not beneficial.

&gt;&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:152
&gt;&gt; +            jwk.alg = String(ALG128);
&gt; 
&gt; Is this costly? Should we have defined ALG128 (and others) as ASCIILiterals?

Should be okay.

&gt;&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:151
&gt;&gt; +            jwk.alg = String(ALG128);
&gt; 
&gt; Ditto my earlier comments about ASCIILiteral?

Ditto.

&gt;&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp:169
&gt;&gt; +            jwk.alg = String(ALG1);
&gt; 
&gt; Again (ASCIILiteral)?

Ditto.

&gt;&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:42
&gt;&gt; +static const char* const ALG = &quot;RSA1_5&quot;;
&gt; 
&gt; Would it be better if each of these classes had a static method &quot;algorithmName()&quot; or something that returned this value as an ASCIILiteral?

I think it will be better if we keep these variables visible only in this cpp at least at this moment.

&gt;&gt; Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:106
&gt;&gt; +        if (key.alg &amp;&amp; key.alg.value() != ALG) {
&gt; 
&gt; .. this this would be &quot;if (key.alg &amp;&amp; key.alg.value() != algorithmName()) {&quot;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251222</commentid>
    <comment_count>6</comment_count>
      <attachid>294770</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-14 16:09:32 -0800</bug_when>
    <thetext>Created attachment 294770
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251223</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-14 16:11:58 -0800</bug_when>
    <thetext>Attachment 294770 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:160:  CryptoAlgorithmRSA_OAEP::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:120:  CryptoAlgorithmAES_KW::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:149:  CryptoAlgorithmRSASSA_PKCS1_v1_5::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:116:  CryptoAlgorithmRSAES_PKCS1_v1_5::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:124:  CryptoAlgorithmAES_CBC::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 5 in 101 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>1251240</commentid>
    <comment_count>8</comment_count>
      <attachid>294770</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-14 16:32:50 -0800</bug_when>
    <thetext>Comment on attachment 294770
Patch

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

r=me

&gt; Source/WebCore/crypto/keys/CryptoKeyAES.h:79
&gt; +    Vector&lt;uint8_t&gt; exportRaw() const { return m_key; }

Is this really necessary? Couldn&apos;t someone who wants the raw key bytes just use the &quot;key&quot; method and assign it to their own mutable variable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251256</commentid>
    <comment_count>9</comment_count>
      <attachid>294770</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-14 17:00:20 -0800</bug_when>
    <thetext>Comment on attachment 294770
Patch

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

&gt;&gt; Source/WebCore/crypto/keys/CryptoKeyAES.h:79
&gt;&gt; +    Vector&lt;uint8_t&gt; exportRaw() const { return m_key; }
&gt; 
&gt; Is this really necessary? Couldn&apos;t someone who wants the raw key bytes just use the &quot;key&quot; method and assign it to their own mutable variable?

Haven&apos;t consider this possibility. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251266</commentid>
    <comment_count>10</comment_count>
      <attachid>294770</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-11-14 17:13:11 -0800</bug_when>
    <thetext>Comment on attachment 294770
Patch

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

Quick comment.

&gt; LayoutTests/crypto/subtle/hmac-export-key-malformed-parameters.html:26
&gt; +crypto.subtle.generateKey({name: &quot;hmac&quot;, hash: &quot;sha-1&quot;}, extractable, [&quot;sign&quot;, &quot;verify&quot;]).then(function(result) {
&gt; +    key = result;
&gt; +
&gt; +    // Not support format.
&gt; +    shouldReject(&apos;crypto.subtle.exportKey(&quot;spki&quot;, key)&apos;);
&gt; +    shouldReject(&apos;crypto.subtle.exportKey(&quot;pkcs8&quot;, key)&apos;);
&gt; +
&gt; +    finishJSTest();
&gt; +});

In that case, I think we can rewrite this test like,

crypto.subtle.generateKey({name: &quot;hmac&quot;, hash: &quot;sha-1&quot;}, extractable, [&quot;sign&quot;, &quot;verify&quot;]).then(function(result) {
    key = result;

     // Not support format.
    return shouldReject(&apos;crypto.subtle.exportKey(&quot;spki&quot;, key)&apos;);
}).then(function () {
    return shouldReject(&apos;crypto.subtle.exportKey(&quot;pkcs8&quot;, key)&apos;);
}).then(finishJSTest, finishJSTest);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251366</commentid>
    <comment_count>11</comment_count>
      <attachid>294808</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-14 21:35:26 -0800</bug_when>
    <thetext>Created attachment 294808
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251367</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-14 21:39:15 -0800</bug_when>
    <thetext>Attachment 294808 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:160:  CryptoAlgorithmRSA_OAEP::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:120:  CryptoAlgorithmAES_KW::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:149:  CryptoAlgorithmRSASSA_PKCS1_v1_5::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:116:  CryptoAlgorithmRSAES_PKCS1_v1_5::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:124:  CryptoAlgorithmAES_CBC::exportKey is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 5 in 101 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>1251489</commentid>
    <comment_count>13</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-15 11:08:38 -0800</bug_when>
    <thetext>Committed r208737: &lt;http://trac.webkit.org/changeset/208737&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251501</commentid>
    <comment_count>14</comment_count>
      <attachid>294808</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-11-15 11:23:12 -0800</bug_when>
    <thetext>Comment on attachment 294808
Patch for landing

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

Post review, r=me too. You can just land the follow-up patch.

&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:475
&gt; +        promise-&gt;reject&lt;JSValue&gt;(createTypeError(&amp;state, ASCIILiteral(&quot;Invalid CryptoKey&quot;)));

You can use `promise-&gt;reject(TypeError, ASCIILiteral(&quot;Invalid CryptoKey&quot;));`.

&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:493
&gt; +        promise-&gt;reject&lt;JSValue&gt;(createDOMException(&amp;state, NOT_SUPPORTED_ERR, ASCIILiteral(&quot;The operation is not supported&quot;)));

You can write `promise-&gt;reject(NOT_SUPPORTED_ERR, ASCIILiteral(&quot;The operation is not supported&quot;));`

&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:498
&gt; +        promise-&gt;reject&lt;JSValue&gt;(createDOMException(&amp;state, INVALID_ACCESS_ERR, ASCIILiteral(&quot;The CryptoKey is nonextractable&quot;)));

You can write `promise-&gt;reject(INVALID_ACCESS_ERR, ASCIILiteral(&quot;The CryptoKey is nonextractable&quot;));`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251514</commentid>
    <comment_count>15</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-15 11:34:33 -0800</bug_when>
    <thetext>Thanks, Yusuke. Working on a follow up patch now.

(In reply to comment #14)
&gt; Comment on attachment 294808 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=294808&amp;action=review
&gt; 
&gt; Post review, r=me too. You can just land the follow-up patch.
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:475
&gt; &gt; +        promise-&gt;reject&lt;JSValue&gt;(createTypeError(&amp;state, ASCIILiteral(&quot;Invalid CryptoKey&quot;)));
&gt; 
&gt; You can use `promise-&gt;reject(TypeError, ASCIILiteral(&quot;Invalid CryptoKey&quot;));`.
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:493
&gt; &gt; +        promise-&gt;reject&lt;JSValue&gt;(createDOMException(&amp;state, NOT_SUPPORTED_ERR, ASCIILiteral(&quot;The operation is not supported&quot;)));
&gt; 
&gt; You can write `promise-&gt;reject(NOT_SUPPORTED_ERR, ASCIILiteral(&quot;The
&gt; operation is not supported&quot;));`
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:498
&gt; &gt; +        promise-&gt;reject&lt;JSValue&gt;(createDOMException(&amp;state, INVALID_ACCESS_ERR, ASCIILiteral(&quot;The CryptoKey is nonextractable&quot;)));
&gt; 
&gt; You can write `promise-&gt;reject(INVALID_ACCESS_ERR, ASCIILiteral(&quot;The
&gt; CryptoKey is nonextractable&quot;));`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251606</commentid>
    <comment_count>16</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-15 13:49:07 -0800</bug_when>
    <thetext>A followup patch is landed:
Committed r208751: &lt;http://trac.webkit.org/changeset/208751&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251615</commentid>
    <comment_count>17</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-11-15 13:56:43 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; A followup patch is landed:
&gt; Committed r208751: &lt;http://trac.webkit.org/changeset/208751&gt;

I think that the second change should not be TypeError. NOT_SUPPORTED_ERR. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251638</commentid>
    <comment_count>18</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-15 14:26:22 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; A followup patch is landed:
&gt; &gt; Committed r208751: &lt;http://trac.webkit.org/changeset/208751&gt;
&gt; 
&gt; I think that the second change should not be TypeError. NOT_SUPPORTED_ERR. :)

Oops! A quick fix: Committed r208757: &lt;http://trac.webkit.org/changeset/208757&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294732</attachid>
            <date>2016-11-14 12:58:03 -0800</date>
            <delta_ts>2016-11-14 16:09:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164722-20161114125344.patch</filename>
            <type>text/plain</type>
            <size>167611</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg5NGYyNDhjYmIwZDdh
ZTEzMmVjMGE2MTI3NWM0M2ZhMzU3OWJlYi4uMmZjMDM2ZjA3ZGU1MjBhZDhjMjEwY2I1OWIxYjcz
NDRjMDYwNDNhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMSBAQAorMjAxNi0xMS0xNCAgSmll
d2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBTdWJ0bGVD
cnlwdG86OmV4cG9ydEtleSB0byBtYXRjaCB0aGUgbGF0ZXN0IHNwZWMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDcyMgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjkyNTE3NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBwYXRjaCBkb2VzIGZvbGxvd2luZyBmZXcgdGhpbmdzOgorICAgICAg
ICAxLiBJdCB1cGRhdGVzIHRoZSBTdWJ0bGVDcnlwdG86OmV4cG9ydEtleSBtZXRob2QgdG8gbWF0
Y2ggdGhlIGxhdGVzdCBzcGVjOgorICAgICAgICAgICBodHRwczovL3d3dy53My5vcmcvVFIvV2Vi
Q3J5cHRvQVBJLyNTdWJ0bGVDcnlwdG8tbWV0aG9kLWV4cG9ydEtleS4KKyAgICAgICAgICAgSXQg
YWxzbyByZWZlcnMgdG8gdGhlIGxhdGVzdCBFZGl0b3IncyBEcmFmdCBhdCBhIGNlcnRhaW4gZGVn
cmVlOgorICAgICAgICAgICBodHRwczovL3czYy5naXRodWIuaW8vd2ViY3J5cHRvL092ZXJ2aWV3
Lmh0bWwjU3VidGxlQ3J5cHRvLW1ldGhvZC1leHBvcnRLZXkuCisgICAgICAgIDIuIEl0IGltcGxl
bWVudHMgZXhwb3J0S2V5IG9wZXJhdGlvbnMgb2YgZm9sbG93aW5nIGFsZ29yaXRobXM6IEFFUy1D
QkMsIEFFUy1LVywKKyAgICAgICAgICAgSE1BQywgUlNBRVMtUEtDUzEtVjFfNSwgUlNBU1NBLVBL
Q1MxLVYxXzUsIGFuZCBSU0EtT0FFUC4KKyAgICAgICAgMy4gSXQgYWxzbyBmaXhlcyB0aGUgZm9s
bG93aW5nIGJ1Z3M6CisgICAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTYxMTQsCisgICAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTc3MzA2Nj4uCisg
ICAgICAgIFAuUy4gV2UgY3VycmVudGx5IG9ubHkgc3VwcG9ydCBSYXcgYW5kIEp3ayBrZXkgZm9y
bWF0LgorCisgICAgICAgIFRlc3RzOiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxl
L2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCisgICAgICAg
ICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVu
Z3RoLTI1Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJh
dGUtZXhwb3J0LWtleS1yYXcuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9hZXMt
ZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAgICAgICAgICAgICBjcnlw
dG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4Lmh0bWwK
KyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLWxlbmd0aC0xOTIuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9hZXMta3ct
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni5odG1sCisgICAgICAgICAgICAgICBj
cnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sCisgICAgICAg
ICAgICAgICBjcnlwdG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRt
bAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9obWFjLWV4cG9ydC1rZXktbWFsZm9ybWVk
LXBhcmFtZXRlcnMuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLXNoYTEuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRs
ZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sCisgICAgICAgICAgICAg
ICBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2Lmh0bWwK
KyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3
ay1zaGEzODQuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxl
L2htYWMtZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRv
L3N1YnRsZS9obWFjLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorICAgICAg
ICAgICAgICAgY3J5cHRvL3N1YnRsZS9yc2EtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVy
cy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLXNoYTEuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9yc2Et
b2FlcC1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyMjQuaHRtbAorICAgICAgICAgICAgICAg
Y3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYuaHRt
bAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBvcnQt
a2V5LWp3ay1zaGEzODQuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9yc2Etb2Fl
cC1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTIuaHRtbAorICAgICAgICAgICAgICAgY3J5
cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwK
KyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stc2hhMS5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3Jz
YXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLXNoYTI1Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3JzYXNz
YS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sCisgICAgICAg
ICAgICAgICBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTUxMi5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vd29ya2Vycy9zdWJ0bGUv
YWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by93
b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbAorICAgICAgICAg
ICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2su
aHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1yYXcuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxl
L3JzYS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTVmFsdWVG
cm9tSnNvbldlYktleSk6CisgICAgICAgIChXZWJDb3JlOjpqc1N1YnRsZUNyeXB0b0Z1bmN0aW9u
RXhwb3J0S2V5UHJvbWlzZSk6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6ZXhw
b3J0S2V5KToKKyAgICAgICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobTo6ZXhwb3J0S2V5KToKKyAgICAgICAgKiBjcnlwdG8v
Q3J5cHRvQWxnb3JpdGhtLmg6CisgICAgICAgICogY3J5cHRvL1N1YnRsZUNyeXB0by5pZGw6Cisg
ICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjppbXBvcnRLZXkpOgorICAg
ICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZXhwb3J0S2V5KToKKyAgICAg
ICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmg6CisgICAgICAg
ICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19LVzo6aW1wb3J0S2V5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19LVzo6ZXhwb3J0S2V5KToKKyAgICAgICAgKiBjcnlw
dG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuaDoKKyAgICAgICAgKiBjcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNy
eXB0b0FsZ29yaXRobUhNQUM6OmltcG9ydEtleSk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9B
bGdvcml0aG1ITUFDOjpleHBvcnRLZXkpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUhNQUMuaDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0Fs
Z29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmltcG9ydEtleSk6CisgICAgICAgIChXZWJDb3JlOjpD
cnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpleHBvcnRLZXkpOgorICAgICAgICAqIGNy
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaDoKKyAgICAg
ICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6
aW1wb3J0S2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NT
MV92MV81OjpleHBvcnRLZXkpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0Fs
Z29yaXRobVJTQVNTQV9QS0NTMV92MV81Lmg6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxn
b3JpdGhtUlNBX09BRVA6OmltcG9ydEtleSk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdv
cml0aG1SU0FfT0FFUDo6ZXhwb3J0S2V5KToKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FfT0FFUC5oOgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tl
eUFFUy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9LZXlBRVM6OmV4cG9ydEp3ayk6Cisg
ICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmg6CisgICAgICAgICogY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5SE1BQy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9LZXlITUFDOjpl
eHBvcnRKd2spOgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuaDoKKyAgICAg
ICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5
cHRvS2V5UlNBOjpleHBvcnRKd2spOgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleVJT
QS5oOgorCiAyMDE2LTExLTEwICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVuYW1lIENyeXB0b0tleVVzYWdlIHRvIENyeXB0b0tleVVzYWdlQml0bWFwIGFu
ZCBDcnlwdG9LZXk6OlVzYWdlIHRvIENyeXB0b0tleVVzYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKaW5kZXggODZmM2Y3YTQz
YWE1ZTdiYTczMGQ0YzMzNmE0YmU4ZWI1Y2EyN2FhOC4uMjFlN2IwYTJkODY0MDc5NDFkMTJkMDRi
ZGRjMTUxNzM2OTc3ZTc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlNj
cmlwdFN0YXRlLmgiCiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgogI2luY2x1ZGUgPHJ1bnRp
bWUvSXRlcmF0b3JPcGVyYXRpb25zLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU0FycmF5Lmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKQEAgLTMwNyw2ICszMDgsNjEgQEAgc3RhdGljIEtleURh
dGEgdG9LZXlEYXRhKEV4ZWNTdGF0ZSYgc3RhdGUsIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZv
cm1hdCwgSlNWYWwKICAgICByZXR1cm4gcmVzdWx0OwogfQogCisvLyBGSVhNRTogV2Ugc2hvdWxk
IGdldCByaWQgb2YgdGhpcyBvbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjM3MTEgaXMgZml4ZWQuCitzdGF0aWMgSlNWYWx1ZSB0b0pTVmFsdWVGcm9tSnNvbldl
YktleShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKc29uV2ViS2V5JiYga2V5KQor
eworICAgIEV4ZWNTdGF0ZSYgc3RhdGUgPSAqZ2xvYmFsT2JqZWN0Lmdsb2JhbEV4ZWMoKTsKKyAg
ICBWTSYgdm0gPSBzdGF0ZS52bSgpOworCisgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVj
dEVtcHR5T2JqZWN0KCZzdGF0ZSk7CisgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcoJnZtLCAia3R5IiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0ZSwga2V5
Lmt0eSkpOworICAgIGlmIChrZXkudXNlKQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJ1c2UiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0
YXRlLCBrZXkudXNlLnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5LmtleV9vcHMpCisgICAgICAgIHJl
c3VsdC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImtleV9vcHMi
KSwgdG9KUzxJRExTZXF1ZW5jZTxJRExFbnVtZXJhdGlvbjxDcnlwdG9LZXlVc2FnZT4+PihzdGF0
ZSwgZ2xvYmFsT2JqZWN0LCBrZXkua2V5X29wcy52YWx1ZSgpKSk7CisgICAgaWYgKGtleS5hbGcp
CisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2
bSwgImFsZyIpLCB0b0pTPElETERPTVN0cmluZz4oc3RhdGUsIGtleS5hbGcudmFsdWUoKSkpOwor
ICAgIGlmIChrZXkuZXh0KQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmll
cjo6ZnJvbVN0cmluZygmdm0sICJleHQiKSwgdG9KUzxJRExCb29sZWFuPihzdGF0ZSwga2V5LmV4
dC52YWx1ZSgpKSk7CisgICAgaWYgKGtleS5jcnYpCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImNydiIpLCB0b0pTPElETERPTVN0cmlu
Zz4oc3RhdGUsIGtleS5jcnYudmFsdWUoKSkpOworICAgIGlmIChrZXkueCkKKyAgICAgICAgcmVz
dWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAieCIpLCB0b0pT
PElETERPTVN0cmluZz4oc3RhdGUsIGtleS54LnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5LnkpCisg
ICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwg
InkiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRlLCBrZXkueS52YWx1ZSgpKSk7CisgICAgaWYg
KGtleS5kKQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sICJkIiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0ZSwga2V5LmQudmFsdWUoKSkp
OworICAgIGlmIChrZXkubikKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcoJnZtLCAibiIpLCB0b0pTPElETERPTVN0cmluZz4oc3RhdGUsIGtleS5u
LnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5LmUpCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZt
LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImUiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0
YXRlLCBrZXkuZS52YWx1ZSgpKSk7CisgICAgaWYgKGtleS5wKQorICAgICAgICByZXN1bHQtPnB1
dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJwIiksIHRvSlM8SURMRE9N
U3RyaW5nPihzdGF0ZSwga2V5LnAudmFsdWUoKSkpOworICAgIGlmIChrZXkucSkKKyAgICAgICAg
cmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAicSIpLCB0
b0pTPElETERPTVN0cmluZz4oc3RhdGUsIGtleS5xLnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5LmRw
KQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJkcCIpLCB0b0pTPElETERPTVN0cmluZz4oc3RhdGUsIGtleS5kcC52YWx1ZSgpKSk7Cisg
ICAgaWYgKGtleS5kcSkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6
OmZyb21TdHJpbmcoJnZtLCAiZHEiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRlLCBrZXkuZHEu
dmFsdWUoKSkpOworICAgIGlmIChrZXkucWkpCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZt
LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInFpIiksIHRvSlM8SURMRE9NU3RyaW5nPihz
dGF0ZSwga2V5LnFpLnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5Lm90aCkgeworICAgICAgICBNYXJr
ZWRBcmd1bWVudEJ1ZmZlciBsaXN0OworICAgICAgICBmb3IgKGF1dG8mIHZhbHVlIDoga2V5Lm90
aC52YWx1ZSgpKSB7CisgICAgICAgICAgICBKU09iamVjdCogaW5mbyA9IGNvbnN0cnVjdEVtcHR5
T2JqZWN0KCZzdGF0ZSk7CisgICAgICAgICAgICBpbmZvLT5wdXREaXJlY3Qodm0sIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcoJnZtLCAiciIpLCB0b0pTPElETERPTVN0cmluZz4oc3RhdGUsIHZhbHVl
LnIpKTsKKyAgICAgICAgICAgIGluZm8tPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sICJkIiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUuZCkpOworICAg
ICAgICAgICAgaW5mby0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwg
InQiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRlLCB2YWx1ZS50KSk7CisgICAgICAgICAgICBs
aXN0LmFwcGVuZChpbmZvKTsKKyAgICAgICAgfQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2
bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJvdGgiKSwgY29uc3RydWN0QXJyYXkoJnN0
YXRlLCBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmUqPigwKSwgbGlzdCkpOworICAgIH0KKyAgICBpZiAo
a2V5LmspCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKCZ2bSwgImsiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRlLCBrZXkuay52YWx1ZSgpKSk7
CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBzdGF0aWMgdm9pZCBqc1N1YnRsZUNyeXB0b0Z1
bmN0aW9uR2VuZXJhdGVLZXlQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZlcnJlZFBy
b21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwpAQCAtNDAxLDYg
KzQ1Nyw3NiBAQCBzdGF0aWMgdm9pZCBqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uSW1wb3J0S2V5UHJv
bWlzZShFeGVjU3RhdGUmIHN0YXRlLCBSZWY8RGVmZXJyZQogICAgIGFsZ29yaXRobS0+aW1wb3J0
S2V5KGZvcm1hdCwgV1RGTW92ZShrZXlEYXRhKSwgV1RGTW92ZShwYXJhbXMpLCBleHRyYWN0YWJs
ZSwga2V5VXNhZ2VzLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFj
aykpOwogfQogCitzdGF0aWMgdm9pZCBqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uRXhwb3J0S2V5UHJv
bWlzZShFeGVjU3RhdGUmIHN0YXRlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7
CisgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CisKKyAgICBpZiAoVU5MSUtFTFkoc3RhdGUuYXJndW1lbnRDb3VudCgpIDwg
MikpIHsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0PEpTVmFsdWU+KGNyZWF0ZU5vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKCZzdGF0ZSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0
byBmb3JtYXQgPSBjb252ZXJ0RW51bWVyYXRpb248U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ+KHN0
YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgwKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgdm9pZCgpKTsKKworICAgIFJlZlB0cjxDcnlwdG9LZXk+IGtleSA9IEpTQ3J5cHRv
S2V5Ojp0b1dyYXBwZWQoc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMSkpOworICAgIGlmICgha2V5
KSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdDxKU1ZhbHVlPihjcmVhdGVUeXBlRXJyb3IoJnN0
YXRlLCBBU0NJSUxpdGVyYWwoIkludmFsaWQgQ3J5cHRvS2V5IikpKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIHN3aXRjaCAoa2V5LT5hbGdvcml0aG1JZGVudGlmaWVyKCkpIHsKKyAg
ICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlJTQUVTX1BLQ1MxX3YxXzU6CisgICAg
Y2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpSU0FTU0FfUEtDUzFfdjFfNToKKyAgICBj
YXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlJTQV9QU1M6CisgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpSU0FfT0FFUDoKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXI6OkFFU19DVFI6CisgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpB
RVNfQ0JDOgorICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6QUVTX0NNQUM6Cisg
ICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpBRVNfR0NNOgorICAgIGNhc2UgQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6QUVTX0NGQjoKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXI6OkFFU19LVzoKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6
OkhNQUM6CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHByb21pc2UtPnJl
amVjdDxKU1ZhbHVlPihjcmVhdGVET01FeGNlcHRpb24oJnN0YXRlLCBOT1RfU1VQUE9SVEVEX0VS
UiwgQVNDSUlMaXRlcmFsKCJUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiKSkpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFrZXktPmV4dHJhY3RhYmxlKCkpIHsKKyAg
ICAgICAgcHJvbWlzZS0+cmVqZWN0PEpTVmFsdWU+KGNyZWF0ZURPTUV4Y2VwdGlvbigmc3RhdGUs
IElOVkFMSURfQUNDRVNTX0VSUiwgQVNDSUlMaXRlcmFsKCJUaGUgQ3J5cHRvS2V5IGlzIG5vbmV4
dHJhY3RhYmxlIikpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gYWxnb3Jp
dGhtID0gY3JlYXRlQWxnb3JpdGhtKHN0YXRlLCBrZXktPmFsZ29yaXRobUlkZW50aWZpZXIoKSk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKworICAgIGF1dG8gY2Fs
bGJhY2sgPSBbY2FwdHVyZWRQcm9taXNlID0gcHJvbWlzZS5jb3B5UmVmKCldKFN1YnRsZUNyeXB0
bzo6S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGtleSkgbXV0YWJsZSB7CisgICAgICAgIHN3
aXRjaCAoZm9ybWF0KSB7CisgICAgICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6OlNw
a2k6CisgICAgICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6OlBrY3M4OgorICAgICAg
ICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpSYXc6IHsKKyAgICAgICAgICAgIFZlY3Rv
cjx1aW50OF90PiYgcmF3S2V5ID0gV1RGOjpnZXQ8VmVjdG9yPHVpbnQ4X3Q+PihrZXkpOworICAg
ICAgICAgICAgZnVsZmlsbFByb21pc2VXaXRoQXJyYXlCdWZmZXIoV1RGTW92ZShjYXB0dXJlZFBy
b21pc2UpLCByYXdLZXkuZGF0YSgpLCByYXdLZXkuc2l6ZSgpKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgICAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpKd2s6
CisgICAgICAgICAgICBjYXB0dXJlZFByb21pc2UtPnJlc29sdmUodG9KU1ZhbHVlRnJvbUpzb25X
ZWJLZXkoKihjYXB0dXJlZFByb21pc2UtPmdsb2JhbE9iamVjdCgpKSwgV1RGTW92ZShXVEY6Omdl
dDxKc29uV2ViS2V5PihrZXkpKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH07CisgICAgYXV0byBleGNlcHRpb25D
YWxsYmFjayA9IFtjYXB0dXJlZFByb21pc2UgPSAgcHJvbWlzZS5jb3B5UmVmKCldKEV4Y2VwdGlv
bkNvZGUgZWMpIG11dGFibGUgeworICAgICAgICByZWplY3RXaXRoRXhjZXB0aW9uKFdURk1vdmUo
Y2FwdHVyZWRQcm9taXNlKSwgZWMpOworICAgIH07CisKKyAgICAvLyBUaGUgc3BlYyBzdWdnZXN0
cyB3ZSBzaG91bGQgcGVyZm9ybSB0aGUgZm9sbG93aW5nIHRhc2sgYXN5bmNocm9ub3VzbHkgYXMg
b2YgMTEgRGVjZW1iZXIgMjAxNDoKKyAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvV2ViQ3J5
cHRvQVBJLyNTdWJ0bGVDcnlwdG8tbWV0aG9kLWV4cG9ydEtleQorICAgIC8vIFRoYXQncyBzaW1w
bHkgbm90IG5lY2Vzc2FyeS4gVGhlcmVmb3JlLCB3ZSBwZXJmb3JtIGl0IHN5bmNocm9ub3VzbHku
CisgICAgYWxnb3JpdGhtLT5leHBvcnRLZXkoZm9ybWF0LCBXVEZNb3ZlKGtleSksIFdURk1vdmUo
Y2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSk7Cit9CisKIEpTVmFsdWUgSlNT
dWJ0bGVDcnlwdG86OmdlbmVyYXRlS2V5KEV4ZWNTdGF0ZSYgc3RhdGUpCiB7CiAgICAgcmV0dXJu
IGNhbGxQcm9taXNlRnVuY3Rpb248anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkdlbmVyYXRlS2V5UHJv
bWlzZSwgUHJvbWlzZUV4ZWN1dGlvblNjb3BlOjpXaW5kb3dPcldvcmtlcj4oc3RhdGUpOwpAQCAt
NDExLDYgKzUzNywxMSBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjppbXBvcnRLZXkoRXhlY1N0
YXRlJiBzdGF0ZSkKICAgICByZXR1cm4gY2FsbFByb21pc2VGdW5jdGlvbjxqc1N1YnRsZUNyeXB0
b0Z1bmN0aW9uSW1wb3J0S2V5UHJvbWlzZSwgUHJvbWlzZUV4ZWN1dGlvblNjb3BlOjpXaW5kb3dP
cldvcmtlcj4oc3RhdGUpOwogfQogCitKU1ZhbHVlIEpTU3VidGxlQ3J5cHRvOjpleHBvcnRLZXko
RXhlY1N0YXRlJiBzdGF0ZSkKK3sKKyAgICByZXR1cm4gY2FsbFByb21pc2VGdW5jdGlvbjxqc1N1
YnRsZUNyeXB0b0Z1bmN0aW9uRXhwb3J0S2V5UHJvbWlzZSwgUHJvbWlzZUV4ZWN1dGlvblNjb3Bl
OjpXaW5kb3dPcldvcmtlcj4oc3RhdGUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcAppbmRleCAx
ZDMxYjc0ZDA2MTU5MTUyNjY5MzVjOTk1NmE1ZjQyMjdjMGFmMmI2Li4zMzJiNzk0NzQ1ZGVmY2E4
YWZlOGUzNTQ1ZmM2ZjI2NmE4NjhmNjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vQ3J5cHRvQWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRv
QWxnb3JpdGhtLmNwcApAQCAtNTAsNiArNTAsMTEgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG06Omlt
cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnUK
ICAgICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9SVEVEX0VSUik7CiB9CiAKK3ZvaWQgQ3J5
cHRvQWxnb3JpdGhtOjpleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZlB0cjxX
ZWJDb3JlOjpDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFj
ayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9TVVBQ
T1JURURfRVJSKTsKK30KKwogdm9pZCBDcnlwdG9BbGdvcml0aG06OmVuY3J5cHQoY29uc3QgQ3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25z
dCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYs
IEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmgKaW5kZXggMzRiYWMzN2EzOTk5N2U5NjRm
OTM5MWVmNTE0MGVhYjZkOTg4YWY4MS4uZjc3NzU0NjlhZGI3Mjk1Y2I5MDA1NDBhZDM4ZjYzMzll
MDc1MmM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaApAQCAtNjYs
OSArNjYsMTEgQEAgcHVibGljOgogICAgIHVzaW5nIFZlY3RvckNhbGxiYWNrID0gV1RGOjpGdW5j
dGlvbjx2b2lkKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYpPjsKICAgICB1c2luZyBWb2lkQ2FsbGJh
Y2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoKT47CiAgICAgdXNpbmcgRXhjZXB0aW9uQ2FsbGJhY2sg
PSBXVEY6OkZ1bmN0aW9uPHZvaWQoRXhjZXB0aW9uQ29kZSk+OworICAgIHVzaW5nIEtleURhdGFD
YWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5
RGF0YSYmKT47CiAKICAgICB2aXJ0dWFsIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlx
dWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxs
YmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgdmlydHVhbCB2b2lkIGltcG9y
dEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1
ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpOwor
ICAgIHZpcnR1YWwgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZlB0
cjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKTsK
IAogICAgIC8vIFRoZSBmb2xsb3dpbmcgd2lsbCBiZSBkZXByZWNhdGVkLgogICAgIHZpcnR1YWwg
dm9pZCBlbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwg
Y29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxi
YWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbAppbmRleCBmZGYyMWY2Nzk4ZTA3Yjg3
MmYxN2MwZDVhMDllZmE5OTY5OWMzZDgwLi5kZDIyNGJlODQwODE1ZmIxOTdjYmViMDQ4M2UwZDBl
YzAxY2ZhZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRv
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbApAQCAtMzQs
NCArMzQsNSBAQCBlbnVtIEtleUZvcm1hdCB7ICJyYXciLCAic3BraSIsICJwa2NzOCIsICJqd2si
IH07CiAgICAgLy8gRklYTUU6IFNob3VsZCB0aGlzIHJldHVybiBhIFByb21pc2U8KENyeXB0b0tl
eSBvciBDcnlwdG9LZXlQYWlyKT4/CiAgICAgW0N1c3RvbV0gUHJvbWlzZTxhbnk+IGdlbmVyYXRl
S2V5KEFsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBib29sZWFuIGV4dHJhY3RhYmxlLCBz
ZXF1ZW5jZTxDcnlwdG9LZXlVc2FnZT4ga2V5VXNhZ2VzKTsKICAgICBbQ3VzdG9tXSBQcm9taXNl
PENyeXB0b0tleT4gaW1wb3J0S2V5KEtleUZvcm1hdCBmb3JtYXQsIChCdWZmZXJTb3VyY2Ugb3Ig
SnNvbldlYktleSkga2V5RGF0YSwgQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIGJvb2xl
biBleHRyYWN0YWJsZSwgc2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IGtleVVzYWdlcyk7CisgICAg
W0N1c3RvbV0gUHJvbWlzZTxhbnk+IGV4cG9ydEtleShLZXlGb3JtYXQgZm9ybWF0LCBDcnlwdG9L
ZXkga2V5KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCmluZGV4IDFjZmMyOTBkZDQ4YjVlMTNi
YmI4OThmOTU3MzIyMTA2ZGRmMDYxY2YuLjA2Y2MwZDQxZWNlN2VkMmNmZWM3YzBiMjg4MDgwMGUx
MzRhZTM5OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCkBAIC0zOCw2ICszOCw5IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGNoYXIqIGNvbnN0IENyeXB0b0FsZ29yaXRobUFFU19D
QkM6OnNfbmFtZSA9ICJBRVMtQ0JDIjsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcxMjgg
PSAiQTEyOENCQyI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMTkyID0gIkExOTJDQkMi
Oworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJBMjU2Q0JDIjsKIAogc3RhdGlj
IGlubGluZSBib29sIHVzYWdlc0FyZUludmFsaWRGb3JDcnlwdG9BbGdvcml0aG1BRVNfQ0JDKENy
eXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKIHsKQEAgLTEwNSwxMSArMTA4LDExIEBAIHZvaWQg
Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0
IGZvcm1hdCwgS2V5RGF0YSYmCiAgICAgICAgIGF1dG8gY2hlY2tBbGdDYWxsYmFjayA9IFtdKHNp
emVfdCBsZW5ndGgsIGNvbnN0IE9wdGlvbmFsPFN0cmluZz4mIGFsZykgLT4gYm9vbCB7CiAgICAg
ICAgICAgICBzd2l0Y2ggKGxlbmd0aCkgewogICAgICAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6
OnNfbGVuZ3RoMTI4OgotICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgp
ID09ICJBMTI4Q0JDIjsKKyAgICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUo
KSA9PSBBTEcxMjg7CiAgICAgICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgxOTI6
Ci0gICAgICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gIkExOTJDQkMi
OworICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgpID09IEFMRzE5MjsK
ICAgICAgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDI1NjoKLSAgICAgICAgICAg
ICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSAiQTI1NkNCQyI7CisgICAgICAgICAg
ICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMjU2OwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9OwpAQCAtMTI4LDYgKzEzMSw0
NiBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86
OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJgogICAgIGNhbGxiYWNrKCpyZXN1bHQpOwogfQog
Cit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86Oktl
eUZvcm1hdCBmb3JtYXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYga2V5LCBLZXlEYXRhQ2FsbGJhY2sm
JiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKK3sKKyAg
ICBjb25zdCBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlBRVM+KCprZXkpOworCisg
ICAgaWYgKGFlc0tleS5rZXkoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJh
Y2soT3BlcmF0aW9uRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgS2V5RGF0
YSByZXN1bHQ7CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICBjYXNlIFN1YnRsZUNyeXB0bzo6
S2V5Rm9ybWF0OjpSYXc6CisgICAgICAgIHJlc3VsdCA9IGFlc0tleS5leHBvcnRSYXcoKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7Cisg
ICAgICAgIEpzb25XZWJLZXkgandrID0gYWVzS2V5LmV4cG9ydEp3aygpOworICAgICAgICBzd2l0
Y2ggKGFlc0tleS5sZW5ndGgoKSkgeworICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5n
dGgxMjg6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzEyOCk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMTkyOgorICAgICAg
ICAgICAgandrLmFsZyA9IFN0cmluZyhBTEcxOTIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDI1NjoKKyAgICAgICAgICAgIGp3ay5hbGcg
PSBTdHJpbmcoQUxHMjU2KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKyAgICAgICAgcmVz
dWx0ID0gV1RGTW92ZShqd2spOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgZGVmYXVsdDoK
KyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9FUlIpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgY2FsbGJhY2soZm9ybWF0LCBXVEZNb3ZlKHJlc3VsdCkpOwor
fQorCiB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmVuY3J5cHQoY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGNvbnN0IENyeXB0b0tleSYg
a2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNh
bGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVj
KQogewogICAgIGNvbnN0IENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtc0RlcHJlY2F0ZWQmIGFl
c0NCQ1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXNEZXBy
ZWNhdGVkPihwYXJhbWV0ZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaAppbmRleCBjMTM3YWUzZTA5Mjgz
NjM3ZWRlYTFlMjQ4OGRmNWI3OTBhNWY3Y2Q0Li41ODVjY2QwODNhMjNlNmRkMzVkOTk2MzZhNjBi
MTUzYThlMTgwMmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5oCkBAIC00Niw2ICs0Niw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0
bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KikgZmluYWw7CiAgICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
LCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIGV4
cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgUmVmUHRyPENyeXB0b0tleT4mJiwgS2V5
RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogCiAgICAgLy8gVGhl
IGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAgICAgdm9pZCBlbmNyeXB0KGNvbnN0IENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29u
c3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYm
IGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19L
Vy5jcHAKaW5kZXggYzhiMjNjNmZmY2ZjNjZiNGYwNzA3MzMyMWFlZDZkNWQxNWU2OThmOC4uMjhl
NWNmZjc5NGZhZmUyOTk4Y2RjMjQ1ZGU5NWFkNmVmMTNhMzE3MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cu
Y3BwCkBAIC0zNyw2ICszNyw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGNoYXIq
IGNvbnN0IENyeXB0b0FsZ29yaXRobUFFU19LVzo6c19uYW1lID0gIkFFUy1LVyI7CitzdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgQUxHMTI4ID0gIkExMjhLVyI7CitzdGF0aWMgY29uc3QgY2hhciog
Y29uc3QgQUxHMTkyID0gIkExOTJLVyI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2
ID0gIkEyNTZLVyI7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCB1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5
cHRvQWxnb3JpdGhtQUVTX0tXKENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKIHsKQEAgLTEw
NCwxMSArMTA3LDExIEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjppbXBvcnRLZXkoU3Vi
dGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYKICAgICAgICAgYXV0byBjaGVj
a0FsZ0NhbGxiYWNrID0gW10oc2l6ZV90IGxlbmd0aCwgY29uc3QgT3B0aW9uYWw8U3RyaW5nPiYg
YWxnKSAtPiBib29sIHsKICAgICAgICAgICAgIHN3aXRjaCAobGVuZ3RoKSB7CiAgICAgICAgICAg
ICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgxMjg6Ci0gICAgICAgICAgICAgICAgcmV0dXJu
ICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gIkExMjhLVyI7CisgICAgICAgICAgICAgICAgcmV0dXJu
ICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMTI4OwogICAgICAgICAgICAgY2FzZSBDcnlwdG9L
ZXlBRVM6OnNfbGVuZ3RoMTkyOgotICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52
YWx1ZSgpID09ICJBMTkyS1ciOworICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52
YWx1ZSgpID09IEFMRzE5MjsKICAgICAgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0
aDI1NjoKLSAgICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSAiQTI1
NktXIjsKKyAgICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSBBTEcy
NTY7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH07
CkBAIC0xMjcsNiArMTMwLDQ2IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjppbXBvcnRL
ZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYKICAgICBjYWxsYmFj
aygqcmVzdWx0KTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmV4cG9ydEtleShT
dWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYga2V5LCBL
ZXlEYXRhQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25D
YWxsYmFjaykKK3sKKyAgICBjb25zdCBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlB
RVM+KCprZXkpOworCisgICAgaWYgKGFlc0tleS5rZXkoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAg
ZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgS2V5RGF0YSByZXN1bHQ7CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICBjYXNl
IFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpSYXc6CisgICAgICAgIHJlc3VsdCA9IGFlc0tleS5l
eHBvcnRSYXcoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZv
cm1hdDo6SndrOiB7CisgICAgICAgIEpzb25XZWJLZXkgandrID0gYWVzS2V5LmV4cG9ydEp3aygp
OworICAgICAgICBzd2l0Y2ggKGFlc0tleS5sZW5ndGgoKSkgeworICAgICAgICBjYXNlIENyeXB0
b0tleUFFUzo6c19sZW5ndGgxMjg6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzEy
OCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVu
Z3RoMTkyOgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEcxOTIpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDI1NjoKKyAgICAg
ICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMjU2KTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
IH0KKyAgICAgICAgcmVzdWx0ID0gV1RGTW92ZShqd2spOworICAgICAgICBicmVhazsKKyAgICB9
CisgICAgZGVmYXVsdDoKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9F
UlIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY2FsbGJhY2soZm9ybWF0LCBXVEZN
b3ZlKHJlc3VsdCkpOworfQorCiB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6ZW5jcnlwdEZv
cldyYXBLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25z
dCBDcnlwdG9LZXkmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9y
Q2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrLCBFeGNl
cHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIWtleUFsZ29yaXRobU1hdGNoZXMoa2V5KSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0tXLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1BRVNfS1cuaAppbmRleCBmMjMyNDIxOWJmM2VlOGIwMGVmZGVkYjQzNTc3ZDcwZDFmOTRm
NDFjLi4wNjliOGJmNjc5YTgxMTE0YzY3YjgzNmJhYWZmYWY5Mjc4MDgzNTNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1B
RVNfS1cuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdlbmVyYXRlS2V5
KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29s
IGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIGZpbmFsOwog
ICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNv
bnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4
dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9u
Q2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlG
b3JtYXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25D
YWxsYmFjayYmKSBmaW5hbDsKIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgd2lsbCBiZSBkZXByZWNh
dGVkLgogICAgIHZvaWQgZW5jcnlwdEZvcldyYXBLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRp
b25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNr
LCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwCmluZGV4IDRkOTY5OWM5
YjdmZWNkZDA1NTU5MjUxZGZhNjhhYzVhNDkyOTc4MGIuLjQyNzk2MDgxOTBhMTQ0ZDdlMDVjOTE2
ZWVlMjcyZmMyZjlmMjg2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwCkBAIC0zOCw2ICszOCwxMSBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBDcnlwdG9BbGdvcml0aG1I
TUFDOjpzX25hbWUgPSAiSE1BQyI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMSA9ICJI
UzEiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzIyNCA9ICJIUzIyNCI7CitzdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIkhTMjU2IjsKK3N0YXRpYyBjb25zdCBjaGFyKiBj
b25zdCBBTEczODQgPSAiSFMzODQiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzUxMiA9
ICJIUzUxMiI7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCB1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRv
QWxnb3JpdGhtSE1BQyhDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMpCiB7CkBAIC0xMTQsMTUg
KzExOSwxNSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OmltcG9ydEtleShTdWJ0bGVDcnlw
dG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBkYQogICAgICAgICBhdXRvIGNoZWNrQWxn
Q2FsbGJhY2sgPSBbXShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGNvbnN0IE9wdGlv
bmFsPFN0cmluZz4mIGFsZykgLT4gYm9vbCB7CiAgICAgICAgICAgICBzd2l0Y2ggKGhhc2gpIHsK
ICAgICAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzE6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gIkhTMSI7CisgICAgICAg
ICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMTsKICAgICAgICAgICAg
IGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzIyNDoKLSAgICAgICAgICAgICAg
ICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSAiSFMyMjQiOworICAgICAgICAgICAgICAg
IHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgpID09IEFMRzIyNDsKICAgICAgICAgICAgIGNhc2Ug
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzI1NjoKLSAgICAgICAgICAgICAgICByZXR1
cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSAiSFMyNTYiOworICAgICAgICAgICAgICAgIHJldHVy
biAhYWxnIHx8IGFsZy52YWx1ZSgpID09IEFMRzI1NjsKICAgICAgICAgICAgIGNhc2UgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzM4NDoKLSAgICAgICAgICAgICAgICByZXR1cm4gIWFs
ZyB8fCBhbGcudmFsdWUoKSA9PSAiSFMzODQiOworICAgICAgICAgICAgICAgIHJldHVybiAhYWxn
IHx8IGFsZy52YWx1ZSgpID09IEFMRzM4NDsKICAgICAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllcjo6U0hBXzUxMjoKLSAgICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBh
bGcudmFsdWUoKSA9PSAiSFM1MTIiOworICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFs
Zy52YWx1ZSgpID09IEFMRzUxMjsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQpAQCAtMTQzLDYgKzE0OCw1MiBAQCB2b2lk
IENyeXB0b0FsZ29yaXRobUhNQUM6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBm
b3JtYXQsIEtleURhdGEmJiBkYQogICAgIGNhbGxiYWNrKCpyZXN1bHQpOwogfQogCit2b2lkIENy
eXB0b0FsZ29yaXRobUhNQUM6OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3Jt
YXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYga2V5LCBLZXlEYXRhQ2FsbGJhY2smJiBjYWxsYmFjaywg
RXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKK3sKKyAgICBjb25zdCBhdXRv
JiBobWFjS2V5ID0gZG93bmNhc3Q8Q3J5cHRvS2V5SE1BQz4oKmtleSk7CisKKyAgICBpZiAoaG1h
Y0tleS5rZXkoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0
aW9uRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgS2V5RGF0YSByZXN1bHQ7
CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0
OjpSYXc6CisgICAgICAgIHJlc3VsdCA9IGhtYWNLZXkuZXhwb3J0UmF3KCk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6Okp3azogeworICAgICAgICBK
c29uV2ViS2V5IGp3ayA9IGhtYWNLZXkuZXhwb3J0SndrKCk7CisgICAgICAgIHN3aXRjaCAoaG1h
Y0tleS5oYXNoQWxnb3JpdGhtSWRlbnRpZmllcigpKSB7CisgICAgICAgIGNhc2UgQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllcjo6U0hBXzE6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFM
RzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllcjo6U0hBXzIyNDoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMjI0KTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXI6OlNIQV8yNTY6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzI1Nik7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpT
SEFfMzg0OgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEczODQpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzUx
MjoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHNTEyKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0ID0gV1RGTW92ZShqd2spOworICAgICAgICBicmVh
azsKKyAgICB9CisgICAgZGVmYXVsdDoKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soTk9UX1NV
UFBPUlRFRF9FUlIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY2FsbGJhY2soZm9y
bWF0LCBXVEZNb3ZlKHJlc3VsdCkpOworfQorCiB2b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OnNp
Z24oY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMs
IGNvbnN0IENyeXB0b0tleSYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBW
ZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2ss
IEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGNvbnN0IENyeXB0b0FsZ29yaXRobUhtYWNQYXJh
bXNEZXByZWNhdGVkJiBobWFjUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUht
YWNQYXJhbXNEZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuaCBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuaAppbmRleCA5NWNiM2Q2
ZmEyMzc5ZWE5NTQ5MjUyNGU3ZGM4ZWEyY2EwZWViY2FkLi44NTNmMzkyNmQ5MzliYWE0MmZjYWYx
NzI0YzUyZjkxNzYyMTAyOGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5oCkBAIC00Niw2ICs0Niw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0
bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KikgZmluYWw7CiAgICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
LCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIGV4
cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgUmVmUHRyPENyeXB0b0tleT4mJiwgS2V5
RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogCiAgICAgLy8gVGhl
IGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAgICAgdm9pZCBzaWduKGNvbnN0IENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZh
aWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFf
djFfNS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1SU0FFU19QS0NTMV92MV81LmNwcAppbmRleCAxZDIwYzgwZjY0NDI3MGRlNjlmMzEwZTJjMWM1
OGRmOWY4YWNkNmNhLi45MzE4NjkyOTAxOGYyM2YyYmFjMzY1YjUwZjU3ZjQ3MTJhMjFhN2Q2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1SU0FFU19QS0NTMV92MV81LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcApAQCAtMzksNiArMzksNyBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjb25zdCBDcnlwdG9BbGdvcml0
aG1SU0FFU19QS0NTMV92MV81OjpzX25hbWUgPSAiUlNBRVMtUEtDUzEtdjFfNSI7CitzdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgQUxHID0gIlJTQTFfNSI7CiAKIENyeXB0b0FsZ29yaXRobVJTQUVT
X1BLQ1MxX3YxXzU6OkNyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUoKQogewpAQCAtMTAy
LDcgKzEwMyw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6aW1wb3J0
S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwKICAgICAgICAgICAgIGV4Y2VwdGlv
bkNhbGxiYWNrKERhdGFFcnJvcik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAg
ICAgICAgaWYgKGtleS5hbGcgJiYga2V5LmFsZy52YWx1ZSgpICE9ICJSU0ExXzUiKSB7CisgICAg
ICAgIGlmIChrZXkuYWxnICYmIGtleS5hbGcudmFsdWUoKSAhPSBBTEcpIHsKICAgICAgICAgICAg
IGV4Y2VwdGlvbkNhbGxiYWNrKERhdGFFcnJvcik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KQEAgLTEyMSw2ICsxMjIsMzEgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NT
MV92MV81OjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LAogICAgIGNh
bGxiYWNrKCpyZXN1bHQpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3Yx
XzU6OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIFJlZlB0cjxDcnlw
dG9LZXk+JiYga2V5LCBLZXlEYXRhQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJh
Y2smJiBleGNlcHRpb25DYWxsYmFjaykKK3sKKyAgICBjb25zdCBhdXRvJiByc2FLZXkgPSBkb3du
Y2FzdDxDcnlwdG9LZXlSU0E+KCprZXkpOworCisgICAgaWYgKCFyc2FLZXkua2V5U2l6ZUluQml0
cygpKSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE9wZXJhdGlvbkVycm9yKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIEtleURhdGEgcmVzdWx0OworICAgIHN3aXRjaCAoZm9y
bWF0KSB7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CisgICAgICAg
IEpzb25XZWJLZXkgandrID0gcnNhS2V5LmV4cG9ydEp3aygpOworICAgICAgICBqd2suYWxnID0g
U3RyaW5nKEFMRyk7CisgICAgICAgIHJlc3VsdCA9IFdURk1vdmUoandrKTsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9T
VVBQT1JURURfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbGxiYWNrKGZv
cm1hdCwgV1RGTW92ZShyZXN1bHQpKTsKK30KKwogdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19Q
S0NTMV92MV81OjplbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNh
dGVkJiwgY29uc3QgQ3J5cHRvS2V5JiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRh
dGEsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxs
YmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKCFrZXlBbGdvcml0aG1NYXRjaGVz
KGtleSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaAppbmRleCAwNGRhNzY4
MzM5NjE0MDg4Yzk3MTYxODRlM2RiM2VmNTNkMWRkNTA4Li4xZThlY2E4MzdlNTkzZDdmYmRhOTgw
YjlkNTQzNmI3MGI2Nzc1M2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5o
CkBAIC00Niw2ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qg
c3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFj
dGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNl
cHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgZmluYWw7CiAgICAgdm9p
ZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3Rk
Ojp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFj
ayYmKSBmaW5hbDsKKyAgICB2b2lkIGV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwg
UmVmUHRyPENyeXB0b0tleT4mJiwgS2V5RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNr
JiYpIGZpbmFsOwogCiAgICAgLy8gVGhlIGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAg
ICAgdm9pZCBlbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVk
JiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNh
bGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYp
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuY3BwCmluZGV4
IDQ5NDNkMjU3NzllMjhlOWQ1NmQxMGQ3MWI4ZmQ4NGIxNTlkNjI1MjUuLmRiOGFkMzZlYzUwZjA2
ZDZlNTRhN2FhY2Q3OWEyOWUzNWNiOTc3NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0Ff
UEtDUzFfdjFfNS5jcHAKQEAgLTQxLDYgKzQxLDExIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNvbnN0IGNoYXIqIGNvbnN0IENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpzX25h
bWUgPSAiUlNBU1NBLVBLQ1MxLXYxXzUiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzEg
PSAiUlMxIjsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcyMjQgPSAiUlMyMjQiOworc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJSUzI1NiI7CitzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgQUxHMzg0ID0gIlJTMzg0IjsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEc1
MTIgPSAiUlM1MTIiOwogCiBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6Q3J5cHRv
QWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUoKQogewpAQCAtMTEzLDE5ICsxMTgsMTkgQEAgdm9p
ZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0
bzo6S2V5Rm9ybWF0IGZvcm1hdCwKICAgICAgICAgYm9vbCBpc01hdGNoZWQgPSBmYWxzZTsKICAg
ICAgICAgc3dpdGNoIChyc2FQYXJhbWV0ZXJzLmhhc2hJZGVudGlmaWVyKSB7CiAgICAgICAgIGNh
c2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzE6Ci0gICAgICAgICAgICBpc01hdGNo
ZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gIlJTMSI7CisgICAgICAgICAgICBp
c01hdGNoZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxHMTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8y
MjQ6Ci0gICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkg
PT0gIlJTMjI0IjsKKyAgICAgICAgICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcu
dmFsdWUoKSA9PSBBTEcyMjQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMjU2OgotICAgICAgICAgICAgaXNNYXRjaGVkID0g
IWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09ICJSUzI1NiI7CisgICAgICAgICAgICBpc01h
dGNoZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxHMjU2OwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzM4
NDoKLSAgICAgICAgICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUoKSA9
PSAiUlMzODQiOworICAgICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52
YWx1ZSgpID09IEFMRzM4NDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV81MTI6Ci0gICAgICAgICAgICBpc01hdGNoZWQgPSAh
a2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gIlJTNTEyIjsKKyAgICAgICAgICAgIGlzTWF0
Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUoKSA9PSBBTEc1MTI7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTUwLDYg
KzE1NSw0OSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjppbXBvcnRL
ZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LAogICAgIGNhbGxiYWNrKCpyZXN1bHQp
OwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpleHBvcnRLZXko
U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBSZWZQdHI8Q3J5cHRvS2V5PiYmIGtleSwg
S2V5RGF0YUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9u
Q2FsbGJhY2spCit7CisgICAgY29uc3QgYXV0byYgcnNhS2V5ID0gZG93bmNhc3Q8Q3J5cHRvS2V5
UlNBPigqa2V5KTsKKworICAgIGlmICghcnNhS2V5LmtleVNpemVJbkJpdHMoKSkgeworICAgICAg
ICBleGNlcHRpb25DYWxsYmFjayhPcGVyYXRpb25FcnJvcik7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBLZXlEYXRhIHJlc3VsdDsKKyAgICBzd2l0Y2ggKGZvcm1hdCkgeworICAgIGNh
c2UgU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6Okp3azogeworICAgICAgICBKc29uV2ViS2V5IGp3
ayA9IHJzYUtleS5leHBvcnRKd2soKTsKKyAgICAgICAgc3dpdGNoIChyc2FLZXkuaGFzaEFsZ29y
aXRobUlkZW50aWZpZXIoKSkgeworICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXI6OlNIQV8xOgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEcxKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8y
MjQ6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzIyNCk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMjU2Ogor
ICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEcyNTYpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzM4NDoKKyAgICAg
ICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMzg0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV81MTI6CisgICAgICAgICAg
ICBqd2suYWxnID0gU3RyaW5nKEFMRzUxMik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9Cisg
ICAgICAgIHJlc3VsdCA9IFdURk1vdmUoandrKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAg
IGRlZmF1bHQ6CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9TVVBQT1JURURfRVJSKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbGxiYWNrKGZvcm1hdCwgV1RGTW92ZShy
ZXN1bHQpKTsKK30KKwogdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6c2ln
bihjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywg
Y29uc3QgQ3J5cHRvS2V5JiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZl
Y3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywg
RXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgY29uc3QgQ3J5cHRvQWxnb3JpdGhtUnNhU3NhUGFy
YW1zRGVwcmVjYXRlZCYgcnNhU1NBUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRo
bVJzYVNzYVBhcmFtc0RlcHJlY2F0ZWQ+KHBhcmFtZXRlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3Yx
XzUuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJT
QVNTQV9QS0NTMV92MV81LmgKaW5kZXggOGQ4ZmEzNTQzMmUwMmUzNGZkZjdjMmFhZGRhZTU3ZmE2
ZmQ5NjdhZi4uNzNkODQxMjhlNzAwZWM0ZTYyMDg1MDVhM2YxZTgyYmFhMThjNzRjMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNB
U1NBX1BLQ1MxX3YxXzUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5oCkBAIC00Niw2ICs0Niw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0
bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KikgZmluYWw7CiAgICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
LCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIGV4
cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgUmVmUHRyPENyeXB0b0tleT4mJiwgS2V5
RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogCiAgICAgLy8gVGhl
IGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAgICAgdm9pZCBzaWduKGNvbnN0IENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZh
aWx1cmVDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09B
RVAuY3BwCmluZGV4IDcyNmFjMDdkZTUyODc3NDQ4ZGQ1OWEwNWI3MTRkMTMxNGU0MWRjZGYuLjUy
MjMwN2YwNDllNTM5NGUwYzI4NTVlOWEwZWQ2MTViZDQ4OTFiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0Ff
T0FFUC5jcHAKQEAgLTQxLDYgKzQxLDExIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0
IGNoYXIqIGNvbnN0IENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpzX25hbWUgPSAiUlNBLU9BRVAi
Oworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzEgPSAiUlNBLU9BRVAiOworc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IEFMRzIyNCA9ICJSU0EtT0FFUC0yMjQiOworc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IEFMRzI1NiA9ICJSU0EtT0FFUC0yNTYiOworc3RhdGljIGNvbnN0IGNoYXIqIGNv
bnN0IEFMRzM4NCA9ICJSU0EtT0FFUC0zODQiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFM
RzUxMiA9ICJSU0EtT0FFUC01MTIiOwogCiBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6Q3J5cHRv
QWxnb3JpdGhtUlNBX09BRVAoKQogewpAQCAtMTI0LDE5ICsxMjksMTkgQEAgdm9pZCBDcnlwdG9B
bGdvcml0aG1SU0FfT0FFUDo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1h
dCwgS2V5RGF0YSYKICAgICAgICAgYm9vbCBpc01hdGNoZWQgPSBmYWxzZTsKICAgICAgICAgc3dp
dGNoIChyc2FQYXJhbWV0ZXJzLmhhc2hJZGVudGlmaWVyKSB7CiAgICAgICAgIGNhc2UgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzE6Ci0gICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5
LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gIlJTQS1PQUVQIjsKKyAgICAgICAgICAgIGlzTWF0
Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUoKSA9PSBBTEcxOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzIyNDoK
LSAgICAgICAgICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUoKSA9PSAi
UlNBLU9BRVAtMjI0IjsKKyAgICAgICAgICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5h
bGcudmFsdWUoKSA9PSBBTEcyMjQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBD
cnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMjU2OgotICAgICAgICAgICAgaXNNYXRjaGVk
ID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09ICJSU0EtT0FFUC0yNTYiOworICAgICAg
ICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09IEFMRzI1NjsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXI6OlNIQV8zODQ6Ci0gICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxn
LnZhbHVlKCkgPT0gIlJTQS1PQUVQLTM4NCI7CisgICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5
LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxHMzg0OwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzUxMjoKLSAgICAgICAg
ICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUoKSA9PSAiUlNBLU9BRVAt
NTEyIjsKKyAgICAgICAgICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUo
KSA9PSBBTEc1MTI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtMTYxLDYgKzE2Niw0OSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJT
QV9PQUVQOjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRh
JgogICAgIGNhbGxiYWNrKCpyZXN1bHQpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9P
QUVQOjpleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBSZWZQdHI8Q3J5
cHRvS2V5PiYmIGtleSwgS2V5RGF0YUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxi
YWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2spCit7CisgICAgY29uc3QgYXV0byYgcnNhS2V5ID0gZG93
bmNhc3Q8Q3J5cHRvS2V5UlNBPigqa2V5KTsKKworICAgIGlmICghcnNhS2V5LmtleVNpemVJbkJp
dHMoKSkgeworICAgICAgICBleGNlcHRpb25DYWxsYmFjayhPcGVyYXRpb25FcnJvcik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBLZXlEYXRhIHJlc3VsdDsKKyAgICBzd2l0Y2ggKGZv
cm1hdCkgeworICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6Okp3azogeworICAgICAg
ICBKc29uV2ViS2V5IGp3ayA9IHJzYUtleS5leHBvcnRKd2soKTsKKyAgICAgICAgc3dpdGNoIChy
c2FLZXkuaGFzaEFsZ29yaXRobUlkZW50aWZpZXIoKSkgeworICAgICAgICBjYXNlIENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXI6OlNIQV8xOgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhB
TEcxKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXI6OlNIQV8yMjQ6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzIyNCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyOjpTSEFfMjU2OgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEcyNTYpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6
U0hBXzM4NDoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMzg0KTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV81
MTI6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzUxMik7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICB9CisgICAgICAgIHJlc3VsdCA9IFdURk1vdmUoandrKTsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9T
VVBQT1JURURfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbGxiYWNrKGZv
cm1hdCwgV1RGTW92ZShyZXN1bHQpKTsKK30KKwogdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FF
UDo6ZW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFy
YW1ldGVycywgY29uc3QgQ3J5cHRvS2V5JiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEm
IGRhdGEsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVD
YWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgY29uc3QgQ3J5cHRvQWxnb3JpdGht
UnNhT2FlcFBhcmFtc0RlcHJlY2F0ZWQmIHJzYU9BRVBQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5
cHRvQWxnb3JpdGhtUnNhT2FlcFBhcmFtc0RlcHJlY2F0ZWQ+KHBhcmFtZXRlcnMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNB
X09BRVAuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bVJTQV9PQUVQLmgKaW5kZXggOWY0ZTNlOWY3M2VmZTBiNWY1ZWQwYmI0NjRlMjQ5MzBmZjE0YzY1
Yy4uZjUzYTlhM2VjM2U0ZjkzN2I5MjFiOTg0MGYyODNhMWNlNDY0NTk4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1S
U0FfT0FFUC5oCkBAIC00Niw2ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZ2VuZXJhdGVL
ZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJv
b2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFj
ayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgZmluYWw7
CiAgICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwg
Y29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wg
ZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRp
b25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICB2b2lkIGV4cG9ydEtleShTdWJ0bGVDcnlwdG86Oktl
eUZvcm1hdCwgUmVmUHRyPENyeXB0b0tleT4mJiwgS2V5RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlv
bkNhbGxiYWNrJiYpIGZpbmFsOwogCiAgICAgLy8gVGhlIGZvbGxvd2luZyB3aWxsIGJlIGRlcHJl
Y2F0ZWQuCiAgICAgdm9pZCBlbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNE
ZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYs
IFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaywgRXhjZXB0
aW9uQ29kZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tl
eXMvQ3J5cHRvS2V5QUVTLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tl
eUFFUy5jcHAKaW5kZXggMjM0ZmUyOWI0OTFjMDA1YzFiNzQ0MGU4MWJiYWI5NWM1YmRiZGU4OS4u
ODQ2MWJiZTdkMTE1NzgyMzAwNjYyNjk1YTU0NDVkMTg0NzhjMTkzZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuY3BwCkBAIC0xMDQsNiArMTA0LDE2IEBAIFJl
ZlB0cjxDcnlwdG9LZXlBRVM+IENyeXB0b0tleUFFUzo6aW1wb3J0SndrKENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXIgYWxnb3JpdGhtCiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDcnlwdG9LZXlB
RVMoYWxnb3JpdGhtLCBXVEZNb3ZlKG9jdGV0U2VxdWVuY2UpLCBleHRyYWN0YWJsZSwgdXNhZ2Vz
KSk7CiB9CiAKK0pzb25XZWJLZXkgQ3J5cHRvS2V5QUVTOjpleHBvcnRKd2soKSBjb25zdAorewor
ICAgIEpzb25XZWJLZXkgcmVzdWx0OworICAgIHJlc3VsdC5rdHkgPSAib2N0IjsKKyAgICByZXN1
bHQuayA9IGJhc2U2NFVSTEVuY29kZShtX2tleSk7CisgICAgcmVzdWx0LmtleV9vcHMgPSB1c2Fn
ZXMoKTsKKyAgICByZXN1bHQuZXh0ID0gZXh0cmFjdGFibGUoKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorCiBzdGQ6OnVuaXF1ZV9wdHI8S2V5QWxnb3JpdGhtPiBDcnlwdG9LZXlBRVM6OmJ1aWxk
QWxnb3JpdGhtKCkgY29uc3QKIHsKICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxBZXNLZXlB
bGdvcml0aG0+KENyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5OjpzaW5nbGV0b24oKS5uYW1lRm9ySWRl
bnRpZmllcihhbGdvcml0aG1JZGVudGlmaWVyKCkpLCBtX2tleS5zaXplKCkgKiA4KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5oIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmgKaW5kZXggYzcxOGJlYjc2ODQ2OTQ4
ZGY2YjJkNWZhODVlY2NjYTk2OGQ4ZWEyNS4uODg5MWVlMTE0OTQ5ZmQyNzI5NGFiMzBkNDA1ODYw
OGVlOGUxYzEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRv
S2V5QUVTLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmgK
QEAgLTc0LDcgKzc0LDExIEBAIHB1YmxpYzoKIAogICAgIENyeXB0b0tleUNsYXNzIGtleUNsYXNz
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ3J5cHRvS2V5Q2xhc3M6OkFFUzsgfQogCisgICAgc2l6
ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5LnNpemUoKSAqIDg7IH0KKwogICAgIGNv
bnN0IFZlY3Rvcjx1aW50OF90PiYga2V5KCkgY29uc3QgeyByZXR1cm4gbV9rZXk7IH0KKyAgICBW
ZWN0b3I8dWludDhfdD4gZXhwb3J0UmF3KCkgY29uc3QgeyByZXR1cm4gbV9rZXk7IH0KKyAgICBK
c29uV2ViS2V5IGV4cG9ydEp3aygpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIENyeXB0b0tleUFF
UyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNwcAppbmRleCAxNzNjZTVjYTdiZTk5NGE0MDdh
OWE3MDk3ODE1YjEwMTVmMzQyZjcyLi5hY2M2YmVmNjVlM2Q0YjcwZjI0MTc2ZGU3M2FmMjM2YTM5
MzRiMDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlI
TUFDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNw
cApAQCAtMTE0LDYgKzExNCwxNiBAQCBSZWZQdHI8Q3J5cHRvS2V5SE1BQz4gQ3J5cHRvS2V5SE1B
Qzo6aW1wb3J0SndrKHNpemVfdCBsZW5ndGhCaXRzLCBDcnlwdG9BbGdvcml0aAogICAgIHJldHVy
biBDcnlwdG9LZXlITUFDOjppbXBvcnRSYXcobGVuZ3RoQml0cywgaGFzaCwgV1RGTW92ZShvY3Rl
dFNlcXVlbmNlKSwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CiB9CiAKK0pzb25XZWJLZXkgQ3J5cHRv
S2V5SE1BQzo6ZXhwb3J0SndrKCkgY29uc3QKK3sKKyAgICBKc29uV2ViS2V5IHJlc3VsdDsKKyAg
ICByZXN1bHQua3R5ID0gIm9jdCI7CisgICAgcmVzdWx0LmsgPSBiYXNlNjRVUkxFbmNvZGUobV9r
ZXkpOworICAgIHJlc3VsdC5rZXlfb3BzID0gdXNhZ2VzKCk7CisgICAgcmVzdWx0LmV4dCA9IGV4
dHJhY3RhYmxlKCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogc3RkOjp1bmlxdWVfcHRyPEtl
eUFsZ29yaXRobT4gQ3J5cHRvS2V5SE1BQzo6YnVpbGRBbGdvcml0aG0oKSBjb25zdAogewogICAg
IHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEhtYWNLZXlBbGdvcml0aG0+KENyeXB0b0FsZ29yaXRo
bVJlZ2lzdHJ5OjpzaW5nbGV0b24oKS5uYW1lRm9ySWRlbnRpZmllcihhbGdvcml0aG1JZGVudGlm
aWVyKCkpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5
SE1BQy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5oCmluZGV4
IDEwN2M2NTk4MTNkYzkxODZmZjAxOGYwYWVlZTQzNGFmZGFhMDFjNjAuLjZlMzVhMzVjOWJmYzdh
YmU0ZTkxMTExNTllNjI0ZGNkZGIwMDM4ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0tleUhNQUMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlITUFDLmgKQEAgLTcxLDYgKzcxLDggQEAgcHVibGljOgogICAgIENyeXB0b0tl
eUNsYXNzIGtleUNsYXNzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ3J5cHRvS2V5Q2xhc3M6OkhN
QUM7IH0KIAogICAgIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5KCkgY29uc3QgeyByZXR1cm4g
bV9rZXk7IH0KKyAgICBWZWN0b3I8dWludDhfdD4gZXhwb3J0UmF3KCkgY29uc3QgeyByZXR1cm4g
bV9rZXk7IH0KKyAgICBKc29uV2ViS2V5IGV4cG9ydEp3aygpIGNvbnN0OwogCiAgICAgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllciBoYXNoQWxnb3JpdGhtSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1faGFzaDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9LZXlSU0EuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNB
LmNwcAppbmRleCAwZDE0MzgxZjViMjE5NjVlNDk2ZTY4OGNlODE0ZjA3NzAxNThiNDg2Li41OTRj
NmFmOTBlMmNhODNhMWZmZmQ1MDJlODM3YTc3ZDczMDRhMzhkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAKQEAgLTEwOCw2ICsxMDgsNDYgQEAgUmVmUHRy
PENyeXB0b0tleVJTQT4gQ3J5cHRvS2V5UlNBOjppbXBvcnRKd2soQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciBhbGdvcml0aG0KICAgICByZXR1cm4gQ3J5cHRvS2V5UlNBOjpjcmVhdGUoYWxnb3Jp
dGhtLCBoYXNoLnZhbHVlT3IoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzEpLCAhIWhh
c2gsICpwcml2YXRlS2V5Q29tcG9uZW50cywgZXh0cmFjdGFibGUsIHVzYWdlcyk7CiB9CiAKK0pz
b25XZWJLZXkgQ3J5cHRvS2V5UlNBOjpleHBvcnRKd2soKSBjb25zdAoreworICAgIEpzb25XZWJL
ZXkgcmVzdWx0OworICAgIHJlc3VsdC5rdHkgPSAiUlNBIjsKKyAgICByZXN1bHQua2V5X29wcyA9
IHVzYWdlcygpOworICAgIHJlc3VsdC5leHQgPSBleHRyYWN0YWJsZSgpOworCisgICAgYXV0byBr
ZXlEYXRhID0gZXhwb3J0RGF0YSgpOworICAgIGNvbnN0IGF1dG8mIHJzYUtleURhdGEgPSBkb3du
Y2FzdDxDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50cz4oKmtleURhdGEpOworICAgIC8vIHB1Ymxp
YyBrZXkKKyAgICByZXN1bHQubiA9IGJhc2U2NFVSTEVuY29kZShyc2FLZXlEYXRhLm1vZHVsdXMo
KSk7CisgICAgcmVzdWx0LmUgPSBiYXNlNjRVUkxFbmNvZGUocnNhS2V5RGF0YS5leHBvbmVudCgp
KTsKKyAgICBpZiAocnNhS2V5RGF0YS50eXBlKCkgPT0gQ3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVu
dHM6OlR5cGU6OlB1YmxpYykKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKworICAgIC8vIHByaXZh
dGUga2V5CisgICAgcmVzdWx0LmQgPSBiYXNlNjRVUkxFbmNvZGUocnNhS2V5RGF0YS5wcml2YXRl
RXhwb25lbnQoKSk7CisgICAgaWYgKCFyc2FLZXlEYXRhLmhhc0FkZGl0aW9uYWxQcml2YXRlS2V5
UGFyYW1ldGVycygpKQorICAgICAgICByZXR1cm4gcmVzdWx0OworCisgICAgcmVzdWx0LnAgPSBi
YXNlNjRVUkxFbmNvZGUocnNhS2V5RGF0YS5maXJzdFByaW1lSW5mbygpLnByaW1lRmFjdG9yKTsK
KyAgICByZXN1bHQucSA9IGJhc2U2NFVSTEVuY29kZShyc2FLZXlEYXRhLnNlY29uZFByaW1lSW5m
bygpLnByaW1lRmFjdG9yKTsKKyAgICByZXN1bHQuZHAgPSBiYXNlNjRVUkxFbmNvZGUocnNhS2V5
RGF0YS5maXJzdFByaW1lSW5mbygpLmZhY3RvckNSVEV4cG9uZW50KTsKKyAgICByZXN1bHQuZHEg
PSBiYXNlNjRVUkxFbmNvZGUocnNhS2V5RGF0YS5zZWNvbmRQcmltZUluZm8oKS5mYWN0b3JDUlRF
eHBvbmVudCk7CisgICAgcmVzdWx0LnFpID0gYmFzZTY0VVJMRW5jb2RlKHJzYUtleURhdGEuc2Vj
b25kUHJpbWVJbmZvKCkuZmFjdG9yQ1JUQ29lZmZpY2llbnQpOworICAgIGlmIChyc2FLZXlEYXRh
Lm90aGVyUHJpbWVJbmZvcygpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKwor
ICAgIFZlY3RvcjxSc2FPdGhlclByaW1lc0luZm8+IG90aDsKKyAgICBmb3IgKGF1dG8gaW5mbyA6
IHJzYUtleURhdGEub3RoZXJQcmltZUluZm9zKCkpIHsKKyAgICAgICAgUnNhT3RoZXJQcmltZXNJ
bmZvIG90aGVySW5mbzsKKyAgICAgICAgb3RoZXJJbmZvLnIgPSBiYXNlNjRVUkxFbmNvZGUoaW5m
by5wcmltZUZhY3Rvcik7CisgICAgICAgIG90aGVySW5mby5kID0gYmFzZTY0VVJMRW5jb2RlKGlu
Zm8uZmFjdG9yQ1JURXhwb25lbnQpOworICAgICAgICBvdGhlckluZm8udCA9IGJhc2U2NFVSTEVu
Y29kZShpbmZvLmZhY3RvckNSVENvZWZmaWNpZW50KTsKKyAgICAgICAgb3RoLmFwcGVuZChXVEZN
b3ZlKG90aGVySW5mbykpOworICAgIH0KKyAgICByZXN1bHQub3RoID0gV1RGTW92ZShvdGgpOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9LZXlSU0EuaAppbmRleCBmYjEwYTY0MDQxOWUzM2EzY2M3NTFhZGM1NTFkYTI1YTM3MjczMWY0
Li5lNTFiNmEzOTIxODM2MTU3NTAxMDI3YTgxZmFiYTUzOWUzN2E2MGUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaApAQCAtMTA0LDYgKzEwNCw5IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmUHRyPENyeXB0b0tleVJTQT4gaW1wb3J0SndrKENyeXB0b0FsZ29y
aXRobUlkZW50aWZpZXIsIE9wdGlvbmFsPENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI+IGhhc2gs
IEpzb25XZWJLZXkmJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwog
CiAgICAgUGxhdGZvcm1SU0FLZXkgcGxhdGZvcm1LZXkoKSBjb25zdCB7IHJldHVybiBtX3BsYXRm
b3JtS2V5OyB9CisgICAgSnNvbldlYktleSBleHBvcnRKd2soKSBjb25zdDsKKworICAgIENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaEFsZ29yaXRobUlkZW50aWZpZXIoKSBjb25zdCB7IHJl
dHVybiBtX2hhc2g7IH0KIAogcHJpdmF0ZToKICAgICBDcnlwdG9LZXlSU0EoQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hh
c2gsIENyeXB0b0tleVR5cGUsIFBsYXRmb3JtUlNBS2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZUJpdG1hcCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGQwMGJjNTUxMWNiYWI2M2I3MjE2M2E3YzUwOGFl
OWEzZjZlMjA5Yi4uMmEyYWUxZGE4YTBiZTYzMGM2YTk1YjY0NWY3OWZlNDRiNjdjYjIzMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDkwIEBACisyMDE2LTExLTE0ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBh
cHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIFN1YnRsZUNyeXB0bzo6ZXhwb3J0S2V5IHRvIG1h
dGNoIHRoZSBsYXRlc3Qgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY0NzIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTI1MTc0MD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXNpZGVzIGFk
ZGluZyB0ZXN0IGNhc2VzIGZvciBTdWJ0bGVDcnlwdG86OmV4cG9ydEtleSwgdGhpcyBwYXRjaCBh
bHNvIGNvcnJlY3RzIGEgdHlwbzoKKyAgICAgICAgaG1hYy1pbXBvcnQtbWFsZm9ybWVkLXBhcmFt
ZXRlcnMqID0+IGhtYWMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycyouCisKKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3Ro
LTEyOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNi
Yy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgt
MTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2Jj
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0y
NTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1yYXcuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtZXhw
b3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by9zdWJ0bGUvYWVzLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRt
bDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0
by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9z
dWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYuaHRtbDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5l
cmF0ZS1leHBvcnQtcmF3LWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxl
L2V4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjcnlwdG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRt
bDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9obWFjLWV4cG9ydC1rZXktbWFsZm9y
bWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3Vi
dGxlL2htYWMtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1zaGExLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyMjQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
c2hhMjI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3
ay1zaGEzODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2ht
YWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhNTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUv
aG1hYy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFy
YW1ldGVycy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2htYWMtaW1wb3J0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dC4KKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1t
YWxmb3JtZWQtcGFyYW1ldGVycy5odG1sLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLWV4
cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL3JzYS1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9z
dWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LXNoYTIyNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNh
LW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1n
ZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5
cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEzODQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3Vi
dGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stc2hhNTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNh
ZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYXNzYS1w
a2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLXNoYTEuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9y
c2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyMjQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1
Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBr
Y3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRs
ZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEzODQuaHRtbDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1zaGE1MTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNo
YTUxMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5
cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1r
ZXktcmF3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJz
L3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1yYXcuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291
cmNlcy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suanM6IEFkZGVkLgorICAgICAgICAqIGNy
eXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2ht
YWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93
b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5qczog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yc2EtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2suanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJz
L3N1YnRsZS9yc2EtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLmh0bWw6IEFkZGVkLgorCiAyMDE2LTExLTEwICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIENyeXB0b0tleVVzYWdlIHRvIENyeXB0b0tleVVz
YWdlQml0bWFwIGFuZCBDcnlwdG9LZXk6OlVzYWdlIHRvIENyeXB0b0tleVVzYWdlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBmODU2YTRkYmI1NTYxYTIxZDc2ZWU2YmViYzlhMmNj
MTQ1MzgxN2E1Li41NzNiZTQ0NWM5Yzc2MTQzZmYzYWU1YzY0MmNlZDQ4ZGQzNDMzYzNkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNi0xMS0xNCAg
Smlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBTdWJ0
bGVDcnlwdG86OmV4cG9ydEtleSB0byBtYXRjaCB0aGUgbGF0ZXN0IHNwZWMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDcyMgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjkyNTE3NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJDcnlwdG9BUEkvaWRsaGFybmVzcy1leHBlY3RlZC50eHQ6CisK
IDIwMTYtMTEtMTAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAg
IEluZGV4ZWREQiAyLjAgU3VwcG9ydCB0aGUgSURCRGF0YWJhc2Uub25jbG9zZSBldmVudC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1sZW5ndGgtMTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kOWVlNmY3OTVkOTAzMzRhMmMzNDA1M2NmYTYzN2YzMzdmOGZkOGNl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTYgQEAKK1Rlc3QgZXhwb3J0aW5nIGEgMTI4IGJpdHMgQUVTLUNCQyBrZXkgd2l0aCBKV0sgZm9y
bWF0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5Li4u
CitFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBrZXkua2V5
X29wcyBpcyBbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddCitQ
QVNTIGtleS5hbGcgaXMgJ0ExMjhDQkMnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNl
NjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLWxlbmd0aC0xMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Y2ViOTBlNjk1YjBiMzQ0ZGQxNTg4
MDA1ZGFiNTk4MWViMDhjYjllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbApA
QCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDEyOCBiaXRzIEFFUy1DQkMga2V5
IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJh
Y3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5z
dWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2JjIiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0
YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAidW53cmFwS2V5IiwgIndyYXBLZXkiXSkudGhl
bihmdW5jdGlvbihrZXkpIHsKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIGEga2V5Li4uIik7CisgICAg
cmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXkpOworfSkudGhlbihmdW5j
dGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgia2V5Lmt0
eSIsICInb2N0JyIpOworICAgIHNob3VsZEJlKCJrZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnLCAn
ZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddIik7CisgICAgc2hvdWxkQmUoImtleS5h
bGciLCAiJ0ExMjhDQkMnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAg
IHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMTYiKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjljYjJjYWEwNTc5OTE5YmJkMzU3NDIzZjE5NWFhNTYxYTA0Mzc0
YTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSAxOTIgYml0cyBBRVMtQ0JDIGtleSB3aXRoIEpXSyBm
b3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXku
Li4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5r
ZXlfb3BzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10K
K1BBU1Mga2V5LmFsZyBpcyAnQTE5MkNCQycKK1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNTIEJh
c2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAyNAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTky
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2OTk3Mjk4ZTViYmIxMzMxMDYy
NWMwODRlZDY5MmUwMWUwOGRiYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1s
CkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMTkyIGJpdHMgQUVTLUNCQyBr
ZXkgd2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0
cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRv
LnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6IDE5Mn0sIGV4dHJh
Y3RhYmxlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCIsICJ1bndyYXBLZXkiLCAid3JhcEtleSJdKS50
aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAg
ICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1
bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXku
a3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsnZGVjcnlwdCcs
ICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgia2V5
LmFsZyIsICInQTE5MkNCQyciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0cnVlIik7Cisg
ICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIsICIyNCIpOwor
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUzNTQ5NjNkNDA5ODgxNmU0MjIxOWEyZTZjYWJkOTVhMzll
NmNjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNi
Yy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE2IEBACitUZXN0IGV4cG9ydGluZyBhIDI1NiBiaXRzIEFFUy1DQkMga2V5IHdpdGggSldL
IGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtl
eS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkgaXMgJ29jdCcKK1BBU1Mga2V5
LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXkn
XQorUEFTUyBrZXkuYWxnIGlzICdBMjU2Q0JDJworUEFTUyBrZXkuZXh0IGlzIHRydWUKK1BBU1Mg
QmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIGlzIDMyCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0y
NTYuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1sZW5ndGgtMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4NjIwYTA2ZDRmMTFiMWMx
YzIyNzYxZWYyMTQyNGNlMGYxNDUwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2Lmh0
bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisK
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYSAyNTYgYml0cyBBRVMtQ0JD
IGtleSB3aXRoIEpXSyBmb3JtYXQiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBl
eHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7Citjcnlw
dG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMjU2fSwgZXh0
cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0IiwgInVud3JhcEtleSIsICJ3cmFwS2V5Il0p
LnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOwor
ICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRoZW4o
ZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtl
eS5rdHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydkZWNyeXB0
JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJr
ZXkuYWxnIiwgIidBMjU2Q0JDJyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0IiwgInRydWUiKTsK
KyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIiwgIjMyIik7
CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0
ZS1leHBvcnQta2V5LXJhdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNzA4ODdmOTc0Zjc2Njk2MjlkNzRjNmRjOWQ2M2UwMDg3MGRjNTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1yYXctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgZXhwb3J0aW5nIGFuIEFF
Uy1DQkMga2V5IHdpdGggcmF3IGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworR2VuZXJhdGluZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5ieXRl
TGVuZ3RoIGlzIDE2CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdl
bmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMWE0MWRjYmEw
MDc5ZTUwNzY3MTFhN2NmM2Q0NjE0MmFiNTNjNjY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwK
QEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYW4gQUVTLUNCQyBrZXkgd2l0aCBy
YXcgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUg
PSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5n
ZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBb
ImRlY3J5cHQiLCAiZW5jcnlwdCIsICJ1bndyYXBLZXkiLCAid3JhcEtleSJdKS50aGVuKGZ1bmN0
aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4g
Y3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKyAgICBzaG91bGRCZSgia2V5LmJ5dGVMZW5ndGgi
LCAiMTYiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtZXhw
b3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44OTg4MDliMzU2MTc4NmNhZmIzNDM0N2U5ODhiNDU3NDNiM2Q5MjVj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtZXhwb3J0
LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGVzdCBleHBvcnRpbmcgYW4gQUVTIGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5
KCJzcGtpIiwga2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChE
T00gRXhjZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIGNy
eXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIsIGtleSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIGFsZ29yaXRobSBpcyBu
b3Qgc3VwcG9ydGVkLgorUEFTUyBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgic3BraSIsIGtleSkg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5
KTogVGhlIGFsZ29yaXRobSBpcyBub3Qgc3VwcG9ydGVkLgorUEFTUyBjcnlwdG8uc3VidGxlLmV4
cG9ydEtleSgicGtjczgiLCBrZXkpIHJlamVjdGVkIHByb21pc2UgIHdpdGggTm90U3VwcG9ydGVk
RXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBhbGdvcml0aG0gaXMgbm90IHN1cHBvcnRlZC4K
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1leHBvcnQta2V5LW1hbGZvcm1l
ZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1leHBvcnQt
a2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmEwYzcxODlmMDI3ZDM4
MGNjNDMwMDFiYmIzNjIwN2NjMGY3ZTA0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApA
QCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhbiBBRVMga2V5IHdpdGggbWFsZm9y
bWVkIHBhcmFtZXRlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0
YWJsZSA9IHRydWU7CisKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2Jj
IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAidW53
cmFwS2V5IiwgIndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSBy
ZXN1bHQ7CisKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3JtYXQuCisgICAgc2hvdWxkUmVqZWN0KCdj
cnlwdG8uc3VidGxlLmV4cG9ydEtleSgic3BraSIsIGtleSknKTsKKyAgICBzaG91bGRSZWplY3Qo
J2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIsIGtleSknKTsKKworICAgIHJldHVybiBj
cnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBl
eHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiLCAid3JhcEtleSJdKTsKK30pLnRoZW4oZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgLy8gTm90IHN1cHBvcnQgZm9ybWF0
LgorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInNwa2kiLCBrZXkp
Jyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicGtjczgiLCBr
ZXkpJywgZmluaXNoSlNUZXN0KTsgLy8gRklYTUU6IERvZXNuJ3QgZmVlbCByaWdodCB0byBhZGQg
dGhlIGZpbmlzaEpTVGVzdCBoZXJlLgorfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44ZWM3NWNhNmZmNGZkODNmYWFiMDdlOGE4NWZkM2QzNGM0NjA0
MTBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ct
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSAxMjggYml0cyBBRVMtS1cga2V5IHdpdGggSldLIGZv
cm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4u
LgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkgaXMgJ29jdCcKK1BBU1Mga2V5Lmtl
eV9vcHMgaXMgWyd1bndyYXBLZXknLCAnd3JhcEtleSddCitQQVNTIGtleS5hbGcgaXMgJ0ExMjhL
VycKK1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0
ZUxlbmd0aCBpcyAxNgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40ZDg4MzY5NmQ2OTBkNDIzNmQzZmQ2NDkzYjQxM2MzMjNhNTIyYzBlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24u
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qg
ZXhwb3J0aW5nIGEgMTI4IGJpdHMgQUVTLUtXIGtleSB3aXRoIEpXSyBmb3JtYXQiKTsKKworanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJH
ZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAi
YWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiLCAid3JhcEtl
eSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4i
KTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50
aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJl
KCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsndW53
cmFwS2V5JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidBMTI4S1cn
Iik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNl
NjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMTYiKTsKKworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVu
Z3RoLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1n
ZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTkyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41ZDU4YTQ2NjhjNjEwZThiMTdjMGQzOWViNTUzNTAzMDc5MmExMWMzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBleHBv
cnRpbmcgYSAxOTIgYml0cyBBRVMtS1cga2V5IHdpdGggSldLIGZvcm1hdAorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5
Li4uCitQQVNTIGtleS5rdHkgaXMgJ29jdCcKK1BBU1Mga2V5LmtleV9vcHMgaXMgWyd1bndyYXBL
ZXknLCAnd3JhcEtleSddCitQQVNTIGtleS5hbGcgaXMgJ0ExOTJLVycKK1BBU1Mga2V5LmV4dCBp
cyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAyNAorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLWxlbmd0aC0xOTIuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTE5MzZi
NTlhYzEzZTIxMjBlOWFhZTlkYTdiNDcxMzk1OTRlNWY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVu
Z3RoLTE5Mi5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMTkyIGJp
dHMgQUVTLUtXIGtleSB3aXRoIEpXSyBmb3JtYXQiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7
CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4u
Iik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAx
OTJ9LCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiLCAid3JhcEtleSJdKS50aGVuKGZ1bmN0aW9u
KGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5
cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3Vs
dCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3Qn
Iik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsndW53cmFwS2V5JywgJ3dyYXBLZXkn
XSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidBMTkyS1cnIik7CisgICAgc2hvdWxkQmUo
ImtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5Lmsp
LmJ5dGVMZW5ndGgiLCAiMjQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3Njcmlw
dD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5
LWp3ay1sZW5ndGgtMjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzBmMDc1NzllYzEzYTk4
ZDg2MzgyM2ZkYmM4NTNkZmY3ZDcxYTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSAyNTYgYml0cyBB
RVMtS1cga2V5IHdpdGggSldLIGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworR2VuZXJhdGluZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkg
aXMgJ29jdCcKK1BBU1Mga2V5LmtleV9vcHMgaXMgWyd1bndyYXBLZXknLCAnd3JhcEtleSddCitQ
QVNTIGtleS5hbGcgaXMgJ0EyNTZLVycKK1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2
NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAzMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYuaHRt
bCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLWxlbmd0aC0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTI3MmE0MGNkZGQ4NzllY2ZkMTBjODEz
ZTQ3ZTBjZjllYzAyMjI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni5odG1sCkBAIC0w
LDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMjU2IGJpdHMgQUVTLUtXIGtleSB3aXRo
IEpXSyBmb3JtYXQiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJs
ZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAyNTZ9LCBleHRyYWN0YWJsZSwg
WyJ1bndyYXBLZXkiLCAid3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVn
KCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRL
ZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJl
c3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUo
ImtleS5rZXlfb3BzIiwgIlsndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJl
KCJrZXkuYWxnIiwgIidBMjU2S1cnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIp
OworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMzIi
KTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJh
dGUtZXhwb3J0LXJhdy1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmUwMmVmOGYxOWEyYzk0M2ExYjQ4NzYyZWFmZTBlMjM0NDQ0ZDlhYTgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQtcmF3
LWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBleHBvcnRpbmcgYW4gQUVT
LUtXIGtleSB3aXRoIHJhdyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkuYnl0ZUxl
bmd0aCBpcyAzMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVy
YXRlLWV4cG9ydC1yYXcta2V5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1r
dy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlNzZkZTQ4NmVhNzU3
MDIwYzk0YWI0MzgzYjViZGZjNzQxYThiOTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sCkBAIC0w
LDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGFuIEFFUy1LVyBrZXkgd2l0aCByYXcgZm9y
bWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVl
OworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0
ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMjU2fSwgZXh0cmFjdGFibGUsIFsidW53cmFw
S2V5IiwgIndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICBkZWJ1ZygiRXhwb3J0
aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXci
LCBrZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7Cisg
ICAgc2hvdWxkQmUoImtleS5ieXRlTGVuZ3RoIiwgIjMyIik7CisKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9ybWVk
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwYmM1M2RhOTI5YjkxZDBmNjM2
YTZiMDVkMmJmMjI2MzRjYmIwY2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjAgQEAKK1Rlc3QgZXhwb3J0aW5nIGEga2V5IHdpdGggbWFsZm9ybWVkIHBhcmFt
ZXRlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY3J5cHRvLnN1YnRs
ZS5leHBvcnRLZXkoKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KDEpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgY3J5cHRv
LnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIDEpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBJbnZhbGlkIENyeXB0b0tleS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJh
dyIsIHRydWUpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIENyeXB0
b0tleS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIG51bGwpIHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIENyeXB0b0tleS4KK1BBU1MgY3J5cHRv
LnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIHVuZGVmaW5lZCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IEludmFsaWQgQ3J5cHRvS2V5LgorUEFTUyBjcnlwdG8uc3VidGxlLmV4cG9y
dEtleSgicmF3IiwgU3ltYm9sKCkpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBJ
bnZhbGlkIENyeXB0b0tleS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIHsg
fSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IEludmFsaWQgQ3J5cHRvS2V5Lgor
UEFTUyBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgImZvbyIpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIENyeXB0b0tleS4KK1BBU1MgY3J5cHRvLnN1YnRs
ZS5leHBvcnRLZXkoInJhdyIsIGZha2VkS2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVF
cnJvcjogSW52YWxpZCBDcnlwdG9LZXkuCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJy
YXciLCBrZXkpIHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52YWxpZEFjY2Vzc0Vycm9yIChET00g
RXhjZXB0aW9uIDE1KTogVGhlIENyeXB0b0tleSBpcyBub25leHRyYWN0YWJsZS4KK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMu
aHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFy
YW1ldGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1YmRlNWFjYjg5ZWE5YzRiNDJiMzUyZmY0ODVlYWIz
ZjJhZWZmNzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2V4
cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29t
bW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
ZXN0IGV4cG9ydGluZyBhIGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7CisKK2pzVGVz
dElzQXN5bmMgPSB0cnVlOworCit2YXIgbm9uRXh0cmFjdGFibGUgPSBmYWxzZTsKKwordmFyIGZh
a2VkS2V5ID0geworICAgIHR5cGU6ICJzZWNyZXQiLAorICAgIGV4dHJhY3RhYmxlOiB0cnVlLAor
ICAgIGFsZ29yaXRobToge25hbWU6ICJBRVMtQ0JDIiwgbGVuZ3RoOiAxMjh9LAorICAgIHVzYWdl
czogWyJlbmNyeXB0IiwgImRlY3J5cHQiXQorfQorCitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5
KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4fSwgbm9uRXh0cmFjdGFibGUsIFsiZGVjcnlw
dCIsICJlbmNyeXB0IiwgInVud3JhcEtleSIsICJ3cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVz
dWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgLy8gRXhwb3J0IG5vbmV4dHJhY3RhYmxl
IGtleS4KKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCBr
ZXkpJyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCisvLyBOb3QgZW5vdWdoIGFyZ3Vt
ZW50cy4KK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoKScpOworc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgxKScpOworLy8gV3JvbmcgQ3J5cHRvS2V5
Lgorc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgMSknKTsKK3No
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIHRydWUpJyk7CitzaG91
bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCBudWxsKScpOworc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgdW5kZWZpbmVkKScpOworc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgU3ltYm9sKCkpJyk7Citz
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCB7IH0pJyk7CitzaG91
bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCAiZm9vIiknKTsKK3Nob3Vs
ZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGZha2VkS2V5KScpOworPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvaG1hYy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1leHBvcnQta2V5LW1hbGZvcm1lZC1w
YXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGYzN2M5YThmNDQ3NDhkMzQ3Yjcz
ZDRhMzUyOWZmOWYwNGZiODIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9obWFjLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgZXhwb3J0aW5nIGFuIEhNQUMga2V5IHdpdGggbWFsZm9y
bWVkIHBhcmFtZXRlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY3J5
cHRvLnN1YnRsZS5leHBvcnRLZXkoInNwa2kiLCBrZXkpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
Tm90U3VwcG9ydGVkRXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBhbGdvcml0aG0gaXMgbm90
IHN1cHBvcnRlZC4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInBrY3M4Iiwga2V5KSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkp
OiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9obWFjLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0
ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjcxMDNkNjQ0M2I3M2MxZDliNWQ2MmYwNTUyNGI2Y2I4ZTRj
MGQ2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1l
eHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2Nv
bW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigi
VGVzdCBleHBvcnRpbmcgYW4gSE1BQyBrZXkgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycyIpOwor
Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworY3J5
cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0
cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICBrZXkgPSByZXN1bHQ7CisKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3JtYXQuCisgICAgc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgic3BraSIsIGtleSknKTsKKyAgICBzaG91
bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIsIGtleSknKTsKKworICAg
IGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFj
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNh
ZTdiYmQzNjE4Nzk2NDk4YTBmYmVjNDJkNTc4ZWJmNjFhNDZkMjIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
c2hhMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSBTSEEt
MSBITUFDIGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5
IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsnc2lnbicsICd2ZXJpZnknXQorUEFTUyBr
ZXkuYWxnIGlzICdIUzEnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFy
c2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgNjQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1sIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44OGZhMDEwNDc2NjNmYjA4YmNhYzNhNTkxMmFmMzI3NzdmZmNlNjZiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLXNoYTEuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBh
IFNIQS0xIEhNQUMga2V5IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXku
Li4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJobWFjIiwgaGFzaDogInNo
YS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24oa2V5
KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8u
c3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7
CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtleS5rdHkiLCAiJ29jdCciKTsK
KyAgICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydzaWduJywgJ3ZlcmlmeSddIik7CisgICAg
c2hvdWxkQmUoImtleS5hbGciLCAiJ0hTMSciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0
cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIs
ICI2NCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyMjQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU5Nzc2OTc5ZTI1OGMzZDA5NzQ5MDNjYTcwYTcwZWEyMGQ5Y2QyNTQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJh
dGUtZXhwb3J0LWtleS1qd2stc2hhMjI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitU
ZXN0IGV4cG9ydGluZyBhIFNIQS0yMjQgSE1BQyBrZXkgd2l0aCBKV0sgZm9ybWF0CisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5Li4uCitFeHBvcnRpbmcg
YSBrZXkuLi4KK1BBU1Mga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBrZXkua2V5X29wcyBpcyBbJ3Np
Z24nLCAndmVyaWZ5J10KK1BBU1Mga2V5LmFsZyBpcyAnSFMyMjQnCitQQVNTIGtleS5leHQgaXMg
dHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgNjQKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
c2hhMjI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMjI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNlNzQzN2FkZmYzODU1NjI0M2Q4
YzM1NmY1ZmQyMGI1ZjgwNzcwNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyMjQuaHRtbApAQCAtMCww
ICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIFNIQS0yMjQgSE1BQyBrZXkgd2l0aCBKV0sg
Zm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0
cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5l
cmF0ZUtleSh7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTIyNCJ9LCBleHRyYWN0YWJsZSwgWyJz
aWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRp
bmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIs
IGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKwor
ICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlf
b3BzIiwgIlsnc2lnbicsICd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidI
UzIyNCciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUo
IkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIsICI2NCIpOworCisgICAgZmluaXNo
SlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
c2hhMjU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5l
cmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2YzY4
ZDhhNWQ0NmM5MDM5YjBmOGE4NDY3ZjAwOGFlYjA4NGE2OTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0y
NTYgSE1BQyBrZXkgd2l0aCBKV0sgZm9ybWF0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitHZW5lcmF0aW5nIGEga2V5Li4uCitFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5Lmt0
eSBpcyAnb2N0JworUEFTUyBrZXkua2V5X29wcyBpcyBbJ3NpZ24nLCAndmVyaWZ5J10KK1BBU1Mg
a2V5LmFsZyBpcyAnSFMyNTYnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwu
cGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgNjQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDc5MjZlZmZiZTMyMDUwOTA2MDdkMWY3MWYwMTA1M2IwMGRjOWM4OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4
cG9ydGluZyBhIFNIQS0yNTYgSE1BQyBrZXkgd2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJh
dGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImhtYWMi
LCBoYXNoOiAic2hhLTI1NiJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKS50aGVu
KGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICBy
ZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5
IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsnc2lnbicsICd2ZXJp
ZnknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidIUzI1NiciKTsKKyAgICBzaG91bGRC
ZSgia2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXku
aykuYnl0ZUxlbmd0aCIsICI2NCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1z
aGEzODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhYWE2MmYzMTIwN2JiODVmMTEzNWE0ZWI2
YzExNjVlYzU2ODA2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE2IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0zODQgSE1BQyBrZXkgd2l0aCBKV0sg
Zm9ybWF0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5
Li4uCitFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBrZXku
a2V5X29wcyBpcyBbJ3NpZ24nLCAndmVyaWZ5J10KK1BBU1Mga2V5LmFsZyBpcyAnSFMzODQnCitQ
QVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5n
dGggaXMgMTI4CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9o
bWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0YmU2
YjVlYThhYTNlODcwNjYzZGUxNjk4N2I0MDUxODBjMTc0ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
Mzg0Lmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYSBTSEEtMzg0IEhN
QUMga2V5IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFy
IGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2Ny
eXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0zODQifSwg
ZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAg
ICBkZWJ1ZygiRXhwb3J0aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUu
ZXhwb3J0S2V5KCJqd2siLCBrZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBr
ZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgia2V5Lmt0eSIsICInb2N0JyIpOworICAgIHNo
b3VsZEJlKCJrZXkua2V5X29wcyIsICJbJ3NpZ24nLCAndmVyaWZ5J10iKTsKKyAgICBzaG91bGRC
ZSgia2V5LmFsZyIsICInSFMzODQnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIp
OworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMTI4
Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1zaGE1MTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTg3Mjg0MTU4NjdmMjg2YjRjNzQ5NmZkYWJhYTI5ZWE3MmMwYWYwYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay1zaGE1MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3Qg
ZXhwb3J0aW5nIGEgU0hBLTUxMiBITUFDIGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtl
eS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsnc2lnbics
ICd2ZXJpZnknXQorUEFTUyBrZXkuYWxnIGlzICdIUzUxMicKK1BBU1Mga2V5LmV4dCBpcyB0cnVl
CitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAxMjgKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
NTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stc2hhNTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjE3YWI4OTEzZmU0YjExYTI2Yjc0ZTMx
MjE2ZTc5YTE2YjI5ZmVjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTIuaHRtbApAQCAtMCwwICsx
LDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIFNIQS01MTIgSE1BQyBrZXkgd2l0aCBKV0sgZm9y
bWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVl
OworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0
ZUtleSh7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTUxMiJ9LCBleHRyYWN0YWJsZSwgWyJzaWdu
IiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcg
YSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtl
eSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAg
IHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3Bz
IiwgIlsnc2lnbicsICd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidIUzUx
MiciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJh
c2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIsICIxMjgiKTsKKworICAgIGZpbmlzaEpT
VGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBv
cnQtcmF3LWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2YwY2M2NDYzNjIxODg1MzVjYzNm
MGU2MzI4NDI2YWQwMTI0YmIzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMiBAQAorVGVzdCBleHBvcnRpbmcgYW4gSE1BQyBrZXkgd2l0aCByYXcgZm9ybWF0CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5Li4uCitFeHBv
cnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5LmJ5dGVMZW5ndGggaXMgNjQKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIwMWE5YzA0Y2FkNTc1MmIyNDA0OTIwYTQwNTFiNThjMDEyMjMzOTgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUt
ZXhwb3J0LXJhdy1rZXkuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBh
biBITUFDIGtleSB3aXRoIHJhdyBmb3JtYXQiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7
CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9
LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgewor
ICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRs
ZS5leHBvcnRLZXkoInJhdyIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
IGtleSA9IHJlc3VsdDsKKyAgICBzaG91bGRCZSgia2V5LmJ5dGVMZW5ndGgiLCAiNjQiKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXktbWFs
Zm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9obWFjLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE5YmFjMWJhYWViNzdkN2RjNDA2N2Q5OTk3MWM4NjVkYTViMTkwYzUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS1tYWxm
b3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGVzdCBpbXBv
cnRpbmcgYW4gSE1BQyBrZXkgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycworCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3Iiwg
YXNjaWlUb1VpbnQ4QXJyYXkoIiIpLCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0
cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRh
RXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBk
b2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXko
InJhdyIsIHJhd0tleSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIiwgbGVuZ3RoOiAyNTd9
LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0
aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLmltcG9y
dEtleSgicmF3IiwgcmF3S2V5LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEiLCBsZW5ndGg6
IDI0OH0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBv
cGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJqd2siLCB7a3R5OiAiUlNBIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEt
MSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3Bl
cmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgiandrIiwge2t0eTogIm9jdCJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEi
fSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJh
dGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBv
cnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzIyNCJ9LCB7bmFtZTogImht
YWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHBy
b3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1Mg
Y3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJI
UzI1NiJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTIyNCJ9LCBleHRyYWN0YWJsZSwgWyJz
aWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4
Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQg
cmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTog
Im9jdCIsIGs6IGssIGFsZzogIkhTMzg0In0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMjU2
In0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdp
dGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVy
YXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuaW1w
b3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFM1MTIifSwge25hbWU6ICJo
bWFjIiwgaGFzaDogInNoYS0zODQifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRh
IHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BB
U1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6
ICJIUzEifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS01MTIifSwgZXh0cmFjdGFibGUsIFsi
c2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBF
eGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0
IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6
ICJvY3QiLCBrOiAiISEhIiwgYWxnOiAiZm9vIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEt
MSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3Bl
cmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMSIsIHVzZTogImVuYyJ9
LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2
ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24g
MzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVt
ZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBr
OiBrLCBhbGc6ICJIUzEiLCBrZXlfb3BzOiBbInNpZ24iXX0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6
ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8g
YW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3Vi
dGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMSIsIGV4dDog
ZmFsc2V9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2ln
biIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNl
cHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJl
cXVpcmVtZW50cy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0
LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9obWFjLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
MmUyYjUwY2RhYjM0ZWU4ZjgzYjc3NjBmMzRmYTMwOTgyYjBjMWU0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXktbWFsZm9ybWVkLXBh
cmFtZXRlcnMuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGltcG9ydGluZyBhbiBITUFD
IGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7CisKK3ZhciByYXdLZXkgPSBhc2NpaVRv
VWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmdKQjU1V0w0NnRKU0xHdDciKTsKK3ZhciBleHRy
YWN0YWJsZSA9IHRydWU7CisKK3ZhciBrID0gIllXSmpaR1ZtWjJneE1qTTBOVFkzT0EiOworCisv
LyB3cm9uZyBsZW5ndGgKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJh
dyIsIGFzY2lpVG9VaW50OEFycmF5KCIiKSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0s
IGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJz
aGEtMSIsIGxlbmd0aDogMjU3fSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsK
K3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwge25h
bWU6ICJobWFjIiwgaGFzaDogInNoYS0xIiwgbGVuZ3RoOiAyNDh9LCBleHRyYWN0YWJsZSwgWyJz
aWduIiwgInZlcmlmeSJdKScpOworLy8gSndrOiBXcm9uZyBrdHkKK3Nob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJSU0EifSwge25hbWU6ICJobWFjIiwg
aGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7CisvLyBK
d2s6IG1pc3Npbmcgaworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandr
Iiwge2t0eTogIm9jdCJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFi
bGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKKy8vIEp3azogd3JvbmcgaGFzaCBhbmQgYWxnCitz
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0Iiwg
azogaywgYWxnOiAiSFMyMjQifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJh
Y3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMyNTYifSwge25h
bWU6ICJobWFjIiwgaGFzaDogInNoYS0yMjQifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJp
ZnkiXSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtr
dHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzM4NCJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hh
LTI1NiJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOworc2hvdWxkUmVqZWN0
KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzog
IkhTNTEyIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMzg0In0sIGV4dHJhY3RhYmxlLCBb
InNpZ24iLCAidmVyaWZ5Il0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIn0sIHtuYW1lOiAiaG1hYyIs
IGhhc2g6ICJzaGEtNTEyIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7Cisv
LyBKd2s6IHdyb25nIGsgZm9ybWF0CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogIiEhISIsIGFsZzogImZvbyJ9LCB7bmFtZTogImht
YWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsK
Ky8vIEp3azogd3JvbmcgdXNlCitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwgdXNlOiAiZW5jIn0sIHtuYW1l
OiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJd
KScpOworLy8gSndrOiB3cm9uZyBrZXlfb3BzCitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwga2V5X29wczog
WyJzaWduIl19LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsi
c2lnbiIsICJ2ZXJpZnkiXSknKTsKKy8vIEp3azogd3JvbmcgZXh0CitzaG91bGRSZWplY3QoJ2Ny
eXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMx
IiwgZXh0OiBmYWxzZX0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJs
ZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQtbWFsZm9y
bWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9o
bWFjLWltcG9ydC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDE5YmFjMWJhYWViNzdkN2RjNDA2N2Q5OTk3MWM4NjVkYTViMTkw
YzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UZXN0IGltcG9ydGluZyBh
biBITUFDIGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCBhc2NpaVRv
VWludDhBcnJheSgiIiksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJs
ZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAo
RE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90
IG1lZXQgcmVxdWlyZW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3Iiwg
cmF3S2V5LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEiLCBsZW5ndGg6IDI1N30sIGV4dHJh
Y3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVy
cm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9l
cyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJy
YXciLCByYXdLZXksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSIsIGxlbmd0aDogMjQ4fSwg
ZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBE
YXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlv
biBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KLVBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRL
ZXkoImp3ayIsIHtrdHk6ICJSU0EifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4
dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0
YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24g
ZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJqd2siLCB7a3R5OiAib2N0In0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRy
YWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFF
cnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRv
ZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgi
andrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMjI0In0sIHtuYW1lOiAiaG1hYyIsIGhh
c2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQg
dG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgotUEFTUyBjcnlwdG8u
c3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMjU2In0s
IHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMjI0In0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAi
dmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9u
IDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJl
bWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0Iiwg
azogaywgYWxnOiAiSFMzODQifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0yNTYifSwgZXh0
cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRh
RXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBk
b2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KLVBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXko
Imp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzUxMiJ9LCB7bmFtZTogImhtYWMiLCBo
YXNoOiAic2hhLTM4NCJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlk
ZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgotUEFTUyBjcnlw
dG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMSJ9
LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTUxMiJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwg
InZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlv
biAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWly
ZW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIs
IGs6ICIhISEiLCBhbGc6ICJmb28ifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4
dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0
YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24g
ZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwgdXNlOiAiZW5jIn0sIHtuYW1l
OiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJd
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERh
dGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgot
UEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFs
ZzogIkhTMSIsIGtleV9vcHM6IFsic2lnbiJdfSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0x
In0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdp
dGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVy
YXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1w
b3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwgZXh0OiBmYWxzZX0s
IHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZl
cmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAz
MCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1l
bnRzLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQtbWFsZm9y
bWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBv
cnQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZDJlMmI1MGNkYWIzNGVlOGY4M2I3NzYwZjM0ZmEzMDk4MmIwYzFlNC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2htYWMtaW1wb3J0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5Pgot
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNj
cmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0IGltcG9ydGluZyBhbiBITUFDIGtleSB3aXRoIG1hbGZv
cm1lZCBwYXJhbWV0ZXJzIik7Ci0KLXZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5P
dzk5b09aRkxJRVBNcmdKQjU1V0w0NnRKU0xHdDciKTsKLXZhciBleHRyYWN0YWJsZSA9IHRydWU7
Ci0KLXZhciBrID0gIllXSmpaR1ZtWjJneE1qTTBOVFkzT0EiOwotCi0vLyB3cm9uZyBsZW5ndGgK
LXNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIGFzY2lpVG9VaW50
OEFycmF5KCIiKSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBb
InNpZ24iLCAidmVyaWZ5Il0pJyk7Ci1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJyYXciLCByYXdLZXksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSIsIGxlbmd0aDog
MjU3fSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKLXNob3VsZFJlamVjdCgn
Y3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwge25hbWU6ICJobWFjIiwgaGFz
aDogInNoYS0xIiwgbGVuZ3RoOiAyNDh9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJd
KScpOwotLy8gSndrOiBXcm9uZyBrdHkKLXNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBv
cnRLZXkoImp3ayIsIHtrdHk6ICJSU0EifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0s
IGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7Ci0vLyBKd2s6IG1pc3Npbmcgawot
c2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCJ9
LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2
ZXJpZnkiXSknKTsKLS8vIEp3azogd3JvbmcgaGFzaCBhbmQgYWxnCi1zaG91bGRSZWplY3QoJ2Ny
eXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMy
MjQifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24i
LCAidmVyaWZ5Il0pJyk7Ci1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJq
d2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMyNTYifSwge25hbWU6ICJobWFjIiwgaGFz
aDogInNoYS0yMjQifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKLXNob3Vs
ZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBr
LCBhbGc6ICJIUzM4NCJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTI1NiJ9LCBleHRyYWN0
YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOwotc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTNTEyIn0sIHtuYW1l
OiAiaG1hYyIsIGhhc2g6ICJzaGEtMzg0In0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5
Il0pJyk7Ci1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5
OiAib2N0IiwgazogaywgYWxnOiAiSFMxIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtNTEy
In0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7Ci0vLyBKd2s6IHdyb25nIGsg
Zm9ybWF0Ci1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5
OiAib2N0IiwgazogIiEhISIsIGFsZzogImZvbyJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hh
LTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKLS8vIEp3azogd3Jvbmcg
dXNlCi1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAi
b2N0IiwgazogaywgYWxnOiAiSFMxIiwgdXNlOiAiZW5jIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6
ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOwotLy8gSndrOiB3
cm9uZyBrZXlfb3BzCi1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2si
LCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwga2V5X29wczogWyJzaWduIl19LCB7bmFt
ZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnki
XSknKTsKLS8vIEp3azogd3JvbmcgZXh0Ci1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1w
b3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwgZXh0OiBmYWxzZX0s
IHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZl
cmlmeSJdKScpOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRl
cnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtZXhwb3J0LWtl
eS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2UzNDY2MWVh
ZGE3OWQyOGY2ZjUzYmQxYTc4ZmMyYjE2ZGI0ODhjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgZXhwb3J0aW5nIGEgUlNBIGtleSB3
aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwgcHVibGljS2V5KSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUg
YWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5
KCJwa2NzOCIsIHB1YmxpY0tleSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRF
cnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIGFsZ29yaXRobSBpcyBub3Qgc3VwcG9ydGVkLgor
UEFTUyBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgcHVibGljS2V5KSByZWplY3RlZCBw
cm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgYWxn
b3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9yc2EtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9yc2EtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNkY2Q4MTQ0YTMyYzBhOGMzNDQ2M2YzOWM1M2Y4YjBmYmNiNzk5YjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1leHBvcnQta2V5LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRp
bmcgYSBSU0Ega2V5IHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMiKTsKKworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK3ZhciBhbGdvcml0aG1LZXlHZW4gPSB7CisgICAgbmFtZTogIlJTQS1PQUVQ
IiwKKyAgICAvLyBSc2FLZXlHZW5QYXJhbXMKKyAgICBtb2R1bHVzTGVuZ3RoOiAyMDQ4LAorICAg
IHB1YmxpY0V4cG9uZW50OiBuZXcgVWludDhBcnJheShbMHgwMSwgMHgwMCwgMHgwMV0pLCAgLy8g
RXF1aXZhbGVudCB0byA2NTUzNworICAgIGhhc2g6ICJzaGEtMSIKK307Cit2YXIgZXh0cmFjdGFi
bGUgPSB0cnVlOworCitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwg
ZXh0cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0IiwgIndyYXBLZXkiLCAidW53cmFwS2V5
Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0LnB1Ymxp
Y0tleTsKKworICAgIC8vIEN1cnJlbnRseSBub3Qgc3VwcG9ydCBmb3JtYXQuCisgICAgc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgic3BraSIsIHB1YmxpY0tleSknKTsKKyAg
ICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIsIHB1YmxpY0tl
eSknKTsKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3JtYXQuCisgICAgc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgcHVibGljS2V5KScsIGZpbmlzaEpTVGVzdCk7IC8v
IEZJWE1FOiBEb2Vzbid0IGZlZWwgcmlnaHQgdG8gYWRkIHRoZSBmaW5pc2hKU1Rlc3QgaGVyZS4K
K30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJh
dGUtZXhwb3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmU2NGE2N2Y4
MjA3YjJkMzcxYTI3NWMxZmI3M2RlZDc3NmY2ZGFmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
MS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNSBAQAorVGVzdCBleHBvcnRpbmcgYSBTSEEtMSBS
U0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4KK0V4cG9ydGluZyB0aGUgcHVibGlj
IGtleS4uLgorUEFTUyBwdWJsaWNLZXkua3R5IGlzICdSU0EnCitQQVNTIHB1YmxpY0tleS5rZXlf
b3BzIGlzIFsnZW5jcnlwdCcsICd3cmFwS2V5J10KK1BBU1MgcHVibGljS2V5LmFsZyBpcyAnUlNB
LU9BRVAnCitQQVNTIHB1YmxpY0tleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uo
cHVibGljS2V5Lm4pLmJ5dGVMZW5ndGggaXMgMjU2CitQQVNTIGJ5dGVzVG9IZXhTdHJpbmcoQmFz
ZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkgaXMgJzAxMDAwMScKK0V4cG9ydGluZyB0aGUgcHJp
dmF0ZSBrZXkuLi4KK1BBU1MgcHJpdmF0ZUtleS5rdHkgaXMgJ1JTQScKK1BBU1MgcHJpdmF0ZUtl
eS5rZXlfb3BzIGlzIFsnZGVjcnlwdCcsICd1bndyYXBLZXknXQorUEFTUyBwcml2YXRlS2V5LmFs
ZyBpcyAnUlNBLU9BRVAnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0
VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hl
eFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1Mg
cHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1sIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzE3Mjk0YzgzMzdiY2E5YTFhYmVkYTM2MjU4ZWNlMTAxMWIyOTQ0
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3QgZXhwb3J0aW5nIGEgU0hBLTEgUlNBLU9BRVAga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LiIp
OworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGFsZ29yaXRobUtleUdlbiA9IHsKKyAg
ICBuYW1lOiAiUlNBLU9BRVAiLAorICAgIC8vIFJzYUtleUdlblBhcmFtcworICAgIG1vZHVsdXNM
ZW5ndGg6IDIwNDgsCisgICAgcHVibGljRXhwb25lbnQ6IG5ldyBVaW50OEFycmF5KFsweDAxLCAw
eDAwLCAweDAxXSksICAvLyBFcXVpdmFsZW50IHRvIDY1NTM3CisgICAgaGFzaDogInNoYS0xIgor
fTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK3ZhciBrZXlQYWlyOworZGVidWcoIkdlbmVy
YXRpbmcgYSBrZXkgcGFpci4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShhbGdvcml0
aG1LZXlHZW4sIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCIsICJ3cmFwS2V5Iiwg
InVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleVBhaXIgPSByZXN1
bHQ7CisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHVibGljIGtleS4uLiIpOworICAgIHJldHVy
biBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5wdWJsaWNLZXkpOworfSku
dGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwdWJsaWNLZXkgPSByZXN1bHQ7CisKKyAgICBz
aG91bGRCZSgicHVibGljS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJlKCJwdWJsaWNL
ZXkua2V5X29wcyIsICJbJ2VuY3J5cHQnLCAnd3JhcEtleSddIik7CisgICAgc2hvdWxkQmUoInB1
YmxpY0tleS5hbGciLCAiJ1JTQS1PQUVQJyIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuZXh0
IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5uKS5i
eXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2
NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIiwgIicwMTAwMDEnIik7CisKKyAgICBkZWJ1ZygiRXhw
b3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4
cG9ydEtleSgiandrIiwga2V5UGFpci5wcml2YXRlS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVz
dWx0KSB7CisgICAgcHJpdmF0ZUtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJwcml2YXRl
S2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5LmtleV9vcHMiLCAi
WydkZWNyeXB0JywgJ3Vud3JhcEtleSddIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkuYWxn
IiwgIidSU0EtT0FFUCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIp
OworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3Ro
IiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJz
ZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJw
cml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LXNoYTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA3NjczNTJkMjkwZWY5ZjliMDg5NjJk
NjQzMjJmN2Y2NGVmODBjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0yMjQgUlNBLU9BRVAga2V5
IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
R2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BB
U1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ2Vu
Y3J5cHQnLCAnd3JhcEtleSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTQS1PQUVQLTIyNCcK
K1BBU1MgcHVibGljS2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNL
ZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwu
cGFyc2UocHVibGljS2V5LmUpKSBpcyAnMDEwMDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtl
eS4uLgorUEFTUyBwcml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwcml2YXRlS2V5LmtleV9v
cHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtleSddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlzICdS
U0EtT0FFUC0yMjQnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJM
LnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0
cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJp
dmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIy
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIzNWY1OGI4OGViYjMyMzk4YzFjZmE3YzE1YTkzMzYzZGQxZjVi
YzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVw
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9j
b21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgZXhwb3J0aW5nIGEgU0hBLTIyNCBSU0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBmb3Jt
YXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0g
eworICAgIG5hbWU6ICJSU0EtT0FFUCIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9k
dWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4
MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hh
LTIyNCIKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCit2YXIga2V5UGFpcjsKK2RlYnVn
KCJHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXko
YWxnb3JpdGhtS2V5R2VuLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAid3Jh
cEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWly
ID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAg
ICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5
KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0Owor
CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgi
cHVibGljS2V5LmtleV9vcHMiLCAiWydlbmNyeXB0JywgJ3dyYXBLZXknXSIpOworICAgIHNob3Vs
ZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSU0EtT0FFUC0yMjQnIik7CisgICAgc2hvdWxkQmUoInB1
YmxpY0tleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVi
bGljS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhT
dHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAg
IGRlYnVnKCJFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0
by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihm
dW5jdGlvbihyZXN1bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxk
QmUoInByaXZhdGVLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXku
a2V5X29wcyIsICJbJ2RlY3J5cHQnLCAndW53cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHJp
dmF0ZUtleS5hbGciLCAiJ1JTQS1PQUVQLTIyNCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtl
eS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtl
eS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5n
KEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3Vs
ZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9
KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLXNoYTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ4MGE0ODA0
MzU0ZWYxYzY5MjZmN2M2ZGY0ZDFkOGY0MmI1ZWYxNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0y
NTYgUlNBLU9BRVAga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1
YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXku
a2V5X29wcyBpcyBbJ2VuY3J5cHQnLCAnd3JhcEtleSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMg
J1JTQS1PQUVQLTI1NicKK1BBU1MgcHVibGljS2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVS
TC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0
cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSBpcyAnMDEwMDAxJworRXhwb3J0aW5n
IHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBwcml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBw
cml2YXRlS2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtleSddCitQQVNTIHByaXZh
dGVLZXkuYWxnIGlzICdSU0EtT0FFUC0yNTYnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUK
K1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BB
U1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAx
MDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLXNoYTI1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0MmQ3YzY5MzM4ODk2YjExNDhlMzUz
MjcxYTYxNWIyZGNmZTkxNzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5odG1sCkBAIC0w
LDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTI1NiBSU0EtT0FFUCBrZXkgcGFp
ciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxn
b3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0EtT0FFUCIsCisgICAgLy8gUnNhS2V5R2Vu
UGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3
IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcK
KyAgICBoYXNoOiAic2hhLTI1NiIKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCit2YXIg
a2V5UGFpcjsKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4iKTsKK2NyeXB0by5zdWJ0
bGUuZ2VuZXJhdGVLZXkoYWxnb3JpdGhtS2V5R2VuLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0Iiwg
ImVuY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1Ymxp
YyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtl
eVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGlj
S2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsK
KyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWydlbmNyeXB0JywgJ3dyYXBLZXkn
XSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSU0EtT0FFUC0yNTYnIik7Cisg
ICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNl
NjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxk
QmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAx
MDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7Cisg
ICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVL
ZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0
OworCisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxk
QmUoInByaXZhdGVLZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnLCAndW53cmFwS2V5J10iKTsKKyAg
ICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGciLCAiJ1JTQS1PQUVQLTI1NiciKTsKKyAgICBzaG91
bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwu
cGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJi
eXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAx
JyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Jz
YS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjBhN2FjODlmZjA3ODg2NDE3NzRiMmNkMmM4YzBkMWJlM2QyZTU0MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4
cG9ydGluZyBhIFNIQS0zODQgUlNBLU9BRVAga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitF
eHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJwor
UEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ2VuY3J5cHQnLCAnd3JhcEtleSddCitQQVNTIHB1
YmxpY0tleS5hbGcgaXMgJ1JTQS1PQUVQLTM4NCcKK1BBU1MgcHVibGljS2V5LmV4dCBpcyB0cnVl
CitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BB
U1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSBpcyAnMDEw
MDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBwcml2YXRlS2V5Lmt0eSBp
cyAnUlNBJworUEFTUyBwcml2YXRlS2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtl
eSddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlzICdSU0EtT0FFUC0zODQnCitQQVNTIHByaXZhdGVL
ZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxl
bmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0
ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stc2hhMzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVw
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0ZTEzYWIw
OGFhNjE4NDhiYjQ4NjAyMGM3YTE1N2JmOWExYjZkNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNo
YTM4NC5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTM4NCBS
U0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0EtT0FFUCIsCisg
ICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJs
aWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2
YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTM4NCIKK307Cit2YXIgZXh0cmFjdGFibGUg
PSB0cnVlOworCit2YXIga2V5UGFpcjsKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4i
KTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoYWxnb3JpdGhtS2V5R2VuLCBleHRyYWN0YWJs
ZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihm
dW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBv
cnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBv
cnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0
KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5r
dHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWydlbmNy
eXB0JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSU0Et
T0FFUC0zODQnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQiLCAidHJ1ZSIpOworICAg
IHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2
Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1Ymxp
Y0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHByaXZh
dGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBr
ZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwcml2
YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua3R5IiwgIidSU0En
Iik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnLCAndW53
cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGciLCAiJ1JTQS1PQUVQLTM4
NCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3Vs
ZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOwor
ICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5
LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90
aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU0MWVhNzAwMTlkYmMwZGI3NmZiYTZiMWNlNjlkN2ZjNTkx
ODBhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9h
ZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS01MTIgUlNBLU9BRVAga2V5IHBhaXIgd2l0aCBK
V0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBh
IGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5
Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ2VuY3J5cHQnLCAnd3Jh
cEtleSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTQS1PQUVQLTUxMicKK1BBU1MgcHVibGlj
S2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxl
bmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGlj
S2V5LmUpKSBpcyAnMDEwMDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBw
cml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwcml2YXRlS2V5LmtleV9vcHMgaXMgWydkZWNy
eXB0JywgJ3Vud3JhcEtleSddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlzICdSU0EtT0FFUC01MTIn
CitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZh
dGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRV
UkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGgg
aXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgwOTk1ZDU4YzhmNGU0NTIzODgxNThmZjVhMjdkMzY3ZDI2NDE2YTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLXNoYTUxMi5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0
aW5nIGEgU0hBLTUxMiBSU0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6
ICJSU0EtT0FFUCIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDog
MjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4
MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTUxMiIKK307Cit2
YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCit2YXIga2V5UGFpcjsKK2RlYnVnKCJHZW5lcmF0aW5n
IGEga2V5IHBhaXIuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoYWxnb3JpdGhtS2V5
R2VuLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAid3JhcEtleSIsICJ1bndy
YXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0Owor
ICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5
cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4o
ZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxk
QmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5Lmtl
eV9vcHMiLCAiWydlbmNyeXB0JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNL
ZXkuYWxnIiwgIidSU0EtT0FFUC01MTInIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQi
LCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5
dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0
VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBv
cnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhw
b3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1
bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZhdGVL
ZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIsICJb
J2RlY3J5cHQnLCAndW53cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGci
LCAiJ1JTQS1PQUVQLTUxMiciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1
ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVu
Z3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5w
YXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVk
KCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0
PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDQ1YzgwNmRiMzE3MzVlNjk0
NzQ0MWY0ZjIwYmUzYzY1YmMyNmY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFJTQUVTLVBLQ1MxLXYx
XzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXku
Li4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBp
cyBbJ2VuY3J5cHQnXQorUEFTUyBwdWJsaWNLZXkuYWxnIGlzICdSU0ExXzUnCitQQVNTIHB1Ymxp
Y0tleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVM
ZW5ndGggaXMgMjU2CitQQVNTIGJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1Ymxp
Y0tleS5lKSkgaXMgJzAxMDAwMScKK0V4cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXkuLi4KK1BBU1Mg
cHJpdmF0ZUtleS5rdHkgaXMgJ1JTQScKK1BBU1MgcHJpdmF0ZUtleS5rZXlfb3BzIGlzIFsnZGVj
cnlwdCddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlzICdSU0ExXzUnCitQQVNTIHByaXZhdGVLZXku
ZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0
aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtl
eS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2Nz
MS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmY4YWVmYjI5
MDg3MzU0MTFjNjY2OWUxNzA1OTQ4NWY0OGFlYzk1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5
LWp3ay5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgUlNBRVMtUEtD
UzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0FFUy1QS0NTMS12
MV81IiwKKyAgICAvLyBSc2FLZXlHZW5QYXJhbXMKKyAgICBtb2R1bHVzTGVuZ3RoOiAyMDQ4LAor
ICAgIHB1YmxpY0V4cG9uZW50OiBuZXcgVWludDhBcnJheShbMHgwMSwgMHgwMCwgMHgwMV0pLCAg
Ly8gRXF1aXZhbGVudCB0byA2NTUzNworfTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK3Zh
ciBrZXlQYWlyOworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkgcGFpci4uLiIpOworY3J5cHRvLnN1
YnRsZS5nZW5lcmF0ZUtleShhbGdvcml0aG1LZXlHZW4sIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQi
LCAiZW5jcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleVBhaXIgPSByZXN1
bHQ7CisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHVibGljIGtleS4uLiIpOworICAgIHJldHVy
biBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5wdWJsaWNLZXkpOworfSku
dGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwdWJsaWNLZXkgPSByZXN1bHQ7CisKKyAgICBz
aG91bGRCZSgicHVibGljS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJlKCJwdWJsaWNL
ZXkua2V5X29wcyIsICJbJ2VuY3J5cHQnXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxn
IiwgIidSU0ExXzUnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQiLCAidHJ1ZSIpOwor
ICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5ndGgiLCAi
MjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1
YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHBy
aXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2si
LCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBw
cml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua3R5IiwgIidS
U0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnXSIp
OworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5LmFsZyIsICInUlNBMV81JyIpOworICAgIHNob3Vs
ZEJlKCJwcml2YXRlS2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5w
YXJzZShwcml2YXRlS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5
dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkuZSkpIiwgIicwMTAwMDEn
Iik7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoInByaXZhdGVLZXkub3RoIik7CisKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2NTJhZTBlZDdiOGFlY2FhMDk3YWNiMTgxNWNlMTI3NGE5NzA4
ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1w
a2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjUgQEAKK1Rlc3QgZXhwb3J0aW5nIGEgU0hBLTEgUlNBU1NBLVBLQ1MxLXYxXzUga2V5
IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
R2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BB
U1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ3Zl
cmlmeSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTMScKK1BBU1MgcHVibGljS2V5LmV4dCBp
cyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBpcyAy
NTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSBp
cyAnMDEwMDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBwcml2YXRlS2V5
Lmt0eSBpcyAnUlNBJworUEFTUyBwcml2YXRlS2V5LmtleV9vcHMgaXMgWydzaWduJ10KK1BBU1Mg
cHJpdmF0ZUtleS5hbGcgaXMgJ1JTMScKK1BBU1MgcHJpdmF0ZUtleS5leHQgaXMgdHJ1ZQorUEFT
UyBCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIGlzIDI1NgorUEFTUyBi
eXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSBpcyAnMDEwMDAx
JworUEFTUyBwcml2YXRlS2V5Lm90aCBpcyB1bmRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1z
aGExLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWNjYjVhYzUxYzVk
OWNkNDdjNjhiMDU2NmU1MWQ0YTk2ZDY1ODI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3
ay1zaGExLmh0bWwKQEAgLTAsMCArMSw2MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYSBTSEEtMSBS
U0FTU0EtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0FT
U0EtUEtDUzEtdjFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0
aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAs
IDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTEiLAorfTsK
K3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK3ZhciBrZXlQYWlyOworZGVidWcoIkdlbmVyYXRp
bmcgYSBrZXkgcGFpci4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShhbGdvcml0aG1L
ZXlHZW4sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24ocmVz
dWx0KSB7CisgICAga2V5UGFpciA9IHJlc3VsdDsKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIHRoZSBw
dWJsaWMga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2si
LCBrZXlQYWlyLnB1YmxpY0tleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHB1
YmxpY0tleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkua3R5IiwgIidSU0En
Iik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rZXlfb3BzIiwgIlsndmVyaWZ5J10iKTsKKyAg
ICBzaG91bGRCZSgicHVibGljS2V5LmFsZyIsICInUlMxJyIpOworICAgIHNob3VsZEJlKCJwdWJs
aWNLZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKHB1Ymxp
Y0tleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3Ry
aW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIiwgIicwMTAwMDEnIik7CisKKyAgICBk
ZWJ1ZygiRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8u
c3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5wcml2YXRlS2V5KTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAgcHJpdmF0ZUtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJl
KCJwcml2YXRlS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5Lmtl
eV9vcHMiLCAiWydzaWduJ10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGciLCAiJ1JT
MSciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3Vs
ZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOwor
ICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5
LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90
aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2Nz
MS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ2MTg4YjYyZTg5MWFhMTNi
MzBhYmVlZGMxODViMjRmMTY3MjY3YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
MjI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0y
MjQgUlNBU1NBLVBLQ1MxLXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRp
bmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBw
dWJsaWNLZXkua2V5X29wcyBpcyBbJ3ZlcmlmeSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JT
MjI0JworUEFTUyBwdWJsaWNLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHB1
YmxpY0tleS5uKS5ieXRlTGVuZ3RoIGlzIDI1NgorUEFTUyBieXRlc1RvSGV4U3RyaW5nKEJhc2U2
NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIGlzICcwMTAwMDEnCitFeHBvcnRpbmcgdGhlIHByaXZh
dGUga2V5Li4uCitQQVNTIHByaXZhdGVLZXkua3R5IGlzICdSU0EnCitQQVNTIHByaXZhdGVLZXku
a2V5X29wcyBpcyBbJ3NpZ24nXQorUEFTUyBwcml2YXRlS2V5LmFsZyBpcyAnUlMyMjQnCitQQVNT
IHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXku
bikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFy
c2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5k
ZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYx
XzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIy
NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgzZjMzYmVjYTZiNGQ2ZWMxNGI1MzNlNmZiZjM1ZWU0ZmRkNzY5
YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1w
a2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sCkBAIC0wLDAgKzEs
NjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTIyNCBSU0FTU0EtUEtDUzEtdjFfNSBrZXkg
cGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIg
YWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAg
Ly8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNF
eHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxl
bnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTIyNCIsCit9OwordmFyIGV4dHJhY3RhYmxlID0g
dHJ1ZTsKKwordmFyIGtleVBhaXI7CitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uIik7
CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwgZXh0cmFjdGFibGUs
IFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWly
ID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAg
ICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5
KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0Owor
CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgi
cHVibGljS2V5LmtleV9vcHMiLCAiWyd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNL
ZXkuYWxnIiwgIidSUzIyNCciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmV4dCIsICJ0cnVl
Iik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0
aCIsICIyNTYiKTsKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFy
c2UocHVibGljS2V5LmUpKSIsICInMDEwMDAxJyIpOworCisgICAgZGVidWcoIkV4cG9ydGluZyB0
aGUgcHJpdmF0ZSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXko
Imp3ayIsIGtleVBhaXIucHJpdmF0ZUtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewor
ICAgIHByaXZhdGVLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rdHki
LCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rZXlfb3BzIiwgIlsnc2lnbidd
Iik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkuYWxnIiwgIidSUzIyNCciKTsKKyAgICBzaG91
bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwu
cGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJi
eXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAx
JyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLXNoYTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2NlOGU4MjcxN2NkZjQ3OTgyNWU0ZWFkYzc5ZDdjYTEz
NWUyOTQ1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNh
c3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0yNTYgUlNBU1NBLVBLQ1Mx
LXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBr
ZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29w
cyBpcyBbJ3ZlcmlmeSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTMjU2JworUEFTUyBwdWJs
aWNLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5uKS5ieXRl
TGVuZ3RoIGlzIDI1NgorUEFTUyBieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJs
aWNLZXkuZSkpIGlzICcwMTAwMDEnCitFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uCitQQVNT
IHByaXZhdGVLZXkua3R5IGlzICdSU0EnCitQQVNTIHByaXZhdGVLZXkua2V5X29wcyBpcyBbJ3Np
Z24nXQorUEFTUyBwcml2YXRlS2V5LmFsZyBpcyAnUlMyNTYnCitQQVNTIHByaXZhdGVLZXkuZXh0
IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBp
cyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5l
KSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMjU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNz
YS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjUyZDg5NWE5NWNlMmUwYzlmOGUwNmMxYTY3OTVhNDQzZThiYzJlMzUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24u
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qg
ZXhwb3J0aW5nIGEgU0hBLTI1NiBSU0FTU0EtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBm
b3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2Vu
ID0geworICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFy
YW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVp
bnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAg
ICBoYXNoOiAic2hhLTI1NiIsCit9OwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKwordmFyIGtl
eVBhaXI7CitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uIik7CitjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJp
ZnkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAg
IGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRv
LnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUo
InB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9v
cHMiLCAiWyd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSUzI1
NiciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxk
QmUoIkJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCIsICIyNTYiKTsKKyAg
ICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUp
KSIsICInMDEwMDAxJyIpOworCisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXku
Li4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIu
cHJpdmF0ZUtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHByaXZhdGVLZXkg
PSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rdHkiLCAiJ1JTQSciKTsKKyAg
ICBzaG91bGRCZSgicHJpdmF0ZUtleS5rZXlfb3BzIiwgIlsnc2lnbiddIik7CisgICAgc2hvdWxk
QmUoInByaXZhdGVLZXkuYWxnIiwgIidSUzI1NiciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtl
eS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtl
eS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5n
KEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3Vs
ZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9
KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LXNoYTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1w
a2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTFjNDgzNjBlZjgyYWM2YjU4NjJhYTFkNmVmNjUzZjIxNjRkZDc2NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1
IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0zODQgUlNBU1NBLVBLQ1MxLXYxXzUga2V5IHBhaXIg
d2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJh
dGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVi
bGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ3ZlcmlmeSdd
CitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTMzg0JworUEFTUyBwdWJsaWNLZXkuZXh0IGlzIHRy
dWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5uKS5ieXRlTGVuZ3RoIGlzIDI1Ngor
UEFTUyBieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIGlzICcw
MTAwMDEnCitFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uCitQQVNTIHByaXZhdGVLZXkua3R5
IGlzICdSU0EnCitQQVNTIHByaXZhdGVLZXkua2V5X29wcyBpcyBbJ3NpZ24nXQorUEFTUyBwcml2
YXRlS2V5LmFsZyBpcyAnUlMzODQnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1Mg
QmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0
ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScK
K1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
Mzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5NjNhODhhYjMw
YzhkZTgxMWJiYTU0OWU1NzAxM2U2MmFkMWMyODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLXNoYTM4NC5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hB
LTM4NCBSU0FTU0EtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6
ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1
c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEs
IDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTM4
NCIsCit9OwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKwordmFyIGtleVBhaXI7CitkZWJ1Zygi
R2VuZXJhdGluZyBhIGtleSBwYWlyLi4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFs
Z29yaXRobUtleUdlbiwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5j
dGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRp
bmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRL
ZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7
CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHki
LCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWyd2ZXJpZnkn
XSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSUzM4NCciKTsKKyAgICBzaG91
bGRCZSgicHVibGljS2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5w
YXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCIsICIyNTYiKTsKKyAgICBzaG91bGRCZSgiYnl0
ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSIsICInMDEwMDAxJyIp
OworCisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXkuLi4iKTsKKyAgICByZXR1
cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHJpdmF0ZUtleSk7Cit9
KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHByaXZhdGVLZXkgPSByZXN1bHQ7CisKKyAg
ICBzaG91bGRCZSgicHJpdmF0ZUtleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHJp
dmF0ZUtleS5rZXlfb3BzIiwgIlsnc2lnbiddIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXku
YWxnIiwgIidSUzM4NCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIp
OworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3Ro
IiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJz
ZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJw
cml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWZiZGU1
ZjdjMmZjNTczNzMyMTFkZWUwZTEyMGFmOWJmODI3N2JjMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stc2hhNTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9y
dGluZyBhIFNIQS01MTIgUlNBU1NBLVBLQ1MxLXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWly
Li4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAn
UlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ3ZlcmlmeSddCitQQVNTIHB1YmxpY0tl
eS5hbGcgaXMgJ1JTNTEyJworUEFTUyBwdWJsaWNLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0
VVJMLnBhcnNlKHB1YmxpY0tleS5uKS5ieXRlTGVuZ3RoIGlzIDI1NgorUEFTUyBieXRlc1RvSGV4
U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIGlzICcwMTAwMDEnCitFeHBvcnRp
bmcgdGhlIHByaXZhdGUga2V5Li4uCitQQVNTIHByaXZhdGVLZXkua3R5IGlzICdSU0EnCitQQVNT
IHByaXZhdGVLZXkua2V5X29wcyBpcyBbJ3NpZ24nXQorUEFTUyBwcml2YXRlS2V5LmFsZyBpcyAn
UlM1MTInCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNl
KHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhC
YXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtl
eS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNh
c3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTUxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllNDRlNDgwOGViYWNhZjViMTY4ZDFlYjhh
ZDBlODI0MTkyNmExNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1s
CkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTUxMiBSU0FTU0EtUEtD
UzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEt
djFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwK
KyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwg
IC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTUxMiIsCit9OwordmFyIGV4
dHJhY3RhYmxlID0gdHJ1ZTsKKwordmFyIGtleVBhaXI7CitkZWJ1ZygiR2VuZXJhdGluZyBhIGtl
eSBwYWlyLi4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwg
ZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsK
KyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBr
ZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBh
aXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5
ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAg
ICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWyd2ZXJpZnknXSIpOworICAgIHNob3Vs
ZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSUzUxMiciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5
LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXku
bikuYnl0ZUxlbmd0aCIsICIyNTYiKTsKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmluZyhC
YXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSIsICInMDEwMDAxJyIpOworCisgICAgZGVidWco
IkV4cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRs
ZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHJpdmF0ZUtleSk7Cit9KS50aGVuKGZ1bmN0aW9u
KHJlc3VsdCkgeworICAgIHByaXZhdGVLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgicHJp
dmF0ZUtleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rZXlfb3Bz
IiwgIlsnc2lnbiddIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkuYWxnIiwgIidSUzUxMici
KTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJl
KCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAg
IHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUp
KSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIp
OworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by93
b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZlZmUzM2M4ZmJmYmEzNTQ1M2U0MDAzYzdmYjRjOTU4ZDUwZWM1YmEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitbV29ya2Vy
XSBUZXN0IGV4cG9ydGluZyBhbiBBRVMga2V5IHVzaW5nIEFFUy1DQkMgYWxnb3JpdGhtIGluIHdv
cmtlcnMgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
U3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpz
CitbV29ya2VyXSBHZW5lcmF0aW5nIGEga2V5Li4uCitbV29ya2VyXSBFeHBvcnRpbmcgYSBrZXku
Li4KK1BBU1MgW1dvcmtlcl0ga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBbV29ya2VyXSBrZXkua2V5
X29wcyBpcyBbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddCitQ
QVNTIFtXb3JrZXJdIGtleS5hbGcgaXMgJ0ExMjhDQkMnCitQQVNTIFtXb3JrZXJdIGtleS5leHQg
aXMgdHJ1ZQorUEFTUyBbV29ya2VyXSBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgg
aXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0
bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQ4M2Y0Zjlm
NTljOTA1MDNiZWE5NTg5OGNjMDUyMTUwMjY0MmMzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2su
aHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgICB3b3JrZXIgPSBzdGFy
dFdvcmtlcigncmVzb3VyY2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5qcycpOworICAg
IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1nZW5lcmF0
ZS1leHBvcnQta2V5LXJhdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQ1ODZlZjMzYTI1YTM0
N2ZjYzVmZmJkOTM5YTIwMWNhMDljOWNjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1tXb3JrZXJdIFRlc3QgZXhwb3J0aW5nIGFuIEFFUyBr
ZXkgdXNpbmcgQUVTLUNCQyBhbGdvcml0aG0gaW4gd29ya2VycyB3aXRoIHJhdyBmb3JtYXQuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3b3JrZXI6IHJlc291cmNl
cy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMKK1tXb3JrZXJdIEdlbmVyYXRpbmcgYSBr
ZXkuLi4KK1tXb3JrZXJdIEdlbmVyYXRpbmcgYSBrZXkuLi4KK1BBU1MgW1dvcmtlcl0gY3J5cHRv
LnN1YnRsZS5leHBvcnRLZXkoInNwa2kiLCBrZXkpIHJlamVjdGVkIHByb21pc2UgIHdpdGggTm90
U3VwcG9ydGVkRXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBhbGdvcml0aG0gaXMgbm90IHN1
cHBvcnRlZC4KK1BBU1MgW1dvcmtlcl0gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInBrY3M4Iiwg
a2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0
aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitbV29ya2VyXSBFeHBvcnRp
bmcgYSBrZXkuLi4KK1BBU1MgW1dvcmtlcl0ga2V5LmJ5dGVMZW5ndGggaXMgMTYKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXkt
cmF3Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdlbmVyYXRl
LWV4cG9ydC1rZXktcmF3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q4OTg1MjUzMGJmYzY1NDFlYWVjMTAw
MDc2NzI2MmVjNDk1YTY1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93
b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbApAQCAtMCwwICsx
LDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgICB3b3JrZXIgPSBzdGFydFdvcmtlcigncmVzb3Vy
Y2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5qcycpOworICAgIDwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjZlMDQ1ODYyNTdlYWU4MWJiZGIzNjE5MWRl
NmI3Y2Y5YzQ2MTNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtl
cnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTcgQEAKK1tXb3JrZXJdIFRlc3QgZXhwb3J0aW5nIGEgSE1BQyBrZXkgaW4gd29ya2Vy
cyB3aXRoIEpXSyBmb3JtYXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFy
dGluZyB3b3JrZXI6IHJlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzCitb
V29ya2VyXSBHZW5lcmF0aW5nIGEga2V5Li4uCitbV29ya2VyXSBFeHBvcnRpbmcgYSBrZXkuLi4K
K1BBU1MgW1dvcmtlcl0ga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBbV29ya2VyXSBrZXkua2V5X29w
cyBpcyBbJ3NpZ24nLCAndmVyaWZ5J10KK1BBU1MgW1dvcmtlcl0ga2V5LmFsZyBpcyAnSFMxJwor
UEFTUyBbV29ya2VyXSBrZXkuZXh0IGlzIHRydWUKK1BBU1MgW1dvcmtlcl0gQmFzZTY0VVJMLnBh
cnNlKGtleS5rKS5ieXRlTGVuZ3RoIGlzIDY0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dv
cmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suaHRtbCBiL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDZlZTBiMGFiYmU5MzRlYmRiNDBkMDJmMTFhMGMwMjMxYjMzZDg3NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFj
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlw
dD4KKyAgICAgICAgd29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9obWFjLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLmpzJyk7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMt
Z2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFjYzlmZGIwNTFlNjk5YWRlY2QxMDQ5NTYwNTIzZDQyNWIwY2ZiNDAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1n
ZW5lcmF0ZS1leHBvcnQta2V5LXJhdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorW1dv
cmtlcl0gVGVzdCBleHBvcnRpbmcgYW4gSE1BQyBrZXkgaW4gd29ya2VycyB3aXRoIHJhdyBmb3Jt
YXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3b3JrZXI6IHJl
c291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3LmpzCitbV29ya2VyXSBHZW5lcmF0
aW5nIGEga2V5Li4uCitbV29ya2VyXSBHZW5lcmF0aW5nIGEga2V5Li4uCitQQVNTIFtXb3JrZXJd
IGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwga2V5KSByZWplY3RlZCBwcm9taXNlICB3
aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlz
IG5vdCBzdXBwb3J0ZWQuCitQQVNTIFtXb3JrZXJdIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJw
a2NzOCIsIGtleSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9N
IEV4Y2VwdGlvbiA5KTogVGhlIGFsZ29yaXRobSBpcyBub3Qgc3VwcG9ydGVkLgorW1dvcmtlcl0g
RXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIFtXb3JrZXJdIGtleS5ieXRlTGVuZ3RoIGlzIDY0CitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1yYXcuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFj
LWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQ0ODQ1NmVhNTJkZDg0
NTM5ODVhY2NjYWIxZmI1MTRlNmVlM2U5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwK
QEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd29ya2VyID0gc3RhcnRXb3Jr
ZXIoJ3Jlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3LmpzJyk7CisgICAgPC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2suanMgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1n
ZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWZiMDI4ZDUyYmQ5ZWEwMThm
NTk3ZTkwNmNhMGY3YTc3MzMwZTUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2su
anMKQEAgLTAsMCArMSwyMyBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvY29t
bW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhbiBBRVMga2V5IHVzaW5n
IEFFUy1DQkMgYWxnb3JpdGhtIGluIHdvcmtlcnMgd2l0aCBKV0sgZm9ybWF0LiIpOworanNUZXN0
SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5l
cmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVz
LWNiYyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0Iiwg
InVud3JhcEtleSIsICJ3cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWco
IkV4cG9ydGluZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtl
eSgiandrIiwga2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVz
dWx0OworCisgICAgc2hvdWxkQmUoImtleS5rdHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgi
a2V5LmtleV9vcHMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBL
ZXknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidBMTI4Q0JDJyIpOworICAgIHNob3Vs
ZEJlKCJrZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKGtl
eS5rKS5ieXRlTGVuZ3RoIiwgIjE2Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMt
Z2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9z
dWJ0bGUvcmVzb3VyY2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lMzk1MjJkNDNlZTYwNzUwODQ1ODMyODgwYWI1NzE4YjJiMDQxNjIxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1yYXcuanMKQEAgLTAsMCArMSwyNiBAQAoraW1wb3J0U2NyaXB0cygn
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJU
ZXN0IGV4cG9ydGluZyBhbiBBRVMga2V5IHVzaW5nIEFFUy1DQkMgYWxnb3JpdGhtIGluIHdvcmtl
cnMgd2l0aCByYXcgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRy
YWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8u
c3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4fSwgZXh0cmFj
dGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0IiwgInVud3JhcEtleSIsICJ3cmFwS2V5Il0pLnRo
ZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgLy8gTm90IHN1
cHBvcnQgZm9ybWF0LgorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXko
InNwa2kiLCBrZXkpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtl
eSgicGtjczgiLCBrZXkpJyk7CisKKyAgICBkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOwor
ICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxl
bmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0IiwgInVud3JhcEtl
eSIsICJ3cmFwS2V5Il0pOworfSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICBkZWJ1ZygiRXhw
b3J0aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJy
YXciLCBrZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7
CisgICAgc2hvdWxkQmUoImtleS5ieXRlTGVuZ3RoIiwgIjE2Iik7CisKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxl
L3Jlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM2N2EyYjFjYzQ3OGQ1YjJmNGY4ODJiZTk5ZWYwNGNmN2UxN2Q1
ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUv
cmVzb3VyY2VzL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suanMKQEAgLTAsMCArMSwyMyBA
QAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7
CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvY29tbW9uLmpzJyk7CisKK2Rlc2Ny
aXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIEhNQUMga2V5IGluIHdvcmtlcnMgd2l0aCBKV0sgZm9y
bWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7
CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRl
S2V5KHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwg
InZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBr
ZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7
Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNo
b3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwg
Ilsnc2lnbicsICd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidIUzEnIik7
CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRV
UkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiNjQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgp
OworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVz
b3VyY2VzL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzQ3NDAzYTcxYjk5MzUzMDBlODkzYWFhM2E1YTM1MDllMzk3Y2Y1Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNv
dXJjZXMvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5qcwpAQCAtMCwwICsxLDI2IEBACitp
bXBvcnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKKwor
ZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGFuIEhNQUMga2V5IGluIHdvcmtlcnMgd2l0aCBy
YXcgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9
IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdl
bmVyYXRlS2V5KHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJz
aWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3Vs
dDsKKworICAgIC8vIE5vdCBzdXBwb3J0IGZvcm1hdC4KKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwga2V5KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5leHBvcnRLZXkoInBrY3M4Iiwga2V5KScpOworCisgICAgZGVidWcoIkdlbmVy
YXRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7
bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJp
ZnkiXSkKK30pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtl
eS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwga2V5KTsK
K30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworICAgIHNob3Vs
ZEJlKCJrZXkuYnl0ZUxlbmd0aCIsICI2NCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMv
cnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtl
cnMvc3VidGxlL3Jlc291cmNlcy9yc2EtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjMxMjdiZDExZjQ2ODBjOWY3ZjEwZTYxZDlmN2JjZTUxNjY2MTE0NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNh
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzCkBAIC0wLDAgKzEsNDkgQEAKK2ltcG9ydFNjcmlw
dHMoJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOworaW1wb3J0U2NyaXB0
cygnLi4vLi4vLi4vcmVzb3VyY2VzL2NvbW1vbi5qcycpOworCitkZXNjcmlwdGlvbigiVGVzdCBl
eHBvcnRpbmcgYSBSU0Ega2V5IHBhaXIgdXNpbmcgUlNBLU9BRVAgYWxnb3JpdGhtIGluIHdvcmtl
cnMgd2l0aCBKV0sgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBhbGdv
cml0aG1LZXlHZW4gPSB7CisgICAgbmFtZTogIlJTQS1PQUVQIiwKKyAgICAvLyBSc2FLZXlHZW5Q
YXJhbXMKKyAgICBtb2R1bHVzTGVuZ3RoOiAyMDQ4LAorICAgIHB1YmxpY0V4cG9uZW50OiBuZXcg
VWludDhBcnJheShbMHgwMSwgMHgwMCwgMHgwMV0pLCAgLy8gRXF1aXZhbGVudCB0byA2NTUzNwor
ICAgIGhhc2g6ICJzaGEtMSIKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1Zygi
R2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShhbGdvcml0
aG1LZXlHZW4sIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCIsICJ3cmFwS2V5Iiwg
InVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleVBhaXIgPSByZXN1
bHQ7CisKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3JtYXQuCisgICAgc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwga2V5UGFpci5wdWJsaWNLZXkpJyk7CisKKyAgICBk
ZWJ1ZygiRXhwb3J0aW5nIHRoZSBwdWJsaWMga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5z
dWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnB1YmxpY0tleSk7Cit9KS50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgeworICAgIHB1YmxpY0tleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJw
dWJsaWNLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rZXlfb3Bz
IiwgIlsnZW5jcnlwdCcsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmFs
ZyIsICInUlNBLU9BRVAnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQiLCAidHJ1ZSIp
OworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5ndGgi
LCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNl
KHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhl
IHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJq
d2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua3R5Iiwg
IidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIsICJbJ2RlY3J5cHQn
LCAndW53cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGciLCAiJ1JTQS1P
QUVQJyIpOworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hv
dWxkQmUoIkJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7
CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVL
ZXkuZSkpIiwgIicwMTAwMDEnIik7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoInByaXZhdGVLZXku
b3RoIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMGI0NTQzNGNiN2FiNjA0
MjhiMGJjZThlNGI2ODk3ZGNkMGRmODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyNyBAQAorW1dvcmtlcl0gVGVzdCBleHBvcnRpbmcgYSBSU0Ega2V5
IHBhaXIgdXNpbmcgUlNBLU9BRVAgYWxnb3JpdGhtIGluIHdvcmtlcnMgd2l0aCBKV0sgZm9ybWF0
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcgd29ya2VyOiByZXNv
dXJjZXMvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzCitbV29ya2VyXSBHZW5lcmF0aW5n
IGEga2V5Li4uCitbV29ya2VyXSBFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgW1dv
cmtlcl0gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGtleVBhaXIucHVibGljS2V5KSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkp
OiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIFtXb3JrZXJdIHB1YmxpY0tl
eS5rdHkgaXMgJ1JTQScKK1BBU1MgW1dvcmtlcl0gcHVibGljS2V5LmtleV9vcHMgaXMgWydlbmNy
eXB0JywgJ3dyYXBLZXknXQorUEFTUyBbV29ya2VyXSBwdWJsaWNLZXkuYWxnIGlzICdSU0EtT0FF
UCcKK1BBU1MgW1dvcmtlcl0gcHVibGljS2V5LmV4dCBpcyB0cnVlCitQQVNTIFtXb3JrZXJdIEJh
c2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgW1dvcmtl
cl0gYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSBpcyAnMDEw
MDAxJworW1dvcmtlcl0gRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBbV29ya2Vy
XSBwcml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBbV29ya2VyXSBwcml2YXRlS2V5LmtleV9v
cHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtleSddCitQQVNTIFtXb3JrZXJdIHByaXZhdGVLZXku
YWxnIGlzICdSU0EtT0FFUCcKK1BBU1MgW1dvcmtlcl0gcHJpdmF0ZUtleS5leHQgaXMgdHJ1ZQor
UEFTUyBbV29ya2VyXSBCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIGlz
IDI1NgorUEFTUyBbV29ya2VyXSBieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2
YXRlS2V5LmUpKSBpcyAnMDEwMDAxJworUEFTUyBbV29ya2VyXSBwcml2YXRlS2V5Lm90aCBpcyB1
bmRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1n
ZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMv
c3VidGxlL3JzYS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4ZTU3
ZDA1YzA1MDIyMmI1YmM2MjE4YzcwOGMxYzJiYmY1YTI0ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd29ya2VyID0g
c3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9yc2EtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suanMnKTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLWV4cGVj
dGVkLnR4dAppbmRleCBhZjg0ZDExNDE2YjhlMGFhZjJhNGVjOTk1NWNkY2E0YmM5MDE2YjBhLi5i
ZTczNTBmYTVhMmE0NGQ5ZmRhNWMyNTMzNzhhODgyZjkxMzM1OTAzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvaWRsaGFybmVzcy1l
eHBlY3RlZC50eHQKQEAgLTYxLDggKzYxLDggQEAgRkFJTCBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNl
OiBjcnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVyaXZlQml0cyIgd2kKIEZB
SUwgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBkZXJpdmVCaXRzKEFsZ29yaXRobUlk
ZW50aWZpZXIsQ3J5cHRvS2V5LHVuc2lnbmVkIGxvbmcpIG9uIGNyeXB0by5zdWJ0bGUgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJkZXJpdmVCaXRzIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBQQVNTIFN1
YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJpbXBvcnRLZXkiIHdpdGggdGhlIHByb3BlciB0eXBlICg4KSAKIFBBU1MgU3VidGxlQ3J5cHRv
IGludGVyZmFjZTogY2FsbGluZyBpbXBvcnRLZXkoS2V5Rm9ybWF0LFtvYmplY3QgT2JqZWN0XSxb
b2JqZWN0IE9iamVjdF0sQWxnb3JpdGhtSWRlbnRpZmllcixib29sZWFuLFtvYmplY3QgT2JqZWN0
XSkgb24gY3J5cHRvLnN1YnRsZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIAotRkFJTCBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiZXhwb3J0S2V5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoOSkgYXNz
ZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiZXhwb3J0S2V5IiBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluCi1GQUlMIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNhbGxpbmcgZXhwb3J0S2V5KEtl
eUZvcm1hdCxDcnlwdG9LZXkpIG9uIGNyeXB0by5zdWJ0bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50
cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJleHBvcnRL
ZXkiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgU3VidGxlQ3J5cHRvIGludGVy
ZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImV4cG9ydEtleSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDkpIAorUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjYWxs
aW5nIGV4cG9ydEtleShLZXlGb3JtYXQsQ3J5cHRvS2V5KSBvbiBjcnlwdG8uc3VidGxlIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBGQUlMIFN1YnRsZUNyeXB0
byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ3cmFwS2V5
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMTApIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIndy
YXBLZXkiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgU3VidGxlQ3J5cHRvIGlu
dGVyZmFjZTogY2FsbGluZyB3cmFwS2V5KEtleUZvcm1hdCxDcnlwdG9LZXksQ3J5cHRvS2V5LEFs
Z29yaXRobUlkZW50aWZpZXIpIG9uIGNyeXB0by5zdWJ0bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50
cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJ3cmFwS2V5
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBGQUlMIFN1YnRsZUNyeXB0byBpbnRlcmZh
Y2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1bndyYXBLZXkiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgxMSkgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAidW53cmFwS2V5
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294770</attachid>
            <date>2016-11-14 16:09:32 -0800</date>
            <delta_ts>2016-11-14 16:32:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164722-20161114160511.patch</filename>
            <type>text/plain</type>
            <size>169678</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGYwZTQ5YjRjNDEyMjI2
MWRmM2VkZTQ5ZWZhMjViNzU3Y2EwMzhmZi4uNzNiMTVkMGU3M2JiZWQzMzdmZDZiNmY4OWIwYmY1
MjEyNDNjZWExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMSBAQAorMjAxNi0xMS0xNCAgSmll
d2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBTdWJ0bGVD
cnlwdG86OmV4cG9ydEtleSB0byBtYXRjaCB0aGUgbGF0ZXN0IHNwZWMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDcyMgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjkyNTE3NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBwYXRjaCBkb2VzIGZvbGxvd2luZyBmZXcgdGhpbmdzOgorICAgICAg
ICAxLiBJdCB1cGRhdGVzIHRoZSBTdWJ0bGVDcnlwdG86OmV4cG9ydEtleSBtZXRob2QgdG8gbWF0
Y2ggdGhlIGxhdGVzdCBzcGVjOgorICAgICAgICAgICBodHRwczovL3d3dy53My5vcmcvVFIvV2Vi
Q3J5cHRvQVBJLyNTdWJ0bGVDcnlwdG8tbWV0aG9kLWV4cG9ydEtleS4KKyAgICAgICAgICAgSXQg
YWxzbyByZWZlcnMgdG8gdGhlIGxhdGVzdCBFZGl0b3IncyBEcmFmdCB0byBhIGNlcnRhaW4gZGVn
cmVlOgorICAgICAgICAgICBodHRwczovL3czYy5naXRodWIuaW8vd2ViY3J5cHRvL092ZXJ2aWV3
Lmh0bWwjU3VidGxlQ3J5cHRvLW1ldGhvZC1leHBvcnRLZXkuCisgICAgICAgIDIuIEl0IGltcGxl
bWVudHMgZXhwb3J0S2V5IG9wZXJhdGlvbnMgb2YgdGhlIGZvbGxvd2luZyBhbGdvcml0aG1zOiBB
RVMtQ0JDLCBBRVMtS1csCisgICAgICAgICAgIEhNQUMsIFJTQUVTLVBLQ1MxLVYxXzUsIFJTQVNT
QS1QS0NTMS1WMV81LCBhbmQgUlNBLU9BRVAuCisgICAgICAgIDMuIEl0IGFsc28gZml4ZXMgdGhl
IGZvbGxvd2luZyBidWdzOgorICAgICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU2MTE0LAorICAgICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE3NzMwNjY+
LgorICAgICAgICBOb3RlOiBXZSBjdXJyZW50bHkgb25seSBzdXBwb3J0IFJhdyBhbmQgSndrIGtl
eSBmb3JtYXQuCisKKyAgICAgICAgVGVzdHM6IGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9z
dWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTkyLmh0bWwKKyAg
ICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3
ay1sZW5ndGgtMjU2Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1n
ZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxl
L2Flcy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKKyAgICAgICAgICAgICAg
IGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgu
aHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Fl
cy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2Lmh0bWwKKyAgICAgICAgICAg
ICAgIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5Lmh0bWwKKyAg
ICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVy
cy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2htYWMtZXhwb3J0LWtleS1tYWxm
b3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2htYWMt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8v
c3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWwKKyAgICAgICAg
ICAgICAgIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYu
aHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTM4NC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2htYWMtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9z
dWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sCisgICAgICAgICAgICAgICBj
cnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisg
ICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3JzYS1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJh
bWV0ZXJzLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJh
dGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxl
L3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sCisgICAgICAgICAg
ICAgICBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1
Ni5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLXNoYTM4NC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3Jz
YS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sCisgICAgICAgICAgICAg
ICBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2su
aHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5l
cmF0ZS1leHBvcnQta2V5LWp3ay1zaGExLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0
bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWwK
KyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stc2hhMjU2Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUv
cnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0Lmh0bWwKKyAg
ICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhNTEyLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by93b3JrZXJzL3N1
YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suaHRtbAorICAgICAgICAgICAgICAgY3J5
cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5odG1sCisgICAg
ICAgICAgICAgICBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5
LWp3ay5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1nZW5l
cmF0ZS1leHBvcnQta2V5LXJhdy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vd29ya2Vycy9z
dWJ0bGUvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKKworICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNW
YWx1ZUZyb21Kc29uV2ViS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OmpzU3VidGxlQ3J5cHRvRnVu
Y3Rpb25FeHBvcnRLZXlQcm9taXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTU3VidGxlQ3J5cHRv
OjpleHBvcnRLZXkpOgorICAgICAgICAqIGNyeXB0by9DcnlwdG9BbGdvcml0aG0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtOjpleHBvcnRLZXkpOgorICAgICAgICAqIGNy
eXB0by9DcnlwdG9BbGdvcml0aG0uaDoKKyAgICAgICAgKiBjcnlwdG8vU3VidGxlQ3J5cHRvLmlk
bDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DQkM6OmltcG9ydEtleSk6
CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpleHBvcnRLZXkpOgor
ICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaDoKKyAg
ICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0tXOjppbXBvcnRLZXkpOgorICAgICAg
ICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpleHBvcnRLZXkpOgorICAgICAgICAq
IGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5oOgorICAgICAgICAqIGNy
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3J5cHRvQWxnb3JpdGhtSE1BQzo6aW1wb3J0S2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkNy
eXB0b0FsZ29yaXRobUhNQUM6OmV4cG9ydEtleSk6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5oOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5
cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6aW1wb3J0S2V5KToKKyAgICAgICAgKFdlYkNv
cmU6OkNyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmV4cG9ydEtleSk6CisgICAgICAg
ICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5oOgor
ICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92
MV81LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92
MV81OjppbXBvcnRLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtUlNBU1NB
X1BLQ1MxX3YxXzU6OmV4cG9ydEtleSk6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5
cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuaDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlw
dG9BbGdvcml0aG1SU0FfT0FFUDo6aW1wb3J0S2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0
b0FsZ29yaXRobVJTQV9PQUVQOjpleHBvcnRLZXkpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmg6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5
cHRvS2V5QUVTLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleUFFUzo6ZXhwb3J0Sndr
KToKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuaDoKKyAgICAgICAgKiBjcnlw
dG8va2V5cy9DcnlwdG9LZXlITUFDLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleUhN
QUM6OmV4cG9ydEp3ayk6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5oOgor
ICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9LZXlSU0E6OmV4cG9ydEp3ayk6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRv
S2V5UlNBLmg6CisKIDIwMTYtMTEtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIE1vdmUgdXBkYXRlU2lnbmFsaW5nU3RhdGUgdG8gUGVlckNvbm5lY3Rpb25C
YWNrZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNy
eXB0b0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0
b0N1c3RvbS5jcHAKaW5kZXggOTEzOTgxYjNlNDEwOTRkMWQ3MThlNGU4MzNlZTAzY2M0NjFhNjY3
Ny4uZGQxNmE5MTZhZGEyNDM3NjY2YmE3NGIyNjFkY2I1MWJmZDMxZTI4OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcApAQCAt
NDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSA8cnVudGlt
ZS9FcnJvci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSXRlcmF0b3JPcGVyYXRpb25zLmg+CisjaW5j
bHVkZSA8cnVudGltZS9KU0FycmF5Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKQEAgLTMw
Nyw2ICszMDgsNjEgQEAgc3RhdGljIEtleURhdGEgdG9LZXlEYXRhKEV4ZWNTdGF0ZSYgc3RhdGUs
IFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgSlNWYWwKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCisvLyBGSVhNRTogV2Ugc2hvdWxkIGdldCByaWQgb2YgdGhpcyBvbmNlIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM3MTEgaXMgZml4ZWQuCitzdGF0aWMg
SlNWYWx1ZSB0b0pTVmFsdWVGcm9tSnNvbldlYktleShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0LCBKc29uV2ViS2V5JiYga2V5KQoreworICAgIEV4ZWNTdGF0ZSYgc3RhdGUgPSAqZ2xv
YmFsT2JqZWN0Lmdsb2JhbEV4ZWMoKTsKKyAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOworCisgICAg
YXV0byogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoJnN0YXRlKTsKKyAgICByZXN1bHQt
PnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJrdHkiKSwgdG9KUzxJ
RExET01TdHJpbmc+KHN0YXRlLCBrZXkua3R5KSk7CisgICAgaWYgKGtleS51c2UpCisgICAgICAg
IHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInVzZSIp
LCB0b0pTPElETERPTVN0cmluZz4oc3RhdGUsIGtleS51c2UudmFsdWUoKSkpOworICAgIGlmIChr
ZXkua2V5X29wcykKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZy
b21TdHJpbmcoJnZtLCAia2V5X29wcyIpLCB0b0pTPElETFNlcXVlbmNlPElETEVudW1lcmF0aW9u
PENyeXB0b0tleVVzYWdlPj4+KHN0YXRlLCBnbG9iYWxPYmplY3QsIGtleS5rZXlfb3BzLnZhbHVl
KCkpKTsKKyAgICBpZiAoa2V5LmFsZykKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiYWxnIiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0
ZSwga2V5LmFsZy52YWx1ZSgpKSk7CisgICAgaWYgKGtleS5leHQpCisgICAgICAgIHJlc3VsdC0+
cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImV4dCIpLCB0b0pTPElE
TEJvb2xlYW4+KHN0YXRlLCBrZXkuZXh0LnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5LmNydikKKyAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAi
Y3J2IiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0ZSwga2V5LmNydi52YWx1ZSgpKSk7CisgICAg
aWYgKGtleS54KQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZygmdm0sICJ4IiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0ZSwga2V5LngudmFsdWUo
KSkpOworICAgIGlmIChrZXkueSkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50
aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAieSIpLCB0b0pTPElETERPTVN0cmluZz4oc3RhdGUsIGtl
eS55LnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5LmQpCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImQiKSwgdG9KUzxJRExET01TdHJpbmc+
KHN0YXRlLCBrZXkuZC52YWx1ZSgpKSk7CisgICAgaWYgKGtleS5uKQorICAgICAgICByZXN1bHQt
PnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJuIiksIHRvSlM8SURM
RE9NU3RyaW5nPihzdGF0ZSwga2V5Lm4udmFsdWUoKSkpOworICAgIGlmIChrZXkuZSkKKyAgICAg
ICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZSIp
LCB0b0pTPElETERPTVN0cmluZz4oc3RhdGUsIGtleS5lLnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5
LnApCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KCZ2bSwgInAiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRlLCBrZXkucC52YWx1ZSgpKSk7Cisg
ICAgaWYgKGtleS5xKQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6
ZnJvbVN0cmluZygmdm0sICJxIiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0ZSwga2V5LnEudmFs
dWUoKSkpOworICAgIGlmIChrZXkuZHApCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBJ
ZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImRwIiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0
ZSwga2V5LmRwLnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5LmRxKQorICAgICAgICByZXN1bHQtPnB1
dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJkcSIpLCB0b0pTPElETERP
TVN0cmluZz4oc3RhdGUsIGtleS5kcS52YWx1ZSgpKSk7CisgICAgaWYgKGtleS5xaSkKKyAgICAg
ICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAicWki
KSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRlLCBrZXkucWkudmFsdWUoKSkpOworICAgIGlmIChr
ZXkub3RoKSB7CisgICAgICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGxpc3Q7CisgICAgICAgIGZv
ciAoYXV0byYgdmFsdWUgOiBrZXkub3RoLnZhbHVlKCkpIHsKKyAgICAgICAgICAgIGF1dG8qIGlu
Zm8gPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCgmc3RhdGUpOworICAgICAgICAgICAgaW5mby0+cHV0
RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInIiKSwgdG9KUzxJRExET01T
dHJpbmc+KHN0YXRlLCB2YWx1ZS5yKSk7CisgICAgICAgICAgICBpbmZvLT5wdXREaXJlY3Qodm0s
IElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZCIpLCB0b0pTPElETERPTVN0cmluZz4oc3Rh
dGUsIHZhbHVlLmQpKTsKKyAgICAgICAgICAgIGluZm8tPnB1dERpcmVjdCh2bSwgSWRlbnRpZmll
cjo6ZnJvbVN0cmluZygmdm0sICJ0IiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0ZSwgdmFsdWUu
dCkpOworICAgICAgICAgICAgbGlzdC5hcHBlbmQoaW5mbyk7CisgICAgICAgIH0KKyAgICAgICAg
cmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAib3RoIiks
IGNvbnN0cnVjdEFycmF5KCZzdGF0ZSwgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4obnVsbHB0ciks
IGxpc3QpKTsKKyAgICB9CisgICAgaWYgKGtleS5rKQorICAgICAgICByZXN1bHQtPnB1dERpcmVj
dCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJrIiksIHRvSlM8SURMRE9NU3RyaW5n
PihzdGF0ZSwga2V5LmsudmFsdWUoKSkpOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogc3Rh
dGljIHZvaWQganNTdWJ0bGVDcnlwdG9GdW5jdGlvbkdlbmVyYXRlS2V5UHJvbWlzZShFeGVjU3Rh
dGUmIHN0YXRlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAgVk0mIHZt
ID0gc3RhdGUudm0oKTsKQEAgLTM1MCw4ICs0MDYsOCBAQCBzdGF0aWMgdm9pZCBqc1N1YnRsZUNy
eXB0b0Z1bmN0aW9uR2VuZXJhdGVLZXlQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZl
cgogICAgICAgICByZWplY3RXaXRoRXhjZXB0aW9uKFdURk1vdmUoY2FwdHVyZWRQcm9taXNlKSwg
ZWMpOwogICAgIH07CiAKLSAgICAvLyBUaGUgc3BlYyBzdWdnZXN0cyB3ZSBzaG91bGQgcGVyZm9y
bSB0aGUgZm9sbG93aW5nIHRhc2sgYXN5bmNocm9ub3VzbHkgcmVnYXJkbGVzcyB3aGF0IGtpbmQg
b2Yga2V5cyBpdCBwcm9kdWNlcwotICAgIC8vIGFzIG9mIDExIERlY2VtYmVyIDIwMTQ6IGh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9XZWJDcnlwdG9BUEkvI1N1YnRsZUNyeXB0by1tZXRob2QtZ2VuZXJh
dGVLZXkKKyAgICAvLyBUaGUgMTEgRGVjZW1iZXIgMjAxNCB2ZXJzaW9uIG9mIHRoZSBzcGVjaWZp
Y2F0aW9uIHN1Z2dlc3RzIHdlIHNob3VsZCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgdGFzayBhc3lu
Y2hyb25vdXNseQorICAgIC8vIHJlZ2FyZGxlc3Mgd2hhdCBraW5kIG9mIGtleXMgaXQgcHJvZHVj
ZXM6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XZWJDcnlwdG9BUEkvI1N1YnRsZUNyeXB0by1tZXRo
b2QtZ2VuZXJhdGVLZXkKICAgICAvLyBUaGF0J3Mgc2ltcGx5IG5vdCBlZmZpY2llbnQgZm9yIEFF
UyBhbmQgSE1BQyBrZXlzLiBUaGVyZWZvcmUsIHdlIHBlcmZvcm0gaXQgYXMgYW4gYXN5bmMgdGFz
ayBjb25kaXRpb25hbGx5LgogICAgIGFsZ29yaXRobS0+Z2VuZXJhdGVLZXkoV1RGTW92ZShwYXJh
bXMpLCBleHRyYWN0YWJsZSwga2V5VXNhZ2VzLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShl
eGNlcHRpb25DYWxsYmFjayksICpzY3JpcHRFeGVjdXRpb25Db250ZXh0RnJvbUV4ZWNTdGF0ZSgm
c3RhdGUpKTsKIH0KQEAgLTM5NSwxMiArNDUxLDgyIEBAIHN0YXRpYyB2b2lkIGpzU3VidGxlQ3J5
cHRvRnVuY3Rpb25JbXBvcnRLZXlQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZlcnJl
CiAgICAgICAgIHJlamVjdFdpdGhFeGNlcHRpb24oV1RGTW92ZShjYXB0dXJlZFByb21pc2UpLCBl
Yyk7CiAgICAgfTsKIAotICAgIC8vIFRoZSBzcGVjIHN1Z2dlc3RzIHdlIHNob3VsZCBwZXJmb3Jt
IHRoZSBmb2xsb3dpbmcgdGFzayBhc3luY2hyb25vdXNseSBhcyBvZiAxMSBEZWNlbWJlciAyMDE0
OgorICAgIC8vIFRoZSAxMSBEZWNlbWJlciAyMDE0IHZlcnNpb24gb2YgdGhlIHNwZWNpZmljYXRp
b24gc3VnZ2VzdHMgd2Ugc2hvdWxkIHBlcmZvcm0gdGhlIGZvbGxvd2luZyB0YXNrIGFzeW5jaHJv
bm91c2x5OgogICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XZWJDcnlwdG9BUEkvI1N1YnRs
ZUNyeXB0by1tZXRob2QtaW1wb3J0S2V5Ci0gICAgLy8gVGhhdCdzIHNpbXBseSBub3QgbmVjZXNz
YXJ5LiBUaGVyZWZvcmUsIHdlIHBlcmZvcm0gaXQgc3luY2hyb25vdXNseS4KKyAgICAvLyBJdCBp
cyBub3QgYmVuZWZpY2lhbCBmb3IgbGVzcyB0aW1lIGNvbnN1bWluZyBvcGVyYXRpb25zLiBUaGVy
ZWZvcmUsIHdlIHBlcmZvcm0gaXQgc3luY2hyb25vdXNseS4KICAgICBhbGdvcml0aG0tPmltcG9y
dEtleShmb3JtYXQsIFdURk1vdmUoa2V5RGF0YSksIFdURk1vdmUocGFyYW1zKSwgZXh0cmFjdGFi
bGUsIGtleVVzYWdlcywgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJh
Y2spKTsKIH0KIAorc3RhdGljIHZvaWQganNTdWJ0bGVDcnlwdG9GdW5jdGlvbkV4cG9ydEtleVBy
b21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQor
eworICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworCisgICAgaWYgKFVOTElLRUxZKHN0YXRlLmFyZ3VtZW50Q291bnQoKSA8
IDIpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdDxKU1ZhbHVlPihjcmVhdGVOb3RFbm91Z2hB
cmd1bWVudHNFcnJvcigmc3RhdGUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1
dG8gZm9ybWF0ID0gY29udmVydEVudW1lcmF0aW9uPFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0Pihz
dGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIHZvaWQoKSk7CisKKyAgICBSZWZQdHI8Q3J5cHRvS2V5PiBrZXkgPSBKU0NyeXB0
b0tleTo6dG9XcmFwcGVkKHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDEpKTsKKyAgICBpZiAoIWtl
eSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3Q8SlNWYWx1ZT4oY3JlYXRlVHlwZUVycm9yKCZz
dGF0ZSwgQVNDSUlMaXRlcmFsKCJJbnZhbGlkIENyeXB0b0tleSIpKSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBzd2l0Y2ggKGtleS0+YWxnb3JpdGhtSWRlbnRpZmllcigpKSB7Cisg
ICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpSU0FFU19QS0NTMV92MV81OgorICAg
IGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6UlNBU1NBX1BLQ1MxX3YxXzU6CisgICAg
Y2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpSU0FfUFNTOgorICAgIGNhc2UgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllcjo6UlNBX09BRVA6CisgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyOjpBRVNfQ1RSOgorICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6
QUVTX0NCQzoKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFFU19DTUFDOgor
ICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6QUVTX0dDTToKKyAgICBjYXNlIENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFFU19DRkI6CisgICAgY2FzZSBDcnlwdG9BbGdvcml0
aG1JZGVudGlmaWVyOjpBRVNfS1c6CisgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
OjpITUFDOgorICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBwcm9taXNlLT5y
ZWplY3Q8SlNWYWx1ZT4oY3JlYXRlRE9NRXhjZXB0aW9uKCZzdGF0ZSwgTk9UX1NVUFBPUlRFRF9F
UlIsIEFTQ0lJTGl0ZXJhbCgiVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIikpKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICgha2V5LT5leHRyYWN0YWJsZSgpKSB7Cisg
ICAgICAgIHByb21pc2UtPnJlamVjdDxKU1ZhbHVlPihjcmVhdGVET01FeGNlcHRpb24oJnN0YXRl
LCBJTlZBTElEX0FDQ0VTU19FUlIsIEFTQ0lJTGl0ZXJhbCgiVGhlIENyeXB0b0tleSBpcyBub25l
eHRyYWN0YWJsZSIpKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGFsZ29y
aXRobSA9IGNyZWF0ZUFsZ29yaXRobShzdGF0ZSwga2V5LT5hbGdvcml0aG1JZGVudGlmaWVyKCkp
OworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAgICBhdXRvIGNh
bGxiYWNrID0gW2NhcHR1cmVkUHJvbWlzZSA9IHByb21pc2UuY29weVJlZigpXShTdWJ0bGVDcnlw
dG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJiBrZXkpIG11dGFibGUgeworICAgICAgICBz
d2l0Y2ggKGZvcm1hdCkgeworICAgICAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpT
cGtpOgorICAgICAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpQa2NzODoKKyAgICAg
ICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6UmF3OiB7CisgICAgICAgICAgICBWZWN0
b3I8dWludDhfdD4mIHJhd0tleSA9IFdURjo6Z2V0PFZlY3Rvcjx1aW50OF90Pj4oa2V5KTsKKyAg
ICAgICAgICAgIGZ1bGZpbGxQcm9taXNlV2l0aEFycmF5QnVmZmVyKFdURk1vdmUoY2FwdHVyZWRQ
cm9taXNlKSwgcmF3S2V5LmRhdGEoKSwgcmF3S2V5LnNpemUoKSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6Sndr
OgorICAgICAgICAgICAgY2FwdHVyZWRQcm9taXNlLT5yZXNvbHZlKHRvSlNWYWx1ZUZyb21Kc29u
V2ViS2V5KCooY2FwdHVyZWRQcm9taXNlLT5nbG9iYWxPYmplY3QoKSksIFdURk1vdmUoV1RGOjpn
ZXQ8SnNvbldlYktleT4oa2V5KSkpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9OworICAgIGF1dG8gZXhjZXB0aW9u
Q2FsbGJhY2sgPSBbY2FwdHVyZWRQcm9taXNlID0gIHByb21pc2UuY29weVJlZigpXShFeGNlcHRp
b25Db2RlIGVjKSBtdXRhYmxlIHsKKyAgICAgICAgcmVqZWN0V2l0aEV4Y2VwdGlvbihXVEZNb3Zl
KGNhcHR1cmVkUHJvbWlzZSksIGVjKTsKKyAgICB9OworCisgICAgLy8gVGhlIDExIERlY2VtYmVy
IDIwMTQgdmVyc2lvbiBvZiB0aGUgc3BlY2lmaWNhdGlvbiBzdWdnZXN0cyB3ZSBzaG91bGQgcGVy
Zm9ybSB0aGUgZm9sbG93aW5nIHRhc2sgYXN5bmNocm9ub3VzbHk6CisgICAgLy8gaHR0cHM6Ly93
d3cudzMub3JnL1RSL1dlYkNyeXB0b0FQSS8jU3VidGxlQ3J5cHRvLW1ldGhvZC1leHBvcnRLZXkK
KyAgICAvLyBJdCBpcyBub3QgYmVuZWZpY2lhbCBmb3IgbGVzcyB0aW1lIGNvbnN1bWluZyBvcGVy
YXRpb25zLiBUaGVyZWZvcmUsIHdlIHBlcmZvcm0gaXQgc3luY2hyb25vdXNseS4KKyAgICBhbGdv
cml0aG0tPmV4cG9ydEtleShmb3JtYXQsIFdURk1vdmUoa2V5KSwgV1RGTW92ZShjYWxsYmFjayks
IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spKTsKK30KKwogSlNWYWx1ZSBKU1N1YnRsZUNyeXB0
bzo6Z2VuZXJhdGVLZXkoRXhlY1N0YXRlJiBzdGF0ZSkKIHsKICAgICByZXR1cm4gY2FsbFByb21p
c2VGdW5jdGlvbjxqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uR2VuZXJhdGVLZXlQcm9taXNlLCBQcm9t
aXNlRXhlY3V0aW9uU2NvcGU6OldpbmRvd09yV29ya2VyPihzdGF0ZSk7CkBAIC00MTEsNiArNTM3
LDExIEBAIEpTVmFsdWUgSlNTdWJ0bGVDcnlwdG86OmltcG9ydEtleShFeGVjU3RhdGUmIHN0YXRl
KQogICAgIHJldHVybiBjYWxsUHJvbWlzZUZ1bmN0aW9uPGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25J
bXBvcnRLZXlQcm9taXNlLCBQcm9taXNlRXhlY3V0aW9uU2NvcGU6OldpbmRvd09yV29ya2VyPihz
dGF0ZSk7CiB9CiAKK0pTVmFsdWUgSlNTdWJ0bGVDcnlwdG86OmV4cG9ydEtleShFeGVjU3RhdGUm
IHN0YXRlKQoreworICAgIHJldHVybiBjYWxsUHJvbWlzZUZ1bmN0aW9uPGpzU3VidGxlQ3J5cHRv
RnVuY3Rpb25FeHBvcnRLZXlQcm9taXNlLCBQcm9taXNlRXhlY3V0aW9uU2NvcGU6OldpbmRvd09y
V29ya2VyPihzdGF0ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uY3BwCmluZGV4IGRjNTgyMDM3YWJi
MjRjNjJjZGU1NWE2OTA5NTk3ZWQ0MmEwMGE5MTcuLjQxNmVmYTg0ZDJlMGYzZWM2ZmZjYTRlZWEz
NGUxNTM4YmE5ODg2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9B
bGdvcml0aG0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0u
Y3BwCkBAIC00Miw2ICs0MiwxMSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobTo6aW1wb3J0S2V5KFN1
YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dQogICAgIGV4Y2Vw
dGlvbkNhbGxiYWNrKE5PVF9TVVBQT1JURURfRVJSKTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0
aG06OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgUmVmUHRyPFdlYkNvcmU6OkNy
eXB0b0tleT4mJiwgS2V5RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0
aW9uQ2FsbGJhY2spCit7CisgICAgZXhjZXB0aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9FUlIp
OworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0aG06OmVuY3J5cHQoY29uc3Qg
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBj
b25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNr
JiYpCiB7CiAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5PVF9TVVBQT1JURURfRVJSIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmgKaW5kZXggZTFjNmJhZTA5ODVkZDlhN2Zm
MzVmMWEzNDk4NzEyODU4NDAxMjYwYi4uMzc1NmQxOWNiNzRhNjRlN2RjY2M5Mjc5ZTg3ZGI5Mzc2
NjI3OWRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaApAQCAtNjEs
OSArNjEsMTEgQEAgcHVibGljOgogICAgIHVzaW5nIFZlY3RvckNhbGxiYWNrID0gV1RGOjpGdW5j
dGlvbjx2b2lkKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYpPjsKICAgICB1c2luZyBWb2lkQ2FsbGJh
Y2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoKT47CiAgICAgdXNpbmcgRXhjZXB0aW9uQ2FsbGJhY2sg
PSBXVEY6OkZ1bmN0aW9uPHZvaWQoRXhjZXB0aW9uQ29kZSk+OworICAgIHVzaW5nIEtleURhdGFD
YWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5
RGF0YSYmKT47CiAKICAgICB2aXJ0dWFsIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlx
dWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENy
eXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxs
YmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAgICAgdmlydHVhbCB2b2lkIGltcG9y
dEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1
ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpOwor
ICAgIHZpcnR1YWwgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZlB0
cjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKTsK
IAogICAgIC8vIFRoZSBmb2xsb3dpbmcgd2lsbCBiZSBkZXByZWNhdGVkLgogICAgIHZpcnR1YWwg
RXhjZXB0aW9uT3I8dm9pZD4gZW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
RGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEm
LCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbAppbmRleCBmZGYyMWY2Nzk4ZTA3Yjg3MmYx
N2MwZDVhMDllZmE5OTY5OWMzZDgwLi5kZDIyNGJlODQwODE1ZmIxOTdjYmViMDQ4M2UwZDBlYzAx
Y2ZhZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbApAQCAtMzQsNCAr
MzQsNSBAQCBlbnVtIEtleUZvcm1hdCB7ICJyYXciLCAic3BraSIsICJwa2NzOCIsICJqd2siIH07
CiAgICAgLy8gRklYTUU6IFNob3VsZCB0aGlzIHJldHVybiBhIFByb21pc2U8KENyeXB0b0tleSBv
ciBDcnlwdG9LZXlQYWlyKT4/CiAgICAgW0N1c3RvbV0gUHJvbWlzZTxhbnk+IGdlbmVyYXRlS2V5
KEFsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBib29sZWFuIGV4dHJhY3RhYmxlLCBzZXF1
ZW5jZTxDcnlwdG9LZXlVc2FnZT4ga2V5VXNhZ2VzKTsKICAgICBbQ3VzdG9tXSBQcm9taXNlPENy
eXB0b0tleT4gaW1wb3J0S2V5KEtleUZvcm1hdCBmb3JtYXQsIChCdWZmZXJTb3VyY2Ugb3IgSnNv
bldlYktleSkga2V5RGF0YSwgQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIGJvb2xlbiBl
eHRyYWN0YWJsZSwgc2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IGtleVVzYWdlcyk7CisgICAgW0N1
c3RvbV0gUHJvbWlzZTxhbnk+IGV4cG9ydEtleShLZXlGb3JtYXQgZm9ybWF0LCBDcnlwdG9LZXkg
a2V5KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCmluZGV4IDRjYWUxN2UxMDY1NzQ1ZTdiMjg2
MDM3OTg0ZjMxMmE4N2UwOTBiZDUuLjMwNTY5NWExZDc4NmViOWIxYmZiODQ1ZDQ4NjMzZTlkYTRk
ZjRmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobUFFU19DQkMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCkBAIC0zNyw2ICszNywxMCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcxMjggPSAiQTEy
OENCQyI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMTkyID0gIkExOTJDQkMiOworc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJBMjU2Q0JDIjsKKwogc3RhdGljIGlubGlu
ZSBib29sIHVzYWdlc0FyZUludmFsaWRGb3JDcnlwdG9BbGdvcml0aG1BRVNfQ0JDKENyeXB0b0tl
eVVzYWdlQml0bWFwIHVzYWdlcykKIHsKICAgICByZXR1cm4gdXNhZ2VzICYgKENyeXB0b0tleVVz
YWdlU2lnbiB8IENyeXB0b0tleVVzYWdlVmVyaWZ5IHwgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVLZXkg
fCBDcnlwdG9LZXlVc2FnZURlcml2ZUJpdHMpOwpAQCAtOTQsMTEgKzk4LDExIEBAIHZvaWQgQ3J5
cHRvQWxnb3JpdGhtQUVTX0NCQzo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZv
cm1hdCwgS2V5RGF0YSYmCiAgICAgICAgIGF1dG8gY2hlY2tBbGdDYWxsYmFjayA9IFtdKHNpemVf
dCBsZW5ndGgsIGNvbnN0IE9wdGlvbmFsPFN0cmluZz4mIGFsZykgLT4gYm9vbCB7CiAgICAgICAg
ICAgICBzd2l0Y2ggKGxlbmd0aCkgewogICAgICAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNf
bGVuZ3RoMTI4OgotICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgpID09
ICJBMTI4Q0JDIjsKKyAgICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9
PSBBTEcxMjg7CiAgICAgICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgxOTI6Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gIkExOTJDQkMiOwor
ICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgpID09IEFMRzE5MjsKICAg
ICAgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDI1NjoKLSAgICAgICAgICAgICAg
ICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSAiQTI1NkNCQyI7CisgICAgICAgICAgICAg
ICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMjU2OwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9OwpAQCAtMTE3LDYgKzEyMSw0NiBA
QCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86Oktl
eUZvcm1hdCBmb3JtYXQsIEtleURhdGEmJgogICAgIGNhbGxiYWNrKCpyZXN1bHQpOwogfQogCit2
b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZv
cm1hdCBmb3JtYXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYga2V5LCBLZXlEYXRhQ2FsbGJhY2smJiBj
YWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKK3sKKyAgICBj
b25zdCBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlBRVM+KCprZXkpOworCisgICAg
aWYgKGFlc0tleS5rZXkoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2so
T3BlcmF0aW9uRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgS2V5RGF0YSBy
ZXN1bHQ7CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5
Rm9ybWF0OjpSYXc6CisgICAgICAgIHJlc3VsdCA9IGFlc0tleS5leHBvcnRSYXcoKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CisgICAg
ICAgIEpzb25XZWJLZXkgandrID0gYWVzS2V5LmV4cG9ydEp3aygpOworICAgICAgICBzd2l0Y2gg
KGFlc0tleS5sZW5ndGgoKSkgeworICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgx
Mjg6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzEyOCk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMTkyOgorICAgICAgICAg
ICAgandrLmFsZyA9IFN0cmluZyhBTEcxOTIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDI1NjoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBT
dHJpbmcoQUxHMjU2KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0
ID0gV1RGTW92ZShqd2spOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9FUlIpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgY2FsbGJhY2soZm9ybWF0LCBXVEZNb3ZlKHJlc3VsdCkpOworfQor
CiBFeGNlcHRpb25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjplbmNyeXB0KGNvbnN0
IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBD
cnlwdG9LZXkmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2Fs
bGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKQogewogICAg
IGF1dG8mIGFlc0NCQ1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNDYmNQ
YXJhbXNEZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaCBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaAppbmRleCAyZWI0
YjQxNTRmMjkyMDYxNTYxMTJkNGMyMjkxYjliNTg5NTdhNTNlLi5jNGNjNWM5YmRjZGI5MDc4YjUx
ZDQ4NWM2NjYwZmU3Yjc2NmE1MzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5oCkBAIC00Niw2ICs0Niw3
IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0
cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
JiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIGZpbmFsOwogICAgIHZvaWQgaW1wb3J0S2V5KFN1
YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7Cisg
ICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZlB0cjxDcnlwdG9L
ZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKIAog
ICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGVuY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25E
YXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKSBm
aW5hbDsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBkZWNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3Bl
cmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxs
YmFjaykgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNwcAppbmRleCBlNmIwNGM0MTU5MDMwNTUzOGE0
NjFmYWMwNmZhZWNlMjIwNDJlZDZhLi42ZTU1NzEyOWFmNDA3ZmY5NDZmNmZmMTY1NGViNzRlYzM0
MWE1OGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1BRVNfS1cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAKQEAgLTM2LDYgKzM2LDEwIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzEyOCA9ICJBMTI4
S1ciOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzE5MiA9ICJBMTkyS1ciOworc3RhdGlj
IGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJBMjU2S1ciOworCiBzdGF0aWMgaW5saW5lIGJv
b2wgdXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29yaXRobUFFU19LVyhDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCB1c2FnZXMpCiB7CiAgICAgcmV0dXJuIHVzYWdlcyAmIChDcnlwdG9LZXlVc2FnZVNp
Z24gfCBDcnlwdG9LZXlVc2FnZVZlcmlmeSB8IENyeXB0b0tleVVzYWdlRGVyaXZlS2V5IHwgQ3J5
cHRvS2V5VXNhZ2VEZXJpdmVCaXRzIHwgQ3J5cHRvS2V5VXNhZ2VFbmNyeXB0IHwgQ3J5cHRvS2V5
VXNhZ2VEZWNyeXB0KTsKQEAgLTkxLDExICs5NSwxMSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFF
U19LVzo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYm
CiAgICAgICAgIHJlc3VsdCA9IENyeXB0b0tleUFFUzo6aW1wb3J0SndrKHBhcmFtZXRlcnMtPmlk
ZW50aWZpZXIsIFdURk1vdmUoV1RGOjpnZXQ8SnNvbldlYktleT4oZGF0YSkpLCBleHRyYWN0YWJs
ZSwgdXNhZ2VzLCBbXShzaXplX3QgbGVuZ3RoLCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBhbGcp
IC0+IGJvb2wgewogICAgICAgICAgICAgc3dpdGNoIChsZW5ndGgpIHsKICAgICAgICAgICAgIGNh
c2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDEyODoKLSAgICAgICAgICAgICAgICByZXR1cm4gIWFs
ZyB8fCBhbGcudmFsdWUoKSA9PSAiQTEyOEtXIjsKKyAgICAgICAgICAgICAgICByZXR1cm4gIWFs
ZyB8fCBhbGcudmFsdWUoKSA9PSBBTEcxMjg7CiAgICAgICAgICAgICBjYXNlIENyeXB0b0tleUFF
Uzo6c19sZW5ndGgxOTI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVl
KCkgPT0gIkExOTJLVyI7CisgICAgICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVl
KCkgPT0gQUxHMTkyOwogICAgICAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMjU2
OgotICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgpID09ICJBMjU2S1ci
OworICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgpID09IEFMRzI1NjsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfSk7CkBA
IC0xMTMsNiArMTE3LDQ2IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjppbXBvcnRLZXko
U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYKICAgICBjYWxsYmFjaygq
cmVzdWx0KTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmV4cG9ydEtleShTdWJ0
bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYga2V5LCBLZXlE
YXRhQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxs
YmFjaykKK3sKKyAgICBjb25zdCBhdXRvJiBhZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlBRVM+
KCprZXkpOworCisgICAgaWYgKGFlc0tleS5rZXkoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZXhj
ZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgS2V5RGF0YSByZXN1bHQ7CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICBjYXNlIFN1
YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpSYXc6CisgICAgICAgIHJlc3VsdCA9IGFlc0tleS5leHBv
cnRSYXcoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1h
dDo6SndrOiB7CisgICAgICAgIEpzb25XZWJLZXkgandrID0gYWVzS2V5LmV4cG9ydEp3aygpOwor
ICAgICAgICBzd2l0Y2ggKGFlc0tleS5sZW5ndGgoKSkgeworICAgICAgICBjYXNlIENyeXB0b0tl
eUFFUzo6c19sZW5ndGgxMjg6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzEyOCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3Ro
MTkyOgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEcxOTIpOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDI1NjoKKyAgICAgICAg
ICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMjU2KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0K
KyAgICAgICAgcmVzdWx0ID0gV1RGTW92ZShqd2spOworICAgICAgICBicmVhazsKKyAgICB9Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9FUlIp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY2FsbGJhY2soZm9ybWF0LCBXVEZNb3Zl
KHJlc3VsdCkpOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0aG1BRVNfS1c6
OmVuY3J5cHRGb3JXcmFwS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNh
dGVkJiwgY29uc3QgQ3J5cHRvS2V5JiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRh
dGEsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxs
YmFjaykKIHsKICAgICBpZiAoIWtleUFsZ29yaXRobU1hdGNoZXMoa2V5KSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5o
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tX
LmgKaW5kZXggNWQ1YTY4ZTIzYTk0ODc3YjIyNmI3OTA4NWMwOGQ0YjY1YjI2M2MxMi4uMzNmYzMw
MjU0YWVlOTU2Y2Y2MDQ5ZTEwZDExNWE5YjU0YjMxYmFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmgKQEAg
LTQ1LDYgKzQ1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3Rk
Ojp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRp
b25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgZmluYWw7CiAgICAgdm9pZCBp
bXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1
bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYm
KSBmaW5hbDsKKyAgICB2b2lkIGV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgUmVm
UHRyPENyeXB0b0tleT4mJiwgS2V5RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYp
IGZpbmFsOwogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gZW5jcnlwdEZvcldyYXBLZXkoY29uc3Qg
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBj
b25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNr
JiYgZmFpbHVyZUNhbGxiYWNrKSBmaW5hbDsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBkZWNyeXB0
Rm9yVW53cmFwS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwg
Y29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxi
YWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykgZmluYWw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMu
Y3BwCmluZGV4IGQwYTc0NzU4ZWI5MTZkNmY0MTVjZTY0ODI5ZDViNTk0MGU1MjFhNGQuLmY3ZDdl
MmM2ZDU4ODM2NzI3ZTI4MGUzYzEyODFjZDIxY2VlMmZlOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwCkBA
IC0zNyw2ICszNywxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCBBTEcxID0gIkhTMSI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjI0
ID0gIkhTMjI0IjsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcyNTYgPSAiSFMyNTYiOwor
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzM4NCA9ICJIUzM4NCI7CitzdGF0aWMgY29uc3Qg
Y2hhciogY29uc3QgQUxHNTEyID0gIkhTNTEyIjsKKwogc3RhdGljIGlubGluZSBib29sIHVzYWdl
c0FyZUludmFsaWRGb3JDcnlwdG9BbGdvcml0aG1ITUFDKENyeXB0b0tleVVzYWdlQml0bWFwIHVz
YWdlcykKIHsKICAgICByZXR1cm4gdXNhZ2VzICYgKENyeXB0b0tleVVzYWdlRW5jcnlwdCB8IENy
eXB0b0tleVVzYWdlRGVjcnlwdCB8IENyeXB0b0tleVVzYWdlRGVyaXZlS2V5IHwgQ3J5cHRvS2V5
VXNhZ2VEZXJpdmVCaXRzIHwgQ3J5cHRvS2V5VXNhZ2VXcmFwS2V5IHwgQ3J5cHRvS2V5VXNhZ2VV
bndyYXBLZXkpOwpAQCAtMTA0LDE1ICsxMTAsMTUgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFD
OjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGEK
ICAgICAgICAgYXV0byBjaGVja0FsZ0NhbGxiYWNrID0gW10oQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
ZmllciBoYXNoLCBjb25zdCBPcHRpb25hbDxTdHJpbmc+JiBhbGcpIC0+IGJvb2wgewogICAgICAg
ICAgICAgc3dpdGNoIChoYXNoKSB7CiAgICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXI6OlNIQV8xOgotICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52YWx1
ZSgpID09ICJIUzEiOworICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgp
ID09IEFMRzE7CiAgICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNI
QV8yMjQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gIkhT
MjI0IjsKKyAgICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSBBTEcy
MjQ7CiAgICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yNTY6
Ci0gICAgICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gIkhTMjU2IjsK
KyAgICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSBBTEcyNTY7CiAg
ICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8zODQ6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gIkhTMzg0IjsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSBBTEczODQ7CiAgICAgICAg
ICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV81MTI6Ci0gICAgICAgICAg
ICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gIkhTNTEyIjsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSBBTEc1MTI7CiAgICAgICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KQEAg
LTEzMyw2ICsxMzksNTIgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjppbXBvcnRLZXkoU3Vi
dGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRhJiYgZGEKICAgICBjYWxsYmFjaygq
cmVzdWx0KTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjpleHBvcnRLZXkoU3VidGxl
Q3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBSZWZQdHI8Q3J5cHRvS2V5PiYmIGtleSwgS2V5RGF0
YUNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJh
Y2spCit7CisgICAgY29uc3QgYXV0byYgaG1hY0tleSA9IGRvd25jYXN0PENyeXB0b0tleUhNQUM+
KCprZXkpOworCisgICAgaWYgKGhtYWNLZXkua2V5KCkuaXNFbXB0eSgpKSB7CisgICAgICAgIGV4
Y2VwdGlvbkNhbGxiYWNrKE9wZXJhdGlvbkVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIEtleURhdGEgcmVzdWx0OworICAgIHN3aXRjaCAoZm9ybWF0KSB7CisgICAgY2FzZSBT
dWJ0bGVDcnlwdG86OktleUZvcm1hdDo6UmF3OgorICAgICAgICByZXN1bHQgPSBobWFjS2V5LmV4
cG9ydFJhdygpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9y
bWF0OjpKd2s6IHsKKyAgICAgICAgSnNvbldlYktleSBqd2sgPSBobWFjS2V5LmV4cG9ydEp3aygp
OworICAgICAgICBzd2l0Y2ggKGhtYWNLZXkuaGFzaEFsZ29yaXRobUlkZW50aWZpZXIoKSkgewor
ICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8xOgorICAgICAgICAg
ICAgandrLmFsZyA9IFN0cmluZyhBTEcxKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yMjQ6CisgICAgICAgICAgICBqd2su
YWxnID0gU3RyaW5nKEFMRzIyNCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBD
cnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMjU2OgorICAgICAgICAgICAgandrLmFsZyA9
IFN0cmluZyhBTEcyNTYpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzM4NDoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJp
bmcoQUxHMzg0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0FsZ29y
aXRobUlkZW50aWZpZXI6OlNIQV81MTI6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFM
RzUxMik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgICAgICAgIHJlc3VsdCA9IFdURk1v
dmUoandrKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGV4
Y2VwdGlvbkNhbGxiYWNrKE5PVF9TVVBQT1JURURfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGNhbGxiYWNrKGZvcm1hdCwgV1RGTW92ZShyZXN1bHQpKTsKK30KKwogRXhjZXB0
aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtSE1BQzo6c2lnbihjb25zdCBDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5JiBrZXks
IGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJh
Y2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykKIHsKICAgICBhdXRvJiBobWFjUGFy
YW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUhtYWNQYXJhbXNEZXByZWNhdGVkPihw
YXJhbWV0ZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobUhNQUMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobUhNQUMuaAppbmRleCBjOTUyMDMzNDBmODgyZTg4M2RhMWJlODJlM2Fk
YjlkZDBkMmEzODRlLi5iYWE0ZDkxZWNlNjEyODZjNDZlMTAzZGE1MTA2OGQ4Zjc2MjA4YTIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1ITUFDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtSE1BQy5oCkBAIC00Niw2ICs0Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGdlbmVy
YXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYm
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2Fs
bGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIGZp
bmFsOwogICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRh
JiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhj
ZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNl
cHRpb25DYWxsYmFjayYmKSBmaW5hbDsKIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgd2lsbCBiZSBk
ZXByZWNhdGVkLgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNpZ24oY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9P
cGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNh
bGxiYWNrKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKaW5k
ZXggMDgxYTFiNmUzZDhkZDQxMjU5MTM0ZTQwZDhhMWY3NTNhZjY1MDUxNy4uYWUxNGQyODg0OWNk
NzEyYWVmNGNlOTI1NzU4OWExOTE4YTk4MWFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNf
UEtDUzFfdjFfNS5jcHAKQEAgLTM4LDYgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHID0gIlJTQTFfNSI7CisKIFJlZjxDcnlwdG9B
bGdvcml0aG0+IENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmNyZWF0ZSgpCiB7CiAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNSk7
CkBAIC05Miw3ICs5NCw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6
aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwKICAgICAgICAgICAgIGV4
Y2VwdGlvbkNhbGxiYWNrKERhdGFFcnJvcik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KLSAgICAgICAgaWYgKGtleS5hbGcgJiYga2V5LmFsZy52YWx1ZSgpICE9ICJSU0ExXzUiKSB7
CisgICAgICAgIGlmIChrZXkuYWxnICYmIGtleS5hbGcudmFsdWUoKSAhPSBBTEcpIHsKICAgICAg
ICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKERhdGFFcnJvcik7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KQEAgLTExMSw2ICsxMTMsMzEgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FF
U19QS0NTMV92MV81OjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LAog
ICAgIGNhbGxiYWNrKCpyZXN1bHQpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BL
Q1MxX3YxXzU6OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIFJlZlB0
cjxDcnlwdG9LZXk+JiYga2V5LCBLZXlEYXRhQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9u
Q2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaykKK3sKKyAgICBjb25zdCBhdXRvJiByc2FLZXkg
PSBkb3duY2FzdDxDcnlwdG9LZXlSU0E+KCprZXkpOworCisgICAgaWYgKCFyc2FLZXkua2V5U2l6
ZUluQml0cygpKSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE9wZXJhdGlvbkVycm9yKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEtleURhdGEgcmVzdWx0OworICAgIHN3aXRj
aCAoZm9ybWF0KSB7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7Cisg
ICAgICAgIEpzb25XZWJLZXkgandrID0gcnNhS2V5LmV4cG9ydEp3aygpOworICAgICAgICBqd2su
YWxnID0gU3RyaW5nKEFMRyk7CisgICAgICAgIHJlc3VsdCA9IFdURk1vdmUoandrKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNr
KE5PVF9TVVBQT1JURURfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbGxi
YWNrKGZvcm1hdCwgV1RGTW92ZShyZXN1bHQpKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5
cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6ZW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYga2V5LCBjb25zdCBDcnlw
dG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2Fs
bGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spCiB7CiAgICAgaWYgKCFrZXlBbGdvcml0aG1NYXRjaGVz
KGtleSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmgKaW5kZXggZWJiZTAyYTRm
ZGYwNDY4ZmFjMTQ5NmU3Yjk0OTcyY2ZkY2Y2NjA1NC4uYzliYzQwNTM4NWQ4ZjljNDYyZGY4Mzk0
ZGQ2MjA0ZDY4YjRkZjZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaApA
QCAtNDYsNiArNDYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBz
dGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0
YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSBmaW5hbDsKICAgICB2b2lk
IGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6
OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNr
JiYpIGZpbmFsOworICAgIHZvaWQgZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBS
ZWZQdHI8Q3J5cHRvS2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
JikgZmluYWw7CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgYmUgZGVwcmVjYXRlZC4KICAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBlbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0
YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykgZmlu
YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHAKaW5kZXggZjA0MjJk
NmUxOWEyOGU2N2Q5YjkzMzUwMzBjNzk0MDQwY2Q0OGIwZi4uMWM1MzY2N2Y0YjFhNzVmZWM5Y2Vm
YzY2ZTU2YjFmYjc5YjQ5MjFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92
MV81LmNwcApAQCAtNDAsNiArNDAsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgQUxHMSA9ICJSUzEiOworc3RhdGljIGNvbnN0IGNoYXIqIGNv
bnN0IEFMRzIyNCA9ICJSUzIyNCI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0g
IlJTMjU2IjsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEczODQgPSAiUlMzODQiOworc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzUxMiA9ICJSUzUxMiI7CisKIFJlZjxDcnlwdG9BbGdv
cml0aG0+IENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpjcmVhdGUoKQogewogICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81KTsK
QEAgLTEwMywxOSArMTA5LDE5IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3Yx
XzU6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsCiAgICAgICAgIGJv
b2wgaXNNYXRjaGVkID0gZmFsc2U7CiAgICAgICAgIHN3aXRjaCAocnNhUGFyYW1ldGVycy5oYXNo
SWRlbnRpZmllcikgewogICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNI
QV8xOgotICAgICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgp
ID09ICJSUzEiOworICAgICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52
YWx1ZSgpID09IEFMRzE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMjI0OgotICAgICAgICAgICAgaXNNYXRjaGVkID0gIWtl
eS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09ICJSUzIyNCI7CisgICAgICAgICAgICBpc01hdGNo
ZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxHMjI0OwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzI1NjoK
LSAgICAgICAgICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUoKSA9PSAi
UlMyNTYiOworICAgICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1
ZSgpID09IEFMRzI1NjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0Fs
Z29yaXRobUlkZW50aWZpZXI6OlNIQV8zODQ6Ci0gICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5
LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gIlJTMzg0IjsKKyAgICAgICAgICAgIGlzTWF0Y2hl
ZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUoKSA9PSBBTEczODQ7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfNTEyOgot
ICAgICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09ICJS
UzUxMiI7CisgICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVl
KCkgPT0gQUxHNTEyOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAg
ICAgICAgICBicmVhazsKQEAgLTE0MCw2ICsxNDYsNDkgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1S
U0FTU0FfUEtDUzFfdjFfNTo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1h
dCwKICAgICBjYWxsYmFjaygqcmVzdWx0KTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1SU0FT
U0FfUEtDUzFfdjFfNTo6ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwg
UmVmUHRyPENyeXB0b0tleT4mJiBrZXksIEtleURhdGFDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNl
cHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIGNvbnN0IGF1dG8mIHJz
YUtleSA9IGRvd25jYXN0PENyeXB0b0tleVJTQT4oKmtleSk7CisKKyAgICBpZiAoIXJzYUtleS5r
ZXlTaXplSW5CaXRzKCkpIHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJy
b3IpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgS2V5RGF0YSByZXN1bHQ7CisgICAg
c3dpdGNoIChmb3JtYXQpIHsKKyAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpKd2s6
IHsKKyAgICAgICAgSnNvbldlYktleSBqd2sgPSByc2FLZXkuZXhwb3J0SndrKCk7CisgICAgICAg
IHN3aXRjaCAocnNhS2V5Lmhhc2hBbGdvcml0aG1JZGVudGlmaWVyKCkpIHsKKyAgICAgICAgY2Fz
ZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMToKKyAgICAgICAgICAgIGp3ay5hbGcg
PSBTdHJpbmcoQUxHMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMjI0OgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmlu
ZyhBTEcyMjQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllcjo6U0hBXzI1NjoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxH
MjU2KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXI6OlNIQV8zODQ6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzM4NCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyOjpTSEFfNTEyOgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEc1MTIpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgfQorICAgICAgICByZXN1bHQgPSBXVEZNb3ZlKGp3ayk7Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKyAgICBkZWZhdWx0OgorICAgICAgICBleGNlcHRpb25DYWxs
YmFjayhOT1RfU1VQUE9SVEVEX0VSUik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBj
YWxsYmFjayhmb3JtYXQsIFdURk1vdmUocmVzdWx0KSk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+
IENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpzaWduKGNvbnN0IENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXkmIGtl
eSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJhY2smJiBjYWxs
YmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKQogewogICAgIGF1dG8mIHJzYVNT
QVBhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1Sc2FTc2FQYXJhbXNEZXByZWNh
dGVkPihwYXJhbWV0ZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmggYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5oCmlu
ZGV4IGVlOTc1YjJhYzE4MmFmNjM1MjMzYmI2MjBhYTA0Y2JlY2VlMGVjYzkuLjJmOTIyMWMxMDI1
NTljY2VkNzkzY2U2MmIzODBhZTc0NTdjNjg5MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NB
X1BLQ1MxX3YxXzUuaApAQCAtNDYsNiArNDYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBnZW5l
cmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4m
JiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNh
bGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSBm
aW5hbDsKICAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0
YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4
Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOworICAgIHZvaWQgZXhwb3J0S2V5KFN1YnRsZUNyeXB0
bzo6S2V5Rm9ybWF0LCBSZWZQdHI8Q3J5cHRvS2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwgRXhj
ZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzaWduKGNv
bnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5
JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxs
YmFjayYmIGZhaWx1cmVDYWxsYmFjaykgZmluYWw7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gdmVy
aWZ5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5
cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgc2lnbmF0dXJlLCBjb25zdCBDcnlw
dG9PcGVyYXRpb25EYXRhJiwgQm9vbENhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVD
YWxsYmFjaykgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUC5jcHAKaW5kZXggNWEwZDMzNGVhMDg2
Nzg0N2U3Mzk4OTU1YTE3MDA0NWY4ZDQzYWEwYi4uNGQ2MmJiMGJhNWUxOTQ3ZWZmMjVlODRjZTU0
MDc0YzkzNDJmZDQ2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmNwcApAQCAtNDAsNiArNDAsMTIg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxH
MSA9ICJSU0EtT0FFUCI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjI0ID0gIlJTQS1P
QUVQLTIyNCI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIlJTQS1PQUVQLTI1
NiI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMzg0ID0gIlJTQS1PQUVQLTM4NCI7Citz
dGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHNTEyID0gIlJTQS1PQUVQLTUxMiI7CisKIFJlZjxD
cnlwdG9BbGdvcml0aG0+IENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpjcmVhdGUoKQogewogICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IENyeXB0b0FsZ29yaXRobVJTQV9PQUVQKTsKQEAgLTExNCwx
OSArMTIwLDE5IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmltcG9ydEtleShTdWJ0
bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmCiAgICAgICAgIGJvb2wgaXNNYXRj
aGVkID0gZmFsc2U7CiAgICAgICAgIHN3aXRjaCAocnNhUGFyYW1ldGVycy5oYXNoSWRlbnRpZmll
cikgewogICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8xOgotICAg
ICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09ICJSU0Et
T0FFUCI7CisgICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVl
KCkgPT0gQUxHMTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0FsZ29y
aXRobUlkZW50aWZpZXI6OlNIQV8yMjQ6Ci0gICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFs
ZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gIlJTQS1PQUVQLTIyNCI7CisgICAgICAgICAgICBpc01h
dGNoZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxHMjI0OwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzI1
NjoKLSAgICAgICAgICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUoKSA9
PSAiUlNBLU9BRVAtMjU2IjsKKyAgICAgICAgICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtl
eS5hbGcudmFsdWUoKSA9PSBBTEcyNTY7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMzg0OgotICAgICAgICAgICAgaXNNYXRj
aGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09ICJSU0EtT0FFUC0zODQiOworICAg
ICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09IEFMRzM4
NDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXI6OlNIQV81MTI6Ci0gICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8fCBrZXku
YWxnLnZhbHVlKCkgPT0gIlJTQS1PQUVQLTUxMiI7CisgICAgICAgICAgICBpc01hdGNoZWQgPSAh
a2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxHNTEyOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKQEAgLTE1MSw2ICsxNTcsNDkg
QEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6
S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYKICAgICBjYWxsYmFjaygqcmVzdWx0KTsKIH0KIAor
dm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5
Rm9ybWF0IGZvcm1hdCwgUmVmUHRyPENyeXB0b0tleT4mJiBrZXksIEtleURhdGFDYWxsYmFjayYm
IGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAg
IGNvbnN0IGF1dG8mIHJzYUtleSA9IGRvd25jYXN0PENyeXB0b0tleVJTQT4oKmtleSk7CisKKyAg
ICBpZiAoIXJzYUtleS5rZXlTaXplSW5CaXRzKCkpIHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJh
Y2soT3BlcmF0aW9uRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgS2V5RGF0
YSByZXN1bHQ7CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICBjYXNlIFN1YnRsZUNyeXB0bzo6
S2V5Rm9ybWF0OjpKd2s6IHsKKyAgICAgICAgSnNvbldlYktleSBqd2sgPSByc2FLZXkuZXhwb3J0
SndrKCk7CisgICAgICAgIHN3aXRjaCAocnNhS2V5Lmhhc2hBbGdvcml0aG1JZGVudGlmaWVyKCkp
IHsKKyAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMToKKyAgICAg
ICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMjI0OgorICAgICAgICAgICAg
andrLmFsZyA9IFN0cmluZyhBTEcyMjQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzI1NjoKKyAgICAgICAgICAgIGp3ay5h
bGcgPSBTdHJpbmcoQUxHMjU2KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8zODQ6CisgICAgICAgICAgICBqd2suYWxnID0g
U3RyaW5nKEFMRzM4NCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpTSEFfNTEyOgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmlu
ZyhBTEc1MTIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQorICAgICAgICByZXN1bHQgPSBX
VEZNb3ZlKGp3ayk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBkZWZhdWx0OgorICAgICAg
ICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9SVEVEX0VSUik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBjYWxsYmFjayhmb3JtYXQsIFdURk1vdmUocmVzdWx0KSk7Cit9CisKIEV4
Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjplbmNyeXB0KGNvbnN0IENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlw
dG9LZXkmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJh
Y2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKQogewogICAgIGF1
dG8mIHJzYU9BRVBQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhT2FlcFBh
cmFtc0RlcHJlY2F0ZWQ+KHBhcmFtZXRlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuaCBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmgKaW5kZXggMDQ4
ZDMzYWM3ZjNkNDJjOWY1OGMxZjJkZDY3OTMwZjVjYzIwOGQ0My4uYjVmZDU4MmQ0ZDg2ZjQzYjA2
ZjdkMjA5OTJmMTRjNzg5ZDUzZGMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUC5oCkBAIC00Niw2ICs0
Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJh
Y2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIGZpbmFsOwogICAgIHZvaWQgaW1wb3J0S2V5
KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0
cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7
CisgICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZlB0cjxDcnlw
dG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsK
IAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGVuY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRp
b25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNr
KSBmaW5hbDsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBkZWNyeXB0KGNvbnN0IENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRv
T3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVD
YWxsYmFjaykgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9LZXlBRVMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVT
LmNwcAppbmRleCBmNTRjZTE0YzgwODM0ZjkwZGJjYTI3NmYxNzc0YmNjM2UyY2QwZjRmLi4zZWJi
NDJkN2UxNjNmOWMyYWQ3NDc4ODQyMTRmODNmMGI5ZGJjZjhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHAKQEAgLTEwNCw2ICsxMDQsMTYgQEAgUmVmUHRy
PENyeXB0b0tleUFFUz4gQ3J5cHRvS2V5QUVTOjppbXBvcnRKd2soQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciBhbGdvcml0aG0KICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENyeXB0b0tleUFFUyhh
bGdvcml0aG0sIFdURk1vdmUob2N0ZXRTZXF1ZW5jZSksIGV4dHJhY3RhYmxlLCB1c2FnZXMpKTsK
IH0KIAorSnNvbldlYktleSBDcnlwdG9LZXlBRVM6OmV4cG9ydEp3aygpIGNvbnN0Cit7CisgICAg
SnNvbldlYktleSByZXN1bHQ7CisgICAgcmVzdWx0Lmt0eSA9ICJvY3QiOworICAgIHJlc3VsdC5r
ID0gYmFzZTY0VVJMRW5jb2RlKG1fa2V5KTsKKyAgICByZXN1bHQua2V5X29wcyA9IHVzYWdlcygp
OworICAgIHJlc3VsdC5leHQgPSBleHRyYWN0YWJsZSgpOworICAgIHJldHVybiByZXN1bHQ7Cit9
CisKIHN0ZDo6dW5pcXVlX3B0cjxLZXlBbGdvcml0aG0+IENyeXB0b0tleUFFUzo6YnVpbGRBbGdv
cml0aG0oKSBjb25zdAogewogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEFlc0tleUFsZ29y
aXRobT4oQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnk6OnNpbmdsZXRvbigpLm5hbWUoYWxnb3JpdGht
SWRlbnRpZmllcigpKSwgbV9rZXkuc2l6ZSgpICogOCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleUFFUy5oCmluZGV4IGVjNzAyNzU4ZjVjZjFiOGJmMzBhOGM4NTBkMDk3NGNh
YjUyMjYxMDguLjVhZmEwNjBkYTY4YjE5MTk4MzdmMjI4MjJmNzIzZTk2YjYwNjg1NWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5oCkBAIC03Myw3ICs3MywxMSBA
QCBwdWJsaWM6CiAKICAgICBDcnlwdG9LZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIENyeXB0b0tleUNsYXNzOjpBRVM7IH0KIAorICAgIHNpemVfdCBsZW5ndGgoKSBjb25z
dCB7IHJldHVybiBtX2tleS5zaXplKCkgKiA4OyB9CisKICAgICBjb25zdCBWZWN0b3I8dWludDhf
dD4mIGtleSgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5OyB9CisgICAgVmVjdG9yPHVpbnQ4X3Q+IGV4
cG9ydFJhdygpIGNvbnN0IHsgcmV0dXJuIG1fa2V5OyB9CisgICAgSnNvbldlYktleSBleHBvcnRK
d2soKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBDcnlwdG9LZXlBRVMoQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllciwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlQml0bWFwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9rZXlzL0NyeXB0b0tleUhNQUMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5
cHRvS2V5SE1BQy5jcHAKaW5kZXggZDIzOTk1NDA4MjlkNDQ5MDM2Mjk1N2MxMDk1MzU0MGIyMTll
M2ExNi4uZTE1OGQ1ZGI3Y2UwMjIyYjgyYWY4N2Q1ODcxZDhmNGNhMDZhZDgxNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAKQEAgLTExNCw2ICsxMTQs
MTYgQEAgUmVmUHRyPENyeXB0b0tleUhNQUM+IENyeXB0b0tleUhNQUM6OmltcG9ydEp3ayhzaXpl
X3QgbGVuZ3RoQml0cywgQ3J5cHRvQWxnb3JpdGgKICAgICByZXR1cm4gQ3J5cHRvS2V5SE1BQzo6
aW1wb3J0UmF3KGxlbmd0aEJpdHMsIGhhc2gsIFdURk1vdmUob2N0ZXRTZXF1ZW5jZSksIGV4dHJh
Y3RhYmxlLCB1c2FnZXMpOwogfQogCitKc29uV2ViS2V5IENyeXB0b0tleUhNQUM6OmV4cG9ydEp3
aygpIGNvbnN0Cit7CisgICAgSnNvbldlYktleSByZXN1bHQ7CisgICAgcmVzdWx0Lmt0eSA9ICJv
Y3QiOworICAgIHJlc3VsdC5rID0gYmFzZTY0VVJMRW5jb2RlKG1fa2V5KTsKKyAgICByZXN1bHQu
a2V5X29wcyA9IHVzYWdlcygpOworICAgIHJlc3VsdC5leHQgPSBleHRyYWN0YWJsZSgpOworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKIHN0ZDo6dW5pcXVlX3B0cjxLZXlBbGdvcml0aG0+IENyeXB0
b0tleUhNQUM6OmJ1aWxkQWxnb3JpdGhtKCkgY29uc3QKIHsKICAgICByZXR1cm4gc3RkOjptYWtl
X3VuaXF1ZTxIbWFjS2V5QWxnb3JpdGhtPihDcnlwdG9BbGdvcml0aG1SZWdpc3RyeTo6c2luZ2xl
dG9uKCkubmFtZShhbGdvcml0aG1JZGVudGlmaWVyKCkpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2tleXMvQ3J5cHRvS2V5SE1BQy5oCmluZGV4IGU3YWVmOTgxZDdjMjQ2ODJmMGJmZDQyZTAwYTBi
MGRmZjVmYThhNjIuLjNjMzc2ODU1NzQwYjU5ZjA1NGIwMTU3NWUzZjhjYzFmZTQ4ODE4ODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmgKQEAgLTcwLDYgKzcw
LDggQEAgcHVibGljOgogICAgIENyeXB0b0tleUNsYXNzIGtleUNsYXNzKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gQ3J5cHRvS2V5Q2xhc3M6OkhNQUM7IH0KIAogICAgIGNvbnN0IFZlY3Rvcjx1aW50
OF90PiYga2V5KCkgY29uc3QgeyByZXR1cm4gbV9rZXk7IH0KKyAgICBWZWN0b3I8dWludDhfdD4g
ZXhwb3J0UmF3KCkgY29uc3QgeyByZXR1cm4gbV9rZXk7IH0KKyAgICBKc29uV2ViS2V5IGV4cG9y
dEp3aygpIGNvbnN0OwogCiAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoQWxnb3Jp
dGhtSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faGFzaDsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmNwcAppbmRleCAwZDE0MzgxZjViMjE5NjVlNDk2
ZTY4OGNlODE0ZjA3NzAxNThiNDg2Li41OTRjNmFmOTBlMmNhODNhMWZmZmQ1MDJlODM3YTc3ZDcz
MDRhMzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlS
U0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAK
QEAgLTEwOCw2ICsxMDgsNDYgQEAgUmVmUHRyPENyeXB0b0tleVJTQT4gQ3J5cHRvS2V5UlNBOjpp
bXBvcnRKd2soQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0KICAgICByZXR1cm4g
Q3J5cHRvS2V5UlNBOjpjcmVhdGUoYWxnb3JpdGhtLCBoYXNoLnZhbHVlT3IoQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllcjo6U0hBXzEpLCAhIWhhc2gsICpwcml2YXRlS2V5Q29tcG9uZW50cywgZXh0
cmFjdGFibGUsIHVzYWdlcyk7CiB9CiAKK0pzb25XZWJLZXkgQ3J5cHRvS2V5UlNBOjpleHBvcnRK
d2soKSBjb25zdAoreworICAgIEpzb25XZWJLZXkgcmVzdWx0OworICAgIHJlc3VsdC5rdHkgPSAi
UlNBIjsKKyAgICByZXN1bHQua2V5X29wcyA9IHVzYWdlcygpOworICAgIHJlc3VsdC5leHQgPSBl
eHRyYWN0YWJsZSgpOworCisgICAgYXV0byBrZXlEYXRhID0gZXhwb3J0RGF0YSgpOworICAgIGNv
bnN0IGF1dG8mIHJzYUtleURhdGEgPSBkb3duY2FzdDxDcnlwdG9LZXlEYXRhUlNBQ29tcG9uZW50
cz4oKmtleURhdGEpOworICAgIC8vIHB1YmxpYyBrZXkKKyAgICByZXN1bHQubiA9IGJhc2U2NFVS
TEVuY29kZShyc2FLZXlEYXRhLm1vZHVsdXMoKSk7CisgICAgcmVzdWx0LmUgPSBiYXNlNjRVUkxF
bmNvZGUocnNhS2V5RGF0YS5leHBvbmVudCgpKTsKKyAgICBpZiAocnNhS2V5RGF0YS50eXBlKCkg
PT0gQ3J5cHRvS2V5RGF0YVJTQUNvbXBvbmVudHM6OlR5cGU6OlB1YmxpYykKKyAgICAgICAgcmV0
dXJuIHJlc3VsdDsKKworICAgIC8vIHByaXZhdGUga2V5CisgICAgcmVzdWx0LmQgPSBiYXNlNjRV
UkxFbmNvZGUocnNhS2V5RGF0YS5wcml2YXRlRXhwb25lbnQoKSk7CisgICAgaWYgKCFyc2FLZXlE
YXRhLmhhc0FkZGl0aW9uYWxQcml2YXRlS2V5UGFyYW1ldGVycygpKQorICAgICAgICByZXR1cm4g
cmVzdWx0OworCisgICAgcmVzdWx0LnAgPSBiYXNlNjRVUkxFbmNvZGUocnNhS2V5RGF0YS5maXJz
dFByaW1lSW5mbygpLnByaW1lRmFjdG9yKTsKKyAgICByZXN1bHQucSA9IGJhc2U2NFVSTEVuY29k
ZShyc2FLZXlEYXRhLnNlY29uZFByaW1lSW5mbygpLnByaW1lRmFjdG9yKTsKKyAgICByZXN1bHQu
ZHAgPSBiYXNlNjRVUkxFbmNvZGUocnNhS2V5RGF0YS5maXJzdFByaW1lSW5mbygpLmZhY3RvckNS
VEV4cG9uZW50KTsKKyAgICByZXN1bHQuZHEgPSBiYXNlNjRVUkxFbmNvZGUocnNhS2V5RGF0YS5z
ZWNvbmRQcmltZUluZm8oKS5mYWN0b3JDUlRFeHBvbmVudCk7CisgICAgcmVzdWx0LnFpID0gYmFz
ZTY0VVJMRW5jb2RlKHJzYUtleURhdGEuc2Vjb25kUHJpbWVJbmZvKCkuZmFjdG9yQ1JUQ29lZmZp
Y2llbnQpOworICAgIGlmIChyc2FLZXlEYXRhLm90aGVyUHJpbWVJbmZvcygpLmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKworICAgIFZlY3RvcjxSc2FPdGhlclByaW1lc0luZm8+
IG90aDsKKyAgICBmb3IgKGF1dG8gaW5mbyA6IHJzYUtleURhdGEub3RoZXJQcmltZUluZm9zKCkp
IHsKKyAgICAgICAgUnNhT3RoZXJQcmltZXNJbmZvIG90aGVySW5mbzsKKyAgICAgICAgb3RoZXJJ
bmZvLnIgPSBiYXNlNjRVUkxFbmNvZGUoaW5mby5wcmltZUZhY3Rvcik7CisgICAgICAgIG90aGVy
SW5mby5kID0gYmFzZTY0VVJMRW5jb2RlKGluZm8uZmFjdG9yQ1JURXhwb25lbnQpOworICAgICAg
ICBvdGhlckluZm8udCA9IGJhc2U2NFVSTEVuY29kZShpbmZvLmZhY3RvckNSVENvZWZmaWNpZW50
KTsKKyAgICAgICAgb3RoLmFwcGVuZChXVEZNb3ZlKG90aGVySW5mbykpOworICAgIH0KKyAgICBy
ZXN1bHQub3RoID0gV1RGTW92ZShvdGgpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaAppbmRleCA4Y2E3ZGQ2OTY3ZDlh
YzEwMGZhZmY3NWNmYmYwMGE4MTg1MzA5ZDMzLi5lYWJkYTJiNzViNDk1YjU0ODQ2ZWI4ZGEwZmQ4
NWY0ZDliZWRhNTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9LZXlSU0EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0Eu
aApAQCAtMTAzLDYgKzEwMyw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPENyeXB0b0tl
eVJTQT4gaW1wb3J0SndrKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIE9wdGlvbmFsPENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXI+IGhhc2gsIEpzb25XZWJLZXkmJiwgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXApOwogCiAgICAgUGxhdGZvcm1SU0FLZXkgcGxhdGZvcm1L
ZXkoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtS2V5OyB9CisgICAgSnNvbldlYktleSBleHBv
cnRKd2soKSBjb25zdDsKKworICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaEFsZ29y
aXRobUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2hhc2g7IH0KIAogcHJpdmF0ZToKICAg
ICBDcnlwdG9LZXlSU0EoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllciBoYXNoLCBib29sIGhhc0hhc2gsIENyeXB0b0tleVR5cGUsIFBsYXRmb3JtUlNB
S2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWYx
MWZlZWZjZTc2ODdkMmI2NzI2NmVkZjQxNmFiODZmMzAyZDExMS4uNjk0OGQyZjA3MzI4NmI3Njgw
N2Q4NTM0ODM5ODQ0NGYxZjZlMTcyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDE2LTExLTE0
ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIFN1
YnRsZUNyeXB0bzo6ZXhwb3J0S2V5IHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3BlYworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NzIyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yOTI1MTc0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBCZXNpZGVzIGFkZGluZyB0ZXN0IGNhc2VzIGZvciBTdWJ0bGVDcnlw
dG86OmV4cG9ydEtleSwgdGhpcyBwYXRjaCBhbHNvIGNvcnJlY3RzIGEgdHlwbzoKKyAgICAgICAg
aG1hYy1pbXBvcnQtbWFsZm9ybWVkLXBhcmFtZXRlcnMqID0+IGhtYWMtaW1wb3J0LWtleS1tYWxm
b3JtZWQtcGFyYW1ldGVycyouCisKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5n
dGgtMTI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5l
cmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTkyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0
aC0xOTIuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3Ro
LTI1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJh
dGUtZXhwb3J0LWtleS1yYXctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
c3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3J5cHRvL3N1YnRsZS9hZXMtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWV4cG9ydC1r
ZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLWxlbmd0aC0xMjguaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRs
ZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLWxlbmd0aC0xOTIuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9h
ZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLWxlbmd0aC0yNTYuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMt
a3ctZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRl
cnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2V4cG9ydC1r
ZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9obWFjLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZXhwb3J0LWtleS1tYWxmb3JtZWQt
cGFyYW1ldGVycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGExLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3
ay1zaGEyMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2ht
YWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMjU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUv
aG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEzODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
Mzg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay1zaGE1MTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0
ZS1leHBvcnQtcmF3LWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2ht
YWMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LW1hbGZvcm1lZC1wYXJh
bWV0ZXJzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0
LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sLgorICAg
ICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1leHBvcnQt
a2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9z
dWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stc2hhMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1v
YWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
c2hhMjI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay1zaGEzODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTUxMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQt
a2V5LWp3ay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNh
ZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLXNoYTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3Jz
YXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEuaHRtbDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1zaGEyMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
c3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2stc2hhMjU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBr
Y3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay1zaGEzODQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRs
ZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9z
dWJ0bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LXJh
dy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1nZW5l
cmF0ZS1leHBvcnQta2V5LWp3ay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0
by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1r
ZXktcmF3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2suanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMv
YWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3LmpzOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
d29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suanM6
IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvaG1hYy1n
ZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5qczogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtl
cnMvc3VidGxlL3Jlc291cmNlcy9yc2EtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suanM6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0
bGUvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWw6IEFkZGVkLgorCiAyMDE2LTExLTE0
ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBIYW5kbGUgZmlsdGVy
KCkgaW1hZ2UgdHlwZSBpbiBuZXcgQ1NTIFBhcnNlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggODE2OGFiMWM3ZmVjNjBlZTI5MzA2NWIxMTA5YmU1Y2EyNjAyZDFjNy4uNzk3NGNj
YmE5ZWQyMDk1M2IzMzg4YWMwMzE5NGJiMDczMjE1ODY0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMTEtMTQgIEppZXdlbiBUYW4gIDxqaWV3
ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgU3VidGxlQ3J5cHRvOjpleHBvcnRL
ZXkgdG8gbWF0Y2ggdGhlIGxhdGVzdCBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ3MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjUx
NzQwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorCiAyMDE2LTExLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IFdQVCB0ZW1w
bGF0ZWQgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNi
Yy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5n
dGgtMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOWVlNmY3OTVkOTAzMzRhMmMzNDA1M2Nm
YTYzN2YzMzdmOGZkOGNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3QgZXhwb3J0aW5nIGEgMTI4IGJpdHMgQUVTLUNCQyBr
ZXkgd2l0aCBKV0sgZm9ybWF0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5l
cmF0aW5nIGEga2V5Li4uCitFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5Lmt0eSBpcyAnb2N0
JworUEFTUyBrZXkua2V5X29wcyBpcyBbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXkn
LCAnd3JhcEtleSddCitQQVNTIGtleS5hbGcgaXMgJ0ExMjhDQkMnCitQQVNTIGtleS5leHQgaXMg
dHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMTYKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2stbGVuZ3RoLTEyOC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Y2ViOTBl
Njk1YjBiMzQ0ZGQxNTg4MDA1ZGFiNTk4MWViMDhjYjllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxl
bmd0aC0xMjguaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDEyOCBi
aXRzIEFFUy1DQkMga2V5IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXku
Li4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2JjIiwgbGVuZ3Ro
OiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAidW53cmFwS2V5Iiwg
IndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIGEg
a2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXkp
OworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICBz
aG91bGRCZSgia2V5Lmt0eSIsICInb2N0JyIpOworICAgIHNob3VsZEJlKCJrZXkua2V5X29wcyIs
ICJbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddIik7CisgICAg
c2hvdWxkQmUoImtleS5hbGciLCAiJ0ExMjhDQkMnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQi
LCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5n
dGgiLCAiMTYiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
Y2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxl
bmd0aC0xOTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljYjJjYWEwNTc5OTE5YmJkMzU3NDIz
ZjE5NWFhNTYxYTA0Mzc0YTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSAxOTIgYml0cyBBRVMtQ0JD
IGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dl
bmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdv
Y3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtl
eScsICd3cmFwS2V5J10KK1BBU1Mga2V5LmFsZyBpcyAnQTE5MkNCQycKK1BBU1Mga2V5LmV4dCBp
cyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAyNAorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5
LWp3ay1sZW5ndGgtMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2OTk3
Mjk4ZTViYmIxMzMxMDYyNWMwODRlZDY5MmUwMWUwOGRiYzYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
bGVuZ3RoLTE5Mi5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMTky
IGJpdHMgQUVTLUNCQyBrZXkgd2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtl
eS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jYmMiLCBsZW5n
dGg6IDE5Mn0sIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCIsICJ1bndyYXBLZXki
LCAid3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcg
YSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtl
eSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAg
IHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3Bz
IiwgIlsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAg
ICBzaG91bGRCZSgia2V5LmFsZyIsICInQTE5MkNCQyciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4
dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxl
bmd0aCIsICIyNCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
bGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUzNTQ5NjNkNDA5ODgxNmU0MjIx
OWEyZTZjYWJkOTVhMzllNmNjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUZXN0IGV4cG9ydGluZyBhIDI1NiBiaXRzIEFFUy1D
QkMga2V5IHdpdGggSldLIGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
R2VuZXJhdGluZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkgaXMg
J29jdCcKK1BBU1Mga2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFw
S2V5JywgJ3dyYXBLZXknXQorUEFTUyBrZXkuYWxnIGlzICdBMjU2Q0JDJworUEFTUyBrZXkuZXh0
IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIGlzIDMyCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLWxlbmd0aC0yNTYuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNi
Yy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4
NjIwYTA2ZDRmMTFiMWMxYzIyNzYxZWYyMTQyNGNlMGYxNDUwYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3
ay1sZW5ndGgtMjU2Lmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYSAy
NTYgYml0cyBBRVMtQ0JDIGtleSB3aXRoIEpXSyBmb3JtYXQiKTsKKworanNUZXN0SXNBc3luYyA9
IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEg
a2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxl
bmd0aDogMjU2fSwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0IiwgInVud3JhcEtl
eSIsICJ3cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGlu
ZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwg
a2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisg
ICAgc2hvdWxkQmUoImtleS5rdHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgia2V5LmtleV9v
cHMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOwor
ICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidBMjU2Q0JDJyIpOworICAgIHNob3VsZEJlKCJrZXku
ZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRl
TGVuZ3RoIiwgIjMyIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiNzA4ODdmOTc0Zjc2Njk2MjlkNzRjNmRjOWQ2M2UwMDg3MGRjNTkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1yYXctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3Qg
ZXhwb3J0aW5nIGFuIEFFUy1DQkMga2V5IHdpdGggcmF3IGZvcm1hdAorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5Li4u
CitQQVNTIGtleS5ieXRlTGVuZ3RoIGlzIDE2CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMWE0MWRjYmEwMDc5ZTUwNzY3MTFhN2NmM2Q0NjE0MmFiNTNjNjY4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9y
dC1rZXktcmF3Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYW4gQUVT
LUNCQyBrZXkgd2l0aCByYXcgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2
YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOwor
Y3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6IDEyOH0s
IGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCIsICJ1bndyYXBLZXkiLCAid3JhcEtl
eSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4i
KTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGtleSk7Cit9KS50
aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKyAgICBzaG91bGRCZSgi
a2V5LmJ5dGVMZW5ndGgiLCAiMTYiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3Nj
cmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJh
bWV0ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTg4MDliMzU2MTc4NmNhZmIzNDM0N2U5
ODhiNDU3NDNiM2Q5MjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGVzdCBleHBvcnRpbmcgYW4gQUVTIGtleSB3aXRoIG1hbGZvcm1lZCBw
YXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNyeXB0by5z
dWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwga2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1
cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBw
b3J0ZWQuCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIsIGtleSkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhl
IGFsZ29yaXRobSBpcyBub3Qgc3VwcG9ydGVkLgorUEFTUyBjcnlwdG8uc3VidGxlLmV4cG9ydEtl
eSgic3BraSIsIGtleSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAo
RE9NIEV4Y2VwdGlvbiA5KTogVGhlIGFsZ29yaXRobSBpcyBub3Qgc3VwcG9ydGVkLgorUEFTUyBj
cnlwdG8uc3VidGxlLmV4cG9ydEtleSgicGtjczgiLCBrZXkpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggTm90U3VwcG9ydGVkRXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBhbGdvcml0aG0gaXMg
bm90IHN1cHBvcnRlZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1leHBv
cnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmEwYzcxODlmMDI3ZDM4MGNjNDMwMDFiYmIzNjIwN2NjMGY3ZTA0ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBh
cmFtZXRlcnMuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhbiBBRVMg
a2V5IHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7
CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXko
e25hbWU6ICJhZXMtY2JjIiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0Iiwg
ImVuY3J5cHQiLCAidW53cmFwS2V5IiwgIndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3JtYXQuCisgICAg
c2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgic3BraSIsIGtleSknKTsKKyAg
ICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIsIGtleSknKTsK
KworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3Iiwg
bGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiLCAid3JhcEtleSJdKTsKK30p
LnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgLy8gTm90
IHN1cHBvcnQgZm9ybWF0LgorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRL
ZXkoInNwa2kiLCBrZXkpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9y
dEtleSgicGtjczgiLCBrZXkpJywgZmluaXNoSlNUZXN0KTsgLy8gRklYTUU6IERvZXNuJ3QgZmVl
bCByaWdodCB0byBhZGQgdGhlIGZpbmlzaEpTVGVzdCBoZXJlLgorfSk7Cis8L3NjcmlwdD4KKwor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1s
ZW5ndGgtMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZWM3NWNhNmZmNGZkODNmYWFiMDdl
OGE4NWZkM2QzNGM0NjA0MTBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSAxMjggYml0cyBBRVMtS1cg
a2V5IHdpdGggSldLIGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2Vu
ZXJhdGluZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkgaXMgJ29j
dCcKK1BBU1Mga2V5LmtleV9vcHMgaXMgWyd1bndyYXBLZXknLCAnd3JhcEtleSddCitQQVNTIGtl
eS5hbGcgaXMgJ0ExMjhLVycKK1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5w
YXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAxNgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxl
bmd0aC0xMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDg4MzY5NmQ2OTBkNDIzNmQzZmQ2NDkzYjQxM2Mz
MjNhNTIyYzBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sCkBAIC0wLDAgKzEs
MzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMTI4IGJpdHMgQUVTLUtXIGtleSB3aXRoIEpXSyBm
b3JtYXQiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRy
dWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVy
YXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJ1bndy
YXBLZXkiLCAid3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBv
cnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3
ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsK
KworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5r
ZXlfb3BzIiwgIlsndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJrZXku
YWxnIiwgIidBMTI4S1cnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAg
IHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMTYiKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTkyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41ZDU4YTQ2NjhjNjEwZThiMTdjMGQzOWViNTUzNTAzMDc5MmExMWMz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NiBAQAorVGVzdCBleHBvcnRpbmcgYSAxOTIgYml0cyBBRVMtS1cga2V5IHdpdGggSldLIGZvcm1h
dAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgor
RXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkgaXMgJ29jdCcKK1BBU1Mga2V5LmtleV9v
cHMgaXMgWyd1bndyYXBLZXknLCAnd3JhcEtleSddCitQQVNTIGtleS5hbGcgaXMgJ0ExOTJLVycK
K1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxl
bmd0aCBpcyAyNAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTIuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hOTE5MzZiNTlhYzEzZTIxMjBlOWFhZTlkYTdiNDcxMzk1OTRlNWY1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhw
b3J0aW5nIGEgMTkyIGJpdHMgQUVTLUtXIGtleSB3aXRoIEpXSyBmb3JtYXQiKTsKKworanNUZXN0
SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5l
cmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVz
LWt3IiwgbGVuZ3RoOiAxOTJ9LCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiLCAid3JhcEtleSJd
KS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsK
KyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVu
KGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJr
ZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsndW53cmFw
S2V5JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidBMTkyS1cnIik7
CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRV
UkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMjQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgp
OworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3Ro
LTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5l
cmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MzBmMDc1NzllYzEzYTk4ZDg2MzgyM2ZkYmM4NTNkZmY3ZDcxYTZjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBleHBvcnRp
bmcgYSAyNTYgYml0cyBBRVMtS1cga2V5IHdpdGggSldLIGZvcm1hdAorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5Li4u
CitQQVNTIGtleS5rdHkgaXMgJ29jdCcKK1BBU1Mga2V5LmtleV9vcHMgaXMgWyd1bndyYXBLZXkn
LCAnd3JhcEtleSddCitQQVNTIGtleS5hbGcgaXMgJ0EyNTZLVycKK1BBU1Mga2V5LmV4dCBpcyB0
cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAzMgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LWxlbmd0aC0yNTYuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTI3MmE0MGNk
ZGQ4NzllY2ZkMTBjODEzZTQ3ZTBjZjllYzAyMjI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3Ro
LTI1Ni5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMjU2IGJpdHMg
QUVTLUtXIGtleSB3aXRoIEpXSyBmb3JtYXQiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7
CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWt3IiwgbGVuZ3RoOiAyNTZ9
LCBleHRyYWN0YWJsZSwgWyJ1bndyYXBLZXkiLCAid3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKGtl
eSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRv
LnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkg
eworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7
CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsndW53cmFwS2V5JywgJ3dyYXBLZXknXSIp
OworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidBMjU2S1cnIik7CisgICAgc2hvdWxkQmUoImtl
eS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5
dGVMZW5ndGgiLCAiMzIiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4K
KworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmUwMmVmOGYxOWEyYzk0M2ExYjQ4NzYyZWFmZTBlMjM0NDQ0ZDlhYTgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5l
cmF0ZS1leHBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBl
eHBvcnRpbmcgYW4gQUVTLUtXIGtleSB3aXRoIHJhdyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgor
UEFTUyBrZXkuYnl0ZUxlbmd0aCBpcyAzMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjFlNzZkZTQ4NmVhNzU3MDIwYzk0YWI0MzgzYjViZGZjNzQxYThiOTUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQtcmF3
LWtleS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGFuIEFFUy1LVyBr
ZXkgd2l0aCByYXcgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0
cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRv
LnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMjU2fSwgZXh0cmFj
dGFibGUsIFsidW53cmFwS2V5IiwgIndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAg
ICBkZWJ1ZygiRXhwb3J0aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUu
ZXhwb3J0S2V5KCJyYXciLCBrZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBr
ZXkgPSByZXN1bHQ7CisgICAgc2hvdWxkQmUoImtleS5ieXRlTGVuZ3RoIiwgIjMyIik7CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZXhwb3J0LWtleS1tYWxmb3JtZWQt
cGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2V4cG9y
dC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwYmM1
M2RhOTI5YjkxZDBmNjM2YTZiMDVkMmJmMjI2MzRjYmIwY2YKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3QgZXhwb3J0aW5nIGEga2V5IHdpdGgg
bWFsZm9ybWVkIHBhcmFtZXRlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5
KDEpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIDEpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIENyeXB0b0tleS4KK1BBU1MgY3J5cHRvLnN1YnRs
ZS5leHBvcnRLZXkoInJhdyIsIHRydWUpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBJbnZhbGlkIENyeXB0b0tleS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIs
IG51bGwpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIENyeXB0b0tl
eS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIHVuZGVmaW5lZCkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IEludmFsaWQgQ3J5cHRvS2V5LgorUEFTUyBjcnlw
dG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgU3ltYm9sKCkpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBJbnZhbGlkIENyeXB0b0tleS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBv
cnRLZXkoInJhdyIsIHsgfSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IEludmFs
aWQgQ3J5cHRvS2V5LgorUEFTUyBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgImZvbyIp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIENyeXB0b0tleS4KK1BB
U1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGZha2VkS2V5KSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogSW52YWxpZCBDcnlwdG9LZXkuCitQQVNTIGNyeXB0by5zdWJ0
bGUuZXhwb3J0S2V5KCJyYXciLCBrZXkpIHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52YWxpZEFj
Y2Vzc0Vycm9yIChET00gRXhjZXB0aW9uIDE1KTogVGhlIENyeXB0b0tleSBpcyBub25leHRyYWN0
YWJsZS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9y
bWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZXhwb3J0LWtl
eS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1YmRlNWFjYjg5ZWE5YzRi
NDJiMzUyZmY0ODVlYWIzZjJhZWZmNzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApAQCAtMCww
ICsxLDUwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0
ZXJzIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgbm9uRXh0cmFjdGFibGUgPSBm
YWxzZTsKKwordmFyIGZha2VkS2V5ID0geworICAgIHR5cGU6ICJzZWNyZXQiLAorICAgIGV4dHJh
Y3RhYmxlOiB0cnVlLAorICAgIGFsZ29yaXRobToge25hbWU6ICJBRVMtQ0JDIiwgbGVuZ3RoOiAx
Mjh9LAorICAgIHVzYWdlczogWyJlbmNyeXB0IiwgImRlY3J5cHQiXQorfQorCitjcnlwdG8uc3Vi
dGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4fSwgbm9uRXh0cmFj
dGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0IiwgInVud3JhcEtleSIsICJ3cmFwS2V5Il0pLnRo
ZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgLy8gRXhwb3J0
IG5vbmV4dHJhY3RhYmxlIGtleS4KKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhw
b3J0S2V5KCJyYXciLCBrZXkpJyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCisvLyBO
b3QgZW5vdWdoIGFyZ3VtZW50cy4KK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRL
ZXkoKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgxKScpOworLy8g
V3JvbmcgQ3J5cHRvS2V5Lgorc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgi
cmF3IiwgMSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIs
IHRydWUpJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCBu
dWxsKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgdW5k
ZWZpbmVkKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwg
U3ltYm9sKCkpJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXci
LCB7IH0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCAi
Zm9vIiknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGZh
a2VkS2V5KScpOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0
ZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1leHBvcnQt
a2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGYzN2M5
YThmNDQ3NDhkMzQ3YjczZDRhMzUyOWZmOWYwNGZiODIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRl
cnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgZXhwb3J0aW5nIGFuIEhNQUMg
a2V5IHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInNwa2kiLCBrZXkpIHJlamVjdGVk
IHByb21pc2UgIHdpdGggTm90U3VwcG9ydGVkRXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBh
bGdvcml0aG0gaXMgbm90IHN1cHBvcnRlZC4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXko
InBrY3M4Iiwga2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChE
T00gRXhjZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFt
ZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1leHBvcnQta2V5LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjcxMDNkNjQ0M2I3M2MxZDliNWQ2
MmYwNTUyNGI2Y2I4ZTRjMGQ2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvaG1hYy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKQEAgLTAs
MCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYW4gSE1BQyBrZXkgd2l0aCBtYWxmb3JtZWQg
cGFyYW1ldGVycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxl
ID0gdHJ1ZTsKKworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImhtYWMiLCBoYXNo
OiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3Jt
YXQuCisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgic3BraSIsIGtl
eSknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIs
IGtleSknKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNhZTdiYmQzNjE4Nzk2NDk4YTBmYmVjNDJkNTc4ZWJmNjFhNDZkMjIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBl
eHBvcnRpbmcgYSBTSEEtMSBITUFDIGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4u
LgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsnc2lnbicsICd2
ZXJpZnknXQorUEFTUyBrZXkuYWxnIGlzICdIUzEnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFT
UyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgNjQKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1s
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LXNoYTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OGZhMDEwNDc2NjNmYjA4YmNhYzNhNTkxMmFmMzI3Nzdm
ZmNlNjZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFj
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29t
bW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
ZXN0IGV4cG9ydGluZyBhIFNIQS0xIEhNQUMga2V5IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdl
bmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJo
bWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRo
ZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtleS5r
dHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydzaWduJywgJ3Zl
cmlmeSddIik7CisgICAgc2hvdWxkQmUoImtleS5hbGciLCAiJ0hTMSciKTsKKyAgICBzaG91bGRC
ZSgia2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXku
aykuYnl0ZUxlbmd0aCIsICI2NCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1z
aGEyMjQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5Nzc2OTc5ZTI1OGMzZDA5NzQ5MDNjYTcw
YTcwZWEyMGQ5Y2QyNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE2IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0yMjQgSE1BQyBrZXkgd2l0aCBKV0sg
Zm9ybWF0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5
Li4uCitFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBrZXku
a2V5X29wcyBpcyBbJ3NpZ24nLCAndmVyaWZ5J10KK1BBU1Mga2V5LmFsZyBpcyAnSFMyMjQnCitQ
QVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5n
dGggaXMgNjQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2ht
YWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNlNzQz
N2FkZmYzODU1NjI0M2Q4YzM1NmY1ZmQyMGI1ZjgwNzcwNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEy
MjQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIFNIQS0yMjQgSE1B
QyBrZXkgd2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIg
ZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5
cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTIyNCJ9LCBl
eHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAg
IGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5l
eHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtl
eSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hv
dWxkQmUoImtleS5rZXlfb3BzIiwgIlsnc2lnbicsICd2ZXJpZnknXSIpOworICAgIHNob3VsZEJl
KCJrZXkuYWxnIiwgIidIUzIyNCciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0cnVlIik7
CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIsICI2NCIp
OworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stc2hhMjU2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk2YzY4ZDhhNWQ0NmM5MDM5YjBmOGE4NDY3ZjAwOGFlYjA4NGE2OTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUZXN0IGV4
cG9ydGluZyBhIFNIQS0yNTYgSE1BQyBrZXkgd2l0aCBKV0sgZm9ybWF0CisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5Li4uCitFeHBvcnRpbmcgYSBrZXku
Li4KK1BBU1Mga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBrZXkua2V5X29wcyBpcyBbJ3NpZ24nLCAn
dmVyaWZ5J10KK1BBU1Mga2V5LmFsZyBpcyAnSFMyNTYnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQor
UEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgNjQKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stc2hhMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDc5MjZlZmZiZTMyMDUwOTA2MDdkMWY3MWYw
MTA1M2IwMGRjOWM4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYuaHRtbApAQCAtMCwwICsxLDM3
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIFNIQS0yNTYgSE1BQyBrZXkgd2l0aCBKV0sgZm9ybWF0
Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwor
CitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtl
eSh7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTI1NiJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwg
InZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBr
ZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7
Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNo
b3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwg
Ilsnc2lnbicsICd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidIUzI1Nici
KTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2
NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIsICI2NCIpOworCisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay1zaGEzODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhYWE2MmYzMTIw
N2JiODVmMTEzNWE0ZWI2YzExNjVlYzU2ODA2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0zODQgSE1B
QyBrZXkgd2l0aCBKV0sgZm9ybWF0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitH
ZW5lcmF0aW5nIGEga2V5Li4uCitFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5Lmt0eSBpcyAn
b2N0JworUEFTUyBrZXkua2V5X29wcyBpcyBbJ3NpZ24nLCAndmVyaWZ5J10KK1BBU1Mga2V5LmFs
ZyBpcyAnSFMzODQnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uo
a2V5LmspLmJ5dGVMZW5ndGggaXMgMTI4CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI0YmU2YjVlYThhYTNlODcwNjYzZGUxNjk4N2I0MDUxODBjMTc0ZjgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMzg0Lmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRp
bmcgYSBTSEEtMzg0IEhNQUMga2V5IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcg
YSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJobWFjIiwgaGFz
aDogInNoYS0zODQifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5j
dGlvbihrZXkpIHsKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJu
IGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXkpOworfSkudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgia2V5Lmt0eSIsICIn
b2N0JyIpOworICAgIHNob3VsZEJlKCJrZXkua2V5X29wcyIsICJbJ3NpZ24nLCAndmVyaWZ5J10i
KTsKKyAgICBzaG91bGRCZSgia2V5LmFsZyIsICInSFMzODQnIik7CisgICAgc2hvdWxkQmUoImtl
eS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5
dGVMZW5ndGgiLCAiMTI4Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+
CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUx
Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTg3Mjg0MTU4NjdmMjg2YjRjNzQ5NmZkYWJhYTI5
ZWE3MmMwYWYwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
aG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTYgQEAKK1Rlc3QgZXhwb3J0aW5nIGEgU0hBLTUxMiBITUFDIGtleSB3aXRoIEpXSyBmb3Jt
YXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4K
K0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlf
b3BzIGlzIFsnc2lnbicsICd2ZXJpZnknXQorUEFTUyBrZXkuYWxnIGlzICdIUzUxMicKK1BBU1Mg
a2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBp
cyAxMjgKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhNTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjE3YWI4OTEz
ZmU0YjExYTI2Yjc0ZTMxMjE2ZTc5YTE2YjI5ZmVjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTIu
aHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIFNIQS01MTIgSE1BQyBr
ZXkgd2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0
cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRv
LnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTUxMiJ9LCBleHRy
YWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRl
YnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBv
cnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9
IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxk
QmUoImtleS5rZXlfb3BzIiwgIlsnc2lnbicsICd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJr
ZXkuYWxnIiwgIidIUzUxMiciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0cnVlIik7Cisg
ICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIsICIxMjgiKTsK
KworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4
cG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1h
Yy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2YwY2M2
NDYzNjIxODg1MzVjYzNmMGU2MzI4NDI2YWQwMTI0YmIzZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBleHBvcnRpbmcgYW4gSE1BQyBrZXkgd2l0
aCByYXcgZm9ybWF0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5n
IGEga2V5Li4uCitFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5LmJ5dGVMZW5ndGggaXMgNjQK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LXJh
dy1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBv
cnQtcmF3LWtleS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwMWE5YzA0Y2FkNTc1MmIyNDA0OTIwYTQwNTFi
NThjMDEyMjMzOTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2htYWMtZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29t
bW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
ZXN0IGV4cG9ydGluZyBhbiBITUFDIGtleSB3aXRoIHJhdyBmb3JtYXQiKTsKKworanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0
aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiaG1hYyIs
IGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKS50aGVuKGZ1
bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1
cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9u
KHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKyAgICBzaG91bGRCZSgia2V5LmJ5dGVMZW5n
dGgiLCAiNjQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFj
LWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5YmFjMWJhYWViNzdkN2RjNDA2N2Q5OTk3MWM4NjVkYTVi
MTkwYzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMt
aW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwy
MyBAQAorVGVzdCBpbXBvcnRpbmcgYW4gSE1BQyBrZXkgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVy
cworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgicmF3IiwgYXNjaWlUb1VpbnQ4QXJyYXkoIiIpLCB7bmFtZTogImhtYWMiLCBoYXNo
OiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRv
IGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1
YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0x
IiwgbGVuZ3RoOiAyNTd9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlk
ZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlw
dG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCB7bmFtZTogImhtYWMiLCBoYXNoOiAi
c2hhLTEiLCBsZW5ndGg6IDI0OH0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJl
amVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBw
cm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCitQQVNT
IGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAiUlNBIn0sIHtuYW1lOiAiaG1h
YyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJv
dmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCJ9LCB7bmFtZTogImhtYWMi
LCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3Zp
ZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5
cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzIy
NCJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIs
ICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRp
b24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVp
cmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3Qi
LCBrOiBrLCBhbGc6ICJIUzI1NiJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTIyNCJ9LCBl
eHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERh
dGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9u
IGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtl
eSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMzg0In0sIHtuYW1lOiAiaG1hYyIs
IGhhc2g6ICJzaGEtMjU2In0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVj
dGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92
aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCitQQVNTIGNy
eXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFM1
MTIifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0zODQifSwgZXh0cmFjdGFibGUsIFsic2ln
biIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNl
cHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJl
cXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJv
Y3QiLCBrOiBrLCBhbGc6ICJIUzEifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS01MTIifSwg
ZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBE
YXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlv
biBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRL
ZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiAiISEhIiwgYWxnOiAiZm9vIn0sIHtuYW1lOiAiaG1h
YyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJv
dmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhT
MSIsIHVzZTogImVuYyJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFi
bGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3Ig
KERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5v
dCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIs
IHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzEiLCBrZXlfb3BzOiBbInNpZ24iXX0sIHtuYW1l
OiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJd
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERh
dGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgor
UEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFs
ZzogIkhTMSIsIGV4dDogZmFsc2V9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0
cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRh
RXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBk
b2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2htYWMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kMmUyYjUwY2RhYjM0ZWU4ZjgzYjc3NjBmMzRmYTMwOTgyYjBjMWU0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1r
ZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGlt
cG9ydGluZyBhbiBITUFDIGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7CisKK3ZhciBy
YXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmdKQjU1V0w0NnRKU0xH
dDciKTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK3ZhciBrID0gIllXSmpaR1ZtWjJneE1q
TTBOVFkzT0EiOworCisvLyB3cm9uZyBsZW5ndGgKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRs
ZS5pbXBvcnRLZXkoInJhdyIsIGFzY2lpVG9VaW50OEFycmF5KCIiKSwge25hbWU6ICJobWFjIiwg
aGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7CitzaG91
bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksIHtuYW1lOiAi
aG1hYyIsIGhhc2g6ICJzaGEtMSIsIGxlbmd0aDogMjU3fSwgZXh0cmFjdGFibGUsIFsic2lnbiIs
ICJ2ZXJpZnkiXSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJh
dyIsIHJhd0tleSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIiwgbGVuZ3RoOiAyNDh9LCBl
eHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOworLy8gSndrOiBXcm9uZyBrdHkKK3No
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJSU0EifSwg
e25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVy
aWZ5Il0pJyk7CisvLyBKd2s6IG1pc3Npbmcgaworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hh
LTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKKy8vIEp3azogd3Jvbmcg
aGFzaCBhbmQgYWxnCitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2si
LCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMyMjQifSwge25hbWU6ICJobWFjIiwgaGFzaDog
InNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7CitzaG91bGRSZWpl
Y3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxn
OiAiSFMyNTYifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0yMjQifSwgZXh0cmFjdGFibGUs
IFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBv
cnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzM4NCJ9LCB7bmFtZTogImht
YWMiLCBoYXNoOiAic2hhLTI1NiJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScp
Oworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9j
dCIsIGs6IGssIGFsZzogIkhTNTEyIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMzg0In0s
IGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIn0s
IHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtNTEyIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAi
dmVyaWZ5Il0pJyk7CisvLyBKd2s6IHdyb25nIGsgZm9ybWF0CitzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogIiEhISIsIGFsZzogImZv
byJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIs
ICJ2ZXJpZnkiXSknKTsKKy8vIEp3azogd3JvbmcgdXNlCitzaG91bGRSZWplY3QoJ2NyeXB0by5z
dWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwgdXNl
OiAiZW5jIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJz
aWduIiwgInZlcmlmeSJdKScpOworLy8gSndrOiB3cm9uZyBrZXlfb3BzCitzaG91bGRSZWplY3Qo
J2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAi
SFMxIiwga2V5X29wczogWyJzaWduIl19LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwg
ZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKKy8vIEp3azogd3JvbmcgZXh0Citz
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0Iiwg
azogaywgYWxnOiAiSFMxIiwgZXh0OiBmYWxzZX0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEt
MSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOworPC9zY3JpcHQ+CisKKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1h
Yy1pbXBvcnQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5YmFjMWJhYWViNzdkN2RjNDA2N2Q5
OTk3MWM4NjVkYTViMTkwYzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1tYWxmb3JtZWQt
cGFyYW1ldGVycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1U
ZXN0IGltcG9ydGluZyBhbiBITUFDIGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJyYXciLCBhc2NpaVRvVWludDhBcnJheSgiIiksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEt
MSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3Bl
cmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgicmF3IiwgcmF3S2V5LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEiLCBsZW5n
dGg6IDI1N30sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21p
c2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBh
biBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSIs
IGxlbmd0aDogMjQ4fSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVk
IHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KLVBBU1MgY3J5cHRv
LnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJSU0EifSwge25hbWU6ICJobWFjIiwgaGFz
aDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0
byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5z
dWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0In0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6
ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8g
YW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgotUEFTUyBjcnlwdG8uc3Vi
dGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMjI0In0sIHtu
YW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlm
eSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6
IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRz
LgotUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGss
IGFsZzogIkhTMjU2In0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMjI0In0sIGV4dHJhY3Rh
YmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9y
IChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBu
b3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2si
LCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMzODQifSwge25hbWU6ICJobWFjIiwgaGFzaDog
InNoYS0yNTYifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRv
IGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KLVBBU1MgY3J5cHRvLnN1
YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzUxMiJ9LCB7
bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTM4NCJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZl
cmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAz
MCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1l
bnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6
IGssIGFsZzogIkhTMSJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTUxMiJ9LCBleHRyYWN0
YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJv
ciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMg
bm90IG1lZXQgcmVxdWlyZW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandr
Iiwge2t0eTogIm9jdCIsIGs6ICIhISEiLCBhbGc6ICJmb28ifSwge25hbWU6ICJobWFjIiwgaGFz
aDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0
byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5z
dWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwgdXNl
OiAiZW5jIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJz
aWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4
Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQg
cmVxdWlyZW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTog
Im9jdCIsIGs6IGssIGFsZzogIkhTMSIsIGtleV9vcHM6IFsic2lnbiJdfSwge25hbWU6ICJobWFj
IiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVj
dGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92
aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNy
eXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMx
IiwgZXh0OiBmYWxzZX0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJs
ZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAo
RE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90
IG1lZXQgcmVxdWlyZW1lbnRzLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1h
Yy1pbXBvcnQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvaG1hYy1pbXBvcnQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZDJlMmI1MGNkYWIzNGVlOGY4M2I3NzYwZjM0ZmEzMDk4MmIwYzFl
NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KLQotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0IGltcG9ydGluZyBhbiBITUFD
IGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7Ci0KLXZhciByYXdLZXkgPSBhc2NpaVRv
VWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmdKQjU1V0w0NnRKU0xHdDciKTsKLXZhciBleHRy
YWN0YWJsZSA9IHRydWU7Ci0KLXZhciBrID0gIllXSmpaR1ZtWjJneE1qTTBOVFkzT0EiOwotCi0v
LyB3cm9uZyBsZW5ndGgKLXNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJh
dyIsIGFzY2lpVG9VaW50OEFycmF5KCIiKSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0s
IGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7Ci1zaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJz
aGEtMSIsIGxlbmd0aDogMjU3fSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsK
LXNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwge25h
bWU6ICJobWFjIiwgaGFzaDogInNoYS0xIiwgbGVuZ3RoOiAyNDh9LCBleHRyYWN0YWJsZSwgWyJz
aWduIiwgInZlcmlmeSJdKScpOwotLy8gSndrOiBXcm9uZyBrdHkKLXNob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJSU0EifSwge25hbWU6ICJobWFjIiwg
aGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7Ci0vLyBK
d2s6IG1pc3Npbmcgawotc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandr
Iiwge2t0eTogIm9jdCJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFi
bGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKLS8vIEp3azogd3JvbmcgaGFzaCBhbmQgYWxnCi1z
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0Iiwg
azogaywgYWxnOiAiSFMyMjQifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJh
Y3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7Ci1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMyNTYifSwge25h
bWU6ICJobWFjIiwgaGFzaDogInNoYS0yMjQifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJp
ZnkiXSknKTsKLXNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtr
dHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzM4NCJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hh
LTI1NiJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOwotc2hvdWxkUmVqZWN0
KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzog
IkhTNTEyIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMzg0In0sIGV4dHJhY3RhYmxlLCBb
InNpZ24iLCAidmVyaWZ5Il0pJyk7Ci1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIn0sIHtuYW1lOiAiaG1hYyIs
IGhhc2g6ICJzaGEtNTEyIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7Ci0v
LyBKd2s6IHdyb25nIGsgZm9ybWF0Ci1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogIiEhISIsIGFsZzogImZvbyJ9LCB7bmFtZTogImht
YWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsK
LS8vIEp3azogd3JvbmcgdXNlCi1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwgdXNlOiAiZW5jIn0sIHtuYW1l
OiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJd
KScpOwotLy8gSndrOiB3cm9uZyBrZXlfb3BzCi1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwga2V5X29wczog
WyJzaWduIl19LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsi
c2lnbiIsICJ2ZXJpZnkiXSknKTsKLS8vIEp3azogd3JvbmcgZXh0Ci1zaG91bGRSZWplY3QoJ2Ny
eXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMx
IiwgZXh0OiBmYWxzZX0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJs
ZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWV4cG9ydC1rZXktbWFs
Zm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9yc2EtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2UzNDY2MWVhZGE3OWQyOGY2ZjUzYmQxYTc4ZmMyYjE2ZGI0ODhjMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWV4cG9ydC1rZXktbWFsZm9y
bWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgZXhwb3J0
aW5nIGEgUlNBIGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwgcHVi
bGljS2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhj
ZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIGNyeXB0by5z
dWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIsIHB1YmxpY0tleSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIGFsZ29yaXRobSBpcyBu
b3Qgc3VwcG9ydGVkLgorUEFTUyBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgcHVibGlj
S2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0
aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9yc2EtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1s
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2EtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFy
YW1ldGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkY2Q4MTQ0YTMyYzBhOGMzNDQ2M2YzOWM1M2Y4YjBm
YmNiNzk5YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Jz
YS1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKQEAgLTAsMCArMSwzOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bigiVGVzdCBleHBvcnRpbmcgYSBSU0Ega2V5IHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMiKTsK
KworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBhbGdvcml0aG1LZXlHZW4gPSB7CisgICAg
bmFtZTogIlJTQS1PQUVQIiwKKyAgICAvLyBSc2FLZXlHZW5QYXJhbXMKKyAgICBtb2R1bHVzTGVu
Z3RoOiAyMDQ4LAorICAgIHB1YmxpY0V4cG9uZW50OiBuZXcgVWludDhBcnJheShbMHgwMSwgMHgw
MCwgMHgwMV0pLCAgLy8gRXF1aXZhbGVudCB0byA2NTUzNworICAgIGhhc2g6ICJzaGEtMSIKK307
Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFs
Z29yaXRobUtleUdlbiwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0IiwgIndyYXBL
ZXkiLCAidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5
ID0gcmVzdWx0LnB1YmxpY0tleTsKKworICAgIC8vIEN1cnJlbnRseSBub3Qgc3VwcG9ydCBmb3Jt
YXQuCisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgic3BraSIsIHB1
YmxpY0tleSknKTsKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJw
a2NzOCIsIHB1YmxpY0tleSknKTsKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3JtYXQuCisgICAgc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgcHVibGljS2V5KScsIGZp
bmlzaEpTVGVzdCk7IC8vIEZJWE1FOiBEb2Vzbid0IGZlZWwgcmlnaHQgdG8gYWRkIHRoZSBmaW5p
c2hKU1Rlc3QgaGVyZS4KK30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1zaGExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
cnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNmU2NGE2N2Y4MjA3YjJkMzcxYTI3NWMxZmI3M2RlZDc3NmY2ZGFmOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNSBAQAorVGVzdCBleHBv
cnRpbmcgYSBTSEEtMSBSU0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4KK0V4cG9y
dGluZyB0aGUgcHVibGljIGtleS4uLgorUEFTUyBwdWJsaWNLZXkua3R5IGlzICdSU0EnCitQQVNT
IHB1YmxpY0tleS5rZXlfb3BzIGlzIFsnZW5jcnlwdCcsICd3cmFwS2V5J10KK1BBU1MgcHVibGlj
S2V5LmFsZyBpcyAnUlNBLU9BRVAnCitQQVNTIHB1YmxpY0tleS5leHQgaXMgdHJ1ZQorUEFTUyBC
YXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5ndGggaXMgMjU2CitQQVNTIGJ5dGVz
VG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkgaXMgJzAxMDAwMScKK0V4
cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXkuLi4KK1BBU1MgcHJpdmF0ZUtleS5rdHkgaXMgJ1JTQScK
K1BBU1MgcHJpdmF0ZUtleS5rZXlfb3BzIGlzIFsnZGVjcnlwdCcsICd1bndyYXBLZXknXQorUEFT
UyBwcml2YXRlS2V5LmFsZyBpcyAnUlNBLU9BRVAnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRy
dWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYK
K1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMg
JzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
MS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1zaGExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzE3Mjk0YzgzMzdiY2E5YTFhYmVkYTM2
MjU4ZWNlMTAxMWIyOTQ0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1sCkBAIC0wLDAg
KzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTEgUlNBLU9BRVAga2V5IHBhaXIgd2l0
aCBKV0sgZm9ybWF0LiIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGFsZ29yaXRo
bUtleUdlbiA9IHsKKyAgICBuYW1lOiAiUlNBLU9BRVAiLAorICAgIC8vIFJzYUtleUdlblBhcmFt
cworICAgIG1vZHVsdXNMZW5ndGg6IDIwNDgsCisgICAgcHVibGljRXhwb25lbnQ6IG5ldyBVaW50
OEFycmF5KFsweDAxLCAweDAwLCAweDAxXSksICAvLyBFcXVpdmFsZW50IHRvIDY1NTM3CisgICAg
aGFzaDogInNoYS0xIgorfTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK3ZhciBrZXlQYWly
OworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkgcGFpci4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5l
cmF0ZUtleShhbGdvcml0aG1LZXlHZW4sIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiLCAiZW5jcnlw
dCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
IGtleVBhaXIgPSByZXN1bHQ7CisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHVibGljIGtleS4u
LiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5w
dWJsaWNLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwdWJsaWNLZXkgPSBy
ZXN1bHQ7CisKKyAgICBzaG91bGRCZSgicHVibGljS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNo
b3VsZEJlKCJwdWJsaWNLZXkua2V5X29wcyIsICJbJ2VuY3J5cHQnLCAnd3JhcEtleSddIik7Cisg
ICAgc2hvdWxkQmUoInB1YmxpY0tleS5hbGciLCAiJ1JTQS1PQUVQJyIpOworICAgIHNob3VsZEJl
KCJwdWJsaWNLZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNl
KHB1YmxpY0tleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1Rv
SGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIiwgIicwMTAwMDEnIik7CisK
KyAgICBkZWJ1ZygiRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLiIpOworICAgIHJldHVybiBj
cnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5wcml2YXRlS2V5KTsKK30pLnRo
ZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHJpdmF0ZUtleSA9IHJlc3VsdDsKKworICAgIHNo
b3VsZEJlKCJwcml2YXRlS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJlKCJwcml2YXRl
S2V5LmtleV9vcHMiLCAiWydkZWNyeXB0JywgJ3Vud3JhcEtleSddIik7CisgICAgc2hvdWxkQmUo
InByaXZhdGVLZXkuYWxnIiwgIidSU0EtT0FFUCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtl
eS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtl
eS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5n
KEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3Vs
ZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9
KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLXNoYTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA3NjczNTJk
MjkwZWY5ZjliMDg5NjJkNjQzMjJmN2Y2NGVmODBjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
MjI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0y
MjQgUlNBLU9BRVAga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1
YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXku
a2V5X29wcyBpcyBbJ2VuY3J5cHQnLCAnd3JhcEtleSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMg
J1JTQS1PQUVQLTIyNCcKK1BBU1MgcHVibGljS2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVS
TC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0
cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSBpcyAnMDEwMDAxJworRXhwb3J0aW5n
IHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBwcml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBw
cml2YXRlS2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtleSddCitQQVNTIHByaXZh
dGVLZXkuYWxnIGlzICdSU0EtT0FFUC0yMjQnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUK
K1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BB
U1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAx
MDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLXNoYTIyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNWY1OGI4OGViYjMyMzk4YzFjZmE3
YzE1YTkzMzYzZGQxZjViYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sCkBAIC0w
LDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTIyNCBSU0EtT0FFUCBrZXkgcGFp
ciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxn
b3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0EtT0FFUCIsCisgICAgLy8gUnNhS2V5R2Vu
UGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3
IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcK
KyAgICBoYXNoOiAic2hhLTIyNCIKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCit2YXIg
a2V5UGFpcjsKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4iKTsKK2NyeXB0by5zdWJ0
bGUuZ2VuZXJhdGVLZXkoYWxnb3JpdGhtS2V5R2VuLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0Iiwg
ImVuY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1Ymxp
YyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtl
eVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGlj
S2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsK
KyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWydlbmNyeXB0JywgJ3dyYXBLZXkn
XSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSU0EtT0FFUC0yMjQnIik7Cisg
ICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNl
NjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxk
QmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAx
MDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7Cisg
ICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVL
ZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0
OworCisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxk
QmUoInByaXZhdGVLZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnLCAndW53cmFwS2V5J10iKTsKKyAg
ICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGciLCAiJ1JTQS1PQUVQLTIyNCciKTsKKyAgICBzaG91
bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwu
cGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJi
eXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAx
JyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Jz
YS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDQ4MGE0ODA0MzU0ZWYxYzY5MjZmN2M2ZGY0ZDFkOGY0MmI1ZWYxNwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4
cG9ydGluZyBhIFNIQS0yNTYgUlNBLU9BRVAga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitF
eHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJwor
UEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ2VuY3J5cHQnLCAnd3JhcEtleSddCitQQVNTIHB1
YmxpY0tleS5hbGcgaXMgJ1JTQS1PQUVQLTI1NicKK1BBU1MgcHVibGljS2V5LmV4dCBpcyB0cnVl
CitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BB
U1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSBpcyAnMDEw
MDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBwcml2YXRlS2V5Lmt0eSBp
cyAnUlNBJworUEFTUyBwcml2YXRlS2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtl
eSddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlzICdSU0EtT0FFUC0yNTYnCitQQVNTIHByaXZhdGVL
ZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxl
bmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0
ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stc2hhMjU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVw
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0MmQ3YzY5
MzM4ODk2YjExNDhlMzUzMjcxYTYxNWIyZGNmZTkxNzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNo
YTI1Ni5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTI1NiBS
U0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0EtT0FFUCIsCisg
ICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJs
aWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2
YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTI1NiIKK307Cit2YXIgZXh0cmFjdGFibGUg
PSB0cnVlOworCit2YXIga2V5UGFpcjsKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4i
KTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoYWxnb3JpdGhtS2V5R2VuLCBleHRyYWN0YWJs
ZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihm
dW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBv
cnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBv
cnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0
KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5r
dHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWydlbmNy
eXB0JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSU0Et
T0FFUC0yNTYnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQiLCAidHJ1ZSIpOworICAg
IHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2
Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1Ymxp
Y0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHByaXZh
dGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBr
ZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwcml2
YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua3R5IiwgIidSU0En
Iik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnLCAndW53
cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGciLCAiJ1JTQS1PQUVQLTI1
NiciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3Vs
ZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOwor
ICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5
LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90
aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBhN2FjODlmZjA3ODg2NDE3NzRiMmNkMmM4YzBkMWJlM2Qy
ZTU0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9h
ZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0zODQgUlNBLU9BRVAga2V5IHBhaXIgd2l0aCBK
V0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBh
IGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5
Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ2VuY3J5cHQnLCAnd3Jh
cEtleSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTQS1PQUVQLTM4NCcKK1BBU1MgcHVibGlj
S2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxl
bmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGlj
S2V5LmUpKSBpcyAnMDEwMDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBw
cml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwcml2YXRlS2V5LmtleV9vcHMgaXMgWydkZWNy
eXB0JywgJ3Vud3JhcEtleSddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlzICdSU0EtT0FFUC0zODQn
CitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZh
dGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRV
UkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGgg
aXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI0ZTEzYWIwOGFhNjE4NDhiYjQ4NjAyMGM3YTE1N2JmOWExYjZkNjIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLXNoYTM4NC5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0
aW5nIGEgU0hBLTM4NCBSU0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6
ICJSU0EtT0FFUCIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDog
MjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4
MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTM4NCIKK307Cit2
YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCit2YXIga2V5UGFpcjsKK2RlYnVnKCJHZW5lcmF0aW5n
IGEga2V5IHBhaXIuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoYWxnb3JpdGhtS2V5
R2VuLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAid3JhcEtleSIsICJ1bndy
YXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0Owor
ICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5
cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4o
ZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxk
QmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5Lmtl
eV9vcHMiLCAiWydlbmNyeXB0JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNL
ZXkuYWxnIiwgIidSU0EtT0FFUC0zODQnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQi
LCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5
dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0
VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBv
cnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhw
b3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1
bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZhdGVL
ZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIsICJb
J2RlY3J5cHQnLCAndW53cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGci
LCAiJ1JTQS1PQUVQLTM4NCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1
ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVu
Z3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5w
YXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVk
KCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0
PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLXNoYTUxMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU0MWVhNzAwMTlkYmMwZGI3NmZi
YTZiMWNlNjlkN2ZjNTkxODBhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS01MTIgUlNBLU9BRVAg
a2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4K
K1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBb
J2VuY3J5cHQnLCAnd3JhcEtleSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTQS1PQUVQLTUx
MicKK1BBU1MgcHVibGljS2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJs
aWNLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRV
UkwucGFyc2UocHVibGljS2V5LmUpKSBpcyAnMDEwMDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRl
IGtleS4uLgorUEFTUyBwcml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwcml2YXRlS2V5Lmtl
eV9vcHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtleSddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlz
ICdSU0EtT0FFUC01MTInCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0
VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hl
eFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1Mg
cHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLmh0bWwgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNo
YTUxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwOTk1ZDU4YzhmNGU0NTIzODgxNThmZjVhMjdkMzY3ZDI2
NDE2YTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1v
YWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sCkBAIC0wLDAgKzEsNjAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTUxMiBSU0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBm
b3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2Vu
ID0geworICAgIG5hbWU6ICJSU0EtT0FFUCIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAg
bW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXko
WzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAi
c2hhLTUxMiIKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCit2YXIga2V5UGFpcjsKK2Rl
YnVnKCJHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVL
ZXkoYWxnb3JpdGhtS2V5R2VuLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAi
d3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQ
YWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsK
KyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGlj
S2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0
OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRC
ZSgicHVibGljS2V5LmtleV9vcHMiLCAiWydlbmNyeXB0JywgJ3dyYXBLZXknXSIpOworICAgIHNo
b3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSU0EtT0FFUC01MTInIik7CisgICAgc2hvdWxkQmUo
InB1YmxpY0tleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uo
cHVibGljS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9I
ZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKwor
ICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNy
eXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhl
bihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hv
dWxkQmUoInByaXZhdGVLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVL
ZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnLCAndW53cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgi
cHJpdmF0ZUtleS5hbGciLCAiJ1JTQS1PQUVQLTUxMiciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0
ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0
ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3Ry
aW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNo
b3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7
Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12
MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDQ1
YzgwNmRiMzE3MzVlNjk0NzQ0MWY0ZjIwYmUzYzY1YmMyNmY1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBh
IFJTQUVTLVBLQ1MxLXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcg
dGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJs
aWNLZXkua2V5X29wcyBpcyBbJ2VuY3J5cHQnXQorUEFTUyBwdWJsaWNLZXkuYWxnIGlzICdSU0Ex
XzUnCitQQVNTIHB1YmxpY0tleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2UocHVi
bGljS2V5Lm4pLmJ5dGVMZW5ndGggaXMgMjU2CitQQVNTIGJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0
VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkgaXMgJzAxMDAwMScKK0V4cG9ydGluZyB0aGUgcHJpdmF0
ZSBrZXkuLi4KK1BBU1MgcHJpdmF0ZUtleS5rdHkgaXMgJ1JTQScKK1BBU1MgcHJpdmF0ZUtleS5r
ZXlfb3BzIGlzIFsnZGVjcnlwdCddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlzICdSU0ExXzUnCitQ
QVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVL
ZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwu
cGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMg
dW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEt
djFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmY4YWVmYjI5MDg3MzU0MTFjNjY2OWUxNzA1OTQ4NWY0OGFlYzk1NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5l
cmF0ZS1leHBvcnQta2V5LWp3ay5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0
aW5nIGEgUlNBRVMtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6
ICJSU0FFUy1QS0NTMS12MV81IiwKKyAgICAvLyBSc2FLZXlHZW5QYXJhbXMKKyAgICBtb2R1bHVz
TGVuZ3RoOiAyMDQ4LAorICAgIHB1YmxpY0V4cG9uZW50OiBuZXcgVWludDhBcnJheShbMHgwMSwg
MHgwMCwgMHgwMV0pLCAgLy8gRXF1aXZhbGVudCB0byA2NTUzNworfTsKK3ZhciBleHRyYWN0YWJs
ZSA9IHRydWU7CisKK3ZhciBrZXlQYWlyOworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkgcGFpci4u
LiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShhbGdvcml0aG1LZXlHZW4sIGV4dHJhY3Rh
YmxlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
IGtleVBhaXIgPSByZXN1bHQ7CisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHVibGljIGtleS4u
LiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5w
dWJsaWNLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwdWJsaWNLZXkgPSBy
ZXN1bHQ7CisKKyAgICBzaG91bGRCZSgicHVibGljS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNo
b3VsZEJlKCJwdWJsaWNLZXkua2V5X29wcyIsICJbJ2VuY3J5cHQnXSIpOworICAgIHNob3VsZEJl
KCJwdWJsaWNLZXkuYWxnIiwgIidSU0ExXzUnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5l
eHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4p
LmJ5dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFz
ZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJF
eHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUu
ZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZh
dGVLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIs
ICJbJ2RlY3J5cHQnXSIpOworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5LmFsZyIsICInUlNBMV81
JyIpOworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxk
QmUoIkJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7Cisg
ICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXku
ZSkpIiwgIicwMTAwMDEnIik7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoInByaXZhdGVLZXkub3Ro
Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3Mx
LXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLXNoYTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2NTJhZTBlZDdiOGFlY2FhMDk3YWNi
MTgxNWNlMTI3NGE5NzA4ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjUgQEAKK1Rlc3QgZXhwb3J0aW5nIGEgU0hBLTEgUlNBU1NB
LVBLQ1MxLXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1
YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXku
a2V5X29wcyBpcyBbJ3ZlcmlmeSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTMScKK1BBU1Mg
cHVibGljS2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubiku
Ynl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2Uo
cHVibGljS2V5LmUpKSBpcyAnMDEwMDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgor
UEFTUyBwcml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwcml2YXRlS2V5LmtleV9vcHMgaXMg
WydzaWduJ10KK1BBU1MgcHJpdmF0ZUtleS5hbGcgaXMgJ1JTMScKK1BBU1MgcHJpdmF0ZUtleS5l
eHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3Ro
IGlzIDI1NgorUEFTUyBieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5
LmUpKSBpcyAnMDEwMDAxJworUEFTUyBwcml2YXRlS2V5Lm90aCBpcyB1bmRlZmluZWQuCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay1zaGExLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNz
YS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNWNjYjVhYzUxYzVkOWNkNDdjNjhiMDU2NmU1MWQ0YTk2ZDY1ODI5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1zaGExLmh0bWwKQEAgLTAsMCArMSw2MCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBv
cnRpbmcgYSBTSEEtMSBSU0FTU0EtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQu
Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0gewor
ICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisg
ICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJy
YXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNo
OiAic2hhLTEiLAorfTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK3ZhciBrZXlQYWlyOwor
ZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkgcGFpci4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0
ZUtleShhbGdvcml0aG1LZXlHZW4sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRo
ZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5UGFpciA9IHJlc3VsdDsKKyAgICBkZWJ1Zygi
RXhwb3J0aW5nIHRoZSBwdWJsaWMga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUu
ZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnB1YmxpY0tleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgIHB1YmxpY0tleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJwdWJsaWNL
ZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rZXlfb3BzIiwgIlsn
dmVyaWZ5J10iKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmFsZyIsICInUlMxJyIpOworICAg
IHNob3VsZEJlKCJwdWJsaWNLZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0
VVJMLnBhcnNlKHB1YmxpY0tleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJl
KCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIiwgIicwMTAw
MDEnIik7CisKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLiIpOworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5wcml2YXRlS2V5
KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHJpdmF0ZUtleSA9IHJlc3VsdDsK
KworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJl
KCJwcml2YXRlS2V5LmtleV9vcHMiLCAiWydzaWduJ10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0
ZUtleS5hbGciLCAiJ1JTMSciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1
ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVu
Z3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5w
YXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVk
KCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0
PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ2
MTg4YjYyZTg5MWFhMTNiMzBhYmVlZGMxODViMjRmMTY3MjY3YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMjI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4
cG9ydGluZyBhIFNIQS0yMjQgUlNBU1NBLVBLQ1MxLXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9y
bWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBw
YWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBp
cyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ3ZlcmlmeSddCitQQVNTIHB1Ymxp
Y0tleS5hbGcgaXMgJ1JTMjI0JworUEFTUyBwdWJsaWNLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFz
ZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5uKS5ieXRlTGVuZ3RoIGlzIDI1NgorUEFTUyBieXRlc1Rv
SGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIGlzICcwMTAwMDEnCitFeHBv
cnRpbmcgdGhlIHByaXZhdGUga2V5Li4uCitQQVNTIHByaXZhdGVLZXkua3R5IGlzICdSU0EnCitQ
QVNTIHByaXZhdGVLZXkua2V5X29wcyBpcyBbJ3NpZ24nXQorUEFTUyBwcml2YXRlS2V5LmFsZyBp
cyAnUlMyMjQnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBh
cnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmlu
ZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0
ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
cnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLXNoYTIyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzZjMzYmVjYTZiNGQ2ZWMxNGI1MzNl
NmZiZjM1ZWU0ZmRkNzY5YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5o
dG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTIyNCBSU0FTU0Et
UEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMg
PSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0FTU0EtUEtD
UzEtdjFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0
OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFd
KSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTIyNCIsCit9OwordmFy
IGV4dHJhY3RhYmxlID0gdHJ1ZTsKKwordmFyIGtleVBhaXI7CitkZWJ1ZygiR2VuZXJhdGluZyBh
IGtleSBwYWlyLi4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdl
biwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1Ymxp
YyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtl
eVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGlj
S2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsK
KyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWyd2ZXJpZnknXSIpOworICAgIHNo
b3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSUzIyNCciKTsKKyAgICBzaG91bGRCZSgicHVibGlj
S2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShwdWJsaWNL
ZXkubikuYnl0ZUxlbmd0aCIsICIyNTYiKTsKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmlu
ZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSIsICInMDEwMDAxJyIpOworCisgICAgZGVi
dWcoIkV4cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1
YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHJpdmF0ZUtleSk7Cit9KS50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgeworICAgIHByaXZhdGVLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgi
cHJpdmF0ZUtleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rZXlf
b3BzIiwgIlsnc2lnbiddIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkuYWxnIiwgIidSUzIy
NCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3Vs
ZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOwor
ICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5
LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90
aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2Nz
MS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2NlOGU4MjcxN2NkZjQ3OTgy
NWU0ZWFkYzc5ZDdjYTEzNWUyOTQ1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
MjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0y
NTYgUlNBU1NBLVBLQ1MxLXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRp
bmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBw
dWJsaWNLZXkua2V5X29wcyBpcyBbJ3ZlcmlmeSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JT
MjU2JworUEFTUyBwdWJsaWNLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHB1
YmxpY0tleS5uKS5ieXRlTGVuZ3RoIGlzIDI1NgorUEFTUyBieXRlc1RvSGV4U3RyaW5nKEJhc2U2
NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIGlzICcwMTAwMDEnCitFeHBvcnRpbmcgdGhlIHByaXZh
dGUga2V5Li4uCitQQVNTIHByaXZhdGVLZXkua3R5IGlzICdSU0EnCitQQVNTIHByaXZhdGVLZXku
a2V5X29wcyBpcyBbJ3NpZ24nXQorUEFTUyBwcml2YXRlS2V5LmFsZyBpcyAnUlMyNTYnCitQQVNT
IHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXku
bikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFy
c2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5k
ZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYx
XzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1
Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjUyZDg5NWE5NWNlMmUwYzlmOGUwNmMxYTY3OTVhNDQzZThiYzJl
MzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1w
a2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5odG1sCkBAIC0wLDAgKzEs
NjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTI1NiBSU0FTU0EtUEtDUzEtdjFfNSBrZXkg
cGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIg
YWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAg
Ly8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNF
eHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxl
bnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTI1NiIsCit9OwordmFyIGV4dHJhY3RhYmxlID0g
dHJ1ZTsKKwordmFyIGtleVBhaXI7CitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uIik7
CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwgZXh0cmFjdGFibGUs
IFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWly
ID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAg
ICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5
KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0Owor
CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgi
cHVibGljS2V5LmtleV9vcHMiLCAiWyd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNL
ZXkuYWxnIiwgIidSUzI1NiciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmV4dCIsICJ0cnVl
Iik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0
aCIsICIyNTYiKTsKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFy
c2UocHVibGljS2V5LmUpKSIsICInMDEwMDAxJyIpOworCisgICAgZGVidWcoIkV4cG9ydGluZyB0
aGUgcHJpdmF0ZSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXko
Imp3ayIsIGtleVBhaXIucHJpdmF0ZUtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewor
ICAgIHByaXZhdGVLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rdHki
LCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rZXlfb3BzIiwgIlsnc2lnbidd
Iik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkuYWxnIiwgIidSUzI1NiciKTsKKyAgICBzaG91
bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwu
cGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJi
eXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAx
JyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLXNoYTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTFjNDgzNjBlZjgyYWM2YjU4NjJhYTFkNmVmNjUzZjIx
NjRkZDc2NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNh
c3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0zODQgUlNBU1NBLVBLQ1Mx
LXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBr
ZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29w
cyBpcyBbJ3ZlcmlmeSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTMzg0JworUEFTUyBwdWJs
aWNLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5uKS5ieXRl
TGVuZ3RoIGlzIDI1NgorUEFTUyBieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJs
aWNLZXkuZSkpIGlzICcwMTAwMDEnCitFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uCitQQVNT
IHByaXZhdGVLZXkua3R5IGlzICdSU0EnCitQQVNTIHByaXZhdGVLZXkua2V5X29wcyBpcyBbJ3Np
Z24nXQorUEFTUyBwcml2YXRlS2V5LmFsZyBpcyAnUlMzODQnCitQQVNTIHByaXZhdGVLZXkuZXh0
IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBp
cyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5l
KSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNz
YS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY5NjNhODhhYjMwYzhkZTgxMWJiYTU0OWU1NzAxM2U2MmFkMWMyODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24u
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qg
ZXhwb3J0aW5nIGEgU0hBLTM4NCBSU0FTU0EtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBm
b3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2Vu
ID0geworICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFy
YW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVp
bnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAg
ICBoYXNoOiAic2hhLTM4NCIsCit9OwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKwordmFyIGtl
eVBhaXI7CitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uIik7CitjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJp
ZnkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAg
IGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRv
LnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUo
InB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9v
cHMiLCAiWyd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSUzM4
NCciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxk
QmUoIkJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCIsICIyNTYiKTsKKyAg
ICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUp
KSIsICInMDEwMDAxJyIpOworCisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXku
Li4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIu
cHJpdmF0ZUtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHByaXZhdGVLZXkg
PSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rdHkiLCAiJ1JTQSciKTsKKyAg
ICBzaG91bGRCZSgicHJpdmF0ZUtleS5rZXlfb3BzIiwgIlsnc2lnbiddIik7CisgICAgc2hvdWxk
QmUoInByaXZhdGVLZXkuYWxnIiwgIidSUzM4NCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtl
eS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtl
eS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5n
KEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3Vs
ZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9
KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LXNoYTUxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1w
a2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWZiZGU1ZjdjMmZjNTczNzMyMTFkZWUwZTEyMGFmOWJmODI3N2JjMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1
IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS01MTIgUlNBU1NBLVBLQ1MxLXYxXzUga2V5IHBhaXIg
d2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJh
dGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVi
bGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ3ZlcmlmeSdd
CitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTNTEyJworUEFTUyBwdWJsaWNLZXkuZXh0IGlzIHRy
dWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5uKS5ieXRlTGVuZ3RoIGlzIDI1Ngor
UEFTUyBieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIGlzICcw
MTAwMDEnCitFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uCitQQVNTIHByaXZhdGVLZXkua3R5
IGlzICdSU0EnCitQQVNTIHByaXZhdGVLZXkua2V5X29wcyBpcyBbJ3NpZ24nXQorUEFTUyBwcml2
YXRlS2V5LmFsZyBpcyAnUlM1MTInCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1Mg
QmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0
ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScK
K1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
NTEyLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllNDRlNDgwOGVi
YWNhZjViMTY4ZDFlYjhhZDBlODI0MTkyNmExNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLXNoYTUxMi5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hB
LTUxMiBSU0FTU0EtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6
ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1
c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEs
IDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTUx
MiIsCit9OwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKwordmFyIGtleVBhaXI7CitkZWJ1Zygi
R2VuZXJhdGluZyBhIGtleSBwYWlyLi4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFs
Z29yaXRobUtleUdlbiwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5j
dGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRp
bmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRL
ZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7
CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHki
LCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWyd2ZXJpZnkn
XSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSUzUxMiciKTsKKyAgICBzaG91
bGRCZSgicHVibGljS2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5w
YXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCIsICIyNTYiKTsKKyAgICBzaG91bGRCZSgiYnl0
ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSIsICInMDEwMDAxJyIp
OworCisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXkuLi4iKTsKKyAgICByZXR1
cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHJpdmF0ZUtleSk7Cit9
KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHByaXZhdGVLZXkgPSByZXN1bHQ7CisKKyAg
ICBzaG91bGRCZSgicHJpdmF0ZUtleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHJp
dmF0ZUtleS5rZXlfb3BzIiwgIlsnc2lnbiddIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXku
YWxnIiwgIidSUzUxMiciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIp
OworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3Ro
IiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJz
ZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJw
cml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vy
cy9zdWJ0bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlZmUzM2M4ZmJmYmEzNTQ1M2U0MDAzYzdmYjRjOTU4
ZDUwZWM1YmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9z
dWJ0bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE3IEBACitbV29ya2VyXSBUZXN0IGV4cG9ydGluZyBhbiBBRVMga2V5IHVzaW5nIEFFUy1DQkMg
YWxnb3JpdGhtIGluIHdvcmtlcnMgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworU3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMvYWVzLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLmpzCitbV29ya2VyXSBHZW5lcmF0aW5nIGEga2V5Li4uCitbV29ya2VyXSBF
eHBvcnRpbmcgYSBrZXkuLi4KK1BBU1MgW1dvcmtlcl0ga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBb
V29ya2VyXSBrZXkua2V5X29wcyBpcyBbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXkn
LCAnd3JhcEtleSddCitQQVNTIFtXb3JrZXJdIGtleS5hbGcgaXMgJ0ExMjhDQkMnCitQQVNTIFtX
b3JrZXJdIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBbV29ya2VyXSBCYXNlNjRVUkwucGFyc2Uoa2V5
LmspLmJ5dGVMZW5ndGggaXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9z
dWJ0bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGQ4M2Y0ZjlmNTljOTA1MDNiZWE5NTg5OGNjMDUyMTUwMjY0MmMzZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2suaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAg
ICB3b3JrZXIgPSBzdGFydFdvcmtlcigncmVzb3VyY2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5
LWp3ay5qcycpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1yYXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzQ1ODZlZjMzYTI1YTM0N2ZjYzVmZmJkOTM5YTIwMWNhMDljOWNjZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0
LWtleS1yYXctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1tXb3JrZXJdIFRlc3QgZXhw
b3J0aW5nIGFuIEFFUyBrZXkgdXNpbmcgQUVTLUNCQyBhbGdvcml0aG0gaW4gd29ya2VycyB3aXRo
IHJhdyBmb3JtYXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3
b3JrZXI6IHJlc291cmNlcy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMKK1tXb3JrZXJd
IEdlbmVyYXRpbmcgYSBrZXkuLi4KK1tXb3JrZXJdIEdlbmVyYXRpbmcgYSBrZXkuLi4KK1BBU1Mg
W1dvcmtlcl0gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInNwa2kiLCBrZXkpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggTm90U3VwcG9ydGVkRXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBhbGdv
cml0aG0gaXMgbm90IHN1cHBvcnRlZC4KK1BBU1MgW1dvcmtlcl0gY3J5cHRvLnN1YnRsZS5leHBv
cnRLZXkoInBrY3M4Iiwga2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVy
cm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitb
V29ya2VyXSBFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1MgW1dvcmtlcl0ga2V5LmJ5dGVMZW5ndGgg
aXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdlbmVy
YXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0
bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q4OTg1MjUz
MGJmYzY1NDFlYWVjMTAwMDc2NzI2MmVjNDk1YTY1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcu
aHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgICB3b3JrZXIgPSBzdGFy
dFdvcmtlcigncmVzb3VyY2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5qcycpOworICAg
IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjZlMDQ1ODYyNTdl
YWU4MWJiZGIzNjE5MWRlNmI3Y2Y5YzQ2MTNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1tXb3JrZXJdIFRlc3QgZXhwb3J0aW5nIGEgSE1B
QyBrZXkgaW4gd29ya2VycyB3aXRoIEpXSyBmb3JtYXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLmpzCitbV29ya2VyXSBHZW5lcmF0aW5nIGEga2V5Li4uCitbV29ya2VyXSBFeHBv
cnRpbmcgYSBrZXkuLi4KK1BBU1MgW1dvcmtlcl0ga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBbV29y
a2VyXSBrZXkua2V5X29wcyBpcyBbJ3NpZ24nLCAndmVyaWZ5J10KK1BBU1MgW1dvcmtlcl0ga2V5
LmFsZyBpcyAnSFMxJworUEFTUyBbV29ya2VyXSBrZXkuZXh0IGlzIHRydWUKK1BBU1MgW1dvcmtl
cl0gQmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIGlzIDY0CitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2su
aHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZlZTBiMGFiYmU5MzRlYmRiNDBkMDJmMTFh
MGMwMjMxYjMzZDg3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKQEAgLTAsMCArMSwx
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNl
cy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzJyk7CisgICAgPC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtl
cnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1y
YXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjYzlmZGIwNTFlNjk5YWRlY2QxMDQ5NTYwNTIz
ZDQyNWIwY2ZiNDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vy
cy9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNiBAQAorW1dvcmtlcl0gVGVzdCBleHBvcnRpbmcgYW4gSE1BQyBrZXkgaW4gd29ya2Vy
cyB3aXRoIHJhdyBmb3JtYXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFy
dGluZyB3b3JrZXI6IHJlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3LmpzCitb
V29ya2VyXSBHZW5lcmF0aW5nIGEga2V5Li4uCitbV29ya2VyXSBHZW5lcmF0aW5nIGEga2V5Li4u
CitQQVNTIFtXb3JrZXJdIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwga2V5KSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBU
aGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIFtXb3JrZXJdIGNyeXB0by5zdWJ0
bGUuZXhwb3J0S2V5KCJwa2NzOCIsIGtleSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBw
b3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIGFsZ29yaXRobSBpcyBub3Qgc3VwcG9y
dGVkLgorW1dvcmtlcl0gRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIFtXb3JrZXJdIGtleS5ieXRl
TGVuZ3RoIGlzIDY0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2ht
YWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTQ0ODQ1NmVhNTJkZDg0NTM5ODVhY2NjYWIxZmI1MTRlNmVlM2U5NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9y
dC1rZXktcmF3Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd29y
a2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3
LmpzJyk7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtZ2VuZXJh
dGUtZXhwb3J0LWtleS1qd2suanMgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUv
cmVzb3VyY2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWZi
MDI4ZDUyYmQ5ZWEwMThmNTk3ZTkwNmNhMGY3YTc3MzMwZTUxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2suanMKQEAgLTAsMCArMSwyMyBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8u
Li9yZXNvdXJjZXMvY29tbW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBh
biBBRVMga2V5IHVzaW5nIEFFUy1DQkMgYWxnb3JpdGhtIGluIHdvcmtlcnMgd2l0aCBKV0sgZm9y
bWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7
CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRl
S2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVjcnlw
dCIsICJlbmNyeXB0IiwgInVud3JhcEtleSIsICJ3cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24oa2V5
KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8u
c3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7
CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtleS5rdHkiLCAiJ29jdCciKTsK
KyAgICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53
cmFwS2V5JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidBMTI4Q0JD
JyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFz
ZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIiwgIjE2Iik7CisKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxl
L3Jlc291cmNlcy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LXJh
dy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMzk1MjJkNDNlZTYwNzUwODQ1ODMyODgwYWI1NzE4YjJiMDQxNjIx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jl
c291cmNlcy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMKQEAgLTAsMCArMSwyNiBAQAor
aW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CisK
K2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhbiBBRVMga2V5IHVzaW5nIEFFUy1DQkMgYWxn
b3JpdGhtIGluIHdvcmtlcnMgd2l0aCByYXcgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5
Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0
aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0IiwgInVud3JhcEtleSIs
ICJ3cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0Owor
CisgICAgLy8gTm90IHN1cHBvcnQgZm9ybWF0LgorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1
YnRsZS5leHBvcnRLZXkoInNwa2kiLCBrZXkpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8u
c3VidGxlLmV4cG9ydEtleSgicGtjczgiLCBrZXkpJyk7CisKKyAgICBkZWJ1ZygiR2VuZXJhdGlu
ZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1l
OiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNy
eXB0IiwgInVud3JhcEtleSIsICJ3cmFwS2V5Il0pOworfSkudGhlbihmdW5jdGlvbihrZXkpIHsK
KyAgICBkZWJ1ZygiRXhwb3J0aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0
bGUuZXhwb3J0S2V5KCJyYXciLCBrZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICBrZXkgPSByZXN1bHQ7CisgICAgc2hvdWxkQmUoImtleS5ieXRlTGVuZ3RoIiwgIjE2Iik7CisK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpz
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9obWFjLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2N2EyYjFjYzQ3OGQ1YjJmNGY4ODJi
ZTk5ZWYwNGNmN2UxN2Q1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
d29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suanMK
QEAgLTAsMCArMSwyMyBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvY29tbW9u
LmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIEhNQUMga2V5IGluIHdvcmtl
cnMgd2l0aCBKV0sgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRy
YWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8u
c3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0
YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVn
KCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRL
ZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJl
c3VsdDsKKworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUo
ImtleS5rZXlfb3BzIiwgIlsnc2lnbicsICd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJrZXku
YWxnIiwgIidIUzEnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAgIHNo
b3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiNjQiKTsKKworICAg
IGZpbmlzaEpTVGVzdCgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29y
a2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2htYWMtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1yYXcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQ3NDAzYTcxYjk5MzUzMDBlODkzYWFhM2E1
YTM1MDllMzk3Y2Y1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9yZXNvdXJjZXMvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5qcwpAQCAt
MCwwICsxLDI2IEBACitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMnKTsKKworZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGFuIEhNQUMga2V5IGlu
IHdvcmtlcnMgd2l0aCByYXcgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3Zh
ciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7Citj
cnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBl
eHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewor
ICAgIGtleSA9IHJlc3VsdDsKKworICAgIC8vIE5vdCBzdXBwb3J0IGZvcm1hdC4KKyAgICBzaG91
bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwga2V5KScpOworICAgIHNo
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInBrY3M4Iiwga2V5KScpOworCisg
ICAgZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRs
ZS5nZW5lcmF0ZUtleSh7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUs
IFsic2lnbiIsICJ2ZXJpZnkiXSkKK30pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWco
IkV4cG9ydGluZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtl
eSgicmF3Iiwga2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVz
dWx0OworICAgIHNob3VsZEJlKCJrZXkuYnl0ZUxlbmd0aCIsICI2NCIpOworCisgICAgZmluaXNo
SlNUZXN0KCk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1
YnRsZS9yZXNvdXJjZXMvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yc2EtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2suanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjMxMjdiZDExZjQ2ODBjOWY3ZjEwZTYxZDlmN2JjZTUxNjY2
MTE0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRs
ZS9yZXNvdXJjZXMvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzCkBAIC0wLDAgKzEsNDkg
QEAKK2ltcG9ydFNjcmlwdHMoJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycp
OworaW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2NvbW1vbi5qcycpOworCitkZXNj
cmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYSBSU0Ega2V5IHBhaXIgdXNpbmcgUlNBLU9BRVAgYWxn
b3JpdGhtIGluIHdvcmtlcnMgd2l0aCBKV0sgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKK3ZhciBhbGdvcml0aG1LZXlHZW4gPSB7CisgICAgbmFtZTogIlJTQS1PQUVQIiwKKyAg
ICAvLyBSc2FLZXlHZW5QYXJhbXMKKyAgICBtb2R1bHVzTGVuZ3RoOiAyMDQ4LAorICAgIHB1Ymxp
Y0V4cG9uZW50OiBuZXcgVWludDhBcnJheShbMHgwMSwgMHgwMCwgMHgwMV0pLCAgLy8gRXF1aXZh
bGVudCB0byA2NTUzNworICAgIGhhc2g6ICJzaGEtMSIKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0
cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5l
cmF0ZUtleShhbGdvcml0aG1LZXlHZW4sIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiLCAiZW5jcnlw
dCIsICJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
IGtleVBhaXIgPSByZXN1bHQ7CisKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3JtYXQuCisgICAgc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwga2V5UGFpci5wdWJsaWNL
ZXkpJyk7CisKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIHRoZSBwdWJsaWMga2V5Li4uIik7CisgICAg
cmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnB1YmxpY0tleSk7
Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHB1YmxpY0tleSA9IHJlc3VsdDsKKwor
ICAgIHNob3VsZEJlKCJwdWJsaWNLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInB1
YmxpY0tleS5rZXlfb3BzIiwgIlsnZW5jcnlwdCcsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRC
ZSgicHVibGljS2V5LmFsZyIsICInUlNBLU9BRVAnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tl
eS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5
Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmco
QmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVn
KCJFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0
bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInBy
aXZhdGVLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29w
cyIsICJbJ2RlY3J5cHQnLCAndW53cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtl
eS5hbGciLCAiJ1JTQS1PQUVQJyIpOworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5LmV4dCIsICJ0
cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5Lm4pLmJ5dGVM
ZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJM
LnBhcnNlKHByaXZhdGVLZXkuZSkpIiwgIicwMTAwMDEnIik7CisgICAgc2hvdWxkQmVVbmRlZmlu
ZWQoInByaXZhdGVLZXkub3RoIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0
bGUvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MGI0NTQzNGNiN2FiNjA0MjhiMGJjZThlNGI2ODk3ZGNkMGRmODQ0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1leHBvcnQt
a2V5LWp3ay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNyBAQAorW1dvcmtlcl0gVGVzdCBleHBv
cnRpbmcgYSBSU0Ega2V5IHBhaXIgdXNpbmcgUlNBLU9BRVAgYWxnb3JpdGhtIGluIHdvcmtlcnMg
d2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRp
bmcgd29ya2VyOiByZXNvdXJjZXMvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzCitbV29y
a2VyXSBHZW5lcmF0aW5nIGEga2V5Li4uCitbV29ya2VyXSBFeHBvcnRpbmcgdGhlIHB1YmxpYyBr
ZXkuLi4KK1BBU1MgW1dvcmtlcl0gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGtleVBh
aXIucHVibGljS2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChE
T00gRXhjZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIFtX
b3JrZXJdIHB1YmxpY0tleS5rdHkgaXMgJ1JTQScKK1BBU1MgW1dvcmtlcl0gcHVibGljS2V5Lmtl
eV9vcHMgaXMgWydlbmNyeXB0JywgJ3dyYXBLZXknXQorUEFTUyBbV29ya2VyXSBwdWJsaWNLZXku
YWxnIGlzICdSU0EtT0FFUCcKK1BBU1MgW1dvcmtlcl0gcHVibGljS2V5LmV4dCBpcyB0cnVlCitQ
QVNTIFtXb3JrZXJdIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBpcyAy
NTYKK1BBU1MgW1dvcmtlcl0gYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGlj
S2V5LmUpKSBpcyAnMDEwMDAxJworW1dvcmtlcl0gRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4u
LgorUEFTUyBbV29ya2VyXSBwcml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBbV29ya2VyXSBw
cml2YXRlS2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtleSddCitQQVNTIFtXb3Jr
ZXJdIHByaXZhdGVLZXkuYWxnIGlzICdSU0EtT0FFUCcKK1BBU1MgW1dvcmtlcl0gcHJpdmF0ZUtl
eS5leHQgaXMgdHJ1ZQorUEFTUyBbV29ya2VyXSBCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5u
KS5ieXRlTGVuZ3RoIGlzIDI1NgorUEFTUyBbV29ya2VyXSBieXRlc1RvSGV4U3RyaW5nKEJhc2U2
NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSBpcyAnMDEwMDAxJworUEFTUyBbV29ya2VyXSBwcml2
YXRlS2V5Lm90aCBpcyB1bmRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtl
cnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU4ZTU3ZDA1YzA1MDIyMmI1YmM2MjE4YzcwOGMxYzJiYmY1YTI0ZjgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAgd29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9yc2EtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2suanMnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5l
c3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCBhZjg0ZDExNDE2YjhlMGFhZjJhNGVjOTk1NWNk
Y2E0YmM5MDE2YjBhLi5iZTczNTBmYTVhMmE0NGQ5ZmRhNWMyNTMzNzhhODgyZjkxMzM1OTAzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5l
c3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9XZWJDcnlwdG9B
UEkvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTYxLDggKzYxLDggQEAgRkFJTCBTdWJ0bGVD
cnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVy
aXZlQml0cyIgd2kKIEZBSUwgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBkZXJpdmVC
aXRzKEFsZ29yaXRobUlkZW50aWZpZXIsQ3J5cHRvS2V5LHVuc2lnbmVkIGxvbmcpIG9uIGNyeXB0
by5zdWJ0bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3Nl
cnRfaW5oZXJpdHM6IHByb3BlcnR5ICJkZXJpdmVCaXRzIiBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJpbXBvcnRLZXkiIHdpdGggdGhlIHByb3BlciB0eXBlICg4KSAKIFBB
U1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBpbXBvcnRLZXkoS2V5Rm9ybWF0LFtv
YmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0sQWxnb3JpdGhtSWRlbnRpZmllcixib29sZWFu
LFtvYmplY3QgT2JqZWN0XSkgb24gY3J5cHRvLnN1YnRsZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRz
IG11c3QgdGhyb3cgVHlwZUVycm9yIAotRkFJTCBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjcnlw
dG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZXhwb3J0S2V5IiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoOSkgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiZXhwb3J0S2V5IiBub3QgZm91
bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNhbGxp
bmcgZXhwb3J0S2V5KEtleUZvcm1hdCxDcnlwdG9LZXkpIG9uIGNyeXB0by5zdWJ0bGUgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJleHBvcnRLZXkiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgU3Vi
dGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
ImV4cG9ydEtleSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDkpIAorUEFTUyBTdWJ0bGVDcnlwdG8g
aW50ZXJmYWNlOiBjYWxsaW5nIGV4cG9ydEtleShLZXlGb3JtYXQsQ3J5cHRvS2V5KSBvbiBjcnlw
dG8uc3VidGxlIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBG
QUlMIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJ3cmFwS2V5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMTApIGFzc2VydF9pbmhlcml0
czogcHJvcGVydHkgIndyYXBLZXkiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwg
U3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyB3cmFwS2V5KEtleUZvcm1hdCxDcnlwdG9L
ZXksQ3J5cHRvS2V5LEFsZ29yaXRobUlkZW50aWZpZXIpIG9uIGNyeXB0by5zdWJ0bGUgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJ3cmFwS2V5IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBGQUlMIFN1YnRs
ZUNyeXB0byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1
bndyYXBLZXkiIHdpdGggdGhlIHByb3BlciB0eXBlICgxMSkgYXNzZXJ0X2luaGVyaXRzOiBwcm9w
ZXJ0eSAidW53cmFwS2V5IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCg==
</data>
<flag name="review"
          id="317426"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294808</attachid>
            <date>2016-11-14 21:35:26 -0800</date>
            <delta_ts>2016-11-14 21:35:26 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-164722-20161114213525.patch</filename>
            <type>text/plain</type>
            <size>169672</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGYwZTQ5YjRjNDEyMjI2
MWRmM2VkZTQ5ZWZhMjViNzU3Y2EwMzhmZi4uNzc3YmNlOTAyZjk0NGNmYjRlZWVkZTQwNmQ5MDE0
NWNiYjQ5OWYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMSBAQAorMjAxNi0xMS0xNCAgSmll
d2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSBTdWJ0bGVD
cnlwdG86OmV4cG9ydEtleSB0byBtYXRjaCB0aGUgbGF0ZXN0IHNwZWMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDcyMgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjkyNTE3NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4K
KworICAgICAgICBUaGlzIHBhdGNoIGRvZXMgZm9sbG93aW5nIGZldyB0aGluZ3M6CisgICAgICAg
IDEuIEl0IHVwZGF0ZXMgdGhlIFN1YnRsZUNyeXB0bzo6ZXhwb3J0S2V5IG1ldGhvZCB0byBtYXRj
aCB0aGUgbGF0ZXN0IHNwZWM6CisgICAgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XZWJD
cnlwdG9BUEkvI1N1YnRsZUNyeXB0by1tZXRob2QtZXhwb3J0S2V5LgorICAgICAgICAgICBJdCBh
bHNvIHJlZmVycyB0byB0aGUgbGF0ZXN0IEVkaXRvcidzIERyYWZ0IHRvIGEgY2VydGFpbiBkZWdy
ZWU6CisgICAgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjcnlwdG8vT3ZlcnZpZXcu
aHRtbCNTdWJ0bGVDcnlwdG8tbWV0aG9kLWV4cG9ydEtleS4KKyAgICAgICAgMi4gSXQgaW1wbGVt
ZW50cyBleHBvcnRLZXkgb3BlcmF0aW9ucyBvZiB0aGUgZm9sbG93aW5nIGFsZ29yaXRobXM6IEFF
Uy1DQkMsIEFFUy1LVywKKyAgICAgICAgICAgSE1BQywgUlNBRVMtUEtDUzEtVjFfNSwgUlNBU1NB
LVBLQ1MxLVYxXzUsIGFuZCBSU0EtT0FFUC4KKyAgICAgICAgMy4gSXQgYWxzbyBmaXhlcyB0aGUg
Zm9sbG93aW5nIGJ1Z3M6CisgICAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTYxMTQsCisgICAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTc3MzA2Nj4u
CisgICAgICAgIE5vdGU6IFdlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgUmF3IGFuZCBKd2sga2V5
IGZvcm1hdC4KKworICAgICAgICBUZXN0czogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1
YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTIuaHRtbAorICAg
ICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LWxlbmd0aC0yNTYuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdl
bmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUv
YWVzLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorICAgICAgICAgICAgICAg
Y3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5o
dG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQt
a2V5LWp3ay1sZW5ndGgtMTkyLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVz
LWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYuaHRtbAorICAgICAgICAgICAg
ICAgY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbAorICAg
ICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvaG1hYy1leHBvcnQta2V5LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvaG1hYy1n
ZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGExLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9z
dWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyMjQuaHRtbAorICAgICAgICAg
ICAgICAgY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5o
dG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stc2hhMzg0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvaG1hYy1nZW5l
cmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTIuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1
YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5Lmh0bWwKKyAgICAgICAgICAgICAgIGNy
eXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKKyAg
ICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNhLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFt
ZXRlcnMuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1zaGExLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUv
cnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWwKKyAgICAgICAgICAg
ICAgIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2
Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMzg0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNh
LW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLmh0bWwKKyAgICAgICAgICAgICAg
IGNyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5o
dG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLXNoYTEuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRs
ZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyMjQuaHRtbAor
ICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay1zaGEyNTYuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9y
c2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEzODQuaHRtbAorICAg
ICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1zaGE1MTIuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sCisgICAgICAgICAgICAgICBjcnlw
dG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwKKyAgICAg
ICAgICAgICAgIGNyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVy
YXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by93b3JrZXJzL3N1
YnRsZS9yc2EtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suaHRtbAorCisgICAgICAgICogYmluZGlu
Z3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KU1Zh
bHVlRnJvbUpzb25XZWJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6anNTdWJ0bGVDcnlwdG9GdW5j
dGlvbkV4cG9ydEtleVByb21pc2UpOgorICAgICAgICAoV2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86
OmV4cG9ydEtleSk6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG06OmV4cG9ydEtleSk6CisgICAgICAgICogY3J5
cHRvL0NyeXB0b0FsZ29yaXRobS5oOgorICAgICAgICAqIGNyeXB0by9TdWJ0bGVDcnlwdG8uaWRs
OgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6aW1wb3J0S2V5KToK
KyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DQkM6OmV4cG9ydEtleSk6Cisg
ICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5oOgorICAg
ICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmltcG9ydEtleSk6CisgICAgICAg
IChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmV4cG9ydEtleSk6CisgICAgICAgICog
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmg6CisgICAgICAgICogY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9BbGdvcml0aG1ITUFDOjppbXBvcnRLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5
cHRvQWxnb3JpdGhtSE1BQzo6ZXhwb3J0S2V5KToKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1ITUFDLmg6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5
cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlw
dG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjppbXBvcnRLZXkpOgorICAgICAgICAoV2ViQ29y
ZTo6Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6ZXhwb3J0S2V5KToKKyAgICAgICAg
KiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81Lmg6Cisg
ICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3Yx
XzUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3Yx
XzU6OmltcG9ydEtleSk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1SU0FTU0Ff
UEtDUzFfdjFfNTo6ZXhwb3J0S2V5KToKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5oOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0
b0FsZ29yaXRobVJTQV9PQUVQOjppbXBvcnRLZXkpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRv
QWxnb3JpdGhtUlNBX09BRVA6OmV4cG9ydEtleSk6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuaDoKKyAgICAgICAgKiBjcnlwdG8va2V5cy9Dcnlw
dG9LZXlBRVMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvS2V5QUVTOjpleHBvcnRKd2sp
OgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5oOgorICAgICAgICAqIGNyeXB0
by9rZXlzL0NyeXB0b0tleUhNQUMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvS2V5SE1B
Qzo6ZXhwb3J0SndrKToKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmg6Cisg
ICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNyeXB0b0tleVJTQTo6ZXhwb3J0SndrKToKKyAgICAgICAgKiBjcnlwdG8va2V5cy9DcnlwdG9L
ZXlSU0EuaDoKKwogMjAxNi0xMS0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgTW92ZSB1cGRhdGVTaWduYWxpbmdTdGF0ZSB0byBQZWVyQ29ubmVjdGlvbkJh
Y2tlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5
cHRvQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRv
Q3VzdG9tLmNwcAppbmRleCA5MTM5ODFiM2U0MTA5NGQxZDcxOGU0ZTgzM2VlMDNjYzQ2MWE2Njc3
Li5kZDE2YTkxNmFkYTI0Mzc2NjZiYTc0YjI2MWRjYjUxYmZkMzFlMjg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwCkBAIC00
Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKICNpbmNsdWRlIDxydW50aW1l
L0Vycm9yLmg+CiAjaW5jbHVkZSA8cnVudGltZS9JdGVyYXRvck9wZXJhdGlvbnMuaD4KKyNpbmNs
dWRlIDxydW50aW1lL0pTQXJyYXkuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIApAQCAtMzA3
LDYgKzMwOCw2MSBAQCBzdGF0aWMgS2V5RGF0YSB0b0tleURhdGEoRXhlY1N0YXRlJiBzdGF0ZSwg
U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBKU1ZhbAogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKKy8vIEZJWE1FOiBXZSBzaG91bGQgZ2V0IHJpZCBvZiB0aGlzIG9uY2UgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzcxMSBpcyBmaXhlZC4KK3N0YXRpYyBK
U1ZhbHVlIHRvSlNWYWx1ZUZyb21Kc29uV2ViS2V5KEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QsIEpzb25XZWJLZXkmJiBrZXkpCit7CisgICAgRXhlY1N0YXRlJiBzdGF0ZSA9ICpnbG9i
YWxPYmplY3QuZ2xvYmFsRXhlYygpOworICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7CisKKyAgICBh
dXRvKiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCgmc3RhdGUpOworICAgIHJlc3VsdC0+
cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImt0eSIpLCB0b0pTPElE
TERPTVN0cmluZz4oc3RhdGUsIGtleS5rdHkpKTsKKyAgICBpZiAoa2V5LnVzZSkKKyAgICAgICAg
cmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAidXNlIiks
IHRvSlM8SURMRE9NU3RyaW5nPihzdGF0ZSwga2V5LnVzZS52YWx1ZSgpKSk7CisgICAgaWYgKGtl
eS5rZXlfb3BzKQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZygmdm0sICJrZXlfb3BzIiksIHRvSlM8SURMU2VxdWVuY2U8SURMRW51bWVyYXRpb248
Q3J5cHRvS2V5VXNhZ2U+Pj4oc3RhdGUsIGdsb2JhbE9iamVjdCwga2V5LmtleV9vcHMudmFsdWUo
KSkpOworICAgIGlmIChrZXkuYWxnKQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJhbGciKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRl
LCBrZXkuYWxnLnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5LmV4dCkKKyAgICAgICAgcmVzdWx0LT5w
dXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZXh0IiksIHRvSlM8SURM
Qm9vbGVhbj4oc3RhdGUsIGtleS5leHQudmFsdWUoKSkpOworICAgIGlmIChrZXkuY3J2KQorICAg
ICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJj
cnYiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRlLCBrZXkuY3J2LnZhbHVlKCkpKTsKKyAgICBp
ZiAoa2V5LngpCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKCZ2bSwgIngiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRlLCBrZXkueC52YWx1ZSgp
KSk7CisgICAgaWYgKGtleS55KQorICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRp
Zmllcjo6ZnJvbVN0cmluZygmdm0sICJ5IiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0ZSwga2V5
LnkudmFsdWUoKSkpOworICAgIGlmIChrZXkuZCkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qo
dm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZCIpLCB0b0pTPElETERPTVN0cmluZz4o
c3RhdGUsIGtleS5kLnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5Lm4pCisgICAgICAgIHJlc3VsdC0+
cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgIm4iKSwgdG9KUzxJRExE
T01TdHJpbmc+KHN0YXRlLCBrZXkubi52YWx1ZSgpKSk7CisgICAgaWYgKGtleS5lKQorICAgICAg
ICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJlIiks
IHRvSlM8SURMRE9NU3RyaW5nPihzdGF0ZSwga2V5LmUudmFsdWUoKSkpOworICAgIGlmIChrZXku
cCkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmco
JnZtLCAicCIpLCB0b0pTPElETERPTVN0cmluZz4oc3RhdGUsIGtleS5wLnZhbHVlKCkpKTsKKyAg
ICBpZiAoa2V5LnEpCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpm
cm9tU3RyaW5nKCZ2bSwgInEiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRlLCBrZXkucS52YWx1
ZSgpKSk7CisgICAgaWYgKGtleS5kcCkKKyAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZHAiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRl
LCBrZXkuZHAudmFsdWUoKSkpOworICAgIGlmIChrZXkuZHEpCisgICAgICAgIHJlc3VsdC0+cHV0
RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImRxIiksIHRvSlM8SURMRE9N
U3RyaW5nPihzdGF0ZSwga2V5LmRxLnZhbHVlKCkpKTsKKyAgICBpZiAoa2V5LnFpKQorICAgICAg
ICByZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJxaSIp
LCB0b0pTPElETERPTVN0cmluZz4oc3RhdGUsIGtleS5xaS52YWx1ZSgpKSk7CisgICAgaWYgKGtl
eS5vdGgpIHsKKyAgICAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgbGlzdDsKKyAgICAgICAgZm9y
IChhdXRvJiB2YWx1ZSA6IGtleS5vdGgudmFsdWUoKSkgeworICAgICAgICAgICAgYXV0byogaW5m
byA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KCZzdGF0ZSk7CisgICAgICAgICAgICBpbmZvLT5wdXRE
aXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiciIpLCB0b0pTPElETERPTVN0
cmluZz4oc3RhdGUsIHZhbHVlLnIpKTsKKyAgICAgICAgICAgIGluZm8tPnB1dERpcmVjdCh2bSwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJkIiksIHRvSlM8SURMRE9NU3RyaW5nPihzdGF0
ZSwgdmFsdWUuZCkpOworICAgICAgICAgICAgaW5mby0+cHV0RGlyZWN0KHZtLCBJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKCZ2bSwgInQiKSwgdG9KUzxJRExET01TdHJpbmc+KHN0YXRlLCB2YWx1ZS50
KSk7CisgICAgICAgICAgICBsaXN0LmFwcGVuZChpbmZvKTsKKyAgICAgICAgfQorICAgICAgICBy
ZXN1bHQtPnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJvdGgiKSwg
Y29uc3RydWN0QXJyYXkoJnN0YXRlLCBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmUqPihudWxscHRyKSwg
bGlzdCkpOworICAgIH0KKyAgICBpZiAoa2V5LmspCisgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImsiKSwgdG9KUzxJRExET01TdHJpbmc+
KHN0YXRlLCBrZXkuay52YWx1ZSgpKSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBzdGF0
aWMgdm9pZCBqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uR2VuZXJhdGVLZXlQcm9taXNlKEV4ZWNTdGF0
ZSYgc3RhdGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICBWTSYgdm0g
PSBzdGF0ZS52bSgpOwpAQCAtMzUwLDggKzQwNiw4IEBAIHN0YXRpYyB2b2lkIGpzU3VidGxlQ3J5
cHRvRnVuY3Rpb25HZW5lcmF0ZUtleVByb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwgUmVmPERlZmVy
CiAgICAgICAgIHJlamVjdFdpdGhFeGNlcHRpb24oV1RGTW92ZShjYXB0dXJlZFByb21pc2UpLCBl
Yyk7CiAgICAgfTsKIAotICAgIC8vIFRoZSBzcGVjIHN1Z2dlc3RzIHdlIHNob3VsZCBwZXJmb3Jt
IHRoZSBmb2xsb3dpbmcgdGFzayBhc3luY2hyb25vdXNseSByZWdhcmRsZXNzIHdoYXQga2luZCBv
ZiBrZXlzIGl0IHByb2R1Y2VzCi0gICAgLy8gYXMgb2YgMTEgRGVjZW1iZXIgMjAxNDogaHR0cHM6
Ly93d3cudzMub3JnL1RSL1dlYkNyeXB0b0FQSS8jU3VidGxlQ3J5cHRvLW1ldGhvZC1nZW5lcmF0
ZUtleQorICAgIC8vIFRoZSAxMSBEZWNlbWJlciAyMDE0IHZlcnNpb24gb2YgdGhlIHNwZWNpZmlj
YXRpb24gc3VnZ2VzdHMgd2Ugc2hvdWxkIHBlcmZvcm0gdGhlIGZvbGxvd2luZyB0YXNrIGFzeW5j
aHJvbm91c2x5CisgICAgLy8gcmVnYXJkbGVzcyB3aGF0IGtpbmQgb2Yga2V5cyBpdCBwcm9kdWNl
czogaHR0cHM6Ly93d3cudzMub3JnL1RSL1dlYkNyeXB0b0FQSS8jU3VidGxlQ3J5cHRvLW1ldGhv
ZC1nZW5lcmF0ZUtleQogICAgIC8vIFRoYXQncyBzaW1wbHkgbm90IGVmZmljaWVudCBmb3IgQUVT
IGFuZCBITUFDIGtleXMuIFRoZXJlZm9yZSwgd2UgcGVyZm9ybSBpdCBhcyBhbiBhc3luYyB0YXNr
IGNvbmRpdGlvbmFsbHkuCiAgICAgYWxnb3JpdGhtLT5nZW5lcmF0ZUtleShXVEZNb3ZlKHBhcmFt
cyksIGV4dHJhY3RhYmxlLCBrZXlVc2FnZXMsIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4
Y2VwdGlvbkNhbGxiYWNrKSwgKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHRGcm9tRXhlY1N0YXRlKCZz
dGF0ZSkpOwogfQpAQCAtMzk1LDEyICs0NTEsODIgQEAgc3RhdGljIHZvaWQganNTdWJ0bGVDcnlw
dG9GdW5jdGlvbkltcG9ydEtleVByb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwgUmVmPERlZmVycmUK
ICAgICAgICAgcmVqZWN0V2l0aEV4Y2VwdGlvbihXVEZNb3ZlKGNhcHR1cmVkUHJvbWlzZSksIGVj
KTsKICAgICB9OwogCi0gICAgLy8gVGhlIHNwZWMgc3VnZ2VzdHMgd2Ugc2hvdWxkIHBlcmZvcm0g
dGhlIGZvbGxvd2luZyB0YXNrIGFzeW5jaHJvbm91c2x5IGFzIG9mIDExIERlY2VtYmVyIDIwMTQ6
CisgICAgLy8gVGhlIDExIERlY2VtYmVyIDIwMTQgdmVyc2lvbiBvZiB0aGUgc3BlY2lmaWNhdGlv
biBzdWdnZXN0cyB3ZSBzaG91bGQgcGVyZm9ybSB0aGUgZm9sbG93aW5nIHRhc2sgYXN5bmNocm9u
b3VzbHk6CiAgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL1dlYkNyeXB0b0FQSS8jU3VidGxl
Q3J5cHRvLW1ldGhvZC1pbXBvcnRLZXkKLSAgICAvLyBUaGF0J3Mgc2ltcGx5IG5vdCBuZWNlc3Nh
cnkuIFRoZXJlZm9yZSwgd2UgcGVyZm9ybSBpdCBzeW5jaHJvbm91c2x5LgorICAgIC8vIEl0IGlz
IG5vdCBiZW5lZmljaWFsIGZvciBsZXNzIHRpbWUgY29uc3VtaW5nIG9wZXJhdGlvbnMuIFRoZXJl
Zm9yZSwgd2UgcGVyZm9ybSBpdCBzeW5jaHJvbm91c2x5LgogICAgIGFsZ29yaXRobS0+aW1wb3J0
S2V5KGZvcm1hdCwgV1RGTW92ZShrZXlEYXRhKSwgV1RGTW92ZShwYXJhbXMpLCBleHRyYWN0YWJs
ZSwga2V5VXNhZ2VzLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFj
aykpOwogfQogCitzdGF0aWMgdm9pZCBqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uRXhwb3J0S2V5UHJv
bWlzZShFeGVjU3RhdGUmIHN0YXRlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7
CisgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CisKKyAgICBpZiAoVU5MSUtFTFkoc3RhdGUuYXJndW1lbnRDb3VudCgpIDwg
MikpIHsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0PEpTVmFsdWU+KGNyZWF0ZU5vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKCZzdGF0ZSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0
byBmb3JtYXQgPSBjb252ZXJ0RW51bWVyYXRpb248U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ+KHN0
YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgwKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgdm9pZCgpKTsKKworICAgIFJlZlB0cjxDcnlwdG9LZXk+IGtleSA9IEpTQ3J5cHRv
S2V5Ojp0b1dyYXBwZWQoc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMSkpOworICAgIGlmICgha2V5
KSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdDxKU1ZhbHVlPihjcmVhdGVUeXBlRXJyb3IoJnN0
YXRlLCBBU0NJSUxpdGVyYWwoIkludmFsaWQgQ3J5cHRvS2V5IikpKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIHN3aXRjaCAoa2V5LT5hbGdvcml0aG1JZGVudGlmaWVyKCkpIHsKKyAg
ICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlJTQUVTX1BLQ1MxX3YxXzU6CisgICAg
Y2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpSU0FTU0FfUEtDUzFfdjFfNToKKyAgICBj
YXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlJTQV9QU1M6CisgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpSU0FfT0FFUDoKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXI6OkFFU19DVFI6CisgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpB
RVNfQ0JDOgorICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6QUVTX0NNQUM6Cisg
ICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpBRVNfR0NNOgorICAgIGNhc2UgQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6QUVTX0NGQjoKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXI6OkFFU19LVzoKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6
OkhNQUM6CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHByb21pc2UtPnJl
amVjdDxKU1ZhbHVlPihjcmVhdGVET01FeGNlcHRpb24oJnN0YXRlLCBOT1RfU1VQUE9SVEVEX0VS
UiwgQVNDSUlMaXRlcmFsKCJUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiKSkpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFrZXktPmV4dHJhY3RhYmxlKCkpIHsKKyAg
ICAgICAgcHJvbWlzZS0+cmVqZWN0PEpTVmFsdWU+KGNyZWF0ZURPTUV4Y2VwdGlvbigmc3RhdGUs
IElOVkFMSURfQUNDRVNTX0VSUiwgQVNDSUlMaXRlcmFsKCJUaGUgQ3J5cHRvS2V5IGlzIG5vbmV4
dHJhY3RhYmxlIikpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gYWxnb3Jp
dGhtID0gY3JlYXRlQWxnb3JpdGhtKHN0YXRlLCBrZXktPmFsZ29yaXRobUlkZW50aWZpZXIoKSk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKworICAgIGF1dG8gY2Fs
bGJhY2sgPSBbY2FwdHVyZWRQcm9taXNlID0gcHJvbWlzZS5jb3B5UmVmKCldKFN1YnRsZUNyeXB0
bzo6S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGtleSkgbXV0YWJsZSB7CisgICAgICAgIHN3
aXRjaCAoZm9ybWF0KSB7CisgICAgICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6OlNw
a2k6CisgICAgICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6OlBrY3M4OgorICAgICAg
ICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpSYXc6IHsKKyAgICAgICAgICAgIFZlY3Rv
cjx1aW50OF90PiYgcmF3S2V5ID0gV1RGOjpnZXQ8VmVjdG9yPHVpbnQ4X3Q+PihrZXkpOworICAg
ICAgICAgICAgZnVsZmlsbFByb21pc2VXaXRoQXJyYXlCdWZmZXIoV1RGTW92ZShjYXB0dXJlZFBy
b21pc2UpLCByYXdLZXkuZGF0YSgpLCByYXdLZXkuc2l6ZSgpKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgICAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpKd2s6
CisgICAgICAgICAgICBjYXB0dXJlZFByb21pc2UtPnJlc29sdmUodG9KU1ZhbHVlRnJvbUpzb25X
ZWJLZXkoKihjYXB0dXJlZFByb21pc2UtPmdsb2JhbE9iamVjdCgpKSwgV1RGTW92ZShXVEY6Omdl
dDxKc29uV2ViS2V5PihrZXkpKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH07CisgICAgYXV0byBleGNlcHRpb25D
YWxsYmFjayA9IFtjYXB0dXJlZFByb21pc2UgPSAgcHJvbWlzZS5jb3B5UmVmKCldKEV4Y2VwdGlv
bkNvZGUgZWMpIG11dGFibGUgeworICAgICAgICByZWplY3RXaXRoRXhjZXB0aW9uKFdURk1vdmUo
Y2FwdHVyZWRQcm9taXNlKSwgZWMpOworICAgIH07CisKKyAgICAvLyBUaGUgMTEgRGVjZW1iZXIg
MjAxNCB2ZXJzaW9uIG9mIHRoZSBzcGVjaWZpY2F0aW9uIHN1Z2dlc3RzIHdlIHNob3VsZCBwZXJm
b3JtIHRoZSBmb2xsb3dpbmcgdGFzayBhc3luY2hyb25vdXNseToKKyAgICAvLyBodHRwczovL3d3
dy53My5vcmcvVFIvV2ViQ3J5cHRvQVBJLyNTdWJ0bGVDcnlwdG8tbWV0aG9kLWV4cG9ydEtleQor
ICAgIC8vIEl0IGlzIG5vdCBiZW5lZmljaWFsIGZvciBsZXNzIHRpbWUgY29uc3VtaW5nIG9wZXJh
dGlvbnMuIFRoZXJlZm9yZSwgd2UgcGVyZm9ybSBpdCBzeW5jaHJvbm91c2x5LgorICAgIGFsZ29y
aXRobS0+ZXhwb3J0S2V5KGZvcm1hdCwgV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNhbGxiYWNrKSwg
V1RGTW92ZShleGNlcHRpb25DYWxsYmFjaykpOworfQorCiBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRv
OjpnZW5lcmF0ZUtleShFeGVjU3RhdGUmIHN0YXRlKQogewogICAgIHJldHVybiBjYWxsUHJvbWlz
ZUZ1bmN0aW9uPGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25HZW5lcmF0ZUtleVByb21pc2UsIFByb21p
c2VFeGVjdXRpb25TY29wZTo6V2luZG93T3JXb3JrZXI+KHN0YXRlKTsKQEAgLTQxMSw2ICs1Mzcs
MTEgQEAgSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6aW1wb3J0S2V5KEV4ZWNTdGF0ZSYgc3RhdGUp
CiAgICAgcmV0dXJuIGNhbGxQcm9taXNlRnVuY3Rpb248anNTdWJ0bGVDcnlwdG9GdW5jdGlvbklt
cG9ydEtleVByb21pc2UsIFByb21pc2VFeGVjdXRpb25TY29wZTo6V2luZG93T3JXb3JrZXI+KHN0
YXRlKTsKIH0KIAorSlNWYWx1ZSBKU1N1YnRsZUNyeXB0bzo6ZXhwb3J0S2V5KEV4ZWNTdGF0ZSYg
c3RhdGUpCit7CisgICAgcmV0dXJuIGNhbGxQcm9taXNlRnVuY3Rpb248anNTdWJ0bGVDcnlwdG9G
dW5jdGlvbkV4cG9ydEtleVByb21pc2UsIFByb21pc2VFeGVjdXRpb25TY29wZTo6V2luZG93T3JX
b3JrZXI+KHN0YXRlKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uY3BwIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHAKaW5kZXggZGM1ODIwMzdhYmIy
NGM2MmNkZTU1YTY5MDk1OTdlZDQyYTAwYTkxNy4uNDE2ZWZhODRkMmUwZjNlYzZmZmNhNGVlYTM0
ZTE1MzhiYTk4ODYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0Fs
Z29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5j
cHAKQEAgLTQyLDYgKzQyLDExIEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtOjppbXBvcnRLZXkoU3Vi
dGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1CiAgICAgZXhjZXB0
aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9FUlIpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRo
bTo6ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBSZWZQdHI8V2ViQ29yZTo6Q3J5
cHRvS2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRp
b25DYWxsYmFjaykKK3sKKyAgICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9SVEVEX0VSUik7
Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobTo6ZW5jcnlwdChjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNv
bnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2sm
JikKIHsKICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTk9UX1NVUFBPUlRFRF9FUlIgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaCBiL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaAppbmRleCBlMWM2YmFlMDk4NWRkOWE3ZmYz
NWYxYTM0OTg3MTI4NTg0MDEyNjBiLi4zNzU2ZDE5Y2I3NGE2NGU3ZGNjYzkyNzllODdkYjkzNzY2
Mjc5ZGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGht
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5oCkBAIC02MSw5
ICs2MSwxMSBAQCBwdWJsaWM6CiAgICAgdXNpbmcgVmVjdG9yQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0
aW9uPHZvaWQoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+Jik+OwogICAgIHVzaW5nIFZvaWRDYWxsYmFj
ayA9IFdURjo6RnVuY3Rpb248dm9pZCgpPjsKICAgICB1c2luZyBFeGNlcHRpb25DYWxsYmFjayA9
IFdURjo6RnVuY3Rpb248dm9pZChFeGNlcHRpb25Db2RlKT47CisgICAgdXNpbmcgS2V5RGF0YUNh
bGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlE
YXRhJiYpPjsKIAogICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1
ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxi
YWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKICAgICB2aXJ0dWFsIHZvaWQgaW1wb3J0
S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJik7Cisg
ICAgdmlydHVhbCB2b2lkIGV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgUmVmUHRy
PENyeXB0b0tleT4mJiwgS2V5RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpOwog
CiAgICAgLy8gVGhlIGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAgICAgdmlydHVhbCBF
eGNlcHRpb25Pcjx2b2lkPiBlbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNE
ZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYs
IFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjayk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCmluZGV4IGZkZjIxZjY3OThlMDdiODcyZjE3
YzBkNWEwOWVmYTk5Njk5YzNkODAuLmRkMjI0YmU4NDA4MTVmYjE5N2NiZWIwNDgzZTBkMGVjMDFj
ZmFmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCkBAIC0zNCw0ICsz
NCw1IEBAIGVudW0gS2V5Rm9ybWF0IHsgInJhdyIsICJzcGtpIiwgInBrY3M4IiwgImp3ayIgfTsK
ICAgICAvLyBGSVhNRTogU2hvdWxkIHRoaXMgcmV0dXJuIGEgUHJvbWlzZTwoQ3J5cHRvS2V5IG9y
IENyeXB0b0tleVBhaXIpPj8KICAgICBbQ3VzdG9tXSBQcm9taXNlPGFueT4gZ2VuZXJhdGVLZXko
QWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIGJvb2xlYW4gZXh0cmFjdGFibGUsIHNlcXVl
bmNlPENyeXB0b0tleVVzYWdlPiBrZXlVc2FnZXMpOwogICAgIFtDdXN0b21dIFByb21pc2U8Q3J5
cHRvS2V5PiBpbXBvcnRLZXkoS2V5Rm9ybWF0IGZvcm1hdCwgKEJ1ZmZlclNvdXJjZSBvciBKc29u
V2ViS2V5KSBrZXlEYXRhLCBBbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgYm9vbGVuIGV4
dHJhY3RhYmxlLCBzZXF1ZW5jZTxDcnlwdG9LZXlVc2FnZT4ga2V5VXNhZ2VzKTsKKyAgICBbQ3Vz
dG9tXSBQcm9taXNlPGFueT4gZXhwb3J0S2V5KEtleUZvcm1hdCBmb3JtYXQsIENyeXB0b0tleSBr
ZXkpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUFFU19DQkMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKaW5kZXggNGNhZTE3ZTEwNjU3NDVlN2IyODYw
Mzc5ODRmMzEyYTg3ZTA5MGJkNS4uMGI5NmM4N2FkMzAyNTBjZTE1YTVlODkwOWVkOThiZjBjNWM1
MGZmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRv
QWxnb3JpdGhtQUVTX0NCQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKQEAgLTM3LDYgKzM3LDEwIEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzEyOCA9ICJBMTI4
Q0JDIjsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEcxOTIgPSAiQTE5MkNCQyI7CitzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIkEyNTZDQkMiOworCiBzdGF0aWMgaW5saW5l
IGJvb2wgdXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29yaXRobUFFU19DQkMoQ3J5cHRvS2V5
VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewogICAgIHJldHVybiB1c2FnZXMgJiAoQ3J5cHRvS2V5VXNh
Z2VTaWduIHwgQ3J5cHRvS2V5VXNhZ2VWZXJpZnkgfCBDcnlwdG9LZXlVc2FnZURlcml2ZUtleSB8
IENyeXB0b0tleVVzYWdlRGVyaXZlQml0cyk7CkBAIC05NCwxMSArOTgsMTEgQEAgdm9pZCBDcnlw
dG9BbGdvcml0aG1BRVNfQ0JDOjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9y
bWF0LCBLZXlEYXRhJiYKICAgICAgICAgYXV0byBjaGVja0FsZ0NhbGxiYWNrID0gW10oc2l6ZV90
IGxlbmd0aCwgY29uc3QgT3B0aW9uYWw8U3RyaW5nPiYgYWxnKSAtPiBib29sIHsKICAgICAgICAg
ICAgIHN3aXRjaCAobGVuZ3RoKSB7CiAgICAgICAgICAgICBjYXNlIENyeXB0b0tleUFFUzo6c19s
ZW5ndGgxMjg6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0g
IkExMjhDQkMiOworICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgpID09
IEFMRzEyODsKICAgICAgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDE5MjoKLSAg
ICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSAiQTE5MkNCQyI7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMTkyOwogICAg
ICAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMjU2OgotICAgICAgICAgICAgICAg
IHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgpID09ICJBMjU2Q0JDIjsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSBBTEcyNTY7CiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH07CkBAIC0xMTcsNiArMTIxLDQ2IEBA
IHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5
Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmCiAgICAgY2FsbGJhY2soKnJlc3VsdCk7CiB9CiAKK3Zv
aWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9y
bWF0IGZvcm1hdCwgUmVmUHRyPENyeXB0b0tleT4mJiBrZXksIEtleURhdGFDYWxsYmFjayYmIGNh
bGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIGNv
bnN0IGF1dG8mIGFlc0tleSA9IGRvd25jYXN0PENyeXB0b0tleUFFUz4oKmtleSk7CisKKyAgICBp
ZiAoYWVzS2V5LmtleSgpLmlzRW1wdHkoKSkgeworICAgICAgICBleGNlcHRpb25DYWxsYmFjayhP
cGVyYXRpb25FcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBLZXlEYXRhIHJl
c3VsdDsKKyAgICBzd2l0Y2ggKGZvcm1hdCkgeworICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlG
b3JtYXQ6OlJhdzoKKyAgICAgICAgcmVzdWx0ID0gVmVjdG9yPHVpbnQ4X3Q+KGFlc0tleS5rZXko
KSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6Okp3
azogeworICAgICAgICBKc29uV2ViS2V5IGp3ayA9IGFlc0tleS5leHBvcnRKd2soKTsKKyAgICAg
ICAgc3dpdGNoIChhZXNLZXkua2V5KCkuc2l6ZSgpICogOCkgeworICAgICAgICBjYXNlIENyeXB0
b0tleUFFUzo6c19sZW5ndGgxMjg6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzEy
OCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVu
Z3RoMTkyOgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEcxOTIpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDI1NjoKKyAgICAg
ICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMjU2KTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
IH0KKyAgICAgICAgcmVzdWx0ID0gV1RGTW92ZShqd2spOworICAgICAgICBicmVhazsKKyAgICB9
CisgICAgZGVmYXVsdDoKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9F
UlIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY2FsbGJhY2soZm9ybWF0LCBXVEZN
b3ZlKHJlc3VsdCkpOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0aG1BRVNf
Q0JDOjplbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBw
YXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXkmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0
YSYgZGF0YSwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVy
ZUNhbGxiYWNrKQogewogICAgIGF1dG8mIGFlc0NCQ1BhcmFtZXRlcnMgPSBkb3duY2FzdDxDcnlw
dG9BbGdvcml0aG1BZXNDYmNQYXJhbXNEZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19D
QkMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19DQkMuaAppbmRleCAyZWI0YjQxNTRmMjkyMDYxNTYxMTJkNGMyMjkxYjliNTg5NTdhNTNlLi5j
NGNjNWM5YmRjZGI5MDc4YjUxZDQ4NWM2NjYwZmU3Yjc2NmE1MzU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NC
Qy5oCkBAIC00Niw2ICs0Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNv
bnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4
dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwg
RXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIGZpbmFsOwogICAg
IHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0
IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2Fs
bGJhY2smJikgZmluYWw7CisgICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3Jt
YXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxs
YmFjayYmKSBmaW5hbDsKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGVuY3J5cHQoY29uc3QgQ3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25z
dCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYg
ZmFpbHVyZUNhbGxiYWNrKSBmaW5hbDsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBkZWNyeXB0KGNv
bnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5
JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxs
YmFjayYmIGZhaWx1cmVDYWxsYmFjaykgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNwcAppbmRleCBl
NmIwNGM0MTU5MDMwNTUzOGE0NjFmYWMwNmZhZWNlMjIwNDJlZDZhLi42ZjYyYzg2MmE2MzhmYzM5
ZmNhNDhhY2Y1YzRkNzNhMmY1NDllNWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAKQEAgLTM2LDYg
KzM2LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0IGNoYXIqIGNv
bnN0IEFMRzEyOCA9ICJBMTI4S1ciOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzE5MiA9
ICJBMTkyS1ciOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzI1NiA9ICJBMjU2S1ciOwor
CiBzdGF0aWMgaW5saW5lIGJvb2wgdXNhZ2VzQXJlSW52YWxpZEZvckNyeXB0b0FsZ29yaXRobUFF
U19LVyhDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMpCiB7CiAgICAgcmV0dXJuIHVzYWdlcyAm
IChDcnlwdG9LZXlVc2FnZVNpZ24gfCBDcnlwdG9LZXlVc2FnZVZlcmlmeSB8IENyeXB0b0tleVVz
YWdlRGVyaXZlS2V5IHwgQ3J5cHRvS2V5VXNhZ2VEZXJpdmVCaXRzIHwgQ3J5cHRvS2V5VXNhZ2VF
bmNyeXB0IHwgQ3J5cHRvS2V5VXNhZ2VEZWNyeXB0KTsKQEAgLTkxLDExICs5NSwxMSBAQCB2b2lk
IENyeXB0b0FsZ29yaXRobUFFU19LVzo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0
IGZvcm1hdCwgS2V5RGF0YSYmCiAgICAgICAgIHJlc3VsdCA9IENyeXB0b0tleUFFUzo6aW1wb3J0
SndrKHBhcmFtZXRlcnMtPmlkZW50aWZpZXIsIFdURk1vdmUoV1RGOjpnZXQ8SnNvbldlYktleT4o
ZGF0YSkpLCBleHRyYWN0YWJsZSwgdXNhZ2VzLCBbXShzaXplX3QgbGVuZ3RoLCBjb25zdCBPcHRp
b25hbDxTdHJpbmc+JiBhbGcpIC0+IGJvb2wgewogICAgICAgICAgICAgc3dpdGNoIChsZW5ndGgp
IHsKICAgICAgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDEyODoKLSAgICAgICAg
ICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSAiQTEyOEtXIjsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSBBTEcxMjg7CiAgICAgICAgICAg
ICBjYXNlIENyeXB0b0tleUFFUzo6c19sZW5ndGgxOTI6Ci0gICAgICAgICAgICAgICAgcmV0dXJu
ICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gIkExOTJLVyI7CisgICAgICAgICAgICAgICAgcmV0dXJu
ICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMTkyOwogICAgICAgICAgICAgY2FzZSBDcnlwdG9L
ZXlBRVM6OnNfbGVuZ3RoMjU2OgotICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52
YWx1ZSgpID09ICJBMjU2S1ciOworICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8IGFsZy52
YWx1ZSgpID09IEFMRzI1NjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgfSk7CkBAIC0xMTMsNiArMTE3LDQ2IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGht
QUVTX0tXOjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBLZXlEYXRh
JiYKICAgICBjYWxsYmFjaygqcmVzdWx0KTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1BRVNf
S1c6OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIFJlZlB0cjxDcnlw
dG9LZXk+JiYga2V5LCBLZXlEYXRhQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJh
Y2smJiBleGNlcHRpb25DYWxsYmFjaykKK3sKKyAgICBjb25zdCBhdXRvJiBhZXNLZXkgPSBkb3du
Y2FzdDxDcnlwdG9LZXlBRVM+KCprZXkpOworCisgICAgaWYgKGFlc0tleS5rZXkoKS5pc0VtcHR5
KCkpIHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJyb3IpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgS2V5RGF0YSByZXN1bHQ7CisgICAgc3dpdGNoIChmb3Jt
YXQpIHsKKyAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpSYXc6CisgICAgICAgIHJl
c3VsdCA9IFZlY3Rvcjx1aW50OF90PihhZXNLZXkua2V5KCkpOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpKd2s6IHsKKyAgICAgICAgSnNvbldlYktl
eSBqd2sgPSBhZXNLZXkuZXhwb3J0SndrKCk7CisgICAgICAgIHN3aXRjaCAoYWVzS2V5LmtleSgp
LnNpemUoKSAqIDgpIHsKKyAgICAgICAgY2FzZSBDcnlwdG9LZXlBRVM6OnNfbGVuZ3RoMTI4Ogor
ICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEcxMjgpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgQ3J5cHRvS2V5QUVTOjpzX2xlbmd0aDE5MjoKKyAgICAgICAgICAgIGp3
ay5hbGcgPSBTdHJpbmcoQUxHMTkyKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IENyeXB0b0tleUFFUzo6c19sZW5ndGgyNTY6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5n
KEFMRzI1Nik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgICAgICAgIHJlc3VsdCA9IFdU
Rk1vdmUoandrKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAg
IGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9TVVBQT1JURURfRVJSKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGNhbGxiYWNrKGZvcm1hdCwgV1RGTW92ZShyZXN1bHQpKTsKK30KKwogRXhj
ZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjplbmNyeXB0Rm9yV3JhcEtleShj
b25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tl
eSYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYm
IGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spCiB7CiAgICAgaWYgKCFr
ZXlBbGdvcml0aG1NYXRjaGVzKGtleSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuaCBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5oCmluZGV4IDVkNWE2OGUyM2E5
NDg3N2IyMjZiNzkwODVjMDhkNGI2NWIyNjNjMTIuLjMzZmMzMDI1NGFlZTk1NmNmNjA0OWUxMGQx
MTVhOWI1NGIzMWJhZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5oCkBAIC00NSw2ICs0NSw3IEBAIHByaXZh
dGU6CiAKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJp
dG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpIGZpbmFsOwogICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0
bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1h
cCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9pZCBl
eHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYsIEtl
eURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKIAogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IGVuY3J5cHRGb3JXcmFwS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9u
RGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykg
ZmluYWw7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gZGVjcnlwdEZvclVud3JhcEtleShjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNv
bnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2sm
JiBmYWlsdXJlQ2FsbGJhY2spIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNwcAppbmRleCBkMGE3NDc1OGVi
OTE2ZDZmNDE1Y2U2NDgyOWQ1YjU5NDBlNTIxYTRkLi43YzM1YzVhMzg1Yjk0YmE0YWYyMGVjMDI5
YjA3ZTg5NGY1OTQwMTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNwcApAQCAtMzcsNiArMzcsMTIgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMSA9ICJI
UzEiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzIyNCA9ICJIUzIyNCI7CitzdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIkhTMjU2IjsKK3N0YXRpYyBjb25zdCBjaGFyKiBj
b25zdCBBTEczODQgPSAiSFMzODQiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzUxMiA9
ICJIUzUxMiI7CisKIHN0YXRpYyBpbmxpbmUgYm9vbCB1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5cHRv
QWxnb3JpdGhtSE1BQyhDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMpCiB7CiAgICAgcmV0dXJu
IHVzYWdlcyAmIChDcnlwdG9LZXlVc2FnZUVuY3J5cHQgfCBDcnlwdG9LZXlVc2FnZURlY3J5cHQg
fCBDcnlwdG9LZXlVc2FnZURlcml2ZUtleSB8IENyeXB0b0tleVVzYWdlRGVyaXZlQml0cyB8IENy
eXB0b0tleVVzYWdlV3JhcEtleSB8IENyeXB0b0tleVVzYWdlVW53cmFwS2V5KTsKQEAgLTEwNCwx
NSArMTEwLDE1IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6aW1wb3J0S2V5KFN1YnRsZUNy
eXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgS2V5RGF0YSYmIGRhCiAgICAgICAgIGF1dG8gY2hlY2tB
bGdDYWxsYmFjayA9IFtdKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgY29uc3QgT3B0
aW9uYWw8U3RyaW5nPiYgYWxnKSAtPiBib29sIHsKICAgICAgICAgICAgIHN3aXRjaCAoaGFzaCkg
ewogICAgICAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMToKLSAg
ICAgICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSAiSFMxIjsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gIWFsZyB8fCBhbGcudmFsdWUoKSA9PSBBTEcxOwogICAgICAgICAg
ICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMjI0OgotICAgICAgICAgICAg
ICAgIHJldHVybiAhYWxnIHx8IGFsZy52YWx1ZSgpID09ICJIUzIyNCI7CisgICAgICAgICAgICAg
ICAgcmV0dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMjI0OwogICAgICAgICAgICAgY2Fz
ZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMjU2OgotICAgICAgICAgICAgICAgIHJl
dHVybiAhYWxnIHx8IGFsZy52YWx1ZSgpID09ICJIUzI1NiI7CisgICAgICAgICAgICAgICAgcmV0
dXJuICFhbGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMjU2OwogICAgICAgICAgICAgY2FzZSBDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMzg0OgotICAgICAgICAgICAgICAgIHJldHVybiAh
YWxnIHx8IGFsZy52YWx1ZSgpID09ICJIUzM4NCI7CisgICAgICAgICAgICAgICAgcmV0dXJuICFh
bGcgfHwgYWxnLnZhbHVlKCkgPT0gQUxHMzg0OwogICAgICAgICAgICAgY2FzZSBDcnlwdG9BbGdv
cml0aG1JZGVudGlmaWVyOjpTSEFfNTEyOgotICAgICAgICAgICAgICAgIHJldHVybiAhYWxnIHx8
IGFsZy52YWx1ZSgpID09ICJIUzUxMiI7CisgICAgICAgICAgICAgICAgcmV0dXJuICFhbGcgfHwg
YWxnLnZhbHVlKCkgPT0gQUxHNTEyOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CkBAIC0xMzMsNiArMTM5LDUyIEBAIHZv
aWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0
IGZvcm1hdCwgS2V5RGF0YSYmIGRhCiAgICAgY2FsbGJhY2soKnJlc3VsdCk7CiB9CiAKK3ZvaWQg
Q3J5cHRvQWxnb3JpdGhtSE1BQzo6ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZv
cm1hdCwgUmVmUHRyPENyeXB0b0tleT4mJiBrZXksIEtleURhdGFDYWxsYmFjayYmIGNhbGxiYWNr
LCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIGNvbnN0IGF1
dG8mIGhtYWNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlITUFDPigqa2V5KTsKKworICAgIGlmICho
bWFjS2V5LmtleSgpLmlzRW1wdHkoKSkgeworICAgICAgICBleGNlcHRpb25DYWxsYmFjayhPcGVy
YXRpb25FcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBLZXlEYXRhIHJlc3Vs
dDsKKyAgICBzd2l0Y2ggKGZvcm1hdCkgeworICAgIGNhc2UgU3VidGxlQ3J5cHRvOjpLZXlGb3Jt
YXQ6OlJhdzoKKyAgICAgICAgcmVzdWx0ID0gVmVjdG9yPHVpbnQ4X3Q+KGhtYWNLZXkua2V5KCkp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpKd2s6
IHsKKyAgICAgICAgSnNvbldlYktleSBqd2sgPSBobWFjS2V5LmV4cG9ydEp3aygpOworICAgICAg
ICBzd2l0Y2ggKGhtYWNLZXkuaGFzaEFsZ29yaXRobUlkZW50aWZpZXIoKSkgeworICAgICAgICBj
YXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8xOgorICAgICAgICAgICAgandrLmFs
ZyA9IFN0cmluZyhBTEcxKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0
b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yMjQ6CisgICAgICAgICAgICBqd2suYWxnID0gU3Ry
aW5nKEFMRzIyNCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9BbGdv
cml0aG1JZGVudGlmaWVyOjpTSEFfMjU2OgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhB
TEcyNTYpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllcjo6U0hBXzM4NDoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMzg0
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXI6OlNIQV81MTI6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzUxMik7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgICAgICAgIHJlc3VsdCA9IFdURk1vdmUoandrKTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGV4Y2VwdGlvbkNh
bGxiYWNrKE5PVF9TVVBQT1JURURfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGNhbGxiYWNrKGZvcm1hdCwgV1RGTW92ZShyZXN1bHQpKTsKK30KKwogRXhjZXB0aW9uT3I8dm9p
ZD4gQ3J5cHRvQWxnb3JpdGhtSE1BQzo6c2lnbihjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5JiBrZXksIGNvbnN0IENy
eXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRD
YWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykKIHsKICAgICBhdXRvJiBobWFjUGFyYW1ldGVycyA9
IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUhtYWNQYXJhbXNEZXByZWNhdGVkPihwYXJhbWV0ZXJz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0Fs
Z29yaXRobUhNQUMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0Fs
Z29yaXRobUhNQUMuaAppbmRleCBjOTUyMDMzNDBmODgyZTg4M2RhMWJlODJlM2FkYjlkZDBkMmEz
ODRlLi5iYWE0ZDkxZWNlNjEyODZjNDZlMTAzZGE1MTA2OGQ4Zjc2MjA4YTIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1B
Qy5oCkBAIC00Niw2ICs0Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNv
bnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4
dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwg
RXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIGZpbmFsOwogICAg
IHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0
IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2Fs
bGJhY2smJikgZmluYWw7CisgICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3Jt
YXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxs
YmFjayYmKSBmaW5hbDsKIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgd2lsbCBiZSBkZXByZWNhdGVk
LgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNpZ24oY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25E
YXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKSBm
aW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKaW5kZXggMDgxYTFi
NmUzZDhkZDQxMjU5MTM0ZTQwZDhhMWY3NTNhZjY1MDUxNy4uYWUxNGQyODg0OWNkNzEyYWVmNGNl
OTI1NzU4OWExOTE4YTk4MWFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFf
NS5jcHAKQEAgLTM4LDYgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgQUxHID0gIlJTQTFfNSI7CisKIFJlZjxDcnlwdG9BbGdvcml0aG0+
IENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmNyZWF0ZSgpCiB7CiAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNSk7CkBAIC05Miw3
ICs5NCw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6aW1wb3J0S2V5
KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwKICAgICAgICAgICAgIGV4Y2VwdGlvbkNh
bGxiYWNrKERhdGFFcnJvcik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAg
ICAgaWYgKGtleS5hbGcgJiYga2V5LmFsZy52YWx1ZSgpICE9ICJSU0ExXzUiKSB7CisgICAgICAg
IGlmIChrZXkuYWxnICYmIGtleS5hbGcudmFsdWUoKSAhPSBBTEcpIHsKICAgICAgICAgICAgIGV4
Y2VwdGlvbkNhbGxiYWNrKERhdGFFcnJvcik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KQEAgLTExMSw2ICsxMTMsMzEgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92
MV81OjppbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LAogICAgIGNhbGxi
YWNrKCpyZXN1bHQpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6
OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIFJlZlB0cjxDcnlwdG9L
ZXk+JiYga2V5LCBLZXlEYXRhQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2sm
JiBleGNlcHRpb25DYWxsYmFjaykKK3sKKyAgICBjb25zdCBhdXRvJiByc2FLZXkgPSBkb3duY2Fz
dDxDcnlwdG9LZXlSU0E+KCprZXkpOworCisgICAgaWYgKCFyc2FLZXkua2V5U2l6ZUluQml0cygp
KSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE9wZXJhdGlvbkVycm9yKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIEtleURhdGEgcmVzdWx0OworICAgIHN3aXRjaCAoZm9ybWF0
KSB7CisgICAgY2FzZSBTdWJ0bGVDcnlwdG86OktleUZvcm1hdDo6SndrOiB7CisgICAgICAgIEpz
b25XZWJLZXkgandrID0gcnNhS2V5LmV4cG9ydEp3aygpOworICAgICAgICBqd2suYWxnID0gU3Ry
aW5nKEFMRyk7CisgICAgICAgIHJlc3VsdCA9IFdURk1vdmUoandrKTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9TVVBQ
T1JURURfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbGxiYWNrKGZvcm1h
dCwgV1RGTW92ZShyZXN1bHQpKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3Jp
dGhtUlNBRVNfUEtDUzFfdjFfNTo6ZW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRp
b25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBm
YWlsdXJlQ2FsbGJhY2spCiB7CiAgICAgaWYgKCFrZXlBbGdvcml0aG1NYXRjaGVzKGtleSkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1SU0FFU19QS0NTMV92MV81LmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmgKaW5kZXggZWJiZTAyYTRmZGYwNDY4ZmFj
MTQ5NmU3Yjk0OTcyY2ZkY2Y2NjA1NC4uYzliYzQwNTM4NWQ4ZjljNDYyZGY4Mzk0ZGQ2MjA0ZDY4
YjRkZjZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5
cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaApAQCAtNDYsNiAr
NDYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1
ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxi
YWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSBmaW5hbDsKICAgICB2b2lkIGltcG9ydEtl
eShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFs
OworICAgIHZvaWQgZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBSZWZQdHI8Q3J5
cHRvS2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7
CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgYmUgZGVwcmVjYXRlZC4KICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBlbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNh
dGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3Rv
ckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykgZmluYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1S
U0FTU0FfUEtDUzFfdjFfNS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHAKaW5kZXggZjA0MjJkNmUxOWEyOGU2
N2Q5YjkzMzUwMzBjNzk0MDQwY2Q0OGIwZi4uMWM1MzY2N2Y0YjFhNzVmZWM5Y2VmYzY2ZTU2YjFm
Yjc5YjQ5MjFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmNwcApA
QCAtNDAsNiArNDAsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgY29uc3Qg
Y2hhciogY29uc3QgQUxHMSA9ICJSUzEiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEFMRzIy
NCA9ICJSUzIyNCI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIlJTMjU2IjsK
K3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBBTEczODQgPSAiUlMzODQiOworc3RhdGljIGNvbnN0
IGNoYXIqIGNvbnN0IEFMRzUxMiA9ICJSUzUxMiI7CisKIFJlZjxDcnlwdG9BbGdvcml0aG0+IENy
eXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpjcmVhdGUoKQogewogICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81KTsKQEAgLTEwMywx
OSArMTA5LDE5IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6OmltcG9y
dEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsCiAgICAgICAgIGJvb2wgaXNNYXRj
aGVkID0gZmFsc2U7CiAgICAgICAgIHN3aXRjaCAocnNhUGFyYW1ldGVycy5oYXNoSWRlbnRpZmll
cikgewogICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8xOgotICAg
ICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09ICJSUzEi
OworICAgICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09
IEFMRzE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyOjpTSEFfMjI0OgotICAgICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwg
a2V5LmFsZy52YWx1ZSgpID09ICJSUzIyNCI7CisgICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5
LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxHMjI0OwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzI1NjoKLSAgICAgICAg
ICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUoKSA9PSAiUlMyNTYiOwor
ICAgICAgICAgICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09IEFM
RzI1NjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlk
ZW50aWZpZXI6OlNIQV8zODQ6Ci0gICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8fCBr
ZXkuYWxnLnZhbHVlKCkgPT0gIlJTMzg0IjsKKyAgICAgICAgICAgIGlzTWF0Y2hlZCA9ICFrZXku
YWxnIHx8IGtleS5hbGcudmFsdWUoKSA9PSBBTEczODQ7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfNTEyOgotICAgICAgICAg
ICAgaXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09ICJSUzUxMiI7Cisg
ICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxH
NTEyOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBi
cmVhazsKQEAgLTE0MCw2ICsxNDYsNDkgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtD
UzFfdjFfNTo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwKICAgICBj
YWxsYmFjaygqcmVzdWx0KTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFf
djFfNTo6ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZvcm1hdCwgUmVmUHRyPENy
eXB0b0tleT4mJiBrZXksIEtleURhdGFDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxs
YmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIGNvbnN0IGF1dG8mIHJzYUtleSA9IGRv
d25jYXN0PENyeXB0b0tleVJTQT4oKmtleSk7CisKKyAgICBpZiAoIXJzYUtleS5rZXlTaXplSW5C
aXRzKCkpIHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0aW9uRXJyb3IpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgS2V5RGF0YSByZXN1bHQ7CisgICAgc3dpdGNoIChm
b3JtYXQpIHsKKyAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0OjpKd2s6IHsKKyAgICAg
ICAgSnNvbldlYktleSBqd2sgPSByc2FLZXkuZXhwb3J0SndrKCk7CisgICAgICAgIHN3aXRjaCAo
cnNhS2V5Lmhhc2hBbGdvcml0aG1JZGVudGlmaWVyKCkpIHsKKyAgICAgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMToKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmco
QUxHMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyOjpTSEFfMjI0OgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEcyMjQp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
Zmllcjo6U0hBXzI1NjoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJpbmcoQUxHMjU2KTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6
OlNIQV8zODQ6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFMRzM4NCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFf
NTEyOgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEc1MTIpOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgfQorICAgICAgICByZXN1bHQgPSBXVEZNb3ZlKGp3ayk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICBkZWZhdWx0OgorICAgICAgICBleGNlcHRpb25DYWxsYmFjayhOT1Rf
U1VQUE9SVEVEX0VSUik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjYWxsYmFjayhm
b3JtYXQsIFdURk1vdmUocmVzdWx0KSk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0Fs
Z29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpzaWduKGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXkmIGtleSwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgVm9p
ZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKQogewogICAgIGF1dG8mIHJzYVNTQVBhcmFtZXRl
cnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1Sc2FTc2FQYXJhbXNEZXByZWNhdGVkPihwYXJh
bWV0ZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5oCmluZGV4IGVlOTc1
YjJhYzE4MmFmNjM1MjMzYmI2MjBhYTA0Y2JlY2VlMGVjYzkuLjJmOTIyMWMxMDI1NTljY2VkNzkz
Y2U2MmIzODBhZTc0NTdjNjg5MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3Yx
XzUuaApAQCAtNDYsNiArNDYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBnZW5lcmF0ZUtleShj
b25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYs
IEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSBmaW5hbDsKICAg
ICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25z
dCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNh
bGxiYWNrJiYpIGZpbmFsOworICAgIHZvaWQgZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9y
bWF0LCBSZWZQdHI8Q3J5cHRvS2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2Fs
bGJhY2smJikgZmluYWw7CiAKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzaWduKGNvbnN0IENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZh
aWx1cmVDYWxsYmFjaykgZmluYWw7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gdmVyaWZ5KGNvbnN0
IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5Jiwg
Y29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgc2lnbmF0dXJlLCBjb25zdCBDcnlwdG9PcGVyYXRp
b25EYXRhJiwgQm9vbENhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykg
ZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1SU0FfT0FFUC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUC5jcHAKaW5kZXggNWEwZDMzNGVhMDg2Nzg0N2U3Mzk4
OTU1YTE3MDA0NWY4ZDQzYWEwYi4uNGQ2MmJiMGJhNWUxOTQ3ZWZmMjVlODRjZTU0MDc0YzkzNDJm
ZDQ2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRv
QWxnb3JpdGhtUlNBX09BRVAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmNwcApAQCAtNDAsNiArNDAsMTIgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMSA9ICJSU0Et
T0FFUCI7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjI0ID0gIlJTQS1PQUVQLTIyNCI7
CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQUxHMjU2ID0gIlJTQS1PQUVQLTI1NiI7CitzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgQUxHMzg0ID0gIlJTQS1PQUVQLTM4NCI7CitzdGF0aWMgY29u
c3QgY2hhciogY29uc3QgQUxHNTEyID0gIlJTQS1PQUVQLTUxMiI7CisKIFJlZjxDcnlwdG9BbGdv
cml0aG0+IENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpjcmVhdGUoKQogewogICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IENyeXB0b0FsZ29yaXRobVJTQV9PQUVQKTsKQEAgLTExNCwxOSArMTIwLDE5
IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmltcG9ydEtleShTdWJ0bGVDcnlwdG86
OktleUZvcm1hdCBmb3JtYXQsIEtleURhdGEmCiAgICAgICAgIGJvb2wgaXNNYXRjaGVkID0gZmFs
c2U7CiAgICAgICAgIHN3aXRjaCAocnNhUGFyYW1ldGVycy5oYXNoSWRlbnRpZmllcikgewogICAg
ICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8xOgotICAgICAgICAgICAg
aXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09ICJSU0EtT0FFUCI7Cisg
ICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxH
MTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXI6OlNIQV8yMjQ6Ci0gICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8fCBrZXku
YWxnLnZhbHVlKCkgPT0gIlJTQS1PQUVQLTIyNCI7CisgICAgICAgICAgICBpc01hdGNoZWQgPSAh
a2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxHMjI0OwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzI1NjoKLSAgICAg
ICAgICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFsdWUoKSA9PSAiUlNBLU9B
RVAtMjU2IjsKKyAgICAgICAgICAgIGlzTWF0Y2hlZCA9ICFrZXkuYWxnIHx8IGtleS5hbGcudmFs
dWUoKSA9PSBBTEcyNTY7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMzg0OgotICAgICAgICAgICAgaXNNYXRjaGVkID0gIWtl
eS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09ICJSU0EtT0FFUC0zODQiOworICAgICAgICAgICAg
aXNNYXRjaGVkID0gIWtleS5hbGcgfHwga2V5LmFsZy52YWx1ZSgpID09IEFMRzM4NDsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNI
QV81MTI6Ci0gICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8fCBrZXkuYWxnLnZhbHVl
KCkgPT0gIlJTQS1PQUVQLTUxMiI7CisgICAgICAgICAgICBpc01hdGNoZWQgPSAha2V5LmFsZyB8
fCBrZXkuYWxnLnZhbHVlKCkgPT0gQUxHNTEyOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKQEAgLTE1MSw2ICsxNTcsNDkgQEAgdm9pZCBD
cnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6aW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0
IGZvcm1hdCwgS2V5RGF0YSYKICAgICBjYWxsYmFjaygqcmVzdWx0KTsKIH0KIAordm9pZCBDcnlw
dG9BbGdvcml0aG1SU0FfT0FFUDo6ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0IGZv
cm1hdCwgUmVmUHRyPENyeXB0b0tleT4mJiBrZXksIEtleURhdGFDYWxsYmFjayYmIGNhbGxiYWNr
LCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrKQoreworICAgIGNvbnN0IGF1
dG8mIHJzYUtleSA9IGRvd25jYXN0PENyeXB0b0tleVJTQT4oKmtleSk7CisKKyAgICBpZiAoIXJz
YUtleS5rZXlTaXplSW5CaXRzKCkpIHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0
aW9uRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgS2V5RGF0YSByZXN1bHQ7
CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICBjYXNlIFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0
OjpKd2s6IHsKKyAgICAgICAgSnNvbldlYktleSBqd2sgPSByc2FLZXkuZXhwb3J0SndrKCk7Cisg
ICAgICAgIHN3aXRjaCAocnNhS2V5Lmhhc2hBbGdvcml0aG1JZGVudGlmaWVyKCkpIHsKKyAgICAg
ICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMToKKyAgICAgICAgICAgIGp3
ay5hbGcgPSBTdHJpbmcoQUxHMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBD
cnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfMjI0OgorICAgICAgICAgICAgandrLmFsZyA9
IFN0cmluZyhBTEcyMjQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzI1NjoKKyAgICAgICAgICAgIGp3ay5hbGcgPSBTdHJp
bmcoQUxHMjU2KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENyeXB0b0FsZ29y
aXRobUlkZW50aWZpZXI6OlNIQV8zODQ6CisgICAgICAgICAgICBqd2suYWxnID0gU3RyaW5nKEFM
RzM4NCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyOjpTSEFfNTEyOgorICAgICAgICAgICAgandrLmFsZyA9IFN0cmluZyhBTEc1MTIp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQorICAgICAgICByZXN1bHQgPSBXVEZNb3ZlKGp3
ayk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBkZWZhdWx0OgorICAgICAgICBleGNlcHRp
b25DYWxsYmFjayhOT1RfU1VQUE9SVEVEX0VSUik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBjYWxsYmFjayhmb3JtYXQsIFdURk1vdmUocmVzdWx0KSk7Cit9CisKIEV4Y2VwdGlvbk9y
PHZvaWQ+IENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjplbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXkmIGtl
eSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJhY2smJiBjYWxs
YmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKQogewogICAgIGF1dG8mIHJzYU9B
RVBQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtUnNhT2FlcFBhcmFtc0RlcHJl
Y2F0ZWQ+KHBhcmFtZXRlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmgKaW5kZXggMDQ4ZDMzYWM3ZjNk
NDJjOWY1OGMxZjJkZDY3OTMwZjVjYzIwOGQ0My4uYjVmZDU4MmQ0ZDg2ZjQzYjA2ZjdkMjA5OTJm
MTRjNzg5ZDUzZGMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUC5oCkBAIC00Niw2ICs0Niw3IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpIGZpbmFsOwogICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNy
eXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJp
dG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgdm9p
ZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZlB0cjxDcnlwdG9LZXk+JiYs
IEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKIAogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IGVuY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwg
VmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKSBmaW5hbDsK
ICAgICBFeGNlcHRpb25Pcjx2b2lkPiBkZWNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9u
RGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykg
ZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlB
RVMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcAppbmRl
eCBmNTRjZTE0YzgwODM0ZjkwZGJjYTI3NmYxNzc0YmNjM2UyY2QwZjRmLi4zZWJiNDJkN2UxNjNm
OWMyYWQ3NDc4ODQyMTRmODNmMGI5ZGJjZjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleUFFUy5jcHAKQEAgLTEwNCw2ICsxMDQsMTYgQEAgUmVmUHRyPENyeXB0b0tl
eUFFUz4gQ3J5cHRvS2V5QUVTOjppbXBvcnRKd2soQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBh
bGdvcml0aG0KICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENyeXB0b0tleUFFUyhhbGdvcml0aG0s
IFdURk1vdmUob2N0ZXRTZXF1ZW5jZSksIGV4dHJhY3RhYmxlLCB1c2FnZXMpKTsKIH0KIAorSnNv
bldlYktleSBDcnlwdG9LZXlBRVM6OmV4cG9ydEp3aygpIGNvbnN0Cit7CisgICAgSnNvbldlYktl
eSByZXN1bHQ7CisgICAgcmVzdWx0Lmt0eSA9ICJvY3QiOworICAgIHJlc3VsdC5rID0gYmFzZTY0
VVJMRW5jb2RlKG1fa2V5KTsKKyAgICByZXN1bHQua2V5X29wcyA9IHVzYWdlcygpOworICAgIHJl
c3VsdC5leHQgPSBleHRyYWN0YWJsZSgpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHN0ZDo6
dW5pcXVlX3B0cjxLZXlBbGdvcml0aG0+IENyeXB0b0tleUFFUzo6YnVpbGRBbGdvcml0aG0oKSBj
b25zdAogewogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEFlc0tleUFsZ29yaXRobT4oQ3J5
cHRvQWxnb3JpdGhtUmVnaXN0cnk6OnNpbmdsZXRvbigpLm5hbWUoYWxnb3JpdGhtSWRlbnRpZmll
cigpKSwgbV9rZXkuc2l6ZSgpICogOCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8va2V5cy9DcnlwdG9LZXlBRVMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0
b0tleUFFUy5oCmluZGV4IGVjNzAyNzU4ZjVjZjFiOGJmMzBhOGM4NTBkMDk3NGNhYjUyMjYxMDgu
LjBkN2ViZDlmYWZiNTE5YjY1NzIxN2ZjZmIxODM1YjM1ZWE4MDgyN2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5oCkBAIC03NCw2ICs3NCw3IEBAIHB1YmxpYzoK
ICAgICBDcnlwdG9LZXlDbGFzcyBrZXlDbGFzcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENyeXB0
b0tleUNsYXNzOjpBRVM7IH0KIAogICAgIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5KCkgY29u
c3QgeyByZXR1cm4gbV9rZXk7IH0KKyAgICBKc29uV2ViS2V5IGV4cG9ydEp3aygpIGNvbnN0Owog
CiBwcml2YXRlOgogICAgIENyeXB0b0tleUFFUyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBj
b25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNh
Z2VCaXRtYXApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRv
S2V5SE1BQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNw
cAppbmRleCBkMjM5OTU0MDgyOWQ0NDkwMzYyOTU3YzEwOTUzNTQwYjIxOWUzYTE2Li5lMTU4ZDVk
YjdjZTAyMjJiODJhZjg3ZDU4NzFkOGY0Y2EwNmFkODE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmNwcApAQCAtMTE0LDYgKzExNCwxNiBAQCBSZWZQdHI8
Q3J5cHRvS2V5SE1BQz4gQ3J5cHRvS2V5SE1BQzo6aW1wb3J0SndrKHNpemVfdCBsZW5ndGhCaXRz
LCBDcnlwdG9BbGdvcml0aAogICAgIHJldHVybiBDcnlwdG9LZXlITUFDOjppbXBvcnRSYXcobGVu
Z3RoQml0cywgaGFzaCwgV1RGTW92ZShvY3RldFNlcXVlbmNlKSwgZXh0cmFjdGFibGUsIHVzYWdl
cyk7CiB9CiAKK0pzb25XZWJLZXkgQ3J5cHRvS2V5SE1BQzo6ZXhwb3J0SndrKCkgY29uc3QKK3sK
KyAgICBKc29uV2ViS2V5IHJlc3VsdDsKKyAgICByZXN1bHQua3R5ID0gIm9jdCI7CisgICAgcmVz
dWx0LmsgPSBiYXNlNjRVUkxFbmNvZGUobV9rZXkpOworICAgIHJlc3VsdC5rZXlfb3BzID0gdXNh
Z2VzKCk7CisgICAgcmVzdWx0LmV4dCA9IGV4dHJhY3RhYmxlKCk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKwogc3RkOjp1bmlxdWVfcHRyPEtleUFsZ29yaXRobT4gQ3J5cHRvS2V5SE1BQzo6YnVp
bGRBbGdvcml0aG0oKSBjb25zdAogewogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEhtYWNL
ZXlBbGdvcml0aG0+KENyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5OjpzaW5nbGV0b24oKS5uYW1lKGFs
Z29yaXRobUlkZW50aWZpZXIoKSksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
a2V5cy9DcnlwdG9LZXlITUFDLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9L
ZXlITUFDLmgKaW5kZXggZTdhZWY5ODFkN2MyNDY4MmYwYmZkNDJlMDBhMGIwZGZmNWZhOGE2Mi4u
NzFhZDMwNTA1OGQyMTExNjdkYTUwZjUzODllNzg0ZjgzM2ZlYTg3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUhNQUMuaApAQCAtNzAsNiArNzAsNyBAQCBwdWJsaWM6
CiAgICAgQ3J5cHRvS2V5Q2xhc3Mga2V5Q2xhc3MoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDcnlw
dG9LZXlDbGFzczo6SE1BQzsgfQogCiAgICAgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXkoKSBj
b25zdCB7IHJldHVybiBtX2tleTsgfQorICAgIEpzb25XZWJLZXkgZXhwb3J0SndrKCkgY29uc3Q7
CiAKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2hBbGdvcml0aG1JZGVudGlmaWVy
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNoOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5
cy9DcnlwdG9LZXlSU0EuY3BwCmluZGV4IDBkMTQzODFmNWIyMTk2NWU0OTZlNjg4Y2U4MTRmMDc3
MDE1OGI0ODYuLjU5NGM2YWY5MGUyY2E4M2ExZmZmZDUwMmU4MzdhNzdkNzMwNGEzOGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5UlNBLmNwcApAQCAtMTA4LDYgKzEw
OCw0NiBAQCBSZWZQdHI8Q3J5cHRvS2V5UlNBPiBDcnlwdG9LZXlSU0E6OmltcG9ydEp3ayhDcnlw
dG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobQogICAgIHJldHVybiBDcnlwdG9LZXlSU0E6
OmNyZWF0ZShhbGdvcml0aG0sIGhhc2gudmFsdWVPcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
OjpTSEFfMSksICEhaGFzaCwgKnByaXZhdGVLZXlDb21wb25lbnRzLCBleHRyYWN0YWJsZSwgdXNh
Z2VzKTsKIH0KIAorSnNvbldlYktleSBDcnlwdG9LZXlSU0E6OmV4cG9ydEp3aygpIGNvbnN0Cit7
CisgICAgSnNvbldlYktleSByZXN1bHQ7CisgICAgcmVzdWx0Lmt0eSA9ICJSU0EiOworICAgIHJl
c3VsdC5rZXlfb3BzID0gdXNhZ2VzKCk7CisgICAgcmVzdWx0LmV4dCA9IGV4dHJhY3RhYmxlKCk7
CisKKyAgICBhdXRvIGtleURhdGEgPSBleHBvcnREYXRhKCk7CisgICAgY29uc3QgYXV0byYgcnNh
S2V5RGF0YSA9IGRvd25jYXN0PENyeXB0b0tleURhdGFSU0FDb21wb25lbnRzPigqa2V5RGF0YSk7
CisgICAgLy8gcHVibGljIGtleQorICAgIHJlc3VsdC5uID0gYmFzZTY0VVJMRW5jb2RlKHJzYUtl
eURhdGEubW9kdWx1cygpKTsKKyAgICByZXN1bHQuZSA9IGJhc2U2NFVSTEVuY29kZShyc2FLZXlE
YXRhLmV4cG9uZW50KCkpOworICAgIGlmIChyc2FLZXlEYXRhLnR5cGUoKSA9PSBDcnlwdG9LZXlE
YXRhUlNBQ29tcG9uZW50czo6VHlwZTo6UHVibGljKQorICAgICAgICByZXR1cm4gcmVzdWx0Owor
CisgICAgLy8gcHJpdmF0ZSBrZXkKKyAgICByZXN1bHQuZCA9IGJhc2U2NFVSTEVuY29kZShyc2FL
ZXlEYXRhLnByaXZhdGVFeHBvbmVudCgpKTsKKyAgICBpZiAoIXJzYUtleURhdGEuaGFzQWRkaXRp
b25hbFByaXZhdGVLZXlQYXJhbWV0ZXJzKCkpCisgICAgICAgIHJldHVybiByZXN1bHQ7CisKKyAg
ICByZXN1bHQucCA9IGJhc2U2NFVSTEVuY29kZShyc2FLZXlEYXRhLmZpcnN0UHJpbWVJbmZvKCku
cHJpbWVGYWN0b3IpOworICAgIHJlc3VsdC5xID0gYmFzZTY0VVJMRW5jb2RlKHJzYUtleURhdGEu
c2Vjb25kUHJpbWVJbmZvKCkucHJpbWVGYWN0b3IpOworICAgIHJlc3VsdC5kcCA9IGJhc2U2NFVS
TEVuY29kZShyc2FLZXlEYXRhLmZpcnN0UHJpbWVJbmZvKCkuZmFjdG9yQ1JURXhwb25lbnQpOwor
ICAgIHJlc3VsdC5kcSA9IGJhc2U2NFVSTEVuY29kZShyc2FLZXlEYXRhLnNlY29uZFByaW1lSW5m
bygpLmZhY3RvckNSVEV4cG9uZW50KTsKKyAgICByZXN1bHQucWkgPSBiYXNlNjRVUkxFbmNvZGUo
cnNhS2V5RGF0YS5zZWNvbmRQcmltZUluZm8oKS5mYWN0b3JDUlRDb2VmZmljaWVudCk7CisgICAg
aWYgKHJzYUtleURhdGEub3RoZXJQcmltZUluZm9zKCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1
cm4gcmVzdWx0OworCisgICAgVmVjdG9yPFJzYU90aGVyUHJpbWVzSW5mbz4gb3RoOworICAgIGZv
ciAoYXV0byBpbmZvIDogcnNhS2V5RGF0YS5vdGhlclByaW1lSW5mb3MoKSkgeworICAgICAgICBS
c2FPdGhlclByaW1lc0luZm8gb3RoZXJJbmZvOworICAgICAgICBvdGhlckluZm8uciA9IGJhc2U2
NFVSTEVuY29kZShpbmZvLnByaW1lRmFjdG9yKTsKKyAgICAgICAgb3RoZXJJbmZvLmQgPSBiYXNl
NjRVUkxFbmNvZGUoaW5mby5mYWN0b3JDUlRFeHBvbmVudCk7CisgICAgICAgIG90aGVySW5mby50
ID0gYmFzZTY0VVJMRW5jb2RlKGluZm8uZmFjdG9yQ1JUQ29lZmZpY2llbnQpOworICAgICAgICBv
dGguYXBwZW5kKFdURk1vdmUob3RoZXJJbmZvKSk7CisgICAgfQorICAgIHJlc3VsdC5vdGggPSBX
VEZNb3ZlKG90aCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNVQlRMRV9DUllQVE8pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlSU0EuaCBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9rZXlzL0NyeXB0b0tleVJTQS5oCmluZGV4IDhjYTdkZDY5NjdkOWFjMTAwZmFmZjc1Y2Zi
ZjAwYTgxODUzMDlkMzMuLmVhYmRhMmI3NWI0OTViNTQ4NDZlYjhkYTBmZDg1ZjRkOWJlZGE1M2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleVJTQS5oCkBAIC0xMDMsNiAr
MTAzLDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8Q3J5cHRvS2V5UlNBPiBpbXBvcnRK
d2soQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgT3B0aW9uYWw8Q3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllcj4gaGFzaCwgSnNvbldlYktleSYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlV
c2FnZUJpdG1hcCk7CiAKICAgICBQbGF0Zm9ybVJTQUtleSBwbGF0Zm9ybUtleSgpIGNvbnN0IHsg
cmV0dXJuIG1fcGxhdGZvcm1LZXk7IH0KKyAgICBKc29uV2ViS2V5IGV4cG9ydEp3aygpIGNvbnN0
OworCisgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoQWxnb3JpdGhtSWRlbnRpZmll
cigpIGNvbnN0IHsgcmV0dXJuIG1faGFzaDsgfQogCiBwcml2YXRlOgogICAgIENyeXB0b0tleVJT
QShDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhh
c2gsIGJvb2wgaGFzSGFzaCwgQ3J5cHRvS2V5VHlwZSwgUGxhdGZvcm1SU0FLZXksIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ZjExZmVlZmNlNzY4N2Qy
YjY3MjY2ZWRmNDE2YWI4NmYzMDJkMTExLi45MDUxMjBhN2FkMDNiNjhlOTVkM2EwNDQ5MjY2NTQ5
MWM0MWVhNTAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTAgQEAKKzIwMTYtMTEtMTQgIEppZXdlbiBUYW4g
IDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgU3VidGxlQ3J5cHRvOjpl
eHBvcnRLZXkgdG8gbWF0Y2ggdGhlIGxhdGVzdCBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ3MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzI5MjUxNzQwPgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAg
ICAgQmVzaWRlcyBhZGRpbmcgdGVzdCBjYXNlcyBmb3IgU3VidGxlQ3J5cHRvOjpleHBvcnRLZXks
IHRoaXMgcGF0Y2ggYWxzbyBjb3JyZWN0cyBhIHR5cG86CisgICAgICAgIGhtYWMtaW1wb3J0LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzKiA9PiBobWFjLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRl
cnMqLgorCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLWxlbmd0aC0xMjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
c3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9z
dWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTkyLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5
LWp3ay1sZW5ndGgtMjU2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYuaHRtbDogQWRk
ZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXkt
cmF3LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2Jj
LWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9z
dWJ0bGUvYWVzLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1leHBvcnQta2V5LW1hbGZvcm1lZC1w
YXJhbWV0ZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5n
dGgtMTI4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgt
MTkyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4
cG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRs
ZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3J5cHRvL3N1YnRsZS9leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9leHBvcnQta2V5LW1hbGZvcm1lZC1w
YXJhbWV0ZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1leHBv
cnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogY3J5cHRvL3N1YnRsZS9obWFjLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRt
bDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxl
L2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLXNoYTIyNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxl
L2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNo
YTI1Ni5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5
cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
c2hhNTEyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9obWFj
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LXJhdy1r
ZXkuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXkt
bWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3Rl
ZC50eHQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXktbWFsZm9ybWVk
LXBhcmFtZXRlcnMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
aG1hYy1pbXBvcnQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbC4KKyAgICAgICAgKiBjcnlwdG8v
c3VidGxlL3JzYS1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2EtZXhwb3J0LWtleS1tYWxmb3JtZWQt
cGFyYW1ldGVycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVw
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay1zaGEyMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTI1Ni1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
c2hhMzg0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Et
b2FlcC1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEzODQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2suaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGExLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFf
NS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGExLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNy
eXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hh
MjI0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Fzc2Et
cGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyMjQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQt
a2V5LWp3ay1zaGEyNTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3Vi
dGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
c2hhMzg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3Mx
LXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1zaGE1MTIuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMv
c3VidGxlL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2suaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1nZW5l
cmF0ZS1leHBvcnQta2V5LXJhdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0
by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0
bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVy
YXRlLWV4cG9ydC1rZXktcmF3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJz
L3N1YnRsZS9yZXNvdXJjZXMvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1nZW5lcmF0ZS1l
eHBvcnQta2V5LXJhdy5qczogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxl
L3Jlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2htYWMtZ2VuZXJhdGUtZXhwb3J0
LWtleS1yYXcuanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNv
dXJjZXMvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzOiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay5odG1sOiBBZGRlZC4KKwogMjAxNi0xMS0xNCAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgSGFuZGxlIGZpbHRlcigpIGltYWdlIHR5cGUg
aW4gbmV3IENTUyBQYXJzZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDgxNjhh
YjFjN2ZlYzYwZWUyOTMwNjViMTEwOWJlNWNhMjYwMmQxYzcuLmVhNDQ4MDMxMmQ1M2ExNzYwOTZj
NTg0ZDNlY2Q1MmJlMGJkMTQyMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDE2LTExLTE0ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5j
b20+CisKKyAgICAgICAgVXBkYXRlIFN1YnRsZUNyeXB0bzo6ZXhwb3J0S2V5IHRvIG1hdGNoIHRo
ZSBsYXRlc3Qgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY0NzIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTI1MTc0MD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAgICogV2ViQ3J5cHRvQVBJL2lk
bGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorCiAyMDE2LTExLTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IFdQVCB0ZW1wbGF0ZWQgdGVzdHMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1sZW5ndGgtMTI4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kOWVlNmY3OTVkOTAzMzRhMmMzNDA1M2NmYTYzN2YzMzdmOGZkOGNl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTYgQEAKK1Rlc3QgZXhwb3J0aW5nIGEgMTI4IGJpdHMgQUVTLUNCQyBrZXkgd2l0aCBKV0sgZm9y
bWF0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5Li4u
CitFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBrZXkua2V5
X29wcyBpcyBbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddCitQ
QVNTIGtleS5hbGcgaXMgJ0ExMjhDQkMnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNl
NjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC5o
dG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLWxlbmd0aC0xMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Y2ViOTBlNjk1YjBiMzQ0ZGQxNTg4
MDA1ZGFiNTk4MWViMDhjYjllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjguaHRtbApA
QCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDEyOCBiaXRzIEFFUy1DQkMga2V5
IHdpdGggSldLIGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJh
Y3RhYmxlID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5z
dWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2JjIiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0
YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAidW53cmFwS2V5IiwgIndyYXBLZXkiXSkudGhl
bihmdW5jdGlvbihrZXkpIHsKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIGEga2V5Li4uIik7CisgICAg
cmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXkpOworfSkudGhlbihmdW5j
dGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgia2V5Lmt0
eSIsICInb2N0JyIpOworICAgIHNob3VsZEJlKCJrZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnLCAn
ZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddIik7CisgICAgc2hvdWxkQmUoImtleS5h
bGciLCAiJ0ExMjhDQkMnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAg
IHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiMTYiKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xOTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjljYjJjYWEwNTc5OTE5YmJkMzU3NDIzZjE5NWFhNTYxYTA0Mzc0
YTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSAxOTIgYml0cyBBRVMtQ0JDIGtleSB3aXRoIEpXSyBm
b3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXku
Li4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5r
ZXlfb3BzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10K
K1BBU1Mga2V5LmFsZyBpcyAnQTE5MkNCQycKK1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNTIEJh
c2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAyNAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTky
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2OTk3Mjk4ZTViYmIxMzMxMDYy
NWMwODRlZDY5MmUwMWUwOGRiYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi5odG1s
CkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgMTkyIGJpdHMgQUVTLUNCQyBr
ZXkgd2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0
cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRv
LnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6IDE5Mn0sIGV4dHJh
Y3RhYmxlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCIsICJ1bndyYXBLZXkiLCAid3JhcEtleSJdKS50
aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAg
ICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleSk7Cit9KS50aGVuKGZ1
bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJrZXku
a3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlfb3BzIiwgIlsnZGVjcnlwdCcs
ICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgia2V5
LmFsZyIsICInQTE5MkNCQyciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0cnVlIik7Cisg
ICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIsICIyNCIpOwor
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTI1Ni1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUzNTQ5NjNkNDA5ODgxNmU0MjIxOWEyZTZjYWJkOTVhMzll
NmNjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNi
Yy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE2IEBACitUZXN0IGV4cG9ydGluZyBhIDI1NiBiaXRzIEFFUy1DQkMga2V5IHdpdGggSldL
IGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtl
eS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkgaXMgJ29jdCcKK1BBU1Mga2V5
LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXkn
XQorUEFTUyBrZXkuYWxnIGlzICdBMjU2Q0JDJworUEFTUyBrZXkuZXh0IGlzIHRydWUKK1BBU1Mg
QmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIGlzIDMyCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0y
NTYuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1sZW5ndGgtMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4NjIwYTA2ZDRmMTFiMWMx
YzIyNzYxZWYyMTQyNGNlMGYxNDUwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2Lmh0
bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisK
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYSAyNTYgYml0cyBBRVMtQ0JD
IGtleSB3aXRoIEpXSyBmb3JtYXQiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBl
eHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7Citjcnlw
dG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMjU2fSwgZXh0
cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0IiwgInVud3JhcEtleSIsICJ3cmFwS2V5Il0p
LnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOwor
ICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRoZW4o
ZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtl
eS5rdHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydkZWNyeXB0
JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJr
ZXkuYWxnIiwgIidBMjU2Q0JDJyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0IiwgInRydWUiKTsK
KyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIiwgIjMyIik7
CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0
ZS1leHBvcnQta2V5LXJhdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdiNzA4ODdmOTc0Zjc2Njk2MjlkNzRjNmRjOWQ2M2UwMDg3MGRjNTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1yYXctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgZXhwb3J0aW5nIGFuIEFF
Uy1DQkMga2V5IHdpdGggcmF3IGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworR2VuZXJhdGluZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5ieXRl
TGVuZ3RoIGlzIDE2CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdl
bmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jYmMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMWE0MWRjYmEw
MDc5ZTUwNzY3MTFhN2NmM2Q0NjE0MmFiNTNjNjY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwK
QEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcgYW4gQUVTLUNCQyBrZXkgd2l0aCBy
YXcgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUg
PSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5n
ZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBb
ImRlY3J5cHQiLCAiZW5jcnlwdCIsICJ1bndyYXBLZXkiLCAid3JhcEtleSJdKS50aGVuKGZ1bmN0
aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4g
Y3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKyAgICBzaG91bGRCZSgia2V5LmJ5dGVMZW5ndGgi
LCAiMTYiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtZXhw
b3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44OTg4MDliMzU2MTc4NmNhZmIzNDM0N2U5ODhiNDU3NDNiM2Q5MjVj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtZXhwb3J0
LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAor
VGVzdCBleHBvcnRpbmcgYW4gQUVTIGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5
KCJzcGtpIiwga2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChE
T00gRXhjZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIGNy
eXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIsIGtleSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIGFsZ29yaXRobSBpcyBu
b3Qgc3VwcG9ydGVkLgorUEFTUyBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgic3BraSIsIGtleSkg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5
KTogVGhlIGFsZ29yaXRobSBpcyBub3Qgc3VwcG9ydGVkLgorUEFTUyBjcnlwdG8uc3VidGxlLmV4
cG9ydEtleSgicGtjczgiLCBrZXkpIHJlamVjdGVkIHByb21pc2UgIHdpdGggTm90U3VwcG9ydGVk
RXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBhbGdvcml0aG0gaXMgbm90IHN1cHBvcnRlZC4K
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1leHBvcnQta2V5LW1hbGZvcm1l
ZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1leHBvcnQt
a2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDRlYzUyMjVjYjlmNzlk
Nzc2YWZkZTI0NjI3MmY3NjQwYjJmZDEzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApA
QCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhbiBBRVMga2V5IHdpdGggbWFsZm9y
bWVkIHBhcmFtZXRlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0
YWJsZSA9IHRydWU7CisKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2Jj
IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAidW53
cmFwS2V5IiwgIndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSBy
ZXN1bHQ7CisKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3JtYXQuCisgICAgcmV0dXJuIHNob3VsZFJl
amVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInNwa2kiLCBrZXkpJyk7Cit9KS50aGVuKGZ1
bmN0aW9uKCkgeworICAgIHJldHVybiBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0
S2V5KCJwa2NzOCIsIGtleSknKTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIGNy
eXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMta3ciLCBsZW5ndGg6IDEyOH0sIGV4
dHJhY3RhYmxlLCBbInVud3JhcEtleSIsICJ3cmFwS2V5Il0pOworfSkudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3JtYXQu
CisgICAgcmV0dXJuIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInNwa2ki
LCBrZXkpJyk7Cit9KS50aGVuKGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBzaG91bGRSZWplY3Qo
J2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIsIGtleSknKTsKK30pLnRoZW4oZmluaXNo
SlNUZXN0LCBmaW5pc2hKU1Rlc3QpOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLWxlbmd0aC0xMjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTEyOC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGVjNzVjYTZmZjRmZDgzZmFhYjA3ZThhODVmZDNkMzRjNDYwNDEwZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0xMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYg
QEAKK1Rlc3QgZXhwb3J0aW5nIGEgMTI4IGJpdHMgQUVTLUtXIGtleSB3aXRoIEpXSyBmb3JtYXQK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4
cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3Bz
IGlzIFsndW53cmFwS2V5JywgJ3dyYXBLZXknXQorUEFTUyBrZXkuYWxnIGlzICdBMTI4S1cnCitQ
QVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5n
dGggaXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTI4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGQ4ODM2OTZkNjkwZDQyMzZkM2ZkNjQ5M2I0MTNjMzIzYTUyMmMwZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLWxlbmd0aC0xMjguaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9y
dGluZyBhIDEyOCBiaXRzIEFFUy1LVyBrZXkgd2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJh
dGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1r
dyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsidW53cmFwS2V5IiwgIndyYXBLZXkiXSku
dGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIGEga2V5Li4uIik7Cisg
ICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXkpOworfSkudGhlbihm
dW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgia2V5
Lmt0eSIsICInb2N0JyIpOworICAgIHNob3VsZEJlKCJrZXkua2V5X29wcyIsICJbJ3Vud3JhcEtl
eScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgia2V5LmFsZyIsICInQTEyOEtXJyIpOwor
ICAgIHNob3VsZEJlKCJrZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJM
LnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIiwgIjE2Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0x
OTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJh
dGUtZXhwb3J0LWtleS1qd2stbGVuZ3RoLTE5Mi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQ1
OGE0NjY4YzYxMGU4YjE3YzBkMzllYjU1MzUwMzA3OTJhMTFjMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LWxlbmd0aC0xOTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3QgZXhwb3J0aW5n
IGEgMTkyIGJpdHMgQUVTLUtXIGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgor
UEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsndW53cmFwS2V5Jywg
J3dyYXBLZXknXQorUEFTUyBrZXkuYWxnIGlzICdBMTkyS1cnCitQQVNTIGtleS5leHQgaXMgdHJ1
ZQorUEFTUyBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMjQKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1s
ZW5ndGgtMTkyLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMTkyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkxOTM2YjU5YWMx
M2UyMTIwZTlhYWU5ZGE3YjQ3MTM5NTk0ZTVmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0x
OTIuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDE5MiBiaXRzIEFF
Uy1LVyBrZXkgd2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2
YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOwor
Y3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMTkyfSwg
ZXh0cmFjdGFibGUsIFsidW53cmFwS2V5IiwgIndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihrZXkp
IHsKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5z
dWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsK
KyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgia2V5Lmt0eSIsICInb2N0JyIpOwor
ICAgIHNob3VsZEJlKCJrZXkua2V5X29wcyIsICJbJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsK
KyAgICBzaG91bGRCZSgia2V5LmFsZyIsICInQTE5MktXJyIpOworICAgIHNob3VsZEJlKCJrZXku
ZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRl
TGVuZ3RoIiwgIjI0Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
bGVuZ3RoLTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTMwZjA3NTc5ZWMxM2E5OGQ4NjM4
MjNmZGJjODUzZGZmN2Q3MWE2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3QgZXhwb3J0aW5nIGEgMjU2IGJpdHMgQUVTLUtX
IGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dl
bmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdv
Y3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsndW53cmFwS2V5JywgJ3dyYXBLZXknXQorUEFTUyBr
ZXkuYWxnIGlzICdBMjU2S1cnCitQQVNTIGtleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwu
cGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGggaXMgMzIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1sZW5ndGgtMjU2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1s
ZW5ndGgtMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGEyNzJhNDBjZGRkODc5ZWNmZDEwYzgxM2U0N2Uw
Y2Y5ZWMwMjIyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
YWVzLWt3LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWxlbmd0aC0yNTYuaHRtbApAQCAtMCwwICsx
LDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIDI1NiBiaXRzIEFFUy1LVyBrZXkgd2l0aCBKV0sg
Zm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0
cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5l
cmF0ZUtleSh7bmFtZTogImFlcy1rdyIsIGxlbmd0aDogMjU2fSwgZXh0cmFjdGFibGUsIFsidW53
cmFwS2V5IiwgIndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICBkZWJ1ZygiRXhw
b3J0aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJq
d2siLCBrZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7
CisKKyAgICBzaG91bGRCZSgia2V5Lmt0eSIsICInb2N0JyIpOworICAgIHNob3VsZEJlKCJrZXku
a2V5X29wcyIsICJbJ3Vud3JhcEtleScsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgia2V5
LmFsZyIsICInQTI1NktXJyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0IiwgInRydWUiKTsKKyAg
ICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIiwgIjMyIik7CisK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWt3LWdlbmVyYXRlLWV4
cG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVz
LWt3LWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDJl
ZjhmMTlhMmM5NDNhMWI0ODc2MmVhZmUwZTIzNDQ0NGQ5YWE4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgZXhwb3J0aW5nIGFuIEFFUy1LVyBr
ZXkgd2l0aCByYXcgZm9ybWF0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5l
cmF0aW5nIGEga2V5Li4uCitFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1Mga2V5LmJ5dGVMZW5ndGgg
aXMgMzIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1rdy1nZW5lcmF0ZS1l
eHBvcnQtcmF3LWtleS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMta3ctZ2Vu
ZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTc2ZGU0ODZlYTc1NzAyMGM5
NGFiNDM4M2I1YmRmYzc0MWE4Yjk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMta3ctZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXkuaHRtbApAQCAtMCwwICsx
LDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhbiBBRVMtS1cga2V5IHdpdGggcmF3IGZvcm1hdCIp
OworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKwor
ZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXko
e25hbWU6ICJhZXMta3ciLCBsZW5ndGg6IDI1Nn0sIGV4dHJhY3RhYmxlLCBbInVud3JhcEtleSIs
ICJ3cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBh
IGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwga2V5
KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworICAgIHNo
b3VsZEJlKCJrZXkuYnl0ZUxlbmd0aCIsICIzMiIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9
KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJh
bWV0ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMGJjNTNkYTkyOWI5MWQwZjYzNmE2YjA1
ZDJiZjIyNjM0Y2JiMGNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDIwIEBACitUZXN0IGV4cG9ydGluZyBhIGtleSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJz
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhw
b3J0S2V5KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJn
dW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgxKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGNyeXB0by5zdWJ0
bGUuZXhwb3J0S2V5KCJyYXciLCAxKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
SW52YWxpZCBDcnlwdG9LZXkuCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCB0
cnVlKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogSW52YWxpZCBDcnlwdG9LZXku
CitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCBudWxsKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogSW52YWxpZCBDcnlwdG9LZXkuCitQQVNTIGNyeXB0by5zdWJ0
bGUuZXhwb3J0S2V5KCJyYXciLCB1bmRlZmluZWQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBJbnZhbGlkIENyeXB0b0tleS4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXko
InJhdyIsIFN5bWJvbCgpKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogSW52YWxp
ZCBDcnlwdG9LZXkuCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCB7IH0pIHJl
amVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBJbnZhbGlkIENyeXB0b0tleS4KK1BBU1Mg
Y3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsICJmb28iKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogSW52YWxpZCBDcnlwdG9LZXkuCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhw
b3J0S2V5KCJyYXciLCBmYWtlZEtleSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IEludmFsaWQgQ3J5cHRvS2V5LgorUEFTUyBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwg
a2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIEludmFsaWRBY2Nlc3NFcnJvciAoRE9NIEV4Y2Vw
dGlvbiAxNSk6IFRoZSBDcnlwdG9LZXkgaXMgbm9uZXh0cmFjdGFibGUuCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2V4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRl
cnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNWJkZTVhY2I4OWVhOWM0YjQyYjM1MmZmNDg1ZWFiM2YyYWVm
Zjc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9leHBvcnQt
a2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBl
eHBvcnRpbmcgYSBrZXkgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycyIpOworCitqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKwordmFyIG5vbkV4dHJhY3RhYmxlID0gZmFsc2U7CisKK3ZhciBmYWtlZEtl
eSA9IHsKKyAgICB0eXBlOiAic2VjcmV0IiwKKyAgICBleHRyYWN0YWJsZTogdHJ1ZSwKKyAgICBh
bGdvcml0aG06IHtuYW1lOiAiQUVTLUNCQyIsIGxlbmd0aDogMTI4fSwKKyAgICB1c2FnZXM6IFsi
ZW5jcnlwdCIsICJkZWNyeXB0Il0KK30KKworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFt
ZTogImFlcy1jYmMiLCBsZW5ndGg6IDEyOH0sIG5vbkV4dHJhY3RhYmxlLCBbImRlY3J5cHQiLCAi
ZW5jcnlwdCIsICJ1bndyYXBLZXkiLCAid3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkg
eworICAgIGtleSA9IHJlc3VsdDsKKworICAgIC8vIEV4cG9ydCBub25leHRyYWN0YWJsZSBrZXku
CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwga2V5KScp
OworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworLy8gTm90IGVub3VnaCBhcmd1bWVudHMu
CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCknKTsKK3Nob3VsZFJlamVj
dCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoMSknKTsKKy8vIFdyb25nIENyeXB0b0tleS4KK3No
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIDEpJyk7CitzaG91bGRS
ZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCB0cnVlKScpOworc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgbnVsbCknKTsKK3Nob3VsZFJlamVj
dCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIHVuZGVmaW5lZCknKTsKK3Nob3VsZFJl
amVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIFN5bWJvbCgpKScpOworc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgeyB9KScpOworc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3IiwgImZvbyIpJyk7CitzaG91bGRSZWpl
Y3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJyYXciLCBmYWtlZEtleSknKTsKKzwvc2NyaXB0
PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2htYWMtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1l
dGVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNThmMzdjOWE4ZjQ0NzQ4ZDM0N2I3M2Q0YTM1
MjlmZjlmMDRmYjgyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvaG1hYy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDExIEBACitUZXN0IGV4cG9ydGluZyBhbiBITUFDIGtleSB3aXRoIG1hbGZvcm1lZCBw
YXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNyeXB0by5z
dWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwga2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1
cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBw
b3J0ZWQuCitQQVNTIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJwa2NzOCIsIGtleSkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhl
IGFsZ29yaXRobSBpcyBub3Qgc3VwcG9ydGVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvaG1hYy1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY3ZjUxMWJmMmNmMTVlZDA1ZmVhMzRiNDg1ODdhZWZiMzUxM2FkODYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZXhwb3J0
LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24u
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qg
ZXhwb3J0aW5nIGFuIEhNQUMga2V5IHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMiKTsKKworanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2NyeXB0by5z
dWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3Rh
YmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5
ID0gcmVzdWx0OworCisgICAgLy8gTm90IHN1cHBvcnQgZm9ybWF0LgorICAgIHJldHVybiBzaG91
bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwga2V5KScpOworfSkudGhl
bihmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmV4
cG9ydEtleSgicGtjczgiLCBrZXkpJyk7Cit9KS50aGVuKGZpbmlzaEpTVGVzdCwgZmluaXNoSlNU
ZXN0KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2FlN2JiZDM2MTg3OTY0OThh
MGZiZWM0MmQ1NzhlYmY2MWE0NmQyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGExLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE2IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0xIEhNQUMga2V5IHdpdGgg
SldLIGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBh
IGtleS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5rdHkgaXMgJ29jdCcKK1BBU1Mg
a2V5LmtleV9vcHMgaXMgWydzaWduJywgJ3ZlcmlmeSddCitQQVNTIGtleS5hbGcgaXMgJ0hTMScK
K1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxl
bmd0aCBpcyA2NAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1zaGExLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2ht
YWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4ZmEwMTA0
NzY2M2ZiMDhiY2FjM2E1OTEyYWYzMjc3N2ZmY2U2NmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5o
dG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTEgSE1BQyBrZXkg
d2l0aCBKV0sgZm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFj
dGFibGUgPSB0cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1
YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFi
bGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICBkZWJ1Zygi
RXhwb3J0aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5
KCJqd2siLCBrZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1
bHQ7CisKKyAgICBzaG91bGRCZSgia2V5Lmt0eSIsICInb2N0JyIpOworICAgIHNob3VsZEJlKCJr
ZXkua2V5X29wcyIsICJbJ3NpZ24nLCAndmVyaWZ5J10iKTsKKyAgICBzaG91bGRCZSgia2V5LmFs
ZyIsICInSFMxJyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91
bGRCZSgiQmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIiwgIjY0Iik7CisKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5
LWp3ay1zaGEyMjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFj
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTk3NzY5NzllMjU4YzNkMDk3NDkwM2NhNzBhNzBlYTIwZDljZDI1NAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3
ay1zaGEyMjQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3QgZXhwb3J0aW5nIGEg
U0hBLTIyNCBITUFDIGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBr
ZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsnc2lnbicsICd2ZXJpZnknXQor
UEFTUyBrZXkuYWxnIGlzICdIUzIyNCcKK1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2
NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyA2NAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyMjQuaHRtbCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEy
MjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lY2U3NDM3YWRmZjM4NTU2MjQzZDhjMzU2ZjVmZDIwYjVmODA3
NzA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3QgZXhwb3J0aW5nIGEgU0hBLTIyNCBITUFDIGtleSB3aXRoIEpXSyBmb3JtYXQiKTsKKworanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJH
ZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAi
aG1hYyIsIGhhc2g6ICJzaGEtMjI0In0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0p
LnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOwor
ICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRoZW4o
ZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtl
eS5rdHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydzaWduJywg
J3ZlcmlmeSddIik7CisgICAgc2hvdWxkQmUoImtleS5hbGciLCAiJ0hTMjI0JyIpOworICAgIHNo
b3VsZEJlKCJrZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNl
KGtleS5rKS5ieXRlTGVuZ3RoIiwgIjY0Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwor
PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLXNoYTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZjNjhkOGE1ZDQ2YzkwMzliMGY4
YTg0NjdmMDA4YWViMDg0YTY5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3QgZXhwb3J0aW5nIGEgU0hBLTI1NiBITUFDIGtleSB3aXRo
IEpXSyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcg
YSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNT
IGtleS5rZXlfb3BzIGlzIFsnc2lnbicsICd2ZXJpZnknXQorUEFTUyBrZXkuYWxnIGlzICdIUzI1
NicKK1BBU1Mga2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0
ZUxlbmd0aCBpcyA2NAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5l
cmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEyNTYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
NzkyNmVmZmJlMzIwNTA5MDYwN2QxZjcxZjAxMDUzYjAwZGM5Yzg5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LXNoYTI1Ni5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTI1
NiBITUFDIGtleSB3aXRoIEpXSyBmb3JtYXQiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7
CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMjU2
In0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7
CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3Vi
dGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Cisg
ICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtleS5rdHkiLCAiJ29jdCciKTsKKyAg
ICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydzaWduJywgJ3ZlcmlmeSddIik7CisgICAgc2hv
dWxkQmUoImtleS5hbGciLCAiJ0hTMjU2JyIpOworICAgIHNob3VsZEJlKCJrZXkuZXh0IiwgInRy
dWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIiwg
IjY0Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5l
cmF0ZS1leHBvcnQta2V5LWp3ay1zaGEzODQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMGFhYTYyZjMxMjA3YmI4NWYxMTM1YTRlYjZjMTE2NWVjNTY4MDYzNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0
ZS1leHBvcnQta2V5LWp3ay1zaGEzODQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rl
c3QgZXhwb3J0aW5nIGEgU0hBLTM4NCBITUFDIGtleSB3aXRoIEpXSyBmb3JtYXQKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBh
IGtleS4uLgorUEFTUyBrZXkua3R5IGlzICdvY3QnCitQQVNTIGtleS5rZXlfb3BzIGlzIFsnc2ln
bicsICd2ZXJpZnknXQorUEFTUyBrZXkuYWxnIGlzICdIUzM4NCcKK1BBU1Mga2V5LmV4dCBpcyB0
cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCBpcyAxMjgKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2st
c2hhMzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2stc2hhMzg0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjRiZTZiNWVhOGFhM2U4NzA2NjNk
ZTE2OTg3YjQwNTE4MGMxNzRmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGEzODQuaHRtbApAQCAtMCww
ICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIFNIQS0zODQgSE1BQyBrZXkgd2l0aCBKV0sg
Zm9ybWF0Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0
cnVlOworCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5l
cmF0ZUtleSh7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTM4NCJ9LCBleHRyYWN0YWJsZSwgWyJz
aWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBvcnRp
bmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIs
IGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKwor
ICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5rZXlf
b3BzIiwgIlsnc2lnbicsICd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidI
UzM4NCciKTsKKyAgICBzaG91bGRCZSgia2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUo
IkJhc2U2NFVSTC5wYXJzZShrZXkuaykuYnl0ZUxlbmd0aCIsICIxMjgiKTsKKworICAgIGZpbmlz
aEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LXNoYTUxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODcy
ODQxNTg2N2YyODZiNGM3NDk2ZmRhYmFhMjllYTcyYzBhZjBhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNo
YTUxMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGVzdCBleHBvcnRpbmcgYSBTSEEt
NTEyIEhNQUMga2V5IHdpdGggSldLIGZvcm1hdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworR2VuZXJhdGluZyBhIGtleS4uLgorRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIGtleS5r
dHkgaXMgJ29jdCcKK1BBU1Mga2V5LmtleV9vcHMgaXMgWydzaWduJywgJ3ZlcmlmeSddCitQQVNT
IGtleS5hbGcgaXMgJ0hTNTEyJworUEFTUyBrZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJM
LnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIGlzIDEyOAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTIuaHRtbCBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay1zaGE1MTIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iMTdhYjg5MTNmZTRiMTFhMjZiNzRlMzEyMTZlNzlhMTZiMjlmZWNk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24u
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qg
ZXhwb3J0aW5nIGEgU0hBLTUxMiBITUFDIGtleSB3aXRoIEpXSyBmb3JtYXQiKTsKKworanNUZXN0
SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5l
cmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiaG1h
YyIsIGhhc2g6ICJzaGEtNTEyIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRo
ZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtleS5r
dHkiLCAiJ29jdCciKTsKKyAgICBzaG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydzaWduJywgJ3Zl
cmlmeSddIik7CisgICAgc2hvdWxkQmUoImtleS5hbGciLCAiJ0hTNTEyJyIpOworICAgIHNob3Vs
ZEJlKCJrZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKGtl
eS5rKS5ieXRlTGVuZ3RoIiwgIjEyOCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwv
c2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LXJhdy1rZXktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ZjBjYzY0NjM2MjE4ODUzNWNjM2YwZTYzMjg0MjZhZDAxMjRi
YjNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdl
bmVyYXRlLWV4cG9ydC1yYXcta2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0
IGV4cG9ydGluZyBhbiBITUFDIGtleSB3aXRoIHJhdyBmb3JtYXQKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0V4cG9ydGluZyBhIGtleS4uLgor
UEFTUyBrZXkuYnl0ZUxlbmd0aCBpcyA2NAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1yYXcta2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjAx
YTljMDRjYWQ1NzUyYjI0MDQ5MjBhNDA1MWI1OGMwMTIyMzM5OAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQtcmF3LWtleS5o
dG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGFuIEhNQUMga2V5IHdpdGgg
cmF3IGZvcm1hdCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxl
ID0gdHJ1ZTsKKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUu
Z2VuZXJhdGVLZXkoe25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBb
InNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9y
dGluZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3
Iiwga2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0Owor
ICAgIHNob3VsZEJlKCJrZXkuYnl0ZUxlbmd0aCIsICI2NCIpOworCisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVy
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtl
eS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTliYWMxYmFh
ZWI3N2Q3ZGM0MDY3ZDk5OTcxYzg2NWRhNWIxOTBjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitUZXN0IGltcG9ydGluZyBhbiBITUFDIGtl
eSB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCBhc2NpaVRvVWludDhBcnJh
eSgiIiksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWdu
IiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2Vw
dGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVx
dWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCB7
bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEiLCBsZW5ndGg6IDI1N30sIGV4dHJhY3RhYmxlLCBb
InNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00g
RXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVl
dCByZXF1aXJlbWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdL
ZXksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSIsIGxlbmd0aDogMjQ4fSwgZXh0cmFjdGFi
bGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3Ig
KERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5v
dCBtZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIs
IHtrdHk6ICJSU0EifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxl
LCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChE
T00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3Qg
bWVldCByZXF1aXJlbWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7
a3R5OiAib2N0In0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwg
WyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9N
IEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1l
ZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0
eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMjI0In0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEt
MSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3Bl
cmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMjU2In0sIHtuYW1lOiAi
aG1hYyIsIGhhc2g6ICJzaGEtMjI0In0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0p
IHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0
YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCitQ
QVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxn
OiAiSFMzODQifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0yNTYifSwgZXh0cmFjdGFibGUs
IFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERP
TSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBt
ZWV0IHJlcXVpcmVtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtr
dHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzUxMiJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hh
LTM4NCJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4g
b3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxl
LmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMSJ9LCB7bmFtZTog
ImhtYWMiLCBoYXNoOiAic2hhLTUxMiJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJd
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERh
dGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgor
UEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6ICIhISEi
LCBhbGc6ICJmb28ifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxl
LCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChE
T00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3Qg
bWVldCByZXF1aXJlbWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7
a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwgdXNlOiAiZW5jIn0sIHtuYW1lOiAiaG1hYyIs
IGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlk
ZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFTUyBjcnlw
dG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMSIs
IGtleV9vcHM6IFsic2lnbiJdfSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJh
Y3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVy
cm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9l
cyBub3QgbWVldCByZXF1aXJlbWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJq
d2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwgZXh0OiBmYWxzZX0sIHtuYW1lOiAi
aG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IERhdGEg
cHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzLgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LW1hbGZvcm1lZC1w
YXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtl
eS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyZTJiNTBjZGFiMzRlZThm
ODNiNzc2MGYzNGZhMzA5ODJiMGMxZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCkBA
IC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRlc3QgaW1wb3J0aW5nIGFuIEhNQUMga2V5IHdpdGggbWFsZm9y
bWVkIHBhcmFtZXRlcnMiKTsKKwordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93
OTlvT1pGTElFUE1yZ0pCNTVXTDQ2dEpTTEd0NyIpOwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsK
KwordmFyIGsgPSAiWVdKalpHVm1aMmd4TWpNME5UWTNPQSI7CisKKy8vIHdyb25nIGxlbmd0aAor
c2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgYXNjaWlUb1VpbnQ4
QXJyYXkoIiIpLCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsi
c2lnbiIsICJ2ZXJpZnkiXSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRL
ZXkoInJhdyIsIHJhd0tleSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIiwgbGVuZ3RoOiAy
NTd9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOworc2hvdWxkUmVqZWN0KCdj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCB7bmFtZTogImhtYWMiLCBoYXNo
OiAic2hhLTEiLCBsZW5ndGg6IDI0OH0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0p
Jyk7CisvLyBKd2s6IFdyb25nIGt0eQorc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9y
dEtleSgiandrIiwge2t0eTogIlJTQSJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwg
ZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKKy8vIEp3azogbWlzc2luZyBrCitz
aG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0In0s
IHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZl
cmlmeSJdKScpOworLy8gSndrOiB3cm9uZyBoYXNoIGFuZCBhbGcKK3Nob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzIy
NCJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIs
ICJ2ZXJpZnkiXSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3
ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzI1NiJ9LCB7bmFtZTogImhtYWMiLCBoYXNo
OiAic2hhLTIyNCJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOworc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGss
IGFsZzogIkhTMzg0In0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMjU2In0sIGV4dHJhY3Rh
YmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFM1MTIifSwge25hbWU6
ICJobWFjIiwgaGFzaDogInNoYS0zODQifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnki
XSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6
ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzEifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS01MTIi
fSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKKy8vIEp3azogd3JvbmcgayBm
b3JtYXQKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6
ICJvY3QiLCBrOiAiISEhIiwgYWxnOiAiZm9vIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEt
MSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOworLy8gSndrOiB3cm9uZyB1
c2UKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJv
Y3QiLCBrOiBrLCBhbGc6ICJIUzEiLCB1c2U6ICJlbmMifSwge25hbWU6ICJobWFjIiwgaGFzaDog
InNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7CisvLyBKd2s6IHdy
b25nIGtleV9vcHMKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIs
IHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzEiLCBrZXlfb3BzOiBbInNpZ24iXX0sIHtuYW1l
OiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJd
KScpOworLy8gSndrOiB3cm9uZyBleHQKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBv
cnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzEiLCBleHQ6IGZhbHNlfSwg
e25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVy
aWZ5Il0pJyk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1tYWxmb3JtZWQtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMTliYWMxYmFhZWI3N2Q3ZGM0MDY3ZDk5OTcxYzg2NWRhNWIxOTBjNS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2htYWMtaW1wb3J0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDIzICswLDAgQEAKLVRlc3QgaW1wb3J0aW5nIGFuIEhNQUMga2V5IHdpdGgg
bWFsZm9ybWVkIHBhcmFtZXRlcnMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIGFzY2lpVG9VaW50OEFycmF5KCIiKSwg
e25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVy
aWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMw
KTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVu
dHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksIHtuYW1lOiAi
aG1hYyIsIGhhc2g6ICJzaGEtMSIsIGxlbmd0aDogMjU3fSwgZXh0cmFjdGFibGUsIFsic2lnbiIs
ICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRp
b24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVp
cmVtZW50cy4KLVBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwge25h
bWU6ICJobWFjIiwgaGFzaDogInNoYS0xIiwgbGVuZ3RoOiAyNDh9LCBleHRyYWN0YWJsZSwgWyJz
aWduIiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4
Y2VwdGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQg
cmVxdWlyZW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTog
IlJTQSJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2ln
biIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNl
cHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJl
cXVpcmVtZW50cy4KLVBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJv
Y3QifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24i
LCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0
aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1
aXJlbWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0
IiwgazogaywgYWxnOiAiSFMyMjQifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4
dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggRGF0
YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24g
ZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMyNTYifSwge25hbWU6ICJobWFjIiwg
aGFzaDogInNoYS0yMjQifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3Zp
ZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cy4KLVBBU1MgY3J5
cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzM4
NCJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTI1NiJ9LCBleHRyYWN0YWJsZSwgWyJzaWdu
IiwgInZlcmlmeSJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIERhdGFFcnJvciAoRE9NIEV4Y2Vw
dGlvbiAzMCk6IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVx
dWlyZW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9j
dCIsIGs6IGssIGFsZzogIkhTNTEyIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMzg0In0s
IGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
RGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRp
b24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIn0sIHtuYW1lOiAiaG1hYyIs
IGhhc2g6ICJzaGEtNTEyIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVj
dGVkIHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92
aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNy
eXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogIiEhISIsIGFsZzog
ImZvbyJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2ln
biIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNl
cHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJl
cXVpcmVtZW50cy4KLVBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJv
Y3QiLCBrOiBrLCBhbGc6ICJIUzEiLCB1c2U6ICJlbmMifSwge25hbWU6ICJobWFjIiwgaGFzaDog
InNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVkIHByb21p
c2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRlZCB0byBh
biBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFMxIiwga2V5X29w
czogWyJzaWduIl19LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUs
IFsic2lnbiIsICJ2ZXJpZnkiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERP
TSBFeGNlcHRpb24gMzApOiBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBt
ZWV0IHJlcXVpcmVtZW50cy4KLVBBU1MgY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtr
dHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzEiLCBleHQ6IGZhbHNlfSwge25hbWU6ICJobWFjIiwg
aGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pIHJlamVjdGVk
IHByb21pc2UgIHdpdGggRGF0YUVycm9yIChET00gRXhjZXB0aW9uIDMwKTogRGF0YSBwcm92aWRl
ZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMuCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1tYWxmb3JtZWQtcGFyYW1ldGVycy5o
dG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1tYWxmb3JtZWQtcGFy
YW1ldGVycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMmUyYjUwY2RhYjM0
ZWU4ZjgzYjc3NjBmMzRmYTMwOTgyYjBjMWU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQt
bWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9jb21tb24uanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotZGVzY3JpcHRp
b24oIlRlc3QgaW1wb3J0aW5nIGFuIEhNQUMga2V5IHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMi
KTsKLQotdmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yZ0pC
NTVXTDQ2dEpTTEd0NyIpOwotdmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKLQotdmFyIGsgPSAiWVdK
alpHVm1aMmd4TWpNME5UWTNPQSI7Ci0KLS8vIHdyb25nIGxlbmd0aAotc2hvdWxkUmVqZWN0KCdj
cnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgYXNjaWlUb1VpbnQ4QXJyYXkoIiIpLCB7bmFt
ZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnki
XSknKTsKLXNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tl
eSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIiwgbGVuZ3RoOiAyNTd9LCBleHRyYWN0YWJs
ZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOwotc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgicmF3IiwgcmF3S2V5LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEiLCBsZW5n
dGg6IDI0OH0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7Ci0vLyBKd2s6IFdy
b25nIGt0eQotc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwge2t0
eTogIlJTQSJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsi
c2lnbiIsICJ2ZXJpZnkiXSknKTsKLS8vIEp3azogbWlzc2luZyBrCi1zaG91bGRSZWplY3QoJ2Ny
eXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCB7a3R5OiAib2N0In0sIHtuYW1lOiAiaG1hYyIs
IGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOwotLy8g
SndrOiB3cm9uZyBoYXNoIGFuZCBhbGcKLXNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBv
cnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzIyNCJ9LCB7bmFtZTogImht
YWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsK
LXNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3Qi
LCBrOiBrLCBhbGc6ICJIUzI1NiJ9LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTIyNCJ9LCBl
eHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOwotc2hvdWxkUmVqZWN0KCdjcnlwdG8u
c3VidGxlLmltcG9ydEtleSgiandrIiwge2t0eTogIm9jdCIsIGs6IGssIGFsZzogIkhTMzg0In0s
IHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMjU2In0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAi
dmVyaWZ5Il0pJyk7Ci1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2si
LCB7a3R5OiAib2N0IiwgazogaywgYWxnOiAiSFM1MTIifSwge25hbWU6ICJobWFjIiwgaGFzaDog
InNoYS0zODQifSwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKLXNob3VsZFJl
amVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBh
bGc6ICJIUzEifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS01MTIifSwgZXh0cmFjdGFibGUs
IFsic2lnbiIsICJ2ZXJpZnkiXSknKTsKLS8vIEp3azogd3JvbmcgayBmb3JtYXQKLXNob3VsZFJl
amVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiAiISEh
IiwgYWxnOiAiZm9vIn0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJs
ZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOwotLy8gSndrOiB3cm9uZyB1c2UKLXNob3VsZFJlamVj
dCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBrOiBrLCBhbGc6
ICJIUzEiLCB1c2U6ICJlbmMifSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIn0sIGV4dHJh
Y3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7Ci0vLyBKd2s6IHdyb25nIGtleV9vcHMKLXNo
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtrdHk6ICJvY3QiLCBr
OiBrLCBhbGc6ICJIUzEiLCBrZXlfb3BzOiBbInNpZ24iXX0sIHtuYW1lOiAiaG1hYyIsIGhhc2g6
ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKScpOwotLy8gSndrOiB3
cm9uZyBleHQKLXNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIHtr
dHk6ICJvY3QiLCBrOiBrLCBhbGc6ICJIUzEiLCBleHQ6IGZhbHNlfSwge25hbWU6ICJobWFjIiwg
aGFzaDogInNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pJyk7Ci08L3Nj
cmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9yc2EtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJh
bWV0ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTM0NjYxZWFkYTc5ZDI4ZjZmNTNiZDFh
NzhmYzJiMTZkYjQ4OGMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9yc2EtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMiBAQAorVGVzdCBleHBvcnRpbmcgYSBSU0Ega2V5IHdpdGggbWFsZm9ybWVkIHBh
cmFtZXRlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY3J5cHRvLnN1
YnRsZS5leHBvcnRLZXkoInNwa2kiLCBwdWJsaWNLZXkpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
Tm90U3VwcG9ydGVkRXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBhbGdvcml0aG0gaXMgbm90
IHN1cHBvcnRlZC4KK1BBU1MgY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInBrY3M4IiwgcHVibGlj
S2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0
aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIGNyeXB0by5zdWJ0
bGUuZXhwb3J0S2V5KCJyYXciLCBwdWJsaWNLZXkpIHJlamVjdGVkIHByb21pc2UgIHdpdGggTm90
U3VwcG9ydGVkRXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBhbGdvcml0aG0gaXMgbm90IHN1
cHBvcnRlZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1leHBvcnQta2V5
LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Jz
YS1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTM4ODM5
N2I1YTYyMjg0NDAzNzllODk1MzViOTliNjkxMTNhNTJhYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLWV4cG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRl
cnMuaHRtbApAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIFJTQSBrZXkgd2l0
aCBtYWxmb3JtZWQgcGFyYW1ldGVycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFy
IGFsZ29yaXRobUtleUdlbiA9IHsKKyAgICBuYW1lOiAiUlNBLU9BRVAiLAorICAgIC8vIFJzYUtl
eUdlblBhcmFtcworICAgIG1vZHVsdXNMZW5ndGg6IDIwNDgsCisgICAgcHVibGljRXhwb25lbnQ6
IG5ldyBVaW50OEFycmF5KFsweDAxLCAweDAwLCAweDAxXSksICAvLyBFcXVpdmFsZW50IHRvIDY1
NTM3CisgICAgaGFzaDogInNoYS0xIgorfTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2Ny
eXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoYWxnb3JpdGhtS2V5R2VuLCBleHRyYWN0YWJsZSwgWyJk
ZWNyeXB0IiwgImVuY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICBwdWJsaWNLZXkgPSByZXN1bHQucHVibGljS2V5OworCisgICAgLy8g
Q3VycmVudGx5IG5vdCBzdXBwb3J0IGZvcm1hdC4KKyAgICByZXR1cm4gc2hvdWxkUmVqZWN0KCdj
cnlwdG8uc3VidGxlLmV4cG9ydEtleSgic3BraSIsIHB1YmxpY0tleSknKTsKK30pLnRoZW4oZnVu
Y3Rpb24oKSB7CisgICAgcmV0dXJuIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRL
ZXkoInBrY3M4IiwgcHVibGljS2V5KScpOworfSkudGhlbihmdW5jdGlvbigpIHsKKyAgICAvLyBO
b3Qgc3VwcG9ydCBmb3JtYXQuCisgICAgcmV0dXJuIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRs
ZS5leHBvcnRLZXkoInJhdyIsIHB1YmxpY0tleSknKTsKK30pLnRoZW4oZmluaXNoSlNUZXN0LCBm
aW5pc2hKU1Rlc3QpOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBvcnQta2V5
LWp3ay1zaGExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9h
ZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmU2NGE2N2Y4MjA3YjJkMzcxYTI3NWMxZmI3M2RlZDc3NmY2ZGFmOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stc2hhMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNSBAQAorVGVzdCBleHBvcnRpbmcg
YSBTSEEtMSBSU0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4KK0V4cG9ydGluZyB0
aGUgcHVibGljIGtleS4uLgorUEFTUyBwdWJsaWNLZXkua3R5IGlzICdSU0EnCitQQVNTIHB1Ymxp
Y0tleS5rZXlfb3BzIGlzIFsnZW5jcnlwdCcsICd3cmFwS2V5J10KK1BBU1MgcHVibGljS2V5LmFs
ZyBpcyAnUlNBLU9BRVAnCitQQVNTIHB1YmxpY0tleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRV
UkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5ndGggaXMgMjU2CitQQVNTIGJ5dGVzVG9IZXhT
dHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkgaXMgJzAxMDAwMScKK0V4cG9ydGlu
ZyB0aGUgcHJpdmF0ZSBrZXkuLi4KK1BBU1MgcHJpdmF0ZUtleS5rdHkgaXMgJ1JTQScKK1BBU1Mg
cHJpdmF0ZUtleS5rZXlfb3BzIGlzIFsnZGVjcnlwdCcsICd1bndyYXBLZXknXQorUEFTUyBwcml2
YXRlS2V5LmFsZyBpcyAnUlNBLU9BRVAnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BB
U1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1Mg
Ynl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAw
MScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1s
IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1leHBvcnQta2V5
LWp3ay1zaGExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzE3Mjk0YzgzMzdiY2E5YTFhYmVkYTM2MjU4ZWNl
MTAxMWIyOTQ0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
cnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS5odG1sCkBAIC0wLDAgKzEsNjAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTEgUlNBLU9BRVAga2V5IHBhaXIgd2l0aCBKV0sg
Zm9ybWF0LiIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGFsZ29yaXRobUtleUdl
biA9IHsKKyAgICBuYW1lOiAiUlNBLU9BRVAiLAorICAgIC8vIFJzYUtleUdlblBhcmFtcworICAg
IG1vZHVsdXNMZW5ndGg6IDIwNDgsCisgICAgcHVibGljRXhwb25lbnQ6IG5ldyBVaW50OEFycmF5
KFsweDAxLCAweDAwLCAweDAxXSksICAvLyBFcXVpdmFsZW50IHRvIDY1NTM3CisgICAgaGFzaDog
InNoYS0xIgorfTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK3ZhciBrZXlQYWlyOworZGVi
dWcoIkdlbmVyYXRpbmcgYSBrZXkgcGFpci4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtl
eShhbGdvcml0aG1LZXlHZW4sIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCIsICJ3
cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleVBh
aXIgPSByZXN1bHQ7CisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHVibGljIGtleS4uLiIpOwor
ICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5wdWJsaWNL
ZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwdWJsaWNLZXkgPSByZXN1bHQ7
CisKKyAgICBzaG91bGRCZSgicHVibGljS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJl
KCJwdWJsaWNLZXkua2V5X29wcyIsICJbJ2VuY3J5cHQnLCAnd3JhcEtleSddIik7CisgICAgc2hv
dWxkQmUoInB1YmxpY0tleS5hbGciLCAiJ1JTQS1PQUVQJyIpOworICAgIHNob3VsZEJlKCJwdWJs
aWNLZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBhcnNlKHB1Ymxp
Y0tleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3Ry
aW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIiwgIicwMTAwMDEnIik7CisKKyAgICBk
ZWJ1ZygiRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8u
c3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5wcml2YXRlS2V5KTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAgcHJpdmF0ZUtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJl
KCJwcml2YXRlS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5Lmtl
eV9vcHMiLCAiWydkZWNyeXB0JywgJ3Vud3JhcEtleSddIik7CisgICAgc2hvdWxkQmUoInByaXZh
dGVLZXkuYWxnIiwgIidSU0EtT0FFUCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQi
LCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5i
eXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2
NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5k
ZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwv
c2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLXNoYTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA3NjczNTJkMjkwZWY5
ZjliMDg5NjJkNjQzMjJmN2Y2NGVmODBjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0yMjQgUlNB
LU9BRVAga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBr
ZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29w
cyBpcyBbJ2VuY3J5cHQnLCAnd3JhcEtleSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTQS1P
QUVQLTIyNCcKK1BBU1MgcHVibGljS2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJz
ZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhC
YXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSBpcyAnMDEwMDAxJworRXhwb3J0aW5nIHRoZSBw
cml2YXRlIGtleS4uLgorUEFTUyBwcml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwcml2YXRl
S2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtleSddCitQQVNTIHByaXZhdGVLZXku
YWxnIGlzICdSU0EtT0FFUC0yMjQnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1Mg
QmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0
ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScK
K1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLXNoYTIyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNWY1OGI4OGViYjMyMzk4YzFjZmE3YzE1YTkz
MzYzZGQxZjViYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sCkBAIC0wLDAgKzEs
NjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTIyNCBSU0EtT0FFUCBrZXkgcGFpciB3aXRo
IEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGht
S2V5R2VuID0geworICAgIG5hbWU6ICJSU0EtT0FFUCIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1z
CisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4
QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBo
YXNoOiAic2hhLTIyNCIKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCit2YXIga2V5UGFp
cjsKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2Vu
ZXJhdGVLZXkoYWxnb3JpdGhtS2V5R2VuLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5
cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXku
Li4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIu
cHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0g
cmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBz
aG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWydlbmNyeXB0JywgJ3dyYXBLZXknXSIpOwor
ICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSU0EtT0FFUC0yMjQnIik7CisgICAgc2hv
dWxkQmUoInB1YmxpY0tleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwu
cGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5
dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSci
KTsKKworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0
dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOwor
fSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisg
ICAgc2hvdWxkQmUoInByaXZhdGVLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInBy
aXZhdGVLZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnLCAndW53cmFwS2V5J10iKTsKKyAgICBzaG91
bGRCZSgicHJpdmF0ZUtleS5hbGciLCAiJ1JTQS1PQUVQLTIyNCciKTsKKyAgICBzaG91bGRCZSgi
cHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uo
cHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1Rv
SGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOwor
ICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LXNoYTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVw
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDQ4MGE0ODA0MzU0ZWYxYzY5MjZmN2M2ZGY0ZDFkOGY0MmI1ZWYxNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stc2hhMjU2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGlu
ZyBhIFNIQS0yNTYgUlNBLU9BRVAga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRp
bmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBw
dWJsaWNLZXkua2V5X29wcyBpcyBbJ2VuY3J5cHQnLCAnd3JhcEtleSddCitQQVNTIHB1YmxpY0tl
eS5hbGcgaXMgJ1JTQS1PQUVQLTI1NicKK1BBU1MgcHVibGljS2V5LmV4dCBpcyB0cnVlCitQQVNT
IEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0
ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSBpcyAnMDEwMDAxJwor
RXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBwcml2YXRlS2V5Lmt0eSBpcyAnUlNB
JworUEFTUyBwcml2YXRlS2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtleSddCitQ
QVNTIHByaXZhdGVLZXkuYWxnIGlzICdSU0EtT0FFUC0yNTYnCitQQVNTIHByaXZhdGVLZXkuZXh0
IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBp
cyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5l
KSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2stc2hhMjU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVy
YXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0MmQ3YzY5MzM4ODk2
YjExNDhlMzUzMjcxYTYxNWIyZGNmZTkxNzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5o
dG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTI1NiBSU0EtT0FF
UCBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwor
Cit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0EtT0FFUCIsCisgICAgLy8g
UnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBv
bmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQg
dG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTI1NiIKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVl
OworCit2YXIga2V5UGFpcjsKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4iKTsKK2Ny
eXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoYWxnb3JpdGhtS2V5R2VuLCBleHRyYWN0YWJsZSwgWyJk
ZWNyeXB0IiwgImVuY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcg
dGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXko
Imp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Cisg
ICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAi
J1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWydlbmNyeXB0Jywg
J3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSU0EtT0FFUC0y
NTYnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3Vs
ZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7Cisg
ICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5l
KSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5
Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWly
LnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwcml2YXRlS2V5
ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua3R5IiwgIidSU0EnIik7Cisg
ICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIsICJbJ2RlY3J5cHQnLCAndW53cmFwS2V5
J10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGciLCAiJ1JTQS1PQUVQLTI1NiciKTsK
KyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJC
YXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNo
b3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIs
ICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOwor
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLXNoYTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjBhN2FjODlmZjA3ODg2NDE3NzRiMmNkMmM4YzBkMWJlM2QyZTU0Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBA
CitUZXN0IGV4cG9ydGluZyBhIFNIQS0zODQgUlNBLU9BRVAga2V5IHBhaXIgd2l0aCBKV0sgZm9y
bWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBw
YWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBp
cyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ2VuY3J5cHQnLCAnd3JhcEtleSdd
CitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTQS1PQUVQLTM4NCcKK1BBU1MgcHVibGljS2V5LmV4
dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBp
cyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUp
KSBpcyAnMDEwMDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBwcml2YXRl
S2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwcml2YXRlS2V5LmtleV9vcHMgaXMgWydkZWNyeXB0Jywg
J3Vud3JhcEtleSddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlzICdSU0EtT0FFUC0zODQnCitQQVNT
IHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXku
bikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFy
c2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5k
ZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJh
dGUtZXhwb3J0LWtleS1qd2stc2hhMzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI0ZTEzYWIwOGFhNjE4NDhiYjQ4NjAyMGM3YTE1N2JmOWExYjZkNjIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLXNoYTM4NC5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEg
U0hBLTM4NCBSU0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0Et
T0FFUCIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwK
KyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwg
IC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTM4NCIKK307Cit2YXIgZXh0
cmFjdGFibGUgPSB0cnVlOworCit2YXIga2V5UGFpcjsKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5
IHBhaXIuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoYWxnb3JpdGhtS2V5R2VuLCBl
eHRyYWN0YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAid3JhcEtleSIsICJ1bndyYXBLZXki
XSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRl
YnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1
YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rp
b24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1
YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMi
LCAiWydlbmNyeXB0JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxn
IiwgIidSU0EtT0FFUC0zODQnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQiLCAidHJ1
ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVMZW5n
dGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBh
cnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBvcnRpbmcg
dGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5
KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsK
KyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua3R5
IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIsICJbJ2RlY3J5
cHQnLCAndW53cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGciLCAiJ1JT
QS1PQUVQLTM4NCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOwor
ICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwg
IjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShw
cml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2
YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Jz
YS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNo
YTUxMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU0MWVhNzAwMTlkYmMwZGI3NmZiYTZiMWNl
NjlkN2ZjNTkxODBhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS01MTIgUlNBLU9BRVAga2V5IHBh
aXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2Vu
ZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1Mg
cHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ2VuY3J5
cHQnLCAnd3JhcEtleSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTQS1PQUVQLTUxMicKK1BB
U1MgcHVibGljS2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXku
bikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFy
c2UocHVibGljS2V5LmUpKSBpcyAnMDEwMDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4u
LgorUEFTUyBwcml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwcml2YXRlS2V5LmtleV9vcHMg
aXMgWydkZWNyeXB0JywgJ3Vud3JhcEtleSddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlzICdSU0Et
T0FFUC01MTInCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBh
cnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmlu
ZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0
ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
cnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLmh0bWwgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgwOTk1ZDU4YzhmNGU0NTIzODgxNThmZjVhMjdkMzY3ZDI2NDE2YTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3QgZXhwb3J0aW5nIGEgU0hBLTUxMiBSU0EtT0FFUCBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQu
Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0gewor
ICAgIG5hbWU6ICJSU0EtT0FFUCIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1
c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEs
IDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTUx
MiIKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOworCit2YXIga2V5UGFpcjsKK2RlYnVnKCJH
ZW5lcmF0aW5nIGEga2V5IHBhaXIuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoYWxn
b3JpdGhtS2V5R2VuLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiLCAid3JhcEtl
eSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0g
cmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICBy
ZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsK
K30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisg
ICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVi
bGljS2V5LmtleV9vcHMiLCAiWydlbmNyeXB0JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJl
KCJwdWJsaWNLZXkuYWxnIiwgIidSU0EtT0FFUC01MTInIik7CisgICAgc2hvdWxkQmUoInB1Ymxp
Y0tleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGlj
S2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJp
bmcoQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRl
YnVnKCJFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5z
dWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5j
dGlvbihyZXN1bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUo
InByaXZhdGVLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5
X29wcyIsICJbJ2RlY3J5cHQnLCAndW53cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0
ZUtleS5hbGciLCAiJ1JTQS1PQUVQLTUxMiciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5l
eHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5u
KS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJh
c2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJl
VW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
Kzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdl
bmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDQ1YzgwNmRi
MzE3MzVlNjk0NzQ0MWY0ZjIwYmUzYzY1YmMyNmY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFJTQUVT
LVBLQ1MxLXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1
YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXku
a2V5X29wcyBpcyBbJ2VuY3J5cHQnXQorUEFTUyBwdWJsaWNLZXkuYWxnIGlzICdSU0ExXzUnCitQ
QVNTIHB1YmxpY0tleS5leHQgaXMgdHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2UocHVibGljS2V5
Lm4pLmJ5dGVMZW5ndGggaXMgMjU2CitQQVNTIGJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBh
cnNlKHB1YmxpY0tleS5lKSkgaXMgJzAxMDAwMScKK0V4cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXku
Li4KK1BBU1MgcHJpdmF0ZUtleS5rdHkgaXMgJ1JTQScKK1BBU1MgcHJpdmF0ZUtleS5rZXlfb3Bz
IGlzIFsnZGVjcnlwdCddCitQQVNTIHByaXZhdGVLZXkuYWxnIGlzICdSU0ExXzUnCitQQVNTIHBy
aXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubiku
Ynl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2Uo
cHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZp
bmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1n
ZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9y
c2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmY4YWVmYjI5MDg3MzU0MTFjNjY2OWUxNzA1OTQ4NWY0OGFlYzk1NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1l
eHBvcnQta2V5LWp3ay5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEg
UlNBRVMtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0FF
Uy1QS0NTMS12MV81IiwKKyAgICAvLyBSc2FLZXlHZW5QYXJhbXMKKyAgICBtb2R1bHVzTGVuZ3Ro
OiAyMDQ4LAorICAgIHB1YmxpY0V4cG9uZW50OiBuZXcgVWludDhBcnJheShbMHgwMSwgMHgwMCwg
MHgwMV0pLCAgLy8gRXF1aXZhbGVudCB0byA2NTUzNworfTsKK3ZhciBleHRyYWN0YWJsZSA9IHRy
dWU7CisKK3ZhciBrZXlQYWlyOworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkgcGFpci4uLiIpOwor
Y3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShhbGdvcml0aG1LZXlHZW4sIGV4dHJhY3RhYmxlLCBb
ImRlY3J5cHQiLCAiZW5jcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleVBh
aXIgPSByZXN1bHQ7CisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHVibGljIGtleS4uLiIpOwor
ICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5wdWJsaWNL
ZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwdWJsaWNLZXkgPSByZXN1bHQ7
CisKKyAgICBzaG91bGRCZSgicHVibGljS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJl
KCJwdWJsaWNLZXkua2V5X29wcyIsICJbJ2VuY3J5cHQnXSIpOworICAgIHNob3VsZEJlKCJwdWJs
aWNLZXkuYWxnIiwgIidSU0ExXzUnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQiLCAi
dHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5dGVM
ZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJM
LnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBvcnRp
bmcgdGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0
S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZhdGVLZXku
a3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIsICJbJ2Rl
Y3J5cHQnXSIpOworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5LmFsZyIsICInUlNBMV81JyIpOwor
ICAgIHNob3VsZEJlKCJwcml2YXRlS2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJh
c2U2NFVSTC5wYXJzZShwcml2YXRlS2V5Lm4pLmJ5dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hv
dWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkuZSkpIiwg
IicwMTAwMDEnIik7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoInByaXZhdGVLZXkub3RoIik7CisK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUt
Z2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNo
YTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2NTJhZTBlZDdiOGFlY2FhMDk3YWNiMTgxNWNl
MTI3NGE5NzA4ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMjUgQEAKK1Rlc3QgZXhwb3J0aW5nIGEgU0hBLTEgUlNBU1NBLVBLQ1Mx
LXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBr
ZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29w
cyBpcyBbJ3ZlcmlmeSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTMScKK1BBU1MgcHVibGlj
S2V5LmV4dCBpcyB0cnVlCitQQVNTIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxl
bmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGlj
S2V5LmUpKSBpcyAnMDEwMDAxJworRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgorUEFTUyBw
cml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwcml2YXRlS2V5LmtleV9vcHMgaXMgWydzaWdu
J10KK1BBU1MgcHJpdmF0ZUtleS5hbGcgaXMgJ1JTMScKK1BBU1MgcHJpdmF0ZUtleS5leHQgaXMg
dHJ1ZQorUEFTUyBCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIGlzIDI1
NgorUEFTUyBieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSBp
cyAnMDEwMDAxJworUEFTUyBwcml2YXRlS2V5Lm90aCBpcyB1bmRlZmluZWQuCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQt
a2V5LWp3ay1zaGExLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2Nz
MS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWNj
YjVhYzUxYzVkOWNkNDdjNjhiMDU2NmU1MWQ0YTk2ZDY1ODI5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBv
cnQta2V5LWp3ay1zaGExLmh0bWwKQEAgLTAsMCArMSw2MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBleHBvcnRpbmcg
YSBTSEEtMSBSU0FTU0EtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisK
K2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5h
bWU6ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9k
dWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4
MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hh
LTEiLAorfTsKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK3ZhciBrZXlQYWlyOworZGVidWco
IkdlbmVyYXRpbmcgYSBrZXkgcGFpci4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShh
bGdvcml0aG1LZXlHZW4sIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAga2V5UGFpciA9IHJlc3VsdDsKKyAgICBkZWJ1ZygiRXhwb3J0
aW5nIHRoZSBwdWJsaWMga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhwb3J0
S2V5KCJqd2siLCBrZXlQYWlyLnB1YmxpY0tleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkg
eworICAgIHB1YmxpY0tleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkua3R5
IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rZXlfb3BzIiwgIlsndmVyaWZ5
J10iKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmFsZyIsICInUlMxJyIpOworICAgIHNob3Vs
ZEJlKCJwdWJsaWNLZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJMLnBh
cnNlKHB1YmxpY0tleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRl
c1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIiwgIicwMTAwMDEnIik7
CisKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLiIpOworICAgIHJldHVy
biBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgiandrIiwga2V5UGFpci5wcml2YXRlS2V5KTsKK30p
LnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHJpdmF0ZUtleSA9IHJlc3VsdDsKKworICAg
IHNob3VsZEJlKCJwcml2YXRlS2V5Lmt0eSIsICInUlNBJyIpOworICAgIHNob3VsZEJlKCJwcml2
YXRlS2V5LmtleV9vcHMiLCAiWydzaWduJ10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5h
bGciLCAiJ1JTMSciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOwor
ICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwg
IjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShw
cml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2
YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Jz
YXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLXNoYTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ2MTg4YjYy
ZTg5MWFhMTNiMzBhYmVlZGMxODViMjRmMTY3MjY3YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stc2hhMjI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGlu
ZyBhIFNIQS0yMjQgUlNBU1NBLVBLQ1MxLXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0Lgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4u
CitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNB
JworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ3ZlcmlmeSddCitQQVNTIHB1YmxpY0tleS5h
bGcgaXMgJ1JTMjI0JworUEFTUyBwdWJsaWNLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJM
LnBhcnNlKHB1YmxpY0tleS5uKS5ieXRlTGVuZ3RoIGlzIDI1NgorUEFTUyBieXRlc1RvSGV4U3Ry
aW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIGlzICcwMTAwMDEnCitFeHBvcnRpbmcg
dGhlIHByaXZhdGUga2V5Li4uCitQQVNTIHByaXZhdGVLZXkua3R5IGlzICdSU0EnCitQQVNTIHBy
aXZhdGVLZXkua2V5X29wcyBpcyBbJ3NpZ24nXQorUEFTUyBwcml2YXRlS2V5LmFsZyBpcyAnUlMy
MjQnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHBy
aXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNl
NjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5v
dGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3Nh
LXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjI0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLXNoYTIyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzZjMzYmVjYTZiNGQ2ZWMxNGI1MzNlNmZiZjM1
ZWU0ZmRkNzY5YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTIyNC5odG1sCkBA
IC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTIyNCBSU0FTU0EtUEtDUzEt
djFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEtdjFf
NSIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAg
ICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8v
IEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTIyNCIsCit9OwordmFyIGV4dHJh
Y3RhYmxlID0gdHJ1ZTsKKwordmFyIGtleVBhaXI7CitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleSBw
YWlyLi4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwgZXh0
cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXku
Li4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIu
cHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0g
cmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBz
aG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWyd2ZXJpZnknXSIpOworICAgIHNob3VsZEJl
KCJwdWJsaWNLZXkuYWxnIiwgIidSUzIyNCciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmV4
dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubiku
Ynl0ZUxlbmd0aCIsICIyNTYiKTsKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmluZyhCYXNl
NjRVUkwucGFyc2UocHVibGljS2V5LmUpKSIsICInMDEwMDAxJyIpOworCisgICAgZGVidWcoIkV4
cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5l
eHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHJpdmF0ZUtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgIHByaXZhdGVLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgicHJpdmF0
ZUtleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rZXlfb3BzIiwg
Ilsnc2lnbiddIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkuYWxnIiwgIidSUzIyNCciKTsK
KyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJC
YXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNo
b3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIs
ICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOwor
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandr
LXNoYTI1Ni1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2NlOGU4MjcxN2NkZjQ3OTgyNWU0ZWFk
Yzc5ZDdjYTEzNWUyOTQ1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0yNTYgUlNB
U1NBLVBLQ1MxLXYxXzUga2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhl
IHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNL
ZXkua2V5X29wcyBpcyBbJ3ZlcmlmeSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTMjU2Jwor
UEFTUyBwdWJsaWNLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tl
eS5uKS5ieXRlTGVuZ3RoIGlzIDI1NgorUEFTUyBieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5w
YXJzZShwdWJsaWNLZXkuZSkpIGlzICcwMTAwMDEnCitFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5
Li4uCitQQVNTIHByaXZhdGVLZXkua3R5IGlzICdSU0EnCitQQVNTIHByaXZhdGVLZXkua2V5X29w
cyBpcyBbJ3NpZ24nXQorUEFTUyBwcml2YXRlS2V5LmFsZyBpcyAnUlMyNTYnCitQQVNTIHByaXZh
dGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0
ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJp
dmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVk
LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMjU2Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUyZDg5NWE5NWNlMmUwYzlmOGUwNmMxYTY3OTVhNDQzZThiYzJlMzUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12
MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTI1Ni5odG1sCkBAIC0wLDAgKzEsNjAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTI1NiBSU0FTU0EtUEtDUzEtdjFfNSBrZXkgcGFpciB3
aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3Jp
dGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAgLy8gUnNh
S2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVu
dDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8g
NjU1MzcKKyAgICBoYXNoOiAic2hhLTI1NiIsCit9OwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsK
KwordmFyIGtleVBhaXI7CitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uIik7Citjcnlw
dG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwgZXh0cmFjdGFibGUsIFsic2ln
biIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVz
dWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1
cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30p
LnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAg
c2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGlj
S2V5LmtleV9vcHMiLCAiWyd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxn
IiwgIidSUzI1NiciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmV4dCIsICJ0cnVlIik7Cisg
ICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCIsICIy
NTYiKTsKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVi
bGljS2V5LmUpKSIsICInMDEwMDAxJyIpOworCisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHJp
dmF0ZSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIs
IGtleVBhaXIucHJpdmF0ZUtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHBy
aXZhdGVLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rdHkiLCAiJ1JT
QSciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rZXlfb3BzIiwgIlsnc2lnbiddIik7Cisg
ICAgc2hvdWxkQmUoInByaXZhdGVLZXkuYWxnIiwgIidSUzI1NiciKTsKKyAgICBzaG91bGRCZSgi
cHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2Uo
cHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1Rv
SGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOwor
ICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9y
dC1rZXktandrLXNoYTM4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTFjNDgzNjBlZjgyYWM2YjU4NjJhYTFkNmVmNjUzZjIxNjRkZDc2
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBr
Y3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhMzg0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDI1IEBACitUZXN0IGV4cG9ydGluZyBhIFNIQS0zODQgUlNBU1NBLVBLQ1MxLXYxXzUg
a2V5IHBhaXIgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4K
K1BBU1MgcHVibGljS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBb
J3ZlcmlmeSddCitQQVNTIHB1YmxpY0tleS5hbGcgaXMgJ1JTMzg0JworUEFTUyBwdWJsaWNLZXku
ZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5uKS5ieXRlTGVuZ3Ro
IGlzIDI1NgorUEFTUyBieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXku
ZSkpIGlzICcwMTAwMDEnCitFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uCitQQVNTIHByaXZh
dGVLZXkua3R5IGlzICdSU0EnCitQQVNTIHByaXZhdGVLZXkua2V5X29wcyBpcyBbJ3NpZ24nXQor
UEFTUyBwcml2YXRlS2V5LmFsZyBpcyAnUlMzODQnCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRy
dWUKK1BBU1MgQmFzZTY0VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYK
K1BBU1MgYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMg
JzAxMDAwMScKK1BBU1MgcHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1qd2stc2hhMzg0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2Nz
MS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTM4NC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5
NjNhODhhYjMwYzhkZTgxMWJiYTU0OWU1NzAxM2U2MmFkMWMyODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLXNoYTM4NC5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0
aW5nIGEgU0hBLTM4NCBSU0FTU0EtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQu
Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0gewor
ICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisg
ICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJy
YXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNo
OiAic2hhLTM4NCIsCit9OwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKwordmFyIGtleVBhaXI7
CitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleSBwYWlyLi4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVy
YXRlS2V5KGFsZ29yaXRobUtleUdlbiwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSku
dGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVn
KCJFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRs
ZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1Ymxp
Y0tleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAi
Wyd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSUzM4NCciKTsK
KyAgICBzaG91bGRCZSgicHVibGljS2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJh
c2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCIsICIyNTYiKTsKKyAgICBzaG91
bGRCZSgiYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSIsICIn
MDEwMDAxJyIpOworCisgICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXkuLi4iKTsK
KyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHJpdmF0
ZUtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHByaXZhdGVLZXkgPSByZXN1
bHQ7CisKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91
bGRCZSgicHJpdmF0ZUtleS5rZXlfb3BzIiwgIlsnc2lnbiddIik7CisgICAgc2hvdWxkQmUoInBy
aXZhdGVLZXkuYWxnIiwgIidSUzM4NCciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQi
LCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5i
eXRlTGVuZ3RoIiwgIjI1NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2
NFVSTC5wYXJzZShwcml2YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5k
ZWZpbmVkKCJwcml2YXRlS2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwv
c2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUx
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12
MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNoYTUxMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWZiZGU1ZjdjMmZjNTczNzMyMTFkZWUwZTEyMGFmOWJmODI3N2JjMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJh
dGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitU
ZXN0IGV4cG9ydGluZyBhIFNIQS01MTIgUlNBU1NBLVBLQ1MxLXYxXzUga2V5IHBhaXIgd2l0aCBK
V0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBh
IGtleSBwYWlyLi4uCitFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4KK1BBU1MgcHVibGljS2V5
Lmt0eSBpcyAnUlNBJworUEFTUyBwdWJsaWNLZXkua2V5X29wcyBpcyBbJ3ZlcmlmeSddCitQQVNT
IHB1YmxpY0tleS5hbGcgaXMgJ1JTNTEyJworUEFTUyBwdWJsaWNLZXkuZXh0IGlzIHRydWUKK1BB
U1MgQmFzZTY0VVJMLnBhcnNlKHB1YmxpY0tleS5uKS5ieXRlTGVuZ3RoIGlzIDI1NgorUEFTUyBi
eXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkuZSkpIGlzICcwMTAwMDEn
CitFeHBvcnRpbmcgdGhlIHByaXZhdGUga2V5Li4uCitQQVNTIHByaXZhdGVLZXkua3R5IGlzICdS
U0EnCitQQVNTIHByaXZhdGVLZXkua2V5X29wcyBpcyBbJ3NpZ24nXQorUEFTUyBwcml2YXRlS2V5
LmFsZyBpcyAnUlM1MTInCitQQVNTIHByaXZhdGVLZXkuZXh0IGlzIHRydWUKK1BBU1MgQmFzZTY0
VVJMLnBhcnNlKHByaXZhdGVLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BBU1MgYnl0ZXNUb0hl
eFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5lKSkgaXMgJzAxMDAwMScKK1BBU1Mg
cHJpdmF0ZUtleS5vdGggaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stc2hhNTEyLmh0
bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRl
LWV4cG9ydC1rZXktandrLXNoYTUxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllNDRlNDgwOGViYWNhZjVi
MTY4ZDFlYjhhZDBlODI0MTkyNmExNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLXNo
YTUxMi5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGEgU0hBLTUxMiBS
U0FTU0EtUEtDUzEtdjFfNSBrZXkgcGFpciB3aXRoIEpXSyBmb3JtYXQuIik7CisKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0FT
U0EtUEtDUzEtdjFfNSIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0
aDogMjA0OCwKKyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAs
IDB4MDFdKSwgIC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTUxMiIsCit9
OwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKKwordmFyIGtleVBhaXI7CitkZWJ1ZygiR2VuZXJh
dGluZyBhIGtleSBwYWlyLi4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRo
bUtleUdlbiwgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFeHBvcnRpbmcgdGhl
IHB1YmxpYyBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3
ayIsIGtleVBhaXIucHVibGljS2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAg
cHVibGljS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5rdHkiLCAiJ1JT
QSciKTsKKyAgICBzaG91bGRCZSgicHVibGljS2V5LmtleV9vcHMiLCAiWyd2ZXJpZnknXSIpOwor
ICAgIHNob3VsZEJlKCJwdWJsaWNLZXkuYWxnIiwgIidSUzUxMiciKTsKKyAgICBzaG91bGRCZSgi
cHVibGljS2V5LmV4dCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShw
dWJsaWNLZXkubikuYnl0ZUxlbmd0aCIsICIyNTYiKTsKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0hl
eFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUpKSIsICInMDEwMDAxJyIpOworCisg
ICAgZGVidWcoIkV4cG9ydGluZyB0aGUgcHJpdmF0ZSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5
cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3ayIsIGtleVBhaXIucHJpdmF0ZUtleSk7Cit9KS50aGVu
KGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHByaXZhdGVLZXkgPSByZXN1bHQ7CisKKyAgICBzaG91
bGRCZSgicHJpdmF0ZUtleS5rdHkiLCAiJ1JTQSciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtl
eS5rZXlfb3BzIiwgIlsnc2lnbiddIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkuYWxnIiwg
IidSUzUxMiciKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5leHQiLCAidHJ1ZSIpOworICAg
IHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRlTGVuZ3RoIiwgIjI1
NiIpOworICAgIHNob3VsZEJlKCJieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5wYXJzZShwcml2
YXRlS2V5LmUpKSIsICInMDEwMDAxJyIpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcml2YXRl
S2V5Lm90aCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0
bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjZlZmUzM2M4ZmJmYmEzNTQ1M2U0MDAzYzdmYjRjOTU4ZDUwZWM1
YmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUv
YWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBA
CitbV29ya2VyXSBUZXN0IGV4cG9ydGluZyBhbiBBRVMga2V5IHVzaW5nIEFFUy1DQkMgYWxnb3Jp
dGhtIGluIHdvcmtlcnMgd2l0aCBKV0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworU3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMvYWVzLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLmpzCitbV29ya2VyXSBHZW5lcmF0aW5nIGEga2V5Li4uCitbV29ya2VyXSBFeHBvcnRp
bmcgYSBrZXkuLi4KK1BBU1MgW1dvcmtlcl0ga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBbV29ya2Vy
XSBrZXkua2V5X29wcyBpcyBbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3Jh
cEtleSddCitQQVNTIFtXb3JrZXJdIGtleS5hbGcgaXMgJ0ExMjhDQkMnCitQQVNTIFtXb3JrZXJd
IGtleS5leHQgaXMgdHJ1ZQorUEFTUyBbV29ya2VyXSBCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5
dGVMZW5ndGggaXMgMTYKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUv
YWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29y
a2Vycy9zdWJ0bGUvYWVzLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGQ4M2Y0ZjlmNTljOTA1MDNiZWE5NTg5OGNjMDUyMTUwMjY0MmMzZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2suaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgICB3b3Jr
ZXIgPSBzdGFydFdvcmtlcigncmVzb3VyY2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5q
cycpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1yYXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Fl
cy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQ1ODZl
ZjMzYTI1YTM0N2ZjYzVmZmJkOTM5YTIwMWNhMDljOWNjZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1y
YXctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1tXb3JrZXJdIFRlc3QgZXhwb3J0aW5n
IGFuIEFFUyBrZXkgdXNpbmcgQUVTLUNCQyBhbGdvcml0aG0gaW4gd29ya2VycyB3aXRoIHJhdyBm
b3JtYXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3b3JrZXI6
IHJlc291cmNlcy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMKK1tXb3JrZXJdIEdlbmVy
YXRpbmcgYSBrZXkuLi4KK1tXb3JrZXJdIEdlbmVyYXRpbmcgYSBrZXkuLi4KK1BBU1MgW1dvcmtl
cl0gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInNwa2kiLCBrZXkpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggTm90U3VwcG9ydGVkRXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBhbGdvcml0aG0g
aXMgbm90IHN1cHBvcnRlZC4KK1BBU1MgW1dvcmtlcl0gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXko
InBrY3M4Iiwga2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChE
T00gRXhjZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitbV29ya2Vy
XSBFeHBvcnRpbmcgYSBrZXkuLi4KK1BBU1MgW1dvcmtlcl0ga2V5LmJ5dGVMZW5ndGggaXMgMTYK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWdlbmVyYXRlLWV4
cG9ydC1rZXktcmF3Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVz
LWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q4OTg1MjUzMGJmYzY1
NDFlYWVjMTAwMDc2NzI2MmVjNDk1YTY1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbApA
QCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgICB3b3JrZXIgPSBzdGFydFdvcmtl
cigncmVzb3VyY2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5qcycpOworICAgIDwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjZlMDQ1ODYyNTdlYWU4MWJi
ZGIzNjE5MWRlNmI3Y2Y5YzQ2MTNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2stZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTcgQEAKK1tXb3JrZXJdIFRlc3QgZXhwb3J0aW5nIGEgSE1BQyBrZXkg
aW4gd29ya2VycyB3aXRoIEpXSyBmb3JtYXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXkt
andrLmpzCitbV29ya2VyXSBHZW5lcmF0aW5nIGEga2V5Li4uCitbV29ya2VyXSBFeHBvcnRpbmcg
YSBrZXkuLi4KK1BBU1MgW1dvcmtlcl0ga2V5Lmt0eSBpcyAnb2N0JworUEFTUyBbV29ya2VyXSBr
ZXkua2V5X29wcyBpcyBbJ3NpZ24nLCAndmVyaWZ5J10KK1BBU1MgW1dvcmtlcl0ga2V5LmFsZyBp
cyAnSFMxJworUEFTUyBbV29ya2VyXSBrZXkuZXh0IGlzIHRydWUKK1BBU1MgW1dvcmtlcl0gQmFz
ZTY0VVJMLnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIGlzIDY0CitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suaHRtbCBi
L0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1r
ZXktandrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZlZTBiMGFiYmU5MzRlYmRiNDBkMDJmMTFhMGMwMjMx
YjMzZDg3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1
YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmh0bWwKQEAgLTAsMCArMSwxMiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAgd29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9obWFj
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzJyk7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjYzlmZGIwNTFlNjk5YWRlY2QxMDQ5NTYwNTIzZDQyNWIw
Y2ZiNDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0
bGUvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NiBAQAorW1dvcmtlcl0gVGVzdCBleHBvcnRpbmcgYW4gSE1BQyBrZXkgaW4gd29ya2VycyB3aXRo
IHJhdyBmb3JtYXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3
b3JrZXI6IHJlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3LmpzCitbV29ya2Vy
XSBHZW5lcmF0aW5nIGEga2V5Li4uCitbV29ya2VyXSBHZW5lcmF0aW5nIGEga2V5Li4uCitQQVNT
IFtXb3JrZXJdIGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwga2V5KSByZWplY3RlZCBw
cm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgYWxn
b3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIFtXb3JrZXJdIGNyeXB0by5zdWJ0bGUuZXhw
b3J0S2V5KCJwa2NzOCIsIGtleSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRF
cnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIGFsZ29yaXRobSBpcyBub3Qgc3VwcG9ydGVkLgor
W1dvcmtlcl0gRXhwb3J0aW5nIGEga2V5Li4uCitQQVNTIFtXb3JrZXJdIGtleS5ieXRlTGVuZ3Ro
IGlzIDY0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1yYXcuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1
YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQ0ODQ1
NmVhNTJkZDg0NTM5ODVhY2NjYWIxZmI1MTRlNmVlM2U5NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXkt
cmF3Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd29ya2VyID0g
c3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktcmF3LmpzJyk7
CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtZ2VuZXJhdGUtZXhw
b3J0LWtleS1qd2suanMgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3Vy
Y2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWZiMDI4ZDUy
YmQ5ZWEwMThmNTk3ZTkwNmNhMGY3YTc3MzMwZTUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtZ2VuZXJhdGUtZXhwb3J0
LWtleS1qd2suanMKQEAgLTAsMCArMSwyMyBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNv
dXJjZXMvY29tbW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhbiBBRVMg
a2V5IHVzaW5nIEFFUy1DQkMgYWxnb3JpdGhtIGluIHdvcmtlcnMgd2l0aCBKV0sgZm9ybWF0LiIp
OworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2Rl
YnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtu
YW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCIsICJl
bmNyeXB0IiwgInVud3JhcEtleSIsICJ3cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7Cisg
ICAgZGVidWcoIkV4cG9ydGluZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxl
LmV4cG9ydEtleSgiandrIiwga2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAg
a2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImtleS5rdHkiLCAiJ29jdCciKTsKKyAgICBz
aG91bGRCZSgia2V5LmtleV9vcHMiLCAiWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5
JywgJ3dyYXBLZXknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwgIidBMTI4Q0JDJyIpOwor
ICAgIHNob3VsZEJlKCJrZXkuZXh0IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiQmFzZTY0VVJM
LnBhcnNlKGtleS5rKS5ieXRlTGVuZ3RoIiwgIjE2Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291
cmNlcy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
d29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lMzk1MjJkNDNlZTYwNzUwODQ1ODMyODgwYWI1NzE4YjJiMDQxNjIxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNl
cy9hZXMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMKQEAgLTAsMCArMSwyNiBAQAoraW1wb3J0
U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CisKK2Rlc2Ny
aXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhbiBBRVMga2V5IHVzaW5nIEFFUy1DQkMgYWxnb3JpdGht
IGluIHdvcmtlcnMgd2l0aCByYXcgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K3ZhciBleHRyYWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7
CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4
fSwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0IiwgInVud3JhcEtleSIsICJ3cmFw
S2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworCisgICAg
Ly8gTm90IHN1cHBvcnQgZm9ybWF0LgorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5l
eHBvcnRLZXkoInNwa2kiLCBrZXkpJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LmV4cG9ydEtleSgicGtjczgiLCBrZXkpJyk7CisKKyAgICBkZWJ1ZygiR2VuZXJhdGluZyBhIGtl
eS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVz
LWNiYyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCIsICJlbmNyeXB0Iiwg
InVud3JhcEtleSIsICJ3cmFwS2V5Il0pOworfSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICBk
ZWJ1ZygiRXhwb3J0aW5nIGEga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhw
b3J0S2V5KCJyYXciLCBrZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkg
PSByZXN1bHQ7CisgICAgc2hvdWxkQmUoImtleS5ieXRlTGVuZ3RoIiwgIjE2Iik7CisKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtl
cnMvc3VidGxlL3Jlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9obWFjLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2N2EyYjFjYzQ3OGQ1YjJmNGY4ODJiZTk5ZWYw
NGNmN2UxN2Q1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vy
cy9zdWJ0bGUvcmVzb3VyY2VzL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2suanMKQEAgLTAs
MCArMSwyMyBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvY29tbW9uLmpzJyk7
CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGV4cG9ydGluZyBhIEhNQUMga2V5IGluIHdvcmtlcnMgd2l0
aCBKV0sgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJs
ZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwg
WyJzaWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIGRlYnVnKCJFeHBv
cnRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoImp3
ayIsIGtleSk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsK
KworICAgIHNob3VsZEJlKCJrZXkua3R5IiwgIidvY3QnIik7CisgICAgc2hvdWxkQmUoImtleS5r
ZXlfb3BzIiwgIlsnc2lnbicsICd2ZXJpZnknXSIpOworICAgIHNob3VsZEJlKCJrZXkuYWxnIiwg
IidIUzEnIik7CisgICAgc2hvdWxkQmUoImtleS5leHQiLCAidHJ1ZSIpOworICAgIHNob3VsZEJl
KCJCYXNlNjRVUkwucGFyc2Uoa2V5LmspLmJ5dGVMZW5ndGgiLCAiNjQiKTsKKworICAgIGZpbmlz
aEpTVGVzdCgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9z
dWJ0bGUvcmVzb3VyY2VzL2htYWMtZ2VuZXJhdGUtZXhwb3J0LWtleS1yYXcuanMgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2htYWMtZ2VuZXJhdGUtZXhwb3J0
LWtleS1yYXcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQ3NDAzYTcxYjk5MzUzMDBlODkzYWFhM2E1YTM1MDll
Mzk3Y2Y1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1
YnRsZS9yZXNvdXJjZXMvaG1hYy1nZW5lcmF0ZS1leHBvcnQta2V5LXJhdy5qcwpAQCAtMCwwICsx
LDI2IEBACitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMnKTsKKworZGVzY3JpcHRpb24oIlRlc3QgZXhwb3J0aW5nIGFuIEhNQUMga2V5IGluIHdvcmtl
cnMgd2l0aCByYXcgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRy
YWN0YWJsZSA9IHRydWU7CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7CitjcnlwdG8u
c3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0
YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtl
eSA9IHJlc3VsdDsKKworICAgIC8vIE5vdCBzdXBwb3J0IGZvcm1hdC4KKyAgICBzaG91bGRSZWpl
Y3QoJ2NyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJzcGtpIiwga2V5KScpOworICAgIHNob3VsZFJl
amVjdCgnY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInBrY3M4Iiwga2V5KScpOworCisgICAgZGVi
dWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5nZW5l
cmF0ZUtleSh7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEifSwgZXh0cmFjdGFibGUsIFsic2ln
biIsICJ2ZXJpZnkiXSkKK30pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgZGVidWcoIkV4cG9y
dGluZyBhIGtleS4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3
Iiwga2V5KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0Owor
ICAgIHNob3VsZEJlKCJrZXkuYnl0ZUxlbmd0aCIsICI2NCIpOworCisgICAgZmluaXNoSlNUZXN0
KCk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9y
ZXNvdXJjZXMvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yc2EtZ2VuZXJhdGUtZXhwb3J0LWtleS1qd2su
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjMxMjdiZDExZjQ2ODBjOWY3ZjEwZTYxZDlmN2JjZTUxNjY2MTE0Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNv
dXJjZXMvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzCkBAIC0wLDAgKzEsNDkgQEAKK2lt
cG9ydFNjcmlwdHMoJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOworaW1w
b3J0U2NyaXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2NvbW1vbi5qcycpOworCitkZXNjcmlwdGlv
bigiVGVzdCBleHBvcnRpbmcgYSBSU0Ega2V5IHBhaXIgdXNpbmcgUlNBLU9BRVAgYWxnb3JpdGht
IGluIHdvcmtlcnMgd2l0aCBKV0sgZm9ybWF0LiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K3ZhciBhbGdvcml0aG1LZXlHZW4gPSB7CisgICAgbmFtZTogIlJTQS1PQUVQIiwKKyAgICAvLyBS
c2FLZXlHZW5QYXJhbXMKKyAgICBtb2R1bHVzTGVuZ3RoOiAyMDQ4LAorICAgIHB1YmxpY0V4cG9u
ZW50OiBuZXcgVWludDhBcnJheShbMHgwMSwgMHgwMCwgMHgwMV0pLCAgLy8gRXF1aXZhbGVudCB0
byA2NTUzNworICAgIGhhc2g6ICJzaGEtMSIKK307Cit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwor
CitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtl
eShhbGdvcml0aG1LZXlHZW4sIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCIsICJ3
cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleVBh
aXIgPSByZXN1bHQ7CisKKyAgICAvLyBOb3Qgc3VwcG9ydCBmb3JtYXQuCisgICAgc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLmV4cG9ydEtleSgicmF3Iiwga2V5UGFpci5wdWJsaWNLZXkpJyk7
CisKKyAgICBkZWJ1ZygiRXhwb3J0aW5nIHRoZSBwdWJsaWMga2V5Li4uIik7CisgICAgcmV0dXJu
IGNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KCJqd2siLCBrZXlQYWlyLnB1YmxpY0tleSk7Cit9KS50
aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHB1YmxpY0tleSA9IHJlc3VsdDsKKworICAgIHNo
b3VsZEJlKCJwdWJsaWNLZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tl
eS5rZXlfb3BzIiwgIlsnZW5jcnlwdCcsICd3cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHVi
bGljS2V5LmFsZyIsICInUlNBLU9BRVAnIik7CisgICAgc2hvdWxkQmUoInB1YmxpY0tleS5leHQi
LCAidHJ1ZSIpOworICAgIHNob3VsZEJlKCJCYXNlNjRVUkwucGFyc2UocHVibGljS2V5Lm4pLmJ5
dGVMZW5ndGgiLCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0
VVJMLnBhcnNlKHB1YmxpY0tleS5lKSkiLCAiJzAxMDAwMSciKTsKKworICAgIGRlYnVnKCJFeHBv
cnRpbmcgdGhlIHByaXZhdGUga2V5Li4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZXhw
b3J0S2V5KCJqd2siLCBrZXlQYWlyLnByaXZhdGVLZXkpOworfSkudGhlbihmdW5jdGlvbihyZXN1
bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoInByaXZhdGVL
ZXkua3R5IiwgIidSU0EnIik7CisgICAgc2hvdWxkQmUoInByaXZhdGVLZXkua2V5X29wcyIsICJb
J2RlY3J5cHQnLCAndW53cmFwS2V5J10iKTsKKyAgICBzaG91bGRCZSgicHJpdmF0ZUtleS5hbGci
LCAiJ1JTQS1PQUVQJyIpOworICAgIHNob3VsZEJlKCJwcml2YXRlS2V5LmV4dCIsICJ0cnVlIik7
CisgICAgc2hvdWxkQmUoIkJhc2U2NFVSTC5wYXJzZShwcml2YXRlS2V5Lm4pLmJ5dGVMZW5ndGgi
LCAiMjU2Iik7CisgICAgc2hvdWxkQmUoImJ5dGVzVG9IZXhTdHJpbmcoQmFzZTY0VVJMLnBhcnNl
KHByaXZhdGVLZXkuZSkpIiwgIicwMTAwMDEnIik7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoInBy
aXZhdGVLZXkub3RoIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1leHBvcnQta2V5
LWp3ay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNh
LWdlbmVyYXRlLWV4cG9ydC1rZXktandrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMGI0NTQz
NGNiN2FiNjA0MjhiMGJjZThlNGI2ODk3ZGNkMGRmODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3
ay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNyBAQAorW1dvcmtlcl0gVGVzdCBleHBvcnRpbmcg
YSBSU0Ega2V5IHBhaXIgdXNpbmcgUlNBLU9BRVAgYWxnb3JpdGhtIGluIHdvcmtlcnMgd2l0aCBK
V0sgZm9ybWF0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcgd29y
a2VyOiByZXNvdXJjZXMvcnNhLWdlbmVyYXRlLWV4cG9ydC1rZXktandrLmpzCitbV29ya2VyXSBH
ZW5lcmF0aW5nIGEga2V5Li4uCitbV29ya2VyXSBFeHBvcnRpbmcgdGhlIHB1YmxpYyBrZXkuLi4K
K1BBU1MgW1dvcmtlcl0gY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoInJhdyIsIGtleVBhaXIucHVi
bGljS2V5KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhj
ZXB0aW9uIDkpOiBUaGUgYWxnb3JpdGhtIGlzIG5vdCBzdXBwb3J0ZWQuCitQQVNTIFtXb3JrZXJd
IHB1YmxpY0tleS5rdHkgaXMgJ1JTQScKK1BBU1MgW1dvcmtlcl0gcHVibGljS2V5LmtleV9vcHMg
aXMgWydlbmNyeXB0JywgJ3dyYXBLZXknXQorUEFTUyBbV29ya2VyXSBwdWJsaWNLZXkuYWxnIGlz
ICdSU0EtT0FFUCcKK1BBU1MgW1dvcmtlcl0gcHVibGljS2V5LmV4dCBpcyB0cnVlCitQQVNTIFtX
b3JrZXJdIEJhc2U2NFVSTC5wYXJzZShwdWJsaWNLZXkubikuYnl0ZUxlbmd0aCBpcyAyNTYKK1BB
U1MgW1dvcmtlcl0gYnl0ZXNUb0hleFN0cmluZyhCYXNlNjRVUkwucGFyc2UocHVibGljS2V5LmUp
KSBpcyAnMDEwMDAxJworW1dvcmtlcl0gRXhwb3J0aW5nIHRoZSBwcml2YXRlIGtleS4uLgorUEFT
UyBbV29ya2VyXSBwcml2YXRlS2V5Lmt0eSBpcyAnUlNBJworUEFTUyBbV29ya2VyXSBwcml2YXRl
S2V5LmtleV9vcHMgaXMgWydkZWNyeXB0JywgJ3Vud3JhcEtleSddCitQQVNTIFtXb3JrZXJdIHBy
aXZhdGVLZXkuYWxnIGlzICdSU0EtT0FFUCcKK1BBU1MgW1dvcmtlcl0gcHJpdmF0ZUtleS5leHQg
aXMgdHJ1ZQorUEFTUyBbV29ya2VyXSBCYXNlNjRVUkwucGFyc2UocHJpdmF0ZUtleS5uKS5ieXRl
TGVuZ3RoIGlzIDI1NgorUEFTUyBbV29ya2VyXSBieXRlc1RvSGV4U3RyaW5nKEJhc2U2NFVSTC5w
YXJzZShwcml2YXRlS2V5LmUpKSBpcyAnMDEwMDAxJworUEFTUyBbV29ya2VyXSBwcml2YXRlS2V5
Lm90aCBpcyB1bmRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL3JzYS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1leHBvcnQta2V5LWp3ay5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU4ZTU3ZDA1YzA1MDIyMmI1YmM2MjE4YzcwOGMxYzJiYmY1YTI0ZjgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVyYXRlLWV4
cG9ydC1rZXktandrLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
d29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9yc2EtZ2VuZXJhdGUtZXhwb3J0LWtleS1q
d2suanMnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9pZGxoYXJu
ZXNzLWV4cGVjdGVkLnR4dAppbmRleCBhZjg0ZDExNDE2YjhlMGFhZjJhNGVjOTk1NWNkY2E0YmM5
MDE2YjBhLi5iZTczNTBmYTVhMmE0NGQ5ZmRhNWMyNTMzNzhhODgyZjkxMzM1OTAzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvaWRs
aGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTYxLDggKzYxLDggQEAgRkFJTCBTdWJ0bGVDcnlwdG8g
aW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVyaXZlQml0
cyIgd2kKIEZBSUwgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBkZXJpdmVCaXRzKEFs
Z29yaXRobUlkZW50aWZpZXIsQ3J5cHRvS2V5LHVuc2lnbmVkIGxvbmcpIG9uIGNyeXB0by5zdWJ0
bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5o
ZXJpdHM6IHByb3BlcnR5ICJkZXJpdmVCaXRzIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWlu
CiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJpbXBvcnRLZXkiIHdpdGggdGhlIHByb3BlciB0eXBlICg4KSAKIFBBU1MgU3Vi
dGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBpbXBvcnRLZXkoS2V5Rm9ybWF0LFtvYmplY3Qg
T2JqZWN0XSxbb2JqZWN0IE9iamVjdF0sQWxnb3JpdGhtSWRlbnRpZmllcixib29sZWFuLFtvYmpl
Y3QgT2JqZWN0XSkgb24gY3J5cHRvLnN1YnRsZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3Qg
dGhyb3cgVHlwZUVycm9yIAotRkFJTCBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8uc3Vi
dGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZXhwb3J0S2V5IiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoOSkgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiZXhwb3J0S2V5IiBub3QgZm91bmQgaW4g
cHJvdG90eXBlIGNoYWluCi1GQUlMIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNhbGxpbmcgZXhw
b3J0S2V5KEtleUZvcm1hdCxDcnlwdG9LZXkpIG9uIGNyeXB0by5zdWJ0bGUgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5
ICJleHBvcnRLZXkiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgU3VidGxlQ3J5
cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImV4cG9y
dEtleSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDkpIAorUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJm
YWNlOiBjYWxsaW5nIGV4cG9ydEtleShLZXlGb3JtYXQsQ3J5cHRvS2V5KSBvbiBjcnlwdG8uc3Vi
dGxlIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBGQUlMIFN1
YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJ3cmFwS2V5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMTApIGFzc2VydF9pbmhlcml0czogcHJv
cGVydHkgIndyYXBLZXkiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgU3VidGxl
Q3J5cHRvIGludGVyZmFjZTogY2FsbGluZyB3cmFwS2V5KEtleUZvcm1hdCxDcnlwdG9LZXksQ3J5
cHRvS2V5LEFsZ29yaXRobUlkZW50aWZpZXIpIG9uIGNyeXB0by5zdWJ0bGUgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5
ICJ3cmFwS2V5IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBGQUlMIFN1YnRsZUNyeXB0
byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1bndyYXBL
ZXkiIHdpdGggdGhlIHByb3BlciB0eXBlICgxMSkgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAi
dW53cmFwS2V5IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>