<?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>164741</bug_id>
          
          <creation_ts>2016-11-14 15:53:41 -0800</creation_ts>
          <short_desc>Update SubtleCrypto::verify to match the latest spec</short_desc>
          <delta_ts>2016-11-30 13:19:45 -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>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>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1251208</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-14 15:53:41 -0800</bug_when>
    <thetext>Update SubtleCrypto::verify to match the latest spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251247</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-11-14 16:44:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/29257935&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1254579</commentid>
    <comment_count>2</comment_count>
      <attachid>295675</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-29 17:07:55 -0800</bug_when>
    <thetext>Created attachment 295675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1254580</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-29 17:09:32 -0800</bug_when>
    <thetext>Attachment 295675 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:80:  CryptoAlgorithmRSASSA_PKCS1_v1_5::verify is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:87:  verifyRSASSA_PKCS1_v1_5 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:133:  CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp:43:  CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 4 in 57 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>1254785</commentid>
    <comment_count>4</comment_count>
      <attachid>295675</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-30 09:15:06 -0800</bug_when>
    <thetext>Comment on attachment 295675
Patch

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

Nice job!

&gt; Source/WebCore/crypto/mac/CryptoAlgorithmHMACMac.cpp:113
&gt; +void CryptoAlgorithmHMAC::platformVerify(Ref&lt;CryptoKey&gt;&amp;&amp; key, Vector&lt;uint8_t&gt;&amp;&amp; signature, Vector&lt;uint8_t&gt;&amp;&amp; data, BoolCallback&amp;&amp; callback, ExceptionCallback&amp;&amp; exceptionCallback, ScriptExecutionContext&amp; context, WorkQueue&amp; workQueue)

We should probably rename this directory from &quot;mac&quot; to &quot;cocoa&quot; or &quot;apple&quot; or something, since it is used on all Apple platforms.

&gt; LayoutTests/imported/w3c/WebCryptoAPI/idlharness-expected.txt:53
&gt; +PASS SubtleCrypto interface: calling verify(AlgorithmIdentifier,CryptoKey,BufferSource,BufferSource) on crypto.subtle with too few arguments must throw TypeError 

Yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1254890</commentid>
    <comment_count>5</comment_count>
      <attachid>295675</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-30 12:19:29 -0800</bug_when>
    <thetext>Comment on attachment 295675
Patch

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

Thanks Brent for r+ my patch.

&gt;&gt; Source/WebCore/crypto/mac/CryptoAlgorithmHMACMac.cpp:113
&gt;&gt; +void CryptoAlgorithmHMAC::platformVerify(Ref&lt;CryptoKey&gt;&amp;&amp; key, Vector&lt;uint8_t&gt;&amp;&amp; signature, Vector&lt;uint8_t&gt;&amp;&amp; data, BoolCallback&amp;&amp; callback, ExceptionCallback&amp;&amp; exceptionCallback, ScriptExecutionContext&amp; context, WorkQueue&amp; workQueue)
&gt; 
&gt; We should probably rename this directory from &quot;mac&quot; to &quot;cocoa&quot; or &quot;apple&quot; or something, since it is used on all Apple platforms.

That actually confuses me as well. We have a lot files having suffix Mac but not only being used in Mac. I mean besides crypto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1254927</commentid>
    <comment_count>6</comment_count>
      <attachid>295675</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-30 13:19:41 -0800</bug_when>
    <thetext>Comment on attachment 295675
Patch

Clearing flags on attachment: 295675

Committed r209150: &lt;http://trac.webkit.org/changeset/209150&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1254928</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-30 13:19:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295675</attachid>
            <date>2016-11-29 17:07:55 -0800</date>
            <delta_ts>2016-11-30 13:19:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164741-20161129170728.patch</filename>
            <type>text/plain</type>
            <size>80023</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjViOTIzMjRhNzI3NTQ1
MTUzMzQ2YjgzOGFkOTAzMDdiMmQzODdiYS4uOTdlOWUxN2Q4ODIzZjM0ZDg0NWIwN2Q3ZWM1NjM1
MzhkMGQwYTNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE2LTExLTI5ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIFN1YnRsZUNy
eXB0bzo6dmVyaWZ5IHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3BlYworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NzQxCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yOTI1NzkzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGRvZXMgZm9sbG93aW5nIGZldyB0aGluZ3M6CisgICAgICAgIDEu
IEl0IHVwZGF0ZXMgdGhlIFN1YnRsZUNyeXB0bzo6dmVyaWZ5IG1ldGhvZCB0byBtYXRjaCB0aGUg
bGF0ZXN0IHNwZWM6CisgICAgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XZWJDcnlwdG9B
UEkvI1N1YnRsZUNyeXB0by1tZXRob2QtdmVyaWZ5LgorICAgICAgICAgICBJdCBhbHNvIHJlZmVy
cyB0byB0aGUgbGF0ZXN0IEVkaXRvcidzIERyYWZ0IHRvIGEgY2VydGFpbiBkZWdyZWU6CisgICAg
ICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjcnlwdG8vT3ZlcnZpZXcuaHRtbCNTdWJ0
bGVDcnlwdG8tbWV0aG9kLXZlcmlmeS4KKyAgICAgICAgMi4gSXQgaW1wbGVtZW50cyB2ZXJpZnkg
b3BlcmF0aW9ucyBvZiB0aGUgZm9sbG93aW5nIGFsZ29yaXRobXM6IEhNQUMsIGFuZAorICAgICAg
ICAgICBSU0FTU0EtUEtDUzEtVjFfNS4KKworICAgICAgICBUZXN0czogY3J5cHRvL3N1YnRsZS9o
bWFjLWdlbmVyYXRlLWtleS1zaWduLXZlcmlmeS5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8v
c3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhMS5odG1sCisgICAgICAgICAgICAgICBj
cnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhMjI0Lmh0bWwKKyAgICAgICAg
ICAgICAgIGNyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGEyNTYuaHRtbAor
ICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXktdmVyaWZ5LXNoYTM4
NC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJp
Znktc2hhNTEyLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3Mx
LXYxXzUtZ2VuZXJhdGUta2V5LXNpZ24tdmVyaWZ5Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0
by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnktc2hhMS5odG1sCisg
ICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1rZXkt
dmVyaWZ5LXNoYTIyNC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3JzYXNzYS1w
a2NzMS12MV81LWltcG9ydC1rZXktdmVyaWZ5LXNoYTI1Ni5odG1sCisgICAgICAgICAgICAgICBj
cnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1rZXktdmVyaWZ5LXNoYTM4NC5o
dG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9y
dC1rZXktdmVyaWZ5LXNoYTUxMi5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3Zl
cmlmeS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vd29y
a2Vycy9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS5odG1sCisgICAgICAgICAgICAgICBj
cnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnku
aHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6bm9ybWFsaXplQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uVmVyaWZ5UHJvbWlzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6dmVyaWZ5KToKKyAgICAgICAgKiBjcnlw
dG8vQ3J5cHRvQWxnb3JpdGhtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRo
bTo6dmVyaWZ5KToKKyAgICAgICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmg6CisgICAgICAg
ICogY3J5cHRvL1N1YnRsZUNyeXB0by5pZGw6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtSE1BQy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0
aG1ITUFDOjp2ZXJpZnkpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29y
aXRobUhNQUMuaDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1S
U0FTU0FfUEtDUzFfdjFfNS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1S
U0FTU0FfUEtDUzFfdjFfNTo6dmVyaWZ5KToKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNS5oOgorICAgICAgICAqIGNyeXB0by9nY3J5
cHQvQ3J5cHRvQWxnb3JpdGhtSE1BQ0dDcnlwdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlw
dG9BbGdvcml0aG1ITUFDOjpwbGF0Zm9ybVZlcmlmeSk6CisgICAgICAgICogY3J5cHRvL2dudXRs
cy9DcnlwdG9BbGdvcml0aG1ITUFDR251VExTLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0
b0FsZ29yaXRobUhNQUM6OnBsYXRmb3JtVmVyaWZ5KToKKyAgICAgICAgKiBjcnlwdG8vZ251dGxz
L0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81R251VExTLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpwbGF0Zm9ybVZlcmlmeSk6
CisgICAgICAgICogY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1ITUFDTWFjLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRmb3JtVmVyaWZ5KToKKyAgICAg
ICAgKiBjcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81TWFjLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnZlcmlmeVJTQVNTQV9QS0NTMV92MV81KToKKyAgICAgICAgKFdl
YkNvcmU6OkNyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpwbGF0Zm9ybVZlcmlmeSk6
CisKIDIwMTYtMTEtMjIgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVcGRhdGUgU3VidGxlQ3J5cHRvOjpzaWduIHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3BlYwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0bGVDcnlwdG9DdXN0b20u
Y3BwCmluZGV4IGU0ZGZmZTA4NDAzYzNjNmQ4YzkyMTVhZDMxNWRlNGU0MTY5YTgxZjUuLjI1ZDI4
MmE4MjNjOTZjYzZhMzZlM2ZiNWVkNzY1MTI4NGE4OTZmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKQEAgLTU1LDYgKzU1
LDcgQEAgZW51bSBjbGFzcyBPcGVyYXRpb25zIHsKICAgICBFbmNyeXB0LAogICAgIERlY3J5cHQs
CiAgICAgU2lnbiwKKyAgICBWZXJpZnksCiAgICAgRGlnZXN0LAogICAgIEdlbmVyYXRlS2V5LAog
ICAgIEltcG9ydEtleSwKQEAgLTExOSw2ICsxMjAsNyBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+IG5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFt
ZQogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgT3BlcmF0
aW9uczo6U2lnbjoKKyAgICAgICAgY2FzZSBPcGVyYXRpb25zOjpWZXJpZnk6CiAgICAgICAgICAg
ICBzd2l0Y2ggKCppZGVudGlmaWVyKSB7CiAgICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRo
bUlkZW50aWZpZXI6OlJTQVNTQV9QS0NTMV92MV81OgogICAgICAgICAgICAgY2FzZSBDcnlwdG9B
bGdvcml0aG1JZGVudGlmaWVyOjpITUFDOgpAQCAtNTYzLDYgKzU2NSw1NCBAQCBzdGF0aWMgdm9p
ZCBqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uU2lnblByb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwgUmVm
PERlZmVycmVkUHJvbQogICAgIGFsZ29yaXRobS0+c2lnbihrZXkucmVsZWFzZU5vbk51bGwoKSwg
V1RGTW92ZShkYXRhKSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJh
Y2spLCAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dEZyb21FeGVjU3RhdGUoJnN0YXRlKSwgc3VidGxl
LT53cmFwcGVkKCkud29ya1F1ZXVlKCkpOwogfQogCitzdGF0aWMgdm9pZCBqc1N1YnRsZUNyeXB0
b0Z1bmN0aW9uVmVyaWZ5UHJvbWlzZShFeGVjU3RhdGUmIHN0YXRlLCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCit7CisgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKKyAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBpZiAoVU5MSUtFTFkoc3RhdGUu
YXJndW1lbnRDb3VudCgpIDwgNCkpIHsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0PEpTVmFsdWU+
KGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKCZzdGF0ZSkpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgYXV0byBwYXJhbXMgPSBub3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgwKSwgT3BlcmF0aW9uczo6VmVy
aWZ5KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworCisgICAgYXV0
byBrZXkgPSB0b0NyeXB0b0tleShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMSkpOwor
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAgICBhdXRvIHNpZ25h
dHVyZSA9IHRvVmVjdG9yKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgyKSk7CisgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKworICAgIGF1dG8gZGF0YSA9IHRv
VmVjdG9yKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgzKSk7CisgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKworICAgIGlmIChwYXJhbXMtPmlkZW50aWZpZXIg
IT0ga2V5LT5hbGdvcml0aG1JZGVudGlmaWVyKCkpIHsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0
KElOVkFMSURfQUNDRVNTX0VSUiwgQVNDSUlMaXRlcmFsKCJDcnlwdG9LZXkgZG9lc24ndCBtYXRj
aCBBbGdvcml0aG1JZGVudGlmaWVyIikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
aWYgKCFrZXktPmFsbG93cyhDcnlwdG9LZXlVc2FnZVZlcmlmeSkpIHsKKyAgICAgICAgcHJvbWlz
ZS0+cmVqZWN0KElOVkFMSURfQUNDRVNTX0VSUiwgQVNDSUlMaXRlcmFsKCJDcnlwdG9LZXkgZG9l
c24ndCBzdXBwb3J0IHZlcmlmaWNhdGlvbiIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGF1dG8gYWxnb3JpdGhtID0gY3JlYXRlQWxnb3JpdGhtKHN0YXRlLCBrZXktPmFsZ29yaXRo
bUlkZW50aWZpZXIoKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsK
KworICAgIGF1dG8gY2FsbGJhY2sgPSBbY2FwdHVyZWRQcm9taXNlID0gcHJvbWlzZS5jb3B5UmVm
KCldKGJvb2wgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgY2FwdHVyZWRQcm9taXNlLT5yZXNv
bHZlKHJlc3VsdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9OworICAgIGF1dG8gZXhjZXB0aW9u
Q2FsbGJhY2sgPSBbY2FwdHVyZWRQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oRXhjZXB0aW9u
Q29kZSBlYykgbXV0YWJsZSB7CisgICAgICAgIHJlamVjdFdpdGhFeGNlcHRpb24oV1RGTW92ZShj
YXB0dXJlZFByb21pc2UpLCBlYyk7CisgICAgfTsKKworICAgIGF1dG8gc3VidGxlID0ganNEeW5h
bWljRG93bmNhc3Q8SlNTdWJ0bGVDcnlwdG8qPihzdGF0ZS50aGlzVmFsdWUoKSk7CisgICAgQVNT
RVJUKHN1YnRsZSk7CisgICAgYWxnb3JpdGhtLT52ZXJpZnkoa2V5LnJlbGVhc2VOb25OdWxsKCks
IFdURk1vdmUoc2lnbmF0dXJlKSwgV1RGTW92ZShkYXRhKSwgV1RGTW92ZShjYWxsYmFjayksIFdU
Rk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dEZyb21FeGVj
U3RhdGUoJnN0YXRlKSwgc3VidGxlLT53cmFwcGVkKCkud29ya1F1ZXVlKCkpOworfQorCiBzdGF0
aWMgdm9pZCBqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uR2VuZXJhdGVLZXlQcm9taXNlKEV4ZWNTdGF0
ZSYgc3RhdGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICBWTSYgdm0g
PSBzdGF0ZS52bSgpOwpAQCAtNzM5LDYgKzc4OSwxMSBAQCBKU1ZhbHVlIEpTU3VidGxlQ3J5cHRv
OjpzaWduKEV4ZWNTdGF0ZSYgc3RhdGUpCiAgICAgcmV0dXJuIGNhbGxQcm9taXNlRnVuY3Rpb248
anNTdWJ0bGVDcnlwdG9GdW5jdGlvblNpZ25Qcm9taXNlLCBQcm9taXNlRXhlY3V0aW9uU2NvcGU6
OldpbmRvd09yV29ya2VyPihzdGF0ZSk7CiB9CiAKK0pTVmFsdWUgSlNTdWJ0bGVDcnlwdG86OnZl
cmlmeShFeGVjU3RhdGUmIHN0YXRlKQoreworICAgIHJldHVybiBjYWxsUHJvbWlzZUZ1bmN0aW9u
PGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25WZXJpZnlQcm9taXNlLCBQcm9taXNlRXhlY3V0aW9uU2Nv
cGU6OldpbmRvd09yV29ya2VyPihzdGF0ZSk7Cit9CisKIEpTVmFsdWUgSlNTdWJ0bGVDcnlwdG86
OmdlbmVyYXRlS2V5KEV4ZWNTdGF0ZSYgc3RhdGUpCiB7CiAgICAgcmV0dXJuIGNhbGxQcm9taXNl
RnVuY3Rpb248anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkdlbmVyYXRlS2V5UHJvbWlzZSwgUHJvbWlz
ZUV4ZWN1dGlvblNjb3BlOjpXaW5kb3dPcldvcmtlcj4oc3RhdGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcAppbmRleCA0ZmU3Yjk1NWI3MDY1YmExNDE3MDMxZWM0
N2I5NmQ5Y2M5NTUwZDE5Li4yN2M2M2U3MDg2ZTQ2Mzg3YjNlNDMyNjNlYWU5NzhjMjg4NzU0YTQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcApAQCAtNDcsNiAr
NDcsMTEgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG06OnNpZ24oUmVmPENyeXB0b0tleT4mJiwgVmVj
dG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYKICAgICBleGNlcHRpb25DYWxsYmFjayhO
T1RfU1VQUE9SVEVEX0VSUik7CiB9CiAKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtOjp2ZXJpZnkoUmVm
PENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBCb29s
Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpCit7CisgICAgZXhjZXB0aW9uQ2FsbGJhY2so
Tk9UX1NVUFBPUlRFRF9FUlIpOworfQorCiB2b2lkIENyeXB0b0FsZ29yaXRobTo6Z2VuZXJhdGVL
ZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYsIGJvb2wsIENyeXB0b0tleVVzYWdl
Qml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2Vw
dGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JikKIHsKICAgICBleGNlcHRpb25D
YWxsYmFjayhOT1RfU1VQUE9SVEVEX0VSUik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxn
b3JpdGhtLmgKaW5kZXggMTE5ODRiMGZjYjNkMGUwMGZjYTZiOWZmNTdlYzA2MTMxMTYwMzhjYi4u
ZDNjN2M2NmYzNjJkMjFlMDY2MjQwNGYwZjFjZWE1ODBiMjA3YTAzNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaApAQCAtNjcsNiArNjcsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIGVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxs
YmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29y
a1F1ZXVlJik7CiAgICAgdmlydHVhbCB2b2lkIGRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90
PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgV29ya1F1ZXVlJik7CiAgICAgdmlydHVhbCB2b2lkIHNpZ24oUmVmPENyeXB0
b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNh
bGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgdmVyaWZ5KFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmIHNpZ25h
dHVyZSwgVmVjdG9yPHVpbnQ4X3Q+JiYsIEJvb2xDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFj
ayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJik7CiAgICAgdmlydHVhbCB2
b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmLCBib29sIGV4
dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwg
RXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogICAgIHZpcnR1
YWwgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29u
c3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25D
YWxsYmFjayYmKTsKICAgICB2aXJ0dWFsIHZvaWQgZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5
Rm9ybWF0LCBSZWY8Q3J5cHRvS2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2Fs
bGJhY2smJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRv
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCmluZGV4IDAxOWYx
MTU2N2NkMmE0M2VhMDgwNjExODJmNmUwZmIwMzk4YjE1NmMuLmJkODYzMTc0NDNlMzI1MTU0YTQ4
YTcyY2U4NmE1OTdmNTdiYzU5NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9T
dWJ0bGVDcnlwdG8uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8u
aWRsCkBAIC0zNCw2ICszNCw3IEBAIGVudW0gS2V5Rm9ybWF0IHsgInJhdyIsICJzcGtpIiwgInBr
Y3M4IiwgImp3ayIgfTsKICAgICBbQ3VzdG9tXSBQcm9taXNlPGFueT4gZW5jcnlwdChBbGdvcml0
aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgQ3J5cHRvS2V5IGtleSwgQnVmZmVyU291cmNlIGRhdGEp
OwogICAgIFtDdXN0b21dIFByb21pc2U8YW55PiBkZWNyeXB0KEFsZ29yaXRobUlkZW50aWZpZXIg
YWxnb3JpdGhtLCBDcnlwdG9LZXkga2V5LCBCdWZmZXJTb3VyY2UgZGF0YSk7CiAgICAgW0N1c3Rv
bV0gUHJvbWlzZTxhbnk+IHNpZ24oQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIENyeXB0
b0tleSBrZXksIEJ1ZmZlclNvdXJjZSBkYXRhKTsKKyAgICBbQ3VzdG9tXSBQcm9taXNlPGFueT4g
dmVyaWZ5KEFsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBDcnlwdG9LZXkga2V5LCBCdWZm
ZXJTb3VyY2Ugc2lnbmF0dXJlLCBCdWZmZXJTb3VyY2UgZGF0YSk7CiAgICAgLy8gRklYTUU6IFNo
b3VsZCB0aGlzIHJldHVybiBhIFByb21pc2U8KENyeXB0b0tleSBvciBDcnlwdG9LZXlQYWlyKT4/
CiAgICAgW0N1c3RvbV0gUHJvbWlzZTxhbnk+IGdlbmVyYXRlS2V5KEFsZ29yaXRobUlkZW50aWZp
ZXIgYWxnb3JpdGhtLCBib29sZWFuIGV4dHJhY3RhYmxlLCBzZXF1ZW5jZTxDcnlwdG9LZXlVc2Fn
ZT4ga2V5VXNhZ2VzKTsKICAgICBbQ3VzdG9tXSBQcm9taXNlPENyeXB0b0tleT4gaW1wb3J0S2V5
KEtleUZvcm1hdCBmb3JtYXQsIChCdWZmZXJTb3VyY2Ugb3IgSnNvbldlYktleSkga2V5RGF0YSwg
QWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0sIGJvb2xlbiBleHRyYWN0YWJsZSwgc2VxdWVu
Y2U8Q3J5cHRvS2V5VXNhZ2U+IGtleVVzYWdlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwCmluZGV4IDU3MTMy
ODRlODRjMzhlNmIwZWI5MDI5NmE1YThhOTM3MGI0MTkwNjYuLjA2YWM3YjlkYzlhNGU5ZmVlN2Y5
YjA1YTNkMTA2MDEyYjhjYTAyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3BwCkBAIC03NCw2ICs3NCwxMSBA
QCB2b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OnNpZ24oUmVmPENyeXB0b0tleT4mJiBrZXksIFZl
Y3Rvcjx1aW50OF90PiYmIGRhdGEsIFZlYwogICAgIHBsYXRmb3JtU2lnbihXVEZNb3ZlKGtleSks
IFdURk1vdmUoZGF0YSksIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxi
YWNrKSwgY29udGV4dCwgd29ya1F1ZXVlKTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1ITUFD
Ojp2ZXJpZnkoUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIHNpZ25hdHVy
ZSwgVmVjdG9yPHVpbnQ4X3Q+JiYgZGF0YSwgQm9vbENhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQoreworICAgIHBsYXRmb3JtVmVyaWZ5KFdU
Rk1vdmUoa2V5KSwgV1RGTW92ZShzaWduYXR1cmUpLCBXVEZNb3ZlKGRhdGEpLCBXVEZNb3ZlKGNh
bGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGNvbnRleHQsIHdvcmtRdWV1ZSk7
Cit9CisKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBF
eGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0JikKIHsKICAgICBjb25zdCBhdXRvJiBobWFjUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0
b0FsZ29yaXRobUhtYWNLZXlQYXJhbXM+KHBhcmFtZXRlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5oIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5oCmluZGV4IGE4
OGZhNzllNGNhOWM1MmQ2ZjlhZDZhMzczYWY2NzBmZjhlMjYyZDkuLjNhZDY5YzkyZTI5MzA4NTEw
ZjhlYjE5MGQ2ZjVmYWE0MzdkNDIwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmgKQEAgLTQ1LDYgKzQ1LDcgQEAg
cHJpdmF0ZToKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25z
dCBmaW5hbDsKIAogICAgIHZvaWQgc2lnbihSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhf
dD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpIGZpbmFsOworICAgIHZvaWQgdmVyaWZ5KFJlZjxDcnlw
dG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmIHNpZ25hdHVyZSwgVmVjdG9yPHVpbnQ4X3Q+JiYs
IEJvb2xDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgV29ya1F1ZXVlJikgZmluYWw7CiAgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VC
aXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmKSBmaW5hbDsKICAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlw
dG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRt
YXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQg
ZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBSZWY8Q3J5cHRvS2V5PiYmLCBLZXlE
YXRhQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CkBAIC01Nyw2ICs1OCw3
IEBAIHByaXZhdGU6CiAKICAgICBib29sIGtleUFsZ29yaXRobU1hdGNoZXMoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtSG1hY1BhcmFtc0RlcHJlY2F0ZWQmIGFsZ29yaXRobVBhcmFtZXRlcnMsIGNvbnN0
IENyeXB0b0tleSYpIGNvbnN0OwogICAgIHZvaWQgcGxhdGZvcm1TaWduKFJlZjxDcnlwdG9LZXk+
JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFj
ayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJik7CisgICAgdm9pZCBwbGF0
Zm9ybVZlcmlmeShSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiBzaWduYXR1cmUs
IFZlY3Rvcjx1aW50OF90PiYmLCBCb29sQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpOwogICAgIEV4Y2VwdGlvbk9yPHZv
aWQ+IHBsYXRmb3JtU2lnbihjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFjUGFyYW1zRGVwcmVjYXRl
ZCYsIGNvbnN0IENyeXB0b0tleUhNQUMmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVj
dG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKTsKICAgICBFeGNl
cHRpb25Pcjx2b2lkPiBwbGF0Zm9ybVZlcmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1IbWFjUGFy
YW1zRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleUhNQUMmLCBjb25zdCBDcnlwdG9PcGVyYXRp
b25EYXRhJiBzaWduYXR1cmUsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBCb29sQ2FsbGJh
Y2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtD
UzFfdjFfNS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1SU0FTU0FfUEtDUzFfdjFfNS5jcHAKaW5kZXggZDMwZTllODMwMjM0MDllMzUyZDU2MDI5
NGMwMWE5MWY5NDcwMTIyOC4uODA1OWZkYTdlMmNkNzA4MWQ3Njg2YTdmZWFmNGNmOWI1NzA5NWI1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81LmNwcApAQCAtNzcsNiAr
NzcsMTUgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6c2lnbihSZWY8
Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3QKICAgICBwbGF0Zm9ybVNpZ24oV1RGTW92
ZShrZXkpLCBXVEZNb3ZlKGRhdGEpLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRp
b25DYWxsYmFjayksIGNvbnRleHQsIHdvcmtRdWV1ZSk7CiB9CiAKK3ZvaWQgQ3J5cHRvQWxnb3Jp
dGhtUlNBU1NBX1BLQ1MxX3YxXzU6OnZlcmlmeShSZWY8Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9y
PHVpbnQ4X3Q+JiYgc2lnbmF0dXJlLCBWZWN0b3I8dWludDhfdD4mJiBkYXRhLCBCb29sQ2FsbGJh
Y2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3JrUXVldWUpCit7Cisg
ICAgaWYgKGtleS0+dHlwZSgpICE9IENyeXB0b0tleVR5cGU6OlB1YmxpYykgeworICAgICAgICBl
eGNlcHRpb25DYWxsYmFjayhJTlZBTElEX0FDQ0VTU19FUlIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIHBsYXRmb3JtVmVyaWZ5KFdURk1vdmUoa2V5KSwgV1RGTW92ZShzaWduYXR1cmUp
LCBXVEZNb3ZlKGRhdGEpLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxs
YmFjayksIGNvbnRleHQsIHdvcmtRdWV1ZSk7Cit9CisKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNB
U1NBX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnMmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVz
YWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2sm
JiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKIHsK
ICAgICBjb25zdCBhdXRvJiByc2FQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGht
UnNhSGFzaGVkS2V5R2VuUGFyYW1zPihwYXJhbWV0ZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81
LmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FT
U0FfUEtDUzFfdjFfNS5oCmluZGV4IDE3ZjAzMDhkMzdkN2M5ZjdmZGE4NTA0ZjE1YmI5OGNlYmEx
MzczNGEuLjAxZDg2OTNiNTRlNTIxZmQwNjA3YTc1ZmE4OGU5MWE3MmJiMjNiYzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQVNT
QV9QS0NTMV92MV81LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5
cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzUuaApAQCAtNDUsNiArNDUsNyBAQCBwcml2YXRl
OgogICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IGZpbmFs
OwogCiAgICAgdm9pZCBzaWduKFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBW
ZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgV29ya1F1ZXVlJikgZmluYWw7CisgICAgdm9pZCB2ZXJpZnkoUmVmPENyeXB0b0tleT4m
JiwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2lnbmF0dXJlLCBWZWN0b3I8dWludDhfdD4mJiwgQm9vbENh
bGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBX
b3JrUXVldWUmKSBmaW5hbDsKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnMmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwg
S2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYpIGZpbmFsOwogICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5
Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5
Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBleHBvcnRL
ZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxs
YmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKQEAgLTU2LDYgKzU3LDcgQEAgcHJp
dmF0ZToKIAogICAgIGJvb2wga2V5QWxnb3JpdGhtTWF0Y2hlcyhjb25zdCBDcnlwdG9BbGdvcml0
aG1Sc2FTc2FQYXJhbXNEZXByZWNhdGVkJiBhbGdvcml0aG1QYXJhbWV0ZXJzLCBjb25zdCBDcnlw
dG9LZXkmKSBjb25zdDsKICAgICB2b2lkIHBsYXRmb3JtU2lnbihSZWY8Q3J5cHRvS2V5PiYmLCBW
ZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpOworICAgIHZvaWQgcGxhdGZvcm1W
ZXJpZnkoUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2lnbmF0dXJlLCBWZWN0
b3I8dWludDhfdD4mJiwgQm9vbENhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBw
bGF0Zm9ybVNpZ24oY29uc3QgQ3J5cHRvQWxnb3JpdGhtUnNhU3NhUGFyYW1zRGVwcmVjYXRlZCYs
IGNvbnN0IENyeXB0b0tleVJTQSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JD
YWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spOwogICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHBsYXRmb3JtVmVyaWZ5KGNvbnN0IENyeXB0b0FsZ29yaXRobVJzYVNzYVBhcmFt
c0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlSU0EmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25E
YXRhJiBzaWduYXR1cmUsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBCb29sQ2FsbGJhY2sm
JiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0FsZ29yaXRobUhNQUNHQ3J5cHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9DcnlwdG9BbGdvcml0aG1ITUFDR0NyeXB0LmNw
cAppbmRleCA5Yzc1NWI3MjkzYjFlOTVmNGM5Nzg5M2RlYmQ5YTBjODA5OTMxODNkLi40NWE2Njg4
NDJmMzhlMTlmZWRiYjUzNzgwNTE0MWM5MDBhNWU0YmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0FsZ29yaXRobUhNQUNHQ3J5cHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvQWxnb3JpdGhtSE1BQ0dDcnlwdC5jcHAK
QEAgLTEwMiw2ICsxMDIsMTEgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjpwbGF0Zm9ybVNp
Z24oUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3QKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRmb3JtVmVyaWZ5
KFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3I8dWludDhfdD4mJiwg
Qm9vbENhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBXb3JrUXVldWUmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIEV4Y2VwdGlv
bk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRmb3JtU2lnbihjb25zdCBDcnlwdG9B
bGdvcml0aG1IbWFjUGFyYW1zRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5
SE1BQyYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFj
ayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spCiB7CiAgICAgaW50
IGFsZ29yaXRobSA9IGdldEdDcnlwdERpZ2VzdEFsZ29yaXRobShwYXJhbWV0ZXJzLmhhc2gpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1I
TUFDR251VExTLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvQWxnb3Jp
dGhtSE1BQ0dudVRMUy5jcHAKaW5kZXggMTc0YjgwMmVmMTA0Y2E2YTQ2ZjY3MzQyZWYzNjMwM2Uy
ZTkwMzNlNS4uMzkzNWM1NTE1ODIyMTBmMWE2MjJlYWY3NjEyMWU5YjBhZTE0ZGUxNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1ITUFDR251
VExTLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRo
bUhNQUNHbnVUTFMuY3BwCkBAIC03NCw2ICs3NCwxMSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUhN
QUM6OnBsYXRmb3JtU2lnbihSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVj
dAogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtSE1BQzo6
cGxhdGZvcm1WZXJpZnkoUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3Rv
cjx1aW50OF90PiYmLCBCb29sQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtSE1BQzo6cGxhdGZvcm1TaWdu
KGNvbnN0IENyeXB0b0FsZ29yaXRobUhtYWNQYXJhbXNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBj
b25zdCBDcnlwdG9LZXlITUFDJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEs
IFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmKQogewogICAgIGdudXRs
c19tYWNfYWxnb3JpdGhtX3QgYWxnb3JpdGhtID0gZ2V0R251dGxzRGlnZXN0QWxnb3JpdGhtKHBh
cmFtZXRlcnMuaGFzaCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251dGxz
L0NyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81R251VExTLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVHbnVUTFMu
Y3BwCmluZGV4IGZjZTZhYWFiMmIzZmIzZjk3MjMwNGU2MWI3MzhiOGQyMzk5YjRhOTIuLjgwYWY3
ZjU4MjY4NWJkYzZmYWU0OTYxNTlkNTIxOTQ0MjI0NjllZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVHbnVU
TFMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvQWxnb3JpdGht
UlNBU1NBX1BLQ1MxX3YxXzVHbnVUTFMuY3BwCkBAIC00MCw2ICs0MCwxMSBAQCB2b2lkIENyeXB0
b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpwbGF0Zm9ybVNpZ24oUmVmPENyeXB0b0tleT4m
JiwgVmVjdG9yPHVpbgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgQ3J5cHRvQWxn
b3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6OnBsYXRmb3JtVmVyaWZ5KFJlZjxDcnlwdG9LZXk+JiYs
IFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgQm9vbENhbGxiYWNrJiYsIEV4
Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0Fs
Z29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpwbGF0Zm9ybVNpZ24oY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUnNhU3NhUGFyYW1zRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleVJTQSYsIGNvbnN0IENy
eXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJikKIHsK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRv
L21hYy9DcnlwdG9BbGdvcml0aG1ITUFDTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9t
YWMvQ3J5cHRvQWxnb3JpdGhtSE1BQ01hYy5jcHAKaW5kZXggZjExNTQ2ZDYzYmI1YjE3NDU5NmEz
NjAyZGY3NTAyMmEzODc5ZDA4NS4uMjM2OGQxYzkxNTdiNzMxZmFjMTkzZDhhN2EyZTQyN2FjMDg4
NjM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0
aG1ITUFDTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29y
aXRobUhNQUNNYWMuY3BwCkBAIC0xMTAsNiArMTEwLDMxIEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGht
SE1BQzo6cGxhdGZvcm1TaWduKFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4m
JiBkCiAKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjpwbGF0Zm9ybVZlcmlmeShSZWY8
Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2lnbmF0dXJlLCBWZWN0b3I8dWlu
dDhfdD4mJiBkYXRhLCBCb29sQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2sm
JiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29y
a1F1ZXVlJiB3b3JrUXVldWUpCit7CisgICAgY29udGV4dC5yZWYoKTsKKyAgICB3b3JrUXVldWUu
ZGlzcGF0Y2goW2tleSA9IFdURk1vdmUoa2V5KSwgc2lnbmF0dXJlID0gV1RGTW92ZShzaWduYXR1
cmUpLCBkYXRhID0gV1RGTW92ZShkYXRhKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwg
ZXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgJmNvbnRleHRd
KCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8mIGhtYWNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlI
TUFDPihrZXkuZ2V0KCkpOworICAgICAgICBhdXRvIGFsZ29yaXRobSA9IGNvbW1vbkNyeXB0b0hN
QUNBbGdvcml0aG0oaG1hY0tleS5oYXNoQWxnb3JpdGhtSWRlbnRpZmllcigpKTsKKyAgICAgICAg
aWYgKCFhbGdvcml0aG0pIHsKKyAgICAgICAgICAgIC8vIFdlIHNob3VsZCBvbmx5IGRlcmVmZXJl
bmNlIGNhbGxiYWNrcyBhZnRlciBiZWluZyBiYWNrIHRvIHRoZSBEb2N1bWVudC9Xb3JrZXIgdGhy
ZWFkcy4KKyAgICAgICAgICAgIGNvbnRleHQucG9zdFRhc2soW2V4Y2VwdGlvbkNhbGxiYWNrID0g
V1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayld
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgICAgICBleGNl
cHRpb25DYWxsYmFjayhPcGVyYXRpb25FcnJvcik7CisgICAgICAgICAgICAgICAgY29udGV4dC5k
ZXJlZigpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICAgICAgYXV0byBleHBlY3RlZFNpZ25hdHVyZSA9IGNhbGN1bGF0ZVNpZ25hdHVyZSgqYWxn
b3JpdGhtLCBobWFjS2V5LmtleSgpLCBkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgICAg
ICAvLyBVc2luZyBhIGNvbnN0YW50IHRpbWUgY29tcGFyaXNvbiB0byBwcmV2ZW50IHRpbWluZyBh
dHRhY2tzLgorICAgICAgICBib29sIHJlc3VsdCA9IHNpZ25hdHVyZS5zaXplKCkgPT0gZXhwZWN0
ZWRTaWduYXR1cmUuc2l6ZSgpICYmICFjb25zdGFudFRpbWVNZW1jbXAoZXhwZWN0ZWRTaWduYXR1
cmUuZGF0YSgpLCBzaWduYXR1cmUuZGF0YSgpLCBleHBlY3RlZFNpZ25hdHVyZS5zaXplKCkpOwor
ICAgICAgICAvLyBXZSBzaG91bGQgb25seSBkZXJlZmVyZW5jZSBjYWxsYmFja3MgYWZ0ZXIgYmVp
bmcgYmFjayB0byB0aGUgRG9jdW1lbnQvV29ya2VyIHRocmVhZHMuCisgICAgICAgIGNvbnRleHQu
cG9zdFRhc2soW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIHJlc3VsdCwgZXhjZXB0aW9u
Q2FsbGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKV0oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCkgeworICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0KTsKKyAgICAgICAg
ICAgIGNvbnRleHQuZGVyZWYoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKIEV4Y2VwdGlv
bk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobUhNQUM6OnBsYXRmb3JtU2lnbihjb25zdCBDcnlwdG9B
bGdvcml0aG1IbWFjUGFyYW1zRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5
SE1BQyYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFj
ayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJikKIHsKICAgICBhdXRvIGFsZ29yaXRobSA9IGNv
bW1vbkNyeXB0b0hNQUNBbGdvcml0aG0ocGFyYW1ldGVycy5oYXNoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzVN
YWMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SU0FTU0Ff
UEtDUzFfdjFfNU1hYy5jcHAKaW5kZXggYzg1ZTM3MWU2ZjRiMzhlYjZkM2RhNjcwNmU1NGY5ZmNj
ZmI3NTMyOS4uZjZhYjdhMjE1NTUzYjZjYmZiNDczMDM1NWNmZTUzNTJhOWQwMjM1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtD
UzFfdjFfNU1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdv
cml0aG1SU0FTU0FfUEtDUzFfdjFfNU1hYy5jcHAKQEAgLTgyLDYgKzgyLDMyIEBAIHN0YXRpYyBF
eGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IHNpZ25SU0FTU0FfUEtDUzFfdjFfNShDcnlwdG9B
bGdvcml0aG1JZGVudGlmCiAgICAgcmV0dXJuIFdURk1vdmUoc2lnbmF0dXJlKTsKIH0KIAorLy8g
RklYTUU6IFdlIHNob3VsZCBjaGFuZ2Ugc2lnbmF0dXJlLCBkYXRhIHRvIFZlY3Rvcjx1aW50OF90
PiB0eXBlIG9uY2UgV2ViS2l0U3VidGxlQ3J5cHRvIGlzIGRlcHJlY2F0ZWQuCisvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0OTM5CitzdGF0aWMgRXhjZXB0aW9u
T3I8Ym9vbD4gdmVyaWZ5UlNBU1NBX1BLQ1MxX3YxXzUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmll
ciBoYXNoLCBjb25zdCBQbGF0Zm9ybVJTQUtleSBrZXksIGNvbnN0IHVpbnQ4X3QqIHNpZ25hdHVy
ZSwgc2l6ZV90IHNpZ25hdHVyZUxlbmd0aCwgY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRh
dGFMZW5ndGgpCit7CisgICAgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0QWxnb3JpdGhtOworICAg
IGlmICghZ2V0Q29tbW9uQ3J5cHRvRGlnZXN0QWxnb3JpdGhtKGhhc2gsIGRpZ2VzdEFsZ29yaXRo
bSkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OworCisgICAg
YXV0byBjcnlwdG9EaWdlc3RBbGdvcml0aG0gPSBXZWJDb3JlOjpjcnlwdG9EaWdlc3RBbGdvcml0
aG0oaGFzaCk7CisgICAgaWYgKCFjcnlwdG9EaWdlc3RBbGdvcml0aG0pCisgICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OworICAgIGF1dG8gZGlnZXN0ID0gQ3J5cHRv
RGlnZXN0OjpjcmVhdGUoKmNyeXB0b0RpZ2VzdEFsZ29yaXRobSk7CisgICAgaWYgKCFkaWdlc3Qp
CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OworICAgIGRpZ2Vz
dC0+YWRkQnl0ZXMoZGF0YSwgZGF0YUxlbmd0aCk7CisgICAgYXV0byBkaWdlc3REYXRhID0gZGln
ZXN0LT5jb21wdXRlSGFzaCgpOworCisgICAgYXV0byBzdGF0dXMgPSBDQ1JTQUNyeXB0b3JWZXJp
Znkoa2V5LCBjY1BLQ1MxUGFkZGluZywgZGlnZXN0RGF0YS5kYXRhKCksIGRpZ2VzdERhdGEuc2l6
ZSgpLCBkaWdlc3RBbGdvcml0aG0sIDAsIHNpZ25hdHVyZSwgc2lnbmF0dXJlTGVuZ3RoKTsKKyAg
ICBpZiAoIXN0YXR1cykKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKHN0YXR1cyA9PSBr
Q0NOb3RWZXJpZmllZCB8fCBzdGF0dXMgPT0ga0NDRGVjb2RlRXJyb3IpIC8vIDxyZGFyOi8vcHJv
YmxlbS8xNTQ2NDk4Mj4gQ0NSU0FDcnlwdG9yVmVyaWZ5IHJldHVybnMga0NDRGVjb2RlRXJyb3Ig
aW5zdGVhZCBvZiBrQ0NOb3RWZXJpZmllZCBzb21ldGltZXMKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07Cit9CisKIHZvaWQg
Q3J5cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6OnBsYXRmb3JtU2lnbihSZWY8Q3J5cHRv
S2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgZGF0YSwgVmVjdG9yQ2FsbGJhY2smJiBjYWxs
YmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3JrUXVldWUpCiB7CiAgICAgY29udGV4
dC5yZWYoKTsKQEAgLTEwNCw2ICsxMzAsMjggQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0Ff
UEtDUzFfdjFfNTo6cGxhdGZvcm1TaWduKFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3IKICAg
ICB9KTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1SU0FTU0FfUEtDUzFfdjFfNTo6cGxhdGZv
cm1WZXJpZnkoUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIHNpZ25hdHVy
ZSwgVmVjdG9yPHVpbnQ4X3Q+JiYgZGF0YSwgQm9vbENhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQoreworICAgIGNvbnRleHQucmVmKCk7Cisg
ICAgd29ya1F1ZXVlLmRpc3BhdGNoKFtrZXkgPSBXVEZNb3ZlKGtleSksIHNpZ25hdHVyZSA9IFdU
Rk1vdmUoc2lnbmF0dXJlKSwgZGF0YSA9IFdURk1vdmUoZGF0YSksIGNhbGxiYWNrID0gV1RGTW92
ZShjYWxsYmFjayksIGV4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFj
ayksICZjb250ZXh0XSgpIG11dGFibGUgeworICAgICAgICBhdXRvJiByc2FLZXkgPSBkb3duY2Fz
dDxDcnlwdG9LZXlSU0E+KGtleS5nZXQoKSk7CisgICAgICAgIGF1dG8gcmVzdWx0ID0gdmVyaWZ5
UlNBU1NBX1BLQ1MxX3YxXzUocnNhS2V5Lmhhc2hBbGdvcml0aG1JZGVudGlmaWVyKCksIHJzYUtl
eS5wbGF0Zm9ybUtleSgpLCBzaWduYXR1cmUuZGF0YSgpLCBzaWduYXR1cmUuc2l6ZSgpLCBkYXRh
LmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigp
KSB7CisgICAgICAgICAgICAvLyBXZSBzaG91bGQgb25seSBkZXJlZmVyZW5jZSBjYWxsYmFja3Mg
YWZ0ZXIgYmVpbmcgYmFjayB0byB0aGUgRG9jdW1lbnQvV29ya2VyIHRocmVhZHMuCisgICAgICAg
ICAgICBjb250ZXh0LnBvc3RUYXNrKFtleGNlcHRpb25DYWxsYmFjayA9IFdURk1vdmUoZXhjZXB0
aW9uQ2FsbGJhY2spLCBlYyA9IHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkuY29kZSgpLCBjYWxs
YmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
KSB7CisgICAgICAgICAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soZWMpOworICAgICAgICAgICAg
ICAgIGNvbnRleHQuZGVyZWYoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisgICAgICAgIC8vIFdlIHNob3VsZCBvbmx5IGRlcmVmZXJlbmNlIGNhbGxi
YWNrcyBhZnRlciBiZWluZyBiYWNrIHRvIHRoZSBEb2N1bWVudC9Xb3JrZXIgdGhyZWFkcy4KKyAg
ICAgICAgY29udGV4dC5wb3N0VGFzayhbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgcmVz
dWx0ID0gcmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBleGNlcHRpb25DYWxsYmFjayA9IFdU
Rk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
KSB7CisgICAgICAgICAgICBjYWxsYmFjayhyZXN1bHQpOworICAgICAgICAgICAgY29udGV4dC5k
ZXJlZigpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5
cHRvQWxnb3JpdGhtUlNBU1NBX1BLQ1MxX3YxXzU6OnBsYXRmb3JtU2lnbihjb25zdCBDcnlwdG9B
bGdvcml0aG1Sc2FTc2FQYXJhbXNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9L
ZXlSU0EmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJh
Y2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKQogewogICAgIGF1
dG8gcmVzdWx0ID0gc2lnblJTQVNTQV9QS0NTMV92MV81KHBhcmFtZXRlcnMuaGFzaCwga2V5LnBs
YXRmb3JtS2V5KCksIGtleS5rZXlTaXplSW5CaXRzKCksIGRhdGEuZmlyc3QsIGRhdGEuc2Vjb25k
KTsKQEAgLTExNywyOSArMTY1LDEyIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRo
bVJTQVNTQV9QS0NTMV92MV81OjpwbGF0Zm9ybVNpZ24oY29uc3QgQ3J5cHRvQWxnCiAKIEV4Y2Vw
dGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobVJTQVNTQV9QS0NTMV92MV81OjpwbGF0Zm9ybVZl
cmlmeShjb25zdCBDcnlwdG9BbGdvcml0aG1Sc2FTc2FQYXJhbXNEZXByZWNhdGVkJiBwYXJhbWV0
ZXJzLCBjb25zdCBDcnlwdG9LZXlSU0EmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYg
c2lnbmF0dXJlLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBCb29sQ2FsbGJhY2sm
JiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKQogewotICAgIENDRGln
ZXN0QWxnb3JpdGhtIGRpZ2VzdEFsZ29yaXRobTsKLSAgICBpZiAoIWdldENvbW1vbkNyeXB0b0Rp
Z2VzdEFsZ29yaXRobShwYXJhbWV0ZXJzLmhhc2gsIGRpZ2VzdEFsZ29yaXRobSkpCi0gICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBOT1RfU1VQUE9SVEVEX0VSUiB9OwotCi0gICAgYXV0byBjcnlw
dG9EaWdlc3RBbGdvcml0aG0gPSBXZWJDb3JlOjpjcnlwdG9EaWdlc3RBbGdvcml0aG0ocGFyYW1l
dGVycy5oYXNoKTsKLSAgICBpZiAoIWNyeXB0b0RpZ2VzdEFsZ29yaXRobSkKLSAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IE5PVF9TVVBQT1JURURfRVJSIH07Ci0KLSAgICBhdXRvIGRpZ2VzdCA9
IENyeXB0b0RpZ2VzdDo6Y3JlYXRlKCpjcnlwdG9EaWdlc3RBbGdvcml0aG0pOwotICAgIGlmICgh
ZGlnZXN0KQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTk9UX1NVUFBPUlRFRF9FUlIgfTsK
LQotICAgIGRpZ2VzdC0+YWRkQnl0ZXMoZGF0YS5maXJzdCwgZGF0YS5zZWNvbmQpOwotCi0gICAg
YXV0byBkaWdlc3REYXRhID0gZGlnZXN0LT5jb21wdXRlSGFzaCgpOwotCi0gICAgYXV0byBzdGF0
dXMgPSBDQ1JTQUNyeXB0b3JWZXJpZnkoa2V5LnBsYXRmb3JtS2V5KCksIGNjUEtDUzFQYWRkaW5n
LCBkaWdlc3REYXRhLmRhdGEoKSwgZGlnZXN0RGF0YS5zaXplKCksIGRpZ2VzdEFsZ29yaXRobSwg
MCwgc2lnbmF0dXJlLmZpcnN0LCBzaWduYXR1cmUuc2Vjb25kKTsKLSAgICBpZiAoIXN0YXR1cykK
LSAgICAgICAgY2FsbGJhY2sodHJ1ZSk7Ci0gICAgZWxzZSBpZiAoc3RhdHVzID09IGtDQ05vdFZl
cmlmaWVkIHx8IHN0YXR1cyA9PSBrQ0NEZWNvZGVFcnJvcikgLy8gPHJkYXI6Ly9wcm9ibGVtLzE1
NDY0OTgyPiBDQ1JTQUNyeXB0b3JWZXJpZnkgcmV0dXJucyBrQ0NEZWNvZGVFcnJvciBpbnN0ZWFk
IG9mIGtDQ05vdFZlcmlmaWVkIHNvbWV0aW1lcwotICAgICAgICBjYWxsYmFjayhmYWxzZSk7Ci0g
ICAgZWxzZQorICAgIGF1dG8gcmVzdWx0ID0gdmVyaWZ5UlNBU1NBX1BLQ1MxX3YxXzUocGFyYW1l
dGVycy5oYXNoLCBrZXkucGxhdGZvcm1LZXkoKSwgc2lnbmF0dXJlLmZpcnN0LCBzaWduYXR1cmUu
c2Vjb25kLCBkYXRhLmZpcnN0LCBkYXRhLnNlY29uZCk7CisgICAgaWYgKHJlc3VsdC5oYXNFeGNl
cHRpb24oKSkgewogICAgICAgICBmYWlsdXJlQ2FsbGJhY2soKTsKKyAgICAgICAgcmV0dXJuIHsg
fTsKKyAgICB9CisgICAgY2FsbGJhY2socmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKICAg
ICByZXR1cm4geyB9OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmRiYjQ5NjRhYzNkNmQ1NjYxNTAyZWIwNWM4MDcy
MWExODQ4ZTFjYi4uYWJiYzk1NWNkZTdhYWI2MTA4MmZmMTcxNmZkODhlODEzNDQ2ZGNjMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDU1IEBACisyMDE2LTExLTI5ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBh
cHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIFN1YnRsZUNyeXB0bzo6dmVyaWZ5IHRvIG1hdGNo
IHRoZSBsYXRlc3Qgc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY0NzQxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTI1NzkzNT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZXNpZGVzIGFkZGlu
ZyB0ZXN0cyBmb3IgU3VidGxlQ3J5cHRvOjp2ZXJpZnksIGl0IGFsc28gZW5oYW5jZXMKKyAgICAg
ICAgKmdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQgdGVzdHMuCisKKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWtleS1lbmNyeXB0
LWRlY3J5cHQuaHRtbDoKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUta2V5
LXNpZ24tdmVyaWZ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRs
ZS9obWFjLWdlbmVyYXRlLWtleS1zaWduLXZlcmlmeS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhMS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGEx
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZl
cmlmeS1zaGEyMjQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxl
L2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhMjI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNy
eXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGEyNTYtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hh
MjU2Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5
LXZlcmlmeS1zaGEzODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3Vi
dGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhMzg0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGE1MTItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnkt
c2hhNTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2Vu
ZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3J5cHRv
L3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWxhYmVsLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWtleS1l
bmNyeXB0LWRlY3J5cHQtbGFiZWwuaHRtbDoKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1v
YWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbDoKKyAgICAgICAgKiBjcnlwdG8v
c3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVy
YXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbDoKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3Jz
YXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWtleS1zaWduLXZlcmlmeS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUt
a2V5LXNpZ24tdmVyaWZ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNh
c3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnktc2hhMS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12
ZXJpZnktc2hhMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYXNzYS1w
a2NzMS12MV81LWltcG9ydC1rZXktdmVyaWZ5LXNoYTIyNC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJp
Znktc2hhMjI0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBr
Y3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnktc2hhMjU2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQta2V5LXZlcmlm
eS1zaGEyNTYuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtj
czEtdjFfNS1pbXBvcnQta2V5LXZlcmlmeS1zaGEzODQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1rZXktdmVyaWZ5
LXNoYTM4NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2Nz
MS12MV81LWltcG9ydC1rZXktdmVyaWZ5LXNoYTUxMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnkt
c2hhNTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvdmVyaWZ5LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS92ZXJpZnktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5
LXZlcmlmeS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVz
b3VyY2VzL2htYWMtaW1wb3J0LWtleS12ZXJpZnkuanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0
by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12
ZXJpZnkuanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Fzc2Et
cGtjczEtdjFfNS1pbXBvcnQta2V5LXZlcmlmeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQta2V5LXZl
cmlmeS5odG1sOiBBZGRlZC4KKwogMjAxNi0xMS0yMiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBTdWJ0bGVDcnlwdG86OnNpZ24gdG8gbWF0Y2gg
dGhlIGxhdGVzdCBzcGVjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBiMjRkNzVh
YjlhOTViYTNlY2VlYmZjNjUwYjM0MzQwMTBhZjNmZDZkLi5jZmE0N2I4YzkzZDkwOWIzMmFmYjI1
MDc1NzYzODgyYWUzMjQ2MzViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0xMS0yOSAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29t
PgorCisgICAgICAgIFVwZGF0ZSBTdWJ0bGVDcnlwdG86OnZlcmlmeSB0byBtYXRjaCB0aGUgbGF0
ZXN0IHNwZWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NDc0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjkyNTc5MzU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDcnlwdG9BUEkvaWRsaGFy
bmVzcy1leHBlY3RlZC50eHQ6CisKIDIwMTYtMTEtMjIgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgU3VidGxlQ3J5cHRvOjpzaWduIHRvIG1hdGNo
IHRoZSBsYXRlc3Qgc3BlYwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9h
ZXMtY2JjLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQt
ZXhwZWN0ZWQudHh0CmluZGV4IDQ2NGY2ZWRmZDBjNGI3NzJiYzg4MTA0MjZjYjAxOWIzN2VmNWRm
YzkuLjg1NDhhNGYzNWE1MDdiNDg4OGExMGUzOGFkZmI3NGViMDgwYTA4NmQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1rZXktZW5jcnlwdC1k
ZWNyeXB0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1j
YmMtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBlY3RlZC50eHQKQEAgLTUsNiArNSw3
IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIEdlbmVyYXRpbmcgYSBrZXkuLi4KIEVuY3J5
cHRpbmcuLi4KK1BBU1MgYnl0ZXNUb0FTQ0lJU3RyaW5nKGNpcGhlclRleHQpIGlzIG5vdCAiSGVs
bG8sIFdvcmxkISIKIERlY3J5cHRpbmcuLi4KIFBBU1MgYnl0ZXNUb0FTQ0lJU3RyaW5nKGRlY3J5
cHRlZFRleHQpIGlzIHBsYWluVGV4dAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWtl
eS1lbmNyeXB0LWRlY3J5cHQuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNi
Yy1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWwKaW5kZXggZWM4NWNiNDFhOTc0Yzk2
NTkyYmE1YzE5Y2RjMTIwY2JmNDUyOGQzZC4uMjFhYzkyNDg4ZGQxMjcwNTFkZDYyOGFmN2JhYjM3
ZDM0ZTFlZmY5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2Jj
LWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sCkBAIC0y
Myw3ICsyMyw5IEBAIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2JjIiwg
bGVuZ3RoOiAyNTZ9LCB0cnVlLCBbImRlY3J5cHQiLCAiZW5jCiAgICAga2V5ID0gcmVzdWx0Owog
ICAgIGRlYnVnKCJFbmNyeXB0aW5nLi4uIik7CiAgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZW5j
cnlwdChhZXNDYmNQYXJhbXMsIGtleSwgYXNjaWlUb1VpbnQ4QXJyYXkocGxhaW5UZXh0KSk7Ci19
KS50aGVuKGZ1bmN0aW9uKGNpcGhlclRleHQpIHsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7
CisgICAgY2lwaGVyVGV4dCA9IHJlc3VsdDsKKyAgICBzaG91bGROb3RCZUVxdWFsVG9TdHJpbmco
ImJ5dGVzVG9BU0NJSVN0cmluZyhjaXBoZXJUZXh0KSIsIHBsYWluVGV4dCk7CiAgICAgZGVidWco
IkRlY3J5cHRpbmcuLi4iKTsKICAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5kZWNyeXB0KGFlc0Ni
Y1BhcmFtcywga2V5LCBjaXBoZXJUZXh0KTsKIH0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUta2V5LXNp
Z24tdmVyaWZ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1n
ZW5lcmF0ZS1rZXktc2lnbi12ZXJpZnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwNmZkZDQx
MDM1NWU4N2I1MDM3YTg4MTVhZjFjMGY0YzBlM2EyNTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtZ2VuZXJhdGUta2V5LXNpZ24tdmVyaWZ5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0IHNpZ24vdmVyaWZ5IHdpdGggSE1BQyBTSEEt
MSB1c2luZyBhIGdlbmVyYXRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0dlbmVyYXRpbmcga2V5Li4uCitTaWduaW5nLi4uCitQQVNTIHNpZ25hdHVyZS5ieXRlTGVuZ3Ro
IGlzIDIwCitWZXJpZnlpbmcuLi4KK1BBU1MgdmVyaWZpZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1rZXktc2lnbi12ZXJpZnkuaHRtbCBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1nZW5lcmF0ZS1rZXktc2lnbi12ZXJpZnku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMGEyNmEwODljNDBkYmM3NjViOTA4MGE1NjAyOGUzOWYwMjZiNDgw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWdlbmVy
YXRlLWtleS1zaWduLXZlcmlmeS5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qgc2lnbi92
ZXJpZnkgd2l0aCBITUFDIFNIQS0xIHVzaW5nIGEgZ2VuZXJhdGVkIGtleSIpOworCitqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgdGV4dCA9IGFz
Y2lpVG9VaW50OEFycmF5KCJIZWxsbywgV29ybGQhIik7Cit2YXIgaG1hY1BhcmFtcyA9IHsKKyAg
ICBuYW1lOiAiaG1hYyIsCisgICAgaGFzaDogInNoYS0xIiwKK30KKworZGVidWcoIkdlbmVyYXRp
bmcga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGhtYWNQYXJhbXMsIGV4dHJh
Y3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAg
a2V5ID0gcmVzdWx0OworICAgIGRlYnVnKCJTaWduaW5nLi4uIik7CisgICAgcmV0dXJuIGNyeXB0
by5zdWJ0bGUuc2lnbigiaG1hYyIsIGtleSwgdGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3Vs
dCkgeworICAgIHNpZ25hdHVyZSA9IHJlc3VsdDsKKyAgICBzaG91bGRCZSgic2lnbmF0dXJlLmJ5
dGVMZW5ndGgiLCAiMjAiKTsKKyAgICBkZWJ1ZygiVmVyaWZ5aW5nLi4uIik7CisgICAgcmV0dXJu
IGNyeXB0by5zdWJ0bGUudmVyaWZ5KCJobWFjIiwga2V5LCBzaWduYXR1cmUsIHRleHQpOworfSku
dGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB2ZXJpZmllZCA9IHJlc3VsdDsKKyAgICBzaG91
bGRCZVRydWUoInZlcmlmaWVkIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGExLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45NGRiNzA4YzhmYzZjMmRmMmI0ZmQ1ZDRlZDI3MzA5NzBlZGZjYzhlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1r
ZXktdmVyaWZ5LXNoYTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdmVyaWZp
Y2F0aW9uIHdpdGggSE1BQyBTSEEtMSB1c2luZyBhbiBpbXBvcnRlZCBrZXkKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdmVyaWZpZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGExLmh0bWwgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhMS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjA1MDNlMjJmMzZhYjg2Mjk2NTk5Y2YxOGEyNjFhNjA0NjU4YTg1NDEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtl
eS12ZXJpZnktc2hhMS5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdmVyaWZpY2F0aW9u
IHdpdGggSE1BQyBTSEEtMSB1c2luZyBhbiBpbXBvcnRlZCBrZXkiKTsKKworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IGZhbHNlOwordmFyIHRleHQgPSBhc2NpaVRv
VWludDhBcnJheSgiSGVsbG8sIFdvcmxkISIpOwordmFyIGhtYWNJbXBvcnRQYXJhbXMgPSB7Cisg
ICAgbmFtZTogImhtYWMiLAorICAgIGhhc2g6ICJzaGEtMSIsCit9Cit2YXIgcmF3S2V5ID0gYXNj
aWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBzaWduYXR1cmUgPSBoZXhT
dHJpbmdUb1VpbnQ4QXJyYXkoIjZlOGU2NmZmMTI4NjA2ZjUyYjhjNTg5MTk2ZWY1ZTBmN2NhMDQ4
MTYiKTsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgaG1hY0ltcG9y
dFBhcmFtcywgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihr
ZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS52ZXJpZnkoImhtYWMiLCBrZXksIHNpZ25h
dHVyZSwgdGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHZlcmlmaWVkID0g
cmVzdWx0OworCisgICAgc2hvdWxkQmVUcnVlKCJ2ZXJpZmllZCIpOworCisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGEyMjQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXkt
dmVyaWZ5LXNoYTIyNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWJjMjVlOTY0YWIxNzUxYTc5
OTlmNmVjM2Y5YTg4NWExMjNmZTU3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGEyMjQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTAgQEAKK1Rlc3QgdmVyaWZpY2F0aW9uIHdpdGggSE1BQyBTSEEtMjI0IHVzaW5n
IGFuIGltcG9ydGVkIGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB2
ZXJpZmllZCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWlt
cG9ydC1rZXktdmVyaWZ5LXNoYTIyNC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9o
bWFjLWltcG9ydC1rZXktdmVyaWZ5LXNoYTIyNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkZmYyYmYwNGY3
MTU1MjBkZDZlMWVlNDIwOGNjN2U0ZjhiMWU0ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhMjI0Lmh0bWwKQEAg
LTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiVGVzdCB2ZXJpZmljYXRpb24gd2l0aCBITUFDIFNIQS0yMjQgdXNp
bmcgYW4gaW1wb3J0ZWQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0
cmFjdGFibGUgPSBmYWxzZTsKK3ZhciB0ZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBX
b3JsZCEiKTsKK3ZhciBobWFjSW1wb3J0UGFyYW1zID0geworICAgIG5hbWU6ICJobWFjIiwKKyAg
ICBoYXNoOiAic2hhLTIyNCIsCit9Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpu
T3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBzaWduYXR1cmUgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXko
IjcwYjYzOGUwODJmYWJjM2JmMzkxYTE5MzVjNGI2YTc0MTY4NDAxMjE0ZjRmYjVjMzFlMGNlYmY0
Iik7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksIGhtYWNJbXBvcnRQ
YXJhbXMsIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24oa2V5
KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUudmVyaWZ5KCJobWFjIiwga2V5LCBzaWduYXR1
cmUsIHRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB2ZXJpZmllZCA9IHJl
c3VsdDsKKworICAgIHNob3VsZEJlVHJ1ZSgidmVyaWZpZWQiKTsKKworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhMjU2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZl
cmlmeS1zaGEyNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0YzgxYjEzZDAxNDcwMmM0NTg5
ZWNiOTEyNzY0MzI0NDljZjc5NTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhMjU2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEwIEBACitUZXN0IHZlcmlmaWNhdGlvbiB3aXRoIEhNQUMgU0hBLTI1NiB1c2luZyBh
biBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdmVy
aWZpZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBv
cnQta2V5LXZlcmlmeS1zaGEyNTYuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1h
Yy1pbXBvcnQta2V5LXZlcmlmeS1zaGEyNTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMWRkMGYwNGE2NDM3
N2I4MjllZDI5NGE5ZjI4MTdiM2MwN2RiZmZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXktdmVyaWZ5LXNoYTI1Ni5odG1sCkBAIC0w
LDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3QgdmVyaWZpY2F0aW9uIHdpdGggSE1BQyBTSEEtMjU2IHVzaW5n
IGFuIGltcG9ydGVkIGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJh
Y3RhYmxlID0gZmFsc2U7Cit2YXIgdGV4dCA9IGFzY2lpVG9VaW50OEFycmF5KCJIZWxsbywgV29y
bGQhIik7Cit2YXIgaG1hY0ltcG9ydFBhcmFtcyA9IHsKKyAgICBuYW1lOiAiaG1hYyIsCisgICAg
aGFzaDogInNoYS0yNTYiLAorfQordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93
OTlvT1pGTElFUE1yIik7Cit2YXIgc2lnbmF0dXJlID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCJk
NmI5MmYzNDcyM2E4ZGU3YmE1M2RjZWVhOGM4MjFmNWQyMTc1N2RkYjQ3OGMyN2Q1NjRiMzU2YzM4
ZjU4M2RiIik7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksIGhtYWNJ
bXBvcnRQYXJhbXMsIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVuY3Rp
b24oa2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUudmVyaWZ5KCJobWFjIiwga2V5LCBz
aWduYXR1cmUsIHRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB2ZXJpZmll
ZCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlVHJ1ZSgidmVyaWZpZWQiKTsKKworICAgIGZpbmlz
aEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hh
Mzg0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQt
a2V5LXZlcmlmeS1zaGEzODQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3ZjIzOGNmZTliZWM4
MTQxODY0ZjQxODE4ZTdiMmE1NzQyY2QyZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhMzg0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEwIEBACitUZXN0IHZlcmlmaWNhdGlvbiB3aXRoIEhNQUMgU0hBLTM4NCB1
c2luZyBhbiBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgdmVyaWZpZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1h
Yy1pbXBvcnQta2V5LXZlcmlmeS1zaGEzODQuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGEzODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDQ0OTRm
MzBmYjU1NTI5OGRkNWU3NzAzNTZkNTI4Nzc1MTFiNWQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXktdmVyaWZ5LXNoYTM4NC5odG1s
CkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdmVyaWZpY2F0aW9uIHdpdGggSE1BQyBTSEEtMzg0
IHVzaW5nIGFuIGltcG9ydGVkIGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFy
IGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgdGV4dCA9IGFzY2lpVG9VaW50OEFycmF5KCJIZWxs
bywgV29ybGQhIik7Cit2YXIgaG1hY0ltcG9ydFBhcmFtcyA9IHsKKyAgICBuYW1lOiAiaG1hYyIs
CisgICAgaGFzaDogInNoYS0zODQiLAorfQordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5
KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgc2lnbmF0dXJlID0gaGV4U3RyaW5nVG9VaW50OEFy
cmF5KCI1Y2ZjNmNiYTMxMzVjOTljYjQyNmQ1ZDU5YmQzM2M1ZTIxMmFhYzA4MmY1YmE1N2ExZjcw
ZGVmMmIzZTk4N2UzZjMwNzhiZTgwZjE0MjIyMWI2YThlMjM3NjhkZDk5NGYiKTsKKworY3J5cHRv
LnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgaG1hY0ltcG9ydFBhcmFtcywgZXh0cmFj
dGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1
cm4gY3J5cHRvLnN1YnRsZS52ZXJpZnkoImhtYWMiLCBrZXksIHNpZ25hdHVyZSwgdGV4dCk7Cit9
KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHZlcmlmaWVkID0gcmVzdWx0OworCisgICAg
c2hvdWxkQmVUcnVlKCJ2ZXJpZmllZCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKwor
PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1zaGE1MTItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXktdmVyaWZ5LXNoYTUxMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWE0ZTIzNWZiY2QwZWQwNDY4YmEzNjNjMTQ4NDEzMjYy
YzgxOWQxNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvaG1h
Yy1pbXBvcnQta2V5LXZlcmlmeS1zaGE1MTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAK
K1Rlc3QgdmVyaWZpY2F0aW9uIHdpdGggSE1BQyBTSEEtNTEyIHVzaW5nIGFuIGltcG9ydGVkIGtl
eQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB2ZXJpZmllZCBpcyB0cnVl
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXktdmVyaWZ5
LXNoYTUxMi5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9obWFjLWltcG9ydC1rZXkt
dmVyaWZ5LXNoYTUxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1ZDU5MWY5Y2RhNzRjNzMzMzZiYTkyMjA1
ODgzZGJlMDI2MTY3MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2htYWMtaW1wb3J0LWtleS12ZXJpZnktc2hhNTEyLmh0bWwKQEAgLTAsMCArMSwzOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bigiVGVzdCB2ZXJpZmljYXRpb24gd2l0aCBITUFDIFNIQS01MTIgdXNpbmcgYW4gaW1wb3J0ZWQg
a2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSBmYWxz
ZTsKK3ZhciB0ZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3JsZCEiKTsKK3ZhciBo
bWFjSW1wb3J0UGFyYW1zID0geworICAgIG5hbWU6ICJobWFjIiwKKyAgICBoYXNoOiAic2hhLTUx
MiIsCit9Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIi
KTsKK3ZhciBzaWduYXR1cmUgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjc0YjIyZTc0MjJiZDNk
ODU2MjI5NDA0MGI4ZTlmZjA4ODQ5Y2Y2OTRkM2Y3NzI5ZTAyYTExMTY0N2IyOTAwNThhZjVlMWNh
ODMyMWU1ZDBmNTEyYjVhNTVhMjg3YjM5NzYyZmFlODViZWY3MzYxMWQwYmRkZDBiM2RkZjI1MmVj
Iik7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksIGhtYWNJbXBvcnRQ
YXJhbXMsIGV4dHJhY3RhYmxlLCBbInNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24oa2V5
KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUudmVyaWZ5KCJobWFjIiwga2V5LCBzaWduYXR1
cmUsIHRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB2ZXJpZmllZCA9IHJl
c3VsdDsKKworICAgIHNob3VsZEJlVHJ1ZSgidmVyaWZpZWQiKTsKKworICAgIGZpbmlzaEpTVGVz
dCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRl
Y3J5cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1n
ZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dAppbmRleCBlOTdhM2EzMTkx
OGQzYmJjN2IzYjgxZGYyODkxNTA2YjIyNmVjODM3Li5kMWMwMWYwNzlkNmQ4ZTA4OGQ0ZDQ4YmM2
OTQ0N2ZlMjk2MThlYjExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Jz
YS1vYWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVj
cnlwdC1leHBlY3RlZC50eHQKQEAgLTUsNiArNSw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
CiAKIEdlbmVyYXRpbmcgYSBrZXkuLi4KIEVuY3J5cHRpbmcuLi4KK1BBU1MgYnl0ZXNUb0FTQ0lJ
U3RyaW5nKGNpcGhlclRleHQpIGlzIG5vdCAiSGVsbG8sIFdvcmxkISIKIERlY3J5cHRpbmcuLi4K
IFBBU1MgYnl0ZXNUb0FTQ0lJU3RyaW5nKGRlY3J5cHRlZFRleHQpIGlzIHBsYWluVGV4dAogUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWxhYmVsLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUt
a2V5LWVuY3J5cHQtZGVjcnlwdC1sYWJlbC1leHBlY3RlZC50eHQKaW5kZXggMDVjNDllZjk3NjEx
ODE4MWRmOTJlNzA1MDRmNmFkY2M2NmQ3MmU0Zi4uNDFiYzE0N2Y5MzkyMDRiNDc3MzY1ODI2YzVi
Njc0MzkzNmNkZGQ2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Et
b2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWxhYmVsLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0
LWRlY3J5cHQtbGFiZWwtZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsNyBAQCBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURQogCiBHZW5lcmF0aW5nIGEga2V5Li4uCiBFbmNyeXB0aW5nLi4uCitQQVNTIGJ5
dGVzVG9BU0NJSVN0cmluZyhjaXBoZXJUZXh0KSBpcyBub3QgIkhlbGxvLCBXb3JsZCEiCiBEZWNy
eXB0aW5nLi4uCiBQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyhkZWNyeXB0ZWRUZXh0KSBpcyBwbGFp
blRleHQKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlw
dC1sYWJlbC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0
ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWxhYmVsLmh0bWwKaW5kZXggNjE2YjAwYjAzMmNmZTAyMzVj
Y2U3YjVlMGQwYmQ3MTViZmMyN2MwOS4uOWFmMzYwZWQ3NmQwMzdhNDJhZjQ1OGJiNWRiZTM1ZjFk
YWQwZjNlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1n
ZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWxhYmVsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWxhYmVs
Lmh0bWwKQEAgLTMwLDcgKzMwLDkgQEAgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShhbGdvcml0
aG1LZXlHZW4sIHRydWUsIFsiZGVjcnlwdCIsICJlbmNyeXB0Il0pLnRoZW4oZnUKICAgICBrZXlQ
YWlyID0gcmVzdWx0OwogICAgIGRlYnVnKCJFbmNyeXB0aW5nLi4uIik7CiAgICAgcmV0dXJuIGNy
eXB0by5zdWJ0bGUuZW5jcnlwdChyc2FPYWVwUGFyYW1zLCBrZXlQYWlyLnB1YmxpY0tleSwgYXNj
aWlUb1VpbnQ4QXJyYXkocGxhaW5UZXh0KSk7Ci19KS50aGVuKGZ1bmN0aW9uKGNpcGhlclRleHQp
IHsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgY2lwaGVyVGV4dCA9IHJlc3VsdDsK
KyAgICBzaG91bGROb3RCZUVxdWFsVG9TdHJpbmcoImJ5dGVzVG9BU0NJSVN0cmluZyhjaXBoZXJU
ZXh0KSIsIHBsYWluVGV4dCk7CiAgICAgZGVidWcoIkRlY3J5cHRpbmcuLi4iKTsKICAgICByZXR1
cm4gY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHJzYU9hZXBQYXJhbXMsIGtleVBhaXIucHJpdmF0ZUtl
eSwgY2lwaGVyVGV4dCk7CiB9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1k
ZWNyeXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRl
LWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbAppbmRleCBjOTkyNjJiOGM2YmRlMjI1NzE0YTM1MTk4
OGZlNjZjZDI1YTA4NjFiLi4xYTQ5NDBkMjg1YmNmYjkzOTAzMzI2ZTY4NTQ5NzAxMjE2YTY4NzQz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRl
LWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3JzYS1vYWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbApAQCAtMjksNyArMjks
OSBAQCBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwgdHJ1ZSwgWyJk
ZWNyeXB0IiwgImVuY3J5cHQiXSkudGhlbihmdQogICAgIGtleVBhaXIgPSByZXN1bHQ7CiAgICAg
ZGVidWcoIkVuY3J5cHRpbmcuLi4iKTsKICAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5lbmNyeXB0
KHJzYU9hZXBQYXJhbXMsIGtleVBhaXIucHVibGljS2V5LCBhc2NpaVRvVWludDhBcnJheShwbGFp
blRleHQpKTsKLX0pLnRoZW4oZnVuY3Rpb24oY2lwaGVyVGV4dCkgeworfSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICBjaXBoZXJUZXh0ID0gcmVzdWx0OworICAgIHNob3VsZE5vdEJlRXF1
YWxUb1N0cmluZygiYnl0ZXNUb0FTQ0lJU3RyaW5nKGNpcGhlclRleHQpIiwgcGxhaW5UZXh0KTsK
ICAgICBkZWJ1ZygiRGVjcnlwdGluZy4uLiIpOwogICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRl
Y3J5cHQocnNhT2FlcFBhcmFtcywga2V5UGFpci5wcml2YXRlS2V5LCBjaXBoZXJUZXh0KTsKIH0p
LnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2Vu
ZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBlY3RlZC50eHQKaW5kZXggMzkxOTcyNGRiNDE4
ZDVhNWIzYjAwZjNmZmYxYTQ2NGJlODE0Yzg1ZC4uYWVlYjg3YjNlOTYxYmRiNzM5YTRiZTkxN2E1
NzFkYzY0ZTdiYmNiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fl
cy1wa2NzMS12MV81LWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1r
ZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUKIAogR2VuZXJhdGluZyBhIGtleS4uLgogRW5jcnlwdGluZy4uLgorUEFT
UyBieXRlc1RvQVNDSUlTdHJpbmcoY2lwaGVyVGV4dCkgaXMgbm90ICJIZWxsbywgV29ybGQhIgog
RGVjcnlwdGluZy4uLgogUEFTUyBieXRlc1RvQVNDSUlTdHJpbmcoZGVjcnlwdGVkVGV4dCkgaXMg
cGxhaW5UZXh0CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUta2V5LWVu
Y3J5cHQtZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2Nz
MS12MV81LWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbAppbmRleCA5NjVlNWVhOGM1
ODc2ZDY5NjAxNmU0ZGI1ZTg5MGEwMzRmNjQzZmFiLi5lYjVmZGI5N2UzYWUxZTkyZTY4MjYyNWU4
MzAyYWFmMGIwYWQ1MDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Jz
YWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1rZXktZW5j
cnlwdC1kZWNyeXB0Lmh0bWwKQEAgLTI1LDcgKzI1LDkgQEAgY3J5cHRvLnN1YnRsZS5nZW5lcmF0
ZUtleShhbGdvcml0aG1LZXlHZW4sIHRydWUsIFsiZGVjcnlwdCIsICJlbmNyeXB0Il0pLnRoZW4o
ZnUKICAgICBrZXlQYWlyID0gcmVzdWx0OwogICAgIGRlYnVnKCJFbmNyeXB0aW5nLi4uIik7CiAg
ICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZW5jcnlwdCgiUlNBRVMtUEtDUzEtdjFfNSIsIGtleVBh
aXIucHVibGljS2V5LCBhc2NpaVRvVWludDhBcnJheShwbGFpblRleHQpKTsKLX0pLnRoZW4oZnVu
Y3Rpb24oY2lwaGVyVGV4dCkgeworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBjaXBo
ZXJUZXh0ID0gcmVzdWx0OworICAgIHNob3VsZE5vdEJlRXF1YWxUb1N0cmluZygiYnl0ZXNUb0FT
Q0lJU3RyaW5nKGNpcGhlclRleHQpIiwgcGxhaW5UZXh0KTsKICAgICBkZWJ1ZygiRGVjcnlwdGlu
Zy4uLiIpOwogICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5cHQoIlJTQUVTLVBLQ1MxLXYx
XzUiLCBrZXlQYWlyLnByaXZhdGVLZXksIGNpcGhlclRleHQpOwogfSkudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBr
Y3MxLXYxXzUtZ2VuZXJhdGUta2V5LXNpZ24tdmVyaWZ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUta2V5LXNpZ24tdmVy
aWZ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2Y5MTg5ZTY4MWFhNWNiNWU4NjgyZDI1YmY0
YmNhY2VmNzEzMjM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1rZXktc2lnbi12ZXJpZnktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3Qgc2lnbi92ZXJpZnkgd2l0aCBSU0FTU0EtUEtDUzEtdjFf
NSBTSEEtMSB1c2luZyBhIGdlbmVyYXRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK0dlbmVyYXRpbmcga2V5Li4uCitTaWduaW5nLi4uCitQQVNTIHNpZ25hdHVyZS5ieXRl
TGVuZ3RoIGlzIDI1NgorVmVyaWZ5aW5nLi4uCitQQVNTIHZlcmlmaWVkIGlzIHRydWUKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWtl
eS1zaWduLXZlcmlmeS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtj
czEtdjFfNS1nZW5lcmF0ZS1rZXktc2lnbi12ZXJpZnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZWZlZDU3
OWVjNWQ5ZGNiYjA0ODAxN2JlMDNhZGE3MjI4MGUyNmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1nZW5lcmF0ZS1rZXktc2ln
bi12ZXJpZnkuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHNpZ24vdmVyaWZ5IHdpdGgg
UlNBU1NBLVBLQ1MxLXYxXzUgU0hBLTEgdXNpbmcgYSBnZW5lcmF0ZWQga2V5Iik7CisKK2pzVGVz
dElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciB0ZXh0ID0g
YXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3JsZCEiKTsKK3ZhciByc2F0UGFyYW1zID0gewor
ICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAgaGFzaDogIlNIQS0xIiwKKyAgICBt
b2R1bHVzTGVuZ3RoOiAyMDQ4LAorICAgIHB1YmxpY0V4cG9uZW50OiBuZXcgVWludDhBcnJheShb
MHgwMSwgMHgwMCwgMHgwMV0pLCAgLy8gRXF1aXZhbGVudCB0byA2NTUzNworfQorCitkZWJ1Zygi
R2VuZXJhdGluZyBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkocnNhdFBhcmFt
cywgZXh0cmFjdGFibGUsIFsic2lnbiIsICJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJTaWduaW5nLi4uIik7CisgICAg
cmV0dXJuIGNyeXB0by5zdWJ0bGUuc2lnbigiUlNBU1NBLVBLQ1MxLXYxXzUiLCBrZXlQYWlyLnBy
aXZhdGVLZXksIHRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBzaWduYXR1
cmUgPSByZXN1bHQ7CisgICAgc2hvdWxkQmUoInNpZ25hdHVyZS5ieXRlTGVuZ3RoIiwgIjI1NiIp
OworICAgIGRlYnVnKCJWZXJpZnlpbmcuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS52
ZXJpZnkoIlJTQVNTQS1QS0NTMS12MV81Iiwga2V5UGFpci5wdWJsaWNLZXksIHNpZ25hdHVyZSwg
dGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHZlcmlmaWVkID0gcmVzdWx0
OworICAgIHNob3VsZEJlVHJ1ZSgidmVyaWZpZWQiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30p
OworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQta2V5LXZlcmlmeS1zaGEx
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYx
XzUtaW1wb3J0LWtleS12ZXJpZnktc2hhMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWEwYTc2
ZWMyMjQyZjJiZjBhZTI4MTg1MzdlYWVhY2QyMDJmMjIxZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJp
Znktc2hhMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB2ZXJpZmljYXRpb24g
d2l0aCBSU0FTU0EtUEtDUzEtdjFfNSBTSEEtMSB1c2luZyBhbiBpbXBvcnRlZCBrZXkKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdmVyaWZpZWQgaXMgdHJ1ZQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12
ZXJpZnktc2hhMS5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEt
djFfNS1pbXBvcnQta2V5LXZlcmlmeS1zaGExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY3MWJhNzVhNDQ1
OGI3M2Y4M2U3ZmRhYmU5MWRmODM3YTVjYzcwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnktc2hh
MS5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdmVyaWZpY2F0aW9uIHdpdGggUlNBU1NB
LVBLQ1MxLXYxXzUgU0hBLTEgdXNpbmcgYW4gaW1wb3J0ZWQga2V5Iik7CisKK2pzVGVzdElzQXN5
bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciB0ZXh0ID0gYXNjaWlU
b1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3JsZCEiKTsKK3ZhciByc2FJbXBvcnRQYXJhbXMgPSB7Cisg
ICAgbmFtZTogIlJTQVNTQS1QS0NTMS12MV81IiwKKyAgICBoYXNoOiAiU0hBLTEiLAorfQordmFy
IGp3a0tleSA9IHsKKyAgICBrdHk6ICJSU0EiLAorICAgIGFsZzogIlJTMSIsCisgICAgdXNlOiAi
c2lnIiwKKyAgICBrZXlfb3BzOiBbInZlcmlmeSJdLAorICAgIGV4dDogdHJ1ZSwKKyAgICBuOiAi
cmNDVUN2N09jMUhWYW0xREloQ3pxa25UaFdhd09wOFFMazhaaXkycDEwQnlqUUZDYWpvRml5dUFX
bC1SMVdYWmFmNHhpdExScmFjVDlhZ3B6SXpjLU1iTFNISUdnV1FHTzIxbEdpSW15NWZ0Wi1EOGJI
QXFSejJ5MTVwekQ0YzRDRW91N1hTU0xEb1JuUjBRRzVNc0RoRDZzMmdWOW13SGtydGtDeHRNV2RC
aS03N2FzOHdHbWxOUmxkY09TZ1pETEs4VW5DU2dBMU9ndVo5ODliRnljOHRPT0VJYjB4VVNmUFN6
M0xQU0NueVl6NjhhRGptS1ZlTkgtaWc4NTdPU2N5V2JHeUV5M0JpdzY0cXVuM2p1VWxOV3NKM3pu
Z2tPZHRlWVd5dHg1UXI0WEtOczZSLU15eXE3MktVcDAybUpEWmlpeWlnbHhNTF9pMy1fQ2VlY0N3
IiwKKyAgICBlOiAiQVFBQiIsCit9OwordmFyIHNpZ25hdHVyZSA9IGhleFN0cmluZ1RvVWludDhB
cnJheSgiMDhiODNhNGE1OGFmZjFkYjc2NTI5ZmU5N2Y2ZGMyYjU4OTE0YTU2ZjA4ZWJjNzNhZWJm
NzQwNjgwZmM1MjRlNzIxYzMwODQyNzU5YWNhY2FiOGFjZGY2ZTMxZTdjYzgzZGJlOGE0OGFjZTgw
YjZhNjU1OGE5ZGY4OTJlNGMyYTkyNzZjMTU0Y2Q2MDVlNjMyYzhiODU3ODU1YTA2NGFlYTY4NTUw
YjY2MGExNTA0NGEwOTE3MDI2ZTQ5NGE3MWU0ZmVlOTlmYTU3OTQxMjY4NTQ1ZjMzOGM4NjAxYmFh
OWM0ZjIxMTZmMGViNTQzMmNmZWU1ZTNlZDk5Nzg4NzZmZWQyMDE2NDc5MjFlNTk5MTAxOTMwYTk5
YTJiNjQ1YTlhODc5YmNlOGMyNDU5MjcyOWYxZjYyYTNiODNmZTIxNDc1ODcxMjczY2RiYmU4ZWZh
N2JlMzE0Y2FiZDA4N2ZiZTE5MzFkZGYzZmI4NmNiZmY1MTc2YTI3NTU0NzI2YjU0YzQzMjA4MjAw
NzI1YzZhZDcxZDMzNWVlNWUwOWYzYmJmZjcxNjRkZGY1YmM4NTdhNDFjNTk2MWU2Zjk1ODE0NTlk
YjBmZDBmMDllZTI1MWQ2M2I3YTAxYmQ3MTZmNmY3MjYzMmI1YzBmOWEyYzRkYzIyNTdkMWUzNDIx
MzhjMTMiKTsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3a0tleSwgcnNhSW1w
b3J0UGFyYW1zLCBleHRyYWN0YWJsZSwgWyJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihrZXkpIHsK
KyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS52ZXJpZnkoIlJTQVNTQS1QS0NTMS12MV81Iiwga2V5
LCBzaWduYXR1cmUsIHRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB2ZXJp
ZmllZCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlVHJ1ZSgidmVyaWZpZWQiKTsKKworICAgIGZp
bmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9y
dC1rZXktdmVyaWZ5LXNoYTIyNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1rZXktdmVyaWZ5LXNoYTIyNC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGUyYThiMWYzN2RmNWI2YjUyNTA1NTJjNmJiMzk4MGIwNDJkNmFlZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3Mx
LXYxXzUtaW1wb3J0LWtleS12ZXJpZnktc2hhMjI0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEw
IEBACitUZXN0IHZlcmlmaWNhdGlvbiB3aXRoIFJTQVNTQS1QS0NTMS12MV81IFNIQS0yMjQgdXNp
bmcgYW4gaW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IHZlcmlmaWVkIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNz
YS1wa2NzMS12MV81LWltcG9ydC1rZXktdmVyaWZ5LXNoYTIyNC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQta2V5LXZlcmlmeS1zaGEyMjQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NzU1MWJkZWJiNzViOTFjMDk2ZWM1MzFlY2VlYzgxNmRlZDY5MTcz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtj
czEtdjFfNS1pbXBvcnQta2V5LXZlcmlmeS1zaGEyMjQuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
Y29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJUZXN0IHZlcmlmaWNhdGlvbiB3aXRoIFJTQVNTQS1QS0NTMS12MV81IFNIQS0yMjQgdXNpbmcg
YW4gaW1wb3J0ZWQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFj
dGFibGUgPSBmYWxzZTsKK3ZhciB0ZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3Js
ZCEiKTsKK3ZhciByc2FJbXBvcnRQYXJhbXMgPSB7CisgICAgbmFtZTogIlJTQVNTQS1QS0NTMS12
MV81IiwKKyAgICBoYXNoOiAiU0hBLTIyNCIsCit9Cit2YXIgandrS2V5ID0geworICAgIGt0eTog
IlJTQSIsCisgICAgYWxnOiAiUlMyMjQiLAorICAgIHVzZTogInNpZyIsCisgICAga2V5X29wczog
WyJ2ZXJpZnkiXSwKKyAgICBleHQ6IHRydWUsCisgICAgbjogInJjQ1VDdjdPYzFIVmFtMURJaEN6
cWtuVGhXYXdPcDhRTGs4Wml5MnAxMEJ5alFGQ2Fqb0ZpeXVBV2wtUjFXWFphZjR4aXRMUnJhY1Q5
YWdwekl6Yy1NYkxTSElHZ1dRR08yMWxHaUlteTVmdFotRDhiSEFxUnoyeTE1cHpENGM0Q0VvdTdY
U1NMRG9SblIwUUc1TXNEaEQ2czJnVjltd0hrcnRrQ3h0TVdkQmktNzdhczh3R21sTlJsZGNPU2da
RExLOFVuQ1NnQTFPZ3VaOTg5YkZ5Yzh0T09FSWIweFVTZlBTejNMUFNDbnlZejY4YURqbUtWZU5I
LWlnODU3T1NjeVdiR3lFeTNCaXc2NHF1bjNqdVVsTldzSjN6bmdrT2R0ZVlXeXR4NVFyNFhLTnM2
Ui1NeXlxNzJLVXAwMm1KRFppaXlpZ2x4TUxfaTMtX0NlZWNDdyIsCisgICAgZTogIkFRQUIiLAor
fTsKK3ZhciBzaWduYXR1cmUgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjNjYjEwNjM0YmJiNDAy
MmI2NGUwYWYzMWQwYzA1MzM4MzdlMTRjOGE5YTRkN2I5ZWY4YzY4MTYxMzM4NDNlZjU4NjAzODg3
ZmIwNWY3MjE1YmYzOWU4MDMzMjYzNjdkOTVlYTg4OTRkZGEzMjFiNzUzYTYyZGNjMzIxNGM3ZTg1
YTEzNGJmNzQxYzg4M2YxZWUwMDM3ZGRlNjMzNGQ2MmI4ZWZlNTRkY2I1OWM4NTEwZTRkNzMzYjM1
NDY2YWQ1YTA2NDY4NjYxNjg5OGQ3M2UyNTEzOGNjNmZkNTcyZDUyZGY1ZTgwZjcwZDNkODAzYWU5
MTAwNTE2YjRiZGU1OGNhZmMwNjhjNjU1ZjBjZGJkMjI0OWFlNjFlYjFhOTUyZDQ5ZGY0OTNiM2Mz
YzRhMTVmZmI5MDBkNGY0ODlkZjc5NzQ5OGEwZTczMzNjNThjYjk1M2MyZjNiMTY5MjkwYWU3ZGQ1
MWUzYzUzYmRiMGJkZjQzMTFhZTNmZDVkN2ExYzNkZTAzOGY2OTZjMDUxOTBkYjFjNjAwNTZmNjY0
YzY0MjE1ODAzODViOWZlNTRlMWIyZjQxZWVmOWViODNkMThjNmQyODc0NWQ5YzBlYjJjMTViNDVm
NTk0OWI3ODc2MjU1ODQ4OGFlMDk4NzdmNDMwNWY4YzkwNjg1NzZlNmU1Iik7CisKK2NyeXB0by5z
dWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tLZXksIHJzYUltcG9ydFBhcmFtcywgZXh0cmFjdGFi
bGUsIFsidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5z
dWJ0bGUudmVyaWZ5KCJSU0FTU0EtUEtDUzEtdjFfNSIsIGtleSwgc2lnbmF0dXJlLCB0ZXh0KTsK
K30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgdmVyaWZpZWQgPSByZXN1bHQ7CisKKyAg
ICBzaG91bGRCZVRydWUoInZlcmlmaWVkIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwor
Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQta2V5LXZlcmlmeS1zaGEyNTYt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFf
NS1pbXBvcnQta2V5LXZlcmlmeS1zaGEyNTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlM2Y5
NThiYzg4M2E3NWFkZDVhMjVmMmIyODM0ODYzMmI0ZDRiNWIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1rZXktdmVy
aWZ5LXNoYTI1Ni1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB2ZXJpZmljYXRp
b24gd2l0aCBSU0FTU0EtUEtDUzEtdjFfNSBTSEEtMjU2IHVzaW5nIGFuIGltcG9ydGVkIGtleQor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB2ZXJpZmllZCBpcyB0cnVlCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQt
a2V5LXZlcmlmeS1zaGEyNTYuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3Nh
LXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnktc2hhMjU2Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU4
MjJiMWQ0MWU2Mzc2NGE2YmY0YTZmNzU3OWUwZjkzZjAzYTk0YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12
ZXJpZnktc2hhMjU2Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB2ZXJpZmljYXRpb24g
d2l0aCBSU0FTU0EtUEtDUzEtdjFfNSBTSEEtMjU2IHVzaW5nIGFuIGltcG9ydGVkIGtleSIpOwor
Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIg
dGV4dCA9IGFzY2lpVG9VaW50OEFycmF5KCJIZWxsbywgV29ybGQhIik7Cit2YXIgcnNhSW1wb3J0
UGFyYW1zID0geworICAgIG5hbWU6ICJSU0FTU0EtUEtDUzEtdjFfNSIsCisgICAgaGFzaDogIlNI
QS0yNTYiLAorfQordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJSU0EiLAorICAgIGFsZzogIlJT
MjU2IiwKKyAgICB1c2U6ICJzaWciLAorICAgIGtleV9vcHM6IFsidmVyaWZ5Il0sCisgICAgZXh0
OiB0cnVlLAorICAgIG46ICJyY0NVQ3Y3T2MxSFZhbTFESWhDenFrblRoV2F3T3A4UUxrOFppeTJw
MTBCeWpRRkNham9GaXl1QVdsLVIxV1haYWY0eGl0TFJyYWNUOWFncHpJemMtTWJMU0hJR2dXUUdP
MjFsR2lJbXk1ZnRaLUQ4YkhBcVJ6MnkxNXB6RDRjNENFb3U3WFNTTERvUm5SMFFHNU1zRGhENnMy
Z1Y5bXdIa3J0a0N4dE1XZEJpLTc3YXM4d0dtbE5SbGRjT1NnWkRMSzhVbkNTZ0ExT2d1Wjk4OWJG
eWM4dE9PRUliMHhVU2ZQU3ozTFBTQ255WXo2OGFEam1LVmVOSC1pZzg1N09TY3lXYkd5RXkzQml3
NjRxdW4zanVVbE5Xc0ozem5na09kdGVZV3l0eDVRcjRYS05zNlItTXl5cTcyS1VwMDJtSkRaaWl5
aWdseE1MX2kzLV9DZWVjQ3ciLAorICAgIGU6ICJBUUFCIiwKK307Cit2YXIgc2lnbmF0dXJlID0g
aGV4U3RyaW5nVG9VaW50OEFycmF5KCI2ZGQ2ZGY1ODg0Yzg0ZTg0OTQ3OTRmNTEwNDU1OWZkMjk2
NmIyNjZiN2Q2ZjNmOWI4MDgwYWRmYjM2ZTdjNjNkOGY5YjNiMWQyNjA4NDAyODczNTAzMDc0OWU4
MjlkYTBkMjJlM2JhMzk0NTRjMDdkYjdjMTA0YTE5YjlmNTA5ZjBlNGMwOTA4YzE2Y2Q2MDRiNTc3
MWJkZjA2NTA3ZGVjOTVkNjU0NWI4OTZmNTY2ODQwMTY3Nzc2NzVjMTZkODUyYmI2ZDZmZjk4ZTFk
YmZjMjdhMTFkMDZmYTAyOGQ0YjhjOGQyYWM2NzkwNDA2Zjg5MjgzNjc0ZTNmM2QyMDBhYTE3ZmVi
NDMzMmNiZDZhNmRjYTZiNzMwMDhmNTk5NjI5N2FjNTcyZjk0MzAzNzk1MGRhMzdiMjU0MjBiMjRj
NTFlNzY5MThmM2U0YWVkZWI3MGEwZDAyNmM3NWY2YWUyMGY3ZmEzMTg1ZjM0OTE0ZmMwZmZkNjgy
ZTUxNGQ4NGZiNzNjMWNlMzNiZDFjMTllNGVjNGI5NjUzNjAwNGFmMGE2MjA2ZDAxMTQxOTY4NjNh
MTFkMGVhNTc1ZTE0YWVkYWNlYWM2ZTA4ZjFkMWY5ZTJmYWIxZjBjZDQ5YTBjODQwYThjOTRmOWMz
MGEyNDgzZDc3MGNiOGY5ODY3YmE2ZCIpOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandr
IiwgandrS2V5LCByc2FJbXBvcnRQYXJhbXMsIGV4dHJhY3RhYmxlLCBbInZlcmlmeSJdKS50aGVu
KGZ1bmN0aW9uKGtleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLnZlcmlmeSgiUlNBU1NB
LVBLQ1MxLXYxXzUiLCBrZXksIHNpZ25hdHVyZSwgdGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgIHZlcmlmaWVkID0gcmVzdWx0OworCisgICAgc2hvdWxkQmVUcnVlKCJ2ZXJp
ZmllZCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3Nh
LXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnktc2hhMzg0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnkt
c2hhMzg0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTQwZTI2ZjRhN2NmZjAzN2MyNGI3OGY4
ODhlZjlkNWNjMWM3ZGY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQta2V5LXZlcmlmeS1zaGEzODQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdmVyaWZpY2F0aW9uIHdpdGggUlNBU1NBLVBLQ1Mx
LXYxXzUgU0hBLTM4NCB1c2luZyBhbiBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgdmVyaWZpZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnktc2hhMzg0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1r
ZXktdmVyaWZ5LXNoYTM4NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5ZjQ2Zjg5NzVhNDI0OTEyNzk2NDAw
N2RlMWMxNjM5NjQ5NzNlMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1rZXktdmVyaWZ5LXNoYTM4NC5odG1sCkBA
IC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdmVyaWZpY2F0aW9uIHdpdGggUlNBU1NBLVBLQ1MxLXYx
XzUgU0hBLTM4NCB1c2luZyBhbiBpbXBvcnRlZCBrZXkiKTsKKworanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IGZhbHNlOwordmFyIHRleHQgPSBhc2NpaVRvVWludDhB
cnJheSgiSGVsbG8sIFdvcmxkISIpOwordmFyIHJzYUltcG9ydFBhcmFtcyA9IHsKKyAgICBuYW1l
OiAiUlNBU1NBLVBLQ1MxLXYxXzUiLAorICAgIGhhc2g6ICJTSEEtMzg0IiwKK30KK3ZhciBqd2tL
ZXkgPSB7CisgICAga3R5OiAiUlNBIiwKKyAgICBhbGc6ICJSUzM4NCIsCisgICAgdXNlOiAic2ln
IiwKKyAgICBrZXlfb3BzOiBbInZlcmlmeSJdLAorICAgIGV4dDogdHJ1ZSwKKyAgICBuOiAicmND
VUN2N09jMUhWYW0xREloQ3pxa25UaFdhd09wOFFMazhaaXkycDEwQnlqUUZDYWpvRml5dUFXbC1S
MVdYWmFmNHhpdExScmFjVDlhZ3B6SXpjLU1iTFNISUdnV1FHTzIxbEdpSW15NWZ0Wi1EOGJIQXFS
ejJ5MTVwekQ0YzRDRW91N1hTU0xEb1JuUjBRRzVNc0RoRDZzMmdWOW13SGtydGtDeHRNV2RCaS03
N2FzOHdHbWxOUmxkY09TZ1pETEs4VW5DU2dBMU9ndVo5ODliRnljOHRPT0VJYjB4VVNmUFN6M0xQ
U0NueVl6NjhhRGptS1ZlTkgtaWc4NTdPU2N5V2JHeUV5M0JpdzY0cXVuM2p1VWxOV3NKM3puZ2tP
ZHRlWVd5dHg1UXI0WEtOczZSLU15eXE3MktVcDAybUpEWmlpeWlnbHhNTF9pMy1fQ2VlY0N3IiwK
KyAgICBlOiAiQVFBQiIsCit9OwordmFyIHNpZ25hdHVyZSA9IGhleFN0cmluZ1RvVWludDhBcnJh
eSgiODUxNzEwNGFlNDJiMzllOTU4ZTAxYTc4MTU4ZjkwMDc3Yjc3MTFhNjA2MzQ4NzNjM2FlNjI1
NjU5MDBkYzFjN2EzZTc1NjI2YjMwZTEyODFmYTM5NjU5NGJiYWI3NDJhNWZjM2JlMzlkZWUzZDk4
MWI5ZTRlODMyNDhiZjY5ZWQzNjcxZGVlODZhOGYwM2M2YTliNDQ2NWJmN2IzZGNkMWRkMDRjMzQ0
NmU3N2FhMzQwZjIwZjliZDIwMzk2NmRkM2RlYzJkNGQxMzVlYTFjOTE2ZjIxOGE3MTFjY2FhMTY3
MzMyZjAyMWVkNzE2M2JhNjFmZmVkNmMwYzQ4YzQwOTdmZjk3OWVlYTM0OTAxMWZlYmYxMDM5OGMz
YWJjZWM5YjQ1NDBmZjA3NjdmYTlhMjllN2IxMTliOGZkYjhlYjU1Nzg2ZDMxMTA1OGRjNTA5Y2U1
OGRhOGFiZjUwZmUwYWIyZjFiMDkyYTI0ZDNmOGFlMmYxZjUzM2ExZWYwYjdlMTkxYTQzYmI3MTBh
Y2IzNzZmNGY1ZTYyMGZmZmY2MDJkOTg2NWE5M2U5MGY1ZDI2NDMwOTU1OWE2YWNkNDA3MTA1OGFi
YjNjZTA5MzVhMDZkZjU5YjZjN2MyNzNjYjAzM2JjNmQ2YTE4YjMyNTU5YThkNGIxNGRhMmJmYTJi
MTUiKTsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3a0tleSwgcnNhSW1wb3J0
UGFyYW1zLCBleHRyYWN0YWJsZSwgWyJ2ZXJpZnkiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAg
ICByZXR1cm4gY3J5cHRvLnN1YnRsZS52ZXJpZnkoIlJTQVNTQS1QS0NTMS12MV81Iiwga2V5LCBz
aWduYXR1cmUsIHRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB2ZXJpZmll
ZCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlVHJ1ZSgidmVyaWZpZWQiKTsKKworICAgIGZpbmlz
aEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1r
ZXktdmVyaWZ5LXNoYTUxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1rZXktdmVyaWZ5LXNoYTUxMi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjhiZDEzZDhjYjk2ZmMyYmVlZGMzMDBlYTk0YWM0Y2E2MjExZDM1YgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYx
XzUtaW1wb3J0LWtleS12ZXJpZnktc2hhNTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBA
CitUZXN0IHZlcmlmaWNhdGlvbiB3aXRoIFJTQVNTQS1QS0NTMS12MV81IFNIQS01MTIgdXNpbmcg
YW4gaW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHZl
cmlmaWVkIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYXNzYS1w
a2NzMS12MV81LWltcG9ydC1rZXktdmVyaWZ5LXNoYTUxMi5odG1sIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQta2V5LXZlcmlmeS1zaGE1MTIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNTkzY2EzZGNhOWQyNGUxZDM1YjM0MjUyMmEzY2VjMzkwZjkxOTUzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEt
djFfNS1pbXBvcnQta2V5LXZlcmlmeS1zaGE1MTIuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29t
bW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
ZXN0IHZlcmlmaWNhdGlvbiB3aXRoIFJTQVNTQS1QS0NTMS12MV81IFNIQS01MTIgdXNpbmcgYW4g
aW1wb3J0ZWQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFi
bGUgPSBmYWxzZTsKK3ZhciB0ZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3JsZCEi
KTsKK3ZhciByc2FJbXBvcnRQYXJhbXMgPSB7CisgICAgbmFtZTogIlJTQVNTQS1QS0NTMS12MV81
IiwKKyAgICBoYXNoOiAiU0hBLTUxMiIsCit9Cit2YXIgandrS2V5ID0geworICAgIGt0eTogIlJT
QSIsCisgICAgYWxnOiAiUlM1MTIiLAorICAgIHVzZTogInNpZyIsCisgICAga2V5X29wczogWyJ2
ZXJpZnkiXSwKKyAgICBleHQ6IHRydWUsCisgICAgbjogInJjQ1VDdjdPYzFIVmFtMURJaEN6cWtu
VGhXYXdPcDhRTGs4Wml5MnAxMEJ5alFGQ2Fqb0ZpeXVBV2wtUjFXWFphZjR4aXRMUnJhY1Q5YWdw
ekl6Yy1NYkxTSElHZ1dRR08yMWxHaUlteTVmdFotRDhiSEFxUnoyeTE1cHpENGM0Q0VvdTdYU1NM
RG9SblIwUUc1TXNEaEQ2czJnVjltd0hrcnRrQ3h0TVdkQmktNzdhczh3R21sTlJsZGNPU2daRExL
OFVuQ1NnQTFPZ3VaOTg5YkZ5Yzh0T09FSWIweFVTZlBTejNMUFNDbnlZejY4YURqbUtWZU5ILWln
ODU3T1NjeVdiR3lFeTNCaXc2NHF1bjNqdVVsTldzSjN6bmdrT2R0ZVlXeXR4NVFyNFhLTnM2Ui1N
eXlxNzJLVXAwMm1KRFppaXlpZ2x4TUxfaTMtX0NlZWNDdyIsCisgICAgZTogIkFRQUIiLAorfTsK
K3ZhciBzaWduYXR1cmUgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjA0ZGZjY2VkOTYzNWQyMjA4
ZWEwNWM3M2NlNzY3NDU2NzhkYjU3Yjc1NzVhN2ZmYTk3NzA2MTVhOWVmOWM2ODQ1NWJiNDllOWM3
MGE5OWQwNTNlYjkxYzlkZDJlY2YwOWRiYTJhMTMzNDMyNTMxOGEyZTc1Yjc4ZjRjNGViNjNjMGQw
NWEyYTk0MThkNmFlZmM1Y2I5N2ZmYmZiOGNkMDZiMzlmOGFkYWE1NDVlYTZiOTVlMDk5MzRiMGUy
ZWY4ZTA1NzM0ZGNiMWYxYTcyODc3Zjg5MTYzN2E5OWNkODBiMmY4YTVhZDQxOWFlYmUxOGZhMzU0
YmZmOTUxNDFiMjA3Zjk4NmU2MGFlMTZmMTkyMDExYjdmOWM5NzEzNzgyMGE3YWY3N2JlNTlkNzcx
YWQzNWY1MWE4OTVhMmM1ZTBhYWZjOTZiYThmMWYyZGZjZmJlNTI1N2I3YjYwM2QzN2UyNTY3MDk5
NmM2YzA1ZjNkYjk0MGM5NzNmNTYxYmFjODU4MjY1OTcwMWZhZDRiNGM4NGZhYTU2YWYyZGZlYWI0
NTBjNDA3MTRmNDZiZGQxYmM2ZTI0YTNlZmMxMGJmMzc2N2FkNDUyYTc5ZmI3ZGU1ZmZmMjgyYjIz
MDJlM2YzZjk4YmZkYmI0MDM3NzgwZTc5MzM0MzM1OGI1MWNlYWQxIik7CisKK2NyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tLZXksIHJzYUltcG9ydFBhcmFtcywgZXh0cmFjdGFibGUs
IFsidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0
bGUudmVyaWZ5KCJSU0FTU0EtUEtDUzEtdjFfNSIsIGtleSwgc2lnbmF0dXJlLCB0ZXh0KTsKK30p
LnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgdmVyaWZpZWQgPSByZXN1bHQ7CisKKyAgICBz
aG91bGRCZVRydWUoInZlcmlmaWVkIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCis8
L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS92ZXJpZnktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS92ZXJpZnktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNmYTg0YmNkOWRiZWJlN2E3MGRjN2IxNWUzZmExYTFjODM5NDUy
MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3ZlcmlmeS1t
YWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCB2
ZXJpZmljYXRpb24gd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycworCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBjcnlwdG8uc3VidGxlLnZlcmlmeSgpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgY3J5cHRvLnN1
YnRsZS52ZXJpZnkoMSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLnZlcmlmeSgxLCAyKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGNyeXB0
by5zdWJ0bGUudmVyaWZ5KDEsIDIsIDMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS52ZXJpZnkoInJzYXNz
YS1wa2NzMS12MV81Iiwgd3JvbmdLZXksIHNpZ25hdHVyZSwgdGV4dCkgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBJbnZhbGlkQWNjZXNzRXJyb3IgKERPTSBFeGNlcHRpb24gMTUpOiBDcnlwdG9LZXkg
ZG9lc24ndCBtYXRjaCBBbGdvcml0aG1JZGVudGlmaWVyLgorUEFTUyBjcnlwdG8uc3VidGxlLnZl
cmlmeSgiaG1hYyIsIHdyb25nS2V5LCBzaWduYXR1cmUsIHRleHQpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggSW52YWxpZEFjY2Vzc0Vycm9yIChET00gRXhjZXB0aW9uIDE1KTogQ3J5cHRvS2V5IGRv
ZXNuJ3Qgc3VwcG9ydCB2ZXJpZmljYXRpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS92ZXJpZnktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvdmVyaWZ5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY2
ODNhNTU5YWY0YzZiNGRmZjQwNDkwMDgxZTcyZTBiYjgwYTI0NQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvdmVyaWZ5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0
bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisK
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB2ZXJpZmljYXRpb24gd2l0aCBtYWxmb3JtZWQg
cGFyYW1ldGVycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxl
ID0gZmFsc2U7Cit2YXIgdGV4dCA9IGFzY2lpVG9VaW50OEFycmF5KCJIZWxsbywgV29ybGQhIik7
Cit2YXIgc2lnbmF0dXJlID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCI2ZThlNjZmZjEyODYwNmY1
MmI4YzU4OTE5NmVmNWUwZjdjYTA0ODE2Iik7Cit2YXIgaG1hY0ltcG9ydFBhcmFtcyA9IHsKKyAg
ICBuYW1lOiAiaG1hYyIsCisgICAgaGFzaDogInNoYS0xIiwKK30KK3ZhciByYXdLZXkgPSBhc2Np
aVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOworCisvLyBOb3QgZW5vdWdoIGFyZ3Vt
ZW50cy4KK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS52ZXJpZnkoKScpOworc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLnZlcmlmeSgxKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3Vi
dGxlLnZlcmlmeSgxLCAyKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnZlcmlmeSgx
LCAyLCAzKScpOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCBobWFj
SW1wb3J0UGFyYW1zLCBleHRyYWN0YWJsZSwgWyJzaWduIiwgInZlcmlmeSJdKS50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgeworICAgIHdyb25nS2V5ID0gcmVzdWx0OworICAgIC8vIFdyb25nIGFsZ29y
aXRobSBpZGVudGlmaWVyLgorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS52ZXJpZnko
InJzYXNzYS1wa2NzMS12MV81Iiwgd3JvbmdLZXksIHNpZ25hdHVyZSwgdGV4dCknKTsKKworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCBobWFjSW1wb3J0
UGFyYW1zLCBleHRyYWN0YWJsZSwgWyJzaWduIl0pOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICB3cm9uZ0tleSA9IHJlc3VsdDsKKyAgICAvLyBXcm9uZyB1c2FnZS4KKyAgICByZXR1
cm4gc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnZlcmlmeSgiaG1hYyIsIHdyb25nS2V5LCBz
aWduYXR1cmUsIHRleHQpJyk7Cit9KS50aGVuKGZpbmlzaEpTVGVzdCk7CisKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vy
cy9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWFkYjQzMTFlZjk3ZmUzNzI4ODhlZmI5ZDg3YjFiMzA0MjJiYTMwNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9obWFj
LWltcG9ydC1rZXktdmVyaWZ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitbV29ya2Vy
XSBUZXN0IHZlcmlmaWNhdGlvbiB3aXRoIEhNQUMgU0hBLTEgdXNpbmcgYW4gaW1wb3J0ZWQga2V5
IGluIHdvcmtlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N0YXJ0aW5nIHdv
cmtlcjogcmVzb3VyY2VzL2htYWMtaW1wb3J0LWtleS12ZXJpZnkuanMKK1BBU1MgW1dvcmtlcl0g
dmVyaWZpZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRs
ZS9obWFjLWltcG9ydC1rZXktdmVyaWZ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vy
cy9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkYjI1MDI4
MTEwYWRlM2E1YWMyM2U2ZTdlOWNhNzk0MzkwNzhjZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS5odG1s
CkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdvcmtlciA9IHN0YXJ0V29y
a2VyKCdyZXNvdXJjZXMvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS5qcycpOworICAgIDwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0
by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvaG1hYy1pbXBvcnQta2V5LXZlcmlmeS5qcyBiL0xh
eW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvaG1hYy1pbXBvcnQta2V5
LXZlcmlmeS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDNlMDAwOTdlMDgxNDhlZDMxZjRlY2M0ZTI0Y2Q5MWQ2
NTIwODM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL3Jlc291cmNlcy9obWFjLWltcG9ydC1rZXktdmVyaWZ5LmpzCkBAIC0wLDAgKzEsMjUgQEAK
K2ltcG9ydFNjcmlwdHMoJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOwor
aW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2NvbW1vbi5qcycpOworCitkZXNjcmlw
dGlvbigiVGVzdCB2ZXJpZmljYXRpb24gd2l0aCBITUFDIFNIQS0xIHVzaW5nIGFuIGltcG9ydGVk
IGtleSBpbiB3b3JrZXJzIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFj
dGFibGUgPSBmYWxzZTsKK3ZhciB0ZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3Js
ZCEiKTsKK3ZhciBobWFjSW1wb3J0UGFyYW1zID0geworICAgIG5hbWU6ICJobWFjIiwKKyAgICBo
YXNoOiAic2hhLTEiLAorfQordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlv
T1pGTElFUE1yIik7Cit2YXIgc2lnbmF0dXJlID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCI2ZThl
NjZmZjEyODYwNmY1MmI4YzU4OTE5NmVmNWUwZjdjYTA0ODE2Iik7CisKK2NyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJyYXciLCByYXdLZXksIGhtYWNJbXBvcnRQYXJhbXMsIGV4dHJhY3RhYmxlLCBb
InNpZ24iLCAidmVyaWZ5Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0dXJuIGNyeXB0
by5zdWJ0bGUudmVyaWZ5KCJobWFjIiwga2V5LCBzaWduYXR1cmUsIHRleHQpOworfSkudGhlbihm
dW5jdGlvbihyZXN1bHQpIHsKKyAgICB2ZXJpZmllZCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJl
VHJ1ZSgidmVyaWZpZWQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMv
c3VidGxlL3Jlc291cmNlcy9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQta2V5LXZlcmlmeS5qcyBi
L0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNhc3NhLXBrY3Mx
LXYxXzUtaW1wb3J0LWtleS12ZXJpZnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM1ODU0ZjVhYmM5NzZiOGJk
ODQ1NjU3YThmNjI2NTI2ODcwYWIwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Ny
eXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtl
eS12ZXJpZnkuanMKQEAgLTAsMCArMSwzMyBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNv
dXJjZXMvY29tbW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHZlcmlmaWNhdGlvbiB3aXRo
IFJTQVNTQS1QS0NTMS12MV81IFNIQS0xIHVzaW5nIGFuIGltcG9ydGVkIGtleSBpbiB3b3JrZXJz
Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsK
K3ZhciB0ZXh0ID0gYXNjaWlUb1VpbnQ4QXJyYXkoIkhlbGxvLCBXb3JsZCEiKTsKK3ZhciByc2FJ
bXBvcnRQYXJhbXMgPSB7CisgICAgbmFtZTogIlJTQVNTQS1QS0NTMS12MV81IiwKKyAgICBoYXNo
OiAiU0hBLTEiLAorfQordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJSU0EiLAorICAgIGFsZzog
IlJTMSIsCisgICAgdXNlOiAic2lnIiwKKyAgICBrZXlfb3BzOiBbInZlcmlmeSJdLAorICAgIGV4
dDogdHJ1ZSwKKyAgICBuOiAicmNDVUN2N09jMUhWYW0xREloQ3pxa25UaFdhd09wOFFMazhaaXky
cDEwQnlqUUZDYWpvRml5dUFXbC1SMVdYWmFmNHhpdExScmFjVDlhZ3B6SXpjLU1iTFNISUdnV1FH
TzIxbEdpSW15NWZ0Wi1EOGJIQXFSejJ5MTVwekQ0YzRDRW91N1hTU0xEb1JuUjBRRzVNc0RoRDZz
MmdWOW13SGtydGtDeHRNV2RCaS03N2FzOHdHbWxOUmxkY09TZ1pETEs4VW5DU2dBMU9ndVo5ODli
RnljOHRPT0VJYjB4VVNmUFN6M0xQU0NueVl6NjhhRGptS1ZlTkgtaWc4NTdPU2N5V2JHeUV5M0Jp
dzY0cXVuM2p1VWxOV3NKM3puZ2tPZHRlWVd5dHg1UXI0WEtOczZSLU15eXE3MktVcDAybUpEWmlp
eWlnbHhNTF9pMy1fQ2VlY0N3IiwKKyAgICBlOiAiQVFBQiIsCit9OwordmFyIHNpZ25hdHVyZSA9
IGhleFN0cmluZ1RvVWludDhBcnJheSgiMDhiODNhNGE1OGFmZjFkYjc2NTI5ZmU5N2Y2ZGMyYjU4
OTE0YTU2ZjA4ZWJjNzNhZWJmNzQwNjgwZmM1MjRlNzIxYzMwODQyNzU5YWNhY2FiOGFjZGY2ZTMx
ZTdjYzgzZGJlOGE0OGFjZTgwYjZhNjU1OGE5ZGY4OTJlNGMyYTkyNzZjMTU0Y2Q2MDVlNjMyYzhi
ODU3ODU1YTA2NGFlYTY4NTUwYjY2MGExNTA0NGEwOTE3MDI2ZTQ5NGE3MWU0ZmVlOTlmYTU3OTQx
MjY4NTQ1ZjMzOGM4NjAxYmFhOWM0ZjIxMTZmMGViNTQzMmNmZWU1ZTNlZDk5Nzg4NzZmZWQyMDE2
NDc5MjFlNTk5MTAxOTMwYTk5YTJiNjQ1YTlhODc5YmNlOGMyNDU5MjcyOWYxZjYyYTNiODNmZTIx
NDc1ODcxMjczY2RiYmU4ZWZhN2JlMzE0Y2FiZDA4N2ZiZTE5MzFkZGYzZmI4NmNiZmY1MTc2YTI3
NTU0NzI2YjU0YzQzMjA4MjAwNzI1YzZhZDcxZDMzNWVlNWUwOWYzYmJmZjcxNjRkZGY1YmM4NTdh
NDFjNTk2MWU2Zjk1ODE0NTlkYjBmZDBmMDllZTI1MWQ2M2I3YTAxYmQ3MTZmNmY3MjYzMmI1YzBm
OWEyYzRkYzIyNTdkMWUzNDIxMzhjMTMiKTsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3
ayIsIGp3a0tleSwgcnNhSW1wb3J0UGFyYW1zLCBleHRyYWN0YWJsZSwgWyJ2ZXJpZnkiXSkudGhl
bihmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS52ZXJpZnkoIlJTQVNT
QS1QS0NTMS12MV81Iiwga2V5LCBzaWduYXR1cmUsIHRleHQpOworfSkudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKKyAgICB2ZXJpZmllZCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlVHJ1ZSgidmVy
aWZpZWQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LWtleS12
ZXJpZnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jz
YXNzYS1wa2NzMS12MV81LWltcG9ydC1rZXktdmVyaWZ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wNjFkN2ZjZmI0M2ZiZDAyZWMxYmUwNzIyOTc2ODlhOWY5MzI4ZTc0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYXNzYS1wa2NzMS12MV81
LWltcG9ydC1rZXktdmVyaWZ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitbV29ya2Vy
XSBUZXN0IHZlcmlmaWNhdGlvbiB3aXRoIFJTQVNTQS1QS0NTMS12MV81IFNIQS0xIHVzaW5nIGFu
IGltcG9ydGVkIGtleSBpbiB3b3JrZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQta2V5
LXZlcmlmeS5qcworUEFTUyBbV29ya2VyXSB2ZXJpZmllZCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1rZXkt
dmVyaWZ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhc3NhLXBr
Y3MxLXYxXzUtaW1wb3J0LWtleS12ZXJpZnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWIxMzU4Y2Y3NTY4
OWU2YzYwOTUwZDA3OGEzZjFmNDhlZmFmN2VmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWltcG9ydC1rZXktdmVy
aWZ5Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd29ya2VyID0g
c3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQta2V5LXZlcmlm
eS5qcycpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvaWRsaGFybmVzcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5l
c3MtZXhwZWN0ZWQudHh0CmluZGV4IGViZGNkMTY2NzVjOWFkMzE3YTllZWJmZTJkYzNkNDRkN2U1
NDc2YmIuLmM3ODcxYmRkMThhZWU0MmY3ODdmNjZhZDE4NDk1NGMxNDdlODViNDMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvaWRsaGFybmVzcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9pZGxo
YXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtNDksOCArNDksOCBAQCBQQVNTIFN1YnRsZUNyeXB0byBp
bnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNyeXB0IiB3
aXRoCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNhbGxpbmcgZGVjcnlwdChBbGdvcml0
aG1JZGVudGlmaWVyLENyeXB0b0tleSxCdWZmZXJTb3VyY2UpIG9uIGNyeXB0by5zdWJ0bGUgd2l0
aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgU3VidGxlQ3J5
cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNpZ24i
IHdpdGggdGhlIHByb3BlciB0eXBlICgyKSAKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTog
Y2FsbGluZyBzaWduKEFsZ29yaXRobUlkZW50aWZpZXIsQ3J5cHRvS2V5LEJ1ZmZlclNvdXJjZSkg
b24gY3J5cHRvLnN1YnRsZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIAotRkFJTCBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAidmVyaWZ5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMykgYXNzZXJ0X2lu
aGVyaXRzOiBwcm9wZXJ0eSAidmVyaWZ5IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1G
QUlMIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNhbGxpbmcgdmVyaWZ5KEFsZ29yaXRobUlkZW50
aWZpZXIsQ3J5cHRvS2V5LEJ1ZmZlclNvdXJjZSxCdWZmZXJTb3VyY2UpIG9uIGNyeXB0by5zdWJ0
bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5o
ZXJpdHM6IHByb3BlcnR5ICJ2ZXJpZnkiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BB
U1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgInZlcmlmeSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDMpIAorUEFTUyBTdWJ0bGVDcnlw
dG8gaW50ZXJmYWNlOiBjYWxsaW5nIHZlcmlmeShBbGdvcml0aG1JZGVudGlmaWVyLENyeXB0b0tl
eSxCdWZmZXJTb3VyY2UsQnVmZmVyU291cmNlKSBvbiBjcnlwdG8uc3VidGxlIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBGQUlMIFN1YnRsZUNyeXB0byBpbnRl
cmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaWdlc3QiIHdpdGgg
dGhlIHByb3BlciB0eXBlICg0KSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJkaWdlc3QiIG5v
dCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgU3VidGxlQ3J5cHRvIGludGVyZmFjZTog
Y2FsbGluZyBkaWdlc3QoQWxnb3JpdGhtSWRlbnRpZmllcixCdWZmZXJTb3VyY2UpIG9uIGNyeXB0
by5zdWJ0bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3Nl
cnRfaW5oZXJpdHM6IHByb3BlcnR5ICJkaWdlc3QiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hh
aW4KIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgImdlbmVyYXRlS2V5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoNSkgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>