<?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>223547</bug_id>
          
          <creation_ts>2021-03-19 17:56:17 -0700</creation_ts>
          <short_desc>Provide a way to specify platform vs security key when requesting an assertion in the SPI</short_desc>
          <delta_ts>2021-03-23 13:00:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>annulen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1741966</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-03-19 17:56:17 -0700</bug_when>
    <thetext>Provide a way to specify platform vs security key when requesting an assertion in the SPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741967</commentid>
    <comment_count>1</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-03-19 17:56:34 -0700</bug_when>
    <thetext>rdar://74034746</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741981</commentid>
    <comment_count>2</comment_count>
      <attachid>423799</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-03-19 18:46:10 -0700</bug_when>
    <thetext>Created attachment 423799
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742572</commentid>
    <comment_count>3</comment_count>
      <attachid>423962</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-03-22 17:01:01 -0700</bug_when>
    <thetext>Created attachment 423962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742703</commentid>
    <comment_count>4</comment_count>
      <attachid>423994</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-03-23 01:02:41 -0700</bug_when>
    <thetext>Created attachment 423994
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742904</commentid>
    <comment_count>5</comment_count>
      <attachid>423994</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-03-23 10:38:10 -0700</bug_when>
    <thetext>Comment on attachment 423994
Patch

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

r=me

&gt; Source/WebCore/ChangeLog:5
&gt; +        rdar://74034746

nit: &lt;rdar://74034746&gt;

&gt; Source/WebCore/ChangeLog:15
&gt; +        * Modules/webauthn/AuthenticatorAttachment.idl: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialRequestOptions.mm.

I would say these two were &quot;Moved from ....&quot;

&gt; Source/WebKit/ChangeLog:5
&gt; +        rdar://74034746

Ditto

&gt; Source/WebKit/ChangeLog:12
&gt; +        * UIProcess/API/Cocoa/_WKAuthenticatorAttachment.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialRequestOptions.mm.

Ditto &quot;Moved from ...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742934</commentid>
    <comment_count>6</comment_count>
      <attachid>423994</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-03-23 12:08:30 -0700</bug_when>
    <thetext>Comment on attachment 423994
Patch

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

Thanks Brent for r+ this patch.

&gt;&gt; Source/WebCore/ChangeLog:5
&gt;&gt; +        rdar://74034746
&gt; 
&gt; nit: &lt;rdar://74034746&gt;

Fixed.

&gt;&gt; Source/WebCore/ChangeLog:15
&gt;&gt; +        * Modules/webauthn/AuthenticatorAttachment.idl: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialRequestOptions.mm.
&gt; 
&gt; I would say these two were &quot;Moved from ....&quot;

It was auto-generated. Fixed.

&gt;&gt; Source/WebKit/ChangeLog:5
&gt;&gt; +        rdar://74034746
&gt; 
&gt; Ditto

Fixed.

&gt;&gt; Source/WebKit/ChangeLog:12
&gt;&gt; +        * UIProcess/API/Cocoa/_WKAuthenticatorAttachment.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialRequestOptions.mm.
&gt; 
&gt; Ditto &quot;Moved from ...&quot;

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742938</commentid>
    <comment_count>7</comment_count>
      <attachid>424047</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-03-23 12:11:33 -0700</bug_when>
    <thetext>Created attachment 424047
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742964</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-23 13:00:56 -0700</bug_when>
    <thetext>Committed r274894: &lt;https://commits.webkit.org/r274894&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424047.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423799</attachid>
            <date>2021-03-19 18:46:10 -0700</date>
            <delta_ts>2021-03-22 17:01:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223547-20210319184609.patch</filename>
            <type>text/plain</type>
            <size>52033</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzViMDJhM2IwZTA5ZTM4
NWRiZGFiNWNkOTRiNGNjYmJiZTI1OGI0MS4uNDQ0NjM2ZTJmMGRmNDdlNGY3ZDczYjE1MDRhNzBi
MTY3ZDdmMmY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTAzLTE5ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHdheSB0
byBzcGVjaWZ5IHBsYXRmb3JtIHZzIHNlY3VyaXR5IGtleSB3aGVuIHJlcXVlc3RpbmcgYW4gYXNz
ZXJ0aW9uIGluIHRoZSBTUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMzU0NworICAgICAgICByZGFyOi8vNzQwMzQ3NDYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IEFQSSB0ZXN0cy4K
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQ
dWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMubW0uCisgICAgICAgICogTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0YWNobWVudC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnMubW0uCisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlD
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhu
L1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMS0wMy0xNyAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgZG9uJ3QgY29weSBgaW1hZ2VPdmVybGF5LmNz
c2Agb3IgYG1ldGVyRWxlbWVudFNoYWRvdy5jc3NgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkwMzFjNTA4ZDYzYTU0
Yzc1OTM4OTliN2U1MDhiMzAwZjgyYzYwYWUuLmJkOTJjNzZmNzdiOTgyM2Q0YTgyY2JiNzlhYTc1
YWY5Y2IzNzhlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMjEtMDMtMTkgIEppZXdl
biBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBQcm92aWRlIGEgd2F5IHRv
IHNwZWNpZnkgcGxhdGZvcm0gdnMgc2VjdXJpdHkga2V5IHdoZW4gcmVxdWVzdGluZyBhbiBhc3Nl
cnRpb24gaW4gdGhlIFNQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzNTQ3CisgICAgICAgIHJkYXI6Ly83NDAzNDc0NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgYXV0
aGVudGljYXRvciBhdHRhY2htZW50IG9wdGlvbiB0byB0aGUgZ2V0QXNzZXJ0aW9uIFNQSSBzdWNo
IHRoYXQgdGhlIGNhbGxlcgorICAgICAgICBjYW4gZGVjaWRlIHdoYXQgdHJhbnNwb3J0cyBpdCBu
ZWVkcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRvckF0
dGFjaG1lbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5tbS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RP
cHRpb25zLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVk
ZW50aWFsUmVxdWVzdE9wdGlvbnMubW06CisgICAgICAgICgtW19XS1B1YmxpY0tleUNyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucyBpbml0XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAgICAgICAoYXV0aGVudGljYXRvckF0dGFj
aG1lbnQpOgorICAgICAgICAoK1tfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIGNvbnZlcnRUb0Nv
cmVSZXF1ZXN0T3B0aW9uc1dpdGhPcHRpb25zOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkNvcmU6OmNvbGxlY3RUcmFuc3BvcnRzKToKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGlj
YXRvck1hbmFnZXI6OmdldFRyYW5zcG9ydHMgY29uc3QpOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisyMDIxLTAzLTE4ICBKaWV3ZW4gVGFuICA8amlld2Vu
X3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIEtleWNoYWluIHF1ZXJpZXMgYWNjb3Jk
aW5nIHRvIGludGVybmFsIG5lZWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM0MjQKKyAgICAgICAgcmRhcjovLzc1NDM0MDQ1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICBDb3ZlcmVkIGJ5IG1hbnVhbCB0
ZXN0cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2Nh
bEF1dGhlbnRpY2F0b3IubW06CisgICAgICAgICh1cGRhdGVRdWVyeSk6CisgICAgICAgIChXZWJL
aXQ6OkxvY2FsQXV0aGVudGljYXRvckludGVybmFsOjpnZXRFeGlzdGluZ0NyZWRlbnRpYWxzKToK
KyAgICAgICAgKFdlYktpdDo6TG9jYWxBdXRoZW50aWNhdG9yOjpjbGVhckFsbENyZWRlbnRpYWxz
KToKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdXRoZW50aWNhdG9yOjpjb250aW51ZU1ha2VDcmVk
ZW50aWFsQWZ0ZXJVc2VyVmVyaWZpY2F0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdXRo
ZW50aWNhdG9yOjpjb250aW51ZUdldEFzc2VydGlvbkFmdGVyVXNlclZlcmlmaWNhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6OkxvY2FsQXV0aGVudGljYXRvcjo6cmVjZWl2ZUV4Y2VwdGlvbiBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXV0aGVudGljYXRvcjo6ZGVsZXRlRHVwbGljYXRl
Q3JlZGVudGlhbCBjb25zdCk6CisgICAgICAgIChzaG91bGRVc2VBbHRlcm5hdGVRdWVyeSk6IERl
bGV0ZWQuCisgICAgICAgIChhbHRlcm5hdGVRdWVyeUZvclJQSUQpOiBEZWxldGVkLgorCiAyMDIx
LTAzLTE4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAg
IFtpT1NdIFdlYiBwcm9jZXNzIHNvbWV0aW1lcyBjcmFzaGVzIHVuZGVyIFdlYlBhZ2U6OnBvc2l0
aW9uSW5mb3JtYXRpb24oKSBhZnRlciByMjc0MDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA3ZTFkODg4ZGFjNWM5MGNjOGNhMDZjMGFh
MDIwMmI2ZDdmNjdmMDZiLi4xYTgxNzU1YjU1NjcxY2IyZWFiNzE1YzZmNDY2NWJiNzM2Y2FmMDZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QK
QEAgLTUxNSw2ICs1MTUsNyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmF1dGhuL0F0dGVz
dGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0
cHV0cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFz
c2VydGlvblJlc3BvbnNlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJhdXRobi9BdXRo
ZW50aWNhdG9yQXR0YWNobWVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViYXV0aG4v
QXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclRyYW5zcG9ydC5pZGwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMThjOTFlYWQ5NWZm
MjFmOWQ2MzQwOGI4MWY1ZjNlNzRiYzYzMTdlNS4uYjI4MGY5YWE3MzJkY2U2MDI4YmEyMDkxYmQ0
OTIyMmNhZTU4ZGZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QKQEAgLTI0MSw2ICsyNDEsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91
dAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRoZW50
aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRoZW50
aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBdXRoZW50aWNhdG9yQXR0YWNobWVudC5jcHAKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0aGVudGljYXRvckF0dGFjaG1l
bnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRo
ZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Uu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRoZW50
aWNhdG9yUmVzcG9uc2UuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBmYTM2
Yjk1MDY1Nzc5OGZkNGNhMzQ1Y2Q5NTM3ZjZjNGVkNGU0M2IyLi4wNzg2Njc4MDljYjQyN2UyZGM0
NmQyMmIwY2FhYWRlNWQwMGE5YmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTQzNSw2ICs0MzUsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRpb25FeHRlbnNpb25z
Q2xpZW50T3V0cHV0cy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRobi9BdXRo
ZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJlc3BvbnNlLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JUcmFuc3BvcnQu
aWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVu
dGljYXRvckF0dGFjaG1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRvckF0dGFjaG1lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NjdhYTA2YzdkYjdjODhmNmM3YWFi
NzYzYmZjNTE1ZjRiZDhhOTIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0YWNobWVudC5oCkBAIC0wLDAgKzEsNTMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfQVVUSE4pCisKKyNp
bmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0g
Y2xhc3MgQXV0aGVudGljYXRvckF0dGFjaG1lbnQgeworICAgIFBsYXRmb3JtLAorICAgIENyb3Nz
UGxhdGZvcm0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7
CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6QXV0aGVudGljYXRvckF0
dGFjaG1lbnQ+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJD
b3JlOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudCwKKyAgICAgICAgV2ViQ29yZTo6QXV0aGVudGlj
YXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtLAorICAgICAgICBXZWJDb3JlOjpBdXRoZW50aWNhdG9y
QXR0YWNobWVudDo6Q3Jvc3NQbGF0Zm9ybQorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
VEYKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMyOWFkN2JkZGY1MmZkMDgyNWE3YmIxMmQxYjcwYzg0ODk1NzJiOTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0
b3JBdHRhY2htZW50LmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENv
bmRpdGlvbmFsPVdFQl9BVVRITiwKKyAgICBJbXBsZW1lbnRlZEFzPUF1dGhlbnRpY2F0b3JBdHRh
Y2htZW50CitdIGVudW0gQXV0aGVudGljYXRvckF0dGFjaG1lbnQgeworICAgICJwbGF0Zm9ybSIs
CisgICAgImNyb3NzLXBsYXRmb3JtIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zLmgKaW5kZXggYmMzMzExOGI1OGYzNWZhODAzOGQ3ZDNjMGUzMzc3YzE0OWU3OGY3NC4u
YmJlOTIyMTA2NzM3YmRlYzMzMWJhODY4YmU3YWFmZDdkNGQwYjJlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlD
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUo
V0VCX0FVVEhOKQogI2luY2x1ZGUgIkF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMuaCIKKyNpbmNs
dWRlICJBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oIgogI2luY2x1ZGUgIkJ1ZmZlclNvdXJjZS5o
IgogI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAi
UHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCIKQEAgLTM5LDExICs0MCw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogc3RydWN0IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgewog
I2lmIEVOQUJMRShXRUJfQVVUSE4pCi0gICAgZW51bSBjbGFzcyBBdXRoZW50aWNhdG9yQXR0YWNo
bWVudCB7Ci0gICAgICAgIFBsYXRmb3JtLAotICAgICAgICBDcm9zc1BsYXRmb3JtCi0gICAgfTsK
LQogICAgIHN0cnVjdCBFbnRpdHkgewogICAgICAgICBTdHJpbmcgbmFtZTsKICAgICAgICAgU3Ry
aW5nIGljb247CkBAIC0yMDIsMTcgKzE5OCwzIEBAIE9wdGlvbmFsPFB1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnM+IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6CiAj
ZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
aWYgRU5BQkxFKFdFQl9BVVRITikKLW5hbWVzcGFjZSBXVEYgewotCi10ZW1wbGF0ZTw+IHN0cnVj
dCBFbnVtVHJhaXRzPFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6
OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50PiB7Ci0gICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVl
czwKLSAgICAgICAgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6
QXV0aGVudGljYXRvckF0dGFjaG1lbnQsCi0gICAgICAgIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSwK
LSAgICAgICAgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0
aGVudGljYXRvckF0dGFjaG1lbnQ6OkNyb3NzUGxhdGZvcm0KLSAgICA+OwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV1RGCi0jZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9u
T3B0aW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsCmluZGV4IGVjYjY3MDFjNmRjMjIzM2RiMTlmMDBj
ODg2ODEwOTgyMDAxNWJhNzguLmNlNjY1ZjQxMzM4ODgyOTQ3OWVmZTYxZDQ1ZDU5NDI2NTU3MzU5
NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbApAQCAtNzUs
MTAgKzc1LDMgQEAgdHlwZWRlZiBsb25nIENPU0VBbGdvcml0aG1JZGVudGlmaWVyOwogICAgIGJv
b2xlYW4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZVJlc2lkZW50S2V5ID0gZmFsc2U7CiAg
ICAgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50ICB1c2VyVmVyaWZpY2F0aW9uID0gInByZWZl
cnJlZCI7CiB9OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAotXSBlbnVtIEF1dGhl
bnRpY2F0b3JBdHRhY2htZW50IHsKLSAgICAicGxhdGZvcm0iLAotICAgICJjcm9zcy1wbGF0Zm9y
bSIKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1Ymxp
Y0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaAppbmRleCA3OWE1ZWM5
ZDA5MWQwYTQ5NDQ0MmEyNWMzMTgxNGIxNDA0MGRhYWRmLi5jZTE0MDg0MTdiNzkwYzViZDlkNWYx
ZTcyNGRiNGZhNWNhYjVlMzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmgKQEAgLTQyLDYgKzQyLDcgQEAgc3RydWN0IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0
aW9ucyB7CiAgICAgbXV0YWJsZSBTdHJpbmcgcnBJZDsKICAgICBWZWN0b3I8UHVibGljS2V5Q3Jl
ZGVudGlhbERlc2NyaXB0b3I+IGFsbG93Q3JlZGVudGlhbHM7CiAgICAgVXNlclZlcmlmaWNhdGlv
blJlcXVpcmVtZW50IHVzZXJWZXJpZmljYXRpb24geyBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1l
bnQ6OlByZWZlcnJlZCB9OworICAgIE9wdGlvbmFsPEF1dGhlbnRpY2F0b3JBdHRhY2htZW50PiBh
dXRoZW50aWNhdG9yQXR0YWNobWVudDsKICAgICBtdXRhYmxlIE9wdGlvbmFsPEF1dGhlbnRpY2F0
aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cz4gZXh0ZW5zaW9uczsKIAogICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYjEzYzdmOGQz
OTAzYjE1NjdmOTZlYTU5NzE5NTI2Y2I0YzIxNmIxLi42ZDhlMjc0ZmMzYzA4MzBiMzE1NjAwZTRh
NGRjODJiYzcwMTI0NWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xOTExLDYgKzE5MTEsOSBAQAogCQk1N0VFQUE1MDFFOUZG
QkZDMDA3MDExMjQgLyogQ3J5cHRvQWxnb3JpdGhtRWNkc2FQYXJhbXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RUVBQTREMUU5RkZCRkMwMDcwMTEy
NCAvKiBDcnlwdG9BbGdvcml0aG1FY2RzYVBhcmFtcy5oICovOyB9OwogCQk1N0VFQUE1NTFFQTAw
MUIxMDA3MDExMjQgLyogSlNFY2RzYVBhcmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTdFRUFBNTMxRUEwMDFCMTAwNzAxMTI0IC8qIEpTRWNkc2FQ
YXJhbXMuaCAqLzsgfTsKIAkJNTdFRjVFNjAxRDIwQzgzOTAwMTcxRTYwIC8qIFRleHRDb2RlY1Jl
cGxhY2VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1N0VGNUU1RjFEMjBDODM5MDAxNzFFNjAgLyogVGV4dENvZGVjUmVwbGFjZW1lbnQuaCAqLzsg
fTsKKwkJNTdGRTY4NzEyNjA1MkUzMTAwQkY0NUU0IC8qIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZFNjg2
RTI2MDUyRTMxMDBCRjQ1RTQgLyogQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1N0ZFNjg3NjI2MDU1Njg1
MDBCRjQ1RTQgLyogSlNBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRTY4NzUyNjA1NTY4NTAwQkY0NUU0IC8q
IEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAqLzsgfTsKKwkJNTdGRTY4NzgyNjA1NTY4RjAw
QkY0NUU0IC8qIEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRTY4NzcyNjA1NTY4RjAwQkY0NUU0IC8q
IEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuY3BwICovOyB9OwogCQk1N0ZFREQzRjFEQjZENTky
MDBFQjk2RjUgLyogQ3J5cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZFREQzRTFEQjZENTkyMDBFQjk2
RjUgLyogQ3J5cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zLmggKi87IH07CiAJCTU3RkVERDQx
MURCNkQ3M0EwMEVCOTZGNSAvKiBKU1JzYUtleUdlblBhcmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRURENDAxREI2RDczQTAwRUI5NkY1IC8q
IEpTUnNhS2V5R2VuUGFyYW1zLmggKi87IH07CiAJCTU4MDM3MTYyMUE2NkYwMEEwMEJBRjUxOSAv
KiBDbGlwUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTgwMzcxNjAxQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk0MzcsNiArOTQ0MCwxMCBAQAog
CQk1N0VGNUU2MTFEMjBEMjg3MDAxNzFFNjAgLyogVGV4dENvZGVjUmVwbGFjZW1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dENvZGVjUmVwbGFjZW1lbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0YxQzhFMzI1REM2RUU3MDBFOEY2
RUEgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RjgyNzM5MURCNzJDMjIwMDlEMkJGNCAvKiBS
c2FIYXNoZWRLZXlHZW5QYXJhbXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJzYUhhc2hlZEtleUdlblBhcmFtcy5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3RkU2ODZFMjYwNTJFMzEwMEJGNDVFNCAv
KiBBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRoZW50aWNhdG9y
QXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1N0ZFNjg3MDI2MDUy
RTMxMDBCRjQ1RTQgLyogQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEF1dGhlbnRp
Y2F0b3JBdHRhY2htZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTdGRTY4
NzUyNjA1NTY4NTAwQkY0NUU0IC8qIEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk1N0ZFNjg3NzI2MDU1NjhGMDBCRjQ1RTQgLyogSlNBdXRoZW50aWNhdG9yQXR0
YWNobWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1dGhlbnRpY2F0b3JBdHRhY2htZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGRUREM0QxREI2RDQ3RjAwRUI5
NkY1IC8qIFJzYUtleUdlblBhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUnNhS2V5R2VuUGFyYW1zLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGRUREM0UxREI2RDU5MjAwRUI5NkY1IC8qIENy
eXB0b0FsZ29yaXRobVJzYUtleUdlblBhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTdGRURENDAxREI2RDczQTAwRUI5NkY1IC8qIEpTUnNhS2V5R2VuUGFy
YW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUnNhS2V5R2VuUGFyYW1z
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTU4NCw2ICsyMTU5MSw4IEBACiAJ
CQkJNTc1ODU5NkUyMzlGMzk3OTAwQzc0NTcyIC8qIEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNw
b25zZS5jcHAgKi8sCiAJCQkJNTczMDNDMjcyMDA5QjJGQzAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0
b3JBc3NlcnRpb25SZXNwb25zZS5oICovLAogCQkJCTU3MzAzQzI5MjAwOUIyRkMwMDM1NTk2NSAv
KiBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaWRsICovLAorCQkJCTU3RkU2ODZFMjYw
NTJFMzEwMEJGNDVFNCAvKiBBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovLAorCQkJCTU3RkU2
ODcwMjYwNTJFMzEwMEJGNDVFNCAvKiBBdXRoZW50aWNhdG9yQXR0YWNobWVudC5pZGwgKi8sCiAJ
CQkJNTc1ODU5NkIyMzlGMjg0QjAwQzc0NTcyIC8qIEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJl
c3BvbnNlLmNwcCAqLywKIAkJCQk1NzMwM0MxQjIwMDlBOTg2MDAzNTU5NjUgLyogQXV0aGVudGlj
YXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCAqLywKIAkJCQk1NzMwM0MxRDIwMDlBOTg2MDAzNTU5
NjUgLyogQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsICovLApAQCAtMjE2Mjcs
NiArMjE2MzYsOCBAQAogCQkJCTU3NTg1OTVFMjM5RjExNzMwMEM3NDU3MiAvKiBKU0F1dGhlbnRp
Y2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMuaCAqLywKIAkJCQk1NzMwM0MyRTIwMDlCN0RB
MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwICovLAogCQkJ
CTU3MzAzQzJEMjAwOUI3RDkwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNw
b25zZS5oICovLAorCQkJCTU3RkU2ODc3MjYwNTU2OEYwMEJGNDVFNCAvKiBKU0F1dGhlbnRpY2F0
b3JBdHRhY2htZW50LmNwcCAqLywKKwkJCQk1N0ZFNjg3NTI2MDU1Njg1MDBCRjQ1RTQgLyogSlNB
dXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovLAogCQkJCTU3MzAzQzIwMjAwOUFFRjUwMDM1NTk2
NSAvKiBKU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmNwcCAqLywKIAkJCQk1NzMw
M0MyMTIwMDlBRUY2MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25z
ZS5oICovLAogCQkJCTU3MzAzQkRFMjAwOTVCMjcwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JS
ZXNwb25zZS5jcHAgKi8sCkBAIC0zMTQxOSw2ICszMTQzMCw3IEBACiAJCQkJNTc1ODU5NkMyMzlG
MzIxQzAwQzc0NTcyIC8qIEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxNEM3NjRDMENFOTIzNEUwMDdFRjNDRCAvKiBBdXRoZW50aWNh
dGlvbk1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTczMDNDMkMyMDA5QjRBODAwMzU1OTY1IC8q
IEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTdG
RTY4NzEyNjA1MkUzMTAwQkY0NUU0IC8qIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1NzMwM0MxRjIwMDlBQjQyMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckF0
dGVzdGF0aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MzAzQzQ2MjAxMDVEMkYw
MDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTU3NjA4MjcyMjAyMTVBNTUwMDExNjY3OCAvKiBBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGll
bnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzI4OTksNiArMzI5MTEsNyBAQAogCQkJCTU3RDEzNTJB
MjI5NEFBMzkwMDgyNzQwMSAvKiBKU0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc1ODU5NjEyMzlGMTI0RDAwQzc0NTcyIC8qIEpTQXV0
aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTczMDNDMkYyMDA5QjdFMTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckFzc2VydGlvblJlc3Bv
bnNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1N0ZFNjg3NjI2MDU1Njg1MDBCRjQ1RTQgLyogSlNB
dXRoZW50aWNhdG9yQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTczMDNDMjIyMDA5
QUYwMzAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTU3MzAzQkUxMjAwOTVENjEwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0
b3JSZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdEQ0VEOTgyMTQ4ODIxNjAwMTZCODQ3
IC8qIEpTQXV0aGVudGljYXRvclRyYW5zcG9ydC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNjIzMSw2
ICszNjI0NCw3IEBACiAJCQkJMDdCNDQyRDYxNjZDNzBCMDAwNTU2Q0FEIC8qIEluYmFuZFRleHRU
cmFja1ByaXZhdGVBVkYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdBQTZCNkIxNjZEMkMwNzAw
RDQ1NjcxIC8qIEluYmFuZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQ0QwNjNGODIxRTIzRkE4OTAwODEyQkUzIC8qIEluaXREYXRhUmVnaXN0cnkuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNTdGRTY4NzgyNjA1NTY4RjAwQkY0NUU0IC8qIEpTQXV0aGVudGlj
YXRvckF0dGFjaG1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM5M0UxRjk5QkY1QTAw
NEQyMkE4IC8qIEpTUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTM1QzQ3NzAwOUFDNEQ3MzAwQTZBQUI0IC8qIEtleUV2ZW50TWFjLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQ0RBOThFMEIxNjAzQ0Q2MDAwRkVBM0IxIC8qIExlZ2FjeUNETS5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY2ODBl
NTlhNWVkZTIzZmI0MjU2NzczOTJjMzFjMGVjMDhkMmYxZgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50aWNhdG9yQXR0YWNobWVu
dC5oCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2ltcG9y
dCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBf
V0tBdXRoZW50aWNhdG9yQXR0YWNobWVudCkgeworICAgIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50QWxsLAorICAgIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50UGxhdGZvcm0sCisgICAgX1dL
QXV0aGVudGljYXRvckF0dGFjaG1lbnRDcm9zc1BsYXRmb3JtLAorfSBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0
ZXJpYS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0
b3JTZWxlY3Rpb25Dcml0ZXJpYS5oCmluZGV4IDgwYWE4M2Q2ZDFjZGVlYWNiMTI0NTk0ZTQ2NWE3
ZjJiMmYwMjJkNTAuLmYzYjU5Y2VmMGFiOWExOWQzOTRhN2M2YWNiMzU1ZGE1OGRhNzdkNWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50aWNh
dG9yU2VsZWN0aW9uQ3JpdGVyaWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLQXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhLmgKQEAgLTI4LDE2ICsyOCwx
MSBAQAogI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgogCiAjaW1wb3J0IDxGb3VuZGF0
aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tBdXRoZW50aWNhdG9yQXR0YWNo
bWVudC5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1VzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudC5o
PgogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCi10eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2Vy
LCBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudCkgewotICAgIF9XS0F1dGhlbnRpY2F0b3JBdHRh
Y2htZW50QWxsLAotICAgIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50UGxhdGZvcm0sCi0gICAg
X1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnRDcm9zc1BsYXRmb3JtLAotfSBXS19BUElfQVZBSUxB
QkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotCiBXS19DTEFTU19BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKIEBpbnRlcmZhY2UgX1dL
QXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhIDogTlNPYmplY3QKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1B1YmxpY0tleUNyZWRlbnRpYWxS
ZXF1ZXN0T3B0aW9ucy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1B1
YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oCmluZGV4IDliODdiYWZkYjA1NmU1ZTVh
ODRjZmQzZTZiMTljNDk3MDBiMWMxMDguLmJmODlmOThkY2M1NjRmYTVlM2M3ZGI2MWFhYzA0NjYx
MDhlYmQwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KIAog
I2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxXZWJLaXQvX1dLQXV0
aGVudGljYXRvckF0dGFjaG1lbnQuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tVc2VyVmVyaWZpY2F0
aW9uUmVxdWlyZW1lbnQuaD4KIAogTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KQEAgLTQzLDYgKzQ0
LDggQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpCiBAcHJvcGVydHkgKG51bGxhYmxlLCBub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8X1dLUHVi
bGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IgKj4gKmFsbG93Q3JlZGVudGlhbHM7CiAvKiFAZGlz
Y3Vzc2lvbiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBfV0tVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1l
bnRQcmVmZXJyZWQuKi8KIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBfV0tVc2VyVmVyaWZpY2F0aW9u
UmVxdWlyZW1lbnQgdXNlclZlcmlmaWNhdGlvbjsKKy8qIUBkaXNjdXNzaW9uIFRoZSBkZWZhdWx0
IHZhbHVlIGlzIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50QWxsLiovCitAcHJvcGVydHkgKG5v
bmF0b21pYykgX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnQgYXV0aGVudGljYXRvckF0dGFjaG1l
bnQ7CiBAcHJvcGVydHkgKG51bGxhYmxlLCBub25hdG9taWMsIHN0cm9uZykgX1dLQXV0aGVudGlj
YXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzICpleHRlbnNpb25zOwogCiBAZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVu
dGlhbFJlcXVlc3RPcHRpb25zLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5tbQppbmRleCA4MjhmNWI4M2Jh
MWI0MjUyZjQ1ZTZmN2RjOGIxMWNkOTZlY2FkYzhmLi5mZTk4YzE2MDhlM2MzZDI0NDNjMTY3OWIz
ZmFjYzdjZTc1OWM1M2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVz
dE9wdGlvbnMubW0KQEAgLTM0LDYgKzM0LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXQKICAgICAg
ICAgcmV0dXJuIG5pbDsKIAogICAgIHNlbGYudXNlclZlcmlmaWNhdGlvbiA9IF9XS1VzZXJWZXJp
ZmljYXRpb25SZXF1aXJlbWVudFByZWZlcnJlZDsKKyAgICBzZWxmLmF1dGhlbnRpY2F0b3JBdHRh
Y2htZW50ID0gX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnRBbGw7CiAgICAgcmV0dXJuIHNlbGY7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggMTQ1MTUxZWYwY2JkMzc1ZmM5
NzU0ZDdlYzg2OTM3MTYzNDAxODIyNS4uZmU3NTE5NzM5ZGYyZWQyZTM3ZmVlZDBkNDlkZDQ2ZDNl
ZDZmNjE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAgLTM2MywxNSArMzYzLDE1
IEBAIHN0YXRpYyBWZWN0b3I8V2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+
IHB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3Rh
dGljIE9wdGlvbmFsPFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6
OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50PiBhdXRoZW50aWNhdG9yQXR0YWNobWVudChfV0tBdXRo
ZW50aWNhdG9yQXR0YWNobWVudCBhdHRhY2htZW50KQorc3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6
OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50PiBhdXRoZW50aWNhdG9yQXR0YWNobWVudChfV0tBdXRo
ZW50aWNhdG9yQXR0YWNobWVudCBhdHRhY2htZW50KQogewogICAgIHN3aXRjaCAoYXR0YWNobWVu
dCkgewogICAgIGNhc2UgX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnRBbGw6CiAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAgICAgY2FzZSBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudFBs
YXRmb3JtOgotICAgICAgICByZXR1cm4gV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0
aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtOworICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtOwogICAgIGNh
c2UgX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnRDcm9zc1BsYXRmb3JtOgotICAgICAgICByZXR1
cm4gV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGlj
YXRvckF0dGFjaG1lbnQ6OkNyb3NzUGxhdGZvcm07CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpB
dXRoZW50aWNhdG9yQXR0YWNobWVudDo6Q3Jvc3NQbGF0Zm9ybTsKICAgICBkZWZhdWx0OgogICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
QEAgLTQ4Niw2ICs0ODYsNyBAQCArIChXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVz
dE9wdGlvbnMpY29udmVydFRvQ29yZVJlcXVlc3RPcHRpb25zV2l0aE9wdAogICAgIGlmIChvcHRp
b25zLmFsbG93Q3JlZGVudGlhbHMpCiAgICAgICAgIHJlc3VsdC5hbGxvd0NyZWRlbnRpYWxzID0g
cHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3JzKG9wdGlvbnMuYWxsb3dDcmVkZW50aWFscyk7
CiAgICAgcmVzdWx0LnVzZXJWZXJpZmljYXRpb24gPSB1c2VyVmVyaWZpY2F0aW9uKG9wdGlvbnMu
dXNlclZlcmlmaWNhdGlvbik7CisgICAgcmVzdWx0LmF1dGhlbnRpY2F0b3JBdHRhY2htZW50ID0g
YXV0aGVudGljYXRvckF0dGFjaG1lbnQob3B0aW9ucy5hdXRoZW50aWNhdG9yQXR0YWNobWVudCk7
CiAgICAgcmVzdWx0LmV4dGVuc2lvbnMgPSBhdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJ
bnB1dHMob3B0aW9ucy5leHRlbnNpb25zKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dG9yTWFuYWdlci5jcHAKaW5kZXggMzE0NDVkZjRmODYyMGI4ODAyNzBhMzMyY2Y0ZWZmNWEyNGEx
MjNhYS4uNGViNWMxMjU1MmVjYThkNjM0OWJjYTIyMWVjMWIyZTIxZGUzMTY3NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRv
ck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcApAQCAtNjUsMTIgKzY1LDEyIEBAIHN0YXRpYyBB
dXRoZW50aWNhdG9yTWFuYWdlcjo6VHJhbnNwb3J0U2V0IGNvbGxlY3RUcmFuc3BvcnRzKGNvbnN0
IE9wdGlvbmFsPFB1YmxpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCi0gICAgaWYg
KGF1dGhlbnRpY2F0b3JTZWxlY3Rpb24tPmF1dGhlbnRpY2F0b3JBdHRhY2htZW50ID09IFB1Ymxp
Y0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQ
bGF0Zm9ybSkgeworICAgIGlmIChhdXRoZW50aWNhdG9yU2VsZWN0aW9uLT5hdXRoZW50aWNhdG9y
QXR0YWNobWVudCA9PSBBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0pIHsKICAgICAg
ICAgYXV0byBhZGRSZXN1bHQgPSByZXN1bHQuYWRkKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6Oklu
dGVybmFsKTsKICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05l
d0VudHJ5KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgaWYgKGF1dGhlbnRp
Y2F0b3JTZWxlY3Rpb24tPmF1dGhlbnRpY2F0b3JBdHRhY2htZW50ID09IFB1YmxpY0tleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpDcm9zc1BsYXRm
b3JtKSB7CisgICAgaWYgKGF1dGhlbnRpY2F0b3JTZWxlY3Rpb24tPmF1dGhlbnRpY2F0b3JBdHRh
Y2htZW50ID09IEF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpDcm9zc1BsYXRmb3JtKSB7CiAgICAg
ICAgIGF1dG8gYWRkUmVzdWx0ID0gcmVzdWx0LmFkZChBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpV
c2IpOwogICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50
cnkpOwogICAgICAgICBhZGRSZXN1bHQgPSByZXN1bHQuYWRkKEF1dGhlbnRpY2F0b3JUcmFuc3Bv
cnQ6Ok5mYyk7CkBAIC04Nyw3ICs4Nyw3IEBAIHN0YXRpYyBBdXRoZW50aWNhdG9yTWFuYWdlcjo6
VHJhbnNwb3J0U2V0IGNvbGxlY3RUcmFuc3BvcnRzKGNvbnN0IE9wdGlvbmFsPFB1YmxpCiAvLyBJ
ZiBpdCBpcyBub3Qgc3BlY2lmaWVkIG9yIGFueSBvZiBpdHMgY3JlZGVudGlhbHMgZG9lc24ndCBz
cGVjaWZ5IGl0cyBvd24uIFdlIHNob3VsZCBkaXNjb3ZlciBhbGwuCiAvLyBUaGlzIGlzIGEgdmFy
aWFudCBvZiBTdGVwLiAxOC4qLjQgZnJvbSBodHRwczovL3d3dy53My5vcmcvVFIvd2ViYXV0aG4v
I2Rpc2NvdmVyLWZyb20tZXh0ZXJuYWwtc291cmNlCiAvLyBhcyBvZiA3IEF1Z3VzdCAyMDE4Lgot
c3RhdGljIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpUcmFuc3BvcnRTZXQgY29sbGVjdFRyYW5zcG9y
dHMoY29uc3QgVmVjdG9yPFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yPiYgYWxsb3dDcmVk
ZW50aWFscykKK3N0YXRpYyBBdXRoZW50aWNhdG9yTWFuYWdlcjo6VHJhbnNwb3J0U2V0IGNvbGxl
Y3RUcmFuc3BvcnRzKGNvbnN0IFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcj4m
IGFsbG93Q3JlZGVudGlhbHMsIGNvbnN0IE9wdGlvbmFsPEF1dGhlbnRpY2F0b3JBdHRhY2htZW50
PiYgYXV0aGVudGljYXRvckF0dGFjaG1lbnQpCiB7CiAgICAgQXV0aGVudGljYXRvck1hbmFnZXI6
OlRyYW5zcG9ydFNldCByZXN1bHQ7CiAgICAgaWYgKGFsbG93Q3JlZGVudGlhbHMuaXNFbXB0eSgp
KSB7CkBAIC05Nyw3ICs5Nyw2IEBAIHN0YXRpYyBBdXRoZW50aWNhdG9yTWFuYWdlcjo6VHJhbnNw
b3J0U2V0IGNvbGxlY3RUcmFuc3BvcnRzKGNvbnN0IFZlY3RvcjxQdWJsaWNLCiAgICAgICAgIEFT
U0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgICAgIGFk
ZFJlc3VsdCA9IHJlc3VsdC5hZGQoQXV0aGVudGljYXRvclRyYW5zcG9ydDo6TmZjKTsKICAgICAg
ICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKLSAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKICAgICBmb3IgKGF1dG8mIGFsbG93Q3JlZGVudGlh
bCA6IGFsbG93Q3JlZGVudGlhbHMpIHsKQEAgLTEwNSwxOSArMTA0LDMyIEBAIHN0YXRpYyBBdXRo
ZW50aWNhdG9yTWFuYWdlcjo6VHJhbnNwb3J0U2V0IGNvbGxlY3RUcmFuc3BvcnRzKGNvbnN0IFZl
Y3RvcjxQdWJsaWNLCiAgICAgICAgICAgICByZXN1bHQuYWRkKEF1dGhlbnRpY2F0b3JUcmFuc3Bv
cnQ6OkludGVybmFsKTsKICAgICAgICAgICAgIHJlc3VsdC5hZGQoQXV0aGVudGljYXRvclRyYW5z
cG9ydDo6VXNiKTsKICAgICAgICAgICAgIHJlc3VsdC5hZGQoQXV0aGVudGljYXRvclRyYW5zcG9y
dDo6TmZjKTsKLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAKICAgICAgICAgZm9yIChjb25zdCBhdXRvJiB0cmFuc3BvcnQgOiBhbGxv
d0NyZWRlbnRpYWwudHJhbnNwb3J0cykgewogICAgICAgICAgICAgaWYgKHRyYW5zcG9ydCA9PSBB
dXRoZW50aWNhdG9yVHJhbnNwb3J0OjpCbGUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CisK
ICAgICAgICAgICAgIHJlc3VsdC5hZGQodHJhbnNwb3J0KTsKKwogICAgICAgICAgICAgaWYgKHJl
c3VsdC5zaXplKCkgPj0gQXV0aGVudGljYXRvck1hbmFnZXI6Om1heFRyYW5zcG9ydE51bWJlcikK
LSAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgfQogCi0gICAgQVNTRVJUKHJlc3VsdC5zaXplKCkgPCBBdXRoZW50aWNh
dG9yTWFuYWdlcjo6bWF4VHJhbnNwb3J0TnVtYmVyKTsKKyAgICBpZiAoYXV0aGVudGljYXRvckF0
dGFjaG1lbnQpIHsKKyAgICAgICAgaWYgKGF1dGhlbnRpY2F0b3JBdHRhY2htZW50ID09IEF1dGhl
bnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSkgeworICAgICAgICAgICAgcmVzdWx0LnJlbW92
ZShBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpVc2IpOworICAgICAgICAgICAgcmVzdWx0LnJlbW92
ZShBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpOZmMpOworICAgICAgICB9CisKKyAgICAgICAgaWYg
KGF1dGhlbnRpY2F0b3JBdHRhY2htZW50ID09IEF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpDcm9z
c1BsYXRmb3JtKQorICAgICAgICAgICAgcmVzdWx0LnJlbW92ZShBdXRoZW50aWNhdG9yVHJhbnNw
b3J0OjpJbnRlcm5hbCk7CisgICAgfQorCisgICAgQVNTRVJUKHJlc3VsdC5zaXplKCkgPD0gQXV0
aGVudGljYXRvck1hbmFnZXI6Om1heFRyYW5zcG9ydE51bWJlcik7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIApAQCAtNTAwLDcgKzUxMiw3IEBAIGF1dG8gQXV0aGVudGljYXRvck1hbmFnZXI6Omdl
dFRyYW5zcG9ydHMoKSBjb25zdCAtPiBUcmFuc3BvcnRTZXQKICAgICAgICAgdHJhbnNwb3J0cyA9
IGNvbGxlY3RUcmFuc3BvcnRzKG9wdGlvbnMuYXV0aGVudGljYXRvclNlbGVjdGlvbik7CiAgICAg
ICAgIHByb2Nlc3NHb29nbGVMZWdhY3lBcHBJZFN1cHBvcnRFeHRlbnNpb24ob3B0aW9ucy5leHRl
bnNpb25zLCB0cmFuc3BvcnRzKTsKICAgICB9LCBbJl0oY29uc3QgUHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zJiBvcHRpb25zKSB7Ci0gICAgICAgIHRyYW5zcG9ydHMgPSBjb2xsZWN0
VHJhbnNwb3J0cyhvcHRpb25zLmFsbG93Q3JlZGVudGlhbHMpOworICAgICAgICB0cmFuc3BvcnRz
ID0gY29sbGVjdFRyYW5zcG9ydHMob3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzLCBvcHRpb25zLmF1
dGhlbnRpY2F0b3JBdHRhY2htZW50KTsKICAgICB9KTsKICAgICBmaWx0ZXJUcmFuc3BvcnRzKHRy
YW5zcG9ydHMpOwogICAgIHJldHVybiB0cmFuc3BvcnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRoZW50aWNhdG9y
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9j
YWxBdXRoZW50aWNhdG9yLm1tCmluZGV4IDI2MGNhNmE4MDAzMGExMzRlNzdlNzVkMTIyZDkxNDgz
NjNhMTk1YjEuLmIxOTUwYWEzMzZjN2I5YjJlMmFmNmYwZTY2MTRjODdiMjVhM2U0NzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xv
Y2FsQXV0aGVudGljYXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3IubW0KQEAgLTUwLDExICs1MCw4IEBA
CiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICNpbXBvcnQgPFdlYktpdEFkZGl0aW9ucy9M
b2NhbEF1dGhlbnRpY2F0b3JBZGRpdGlvbnMuaD4KICNlbHNlCi1zdGF0aWMgYm9vbCBzaG91bGRV
c2VBbHRlcm5hdGVRdWVyeSgpIHsgcmV0dXJuIGZhbHNlOyB9Ci1zdGF0aWMgTlNEaWN0aW9uYXJ5
ICphbHRlcm5hdGVRdWVyeUZvclJQSUQoY29uc3QgU3RyaW5nJikKK3N0YXRpYyB2b2lkIHVwZGF0
ZVF1ZXJ5SWZOZWNlc3NhcnkoTlNNdXRhYmxlRGljdGlvbmFyeSAqKQogewotICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBuaWw7CiB9CiAjZW5kaWYKIApAQCAtMTI5LDcgKzEy
Niw4IEBAIHN0YXRpYyBpbmxpbmUgUmVmPEFycmF5QnVmZmVyPiB0b0FycmF5QnVmZmVyKGNvbnN0
IFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHN0YXRpYyBPcHRpb25hbDxWZWN0b3I8UmVmPEF1dGhl
bnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZT4+PiBnZXRFeGlzdGluZ0NyZWRlbnRpYWxzKGNvbnN0
IFN0cmluZyYgcnBJZCkKIHsKICAgICAvLyBTZWFyY2ggS2V5Y2hhaW4gZm9yIGV4aXN0aW5nIGNy
ZWRlbnRpYWwgbWF0Y2hlZCB0aGUgUlAgSUQuCi0gICAgTlNEaWN0aW9uYXJ5ICpxdWVyeSA9IEB7
CisgICAgYXV0byBxdWVyeSA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBp
bml0XSk7CisgICAgW3F1ZXJ5IHNldERpY3Rpb25hcnk6QHsKICAgICAgICAgKGlkKWtTZWNDbGFz
czogKGlkKWtTZWNDbGFzc0tleSwKICAgICAgICAgKGlkKWtTZWNBdHRyS2V5Q2xhc3M6IChpZClr
U2VjQXR0cktleUNsYXNzUHJpdmF0ZSwKICAgICAgICAgKGlkKWtTZWNBdHRyTGFiZWw6IHJwSWQs
CkBAIC0xNDAsMTMgKzEzOCwxMSBAQCBzdGF0aWMgT3B0aW9uYWw8VmVjdG9yPFJlZjxBdXRoZW50
aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2U+Pj4gZ2V0RXhpc3RpbmdDcmVkZW50aQogI2Vsc2UKICAg
ICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKICNlbmRpZgotICAgIH07Ci0KLSAgICBp
ZiAoc2hvdWxkVXNlQWx0ZXJuYXRlUXVlcnkoKSkKLSAgICAgICAgcXVlcnkgPSBhbHRlcm5hdGVR
dWVyeUZvclJQSUQocnBJZCk7CisgICAgfV07CisgICAgdXBkYXRlUXVlcnlJZk5lY2Vzc2FyeShx
dWVyeS5nZXQoKSk7CiAKICAgICBDRlR5cGVSZWYgYXR0cmlidXRlc0FycmF5UmVmID0gbnVsbHB0
cjsKLSAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVtQ29weU1hdGNoaW5nKChfX2JyaWRnZSBD
RkRpY3Rpb25hcnlSZWYpcXVlcnksICZhdHRyaWJ1dGVzQXJyYXlSZWYpOworICAgIE9TU3RhdHVz
IHN0YXR1cyA9IFNlY0l0ZW1Db3B5TWF0Y2hpbmcoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilx
dWVyeS5nZXQoKSwgJmF0dHJpYnV0ZXNBcnJheVJlZik7CiAgICAgaWYgKHN0YXR1cyAmJiBzdGF0
dXMgIT0gZXJyU2VjSXRlbU5vdEZvdW5kKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
ICAgIGF1dG8gcmV0YWluQXR0cmlidXRlc0FycmF5ID0gYWRvcHRDRihhdHRyaWJ1dGVzQXJyYXlS
ZWYpOwpAQCAtMTg4LDcgKzE4NCw4IEBAIHN0YXRpYyBPcHRpb25hbDxWZWN0b3I8UmVmPEF1dGhl
bnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZT4+PiBnZXRFeGlzdGluZ0NyZWRlbnRpCiB2b2lkIExv
Y2FsQXV0aGVudGljYXRvcjo6Y2xlYXJBbGxDcmVkZW50aWFscygpCiB7CiAgICAgLy8gRklYTUU8
cmRhcjovL3Byb2JsZW0vNTcxNzEyMDE+OiBXZSBzaG91bGQgZ3VhcmQgdGhlIG1ldGhvZCB3aXRo
IGEgZmlyc3QgcGFydHkgZW50aXRsZW1lbnQgb25jZSBXZWJBdXRobiBpcyBhdmFsaWFibGUgZm9y
IHRoaXJkIHBhcnRpZXMuCi0gICAgTlNEaWN0aW9uYXJ5KiBkZWxldGVRdWVyeSA9IEB7CisgICAg
YXV0byBxdWVyeSA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7
CisgICAgW3F1ZXJ5IHNldERpY3Rpb25hcnk6QHsKICAgICAgICAgKGlkKWtTZWNDbGFzczogKGlk
KWtTZWNDbGFzc0tleSwKICAgICAgICAgKGlkKWtTZWNBdHRyQWNjZXNzR3JvdXA6IChpZClTdHJp
bmcoTG9jYWxBdXRoZW50aWNhdGlvckFjY2Vzc0dyb3VwKSwKICNpZiBIQVZFKERBVEFfUFJPVEVD
VElPTl9LRVlDSEFJTikKQEAgLTE5Niw4ICsxOTMsMTAgQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0
b3I6OmNsZWFyQWxsQ3JlZGVudGlhbHMoKQogI2Vsc2UKICAgICAgICAgKGlkKWtTZWNBdHRyTm9M
ZWdhY3k6IEBZRVMKICNlbmRpZgotICAgIH07Ci0gICAgT1NTdGF0dXMgc3RhdHVzID0gU2VjSXRl
bURlbGV0ZSgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWRlbGV0ZVF1ZXJ5KTsKKyAgICB9XTsK
KyAgICB1cGRhdGVRdWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKKworICAgIE9TU3RhdHVz
IHN0YXR1cyA9IFNlY0l0ZW1EZWxldGUoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilxdWVyeS5n
ZXQoKSk7CiAgICAgaWYgKHN0YXR1cyAmJiBzdGF0dXMgIT0gZXJyU2VjSXRlbU5vdEZvdW5kKQog
ICAgICAgICBMT0dfRVJST1IobWFrZVN0cmluZygiQ291bGRuJ3QgY2xlYXIgYWxsIGNyZWRlbnRp
YWw6ICJfcywgc3RhdHVzKS51dGY4KCkuZGF0YSgpKTsKIH0KQEAgLTM5NSw3ICszOTQsOCBAQCB2
b2lkIExvY2FsQXV0aGVudGljYXRvcjo6Y29udGludWVNYWtlQ3JlZGVudGlhbEFmdGVyVXNlclZl
cmlmaWNhdGlvbihTZWNBY2Nlc3NDbwogICAgICAgICBtX3Byb3Zpc2lvbmFsQ3JlZGVudGlhbElk
ID0gdG9OU0RhdGEoY3JlZGVudGlhbElkKTsKIAogI2lmbmRlZiBOREVCVUcKLSAgICAgICAgTlNE
aWN0aW9uYXJ5ICpjcmVkZW50aWFsSWRRdWVyeSA9IEB7CisgICAgICAgIGF1dG8gcXVlcnkgPSBh
ZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF0pOworICAgICAgICBbcXVl
cnkgc2V0RGljdGlvbmFyeTpAewogICAgICAgICAgICAgKGlkKWtTZWNDbGFzczogKGlkKWtTZWND
bGFzc0tleSwKICAgICAgICAgICAgIChpZClrU2VjQXR0cktleUNsYXNzOiAoaWQpa1NlY0F0dHJL
ZXlDbGFzc1ByaXZhdGUsCiAgICAgICAgICAgICAoaWQpa1NlY0F0dHJMYWJlbDogc2VjQXR0ckxh
YmVsLApAQCAtNDA1LDggKzQwNSwxMCBAQCB2b2lkIExvY2FsQXV0aGVudGljYXRvcjo6Y29udGlu
dWVNYWtlQ3JlZGVudGlhbEFmdGVyVXNlclZlcmlmaWNhdGlvbihTZWNBY2Nlc3NDbwogI2Vsc2UK
ICAgICAgICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCiAjZW5kaWYKLSAgICAgICAg
fTsKLSAgICAgICAgT1NTdGF0dXMgc3RhdHVzID0gU2VjSXRlbUNvcHlNYXRjaGluZygoX19icmlk
Z2UgQ0ZEaWN0aW9uYXJ5UmVmKWNyZWRlbnRpYWxJZFF1ZXJ5LCBudWxscHRyKTsKKyAgICAgICAg
fV07CisgICAgICAgIHVwZGF0ZVF1ZXJ5SWZOZWNlc3NhcnkocXVlcnkuZ2V0KCkpOworCisgICAg
ICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1Db3B5TWF0Y2hpbmcoKF9fYnJpZGdlIENGRGlj
dGlvbmFyeVJlZilxdWVyeS5nZXQoKSwgbnVsbHB0cik7CiAgICAgICAgIEFTU0VSVCghc3RhdHVz
KTsKICNlbmRpZiAvLyBOREVCVUcKICAgICB9CkBAIC01OTcsNyArNTk5LDggQEAgdm9pZCBMb2Nh
bEF1dGhlbnRpY2F0b3I6OmNvbnRpbnVlR2V0QXNzZXJ0aW9uQWZ0ZXJVc2VyVmVyaWZpY2F0aW9u
KFJlZjxXZWJDb3JlOjoKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBzaWduYXR1cmU7CiAgICAg
YXV0byBuc0NyZWRlbnRpYWxJZCA9IHRvTlNEYXRhKHJlc3BvbnNlLT5yYXdJZCgpKTsKICAgICB7
Ci0gICAgICAgIE5TRGljdGlvbmFyeSAqcXVlcnkgPSBAeworICAgICAgICBhdXRvIHF1ZXJ5ID0g
YWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgW3F1
ZXJ5IHNldERpY3Rpb25hcnk6QHsKICAgICAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClrU2Vj
Q2xhc3NLZXksCiAgICAgICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlkKWtTZWNBdHRy
S2V5Q2xhc3NQcml2YXRlLAogICAgICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGljYXRpb25MYWJl
bDogbnNDcmVkZW50aWFsSWQuZ2V0KCksCkBAIC02MDgsOSArNjExLDExIEBAIHZvaWQgTG9jYWxB
dXRoZW50aWNhdG9yOjpjb250aW51ZUdldEFzc2VydGlvbkFmdGVyVXNlclZlcmlmaWNhdGlvbihS
ZWY8V2ViQ29yZTo6CiAjZWxzZQogICAgICAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZ
RVMKICNlbmRpZgotICAgICAgICB9OworICAgICAgICB9XTsKKyAgICAgICAgdXBkYXRlUXVlcnlJ
Zk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CisKICAgICAgICAgQ0ZUeXBlUmVmIHByaXZhdGVLZXlS
ZWYgPSBudWxscHRyOwotICAgICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVtQ29weU1hdGNo
aW5nKChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpcXVlcnksICZwcml2YXRlS2V5UmVmKTsKKyAg
ICAgICAgT1NTdGF0dXMgc3RhdHVzID0gU2VjSXRlbUNvcHlNYXRjaGluZygoX19icmlkZ2UgQ0ZE
aWN0aW9uYXJ5UmVmKXF1ZXJ5LmdldCgpLCAmcHJpdmF0ZUtleVJlZik7CiAgICAgICAgIGlmIChz
dGF0dXMpIHsKICAgICAgICAgICAgIHJlY2VpdmVFeGNlcHRpb24oeyBVbmtub3duRXJyb3IsIG1h
a2VTdHJpbmcoIkNvdWxkbid0IGdldCB0aGUgcHJpdmF0ZSBrZXkgcmVmZXJlbmNlOiAiLCBzdGF0
dXMpIH0pOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtNjMyLDcgKzYzNyw4IEBAIHZvaWQgTG9j
YWxBdXRoZW50aWNhdG9yOjpjb250aW51ZUdldEFzc2VydGlvbkFmdGVyVXNlclZlcmlmaWNhdGlv
bihSZWY8V2ViQ29yZTo6CiAKICAgICAvLyBFeHRyYSBzdGVwOiB1cGRhdGUgdGhlIEtleWNoYWlu
IGl0ZW0gd2l0aCB0aGUgc2FtZSB2YWx1ZSB0byB1cGRhdGUgaXRzIG1vZGlmaWNhdGlvbiBkYXRl
IHN1Y2ggdGhhdCBMUlUgY2FuIGJlIHVzZWQKICAgICAvLyBmb3Igc2VsZWN0QXNzZXJ0aW9uUmVz
cG9uc2UKLSAgICBOU0RpY3Rpb25hcnkgKnVwZGF0ZVF1ZXJ5ID0gQHsKKyAgICBhdXRvIHF1ZXJ5
ID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsKKyAgICBbcXVl
cnkgc2V0RGljdGlvbmFyeTpAewogICAgICAgICAoaWQpa1NlY0NsYXNzOiAoaWQpa1NlY0NsYXNz
S2V5LAogICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlkKWtTZWNBdHRyS2V5Q2xhc3NQ
cml2YXRlLAogICAgICAgICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlvbkxhYmVsOiBuc0NyZWRlbnRp
YWxJZC5nZXQoKSwKQEAgLTY0MSwxMSArNjQ3LDEzIEBAIHZvaWQgTG9jYWxBdXRoZW50aWNhdG9y
Ojpjb250aW51ZUdldEFzc2VydGlvbkFmdGVyVXNlclZlcmlmaWNhdGlvbihSZWY8V2ViQ29yZTo6
CiAjZWxzZQogICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwogI2VuZGlmCi0gICAg
fTsKKyAgICB9XTsKKyAgICB1cGRhdGVRdWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKKwog
ICAgIE5TRGljdGlvbmFyeSAqdXBkYXRlUGFyYW1zID0gQHsKICAgICAgICAgKGlkKWtTZWNBdHRy
TGFiZWw6IHJlcXVlc3RPcHRpb25zLnJwSWQsCiAgICAgfTsKLSAgICBhdXRvIHN0YXR1cyA9IFNl
Y0l0ZW1VcGRhdGUoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZil1cGRhdGVRdWVyeSwgKF9fYnJp
ZGdlIENGRGljdGlvbmFyeVJlZil1cGRhdGVQYXJhbXMpOworICAgIGF1dG8gc3RhdHVzID0gU2Vj
SXRlbVVwZGF0ZSgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKXF1ZXJ5LmdldCgpLCAoX19icmlk
Z2UgQ0ZEaWN0aW9uYXJ5UmVmKXVwZGF0ZVBhcmFtcyk7CiAgICAgaWYgKHN0YXR1cykKICAgICAg
ICAgTE9HX0VSUk9SKCJDb3VsZG4ndCB1cGRhdGUgdGhlIEtleWNoYWluIGl0ZW06ICVkIiwgc3Rh
dHVzKTsKIApAQCAtNjYxLDcgKzY2OSw4IEBAIHZvaWQgTG9jYWxBdXRoZW50aWNhdG9yOjpyZWNl
aXZlRXhjZXB0aW9uKEV4Y2VwdGlvbkRhdGEmJiBleGNlcHRpb24sIFdlYkF1dGhlbnRpCiAKICAg
ICAvLyBSb2xsIGJhY2sgdGhlIGp1c3QgY3JlYXRlZCBjcmVkZW50aWFsLgogICAgIGlmIChtX3By
b3Zpc2lvbmFsQ3JlZGVudGlhbElkKSB7Ci0gICAgICAgIE5TRGljdGlvbmFyeSogZGVsZXRlUXVl
cnkgPSBAeworICAgICAgICBhdXRvIHF1ZXJ5ID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25h
cnkgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgW3F1ZXJ5IHNldERpY3Rpb25hcnk6QHsKICAgICAg
ICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClrU2VjQ2xhc3NLZXksCiAgICAgICAgICAgICAoaWQp
a1NlY0F0dHJBcHBsaWNhdGlvbkxhYmVsOiBtX3Byb3Zpc2lvbmFsQ3JlZGVudGlhbElkLmdldCgp
LAogI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQpAQCAtNjY5LDggKzY3OCwxMCBA
QCB2b2lkIExvY2FsQXV0aGVudGljYXRvcjo6cmVjZWl2ZUV4Y2VwdGlvbihFeGNlcHRpb25EYXRh
JiYgZXhjZXB0aW9uLCBXZWJBdXRoZW50aQogI2Vsc2UKICAgICAgICAgICAgIChpZClrU2VjQXR0
ck5vTGVnYWN5OiBAWUVTCiAjZW5kaWYKLSAgICAgICAgfTsKLSAgICAgICAgT1NTdGF0dXMgc3Rh
dHVzID0gU2VjSXRlbURlbGV0ZSgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWRlbGV0ZVF1ZXJ5
KTsKKyAgICAgICAgfV07CisgICAgICAgIHVwZGF0ZVF1ZXJ5SWZOZWNlc3NhcnkocXVlcnkuZ2V0
KCkpOworCisgICAgICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1EZWxldGUoKF9fYnJpZGdl
IENGRGljdGlvbmFyeVJlZilxdWVyeS5nZXQoKSk7CiAgICAgICAgIGlmIChzdGF0dXMpCiAgICAg
ICAgICAgICBMT0dfRVJST1IobWFrZVN0cmluZygiQ291bGRuJ3QgZGVsZXRlIHByb3Zpc2lvbmFs
IGNyZWRlbnRpYWwgd2hpbGUgaGFuZGxpbmcgZXJyb3I6ICJfcywgc3RhdHVzKS51dGY4KCkuZGF0
YSgpKTsKICAgICB9CkBAIC02OTUsNyArNzA2LDggQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6
OmRlbGV0ZUR1cGxpY2F0ZUNyZWRlbnRpYWwoKSBjb25zdAogICAgICAgICBpZiAobWVtY21wKHVz
ZXJIYW5kbGUtPmRhdGEoKSwgY3JlYXRpb25PcHRpb25zLnVzZXIuaWRWZWN0b3IuZGF0YSgpLCB1
c2VySGFuZGxlLT5ieXRlTGVuZ3RoKCkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgICAgIE5TRGljdGlvbmFyeSogZGVsZXRlUXVlcnkgPSBAeworICAgICAgICBhdXRvIHF1ZXJ5
ID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsKKyAgICAgICAg
W3F1ZXJ5IHNldERpY3Rpb25hcnk6QHsKICAgICAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClr
U2VjQ2xhc3NLZXksCiAgICAgICAgICAgICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlvbkxhYmVsOiB0
b05TRGF0YShjcmVkZW50aWFsLT5yYXdJZCgpKS5nZXQoKSwKICNpZiBIQVZFKERBVEFfUFJPVEVD
VElPTl9LRVlDSEFJTikKQEAgLTcwMyw4ICs3MTUsMTAgQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0
b3I6OmRlbGV0ZUR1cGxpY2F0ZUNyZWRlbnRpYWwoKSBjb25zdAogI2Vsc2UKICAgICAgICAgICAg
IChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCiAjZW5kaWYKLSAgICAgICAgfTsKLSAgICAgICAg
T1NTdGF0dXMgc3RhdHVzID0gU2VjSXRlbURlbGV0ZSgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVm
KWRlbGV0ZVF1ZXJ5KTsKKyAgICAgICAgfV07CisgICAgICAgIHVwZGF0ZVF1ZXJ5SWZOZWNlc3Nh
cnkocXVlcnkuZ2V0KCkpOworCisgICAgICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1EZWxl
dGUoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilxdWVyeS5nZXQoKSk7CiAgICAgICAgIGlmIChz
dGF0dXMgJiYgc3RhdHVzICE9IGVyclNlY0l0ZW1Ob3RGb3VuZCkKICAgICAgICAgICAgIExPR19F
UlJPUihtYWtlU3RyaW5nKCJDb3VsZG4ndCBkZWxldGUgb2xkZXIgY3JlZGVudGlhbDogIl9zLCBz
dGF0dXMpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIwNDNiMDZiNWFj
NmRlMzc0M2E1Yzc3YTI4MmExNDUyZTVjM2UyNDAuLjRlYmQ0MmZmMDk2MTUzYTUyMmNkOWQxZTI0
YjJhN2YwZjk4NzgzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTIxNSw2ICsxMjE1LDcgQEAKIAkJNTdGRDMxODUyMkIzNTE2OTAw
OEQwRThCIC8qIFNPQXV0aG9yaXphdGlvblNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkQzMTdDMjJCMzUxNEEwMDhEMEU4QiAvKiBTT0F1
dGhvcml6YXRpb25TZXNzaW9uLmggKi87IH07CiAJCTU3RkQzMTg2MjJCMzUxNkMwMDhEMEU4QiAv
KiBTdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkQzMTdEMjJCMzUxNEEwMDhEMEU4QiAvKiBTdWJG
cmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24uaCAqLzsgfTsKIAkJNTdGRDMxODcyMkIzNTE3MDAw
OEQwRThCIC8qIFdLU09BdXRob3JpemF0aW9uRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkQzMTcxMjJCMzUxNDgwMDhEMEU4QiAvKiBX
S1NPQXV0aG9yaXphdGlvbkRlbGVnYXRlLmggKi87IH07CisJCTU3RkU2ODZEMjYwNDgyNzgwMEJG
NDVFNCAvKiBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRTY4NkMyNjA0ODI3ODAwQkY0NUU0IC8qIF9X
S0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUMwQjE3NzgxRTdDODgwRTAwRTkxMjNDIC8qIE5ldHdvcmtT
b2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNUMwQjE3NzQxRTdDODc5QzAwRTkxMjNDIC8qIE5ldHdvcmtT
b2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1QzBCMTc3OTFFN0M4ODIx
MDBFOTEyM0MgLyogV2ViU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDMEIxNzc2MUU3Qzg3OUMwMEU5
MTIzQyAvKiBXZWJTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1QzEy
MUU4NDI0MTAyMDhEMDA0ODZGOUIgLyogRnJhbWVUcmVlTm9kZURhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDMTIxRTgzMjQxMDFGNzAwMDQ4NkY5
QiAvKiBGcmFtZVRyZWVOb2RlRGF0YS5oICovOyB9OwpAQCAtNDMxNyw2ICs0MzE4LDcgQEAKIAkJ
NTdGRDMxN0QyMkIzNTE0QTAwOEQwRThCIC8qIFN1YkZyYW1lU09BdXRob3JpemF0aW9uU2Vzc2lv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdWJGcmFtZVNPQXV0aG9yaXph
dGlvblNlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGRDMxN0UyMkIz
NTE0QTAwOEQwRThCIC8qIFdLU09BdXRob3JpemF0aW9uRGVsZWdhdGUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1NPQXV0aG9yaXphdGlvbkRlbGVnYXRlLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0ZEMzE3RjIyQjM1MTRBMDA4RDBFOEIg
LyogU09BdXRob3JpemF0aW9uU2Vzc2lvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFNPQXV0aG9yaXphdGlvblNlc3Npb24ubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTU3RkU2ODZDMjYwNDgyNzgwMEJGNDVFNCAvKiBfV0tBdXRoZW50aWNhdG9y
QXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QzAwOTkzQjI0MTdGQjdFMDBENTNDMjUg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BhcmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BhcmFtZXRlcnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUMwQTEwQzEyMzUyNDFBMzAwNTNFMkNBIC8qIE5ldHdv
cmtTY2hlbWVSZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBOZXR3b3JrU2NoZW1lUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1QzBCMTc3NDFFN0M4NzlDMDBFOTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3Jr
U29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dl
YktpdDIvTmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUg
PSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC03Nzk4LDYgKzc4MDAsNyBAQAogCQkJCTU3OTBB
Njg2MjU2N0EyOEEwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2Uu
aCAqLywKIAkJCQk1NzkwQTY4NzI1NjdBMjhBMDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRvckFz
c2VydGlvblJlc3BvbnNlLm1tICovLAogCQkJCTU3OTBBNjhFMjU2N0I0Q0YwMDc3QzVBNyAvKiBf
V0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5oICovLAorCQkJCTU3RkU2
ODZDMjYwNDgyNzgwMEJGNDVFNCAvKiBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovLAog
CQkJCTU3OTBBNjgyMjU2N0EyMUUwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXR0ZXN0YXRp
b25SZXNwb25zZS5oICovLAogCQkJCTU3OTBBNjgzMjU2N0EyMUUwMDc3QzVBNyAvKiBfV0tBdXRo
ZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5tbSAqLywKIAkJCQk1NzkwQTY4QzI1NjdCNDQ5
MDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2VJbnRlcm5hbC5o
ICovLApAQCAtMTE0NDAsNiArMTE0NDMsNyBAQAogCQkJCTU3OTBBNjkxMjU2N0I1RTAwMDc3QzVB
NyAvKiBfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLAogCQkJCTU3OTBBNjg4MjU2N0EyOEEwMDc3QzVBNyAvKiBfV0tBdXRoZW50
aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3OTBBNjhGMjU2
N0I0Q0YwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTdGRTY4NkQyNjA0ODI3ODAwQkY0NUU0IC8qIF9XS0F1
dGhlbnRpY2F0b3JBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzkwQTY4NDI1NjdB
MjFFMDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTU3OTBBNjhEMjU2N0I0NDkwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNh
dG9yQXR0ZXN0YXRpb25SZXNwb25zZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Nzkw
QTY4MDI1NjdBMUFDMDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRvclJlc3BvbnNlLmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCAyYzI0YmQxNGI3YTUxOWUzNWM5ZDM0MDJmOGU1N2EyNzE0YTI2ZjJiLi43NzRkYTc5ZDk5
ODBhMWUyZTRmN2JiYmQwM2IwZmY5OGJjNDliZDlmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDMtMTkgIEpp
ZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBQcm92aWRlIGEgd2F5
IHRvIHNwZWNpZnkgcGxhdGZvcm0gdnMgc2VjdXJpdHkga2V5IHdoZW4gcmVxdWVzdGluZyBhbiBh
c3NlcnRpb24gaW4gdGhlIFNQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIzNTQ3CisgICAgICAgIHJkYXI6Ly83NDAzNDc0NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL0N0YXBSZXF1ZXN0VGVzdC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1
dGhlbnRpY2F0aW9uUGFuZWwubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAg
ICAgICAgQWRkcyB0aGUgdGVzdCBjYXNlLgorCiAyMDIxLTAzLTE4ICBLaW1tbyBLaW5udW5lbiAg
PGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR0wgY29uZm9ybWFuY2UgdGVzdCB1
cGRhdGUgc2NyaXB0IGRvZXMgbm90IHVzZSBtaW5fdmVyc2lvbiBhbmQgbWF4X3ZlcnNpb24gaW4g
YWxsIGNhc2VzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
Q3RhcFJlcXVlc3RUZXN0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9D
dGFwUmVxdWVzdFRlc3QuY3BwCmluZGV4IGYxMzlkMjUyN2U2YmQ4Yzg1YTg1NzcwMzFmZDgwZWNm
NWI4NzFiMmMuLjY1ZWFjZDAzOTJmN2VjMWJkNDBhNDUzNjMwNGMyZDMyODEzMTZjZDkgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DdGFwUmVxdWVzdFRlc3Qu
Y3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DdGFwUmVxdWVzdFRl
c3QuY3BwCkBAIC01OSw3ICs1OSw3IEBAIFRFU1QoQ1RBUFJlcXVlc3RUZXN0LCBUZXN0Q29uc3Ry
dWN0TWFrZUNyZWRlbnRpYWxSZXF1ZXN0UGFyYW0pCiAgICAgdXNlci5kaXNwbGF5TmFtZSA9ICJK
b2huIFAuIFNtaXRoIjsKIAogICAgIFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zOjpQYXJhbWV0ZXJzPiBwYXJhbXMgeyB7IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlOjpQ
dWJsaWNLZXksIDcgfSwgeyBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZTo6UHVibGljS2V5LCAyNTcg
fSB9OwotICAgIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0
b3JTZWxlY3Rpb25Dcml0ZXJpYSBzZWxlY3Rpb24geyBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRp
b25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0sIHRydWUsIFVzZXJW
ZXJpZmljYXRpb25SZXF1aXJlbWVudDo6UHJlZmVycmVkIH07CisgICAgUHVibGljS2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhIHNlbGVj
dGlvbiB7IEF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSwgdHJ1ZSwgVXNlclZlcmlm
aWNhdGlvblJlcXVpcmVtZW50OjpQcmVmZXJyZWQgfTsKIAogICAgIFB1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnMgb3B0aW9ucyB7IHJwLCB1c2VyLCB7IH0sIHBhcmFtcywgV1RGOjpu
dWxsb3B0LCB7IH0sIHNlbGVjdGlvbiwgQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZTo6
Tm9uZSwgV1RGOjpudWxsb3B0IH07CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IGhhc2g7CkBAIC04Miw3
ICs4Miw3IEBAIFRFU1QoQ1RBUFJlcXVlc3RUZXN0LCBUZXN0Q29uc3RydWN0TWFrZUNyZWRlbnRp
YWxSZXF1ZXN0UGFyYW1Ob1VWTm9SSykKICAgICB1c2VyLmRpc3BsYXlOYW1lID0gIkpvaG4gUC4g
U21pdGgiOwogCiAgICAgVmVjdG9yPFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6
OlBhcmFtZXRlcnM+IHBhcmFtcyB7IHsgUHVibGljS2V5Q3JlZGVudGlhbFR5cGU6OlB1YmxpY0tl
eSwgNyB9LCB7IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlOjpQdWJsaWNLZXksIDI1NyB9IH07Ci0g
ICAgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvclNlbGVj
dGlvbkNyaXRlcmlhIHNlbGVjdGlvbiB7IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSwgZmFsc2UsIFVzZXJWZXJpZmlj
YXRpb25SZXF1aXJlbWVudDo6RGlzY291cmFnZWQgfTsKKyAgICBQdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEgc2VsZWN0aW9u
IHsgQXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtLCBmYWxzZSwgVXNlclZlcmlmaWNh
dGlvblJlcXVpcmVtZW50OjpEaXNjb3VyYWdlZCB9OwogCiAgICAgUHVibGljS2V5Q3JlZGVudGlh
bENyZWF0aW9uT3B0aW9ucyBvcHRpb25zIHsgcnAsIHVzZXIsIHsgfSwgcGFyYW1zLCBXVEY6Om51
bGxvcHQsIHsgfSwgc2VsZWN0aW9uLCBBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlOjpO
b25lLCBXVEY6Om51bGxvcHQgfTsKICAgICBWZWN0b3I8dWludDhfdD4gaGFzaDsKQEAgLTEwNSw3
ICsxMDUsNyBAQCBURVNUKENUQVBSZXF1ZXN0VGVzdCwgVGVzdENvbnN0cnVjdE1ha2VDcmVkZW50
aWFsUmVxdWVzdFBhcmFtVVZSZXF1aXJlZEJ1dE5vdFN1cAogICAgIHVzZXIuZGlzcGxheU5hbWUg
PSAiSm9obiBQLiBTbWl0aCI7CiAKICAgICBWZWN0b3I8UHVibGljS2V5Q3JlZGVudGlhbENyZWF0
aW9uT3B0aW9uczo6UGFyYW1ldGVycz4gcGFyYW1zIHsgeyBQdWJsaWNLZXlDcmVkZW50aWFsVHlw
ZTo6UHVibGljS2V5LCA3IH0sIHsgUHVibGljS2V5Q3JlZGVudGlhbFR5cGU6OlB1YmxpY0tleSwg
MjU3IH0gfTsKLSAgICBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50
aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEgc2VsZWN0aW9uIHsgUHVibGljS2V5Q3JlZGVudGlhbENy
ZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtLCBmYWxzZSwg
VXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpSZXF1aXJlZCB9OworICAgIFB1YmxpY0tleUNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYSBz
ZWxlY3Rpb24geyBBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0sIGZhbHNlLCBVc2Vy
VmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQ6OlJlcXVpcmVkIH07CiAKICAgICBQdWJsaWNLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zIG9wdGlvbnMgeyBycCwgdXNlciwgeyB9LCBwYXJhbXMsIFdU
Rjo6bnVsbG9wdCwgeyB9LCBzZWxlY3Rpb24sIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVu
Y2U6Ok5vbmUsIFdURjo6bnVsbG9wdCB9OwogICAgIFZlY3Rvcjx1aW50OF90PiBoYXNoOwpAQCAt
MTI4LDcgKzEyOCw3IEBAIFRFU1QoQ1RBUFJlcXVlc3RUZXN0LCBUZXN0Q29uc3RydWN0TWFrZUNy
ZWRlbnRpYWxSZXF1ZXN0UGFyYW1XaXRoUGluKQogICAgIHVzZXIuZGlzcGxheU5hbWUgPSAiSm9o
biBQLiBTbWl0aCI7CiAKICAgICBWZWN0b3I8UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0
aW9uczo6UGFyYW1ldGVycz4gcGFyYW1zIHsgeyBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZTo6UHVi
bGljS2V5LCA3IH0sIHsgUHVibGljS2V5Q3JlZGVudGlhbFR5cGU6OlB1YmxpY0tleSwgMjU3IH0g
fTsKLSAgICBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9y
U2VsZWN0aW9uQ3JpdGVyaWEgc2VsZWN0aW9uIHsgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9u
T3B0aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtLCB0cnVlLCBVc2VyVmVy
aWZpY2F0aW9uUmVxdWlyZW1lbnQ6OlByZWZlcnJlZCB9OworICAgIFB1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYSBzZWxlY3Rp
b24geyBBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0sIHRydWUsIFVzZXJWZXJpZmlj
YXRpb25SZXF1aXJlbWVudDo6UHJlZmVycmVkIH07CiAKICAgICBQaW5QYXJhbWV0ZXJzIHBpbjsK
ICAgICBwaW4ucHJvdG9jb2wgPSBwaW46OmtQcm90b2NvbFZlcnNpb247CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9u
UGFuZWwubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1
dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggY2M0ZmJjMDZmN2MzMTA0MDk3YTc0MzljODdkNDc3
MDBhMTI2ZGIwNC4uZjA0YmFlZGE3MzhmZjIyYzBhNTJmMDllNGYwZDQ5ZDEzNDVmNWRkMiAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQpAQCAtMTY0Nyw3ICsxNjQ3LDcgQEAg
VEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zTWF4aW11bTEpCiAgICAgRVhQRUNUX0VRKHJlc3VsdC5leGNsdWRlQ3JlZGVudGlhbHNb
MF0udHJhbnNwb3J0c1sxXSwgQXV0aGVudGljYXRvclRyYW5zcG9ydDo6TmZjKTsKICAgICBFWFBF
Q1RfRVEocmVzdWx0LmV4Y2x1ZGVDcmVkZW50aWFsc1swXS50cmFuc3BvcnRzWzJdLCBBdXRoZW50
aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CiAKLSAgICBFWFBFQ1RfRVEocmVzdWx0LmF1dGhl
bnRpY2F0b3JTZWxlY3Rpb24tPmF1dGhlbnRpY2F0b3JBdHRhY2htZW50LCBQdWJsaWNLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0p
OworICAgIEVYUEVDVF9FUShyZXN1bHQuYXV0aGVudGljYXRvclNlbGVjdGlvbi0+YXV0aGVudGlj
YXRvckF0dGFjaG1lbnQsIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSk7CiAgICAg
RVhQRUNUX0VRKHJlc3VsdC5hdXRoZW50aWNhdG9yU2VsZWN0aW9uLT5yZXF1aXJlUmVzaWRlbnRL
ZXksIHRydWUpOwogICAgIEVYUEVDVF9FUShyZXN1bHQuYXV0aGVudGljYXRvclNlbGVjdGlvbi0+
dXNlclZlcmlmaWNhdGlvbiwgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpSZXF1aXJlZCk7
CiAKQEAgLTE3MTcsNyArMTcxNyw3IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgUHVi
bGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uc01heGltdW0yKQogICAgIEVYUEVDVF9FUShy
ZXN1bHQuZXhjbHVkZUNyZWRlbnRpYWxzWzBdLnRyYW5zcG9ydHNbMV0sIEF1dGhlbnRpY2F0b3JU
cmFuc3BvcnQ6Ok5mYyk7CiAgICAgRVhQRUNUX0VRKHJlc3VsdC5leGNsdWRlQ3JlZGVudGlhbHNb
MF0udHJhbnNwb3J0c1syXSwgQXV0aGVudGljYXRvclRyYW5zcG9ydDo6SW50ZXJuYWwpOwogCi0g
ICAgRVhQRUNUX0VRKHJlc3VsdC5hdXRoZW50aWNhdG9yU2VsZWN0aW9uLT5hdXRoZW50aWNhdG9y
QXR0YWNobWVudCwgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGlj
YXRvckF0dGFjaG1lbnQ6OkNyb3NzUGxhdGZvcm0pOworICAgIEVYUEVDVF9FUShyZXN1bHQuYXV0
aGVudGljYXRvclNlbGVjdGlvbi0+YXV0aGVudGljYXRvckF0dGFjaG1lbnQsIEF1dGhlbnRpY2F0
b3JBdHRhY2htZW50OjpDcm9zc1BsYXRmb3JtKTsKICAgICBFWFBFQ1RfRVEocmVzdWx0LmF1dGhl
bnRpY2F0b3JTZWxlY3Rpb24tPnJlcXVpcmVSZXNpZGVudEtleSwgdHJ1ZSk7CiAgICAgRVhQRUNU
X0VRKHJlc3VsdC5hdXRoZW50aWNhdG9yU2VsZWN0aW9uLT51c2VyVmVyaWZpY2F0aW9uLCBVc2Vy
VmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQ6OkRpc2NvdXJhZ2VkKTsKIApAQCAtMTkyNiw2ICsxOTI2
LDM2IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgR2V0QXNzZXJ0aW9uTEEpCiAgICAg
VXRpbDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVsUmFuKTsKIH0KIAorVEVTVChXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLCBHZXRBc3NlcnRpb25Dcm9zc1BsYXRmb3JtKQoreworICAgIHJlc2V0
KCk7CisKKyAgICBBU1NFUlRfVFJVRShhZGRLZXlUb0tleWNoYWluKHRlc3RFUzI1NlByaXZhdGVL
ZXlCYXNlNjQsICIiLCB0ZXN0VXNlckVudGl0eUJ1bmRsZUJhc2U2NCkpOworCisgICAgdWludDhf
dCBoYXNoW10gPSB7IDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4
MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEs
IDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4
MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQgfTsKKyAgICBOU0RhdGEgKm5zSGFzaCA9
IFtOU0RhdGEgZGF0YVdpdGhCeXRlczpoYXNoIGxlbmd0aDpzaXplb2YoaGFzaCldOworCisgICAg
YXV0byBvcHRpb25zID0gYWRvcHROUyhbW19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0
aW9ucyBhbGxvY10gaW5pdF0pOworICAgIFtvcHRpb25zIHNldFJlbHlpbmdQYXJ0eUlkZW50aWZp
ZXI6QCIiXTsKKyAgICBbb3B0aW9ucyBzZXRBdXRoZW50aWNhdG9yQXR0YWNobWVudDpfV0tBdXRo
ZW50aWNhdG9yQXR0YWNobWVudENyb3NzUGxhdGZvcm1dOworICAgIFtvcHRpb25zIHNldFRpbWVv
dXQ6QDEyMF07CisKKyAgICBhdXRvIHBhbmVsID0gYWRvcHROUyhbW19XS1dlYkF1dGhlbnRpY2F0
aW9uUGFuZWwgYWxsb2NdIGluaXRdKTsKKyAgICBbcGFuZWwgc2V0TW9ja0NvbmZpZ3VyYXRpb246
QHsgfV07CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRp
b25QYW5lbERlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3BhbmVsIHNldERlbGVnYXRlOmRl
bGVnYXRlLmdldCgpXTsKKworICAgIFtwYW5lbCBnZXRBc3NlcnRpb25XaXRoQ2hhbGxlbmdlOm5z
SGFzaCBvcmlnaW46QCIiIG9wdGlvbnM6b3B0aW9ucy5nZXQoKSBjb21wbGV0aW9uSGFuZGxlcjpe
KF9XS0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSAqcmVzcG9uc2UsIE5TRXJyb3IgKmVy
cm9yKSB7CisgICAgICAgIHdlYkF1dGhlbnRpY2F0aW9uUGFuZWxSYW4gPSB0cnVlOworICAgICAg
ICBjbGVhblVwS2V5Y2hhaW4oIiIpOworCisgICAgICAgIEVYUEVDVF9OVUxMKHJlc3BvbnNlKTsK
KyAgICAgICAgRVhQRUNUX0VRKGVycm9yLmRvbWFpbiwgV0tFcnJvckRvbWFpbik7CisgICAgICAg
IEVYUEVDVF9FUShlcnJvci5jb2RlLCBXS0Vycm9yVW5rbm93bik7CisgICAgfV07CisgICAgVXRp
bDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVsUmFuKTsKK30KKwogVEVTVChXZWJBdXRoZW50
aWNhdGlvblBhbmVsLCBHZXRBbGxDcmVkZW50aWFsKQogewogICAgIHJlc2V0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423962</attachid>
            <date>2021-03-22 17:01:01 -0700</date>
            <delta_ts>2021-03-23 01:02:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223547-20210322170100.patch</filename>
            <type>text/plain</type>
            <size>42556</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U3MDBkMTg1ZGEyMGJm
OTk3YmI1NmY2YzFjMGZmNmJmODE1MWExMi4uZDBlODBjNmVmZmFiYTIwZWNkM2ZiODAxOTQwZjc3
MzNiM2UzZjNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTAzLTE5ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHdheSB0
byBzcGVjaWZ5IHBsYXRmb3JtIHZzIHNlY3VyaXR5IGtleSB3aGVuIHJlcXVlc3RpbmcgYW4gYXNz
ZXJ0aW9uIGluIHRoZSBTUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMzU0NworICAgICAgICByZGFyOi8vNzQwMzQ3NDYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IEFQSSB0ZXN0cy4K
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQ
dWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMubW0uCisgICAgICAgICogTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0YWNobWVudC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnMubW0uCisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlD
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhu
L1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMS0wMy0yMiAgUGF0cmljayBBbmdsZSAg
PHBhbmdsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjcyNDMzKTogSW5zcGVj
dG9yIHNob3VsZCBub3QgaW5zdHJ1bWVudCBpbnNpZGUgYFdlYkNvcmU6Ok5vZGU6OnNldFJlbmRl
cmVyYApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCBiNTQ4OTJkMzg2NjFmOTU0MGM4YzFmYTdjNjY1ZDc1YmE2NTExMjMz
Li5lMDUzODJjNDFmNzZkM2E3OWE5NDhlOGUwOGU2Y2RhNGE0ZWI4ZDZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI3IEBACisyMDIxLTAzLTE5ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5j
b20+CisKKyAgICAgICAgUHJvdmlkZSBhIHdheSB0byBzcGVjaWZ5IHBsYXRmb3JtIHZzIHNlY3Vy
aXR5IGtleSB3aGVuIHJlcXVlc3RpbmcgYW4gYXNzZXJ0aW9uIGluIHRoZSBTUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU0NworICAgICAgICBy
ZGFyOi8vNzQwMzQ3NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgdGhlIGF1dGhlbnRpY2F0b3IgYXR0YWNobWVudCBvcHRp
b24gdG8gdGhlIGdldEFzc2VydGlvbiBTUEkgc3VjaCB0aGF0IHRoZSBjYWxsZXIKKyAgICAgICAg
Y2FuIGRlY2lkZSB3aGF0IHRyYW5zcG9ydHMgaXQgbmVlZHMuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50Lmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVx
dWVzdE9wdGlvbnMubW0uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50
aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLm1tOgor
ICAgICAgICAoLVtfV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgaW5pdF0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5t
bToKKyAgICAgICAgKGF1dGhlbnRpY2F0b3JBdHRhY2htZW50KToKKyAgICAgICAgKCtbX1dLV2Vi
QXV0aGVudGljYXRpb25QYW5lbCBjb252ZXJ0VG9Db3JlUmVxdWVzdE9wdGlvbnNXaXRoT3B0aW9u
czpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRv
ck1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb3JlOjpjb2xsZWN0VHJhbnNwb3J0
cyk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpnZXRUcmFuc3BvcnRz
IGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwog
MjAyMS0wMy0yMiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtH
UFVQXSBBZGQgYSAid2FsbFRpbWUiIGZpZWxkIHRvIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclN0
YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApp
bmRleCA0ZDVlNzI4MGE4YjRmOThhNjVmNGVjYjE2MTBiMjQ0MGIyOTA5OWRmLi40ZTU4OGEyNDk0
OTczYTc5MGUxNjVjMGFhMTRhNDVhYWQyZDhjOGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTUxNSw2ICs1MTUsNyBAQCAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3dlYmF1dGhuL0F0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2Uu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0aW9uRXh0ZW5z
aW9uc0NsaWVudElucHV0cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViYXV0aG4vQXV0
aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cy5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0YWNobWVudC5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVz
cG9uc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JS
ZXNwb25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRv
clRyYW5zcG9ydC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QKaW5kZXggMWNhYzlkNWMxMDkwYzNiZjU5YTYxNTg3YWZkNjFhZmVhNTY0MDBm
Mi4uZjdhNjM4YWE5MzkwNTdkNzM0ODA5MWFiNDI4MTM5Yzk5NGQwZDMwYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTI0MSw2ICsy
NDEsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1
dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRw
dXRzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0
aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRoZW50aWNh
dG9yQXR0YWNobWVudC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25z
ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0
aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRoZW50aWNhdG9yUmVzcG9uc2UuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA2MGMyMTdiNzM0OGJjZGE1M2E2YmM0YzY4MmNmZGVh
NDQ5NDEwYmI3Li4zZWRhMTBhOGM2N2M4MWYwN2M1NWNlM2E5MGMxZDYxM2YwOTNkYmQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQzNSw2ICs0MzUsNyBAQCBKU19CSU5ESU5H
X0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdGlv
bkV4dGVuc2lvbnNDbGllbnRJbnB1dHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
YXV0aG4vQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2Uu
aWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGFj
aG1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRv
ckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0
aG4vQXV0aGVudGljYXRvclJlc3BvbnNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YmF1dGhuL0F1dGhlbnRpY2F0b3JUcmFuc3BvcnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43NjdhYTA2YzdkYjdjODhmNmM3YWFiNzYzYmZjNTE1ZjRiZDhhOTIwCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9y
QXR0YWNobWVudC5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShXRUJfQVVUSE4pCisKKyNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgQXV0aGVudGljYXRvckF0dGFjaG1l
bnQgeworICAgIFBsYXRmb3JtLAorICAgIENyb3NzUGxhdGZvcm0KK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1U
cmFpdHM8V2ViQ29yZTo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ+IHsKKyAgICB1c2luZyB2YWx1
ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0YWNobWVu
dCwKKyAgICAgICAgV2ViQ29yZTo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtLAor
ICAgICAgICBXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6Q3Jvc3NQbGF0Zm9ybQor
ICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKKworI2VuZGlmIC8vIEVOQUJMRShXRUJf
QVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JBdHRhY2htZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4v
QXV0aGVudGljYXRvckF0dGFjaG1lbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyOWFkN2JkZGY1MmZkMDgy
NWE3YmIxMmQxYjcwYzg0ODk1NzJiOTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmlkbApAQCAtMCwwICsx
LDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9BVVRITiwKKyAgICBJ
bXBsZW1lbnRlZEFzPUF1dGhlbnRpY2F0b3JBdHRhY2htZW50CitdIGVudW0gQXV0aGVudGljYXRv
ckF0dGFjaG1lbnQgeworICAgICJwbGF0Zm9ybSIsCisgICAgImNyb3NzLXBsYXRmb3JtIgorfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3Jl
ZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmgKaW5kZXggYmMzMzExOGI1OGYz
NWZhODAzOGQ3ZDNjMGUzMzc3YzE0OWU3OGY3NC4uYmJlOTIyMTA2NzM3YmRlYzMzMWJhODY4YmU3
YWFmZDdkNGQwYjJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmgK
QEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQogI2luY2x1ZGUgIkF0dGVz
dGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkV4
dGVuc2lvbnNDbGllbnRJbnB1dHMuaCIKKyNpbmNsdWRlICJBdXRoZW50aWNhdG9yQXR0YWNobWVu
dC5oIgogI2luY2x1ZGUgIkJ1ZmZlclNvdXJjZS5oIgogI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRl
bnRpYWxEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCIK
QEAgLTM5LDExICs0MCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IFB1YmxpY0tl
eUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgewogI2lmIEVOQUJMRShXRUJfQVVUSE4pCi0gICAg
ZW51bSBjbGFzcyBBdXRoZW50aWNhdG9yQXR0YWNobWVudCB7Ci0gICAgICAgIFBsYXRmb3JtLAot
ICAgICAgICBDcm9zc1BsYXRmb3JtCi0gICAgfTsKLQogICAgIHN0cnVjdCBFbnRpdHkgewogICAg
ICAgICBTdHJpbmcgbmFtZTsKICAgICAgICAgU3RyaW5nIGljb247CkBAIC0yMDIsMTcgKzE5OCwz
IEBAIE9wdGlvbmFsPFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM+IFB1YmxpY0tl
eUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6CiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jaWYgRU5BQkxFKFdFQl9BVVRITikKLW5hbWVz
cGFjZSBXVEYgewotCi10ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlB1Ymxp
Y0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50PiB7
Ci0gICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKLSAgICAgICAgV2ViQ29yZTo6UHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQsCi0g
ICAgICAgIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhl
bnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSwKLSAgICAgICAgV2ViQ29yZTo6UHVibGljS2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OkNyb3Nz
UGxhdGZvcm0KLSAgICA+OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV1RGCi0jZW5kaWYgLy8gRU5B
QkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRs
CmluZGV4IGVjYjY3MDFjNmRjMjIzM2RiMTlmMDBjODg2ODEwOTgyMDAxNWJhNzguLmNlNjY1ZjQx
MzM4ODgyOTQ3OWVmZTYxZDQ1ZDU5NDI2NTU3MzU5NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zLmlkbApAQCAtNzUsMTAgKzc1LDMgQEAgdHlwZWRlZiBsb25nIENP
U0VBbGdvcml0aG1JZGVudGlmaWVyOwogICAgIGJvb2xlYW4gICAgICAgICAgICAgICAgICAgICAg
cmVxdWlyZVJlc2lkZW50S2V5ID0gZmFsc2U7CiAgICAgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVt
ZW50ICB1c2VyVmVyaWZpY2F0aW9uID0gInByZWZlcnJlZCI7CiB9OwotCi1bCi0gICAgQ29uZGl0
aW9uYWw9V0VCX0FVVEhOLAotXSBlbnVtIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50IHsKLSAgICAi
cGxhdGZvcm0iLAotICAgICJjcm9zcy1wbGF0Zm9ybSIKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9u
cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMuaAppbmRleCA3OWE1ZWM5ZDA5MWQwYTQ5NDQ0MmEyNWMzMTgxNGIxNDA0
MGRhYWRmLi5jZTE0MDg0MTdiNzkwYzViZDlkNWYxZTcyNGRiNGZhNWNhYjVlMzc3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxS
ZXF1ZXN0T3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVi
bGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmgKQEAgLTQyLDYgKzQyLDcgQEAgc3RydWN0
IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyB7CiAgICAgbXV0YWJsZSBTdHJpbmcg
cnBJZDsKICAgICBWZWN0b3I8UHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+IGFsbG93Q3Jl
ZGVudGlhbHM7CiAgICAgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50IHVzZXJWZXJpZmljYXRp
b24geyBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQ6OlByZWZlcnJlZCB9OworICAgIE9wdGlv
bmFsPEF1dGhlbnRpY2F0b3JBdHRhY2htZW50PiBhdXRoZW50aWNhdG9yQXR0YWNobWVudDsKICAg
ICBtdXRhYmxlIE9wdGlvbmFsPEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cz4g
ZXh0ZW5zaW9uczsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVu
Y29kZXImKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMzAwYWE4MDdkMWYwYTIwODY3YjU2MTdi
ZGI5ZGNiODgxNDg2ZGU0Ny4uNGI0MTVlOWZjYmQ0YjhkODY3ZGY1ZGE3ZTdjNjEzM2Y5YjE5NDBl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKQEAgLTI3OTksNiArMjc5OSw3IEBAIEpTQXVkaW9Xb3JrbGV0UHJv
Y2Vzc29yQ29uc3RydWN0b3IuY3BwCiBKU0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElu
cHV0cy5jcHAKIEpTQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cy5jcHAKIEpT
QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmNwcAorSlNBdXRoZW50aWNhdG9yQXR0YWNo
bWVudC5jcHAKIEpTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuY3BwCiBKU0F1dGhl
bnRpY2F0b3JSZXNwb25zZS5jcHAKIEpTQXV0aGVudGljYXRvclRyYW5zcG9ydC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0
MjhmOWUxZmNiZDU2NmZiNDk1YTJhNzEzNDYxMTcwNDk1ZDMwZmNlLi41MjgyZjY0OGI1MTVhMjI2
ZTFmMGZhMmNjYTdkMjFkMDVkMGJlNGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xOTE0LDYgKzE5MTQsOCBAQAogCQk1N0VF
QUE1MDFFOUZGQkZDMDA3MDExMjQgLyogQ3J5cHRvQWxnb3JpdGhtRWNkc2FQYXJhbXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RUVBQTREMUU5RkZC
RkMwMDcwMTEyNCAvKiBDcnlwdG9BbGdvcml0aG1FY2RzYVBhcmFtcy5oICovOyB9OwogCQk1N0VF
QUE1NTFFQTAwMUIxMDA3MDExMjQgLyogSlNFY2RzYVBhcmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdFRUFBNTMxRUEwMDFCMTAwNzAxMTI0IC8q
IEpTRWNkc2FQYXJhbXMuaCAqLzsgfTsKIAkJNTdFRjVFNjAxRDIwQzgzOTAwMTcxRTYwIC8qIFRl
eHRDb2RlY1JlcGxhY2VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1N0VGNUU1RjFEMjBDODM5MDAxNzFFNjAgLyogVGV4dENvZGVjUmVwbGFjZW1l
bnQuaCAqLzsgfTsKKwkJNTdGRTY4NzEyNjA1MkUzMTAwQkY0NUU0IC8qIEF1dGhlbnRpY2F0b3JB
dHRhY2htZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1N0ZFNjg2RTI2MDUyRTMxMDBCRjQ1RTQgLyogQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1N0ZFNjg3
NjI2MDU1Njg1MDBCRjQ1RTQgLyogSlNBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRTY4NzUyNjA1NTY4NTAw
QkY0NUU0IC8qIEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAqLzsgfTsKIAkJNTdGRUREM0Yx
REI2RDU5MjAwRUI5NkY1IC8qIENyeXB0b0FsZ29yaXRobVJzYUtleUdlblBhcmFtcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRUREM0UxREI2RDU5
MjAwRUI5NkY1IC8qIENyeXB0b0FsZ29yaXRobVJzYUtleUdlblBhcmFtcy5oICovOyB9OwogCQk1
N0ZFREQ0MTFEQjZENzNBMDBFQjk2RjUgLyogSlNSc2FLZXlHZW5QYXJhbXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkVERDQwMURCNkQ3M0EwMEVC
OTZGNSAvKiBKU1JzYUtleUdlblBhcmFtcy5oICovOyB9OwogCQk1ODAzNzE2MjFBNjZGMDBBMDBC
QUY1MTkgLyogQ2xpcFJlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU4MDM3MTYwMUE2NkYwMEEwMEJBRjUxOSAvKiBDbGlwUmVjdC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC05NDQ5LDYgKzk0NTEs
MTAgQEAKIAkJNTdFRjVFNjExRDIwRDI4NzAwMTcxRTYwIC8qIFRleHRDb2RlY1JlcGxhY2VtZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRDb2RlY1JlcGxh
Y2VtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGMUM4RTMyNURDNkVF
NzAwRThGNkVBIC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2EubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvY29h
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0Y4MjczOTFEQjcyQzIyMDA5RDJC
RjQgLyogUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSc2FIYXNoZWRLZXlHZW5QYXJh
bXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1N0ZFNjg2RTI2MDUyRTMxMDBC
RjQ1RTQgLyogQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXV0aGVu
dGljYXRvckF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTdGRTY4
NzAyNjA1MkUzMTAwQkY0NUU0IC8qIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBB
dXRoZW50aWNhdG9yQXR0YWNobWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTU3RkU2ODc1MjYwNTU2ODUwMEJGNDVFNCAvKiBKU0F1dGhlbnRpY2F0b3JBdHRhY2htZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNTdGRTY4NzcyNjA1NTY4RjAwQkY0NUU0IC8qIEpTQXV0aGVudGlj
YXRvckF0dGFjaG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBdXRoZW50aWNhdG9yQXR0
YWNobWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RkVERDNEMURCNkQ0
N0YwMEVCOTZGNSAvKiBSc2FLZXlHZW5QYXJhbXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJzYUtleUdlblBhcmFtcy5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RkVERDNFMURCNkQ1OTIwMEVCOTZG
NSAvKiBDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RkVERDQwMURCNkQ3M0EwMEVCOTZGNSAvKiBKU1JzYUtl
eUdlblBhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JzYUtleUdl
blBhcmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE2MDAsNiArMjE2MDYs
OCBAQAogCQkJCTU3NTg1OTZFMjM5RjM5NzkwMEM3NDU3MiAvKiBBdXRoZW50aWNhdG9yQXNzZXJ0
aW9uUmVzcG9uc2UuY3BwICovLAogCQkJCTU3MzAzQzI3MjAwOUIyRkMwMDM1NTk2NSAvKiBBdXRo
ZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaCAqLywKIAkJCQk1NzMwM0MyOTIwMDlCMkZDMDAz
NTU5NjUgLyogQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmlkbCAqLywKKwkJCQk1N0ZF
Njg2RTI2MDUyRTMxMDBCRjQ1RTQgLyogQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAqLywKKwkJ
CQk1N0ZFNjg3MDI2MDUyRTMxMDBCRjQ1RTQgLyogQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaWRs
ICovLAogCQkJCTU3NTg1OTZCMjM5RjI4NEIwMEM3NDU3MiAvKiBBdXRoZW50aWNhdG9yQXR0ZXN0
YXRpb25SZXNwb25zZS5jcHAgKi8sCiAJCQkJNTczMDNDMUIyMDA5QTk4NjAwMzU1OTY1IC8qIEF1
dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggKi8sCiAJCQkJNTczMDNDMUQyMDA5QTk4
NjAwMzU1OTY1IC8qIEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbCAqLywKQEAg
LTIxNjQzLDYgKzIxNjUxLDggQEAKIAkJCQk1NzU4NTk1RTIzOUYxMTczMDBDNzQ1NzIgLyogSlNB
dXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzLmggKi8sCiAJCQkJNTczMDNDMkUy
MDA5QjdEQTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmNwcCAq
LywKIAkJCQk1NzMwM0MyRDIwMDlCN0Q5MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXNzZXJ0
aW9uUmVzcG9uc2UuaCAqLywKKwkJCQk1N0ZFNjg3NzI2MDU1NjhGMDBCRjQ1RTQgLyogSlNBdXRo
ZW50aWNhdG9yQXR0YWNobWVudC5jcHAgKi8sCisJCQkJNTdGRTY4NzUyNjA1NTY4NTAwQkY0NUU0
IC8qIEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAqLywKIAkJCQk1NzMwM0MyMDIwMDlBRUY1
MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5jcHAgKi8sCiAJ
CQkJNTczMDNDMjEyMDA5QUVGNjAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckF0dGVzdGF0aW9u
UmVzcG9uc2UuaCAqLywKIAkJCQk1NzMwM0JERTIwMDk1QjI3MDAzNTU5NjUgLyogSlNBdXRoZW50
aWNhdG9yUmVzcG9uc2UuY3BwICovLApAQCAtMzE0MzQsNiArMzE0NDQsNyBAQAogCQkJCTU3NTg1
OTZDMjM5RjMyMUMwMEM3NDU3MiAvKiBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRw
dXRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTRDNzY0QzBDRTkyMzRFMDA3RUYzQ0QgLyogQXV0
aGVudGljYXRpb25NYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MzAzQzJDMjAwOUI0QTgwMDM1
NTk2NSAvKiBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAor
CQkJCTU3RkU2ODcxMjYwNTJFMzEwMEJGNDVFNCAvKiBBdXRoZW50aWNhdG9yQXR0YWNobWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTczMDNDMUYyMDA5QUI0MjAwMzU1OTY1IC8qIEF1dGhlbnRp
Y2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzMwM0M0NjIw
MTA1RDJGMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1NzYwODI3MjIwMjE1QTU1MDAxMTY2NzggLyogQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMyOTE1LDYgKzMyOTI2LDcgQEAKIAkJCQk1
N0QxMzUyQTIyOTRBQTM5MDA4Mjc0MDEgLyogSlNBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGll
bnRJbnB1dHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3NTg1OTYxMjM5RjEyNEQwMEM3NDU3MiAv
KiBKU0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTU3MzAzQzJGMjAwOUI3RTEwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTdGRTY4NzYyNjA1NTY4NTAwQkY0NUU0
IC8qIEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MzAz
QzIyMjAwOUFGMDMwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzMwM0JFMTIwMDk1RDYxMDAzNTU5NjUgLyogSlNBdXRo
ZW50aWNhdG9yUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RENFRDk4MjE0ODgyMTYw
MDE2Qjg0NyAvKiBKU0F1dGhlbnRpY2F0b3JUcmFuc3BvcnQuaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0
b3JBdHRhY2htZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0
aGVudGljYXRvckF0dGFjaG1lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjY4MGU1OWE1ZWRlMjNmYjQyNTY3
NzM5MmMzMWMwZWMwOGQyZjFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmgKQEAgLTAsMCArMSwz
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0IDxXZWJLaXQvV0tGb3Vu
ZGF0aW9uLmg+CisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0F1dGhlbnRpY2F0b3JB
dHRhY2htZW50KSB7CisgICAgX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnRBbGwsCisgICAgX1dL
QXV0aGVudGljYXRvckF0dGFjaG1lbnRQbGF0Zm9ybSwKKyAgICBfV0tBdXRoZW50aWNhdG9yQXR0
YWNobWVudENyb3NzUGxhdGZvcm0sCit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RC
QSksIGlvcyhXS19JT1NfVEJBKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRl
cmlhLmgKaW5kZXggODBhYTgzZDZkMWNkZWVhY2IxMjQ1OTRlNDY1YTdmMmIyZjAyMmQ1MC4uZjNi
NTljZWYwYWI5YTE5ZDM5NGE3YzZhY2IzNTVkYTU4ZGE3N2Q1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0
ZXJpYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50
aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEuaApAQCAtMjgsMTYgKzI4LDExIEBACiAjaW1wb3J0IDxX
ZWJLaXQvV0tGb3VuZGF0aW9uLmg+CiAKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5o
PgorI2ltcG9ydCA8V2ViS2l0L19XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50Lmg+CiAjaW1wb3J0
IDxXZWJLaXQvX1dLVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50Lmg+CiAKIE5TX0FTU1VNRV9O
T05OVUxMX0JFR0lOCiAKLXR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0F1dGhlbnRpY2F0
b3JBdHRhY2htZW50KSB7Ci0gICAgX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnRBbGwsCi0gICAg
X1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnRQbGF0Zm9ybSwKLSAgICBfV0tBdXRoZW50aWNhdG9y
QXR0YWNobWVudENyb3NzUGxhdGZvcm0sCi19IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci0KIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvcyhXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQogQGludGVyZmFjZSBfV0tBdXRoZW50aWNhdG9yU2Vs
ZWN0aW9uQ3JpdGVyaWEgOiBOU09iamVjdAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zLmgKaW5kZXggOWI4N2JhZmRiMDU2ZTVlNWE4NGNmZDNlNmIxOWM0OTcw
MGIxYzEwOC4uYmY4OWY5OGRjYzU2NGZhNWUzYzdkYjYxYWFjMDQ2NjEwOGViZDA2OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1B1YmxpY0tleUNyZWRl
bnRpYWxSZXF1ZXN0T3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaApAQCAtMjgsNiArMjgs
NyBAQAogI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgogCiAjaW1wb3J0IDxGb3VuZGF0
aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tBdXRoZW50aWNhdG9yQXR0YWNo
bWVudC5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1VzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudC5o
PgogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgpAQCAtNDMsNiArNDQsOCBAQCBXS19DTEFTU19B
VkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKIEBwcm9wZXJ0eSAo
bnVsbGFibGUsIG5vbmF0b21pYywgY29weSkgTlNBcnJheTxfV0tQdWJsaWNLZXlDcmVkZW50aWFs
RGVzY3JpcHRvciAqPiAqYWxsb3dDcmVkZW50aWFsczsKIC8qIUBkaXNjdXNzaW9uIFRoZSBkZWZh
dWx0IHZhbHVlIGlzIF9XS1VzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudFByZWZlcnJlZC4qLwog
QHByb3BlcnR5IChub25hdG9taWMpIF9XS1VzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudCB1c2Vy
VmVyaWZpY2F0aW9uOworLyohQGRpc2N1c3Npb24gVGhlIGRlZmF1bHQgdmFsdWUgaXMgX1dLQXV0
aGVudGljYXRvckF0dGFjaG1lbnRBbGwuKi8KK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBfV0tBdXRo
ZW50aWNhdG9yQXR0YWNobWVudCBhdXRoZW50aWNhdG9yQXR0YWNobWVudDsKIEBwcm9wZXJ0eSAo
bnVsbGFibGUsIG5vbmF0b21pYywgc3Ryb25nKSBfV0tBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnND
bGllbnRJbnB1dHMgKmV4dGVuc2lvbnM7CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3Jl
ZGVudGlhbFJlcXVlc3RPcHRpb25zLm1tCmluZGV4IDgyOGY1YjgzYmExYjQyNTJmNDVlNmY3ZGM4
YjExY2Q5NmVjYWRjOGYuLmZlOThjMTYwOGUzYzNkMjQ0M2MxNjc5YjNmYWNjN2NlNzU5YzUzZTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNL
ZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5tbQpAQCAt
MzQsNiArMzQsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgICAgICByZXR1cm4gbmlsOwog
CiAgICAgc2VsZi51c2VyVmVyaWZpY2F0aW9uID0gX1dLVXNlclZlcmlmaWNhdGlvblJlcXVpcmVt
ZW50UHJlZmVycmVkOworICAgIHNlbGYuYXV0aGVudGljYXRvckF0dGFjaG1lbnQgPSBfV0tBdXRo
ZW50aWNhdG9yQXR0YWNobWVudEFsbDsKICAgICByZXR1cm4gc2VsZjsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9u
UGFuZWwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbC5tbQppbmRleCAxNDUxNTFlZjBjYmQzNzVmYzk3NTRkN2VjODY5MzcxNjM0
MDE4MjI1Li5mZTc1MTk3MzlkZjJlZDJlMzdmZWVkMGQ0OWRkNDZkM2VkNmY2MTQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vi
QXV0aGVudGljYXRpb25QYW5lbC5tbQpAQCAtMzYzLDE1ICszNjMsMTUgQEAgc3RhdGljIFZlY3Rv
cjxXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcj4gcHVibGljS2V5Q3JlZGVu
dGlhbERlc2NyaXAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMgT3B0aW9uYWw8V2Vi
Q29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0
dGFjaG1lbnQ+IGF1dGhlbnRpY2F0b3JBdHRhY2htZW50KF9XS0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50IGF0dGFjaG1lbnQpCitzdGF0aWMgT3B0aW9uYWw8V2ViQ29yZTo6QXV0aGVudGljYXRvckF0
dGFjaG1lbnQ+IGF1dGhlbnRpY2F0b3JBdHRhY2htZW50KF9XS0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50IGF0dGFjaG1lbnQpCiB7CiAgICAgc3dpdGNoIChhdHRhY2htZW50KSB7CiAgICAgY2FzZSBf
V0tBdXRoZW50aWNhdG9yQXR0YWNobWVudEFsbDoKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKICAgICBjYXNlIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50UGxhdGZvcm06Ci0gICAgICAg
IHJldHVybiBXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRo
ZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm07CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpB
dXRoZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm07CiAgICAgY2FzZSBfV0tBdXRoZW50aWNh
dG9yQXR0YWNobWVudENyb3NzUGxhdGZvcm06Ci0gICAgICAgIHJldHVybiBXZWJDb3JlOjpQdWJs
aWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6
Q3Jvc3NQbGF0Zm9ybTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBdHRh
Y2htZW50OjpDcm9zc1BsYXRmb3JtOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpAQCAtNDg2LDYgKzQ4Niw3
IEBAICsgKFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyljb252ZXJ0
VG9Db3JlUmVxdWVzdE9wdGlvbnNXaXRoT3B0CiAgICAgaWYgKG9wdGlvbnMuYWxsb3dDcmVkZW50
aWFscykKICAgICAgICAgcmVzdWx0LmFsbG93Q3JlZGVudGlhbHMgPSBwdWJsaWNLZXlDcmVkZW50
aWFsRGVzY3JpcHRvcnMob3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzKTsKICAgICByZXN1bHQudXNl
clZlcmlmaWNhdGlvbiA9IHVzZXJWZXJpZmljYXRpb24ob3B0aW9ucy51c2VyVmVyaWZpY2F0aW9u
KTsKKyAgICByZXN1bHQuYXV0aGVudGljYXRvckF0dGFjaG1lbnQgPSBhdXRoZW50aWNhdG9yQXR0
YWNobWVudChvcHRpb25zLmF1dGhlbnRpY2F0b3JBdHRhY2htZW50KTsKICAgICByZXN1bHQuZXh0
ZW5zaW9ucyA9IGF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyhvcHRpb25zLmV4
dGVuc2lvbnMpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcApp
bmRleCAzMTQ0NWRmNGY4NjIwYjg4MDI3MGEzMzJjZjRlZmY1YTI0YTEyM2FhLi40ZWI1YzEyNTUy
ZWNhOGQ2MzQ5YmNhMjIxZWMxYjJlMjFkZTMxNjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRv
ck1hbmFnZXIuY3BwCkBAIC02NSwxMiArNjUsMTIgQEAgc3RhdGljIEF1dGhlbnRpY2F0b3JNYW5h
Z2VyOjpUcmFuc3BvcnRTZXQgY29sbGVjdFRyYW5zcG9ydHMoY29uc3QgT3B0aW9uYWw8UHVibGkK
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICBpZiAoYXV0aGVudGljYXRvclNl
bGVjdGlvbi0+YXV0aGVudGljYXRvckF0dGFjaG1lbnQgPT0gUHVibGljS2V5Q3JlZGVudGlhbENy
ZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtKSB7CisgICAg
aWYgKGF1dGhlbnRpY2F0b3JTZWxlY3Rpb24tPmF1dGhlbnRpY2F0b3JBdHRhY2htZW50ID09IEF1
dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSkgewogICAgICAgICBhdXRvIGFkZFJlc3Vs
dCA9IHJlc3VsdC5hZGQoQXV0aGVudGljYXRvclRyYW5zcG9ydDo6SW50ZXJuYWwpOwogICAgICAg
ICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICBpZiAoYXV0aGVudGljYXRvclNlbGVjdGlvbi0+
YXV0aGVudGljYXRvckF0dGFjaG1lbnQgPT0gUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0
aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OkNyb3NzUGxhdGZvcm0pIHsKKyAgICBpZiAo
YXV0aGVudGljYXRvclNlbGVjdGlvbi0+YXV0aGVudGljYXRvckF0dGFjaG1lbnQgPT0gQXV0aGVu
dGljYXRvckF0dGFjaG1lbnQ6OkNyb3NzUGxhdGZvcm0pIHsKICAgICAgICAgYXV0byBhZGRSZXN1
bHQgPSByZXN1bHQuYWRkKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6OlVzYik7CiAgICAgICAgIEFT
U0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgICAgIGFk
ZFJlc3VsdCA9IHJlc3VsdC5hZGQoQXV0aGVudGljYXRvclRyYW5zcG9ydDo6TmZjKTsKQEAgLTg3
LDcgKzg3LDcgQEAgc3RhdGljIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpUcmFuc3BvcnRTZXQgY29s
bGVjdFRyYW5zcG9ydHMoY29uc3QgT3B0aW9uYWw8UHVibGkKIC8vIElmIGl0IGlzIG5vdCBzcGVj
aWZpZWQgb3IgYW55IG9mIGl0cyBjcmVkZW50aWFscyBkb2Vzbid0IHNwZWNpZnkgaXRzIG93bi4g
V2Ugc2hvdWxkIGRpc2NvdmVyIGFsbC4KIC8vIFRoaXMgaXMgYSB2YXJpYW50IG9mIFN0ZXAuIDE4
LiouNCBmcm9tIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93ZWJhdXRobi8jZGlzY292ZXItZnJvbS1l
eHRlcm5hbC1zb3VyY2UKIC8vIGFzIG9mIDcgQXVndXN0IDIwMTguCi1zdGF0aWMgQXV0aGVudGlj
YXRvck1hbmFnZXI6OlRyYW5zcG9ydFNldCBjb2xsZWN0VHJhbnNwb3J0cyhjb25zdCBWZWN0b3I8
UHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+JiBhbGxvd0NyZWRlbnRpYWxzKQorc3RhdGlj
IEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpUcmFuc3BvcnRTZXQgY29sbGVjdFRyYW5zcG9ydHMoY29u
c3QgVmVjdG9yPFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yPiYgYWxsb3dDcmVkZW50aWFs
cywgY29uc3QgT3B0aW9uYWw8QXV0aGVudGljYXRvckF0dGFjaG1lbnQ+JiBhdXRoZW50aWNhdG9y
QXR0YWNobWVudCkKIHsKICAgICBBdXRoZW50aWNhdG9yTWFuYWdlcjo6VHJhbnNwb3J0U2V0IHJl
c3VsdDsKICAgICBpZiAoYWxsb3dDcmVkZW50aWFscy5pc0VtcHR5KCkpIHsKQEAgLTk3LDcgKzk3
LDYgQEAgc3RhdGljIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpUcmFuc3BvcnRTZXQgY29sbGVjdFRy
YW5zcG9ydHMoY29uc3QgVmVjdG9yPFB1YmxpY0sKICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRS
ZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgYWRkUmVzdWx0ID0gcmVzdWx0
LmFkZChBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpOZmMpOwogICAgICAgICBBU1NFUlRfVU5VU0VE
KGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwotICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KIAogICAgIGZvciAoYXV0byYgYWxsb3dDcmVkZW50aWFsIDogYWxsb3dDcmVkZW50
aWFscykgewpAQCAtMTA1LDE5ICsxMDQsMzIgQEAgc3RhdGljIEF1dGhlbnRpY2F0b3JNYW5hZ2Vy
OjpUcmFuc3BvcnRTZXQgY29sbGVjdFRyYW5zcG9ydHMoY29uc3QgVmVjdG9yPFB1YmxpY0sKICAg
ICAgICAgICAgIHJlc3VsdC5hZGQoQXV0aGVudGljYXRvclRyYW5zcG9ydDo6SW50ZXJuYWwpOwog
ICAgICAgICAgICAgcmVzdWx0LmFkZChBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpVc2IpOwogICAg
ICAgICAgICAgcmVzdWx0LmFkZChBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpOZmMpOwotICAgICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKKworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAog
ICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHRyYW5zcG9ydCA6IGFsbG93Q3JlZGVudGlhbC50cmFu
c3BvcnRzKSB7CiAgICAgICAgICAgICBpZiAodHJhbnNwb3J0ID09IEF1dGhlbnRpY2F0b3JUcmFu
c3BvcnQ6OkJsZSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAgICAgcmVz
dWx0LmFkZCh0cmFuc3BvcnQpOworCiAgICAgICAgICAgICBpZiAocmVzdWx0LnNpemUoKSA+PSBB
dXRoZW50aWNhdG9yTWFuYWdlcjo6bWF4VHJhbnNwb3J0TnVtYmVyKQotICAgICAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9
CiAKLSAgICBBU1NFUlQocmVzdWx0LnNpemUoKSA8IEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjptYXhU
cmFuc3BvcnROdW1iZXIpOworICAgIGlmIChhdXRoZW50aWNhdG9yQXR0YWNobWVudCkgeworICAg
ICAgICBpZiAoYXV0aGVudGljYXRvckF0dGFjaG1lbnQgPT0gQXV0aGVudGljYXRvckF0dGFjaG1l
bnQ6OlBsYXRmb3JtKSB7CisgICAgICAgICAgICByZXN1bHQucmVtb3ZlKEF1dGhlbnRpY2F0b3JU
cmFuc3BvcnQ6OlVzYik7CisgICAgICAgICAgICByZXN1bHQucmVtb3ZlKEF1dGhlbnRpY2F0b3JU
cmFuc3BvcnQ6Ok5mYyk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoYXV0aGVudGljYXRvckF0
dGFjaG1lbnQgPT0gQXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OkNyb3NzUGxhdGZvcm0pCisgICAg
ICAgICAgICByZXN1bHQucmVtb3ZlKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6OkludGVybmFsKTsK
KyAgICB9CisKKyAgICBBU1NFUlQocmVzdWx0LnNpemUoKSA8PSBBdXRoZW50aWNhdG9yTWFuYWdl
cjo6bWF4VHJhbnNwb3J0TnVtYmVyKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC01MDAs
NyArNTEyLDcgQEAgYXV0byBBdXRoZW50aWNhdG9yTWFuYWdlcjo6Z2V0VHJhbnNwb3J0cygpIGNv
bnN0IC0+IFRyYW5zcG9ydFNldAogICAgICAgICB0cmFuc3BvcnRzID0gY29sbGVjdFRyYW5zcG9y
dHMob3B0aW9ucy5hdXRoZW50aWNhdG9yU2VsZWN0aW9uKTsKICAgICAgICAgcHJvY2Vzc0dvb2ds
ZUxlZ2FjeUFwcElkU3VwcG9ydEV4dGVuc2lvbihvcHRpb25zLmV4dGVuc2lvbnMsIHRyYW5zcG9y
dHMpOwogICAgIH0sIFsmXShjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMm
IG9wdGlvbnMpIHsKLSAgICAgICAgdHJhbnNwb3J0cyA9IGNvbGxlY3RUcmFuc3BvcnRzKG9wdGlv
bnMuYWxsb3dDcmVkZW50aWFscyk7CisgICAgICAgIHRyYW5zcG9ydHMgPSBjb2xsZWN0VHJhbnNw
b3J0cyhvcHRpb25zLmFsbG93Q3JlZGVudGlhbHMsIG9wdGlvbnMuYXV0aGVudGljYXRvckF0dGFj
aG1lbnQpOwogICAgIH0pOwogICAgIGZpbHRlclRyYW5zcG9ydHModHJhbnNwb3J0cyk7CiAgICAg
cmV0dXJuIHRyYW5zcG9ydHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA2Yzc3ZDBkMTU1M2VkODk4NjlkMmExMDlhOThmNzU1NTAwYmUw
ZTRhLi5hZmYyMTVhZTlmMzg1YjQ1MGMzODYzNWJmYTRkOTFlZGQzYWQ5NDFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMTQsNiAr
MTIxNCw3IEBACiAJCTU3RkQzMTg1MjJCMzUxNjkwMDhEMEU4QiAvKiBTT0F1dGhvcml6YXRpb25T
ZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
N0ZEMzE3QzIyQjM1MTRBMDA4RDBFOEIgLyogU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oICovOyB9
OwogCQk1N0ZEMzE4NjIyQjM1MTZDMDA4RDBFOEIgLyogU3ViRnJhbWVTT0F1dGhvcml6YXRpb25T
ZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
N0ZEMzE3RDIyQjM1MTRBMDA4RDBFOEIgLyogU3ViRnJhbWVTT0F1dGhvcml6YXRpb25TZXNzaW9u
LmggKi87IH07CiAJCTU3RkQzMTg3MjJCMzUxNzAwMDhEMEU4QiAvKiBXS1NPQXV0aG9yaXphdGlv
bkRlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1N0ZEMzE3MTIyQjM1MTQ4MDA4RDBFOEIgLyogV0tTT0F1dGhvcml6YXRpb25EZWxlZ2F0ZS5o
ICovOyB9OworCQk1N0ZFNjg2RDI2MDQ4Mjc4MDBCRjQ1RTQgLyogX1dLQXV0aGVudGljYXRvckF0
dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU3RkU2ODZDMjYwNDgyNzgwMEJGNDVFNCAvKiBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDMEIx
Nzc4MUU3Qzg4MEUwMEU5MTIzQyAvKiBOZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDMEIx
Nzc0MUU3Qzg3OUMwMEU5MTIzQyAvKiBOZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLzsgfTsKIAkJNUMwQjE3NzkxRTdDODgyMTAwRTkxMjNDIC8qIFdlYlNvY2tldFN0cmVh
bU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1QzBCMTc3NjFFN0M4NzlDMDBFOTEyM0MgLyogV2ViU29ja2V0U3RyZWFtTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNUMxMjFFODQyNDEwMjA4RDAwNDg2RjlCIC8qIEZy
YW1lVHJlZU5vZGVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1QzEyMUU4MzI0MTAxRjcwMDA0ODZGOUIgLyogRnJhbWVUcmVlTm9kZURhdGEuaCAq
LzsgfTsKQEAgLTQzMjIsNiArNDMyMyw3IEBACiAJCTU3RkQzMTdEMjJCMzUxNEEwMDhEMEU4QiAv
KiBTdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3ViRnJhbWVTT0F1dGhvcml6YXRpb25TZXNzaW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTU3RkQzMTdFMjJCMzUxNEEwMDhEMEU4QiAvKiBXS1NPQXV0aG9y
aXphdGlvbkRlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gV0tTT0F1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTdGRDMxN0YyMkIzNTE0QTAwOEQwRThCIC8qIFNPQXV0aG9yaXphdGlvblNlc3Npb24u
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTT0F1dGhvcml6YXRp
b25TZXNzaW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1N0ZFNjg2QzI2MDQ4
Mjc4MDBCRjQ1RTQgLyogX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNUMwMDk5M0IyNDE3RkI3RTAwRDUzQzI1IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NQ
YXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVD
MEExMEMxMjM1MjQxQTMwMDUzRTJDQSAvKiBOZXR3b3JrU2NoZW1lUmVnaXN0cnkuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya1NjaGVtZVJlZ2lzdHJ5LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUMwQjE3NzQxRTdDODc5QzAwRTkxMjND
IC8qIE5ldHdvcmtTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtTb2NrZXRTdHJlYW1N
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwpA
QCAtNzgwNCw2ICs3ODA2LDcgQEAKIAkJCQk1NzkwQTY4NjI1NjdBMjhBMDA3N0M1QTcgLyogX1dL
QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmggKi8sCiAJCQkJNTc5MEE2ODcyNTY3QTI4
QTAwNzdDNUE3IC8qIF9XS0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5tbSAqLywKIAkJ
CQk1NzkwQTY4RTI1NjdCNENGMDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRvckFzc2VydGlvblJl
c3BvbnNlSW50ZXJuYWwuaCAqLywKKwkJCQk1N0ZFNjg2QzI2MDQ4Mjc4MDBCRjQ1RTQgLyogX1dL
QXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAqLywKIAkJCQk1NzkwQTY4MjI1NjdBMjFFMDA3N0M1
QTcgLyogX1dLQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCAqLywKIAkJCQk1Nzkw
QTY4MzI1NjdBMjFFMDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9u
c2UubW0gKi8sCiAJCQkJNTc5MEE2OEMyNTY3QjQ0OTAwNzdDNUE3IC8qIF9XS0F1dGhlbnRpY2F0
b3JBdHRlc3RhdGlvblJlc3BvbnNlSW50ZXJuYWwuaCAqLywKQEAgLTExNDU0LDYgKzExNDU3LDcg
QEAKIAkJCQk1NzkwQTY5MTI1NjdCNUUwMDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRpb25FeHRl
bnNpb25zQ2xpZW50T3V0cHV0c0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzkwQTY4
ODI1NjdBMjhBMDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1NzkwQTY4RjI1NjdCNENGMDA3N0M1QTcgLyogX1dLQXV0aGVu
dGljYXRvckFzc2VydGlvblJlc3BvbnNlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTU3
RkU2ODZEMjYwNDgyNzgwMEJGNDVFNCAvKiBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTc5MEE2ODQyNTY3QTIxRTAwNzdDNUE3IC8qIF9XS0F1dGhlbnRp
Y2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzkwQTY4RDI1
NjdCNDQ5MDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2VJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc5MEE2ODAyNTY3QTFBQzAwNzdDNUE3IC8qIF9X
S0F1dGhlbnRpY2F0b3JSZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGM4YmU3M2EwYzNiM2UxNGVjZTEw
ODA3ZWJiYzkxOTgzZThlM2RmYy4uMjFmNDM0OTczNmI5ZmZmMDgxYjc1M2RmN2IyYzI1ZjMzM2Y2
ZjViMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTE5ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHdheSB0byBzcGVjaWZ5IHBsYXRmb3JtIHZzIHNl
Y3VyaXR5IGtleSB3aGVuIHJlcXVlc3RpbmcgYW4gYXNzZXJ0aW9uIGluIHRoZSBTUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU0NworICAgICAg
ICByZGFyOi8vNzQwMzQ3NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DdGFwUmVxdWVzdFRlc3Qu
Y3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIEFkZHMgdGhlIHRlc3QgY2FzZS4K
KwogMjAyMS0wMy0yMiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIHVudXNlZCBKUyBhbmQgQ1NTIGZpbGVzIG9mIG1lZGlhIGNvbnRyb2xzCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ3RhcFJlcXVlc3RUZXN0
LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DdGFwUmVxdWVzdFRlc3Qu
Y3BwCmluZGV4IGYxMzlkMjUyN2U2YmQ4Yzg1YTg1NzcwMzFmZDgwZWNmNWI4NzFiMmMuLjY1ZWFj
ZDAzOTJmN2VjMWJkNDBhNDUzNjMwNGMyZDMyODEzMTZjZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DdGFwUmVxdWVzdFRlc3QuY3BwCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DdGFwUmVxdWVzdFRlc3QuY3BwCkBAIC01OSw3
ICs1OSw3IEBAIFRFU1QoQ1RBUFJlcXVlc3RUZXN0LCBUZXN0Q29uc3RydWN0TWFrZUNyZWRlbnRp
YWxSZXF1ZXN0UGFyYW0pCiAgICAgdXNlci5kaXNwbGF5TmFtZSA9ICJKb2huIFAuIFNtaXRoIjsK
IAogICAgIFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpQYXJhbWV0
ZXJzPiBwYXJhbXMgeyB7IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlOjpQdWJsaWNLZXksIDcgfSwg
eyBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZTo6UHVibGljS2V5LCAyNTcgfSB9OwotICAgIFB1Ymxp
Y0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0
ZXJpYSBzZWxlY3Rpb24geyBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRo
ZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0sIHRydWUsIFVzZXJWZXJpZmljYXRpb25SZXF1
aXJlbWVudDo6UHJlZmVycmVkIH07CisgICAgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0
aW9uczo6QXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhIHNlbGVjdGlvbiB7IEF1dGhlbnRp
Y2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSwgdHJ1ZSwgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVt
ZW50OjpQcmVmZXJyZWQgfTsKIAogICAgIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnMgb3B0aW9ucyB7IHJwLCB1c2VyLCB7IH0sIHBhcmFtcywgV1RGOjpudWxsb3B0LCB7IH0sIHNl
bGVjdGlvbiwgQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZTo6Tm9uZSwgV1RGOjpudWxs
b3B0IH07CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IGhhc2g7CkBAIC04Miw3ICs4Miw3IEBAIFRFU1Qo
Q1RBUFJlcXVlc3RUZXN0LCBUZXN0Q29uc3RydWN0TWFrZUNyZWRlbnRpYWxSZXF1ZXN0UGFyYW1O
b1VWTm9SSykKICAgICB1c2VyLmRpc3BsYXlOYW1lID0gIkpvaG4gUC4gU21pdGgiOwogCiAgICAg
VmVjdG9yPFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OlBhcmFtZXRlcnM+IHBh
cmFtcyB7IHsgUHVibGljS2V5Q3JlZGVudGlhbFR5cGU6OlB1YmxpY0tleSwgNyB9LCB7IFB1Ymxp
Y0tleUNyZWRlbnRpYWxUeXBlOjpQdWJsaWNLZXksIDI1NyB9IH07Ci0gICAgUHVibGljS2V5Q3Jl
ZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhIHNl
bGVjdGlvbiB7IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0
b3JBdHRhY2htZW50OjpQbGF0Zm9ybSwgZmFsc2UsIFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVu
dDo6RGlzY291cmFnZWQgfTsKKyAgICBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25z
OjpBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEgc2VsZWN0aW9uIHsgQXV0aGVudGljYXRv
ckF0dGFjaG1lbnQ6OlBsYXRmb3JtLCBmYWxzZSwgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50
OjpEaXNjb3VyYWdlZCB9OwogCiAgICAgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cyBvcHRpb25zIHsgcnAsIHVzZXIsIHsgfSwgcGFyYW1zLCBXVEY6Om51bGxvcHQsIHsgfSwgc2Vs
ZWN0aW9uLCBBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlOjpOb25lLCBXVEY6Om51bGxv
cHQgfTsKICAgICBWZWN0b3I8dWludDhfdD4gaGFzaDsKQEAgLTEwNSw3ICsxMDUsNyBAQCBURVNU
KENUQVBSZXF1ZXN0VGVzdCwgVGVzdENvbnN0cnVjdE1ha2VDcmVkZW50aWFsUmVxdWVzdFBhcmFt
VVZSZXF1aXJlZEJ1dE5vdFN1cAogICAgIHVzZXIuZGlzcGxheU5hbWUgPSAiSm9obiBQLiBTbWl0
aCI7CiAKICAgICBWZWN0b3I8UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6UGFy
YW1ldGVycz4gcGFyYW1zIHsgeyBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZTo6UHVibGljS2V5LCA3
IH0sIHsgUHVibGljS2V5Q3JlZGVudGlhbFR5cGU6OlB1YmxpY0tleSwgMjU3IH0gfTsKLSAgICBQ
dWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yU2VsZWN0aW9u
Q3JpdGVyaWEgc2VsZWN0aW9uIHsgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6
QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtLCBmYWxzZSwgVXNlclZlcmlmaWNhdGlv
blJlcXVpcmVtZW50OjpSZXF1aXJlZCB9OworICAgIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlv
bk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYSBzZWxlY3Rpb24geyBBdXRo
ZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0sIGZhbHNlLCBVc2VyVmVyaWZpY2F0aW9uUmVx
dWlyZW1lbnQ6OlJlcXVpcmVkIH07CiAKICAgICBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zIG9wdGlvbnMgeyBycCwgdXNlciwgeyB9LCBwYXJhbXMsIFdURjo6bnVsbG9wdCwgeyB9
LCBzZWxlY3Rpb24sIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2U6Ok5vbmUsIFdURjo6
bnVsbG9wdCB9OwogICAgIFZlY3Rvcjx1aW50OF90PiBoYXNoOwpAQCAtMTI4LDcgKzEyOCw3IEBA
IFRFU1QoQ1RBUFJlcXVlc3RUZXN0LCBUZXN0Q29uc3RydWN0TWFrZUNyZWRlbnRpYWxSZXF1ZXN0
UGFyYW1XaXRoUGluKQogICAgIHVzZXIuZGlzcGxheU5hbWUgPSAiSm9obiBQLiBTbWl0aCI7CiAK
ICAgICBWZWN0b3I8UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6UGFyYW1ldGVy
cz4gcGFyYW1zIHsgeyBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZTo6UHVibGljS2V5LCA3IH0sIHsg
UHVibGljS2V5Q3JlZGVudGlhbFR5cGU6OlB1YmxpY0tleSwgMjU3IH0gfTsKLSAgICBQdWJsaWNL
ZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVy
aWEgc2VsZWN0aW9uIHsgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVu
dGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtLCB0cnVlLCBVc2VyVmVyaWZpY2F0aW9uUmVxdWly
ZW1lbnQ6OlByZWZlcnJlZCB9OworICAgIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnM6OkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYSBzZWxlY3Rpb24geyBBdXRoZW50aWNh
dG9yQXR0YWNobWVudDo6UGxhdGZvcm0sIHRydWUsIFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVu
dDo6UHJlZmVycmVkIH07CiAKICAgICBQaW5QYXJhbWV0ZXJzIHBpbjsKICAgICBwaW4ucHJvdG9j
b2wgPSBwaW46OmtQcm90b2NvbFZlcnNpb247CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFu
ZWwubW0KaW5kZXggY2M0ZmJjMDZmN2MzMTA0MDk3YTc0MzljODdkNDc3MDBhMTI2ZGIwNC4uZjA0
YmFlZGE3MzhmZjIyYzBhNTJmMDllNGYwZDQ5ZDEzNDVmNWRkMiAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVs
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0
aGVudGljYXRpb25QYW5lbC5tbQpAQCAtMTY0Nyw3ICsxNjQ3LDcgQEAgVEVTVChXZWJBdXRoZW50
aWNhdGlvblBhbmVsLCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zTWF4aW11bTEp
CiAgICAgRVhQRUNUX0VRKHJlc3VsdC5leGNsdWRlQ3JlZGVudGlhbHNbMF0udHJhbnNwb3J0c1sx
XSwgQXV0aGVudGljYXRvclRyYW5zcG9ydDo6TmZjKTsKICAgICBFWFBFQ1RfRVEocmVzdWx0LmV4
Y2x1ZGVDcmVkZW50aWFsc1swXS50cmFuc3BvcnRzWzJdLCBBdXRoZW50aWNhdG9yVHJhbnNwb3J0
OjpJbnRlcm5hbCk7CiAKLSAgICBFWFBFQ1RfRVEocmVzdWx0LmF1dGhlbnRpY2F0b3JTZWxlY3Rp
b24tPmF1dGhlbnRpY2F0b3JBdHRhY2htZW50LCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0pOworICAgIEVYUEVDVF9F
UShyZXN1bHQuYXV0aGVudGljYXRvclNlbGVjdGlvbi0+YXV0aGVudGljYXRvckF0dGFjaG1lbnQs
IEF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSk7CiAgICAgRVhQRUNUX0VRKHJlc3Vs
dC5hdXRoZW50aWNhdG9yU2VsZWN0aW9uLT5yZXF1aXJlUmVzaWRlbnRLZXksIHRydWUpOwogICAg
IEVYUEVDVF9FUShyZXN1bHQuYXV0aGVudGljYXRvclNlbGVjdGlvbi0+dXNlclZlcmlmaWNhdGlv
biwgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpSZXF1aXJlZCk7CiAKQEAgLTE3MTcsNyAr
MTcxNyw3IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgUHVibGljS2V5Q3JlZGVudGlh
bENyZWF0aW9uT3B0aW9uc01heGltdW0yKQogICAgIEVYUEVDVF9FUShyZXN1bHQuZXhjbHVkZUNy
ZWRlbnRpYWxzWzBdLnRyYW5zcG9ydHNbMV0sIEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6Ok5mYyk7
CiAgICAgRVhQRUNUX0VRKHJlc3VsdC5leGNsdWRlQ3JlZGVudGlhbHNbMF0udHJhbnNwb3J0c1sy
XSwgQXV0aGVudGljYXRvclRyYW5zcG9ydDo6SW50ZXJuYWwpOwogCi0gICAgRVhQRUNUX0VRKHJl
c3VsdC5hdXRoZW50aWNhdG9yU2VsZWN0aW9uLT5hdXRoZW50aWNhdG9yQXR0YWNobWVudCwgUHVi
bGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6
OkNyb3NzUGxhdGZvcm0pOworICAgIEVYUEVDVF9FUShyZXN1bHQuYXV0aGVudGljYXRvclNlbGVj
dGlvbi0+YXV0aGVudGljYXRvckF0dGFjaG1lbnQsIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpD
cm9zc1BsYXRmb3JtKTsKICAgICBFWFBFQ1RfRVEocmVzdWx0LmF1dGhlbnRpY2F0b3JTZWxlY3Rp
b24tPnJlcXVpcmVSZXNpZGVudEtleSwgdHJ1ZSk7CiAgICAgRVhQRUNUX0VRKHJlc3VsdC5hdXRo
ZW50aWNhdG9yU2VsZWN0aW9uLT51c2VyVmVyaWZpY2F0aW9uLCBVc2VyVmVyaWZpY2F0aW9uUmVx
dWlyZW1lbnQ6OkRpc2NvdXJhZ2VkKTsKIApAQCAtMTkyNiw2ICsxOTI2LDM2IEBAIFRFU1QoV2Vi
QXV0aGVudGljYXRpb25QYW5lbCwgR2V0QXNzZXJ0aW9uTEEpCiAgICAgVXRpbDo6cnVuKCZ3ZWJB
dXRoZW50aWNhdGlvblBhbmVsUmFuKTsKIH0KIAorVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVs
LCBHZXRBc3NlcnRpb25Dcm9zc1BsYXRmb3JtKQoreworICAgIHJlc2V0KCk7CisKKyAgICBBU1NF
UlRfVFJVRShhZGRLZXlUb0tleWNoYWluKHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQsICIiLCB0
ZXN0VXNlckVudGl0eUJ1bmRsZUJhc2U2NCkpOworCisgICAgdWludDhfdCBoYXNoW10gPSB7IDB4
MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIs
IDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4
MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDQsIDB4MDEs
IDB4MDIsIDB4MDMsIDB4MDQgfTsKKyAgICBOU0RhdGEgKm5zSGFzaCA9IFtOU0RhdGEgZGF0YVdp
dGhCeXRlczpoYXNoIGxlbmd0aDpzaXplb2YoaGFzaCldOworCisgICAgYXV0byBvcHRpb25zID0g
YWRvcHROUyhbW19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyBhbGxvY10gaW5p
dF0pOworICAgIFtvcHRpb25zIHNldFJlbHlpbmdQYXJ0eUlkZW50aWZpZXI6QCIiXTsKKyAgICBb
b3B0aW9ucyBzZXRBdXRoZW50aWNhdG9yQXR0YWNobWVudDpfV0tBdXRoZW50aWNhdG9yQXR0YWNo
bWVudENyb3NzUGxhdGZvcm1dOworICAgIFtvcHRpb25zIHNldFRpbWVvdXQ6QDEyMF07CisKKyAg
ICBhdXRvIHBhbmVsID0gYWRvcHROUyhbW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgYWxsb2Nd
IGluaXRdKTsKKyAgICBbcGFuZWwgc2V0TW9ja0NvbmZpZ3VyYXRpb246QHsgfV07CisgICAgYXV0
byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbERlbGVnYXRl
IGFsbG9jXSBpbml0XSk7CisgICAgW3BhbmVsIHNldERlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsK
KworICAgIFtwYW5lbCBnZXRBc3NlcnRpb25XaXRoQ2hhbGxlbmdlOm5zSGFzaCBvcmlnaW46QCIi
IG9wdGlvbnM6b3B0aW9ucy5nZXQoKSBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS0F1dGhlbnRpY2F0
b3JBc3NlcnRpb25SZXNwb25zZSAqcmVzcG9uc2UsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAg
IHdlYkF1dGhlbnRpY2F0aW9uUGFuZWxSYW4gPSB0cnVlOworICAgICAgICBjbGVhblVwS2V5Y2hh
aW4oIiIpOworCisgICAgICAgIEVYUEVDVF9OVUxMKHJlc3BvbnNlKTsKKyAgICAgICAgRVhQRUNU
X0VRKGVycm9yLmRvbWFpbiwgV0tFcnJvckRvbWFpbik7CisgICAgICAgIEVYUEVDVF9FUShlcnJv
ci5jb2RlLCBXS0Vycm9yVW5rbm93bik7CisgICAgfV07CisgICAgVXRpbDo6cnVuKCZ3ZWJBdXRo
ZW50aWNhdGlvblBhbmVsUmFuKTsKK30KKwogVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBH
ZXRBbGxDcmVkZW50aWFsKQogewogICAgIHJlc2V0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423994</attachid>
            <date>2021-03-23 01:02:41 -0700</date>
            <delta_ts>2021-03-23 10:38:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223547-20210323010240.patch</filename>
            <type>text/plain</type>
            <size>43239</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U3MDBkMTg1ZGEyMGJm
OTk3YmI1NmY2YzFjMGZmNmJmODE1MWExMi4uZDBlODBjNmVmZmFiYTIwZWNkM2ZiODAxOTQwZjc3
MzNiM2UzZjNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTAzLTE5ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHdheSB0
byBzcGVjaWZ5IHBsYXRmb3JtIHZzIHNlY3VyaXR5IGtleSB3aGVuIHJlcXVlc3RpbmcgYW4gYXNz
ZXJ0aW9uIGluIHRoZSBTUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMzU0NworICAgICAgICByZGFyOi8vNzQwMzQ3NDYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IEFQSSB0ZXN0cy4K
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQ
dWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMubW0uCisgICAgICAgICogTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0YWNobWVudC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnMubW0uCisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlD
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhu
L1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMS0wMy0yMiAgUGF0cmljayBBbmdsZSAg
PHBhbmdsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjcyNDMzKTogSW5zcGVj
dG9yIHNob3VsZCBub3QgaW5zdHJ1bWVudCBpbnNpZGUgYFdlYkNvcmU6Ok5vZGU6OnNldFJlbmRl
cmVyYApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCBiNTQ4OTJkMzg2NjFmOTU0MGM4YzFmYTdjNjY1ZDc1YmE2NTExMjMz
Li5lMDUzODJjNDFmNzZkM2E3OWE5NDhlOGUwOGU2Y2RhNGE0ZWI4ZDZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI3IEBACisyMDIxLTAzLTE5ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5j
b20+CisKKyAgICAgICAgUHJvdmlkZSBhIHdheSB0byBzcGVjaWZ5IHBsYXRmb3JtIHZzIHNlY3Vy
aXR5IGtleSB3aGVuIHJlcXVlc3RpbmcgYW4gYXNzZXJ0aW9uIGluIHRoZSBTUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU0NworICAgICAgICBy
ZGFyOi8vNzQwMzQ3NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgdGhlIGF1dGhlbnRpY2F0b3IgYXR0YWNobWVudCBvcHRp
b24gdG8gdGhlIGdldEFzc2VydGlvbiBTUEkgc3VjaCB0aGF0IHRoZSBjYWxsZXIKKyAgICAgICAg
Y2FuIGRlY2lkZSB3aGF0IHRyYW5zcG9ydHMgaXQgbmVlZHMuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50Lmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVx
dWVzdE9wdGlvbnMubW0uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50
aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLm1tOgor
ICAgICAgICAoLVtfV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgaW5pdF0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5t
bToKKyAgICAgICAgKGF1dGhlbnRpY2F0b3JBdHRhY2htZW50KToKKyAgICAgICAgKCtbX1dLV2Vi
QXV0aGVudGljYXRpb25QYW5lbCBjb252ZXJ0VG9Db3JlUmVxdWVzdE9wdGlvbnNXaXRoT3B0aW9u
czpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRv
ck1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb3JlOjpjb2xsZWN0VHJhbnNwb3J0
cyk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpnZXRUcmFuc3BvcnRz
IGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwog
MjAyMS0wMy0yMiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtH
UFVQXSBBZGQgYSAid2FsbFRpbWUiIGZpZWxkIHRvIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclN0
YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDM2OWNjODQzZGYwYTg0YThjMWVjMmNiODNkOWY2
NTcwZWVlNDIxYzguLjExOWU5ZDRjZjFmZjZiYTRlYWVkY2ZhOWI3MTgxZjkxNzllZTBmZGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC01NzcsNiArNTc3LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NW
R19JRExfRklMRVMKICAgICBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9u
c0NsaWVudElucHV0cy5pZGwKICAgICBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0aW9uRXh0
ZW5zaW9uc0NsaWVudE91dHB1dHMuaWRsCiAgICAgTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNh
dG9yQXNzZXJ0aW9uUmVzcG9uc2UuaWRsCisgICAgTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNh
dG9yQXR0YWNobWVudC5pZGwKICAgICBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRl
c3RhdGlvblJlc3BvbnNlLmlkbAogICAgIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJl
c3BvbnNlLmlkbAogICAgIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclRyYW5zcG9ydC5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IDRkNWU3MjgwYThiNGY5OGE2NWY0ZWNiMTYxMGIyNDQwYjI5MDk5ZGYuLjRlNTg4YTI0OTQ5
NzNhNzkwZTE2NWMwYWExNGE0NWFhZDJkOGM4ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtNTE1LDYgKzUxNSw3IEBAICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViYXV0aG4vQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRpb25FeHRlbnNp
b25zQ2xpZW50SW5wdXRzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJhdXRobi9BdXRo
ZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaWRsCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNw
b25zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvclJl
c3BvbnNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9y
VHJhbnNwb3J0LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdAppbmRleCAxY2FjOWQ1YzEwOTBjM2JmNTlhNjE1ODdhZmQ2MWFmZWE1NjQwMGYy
Li5mN2E2MzhhYTkzOTA1N2Q3MzQ4MDkxYWI0MjgxMzljOTk0ZDBkMzBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjQxLDYgKzI0
MSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0
aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1
dHMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRo
ZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1dGhlbnRpY2F0
b3JBdHRhY2htZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNl
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRo
ZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1dGhlbnRpY2F0b3JSZXNwb25zZS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDYwYzIxN2I3MzQ4YmNkYTUzYTZiYzRjNjgyY2ZkZWE0
NDk0MTBiYjcuLjNlZGExMGE4YzY3YzgxZjA3YzU1Y2UzYTkwYzFkNjEzZjA5M2RiZDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDM1LDYgKzQzNSw3IEBAIEpTX0JJTkRJTkdf
SURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0aW9u
RXh0ZW5zaW9uc0NsaWVudElucHV0cy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJh
dXRobi9BdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0YWNo
bWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9y
QXR0ZXN0YXRpb25SZXNwb25zZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRo
bi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
YXV0aG4vQXV0aGVudGljYXRvclRyYW5zcG9ydC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0YWNobWVudC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0YWNobWVudC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjc2N2FhMDZjN2RiN2M4OGY2YzdhYWI3NjNiZmM1MTVmNGJkOGE5MjAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JB
dHRhY2htZW50LmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgRU5BQkxFKFdFQl9BVVRITikKKworI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBBdXRoZW50aWNhdG9yQXR0YWNobWVu
dCB7CisgICAgUGxhdGZvcm0sCisgICAgQ3Jvc3NQbGF0Zm9ybQorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudD4geworICAgIHVzaW5nIHZhbHVl
cyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50
LAorICAgICAgICBXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0sCisg
ICAgICAgIFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpDcm9zc1BsYXRmb3JtCisg
ICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9B
VVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVu
dGljYXRvckF0dGFjaG1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9B
dXRoZW50aWNhdG9yQXR0YWNobWVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI5YWQ3YmRkZjUyZmQwODI1
YTdiYjEyZDFiNzBjODQ4OTU3MmI5NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaWRsCkBAIC0wLDAgKzEs
MzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAorICAgIElt
cGxlbWVudGVkQXM9QXV0aGVudGljYXRvckF0dGFjaG1lbnQKK10gZW51bSBBdXRoZW50aWNhdG9y
QXR0YWNobWVudCB7CisgICAgInBsYXRmb3JtIiwKKyAgICAiY3Jvc3MtcGxhdGZvcm0iCit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhu
L1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaAppbmRleCBiYzMzMTE4YjU4ZjM1
ZmE4MDM4ZDdkM2MwZTMzNzdjMTQ5ZTc4Zjc0Li5iYmU5MjIxMDY3MzdiZGVjMzMxYmE4NjhiZTdh
YWZkN2Q0ZDBiMmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhu
L1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaApA
QCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShXRUJfQVVUSE4pCiAjaW5jbHVkZSAiQXR0ZXN0
YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uRXh0
ZW5zaW9uc0NsaWVudElucHV0cy5oIgorI2luY2x1ZGUgIkF1dGhlbnRpY2F0b3JBdHRhY2htZW50
LmgiCiAjaW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCiAjaW5jbHVkZSAiUHVibGljS2V5Q3JlZGVu
dGlhbERlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oIgpA
QCAtMzksMTEgKzQwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgUHVibGljS2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyB7CiAjaWYgRU5BQkxFKFdFQl9BVVRITikKLSAgICBl
bnVtIGNsYXNzIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50IHsKLSAgICAgICAgUGxhdGZvcm0sCi0g
ICAgICAgIENyb3NzUGxhdGZvcm0KLSAgICB9OwotCiAgICAgc3RydWN0IEVudGl0eSB7CiAgICAg
ICAgIFN0cmluZyBuYW1lOwogICAgICAgICBTdHJpbmcgaWNvbjsKQEAgLTIwMiwxNyArMTk4LDMg
QEAgT3B0aW9uYWw8UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucz4gUHVibGljS2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczoKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQotbmFtZXNw
YWNlIFdURiB7Ci0KLXRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6UHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ+IHsK
LSAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAotICAgICAgICBXZWJDb3JlOjpQdWJsaWNL
ZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudCwKLSAg
ICAgICAgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVu
dGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtLAotICAgICAgICBXZWJDb3JlOjpQdWJsaWNLZXlD
cmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6Q3Jvc3NQ
bGF0Zm9ybQotICAgID47Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXVEYKLSNlbmRpZiAvLyBFTkFC
TEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwK
aW5kZXggZWNiNjcwMWM2ZGMyMjMzZGIxOWYwMGM4ODY4MTA5ODIwMDE1YmE3OC4uY2U2NjVmNDEz
Mzg4ODI5NDc5ZWZlNjFkNDVkNTk0MjY1NTczNTk1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnMuaWRsCkBAIC03NSwxMCArNzUsMyBAQCB0eXBlZGVmIGxvbmcgQ09T
RUFsZ29yaXRobUlkZW50aWZpZXI7CiAgICAgYm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICBy
ZXF1aXJlUmVzaWRlbnRLZXkgPSBmYWxzZTsKICAgICBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1l
bnQgIHVzZXJWZXJpZmljYXRpb24gPSAicHJlZmVycmVkIjsKIH07Ci0KLVsKLSAgICBDb25kaXRp
b25hbD1XRUJfQVVUSE4sCi1dIGVudW0gQXV0aGVudGljYXRvckF0dGFjaG1lbnQgewotICAgICJw
bGF0Zm9ybSIsCi0gICAgImNyb3NzLXBsYXRmb3JtIgotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxS
ZXF1ZXN0T3B0aW9ucy5oCmluZGV4IDc5YTVlYzlkMDkxZDBhNDk0NDQyYTI1YzMxODE0YjE0MDQw
ZGFhZGYuLmNlMTQwODQxN2I3OTBjNWJkOWQ1ZjFlNzI0ZGI0ZmE1Y2FiNWUzNzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJl
cXVlc3RPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJs
aWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaApAQCAtNDIsNiArNDIsNyBAQCBzdHJ1Y3Qg
UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zIHsKICAgICBtdXRhYmxlIFN0cmluZyBy
cElkOwogICAgIFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcj4gYWxsb3dDcmVk
ZW50aWFsczsKICAgICBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQgdXNlclZlcmlmaWNhdGlv
biB7IFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudDo6UHJlZmVycmVkIH07CisgICAgT3B0aW9u
YWw8QXV0aGVudGljYXRvckF0dGFjaG1lbnQ+IGF1dGhlbnRpY2F0b3JBdHRhY2htZW50OwogICAg
IG11dGFibGUgT3B0aW9uYWw8QXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzPiBl
eHRlbnNpb25zOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5j
b2RlciYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCAzMDBhYTgwN2QxZjBhMjA4NjdiNTYxN2Jk
YjlkY2I4ODE0ODZkZTQ3Li40YjQxNWU5ZmNiZDRiOGQ4NjdkZjVkYTdlN2M2MTMzZjliMTk0MGVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dApAQCAtMjc5OSw2ICsyNzk5LDcgQEAgSlNBdWRpb1dvcmtsZXRQcm9j
ZXNzb3JDb25zdHJ1Y3Rvci5jcHAKIEpTQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5w
dXRzLmNwcAogSlNBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzLmNwcAogSlNB
dXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwCitKU0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50LmNwcAogSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5jcHAKIEpTQXV0aGVu
dGljYXRvclJlc3BvbnNlLmNwcAogSlNBdXRoZW50aWNhdG9yVHJhbnNwb3J0LmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQy
OGY5ZTFmY2JkNTY2ZmI0OTVhMmE3MTM0NjExNzA0OTVkMzBmY2UuLjUyODJmNjQ4YjUxNWEyMjZl
MWYwZmEyY2NhN2QyMWQwNWQwYmU0ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5MTQsNiArMTkxNCw4IEBACiAJCTU3RUVB
QTUwMUU5RkZCRkMwMDcwMTEyNCAvKiBDcnlwdG9BbGdvcml0aG1FY2RzYVBhcmFtcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdFRUFBNEQxRTlGRkJG
QzAwNzAxMTI0IC8qIENyeXB0b0FsZ29yaXRobUVjZHNhUGFyYW1zLmggKi87IH07CiAJCTU3RUVB
QTU1MUVBMDAxQjEwMDcwMTEyNCAvKiBKU0VjZHNhUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0VFQUE1MzFFQTAwMUIxMDA3MDExMjQgLyog
SlNFY2RzYVBhcmFtcy5oICovOyB9OwogCQk1N0VGNUU2MDFEMjBDODM5MDAxNzFFNjAgLyogVGV4
dENvZGVjUmVwbGFjZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3RUY1RTVGMUQyMEM4MzkwMDE3MUU2MCAvKiBUZXh0Q29kZWNSZXBsYWNlbWVu
dC5oICovOyB9OworCQk1N0ZFNjg3MTI2MDUyRTMxMDBCRjQ1RTQgLyogQXV0aGVudGljYXRvckF0
dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU3RkU2ODZFMjYwNTJFMzEwMEJGNDVFNCAvKiBBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTU3RkU2ODc2
MjYwNTU2ODUwMEJGNDVFNCAvKiBKU0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZFNjg3NTI2MDU1Njg1MDBC
RjQ1RTQgLyogSlNBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovOyB9OwogCQk1N0ZFREQzRjFE
QjZENTkyMDBFQjk2RjUgLyogQ3J5cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZFREQzRTFEQjZENTky
MDBFQjk2RjUgLyogQ3J5cHRvQWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zLmggKi87IH07CiAJCTU3
RkVERDQxMURCNkQ3M0EwMEVCOTZGNSAvKiBKU1JzYUtleUdlblBhcmFtcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRURENDAxREI2RDczQTAwRUI5
NkY1IC8qIEpTUnNhS2V5R2VuUGFyYW1zLmggKi87IH07CiAJCTU4MDM3MTYyMUE2NkYwMEEwMEJB
RjUxOSAvKiBDbGlwUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTgwMzcxNjAxQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk0NDksNiArOTQ1MSwx
MCBAQAogCQk1N0VGNUU2MTFEMjBEMjg3MDAxNzFFNjAgLyogVGV4dENvZGVjUmVwbGFjZW1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dENvZGVjUmVwbGFj
ZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0YxQzhFMzI1REM2RUU3
MDBFOEY2RUEgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50Q29jb2Eu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RjgyNzM5MURCNzJDMjIwMDlEMkJG
NCAvKiBSc2FIYXNoZWRLZXlHZW5QYXJhbXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJzYUhhc2hlZEtleUdlblBhcmFt
cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3RkU2ODZFMjYwNTJFMzEwMEJG
NDVFNCAvKiBBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRoZW50
aWNhdG9yQXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1N0ZFNjg3
MDI2MDUyRTMxMDBCRjQ1RTQgLyogQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEF1
dGhlbnRpY2F0b3JBdHRhY2htZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTdGRTY4NzUyNjA1NTY4NTAwQkY0NUU0IC8qIEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1N0ZFNjg3NzI2MDU1NjhGMDBCRjQ1RTQgLyogSlNBdXRoZW50aWNh
dG9yQXR0YWNobWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1dGhlbnRpY2F0b3JBdHRh
Y2htZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGRUREM0QxREI2RDQ3
RjAwRUI5NkY1IC8qIFJzYUtleUdlblBhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUnNhS2V5R2VuUGFyYW1zLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGRUREM0UxREI2RDU5MjAwRUI5NkY1
IC8qIENyeXB0b0FsZ29yaXRobVJzYUtleUdlblBhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGRURENDAxREI2RDczQTAwRUI5NkY1IC8qIEpTUnNhS2V5
R2VuUGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUnNhS2V5R2Vu
UGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTYwMCw2ICsyMTYwNiw4
IEBACiAJCQkJNTc1ODU5NkUyMzlGMzk3OTAwQzc0NTcyIC8qIEF1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZS5jcHAgKi8sCiAJCQkJNTczMDNDMjcyMDA5QjJGQzAwMzU1OTY1IC8qIEF1dGhl
bnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oICovLAogCQkJCTU3MzAzQzI5MjAwOUIyRkMwMDM1
NTk2NSAvKiBBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaWRsICovLAorCQkJCTU3RkU2
ODZFMjYwNTJFMzEwMEJGNDVFNCAvKiBBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovLAorCQkJ
CTU3RkU2ODcwMjYwNTJFMzEwMEJGNDVFNCAvKiBBdXRoZW50aWNhdG9yQXR0YWNobWVudC5pZGwg
Ki8sCiAJCQkJNTc1ODU5NkIyMzlGMjg0QjAwQzc0NTcyIC8qIEF1dGhlbnRpY2F0b3JBdHRlc3Rh
dGlvblJlc3BvbnNlLmNwcCAqLywKIAkJCQk1NzMwM0MxQjIwMDlBOTg2MDAzNTU5NjUgLyogQXV0
aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCAqLywKIAkJCQk1NzMwM0MxRDIwMDlBOTg2
MDAzNTU5NjUgLyogQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaWRsICovLApAQCAt
MjE2NDMsNiArMjE2NTEsOCBAQAogCQkJCTU3NTg1OTVFMjM5RjExNzMwMEM3NDU3MiAvKiBKU0F1
dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMuaCAqLywKIAkJCQk1NzMwM0MyRTIw
MDlCN0RBMDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuY3BwICov
LAogCQkJCTU3MzAzQzJEMjAwOUI3RDkwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZS5oICovLAorCQkJCTU3RkU2ODc3MjYwNTU2OEYwMEJGNDVFNCAvKiBKU0F1dGhl
bnRpY2F0b3JBdHRhY2htZW50LmNwcCAqLywKKwkJCQk1N0ZFNjg3NTI2MDU1Njg1MDBCRjQ1RTQg
LyogSlNBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovLAogCQkJCTU3MzAzQzIwMjAwOUFFRjUw
MDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmNwcCAqLywKIAkJ
CQk1NzMwM0MyMTIwMDlBRUY2MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25S
ZXNwb25zZS5oICovLAogCQkJCTU3MzAzQkRFMjAwOTVCMjcwMDM1NTk2NSAvKiBKU0F1dGhlbnRp
Y2F0b3JSZXNwb25zZS5jcHAgKi8sCkBAIC0zMTQzNCw2ICszMTQ0NCw3IEBACiAJCQkJNTc1ODU5
NkMyMzlGMzIxQzAwQzc0NTcyIC8qIEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1
dHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNEM3NjRDMENFOTIzNEUwMDdFRjNDRCAvKiBBdXRo
ZW50aWNhdGlvbk1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTczMDNDMkMyMDA5QjRBODAwMzU1
OTY1IC8qIEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNTdGRTY4NzEyNjA1MkUzMTAwQkY0NUU0IC8qIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1NzMwM0MxRjIwMDlBQjQyMDAzNTU5NjUgLyogQXV0aGVudGlj
YXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MzAzQzQ2MjAx
MDVEMkYwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCTU3NjA4MjcyMjAyMTVBNTUwMDExNjY3OCAvKiBBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzI5MTUsNiArMzI5MjYsNyBAQAogCQkJCTU3
RDEzNTJBMjI5NEFBMzkwMDgyNzQwMSAvKiBKU0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVu
dElucHV0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc1ODU5NjEyMzlGMTI0RDAwQzc0NTcyIC8q
IEpTQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTczMDNDMkYyMDA5QjdFMTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckFzc2VydGlv
blJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1N0ZFNjg3NjI2MDU1Njg1MDBCRjQ1RTQg
LyogSlNBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTczMDND
MjIyMDA5QUYwMzAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTU3MzAzQkUxMjAwOTVENjEwMDM1NTk2NSAvKiBKU0F1dGhl
bnRpY2F0b3JSZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTdEQ0VEOTgyMTQ4ODIxNjAw
MTZCODQ3IC8qIEpTQXV0aGVudGljYXRvclRyYW5zcG9ydC5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRv
ckF0dGFjaG1lbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRo
ZW50aWNhdG9yQXR0YWNobWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2NjgwZTU5YTVlZGUyM2ZiNDI1Njc3
MzkyYzMxYzBlYzA4ZDJmMWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaApAQCAtMCwwICsxLDM0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5k
YXRpb24uaD4KKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLQXV0aGVudGljYXRvckF0
dGFjaG1lbnQpIHsKKyAgICBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudEFsbCwKKyAgICBfV0tB
dXRoZW50aWNhdG9yQXR0YWNobWVudFBsYXRmb3JtLAorICAgIF9XS0F1dGhlbnRpY2F0b3JBdHRh
Y2htZW50Q3Jvc3NQbGF0Zm9ybSwKK30gV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVy
aWEuaAppbmRleCA4MGFhODNkNmQxY2RlZWFjYjEyNDU5NGU0NjVhN2YyYjJmMDIyZDUwLi5mM2I1
OWNlZjBhYjlhMTlkMzk0YTdjNmFjYjM1NWRhNThkYTc3ZDVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRl
cmlhLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRp
Y2F0b3JTZWxlY3Rpb25Dcml0ZXJpYS5oCkBAIC0yOCwxNiArMjgsMTEgQEAKICNpbXBvcnQgPFdl
YktpdC9XS0ZvdW5kYXRpb24uaD4KIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+
CisjaW1wb3J0IDxXZWJLaXQvX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaD4KICNpbXBvcnQg
PFdlYktpdC9fV0tVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQuaD4KIAogTlNfQVNTVU1FX05P
Tk5VTExfQkVHSU4KIAotdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLQXV0aGVudGljYXRv
ckF0dGFjaG1lbnQpIHsKLSAgICBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudEFsbCwKLSAgICBf
V0tBdXRoZW50aWNhdG9yQXR0YWNobWVudFBsYXRmb3JtLAotICAgIF9XS0F1dGhlbnRpY2F0b3JB
dHRhY2htZW50Q3Jvc3NQbGF0Zm9ybSwKLX0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLQogV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCiBAaW50ZXJmYWNlIF9XS0F1dGhlbnRpY2F0b3JTZWxl
Y3Rpb25Dcml0ZXJpYSA6IE5TT2JqZWN0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMuaAppbmRleCA5Yjg3YmFmZGIwNTZlNWU1YTg0Y2ZkM2U2YjE5YzQ5NzAw
YjFjMTA4Li5iZjg5Zjk4ZGNjNTY0ZmE1ZTNjN2RiNjFhYWMwNDY2MTA4ZWJkMDY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVu
dGlhbFJlcXVlc3RPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oCkBAIC0yOCw2ICsyOCw3
IEBACiAjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CiAKICNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8V2ViS2l0L19XS0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50Lmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50Lmg+
CiAKIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCkBAIC00Myw2ICs0NCw4IEBAIFdLX0NMQVNTX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQogQHByb3BlcnR5IChu
dWxsYWJsZSwgbm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PF9XS1B1YmxpY0tleUNyZWRlbnRpYWxE
ZXNjcmlwdG9yICo+ICphbGxvd0NyZWRlbnRpYWxzOwogLyohQGRpc2N1c3Npb24gVGhlIGRlZmF1
bHQgdmFsdWUgaXMgX1dLVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50UHJlZmVycmVkLiovCiBA
cHJvcGVydHkgKG5vbmF0b21pYykgX1dLVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50IHVzZXJW
ZXJpZmljYXRpb247CisvKiFAZGlzY3Vzc2lvbiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBfV0tBdXRo
ZW50aWNhdG9yQXR0YWNobWVudEFsbC4qLworQHByb3BlcnR5IChub25hdG9taWMpIF9XS0F1dGhl
bnRpY2F0b3JBdHRhY2htZW50IGF1dGhlbnRpY2F0b3JBdHRhY2htZW50OwogQHByb3BlcnR5IChu
dWxsYWJsZSwgbm9uYXRvbWljLCBzdHJvbmcpIF9XS0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0Ns
aWVudElucHV0cyAqZXh0ZW5zaW9uczsKIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9u
cy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVk
ZW50aWFsUmVxdWVzdE9wdGlvbnMubW0KaW5kZXggODI4ZjViODNiYTFiNDI1MmY0NWU2ZjdkYzhi
MTFjZDk2ZWNhZGM4Zi4uZmU5OGMxNjA4ZTNjM2QyNDQzYzE2NzliM2ZhY2M3Y2U3NTljNTNlMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1B1YmxpY0tl
eUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLm1tCkBAIC0z
NCw2ICszNCw3IEBAIC0gKGluc3RhbmNldHlwZSlpbml0CiAgICAgICAgIHJldHVybiBuaWw7CiAK
ICAgICBzZWxmLnVzZXJWZXJpZmljYXRpb24gPSBfV0tVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1l
bnRQcmVmZXJyZWQ7CisgICAgc2VsZi5hdXRoZW50aWNhdG9yQXR0YWNobWVudCA9IF9XS0F1dGhl
bnRpY2F0b3JBdHRhY2htZW50QWxsOwogICAgIHJldHVybiBzZWxmOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25Q
YW5lbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50
aWNhdGlvblBhbmVsLm1tCmluZGV4IDE0NTE1MWVmMGNiZDM3NWZjOTc1NGQ3ZWM4NjkzNzE2MzQw
MTgyMjUuLmZlNzUxOTczOWRmMmVkMmUzN2ZlZWQwZDQ5ZGQ0NmQzZWQ2ZjYxNDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJB
dXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0zNjMsMTUgKzM2MywxNSBAQCBzdGF0aWMgVmVjdG9y
PFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yPiBwdWJsaWNLZXlDcmVkZW50
aWFsRGVzY3JpcAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBPcHRpb25hbDxXZWJD
b3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0
YWNobWVudD4gYXV0aGVudGljYXRvckF0dGFjaG1lbnQoX1dLQXV0aGVudGljYXRvckF0dGFjaG1l
bnQgYXR0YWNobWVudCkKK3N0YXRpYyBPcHRpb25hbDxXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0
YWNobWVudD4gYXV0aGVudGljYXRvckF0dGFjaG1lbnQoX1dLQXV0aGVudGljYXRvckF0dGFjaG1l
bnQgYXR0YWNobWVudCkKIHsKICAgICBzd2l0Y2ggKGF0dGFjaG1lbnQpIHsKICAgICBjYXNlIF9X
S0F1dGhlbnRpY2F0b3JBdHRhY2htZW50QWxsOgogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogICAgIGNhc2UgX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnRQbGF0Zm9ybToKLSAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhl
bnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybTsKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkF1
dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybTsKICAgICBjYXNlIF9XS0F1dGhlbnRpY2F0
b3JBdHRhY2htZW50Q3Jvc3NQbGF0Zm9ybToKLSAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlB1Ymxp
Y0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpD
cm9zc1BsYXRmb3JtOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6QXV0aGVudGljYXRvckF0dGFj
aG1lbnQ6OkNyb3NzUGxhdGZvcm07CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CkBAIC00ODYsNiArNDg2LDcg
QEAgKyAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zKWNvbnZlcnRU
b0NvcmVSZXF1ZXN0T3B0aW9uc1dpdGhPcHQKICAgICBpZiAob3B0aW9ucy5hbGxvd0NyZWRlbnRp
YWxzKQogICAgICAgICByZXN1bHQuYWxsb3dDcmVkZW50aWFscyA9IHB1YmxpY0tleUNyZWRlbnRp
YWxEZXNjcmlwdG9ycyhvcHRpb25zLmFsbG93Q3JlZGVudGlhbHMpOwogICAgIHJlc3VsdC51c2Vy
VmVyaWZpY2F0aW9uID0gdXNlclZlcmlmaWNhdGlvbihvcHRpb25zLnVzZXJWZXJpZmljYXRpb24p
OworICAgIHJlc3VsdC5hdXRoZW50aWNhdG9yQXR0YWNobWVudCA9IGF1dGhlbnRpY2F0b3JBdHRh
Y2htZW50KG9wdGlvbnMuYXV0aGVudGljYXRvckF0dGFjaG1lbnQpOwogICAgIHJlc3VsdC5leHRl
bnNpb25zID0gYXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzKG9wdGlvbnMuZXh0
ZW5zaW9ucyk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRvck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRvck1hbmFnZXIuY3BwCmlu
ZGV4IDMxNDQ1ZGY0Zjg2MjBiODgwMjcwYTMzMmNmNGVmZjVhMjRhMTIzYWEuLjRlYjVjMTI1NTJl
Y2E4ZDYzNDliY2EyMjFlYzFiMmUyMWRlMzE2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9y
TWFuYWdlci5jcHAKQEAgLTY1LDEyICs2NSwxMiBAQCBzdGF0aWMgQXV0aGVudGljYXRvck1hbmFn
ZXI6OlRyYW5zcG9ydFNldCBjb2xsZWN0VHJhbnNwb3J0cyhjb25zdCBPcHRpb25hbDxQdWJsaQog
ICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIGlmIChhdXRoZW50aWNhdG9yU2Vs
ZWN0aW9uLT5hdXRoZW50aWNhdG9yQXR0YWNobWVudCA9PSBQdWJsaWNLZXlDcmVkZW50aWFsQ3Jl
YXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0pIHsKKyAgICBp
ZiAoYXV0aGVudGljYXRvclNlbGVjdGlvbi0+YXV0aGVudGljYXRvckF0dGFjaG1lbnQgPT0gQXV0
aGVudGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtKSB7CiAgICAgICAgIGF1dG8gYWRkUmVzdWx0
ID0gcmVzdWx0LmFkZChBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CiAgICAgICAg
IEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgICAg
IHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIGlmIChhdXRoZW50aWNhdG9yU2VsZWN0aW9uLT5h
dXRoZW50aWNhdG9yQXR0YWNobWVudCA9PSBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRp
b25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6Q3Jvc3NQbGF0Zm9ybSkgeworICAgIGlmIChh
dXRoZW50aWNhdG9yU2VsZWN0aW9uLT5hdXRoZW50aWNhdG9yQXR0YWNobWVudCA9PSBBdXRoZW50
aWNhdG9yQXR0YWNobWVudDo6Q3Jvc3NQbGF0Zm9ybSkgewogICAgICAgICBhdXRvIGFkZFJlc3Vs
dCA9IHJlc3VsdC5hZGQoQXV0aGVudGljYXRvclRyYW5zcG9ydDo6VXNiKTsKICAgICAgICAgQVNT
RVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgYWRk
UmVzdWx0ID0gcmVzdWx0LmFkZChBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpOZmMpOwpAQCAtODcs
NyArODcsNyBAQCBzdGF0aWMgQXV0aGVudGljYXRvck1hbmFnZXI6OlRyYW5zcG9ydFNldCBjb2xs
ZWN0VHJhbnNwb3J0cyhjb25zdCBPcHRpb25hbDxQdWJsaQogLy8gSWYgaXQgaXMgbm90IHNwZWNp
ZmllZCBvciBhbnkgb2YgaXRzIGNyZWRlbnRpYWxzIGRvZXNuJ3Qgc3BlY2lmeSBpdHMgb3duLiBX
ZSBzaG91bGQgZGlzY292ZXIgYWxsLgogLy8gVGhpcyBpcyBhIHZhcmlhbnQgb2YgU3RlcC4gMTgu
Ki40IGZyb20gaHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYmF1dGhuLyNkaXNjb3Zlci1mcm9tLWV4
dGVybmFsLXNvdXJjZQogLy8gYXMgb2YgNyBBdWd1c3QgMjAxOC4KLXN0YXRpYyBBdXRoZW50aWNh
dG9yTWFuYWdlcjo6VHJhbnNwb3J0U2V0IGNvbGxlY3RUcmFuc3BvcnRzKGNvbnN0IFZlY3RvcjxQ
dWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcj4mIGFsbG93Q3JlZGVudGlhbHMpCitzdGF0aWMg
QXV0aGVudGljYXRvck1hbmFnZXI6OlRyYW5zcG9ydFNldCBjb2xsZWN0VHJhbnNwb3J0cyhjb25z
dCBWZWN0b3I8UHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+JiBhbGxvd0NyZWRlbnRpYWxz
LCBjb25zdCBPcHRpb25hbDxBdXRoZW50aWNhdG9yQXR0YWNobWVudD4mIGF1dGhlbnRpY2F0b3JB
dHRhY2htZW50KQogewogICAgIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpUcmFuc3BvcnRTZXQgcmVz
dWx0OwogICAgIGlmIChhbGxvd0NyZWRlbnRpYWxzLmlzRW1wdHkoKSkgewpAQCAtOTcsNyArOTcs
NiBAQCBzdGF0aWMgQXV0aGVudGljYXRvck1hbmFnZXI6OlRyYW5zcG9ydFNldCBjb2xsZWN0VHJh
bnNwb3J0cyhjb25zdCBWZWN0b3I8UHVibGljSwogICAgICAgICBBU1NFUlRfVU5VU0VEKGFkZFJl
c3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAgICBhZGRSZXN1bHQgPSByZXN1bHQu
YWRkKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6Ok5mYyk7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQo
YWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfQogCiAgICAgZm9yIChhdXRvJiBhbGxvd0NyZWRlbnRpYWwgOiBhbGxvd0NyZWRlbnRp
YWxzKSB7CkBAIC0xMDUsMTkgKzEwNCwzMiBAQCBzdGF0aWMgQXV0aGVudGljYXRvck1hbmFnZXI6
OlRyYW5zcG9ydFNldCBjb2xsZWN0VHJhbnNwb3J0cyhjb25zdCBWZWN0b3I8UHVibGljSwogICAg
ICAgICAgICAgcmVzdWx0LmFkZChBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CiAg
ICAgICAgICAgICByZXN1bHQuYWRkKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6OlVzYik7CiAgICAg
ICAgICAgICByZXN1bHQuYWRkKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6Ok5mYyk7Ci0gICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OworCisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCiAg
ICAgICAgIGZvciAoY29uc3QgYXV0byYgdHJhbnNwb3J0IDogYWxsb3dDcmVkZW50aWFsLnRyYW5z
cG9ydHMpIHsKICAgICAgICAgICAgIGlmICh0cmFuc3BvcnQgPT0gQXV0aGVudGljYXRvclRyYW5z
cG9ydDo6QmxlKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCiAgICAgICAgICAgICByZXN1
bHQuYWRkKHRyYW5zcG9ydCk7CisKICAgICAgICAgICAgIGlmIChyZXN1bHQuc2l6ZSgpID49IEF1
dGhlbnRpY2F0b3JNYW5hZ2VyOjptYXhUcmFuc3BvcnROdW1iZXIpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0K
IAotICAgIEFTU0VSVChyZXN1bHQuc2l6ZSgpIDwgQXV0aGVudGljYXRvck1hbmFnZXI6Om1heFRy
YW5zcG9ydE51bWJlcik7CisgICAgaWYgKGF1dGhlbnRpY2F0b3JBdHRhY2htZW50KSB7CisgICAg
ICAgIGlmIChhdXRoZW50aWNhdG9yQXR0YWNobWVudCA9PSBBdXRoZW50aWNhdG9yQXR0YWNobWVu
dDo6UGxhdGZvcm0pIHsKKyAgICAgICAgICAgIHJlc3VsdC5yZW1vdmUoQXV0aGVudGljYXRvclRy
YW5zcG9ydDo6VXNiKTsKKyAgICAgICAgICAgIHJlc3VsdC5yZW1vdmUoQXV0aGVudGljYXRvclRy
YW5zcG9ydDo6TmZjKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChhdXRoZW50aWNhdG9yQXR0
YWNobWVudCA9PSBBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6Q3Jvc3NQbGF0Zm9ybSkKKyAgICAg
ICAgICAgIHJlc3VsdC5yZW1vdmUoQXV0aGVudGljYXRvclRyYW5zcG9ydDo6SW50ZXJuYWwpOwor
ICAgIH0KKworICAgIEFTU0VSVChyZXN1bHQuc2l6ZSgpIDw9IEF1dGhlbnRpY2F0b3JNYW5hZ2Vy
OjptYXhUcmFuc3BvcnROdW1iZXIpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTUwMCw3
ICs1MTIsNyBAQCBhdXRvIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpnZXRUcmFuc3BvcnRzKCkgY29u
c3QgLT4gVHJhbnNwb3J0U2V0CiAgICAgICAgIHRyYW5zcG9ydHMgPSBjb2xsZWN0VHJhbnNwb3J0
cyhvcHRpb25zLmF1dGhlbnRpY2F0b3JTZWxlY3Rpb24pOwogICAgICAgICBwcm9jZXNzR29vZ2xl
TGVnYWN5QXBwSWRTdXBwb3J0RXh0ZW5zaW9uKG9wdGlvbnMuZXh0ZW5zaW9ucywgdHJhbnNwb3J0
cyk7CiAgICAgfSwgWyZdKGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYg
b3B0aW9ucykgewotICAgICAgICB0cmFuc3BvcnRzID0gY29sbGVjdFRyYW5zcG9ydHMob3B0aW9u
cy5hbGxvd0NyZWRlbnRpYWxzKTsKKyAgICAgICAgdHJhbnNwb3J0cyA9IGNvbGxlY3RUcmFuc3Bv
cnRzKG9wdGlvbnMuYWxsb3dDcmVkZW50aWFscywgb3B0aW9ucy5hdXRoZW50aWNhdG9yQXR0YWNo
bWVudCk7CiAgICAgfSk7CiAgICAgZmlsdGVyVHJhbnNwb3J0cyh0cmFuc3BvcnRzKTsKICAgICBy
ZXR1cm4gdHJhbnNwb3J0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDZjNzdkMGQxNTUzZWQ4OTg2OWQyYTEwOWE5OGY3NTU1MDBiZTBl
NGEuLmFmZjIxNWFlOWYzODViNDUwYzM4NjM1YmZhNGQ5MWVkZDNhZDk0MWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTIxNCw2ICsx
MjE0LDcgQEAKIAkJNTdGRDMxODUyMkIzNTE2OTAwOEQwRThCIC8qIFNPQXV0aG9yaXphdGlvblNl
c3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
RkQzMTdDMjJCMzUxNEEwMDhEMEU4QiAvKiBTT0F1dGhvcml6YXRpb25TZXNzaW9uLmggKi87IH07
CiAJCTU3RkQzMTg2MjJCMzUxNkMwMDhEMEU4QiAvKiBTdWJGcmFtZVNPQXV0aG9yaXphdGlvblNl
c3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
RkQzMTdEMjJCMzUxNEEwMDhEMEU4QiAvKiBTdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24u
aCAqLzsgfTsKIAkJNTdGRDMxODcyMkIzNTE3MDAwOEQwRThCIC8qIFdLU09BdXRob3JpemF0aW9u
RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU3RkQzMTcxMjJCMzUxNDgwMDhEMEU4QiAvKiBXS1NPQXV0aG9yaXphdGlvbkRlbGVnYXRlLmgg
Ki87IH07CisJCTU3RkU2ODZEMjYwNDgyNzgwMEJGNDVFNCAvKiBfV0tBdXRoZW50aWNhdG9yQXR0
YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTdGRTY4NkMyNjA0ODI3ODAwQkY0NUU0IC8qIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUMwQjE3
NzgxRTdDODgwRTAwRTkxMjNDIC8qIE5ldHdvcmtTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUMwQjE3
NzQxRTdDODc5QzAwRTkxMjNDIC8qIE5ldHdvcmtTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OwogCQk1QzBCMTc3OTFFN0M4ODIxMDBFOTEyM0MgLyogV2ViU29ja2V0U3RyZWFt
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVDMEIxNzc2MUU3Qzg3OUMwMEU5MTIzQyAvKiBXZWJTb2NrZXRTdHJlYW1NZXNz
YWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1QzEyMUU4NDI0MTAyMDhEMDA0ODZGOUIgLyogRnJh
bWVUcmVlTm9kZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDVDMTIxRTgzMjQxMDFGNzAwMDQ4NkY5QiAvKiBGcmFtZVRyZWVOb2RlRGF0YS5oICov
OyB9OwpAQCAtNDMyMiw2ICs0MzIzLDcgQEAKIAkJNTdGRDMxN0QyMkIzNTE0QTAwOEQwRThCIC8q
IFN1YkZyYW1lU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdWJGcmFtZVNPQXV0aG9yaXphdGlvblNlc3Npb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTdGRDMxN0UyMkIzNTE0QTAwOEQwRThCIC8qIFdLU09BdXRob3Jp
emF0aW9uRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXS1NPQXV0aG9yaXphdGlvbkRlbGVnYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1N0ZEMzE3RjIyQjM1MTRBMDA4RDBFOEIgLyogU09BdXRob3JpemF0aW9uU2Vzc2lvbi5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNPQXV0aG9yaXphdGlv
blNlc3Npb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3RkU2ODZDMjYwNDgy
NzgwMEJGNDVFNCAvKiBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1QzAwOTkzQjI0MTdGQjdFMDBENTNDMjUgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Bh
cmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1BhcmFtZXRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUMw
QTEwQzEyMzUyNDFBMzAwNTNFMkNBIC8qIE5ldHdvcmtTY2hlbWVSZWdpc3RyeS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrU2NoZW1lUmVnaXN0cnkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QzBCMTc3NDFFN0M4NzlDMDBFOTEyM0Mg
LyogTmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVy
LmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvTmV0d29ya1NvY2tldFN0cmVhbU1l
c3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBA
IC03ODA0LDYgKzc4MDYsNyBAQAogCQkJCTU3OTBBNjg2MjU2N0EyOEEwMDc3QzVBNyAvKiBfV0tB
dXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaCAqLywKIAkJCQk1NzkwQTY4NzI1NjdBMjhB
MDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLm1tICovLAogCQkJ
CTU3OTBBNjhFMjU2N0I0Q0YwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVz
cG9uc2VJbnRlcm5hbC5oICovLAorCQkJCTU3RkU2ODZDMjYwNDgyNzgwMEJGNDVFNCAvKiBfV0tB
dXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovLAogCQkJCTU3OTBBNjgyMjU2N0EyMUUwMDc3QzVB
NyAvKiBfV0tBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oICovLAogCQkJCTU3OTBB
NjgzMjU2N0EyMUUwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25z
ZS5tbSAqLywKIAkJCQk1NzkwQTY4QzI1NjdCNDQ5MDA3N0M1QTcgLyogX1dLQXV0aGVudGljYXRv
ckF0dGVzdGF0aW9uUmVzcG9uc2VJbnRlcm5hbC5oICovLApAQCAtMTE0NTQsNiArMTE0NTcsNyBA
QAogCQkJCTU3OTBBNjkxMjU2N0I1RTAwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdGlvbkV4dGVu
c2lvbnNDbGllbnRPdXRwdXRzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3OTBBNjg4
MjU2N0EyOEEwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTU3OTBBNjhGMjU2N0I0Q0YwMDc3QzVBNyAvKiBfV0tBdXRoZW50
aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2VJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTdG
RTY4NkQyNjA0ODI3ODAwQkY0NUU0IC8qIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQk1NzkwQTY4NDI1NjdBMjFFMDA3N0M1QTcgLyogX1dLQXV0aGVudGlj
YXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3OTBBNjhEMjU2
N0I0NDkwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZUludGVy
bmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzkwQTY4MDI1NjdBMUFDMDA3N0M1QTcgLyogX1dL
QXV0aGVudGljYXRvclJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkYzhiZTczYTBjM2IzZTE0ZWNlMTA4
MDdlYmJjOTE5ODNlOGUzZGZjLi4yMWY0MzQ5NzM2YjlmZmYwODFiNzUzZGY3YjJjMjVmMzMzZjZm
NWIxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMjEtMDMtMTkgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxl
LmNvbT4KKworICAgICAgICBQcm92aWRlIGEgd2F5IHRvIHNwZWNpZnkgcGxhdGZvcm0gdnMgc2Vj
dXJpdHkga2V5IHdoZW4gcmVxdWVzdGluZyBhbiBhc3NlcnRpb24gaW4gdGhlIFNQSQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTQ3CisgICAgICAg
IHJkYXI6Ly83NDAzNDc0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0N0YXBSZXF1ZXN0VGVzdC5j
cHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW06CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgQWRkcyB0aGUgdGVzdCBjYXNlLgor
CiAyMDIxLTAzLTIyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW1vdmUgdW51c2VkIEpTIGFuZCBDU1MgZmlsZXMgb2YgbWVkaWEgY29udHJvbHMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DdGFwUmVxdWVzdFRlc3Qu
Y3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0N0YXBSZXF1ZXN0VGVzdC5j
cHAKaW5kZXggZjEzOWQyNTI3ZTZiZDhjODVhODU3NzAzMWZkODBlY2Y1Yjg3MWIyYy4uNjVlYWNk
MDM5MmY3ZWMxYmQ0MGE0NTM2MzA0YzJkMzI4MTMxNmNkOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0N0YXBSZXF1ZXN0VGVzdC5jcHAKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0N0YXBSZXF1ZXN0VGVzdC5jcHAKQEAgLTU5LDcg
KzU5LDcgQEAgVEVTVChDVEFQUmVxdWVzdFRlc3QsIFRlc3RDb25zdHJ1Y3RNYWtlQ3JlZGVudGlh
bFJlcXVlc3RQYXJhbSkKICAgICB1c2VyLmRpc3BsYXlOYW1lID0gIkpvaG4gUC4gU21pdGgiOwog
CiAgICAgVmVjdG9yPFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OlBhcmFtZXRl
cnM+IHBhcmFtcyB7IHsgUHVibGljS2V5Q3JlZGVudGlhbFR5cGU6OlB1YmxpY0tleSwgNyB9LCB7
IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlOjpQdWJsaWNLZXksIDI1NyB9IH07Ci0gICAgUHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRl
cmlhIHNlbGVjdGlvbiB7IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhl
bnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSwgdHJ1ZSwgVXNlclZlcmlmaWNhdGlvblJlcXVp
cmVtZW50OjpQcmVmZXJyZWQgfTsKKyAgICBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRp
b25zOjpBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEgc2VsZWN0aW9uIHsgQXV0aGVudGlj
YXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtLCB0cnVlLCBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1l
bnQ6OlByZWZlcnJlZCB9OwogCiAgICAgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cyBvcHRpb25zIHsgcnAsIHVzZXIsIHsgfSwgcGFyYW1zLCBXVEY6Om51bGxvcHQsIHsgfSwgc2Vs
ZWN0aW9uLCBBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlOjpOb25lLCBXVEY6Om51bGxv
cHQgfTsKICAgICBWZWN0b3I8dWludDhfdD4gaGFzaDsKQEAgLTgyLDcgKzgyLDcgQEAgVEVTVChD
VEFQUmVxdWVzdFRlc3QsIFRlc3RDb25zdHJ1Y3RNYWtlQ3JlZGVudGlhbFJlcXVlc3RQYXJhbU5v
VVZOb1JLKQogICAgIHVzZXIuZGlzcGxheU5hbWUgPSAiSm9obiBQLiBTbWl0aCI7CiAKICAgICBW
ZWN0b3I8UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6UGFyYW1ldGVycz4gcGFy
YW1zIHsgeyBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZTo6UHVibGljS2V5LCA3IH0sIHsgUHVibGlj
S2V5Q3JlZGVudGlhbFR5cGU6OlB1YmxpY0tleSwgMjU3IH0gfTsKLSAgICBQdWJsaWNLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEgc2Vs
ZWN0aW9uIHsgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRv
ckF0dGFjaG1lbnQ6OlBsYXRmb3JtLCBmYWxzZSwgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50
OjpEaXNjb3VyYWdlZCB9OworICAgIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6
OkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYSBzZWxlY3Rpb24geyBBdXRoZW50aWNhdG9y
QXR0YWNobWVudDo6UGxhdGZvcm0sIGZhbHNlLCBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQ6
OkRpc2NvdXJhZ2VkIH07CiAKICAgICBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25z
IG9wdGlvbnMgeyBycCwgdXNlciwgeyB9LCBwYXJhbXMsIFdURjo6bnVsbG9wdCwgeyB9LCBzZWxl
Y3Rpb24sIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2U6Ok5vbmUsIFdURjo6bnVsbG9w
dCB9OwogICAgIFZlY3Rvcjx1aW50OF90PiBoYXNoOwpAQCAtMTA1LDcgKzEwNSw3IEBAIFRFU1Qo
Q1RBUFJlcXVlc3RUZXN0LCBUZXN0Q29uc3RydWN0TWFrZUNyZWRlbnRpYWxSZXF1ZXN0UGFyYW1V
VlJlcXVpcmVkQnV0Tm90U3VwCiAgICAgdXNlci5kaXNwbGF5TmFtZSA9ICJKb2huIFAuIFNtaXRo
IjsKIAogICAgIFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpQYXJh
bWV0ZXJzPiBwYXJhbXMgeyB7IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlOjpQdWJsaWNLZXksIDcg
fSwgeyBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZTo6UHVibGljS2V5LCAyNTcgfSB9OwotICAgIFB1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25D
cml0ZXJpYSBzZWxlY3Rpb24geyBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpB
dXRoZW50aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0sIGZhbHNlLCBVc2VyVmVyaWZpY2F0aW9u
UmVxdWlyZW1lbnQ6OlJlcXVpcmVkIH07CisgICAgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9u
T3B0aW9uczo6QXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhIHNlbGVjdGlvbiB7IEF1dGhl
bnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSwgZmFsc2UsIFVzZXJWZXJpZmljYXRpb25SZXF1
aXJlbWVudDo6UmVxdWlyZWQgfTsKIAogICAgIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMgb3B0aW9ucyB7IHJwLCB1c2VyLCB7IH0sIHBhcmFtcywgV1RGOjpudWxsb3B0LCB7IH0s
IHNlbGVjdGlvbiwgQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZTo6Tm9uZSwgV1RGOjpu
dWxsb3B0IH07CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IGhhc2g7CkBAIC0xMjgsNyArMTI4LDcgQEAg
VEVTVChDVEFQUmVxdWVzdFRlc3QsIFRlc3RDb25zdHJ1Y3RNYWtlQ3JlZGVudGlhbFJlcXVlc3RQ
YXJhbVdpdGhQaW4pCiAgICAgdXNlci5kaXNwbGF5TmFtZSA9ICJKb2huIFAuIFNtaXRoIjsKIAog
ICAgIFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpQYXJhbWV0ZXJz
PiBwYXJhbXMgeyB7IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlOjpQdWJsaWNLZXksIDcgfSwgeyBQ
dWJsaWNLZXlDcmVkZW50aWFsVHlwZTo6UHVibGljS2V5LCAyNTcgfSB9OwotICAgIFB1YmxpY0tl
eUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJp
YSBzZWxlY3Rpb24geyBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50
aWNhdG9yQXR0YWNobWVudDo6UGxhdGZvcm0sIHRydWUsIFVzZXJWZXJpZmljYXRpb25SZXF1aXJl
bWVudDo6UHJlZmVycmVkIH07CisgICAgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
czo6QXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhIHNlbGVjdGlvbiB7IEF1dGhlbnRpY2F0
b3JBdHRhY2htZW50OjpQbGF0Zm9ybSwgdHJ1ZSwgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50
OjpQcmVmZXJyZWQgfTsKIAogICAgIFBpblBhcmFtZXRlcnMgcGluOwogICAgIHBpbi5wcm90b2Nv
bCA9IHBpbjo6a1Byb3RvY29sVmVyc2lvbjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5l
bC5tbQppbmRleCBjYzRmYmMwNmY3YzMxMDQwOTdhNzQzOWM4N2Q0NzcwMGExMjZkYjA0Li5mMDRi
YWVkYTczOGZmMjJjMGE1MmYwOWU0ZjBkNDlkMTM0NWY1ZGQyIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwu
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLm1tCkBAIC0xNjQ3LDcgKzE2NDcsNyBAQCBURVNUKFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwsIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnNNYXhpbXVtMSkK
ICAgICBFWFBFQ1RfRVEocmVzdWx0LmV4Y2x1ZGVDcmVkZW50aWFsc1swXS50cmFuc3BvcnRzWzFd
LCBBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpOZmMpOwogICAgIEVYUEVDVF9FUShyZXN1bHQuZXhj
bHVkZUNyZWRlbnRpYWxzWzBdLnRyYW5zcG9ydHNbMl0sIEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6
OkludGVybmFsKTsKIAotICAgIEVYUEVDVF9FUShyZXN1bHQuYXV0aGVudGljYXRvclNlbGVjdGlv
bi0+YXV0aGVudGljYXRvckF0dGFjaG1lbnQsIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSk7CisgICAgRVhQRUNUX0VR
KHJlc3VsdC5hdXRoZW50aWNhdG9yU2VsZWN0aW9uLT5hdXRoZW50aWNhdG9yQXR0YWNobWVudCwg
QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtKTsKICAgICBFWFBFQ1RfRVEocmVzdWx0
LmF1dGhlbnRpY2F0b3JTZWxlY3Rpb24tPnJlcXVpcmVSZXNpZGVudEtleSwgdHJ1ZSk7CiAgICAg
RVhQRUNUX0VRKHJlc3VsdC5hdXRoZW50aWNhdG9yU2VsZWN0aW9uLT51c2VyVmVyaWZpY2F0aW9u
LCBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQ6OlJlcXVpcmVkKTsKIApAQCAtMTcxNyw3ICsx
NzE3LDcgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBQdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zTWF4aW11bTIpCiAgICAgRVhQRUNUX0VRKHJlc3VsdC5leGNsdWRlQ3Jl
ZGVudGlhbHNbMF0udHJhbnNwb3J0c1sxXSwgQXV0aGVudGljYXRvclRyYW5zcG9ydDo6TmZjKTsK
ICAgICBFWFBFQ1RfRVEocmVzdWx0LmV4Y2x1ZGVDcmVkZW50aWFsc1swXS50cmFuc3BvcnRzWzJd
LCBBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CiAKLSAgICBFWFBFQ1RfRVEocmVz
dWx0LmF1dGhlbnRpY2F0b3JTZWxlY3Rpb24tPmF1dGhlbnRpY2F0b3JBdHRhY2htZW50LCBQdWJs
aWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6
Q3Jvc3NQbGF0Zm9ybSk7CisgICAgRVhQRUNUX0VRKHJlc3VsdC5hdXRoZW50aWNhdG9yU2VsZWN0
aW9uLT5hdXRoZW50aWNhdG9yQXR0YWNobWVudCwgQXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OkNy
b3NzUGxhdGZvcm0pOwogICAgIEVYUEVDVF9FUShyZXN1bHQuYXV0aGVudGljYXRvclNlbGVjdGlv
bi0+cmVxdWlyZVJlc2lkZW50S2V5LCB0cnVlKTsKICAgICBFWFBFQ1RfRVEocmVzdWx0LmF1dGhl
bnRpY2F0b3JTZWxlY3Rpb24tPnVzZXJWZXJpZmljYXRpb24sIFVzZXJWZXJpZmljYXRpb25SZXF1
aXJlbWVudDo6RGlzY291cmFnZWQpOwogCkBAIC0xOTI2LDYgKzE5MjYsMzYgQEAgVEVTVChXZWJB
dXRoZW50aWNhdGlvblBhbmVsLCBHZXRBc3NlcnRpb25MQSkKICAgICBVdGlsOjpydW4oJndlYkF1
dGhlbnRpY2F0aW9uUGFuZWxSYW4pOwogfQogCitURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWws
IEdldEFzc2VydGlvbkNyb3NzUGxhdGZvcm0pCit7CisgICAgcmVzZXQoKTsKKworICAgIEFTU0VS
VF9UUlVFKGFkZEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCwgIiIsIHRl
c3RVc2VyRW50aXR5QnVuZGxlQmFzZTY0KSk7CisKKyAgICB1aW50OF90IGhhc2hbXSA9IHsgMHgw
MSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwg
MHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgw
NCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwg
MHgwMiwgMHgwMywgMHgwNCB9OworICAgIE5TRGF0YSAqbnNIYXNoID0gW05TRGF0YSBkYXRhV2l0
aEJ5dGVzOmhhc2ggbGVuZ3RoOnNpemVvZihoYXNoKV07CisKKyAgICBhdXRvIG9wdGlvbnMgPSBh
ZG9wdE5TKFtbX1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zIGFsbG9jXSBpbml0
XSk7CisgICAgW29wdGlvbnMgc2V0UmVseWluZ1BhcnR5SWRlbnRpZmllcjpAIiJdOworICAgIFtv
cHRpb25zIHNldEF1dGhlbnRpY2F0b3JBdHRhY2htZW50Ol9XS0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50Q3Jvc3NQbGF0Zm9ybV07CisgICAgW29wdGlvbnMgc2V0VGltZW91dDpAMTIwXTsKKworICAg
IGF1dG8gcGFuZWwgPSBhZG9wdE5TKFtbX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCBhbGxvY10g
aW5pdF0pOworICAgIFtwYW5lbCBzZXRNb2NrQ29uZmlndXJhdGlvbjpAeyB9XTsKKyAgICBhdXRv
IGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RXZWJBdXRoZW50aWNhdGlvblBhbmVsRGVsZWdhdGUg
YWxsb2NdIGluaXRdKTsKKyAgICBbcGFuZWwgc2V0RGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwor
CisgICAgW3BhbmVsIGdldEFzc2VydGlvbldpdGhDaGFsbGVuZ2U6bnNIYXNoIG9yaWdpbjpAIiIg
b3B0aW9uczpvcHRpb25zLmdldCgpIGNvbXBsZXRpb25IYW5kbGVyOl4oX1dLQXV0aGVudGljYXRv
ckFzc2VydGlvblJlc3BvbnNlICpyZXNwb25zZSwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAg
d2ViQXV0aGVudGljYXRpb25QYW5lbFJhbiA9IHRydWU7CisgICAgICAgIGNsZWFuVXBLZXljaGFp
bigiIik7CisKKyAgICAgICAgRVhQRUNUX05VTEwocmVzcG9uc2UpOworICAgICAgICBFWFBFQ1Rf
RVEoZXJyb3IuZG9tYWluLCBXS0Vycm9yRG9tYWluKTsKKyAgICAgICAgRVhQRUNUX0VRKGVycm9y
LmNvZGUsIFdLRXJyb3JVbmtub3duKTsKKyAgICB9XTsKKyAgICBVdGlsOjpydW4oJndlYkF1dGhl
bnRpY2F0aW9uUGFuZWxSYW4pOworfQorCiBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdl
dEFsbENyZWRlbnRpYWwpCiB7CiAgICAgcmVzZXQoKTsK
</data>
<flag name="review"
          id="443526"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
    <flag name="commit-queue"
          id="443588"
          type_id="3"
          status="-"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424047</attachid>
            <date>2021-03-23 12:11:33 -0700</date>
            <delta_ts>2021-03-23 13:00:57 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223547-20210323121132.patch</filename>
            <type>text/plain</type>
            <size>43002</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U3MDBkMTg1ZGEyMGJm
OTk3YmI1NmY2YzFjMGZmNmJmODE1MWExMi4uNjk1ZDc5ZGI4NmJlZmM1YjBhNWViYmE4OWVjN2Uw
NGIxYmMxMzYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTAzLTE5ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHdheSB0
byBzcGVjaWZ5IHBsYXRmb3JtIHZzIHNlY3VyaXR5IGtleSB3aGVuIHJlcXVlc3RpbmcgYW4gYXNz
ZXJ0aW9uIGluIHRoZSBTUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMzU0NworICAgICAgICA8cmRhcjovLzc0MDM0NzQ2PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgQ292ZXJlZCBieSBBUEkgdGVzdHMu
CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0YWNo
bWVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JB
dHRhY2htZW50LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNL
ZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRo
bi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMS0wMy0yMiAgUGF0
cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjcy
NDMzKTogSW5zcGVjdG9yIHNob3VsZCBub3QgaW5zdHJ1bWVudCBpbnNpZGUgYFdlYkNvcmU6Ok5v
ZGU6OnNldFJlbmRlcmVyYApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiNTQ4OTJkMzg2NjFmOTU0MGM4YzFmYTdjNjY1
ZDc1YmE2NTExMjMzLi41MDBhOGE2ZWRkMWFmMmI3YzkzMDEzMWQ2MTFkMzhhZGNhMTZkNDljIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTAzLTE5ICBKaWV3ZW4gVGFuICA8amlld2Vu
X3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHdheSB0byBzcGVjaWZ5IHBsYXRm
b3JtIHZzIHNlY3VyaXR5IGtleSB3aGVuIHJlcXVlc3RpbmcgYW4gYXNzZXJ0aW9uIGluIHRoZSBT
UEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU0
NworICAgICAgICA8cmRhcjovLzc0MDM0NzQ2PgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50
IEZ1bGdoYW0uCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIHRoZSBhdXRoZW50aWNhdG9yIGF0
dGFjaG1lbnQgb3B0aW9uIHRvIHRoZSBnZXRBc3NlcnRpb24gU1BJIHN1Y2ggdGhhdCB0aGUgY2Fs
bGVyCisgICAgICAgIGNhbiBkZWNpZGUgd2hhdCB0cmFuc3BvcnRzIGl0IG5lZWRzLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0b3JTZWxl
Y3Rpb25Dcml0ZXJpYS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHVibGlj
S2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMubW06CisgICAgICAgICgt
W19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyBpbml0XSk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAgICAg
ICAoYXV0aGVudGljYXRvckF0dGFjaG1lbnQpOgorICAgICAgICAoK1tfV0tXZWJBdXRoZW50aWNh
dGlvblBhbmVsIGNvbnZlcnRUb0NvcmVSZXF1ZXN0T3B0aW9uc1dpdGhPcHRpb25zOl0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvcmU6OmNvbGxlY3RUcmFuc3BvcnRzKToKKyAgICAg
ICAgKFdlYktpdDo6QXV0aGVudGljYXRvck1hbmFnZXI6OmdldFRyYW5zcG9ydHMgY29uc3QpOgor
ICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTAzLTIy
ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVVBdIEFkZCBh
ICJ3YWxsVGltZSIgZmllbGQgdG8gc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyU3RhdGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggMzY5Y2M4NDNkZjBhODRhOGMxZWMyY2I4M2Q5ZjY1NzBlZWU0MjFj
OC4uMTE5ZTlkNGNmMWZmNmJhNGVhZWRjZmE5YjcxODFmOTE3OWVlMGZkYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTU3Nyw2ICs1NzcsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxF
UwogICAgIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5w
dXRzLmlkbAogICAgIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xp
ZW50T3V0cHV0cy5pZGwKICAgICBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRp
b25SZXNwb25zZS5pZGwKKyAgICBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50LmlkbAogICAgIE1vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVz
cG9uc2UuaWRsCiAgICAgTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRs
CiAgICAgTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yVHJhbnNwb3J0LmlkbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggNGQ1ZTcy
ODBhOGI0Zjk4YTY1ZjRlY2IxNjEwYjI0NDBiMjkwOTlkZi4uNGU1ODhhMjQ5NDk3M2E3OTBlMTY1
YzBhYTE0YTQ1YWFkMmQ4YzhkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC01MTUsNiArNTE1LDcgQEAgJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJhdXRobi9BdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJ
bnB1dHMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0aW9u
RXh0ZW5zaW9uc0NsaWVudE91dHB1dHMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmF1
dGhuL0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JUcmFuc3BvcnQu
aWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CmluZGV4IDFjYWM5ZDVjMTA5MGMzYmY1OWE2MTU4N2FmZDYxYWZlYTU2NDAwZjIuLmY3YTYzOGFh
OTM5MDU3ZDczNDgwOTFhYjQyODEzOWM5OTRkMGQzMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yNDEsNiArMjQxLDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRoZW50aWNhdGlv
bkV4dGVuc2lvbnNDbGllbnRPdXQKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1dGhlbnRpY2F0b3JB
c3NlcnRpb25SZXNwb25zZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0aGVudGljYXRvckF0dGFjaG1l
bnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1
dGhlbnRpY2F0b3JBdHRhY2htZW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1dGhlbnRpY2F0b3JB
dHRlc3RhdGlvblJlc3BvbnNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQXV0aGVudGljYXRvclJlc3BvbnNlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggNjBjMjE3YjczNDhiY2RhNTNhNmJjNGM2ODJjZmRlYTQ0OTQxMGJiNy4u
M2VkYTEwYThjNjdjODFmMDdjNTVjZTNhOTBjMWQ2MTNmMDkzZGJkMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC00MzUsNiArNDM1LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRpb25FeHRlbnNpb25z
Q2xpZW50SW5wdXRzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmlkbCBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlv
blJlc3BvbnNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRp
Y2F0b3JSZXNwb25zZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdXRobi9BdXRo
ZW50aWNhdG9yVHJhbnNwb3J0LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY3
YWEwNmM3ZGI3Yzg4ZjZjN2FhYjc2M2JmYzUxNWY0YmQ4YTkyMAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckF0dGFjaG1lbnQu
aApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFC
TEUoV0VCX0FVVEhOKQorCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50IHsKKyAgICBQ
bGF0Zm9ybSwKKyAgICBDcm9zc1BsYXRmb3JtCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNv
cmU6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50PiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZh
bHVlczwKKyAgICAgICAgV2ViQ29yZTo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQsCisgICAgICAg
IFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSwKKyAgICAgICAgV2Vi
Q29yZTo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OkNyb3NzUGxhdGZvcm0KKyAgICA+OworfTsK
KworfSAvLyBuYW1lc3BhY2UgV1RGCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVVEhOKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0
YWNobWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0
b3JBdHRhY2htZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjlhZDdiZGRmNTJmZDA4MjVhN2JiMTJkMWI3
MGM4NDg5NTcyYjk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQXR0YWNobWVudC5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCisgICAgSW1wbGVtZW50ZWRB
cz1BdXRoZW50aWNhdG9yQXR0YWNobWVudAorXSBlbnVtIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50
IHsKKyAgICAicGxhdGZvcm0iLAorICAgICJjcm9zcy1wbGF0Zm9ybSIKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVh
dGlvbk9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oCmluZGV4IGJjMzMxMThiNThmMzVmYTgwMzhkN2Qz
YzBlMzM3N2MxNDllNzhmNzQuLmJiZTkyMjEwNjczN2JkZWMzMzFiYTg2OGJlN2FhZmQ3ZDRkMGIy
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5
Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oCkBAIC0yOCw2ICsy
OCw3IEBACiAjaWYgRU5BQkxFKFdFQl9BVVRITikKICNpbmNsdWRlICJBdHRlc3RhdGlvbkNvbnZl
eWFuY2VQcmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xp
ZW50SW5wdXRzLmgiCisjaW5jbHVkZSAiQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCIKICNpbmNs
dWRlICJCdWZmZXJTb3VyY2UuaCIKICNpbmNsdWRlICJQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3Jp
cHRvci5oIgogI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmgiCkBAIC0zOSwxMSAr
NDAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBQdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zIHsKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIGVudW0gY2xhc3Mg
QXV0aGVudGljYXRvckF0dGFjaG1lbnQgewotICAgICAgICBQbGF0Zm9ybSwKLSAgICAgICAgQ3Jv
c3NQbGF0Zm9ybQotICAgIH07Ci0KICAgICBzdHJ1Y3QgRW50aXR5IHsKICAgICAgICAgU3RyaW5n
IG5hbWU7CiAgICAgICAgIFN0cmluZyBpY29uOwpAQCAtMjAyLDE3ICsxOTgsMyBAQCBPcHRpb25h
bDxQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zPiBQdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zOgogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2lmIEVOQUJMRShXRUJfQVVUSE4pCi1uYW1lc3BhY2UgV1RGIHsK
LQotdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudD4gewotICAgIHVzaW5n
IHZhbHVlcyA9IEVudW1WYWx1ZXM8Ci0gICAgICAgIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50LAotICAgICAgICBXZWJD
b3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0
YWNobWVudDo6UGxhdGZvcm0sCi0gICAgICAgIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxD
cmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpDcm9zc1BsYXRmb3JtCi0g
ICAgPjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgotI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVU
SE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tl
eUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbAppbmRleCBlY2I2
NzAxYzZkYzIyMzNkYjE5ZjAwYzg4NjgxMDk4MjAwMTViYTc4Li5jZTY2NWY0MTMzODg4Mjk0Nzll
ZmU2MWQ0NWQ1OTQyNjU1NzM1OTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9u
T3B0aW9ucy5pZGwKQEAgLTc1LDEwICs3NSwzIEBAIHR5cGVkZWYgbG9uZyBDT1NFQWxnb3JpdGht
SWRlbnRpZmllcjsKICAgICBib29sZWFuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVSZXNp
ZGVudEtleSA9IGZhbHNlOwogICAgIFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudCAgdXNlclZl
cmlmaWNhdGlvbiA9ICJwcmVmZXJyZWQiOwogfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQl9B
VVRITiwKLV0gZW51bSBBdXRoZW50aWNhdG9yQXR0YWNobWVudCB7Ci0gICAgInBsYXRmb3JtIiwK
LSAgICAiY3Jvc3MtcGxhdGZvcm0iCi19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRp
b25zLmgKaW5kZXggNzlhNWVjOWQwOTFkMGE0OTQ0NDJhMjVjMzE4MTRiMTQwNDBkYWFkZi4uY2Ux
NDA4NDE3Yjc5MGM1YmQ5ZDVmMWU3MjRkYjRmYTVjYWI1ZTM3NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRl
bnRpYWxSZXF1ZXN0T3B0aW9ucy5oCkBAIC00Miw2ICs0Miw3IEBAIHN0cnVjdCBQdWJsaWNLZXlD
cmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgewogICAgIG11dGFibGUgU3RyaW5nIHJwSWQ7CiAgICAg
VmVjdG9yPFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yPiBhbGxvd0NyZWRlbnRpYWxzOwog
ICAgIFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudCB1c2VyVmVyaWZpY2F0aW9uIHsgVXNlclZl
cmlmaWNhdGlvblJlcXVpcmVtZW50OjpQcmVmZXJyZWQgfTsKKyAgICBPcHRpb25hbDxBdXRoZW50
aWNhdG9yQXR0YWNobWVudD4gYXV0aGVudGljYXRvckF0dGFjaG1lbnQ7CiAgICAgbXV0YWJsZSBP
cHRpb25hbDxBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHM+IGV4dGVuc2lvbnM7
CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CmluZGV4IDMwMGFhODA3ZDFmMGEyMDg2N2I1NjE3YmRiOWRjYjg4MTQ4
NmRlNDcuLjRiNDE1ZTlmY2JkNGI4ZDg2N2RmNWRhN2U3YzYxMzNmOWIxOTQwZWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC0yNzk5LDYgKzI3OTksNyBAQCBKU0F1ZGlvV29ya2xldFByb2Nlc3NvckNvbnN0
cnVjdG9yLmNwcAogSlNBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMuY3BwCiBK
U0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMuY3BwCiBKU0F1dGhlbnRpY2F0
b3JBc3NlcnRpb25SZXNwb25zZS5jcHAKK0pTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuY3BwCiBK
U0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmNwcAogSlNBdXRoZW50aWNhdG9yUmVz
cG9uc2UuY3BwCiBKU0F1dGhlbnRpY2F0b3JUcmFuc3BvcnQuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDI4ZjllMWZjYmQ1
NjZmYjQ5NWEyYTcxMzQ2MTE3MDQ5NWQzMGZjZS4uNTI4MmY2NDhiNTE1YTIyNmUxZjBmYTJjY2E3
ZDIxZDA1ZDBiZTRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTkxNCw2ICsxOTE0LDggQEAKIAkJNTdFRUFBNTAxRTlGRkJG
QzAwNzAxMTI0IC8qIENyeXB0b0FsZ29yaXRobUVjZHNhUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0VFQUE0RDFFOUZGQkZDMDA3MDExMjQg
LyogQ3J5cHRvQWxnb3JpdGhtRWNkc2FQYXJhbXMuaCAqLzsgfTsKIAkJNTdFRUFBNTUxRUEwMDFC
MTAwNzAxMTI0IC8qIEpTRWNkc2FQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU3RUVBQTUzMUVBMDAxQjEwMDcwMTEyNCAvKiBKU0VjZHNhUGFy
YW1zLmggKi87IH07CiAJCTU3RUY1RTYwMUQyMEM4MzkwMDE3MUU2MCAvKiBUZXh0Q29kZWNSZXBs
YWNlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTdFRjVFNUYxRDIwQzgzOTAwMTcxRTYwIC8qIFRleHRDb2RlY1JlcGxhY2VtZW50LmggKi87IH07
CisJCTU3RkU2ODcxMjYwNTJFMzEwMEJGNDVFNCAvKiBBdXRoZW50aWNhdG9yQXR0YWNobWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRTY4NkUy
NjA1MkUzMTAwQkY0NUU0IC8qIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTdGRTY4NzYyNjA1NTY4NTAw
QkY0NUU0IC8qIEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkU2ODc1MjYwNTU2ODUwMEJGNDVFNCAvKiBK
U0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmggKi87IH07CiAJCTU3RkVERDNGMURCNkQ1OTIwMEVC
OTZGNSAvKiBDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RkVERDNFMURCNkQ1OTIwMEVCOTZGNSAv
KiBDcnlwdG9BbGdvcml0aG1Sc2FLZXlHZW5QYXJhbXMuaCAqLzsgfTsKIAkJNTdGRURENDExREI2
RDczQTAwRUI5NkY1IC8qIEpTUnNhS2V5R2VuUGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZFREQ0MDFEQjZENzNBMDBFQjk2RjUgLyogSlNS
c2FLZXlHZW5QYXJhbXMuaCAqLzsgfTsKIAkJNTgwMzcxNjIxQTY2RjAwQTAwQkFGNTE5IC8qIENs
aXBSZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
ODAzNzE2MDFBNjZGMDBBMDBCQUY1MTkgLyogQ2xpcFJlY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTQ0OSw2ICs5NDUxLDEwIEBACiAJCTU3
RUY1RTYxMUQyMEQyODcwMDE3MUU2MCAvKiBUZXh0Q29kZWNSZXBsYWNlbWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0Q29kZWNSZXBsYWNlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RjFDOEUzMjVEQzZFRTcwMEU4RjZFQSAv
KiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDb2NvYS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGODI3MzkxREI3MkMyMjAwOUQyQkY0IC8qIFJzYUhh
c2hlZEtleUdlblBhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTdGRTY4NkUyNjA1MkUzMTAwQkY0NUU0IC8qIEF1
dGhlbnRpY2F0b3JBdHRhY2htZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JBdHRh
Y2htZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3RkU2ODcwMjYwNTJFMzEw
MEJGNDVFNCAvKiBBdXRoZW50aWNhdG9yQXR0YWNobWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXV0aGVudGljYXRv
ckF0dGFjaG1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1N0ZFNjg3NTI2
MDU1Njg1MDBCRjQ1RTQgLyogSlNBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0F1dGhlbnRpY2F0b3JBdHRhY2htZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTU3RkU2ODc3MjYwNTU2OEYwMEJGNDVFNCAvKiBKU0F1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXV0aGVudGljYXRvckF0dGFjaG1lbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0ZFREQzRDFEQjZENDdGMDBFQjk2RjUg
LyogUnNhS2V5R2VuUGFyYW1zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSc2FLZXlHZW5QYXJhbXMuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1N0ZFREQzRTFEQjZENTkyMDBFQjk2RjUgLyogQ3J5cHRv
QWxnb3JpdGhtUnNhS2V5R2VuUGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENyeXB0b0FsZ29yaXRobVJzYUtleUdlblBhcmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1N0ZFREQ0MDFEQjZENzNBMDBFQjk2RjUgLyogSlNSc2FLZXlHZW5QYXJhbXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNSc2FLZXlHZW5QYXJhbXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxNjAwLDYgKzIxNjA2LDggQEAKIAkJCQk1
NzU4NTk2RTIzOUYzOTc5MDBDNzQ1NzIgLyogQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
LmNwcCAqLywKIAkJCQk1NzMwM0MyNzIwMDlCMkZDMDAzNTU5NjUgLyogQXV0aGVudGljYXRvckFz
c2VydGlvblJlc3BvbnNlLmggKi8sCiAJCQkJNTczMDNDMjkyMDA5QjJGQzAwMzU1OTY1IC8qIEF1
dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5pZGwgKi8sCisJCQkJNTdGRTY4NkUyNjA1MkUz
MTAwQkY0NUU0IC8qIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50LmggKi8sCisJCQkJNTdGRTY4NzAy
NjA1MkUzMTAwQkY0NUU0IC8qIEF1dGhlbnRpY2F0b3JBdHRhY2htZW50LmlkbCAqLywKIAkJCQk1
NzU4NTk2QjIzOUYyODRCMDBDNzQ1NzIgLyogQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9u
c2UuY3BwICovLAogCQkJCTU3MzAzQzFCMjAwOUE5ODYwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9y
QXR0ZXN0YXRpb25SZXNwb25zZS5oICovLAogCQkJCTU3MzAzQzFEMjAwOUE5ODYwMDM1NTk2NSAv
KiBBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5pZGwgKi8sCkBAIC0yMTY0Myw2ICsy
MTY1MSw4IEBACiAJCQkJNTc1ODU5NUUyMzlGMTE3MzAwQzc0NTcyIC8qIEpTQXV0aGVudGljYXRp
b25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cy5oICovLAogCQkJCTU3MzAzQzJFMjAwOUI3REEwMDM1
NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5jcHAgKi8sCiAJCQkJNTcz
MDNDMkQyMDA5QjdEOTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNl
LmggKi8sCisJCQkJNTdGRTY4NzcyNjA1NTY4RjAwQkY0NUU0IC8qIEpTQXV0aGVudGljYXRvckF0
dGFjaG1lbnQuY3BwICovLAorCQkJCTU3RkU2ODc1MjYwNTU2ODUwMEJGNDVFNCAvKiBKU0F1dGhl
bnRpY2F0b3JBdHRhY2htZW50LmggKi8sCiAJCQkJNTczMDNDMjAyMDA5QUVGNTAwMzU1OTY1IC8q
IEpTQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuY3BwICovLAogCQkJCTU3MzAzQzIx
MjAwOUFFRjYwMDM1NTk2NSAvKiBKU0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmgg
Ki8sCiAJCQkJNTczMDNCREUyMDA5NUIyNzAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvclJlc3Bv
bnNlLmNwcCAqLywKQEAgLTMxNDM0LDYgKzMxNDQ0LDcgQEAKIAkJCQk1NzU4NTk2QzIzOUYzMjFD
MDBDNzQ1NzIgLyogQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTE0Qzc2NEMwQ0U5MjM0RTAwN0VGM0NEIC8qIEF1dGhlbnRpY2F0aW9u
TWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzMwM0MyQzIwMDlCNEE4MDAzNTU5NjUgLyogQXV0
aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1N0ZFNjg3
MTI2MDUyRTMxMDBCRjQ1RTQgLyogQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTU3MzAzQzFGMjAwOUFCNDIwMDM1NTk2NSAvKiBBdXRoZW50aWNhdG9yQXR0ZXN0
YXRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTczMDNDNDYyMDEwNUQyRjAwMzU1
OTY1IC8qIEF1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc2
MDgyNzIyMDIxNUE1NTAwMTE2Njc4IC8qIEF1dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zMjkxNSw2ICszMjkyNiw3IEBACiAJCQkJNTdEMTM1MkEyMjk0
QUEzOTAwODI3NDAxIC8qIEpTQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1NzU4NTk2MTIzOUYxMjREMDBDNzQ1NzIgLyogSlNBdXRoZW50
aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzMw
M0MyRjIwMDlCN0UxMDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCTU3RkU2ODc2MjYwNTU2ODUwMEJGNDVFNCAvKiBKU0F1dGhl
bnRpY2F0b3JBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzMwM0MyMjIwMDlBRjAz
MDAzNTU5NjUgLyogSlNBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTczMDNCRTEyMDA5NUQ2MTAwMzU1OTY1IC8qIEpTQXV0aGVudGljYXRvclJl
c3BvbnNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0RDRUQ5ODIxNDg4MjE2MDAxNkI4NDcgLyog
SlNBdXRoZW50aWNhdG9yVHJhbnNwb3J0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50aWNhdG9yQXR0YWNobWVu
dC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0b3JB
dHRhY2htZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY2ODBlNTlhNWVkZTIzZmI0MjU2NzczOTJjMzFjMGVj
MDhkMmYxZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgor
Cit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudCkg
eworICAgIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50QWxsLAorICAgIF9XS0F1dGhlbnRpY2F0
b3JBdHRhY2htZW50UGxhdGZvcm0sCisgICAgX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnRDcm9z
c1BsYXRmb3JtLAorfSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0F1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0F1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYS5oCmluZGV4
IDgwYWE4M2Q2ZDFjZGVlYWNiMTI0NTk0ZTQ2NWE3ZjJiMmYwMjJkNTAuLmYzYjU5Y2VmMGFiOWEx
OWQzOTRhN2M2YWNiMzU1ZGE1OGRhNzdkNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0aGVudGljYXRvclNlbGVj
dGlvbkNyaXRlcmlhLmgKQEAgLTI4LDE2ICsyOCwxMSBAQAogI2ltcG9ydCA8V2ViS2l0L1dLRm91
bmRhdGlvbi5oPgogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQg
PFdlYktpdC9fV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudC5oPgogI2ltcG9ydCA8V2ViS2l0L19X
S1VzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudC5oPgogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJ
TgogCi10eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVu
dCkgewotICAgIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50QWxsLAotICAgIF9XS0F1dGhlbnRp
Y2F0b3JBdHRhY2htZW50UGxhdGZvcm0sCi0gICAgX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnRD
cm9zc1BsYXRmb3JtLAotfSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3Mo
V0tfSU9TX1RCQSkpOwotCiBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSkKIEBpbnRlcmZhY2UgX1dLQXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRl
cmlhIDogTlNPYmplY3QKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0
aW9ucy5oCmluZGV4IDliODdiYWZkYjA1NmU1ZTVhODRjZmQzZTZiMTljNDk3MDBiMWMxMDguLmJm
ODlmOThkY2M1NjRmYTVlM2M3ZGI2MWFhYzA0NjYxMDhlYmQwNjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVz
dE9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHVi
bGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbXBv
cnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0
aW9uLmg+CisjaW1wb3J0IDxXZWJLaXQvX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaD4KICNp
bXBvcnQgPFdlYktpdC9fV0tVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQuaD4KIAogTlNfQVNT
VU1FX05PTk5VTExfQkVHSU4KQEAgLTQzLDYgKzQ0LDggQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1h
Y29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCiBAcHJvcGVydHkgKG51bGxhYmxlLCBu
b25hdG9taWMsIGNvcHkpIE5TQXJyYXk8X1dLUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3Ig
Kj4gKmFsbG93Q3JlZGVudGlhbHM7CiAvKiFAZGlzY3Vzc2lvbiBUaGUgZGVmYXVsdCB2YWx1ZSBp
cyBfV0tVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnRQcmVmZXJyZWQuKi8KIEBwcm9wZXJ0eSAo
bm9uYXRvbWljKSBfV0tVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQgdXNlclZlcmlmaWNhdGlv
bjsKKy8qIUBkaXNjdXNzaW9uIFRoZSBkZWZhdWx0IHZhbHVlIGlzIF9XS0F1dGhlbnRpY2F0b3JB
dHRhY2htZW50QWxsLiovCitAcHJvcGVydHkgKG5vbmF0b21pYykgX1dLQXV0aGVudGljYXRvckF0
dGFjaG1lbnQgYXV0aGVudGljYXRvckF0dGFjaG1lbnQ7CiBAcHJvcGVydHkgKG51bGxhYmxlLCBu
b25hdG9taWMsIHN0cm9uZykgX1dLQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRz
ICpleHRlbnNpb25zOwogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1
ZXN0T3B0aW9ucy5tbQppbmRleCA4MjhmNWI4M2JhMWI0MjUyZjQ1ZTZmN2RjOGIxMWNkOTZlY2Fk
YzhmLi5mZTk4YzE2MDhlM2MzZDI0NDNjMTY3OWIzZmFjYzdjZTc1OWM1M2UzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMubW0KQEAgLTM0LDYgKzM0LDcg
QEAgLSAoaW5zdGFuY2V0eXBlKWluaXQKICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAgIHNlbGYu
dXNlclZlcmlmaWNhdGlvbiA9IF9XS1VzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudFByZWZlcnJl
ZDsKKyAgICBzZWxmLmF1dGhlbnRpY2F0b3JBdHRhY2htZW50ID0gX1dLQXV0aGVudGljYXRvckF0
dGFjaG1lbnRBbGw7CiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFu
ZWwubW0KaW5kZXggMTQ1MTUxZWYwY2JkMzc1ZmM5NzU0ZDdlYzg2OTM3MTYzNDAxODIyNS4uZmU3
NTE5NzM5ZGYyZWQyZTM3ZmVlZDBkNDlkZDQ2ZDNlZDZmNjE0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0
aW9uUGFuZWwubW0KQEAgLTM2MywxNSArMzYzLDE1IEBAIHN0YXRpYyBWZWN0b3I8V2ViQ29yZTo6
UHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+IHB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlw
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6OlB1Ymxp
Y0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50PiBh
dXRoZW50aWNhdG9yQXR0YWNobWVudChfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudCBhdHRhY2ht
ZW50KQorc3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50PiBh
dXRoZW50aWNhdG9yQXR0YWNobWVudChfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudCBhdHRhY2ht
ZW50KQogewogICAgIHN3aXRjaCAoYXR0YWNobWVudCkgewogICAgIGNhc2UgX1dLQXV0aGVudGlj
YXRvckF0dGFjaG1lbnRBbGw6CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgY2Fz
ZSBfV0tBdXRoZW50aWNhdG9yQXR0YWNobWVudFBsYXRmb3JtOgotICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0
dGFjaG1lbnQ6OlBsYXRmb3JtOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6QXV0aGVudGljYXRv
ckF0dGFjaG1lbnQ6OlBsYXRmb3JtOwogICAgIGNhc2UgX1dLQXV0aGVudGljYXRvckF0dGFjaG1l
bnRDcm9zc1BsYXRmb3JtOgotICAgICAgICByZXR1cm4gV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OkNyb3NzUGxhdGZv
cm07CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6Q3Jv
c3NQbGF0Zm9ybTsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKQEAgLTQ4Niw2ICs0ODYsNyBAQCArIChXZWJD
b3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMpY29udmVydFRvQ29yZVJlcXVl
c3RPcHRpb25zV2l0aE9wdAogICAgIGlmIChvcHRpb25zLmFsbG93Q3JlZGVudGlhbHMpCiAgICAg
ICAgIHJlc3VsdC5hbGxvd0NyZWRlbnRpYWxzID0gcHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0
b3JzKG9wdGlvbnMuYWxsb3dDcmVkZW50aWFscyk7CiAgICAgcmVzdWx0LnVzZXJWZXJpZmljYXRp
b24gPSB1c2VyVmVyaWZpY2F0aW9uKG9wdGlvbnMudXNlclZlcmlmaWNhdGlvbik7CisgICAgcmVz
dWx0LmF1dGhlbnRpY2F0b3JBdHRhY2htZW50ID0gYXV0aGVudGljYXRvckF0dGFjaG1lbnQob3B0
aW9ucy5hdXRoZW50aWNhdG9yQXR0YWNobWVudCk7CiAgICAgcmVzdWx0LmV4dGVuc2lvbnMgPSBh
dXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMob3B0aW9ucy5leHRlbnNpb25zKTsK
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5jcHAKaW5kZXggMzE0NDVk
ZjRmODYyMGI4ODAyNzBhMzMyY2Y0ZWZmNWEyNGExMjNhYS4uNGViNWMxMjU1MmVjYThkNjM0OWJj
YTIyMWVjMWIyZTIxZGUzMTY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRvck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNw
cApAQCAtNjUsMTIgKzY1LDEyIEBAIHN0YXRpYyBBdXRoZW50aWNhdG9yTWFuYWdlcjo6VHJhbnNw
b3J0U2V0IGNvbGxlY3RUcmFuc3BvcnRzKGNvbnN0IE9wdGlvbmFsPFB1YmxpCiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogCi0gICAgaWYgKGF1dGhlbnRpY2F0b3JTZWxlY3Rpb24tPmF1
dGhlbnRpY2F0b3JBdHRhY2htZW50ID09IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnM6OkF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSkgeworICAgIGlmIChhdXRoZW50
aWNhdG9yU2VsZWN0aW9uLT5hdXRoZW50aWNhdG9yQXR0YWNobWVudCA9PSBBdXRoZW50aWNhdG9y
QXR0YWNobWVudDo6UGxhdGZvcm0pIHsKICAgICAgICAgYXV0byBhZGRSZXN1bHQgPSByZXN1bHQu
YWRkKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6OkludGVybmFsKTsKICAgICAgICAgQVNTRVJUX1VO
VVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKICAgICB9Ci0gICAgaWYgKGF1dGhlbnRpY2F0b3JTZWxlY3Rpb24tPmF1dGhlbnRpY2F0
b3JBdHRhY2htZW50ID09IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhl
bnRpY2F0b3JBdHRhY2htZW50OjpDcm9zc1BsYXRmb3JtKSB7CisgICAgaWYgKGF1dGhlbnRpY2F0
b3JTZWxlY3Rpb24tPmF1dGhlbnRpY2F0b3JBdHRhY2htZW50ID09IEF1dGhlbnRpY2F0b3JBdHRh
Y2htZW50OjpDcm9zc1BsYXRmb3JtKSB7CiAgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gcmVzdWx0
LmFkZChBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpVc2IpOwogICAgICAgICBBU1NFUlRfVU5VU0VE
KGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgICAgICBhZGRSZXN1bHQgPSBy
ZXN1bHQuYWRkKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6Ok5mYyk7CkBAIC04Nyw3ICs4Nyw3IEBA
IHN0YXRpYyBBdXRoZW50aWNhdG9yTWFuYWdlcjo6VHJhbnNwb3J0U2V0IGNvbGxlY3RUcmFuc3Bv
cnRzKGNvbnN0IE9wdGlvbmFsPFB1YmxpCiAvLyBJZiBpdCBpcyBub3Qgc3BlY2lmaWVkIG9yIGFu
eSBvZiBpdHMgY3JlZGVudGlhbHMgZG9lc24ndCBzcGVjaWZ5IGl0cyBvd24uIFdlIHNob3VsZCBk
aXNjb3ZlciBhbGwuCiAvLyBUaGlzIGlzIGEgdmFyaWFudCBvZiBTdGVwLiAxOC4qLjQgZnJvbSBo
dHRwczovL3d3dy53My5vcmcvVFIvd2ViYXV0aG4vI2Rpc2NvdmVyLWZyb20tZXh0ZXJuYWwtc291
cmNlCiAvLyBhcyBvZiA3IEF1Z3VzdCAyMDE4Lgotc3RhdGljIEF1dGhlbnRpY2F0b3JNYW5hZ2Vy
OjpUcmFuc3BvcnRTZXQgY29sbGVjdFRyYW5zcG9ydHMoY29uc3QgVmVjdG9yPFB1YmxpY0tleUNy
ZWRlbnRpYWxEZXNjcmlwdG9yPiYgYWxsb3dDcmVkZW50aWFscykKK3N0YXRpYyBBdXRoZW50aWNh
dG9yTWFuYWdlcjo6VHJhbnNwb3J0U2V0IGNvbGxlY3RUcmFuc3BvcnRzKGNvbnN0IFZlY3RvcjxQ
dWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcj4mIGFsbG93Q3JlZGVudGlhbHMsIGNvbnN0IE9w
dGlvbmFsPEF1dGhlbnRpY2F0b3JBdHRhY2htZW50PiYgYXV0aGVudGljYXRvckF0dGFjaG1lbnQp
CiB7CiAgICAgQXV0aGVudGljYXRvck1hbmFnZXI6OlRyYW5zcG9ydFNldCByZXN1bHQ7CiAgICAg
aWYgKGFsbG93Q3JlZGVudGlhbHMuaXNFbXB0eSgpKSB7CkBAIC05Nyw3ICs5Nyw2IEBAIHN0YXRp
YyBBdXRoZW50aWNhdG9yTWFuYWdlcjo6VHJhbnNwb3J0U2V0IGNvbGxlY3RUcmFuc3BvcnRzKGNv
bnN0IFZlY3RvcjxQdWJsaWNLCiAgICAgICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRS
ZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgICAgIGFkZFJlc3VsdCA9IHJlc3VsdC5hZGQoQXV0aGVu
dGljYXRvclRyYW5zcG9ydDo6TmZjKTsKICAgICAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQs
IGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAK
ICAgICBmb3IgKGF1dG8mIGFsbG93Q3JlZGVudGlhbCA6IGFsbG93Q3JlZGVudGlhbHMpIHsKQEAg
LTEwNSwxOSArMTA0LDMyIEBAIHN0YXRpYyBBdXRoZW50aWNhdG9yTWFuYWdlcjo6VHJhbnNwb3J0
U2V0IGNvbGxlY3RUcmFuc3BvcnRzKGNvbnN0IFZlY3RvcjxQdWJsaWNLCiAgICAgICAgICAgICBy
ZXN1bHQuYWRkKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6OkludGVybmFsKTsKICAgICAgICAgICAg
IHJlc3VsdC5hZGQoQXV0aGVudGljYXRvclRyYW5zcG9ydDo6VXNiKTsKICAgICAgICAgICAgIHJl
c3VsdC5hZGQoQXV0aGVudGljYXRvclRyYW5zcG9ydDo6TmZjKTsKLSAgICAgICAgICAgIHJldHVy
biByZXN1bHQ7CisKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgZm9y
IChjb25zdCBhdXRvJiB0cmFuc3BvcnQgOiBhbGxvd0NyZWRlbnRpYWwudHJhbnNwb3J0cykgewog
ICAgICAgICAgICAgaWYgKHRyYW5zcG9ydCA9PSBBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpCbGUp
CiAgICAgICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgIHJlc3VsdC5hZGQodHJh
bnNwb3J0KTsKKwogICAgICAgICAgICAgaWYgKHJlc3VsdC5zaXplKCkgPj0gQXV0aGVudGljYXRv
ck1hbmFnZXI6Om1heFRyYW5zcG9ydE51bWJlcikKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVz
dWx0OworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQogCi0gICAgQVNT
RVJUKHJlc3VsdC5zaXplKCkgPCBBdXRoZW50aWNhdG9yTWFuYWdlcjo6bWF4VHJhbnNwb3J0TnVt
YmVyKTsKKyAgICBpZiAoYXV0aGVudGljYXRvckF0dGFjaG1lbnQpIHsKKyAgICAgICAgaWYgKGF1
dGhlbnRpY2F0b3JBdHRhY2htZW50ID09IEF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9y
bSkgeworICAgICAgICAgICAgcmVzdWx0LnJlbW92ZShBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpV
c2IpOworICAgICAgICAgICAgcmVzdWx0LnJlbW92ZShBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpO
ZmMpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGF1dGhlbnRpY2F0b3JBdHRhY2htZW50ID09
IEF1dGhlbnRpY2F0b3JBdHRhY2htZW50OjpDcm9zc1BsYXRmb3JtKQorICAgICAgICAgICAgcmVz
dWx0LnJlbW92ZShBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CisgICAgfQorCisg
ICAgQVNTRVJUKHJlc3VsdC5zaXplKCkgPD0gQXV0aGVudGljYXRvck1hbmFnZXI6Om1heFRyYW5z
cG9ydE51bWJlcik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtNTAwLDcgKzUxMiw3IEBA
IGF1dG8gQXV0aGVudGljYXRvck1hbmFnZXI6OmdldFRyYW5zcG9ydHMoKSBjb25zdCAtPiBUcmFu
c3BvcnRTZXQKICAgICAgICAgdHJhbnNwb3J0cyA9IGNvbGxlY3RUcmFuc3BvcnRzKG9wdGlvbnMu
YXV0aGVudGljYXRvclNlbGVjdGlvbik7CiAgICAgICAgIHByb2Nlc3NHb29nbGVMZWdhY3lBcHBJ
ZFN1cHBvcnRFeHRlbnNpb24ob3B0aW9ucy5leHRlbnNpb25zLCB0cmFuc3BvcnRzKTsKICAgICB9
LCBbJl0oY29uc3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zJiBvcHRpb25zKSB7
Ci0gICAgICAgIHRyYW5zcG9ydHMgPSBjb2xsZWN0VHJhbnNwb3J0cyhvcHRpb25zLmFsbG93Q3Jl
ZGVudGlhbHMpOworICAgICAgICB0cmFuc3BvcnRzID0gY29sbGVjdFRyYW5zcG9ydHMob3B0aW9u
cy5hbGxvd0NyZWRlbnRpYWxzLCBvcHRpb25zLmF1dGhlbnRpY2F0b3JBdHRhY2htZW50KTsKICAg
ICB9KTsKICAgICBmaWx0ZXJUcmFuc3BvcnRzKHRyYW5zcG9ydHMpOwogICAgIHJldHVybiB0cmFu
c3BvcnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNmM3N2QwZDE1NTNlZDg5ODY5ZDJhMTA5YTk4Zjc1NTUwMGJlMGU0YS4uYWZmMjE1
YWU5ZjM4NWI0NTBjMzg2MzViZmE0ZDkxZWRkM2FkOTQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjE0LDYgKzEyMTQsNyBAQAog
CQk1N0ZEMzE4NTIyQjM1MTY5MDA4RDBFOEIgLyogU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRDMxN0MyMkIz
NTE0QTAwOEQwRThCIC8qIFNPQXV0aG9yaXphdGlvblNlc3Npb24uaCAqLzsgfTsKIAkJNTdGRDMx
ODYyMkIzNTE2QzAwOEQwRThCIC8qIFN1YkZyYW1lU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRDMxN0QyMkIz
NTE0QTAwOEQwRThCIC8qIFN1YkZyYW1lU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oICovOyB9Owog
CQk1N0ZEMzE4NzIyQjM1MTcwMDA4RDBFOEIgLyogV0tTT0F1dGhvcml6YXRpb25EZWxlZ2F0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGRDMxNzEy
MkIzNTE0ODAwOEQwRThCIC8qIFdLU09BdXRob3JpemF0aW9uRGVsZWdhdGUuaCAqLzsgfTsKKwkJ
NTdGRTY4NkQyNjA0ODI3ODAwQkY0NUU0IC8qIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0ZFNjg2QzI2
MDQ4Mjc4MDBCRjQ1RTQgLyogX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1QzBCMTc3ODFFN0M4ODBF
MDBFOTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzBCMTc3NDFFN0M4NzlD
MDBFOTEyM0MgLyogTmV0d29ya1NvY2tldFN0cmVhbU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07
CiAJCTVDMEIxNzc5MUU3Qzg4MjEwMEU5MTIzQyAvKiBXZWJTb2NrZXRTdHJlYW1NZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUMwQjE3NzYxRTdDODc5QzAwRTkxMjNDIC8qIFdlYlNvY2tldFN0cmVhbU1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi87IH07CiAJCTVDMTIxRTg0MjQxMDIwOEQwMDQ4NkY5QiAvKiBGcmFtZVRyZWVOb2Rl
RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUMx
MjFFODMyNDEwMUY3MDAwNDg2RjlCIC8qIEZyYW1lVHJlZU5vZGVEYXRhLmggKi87IH07CkBAIC00
MzIyLDYgKzQzMjMsNyBAQAogCQk1N0ZEMzE3RDIyQjM1MTRBMDA4RDBFOEIgLyogU3ViRnJhbWVT
T0F1dGhvcml6YXRpb25TZXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFN1YkZyYW1lU09BdXRob3JpemF0aW9uU2Vzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1N0ZEMzE3RTIyQjM1MTRBMDA4RDBFOEIgLyogV0tTT0F1dGhvcml6YXRpb25EZWxl
Z2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLU09BdXRo
b3JpemF0aW9uRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RkQz
MTdGMjJCMzUxNEEwMDhEMEU4QiAvKiBTT0F1dGhvcml6YXRpb25TZXNzaW9uLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU09BdXRob3JpemF0aW9uU2Vzc2lvbi5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTdGRTY4NkMyNjA0ODI3ODAwQkY0NUU0
IC8qIF9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0F1dGhl
bnRpY2F0b3JBdHRhY2htZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDMDA5
OTNCMjQxN0ZCN0UwMEQ1M0MyNSAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGFyYW1ldGVycy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
UGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QzBBMTBDMTIzNTI0
MUEzMDA1M0UyQ0EgLyogTmV0d29ya1NjaGVtZVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtTY2hlbWVSZWdpc3RyeS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDMEIxNzc0MUU3Qzg3OUMwMEU5MTIzQyAvKiBOZXR3b3Jr
U29ja2V0U3RyZWFtTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IE5ldHdvcmtTb2NrZXRTdHJlYW1NZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9OZXR3b3JrU29ja2V0U3RyZWFtTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTc4MDQsNiAr
NzgwNiw3IEBACiAJCQkJNTc5MEE2ODYyNTY3QTI4QTAwNzdDNUE3IC8qIF9XS0F1dGhlbnRpY2F0
b3JBc3NlcnRpb25SZXNwb25zZS5oICovLAogCQkJCTU3OTBBNjg3MjU2N0EyOEEwMDc3QzVBNyAv
KiBfV0tBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UubW0gKi8sCiAJCQkJNTc5MEE2OEUy
NTY3QjRDRjAwNzdDNUE3IC8qIF9XS0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZUludGVy
bmFsLmggKi8sCisJCQkJNTdGRTY4NkMyNjA0ODI3ODAwQkY0NUU0IC8qIF9XS0F1dGhlbnRpY2F0
b3JBdHRhY2htZW50LmggKi8sCiAJCQkJNTc5MEE2ODIyNTY3QTIxRTAwNzdDNUE3IC8qIF9XS0F1
dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLmggKi8sCiAJCQkJNTc5MEE2ODMyNTY3QTIx
RTAwNzdDNUE3IC8qIF9XS0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlLm1tICovLAog
CQkJCTU3OTBBNjhDMjU2N0I0NDkwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXR0ZXN0YXRp
b25SZXNwb25zZUludGVybmFsLmggKi8sCkBAIC0xMTQ1NCw2ICsxMTQ1Nyw3IEBACiAJCQkJNTc5
MEE2OTEyNTY3QjVFMDAwNzdDNUE3IC8qIF9XS0F1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVu
dE91dHB1dHNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc5MEE2ODgyNTY3QTI4QTAw
NzdDNUE3IC8qIF9XS0F1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTc5MEE2OEYyNTY3QjRDRjAwNzdDNUE3IC8qIF9XS0F1dGhlbnRpY2F0b3JBc3Nl
cnRpb25SZXNwb25zZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk1N0ZFNjg2RDI2MDQ4
Mjc4MDBCRjQ1RTQgLyogX1dLQXV0aGVudGljYXRvckF0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTU3OTBBNjg0MjU2N0EyMUUwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNhdG9yQXR0ZXN0
YXRpb25SZXNwb25zZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc5MEE2OEQyNTY3QjQ0OTAwNzdD
NUE3IC8qIF9XS0F1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTU3OTBBNjgwMjU2N0ExQUMwMDc3QzVBNyAvKiBfV0tBdXRoZW50aWNh
dG9yUmVzcG9uc2UuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGRjOGJlNzNhMGMzYjNlMTRlY2UxMDgwN2ViYmM5MTk4
M2U4ZTNkZmMuLjQ5MWY3MTgyYTQwNDdlMzZmYTk4MmM3OGJhMDU5YWM4MTYzODg3NzggMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAyMS0wMy0xOSAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFByb3ZpZGUgYSB3YXkgdG8gc3BlY2lmeSBwbGF0Zm9ybSB2cyBzZWN1cml0eSBrZXkg
d2hlbiByZXF1ZXN0aW5nIGFuIGFzc2VydGlvbiBpbiB0aGUgU1BJCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NDcKKyAgICAgICAgPHJkYXI6Ly83
NDAzNDc0Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0N0YXBSZXF1ZXN0VGVzdC5jcHA6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW06CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgQWRkcyB0aGUgdGVzdCBjYXNlLgorCiAyMDIxLTAz
LTIyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUg
dW51c2VkIEpTIGFuZCBDU1MgZmlsZXMgb2YgbWVkaWEgY29udHJvbHMKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DdGFwUmVxdWVzdFRlc3QuY3BwIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0N0YXBSZXF1ZXN0VGVzdC5jcHAKaW5kZXgg
ZjEzOWQyNTI3ZTZiZDhjODVhODU3NzAzMWZkODBlY2Y1Yjg3MWIyYy4uNjVlYWNkMDM5MmY3ZWMx
YmQ0MGE0NTM2MzA0YzJkMzI4MTMxNmNkOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL0N0YXBSZXF1ZXN0VGVzdC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL0N0YXBSZXF1ZXN0VGVzdC5jcHAKQEAgLTU5LDcgKzU5LDcgQEAg
VEVTVChDVEFQUmVxdWVzdFRlc3QsIFRlc3RDb25zdHJ1Y3RNYWtlQ3JlZGVudGlhbFJlcXVlc3RQ
YXJhbSkKICAgICB1c2VyLmRpc3BsYXlOYW1lID0gIkpvaG4gUC4gU21pdGgiOwogCiAgICAgVmVj
dG9yPFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OlBhcmFtZXRlcnM+IHBhcmFt
cyB7IHsgUHVibGljS2V5Q3JlZGVudGlhbFR5cGU6OlB1YmxpY0tleSwgNyB9LCB7IFB1YmxpY0tl
eUNyZWRlbnRpYWxUeXBlOjpQdWJsaWNLZXksIDI1NyB9IH07Ci0gICAgUHVibGljS2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhIHNlbGVj
dGlvbiB7IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JB
dHRhY2htZW50OjpQbGF0Zm9ybSwgdHJ1ZSwgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpQ
cmVmZXJyZWQgfTsKKyAgICBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRo
ZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEgc2VsZWN0aW9uIHsgQXV0aGVudGljYXRvckF0dGFj
aG1lbnQ6OlBsYXRmb3JtLCB0cnVlLCBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQ6OlByZWZl
cnJlZCB9OwogCiAgICAgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBvcHRpb25z
IHsgcnAsIHVzZXIsIHsgfSwgcGFyYW1zLCBXVEY6Om51bGxvcHQsIHsgfSwgc2VsZWN0aW9uLCBB
dHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlOjpOb25lLCBXVEY6Om51bGxvcHQgfTsKICAg
ICBWZWN0b3I8dWludDhfdD4gaGFzaDsKQEAgLTgyLDcgKzgyLDcgQEAgVEVTVChDVEFQUmVxdWVz
dFRlc3QsIFRlc3RDb25zdHJ1Y3RNYWtlQ3JlZGVudGlhbFJlcXVlc3RQYXJhbU5vVVZOb1JLKQog
ICAgIHVzZXIuZGlzcGxheU5hbWUgPSAiSm9obiBQLiBTbWl0aCI7CiAKICAgICBWZWN0b3I8UHVi
bGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6UGFyYW1ldGVycz4gcGFyYW1zIHsgeyBQ
dWJsaWNLZXlDcmVkZW50aWFsVHlwZTo6UHVibGljS2V5LCA3IH0sIHsgUHVibGljS2V5Q3JlZGVu
dGlhbFR5cGU6OlB1YmxpY0tleSwgMjU3IH0gfTsKLSAgICBQdWJsaWNLZXlDcmVkZW50aWFsQ3Jl
YXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEgc2VsZWN0aW9uIHsg
UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVudGljYXRvckF0dGFjaG1l
bnQ6OlBsYXRmb3JtLCBmYWxzZSwgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpEaXNjb3Vy
YWdlZCB9OworICAgIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRp
Y2F0b3JTZWxlY3Rpb25Dcml0ZXJpYSBzZWxlY3Rpb24geyBBdXRoZW50aWNhdG9yQXR0YWNobWVu
dDo6UGxhdGZvcm0sIGZhbHNlLCBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1lbnQ6OkRpc2NvdXJh
Z2VkIH07CiAKICAgICBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIG9wdGlvbnMg
eyBycCwgdXNlciwgeyB9LCBwYXJhbXMsIFdURjo6bnVsbG9wdCwgeyB9LCBzZWxlY3Rpb24sIEF0
dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2U6Ok5vbmUsIFdURjo6bnVsbG9wdCB9OwogICAg
IFZlY3Rvcjx1aW50OF90PiBoYXNoOwpAQCAtMTA1LDcgKzEwNSw3IEBAIFRFU1QoQ1RBUFJlcXVl
c3RUZXN0LCBUZXN0Q29uc3RydWN0TWFrZUNyZWRlbnRpYWxSZXF1ZXN0UGFyYW1VVlJlcXVpcmVk
QnV0Tm90U3VwCiAgICAgdXNlci5kaXNwbGF5TmFtZSA9ICJKb2huIFAuIFNtaXRoIjsKIAogICAg
IFZlY3RvcjxQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpQYXJhbWV0ZXJzPiBw
YXJhbXMgeyB7IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlOjpQdWJsaWNLZXksIDcgfSwgeyBQdWJs
aWNLZXlDcmVkZW50aWFsVHlwZTo6UHVibGljS2V5LCAyNTcgfSB9OwotICAgIFB1YmxpY0tleUNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYSBz
ZWxlY3Rpb24geyBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNh
dG9yQXR0YWNobWVudDo6UGxhdGZvcm0sIGZhbHNlLCBVc2VyVmVyaWZpY2F0aW9uUmVxdWlyZW1l
bnQ6OlJlcXVpcmVkIH07CisgICAgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6
QXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhIHNlbGVjdGlvbiB7IEF1dGhlbnRpY2F0b3JB
dHRhY2htZW50OjpQbGF0Zm9ybSwgZmFsc2UsIFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudDo6
UmVxdWlyZWQgfTsKIAogICAgIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgb3B0
aW9ucyB7IHJwLCB1c2VyLCB7IH0sIHBhcmFtcywgV1RGOjpudWxsb3B0LCB7IH0sIHNlbGVjdGlv
biwgQXR0ZXN0YXRpb25Db252ZXlhbmNlUHJlZmVyZW5jZTo6Tm9uZSwgV1RGOjpudWxsb3B0IH07
CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IGhhc2g7CkBAIC0xMjgsNyArMTI4LDcgQEAgVEVTVChDVEFQ
UmVxdWVzdFRlc3QsIFRlc3RDb25zdHJ1Y3RNYWtlQ3JlZGVudGlhbFJlcXVlc3RQYXJhbVdpdGhQ
aW4pCiAgICAgdXNlci5kaXNwbGF5TmFtZSA9ICJKb2huIFAuIFNtaXRoIjsKIAogICAgIFZlY3Rv
cjxQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpQYXJhbWV0ZXJzPiBwYXJhbXMg
eyB7IFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlOjpQdWJsaWNLZXksIDcgfSwgeyBQdWJsaWNLZXlD
cmVkZW50aWFsVHlwZTo6UHVibGljS2V5LCAyNTcgfSB9OwotICAgIFB1YmxpY0tleUNyZWRlbnRp
YWxDcmVhdGlvbk9wdGlvbnM6OkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYSBzZWxlY3Rp
b24geyBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0
YWNobWVudDo6UGxhdGZvcm0sIHRydWUsIFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudDo6UHJl
ZmVycmVkIH07CisgICAgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczo6QXV0aGVu
dGljYXRvclNlbGVjdGlvbkNyaXRlcmlhIHNlbGVjdGlvbiB7IEF1dGhlbnRpY2F0b3JBdHRhY2ht
ZW50OjpQbGF0Zm9ybSwgdHJ1ZSwgVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50OjpQcmVmZXJy
ZWQgfTsKIAogICAgIFBpblBhcmFtZXRlcnMgcGluOwogICAgIHBpbi5wcm90b2NvbCA9IHBpbjo6
a1Byb3RvY29sVmVyc2lvbjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQppbmRl
eCBjYzRmYmMwNmY3YzMxMDQwOTdhNzQzOWM4N2Q0NzcwMGExMjZkYjA0Li5mMDRiYWVkYTczOGZm
MjJjMGE1MmYwOWU0ZjBkNDlkMTM0NWY1ZGQyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsLm1tCkBAIC0xNjQ3LDcgKzE2NDcsNyBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFu
ZWwsIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnNNYXhpbXVtMSkKICAgICBFWFBF
Q1RfRVEocmVzdWx0LmV4Y2x1ZGVDcmVkZW50aWFsc1swXS50cmFuc3BvcnRzWzFdLCBBdXRoZW50
aWNhdG9yVHJhbnNwb3J0OjpOZmMpOwogICAgIEVYUEVDVF9FUShyZXN1bHQuZXhjbHVkZUNyZWRl
bnRpYWxzWzBdLnRyYW5zcG9ydHNbMl0sIEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6OkludGVybmFs
KTsKIAotICAgIEVYUEVDVF9FUShyZXN1bHQuYXV0aGVudGljYXRvclNlbGVjdGlvbi0+YXV0aGVu
dGljYXRvckF0dGFjaG1lbnQsIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnM6OkF1
dGhlbnRpY2F0b3JBdHRhY2htZW50OjpQbGF0Zm9ybSk7CisgICAgRVhQRUNUX0VRKHJlc3VsdC5h
dXRoZW50aWNhdG9yU2VsZWN0aW9uLT5hdXRoZW50aWNhdG9yQXR0YWNobWVudCwgQXV0aGVudGlj
YXRvckF0dGFjaG1lbnQ6OlBsYXRmb3JtKTsKICAgICBFWFBFQ1RfRVEocmVzdWx0LmF1dGhlbnRp
Y2F0b3JTZWxlY3Rpb24tPnJlcXVpcmVSZXNpZGVudEtleSwgdHJ1ZSk7CiAgICAgRVhQRUNUX0VR
KHJlc3VsdC5hdXRoZW50aWNhdG9yU2VsZWN0aW9uLT51c2VyVmVyaWZpY2F0aW9uLCBVc2VyVmVy
aWZpY2F0aW9uUmVxdWlyZW1lbnQ6OlJlcXVpcmVkKTsKIApAQCAtMTcxNyw3ICsxNzE3LDcgQEAg
VEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zTWF4aW11bTIpCiAgICAgRVhQRUNUX0VRKHJlc3VsdC5leGNsdWRlQ3JlZGVudGlhbHNb
MF0udHJhbnNwb3J0c1sxXSwgQXV0aGVudGljYXRvclRyYW5zcG9ydDo6TmZjKTsKICAgICBFWFBF
Q1RfRVEocmVzdWx0LmV4Y2x1ZGVDcmVkZW50aWFsc1swXS50cmFuc3BvcnRzWzJdLCBBdXRoZW50
aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CiAKLSAgICBFWFBFQ1RfRVEocmVzdWx0LmF1dGhl
bnRpY2F0b3JTZWxlY3Rpb24tPmF1dGhlbnRpY2F0b3JBdHRhY2htZW50LCBQdWJsaWNLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zOjpBdXRoZW50aWNhdG9yQXR0YWNobWVudDo6Q3Jvc3NQbGF0
Zm9ybSk7CisgICAgRVhQRUNUX0VRKHJlc3VsdC5hdXRoZW50aWNhdG9yU2VsZWN0aW9uLT5hdXRo
ZW50aWNhdG9yQXR0YWNobWVudCwgQXV0aGVudGljYXRvckF0dGFjaG1lbnQ6OkNyb3NzUGxhdGZv
cm0pOwogICAgIEVYUEVDVF9FUShyZXN1bHQuYXV0aGVudGljYXRvclNlbGVjdGlvbi0+cmVxdWly
ZVJlc2lkZW50S2V5LCB0cnVlKTsKICAgICBFWFBFQ1RfRVEocmVzdWx0LmF1dGhlbnRpY2F0b3JT
ZWxlY3Rpb24tPnVzZXJWZXJpZmljYXRpb24sIFVzZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudDo6
RGlzY291cmFnZWQpOwogCkBAIC0xOTI2LDYgKzE5MjYsMzYgQEAgVEVTVChXZWJBdXRoZW50aWNh
dGlvblBhbmVsLCBHZXRBc3NlcnRpb25MQSkKICAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0
aW9uUGFuZWxSYW4pOwogfQogCitURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdldEFzc2Vy
dGlvbkNyb3NzUGxhdGZvcm0pCit7CisgICAgcmVzZXQoKTsKKworICAgIEFTU0VSVF9UUlVFKGFk
ZEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCwgIiIsIHRlc3RVc2VyRW50
aXR5QnVuZGxlQmFzZTY0KSk7CisKKyAgICB1aW50OF90IGhhc2hbXSA9IHsgMHgwMSwgMHgwMiwg
MHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgw
NCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwg
MHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMywgMHgwNCwgMHgwMSwgMHgwMiwgMHgw
MywgMHgwNCB9OworICAgIE5TRGF0YSAqbnNIYXNoID0gW05TRGF0YSBkYXRhV2l0aEJ5dGVzOmhh
c2ggbGVuZ3RoOnNpemVvZihoYXNoKV07CisKKyAgICBhdXRvIG9wdGlvbnMgPSBhZG9wdE5TKFtb
X1dLUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zIGFsbG9jXSBpbml0XSk7CisgICAg
W29wdGlvbnMgc2V0UmVseWluZ1BhcnR5SWRlbnRpZmllcjpAIiJdOworICAgIFtvcHRpb25zIHNl
dEF1dGhlbnRpY2F0b3JBdHRhY2htZW50Ol9XS0F1dGhlbnRpY2F0b3JBdHRhY2htZW50Q3Jvc3NQ
bGF0Zm9ybV07CisgICAgW29wdGlvbnMgc2V0VGltZW91dDpAMTIwXTsKKworICAgIGF1dG8gcGFu
ZWwgPSBhZG9wdE5TKFtbX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCBhbGxvY10gaW5pdF0pOwor
ICAgIFtwYW5lbCBzZXRNb2NrQ29uZmlndXJhdGlvbjpAeyB9XTsKKyAgICBhdXRvIGRlbGVnYXRl
ID0gYWRvcHROUyhbW1Rlc3RXZWJBdXRoZW50aWNhdGlvblBhbmVsRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKTsKKyAgICBbcGFuZWwgc2V0RGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgW3Bh
bmVsIGdldEFzc2VydGlvbldpdGhDaGFsbGVuZ2U6bnNIYXNoIG9yaWdpbjpAIiIgb3B0aW9uczpv
cHRpb25zLmdldCgpIGNvbXBsZXRpb25IYW5kbGVyOl4oX1dLQXV0aGVudGljYXRvckFzc2VydGlv
blJlc3BvbnNlICpyZXNwb25zZSwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgd2ViQXV0aGVu
dGljYXRpb25QYW5lbFJhbiA9IHRydWU7CisgICAgICAgIGNsZWFuVXBLZXljaGFpbigiIik7CisK
KyAgICAgICAgRVhQRUNUX05VTEwocmVzcG9uc2UpOworICAgICAgICBFWFBFQ1RfRVEoZXJyb3Iu
ZG9tYWluLCBXS0Vycm9yRG9tYWluKTsKKyAgICAgICAgRVhQRUNUX0VRKGVycm9yLmNvZGUsIFdL
RXJyb3JVbmtub3duKTsKKyAgICB9XTsKKyAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9u
UGFuZWxSYW4pOworfQorCiBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdldEFsbENyZWRl
bnRpYWwpCiB7CiAgICAgcmVzZXQoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>