<?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>164739</bug_id>
          
          <creation_ts>2016-11-14 15:50:56 -0800</creation_ts>
          <short_desc>Update SubtleCrypto::decrypt to match the latest spec</short_desc>
          <delta_ts>2016-11-21 12:40:27 -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>1251205</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-14 15:50:56 -0800</bug_when>
    <thetext>Update SubtleCrypto::decrypt to match the latest spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251242</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-11-14 16:39:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/29257848&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252949</commentid>
    <comment_count>2</comment_count>
      <attachid>295220</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-18 16:42:48 -0800</bug_when>
    <thetext>Created attachment 295220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252951</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-18 16:44:51 -0800</bug_when>
    <thetext>Attachment 295220 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:81:  CryptoAlgorithmRSA_OAEP::decrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp:41:  CryptoAlgorithmRSA_OAEP::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:58:  decryptRSA_OAEP is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:94:  CryptoAlgorithmRSA_OAEP::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:98:  CryptoAlgorithmAES_CBC::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:80:  CryptoAlgorithmAES_CBC::decrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:71:  CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:52:  decryptRSAES_PKCS1_v1_5 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:83:  CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp:42:  CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp:41:  CryptoAlgorithmAES_CBC::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 11 in 52 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>1252956</commentid>
    <comment_count>4</comment_count>
      <attachid>295220</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-18 16:54:58 -0800</bug_when>
    <thetext>Comment on attachment 295220
Patch

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

Looks good. r=me.

&gt; Source/WebCore/crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:136
&gt; +    return { };}

Looks like you lost a carriage return!

&gt; LayoutTests/imported/w3c/WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt:15
&gt; +PASS AES-CBC 256-bit key decryption with altered ciphertext 

Yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252964</commentid>
    <comment_count>5</comment_count>
      <attachid>295220</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-18 17:02:10 -0800</bug_when>
    <thetext>Comment on attachment 295220
Patch

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

Thanks Brent for r+ my patch.

&gt;&gt; Source/WebCore/crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:136
&gt;&gt; +    return { };}
&gt; 
&gt; Looks like you lost a carriage return!

Oops. Fixed.

&gt;&gt; LayoutTests/imported/w3c/WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt:15
&gt;&gt; +PASS AES-CBC 256-bit key decryption with altered ciphertext 
&gt; 
&gt; Yay!

:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252967</commentid>
    <comment_count>6</comment_count>
      <attachid>295227</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2016-11-18 17:12:32 -0800</bug_when>
    <thetext>Created attachment 295227
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252968</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-18 17:13:52 -0800</bug_when>
    <thetext>Attachment 295227 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:81:  CryptoAlgorithmRSA_OAEP::decrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp:41:  CryptoAlgorithmRSA_OAEP::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:58:  decryptRSA_OAEP is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:94:  CryptoAlgorithmRSA_OAEP::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:98:  CryptoAlgorithmAES_CBC::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:80:  CryptoAlgorithmAES_CBC::decrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:71:  CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:52:  decryptRSAES_PKCS1_v1_5 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:83:  CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp:42:  CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp:41:  CryptoAlgorithmAES_CBC::platformDecrypt is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 11 in 52 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>1253022</commentid>
    <comment_count>8</comment_count>
      <attachid>295227</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-18 20:39:07 -0800</bug_when>
    <thetext>Comment on attachment 295227
Patch for landing

Clearing flags on attachment: 295227

Committed r208918: &lt;http://trac.webkit.org/changeset/208918&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295220</attachid>
            <date>2016-11-18 16:42:48 -0800</date>
            <delta_ts>2016-11-18 16:54:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164739-20161118164241.patch</filename>
            <type>text/plain</type>
            <size>98611</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4ODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGVmM2I4Y2VhNjQ4MWI3
NDJhM2FhN2E5MDE3NjBjNzA2ZDA1NWUzNi4uYzA4ZTJkYWQ1NDMzZTFlODgwMTJmZjFkNGI4MDE3
MzNjZDQyMzlmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDE2LTExLTE4ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIFN1YnRsZUNy
eXB0bzo6ZGVjcnlwdCB0byBtYXRjaCB0aGUgbGF0ZXN0IHNwZWMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDczOQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjkyNTc4NDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBkb2VzIGZvbGxvd2luZyBmZXcgdGhpbmdzOgorICAgICAgICAx
LiBJdCB1cGRhdGVzIHRoZSBTdWJ0bGVDcnlwdG86OmRlY3J5cHQgbWV0aG9kIHRvIG1hdGNoIHRo
ZSBsYXRlc3Qgc3BlYzoKKyAgICAgICAgICAgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dlYkNyeXB0
b0FQSS8jU3VidGxlQ3J5cHRvLW1ldGhvZC1kZWNyeXB0LgorICAgICAgICAgICBJdCBhbHNvIHJl
ZmVycyB0byB0aGUgbGF0ZXN0IEVkaXRvcidzIERyYWZ0IHRvIGEgY2VydGFpbiBkZWdyZWU6Cisg
ICAgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjcnlwdG8vT3ZlcnZpZXcuaHRtbCNT
dWJ0bGVDcnlwdG8tbWV0aG9kLWRlY3J5cHQuCisgICAgICAgIDIuIEl0IGltcGxlbWVudHMgZGVj
cnlwdCBvcGVyYXRpb25zIG9mIHRoZSBmb2xsb3dpbmcgYWxnb3JpdGhtczogQUVTLUNCQywKKyAg
ICAgICAgICAgUlNBRVMtUEtDUzEtVjFfNSwgYW5kIFJTQS1PQUVQLgorCisgICAgICAgIFRlc3Rz
OiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1s
CisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUta2V5LWVuY3J5
cHQtZGVjcnlwdC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1w
b3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvZGVjcnlw
dC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxl
L3JzYS1vYWVwLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorICAgICAgICAgICAg
ICAgY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWxh
YmVsLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUt
a2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3Jz
YS1vYWVwLWltcG9ydC1rZXktZGVjcnlwdC1sYWJlbC5odG1sCisgICAgICAgICAgICAgICBjcnlw
dG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktZGVjcnlwdC5odG1sCisgICAgICAgICAgICAg
ICBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVj
cnlwdC5odG1sCisgICAgICAgICAgICAgICBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUt
aW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by93b3JrZXJzL3N1
YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktZGVjcnlwdC5odG1sCisgICAgICAgICAgICAgICBjcnlw
dG8vd29ya2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAg
ICAgICAgICAgIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1r
ZXktZGVjcnlwdC5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpub3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OnRvQ3J5cHRvS2V5KToKKyAgICAgICAgKFdlYkNv
cmU6OnRvVmVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmpzU3VidGxlQ3J5cHRvRnVuY3Rpb25F
bmNyeXB0UHJvbWlzZSk6CisgICAgICAgIChXZWJDb3JlOjpqc1N1YnRsZUNyeXB0b0Z1bmN0aW9u
RGVjcnlwdFByb21pc2UpOgorICAgICAgICAoV2ViQ29yZTo6anNTdWJ0bGVDcnlwdG9GdW5jdGlv
bkV4cG9ydEtleVByb21pc2UpOgorICAgICAgICAoV2ViQ29yZTo6SlNTdWJ0bGVDcnlwdG86OmRl
Y3J5cHQpOgorICAgICAgICAqIGNyeXB0by9DcnlwdG9BbGdvcml0aG0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtOjpkZWNyeXB0KToKKyAgICAgICAgKiBjcnlwdG8vQ3J5
cHRvQWxnb3JpdGhtLmg6CisgICAgICAgICogY3J5cHRvL1N1YnRsZUNyeXB0by5pZGw6CisgICAg
ICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpkZWNyeXB0KToKKyAgICAgICAg
KiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmg6CisgICAgICAgICog
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpkZWNyeXB0
KToKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NT
MV92MV81Lmg6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNB
X09BRVAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OmRl
Y3J5cHQpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9P
QUVQLmg6CisgICAgICAgICogY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDR251
VExTLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DQkM6OnBsYXRm
b3JtRGVjcnlwdCk6CisgICAgICAgICogY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1SU0FF
U19QS0NTMV92MV81R251VExTLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRo
bVJTQUVTX1BLQ1MxX3YxXzU6OnBsYXRmb3JtRGVjcnlwdCk6CisgICAgICAgICogY3J5cHRvL2du
dXRscy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUEdudVRMUy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6cGxhdGZvcm1EZWNyeXB0KToKKyAgICAgICAgKiBj
cnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUFFU19DQkNNYWMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1EZWNyeXB0KToKKyAgICAgICAgKiBj
cnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzVNYWMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6ZGVjcnlwdFJTQUVTX1BLQ1MxX3YxXzUpOgorICAgICAgICAoV2ViQ29yZTo6
Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6cGxhdGZvcm1EZWNyeXB0KToKKyAgICAg
ICAgKiBjcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQTWFjLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmRlY3J5cHRSU0FfT0FFUCk6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdv
cml0aG1SU0FfT0FFUDo6cGxhdGZvcm1EZWNyeXB0KToKKwogMjAxNi0xMS0xNyAgSmlld2VuIFRh
biAgPGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBTdWJ0bGVDcnlwdG86
OmVuY3J5cHQgdG8gbWF0Y2ggdGhlIGxhdGVzdCBzcGVjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5jcHAKaW5kZXggM2Q0ZDk1ZGZjMDZj
ZWY5ZWVlOWM4OTczNzI5MjcyNmFhMjA0YzNlYy4uZDFhMjY3MmU2YjE0Y2M0NTc1M2M2ZWFhY2Jh
MTc3ZDkwMTJhNzk3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNT
dWJ0bGVDcnlwdG9DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
U3VidGxlQ3J5cHRvQ3VzdG9tLmNwcApAQCAtNTMsNiArNTMsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGVudW0gY2xhc3MgT3BlcmF0aW9ucyB7CiAgICAgRW5jcnlwdCwKKyAgICBEZWNyeXB0
LAogICAgIERpZ2VzdCwKICAgICBHZW5lcmF0ZUtleSwKICAgICBJbXBvcnRLZXksCkBAIC05NCw2
ICs5NSw3IEBAIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4gbm9ybWFsaXplQ3J5cHRvQWxnb3JpdGhtUGFyYW1lCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiByZXN1bHQ7CiAgICAgICAgIHN3aXRjaCAob3Bl
cmF0aW9uKSB7CiAgICAgICAgIGNhc2UgT3BlcmF0aW9uczo6RW5jcnlwdDoKKyAgICAgICAgY2Fz
ZSBPcGVyYXRpb25zOjpEZWNyeXB0OgogICAgICAgICAgICAgc3dpdGNoICgqaWRlbnRpZmllcikg
ewogICAgICAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpSU0FFU19QS0NT
MV92MV81OgogICAgICAgICAgICAgICAgIHJlc3VsdCA9IHN0ZDo6bWFrZV91bmlxdWU8Q3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycz4ocGFyYW1zKTsKQEAgLTM4OCw2ICszOTAsMzIgQEAgc3RhdGlj
IEpTVmFsdWUgdG9KU1ZhbHVlRnJvbUpzb25XZWJLZXkoSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCwgSnNvbldlYksKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitzdGF0aWMgUmVmUHRy
PENyeXB0b0tleT4gdG9DcnlwdG9LZXkoRXhlY1N0YXRlJiBzdGF0ZSwgSlNWYWx1ZSB2YWx1ZSkK
K3sKKyAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKKworICAgIFJlZlB0cjxDcnlwdG9LZXk+IHJlc3VsdCA9IEpTQ3J5cHRv
S2V5Ojp0b1dyYXBwZWQodmFsdWUpOworICAgIGlmICghcmVzdWx0KSB7CisgICAgICAgIHRocm93
VHlwZUVycm9yKCZzdGF0ZSwgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiSW52YWxpZCBDcnlwdG9LZXki
KSk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCitzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IHRvVmVjdG9yKEV4ZWNTdGF0ZSYgc3RhdGUsIEpT
VmFsdWUgdmFsdWUpCit7CisgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKKyAgICBhdXRvIHNjb3Bl
ID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBCdWZmZXJTb3VyY2UgZGF0YSA9IGNv
bnZlcnQ8SURMQnVmZmVyU291cmNlPihzdGF0ZSwgdmFsdWUpOworICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIHsgfSk7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IGRhdGFWZWN0b3I7CisgICAg
ZGF0YVZlY3Rvci5hcHBlbmQoZGF0YS5kYXRhKCksIGRhdGEubGVuZ3RoKCkpOworCisgICAgcmV0
dXJuIGRhdGFWZWN0b3I7Cit9CisKIHN0YXRpYyB2b2lkIGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25F
bmNyeXB0UHJvbWlzZShFeGVjU3RhdGUmIHN0YXRlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHBy
b21pc2UpCiB7CiAgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKQEAgLTQwMSwxNiArNDI5LDExIEBA
IHN0YXRpYyB2b2lkIGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25FbmNyeXB0UHJvbWlzZShFeGVjU3Rh
dGUmIHN0YXRlLCBSZWY8RGVmZXJyZWRQCiAgICAgYXV0byBwYXJhbXMgPSBub3JtYWxpemVDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgwKSwg
T3BlcmF0aW9uczo6RW5jcnlwdCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9p
ZCgpKTsKIAotICAgIFJlZlB0cjxDcnlwdG9LZXk+IGtleSA9IEpTQ3J5cHRvS2V5Ojp0b1dyYXBw
ZWQoc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMSkpOwotICAgIGlmICgha2V5KSB7Ci0gICAgICAg
IHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiSW52YWxpZCBDcnlwdG9L
ZXkiKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgYXV0byBrZXkgPSB0b0NyeXB0b0tl
eShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMSkpOworICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKLSAgICBCdWZmZXJTb3VyY2UgZGF0YSA9IGNvbnZlcnQ8
SURMQnVmZmVyU291cmNlPihzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMikpOworICAg
IGF1dG8gZGF0YSA9IHRvVmVjdG9yKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgyKSk7
CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICBWZWN0b3I8dWlu
dDhfdD4gZGF0YVZlY3RvcjsKLSAgICBkYXRhVmVjdG9yLmFwcGVuZChkYXRhLmRhdGEoKSwgZGF0
YS5sZW5ndGgoKSk7CiAKICAgICBpZiAocGFyYW1zLT5pZGVudGlmaWVyICE9IGtleS0+YWxnb3Jp
dGhtSWRlbnRpZmllcigpKSB7CiAgICAgICAgIHByb21pc2UtPnJlamVjdChJTlZBTElEX0FDQ0VT
U19FUlIsIEFTQ0lJTGl0ZXJhbCgiQ3J5cHRvS2V5IGRvZXNuJ3QgbWF0Y2ggQWxnb3JpdGhtSWRl
bnRpZmllciIpKTsKQEAgLTQzNSw3ICs0NTgsNTIgQEAgc3RhdGljIHZvaWQganNTdWJ0bGVDcnlw
dG9GdW5jdGlvbkVuY3J5cHRQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZlcnJlZFAK
IAogICAgIEpTU3VidGxlQ3J5cHRvKiBzdWJ0bGUgPSBqc0R5bmFtaWNEb3duY2FzdDxKU1N1YnRs
ZUNyeXB0byo+KHN0YXRlLnRoaXNWYWx1ZSgpKTsKICAgICBBU1NFUlQoc3VidGxlKTsKLSAgICBh
bGdvcml0aG0tPmVuY3J5cHQoV1RGTW92ZShwYXJhbXMpLCBrZXkucmVsZWFzZU5vbk51bGwoKSwg
V1RGTW92ZShkYXRhVmVjdG9yKSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9u
Q2FsbGJhY2spLCAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dEZyb21FeGVjU3RhdGUoJnN0YXRlKSwg
c3VidGxlLT53cmFwcGVkKCkud29ya1F1ZXVlKCkpOworICAgIGFsZ29yaXRobS0+ZW5jcnlwdChX
VEZNb3ZlKHBhcmFtcyksIGtleS5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3ZlKGRhdGEpLCBXVEZN
b3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksICpzY3JpcHRFeGVjdXRp
b25Db250ZXh0RnJvbUV4ZWNTdGF0ZSgmc3RhdGUpLCBzdWJ0bGUtPndyYXBwZWQoKS53b3JrUXVl
dWUoKSk7Cit9CisKK3N0YXRpYyB2b2lkIGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25EZWNyeXB0UHJv
bWlzZShFeGVjU3RhdGUmIHN0YXRlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7
CisgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CisKKyAgICBpZiAoVU5MSUtFTFkoc3RhdGUuYXJndW1lbnRDb3VudCgpIDwg
MykpIHsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0PEpTVmFsdWU+KGNyZWF0ZU5vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKCZzdGF0ZSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0
byBwYXJhbXMgPSBub3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzKHN0YXRlLCBzdGF0
ZS51bmNoZWNrZWRBcmd1bWVudCgwKSwgT3BlcmF0aW9uczo6RGVjcnlwdCk7CisgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKworICAgIGF1dG8ga2V5ID0gdG9DcnlwdG9L
ZXkoc3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDEpKTsKKyAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB2b2lkKCkpOworCisgICAgYXV0byBkYXRhID0gdG9WZWN0b3Ioc3RhdGUs
IHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDIpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB2b2lkKCkpOworCisgICAgaWYgKHBhcmFtcy0+aWRlbnRpZmllciAhPSBrZXktPmFsZ29y
aXRobUlkZW50aWZpZXIoKSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3QoSU5WQUxJRF9BQ0NF
U1NfRVJSLCBBU0NJSUxpdGVyYWwoIkNyeXB0b0tleSBkb2Vzbid0IG1hdGNoIEFsZ29yaXRobUlk
ZW50aWZpZXIiKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIWtleS0+YWxs
b3dzKENyeXB0b0tleVVzYWdlRGVjcnlwdCkpIHsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KElO
VkFMSURfQUNDRVNTX0VSUiwgQVNDSUlMaXRlcmFsKCJDcnlwdG9LZXkgZG9lc24ndCBzdXBwb3J0
IGRlY3J5cHRpb24iKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGFsZ29y
aXRobSA9IGNyZWF0ZUFsZ29yaXRobShzdGF0ZSwga2V5LT5hbGdvcml0aG1JZGVudGlmaWVyKCkp
OworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAgICBhdXRvIGNh
bGxiYWNrID0gW2NhcHR1cmVkUHJvbWlzZSA9IHByb21pc2UuY29weVJlZigpXShjb25zdCBWZWN0
b3I8dWludDhfdD4mIGNpcGhlclRleHQpIG11dGFibGUgeworICAgICAgICBmdWxmaWxsUHJvbWlz
ZVdpdGhBcnJheUJ1ZmZlcihXVEZNb3ZlKGNhcHR1cmVkUHJvbWlzZSksIGNpcGhlclRleHQuZGF0
YSgpLCBjaXBoZXJUZXh0LnNpemUoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9OworICAgIGF1
dG8gZXhjZXB0aW9uQ2FsbGJhY2sgPSBbY2FwdHVyZWRQcm9taXNlID0gcHJvbWlzZS5jb3B5UmVm
KCldKEV4Y2VwdGlvbkNvZGUgZWMpIG11dGFibGUgeworICAgICAgICByZWplY3RXaXRoRXhjZXB0
aW9uKFdURk1vdmUoY2FwdHVyZWRQcm9taXNlKSwgZWMpOworICAgIH07CisKKyAgICBKU1N1YnRs
ZUNyeXB0byogc3VidGxlID0ganNEeW5hbWljRG93bmNhc3Q8SlNTdWJ0bGVDcnlwdG8qPihzdGF0
ZS50aGlzVmFsdWUoKSk7CisgICAgQVNTRVJUKHN1YnRsZSk7CisgICAgYWxnb3JpdGhtLT5kZWNy
eXB0KFdURk1vdmUocGFyYW1zKSwga2V5LnJlbGVhc2VOb25OdWxsKCksIFdURk1vdmUoZGF0YSks
IFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgKnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRGcm9tRXhlY1N0YXRlKCZzdGF0ZSksIHN1YnRsZS0+d3JhcHBlZCgpLndv
cmtRdWV1ZSgpKTsKIH0KIAogc3RhdGljIHZvaWQganNTdWJ0bGVDcnlwdG9GdW5jdGlvbkdlbmVy
YXRlS2V5UHJvbWlzZShFeGVjU3RhdGUmIHN0YXRlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHBy
b21pc2UpCkBAIC01NDUsMTEgKzYxMyw4IEBAIHN0YXRpYyB2b2lkIGpzU3VidGxlQ3J5cHRvRnVu
Y3Rpb25FeHBvcnRLZXlQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZlcnJlCiAgICAg
YXV0byBmb3JtYXQgPSBjb252ZXJ0RW51bWVyYXRpb248U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ+
KHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgdm9pZCgpKTsKIAotICAgIFJlZlB0cjxDcnlwdG9LZXk+IGtleSA9IEpTQ3J5
cHRvS2V5Ojp0b1dyYXBwZWQoc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMSkpOwotICAgIGlmICgh
a2V5KSB7Ci0gICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
SW52YWxpZCBDcnlwdG9LZXkiKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgYXV0byBr
ZXkgPSB0b0NyeXB0b0tleShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMSkpOworICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKICAgICBzd2l0Y2ggKGtleS0+
YWxnb3JpdGhtSWRlbnRpZmllcigpKSB7CiAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlm
aWVyOjpSU0FFU19QS0NTMV92MV81OgpAQCAtNjA3LDYgKzY3MiwxMSBAQCBKU1ZhbHVlIEpTU3Vi
dGxlQ3J5cHRvOjplbmNyeXB0KEV4ZWNTdGF0ZSYgc3RhdGUpCiAgICAgcmV0dXJuIGNhbGxQcm9t
aXNlRnVuY3Rpb248anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkVuY3J5cHRQcm9taXNlLCBQcm9taXNl
RXhlY3V0aW9uU2NvcGU6OldpbmRvd09yV29ya2VyPihzdGF0ZSk7CiB9CiAKK0pTVmFsdWUgSlNT
dWJ0bGVDcnlwdG86OmRlY3J5cHQoRXhlY1N0YXRlJiBzdGF0ZSkKK3sKKyAgICByZXR1cm4gY2Fs
bFByb21pc2VGdW5jdGlvbjxqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uRGVjcnlwdFByb21pc2UsIFBy
b21pc2VFeGVjdXRpb25TY29wZTo6V2luZG93T3JXb3JrZXI+KHN0YXRlKTsKK30KKwogSlNWYWx1
ZSBKU1N1YnRsZUNyeXB0bzo6Z2VuZXJhdGVLZXkoRXhlY1N0YXRlJiBzdGF0ZSkKIHsKICAgICBy
ZXR1cm4gY2FsbFByb21pc2VGdW5jdGlvbjxqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uR2VuZXJhdGVL
ZXlQcm9taXNlLCBQcm9taXNlRXhlY3V0aW9uU2NvcGU6OldpbmRvd09yV29ya2VyPihzdGF0ZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uY3BwCmluZGV4IGQ0MTg1MGM4
YzYzNDI4ODIyMGY5MzA0MWIzZTNhZGU2OTYxOTkyMWIuLjg1MTI3OWNlMjQ3N2I4NmIyMTYxZDcz
YTk2Yzc4YmM0MmQxYzEyOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9Dcnlw
dG9BbGdvcml0aG0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0
aG0uY3BwCkBAIC0zNyw2ICszNywxMSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobTo6ZW5jcnlwdChz
dGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPAogICAgIGV4
Y2VwdGlvbkNhbGxiYWNrKE5PVF9TVVBQT1JURURfRVJSKTsKIH0KIAordm9pZCBDcnlwdG9BbGdv
cml0aG06OmRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+
JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYm
LCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgV29ya1F1ZXVlJikKK3sKKyAgICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9S
VEVEX0VSUik7Cit9CisKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtOjpnZW5lcmF0ZUtleShjb25zdCBz
dGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNr
JiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKQogewogICAgIGV4
Y2VwdGlvbkNhbGxiYWNrKE5PVF9TVVBQT1JURURfRVJSKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9D
cnlwdG9BbGdvcml0aG0uaAppbmRleCA0MDgwOTNlYWIzMTI3MjMwOWExMGE4ZjM2MTg0MTcxZTFk
M2QyYzMwLi44MzJiOTk0ZjZhNmM5NTAyNmE2MGNiY2U0YWQzY2JjYTg0YzVkNjdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5oCkBAIC02NSw2ICs2NSw3IEBAIHB1Ymxp
YzoKICAgICB1c2luZyBLZXlEYXRhQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoU3VidGxl
Q3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJik+OwogCiAgICAgdmlydHVhbCB2b2lkIGVuY3J5
cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIFJlZjxDcnlw
dG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25D
YWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJik7CisgICAgdmly
dHVhbCB2b2lkIGRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFj
ayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1
ZXVlJik7CiAgICAgdmlydHVhbCB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0
cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
JiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogICAgIHZpcnR1YWwgdm9pZCBpbXBvcnRLZXko
U3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRy
PENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tl
eVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKTsKICAgICB2
aXJ0dWFsIHZvaWQgZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBSZWY8Q3J5cHRv
S2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vU3VidGxlQ3J5cHRvLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCmluZGV4IDE0NWVlYTBiM2UzYmQ4Y2E0NDc3NDY0
ZTU2MTVmZDgzZGYxN2I2NTEuLmVkMWE2NDQ2MjliODViZWY2ZTQ2MWJjZmU2YTBiZWZmNmI3NjJj
Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRsCkBAIC0zMiw2ICszMiw3
IEBAIGVudW0gS2V5Rm9ybWF0IHsgInJhdyIsICJzcGtpIiwgInBrY3M4IiwgImp3ayIgfTsKICAg
ICBOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50ZXJmYWNlIFN1YnRsZUNyeXB0byB7CiAgICAgW0N1
c3RvbV0gUHJvbWlzZTxhbnk+IGVuY3J5cHQoQWxnb3JpdGhtSWRlbnRpZmllciBhbGdvcml0aG0s
IENyeXB0b0tleSBrZXksIEJ1ZmZlclNvdXJjZSBkYXRhKTsKKyAgICBbQ3VzdG9tXSBQcm9taXNl
PGFueT4gZGVjcnlwdChBbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgQ3J5cHRvS2V5IGtl
eSwgQnVmZmVyU291cmNlIGRhdGEpOwogICAgIC8vIEZJWE1FOiBTaG91bGQgdGhpcyByZXR1cm4g
YSBQcm9taXNlPChDcnlwdG9LZXkgb3IgQ3J5cHRvS2V5UGFpcik+PwogICAgIFtDdXN0b21dIFBy
b21pc2U8YW55PiBnZW5lcmF0ZUtleShBbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwgYm9v
bGVhbiBleHRyYWN0YWJsZSwgc2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+IGtleVVzYWdlcyk7CiAg
ICAgW0N1c3RvbV0gUHJvbWlzZTxDcnlwdG9LZXk+IGltcG9ydEtleShLZXlGb3JtYXQgZm9ybWF0
LCAoQnVmZmVyU291cmNlIG9yIEpzb25XZWJLZXkpIGtleURhdGEsIEFsZ29yaXRobUlkZW50aWZp
ZXIgYWxnb3JpdGhtLCBib29sZW4gZXh0cmFjdGFibGUsIHNlcXVlbmNlPENyeXB0b0tleVVzYWdl
PiBrZXlVc2FnZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcAppbmRleCA5MDUzMDQ2N2IwMDM5MDg0
YmFjMWMxOTk2NzU1MTI2MjBmN2I5ZjY3Li42YjhmZWZkNzI2ZTc4MTE0YTU2OGUwOGM3MjI4YTM3
YTE3ZjBlMWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcApAQCAtNzcsNiArNzcsMTcgQEAgdm9p
ZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjplbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzPiYKICAgICBwbGF0Zm9ybUVuY3J5cHQoV1RGTW92ZShwYXJhbWV0
ZXJzKSwgV1RGTW92ZShrZXkpLCBXVEZNb3ZlKHBsYWluVGV4dCksIFdURk1vdmUoY2FsbGJhY2sp
LCBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgY29udGV4dCwgd29ya1F1ZXVlKTsKIH0KIAor
dm9pZCBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpkZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlw
dG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIFJlZjxDcnlwdG9LZXk+JiYga2V5
LCBWZWN0b3I8dWludDhfdD4mJiBjaXBoZXJUZXh0LCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNr
LCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBXb3JrUXVldWUmIHdvcmtRdWV1ZSkKK3sKKyAgICBBU1NFUlQocGFy
YW1ldGVycyk7CisgICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29y
aXRobUFlc0NiY1BhcmFtcz4oKnBhcmFtZXRlcnMpOworICAgIGlmIChhZXNQYXJhbWV0ZXJzLml2
VmVjdG9yKCkuc2l6ZSgpICE9IElWU0laRSkgeworICAgICAgICBleGNlcHRpb25DYWxsYmFjayhP
cGVyYXRpb25FcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgcGxhdGZvcm1EZWNy
eXB0KFdURk1vdmUocGFyYW1ldGVycyksIFdURk1vdmUoa2V5KSwgV1RGTW92ZShjaXBoZXJUZXh0
KSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCBjb250ZXh0
LCB3b3JrUXVldWUpOworfQorCiB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmdlbmVyYXRl
S2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBh
cmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywg
S2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNl
cHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpCiB7CiAgICAgQVNTRVJUKHBh
cmFtZXRlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5oCmluZGV4IGIyMmM5YTM0MmQ3ZWYzYjhjMzE5ZTZm
NDU5OWIxZjQwMGM5MzI0OGIuLjE0ODVjMTFhNzdmMzUyOTNlMTVmMDgxZjE5ZTljNTg3YzUzN2Yx
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0Fs
Z29yaXRobUFFU19DQkMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1BRVNfQ0JDLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHJpdmF0ZToKICAgICBD
cnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKIAogICAg
IHZvaWQgZW5jcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4m
JiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYs
IEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUm
KSBmaW5hbDsKKyAgICB2b2lkIGRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0
b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgV29ya1F1ZXVlJikgZmluYWw7CiAgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVu
aXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNh
bGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSBmaW5hbDsKICAgICB2b2lkIGltcG9y
dEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1
ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZp
bmFsOwogICAgIHZvaWQgZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBSZWY8Q3J5
cHRvS2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7
CkBAIC01Niw2ICs1Nyw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGtleUFsZ29yaXRobU1hdGNo
ZXMoY29uc3QgQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zRGVwcmVjYXRlZCYgYWxnb3JpdGht
UGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5JikgY29uc3Q7CiAgICAgdm9pZCBwbGF0Zm9ybUVu
Y3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIFJlZjxD
cnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRp
b25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJik7CisgICAg
dm9pZCBwbGF0Zm9ybURlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxs
YmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29y
a1F1ZXVlJik7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcGxhdGZvcm1FbmNyeXB0KGNvbnN0IENy
eXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlBRVMm
LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxi
YWNrJiYgZmFpbHVyZUNhbGxiYWNrKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBwbGF0Zm9ybURl
Y3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zRGVwcmVjYXRlZCYsIGNvbnN0
IENyeXB0b0tleUFFUyYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFj
ayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1Mx
X3YxXzUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKaW5kZXggNjc3N2VlZDdjZGE3MTMyMTY1NmVmODcwMDZm
YjM5MjVhNTFjZTE1ZC4uNWFmNTVlOTcxZmM1ZWE2MjU5OTRkZDNjNGUxYWM4NzM2YzE0ODZlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5jcHAKQEAgLTY4LDYgKzY4LDE1
IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6ZW5jcnlwdChzdGQ6OnVu
aXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyCiAgICAgcGxhdGZvcm1FbmNyeXB0KFdURk1vdmUo
a2V5KSwgV1RGTW92ZShwbGFpblRleHQpLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNl
cHRpb25DYWxsYmFjayksIGNvbnRleHQsIHdvcmtRdWV1ZSk7CiB9CiAKK3ZvaWQgQ3J5cHRvQWxn
b3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6ZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90
PiYmIGNpcGhlclRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxi
YWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQoreworICAgIGlmIChrZXktPnR5cGUoKSAhPSBDcnlwdG9L
ZXlUeXBlOjpQcml2YXRlKSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKElOVkFMSURfQUND
RVNTX0VSUik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgcGxhdGZvcm1EZWNyeXB0KFdU
Rk1vdmUoa2V5KSwgV1RGTW92ZShjaXBoZXJUZXh0KSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1v
dmUoZXhjZXB0aW9uQ2FsbGJhY2spLCBjb250ZXh0LCB3b3JrUXVldWUpOworfQorCiB2b2lkIENy
eXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5p
cXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0
cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJh
Y2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBBU1NFUlQocGFyYW1ldGVycyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdv
cml0aG1SU0FFU19QS0NTMV92MV81LmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmgKaW5kZXggNWFjZjI0YzVmOGFlYTA5
YzA0MGE1Y2I1NTMxZDljNDc2OTY5NWEwOC4uZWRhOGVjZTI0ODRkOTdiY2RhMTdlNWFkM2E3ZTNm
YzQ3YTVhNDNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaApAQCAtNDUs
NiArNDUsNyBAQCBwcml2YXRlOgogICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRp
ZmllcigpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBlbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWlu
dDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpIGZpbmFsOworICAgIHZvaWQgZGVjcnlwdChzdGQ6
OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4m
JiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNr
JiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKSBmaW5hbDsKICAgICB2b2lk
IGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQ
YWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYpIGZpbmFsOwogICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBL
ZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBleHBvcnRLZXkoU3VidGxl
Q3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBF
eGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKQEAgLTU2LDYgKzU3LDcgQEAgcHJpdmF0ZToKIAog
ICAgIGJvb2wga2V5QWxnb3JpdGhtTWF0Y2hlcyhjb25zdCBDcnlwdG9LZXkmKSBjb25zdDsKICAg
ICB2b2lkIHBsYXRmb3JtRW5jcnlwdChSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4m
JiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIFdvcmtRdWV1ZSYpOworICAgIHZvaWQgcGxhdGZvcm1EZWNyeXB0KFJlZjxDcnlw
dG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25D
YWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJik7CiAgICAgRXhj
ZXB0aW9uT3I8dm9pZD4gcGxhdGZvcm1FbmNyeXB0KGNvbnN0IENyeXB0b0tleVJTQSYsIGNvbnN0
IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBm
YWlsdXJlQ2FsbGJhY2spOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBsYXRmb3JtRGVjcnlwdChj
b25zdCBDcnlwdG9LZXlSU0EmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2Fs
bGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FfT0FF
UC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1S
U0FfT0FFUC5jcHAKaW5kZXggODdmYWQyM2E0MTlhNzJlNGEyMzFjNzM4NjhiMjYyYzE5ZDJhMjdm
NC4uMzI1MTQzMWExZmFkMDIwZDUwMDQwMjI3NGE0ODk4ZjE5MmNjZDI1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRo
bVJTQV9PQUVQLmNwcApAQCAtNzgsNiArNzgsMTUgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0Ff
T0FFUDo6ZW5jcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4K
ICAgICBwbGF0Zm9ybUVuY3J5cHQoV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGTW92ZShrZXkpLCBX
VEZNb3ZlKHBsYWluVGV4dCksIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNh
bGxiYWNrKSwgY29udGV4dCwgd29ya1F1ZXVlKTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1S
U0FfT0FFUDo6ZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4mJiBwYXJhbWV0ZXJzLCBSZWY8Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYg
Y2lwaGVyVGV4dCwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2sm
JiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29y
a1F1ZXVlJiB3b3JrUXVldWUpCit7CisgICAgQVNTRVJUKHBhcmFtZXRlcnMpOworICAgIGlmIChr
ZXktPnR5cGUoKSAhPSBDcnlwdG9LZXlUeXBlOjpQcml2YXRlKSB7CisgICAgICAgIGV4Y2VwdGlv
bkNhbGxiYWNrKElOVkFMSURfQUNDRVNTX0VSUik7CisgICAgICAgIHJldHVybjsKKyAgICB9Cisg
ICAgcGxhdGZvcm1EZWNyeXB0KFdURk1vdmUocGFyYW1ldGVycyksIFdURk1vdmUoa2V5KSwgV1RG
TW92ZShjaXBoZXJUZXh0KSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2Fs
bGJhY2spLCBjb250ZXh0LCB3b3JrUXVldWUpOworfQogCiB2b2lkIENyeXB0b0FsZ29yaXRobVJT
QV9PQUVQOjpnZW5lcmF0ZUtleShjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2Fn
ZUJpdG1hcCB1c2FnZXMsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlv
bkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FfT0FFUC5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuaAppbmRleCAxYzcyY2FkN2Q3YmRiM2Y0ZDY0OTA5
MGExZWFkOThkYWEyNTBmZWMyLi5lN2NiM2Q5MDQ5YmVlNTliOTI0NWQyOThhNWFhZmMzODMwNWRm
MWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1SU0FfT0FFUC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHJpdmF0ZToKICAg
ICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsKIAog
ICAgIHZvaWQgZW5jcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNr
JiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVl
dWUmKSBmaW5hbDsKKyAgICB2b2lkIGRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBW
ZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgV29ya1F1ZXVlJikgZmluYWw7CiAgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBzdGQ6
OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlv
bkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSBmaW5hbDsKICAgICB2b2lkIGlt
cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVu
aXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYp
IGZpbmFsOwogICAgIHZvaWQgZXhwb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBSZWY8
Q3J5cHRvS2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmlu
YWw7CkBAIC01Niw2ICs1Nyw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGtleUFsZ29yaXRobU1h
dGNoZXMoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUnNhT2FlcFBhcmFtc0RlcHJlY2F0ZWQmIGFsZ29y
aXRobVBhcmFtZXRlcnMsIGNvbnN0IENyeXB0b0tleSYpIGNvbnN0OwogICAgIHZvaWQgcGxhdGZv
cm1FbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBS
ZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhj
ZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpOwor
ICAgIHZvaWQgcGxhdGZvcm1EZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9y
Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IFdvcmtRdWV1ZSYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBsYXRmb3JtRW5jcnlwdChjb25z
dCBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tl
eVJTQSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lk
Q2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBsYXRm
b3JtRGVjcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zRGVwcmVjYXRlZCYs
IGNvbnN0IENyeXB0b0tleVJTQSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JD
YWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQ0du
dVRMUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobUFF
U19DQkNHbnVUTFMuY3BwCmluZGV4IDcyNjJmZjg3ZDcwZmM4ZmI5ZDRmZDA1ZTA5MWJiYjNjYmFk
Zjk0M2QuLmMxZDJkMjljYTViYTMyY2Q4YzVmNTQ4YzQyYTNjNTNmNWQ3N2QyZTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQ0du
dVRMUy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0
aG1BRVNfQ0JDR251VExTLmNwcApAQCAtMzgsNiArMzgsMTEgQEAgdm9pZCBDcnlwdG9BbGdvcml0
aG1BRVNfQ0JDOjpwbGF0Zm9ybUVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRo
bVBhcmEKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobUFF
U19DQkM6OnBsYXRmb3JtRGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNh
bGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBX
b3JrUXVldWUmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZv
aWQ+IENyeXB0b0FsZ29yaXRobUFFU19DQkM6OnBsYXRmb3JtRW5jcnlwdChjb25zdCBDcnlwdG9B
bGdvcml0aG1BZXNDYmNQYXJhbXNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5QUVTJiwgY29u
c3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYm
KQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzVHbnVUTFMuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92
MV81R251VExTLmNwcAppbmRleCBlYTBlN2M1MjYwMDJhNTViYjk2NWZiMmMyOTRiMDY2NjQ3NjZh
ZWUxLi5kYmQ5Y2RiZDQxZjgzMzZhMjk3YmRmY2RmN2EwZTVmMTQ5YmM0YmQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1Mx
X3YxXzVHbnVUTFMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRv
QWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNUdudVRMUy5jcHAKQEAgLTM5LDYgKzM5LDExIEBAIHZv
aWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6cGxhdGZvcm1FbmNyeXB0KFJlZjxD
cnlwdG9LZXk+JiYsIFZlY3Rvcjx1CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBD
cnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpwbGF0Zm9ybURlY3J5cHQoUmVmPENyeXB0
b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNh
bGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobVJT
QUVTX1BLQ1MxX3YxXzU6OnBsYXRmb3JtRW5jcnlwdChjb25zdCBDcnlwdG9LZXlSU0EmLCBjb25z
dCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYp
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9nbnV0bHMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVBHbnVUTFMuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUEdudVRMUy5jcHAKaW5k
ZXggYzg1YjkxYzhkMmQwMTdjZDgyNTA0YTU0N2ZiNmVhYmZjYzhjZTdjNi4uYmU0YmUzYmQ4NWFi
NjE5YmU1YmY1NjU2ODU4ZjVlYjQ5YTRkOGJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUEdudVRMUy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUEdudVRMUy5j
cHAKQEAgLTM4LDYgKzM4LDExIEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OnBsYXRm
b3JtRW5jcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyCiAgICAgbm90SW1w
bGVtZW50ZWQoKTsKIH0KIAordm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6cGxhdGZvcm1E
ZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8
Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0
aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3Jp
dGhtUlNBX09BRVA6OnBsYXRmb3JtRW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1Sc2FPYWVw
UGFyYW1zRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleVJTQSYsIGNvbnN0IENyeXB0b09wZXJh
dGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJikKIHsKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9Dcnlw
dG9BbGdvcml0aG1BRVNfQ0JDTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5
cHRvQWxnb3JpdGhtQUVTX0NCQ01hYy5jcHAKaW5kZXggMDM0MzA2NThlNDk4MmUyNzM4MGE4ZWM3
MzA1NGRjMzg5MzdiYWY1Yi4uMDAxYjA2ZTc0YTA3YzYwZjJhMjFjOWRiZmRlYWI0YTkyYzFjNzMy
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1B
RVNfQ0JDTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29y
aXRobUFFU19DQkNNYWMuY3BwCkBAIC05NSw2ICs5NSwyOCBAQCB2b2lkIENyeXB0b0FsZ29yaXRo
bUFFU19DQkM6OnBsYXRmb3JtRW5jcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGht
UGFyYQogICAgIH0pOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OnBsYXRmb3Jt
RGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiBwYXJh
bWV0ZXJzLCBSZWY8Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgY2lwaGVyVGV4
dCwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRp
b25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3
b3JrUXVldWUpCit7CisgICAgY29udGV4dC5yZWYoKTsKKyAgICB3b3JrUXVldWUuZGlzcGF0Y2go
W3BhcmFtZXRlcnMgPSBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBXVEZNb3ZlKGtleSksIGNp
cGhlclRleHQgPSBXVEZNb3ZlKGNpcGhlclRleHQpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJh
Y2spLCBleGNlcHRpb25DYWxsYmFjayA9IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCAmY29u
dGV4dF0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0
PENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtcz4oKnBhcmFtZXRlcnMpOworICAgICAgICBhdXRv
JiBhZXNLZXkgPSBkb3duY2FzdDxDcnlwdG9LZXlBRVM+KGtleS5nZXQoKSk7CisgICAgICAgIGFz
c2VydChhZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuc2l6ZSgpID09IGtDQ0Jsb2NrU2l6ZUFFUzEy
OCk7CisgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJhbnNmb3JtQUVTX0NCQyhrQ0NEZWNyeXB0LCBh
ZXNQYXJhbWV0ZXJzLml2VmVjdG9yKCkuZGF0YSgpLCBhZXNLZXkua2V5KCksIGNpcGhlclRleHQu
ZGF0YSgpLCBjaXBoZXJUZXh0LnNpemUoKSk7CisgICAgICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0
aW9uKCkpIHsKKyAgICAgICAgICAgIGNvbnRleHQucG9zdFRhc2soW2V4Y2VwdGlvbkNhbGxiYWNr
ID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGVjID0gcmVzdWx0LnJlbGVhc2VFeGNlcHRp
b24oKS5jb2RlKCldKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAg
ICAgICAgICBleGNlcHRpb25DYWxsYmFjayhlYyk7CisgICAgICAgICAgICAgICAgY29udGV4dC5k
ZXJlZigpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICAgICAgY29udGV4dC5wb3N0VGFzayhbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwg
cmVzdWx0ID0gcmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpXShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0KSB7CisgICAgICAgICAgICBjYWxsYmFjayhyZXN1bHQpOworICAgICAgICAg
ICAgY29udGV4dC5kZXJlZigpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKwogRXhjZXB0aW9u
T3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1FbmNyeXB0KGNvbnN0IENy
eXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGNvbnN0IENy
eXB0b0tleUFFUyYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JD
YWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spCiB7CiAg
ICAgQVNTRVJUKHNpemVvZihwYXJhbWV0ZXJzLml2KSA9PSBrQ0NCbG9ja1NpemVBRVMxMjgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1SU0FF
U19QS0NTMV92MV81TWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxn
b3JpdGhtUlNBRVNfUEtDUzFfdjFfNU1hYy5jcHAKaW5kZXggMzFiMGEwN2U2NmEwY2QwZjA1Y2Zl
Zjc4ZDI2MWMyMWI5YjI5ZjAzYy4uNmZlZjYyMzUzNTM5M2ZjODg1Mzg0ZjdhYTcwNGRmNzcyYjA4
YzdhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0
aG1SU0FFU19QS0NTMV92MV81TWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFj
L0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzVNYWMuY3BwCkBAIC00Nyw2ICs0NywxOSBA
QCBzdGF0aWMgRXhjZXB0aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+PiBlbmNyeXB0UlNBRVNfUEtDUzFf
djFfNShjb25zdCBQbGF0Zm9ybVJTQUtleQogICAgIHJldHVybiBXVEZNb3ZlKGNpcGhlclRleHQp
OwogfQogCisvLyBGSVhNRTogV2Ugc2hvdWxkIGNoYW5nZSBkYXRhIHRvIFZlY3Rvcjx1aW50OF90
PiB0eXBlIG9uY2UgV2ViS2l0U3VidGxlQ3J5cHRvIGlzIGRlcHJlY2F0ZWQuCisvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0OTM5CitzdGF0aWMgRXhjZXB0aW9u
T3I8VmVjdG9yPHVpbnQ4X3Q+PiBkZWNyeXB0UlNBRVNfUEtDUzFfdjFfNShjb25zdCBQbGF0Zm9y
bVJTQUtleSBrZXksIHNpemVfdCBrZXlMZW5ndGgsIGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVf
dCBkYXRhTGVuZ3RoKQoreworICAgIFZlY3Rvcjx1aW50OF90PiBwbGFpblRleHQoa2V5TGVuZ3Ro
IC8gOCk7IC8vIFBlciBTdGVwIDEgb2YgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzM0
NDcjc2VjdGlvbi03LjIuMQorICAgIHNpemVfdCBwbGFpblRleHRMZW5ndGggPSBwbGFpblRleHQu
c2l6ZSgpOworICAgIGlmIChDQ1JTQUNyeXB0b3JEZWNyeXB0KGtleSwgY2NQS0NTMVBhZGRpbmcs
IGRhdGEsIGRhdGFMZW5ndGgsIHBsYWluVGV4dC5kYXRhKCksICZwbGFpblRleHRMZW5ndGgsIDAs
IDAsIGtDQ0RpZ2VzdE5vbmUpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9u
RXJyb3IgfTsKKworICAgIHBsYWluVGV4dC5yZXNpemUocGxhaW5UZXh0TGVuZ3RoKTsKKyAgICBy
ZXR1cm4gV1RGTW92ZShwbGFpblRleHQpOworfQorCiB2b2lkIENyeXB0b0FsZ29yaXRobVJTQUVT
X1BLQ1MxX3YxXzU6OnBsYXRmb3JtRW5jcnlwdChSZWY8Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9y
PHVpbnQ4X3Q+JiYgcGxhaW5UZXh0LCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRp
b25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBXb3JrUXVldWUmIHdvcmtRdWV1ZSkKIHsKICAgICBjb250ZXh0LnJlZigpOwpAQCAt
NjcsNiArODAsMjYgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpwbGF0
Zm9ybUVuY3J5cHQoUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3QKICAgICB9KTsKIH0KIAordm9p
ZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpwbGF0Zm9ybURlY3J5cHQoUmVmPENy
eXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIGNpcGhlclRleHQsIFZlY3RvckNhbGxi
YWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQorewor
ICAgIGNvbnRleHQucmVmKCk7CisgICAgd29ya1F1ZXVlLmRpc3BhdGNoKFtrZXkgPSBXVEZNb3Zl
KGtleSksIGNpcGhlclRleHQgPSBXVEZNb3ZlKGNpcGhlclRleHQpLCBjYWxsYmFjayA9IFdURk1v
dmUoY2FsbGJhY2spLCBleGNlcHRpb25DYWxsYmFjayA9IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJh
Y2spLCAmY29udGV4dF0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byYgcnNhS2V5ID0gZG93bmNh
c3Q8Q3J5cHRvS2V5UlNBPihrZXkuZ2V0KCkpOworICAgICAgICBhdXRvIHJlc3VsdCA9IGRlY3J5
cHRSU0FFU19QS0NTMV92MV81KHJzYUtleS5wbGF0Zm9ybUtleSgpLCByc2FLZXkua2V5U2l6ZUlu
Qml0cygpLCBjaXBoZXJUZXh0LmRhdGEoKSwgY2lwaGVyVGV4dC5zaXplKCkpOworICAgICAgICBp
ZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKSB7CisgICAgICAgICAgICBjb250ZXh0LnBvc3RUYXNr
KFtleGNlcHRpb25DYWxsYmFjayA9IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCBlYyA9IHJl
c3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkuY29kZSgpXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0KSB7CisgICAgICAgICAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soZWMpOworICAgICAg
ICAgICAgICAgIGNvbnRleHQuZGVyZWYoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgICAgIGNvbnRleHQucG9zdFRhc2soW2NhbGxiYWNrID0g
V1RGTW92ZShjYWxsYmFjayksIHJlc3VsdCA9IHJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKV0o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgeworICAgICAgICAgICAgY2FsbGJhY2so
cmVzdWx0KTsKKyAgICAgICAgICAgIGNvbnRleHQuZGVyZWYoKTsKKyAgICAgICAgfSk7CisgICAg
fSk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3Yx
XzU6OnBsYXRmb3JtRW5jcnlwdChjb25zdCBDcnlwdG9LZXlSU0EmIGtleSwgY29uc3QgQ3J5cHRv
T3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgVm9pZENhbGxi
YWNrJiYgZmFpbHVyZUNhbGxiYWNrKQogewogICAgIGF1dG8gcmVzdWx0ID0gZW5jcnlwdFJTQUVT
X1BLQ1MxX3YxXzUoa2V5LnBsYXRmb3JtS2V5KCksIGtleS5rZXlTaXplSW5CaXRzKCksIGRhdGEu
Zmlyc3QsIGRhdGEuc2Vjb25kKTsKQEAgLTc4LDE5ICsxMTEsMTQgQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6cGxhdGZvcm1FbmNyeXB0KGNvbnN0
IENyeXB0b0sKICAgICByZXR1cm4geyB9OwogfQogCi0vLyBGSVhNRTogV2Ugc2hvdWxkIGdldCBy
aWQgb2YgdGhlIG1hZ2ljIG51bWJlciAxMDI0LiBJdCBvbmx5IG1ha2VzIHNlbnNlIHdoZW4ga2V5
IGxlbmd0aCA8IDgxOTIgYml0cwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtUlNB
RVNfUEtDUzFfdjFfNTo6cGxhdGZvcm1EZWNyeXB0KGNvbnN0IENyeXB0b0tleVJTQSYga2V5LCBj
b25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNr
LCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spCiB7Ci0gICAgVmVjdG9yPHVpbnQ4X3Q+
IHBsYWluVGV4dCgxMDI0KTsKLSAgICBzaXplX3QgcGxhaW5UZXh0TGVuZ3RoID0gcGxhaW5UZXh0
LnNpemUoKTsKLSAgICBDQ0NyeXB0b3JTdGF0dXMgc3RhdHVzID0gQ0NSU0FDcnlwdG9yRGVjcnlw
dChrZXkucGxhdGZvcm1LZXkoKSwgY2NQS0NTMVBhZGRpbmcsIGRhdGEuZmlyc3QsIGRhdGEuc2Vj
b25kLCBwbGFpblRleHQuZGF0YSgpLCAmcGxhaW5UZXh0TGVuZ3RoLCAwLCAwLCBrQ0NEaWdlc3RO
b25lKTsKLSAgICBpZiAoc3RhdHVzKSB7CisgICAgYXV0byByZXN1bHQgPSBkZWNyeXB0UlNBRVNf
UEtDUzFfdjFfNShrZXkucGxhdGZvcm1LZXkoKSwga2V5LmtleVNpemVJbkJpdHMoKSwgZGF0YS5m
aXJzdCwgZGF0YS5zZWNvbmQpOworICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKICAg
ICAgICAgZmFpbHVyZUNhbGxiYWNrKCk7CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQotCi0g
ICAgcGxhaW5UZXh0LnJlc2l6ZShwbGFpblRleHRMZW5ndGgpOwotICAgIGNhbGxiYWNrKHBsYWlu
VGV4dCk7CisgICAgY2FsbGJhY2socmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKICAgICBy
ZXR1cm4geyB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0Ny
eXB0b0FsZ29yaXRobVJTQV9PQUVQTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMv
Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVBNYWMuY3BwCmluZGV4IGMzNmNlNmM4NGRlOTkyOWIyN2Jl
Y2VmZTVjZjY0ZDRkYmQ5MzcxY2IuLjEyOTI0NjYzMTFiNWY1ZDhiYmU3ZTM3ZTJiMGVhNmRkNzlm
YjUxZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3Jp
dGhtUlNBX09BRVBNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRv
QWxnb3JpdGhtUlNBX09BRVBNYWMuY3BwCkBAIC01Myw2ICs1MywyMyBAQCBzdGF0aWMgRXhjZXB0
aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+PiBlbmNyeXB0UlNBX09BRVAoQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciBoYQogICAgIHJldHVybiBXVEZNb3ZlKGNpcGhlclRleHQpOwogfQogCisvLyBGSVhN
RTogV2Ugc2hvdWxkIGNoYW5nZSBkYXRhIHRvIFZlY3Rvcjx1aW50OF90PiB0eXBlIG9uY2UgV2Vi
S2l0U3VidGxlQ3J5cHRvIGlzIGRlcHJlY2F0ZWQuCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY0OTM5CitzdGF0aWMgRXhjZXB0aW9uT3I8VmVjdG9yPHVpbnQ4
X3Q+PiBkZWNyeXB0UlNBX09BRVAoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBjb25z
dCBWZWN0b3I8dWludDhfdD4mIGxhYmVsLCBjb25zdCBQbGF0Zm9ybVJTQUtleSBrZXksIHNpemVf
dCBrZXlMZW5ndGgsIGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhTGVuZ3RoKQorewor
ICAgIENDRGlnZXN0QWxnb3JpdGhtIGRpZ2VzdEFsZ29yaXRobTsKKyAgICBpZiAoIWdldENvbW1v
bkNyeXB0b0RpZ2VzdEFsZ29yaXRobShoYXNoLCBkaWdlc3RBbGdvcml0aG0pKQorICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgIFZlY3Rvcjx1aW50OF90
PiBwbGFpblRleHQoa2V5TGVuZ3RoIC8gOCk7IC8vIFBlciBTdGVwIDEuYiBvZiBodHRwczovL3Rv
b2xzLmlldGYub3JnL2h0bWwvcmZjMzQ0NyNzZWN0aW9uLTcuMS4xCisgICAgc2l6ZV90IHBsYWlu
VGV4dExlbmd0aCA9IHBsYWluVGV4dC5zaXplKCk7CisgICAgaWYgKENDUlNBQ3J5cHRvckRlY3J5
cHQoa2V5LCBjY09BRVBQYWRkaW5nLCBkYXRhLCBkYXRhTGVuZ3RoLCBwbGFpblRleHQuZGF0YSgp
LCAmcGxhaW5UZXh0TGVuZ3RoLCBsYWJlbC5kYXRhKCksIGxhYmVsLnNpemUoKSwgZGlnZXN0QWxn
b3JpdGhtKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisK
KyAgICBwbGFpblRleHQucmVzaXplKHBsYWluVGV4dExlbmd0aCk7CisgICAgcmV0dXJuIFdURk1v
dmUocGxhaW5UZXh0KTsKK30KKwogdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6cGxhdGZv
cm1FbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBh
cmFtZXRlcnMsIFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4mJiBwbGFpblRl
eHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0
aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFdvcmtRdWV1ZSYg
d29ya1F1ZXVlKQogewogICAgIGNvbnRleHQucmVmKCk7CkBAIC03NCw2ICs5MSwyNyBAQCB2b2lk
IENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpwbGF0Zm9ybUVuY3J5cHQoc3RkOjp1bmlxdWVfcHRy
PENyeXB0b0FsZ29yaXRobVBhcgogICAgIH0pOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobVJT
QV9PQUVQOjpwbGF0Zm9ybURlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnM+JiYgcGFyYW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50
OF90PiYmIGNpcGhlclRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNh
bGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQoreworICAgIGNvbnRleHQucmVmKCk7CisgICAgd29y
a1F1ZXVlLmRpc3BhdGNoKFtwYXJhbWV0ZXJzID0gV1RGTW92ZShwYXJhbWV0ZXJzKSwga2V5ID0g
V1RGTW92ZShrZXkpLCBjaXBoZXJUZXh0ID0gV1RGTW92ZShjaXBoZXJUZXh0KSwgY2FsbGJhY2sg
PSBXVEZNb3ZlKGNhbGxiYWNrKSwgZXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlv
bkNhbGxiYWNrKSwgJmNvbnRleHRdKCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8mIHJzYVBhcmFt
ZXRlcnMgPSBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zPigqcGFyYW1ldGVy
cyk7CisgICAgICAgIGF1dG8mIHJzYUtleSA9IGRvd25jYXN0PENyeXB0b0tleVJTQT4oa2V5Lmdl
dCgpKTsKKyAgICAgICAgYXV0byByZXN1bHQgPSBkZWNyeXB0UlNBX09BRVAocnNhS2V5Lmhhc2hB
bGdvcml0aG1JZGVudGlmaWVyKCksIHJzYVBhcmFtZXRlcnMubGFiZWxWZWN0b3IoKSwgcnNhS2V5
LnBsYXRmb3JtS2V5KCksIHJzYUtleS5rZXlTaXplSW5CaXRzKCksIGNpcGhlclRleHQuZGF0YSgp
LCBjaXBoZXJUZXh0LnNpemUoKSk7CisgICAgICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkp
IHsKKyAgICAgICAgICAgIGNvbnRleHQucG9zdFRhc2soW2V4Y2VwdGlvbkNhbGxiYWNrID0gV1RG
TW92ZShleGNlcHRpb25DYWxsYmFjayksIGVjID0gcmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKS5j
b2RlKCldKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgICAg
ICBleGNlcHRpb25DYWxsYmFjayhlYyk7CisgICAgICAgICAgICAgICAgY29udGV4dC5kZXJlZigp
OworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAg
ICAgY29udGV4dC5wb3N0VGFzayhbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgcmVzdWx0
ID0gcmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0KSB7CisgICAgICAgICAgICBjYWxsYmFjayhyZXN1bHQpOworICAgICAgICAgICAgY29u
dGV4dC5kZXJlZigpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKwogRXhjZXB0aW9uT3I8dm9p
ZD4gQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OnBsYXRmb3JtRW5jcnlwdChjb25zdCBDcnlwdG9B
bGdvcml0aG1Sc2FPYWVwUGFyYW1zRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5cHRv
S2V5UlNBJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZlY3RvckNhbGxi
YWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykKIHsKICAgICBB
U1NFUlQocGFyYW1ldGVycy5oYXNMYWJlbCB8fCBwYXJhbWV0ZXJzLmxhYmVsLmlzRW1wdHkoKSk7
CkBAIC04NiwyNSArMTI0LDE2IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobVJT
QV9PQUVQOjpwbGF0Zm9ybUVuY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtCiAgICAgcmV0dXJu
IHsgfTsKIH0KIAotLy8gRklYTUU6IFdlIHNob3VsZCBnZXQgcmlkIG9mIHRoZSBtYWdpYyBudW1i
ZXIgMTAyNC4gSXQgb25seSBtYWtlcyBzZW5zZSB3aGVuIGtleSBsZW5ndGggPCA4MTkyIGJpdHMK
IEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpwbGF0Zm9ybURlY3J5
cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUnNhT2FlcFBhcmFtc0RlcHJlY2F0ZWQmIHBhcmFtZXRl
cnMsIGNvbnN0IENyeXB0b0tleVJTQSYga2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBk
YXRhLCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2Fs
bGJhY2spCiB7Ci0gICAgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0QWxnb3JpdGhtOwotICAgIGlm
ICghZ2V0Q29tbW9uQ3J5cHRvRGlnZXN0QWxnb3JpdGhtKHBhcmFtZXRlcnMuaGFzaCwgZGlnZXN0
QWxnb3JpdGhtKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5PVF9TVVBQT1JURURfRVJS
IH07Ci0KLSAgICBWZWN0b3I8dWludDhfdD4gcGxhaW5UZXh0KDEwMjQpOwotICAgIHNpemVfdCBw
bGFpblRleHRMZW5ndGggPSBwbGFpblRleHQuc2l6ZSgpOwotICAgIENDQ3J5cHRvclN0YXR1cyBz
dGF0dXMgPSBDQ1JTQUNyeXB0b3JEZWNyeXB0KGtleS5wbGF0Zm9ybUtleSgpLCBjY09BRVBQYWRk
aW5nLCBkYXRhLmZpcnN0LCBkYXRhLnNlY29uZCwgcGxhaW5UZXh0LmRhdGEoKSwgJnBsYWluVGV4
dExlbmd0aCwgcGFyYW1ldGVycy5sYWJlbC5kYXRhKCksIHBhcmFtZXRlcnMubGFiZWwuc2l6ZSgp
LCBkaWdlc3RBbGdvcml0aG0pOwotICAgIGlmIChzdGF0dXMpIHsKKyAgICBBU1NFUlQocGFyYW1l
dGVycy5oYXNMYWJlbCB8fCBwYXJhbWV0ZXJzLmxhYmVsLmlzRW1wdHkoKSk7CisgICAgYXV0byBy
ZXN1bHQgPSBkZWNyeXB0UlNBX09BRVAocGFyYW1ldGVycy5oYXNoLCBwYXJhbWV0ZXJzLmxhYmVs
LCBrZXkucGxhdGZvcm1LZXkoKSwga2V5LmtleVNpemVJbkJpdHMoKSwgZGF0YS5maXJzdCwgZGF0
YS5zZWNvbmQpOworICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKICAgICAgICAgZmFp
bHVyZUNhbGxiYWNrKCk7CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQotCi0gICAgcGxhaW5U
ZXh0LnJlc2l6ZShwbGFpblRleHRMZW5ndGgpOwotICAgIGNhbGxiYWNrKHBsYWluVGV4dCk7Ci0g
ICAgcmV0dXJuIHsgfTsKLX0KKyAgICBjYWxsYmFjayhyZXN1bHQucmVsZWFzZVJldHVyblZhbHVl
KCkpOworICAgIHJldHVybiB7IH07fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA4NGM2MDIzMDMyYzI0ODNhOGFhMDFmMzM2NTkxMGJlNGEzMTM2MzUxLi43ZmJlYTI3Nzc2NWIy
NDJiYjU4ZTA3MDBmMGQ3NzJjMTYzNThlNTQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTYt
MTEtMTggIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRh
dGUgU3VidGxlQ3J5cHRvOjpkZWNyeXB0IHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3BlYworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NzM5CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8yOTI1Nzg0OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9hZXMtY2JjLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5
cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMt
Z2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlw
dG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktZGVjcnlwdC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2RlY3J5cHQtbWFsZm9ybWVkLXBhcmFt
ZXRlcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2RlY3J5
cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9yc2Etb2FlcC1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1kZWNyeXB0LW1hbGZvcm1l
ZC1wYXJhbWV0ZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9h
ZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlw
dC1sYWJlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNh
LW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1sYWJlbC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5
cHQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQt
a2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxl
L3JzYS1vYWVwLWltcG9ydC1rZXktZGVjcnlwdC1sYWJlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LWxhYmVs
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtl
eS1kZWNyeXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhZXMtcGtj
czEtdjFfNS1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWtleS1l
bmNyeXB0LWRlY3J5cHQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Fl
cy1wa2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQta2V5LWRlY3J5cHQu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jYmMtaW1w
b3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dv
cmtlcnMvc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNiYy1pbXBvcnQta2V5
LWRlY3J5cHQuanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNv
dXJjZXMvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBj
cnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL3JzYWVzLXBrY3MxLXYxXzUtaW1wb3J0LWtl
eS1kZWNyeXB0LmpzOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNh
LW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktZGVjcnlwdC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1p
bXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
d29ya2Vycy9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbDog
QWRkZWQuCisKIDIwMTYtMTEtMTcgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBVcGRhdGUgU3VidGxlQ3J5cHRvOjplbmNyeXB0IHRvIG1hdGNoIHRoZSBsYXRl
c3Qgc3BlYwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOGI0ZWJmMmM5MmRhMTg3
ZWE3YWE4OWE0MTc4NWU1M2FlMGUxMjI2Ny4uNTE3NGI2Y2M5ZTFlZGQ0NDNkNGQxOTNhZmQxMjgy
NjBjZGJlMWEzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTYtMTEtMTggIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBVcGRhdGUgU3VidGxlQ3J5cHRvOjpkZWNyeXB0IHRvIG1hdGNoIHRoZSBsYXRlc3Qgc3Bl
YworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NzM5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTI1Nzg0OD4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNyeXB0b0FQSS9lbmNyeXB0X2RlY3J5
cHQvdGVzdF9hZXNfY2JjLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBXZWJDcnlwdG9BUEkvaWRs
aGFybmVzcy1leHBlY3RlZC50eHQ6CisKIDIwMTYtMTEtMTcgIEppZXdlbiBUYW4gIDxqaWV3ZW5f
dGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgU3VidGxlQ3J5cHRvOjplbmNyeXB0IHRv
IG1hdGNoIHRoZSBsYXRlc3Qgc3BlYwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9hZXMtY2JjLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFt
ZXRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwMmYwZjliYmYzZGQxMjU5ZmZhMmEyZmU3
ZjVlNWMwMWU1OTU2MmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMiBAQAorVGVzdCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DQkMgd2l0aCBtYWxmb3Jt
ZWQgcGFyYW1ldGVycworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcnlw
dG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5
KCIiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25F
cnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVy
YXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6
ICJhZXMtY2JjIiwgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIGNpcGhlclRleHQp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQp
OiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4K
K1BBU1MgY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRv
VWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lwaGVyVGV4dCkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2VwdGlvbiAzNCk6IFRoZSBv
cGVyYXRpb24gZmFpbGVkIGZvciBhbiBvcGVyYXRpb24tc3BlY2lmaWMgcmVhc29uLgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJh
bWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1t
YWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwNDY0ODQzNDE4MzgxMzM2ODFl
M2NmM2VhNmJmZDMyMWI1ZTcwNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCkBAIC0w
LDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3QgZGVjcnlwdGluZyB1c2luZyBBRVMtQ0JDIHdpdGggbWFsZm9y
bWVkIHBhcmFtZXRlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0
YWJsZSA9IGZhbHNlOwordmFyIGNpcGhlclRleHQgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjJm
ZmE0NjE4Nzg0ZGZkNDE0YjIyYzQwYzYzMzBkMDIyIik7Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1Vp
bnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXko
InJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0Il0pLnRoZW4o
ZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0gcmVzdWx0OworICAgIC8vIFdyb25nIGl2IGxl
bmd0aAorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVz
LWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiIil9LCBrZXksIGNpcGhlclRleHQpJyk7Cisg
ICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwg
aXY6IGFzY2lpVG9VaW50OEFycmF5KCJqIil9LCBrZXksIGNpcGhlclRleHQpJyk7CisgICAgc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6ICJhZXMtY2JjIiwgaXY6IGFz
Y2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yZCIpfSwga2V5LCBjaXBoZXJUZXh0KScp
OworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5l
cmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NjRmNmVkZmQwYzRiNzcyYmM4ODEwNDI2Y2IwMTliMzdlZjVkZmM5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVy
YXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rl
c3QgZW5jcnlwdGluZyZkZWNyeXB0aW5nIHVzaW5nIEFFUy1DQkMgYWxnb3JpdGhtIHdpdGggYSBn
ZW5lcmF0ZWQgMjU2Yml0IGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2Vu
ZXJhdGluZyBhIGtleS4uLgorRW5jcnlwdGluZy4uLgorRGVjcnlwdGluZy4uLgorUEFTUyBieXRl
c1RvQVNDSUlTdHJpbmcoZGVjcnlwdGVkVGV4dCkgaXMgcGxhaW5UZXh0CitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQu
aHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1rZXktZW5j
cnlwdC1kZWNyeXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWM4NWNiNDFhOTc0Yzk2NTkyYmE1YzE5Y2Rj
MTIwY2JmNDUyOGQzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvYWVzLWNiYy1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWwKQEAgLTAsMCArMSw0
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbigiVGVzdCBlbmNyeXB0aW5nJmRlY3J5cHRpbmcgdXNpbmcgQUVTLUNCQyBhbGdvcml0
aG0gd2l0aCBhIGdlbmVyYXRlZCAyNTZiaXQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVl
OwordmFyIHBsYWluVGV4dCA9ICJIZWxsbywgV29ybGQhIjsKK3ZhciBhZXNDYmNQYXJhbXMgPSB7
CisgICAgbmFtZTogImFlcy1jYmMiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5
b09aRkxJRVBNciIpLAorfQorCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRv
LnN1YnRsZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6IDI1Nn0sIHRydWUs
IFsiZGVjcnlwdCIsICJlbmNyeXB0Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5
ID0gcmVzdWx0OworICAgIGRlYnVnKCJFbmNyeXB0aW5nLi4uIik7CisgICAgcmV0dXJuIGNyeXB0
by5zdWJ0bGUuZW5jcnlwdChhZXNDYmNQYXJhbXMsIGtleSwgYXNjaWlUb1VpbnQ4QXJyYXkocGxh
aW5UZXh0KSk7Cit9KS50aGVuKGZ1bmN0aW9uKGNpcGhlclRleHQpIHsKKyAgICBkZWJ1ZygiRGVj
cnlwdGluZy4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5cHQoYWVzQ2JjUGFy
YW1zLCBrZXksIGNpcGhlclRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBk
ZWNyeXB0ZWRUZXh0ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0cmlu
ZyhkZWNyeXB0ZWRUZXh0KSIsICJwbGFpblRleHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOwor
fSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS1kZWNyeXB0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xM2Y0M2NlZGQ4NzdkMDYxZTQyY2E2MDExMmU3MTdhOTAw
YWEzMzZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMt
Y2JjLWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVz
dCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DQkMgd2l0aCBhbiBpbXBvcnRlZCAxMjhiaXQga2V5CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyhw
bGFpblRleHQpIGlzIGV4cGVjdGVkUGxhaW5UZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktZGVjcnlwdC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUx
NTY1ZjFjMzVmNTc4YzlmMmQ2ZTA1YTk2NTU5NjY3MjAwYjcwNGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS1kZWNyeXB0Lmh0
bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisK
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBkZWNyeXB0aW5nIHVzaW5nIEFFUy1DQkMgd2l0
aCBhbiBpbXBvcnRlZCAxMjhiaXQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2
YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciBjaXBoZXJUZXh0ID0gaGV4U3RyaW5nVG9VaW50
OEFycmF5KCIyZmZhNDYxODc4NGRmZDQxNGIyMmM0MGM2MzMwZDAyMiIpOwordmFyIGFlc0NiY1Bh
cmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNiYyIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5
KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXko
ImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBleHBlY3RlZFBsYWluVGV4dCA9ICJIZWxsbywgV29y
bGQhIjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMi
LCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0
dXJuIGNyeXB0by5zdWJ0bGUuZGVjcnlwdChhZXNDYmNQYXJhbXMsIGtleSwgY2lwaGVyVGV4dCk7
Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHBsYWluVGV4dCA9IHJlc3VsdDsKKwor
ICAgIHNob3VsZEJlKCJieXRlc1RvQVNDSUlTdHJpbmcocGxhaW5UZXh0KSIsICJleHBlY3RlZFBs
YWluVGV4dCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZGVj
cnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2RlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk1ZGEzNjk3ODZmZjI2Njc5NzNiZWYzNjIwNjIyNzNkMWE3ZjA0MDIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2RlY3J5cHQtbWFsZm9ybWVkLXBh
cmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3QgZGVjcnlwdGluZyB3
aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCgpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5kZWNyeXB0
KDEpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5kZWNyeXB0KDEsIDIpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS5k
ZWNyeXB0KGFlc0NiY1BhcmFtcywgd3JvbmdLZXksIGNpcGhlclRleHQpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggSW52YWxpZEFjY2Vzc0Vycm9yIChET00gRXhjZXB0aW9uIDE1KTogQ3J5cHRvS2V5
IGRvZXNuJ3QgbWF0Y2ggQWxnb3JpdGhtSWRlbnRpZmllci4KK1BBU1MgY3J5cHRvLnN1YnRsZS5k
ZWNyeXB0KGFlc0NiY1BhcmFtcywgd3JvbmdLZXksIGNpcGhlclRleHQpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggSW52YWxpZEFjY2Vzc0Vycm9yIChET00gRXhjZXB0aW9uIDE1KTogQ3J5cHRvS2V5
IGRvZXNuJ3Qgc3VwcG9ydCBkZWNyeXB0aW9uLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMvY3J5
cHRvL3N1YnRsZS9kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTE5MjU3YjFiMDIzNzExZGFmZjQzN2EwM2VmMWUzMDEyODcyMTM0ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVy
cy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZGVjcnlwdGluZyB3aXRoIG1hbGZvcm1l
ZCBwYXJhbWV0ZXJzIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFi
bGUgPSBmYWxzZTsKK3ZhciBjaXBoZXJUZXh0ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCIyZmZh
NDYxODc4NGRmZDQxNGIyMmM0MGM2MzMwZDAyMiIpOwordmFyIGFlc0NiY1BhcmFtcyA9IHsKKyAg
ICBuYW1lOiAiYWVzLWNiYyIsCisgICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pG
TElFUE1yIiksCit9Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZM
SUVQTXIiKTsKKworLy8gTm90IGVub3VnaCBhcmd1bWVudHMuCitzaG91bGRSZWplY3QoJ2NyeXB0
by5zdWJ0bGUuZGVjcnlwdCgpJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVjcnlw
dCgxKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlY3J5cHQoMSwgMiknKTsKKwor
Y3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1rdyIsIGV4dHJhY3Rh
YmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Cisg
ICAgd3JvbmdLZXkgPSByZXN1bHQ7CisgICAgLy8gV3JvbmcgYWxnb3JpdGhtIGlkZW50aWZpZXIu
CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlY3J5cHQoYWVzQ2JjUGFyYW1zLCB3
cm9uZ0tleSwgY2lwaGVyVGV4dCknKTsKKworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmltcG9y
dEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAi
dW53cmFwS2V5Il0pOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB3cm9uZ0tleSA9
IHJlc3VsdDsKKyAgICAvLyBXcm9uZyB1c2FnZS4KKyAgICByZXR1cm4gc2hvdWxkUmVqZWN0KCdj
cnlwdG8uc3VidGxlLmRlY3J5cHQoYWVzQ2JjUGFyYW1zLCB3cm9uZ0tleSwgY2lwaGVyVGV4dCkn
KTsKK30pLnRoZW4oZmluaXNoSlNUZXN0KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZGVjcnlw
dC1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL3JzYS1vYWVwLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQxOWRmZmY1YTU3N2ZlZTAzNWRhNDY2YzhhMzhhOTgwYjFjYmQ2ODUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWRlY3J5
cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rl
c3QgZGVjcnlwdGluZyB1c2luZyBSU0EtT0FFUCB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlw
dChyc2FPYWVwUGFyYW1zLCBrZXksIGNpcGhlclRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
T3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBm
b3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL3JzYS1vYWVwLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1l
dGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxMWNjODk2NDRkMmU2MmQ0YjY5ZTgwZjQyMDAyOWVkZjdj
Yzc1ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1v
YWVwLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApAQCAtMCwwICsxLDUwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
Y29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgUlNBLU9BRVAgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVy
cyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7
Cit2YXIgY2lwaGVyVGV4dCA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiMzQ2ZGM4ZjNhMTU4ZTQ5
NDAwNGNmODJjMDg0M2FiMWMxZTdhNjEyMjYzYTFjNDRkOTQxMzA5MTc1YTNkMjU5ODk5N2JlNjUx
ZjJkMzQxOWY4OTkyMzg0M2NhMzQ0NDE0ZDQ1OTg5ZTg4NmFhYTc5NTczZDk2ZDRmM2Y3NzdhZjNi
MmU5ZmNkNDRiNTFjMDBhOGU0Mzk1YmY1NGFjODlkODg1NTljNzEyZDQ5ODUzZGU0NDhlMTkwZmFk
ODg2YzQ1ZmEwNzQyZjJkZGYxOGU1ZjYxNTVlYjdmMzgzNDgyMTdlZmQ2N2MxNGVmMTQxZTgxZjNi
MWMxODA0YjNiYjQzN2VmMWIyM2EyNWRhZGI1OTQ5ODVjNTAwMTgxMjA4Yzc0Y2QyMDY4Y2JmZGNj
YzAyZGI3MTEzZWQ1ZTcyZDdhMzU0M2E3OGVjOWMyMDcwNzE1ZTQwOWFiMTA2ODc3NjIzNThmNzg2
YzY2OWU1OTJlNDY3MTA3YTEzY2FhYWFkYzNjMzQxZmFjZjI0OWJhZjc0M2EzYjkzYzQ5ZjczZWE1
NjM0MDUyZjFhNmVlNDYyNjVlMDIzOTFkZDJjYmNkNGE1MjNiZmVlODMyMTQ3MDI3OWZmZjYzYjg3
YTRhNTM0NjViNDczNmZiMzFlZTk5ZTliMDM3OTc2MWYzZTYzMGY2MzYiKTsKK3ZhciBqd2tLZXkg
PSB7CisgICAga3R5OiAiUlNBIiwKKyAgICBhbGc6ICJSU0EtT0FFUCIsCisgICAgdXNlOiAiZW5j
IiwKKyAgICBrZXlfb3BzOiBbImRlY3J5cHQiLCAidW53cmFwS2V5Il0sCisgICAgZXh0OiB0cnVl
LAorICAgIG46ICJseEhOME45VlJaMF9wbDB4djMtTlh4NzBXbmprT0RTa1E1TGpIWFRGeTNET1Fz
dmthZ0Z6RDlIcVlRZXpDbWNld0xqZEs1UEx3U2VzRG9NZGZMNnR1c0JIY3Z5aXQxa3Z5ZFlGUTNO
TGJFTk5rWXNpQkc1X25XNElRR0w2SktiWjVpR2RVb3A5OFFIS202WVpSMXU0enJBdHhNNmJWRW8w
NVZ2aGpSUzBNOHlXb1pWaS03VmRzYzBMcUkwUWRxX05vY3RYNUZ1LUFxaUJON1VvMUhrWUdjUDJv
QzgySl9KNWNqdzk4QlFpUDVrRFdUaHE5UkstWDZTLUVVQUx4X200aUc2aU9ZS1RBM1NReWYxeEJx
RmFYWG9FSmpjY2tiT3FrZWdlY3o1Yi1ZV1VoOGlaUHZod250LVJad3BJYkxKZ0t3ejE5bmRrbjlL
dm9FRXc3WWJFb3ciLAorICAgIGU6ICJBUUFCIiwKKyAgICBkOiAiY2o1RGtEYWtqTTJiS2R1R1dK
UkVPLV96eUV0dUExZEQ5ZG9xS01kN0lSdUEwQ0RTN3B1RUFTMjAtb1hSRHdmbXlNWEVkRVVEckdH
dEN4aDZmekRQdnNfVC1KQTNHVUs0RWdIbzN4WmNybFhEWGxLQ2VpbDZGbnIwZ0lTWk9JaDVka0Jy
Y2RWTDRxdUJKZTRaWmM1bVZ1QUM3TGQxM2V0MFR4TUo0aUFMR3JQdXFQVlVPR1NZSWNaOWlkeDV6
S0tCV2hZM3RQZ2dFZEtwbkhCbVBmVFJPNHlaYWYwTncxUVhyZ1NNWlk5ZWpldWF1ckFoNFE4bzQt
Ni1yOE8yTFVlN3VmTWhfY2NLa1hJU0VoNEtkT25UMTdFTTlCUVRuOVVOUzlHb0syWlpVMFUzaW81
RFN1X2twYXNyNHVPVldjR2xFMndjek92Mm5rR3dHMzlGM3NGRjBRIiwKKyAgICBwOiAieDV2bmNv
NWotVEQ2aFRPenlONERoa1o0NG0wNU55Y3hUNlNVRTJxVHVyVDMtdXplX0w3VFl1dExSSVJrb3ZS
TWhUSFpBcjJwemlSbGFzRXMxM1BFejladngxSV9UNjhzcnNvbnJkYmFrLVNGTWVjTTdFakhjNUMt
SjEzZ1hodzlISVcyOF9TeDlyUS1Ka0d3RXdFOVBFZElVZnV2ZHFwZ2gzU21Yd1BKckVzIiwKKyAg
ICBxOiAid2I5dmxsZ18ybi1rTmdlMGJUaGdfN3h1MVV3VHppcE04dnhTVWtrVjJJaXBKS0lBZWtr
VTNhQUI4TG9QaFVJMC0xN3BTR3czRVRPTzI3dDE2M1RJOXFJUHB6TGJoVEg5YVVpN3FMR2JLbHpQ
bGducVA0M1owTEh4YzN4S0RnaXQtQXIyOVFMYVgydW9KQlg2VlZXdmhtaDdCSVBESE5WTTVHWmp3
V09SWWdrIiwKKyAgICBkcDogIkMyYzhzYTZ3eDJ1azVEY3Y3aW5BeWNyODNQS2djaVlyQ3dHNzgt
QUMwSWZHSXUtbFRZc1pTRzFvdjJGUTNuNVdZTVdZUUNfVm81RXd1Z2lQSnpfVjNvbkJtUUY1M0hP
RmVmYlNqWHZZd05vdFFjeVJVRzVYOXFJdU90R0NIOTQ5SDRRRUQ2dktfdTBOSC1KZ3pMVWxhbXdv
Rlliclh6d2NoNkNDWUtzMnVrRSIsCisgICAgZHE6ICJoYnRSbG9ETGNsSHdVcXIyeXZ6RFYwSUZi
b3pZanRGNzA2eC1WZlhFY25YQjZsczM0VEJZaXJGTEpaSUg3SDlLZXNlRVZrejdwWV9rNTU1NVFs
Q1Y5a2JlYnhZWGw5UnRpaUotQlc2eUg0ZDRjYVBlWUlmVTlNd2VVUXhWUVdLVVVrV2ZPSGNEckNG
dktabFI5Vnp6anQ3SEt0S1g5bXIwYkNLUWNJZjliYUUiLAorICAgIHFpOiAiYS03aFVUVG5jbFVQ
S09mU2dIOHpFS0dKLUF2ZEZFenh2WjVzcTQ2UWYyTWJPUnhWak40ZEphbVZ2TS1Gb3Fjd04tOWN1
VWx5cjliU0ZUd1VCVzR2WGE4WGo5YThKZlZpdU1DcXpSLW1MMXJHSVVRNUFSR2hOY1NzUmx5S1Rx
ejVCbFdsVkttWEl4X3AtRGVWd1BXaUpKeTRrX0ZxeUJ4cm54a3pvbUhmcnhrIiwKK307Cit2YXIg
cnNhT2FlcFBhcmFtcyA9IHsKKyAgICBuYW1lOiAicnNhLW9hZXAiLAorICAgIC8vIFdyb25nIGxh
YmVsLiBDb3JyZWN0IG9uZSBpcyAiV2ViS2l0Lm9yZyIKKyAgICBsYWJlbDogYXNjaWlUb1VpbnQ4
QXJyYXkoImFwcGxlLmNvbSIpLAorfQorCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwg
andrS2V5LCB7bmFtZTogIlJTQS1PQUVQIiwgaGFzaDogIlNIQS0xIn0sIGV4dHJhY3RhYmxlLCBb
ImRlY3J5cHQiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisK
KyAgICAvLyBXcm9uZyBsYWJlbC4KKyAgICBzaG91bGRSZWplY3QoImNyeXB0by5zdWJ0bGUuZGVj
cnlwdChyc2FPYWVwUGFyYW1zLCBrZXksIGNpcGhlclRleHQpIikudGhlbihmaW5pc2hKU1Rlc3Qp
OworfSk7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5
cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5l
cmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTdhM2Ez
MTkxOGQzYmJjN2IzYjgxZGYyODkxNTA2YjIyNmVjODM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNy
eXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUZXN0IGVuY3J5cHRpbmcmZGVjcnlw
dGluZyB1c2luZyBSU0EtT0FFUCBTSEEtNTEyIGFsZ29yaXRobSB3aXRoIGEgZ2VuZXJhdGVkIGtl
eQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworR2VuZXJhdGluZyBhIGtleS4uLgor
RW5jcnlwdGluZy4uLgorRGVjcnlwdGluZy4uLgorUEFTUyBieXRlc1RvQVNDSUlTdHJpbmcoZGVj
cnlwdGVkVGV4dCkgaXMgcGxhaW5UZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWxhYmVsLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5
cHQtZGVjcnlwdC1sYWJlbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVjNDllZjk3NjExODE4
MWRmOTJlNzA1MDRmNmFkY2M2NmQ3MmU0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1sYWJl
bC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdCBlbmNyeXB0aW5nJmRlY3J5cHRp
bmcgdXNpbmcgUlNBLU9BRVAgU0hBLTUxMiBhbGdvcml0aG0gd2l0aCBhIGdlbmVyYXRlZCBrZXkg
YW5kIGEgbGFiZWwKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcg
YSBrZXkuLi4KK0VuY3J5cHRpbmcuLi4KK0RlY3J5cHRpbmcuLi4KK1BBU1MgYnl0ZXNUb0FTQ0lJ
U3RyaW5nKGRlY3J5cHRlZFRleHQpIGlzIHBsYWluVGV4dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1sYWJlbC5o
dG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5j
cnlwdC1kZWNyeXB0LWxhYmVsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjE2YjAwYjAzMmNmZTAyMzVjY2U3
YjVlMGQwYmQ3MTViZmMyN2MwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1sYWJlbC5odG1s
CkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZW5jcnlwdGluZyZkZWNyeXB0aW5nIHVzaW5nIFJT
QS1PQUVQIFNIQS01MTIgYWxnb3JpdGhtIHdpdGggYSBnZW5lcmF0ZWQga2V5IGFuZCBhIGxhYmVs
Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwordmFyIHBsYWluVGV4dCA9ICJIZWxsbywgV29y
bGQhIjsKK3ZhciBhbGdvcml0aG1LZXlHZW4gPSB7CisgICAgbmFtZTogIlJTQS1PQUVQIiwKKyAg
ICAvLyBSc2FLZXlHZW5QYXJhbXMKKyAgICBtb2R1bHVzTGVuZ3RoOiAyMDQ4LAorICAgIHB1Ymxp
Y0V4cG9uZW50OiBuZXcgVWludDhBcnJheShbMHgwMSwgMHgwMCwgMHgwMV0pLCAgLy8gRXF1aXZh
bGVudCB0byA2NTUzNworICAgIGhhc2g6ICJzaGEtNTEyIgorfTsKK3ZhciByc2FPYWVwUGFyYW1z
ID0geworICAgIG5hbWU6ICJyc2Etb2FlcCIsCisgICAgbGFiZWw6IGFzY2lpVG9VaW50OEFycmF5
KCJXZWJLaXQub3JnIiksCit9CisKK2RlYnVnKCJHZW5lcmF0aW5nIGEga2V5Li4uIik7Citjcnlw
dG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwgdHJ1ZSwgWyJkZWNyeXB0Iiwg
ImVuY3J5cHQiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXlQYWlyID0gcmVzdWx0
OworICAgIGRlYnVnKCJFbmNyeXB0aW5nLi4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUu
ZW5jcnlwdChyc2FPYWVwUGFyYW1zLCBrZXlQYWlyLnB1YmxpY0tleSwgYXNjaWlUb1VpbnQ4QXJy
YXkocGxhaW5UZXh0KSk7Cit9KS50aGVuKGZ1bmN0aW9uKGNpcGhlclRleHQpIHsKKyAgICBkZWJ1
ZygiRGVjcnlwdGluZy4uLiIpOworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5cHQocnNh
T2FlcFBhcmFtcywga2V5UGFpci5wcml2YXRlS2V5LCBjaXBoZXJUZXh0KTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAgZGVjcnlwdGVkVGV4dCA9IHJlc3VsdDsKKworICAgIHNob3Vs
ZEJlKCJieXRlc1RvQVNDSUlTdHJpbmcoZGVjcnlwdGVkVGV4dCkiLCAicGxhaW5UZXh0Iik7CisK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUt
a2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Et
b2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzk5MjYy
YjhjNmJkZTIyNTcxNGEzNTE5ODhmZTY2Y2QyNWEwODYxYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVj
cnlwdC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZW5jcnlwdGluZyZkZWNyeXB0aW5n
IHVzaW5nIFJTQS1PQUVQIFNIQS01MTIgYWxnb3JpdGhtIHdpdGggYSBnZW5lcmF0ZWQga2V5Iik7
CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwordmFyIHBsYWluVGV4dCA9ICJIZWxsbywgV29ybGQh
IjsKK3ZhciBhbGdvcml0aG1LZXlHZW4gPSB7CisgICAgbmFtZTogIlJTQS1PQUVQIiwKKyAgICAv
LyBSc2FLZXlHZW5QYXJhbXMKKyAgICBtb2R1bHVzTGVuZ3RoOiAyMDQ4LAorICAgIHB1YmxpY0V4
cG9uZW50OiBuZXcgVWludDhBcnJheShbMHgwMSwgMHgwMCwgMHgwMV0pLCAgLy8gRXF1aXZhbGVu
dCB0byA2NTUzNworICAgIGhhc2g6ICJzaGEtNTEyIgorfTsKK3ZhciByc2FPYWVwUGFyYW1zID0g
eworICAgIG5hbWU6ICJyc2Etb2FlcCIKK30KKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4i
KTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoYWxnb3JpdGhtS2V5R2VuLCB0cnVlLCBbImRl
Y3J5cHQiLCAiZW5jcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleVBhaXIg
PSByZXN1bHQ7CisgICAgZGVidWcoIkVuY3J5cHRpbmcuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRv
LnN1YnRsZS5lbmNyeXB0KHJzYU9hZXBQYXJhbXMsIGtleVBhaXIucHVibGljS2V5LCBhc2NpaVRv
VWludDhBcnJheShwbGFpblRleHQpKTsKK30pLnRoZW4oZnVuY3Rpb24oY2lwaGVyVGV4dCkgewor
ICAgIGRlYnVnKCJEZWNyeXB0aW5nLi4uIik7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZGVj
cnlwdChyc2FPYWVwUGFyYW1zLCBrZXlQYWlyLnByaXZhdGVLZXksIGNpcGhlclRleHQpOworfSku
dGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBkZWNyeXB0ZWRUZXh0ID0gcmVzdWx0OworCisg
ICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0cmluZyhkZWNyeXB0ZWRUZXh0KSIsICJwbGFpblRl
eHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1p
bXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQz
ZDNiNWVhZjk0ZGE5ZDFjMTRmZTc5MWFhNGU1M2MxZTc5MTNjNDMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktZGVjcnlwdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCBkZWNyeXB0aW5nIHVzaW5nIFJTQS1P
QUVQIFNIQS0xIHdpdGggYW4gaW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyhwbGFpblRleHQpIGlzIGV4cGVjdGVkUGxh
aW5UZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQt
a2V5LWRlY3J5cHQtbGFiZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRs
ZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQtbGFiZWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY5ODYxYjNiMTViMmFhNjM5MTNlOGE4NTViOTJmODY4MGM4N2UzYmQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktZGVj
cnlwdC1sYWJlbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCBkZWNyeXB0aW5n
IHVzaW5nIFJTQS1PQUVQIFNIQS0xIHdpdGggYW4gaW1wb3J0ZWQga2V5IGFuZCBhIGxhYmVsCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyhw
bGFpblRleHQpIGlzIGV4cGVjdGVkUGxhaW5UZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQtbGFiZWwuaHRtbCBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LWxhYmVsLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmE5ZDM2ZWUyNzMxZTMyMzk0ZDNjMzQ2OGYwMmUwNGFmODlkN2E2OQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0
LWtleS1kZWNyeXB0LWxhYmVsLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBkZWNyeXB0
aW5nIHVzaW5nIFJTQS1PQUVQIFNIQS0xIHdpdGggYW4gaW1wb3J0ZWQga2V5IGFuZCBhIGxhYmVs
Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsK
K3ZhciBjaXBoZXJUZXh0ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCIzNDZkYzhmM2ExNThlNDk0
MDA0Y2Y4MmMwODQzYWIxYzFlN2E2MTIyNjNhMWM0NGQ5NDEzMDkxNzVhM2QyNTk4OTk3YmU2NTFm
MmQzNDE5Zjg5OTIzODQzY2EzNDQ0MTRkNDU5ODllODg2YWFhNzk1NzNkOTZkNGYzZjc3N2FmM2Iy
ZTlmY2Q0NGI1MWMwMGE4ZTQzOTViZjU0YWM4OWQ4ODU1OWM3MTJkNDk4NTNkZTQ0OGUxOTBmYWQ4
ODZjNDVmYTA3NDJmMmRkZjE4ZTVmNjE1NWViN2YzODM0ODIxN2VmZDY3YzE0ZWYxNDFlODFmM2Ix
YzE4MDRiM2JiNDM3ZWYxYjIzYTI1ZGFkYjU5NDk4NWM1MDAxODEyMDhjNzRjZDIwNjhjYmZkY2Nj
MDJkYjcxMTNlZDVlNzJkN2EzNTQzYTc4ZWM5YzIwNzA3MTVlNDA5YWIxMDY4Nzc2MjM1OGY3ODZj
NjY5ZTU5MmU0NjcxMDdhMTNjYWFhYWRjM2MzNDFmYWNmMjQ5YmFmNzQzYTNiOTNjNDlmNzNlYTU2
MzQwNTJmMWE2ZWU0NjI2NWUwMjM5MWRkMmNiY2Q0YTUyM2JmZWU4MzIxNDcwMjc5ZmZmNjNiODdh
NGE1MzQ2NWI0NzM2ZmIzMWVlOTllOWIwMzc5NzYxZjNlNjMwZjYzNiIpOwordmFyIGp3a0tleSA9
IHsKKyAgICBrdHk6ICJSU0EiLAorICAgIGFsZzogIlJTQS1PQUVQIiwKKyAgICB1c2U6ICJlbmMi
LAorICAgIGtleV9vcHM6IFsiZGVjcnlwdCIsICJ1bndyYXBLZXkiXSwKKyAgICBleHQ6IHRydWUs
CisgICAgbjogImx4SE4wTjlWUlowX3BsMHh2My1OWHg3MFduamtPRFNrUTVMakhYVEZ5M0RPUXN2
a2FnRnpEOUhxWVFlekNtY2V3TGpkSzVQTHdTZXNEb01kZkw2dHVzQkhjdnlpdDFrdnlkWUZRM05M
YkVOTmtZc2lCRzVfblc0SVFHTDZKS2JaNWlHZFVvcDk4UUhLbTZZWlIxdTR6ckF0eE02YlZFbzA1
VnZoalJTME04eVdvWlZpLTdWZHNjMExxSTBRZHFfTm9jdFg1RnUtQXFpQk43VW8xSGtZR2NQMm9D
ODJKX0o1Y2p3OThCUWlQNWtEV1RocTlSSy1YNlMtRVVBTHhfbTRpRzZpT1lLVEEzU1F5ZjF4QnFG
YVhYb0VKamNja2JPcWtlZ2VjejViLVlXVWg4aVpQdmh3bnQtUlp3cEliTEpnS3d6MTluZGtuOUt2
b0VFdzdZYkVvdyIsCisgICAgZTogIkFRQUIiLAorICAgIGQ6ICJjajVEa0Rha2pNMmJLZHVHV0pS
RU8tX3p5RXR1QTFkRDlkb3FLTWQ3SVJ1QTBDRFM3cHVFQVMyMC1vWFJEd2ZteU1YRWRFVURyR0d0
Q3hoNmZ6RFB2c19ULUpBM0dVSzRFZ0hvM3haY3JsWERYbEtDZWlsNkZucjBnSVNaT0loNWRrQnJj
ZFZMNHF1QkplNFpaYzVtVnVBQzdMZDEzZXQwVHhNSjRpQUxHclB1cVBWVU9HU1lJY1o5aWR4NXpL
S0JXaFkzdFBnZ0VkS3BuSEJtUGZUUk80eVphZjBOdzFRWHJnU01aWTllamV1YXVyQWg0UThvNC02
LXI4TzJMVWU3dWZNaF9jY0trWElTRWg0S2RPblQxN0VNOUJRVG45VU5TOUdvSzJaWlUwVTNpbzVE
U3Vfa3Bhc3I0dU9WV2NHbEUyd2N6T3YybmtHd0czOUYzc0ZGMFEiLAorICAgIHA6ICJ4NXZuY281
ai1URDZoVE96eU40RGhrWjQ0bTA1TnljeFQ2U1VFMnFUdXJUMy11emVfTDdUWXV0TFJJUmtvdlJN
aFRIWkFyMnB6aVJsYXNFczEzUEV6OVp2eDFJX1Q2OHNyc29ucmRiYWstU0ZNZWNNN0VqSGM1Qy1K
MTNnWGh3OUhJVzI4X1N4OXJRLUprR3dFd0U5UEVkSVVmdXZkcXBnaDNTbVh3UEpyRXMiLAorICAg
IHE6ICJ3Yjl2bGxnXzJuLWtOZ2UwYlRoZ183eHUxVXdUemlwTTh2eFNVa2tWMklpcEpLSUFla2tV
M2FBQjhMb1BoVUkwLTE3cFNHdzNFVE9PMjd0MTYzVEk5cUlQcHpMYmhUSDlhVWk3cUxHYktselBs
Z25xUDQzWjBMSHhjM3hLRGdpdC1BcjI5UUxhWDJ1b0pCWDZWVld2aG1oN0JJUERITlZNNUdaandX
T1JZZ2siLAorICAgIGRwOiAiQzJjOHNhNnd4MnVrNURjdjdpbkF5Y3I4M1BLZ2NpWXJDd0c3OC1B
QzBJZkdJdS1sVFlzWlNHMW92MkZRM241V1lNV1lRQ19WbzVFd3VnaVBKel9WM29uQm1RRjUzSE9G
ZWZiU2pYdll3Tm90UWN5UlVHNVg5cUl1T3RHQ0g5NDlINFFFRDZ2S191ME5ILUpnekxVbGFtd29G
WWJyWHp3Y2g2Q0NZS3MydWtFIiwKKyAgICBkcTogImhidFJsb0RMY2xId1VxcjJ5dnpEVjBJRmJv
ellqdEY3MDZ4LVZmWEVjblhCNmxzMzRUQllpckZMSlpJSDdIOUtlc2VFVmt6N3BZX2s1NTU1UWxD
VjlrYmVieFlYbDlSdGlpSi1CVzZ5SDRkNGNhUGVZSWZVOU13ZVVReFZRV0tVVWtXZk9IY0RyQ0Z2
S1psUjlWenpqdDdIS3RLWDltcjBiQ0tRY0lmOWJhRSIsCisgICAgcWk6ICJhLTdoVVRUbmNsVVBL
T2ZTZ0g4ekVLR0otQXZkRkV6eHZaNXNxNDZRZjJNYk9SeFZqTjRkSmFtVnZNLUZvcWN3Ti05Y3VV
bHlyOWJTRlR3VUJXNHZYYThYajlhOEpmVml1TUNxelItbUwxckdJVVE1QVJHaE5jU3NSbHlLVHF6
NUJsV2xWS21YSXhfcC1EZVZ3UFdpSkp5NGtfRnF5Qnhybnhrem9tSGZyeGsiLAorfTsKK3ZhciBy
c2FPYWVwUGFyYW1zID0geworICAgIG5hbWU6ICJyc2Etb2FlcCIsCisgICAgbGFiZWw6IGFzY2lp
VG9VaW50OEFycmF5KCJXZWJLaXQub3JnIiksCit9Cit2YXIgZXhwZWN0ZWRQbGFpblRleHQgPSAi
SGVsbG8sIFdvcmxkISI7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tLZXks
IHtuYW1lOiAiUlNBLU9BRVAiLCBoYXNoOiAiU0hBLTEifSwgZXh0cmFjdGFibGUsIFsiZGVjcnlw
dCJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5
cHQocnNhT2FlcFBhcmFtcywga2V5LCBjaXBoZXJUZXh0KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVz
dWx0KSB7CisgICAgcGxhaW5UZXh0ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9B
U0NJSVN0cmluZyhwbGFpblRleHQpIiwgImV4cGVjdGVkUGxhaW5UZXh0Iik7CisKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktZGVj
cnlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3ZmM2ODM0Njk2OTgwZDUwY2ZiOWUzMzc3Y2I4OTE5ZDhj
NTczNWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1v
YWVwLWltcG9ydC1rZXktZGVjcnlwdC5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZGVj
cnlwdGluZyB1c2luZyBSU0EtT0FFUCBTSEEtMSB3aXRoIGFuIGltcG9ydGVkIGtleSIpOworCitq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgY2lw
aGVyVGV4dCA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiNjRlYTQ1YjUyMzRiMDU2NjZkYzIxY2E2
ZjdjZDZlY2IwYmU4Y2U0NTc2YzBiYmU5Njg2ZTcwYzlmM2FiNjdhOWYwYTRkYjIyNjU1NGYyMTdi
YTcyNTk2MzRjN2I3MGViNDIyNjMzMjc3ZDgzYWViMjE4MWEwMDEwOTliYWNiY2E4YjViNTM0YTc3
ODQzZmU2MTFmNjQ2ODM4OTk5ZTgyZTY4MWYxZDE3MjRlZjBlOWY2NWFjMzAyMDEyOGM1NmVhOTBh
MDM0NWQ5MzZlOGUyMjZiMzYzNjg3YzdiNTcxNDZlZWNkNGFiNTk5NzYwNjYxYTI3ODY3MWI1YjI0
OTA1MWIxZjE3MjBkNmU3ODA4NWUzMjFjZTgyODY3ZGY4MWE2N2I4NjA2ZTM0MDg1MGIxODlmY2Qw
OGQ2M2IxYWM4Y2U5YTk3MzAwYjhjMTVjM2M0NzVjOTdmMTI2NjYwNmI0OGI2N2ExNWMyODkzN2Q4
OGUwNzQ5YzgzMjEyNzM3NzMyYzc0YTdmZGY3OTE4ODQwNWM2ZGY3MmI5ZWUyYjc1M2Y0ZjcwYWUz
NWYyZjAzNWM1ODI3ZTBjODdmY2NlZWVmMWM0ZTMwM2MwZTg5ZWNjNzY3NzNmYjU4ZTZmNWEwNmI3
OTJhZTdhMWI1OGVlN2JmMDk4OTNjOGZkMmI5M2RhMGQiKTsKK3ZhciBqd2tLZXkgPSB7CisgICAg
a3R5OiAiUlNBIiwKKyAgICBhbGc6ICJSU0EtT0FFUCIsCisgICAgdXNlOiAiZW5jIiwKKyAgICBr
ZXlfb3BzOiBbImRlY3J5cHQiLCAidW53cmFwS2V5Il0sCisgICAgZXh0OiB0cnVlLAorICAgIG46
ICJseEhOME45VlJaMF9wbDB4djMtTlh4NzBXbmprT0RTa1E1TGpIWFRGeTNET1FzdmthZ0Z6RDlI
cVlRZXpDbWNld0xqZEs1UEx3U2VzRG9NZGZMNnR1c0JIY3Z5aXQxa3Z5ZFlGUTNOTGJFTk5rWXNp
Qkc1X25XNElRR0w2SktiWjVpR2RVb3A5OFFIS202WVpSMXU0enJBdHhNNmJWRW8wNVZ2aGpSUzBN
OHlXb1pWaS03VmRzYzBMcUkwUWRxX05vY3RYNUZ1LUFxaUJON1VvMUhrWUdjUDJvQzgySl9KNWNq
dzk4QlFpUDVrRFdUaHE5UkstWDZTLUVVQUx4X200aUc2aU9ZS1RBM1NReWYxeEJxRmFYWG9FSmpj
Y2tiT3FrZWdlY3o1Yi1ZV1VoOGlaUHZod250LVJad3BJYkxKZ0t3ejE5bmRrbjlLdm9FRXc3WWJF
b3ciLAorICAgIGU6ICJBUUFCIiwKKyAgICBkOiAiY2o1RGtEYWtqTTJiS2R1R1dKUkVPLV96eUV0
dUExZEQ5ZG9xS01kN0lSdUEwQ0RTN3B1RUFTMjAtb1hSRHdmbXlNWEVkRVVEckdHdEN4aDZmekRQ
dnNfVC1KQTNHVUs0RWdIbzN4WmNybFhEWGxLQ2VpbDZGbnIwZ0lTWk9JaDVka0JyY2RWTDRxdUJK
ZTRaWmM1bVZ1QUM3TGQxM2V0MFR4TUo0aUFMR3JQdXFQVlVPR1NZSWNaOWlkeDV6S0tCV2hZM3RQ
Z2dFZEtwbkhCbVBmVFJPNHlaYWYwTncxUVhyZ1NNWlk5ZWpldWF1ckFoNFE4bzQtNi1yOE8yTFVl
N3VmTWhfY2NLa1hJU0VoNEtkT25UMTdFTTlCUVRuOVVOUzlHb0syWlpVMFUzaW81RFN1X2twYXNy
NHVPVldjR2xFMndjek92Mm5rR3dHMzlGM3NGRjBRIiwKKyAgICBwOiAieDV2bmNvNWotVEQ2aFRP
enlONERoa1o0NG0wNU55Y3hUNlNVRTJxVHVyVDMtdXplX0w3VFl1dExSSVJrb3ZSTWhUSFpBcjJw
emlSbGFzRXMxM1BFejladngxSV9UNjhzcnNvbnJkYmFrLVNGTWVjTTdFakhjNUMtSjEzZ1hodzlI
SVcyOF9TeDlyUS1Ka0d3RXdFOVBFZElVZnV2ZHFwZ2gzU21Yd1BKckVzIiwKKyAgICBxOiAid2I5
dmxsZ18ybi1rTmdlMGJUaGdfN3h1MVV3VHppcE04dnhTVWtrVjJJaXBKS0lBZWtrVTNhQUI4TG9Q
aFVJMC0xN3BTR3czRVRPTzI3dDE2M1RJOXFJUHB6TGJoVEg5YVVpN3FMR2JLbHpQbGducVA0M1ow
TEh4YzN4S0RnaXQtQXIyOVFMYVgydW9KQlg2VlZXdmhtaDdCSVBESE5WTTVHWmp3V09SWWdrIiwK
KyAgICBkcDogIkMyYzhzYTZ3eDJ1azVEY3Y3aW5BeWNyODNQS2djaVlyQ3dHNzgtQUMwSWZHSXUt
bFRZc1pTRzFvdjJGUTNuNVdZTVdZUUNfVm81RXd1Z2lQSnpfVjNvbkJtUUY1M0hPRmVmYlNqWHZZ
d05vdFFjeVJVRzVYOXFJdU90R0NIOTQ5SDRRRUQ2dktfdTBOSC1KZ3pMVWxhbXdvRlliclh6d2No
NkNDWUtzMnVrRSIsCisgICAgZHE6ICJoYnRSbG9ETGNsSHdVcXIyeXZ6RFYwSUZib3pZanRGNzA2
eC1WZlhFY25YQjZsczM0VEJZaXJGTEpaSUg3SDlLZXNlRVZrejdwWV9rNTU1NVFsQ1Y5a2JlYnhZ
WGw5UnRpaUotQlc2eUg0ZDRjYVBlWUlmVTlNd2VVUXhWUVdLVVVrV2ZPSGNEckNGdktabFI5Vnp6
anQ3SEt0S1g5bXIwYkNLUWNJZjliYUUiLAorICAgIHFpOiAiYS03aFVUVG5jbFVQS09mU2dIOHpF
S0dKLUF2ZEZFenh2WjVzcTQ2UWYyTWJPUnhWak40ZEphbVZ2TS1Gb3Fjd04tOWN1VWx5cjliU0ZU
d1VCVzR2WGE4WGo5YThKZlZpdU1DcXpSLW1MMXJHSVVRNUFSR2hOY1NzUmx5S1RxejVCbFdsVktt
WEl4X3AtRGVWd1BXaUpKeTRrX0ZxeUJ4cm54a3pvbUhmcnhrIiwKK307Cit2YXIgcnNhT2FlcFBh
cmFtcyA9IHsKKyAgICBuYW1lOiAicnNhLW9hZXAiCit9Cit2YXIgZXhwZWN0ZWRQbGFpblRleHQg
PSAiSGVsbG8sIFdvcmxkISI7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tL
ZXksIHtuYW1lOiAiUlNBLU9BRVAiLCBoYXNoOiAiU0hBLTEifSwgZXh0cmFjdGFibGUsIFsiZGVj
cnlwdCJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRl
Y3J5cHQocnNhT2FlcFBhcmFtcywga2V5LCBjaXBoZXJUZXh0KTsKK30pLnRoZW4oZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAgcGxhaW5UZXh0ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVz
VG9BU0NJSVN0cmluZyhwbGFpblRleHQpIiwgImV4cGVjdGVkUGxhaW5UZXh0Iik7CisKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVy
YXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5MTk3MjRkYjQxOGQ1YTViM2IwMGYzZmZmMWE0NjRiZTgx
NGM4NWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYWVz
LXBrY3MxLXYxXzUtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorVGVzdCBlbmNyeXB0aW5nJmRlY3J5cHRpbmcgdXNpbmcgUlNBRVMtUEtD
UzEtdjFfNSBhbGdvcml0aG0gd2l0aCBhIGdlbmVyYXRlZCBrZXkKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0VuY3J5cHRpbmcuLi4KK0RlY3J5
cHRpbmcuLi4KK1BBU1MgYnl0ZXNUb0FTQ0lJU3RyaW5nKGRlY3J5cHRlZFRleHQpIGlzIHBsYWlu
VGV4dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1n
ZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk2NWU1ZWE4YzU4NzZkNjk2MDE2ZTRkYjVlODkwYTAzNGY2NDNmYWIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUt
Z2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3QgZW5jcnlwdGluZyZkZWNyeXB0aW5nIHVzaW5nIFJTQUVTLVBLQ1MxLXYxXzUgYWxnb3JpdGht
IHdpdGggYSBnZW5lcmF0ZWQga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwordmFyIHBs
YWluVGV4dCA9ICJIZWxsbywgV29ybGQhIjsKK3ZhciBhbGdvcml0aG1LZXlHZW4gPSB7CisgICAg
bmFtZTogIlJTQUVTLVBLQ1MxLXYxXzUiLAorICAgIC8vIFJzYUtleUdlblBhcmFtcworICAgIG1v
ZHVsdXNMZW5ndGg6IDIwNDgsCisgICAgcHVibGljRXhwb25lbnQ6IG5ldyBVaW50OEFycmF5KFsw
eDAxLCAweDAwLCAweDAxXSksICAvLyBFcXVpdmFsZW50IHRvIDY1NTM3Cit9OworCitkZWJ1Zygi
R2VuZXJhdGluZyBhIGtleS4uLiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShhbGdvcml0
aG1LZXlHZW4sIHRydWUsIFsiZGVjcnlwdCIsICJlbmNyeXB0Il0pLnRoZW4oZnVuY3Rpb24ocmVz
dWx0KSB7CisgICAga2V5UGFpciA9IHJlc3VsdDsKKyAgICBkZWJ1ZygiRW5jcnlwdGluZy4uLiIp
OworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmVuY3J5cHQoIlJTQUVTLVBLQ1MxLXYxXzUiLCBr
ZXlQYWlyLnB1YmxpY0tleSwgYXNjaWlUb1VpbnQ4QXJyYXkocGxhaW5UZXh0KSk7Cit9KS50aGVu
KGZ1bmN0aW9uKGNpcGhlclRleHQpIHsKKyAgICBkZWJ1ZygiRGVjcnlwdGluZy4uLiIpOworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5cHQoIlJTQUVTLVBLQ1MxLXYxXzUiLCBrZXlQYWly
LnByaXZhdGVLZXksIGNpcGhlclRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICBkZWNyeXB0ZWRUZXh0ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0
cmluZyhkZWNyeXB0ZWRUZXh0KSIsICJwbGFpblRleHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgp
OworfSk7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUt
aW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjI0OWRlNjRjMzY0
NWQ3MjdmZDNhM2RlN2ExNTdjZjg0YjU1ZGJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCBkZWNyeXB0aW5nIHVzaW5nIFJTQUVTLVBL
Q1MxLXYxXzUgd2l0aCBhbiBpbXBvcnRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgYnl0ZXNUb0FTQ0lJU3RyaW5nKHBsYWluVGV4dCkgaXMgZXhwZWN0ZWRQbGFp
blRleHQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUt
aW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYWVz
LXBrY3MxLXYxXzUtaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjVjODk1MDI2
ZTNjZWM2ZTZmM2ZkN2Y1MWNhZGE3ODFmNmM5NDFlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQta2V5LWRlY3J5cHQu
aHRtbApAQCAtMCwwICsxLDQ4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgUlNBRVMtUEtD
UzEtdjFfNSB3aXRoIGFuIGltcG9ydGVkIGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
KwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgY2lwaGVyVGV4dCA9IGhleFN0cmluZ1Rv
VWludDhBcnJheSgiODdjYTM2MDQ0MjYxNGI2NTkwZWE1MWJhODRlYjA4MWVjZGE4M2M1YTE5ZTAw
OGVkMjFhNmI5M2M3OGE3OTgwMzQ4ZjllYWM5YTgxMjBhNmI2NzMyNmI1OGZmNmU3YTEwYmVjMTEz
YjAxZjZiZDE4YTA0YjgyZDE1OWViMzUzMmMwM2Q0ZmNhNTk3NDUwMzMzY2Q0ZGY4MTQ1NmI3Yjg2
NGEyNzZjYzNhNzU1MTk2NGNjYzE2ZGU4NmUyYmM3YTQyOTgxZjI5YTA4NTVmYzE1MTY5MmQ4MDJm
NmQwYjZmZGNjMGNjMDE5NzdjNTc5YWNkZTIyMGI2MGQ0MThhNDgwZjBjY2RmZDM3MGY3ZTA0NTEx
NGJlMzlmMDNkZmQ1MTZiNTFiY2JhNmFmMjA2NjNjYjI0MDRlNGU4YzViNGMyMzk5MzZjNjcyYzNj
MmRlNGY0ZjMzODJjZGM2OGYyNzdmYzY2ZWQwNmEwNjQyNTg0ZWFkNTNjZDY3NjY3M2U4Y2VjZjU5
ZmUyM2NiZTBhNTljZDgyYzhkNTYxODdlZmY2Y2RhOWI5ZTYwMGI5ODkwZjQyYzY1ZWU5YTRmMTZm
ODdjMWMwYjUzY2VjYjZmYjU5YTRkZTE2NWNjODI4ZDZiYzViNWJmMTUyZTZjMzA2MGI1NGZkNGUx
MWIwMzc2NjhlNGQiKTsKK3ZhciBqd2tLZXkgPSB7CisgICAga3R5OiAiUlNBIiwKKyAgICBhbGc6
ICJSU0ExXzUiLAorICAgIHVzZTogImVuYyIsCisgICAga2V5X29wczogWyJkZWNyeXB0IiwgInVu
d3JhcEtleSJdLAorICAgIGV4dDogdHJ1ZSwKKyAgICBuOiAibHhITjBOOVZSWjBfcGwweHYzLU5Y
eDcwV25qa09EU2tRNUxqSFhURnkzRE9Rc3ZrYWdGekQ5SHFZUWV6Q21jZXdMamRLNVBMd1Nlc0Rv
TWRmTDZ0dXNCSGN2eWl0MWt2eWRZRlEzTkxiRU5Oa1lzaUJHNV9uVzRJUUdMNkpLYlo1aUdkVW9w
OThRSEttNllaUjF1NHpyQXR4TTZiVkVvMDVWdmhqUlMwTTh5V29aVmktN1Zkc2MwTHFJMFFkcV9O
b2N0WDVGdS1BcWlCTjdVbzFIa1lHY1Ayb0M4MkpfSjVjanc5OEJRaVA1a0RXVGhxOVJLLVg2Uy1F
VUFMeF9tNGlHNmlPWUtUQTNTUXlmMXhCcUZhWFhvRUpqY2NrYk9xa2VnZWN6NWItWVdVaDhpWlB2
aHdudC1SWndwSWJMSmdLd3oxOW5ka245S3ZvRUV3N1liRW93IiwKKyAgICBlOiAiQVFBQiIsCisg
ICAgZDogImNqNURrRGFrak0yYktkdUdXSlJFTy1fenlFdHVBMWREOWRvcUtNZDdJUnVBMENEUzdw
dUVBUzIwLW9YUkR3Zm15TVhFZEVVRHJHR3RDeGg2ZnpEUHZzX1QtSkEzR1VLNEVnSG8zeFpjcmxY
RFhsS0NlaWw2Rm5yMGdJU1pPSWg1ZGtCcmNkVkw0cXVCSmU0WlpjNW1WdUFDN0xkMTNldDBUeE1K
NGlBTEdyUHVxUFZVT0dTWUljWjlpZHg1ektLQldoWTN0UGdnRWRLcG5IQm1QZlRSTzR5WmFmME53
MVFYcmdTTVpZOWVqZXVhdXJBaDRROG80LTYtcjhPMkxVZTd1Zk1oX2NjS2tYSVNFaDRLZE9uVDE3
RU05QlFUbjlVTlM5R29LMlpaVTBVM2lvNURTdV9rcGFzcjR1T1ZXY0dsRTJ3Y3pPdjJua0d3RzM5
RjNzRkYwUSIsCisgICAgcDogIng1dm5jbzVqLVRENmhUT3p5TjREaGtaNDRtMDVOeWN4VDZTVUUy
cVR1clQzLXV6ZV9MN1RZdXRMUklSa292Uk1oVEhaQXIycHppUmxhc0VzMTNQRXo5WnZ4MUlfVDY4
c3Jzb25yZGJhay1TRk1lY003RWpIYzVDLUoxM2dYaHc5SElXMjhfU3g5clEtSmtHd0V3RTlQRWRJ
VWZ1dmRxcGdoM1NtWHdQSnJFcyIsCisgICAgcTogIndiOXZsbGdfMm4ta05nZTBiVGhnXzd4dTFV
d1R6aXBNOHZ4U1Vra1YySWlwSktJQWVra1UzYUFCOExvUGhVSTAtMTdwU0d3M0VUT08yN3QxNjNU
STlxSVBwekxiaFRIOWFVaTdxTEdiS2x6UGxnbnFQNDNaMExIeGMzeEtEZ2l0LUFyMjlRTGFYMnVv
SkJYNlZWV3ZobWg3QklQREhOVk01R1pqd1dPUllnayIsCisgICAgZHA6ICJDMmM4c2E2d3gydWs1
RGN2N2luQXljcjgzUEtnY2lZckN3Rzc4LUFDMElmR0l1LWxUWXNaU0cxb3YyRlEzbjVXWU1XWVFD
X1ZvNUV3dWdpUEp6X1Yzb25CbVFGNTNIT0ZlZmJTalh2WXdOb3RRY3lSVUc1WDlxSXVPdEdDSDk0
OUg0UUVENnZLX3UwTkgtSmd6TFVsYW13b0ZZYnJYendjaDZDQ1lLczJ1a0UiLAorICAgIGRxOiAi
aGJ0UmxvRExjbEh3VXFyMnl2ekRWMElGYm96WWp0RjcwNngtVmZYRWNuWEI2bHMzNFRCWWlyRkxK
WklIN0g5S2VzZUVWa3o3cFlfazU1NTVRbENWOWtiZWJ4WVhsOVJ0aWlKLUJXNnlINGQ0Y2FQZVlJ
ZlU5TXdlVVF4VlFXS1VVa1dmT0hjRHJDRnZLWmxSOVZ6emp0N0hLdEtYOW1yMGJDS1FjSWY5YmFF
IiwKKyAgICBxaTogImEtN2hVVFRuY2xVUEtPZlNnSDh6RUtHSi1BdmRGRXp4dlo1c3E0NlFmMk1i
T1J4VmpONGRKYW1Wdk0tRm9xY3dOLTljdVVseXI5YlNGVHdVQlc0dlhhOFhqOWE4SmZWaXVNQ3F6
Ui1tTDFyR0lVUTVBUkdoTmNTc1JseUtUcXo1QmxXbFZLbVhJeF9wLURlVndQV2lKSnk0a19GcXlC
eHJueGt6b21IZnJ4ayIsCit9OwordmFyIGV4cGVjdGVkUGxhaW5UZXh0ID0gIkhlbGxvLCBXb3Js
ZCEiOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwgandrS2V5LCAiUlNBRVMtUEtD
UzEtdjFfNSIsIGV4dHJhY3RhYmxlLCBbImRlY3J5cHQiXSkudGhlbihmdW5jdGlvbihrZXkpIHsK
KyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5kZWNyeXB0KCJSU0FFUy1QS0NTMS12MV81Iiwga2V5
LCBjaXBoZXJUZXh0KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcGxhaW5UZXh0
ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0cmluZyhwbGFpblRleHQp
IiwgImV4cGVjdGVkUGxhaW5UZXh0Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0
by93b3JrZXJzL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LWRl
Y3J5cHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjNDk0MjQxNWQ1MGEwNzFlN2Y1ZjgyMWY5
Yzk1ZmRlM2Y1MGRmYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29y
a2Vycy9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTEgQEAKK1tXb3JrZXJdIFRlc3QgZGVjcnlwdGluZyB1c2luZyBBRVMtQ0JDIHdpdGgg
YW4gaW1wb3J0ZWQgMTI4Yml0IGtleSBpbiB3b3JrZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitTdGFydGluZyB3b3JrZXI6IHJlc291cmNlcy9hZXMtY2JjLWltcG9ydC1rZXkt
ZGVjcnlwdC5qcworUEFTUyBbV29ya2VyXSBieXRlc1RvQVNDSUlTdHJpbmcocGxhaW5UZXh0KSBp
cyBleHBlY3RlZFBsYWluVGV4dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1
YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjc0ZTdjN2Y1N2YwOWNkMzNhYWYxNTU2MTZlMWM3YTBjYTVlMzhkYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1r
ZXktZGVjcnlwdC5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdv
cmtlciA9IHN0YXJ0V29ya2VyKCdyZXNvdXJjZXMvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQu
anMnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL2Flcy1jYmMtaW1w
b3J0LWtleS1kZWNyeXB0LmpzIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jl
c291cmNlcy9hZXMtY2JjLWltcG9ydC1rZXktZGVjcnlwdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTY1MTgw
YzkxYWZlMDIwY2I3NjdiYzBkMzFjNWMwNDI2M2M2ZWI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2JjLWltcG9ydC1r
ZXktZGVjcnlwdC5qcwpAQCAtMCwwICsxLDI1IEBACitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKK2ltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL3Jl
c291cmNlcy9jb21tb24uanMnKTsKKworZGVzY3JpcHRpb24oIlRlc3QgZGVjcnlwdGluZyB1c2lu
ZyBBRVMtQ0JDIHdpdGggYW4gaW1wb3J0ZWQgMTI4Yml0IGtleSBpbiB3b3JrZXJzIik7CisKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciBjaXBo
ZXJUZXh0ID0gaGV4U3RyaW5nVG9VaW50OEFycmF5KCIyZmZhNDYxODc4NGRmZDQxNGIyMmM0MGM2
MzMwZDAyMiIpOwordmFyIGFlc0NiY1BhcmFtcyA9IHsKKyAgICBuYW1lOiAiYWVzLWNiYyIsCisg
ICAgaXY6IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCit9Cit2YXIgcmF3
S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBleHBlY3Rl
ZFBsYWluVGV4dCA9ICJIZWxsbywgV29ybGQhIjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXko
InJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0Il0pLnRoZW4o
ZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZGVjcnlwdChhZXNDYmNQ
YXJhbXMsIGtleSwgY2lwaGVyVGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
IHBsYWluVGV4dCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvQVNDSUlTdHJpbmco
cGxhaW5UZXh0KSIsICJleHBlY3RlZFBsYWluVGV4dCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7
Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNv
dXJjZXMvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LmpzIGIvTGF5b3V0VGVzdHMvY3J5cHRv
L3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDUwMTc3Y2Q1MGZjMjIyYjYxNGQxMzkwZDc5NzZhZmUwOWFlMzg4YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJj
ZXMvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LmpzCkBAIC0wLDAgKzEsMzkgQEAKK2ltcG9y
dFNjcmlwdHMoJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOworaW1wb3J0
U2NyaXB0cygnLi4vLi4vLi4vcmVzb3VyY2VzL2NvbW1vbi5qcycpOworCitkZXNjcmlwdGlvbigi
VGVzdCBkZWNyeXB0aW5nIHVzaW5nIFJTQS1PQUVQIFNIQS0xIHdpdGggYW4gaW1wb3J0ZWQga2V5
IGFuZCBhIGxhYmVsIGluIHdvcmtlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3Zh
ciBleHRyYWN0YWJsZSA9IGZhbHNlOwordmFyIGNpcGhlclRleHQgPSBoZXhTdHJpbmdUb1VpbnQ4
QXJyYXkoIjM0NmRjOGYzYTE1OGU0OTQwMDRjZjgyYzA4NDNhYjFjMWU3YTYxMjI2M2ExYzQ0ZDk0
MTMwOTE3NWEzZDI1OTg5OTdiZTY1MWYyZDM0MTlmODk5MjM4NDNjYTM0NDQxNGQ0NTk4OWU4ODZh
YWE3OTU3M2Q5NmQ0ZjNmNzc3YWYzYjJlOWZjZDQ0YjUxYzAwYThlNDM5NWJmNTRhYzg5ZDg4NTU5
YzcxMmQ0OTg1M2RlNDQ4ZTE5MGZhZDg4NmM0NWZhMDc0MmYyZGRmMThlNWY2MTU1ZWI3ZjM4MzQ4
MjE3ZWZkNjdjMTRlZjE0MWU4MWYzYjFjMTgwNGIzYmI0MzdlZjFiMjNhMjVkYWRiNTk0OTg1YzUw
MDE4MTIwOGM3NGNkMjA2OGNiZmRjY2MwMmRiNzExM2VkNWU3MmQ3YTM1NDNhNzhlYzljMjA3MDcx
NWU0MDlhYjEwNjg3NzYyMzU4Zjc4NmM2NjllNTkyZTQ2NzEwN2ExM2NhYWFhZGMzYzM0MWZhY2Yy
NDliYWY3NDNhM2I5M2M0OWY3M2VhNTYzNDA1MmYxYTZlZTQ2MjY1ZTAyMzkxZGQyY2JjZDRhNTIz
YmZlZTgzMjE0NzAyNzlmZmY2M2I4N2E0YTUzNDY1YjQ3MzZmYjMxZWU5OWU5YjAzNzk3NjFmM2U2
MzBmNjM2Iik7Cit2YXIgandrS2V5ID0geworICAgIGt0eTogIlJTQSIsCisgICAgYWxnOiAiUlNB
LU9BRVAiLAorICAgIHVzZTogImVuYyIsCisgICAga2V5X29wczogWyJkZWNyeXB0IiwgInVud3Jh
cEtleSJdLAorICAgIGV4dDogdHJ1ZSwKKyAgICBuOiAibHhITjBOOVZSWjBfcGwweHYzLU5YeDcw
V25qa09EU2tRNUxqSFhURnkzRE9Rc3ZrYWdGekQ5SHFZUWV6Q21jZXdMamRLNVBMd1Nlc0RvTWRm
TDZ0dXNCSGN2eWl0MWt2eWRZRlEzTkxiRU5Oa1lzaUJHNV9uVzRJUUdMNkpLYlo1aUdkVW9wOThR
SEttNllaUjF1NHpyQXR4TTZiVkVvMDVWdmhqUlMwTTh5V29aVmktN1Zkc2MwTHFJMFFkcV9Ob2N0
WDVGdS1BcWlCTjdVbzFIa1lHY1Ayb0M4MkpfSjVjanc5OEJRaVA1a0RXVGhxOVJLLVg2Uy1FVUFM
eF9tNGlHNmlPWUtUQTNTUXlmMXhCcUZhWFhvRUpqY2NrYk9xa2VnZWN6NWItWVdVaDhpWlB2aHdu
dC1SWndwSWJMSmdLd3oxOW5ka245S3ZvRUV3N1liRW93IiwKKyAgICBlOiAiQVFBQiIsCisgICAg
ZDogImNqNURrRGFrak0yYktkdUdXSlJFTy1fenlFdHVBMWREOWRvcUtNZDdJUnVBMENEUzdwdUVB
UzIwLW9YUkR3Zm15TVhFZEVVRHJHR3RDeGg2ZnpEUHZzX1QtSkEzR1VLNEVnSG8zeFpjcmxYRFhs
S0NlaWw2Rm5yMGdJU1pPSWg1ZGtCcmNkVkw0cXVCSmU0WlpjNW1WdUFDN0xkMTNldDBUeE1KNGlB
TEdyUHVxUFZVT0dTWUljWjlpZHg1ektLQldoWTN0UGdnRWRLcG5IQm1QZlRSTzR5WmFmME53MVFY
cmdTTVpZOWVqZXVhdXJBaDRROG80LTYtcjhPMkxVZTd1Zk1oX2NjS2tYSVNFaDRLZE9uVDE3RU05
QlFUbjlVTlM5R29LMlpaVTBVM2lvNURTdV9rcGFzcjR1T1ZXY0dsRTJ3Y3pPdjJua0d3RzM5RjNz
RkYwUSIsCisgICAgcDogIng1dm5jbzVqLVRENmhUT3p5TjREaGtaNDRtMDVOeWN4VDZTVUUycVR1
clQzLXV6ZV9MN1RZdXRMUklSa292Uk1oVEhaQXIycHppUmxhc0VzMTNQRXo5WnZ4MUlfVDY4c3Jz
b25yZGJhay1TRk1lY003RWpIYzVDLUoxM2dYaHc5SElXMjhfU3g5clEtSmtHd0V3RTlQRWRJVWZ1
dmRxcGdoM1NtWHdQSnJFcyIsCisgICAgcTogIndiOXZsbGdfMm4ta05nZTBiVGhnXzd4dTFVd1R6
aXBNOHZ4U1Vra1YySWlwSktJQWVra1UzYUFCOExvUGhVSTAtMTdwU0d3M0VUT08yN3QxNjNUSTlx
SVBwekxiaFRIOWFVaTdxTEdiS2x6UGxnbnFQNDNaMExIeGMzeEtEZ2l0LUFyMjlRTGFYMnVvSkJY
NlZWV3ZobWg3QklQREhOVk01R1pqd1dPUllnayIsCisgICAgZHA6ICJDMmM4c2E2d3gydWs1RGN2
N2luQXljcjgzUEtnY2lZckN3Rzc4LUFDMElmR0l1LWxUWXNaU0cxb3YyRlEzbjVXWU1XWVFDX1Zv
NUV3dWdpUEp6X1Yzb25CbVFGNTNIT0ZlZmJTalh2WXdOb3RRY3lSVUc1WDlxSXVPdEdDSDk0OUg0
UUVENnZLX3UwTkgtSmd6TFVsYW13b0ZZYnJYendjaDZDQ1lLczJ1a0UiLAorICAgIGRxOiAiaGJ0
UmxvRExjbEh3VXFyMnl2ekRWMElGYm96WWp0RjcwNngtVmZYRWNuWEI2bHMzNFRCWWlyRkxKWklI
N0g5S2VzZUVWa3o3cFlfazU1NTVRbENWOWtiZWJ4WVhsOVJ0aWlKLUJXNnlINGQ0Y2FQZVlJZlU5
TXdlVVF4VlFXS1VVa1dmT0hjRHJDRnZLWmxSOVZ6emp0N0hLdEtYOW1yMGJDS1FjSWY5YmFFIiwK
KyAgICBxaTogImEtN2hVVFRuY2xVUEtPZlNnSDh6RUtHSi1BdmRGRXp4dlo1c3E0NlFmMk1iT1J4
VmpONGRKYW1Wdk0tRm9xY3dOLTljdVVseXI5YlNGVHdVQlc0dlhhOFhqOWE4SmZWaXVNQ3F6Ui1t
TDFyR0lVUTVBUkdoTmNTc1JseUtUcXo1QmxXbFZLbVhJeF9wLURlVndQV2lKSnk0a19GcXlCeHJu
eGt6b21IZnJ4ayIsCit9OwordmFyIHJzYU9hZXBQYXJhbXMgPSB7CisgICAgbmFtZTogInJzYS1v
YWVwIiwKKyAgICBsYWJlbDogYXNjaWlUb1VpbnQ4QXJyYXkoIldlYktpdC5vcmciKSwKK30KK3Zh
ciBleHBlY3RlZFBsYWluVGV4dCA9ICJIZWxsbywgV29ybGQhIjsKKworY3J5cHRvLnN1YnRsZS5p
bXBvcnRLZXkoImp3ayIsIGp3a0tleSwge25hbWU6ICJSU0EtT0FFUCIsIGhhc2g6ICJTSEEtMSJ9
LCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0
dXJuIGNyeXB0by5zdWJ0bGUuZGVjcnlwdChyc2FPYWVwUGFyYW1zLCBrZXksIGNpcGhlclRleHQp
OworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwbGFpblRleHQgPSByZXN1bHQ7CisK
KyAgICBzaG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3RyaW5nKHBsYWluVGV4dCkiLCAiZXhwZWN0ZWRQ
bGFpblRleHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmVzb3VyY2VzL3JzYWVzLXBrY3MxLXYxXzUt
aW1wb3J0LWtleS1kZWNyeXB0LmpzIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxl
L3Jlc291cmNlcy9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lNTJlZGE5NGFiNmZjM2E5ODViZmU3ZTRlMjU2M2IzNzE1NmVkOTI5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yc2Fl
cy1wa2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC5qcwpAQCAtMCwwICsxLDM1IEBACitpbXBv
cnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnKTsKK2ltcG9y
dFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9jb21tb24uanMnKTsKKworZGVzY3JpcHRpb24o
IlRlc3QgZGVjcnlwdGluZyB1c2luZyBSU0FFUy1QS0NTMS12MV81IHdpdGggYW4gaW1wb3J0ZWQg
a2V5IGluIHdvcmtlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0
YWJsZSA9IGZhbHNlOwordmFyIGNpcGhlclRleHQgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjg3
Y2EzNjA0NDI2MTRiNjU5MGVhNTFiYTg0ZWIwODFlY2RhODNjNWExOWUwMDhlZDIxYTZiOTNjNzhh
Nzk4MDM0OGY5ZWFjOWE4MTIwYTZiNjczMjZiNThmZjZlN2ExMGJlYzExM2IwMWY2YmQxOGEwNGI4
MmQxNTllYjM1MzJjMDNkNGZjYTU5NzQ1MDMzM2NkNGRmODE0NTZiN2I4NjRhMjc2Y2MzYTc1NTE5
NjRjY2MxNmRlODZlMmJjN2E0Mjk4MWYyOWEwODU1ZmMxNTE2OTJkODAyZjZkMGI2ZmRjYzBjYzAx
OTc3YzU3OWFjZGUyMjBiNjBkNDE4YTQ4MGYwY2NkZmQzNzBmN2UwNDUxMTRiZTM5ZjAzZGZkNTE2
YjUxYmNiYTZhZjIwNjYzY2IyNDA0ZTRlOGM1YjRjMjM5OTM2YzY3MmMzYzJkZTRmNGYzMzgyY2Rj
NjhmMjc3ZmM2NmVkMDZhMDY0MjU4NGVhZDUzY2Q2NzY2NzNlOGNlY2Y1OWZlMjNjYmUwYTU5Y2Q4
MmM4ZDU2MTg3ZWZmNmNkYTliOWU2MDBiOTg5MGY0MmM2NWVlOWE0ZjE2Zjg3YzFjMGI1M2NlY2I2
ZmI1OWE0ZGUxNjVjYzgyOGQ2YmM1YjViZjE1MmU2YzMwNjBiNTRmZDRlMTFiMDM3NjY4ZTRkIik7
Cit2YXIgandrS2V5ID0geworICAgIGt0eTogIlJTQSIsCisgICAgYWxnOiAiUlNBMV81IiwKKyAg
ICB1c2U6ICJlbmMiLAorICAgIGtleV9vcHM6IFsiZGVjcnlwdCIsICJ1bndyYXBLZXkiXSwKKyAg
ICBleHQ6IHRydWUsCisgICAgbjogImx4SE4wTjlWUlowX3BsMHh2My1OWHg3MFduamtPRFNrUTVM
akhYVEZ5M0RPUXN2a2FnRnpEOUhxWVFlekNtY2V3TGpkSzVQTHdTZXNEb01kZkw2dHVzQkhjdnlp
dDFrdnlkWUZRM05MYkVOTmtZc2lCRzVfblc0SVFHTDZKS2JaNWlHZFVvcDk4UUhLbTZZWlIxdTR6
ckF0eE02YlZFbzA1VnZoalJTME04eVdvWlZpLTdWZHNjMExxSTBRZHFfTm9jdFg1RnUtQXFpQk43
VW8xSGtZR2NQMm9DODJKX0o1Y2p3OThCUWlQNWtEV1RocTlSSy1YNlMtRVVBTHhfbTRpRzZpT1lL
VEEzU1F5ZjF4QnFGYVhYb0VKamNja2JPcWtlZ2VjejViLVlXVWg4aVpQdmh3bnQtUlp3cEliTEpn
S3d6MTluZGtuOUt2b0VFdzdZYkVvdyIsCisgICAgZTogIkFRQUIiLAorICAgIGQ6ICJjajVEa0Rh
a2pNMmJLZHVHV0pSRU8tX3p5RXR1QTFkRDlkb3FLTWQ3SVJ1QTBDRFM3cHVFQVMyMC1vWFJEd2Zt
eU1YRWRFVURyR0d0Q3hoNmZ6RFB2c19ULUpBM0dVSzRFZ0hvM3haY3JsWERYbEtDZWlsNkZucjBn
SVNaT0loNWRrQnJjZFZMNHF1QkplNFpaYzVtVnVBQzdMZDEzZXQwVHhNSjRpQUxHclB1cVBWVU9H
U1lJY1o5aWR4NXpLS0JXaFkzdFBnZ0VkS3BuSEJtUGZUUk80eVphZjBOdzFRWHJnU01aWTllamV1
YXVyQWg0UThvNC02LXI4TzJMVWU3dWZNaF9jY0trWElTRWg0S2RPblQxN0VNOUJRVG45VU5TOUdv
SzJaWlUwVTNpbzVEU3Vfa3Bhc3I0dU9WV2NHbEUyd2N6T3YybmtHd0czOUYzc0ZGMFEiLAorICAg
IHA6ICJ4NXZuY281ai1URDZoVE96eU40RGhrWjQ0bTA1TnljeFQ2U1VFMnFUdXJUMy11emVfTDdU
WXV0TFJJUmtvdlJNaFRIWkFyMnB6aVJsYXNFczEzUEV6OVp2eDFJX1Q2OHNyc29ucmRiYWstU0ZN
ZWNNN0VqSGM1Qy1KMTNnWGh3OUhJVzI4X1N4OXJRLUprR3dFd0U5UEVkSVVmdXZkcXBnaDNTbVh3
UEpyRXMiLAorICAgIHE6ICJ3Yjl2bGxnXzJuLWtOZ2UwYlRoZ183eHUxVXdUemlwTTh2eFNVa2tW
MklpcEpLSUFla2tVM2FBQjhMb1BoVUkwLTE3cFNHdzNFVE9PMjd0MTYzVEk5cUlQcHpMYmhUSDlh
VWk3cUxHYktselBsZ25xUDQzWjBMSHhjM3hLRGdpdC1BcjI5UUxhWDJ1b0pCWDZWVld2aG1oN0JJ
UERITlZNNUdaandXT1JZZ2siLAorICAgIGRwOiAiQzJjOHNhNnd4MnVrNURjdjdpbkF5Y3I4M1BL
Z2NpWXJDd0c3OC1BQzBJZkdJdS1sVFlzWlNHMW92MkZRM241V1lNV1lRQ19WbzVFd3VnaVBKel9W
M29uQm1RRjUzSE9GZWZiU2pYdll3Tm90UWN5UlVHNVg5cUl1T3RHQ0g5NDlINFFFRDZ2S191ME5I
LUpnekxVbGFtd29GWWJyWHp3Y2g2Q0NZS3MydWtFIiwKKyAgICBkcTogImhidFJsb0RMY2xId1Vx
cjJ5dnpEVjBJRmJvellqdEY3MDZ4LVZmWEVjblhCNmxzMzRUQllpckZMSlpJSDdIOUtlc2VFVmt6
N3BZX2s1NTU1UWxDVjlrYmVieFlYbDlSdGlpSi1CVzZ5SDRkNGNhUGVZSWZVOU13ZVVReFZRV0tV
VWtXZk9IY0RyQ0Z2S1psUjlWenpqdDdIS3RLWDltcjBiQ0tRY0lmOWJhRSIsCisgICAgcWk6ICJh
LTdoVVRUbmNsVVBLT2ZTZ0g4ekVLR0otQXZkRkV6eHZaNXNxNDZRZjJNYk9SeFZqTjRkSmFtVnZN
LUZvcWN3Ti05Y3VVbHlyOWJTRlR3VUJXNHZYYThYajlhOEpmVml1TUNxelItbUwxckdJVVE1QVJH
aE5jU3NSbHlLVHF6NUJsV2xWS21YSXhfcC1EZVZ3UFdpSkp5NGtfRnF5Qnhybnhrem9tSGZyeGsi
LAorfTsKK3ZhciBleHBlY3RlZFBsYWluVGV4dCA9ICJIZWxsbywgV29ybGQhIjsKKworY3J5cHRv
LnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3a0tleSwgIlJTQUVTLVBLQ1MxLXYxXzUiLCBleHRy
YWN0YWJsZSwgWyJkZWNyeXB0Il0pLnRoZW4oZnVuY3Rpb24oa2V5KSB7CisgICAgcmV0dXJuIGNy
eXB0by5zdWJ0bGUuZGVjcnlwdCgiUlNBRVMtUEtDUzEtdjFfNSIsIGtleSwgY2lwaGVyVGV4dCk7
Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHBsYWluVGV4dCA9IHJlc3VsdDsKKwor
ICAgIHNob3VsZEJlKCJieXRlc1RvQVNDSUlTdHJpbmcocGxhaW5UZXh0KSIsICJleHBlY3RlZFBs
YWluVGV4dCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1vYWVw
LWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjNjNmRlNzhjY2Jl
NWIyMGQ5OWFmYWNiOTAyZGVlMDllNjJiMDZkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1tXb3JrZXJdIFRlc3QgZGVjcnlwdGluZyB1c2lu
ZyBSU0EtT0FFUCBTSEEtMSB3aXRoIGFuIGltcG9ydGVkIGtleSBhbmQgYSBsYWJlbCBpbiB3b3Jr
ZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3b3JrZXI6IHJl
c291cmNlcy9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQuanMKK1BBU1MgW1dvcmtlcl0gYnl0
ZXNUb0FTQ0lJU3RyaW5nKHBsYWluVGV4dCkgaXMgZXhwZWN0ZWRQbGFpblRleHQKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNy
eXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1w
b3J0LWtleS1kZWNyeXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA3NjlhMzg4MTc4MTBlMDk2NDg5Yjlj
YTE4YzIxMWU0ZTFhODJiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93
b3JrZXJzL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbApAQCAtMCwwICsx
LDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgICB3b3JrZXIgPSBzdGFydFdvcmtlcigncmVzb3Vy
Y2VzL3JzYS1vYWVwLWltcG9ydC1rZXktZGVjcnlwdC5qcycpOworICAgIDwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1p
bXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjYzI3MjZmOGEwZjNh
ODc0YjBlODU1ZTgyZDUxMzY2ODEyNzNmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQta2V5LWRlY3J5
cHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1tXb3JrZXJdIFRlc3QgZGVjcnlwdGlu
ZyB1c2luZyBSU0FFUy1QS0NTMS12MV81IHdpdGggYW4gaW1wb3J0ZWQga2V5IGluIHdvcmtlcnMK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N0YXJ0aW5nIHdvcmtlcjogcmVzb3Vy
Y2VzL3JzYWVzLXBrY3MxLXYxXzUtaW1wb3J0LWtleS1kZWNyeXB0LmpzCitQQVNTIFtXb3JrZXJd
IGJ5dGVzVG9BU0NJSVN0cmluZyhwbGFpblRleHQpIGlzIGV4cGVjdGVkUGxhaW5UZXh0CitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtaW1w
b3J0LWtleS1kZWNyeXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUv
cnNhZXMtcGtjczEtdjFfNS1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41N2M0
MTBjZjk3ZGZmMWRjYjA4MzlhNDE2ZjM0MTkxYzY5Y2ZlMGQ3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtaW1wb3J0
LWtleS1kZWNyeXB0Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
d29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1r
ZXktZGVjcnlwdC5qcycpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZW5jcnlw
dF9kZWNyeXB0L3Rlc3RfYWVzX2NiYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvV2ViQ3J5cHRvQVBJL2VuY3J5cHRfZGVjcnlwdC90ZXN0X2Flc19jYmMtZXhwZWN0ZWQu
dHh0CmluZGV4IGM0YWQzNTdjNmY5MTQ0MDc3M2MwZmNmYzkxYzY0N2YxYjE5NDI5YzUuLjNjZmJm
NWMwZTc5ZGJhZjM3ZWVkOGM2OGExZThkOTA1ZTZmMTRmYjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZW5jcnlwdF9kZWNyeXB0L3Rlc3RfYWVzX2Ni
Yy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQ
SS9lbmNyeXB0X2RlY3J5cHQvdGVzdF9hZXNfY2JjLWV4cGVjdGVkLnR4dApAQCAtNyw0MCArNyw0
MCBAQCBQQVNTIEFFUy1DQkMgMjU2LWJpdCBrZXkKIFBBU1MgQUVTLUNCQyAxMjgtYml0IGtleSB3
aXRoIGFsdGVyZWQgcGxhaW50ZXh0IAogUEFTUyBBRVMtQ0JDIDE5Mi1iaXQga2V5IHdpdGggYWx0
ZXJlZCBwbGFpbnRleHQgCiBQQVNTIEFFUy1DQkMgMjU2LWJpdCBrZXkgd2l0aCBhbHRlcmVkIHBs
YWludGV4dCAKLUZBSUwgQUVTLUNCQyAxMjgtYml0IGtleSBkZWNyeXB0aW9uIHN1YnRsZS5kZWNy
eXB0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0
aG0sIHZlY3Rvci5rZXksIHZlY3Rvci5yZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEFFUy1DQkMgMTkyLWJpdCBrZXkgZGVjcnlwdGlvbiBzdWJ0bGUuZGVjcnlw
dCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdWJ0bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGht
LCB2ZWN0b3Iua2V5LCB2ZWN0b3IucmVzdWx0KScsICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZp
bmVkKQotRkFJTCBBRVMtQ0JDIDI1Ni1iaXQga2V5IGRlY3J5cHRpb24gc3VidGxlLmRlY3J5cHQg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3VidGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRobSwg
dmVjdG9yLmtleSwgdmVjdG9yLnJlc3VsdCknLCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgQUVTLUNCQyAxMjgtYml0IGtleSBkZWNyeXB0aW9uIHdpdGggYWx0ZXJlZCBjaXBo
ZXJ0ZXh0IHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N1YnRsZS5kZWNy
eXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIGNpcGhlcnRleHQpJywgJ3N1YnRsZS5k
ZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFFUy1DQkMgMTkyLWJpdCBrZXkgZGVjcnlwdGlv
biB3aXRoIGFsdGVyZWQgY2lwaGVydGV4dCBzdWJ0bGUuZGVjcnlwdCBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdzdWJ0bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGhtLCB2ZWN0b3Iua2V5LCBjaXBo
ZXJ0ZXh0KScsICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZpbmVkKQotRkFJTCBBRVMtQ0JDIDI1
Ni1iaXQga2V5IGRlY3J5cHRpb24gd2l0aCBhbHRlcmVkIGNpcGhlcnRleHQgc3VidGxlLmRlY3J5
cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3VidGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRo
bSwgdmVjdG9yLmtleSwgY2lwaGVydGV4dCknLCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5l
ZCkKK1BBU1MgQUVTLUNCQyAxMjgtYml0IGtleSBkZWNyeXB0aW9uIAorUEFTUyBBRVMtQ0JDIDE5
Mi1iaXQga2V5IGRlY3J5cHRpb24gCitQQVNTIEFFUy1DQkMgMjU2LWJpdCBrZXkgZGVjcnlwdGlv
biAKK1BBU1MgQUVTLUNCQyAxMjgtYml0IGtleSBkZWNyeXB0aW9uIHdpdGggYWx0ZXJlZCBjaXBo
ZXJ0ZXh0IAorUEFTUyBBRVMtQ0JDIDE5Mi1iaXQga2V5IGRlY3J5cHRpb24gd2l0aCBhbHRlcmVk
IGNpcGhlcnRleHQgCitQQVNTIEFFUy1DQkMgMjU2LWJpdCBrZXkgZGVjcnlwdGlvbiB3aXRoIGFs
dGVyZWQgY2lwaGVydGV4dCAKIFBBU1MgQUVTLUNCQyAxMjgtYml0IGtleSB3aXRob3V0IGVuY3J5
cHQgdXNhZ2UgCiBQQVNTIEFFUy1DQkMgMTkyLWJpdCBrZXkgd2l0aG91dCBlbmNyeXB0IHVzYWdl
IAogUEFTUyBBRVMtQ0JDIDI1Ni1iaXQga2V5IHdpdGhvdXQgZW5jcnlwdCB1c2FnZSAKIEZBSUwg
QUVTLUNCQyAxMjgtYml0IGtleSB3aXRoIG1pc21hdGNoZWQga2V5IGFuZCBhbGdvcml0aG0gYXNz
ZXJ0X2VxdWFsczogTWlzbWF0Y2ggc2hvdWxkIGNhdXNlIEludmFsaWRBY2Nlc3NFcnJvciBpbnN0
ZWFkIG9mIFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4gZXhwZWN0ZWQgIkludmFsaWRB
Y2Nlc3NFcnJvciIgYnV0IGdvdCAiTm90U3VwcG9ydGVkRXJyb3IiCiBGQUlMIEFFUy1DQkMgMTky
LWJpdCBrZXkgd2l0aCBtaXNtYXRjaGVkIGtleSBhbmQgYWxnb3JpdGhtIGFzc2VydF9lcXVhbHM6
IE1pc21hdGNoIHNob3VsZCBjYXVzZSBJbnZhbGlkQWNjZXNzRXJyb3IgaW5zdGVhZCBvZiBUaGUg
b3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIGV4cGVjdGVkICJJbnZhbGlkQWNjZXNzRXJyb3Ii
IGJ1dCBnb3QgIk5vdFN1cHBvcnRlZEVycm9yIgogRkFJTCBBRVMtQ0JDIDI1Ni1iaXQga2V5IHdp
dGggbWlzbWF0Y2hlZCBrZXkgYW5kIGFsZ29yaXRobSBhc3NlcnRfZXF1YWxzOiBNaXNtYXRjaCBz
aG91bGQgY2F1c2UgSW52YWxpZEFjY2Vzc0Vycm9yIGluc3RlYWQgb2YgVGhlIG9wZXJhdGlvbiBp
cyBub3Qgc3VwcG9ydGVkLiBleHBlY3RlZCAiSW52YWxpZEFjY2Vzc0Vycm9yIiBidXQgZ290ICJO
b3RTdXBwb3J0ZWRFcnJvciIKLUZBSUwgQUVTLUNCQyAxMjgtYml0IGtleSB3aXRob3V0IGRlY3J5
cHQgdXNhZ2Ugc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3VidGxlLmRl
Y3J5cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9yLnJlc3VsdCknLCAnc3Vi
dGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAxOTItYml0IGtleSB3aXRo
b3V0IGRlY3J5cHQgdXNhZ2Ugc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
c3VidGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9yLnJlc3Vs
dCknLCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAyNTYtYml0
IGtleSB3aXRob3V0IGRlY3J5cHQgdXNhZ2Ugc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnc3VidGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVj
dG9yLnJlc3VsdCknLCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKK1BBU1MgQUVTLUNC
QyAxMjgtYml0IGtleSB3aXRob3V0IGRlY3J5cHQgdXNhZ2UgCitQQVNTIEFFUy1DQkMgMTkyLWJp
dCBrZXkgd2l0aG91dCBkZWNyeXB0IHVzYWdlIAorUEFTUyBBRVMtQ0JDIDI1Ni1iaXQga2V5IHdp
dGhvdXQgZGVjcnlwdCB1c2FnZSAKIFBBU1MgQUVTLUNCQyAxMjgtYml0IGtleSwgNjQtYml0IElW
IAogUEFTUyBBRVMtQ0JDIDEyOC1iaXQga2V5LCAxOTItYml0IElWIAogUEFTUyBBRVMtQ0JDIDE5
Mi1iaXQga2V5LCA2NC1iaXQgSVYgCiBQQVNTIEFFUy1DQkMgMTkyLWJpdCBrZXksIDE5Mi1iaXQg
SVYgCiBQQVNTIEFFUy1DQkMgMjU2LWJpdCBrZXksIDY0LWJpdCBJViAKIFBBU1MgQUVTLUNCQyAy
NTYtYml0IGtleSwgMTkyLWJpdCBJViAKLUZBSUwgQUVTLUNCQyAxMjgtYml0IGtleSwgNjQtYml0
IElWIGRlY3J5cHRpb24gc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3Vi
dGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9yLnJlc3VsdCkn
LCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAxMjgtYml0IGtl
eSwgMTkyLWJpdCBJViBkZWNyeXB0aW9uIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIHZlY3Rv
ci5yZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFFUy1DQkMg
MTkyLWJpdCBrZXksIDY0LWJpdCBJViBkZWNyeXB0aW9uIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5r
ZXksIHZlY3Rvci5yZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlM
IEFFUy1DQkMgMTkyLWJpdCBrZXksIDE5Mi1iaXQgSVYgZGVjcnlwdGlvbiBzdWJ0bGUuZGVjcnlw
dCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdWJ0bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGht
LCB2ZWN0b3Iua2V5LCB2ZWN0b3IucmVzdWx0KScsICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZp
bmVkKQotRkFJTCBBRVMtQ0JDIDI1Ni1iaXQga2V5LCA2NC1iaXQgSVYgZGVjcnlwdGlvbiBzdWJ0
bGUuZGVjcnlwdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdWJ0bGUuZGVjcnlwdCh2ZWN0b3Iu
YWxnb3JpdGhtLCB2ZWN0b3Iua2V5LCB2ZWN0b3IucmVzdWx0KScsICdzdWJ0bGUuZGVjcnlwdCcg
aXMgdW5kZWZpbmVkKQotRkFJTCBBRVMtQ0JDIDI1Ni1iaXQga2V5LCAxOTItYml0IElWIGRlY3J5
cHRpb24gc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3VidGxlLmRlY3J5
cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9yLnJlc3VsdCknLCAnc3VidGxl
LmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAxMjgtYml0IGtleSwgemVyb1Bh
ZENoYXIgc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3VidGxlLmRlY3J5
cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9yLnJlc3VsdCknLCAnc3VidGxl
LmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAxMjgtYml0IGtleSwgYmlnUGFk
Q2hhciBzdWJ0bGUuZGVjcnlwdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdWJ0bGUuZGVjcnlw
dCh2ZWN0b3IuYWxnb3JpdGhtLCB2ZWN0b3Iua2V5LCB2ZWN0b3IucmVzdWx0KScsICdzdWJ0bGUu
ZGVjcnlwdCcgaXMgdW5kZWZpbmVkKQotRkFJTCBBRVMtQ0JDIDEyOC1iaXQga2V5LCBpbmNvbnNp
c3RlbnRQYWRDaGFycyBzdWJ0bGUuZGVjcnlwdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdWJ0
bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGhtLCB2ZWN0b3Iua2V5LCB2ZWN0b3IucmVzdWx0KScs
ICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZpbmVkKQotRkFJTCBBRVMtQ0JDIDE5Mi1iaXQga2V5
LCB6ZXJvUGFkQ2hhciBzdWJ0bGUuZGVjcnlwdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdWJ0
bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGhtLCB2ZWN0b3Iua2V5LCB2ZWN0b3IucmVzdWx0KScs
ICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZpbmVkKQotRkFJTCBBRVMtQ0JDIDE5Mi1iaXQga2V5
LCBiaWdQYWRDaGFyIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N1YnRs
ZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIHZlY3Rvci5yZXN1bHQpJywg
J3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFFUy1DQkMgMTkyLWJpdCBrZXks
IGluY29uc2lzdGVudFBhZENoYXJzIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIHZlY3Rvci5y
ZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFFUy1DQkMgMjU2
LWJpdCBrZXksIHplcm9QYWRDaGFyIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIHZlY3Rvci5y
ZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFFUy1DQkMgMjU2
LWJpdCBrZXksIGJpZ1BhZENoYXIgc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnc3VidGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9yLnJl
c3VsdCknLCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAyNTYt
Yml0IGtleSwgaW5jb25zaXN0ZW50UGFkQ2hhcnMgc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnc3VidGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwg
dmVjdG9yLnJlc3VsdCknLCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKK1BBU1MgQUVT
LUNCQyAxMjgtYml0IGtleSwgNjQtYml0IElWIGRlY3J5cHRpb24gCitQQVNTIEFFUy1DQkMgMTI4
LWJpdCBrZXksIDE5Mi1iaXQgSVYgZGVjcnlwdGlvbiAKK1BBU1MgQUVTLUNCQyAxOTItYml0IGtl
eSwgNjQtYml0IElWIGRlY3J5cHRpb24gCitQQVNTIEFFUy1DQkMgMTkyLWJpdCBrZXksIDE5Mi1i
aXQgSVYgZGVjcnlwdGlvbiAKK1BBU1MgQUVTLUNCQyAyNTYtYml0IGtleSwgNjQtYml0IElWIGRl
Y3J5cHRpb24gCitQQVNTIEFFUy1DQkMgMjU2LWJpdCBrZXksIDE5Mi1iaXQgSVYgZGVjcnlwdGlv
biAKK0ZBSUwgQUVTLUNCQyAxMjgtYml0IGtleSwgemVyb1BhZENoYXIgYXNzZXJ0X3VucmVhY2hl
ZDogc2hvdWxkIGhhdmUgdGhyb3duIGV4Y2VwdGlvbiBmb3IgdGVzdCBBRVMtQ0JDIDEyOC1iaXQg
a2V5LCB6ZXJvUGFkQ2hhciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgQUVTLUNCQyAx
MjgtYml0IGtleSwgYmlnUGFkQ2hhciBhc3NlcnRfdW5yZWFjaGVkOiBzaG91bGQgaGF2ZSB0aHJv
d24gZXhjZXB0aW9uIGZvciB0ZXN0IEFFUy1DQkMgMTI4LWJpdCBrZXksIGJpZ1BhZENoYXIgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIEFFUy1DQkMgMTI4LWJpdCBrZXksIGluY29uc2lz
dGVudFBhZENoYXJzIGFzc2VydF91bnJlYWNoZWQ6IHNob3VsZCBoYXZlIHRocm93biBleGNlcHRp
b24gZm9yIHRlc3QgQUVTLUNCQyAxMjgtYml0IGtleSwgaW5jb25zaXN0ZW50UGFkQ2hhcnMgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIEFFUy1DQkMgMTkyLWJpdCBrZXksIHplcm9QYWRD
aGFyIGFzc2VydF91bnJlYWNoZWQ6IHNob3VsZCBoYXZlIHRocm93biBleGNlcHRpb24gZm9yIHRl
c3QgQUVTLUNCQyAxOTItYml0IGtleSwgemVyb1BhZENoYXIgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCitGQUlMIEFFUy1DQkMgMTkyLWJpdCBrZXksIGJpZ1BhZENoYXIgYXNzZXJ0X3VucmVhY2hl
ZDogc2hvdWxkIGhhdmUgdGhyb3duIGV4Y2VwdGlvbiBmb3IgdGVzdCBBRVMtQ0JDIDE5Mi1iaXQg
a2V5LCBiaWdQYWRDaGFyIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBBRVMtQ0JDIDE5
Mi1iaXQga2V5LCBpbmNvbnNpc3RlbnRQYWRDaGFycyBhc3NlcnRfdW5yZWFjaGVkOiBzaG91bGQg
aGF2ZSB0aHJvd24gZXhjZXB0aW9uIGZvciB0ZXN0IEFFUy1DQkMgMTkyLWJpdCBrZXksIGluY29u
c2lzdGVudFBhZENoYXJzIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBBRVMtQ0JDIDI1
Ni1iaXQga2V5LCB6ZXJvUGFkQ2hhciBhc3NlcnRfdW5yZWFjaGVkOiBzaG91bGQgaGF2ZSB0aHJv
d24gZXhjZXB0aW9uIGZvciB0ZXN0IEFFUy1DQkMgMjU2LWJpdCBrZXksIHplcm9QYWRDaGFyIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBBRVMtQ0JDIDI1Ni1iaXQga2V5LCBiaWdQYWRD
aGFyIGFzc2VydF91bnJlYWNoZWQ6IHNob3VsZCBoYXZlIHRocm93biBleGNlcHRpb24gZm9yIHRl
c3QgQUVTLUNCQyAyNTYtYml0IGtleSwgYmlnUGFkQ2hhciBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKK0ZBSUwgQUVTLUNCQyAyNTYtYml0IGtleSwgaW5jb25zaXN0ZW50UGFkQ2hhcnMgYXNzZXJ0
X3VucmVhY2hlZDogc2hvdWxkIGhhdmUgdGhyb3duIGV4Y2VwdGlvbiBmb3IgdGVzdCBBRVMtQ0JD
IDI1Ni1iaXQga2V5LCBpbmNvbnNpc3RlbnRQYWRDaGFycyBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9XZWJDcnlw
dG9BUEkvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKaW5kZXggMjJkODEwODNkN2U5N2MzYzljMTNl
MTE3ZWU4NGYxMzNiYmM5Yjk4NC4uNWQ3YmQ1N2QwMDg4OTVmNWNlYTBlOTcxODlkZjVhMzg4YWI4
YzQ1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvV2Vi
Q3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CkBAIC00NSw4ICs0NSw4IEBAIEZBSUwg
U3VidGxlQ3J5cHRvIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgY3J5cHRvLnN1YnRsZSBh
c3NlcnRfb3duX3Byb3BlcnR5CiBQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBjcnlwdG8uc3VidGxl
IAogUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiZW5jcnlwdCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBTdWJ0
bGVDcnlwdG8gaW50ZXJmYWNlOiBjYWxsaW5nIGVuY3J5cHQoQWxnb3JpdGhtSWRlbnRpZmllcixD
cnlwdG9LZXksQnVmZmVyU291cmNlKSBvbiBjcnlwdG8uc3VidGxlIHdpdGggdG9vIGZldyBhcmd1
bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1GQUlMIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6
IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNyeXB0IiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMSkgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiZGVjcnlwdCIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgotRkFJTCBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjYWxs
aW5nIGRlY3J5cHQoQWxnb3JpdGhtSWRlbnRpZmllcixDcnlwdG9LZXksQnVmZmVyU291cmNlKSBv
biBjcnlwdG8uc3VidGxlIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiZGVjcnlwdCIgbm90IGZvdW5kIGluIHByb3Rv
dHlwZSBjaGFpbgorUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjcnlwdCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAor
UEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjYWxsaW5nIGRlY3J5cHQoQWxnb3JpdGhtSWRl
bnRpZmllcixDcnlwdG9LZXksQnVmZmVyU291cmNlKSBvbiBjcnlwdG8uc3VidGxlIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBGQUlMIFN1YnRsZUNyeXB0byBp
bnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzaWduIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAoMikgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAic2lnbiIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgogRkFJTCBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBj
YWxsaW5nIHNpZ24oQWxnb3JpdGhtSWRlbnRpZmllcixDcnlwdG9LZXksQnVmZmVyU291cmNlKSBv
biBjcnlwdG8uc3VidGxlIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAic2lnbiIgbm90IGZvdW5kIGluIHByb3RvdHlw
ZSBjaGFpbgogRkFJTCBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAidmVyaWZ5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMykgYXNzZXJ0
X2luaGVyaXRzOiBwcm9wZXJ0eSAidmVyaWZ5IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWlu
Cg==
</data>
<flag name="review"
          id="317837"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295227</attachid>
            <date>2016-11-18 17:12:32 -0800</date>
            <delta_ts>2016-11-18 20:39:07 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-164739-20161118171225.patch</filename>
            <type>text/plain</type>
            <size>98564</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4ODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGVmM2I4Y2VhNjQ4MWI3
NDJhM2FhN2E5MDE3NjBjNzA2ZDA1NWUzNi4uZWM2ZDYwY2IwYTI1ZjRjN2QwZGYxMGQ4MWQxN2Vm
YWUzZWExMGYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDE2LTExLTE4ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIFN1YnRsZUNy
eXB0bzo6ZGVjcnlwdCB0byBtYXRjaCB0aGUgbGF0ZXN0IHNwZWMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDczOQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjkyNTc4NDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGRvZXMgZm9sbG93aW5nIGZldyB0aGluZ3M6CisgICAgICAgIDEu
IEl0IHVwZGF0ZXMgdGhlIFN1YnRsZUNyeXB0bzo6ZGVjcnlwdCBtZXRob2QgdG8gbWF0Y2ggdGhl
IGxhdGVzdCBzcGVjOgorICAgICAgICAgICBodHRwczovL3d3dy53My5vcmcvVFIvV2ViQ3J5cHRv
QVBJLyNTdWJ0bGVDcnlwdG8tbWV0aG9kLWRlY3J5cHQuCisgICAgICAgICAgIEl0IGFsc28gcmVm
ZXJzIHRvIHRoZSBsYXRlc3QgRWRpdG9yJ3MgRHJhZnQgdG8gYSBjZXJ0YWluIGRlZ3JlZToKKyAg
ICAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmNyeXB0by9PdmVydmlldy5odG1sI1N1
YnRsZUNyeXB0by1tZXRob2QtZGVjcnlwdC4KKyAgICAgICAgMi4gSXQgaW1wbGVtZW50cyBkZWNy
eXB0IG9wZXJhdGlvbnMgb2YgdGhlIGZvbGxvd2luZyBhbGdvcml0aG1zOiBBRVMtQ0JDLAorICAg
ICAgICAgICBSU0FFUy1QS0NTMS1WMV81LCBhbmQgUlNBLU9BRVAuCisKKyAgICAgICAgVGVzdHM6
IGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwK
KyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1rZXktZW5jcnlw
dC1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBv
cnQta2V5LWRlY3J5cHQuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9kZWNyeXB0
LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUv
cnNhLW9hZXAtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisgICAgICAgICAgICAg
ICBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtbGFi
ZWwuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1r
ZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNh
LW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LWxhYmVsLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0
by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAg
IGNyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNy
eXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1p
bXBvcnQta2V5LWRlY3J5cHQuaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL2Flcy1jYmMtaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0
by93b3JrZXJzL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbAorICAgICAg
ICAgICAgICAgY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtaW1wb3J0LWtl
eS1kZWNyeXB0Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6dG9DcnlwdG9LZXkpOgorICAgICAgICAoV2ViQ29y
ZTo6dG9WZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkVu
Y3J5cHRQcm9taXNlKToKKyAgICAgICAgKFdlYkNvcmU6OmpzU3VidGxlQ3J5cHRvRnVuY3Rpb25E
ZWNyeXB0UHJvbWlzZSk6CisgICAgICAgIChXZWJDb3JlOjpqc1N1YnRsZUNyeXB0b0Z1bmN0aW9u
RXhwb3J0S2V5UHJvbWlzZSk6CisgICAgICAgIChXZWJDb3JlOjpKU1N1YnRsZUNyeXB0bzo6ZGVj
cnlwdCk6CisgICAgICAgICogY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDcnlwdG9BbGdvcml0aG06OmRlY3J5cHQpOgorICAgICAgICAqIGNyeXB0by9Dcnlw
dG9BbGdvcml0aG0uaDoKKyAgICAgICAgKiBjcnlwdG8vU3VidGxlQ3J5cHRvLmlkbDoKKyAgICAg
ICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUFFU19DQkM6OmRlY3J5cHQpOgorICAgICAgICAq
IGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaDoKKyAgICAgICAgKiBj
cnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OmRlY3J5cHQp
OgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1Mx
X3YxXzUuaDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0Ff
T0FFUC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6ZGVj
cnlwdCk6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBX09B
RVAuaDoKKyAgICAgICAgKiBjcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobUFFU19DQkNHbnVU
TFMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6cGxhdGZv
cm1EZWNyeXB0KToKKyAgICAgICAgKiBjcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobVJTQUVT
X1BLQ1MxX3YxXzVHbnVUTFMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGht
UlNBRVNfUEtDUzFfdjFfNTo6cGxhdGZvcm1EZWNyeXB0KToKKyAgICAgICAgKiBjcnlwdG8vZ251
dGxzL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQR251VExTLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpwbGF0Zm9ybURlY3J5cHQpOgorICAgICAgICAqIGNy
eXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQ01hYy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpwbGF0Zm9ybURlY3J5cHQpOgorICAgICAgICAqIGNy
eXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNU1hYy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpkZWNyeXB0UlNBRVNfUEtDUzFfdjFfNSk6CisgICAgICAgIChXZWJDb3JlOjpD
cnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpwbGF0Zm9ybURlY3J5cHQpOgorICAgICAg
ICAqIGNyeXB0by9tYWMvQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVBNYWMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVjcnlwdFJTQV9PQUVQKToKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29y
aXRobVJTQV9PQUVQOjpwbGF0Zm9ybURlY3J5cHQpOgorCiAyMDE2LTExLTE3ICBKaWV3ZW4gVGFu
ICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFN1YnRsZUNyeXB0bzo6
ZW5jcnlwdCB0byBtYXRjaCB0aGUgbGF0ZXN0IHNwZWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcAppbmRleCAzZDRkOTVkZmMwNmNl
ZjllZWU5Yzg5NzM3MjkyNzI2YWEyMDRjM2VjLi5kMWEyNjcyZTZiMTRjYzQ1NzUzYzZlYWFjYmEx
NzdkOTAxMmE3OTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1
YnRsZUNyeXB0b0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNT
dWJ0bGVDcnlwdG9DdXN0b20uY3BwCkBAIC01Myw2ICs1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogZW51bSBjbGFzcyBPcGVyYXRpb25zIHsKICAgICBFbmNyeXB0LAorICAgIERlY3J5cHQs
CiAgICAgRGlnZXN0LAogICAgIEdlbmVyYXRlS2V5LAogICAgIEltcG9ydEtleSwKQEAgLTk0LDYg
Kzk1LDcgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiBub3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJhbWUKICAgICAgICAgc3RkOjp1bmlxdWVfcHRy
PENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+IHJlc3VsdDsKICAgICAgICAgc3dpdGNoIChvcGVy
YXRpb24pIHsKICAgICAgICAgY2FzZSBPcGVyYXRpb25zOjpFbmNyeXB0OgorICAgICAgICBjYXNl
IE9wZXJhdGlvbnM6OkRlY3J5cHQ6CiAgICAgICAgICAgICBzd2l0Y2ggKCppZGVudGlmaWVyKSB7
CiAgICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlJTQUVTX1BLQ1Mx
X3YxXzU6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gc3RkOjptYWtlX3VuaXF1ZTxDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzPihwYXJhbXMpOwpAQCAtMzg4LDYgKzM5MCwzMiBAQCBzdGF0aWMg
SlNWYWx1ZSB0b0pTVmFsdWVGcm9tSnNvbldlYktleShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0LCBKc29uV2ViSwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK3N0YXRpYyBSZWZQdHI8
Q3J5cHRvS2V5PiB0b0NyeXB0b0tleShFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlKQor
eworICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworCisgICAgUmVmUHRyPENyeXB0b0tleT4gcmVzdWx0ID0gSlNDcnlwdG9L
ZXk6OnRvV3JhcHBlZCh2YWx1ZSk7CisgICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAgdGhyb3dU
eXBlRXJyb3IoJnN0YXRlLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJJbnZhbGlkIENyeXB0b0tleSIp
KTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9
CisKK3N0YXRpYyBWZWN0b3I8dWludDhfdD4gdG9WZWN0b3IoRXhlY1N0YXRlJiBzdGF0ZSwgSlNW
YWx1ZSB2YWx1ZSkKK3sKKyAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOworICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgIEJ1ZmZlclNvdXJjZSBkYXRhID0gY29u
dmVydDxJRExCdWZmZXJTb3VyY2U+KHN0YXRlLCB2YWx1ZSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgeyB9KTsKKyAgICBWZWN0b3I8dWludDhfdD4gZGF0YVZlY3RvcjsKKyAgICBk
YXRhVmVjdG9yLmFwcGVuZChkYXRhLmRhdGEoKSwgZGF0YS5sZW5ndGgoKSk7CisKKyAgICByZXR1
cm4gZGF0YVZlY3RvcjsKK30KKwogc3RhdGljIHZvaWQganNTdWJ0bGVDcnlwdG9GdW5jdGlvbkVu
Y3J5cHRQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJv
bWlzZSkKIHsKICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwpAQCAtNDAxLDE2ICs0MjksMTEgQEAg
c3RhdGljIHZvaWQganNTdWJ0bGVDcnlwdG9GdW5jdGlvbkVuY3J5cHRQcm9taXNlKEV4ZWNTdGF0
ZSYgc3RhdGUsIFJlZjxEZWZlcnJlZFAKICAgICBhdXRvIHBhcmFtcyA9IG5vcm1hbGl6ZUNyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnMoc3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDApLCBP
cGVyYXRpb25zOjpFbmNyeXB0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lk
KCkpOwogCi0gICAgUmVmUHRyPENyeXB0b0tleT4ga2V5ID0gSlNDcnlwdG9LZXk6OnRvV3JhcHBl
ZChzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgxKSk7Ci0gICAgaWYgKCFrZXkpIHsKLSAgICAgICAg
cHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJJbnZhbGlkIENyeXB0b0tl
eSIpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBhdXRvIGtleSA9IHRvQ3J5cHRvS2V5
KHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgxKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgdm9pZCgpKTsKIAotICAgIEJ1ZmZlclNvdXJjZSBkYXRhID0gY29udmVydDxJ
RExCdWZmZXJTb3VyY2U+KHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgyKSk7CisgICAg
YXV0byBkYXRhID0gdG9WZWN0b3Ioc3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDIpKTsK
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIFZlY3Rvcjx1aW50
OF90PiBkYXRhVmVjdG9yOwotICAgIGRhdGFWZWN0b3IuYXBwZW5kKGRhdGEuZGF0YSgpLCBkYXRh
Lmxlbmd0aCgpKTsKIAogICAgIGlmIChwYXJhbXMtPmlkZW50aWZpZXIgIT0ga2V5LT5hbGdvcml0
aG1JZGVudGlmaWVyKCkpIHsKICAgICAgICAgcHJvbWlzZS0+cmVqZWN0KElOVkFMSURfQUNDRVNT
X0VSUiwgQVNDSUlMaXRlcmFsKCJDcnlwdG9LZXkgZG9lc24ndCBtYXRjaCBBbGdvcml0aG1JZGVu
dGlmaWVyIikpOwpAQCAtNDM1LDcgKzQ1OCw1MiBAQCBzdGF0aWMgdm9pZCBqc1N1YnRsZUNyeXB0
b0Z1bmN0aW9uRW5jcnlwdFByb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwgUmVmPERlZmVycmVkUAog
CiAgICAgSlNTdWJ0bGVDcnlwdG8qIHN1YnRsZSA9IGpzRHluYW1pY0Rvd25jYXN0PEpTU3VidGxl
Q3J5cHRvKj4oc3RhdGUudGhpc1ZhbHVlKCkpOwogICAgIEFTU0VSVChzdWJ0bGUpOwotICAgIGFs
Z29yaXRobS0+ZW5jcnlwdChXVEZNb3ZlKHBhcmFtcyksIGtleS5yZWxlYXNlTm9uTnVsbCgpLCBX
VEZNb3ZlKGRhdGFWZWN0b3IpLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25D
YWxsYmFjayksICpzY3JpcHRFeGVjdXRpb25Db250ZXh0RnJvbUV4ZWNTdGF0ZSgmc3RhdGUpLCBz
dWJ0bGUtPndyYXBwZWQoKS53b3JrUXVldWUoKSk7CisgICAgYWxnb3JpdGhtLT5lbmNyeXB0KFdU
Rk1vdmUocGFyYW1zKSwga2V5LnJlbGVhc2VOb25OdWxsKCksIFdURk1vdmUoZGF0YSksIFdURk1v
dmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgKnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRGcm9tRXhlY1N0YXRlKCZzdGF0ZSksIHN1YnRsZS0+d3JhcHBlZCgpLndvcmtRdWV1
ZSgpKTsKK30KKworc3RhdGljIHZvaWQganNTdWJ0bGVDcnlwdG9GdW5jdGlvbkRlY3J5cHRQcm9t
aXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sK
KyAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKKworICAgIGlmIChVTkxJS0VMWShzdGF0ZS5hcmd1bWVudENvdW50KCkgPCAz
KSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3Q8SlNWYWx1ZT4oY3JlYXRlTm90RW5vdWdoQXJn
dW1lbnRzRXJyb3IoJnN0YXRlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRv
IHBhcmFtcyA9IG5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMoc3RhdGUsIHN0YXRl
LnVuY2hlY2tlZEFyZ3VtZW50KDApLCBPcGVyYXRpb25zOjpEZWNyeXB0KTsKKyAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworCisgICAgYXV0byBrZXkgPSB0b0NyeXB0b0tl
eShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMSkpOworICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAgICBhdXRvIGRhdGEgPSB0b1ZlY3RvcihzdGF0ZSwg
c3RhdGUudW5jaGVja2VkQXJndW1lbnQoMikpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIHZvaWQoKSk7CisKKyAgICBpZiAocGFyYW1zLT5pZGVudGlmaWVyICE9IGtleS0+YWxnb3Jp
dGhtSWRlbnRpZmllcigpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChJTlZBTElEX0FDQ0VT
U19FUlIsIEFTQ0lJTGl0ZXJhbCgiQ3J5cHRvS2V5IGRvZXNuJ3QgbWF0Y2ggQWxnb3JpdGhtSWRl
bnRpZmllciIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICgha2V5LT5hbGxv
d3MoQ3J5cHRvS2V5VXNhZ2VEZWNyeXB0KSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3QoSU5W
QUxJRF9BQ0NFU1NfRVJSLCBBU0NJSUxpdGVyYWwoIkNyeXB0b0tleSBkb2Vzbid0IHN1cHBvcnQg
ZGVjcnlwdGlvbiIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gYWxnb3Jp
dGhtID0gY3JlYXRlQWxnb3JpdGhtKHN0YXRlLCBrZXktPmFsZ29yaXRobUlkZW50aWZpZXIoKSk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKworICAgIGF1dG8gY2Fs
bGJhY2sgPSBbY2FwdHVyZWRQcm9taXNlID0gcHJvbWlzZS5jb3B5UmVmKCldKGNvbnN0IFZlY3Rv
cjx1aW50OF90PiYgY2lwaGVyVGV4dCkgbXV0YWJsZSB7CisgICAgICAgIGZ1bGZpbGxQcm9taXNl
V2l0aEFycmF5QnVmZmVyKFdURk1vdmUoY2FwdHVyZWRQcm9taXNlKSwgY2lwaGVyVGV4dC5kYXRh
KCksIGNpcGhlclRleHQuc2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH07CisgICAgYXV0
byBleGNlcHRpb25DYWxsYmFjayA9IFtjYXB0dXJlZFByb21pc2UgPSBwcm9taXNlLmNvcHlSZWYo
KV0oRXhjZXB0aW9uQ29kZSBlYykgbXV0YWJsZSB7CisgICAgICAgIHJlamVjdFdpdGhFeGNlcHRp
b24oV1RGTW92ZShjYXB0dXJlZFByb21pc2UpLCBlYyk7CisgICAgfTsKKworICAgIEpTU3VidGxl
Q3J5cHRvKiBzdWJ0bGUgPSBqc0R5bmFtaWNEb3duY2FzdDxKU1N1YnRsZUNyeXB0byo+KHN0YXRl
LnRoaXNWYWx1ZSgpKTsKKyAgICBBU1NFUlQoc3VidGxlKTsKKyAgICBhbGdvcml0aG0tPmRlY3J5
cHQoV1RGTW92ZShwYXJhbXMpLCBrZXkucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShkYXRhKSwg
V1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCAqc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dEZyb21FeGVjU3RhdGUoJnN0YXRlKSwgc3VidGxlLT53cmFwcGVkKCkud29y
a1F1ZXVlKCkpOwogfQogCiBzdGF0aWMgdm9pZCBqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uR2VuZXJh
dGVLZXlQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJv
bWlzZSkKQEAgLTU0NSwxMSArNjEzLDggQEAgc3RhdGljIHZvaWQganNTdWJ0bGVDcnlwdG9GdW5j
dGlvbkV4cG9ydEtleVByb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwgUmVmPERlZmVycmUKICAgICBh
dXRvIGZvcm1hdCA9IGNvbnZlcnRFbnVtZXJhdGlvbjxTdWJ0bGVDcnlwdG86OktleUZvcm1hdD4o
c3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDApKTsKICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgUmVmUHRyPENyeXB0b0tleT4ga2V5ID0gSlNDcnlw
dG9LZXk6OnRvV3JhcHBlZChzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgxKSk7Ci0gICAgaWYgKCFr
ZXkpIHsKLSAgICAgICAgcHJvbWlzZS0+cmVqZWN0KFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJJ
bnZhbGlkIENyeXB0b0tleSIpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBhdXRvIGtl
eSA9IHRvQ3J5cHRvS2V5KHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgxKSk7CisgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKIAogICAgIHN3aXRjaCAoa2V5LT5h
bGdvcml0aG1JZGVudGlmaWVyKCkpIHsKICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZp
ZXI6OlJTQUVTX1BLQ1MxX3YxXzU6CkBAIC02MDcsNiArNjcyLDExIEBAIEpTVmFsdWUgSlNTdWJ0
bGVDcnlwdG86OmVuY3J5cHQoRXhlY1N0YXRlJiBzdGF0ZSkKICAgICByZXR1cm4gY2FsbFByb21p
c2VGdW5jdGlvbjxqc1N1YnRsZUNyeXB0b0Z1bmN0aW9uRW5jcnlwdFByb21pc2UsIFByb21pc2VF
eGVjdXRpb25TY29wZTo6V2luZG93T3JXb3JrZXI+KHN0YXRlKTsKIH0KIAorSlNWYWx1ZSBKU1N1
YnRsZUNyeXB0bzo6ZGVjcnlwdChFeGVjU3RhdGUmIHN0YXRlKQoreworICAgIHJldHVybiBjYWxs
UHJvbWlzZUZ1bmN0aW9uPGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25EZWNyeXB0UHJvbWlzZSwgUHJv
bWlzZUV4ZWN1dGlvblNjb3BlOjpXaW5kb3dPcldvcmtlcj4oc3RhdGUpOworfQorCiBKU1ZhbHVl
IEpTU3VidGxlQ3J5cHRvOjpnZW5lcmF0ZUtleShFeGVjU3RhdGUmIHN0YXRlKQogewogICAgIHJl
dHVybiBjYWxsUHJvbWlzZUZ1bmN0aW9uPGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25HZW5lcmF0ZUtl
eVByb21pc2UsIFByb21pc2VFeGVjdXRpb25TY29wZTo6V2luZG93T3JXb3JrZXI+KHN0YXRlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uY3BwIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHAKaW5kZXggZDQxODUwYzhj
NjM0Mjg4MjIwZjkzMDQxYjNlM2FkZTY5NjE5OTIxYi4uODUxMjc5Y2UyNDc3Yjg2YjIxNjFkNzNh
OTZjNzhiYzQyZDFjMTI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0
b0FsZ29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRo
bS5jcHAKQEAgLTM3LDYgKzM3LDExIEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtOjplbmNyeXB0KHN0
ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8CiAgICAgZXhj
ZXB0aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9FUlIpOwogfQogCit2b2lkIENyeXB0b0FsZ29y
aXRobTo6ZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4m
JiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYs
IEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBXb3JrUXVldWUmKQoreworICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE5PVF9TVVBQT1JU
RURfRVJSKTsKK30KKwogdm9pZCBDcnlwdG9BbGdvcml0aG06OmdlbmVyYXRlS2V5KGNvbnN0IHN0
ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
JiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpCiB7CiAgICAgZXhj
ZXB0aW9uQ2FsbGJhY2soTk9UX1NVUFBPUlRFRF9FUlIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL0Ny
eXB0b0FsZ29yaXRobS5oCmluZGV4IDQwODA5M2VhYjMxMjcyMzA5YTEwYThmMzYxODQxNzFlMWQz
ZDJjMzAuLjgzMmI5OTRmNmE2Yzk1MDI2YTYwY2JjZTRhZDNjYmNhODRjNWQ2N2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmgKQEAgLTY1LDYgKzY1LDcgQEAgcHVibGlj
OgogICAgIHVzaW5nIEtleURhdGFDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChTdWJ0bGVD
cnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmKT47CiAKICAgICB2aXJ0dWFsIHZvaWQgZW5jcnlw
dChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0
b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNh
bGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNr
JiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVl
dWUmKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRy
PENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tl
eVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYm
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAgICAgdmlydHVhbCB2b2lkIGltcG9ydEtleShT
dWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5
VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpOwogICAgIHZp
cnR1YWwgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9L
ZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9TdWJ0bGVDcnlwdG8uaWRsIGIvU291cmNlL1dlYkNv
cmUvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwKaW5kZXggMTQ1ZWVhMGIzZTNiZDhjYTQ0Nzc0NjRl
NTYxNWZkODNkZjE3YjY1MS4uZWQxYTY0NDYyOWI4NWJlZjZlNDYxYmNmZTZhMGJlZmY2Yjc2MmNj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL1N1YnRsZUNyeXB0by5pZGwKQEAgLTMyLDYgKzMyLDcg
QEAgZW51bSBLZXlGb3JtYXQgeyAicmF3IiwgInNwa2kiLCAicGtjczgiLCAiandrIiB9OwogICAg
IE5vSW50ZXJmYWNlT2JqZWN0LAogXSBpbnRlcmZhY2UgU3VidGxlQ3J5cHRvIHsKICAgICBbQ3Vz
dG9tXSBQcm9taXNlPGFueT4gZW5jcnlwdChBbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRobSwg
Q3J5cHRvS2V5IGtleSwgQnVmZmVyU291cmNlIGRhdGEpOworICAgIFtDdXN0b21dIFByb21pc2U8
YW55PiBkZWNyeXB0KEFsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBDcnlwdG9LZXkga2V5
LCBCdWZmZXJTb3VyY2UgZGF0YSk7CiAgICAgLy8gRklYTUU6IFNob3VsZCB0aGlzIHJldHVybiBh
IFByb21pc2U8KENyeXB0b0tleSBvciBDcnlwdG9LZXlQYWlyKT4/CiAgICAgW0N1c3RvbV0gUHJv
bWlzZTxhbnk+IGdlbmVyYXRlS2V5KEFsZ29yaXRobUlkZW50aWZpZXIgYWxnb3JpdGhtLCBib29s
ZWFuIGV4dHJhY3RhYmxlLCBzZXF1ZW5jZTxDcnlwdG9LZXlVc2FnZT4ga2V5VXNhZ2VzKTsKICAg
ICBbQ3VzdG9tXSBQcm9taXNlPENyeXB0b0tleT4gaW1wb3J0S2V5KEtleUZvcm1hdCBmb3JtYXQs
IChCdWZmZXJTb3VyY2Ugb3IgSnNvbldlYktleSkga2V5RGF0YSwgQWxnb3JpdGhtSWRlbnRpZmll
ciBhbGdvcml0aG0sIGJvb2xlbiBleHRyYWN0YWJsZSwgc2VxdWVuY2U8Q3J5cHRvS2V5VXNhZ2U+
IGtleVVzYWdlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCmluZGV4IDkwNTMwNDY3YjAwMzkwODRi
YWMxYzE5OTY3NTUxMjYyMGY3YjlmNjcuLjZiOGZlZmQ3MjZlNzgxMTRhNTY4ZTA4YzcyMjhhMzdh
MTdmMGUxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwCkBAIC03Nyw2ICs3NywxNyBAQCB2b2lk
IENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+JgogICAgIHBsYXRmb3JtRW5jcnlwdChXVEZNb3ZlKHBhcmFtZXRl
cnMpLCBXVEZNb3ZlKGtleSksIFdURk1vdmUocGxhaW5UZXh0KSwgV1RGTW92ZShjYWxsYmFjayks
IFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spLCBjb250ZXh0LCB3b3JrUXVldWUpOwogfQogCit2
b2lkIENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmRlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXks
IFZlY3Rvcjx1aW50OF90PiYmIGNpcGhlclRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ss
IEV4Y2VwdGlvbkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQoreworICAgIEFTU0VSVChwYXJh
bWV0ZXJzKTsKKyAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3Jp
dGhtQWVzQ2JjUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAgaWYgKGFlc1BhcmFtZXRlcnMuaXZW
ZWN0b3IoKS5zaXplKCkgIT0gSVZTSVpFKSB7CisgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE9w
ZXJhdGlvbkVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBwbGF0Zm9ybURlY3J5
cHQoV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGTW92ZShrZXkpLCBXVEZNb3ZlKGNpcGhlclRleHQp
LCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGNvbnRleHQs
IHdvcmtRdWV1ZSk7Cit9CisKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6Z2VuZXJhdGVL
ZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFy
YW1ldGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBL
ZXlPcktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2Vw
dGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JikKIHsKICAgICBBU1NFUlQocGFy
YW1ldGVycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1BRVNfQ0JDLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmgKaW5kZXggYjIyYzlhMzQyZDdlZjNiOGMzMTllNmY0
NTk5YjFmNDAwYzkzMjQ4Yi4uMTQ4NWMxMWE3N2YzNTI5M2UxNWYwODFmMTllOWM1ODdjNTM3ZjE4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUFFU19DQkMuaApAQCAtNDUsNiArNDUsNyBAQCBwcml2YXRlOgogICAgIENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOwogCiAgICAg
dm9pZCBlbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYm
LCBSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwg
RXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYp
IGZpbmFsOworICAgIHZvaWQgZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3Rv
ckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBXb3JrUXVldWUmKSBmaW5hbDsKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5p
cXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2Fs
bGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIGZpbmFsOwogICAgIHZvaWQgaW1wb3J0
S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVl
X3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlw
dG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmlu
YWw7CiAgICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxDcnlw
dG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsK
QEAgLTU2LDYgKzU3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wga2V5QWxnb3JpdGhtTWF0Y2hl
cyhjb25zdCBDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXNEZXByZWNhdGVkJiBhbGdvcml0aG1Q
YXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9LZXkmKSBjb25zdDsKICAgICB2b2lkIHBsYXRmb3JtRW5j
cnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENy
eXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlv
bkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKTsKKyAgICB2
b2lkIHBsYXRmb3JtRGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxi
YWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3Jr
UXVldWUmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBwbGF0Zm9ybUVuY3J5cHQoY29uc3QgQ3J5
cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleUFFUyYs
IGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJh
Y2smJiBmYWlsdXJlQ2FsbGJhY2spOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBsYXRmb3JtRGVj
cnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXNEZXByZWNhdGVkJiwgY29uc3Qg
Q3J5cHRvS2V5QUVTJiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNr
JiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFf
djFfNS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1SU0FFU19QS0NTMV92MV81LmNwcAppbmRleCA2Nzc3ZWVkN2NkYTcxMzIxNjU2ZWY4NzAwNmZi
MzkyNWE1MWNlMTVkLi41YWY1NWU5NzFmYzVlYTYyNTk5NGRkM2M0ZTFhYzg3MzZjMTQ4NmU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1SU0FFU19QS0NTMV92MV81LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcApAQCAtNjgsNiArNjgsMTUg
QEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjplbmNyeXB0KHN0ZDo6dW5p
cXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXIKICAgICBwbGF0Zm9ybUVuY3J5cHQoV1RGTW92ZShr
ZXkpLCBXVEZNb3ZlKHBsYWluVGV4dCksIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2Vw
dGlvbkNhbGxiYWNrKSwgY29udGV4dCwgd29ya1F1ZXVlKTsKIH0KIAordm9pZCBDcnlwdG9BbGdv
cml0aG1SU0FFU19QS0NTMV92MV81OjpkZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+
JiYgY2lwaGVyVGV4dCwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJh
Y2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
V29ya1F1ZXVlJiB3b3JrUXVldWUpCit7CisgICAgaWYgKGtleS0+dHlwZSgpICE9IENyeXB0b0tl
eVR5cGU6OlByaXZhdGUpIHsKKyAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soSU5WQUxJRF9BQ0NF
U1NfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBwbGF0Zm9ybURlY3J5cHQoV1RG
TW92ZShrZXkpLCBXVEZNb3ZlKGNpcGhlclRleHQpLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92
ZShleGNlcHRpb25DYWxsYmFjayksIGNvbnRleHQsIHdvcmtRdWV1ZSk7Cit9CisKIHZvaWQgQ3J5
cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNTo6Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlx
dWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFyYW1ldGVycywgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFj
ayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogewogICAgIEFTU0VSVChwYXJhbWV0ZXJzKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29y
aXRobVJTQUVTX1BLQ1MxX3YxXzUuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuaAppbmRleCA1YWNmMjRjNWY4YWVhMDlj
MDQwYTVjYjU1MzFkOWM0NzY5Njk1YTA4Li5lZGE4ZWNlMjQ4NGQ5N2JjZGExN2U1YWQzYTdlM2Zj
NDdhNWE0M2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9D
cnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5oCkBAIC00NSw2
ICs0NSw3IEBAIHByaXZhdGU6CiAgICAgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlm
aWVyKCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIGVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50
OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJikgZmluYWw7CisgICAgdm9pZCBkZWNyeXB0KHN0ZDo6
dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYm
LCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2sm
JiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpIGZpbmFsOwogICAgIHZvaWQg
Z2VuZXJhdGVLZXkoY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBh
aXJDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
JikgZmluYWw7CiAgICAgdm9pZCBpbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtl
eURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+
JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYm
LCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIGV4cG9ydEtleShTdWJ0bGVD
cnlwdG86OktleUZvcm1hdCwgUmVmPENyeXB0b0tleT4mJiwgS2V5RGF0YUNhbGxiYWNrJiYsIEV4
Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwpAQCAtNTYsNiArNTcsNyBAQCBwcml2YXRlOgogCiAg
ICAgYm9vbCBrZXlBbGdvcml0aG1NYXRjaGVzKGNvbnN0IENyeXB0b0tleSYpIGNvbnN0OwogICAg
IHZvaWQgcGxhdGZvcm1FbmNyeXB0KFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYm
LCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgV29ya1F1ZXVlJik7CisgICAgdm9pZCBwbGF0Zm9ybURlY3J5cHQoUmVmPENyeXB0
b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNh
bGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKTsKICAgICBFeGNl
cHRpb25Pcjx2b2lkPiBwbGF0Zm9ybUVuY3J5cHQoY29uc3QgQ3J5cHRvS2V5UlNBJiwgY29uc3Qg
Q3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZh
aWx1cmVDYWxsYmFjayk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcGxhdGZvcm1EZWNyeXB0KGNv
bnN0IENyeXB0b0tleVJTQSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxs
YmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQ
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobVJT
QV9PQUVQLmNwcAppbmRleCA4N2ZhZDIzYTQxOWE3MmU0YTIzMWM3Mzg2OGIyNjJjMTlkMmEyN2Y0
Li4zMjUxNDMxYTFmYWQwMjBkNTAwNDAyMjc0YTQ4OThmMTkyY2NkMjViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGht
UlNBX09BRVAuY3BwCkBAIC03OCw2ICs3OCwxNSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9P
QUVQOjplbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPgog
ICAgIHBsYXRmb3JtRW5jcnlwdChXVEZNb3ZlKHBhcmFtZXRlcnMpLCBXVEZNb3ZlKGtleSksIFdU
Rk1vdmUocGxhaW5UZXh0KSwgV1RGTW92ZShjYWxsYmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2Fs
bGJhY2spLCBjb250ZXh0LCB3b3JrUXVldWUpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobVJT
QV9PQUVQOjpkZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiYmIHBhcmFtZXRlcnMsIFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4mJiBj
aXBoZXJUZXh0LCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYm
IGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBXb3Jr
UXVldWUmIHdvcmtRdWV1ZSkKK3sKKyAgICBBU1NFUlQocGFyYW1ldGVycyk7CisgICAgaWYgKGtl
eS0+dHlwZSgpICE9IENyeXB0b0tleVR5cGU6OlByaXZhdGUpIHsKKyAgICAgICAgZXhjZXB0aW9u
Q2FsbGJhY2soSU5WQUxJRF9BQ0NFU1NfRVJSKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBwbGF0Zm9ybURlY3J5cHQoV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGTW92ZShrZXkpLCBXVEZN
b3ZlKGNpcGhlclRleHQpLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxs
YmFjayksIGNvbnRleHQsIHdvcmtRdWV1ZSk7Cit9CiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNB
X09BRVA6OmdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
Qml0bWFwIHVzYWdlcywgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9u
Q2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobVJTQV9PQUVQLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGht
cy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUC5oCmluZGV4IDFjNzJjYWQ3ZDdiZGIzZjRkNjQ5MDkw
YTFlYWQ5OGRhYTI1MGZlYzIuLmU3Y2IzZDkwNDliZWU1OWI5MjQ1ZDI5OGE1YWFmYzM4MzA1ZGYx
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0Fs
Z29yaXRobVJTQV9PQUVQLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVAuaApAQCAtNDUsNiArNDUsNyBAQCBwcml2YXRlOgogICAg
IENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IGZpbmFsOwogCiAg
ICAgdm9pZCBlbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
PiYmLCBSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2sm
JiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1
ZSYpIGZpbmFsOworICAgIHZvaWQgZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZl
Y3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBXb3JrUXVldWUmKSBmaW5hbDsKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IHN0ZDo6
dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxl
LCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9u
Q2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIGZpbmFsOwogICAgIHZvaWQgaW1w
b3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5p
cXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBD
cnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikg
ZmluYWw7CiAgICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxD
cnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5h
bDsKQEAgLTU2LDYgKzU3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wga2V5QWxnb3JpdGhtTWF0
Y2hlcyhjb25zdCBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zRGVwcmVjYXRlZCYgYWxnb3Jp
dGhtUGFyYW1ldGVycywgY29uc3QgQ3J5cHRvS2V5JikgY29uc3Q7CiAgICAgdm9pZCBwbGF0Zm9y
bUVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIFJl
ZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNl
cHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJik7Cisg
ICAgdm9pZCBwbGF0Zm9ybURlY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JD
YWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
V29ya1F1ZXVlJik7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcGxhdGZvcm1FbmNyeXB0KGNvbnN0
IENyeXB0b0FsZ29yaXRobVJzYU9hZXBQYXJhbXNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5
UlNBJiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRD
YWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjayk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcGxhdGZv
cm1EZWNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVJzYU9hZXBQYXJhbXNEZXByZWNhdGVkJiwg
Y29uc3QgQ3J5cHRvS2V5UlNBJiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3RvckNh
bGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDR251
VExTLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvQWxnb3JpdGhtQUVT
X0NCQ0dudVRMUy5jcHAKaW5kZXggNzI2MmZmODdkNzBmYzhmYjlkNGZkMDVlMDkxYmJiM2NiYWRm
OTQzZC4uYzFkMmQyOWNhNWJhMzJjZDhjNWY1NDhjNDJhM2M1M2Y1ZDc3ZDJlMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDR251
VExTLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRo
bUFFU19DQkNHbnVUTFMuY3BwCkBAIC0zOCw2ICszOCwxMSBAQCB2b2lkIENyeXB0b0FsZ29yaXRo
bUFFU19DQkM6OnBsYXRmb3JtRW5jcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGht
UGFyYQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVT
X0NCQzo6cGxhdGZvcm1EZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2Fs
bGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdv
cmtRdWV1ZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogRXhjZXB0aW9uT3I8dm9p
ZD4gQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1FbmNyeXB0KGNvbnN0IENyeXB0b0Fs
Z29yaXRobUFlc0NiY1BhcmFtc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXlBRVMmLCBjb25z
dCBDcnlwdG9PcGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYp
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9nbnV0bHMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNUdudVRMUy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3Yx
XzVHbnVUTFMuY3BwCmluZGV4IGVhMGU3YzUyNjAwMmE1NWJiOTY1ZmIyYzI5NGIwNjY2NDc2NmFl
ZTEuLmRiZDljZGJkNDFmODMzNmEyOTdiZGZjZGY3YTBlNWYxNDliYzRiZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nbnV0bHMvQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFf
djFfNUdudVRMUy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dudXRscy9DcnlwdG9B
bGdvcml0aG1SU0FFU19QS0NTMV92MV81R251VExTLmNwcApAQCAtMzksNiArMzksMTEgQEAgdm9p
ZCBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpwbGF0Zm9ybUVuY3J5cHQoUmVmPENy
eXB0b0tleT4mJiwgVmVjdG9yPHUKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIENy
eXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OnBsYXRmb3JtRGVjcnlwdChSZWY8Q3J5cHRv
S2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2Fs
bGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtUlNB
RVNfUEtDUzFfdjFfNTo6cGxhdGZvcm1FbmNyeXB0KGNvbnN0IENyeXB0b0tleVJTQSYsIGNvbnN0
IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJikK
IHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5
cHRvL2dudXRscy9DcnlwdG9BbGdvcml0aG1SU0FfT0FFUEdudVRMUy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQR251VExTLmNwcAppbmRl
eCBjODViOTFjOGQyZDAxN2NkODI1MDRhNTQ3ZmI2ZWFiZmNjOGNlN2M2Li5iZTRiZTNiZDg1YWI2
MTliZTViZjU2NTY4NThmNWViNDlhNGQ4YmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQR251VExTLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vZ251dGxzL0NyeXB0b0FsZ29yaXRobVJTQV9PQUVQR251VExTLmNw
cApAQCAtMzgsNiArMzgsMTEgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6cGxhdGZv
cm1FbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXIKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQogCit2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpwbGF0Zm9ybURl
Y3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIFJlZjxD
cnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRp
b25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJikKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0
aG1SU0FfT0FFUDo6cGxhdGZvcm1FbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVJzYU9hZXBQ
YXJhbXNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5UlNBJiwgY29uc3QgQ3J5cHRvT3BlcmF0
aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmKQogewogICAgIG5vdElt
cGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0
b0FsZ29yaXRobUFFU19DQkNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9Dcnlw
dG9BbGdvcml0aG1BRVNfQ0JDTWFjLmNwcAppbmRleCAwMzQzMDY1OGU0OTgyZTI3MzgwYThlYzcz
MDU0ZGMzODkzN2JhZjViLi4wMDFiMDZlNzRhMDdjNjBmMmEyMWM5ZGJmZGVhYjRhOTJjMWM3MzIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUFF
U19DQkNNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvQWxnb3Jp
dGhtQUVTX0NCQ01hYy5jcHAKQEAgLTk1LDYgKzk1LDI4IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGht
QUVTX0NCQzo6cGxhdGZvcm1FbmNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
YXJhCiAgICAgfSk7CiB9CiAKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6cGxhdGZvcm1E
ZWNyeXB0KHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFt
ZXRlcnMsIFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4mJiBjaXBoZXJUZXh0
LCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlv
bkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBXb3JrUXVldWUmIHdv
cmtRdWV1ZSkKK3sKKyAgICBjb250ZXh0LnJlZigpOworICAgIHdvcmtRdWV1ZS5kaXNwYXRjaChb
cGFyYW1ldGVycyA9IFdURk1vdmUocGFyYW1ldGVycyksIGtleSA9IFdURk1vdmUoa2V5KSwgY2lw
aGVyVGV4dCA9IFdURk1vdmUoY2lwaGVyVGV4dCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFj
ayksIGV4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksICZjb250
ZXh0XSgpIG11dGFibGUgeworICAgICAgICBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8
Q3J5cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zPigqcGFyYW1ldGVycyk7CisgICAgICAgIGF1dG8m
IGFlc0tleSA9IGRvd25jYXN0PENyeXB0b0tleUFFUz4oa2V5LmdldCgpKTsKKyAgICAgICAgYXNz
ZXJ0KGFlc1BhcmFtZXRlcnMuaXZWZWN0b3IoKS5zaXplKCkgPT0ga0NDQmxvY2tTaXplQUVTMTI4
KTsKKyAgICAgICAgYXV0byByZXN1bHQgPSB0cmFuc2Zvcm1BRVNfQ0JDKGtDQ0RlY3J5cHQsIGFl
c1BhcmFtZXRlcnMuaXZWZWN0b3IoKS5kYXRhKCksIGFlc0tleS5rZXkoKSwgY2lwaGVyVGV4dC5k
YXRhKCksIGNpcGhlclRleHQuc2l6ZSgpKTsKKyAgICAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRp
b24oKSkgeworICAgICAgICAgICAgY29udGV4dC5wb3N0VGFzayhbZXhjZXB0aW9uQ2FsbGJhY2sg
PSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgZWMgPSByZXN1bHQucmVsZWFzZUV4Y2VwdGlv
bigpLmNvZGUoKV0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgeworICAgICAgICAg
ICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKGVjKTsKKyAgICAgICAgICAgICAgICBjb250ZXh0LmRl
cmVmKCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgICAgICBjb250ZXh0LnBvc3RUYXNrKFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBy
ZXN1bHQgPSByZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCldKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHJlc3VsdCk7CisgICAgICAgICAg
ICBjb250ZXh0LmRlcmVmKCk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCiBFeGNlcHRpb25P
cjx2b2lkPiBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpwbGF0Zm9ybUVuY3J5cHQoY29uc3QgQ3J5
cHRvQWxnb3JpdGhtQWVzQ2JjUGFyYW1zRGVwcmVjYXRlZCYgcGFyYW1ldGVycywgY29uc3QgQ3J5
cHRvS2V5QUVTJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZlY3RvckNh
bGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykKIHsKICAg
ICBBU1NFUlQoc2l6ZW9mKHBhcmFtZXRlcnMuaXYpID09IGtDQ0Jsb2NrU2l6ZUFFUzEyOCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobVJTQUVT
X1BLQ1MxX3YxXzVNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdv
cml0aG1SU0FFU19QS0NTMV92MV81TWFjLmNwcAppbmRleCAzMWIwYTA3ZTY2YTBjZDBmMDVjZmVm
NzhkMjYxYzIxYjliMjlmMDNjLi42ZmVmNjIzNTM1MzkzZmM4ODUzODRmN2FhNzA0ZGY3NzJiMDhj
N2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRo
bVJTQUVTX1BLQ1MxX3YxXzVNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMv
Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNU1hYy5jcHAKQEAgLTQ3LDYgKzQ3LDE5IEBA
IHN0YXRpYyBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IGVuY3J5cHRSU0FFU19QS0NTMV92
MV81KGNvbnN0IFBsYXRmb3JtUlNBS2V5CiAgICAgcmV0dXJuIFdURk1vdmUoY2lwaGVyVGV4dCk7
CiB9CiAKKy8vIEZJWE1FOiBXZSBzaG91bGQgY2hhbmdlIGRhdGEgdG8gVmVjdG9yPHVpbnQ4X3Q+
IHR5cGUgb25jZSBXZWJLaXRTdWJ0bGVDcnlwdG8gaXMgZGVwcmVjYXRlZC4KKy8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ5MzkKK3N0YXRpYyBFeGNlcHRpb25P
cjxWZWN0b3I8dWludDhfdD4+IGRlY3J5cHRSU0FFU19QS0NTMV92MV81KGNvbnN0IFBsYXRmb3Jt
UlNBS2V5IGtleSwgc2l6ZV90IGtleUxlbmd0aCwgY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90
IGRhdGFMZW5ndGgpCit7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IHBsYWluVGV4dChrZXlMZW5ndGgg
LyA4KTsgLy8gUGVyIFN0ZXAgMSBvZiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzQ0
NyNzZWN0aW9uLTcuMi4xCisgICAgc2l6ZV90IHBsYWluVGV4dExlbmd0aCA9IHBsYWluVGV4dC5z
aXplKCk7CisgICAgaWYgKENDUlNBQ3J5cHRvckRlY3J5cHQoa2V5LCBjY1BLQ1MxUGFkZGluZywg
ZGF0YSwgZGF0YUxlbmd0aCwgcGxhaW5UZXh0LmRhdGEoKSwgJnBsYWluVGV4dExlbmd0aCwgMCwg
MCwga0NDRGlnZXN0Tm9uZSkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25F
cnJvciB9OworCisgICAgcGxhaW5UZXh0LnJlc2l6ZShwbGFpblRleHRMZW5ndGgpOworICAgIHJl
dHVybiBXVEZNb3ZlKHBsYWluVGV4dCk7Cit9CisKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNBRVNf
UEtDUzFfdjFfNTo6cGxhdGZvcm1FbmNyeXB0KFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8
dWludDhfdD4mJiBwbGFpblRleHQsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlv
bkNhbGxiYWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQogewogICAgIGNvbnRleHQucmVmKCk7CkBAIC02
Nyw2ICs4MCwyNiBAQCB2b2lkIENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OnBsYXRm
b3JtRW5jcnlwdChSZWY8Q3J5cHRvS2V5PiYmIGtleSwgVmVjdAogICAgIH0pOwogfQogCit2b2lk
IENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzU6OnBsYXRmb3JtRGVjcnlwdChSZWY8Q3J5
cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgY2lwaGVyVGV4dCwgVmVjdG9yQ2FsbGJh
Y2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3JrUXVldWUpCit7Cisg
ICAgY29udGV4dC5yZWYoKTsKKyAgICB3b3JrUXVldWUuZGlzcGF0Y2goW2tleSA9IFdURk1vdmUo
a2V5KSwgY2lwaGVyVGV4dCA9IFdURk1vdmUoY2lwaGVyVGV4dCksIGNhbGxiYWNrID0gV1RGTW92
ZShjYWxsYmFjayksIGV4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFj
ayksICZjb250ZXh0XSgpIG11dGFibGUgeworICAgICAgICBhdXRvJiByc2FLZXkgPSBkb3duY2Fz
dDxDcnlwdG9LZXlSU0E+KGtleS5nZXQoKSk7CisgICAgICAgIGF1dG8gcmVzdWx0ID0gZGVjcnlw
dFJTQUVTX1BLQ1MxX3YxXzUocnNhS2V5LnBsYXRmb3JtS2V5KCksIHJzYUtleS5rZXlTaXplSW5C
aXRzKCksIGNpcGhlclRleHQuZGF0YSgpLCBjaXBoZXJUZXh0LnNpemUoKSk7CisgICAgICAgIGlm
IChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgICAgIGNvbnRleHQucG9zdFRhc2so
W2V4Y2VwdGlvbkNhbGxiYWNrID0gV1RGTW92ZShleGNlcHRpb25DYWxsYmFjayksIGVjID0gcmVz
dWx0LnJlbGVhc2VFeGNlcHRpb24oKS5jb2RlKCldKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQpIHsKKyAgICAgICAgICAgICAgICBleGNlcHRpb25DYWxsYmFjayhlYyk7CisgICAgICAg
ICAgICAgICAgY29udGV4dC5kZXJlZigpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgY29udGV4dC5wb3N0VGFzayhbY2FsbGJhY2sgPSBX
VEZNb3ZlKGNhbGxiYWNrKSwgcmVzdWx0ID0gcmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpXShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7CisgICAgICAgICAgICBjYWxsYmFjayhy
ZXN1bHQpOworICAgICAgICAgICAgY29udGV4dC5kZXJlZigpOworICAgICAgICB9KTsKKyAgICB9
KTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFf
NTo6cGxhdGZvcm1FbmNyeXB0KGNvbnN0IENyeXB0b0tleVJTQSYga2V5LCBjb25zdCBDcnlwdG9P
cGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJh
Y2smJiBmYWlsdXJlQ2FsbGJhY2spCiB7CiAgICAgYXV0byByZXN1bHQgPSBlbmNyeXB0UlNBRVNf
UEtDUzFfdjFfNShrZXkucGxhdGZvcm1LZXkoKSwga2V5LmtleVNpemVJbkJpdHMoKSwgZGF0YS5m
aXJzdCwgZGF0YS5zZWNvbmQpOwpAQCAtNzgsMTkgKzExMSwxNCBAQCBFeGNlcHRpb25Pcjx2b2lk
PiBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81OjpwbGF0Zm9ybUVuY3J5cHQoY29uc3Qg
Q3J5cHRvSwogICAgIHJldHVybiB7IH07CiB9CiAKLS8vIEZJWE1FOiBXZSBzaG91bGQgZ2V0IHJp
ZCBvZiB0aGUgbWFnaWMgbnVtYmVyIDEwMjQuIEl0IG9ubHkgbWFrZXMgc2Vuc2Ugd2hlbiBrZXkg
bGVuZ3RoIDwgODE5MiBiaXRzCiBFeGNlcHRpb25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0aG1SU0FF
U19QS0NTMV92MV81OjpwbGF0Zm9ybURlY3J5cHQoY29uc3QgQ3J5cHRvS2V5UlNBJiBrZXksIGNv
bnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRhdGEsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ss
IFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykKIHsKLSAgICBWZWN0b3I8dWludDhfdD4g
cGxhaW5UZXh0KDEwMjQpOwotICAgIHNpemVfdCBwbGFpblRleHRMZW5ndGggPSBwbGFpblRleHQu
c2l6ZSgpOwotICAgIENDQ3J5cHRvclN0YXR1cyBzdGF0dXMgPSBDQ1JTQUNyeXB0b3JEZWNyeXB0
KGtleS5wbGF0Zm9ybUtleSgpLCBjY1BLQ1MxUGFkZGluZywgZGF0YS5maXJzdCwgZGF0YS5zZWNv
bmQsIHBsYWluVGV4dC5kYXRhKCksICZwbGFpblRleHRMZW5ndGgsIDAsIDAsIGtDQ0RpZ2VzdE5v
bmUpOwotICAgIGlmIChzdGF0dXMpIHsKKyAgICBhdXRvIHJlc3VsdCA9IGRlY3J5cHRSU0FFU19Q
S0NTMV92MV81KGtleS5wbGF0Zm9ybUtleSgpLCBrZXkua2V5U2l6ZUluQml0cygpLCBkYXRhLmZp
cnN0LCBkYXRhLnNlY29uZCk7CisgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkgewogICAg
ICAgICBmYWlsdXJlQ2FsbGJhY2soKTsKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9Ci0KLSAg
ICBwbGFpblRleHQucmVzaXplKHBsYWluVGV4dExlbmd0aCk7Ci0gICAgY2FsbGJhY2socGxhaW5U
ZXh0KTsKKyAgICBjYWxsYmFjayhyZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCkpOwogICAgIHJl
dHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5
cHRvQWxnb3JpdGhtUlNBX09BRVBNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9D
cnlwdG9BbGdvcml0aG1SU0FfT0FFUE1hYy5jcHAKaW5kZXggYzM2Y2U2Yzg0ZGU5OTI5YjI3YmVj
ZWZlNWNmNjRkNGRiZDkzNzFjYi4uNTA5YzA5NWIwMTc4ZjdhODVmOTY1MDg2YTJlMGI0YjU0ZmM3
ZWM2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0
aG1SU0FfT0FFUE1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9B
bGdvcml0aG1SU0FfT0FFUE1hYy5jcHAKQEAgLTUzLDYgKzUzLDIzIEBAIHN0YXRpYyBFeGNlcHRp
b25PcjxWZWN0b3I8dWludDhfdD4+IGVuY3J5cHRSU0FfT0FFUChDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyIGhhCiAgICAgcmV0dXJuIFdURk1vdmUoY2lwaGVyVGV4dCk7CiB9CiAKKy8vIEZJWE1F
OiBXZSBzaG91bGQgY2hhbmdlIGRhdGEgdG8gVmVjdG9yPHVpbnQ4X3Q+IHR5cGUgb25jZSBXZWJL
aXRTdWJ0bGVDcnlwdG8gaXMgZGVwcmVjYXRlZC4KKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjQ5MzkKK3N0YXRpYyBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhf
dD4+IGRlY3J5cHRSU0FfT0FFUChDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2gsIGNvbnN0
IFZlY3Rvcjx1aW50OF90PiYgbGFiZWwsIGNvbnN0IFBsYXRmb3JtUlNBS2V5IGtleSwgc2l6ZV90
IGtleUxlbmd0aCwgY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgpCit7Cisg
ICAgQ0NEaWdlc3RBbGdvcml0aG0gZGlnZXN0QWxnb3JpdGhtOworICAgIGlmICghZ2V0Q29tbW9u
Q3J5cHRvRGlnZXN0QWxnb3JpdGhtKGhhc2gsIGRpZ2VzdEFsZ29yaXRobSkpCisgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OworCisgICAgVmVjdG9yPHVpbnQ4X3Q+
IHBsYWluVGV4dChrZXlMZW5ndGggLyA4KTsgLy8gUGVyIFN0ZXAgMS5iIG9mIGh0dHBzOi8vdG9v
bHMuaWV0Zi5vcmcvaHRtbC9yZmMzNDQ3I3NlY3Rpb24tNy4xLjEKKyAgICBzaXplX3QgcGxhaW5U
ZXh0TGVuZ3RoID0gcGxhaW5UZXh0LnNpemUoKTsKKyAgICBpZiAoQ0NSU0FDcnlwdG9yRGVjcnlw
dChrZXksIGNjT0FFUFBhZGRpbmcsIGRhdGEsIGRhdGFMZW5ndGgsIHBsYWluVGV4dC5kYXRhKCks
ICZwbGFpblRleHRMZW5ndGgsIGxhYmVsLmRhdGEoKSwgbGFiZWwuc2l6ZSgpLCBkaWdlc3RBbGdv
cml0aG0pKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKwor
ICAgIHBsYWluVGV4dC5yZXNpemUocGxhaW5UZXh0TGVuZ3RoKTsKKyAgICByZXR1cm4gV1RGTW92
ZShwbGFpblRleHQpOworfQorCiB2b2lkIENyeXB0b0FsZ29yaXRobVJTQV9PQUVQOjpwbGF0Zm9y
bUVuY3J5cHQoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYgcGFy
YW1ldGVycywgUmVmPENyeXB0b0tleT4mJiBrZXksIFZlY3Rvcjx1aW50OF90PiYmIHBsYWluVGV4
dCwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRp
b25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3
b3JrUXVldWUpCiB7CiAgICAgY29udGV4dC5yZWYoKTsKQEAgLTc0LDYgKzkxLDI3IEBAIHZvaWQg
Q3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OnBsYXRmb3JtRW5jcnlwdChzdGQ6OnVuaXF1ZV9wdHI8
Q3J5cHRvQWxnb3JpdGhtUGFyCiAgICAgfSk7CiB9CiAKK3ZvaWQgQ3J5cHRvQWxnb3JpdGhtUlNB
X09BRVA6OnBsYXRmb3JtRGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycz4mJiBwYXJhbWV0ZXJzLCBSZWY8Q3J5cHRvS2V5PiYmIGtleSwgVmVjdG9yPHVpbnQ4
X3Q+JiYgY2lwaGVyVGV4dCwgVmVjdG9yQ2FsbGJhY2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2Fs
bGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgV29ya1F1ZXVlJiB3b3JrUXVldWUpCit7CisgICAgY29udGV4dC5yZWYoKTsKKyAgICB3b3Jr
UXVldWUuZGlzcGF0Y2goW3BhcmFtZXRlcnMgPSBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBrZXkgPSBX
VEZNb3ZlKGtleSksIGNpcGhlclRleHQgPSBXVEZNb3ZlKGNpcGhlclRleHQpLCBjYWxsYmFjayA9
IFdURk1vdmUoY2FsbGJhY2spLCBleGNlcHRpb25DYWxsYmFjayA9IFdURk1vdmUoZXhjZXB0aW9u
Q2FsbGJhY2spLCAmY29udGV4dF0oKSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byYgcnNhUGFyYW1l
dGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobVJzYU9hZXBQYXJhbXM+KCpwYXJhbWV0ZXJz
KTsKKyAgICAgICAgYXV0byYgcnNhS2V5ID0gZG93bmNhc3Q8Q3J5cHRvS2V5UlNBPihrZXkuZ2V0
KCkpOworICAgICAgICBhdXRvIHJlc3VsdCA9IGRlY3J5cHRSU0FfT0FFUChyc2FLZXkuaGFzaEFs
Z29yaXRobUlkZW50aWZpZXIoKSwgcnNhUGFyYW1ldGVycy5sYWJlbFZlY3RvcigpLCByc2FLZXku
cGxhdGZvcm1LZXkoKSwgcnNhS2V5LmtleVNpemVJbkJpdHMoKSwgY2lwaGVyVGV4dC5kYXRhKCks
IGNpcGhlclRleHQuc2l6ZSgpKTsKKyAgICAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkg
eworICAgICAgICAgICAgY29udGV4dC5wb3N0VGFzayhbZXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEZN
b3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgZWMgPSByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpLmNv
ZGUoKV0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgeworICAgICAgICAgICAgICAg
IGV4Y2VwdGlvbkNhbGxiYWNrKGVjKTsKKyAgICAgICAgICAgICAgICBjb250ZXh0LmRlcmVmKCk7
CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICBjb250ZXh0LnBvc3RUYXNrKFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCByZXN1bHQg
PSByZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCldKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHJlc3VsdCk7CisgICAgICAgICAgICBjb250
ZXh0LmRlcmVmKCk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCiBFeGNlcHRpb25Pcjx2b2lk
PiBDcnlwdG9BbGdvcml0aG1SU0FfT0FFUDo6cGxhdGZvcm1FbmNyeXB0KGNvbnN0IENyeXB0b0Fs
Z29yaXRobVJzYU9hZXBQYXJhbXNEZXByZWNhdGVkJiBwYXJhbWV0ZXJzLCBjb25zdCBDcnlwdG9L
ZXlSU0EmIGtleSwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYgZGF0YSwgVmVjdG9yQ2FsbGJh
Y2smJiBjYWxsYmFjaywgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKQogewogICAgIEFT
U0VSVChwYXJhbWV0ZXJzLmhhc0xhYmVsIHx8IHBhcmFtZXRlcnMubGFiZWwuaXNFbXB0eSgpKTsK
QEAgLTg2LDIzICsxMjQsMTUgQEAgRXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtUlNB
X09BRVA6OnBsYXRmb3JtRW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG0KICAgICByZXR1cm4g
eyB9OwogfQogCi0vLyBGSVhNRTogV2Ugc2hvdWxkIGdldCByaWQgb2YgdGhlIG1hZ2ljIG51bWJl
ciAxMDI0LiBJdCBvbmx5IG1ha2VzIHNlbnNlIHdoZW4ga2V5IGxlbmd0aCA8IDgxOTIgYml0cwog
RXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtUlNBX09BRVA6OnBsYXRmb3JtRGVjcnlw
dChjb25zdCBDcnlwdG9BbGdvcml0aG1Sc2FPYWVwUGFyYW1zRGVwcmVjYXRlZCYgcGFyYW1ldGVy
cywgY29uc3QgQ3J5cHRvS2V5UlNBJiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRh
dGEsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxs
YmFjaykKIHsKLSAgICBDQ0RpZ2VzdEFsZ29yaXRobSBkaWdlc3RBbGdvcml0aG07Ci0gICAgaWYg
KCFnZXRDb21tb25DcnlwdG9EaWdlc3RBbGdvcml0aG0ocGFyYW1ldGVycy5oYXNoLCBkaWdlc3RB
bGdvcml0aG0pKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTk9UX1NVUFBPUlRFRF9FUlIg
fTsKLQotICAgIFZlY3Rvcjx1aW50OF90PiBwbGFpblRleHQoMTAyNCk7Ci0gICAgc2l6ZV90IHBs
YWluVGV4dExlbmd0aCA9IHBsYWluVGV4dC5zaXplKCk7Ci0gICAgQ0NDcnlwdG9yU3RhdHVzIHN0
YXR1cyA9IENDUlNBQ3J5cHRvckRlY3J5cHQoa2V5LnBsYXRmb3JtS2V5KCksIGNjT0FFUFBhZGRp
bmcsIGRhdGEuZmlyc3QsIGRhdGEuc2Vjb25kLCBwbGFpblRleHQuZGF0YSgpLCAmcGxhaW5UZXh0
TGVuZ3RoLCBwYXJhbWV0ZXJzLmxhYmVsLmRhdGEoKSwgcGFyYW1ldGVycy5sYWJlbC5zaXplKCks
IGRpZ2VzdEFsZ29yaXRobSk7Ci0gICAgaWYgKHN0YXR1cykgeworICAgIEFTU0VSVChwYXJhbWV0
ZXJzLmhhc0xhYmVsIHx8IHBhcmFtZXRlcnMubGFiZWwuaXNFbXB0eSgpKTsKKyAgICBhdXRvIHJl
c3VsdCA9IGRlY3J5cHRSU0FfT0FFUChwYXJhbWV0ZXJzLmhhc2gsIHBhcmFtZXRlcnMubGFiZWws
IGtleS5wbGF0Zm9ybUtleSgpLCBrZXkua2V5U2l6ZUluQml0cygpLCBkYXRhLmZpcnN0LCBkYXRh
LnNlY29uZCk7CisgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkgewogICAgICAgICBmYWls
dXJlQ2FsbGJhY2soKTsKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9Ci0KLSAgICBwbGFpblRl
eHQucmVzaXplKHBsYWluVGV4dExlbmd0aCk7Ci0gICAgY2FsbGJhY2socGxhaW5UZXh0KTsKKyAg
ICBjYWxsYmFjayhyZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCkpOwogICAgIHJldHVybiB7IH07
CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA4NGM2MDIzMDMyYzI0ODNhOGFhMDFmMzM2NTkxMGJlNGEzMTM2MzUxLi42
MmZmM2M4ZjBhYmE4YWI4MGYzODJhMDdkZGZmOThiNjc0OGFiNDU5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NDMgQEAKKzIwMTYtMTEtMTggIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBVcGRhdGUgU3VidGxlQ3J5cHRvOjpkZWNyeXB0IHRvIG1hdGNoIHRoZSBsYXRlc3Qg
c3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0
NzM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTI1Nzg0OD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWRl
Y3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUta2V5LWVu
Y3J5cHQtZGVjcnlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0
bGUvYWVzLWNiYy1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS1k
ZWNyeXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvZGVjcnlwdC1tYWxm
b3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9z
dWJ0bGUvZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWRlY3J5
cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1
YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5j
cnlwdC1kZWNyeXB0LWxhYmVsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRv
L3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWxhYmVsLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVu
Y3J5cHQtZGVjcnlwdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYS1v
YWVwLWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNy
eXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LWxhYmVsLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRl
Y3J5cHQtbGFiZWwuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Etb2Fl
cC1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRs
ZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2Vu
ZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8v
c3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1r
ZXktZGVjcnlwdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUv
YWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9hZXMtY2Jj
LWltcG9ydC1rZXktZGVjcnlwdC5qczogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMv
c3VidGxlL3Jlc291cmNlcy9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQuanM6IEFkZGVkLgor
ICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNhZXMtcGtjczEtdjFf
NS1pbXBvcnQta2V5LWRlY3J5cHQuanM6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJz
L3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNy
eXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Flcy1w
a2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1rZXktZGVj
cnlwdC5odG1sOiBBZGRlZC4KKwogMjAxNi0xMS0xNyAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBTdWJ0bGVDcnlwdG86OmVuY3J5cHQgdG8gbWF0
Y2ggdGhlIGxhdGVzdCBzcGVjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA4YjRl
YmYyYzkyZGExODdlYTdhYTg5YTQxNzg1ZTUzYWUwZTEyMjY3Li5kN2FlMGZjYWRjZWMyYTY4OTE0
NjU1YjkwMGM3ODY1NTBlNDIwYjA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAxNi0xMS0xOCAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFVwZGF0ZSBTdWJ0bGVDcnlwdG86OmRlY3J5cHQgdG8gbWF0Y2ggdGhl
IGxhdGVzdCBzcGVjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjQ3MzkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjU3ODQ4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgKiBXZWJDcnlwdG9BUEkvZW5j
cnlwdF9kZWNyeXB0L3Rlc3RfYWVzX2NiYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogV2ViQ3J5
cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorCiAyMDE2LTExLTE3ICBKaWV3ZW4gVGFu
ICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFN1YnRsZUNyeXB0bzo6
ZW5jcnlwdCB0byBtYXRjaCB0aGUgbGF0ZXN0IHNwZWMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1kZWNyeXB0LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDJmMGY5YmJmM2RkMTI1
OWZmYTJhMmZlN2Y1ZTVjMDFlNTk1NjJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9hZXMtY2JjLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgZGVjcnlwdGluZyB1c2luZyBBRVMtQ0JDIHdp
dGggbWFsZm9ybWVkIHBhcmFtZXRlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRv
VWludDhBcnJheSgiIil9LCBrZXksIGNpcGhlclRleHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
T3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBm
b3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KK1BBU1MgY3J5cHRvLnN1YnRsZS5kZWNy
eXB0KHtuYW1lOiAiYWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBj
aXBoZXJUZXh0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhj
ZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZp
YyByZWFzb24uCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTogImFlcy1jYmMiLCBp
djogYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXJkIil9LCBrZXksIGNpcGhlclRl
eHQpIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24g
MzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNv
bi4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZGVjcnlwdC1tYWxm
b3JtZWQtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2Jj
LWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDQ2NDg0MzQx
ODM4MTMzNjgxZTNjZjNlYTZiZmQzMjFiNWU3MDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMu
aHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVTLUNCQyB3
aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2
YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciBjaXBoZXJUZXh0ID0gaGV4U3RyaW5nVG9VaW50
OEFycmF5KCIyZmZhNDYxODc4NGRmZDQxNGIyMmM0MGM2MzMwZDAyMiIpOwordmFyIHJhd0tleSA9
IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7CisKK2NyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZGVjcnlw
dCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGtleSA9IHJlc3VsdDsKKyAgICAvLyBX
cm9uZyBpdiBsZW5ndGgKKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVjcnlwdCh7
bmFtZTogImFlcy1jYmMiLCBpdjogYXNjaWlUb1VpbnQ4QXJyYXkoIiIpfSwga2V5LCBjaXBoZXJU
ZXh0KScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAi
YWVzLWNiYyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiaiIpfSwga2V5LCBjaXBoZXJUZXh0KScp
OworICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KHtuYW1lOiAiYWVzLWNi
YyIsIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNcmQiKX0sIGtleSwgY2lw
aGVyVGV4dCknKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Fl
cy1jYmMtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY0ZjZlZGZkMGM0Yjc3MmJjODgxMDQyNmNiMDE5YjM3
ZWY1ZGZjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVz
LWNiYy1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEzIEBACitUZXN0IGVuY3J5cHRpbmcmZGVjcnlwdGluZyB1c2luZyBBRVMtQ0JDIGFsZ29yaXRo
bSB3aXRoIGEgZ2VuZXJhdGVkIDI1NmJpdCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK0dlbmVyYXRpbmcgYSBrZXkuLi4KK0VuY3J5cHRpbmcuLi4KK0RlY3J5cHRpbmcuLi4K
K1BBU1MgYnl0ZXNUb0FTQ0lJU3RyaW5nKGRlY3J5cHRlZFRleHQpIGlzIHBsYWluVGV4dAorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1nZW5lcmF0ZS1rZXktZW5jcnlw
dC1kZWNyeXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJh
dGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjODVjYjQxYTk3NGM5NjU5
MmJhNWMxOWNkYzEyMGNiZjQ1MjhkM2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2Flcy1jYmMtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sCkBA
IC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZW5jcnlwdGluZyZkZWNyeXB0aW5nIHVzaW5nIEFFUy1D
QkMgYWxnb3JpdGhtIHdpdGggYSBnZW5lcmF0ZWQgMjU2Yml0IGtleSIpOworCitqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKK3ZhciBwbGFpblRleHQgPSAiSGVsbG8sIFdvcmxkISI7Cit2YXIgYWVzQ2Jj
UGFyYW1zID0geworICAgIG5hbWU6ICJhZXMtY2JjIiwKKyAgICBpdjogYXNjaWlUb1VpbnQ4QXJy
YXkoImpuT3c5OW9PWkZMSUVQTXIiKSwKK30KKworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4i
KTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2JjIiwgbGVuZ3RoOiAy
NTZ9LCB0cnVlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkg
eworICAgIGtleSA9IHJlc3VsdDsKKyAgICBkZWJ1ZygiRW5jcnlwdGluZy4uLiIpOworICAgIHJl
dHVybiBjcnlwdG8uc3VidGxlLmVuY3J5cHQoYWVzQ2JjUGFyYW1zLCBrZXksIGFzY2lpVG9VaW50
OEFycmF5KHBsYWluVGV4dCkpOworfSkudGhlbihmdW5jdGlvbihjaXBoZXJUZXh0KSB7CisgICAg
ZGVidWcoIkRlY3J5cHRpbmcuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5kZWNyeXB0
KGFlc0NiY1BhcmFtcywga2V5LCBjaXBoZXJUZXh0KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0
KSB7CisgICAgZGVjcnlwdGVkVGV4dCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1Rv
QVNDSUlTdHJpbmcoZGVjcnlwdGVkVGV4dCkiLCAicGxhaW5UZXh0Iik7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXkt
ZGVjcnlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTNmNDNjZWRkODc3ZDA2MWU0MmNhNjAx
MTJlNzE3YTkwMGFhMzM2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTAgQEAKK1Rlc3QgZGVjcnlwdGluZyB1c2luZyBBRVMtQ0JDIHdpdGggYW4gaW1wb3J0ZWQgMTI4
Yml0IGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBieXRlc1RvQVND
SUlTdHJpbmcocGxhaW5UZXh0KSBpcyBleHBlY3RlZFBsYWluVGV4dAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbCBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41MTU2NWYxYzM1ZjU3OGM5ZjJkNmUwNWE5NjU1OTY2NzIwMGI3MDRkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXkt
ZGVjcnlwdC5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgZGVjcnlwdGluZyB1c2luZyBB
RVMtQ0JDIHdpdGggYW4gaW1wb3J0ZWQgMTI4Yml0IGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgY2lwaGVyVGV4dCA9IGhleFN0
cmluZ1RvVWludDhBcnJheSgiMmZmYTQ2MTg3ODRkZmQ0MTRiMjJjNDBjNjMzMGQwMjIiKTsKK3Zh
ciBhZXNDYmNQYXJhbXMgPSB7CisgICAgbmFtZTogImFlcy1jYmMiLAorICAgIGl2OiBhc2NpaVRv
VWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpLAorfQordmFyIHJhd0tleSA9IGFzY2lpVG9V
aW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2YXIgZXhwZWN0ZWRQbGFpblRleHQgPSAi
SGVsbG8sIFdvcmxkISI7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXks
ICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCJdKS50aGVuKGZ1bmN0aW9uKGtleSkg
eworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5cHQoYWVzQ2JjUGFyYW1zLCBrZXksIGNp
cGhlclRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwbGFpblRleHQgPSBy
ZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3RyaW5nKHBsYWluVGV4dCkiLCAi
ZXhwZWN0ZWRQbGFpblRleHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
c3VidGxlL2RlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45NWRhMzY5Nzg2ZmYyNjY3OTczYmVmMzYyMDYyMjczZDFhN2YwNDAy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9kZWNyeXB0LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0IGRl
Y3J5cHRpbmcgd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycworCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBjcnlwdG8uc3VidGxlLmRlY3J5cHQoKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGNyeXB0by5zdWJ0
bGUuZGVjcnlwdCgxKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCgxLCAyKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGNyeXB0
by5zdWJ0bGUuZGVjcnlwdChhZXNDYmNQYXJhbXMsIHdyb25nS2V5LCBjaXBoZXJUZXh0KSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIEludmFsaWRBY2Nlc3NFcnJvciAoRE9NIEV4Y2VwdGlvbiAxNSk6
IENyeXB0b0tleSBkb2Vzbid0IG1hdGNoIEFsZ29yaXRobUlkZW50aWZpZXIuCitQQVNTIGNyeXB0
by5zdWJ0bGUuZGVjcnlwdChhZXNDYmNQYXJhbXMsIHdyb25nS2V5LCBjaXBoZXJUZXh0KSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIEludmFsaWRBY2Nlc3NFcnJvciAoRE9NIEV4Y2VwdGlvbiAxNSk6
IENyeXB0b0tleSBkb2Vzbid0IHN1cHBvcnQgZGVjcnlwdGlvbi4KK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2RlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvZGVjcnlwdC1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjkxOTI1N2IxYjAyMzcxMWRhZmY0MzdhMDNlZjFlMzAxMjg3MjEzNGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2RlY3J5cHQtbWFsZm9ybWVk
LXBhcmFtZXRlcnMuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgd2l0
aCBtYWxmb3JtZWQgcGFyYW1ldGVycyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFy
IGV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgY2lwaGVyVGV4dCA9IGhleFN0cmluZ1RvVWludDhB
cnJheSgiMmZmYTQ2MTg3ODRkZmQ0MTRiMjJjNDBjNjMzMGQwMjIiKTsKK3ZhciBhZXNDYmNQYXJh
bXMgPSB7CisgICAgbmFtZTogImFlcy1jYmMiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgi
am5Pdzk5b09aRkxJRVBNciIpLAorfQordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJq
bk93OTlvT1pGTElFUE1yIik7CisKKy8vIE5vdCBlbm91Z2ggYXJndW1lbnRzLgorc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLmRlY3J5cHQoKScpOworc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3Vi
dGxlLmRlY3J5cHQoMSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KDEs
IDIpJyk7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMta3ci
LCBleHRyYWN0YWJsZSwgWyJ3cmFwS2V5IiwgInVud3JhcEtleSJdKS50aGVuKGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgIHdyb25nS2V5ID0gcmVzdWx0OworICAgIC8vIFdyb25nIGFsZ29yaXRobSBp
ZGVudGlmaWVyLgorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KGFlc0Ni
Y1BhcmFtcywgd3JvbmdLZXksIGNpcGhlclRleHQpJyk7CisKKyAgICByZXR1cm4gY3J5cHRvLnN1
YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1jYmMiLCBleHRyYWN0YWJsZSwgWyJ3
cmFwS2V5IiwgInVud3JhcEtleSJdKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAg
d3JvbmdLZXkgPSByZXN1bHQ7CisgICAgLy8gV3JvbmcgdXNhZ2UuCisgICAgcmV0dXJuIHNob3Vs
ZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZWNyeXB0KGFlc0NiY1BhcmFtcywgd3JvbmdLZXksIGNp
cGhlclRleHQpJyk7Cit9KS50aGVuKGZpbmlzaEpTVGVzdCk7CisKKzwvc2NyaXB0PgorCis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1v
YWVwLWRlY3J5cHQtbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTlkZmZmNWE1NzdmZWUwMzVkYTQ2NmM4YTM4YTk4MGIx
Y2JkNjg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Et
b2FlcC1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEwIEBACitUZXN0IGRlY3J5cHRpbmcgdXNpbmcgUlNBLU9BRVAgd2l0aCBtYWxmb3JtZWQgcGFy
YW1ldGVycworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjcnlwdG8uc3Vi
dGxlLmRlY3J5cHQocnNhT2FlcFBhcmFtcywga2V5LCBjaXBoZXJUZXh0KSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhlIG9wZXJhdGlv
biBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWRlY3J5cHQtbWFsZm9y
bWVkLXBhcmFtZXRlcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTFjYzg5NjQ0ZDJlNjJkNGI2OWU4MGY0
MjAwMjllZGY3Y2M3NWYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9yc2Etb2FlcC1kZWNyeXB0LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKQEAgLTAsMCAr
MSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdCBkZWNyeXB0aW5nIHVzaW5nIFJTQS1PQUVQIHdpdGggbWFsZm9ybWVk
IHBhcmFtZXRlcnMiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJs
ZSA9IGZhbHNlOwordmFyIGNpcGhlclRleHQgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjM0NmRj
OGYzYTE1OGU0OTQwMDRjZjgyYzA4NDNhYjFjMWU3YTYxMjI2M2ExYzQ0ZDk0MTMwOTE3NWEzZDI1
OTg5OTdiZTY1MWYyZDM0MTlmODk5MjM4NDNjYTM0NDQxNGQ0NTk4OWU4ODZhYWE3OTU3M2Q5NmQ0
ZjNmNzc3YWYzYjJlOWZjZDQ0YjUxYzAwYThlNDM5NWJmNTRhYzg5ZDg4NTU5YzcxMmQ0OTg1M2Rl
NDQ4ZTE5MGZhZDg4NmM0NWZhMDc0MmYyZGRmMThlNWY2MTU1ZWI3ZjM4MzQ4MjE3ZWZkNjdjMTRl
ZjE0MWU4MWYzYjFjMTgwNGIzYmI0MzdlZjFiMjNhMjVkYWRiNTk0OTg1YzUwMDE4MTIwOGM3NGNk
MjA2OGNiZmRjY2MwMmRiNzExM2VkNWU3MmQ3YTM1NDNhNzhlYzljMjA3MDcxNWU0MDlhYjEwNjg3
NzYyMzU4Zjc4NmM2NjllNTkyZTQ2NzEwN2ExM2NhYWFhZGMzYzM0MWZhY2YyNDliYWY3NDNhM2I5
M2M0OWY3M2VhNTYzNDA1MmYxYTZlZTQ2MjY1ZTAyMzkxZGQyY2JjZDRhNTIzYmZlZTgzMjE0NzAy
NzlmZmY2M2I4N2E0YTUzNDY1YjQ3MzZmYjMxZWU5OWU5YjAzNzk3NjFmM2U2MzBmNjM2Iik7Cit2
YXIgandrS2V5ID0geworICAgIGt0eTogIlJTQSIsCisgICAgYWxnOiAiUlNBLU9BRVAiLAorICAg
IHVzZTogImVuYyIsCisgICAga2V5X29wczogWyJkZWNyeXB0IiwgInVud3JhcEtleSJdLAorICAg
IGV4dDogdHJ1ZSwKKyAgICBuOiAibHhITjBOOVZSWjBfcGwweHYzLU5YeDcwV25qa09EU2tRNUxq
SFhURnkzRE9Rc3ZrYWdGekQ5SHFZUWV6Q21jZXdMamRLNVBMd1Nlc0RvTWRmTDZ0dXNCSGN2eWl0
MWt2eWRZRlEzTkxiRU5Oa1lzaUJHNV9uVzRJUUdMNkpLYlo1aUdkVW9wOThRSEttNllaUjF1NHpy
QXR4TTZiVkVvMDVWdmhqUlMwTTh5V29aVmktN1Zkc2MwTHFJMFFkcV9Ob2N0WDVGdS1BcWlCTjdV
bzFIa1lHY1Ayb0M4MkpfSjVjanc5OEJRaVA1a0RXVGhxOVJLLVg2Uy1FVUFMeF9tNGlHNmlPWUtU
QTNTUXlmMXhCcUZhWFhvRUpqY2NrYk9xa2VnZWN6NWItWVdVaDhpWlB2aHdudC1SWndwSWJMSmdL
d3oxOW5ka245S3ZvRUV3N1liRW93IiwKKyAgICBlOiAiQVFBQiIsCisgICAgZDogImNqNURrRGFr
ak0yYktkdUdXSlJFTy1fenlFdHVBMWREOWRvcUtNZDdJUnVBMENEUzdwdUVBUzIwLW9YUkR3Zm15
TVhFZEVVRHJHR3RDeGg2ZnpEUHZzX1QtSkEzR1VLNEVnSG8zeFpjcmxYRFhsS0NlaWw2Rm5yMGdJ
U1pPSWg1ZGtCcmNkVkw0cXVCSmU0WlpjNW1WdUFDN0xkMTNldDBUeE1KNGlBTEdyUHVxUFZVT0dT
WUljWjlpZHg1ektLQldoWTN0UGdnRWRLcG5IQm1QZlRSTzR5WmFmME53MVFYcmdTTVpZOWVqZXVh
dXJBaDRROG80LTYtcjhPMkxVZTd1Zk1oX2NjS2tYSVNFaDRLZE9uVDE3RU05QlFUbjlVTlM5R29L
MlpaVTBVM2lvNURTdV9rcGFzcjR1T1ZXY0dsRTJ3Y3pPdjJua0d3RzM5RjNzRkYwUSIsCisgICAg
cDogIng1dm5jbzVqLVRENmhUT3p5TjREaGtaNDRtMDVOeWN4VDZTVUUycVR1clQzLXV6ZV9MN1RZ
dXRMUklSa292Uk1oVEhaQXIycHppUmxhc0VzMTNQRXo5WnZ4MUlfVDY4c3Jzb25yZGJhay1TRk1l
Y003RWpIYzVDLUoxM2dYaHc5SElXMjhfU3g5clEtSmtHd0V3RTlQRWRJVWZ1dmRxcGdoM1NtWHdQ
SnJFcyIsCisgICAgcTogIndiOXZsbGdfMm4ta05nZTBiVGhnXzd4dTFVd1R6aXBNOHZ4U1Vra1Yy
SWlwSktJQWVra1UzYUFCOExvUGhVSTAtMTdwU0d3M0VUT08yN3QxNjNUSTlxSVBwekxiaFRIOWFV
aTdxTEdiS2x6UGxnbnFQNDNaMExIeGMzeEtEZ2l0LUFyMjlRTGFYMnVvSkJYNlZWV3ZobWg3QklQ
REhOVk01R1pqd1dPUllnayIsCisgICAgZHA6ICJDMmM4c2E2d3gydWs1RGN2N2luQXljcjgzUEtn
Y2lZckN3Rzc4LUFDMElmR0l1LWxUWXNaU0cxb3YyRlEzbjVXWU1XWVFDX1ZvNUV3dWdpUEp6X1Yz
b25CbVFGNTNIT0ZlZmJTalh2WXdOb3RRY3lSVUc1WDlxSXVPdEdDSDk0OUg0UUVENnZLX3UwTkgt
Smd6TFVsYW13b0ZZYnJYendjaDZDQ1lLczJ1a0UiLAorICAgIGRxOiAiaGJ0UmxvRExjbEh3VXFy
Mnl2ekRWMElGYm96WWp0RjcwNngtVmZYRWNuWEI2bHMzNFRCWWlyRkxKWklIN0g5S2VzZUVWa3o3
cFlfazU1NTVRbENWOWtiZWJ4WVhsOVJ0aWlKLUJXNnlINGQ0Y2FQZVlJZlU5TXdlVVF4VlFXS1VV
a1dmT0hjRHJDRnZLWmxSOVZ6emp0N0hLdEtYOW1yMGJDS1FjSWY5YmFFIiwKKyAgICBxaTogImEt
N2hVVFRuY2xVUEtPZlNnSDh6RUtHSi1BdmRGRXp4dlo1c3E0NlFmMk1iT1J4VmpONGRKYW1Wdk0t
Rm9xY3dOLTljdVVseXI5YlNGVHdVQlc0dlhhOFhqOWE4SmZWaXVNQ3F6Ui1tTDFyR0lVUTVBUkdo
TmNTc1JseUtUcXo1QmxXbFZLbVhJeF9wLURlVndQV2lKSnk0a19GcXlCeHJueGt6b21IZnJ4ayIs
Cit9OwordmFyIHJzYU9hZXBQYXJhbXMgPSB7CisgICAgbmFtZTogInJzYS1vYWVwIiwKKyAgICAv
LyBXcm9uZyBsYWJlbC4gQ29ycmVjdCBvbmUgaXMgIldlYktpdC5vcmciCisgICAgbGFiZWw6IGFz
Y2lpVG9VaW50OEFycmF5KCJhcHBsZS5jb20iKSwKK30KKworY3J5cHRvLnN1YnRsZS5pbXBvcnRL
ZXkoImp3ayIsIGp3a0tleSwge25hbWU6ICJSU0EtT0FFUCIsIGhhc2g6ICJTSEEtMSJ9LCBleHRy
YWN0YWJsZSwgWyJkZWNyeXB0Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5ID0g
cmVzdWx0OworCisgICAgLy8gV3JvbmcgbGFiZWwuCisgICAgc2hvdWxkUmVqZWN0KCJjcnlwdG8u
c3VidGxlLmRlY3J5cHQocnNhT2FlcFBhcmFtcywga2V5LCBjaXBoZXJUZXh0KSIpLnRoZW4oZmlu
aXNoSlNUZXN0KTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1nZW5lcmF0ZS1rZXktZW5j
cnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNh
LW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTk3YTNhMzE5MThkM2JiYzdiM2I4MWRmMjg5MTUwNmIyMjZlYzgzNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVu
Y3J5cHQtZGVjcnlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdCBlbmNyeXB0
aW5nJmRlY3J5cHRpbmcgdXNpbmcgUlNBLU9BRVAgU0hBLTUxMiBhbGdvcml0aG0gd2l0aCBhIGdl
bmVyYXRlZCBrZXkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlbmVyYXRpbmcg
YSBrZXkuLi4KK0VuY3J5cHRpbmcuLi4KK0RlY3J5cHRpbmcuLi4KK1BBU1MgYnl0ZXNUb0FTQ0lJ
U3RyaW5nKGRlY3J5cHRlZFRleHQpIGlzIHBsYWluVGV4dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC1sYWJlbC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRl
LWtleS1lbmNyeXB0LWRlY3J5cHQtbGFiZWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1YzQ5
ZWY5NzYxMTgxODFkZjkyZTcwNTA0ZjZhZGNjNjZkNzJlNGYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRl
Y3J5cHQtbGFiZWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3QgZW5jcnlwdGlu
ZyZkZWNyeXB0aW5nIHVzaW5nIFJTQS1PQUVQIFNIQS01MTIgYWxnb3JpdGhtIHdpdGggYSBnZW5l
cmF0ZWQga2V5IGFuZCBhIGxhYmVsCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitH
ZW5lcmF0aW5nIGEga2V5Li4uCitFbmNyeXB0aW5nLi4uCitEZWNyeXB0aW5nLi4uCitQQVNTIGJ5
dGVzVG9BU0NJSVN0cmluZyhkZWNyeXB0ZWRUZXh0KSBpcyBwbGFpblRleHQKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5
cHQtbGFiZWwuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJh
dGUta2V5LWVuY3J5cHQtZGVjcnlwdC1sYWJlbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxNmIwMGIwMzJj
ZmUwMjM1Y2NlN2I1ZTBkMGJkNzE1YmZjMjdjMDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQt
bGFiZWwuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGVuY3J5cHRpbmcmZGVjcnlwdGlu
ZyB1c2luZyBSU0EtT0FFUCBTSEEtNTEyIGFsZ29yaXRobSB3aXRoIGEgZ2VuZXJhdGVkIGtleSBh
bmQgYSBsYWJlbCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3ZhciBwbGFpblRleHQgPSAi
SGVsbG8sIFdvcmxkISI7Cit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0Et
T0FFUCIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwK
KyAgICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwg
IC8vIEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTUxMiIKK307Cit2YXIgcnNh
T2FlcFBhcmFtcyA9IHsKKyAgICBuYW1lOiAicnNhLW9hZXAiLAorICAgIGxhYmVsOiBhc2NpaVRv
VWludDhBcnJheSgiV2ViS2l0Lm9yZyIpLAorfQorCitkZWJ1ZygiR2VuZXJhdGluZyBhIGtleS4u
LiIpOworY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShhbGdvcml0aG1LZXlHZW4sIHRydWUsIFsi
ZGVjcnlwdCIsICJlbmNyeXB0Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAga2V5UGFp
ciA9IHJlc3VsdDsKKyAgICBkZWJ1ZygiRW5jcnlwdGluZy4uLiIpOworICAgIHJldHVybiBjcnlw
dG8uc3VidGxlLmVuY3J5cHQocnNhT2FlcFBhcmFtcywga2V5UGFpci5wdWJsaWNLZXksIGFzY2lp
VG9VaW50OEFycmF5KHBsYWluVGV4dCkpOworfSkudGhlbihmdW5jdGlvbihjaXBoZXJUZXh0KSB7
CisgICAgZGVidWcoIkRlY3J5cHRpbmcuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5k
ZWNyeXB0KHJzYU9hZXBQYXJhbXMsIGtleVBhaXIucHJpdmF0ZUtleSwgY2lwaGVyVGV4dCk7Cit9
KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIGRlY3J5cHRlZFRleHQgPSByZXN1bHQ7CisK
KyAgICBzaG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3RyaW5nKGRlY3J5cHRlZFRleHQpIiwgInBsYWlu
VGV4dCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVw
LWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by9z
dWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM5OTI2MmI4YzZiZGUyMjU3MTRhMzUxOTg4ZmU2NmNkMjVhMDg2MWIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWtleS1l
bmNyeXB0LWRlY3J5cHQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGVuY3J5cHRpbmcm
ZGVjcnlwdGluZyB1c2luZyBSU0EtT0FFUCBTSEEtNTEyIGFsZ29yaXRobSB3aXRoIGEgZ2VuZXJh
dGVkIGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3ZhciBwbGFpblRleHQgPSAiSGVs
bG8sIFdvcmxkISI7Cit2YXIgYWxnb3JpdGhtS2V5R2VuID0geworICAgIG5hbWU6ICJSU0EtT0FF
UCIsCisgICAgLy8gUnNhS2V5R2VuUGFyYW1zCisgICAgbW9kdWx1c0xlbmd0aDogMjA0OCwKKyAg
ICBwdWJsaWNFeHBvbmVudDogbmV3IFVpbnQ4QXJyYXkoWzB4MDEsIDB4MDAsIDB4MDFdKSwgIC8v
IEVxdWl2YWxlbnQgdG8gNjU1MzcKKyAgICBoYXNoOiAic2hhLTUxMiIKK307Cit2YXIgcnNhT2Fl
cFBhcmFtcyA9IHsKKyAgICBuYW1lOiAicnNhLW9hZXAiCit9CisKK2RlYnVnKCJHZW5lcmF0aW5n
IGEga2V5Li4uIik7CitjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KGFsZ29yaXRobUtleUdlbiwg
dHJ1ZSwgWyJkZWNyeXB0IiwgImVuY3J5cHQiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAg
ICBrZXlQYWlyID0gcmVzdWx0OworICAgIGRlYnVnKCJFbmNyeXB0aW5nLi4uIik7CisgICAgcmV0
dXJuIGNyeXB0by5zdWJ0bGUuZW5jcnlwdChyc2FPYWVwUGFyYW1zLCBrZXlQYWlyLnB1YmxpY0tl
eSwgYXNjaWlUb1VpbnQ4QXJyYXkocGxhaW5UZXh0KSk7Cit9KS50aGVuKGZ1bmN0aW9uKGNpcGhl
clRleHQpIHsKKyAgICBkZWJ1ZygiRGVjcnlwdGluZy4uLiIpOworICAgIHJldHVybiBjcnlwdG8u
c3VidGxlLmRlY3J5cHQocnNhT2FlcFBhcmFtcywga2V5UGFpci5wcml2YXRlS2V5LCBjaXBoZXJU
ZXh0KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgZGVjcnlwdGVkVGV4dCA9IHJl
c3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvQVNDSUlTdHJpbmcoZGVjcnlwdGVkVGV4dCki
LCAicGxhaW5UZXh0Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUv
cnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kM2QzYjVlYWY5NGRhOWQxYzE0ZmU3OTFhYTRlNTNjMWU3OTEzYzQzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5
LWRlY3J5cHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgZGVjcnlwdGluZyB1
c2luZyBSU0EtT0FFUCBTSEEtMSB3aXRoIGFuIGltcG9ydGVkIGtleQorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBieXRlc1RvQVNDSUlTdHJpbmcocGxhaW5UZXh0KSBpcyBl
eHBlY3RlZFBsYWluVGV4dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9h
ZXAtaW1wb3J0LWtleS1kZWNyeXB0LWxhYmVsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LWxhYmVsLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mOTg2MWIzYjE1YjJhYTYzOTEzZThhODU1YjkyZjg2ODBjODdlM2JkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBv
cnQta2V5LWRlY3J5cHQtbGFiZWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3Qg
ZGVjcnlwdGluZyB1c2luZyBSU0EtT0FFUCBTSEEtMSB3aXRoIGFuIGltcG9ydGVkIGtleSBhbmQg
YSBsYWJlbAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBieXRlc1RvQVND
SUlTdHJpbmcocGxhaW5UZXh0KSBpcyBleHBlY3RlZFBsYWluVGV4dAorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LWxhYmVsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1rZXktZGVjcnlwdC1s
YWJlbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhOWQzNmVlMjczMWUzMjM5NGQzYzM0NjhmMDJlMDRhZjg5
ZDdhNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1v
YWVwLWltcG9ydC1rZXktZGVjcnlwdC1sYWJlbC5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9jb21t
b24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3QgZGVjcnlwdGluZyB1c2luZyBSU0EtT0FFUCBTSEEtMSB3aXRoIGFuIGltcG9ydGVkIGtleSBh
bmQgYSBsYWJlbCIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxl
ID0gZmFsc2U7Cit2YXIgY2lwaGVyVGV4dCA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiMzQ2ZGM4
ZjNhMTU4ZTQ5NDAwNGNmODJjMDg0M2FiMWMxZTdhNjEyMjYzYTFjNDRkOTQxMzA5MTc1YTNkMjU5
ODk5N2JlNjUxZjJkMzQxOWY4OTkyMzg0M2NhMzQ0NDE0ZDQ1OTg5ZTg4NmFhYTc5NTczZDk2ZDRm
M2Y3NzdhZjNiMmU5ZmNkNDRiNTFjMDBhOGU0Mzk1YmY1NGFjODlkODg1NTljNzEyZDQ5ODUzZGU0
NDhlMTkwZmFkODg2YzQ1ZmEwNzQyZjJkZGYxOGU1ZjYxNTVlYjdmMzgzNDgyMTdlZmQ2N2MxNGVm
MTQxZTgxZjNiMWMxODA0YjNiYjQzN2VmMWIyM2EyNWRhZGI1OTQ5ODVjNTAwMTgxMjA4Yzc0Y2Qy
MDY4Y2JmZGNjYzAyZGI3MTEzZWQ1ZTcyZDdhMzU0M2E3OGVjOWMyMDcwNzE1ZTQwOWFiMTA2ODc3
NjIzNThmNzg2YzY2OWU1OTJlNDY3MTA3YTEzY2FhYWFkYzNjMzQxZmFjZjI0OWJhZjc0M2EzYjkz
YzQ5ZjczZWE1NjM0MDUyZjFhNmVlNDYyNjVlMDIzOTFkZDJjYmNkNGE1MjNiZmVlODMyMTQ3MDI3
OWZmZjYzYjg3YTRhNTM0NjViNDczNmZiMzFlZTk5ZTliMDM3OTc2MWYzZTYzMGY2MzYiKTsKK3Zh
ciBqd2tLZXkgPSB7CisgICAga3R5OiAiUlNBIiwKKyAgICBhbGc6ICJSU0EtT0FFUCIsCisgICAg
dXNlOiAiZW5jIiwKKyAgICBrZXlfb3BzOiBbImRlY3J5cHQiLCAidW53cmFwS2V5Il0sCisgICAg
ZXh0OiB0cnVlLAorICAgIG46ICJseEhOME45VlJaMF9wbDB4djMtTlh4NzBXbmprT0RTa1E1TGpI
WFRGeTNET1FzdmthZ0Z6RDlIcVlRZXpDbWNld0xqZEs1UEx3U2VzRG9NZGZMNnR1c0JIY3Z5aXQx
a3Z5ZFlGUTNOTGJFTk5rWXNpQkc1X25XNElRR0w2SktiWjVpR2RVb3A5OFFIS202WVpSMXU0enJB
dHhNNmJWRW8wNVZ2aGpSUzBNOHlXb1pWaS03VmRzYzBMcUkwUWRxX05vY3RYNUZ1LUFxaUJON1Vv
MUhrWUdjUDJvQzgySl9KNWNqdzk4QlFpUDVrRFdUaHE5UkstWDZTLUVVQUx4X200aUc2aU9ZS1RB
M1NReWYxeEJxRmFYWG9FSmpjY2tiT3FrZWdlY3o1Yi1ZV1VoOGlaUHZod250LVJad3BJYkxKZ0t3
ejE5bmRrbjlLdm9FRXc3WWJFb3ciLAorICAgIGU6ICJBUUFCIiwKKyAgICBkOiAiY2o1RGtEYWtq
TTJiS2R1R1dKUkVPLV96eUV0dUExZEQ5ZG9xS01kN0lSdUEwQ0RTN3B1RUFTMjAtb1hSRHdmbXlN
WEVkRVVEckdHdEN4aDZmekRQdnNfVC1KQTNHVUs0RWdIbzN4WmNybFhEWGxLQ2VpbDZGbnIwZ0lT
Wk9JaDVka0JyY2RWTDRxdUJKZTRaWmM1bVZ1QUM3TGQxM2V0MFR4TUo0aUFMR3JQdXFQVlVPR1NZ
SWNaOWlkeDV6S0tCV2hZM3RQZ2dFZEtwbkhCbVBmVFJPNHlaYWYwTncxUVhyZ1NNWlk5ZWpldWF1
ckFoNFE4bzQtNi1yOE8yTFVlN3VmTWhfY2NLa1hJU0VoNEtkT25UMTdFTTlCUVRuOVVOUzlHb0sy
WlpVMFUzaW81RFN1X2twYXNyNHVPVldjR2xFMndjek92Mm5rR3dHMzlGM3NGRjBRIiwKKyAgICBw
OiAieDV2bmNvNWotVEQ2aFRPenlONERoa1o0NG0wNU55Y3hUNlNVRTJxVHVyVDMtdXplX0w3VFl1
dExSSVJrb3ZSTWhUSFpBcjJwemlSbGFzRXMxM1BFejladngxSV9UNjhzcnNvbnJkYmFrLVNGTWVj
TTdFakhjNUMtSjEzZ1hodzlISVcyOF9TeDlyUS1Ka0d3RXdFOVBFZElVZnV2ZHFwZ2gzU21Yd1BK
ckVzIiwKKyAgICBxOiAid2I5dmxsZ18ybi1rTmdlMGJUaGdfN3h1MVV3VHppcE04dnhTVWtrVjJJ
aXBKS0lBZWtrVTNhQUI4TG9QaFVJMC0xN3BTR3czRVRPTzI3dDE2M1RJOXFJUHB6TGJoVEg5YVVp
N3FMR2JLbHpQbGducVA0M1owTEh4YzN4S0RnaXQtQXIyOVFMYVgydW9KQlg2VlZXdmhtaDdCSVBE
SE5WTTVHWmp3V09SWWdrIiwKKyAgICBkcDogIkMyYzhzYTZ3eDJ1azVEY3Y3aW5BeWNyODNQS2dj
aVlyQ3dHNzgtQUMwSWZHSXUtbFRZc1pTRzFvdjJGUTNuNVdZTVdZUUNfVm81RXd1Z2lQSnpfVjNv
bkJtUUY1M0hPRmVmYlNqWHZZd05vdFFjeVJVRzVYOXFJdU90R0NIOTQ5SDRRRUQ2dktfdTBOSC1K
Z3pMVWxhbXdvRlliclh6d2NoNkNDWUtzMnVrRSIsCisgICAgZHE6ICJoYnRSbG9ETGNsSHdVcXIy
eXZ6RFYwSUZib3pZanRGNzA2eC1WZlhFY25YQjZsczM0VEJZaXJGTEpaSUg3SDlLZXNlRVZrejdw
WV9rNTU1NVFsQ1Y5a2JlYnhZWGw5UnRpaUotQlc2eUg0ZDRjYVBlWUlmVTlNd2VVUXhWUVdLVVVr
V2ZPSGNEckNGdktabFI5Vnp6anQ3SEt0S1g5bXIwYkNLUWNJZjliYUUiLAorICAgIHFpOiAiYS03
aFVUVG5jbFVQS09mU2dIOHpFS0dKLUF2ZEZFenh2WjVzcTQ2UWYyTWJPUnhWak40ZEphbVZ2TS1G
b3Fjd04tOWN1VWx5cjliU0ZUd1VCVzR2WGE4WGo5YThKZlZpdU1DcXpSLW1MMXJHSVVRNUFSR2hO
Y1NzUmx5S1RxejVCbFdsVkttWEl4X3AtRGVWd1BXaUpKeTRrX0ZxeUJ4cm54a3pvbUhmcnhrIiwK
K307Cit2YXIgcnNhT2FlcFBhcmFtcyA9IHsKKyAgICBuYW1lOiAicnNhLW9hZXAiLAorICAgIGxh
YmVsOiBhc2NpaVRvVWludDhBcnJheSgiV2ViS2l0Lm9yZyIpLAorfQordmFyIGV4cGVjdGVkUGxh
aW5UZXh0ID0gIkhlbGxvLCBXb3JsZCEiOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandr
IiwgandrS2V5LCB7bmFtZTogIlJTQS1PQUVQIiwgaGFzaDogIlNIQS0xIn0sIGV4dHJhY3RhYmxl
LCBbImRlY3J5cHQiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1
YnRsZS5kZWNyeXB0KHJzYU9hZXBQYXJhbXMsIGtleSwgY2lwaGVyVGV4dCk7Cit9KS50aGVuKGZ1
bmN0aW9uKHJlc3VsdCkgeworICAgIHBsYWluVGV4dCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJl
KCJieXRlc1RvQVNDSUlTdHJpbmcocGxhaW5UZXh0KSIsICJleHBlY3RlZFBsYWluVGV4dCIpOwor
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYS1vYWVwLWltcG9ydC1r
ZXktZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBv
cnQta2V5LWRlY3J5cHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2ZjNjgzNDY5Njk4MGQ1MGNmYjllMzM3
N2NiODkxOWQ4YzU3MzVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
Y29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgUlNBLU9BRVAgU0hBLTEgd2l0aCBhbiBpbXBvcnRlZCBr
ZXkiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IGZhbHNl
OwordmFyIGNpcGhlclRleHQgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjY0ZWE0NWI1MjM0YjA1
NjY2ZGMyMWNhNmY3Y2Q2ZWNiMGJlOGNlNDU3NmMwYmJlOTY4NmU3MGM5ZjNhYjY3YTlmMGE0ZGIy
MjY1NTRmMjE3YmE3MjU5NjM0YzdiNzBlYjQyMjYzMzI3N2Q4M2FlYjIxODFhMDAxMDk5YmFjYmNh
OGI1YjUzNGE3Nzg0M2ZlNjExZjY0NjgzODk5OWU4MmU2ODFmMWQxNzI0ZWYwZTlmNjVhYzMwMjAx
MjhjNTZlYTkwYTAzNDVkOTM2ZThlMjI2YjM2MzY4N2M3YjU3MTQ2ZWVjZDRhYjU5OTc2MDY2MWEy
Nzg2NzFiNWIyNDkwNTFiMWYxNzIwZDZlNzgwODVlMzIxY2U4Mjg2N2RmODFhNjdiODYwNmUzNDA4
NTBiMTg5ZmNkMDhkNjNiMWFjOGNlOWE5NzMwMGI4YzE1YzNjNDc1Yzk3ZjEyNjY2MDZiNDhiNjdh
MTVjMjg5MzdkODhlMDc0OWM4MzIxMjczNzczMmM3NGE3ZmRmNzkxODg0MDVjNmRmNzJiOWVlMmI3
NTNmNGY3MGFlMzVmMmYwMzVjNTgyN2UwYzg3ZmNjZWVlZjFjNGUzMDNjMGU4OWVjYzc2NzczZmI1
OGU2ZjVhMDZiNzkyYWU3YTFiNThlZTdiZjA5ODkzYzhmZDJiOTNkYTBkIik7Cit2YXIgandrS2V5
ID0geworICAgIGt0eTogIlJTQSIsCisgICAgYWxnOiAiUlNBLU9BRVAiLAorICAgIHVzZTogImVu
YyIsCisgICAga2V5X29wczogWyJkZWNyeXB0IiwgInVud3JhcEtleSJdLAorICAgIGV4dDogdHJ1
ZSwKKyAgICBuOiAibHhITjBOOVZSWjBfcGwweHYzLU5YeDcwV25qa09EU2tRNUxqSFhURnkzRE9R
c3ZrYWdGekQ5SHFZUWV6Q21jZXdMamRLNVBMd1Nlc0RvTWRmTDZ0dXNCSGN2eWl0MWt2eWRZRlEz
TkxiRU5Oa1lzaUJHNV9uVzRJUUdMNkpLYlo1aUdkVW9wOThRSEttNllaUjF1NHpyQXR4TTZiVkVv
MDVWdmhqUlMwTTh5V29aVmktN1Zkc2MwTHFJMFFkcV9Ob2N0WDVGdS1BcWlCTjdVbzFIa1lHY1Ay
b0M4MkpfSjVjanc5OEJRaVA1a0RXVGhxOVJLLVg2Uy1FVUFMeF9tNGlHNmlPWUtUQTNTUXlmMXhC
cUZhWFhvRUpqY2NrYk9xa2VnZWN6NWItWVdVaDhpWlB2aHdudC1SWndwSWJMSmdLd3oxOW5ka245
S3ZvRUV3N1liRW93IiwKKyAgICBlOiAiQVFBQiIsCisgICAgZDogImNqNURrRGFrak0yYktkdUdX
SlJFTy1fenlFdHVBMWREOWRvcUtNZDdJUnVBMENEUzdwdUVBUzIwLW9YUkR3Zm15TVhFZEVVRHJH
R3RDeGg2ZnpEUHZzX1QtSkEzR1VLNEVnSG8zeFpjcmxYRFhsS0NlaWw2Rm5yMGdJU1pPSWg1ZGtC
cmNkVkw0cXVCSmU0WlpjNW1WdUFDN0xkMTNldDBUeE1KNGlBTEdyUHVxUFZVT0dTWUljWjlpZHg1
ektLQldoWTN0UGdnRWRLcG5IQm1QZlRSTzR5WmFmME53MVFYcmdTTVpZOWVqZXVhdXJBaDRROG80
LTYtcjhPMkxVZTd1Zk1oX2NjS2tYSVNFaDRLZE9uVDE3RU05QlFUbjlVTlM5R29LMlpaVTBVM2lv
NURTdV9rcGFzcjR1T1ZXY0dsRTJ3Y3pPdjJua0d3RzM5RjNzRkYwUSIsCisgICAgcDogIng1dm5j
bzVqLVRENmhUT3p5TjREaGtaNDRtMDVOeWN4VDZTVUUycVR1clQzLXV6ZV9MN1RZdXRMUklSa292
Uk1oVEhaQXIycHppUmxhc0VzMTNQRXo5WnZ4MUlfVDY4c3Jzb25yZGJhay1TRk1lY003RWpIYzVD
LUoxM2dYaHc5SElXMjhfU3g5clEtSmtHd0V3RTlQRWRJVWZ1dmRxcGdoM1NtWHdQSnJFcyIsCisg
ICAgcTogIndiOXZsbGdfMm4ta05nZTBiVGhnXzd4dTFVd1R6aXBNOHZ4U1Vra1YySWlwSktJQWVr
a1UzYUFCOExvUGhVSTAtMTdwU0d3M0VUT08yN3QxNjNUSTlxSVBwekxiaFRIOWFVaTdxTEdiS2x6
UGxnbnFQNDNaMExIeGMzeEtEZ2l0LUFyMjlRTGFYMnVvSkJYNlZWV3ZobWg3QklQREhOVk01R1pq
d1dPUllnayIsCisgICAgZHA6ICJDMmM4c2E2d3gydWs1RGN2N2luQXljcjgzUEtnY2lZckN3Rzc4
LUFDMElmR0l1LWxUWXNaU0cxb3YyRlEzbjVXWU1XWVFDX1ZvNUV3dWdpUEp6X1Yzb25CbVFGNTNI
T0ZlZmJTalh2WXdOb3RRY3lSVUc1WDlxSXVPdEdDSDk0OUg0UUVENnZLX3UwTkgtSmd6TFVsYW13
b0ZZYnJYendjaDZDQ1lLczJ1a0UiLAorICAgIGRxOiAiaGJ0UmxvRExjbEh3VXFyMnl2ekRWMElG
Ym96WWp0RjcwNngtVmZYRWNuWEI2bHMzNFRCWWlyRkxKWklIN0g5S2VzZUVWa3o3cFlfazU1NTVR
bENWOWtiZWJ4WVhsOVJ0aWlKLUJXNnlINGQ0Y2FQZVlJZlU5TXdlVVF4VlFXS1VVa1dmT0hjRHJD
RnZLWmxSOVZ6emp0N0hLdEtYOW1yMGJDS1FjSWY5YmFFIiwKKyAgICBxaTogImEtN2hVVFRuY2xV
UEtPZlNnSDh6RUtHSi1BdmRGRXp4dlo1c3E0NlFmMk1iT1J4VmpONGRKYW1Wdk0tRm9xY3dOLTlj
dVVseXI5YlNGVHdVQlc0dlhhOFhqOWE4SmZWaXVNQ3F6Ui1tTDFyR0lVUTVBUkdoTmNTc1JseUtU
cXo1QmxXbFZLbVhJeF9wLURlVndQV2lKSnk0a19GcXlCeHJueGt6b21IZnJ4ayIsCit9OwordmFy
IHJzYU9hZXBQYXJhbXMgPSB7CisgICAgbmFtZTogInJzYS1vYWVwIgorfQordmFyIGV4cGVjdGVk
UGxhaW5UZXh0ID0gIkhlbGxvLCBXb3JsZCEiOworCitjcnlwdG8uc3VidGxlLmltcG9ydEtleSgi
andrIiwgandrS2V5LCB7bmFtZTogIlJTQS1PQUVQIiwgaGFzaDogIlNIQS0xIn0sIGV4dHJhY3Rh
YmxlLCBbImRlY3J5cHQiXSkudGhlbihmdW5jdGlvbihrZXkpIHsKKyAgICByZXR1cm4gY3J5cHRv
LnN1YnRsZS5kZWNyeXB0KHJzYU9hZXBQYXJhbXMsIGtleSwgY2lwaGVyVGV4dCk7Cit9KS50aGVu
KGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHBsYWluVGV4dCA9IHJlc3VsdDsKKworICAgIHNob3Vs
ZEJlKCJieXRlc1RvQVNDSUlTdHJpbmcocGxhaW5UZXh0KSIsICJleHBlY3RlZFBsYWluVGV4dCIp
OworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEt
djFfNS1nZW5lcmF0ZS1rZXktZW5jcnlwdC1kZWNyeXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1rZXktZW5jcnlwdC1k
ZWNyeXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTE5NzI0ZGI0MThkNWE1YjNiMDBmM2Zm
ZjFhNDY0YmU4MTRjODVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3QgZW5jcnlwdGluZyZkZWNyeXB0aW5nIHVzaW5n
IFJTQUVTLVBLQ1MxLXYxXzUgYWxnb3JpdGhtIHdpdGggYSBnZW5lcmF0ZWQga2V5CisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitHZW5lcmF0aW5nIGEga2V5Li4uCitFbmNyeXB0aW5n
Li4uCitEZWNyeXB0aW5nLi4uCitQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyhkZWNyeXB0ZWRUZXh0
KSBpcyBwbGFpblRleHQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYWVzLXBr
Y3MxLXYxXzUtZ2VuZXJhdGUta2V5LWVuY3J5cHQtZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5
cHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NjVlNWVhOGM1ODc2ZDY5NjAxNmU0ZGI1ZTg5MGEwMzRmNjQz
ZmFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1w
a2NzMS12MV81LWdlbmVyYXRlLWtleS1lbmNyeXB0LWRlY3J5cHQuaHRtbApAQCAtMCwwICsxLDQy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJUZXN0IGVuY3J5cHRpbmcmZGVjcnlwdGluZyB1c2luZyBSU0FFUy1QS0NTMS12MV81
IGFsZ29yaXRobSB3aXRoIGEgZ2VuZXJhdGVkIGtleSIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKK3ZhciBwbGFpblRleHQgPSAiSGVsbG8sIFdvcmxkISI7Cit2YXIgYWxnb3JpdGhtS2V5R2Vu
ID0geworICAgIG5hbWU6ICJSU0FFUy1QS0NTMS12MV81IiwKKyAgICAvLyBSc2FLZXlHZW5QYXJh
bXMKKyAgICBtb2R1bHVzTGVuZ3RoOiAyMDQ4LAorICAgIHB1YmxpY0V4cG9uZW50OiBuZXcgVWlu
dDhBcnJheShbMHgwMSwgMHgwMCwgMHgwMV0pLCAgLy8gRXF1aXZhbGVudCB0byA2NTUzNworfTsK
KworZGVidWcoIkdlbmVyYXRpbmcgYSBrZXkuLi4iKTsKK2NyeXB0by5zdWJ0bGUuZ2VuZXJhdGVL
ZXkoYWxnb3JpdGhtS2V5R2VuLCB0cnVlLCBbImRlY3J5cHQiLCAiZW5jcnlwdCJdKS50aGVuKGZ1
bmN0aW9uKHJlc3VsdCkgeworICAgIGtleVBhaXIgPSByZXN1bHQ7CisgICAgZGVidWcoIkVuY3J5
cHRpbmcuLi4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5lbmNyeXB0KCJSU0FFUy1QS0NT
MS12MV81Iiwga2V5UGFpci5wdWJsaWNLZXksIGFzY2lpVG9VaW50OEFycmF5KHBsYWluVGV4dCkp
OworfSkudGhlbihmdW5jdGlvbihjaXBoZXJUZXh0KSB7CisgICAgZGVidWcoIkRlY3J5cHRpbmcu
Li4iKTsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5kZWNyeXB0KCJSU0FFUy1QS0NTMS12MV81
Iiwga2V5UGFpci5wcml2YXRlS2V5LCBjaXBoZXJUZXh0KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVz
dWx0KSB7CisgICAgZGVjcnlwdGVkVGV4dCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRl
c1RvQVNDSUlTdHJpbmcoZGVjcnlwdGVkVGV4dCkiLCAicGxhaW5UZXh0Iik7CisKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQta2V5
LWRlY3J5cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1w
a2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWIy
NDlkZTY0YzM2NDVkNzI3ZmQzYTNkZTdhMTU3Y2Y4NGI1NWRiYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQta2V5LWRl
Y3J5cHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgZGVjcnlwdGluZyB1c2lu
ZyBSU0FFUy1QS0NTMS12MV81IHdpdGggYW4gaW1wb3J0ZWQga2V5CisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGJ5dGVzVG9BU0NJSVN0cmluZyhwbGFpblRleHQpIGlzIGV4
cGVjdGVkUGxhaW5UZXh0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9yc2Flcy1w
a2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1
YnRsZS9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY1Yzg5NTAyNmUzY2VjNmU2ZjNmZDdmNTFjYWRhNzgxZjZjOTQxZTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtaW1wb3J0LWtl
eS1kZWNyeXB0Lmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBkZWNyeXB0aW5nIHVzaW5n
IFJTQUVTLVBLQ1MxLXYxXzUgd2l0aCBhbiBpbXBvcnRlZCBrZXkiKTsKKworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IGZhbHNlOwordmFyIGNpcGhlclRleHQgPSBo
ZXhTdHJpbmdUb1VpbnQ4QXJyYXkoIjg3Y2EzNjA0NDI2MTRiNjU5MGVhNTFiYTg0ZWIwODFlY2Rh
ODNjNWExOWUwMDhlZDIxYTZiOTNjNzhhNzk4MDM0OGY5ZWFjOWE4MTIwYTZiNjczMjZiNThmZjZl
N2ExMGJlYzExM2IwMWY2YmQxOGEwNGI4MmQxNTllYjM1MzJjMDNkNGZjYTU5NzQ1MDMzM2NkNGRm
ODE0NTZiN2I4NjRhMjc2Y2MzYTc1NTE5NjRjY2MxNmRlODZlMmJjN2E0Mjk4MWYyOWEwODU1ZmMx
NTE2OTJkODAyZjZkMGI2ZmRjYzBjYzAxOTc3YzU3OWFjZGUyMjBiNjBkNDE4YTQ4MGYwY2NkZmQz
NzBmN2UwNDUxMTRiZTM5ZjAzZGZkNTE2YjUxYmNiYTZhZjIwNjYzY2IyNDA0ZTRlOGM1YjRjMjM5
OTM2YzY3MmMzYzJkZTRmNGYzMzgyY2RjNjhmMjc3ZmM2NmVkMDZhMDY0MjU4NGVhZDUzY2Q2NzY2
NzNlOGNlY2Y1OWZlMjNjYmUwYTU5Y2Q4MmM4ZDU2MTg3ZWZmNmNkYTliOWU2MDBiOTg5MGY0MmM2
NWVlOWE0ZjE2Zjg3YzFjMGI1M2NlY2I2ZmI1OWE0ZGUxNjVjYzgyOGQ2YmM1YjViZjE1MmU2YzMw
NjBiNTRmZDRlMTFiMDM3NjY4ZTRkIik7Cit2YXIgandrS2V5ID0geworICAgIGt0eTogIlJTQSIs
CisgICAgYWxnOiAiUlNBMV81IiwKKyAgICB1c2U6ICJlbmMiLAorICAgIGtleV9vcHM6IFsiZGVj
cnlwdCIsICJ1bndyYXBLZXkiXSwKKyAgICBleHQ6IHRydWUsCisgICAgbjogImx4SE4wTjlWUlow
X3BsMHh2My1OWHg3MFduamtPRFNrUTVMakhYVEZ5M0RPUXN2a2FnRnpEOUhxWVFlekNtY2V3TGpk
SzVQTHdTZXNEb01kZkw2dHVzQkhjdnlpdDFrdnlkWUZRM05MYkVOTmtZc2lCRzVfblc0SVFHTDZK
S2JaNWlHZFVvcDk4UUhLbTZZWlIxdTR6ckF0eE02YlZFbzA1VnZoalJTME04eVdvWlZpLTdWZHNj
MExxSTBRZHFfTm9jdFg1RnUtQXFpQk43VW8xSGtZR2NQMm9DODJKX0o1Y2p3OThCUWlQNWtEV1Ro
cTlSSy1YNlMtRVVBTHhfbTRpRzZpT1lLVEEzU1F5ZjF4QnFGYVhYb0VKamNja2JPcWtlZ2VjejVi
LVlXVWg4aVpQdmh3bnQtUlp3cEliTEpnS3d6MTluZGtuOUt2b0VFdzdZYkVvdyIsCisgICAgZTog
IkFRQUIiLAorICAgIGQ6ICJjajVEa0Rha2pNMmJLZHVHV0pSRU8tX3p5RXR1QTFkRDlkb3FLTWQ3
SVJ1QTBDRFM3cHVFQVMyMC1vWFJEd2ZteU1YRWRFVURyR0d0Q3hoNmZ6RFB2c19ULUpBM0dVSzRF
Z0hvM3haY3JsWERYbEtDZWlsNkZucjBnSVNaT0loNWRrQnJjZFZMNHF1QkplNFpaYzVtVnVBQzdM
ZDEzZXQwVHhNSjRpQUxHclB1cVBWVU9HU1lJY1o5aWR4NXpLS0JXaFkzdFBnZ0VkS3BuSEJtUGZU
Uk80eVphZjBOdzFRWHJnU01aWTllamV1YXVyQWg0UThvNC02LXI4TzJMVWU3dWZNaF9jY0trWElT
RWg0S2RPblQxN0VNOUJRVG45VU5TOUdvSzJaWlUwVTNpbzVEU3Vfa3Bhc3I0dU9WV2NHbEUyd2N6
T3YybmtHd0czOUYzc0ZGMFEiLAorICAgIHA6ICJ4NXZuY281ai1URDZoVE96eU40RGhrWjQ0bTA1
TnljeFQ2U1VFMnFUdXJUMy11emVfTDdUWXV0TFJJUmtvdlJNaFRIWkFyMnB6aVJsYXNFczEzUEV6
OVp2eDFJX1Q2OHNyc29ucmRiYWstU0ZNZWNNN0VqSGM1Qy1KMTNnWGh3OUhJVzI4X1N4OXJRLUpr
R3dFd0U5UEVkSVVmdXZkcXBnaDNTbVh3UEpyRXMiLAorICAgIHE6ICJ3Yjl2bGxnXzJuLWtOZ2Uw
YlRoZ183eHUxVXdUemlwTTh2eFNVa2tWMklpcEpLSUFla2tVM2FBQjhMb1BoVUkwLTE3cFNHdzNF
VE9PMjd0MTYzVEk5cUlQcHpMYmhUSDlhVWk3cUxHYktselBsZ25xUDQzWjBMSHhjM3hLRGdpdC1B
cjI5UUxhWDJ1b0pCWDZWVld2aG1oN0JJUERITlZNNUdaandXT1JZZ2siLAorICAgIGRwOiAiQzJj
OHNhNnd4MnVrNURjdjdpbkF5Y3I4M1BLZ2NpWXJDd0c3OC1BQzBJZkdJdS1sVFlzWlNHMW92MkZR
M241V1lNV1lRQ19WbzVFd3VnaVBKel9WM29uQm1RRjUzSE9GZWZiU2pYdll3Tm90UWN5UlVHNVg5
cUl1T3RHQ0g5NDlINFFFRDZ2S191ME5ILUpnekxVbGFtd29GWWJyWHp3Y2g2Q0NZS3MydWtFIiwK
KyAgICBkcTogImhidFJsb0RMY2xId1VxcjJ5dnpEVjBJRmJvellqdEY3MDZ4LVZmWEVjblhCNmxz
MzRUQllpckZMSlpJSDdIOUtlc2VFVmt6N3BZX2s1NTU1UWxDVjlrYmVieFlYbDlSdGlpSi1CVzZ5
SDRkNGNhUGVZSWZVOU13ZVVReFZRV0tVVWtXZk9IY0RyQ0Z2S1psUjlWenpqdDdIS3RLWDltcjBi
Q0tRY0lmOWJhRSIsCisgICAgcWk6ICJhLTdoVVRUbmNsVVBLT2ZTZ0g4ekVLR0otQXZkRkV6eHZa
NXNxNDZRZjJNYk9SeFZqTjRkSmFtVnZNLUZvcWN3Ti05Y3VVbHlyOWJTRlR3VUJXNHZYYThYajlh
OEpmVml1TUNxelItbUwxckdJVVE1QVJHaE5jU3NSbHlLVHF6NUJsV2xWS21YSXhfcC1EZVZ3UFdp
Skp5NGtfRnF5Qnhybnhrem9tSGZyeGsiLAorfTsKK3ZhciBleHBlY3RlZFBsYWluVGV4dCA9ICJI
ZWxsbywgV29ybGQhIjsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3a0tleSwg
IlJTQUVTLVBLQ1MxLXYxXzUiLCBleHRyYWN0YWJsZSwgWyJkZWNyeXB0Il0pLnRoZW4oZnVuY3Rp
b24oa2V5KSB7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCgiUlNBRVMtUEtDUzEt
djFfNSIsIGtleSwgY2lwaGVyVGV4dCk7Cit9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
IHBsYWluVGV4dCA9IHJlc3VsdDsKKworICAgIHNob3VsZEJlKCJieXRlc1RvQVNDSUlTdHJpbmco
cGxhaW5UZXh0KSIsICJleHBlY3RlZFBsYWluVGV4dCIpOworCisgICAgZmluaXNoSlNUZXN0KCk7
Cit9KTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jYmMtaW1w
b3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzQ5NDI0MTVkNTBhMDcx
ZTdmNWY4MjFmOWM5NWZkZTNmNTBkZmM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1jYmMtaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDExIEBACitbV29ya2VyXSBUZXN0IGRlY3J5cHRpbmcgdXNpbmcgQUVT
LUNCQyB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkgaW4gd29ya2VycworCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMvYWVzLWNiYy1p
bXBvcnQta2V5LWRlY3J5cHQuanMKK1BBU1MgW1dvcmtlcl0gYnl0ZXNUb0FTQ0lJU3RyaW5nKHBs
YWluVGV4dCkgaXMgZXhwZWN0ZWRQbGFpblRleHQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8v
d29ya2Vycy9zdWJ0bGUvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbCBiL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMtY2JjLWltcG9ydC1rZXktZGVjcnlwdC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI3NGU3YzdmNTdmMDljZDMzYWFmMTU1NjE2ZTFjN2EwY2E1ZTM4ZGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWNi
Yy1pbXBvcnQta2V5LWRlY3J5cHQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICB3b3JrZXIgPSBzdGFydFdvcmtlcigncmVzb3VyY2VzL2Flcy1jYmMtaW1wb3J0LWtl
eS1kZWNyeXB0LmpzJyk7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9h
ZXMtY2JjLWltcG9ydC1rZXktZGVjcnlwdC5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJz
L3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNiYy1pbXBvcnQta2V5LWRlY3J5cHQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGE2NTE4MGM5MWFmZTAyMGNiNzY3YmMwZDMxYzVjMDQyNjNjNmViNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvYWVzLWNi
Yy1pbXBvcnQta2V5LWRlY3J5cHQuanMKQEAgLTAsMCArMSwyNSBAQAoraW1wb3J0U2NyaXB0cygn
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCcu
Li8uLi8uLi9yZXNvdXJjZXMvY29tbW9uLmpzJyk7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGRlY3J5
cHRpbmcgdXNpbmcgQUVTLUNCQyB3aXRoIGFuIGltcG9ydGVkIDEyOGJpdCBrZXkgaW4gd29ya2Vy
cyIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gZmFsc2U7
Cit2YXIgY2lwaGVyVGV4dCA9IGhleFN0cmluZ1RvVWludDhBcnJheSgiMmZmYTQ2MTg3ODRkZmQ0
MTRiMjJjNDBjNjMzMGQwMjIiKTsKK3ZhciBhZXNDYmNQYXJhbXMgPSB7CisgICAgbmFtZTogImFl
cy1jYmMiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpLAor
fQordmFyIHJhd0tleSA9IGFzY2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7Cit2
YXIgZXhwZWN0ZWRQbGFpblRleHQgPSAiSGVsbG8sIFdvcmxkISI7CisKK2NyeXB0by5zdWJ0bGUu
aW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsiZGVjcnlw
dCJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5
cHQoYWVzQ2JjUGFyYW1zLCBrZXksIGNpcGhlclRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1
bHQpIHsKKyAgICBwbGFpblRleHQgPSByZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0FT
Q0lJU3RyaW5nKHBsYWluVGV4dCkiLCAiZXhwZWN0ZWRQbGFpblRleHQiKTsKKworICAgIGZpbmlz
aEpTVGVzdCgpOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9z
dWJ0bGUvcmVzb3VyY2VzL3JzYS1vYWVwLWltcG9ydC1rZXktZGVjcnlwdC5qcyBiL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNhLW9hZXAtaW1wb3J0LWtleS1k
ZWNyeXB0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1MDE3N2NkNTBmYzIyMmI2MTRkMTM5MGQ3OTc2YWZlMDlh
ZTM4OGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0
bGUvcmVzb3VyY2VzL3JzYS1vYWVwLWltcG9ydC1rZXktZGVjcnlwdC5qcwpAQCAtMCwwICsxLDM5
IEBACitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMn
KTsKK2ltcG9ydFNjcmlwdHMoJy4uLy4uLy4uL3Jlc291cmNlcy9jb21tb24uanMnKTsKKworZGVz
Y3JpcHRpb24oIlRlc3QgZGVjcnlwdGluZyB1c2luZyBSU0EtT0FFUCBTSEEtMSB3aXRoIGFuIGlt
cG9ydGVkIGtleSBhbmQgYSBsYWJlbCBpbiB3b3JrZXJzIik7CisKK2pzVGVzdElzQXN5bmMgPSB0
cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciBjaXBoZXJUZXh0ID0gaGV4U3Ry
aW5nVG9VaW50OEFycmF5KCIzNDZkYzhmM2ExNThlNDk0MDA0Y2Y4MmMwODQzYWIxYzFlN2E2MTIy
NjNhMWM0NGQ5NDEzMDkxNzVhM2QyNTk4OTk3YmU2NTFmMmQzNDE5Zjg5OTIzODQzY2EzNDQ0MTRk
NDU5ODllODg2YWFhNzk1NzNkOTZkNGYzZjc3N2FmM2IyZTlmY2Q0NGI1MWMwMGE4ZTQzOTViZjU0
YWM4OWQ4ODU1OWM3MTJkNDk4NTNkZTQ0OGUxOTBmYWQ4ODZjNDVmYTA3NDJmMmRkZjE4ZTVmNjE1
NWViN2YzODM0ODIxN2VmZDY3YzE0ZWYxNDFlODFmM2IxYzE4MDRiM2JiNDM3ZWYxYjIzYTI1ZGFk
YjU5NDk4NWM1MDAxODEyMDhjNzRjZDIwNjhjYmZkY2NjMDJkYjcxMTNlZDVlNzJkN2EzNTQzYTc4
ZWM5YzIwNzA3MTVlNDA5YWIxMDY4Nzc2MjM1OGY3ODZjNjY5ZTU5MmU0NjcxMDdhMTNjYWFhYWRj
M2MzNDFmYWNmMjQ5YmFmNzQzYTNiOTNjNDlmNzNlYTU2MzQwNTJmMWE2ZWU0NjI2NWUwMjM5MWRk
MmNiY2Q0YTUyM2JmZWU4MzIxNDcwMjc5ZmZmNjNiODdhNGE1MzQ2NWI0NzM2ZmIzMWVlOTllOWIw
Mzc5NzYxZjNlNjMwZjYzNiIpOwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJSU0EiLAorICAg
IGFsZzogIlJTQS1PQUVQIiwKKyAgICB1c2U6ICJlbmMiLAorICAgIGtleV9vcHM6IFsiZGVjcnlw
dCIsICJ1bndyYXBLZXkiXSwKKyAgICBleHQ6IHRydWUsCisgICAgbjogImx4SE4wTjlWUlowX3Bs
MHh2My1OWHg3MFduamtPRFNrUTVMakhYVEZ5M0RPUXN2a2FnRnpEOUhxWVFlekNtY2V3TGpkSzVQ
THdTZXNEb01kZkw2dHVzQkhjdnlpdDFrdnlkWUZRM05MYkVOTmtZc2lCRzVfblc0SVFHTDZKS2Ja
NWlHZFVvcDk4UUhLbTZZWlIxdTR6ckF0eE02YlZFbzA1VnZoalJTME04eVdvWlZpLTdWZHNjMExx
STBRZHFfTm9jdFg1RnUtQXFpQk43VW8xSGtZR2NQMm9DODJKX0o1Y2p3OThCUWlQNWtEV1RocTlS
Sy1YNlMtRVVBTHhfbTRpRzZpT1lLVEEzU1F5ZjF4QnFGYVhYb0VKamNja2JPcWtlZ2VjejViLVlX
VWg4aVpQdmh3bnQtUlp3cEliTEpnS3d6MTluZGtuOUt2b0VFdzdZYkVvdyIsCisgICAgZTogIkFR
QUIiLAorICAgIGQ6ICJjajVEa0Rha2pNMmJLZHVHV0pSRU8tX3p5RXR1QTFkRDlkb3FLTWQ3SVJ1
QTBDRFM3cHVFQVMyMC1vWFJEd2ZteU1YRWRFVURyR0d0Q3hoNmZ6RFB2c19ULUpBM0dVSzRFZ0hv
M3haY3JsWERYbEtDZWlsNkZucjBnSVNaT0loNWRrQnJjZFZMNHF1QkplNFpaYzVtVnVBQzdMZDEz
ZXQwVHhNSjRpQUxHclB1cVBWVU9HU1lJY1o5aWR4NXpLS0JXaFkzdFBnZ0VkS3BuSEJtUGZUUk80
eVphZjBOdzFRWHJnU01aWTllamV1YXVyQWg0UThvNC02LXI4TzJMVWU3dWZNaF9jY0trWElTRWg0
S2RPblQxN0VNOUJRVG45VU5TOUdvSzJaWlUwVTNpbzVEU3Vfa3Bhc3I0dU9WV2NHbEUyd2N6T3Yy
bmtHd0czOUYzc0ZGMFEiLAorICAgIHA6ICJ4NXZuY281ai1URDZoVE96eU40RGhrWjQ0bTA1Tnlj
eFQ2U1VFMnFUdXJUMy11emVfTDdUWXV0TFJJUmtvdlJNaFRIWkFyMnB6aVJsYXNFczEzUEV6OVp2
eDFJX1Q2OHNyc29ucmRiYWstU0ZNZWNNN0VqSGM1Qy1KMTNnWGh3OUhJVzI4X1N4OXJRLUprR3dF
d0U5UEVkSVVmdXZkcXBnaDNTbVh3UEpyRXMiLAorICAgIHE6ICJ3Yjl2bGxnXzJuLWtOZ2UwYlRo
Z183eHUxVXdUemlwTTh2eFNVa2tWMklpcEpLSUFla2tVM2FBQjhMb1BoVUkwLTE3cFNHdzNFVE9P
Mjd0MTYzVEk5cUlQcHpMYmhUSDlhVWk3cUxHYktselBsZ25xUDQzWjBMSHhjM3hLRGdpdC1BcjI5
UUxhWDJ1b0pCWDZWVld2aG1oN0JJUERITlZNNUdaandXT1JZZ2siLAorICAgIGRwOiAiQzJjOHNh
Nnd4MnVrNURjdjdpbkF5Y3I4M1BLZ2NpWXJDd0c3OC1BQzBJZkdJdS1sVFlzWlNHMW92MkZRM241
V1lNV1lRQ19WbzVFd3VnaVBKel9WM29uQm1RRjUzSE9GZWZiU2pYdll3Tm90UWN5UlVHNVg5cUl1
T3RHQ0g5NDlINFFFRDZ2S191ME5ILUpnekxVbGFtd29GWWJyWHp3Y2g2Q0NZS3MydWtFIiwKKyAg
ICBkcTogImhidFJsb0RMY2xId1VxcjJ5dnpEVjBJRmJvellqdEY3MDZ4LVZmWEVjblhCNmxzMzRU
QllpckZMSlpJSDdIOUtlc2VFVmt6N3BZX2s1NTU1UWxDVjlrYmVieFlYbDlSdGlpSi1CVzZ5SDRk
NGNhUGVZSWZVOU13ZVVReFZRV0tVVWtXZk9IY0RyQ0Z2S1psUjlWenpqdDdIS3RLWDltcjBiQ0tR
Y0lmOWJhRSIsCisgICAgcWk6ICJhLTdoVVRUbmNsVVBLT2ZTZ0g4ekVLR0otQXZkRkV6eHZaNXNx
NDZRZjJNYk9SeFZqTjRkSmFtVnZNLUZvcWN3Ti05Y3VVbHlyOWJTRlR3VUJXNHZYYThYajlhOEpm
Vml1TUNxelItbUwxckdJVVE1QVJHaE5jU3NSbHlLVHF6NUJsV2xWS21YSXhfcC1EZVZ3UFdpSkp5
NGtfRnF5Qnhybnhrem9tSGZyeGsiLAorfTsKK3ZhciByc2FPYWVwUGFyYW1zID0geworICAgIG5h
bWU6ICJyc2Etb2FlcCIsCisgICAgbGFiZWw6IGFzY2lpVG9VaW50OEFycmF5KCJXZWJLaXQub3Jn
IiksCit9Cit2YXIgZXhwZWN0ZWRQbGFpblRleHQgPSAiSGVsbG8sIFdvcmxkISI7CisKK2NyeXB0
by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tLZXksIHtuYW1lOiAiUlNBLU9BRVAiLCBoYXNo
OiAiU0hBLTEifSwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCJdKS50aGVuKGZ1bmN0aW9uKGtleSkg
eworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5cHQocnNhT2FlcFBhcmFtcywga2V5LCBj
aXBoZXJUZXh0KTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcGxhaW5UZXh0ID0g
cmVzdWx0OworCisgICAgc2hvdWxkQmUoImJ5dGVzVG9BU0NJSVN0cmluZyhwbGFpblRleHQpIiwg
ImV4cGVjdGVkUGxhaW5UZXh0Iik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9yc2Flcy1w
a2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9yZXNvdXJjZXMvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQta2V5LWRlY3J5cHQu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTUyZWRhOTRhYjZmYzNhOTg1YmZlN2U0ZTI1NjNiMzcxNTZlZDkyOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNv
dXJjZXMvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQta2V5LWRlY3J5cHQuanMKQEAgLTAsMCArMSwz
NSBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Jyk7CitpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvY29tbW9uLmpzJyk7CisKK2Rl
c2NyaXB0aW9uKCJUZXN0IGRlY3J5cHRpbmcgdXNpbmcgUlNBRVMtUEtDUzEtdjFfNSB3aXRoIGFu
IGltcG9ydGVkIGtleSBpbiB3b3JrZXJzIik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2
YXIgZXh0cmFjdGFibGUgPSBmYWxzZTsKK3ZhciBjaXBoZXJUZXh0ID0gaGV4U3RyaW5nVG9VaW50
OEFycmF5KCI4N2NhMzYwNDQyNjE0YjY1OTBlYTUxYmE4NGViMDgxZWNkYTgzYzVhMTllMDA4ZWQy
MWE2YjkzYzc4YTc5ODAzNDhmOWVhYzlhODEyMGE2YjY3MzI2YjU4ZmY2ZTdhMTBiZWMxMTNiMDFm
NmJkMThhMDRiODJkMTU5ZWIzNTMyYzAzZDRmY2E1OTc0NTAzMzNjZDRkZjgxNDU2YjdiODY0YTI3
NmNjM2E3NTUxOTY0Y2NjMTZkZTg2ZTJiYzdhNDI5ODFmMjlhMDg1NWZjMTUxNjkyZDgwMmY2ZDBi
NmZkY2MwY2MwMTk3N2M1NzlhY2RlMjIwYjYwZDQxOGE0ODBmMGNjZGZkMzcwZjdlMDQ1MTE0YmUz
OWYwM2RmZDUxNmI1MWJjYmE2YWYyMDY2M2NiMjQwNGU0ZThjNWI0YzIzOTkzNmM2NzJjM2MyZGU0
ZjRmMzM4MmNkYzY4ZjI3N2ZjNjZlZDA2YTA2NDI1ODRlYWQ1M2NkNjc2NjczZThjZWNmNTlmZTIz
Y2JlMGE1OWNkODJjOGQ1NjE4N2VmZjZjZGE5YjllNjAwYjk4OTBmNDJjNjVlZTlhNGYxNmY4N2Mx
YzBiNTNjZWNiNmZiNTlhNGRlMTY1Y2M4MjhkNmJjNWI1YmYxNTJlNmMzMDYwYjU0ZmQ0ZTExYjAz
NzY2OGU0ZCIpOwordmFyIGp3a0tleSA9IHsKKyAgICBrdHk6ICJSU0EiLAorICAgIGFsZzogIlJT
QTFfNSIsCisgICAgdXNlOiAiZW5jIiwKKyAgICBrZXlfb3BzOiBbImRlY3J5cHQiLCAidW53cmFw
S2V5Il0sCisgICAgZXh0OiB0cnVlLAorICAgIG46ICJseEhOME45VlJaMF9wbDB4djMtTlh4NzBX
bmprT0RTa1E1TGpIWFRGeTNET1FzdmthZ0Z6RDlIcVlRZXpDbWNld0xqZEs1UEx3U2VzRG9NZGZM
NnR1c0JIY3Z5aXQxa3Z5ZFlGUTNOTGJFTk5rWXNpQkc1X25XNElRR0w2SktiWjVpR2RVb3A5OFFI
S202WVpSMXU0enJBdHhNNmJWRW8wNVZ2aGpSUzBNOHlXb1pWaS03VmRzYzBMcUkwUWRxX05vY3RY
NUZ1LUFxaUJON1VvMUhrWUdjUDJvQzgySl9KNWNqdzk4QlFpUDVrRFdUaHE5UkstWDZTLUVVQUx4
X200aUc2aU9ZS1RBM1NReWYxeEJxRmFYWG9FSmpjY2tiT3FrZWdlY3o1Yi1ZV1VoOGlaUHZod250
LVJad3BJYkxKZ0t3ejE5bmRrbjlLdm9FRXc3WWJFb3ciLAorICAgIGU6ICJBUUFCIiwKKyAgICBk
OiAiY2o1RGtEYWtqTTJiS2R1R1dKUkVPLV96eUV0dUExZEQ5ZG9xS01kN0lSdUEwQ0RTN3B1RUFT
MjAtb1hSRHdmbXlNWEVkRVVEckdHdEN4aDZmekRQdnNfVC1KQTNHVUs0RWdIbzN4WmNybFhEWGxL
Q2VpbDZGbnIwZ0lTWk9JaDVka0JyY2RWTDRxdUJKZTRaWmM1bVZ1QUM3TGQxM2V0MFR4TUo0aUFM
R3JQdXFQVlVPR1NZSWNaOWlkeDV6S0tCV2hZM3RQZ2dFZEtwbkhCbVBmVFJPNHlaYWYwTncxUVhy
Z1NNWlk5ZWpldWF1ckFoNFE4bzQtNi1yOE8yTFVlN3VmTWhfY2NLa1hJU0VoNEtkT25UMTdFTTlC
UVRuOVVOUzlHb0syWlpVMFUzaW81RFN1X2twYXNyNHVPVldjR2xFMndjek92Mm5rR3dHMzlGM3NG
RjBRIiwKKyAgICBwOiAieDV2bmNvNWotVEQ2aFRPenlONERoa1o0NG0wNU55Y3hUNlNVRTJxVHVy
VDMtdXplX0w3VFl1dExSSVJrb3ZSTWhUSFpBcjJwemlSbGFzRXMxM1BFejladngxSV9UNjhzcnNv
bnJkYmFrLVNGTWVjTTdFakhjNUMtSjEzZ1hodzlISVcyOF9TeDlyUS1Ka0d3RXdFOVBFZElVZnV2
ZHFwZ2gzU21Yd1BKckVzIiwKKyAgICBxOiAid2I5dmxsZ18ybi1rTmdlMGJUaGdfN3h1MVV3VHpp
cE04dnhTVWtrVjJJaXBKS0lBZWtrVTNhQUI4TG9QaFVJMC0xN3BTR3czRVRPTzI3dDE2M1RJOXFJ
UHB6TGJoVEg5YVVpN3FMR2JLbHpQbGducVA0M1owTEh4YzN4S0RnaXQtQXIyOVFMYVgydW9KQlg2
VlZXdmhtaDdCSVBESE5WTTVHWmp3V09SWWdrIiwKKyAgICBkcDogIkMyYzhzYTZ3eDJ1azVEY3Y3
aW5BeWNyODNQS2djaVlyQ3dHNzgtQUMwSWZHSXUtbFRZc1pTRzFvdjJGUTNuNVdZTVdZUUNfVm81
RXd1Z2lQSnpfVjNvbkJtUUY1M0hPRmVmYlNqWHZZd05vdFFjeVJVRzVYOXFJdU90R0NIOTQ5SDRR
RUQ2dktfdTBOSC1KZ3pMVWxhbXdvRlliclh6d2NoNkNDWUtzMnVrRSIsCisgICAgZHE6ICJoYnRS
bG9ETGNsSHdVcXIyeXZ6RFYwSUZib3pZanRGNzA2eC1WZlhFY25YQjZsczM0VEJZaXJGTEpaSUg3
SDlLZXNlRVZrejdwWV9rNTU1NVFsQ1Y5a2JlYnhZWGw5UnRpaUotQlc2eUg0ZDRjYVBlWUlmVTlN
d2VVUXhWUVdLVVVrV2ZPSGNEckNGdktabFI5Vnp6anQ3SEt0S1g5bXIwYkNLUWNJZjliYUUiLAor
ICAgIHFpOiAiYS03aFVUVG5jbFVQS09mU2dIOHpFS0dKLUF2ZEZFenh2WjVzcTQ2UWYyTWJPUnhW
ak40ZEphbVZ2TS1Gb3Fjd04tOWN1VWx5cjliU0ZUd1VCVzR2WGE4WGo5YThKZlZpdU1DcXpSLW1M
MXJHSVVRNUFSR2hOY1NzUmx5S1RxejVCbFdsVkttWEl4X3AtRGVWd1BXaUpKeTRrX0ZxeUJ4cm54
a3pvbUhmcnhrIiwKK307Cit2YXIgZXhwZWN0ZWRQbGFpblRleHQgPSAiSGVsbG8sIFdvcmxkISI7
CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tLZXksICJSU0FFUy1QS0NTMS12
MV81IiwgZXh0cmFjdGFibGUsIFsiZGVjcnlwdCJdKS50aGVuKGZ1bmN0aW9uKGtleSkgeworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLmRlY3J5cHQoIlJTQUVTLVBLQ1MxLXYxXzUiLCBrZXksIGNp
cGhlclRleHQpOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwbGFpblRleHQgPSBy
ZXN1bHQ7CisKKyAgICBzaG91bGRCZSgiYnl0ZXNUb0FTQ0lJU3RyaW5nKHBsYWluVGV4dCkiLCAi
ZXhwZWN0ZWRQbGFpblRleHQiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtl
eS1kZWNyeXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRs
ZS9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIz
YzZkZTc4Y2NiZTViMjBkOTlhZmFjYjkwMmRlZTA5ZTYyYjA2ZDAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1k
ZWNyeXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitbV29ya2VyXSBUZXN0IGRlY3J5
cHRpbmcgdXNpbmcgUlNBLU9BRVAgU0hBLTEgd2l0aCBhbiBpbXBvcnRlZCBrZXkgYW5kIGEgbGFi
ZWwgaW4gd29ya2VycworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcg
d29ya2VyOiByZXNvdXJjZXMvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0LmpzCitQQVNTIFtX
b3JrZXJdIGJ5dGVzVG9BU0NJSVN0cmluZyhwbGFpblRleHQpIGlzIGV4cGVjdGVkUGxhaW5UZXh0
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1vYWVwLWltcG9y
dC1rZXktZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jz
YS1vYWVwLWltcG9ydC1rZXktZGVjcnlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwNzY5YTM4ODE3ODEw
ZTA5NjQ4OWI5Y2ExOGMyMTFlNGUxYTgyYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwK
QEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd29ya2VyID0gc3RhcnRXb3Jr
ZXIoJ3Jlc291cmNlcy9yc2Etb2FlcC1pbXBvcnQta2V5LWRlY3J5cHQuanMnKTsKKyAgICA8L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
cnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQta2V5LWRlY3J5cHQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYWVzLXBr
Y3MxLXYxXzUtaW1wb3J0LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2My
NzI2ZjhhMGYzYTg3NGIwZTg1NWU4MmQ1MTM2NjgxMjczZjBkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtaW1wb3J0
LWtleS1kZWNyeXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitbV29ya2VyXSBUZXN0
IGRlY3J5cHRpbmcgdXNpbmcgUlNBRVMtUEtDUzEtdjFfNSB3aXRoIGFuIGltcG9ydGVkIGtleSBp
biB3b3JrZXJzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTdGFydGluZyB3b3Jr
ZXI6IHJlc291cmNlcy9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1rZXktZGVjcnlwdC5qcworUEFT
UyBbV29ya2VyXSBieXRlc1RvQVNDSUlTdHJpbmcocGxhaW5UZXh0KSBpcyBleHBlY3RlZFBsYWlu
VGV4dAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Flcy1wa2Nz
MS12MV81LWltcG9ydC1rZXktZGVjcnlwdC5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtl
cnMvc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtaW1wb3J0LWtleS1kZWNyeXB0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTdjNDEwY2Y5N2RmZjFkY2IwODM5YTQxNmYzNDE5MWM2OWNmZTBkNwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yc2Flcy1wa2NzMS12
MV81LWltcG9ydC1rZXktZGVjcnlwdC5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+
CisgICAgICAgIHdvcmtlciA9IHN0YXJ0V29ya2VyKCdyZXNvdXJjZXMvcnNhZXMtcGtjczEtdjFf
NS1pbXBvcnQta2V5LWRlY3J5cHQuanMnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRv
QVBJL2VuY3J5cHRfZGVjcnlwdC90ZXN0X2Flc19jYmMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9lbmNyeXB0X2RlY3J5cHQvdGVzdF9hZXNfY2Jj
LWV4cGVjdGVkLnR4dAppbmRleCBjNGFkMzU3YzZmOTE0NDA3NzNjMGZjZmM5MWM2NDdmMWIxOTQy
OWM1Li4zY2ZiZjVjMGU3OWRiYWYzN2VlZDhjNjhhMWU4ZDkwNWU2ZjE0ZmIxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2VuY3J5cHRfZGVjcnlwdC90
ZXN0X2Flc19jYmMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9X
ZWJDcnlwdG9BUEkvZW5jcnlwdF9kZWNyeXB0L3Rlc3RfYWVzX2NiYy1leHBlY3RlZC50eHQKQEAg
LTcsNDAgKzcsNDAgQEAgUEFTUyBBRVMtQ0JDIDI1Ni1iaXQga2V5CiBQQVNTIEFFUy1DQkMgMTI4
LWJpdCBrZXkgd2l0aCBhbHRlcmVkIHBsYWludGV4dCAKIFBBU1MgQUVTLUNCQyAxOTItYml0IGtl
eSB3aXRoIGFsdGVyZWQgcGxhaW50ZXh0IAogUEFTUyBBRVMtQ0JDIDI1Ni1iaXQga2V5IHdpdGgg
YWx0ZXJlZCBwbGFpbnRleHQgCi1GQUlMIEFFUy1DQkMgMTI4LWJpdCBrZXkgZGVjcnlwdGlvbiBz
dWJ0bGUuZGVjcnlwdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdWJ0bGUuZGVjcnlwdCh2ZWN0
b3IuYWxnb3JpdGhtLCB2ZWN0b3Iua2V5LCB2ZWN0b3IucmVzdWx0KScsICdzdWJ0bGUuZGVjcnlw
dCcgaXMgdW5kZWZpbmVkKQotRkFJTCBBRVMtQ0JDIDE5Mi1iaXQga2V5IGRlY3J5cHRpb24gc3Vi
dGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3VidGxlLmRlY3J5cHQodmVjdG9y
LmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9yLnJlc3VsdCknLCAnc3VidGxlLmRlY3J5cHQn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAyNTYtYml0IGtleSBkZWNyeXB0aW9uIHN1YnRs
ZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5h
bGdvcml0aG0sIHZlY3Rvci5rZXksIHZlY3Rvci5yZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBp
cyB1bmRlZmluZWQpCi1GQUlMIEFFUy1DQkMgMTI4LWJpdCBrZXkgZGVjcnlwdGlvbiB3aXRoIGFs
dGVyZWQgY2lwaGVydGV4dCBzdWJ0bGUuZGVjcnlwdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdz
dWJ0bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGhtLCB2ZWN0b3Iua2V5LCBjaXBoZXJ0ZXh0KScs
ICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZpbmVkKQotRkFJTCBBRVMtQ0JDIDE5Mi1iaXQga2V5
IGRlY3J5cHRpb24gd2l0aCBhbHRlcmVkIGNpcGhlcnRleHQgc3VidGxlLmRlY3J5cHQgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnc3VidGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9y
LmtleSwgY2lwaGVydGV4dCknLCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
QUVTLUNCQyAyNTYtYml0IGtleSBkZWNyeXB0aW9uIHdpdGggYWx0ZXJlZCBjaXBoZXJ0ZXh0IHN1
YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rv
ci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIGNpcGhlcnRleHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBp
cyB1bmRlZmluZWQpCitQQVNTIEFFUy1DQkMgMTI4LWJpdCBrZXkgZGVjcnlwdGlvbiAKK1BBU1Mg
QUVTLUNCQyAxOTItYml0IGtleSBkZWNyeXB0aW9uIAorUEFTUyBBRVMtQ0JDIDI1Ni1iaXQga2V5
IGRlY3J5cHRpb24gCitQQVNTIEFFUy1DQkMgMTI4LWJpdCBrZXkgZGVjcnlwdGlvbiB3aXRoIGFs
dGVyZWQgY2lwaGVydGV4dCAKK1BBU1MgQUVTLUNCQyAxOTItYml0IGtleSBkZWNyeXB0aW9uIHdp
dGggYWx0ZXJlZCBjaXBoZXJ0ZXh0IAorUEFTUyBBRVMtQ0JDIDI1Ni1iaXQga2V5IGRlY3J5cHRp
b24gd2l0aCBhbHRlcmVkIGNpcGhlcnRleHQgCiBQQVNTIEFFUy1DQkMgMTI4LWJpdCBrZXkgd2l0
aG91dCBlbmNyeXB0IHVzYWdlIAogUEFTUyBBRVMtQ0JDIDE5Mi1iaXQga2V5IHdpdGhvdXQgZW5j
cnlwdCB1c2FnZSAKIFBBU1MgQUVTLUNCQyAyNTYtYml0IGtleSB3aXRob3V0IGVuY3J5cHQgdXNh
Z2UgCiBGQUlMIEFFUy1DQkMgMTI4LWJpdCBrZXkgd2l0aCBtaXNtYXRjaGVkIGtleSBhbmQgYWxn
b3JpdGhtIGFzc2VydF9lcXVhbHM6IE1pc21hdGNoIHNob3VsZCBjYXVzZSBJbnZhbGlkQWNjZXNz
RXJyb3IgaW5zdGVhZCBvZiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIGV4cGVjdGVk
ICJJbnZhbGlkQWNjZXNzRXJyb3IiIGJ1dCBnb3QgIk5vdFN1cHBvcnRlZEVycm9yIgogRkFJTCBB
RVMtQ0JDIDE5Mi1iaXQga2V5IHdpdGggbWlzbWF0Y2hlZCBrZXkgYW5kIGFsZ29yaXRobSBhc3Nl
cnRfZXF1YWxzOiBNaXNtYXRjaCBzaG91bGQgY2F1c2UgSW52YWxpZEFjY2Vzc0Vycm9yIGluc3Rl
YWQgb2YgVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLiBleHBlY3RlZCAiSW52YWxpZEFj
Y2Vzc0Vycm9yIiBidXQgZ290ICJOb3RTdXBwb3J0ZWRFcnJvciIKIEZBSUwgQUVTLUNCQyAyNTYt
Yml0IGtleSB3aXRoIG1pc21hdGNoZWQga2V5IGFuZCBhbGdvcml0aG0gYXNzZXJ0X2VxdWFsczog
TWlzbWF0Y2ggc2hvdWxkIGNhdXNlIEludmFsaWRBY2Nlc3NFcnJvciBpbnN0ZWFkIG9mIFRoZSBv
cGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4gZXhwZWN0ZWQgIkludmFsaWRBY2Nlc3NFcnJvciIg
YnV0IGdvdCAiTm90U3VwcG9ydGVkRXJyb3IiCi1GQUlMIEFFUy1DQkMgMTI4LWJpdCBrZXkgd2l0
aG91dCBkZWNyeXB0IHVzYWdlIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIHZlY3Rvci5yZXN1
bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFFUy1DQkMgMTkyLWJp
dCBrZXkgd2l0aG91dCBkZWNyeXB0IHVzYWdlIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIHZl
Y3Rvci5yZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFFUy1D
QkMgMjU2LWJpdCBrZXkgd2l0aG91dCBkZWNyeXB0IHVzYWdlIHN1YnRsZS5kZWNyeXB0IGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rv
ci5rZXksIHZlY3Rvci5yZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCitQ
QVNTIEFFUy1DQkMgMTI4LWJpdCBrZXkgd2l0aG91dCBkZWNyeXB0IHVzYWdlIAorUEFTUyBBRVMt
Q0JDIDE5Mi1iaXQga2V5IHdpdGhvdXQgZGVjcnlwdCB1c2FnZSAKK1BBU1MgQUVTLUNCQyAyNTYt
Yml0IGtleSB3aXRob3V0IGRlY3J5cHQgdXNhZ2UgCiBQQVNTIEFFUy1DQkMgMTI4LWJpdCBrZXks
IDY0LWJpdCBJViAKIFBBU1MgQUVTLUNCQyAxMjgtYml0IGtleSwgMTkyLWJpdCBJViAKIFBBU1Mg
QUVTLUNCQyAxOTItYml0IGtleSwgNjQtYml0IElWIAogUEFTUyBBRVMtQ0JDIDE5Mi1iaXQga2V5
LCAxOTItYml0IElWIAogUEFTUyBBRVMtQ0JDIDI1Ni1iaXQga2V5LCA2NC1iaXQgSVYgCiBQQVNT
IEFFUy1DQkMgMjU2LWJpdCBrZXksIDE5Mi1iaXQgSVYgCi1GQUlMIEFFUy1DQkMgMTI4LWJpdCBr
ZXksIDY0LWJpdCBJViBkZWNyeXB0aW9uIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIHZlY3Rv
ci5yZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFFUy1DQkMg
MTI4LWJpdCBrZXksIDE5Mi1iaXQgSVYgZGVjcnlwdGlvbiBzdWJ0bGUuZGVjcnlwdCBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdzdWJ0bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGhtLCB2ZWN0b3Iu
a2V5LCB2ZWN0b3IucmVzdWx0KScsICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZpbmVkKQotRkFJ
TCBBRVMtQ0JDIDE5Mi1iaXQga2V5LCA2NC1iaXQgSVYgZGVjcnlwdGlvbiBzdWJ0bGUuZGVjcnlw
dCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdzdWJ0bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGht
LCB2ZWN0b3Iua2V5LCB2ZWN0b3IucmVzdWx0KScsICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZp
bmVkKQotRkFJTCBBRVMtQ0JDIDE5Mi1iaXQga2V5LCAxOTItYml0IElWIGRlY3J5cHRpb24gc3Vi
dGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3VidGxlLmRlY3J5cHQodmVjdG9y
LmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9yLnJlc3VsdCknLCAnc3VidGxlLmRlY3J5cHQn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAyNTYtYml0IGtleSwgNjQtYml0IElWIGRlY3J5
cHRpb24gc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3VidGxlLmRlY3J5
cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9yLnJlc3VsdCknLCAnc3VidGxl
LmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAyNTYtYml0IGtleSwgMTkyLWJp
dCBJViBkZWNyeXB0aW9uIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N1
YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIHZlY3Rvci5yZXN1bHQp
JywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFFUy1DQkMgMTI4LWJpdCBr
ZXksIHplcm9QYWRDaGFyIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N1
YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXksIHZlY3Rvci5yZXN1bHQp
JywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFFUy1DQkMgMTI4LWJpdCBr
ZXksIGJpZ1BhZENoYXIgc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc3Vi
dGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9yLnJlc3VsdCkn
LCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAxMjgtYml0IGtl
eSwgaW5jb25zaXN0ZW50UGFkQ2hhcnMgc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnc3VidGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9y
LnJlc3VsdCknLCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAx
OTItYml0IGtleSwgemVyb1BhZENoYXIgc3VidGxlLmRlY3J5cHQgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnc3VidGxlLmRlY3J5cHQodmVjdG9yLmFsZ29yaXRobSwgdmVjdG9yLmtleSwgdmVjdG9y
LnJlc3VsdCknLCAnc3VidGxlLmRlY3J5cHQnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQUVTLUNCQyAx
OTItYml0IGtleSwgYmlnUGFkQ2hhciBzdWJ0bGUuZGVjcnlwdCBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdzdWJ0bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGhtLCB2ZWN0b3Iua2V5LCB2ZWN0b3Iu
cmVzdWx0KScsICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZpbmVkKQotRkFJTCBBRVMtQ0JDIDE5
Mi1iaXQga2V5LCBpbmNvbnNpc3RlbnRQYWRDaGFycyBzdWJ0bGUuZGVjcnlwdCBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdzdWJ0bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGhtLCB2ZWN0b3Iua2V5
LCB2ZWN0b3IucmVzdWx0KScsICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZpbmVkKQotRkFJTCBB
RVMtQ0JDIDI1Ni1iaXQga2V5LCB6ZXJvUGFkQ2hhciBzdWJ0bGUuZGVjcnlwdCBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdzdWJ0bGUuZGVjcnlwdCh2ZWN0b3IuYWxnb3JpdGhtLCB2ZWN0b3Iua2V5
LCB2ZWN0b3IucmVzdWx0KScsICdzdWJ0bGUuZGVjcnlwdCcgaXMgdW5kZWZpbmVkKQotRkFJTCBB
RVMtQ0JDIDI1Ni1iaXQga2V5LCBiaWdQYWRDaGFyIHN1YnRsZS5kZWNyeXB0IGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZlY3Rvci5rZXks
IHZlY3Rvci5yZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQpCi1GQUlMIEFF
Uy1DQkMgMjU2LWJpdCBrZXksIGluY29uc2lzdGVudFBhZENoYXJzIHN1YnRsZS5kZWNyeXB0IGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3N1YnRsZS5kZWNyeXB0KHZlY3Rvci5hbGdvcml0aG0sIHZl
Y3Rvci5rZXksIHZlY3Rvci5yZXN1bHQpJywgJ3N1YnRsZS5kZWNyeXB0JyBpcyB1bmRlZmluZWQp
CitQQVNTIEFFUy1DQkMgMTI4LWJpdCBrZXksIDY0LWJpdCBJViBkZWNyeXB0aW9uIAorUEFTUyBB
RVMtQ0JDIDEyOC1iaXQga2V5LCAxOTItYml0IElWIGRlY3J5cHRpb24gCitQQVNTIEFFUy1DQkMg
MTkyLWJpdCBrZXksIDY0LWJpdCBJViBkZWNyeXB0aW9uIAorUEFTUyBBRVMtQ0JDIDE5Mi1iaXQg
a2V5LCAxOTItYml0IElWIGRlY3J5cHRpb24gCitQQVNTIEFFUy1DQkMgMjU2LWJpdCBrZXksIDY0
LWJpdCBJViBkZWNyeXB0aW9uIAorUEFTUyBBRVMtQ0JDIDI1Ni1iaXQga2V5LCAxOTItYml0IElW
IGRlY3J5cHRpb24gCitGQUlMIEFFUy1DQkMgMTI4LWJpdCBrZXksIHplcm9QYWRDaGFyIGFzc2Vy
dF91bnJlYWNoZWQ6IHNob3VsZCBoYXZlIHRocm93biBleGNlcHRpb24gZm9yIHRlc3QgQUVTLUNC
QyAxMjgtYml0IGtleSwgemVyb1BhZENoYXIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlM
IEFFUy1DQkMgMTI4LWJpdCBrZXksIGJpZ1BhZENoYXIgYXNzZXJ0X3VucmVhY2hlZDogc2hvdWxk
IGhhdmUgdGhyb3duIGV4Y2VwdGlvbiBmb3IgdGVzdCBBRVMtQ0JDIDEyOC1iaXQga2V5LCBiaWdQ
YWRDaGFyIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBBRVMtQ0JDIDEyOC1iaXQga2V5
LCBpbmNvbnNpc3RlbnRQYWRDaGFycyBhc3NlcnRfdW5yZWFjaGVkOiBzaG91bGQgaGF2ZSB0aHJv
d24gZXhjZXB0aW9uIGZvciB0ZXN0IEFFUy1DQkMgMTI4LWJpdCBrZXksIGluY29uc2lzdGVudFBh
ZENoYXJzIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBBRVMtQ0JDIDE5Mi1iaXQga2V5
LCB6ZXJvUGFkQ2hhciBhc3NlcnRfdW5yZWFjaGVkOiBzaG91bGQgaGF2ZSB0aHJvd24gZXhjZXB0
aW9uIGZvciB0ZXN0IEFFUy1DQkMgMTkyLWJpdCBrZXksIHplcm9QYWRDaGFyIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQorRkFJTCBBRVMtQ0JDIDE5Mi1iaXQga2V5LCBiaWdQYWRDaGFyIGFzc2Vy
dF91bnJlYWNoZWQ6IHNob3VsZCBoYXZlIHRocm93biBleGNlcHRpb24gZm9yIHRlc3QgQUVTLUNC
QyAxOTItYml0IGtleSwgYmlnUGFkQ2hhciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwg
QUVTLUNCQyAxOTItYml0IGtleSwgaW5jb25zaXN0ZW50UGFkQ2hhcnMgYXNzZXJ0X3VucmVhY2hl
ZDogc2hvdWxkIGhhdmUgdGhyb3duIGV4Y2VwdGlvbiBmb3IgdGVzdCBBRVMtQ0JDIDE5Mi1iaXQg
a2V5LCBpbmNvbnNpc3RlbnRQYWRDaGFycyBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwg
QUVTLUNCQyAyNTYtYml0IGtleSwgemVyb1BhZENoYXIgYXNzZXJ0X3VucmVhY2hlZDogc2hvdWxk
IGhhdmUgdGhyb3duIGV4Y2VwdGlvbiBmb3IgdGVzdCBBRVMtQ0JDIDI1Ni1iaXQga2V5LCB6ZXJv
UGFkQ2hhciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgQUVTLUNCQyAyNTYtYml0IGtl
eSwgYmlnUGFkQ2hhciBhc3NlcnRfdW5yZWFjaGVkOiBzaG91bGQgaGF2ZSB0aHJvd24gZXhjZXB0
aW9uIGZvciB0ZXN0IEFFUy1DQkMgMjU2LWJpdCBrZXksIGJpZ1BhZENoYXIgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCitGQUlMIEFFUy1DQkMgMjU2LWJpdCBrZXksIGluY29uc2lzdGVudFBhZENo
YXJzIGFzc2VydF91bnJlYWNoZWQ6IHNob3VsZCBoYXZlIHRocm93biBleGNlcHRpb24gZm9yIHRl
c3QgQUVTLUNCQyAyNTYtYml0IGtleSwgaW5jb25zaXN0ZW50UGFkQ2hhcnMgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9XZWJD
cnlwdG9BUEkvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CmluZGV4IDIyZDgxMDgzZDdl
OTdjM2M5YzEzZTExN2VlODRmMTMzYmJjOWI5ODQuLjVkN2JkNTdkMDA4ODk1ZjVjZWEwZTk3MTg5
ZGY1YTM4OGFiOGM0NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9XZWJD
cnlwdG9BUEkvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtNDUsOCArNDUs
OCBAQCBGQUlMIFN1YnRsZUNyeXB0byBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGNyeXB0
by5zdWJ0bGUgYXNzZXJ0X293bl9wcm9wZXJ0eQogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgY3J5
cHRvLnN1YnRsZSAKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImVuY3J5cHQiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAK
IFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBlbmNyeXB0KEFsZ29yaXRobUlk
ZW50aWZpZXIsQ3J5cHRvS2V5LEJ1ZmZlclNvdXJjZSkgb24gY3J5cHRvLnN1YnRsZSB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotRkFJTCBTdWJ0bGVDcnlwdG8g
aW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjcnlwdCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImRlY3J5
cHQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KLUZBSUwgU3VidGxlQ3J5cHRvIGludGVy
ZmFjZTogY2FsbGluZyBkZWNyeXB0KEFsZ29yaXRobUlkZW50aWZpZXIsQ3J5cHRvS2V5LEJ1ZmZl
clNvdXJjZSkgb24gY3J5cHRvLnN1YnRsZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhy
b3cgVHlwZUVycm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImRlY3J5cHQiIG5vdCBmb3Vu
ZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRv
LnN1YnRsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY3J5cHQiIHdpdGggdGhlIHByb3BlciB0
eXBlICgxKSAKK1BBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBkZWNyeXB0KEFs
Z29yaXRobUlkZW50aWZpZXIsQ3J5cHRvS2V5LEJ1ZmZlclNvdXJjZSkgb24gY3J5cHRvLnN1YnRs
ZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogRkFJTCBTdWJ0
bGVDcnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
c2lnbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkg
InNpZ24iIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgU3VidGxlQ3J5cHRvIGlu
dGVyZmFjZTogY2FsbGluZyBzaWduKEFsZ29yaXRobUlkZW50aWZpZXIsQ3J5cHRvS2V5LEJ1ZmZl
clNvdXJjZSkgb24gY3J5cHRvLnN1YnRsZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhy
b3cgVHlwZUVycm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInNpZ24iIG5vdCBmb3VuZCBp
biBwcm90b3R5cGUgY2hhaW4KIEZBSUwgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1
YnRsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInZlcmlmeSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDMpIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInZlcmlmeSIgbm90IGZvdW5kIGluIHByb3Rv
dHlwZSBjaGFpbgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>