<?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>169386</bug_id>
          
          <creation_ts>2017-03-08 14:30:41 -0800</creation_ts>
          <short_desc>[WebCrypto] Implement SubtleCrypto::DeriveKey method</short_desc>
          <delta_ts>2017-03-09 13:28:50 -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>166746</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1285026</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-08 14:30:41 -0800</bug_when>
    <thetext>Implement ECDH DeriveKey operation according to the spec: https://www.w3.org/TR/WebCryptoAPI/#ecdh-operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285028</commentid>
    <comment_count>1</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-08 14:31:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/23789585&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285202</commentid>
    <comment_count>2</comment_count>
      <attachid>303892</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-08 20:15:12 -0800</bug_when>
    <thetext>Created attachment 303892
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285203</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-08 20:17:19 -0800</bug_when>
    <thetext>Attachment 303892 did not pass style-queue:


ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_GCM.cpp:227:  CryptoAlgorithmAES_GCM::getKeyLength is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:189:  CryptoAlgorithmAES_CBC::getKeyLength is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp:176:  CryptoAlgorithmAES_KW::getKeyLength is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:178:  CryptoAlgorithmAES_CFB::getKeyLength is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 4 in 44 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>1285204</commentid>
    <comment_count>4</comment_count>
      <attachid>303892</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-03-08 20:21:10 -0800</bug_when>
    <thetext>Comment on attachment 303892
Patch

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

Looks good. r=me.

&gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:-750
&gt; -    ASSERT_NOT_REACHED();

Yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285213</commentid>
    <comment_count>5</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-08 21:02:07 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 303892 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=303892&amp;action=review
&gt; 
&gt; Looks good. r=me.
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp:-750
&gt; &gt; -    ASSERT_NOT_REACHED();
&gt; 
&gt; Yay!

Thanks Brent for r+ my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285227</commentid>
    <comment_count>6</comment_count>
      <attachid>303892</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-08 21:50:35 -0800</bug_when>
    <thetext>Comment on attachment 303892
Patch

Clearing flags on attachment: 303892

Committed r213628: &lt;http://trac.webkit.org/changeset/213628&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285228</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-08 21:50:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285437</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-03-09 12:08:26 -0800</bug_when>
    <thetext>Looks like this broke the 32-bit build of WebKitGTK+


https://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release/builds/68007
https://build.webkit.org/builders/GTK%20Linux%20ARM%20Release/builds/13248</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285513</commentid>
    <comment_count>9</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-03-09 13:09:31 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Looks like this broke the 32-bit build of WebKitGTK+
&gt; 
&gt; 
&gt; https://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release/builds/68007
&gt; https://build.webkit.org/builders/GTK%20Linux%20ARM%20Release/builds/13248

Oops. Sorry for it. Glad that you have fixed the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285528</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-03-09 13:18:25 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Looks like this broke the 32-bit build of WebKitGTK+
&gt; &gt; 
&gt; &gt; 
&gt; &gt; https://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release/builds/68007
&gt; &gt; https://build.webkit.org/builders/GTK%20Linux%20ARM%20Release/builds/13248
&gt; 
&gt; Oops. Sorry for it. Glad that you have fixed the problem.

Have we? I still see the GTK+ 32-bit bots broken

https://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285541</commentid>
    <comment_count>11</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-03-09 13:28:50 -0800</bug_when>
    <thetext>Prospective 32-bit GTK build fix landed in r213663: &lt;http://trac.webkit.org/changeset/213663&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303892</attachid>
            <date>2017-03-08 20:15:12 -0800</date>
            <delta_ts>2017-03-08 21:50:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169386-20170308201400.patch</filename>
            <type>text/plain</type>
            <size>118568</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNThkOTI2NTJjNmFlOGU5
ZWFlNTM2MGJiMzlmNzg4YjIwOWZjZjBmYS4uNmFkY2U1NWRhNzVhMzdlZThmYmFmMjVlYmI4OTEy
YWVkZmYzMjU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDg0IEBACiAyMDE3LTAzLTA4ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgW1dlYkNyeXB0b10gSW1w
bGVtZW50IFN1YnRsZUNyeXB0bzo6RGVyaXZlS2V5IG1ldGhvZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5Mzg2CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yMzc4OTU4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGRvZXMgZm9sbG93aW5nIGZldyB0aGluZ3M6CisgICAgICAgIDEu
IEl0IGltcGxlbWVudHMgU3VidGxlQ3J5cHRvOjpEZXJpdmVLZXkgbWV0aG9kIGFjY29yZGluZyB0
byB0aGUgc3BlYzoKKyAgICAgICAgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dlYkNyeXB0b0FQSS8j
U3VidGxlQ3J5cHRvLW1ldGhvZC1kZXJpdmVLZXkuCisgICAgICAgIDIuIEl0IGltcGxlbWVudHMg
Z2V0S2V5TGVuZ3RoIG9wZXJhdGlvbnMgZm9yIEFFUy1DQkMsIEFFUy1LVywgQUVTLUNGQiwKKyAg
ICAgICAgQUVTLUdDTSwgYW5kIEhNQUMsIHdoaWNoIGlzIG5lZWRlZCBieSB0aGUgU3VidGxlQ3J5
cHRvOjpEZXJpdmVLZXkgbWV0aG9kLgorICAgICAgICAzLiBJdCBlbmFibGVzIEVDREggRGVyaXZl
S2V5IG9wZXJhdGlvbi4KKyAgICAgICAgNC4gSXQgcmVwbGFjZXMgdW5pZ25lZCBsb25nIHdpdGgg
c2l6ZV90IGluIGFsbCB0aGUgY3J5cHRvIGNvZGVzLgorCisgICAgICAgIFRlc3RzOiBjcnlwdG8v
c3VidGxlL2Rlcml2ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorICAgICAgICAgICAg
ICAgY3J5cHRvL3N1YnRsZS9lY2RoLWltcG9ydC1rZXktZGVyaXZlLWFlcy1rZXkuaHRtbAorICAg
ICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS9lY2RoLWltcG9ydC1rZXktZGVyaXZlLWhtYWMta2V5
LWN1c3RvbS1sZW5ndGguaHRtbAorICAgICAgICAgICAgICAgY3J5cHRvL3N1YnRsZS91bndyYXAt
a2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKKyAgICAgICAgICAgICAgIGNyeXB0by9zdWJ0
bGUvd3JhcC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbAorICAgICAgICAgICAgICAgY3J5
cHRvL3dvcmtlcnMvc3VidGxlL2VjZGgtaW1wb3J0LWtleS1kZXJpdmUta2V5Lmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5v
cm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6anNT
dWJ0bGVDcnlwdG9GdW5jdGlvbkVuY3J5cHRQcm9taXNlKToKKyAgICAgICAgKFdlYkNvcmU6Ompz
U3VidGxlQ3J5cHRvRnVuY3Rpb25EZWNyeXB0UHJvbWlzZSk6CisgICAgICAgIChXZWJDb3JlOjpq
c1N1YnRsZUNyeXB0b0Z1bmN0aW9uU2lnblByb21pc2UpOgorICAgICAgICAoV2ViQ29yZTo6anNT
dWJ0bGVDcnlwdG9GdW5jdGlvblZlcmlmeVByb21pc2UpOgorICAgICAgICAoV2ViQ29yZTo6anNT
dWJ0bGVDcnlwdG9GdW5jdGlvbkRpZ2VzdFByb21pc2UpOgorICAgICAgICAoV2ViQ29yZTo6anNT
dWJ0bGVDcnlwdG9GdW5jdGlvbkRlcml2ZUtleVByb21pc2UpOgorICAgICAgICAoV2ViQ29yZTo6
anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkRlcml2ZUJpdHNQcm9taXNlKToKKyAgICAgICAgUmVtb3Zl
IHVubmVjZXNzYXJ5IHJldHVybiBzdGF0ZW1lbnQgZnJvbSBjYWxsYmFja3MuCisgICAgICAgICog
Y3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9BbGdv
cml0aG06OmRlcml2ZUJpdHMpOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtOjpn
ZXRLZXlMZW5ndGgpOgorICAgICAgICAqIGNyeXB0by9DcnlwdG9BbGdvcml0aG0uaDoKKyAgICAg
ICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oOgorICAgICAgICAqIGNyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DQkMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6Z2VuZXJhdGVLZXkpOgorICAgICAgICAoV2ViQ29y
ZTo6Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6Z2V0S2V5TGVuZ3RoKToKKyAgICAgICAgKiBjcnlw
dG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmg6CisgICAgICAgICogY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpnZW5lcmF0ZUtleSk6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpnZXRLZXlMZW5ndGgpOgorICAgICAgICAqIGNyeXB0
by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19DRkIuaDoKKyAgICAgICAgKiBjcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfR0NNLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNyeXB0b0FsZ29yaXRobUFFU19HQ006OmdlbmVyYXRlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6
OkNyeXB0b0FsZ29yaXRobUFFU19HQ006OmdldEtleUxlbmd0aCk6CisgICAgICAgICogY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0dDTS5oOgorICAgICAgICAqIGNyeXB0by9h
bGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
cnlwdG9BbGdvcml0aG1BRVNfS1c6OmdlbmVyYXRlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkNy
eXB0b0FsZ29yaXRobUFFU19LVzo6Z2V0S2V5TGVuZ3RoKToKKyAgICAgICAgKiBjcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuaDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3Jp
dGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RILmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0Fs
Z29yaXRobUVDREg6OmRlcml2ZUJpdHMpOgorICAgICAgICAqIGNyeXB0by9hbGdvcml0aG1zL0Ny
eXB0b0FsZ29yaXRobUVDREguaDoKKyAgICAgICAgKiBjcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1ITUFDLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0FsZ29yaXRobUhNQUM6
OmdldEtleUxlbmd0aCk6CisgICAgICAgICogY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3Jp
dGhtSE1BQy5oOgorICAgICAgICAqIGNyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDcnlwdG9LZXlBRVM6OmdldEtleUxlbmd0aCk6CisgICAgICAgICogY3J5
cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmg6CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5
SE1BQy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRLZXlMZW5ndGhGcm9tSGFzaCk6CisgICAg
ICAgIChXZWJDb3JlOjpDcnlwdG9LZXlITUFDOjpnZW5lcmF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9LZXlITUFDOjpnZXRLZXlMZW5ndGgpOgorICAgICAgICAqIGNyeXB0by9rZXlzL0Ny
eXB0b0tleUhNQUMuaDoKKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUVDREhN
YWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvQWxnb3JpdGhtRUNESDo6cGxhdGZvcm1E
ZXJpdmVCaXRzKToKKyAgICAgICAgKiBjcnlwdG8vcGFyYW1ldGVycy9BZXNLZXlQYXJhbXMuaWRs
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQWVzS2V5R2Vu
UGFyYW1zLmlkbC4KKyAgICAgICAgKiBjcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1B
ZXNLZXlQYXJhbXMuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0
ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtcy5oLgorICAgICAgICBSZW5hbWUgQWVz
S2V5R2VuUGFyYW1zIHRvIEFlc0tleVBhcmFtcyB0byByZXByZXNlbnQgYSB1bmlmaWVkIGRpY3Rp
b25hcnkgZm9yIEFlc0tleUdlblBhcmFtcyBhbmQgQWVzRGVyaXZlZEtleVBhcmFtcy4KKyAgICAg
ICAgKiBjcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1IbWFjS2V5UGFyYW1zLmg6Cisg
ICAgICAgICogY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1z
Lmg6CisKKzIwMTctMDMtMDggIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKwog
ICAgICAgICBbV2ViQ3J5cHRvXSBJbXBsZW1lbnQgRUNESCBEZXJpdmVCaXRzIG9wZXJhdGlvbgog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MzE5CiAg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMzc4OTU4NT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
Nzc5YmExOWU5YjcwODZmYzVkNmY2YjhmNDIzNWFjNjY5Zjk4ZjE3OC4uZmVmNmNlNDVmMTdmNDVk
ZmEyNDA3NjRlMDEzNzEzNmY1N2M4YjFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM0Miw3
ICszNDIsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogCiAgICAgY3J5cHRvL3Bh
cmFtZXRlcnMvQWVzQ2JjQ2ZiUGFyYW1zLmlkbAogICAgIGNyeXB0by9wYXJhbWV0ZXJzL0Flc0dj
bVBhcmFtcy5pZGwKLSAgICBjcnlwdG8vcGFyYW1ldGVycy9BZXNLZXlHZW5QYXJhbXMuaWRsCisg
ICAgY3J5cHRvL3BhcmFtZXRlcnMvQWVzS2V5UGFyYW1zLmlkbAogICAgIGNyeXB0by9wYXJhbWV0
ZXJzL0VjS2V5UGFyYW1zLmlkbAogICAgIGNyeXB0by9wYXJhbWV0ZXJzL0VjZGhLZXlEZXJpdmVQ
YXJhbXMuaWRsCiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvSG1hY0tleVBhcmFtcy5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDY2NWUwYzMyYTcyYmJhNmFjYjRiNGNkZmIxZTRm
NzhhNGIzN2IzOTIuLmE0ZDQ1ODZmN2E5ZWJkYWY0YjQ0M2MyMDAzZjBlZThlOWU0MzhlZjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjc0LDcgKzI3NCw3IEBAIEpTX0JJTkRJ
TkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9XZWJLaXRTdWJ0bGVDcnlwdG8uaWRs
IFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0NiY0NmYlBhcmFtcy5pZGwg
XAogICAgICQoV2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvQWVzR2NtUGFyYW1zLmlkbCBcCi0g
ICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycy9BZXNLZXlHZW5QYXJhbXMuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0tleVBhcmFtcy5pZGwgXAogICAgICQo
V2ViQ29yZSkvY3J5cHRvL3BhcmFtZXRlcnMvRWNLZXlQYXJhbXMuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2NyeXB0by9wYXJhbWV0ZXJzL0VjZGhLZXlEZXJpdmVQYXJhbXMuaWRsIFwKICAgICAkKFdl
YkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL0htYWNLZXlQYXJhbXMuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjMjU5OTJh
ODkwMGIwMWE0ZDU0MGFjNzI1OWZiOWVmOGUyZWMwM2MzLi4wMWM3MTFkNzk5ZDAyZTZjZmUxOTMw
N2ZlNmMxOTE5Y2JkNWVkNGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzgyLDExICsyMzgyLDExIEBACiAJCTU3NjgxNDM1
MUU2RkUzRTgwMEU3Nzc1NCAvKiBDcnlwdG9BbGdvcml0aG1FQ0RITWFjLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NjgxNDM0MUU2RkUzRTgwMEU3
Nzc1NCAvKiBDcnlwdG9BbGdvcml0aG1FQ0RITWFjLmNwcCAqLzsgfTsKIAkJNTc2ODE0NDAxRTcw
OUZBMTAwRTc3NzU0IC8qIEpTRWNkaEtleURlcml2ZVBhcmFtcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzY4MTQzRDFFNzA5QzM2MDBFNzc3NTQg
LyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmNwcCAqLzsgfTsKIAkJNTc2ODE0NDExRTcwOUZBNDAw
RTc3NzU0IC8qIEpTRWNkaEtleURlcml2ZVBhcmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc2ODE0M0UxRTcwOUMzNjAwRTc3NzU0IC8qIEpTRWNk
aEtleURlcml2ZVBhcmFtcy5oICovOyB9OworCQk1NzY4MTQ0NDFFNzBDQjFCMDBFNzc3NTQgLyog
SlNBZXNLZXlQYXJhbXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTc2ODE0NDIxRTcwQ0IxMDAwRTc3NzU0IC8qIEpTQWVzS2V5UGFyYW1zLmNwcCAq
LzsgfTsKKwkJNTc2ODE0NDUxRTcwQ0IxRjAwRTc3NzU0IC8qIEpTQWVzS2V5UGFyYW1zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzY4MTQ0MzFFNzBD
QjEwMDBFNzc3NTQgLyogSlNBZXNLZXlQYXJhbXMuaCAqLzsgfTsKIAkJNTc2OEU0MzQxREI3NTI0
NTAwRDBBNEY3IC8qIEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzY4RTQzMzFEQjc1MjQ1MDBEMEE0RjcgLyog
SlNSc2FIYXNoZWRLZXlHZW5QYXJhbXMuaCAqLzsgfTsKIAkJNTc2OEU0MzYxREI3NTI3NDAwRDBB
NEY3IC8qIEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NjhFNDM1MURCNzUyNzMwMEQwQTRGNyAvKiBKU1Jz
YUhhc2hlZEtleUdlblBhcmFtcy5jcHAgKi87IH07Ci0JCTU3NzQ4MzEyMURBREM1NUQwMDcxNkVG
OSAvKiBDcnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NzQ4MzExMURBREM1NUQwMDcxNkVGOSAvKiBD
cnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJhbXMuaCAqLzsgfTsKLQkJNTc3NDgzMTQxREFFQzJF
QjAwNzE2RUY5IC8qIEpTQWVzS2V5R2VuUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Nzc0ODMxMzFEQUVDMkVBMDA3MTZFRjkgLyogSlNBZXNL
ZXlHZW5QYXJhbXMuaCAqLzsgfTsKLQkJNTc3NDgzMTYxREFFQzMyMzAwNzE2RUY5IC8qIEpTQWVz
S2V5R2VuUGFyYW1zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU3NzQ4MzE1MURBRUMzMjIwMDcxNkVGOSAvKiBKU0Flc0tleUdlblBhcmFtcy5jcHAg
Ki87IH07CisJCTU3NzQ4MzEyMURBREM1NUQwMDcxNkVGOSAvKiBDcnlwdG9BbGdvcml0aG1BZXNL
ZXlQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU3NzQ4MzExMURBREM1NUQwMDcxNkVGOSAvKiBDcnlwdG9BbGdvcml0aG1BZXNLZXlQYXJhbXMu
aCAqLzsgfTsKIAkJNTc3NDgzMTkxREI0NDkxRjAwNzE2RUY5IC8qIENyeXB0b0FsZ29yaXRobUht
YWNLZXlQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU3NzQ4MzE4MURCNDQ5MUYwMDcxNkVGOSAvKiBDcnlwdG9BbGdvcml0aG1IbWFjS2V5UGFy
YW1zLmggKi87IH07CiAJCTU3NzhCRDgyMURBNDgwNkMwMDlFMzAwOSAvKiBTdWJ0bGVDcnlwdG8u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NzhCRDgx
MURBNDgwMkMwMDlFMzAwOSAvKiBTdWJ0bGVDcnlwdG8uaCAqLzsgfTsKIAkJNTc3OEJEODQxREE0
ODE3QjAwOUUzMDA5IC8qIFN1YnRsZUNyeXB0by5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Nzc4QkQ4MzFEQTQ4MTdCMDA5RTMwMDkgLyogU3VidGxl
Q3J5cHRvLmNwcCAqLzsgfTsKQEAgLTk4MTYsMTIgKzk4MTYsMTIgQEAKIAkJNTc2ODE0MzQxRTZG
RTNFODAwRTc3NzU0IC8qIENyeXB0b0FsZ29yaXRobUVDREhNYWMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtRUNESE1hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NjgxNDNEMUU3MDlDMzYwMEU3Nzc1NCAvKiBKU0Vj
ZGhLZXlEZXJpdmVQYXJhbXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTc2ODE0M0UxRTcwOUMzNjAwRTc3NzU0IC8qIEpTRWNkaEtleURlcml2ZVBhcmFtcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0VjZGhLZXlEZXJpdmVQYXJhbXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc2ODE0NDIxRTcwQ0IxMDAwRTc3NzU0IC8q
IEpTQWVzS2V5UGFyYW1zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTQWVzS2V5UGFyYW1zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc2ODE0
NDMxRTcwQ0IxMDAwRTc3NzU0IC8qIEpTQWVzS2V5UGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTQWVzS2V5UGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU3NjhFNDMzMURCNzUyNDUwMEQwQTRGNyAvKiBKU1JzYUhhc2hlZEtleUdlblBhcmFt
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JzYUhhc2hlZEtleUdlblBh
cmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzY4RTQzNTFEQjc1MjczMDBE
MEE0RjcgLyogSlNSc2FIYXNoZWRLZXlHZW5QYXJhbXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNSc2FIYXNoZWRLZXlHZW5QYXJhbXMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk1Nzc0ODMxMDFEQURDNDk5MDA3MTZFRjkgLyogQWVzS2V5R2Vu
UGFyYW1zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBBZXNLZXlHZW5QYXJhbXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk1Nzc0ODMxMTFEQURDNTVEMDA3MTZFRjkgLyogQ3J5cHRvQWxnb3JpdGhtQWVz
S2V5R2VuUGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0Fs
Z29yaXRobUFlc0tleUdlblBhcmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1
Nzc0ODMxMzFEQUVDMkVBMDA3MTZFRjkgLyogSlNBZXNLZXlHZW5QYXJhbXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBZXNLZXlHZW5QYXJhbXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNTc3NDgzMTUxREFFQzMyMjAwNzE2RUY5IC8qIEpTQWVzS2V5R2Vu
UGFyYW1zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQWVzS2V5
R2VuUGFyYW1zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc3NDgzMTAxREFE
QzQ5OTAwNzE2RUY5IC8qIEFlc0tleVBhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQWVzS2V5UGFyYW1zLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc3NDgzMTExREFEQzU1RDAwNzE2RUY5IC8q
IENyeXB0b0FsZ29yaXRobUFlc0tleVBhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDcnlwdG9BbGdvcml0aG1BZXNLZXlQYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTc3NDgzMTcxREIxRkU4OTAwNzE2RUY5IC8qIEhtYWNLZXlQYXJhbXMuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEhtYWNLZXlQYXJhbXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
Nzc0ODMxODFEQjQ0OTFGMDA3MTZFRjkgLyogQ3J5cHRvQWxnb3JpdGhtSG1hY0tleVBhcmFtcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1IbWFjS2V5
UGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NzhCRDgwMURBNDczM0Uw
MDlFMzAwOSAvKiBTdWJ0bGVDcnlwdG8uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN1YnRs
ZUNyeXB0by5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDAwMSw4ICsxMDAw
MSw4IEBACiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFu
c2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1REZFQkFCNjE4NTkyQjZEMDBDNzVCRUIgLyogV2ViS2l0QXZhaWxhYmlsaXR5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdEF2YWlsYWJpbGl0eS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1RTE2QTJFMjFCRkE2NEZCMDAyOUEyMUUgLyogTWVk
aWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZp
ZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKLQkJNUUxNkEyRTMxQkZBNjRGQjAwMjlBMjFFIC8qIE1l
ZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxp
bmVFbmRpbmcgPSAwOyBwYXRoID0gTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhj
b2RlLmxhbmcub2JqY3BwOyB9OworCQk1RTE2QTJFMjFCRkE2NEZCMDAyOUEyMUUgLyogTWVkaWFF
bmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTVFMTZBMkUzMUJGQTY0RkIwMDI5QTIxRSAvKiBNZWRpYUVuZHBvaW50UGVl
ckNvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFFbmRw
b2ludFBlZXJDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVFMkM0
MzREMUJDRUUyRTUwMDAxRTJCQyAvKiBQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVlckNvbm5lY3Rpb25CYWNrZW5kLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVFMkM0MzU0MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENQZWVy
Q29ubmVjdGlvbi5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IFJU
Q1BlZXJDb25uZWN0aW9uLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RTJDNDM1
NTFCQ0VFMzBEMDAwMUUyQkMgLyogUlRDUGVlckNvbm5lY3Rpb25JbnRlcm5hbHMuanMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBSVENQZWVyQ29ubmVjdGlvbkludGVy
bmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzNjgyLDExICsyMzY4Miwx
MSBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNTcyMDkzRDExRERDRUE0QjAwMzEwQUIwIC8qIEFl
c0NiY0NmYlBhcmFtcy5pZGwgKi8sCiAJCQkJNTdCNUY4MDcxRTVEMTlGMjAwRjM0RjkwIC8qIEFl
c0djbVBhcmFtcy5pZGwgKi8sCi0JCQkJNTc3NDgzMTAxREFEQzQ5OTAwNzE2RUY5IC8qIEFlc0tl
eUdlblBhcmFtcy5pZGwgKi8sCisJCQkJNTc3NDgzMTAxREFEQzQ5OTAwNzE2RUY5IC8qIEFlc0tl
eVBhcmFtcy5pZGwgKi8sCiAJCQkJNTcyMDkzRDIxRERDRUI5QTAwMzEwQUIwIC8qIENyeXB0b0Fs
Z29yaXRobUFlc0NiY0NmYlBhcmFtcy5oICovLAogCQkJCUUxMjVGODM5MTgyNDEwNDgwMEQ4NENE
OSAvKiBDcnlwdG9BbGdvcml0aG1BZXNDYmNQYXJhbXNEZXByZWNhdGVkLmggKi8sCiAJCQkJNTdC
NUY4MDgxRTVEMUE5ODAwRjM0RjkwIC8qIENyeXB0b0FsZ29yaXRobUFlc0djbVBhcmFtcy5oICov
LAotCQkJCTU3NzQ4MzExMURBREM1NUQwMDcxNkVGOSAvKiBDcnlwdG9BbGdvcml0aG1BZXNLZXlH
ZW5QYXJhbXMuaCAqLywKKwkJCQk1Nzc0ODMxMTFEQURDNTVEMDA3MTZFRjkgLyogQ3J5cHRvQWxn
b3JpdGhtQWVzS2V5UGFyYW1zLmggKi8sCiAJCQkJRTE5QUMzRjYxODI0RTVEMTAwMzQ5NDI2IC8q
IENyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtc0RlcHJlY2F0ZWQuaCAqLywKIAkJCQk1NzUw
QTk3RDFFNkExM0VGMDA3MDVDNEEgLyogQ3J5cHRvQWxnb3JpdGhtRWNLZXlQYXJhbXMuaCAqLywK
IAkJCQk1NzY4MTQyOTFFNkY5OUMxMDBFNzc3NTQgLyogQ3J5cHRvQWxnb3JpdGhtRWNkaEtleURl
cml2ZVBhcmFtcy5oICovLApAQCAtMjM4NjcsOCArMjM4NjcsOCBAQAogCQkJCTU3MDQ0MDU5MUU1
MzkzNjIwMDM1NjYwMSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5oICovLAogCQkJCTU3QjVGODBBMUU1
RDIyREEwMEYzNEY5MCAvKiBKU0Flc0djbVBhcmFtcy5jcHAgKi8sCiAJCQkJNTdCNUY4MEIxRTVE
MjJEQTAwRjM0RjkwIC8qIEpTQWVzR2NtUGFyYW1zLmggKi8sCi0JCQkJNTc3NDgzMTUxREFFQzMy
MjAwNzE2RUY5IC8qIEpTQWVzS2V5R2VuUGFyYW1zLmNwcCAqLywKLQkJCQk1Nzc0ODMxMzFEQUVD
MkVBMDA3MTZFRjkgLyogSlNBZXNLZXlHZW5QYXJhbXMuaCAqLywKKwkJCQk1NzY4MTQ0MjFFNzBD
QjEwMDBFNzc3NTQgLyogSlNBZXNLZXlQYXJhbXMuY3BwICovLAorCQkJCTU3NjgxNDQzMUU3MENC
MTAwMEU3Nzc1NCAvKiBKU0Flc0tleVBhcmFtcy5oICovLAogCQkJCTU3MzlFMTMwMURBQzdGRDEw
MEUxNDM4MyAvKiBKU0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuY3BwICovLAogCQkJCTU3MzlF
MTJFMURBQzdGNzgwMEUxNDM4MyAvKiBKU0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCAqLywK
IAkJCQlFMTU3QThERTE4MTczMzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuY3BwICovLApAQCAt
MjU4ODIsNyArMjU4ODIsNyBAQAogCQkJCUUxRkUxMzdCMTg0RDIxQkIwMDg5MkYxMyAvKiBDcnlw
dG9BbGdvcml0aG1BRVNfS1cuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MjA5M0QzMUREQ0VCOUEw
MDMxMEFCMCAvKiBDcnlwdG9BbGdvcml0aG1BZXNDYmNDZmJQYXJhbXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxMjVGODNBMTgyNDEwNDgwMEQ4NENEOSAvKiBDcnlwdG9BbGdvcml0aG1BZXNDYmNQ
YXJhbXNEZXByZWNhdGVkLmggaW4gSGVhZGVycyAqLywKLQkJCQk1Nzc0ODMxMjFEQURDNTVEMDA3
MTZFRjkgLyogQ3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1Nzc0ODMxMjFEQURDNTVEMDA3MTZFRjkgLyogQ3J5cHRvQWxnb3JpdGhtQWVzS2V5UGFy
YW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTlBQzNGNzE4MjRFNUQxMDAzNDk0MjYgLyogQ3J5
cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zRGVwcmVjYXRlZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTEyNUY4MzIxODIyRjExQjAwRDg0Q0Q5IC8qIENyeXB0b0FsZ29yaXRobUhNQUMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTU3NzQ4MzE5MURCNDQ5MUYwMDcxNkVGOSAvKiBDcnlwdG9BbGdvcml0
aG1IbWFjS2V5UGFyYW1zLmggaW4gSGVhZGVycyAqLywKQEAgLTI2NzM3LDcgKzI2NzM3LDYgQEAK
IAkJCQk0NEVGRjY0MzFBNkZGOTI3MDBENDVFRUMgLyogSU9UeXBlc1NQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDdBQzQ3MDIxOTUyMTAyMTAwRUU5NzIzIC8qIElTT1ZUVEN1ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDE4Rjg4MDUwRkY5NTdBRjAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIu
aCBpbiBIZWFkZXJzICovLAotCQkJCTU3NzQ4MzE0MURBRUMyRUIwMDcxNkVGOSAvKiBKU0Flc0tl
eUdlblBhcmFtcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkRBMTVFQ0ExMkIwM0Y1MDAwM0E1ODNB
IC8qIEpTQW5hbHlzZXJOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxMkEyNTNFMzFDOEZGRjY2
MDBDMjIyOTUgLyogSlNBbmltYXRhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxMjBERTNGRDFD
ODdFMTg0MDBCNkQ0REQgLyogSlNBbmltYXRpb25FZmZlY3QuaCBpbiBIZWFkZXJzICovLApAQCAt
MjY3NDksNiArMjY3NDgsNyBAQAogCQkJCTdDNjUyMzE2MUUwMERCQjUwMDY3N0YyMiAvKiBKU0Fw
cGxlUGF5UGF5bWVudENvbnRhY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMzE4MUUwMERC
QjUwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFFOTZBOEQxRDFBMERERDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kU2Vs
ZWN0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTc2ODE0NDUxRTcwQ0IxRjAwRTc3NzU0
IC8qIEpTQWVzS2V5UGFyYW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1MjMxQTFFMDBEQkI1
MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnRQYXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
QzY1NzlGMjFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQUU5NkE4RjFEMUEwREREMDBCODY3NjggLyogSlNBcHBsZVBheVNl
c3Npb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzA1ODQsNyArMzA1ODQsNiBAQAogCQkJCUFEOUZG
NkUxMTkwODM5MUQwMDNCNjFFMCAvKiBJT1N1cmZhY2VQb29sQ29jb2EubW0gaW4gU291cmNlcyAq
LywKIAkJCQkwN0FDNDcwMTE5NTIxMDIxMDBFRTk3MjMgLyogSVNPVlRUQ3VlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQxOEY4ODA0MEZGOTU3QUUwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2Vy
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTU3NzQ4MzE2MURBRUMzMjMwMDcxNkVGOSAvKiBKU0Fl
c0tleUdlblBhcmFtcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGREExNUVDOTEyQjAzRjUwMDAz
QTU4M0EgLyogSlNBbmFseXNlck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNzk1QzYx
ODg4QkFEQzAwMzgyRjkwIC8qIEpTQU5HTEVJbnN0YW5jZWRBcnJheXMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMTJBMjUzRTIxQzhGRkY2NjAwQzIyMjk1IC8qIEpTQW5pbWF0YWJsZS5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTMwODQ3LDYgKzMwODQ2LDcgQEAKIAkJCQlBODBFN0U5ODBBMUE4M0Uz
MDA3RkI4QzUgLyogSlNIVE1MSW5wdXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE2
MTQ4QTc4MTJFNDFFM0IwMDQ0QTc4NCAvKiBKU0hUTUxLZXlnZW5FbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBRTJBQjIxMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTc2ODE0NDQxRTcwQ0IxQjAwRTc3NzU0IC8qIEpT
QWVzS2V5UGFyYW1zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTJBQjIzMEExQ0U2M0IwMEI0
MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTJB
QjI1MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMSUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTgwRTdCMTAwQTE5RDYwNjAwN0ZCOEM1IC8qIEpTSFRNTExpbmtFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNT
dWJ0bGVDcnlwdG9DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTdWJ0
bGVDcnlwdG9DdXN0b20uY3BwCmluZGV4IDhhYzk3Mjg0NmE1ODA4YmJmMmFjMDllZDFiNTc5YmE1
MWMwZGEwMzAuLjlkZWJiMmVlZjg4NTg0OWMwMDkyNzQ3ZTY3NGJlZjg2NWNkMTRiMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3VidGxlQ3J5cHRvQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N1YnRsZUNyeXB0b0N1c3RvbS5j
cHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5o
IgogI2luY2x1ZGUgIkpTQWVzQ2JjQ2ZiUGFyYW1zLmgiCiAjaW5jbHVkZSAiSlNBZXNHY21QYXJh
bXMuaCIKLSNpbmNsdWRlICJKU0Flc0tleUdlblBhcmFtcy5oIgorI2luY2x1ZGUgIkpTQWVzS2V5
UGFyYW1zLmgiCiAjaW5jbHVkZSAiSlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmgiCiAjaW5j
bHVkZSAiSlNDcnlwdG9LZXkuaCIKICNpbmNsdWRlICJKU0NyeXB0b0tleVBhaXIuaCIKQEAgLTYx
LDEyICs2MSwxMiBAQCBlbnVtIGNsYXNzIE9wZXJhdGlvbnMgewogICAgIFNpZ24sCiAgICAgVmVy
aWZ5LAogICAgIERpZ2VzdCwKLSAgICBEZXJpdmVLZXksCi0gICAgRGVyaXZlQml0cywKICAgICBH
ZW5lcmF0ZUtleSwKKyAgICBEZXJpdmVCaXRzLAogICAgIEltcG9ydEtleSwKICAgICBXcmFwS2V5
LAotICAgIFVud3JhcEtleQorICAgIFVud3JhcEtleSwKKyAgICBHZXRLZXlMZW5ndGgKIH07CiAK
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4gbm9ybWFs
aXplQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyhFeGVjU3RhdGUmLCBKU1ZhbHVlLCBPcGVyYXRp
b25zKTsKQEAgLTE2MCw5ICsxNjAsNiBAQCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnM+IG5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZQogICAgICAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgT3BlcmF0aW9uczo6RGVyaXZlS2V5OgotICAgICAgICAgICAgdGhy
b3dOb3RTdXBwb3J0ZWRFcnJvcihzdGF0ZSwgc2NvcGUpOwotICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgICAgIGNhc2UgT3BlcmF0aW9uczo6RGVyaXZlQml0czoKICAgICAgICAgICAg
IHN3aXRjaCAoKmlkZW50aWZpZXIpIHsKICAgICAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllcjo6RUNESDogewpAQCAtMjA3LDkgKzIwNCw5IEBAIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4gbm9ybWFsaXplQ3J5cHRvQWxnb3JpdGht
UGFyYW1lCiAgICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFFU19H
Q006CiAgICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFFU19DRkI6
CiAgICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFFU19LVzogewot
ICAgICAgICAgICAgICAgIGF1dG8gcGFyYW1zID0gY29udmVydERpY3Rpb25hcnk8Q3J5cHRvQWxn
b3JpdGhtQWVzS2V5R2VuUGFyYW1zPihzdGF0ZSwgdmFsdWUpOworICAgICAgICAgICAgICAgIGF1
dG8gcGFyYW1zID0gY29udmVydERpY3Rpb25hcnk8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5UGFyYW1z
PihzdGF0ZSwgdmFsdWUpOwogICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIG51bGxwdHIpOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9IHN0ZDo6bWFrZV91bmlxdWU8
Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zPihwYXJhbXMpOworICAgICAgICAgICAgICAg
IHJlc3VsdCA9IHN0ZDo6bWFrZV91bmlxdWU8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5UGFyYW1zPihw
YXJhbXMpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpITUFDOiB7CkBAIC0yODYsNiArMjgz
LDMyIEBAIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4g
bm9ybWFsaXplQ3J5cHRvQWxnb3JpdGhtUGFyYW1lCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBP
cGVyYXRpb25zOjpHZXRLZXlMZW5ndGg6CisgICAgICAgICAgICBzd2l0Y2ggKCppZGVudGlmaWVy
KSB7CisgICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFFU19DVFI6
CisgICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFFU19DQkM6Cisg
ICAgICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkFFU19DTUFDOgorICAg
ICAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpBRVNfR0NNOgorICAgICAg
ICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpBRVNfQ0ZCOgorICAgICAgICAg
ICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpBRVNfS1c6IHsKKyAgICAgICAgICAg
ICAgICBhdXRvIHBhcmFtcyA9IGNvbnZlcnREaWN0aW9uYXJ5PENyeXB0b0FsZ29yaXRobUFlc0tl
eVBhcmFtcz4oc3RhdGUsIHZhbHVlKTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBzdGQ6Om1ha2Vf
dW5pcXVlPENyeXB0b0FsZ29yaXRobUFlc0tleVBhcmFtcz4ocGFyYW1zKTsKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhc2UgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllcjo6SE1BQzogeworICAgICAgICAgICAgICAgIGF1dG8gcGFyYW1zID0gY29u
dmVydERpY3Rpb25hcnk8Q3J5cHRvQWxnb3JpdGhtSG1hY0tleVBhcmFtcz4oc3RhdGUsIHZhbHVl
KTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsK
KyAgICAgICAgICAgICAgICBwYXJhbXMuaGFzaElkZW50aWZpZXIgPSB0b0hhc2hJZGVudGlmaWVy
KHN0YXRlLCBwYXJhbXMuaGFzaCk7CisgICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgbnVsbHB0cik7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gc3RkOjptYWtlX3Vu
aXF1ZTxDcnlwdG9BbGdvcml0aG1IbWFjS2V5UGFyYW1zPihwYXJhbXMpOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAg
ICAgICAgICB0aHJvd05vdFN1cHBvcnRlZEVycm9yKHN0YXRlLCBzY29wZSk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC00ODcsNyArNTEwLDYgQEAgc3RhdGljIHZvaWQg
anNTdWJ0bGVDcnlwdG9GdW5jdGlvbkVuY3J5cHRQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJl
ZjxEZWZlcnJlZFAKIAogICAgIGF1dG8gY2FsbGJhY2sgPSBbY2FwdHVyZWRQcm9taXNlID0gcHJv
bWlzZS5jb3B5UmVmKCldKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgY2lwaGVyVGV4dCkgbXV0YWJs
ZSB7CiAgICAgICAgIGZ1bGZpbGxQcm9taXNlV2l0aEFycmF5QnVmZmVyKFdURk1vdmUoY2FwdHVy
ZWRQcm9taXNlKSwgY2lwaGVyVGV4dC5kYXRhKCksIGNpcGhlclRleHQuc2l6ZSgpKTsKLSAgICAg
ICAgcmV0dXJuOwogICAgIH07CiAgICAgYXV0byBleGNlcHRpb25DYWxsYmFjayA9IFtjYXB0dXJl
ZFByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShFeGNlcHRpb25Db2RlIGVjKSBtdXRhYmxlIHsK
ICAgICAgICAgcmVqZWN0V2l0aEV4Y2VwdGlvbihXVEZNb3ZlKGNhcHR1cmVkUHJvbWlzZSksIGVj
KTsKQEAgLTUzNSw3ICs1NTcsNiBAQCBzdGF0aWMgdm9pZCBqc1N1YnRsZUNyeXB0b0Z1bmN0aW9u
RGVjcnlwdFByb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwgUmVmPERlZmVycmVkUAogCiAgICAgYXV0
byBjYWxsYmFjayA9IFtjYXB0dXJlZFByb21pc2UgPSBwcm9taXNlLmNvcHlSZWYoKV0oY29uc3Qg
VmVjdG9yPHVpbnQ4X3Q+JiBwbGFpblRleHQpIG11dGFibGUgewogICAgICAgICBmdWxmaWxsUHJv
bWlzZVdpdGhBcnJheUJ1ZmZlcihXVEZNb3ZlKGNhcHR1cmVkUHJvbWlzZSksIHBsYWluVGV4dC5k
YXRhKCksIHBsYWluVGV4dC5zaXplKCkpOwotICAgICAgICByZXR1cm47CiAgICAgfTsKICAgICBh
dXRvIGV4Y2VwdGlvbkNhbGxiYWNrID0gW2NhcHR1cmVkUHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldKEV4Y2VwdGlvbkNvZGUgZWMpIG11dGFibGUgewogICAgICAgICByZWplY3RXaXRoRXhjZXB0
aW9uKFdURk1vdmUoY2FwdHVyZWRQcm9taXNlKSwgZWMpOwpAQCAtNTgzLDcgKzYwNCw2IEBAIHN0
YXRpYyB2b2lkIGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25TaWduUHJvbWlzZShFeGVjU3RhdGUmIHN0
YXRlLCBSZWY8RGVmZXJyZWRQcm9tCiAKICAgICBhdXRvIGNhbGxiYWNrID0gW2NhcHR1cmVkUHJv
bWlzZSA9IHByb21pc2UuY29weVJlZigpXShjb25zdCBWZWN0b3I8dWludDhfdD4mIHNpZ25hdHVy
ZSkgbXV0YWJsZSB7CiAgICAgICAgIGZ1bGZpbGxQcm9taXNlV2l0aEFycmF5QnVmZmVyKFdURk1v
dmUoY2FwdHVyZWRQcm9taXNlKSwgc2lnbmF0dXJlLmRhdGEoKSwgc2lnbmF0dXJlLnNpemUoKSk7
Ci0gICAgICAgIHJldHVybjsKICAgICB9OwogICAgIGF1dG8gZXhjZXB0aW9uQ2FsbGJhY2sgPSBb
Y2FwdHVyZWRQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oRXhjZXB0aW9uQ29kZSBlYykgbXV0
YWJsZSB7CiAgICAgICAgIHJlamVjdFdpdGhFeGNlcHRpb24oV1RGTW92ZShjYXB0dXJlZFByb21p
c2UpLCBlYyk7CkBAIC02MzQsNyArNjU0LDYgQEAgc3RhdGljIHZvaWQganNTdWJ0bGVDcnlwdG9G
dW5jdGlvblZlcmlmeVByb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwgUmVmPERlZmVycmVkUHIKIAog
ICAgIGF1dG8gY2FsbGJhY2sgPSBbY2FwdHVyZWRQcm9taXNlID0gcHJvbWlzZS5jb3B5UmVmKCld
KGJvb2wgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgY2FwdHVyZWRQcm9taXNlLT5yZXNvbHZl
PElETEJvb2xlYW4+KHJlc3VsdCk7Ci0gICAgICAgIHJldHVybjsKICAgICB9OwogICAgIGF1dG8g
ZXhjZXB0aW9uQ2FsbGJhY2sgPSBbY2FwdHVyZWRQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
RXhjZXB0aW9uQ29kZSBlYykgbXV0YWJsZSB7CiAgICAgICAgIHJlamVjdFdpdGhFeGNlcHRpb24o
V1RGTW92ZShjYXB0dXJlZFByb21pc2UpLCBlYyk7CkBAIC02NjksNyArNjg4LDYgQEAgc3RhdGlj
IHZvaWQganNTdWJ0bGVDcnlwdG9GdW5jdGlvbkRpZ2VzdFByb21pc2UoRXhlY1N0YXRlJiBzdGF0
ZSwgUmVmPERlZmVycmVkUHIKIAogICAgIGF1dG8gY2FsbGJhY2sgPSBbY2FwdHVyZWRQcm9taXNl
ID0gcHJvbWlzZS5jb3B5UmVmKCldKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgZGlnZXN0KSBtdXRh
YmxlIHsKICAgICAgICAgZnVsZmlsbFByb21pc2VXaXRoQXJyYXlCdWZmZXIoV1RGTW92ZShjYXB0
dXJlZFByb21pc2UpLCBkaWdlc3QuZGF0YSgpLCBkaWdlc3Quc2l6ZSgpKTsKLSAgICAgICAgcmV0
dXJuOwogICAgIH07CiAgICAgYXV0byBleGNlcHRpb25DYWxsYmFjayA9IFtjYXB0dXJlZFByb21p
c2UgPSBXVEZNb3ZlKHByb21pc2UpXShFeGNlcHRpb25Db2RlIGVjKSBtdXRhYmxlIHsKICAgICAg
ICAgcmVqZWN0V2l0aEV4Y2VwdGlvbihXVEZNb3ZlKGNhcHR1cmVkUHJvbWlzZSksIGVjKTsKQEAg
LTc0MywxMSArNzYxLDgxIEBAIHN0YXRpYyB2b2lkIGpzU3VidGxlQ3J5cHRvRnVuY3Rpb25EZXJp
dmVLZXlQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZlcnJlCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBhdXRvIHBhcmFtcyA9IG5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnMoc3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDApLCBPcGVyYXRpb25zOjpE
ZXJpdmVLZXkpOworICAgIGF1dG8gcGFyYW1zID0gbm9ybWFsaXplQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycyhzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMCksIE9wZXJhdGlvbnM6OkRl
cml2ZUJpdHMpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAg
ICBhdXRvIGJhc2VLZXkgPSB0b0NyeXB0b0tleShzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1l
bnQoMSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAgICBh
dXRvIGltcG9ydFBhcmFtcyA9IG5vcm1hbGl6ZUNyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMoc3Rh
dGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDIpLCBPcGVyYXRpb25zOjpJbXBvcnRLZXkpOwog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKLSAgICAvLyBXZSBzaG91
bGQgYWx3YXlzIHJldHVybiBhIE5PVF9TVVBQT1JURURfRVJSIHNpbmNlIHdlIGN1cnJlbnRseSBk
b24ndCBzdXBwb3J0IGFueSBhbGdvcml0aG1zIHRoYXQgaGFzIGRlcml2ZUtleSBvcGVyYXRpb24u
Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgYXV0byBnZXRMZW5ndGhQYXJhbXMgPSBu
b3JtYWxpemVDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzKHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRB
cmd1bWVudCgyKSwgT3BlcmF0aW9uczo6R2V0S2V5TGVuZ3RoKTsKKyAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB2b2lkKCkpOworCisgICAgYXV0byBleHRyYWN0YWJsZSA9IHN0YXRlLnVu
Y2hlY2tlZEFyZ3VtZW50KDMpLnRvQm9vbGVhbigmc3RhdGUpOworICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAgICBhdXRvIGtleVVzYWdlcyA9IGNyeXB0b0tleVVz
YWdlQml0bWFwRnJvbUpTVmFsdWUoc3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDQpKTsK
KyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworCisgICAgaWYgKHBhcmFt
cy0+aWRlbnRpZmllciAhPSBiYXNlS2V5LT5hbGdvcml0aG1JZGVudGlmaWVyKCkpIHsKKyAgICAg
ICAgcHJvbWlzZS0+cmVqZWN0KElOVkFMSURfQUNDRVNTX0VSUiwgQVNDSUlMaXRlcmFsKCJDcnlw
dG9LZXkgZG9lc24ndCBtYXRjaCBBbGdvcml0aG1JZGVudGlmaWVyIikpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKCFiYXNlS2V5LT5hbGxvd3MoQ3J5cHRvS2V5VXNhZ2VEZXJp
dmVLZXkpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChJTlZBTElEX0FDQ0VTU19FUlIsIEFT
Q0lJTGl0ZXJhbCgiQ3J5cHRvS2V5IGRvZXNuJ3Qgc3VwcG9ydCBDcnlwdG9LZXkgZGVyaXZhdGlv
biIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gZ2V0TGVuZ3RoQWxnb3Jp
dGhtID0gQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnk6OnNpbmdsZXRvbigpLmNyZWF0ZShnZXRMZW5n
dGhQYXJhbXMtPmlkZW50aWZpZXIpOworICAgIGlmIChVTkxJS0VMWSghZ2V0TGVuZ3RoQWxnb3Jp
dGhtKSkgeworICAgICAgICB0aHJvd05vdFN1cHBvcnRlZEVycm9yKHN0YXRlLCBzY29wZSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisgICAgYXV0byByZXN1bHQgPSBnZXRMZW5ndGhBbGdvcml0
aG0tPmdldEtleUxlbmd0aCgqZ2V0TGVuZ3RoUGFyYW1zKTsKKyAgICBpZiAocmVzdWx0Lmhhc0V4
Y2VwdGlvbigpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChyZXN1bHQucmVsZWFzZUV4Y2Vw
dGlvbigpLmNvZGUoKSwgQVNDSUlMaXRlcmFsKCJDYW5ub3QgZ2V0IGtleSBsZW5ndGggZnJvbSBk
ZXJpdmVkS2V5VHlwZSIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBzaXplX3QgbGVu
Z3RoID0gcmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpOworCisgICAgYXV0byBpbXBvcnRBbGdv
cml0aG0gPSBDcnlwdG9BbGdvcml0aG1SZWdpc3RyeTo6c2luZ2xldG9uKCkuY3JlYXRlKGltcG9y
dFBhcmFtcy0+aWRlbnRpZmllcik7CisgICAgaWYgKFVOTElLRUxZKCFpbXBvcnRBbGdvcml0aG0p
KSB7CisgICAgICAgIHRocm93Tm90U3VwcG9ydGVkRXJyb3Ioc3RhdGUsIHNjb3BlKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gYWxnb3JpdGhtID0gQ3J5cHRvQWxnb3JpdGht
UmVnaXN0cnk6OnNpbmdsZXRvbigpLmNyZWF0ZShwYXJhbXMtPmlkZW50aWZpZXIpOworICAgIGlm
IChVTkxJS0VMWSghYWxnb3JpdGhtKSkgeworICAgICAgICB0aHJvd05vdFN1cHBvcnRlZEVycm9y
KHN0YXRlLCBzY29wZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGNhbGxi
YWNrID0gW3Byb21pc2UgPSBwcm9taXNlLmNvcHlSZWYoKSwgaW1wb3J0QWxnb3JpdGhtLCBpbXBv
cnRQYXJhbXMgPSBXVEZNb3ZlKGltcG9ydFBhcmFtcyksIGV4dHJhY3RhYmxlLCBrZXlVc2FnZXNd
KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgZGVyaXZlZEtleSkgbXV0YWJsZSB7CisgICAgICAgIC8v
IEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5Mzk1Cisg
ICAgICAgIEtleURhdGEgZGF0YSA9IGRlcml2ZWRLZXk7CisgICAgICAgIGF1dG8gY2FsbGJhY2sg
PSBbY2FwdHVyZWRQcm9taXNlID0gcHJvbWlzZS5jb3B5UmVmKCldKENyeXB0b0tleSYga2V5KSBt
dXRhYmxlIHsKKyAgICAgICAgICAgIGlmICgoa2V5LnR5cGUoKSA9PSBDcnlwdG9LZXlUeXBlOjpQ
cml2YXRlIHx8IGtleS50eXBlKCkgPT0gQ3J5cHRvS2V5VHlwZTo6U2VjcmV0KSAmJiAha2V5LnVz
YWdlc0JpdG1hcCgpKSB7CisgICAgICAgICAgICAgICAgcmVqZWN0V2l0aEV4Y2VwdGlvbihXVEZN
b3ZlKGNhcHR1cmVkUHJvbWlzZSksIFNZTlRBWF9FUlIpOworICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhcHR1cmVkUHJvbWlzZS0+cmVzb2x2ZTxJ
RExJbnRlcmZhY2U8Q3J5cHRvS2V5Pj4oa2V5KTsKKyAgICAgICAgfTsKKyAgICAgICAgYXV0byBl
eGNlcHRpb25DYWxsYmFjayA9IFtjYXB0dXJlZFByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShF
eGNlcHRpb25Db2RlIGVjKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHJlamVjdFdpdGhFeGNlcHRp
b24oV1RGTW92ZShjYXB0dXJlZFByb21pc2UpLCBlYyk7CisgICAgICAgIH07CisKKyAgICAgICAg
aW1wb3J0QWxnb3JpdGhtLT5pbXBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQ6OlJhdywg
V1RGTW92ZShkYXRhKSwgV1RGTW92ZShpbXBvcnRQYXJhbXMpLCBleHRyYWN0YWJsZSwga2V5VXNh
Z2VzLCBXVEZNb3ZlKGNhbGxiYWNrKSwgV1RGTW92ZShleGNlcHRpb25DYWxsYmFjaykpOworICAg
IH07CisgICAgYXV0byBleGNlcHRpb25DYWxsYmFjayA9IFtjYXB0dXJlZFByb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpXShFeGNlcHRpb25Db2RlIGVjKSBtdXRhYmxlIHsKKyAgICAgICAgcmVqZWN0
V2l0aEV4Y2VwdGlvbihXVEZNb3ZlKGNhcHR1cmVkUHJvbWlzZSksIGVjKTsKKyAgICB9OworCisg
ICAgYXV0byBzdWJ0bGUgPSBqc0R5bmFtaWNEb3duY2FzdDxKU1N1YnRsZUNyeXB0byo+KHZtLCBz
dGF0ZS50aGlzVmFsdWUoKSk7CisgICAgQVNTRVJUKHN1YnRsZSk7CisgICAgYWxnb3JpdGhtLT5k
ZXJpdmVCaXRzKFdURk1vdmUocGFyYW1zKSwgYmFzZUtleS5yZWxlYXNlTm9uTnVsbCgpLCBsZW5n
dGgsIFdURk1vdmUoY2FsbGJhY2spLCBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKSwgKnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRGcm9tRXhlY1N0YXRlKCZzdGF0ZSksIHN1YnRsZS0+d3JhcHBlZCgp
LndvcmtRdWV1ZSgpKTsKIH0KIAogc3RhdGljIHZvaWQganNTdWJ0bGVDcnlwdG9GdW5jdGlvbkRl
cml2ZUJpdHNQcm9taXNlKEV4ZWNTdGF0ZSYgc3RhdGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKQEAgLTc4Nyw3ICs4NzUsNiBAQCBzdGF0aWMgdm9pZCBqc1N1YnRsZUNyeXB0b0Z1
bmN0aW9uRGVyaXZlQml0c1Byb21pc2UoRXhlY1N0YXRlJiBzdGF0ZSwgUmVmPERlZmVycgogCiAg
ICAgYXV0byBjYWxsYmFjayA9IFtjYXB0dXJlZFByb21pc2UgPSBwcm9taXNlLmNvcHlSZWYoKV0o
Y29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBkZXJpdmVkS2V5KSBtdXRhYmxlIHsKICAgICAgICAgZnVs
ZmlsbFByb21pc2VXaXRoQXJyYXlCdWZmZXIoV1RGTW92ZShjYXB0dXJlZFByb21pc2UpLCBkZXJp
dmVkS2V5LmRhdGEoKSwgZGVyaXZlZEtleS5zaXplKCkpOwotICAgICAgICByZXR1cm47CiAgICAg
fTsKICAgICBhdXRvIGV4Y2VwdGlvbkNhbGxiYWNrID0gW2NhcHR1cmVkUHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSldKEV4Y2VwdGlvbkNvZGUgZWMpIG11dGFibGUgewogICAgICAgICByZWplY3RX
aXRoRXhjZXB0aW9uKFdURk1vdmUoY2FwdHVyZWRQcm9taXNlKSwgZWMpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcAppbmRleCBlZmY1ZWM3OTI5MTUxMWUwOGQ3OWU3
YjY2YTY5ZDgyNjUwN2JjY2U4Li4zNDg4NWNmNmM0YTUyYWY3MDExNTA2ZTI3NzdhYjEwNGE0ODQ0
NjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmNwcApAQCAtNjIs
NyArNjIsNyBAQCB2b2lkIENyeXB0b0FsZ29yaXRobTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycyYsIGJvb2wsIENyeXB0bwogICAgIGV4Y2VwdGlvbkNhbGxiYWNr
KE5PVF9TVVBQT1JURURfRVJSKTsKIH0KIAotdm9pZCBDcnlwdG9BbGdvcml0aG06OmRlcml2ZUJp
dHMoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIFJlZjxDcnlw
dG9LZXk+JiYsIHVuc2lnbmVkIGxvbmcsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxi
YWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVl
dWUmKQordm9pZCBDcnlwdG9BbGdvcml0aG06OmRlcml2ZUJpdHMoc3RkOjp1bmlxdWVfcHRyPENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIHNpemVfdCwgVmVj
dG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpCiB7CiAgICAgZXhjZXB0aW9uQ2FsbGJh
Y2soTk9UX1NVUFBPUlRFRF9FUlIpOwogfQpAQCAtODcsNiArODcsMTEgQEAgdm9pZCBDcnlwdG9B
bGdvcml0aG06OnVud3JhcEtleShSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwg
VmVjdG9yQ2FsbGIKICAgICBleGNlcHRpb25DYWxsYmFjayhOT1RfU1VQUE9SVEVEX0VSUik7CiB9
CiAKK0V4Y2VwdGlvbk9yPHNpemVfdD4gQ3J5cHRvQWxnb3JpdGhtOjpnZXRLZXlMZW5ndGgoY29u
c3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYpCit7CisgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IE5PVF9TVVBQT1JURURfRVJSIH07Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IENyeXB0b0FsZ29y
aXRobTo6ZW5jcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYs
IGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxs
YmFjayYmLCBWb2lkQ2FsbGJhY2smJikKIHsKICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTk9UX1NV
UFBPUlRFRF9FUlIgfTsKQEAgLTEyMiw3ICsxMjcsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBDcnlw
dG9BbGdvcml0aG06OmRlcml2ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVw
cgogICAgIHJldHVybiBFeGNlcHRpb24geyBOT1RfU1VQUE9SVEVEX0VSUiB9OwogfQogCi1FeGNl
cHRpb25Pcjx2b2lkPiBDcnlwdG9BbGdvcml0aG06OmRlcml2ZUJpdHMoY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCB1bnNpZ25lZCBs
b25nLCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJikKK0V4Y2VwdGlvbk9yPHZvaWQ+
IENyeXB0b0FsZ29yaXRobTo6ZGVyaXZlQml0cyhjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIHNpemVfdCwgVmVjdG9yQ2FsbGJhY2sm
JiwgVm9pZENhbGxiYWNrJiYpCiB7CiAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5PVF9TVVBQT1JU
RURfRVJSIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxn
b3JpdGhtLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtLmgKaW5kZXgg
NjQ2N2JjYTA1ZmIxNmU4YWM4ZjMxODViY2E5NDU3NzE0ZThlMTcyZC4uZWEwYmI1OWQ2YTFjMWU5
ZTU5NjEwNzVhYzkwZmU0YmZhM2IzMjBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5
cHRvL0NyeXB0b0FsZ29yaXRobS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9B
bGdvcml0aG0uaApAQCAtNjEsNiArNjEsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgQm9vbENhbGxi
YWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPjsKICAgICB1c2luZyBLZXlDYWxsYmFjayA9
IFdURjo6RnVuY3Rpb248dm9pZChDcnlwdG9LZXkmKT47CiAgICAgdXNpbmcgS2V5T3JLZXlQYWly
Q2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoS2V5T3JLZXlQYWlyJiYpPjsKKyAgICAvLyBG
SVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTM5NQogICAg
IHVzaW5nIFZlY3RvckNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IFZlY3Rvcjx1
aW50OF90PiYpPjsKICAgICB1c2luZyBWb2lkQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQo
KT47CiAgICAgdXNpbmcgRXhjZXB0aW9uQ2FsbGJhY2sgPSBXVEY6OkZ1bmN0aW9uPHZvaWQoRXhj
ZXB0aW9uQ29kZSk+OwpAQCAtNzIsMTIgKzczLDEzIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgdmVyaWZ5KFJlZjxDcnlwdG9LZXk+JiYsIFZlY3Rvcjx1aW50OF90PiYmIHNpZ25hdHVyZSwg
VmVjdG9yPHVpbnQ4X3Q+JiYsIEJvb2xDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJik7CiAgICAgdmlydHVhbCB2b2lkIGRp
Z2VzdChWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJh
Y2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpOwogICAgIHZpcnR1YWwg
dm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiwgYm9vbCBl
eHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFpckNhbGxiYWNrJiYs
IEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKLSAgICB2aXJ0
dWFsIHZvaWQgZGVyaXZlQml0cyhzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgdW5zaWduZWQgbG9uZyBsZW5ndGgsIFZlY3RvckNh
bGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBX
b3JrUXVldWUmKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGVyaXZlQml0cyhzdGQ6OnVuaXF1ZV9wdHI8
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgc2l6ZV90IGxl
bmd0aCwgVmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFdvcmtRdWV1ZSYpOwogICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MjYyCiAgICAgdmlydHVhbCB2b2lkIGltcG9ydEtl
eShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgS2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpOwogICAg
IHZpcnR1YWwgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxDcnlw
dG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKTsKICAgICB2
aXJ0dWFsIHZvaWQgd3JhcEtleShSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwg
VmVjdG9yQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJik7CiAgICAgdmlydHVhbCB2b2lk
IHVud3JhcEtleShSZWY8Q3J5cHRvS2V5PiYmLCBWZWN0b3I8dWludDhfdD4mJiwgVmVjdG9yQ2Fs
bGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJik7CisgICAgdmlydHVhbCBFeGNlcHRpb25Pcjxz
aXplX3Q+IGdldEtleUxlbmd0aChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJik7CiAK
ICAgICAvLyBUaGUgZm9sbG93aW5nIHdpbGwgYmUgZGVwcmVjYXRlZC4KICAgICB2aXJ0dWFsIEV4
Y2VwdGlvbk9yPHZvaWQ+IGVuY3J5cHQoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0Rl
cHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiwg
VmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNhbGxiYWNrKTsKQEAgLTg3
LDcgKzg5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRXhjZXB0aW9uT3I8dm9pZD4gZGlnZXN0
KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRv
T3BlcmF0aW9uRGF0YSYsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVD
YWxsYmFjayk7CiAgICAgdmlydHVhbCBFeGNlcHRpb25Pcjx2b2lkPiBnZW5lcmF0ZUtleShjb25z
dCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGJvb2wgZXh0cmFjdGFibGUs
IENyeXB0b0tleVVzYWdlQml0bWFwLCBLZXlPcktleVBhaXJDYWxsYmFjayYmLCBWb2lkQ2FsbGJh
Y2smJiBmYWlsdXJlQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKICAgICB2aXJ0
dWFsIEV4Y2VwdGlvbk9yPHZvaWQ+IGRlcml2ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYgYmFzZUtleSwgQ3J5cHRvQWxnb3Jp
dGhtKiBkZXJpdmVkS2V5VHlwZSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRt
YXAsIEtleUNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjayk7Ci0gICAg
dmlydHVhbCBFeGNlcHRpb25Pcjx2b2lkPiBkZXJpdmVCaXRzKGNvbnN0IENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnNEZXByZWNhdGVkJiwgY29uc3QgQ3J5cHRvS2V5JiBiYXNlS2V5LCB1bnNpZ25l
ZCBsb25nIGxlbmd0aCwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNh
bGxiYWNrKTsKKyAgICB2aXJ0dWFsIEV4Y2VwdGlvbk9yPHZvaWQ+IGRlcml2ZUJpdHMoY29uc3Qg
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmIGJh
c2VLZXksIHNpemVfdCBsZW5ndGgsIFZlY3RvckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZh
aWx1cmVDYWxsYmFjayk7CiAgICAgdmlydHVhbCBFeGNlcHRpb25Pcjx2b2lkPiBpbXBvcnRLZXko
Y29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9L
ZXlEYXRhJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxi
YWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjayk7CiAKICAgICAvLyBUaGVzZSBh
cmUgb25seSBkaWZmZXJlbnQgZnJvbSBlbmNyeXB0L2RlY3J5cHQgYmVjYXVzZSBzb21lIGFsZ29y
aXRobXMgbWF5IG5vdCBleHBvc2UgZW5jcnlwdC9kZWNyeXB0LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmgKaW5kZXggMDFhYjk2NTIxZjc3
MjM3NjNkYWRmZGMyMjM2MDRmYzFkYzAxYjk5Yi4uYzQyYmRjYzJhOWUyY2U5ODhjZGU1MmM5Njlm
MTMzZDY5ODQ5MzZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL0NyeXB0b0Fs
Z29yaXRobVBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycy5oCkBAIC0zOSw3ICszOSw3IEBAIHB1YmxpYzoKICAgICAgICAgTm9u
ZSwKICAgICAgICAgQWVzQ2JjQ2ZiUGFyYW1zLAogICAgICAgICBBZXNHY21QYXJhbXMsCi0gICAg
ICAgIEFlc0tleUdlblBhcmFtcywKKyAgICAgICAgQWVzS2V5UGFyYW1zLAogICAgICAgICBFY0tl
eVBhcmFtcywKICAgICAgICAgRWNkaEtleURlcml2ZVBhcmFtcywKICAgICAgICAgSG1hY0tleVBh
cmFtcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobUFFU19DQkMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKaW5kZXggNGZiOGM5MTI3NDBmMmZkZWY5YjcxMGY4
OWZkY2I3MGEwNmE5MWU4OS4uYzBiNDlhZTEzNmVlZjRkYjM5NmRmYmM2MzZhNDFiZTBkNzI4Nzg1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NCQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5jcHAKQEAgLTMwLDggKzMwLDggQEAKIAogI2luY2x1ZGUg
IkNyeXB0b0FsZ29yaXRobUFlc0NiY0NmYlBhcmFtcy5oIgogI2luY2x1ZGUgIkNyeXB0b0FsZ29y
aXRobUFlc0NiY1BhcmFtc0RlcHJlY2F0ZWQuaCIKLSNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1B
ZXNLZXlHZW5QYXJhbXMuaCIKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJh
bXNEZXByZWNhdGVkLmgiCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVzS2V5UGFyYW1zLmgi
CiAjaW5jbHVkZSAiQ3J5cHRvS2V5QUVTLmgiCiAjaW5jbHVkZSAiQ3J5cHRvS2V5RGF0YU9jdGV0
U2VxdWVuY2UuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCkBAIC05MCw3ICs5MCw3IEBA
IHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6ZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mCiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQzo6
Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycywg
Ym9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlPcktleVBh
aXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxi
YWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JikKIHsKLSAgICBjb25zdCBhdXRvJiBhZXNQYXJh
bWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zPihwYXJhbWV0
ZXJzKTsKKyAgICBjb25zdCBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxn
b3JpdGhtQWVzS2V5UGFyYW1zPihwYXJhbWV0ZXJzKTsKIAogICAgIGlmICh1c2FnZXNBcmVJbnZh
bGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQyh1c2FnZXMpKSB7CiAgICAgICAgIGV4Y2VwdGlv
bkNhbGxiYWNrKFNZTlRBWF9FUlIpOwpAQCAtMTg2LDYgKzE4NiwxMSBAQCB2b2lkIENyeXB0b0Fs
Z29yaXRobUFFU19DQkM6OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQs
IFJlZjxDcnlwdAogICAgIGNhbGxiYWNrKGZvcm1hdCwgV1RGTW92ZShyZXN1bHQpKTsKIH0KIAor
RXhjZXB0aW9uT3I8c2l6ZV90PiBDcnlwdG9BbGdvcml0aG1BRVNfQ0JDOjpnZXRLZXlMZW5ndGgo
Y29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3sKKyAgICByZXR1
cm4gQ3J5cHRvS2V5QUVTOjpnZXRLZXlMZW5ndGgocGFyYW1ldGVycyk7Cit9CisKIEV4Y2VwdGlv
bk9yPHZvaWQ+IENyeXB0b0FsZ29yaXRobUFFU19DQkM6OmVuY3J5cHQoY29uc3QgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmIHBhcmFtZXRlcnMsIGNvbnN0IENyeXB0b0tleSYg
a2V5LCBjb25zdCBDcnlwdG9PcGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNh
bGxiYWNrLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spCiB7CiAgICAgYXV0byYgYWVz
Q0JDUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUFlc0NiY1BhcmFtc0RlcHJl
Y2F0ZWQ+KHBhcmFtZXRlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NCQy5oCmluZGV4IGU1NmU0OGU1ZjAxOWU5
NmEyZDdiODNiYmRkMDU5Nzc1ZDg4NTQwMmIuLjJmMDkzYWYxNmVhY2NjNGIxYjA1ZmIwYjUxYWRl
ZDZjMWFjYWM4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobUFFU19DQkMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0JDLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMm
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2Fs
bGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIGZp
bmFsOwogICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRh
JiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhj
ZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRp
b25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICBFeGNlcHRpb25PcjxzaXplX3Q+IGdldEtleUxlbmd0
aChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJikgZmluYWw7CiAKICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBlbmNyeXB0KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnNEZXByZWNh
dGVkJiwgY29uc3QgQ3J5cHRvS2V5JiwgY29uc3QgQ3J5cHRvT3BlcmF0aW9uRGF0YSYsIFZlY3Rv
ckNhbGxiYWNrJiYsIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxsYmFjaykgZmluYWw7CiAgICAg
RXhjZXB0aW9uT3I8dm9pZD4gZGVjcnlwdChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
RGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEm
LCBWZWN0b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spIGZpbmFs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxn
b3JpdGhtQUVTX0NGQi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1BRVNfQ0ZCLmNwcAppbmRleCA2NTMyZWM2OGVhYmNlNGNhMWIyNDQxNzVjNjE1
ODNjODdhYmEwNjkyLi43OWUwMDg2YTI1NjRmYjdlMGFjYWQ3YjYzNzJmNTYzNjE4N2JhYjY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0
aG1BRVNfQ0ZCLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9Dcnlw
dG9BbGdvcml0aG1BRVNfQ0ZCLmNwcApAQCAtMjksNyArMjksNyBAQAogI2lmIEVOQUJMRShTVUJU
TEVfQ1JZUFRPKQogCiAjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVzQ2JjQ2ZiUGFyYW1zLmgi
Ci0jaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zLmgiCisjaW5jbHVkZSAi
Q3J5cHRvQWxnb3JpdGhtQWVzS2V5UGFyYW1zLmgiCiAjaW5jbHVkZSAiQ3J5cHRvS2V5QUVTLmgi
CiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgQ3J5
cHRvQWxnb3JpdGhtQUVTX0NGQjo6ZGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycz4mCiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQjo6Z2VuZXJhdGVL
ZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycywgYm9vbCBleHRy
YWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlPcktleVBhaXJDYWxsYmFj
ayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlvbkNhbGxiYWNrLCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JikKIHsKLSAgICBjb25zdCBhdXRvJiBhZXNQYXJhbWV0ZXJzID0g
ZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zPihwYXJhbWV0ZXJzKTsKKyAg
ICBjb25zdCBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVz
S2V5UGFyYW1zPihwYXJhbWV0ZXJzKTsKIAogICAgIGlmICh1c2FnZXNBcmVJbnZhbGlkRm9yQ3J5
cHRvQWxnb3JpdGhtQUVTX0NGQih1c2FnZXMpKSB7CiAgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNr
KFNZTlRBWF9FUlIpOwpAQCAtMTc1LDYgKzE3NSwxMSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFF
U19DRkI6OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBmb3JtYXQsIFJlZjxDcnlw
dAogICAgIGNhbGxiYWNrKGZvcm1hdCwgV1RGTW92ZShyZXN1bHQpKTsKIH0KIAorRXhjZXB0aW9u
T3I8c2l6ZV90PiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCOjpnZXRLZXlMZW5ndGgoY29uc3QgQ3J5
cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3sKKyAgICByZXR1cm4gQ3J5cHRv
S2V5QUVTOjpnZXRLZXlMZW5ndGgocGFyYW1ldGVycyk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVO
QUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2Fs
Z29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQi5oCmluZGV4IDEyMzhmNGQ0NjI2OWVm
ZTE4OTY2ODZjMDRkNmM4OGIxMzU2MjMzNzIuLjgwYmZkYjc3MmU5ZTYwNjUwMTEwYjdkYjdmZjg3
ZmUxNDU1NzI0ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1z
L0NyeXB0b0FsZ29yaXRobUFFU19DRkIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxn
b3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfQ0ZCLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMm
LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5T3JLZXlQYWlyQ2Fs
bGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIGZp
bmFsOwogICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5Rm9ybWF0LCBLZXlEYXRh
JiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBi
b29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5Q2FsbGJhY2smJiwgRXhj
ZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBleHBvcnRLZXkoU3VidGxlQ3J5cHRv
OjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxsYmFjayYmLCBFeGNlcHRp
b25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICBFeGNlcHRpb25PcjxzaXplX3Q+IGdldEtleUxlbmd0
aChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJikgZmluYWw7CiAKICAgICB2b2lkIHBs
YXRmb3JtRW5jcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4m
JiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYs
IEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUm
KTsKICAgICB2b2lkIHBsYXRmb3JtRGVjcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZl
Y3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBXb3JrUXVldWUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19HQ00uY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0dDTS5jcHAKaW5kZXggMmNlMzBjOTUwNDli
ZDcxN2ExMGY4MDI4ZTg2OTVlM2I3ZWQ4MzFmMi4uMzEyMGJiMDQ0YWY5ZTg0NGM1Yjk5MmRlYTgy
MGU0NDgxMTJhZmU1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRo
bXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0dDTS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRv
L2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0dDTS5jcHAKQEAgLTI5LDcgKzI5LDcgQEAK
ICNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKIAogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFl
c0djbVBhcmFtcy5oIgotI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtcy5o
IgorI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUFlc0tleVBhcmFtcy5oIgogI2luY2x1ZGUgIkNy
eXB0b0tleUFFUy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKIApAQCAtMTI4LDcgKzEy
OCw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0dDTTo6ZGVjcnlwdChzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mCiAKIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVT
X0dDTTo6Z2VuZXJhdGVLZXkoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1l
dGVycywgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzLCBLZXlP
cktleVBhaXJDYWxsYmFjayYmIGNhbGxiYWNrLCBFeGNlcHRpb25DYWxsYmFjayYmIGV4Y2VwdGlv
bkNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JikKIHsKLSAgICBjb25zdCBhdXRvJiBh
ZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zPihw
YXJhbWV0ZXJzKTsKKyAgICBjb25zdCBhdXRvJiBhZXNQYXJhbWV0ZXJzID0gZG93bmNhc3Q8Q3J5
cHRvQWxnb3JpdGhtQWVzS2V5UGFyYW1zPihwYXJhbWV0ZXJzKTsKIAogICAgIGlmICh1c2FnZXNB
cmVJbnZhbGlkRm9yQ3J5cHRvQWxnb3JpdGhtQUVTX0dDTSh1c2FnZXMpKSB7CiAgICAgICAgIGV4
Y2VwdGlvbkNhbGxiYWNrKFNZTlRBWF9FUlIpOwpAQCAtMjI0LDYgKzIyNCwxMSBAQCB2b2lkIENy
eXB0b0FsZ29yaXRobUFFU19HQ006OmV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCBm
b3JtYXQsIFJlZjxDcnlwdAogICAgIGNhbGxiYWNrKGZvcm1hdCwgV1RGTW92ZShyZXN1bHQpKTsK
IH0KIAorRXhjZXB0aW9uT3I8c2l6ZV90PiBDcnlwdG9BbGdvcml0aG1BRVNfR0NNOjpnZXRLZXlM
ZW5ndGgoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3sKKyAg
ICByZXR1cm4gQ3J5cHRvS2V5QUVTOjpnZXRLZXlMZW5ndGgocGFyYW1ldGVycyk7Cit9CisKIH0K
IAogI2VuZGlmIC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0dDTS5oIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0dDTS5oCmluZGV4
IDQ0MGVhZTdlNmVhODJjOWM2NWU1MWM0NmQ4ZjVlYmMyZDQwYTYzZWIuLjVmYWUwNTQxODJkNjk4
NDRjNjBhMmYzZDM0MzRkOGU3YTg4MTdjMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19HQ00uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfR0NNLmgKQEAgLTQ4LDYg
KzQ4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGdlbmVyYXRlS2V5KGNvbnN0IENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnMmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwg
S2V5T3JLZXlQYWlyQ2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJiwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYpIGZpbmFsOwogICAgIHZvaWQgaW1wb3J0S2V5KFN1YnRsZUNyeXB0bzo6S2V5
Rm9ybWF0LCBLZXlEYXRhJiYsIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzPiYmLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCwgS2V5
Q2FsbGJhY2smJiwgRXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBleHBvcnRL
ZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxs
YmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKKyAgICBFeGNlcHRpb25PcjxzaXpl
X3Q+IGdldEtleUxlbmd0aChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJikgZmluYWw7
CiAKICAgICB2b2lkIHBsYXRmb3JtRW5jcnlwdChzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZl
Y3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBXb3JrUXVldWUmKTsKICAgICB2b2lkIHBsYXRmb3JtRGVjcnlwdChzdGQ6OnVuaXF1ZV9w
dHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycz4mJiwgUmVmPENyeXB0b0tleT4mJiwgVmVjdG9y
PHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBXb3JrUXVldWUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1BRVNfS1cuY3BwCmluZGV4
IDhiNjBlZmRlZmUyOTYxOWY3YTQ1MWUzZDAxYTE2ZGY0YmMyM2NlNGIuLjYwM2MwYmExYjdlZDcw
ODhhNmJiNjViMDMzZTcxMzY0Mzg0M2EwYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFFU19LVy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtQUVTX0tXLmNwcApAQCAtMjgs
OCArMjgsOCBAQAogCiAjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCiAKLSNpbmNsdWRlICJDcnlw
dG9BbGdvcml0aG1BZXNLZXlHZW5QYXJhbXMuaCIKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1B
ZXNLZXlHZW5QYXJhbXNEZXByZWNhdGVkLmgiCisjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtQWVz
S2V5UGFyYW1zLmgiCiAjaW5jbHVkZSAiQ3J5cHRvS2V5QUVTLmgiCiAjaW5jbHVkZSAiQ3J5cHRv
S2V5RGF0YU9jdGV0U2VxdWVuY2UuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCkBAIC03
MSw3ICs3MSw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGhtQUVTX0tXOjpnZW5lcmF0ZUtleShjb25z
dCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBhdXRvIHJlc3VsdCA9IENyeXB0b0tleUFFUzo6Z2VuZXJhdGUoQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllcjo6QUVTX0tXLCBkb3duY2FzdDxDcnlwdG9BbGdvcml0aG1BZXNLZXlH
ZW5QYXJhbXM+KHBhcmFtZXRlcnMpLmxlbmd0aCwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CisgICAg
YXV0byByZXN1bHQgPSBDcnlwdG9LZXlBRVM6OmdlbmVyYXRlKENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXI6OkFFU19LVywgZG93bmNhc3Q8Q3J5cHRvQWxnb3JpdGhtQWVzS2V5UGFyYW1zPihwYXJh
bWV0ZXJzKS5sZW5ndGgsIGV4dHJhY3RhYmxlLCB1c2FnZXMpOwogICAgIGlmICghcmVzdWx0KSB7
CiAgICAgICAgIGV4Y2VwdGlvbkNhbGxiYWNrKE9wZXJhdGlvbkVycm9yKTsKICAgICAgICAgcmV0
dXJuOwpAQCAtMTczLDYgKzE3MywxMSBAQCB2b2lkIENyeXB0b0FsZ29yaXRobUFFU19LVzo6dW53
cmFwS2V5KFJlZjxDcnlwdG9LZXk+JiYga2V5LCBWZWN0b3I8dWludDhfdD4mJiBkYQogICAgIHBs
YXRmb3JtVW53cmFwS2V5KFdURk1vdmUoa2V5KSwgV1RGTW92ZShkYXRhKSwgV1RGTW92ZShjYWxs
YmFjayksIFdURk1vdmUoZXhjZXB0aW9uQ2FsbGJhY2spKTsKIH0KIAorRXhjZXB0aW9uT3I8c2l6
ZV90PiBDcnlwdG9BbGdvcml0aG1BRVNfS1c6OmdldEtleUxlbmd0aChjb25zdCBDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQoreworICAgIHJldHVybiBDcnlwdG9LZXlBRVM6
OmdldEtleUxlbmd0aChwYXJhbWV0ZXJzKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRv
QWxnb3JpdGhtQUVTX0tXOjplbmNyeXB0Rm9yV3JhcEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0IENyeXB0b0tleSYga2V5LCBjb25zdCBDcnlwdG9P
cGVyYXRpb25EYXRhJiBkYXRhLCBWZWN0b3JDYWxsYmFjayYmIGNhbGxiYWNrLCBWb2lkQ2FsbGJh
Y2smJiBmYWlsdXJlQ2FsbGJhY2spCiB7CiAgICAgaWYgKCFrZXlBbGdvcml0aG1NYXRjaGVzKGtl
eSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vYWxnb3JpdGhtcy9DcnlwdG9B
bGdvcml0aG1BRVNfS1cuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0
b0FsZ29yaXRobUFFU19LVy5oCmluZGV4IDAwMjk0ZTM5MTg5ZmJlNGJkYjliMjkwNWIyY2ZlNDNm
MGQ0YmYzNzEuLjBjY2RiNjdiODAzODA4M2VjZjRhMmQ1N2I1NzQ3ZjU5ZDJkNTY4OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUFF
U19LVy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29y
aXRobUFFU19LVy5oCkBAIC00OCw2ICs0OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBleHBvcnRL
ZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIFJlZjxDcnlwdG9LZXk+JiYsIEtleURhdGFDYWxs
YmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIHdyYXBLZXkoUmVm
PENyeXB0b0tleT4mJiwgVmVjdG9yPHVpbnQ4X3Q+JiYsIFZlY3RvckNhbGxiYWNrJiYsIEV4Y2Vw
dGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgdW53cmFwS2V5KFJlZjxDcnlwdG9LZXk+
JiYsIFZlY3Rvcjx1aW50OF90PiYmLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFj
ayYmKSBmaW5hbDsKKyAgICBFeGNlcHRpb25PcjxzaXplX3Q+IGdldEtleUxlbmd0aChjb25zdCBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJikgZmluYWw7CiAKICAgICBFeGNlcHRpb25Pcjx2b2lk
PiBlbmNyeXB0Rm9yV3JhcEtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVj
YXRlZCYsIGNvbnN0IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0
b3JDYWxsYmFjayYmLCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spIGZpbmFsOwogICAg
IEV4Y2VwdGlvbk9yPHZvaWQ+IGRlY3J5cHRGb3JVbndyYXBLZXkoY29uc3QgQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVyc0RlcHJlY2F0ZWQmLCBjb25zdCBDcnlwdG9LZXkmLCBjb25zdCBDcnlwdG9P
cGVyYXRpb25EYXRhJiwgVmVjdG9yQ2FsbGJhY2smJiwgVm9pZENhbGxiYWNrJiYgZmFpbHVyZUNh
bGxiYWNrKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0
aG1zL0NyeXB0b0FsZ29yaXRobUVDREguY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29y
aXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNESC5jcHAKaW5kZXggOWRlNDFiODAzMTY4NDRlYmNjMzE3
MmE4OTZlMDQzM2ZmMWMwMWVkMi4uOTRiMjI3OGY3NGU1YTNkNTRiMTliNjBjOWQ0NjM1OTYzNGZm
Y2VmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRv
QWxnb3JpdGhtRUNESC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMv
Q3J5cHRvQWxnb3JpdGhtRUNESC5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBDcnlwdG9BbGdv
cml0aG1FQ0RIOjpnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJiBw
YXJhbWV0ZXIKICAgICBjYWxsYmFjayhXVEZNb3ZlKHBhaXIpKTsKIH0KIAotdm9pZCBDcnlwdG9B
bGdvcml0aG1FQ0RIOjpkZXJpdmVCaXRzKHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1Q
YXJhbWV0ZXJzPiYmIHBhcmFtZXRlcnMsIFJlZjxDcnlwdG9LZXk+JiYgYmFzZUtleSwgdW5zaWdu
ZWQgbG9uZyBsZW5ndGgsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIEV4Y2VwdGlvbkNhbGxi
YWNrJiYgZXhjZXB0aW9uQ2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQordm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RIOjpkZXJpdmVC
aXRzKHN0ZDo6dW5pcXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmIHBhcmFtZXRl
cnMsIFJlZjxDcnlwdG9LZXk+JiYgYmFzZUtleSwgc2l6ZV90IGxlbmd0aCwgVmVjdG9yQ2FsbGJh
Y2smJiBjYWxsYmFjaywgRXhjZXB0aW9uQ2FsbGJhY2smJiBleGNlcHRpb25DYWxsYmFjaywgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3JrUXVldWUpCiB7CiAg
ICAgLy8gV2Ugb25seSBhY2NlcHQgbGVuZ3RoIHRoYXQgaXMgYSBtdWx0aXBsZSBvZiA4LgogICAg
IGlmIChsZW5ndGggJSA4KSB7CkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgQ3J5cHRvQWxnb3JpdGht
RUNESDo6ZGVyaXZlQml0cyhzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4mCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIHVuaWZpZWRDYWxsYmFjayA9
IFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBleGNlcHRpb25DYWxsYmFjayA9IFdURk1v
dmUoZXhjZXB0aW9uQ2FsbGJhY2spXShzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4mJiBk
ZXJpdmVkS2V5LCB1bnNpZ25lZCBsb25nIGxlbmd0aCkgbXV0YWJsZSB7CisgICAgYXV0byB1bmlm
aWVkQ2FsbGJhY2sgPSBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgZXhjZXB0aW9uQ2Fs
bGJhY2sgPSBXVEZNb3ZlKGV4Y2VwdGlvbkNhbGxiYWNrKV0oc3RkOjpvcHRpb25hbDxWZWN0b3I8
dWludDhfdD4+JiYgZGVyaXZlZEtleSwgc2l6ZV90IGxlbmd0aCkgbXV0YWJsZSB7CiAgICAgICAg
IGlmICghZGVyaXZlZEtleSkgewogICAgICAgICAgICAgZXhjZXB0aW9uQ2FsbGJhY2soT3BlcmF0
aW9uRXJyb3IpOwogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNESC5oIGIvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtRUNESC5oCmluZGV4IGEzOTVhM2Yx
YTUxYTVjMDZmMTgzMGY1NGJmODEwNTI2NmM2Yjc4ZWUuLjFjMzU4N2MwZmUwYTBiYWU3NjQ1MTQ2
ZGQ1ZTQxNWJkMzc3OGJjZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdv
cml0aG1zL0NyeXB0b0FsZ29yaXRobUVDREguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
YWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1FQ0RILmgKQEAgLTQyLDEyICs0MiwxMiBAQCBwcml2
YXRlOgogICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IGZp
bmFsOwogCiAgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0
ZXJzJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5UGFp
ckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
KSBmaW5hbDsKLSAgICB2b2lkIGRlcml2ZUJpdHMoc3RkOjp1bmlxdWVfcHRyPENyeXB0b0FsZ29y
aXRobVBhcmFtZXRlcnM+JiYsIFJlZjxDcnlwdG9LZXk+JiYsIHVuc2lnbmVkIGxvbmcgbGVuZ3Ro
LCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgV29ya1F1ZXVlJikgZmluYWw7CisgICAgdm9pZCBkZXJpdmVCaXRzKHN0ZDo6dW5p
cXVlX3B0cjxDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzPiYmLCBSZWY8Q3J5cHRvS2V5PiYmLCBz
aXplX3QgbGVuZ3RoLCBWZWN0b3JDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmLCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgV29ya1F1ZXVlJikgZmluYWw7CiAgICAgdm9pZCBpbXBvcnRL
ZXkoU3VidGxlQ3J5cHRvOjpLZXlGb3JtYXQsIEtleURhdGEmJiwgY29uc3Qgc3RkOjp1bmlxdWVf
cHRyPENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnM+JiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0
b0tleVVzYWdlQml0bWFwLCBLZXlDYWxsYmFjayYmLCBFeGNlcHRpb25DYWxsYmFjayYmKSBmaW5h
bDsKICAgICB2b2lkIGV4cG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwgUmVmPENyeXB0
b0tleT4mJiwgS2V5RGF0YUNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwog
Ci0gICAgdXNpbmcgQ2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKHN0ZDo6b3B0aW9uYWw8VmVjdG9y
PHVpbnQ4X3Q+PiYmLCB1bnNpZ25lZCBsb25nKT47Ci0gICAgdm9pZCBwbGF0Zm9ybURlcml2ZUJp
dHMoUmVmPENyeXB0b0tleT4mJiBiYXNlS2V5LCBSZWY8Q3J5cHRvS2V5PiYmIHB1YmxpY0tleSwg
dW5zaWduZWQgbG9uZyBsZW5ndGgsIENhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBXb3JrUXVldWUmKTsKKyAgICB1c2luZyBDYWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoc3RkOjpv
cHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYsIHNpemVfdCk+OworICAgIHZvaWQgcGxhdGZvcm1E
ZXJpdmVCaXRzKFJlZjxDcnlwdG9LZXk+JiYgYmFzZUtleSwgUmVmPENyeXB0b0tleT4mJiBwdWJs
aWNLZXksIHNpemVfdCBsZW5ndGgsIENhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBXb3JrUXVldWUmKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5j
cHAKaW5kZXggYmUwNjRhMzcwZGZmYjQ1MTNjOWVjZDUzMTNkYTY3Y2Q2OGM4NWU1NS4uNTZlNWE5
YzVkMmYzZmQxMjcxMDljMDg5OTBmN2Q5YzQ2YTRhMTdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5jcHAKQEAg
LTE5Nyw2ICsxOTcsMTEgQEAgdm9pZCBDcnlwdG9BbGdvcml0aG1ITUFDOjpleHBvcnRLZXkoU3Vi
dGxlQ3J5cHRvOjpLZXlGb3JtYXQgZm9ybWF0LCBSZWY8Q3J5cHRvS2UKICAgICBjYWxsYmFjayhm
b3JtYXQsIFdURk1vdmUocmVzdWx0KSk7CiB9CiAKK0V4Y2VwdGlvbk9yPHNpemVfdD4gQ3J5cHRv
QWxnb3JpdGhtSE1BQzo6Z2V0S2V5TGVuZ3RoKGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRl
cnMmIHBhcmFtZXRlcnMpCit7CisgICAgcmV0dXJuIENyeXB0b0tleUhNQUM6OmdldEtleUxlbmd0
aChwYXJhbWV0ZXJzKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ3J5cHRvQWxnb3JpdGhtSE1B
Qzo6c2lnbihjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYgcGFyYW1l
dGVycywgY29uc3QgQ3J5cHRvS2V5JiBrZXksIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmIGRh
dGEsIFZlY3RvckNhbGxiYWNrJiYgY2FsbGJhY2ssIFZvaWRDYWxsYmFjayYmIGZhaWx1cmVDYWxs
YmFjaykKIHsKICAgICBhdXRvJiBobWFjUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29y
aXRobUhtYWNQYXJhbXNEZXByZWNhdGVkPihwYXJhbWV0ZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9hbGdvcml0aG1zL0NyeXB0b0FsZ29yaXRobUhNQUMuaAppbmRleCAz
YWQ2OWM5MmUyOTMwODUxMGY4ZWIxOTBkNmY1ZmFhNDM3ZDQyMGUwLi40NTRiMTFhOWVkNDM3NDlk
NzQ0ZGM2NmNmNDExZDMzMDAwMjQ5N2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlw
dG8vYWxnb3JpdGhtcy9DcnlwdG9BbGdvcml0aG1ITUFDLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL2FsZ29yaXRobXMvQ3J5cHRvQWxnb3JpdGhtSE1BQy5oCkBAIC00OSw2ICs0OSw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBnZW5lcmF0ZUtleShjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJh
bWV0ZXJzJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleU9yS2V5
UGFpckNhbGxiYWNrJiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmKSBmaW5hbDsKICAgICB2b2lkIGltcG9ydEtleShTdWJ0bGVDcnlwdG86OktleUZvcm1hdCwg
S2V5RGF0YSYmLCBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cz4mJiwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAsIEtleUNhbGxiYWNr
JiYsIEV4Y2VwdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgZXhwb3J0S2V5KFN1YnRs
ZUNyeXB0bzo6S2V5Rm9ybWF0LCBSZWY8Q3J5cHRvS2V5PiYmLCBLZXlEYXRhQ2FsbGJhY2smJiwg
RXhjZXB0aW9uQ2FsbGJhY2smJikgZmluYWw7CisgICAgRXhjZXB0aW9uT3I8c2l6ZV90PiBnZXRL
ZXlMZW5ndGgoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyYpIGZpbmFsOwogCiAgICAg
Ly8gVGhlIGZvbGxvd2luZyB3aWxsIGJlIGRlcHJlY2F0ZWQuCiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gc2lnbihjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzRGVwcmVjYXRlZCYsIGNvbnN0
IENyeXB0b0tleSYsIGNvbnN0IENyeXB0b09wZXJhdGlvbkRhdGEmLCBWZWN0b3JDYWxsYmFjayYm
LCBWb2lkQ2FsbGJhY2smJiBmYWlsdXJlQ2FsbGJhY2spIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9rZXlzL0NyeXB0b0tleUFFUy5jcHAKaW5kZXggNDMxNzU2NDFiNGM0OThhYjM3M2Fl
Y2M3OGJkYjg2MzFmMDEwYjhlMy4uMzlmZGI4MDZkNWQ0MTliY2ZkZjBjOTU4ZmRhZDk5MTZkOWY5
NmFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVT
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuY3BwCkBA
IC0yOCw4ICsyOCwxMSBAQAogCiAjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCiAKKyNpbmNsdWRl
ICJDcnlwdG9BbGdvcml0aG1BZXNLZXlQYXJhbXMuaCIKICNpbmNsdWRlICJDcnlwdG9BbGdvcml0
aG1SZWdpc3RyeS5oIgogI2luY2x1ZGUgIkNyeXB0b0tleURhdGFPY3RldFNlcXVlbmNlLmgiCisj
aW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5j
bHVkZSAiSnNvbldlYktleS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMTE0LDYgKzExNywxNCBAQCBKc29uV2ViS2V5
IENyeXB0b0tleUFFUzo6ZXhwb3J0SndrKCkgY29uc3QKICAgICByZXR1cm4gcmVzdWx0OwogfQog
CitFeGNlcHRpb25PcjxzaXplX3Q+IENyeXB0b0tleUFFUzo6Z2V0S2V5TGVuZ3RoKGNvbnN0IENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7CisgICAgYXV0byYgYWVzUGFy
YW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUFlc0tleVBhcmFtcz4ocGFyYW1ldGVy
cyk7CisgICAgaWYgKCFsZW5ndGhJc1ZhbGlkKGFlc1BhcmFtZXRlcnMubGVuZ3RoKSkKKyAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisgICAgcmV0dXJuIGFlc1Bh
cmFtZXRlcnMubGVuZ3RoOworfQorCiBzdGQ6OnVuaXF1ZV9wdHI8S2V5QWxnb3JpdGhtPiBDcnlw
dG9LZXlBRVM6OmJ1aWxkQWxnb3JpdGhtKCkgY29uc3QKIHsKICAgICByZXR1cm4gc3RkOjptYWtl
X3VuaXF1ZTxBZXNLZXlBbGdvcml0aG0+KENyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5OjpzaW5nbGV0
b24oKS5uYW1lKGFsZ29yaXRobUlkZW50aWZpZXIoKSksIG1fa2V5LnNpemUoKSAqIDgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5QUVTLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMuaAppbmRleCA0NzE0OTFkOTQ0ZWEz
YjY3OTdiNDdiYjMzZDQ4MWQwOTczYjFhNDI2Li44MTYwZDI2NzNjM2U4NWE3ZWMzNjM2YjM5YTA5
MTljNTE2ZmQ0YTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9Dcnlw
dG9LZXlBRVMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlBRVMu
aApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmll
ci5oIgogI2luY2x1ZGUgIkNyeXB0b0tleS5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0z
NCw2ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVyczsKKwogc3RydWN0IEpzb25XZWJLZXk7CiAKIGNsYXNzIEFlc0tleUFsZ29y
aXRobSBmaW5hbCA6IHB1YmxpYyBLZXlBbGdvcml0aG0gewpAQCAtNzYsNiArNzksOCBAQCBwdWJs
aWM6CiAgICAgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXkoKSBjb25zdCB7IHJldHVybiBtX2tl
eTsgfQogICAgIEpzb25XZWJLZXkgZXhwb3J0SndrKCkgY29uc3Q7CiAKKyAgICBzdGF0aWMgRXhj
ZXB0aW9uT3I8c2l6ZV90PiBnZXRLZXlMZW5ndGgoY29uc3QgQ3J5cHRvQWxnb3JpdGhtUGFyYW1l
dGVycyYpOworCiBwcml2YXRlOgogICAgIENyeXB0b0tleUFFUyhDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5
cHRvS2V5VXNhZ2VCaXRtYXApOwogICAgIENyeXB0b0tleUFFUyhDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyLCBWZWN0b3I8dWludDhfdD4mJiBrZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tl
eVVzYWdlQml0bWFwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0Ny
eXB0b0tleUhNQUMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1B
Qy5jcHAKaW5kZXggMzFiMDBmZDQxNjc0ZmM5NmJhOTI3YWNiYzc3NDE5ZjAxYWVlMDJkMy4uYjdm
NmNjNjNmNmEzMTk1MDA5YzIwYTY5MTQ5YzU1NjYwYjM5OTJlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5jcHAKQEAgLTMxLDEyICszMSwzMCBAQAogI2lu
Y2x1ZGUgIkNyeXB0b0FsZ29yaXRobUhtYWNLZXlQYXJhbXMuaCIKICNpbmNsdWRlICJDcnlwdG9B
bGdvcml0aG1SZWdpc3RyeS5oIgogI2luY2x1ZGUgIkNyeXB0b0tleURhdGFPY3RldFNlcXVlbmNl
LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgi
CiAjaW5jbHVkZSAiSnNvbldlYktleS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K3N0YXRpYyBzaXplX3QgZ2V0S2V5TGVuZ3RoRnJvbUhhc2goQ3J5cHRvQWxnb3JpdGhtSWRlbnRp
ZmllciBoYXNoKQoreworICAgIHN3aXRjaCAoaGFzaCkgeworICAgIGNhc2UgQ3J5cHRvQWxnb3Jp
dGhtSWRlbnRpZmllcjo6U0hBXzE6CisgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
OjpTSEFfMjI0OgorICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzI1NjoK
KyAgICAgICAgcmV0dXJuIDUxMjsKKyAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6
OlNIQV8zODQ6CisgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfNTEyOgor
ICAgICAgICByZXR1cm4gMTAyNDsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCiBDcnlwdG9LZXlITUFDOjpD
cnlwdG9LZXlITUFDKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyIGhhc2gsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVz
YWdlKQogICAgIDogQ3J5cHRvS2V5KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkhNQUMsIENy
eXB0b0tleVR5cGU6OlNlY3JldCwgZXh0cmFjdGFibGUsIHVzYWdlKQogICAgICwgbV9oYXNoKGhh
c2gpCkBAIC01OCwxOSArNzYsOSBAQCBDcnlwdG9LZXlITUFDOjp+Q3J5cHRvS2V5SE1BQygpCiBS
ZWZQdHI8Q3J5cHRvS2V5SE1BQz4gQ3J5cHRvS2V5SE1BQzo6Z2VuZXJhdGUoc2l6ZV90IGxlbmd0
aEJpdHMsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBleHRyYWN0YWJsZSwg
Q3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogewogICAgIGlmICghbGVuZ3RoQml0cykgewot
ICAgICAgICBzd2l0Y2ggKGhhc2gpIHsKLSAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyOjpTSEFfMToKLSAgICAgICAgY2FzZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpT
SEFfMjI0OgotICAgICAgICBjYXNlIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OlNIQV8yNTY6
Ci0gICAgICAgICAgICBsZW5ndGhCaXRzID0gNTEyOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllcjo6U0hBXzM4NDoKLSAgICAgICAgY2Fz
ZSBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyOjpTSEFfNTEyOgotICAgICAgICAgICAgbGVuZ3Ro
Qml0cyA9IDEwMjQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgbGVuZ3RoQml0cyA9IGdldEtleUxlbmd0aEZyb21IYXNoKGhhc2gpOworICAgICAgICBpZiAo
IWxlbmd0aEJpdHMpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgfQogICAg
IH0KICAgICAvLyBDb21tb25ITUFDIG9ubHkgc3VwcG9ydHMga2V5IGxlbmd0aCB0aGF0IGlzIGEg
bXVsdGlwbGUgb2YgOC4gVGhlcmVmb3JlLCBoZXJlIHdlIGFyZSBhIGxpdHRsZSBiaXQgZGlmZmVy
ZW50CiAgICAgLy8gZnJvbSB0aGUgc3BlYyBhcyBvZiAxMSBEZWNlbWJlciAyMDE0OiBodHRwczov
L3d3dy53My5vcmcvVFIvV2ViQ3J5cHRvQVBJLyNobWFjLW9wZXJhdGlvbnMKQEAgLTEyNCw2ICsx
MzIsMTcgQEAgSnNvbldlYktleSBDcnlwdG9LZXlITUFDOjpleHBvcnRKd2soKSBjb25zdAogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKK0V4Y2VwdGlvbk9yPHNpemVfdD4gQ3J5cHRvS2V5SE1BQzo6
Z2V0S2V5TGVuZ3RoKGNvbnN0IENyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMp
Cit7CisgICAgYXV0byYgYWVzUGFyYW1ldGVycyA9IGRvd25jYXN0PENyeXB0b0FsZ29yaXRobUht
YWNLZXlQYXJhbXM+KHBhcmFtZXRlcnMpOworCisgICAgc2l6ZV90IHJlc3VsdCA9IGFlc1BhcmFt
ZXRlcnMubGVuZ3RoID8gKihhZXNQYXJhbWV0ZXJzLmxlbmd0aCkgOiBnZXRLZXlMZW5ndGhGcm9t
SGFzaChhZXNQYXJhbWV0ZXJzLmhhc2hJZGVudGlmaWVyKTsKKyAgICBpZiAocmVzdWx0KQorICAg
ICAgICByZXR1cm4gcmVzdWx0OworCisgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9
OworfQorCiBzdGQ6OnVuaXF1ZV9wdHI8S2V5QWxnb3JpdGhtPiBDcnlwdG9LZXlITUFDOjpidWls
ZEFsZ29yaXRobSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8SG1hY0tl
eUFsZ29yaXRobT4oQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnk6OnNpbmdsZXRvbigpLm5hbWUoYWxn
b3JpdGhtSWRlbnRpZmllcigpKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleUhNQUMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9rZXlzL0NyeXB0b0tl
eUhNQUMuaAppbmRleCAyNWMyNDUyN2M0ZmU0NjhhZDc3ZGExNTNkMTU0NjlmMTQ2NDkwMmQyLi4z
ZjI5MTY4NWFjOTgyNDRmZDJiZTY3ZDYzZGIwNWIzYmM2Mzk1ZjkxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlITUFDLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5SE1BQy5oCkBAIC0yOCwxMSArMjgsMTQgQEAKICNpZiBF
TkFCTEUoU1VCVExFX0NSWVBUTykKIAogI2luY2x1ZGUgIkNyeXB0b0tleS5oIgorI2luY2x1ZGUg
IkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnM7CisKIHN0cnVjdCBKc29uV2ViS2V5OwogCiBjbGFzcyBIbWFjS2V5QWxnb3Jp
dGhtIGZpbmFsIDogcHVibGljIEtleUFsZ29yaXRobSB7CkBAIC03NCw2ICs3Nyw4IEBAIHB1Ymxp
YzoKIAogICAgIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaEFsZ29yaXRobUlkZW50aWZp
ZXIoKSBjb25zdCB7IHJldHVybiBtX2hhc2g7IH0KIAorICAgIHN0YXRpYyBFeGNlcHRpb25Pcjxz
aXplX3Q+IGdldEtleUxlbmd0aChjb25zdCBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzJik7CisK
IHByaXZhdGU6CiAgICAgQ3J5cHRvS2V5SE1BQyhjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwg
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBoYXNoLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCk7CiAgICAgQ3J5cHRvS2V5SE1BQyhWZWN0b3I8dWludDhfdD4mJiBrZXks
IENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaGFzaCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRv
S2V5VXNhZ2VCaXRtYXApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9D
cnlwdG9BbGdvcml0aG1FQ0RITWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5
cHRvQWxnb3JpdGhtRUNESE1hYy5jcHAKaW5kZXggYjM4YzUwZTgyY2NiOWUxMjQyODM4NTI3OTMx
ZjViNGQxN2ZkNWZkNS4uZjg0YzcyYTcxYTk2ZjViYmY2NGRlN2M4NGVhYmRlNjIwNWZmNWQxMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9BbGdvcml0aG1FQ0RI
TWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0FsZ29yaXRobUVD
REhNYWMuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9p
ZCBDcnlwdG9BbGdvcml0aG1FQ0RIOjpwbGF0Zm9ybURlcml2ZUJpdHMoUmVmPENyeXB0b0tleT4m
JiBiYXNlS2V5LCBSZWY8Q3J5cHRvS2V5PiYmIHB1YmxpY0tleSwgdW5zaWduZWQgbG9uZyBsZW5n
dGgsIENhbGxiYWNrJiYgY2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IFdvcmtRdWV1ZSYgd29ya1F1ZXVlKQordm9pZCBDcnlwdG9BbGdvcml0aG1FQ0RIOjpwbGF0Zm9y
bURlcml2ZUJpdHMoUmVmPENyeXB0b0tleT4mJiBiYXNlS2V5LCBSZWY8Q3J5cHRvS2V5PiYmIHB1
YmxpY0tleSwgc2l6ZV90IGxlbmd0aCwgQ2FsbGJhY2smJiBjYWxsYmFjaywgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgV29ya1F1ZXVlJiB3b3JrUXVldWUpCiB7CiAgICAgY29udGV4
dC5yZWYoKTsKICAgICB3b3JrUXVldWUuZGlzcGF0Y2goW2Jhc2VLZXkgPSBXVEZNb3ZlKGJhc2VL
ZXkpLCBwdWJsaWNLZXkgPSBXVEZNb3ZlKHB1YmxpY0tleSksIGxlbmd0aCwgY2FsbGJhY2sgPSBX
VEZNb3ZlKGNhbGxiYWNrKSwgJmNvbnRleHRdKCkgbXV0YWJsZSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9BZXNLZXlHZW5QYXJhbXMuaWRsIGIvU291cmNl
L1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQWVzS2V5R2VuUGFyYW1zLmlkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDBjMTZlYWIyNDUwNjM1MTI1M2U5MzZlODVhYzZmNmM3N2Vk
NmYyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9BZXNLZXlHZW5QYXJhbXMuaWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMzIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1T
VUJUTEVfQ1JZUFRPLAotICAgIEltcGxlbWVudGVkQXM9Q3J5cHRvQWxnb3JpdGhtQWVzS2V5R2Vu
UGFyYW1zCi1dIGRpY3Rpb25hcnkgQWVzS2V5R2VuUGFyYW1zIDogQ3J5cHRvQWxnb3JpdGhtUGFy
YW1ldGVycyB7Ci0gICAgLy8gVGhlIGxlbmd0aCwgaW4gYml0cywgb2YgdGhlIGtleS4KLSAgICBb
RW5mb3JjZVJhbmdlXSByZXF1aXJlZCB1bnNpZ25lZCBzaG9ydCBsZW5ndGg7Ci19OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQWVzS2V5UGFyYW1zLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0tleVBhcmFtcy5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGJkM2FlMjBlYjcxNTYwMzBiOTliMjllOTM2OTUyMTBjZDJiOTUyOAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0Flc0tleVBhcmFtcy5p
ZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIFRoaXMgaXMgYSB1bmlmaWVkIGRp
Y3Rpb25hcnkgZm9yIEFlc0Rlcml2ZWRLZXlQYXJhbXMgYW5kIEFlc0tleUdlblBhcmFtcy4KKy8v
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XZWJDcnlwdG9BUEkvI2Flcy1kZXJpdmVka2V5LXBhcmFt
cywgYW5kCisvLyBodHRwczovL3d3dy53My5vcmcvVFIvV2ViQ3J5cHRvQVBJLyNhZXMta2V5Z2Vu
LXBhcmFtcworWworICAgIENvbmRpdGlvbmFsPVNVQlRMRV9DUllQVE8sCisgICAgSW1wbGVtZW50
ZWRBcz1DcnlwdG9BbGdvcml0aG1BZXNLZXlQYXJhbXMKK10gZGljdGlvbmFyeSBBZXNLZXlQYXJh
bXMgOiBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzIHsKKyAgICAvLyBUaGUgbGVuZ3RoLCBpbiBi
aXRzLCBvZiB0aGUga2V5LgorICAgIFtFbmZvcmNlUmFuZ2VdIHJlcXVpcmVkIHVuc2lnbmVkIHNo
b3J0IGxlbmd0aDsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1l
dGVycy9DcnlwdG9BbGdvcml0aG1BZXNLZXlHZW5QYXJhbXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtcy5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDc5OThkZGYzMWEzNzkzMzIxMzg5ZjVkOWZjMzc1YTk0
ZDExOTg1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0tleUdlblBh
cmFtcy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFn
bWEgb25jZQotCi0jaW5jbHVkZSAiQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIgotCi0jaWYg
RU5BQkxFKFNVQlRMRV9DUllQVE8pCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgQ3J5
cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zIGZpbmFsIDogcHVibGljIENyeXB0b0FsZ29yaXRo
bVBhcmFtZXRlcnMgewotcHVibGljOgotICAgIHVuc2lnbmVkIHNob3J0IGxlbmd0aDsKLQotICAg
IENsYXNzIHBhcmFtZXRlcnNDbGFzcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENsYXNzOjpBZXNL
ZXlHZW5QYXJhbXM7IH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19DUllQVE9fQUxHT1JJVEhNX1BBUkFNRVRFUlMoQWVzS2V5R2VuUGFyYW1z
KQotCi0jZW5kaWYgLy8gRU5BQkxFKFNVQlRMRV9DUllQVE8pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1BZXNLZXlQYXJhbXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUFlc0tleVBh
cmFtcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIwYjUyYjAwZTdiODc5MzcyYjYzYzkzMTAxNDg3NTc5Y2FmMDU5
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9D
cnlwdG9BbGdvcml0aG1BZXNLZXlQYXJhbXMuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmgi
CisKKyNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBDcnlwdG9BbGdvcml0aG1BZXNLZXlQYXJhbXMgZmluYWwgOiBwdWJsaWMgQ3J5cHRvQWxn
b3JpdGhtUGFyYW1ldGVycyB7CitwdWJsaWM6CisgICAgdW5zaWduZWQgc2hvcnQgbGVuZ3RoOwor
CisgICAgQ2xhc3MgcGFyYW1ldGVyc0NsYXNzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ2xhc3M6
OkFlc0tleVBhcmFtczsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX0NSWVBUT19BTEdPUklUSE1fUEFSQU1FVEVSUyhBZXNLZXlQYXJhbXMp
CisKKyNlbmRpZiAvLyBFTkFCTEUoU1VCVExFX0NSWVBUTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUhtYWNLZXlQYXJhbXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobUhtYWNLZXlQ
YXJhbXMuaAppbmRleCBlNGJmZjY1MDBlNDE5MWJjZTQ1NWQ2ZWFjMWJhZDcxNzM0NWIzNTMwLi4z
ZDE5ZTJkZTdkMWJlYTlkYWE1ODg5YjUwYzdlMjg4NjE3YTZiNDdiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vcGFyYW1ldGVycy9DcnlwdG9BbGdvcml0aG1IbWFjS2V5UGFyYW1z
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRvQWxnb3JpdGht
SG1hY0tleVBhcmFtcy5oCkBAIC0zNyw3ICszNyw3IEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRTog
Q29uc2lkZXIgbWVyZ2luZyBoYXNoIGFuZCBoYXNoSWRlbnRpZmllci4KICAgICBKU0M6OkpTVmFs
dWUgaGFzaDsKICAgICBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGhhc2hJZGVudGlmaWVyOwot
ICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQgbG9uZz4gbGVuZ3RoOworICAgIHN0ZDo6b3B0aW9u
YWw8c2l6ZV90PiBsZW5ndGg7CiAKICAgICBDbGFzcyBwYXJhbWV0ZXJzQ2xhc3MoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBDbGFzczo6SG1hY0tleVBhcmFtczsgfQogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2NyeXB0by9wYXJhbWV0ZXJzL0NyeXB0b0FsZ29yaXRobVJzYUtleUdlblBh
cmFtcy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRvQWxnb3JpdGht
UnNhS2V5R2VuUGFyYW1zLmgKaW5kZXggMTNlYzcwOWY5MWEwNWIyMmRkNGQ1NDJmMmQ4YTExM2Vh
MTlhNDgxMi4uMWEzMmRjZTJlMzQ4ZjM4MmI5NDZkN2ExZTJhMDAwYTkwOTljNDMyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5cHRvQWxnb3JpdGhtUnNh
S2V5R2VuUGFyYW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL3BhcmFtZXRlcnMvQ3J5
cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXMgOiBwdWJs
aWMgQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycyB7CiBwdWJsaWM6Ci0gICAgdW5zaWduZWQgbG9u
ZyBtb2R1bHVzTGVuZ3RoOworICAgIHNpemVfdCBtb2R1bHVzTGVuZ3RoOwogICAgIFJlZlB0cjxV
aW50OEFycmF5PiBwdWJsaWNFeHBvbmVudDsKIAogICAgIENsYXNzIHBhcmFtZXRlcnNDbGFzcygp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIENsYXNzOjpSc2FLZXlHZW5QYXJhbXM7IH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA1ODY3ZTY5Y2NlOWU5NmFiOWYzYmE5ODVmMjJkY2I1NDQzMmMxZGQ2Li45NDNlZjRkN2EwZDgy
MmNmYTRjNzZkZmE3MGYxNDI0MmE4YjczY2Q4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzEgQEAKIDIwMTct
MDMtMDggIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAorICAgICAgICBbV2Vi
Q3J5cHRvXSBJbXBsZW1lbnQgU3VidGxlQ3J5cHRvOjpEZXJpdmVLZXkgbWV0aG9kCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkzODYKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzIzNzg5NTg1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9hZXMtZ2VuZXJhdGUta2V5LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2Rl
cml2ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjcnlwdG8vc3VidGxlL2Rlcml2ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbDog
QWRkZWQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS9kZXJpdmVLZXktbWFsZm9ybWVkLXBhcmFt
ZXRlcnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvZGVy
aXZlS2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogY3J5
cHRvL3N1YnRsZS9lY2RoLWltcG9ydC1rZXktZGVyaXZlLWFlcy1rZXktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2VjZGgtaW1wb3J0LWtleS1kZXJpdmUtYWVz
LWtleS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL2VjZGgtaW1wb3J0LWtl
eS1kZXJpdmUtaG1hYy1rZXktY3VzdG9tLWxlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNyeXB0by9zdWJ0bGUvZWNkaC1pbXBvcnQta2V5LWRlcml2ZS1obWFjLWtleS1jdXN0
b20tbGVuZ3RoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUvdW53cmFwLWtl
eS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL3Vud3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3Rl
ZC50eHQuCisgICAgICAgICogY3J5cHRvL3N1YnRsZS91bndyYXAta2V5LW1hbGZvcm1lZC1wYXJh
bWV0ZXJzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Vud3Jh
cEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sLgorICAgICAgICAqIGNyeXB0by9zdWJ0bGUv
d3JhcC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS93cmFwS2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dC4KKyAgICAgICAgKiBjcnlwdG8vc3VidGxlL3dyYXAta2V5LW1hbGZvcm1lZC1w
YXJhbWV0ZXJzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3dy
YXBLZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbC4KKyAgICAgICAgQSBiaXQgcmVuYW1pbmcu
CisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxlL2VjZGgtaW1wb3J0LWtleS1kZXJpdmUt
a2V5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3J5cHRvL3dvcmtlcnMvc3VidGxl
L2VjZGgtaW1wb3J0LWtleS1kZXJpdmUta2V5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNyeXB0
by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvZWNkaC1pbXBvcnQta2V5LWRlcml2ZS1rZXkuanM6
IEFkZGVkLgorCisyMDE3LTAzLTA4ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+
CisKICAgICAgICAgW1dlYkNyeXB0b10gSW1wbGVtZW50IEVDREggRGVyaXZlQml0cyBvcGVyYXRp
b24KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTMx
OQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjM3ODk1ODU+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9hZXMtZ2VuZXJhdGUta2V5
LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAppbmRleCBhOGJkYmZlYzYyYjliMjhi
ZTQ2ODU3ODJjMDlkZmMyMTliYzExMWU4Li5iNzgxZDAwMjFkMWQ2NjY2ZDIxMmY5MzE5ZTg1NmE3
NTY4YWRiZmFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Flcy1nZW5l
cmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvYWVzLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQKQEAgLTMsMTEgKzMsMTEgQEAgVGVzdCBnZW5lcmF0aW5nIGFuIEFFUyBrZXkg
d2l0aCBtYWxmb3JtZWQtcGFyYW10ZXJzLgogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAK
LVBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSgiYWVzLWNiYyIsIGV4dHJhY3RhYmxlLCBb
ImVuY3J5cHQiLCAiZGVjcnlwdCJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
TWVtYmVyIEFlc0tleUdlblBhcmFtcy5sZW5ndGggaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgdW5zaWduZWQgc2hvcnQuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVL
ZXkoe25hbWU6ICJhZXMtY2JjIn0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJd
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIEFlc0tleUdlblBhcmFt
cy5sZW5ndGggaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgdW5zaWduZWQg
c2hvcnQuCitQQVNTIGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoImFlcy1jYmMiLCBleHRyYWN0
YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IE1lbWJlciBBZXNLZXlQYXJhbXMubGVuZ3RoIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIHVuc2lnbmVkIHNob3J0LgorUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVy
YXRlS2V5KHtuYW1lOiAiYWVzLWNiYyJ9LCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5
cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBBZXNLZXlQYXJh
bXMubGVuZ3RoIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIHVuc2lnbmVk
IHNob3J0LgogUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIs
IGxlbmd0aDogdHJ1ZX0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIE9wZXJhdGlvbkVycm9yIChET00gRXhjZXB0aW9uIDM0KTogVGhl
IG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIG9wZXJhdGlvbi1zcGVjaWZpYyByZWFzb24uCiBQQVNT
IGNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2JjIiwgbGVuZ3RoOiBudWxs
fSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Il0pIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZh
aWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KLVBBU1MgY3J5cHRvLnN1YnRs
ZS5nZW5lcmF0ZUtleSh7bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6IHVuZGVmaW5lZH0sIGV4dHJh
Y3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5
cGVFcnJvcjogTWVtYmVyIEFlc0tleUdlblBhcmFtcy5sZW5ndGggaXMgcmVxdWlyZWQgYW5kIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgdW5zaWduZWQgc2hvcnQuCitQQVNTIGNyeXB0by5zdWJ0bGUu
Z2VuZXJhdGVLZXkoe25hbWU6ICJhZXMtY2JjIiwgbGVuZ3RoOiB1bmRlZmluZWR9LCBleHRyYWN0
YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IE1lbWJlciBBZXNLZXlQYXJhbXMubGVuZ3RoIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIHVuc2lnbmVkIHNob3J0LgogUEFTUyBjcnlwdG8uc3VidGxlLmdlbmVy
YXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogU3ltYm9sKCl9LCBleHRyYWN0YWJsZSwg
WyJlbmNyeXB0IiwgImRlY3J5cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgbnVtYmVyLgogUEFTUyBjcnlwdG8uc3VidGxl
LmdlbmVyYXRlS2V5KHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogeyB9fSwgZXh0cmFjdGFibGUs
IFsiZW5jcnlwdCIsICJkZWNyeXB0Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9u
RXJyb3IgKERPTSBFeGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3Bl
cmF0aW9uLXNwZWNpZmljIHJlYXNvbi4KIFBBU1MgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7
bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6ICJmb28ifSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIs
ICJkZWNyeXB0Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggT3BlcmF0aW9uRXJyb3IgKERPTSBF
eGNlcHRpb24gMzQpOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gb3BlcmF0aW9uLXNwZWNp
ZmljIHJlYXNvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZGVyaXZl
LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2Rlcml2ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY3YmE0YTcwNGUxMjVkYzM1NGNhMmUyNGNkN2YxNmJhOWQ3ZjNkYWUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Rlcml2ZS1rZXktbWFsZm9y
bWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQgQEAKK1Rlc3QgZGVyaXZl
S2V5IG9wZXJhdGlvbiB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJzCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KCkgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlw
dG8uc3VidGxlLmRlcml2ZUtleSgxKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KDEsIDIp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4K
K1BBU1MgY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoMSwgMiwgMykgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxl
LmRlcml2ZUtleSgxLCAyLCAzLCA0KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KHsgbmFt
ZToiRUNESCIsIHB1YmxpYzpwdWJsaWNLZXkgfSwgcHJpdmF0ZUtleSwgIkFFUy1DQkMiLCBleHRy
YWN0YWJsZSwgWyJlbmNyeXB0Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBN
ZW1iZXIgQWVzS2V5UGFyYW1zLmxlbmd0aCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0
YW5jZSBvZiB1bnNpZ25lZCBzaG9ydC4KK1BBU1MgY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoeyBu
YW1lOiJFQ0RIIiwgcHVibGljOnB1YmxpY0tleSB9LCBwcml2YXRlS2V5LCAiUlNBRVMtUEtDUzEt
djFfNSIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBO
b3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIG9wZXJhdGlvbiBpcyBub3Qg
c3VwcG9ydGVkLi4KK1BBU1MgY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoeyBuYW1lOiJFQ0RIIiwg
cHVibGljOnB1YmxpY0tleSB9LCBwcml2YXRlS2V5LCB7bmFtZTogIlJTQS1PQUVQIiwgaGFzaDog
InNoYS0xIn0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIG9wZXJhdGlvbiBpcyBu
b3Qgc3VwcG9ydGVkLi4KK1BBU1MgY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoeyBuYW1lOiJFQ0RI
IiwgcHVibGljOnB1YmxpY0tleSB9LCBwcml2YXRlS2V5LCB7bmFtZTogIkVDREgiLCBuYW1lZEN1
cnZlOiAiUC0yNTYifSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgb3BlcmF0aW9u
IGlzIG5vdCBzdXBwb3J0ZWQuLgorUEFTUyBjcnlwdG8uc3VidGxlLmRlcml2ZUtleSh7IG5hbWU6
IkVDREgiLCBwdWJsaWM6cHVibGljS2V5IH0sIHdyb25nS2V5LCB7bmFtZTogImFlcy1jYmMiLCBs
ZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBJbnZhbGlkQWNjZXNzRXJyb3IgKERPTSBFeGNlcHRpb24gMTUpOiBDcnlwdG9LZXkgZG9l
c24ndCBtYXRjaCBBbGdvcml0aG1JZGVudGlmaWVyLgorUEFTUyBjcnlwdG8uc3VidGxlLmRlcml2
ZUtleSh7IG5hbWU6IkVDREgiLCBwdWJsaWM6cHVibGljS2V5IH0sIHdyb25nS2V5LCB7bmFtZTog
ImFlcy1jYmMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiXSkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBJbnZhbGlkQWNjZXNzRXJyb3IgKERPTSBFeGNlcHRpb24gMTUpOiBD
cnlwdG9LZXkgZG9lc24ndCBzdXBwb3J0IENyeXB0b0tleSBkZXJpdmF0aW9uLgorUEFTUyBjcnlw
dG8uc3VidGxlLmRlcml2ZUtleSh7IG5hbWU6IkVDREgiLCBwdWJsaWM6cHVibGljS2V5IH0sIHBy
aXZhdGVLZXksIHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMX0sIGV4dHJhY3RhYmxlLCBbImVu
Y3J5cHQiXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBPcGVyYXRpb25FcnJvciAoRE9NIEV4Y2Vw
dGlvbiAzNCk6IENhbm5vdCBnZXQga2V5IGxlbmd0aCBmcm9tIGRlcml2ZWRLZXlUeXBlLgorUEFT
UyBjcnlwdG8uc3VidGxlLmRlcml2ZUtleSh7IG5hbWU6IkVDREgiLCBwdWJsaWM6cHVibGljS2V5
IH0sIHByaXZhdGVLZXksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJobWFjIn0sIGV4dHJhY3RhYmxl
LCBbInNpZ24iXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRFcnJvciAoRE9N
IEV4Y2VwdGlvbiA5KTogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLi4KK1BBU1MgY3J5
cHRvLnN1YnRsZS5kZXJpdmVLZXkoeyBuYW1lOiJFQ0RIIiwgcHVibGljOnB1YmxpY0tleSB9LCBw
cml2YXRlS2V5LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEiLCBsZW5ndGg6IDB9LCBleHRy
YWN0YWJsZSwgWyJzaWduIl0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5u
b3QgZ2V0IGtleSBsZW5ndGggZnJvbSBkZXJpdmVkS2V5VHlwZS4KK1BBU1MgY3J5cHRvLnN1YnRs
ZS5kZXJpdmVLZXkoeyBuYW1lOiJFQ0RIIiwgcHVibGljOnB1YmxpY0tleSB9LCBwcml2YXRlS2V5
LCB7bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6IDEyOH0sIGV4dHJhY3RhYmxlLCBbXSkgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9NIEV4Y2VwdGlvbiAxMik6IEEgcmVxdWly
ZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1vZi1yYW5nZS4KK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jcnlwdG8vc3VidGxlL2Rlcml2ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBi
L0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZGVyaXZlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVy
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJiMzI1OWM3NWU5YTE0OGJmOGM3NWY0ZGFmOGMzNmM3MTQyODVl
NzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Rlcml2ZS1r
ZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbApAQCAtMCwwICsxLDc4IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IGRl
cml2ZUtleSBvcGVyYXRpb24gd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycyIpOworCitqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKwordmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsKK3ZhciBqd2tQcml2YXRl
S2V5ID0geworICAgIGt0eTogIkVDIiwKKyAgICBjcnY6ICJQLTI1NiIsCisgICAgeDogIjFGU1ZX
aWVUdmlrRmtHMU5PeWhrVUNhTWJkUWh4d0g2YUN1NEV6LXNSdEEiLAorICAgIHk6ICI5am1OVExx
TTRjakJoZEFuSGNOSTlZUVYzTzhMRm1vLUVkWldrOG50QWFJIiwKKyAgICBkOiAicHB4QlNvdjNO
OF9BVWNpc0F1dm1MVjR5RThlX0xfQkxFOGJaYjlaMVhqZyIsCit9OwordmFyIGp3a1B1YmxpY0tl
eSA9IHsKKyAgICBrdHk6ICJFQyIsCisgICAgY3J2OiAiUC0yNTYiLAorICAgIHg6ICIxRlNWV2ll
VHZpa0ZrRzFOT3loa1VDYU1iZFFoeHdINmFDdTRFei1zUnRBIiwKKyAgICB5OiAiOWptTlRMcU00
Y2pCaGRBbkhjTkk5WVFWM084TEZtby1FZFpXazhudEFhSSIsCit9OwordmFyIHJhd0tleSA9IGFz
Y2lpVG9VaW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIik7CisKKy8vIE5vdCBlbm91Z2ggYXJn
dW1lbnRzLgorc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlcml2ZUtleSgpJyk7CitzaG91
bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KDEpJyk7CitzaG91bGRSZWplY3QoJ2Ny
eXB0by5zdWJ0bGUuZGVyaXZlS2V5KDEsIDIpJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0
bGUuZGVyaXZlS2V5KDEsIDIsIDMpJyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVy
aXZlS2V5KDEsIDIsIDMsIDQpJyk7CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBq
d2tQcml2YXRlS2V5LCB7IG5hbWU6ICJFQ0RIIiwgbmFtZWRDdXJ2ZTogIlAtMjU2IiB9LCBleHRy
YWN0YWJsZSwgWyJkZXJpdmVLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwcml2
YXRlS2V5ID0gcmVzdWx0OworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandr
IiwgandrUHVibGljS2V5LCB7IG5hbWU6ICJFQ0RIIiwgbmFtZWRDdXJ2ZTogIlAtMjU2IiB9LCBl
eHRyYWN0YWJsZSwgWyBdKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGlj
S2V5ID0gcmVzdWx0OworCisgICAgLy8gTWFsZm9ybWVkIEdldEtleUxlbmd0aCBBbGdvcml0aG1J
ZGVudGlmaWVyLgorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoeyBu
YW1lOiJFQ0RIIiwgcHVibGljOnB1YmxpY0tleSB9LCBwcml2YXRlS2V5LCAiQUVTLUNCQyIsIGV4
dHJhY3RhYmxlLCBbImVuY3J5cHQiXSknKTsKKyAgICAvLyBOb3Qgc3VwcG9ydCBHZXRLZXlMZW5n
dGggQWxnb3JpdGhtSWRlbnRpZmllci4KKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUu
ZGVyaXZlS2V5KHsgbmFtZToiRUNESCIsIHB1YmxpYzpwdWJsaWNLZXkgfSwgcHJpdmF0ZUtleSwg
IlJTQUVTLVBLQ1MxLXYxXzUiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pJyk7CisgICAgc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlcml2ZUtleSh7IG5hbWU6IkVDREgiLCBwdWJsaWM6
cHVibGljS2V5IH0sIHByaXZhdGVLZXksIHtuYW1lOiAiUlNBLU9BRVAiLCBoYXNoOiAic2hhLTEi
fSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKScpOworICAgIHNob3VsZFJlamVjdCgnY3J5cHRv
LnN1YnRsZS5kZXJpdmVLZXkoeyBuYW1lOiJFQ0RIIiwgcHVibGljOnB1YmxpY0tleSB9LCBwcml2
YXRlS2V5LCB7bmFtZTogIkVDREgiLCBuYW1lZEN1cnZlOiAiUC0yNTYifSwgZXh0cmFjdGFibGUs
IFsiZW5jcnlwdCJdKScpOworCisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJy
YXciLCByYXdLZXksIHtuYW1lOiAiaG1hYyIsIGhhc2g6ICJzaGEtMSJ9LCBleHRyYWN0YWJsZSwg
WyJzaWduIiwgInZlcmlmeSJdKQorfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB3cm9u
Z0tleSA9IHJlc3VsdDsKKworICAgIC8vIE1pc21hdGNoZWQgQWxnb3JpdGhtSWRlbnRpZmllci4K
KyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KHsgbmFtZToiRUNESCIs
IHB1YmxpYzpwdWJsaWNLZXkgfSwgd3JvbmdLZXksIHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDog
MTI4fSwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCJdKScpOworCisgICAgcmV0dXJuIGNyeXB0by5z
dWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tQcml2YXRlS2V5LCB7IG5hbWU6ICJFQ0RIIiwgbmFt
ZWRDdXJ2ZTogIlAtMjU2IiB9LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVCaXRzIl0pOworfSkudGhl
bihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICB3cm9uZ0tleSA9IHJlc3VsdDsKKworICAgIC8vIFdy
b25nIHVzYWdlLgorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoeyBu
YW1lOiJFQ0RIIiwgcHVibGljOnB1YmxpY0tleSB9LCB3cm9uZ0tleSwge25hbWU6ICJhZXMtY2Jj
IiwgbGVuZ3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0Il0pJyk7CisgICAgLy8gZGVy
aXZlZEtleVR5cGUgd2l0aCB3cm9uZyBBRVMgcGFyYW1zLgorICAgIHNob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5kZXJpdmVLZXkoeyBuYW1lOiJFQ0RIIiwgcHVibGljOnB1YmxpY0tleSB9LCBw
cml2YXRlS2V5LCB7bmFtZTogImFlcy1jYmMiLCBsZW5ndGg6IDF9LCBleHRyYWN0YWJsZSwgWyJl
bmNyeXB0Il0pJyk7CisgICAgLy8gZGVyaXZlZEtleVR5cGUgd2l0aCB3cm9uZyBITUFDIHBhcmFt
cy4KKyAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KHsgbmFtZToiRUNE
SCIsIHB1YmxpYzpwdWJsaWNLZXkgfSwgcHJpdmF0ZUtleSwge25hbWU6ICJobWFjIiwgaGFzaDog
ImhtYWMifSwgZXh0cmFjdGFibGUsIFsic2lnbiJdKScpOworICAgIHNob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS5kZXJpdmVLZXkoeyBuYW1lOiJFQ0RIIiwgcHVibGljOnB1YmxpY0tleSB9LCBw
cml2YXRlS2V5LCB7bmFtZTogImhtYWMiLCBoYXNoOiAic2hhLTEiLCBsZW5ndGg6IDB9LCBleHRy
YWN0YWJsZSwgWyJzaWduIl0pJyk7CisgICAgLy8gTnVsbCB1c2FnZXMKKyAgICByZXR1cm4gc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlcml2ZUtleSh7IG5hbWU6IkVDREgiLCBwdWJsaWM6
cHVibGljS2V5IH0sIHByaXZhdGVLZXksIHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4fSwg
ZXh0cmFjdGFibGUsIFtdKScpOworfSkudGhlbihmaW5pc2hKU1Rlc3QsIGZpbmlzaEpTVGVzdCk7
CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jcnlwdG8vc3VidGxlL2Rlcml2ZUtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Rlcml2ZUtleS1tYWxmb3JtZWQtcGFyYW1l
dGVycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4YWE4ZmEw
Yjk0YjFlNTJlOTNhODE3YWI3NDk2MzA2N2VkNmZhZmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9kZXJpdmVL
ZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MTUgKzAsMCBAQAotVGVzdCBkZXJpdmVLZXkgb3BlcmF0aW9uIHdpdGggbWFsZm9ybWVkIHBhcmFt
ZXRlcnMKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgY3J5cHRvLnN1YnRs
ZS5kZXJpdmVLZXkoKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KDEpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgY3J5cHRv
LnN1YnRsZS5kZXJpdmVLZXkoMSwgMikgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLmRlcml2ZUtleSgxLCAy
LCAzKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KDEsIDIsIDMsIDQpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgY3J5cHRv
LnN1YnRsZS5kZXJpdmVLZXkoIkVDREgiLCAyLCAzLCA0LCA1KSByZWplY3RlZCBwcm9taXNlICB3
aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgb3BlcmF0aW9uIGlz
IG5vdCBzdXBwb3J0ZWQuLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZGVyaXZl
S2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2Rlcml2ZUtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4NmYxYjM0OGQ4MWIyNWU0ZTljODY2ZTk4ODcwMWFmYTc2YTM2YjIwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Ny
eXB0by9zdWJ0bGUvZGVyaXZlS2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwyNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxi
b2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
LQotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0IGRlcml2ZUtleSBvcGVyYXRpb24gd2l0aCBt
YWxmb3JtZWQgcGFyYW1ldGVycyIpOwotCi0vLyBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLXNob3Vs
ZFJlamVjdCgnY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoKScpOwotc2hvdWxkUmVqZWN0KCdjcnlw
dG8uc3VidGxlLmRlcml2ZUtleSgxKScpOwotc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRl
cml2ZUtleSgxLCAyKScpOwotc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlcml2ZUtleSgx
LCAyLCAzKScpOwotc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLmRlcml2ZUtleSgxLCAyLCAz
LCA0KScpOwotLy8gTm90IHN1cHBvcnQuCi1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUuZGVy
aXZlS2V5KCJFQ0RIIiwgMiwgMywgNCwgNSknKTsKLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2VjZGgtaW1wb3J0LWtl
eS1kZXJpdmUtYWVzLWtleS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxl
L2VjZGgtaW1wb3J0LWtleS1kZXJpdmUtYWVzLWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjcxZDRjMmIxM2M4NjkxNDk1MzBiOWE0NzJkYmYwMGExYmZhMGQzNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZWNkaC1pbXBvcnQta2V5LWRlcml2ZS1hZXMt
a2V5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0IGRlcml2aW5nIEFFUyBLZXlz
IHdpdGggaW1wb3J0ZWQgRUNESCBiYXNlIGtleQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBkZXJpdmVkS2V5LnR5cGUgaXMgJ3NlY3JldCcKK1BBU1MgZGVyaXZlZEtleS5l
eHRyYWN0YWJsZSBpcyB0cnVlCitQQVNTIGRlcml2ZWRLZXkuYWxnb3JpdGhtLm5hbWUgaXMgJ0FF
Uy1DQkMnCitQQVNTIGRlcml2ZWRLZXkuYWxnb3JpdGhtLmxlbmd0aCBpcyAxMjgKK1BBU1MgZGVy
aXZlZEtleS51c2FnZXMgaXMgWydkZWNyeXB0JywgJ2VuY3J5cHQnLCAndW53cmFwS2V5JywgJ3dy
YXBLZXknXQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvZWNkaC1pbXBvcnQta2V5
LWRlcml2ZS1hZXMta2V5Lmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2VjZGgtaW1w
b3J0LWtleS1kZXJpdmUtYWVzLWtleS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4YTMwNjFmY2U1OTJkZDVj
NzQyYTA1ZjM3NDExNWY3Zjg4ZjI0ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
cnlwdG8vc3VidGxlL2VjZGgtaW1wb3J0LWtleS1kZXJpdmUtYWVzLWtleS5odG1sCkBAIC0wLDAg
KzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIlRlc3QgZGVyaXZpbmcgQUVTIEtleXMgd2l0aCBpbXBvcnRlZCBFQ0RIIGJh
c2Uga2V5Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0
cnVlOwordmFyIGp3a1ByaXZhdGVLZXkgPSB7CisgICAga3R5OiAiRUMiLAorICAgIGNydjogIlAt
MjU2IiwKKyAgICB4OiAiMUZTVldpZVR2aWtGa0cxTk95aGtVQ2FNYmRRaHh3SDZhQ3U0RXotc1J0
QSIsCisgICAgeTogIjlqbU5UTHFNNGNqQmhkQW5IY05JOVlRVjNPOExGbW8tRWRaV2s4bnRBYUki
LAorICAgIGQ6ICJwcHhCU292M044X0FVY2lzQXV2bUxWNHlFOGVfTF9CTEU4YlpiOVoxWGpnIiwK
K307Cit2YXIgandrUHVibGljS2V5ID0geworICAgIGt0eTogIkVDIiwKKyAgICBjcnY6ICJQLTI1
NiIsCisgICAgeDogIjFGU1ZXaWVUdmlrRmtHMU5PeWhrVUNhTWJkUWh4d0g2YUN1NEV6LXNSdEEi
LAorICAgIHk6ICI5am1OVExxTTRjakJoZEFuSGNOSTlZUVYzTzhMRm1vLUVkWldrOG50QWFJIiwK
K307CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tQcml2YXRlS2V5LCB7IG5h
bWU6ICJFQ0RIIiwgbmFtZWRDdXJ2ZTogIlAtMjU2IiB9LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVL
ZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0Owor
ICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgiandrIiwgandrUHVibGljS2V5LCB7
IG5hbWU6ICJFQ0RIIiwgbmFtZWRDdXJ2ZTogIlAtMjU2IiB9LCBleHRyYWN0YWJsZSwgWyBdKTsK
K30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworICAg
IHJldHVybiBjcnlwdG8uc3VidGxlLmRlcml2ZUtleSh7IG5hbWU6IkVDREgiLCBwdWJsaWM6cHVi
bGljS2V5IH0sIHByaXZhdGVLZXksIHtuYW1lOiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4fSwgZXh0
cmFjdGFibGUsIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10p
OworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBkZXJpdmVkS2V5ID0gcmVzdWx0Owor
CisgICAgc2hvdWxkQmUoImRlcml2ZWRLZXkudHlwZSIsICInc2VjcmV0JyIpOworICAgIHNob3Vs
ZEJlKCJkZXJpdmVkS2V5LmV4dHJhY3RhYmxlIiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiZGVy
aXZlZEtleS5hbGdvcml0aG0ubmFtZSIsICInQUVTLUNCQyciKTsKKyAgICBzaG91bGRCZSgiZGVy
aXZlZEtleS5hbGdvcml0aG0ubGVuZ3RoIiwgIjEyOCIpOworICAgIHNob3VsZEJlKCJkZXJpdmVk
S2V5LnVzYWdlcyIsICJbJ2RlY3J5cHQnLCAnZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtl
eSddIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9lY2RoLWlt
cG9ydC1rZXktZGVyaXZlLWhtYWMta2V5LWN1c3RvbS1sZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9lY2RoLWltcG9ydC1rZXktZGVyaXZlLWhtYWMta2V5LWN1
c3RvbS1sZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyMGU2MDRiM2ZjY2M0YjBkNDE3
Y2YxNDhiYWFiNTEyMzAyNzc0ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL2VjZGgtaW1wb3J0LWtleS1kZXJpdmUtaG1hYy1rZXktY3VzdG9tLWxlbmd0aC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBkZXJpdmluZyBITUFDIEtleXMgd2l0
aCBpbXBvcnRlZCBFQ0RIIGJhc2Uga2V5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGRlcml2ZWRLZXkudHlwZSBpcyAnc2VjcmV0JworUEFTUyBkZXJpdmVkS2V5LmV4dHJh
Y3RhYmxlIGlzIHRydWUKK1BBU1MgZGVyaXZlZEtleS5hbGdvcml0aG0ubmFtZSBpcyAnSE1BQycK
K1BBU1MgZGVyaXZlZEtleS5hbGdvcml0aG0ubGVuZ3RoIGlzIDEyOAorUEFTUyBkZXJpdmVkS2V5
LmFsZ29yaXRobS5oYXNoLm5hbWUgaXMgJ1NIQS0xJworUEFTUyBkZXJpdmVkS2V5LnVzYWdlcyBp
cyBbJ3NpZ24nLCAndmVyaWZ5J10KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL2Vj
ZGgtaW1wb3J0LWtleS1kZXJpdmUtaG1hYy1rZXktY3VzdG9tLWxlbmd0aC5odG1sIGIvTGF5b3V0
VGVzdHMvY3J5cHRvL3N1YnRsZS9lY2RoLWltcG9ydC1rZXktZGVyaXZlLWhtYWMta2V5LWN1c3Rv
bS1sZW5ndGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTBlMDlhMDY2NDAwOWJkZWQ1N2U5MTU3ZGQzNWEy
NTcxMDQ1N2RiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS9l
Y2RoLWltcG9ydC1rZXktZGVyaXZlLWhtYWMta2V5LWN1c3RvbS1sZW5ndGguaHRtbApAQCAtMCww
ICsxLDU0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJUZXN0IGRlcml2aW5nIEhNQUMgS2V5cyB3aXRoIGltcG9ydGVkIEVDREgg
YmFzZSBrZXkiKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9
IHRydWU7Cit2YXIgandrUHJpdmF0ZUtleSA9IHsKKyAgICBrdHk6ICJFQyIsCisgICAgY3J2OiAi
UC0yNTYiLAorICAgIHg6ICIxRlNWV2llVHZpa0ZrRzFOT3loa1VDYU1iZFFoeHdINmFDdTRFei1z
UnRBIiwKKyAgICB5OiAiOWptTlRMcU00Y2pCaGRBbkhjTkk5WVFWM084TEZtby1FZFpXazhudEFh
SSIsCisgICAgZDogInBweEJTb3YzTjhfQVVjaXNBdXZtTFY0eUU4ZV9MX0JMRThiWmI5WjFYamci
LAorfTsKK3ZhciBqd2tQdWJsaWNLZXkgPSB7CisgICAga3R5OiAiRUMiLAorICAgIGNydjogIlAt
MjU2IiwKKyAgICB4OiAiMUZTVldpZVR2aWtGa0cxTk95aGtVQ2FNYmRRaHh3SDZhQ3U0RXotc1J0
QSIsCisgICAgeTogIjlqbU5UTHFNNGNqQmhkQW5IY05JOVlRVjNPOExGbW8tRWRaV2s4bnRBYUki
LAorfTsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoImp3ayIsIGp3a1ByaXZhdGVLZXksIHsg
bmFtZTogIkVDREgiLCBuYW1lZEN1cnZlOiAiUC0yNTYiIH0sIGV4dHJhY3RhYmxlLCBbImRlcml2
ZUtleSJdKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHByaXZhdGVLZXkgPSByZXN1bHQ7
CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJqd2siLCBqd2tQdWJsaWNLZXks
IHsgbmFtZTogIkVDREgiLCBuYW1lZEN1cnZlOiAiUC0yNTYiIH0sIGV4dHJhY3RhYmxlLCBbIF0p
OworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBwdWJsaWNLZXkgPSByZXN1bHQ7Cisg
ICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KHsgbmFtZToiRUNESCIsIHB1YmxpYzpw
dWJsaWNLZXkgfSwgcHJpdmF0ZUtleSwge25hbWU6ICJobWFjIiwgaGFzaDogInNoYS0xIiwgbGVu
Z3RoOiAxMjh9LCBleHRyYWN0YWJsZSwgWydzaWduJywgJ3ZlcmlmeSddKTsKK30pLnRoZW4oZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAgZGVyaXZlZEtleSA9IHJlc3VsdDsKKworICAgIHNob3VsZEJl
KCJkZXJpdmVkS2V5LnR5cGUiLCAiJ3NlY3JldCciKTsKKyAgICBzaG91bGRCZSgiZGVyaXZlZEtl
eS5leHRyYWN0YWJsZSIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoImRlcml2ZWRLZXkuYWxnb3Jp
dGhtLm5hbWUiLCAiJ0hNQUMnIik7CisgICAgc2hvdWxkQmUoImRlcml2ZWRLZXkuYWxnb3JpdGht
Lmxlbmd0aCIsICIxMjgiKTsKKyAgICBzaG91bGRCZSgiZGVyaXZlZEtleS5hbGdvcml0aG0uaGFz
aC5uYW1lIiwgIidTSEEtMSciKTsKKyAgICBzaG91bGRCZSgiZGVyaXZlZEtleS51c2FnZXMiLCAi
WydzaWduJywgJ3ZlcmlmeSddIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworCis8L3Nj
cmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS91bndyYXAta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvdW53cmFwLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y4ZWMxYjc4ZDQ5MGVmM2M3OTYyYmFlMGEwZGQzYzZh
YWE2OWUyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvdW53
cmFwLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBA
QAorVGVzdCBVbndyYXBLZXkgb3BlcmF0aW9uIHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY3J5cHRvLnN1YnRsZS51bndyYXBL
ZXkoKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMuCitQQVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KDEpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS51
bndyYXBLZXkoMSwgMikgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAyLCAzKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNT
IGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KDEsIDIsIDMsIDQpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgY3J5cHRvLnN1YnRsZS51
bndyYXBLZXkoMSwgMiwgMywgNCwgNSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAy
LCAzLCA0LCA1LCA2KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCitQQVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJyYXciLCB3cmFwcGVk
UmF3S2V5LCB1bndyYXBwaW5nS2V5LCAiSE1BQyIsICJBRVMtQ0JDIiwgZXh0cmFjdGFibGUsIFsi
ZW5jcnlwdCIsICJkZWNyeXB0Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggTm90U3VwcG9ydGVk
RXJyb3IgKERPTSBFeGNlcHRpb24gOSk6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4u
CitQQVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJyYXciLCB3cmFwcGVkUmF3S2V5LCB1bndy
YXBwaW5nS2V5LCBhZXNDYmNQYXJhbXMsICJBRVMtQ0JDIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlw
dCIsICJkZWNyeXB0Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52YWxpZEFjY2Vzc0Vycm9y
IChET00gRXhjZXB0aW9uIDE1KTogVW53cmFwcGluZyBDcnlwdG9LZXkgZG9lc24ndCBtYXRjaCB1
bndyYXAgQWxnb3JpdGhtSWRlbnRpZmllci4KK1BBU1MgY3J5cHRvLnN1YnRsZS51bndyYXBLZXko
Imp3ayIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXksICJBRVMtS1ciLCAiQUVTLUNCQyIs
IGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIERhdGFFcnJvciAoRE9NIEV4Y2VwdGlvbiAzMCk6IFdyYXBwZWRLZXkgY2Fubm90IGJlIGNv
bnZlcnRlZCB0byBhIEpTT04gb2JqZWN0LgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgi
cmF3Iiwgd3JhcHBlZFJhd0tleSwgdW53cmFwcGluZ0tleSwgIkFFUy1LVyIsICJBRVMtQ0JDIiwg
ZXh0cmFjdGFibGUsIFsgXSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9N
IEV4Y2VwdGlvbiAxMik6IEEgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1v
Zi1yYW5nZS4KK1BBU1MgY3J5cHRvLnN1YnRsZS51bndyYXBLZXkoImp3ayIsIHdyYXBwZWRKd2tL
ZXksIHVud3JhcHBpbmdLZXksIGFlc0NiY1BhcmFtcywge25hbWU6ICJSU0EtT0FFUCIsIGhhc2g6
ICJTSEEtMSJ9LCBleHRyYWN0YWJsZSwgWyBdKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFN5bnRh
eEVycm9yIChET00gRXhjZXB0aW9uIDEyKTogQSByZXF1aXJlZCBwYXJhbWV0ZXIgd2FzIG1pc3Np
bmcgb3Igb3V0LW9mLXJhbmdlLgorUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwg
d3JhcHBlZFJhd0tleSwgdW53cmFwcGluZ0tleSwgIkFFUy1LVyIsICJBRVMtQ0JDIiwgZXh0cmFj
dGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Il0pIHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52
YWxpZEFjY2Vzc0Vycm9yIChET00gRXhjZXB0aW9uIDE1KTogVW53cmFwcGluZyBDcnlwdG9LZXkg
ZG9lc24ndCBzdXBwb3J0IHVud3JhcEtleSBvcGVyYXRpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3J5cHRvL3N1YnRsZS91bndyYXAta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlv
dXRUZXN0cy9jcnlwdG8vc3VidGxlL3Vud3JhcC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42MTcwMzQ4NjU5ODIyMDViNjE3MzhkNmQzYmJjMGQ5NGJkNjk1Yzk3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS91bndyYXAta2V5LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKQEAgLTAsMCArMSw2NSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBVbndyYXBL
ZXkgb3BlcmF0aW9uIHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMiKTsKKworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK3ZhciBleHRyYWN0YWJsZSA9IHRydWU7Cit2YXIgcmF3S2V5ID0gYXNjaWlU
b1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBhZXNDYmNQYXJhbXMgPSB7Cisg
ICAgbmFtZTogImFlcy1jYmMiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09a
RkxJRVBNciIpLAorfQordmFyIHdyYXBwZWRSYXdLZXkgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXko
ImQ2NDc4N2FiM2UwNDhkYmRjMzBiYjYyNzgxYzlmMThlNThhZDdkYmZjNjRhYWIxNiIpOwordmFy
IHdyYXBwZWRKd2tLZXkgPSBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoICI4NDhhYTJmNzBlZTE4ZTI5
NTM1MjAxMzJhNzljZjQ3OWIwM2E4NzMyYTNjYzczZjhjNTFjNjg0NTZkM2MyNTU3ZThiZTlkNTkx
MWIyYTc0MjY3ZTI4MmE4N2ZmZWVkODhkZmJhYzM4YTIyYzI2YmE2MjFmODM5MTVkNzUzOTQyMGE0
ZGMwYjIzMjljNTg1YjQ0Mjk2NzM2N2MxZWE2YzExMjZmOThjNGYxM2I3YzhjYjc0MDJiODZhNTg0
NGMxOTQyMGVhMzMzZGMzM2Q5MDhiZTg5MTcyZjhiYWM1OWI0MDNmZTIwMmYzMmM4ZWVkMTlmNDMx
Y2VkZmMzMzgzZjUzNmYzNTU3MTYzYjEzMTFhZTQyZWU1NDg2YzZkYWZlZTk2ODY0MGQ2YjY5OTlj
Njg3ZjM3ZmJhOGQ2NWNjNjYyZjFjODRmMTYyNDU2NjVlNGFmNDFjOThlOGI2MzYzMmNjMWQxOWUy
YmVjZTIxNTRjN2VhYjE5MDVmM2Y2YWIxN2I0OTVjZWZlYzM1MDhlOWI0NTFmMmVhMTQyMmI5N2Yy
NzVkZmRjMTE4ZjQ2YWYwMjA0MDI1MGQwZTU1ZDhkOGQxNzJiOTY5YmJjZjczMTRhMjU3ZjEwYjk4
ZDJjNDdjNmM3MmE3MjdhY2FmNGM5NjM0MGQ1OTBlYmNlYmM2MWY3M2I3YTg2OGI0OTBmM2MxZTE3
YzU5ZWE0NzlhM2I4ZGI1NTc0MTUzZGU0NmNmZGJiMDdjZmM1ZTk1ZWJjZjdhZDNkNWZhMDU3YmE5
NDZkNmRhODcyYzRiZWYzYWY2ZDcwMTNlMjIyYzIyNzY1MGQwMDIyYzk0ZDMwNmNiMTRlMjAzYWFk
Mzc4ZDE3MWM3YzI0ZjgyNGMzMWI4MWZkMTgyNjVlMGRlMmY0YjQxNTU4NGViYzRhZGViNTg4MGM0
ZWRkYmM4OGI4NTQ2OTlmN2FhNzRkNmExMGNhNWRmODk3OGYyN2I1ZDEzNzJiMzFlYTY3YTljNDg0
MWFlMTAxZWE2YWQ3OGRmMDU4MGI3MDM1OGU2OTMzYWM5MmY3ZmFlZTUzMjBhZjMyOWQ4MzQ5YTdi
OTg2OTA3MDhhMzg4NzM3NjA0YmUwYWZmYWEwNjY5NDEwZDhkOTNkYzRlNGY1N2UxNDU4MzI1M2Yx
MWU1YjI3Yzg5Yjg0ZjFmMzAzOGJhZTZkOWIzN2UzZWI2NGI2M2FkMTg4MDYyN2FlZjNiMTllM2U4
NTFjZmFlNjM5ZWM0NmRkMDZmZDEzMWI1MWY1MzBiMzcyNjBiODM2ZDkwMTNkOGFkN2M4NjQwMDk2
MDcwZjk2OTg0YzUyOGVlNWUyMGI2OWYzY2Q5OGEyNjk2MjFjZDg4NmNjYjE2ZDljNTI2YTg3Y2Q1
YzQ1ODU0MTMwOWJiN2ZhNGYzMzM3MzA1ZDc2ZmMwNTBkMzljYThiMWZkYjA2NzVhMTFhNDBmZmRl
OWNlYmIzM2RkYzQ4NWU1ZGM1ZTc2NjdiMDhjMmEzZTAxMzZkMDYzYTQ0N2FlZTVhOGY2NTA0Mjlj
NWU0MjJhNzA2YzRjMjQwYTRkMTFmNGE5YjU3ODJmMmNiYTI1NzVmMGMzMmNiNDc3YTlmMGNlZjk3
ZmE5OTM5NzcxMDQxODEzMTVmZjkwZTQ2ZjNiMTJiOGIwMGY0YTc2MTFjNDJiMWJiNTNkMGU2MDIx
YWIyMWVlOGFlNjA2ZDlmMDZkZmVkYjg5MTc2MzAwN2UwMjA5NzdjMjhiNDZkNWYzM2JjMzVjMTIw
NjFkOTBlYmJlMDJjYWI1ODc4M2MwY2FjMGM2ZjE0ZWQ3MzUyMDRmMjNkMGViNmE5ZmU5ZWRlYTJh
ZWNiMWFjMjEzZjU4YjQyZDVkOTYzNzRlYzcwY2EyODhhMzEwMTZiYTAyYWRlZjQzMjUwZDcxN2U5
ZmFiODk4MmExYTE4MGIxZjM5NDRkNDUwYzE1OTAxMGZkMjNmMzU0ZDg4NTAyZWM3MDI4ODJhZTNl
ZGQ1NjdjNmE2ZWRmM2NiMmUzNGVkYzEzZjQxMGEyNWQ5NzI5OGFiOTA2MmRkYjU2NjU3NmZhOGI2
NTk5YmJhMjA1YmFiNTVhYTVmM2YzN2VkYWY3NzMzY2YyNDllNjljNzRkYTk3NWVmMjQ5Y2E2NzNk
YTc0OWQ4NmJhYmViZGY1NTQxMGEzODk3MjBhYzk0M2YxZTlkOTIxZjVkNjljNTc4OTYzNmNiOTA0
ZmI5MjYzNzQ0MjM2ZWFkZTlhY2FlODg5YTAxYzIzN2FiMzQzNjEwMTQ2M2RmYTlkOTJmOTM2YzFi
NjUyYzgwZjNhYmJhNzYwMjNlYmU1YjliZmRkNTQ3MzVlM2EzNDk0ZGUxOGE0NTY5NjdmNTg3NThl
NTQ2MDIxZmVlZjNmYTNlNmMyMzk5ODFhYTA2ZjFmN2RkYzQxNWQ5NTdmZjk5MTliYmVjNWYzNmFm
MDkyYTgxYmE2YzE0ZmU2NDRkMmVlOThhMmZjZGVlMmVkNzBiODdhNTNmZmEzMjdiMjViNDU2OWM1
ODg2YjE1ZjJiZDU4M2Q2ZjViZDdlOTUxYTkxNTE0MmJhYTA4YzZhOWMzNDNjMjAwNjc4YTAwNWZh
ZDIyYTMzN2QyYzU2MjdmOGM4MTZkYjI1MjVhN2UxMjE4NDliOWRhNzU2ZWVlNjhhMjQwNDUyODQ5
ZmZkYjk2NTFmOTk4MjU3YzYyZThmZGNkYzQ4ZGFkZmMzZWJiMThmN2ViNTQ2MTQ0MjAwODg0NmE2
MjllYzgxNDljMDUyZjM1N2JmNTg4OTA5NTA0N2IyNzJiY2UwZmY1MDU5NTNlN2NkNTI1YjI0Yzgz
OGJhNmU5ZWQ5MTkyMmEzMGVlYjg1OGRlODU1NmYxOWY3NjFkMDI4N2Q3Njg4NzYzNDZhNWRjYWMz
ZGJhZGQ3YTMwMDcyYzkzMzgxNjJiZTU4MTIxNjZkOTYxZjQwMzFmOTYyZWY2Njg3ODFkMzlkMGZj
NjlmZTVmNDQ5NGUzMWVjMDgyZDRhMDE0MGUzNjhiNjk5NzViZWViYTEyMGVmOWI2NTFlYWQ1MzFi
NGQ0NDI5NmJkM2NmZTJjZTdmOTdiYjViYjQ5MjEwNjFiMTJjMmUxYzRjMTA5MjhjMDk4MGZmOGQ0
ODhhMjI4MmQwYzA1NmE0MDI2MDE2NzQxMGUzOTY2NGY3NWZmMWYxMjQ5ODIwZTE3NGVlZDk3ODMx
OGEwNWU2NTRiOGFhNmM2MGI3MDAwMWE3YTA0ZjBhZmYxNzU5N2RkOWFiM2NjYzM0ZjViYTJlMzUy
YjcyNDRkZDNkY2NiNDYyZDcxNzViOTVhZTM5NzBlYzU4NThlMjMxMmFhYzdjMmM3OWEzN2I1M2Qw
ODlmOTg4NzIwYTRjMDRkZjYzMjhhMzg0MDA0ZDBkNTFlYWZiOTQ4NjYyMzA5OWE5OGU2OWJlNTE2
OTIwMWM4ODgyNGFjYzJiYjBlMTc5MDg4OTAxNGExNzk3YzE2OGU5OGQxOWYwNzg3YzI5MzVjZmJj
M2JmMjRjNGFkYWQ2OWE4MWUwZTZhZGY4YzIxZTNjNDc4OTA2NGFhMzFhMDI1ZGZmNWNjNmVhYmEz
ZjNlNDNmMTBhOWQ1MzFmNDc5NjMzNzIxMjBlMjM2NmI4NGMyODFlZDk2OGQ5ZDExYzFkMTAzODI2
YzkzNjI3NDFlMTI2N2QxYTNlOGQyMTg4NzYxZmE4NzZiN2IwOTYxN2RmMTQxMzBjMDcyMDlmMWYx
MTg4ZmY0MDk3MWI4NjYwN2RlZTE0ZDU1NmE4ODA0NDc5MDFjNjlkMjljYjE2YzAyN2MzYWFlMzE2
ZmYwMDEzMmJkZmNkMGUzOWM1ZTIwMTI1MmM5NzcxNDgzY2NiMjc1YjBjNjdiM2NiNGRjZDE5MTk4
Yzc3MTg2MzQ0NjAyNTRkZmQ2ZjhkZjQzNzRiOGJlZGVlN2RkMjBjZTQxMWI1Zjk4N2NhYzJjZTE3
NDkyYWE3OGY5MTljNmQ1ZTU1NTAwMGY0N2Y3YjhhOTg5NmQ0NDhiYzRmYzEzZTQwYTllNWMwMjI1
OGQ1MDlhNzI4OWY0NGQ3MjUwZTg5MjYwMjMzYmY5NjcwMmJiM2QzNTA0NTFmMDNkODAyZTBlMzdk
OWYwMWNjZTRjNzg4Njk0MDM0OTNlYjk4OTBjMmMwOTEwOWQxZjQyN2Y1OWNmMDkxY2QxYzgzNmUy
NWE5YmIwNjUwNDE0MDdjMjE4M2Y2NDNiY2UyZTcyZGIxZTdjYWVhYzQyZTJkODM3OWY4Yjg0ZGYy
Y2M3YjFkMDU1ZjQyZDZmNjJlMGNiNTc3MWExNGFlODg3Mjc5MjM1MGU1Zjc3MDExNWE4NjU2NGY2
MGE3ODVjNTMzMjVjOGMwODRhZmUyMTRkYTNjYWMxNzgzZTJiZTkwOTlkOTZkZGJlOWNjM2VhM2Rk
MWQzYWU1MDUyNmI0YWZlMjQzOTc0MjBhM2U0ZmE2OTc2MTM0MjEiKTsKKworLy8gTm90IGVub3Vn
aCBhcmd1bWVudHMuCitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUudW53cmFwS2V5KCknKTsK
K3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS51bndyYXBLZXkoMSknKTsKK3Nob3VsZFJlamVj
dCgnY3J5cHRvLnN1YnRsZS51bndyYXBLZXkoMSwgMiknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRv
LnN1YnRsZS51bndyYXBLZXkoMSwgMiwgMyknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRs
ZS51bndyYXBLZXkoMSwgMiwgMywgNCknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS51
bndyYXBLZXkoMSwgMiwgMywgNCwgNSknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS51
bndyYXBLZXkoMSwgMiwgMywgNCwgNSwgNiknKTsKKworY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXko
InJhdyIsIHJhd0tleSwgImFlcy1rdyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFw
S2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgdW53cmFwcGluZ0tleSA9IHJlc3Vs
dDsKKworICAgIC8vIFdyb25nIEFsZ29yaXRobUlkZW50aWZpZXIKKyAgICBzaG91bGRSZWplY3Qo
J2NyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJyYXciLCB3cmFwcGVkUmF3S2V5LCB1bndyYXBwaW5n
S2V5LCAiSE1BQyIsICJBRVMtQ0JDIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0
Il0pJyk7CisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwg
d3JhcHBlZFJhd0tleSwgdW53cmFwcGluZ0tleSwgYWVzQ2JjUGFyYW1zLCAiQUVTLUNCQyIsIGV4
dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKScpOworICAgIC8vIFdyb25nIGZvcm1h
dAorICAgIHJldHVybiBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUudW53cmFwS2V5KCJqd2si
LCB3cmFwcGVkUmF3S2V5LCB1bndyYXBwaW5nS2V5LCAiQUVTLUtXIiwgIkFFUy1DQkMiLCBleHRy
YWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiXSknKTsKK30pLnRoZW4oZnVuY3Rpb24oKSB7
CisgICAgLy8gRW1wdHkgdXNhZ2VzCisgICAgcmV0dXJuIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1
YnRsZS51bndyYXBLZXkoInJhdyIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXksICJBRVMt
S1ciLCAiQUVTLUNCQyIsIGV4dHJhY3RhYmxlLCBbIF0pJyk7Cit9KS50aGVuKGZ1bmN0aW9uKCkg
eworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVz
LWNiYyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pOworfSkudGhlbihm
dW5jdGlvbihyZXN1bHQpIHsKKyAgICB1bndyYXBwaW5nS2V5ID0gcmVzdWx0OworCisgICAgLy8g
RW1wdHkgdXNhZ2VzCisgICAgcmV0dXJuIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS51bndy
YXBLZXkoImp3ayIsIHdyYXBwZWRKd2tLZXksIHVud3JhcHBpbmdLZXksIGFlc0NiY1BhcmFtcywg
e25hbWU6ICJSU0EtT0FFUCIsIGhhc2g6ICJTSEEtMSJ9LCBleHRyYWN0YWJsZSwgWyBdKScpOwor
fSkudGhlbihmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXko
InJhdyIsIHJhd0tleSwgImFlcy1rdyIsIGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiXSk7Cit9KS50
aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgIHVud3JhcHBpbmdLZXkgPSByZXN1bHQ7CisKKyAg
ICAvLyBXcm9uZyB1c2FnZQorICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS51bndyYXBL
ZXkoInJhdyIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXksICJBRVMtS1ciLCAiQUVTLUNC
QyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKScpLnRoZW4oZmluaXNoSlNU
ZXN0KTsKK30pOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS91bndyYXBLZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS91bndyYXBLZXktbWFsZm9y
bWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3ZjhlYzFiNzhkNDkwZWYzYzc5NjJiYWUwYTBkZDNjNmFhYTY5ZTIzLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvdW53cmFwS2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDIyICswLDAgQEAKLVRlc3QgVW53cmFwS2V5IG9wZXJhdGlvbiB3aXRoIG1hbGZv
cm1lZCBwYXJhbWV0ZXJzCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGNy
eXB0by5zdWJ0bGUudW53cmFwS2V5KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1Q
QVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KDEsIDIpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
VHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgY3J5cHRvLnN1YnRsZS51bndy
YXBLZXkoMSwgMiwgMykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAyLCAzLCA0KSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1Q
QVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5KDEsIDIsIDMsIDQsIDUpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgY3J5cHRvLnN1
YnRsZS51bndyYXBLZXkoMSwgMiwgMywgNCwgNSwgNikgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBjcnlwdG8uc3VidGxlLnVud3Jh
cEtleSgicmF3Iiwgd3JhcHBlZFJhd0tleSwgdW53cmFwcGluZ0tleSwgIkhNQUMiLCAiQUVTLUNC
QyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgb3BlcmF0aW9u
IGlzIG5vdCBzdXBwb3J0ZWQuLgotUEFTUyBjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwg
d3JhcHBlZFJhd0tleSwgdW53cmFwcGluZ0tleSwgYWVzQ2JjUGFyYW1zLCAiQUVTLUNCQyIsIGV4
dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IEludmFsaWRBY2Nlc3NFcnJvciAoRE9NIEV4Y2VwdGlvbiAxNSk6IFVud3JhcHBpbmcgQ3J5cHRv
S2V5IGRvZXNuJ3QgbWF0Y2ggdW53cmFwIEFsZ29yaXRobUlkZW50aWZpZXIuCi1QQVNTIGNyeXB0
by5zdWJ0bGUudW53cmFwS2V5KCJqd2siLCB3cmFwcGVkUmF3S2V5LCB1bndyYXBwaW5nS2V5LCAi
QUVTLUtXIiwgIkFFUy1DQkMiLCBleHRyYWN0YWJsZSwgWyJlbmNyeXB0IiwgImRlY3J5cHQiXSkg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBEYXRhRXJyb3IgKERPTSBFeGNlcHRpb24gMzApOiBXcmFw
cGVkS2V5IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gYSBKU09OIG9iamVjdC4KLVBBU1MgY3J5cHRv
LnN1YnRsZS51bndyYXBLZXkoInJhdyIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXksICJB
RVMtS1ciLCAiQUVTLUNCQyIsIGV4dHJhY3RhYmxlLCBbIF0pIHJlamVjdGVkIHByb21pc2UgIHdp
dGggU3ludGF4RXJyb3IgKERPTSBFeGNlcHRpb24gMTIpOiBBIHJlcXVpcmVkIHBhcmFtZXRlciB3
YXMgbWlzc2luZyBvciBvdXQtb2YtcmFuZ2UuCi1QQVNTIGNyeXB0by5zdWJ0bGUudW53cmFwS2V5
KCJqd2siLCB3cmFwcGVkSndrS2V5LCB1bndyYXBwaW5nS2V5LCBhZXNDYmNQYXJhbXMsIHtuYW1l
OiAiUlNBLU9BRVAiLCBoYXNoOiAiU0hBLTEifSwgZXh0cmFjdGFibGUsIFsgXSkgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBTeW50YXhFcnJvciAoRE9NIEV4Y2VwdGlvbiAxMik6IEEgcmVxdWlyZWQg
cGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIG91dC1vZi1yYW5nZS4KLVBBU1MgY3J5cHRvLnN1YnRs
ZS51bndyYXBLZXkoInJhdyIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXksICJBRVMtS1ci
LCAiQUVTLUNCQyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIEludmFsaWRBY2Nlc3NFcnJvciAoRE9NIEV4Y2VwdGlvbiAxNSk6IFVu
d3JhcHBpbmcgQ3J5cHRvS2V5IGRvZXNuJ3Qgc3VwcG9ydCB1bndyYXBLZXkgb3BlcmF0aW9uLgot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvdW53cmFwS2V5LW1hbGZvcm1lZC1wYXJh
bWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3Vud3JhcEtleS1tYWxmb3Jt
ZWQtcGFyYW1ldGVycy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MTcwMzQ4
NjU5ODIyMDViNjE3MzhkNmQzYmJjMGQ5NGJkNjk1Yzk3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0bGUvdW53cmFw
S2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvY29tbW9uLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4KLWRlc2Ny
aXB0aW9uKCJUZXN0IFVud3JhcEtleSBvcGVyYXRpb24gd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVy
cyIpOwotCi1qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotdmFyIGV4dHJhY3RhYmxlID0gdHJ1ZTsK
LXZhciByYXdLZXkgPSBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIpOwotdmFy
IGFlc0NiY1BhcmFtcyA9IHsKLSAgICBuYW1lOiAiYWVzLWNiYyIsCi0gICAgaXY6IGFzY2lpVG9V
aW50OEFycmF5KCJqbk93OTlvT1pGTElFUE1yIiksCi19Ci12YXIgd3JhcHBlZFJhd0tleSA9IGhl
eFN0cmluZ1RvVWludDhBcnJheSgiZDY0Nzg3YWIzZTA0OGRiZGMzMGJiNjI3ODFjOWYxOGU1OGFk
N2RiZmM2NGFhYjE2Iik7Ci12YXIgd3JhcHBlZEp3a0tleSA9IGhleFN0cmluZ1RvVWludDhBcnJh
eSggIjg0OGFhMmY3MGVlMThlMjk1MzUyMDEzMmE3OWNmNDc5YjAzYTg3MzJhM2NjNzNmOGM1MWM2
ODQ1NmQzYzI1NTdlOGJlOWQ1OTExYjJhNzQyNjdlMjgyYTg3ZmZlZWQ4OGRmYmFjMzhhMjJjMjZi
YTYyMWY4MzkxNWQ3NTM5NDIwYTRkYzBiMjMyOWM1ODViNDQyOTY3MzY3YzFlYTZjMTEyNmY5OGM0
ZjEzYjdjOGNiNzQwMmI4NmE1ODQ0YzE5NDIwZWEzMzNkYzMzZDkwOGJlODkxNzJmOGJhYzU5YjQw
M2ZlMjAyZjMyYzhlZWQxOWY0MzFjZWRmYzMzODNmNTM2ZjM1NTcxNjNiMTMxMWFlNDJlZTU0ODZj
NmRhZmVlOTY4NjQwZDZiNjk5OWM2ODdmMzdmYmE4ZDY1Y2M2NjJmMWM4NGYxNjI0NTY2NWU0YWY0
MWM5OGU4YjYzNjMyY2MxZDE5ZTJiZWNlMjE1NGM3ZWFiMTkwNWYzZjZhYjE3YjQ5NWNlZmVjMzUw
OGU5YjQ1MWYyZWExNDIyYjk3ZjI3NWRmZGMxMThmNDZhZjAyMDQwMjUwZDBlNTVkOGQ4ZDE3MmI5
NjliYmNmNzMxNGEyNTdmMTBiOThkMmM0N2M2YzcyYTcyN2FjYWY0Yzk2MzQwZDU5MGViY2ViYzYx
ZjczYjdhODY4YjQ5MGYzYzFlMTdjNTllYTQ3OWEzYjhkYjU1NzQxNTNkZTQ2Y2ZkYmIwN2NmYzVl
OTVlYmNmN2FkM2Q1ZmEwNTdiYTk0NmQ2ZGE4NzJjNGJlZjNhZjZkNzAxM2UyMjJjMjI3NjUwZDAw
MjJjOTRkMzA2Y2IxNGUyMDNhYWQzNzhkMTcxYzdjMjRmODI0YzMxYjgxZmQxODI2NWUwZGUyZjRi
NDE1NTg0ZWJjNGFkZWI1ODgwYzRlZGRiYzg4Yjg1NDY5OWY3YWE3NGQ2YTEwY2E1ZGY4OTc4ZjI3
YjVkMTM3MmIzMWVhNjdhOWM0ODQxYWUxMDFlYTZhZDc4ZGYwNTgwYjcwMzU4ZTY5MzNhYzkyZjdm
YWVlNTMyMGFmMzI5ZDgzNDlhN2I5ODY5MDcwOGEzODg3Mzc2MDRiZTBhZmZhYTA2Njk0MTBkOGQ5
M2RjNGU0ZjU3ZTE0NTgzMjUzZjExZTViMjdjODliODRmMWYzMDM4YmFlNmQ5YjM3ZTNlYjY0YjYz
YWQxODgwNjI3YWVmM2IxOWUzZTg1MWNmYWU2MzllYzQ2ZGQwNmZkMTMxYjUxZjUzMGIzNzI2MGI4
MzZkOTAxM2Q4YWQ3Yzg2NDAwOTYwNzBmOTY5ODRjNTI4ZWU1ZTIwYjY5ZjNjZDk4YTI2OTYyMWNk
ODg2Y2NiMTZkOWM1MjZhODdjZDVjNDU4NTQxMzA5YmI3ZmE0ZjMzMzczMDVkNzZmYzA1MGQzOWNh
OGIxZmRiMDY3NWExMWE0MGZmZGU5Y2ViYjMzZGRjNDg1ZTVkYzVlNzY2N2IwOGMyYTNlMDEzNmQw
NjNhNDQ3YWVlNWE4ZjY1MDQyOWM1ZTQyMmE3MDZjNGMyNDBhNGQxMWY0YTliNTc4MmYyY2JhMjU3
NWYwYzMyY2I0NzdhOWYwY2VmOTdmYTk5Mzk3NzEwNDE4MTMxNWZmOTBlNDZmM2IxMmI4YjAwZjRh
NzYxMWM0MmIxYmI1M2QwZTYwMjFhYjIxZWU4YWU2MDZkOWYwNmRmZWRiODkxNzYzMDA3ZTAyMDk3
N2MyOGI0NmQ1ZjMzYmMzNWMxMjA2MWQ5MGViYmUwMmNhYjU4NzgzYzBjYWMwYzZmMTRlZDczNTIw
NGYyM2QwZWI2YTlmZTllZGVhMmFlY2IxYWMyMTNmNThiNDJkNWQ5NjM3NGVjNzBjYTI4OGEzMTAx
NmJhMDJhZGVmNDMyNTBkNzE3ZTlmYWI4OTgyYTFhMTgwYjFmMzk0NGQ0NTBjMTU5MDEwZmQyM2Yz
NTRkODg1MDJlYzcwMjg4MmFlM2VkZDU2N2M2YTZlZGYzY2IyZTM0ZWRjMTNmNDEwYTI1ZDk3Mjk4
YWI5MDYyZGRiNTY2NTc2ZmE4YjY1OTliYmEyMDViYWI1NWFhNWYzZjM3ZWRhZjc3MzNjZjI0OWU2
OWM3NGRhOTc1ZWYyNDljYTY3M2RhNzQ5ZDg2YmFiZWJkZjU1NDEwYTM4OTcyMGFjOTQzZjFlOWQ5
MjFmNWQ2OWM1Nzg5NjM2Y2I5MDRmYjkyNjM3NDQyMzZlYWRlOWFjYWU4ODlhMDFjMjM3YWIzNDM2
MTAxNDYzZGZhOWQ5MmY5MzZjMWI2NTJjODBmM2FiYmE3NjAyM2ViZTViOWJmZGQ1NDczNWUzYTM0
OTRkZTE4YTQ1Njk2N2Y1ODc1OGU1NDYwMjFmZWVmM2ZhM2U2YzIzOTk4MWFhMDZmMWY3ZGRjNDE1
ZDk1N2ZmOTkxOWJiZWM1ZjM2YWYwOTJhODFiYTZjMTRmZTY0NGQyZWU5OGEyZmNkZWUyZWQ3MGI4
N2E1M2ZmYTMyN2IyNWI0NTY5YzU4ODZiMTVmMmJkNTgzZDZmNWJkN2U5NTFhOTE1MTQyYmFhMDhj
NmE5YzM0M2MyMDA2NzhhMDA1ZmFkMjJhMzM3ZDJjNTYyN2Y4YzgxNmRiMjUyNWE3ZTEyMTg0OWI5
ZGE3NTZlZWU2OGEyNDA0NTI4NDlmZmRiOTY1MWY5OTgyNTdjNjJlOGZkY2RjNDhkYWRmYzNlYmIx
OGY3ZWI1NDYxNDQyMDA4ODQ2YTYyOWVjODE0OWMwNTJmMzU3YmY1ODg5MDk1MDQ3YjI3MmJjZTBm
ZjUwNTk1M2U3Y2Q1MjViMjRjODM4YmE2ZTllZDkxOTIyYTMwZWViODU4ZGU4NTU2ZjE5Zjc2MWQw
Mjg3ZDc2ODg3NjM0NmE1ZGNhYzNkYmFkZDdhMzAwNzJjOTMzODE2MmJlNTgxMjE2NmQ5NjFmNDAz
MWY5NjJlZjY2ODc4MWQzOWQwZmM2OWZlNWY0NDk0ZTMxZWMwODJkNGEwMTQwZTM2OGI2OTk3NWJl
ZWJhMTIwZWY5YjY1MWVhZDUzMWI0ZDQ0Mjk2YmQzY2ZlMmNlN2Y5N2JiNWJiNDkyMTA2MWIxMmMy
ZTFjNGMxMDkyOGMwOTgwZmY4ZDQ4OGEyMjgyZDBjMDU2YTQwMjYwMTY3NDEwZTM5NjY0Zjc1ZmYx
ZjEyNDk4MjBlMTc0ZWVkOTc4MzE4YTA1ZTY1NGI4YWE2YzYwYjcwMDAxYTdhMDRmMGFmZjE3NTk3
ZGQ5YWIzY2NjMzRmNWJhMmUzNTJiNzI0NGRkM2RjY2I0NjJkNzE3NWI5NWFlMzk3MGVjNTg1OGUy
MzEyYWFjN2MyYzc5YTM3YjUzZDA4OWY5ODg3MjBhNGMwNGRmNjMyOGEzODQwMDRkMGQ1MWVhZmI5
NDg2NjIzMDk5YTk4ZTY5YmU1MTY5MjAxYzg4ODI0YWNjMmJiMGUxNzkwODg5MDE0YTE3OTdjMTY4
ZTk4ZDE5ZjA3ODdjMjkzNWNmYmMzYmYyNGM0YWRhZDY5YTgxZTBlNmFkZjhjMjFlM2M0Nzg5MDY0
YWEzMWEwMjVkZmY1Y2M2ZWFiYTNmM2U0M2YxMGE5ZDUzMWY0Nzk2MzM3MjEyMGUyMzY2Yjg0YzI4
MWVkOTY4ZDlkMTFjMWQxMDM4MjZjOTM2Mjc0MWUxMjY3ZDFhM2U4ZDIxODg3NjFmYTg3NmI3YjA5
NjE3ZGYxNDEzMGMwNzIwOWYxZjExODhmZjQwOTcxYjg2NjA3ZGVlMTRkNTU2YTg4MDQ0NzkwMWM2
OWQyOWNiMTZjMDI3YzNhYWUzMTZmZjAwMTMyYmRmY2QwZTM5YzVlMjAxMjUyYzk3NzE0ODNjY2Iy
NzViMGM2N2IzY2I0ZGNkMTkxOThjNzcxODYzNDQ2MDI1NGRmZDZmOGRmNDM3NGI4YmVkZWU3ZGQy
MGNlNDExYjVmOTg3Y2FjMmNlMTc0OTJhYTc4ZjkxOWM2ZDVlNTU1MDAwZjQ3ZjdiOGE5ODk2ZDQ0
OGJjNGZjMTNlNDBhOWU1YzAyMjU4ZDUwOWE3Mjg5ZjQ0ZDcyNTBlODkyNjAyMzNiZjk2NzAyYmIz
ZDM1MDQ1MWYwM2Q4MDJlMGUzN2Q5ZjAxY2NlNGM3ODg2OTQwMzQ5M2ViOTg5MGMyYzA5MTA5ZDFm
NDI3ZjU5Y2YwOTFjZDFjODM2ZTI1YTliYjA2NTA0MTQwN2MyMTgzZjY0M2JjZTJlNzJkYjFlN2Nh
ZWFjNDJlMmQ4Mzc5ZjhiODRkZjJjYzdiMWQwNTVmNDJkNmY2MmUwY2I1NzcxYTE0YWU4ODcyNzky
MzUwZTVmNzcwMTE1YTg2NTY0ZjYwYTc4NWM1MzMyNWM4YzA4NGFmZTIxNGRhM2NhYzE3ODNlMmJl
OTA5OWQ5NmRkYmU5Y2MzZWEzZGQxZDNhZTUwNTI2YjRhZmUyNDM5NzQyMGEzZTRmYTY5NzYxMzQy
MSIpOwotCi0vLyBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLXNob3VsZFJlamVjdCgnY3J5cHRvLnN1
YnRsZS51bndyYXBLZXkoKScpOwotc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtl
eSgxKScpOwotc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAyKScpOwot
c2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAyLCAzKScpOwotc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAyLCAzLCA0KScpOwotc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAyLCAzLCA0LCA1KScpOwotc2hvdWxkUmVq
ZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgxLCAyLCAzLCA0LCA1LCA2KScpOwotCi1jcnlw
dG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUs
IFsid3JhcEtleSIsICJ1bndyYXBLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKLSAgICB1
bndyYXBwaW5nS2V5ID0gcmVzdWx0OwotCi0gICAgLy8gV3JvbmcgQWxnb3JpdGhtSWRlbnRpZmll
cgotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS51bndyYXBLZXkoInJhdyIsIHdyYXBw
ZWRSYXdLZXksIHVud3JhcHBpbmdLZXksICJITUFDIiwgIkFFUy1DQkMiLCBleHRyYWN0YWJsZSwg
WyJlbmNyeXB0IiwgImRlY3J5cHQiXSknKTsKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0
bGUudW53cmFwS2V5KCJyYXciLCB3cmFwcGVkUmF3S2V5LCB1bndyYXBwaW5nS2V5LCBhZXNDYmNQ
YXJhbXMsICJBRVMtQ0JDIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Il0pJyk7
Ci0gICAgLy8gV3JvbmcgZm9ybWF0Ci0gICAgcmV0dXJuIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1
YnRsZS51bndyYXBLZXkoImp3ayIsIHdyYXBwZWRSYXdLZXksIHVud3JhcHBpbmdLZXksICJBRVMt
S1ciLCAiQUVTLUNCQyIsIGV4dHJhY3RhYmxlLCBbImVuY3J5cHQiLCAiZGVjcnlwdCJdKScpOwot
fSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAvLyBFbXB0eSB1c2FnZXMKLSAgICByZXR1cm4gc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwgd3JhcHBlZFJhd0tleSwg
dW53cmFwcGluZ0tleSwgIkFFUy1LVyIsICJBRVMtQ0JDIiwgZXh0cmFjdGFibGUsIFsgXSknKTsK
LX0pLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5
KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgZXh0cmFjdGFibGUsIFsid3JhcEtleSIsICJ1bndy
YXBLZXkiXSk7Ci19KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewotICAgIHVud3JhcHBpbmdLZXkg
PSByZXN1bHQ7Ci0KLSAgICAvLyBFbXB0eSB1c2FnZXMKLSAgICByZXR1cm4gc2hvdWxkUmVqZWN0
KCdjcnlwdG8uc3VidGxlLnVud3JhcEtleSgiandrIiwgd3JhcHBlZEp3a0tleSwgdW53cmFwcGlu
Z0tleSwgYWVzQ2JjUGFyYW1zLCB7bmFtZTogIlJTQS1PQUVQIiwgaGFzaDogIlNIQS0xIn0sIGV4
dHJhY3RhYmxlLCBbIF0pJyk7Ci19KS50aGVuKGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBjcnlw
dG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUs
IFsid3JhcEtleSJdKTsKLX0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgdW53cmFwcGlu
Z0tleSA9IHJlc3VsdDsKLQotICAgIC8vIFdyb25nIHVzYWdlCi0gICAgc2hvdWxkUmVqZWN0KCdj
cnlwdG8uc3VidGxlLnVud3JhcEtleSgicmF3Iiwgd3JhcHBlZFJhd0tleSwgdW53cmFwcGluZ0tl
eSwgIkFFUy1LVyIsICJBRVMtQ0JDIiwgZXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0
Il0pJykudGhlbihmaW5pc2hKU1Rlc3QpOwotfSk7Ci0KLTwvc2NyaXB0PgotCi08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3dyYXAta2V5LW1h
bGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by9zdWJ0
bGUvd3JhcC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyN2JkZjZiMmU1YmM0YTI0N2M2YzUyNzI2NWFmZDllOTVjNTAxZDgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jcnlwdG8vc3VidGxlL3dyYXAta2V5LW1hbGZvcm1lZC1wYXJhbWV0
ZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACitUZXN0IFdyYXBLZXkgb3BlcmF0aW9u
IHdpdGggbWFsZm9ybWVkIHBhcmFtZXRlcnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgY3J5cHRvLnN1YnRsZS53cmFwS2V5KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLndyYXBL
ZXkoMSkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLndyYXBLZXkoMSwgMikgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxl
LndyYXBLZXkoMSwgMiwgMykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE5vdCBl
bm91Z2ggYXJndW1lbnRzLgorUEFTUyBjcnlwdG8uc3VidGxlLndyYXBLZXkoInJhdyIsIGtleSwg
d3JhcHBpbmdLZXksICJITUFDIikgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBOb3RTdXBwb3J0ZWRF
cnJvciAoRE9NIEV4Y2VwdGlvbiA5KTogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLi4K
K1BBU1MgY3J5cHRvLnN1YnRsZS53cmFwS2V5KCJyYXciLCBrZXksIHdyYXBwaW5nS2V5LCBhZXND
YmNQYXJhbXMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52YWxpZEFjY2Vzc0Vycm9yIChET00g
RXhjZXB0aW9uIDE1KTogV3JhcHBpbmcgQ3J5cHRvS2V5IGRvZXNuJ3QgbWF0Y2ggQWxnb3JpdGht
SWRlbnRpZmllci4KK1BBU1MgY3J5cHRvLnN1YnRsZS53cmFwS2V5KCJyYXciLCBrZXksIHdyYXBw
aW5nS2V5LCAiQUVTLUtXIikgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBJbnZhbGlkQWNjZXNzRXJy
b3IgKERPTSBFeGNlcHRpb24gMTUpOiBUaGUgQ3J5cHRvS2V5IGlzIG5vbmV4dHJhY3RhYmxlLgor
UEFTUyBjcnlwdG8uc3VidGxlLndyYXBLZXkoInJhdyIsIGtleSwgd3JhcHBpbmdLZXksICJBRVMt
S1ciKSByZWplY3RlZCBwcm9taXNlICB3aXRoIEludmFsaWRBY2Nlc3NFcnJvciAoRE9NIEV4Y2Vw
dGlvbiAxNSk6IFdyYXBwaW5nIENyeXB0b0tleSBkb2Vzbid0IHN1cHBvcnQgd3JhcEtleSBvcGVy
YXRpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS93cmFwLWtleS1tYWxmb3Jt
ZWQtcGFyYW1ldGVycy5odG1sIGIvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS93cmFwLWtleS1t
YWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzODczY2ExNWU4NmIzMjY4ZmYz
MzNlZTVjNWU5OGYyYzZhMDQ3MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jcnlw
dG8vc3VidGxlL3dyYXAta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwKQEAgLTAsMCArMSw1
NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbigiVGVzdCBXcmFwS2V5IG9wZXJhdGlvbiB3aXRoIG1hbGZvcm1lZCBwYXJhbWV0ZXJz
Iik7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwor
dmFyIG5vbkV4dHJhY3RhYmxlID0gZmFsc2U7Cit2YXIgcmF3S2V5ID0gYXNjaWlUb1VpbnQ4QXJy
YXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKK3ZhciBhZXNDYmNQYXJhbXMgPSB7CisgICAgbmFtZTog
ImFlcy1jYmMiLAorICAgIGl2OiBhc2NpaVRvVWludDhBcnJheSgiam5Pdzk5b09aRkxJRVBNciIp
LAorfQorCisvLyBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1
YnRsZS53cmFwS2V5KCknKTsKK3Nob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS53cmFwS2V5KDEp
Jyk7CitzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUud3JhcEtleSgxLCAyKScpOworc2hvdWxk
UmVqZWN0KCdjcnlwdG8uc3VidGxlLndyYXBLZXkoMSwgMiwgMyknKTsKKworY3J5cHRvLnN1YnRs
ZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1rdyIsIGV4dHJhY3RhYmxlLCBbIndyYXBL
ZXkiLCAidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgd3JhcHBpbmdL
ZXkgPSByZXN1bHQ7CisgICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KCJyYXciLCBy
YXdLZXksICJhZXMtY2JjIiwgbm9uRXh0cmFjdGFibGUsIFsiZW5jcnlwdCIsICJkZWNyeXB0Il0p
OworfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICBrZXkgPSByZXN1bHQ7CisKKyAgICAv
LyBXcm9uZyBBbGdvcml0aG1JZGVudGlmaWVyCisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3Vi
dGxlLndyYXBLZXkoInJhdyIsIGtleSwgd3JhcHBpbmdLZXksICJITUFDIiknKTsKKyAgICBzaG91
bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUud3JhcEtleSgicmF3Iiwga2V5LCB3cmFwcGluZ0tleSwg
YWVzQ2JjUGFyYW1zKScpOworICAgIC8vIE5vbi1leHRyYWN0YWJsZQorICAgIHNob3VsZFJlamVj
dCgnY3J5cHRvLnN1YnRsZS53cmFwS2V5KCJyYXciLCBrZXksIHdyYXBwaW5nS2V5LCAiQUVTLUtX
IiknKTsKKworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IiwgcmF3S2V5
LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUsIFsidW53cmFwS2V5Il0pOworfSkudGhlbihmdW5jdGlv
bihyZXN1bHQpIHsKKyAgICB3cmFwcGluZ0tleSA9IHJlc3VsdDsKKworICAgIC8vIFdyb25nIHVz
YWdlCisgICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLndyYXBLZXkoInJhdyIsIGtleSwg
d3JhcHBpbmdLZXksICJBRVMtS1ciKScpLnRoZW4oZmluaXNoSlNUZXN0KTsKK30pOworCis8L3Nj
cmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3J5cHRv
L3N1YnRsZS93cmFwS2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NyeXB0by9zdWJ0bGUvd3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyN2JkZjZiMmU1YmM0YTI0N2M2
YzUyNzI2NWFmZDllOTVjNTAxZDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3J5cHRvL3N1YnRsZS93cmFwS2V5LW1hbGZvcm1lZC1w
YXJhbWV0ZXJzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVRl
c3QgV3JhcEtleSBvcGVyYXRpb24gd2l0aCBtYWxmb3JtZWQgcGFyYW1ldGVycwotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBjcnlwdG8uc3VidGxlLndyYXBLZXkoKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNT
IGNyeXB0by5zdWJ0bGUud3JhcEtleSgxKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUud3JhcEtleSgxLCAy
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMu
Ci1QQVNTIGNyeXB0by5zdWJ0bGUud3JhcEtleSgxLCAyLCAzKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIGNyeXB0by5zdWJ0bGUu
d3JhcEtleSgicmF3Iiwga2V5LCB3cmFwcGluZ0tleSwgIkhNQUMiKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIE5vdFN1cHBvcnRlZEVycm9yIChET00gRXhjZXB0aW9uIDkpOiBUaGUgb3BlcmF0aW9u
IGlzIG5vdCBzdXBwb3J0ZWQuLgotUEFTUyBjcnlwdG8uc3VidGxlLndyYXBLZXkoInJhdyIsIGtl
eSwgd3JhcHBpbmdLZXksIGFlc0NiY1BhcmFtcykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBJbnZh
bGlkQWNjZXNzRXJyb3IgKERPTSBFeGNlcHRpb24gMTUpOiBXcmFwcGluZyBDcnlwdG9LZXkgZG9l
c24ndCBtYXRjaCBBbGdvcml0aG1JZGVudGlmaWVyLgotUEFTUyBjcnlwdG8uc3VidGxlLndyYXBL
ZXkoInJhdyIsIGtleSwgd3JhcHBpbmdLZXksICJBRVMtS1ciKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIEludmFsaWRBY2Nlc3NFcnJvciAoRE9NIEV4Y2VwdGlvbiAxNSk6IFRoZSBDcnlwdG9LZXkg
aXMgbm9uZXh0cmFjdGFibGUuCi1QQVNTIGNyeXB0by5zdWJ0bGUud3JhcEtleSgicmF3Iiwga2V5
LCB3cmFwcGluZ0tleSwgIkFFUy1LVyIpIHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52YWxpZEFj
Y2Vzc0Vycm9yIChET00gRXhjZXB0aW9uIDE1KTogV3JhcHBpbmcgQ3J5cHRvS2V5IGRvZXNuJ3Qg
c3VwcG9ydCB3cmFwS2V5IG9wZXJhdGlvbi4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vc3Vi
dGxlL3dyYXBLZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0
by9zdWJ0bGUvd3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0Mzg3M2NhMTVlODZiMzI2OGZmMzMzZWU1YzVlOThmMmM2YTA0NzJm
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2NyeXB0by9zdWJ0bGUvd3JhcEtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci0KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdCBXcmFwS2V5IG9wZXJhdGlvbiB3aXRo
IG1hbGZvcm1lZCBwYXJhbWV0ZXJzIik7Ci0KLWpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi12YXIg
ZXh0cmFjdGFibGUgPSB0cnVlOwotdmFyIG5vbkV4dHJhY3RhYmxlID0gZmFsc2U7Ci12YXIgcmF3
S2V5ID0gYXNjaWlUb1VpbnQ4QXJyYXkoImpuT3c5OW9PWkZMSUVQTXIiKTsKLXZhciBhZXNDYmNQ
YXJhbXMgPSB7Ci0gICAgbmFtZTogImFlcy1jYmMiLAotICAgIGl2OiBhc2NpaVRvVWludDhBcnJh
eSgiam5Pdzk5b09aRkxJRVBNciIpLAotfQotCi0vLyBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLXNo
b3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS53cmFwS2V5KCknKTsKLXNob3VsZFJlamVjdCgnY3J5
cHRvLnN1YnRsZS53cmFwS2V5KDEpJyk7Ci1zaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUud3Jh
cEtleSgxLCAyKScpOwotc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLndyYXBLZXkoMSwgMiwg
MyknKTsKLQotY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoInJhdyIsIHJhd0tleSwgImFlcy1rdyIs
IGV4dHJhY3RhYmxlLCBbIndyYXBLZXkiLCAidW53cmFwS2V5Il0pLnRoZW4oZnVuY3Rpb24ocmVz
dWx0KSB7Ci0gICAgd3JhcHBpbmdLZXkgPSByZXN1bHQ7Ci0gICAgcmV0dXJuIGNyeXB0by5zdWJ0
bGUuaW1wb3J0S2V5KCJyYXciLCByYXdLZXksICJhZXMtY2JjIiwgbm9uRXh0cmFjdGFibGUsIFsi
ZW5jcnlwdCIsICJkZWNyeXB0Il0pOwotfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKLSAgICBr
ZXkgPSByZXN1bHQ7Ci0KLSAgICAvLyBXcm9uZyBBbGdvcml0aG1JZGVudGlmaWVyCi0gICAgc2hv
dWxkUmVqZWN0KCdjcnlwdG8uc3VidGxlLndyYXBLZXkoInJhdyIsIGtleSwgd3JhcHBpbmdLZXks
ICJITUFDIiknKTsKLSAgICBzaG91bGRSZWplY3QoJ2NyeXB0by5zdWJ0bGUud3JhcEtleSgicmF3
Iiwga2V5LCB3cmFwcGluZ0tleSwgYWVzQ2JjUGFyYW1zKScpOwotICAgIC8vIE5vbi1leHRyYWN0
YWJsZQotICAgIHNob3VsZFJlamVjdCgnY3J5cHRvLnN1YnRsZS53cmFwS2V5KCJyYXciLCBrZXks
IHdyYXBwaW5nS2V5LCAiQUVTLUtXIiknKTsKLQotICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgicmF3IiwgcmF3S2V5LCAiYWVzLWt3IiwgZXh0cmFjdGFibGUsIFsidW53cmFwS2V5
Il0pOwotfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKLSAgICB3cmFwcGluZ0tleSA9IHJlc3Vs
dDsKLQotICAgIC8vIFdyb25nIHVzYWdlCi0gICAgc2hvdWxkUmVqZWN0KCdjcnlwdG8uc3VidGxl
LndyYXBLZXkoInJhdyIsIGtleSwgd3JhcHBpbmdLZXksICJBRVMtS1ciKScpLnRoZW4oZmluaXNo
SlNUZXN0KTsKLX0pOwotCi08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL2VjZGgtaW1wb3J0LWtleS1kZXJp
dmUta2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9l
Y2RoLWltcG9ydC1rZXktZGVyaXZlLWtleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWRiNTgz
ZmVmYWEwZDFhMTgwM2QxMjNkMzQ2YzRlNzE4YmRkZjdiNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9lY2RoLWltcG9ydC1rZXktZGVyaXZlLWtl
eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorW1dvcmtlcl0gVGVzdCBkZXJpdmluZyBB
RVMgS2V5cyB3aXRoIGltcG9ydGVkIEVDREggYmFzZSBrZXkgaW4gd29ya2VycworCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMvZWNkaC1p
bXBvcnQta2V5LWRlcml2ZS1rZXkuanMKK1BBU1MgW1dvcmtlcl0gZGVyaXZlZEtleS50eXBlIGlz
ICdzZWNyZXQnCitQQVNTIFtXb3JrZXJdIGRlcml2ZWRLZXkuZXh0cmFjdGFibGUgaXMgdHJ1ZQor
UEFTUyBbV29ya2VyXSBkZXJpdmVkS2V5LmFsZ29yaXRobS5uYW1lIGlzICdBRVMtQ0JDJworUEFT
UyBbV29ya2VyXSBkZXJpdmVkS2V5LmFsZ29yaXRobS5sZW5ndGggaXMgMTI4CitQQVNTIFtXb3Jr
ZXJdIGRlcml2ZWRLZXkudXNhZ2VzIGlzIFsnZGVjcnlwdCcsICdlbmNyeXB0JywgJ3Vud3JhcEtl
eScsICd3cmFwS2V5J10KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUv
ZWNkaC1pbXBvcnQta2V5LWRlcml2ZS1rZXkuaHRtbCBiL0xheW91dFRlc3RzL2NyeXB0by93b3Jr
ZXJzL3N1YnRsZS9lY2RoLWltcG9ydC1rZXktZGVyaXZlLWtleS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMy
OWRiMmRmZTBiY2NhNDFiYTEzYzNjMDMxZDRhMDdhYzg4M2IyMDQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jcnlwdG8vd29ya2Vycy9zdWJ0bGUvZWNkaC1pbXBvcnQta2V5LWRlcml2
ZS1rZXkuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0PgorICAgICAgICB3b3JrZXIg
PSBzdGFydFdvcmtlcigncmVzb3VyY2VzL2VjZGgtaW1wb3J0LWtleS1kZXJpdmUta2V5LmpzJyk7
CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3J5cHRvL3dvcmtlcnMvc3VidGxlL3Jlc291cmNlcy9lY2RoLWltcG9ydC1rZXkt
ZGVyaXZlLWtleS5qcyBiL0xheW91dFRlc3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJj
ZXMvZWNkaC1pbXBvcnQta2V5LWRlcml2ZS1rZXkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjcxMDQzNTI2NzIz
ODU4YjVmZjExNjEzMzdjZmFmZWI1Y2E5YjBiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NyeXB0by93b3JrZXJzL3N1YnRsZS9yZXNvdXJjZXMvZWNkaC1pbXBvcnQta2V5LWRlcml2
ZS1rZXkuanMKQEAgLTAsMCArMSwzOSBAQAoraW1wb3J0U2NyaXB0cygnLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzJyk7CitpbXBvcnRTY3JpcHRzKCIuLi8uLi8uLi9yZXNvdXJj
ZXMvY29tbW9uLmpzIik7CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGRlcml2aW5nIEFFUyBLZXlzIHdp
dGggaW1wb3J0ZWQgRUNESCBiYXNlIGtleSBpbiB3b3JrZXJzIik7CisKK2pzVGVzdElzQXN5bmMg
PSB0cnVlOworCit2YXIgZXh0cmFjdGFibGUgPSB0cnVlOwordmFyIGp3a1ByaXZhdGVLZXkgPSB7
CisgICAga3R5OiAiRUMiLAorICAgIGNydjogIlAtMjU2IiwKKyAgICB4OiAiMUZTVldpZVR2aWtG
a0cxTk95aGtVQ2FNYmRRaHh3SDZhQ3U0RXotc1J0QSIsCisgICAgeTogIjlqbU5UTHFNNGNqQmhk
QW5IY05JOVlRVjNPOExGbW8tRWRaV2s4bnRBYUkiLAorICAgIGQ6ICJwcHhCU292M044X0FVY2lz
QXV2bUxWNHlFOGVfTF9CTEU4YlpiOVoxWGpnIiwKK307Cit2YXIgandrUHVibGljS2V5ID0gewor
ICAgIGt0eTogIkVDIiwKKyAgICBjcnY6ICJQLTI1NiIsCisgICAgeDogIjFGU1ZXaWVUdmlrRmtH
MU5PeWhrVUNhTWJkUWh4d0g2YUN1NEV6LXNSdEEiLAorICAgIHk6ICI5am1OVExxTTRjakJoZEFu
SGNOSTlZUVYzTzhMRm1vLUVkWldrOG50QWFJIiwKK307CisKK2NyeXB0by5zdWJ0bGUuaW1wb3J0
S2V5KCJqd2siLCBqd2tQcml2YXRlS2V5LCB7IG5hbWU6ICJFQ0RIIiwgbmFtZWRDdXJ2ZTogIlAt
MjU2IiB9LCBleHRyYWN0YWJsZSwgWyJkZXJpdmVLZXkiXSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBwcml2YXRlS2V5ID0gcmVzdWx0OworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmlt
cG9ydEtleSgiandrIiwgandrUHVibGljS2V5LCB7IG5hbWU6ICJFQ0RIIiwgbmFtZWRDdXJ2ZTog
IlAtMjU2IiB9LCBleHRyYWN0YWJsZSwgWyBdKTsKK30pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7
CisgICAgcHVibGljS2V5ID0gcmVzdWx0OworICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmRlcml2
ZUtleSh7IG5hbWU6IkVDREgiLCBwdWJsaWM6cHVibGljS2V5IH0sIHByaXZhdGVLZXksIHtuYW1l
OiAiYWVzLWNiYyIsIGxlbmd0aDogMTI4fSwgZXh0cmFjdGFibGUsIFsnZGVjcnlwdCcsICdlbmNy
eXB0JywgJ3Vud3JhcEtleScsICd3cmFwS2V5J10pOworfSkudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKKyAgICBkZXJpdmVkS2V5ID0gcmVzdWx0OworCisgICAgc2hvdWxkQmUoImRlcml2ZWRLZXku
dHlwZSIsICInc2VjcmV0JyIpOworICAgIHNob3VsZEJlKCJkZXJpdmVkS2V5LmV4dHJhY3RhYmxl
IiwgInRydWUiKTsKKyAgICBzaG91bGRCZSgiZGVyaXZlZEtleS5hbGdvcml0aG0ubmFtZSIsICIn
QUVTLUNCQyciKTsKKyAgICBzaG91bGRCZSgiZGVyaXZlZEtleS5hbGdvcml0aG0ubGVuZ3RoIiwg
IjEyOCIpOworICAgIHNob3VsZEJlKCJkZXJpdmVkS2V5LnVzYWdlcyIsICJbJ2RlY3J5cHQnLCAn
ZW5jcnlwdCcsICd1bndyYXBLZXknLCAnd3JhcEtleSddIik7CisKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>