<?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>181627</bug_id>
          
          <creation_ts>2018-01-12 20:08:02 -0800</creation_ts>
          <short_desc>[WebAuthN] Implement dummy WebAuthN IDLs</short_desc>
          <delta_ts>2018-01-22 13:30:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>181943</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1389064</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-01-12 20:08:02 -0800</bug_when>
    <thetext>Implement dummy WebAuthN IDLs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389065</commentid>
    <comment_count>1</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-01-12 20:08:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/36459864&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389068</commentid>
    <comment_count>2</comment_count>
      <attachid>331271</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-01-12 20:16:02 -0800</bug_when>
    <thetext>Created attachment 331271
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389090</commentid>
    <comment_count>3</comment_count>
      <attachid>331277</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-01-12 23:14:09 -0800</bug_when>
    <thetext>Created attachment 331277
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389138</commentid>
    <comment_count>4</comment_count>
      <attachid>331277</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-01-13 12:58:54 -0800</bug_when>
    <thetext>Comment on attachment 331277
Patch

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

&gt; Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.h:37
&gt; +    RefPtr&lt;ArrayBuffer&gt; authenticatorData();

I think these should just return a pointer.

&gt; Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.h:42
&gt; +    RefPtr&lt;ArrayBuffer&gt; m_authenticatorData;

Can we not make any of these Ref&apos;s?

&gt; Source/WebCore/Modules/webauthn/PublicKeyCredential.idl:28
&gt; +// enum UserVerificationRequirement {

Can we add this later, rather than adding commented things?

&gt; Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h:61
&gt; +    unsigned long timeout;

Could we give these initializer lists to avoid uninitialized members?

&gt; Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl:31
&gt; +// enum AttestationConveyancePreference {

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389229</commentid>
    <comment_count>5</comment_count>
      <attachid>331277</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-01-14 16:48:18 -0800</bug_when>
    <thetext>Comment on attachment 331277
Patch

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

Thanks Alex for r+ this patch.

&gt;&gt; Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.h:37
&gt;&gt; +    RefPtr&lt;ArrayBuffer&gt; authenticatorData();
&gt; 
&gt; I think these should just return a pointer.

May I ask why a pointer is better than RefPtr?

&gt;&gt; Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.h:42
&gt;&gt; +    RefPtr&lt;ArrayBuffer&gt; m_authenticatorData;
&gt; 
&gt; Can we not make any of these Ref&apos;s?

If not Ref&apos;s, what data type should be there?

&gt;&gt; Source/WebCore/Modules/webauthn/PublicKeyCredential.idl:28
&gt;&gt; +// enum UserVerificationRequirement {
&gt; 
&gt; Can we add this later, rather than adding commented things?

Certainly.

&gt;&gt; Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h:61
&gt;&gt; +    unsigned long timeout;
&gt; 
&gt; Could we give these initializer lists to avoid uninitialized members?

Certainly.

&gt;&gt; Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl:31
&gt;&gt; +// enum AttestationConveyancePreference {
&gt; 
&gt; ditto

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389662</commentid>
    <comment_count>6</comment_count>
      <attachid>331409</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-01-16 11:48:45 -0800</bug_when>
    <thetext>Created attachment 331409
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389753</commentid>
    <comment_count>7</comment_count>
      <attachid>331409</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-01-16 14:27:50 -0800</bug_when>
    <thetext>Comment on attachment 331409
Patch for landing

The Win EWS bot seems to have some issues. cq+ regardless of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389762</commentid>
    <comment_count>8</comment_count>
      <attachid>331409</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-16 14:53:00 -0800</bug_when>
    <thetext>Comment on attachment 331409
Patch for landing

Rejecting attachment 331409 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 331409, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
org/git/WebKit
   4b0009cc0a2..958c295cde9  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 227003 = 4b0009cc0a2bd83b4e417c6c836c36dba18b913d
r227004 = 958c295cde97fe554d73518321cc39caeb20eb22
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.webkit.org/results/6098675</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389769</commentid>
    <comment_count>9</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-01-16 15:08:50 -0800</bug_when>
    <thetext>Committed r227007: &lt;https://trac.webkit.org/changeset/227007&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331271</attachid>
            <date>2018-01-12 20:16:02 -0800</date>
            <delta_ts>2018-01-12 23:14:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181627-20180112201601.patch</filename>
            <type>text/plain</type>
            <size>78520</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2OTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDNhZDczNTg0ZDUzY2Yw
MDI2NmQ1MzgzNjBmYWQ4MGM2ZmExYjM0MC4uMzYxNmRhMjM5YTY1NTc3MTY4MDhlNmNhMmYxOTI4
N2M3ZWE3ZWZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE4LTAxLTEyICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBJbXBs
ZW1lbnQgZHVtbXkgV2ViQXV0aE4gSURMcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNjI3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjQ1OTg2
ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHBhdGNoIGltcGxlbWVudHMgZHVtbXkgV2ViQXV0aE4gSURMcyBhbmQgY29ubmVjdCB0aGVtIHdp
dGggQ3JlZGVudGlhbCBNYW5hZ2VtZW50IGFzIHdlbGwuCisgICAgICAgIEFsbCBpbXBsZW1lbnRh
dGlvbnMgaW4gdGhpcyBwYXRjaCBhcmUgc3ViamVjdCB0byBjaGFuZ2Ugd2hlbiByZWFsIGltcGxl
bWVudGF0aW9ucyBsYW5kLiBUaGUKKyAgICAgICAgcHVycG9zZSBoZXJlIG9uIHRoZSBvdGhlciBo
YW5kIGlzIHRvIGhhdmUgSURMcywgYmluZGluZ3MgYW5kIGltcGxlbWVudGF0aW9ucyBjb25uZWN0
ZWQuIFRoaXMKKyAgICAgICAgcGF0Y2ggc2hvdWxkIGhhbmRsZSBhbGwgSURMcyB0aGF0IHdlIG5l
ZWQuCisKKyAgICAgICAgTm8gdGVzdHMuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0
aW9uT3B0aW9ucy5oOgorICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3Jl
ZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGw6CisgICAgICAgICogTW9kdWxlcy9jcmVkZW50aWFs
bWFuYWdlbWVudC9DcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaDoKKyAgICAgICAgKiBNb2R1bGVz
L2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGw6CisgICAg
ICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3Bw
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWwuY3BwLgorICAgICAgICAoV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJl
c3BvbnNlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjp+QXV0aGVudGljYXRvckFzc2VydGlv
blJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNw
b25zZTo6YXV0aGVudGljYXRvckRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6QXV0aGVudGljYXRv
ckFzc2VydGlvblJlc3BvbnNlOjpzaWduYXR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6QXV0aGVu
dGljYXRvckFzc2VydGlvblJlc3BvbnNlOjp1c2VySGFuZGxlKToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1
ZXN0T3B0aW9ucy5oLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFz
c2VydGlvblJlc3BvbnNlLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmNwcDogQ29waWVkIGZyb20gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRp
b25PcHRpb25zLmguCisgICAgICAgIChXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25S
ZXNwb25zZTo6QXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UpOgorICAgICAgICAoV2Vi
Q29yZTo6QXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2U6On5BdXRoZW50aWNhdG9yQXR0
ZXN0YXRpb25SZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0ZXN0
YXRpb25SZXNwb25zZTo6YXR0ZXN0YXRpb25PYmplY3QpOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaDogQ29waWVkIGZyb20gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsUmVxdWVz
dE9wdGlvbnMuaC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRl
c3RhdGlvblJlc3BvbnNlLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5o
LgorICAgICAgICAoV2ViQ29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlOjpBdXRoZW50aWNhdG9y
UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlOjp+QXV0
aGVudGljYXRvclJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JSZXNw
b25zZTo6Y2xpZW50RGF0YUpTT04pOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVu
dGljYXRvclJlc3BvbnNlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3Jl
ZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmguCisgICAgICAgICog
TW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRsOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsLgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsOjpyYXdJZCk6CisgICAgICAgIChXZWJD
b3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsOjpyZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpQ
dWJsaWNLZXlDcmVkZW50aWFsOjpnZXRDbGllbnRFeHRlbnNpb25SZXN1bHRzKToKKyAgICAgICAg
KFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWw6OmlzVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0
aGVudGljYXRvckF2YWlsYWJsZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNL
ZXlDcmVkZW50aWFsLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVk
ZW50aWFsLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
cmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaC4KKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxE
ZXNjcmlwdG9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlh
bG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oLgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaWRsOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRs
LgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RP
cHRpb25zLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1h
bmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oLgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMuaC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWxUeXBlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vUHVibGljS2V5Q3JlZGVudGlhbC5pZGwuCisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9Q
dWJsaWNLZXlDcmVkZW50aWFsVHlwZS5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5pZGwuCisgICAgICAgICogU291cmNl
cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKwogMjAxOC0wMS0xMiAg
SmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBXcmFwIENETUZhaXJQ
bGF5U3RyZWFtaW5nIGFuZCByZWxhdGVkIGNsYXNzZXMgaW4gRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkgY2hlY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiYjE1NWRlM2M2MTlh
MDEzODI5YTdlYmYwYTExYzAzNDk5MzIwOTJmLi5hNGI0YTZlYTk0YzE1OWY3NDBmNjVmY2YxOGQy
MjM5YjY5ZGU0Nzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTMyNCw3ICsz
MjQsMTQgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJh
dWRpby9QZXJpb2RpY1dhdmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8v
U2NyaXB0UHJvY2Vzc29yTm9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRp
by9XYXZlU2hhcGVyTm9kZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRobi9B
dXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbERlc2Ny
aXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3Jl
ZGVudGlhbFR5cGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vUHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2luZG93V2ViRGF0YWJhc2UuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDYWxsYmFjay5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRp
YWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaAppbmRleCBkZTk4OWQxMzFl
ZTdjMjM4OTVjZWY4ZDU4OTA0ZGY3MjIzYTRkYmZlLi4yY2QxNDQ4Y2QyYzIyMTNlZWEyY2U1OGM4
ZTQ1ODNmY2ZhZWI5OTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRl
bnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMuaApAQCAtMjYsNiArMjYsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIlB1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNCw3ICszNSw3IEBAIGNsYXNzIEFi
b3J0U2lnbmFsOwogCiBzdHJ1Y3QgQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyB7CiAgICAgUmVm
UHRyPEFib3J0U2lnbmFsPiBzaWduYWw7Ci0gICAgc3RkOjpvcHRpb25hbDxib29sPiBwdWJsaWNL
ZXk7CisgICAgc3RkOjpvcHRpb25hbDxQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25z
PiBwdWJsaWNLZXk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVh
dGlvbk9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdl
bWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbAppbmRleCAzMzBmNGVhYzgwYmYzM2Jk
Yzk1MmJiZTgzMzk2ODg0NjUxNGJlZmFiLi5iMmMwZGE0MDIwZmZlM2QxNDI3OTA0OTdlODA2MGI3
MDU1MDE2ZGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxt
YW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cy5pZGwKQEAgLTI2LDUgKzI2LDUgQEAKIAogZGljdGlvbmFyeSBDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zIHsKICAgICBBYm9ydFNpZ25hbCBzaWduYWw7Ci0gICAgYm9vbGVhbiBwdWJsaWNLZXk7
IC8vIGZha2UgZm9yIG5vdworICAgIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMg
cHVibGljS2V5OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVu
dGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5o
CmluZGV4IGY1Y2RmYTZkYTljMmM4YjE5ZTQ1Mzc1MGNmOTIwMWZlYjQ3OTUyOTIuLjY0NGU3ZGQ2
ZTE2NWRmNjkyYzZjMmRlZDFkMmZlMTYzYjViNjMzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVk
ZW50aWFsUmVxdWVzdE9wdGlvbnMuaApAQCAtMjYsNiArMjYsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAorI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3LDcgKzM4
LDcgQEAgc3RydWN0IENyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyB7CiAKICAgICBNZWRpYXRpb25S
ZXF1aXJlbWVudCBtZWRpYXRpb247CiAgICAgUmVmUHRyPEFib3J0U2lnbmFsPiBzaWduYWw7Ci0g
ICAgc3RkOjpvcHRpb25hbDxib29sPiBwdWJsaWNLZXk7CisgICAgc3RkOjpvcHRpb25hbDxQdWJs
aWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnM+IHB1YmxpY0tleTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVu
dGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmlkbAppbmRleCBhZWVhZjRhMDBhMjQ4MzdmYWZmYTg5Mjk4MzMxMDM0OTFlODk3MTM1Li5jZWQx
NDQ3MjExNmUxZTEwMTA0OTM4ZDIyYWQxNmFhODhkZDM3MWM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0
aW9ucy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVu
dC9DcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaWRsCkBAIC0zMyw1ICszMyw1IEBAIGVudW0gQ3Jl
ZGVudGlhbE1lZGlhdGlvblJlcXVpcmVtZW50IHsKIGRpY3Rpb25hcnkgQ3JlZGVudGlhbFJlcXVl
c3RPcHRpb25zIHsKICAgICBDcmVkZW50aWFsTWVkaWF0aW9uUmVxdWlyZW1lbnQgbWVkaWF0aW9u
ID0gIm9wdGlvbmFsIjsKICAgICBBYm9ydFNpZ25hbCBzaWduYWw7Ci0gICAgYm9vbGVhbiBwdWJs
aWNLZXk7IC8vIGZha2UgZm9yIG5vdworICAgIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0
aW9ucyBwdWJsaWNLZXk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJlYTMwODFjMmQzMmMyZjZmZDFhODI0NDgxZDU3Yjc4ODQ4MmFlODcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0
b3JBc3NlcnRpb25SZXNwb25zZS5jcHAKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9u
c2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2U6OkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZShSZWZQdHI8QXJyYXlCdWZmZXI+
JiYgY2xpZW50RGF0YUpTT04sIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiBhdXRoZW50aWNhdG9yRGF0
YSwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIHNpZ25hdHVyZSwgUmVmUHRyPEFycmF5QnVmZmVyPiYm
IHVzZXJIYW5kbGUpCisgICAgOiBBdXRoZW50aWNhdG9yUmVzcG9uc2UoV1RGTW92ZShjbGllbnRE
YXRhSlNPTikpCisgICAgLCBtX2F1dGhlbnRpY2F0b3JEYXRhKFdURk1vdmUoYXV0aGVudGljYXRv
ckRhdGEpKQorICAgICwgbV9zaWduYXR1cmUoV1RGTW92ZShzaWduYXR1cmUpKQorICAgICwgbV91
c2VySGFuZGxlKFdURk1vdmUodXNlckhhbmRsZSkpCit7Cit9CisKK0F1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZTo6fkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSgpCit7Cit9CisK
K1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjphdXRo
ZW50aWNhdG9yRGF0YSgpCit7CisgICAgcmV0dXJuIG1fYXV0aGVudGljYXRvckRhdGE7Cit9CisK
K1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjpzaWdu
YXR1cmUoKQoreworICAgIHJldHVybiBtX3NpZ25hdHVyZTsKK30KKworUmVmUHRyPEFycmF5QnVm
ZmVyPiBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U6OnVzZXJIYW5kbGUoKQoreworICAg
IHJldHVybiBtX3VzZXJIYW5kbGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2Vy
dGlvblJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRp
Y2F0b3JBc3NlcnRpb25SZXNwb25zZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0M2ViOTEzYWM1OTNjMmMwN2I0
ZjgxYzM1MjEwYmQxN2ZmYzhjNjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oCkBAIC0wLDAg
KzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkF1dGhlbnRp
Y2F0b3JSZXNwb25zZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEF1dGhlbnRp
Y2F0b3JBc3NlcnRpb25SZXNwb25zZSA6IHB1YmxpYyBBdXRoZW50aWNhdG9yUmVzcG9uc2Ugewor
cHVibGljOgorICAgIEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZShSZWZQdHI8QXJyYXlC
dWZmZXI+JiYgY2xpZW50RGF0YUpTT04sIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiBhdXRoZW50aWNh
dG9yRGF0YSwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIHNpZ25hdHVyZSwgUmVmUHRyPEFycmF5QnVm
ZmVyPiYmIHVzZXJIYW5kbGUpOworICAgIHZpcnR1YWwgfkF1dGhlbnRpY2F0b3JBc3NlcnRpb25S
ZXNwb25zZSgpOworCisgICAgUmVmUHRyPEFycmF5QnVmZmVyPiBhdXRoZW50aWNhdG9yRGF0YSgp
OworICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gc2lnbmF0dXJlKCk7CisgICAgUmVmUHRyPEFycmF5
QnVmZmVyPiB1c2VySGFuZGxlKCk7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPEFycmF5QnVmZmVy
PiBtX2F1dGhlbnRpY2F0b3JEYXRhOworICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gbV9zaWduYXR1
cmU7CisgICAgUmVmUHRyPEFycmF5QnVmZmVyPiBtX3VzZXJIYW5kbGU7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTJlMWI4MWE2MTQ0OGE2ODJjMTYzNjNiMjQ1ZThlNzcxYmY0N2U0OQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFz
c2VydGlvblJlc3BvbnNlLmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRXhwb3NlZD1XaW5kb3cs
CisgICAgU2VjdXJlQ29udGV4dAorXSBpbnRlcmZhY2UgQXV0aGVudGljYXRvckFzc2VydGlvblJl
c3BvbnNlIDogQXV0aGVudGljYXRvclJlc3BvbnNlIHsKKyAgICBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIEFycmF5QnVmZmVyIGF1dGhlbnRpY2F0b3JEYXRhOworICAgIFtTYW1lT2Jq
ZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgc2lnbmF0dXJlOworICAgIFtTYW1l
T2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgdXNlckhhbmRsZTsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JB
dHRlc3RhdGlvblJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4v
QXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2YzRmZjQw
OWY4MTJjOGJkZTc4ODc2ODY1MzU2MTFhODE1NjNkNTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3Bv
bnNlLmNwcApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2U6OkF1dGhl
bnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlKFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiBjbGllbnRE
YXRhSlNPTiwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIGF0dGVzdGF0aW9uT2JqZWN0KQorICAgIDog
QXV0aGVudGljYXRvclJlc3BvbnNlKFdURk1vdmUoY2xpZW50RGF0YUpTT04pKQorICAgICwgbV9h
dHRlc3RhdGlvbk9iamVjdChXVEZNb3ZlKGF0dGVzdGF0aW9uT2JqZWN0KSkKK3sKK30KKworQXV0
aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2U6On5BdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25S
ZXNwb25zZSgpCit7Cit9CisKK1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXV0aGVudGljYXRvckF0dGVz
dGF0aW9uUmVzcG9uc2U6OmF0dGVzdGF0aW9uT2JqZWN0KCkKK3sKKyAgICByZXR1cm4gbV9hdHRl
c3RhdGlvbk9iamVjdDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25S
ZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9y
QXR0ZXN0YXRpb25SZXNwb25zZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4NzIyYzVjMGM3YmVjMDU1NjVhOGU5
NTk0OGJjZWFhYzQ1MTE0M2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmgKQEAgLTAsMCAr
MSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQXV0aGVudGlj
YXRvclJlc3BvbnNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQXV0aGVudGlj
YXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgOiBwdWJsaWMgQXV0aGVudGljYXRvclJlc3BvbnNlIHsK
K3B1YmxpYzoKKyAgICBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZShSZWZQdHI8QXJy
YXlCdWZmZXI+JiYgY2xpZW50RGF0YUpTT04sIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiBhdHRlc3Rh
dGlvbk9iamVjdCk7CisgICAgdmlydHVhbCB+QXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9u
c2UoKTsKKworICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gYXR0ZXN0YXRpb25PYmplY3QoKTsKKwor
cHJpdmF0ZToKKyAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fYXR0ZXN0YXRpb25PYmplY3Q7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVz
cG9uc2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmOWIyNGIxYTBjYjg4OWJiOWIxZGY5NGYyZGVkNmZmZDRh
MDc0MmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhu
L0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbApAQCAtMCwwICsxLDMyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisg
ICAgRXhwb3NlZD1XaW5kb3csCisgICAgU2VjdXJlQ29udGV4dAorXSBpbnRlcmZhY2UgQXV0aGVu
dGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgOiBBdXRoZW50aWNhdG9yUmVzcG9uc2UgeworICAg
IFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgYXR0ZXN0YXRpb25P
YmplY3Q7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9B
dXRoZW50aWNhdG9yUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZGU2ZDNiNDdmYzYwOThm
YzkwZjQ4MGY4NmI3MGU1MDc5NWUyMTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5jcHAKQEAgLTAsMCArMSw0
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBdXRoZW50
aWNhdG9yUmVzcG9uc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBdXRoZW50aWNhdG9y
UmVzcG9uc2U6OkF1dGhlbnRpY2F0b3JSZXNwb25zZShSZWZQdHI8QXJyYXlCdWZmZXI+JiYgY2xp
ZW50RGF0YUpTT04pCisgICAgOiBtX2NsaWVudERhdGFKU09OKFdURk1vdmUoY2xpZW50RGF0YUpT
T04pKQoreworfQorCitBdXRoZW50aWNhdG9yUmVzcG9uc2U6On5BdXRoZW50aWNhdG9yUmVzcG9u
c2UoKQoreworfQorCitSZWZQdHI8QXJyYXlCdWZmZXI+IEF1dGhlbnRpY2F0b3JSZXNwb25zZTo6
Y2xpZW50RGF0YUpTT04oKQoreworICAgIHJldHVybiBtX2NsaWVudERhdGFKU09OOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjQ5OTQ3ODI2
NDkzMTg3OTg0NmVjMjc2N2FiNWIyMzMwNjI0MmEzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaApAQCAtMCww
ICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxydW50aW1l
L0FycmF5QnVmZmVyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQXV0aGVudGljYXRvclJlc3BvbnNlIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEF1dGhlbnRpY2F0b3JSZXNwb25zZT4geworcHVibGlj
OgorICAgIGV4cGxpY2l0IEF1dGhlbnRpY2F0b3JSZXNwb25zZShSZWZQdHI8QXJyYXlCdWZmZXI+
JiYpOworICAgIHZpcnR1YWwgfkF1dGhlbnRpY2F0b3JSZXNwb25zZSgpOworCisgICAgUmVmUHRy
PEFycmF5QnVmZmVyPiBjbGllbnREYXRhSlNPTigpOworCitwcml2YXRlOgorICAgIFJlZlB0cjxB
cnJheUJ1ZmZlcj4gbV9jbGllbnREYXRhSlNPTjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGlj
YXRvclJlc3BvbnNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVu
dGljYXRvclJlc3BvbnNlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWM0ZGRjYzU4NGM0YjgxMWMyNWYyODc2
MDFlZjY4ZWIxM2I2ZmIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRoZW50aWNhdGlvbiwKKyAg
ICBFeHBvc2VkPVdpbmRvdywKKyAgICBTZWN1cmVDb250ZXh0LAorXSBpbnRlcmZhY2UgQXV0aGVu
dGljYXRvclJlc3BvbnNlIHsKKyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEFy
cmF5QnVmZmVyIGNsaWVudERhdGFKU09OOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwCmluZGV4IGQ3MDgxMzdi
NWMzY2IwODM3NWZkNTRlYTdiYzk1YWE2ZWIyY2NlZTEuLmJkODA4MzQ5YzE0MmM5YzM4ZGMzMzBi
MjA5NzY3ZTFkNzUwNjQ5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRlbnRpYWwuaCIKIAorI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
UHVibGljS2V5Q3JlZGVudGlhbDo6UHVibGljS2V5Q3JlZGVudGlhbChjb25zdCBTdHJpbmcmIGlk
KQpAQCAtNTMsNCArNTUsMjQgQEAgRXhjZXB0aW9uT3I8UmVmUHRyPEJhc2ljQ3JlZGVudGlhbD4+
IFB1YmxpY0tleUNyZWRlbnRpYWw6OmNyZWF0ZShjb25zdCBDcmVkZW50aWEKICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfTsKIH0KIAorUmVmUHRyPEFycmF5QnVmZmVy
PiBQdWJsaWNLZXlDcmVkZW50aWFsOjpyYXdJZCgpCit7CisgICAgcmV0dXJuIG1fcmF3SWQ7CiB9
CisKK1JlZlB0cjxBdXRoZW50aWNhdG9yUmVzcG9uc2U+IFB1YmxpY0tleUNyZWRlbnRpYWw6OnJl
c3BvbnNlKCkKK3sKKyAgICByZXR1cm4gbV9yZXNwb25zZTsKK30KKworRXhjZXB0aW9uT3I8Ym9v
bD4gUHVibGljS2V5Q3JlZGVudGlhbDo6Z2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpCit7Cisg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yIH07Cit9CisKK3ZvaWQgUHVi
bGljS2V5Q3JlZGVudGlhbDo6aXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZh
aWxhYmxlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBwcm9taXNlLT5y
ZWplY3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfSk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4v
UHVibGljS2V5Q3JlZGVudGlhbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9Q
dWJsaWNLZXlDcmVkZW50aWFsLmgKaW5kZXggZDVlODAxYWMwNWJkNTdhMmU1MDZjZWRkYmE1NjU5
MTY4M2VhNzEwNy4uOTE4YTk3ODg0YWVhYzM3ZmZhN2EzNGZiODY5NzZiYTg2YWVhY2ZhZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50
aWFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVk
ZW50aWFsLmgKQEAgLTI3LDEwICsyNywxNCBAQAogCiAjaW5jbHVkZSAiQmFzaWNDcmVkZW50aWFs
LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Cisj
aW5jbHVkZSA8cnVudGltZS9BcnJheUJ1ZmZlci5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQXV0aGVudGljYXRvclJlc3BvbnNlOwor
Y2xhc3MgRGVmZXJyZWRQcm9taXNlOworCiBzdHJ1Y3QgQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
czsKIHN0cnVjdCBDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnM7CiAKQEAgLTQ2LDggKzUwLDE4IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPEJhc2ljQ3JlZGVudGlhbD4gc3RvcmUoUmVmUHRy
PEJhc2ljQ3JlZGVudGlhbD4mJiwgYm9vbCk7CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZlB0
cjxCYXNpY0NyZWRlbnRpYWw+PiBjcmVhdGUoY29uc3QgQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cyYsIGJvb2wpOwogCisgICAgUmVmUHRyPEFycmF5QnVmZmVyPiByYXdJZCgpOworICAgIFJlZlB0
cjxBdXRoZW50aWNhdG9yUmVzcG9uc2U+IHJlc3BvbnNlKCk7CisgICAgLy8gTm90IHN1cHBvcnQg
eWV0LiBBbHdheXMgdGhyb3dzLgorICAgIEV4Y2VwdGlvbk9yPGJvb2w+IGdldENsaWVudEV4dGVu
c2lvblJlc3VsdHMoKTsKKworICAgIHN0YXRpYyB2b2lkIGlzVXNlclZlcmlmeWluZ1BsYXRmb3Jt
QXV0aGVudGljYXRvckF2YWlsYWJsZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKwogcHJpdmF0
ZToKICAgICBQdWJsaWNLZXlDcmVkZW50aWFsKGNvbnN0IFN0cmluZyYpOworCisgICAgUmVmUHRy
PEFycmF5QnVmZmVyPiBtX3Jhd0lkOworICAgIFJlZlB0cjxBdXRoZW50aWNhdG9yUmVzcG9uc2U+
IG1fcmVzcG9uc2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbApp
bmRleCBmOWIyMDIzMDdmNWMzZThjMDFlMzI2OGRhNDUxOTUyMTA3ZWRkMDgyLi5jMDhlY2Q2ZjUw
NDQ0MWVmZTNhMDZhMTBjYWM5NjBiMzg5Yjg1MjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5pZGwKQEAgLTIzLDEw
ICsyMywyMiBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKK3R5
cGVkZWYgYm9vbGVhbiBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnM7CisKKy8vIGVudW0gVXNlclZl
cmlmaWNhdGlvblJlcXVpcmVtZW50IHsKKy8vICAgICAicmVxdWlyZWQiLAorLy8gICAgICJwcmVm
ZXJyZWQiLAorLy8gICAgICJkaXNjb3VyYWdlZCIKKy8vIH07CisKIFsKICAgICBFbmFibGVkQXRS
dW50aW1lPVdlYkF1dGhlbnRpY2F0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIFNlY3Vy
ZUNvbnRleHQsCiBdIGludGVyZmFjZSBQdWJsaWNLZXlDcmVkZW50aWFsIHsKLSAgICAvLyBEdW1t
eSBmb3Igbm93LgorICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZm
ZXIgcmF3SWQ7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdXRoZW50aWNh
dG9yUmVzcG9uc2UgcmVzcG9uc2U7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBBdXRoZW50aWNh
dGlvbkV4dGVuc2lvbnMgZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpOworCisgICAgc3RhdGlj
IFByb21pc2U8Ym9vbGVhbj4gaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZh
aWxhYmxlKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wMzcyNDIxZWEyNTZkNDE0NjAwNjc5MWIxNTlkYzhjZGZkNTg0NzgzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiUHVibGlj
S2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJQdWJsaWNLZXlDcmVkZW50aWFs
VHlwZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kworc3RydWN0IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgeworICAgIHN0cnVj
dCBFbnRpdHkgeworICAgICAgICBTdHJpbmcgbmFtZTsKKyAgICAgICAgU3RyaW5nIGljb247Cisg
ICAgfTsKKworICAgIHN0cnVjdCBScEVudGl0eSA6IHB1YmxpYyBFbnRpdHkgeworICAgICAgICBT
dHJpbmcgaWQ7CisgICAgfTsKKworICAgIHN0cnVjdCBVc2VyRW50aXR5IDogcHVibGljIEVudGl0
eSB7CisgICAgICAgIEJ1ZmZlclNvdXJjZSBpZDsKKyAgICAgICAgU3RyaW5nIGRpc3BsYXlOYW1l
OworICAgIH07CisKKyAgICBzdHJ1Y3QgUGFyYW1ldGVycyB7CisgICAgICAgIFB1YmxpY0tleUNy
ZWRlbnRpYWxUeXBlIHR5cGU7CisgICAgICAgIGxvbmcgYWxnOworICAgIH07CisKKyAgICBScEVu
dGl0eSBycDsKKyAgICBVc2VyRW50aXR5IHVzZXI7CisKKyAgICBCdWZmZXJTb3VyY2UgY2hhbGxl
bmdlOworICAgIFZlY3RvcjxQYXJhbWV0ZXJzPiBwdWJLZXlDcmVkUGFyYW1zOworCisgICAgdW5z
aWduZWQgbG9uZyB0aW1lb3V0OworICAgIFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3Jp
cHRvcj4gZXhjbHVkZUNyZWRlbnRpYWxzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJk
YjE0MTk0MmQ1YjRkZDZmYWZhMjBjMWQ4YWEzN2Y0ZTFiYTM1MQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0
aW9uT3B0aW9ucy5pZGwKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGVudW0gQXV0
aGVudGljYXRvckF0dGFjaG1lbnQgeworLy8gICAgICJwbGF0Zm9ybSIsICAgICAgIC8vIFBsYXRm
b3JtIGF0dGFjaG1lbnQKKy8vICAgICAiY3Jvc3MtcGxhdGZvcm0iICAvLyBDcm9zcy1wbGF0Zm9y
bSBhdHRhY2htZW50CisvLyB9OworCisvLyBlbnVtIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZl
cmVuY2UgeworLy8gICAgICJub25lIiwKKy8vICAgICAiaW5kaXJlY3QiLAorLy8gICAgICJkaXJl
Y3QiCisvLyB9OworCit0eXBlZGVmIGxvbmcgQ09TRUFsZ29yaXRobUlkZW50aWZpZXI7CisKK2Rp
Y3Rpb25hcnkgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyB7CisgICAgcmVxdWly
ZWQgUHVibGljS2V5Q3JlZGVudGlhbFJwRW50aXR5IHJwOworICAgIHJlcXVpcmVkIFB1YmxpY0tl
eUNyZWRlbnRpYWxVc2VyRW50aXR5IHVzZXI7CisKKyAgICByZXF1aXJlZCBCdWZmZXJTb3VyY2Ug
Y2hhbGxlbmdlOworICAgIHJlcXVpcmVkIHNlcXVlbmNlPFB1YmxpY0tleUNyZWRlbnRpYWxQYXJh
bWV0ZXJzPiBwdWJLZXlDcmVkUGFyYW1zOworCisgICAgdW5zaWduZWQgbG9uZyB0aW1lb3V0Owor
ICAgIHNlcXVlbmNlPFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yPiBleGNsdWRlQ3JlZGVu
dGlhbHMgPSBbXTsKKyAgICAvLyBXZSBkb24ndCBhbGxvdyBSUHMgdG8gc2VsZWN0IGF1dGhlbnRp
Y2F0b3JzIGF0IHRoaXMgc3RhZ2UuCisgICAgLy8gSGVuY2UsIHRob3NlIG9wdGlvbnMgYXJlIGFs
d2F5cyB7ICJwbGF0Zm9ybSIsIHRydWUsICJyZXF1aXJlZCIgfS4KKyAgICAvLyBBdXRoZW50aWNh
dG9yU2VsZWN0aW9uQ3JpdGVyaWEgYXV0aGVudGljYXRvclNlbGVjdGlvbjsKKyAgICAvLyBBbHdh
eXMgImRpcmVjdCIgZm9yIHVzLgorICAgIC8vIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVu
Y2UgYXR0ZXN0YXRpb24gPSAibm9uZSI7CisgICAgLy8gTm90IHN1cHBvcnQgeWV0LgorICAgIC8v
IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9ucyBleHRlbnNpb25zOworfTsKKworZGljdGlvbmFyeSBQ
dWJsaWNLZXlDcmVkZW50aWFsRW50aXR5IHsKKyAgICByZXF1aXJlZCBET01TdHJpbmcgbmFtZTsK
KyAgICBVU1ZTdHJpbmcgaWNvbjsKK307CisKK2RpY3Rpb25hcnkgUHVibGljS2V5Q3JlZGVudGlh
bFJwRW50aXR5IDogUHVibGljS2V5Q3JlZGVudGlhbEVudGl0eSB7CisgICAgRE9NU3RyaW5nIGlk
OworfTsKKworZGljdGlvbmFyeSBQdWJsaWNLZXlDcmVkZW50aWFsVXNlckVudGl0eSA6IFB1Ymxp
Y0tleUNyZWRlbnRpYWxFbnRpdHkgeworICAgIHJlcXVpcmVkIEJ1ZmZlclNvdXJjZSBpZDsKKyAg
ICByZXF1aXJlZCBET01TdHJpbmcgZGlzcGxheU5hbWU7Cit9OworCitkaWN0aW9uYXJ5IFB1Ymxp
Y0tleUNyZWRlbnRpYWxQYXJhbWV0ZXJzIHsKKyAgICByZXF1aXJlZCBQdWJsaWNLZXlDcmVkZW50
aWFsVHlwZSB0eXBlOworICAgIHJlcXVpcmVkIENPU0VBbGdvcml0aG1JZGVudGlmaWVyIGFsZzsK
K307CisKKy8vIFdlIGRvbid0IGFsbG93IFJQcyB0byBzZWxlY3QgYXV0aGVudGljYXRvcnMgYXQg
dGhpcyBzdGFnZS4KKy8vIGRpY3Rpb25hcnkgQXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlh
IHsKKy8vICAgICBBdXRoZW50aWNhdG9yQXR0YWNobWVudCBhdXRoZW50aWNhdG9yQXR0YWNobWVu
dDsKKy8vICAgICBib29sZWFuIHJlcXVpcmVSZXNpZGVudEtleSA9IGZhbHNlOworLy8gICAgIFVz
ZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudCB1c2VyVmVyaWZpY2F0aW9uID0gInByZWZlcnJlZCI7
CisvLyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJs
aWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dXRobi9QdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczZTQ0OTIz
NzI0ZjMxMjViMWVkYWRlMzY4NzM4N2VkYjFhZTgxODUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9y
LmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiQnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlhbERlc2Ny
aXB0b3IgeworICAgIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlIHR5cGU7CisgICAgQnVmZmVyU291
cmNlIGlkOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxE
ZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTNmODY0NGIxOWUwNTFiMDNiZDk0OGUxZmFkODJi
NzBlZjRkOGVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dXRobi9QdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSwzMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK2RpY3Rpb25hcnkgUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3Igewor
ICAgIHJlcXVpcmVkIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlIHR5cGU7CisgICAgcmVxdWlyZWQg
QnVmZmVyU291cmNlIGlkOworICAgIC8vIFdlIG9ubHkgYWxsb3cgcGxhdGZvcm0gYXR0YWNobWVu
dCBhdCB0aGlzIHN0YWdlLgorICAgIC8vIHNlcXVlbmNlPEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ+
IHRyYW5zcG9ydHM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dXRobi9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjU2NDE4YWQ3MDhlOTRhNmYwMTNjMDllNWZmZDFkOTc4Y2NmY2E1MQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3Jl
ZGVudGlhbFJlcXVlc3RPcHRpb25zLmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiUHVibGlj
S2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnMgeworICAgIEJ1ZmZlclNvdXJjZSBjaGFsbGVuZ2U7CisgICAgdW5zaWduZWQgbG9uZyB0
aW1lb3V0OworICAgIFN0cmluZyBycElkOworICAgIFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFs
RGVzY3JpcHRvcj4gYWxsb3dDcmVkZW50aWFsczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5
Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
MzFlYmQzMGY5YWMwZTE0NTg2ZjU1ZGRkZmI0ZWU1NTMxNzBkMDI3Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsUmVx
dWVzdE9wdGlvbnMuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5
IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyB7CisgICAgcmVxdWlyZWQgQnVmZmVy
U291cmNlIGNoYWxsZW5nZTsKKyAgICB1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CisgICAgVVNWU3Ry
aW5nIHJwSWQ7CisgICAgc2VxdWVuY2U8UHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+IGFs
bG93Q3JlZGVudGlhbHMgPSBbXTsKKyAgICAvLyBBbHdheXMgInJlcXVpcmVkIiBhdCB0aGlzIHN0
YWdlCisgICAgLy8gVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50IHVzZXJWZXJpZmljYXRpb24g
PSAicHJlZmVycmVkIjsKKyAgICAvLyBOb3Qgc3VwcG9ydCB5ZXQuCisgICAgLy8gQXV0aGVudGlj
YXRpb25FeHRlbnNpb25zIGV4dGVuc2lvbnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYxYTFmZTk5ZWI2YmE3YjlhNjE4YTQ1ZWZlYzE2Y2ZkZGZjYzUwZGEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRp
YWxUeXBlLmgKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgUHVibGljS2V5Q3JlZGVudGlhbFR5cGUg
eworICAgIFB1YmxpY0tleQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsVHlw
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRp
YWxUeXBlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTZjNDczZTllZDRhNTg0ZDQyZjAzZGQwNGY1MzE2NDNm
ZjZiM2IwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9QdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5pZGwKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK1sKKyAgICBJbXBsZW1lbnRlZEFzPVB1YmxpY0tleUNyZWRlbnRpYWxUeXBlCitdIGVudW0g
UHVibGljS2V5Q3JlZGVudGlhbFR5cGUgeworICAgICJwdWJsaWMta2V5IgorfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKaW5kZXggMzc1MTIwOWQ2MzNkM2JiYjgwZjQ0MmZjMDM2MjcxMWVmYzg4ZWFiOS4uMmQwYmQw
NGIwYWUyM2MzNjkzMTA1NWYyOWFhYjA3NzA4N2JmZTcyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTI0
NCw2ICsyNDQsOSBAQCBNb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJEU1BLZXJuZWwuY3BwCiBN
b2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcAogTW9kdWxlcy93ZWJhdWRpby9XYXZl
U2hhcGVyUHJvY2Vzc29yLmNwcAogCitNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZS5jcHAKK01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0
aW9uUmVzcG9uc2UuY3BwCitNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5j
cHAKIE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAKIE1vZHVsZXMvd2Vi
YXV0aG4vY2Jvci9DQk9SUmVhZGVyLmNwcAogTW9kdWxlcy93ZWJhdXRobi9jYm9yL0NCT1JWYWx1
ZS5jcHAKQEAgLTIzMjUsNiArMjMyOCw5IEBAIEpTQXVkaW9MaXN0ZW5lci5jcHAKIEpTQXVkaW9O
b2RlLmNwcAogSlNBdWRpb1BhcmFtLmNwcAogSlNBdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAKK0pT
QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmNwcAorSlNBdXRoZW50aWNhdG9yQXR0ZXN0
YXRpb25SZXNwb25zZS5jcHAKK0pTQXV0aGVudGljYXRvclJlc3BvbnNlLmNwcAogSlNCYXJQcm9w
LmNwcAogSlNCYXNpY0NyZWRlbnRpYWwuY3BwCiBKU0JlZm9yZUxvYWRFdmVudC5jcHAKQEAgLTI3
NDMsNiArMjc0OSwxMCBAQCBKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKIEpTUHJvZ3Jlc3NF
dmVudC5jcHAKIEpTUHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcAogSlNQdWJsaWNLZXlDcmVkZW50
aWFsLmNwcAorSlNQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5jcHAKK0pTUHVibGljS2V5
Q3JlZGVudGlhbFR5cGUuY3BwCitKU1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMu
Y3BwCitKU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5jcHAKIEpTUlRDQW5zd2Vy
T3B0aW9ucy5jcHAKIEpTUlRDQ29uZmlndXJhdGlvbi5jcHAKIEpTUlRDRFRNRlNlbmRlci5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA3ZTVkNjEyNGViNjk1MWY2N2ZhYWZjY2M5NDE0YjE4OTdjMzIzNzAzLi44NDJlNTNkNTRi
NWNhNTBiZDA4NTY3Njg4YjczMjRhMmJkMDFmM2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjQ1LDYgKzE2NDUsMjAgQEAK
IAkJNTczMDNCQkEyMDA2QzZFRTAwMzU1OTY1IC8qIENCT1JXcml0ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQkI1MjAwNkM2RUQwMDM1NTk2
NSAvKiBDQk9SV3JpdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNTczMDNCQkIyMDA2QzZFRTAwMzU1OTY1IC8qIENCT1JCaW5hcnkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQkI2MjAwNkM2
RUQwMDM1NTk2NSAvKiBDQk9SQmluYXJ5LmggKi87IH07CiAJCTU3MzAzQkMxMjAwNkUwMEMwMDM1
NTk2NSAvKiBDQk9SUmVhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1NzMwM0JCRjIwMDZFMDBDMDAzNTU5NjUgLyogQ0JPUlJlYWRlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTU3MzAzQkQyMjAw
ODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQkNGMjAwODdBODMwMDM1NTk2NSAv
KiBBdXRoZW50aWNhdG9yUmVzcG9uc2UuaCAqLzsgfTsKKwkJNTczMDNCRTEyMDA5NUQ2MTAwMzU1
OTY1IC8qIEpTQXV0aGVudGljYXRvclJlc3BvbnNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzMwM0JERDIwMDk1QjI2MDAzNTU5NjUgLyogSlNBdXRo
ZW50aWNhdG9yUmVzcG9uc2UuaCAqLzsgfTsKKwkJNTczMDNCRTkyMDA5NzQ4RDAwMzU1OTY1IC8q
IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQkU2MjAwOTc0N0EwMDM1NTk2NSAvKiBQ
dWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggKi87IH07CisJCTU3MzAzQkVCMjAw
OTdGNDAwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNCRUEyMDA5N0Y0MDAwMzU1OTY1
IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmggKi87IH07CisJCTU3MzAzQkVGMjAwOTgwQzYw
MDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNCRUMyMDA5ODBCRjAwMzU1OTY1
IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmggKi87IH07CisJCTU3MzAzQkY0MjAw
OTkwNDYwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzMwM0JGMjIwMDk5MDQ1
MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oICovOyB9OworCQk1
NzMwM0MwMDIwMDk5NTFDMDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNCRjkyMDA5
OTEzNDAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCAqLzsgfTsKKwkJNTcz
MDNDMEEyMDA5OUJBRDAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9u
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDND
MDYyMDA5OThGODAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5o
ICovOyB9OworCQk1NzMwM0MxMTIwMDk5Q0IxMDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50
aWFsUmVxdWVzdE9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3MzAzQzBDMjAwOTlDNzUwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucy5oICovOyB9OworCQk1NzMwM0MxOTIwMDlBMkYzMDAzNTU5NjUgLyog
SlNQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzMwM0MxMzIwMDlBMjU3MDAzNTU5NjUgLyog
SlNQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggKi87IH07CisJCTU3MzAzQzFG
MjAwOUFCNDIwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNDMUIyMDA5
QTk4NjAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggKi87IH07
CisJCTU3MzAzQzIyMjAwOUFGMDMwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlv
blJlc3BvbnNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NzMwM0MyMTIwMDlBRUY2MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25S
ZXNwb25zZS5oICovOyB9OworCQk1NzMwM0MyQzIwMDlCNEE4MDAzNTU5NjUgLyogQXV0aGVudGlj
YXRvckFzc2VydGlvblJlc3BvbnNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1NzMwM0MyNzIwMDlCMkZDMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckFz
c2VydGlvblJlc3BvbnNlLmggKi87IH07CisJCTU3MzAzQzJGMjAwOUI3RTEwMDM1NTk2NSAvKiBK
U0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNDMkQyMDA5QjdEOTAwMzU1OTY1IC8qIEpTQXV0
aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmggKi87IH07CiAJCTU3MzQ4OTM5MURBQzZCNkUw
MERDMDY2NyAvKiBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzM0ODkzODFEQUM2QjZEMDBEQzA2NjcgLyog
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oICovOyB9OwogCQk1NzM5RTEyRjFEQUM3Rjc4MDBF
MTQzODMgLyogSlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzM5RTEyRTFEQUM3Rjc4MDBFMTQzODMgLyog
SlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmggKi87IH07CiAJCTU3NTBBOTc1MUU2OEQwMDAw
MDcwNUM0QSAvKiBDcnlwdG9LZXlFQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTc1MEE5NzMxRTY4RDAwMDAwNzA1QzRBIC8qIENyeXB0b0tleUVDLmgg
Ki87IH07CkBAIC04MTgwLDYgKzgxOTQsMzcgQEAKIAkJNTczMDNCQjgyMDA2QzZFRDAwMzU1OTY1
IC8qIENCT1JXcml0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q0JPUldyaXRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MzAzQkJFMjAw
NkUwMDQwMDM1NTk2NSAvKiBDQk9SUmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENCT1JSZWFkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1NzMwM0JCRjIwMDZFMDBDMDAzNTU5NjUgLyogQ0JPUlJlYWRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDQk9SUmVhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTU3MzAzQkNGMjAwODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yUmVzcG9uc2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQXV0aGVudGljYXRvclJlc3BvbnNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTU3MzAzQkQwMjAwODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9y
UmVzcG9uc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXV0aGVudGljYXRvclJlc3BvbnNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNCRDEyMDA4N0E4MzAwMzU1OTY1
IC8qIEF1dGhlbnRpY2F0b3JSZXNwb25zZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXV0aGVudGljYXRvclJlc3BvbnNl
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNCREQyMDA5NUIyNjAwMzU1
OTY1IC8qIEpTQXV0aGVudGljYXRvclJlc3BvbnNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQXV0aGVudGljYXRvclJlc3BvbnNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTU3MzAzQkRFMjAwOTVCMjcwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JSZXNw
b25zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1dGhlbnRp
Y2F0b3JSZXNwb25zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQkU2
MjAwOTc0N0EwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNCRTgyMDA5NzQ3QTAwMzU1OTY1IC8qIFB1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1YmxpY0tleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzMwM0JFQTIwMDk3RjQwMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTczMDNCRUMyMDA5ODBCRjAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRp
YWxEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlw
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQkVFMjAwOTgwQkYwMDM1
NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUHVibGljS2V5
Q3JlZGVudGlhbERlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzMwM0JGMDIwMDk4NDYxMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTczMDNCRjEyMDA5OTA0NTAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbERl
c2NyaXB0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQdWJs
aWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTU3MzAzQkYyMjAwOTkwNDUwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxEZXNj
cmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUHVibGljS2V5Q3Jl
ZGVudGlhbERlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNC
RjkyMDA5OTEzNDAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0JGQTIwMDk5MTM1MDAzNTU5NjUgLyog
SlNQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNTczMDNDMDYyMDA5OThGODAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRl
bnRpYWxSZXF1ZXN0T3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQdWJsaWNLZXlDcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNDMDgy
MDA5OThGODAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNDMEIyMDA5OUM3NDAwMzU1OTY1IC8qIEpTUHVibGljS2V5
Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNDMEMyMDA5OUM3NTAwMzU1OTY1IC8qIEpTUHVi
bGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQzEzMjAwOUEyNTcwMDM1NTk2NSAvKiBKU1B1Ymxp
Y0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQzE0MjAwOUEyNTcwMDM1NTk2NSAvKiBKU1B1Ymxp
Y0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNDMUIyMDA5QTk4NjAwMzU1OTY1IC8q
IEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhl
bnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTU3MzAzQzFDMjAwOUE5ODYwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25S
ZXNwb25zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25S
ZXNwb25zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQzFEMjAwOUE5
ODYwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
QXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk1NzMwM0MyMDIwMDlBRUY1MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0
ZXN0YXRpb25SZXNwb25zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNTczMDNDMjEyMDA5QUVGNjAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRv
ckF0dGVzdGF0aW9uUmVzcG9uc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk1NzMwM0MyNzIwMDlCMkZDMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckFzc2Vy
dGlvblJlc3BvbnNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNw
b25zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0MyODIwMDlCMkZDMDAz
NTU5NjUgLyogQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTU3MzAzQzI5MjAwOUIyRkMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9y
QXNzZXJ0aW9uUmVzcG9uc2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25z
ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQzJEMjAwOUI3RDkwMDM1
NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0MyRTIwMDlCN0RBMDAzNTU5NjUgLyog
SlNBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzM0ODkzODFEQUM2QjZEMDBEQzA2NjcgLyog
Q3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU3MzlFMTJFMURBQzdGNzgwMEUxNDM4MyAvKiBKU0NyeXB0b0FsZ29yaXRobVBhcmFt
ZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9BbGdvcml0
aG1QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MzlFMTMwMURB
QzdGRDEwMEUxNDM4MyAvKiBKU0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MTI0LDkgKzE4MTY5LDI2IEBA
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTU3MzAzQkIzMjAwNkM2
RUQwMDM1NTk2NSAvKiBjYm9yICovLAorCQkJCTU3MzAzQzI4MjAwOUIyRkMwMDM1NTk2NSAvKiBB
dXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwICovLAorCQkJCTU3MzAzQzI3MjAwOUIy
RkMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaCAqLywKKwkJCQk1
NzMwM0MyOTIwMDlCMkZDMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
LmlkbCAqLywKKwkJCQk1NzMwM0MxQzIwMDlBOTg2MDAzNTU5NjUgLyogQXV0aGVudGljYXRvckF0
dGVzdGF0aW9uUmVzcG9uc2UuY3BwICovLAorCQkJCTU3MzAzQzFCMjAwOUE5ODYwMDM1NTk2NSAv
KiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oICovLAorCQkJCTU3MzAzQzFEMjAw
OUE5ODYwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5pZGwgKi8s
CisJCQkJNTczMDNCRDAyMDA4N0E4MzAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JSZXNwb25zZS5j
cHAgKi8sCisJCQkJNTczMDNCQ0YyMDA4N0E4MzAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JSZXNw
b25zZS5oICovLAorCQkJCTU3MzAzQkQxMjAwODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9y
UmVzcG9uc2UuaWRsICovLAogCQkJCTU3RDg0NjJDMUZFQUY2OEYwMENBMzY4MiAvKiBQdWJsaWNL
ZXlDcmVkZW50aWFsLmNwcCAqLywKIAkJCQk1N0Q4NDYyQjFGRUFGNjhGMDBDQTM2ODIgLyogUHVi
bGljS2V5Q3JlZGVudGlhbC5oICovLAogCQkJCTU3RDg0NjJEMUZFQUY2OEYwMENBMzY4MiAvKiBQ
dWJsaWNLZXlDcmVkZW50aWFsLmlkbCAqLywKKwkJCQk1NzMwM0JFNjIwMDk3NDdBMDAzNTU5NjUg
LyogUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oICovLAorCQkJCTU3MzAzQkU4
MjAwOTc0N0EwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlk
bCAqLywKKwkJCQk1NzMwM0JFQzIwMDk4MEJGMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlh
bERlc2NyaXB0b3IuaCAqLywKKwkJCQk1NzMwM0JFRTIwMDk4MEJGMDAzNTU5NjUgLyogUHVibGlj
S2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaWRsICovLAorCQkJCTU3MzAzQzA2MjAwOTk4RjgwMDM1
NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCAqLywKKwkJCQk1NzMw
M0MwODIwMDk5OEY4MDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmlkbCAqLywKKwkJCQk1NzMwM0JFQTIwMDk3RjQwMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVu
dGlhbFR5cGUuaCAqLywKKwkJCQk1NzMwM0JGMDIwMDk4NDYxMDAzNTU5NjUgLyogUHVibGljS2V5
Q3JlZGVudGlhbFR5cGUuaWRsICovLAogCQkJKTsKIAkJCXBhdGggPSB3ZWJhdXRobjsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xODEzNCw4ICsxODE5NiwyMiBAQAogCQk1N0Q4NDYy
RjFGRUFGQjA1MDBDQTM2ODIgLyogV2ViQXV0aE4gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTU3MzAzQzJFMjAwOUI3REEwMDM1NTk2NSAvKiBKU0F1dGhl
bnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5jcHAgKi8sCisJCQkJNTczMDNDMkQyMDA5QjdEOTAw
MzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmggKi8sCisJCQkJNTcz
MDNDMjAyMDA5QUVGNTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9u
c2UuY3BwICovLAorCQkJCTU3MzAzQzIxMjAwOUFFRjYwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0
b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggKi8sCisJCQkJNTczMDNCREUyMDA5NUIyNzAwMzU1OTY1
IC8qIEpTQXV0aGVudGljYXRvclJlc3BvbnNlLmNwcCAqLywKKwkJCQk1NzMwM0JERDIwMDk1QjI2
MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yUmVzcG9uc2UuaCAqLywKIAkJCQk1N0Q4NDYzMTFG
RUFGQzJGMDBDQTM2ODIgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsLmNwcCAqLywKIAkJCQk1N0Q4
NDYzMDFGRUFGQzJGMDBDQTM2ODIgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsLmggKi8sCisJCQkJ
NTczMDNDMTQyMDA5QTI1NzAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9u
T3B0aW9ucy5jcHAgKi8sCisJCQkJNTczMDNDMTMyMDA5QTI1NzAwMzU1OTY1IC8qIEpTUHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oICovLAorCQkJCTU3MzAzQkYxMjAwOTkwNDUw
MDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmNwcCAqLywKKwkJCQk1
NzMwM0JGMjIwMDk5MDQ1MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRv
ci5oICovLAorCQkJCTU3MzAzQzBCMjAwOTlDNzQwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRl
bnRpYWxSZXF1ZXN0T3B0aW9ucy5jcHAgKi8sCisJCQkJNTczMDNDMEMyMDA5OUM3NTAwMzU1OTY1
IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmggKi8sCisJCQkJNTczMDNC
RkEyMDA5OTEzNTAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuY3BwICovLAor
CQkJCTU3MzAzQkY5MjAwOTkxMzQwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxUeXBl
LmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IFdlYkF1dGhOOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKQEAgLTI2NDE4LDYgKzI2NDk0LDkgQEAKIAkJCQk5MzRGNzEzQTBENUE2RjEwMDAwMThE
NjkgLyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
MTI0NzQ4NDEwQUExNjFEMDBCNzk0OTMgLyogQXV0aGVudGljYXRpb25DbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxNEM3NjRDMENFOTIzNEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1h
Yy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNDMkMyMDA5QjRBODAwMzU1OTY1IC8qIEF1dGhl
bnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNDMUYy
MDA5QUI0MjAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggaW4g
SGVhZGVycyAqLywKKwkJCQk1NzMwM0JEMjIwMDg3QTgzMDAzNTU5NjUgLyogQXV0aGVudGljYXRv
clJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTAxOTIwRTEzMkVCRjJFMDA4QkZFNTUg
LyogQXV0b2NhcGl0YWxpemUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1QTdBQTQzMTMyRjBFQ0Mw
MEQzQTNDMiAvKiBBdXRvY2FwaXRhbGl6ZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzE4
NDNGRTFDOEI3MjgzMDAyRUI5NzMgLyogQXV0b2ZpbGwuaCBpbiBIZWFkZXJzICovLApAQCAtMjc2
MzUsNiArMjc3MTQsOSBAQAogCQkJCUZEQTE1RUI2MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlv
UHJvY2Vzc2luZ0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCRThFRjA0MzE3MUM4RkY5MDA5
QjQ4QzMgLyogSlNBdWRpb1RyYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCRThFRjA0NTE3MUM4
RkY5MDA5QjQ4QzMgLyogSlNBdWRpb1RyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTcz
MDNDMkYyMDA5QjdFMTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
LmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzMwM0MyMjIwMDlBRjAzMDAzNTU5NjUgLyogSlNBdXRo
ZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNC
RTEyMDA5NUQ2MTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvclJlc3BvbnNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzEyNEYwMDBDMjY0NDdBMDA5RTIzNDkgLyogSlNCYXJQcm9wLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1N0M3QTY5RjFFNTc5MTc4MDBDNjdENzEgLyogSlNCYXNpY0NyZWRlbnRp
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOTQ2MzQ4MTA3QTkzNjYwMDg1NzE5MyAvKiBKU0Jl
Zm9yZUxvYWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODA4MCw2ICsyODE2MiwxMCBAQAog
CQkJCUU0NDYxM0VFMENENjgxQkIwMEZBREE3NSAvKiBKU1Byb2dyZXNzRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE1NzhGNDNDMURFMDE0MjMwMDNERkM2QSAvKiBKU1Byb21pc2VSZWplY3Rp
b25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdEODQ2MzUxRkVBRkNEMzAwQ0EzNjgyIC8q
IEpTUHVibGljS2V5Q3JlZGVudGlhbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNDMTkyMDA5
QTJGMzAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNTczMDNCRjQyMDA5OTA0NjAwMzU1OTY1IC8qIEpTUHVibGljS2V5
Q3JlZGVudGlhbERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3MzAzQzExMjAwOTlD
QjEwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTczMDNDMDAyMDA5OTUxQzAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3Jl
ZGVudGlhbFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3NzY2NEZEMTgzRTZCNUMwMDEzM0I5
MiAvKiBKU1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
NjU4RkZBMjE1MjJFRjNBMDBERDU1OTUgLyogSlNSYWRpb05vZGVMaXN0LmggaW4gSGVhZGVycyAq
LywKIAkJCQk2NURGMzIwMjA5RDFDQzYwMDAwQkUzMjUgLyogSlNSYW5nZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yODkyMyw2ICsyOTAwOSwxMCBAQAogCQkJCTFBRjhFMTFBMTI1NjU5MjYwMDIzMEZG
NyAvKiBQcm94eVNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkY5NDVFQ0MxNjFGN0YzNjAw
OTcxQkM4IC8qIFBzZXVkb0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RDg0NjJFMUZF
QUY2OTkwMENBMzY4MiAvKiBQdWJsaWNLZXlDcmVkZW50aWFsLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk1NzMwM0JFOTIwMDk3NDhEMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9u
T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNCRUYyMDA5ODBDNjAwMzU1OTY1IC8q
IFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzMw
M0MwQTIwMDk5QkFEMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzMwM0JFQjIwMDk3RjQwMDAzNTU5NjUgLyogUHVibGlj
S2V5Q3JlZGVudGlhbFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwODFGRjAwMTZCMEEyRDMw
MDhBQUE3QSAvKiBQdWJsaWNTdWZmaXguaCBpbiBIZWFkZXJzICovLAogCQkJCTEwRkIwODRCMTRF
MTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
NTBBMEJDQTA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5oIGluIEhlYWRlcnMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
aW5kZXggNjZjODUwZmQzMGY5MmQ0NDVmYzlmZGU1MGVlOTBmODdkZTFiYmNlZi4uMzEzNDg1MWRk
MmYxNjE3OWFlNzdhMjA0ZWI2YjhiZjk2MTA0OGJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtNDAsNiArNDAsOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oQXBwbGVQYXlTZXNzaW9uKSBcCiAgICAgbWFjcm8o
QXR0YWNobWVudEVsZW1lbnQpIFwKICAgICBtYWNybyhBdWRpbykgXAorICAgIG1hY3JvKEF1dGhl
bnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSkgXAorICAgIG1hY3JvKEF1dGhlbnRpY2F0b3JBdHRl
c3RhdGlvblJlc3BvbnNlKSBcCisgICAgbWFjcm8oQXV0aGVudGljYXRvclJlc3BvbnNlKSBcCiAg
ICAgbWFjcm8oQ2FjaGUpIFwKICAgICBtYWNybyhDYWNoZVN0b3JhZ2UpIFwKICAgICBtYWNybyhD
bGllbnQpIFwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA3YmRiZTI2OWJhMzE0ODlhOTlhZjZhY2MzZWY4NWQ2YWI1YTViNWUw
Li5kOTgxMTg0ZGQ4ZmVmOTNhZTU5NTI2YTIwYjNmNTBiNTBhZmE3MjUxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTgtMDEtMTIgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4K
KworICAgICAgICBbV2ViQXV0aE5dIEltcGxlbWVudCBkdW1teSBXZWJBdXRoTiBJRExzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODE2MjcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzM2NDU5ODY0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmeSBzb21lIHRlc3RzIHRvIHJlZmxlY3QgdGhlIHVw
ZGF0ZS4KKworICAgICAgICAqIGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50
aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFzaWNzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBodHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3Jl
YXRlLWJhc2ljcy5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFu
YWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1nZXQtYmFzaWNzLmh0dHBzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNj
b250YWluZXItZ2V0LWJhc2ljcy5odHRwcy5odG1sOgorCiAyMDE4LTAxLTEyICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQcm9jZXNzIHNob3VsZCBwYXNz
IHRoZSByZWdpc3RyYXRpb24gaWRlbnRpZmllciBhbmQgbm90IHRoZSB3b3JrZXIgaWRlbnRpZmll
ciBmb3IgZmV0Y2ggZXZlbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBmMmQw
ZmJhY2RmNWM2NGRmNDFkZWIxZmNjZjFiNDczM2UwMzdiYWIwLi5mZDc2MzMwM2JkOTJkMmM4MjY0
ZGFmMDNkZTcwYzUwM2ZkNWFjODA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxOC0wMS0xMiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFtXZWJBdXRoTl0gSW1wbGVtZW50IGR1bW15IFdlYkF1dGhOIElETHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTYyNwor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzY0NTk4NjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlh
bC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMtZXhw
ZWN0ZWQudHh0OgorCiAyMDE4LTAxLTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZWRpcmVjdGVkIGlmcmFtZSBsb2FkaW5nIHdpdGggUmVxdWVzdC5yZWRp
cmVjdD1mb2xsb3cgc2hvdWxkIGZhaWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFzaWNz
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFu
YWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFzaWNzLmh0dHBzLWV4cGVjdGVk
LnR4dAppbmRleCAzZGYyY2IzZjMxOGJjZWRlNDAyZjFlMjlmNTdmMjQ4OTg4ZTk5OTU3Li45N2Ri
OTBiMDc1MTVlNDRmNDk0OTI4NzJhODM2NDE0MDVkNWJkYzA0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXIt
Y3JlYXRlLWJhc2ljcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNp
Y3MuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNyBAQAogCiBQQVNTIG5hdmlnYXRvci5j
cmVkZW50aWFscy5jcmVhdGUoKSB3aXRoIG5vIGFyZ3VtZW50LiAKIFBBU1MgbmF2aWdhdG9yLmNy
ZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggZW1wdHkgYXJndW1lbnQuIAotRkFJTCBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwdWJsaWNLZXkgZGF0YSBhc3NlcnRfdGhy
b3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiTm90
U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iICgiTm90U3Vw
cG9ydGVkRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQor
UEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwdWJsaWNLZXkg
ZGF0YSAKIFBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgZGF0
YSAKIFBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYWJvcnQgc2lnbmFs
IHNldCAKLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggZmFrZWQgZGF0
YSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2Vt
ZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5l
ci1jcmVhdGUtYmFzaWNzLmh0dHBzLmh0bWwKaW5kZXggNmM4NmFlNWFlZWE3YTVmZmExODAyMmQ0
OTRjZWZiY2U0ZjBjZDFjNy4uODE1ZTVhOGQzMmMyOTZlZmYyNzk5NjZkOGE0NjAxNzJlZDdlMWNl
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50
L2NyZWRlbnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWlu
ZXItY3JlYXRlLWJhc2ljcy5odHRwcy5odG1sCkBAIC0zMSw5ICszMSw0IEBAIHByb21pc2VfdGVz
dChmdW5jdGlvbih0KSB7CiAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiQWJvcnRFcnJv
ciIsCiAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucykpOwogfSwg
Im5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSB3aXRoIGFib3J0IHNpZ25hbCBzZXQiKTsK
LQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
KHQsICJOb3RTdXBwb3J0ZWRFcnJvciIsCi0gICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5j
cmVhdGUoe3B1YmxpY0tleTogdHJ1ZX0pKTsKLX0sICJuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3Jl
YXRlKCkgd2l0aCBmYWtlZCBkYXRhIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1n
ZXQtYmFzaWNzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRl
bnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1nZXQtYmFzaWNzLmh0dHBzLWV4
cGVjdGVkLnR4dAppbmRleCA4Y2MxNjg0MTYzOWYwMmIyZjAwOTE5ZDdlNDIyZDkyODM4Njg4ZWNi
Li4xZTY1Zjk0NWFiNmY3Nzg1NGRkMWMxYjMwNGUxYTc2MzUzYWRjZDIzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250
YWluZXItZ2V0LWJhc2ljcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWdldC1iYXNp
Y3MuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNyBAQAogCiBQQVNTIG5hdmlnYXRvci5j
cmVkZW50aWFscy5nZXQoKSB3aXRoIG5vIGFyZ3VtZW50LiAKIFBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmdldCgpIHdpdGggZW1wdHkgYXJndW1lbnQuIAotRkFJTCBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuZ2V0KCkgd2l0aCBib2d1cyBwdWJsaWNLZXkgZGF0YSBhc3NlcnRfdGhyb3dzOiBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iICgiTm90U3VwcG9ydGVkRXJy
b3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQorUEFTUyBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuZ2V0KCkgd2l0aCBib2d1cyBwdWJsaWNLZXkgZGF0YSAKIFBBU1Mg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldCgpIHdpdGggYm9ndXMgZGF0YSAKIFBBU1MgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmdldCgpIHdpdGggYWJvcnQgc2lnbmFsIHNldCAKLVBBU1MgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmdldCgpIHdpdGggZmFrZWQgZGF0YSAKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFp
bmVyLWdldC1iYXNpY3MuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRp
YWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1nZXQtYmFzaWNzLmh0dHBzLmh0bWwK
aW5kZXggY2E2ZDYzNDQzZmMwNzg3NGQyMDFiOTNiZWM4NjJkZWMyMWUxYmEyYS4uNjhkM2ZiYjFm
YjIxOTIzMWM0YTFhOGY2NmRiZWUzYzkxODFjNWM0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWdldC1i
YXNpY3MuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50aWFsLW1h
bmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItZ2V0LWJhc2ljcy5odHRwcy5odG1sCkBAIC0z
MSw5ICszMSw0IEBAIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgcmV0dXJuIHByb21p
c2VfcmVqZWN0cyh0LCAiQWJvcnRFcnJvciIsCiAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5nZXQob3B0aW9ucykpOwogfSwgIm5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoKSB3aXRoIGFi
b3J0IHNpZ25hbCBzZXQiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzKHQsICJOb3RTdXBwb3J0ZWRFcnJvciIsCi0gICAgICAgIG5hdmln
YXRvci5jcmVkZW50aWFscy5nZXQoe3B1YmxpY0tleTogdHJ1ZX0pKTsKLX0sICJuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuZ2V0KCkgd2l0aCBmYWtlZCBkYXRhIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlh
bC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
cmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggY2RjOWQ2MmU4MTA5YThkYmYyY2VmMGNiOTg5NmRkNzFl
YzZkZDdiZC4uY2M2NDAzYTRkMGU2MjcyMjczMThmMDMzM2E2NjQ1NDUwOTE5MTNlOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50
aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJh
c2ljcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTYsMTIgKzYsMTIgQEAgRkFJTCBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCB2YWxpZCBIVE1MRm9ybUVsZW1lbnQgcHJvbWlzZV90
ZXN0OiBVbmgKIEZBSUwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMg
cGFzc3dvcmQgZGF0YSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJv
dyBlIH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMg
bm90IHN1cHBvcnRlZC4iICgiTm90U3VwcG9ydGVkRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5
cGVFcnJvciIgKCJUeXBlRXJyb3IiKQogRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRl
KCkgd2l0aCB2YWxpZCBGZWRlcmF0ZWRDcmVkZW50aWFsRGF0YSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhl
IG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLiIKIEZBSUwgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmNyZWF0ZSgpIHdpdGggYm9ndXMgZmVkZXJhdGVkIGRhdGEgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIk5vdFN1cHBvcnRlZEVy
cm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIiAoIk5vdFN1cHBvcnRlZEVycm9y
IikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgcHVibGljS2V5IGRhdGEgYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIiAoIk5v
dFN1cHBvcnRlZEVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9y
IikKLUZBSUwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHJldHVybnMgUHVibGljS2V5
Q3JlZGVudGlhbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVk
LiIKK1BBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgcHVibGlj
S2V5IGRhdGEgCitGQUlMIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSByZXR1cm5zIFB1
YmxpY0tleUNyZWRlbnRpYWwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0
aW9uT3B0aW9ucy5wdWJLZXlDcmVkUGFyYW1zIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIHNlcXVlbmNlIgogUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkg
d2l0aCBib3RoIFBhc3N3b3JkQ3JlZGVudGlhbERhdGEgYW5kIEZlZGVyYXRlZENyZWRlbnRpYWxE
YXRhIAogRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwYXNz
d29yZCBhbmQgZmVkZXJhdGVkIGRhdGEgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3Bl
cmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIiAoIk5vdFN1cHBvcnRlZEVycm9yIikgZXhwZWN0ZWQg
b2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgZmVkZXJhdGVkIGFuZCBwdWJsaWNLZXkgZGF0YSBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iICgi
Tm90U3VwcG9ydGVkRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJy
b3IiKQotRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwYXNz
d29yZCBhbmQgcHVibGljS2V5IGRhdGEgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3Bl
cmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIiAoIk5vdFN1cHBvcnRlZEVycm9yIikgZXhwZWN0ZWQg
b2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgcGFzc3dvcmQsIGZlZGVyYXRlZCwgYW5kIHB1YmxpY0tl
eSBkYXRhIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIg
dGhyZXcgb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3Vw
cG9ydGVkLiIgKCJOb3RTdXBwb3J0ZWRFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9y
IiAoIlR5cGVFcnJvciIpCitQQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSB3aXRo
IGJvZ3VzIGZlZGVyYXRlZCBhbmQgcHVibGljS2V5IGRhdGEgCitQQVNTIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5jcmVhdGUoKSB3aXRoIGJvZ3VzIHBhc3N3b3JkIGFuZCBwdWJsaWNLZXkgZGF0YSAK
K1BBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgcGFzc3dvcmQs
IGZlZGVyYXRlZCwgYW5kIHB1YmxpY0tleSBkYXRhIAogUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuY3JlYXRlKCkgd2l0aCBib2d1cyBkYXRhIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331277</attachid>
            <date>2018-01-12 23:14:09 -0800</date>
            <delta_ts>2018-01-13 12:58:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181627-20180112231342.patch</filename>
            <type>text/plain</type>
            <size>79477</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2OTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDNhZDczNTg0ZDUzY2Yw
MDI2NmQ1MzgzNjBmYWQ4MGM2ZmExYjM0MC4uNTY5M2UxYzYxYjlmODA1ZjUyZDM3YWRiNjNmMjJi
NjEyMGZkNjI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE4LTAxLTEyICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBJbXBs
ZW1lbnQgZHVtbXkgV2ViQXV0aE4gSURMcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNjI3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjQ1OTg2
ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHBhdGNoIGltcGxlbWVudHMgZHVtbXkgV2ViQXV0aE4gSURMcyBhbmQgY29ubmVjdCB0aGVtIHdp
dGggQ3JlZGVudGlhbCBNYW5hZ2VtZW50IGFzIHdlbGwuCisgICAgICAgIEFsbCBpbXBsZW1lbnRh
dGlvbnMgaW4gdGhpcyBwYXRjaCBhcmUgc3ViamVjdCB0byBjaGFuZ2Ugd2hlbiByZWFsIGltcGxl
bWVudGF0aW9ucyBsYW5kLiBUaGUKKyAgICAgICAgcHVycG9zZSBoZXJlIG9uIHRoZSBvdGhlciBo
YW5kIGlzIHRvIGhhdmUgSURMcywgYmluZGluZ3MgYW5kIGltcGxlbWVudGF0aW9ucyBjb25uZWN0
ZWQuIFRoaXMKKyAgICAgICAgcGF0Y2ggc2hvdWxkIGhhbmRsZSBhbGwgSURMcyB0aGF0IHdlIG5l
ZWQuCisKKyAgICAgICAgTm8gdGVzdHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlh
bG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oOgorICAgICAgICAqIE1vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnMuaDoKKyAgICAgICAgKiBNb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucy5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50
aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwLgorICAgICAgICAoV2ViQ29y
ZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9u
UmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3Bv
bnNlOjp+QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6
OkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZTo6YXV0aGVudGljYXRvckRhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjpzaWduYXR1cmUp
OgorICAgICAgICAoV2ViQ29yZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjp1c2Vy
SGFuZGxlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRp
YWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oLgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmlkbDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlk
bC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJl
c3BvbnNlLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFs
bWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmguCisgICAgICAgIChXZWJDb3Jl
OjpBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZTo6QXV0aGVudGljYXRvckF0dGVzdGF0
aW9uUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6QXV0aGVudGljYXRvckF0dGVzdGF0aW9u
UmVzcG9uc2U6On5BdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZSk6CisgICAgICAgIChX
ZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZTo6YXR0ZXN0YXRpb25PYmpl
Y3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9u
UmVzcG9uc2UuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFs
bWFuYWdlbWVudC9DcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaC4KKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlk
bC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQv
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oLgorICAgICAgICAoV2ViQ29yZTo6QXV0aGVudGlj
YXRvclJlc3BvbnNlOjpBdXRoZW50aWNhdG9yUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6
QXV0aGVudGljYXRvclJlc3BvbnNlOjp+QXV0aGVudGljYXRvclJlc3BvbnNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JSZXNwb25zZTo6Y2xpZW50RGF0YUpTT04pOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNlLmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJl
cXVlc3RPcHRpb25zLmguCisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9y
UmVzcG9uc2UuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhu
L1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vUHVi
bGljS2V5Q3JlZGVudGlhbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50
aWFsOjpyYXdJZCk6CisgICAgICAgIChXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsOjpyZXNw
b25zZSk6CisgICAgICAgIChXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsOjpnZXRDbGllbnRF
eHRlbnNpb25SZXN1bHRzKToKKyAgICAgICAgKFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWw6
OmlzVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0aGVudGljYXRvckF2YWlsYWJsZSk6CisgICAgICAg
ICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmg6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMuaC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmg6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9u
T3B0aW9ucy5oLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlh
bERlc2NyaXB0b3IuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4v
UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0
aW9ucy5oLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJl
cXVlc3RPcHRpb25zLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVk
ZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaC4KKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5pZGwuCisg
ICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5pZGw6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVu
dGlhbC5pZGwuCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaDoKKwogMjAxOC0wMS0xMiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBXcmFwIENETUZhaXJQbGF5U3RyZWFtaW5nIGFuZCByZWxhdGVkIGNsYXNz
ZXMgaW4gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkgY2hlY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGRiYmVlZDc0N2EyNmNiOTdlZjIwOWZmNWQxZWQ5YjQyNjg5NWJlOWQuLmE1YTM0ZWU4ZDEz
NzRmNDFjOTI2OGM1Y2EyNGE2NTgyYWRlYzVmNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0z
OTgsNyArMzk4LDE0IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxl
cy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmlkbAogICAgIE1vZHVsZXMvd2ViYXVkaW8v
V2F2ZVNoYXBlck5vZGUuaWRsCiAKKyAgICBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JB
c3NlcnRpb25SZXNwb25zZS5pZGwKKyAgICBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JB
dHRlc3RhdGlvblJlc3BvbnNlLmlkbAorICAgIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRv
clJlc3BvbnNlLmlkbAogICAgIE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5p
ZGwKKyAgICBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnMuaWRsCisgICAgTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRv
ci5pZGwKKyAgICBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0
aW9ucy5pZGwKKyAgICBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmlk
bAogCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5pZGwKICAg
ICBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggYmIxNTVkZTNjNjE5YTAxMzgyOWE3ZWJmMGExMWMwMzQ5OTMyMDkyZi4uYTVi
ZTQ3NDVlYjNlMjNiOTQ4NjY3NTAxNTEzODAzNTg3MDkwNDA1YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0zMjQsNyArMzI0LDE0IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmlk
bCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3Rh
dGlvblJlc3BvbnNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JSZXNwb25zZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRobi9Q
dWJsaWNLZXlDcmVkZW50aWFsLmlkbCBcCisJJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL1B1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaWRsIFwKKwkkKFdl
YkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRp
YWxUeXBlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRv
d1dlYkRhdGFiYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Rh
dGFiYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
Q2FsbGJhY2suaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVu
dGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25z
LmgKaW5kZXggZGU5ODlkMTMxZWU3YzIzODk1Y2VmOGQ1ODkwNGRmNzIyM2E0ZGJmZS4uMWI0MDFl
ZjVhN2Y2NTFjOTk5ZjczMGJiM2I2ZGMxMzVhOTI3YWVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRp
b25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9D
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmgKQEAgLTI2LDYgKzI2LDggQEAKIAogI3ByYWdtYSBv
bmNlCiAKKyNpbmNsdWRlICJBYm9ydFNpZ25hbC5oIgorI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNCw3ICszNiw3IEBAIGNsYXNzIEFib3J0U2lnbmFsOwog
CiBzdHJ1Y3QgQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyB7CiAgICAgUmVmUHRyPEFib3J0U2ln
bmFsPiBzaWduYWw7Ci0gICAgc3RkOjpvcHRpb25hbDxib29sPiBwdWJsaWNLZXk7CisgICAgc3Rk
OjpvcHRpb25hbDxQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zPiBwdWJsaWNLZXk7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zLmlkbAppbmRleCAzMzBmNGVhYzgwYmYzM2JkYzk1MmJiZTgzMzk2
ODg0NjUxNGJlZmFiLi5iMmMwZGE0MDIwZmZlM2QxNDI3OTA0OTdlODA2MGI3MDU1MDE2ZGQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0Ny
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKQEAgLTI2
LDUgKzI2LDUgQEAKIAogZGljdGlvbmFyeSBDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHsKICAg
ICBBYm9ydFNpZ25hbCBzaWduYWw7Ci0gICAgYm9vbGVhbiBwdWJsaWNLZXk7IC8vIGZha2UgZm9y
IG5vdworICAgIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgcHVibGljS2V5Owog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1l
bnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Ny
ZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oCmluZGV4IGY1Y2Rm
YTZkYTljMmM4YjE5ZTQ1Mzc1MGNmOTIwMWZlYjQ3OTUyOTIuLjY0NGU3ZGQ2ZTE2NWRmNjkyYzZj
MmRlZDFkMmZlMTYzYjViNjMzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsUmVxdWVz
dE9wdGlvbnMuaApAQCAtMjYsNiArMjYsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUg
IlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oIgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3LDcgKzM4LDcgQEAgc3RydWN0
IENyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyB7CiAKICAgICBNZWRpYXRpb25SZXF1aXJlbWVudCBt
ZWRpYXRpb247CiAgICAgUmVmUHRyPEFib3J0U2lnbmFsPiBzaWduYWw7Ci0gICAgc3RkOjpvcHRp
b25hbDxib29sPiBwdWJsaWNLZXk7CisgICAgc3RkOjpvcHRpb25hbDxQdWJsaWNLZXlDcmVkZW50
aWFsUmVxdWVzdE9wdGlvbnM+IHB1YmxpY0tleTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1l
bnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbAppbmRleCBh
ZWVhZjRhMDBhMjQ4MzdmYWZmYTg5Mjk4MzMxMDM0OTFlODk3MTM1Li5jZWQxNDQ3MjExNmUxZTEw
MTA0OTM4ZDIyYWQxNmFhODhkZDM3MWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMuaWRsCkBAIC0zMyw1ICszMyw1IEBAIGVudW0gQ3JlZGVudGlhbE1lZGlh
dGlvblJlcXVpcmVtZW50IHsKIGRpY3Rpb25hcnkgQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zIHsK
ICAgICBDcmVkZW50aWFsTWVkaWF0aW9uUmVxdWlyZW1lbnQgbWVkaWF0aW9uID0gIm9wdGlvbmFs
IjsKICAgICBBYm9ydFNpZ25hbCBzaWduYWw7Ci0gICAgYm9vbGVhbiBwdWJsaWNLZXk7IC8vIGZh
a2UgZm9yIG5vdworICAgIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyBwdWJsaWNL
ZXk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRo
ZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJl
YTMwODFjMmQzMmMyZjZmZDFhODI0NDgxZDU3Yjc4ODQ4MmFlODcKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25S
ZXNwb25zZS5jcHAKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U6OkF1dGhl
bnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZShSZWZQdHI8QXJyYXlCdWZmZXI+JiYgY2xpZW50RGF0
YUpTT04sIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiBhdXRoZW50aWNhdG9yRGF0YSwgUmVmUHRyPEFy
cmF5QnVmZmVyPiYmIHNpZ25hdHVyZSwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIHVzZXJIYW5kbGUp
CisgICAgOiBBdXRoZW50aWNhdG9yUmVzcG9uc2UoV1RGTW92ZShjbGllbnREYXRhSlNPTikpCisg
ICAgLCBtX2F1dGhlbnRpY2F0b3JEYXRhKFdURk1vdmUoYXV0aGVudGljYXRvckRhdGEpKQorICAg
ICwgbV9zaWduYXR1cmUoV1RGTW92ZShzaWduYXR1cmUpKQorICAgICwgbV91c2VySGFuZGxlKFdU
Rk1vdmUodXNlckhhbmRsZSkpCit7Cit9CisKK0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25z
ZTo6fkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSgpCit7Cit9CisKK1JlZlB0cjxBcnJh
eUJ1ZmZlcj4gQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjphdXRoZW50aWNhdG9yRGF0
YSgpCit7CisgICAgcmV0dXJuIG1fYXV0aGVudGljYXRvckRhdGE7Cit9CisKK1JlZlB0cjxBcnJh
eUJ1ZmZlcj4gQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjpzaWduYXR1cmUoKQorewor
ICAgIHJldHVybiBtX3NpZ25hdHVyZTsKK30KKworUmVmUHRyPEFycmF5QnVmZmVyPiBBdXRoZW50
aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U6OnVzZXJIYW5kbGUoKQoreworICAgIHJldHVybiBtX3Vz
ZXJIYW5kbGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0M2ViOTEzYWM1OTNjMmMwN2I0ZjgxYzM1MjEwYmQx
N2ZmYzhjNjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oCkBAIC0wLDAgKzEsNDcgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkF1dGhlbnRpY2F0b3JSZXNwb25z
ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEF1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZSA6IHB1YmxpYyBBdXRoZW50aWNhdG9yUmVzcG9uc2UgeworcHVibGljOgorICAg
IEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZShSZWZQdHI8QXJyYXlCdWZmZXI+JiYgY2xp
ZW50RGF0YUpTT04sIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiBhdXRoZW50aWNhdG9yRGF0YSwgUmVm
UHRyPEFycmF5QnVmZmVyPiYmIHNpZ25hdHVyZSwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIHVzZXJI
YW5kbGUpOworICAgIHZpcnR1YWwgfkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSgpOwor
CisgICAgUmVmUHRyPEFycmF5QnVmZmVyPiBhdXRoZW50aWNhdG9yRGF0YSgpOworICAgIFJlZlB0
cjxBcnJheUJ1ZmZlcj4gc2lnbmF0dXJlKCk7CisgICAgUmVmUHRyPEFycmF5QnVmZmVyPiB1c2Vy
SGFuZGxlKCk7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPEFycmF5QnVmZmVyPiBtX2F1dGhlbnRp
Y2F0b3JEYXRhOworICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gbV9zaWduYXR1cmU7CisgICAgUmVm
UHRyPEFycmF5QnVmZmVyPiBtX3VzZXJIYW5kbGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRp
Y2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJlMWI4
MWE2MTQ0OGE2ODJjMTYzNjNiMjQ1ZThlNzcxYmY0N2U0OQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2VydGlvblJlc3Bv
bnNlLmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgU2VjdXJl
Q29udGV4dAorXSBpbnRlcmZhY2UgQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlIDogQXV0
aGVudGljYXRvclJlc3BvbnNlIHsKKyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRl
IEFycmF5QnVmZmVyIGF1dGhlbnRpY2F0b3JEYXRhOworICAgIFtTYW1lT2JqZWN0XSByZWFkb25s
eSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgc2lnbmF0dXJlOworICAgIFtTYW1lT2JqZWN0XSByZWFk
b25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgdXNlckhhbmRsZTsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJl
c3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRv
ckF0dGVzdGF0aW9uUmVzcG9uc2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2YzRmZjQwOWY4MTJjOGJkZTc4
ODc2ODY1MzU2MTFhODE1NjNkNTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmNwcApAQCAt
MCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2U6OkF1dGhlbnRpY2F0b3JBdHRl
c3RhdGlvblJlc3BvbnNlKFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiBjbGllbnREYXRhSlNPTiwgUmVm
UHRyPEFycmF5QnVmZmVyPiYmIGF0dGVzdGF0aW9uT2JqZWN0KQorICAgIDogQXV0aGVudGljYXRv
clJlc3BvbnNlKFdURk1vdmUoY2xpZW50RGF0YUpTT04pKQorICAgICwgbV9hdHRlc3RhdGlvbk9i
amVjdChXVEZNb3ZlKGF0dGVzdGF0aW9uT2JqZWN0KSkKK3sKK30KKworQXV0aGVudGljYXRvckF0
dGVzdGF0aW9uUmVzcG9uc2U6On5BdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZSgpCit7
Cit9CisKK1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9u
c2U6OmF0dGVzdGF0aW9uT2JqZWN0KCkKK3sKKyAgICByZXR1cm4gbV9hdHRlc3RhdGlvbk9iamVj
dDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25S
ZXNwb25zZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4NzIyYzVjMGM3YmVjMDU1NjVhOGU5NTk0OGJjZWFhYzQ1
MTE0M2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhu
L0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmgKQEAgLTAsMCArMSw0MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQXV0aGVudGljYXRvclJlc3BvbnNl
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQXV0aGVudGljYXRvckF0dGVzdGF0
aW9uUmVzcG9uc2UgOiBwdWJsaWMgQXV0aGVudGljYXRvclJlc3BvbnNlIHsKK3B1YmxpYzoKKyAg
ICBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZShSZWZQdHI8QXJyYXlCdWZmZXI+JiYg
Y2xpZW50RGF0YUpTT04sIFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiBhdHRlc3RhdGlvbk9iamVjdCk7
CisgICAgdmlydHVhbCB+QXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UoKTsKKworICAg
IFJlZlB0cjxBcnJheUJ1ZmZlcj4gYXR0ZXN0YXRpb25PYmplY3QoKTsKKworcHJpdmF0ZToKKyAg
ICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fYXR0ZXN0YXRpb25PYmplY3Q7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJmOWIyNGIxYTBjYjg4OWJiOWIxZGY5NGYyZGVkNmZmZDRhMDc0MmEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0
b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRpb24sCisgICAgRXhwb3NlZD1X
aW5kb3csCisgICAgU2VjdXJlQ29udGV4dAorXSBpbnRlcmZhY2UgQXV0aGVudGljYXRvckF0dGVz
dGF0aW9uUmVzcG9uc2UgOiBBdXRoZW50aWNhdG9yUmVzcG9uc2UgeworICAgIFtTYW1lT2JqZWN0
XSByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgYXR0ZXN0YXRpb25PYmplY3Q7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9y
UmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNh
dG9yUmVzcG9uc2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZGU2ZDNiNDdmYzYwOThmYzkwZjQ4MGY4NmI3
MGU1MDc5NWUyMTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBdXRoZW50aWNhdG9yUmVzcG9u
c2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBdXRoZW50aWNhdG9yUmVzcG9uc2U6OkF1
dGhlbnRpY2F0b3JSZXNwb25zZShSZWZQdHI8QXJyYXlCdWZmZXI+JiYgY2xpZW50RGF0YUpTT04p
CisgICAgOiBtX2NsaWVudERhdGFKU09OKFdURk1vdmUoY2xpZW50RGF0YUpTT04pKQoreworfQor
CitBdXRoZW50aWNhdG9yUmVzcG9uc2U6On5BdXRoZW50aWNhdG9yUmVzcG9uc2UoKQoreworfQor
CitSZWZQdHI8QXJyYXlCdWZmZXI+IEF1dGhlbnRpY2F0b3JSZXNwb25zZTo6Y2xpZW50RGF0YUpT
T04oKQoreworICAgIHJldHVybiBtX2NsaWVudERhdGFKU09OOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1
dGhlbnRpY2F0b3JSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9B
dXRoZW50aWNhdG9yUmVzcG9uc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjQ5OTQ3ODI2NDkzMTg3OTg0NmVj
Mjc2N2FiNWIyMzMwNjI0MmEzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaApAQCAtMCwwICsxLDQ0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVy
Lmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgQXV0aGVudGljYXRvclJlc3BvbnNlIDogcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPEF1dGhlbnRpY2F0b3JSZXNwb25zZT4geworcHVibGljOgorICAgIGV4cGxp
Y2l0IEF1dGhlbnRpY2F0b3JSZXNwb25zZShSZWZQdHI8QXJyYXlCdWZmZXI+JiYpOworICAgIHZp
cnR1YWwgfkF1dGhlbnRpY2F0b3JSZXNwb25zZSgpOworCisgICAgUmVmUHRyPEFycmF5QnVmZmVy
PiBjbGllbnREYXRhSlNPTigpOworCitwcml2YXRlOgorICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4g
bV9jbGllbnREYXRhSlNPTjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNl
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3Bv
bnNlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNWM0ZGRjYzU4NGM0YjgxMWMyNWYyODc2MDFlZjY4ZWIxM2I2
ZmIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9B
dXRoZW50aWNhdG9yUmVzcG9uc2UuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitb
CisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRoZW50aWNhdGlvbiwKKyAgICBFeHBvc2VkPVdp
bmRvdywKKyAgICBTZWN1cmVDb250ZXh0LAorXSBpbnRlcmZhY2UgQXV0aGVudGljYXRvclJlc3Bv
bnNlIHsKKyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEFycmF5QnVmZmVyIGNs
aWVudERhdGFKU09OOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwCmluZGV4IGQ3MDgxMzdiNWMzY2IwODM3NWZk
NTRlYTdiYzk1YWE2ZWIyY2NlZTEuLmJkODA4MzQ5YzE0MmM5YzM4ZGMzMzBiMjA5NzY3ZTFkNzUw
NjQ5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGlj
S2V5Q3JlZGVudGlhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9Q
dWJsaWNLZXlDcmVkZW50aWFsLmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRlbnRpYWwuaCIKIAorI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUHVibGljS2V5Q3Jl
ZGVudGlhbDo6UHVibGljS2V5Q3JlZGVudGlhbChjb25zdCBTdHJpbmcmIGlkKQpAQCAtNTMsNCAr
NTUsMjQgQEAgRXhjZXB0aW9uT3I8UmVmUHRyPEJhc2ljQ3JlZGVudGlhbD4+IFB1YmxpY0tleUNy
ZWRlbnRpYWw6OmNyZWF0ZShjb25zdCBDcmVkZW50aWEKICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
Tm90U3VwcG9ydGVkRXJyb3IgfTsKIH0KIAorUmVmUHRyPEFycmF5QnVmZmVyPiBQdWJsaWNLZXlD
cmVkZW50aWFsOjpyYXdJZCgpCit7CisgICAgcmV0dXJuIG1fcmF3SWQ7CiB9CisKK1JlZlB0cjxB
dXRoZW50aWNhdG9yUmVzcG9uc2U+IFB1YmxpY0tleUNyZWRlbnRpYWw6OnJlc3BvbnNlKCkKK3sK
KyAgICByZXR1cm4gbV9yZXNwb25zZTsKK30KKworRXhjZXB0aW9uT3I8Ym9vbD4gUHVibGljS2V5
Q3JlZGVudGlhbDo6Z2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpCit7CisgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yIH07Cit9CisKK3ZvaWQgUHVibGljS2V5Q3JlZGVu
dGlhbDo6aXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0
aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3Jl
ZGVudGlhbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVk
ZW50aWFsLmgKaW5kZXggZDVlODAxYWMwNWJkNTdhMmU1MDZjZWRkYmE1NjU5MTY4M2VhNzEwNy4u
OTE4YTk3ODg0YWVhYzM3ZmZhN2EzNGZiODY5NzZiYTg2YWVhY2ZhZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmgKQEAg
LTI3LDEwICsyNywxNCBAQAogCiAjaW5jbHVkZSAiQmFzaWNDcmVkZW50aWFsLmgiCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uT3IuaCIKLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8cnVu
dGltZS9BcnJheUJ1ZmZlci5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorY2xhc3MgQXV0aGVudGljYXRvclJlc3BvbnNlOworY2xhc3MgRGVmZXJy
ZWRQcm9taXNlOworCiBzdHJ1Y3QgQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczsKIHN0cnVjdCBD
cmVkZW50aWFsUmVxdWVzdE9wdGlvbnM7CiAKQEAgLTQ2LDggKzUwLDE4IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVmUHRyPEJhc2ljQ3JlZGVudGlhbD4gc3RvcmUoUmVmUHRyPEJhc2ljQ3JlZGVu
dGlhbD4mJiwgYm9vbCk7CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZlB0cjxCYXNpY0NyZWRl
bnRpYWw+PiBjcmVhdGUoY29uc3QgQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyYsIGJvb2wpOwog
CisgICAgUmVmUHRyPEFycmF5QnVmZmVyPiByYXdJZCgpOworICAgIFJlZlB0cjxBdXRoZW50aWNh
dG9yUmVzcG9uc2U+IHJlc3BvbnNlKCk7CisgICAgLy8gTm90IHN1cHBvcnQgeWV0LiBBbHdheXMg
dGhyb3dzLgorICAgIEV4Y2VwdGlvbk9yPGJvb2w+IGdldENsaWVudEV4dGVuc2lvblJlc3VsdHMo
KTsKKworICAgIHN0YXRpYyB2b2lkIGlzVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0aGVudGljYXRv
ckF2YWlsYWJsZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKwogcHJpdmF0ZToKICAgICBQdWJs
aWNLZXlDcmVkZW50aWFsKGNvbnN0IFN0cmluZyYpOworCisgICAgUmVmUHRyPEFycmF5QnVmZmVy
PiBtX3Jhd0lkOworICAgIFJlZlB0cjxBdXRoZW50aWNhdG9yUmVzcG9uc2U+IG1fcmVzcG9uc2U7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbAppbmRleCBmOWIyMDIz
MDdmNWMzZThjMDFlMzI2OGRhNDUxOTUyMTA3ZWRkMDgyLi5jMDhlY2Q2ZjUwNDQ0MWVmZTNhMDZh
MTBjYWM5NjBiMzg5Yjg1MjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5pZGwKQEAgLTIzLDEwICsyMywyMiBAQAog
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKK3R5cGVkZWYgYm9vbGVh
biBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnM7CisKKy8vIGVudW0gVXNlclZlcmlmaWNhdGlvblJl
cXVpcmVtZW50IHsKKy8vICAgICAicmVxdWlyZWQiLAorLy8gICAgICJwcmVmZXJyZWQiLAorLy8g
ICAgICJkaXNjb3VyYWdlZCIKKy8vIH07CisKIFsKICAgICBFbmFibGVkQXRSdW50aW1lPVdlYkF1
dGhlbnRpY2F0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIFNlY3VyZUNvbnRleHQsCiBd
IGludGVyZmFjZSBQdWJsaWNLZXlDcmVkZW50aWFsIHsKLSAgICAvLyBEdW1teSBmb3Igbm93Lgor
ICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgcmF3SWQ7Cisg
ICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdXRoZW50aWNhdG9yUmVzcG9uc2Ug
cmVzcG9uc2U7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBBdXRoZW50aWNhdGlvbkV4dGVuc2lv
bnMgZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpOworCisgICAgc3RhdGljIFByb21pc2U8Ym9v
bGVhbj4gaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKCk7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlD
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzcy
NDIxZWEyNTZkNDE0NjAwNjc5MWIxNTlkYzhjZGZkNTg0NzgzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRp
b25PcHRpb25zLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiUHVibGljS2V5Q3JlZGVudGlh
bERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oIgorI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFB1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgeworICAgIHN0cnVjdCBFbnRpdHkgewor
ICAgICAgICBTdHJpbmcgbmFtZTsKKyAgICAgICAgU3RyaW5nIGljb247CisgICAgfTsKKworICAg
IHN0cnVjdCBScEVudGl0eSA6IHB1YmxpYyBFbnRpdHkgeworICAgICAgICBTdHJpbmcgaWQ7Cisg
ICAgfTsKKworICAgIHN0cnVjdCBVc2VyRW50aXR5IDogcHVibGljIEVudGl0eSB7CisgICAgICAg
IEJ1ZmZlclNvdXJjZSBpZDsKKyAgICAgICAgU3RyaW5nIGRpc3BsYXlOYW1lOworICAgIH07CisK
KyAgICBzdHJ1Y3QgUGFyYW1ldGVycyB7CisgICAgICAgIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBl
IHR5cGU7CisgICAgICAgIGxvbmcgYWxnOworICAgIH07CisKKyAgICBScEVudGl0eSBycDsKKyAg
ICBVc2VyRW50aXR5IHVzZXI7CisKKyAgICBCdWZmZXJTb3VyY2UgY2hhbGxlbmdlOworICAgIFZl
Y3RvcjxQYXJhbWV0ZXJzPiBwdWJLZXlDcmVkUGFyYW1zOworCisgICAgdW5zaWduZWQgbG9uZyB0
aW1lb3V0OworICAgIFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcj4gZXhjbHVk
ZUNyZWRlbnRpYWxzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRp
b25PcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJkYjE0MTk0MmQ1YjRk
ZDZmYWZhMjBjMWQ4YWEzN2Y0ZTFiYTM1MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5p
ZGwKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGVudW0gQXV0aGVudGljYXRvckF0
dGFjaG1lbnQgeworLy8gICAgICJwbGF0Zm9ybSIsICAgICAgIC8vIFBsYXRmb3JtIGF0dGFjaG1l
bnQKKy8vICAgICAiY3Jvc3MtcGxhdGZvcm0iICAvLyBDcm9zcy1wbGF0Zm9ybSBhdHRhY2htZW50
CisvLyB9OworCisvLyBlbnVtIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UgeworLy8g
ICAgICJub25lIiwKKy8vICAgICAiaW5kaXJlY3QiLAorLy8gICAgICJkaXJlY3QiCisvLyB9Owor
Cit0eXBlZGVmIGxvbmcgQ09TRUFsZ29yaXRobUlkZW50aWZpZXI7CisKK2RpY3Rpb25hcnkgUHVi
bGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyB7CisgICAgcmVxdWlyZWQgUHVibGljS2V5
Q3JlZGVudGlhbFJwRW50aXR5IHJwOworICAgIHJlcXVpcmVkIFB1YmxpY0tleUNyZWRlbnRpYWxV
c2VyRW50aXR5IHVzZXI7CisKKyAgICByZXF1aXJlZCBCdWZmZXJTb3VyY2UgY2hhbGxlbmdlOwor
ICAgIHJlcXVpcmVkIHNlcXVlbmNlPFB1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWV0ZXJzPiBwdWJL
ZXlDcmVkUGFyYW1zOworCisgICAgdW5zaWduZWQgbG9uZyB0aW1lb3V0OworICAgIHNlcXVlbmNl
PFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yPiBleGNsdWRlQ3JlZGVudGlhbHMgPSBbXTsK
KyAgICAvLyBXZSBkb24ndCBhbGxvdyBSUHMgdG8gc2VsZWN0IGF1dGhlbnRpY2F0b3JzIGF0IHRo
aXMgc3RhZ2UuCisgICAgLy8gSGVuY2UsIHRob3NlIG9wdGlvbnMgYXJlIGFsd2F5cyB7ICJwbGF0
Zm9ybSIsIHRydWUsICJyZXF1aXJlZCIgfS4KKyAgICAvLyBBdXRoZW50aWNhdG9yU2VsZWN0aW9u
Q3JpdGVyaWEgYXV0aGVudGljYXRvclNlbGVjdGlvbjsKKyAgICAvLyBBbHdheXMgImRpcmVjdCIg
Zm9yIHVzLgorICAgIC8vIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UgYXR0ZXN0YXRp
b24gPSAibm9uZSI7CisgICAgLy8gTm90IHN1cHBvcnQgeWV0LgorICAgIC8vIEF1dGhlbnRpY2F0
aW9uRXh0ZW5zaW9ucyBleHRlbnNpb25zOworfTsKKworZGljdGlvbmFyeSBQdWJsaWNLZXlDcmVk
ZW50aWFsRW50aXR5IHsKKyAgICByZXF1aXJlZCBET01TdHJpbmcgbmFtZTsKKyAgICBVU1ZTdHJp
bmcgaWNvbjsKK307CisKK2RpY3Rpb25hcnkgUHVibGljS2V5Q3JlZGVudGlhbFJwRW50aXR5IDog
UHVibGljS2V5Q3JlZGVudGlhbEVudGl0eSB7CisgICAgRE9NU3RyaW5nIGlkOworfTsKKworZGlj
dGlvbmFyeSBQdWJsaWNLZXlDcmVkZW50aWFsVXNlckVudGl0eSA6IFB1YmxpY0tleUNyZWRlbnRp
YWxFbnRpdHkgeworICAgIHJlcXVpcmVkIEJ1ZmZlclNvdXJjZSBpZDsKKyAgICByZXF1aXJlZCBE
T01TdHJpbmcgZGlzcGxheU5hbWU7Cit9OworCitkaWN0aW9uYXJ5IFB1YmxpY0tleUNyZWRlbnRp
YWxQYXJhbWV0ZXJzIHsKKyAgICByZXF1aXJlZCBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZSB0eXBl
OworICAgIHJlcXVpcmVkIENPU0VBbGdvcml0aG1JZGVudGlmaWVyIGFsZzsKK307CisKKy8vIFdl
IGRvbid0IGFsbG93IFJQcyB0byBzZWxlY3QgYXV0aGVudGljYXRvcnMgYXQgdGhpcyBzdGFnZS4K
Ky8vIGRpY3Rpb25hcnkgQXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhIHsKKy8vICAgICBB
dXRoZW50aWNhdG9yQXR0YWNobWVudCBhdXRoZW50aWNhdG9yQXR0YWNobWVudDsKKy8vICAgICBi
b29sZWFuIHJlcXVpcmVSZXNpZGVudEtleSA9IGZhbHNlOworLy8gICAgIFVzZXJWZXJpZmljYXRp
b25SZXF1aXJlbWVudCB1c2VyVmVyaWZpY2F0aW9uID0gInByZWZlcnJlZCI7CisvLyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50
aWFsRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNL
ZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczZTQ0OTIzNzI0ZjMxMjViMWVk
YWRlMzY4NzM4N2VkYjFhZTgxODUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmgKQEAgLTAsMCAr
MSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQnVmZmVyU291
cmNlLmgiCisjaW5jbHVkZSAiUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitzdHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IgeworICAg
IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlIHR5cGU7CisgICAgQnVmZmVyU291cmNlIGlkOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lOTNmODY0NGIxOWUwNTFiMDNiZDk0OGUxZmFkODJiNzBlZjRkOGVmCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNL
ZXlDcmVkZW50aWFsRGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K2RpY3Rpb25hcnkgUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IgeworICAgIHJlcXVpcmVk
IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlIHR5cGU7CisgICAgcmVxdWlyZWQgQnVmZmVyU291cmNl
IGlkOworICAgIC8vIFdlIG9ubHkgYWxsb3cgcGxhdGZvcm0gYXR0YWNobWVudCBhdCB0aGlzIHN0
YWdlLgorICAgIC8vIHNlcXVlbmNlPEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ+IHRyYW5zcG9ydHM7
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNL
ZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU2
NDE4YWQ3MDhlOTRhNmYwMTNjMDllNWZmZDFkOTc4Y2NmY2E1MQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVl
c3RPcHRpb25zLmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiUHVibGljS2V5Q3JlZGVudGlh
bERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3N0cnVjdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgeworICAg
IEJ1ZmZlclNvdXJjZSBjaGFsbGVuZ2U7CisgICAgdW5zaWduZWQgbG9uZyB0aW1lb3V0OworICAg
IFN0cmluZyBycElkOworICAgIFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcj4g
YWxsb3dDcmVkZW50aWFsczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJl
cXVlc3RPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGlj
S2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzFlYmQzMGY5YWMw
ZTE0NTg2ZjU1ZGRkZmI0ZWU1NTMxNzBkMDI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMu
aWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5IFB1YmxpY0tleUNy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyB7CisgICAgcmVxdWlyZWQgQnVmZmVyU291cmNlIGNoYWxs
ZW5nZTsKKyAgICB1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CisgICAgVVNWU3RyaW5nIHJwSWQ7Cisg
ICAgc2VxdWVuY2U8UHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+IGFsbG93Q3JlZGVudGlh
bHMgPSBbXTsKKyAgICAvLyBBbHdheXMgInJlcXVpcmVkIiBhdCB0aGlzIHN0YWdlCisgICAgLy8g
VXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50IHVzZXJWZXJpZmljYXRpb24gPSAicHJlZmVycmVk
IjsKKyAgICAvLyBOb3Qgc3VwcG9ydCB5ZXQuCisgICAgLy8gQXV0aGVudGljYXRpb25FeHRlbnNp
b25zIGV4dGVuc2lvbnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxYTFmZTk5
ZWI2YmE3YjlhNjE4YTQ1ZWZlYzE2Y2ZkZGZjYzUwZGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmgKQEAg
LTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2VudW0gY2xhc3MgUHVibGljS2V5Q3JlZGVudGlhbFR5cGUgeworICAgIFB1Ymxp
Y0tleQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mYTZjNDczZTllZDRhNTg0ZDQyZjAzZGQwNGY1MzE2NDNmZjZiM2IwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlD
cmVkZW50aWFsVHlwZS5pZGwKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBJ
bXBsZW1lbnRlZEFzPVB1YmxpY0tleUNyZWRlbnRpYWxUeXBlCitdIGVudW0gUHVibGljS2V5Q3Jl
ZGVudGlhbFR5cGUgeworICAgICJwdWJsaWMta2V5IgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMzc1
MTIwOWQ2MzNkM2JiYjgwZjQ0MmZjMDM2MjcxMWVmYzg4ZWFiOS4uOWMyYjBhNWYxMWYxNzRkYTgx
ZDQ3ZGNlMjZiOWUzYzBjNTkxNzEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTI0NCw2ICsyNDQsOSBA
QCBNb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJEU1BLZXJuZWwuY3BwCiBNb2R1bGVzL3dlYmF1
ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcAogTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyUHJvY2Vz
c29yLmNwcAogCitNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25z
ZS5jcHAKK01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Uu
Y3BwCitNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5jcHAKIE1vZHVsZXMv
d2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAKIE1vZHVsZXMvd2ViYXV0aG4vY2Jvci9D
Qk9SUmVhZGVyLmNwcAogTW9kdWxlcy93ZWJhdXRobi9jYm9yL0NCT1JWYWx1ZS5jcHAKQEAgLTIz
MjUsNiArMjMyOCw5IEBAIEpTQXVkaW9MaXN0ZW5lci5jcHAKIEpTQXVkaW9Ob2RlLmNwcAogSlNB
dWRpb1BhcmFtLmNwcAogSlNBdWRpb1Byb2Nlc3NpbmdFdmVudC5jcHAKK0pTQXV0aGVudGljYXRv
ckFzc2VydGlvblJlc3BvbnNlLmNwcAorSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25z
ZS5jcHAKK0pTQXV0aGVudGljYXRvclJlc3BvbnNlLmNwcAogSlNCYXJQcm9wLmNwcAogSlNCYXNp
Y0NyZWRlbnRpYWwuY3BwCiBKU0JlZm9yZUxvYWRFdmVudC5jcHAKQEAgLTI3NDMsNiArMjc0OSwx
MCBAQCBKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKIEpTUHJvZ3Jlc3NFdmVudC5jcHAKIEpT
UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcAogSlNQdWJsaWNLZXlDcmVkZW50aWFsLmNwcAorSlNQ
dWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmNwcAorSlNQdWJsaWNLZXlDcmVkZW50
aWFsRGVzY3JpcHRvci5jcHAKK0pTUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmNw
cAorSlNQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5jcHAKIEpTUlRDQW5zd2VyT3B0aW9ucy5jcHAK
IEpTUlRDQ29uZmlndXJhdGlvbi5jcHAKIEpTUlRDRFRNRlNlbmRlci5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3ZTVkNjEy
NGViNjk1MWY2N2ZhYWZjY2M5NDE0YjE4OTdjMzIzNzAzLi44NDJlNTNkNTRiNWNhNTBiZDA4NTY3
Njg4YjczMjRhMmJkMDFmM2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjQ1LDYgKzE2NDUsMjAgQEAKIAkJNTczMDNCQkEy
MDA2QzZFRTAwMzU1OTY1IC8qIENCT1JXcml0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQkI1MjAwNkM2RUQwMDM1NTk2NSAvKiBDQk9SV3Jp
dGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NTczMDNCQkIyMDA2QzZFRTAwMzU1OTY1IC8qIENCT1JCaW5hcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQkI2MjAwNkM2RUQwMDM1NTk2NSAv
KiBDQk9SQmluYXJ5LmggKi87IH07CiAJCTU3MzAzQkMxMjAwNkUwMEMwMDM1NTk2NSAvKiBDQk9S
UmVhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
NzMwM0JCRjIwMDZFMDBDMDAzNTU5NjUgLyogQ0JPUlJlYWRlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTU3MzAzQkQyMjAwODdBODMwMDM1NTk2
NSAvKiBBdXRoZW50aWNhdG9yUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQkNGMjAwODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNh
dG9yUmVzcG9uc2UuaCAqLzsgfTsKKwkJNTczMDNCRTEyMDA5NUQ2MTAwMzU1OTY1IC8qIEpTQXV0
aGVudGljYXRvclJlc3BvbnNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1NzMwM0JERDIwMDk1QjI2MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yUmVz
cG9uc2UuaCAqLzsgfTsKKwkJNTczMDNCRTkyMDA5NzQ4RDAwMzU1OTY1IC8qIFB1YmxpY0tleUNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3MzAzQkU2MjAwOTc0N0EwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zLmggKi87IH07CisJCTU3MzAzQkVCMjAwOTdGNDAwMDM1NTk2
NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNCRUEyMDA5N0Y0MDAwMzU1OTY1IC8qIFB1YmxpY0tl
eUNyZWRlbnRpYWxUeXBlLmggKi87IH07CisJCTU3MzAzQkVGMjAwOTgwQzYwMDM1NTk2NSAvKiBQ
dWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNCRUMyMDA5ODBCRjAwMzU1OTY1IC8qIFB1YmxpY0tl
eUNyZWRlbnRpYWxEZXNjcmlwdG9yLmggKi87IH07CisJCTU3MzAzQkY0MjAwOTkwNDYwMDM1NTk2
NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzMwM0JGMjIwMDk5MDQ1MDAzNTU5NjUgLyog
SlNQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oICovOyB9OworCQk1NzMwM0MwMDIwMDk5
NTFDMDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNCRjkyMDA5OTEzNDAwMzU1OTY1
IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCAqLzsgfTsKKwkJNTczMDNDMEEyMDA5OUJB
RDAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNDMDYyMDA5OThGODAw
MzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oICovOyB9OworCQk1
NzMwM0MxMTIwMDk5Q0IxMDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
MzAzQzBDMjAwOTlDNzUwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0
aW9ucy5oICovOyB9OworCQk1NzMwM0MxOTIwMDlBMkYzMDAzNTU5NjUgLyogSlNQdWJsaWNLZXlD
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzMwM0MxMzIwMDlBMjU3MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlD
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggKi87IH07CisJCTU3MzAzQzFGMjAwOUFCNDIwMDM1
NTk2NSAvKiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNDMUIyMDA5QTk4NjAwMzU1OTY1
IC8qIEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggKi87IH07CisJCTU3MzAzQzIy
MjAwOUFGMDMwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzMwM0MyMTIw
MDlBRUY2MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oICov
OyB9OworCQk1NzMwM0MyQzIwMDlCNEE4MDAzNTU5NjUgLyogQXV0aGVudGljYXRvckFzc2VydGlv
blJlc3BvbnNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NzMwM0MyNzIwMDlCMkZDMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckFzc2VydGlvblJlc3Bv
bnNlLmggKi87IH07CisJCTU3MzAzQzJGMjAwOUI3RTEwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0
b3JBc3NlcnRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTczMDNDMkQyMDA5QjdEOTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckFz
c2VydGlvblJlc3BvbnNlLmggKi87IH07CiAJCTU3MzQ4OTM5MURBQzZCNkUwMERDMDY2NyAvKiBD
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzM0ODkzODFEQUM2QjZEMDBEQzA2NjcgLyogQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycy5oICovOyB9OwogCQk1NzM5RTEyRjFEQUM3Rjc4MDBFMTQzODMgLyogSlND
cnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzM5RTEyRTFEQUM3Rjc4MDBFMTQzODMgLyogSlNDcnlwdG9BbGdv
cml0aG1QYXJhbWV0ZXJzLmggKi87IH07CiAJCTU3NTBBOTc1MUU2OEQwMDAwMDcwNUM0QSAvKiBD
cnlwdG9LZXlFQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTc1MEE5NzMxRTY4RDAwMDAwNzA1QzRBIC8qIENyeXB0b0tleUVDLmggKi87IH07CkBAIC04
MTgwLDYgKzgxOTQsMzcgQEAKIAkJNTczMDNCQjgyMDA2QzZFRDAwMzU1OTY1IC8qIENCT1JXcml0
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ0JPUldyaXRlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MzAzQkJFMjAwNkUwMDQwMDM1NTk2
NSAvKiBDQk9SUmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENCT1JSZWFkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzMwM0JCRjIw
MDZFMDBDMDAzNTU5NjUgLyogQ0JPUlJlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDQk9SUmVhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAz
QkNGMjAwODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yUmVzcG9uc2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQXV0aGVudGljYXRvclJlc3BvbnNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTU3MzAzQkQwMjAwODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yUmVzcG9uc2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQXV0aGVudGljYXRvclJlc3BvbnNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNCRDEyMDA4N0E4MzAwMzU1OTY1IC8qIEF1dGhlbnRp
Y2F0b3JSZXNwb25zZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXV0aGVudGljYXRvclJlc3BvbnNlLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNCREQyMDA5NUIyNjAwMzU1OTY1IC8qIEpTQXV0
aGVudGljYXRvclJlc3BvbnNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
QXV0aGVudGljYXRvclJlc3BvbnNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3
MzAzQkRFMjAwOTVCMjcwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JSZXNwb25zZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1dGhlbnRpY2F0b3JSZXNwb25z
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQkU2MjAwOTc0N0EwMDM1
NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNTczMDNCRTgyMDA5NzQ3QTAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlv
bk9wdGlvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0JFQTIwMDk3
RjQwMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTczMDNCRUMyMDA5ODBCRjAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQkVFMjAwOTgwQkYwMDM1NTk2NSAvKiBQdWJs
aWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUHVibGljS2V5Q3JlZGVudGlhbERl
c2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0JGMDIwMDk4
NDYxMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1YmxpY0tl
eUNyZWRlbnRpYWxUeXBlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNC
RjEyMDA5OTA0NTAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQdWJsaWNLZXlDcmVkZW50
aWFsRGVzY3JpcHRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQkYy
MjAwOTkwNDUwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUHVibGljS2V5Q3JlZGVudGlhbERlc2Ny
aXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNCRjkyMDA5OTEzNDAw
MzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1NzMwM0JGQTIwMDk5MTM1MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlD
cmVkZW50aWFsVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTczMDNDMDYyMDA5OThGODAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0
T3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNDMDgyMDA5OThGODAwMzU1
OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUHVibGlj
S2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTczMDNDMEIyMDA5OUM3NDAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFJl
cXVlc3RPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTczMDNDMEMyMDA5OUM3NTAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVu
dGlhbFJlcXVlc3RPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTU3MzAzQzEzMjAwOUEyNTcwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQ
dWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTU3MzAzQzE0MjAwOUEyNTcwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNDMUIyMDA5QTk4NjAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0
b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JBdHRl
c3RhdGlvblJlc3BvbnNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQzFD
MjAwOUE5ODYwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQzFEMjAwOUE5ODYwMDM1NTk2NSAv
KiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXV0aGVudGljYXRv
ckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzMwM0MyMDIwMDlBRUY1MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNw
b25zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1dGhlbnRp
Y2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTczMDNDMjEyMDA5QUVGNjAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckF0dGVzdGF0aW9u
UmVzcG9uc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBdXRoZW50aWNh
dG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzMwM0MyNzIwMDlCMkZDMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0MyODIwMDlCMkZDMDAzNTU5NjUgLyogQXV0
aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dGhl
bnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTU3MzAzQzI5MjAwOUIyRkMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQzJEMjAwOUI3RDkwMDM1NTk2NSAvKiBKU0F1
dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1NzMwM0MyRTIwMDlCN0RBMDAzNTU5NjUgLyogSlNBdXRoZW50aWNh
dG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1NzM0ODkzODFEQUM2QjZEMDBEQzA2NjcgLyogQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9B
bGdvcml0aG1QYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MzlF
MTJFMURBQzdGNzgwMEUxNDM4MyAvKiBKU0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MzlFMTMwMURBQzdGRDEwMEUxNDM4
MyAvKiBKU0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MTI0LDkgKzE4MTY5LDI2IEBACiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTU3MzAzQkIzMjAwNkM2RUQwMDM1NTk2NSAv
KiBjYm9yICovLAorCQkJCTU3MzAzQzI4MjAwOUIyRkMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9y
QXNzZXJ0aW9uUmVzcG9uc2UuY3BwICovLAorCQkJCTU3MzAzQzI3MjAwOUIyRkMwMDM1NTk2NSAv
KiBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaCAqLywKKwkJCQk1NzMwM0MyOTIwMDlC
MkZDMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmlkbCAqLywKKwkJ
CQk1NzMwM0MxQzIwMDlBOTg2MDAzNTU5NjUgLyogQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVz
cG9uc2UuY3BwICovLAorCQkJCTU3MzAzQzFCMjAwOUE5ODYwMDM1NTk2NSAvKiBBdXRoZW50aWNh
dG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oICovLAorCQkJCTU3MzAzQzFEMjAwOUE5ODYwMDM1NTk2
NSAvKiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5pZGwgKi8sCisJCQkJNTczMDNC
RDAyMDA4N0E4MzAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JSZXNwb25zZS5jcHAgKi8sCisJCQkJ
NTczMDNCQ0YyMDA4N0E4MzAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JSZXNwb25zZS5oICovLAor
CQkJCTU3MzAzQkQxMjAwODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRs
ICovLAogCQkJCTU3RDg0NjJDMUZFQUY2OEYwMENBMzY4MiAvKiBQdWJsaWNLZXlDcmVkZW50aWFs
LmNwcCAqLywKIAkJCQk1N0Q4NDYyQjFGRUFGNjhGMDBDQTM2ODIgLyogUHVibGljS2V5Q3JlZGVu
dGlhbC5oICovLAogCQkJCTU3RDg0NjJEMUZFQUY2OEYwMENBMzY4MiAvKiBQdWJsaWNLZXlDcmVk
ZW50aWFsLmlkbCAqLywKKwkJCQk1NzMwM0JFNjIwMDk3NDdBMDAzNTU5NjUgLyogUHVibGljS2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oICovLAorCQkJCTU3MzAzQkU4MjAwOTc0N0EwMDM1
NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbCAqLywKKwkJCQk1
NzMwM0JFQzIwMDk4MEJGMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3Iu
aCAqLywKKwkJCQk1NzMwM0JFRTIwMDk4MEJGMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlh
bERlc2NyaXB0b3IuaWRsICovLAorCQkJCTU3MzAzQzA2MjAwOTk4RjgwMDM1NTk2NSAvKiBQdWJs
aWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCAqLywKKwkJCQk1NzMwM0MwODIwMDk5OEY4
MDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCAqLywKKwkJ
CQk1NzMwM0JFQTIwMDk3RjQwMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCAq
LywKKwkJCQk1NzMwM0JGMDIwMDk4NDYxMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFR5
cGUuaWRsICovLAogCQkJKTsKIAkJCXBhdGggPSB3ZWJhdXRobjsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CkBAIC0xODEzNCw4ICsxODE5NiwyMiBAQAogCQk1N0Q4NDYyRjFGRUFGQjA1MDBD
QTM2ODIgLyogV2ViQXV0aE4gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCTU3MzAzQzJFMjAwOUI3REEwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZS5jcHAgKi8sCisJCQkJNTczMDNDMkQyMDA5QjdEOTAwMzU1OTY1IC8qIEpT
QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmggKi8sCisJCQkJNTczMDNDMjAyMDA5QUVG
NTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuY3BwICovLAor
CQkJCTU3MzAzQzIxMjAwOUFFRjYwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlv
blJlc3BvbnNlLmggKi8sCisJCQkJNTczMDNCREUyMDA5NUIyNzAwMzU1OTY1IC8qIEpTQXV0aGVu
dGljYXRvclJlc3BvbnNlLmNwcCAqLywKKwkJCQk1NzMwM0JERDIwMDk1QjI2MDAzNTU5NjUgLyog
SlNBdXRoZW50aWNhdG9yUmVzcG9uc2UuaCAqLywKIAkJCQk1N0Q4NDYzMTFGRUFGQzJGMDBDQTM2
ODIgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsLmNwcCAqLywKIAkJCQk1N0Q4NDYzMDFGRUFGQzJG
MDBDQTM2ODIgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsLmggKi8sCisJCQkJNTczMDNDMTQyMDA5
QTI1NzAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5jcHAg
Ki8sCisJCQkJNTczMDNDMTMyMDA5QTI1NzAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlh
bENyZWF0aW9uT3B0aW9ucy5oICovLAorCQkJCTU3MzAzQkYxMjAwOTkwNDUwMDM1NTk2NSAvKiBK
U1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmNwcCAqLywKKwkJCQk1NzMwM0JGMjIwMDk5
MDQ1MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oICovLAorCQkJ
CTU3MzAzQzBCMjAwOTlDNzQwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0
T3B0aW9ucy5jcHAgKi8sCisJCQkJNTczMDNDMEMyMDA5OUM3NTAwMzU1OTY1IC8qIEpTUHVibGlj
S2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmggKi8sCisJCQkJNTczMDNCRkEyMDA5OTEzNTAw
MzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuY3BwICovLAorCQkJCTU3MzAzQkY5
MjAwOTkxMzQwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmggKi8sCiAJCQkp
OwogCQkJbmFtZSA9IFdlYkF1dGhOOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTI2
NDE4LDYgKzI2NDk0LDkgQEAKIAkJCQk5MzRGNzEzQTBENUE2RjEwMDAwMThENjkgLyogQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI0NzQ4NDEwQUEx
NjFEMDBCNzk0OTMgLyogQXV0aGVudGljYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxNEM3NjRDMENFOTIzNEUwMDdFRjNDRCAvKiBBdXRoZW50aWNhdGlvbk1hYy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNTczMDNDMkMyMDA5QjRBODAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNDMUYyMDA5QUI0MjAwMzU1
OTY1IC8qIEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1NzMwM0JEMjIwMDg3QTgzMDAzNTU5NjUgLyogQXV0aGVudGljYXRvclJlc3BvbnNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBNTAxOTIwRTEzMkVCRjJFMDA4QkZFNTUgLyogQXV0b2NhcGl0
YWxpemUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1QTdBQTQzMTMyRjBFQ0MwMEQzQTNDMiAvKiBB
dXRvY2FwaXRhbGl6ZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzE4NDNGRTFDOEI3Mjgz
MDAyRUI5NzMgLyogQXV0b2ZpbGwuaCBpbiBIZWFkZXJzICovLApAQCAtMjc2MzUsNiArMjc3MTQs
OSBAQAogCQkJCUZEQTE1RUI2MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvUHJvY2Vzc2luZ0V2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCRThFRjA0MzE3MUM4RkY5MDA5QjQ4QzMgLyogSlNB
dWRpb1RyYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCRThFRjA0NTE3MUM4RkY5MDA5QjQ4QzMg
LyogSlNBdWRpb1RyYWNrTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNDMkYyMDA5QjdF
MTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk1NzMwM0MyMjIwMDlBRjAzMDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0
ZXN0YXRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNCRTEyMDA5NUQ2MTAw
MzU1OTY1IC8qIEpTQXV0aGVudGljYXRvclJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzEyNEYwMDBDMjY0NDdBMDA5RTIzNDkgLyogSlNCYXJQcm9wLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1N0M3QTY5RjFFNTc5MTc4MDBDNjdENzEgLyogSlNCYXNpY0NyZWRlbnRpYWwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDOTQ2MzQ4MTA3QTkzNjYwMDg1NzE5MyAvKiBKU0JlZm9yZUxvYWRFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODA4MCw2ICsyODE2MiwxMCBAQAogCQkJCUU0NDYxM0VF
MENENjgxQkIwMEZBREE3NSAvKiBKU1Byb2dyZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE1NzhGNDNDMURFMDE0MjMwMDNERkM2QSAvKiBKU1Byb21pc2VSZWplY3Rpb25FdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTdEODQ2MzUxRkVBRkNEMzAwQ0EzNjgyIC8qIEpTUHVibGljS2V5
Q3JlZGVudGlhbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNDMTkyMDA5QTJGMzAwMzU1OTY1
IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTczMDNCRjQyMDA5OTA0NjAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbERl
c2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3MzAzQzExMjAwOTlDQjEwMDM1NTk2NSAv
KiBKU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNTczMDNDMDAyMDA5OTUxQzAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA3NzY2NEZEMTgzRTZCNUMwMDEzM0I5MiAvKiBKU1F1aWNr
VGltZVBsdWdpblJlcGxhY2VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCNjU4RkZBMjE1MjJF
RjNBMDBERDU1OTUgLyogSlNSYWRpb05vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURG
MzIwMjA5RDFDQzYwMDAwQkUzMjUgLyogSlNSYW5nZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODky
Myw2ICsyOTAwOSwxMCBAQAogCQkJCTFBRjhFMTFBMTI1NjU5MjYwMDIzMEZGNyAvKiBQcm94eVNl
cnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkY5NDVFQ0MxNjFGN0YzNjAwOTcxQkM4IC8qIFBz
ZXVkb0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RDg0NjJFMUZFQUY2OTkwMENBMzY4
MiAvKiBQdWJsaWNLZXlDcmVkZW50aWFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzMwM0JFOTIw
MDk3NDhEMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNTczMDNCRUYyMDA5ODBDNjAwMzU1OTY1IC8qIFB1YmxpY0tleUNy
ZWRlbnRpYWxEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzMwM0MwQTIwMDk5QkFE
MDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk1NzMwM0JFQjIwMDk3RjQwMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlh
bFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTAwODFGRjAwMTZCMEEyRDMwMDhBQUE3QSAvKiBQ
dWJsaWNTdWZmaXguaCBpbiBIZWFkZXJzICovLAogCQkJCTEwRkIwODRCMTRFMTVDN0UwMEEzREI5
OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NTBBMEJDQTA4NUY2
MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggNjZjODUw
ZmQzMGY5MmQ0NDVmYzlmZGU1MGVlOTBmODdkZTFiYmNlZi4uMzEzNDg1MWRkMmYxNjE3OWFlNzdh
MjA0ZWI2YjhiZjk2MTA0OGJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtNDAsNiArNDAsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgbWFjcm8oQXBwbGVQYXlTZXNzaW9uKSBcCiAgICAgbWFjcm8oQXR0YWNobWVudEVs
ZW1lbnQpIFwKICAgICBtYWNybyhBdWRpbykgXAorICAgIG1hY3JvKEF1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZSkgXAorICAgIG1hY3JvKEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3Bv
bnNlKSBcCisgICAgbWFjcm8oQXV0aGVudGljYXRvclJlc3BvbnNlKSBcCiAgICAgbWFjcm8oQ2Fj
aGUpIFwKICAgICBtYWNybyhDYWNoZVN0b3JhZ2UpIFwKICAgICBtYWNybyhDbGllbnQpIFwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA3YmRiZTI2OWJhMzE0ODlhOTlhZjZhY2MzZWY4NWQ2YWI1YTViNWUwLi5kOTgxMTg0ZGQ4
ZmVmOTNhZTU5NTI2YTIwYjNmNTBiNTBhZmE3MjUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTgtMDEtMTIgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBb
V2ViQXV0aE5dIEltcGxlbWVudCBkdW1teSBXZWJBdXRoTiBJRExzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODE2MjcKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzM2NDU5ODY0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE1vZGlmeSBzb21lIHRlc3RzIHRvIHJlZmxlY3QgdGhlIHVwZGF0ZS4KKworICAg
ICAgICAqIGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5l
ci1jcmVhdGUtYmFzaWNzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dwdC9j
cmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5o
dHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVk
ZW50aWFsc2NvbnRhaW5lci1nZXQtYmFzaWNzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBodHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItZ2V0
LWJhc2ljcy5odHRwcy5odG1sOgorCiAyMDE4LTAxLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQcm9jZXNzIHNob3VsZCBwYXNzIHRoZSByZWdpc3Ry
YXRpb24gaWRlbnRpZmllciBhbmQgbm90IHRoZSB3b3JrZXIgaWRlbnRpZmllciBmb3IgZmV0Y2gg
ZXZlbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBmMmQwZmJhY2RmNWM2NGRm
NDFkZWIxZmNjZjFiNDczM2UwMzdiYWIwLi5mZDc2MzMwM2JkOTJkMmM4MjY0ZGFmMDNkZTcwYzUw
M2ZkNWFjODA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxOC0wMS0xMiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFtXZWJBdXRoTl0gSW1wbGVtZW50IGR1bW15IFdlYkF1dGhOIElETHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTYyNworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzY0NTk4NjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlhbC1tYW5hZ2VtZW50
L2NyZWRlbnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMtZXhwZWN0ZWQudHh0Ogor
CiAyMDE4LTAxLTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZWRpcmVjdGVkIGlmcmFtZSBsb2FkaW5nIHdpdGggUmVxdWVzdC5yZWRpcmVjdD1mb2xsb3cg
c2hvdWxkIGZhaWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwt
bWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFzaWNzLmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVk
ZW50aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFzaWNzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAz
ZGYyY2IzZjMxOGJjZWRlNDAyZjFlMjlmNTdmMjQ4OTg4ZTk5OTU3Li45N2RiOTBiMDc1MTVlNDRm
NDk0OTI4NzJhODM2NDE0MDVkNWJkYzA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2lj
cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlh
bC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDggKzEsNyBAQAogCiBQQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5j
cmVhdGUoKSB3aXRoIG5vIGFyZ3VtZW50LiAKIFBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNy
ZWF0ZSgpIHdpdGggZW1wdHkgYXJndW1lbnQuIAotRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
Y3JlYXRlKCkgd2l0aCBib2d1cyBwdWJsaWNLZXkgZGF0YSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iICgiTm90U3VwcG9ydGVkRXJyb3Ii
KSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQorUEFTUyBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwdWJsaWNLZXkgZGF0YSAKIFBBU1Mg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgZGF0YSAKIFBBU1MgbmF2
aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYWJvcnQgc2lnbmFsIHNldCAKLVBBU1Mg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggZmFrZWQgZGF0YSAKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRp
YWxzY29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFz
aWNzLmh0dHBzLmh0bWwKaW5kZXggNmM4NmFlNWFlZWE3YTVmZmExODAyMmQ0OTRjZWZiY2U0ZjBj
ZDFjNy4uODE1ZTVhOGQzMmMyOTZlZmYyNzk5NjZkOGE0NjAxNzJlZDdlMWNlNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxz
Y29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJh
c2ljcy5odHRwcy5odG1sCkBAIC0zMSw5ICszMSw0IEBAIHByb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7CiAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiQWJvcnRFcnJvciIsCiAgICAgICAg
IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucykpOwogfSwgIm5hdmlnYXRvci5j
cmVkZW50aWFscy5jcmVhdGUoKSB3aXRoIGFib3J0IHNpZ25hbCBzZXQiKTsKLQotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJOb3RTdXBw
b3J0ZWRFcnJvciIsCi0gICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoe3B1Ymxp
Y0tleTogdHJ1ZX0pKTsKLX0sICJuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBm
YWtlZCBkYXRhIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1nZXQtYmFzaWNzLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdl
bWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1nZXQtYmFzaWNzLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCA4Y2MxNjg0MTYzOWYwMmIyZjAwOTE5ZDdlNDIyZDkyODM4Njg4ZWNiLi4xZTY1Zjk0NWFi
NmY3Nzg1NGRkMWMxYjMwNGUxYTc2MzUzYWRjZDIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItZ2V0LWJh
c2ljcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVu
dGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWdldC1iYXNpY3MuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDggKzEsNyBAQAogCiBQQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5n
ZXQoKSB3aXRoIG5vIGFyZ3VtZW50LiAKIFBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldCgp
IHdpdGggZW1wdHkgYXJndW1lbnQuIAotRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KCkg
d2l0aCBib2d1cyBwdWJsaWNLZXkgZGF0YSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rp
b24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBv
cGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iICgiTm90U3VwcG9ydGVkRXJyb3IiKSBleHBlY3Rl
ZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQorUEFTUyBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuZ2V0KCkgd2l0aCBib2d1cyBwdWJsaWNLZXkgZGF0YSAKIFBBU1MgbmF2aWdhdG9yLmNy
ZWRlbnRpYWxzLmdldCgpIHdpdGggYm9ndXMgZGF0YSAKIFBBU1MgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmdldCgpIHdpdGggYWJvcnQgc2lnbmFsIHNldCAKLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmdldCgpIHdpdGggZmFrZWQgZGF0YSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWdldC1iYXNp
Y3MuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVu
dC9jcmVkZW50aWFsc2NvbnRhaW5lci1nZXQtYmFzaWNzLmh0dHBzLmh0bWwKaW5kZXggY2E2ZDYz
NDQzZmMwNzg3NGQyMDFiOTNiZWM4NjJkZWMyMWUxYmEyYS4uNjhkM2ZiYjFmYjIxOTIzMWM0YTFh
OGY2NmRiZWUzYzkxODFjNWM0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jl
ZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWdldC1iYXNpY3MuaHR0cHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3Jl
ZGVudGlhbHNjb250YWluZXItZ2V0LWJhc2ljcy5odHRwcy5odG1sCkBAIC0zMSw5ICszMSw0IEBA
IHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0
LCAiQWJvcnRFcnJvciIsCiAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQob3B0aW9u
cykpOwogfSwgIm5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoKSB3aXRoIGFib3J0IHNpZ25hbCBz
ZXQiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzKHQsICJOb3RTdXBwb3J0ZWRFcnJvciIsCi0gICAgICAgIG5hdmlnYXRvci5jcmVkZW50
aWFscy5nZXQoe3B1YmxpY0tleTogdHJ1ZX0pKTsKLX0sICJuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
Z2V0KCkgd2l0aCBmYWtlZCBkYXRhIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlhbC1tYW5hZ2VtZW50
L2NyZWRlbnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1h
bmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggY2RjOWQ2MmU4MTA5YThkYmYyY2VmMGNiOTg5NmRkNzFlYzZkZDdiZC4uY2M2
NDAzYTRkMGU2MjcyMjczMThmMDMzM2E2NjQ1NDUwOTE5MTNlOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1l
bnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50
aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTYsMTIgKzYsMTIgQEAgRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
Y3JlYXRlKCkgd2l0aCB2YWxpZCBIVE1MRm9ybUVsZW1lbnQgcHJvbWlzZV90ZXN0OiBVbmgKIEZB
SUwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgcGFzc3dvcmQgZGF0
YSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3
IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRl
ZC4iICgiTm90U3VwcG9ydGVkRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJU
eXBlRXJyb3IiKQogRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCB2YWxp
ZCBGZWRlcmF0ZWRDcmVkZW50aWFsRGF0YSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJhdGlvbiBp
cyBub3Qgc3VwcG9ydGVkLiIKIEZBSUwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdp
dGggYm9ndXMgZmVkZXJhdGVkIGRhdGEgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3Bl
cmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIiAoIk5vdFN1cHBvcnRlZEVycm9yIikgZXhwZWN0ZWQg
b2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgcHVibGljS2V5IGRhdGEgYXNzZXJ0X3Rocm93czogZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIk5vdFN1cHBvcnRl
ZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIiAoIk5vdFN1cHBvcnRlZEVy
cm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgbmF2
aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHJldHVybnMgUHVibGljS2V5Q3JlZGVudGlhbCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLiIKK1BBU1MgbmF2
aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgcHVibGljS2V5IGRhdGEgCitG
QUlMIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSByZXR1cm5zIFB1YmxpY0tleUNyZWRl
bnRpYWwgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5w
dWJLZXlDcmVkUGFyYW1zIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIHNl
cXVlbmNlIgogUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib3RoIFBh
c3N3b3JkQ3JlZGVudGlhbERhdGEgYW5kIEZlZGVyYXRlZENyZWRlbnRpYWxEYXRhIAogRkFJTCBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwYXNzd29yZCBhbmQgZmVk
ZXJhdGVkIGRhdGEgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cg
ZSB9IiB0aHJldyBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5v
dCBzdXBwb3J0ZWQuIiAoIk5vdFN1cHBvcnRlZEVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBl
RXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgp
IHdpdGggYm9ndXMgZmVkZXJhdGVkIGFuZCBwdWJsaWNLZXkgZGF0YSBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iICgiTm90U3VwcG9ydGVk
RXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwYXNzd29yZCBhbmQgcHVi
bGljS2V5IGRhdGEgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cg
ZSB9IiB0aHJldyBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5v
dCBzdXBwb3J0ZWQuIiAoIk5vdFN1cHBvcnRlZEVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBl
RXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgp
IHdpdGggYm9ndXMgcGFzc3dvcmQsIGZlZGVyYXRlZCwgYW5kIHB1YmxpY0tleSBkYXRhIGFzc2Vy
dF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0
ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLiIgKCJO
b3RTdXBwb3J0ZWRFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJv
ciIpCitQQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSB3aXRoIGJvZ3VzIGZlZGVy
YXRlZCBhbmQgcHVibGljS2V5IGRhdGEgCitQQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVh
dGUoKSB3aXRoIGJvZ3VzIHBhc3N3b3JkIGFuZCBwdWJsaWNLZXkgZGF0YSAKK1BBU1MgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgcGFzc3dvcmQsIGZlZGVyYXRlZCwg
YW5kIHB1YmxpY0tleSBkYXRhIAogUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkg
d2l0aCBib2d1cyBkYXRhIAogCg==
</data>
<flag name="review"
          id="350245"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331409</attachid>
            <date>2018-01-16 11:48:45 -0800</date>
            <delta_ts>2018-01-16 14:53:00 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-181627-20180116114844.patch</filename>
            <type>text/plain</type>
            <size>78792</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2OTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDNhZDczNTg0ZDUzY2Yw
MDI2NmQ1MzgzNjBmYWQ4MGM2ZmExYjM0MC4uYjEwNGRjMzUxZjQ5NGIyYmRmMWIxY2YxMGRiNDRh
YTc3MGVmYTFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE4LTAxLTEyICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBJbXBs
ZW1lbnQgZHVtbXkgV2ViQXV0aE4gSURMcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNjI3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjQ1OTg2
ND4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggaW1wbGVtZW50cyBkdW1teSBXZWJBdXRoTiBJRExzIGFuZCBjb25uZWN0IHRoZW0g
d2l0aCBDcmVkZW50aWFsIE1hbmFnZW1lbnQgYXMgd2VsbC4KKyAgICAgICAgQWxsIGltcGxlbWVu
dGF0aW9ucyBpbiB0aGlzIHBhdGNoIGFyZSBzdWJqZWN0IHRvIGNoYW5nZSB3aGVuIHJlYWwgaW1w
bGVtZW50YXRpb25zIGxhbmQuIFRoZQorICAgICAgICBwdXJwb3NlIGhlcmUgb24gdGhlIG90aGVy
IGhhbmQgaXMgdG8gaGF2ZSBJRExzLCBiaW5kaW5ncyBhbmQgaW1wbGVtZW50YXRpb25zIGNvbm5l
Y3RlZC4gVGhpcworICAgICAgICBwYXRjaCBzaG91bGQgaGFuZGxlIGFsbCBJRExzIHRoYXQgd2Ug
bmVlZC4KKworICAgICAgICBObyB0ZXN0cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9jcmVkZW50
aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmg6CisgICAgICAgICogTW9k
dWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbDoK
KyAgICAgICAgKiBNb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0
T3B0aW9ucy5oOgorICAgICAgICAqIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVu
dGlhbFJlcXVlc3RPcHRpb25zLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAuCisgICAgICAgIChXZWJD
b3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U6OkF1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2U6On5BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjphdXRoZW50aWNhdG9yRGF0YSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U6OnNpZ25hdHVy
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U6OnVz
ZXJIYW5kbGUpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2Vy
dGlvblJlc3BvbnNlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVu
dGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmguCisgICAgICAgICogTW9k
dWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaWRsOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwu
aWRsLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9u
UmVzcG9uc2UuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRp
YWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaC4KKyAgICAgICAgKFdlYkNv
cmU6OkF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlOjpBdXRoZW50aWNhdG9yQXR0ZXN0
YXRpb25SZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0ZXN0YXRp
b25SZXNwb25zZTo6fkF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlOjphdHRlc3RhdGlvbk9i
amVjdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0ZXN0YXRp
b25SZXNwb25zZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRp
YWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oLgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwu
aWRsLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNlLmNw
cDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVu
dC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmguCisgICAgICAgIChXZWJDb3JlOjpBdXRoZW50
aWNhdG9yUmVzcG9uc2U6OkF1dGhlbnRpY2F0b3JSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpBdXRoZW50aWNhdG9yUmVzcG9uc2U6On5BdXRoZW50aWNhdG9yUmVzcG9uc2UpOgorICAgICAg
ICAoV2ViQ29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlOjpjbGllbnREYXRhSlNPTik6CisgICAg
ICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMuaC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0
b3JSZXNwb25zZS5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vUHVibGljS2V5Q3JlZGVudGlhbC5pZGwuCisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9Q
dWJsaWNLZXlDcmVkZW50aWFsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlB1YmxpY0tleUNyZWRl
bnRpYWw6OnJhd0lkKToKKyAgICAgICAgKFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWw6OnJl
c3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWw6OmdldENsaWVu
dEV4dGVuc2lvblJlc3VsdHMpOgorICAgICAgICAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlh
bDo6aXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucy5oLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaDogQ29waWVkIGZyb20gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRp
b25PcHRpb25zLmguCisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50
aWFsRGVzY3JpcHRvci5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5pZGwuCisgICAgICAgICogTW9kdWxlcy93ZWJhdXRo
bi9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaDogQ29waWVkIGZyb20gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zLmguCisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Ny
ZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oLgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbC4K
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmlkbDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVk
ZW50aWFsLmlkbC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1
aWx0aW5OYW1lcy5oOgorCiAyMDE4LTAxLTEyICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFdyYXAgQ0RNRmFpclBsYXlTdHJlYW1pbmcgYW5kIHJlbGF0ZWQgY2xh
c3NlcyBpbiBFTkFCTEUoRU5DUllQVEVEX01FRElBKSBjaGVja3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggZGJiZWVkNzQ3YTI2Y2I5N2VmMjA5ZmY1ZDFlZDliNDI2ODk1YmU5ZC4uYTVhMzRlZThk
MTM3NGY0MWM5MjY4YzVjYTI0YTY1ODJhZGVjNWY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTM5OCw3ICszOTgsMTQgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1
bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRp
by9XYXZlU2hhcGVyTm9kZS5pZGwKIAorICAgIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRv
ckFzc2VydGlvblJlc3BvbnNlLmlkbAorICAgIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRv
ckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsCisgICAgTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNh
dG9yUmVzcG9uc2UuaWRsCiAgICAgTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFs
LmlkbAorICAgIE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0
aW9ucy5pZGwKKyAgICBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlw
dG9yLmlkbAorICAgIE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RP
cHRpb25zLmlkbAorICAgIE1vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFR5cGUu
aWRsCiAKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRvd1dlYkRhdGFiYXNlLmlkbAog
ICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCBiYjE1NWRlM2M2MTlhMDEzODI5YTdlYmYwYTExYzAzNDk5MzIwOTJmLi5h
NWJlNDc0NWViM2UyM2I5NDg2Njc1MDE1MTM4MDM1ODcwOTA0MDViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTMyNCw3ICszMjQsMTQgQEAgSlNfQklORElOR19JRExTID0gXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2RpY1dhdmUuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyTm9kZS5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2Uu
aWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVz
dGF0aW9uUmVzcG9uc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRvclJlc3BvbnNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhu
L1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4v
UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5pZGwgXAorCSQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVu
dGlhbFR5cGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UvRE9NV2lu
ZG93V2ViRGF0YWJhc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2VDYWxsYmFjay5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVk
ZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnMuaAppbmRleCBkZTk4OWQxMzFlZTdjMjM4OTVjZWY4ZDU4OTA0ZGY3MjIzYTRkYmZlLi4xYjQw
MWVmNWE3ZjY1MWM5OTlmNzMwYmIzYjZkYzEzNWE5MjdhZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50
L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaApAQCAtMjYsNiArMjYsOCBAQAogCiAjcHJhZ21h
IG9uY2UKIAorI2luY2x1ZGUgIkFib3J0U2lnbmFsLmgiCisjaW5jbHVkZSAiUHVibGljS2V5Q3Jl
ZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzM2LDcgQEAgY2xhc3MgQWJvcnRTaWduYWw7
CiAKIHN0cnVjdCBDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHsKICAgICBSZWZQdHI8QWJvcnRT
aWduYWw+IHNpZ25hbDsKLSAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IHB1YmxpY0tleTsKKyAgICBz
dGQ6Om9wdGlvbmFsPFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM+IHB1YmxpY0tl
eTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsCmluZGV4IDMzMGY0ZWFjODBiZjMzYmRjOTUyYmJlODMz
OTY4ODQ2NTE0YmVmYWIuLmIyYzBkYTQwMjBmZmUzZDE0Mjc5MDQ5N2U4MDYwYjcwNTUwMTZkZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQv
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbApAQCAt
MjYsNSArMjYsNSBAQAogCiBkaWN0aW9uYXJ5IENyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgewog
ICAgIEFib3J0U2lnbmFsIHNpZ25hbDsKLSAgICBib29sZWFuIHB1YmxpY0tleTsgLy8gZmFrZSBm
b3Igbm93CisgICAgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBwdWJsaWNLZXk7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdl
bWVudC9DcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmgKaW5kZXggZjVj
ZGZhNmRhOWMyYzhiMTllNDUzNzUwY2Y5MjAxZmViNDc5NTI5Mi4uNjQ0ZTdkZDZlMTY1ZGY2OTJj
NmMyZGVkMWQyZmUxNjNiNWI2MzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxSZXF1
ZXN0T3B0aW9ucy5oCkBAIC0yNiw2ICsyNiw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVk
ZSAiUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmgiCiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsNyArMzgsNyBAQCBzdHJ1
Y3QgQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zIHsKIAogICAgIE1lZGlhdGlvblJlcXVpcmVtZW50
IG1lZGlhdGlvbjsKICAgICBSZWZQdHI8QWJvcnRTaWduYWw+IHNpZ25hbDsKLSAgICBzdGQ6Om9w
dGlvbmFsPGJvb2w+IHB1YmxpY0tleTsKKyAgICBzdGQ6Om9wdGlvbmFsPFB1YmxpY0tleUNyZWRl
bnRpYWxSZXF1ZXN0T3B0aW9ucz4gcHVibGljS2V5OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdl
bWVudC9DcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaWRsCmluZGV4
IGFlZWFmNGEwMGEyNDgzN2ZhZmZhODkyOTgzMzEwMzQ5MWU4OTcxMzUuLmNlZDE0NDcyMTE2ZTFl
MTAxMDQ5MzhkMjJhZDE2YWE4OGRkMzcxYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucy5pZGwKQEAgLTMzLDUgKzMzLDUgQEAgZW51bSBDcmVkZW50aWFsTWVk
aWF0aW9uUmVxdWlyZW1lbnQgewogZGljdGlvbmFyeSBDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMg
ewogICAgIENyZWRlbnRpYWxNZWRpYXRpb25SZXF1aXJlbWVudCBtZWRpYXRpb24gPSAib3B0aW9u
YWwiOwogICAgIEFib3J0U2lnbmFsIHNpZ25hbDsKLSAgICBib29sZWFuIHB1YmxpY0tleTsgLy8g
ZmFrZSBmb3Igbm93CisgICAgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zIHB1Ymxp
Y0tleTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1
dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTcwNGYwMWJjMGJlZGQxMGEyMzJiMzQ3ZjQ0ODNlNzY0NWY1NDdhOAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2VydGlv
blJlc3BvbnNlLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZTo6QXV0
aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiBjbGllbnRE
YXRhSlNPTiwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIGF1dGhlbnRpY2F0b3JEYXRhLCBSZWZQdHI8
QXJyYXlCdWZmZXI+JiYgc2lnbmF0dXJlLCBSZWZQdHI8QXJyYXlCdWZmZXI+JiYgdXNlckhhbmRs
ZSkKKyAgICA6IEF1dGhlbnRpY2F0b3JSZXNwb25zZShXVEZNb3ZlKGNsaWVudERhdGFKU09OKSkK
KyAgICAsIG1fYXV0aGVudGljYXRvckRhdGEoV1RGTW92ZShhdXRoZW50aWNhdG9yRGF0YSkpCisg
ICAgLCBtX3NpZ25hdHVyZShXVEZNb3ZlKHNpZ25hdHVyZSkpCisgICAgLCBtX3VzZXJIYW5kbGUo
V1RGTW92ZSh1c2VySGFuZGxlKSkKK3sKK30KKworQXV0aGVudGljYXRvckFzc2VydGlvblJlc3Bv
bnNlOjp+QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKCkKK3sKK30KKworQXJyYXlCdWZm
ZXIqIEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZTo6YXV0aGVudGljYXRvckRhdGEoKQor
eworICAgIHJldHVybiBtX2F1dGhlbnRpY2F0b3JEYXRhLmdldCgpOworfQorCitBcnJheUJ1ZmZl
ciogQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlOjpzaWduYXR1cmUoKQoreworICAgIHJl
dHVybiBtX3NpZ25hdHVyZS5nZXQoKTsKK30KKworQXJyYXlCdWZmZXIqIEF1dGhlbnRpY2F0b3JB
c3NlcnRpb25SZXNwb25zZTo6dXNlckhhbmRsZSgpCit7CisgICAgcmV0dXJuIG1fdXNlckhhbmRs
ZS5nZXQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2VydGlv
blJlc3BvbnNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTdhYjY3OThhYmQzMDM4M2FmZmRlNjM4MGMwNWFjNzhl
MDc1N2UwZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmgKQEAgLTAsMCArMSw0NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQXV0aGVudGljYXRvclJlc3BvbnNl
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQXV0aGVudGljYXRvckFzc2VydGlv
blJlc3BvbnNlIDogcHVibGljIEF1dGhlbnRpY2F0b3JSZXNwb25zZSB7CitwdWJsaWM6CisgICAg
QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKFJlZlB0cjxBcnJheUJ1ZmZlcj4mJiBjbGll
bnREYXRhSlNPTiwgUmVmUHRyPEFycmF5QnVmZmVyPiYmIGF1dGhlbnRpY2F0b3JEYXRhLCBSZWZQ
dHI8QXJyYXlCdWZmZXI+JiYgc2lnbmF0dXJlLCBSZWZQdHI8QXJyYXlCdWZmZXI+JiYgdXNlckhh
bmRsZSk7CisgICAgdmlydHVhbCB+QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlKCk7CisK
KyAgICBBcnJheUJ1ZmZlciogYXV0aGVudGljYXRvckRhdGEoKTsKKyAgICBBcnJheUJ1ZmZlciog
c2lnbmF0dXJlKCk7CisgICAgQXJyYXlCdWZmZXIqIHVzZXJIYW5kbGUoKTsKKworcHJpdmF0ZToK
KyAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fYXV0aGVudGljYXRvckRhdGE7CisgICAgUmVmUHRy
PEFycmF5QnVmZmVyPiBtX3NpZ25hdHVyZTsKKyAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fdXNl
ckhhbmRsZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2Vy
dGlvblJlc3BvbnNlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmUxYjgxYTYxNDQ4YTY4MmMxNjM2M2IyNDVl
OGU3NzFiZjQ3ZTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaWRsCkBAIC0wLDAgKzEsMzQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJBdXRoZW50aWNhdGlv
biwKKyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBTZWN1cmVDb250ZXh0CitdIGludGVyZmFjZSBB
dXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UgOiBBdXRoZW50aWNhdG9yUmVzcG9uc2Ugewor
ICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgYXV0aGVudGlj
YXRvckRhdGE7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBcnJheUJ1ZmZl
ciBzaWduYXR1cmU7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBcnJheUJ1
ZmZlciB1c2VySGFuZGxlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODE5NjAzMGYyZGRlNDc5ZWJiOWU4Y2U4MWE2YTc3YWQ1OTBjOTUwMAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVu
dGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuY3BwCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXV0aGVudGljYXRvckF0dGVzdGF0
aW9uUmVzcG9uc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitBdXRoZW50aWNhdG9yQXR0
ZXN0YXRpb25SZXNwb25zZTo6QXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UoUmVmUHRy
PEFycmF5QnVmZmVyPiYmIGNsaWVudERhdGFKU09OLCBSZWZQdHI8QXJyYXlCdWZmZXI+JiYgYXR0
ZXN0YXRpb25PYmplY3QpCisgICAgOiBBdXRoZW50aWNhdG9yUmVzcG9uc2UoV1RGTW92ZShjbGll
bnREYXRhSlNPTikpCisgICAgLCBtX2F0dGVzdGF0aW9uT2JqZWN0KFdURk1vdmUoYXR0ZXN0YXRp
b25PYmplY3QpKQoreworfQorCitBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZTo6fkF1
dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlKCkKK3sKK30KKworQXJyYXlCdWZmZXIqIEF1
dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlOjphdHRlc3RhdGlvbk9iamVjdCgpCit7Cisg
ICAgcmV0dXJuIG1fYXR0ZXN0YXRpb25PYmplY3QuZ2V0KCk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
YTliYmNkNTNiYTJjZTk3ZDg0MWJlNWVkNDRhMDUxZDUwY2I4YTRlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0ZXN0YXRp
b25SZXNwb25zZS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIkF1dGhlbnRpY2F0b3JSZXNwb25zZS5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlIDogcHVibGljIEF1
dGhlbnRpY2F0b3JSZXNwb25zZSB7CitwdWJsaWM6CisgICAgQXV0aGVudGljYXRvckF0dGVzdGF0
aW9uUmVzcG9uc2UoUmVmUHRyPEFycmF5QnVmZmVyPiYmIGNsaWVudERhdGFKU09OLCBSZWZQdHI8
QXJyYXlCdWZmZXI+JiYgYXR0ZXN0YXRpb25PYmplY3QpOworICAgIHZpcnR1YWwgfkF1dGhlbnRp
Y2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlKCk7CisKKyAgICBBcnJheUJ1ZmZlciogYXR0ZXN0YXRp
b25PYmplY3QoKTsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fYXR0ZXN0
YXRpb25PYmplY3Q7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJl
c3BvbnNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRv
ckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmOWIyNGIxYTBjYjg4OWJiOWIx
ZGY5NGYyZGVkNmZmZDRhMDc0MmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbApAQCAt
MCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0
aGVudGljYXRpb24sCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgU2VjdXJlQ29udGV4dAorXSBp
bnRlcmZhY2UgQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UgOiBBdXRoZW50aWNhdG9y
UmVzcG9uc2UgeworICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZm
ZXIgYXR0ZXN0YXRpb25PYmplY3Q7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRk
YjE4YjM2NDFiM2EwMDI4NGNjMjAwMzUyZTNlZDVlYjNhYThlOWIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5j
cHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJBdXRoZW50aWNhdG9yUmVzcG9uc2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitBdXRoZW50aWNhdG9yUmVzcG9uc2U6OkF1dGhlbnRpY2F0b3JSZXNwb25zZShSZWZQdHI8QXJy
YXlCdWZmZXI+JiYgY2xpZW50RGF0YUpTT04pCisgICAgOiBtX2NsaWVudERhdGFKU09OKFdURk1v
dmUoY2xpZW50RGF0YUpTT04pKQoreworfQorCitBdXRoZW50aWNhdG9yUmVzcG9uc2U6On5BdXRo
ZW50aWNhdG9yUmVzcG9uc2UoKQoreworfQorCitBcnJheUJ1ZmZlciogQXV0aGVudGljYXRvclJl
c3BvbnNlOjpjbGllbnREYXRhSlNPTigpCit7CisgICAgcmV0dXJuIG1fY2xpZW50RGF0YUpTT04u
Z2V0KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmEzYTE2YjU2ZjQ5N2FiYjM0MGRiYzI5MzJkYmI0Mzc0ZTk0NjJiODkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNw
b25zZS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBdXRoZW50aWNhdG9y
UmVzcG9uc2UgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QXV0aGVudGljYXRvclJlc3Bv
bnNlPiB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQXV0aGVudGljYXRvclJlc3BvbnNlKFJlZlB0
cjxBcnJheUJ1ZmZlcj4mJik7CisgICAgdmlydHVhbCB+QXV0aGVudGljYXRvclJlc3BvbnNlKCk7
CisKKyAgICBBcnJheUJ1ZmZlciogY2xpZW50RGF0YUpTT04oKTsKKworcHJpdmF0ZToKKyAgICBS
ZWZQdHI8QXJyYXlCdWZmZXI+IG1fY2xpZW50RGF0YUpTT047Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1
dGhlbnRpY2F0b3JSZXNwb25zZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhu
L0F1dGhlbnRpY2F0b3JSZXNwb25zZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTVjNGRkY2M1ODRjNGI4MTFj
MjVmMjg3NjAxZWY2OGViMTNiNmZiMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNlLmlkbApAQCAtMCwwICsxLDMy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQXV0aGVudGljYXRp
b24sCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgU2VjdXJlQ29udGV4dCwKK10gaW50ZXJmYWNl
IEF1dGhlbnRpY2F0b3JSZXNwb25zZSB7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBBcnJheUJ1ZmZlciBjbGllbnREYXRhSlNPTjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmNwcAppbmRleCBk
NzA4MTM3YjVjM2NiMDgzNzVmZDU0ZWE3YmM5NWFhNmViMmNjZWUxLi4xN2FjYjJmMTg1MjQwZTk5
MTE5ZjFhZTIzMjEyYWYyMTE4ODg5OGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5jcHAKQEAgLTI2LDYgKzI2LDgg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQdWJsaWNLZXlDcmVkZW50aWFsLmgi
CiAKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIFB1YmxpY0tleUNyZWRlbnRpYWw6OlB1YmxpY0tleUNyZWRlbnRpYWwoY29uc3QgU3Ry
aW5nJiBpZCkKQEAgLTUzLDQgKzU1LDI0IEBAIEV4Y2VwdGlvbk9yPFJlZlB0cjxCYXNpY0NyZWRl
bnRpYWw+PiBQdWJsaWNLZXlDcmVkZW50aWFsOjpjcmVhdGUoY29uc3QgQ3JlZGVudGlhCiAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yIH07CiB9CiAKK0FycmF5QnVmZmVy
KiBQdWJsaWNLZXlDcmVkZW50aWFsOjpyYXdJZCgpCit7CisgICAgcmV0dXJuIG1fcmF3SWQuZ2V0
KCk7CiB9CisKK0F1dGhlbnRpY2F0b3JSZXNwb25zZSogUHVibGljS2V5Q3JlZGVudGlhbDo6cmVz
cG9uc2UoKQoreworICAgIHJldHVybiBtX3Jlc3BvbnNlLmdldCgpOworfQorCitFeGNlcHRpb25P
cjxib29sPiBQdWJsaWNLZXlDcmVkZW50aWFsOjpnZXRDbGllbnRFeHRlbnNpb25SZXN1bHRzKCkK
K3sKKyAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfTsKK30KKwordm9p
ZCBQdWJsaWNLZXlDcmVkZW50aWFsOjppc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0
b3JBdmFpbGFibGUoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIHByb21p
c2UtPnJlamVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciB9KTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaAppbmRleCBkNWU4MDFhYzA1YmQ1N2EyZTUwNmNlZGRi
YTU2NTkxNjgzZWE3MTA3Li4zYzk2NmJjOTgwNDUzYWI1NWJiOTI2OWU5YjJlZjI1NjgzYzdhYTQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tl
eUNyZWRlbnRpYWwuaApAQCAtMjcsMTAgKzI3LDE0IEBACiAKICNpbmNsdWRlICJCYXNpY0NyZWRl
bnRpYWwuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgotI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKyNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CisjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBBdXRoZW50aWNhdG9yUmVzcG9u
c2U7CitjbGFzcyBEZWZlcnJlZFByb21pc2U7CisKIHN0cnVjdCBDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zOwogc3RydWN0IENyZWRlbnRpYWxSZXF1ZXN0T3B0aW9uczsKIApAQCAtNDYsOCArNTAs
MTggQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8QmFzaWNDcmVkZW50aWFsPiBzdG9yZShS
ZWZQdHI8QmFzaWNDcmVkZW50aWFsPiYmLCBib29sKTsKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8
UmVmUHRyPEJhc2ljQ3JlZGVudGlhbD4+IGNyZWF0ZShjb25zdCBDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zJiwgYm9vbCk7CiAKKyAgICBBcnJheUJ1ZmZlciogcmF3SWQoKTsKKyAgICBBdXRoZW50
aWNhdG9yUmVzcG9uc2UqIHJlc3BvbnNlKCk7CisgICAgLy8gTm90IHN1cHBvcnQgeWV0LiBBbHdh
eXMgdGhyb3dzLgorICAgIEV4Y2VwdGlvbk9yPGJvb2w+IGdldENsaWVudEV4dGVuc2lvblJlc3Vs
dHMoKTsKKworICAgIHN0YXRpYyB2b2lkIGlzVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0aGVudGlj
YXRvckF2YWlsYWJsZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKwogcHJpdmF0ZToKICAgICBQ
dWJsaWNLZXlDcmVkZW50aWFsKGNvbnN0IFN0cmluZyYpOworCisgICAgUmVmUHRyPEFycmF5QnVm
ZmVyPiBtX3Jhd0lkOworICAgIFJlZlB0cjxBdXRoZW50aWNhdG9yUmVzcG9uc2U+IG1fcmVzcG9u
c2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmlkbAppbmRleCBmOWIy
MDIzMDdmNWMzZThjMDFlMzI2OGRhNDUxOTUyMTA3ZWRkMDgyLi40OGVmOWZmZmNjM2EyM2Y4ZjQ1
NTU4YmU3ZmQ4ZWVhODdlMDJjZmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5pZGwKQEAgLTIzLDEwICsyMywxNiBA
QAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKK3R5cGVkZWYgYm9v
bGVhbiBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnM7CisKIFsKICAgICBFbmFibGVkQXRSdW50aW1l
PVdlYkF1dGhlbnRpY2F0aW9uLAogICAgIEV4cG9zZWQ9V2luZG93LAogICAgIFNlY3VyZUNvbnRl
eHQsCiBdIGludGVyZmFjZSBQdWJsaWNLZXlDcmVkZW50aWFsIHsKLSAgICAvLyBEdW1teSBmb3Ig
bm93LgorICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgcmF3
SWQ7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdXRoZW50aWNhdG9yUmVz
cG9uc2UgcmVzcG9uc2U7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBBdXRoZW50aWNhdGlvbkV4
dGVuc2lvbnMgZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpOworCisgICAgc3RhdGljIFByb21p
c2U8Ym9vbGVhbj4gaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxl
KCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJs
aWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44YmFmZTMwNWNkZjRlNjQ3YjI3OTFjM2E3MDVhNDRiMWNmZmQyNDhjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiUHVibGljS2V5Q3Jl
ZGVudGlhbERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5o
IgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Ry
dWN0IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgeworICAgIHN0cnVjdCBFbnRp
dHkgeworICAgICAgICBTdHJpbmcgbmFtZTsKKyAgICAgICAgU3RyaW5nIGljb247CisgICAgfTsK
KworICAgIHN0cnVjdCBScEVudGl0eSA6IHB1YmxpYyBFbnRpdHkgeworICAgICAgICBTdHJpbmcg
aWQ7CisgICAgfTsKKworICAgIHN0cnVjdCBVc2VyRW50aXR5IDogcHVibGljIEVudGl0eSB7Cisg
ICAgICAgIEJ1ZmZlclNvdXJjZSBpZDsKKyAgICAgICAgU3RyaW5nIGRpc3BsYXlOYW1lOworICAg
IH07CisKKyAgICBzdHJ1Y3QgUGFyYW1ldGVycyB7CisgICAgICAgIFB1YmxpY0tleUNyZWRlbnRp
YWxUeXBlIHR5cGU7CisgICAgICAgIGxvbmcgYWxnIHsgMCB9OworICAgIH07CisKKyAgICBScEVu
dGl0eSBycDsKKyAgICBVc2VyRW50aXR5IHVzZXI7CisKKyAgICBCdWZmZXJTb3VyY2UgY2hhbGxl
bmdlOworICAgIFZlY3RvcjxQYXJhbWV0ZXJzPiBwdWJLZXlDcmVkUGFyYW1zOworCisgICAgdW5z
aWduZWQgbG9uZyB0aW1lb3V0IHsgMCB9OworICAgIFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFs
RGVzY3JpcHRvcj4gZXhjbHVkZUNyZWRlbnRpYWxzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNL
ZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTdmNThiMGVmM2MwZDJjODNlNjgwZjJlNTJmNTI3YzVjNjBlMjhjZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlh
bENyZWF0aW9uT3B0aW9ucy5pZGwKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK3R5cGVk
ZWYgbG9uZyBDT1NFQWxnb3JpdGhtSWRlbnRpZmllcjsKKworZGljdGlvbmFyeSBQdWJsaWNLZXlD
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIHsKKyAgICByZXF1aXJlZCBQdWJsaWNLZXlDcmVkZW50
aWFsUnBFbnRpdHkgcnA7CisgICAgcmVxdWlyZWQgUHVibGljS2V5Q3JlZGVudGlhbFVzZXJFbnRp
dHkgdXNlcjsKKworICAgIHJlcXVpcmVkIEJ1ZmZlclNvdXJjZSBjaGFsbGVuZ2U7CisgICAgcmVx
dWlyZWQgc2VxdWVuY2U8UHVibGljS2V5Q3JlZGVudGlhbFBhcmFtZXRlcnM+IHB1YktleUNyZWRQ
YXJhbXM7CisKKyAgICB1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CisgICAgc2VxdWVuY2U8UHVibGlj
S2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+IGV4Y2x1ZGVDcmVkZW50aWFscyA9IFtdOworICAgIC8v
IFdlIGRvbid0IGFsbG93IFJQcyB0byBzZWxlY3QgYXV0aGVudGljYXRvcnMgYXQgdGhpcyBzdGFn
ZS4KKyAgICAvLyBIZW5jZSwgdGhvc2Ugb3B0aW9ucyBhcmUgYWx3YXlzIHsgInBsYXRmb3JtIiwg
dHJ1ZSwgInJlcXVpcmVkIiB9LgorICAgIC8vIEF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJp
YSBhdXRoZW50aWNhdG9yU2VsZWN0aW9uOworICAgIC8vIEFsd2F5cyAiZGlyZWN0IiBmb3IgdXMu
CisgICAgLy8gQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZSBhdHRlc3RhdGlvbiA9ICJu
b25lIjsKKyAgICAvLyBOb3Qgc3VwcG9ydCB5ZXQuCisgICAgLy8gQXV0aGVudGljYXRpb25FeHRl
bnNpb25zIGV4dGVuc2lvbnM7Cit9OworCitkaWN0aW9uYXJ5IFB1YmxpY0tleUNyZWRlbnRpYWxF
bnRpdHkgeworICAgIHJlcXVpcmVkIERPTVN0cmluZyBuYW1lOworICAgIFVTVlN0cmluZyBpY29u
OworfTsKKworZGljdGlvbmFyeSBQdWJsaWNLZXlDcmVkZW50aWFsUnBFbnRpdHkgOiBQdWJsaWNL
ZXlDcmVkZW50aWFsRW50aXR5IHsKKyAgICBET01TdHJpbmcgaWQ7Cit9OworCitkaWN0aW9uYXJ5
IFB1YmxpY0tleUNyZWRlbnRpYWxVc2VyRW50aXR5IDogUHVibGljS2V5Q3JlZGVudGlhbEVudGl0
eSB7CisgICAgcmVxdWlyZWQgQnVmZmVyU291cmNlIGlkOworICAgIHJlcXVpcmVkIERPTVN0cmlu
ZyBkaXNwbGF5TmFtZTsKK307CisKK2RpY3Rpb25hcnkgUHVibGljS2V5Q3JlZGVudGlhbFBhcmFt
ZXRlcnMgeworICAgIHJlcXVpcmVkIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlIHR5cGU7CisgICAg
cmVxdWlyZWQgQ09TRUFsZ29yaXRobUlkZW50aWZpZXIgYWxnOworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlh
bERlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43M2U0NDkyMzcyNGYzMTI1YjFlZGFkZTM2ODczODdl
ZGIxYWU4MTg1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dXRobi9QdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsMzggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkJ1ZmZlclNvdXJjZS5oIgorI2lu
Y2x1ZGUgIlB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kworc3RydWN0IFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yIHsKKyAgICBQdWJsaWNLZXlD
cmVkZW50aWFsVHlwZSB0eXBlOworICAgIEJ1ZmZlclNvdXJjZSBpZDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTkzZjg2NDRiMTllMDUxYjAzYmQ5NDhlMWZhZDgyYjcwZWY0ZDhlZgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlh
bERlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5
IFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yIHsKKyAgICByZXF1aXJlZCBQdWJsaWNLZXlD
cmVkZW50aWFsVHlwZSB0eXBlOworICAgIHJlcXVpcmVkIEJ1ZmZlclNvdXJjZSBpZDsKKyAgICAv
LyBXZSBvbmx5IGFsbG93IHBsYXRmb3JtIGF0dGFjaG1lbnQgYXQgdGhpcyBzdGFnZS4KKyAgICAv
LyBzZXF1ZW5jZTxBdXRoZW50aWNhdG9yVHJhbnNwb3J0PiB0cmFuc3BvcnRzOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1Ymxp
Y0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0OWUxYzg0N2JlZmEy
YjQxMmU3ZTk5MmU0ZjhkNjI4MTE5YmVjNjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5o
CkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IkJ1ZmZlclNvdXJjZS5oIgorI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9y
LmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitz
dHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zIHsKKyAgICBCdWZmZXJTb3Vy
Y2UgY2hhbGxlbmdlOworICAgIHVuc2lnbmVkIGxvbmcgdGltZW91dCB7IDAgfTsKKyAgICBTdHJp
bmcgcnBJZDsKKyAgICBWZWN0b3I8UHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+IGFsbG93
Q3JlZGVudGlhbHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0
T3B0aW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTMxZWJkMzBmOWFjMGUxNDU4
NmY1NWRkZGZiNGVlNTUzMTcwZDAyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApA
QCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZGljdGlvbmFyeSBQdWJsaWNLZXlDcmVkZW50
aWFsUmVxdWVzdE9wdGlvbnMgeworICAgIHJlcXVpcmVkIEJ1ZmZlclNvdXJjZSBjaGFsbGVuZ2U7
CisgICAgdW5zaWduZWQgbG9uZyB0aW1lb3V0OworICAgIFVTVlN0cmluZyBycElkOworICAgIHNl
cXVlbmNlPFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yPiBhbGxvd0NyZWRlbnRpYWxzID0g
W107CisgICAgLy8gQWx3YXlzICJyZXF1aXJlZCIgYXQgdGhpcyBzdGFnZQorICAgIC8vIFVzZXJW
ZXJpZmljYXRpb25SZXF1aXJlbWVudCB1c2VyVmVyaWZpY2F0aW9uID0gInByZWZlcnJlZCI7Cisg
ICAgLy8gTm90IHN1cHBvcnQgeWV0LgorICAgIC8vIEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9ucyBl
eHRlbnNpb25zOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMWExZmU5OWViNmJh
N2I5YTYxOGE0NWVmZWMxNmNmZGRmY2M1MGRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oCkBAIC0wLDAg
KzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitlbnVtIGNsYXNzIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlIHsKKyAgICBQdWJsaWNLZXkK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmE2YzQ3M2U5ZWQ0YTU4NGQ0MmYwM2RkMDRmNTMxNjQzZmY2YjNiMAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVu
dGlhbFR5cGUuaWRsCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgSW1wbGVt
ZW50ZWRBcz1QdWJsaWNLZXlDcmVkZW50aWFsVHlwZQorXSBlbnVtIFB1YmxpY0tleUNyZWRlbnRp
YWxUeXBlIHsKKyAgICAicHVibGljLWtleSIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDM3NTEyMDlk
NjMzZDNiYmI4MGY0NDJmYzAzNjI3MTFlZmM4OGVhYjkuLjljMmIwYTVmMTFmMTc0ZGE4MWQ0N2Rj
ZTI2YjllM2MwYzU5MTcxMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yNDQsNiArMjQ0LDkgQEAgTW9k
dWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyRFNQS2VybmVsLmNwcAogTW9kdWxlcy93ZWJhdWRpby9X
YXZlU2hhcGVyTm9kZS5jcHAKIE1vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlclByb2Nlc3Nvci5j
cHAKIAorTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3Bw
CitNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmNwcAor
TW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuY3BwCiBNb2R1bGVzL3dlYmF1
dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwCiBNb2R1bGVzL3dlYmF1dGhuL2Nib3IvQ0JPUlJl
YWRlci5jcHAKIE1vZHVsZXMvd2ViYXV0aG4vY2Jvci9DQk9SVmFsdWUuY3BwCkBAIC0yMzI1LDYg
KzIzMjgsOSBAQCBKU0F1ZGlvTGlzdGVuZXIuY3BwCiBKU0F1ZGlvTm9kZS5jcHAKIEpTQXVkaW9Q
YXJhbS5jcHAKIEpTQXVkaW9Qcm9jZXNzaW5nRXZlbnQuY3BwCitKU0F1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZS5jcHAKK0pTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuY3Bw
CitKU0F1dGhlbnRpY2F0b3JSZXNwb25zZS5jcHAKIEpTQmFyUHJvcC5jcHAKIEpTQmFzaWNDcmVk
ZW50aWFsLmNwcAogSlNCZWZvcmVMb2FkRXZlbnQuY3BwCkBAIC0yNzQzLDYgKzI3NDksMTAgQEAg
SlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCiBKU1Byb2dyZXNzRXZlbnQuY3BwCiBKU1Byb21p
c2VSZWplY3Rpb25FdmVudC5jcHAKIEpTUHVibGljS2V5Q3JlZGVudGlhbC5jcHAKK0pTUHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5jcHAKK0pTUHVibGljS2V5Q3JlZGVudGlhbERl
c2NyaXB0b3IuY3BwCitKU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5jcHAKK0pT
UHVibGljS2V5Q3JlZGVudGlhbFR5cGUuY3BwCiBKU1JUQ0Fuc3dlck9wdGlvbnMuY3BwCiBKU1JU
Q0NvbmZpZ3VyYXRpb24uY3BwCiBKU1JUQ0RUTUZTZW5kZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2U1ZDYxMjRlYjY5
NTFmNjdmYWFmY2NjOTQxNGIxODk3YzMyMzcwMy4uODQyZTUzZDU0YjVjYTUwYmQwODU2NzY4OGI3
MzI0YTJiZDAxZjNhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTY0NSw2ICsxNjQ1LDIwIEBACiAJCTU3MzAzQkJBMjAwNkM2
RUUwMDM1NTk2NSAvKiBDQk9SV3JpdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzMwM0JCNTIwMDZDNkVEMDAzNTU5NjUgLyogQ0JPUldyaXRlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU3MzAz
QkJCMjAwNkM2RUUwMDM1NTk2NSAvKiBDQk9SQmluYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzMwM0JCNjIwMDZDNkVEMDAzNTU5NjUgLyogQ0JP
UkJpbmFyeS5oICovOyB9OwogCQk1NzMwM0JDMTIwMDZFMDBDMDAzNTU5NjUgLyogQ0JPUlJlYWRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNC
QkYyMDA2RTAwQzAwMzU1OTY1IC8qIENCT1JSZWFkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1NzMwM0JEMjIwMDg3QTgzMDAzNTU5NjUgLyog
QXV0aGVudGljYXRvclJlc3BvbnNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1NzMwM0JDRjIwMDg3QTgzMDAzNTU5NjUgLyogQXV0aGVudGljYXRvclJl
c3BvbnNlLmggKi87IH07CisJCTU3MzAzQkUxMjAwOTVENjEwMDM1NTk2NSAvKiBKU0F1dGhlbnRp
Y2F0b3JSZXNwb25zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTczMDNCREQyMDA5NUIyNjAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvclJlc3BvbnNl
LmggKi87IH07CisJCTU3MzAzQkU5MjAwOTc0OEQwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1NzMwM0JFNjIwMDk3NDdBMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlh
bENyZWF0aW9uT3B0aW9ucy5oICovOyB9OworCQk1NzMwM0JFQjIwMDk3RjQwMDAzNTU5NjUgLyog
UHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3MzAzQkVBMjAwOTdGNDAwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVk
ZW50aWFsVHlwZS5oICovOyB9OworCQk1NzMwM0JFRjIwMDk4MEM2MDAzNTU5NjUgLyogUHVibGlj
S2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3MzAzQkVDMjAwOTgwQkYwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVk
ZW50aWFsRGVzY3JpcHRvci5oICovOyB9OworCQk1NzMwM0JGNDIwMDk5MDQ2MDAzNTU5NjUgLyog
SlNQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNCRjIyMDA5OTA0NTAwMzU1OTY1IC8qIEpTUHVi
bGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaCAqLzsgfTsKKwkJNTczMDNDMDAyMDA5OTUxQzAw
MzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQkY5MjAwOTkxMzQwMDM1NTk2NSAvKiBK
U1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmggKi87IH07CisJCTU3MzAzQzBBMjAwOTlCQUQwMDM1
NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQzA2MjAwOTk4RjgwMDM1NTk2
NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCAqLzsgfTsKKwkJNTczMDND
MTEyMDA5OUNCMTAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzMwM0Mw
QzIwMDk5Qzc1MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMu
aCAqLzsgfTsKKwkJNTczMDNDMTkyMDA5QTJGMzAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTczMDNDMTMyMDA5QTI1NzAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9ucy5oICovOyB9OworCQk1NzMwM0MxRjIwMDlBQjQyMDAzNTU5NjUg
LyogQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MzAzQzFCMjAwOUE5ODYwMDM1NTk2NSAvKiBB
dXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oICovOyB9OworCQk1NzMwM0MyMjIwMDlB
RjAzMDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczMDNDMjEyMDA5QUVG
NjAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCAqLzsgfTsK
KwkJNTczMDNDMkMyMDA5QjRBODAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNw
b25zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTcz
MDNDMjcyMDA5QjJGQzAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5o
ICovOyB9OworCQk1NzMwM0MyRjIwMDlCN0UxMDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXNz
ZXJ0aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU3MzAzQzJEMjAwOUI3RDkwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZS5oICovOyB9OwogCQk1NzM0ODkzOTFEQUM2QjZFMDBEQzA2NjcgLyogQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTczNDg5MzgxREFDNkI2RDAwREMwNjY3IC8qIENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnMuaCAqLzsgfTsKIAkJNTczOUUxMkYxREFDN0Y3ODAwRTE0MzgzIC8qIEpTQ3J5cHRv
QWxnb3JpdGhtUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTczOUUxMkUxREFDN0Y3ODAwRTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3JpdGht
UGFyYW1ldGVycy5oICovOyB9OwogCQk1NzUwQTk3NTFFNjhEMDAwMDA3MDVDNEEgLyogQ3J5cHRv
S2V5RUMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
NTBBOTczMUU2OEQwMDAwMDcwNUM0QSAvKiBDcnlwdG9LZXlFQy5oICovOyB9OwpAQCAtODE4MCw2
ICs4MTk0LDM3IEBACiAJCTU3MzAzQkI4MjAwNkM2RUQwMDM1NTk2NSAvKiBDQk9SV3JpdGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENCT1JXcml0ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzMwM0JCRTIwMDZFMDA0MDAzNTU5NjUgLyog
Q0JPUlJlYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDQk9S
UmVhZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTczMDNCQkYyMDA2RTAw
QzAwMzU1OTY1IC8qIENCT1JSZWFkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ0JPUlJlYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0JDRjIw
MDg3QTgzMDAzNTU5NjUgLyogQXV0aGVudGljYXRvclJlc3BvbnNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEF1dGhlbnRpY2F0b3JSZXNwb25zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzMwM0JEMDIwMDg3QTgzMDAzNTU5NjUgLyogQXV0aGVudGljYXRvclJlc3BvbnNlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JSZXNwb25zZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTU3MzAzQkQxMjAwODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9y
UmVzcG9uc2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JSZXNwb25zZS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQkREMjAwOTVCMjYwMDM1NTk2NSAvKiBKU0F1dGhlbnRp
Y2F0b3JSZXNwb25zZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0F1dGhl
bnRpY2F0b3JSZXNwb25zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0JE
RTIwMDk1QjI3MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yUmVzcG9uc2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBdXRoZW50aWNhdG9yUmVzcG9uc2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0JFNjIwMDk3NDdBMDAzNTU5NjUg
LyogUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
dWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTU3MzAzQkU4MjAwOTc0N0EwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRp
b25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNCRUEyMDA5N0Y0MDAw
MzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1Ymxp
Y0tleUNyZWRlbnRpYWxUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAz
QkVDMjAwOTgwQkYwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1NzMwM0JFRTIwMDk4MEJGMDAzNTU5NjUgLyogUHVibGljS2V5
Q3JlZGVudGlhbERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlw
dG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNCRjAyMDA5ODQ2MTAw
MzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQdWJsaWNLZXlDcmVk
ZW50aWFsVHlwZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQkYxMjAw
OTkwNDUwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUHVibGljS2V5Q3JlZGVudGlhbERl
c2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0JGMjIwMDk5
MDQ1MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQkY5MjAwOTkxMzQwMDM1NTk2
NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTczMDNCRkEyMDA5OTEzNTAwMzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVu
dGlhbFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQdWJs
aWNLZXlDcmVkZW50aWFsVHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3
MzAzQzA2MjAwOTk4RjgwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3MzAzQzA4MjAwOTk4RjgwMDM1NTk2NSAv
KiBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1YmxpY0tleUNy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTU3MzAzQzBCMjAwOTlDNzQwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0
T3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1B1Ymxp
Y0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTU3MzAzQzBDMjAwOTlDNzUwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxS
ZXF1ZXN0T3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1B1Ymxp
Y0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1NzMwM0MxMzIwMDlBMjU3MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsQ3Jl
YXRpb25PcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1NzMwM0MxNDIwMDlBMjU3MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsQ3Jl
YXRpb25PcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTU3MzAzQzFCMjAwOUE5ODYwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQXR0
ZXN0YXRpb25SZXNwb25zZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRoZW50aWNhdG9yQXR0ZXN0YXRp
b25SZXNwb25zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0MxQzIwMDlB
OTg2MDAzNTU5NjUgLyogQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1NzMwM0MxRDIwMDlBOTg2MDAzNTU5NjUgLyogQXV0
aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JBdHRl
c3RhdGlvblJlc3BvbnNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDND
MjAyMDA5QUVGNTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBdXRoZW50aWNhdG9y
QXR0ZXN0YXRpb25SZXNwb25zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3
MzAzQzIxMjAwOUFFRjYwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3Bv
bnNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXV0aGVudGljYXRvckF0
dGVzdGF0aW9uUmVzcG9uc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDND
MjcyMDA5QjJGQzAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTczMDNDMjgyMDA5QjJGQzAwMzU1OTY1IC8qIEF1dGhlbnRp
Y2F0b3JBc3NlcnRpb25SZXNwb25zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdXRoZW50aWNh
dG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
NzMwM0MyOTIwMDlCMkZDMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1NzMwM0MyRDIwMDlCN0Q5MDAzNTU5NjUgLyogSlNBdXRoZW50
aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTczMDNDMkUyMDA5QjdEQTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckFz
c2VydGlvblJlc3BvbnNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTczNDg5MzgxREFDNkI2RDAwREMwNjY3IC8qIENyeXB0b0FsZ29yaXRobVBh
cmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzM5RTEyRTFE
QUM3Rjc4MDBFMTQzODMgLyogSlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzM5RTEzMDFEQUM3RkQxMDBFMTQzODMgLyog
SlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xODEyNCw5ICsxODE2OSwyNiBAQAogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk1NzMwM0JCMzIwMDZDNkVEMDAzNTU5NjUgLyogY2Jv
ciAqLywKKwkJCQk1NzMwM0MyODIwMDlCMkZDMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckFzc2Vy
dGlvblJlc3BvbnNlLmNwcCAqLywKKwkJCQk1NzMwM0MyNzIwMDlCMkZDMDAzNTU5NjUgLyogQXV0
aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmggKi8sCisJCQkJNTczMDNDMjkyMDA5QjJGQzAw
MzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwgKi8sCisJCQkJNTcz
MDNDMUMyMDA5QTk4NjAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNl
LmNwcCAqLywKKwkJCQk1NzMwM0MxQjIwMDlBOTg2MDAzNTU5NjUgLyogQXV0aGVudGljYXRvckF0
dGVzdGF0aW9uUmVzcG9uc2UuaCAqLywKKwkJCQk1NzMwM0MxRDIwMDlBOTg2MDAzNTU5NjUgLyog
QXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsICovLAorCQkJCTU3MzAzQkQwMjAw
ODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yUmVzcG9uc2UuY3BwICovLAorCQkJCTU3MzAz
QkNGMjAwODdBODMwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yUmVzcG9uc2UuaCAqLywKKwkJCQk1
NzMwM0JEMTIwMDg3QTgzMDAzNTU5NjUgLyogQXV0aGVudGljYXRvclJlc3BvbnNlLmlkbCAqLywK
IAkJCQk1N0Q4NDYyQzFGRUFGNjhGMDBDQTM2ODIgLyogUHVibGljS2V5Q3JlZGVudGlhbC5jcHAg
Ki8sCiAJCQkJNTdEODQ2MkIxRkVBRjY4RjAwQ0EzNjgyIC8qIFB1YmxpY0tleUNyZWRlbnRpYWwu
aCAqLywKIAkJCQk1N0Q4NDYyRDFGRUFGNjhGMDBDQTM2ODIgLyogUHVibGljS2V5Q3JlZGVudGlh
bC5pZGwgKi8sCisJCQkJNTczMDNCRTYyMDA5NzQ3QTAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMuaCAqLywKKwkJCQk1NzMwM0JFODIwMDk3NDdBMDAzNTU5NjUg
LyogUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwgKi8sCisJCQkJNTczMDNC
RUMyMDA5ODBCRjAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmggKi8s
CisJCQkJNTczMDNCRUUyMDA5ODBCRjAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxEZXNj
cmlwdG9yLmlkbCAqLywKKwkJCQk1NzMwM0MwNjIwMDk5OEY4MDAzNTU5NjUgLyogUHVibGljS2V5
Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmggKi8sCisJCQkJNTczMDNDMDgyMDA5OThGODAwMzU1
OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5pZGwgKi8sCisJCQkJNTcz
MDNCRUEyMDA5N0Y0MDAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmggKi8sCisJ
CQkJNTczMDNCRjAyMDA5ODQ2MTAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmlk
bCAqLywKIAkJCSk7CiAJCQlwYXRoID0gd2ViYXV0aG47CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwpAQCAtMTgxMzQsOCArMTgxOTYsMjIgQEAKIAkJNTdEODQ2MkYxRkVBRkIwNTAwQ0EzNjgy
IC8qIFdlYkF1dGhOICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
KwkJCQk1NzMwM0MyRTIwMDlCN0RBMDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXNzZXJ0aW9u
UmVzcG9uc2UuY3BwICovLAorCQkJCTU3MzAzQzJEMjAwOUI3RDkwMDM1NTk2NSAvKiBKU0F1dGhl
bnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oICovLAorCQkJCTU3MzAzQzIwMjAwOUFFRjUwMDM1
NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmNwcCAqLywKKwkJCQk1
NzMwM0MyMTIwMDlBRUY2MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNw
b25zZS5oICovLAorCQkJCTU3MzAzQkRFMjAwOTVCMjcwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0
b3JSZXNwb25zZS5jcHAgKi8sCisJCQkJNTczMDNCREQyMDA5NUIyNjAwMzU1OTY1IC8qIEpTQXV0
aGVudGljYXRvclJlc3BvbnNlLmggKi8sCiAJCQkJNTdEODQ2MzExRkVBRkMyRjAwQ0EzNjgyIC8q
IEpTUHVibGljS2V5Q3JlZGVudGlhbC5jcHAgKi8sCiAJCQkJNTdEODQ2MzAxRkVBRkMyRjAwQ0Ez
NjgyIC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbC5oICovLAorCQkJCTU3MzAzQzE0MjAwOUEyNTcw
MDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuY3BwICovLAor
CQkJCTU3MzAzQzEzMjAwOUEyNTcwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxDcmVh
dGlvbk9wdGlvbnMuaCAqLywKKwkJCQk1NzMwM0JGMTIwMDk5MDQ1MDAzNTU5NjUgLyogSlNQdWJs
aWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5jcHAgKi8sCisJCQkJNTczMDNCRjIyMDA5OTA0NTAw
MzU1OTY1IC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaCAqLywKKwkJCQk1NzMw
M0MwQjIwMDk5Qzc0MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnMuY3BwICovLAorCQkJCTU3MzAzQzBDMjAwOTlDNzUwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oICovLAorCQkJCTU3MzAzQkZBMjAwOTkxMzUwMDM1NTk2
NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmNwcCAqLywKKwkJCQk1NzMwM0JGOTIwMDk5
MTM0MDAzNTU5NjUgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oICovLAogCQkJKTsKIAkJ
CW5hbWUgPSBXZWJBdXRoTjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yNjQxOCw2
ICsyNjQ5NCw5IEBACiAJCQkJOTM0RjcxM0EwRDVBNkYxMDAwMDE4RDY5IC8qIEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNDc0ODQxMEFBMTYxRDAw
Qjc5NDkzIC8qIEF1dGhlbnRpY2F0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTRD
NzY0QzBDRTkyMzRFMDA3RUYzQ0QgLyogQXV0aGVudGljYXRpb25NYWMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTU3MzAzQzJDMjAwOUI0QTgwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQXNzZXJ0aW9u
UmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3MzAzQzFGMjAwOUFCNDIwMDM1NTk2NSAv
KiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NTczMDNCRDIyMDA4N0E4MzAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JSZXNwb25zZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTUwMTkyMEUxMzJFQkYyRTAwOEJGRTU1IC8qIEF1dG9jYXBpdGFsaXpl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUE3QUE0MzEzMkYwRUNDMDBEM0EzQzIgLyogQXV0b2Nh
cGl0YWxpemVUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxODQzRkUxQzhCNzI4MzAwMkVC
OTczIC8qIEF1dG9maWxsLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NjM1LDYgKzI3NzE0LDkgQEAK
IAkJCQlGREExNUVCNjEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb1Byb2Nlc3NpbmdFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkU4RUYwNDMxNzFDOEZGOTAwOUI0OEMzIC8qIEpTQXVkaW9U
cmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkU4RUYwNDUxNzFDOEZGOTAwOUI0OEMzIC8qIEpT
QXVkaW9UcmFja0xpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3MzAzQzJGMjAwOUI3RTEwMDM1
NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTczMDNDMjIyMDA5QUYwMzAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckF0dGVzdGF0
aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3MzAzQkUxMjAwOTVENjEwMDM1NTk2
NSAvKiBKU0F1dGhlbnRpY2F0b3JSZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxMjRG
MDAwQzI2NDQ3QTAwOUUyMzQ5IC8qIEpTQmFyUHJvcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdD
N0E2OUYxRTU3OTE3ODAwQzY3RDcxIC8qIEpTQmFzaWNDcmVkZW50aWFsLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzk0NjM0ODEwN0E5MzY2MDA4NTcxOTMgLyogSlNCZWZvcmVMb2FkRXZlbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjgwODAsNiArMjgxNjIsMTAgQEAKIAkJCQlFNDQ2MTNFRTBDRDY4
MUJCMDBGQURBNzUgLyogSlNQcm9ncmVzc0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTc4
RjQzQzFERTAxNDIzMDAzREZDNkEgLyogSlNQcm9taXNlUmVqZWN0aW9uRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTU3RDg0NjM1MUZFQUZDRDMwMENBMzY4MiAvKiBKU1B1YmxpY0tleUNyZWRl
bnRpYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3MzAzQzE5MjAwOUEyRjMwMDM1NTk2NSAvKiBK
U1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTU3MzAzQkY0MjAwOTkwNDYwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlw
dG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk1NzMwM0MxMTIwMDk5Q0IxMDAzNTU5NjUgLyogSlNQ
dWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3
MzAzQzAwMjAwOTk1MUMwMDM1NTk2NSAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwNzc2NjRGRDE4M0U2QjVDMDAxMzNCOTIgLyogSlNRdWlja1RpbWVQ
bHVnaW5SZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjY1OEZGQTIxNTIyRUYzQTAw
REQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMyMDIw
OUQxQ0M2MDAwMEJFMzI1IC8qIEpTUmFuZ2UuaCBpbiBIZWFkZXJzICovLApAQCAtMjg5MjMsNiAr
MjkwMDksMTAgQEAKIAkJCQkxQUY4RTExQTEyNTY1OTI2MDAyMzBGRjcgLyogUHJveHlTZXJ2ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUZGOTQ1RUNDMTYxRjdGMzYwMDk3MUJDOCAvKiBQc2V1ZG9F
bGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0Q4NDYyRTFGRUFGNjk5MDBDQTM2ODIgLyog
UHVibGljS2V5Q3JlZGVudGlhbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNCRTkyMDA5NzQ4
RDAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTU3MzAzQkVGMjAwOTgwQzYwMDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50
aWFsRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTczMDNDMEEyMDA5OUJBRDAwMzU1
OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTczMDNCRUIyMDA5N0Y0MDAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwMDgxRkYwMDE2QjBBMkQzMDA4QUFBN0EgLyogUHVibGlj
U3VmZml4LmggaW4gSGVhZGVycyAqLywKIAkJCQkxMEZCMDg0QjE0RTE1QzdFMDBBM0RCOTggLyog
UHVibGljVVJMTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTUwQTBCQ0EwODVGNjAzOTAw
NzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDY2Yzg1MGZkMzBm
OTJkNDQ1ZmM5ZmRlNTBlZTkwZjg3ZGUxYmJjZWYuLjMxMzQ4NTFkZDJmMTYxNzlhZTc3YTIwNGVi
NmI4YmY5NjEwNDhiYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmgKQEAgLTQwLDYgKzQwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIG1hY3JvKEFwcGxlUGF5U2Vzc2lvbikgXAogICAgIG1hY3JvKEF0dGFjaG1lbnRFbGVtZW50
KSBcCiAgICAgbWFjcm8oQXVkaW8pIFwKKyAgICBtYWNybyhBdXRoZW50aWNhdG9yQXNzZXJ0aW9u
UmVzcG9uc2UpIFwKKyAgICBtYWNybyhBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZSkg
XAorICAgIG1hY3JvKEF1dGhlbnRpY2F0b3JSZXNwb25zZSkgXAogICAgIG1hY3JvKENhY2hlKSBc
CiAgICAgbWFjcm8oQ2FjaGVTdG9yYWdlKSBcCiAgICAgbWFjcm8oQ2xpZW50KSBcCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
N2JkYmUyNjliYTMxNDg5YTk5YWY2YWNjM2VmODVkNmFiNWE1YjVlMC4uZmNmZmEyOWMyNTQwMmIz
N2JkMWFkNWE0MzRhODE4NzgwZWNiNDM1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTAx
LTEyICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1
dGhOXSBJbXBsZW1lbnQgZHVtbXkgV2ViQXV0aE4gSURMcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNjI3CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zNjQ1OTg2ND4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisg
ICAgICAgIE1vZGlmeSBzb21lIHRlc3RzIHRvIHJlZmxlY3QgdGhlIHVwZGF0ZS4KKworICAgICAg
ICAqIGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1j
cmVhdGUtYmFzaWNzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dwdC9jcmVk
ZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5odHRw
cy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50
aWFsc2NvbnRhaW5lci1nZXQtYmFzaWNzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBo
dHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItZ2V0LWJh
c2ljcy5odHRwcy5odG1sOgorCiAyMDE4LTAxLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBXZWJQcm9jZXNzIHNob3VsZCBwYXNzIHRoZSByZWdpc3RyYXRp
b24gaWRlbnRpZmllciBhbmQgbm90IHRoZSB3b3JrZXIgaWRlbnRpZmllciBmb3IgZmV0Y2ggZXZl
bnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBmMmQwZmJhY2RmNWM2NGRmNDFk
ZWIxZmNjZjFiNDczM2UwMzdiYWIwLi5mNGExN2NjYmQ2OGU4NmNiYjQ0ZDJjNmE0ZjVhMTIxMGQ3
Yzg5YjMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxOC0wMS0xMiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAg
IFtXZWJBdXRoTl0gSW1wbGVtZW50IGR1bW15IFdlYkF1dGhOIElETHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTYyNworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzY0NTk4NjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNl
bi4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1lbnQv
Y3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5odHRwcy1leHBlY3RlZC50eHQ6CisK
IDIwMTgtMDEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJlZGlyZWN0ZWQgaWZyYW1lIGxvYWRpbmcgd2l0aCBSZXF1ZXN0LnJlZGlyZWN0PWZvbGxvdyBz
aG91bGQgZmFpbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1t
YW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRl
bnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNpY3MuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDNk
ZjJjYjNmMzE4YmNlZGU0MDJmMWUyOWY1N2YyNDg5ODhlOTk5NTcuLjk3ZGI5MGIwNzUxNWU0NGY0
OTQ5Mjg3MmE4MzY0MTQwNWQ1YmRjMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFzaWNz
Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50aWFs
LW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTEsOCArMSw3IEBACiAKIFBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNy
ZWF0ZSgpIHdpdGggbm8gYXJndW1lbnQuIAogUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3Jl
YXRlKCkgd2l0aCBlbXB0eSBhcmd1bWVudC4gCi1GQUlMIG5hdmlnYXRvci5jcmVkZW50aWFscy5j
cmVhdGUoKSB3aXRoIGJvZ3VzIHB1YmxpY0tleSBkYXRhIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9u
ICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJv
cjogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLiIgKCJOb3RTdXBwb3J0ZWRFcnJvciIp
IGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCitQQVNTIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUoKSB3aXRoIGJvZ3VzIHB1YmxpY0tleSBkYXRhIAogUEFTUyBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBkYXRhIAogUEFTUyBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBhYm9ydCBzaWduYWwgc2V0IAotUEFTUyBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBmYWtlZCBkYXRhIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlh
bHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWNyZWF0ZS1iYXNp
Y3MuaHR0cHMuaHRtbAppbmRleCA2Yzg2YWU1YWVlYTdhNWZmYTE4MDIyZDQ5NGNlZmJjZTRmMGNk
MWM3Li44MTVlNWE4ZDMyYzI5NmVmZjI3OTk2NmQ4YTQ2MDE3MmVkN2UxY2U0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNj
b250YWluZXItY3JlYXRlLWJhc2ljcy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFz
aWNzLmh0dHBzLmh0bWwKQEAgLTMxLDkgKzMxLDQgQEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQp
IHsKICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJBYm9ydEVycm9yIiwKICAgICAgICAg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSk7CiB9LCAibmF2aWdhdG9yLmNy
ZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYWJvcnQgc2lnbmFsIHNldCIpOwotCi1wcm9taXNlX3Rl
c3QoZnVuY3Rpb24odCkgewotICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdFN1cHBv
cnRlZEVycm9yIiwKLSAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSh7cHVibGlj
S2V5OiB0cnVlfSkpOwotfSwgIm5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSB3aXRoIGZh
a2VkIGRhdGEiKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWdldC1iYXNpY3MuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2Vt
ZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLWdldC1iYXNpY3MuaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDhjYzE2ODQxNjM5ZjAyYjJmMDA5MTlkN2U0MjJkOTI4Mzg2ODhlY2IuLjFlNjVmOTQ1YWI2
Zjc3ODU0ZGQxYzFiMzA0ZTFhNzYzNTNhZGNkMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1nZXQtYmFz
aWNzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50
aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItZ2V0LWJhc2ljcy5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTEsOCArMSw3IEBACiAKIFBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdl
dCgpIHdpdGggbm8gYXJndW1lbnQuIAogUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KCkg
d2l0aCBlbXB0eSBhcmd1bWVudC4gCi1GQUlMIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoKSB3
aXRoIGJvZ3VzIHB1YmxpY0tleSBkYXRhIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9w
ZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLiIgKCJOb3RTdXBwb3J0ZWRFcnJvciIpIGV4cGVjdGVk
IG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCitQQVNTIG5hdmlnYXRvci5jcmVkZW50
aWFscy5nZXQoKSB3aXRoIGJvZ3VzIHB1YmxpY0tleSBkYXRhIAogUEFTUyBuYXZpZ2F0b3IuY3Jl
ZGVudGlhbHMuZ2V0KCkgd2l0aCBib2d1cyBkYXRhIAogUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuZ2V0KCkgd2l0aCBhYm9ydCBzaWduYWwgc2V0IAotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuZ2V0KCkgd2l0aCBmYWtlZCBkYXRhIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItZ2V0LWJhc2lj
cy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50
L2NyZWRlbnRpYWxzY29udGFpbmVyLWdldC1iYXNpY3MuaHR0cHMuaHRtbAppbmRleCBjYTZkNjM0
NDNmYzA3ODc0ZDIwMWI5M2JlYzg2MmRlYzIxZTFiYTJhLi42OGQzZmJiMWZiMjE5MjMxYzRhMWE4
ZjY2ZGJlZTNjOTE4MWM1YzQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcmVk
ZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItZ2V0LWJhc2ljcy5odHRwcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVk
ZW50aWFsc2NvbnRhaW5lci1nZXQtYmFzaWNzLmh0dHBzLmh0bWwKQEAgLTMxLDkgKzMxLDQgQEAg
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQs
ICJBYm9ydEVycm9yIiwKICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25z
KSk7CiB9LCAibmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldCgpIHdpdGggYWJvcnQgc2lnbmFsIHNl
dCIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHJldHVybiBwcm9taXNlX3Jl
amVjdHModCwgIk5vdFN1cHBvcnRlZEVycm9yIiwKLSAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmdldCh7cHVibGljS2V5OiB0cnVlfSkpOwotfSwgIm5hdmlnYXRvci5jcmVkZW50aWFscy5n
ZXQoKSB3aXRoIGZha2VkIGRhdGEiKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1lbnQv
Y3JlZGVudGlhbHNjb250YWluZXItY3JlYXRlLWJhc2ljcy5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRpYWwtbWFu
YWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFzaWNzLmh0dHBzLWV4cGVjdGVk
LnR4dAppbmRleCBjZGM5ZDYyZTgxMDlhOGRiZjJjZWYwY2I5ODk2ZGQ3MWVjNmRkN2JkLi5jYzY0
MDNhNGQwZTYyNzIyNzMxOGYwMzMzYTY2NDU0NTA5MTkxM2U4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRpYWwtbWFuYWdlbWVu
dC9jcmVkZW50aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFzaWNzLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRp
YWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1jcmVhdGUtYmFzaWNzLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtNiwxMiArNiwxMiBAQCBGQUlMIG5hdmlnYXRvci5jcmVkZW50aWFscy5j
cmVhdGUoKSB3aXRoIHZhbGlkIEhUTUxGb3JtRWxlbWVudCBwcm9taXNlX3Rlc3Q6IFVuaAogRkFJ
TCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwYXNzd29yZCBkYXRh
IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcg
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVk
LiIgKCJOb3RTdXBwb3J0ZWRFcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5
cGVFcnJvciIpCiBGQUlMIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSB3aXRoIHZhbGlk
IEZlZGVyYXRlZENyZWRlbnRpYWxEYXRhIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlz
IG5vdCBzdXBwb3J0ZWQuIgogRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0
aCBib2d1cyBmZWRlcmF0ZWQgZGF0YSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVy
YXRpb24gaXMgbm90IHN1cHBvcnRlZC4iICgiTm90U3VwcG9ydGVkRXJyb3IiKSBleHBlY3RlZCBv
YmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwdWJsaWNLZXkgZGF0YSBhc3NlcnRfdGhyb3dzOiBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9ydGVk
RXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iICgiTm90U3VwcG9ydGVkRXJy
b3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgcmV0dXJucyBQdWJsaWNLZXlDcmVkZW50aWFsIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1
cHBvcnRlZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIgorUEFTUyBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwdWJsaWNLZXkgZGF0YSAKK0ZB
SUwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHJldHVybnMgUHVibGljS2V5Q3JlZGVu
dGlhbCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLnB1
YktleUNyZWRQYXJhbXMgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Ygc2Vx
dWVuY2UiCiBQQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSB3aXRoIGJvdGggUGFz
c3dvcmRDcmVkZW50aWFsRGF0YSBhbmQgRmVkZXJhdGVkQ3JlZGVudGlhbERhdGEgCiBGQUlMIG5h
dmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSB3aXRoIGJvZ3VzIHBhc3N3b3JkIGFuZCBmZWRl
cmF0ZWQgZGF0YSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBl
IH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90
IHN1cHBvcnRlZC4iICgiTm90U3VwcG9ydGVkRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVF
cnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkg
d2l0aCBib2d1cyBmZWRlcmF0ZWQgYW5kIHB1YmxpY0tleSBkYXRhIGFzc2VydF90aHJvd3M6IGZ1
bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJOb3RTdXBwb3J0
ZWRFcnJvcjogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLiIgKCJOb3RTdXBwb3J0ZWRF
cnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIG5h
dmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSB3aXRoIGJvZ3VzIHBhc3N3b3JkIGFuZCBwdWJs
aWNLZXkgZGF0YSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBl
IH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90
IHN1cHBvcnRlZC4iICgiTm90U3VwcG9ydGVkRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVF
cnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkg
d2l0aCBib2d1cyBwYXNzd29yZCwgZmVkZXJhdGVkLCBhbmQgcHVibGljS2V5IGRhdGEgYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIiAoIk5v
dFN1cHBvcnRlZEVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9y
IikKK1BBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZSgpIHdpdGggYm9ndXMgZmVkZXJh
dGVkIGFuZCBwdWJsaWNLZXkgZGF0YSAKK1BBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0
ZSgpIHdpdGggYm9ndXMgcGFzc3dvcmQgYW5kIHB1YmxpY0tleSBkYXRhIAorUEFTUyBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKCkgd2l0aCBib2d1cyBwYXNzd29yZCwgZmVkZXJhdGVkLCBh
bmQgcHVibGljS2V5IGRhdGEgCiBQQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoKSB3
aXRoIGJvZ3VzIGRhdGEgCiAK
</data>
<flag name="commit-queue"
          id="350406"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>