<?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>231574</bug_id>
          
          <creation_ts>2021-10-12 07:28:27 -0700</creation_ts>
          <short_desc>Expose MediaCapabilities to Workers</short_desc>
          <delta_ts>2021-10-19 04:06:19 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/31261</see_also>
          <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>
          <dependson>231568</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</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>1803095</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-12 07:28:27 -0700</bug_when>
    <thetext>Expose MediaCapabilities to Workers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803109</commentid>
    <comment_count>1</comment_count>
      <attachid>440932</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-12 07:49:09 -0700</bug_when>
    <thetext>Created attachment 440932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804719</commentid>
    <comment_count>2</comment_count>
      <attachid>441340</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-15 00:02:15 -0700</bug_when>
    <thetext>Created attachment 441340
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804720</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-10-15 00:03:15 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804721</commentid>
    <comment_count>4</comment_count>
      <attachid>441341</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-15 00:27:33 -0700</bug_when>
    <thetext>Created attachment 441341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804722</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-15 00:28:24 -0700</bug_when>
    <thetext>Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/31261</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804778</commentid>
    <comment_count>6</comment_count>
      <attachid>441369</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-15 06:09:44 -0700</bug_when>
    <thetext>Created attachment 441369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804784</commentid>
    <comment_count>7</comment_count>
      <attachid>441370</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-15 06:36:16 -0700</bug_when>
    <thetext>Created attachment 441370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805535</commentid>
    <comment_count>8</comment_count>
      <attachid>441587</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-18 05:10:36 -0700</bug_when>
    <thetext>Created attachment 441587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805611</commentid>
    <comment_count>9</comment_count>
      <attachid>441587</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-10-18 09:17:03 -0700</bug_when>
    <thetext>Comment on attachment 441587
Patch

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

&gt; Source/WebCore/Modules/mediacapabilities/MediaCapabilities.cpp:-197
&gt; -#if !RELEASE_LOG_DISABLED
&gt; -        logger-&gt;info(LogMedia, identifier, &quot; - Rejected. configuration: &quot;, configuration);
&gt; -#endif

Why not log the error?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805908</commentid>
    <comment_count>10</comment_count>
      <attachid>441698</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-19 01:04:17 -0700</bug_when>
    <thetext>Created attachment 441698
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805909</commentid>
    <comment_count>11</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-19 01:05:02 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #9)
&gt; Comment on attachment 441587 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=441587&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediacapabilities/MediaCapabilities.cpp:-197
&gt; &gt; -#if !RELEASE_LOG_DISABLED
&gt; &gt; -        logger-&gt;info(LogMedia, identifier, &quot; - Rejected. configuration: &quot;, configuration);
&gt; &gt; -#endif
&gt; 
&gt; Why not log the error?

I added it back</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805944</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-19 04:05:26 -0700</bug_when>
    <thetext>Committed r284443 (243205@main): &lt;https://commits.webkit.org/243205@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441698.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805945</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-19 04:06:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/84409518&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440932</attachid>
            <date>2021-10-12 07:49:09 -0700</date>
            <delta_ts>2021-10-15 00:02:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231574-20211012164906.patch</filename>
            <type>text/plain</type>
            <size>76373</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBiYmJjMzdjYTZlMGMw
MzNhYzM4NzRlYWFhNzZkY2JlOTcyZTE0ZS4uYjY5ZTU5NTJkNjgxYTJiZWIxNjdjOTRiOTJiNjBh
OTY2YmMwODgyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgTWVkaWFDYXBh
YmlsaXRpZXMgdG8gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxNTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRXhwb3NlIE1lZGlhIENhcGFiaWxpdGllcyB0byB3b3JrZXJzIGJ5IGhvcHBp
bmcgdG8gbWFpbiB0aHJlYWQgYW5kIHVzaW5nIHdvcmtlciByZXNwb25zaWJsZSBkb2N1bWVudCBm
b3IgZ2F0aGVyaW5nIE1lZGlhIENhcGFiaWxpdGllcywgdGhlbiBob3BwaW5nIGJhY2sgdG8gd29y
a2VyLgorICAgICAgICBNZWRpYUNhcGFiaWxpdGllcyB3aWxsIHN0b3JlIHRoZSBwcm9taXNlcyB3
aGVuIHdhaXRpbmcgZm9yIG1lZGlhIGNhcGFiaWxpdGllcyBnYXRoZXJpbmcgYnkgZG9jdW1lbnQu
CisKKyAgICAgICAgV2UgcmVtb3ZlIEN1c3RvbUVuYWJsZWQgc2luY2UgaXQgaXMgbm90IHN1cHBv
cnRlZCBpbiBXb3JrZXJzIGFuZCB3ZSBhcmUgbm93IGV4cG9zaW5nIGVuY29kaW5nIGluZm8gZm9y
IFdlYlJUQyBhbnl3YXkuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL05hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmln
YXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5oOiBBZGRlZC4K
KyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgor
ICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9N
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlh
Q2FwYWJpbGl0aWVzSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L0F1ZGlvQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaDoKKwogMjAy
MS0xMC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVk
aWFDYXBhYmlsaXRpZXMgc2hvdWxkIGVucXVldWUgYSB0YXNrIHRvIHJlc29sdmUgcHJvbWlzZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzNlZmE5YjgyYzcxNDJhZWQ0ODExY2E5OGMzOWMxN2M3
MzViMTRmZi4uNzMxZDMyOWQxMDllZjIzZTA0NWUyMzA3ZmViZDUwZmMxNGJiYWNiNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTM0NSw2ICszNDUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lE
TF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yK01lZGlhQ2Fw
YWJpbGl0aWVzLmlkbAogICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5j
dGlvbi5pZGwKICAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlv
bi5pZGwKKyAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRp
YUNhcGFiaWxpdGllcy5pZGwKIAogICAgIE1vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRy
b2xzSG9zdC5pZGwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKaW5kZXggYzU0MjkzMDRlNmJhY2ViNmU4NjUxMzZhYWZlMTZkN2NjOWZjNzU3ZS4u
MTg2YTdhNDEyNzZiNGJiMDcxOWM5OTQyMzkzODA2MTViZTIxYWU0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xNzcsNiArMTc3LDcg
QEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdh
dG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9UcmFuc2ZlckZ1bmN0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaWRsCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGll
cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xz
SG9zdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggY2RlNDdlZmExMTIwNTg1YzhhZDk3N2RmMTYzYzU2Yjg1NGY3MTkwYS4uNWRjYmU5Y2E1
NGE2ZjA5MGEzY2ZmMjVhN2RmYTE4YjdkYmEyNDM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTI0NzksNiArMjQ3OSw4IEBAICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFs
U2NvcGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dvcmtlckdsb2JhbFNjb3BlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV29ya2VyTG9jYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckxvY2F0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJp
bGl0aWVzLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNXb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJOYXZpZ2F0b3IuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlck5hdmlnYXRvci5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlck9w
dGlvbnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyZTVkOTEwZDNlOWE1
YTVjYTk4YTg4Y2I5OTJhYzVmMGQ2ZGUyMWQ5Li5lZjNjMGY3MjBhZmQ0MTkzOGFhM2M1ZGEyMGJl
YjVjMWVjYjM5MzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIwMyw2ICsy
MDMsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9OYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRp
b24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2Vy
TmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRp
ZXMuY3BwCmluZGV4IGJhNmVmMjM3ODgwNzFhMGM0ZThlNmM4OWRmYmI1MTE2MTgyMDY3YzIuLmY1
MDFhYTQ1NjUzOGRjMjIzY2I1OTg0NjIyMzc2ZDZhNDRlZTFlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuY3BwCkBAIC0xNjgsMTQgKzE2OCw1NCBAQCBzdGF0aWMgYm9vbCBpc1ZhbGlkTWVk
aWFDb25maWd1cmF0aW9uKGNvbnN0IE1lZGlhQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJ
bmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25m
aWd1cmF0aW9uLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCitzdGF0aWMgdm9pZCBn
YXRoZXJEZWNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6
OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgUkVMRUFT
RV9MT0dfSU5GTyhNZWRpYSwgIkdhdGhlcmluZyBkZWNvZGluZyBNZWRpYUNhcGFiaWxpdGllcyIp
OworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJh
dGlvbkNhbGxiYWNrIGRlY29kaW5nQ2FsbGJhY2sgPSBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKV0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lORk8o
TWVkaWEsICJGaW5pc2hlZCBnYXRoZXJpbmcgZGVjb2RpbmcgTWVkaWFDYXBhYmlsaXRpZXMiKTsK
KyAgICAgICAgY2FsbGJhY2soV1RGTW92ZShyZXN1bHQpKTsKKyAgICB9OworCisgICAgaWYgKCFk
b2N1bWVudC5zZXR0aW5ncygpLm1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5zaW9uc0VuYWJsZWQoKSAm
JiBjb25maWd1cmF0aW9uLnZpZGVvKQorICAgICAgICBjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVl
KCkuYWxwaGFDaGFubmVsLnJlc2V0KCk7CisKKyNpZiBFTkFCTEUoVlA5KQorICAgIGNvbmZpZ3Vy
YXRpb24uY2FuRXhwb3NlVlA5ID0gZG9jdW1lbnQuc2V0dGluZ3MoKS52cDlEZWNvZGVyRW5hYmxl
ZCgpOworI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICBpZiAoY29uZmlndXJhdGlv
bi50eXBlID09IE1lZGlhRGVjb2RpbmdUeXBlOjpXZWJSVEMpIHsKKyAgICAgICAgaWYgKGF1dG8q
IHBhZ2UgPSBkb2N1bWVudC5wYWdlKCkpCisgICAgICAgICAgICBwYWdlLT5saWJXZWJSVENQcm92
aWRlcigpLmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24p
LCBXVEZNb3ZlKGRlY29kaW5nQ2FsbGJhY2spKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNl
bmRpZgorICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZURlY29kaW5n
Q29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGRlY29kaW5nQ2Fs
bGJhY2spKTsKK30KKworc3RhdGljIHZvaWQgZ2F0aGVyRW5jb2RpbmdJbmZvKERvY3VtZW50JiBk
b2N1bWVudCwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFj
ayYmIGNhbGxiYWNrKQoreworICAgIFJFTEVBU0VfTE9HX0lORk8oTWVkaWEsICJHYXRoZXJpbmcg
ZW5jb2RpbmcgTWVkaWFDYXBhYmlsaXRpZXMiKTsKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBlbmNvZGluZ0NhbGxiYWNr
ID0gW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiByZXN1bHQpIG11dGFibGUg
eworICAgICAgICBSRUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiRmluaXNoZWQgZ2F0aGVyaW5nIGVu
Y29kaW5nIE1lZGlhQ2FwYWJpbGl0aWVzIik7CisgICAgICAgIGNhbGxiYWNrKFdURk1vdmUocmVz
dWx0KSk7CisgICAgfTsKKworI2lmIEVOQUJMRShXRUJfUlRDKQorICAgIGlmIChjb25maWd1cmF0
aW9uLnR5cGUgPT0gTWVkaWFFbmNvZGluZ1R5cGU6OldlYlJUQykgeworICAgICAgICBpZiAoYXV0
byogcGFnZSA9IGRvY3VtZW50LnBhZ2UoKSkKKyAgICAgICAgICAgIHBhZ2UtPmxpYldlYlJUQ1By
b3ZpZGVyKCkuY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlv
biksIFdURk1vdmUoZW5jb2RpbmdDYWxsYmFjaykpOworICAgICAgICByZXR1cm47CisgICAgfQor
I2VuZGlmCisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRW5jb2Rp
bmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoZW5jb2RpbmdD
YWxsYmFjaykpOworfQorCit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24m
JiBjb25maWd1cmF0aW9uLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAg
Ly8gMi40IE1lZGlhIENhcGFiaWxpdGllcyBJbnRlcmZhY2UKICAgICAvLyBodHRwczovL3dpY2cu
Z2l0aHViLmlvL21lZGlhLWNhcGFiaWxpdGllcy8jbWVkaWEtY2FwYWJpbGl0aWVzLWludGVyZmFj
ZQogCi0gICAgYXV0byBpZGVudGlmaWVyID0gV1RGOjpMb2dnZXI6OkxvZ1NpdGVJZGVudGlmaWVy
KCJNZWRpYUNhcGFiaWxpdGllcyIsIF9fZnVuY19fLCB0aGlzKTsKLSAgICBSZWY8TG9nZ2VyPiBs
b2dnZXIgPSBkb2N1bWVudC5sb2dnZXIoKTsKLQogICAgIC8vIDEuIElmIGNvbmZpZ3VyYXRpb24g
aXMgbm90IGEgdmFsaWQgTWVkaWFDb25maWd1cmF0aW9uLCByZXR1cm4gYSBQcm9taXNlIHJlamVj
dGVkIHdpdGggYSBUeXBlRXJyb3IuCiAgICAgLy8gMi4gSWYgY29uZmlndXJhdGlvbi52aWRlbyBp
cyBwcmVzZW50IGFuZCBpcyBub3QgYSB2YWxpZCB2aWRlbyBjb25maWd1cmF0aW9uLCByZXR1cm4g
YSBQcm9taXNlIHJlamVjdGVkIHdpdGggYSBUeXBlRXJyb3IuCiAgICAgLy8gMi4yLjMgSWYgY29u
ZmlndXJhdGlvbiBpcyBvZiB0eXBlIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLCBydW4gdGhl
IGZvbGxvd2luZyBzdWJzdGVwczoKQEAgLTE5Miw1MSArMjMyLDM5IEBAIHZvaWQgTWVkaWFDYXBh
YmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRGVjb2RpbmdD
b25maWd1cmF0CiAgICAgLy8gZWZmZWN0cyBzdWNoIGFzIGVuYWJsaW5nIGRpZmZlcmVudCBkZWNv
ZGluZyBtb2R1bGVzLgogICAgIC8vIDMuIElmIGNvbmZpZ3VyYXRpb24uYXVkaW8gaXMgcHJlc2Vu
dCBhbmQgaXMgbm90IGEgdmFsaWQgYXVkaW8gY29uZmlndXJhdGlvbiwgcmV0dXJuIGEgUHJvbWlz
ZSByZWplY3RlZCB3aXRoIGEgVHlwZUVycm9yLgogICAgIGlmICghaXNWYWxpZE1lZGlhQ29uZmln
dXJhdGlvbihjb25maWd1cmF0aW9uKSkgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAg
ICAgICBsb2dnZXItPmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICIgLSBSZWplY3RlZC4gY29u
ZmlndXJhdGlvbjogIiwgY29uZmlndXJhdGlvbik7Ci0jZW5kaWYKICAgICAgICAgcHJvbWlzZS0+
cmVqZWN0KFR5cGVFcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoIWRv
Y3VtZW50LnNldHRpbmdzKCkubWVkaWFDYXBhYmlsaXRpZXNFeHRlbnNpb25zRW5hYmxlZCgpICYm
IGNvbmZpZ3VyYXRpb24udmlkZW8pCi0gICAgICAgIGNvbmZpZ3VyYXRpb24udmlkZW8udmFsdWUo
KS5hbHBoYUNoYW5uZWwucmVzZXQoKTsKLQotI2lmIEVOQUJMRShWUDkpCi0gICAgY29uZmlndXJh
dGlvbi5jYW5FeHBvc2VWUDkgPSBkb2N1bWVudC5zZXR0aW5ncygpLnZwOURlY29kZXJFbmFibGVk
KCk7Ci0jZW5kaWYKLQotICAgIC8vIDQuIExldCBwIGJlIGEgbmV3IHByb21pc2UuCi0gICAgLy8g
NS4gSW4gcGFyYWxsZWwsIHJ1biB0aGUgY3JlYXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFs
Z29yaXRobSB3aXRoIGNvbmZpZ3VyYXRpb24gYW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQu
Ci0gICAgLy8gNi4gUmV0dXJuIHAuCi0KLSAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllciksIGxvZ2dl
ciA9IFdURk1vdmUobG9nZ2VyKSwgZG9jdW1lbnQgPSBSZWYgeyBkb2N1bWVudCB9XShhdXRvIGlu
Zm8pIG11dGFibGUgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgICAgICAgICAgbG9n
Z2VyLT5pbmZvKExvZ01lZGlhLCBpZGVudGlmaWVyLCAiOjpjYWxsYmFjaygpIC0gUmVzb2x2ZWQu
IGluZm86ICIsIGluZm8pOwotI2VuZGlmCi0gICAgICAgIGRvY3VtZW50LT5ldmVudExvb3AoKS5x
dWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAoKSBtdXRhYmxlIHsKKyAgICBNZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxs
YmFjayA9IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgY29udGV4dCA9IFJlZiB7IGNvbnRl
eHQgfV0oYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgY29udGV4dC0+ZXZlbnRMb29wKCku
cXVldWVUYXNrKFRhc2tTb3VyY2U6Ok1lZGlhRWxlbWVudCwgW3Byb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpLCBpbmZvID0gV1RGTW92ZShpbmZvKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBw
cm9taXNlLT5yZXNvbHZlPElETERpY3Rpb25hcnk8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8+PihXVEZNb3ZlKGluZm8pKTsKICAgICAgICAgfSk7CiAgICAgfTsKIAotI2lmIEVOQUJMRShX
RUJfUlRDKQotICAgIGlmIChjb25maWd1cmF0aW9uLnR5cGUgPT0gTWVkaWFEZWNvZGluZ1R5cGU6
OldlYlJUQykgewotICAgICAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50LnBhZ2UoKSkKLSAg
ICAgICAgICAgIHBhZ2UtPmxpYldlYlJUQ1Byb3ZpZGVyKCkuY3JlYXRlRGVjb2RpbmdDb25maWd1
cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBp
ZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CisgICAgICAgIGdhdGhlckRlY29kaW5nSW5mbyhk
b3duY2FzdDxEb2N1bWVudD4oY29udGV4dCksIFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1v
dmUoY2FsbGJhY2spKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbmRpZgotICAgIE1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihX
VEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisKKyAgICBtX2RlY29k
aW5nVGFza3MuYWRkKCsrbV9uZXh0VGFza0lkZW50aWZpZXIsIFdURk1vdmUoY2FsbGJhY2spKTsK
KyAgICBjb250ZXh0LnBvc3RUYXNrVG9SZXNwb25zaWJsZURvY3VtZW50KFtjb25maWd1cmF0aW9u
ID0gV1RGTW92ZShjb25maWd1cmF0aW9uKS5pc29sYXRlZENvcHkoKSwgY29udGV4dElkZW50aWZp
ZXIgPSBjb250ZXh0LmNvbnRleHRJZGVudGlmaWVyKCksIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIo
dGhpcyksIHRhc2tJZGVudGlmaWVyID0gbV9uZXh0VGFza0lkZW50aWZpZXJdKGF1dG8mIGRvY3Vt
ZW50KSBtdXRhYmxlIHsKKyAgICAgICAgZ2F0aGVyRGVjb2RpbmdJbmZvKGRvY3VtZW50LCBXVEZN
b3ZlKGNvbmZpZ3VyYXRpb24pLCBbY29udGV4dElkZW50aWZpZXIsIHdlYWtUaGlzID0gV1RGTW92
ZSh3ZWFrVGhpcyksIHRhc2tJZGVudGlmaWVyXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAg
ICAgICAgICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnBvc3RUYXNrVG8oY29udGV4dElkZW50
aWZpZXIsIFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCB0YXNrSWRlbnRpZmllciwgcmVz
dWx0ID0gV1RGTW92ZShyZXN1bHQpLmlzb2xhdGVkQ29weSgpXShhdXRvJikgbXV0YWJsZSB7Cisg
ICAgICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgICAgIGlmIChhdXRvIGNhbGxiYWNrID0gd2Vha1RoaXMtPm1fZGVjb2Rp
bmdUYXNrcy50YWtlKHRhc2tJZGVudGlmaWVyKSkKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJh
Y2soV1RGTW92ZShyZXN1bHQpKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9
KTsKIH0KIAotdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZW5jb2RpbmdJbmZvKERvY3VtZW50JiBk
b2N1bWVudCwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBSZWY8
RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjplbmNv
ZGluZ0luZm8oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVkaWFFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21p
c2UpCiB7CiAgICAgLy8gMi40IE1lZGlhIENhcGFiaWxpdGllcyBJbnRlcmZhY2UKICAgICAvLyBo
dHRwczovL3dpY2cuZ2l0aHViLmlvL21lZGlhLWNhcGFiaWxpdGllcy8jbWVkaWEtY2FwYWJpbGl0
aWVzLWludGVyZmFjZQogCi0gICAgYXV0byBpZGVudGlmaWVyID0gV1RGOjpMb2dnZXI6OkxvZ1Np
dGVJZGVudGlmaWVyKCJNZWRpYUNhcGFiaWxpdGllcyIsIF9fZnVuY19fLCB0aGlzKTsKLSAgICBS
ZWY8TG9nZ2VyPiBsb2dnZXIgPSBkb2N1bWVudC5sb2dnZXIoKTsKLQogICAgIC8vIDEuIElmIGNv
bmZpZ3VyYXRpb24gaXMgbm90IGEgdmFsaWQgTWVkaWFDb25maWd1cmF0aW9uLCByZXR1cm4gYSBQ
cm9taXNlIHJlamVjdGVkIHdpdGggYSBUeXBlRXJyb3IuCiAgICAgLy8gMi4gSWYgY29uZmlndXJh
dGlvbi52aWRlbyBpcyBwcmVzZW50IGFuZCBpcyBub3QgYSB2YWxpZCB2aWRlbyBjb25maWd1cmF0
aW9uLCByZXR1cm4gYSBQcm9taXNlIHJlamVjdGVkIHdpdGggYSBUeXBlRXJyb3IuCiAgICAgLy8g
My4gSWYgY29uZmlndXJhdGlvbi5hdWRpbyBpcyBwcmVzZW50IGFuZCBpcyBub3QgYSB2YWxpZCBh
dWRpbyBjb25maWd1cmF0aW9uLCByZXR1cm4gYSBQcm9taXNlIHJlamVjdGVkIHdpdGggYSBUeXBl
RXJyb3IuCkBAIC0yNjQsMjQgKzI5MiwyOCBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjplbmNv
ZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdAogICAg
IC8vIDUuIEluIHBhcmFsbGVsLCBydW4gdGhlIGNyZWF0ZSBhIE1lZGlhQ2FwYWJpbGl0aWVzSW5m
byBhbGdvcml0aG0gd2l0aCBjb25maWd1cmF0aW9uIGFuZCByZXNvbHZlIHAgd2l0aCBpdHMgcmVz
dWx0LgogICAgIC8vIDYuIFJldHVybiBwLgogCi0gICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgY2FsbGJhY2sgPSBbcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpLCBs
b2dnZXIgPSBXVEZNb3ZlKGxvZ2dlciksIGRvY3VtZW50ID0gUmVmIHsgZG9jdW1lbnQgfV0oYXV0
byBpbmZvKSBtdXRhYmxlIHsKLSNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICAgICAgICAg
IGxvZ2dlci0+aW5mbyhMb2dNZWRpYSwgaWRlbnRpZmllciwgIjo6Y2FsbGJhY2soKSAtIFJlc29s
dmVkLiBpbmZvOiAiLCBpbmZvKTsKLSNlbmRpZgotICAgICAgICBkb2N1bWVudC0+ZXZlbnRMb29w
KCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok1lZGlhRWxlbWVudCwgW3Byb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpLCBpbmZvID0gV1RGTW92ZShpbmZvKV0gKCkgbXV0YWJsZSB7CisgICAgTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sg
Y2FsbGJhY2sgPSBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGNvbnRleHQgPSBSZWYgeyBj
b250ZXh0IH1dKGF1dG8gaW5mbykgbXV0YWJsZSB7CisgICAgICAgIGNvbnRleHQtPmV2ZW50TG9v
cCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFtwcm9taXNlID0gV1RGTW92
ZShwcm9taXNlKSwgaW5mbyA9IFdURk1vdmUoaW5mbyldICgpIG11dGFibGUgewogICAgICAgICAg
ICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExEaWN0aW9uYXJ5PE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvPj4oV1RGTW92ZShpbmZvKSk7CiAgICAgICAgIH0pOwogICAgIH07CiAKLSNpZiBFTkFC
TEUoV0VCX1JUQykKLSAgICBpZiAoY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlhRW5jb2RpbmdU
eXBlOjpXZWJSVEMpIHsKLSAgICAgICAgaWYgKGF1dG8qIHBhZ2UgPSBkb2N1bWVudC5wYWdlKCkp
Ci0gICAgICAgICAgICBwYWdlLT5saWJXZWJSVENQcm92aWRlcigpLmNyZWF0ZUVuY29kaW5nQ29u
ZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7Cisg
ICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0KSkgeworICAgICAgICBnYXRoZXJFbmNvZGluZ0lu
Zm8oZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBX
VEZNb3ZlKGNhbGxiYWNrKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0jZW5kaWYKIAotICAg
IE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJh
dGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgbV9l
bmNvZGluZ1Rhc2tzLmFkZCgrK21fbmV4dFRhc2tJZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxiYWNr
KSk7CisgICAgY29udGV4dC5wb3N0VGFza1RvUmVzcG9uc2libGVEb2N1bWVudChbY29uZmlndXJh
dGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlvbikuaXNvbGF0ZWRDb3B5KCksIGNvbnRleHRJZGVu
dGlmaWVyID0gY29udGV4dC5jb250ZXh0SWRlbnRpZmllcigpLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKHRoaXMpLCB0YXNrSWRlbnRpZmllciA9IG1fbmV4dFRhc2tJZGVudGlmaWVyXShhdXRvJiBk
b2N1bWVudCkgbXV0YWJsZSB7CisgICAgICAgIGdhdGhlckVuY29kaW5nSW5mbyhkb2N1bWVudCwg
V1RGTW92ZShjb25maWd1cmF0aW9uKSwgW2NvbnRleHRJZGVudGlmaWVyLCB3ZWFrVGhpcyA9IFdU
Rk1vdmUod2Vha1RoaXMpLCB0YXNrSWRlbnRpZmllcl0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7
CisgICAgICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpwb3N0VGFza1RvKGNvbnRleHRJ
ZGVudGlmaWVyLCBbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgdGFza0lkZW50aWZpZXIs
IHJlc3VsdCA9IFdURk1vdmUocmVzdWx0KS5pc29sYXRlZENvcHkoKV0oYXV0byYpIG11dGFibGUg
eworICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgICAgICBpZiAoYXV0byBjYWxsYmFjayA9IHdlYWtUaGlzLT5tX2Vu
Y29kaW5nVGFza3MudGFrZSh0YXNrSWRlbnRpZmllcikpCisgICAgICAgICAgICAgICAgICAgIGNh
bGxiYWNrKFdURk1vdmUocmVzdWx0KSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7Cisg
ICAgfSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaAppbmRleCBiYTEyMzRiYjM4OTcz
MjZlNjZjYjcyMmM5YmFiNTc3YTg3NmRkODc0Li5iOTU3OTAxOWMxYTc1YWUxMmQ4MTY0M2M3Nzg3
MmJmOTE1YmRlOGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE5ICsyNSwyOSBAQAog
CiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIk1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnkuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBEZWZlcnJlZFByb21pc2U7Ci1jbGFzcyBEb2N1bWVudDsKLXN0cnVjdCBNZWRpYURlY29k
aW5nQ29uZmlndXJhdGlvbjsKLXN0cnVjdCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjsKK2Ns
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLWNsYXNzIE1lZGlhQ2FwYWJpbGl0aWVzIDog
cHVibGljIFJlZkNvdW50ZWQ8TWVkaWFDYXBhYmlsaXRpZXM+IHsKK2NsYXNzIE1lZGlhQ2FwYWJp
bGl0aWVzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFDYXBhYmlsaXRpZXM+LCBwdWJsaWMgQ2Fu
TWFrZVdlYWtQdHI8TWVkaWFDYXBhYmlsaXRpZXM+IHsKIHB1YmxpYzoKLSAgICB2b2lkIGRlY29k
aW5nSW5mbyhEb2N1bWVudCYsIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYsIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgZW5jb2RpbmdJbmZvKERvY3VtZW50JiwgTWVkaWFF
bmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgc3Rh
dGljIFJlZjxNZWRpYUNhcGFiaWxpdGllcz4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBNZWRpYUNhcGFiaWxpdGllcyk7IH0KKworICAgIHZvaWQgZGVjb2RpbmdJbmZvKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIGVuY29kaW5nSW5mbyhTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4m
Jik7CisKK3ByaXZhdGU6CisgICAgTWVkaWFDYXBhYmlsaXRpZXMoKSA9IGRlZmF1bHQ7CisKKyAg
ICB1aW50NjRfdCBtX25leHRUYXNrSWRlbnRpZmllciB7IDAgfTsKKyAgICBIYXNoTWFwPHVpbnQ2
NF90LCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRp
b25DYWxsYmFjaz4gbV9kZWNvZGluZ1Rhc2tzOworICAgIEhhc2hNYXA8dWludDY0X3QsIE1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNr
PiBtX2VuY29kaW5nVGFza3M7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJp
bGl0aWVzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFDYXBhYmlsaXRpZXMuaWRsCmluZGV4IGY3MjQzMTFmODNlMzkxNjk4YjZmNDIyNDk4OTcyYWZi
ZmQ3ZmJlMDEuLjZhODgxNjU0NjdjMWZiY2YzMWZjNzAyNTAxZWM5MjZjZjczZjZhYjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsCkBAIC0yNiw5ICsyNiw4IEBACiBbCiAgICAgRW5hYmxl
ZEJ5U2V0dGluZz1NZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQsCiAgICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKLSAgICBKU0N1c3RvbUhlYWRlciwKLSAgICBFeHBvc2VkPVdpbmRvdworICAg
IEV4cG9zZWQ9KFdpbmRvdyxEZWRpY2F0ZWRXb3JrZXIpCiBdIGludGVyZmFjZSBNZWRpYUNhcGFi
aWxpdGllcyB7Ci0gICAgW0N1c3RvbUVuYWJsZWQsIENhbGxXaXRoPURvY3VtZW50XSBQcm9taXNl
PE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7Ci0gICAgW0N1c3RvbUVuYWJsZWQsIENhbGxX
aXRoPURvY3VtZW50XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPiBlbmNv
ZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7CisgICAg
W0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8TWVkaWFDYXBhYmlsaXRp
ZXNEZWNvZGluZ0luZm8+IGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiBj
b25maWd1cmF0aW9uKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gUHJv
bWlzZTxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4gZW5jb2RpbmdJbmZvKE1lZGlhRW5j
b2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yTWVkaWFDYXBhYmls
aXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9OYXZp
Z2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKaW5kZXggYTMxYmFkYjU0YWM5ODFlMGUzYmFkYWZl
MjA5ODc4MjlkM2Y3NDAzNS4uNGU4MGJiZmM5NmI1MWNjNDliYjFmZTlkYTY3MDEyZmZmMmQzNDE4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9O
YXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKQEAgLTMy
LDcgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTmF2aWdhdG9yTWVkaWFDYXBhYmls
aXRpZXM6Ok5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCkKLSAgICA6IG1fbWVkaWFDYXBhYmls
aXRpZXMoYWRvcHRSZWYoKm5ldyBNZWRpYUNhcGFiaWxpdGllcygpKSkKKyAgICA6IG1fbWVkaWFD
YXBhYmlsaXRpZXMoTWVkaWFDYXBhYmlsaXRpZXM6OmNyZWF0ZSgpKQogewogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmln
YXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
Y2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTA1OGZlOGExMjdlZWM1MjU5NzZkODQ4M2IxZThkM2U4ZmZjNjZiNwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2Vy
TmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhLWNhcGFiaWxpdGllcy8jbmF2aWdh
dG9ycy1leHRlbnNpb25zCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYUNhcGFiaWxpdGll
c0VuYWJsZWQsCisgICAgSW1wbGVtZW50ZWRCeT1Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxp
dGllcworXSBwYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZpZ2F0b3IgeworICBbU2FtZU9iamVj
dF0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhQ2FwYWJpbGl0aWVzIG1lZGlhQ2FwYWJpbGl0aWVz
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRp
ZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGll
cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzNmMTQyNjIxMzIwOWRjODU2YThiOTUwZDI2NjQ0YTYyOTYzN2Ex
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmls
aXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwCkBAIC0wLDAgKzEsNjcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV29ya2VyTmF2
aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCIKKworI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVz
LmgiCisjaW5jbHVkZSAiV29ya2VyTmF2aWdhdG9yLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6Oldvcmtlck5hdmlnYXRvck1lZGlh
Q2FwYWJpbGl0aWVzKCkKKyAgICA6IG1fbWVkaWFDYXBhYmlsaXRpZXMoTWVkaWFDYXBhYmlsaXRp
ZXM6OmNyZWF0ZSgpKQoreworfQorCitXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllczo6
fldvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCkgPSBkZWZhdWx0OworCitjb25zdCBj
aGFyKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllczo6c3VwcGxlbWVudE5hbWUoKQor
eworICAgIHJldHVybiAiV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMiOworfQorCitX
b3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyYgV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBh
YmlsaXRpZXM6OmZyb20oV29ya2VyTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7CisgICAgYXV0byog
c3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVz
Kj4oU3VwcGxlbWVudDxXb3JrZXJOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1l
bnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgYXV0byBuZXdTdXBw
bGVtZW50ID0gbWFrZVVuaXF1ZTxXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcz4oKTsK
KyAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgICAgIHByb3Zp
ZGVUbygmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1lbnQp
KTsKKyAgICB9CisgICAgcmV0dXJuICpzdXBwbGVtZW50OworfQorCitNZWRpYUNhcGFiaWxpdGll
cyYgV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6Om1lZGlhQ2FwYWJpbGl0aWVzKFdv
cmtlck5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBXb3JrZXJOYXZpZ2F0b3JN
ZWRpYUNhcGFiaWxpdGllczo6ZnJvbShuYXZpZ2F0b3IpLm1lZGlhQ2FwYWJpbGl0aWVzKCk7Cit9
CisKK01lZGlhQ2FwYWJpbGl0aWVzJiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllczo6
bWVkaWFDYXBhYmlsaXRpZXMoKSBjb25zdAoreworICAgIHJldHVybiBtX21lZGlhQ2FwYWJpbGl0
aWVzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJp
bGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDkxN2ZhZGMyMjkyNDU4
ZmIwYTdkZWQwODRmNTg5OTI3YmExZDA3MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmls
aXRpZXMuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IE1lZGlhQ2FwYWJpbGl0aWVzOworY2xhc3MgV29ya2VyTmF2aWdhdG9yOworCitjbGFzcyBXb3Jr
ZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyBmaW5hbCA6IHB1YmxpYyBTdXBwbGVtZW50PFdv
cmtlck5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgor
ICAgIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCk7CisgICAgfldvcmtlck5hdmln
YXRvck1lZGlhQ2FwYWJpbGl0aWVzKCk7CisKKyAgICBzdGF0aWMgTWVkaWFDYXBhYmlsaXRpZXMm
IG1lZGlhQ2FwYWJpbGl0aWVzKFdvcmtlck5hdmlnYXRvciYpOworICAgIHN0YXRpYyBXb3JrZXJO
YXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyYgZnJvbShXb3JrZXJOYXZpZ2F0b3ImKTsKKworICAg
IE1lZGlhQ2FwYWJpbGl0aWVzJiBtZWRpYUNhcGFiaWxpdGllcygpIGNvbnN0OworcHJpdmF0ZToK
KyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIG11dGFibGUg
UmVmPE1lZGlhQ2FwYWJpbGl0aWVzPiBtX21lZGlhQ2FwYWJpbGl0aWVzOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCAyYjAzZmE3MTlhMDFiOWRhOTI5Zjhi
NTk0YWE3YjAyMDgxM2IwYzAwLi5kY2EwM2NmNGRiYjlmMmJiZTM3M2Y3YWRjYTk1MzVkMGY4ZmQ1
ZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTMxLDYgKzEzMSw3IEBAIE1vZHVsZXMvaW5kZXhlZGRi
L3NoYXJlZC9JREJUcmFuc2FjdGlvbkluZm8uY3BwCiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SW5kZXhLZXkuY3BwCiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVz
LmNwcAogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGll
cy5jcHAKK01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBh
YmlsaXRpZXMuY3BwCiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYU1ldGFkYXRhLmNwcAogTW9k
dWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmNwcAogTW9kdWxlcy9tZWRpYXNlc3Npb24v
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjUyMTExN2IzNmQ4YTVkMDFmNmM4ZDI3
NDk4ZDYzYzMxMDU0NDcwOC4uZWVhNmMyMjk5Y2MxMDRkMjM5OWNhNDdiNDQ0NzZlYmY1OGU3NjZk
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtODE0OSw3ICs4MTQ5LDkgQEAKIAkJNDE4RkNCQ0IyNzA2RjNDRDAwRjk2RUNBIC8q
IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZStQdXNoQVBJLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlK1B1c2hBUEkuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDE4RkNCQ0MyNzA2RjQzNDAwRjk2RUNBIC8qIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hB
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThGQ0JDRDI3MDZGNDM0MDBGOTZFQ0EgLyog
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNDE4RkNCRTgyNzE1QUExOTAwRjk2RUNBIC8qIEpTTWVkaWFDYXBhYmlsaXRpZXND
dXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JFQTI3MTVCNjBGMDBGOTZFQ0EgLyogV29y
a2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiV29ya2VyTmF2aWdhdG9y
K01lZGlhQ2FwYWJpbGl0aWVzLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
OEZDQkVDMjcxNUI4NTEwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGll
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JFRDI3MTVCODUyMDBGOTZFQ0EgLyog
V29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTkwRjNBMTI0OUQxNTI3MDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGcmFtZVJhdGVNb25pdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MEYzQTMyNDlEMTUyODAwNTMx
QzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRnJhbWVSYXRlTW9uaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTky
NDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2Eu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIz
MjE0LDcgKzIzMjE2LDYgQEAKIAkJCQlBN0QwMzE4RDBFOTM1NDAzMDBFMjRBQ0QgLyogSlNJbWFn
ZURhdGFDdXN0b20uY3BwICovLAogCQkJCTU4NjhDN0Q1MjU0NkUwQjMwMEJGOURGMyAvKiBKU0lu
dGVyc2VjdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLywKIAkJCQk3N0MxM0YwNDIxNjU2NThBMDAy
RDlDNUYgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5Q3VzdG9tLmNwcCAqLywKLQkJCQk0
MThGQ0JFODI3MTVBQTE5MDBGOTZFQ0EgLyogSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oICov
LAogCQkJCUFENzI2RkU3MTZEOUYyMDQwMDNBNEU2RCAvKiBKU01lZGlhTGlzdEN1c3RvbS5oICov
LAogCQkJCTQxNUNEQUY2MUU2Q0UwRDMwMDRGMTFFRSAvKiBKU01lZGlhU3RyZWFtVHJhY2tDdXN0
b20uY3BwICovLAogCQkJCUUxQTVGOTlBMEU3RUFBMjUwMEFGODVFQSAvKiBKU01lc3NhZ2VDaGFu
bmVsQ3VzdG9tLmNwcCAqLywKQEAgLTI4NzQ4LDYgKzI4NzQ5LDkgQEAKIAkJCQlDREJEM0QzOTFG
RTg1Q0MxMDAxMkM1NDUgLyogTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCAqLywKIAkJCQlD
RDRFNEU2MjIzNTdCM0FEMDA3ODk1QzMgLyogVHJhbnNmZXJGdW5jdGlvbi5pZGwgKi8sCiAJCQkJ
Q0RCRDNEMjgxRkU4NUNCODAwMTJDNTQ1IC8qIFZpZGVvQ29uZmlndXJhdGlvbi5pZGwgKi8sCisJ
CQkJNDE4RkNCRUEyNzE1QjYwRjAwRjk2RUNBIC8qIFdvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFi
aWxpdGllcy5pZGwgKi8sCisJCQkJNDE4RkNCRUQyNzE1Qjg1MjAwRjk2RUNBIC8qIFdvcmtlck5h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcCAqLywKKwkJCQk0MThGQ0JFQzI3MTVCODUxMDBG
OTZFQ0EgLyogV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCAqLywKIAkJCSk7CiAJ
CQlwYXRoID0gbWVkaWFjYXBhYmlsaXRpZXM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtMzUxMzcsNiArMzUxNDEsNyBAQAogCQkJCTQxM0NDMTFEMjVFN0Q5OEUwMEQ1OUM0QiAvKiBS
VENQcmlvcml0eVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMTRGRTMyMjVCRUJEMTkwMDlE
OUYyMCAvKiBSVENSdGNwUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEyREU0Qjgy
MTkyODVDMDAwNzVGM0E3IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDE4RkNCRTcyNzE1QTI4RjAwRjk2RUNBIC8qIFJUQ1J0cENvZGVjQ2FwYWJpbGl0eS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNUUyQzQzNjMxQkNFRTMyQjAwMDFFMkJDIC8qIFJUQ1J0cFJlY2Vp
dmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTNDOEIzNTI1NTJGMjdEMDBFNjUwNTUgLyogUlRD
UnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RTJDNDM2MTFC
Q0VFMzIzMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTM1MjAx
LDcgKzM1MjA2LDYgQEAKIAkJCQlCQzhBRTM0RjEyRUEwOTZBMDBFQjNBRTYgLyogU2Nyb2xsYWJs
ZUFyZWEuaCBpbiBIZWFkZXJzICovLAogCQkJCTVEOTI1QjY4MEY2NEQ0REQwMEI4NDdGMCAvKiBT
Y3JvbGxBbGlnbm1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQTYxQjBFMjZGNDMyMTMwMDFB
QURCNiAvKiBTY3JvbGxBbmltYXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCTQxOEZDQkU3Mjcx
NUEyOEYwMEY5NkVDQSAvKiBSVENSdHBDb2RlY0NhcGFiaWxpdHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGMEUwMDlDMjZGOTJEODQwMEFDRTlDNiAvKiBTY3JvbGxBbmltYXRpb25Nb21lbnR1bS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0EzQkY2N0UxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFu
aW1hdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjE3NzQ4MDEzNzhCNzcyMDA5REE3NkEgLyog
U2Nyb2xsQW5pbWF0b3JJT1MuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4MjQ3Mjc3OTkwNmRjNzg5NTFiM2FhMDJkZDEyY2I4YzA2Zjhi
MzM4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaAorKysgL2Rl
di9udWxsCkBAIC0xLDUwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
LSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0g
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lu
Y2x1ZGUgIk1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCIKLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1BTFdBWVNfSU5MSU5FIGJvb2wgSlNNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5n
SW5mb0lzRW5hYmxlZCgpCi17Ci0jaWYgRU5BQkxFKFdFQl9SVEMpCi0gICAgcmV0dXJuIHRydWU7
Ci0jZWxzZQotICAgIHJldHVybiBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNF
bmNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0b3J5KCk7Ci0jZW5kaWYKLX0KLQotQUxXQVlTX0lOTElO
RSBib29sIEpTTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm9Jc0VuYWJsZWQoKQotewotI2lm
IEVOQUJMRShXRUJfUlRDKQotICAgIHJldHVybiB0cnVlOwotI2Vsc2UKLSAgICByZXR1cm4gTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFzRGVjb2RpbmdDb25maWd1cmF0aW9uRmFj
dG9yeSgpOwotI2VuZGlmCi19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcAppbmRleCBkMjRiMDFiNzczNmM1Y2I1OGY2OWE3ZDk4ZDZjNGI3MGI2
NDk4YmMzLi45MDQ2NmRmNTUxNTBmZjU4ODgwYTNiZDgwMTEyZTI5MzFjNzgwZmRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC02ODIsNCAr
NjgyLDI3IEBAIGJvb2wgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZW5zdXJlT25Db250ZXh0VGhy
ZWFkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K3ZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cG9zdFRhc2tUb1Jlc3BvbnNpYmxlRG9jdW1l
bnQoRnVuY3Rpb248dm9pZChEb2N1bWVudCYpPiYmIGNhbGxiYWNrKQoreworICAgIGlmIChpczxE
b2N1bWVudD4odGhpcykpIHsKKyAgICAgICAgY2FsbGJhY2soZG93bmNhc3Q8RG9jdW1lbnQ+KCp0
aGlzKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBU1NFUlQoaXM8V29ya2VyT3JX
b3JrbGV0R2xvYmFsU2NvcGU+KHRoaXMpKTsKKyAgICBpZiAoIWlzPFdvcmtlck9yV29ya2xldEds
b2JhbFNjb3BlPih0aGlzKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byogdGhyZWFkID0g
ZG93bmNhc3Q8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KHRoaXMpLT53b3JrZXJPcldvcmts
ZXRUaHJlYWQoKTsKKyAgICBpZiAodGhyZWFkKSB7CisgICAgICAgIHRocmVhZC0+d29ya2VyTG9h
ZGVyUHJveHkoKS5wb3N0VGFza1RvTG9hZGVyKFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2sp
XShhdXRvJiYgY29udGV4dCkgeworICAgICAgICAgICAgY2FsbGJhY2soZG93bmNhc3Q8RG9jdW1l
bnQ+KGNvbnRleHQpKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoYXV0byBkb2N1bWVudCA9IGRvd25jYXN0PFdvcmtsZXRHbG9iYWxTY29wZT4odGhpcykt
PnJlc3BvbnNpYmxlRG9jdW1lbnQoKSkKKyAgICAgICAgY2FsbGJhY2soKmRvY3VtZW50KTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgKaW5kZXggMTZjODY2ZjM5NDg2YWRkMWVkYTNkYTMyMGI1MTA0NmQyNWMz
MDQ1ZS4uMjVmYjAwZTYxMzIzZTk4Mjk2MGEyODUwZDdlMTM3YmY1MjZiYTZkOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0yMjMsNiArMjIzLDgg
QEAgcHVibGljOgogICAgICAgICB9KTsKICAgICB9CiAKKyAgICB2b2lkIHBvc3RUYXNrVG9SZXNw
b25zaWJsZURvY3VtZW50KEZ1bmN0aW9uPHZvaWQoRG9jdW1lbnQmKT4mJik7CisKICAgICAvLyBH
ZXRzIHRoZSBuZXh0IGlkIGluIGEgY2lyY3VsYXIgc2VxdWVuY2UgZnJvbSAxIHRvIDJeMzEtMS4K
ICAgICBpbnQgY2lyY3VsYXJTZXF1ZW50aWFsSUQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKaW5kZXggNGNl
YjFkMTE3MmEwNzM0NWI4ZDNmMTZlYWY1MDExMWQ0OTY1NTA3NC4uZmU0MDM5NzhmOThjN2VmMzEx
YjUyMjhjZWI4YjQyYjFiZmJkNWQyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oCkBAIC00NywxMCArNDcsMTcg
QEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIDogTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvIHsKIAogICAgIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIHN1cHBvcnRlZENvbmZp
Z3VyYXRpb247CiAKKyAgICBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyBpc29sYXRlZENv
cHkoKSBjb25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVu
Y29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpv
cHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4gZGVjb2RlKERlY29kZXImKTsK
IH07CiAKK2lubGluZSBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyBNZWRpYUNhcGFiaWxp
dGllc0RlY29kaW5nSW5mbzo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyBN
ZWRpYUNhcGFiaWxpdGllc0luZm86Omlzb2xhdGVkQ29weSgpLCBzdXBwb3J0ZWRDb25maWd1cmF0
aW9uLmlzb2xhdGVkQ29weSgpIH07Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lk
IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJp
bGl0aWVzRW5jb2RpbmdJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFi
aWxpdGllc0VuY29kaW5nSW5mby5oCmluZGV4IGFkNzI5YTAxNmY2YjNkMTZmMjVlYjBkYWU5ODJm
Y2JjNzJlMjI5NmMuLmMyYjI1MDkwZjA1MjJkNWRjZDZmNTFiNTRiYWMyOWFkYjNiZDMxYjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNF
bmNvZGluZ0luZm8uaApAQCAtNDcsMTAgKzQ3LDE3IEBAIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mbyA6IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyB7CiAKICAgICBNZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbiBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOwogCisgICAgTWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm8gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0
ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFDYXBhYmlsaXRpZXNF
bmNvZGluZ0luZm8+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgTWVkaWFDYXBhYmls
aXRpZXNFbmNvZGluZ0luZm8gTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm86Omlzb2xhdGVk
Q29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjppc29s
YXRlZENvcHkoKSwgc3VwcG9ydGVkQ29uZmlndXJhdGlvbi5pc29sYXRlZENvcHkoKSB9OworfQor
CiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5n
SW5mbzo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzSW5mby5oCmluZGV4IDEyMjBlYzU0YjI4MDhm
ZWU3MGU4MGI0N2M5YmFmOWM3YjZjZGQzMWEuLmE4MzdjYzVkOTliMWJmNjUwZDJmNzFkNmE0OGRm
NjUwNGEzOTg5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2Fw
YWJpbGl0aWVzSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJp
bGl0aWVzSW5mby5oCkBAIC0zNCwxMCArMzQsMTcgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVz
SW5mbyB7CiAgICAgYm9vbCBzbW9vdGggeyBmYWxzZSB9OwogICAgIGJvb2wgcG93ZXJFZmZpY2ll
bnQgeyBmYWxzZSB9OwogCisgICAgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGlzb2xhdGVkQ29weSgp
IGNvbnN0OworCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2Rl
ciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGlu
ZSBNZWRpYUNhcGFiaWxpdGllc0luZm8gTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjppc29sYXRlZENv
cHkoKSBjb25zdAoreworICAgIHJldHVybiAqdGhpczsKK30KKwogdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4KIHZvaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmgKaW5kZXggNGZiMGYzYjgwZDBl
NmQwNzZjNjQ3ODNhNzQ0ZGNiMGFiM2M1OGIxYi4uNmUxZThkMWZjYmE3ODkwZDk2NDc2MGU4NDM2
MWE1NWYxMDk4Yjc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFj
YXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVkaW9Db25maWd1cmF0aW9uLmgKQEAgLTM2LDEwICsz
NiwxNyBAQCBzdHJ1Y3QgQXVkaW9Db25maWd1cmF0aW9uIHsKICAgICBzdGQ6Om9wdGlvbmFsPHVp
bnQzMl90PiBzYW1wbGVyYXRlOwogICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gc3BhdGlhbFJlbmRl
cmluZzsKIAorICAgIEF1ZGlvQ29uZmlndXJhdGlvbiBpc29sYXRlZENvcHkoKSBjb25zdDsKKwog
ICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsK
ICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxBdWRpb0Nv
bmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgQXVkaW9Db25maWd1
cmF0aW9uIEF1ZGlvQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4geyBjb250ZW50VHlwZS5pc29sYXRlZENvcHkoKSwgY2hhbm5lbHMuaXNvbGF0ZWRDb3B5
KCksIGJpdHJhdGUsIHNhbXBsZXJhdGUsIHNwYXRpYWxSZW5kZXJpbmcgfTsKK30KKwogdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgQXVkaW9Db25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDb25maWd1cmF0aW9uLmgKaW5kZXggMmMz
YjE3NThmNzMyY2U5OThkN2IwNWE0MTRlNGY5YjZmZDU1Y2U4Yi4uZWZhYzRjNzk0ZGNmZWI0NzMx
NTZiZDNmNDVmZGU1OWNmZmYwODUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDb25maWd1cmF0aW9uLmgKQEAg
LTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkF1ZGlvQ29uZmlndXJhdGlvbi5oIgogI2luY2x1
ZGUgIlZpZGVvQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZENvcGll
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM0LDEwICszNSwxNyBAQCBzdHJ1Y3Qg
TWVkaWFDb25maWd1cmF0aW9uIHsKICAgICBzdGQ6Om9wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlv
bj4gdmlkZW87CiAgICAgc3RkOjpvcHRpb25hbDxBdWRpb0NvbmZpZ3VyYXRpb24+IGF1ZGlvOwog
CisgICAgTWVkaWFDb25maWd1cmF0aW9uIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVt
cGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRl
bXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1lZGlhQ29uZmlndXJh
dGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBNZWRpYUNvbmZpZ3VyYXRpb24g
TWVkaWFDb25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7
IGNyb3NzVGhyZWFkQ29weSh2aWRlbyksICBjcm9zc1RocmVhZENvcHkoYXVkaW8pIH07Cit9CisK
IHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIE1lZGlhQ29uZmlndXJhdGlvbjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24uaAppbmRleCBmZWJjOGFkZjNhNDI0Y2NlMzJhZDVjMThiYTNkYzI1MGU3ZmNh
ZWYwLi4zZTliMzRiYWYzYWM0YTMwODllNDcxMmZlMzYzNWUzZjg4OGU3NDMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5n
Q29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgKQEAgLTM1LDEwICszNSwxNyBAQCBz
dHJ1Y3QgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gOiBNZWRpYUNvbmZpZ3VyYXRpb24gewog
CiAgICAgYm9vbCBjYW5FeHBvc2VWUDkgeyB0cnVlIH07CiAKKyAgICBNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbiBpc29sYXRlZENvcHkoKSBjb25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbj4g
ZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
biBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4geyBNZWRpYUNvbmZpZ3VyYXRpb246Omlzb2xhdGVkQ29weSgpLCB0eXBlLCBjYW5F
eHBvc2VWUDkgfTsKK30KKwogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFF
bmNvZGluZ0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgKaW5kZXggMTliN2Y3NGMyZDE1
OGQ1MWVkOTk1NzIyNDM0Yzk1NDM5M2VjNWYwZC4uNTk2ODE3NzgyNDM1NzRjMjEzNTBjNTEwZmRh
MjE3NDJjODhmZDVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlv
bi5oCkBAIC0zMywxMCArMzMsMTcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uIDogTWVkaWFDb25maWd1cmF0aW9uIHsKICAgICBNZWRpYUVu
Y29kaW5nVHlwZSB0eXBlOwogCisgICAgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gaXNvbGF0
ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29k
ZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0
ZDo6b3B0aW9uYWw8TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7
CiB9OwogCitpbmxpbmUgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gTWVkaWFFbmNvZGluZ0Nv
bmZpZ3VyYXRpb246Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgTWVkaWFD
b25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSwgdHlwZSB9OworfQorCiB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPgogdm9pZCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCmluZGV4IDYw
ZjlmMzMzY2JhNzIxNTY3YTFjODdhZTgxZTI0YWUyNDZjNWQ1NjYuLmU4NjMxZjJjZjE3NjdlYWZi
ODVkNTU2YTBkZTdiMjU0YzA1YjJiODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oCkBA
IC00MywxMCArNDMsMTcgQEAgc3RydWN0IFZpZGVvQ29uZmlndXJhdGlvbiB7CiAgICAgc3RkOjpv
cHRpb25hbDxIZHJNZXRhZGF0YVR5cGU+IGhkck1ldGFkYXRhVHlwZTsKICAgICBzdGQ6Om9wdGlv
bmFsPFRyYW5zZmVyRnVuY3Rpb24+IHRyYW5zZmVyRnVuY3Rpb247CiAKKyAgICBWaWRlb0NvbmZp
Z3VyYXRpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVj
b2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmlkZW9Db25maWd1cmF0aW9uPiBkZWNvZGUoRGVj
b2RlciYpOwogfTsKIAoraW5saW5lIFZpZGVvQ29uZmlndXJhdGlvbiBWaWRlb0NvbmZpZ3VyYXRp
b246Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgY29udGVudFR5cGUuaXNv
bGF0ZWRDb3B5KCksIHdpZHRoLCBoZWlnaHQsIGJpdHJhdGUsIGZyYW1lcmF0ZSwgYWxwaGFDaGFu
bmVsLCBjb2xvckdhbXV0LCBoZHJNZXRhZGF0YVR5cGUsIHRyYW5zZmVyRnVuY3Rpb24gfTsKK30K
KwogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgVmlkZW9Db25maWd1cmF0aW9uOjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IDcxMmUxMjE4NDc0OWVkYjE3NTQxY2UwNDdlMjM2NDEwNzZhZDM3N2QuLmU1NWFmYzRi
Nzg2ZmZlMDVmZmUxYTEyMTk3MDdlZjQ4MGRiNDQyYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTEwLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgTWVkaWFDYXBhYmlsaXRpZXMgdG8gV29y
a2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
NTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29y
a2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnku
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9lbmNvZGluZ0luZm8uYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQ6CisKIDIwMjEtMTAtMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBXZWJSVEMgbWVkaWEgY2FwYWJpbGl0aWVz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggODEyODBm
MjIwZmViZWJjZDZhYTg0ZjdhMGIwN2UwZmIyM2Y3ODY3NC4uMTU2NTk0YjFiYWZjYTQ5YzI2NWNl
MjIwY2I4ZWI2ZDBjMDZlMWRiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dApAQCAtMSwzMSArMSwzMSBAQAogCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdldCBhIGNvbmZpZ3VyYXRpb24gdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycp
Ci1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1
cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9uIGRv
ZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
bycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNv
bmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBj
b25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkgdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZSB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4g
b25lIHBhcmFtZXRlciB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcyB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBp
biB0aGUgZm9ybSBvZiB4L3kgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wIHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJl
amVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveSB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
bycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0
aGUgZm9ybSBvZiAteC95IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkgdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8n
KQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0
cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1G
QUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJh
dGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQot
RkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3Vy
YXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1l
dGVyIHRoYXQgaXNuJ3QgY29kZWNzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZv
IG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEg
dmFsaWQgdHlwZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gd2l0aCBzcGF0aWFsUmVuZGVyaW5nIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFD
YXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggaGRyTWV0YWRhdGFUeXBlLCBjb2xvckdhbXV0LCBh
bmQgdHJhbnNmZXJGdW5jdGlvbiBzZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVz
SW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhbiBlbXB0
eSBoZHJNZXRhZGF0YVR5cGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEg
Y29sb3JHYW11dCBzZXQgdG8gdHJ1ZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBo
YXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0byAzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykK
K1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEg
Y29uZmlndXJhdGlvbgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlw
ZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRp
b24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdh
dGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFz
IGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBw
YXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbworRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3Vs
ZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNT
IFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2Yg
eC95CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0
aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJh
bWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkg
cmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgveQorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8teQorUEFTUyBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2Yg
eC8KK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGgg
dHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBw
YXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbworRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91
bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKK0ZBSUwg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJ
bmZvIG9iamVjdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5k
ZWZpbmVkIgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlh
Q29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdHlwZQorRkFJTCBUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHdpdGggc3BhdGlhbFJlbmRlcmluZyBzZXQgcmV0dXJucyBhIHZhbGlkIE1l
ZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJvYmpl
Y3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyB3aXRo
IGhkck1ldGFkYXRhVHlwZSwgY29sb3JHYW11dCwgYW5kIHRyYW5zZmVyRnVuY3Rpb24gc2V0IHJl
dHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitQQVNTIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYW4gZW1w
dHkgaGRyTWV0YWRhdGFUeXBlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBjb2xvckdhbXV0IHNldCB0byB0cnVlCitQ
QVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0byAzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVz
L2VuY29kaW5nSW5mby5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1Y2JlMjYzZmE3
MjEwYjRhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKKworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uCitQQVNTIFRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGlzbid0IHZhbGlk
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1
cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3Igdmlk
ZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRl
byBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZQorUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJh
bWVyYXRlIHNldCB0byAwCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5CitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBv
ZiB0eXBlIHZpZGVvCitGQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0
ZXIgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVy
IHRoYXQgaXNuJ3QgY29kZWNzCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3Rz
IGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
bygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvMAorUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95CitQQVNT
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBv
ZiAteC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBp
biB0aGUgZm9ybSBvZiB4Ly15CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3Rz
IGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
KCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycwor
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3Vy
YXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBv
ZiB0eXBlIGF1ZGlvCitGQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
YXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0
ZXJzIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRl
ciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMg
YSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBmb3IgcmVjb3JkIHR5cGUKK1BB
U1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRp
b24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2Rp
bmdJbmZvLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0
aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnku
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjg4MmIwYWU5MTE3YWIyNjhmZjU3MTBmN2Y5YjM5N2IxZGFlZGJiZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuanMKQEAgLTAsMCArMSwz
MTAgQEAKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2Vk
IHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIg
bWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICd2aWRlby93ZWJt
OyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0OiA2MDAs
CisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5pbWFsIFdl
YlJUQyBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFs
bCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsV2VicnRj
VmlkZW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOScsCisgIHdp
ZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFtZXJhdGU6
IDI0LAorfTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFs
bG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4K
K3ZhciBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ2F1ZGlv
L3dlYm07IGNvZGVjcz0ib3B1cyInLAorfTsKKworLy8gTWluaW1hbCBXZWJSVEMgQXVkaW9Db25m
aWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8v
IHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJh
dGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICdhdWRpby9vcHVzJywKK307CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oKSk7Cit9LCAiVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbiIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlw
ZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHt9KSk7Cit9
LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRp
b24gaXNuJ3QgdmFsaWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyh7CisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAg
YXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBo
YXZlIGEgdHlwZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVk
aW8gb3IgdmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAg
IGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAg
ICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAor
ICAgICAgZnJhbWVyYXRlOiAtMSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZl
IGZyYW1lcmF0ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVu
dFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRo
OiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBm
cmFtZXJhdGU6IDAsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRv
IDAiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pz
KHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAn
dmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAor
ICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRl
OiBJbmZpbml0eSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8g
SW5maW5pdHkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5n
SW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRU
eXBlOiAnZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAg
ICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZp
ZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL2ZnZW9hJywKKyAgICAgIHdpZHRoOiA4
MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFt
ZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlw
ZSB2aWRlbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVj
dHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5
cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiOyBmb289ImJhciInLAorICAg
ICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwK
KyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBo
YXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86
IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgZm9vPSJiYXIiJywKKyAgICAgIHdp
ZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAg
ICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9u
ZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlk
ZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEw
LjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRy
YXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvMTAwMScsCisgICAgfQorICB9KSk7
Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBm
b3JtIG9mIHgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVu
dFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRo
OiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBm
cmFtZXJhdGU6ICcyNDAwMC8wJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wIik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdy
ZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNv
ZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDog
NjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzAvMTAwMDEnLAor
ICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsK
KyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4Iics
CisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAz
MDAwLAorICAgICAgZnJhbWVyYXRlOiAnLTI0MDAwLzEwMDAxJywKKyAgICB9CisgIH0pKTsKK30s
ICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0g
b2YgLXgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVj
dHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5
cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4
MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFt
ZXJhdGU6ICcyNDAwMC8tMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15Iik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6
ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07
IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdo
dDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLycs
CisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJh
bWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7
CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCIn
LAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTog
MzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzEvM3gnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRoIHRyYWlsaW5nIHVuYWxs
b3dlZCBjaGFyYWN0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21p
c2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRU
eXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlIik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAg
IHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vZmdlb2En
IH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1
ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAncmVjb3JkJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVj
cz0ib3B1cyI7IGZvbz0iYmFyIicgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9y
ZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJu
IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNv
bnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25m
aWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICB9KS50
aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc3VwcG9y
dGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc21vb3Ro
LCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkucG93ZXJFZmZp
Y2llbnQsICJib29sZWFuIik7CisgIH0pOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0
dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGZvciByZWNvcmQgdHlw
ZSIpOworCithc3luY190ZXN0KHQgPT4geworICB2YXIgdmFsaWRUeXBlcyA9IFsgJ3JlY29yZCcs
ICd3ZWJydGMnIF07CisgIHZhciBpbnZhbGlkVHlwZXMgPSBbIHVuZGVmaW5lZCwgbnVsbCwgJycs
ICdmb29iYXInLCAnbXNlJywgJ01lZGlhU291cmNlJywKKyAgICAgICAgICAgICAgICAgICAgICAg
J2ZpbGUnLCAnbWVkaWEtc291cmNlJywgXTsKKworICB2YXIgdmFsaWRQcm9taXNlcyA9IFtdOwor
ICB2YXIgaW52YWxpZENhdWdodCA9IDA7CisKKyAgdmFsaWRUeXBlcy5mb3JFYWNoKHR5cGUgPT4g
eworICAgIHZhbGlkUHJvbWlzZXMucHVzaChuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKHsKKyAgICAgIHR5cGU6IHR5cGUsCisgICAgICB2aWRlbzogdHlwZSAhPSAid2Vi
cnRjIiA/IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gOiBtaW5pbWFsV2VicnRjVmlkZW9Db25m
aWd1cmF0aW9uLAorICAgICAgYXVkaW86IHR5cGUgIT0gIndlYnJ0YyIgPyBtaW5pbWFsQXVkaW9D
b25maWd1cmF0aW9uIDogbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiwKKyAgICB9KSk7
CisgIH0pOworCisgIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3RlZCB2aWEgUHJvbWlzZS5hbGwodmFs
aWRQcm9taXNlcykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCisgIC8vIHByb21pc2VzIGZhaWwsIFBy
b21pc2UuYWxsKCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFuaXNtIGNhbid0IGJlIHVzZWQgZm9y
CisgIC8vIGludmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0ZXN0ZWQgaW5kaXZpZHVhbGx5IGFu
ZCBpbmNyZW1lbnQgaW52YWxpZENhdWdodAorICAvLyB3aGVuIHJlamVjdGVkIHVudGlsIHRoZSBh
bW91bnQgb2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVjdGF0aW9uLgorICBQcm9taXNlLmFs
bCh2YWxpZFByb21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkgeworICAgICAgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgICAgIHR5cGU6IGludmFsaWRUeXBl
c1tpXSwKKyAgICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgICAg
IGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgICAgfSkudGhlbih0LnVucmVh
Y2hlZF9mdW5jKCksIHQuc3RlcF9mdW5jKGUgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGUu
bmFtZSwgJ1R5cGVFcnJvcicpOworICAgICAgICArK2ludmFsaWRDYXVnaHQ7CisgICAgICAgIGlm
IChpbnZhbGlkQ2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5ndGgpCisgICAgICAgICAgdC5kb25l
KCk7CisgICAgICB9KSk7CisgICAgfQorICB9KSwgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZS5h
bGwgc2hvdWxkIG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVzJykpOworfSwgIlRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhh
dmUgYSB2YWxpZCB0eXBlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1Y2JlMjYzZmE3MjEwYjRh
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI2IEBACisKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxp
ZAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmln
dXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZp
ZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZy
YW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQor
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qg
b2YgdHlwZSB2aWRlbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1l
dGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRl
ciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0
cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQorUEFT
UyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0g
b2YgLXgveQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUg
aW4gdGhlIGZvcm0gb2YgeC8teQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0
cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
bygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMK
K1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1
cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qg
b2YgdHlwZSBhdWRpbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1l
dGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0
ZXIgdGhhdCBpc24ndCBjb2RlY3MKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5z
IGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9yIHJlY29yZCB0eXBlCitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0
aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29k
aW5nSW5mby5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sCkBA
IC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBp
bmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDY3MDA4Mjg4NzBjZTFmMTU5ZjQwMzBhZWEzNGM2NmM3OGUxNjdhOTEuLjNiNjcxOTAwNGRi
OWRkMzE4ZGNmYWI3ZDg0YTkzZGViMjcxMjMyYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5l
c3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29y
a2VyLWV4cGVjdGVkLnR4dApAQCAtMjAsMjAgKzIwLDIwIEBAIFBBU1MgV29ya2VyTmF2aWdhdG9y
IGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3Jr
ZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZp
Z2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1GQUlMIE1l
ZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNh
cGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJp
bGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZSBvYmplY3Qg
bmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVz
IiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVz
IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwgTWVk
aWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJp
bGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZB
SUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlh
Q2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3Np
bmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVjb2RpbmdJ
bmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQg
cHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0
aWVzIGludGVyZmFjZTogb3BlcmF0aW9uIGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbikgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxp
dGllcyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBtdXN0IGJlIHByaW1hcnkgaW50
ZXJmYWNlIG9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBhc3NlcnRfZXF1YWxzOiB3cm9u
ZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZB
SUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBhc3NlcnRf
ZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVu
ZGVmaW5lZCIKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGluZ0luZm8oTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxz
OiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5l
ZCIKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGRlY29kaW5nSW5m
byhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2Vx
dWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRl
ZmluZWQiCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZW5jb2RpbmdJbmZvKE1lZGlhRW5j
b2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczog
d3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQi
Ci1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogY2FsbGluZyBlbmNvZGluZ0luZm8o
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIG9uIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVh
bHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZp
bmVkIgotRkFJTCBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWFDYXBh
YmlsaXRpZXMgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHBy
b3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
V29ya2VyTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAibWVkaWFDYXBhYmlsaXRpZXMiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0
czogcHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNo
YWluCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlIG9iamVj
dCBuYW1lCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIE1lZGlhQ2FwYWJp
bGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBNZWRpYUNhcGFi
aWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgTWVkaWFDYXBh
YmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uKQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlv
biBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pCitQQVNTIE1lZGlhQ2Fw
YWJpbGl0aWVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGluZ0luZm8oTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBNZWRpYUNhcGFi
aWxpdGllcyBpbnRlcmZhY2U6IGNhbGxpbmcgZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvcgorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRl
cmZhY2U6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJvcGVydHkg
ImVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhlIHByb3Bl
ciB0eXBlCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogY2FsbGluZyBlbmNvZGlu
Z0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIG9uIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yCitQQVNT
IFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYUNhcGFiaWxpdGllcwor
UEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441340</attachid>
            <date>2021-10-15 00:02:15 -0700</date>
            <delta_ts>2021-10-15 00:34:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231574-20211015090212.patch</filename>
            <type>text/plain</type>
            <size>76151</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNlMDIyMmU4YmFhY2E4
MTQ4YWNkY2ZlZmMwMGY0Nzg0MmFlZjUyMS4uZTM1YWU1YmRmYmE2NmRlYTMxZDViZTJjZjQ5NjBl
YzZiNTk4YjhkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgTWVkaWFDYXBh
YmlsaXRpZXMgdG8gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxNTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRXhwb3NlIE1lZGlhIENhcGFiaWxpdGllcyB0byB3b3JrZXJzIGJ5IGhvcHBp
bmcgdG8gbWFpbiB0aHJlYWQgYW5kIHVzaW5nIHdvcmtlciByZXNwb25zaWJsZSBkb2N1bWVudCBm
b3IgZ2F0aGVyaW5nIE1lZGlhIENhcGFiaWxpdGllcywgdGhlbiBob3BwaW5nIGJhY2sgdG8gd29y
a2VyLgorICAgICAgICBNZWRpYUNhcGFiaWxpdGllcyB3aWxsIHN0b3JlIHRoZSBwcm9taXNlcyB3
aGVuIHdhaXRpbmcgZm9yIG1lZGlhIGNhcGFiaWxpdGllcyBnYXRoZXJpbmcgYnkgZG9jdW1lbnQu
CisKKyAgICAgICAgV2UgcmVtb3ZlIEN1c3RvbUVuYWJsZWQgc2luY2UgaXQgaXMgbm90IHN1cHBv
cnRlZCBpbiBXb3JrZXJzIGFuZCB3ZSBhcmUgbm93IGV4cG9zaW5nIGVuY29kaW5nIGluZm8gZm9y
IFdlYlJUQyBhbnl3YXkuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL05hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmln
YXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5oOiBBZGRlZC4K
KyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgor
ICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9N
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlh
Q2FwYWJpbGl0aWVzSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L0F1ZGlvQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaDoKKwogMjAy
MS0xMC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVk
aWFDYXBhYmlsaXRpZXMgc2hvdWxkIGVucXVldWUgYSB0YXNrIHRvIHJlc29sdmUgcHJvbWlzZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzNlZmE5YjgyYzcxNDJhZWQ0ODExY2E5OGMzOWMxN2M3
MzViMTRmZi4uNzMxZDMyOWQxMDllZjIzZTA0NWUyMzA3ZmViZDUwZmMxNGJiYWNiNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTM0NSw2ICszNDUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lE
TF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yK01lZGlhQ2Fw
YWJpbGl0aWVzLmlkbAogICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5j
dGlvbi5pZGwKICAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlv
bi5pZGwKKyAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRp
YUNhcGFiaWxpdGllcy5pZGwKIAogICAgIE1vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRy
b2xzSG9zdC5pZGwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKaW5kZXggYzU0MjkzMDRlNmJhY2ViNmU4NjUxMzZhYWZlMTZkN2NjOWZjNzU3ZS4u
MTg2YTdhNDEyNzZiNGJiMDcxOWM5OTQyMzkzODA2MTViZTIxYWU0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xNzcsNiArMTc3LDcg
QEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdh
dG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9UcmFuc2ZlckZ1bmN0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaWRsCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGll
cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xz
SG9zdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggY2RlNDdlZmExMTIwNTg1YzhhZDk3N2RmMTYzYzU2Yjg1NGY3MTkwYS4uNWRjYmU5Y2E1
NGE2ZjA5MGEzY2ZmMjVhN2RmYTE4YjdkYmEyNDM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTI0NzksNiArMjQ3OSw4IEBAICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFs
U2NvcGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dvcmtlckdsb2JhbFNjb3BlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV29ya2VyTG9jYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckxvY2F0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJp
bGl0aWVzLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNXb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJOYXZpZ2F0b3IuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlck5hdmlnYXRvci5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlck9w
dGlvbnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyZTVkOTEwZDNlOWE1
YTVjYTk4YTg4Y2I5OTJhYzVmMGQ2ZGUyMWQ5Li5lZjNjMGY3MjBhZmQ0MTkzOGFhM2M1ZGEyMGJl
YjVjMWVjYjM5MzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIwMyw2ICsy
MDMsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9OYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRp
b24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2Vy
TmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRp
ZXMuY3BwCmluZGV4IDNkY2I2NTJlMzY1MmE1M2UyNGU5NWQxODllYmYxNzk0NzQyY2E2ZWIuLjIz
ZjBmMTJiYTUzYTYyY2FlMmVhMDRiNzQ4NGU1MDZjZTQ4NDUwZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuY3BwCkBAIC0xNjgsMTQgKzE2OCw1NCBAQCBzdGF0aWMgYm9vbCBpc1ZhbGlkTWVk
aWFDb25maWd1cmF0aW9uKGNvbnN0IE1lZGlhQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJ
bmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25m
aWd1cmF0aW9uLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCitzdGF0aWMgdm9pZCBn
YXRoZXJEZWNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6
OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgUkVMRUFT
RV9MT0dfSU5GTyhNZWRpYSwgIkdhdGhlcmluZyBkZWNvZGluZyBNZWRpYUNhcGFiaWxpdGllcyIp
OworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJh
dGlvbkNhbGxiYWNrIGRlY29kaW5nQ2FsbGJhY2sgPSBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKV0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lORk8o
TWVkaWEsICJGaW5pc2hlZCBnYXRoZXJpbmcgZGVjb2RpbmcgTWVkaWFDYXBhYmlsaXRpZXMiKTsK
KyAgICAgICAgY2FsbGJhY2soV1RGTW92ZShyZXN1bHQpKTsKKyAgICB9OworCisgICAgaWYgKCFk
b2N1bWVudC5zZXR0aW5ncygpLm1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5zaW9uc0VuYWJsZWQoKSAm
JiBjb25maWd1cmF0aW9uLnZpZGVvKQorICAgICAgICBjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVl
KCkuYWxwaGFDaGFubmVsLnJlc2V0KCk7CisKKyNpZiBFTkFCTEUoVlA5KQorICAgIGNvbmZpZ3Vy
YXRpb24uY2FuRXhwb3NlVlA5ID0gZG9jdW1lbnQuc2V0dGluZ3MoKS52cDlEZWNvZGVyRW5hYmxl
ZCgpOworI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICBpZiAoY29uZmlndXJhdGlv
bi50eXBlID09IE1lZGlhRGVjb2RpbmdUeXBlOjpXZWJSVEMpIHsKKyAgICAgICAgaWYgKGF1dG8q
IHBhZ2UgPSBkb2N1bWVudC5wYWdlKCkpCisgICAgICAgICAgICBwYWdlLT5saWJXZWJSVENQcm92
aWRlcigpLmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24p
LCBXVEZNb3ZlKGRlY29kaW5nQ2FsbGJhY2spKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNl
bmRpZgorICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZURlY29kaW5n
Q29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGRlY29kaW5nQ2Fs
bGJhY2spKTsKK30KKworc3RhdGljIHZvaWQgZ2F0aGVyRW5jb2RpbmdJbmZvKERvY3VtZW50JiBk
b2N1bWVudCwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFj
ayYmIGNhbGxiYWNrKQoreworICAgIFJFTEVBU0VfTE9HX0lORk8oTWVkaWEsICJHYXRoZXJpbmcg
ZW5jb2RpbmcgTWVkaWFDYXBhYmlsaXRpZXMiKTsKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBlbmNvZGluZ0NhbGxiYWNr
ID0gW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiByZXN1bHQpIG11dGFibGUg
eworICAgICAgICBSRUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiRmluaXNoZWQgZ2F0aGVyaW5nIGVu
Y29kaW5nIE1lZGlhQ2FwYWJpbGl0aWVzIik7CisgICAgICAgIGNhbGxiYWNrKFdURk1vdmUocmVz
dWx0KSk7CisgICAgfTsKKworI2lmIEVOQUJMRShXRUJfUlRDKQorICAgIGlmIChjb25maWd1cmF0
aW9uLnR5cGUgPT0gTWVkaWFFbmNvZGluZ1R5cGU6OldlYlJUQykgeworICAgICAgICBpZiAoYXV0
byogcGFnZSA9IGRvY3VtZW50LnBhZ2UoKSkKKyAgICAgICAgICAgIHBhZ2UtPmxpYldlYlJUQ1By
b3ZpZGVyKCkuY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlv
biksIFdURk1vdmUoZW5jb2RpbmdDYWxsYmFjaykpOworICAgICAgICByZXR1cm47CisgICAgfQor
I2VuZGlmCisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRW5jb2Rp
bmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoZW5jb2RpbmdD
YWxsYmFjaykpOworfQorCit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24m
JiBjb25maWd1cmF0aW9uLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAg
Ly8gMi40IE1lZGlhIENhcGFiaWxpdGllcyBJbnRlcmZhY2UKICAgICAvLyBodHRwczovL3dpY2cu
Z2l0aHViLmlvL21lZGlhLWNhcGFiaWxpdGllcy8jbWVkaWEtY2FwYWJpbGl0aWVzLWludGVyZmFj
ZQogCi0gICAgYXV0byBpZGVudGlmaWVyID0gV1RGOjpMb2dnZXI6OkxvZ1NpdGVJZGVudGlmaWVy
KCJNZWRpYUNhcGFiaWxpdGllcyIsIF9fZnVuY19fLCB0aGlzKTsKLSAgICBSZWY8TG9nZ2VyPiBs
b2dnZXIgPSBkb2N1bWVudC5sb2dnZXIoKTsKLQogICAgIC8vIDEuIElmIGNvbmZpZ3VyYXRpb24g
aXMgbm90IGEgdmFsaWQgTWVkaWFDb25maWd1cmF0aW9uLCByZXR1cm4gYSBQcm9taXNlIHJlamVj
dGVkIHdpdGggYSBUeXBlRXJyb3IuCiAgICAgLy8gMi4gSWYgY29uZmlndXJhdGlvbi52aWRlbyBp
cyBwcmVzZW50IGFuZCBpcyBub3QgYSB2YWxpZCB2aWRlbyBjb25maWd1cmF0aW9uLCByZXR1cm4g
YSBQcm9taXNlIHJlamVjdGVkIHdpdGggYSBUeXBlRXJyb3IuCiAgICAgLy8gMi4yLjMgSWYgY29u
ZmlndXJhdGlvbiBpcyBvZiB0eXBlIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLCBydW4gdGhl
IGZvbGxvd2luZyBzdWJzdGVwczoKQEAgLTE5Miw1MSArMjMyLDQzIEBAIHZvaWQgTWVkaWFDYXBh
YmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRGVjb2RpbmdD
b25maWd1cmF0CiAgICAgLy8gZWZmZWN0cyBzdWNoIGFzIGVuYWJsaW5nIGRpZmZlcmVudCBkZWNv
ZGluZyBtb2R1bGVzLgogICAgIC8vIDMuIElmIGNvbmZpZ3VyYXRpb24uYXVkaW8gaXMgcHJlc2Vu
dCBhbmQgaXMgbm90IGEgdmFsaWQgYXVkaW8gY29uZmlndXJhdGlvbiwgcmV0dXJuIGEgUHJvbWlz
ZSByZWplY3RlZCB3aXRoIGEgVHlwZUVycm9yLgogICAgIGlmICghaXNWYWxpZE1lZGlhQ29uZmln
dXJhdGlvbihjb25maWd1cmF0aW9uKSkgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAg
ICAgICBsb2dnZXItPmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICIgLSBSZWplY3RlZC4gY29u
ZmlndXJhdGlvbjogIiwgY29uZmlndXJhdGlvbik7Ci0jZW5kaWYKICAgICAgICAgcHJvbWlzZS0+
cmVqZWN0KFR5cGVFcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoIWRv
Y3VtZW50LnNldHRpbmdzKCkubWVkaWFDYXBhYmlsaXRpZXNFeHRlbnNpb25zRW5hYmxlZCgpICYm
IGNvbmZpZ3VyYXRpb24udmlkZW8pCi0gICAgICAgIGNvbmZpZ3VyYXRpb24udmlkZW8udmFsdWUo
KS5hbHBoYUNoYW5uZWwucmVzZXQoKTsKLQotI2lmIEVOQUJMRShWUDkpCi0gICAgY29uZmlndXJh
dGlvbi5jYW5FeHBvc2VWUDkgPSBkb2N1bWVudC5zZXR0aW5ncygpLnZwOURlY29kZXJFbmFibGVk
KCk7Ci0jZW5kaWYKLQogICAgIC8vIDQuIExldCBwIGJlIGEgbmV3IHByb21pc2UuCiAgICAgLy8g
NS4gSW4gcGFyYWxsZWwsIHJ1biB0aGUgY3JlYXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFs
Z29yaXRobSB3aXRoIGNvbmZpZ3VyYXRpb24gYW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQu
CiAgICAgLy8gNi4gUmV0dXJuIHAuCiAKLSAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllciksIGxvZ2dl
ciA9IFdURk1vdmUobG9nZ2VyKSwgZG9jdW1lbnQgPSBSZWYgeyBkb2N1bWVudCB9XShhdXRvIGlu
Zm8pIG11dGFibGUgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgICAgICBsb2dnZXIt
PmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICI6OmNhbGxiYWNrKCkgLSBSZXNvbHZlZC4gaW5m
bzogIiwgaW5mbyk7Ci0jZW5kaWYKLSAgICAgICAgZG9jdW1lbnQtPmV2ZW50TG9vcCgpLnF1ZXVl
VGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KSwgaW5mbyA9IFdURk1vdmUoaW5mbyldICgpIG11dGFibGUgeworICAgIE1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNr
ID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBjb250ZXh0ID0gUmVmIHsgY29udGV4dCB9
XShhdXRvIGluZm8pIG11dGFibGUgeworICAgICAgICBjb250ZXh0LT5ldmVudExvb3AoKS5xdWV1
ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAoKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb21p
c2UtPnJlc29sdmU8SURMRGljdGlvbmFyeTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4+
KFdURk1vdmUoaW5mbykpOwogICAgICAgICB9KTsKICAgICB9OwogCi0jaWYgRU5BQkxFKFdFQl9S
VEMpCi0gICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYURlY29kaW5nVHlwZTo6V2Vi
UlRDKSB7Ci0gICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQucGFnZSgpKQotICAgICAg
ICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5jcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRp
b24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIGlmIChp
czxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgZ2F0aGVyRGVjb2RpbmdJbmZvKGRvd25j
YXN0PERvY3VtZW50Pihjb250ZXh0KSwgV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShj
YWxsYmFjaykpOwogICAgICAgICByZXR1cm47CiAgICAgfQotI2VuZGlmCi0gICAgTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1v
dmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKKworICAgIG1fZGVjb2RpbmdU
YXNrcy5hZGQoKyttX25leHRUYXNrSWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpOworICAg
IGNvbnRleHQucG9zdFRhc2tUb1Jlc3BvbnNpYmxlRG9jdW1lbnQoW2NvbmZpZ3VyYXRpb24gPSBX
VEZNb3ZlKGNvbmZpZ3VyYXRpb24pLmlzb2xhdGVkQ29weSgpLCBjb250ZXh0SWRlbnRpZmllciA9
IGNvbnRleHQuY29udGV4dElkZW50aWZpZXIoKSwgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlz
KSwgdGFza0lkZW50aWZpZXIgPSBtX25leHRUYXNrSWRlbnRpZmllcl0oYXV0byYgZG9jdW1lbnQp
IG11dGFibGUgeworICAgICAgICBnYXRoZXJEZWNvZGluZ0luZm8oZG9jdW1lbnQsIFdURk1vdmUo
Y29uZmlndXJhdGlvbiksIFtjb250ZXh0SWRlbnRpZmllciwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdl
YWtUaGlzKSwgdGFza0lkZW50aWZpZXJdKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAg
ICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cG9zdFRhc2tUbyhjb250ZXh0SWRlbnRpZmll
ciwgW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHRhc2tJZGVudGlmaWVyLCByZXN1bHQg
PSBXVEZNb3ZlKHJlc3VsdCkuaXNvbGF0ZWRDb3B5KCldKGF1dG8mKSBtdXRhYmxlIHsKKyAgICAg
ICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICAgICAgaWYgKGF1dG8gY2FsbGJhY2sgPSB3ZWFrVGhpcy0+bV9kZWNvZGluZ1Rh
c2tzLnRha2UodGFza0lkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhX
VEZNb3ZlKHJlc3VsdCkpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOwog
fQogCi12b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjplbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3Vt
ZW50LCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3ZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5n
SW5mbyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkK
IHsKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJpbGl0aWVzIEludGVyZmFjZQogICAgIC8vIGh0dHBz
Oi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLyNtZWRpYS1jYXBhYmlsaXRpZXMt
aW50ZXJmYWNlCiAKLSAgICBhdXRvIGlkZW50aWZpZXIgPSBXVEY6OkxvZ2dlcjo6TG9nU2l0ZUlk
ZW50aWZpZXIoIk1lZGlhQ2FwYWJpbGl0aWVzIiwgX19mdW5jX18sIHRoaXMpOwotICAgIFJlZjxM
b2dnZXI+IGxvZ2dlciA9IGRvY3VtZW50LmxvZ2dlcigpOwotCiAgICAgLy8gMS4gSWYgY29uZmln
dXJhdGlvbiBpcyBub3QgYSB2YWxpZCBNZWRpYUNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21p
c2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAyLiBJZiBjb25maWd1cmF0aW9u
LnZpZGVvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIHZpZGVvIGNvbmZpZ3VyYXRpb24s
IHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAzLiBJ
ZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIGF1ZGlv
IGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJv
ci4KQEAgLTI2NCwyNCArMjk2LDI4IEBAIHZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5n
SW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0CiAgICAgLy8g
NS4gSW4gcGFyYWxsZWwsIHJ1biB0aGUgY3JlYXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFs
Z29yaXRobSB3aXRoIGNvbmZpZ3VyYXRpb24gYW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQu
CiAgICAgLy8gNi4gUmV0dXJuIHAuCiAKLSAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllciksIGxvZ2dl
ciA9IFdURk1vdmUobG9nZ2VyKSwgZG9jdW1lbnQgPSBSZWYgeyBkb2N1bWVudCB9XShhdXRvIGlu
Zm8pIG11dGFibGUgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgICAgICBsb2dnZXIt
PmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICI6OmNhbGxiYWNrKCkgLSBSZXNvbHZlZC4gaW5m
bzogIiwgaW5mbyk7Ci0jZW5kaWYKLSAgICAgICAgZG9jdW1lbnQtPmV2ZW50TG9vcCgpLnF1ZXVl
VGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KSwgaW5mbyA9IFdURk1vdmUoaW5mbyldICgpIG11dGFibGUgeworICAgIE1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNr
ID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBjb250ZXh0ID0gUmVmIHsgY29udGV4dCB9
XShhdXRvIGluZm8pIG11dGFibGUgeworICAgICAgICBjb250ZXh0LT5ldmVudExvb3AoKS5xdWV1
ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAoKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb21p
c2UtPnJlc29sdmU8SURMRGljdGlvbmFyeTxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4+
KFdURk1vdmUoaW5mbykpOwogICAgICAgICB9KTsKICAgICB9OwogCi0jaWYgRU5BQkxFKFdFQl9S
VEMpCi0gICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYUVuY29kaW5nVHlwZTo6V2Vi
UlRDKSB7Ci0gICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQucGFnZSgpKQotICAgICAg
ICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5jcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRp
b24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIGlmIChp
czxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgZ2F0aGVyRW5jb2RpbmdJbmZvKGRvd25j
YXN0PERvY3VtZW50Pihjb250ZXh0KSwgV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShj
YWxsYmFjaykpOwogICAgICAgICByZXR1cm47CiAgICAgfQotI2VuZGlmCiAKLSAgICBNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RG
TW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIG1fZW5jb2RpbmdU
YXNrcy5hZGQoKyttX25leHRUYXNrSWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpOworICAg
IGNvbnRleHQucG9zdFRhc2tUb1Jlc3BvbnNpYmxlRG9jdW1lbnQoW2NvbmZpZ3VyYXRpb24gPSBX
VEZNb3ZlKGNvbmZpZ3VyYXRpb24pLmlzb2xhdGVkQ29weSgpLCBjb250ZXh0SWRlbnRpZmllciA9
IGNvbnRleHQuY29udGV4dElkZW50aWZpZXIoKSwgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlz
KSwgdGFza0lkZW50aWZpZXIgPSBtX25leHRUYXNrSWRlbnRpZmllcl0oYXV0byYgZG9jdW1lbnQp
IG11dGFibGUgeworICAgICAgICBnYXRoZXJFbmNvZGluZ0luZm8oZG9jdW1lbnQsIFdURk1vdmUo
Y29uZmlndXJhdGlvbiksIFtjb250ZXh0SWRlbnRpZmllciwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdl
YWtUaGlzKSwgdGFza0lkZW50aWZpZXJdKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAg
ICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cG9zdFRhc2tUbyhjb250ZXh0SWRlbnRpZmll
ciwgW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHRhc2tJZGVudGlmaWVyLCByZXN1bHQg
PSBXVEZNb3ZlKHJlc3VsdCkuaXNvbGF0ZWRDb3B5KCldKGF1dG8mKSBtdXRhYmxlIHsKKyAgICAg
ICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICAgICAgaWYgKGF1dG8gY2FsbGJhY2sgPSB3ZWFrVGhpcy0+bV9lbmNvZGluZ1Rh
c2tzLnRha2UodGFza0lkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhX
VEZNb3ZlKHJlc3VsdCkpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgKaW5kZXggYmExMjM0YmIzODk3MzI2ZTY2Y2I3
MjJjOWJhYjU3N2E4NzZkZDg3NC4uYjk1NzkwMTljMWE3NWFlMTJkODE2NDNjNzc4NzJiZjkxNWJk
ZThhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUNhcGFiaWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxOSArMjUsMjkgQEAKIAogI3ByYWdt
YSBvbmNlCiAKKyNpbmNsdWRlICJNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCisj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRGVm
ZXJyZWRQcm9taXNlOwotY2xhc3MgRG9jdW1lbnQ7Ci1zdHJ1Y3QgTWVkaWFEZWNvZGluZ0NvbmZp
Z3VyYXRpb247Ci1zdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb247CitjbGFzcyBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OwogCi1jbGFzcyBNZWRpYUNhcGFiaWxpdGllcyA6IHB1YmxpYyBS
ZWZDb3VudGVkPE1lZGlhQ2FwYWJpbGl0aWVzPiB7CitjbGFzcyBNZWRpYUNhcGFiaWxpdGllcyA6
IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhQ2FwYWJpbGl0aWVzPiwgcHVibGljIENhbk1ha2VXZWFr
UHRyPE1lZGlhQ2FwYWJpbGl0aWVzPiB7CiBwdWJsaWM6Ci0gICAgdm9pZCBkZWNvZGluZ0luZm8o
RG9jdW1lbnQmLCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmKTsKLSAgICB2b2lkIGVuY29kaW5nSW5mbyhEb2N1bWVudCYsIE1lZGlhRW5jb2RpbmdD
b25maWd1cmF0aW9uJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHN0YXRpYyBSZWY8
TWVkaWFDYXBhYmlsaXRpZXM+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFD
YXBhYmlsaXRpZXMpOyB9CisKKyAgICB2b2lkIGRlY29kaW5nSW5mbyhTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CisgICAgdm9pZCBlbmNvZGluZ0luZm8oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworCitw
cml2YXRlOgorICAgIE1lZGlhQ2FwYWJpbGl0aWVzKCkgPSBkZWZhdWx0OworCisgICAgdWludDY0
X3QgbV9uZXh0VGFza0lkZW50aWZpZXIgeyAwIH07CisgICAgSGFzaE1hcDx1aW50NjRfdCwgTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJh
Y2s+IG1fZGVjb2RpbmdUYXNrczsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjaz4gbV9lbmNv
ZGluZ1Rhc2tzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJp
bGl0aWVzLmlkbAppbmRleCBmNzI0MzExZjgzZTM5MTY5OGI2ZjQyMjQ5ODk3MmFmYmZkN2ZiZTAx
Li42YTg4MTY1NDY3YzFmYmNmMzFmYzcwMjUwMWVjOTI2Y2Y3M2Y2YWIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmlkbApAQCAtMjYsOSArMjYsOCBAQAogWwogICAgIEVuYWJsZWRCeVNldHRp
bmc9TWVkaWFDYXBhYmlsaXRpZXNFbmFibGVkLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCi0gICAgSlNDdXN0b21IZWFkZXIsCi0gICAgRXhwb3NlZD1XaW5kb3cKKyAgICBFeHBvc2Vk
PShXaW5kb3csRGVkaWNhdGVkV29ya2VyKQogXSBpbnRlcmZhY2UgTWVkaWFDYXBhYmlsaXRpZXMg
ewotICAgIFtDdXN0b21FbmFibGVkLCBDYWxsV2l0aD1Eb2N1bWVudF0gUHJvbWlzZTxNZWRpYUNh
cGFiaWxpdGllc0RlY29kaW5nSW5mbz4gZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwotICAgIFtDdXN0b21FbmFibGVkLCBDYWxsV2l0aD1Eb2N1
bWVudF0gUHJvbWlzZTxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4gZW5jb2RpbmdJbmZv
KE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOworICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2Rp
bmdJbmZvPiBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJh
dGlvbik7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8TWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8+IGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29u
ZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yTWVk
aWFDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGEzMWJhZGI1NGFjOTgxZTBlM2JhZGFmZTIwOTg3ODI5
ZDNmNzQwMzUuLjRlODBiYmZjOTZiNTFjYzQ5YmIxZmU5ZGE2NzAxMmZmZjJkMzQxOGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9y
TWVkaWFDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwCkBAIC0zMiw3ICszMiw3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIE5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzOjpO
YXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcygpCi0gICAgOiBtX21lZGlhQ2FwYWJpbGl0aWVzKGFk
b3B0UmVmKCpuZXcgTWVkaWFDYXBhYmlsaXRpZXMoKSkpCisgICAgOiBtX21lZGlhQ2FwYWJpbGl0
aWVzKE1lZGlhQ2FwYWJpbGl0aWVzOjpjcmVhdGUoKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVk
aWFDYXBhYmlsaXRpZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxp
dGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUw
NThmZThhMTI3ZWVjNTI1OTc2ZDg0ODNiMWU4ZDNlOGZmYzY2YjcKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRv
citNZWRpYUNhcGFiaWxpdGllcy5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8v
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRpZXMvI25hdmlnYXRvcnMtZXh0
ZW5zaW9ucworWworICAgIEVuYWJsZWRCeVNldHRpbmc9TWVkaWFDYXBhYmlsaXRpZXNFbmFibGVk
LAorICAgIEltcGxlbWVudGVkQnk9V29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMKK10g
cGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9yIHsKKyAgW1NhbWVPYmplY3RdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBNZWRpYUNhcGFiaWxpdGllcyBtZWRpYUNhcGFiaWxpdGllczsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjMzZjE0MjYyMTMyMDlkYzg1NmE4Yjk1MGQyNjY0NGE2Mjk2MzdhMTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dv
cmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcApAQCAtMCwwICsxLDY3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldvcmtlck5hdmlnYXRvck1l
ZGlhQ2FwYWJpbGl0aWVzLmgiCisKKyNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllcy5oIgorI2lu
Y2x1ZGUgIldvcmtlck5hdmlnYXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzOjpXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxp
dGllcygpCisgICAgOiBtX21lZGlhQ2FwYWJpbGl0aWVzKE1lZGlhQ2FwYWJpbGl0aWVzOjpjcmVh
dGUoKSkKK3sKK30KKworV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6On5Xb3JrZXJO
YXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcygpID0gZGVmYXVsdDsKKworY29uc3QgY2hhciogV29y
a2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICBy
ZXR1cm4gIldvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzIjsKK30KKworV29ya2VyTmF2
aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMmIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVz
Ojpmcm9tKFdvcmtlck5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1l
bnQgPSBzdGF0aWNfY2FzdDxXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyo+KFN1cHBs
ZW1lbnQ8V29ya2VyTmF2aWdhdG9yPjo6ZnJvbSgmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgp
KSk7CisgICAgaWYgKCFzdXBwbGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9
IG1ha2VVbmlxdWU8V29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM+KCk7CisgICAgICAg
IHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5h
dmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAg
fQorICAgIHJldHVybiAqc3VwcGxlbWVudDsKK30KKworTWVkaWFDYXBhYmlsaXRpZXMmIFdvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzOjptZWRpYUNhcGFiaWxpdGllcyhXb3JrZXJOYXZp
Z2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICByZXR1cm4gV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBh
YmlsaXRpZXM6OmZyb20obmF2aWdhdG9yKS5tZWRpYUNhcGFiaWxpdGllcygpOworfQorCitNZWRp
YUNhcGFiaWxpdGllcyYgV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6Om1lZGlhQ2Fw
YWJpbGl0aWVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYUNhcGFiaWxpdGllczsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0
b3JNZWRpYUNhcGFiaWxpdGllcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5MTdmYWRjMjI5MjQ1OGZiMGE3ZGVk
MDg0ZjU4OTkyN2JhMWQwNzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmgK
QEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
U3VwcGxlbWVudGFibGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYUNh
cGFiaWxpdGllczsKK2NsYXNzIFdvcmtlck5hdmlnYXRvcjsKKworY2xhc3MgV29ya2VyTmF2aWdh
dG9yTWVkaWFDYXBhYmlsaXRpZXMgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxXb3JrZXJOYXZp
Z2F0b3I+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBXb3Jr
ZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcygpOworICAgIH5Xb3JrZXJOYXZpZ2F0b3JNZWRp
YUNhcGFiaWxpdGllcygpOworCisgICAgc3RhdGljIE1lZGlhQ2FwYWJpbGl0aWVzJiBtZWRpYUNh
cGFiaWxpdGllcyhXb3JrZXJOYXZpZ2F0b3ImKTsKKyAgICBzdGF0aWMgV29ya2VyTmF2aWdhdG9y
TWVkaWFDYXBhYmlsaXRpZXMmIGZyb20oV29ya2VyTmF2aWdhdG9yJik7CisKKyAgICBNZWRpYUNh
cGFiaWxpdGllcyYgbWVkaWFDYXBhYmlsaXRpZXMoKSBjb25zdDsKK3ByaXZhdGU6CisgICAgc3Rh
dGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7CisKKyAgICBtdXRhYmxlIFJlZjxNZWRp
YUNhcGFiaWxpdGllcz4gbV9tZWRpYUNhcGFiaWxpdGllczsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9u
L01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcAppbmRleCAzNGYyNTU4OGQ4YmE3
ODJjYzM0OTQzNGJiYjdkY2JiZmUzMjEwMGJmLi4xN2ZjNmYwY2Y2NTVlZjdhNTA1Yzg2ZTNjOTY4
ZWQ3NGI4Y2YxOTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCkBAIC0zMyw5ICsz
MywxMiBAQAogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNN
ZWRpYVNlc3Npb25Db29yZGluYXRvclN0YXRlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2lu
Y2x1ZGUgIk1lZGlhTWV0YWRhdGEuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb24uaCIKICNpbmNs
dWRlICJNZWRpYVNlc3Npb25Db29yZGluYXRvclByaXZhdGUuaCIKKyNpbmNsdWRlIDx3dGYvQ29t
cGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2VyLmg+CisjaW5jbHVkZSA8d3Rm
L0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKIHN0YXRpYyBjb25z
dCBTZWNvbmRzIENvbW1hbmRUaW1lVG9sZXJhbmNlID0gNTBfbXM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IDJiMDNmYTcxOWEwMWI5ZGE5MjlmOGI1OTRhYTdiMDIwODEzYjBjMDAuLmRjYTAzY2Y0ZGJiOWYy
YmJlMzczZjdhZGNhOTUzNWQwZjhmZDVkNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMzEsNiArMTMx
LDcgQEAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlRyYW5zYWN0aW9uSW5mby5jcHAKIE1v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JbmRleEtleS5jcHAKIE1vZHVsZXMvbWVkaWFjYXBhYmls
aXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwCiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcAorTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9X
b3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKIE1vZHVsZXMvbWVkaWFzZXNzaW9u
L01lZGlhTWV0YWRhdGEuY3BwCiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uY3Bw
CiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBm
ZDNjN2Q0ODczOGUwMTYxY2JkMjUwZTJhMDZlNmE2ZGVkYzNiNDU3Li5lZWE2YzIyOTljYzEwNGQy
Mzk5Y2E0N2I0NDQ3NmViZjU4ZTc2NmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MTQ5LDcgKzgxNDksOSBAQAogCQk0MThG
Q0JDQjI3MDZGM0NEMDBGOTZFQ0EgLyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlK1B1c2hBUEku
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUrUHVzaEFQSS5pZGwiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MThGQ0JDQzI3MDZGNDM0MDBGOTZFQ0EgLyogU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGVQdXNoQVBJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEZD
QkNEMjcwNkY0MzQwMEY5NkVDQSAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MThGQ0JFODI3MTVBQTE5MDBGOTZFQ0Eg
LyogSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhQ2Fw
YWJpbGl0aWVzQ3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkVB
MjcxNUI2MEYwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9ICJXb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCRUMyNzE1Qjg1MTAwRjk2RUNBIC8qIFdvcmtlck5h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlck5hdmlnYXRv
ck1lZGlhQ2FwYWJpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZD
QkVEMjcxNUI4NTIwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0ExMjQ5RDE1MjcwMDUzMUM1
NyAvKiBGcmFtZVJhdGVNb25pdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEZyYW1lUmF0ZU1vbml0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTkwRjNBMzI0OUQxNTI4MDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGcmFtZVJhdGVNb25pdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxOTI0MjQ3MjEyN0I3Q0MwMDYzNEZDRiAvKiBSZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMjMyMTQsNyArMjMyMTYsNiBAQAogCQkJCUE3RDAzMThEMEU5
MzU0MDMwMEUyNEFDRCAvKiBKU0ltYWdlRGF0YUN1c3RvbS5jcHAgKi8sCiAJCQkJNTg2OEM3RDUy
NTQ2RTBCMzAwQkY5REYzIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwICovLAog
CQkJCTc3QzEzRjA0MjE2NTY1OEEwMDJEOUM1RiAvKiBKU0ludGVyc2VjdGlvbk9ic2VydmVyRW50
cnlDdXN0b20uY3BwICovLAotCQkJCTQxOEZDQkU4MjcxNUFBMTkwMEY5NkVDQSAvKiBKU01lZGlh
Q2FwYWJpbGl0aWVzQ3VzdG9tLmggKi8sCiAJCQkJQUQ3MjZGRTcxNkQ5RjIwNDAwM0E0RTZEIC8q
IEpTTWVkaWFMaXN0Q3VzdG9tLmggKi8sCiAJCQkJNDE1Q0RBRjYxRTZDRTBEMzAwNEYxMUVFIC8q
IEpTTWVkaWFTdHJlYW1UcmFja0N1c3RvbS5jcHAgKi8sCiAJCQkJRTFBNUY5OUEwRTdFQUEyNTAw
QUY4NUVBIC8qIEpTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwICovLApAQCAtMjg3NDgsNiArMjg3
NDksOSBAQAogCQkJCUNEQkQzRDM5MUZFODVDQzEwMDEyQzU0NSAvKiBOYXZpZ2F0b3JNZWRpYUNh
cGFiaWxpdGllcy5oICovLAogCQkJCUNENEU0RTYyMjM1N0IzQUQwMDc4OTVDMyAvKiBUcmFuc2Zl
ckZ1bmN0aW9uLmlkbCAqLywKIAkJCQlDREJEM0QyODFGRTg1Q0I4MDAxMkM1NDUgLyogVmlkZW9D
b25maWd1cmF0aW9uLmlkbCAqLywKKwkJCQk0MThGQ0JFQTI3MTVCNjBGMDBGOTZFQ0EgLyogV29y
a2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbCAqLywKKwkJCQk0MThGQ0JFRDI3MTVC
ODUyMDBGOTZFQ0EgLyogV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwICovLAor
CQkJCTQxOEZDQkVDMjcxNUI4NTEwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFi
aWxpdGllcy5oICovLAogCQkJKTsKIAkJCXBhdGggPSBtZWRpYWNhcGFiaWxpdGllczsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDgyNDcyNzc5OTA2ZGM3ODk1MWIzYWEwMmRkMTJjYjhjMDZmOGIzMzguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oCisrKyAvZGV2L251bGwKQEAgLTEs
NTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUFM
V0FZU19JTkxJTkUgYm9vbCBKU01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvSXNFbmFibGVk
KCkKLXsKLSNpZiBFTkFCTEUoV0VCX1JUQykKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbHNlCi0gICAg
cmV0dXJuIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0VuY29kaW5nQ29uZmln
dXJhdGlvbkZhY3RvcnkoKTsKLSNlbmRpZgotfQotCi1BTFdBWVNfSU5MSU5FIGJvb2wgSlNNZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mb0lzRW5hYmxlZCgpCi17Ci0jaWYgRU5BQkxFKFdFQl9S
VEMpCi0gICAgcmV0dXJuIHRydWU7Ci0jZWxzZQotICAgIHJldHVybiBNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5OjpoYXNEZWNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0b3J5KCk7Ci0jZW5k
aWYKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
Y3BwCmluZGV4IGQyNGIwMWI3NzM2YzVjYjU4ZjY5YTdkOThkNmM0YjcwYjY0OThiYzMuLjkwNDY2
ZGY1NTE1MGZmNTg4ODBhM2JkODAxMTJlMjkzMWM3ODBmZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTY4Miw0ICs2ODIsMjcgQEAgYm9v
bCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjplbnN1cmVPbkNvbnRleHRUaHJlYWQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0Ojpwb3N0VGFza1RvUmVzcG9uc2libGVEb2N1bWVudChGdW5jdGlvbjx2
b2lkKERvY3VtZW50Jik+JiYgY2FsbGJhY2spCit7CisgICAgaWYgKGlzPERvY3VtZW50Pih0aGlz
KSkgeworICAgICAgICBjYWxsYmFjayhkb3duY2FzdDxEb2N1bWVudD4oKnRoaXMpKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIEFTU0VSVChpczxXb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZT4odGhpcykpOworICAgIGlmICghaXM8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KHRo
aXMpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvKiB0aHJlYWQgPSBkb3duY2FzdDxXb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZT4odGhpcyktPndvcmtlck9yV29ya2xldFRocmVhZCgpOwor
ICAgIGlmICh0aHJlYWQpIHsKKyAgICAgICAgdGhyZWFkLT53b3JrZXJMb2FkZXJQcm94eSgpLnBv
c3RUYXNrVG9Mb2FkZXIoW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiBjb250
ZXh0KSB7CisgICAgICAgICAgICBjYWxsYmFjayhkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkp
OworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdXRvIGRv
Y3VtZW50ID0gZG93bmNhc3Q8V29ya2xldEdsb2JhbFNjb3BlPih0aGlzKS0+cmVzcG9uc2libGVE
b2N1bWVudCgpKQorICAgICAgICBjYWxsYmFjaygqZG9jdW1lbnQpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aAppbmRleCAxNmM4NjZmMzk0ODZhZGQxZWRhM2RhMzIwYjUxMDQ2ZDI1YzMwNDVlLi4yNWZiMDBl
NjEzMjNlOTgyOTYwYTI4NTBkN2UxMzdiZjUyNmJhNmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTIyMyw2ICsyMjMsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIH0pOwogICAgIH0KIAorICAgIHZvaWQgcG9zdFRhc2tUb1Jlc3BvbnNpYmxlRG9jdW1l
bnQoRnVuY3Rpb248dm9pZChEb2N1bWVudCYpPiYmKTsKKwogICAgIC8vIEdldHMgdGhlIG5leHQg
aWQgaW4gYSBjaXJjdWxhciBzZXF1ZW5jZSBmcm9tIDEgdG8gMl4zMS0xLgogICAgIGludCBjaXJj
dWxhclNlcXVlbnRpYWxJRCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaAppbmRleCA0Y2ViMWQxMTcyYTA3MzQ1
YjhkM2YxNmVhZjUwMTExZDQ5NjU1MDc0Li5mZTQwMzk3OGY5OGM3ZWYzMTFiNTIyOGNlYjhiNDJi
MWJmYmQ1ZDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFi
aWxpdGllc0RlY29kaW5nSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKQEAgLTQ3LDEwICs0NywxNyBAQCBzdHJ1Y3QgTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gOiBNZWRpYUNhcGFiaWxpdGllc0luZm8gewogCiAg
ICAgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKIAor
ICAgIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIGlzb2xhdGVkQ29weSgpIGNvbnN0Owor
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5l
IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IE1lZGlhQ2FwYWJpbGl0
aWVzSW5mbzo6aXNvbGF0ZWRDb3B5KCksIHN1cHBvcnRlZENvbmZpZ3VyYXRpb24uaXNvbGF0ZWRD
b3B5KCkgfTsKK30KKwogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFDYXBhYmls
aXRpZXNEZWNvZGluZ0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvLmgKaW5kZXggYWQ3MjlhMDE2ZjZiM2QxNmYyNWViMGRhZTk4MmZjYmM3MmUyMjk2Yy4u
YzJiMjUwOTBmMDUyMmQ1ZGNkNmY1MWI1NGJhYzI5YWRiM2JkMzFiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5o
CkBAIC00NywxMCArNDcsMTcgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZv
IDogTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKIAogICAgIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uIHN1cHBvcnRlZENvbmZpZ3VyYXRpb247CiAKKyAgICBNZWRpYUNhcGFiaWxpdGllc0VuY29k
aW5nSW5mbyBpc29sYXRlZENvcHkoKSBjb25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4g
ZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5n
SW5mbyBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzo6aXNvbGF0ZWRDb3B5KCkgY29uc3QK
K3sKKyAgICByZXR1cm4geyBNZWRpYUNhcGFiaWxpdGllc0luZm86Omlzb2xhdGVkQ29weSgpLCBz
dXBwb3J0ZWRDb25maWd1cmF0aW9uLmlzb2xhdGVkQ29weSgpIH07Cit9CisKIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+CiB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjplbmNvZGUo
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgKaW5kZXggMTIyMGVjNTRiMjgwOGZlZTcwZTgwYjQ3Yzli
YWY5YzdiNmNkZDMxYS4uYTgzN2NjNWQ5OWIxYmY2NTBkMmY3MWQ2YTQ4ZGY2NTA0YTM5ODlhYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZv
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgK
QEAgLTM0LDEwICszNCwxNyBAQCBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKICAgICBi
b29sIHNtb290aCB7IGZhbHNlIH07CiAgICAgYm9vbCBwb3dlckVmZmljaWVudCB7IGZhbHNlIH07
CiAKKyAgICBNZWRpYUNhcGFiaWxpdGllc0luZm8gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFDYXBh
YmlsaXRpZXNJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5lIE1lZGlhQ2FwYWJp
bGl0aWVzSW5mbyBNZWRpYUNhcGFiaWxpdGllc0luZm86Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuICp0aGlzOworfQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBN
ZWRpYUNhcGFiaWxpdGllc0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVk
aW9Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaAppbmRleCA0ZmIwZjNiODBkMGU2ZDA3NmM2NDc4M2E3
NDRkY2IwYWIzYzU4YjFiLi42ZTFlOGQxZmNiYTc4OTBkOTY0NzYwZTg0MzYxYTU1ZjEwOThiNzlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9B
dWRpb0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaApAQCAtMzYsMTAgKzM2LDE3IEBAIHN0cnVj
dCBBdWRpb0NvbmZpZ3VyYXRpb24gewogICAgIHN0ZDo6b3B0aW9uYWw8dWludDMyX3Q+IHNhbXBs
ZXJhdGU7CiAgICAgc3RkOjpvcHRpb25hbDxib29sPiBzcGF0aWFsUmVuZGVyaW5nOwogCisgICAg
QXVkaW9Db25maWd1cmF0aW9uIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4g
ZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBBdWRpb0NvbmZpZ3VyYXRpb24gQXVkaW9D
b25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IGNvbnRl
bnRUeXBlLmlzb2xhdGVkQ29weSgpLCBjaGFubmVscy5pc29sYXRlZENvcHkoKSwgYml0cmF0ZSwg
c2FtcGxlcmF0ZSwgc3BhdGlhbFJlbmRlcmluZyB9OworfQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPgogdm9pZCBBdWRpb0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmls
aXRpZXMvTWVkaWFDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaAppbmRleCAyYzNiMTc1OGY3MzJjZTk5
OGQ3YjA1YTQxNGU0ZjliNmZkNTVjZThiLi5lZmFjNGM3OTRkY2ZlYjQ3MzE1NmJkM2Y0NWZkZTU5
Y2ZmZjA4NTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaApAQCAtMjcsNiArMjcsNyBA
QAogCiAjaW5jbHVkZSAiQXVkaW9Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiVmlkZW9Db25m
aWd1cmF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzQsMTAgKzM1LDE3IEBAIHN0cnVjdCBNZWRpYUNvbmZpZ3Vy
YXRpb24gewogICAgIHN0ZDo6b3B0aW9uYWw8VmlkZW9Db25maWd1cmF0aW9uPiB2aWRlbzsKICAg
ICBzdGQ6Om9wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4gYXVkaW87CiAKKyAgICBNZWRpYUNv
bmZpZ3VyYXRpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFDb25maWd1cmF0aW9uPiBkZWNvZGUo
RGVjb2RlciYpOwogfTsKIAoraW5saW5lIE1lZGlhQ29uZmlndXJhdGlvbiBNZWRpYUNvbmZpZ3Vy
YXRpb246Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgY3Jvc3NUaHJlYWRD
b3B5KHZpZGVvKSwgIGNyb3NzVGhyZWFkQ29weShhdWRpbykgfTsKK30KKwogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5o
CmluZGV4IGZlYmM4YWRmM2E0MjRjY2UzMmFkNWMxOGJhM2RjMjUwZTdmY2FlZjAuLjNlOWIzNGJh
ZjNhYzRhMzA4OWU0NzEyZmUzNjM1ZTNmODg4ZTc0MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24uaApAQCAtMzUsMTAgKzM1LDE3IEBAIHN0cnVjdCBNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiA6IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAKICAgICBib29sIGNh
bkV4cG9zZVZQOSB7IHRydWUgfTsKIAorICAgIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIGlz
b2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBl
bmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2Rl
ciYpOwogfTsKIAoraW5saW5lIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IE1l
ZGlhQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCksIHR5cGUsIGNhbkV4cG9zZVZQOSB9Owor
fQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaAppbmRleCAxOWI3Zjc0YzJkMTU4ZDUxZWQ5OTU3MjI0
MzRjOTU0MzkzZWM1ZjBkLi41OTY4MTc3ODI0MzU3NGMyMTM1MGM1MTBmZGEyMTc0MmM4OGZkNWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgKQEAgLTMzLDEw
ICszMywxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZp
Z3VyYXRpb24gOiBNZWRpYUNvbmZpZ3VyYXRpb24gewogICAgIE1lZGlhRW5jb2RpbmdUeXBlIHR5
cGU7CiAKKyAgICBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBpc29sYXRlZENvcHkoKSBjb25z
dDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBj
b25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxN
ZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGlu
ZSBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6
aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyBNZWRpYUNvbmZpZ3VyYXRpb246
Omlzb2xhdGVkQ29weSgpLCB0eXBlIH07Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2
b2lkIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgKaW5kZXggNjBmOWYzMzNjYmE3MjE1
NjdhMWM4N2FlODFlMjRhZTI0NmM1ZDU2Ni4uZTg2MzFmMmNmMTc2N2VhZmI4NWQ1NTZhMGRlN2Iy
NTRjMDViMmI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBh
YmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgKQEAgLTQzLDEwICs0Mywx
NyBAQCBzdHJ1Y3QgVmlkZW9Db25maWd1cmF0aW9uIHsKICAgICBzdGQ6Om9wdGlvbmFsPEhkck1l
dGFkYXRhVHlwZT4gaGRyTWV0YWRhdGFUeXBlOwogICAgIHN0ZDo6b3B0aW9uYWw8VHJhbnNmZXJG
dW5jdGlvbj4gdHJhbnNmZXJGdW5jdGlvbjsKIAorICAgIFZpZGVvQ29uZmlndXJhdGlvbiBpc29s
YXRlZENvcHkoKSBjb25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMg
c3RkOjpvcHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9Owog
CitpbmxpbmUgVmlkZW9Db25maWd1cmF0aW9uIFZpZGVvQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRD
b3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyBjb250ZW50VHlwZS5pc29sYXRlZENvcHkoKSwg
d2lkdGgsIGhlaWdodCwgYml0cmF0ZSwgZnJhbWVyYXRlLCBhbHBoYUNoYW5uZWwsIGNvbG9yR2Ft
dXQsIGhkck1ldGFkYXRhVHlwZSwgdHJhbnNmZXJGdW5jdGlvbiB9OworfQorCiB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPgogdm9pZCBWaWRlb0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOWM4NGQ4
MDgyMmE2ZWM4NjRlMTIyZDM4NmQwMjc1NDEzZjgzZTYyOS4uMGQxOWYxZjQzYjM4MGQyZTJkNDUy
NDk0ZTliODkzMjJlYWQwZDFjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMjEtMTAtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEV4cG9zZSBNZWRpYUNhcGFiaWxpdGllcyB0byBXb3JrZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE1NzQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5j
b2RpbmdJbmZvLmFueS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby5hbnkuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby5hbnkud29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoK
KwogMjAyMS0xMC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgR3VhcmFudGVlIG9yZGVyIG9mIFdlYlNvY2tldCBldmVudHMgaW4gY2FzZSBvZiBiZWluZyBy
ZXN1bWVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXgg
ODEyODBmMjIwZmViZWJjZDZhYTg0ZjdhMGIwN2UwZmIyM2Y3ODY3NC4uMTU2NTk0YjFiYWZjYTQ5
YzI2NWNlMjIwY2I4ZWI2ZDBjMDZlMWRiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZv
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29y
a2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzMSArMSwzMSBAQAogCi1GQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdldCBhIGNvbmZpZ3VyYXRpb24gdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZCB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFD
b25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
JykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0
aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkgdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZSB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZp
ZGVvIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3Jl
IHRoYW4gb25lIHBhcmFtZXRlciB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcyB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2Yg
eC8wIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
bygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveSB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0
ZSBpbiB0aGUgZm9ybSBvZiAteC95IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgv
LXkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
KCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8gdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUg
d2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycyB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
bycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29u
ZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
YXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0
ZXJzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUg
cGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBo
YXZlIGEgdmFsaWQgdHlwZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gd2l0aCBzcGF0aWFsUmVuZGVyaW5nIHNldCByZXR1cm5zIGEgdmFsaWQg
TWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQot
RkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggaGRyTWV0YWRhdGFUeXBlLCBjb2xvckdh
bXV0LCBhbmQgdHJhbnNmZXJGdW5jdGlvbiBzZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJp
bGl0aWVzSW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBh
biBlbXB0eSBoZHJNZXRhZGF0YVR5cGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
aGFzIGEgY29sb3JHYW11dCBzZXQgdG8gdHJ1ZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1G
QUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0byAzIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvJykKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3Qg
Z2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZAorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZl
IGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZp
Z3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVvIGZpZWxkCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMg
YSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQorUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9l
c24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbworRkFJTCBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
Y29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyIGFzc2VydF91bnJlYWNoZWQ6
IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcwor
UEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZv
cm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0
ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVj
dHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgveQorUEFTUyBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8teQor
UEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZv
cm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRl
IHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMKK1BBU1MgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlblR5cGUgZG9l
c24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1
ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbworRkFJTCBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24g
Y29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyBhc3NlcnRfdW5yZWFjaGVk
OiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MK
K0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmls
aXRpZXNJbmZvIG9iamVjdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdv
dCAidW5kZWZpbmVkIgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdHlwZQorRkFJTCBUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggc3BhdGlhbFJlbmRlcmluZyBzZXQgcmV0dXJucyBhIHZh
bGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byB3aXRoIGhkck1ldGFkYXRhVHlwZSwgY29sb3JHYW11dCwgYW5kIHRyYW5zZmVyRnVuY3Rpb24g
c2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMg
YW4gZW1wdHkgaGRyTWV0YWRhdGFUeXBlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBjb2xvckdhbXV0IHNldCB0byB0
cnVlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0byAzCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2VuY29kaW5nSW5mby5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZv
LmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1Y2Jl
MjYzZmE3MjEwYjRhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKKworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uCitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGlzbid0
IHZhbGlkCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFD
b25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8g
b3IgdmlkZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZQorUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFz
IGEgZnJhbWVyYXRlIHNldCB0byAwCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmlu
aXR5CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBp
c24ndCBvZiB0eXBlIHZpZGVvCitGQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBw
YXJhbWV0ZXIgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5l
ZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFy
YW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSBy
ZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvMAorUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUg
Zm9ybSBvZiAteC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSBy
ZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LworUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFj
dGVycworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNv
bmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBp
c24ndCBvZiB0eXBlIGF1ZGlvCitGQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBw
YXJhbWV0ZXJzIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmlu
ZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBh
cmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
dHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBmb3IgcmVjb3JkIHR5
cGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZp
Z3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
ZW5jb2RpbmdJbmZvLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRv
IHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5m
by5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg4MmIwYWU5MTE3YWIyNjhmZjU3MTBmN2Y5YjM5N2IxZGFl
ZGJiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuanMKQEAgLTAs
MCArMSwzMTAgQEAKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBh
bGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3Npbmcu
Cit2YXIgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICd2aWRl
by93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0
OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5p
bWFsIFdlYlJUQyBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNw
ZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFs
V2VicnRjVmlkZW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOScs
CisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFt
ZXJhdGU6IDI0LAorfTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxs
IGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlz
c2luZy4KK3ZhciBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTog
J2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorfTsKKworLy8gTWluaW1hbCBXZWJSVEMgQXVk
aW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9u
YWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1hbFdlYnJ0Y0F1ZGlvQ29u
ZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICdhdWRpby9vcHVzJywKK307CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oKSk7Cit9LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlv
biIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHt9
KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZp
Z3VyYXRpb24gaXNuJ3QgdmFsaWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24s
CisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2Vz
IG5vdCBoYXZlIGEgdHlwZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgfSkpOworfSwgIlRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUg
YW4gYXVkaW8gb3IgdmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsK
KyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4Iics
CisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAz
MDAwLAorICAgICAgZnJhbWVyYXRlOiAtMSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5l
Z2F0aXZlIGZyYW1lcmF0ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAg
IHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisg
ICAgICBmcmFtZXJhdGU6IDAsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUg
c2V0IHRvIDAiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5n
SW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRU
eXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDog
ODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJh
bWVyYXRlOiBJbmZpbml0eSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5n
SW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBz
ZXQgdG8gSW5maW5pdHkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNv
bnRlbnRUeXBlOiAnZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAw
LAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAg
fSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAor
ICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL2ZnZW9hJywKKyAgICAgIHdp
ZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAg
ICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qg
b2YgdHlwZSB2aWRlbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNl
X3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29u
dGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiOyBmb289ImJhciIn
LAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTog
MzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50
VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAg
dmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgZm9vPSJiYXIiJywKKyAg
ICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAs
CisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
aGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisg
ICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5
LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAg
ICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvMTAwMScsCisgICAgfQor
ICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGlu
IHRoZSBmb3JtIG9mIHgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAg
IHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisg
ICAgICBmcmFtZXJhdGU6ICcyNDAwMC8wJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wIik7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBl
RXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5
cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dl
Ym07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhl
aWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzAvMTAw
MDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3Rz
IGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlk
ZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEw
LjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRy
YXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnLTI0MDAwLzEwMDAxJywKKyAgICB9CisgIH0p
KTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgLXgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNl
X3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29u
dGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdp
ZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAg
ICBmcmFtZXJhdGU6ICcyNDAwMC8tMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhh
dCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15Iik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAg
IHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVv
L3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAg
IGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0
MDAwLycsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVj
dHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZp
ZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4x
MC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0
cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzEvM3gnLAorICAgIH0KKyAgfSkpOworfSwg
IlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRoIHRyYWlsaW5n
IHVuYWxsb3dlZCBjaGFyYWN0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJu
IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNv
bnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBh
cnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19q
cyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8o
eworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8v
Zmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwg
VHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAg
ICB0eXBlOiAncmVjb3JkJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07
IGNvZGVjcz0ib3B1cyI7IGZvbz0iYmFyIicgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBo
YXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlv
OiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9LAorICB9KSk7Cit9LCAi
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9u
IGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlk
ZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAor
ICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHku
c3VwcG9ydGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHku
c21vb3RoLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkucG93
ZXJFZmZpY2llbnQsICJib29sZWFuIik7CisgIH0pOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGZvciByZWNv
cmQgdHlwZSIpOworCithc3luY190ZXN0KHQgPT4geworICB2YXIgdmFsaWRUeXBlcyA9IFsgJ3Jl
Y29yZCcsICd3ZWJydGMnIF07CisgIHZhciBpbnZhbGlkVHlwZXMgPSBbIHVuZGVmaW5lZCwgbnVs
bCwgJycsICdmb29iYXInLCAnbXNlJywgJ01lZGlhU291cmNlJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgJ2ZpbGUnLCAnbWVkaWEtc291cmNlJywgXTsKKworICB2YXIgdmFsaWRQcm9taXNlcyA9
IFtdOworICB2YXIgaW52YWxpZENhdWdodCA9IDA7CisKKyAgdmFsaWRUeXBlcy5mb3JFYWNoKHR5
cGUgPT4geworICAgIHZhbGlkUHJvbWlzZXMucHVzaChuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsKKyAgICAgIHR5cGU6IHR5cGUsCisgICAgICB2aWRlbzogdHlwZSAh
PSAid2VicnRjIiA/IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gOiBtaW5pbWFsV2VicnRjVmlk
ZW9Db25maWd1cmF0aW9uLAorICAgICAgYXVkaW86IHR5cGUgIT0gIndlYnJ0YyIgPyBtaW5pbWFs
QXVkaW9Db25maWd1cmF0aW9uIDogbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiwKKyAg
ICB9KSk7CisgIH0pOworCisgIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3RlZCB2aWEgUHJvbWlzZS5h
bGwodmFsaWRQcm9taXNlcykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCisgIC8vIHByb21pc2VzIGZh
aWwsIFByb21pc2UuYWxsKCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFuaXNtIGNhbid0IGJlIHVz
ZWQgZm9yCisgIC8vIGludmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0ZXN0ZWQgaW5kaXZpZHVh
bGx5IGFuZCBpbmNyZW1lbnQgaW52YWxpZENhdWdodAorICAvLyB3aGVuIHJlamVjdGVkIHVudGls
IHRoZSBhbW91bnQgb2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVjdGF0aW9uLgorICBQcm9t
aXNlLmFsbCh2YWxpZFByb21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkgeworICAgICAgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgICAgIHR5cGU6IGludmFs
aWRUeXBlc1tpXSwKKyAgICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisg
ICAgICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgICAgfSkudGhlbih0
LnVucmVhY2hlZF9mdW5jKCksIHQuc3RlcF9mdW5jKGUgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGUubmFtZSwgJ1R5cGVFcnJvcicpOworICAgICAgICArK2ludmFsaWRDYXVnaHQ7CisgICAg
ICAgIGlmIChpbnZhbGlkQ2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5ndGgpCisgICAgICAgICAg
dC5kb25lKCk7CisgICAgICB9KSk7CisgICAgfQorICB9KSwgdC51bnJlYWNoZWRfZnVuYygnUHJv
bWlzZS5hbGwgc2hvdWxkIG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVzJykpOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMg
bm90IGhhdmUgYSB2YWxpZCB0eXBlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8u
YW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1Y2JlMjYzZmE3
MjEwYjRhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACisKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5n
SW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24n
dCB2YWxpZAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlh
Q29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlv
IG9yIHZpZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhh
cyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZp
bml0eQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
aXNuJ3Qgb2YgdHlwZSB2aWRlbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUg
cGFyYW1ldGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmlu
ZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBh
cmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkg
cmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAv
eQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgLXgveQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFt
ZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8teQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkg
cmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJh
Y3RlcnMKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBj
b25maWd1cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
aXNuJ3Qgb2YgdHlwZSBhdWRpbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUg
cGFyYW1ldGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZp
bmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBw
YXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9yIHJlY29yZCB0
eXBlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25m
aWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVz
L2VuY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndv
cmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBi
NTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci5o
dG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQg
dGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CmluZGV4IDY3MDA4Mjg4NzBjZTFmMTU5ZjQwMzBhZWEzNGM2NmM3OGUxNjdhOTEuLjNiNjcx
OTAwNGRiOWRkMzE4ZGNmYWI3ZDg0YTkzZGViMjcxMjMyYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lk
bGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMjAsMjAgKzIwLDIwIEBAIFBBU1MgV29ya2VyTmF2
aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFT
UyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxp
bmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRl
cyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCi1G
QUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJN
ZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlh
Q2FwYWJpbGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZSBv
YmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJp
bGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJp
bGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZB
SUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlh
Q2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3Np
bmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3Bl
cnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
Ik1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMi
IG1pc3NpbmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVj
b2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhw
ZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2Fw
YWJpbGl0aWVzIGludGVyZmFjZTogb3BlcmF0aW9uIGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbikgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNh
cGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBhc3NlcnRfZXF1YWxz
OiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5l
ZCIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBh
c3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBn
b3QgInVuZGVmaW5lZCIKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGluZ0luZm8o
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRf
ZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVu
ZGVmaW5lZCIKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGRlY29k
aW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNz
ZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290
ICJ1bmRlZmluZWQiCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZW5jb2RpbmdJbmZvKE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2Vx
dWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRl
ZmluZWQiCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogY2FsbGluZyBlbmNvZGlu
Z0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIG9uIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2Vy
dF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAi
dW5kZWZpbmVkIgotRkFJTCBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVk
aWFDYXBhYmlsaXRpZXMgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2
ZSBhIHByb3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
LUZBSUwgV29ya2VyTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9yIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9p
bmhlcml0czogcHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiBub3QgZm91bmQgaW4gcHJvdG90
eXBlIGNoYWluCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMg
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNl
IG9iamVjdCBuYW1lCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIE1lZGlh
Q2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBNZWRp
YUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgTWVk
aWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVjb2RpbmdJbmZvKE1lZGlhRGVj
b2RpbmdDb25maWd1cmF0aW9uKQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pCitQQVNTIE1l
ZGlhQ2FwYWJpbGl0aWVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGluZ0luZm8oTWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBNZWRp
YUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGNhbGxpbmcgZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvcgorUEFTUyBNZWRpYUNhcGFiaWxpdGll
cyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhl
IHByb3BlciB0eXBlCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogY2FsbGluZyBl
bmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIG9uIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
CitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYUNhcGFiaWxp
dGllcworUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKIAo=
</data>
<flag name="commit-queue"
          id="465561"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441341</attachid>
            <date>2021-10-15 00:27:33 -0700</date>
            <delta_ts>2021-10-15 06:09:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231574-20211015092723.patch</filename>
            <type>text/plain</type>
            <size>90040</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNlMDIyMmU4YmFhY2E4
MTQ4YWNkY2ZlZmMwMGY0Nzg0MmFlZjUyMS4uZTM1YWU1YmRmYmE2NmRlYTMxZDViZTJjZjQ5NjBl
YzZiNTk4YjhkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgTWVkaWFDYXBh
YmlsaXRpZXMgdG8gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxNTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRXhwb3NlIE1lZGlhIENhcGFiaWxpdGllcyB0byB3b3JrZXJzIGJ5IGhvcHBp
bmcgdG8gbWFpbiB0aHJlYWQgYW5kIHVzaW5nIHdvcmtlciByZXNwb25zaWJsZSBkb2N1bWVudCBm
b3IgZ2F0aGVyaW5nIE1lZGlhIENhcGFiaWxpdGllcywgdGhlbiBob3BwaW5nIGJhY2sgdG8gd29y
a2VyLgorICAgICAgICBNZWRpYUNhcGFiaWxpdGllcyB3aWxsIHN0b3JlIHRoZSBwcm9taXNlcyB3
aGVuIHdhaXRpbmcgZm9yIG1lZGlhIGNhcGFiaWxpdGllcyBnYXRoZXJpbmcgYnkgZG9jdW1lbnQu
CisKKyAgICAgICAgV2UgcmVtb3ZlIEN1c3RvbUVuYWJsZWQgc2luY2UgaXQgaXMgbm90IHN1cHBv
cnRlZCBpbiBXb3JrZXJzIGFuZCB3ZSBhcmUgbm93IGV4cG9zaW5nIGVuY29kaW5nIGluZm8gZm9y
IFdlYlJUQyBhbnl3YXkuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL05hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmln
YXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5oOiBBZGRlZC4K
KyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgor
ICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9N
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlh
Q2FwYWJpbGl0aWVzSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L0F1ZGlvQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaDoKKwogMjAy
MS0xMC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVk
aWFDYXBhYmlsaXRpZXMgc2hvdWxkIGVucXVldWUgYSB0YXNrIHRvIHJlc29sdmUgcHJvbWlzZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzNlZmE5YjgyYzcxNDJhZWQ0ODExY2E5OGMzOWMxN2M3
MzViMTRmZi4uNzMxZDMyOWQxMDllZjIzZTA0NWUyMzA3ZmViZDUwZmMxNGJiYWNiNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTM0NSw2ICszNDUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lE
TF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yK01lZGlhQ2Fw
YWJpbGl0aWVzLmlkbAogICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5j
dGlvbi5pZGwKICAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlv
bi5pZGwKKyAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRp
YUNhcGFiaWxpdGllcy5pZGwKIAogICAgIE1vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRy
b2xzSG9zdC5pZGwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKaW5kZXggYzU0MjkzMDRlNmJhY2ViNmU4NjUxMzZhYWZlMTZkN2NjOWZjNzU3ZS4u
MTg2YTdhNDEyNzZiNGJiMDcxOWM5OTQyMzkzODA2MTViZTIxYWU0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xNzcsNiArMTc3LDcg
QEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdh
dG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9UcmFuc2ZlckZ1bmN0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaWRsCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGll
cy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xz
SG9zdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggY2RlNDdlZmExMTIwNTg1YzhhZDk3N2RmMTYzYzU2Yjg1NGY3MTkwYS4uNWRjYmU5Y2E1
NGE2ZjA5MGEzY2ZmMjVhN2RmYTE4YjdkYmEyNDM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTI0NzksNiArMjQ3OSw4IEBAICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFs
U2NvcGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dvcmtlckdsb2JhbFNjb3BlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV29ya2VyTG9jYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckxvY2F0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJp
bGl0aWVzLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNXb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJOYXZpZ2F0b3IuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlck5hdmlnYXRvci5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlck9w
dGlvbnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyZTVkOTEwZDNlOWE1
YTVjYTk4YTg4Y2I5OTJhYzVmMGQ2ZGUyMWQ5Li5lZjNjMGY3MjBhZmQ0MTkzOGFhM2M1ZGEyMGJl
YjVjMWVjYjM5MzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTIwMyw2ICsy
MDMsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9OYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRp
b24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2Vy
TmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFyZWNvcmRlci9CbG9iRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRp
ZXMuY3BwCmluZGV4IDNkY2I2NTJlMzY1MmE1M2UyNGU5NWQxODllYmYxNzk0NzQyY2E2ZWIuLjIz
ZjBmMTJiYTUzYTYyY2FlMmVhMDRiNzQ4NGU1MDZjZTQ4NDUwZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuY3BwCkBAIC0xNjgsMTQgKzE2OCw1NCBAQCBzdGF0aWMgYm9vbCBpc1ZhbGlkTWVk
aWFDb25maWd1cmF0aW9uKGNvbnN0IE1lZGlhQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJ
bmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25m
aWd1cmF0aW9uLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCitzdGF0aWMgdm9pZCBn
YXRoZXJEZWNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6
OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgUkVMRUFT
RV9MT0dfSU5GTyhNZWRpYSwgIkdhdGhlcmluZyBkZWNvZGluZyBNZWRpYUNhcGFiaWxpdGllcyIp
OworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJh
dGlvbkNhbGxiYWNrIGRlY29kaW5nQ2FsbGJhY2sgPSBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKV0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lORk8o
TWVkaWEsICJGaW5pc2hlZCBnYXRoZXJpbmcgZGVjb2RpbmcgTWVkaWFDYXBhYmlsaXRpZXMiKTsK
KyAgICAgICAgY2FsbGJhY2soV1RGTW92ZShyZXN1bHQpKTsKKyAgICB9OworCisgICAgaWYgKCFk
b2N1bWVudC5zZXR0aW5ncygpLm1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5zaW9uc0VuYWJsZWQoKSAm
JiBjb25maWd1cmF0aW9uLnZpZGVvKQorICAgICAgICBjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVl
KCkuYWxwaGFDaGFubmVsLnJlc2V0KCk7CisKKyNpZiBFTkFCTEUoVlA5KQorICAgIGNvbmZpZ3Vy
YXRpb24uY2FuRXhwb3NlVlA5ID0gZG9jdW1lbnQuc2V0dGluZ3MoKS52cDlEZWNvZGVyRW5hYmxl
ZCgpOworI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICBpZiAoY29uZmlndXJhdGlv
bi50eXBlID09IE1lZGlhRGVjb2RpbmdUeXBlOjpXZWJSVEMpIHsKKyAgICAgICAgaWYgKGF1dG8q
IHBhZ2UgPSBkb2N1bWVudC5wYWdlKCkpCisgICAgICAgICAgICBwYWdlLT5saWJXZWJSVENQcm92
aWRlcigpLmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24p
LCBXVEZNb3ZlKGRlY29kaW5nQ2FsbGJhY2spKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNl
bmRpZgorICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZURlY29kaW5n
Q29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGRlY29kaW5nQ2Fs
bGJhY2spKTsKK30KKworc3RhdGljIHZvaWQgZ2F0aGVyRW5jb2RpbmdJbmZvKERvY3VtZW50JiBk
b2N1bWVudCwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBNZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFj
ayYmIGNhbGxiYWNrKQoreworICAgIFJFTEVBU0VfTE9HX0lORk8oTWVkaWEsICJHYXRoZXJpbmcg
ZW5jb2RpbmcgTWVkaWFDYXBhYmlsaXRpZXMiKTsKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBlbmNvZGluZ0NhbGxiYWNr
ID0gW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiByZXN1bHQpIG11dGFibGUg
eworICAgICAgICBSRUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiRmluaXNoZWQgZ2F0aGVyaW5nIGVu
Y29kaW5nIE1lZGlhQ2FwYWJpbGl0aWVzIik7CisgICAgICAgIGNhbGxiYWNrKFdURk1vdmUocmVz
dWx0KSk7CisgICAgfTsKKworI2lmIEVOQUJMRShXRUJfUlRDKQorICAgIGlmIChjb25maWd1cmF0
aW9uLnR5cGUgPT0gTWVkaWFFbmNvZGluZ1R5cGU6OldlYlJUQykgeworICAgICAgICBpZiAoYXV0
byogcGFnZSA9IGRvY3VtZW50LnBhZ2UoKSkKKyAgICAgICAgICAgIHBhZ2UtPmxpYldlYlJUQ1By
b3ZpZGVyKCkuY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlv
biksIFdURk1vdmUoZW5jb2RpbmdDYWxsYmFjaykpOworICAgICAgICByZXR1cm47CisgICAgfQor
I2VuZGlmCisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRW5jb2Rp
bmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoZW5jb2RpbmdD
YWxsYmFjaykpOworfQorCit2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24m
JiBjb25maWd1cmF0aW9uLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAg
Ly8gMi40IE1lZGlhIENhcGFiaWxpdGllcyBJbnRlcmZhY2UKICAgICAvLyBodHRwczovL3dpY2cu
Z2l0aHViLmlvL21lZGlhLWNhcGFiaWxpdGllcy8jbWVkaWEtY2FwYWJpbGl0aWVzLWludGVyZmFj
ZQogCi0gICAgYXV0byBpZGVudGlmaWVyID0gV1RGOjpMb2dnZXI6OkxvZ1NpdGVJZGVudGlmaWVy
KCJNZWRpYUNhcGFiaWxpdGllcyIsIF9fZnVuY19fLCB0aGlzKTsKLSAgICBSZWY8TG9nZ2VyPiBs
b2dnZXIgPSBkb2N1bWVudC5sb2dnZXIoKTsKLQogICAgIC8vIDEuIElmIGNvbmZpZ3VyYXRpb24g
aXMgbm90IGEgdmFsaWQgTWVkaWFDb25maWd1cmF0aW9uLCByZXR1cm4gYSBQcm9taXNlIHJlamVj
dGVkIHdpdGggYSBUeXBlRXJyb3IuCiAgICAgLy8gMi4gSWYgY29uZmlndXJhdGlvbi52aWRlbyBp
cyBwcmVzZW50IGFuZCBpcyBub3QgYSB2YWxpZCB2aWRlbyBjb25maWd1cmF0aW9uLCByZXR1cm4g
YSBQcm9taXNlIHJlamVjdGVkIHdpdGggYSBUeXBlRXJyb3IuCiAgICAgLy8gMi4yLjMgSWYgY29u
ZmlndXJhdGlvbiBpcyBvZiB0eXBlIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLCBydW4gdGhl
IGZvbGxvd2luZyBzdWJzdGVwczoKQEAgLTE5Miw1MSArMjMyLDQzIEBAIHZvaWQgTWVkaWFDYXBh
YmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRGVjb2RpbmdD
b25maWd1cmF0CiAgICAgLy8gZWZmZWN0cyBzdWNoIGFzIGVuYWJsaW5nIGRpZmZlcmVudCBkZWNv
ZGluZyBtb2R1bGVzLgogICAgIC8vIDMuIElmIGNvbmZpZ3VyYXRpb24uYXVkaW8gaXMgcHJlc2Vu
dCBhbmQgaXMgbm90IGEgdmFsaWQgYXVkaW8gY29uZmlndXJhdGlvbiwgcmV0dXJuIGEgUHJvbWlz
ZSByZWplY3RlZCB3aXRoIGEgVHlwZUVycm9yLgogICAgIGlmICghaXNWYWxpZE1lZGlhQ29uZmln
dXJhdGlvbihjb25maWd1cmF0aW9uKSkgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAg
ICAgICBsb2dnZXItPmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICIgLSBSZWplY3RlZC4gY29u
ZmlndXJhdGlvbjogIiwgY29uZmlndXJhdGlvbik7Ci0jZW5kaWYKICAgICAgICAgcHJvbWlzZS0+
cmVqZWN0KFR5cGVFcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoIWRv
Y3VtZW50LnNldHRpbmdzKCkubWVkaWFDYXBhYmlsaXRpZXNFeHRlbnNpb25zRW5hYmxlZCgpICYm
IGNvbmZpZ3VyYXRpb24udmlkZW8pCi0gICAgICAgIGNvbmZpZ3VyYXRpb24udmlkZW8udmFsdWUo
KS5hbHBoYUNoYW5uZWwucmVzZXQoKTsKLQotI2lmIEVOQUJMRShWUDkpCi0gICAgY29uZmlndXJh
dGlvbi5jYW5FeHBvc2VWUDkgPSBkb2N1bWVudC5zZXR0aW5ncygpLnZwOURlY29kZXJFbmFibGVk
KCk7Ci0jZW5kaWYKLQogICAgIC8vIDQuIExldCBwIGJlIGEgbmV3IHByb21pc2UuCiAgICAgLy8g
NS4gSW4gcGFyYWxsZWwsIHJ1biB0aGUgY3JlYXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFs
Z29yaXRobSB3aXRoIGNvbmZpZ3VyYXRpb24gYW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQu
CiAgICAgLy8gNi4gUmV0dXJuIHAuCiAKLSAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllciksIGxvZ2dl
ciA9IFdURk1vdmUobG9nZ2VyKSwgZG9jdW1lbnQgPSBSZWYgeyBkb2N1bWVudCB9XShhdXRvIGlu
Zm8pIG11dGFibGUgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgICAgICBsb2dnZXIt
PmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICI6OmNhbGxiYWNrKCkgLSBSZXNvbHZlZC4gaW5m
bzogIiwgaW5mbyk7Ci0jZW5kaWYKLSAgICAgICAgZG9jdW1lbnQtPmV2ZW50TG9vcCgpLnF1ZXVl
VGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KSwgaW5mbyA9IFdURk1vdmUoaW5mbyldICgpIG11dGFibGUgeworICAgIE1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNr
ID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBjb250ZXh0ID0gUmVmIHsgY29udGV4dCB9
XShhdXRvIGluZm8pIG11dGFibGUgeworICAgICAgICBjb250ZXh0LT5ldmVudExvb3AoKS5xdWV1
ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAoKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb21p
c2UtPnJlc29sdmU8SURMRGljdGlvbmFyeTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4+
KFdURk1vdmUoaW5mbykpOwogICAgICAgICB9KTsKICAgICB9OwogCi0jaWYgRU5BQkxFKFdFQl9S
VEMpCi0gICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYURlY29kaW5nVHlwZTo6V2Vi
UlRDKSB7Ci0gICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQucGFnZSgpKQotICAgICAg
ICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5jcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRp
b24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIGlmIChp
czxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgZ2F0aGVyRGVjb2RpbmdJbmZvKGRvd25j
YXN0PERvY3VtZW50Pihjb250ZXh0KSwgV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShj
YWxsYmFjaykpOwogICAgICAgICByZXR1cm47CiAgICAgfQotI2VuZGlmCi0gICAgTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1v
dmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKKworICAgIG1fZGVjb2RpbmdU
YXNrcy5hZGQoKyttX25leHRUYXNrSWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpOworICAg
IGNvbnRleHQucG9zdFRhc2tUb1Jlc3BvbnNpYmxlRG9jdW1lbnQoW2NvbmZpZ3VyYXRpb24gPSBX
VEZNb3ZlKGNvbmZpZ3VyYXRpb24pLmlzb2xhdGVkQ29weSgpLCBjb250ZXh0SWRlbnRpZmllciA9
IGNvbnRleHQuY29udGV4dElkZW50aWZpZXIoKSwgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlz
KSwgdGFza0lkZW50aWZpZXIgPSBtX25leHRUYXNrSWRlbnRpZmllcl0oYXV0byYgZG9jdW1lbnQp
IG11dGFibGUgeworICAgICAgICBnYXRoZXJEZWNvZGluZ0luZm8oZG9jdW1lbnQsIFdURk1vdmUo
Y29uZmlndXJhdGlvbiksIFtjb250ZXh0SWRlbnRpZmllciwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdl
YWtUaGlzKSwgdGFza0lkZW50aWZpZXJdKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAg
ICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cG9zdFRhc2tUbyhjb250ZXh0SWRlbnRpZmll
ciwgW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHRhc2tJZGVudGlmaWVyLCByZXN1bHQg
PSBXVEZNb3ZlKHJlc3VsdCkuaXNvbGF0ZWRDb3B5KCldKGF1dG8mKSBtdXRhYmxlIHsKKyAgICAg
ICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICAgICAgaWYgKGF1dG8gY2FsbGJhY2sgPSB3ZWFrVGhpcy0+bV9kZWNvZGluZ1Rh
c2tzLnRha2UodGFza0lkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhX
VEZNb3ZlKHJlc3VsdCkpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOwog
fQogCi12b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjplbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3Vt
ZW50LCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3ZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5n
SW5mbyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkK
IHsKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJpbGl0aWVzIEludGVyZmFjZQogICAgIC8vIGh0dHBz
Oi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLyNtZWRpYS1jYXBhYmlsaXRpZXMt
aW50ZXJmYWNlCiAKLSAgICBhdXRvIGlkZW50aWZpZXIgPSBXVEY6OkxvZ2dlcjo6TG9nU2l0ZUlk
ZW50aWZpZXIoIk1lZGlhQ2FwYWJpbGl0aWVzIiwgX19mdW5jX18sIHRoaXMpOwotICAgIFJlZjxM
b2dnZXI+IGxvZ2dlciA9IGRvY3VtZW50LmxvZ2dlcigpOwotCiAgICAgLy8gMS4gSWYgY29uZmln
dXJhdGlvbiBpcyBub3QgYSB2YWxpZCBNZWRpYUNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21p
c2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAyLiBJZiBjb25maWd1cmF0aW9u
LnZpZGVvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIHZpZGVvIGNvbmZpZ3VyYXRpb24s
IHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAzLiBJ
ZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIGF1ZGlv
IGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJv
ci4KQEAgLTI2NCwyNCArMjk2LDI4IEBAIHZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5n
SW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0CiAgICAgLy8g
NS4gSW4gcGFyYWxsZWwsIHJ1biB0aGUgY3JlYXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFs
Z29yaXRobSB3aXRoIGNvbmZpZ3VyYXRpb24gYW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQu
CiAgICAgLy8gNi4gUmV0dXJuIHAuCiAKLSAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllciksIGxvZ2dl
ciA9IFdURk1vdmUobG9nZ2VyKSwgZG9jdW1lbnQgPSBSZWYgeyBkb2N1bWVudCB9XShhdXRvIGlu
Zm8pIG11dGFibGUgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgICAgICBsb2dnZXIt
PmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICI6OmNhbGxiYWNrKCkgLSBSZXNvbHZlZC4gaW5m
bzogIiwgaW5mbyk7Ci0jZW5kaWYKLSAgICAgICAgZG9jdW1lbnQtPmV2ZW50TG9vcCgpLnF1ZXVl
VGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KSwgaW5mbyA9IFdURk1vdmUoaW5mbyldICgpIG11dGFibGUgeworICAgIE1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNr
ID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBjb250ZXh0ID0gUmVmIHsgY29udGV4dCB9
XShhdXRvIGluZm8pIG11dGFibGUgeworICAgICAgICBjb250ZXh0LT5ldmVudExvb3AoKS5xdWV1
ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAoKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb21p
c2UtPnJlc29sdmU8SURMRGljdGlvbmFyeTxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4+
KFdURk1vdmUoaW5mbykpOwogICAgICAgICB9KTsKICAgICB9OwogCi0jaWYgRU5BQkxFKFdFQl9S
VEMpCi0gICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYUVuY29kaW5nVHlwZTo6V2Vi
UlRDKSB7Ci0gICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQucGFnZSgpKQotICAgICAg
ICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5jcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRp
b24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIGlmIChp
czxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgZ2F0aGVyRW5jb2RpbmdJbmZvKGRvd25j
YXN0PERvY3VtZW50Pihjb250ZXh0KSwgV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShj
YWxsYmFjaykpOwogICAgICAgICByZXR1cm47CiAgICAgfQotI2VuZGlmCiAKLSAgICBNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RG
TW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIG1fZW5jb2RpbmdU
YXNrcy5hZGQoKyttX25leHRUYXNrSWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpOworICAg
IGNvbnRleHQucG9zdFRhc2tUb1Jlc3BvbnNpYmxlRG9jdW1lbnQoW2NvbmZpZ3VyYXRpb24gPSBX
VEZNb3ZlKGNvbmZpZ3VyYXRpb24pLmlzb2xhdGVkQ29weSgpLCBjb250ZXh0SWRlbnRpZmllciA9
IGNvbnRleHQuY29udGV4dElkZW50aWZpZXIoKSwgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlz
KSwgdGFza0lkZW50aWZpZXIgPSBtX25leHRUYXNrSWRlbnRpZmllcl0oYXV0byYgZG9jdW1lbnQp
IG11dGFibGUgeworICAgICAgICBnYXRoZXJFbmNvZGluZ0luZm8oZG9jdW1lbnQsIFdURk1vdmUo
Y29uZmlndXJhdGlvbiksIFtjb250ZXh0SWRlbnRpZmllciwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdl
YWtUaGlzKSwgdGFza0lkZW50aWZpZXJdKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAg
ICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cG9zdFRhc2tUbyhjb250ZXh0SWRlbnRpZmll
ciwgW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHRhc2tJZGVudGlmaWVyLCByZXN1bHQg
PSBXVEZNb3ZlKHJlc3VsdCkuaXNvbGF0ZWRDb3B5KCldKGF1dG8mKSBtdXRhYmxlIHsKKyAgICAg
ICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICAgICAgaWYgKGF1dG8gY2FsbGJhY2sgPSB3ZWFrVGhpcy0+bV9lbmNvZGluZ1Rh
c2tzLnRha2UodGFza0lkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhX
VEZNb3ZlKHJlc3VsdCkpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgKaW5kZXggYmExMjM0YmIzODk3MzI2ZTY2Y2I3
MjJjOWJhYjU3N2E4NzZkZDg3NC4uYjk1NzkwMTljMWE3NWFlMTJkODE2NDNjNzc4NzJiZjkxNWJk
ZThhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUNhcGFiaWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxOSArMjUsMjkgQEAKIAogI3ByYWdt
YSBvbmNlCiAKKyNpbmNsdWRlICJNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCisj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRGVm
ZXJyZWRQcm9taXNlOwotY2xhc3MgRG9jdW1lbnQ7Ci1zdHJ1Y3QgTWVkaWFEZWNvZGluZ0NvbmZp
Z3VyYXRpb247Ci1zdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb247CitjbGFzcyBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OwogCi1jbGFzcyBNZWRpYUNhcGFiaWxpdGllcyA6IHB1YmxpYyBS
ZWZDb3VudGVkPE1lZGlhQ2FwYWJpbGl0aWVzPiB7CitjbGFzcyBNZWRpYUNhcGFiaWxpdGllcyA6
IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhQ2FwYWJpbGl0aWVzPiwgcHVibGljIENhbk1ha2VXZWFr
UHRyPE1lZGlhQ2FwYWJpbGl0aWVzPiB7CiBwdWJsaWM6Ci0gICAgdm9pZCBkZWNvZGluZ0luZm8o
RG9jdW1lbnQmLCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmKTsKLSAgICB2b2lkIGVuY29kaW5nSW5mbyhEb2N1bWVudCYsIE1lZGlhRW5jb2RpbmdD
b25maWd1cmF0aW9uJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHN0YXRpYyBSZWY8
TWVkaWFDYXBhYmlsaXRpZXM+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFD
YXBhYmlsaXRpZXMpOyB9CisKKyAgICB2b2lkIGRlY29kaW5nSW5mbyhTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CisgICAgdm9pZCBlbmNvZGluZ0luZm8oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworCitw
cml2YXRlOgorICAgIE1lZGlhQ2FwYWJpbGl0aWVzKCkgPSBkZWZhdWx0OworCisgICAgdWludDY0
X3QgbV9uZXh0VGFza0lkZW50aWZpZXIgeyAwIH07CisgICAgSGFzaE1hcDx1aW50NjRfdCwgTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJh
Y2s+IG1fZGVjb2RpbmdUYXNrczsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjaz4gbV9lbmNv
ZGluZ1Rhc2tzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJp
bGl0aWVzLmlkbAppbmRleCBmNzI0MzExZjgzZTM5MTY5OGI2ZjQyMjQ5ODk3MmFmYmZkN2ZiZTAx
Li42YTg4MTY1NDY3YzFmYmNmMzFmYzcwMjUwMWVjOTI2Y2Y3M2Y2YWIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmlkbApAQCAtMjYsOSArMjYsOCBAQAogWwogICAgIEVuYWJsZWRCeVNldHRp
bmc9TWVkaWFDYXBhYmlsaXRpZXNFbmFibGVkLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCi0gICAgSlNDdXN0b21IZWFkZXIsCi0gICAgRXhwb3NlZD1XaW5kb3cKKyAgICBFeHBvc2Vk
PShXaW5kb3csRGVkaWNhdGVkV29ya2VyKQogXSBpbnRlcmZhY2UgTWVkaWFDYXBhYmlsaXRpZXMg
ewotICAgIFtDdXN0b21FbmFibGVkLCBDYWxsV2l0aD1Eb2N1bWVudF0gUHJvbWlzZTxNZWRpYUNh
cGFiaWxpdGllc0RlY29kaW5nSW5mbz4gZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwotICAgIFtDdXN0b21FbmFibGVkLCBDYWxsV2l0aD1Eb2N1
bWVudF0gUHJvbWlzZTxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4gZW5jb2RpbmdJbmZv
KE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOworICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2Rp
bmdJbmZvPiBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJh
dGlvbik7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8TWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8+IGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29u
ZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yTWVk
aWFDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGEzMWJhZGI1NGFjOTgxZTBlM2JhZGFmZTIwOTg3ODI5
ZDNmNzQwMzUuLjRlODBiYmZjOTZiNTFjYzQ5YmIxZmU5ZGE2NzAxMmZmZjJkMzQxOGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9y
TWVkaWFDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwCkBAIC0zMiw3ICszMiw3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIE5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzOjpO
YXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcygpCi0gICAgOiBtX21lZGlhQ2FwYWJpbGl0aWVzKGFk
b3B0UmVmKCpuZXcgTWVkaWFDYXBhYmlsaXRpZXMoKSkpCisgICAgOiBtX21lZGlhQ2FwYWJpbGl0
aWVzKE1lZGlhQ2FwYWJpbGl0aWVzOjpjcmVhdGUoKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVk
aWFDYXBhYmlsaXRpZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxp
dGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUw
NThmZThhMTI3ZWVjNTI1OTc2ZDg0ODNiMWU4ZDNlOGZmYzY2YjcKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRv
citNZWRpYUNhcGFiaWxpdGllcy5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8v
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRpZXMvI25hdmlnYXRvcnMtZXh0
ZW5zaW9ucworWworICAgIEVuYWJsZWRCeVNldHRpbmc9TWVkaWFDYXBhYmlsaXRpZXNFbmFibGVk
LAorICAgIEltcGxlbWVudGVkQnk9V29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMKK10g
cGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9yIHsKKyAgW1NhbWVPYmplY3RdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBNZWRpYUNhcGFiaWxpdGllcyBtZWRpYUNhcGFiaWxpdGllczsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjMzZjE0MjYyMTMyMDlkYzg1NmE4Yjk1MGQyNjY0NGE2Mjk2MzdhMTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dv
cmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcApAQCAtMCwwICsxLDY3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldvcmtlck5hdmlnYXRvck1l
ZGlhQ2FwYWJpbGl0aWVzLmgiCisKKyNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllcy5oIgorI2lu
Y2x1ZGUgIldvcmtlck5hdmlnYXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzOjpXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxp
dGllcygpCisgICAgOiBtX21lZGlhQ2FwYWJpbGl0aWVzKE1lZGlhQ2FwYWJpbGl0aWVzOjpjcmVh
dGUoKSkKK3sKK30KKworV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6On5Xb3JrZXJO
YXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcygpID0gZGVmYXVsdDsKKworY29uc3QgY2hhciogV29y
a2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICBy
ZXR1cm4gIldvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzIjsKK30KKworV29ya2VyTmF2
aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMmIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVz
Ojpmcm9tKFdvcmtlck5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1l
bnQgPSBzdGF0aWNfY2FzdDxXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyo+KFN1cHBs
ZW1lbnQ8V29ya2VyTmF2aWdhdG9yPjo6ZnJvbSgmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgp
KSk7CisgICAgaWYgKCFzdXBwbGVtZW50KSB7CisgICAgICAgIGF1dG8gbmV3U3VwcGxlbWVudCA9
IG1ha2VVbmlxdWU8V29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM+KCk7CisgICAgICAg
IHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5h
dmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAg
fQorICAgIHJldHVybiAqc3VwcGxlbWVudDsKK30KKworTWVkaWFDYXBhYmlsaXRpZXMmIFdvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzOjptZWRpYUNhcGFiaWxpdGllcyhXb3JrZXJOYXZp
Z2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICByZXR1cm4gV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBh
YmlsaXRpZXM6OmZyb20obmF2aWdhdG9yKS5tZWRpYUNhcGFiaWxpdGllcygpOworfQorCitNZWRp
YUNhcGFiaWxpdGllcyYgV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6Om1lZGlhQ2Fw
YWJpbGl0aWVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYUNhcGFiaWxpdGllczsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0
b3JNZWRpYUNhcGFiaWxpdGllcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5MTdmYWRjMjI5MjQ1OGZiMGE3ZGVk
MDg0ZjU4OTkyN2JhMWQwNzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmgK
QEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
U3VwcGxlbWVudGFibGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYUNh
cGFiaWxpdGllczsKK2NsYXNzIFdvcmtlck5hdmlnYXRvcjsKKworY2xhc3MgV29ya2VyTmF2aWdh
dG9yTWVkaWFDYXBhYmlsaXRpZXMgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxXb3JrZXJOYXZp
Z2F0b3I+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBXb3Jr
ZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcygpOworICAgIH5Xb3JrZXJOYXZpZ2F0b3JNZWRp
YUNhcGFiaWxpdGllcygpOworCisgICAgc3RhdGljIE1lZGlhQ2FwYWJpbGl0aWVzJiBtZWRpYUNh
cGFiaWxpdGllcyhXb3JrZXJOYXZpZ2F0b3ImKTsKKyAgICBzdGF0aWMgV29ya2VyTmF2aWdhdG9y
TWVkaWFDYXBhYmlsaXRpZXMmIGZyb20oV29ya2VyTmF2aWdhdG9yJik7CisKKyAgICBNZWRpYUNh
cGFiaWxpdGllcyYgbWVkaWFDYXBhYmlsaXRpZXMoKSBjb25zdDsKK3ByaXZhdGU6CisgICAgc3Rh
dGljIGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7CisKKyAgICBtdXRhYmxlIFJlZjxNZWRp
YUNhcGFiaWxpdGllcz4gbV9tZWRpYUNhcGFiaWxpdGllczsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9u
L01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcAppbmRleCAzNGYyNTU4OGQ4YmE3
ODJjYzM0OTQzNGJiYjdkY2JiZmUzMjEwMGJmLi4xN2ZjNmYwY2Y2NTVlZjdhNTA1Yzg2ZTNjOTY4
ZWQ3NGI4Y2YxOTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCkBAIC0zMyw5ICsz
MywxMiBAQAogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNN
ZWRpYVNlc3Npb25Db29yZGluYXRvclN0YXRlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2lu
Y2x1ZGUgIk1lZGlhTWV0YWRhdGEuaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb24uaCIKICNpbmNs
dWRlICJNZWRpYVNlc3Npb25Db29yZGluYXRvclByaXZhdGUuaCIKKyNpbmNsdWRlIDx3dGYvQ29t
cGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2VyLmg+CisjaW5jbHVkZSA8d3Rm
L0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKIHN0YXRpYyBjb25z
dCBTZWNvbmRzIENvbW1hbmRUaW1lVG9sZXJhbmNlID0gNTBfbXM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IDJiMDNmYTcxOWEwMWI5ZGE5MjlmOGI1OTRhYTdiMDIwODEzYjBjMDAuLmRjYTAzY2Y0ZGJiOWYy
YmJlMzczZjdhZGNhOTUzNWQwZjhmZDVkNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMzEsNiArMTMx
LDcgQEAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlRyYW5zYWN0aW9uSW5mby5jcHAKIE1v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JbmRleEtleS5jcHAKIE1vZHVsZXMvbWVkaWFjYXBhYmls
aXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwCiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcAorTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9X
b3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKIE1vZHVsZXMvbWVkaWFzZXNzaW9u
L01lZGlhTWV0YWRhdGEuY3BwCiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uY3Bw
CiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBm
ZDNjN2Q0ODczOGUwMTYxY2JkMjUwZTJhMDZlNmE2ZGVkYzNiNDU3Li5lZWE2YzIyOTljYzEwNGQy
Mzk5Y2E0N2I0NDQ3NmViZjU4ZTc2NmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MTQ5LDcgKzgxNDksOSBAQAogCQk0MThG
Q0JDQjI3MDZGM0NEMDBGOTZFQ0EgLyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlK1B1c2hBUEku
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUrUHVzaEFQSS5pZGwiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MThGQ0JDQzI3MDZGNDM0MDBGOTZFQ0EgLyogU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGVQdXNoQVBJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEZD
QkNEMjcwNkY0MzQwMEY5NkVDQSAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MThGQ0JFODI3MTVBQTE5MDBGOTZFQ0Eg
LyogSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhQ2Fw
YWJpbGl0aWVzQ3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkVB
MjcxNUI2MEYwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9ICJXb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCRUMyNzE1Qjg1MTAwRjk2RUNBIC8qIFdvcmtlck5h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlck5hdmlnYXRv
ck1lZGlhQ2FwYWJpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZD
QkVEMjcxNUI4NTIwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0ExMjQ5RDE1MjcwMDUzMUM1
NyAvKiBGcmFtZVJhdGVNb25pdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEZyYW1lUmF0ZU1vbml0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTkwRjNBMzI0OUQxNTI4MDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGcmFtZVJhdGVNb25pdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxOTI0MjQ3MjEyN0I3Q0MwMDYzNEZDRiAvKiBSZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMjMyMTQsNyArMjMyMTYsNiBAQAogCQkJCUE3RDAzMThEMEU5
MzU0MDMwMEUyNEFDRCAvKiBKU0ltYWdlRGF0YUN1c3RvbS5jcHAgKi8sCiAJCQkJNTg2OEM3RDUy
NTQ2RTBCMzAwQkY5REYzIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwICovLAog
CQkJCTc3QzEzRjA0MjE2NTY1OEEwMDJEOUM1RiAvKiBKU0ludGVyc2VjdGlvbk9ic2VydmVyRW50
cnlDdXN0b20uY3BwICovLAotCQkJCTQxOEZDQkU4MjcxNUFBMTkwMEY5NkVDQSAvKiBKU01lZGlh
Q2FwYWJpbGl0aWVzQ3VzdG9tLmggKi8sCiAJCQkJQUQ3MjZGRTcxNkQ5RjIwNDAwM0E0RTZEIC8q
IEpTTWVkaWFMaXN0Q3VzdG9tLmggKi8sCiAJCQkJNDE1Q0RBRjYxRTZDRTBEMzAwNEYxMUVFIC8q
IEpTTWVkaWFTdHJlYW1UcmFja0N1c3RvbS5jcHAgKi8sCiAJCQkJRTFBNUY5OUEwRTdFQUEyNTAw
QUY4NUVBIC8qIEpTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwICovLApAQCAtMjg3NDgsNiArMjg3
NDksOSBAQAogCQkJCUNEQkQzRDM5MUZFODVDQzEwMDEyQzU0NSAvKiBOYXZpZ2F0b3JNZWRpYUNh
cGFiaWxpdGllcy5oICovLAogCQkJCUNENEU0RTYyMjM1N0IzQUQwMDc4OTVDMyAvKiBUcmFuc2Zl
ckZ1bmN0aW9uLmlkbCAqLywKIAkJCQlDREJEM0QyODFGRTg1Q0I4MDAxMkM1NDUgLyogVmlkZW9D
b25maWd1cmF0aW9uLmlkbCAqLywKKwkJCQk0MThGQ0JFQTI3MTVCNjBGMDBGOTZFQ0EgLyogV29y
a2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbCAqLywKKwkJCQk0MThGQ0JFRDI3MTVC
ODUyMDBGOTZFQ0EgLyogV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwICovLAor
CQkJCTQxOEZDQkVDMjcxNUI4NTEwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFi
aWxpdGllcy5oICovLAogCQkJKTsKIAkJCXBhdGggPSBtZWRpYWNhcGFiaWxpdGllczsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDgyNDcyNzc5OTA2ZGM3ODk1MWIzYWEwMmRkMTJjYjhjMDZmOGIzMzguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oCisrKyAvZGV2L251bGwKQEAgLTEs
NTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUFM
V0FZU19JTkxJTkUgYm9vbCBKU01lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvSXNFbmFibGVk
KCkKLXsKLSNpZiBFTkFCTEUoV0VCX1JUQykKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbHNlCi0gICAg
cmV0dXJuIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0VuY29kaW5nQ29uZmln
dXJhdGlvbkZhY3RvcnkoKTsKLSNlbmRpZgotfQotCi1BTFdBWVNfSU5MSU5FIGJvb2wgSlNNZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mb0lzRW5hYmxlZCgpCi17Ci0jaWYgRU5BQkxFKFdFQl9S
VEMpCi0gICAgcmV0dXJuIHRydWU7Ci0jZWxzZQotICAgIHJldHVybiBNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5OjpoYXNEZWNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0b3J5KCk7Ci0jZW5k
aWYKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
Y3BwCmluZGV4IGQyNGIwMWI3NzM2YzVjYjU4ZjY5YTdkOThkNmM0YjcwYjY0OThiYzMuLjkwNDY2
ZGY1NTE1MGZmNTg4ODBhM2JkODAxMTJlMjkzMWM3ODBmZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTY4Miw0ICs2ODIsMjcgQEAgYm9v
bCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjplbnN1cmVPbkNvbnRleHRUaHJlYWQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0Ojpwb3N0VGFza1RvUmVzcG9uc2libGVEb2N1bWVudChGdW5jdGlvbjx2
b2lkKERvY3VtZW50Jik+JiYgY2FsbGJhY2spCit7CisgICAgaWYgKGlzPERvY3VtZW50Pih0aGlz
KSkgeworICAgICAgICBjYWxsYmFjayhkb3duY2FzdDxEb2N1bWVudD4oKnRoaXMpKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIEFTU0VSVChpczxXb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZT4odGhpcykpOworICAgIGlmICghaXM8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KHRo
aXMpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvKiB0aHJlYWQgPSBkb3duY2FzdDxXb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZT4odGhpcyktPndvcmtlck9yV29ya2xldFRocmVhZCgpOwor
ICAgIGlmICh0aHJlYWQpIHsKKyAgICAgICAgdGhyZWFkLT53b3JrZXJMb2FkZXJQcm94eSgpLnBv
c3RUYXNrVG9Mb2FkZXIoW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiBjb250
ZXh0KSB7CisgICAgICAgICAgICBjYWxsYmFjayhkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkp
OworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdXRvIGRv
Y3VtZW50ID0gZG93bmNhc3Q8V29ya2xldEdsb2JhbFNjb3BlPih0aGlzKS0+cmVzcG9uc2libGVE
b2N1bWVudCgpKQorICAgICAgICBjYWxsYmFjaygqZG9jdW1lbnQpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aAppbmRleCAxNmM4NjZmMzk0ODZhZGQxZWRhM2RhMzIwYjUxMDQ2ZDI1YzMwNDVlLi4yNWZiMDBl
NjEzMjNlOTgyOTYwYTI4NTBkN2UxMzdiZjUyNmJhNmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTIyMyw2ICsyMjMsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIH0pOwogICAgIH0KIAorICAgIHZvaWQgcG9zdFRhc2tUb1Jlc3BvbnNpYmxlRG9jdW1l
bnQoRnVuY3Rpb248dm9pZChEb2N1bWVudCYpPiYmKTsKKwogICAgIC8vIEdldHMgdGhlIG5leHQg
aWQgaW4gYSBjaXJjdWxhciBzZXF1ZW5jZSBmcm9tIDEgdG8gMl4zMS0xLgogICAgIGludCBjaXJj
dWxhclNlcXVlbnRpYWxJRCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaAppbmRleCA0Y2ViMWQxMTcyYTA3MzQ1
YjhkM2YxNmVhZjUwMTExZDQ5NjU1MDc0Li5mZTQwMzk3OGY5OGM3ZWYzMTFiNTIyOGNlYjhiNDJi
MWJmYmQ1ZDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFi
aWxpdGllc0RlY29kaW5nSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKQEAgLTQ3LDEwICs0NywxNyBAQCBzdHJ1Y3QgTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gOiBNZWRpYUNhcGFiaWxpdGllc0luZm8gewogCiAg
ICAgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKIAor
ICAgIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIGlzb2xhdGVkQ29weSgpIGNvbnN0Owor
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5l
IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IE1lZGlhQ2FwYWJpbGl0
aWVzSW5mbzo6aXNvbGF0ZWRDb3B5KCksIHN1cHBvcnRlZENvbmZpZ3VyYXRpb24uaXNvbGF0ZWRD
b3B5KCkgfTsKK30KKwogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFDYXBhYmls
aXRpZXNEZWNvZGluZ0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvLmgKaW5kZXggYWQ3MjlhMDE2ZjZiM2QxNmYyNWViMGRhZTk4MmZjYmM3MmUyMjk2Yy4u
YzJiMjUwOTBmMDUyMmQ1ZGNkNmY1MWI1NGJhYzI5YWRiM2JkMzFiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5o
CkBAIC00NywxMCArNDcsMTcgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZv
IDogTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKIAogICAgIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uIHN1cHBvcnRlZENvbmZpZ3VyYXRpb247CiAKKyAgICBNZWRpYUNhcGFiaWxpdGllc0VuY29k
aW5nSW5mbyBpc29sYXRlZENvcHkoKSBjb25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4g
ZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5n
SW5mbyBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzo6aXNvbGF0ZWRDb3B5KCkgY29uc3QK
K3sKKyAgICByZXR1cm4geyBNZWRpYUNhcGFiaWxpdGllc0luZm86Omlzb2xhdGVkQ29weSgpLCBz
dXBwb3J0ZWRDb25maWd1cmF0aW9uLmlzb2xhdGVkQ29weSgpIH07Cit9CisKIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+CiB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjplbmNvZGUo
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgKaW5kZXggMTIyMGVjNTRiMjgwOGZlZTcwZTgwYjQ3Yzli
YWY5YzdiNmNkZDMxYS4uYTgzN2NjNWQ5OWIxYmY2NTBkMmY3MWQ2YTQ4ZGY2NTA0YTM5ODlhYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZv
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgK
QEAgLTM0LDEwICszNCwxNyBAQCBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKICAgICBi
b29sIHNtb290aCB7IGZhbHNlIH07CiAgICAgYm9vbCBwb3dlckVmZmljaWVudCB7IGZhbHNlIH07
CiAKKyAgICBNZWRpYUNhcGFiaWxpdGllc0luZm8gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFDYXBh
YmlsaXRpZXNJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5lIE1lZGlhQ2FwYWJp
bGl0aWVzSW5mbyBNZWRpYUNhcGFiaWxpdGllc0luZm86Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuICp0aGlzOworfQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBN
ZWRpYUNhcGFiaWxpdGllc0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVk
aW9Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaAppbmRleCA0ZmIwZjNiODBkMGU2ZDA3NmM2NDc4M2E3
NDRkY2IwYWIzYzU4YjFiLi42ZTFlOGQxZmNiYTc4OTBkOTY0NzYwZTg0MzYxYTU1ZjEwOThiNzlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9B
dWRpb0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaApAQCAtMzYsMTAgKzM2LDE3IEBAIHN0cnVj
dCBBdWRpb0NvbmZpZ3VyYXRpb24gewogICAgIHN0ZDo6b3B0aW9uYWw8dWludDMyX3Q+IHNhbXBs
ZXJhdGU7CiAgICAgc3RkOjpvcHRpb25hbDxib29sPiBzcGF0aWFsUmVuZGVyaW5nOwogCisgICAg
QXVkaW9Db25maWd1cmF0aW9uIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4g
ZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBBdWRpb0NvbmZpZ3VyYXRpb24gQXVkaW9D
b25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IGNvbnRl
bnRUeXBlLmlzb2xhdGVkQ29weSgpLCBjaGFubmVscy5pc29sYXRlZENvcHkoKSwgYml0cmF0ZSwg
c2FtcGxlcmF0ZSwgc3BhdGlhbFJlbmRlcmluZyB9OworfQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPgogdm9pZCBBdWRpb0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmls
aXRpZXMvTWVkaWFDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaAppbmRleCAyYzNiMTc1OGY3MzJjZTk5
OGQ3YjA1YTQxNGU0ZjliNmZkNTVjZThiLi5lZmFjNGM3OTRkY2ZlYjQ3MzE1NmJkM2Y0NWZkZTU5
Y2ZmZjA4NTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaApAQCAtMjcsNiArMjcsNyBA
QAogCiAjaW5jbHVkZSAiQXVkaW9Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiVmlkZW9Db25m
aWd1cmF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzQsMTAgKzM1LDE3IEBAIHN0cnVjdCBNZWRpYUNvbmZpZ3Vy
YXRpb24gewogICAgIHN0ZDo6b3B0aW9uYWw8VmlkZW9Db25maWd1cmF0aW9uPiB2aWRlbzsKICAg
ICBzdGQ6Om9wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4gYXVkaW87CiAKKyAgICBNZWRpYUNv
bmZpZ3VyYXRpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFDb25maWd1cmF0aW9uPiBkZWNvZGUo
RGVjb2RlciYpOwogfTsKIAoraW5saW5lIE1lZGlhQ29uZmlndXJhdGlvbiBNZWRpYUNvbmZpZ3Vy
YXRpb246Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgY3Jvc3NUaHJlYWRD
b3B5KHZpZGVvKSwgIGNyb3NzVGhyZWFkQ29weShhdWRpbykgfTsKK30KKwogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5o
CmluZGV4IGZlYmM4YWRmM2E0MjRjY2UzMmFkNWMxOGJhM2RjMjUwZTdmY2FlZjAuLjNlOWIzNGJh
ZjNhYzRhMzA4OWU0NzEyZmUzNjM1ZTNmODg4ZTc0MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24uaApAQCAtMzUsMTAgKzM1LDE3IEBAIHN0cnVjdCBNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiA6IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAKICAgICBib29sIGNh
bkV4cG9zZVZQOSB7IHRydWUgfTsKIAorICAgIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIGlz
b2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBl
bmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2Rl
ciYpOwogfTsKIAoraW5saW5lIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IE1l
ZGlhQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCksIHR5cGUsIGNhbkV4cG9zZVZQOSB9Owor
fQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaAppbmRleCAxOWI3Zjc0YzJkMTU4ZDUxZWQ5OTU3MjI0
MzRjOTU0MzkzZWM1ZjBkLi41OTY4MTc3ODI0MzU3NGMyMTM1MGM1MTBmZGEyMTc0MmM4OGZkNWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgKQEAgLTMzLDEw
ICszMywxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZp
Z3VyYXRpb24gOiBNZWRpYUNvbmZpZ3VyYXRpb24gewogICAgIE1lZGlhRW5jb2RpbmdUeXBlIHR5
cGU7CiAKKyAgICBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBpc29sYXRlZENvcHkoKSBjb25z
dDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBj
b25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxN
ZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGlu
ZSBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6
aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyBNZWRpYUNvbmZpZ3VyYXRpb246
Omlzb2xhdGVkQ29weSgpLCB0eXBlIH07Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2
b2lkIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgKaW5kZXggNjBmOWYzMzNjYmE3MjE1
NjdhMWM4N2FlODFlMjRhZTI0NmM1ZDU2Ni4uZTg2MzFmMmNmMTc2N2VhZmI4NWQ1NTZhMGRlN2Iy
NTRjMDViMmI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBh
YmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgKQEAgLTQzLDEwICs0Mywx
NyBAQCBzdHJ1Y3QgVmlkZW9Db25maWd1cmF0aW9uIHsKICAgICBzdGQ6Om9wdGlvbmFsPEhkck1l
dGFkYXRhVHlwZT4gaGRyTWV0YWRhdGFUeXBlOwogICAgIHN0ZDo6b3B0aW9uYWw8VHJhbnNmZXJG
dW5jdGlvbj4gdHJhbnNmZXJGdW5jdGlvbjsKIAorICAgIFZpZGVvQ29uZmlndXJhdGlvbiBpc29s
YXRlZENvcHkoKSBjb25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMg
c3RkOjpvcHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9Owog
CitpbmxpbmUgVmlkZW9Db25maWd1cmF0aW9uIFZpZGVvQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRD
b3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyBjb250ZW50VHlwZS5pc29sYXRlZENvcHkoKSwg
d2lkdGgsIGhlaWdodCwgYml0cmF0ZSwgZnJhbWVyYXRlLCBhbHBoYUNoYW5uZWwsIGNvbG9yR2Ft
dXQsIGhkck1ldGFkYXRhVHlwZSwgdHJhbnNmZXJGdW5jdGlvbiB9OworfQorCiB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPgogdm9pZCBWaWRlb0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOWM4NGQ4
MDgyMmE2ZWM4NjRlMTIyZDM4NmQwMjc1NDEzZjgzZTYyOS4uMWI3MDA3MDQ1OWViNDNmNjA1MjQ2
YzM4NjMyYjkzYzYyMDZhMTE5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMjEtMTAtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEV4cG9zZSBNZWRpYUNhcGFiaWxpdGllcyB0byBXb3JrZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE1NzQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBydW5uaW5nIGVu
Y29kaW5nIHRlc3RzIGluIHdvcmtlcnMgYXMgd2VsbCBhcyBpbiB3aW5kb3cuCisKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5h
bnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9lbmNvZGluZ0luZm8uYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3Rl
ZDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2VuY29kaW5nSW5mby5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dDoKKwogMjAyMS0xMC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgR3VhcmFudGVlIG9yZGVyIG9mIFdlYlNvY2tldCBldmVudHMgaW4gY2FzZSBvZiBiZWlu
ZyByZXN1bWVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndvcmtlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5k
ZXggODEyODBmMjIwZmViZWJjZDZhYTg0ZjdhMGIwN2UwZmIyM2Y3ODY3NC4uMTU2NTk0YjFiYWZj
YTQ5YzI2NWNlMjIwY2I4ZWI2ZDBjMDZlMWRiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJ
bmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzMSArMSwzMSBAQAogCi1GQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdldCBhIGNvbmZpZ3VyYXRpb24gdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZCB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVk
aWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1
cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUgdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwIHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkgdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZSB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBl
IHZpZGVvIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBt
b3JlIHRoYW4gb25lIHBhcmFtZXRlciB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBj
b250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcyB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZy
YW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJ
TCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0g
b2YgeC8wIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveSB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9m
IHgvLXkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8gdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycyB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8g
Y29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UgdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlv
IGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJh
bWV0ZXJzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBv
bmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykK
LUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmls
aXRpZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5v
dCBoYXZlIGEgdmFsaWQgdHlwZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gd2l0aCBzcGF0aWFsUmVuZGVyaW5nIHNldCByZXR1cm5zIGEgdmFs
aWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8n
KQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggaGRyTWV0YWRhdGFUeXBlLCBjb2xv
ckdhbXV0LCBhbmQgdHJhbnNmZXJGdW5jdGlvbiBzZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2Fw
YWJpbGl0aWVzSW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhh
cyBhbiBlbXB0eSBoZHJNZXRhZGF0YVR5cGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJ
TCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gaGFzIGEgY29sb3JHYW11dCBzZXQgdG8gdHJ1ZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycp
Ci1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0byAzIHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvJykKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNu
J3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZAorUEFTUyBUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBo
YXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNv
bmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVvIGZpZWxkCitQQVNTIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBo
YXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAor
UEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
ZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbworRkFJ
TCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyIGFzc2VydF91bnJlYWNo
ZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVj
cworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJl
amVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQorUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgveQorUEFTUyBUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8t
eQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVy
YXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMKK1BBU1MgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlblR5cGUg
ZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbworRkFJ
TCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyBhc3NlcnRfdW5yZWFj
aGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2Rl
Y3MKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBh
YmlsaXRpZXNJbmZvIG9iamVjdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIgYnV0
IGdvdCAidW5kZWZpbmVkIgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdHlwZQorRkFJTCBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggc3BhdGlhbFJlbmRlcmluZyBzZXQgcmV0dXJucyBh
IHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyB3aXRoIGhkck1ldGFkYXRhVHlwZSwgY29sb3JHYW11dCwgYW5kIHRyYW5zZmVyRnVuY3Rp
b24gc2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitQQVNTIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBo
YXMgYW4gZW1wdHkgaGRyTWV0YWRhdGFUeXBlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBjb2xvckdhbXV0IHNldCB0
byB0cnVlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0byAzCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8t
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2U3NWIyN2QwZDc2
MTQwYmE3MjVkYjVjYmUyNjNmYTcyMTBiNGE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0KLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgotUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxp
ZAotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmln
dXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZp
ZGVvIGZpZWxkCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKLVBBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZy
YW1lcmF0ZSBzZXQgdG8gMAotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQot
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qg
b2YgdHlwZSB2aWRlbwotRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1l
dGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRl
ciB0aGF0IGlzbid0IGNvZGVjcwotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0
cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95Ci1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKLVBBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQotUEFT
UyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0g
b2YgLXgveQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUg
aW4gdGhlIGZvcm0gb2YgeC8teQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0
cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
bygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMK
LVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1
cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qg
b2YgdHlwZSBhdWRpbwotRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1l
dGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0
ZXIgdGhhdCBpc24ndCBjb2RlY3MKLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5z
IGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9yIHJlY29yZCB0eXBlCi1Q
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0
aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29k
aW5nSW5mby5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1Y2JlMjYzZmE3MjEwYjRh
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMjYgQEAKKworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMg
aWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uCitQQVNTIFRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGlzbid0IHZhbGlkCitQQVNT
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9u
IGRvZXMgbm90IGhhdmUgYSB0eXBlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmll
bGQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25m
aWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZQorUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRl
IHNldCB0byAwCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5CitQQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBj
b250ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBl
IHZpZGVvCitGQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIgYXNz
ZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQg
aXNuJ3QgY29kZWNzCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJl
amVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvMAorUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95CitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUg
Zm9ybSBvZiB4Ly15CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiB4LworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycworUEFTUyBU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24g
Y29udGVuVHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBl
IGF1ZGlvCitGQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIGFz
c2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0
IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgYSB2YWxp
ZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBmb3IgcmVjb3JkIHR5cGUKK1BBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9l
cyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZv
LmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5
MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9lbmNvZGluZ0luZm8uYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvZW5jb2RpbmdJbmZvLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjg4MmIwYWU5MTE3YWIyNjhmZjU3MTBmN2Y5YjM5N2IxZGFlZGJiZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuanMKQEAgLTAsMCArMSwzMTAgQEAK
Ky8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBz
cGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1h
bFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2Rl
Y3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0OiA2MDAsCisgIGJp
dHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5pbWFsIFdlYlJUQyBW
aWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRp
b25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsV2VicnRjVmlkZW9D
b25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOScsCisgIHdpZHRoOiA4
MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFtZXJhdGU6IDI0LAor
fTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQg
cGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBt
aW5pbWFsQXVkaW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07
IGNvZGVjcz0ib3B1cyInLAorfTsKKworLy8gTWluaW1hbCBXZWJSVEMgQXVkaW9Db25maWd1cmF0
aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3Bl
cnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiA9
IHsKKyAgY29udGVudFR5cGU6ICdhdWRpby9vcHVzJywKK307CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oKSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5n
SW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbiIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHt9KSk7Cit9LCAiVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNu
J3QgdmFsaWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5n
SW5mbyh7CisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86
IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEg
dHlwZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3Ig
dmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRl
bnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0
aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAg
ZnJhbWVyYXRlOiAtMSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1l
cmF0ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6
ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAs
CisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJh
dGU6IDAsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAiKTsK
KworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8v
d2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAg
aGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiBJbmZp
bml0eSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5p
dHkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pz
KHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAn
Zmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0
cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBj
b250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7
CisgICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL2ZnZW9hJywKKyAgICAgIHdpZHRoOiA4MDAsCisg
ICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6
IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRl
byIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2
aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiOyBmb289ImJhciInLAorICAgICAgd2lk
dGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAg
IGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9y
ZSB0aGFuIG9uZSBwYXJhbWV0ZXIiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAg
ICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgZm9vPSJiYXIiJywKKyAgICAgIHdpZHRoOiA4
MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFt
ZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJh
bWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsK
KyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4Iics
CisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAz
MDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvMTAwMScsCisgICAgfQorICB9KSk7Cit9LCAi
VGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9m
IHgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6
ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAs
CisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJh
dGU6ICcyNDAwMC8wJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
KCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQn
LAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0i
dnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAor
ICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzAvMTAwMDEnLAorICAgIH0K
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBp
biB0aGUgZm9ybSBvZiAwL3kiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAg
IGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAg
ICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAor
ICAgICAgZnJhbWVyYXRlOiAnLTI0MDAwLzEwMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgv
eSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2
aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisg
ICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6
ICcyNDAwMC8tMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15Iik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNv
cmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVj
cz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAw
LAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLycsCisgICAg
fQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRl
IGluIHRoZSBmb3JtIG9mIHgvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAg
ICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAg
ICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwK
KyAgICAgIGZyYW1lcmF0ZTogJzEvM3gnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBl
bmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBj
aGFyYWN0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAn
Zmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6
ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vZmdlb2EnIH0sCisg
IH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyIpOworCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVj
b3JkJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1
cyI7IGZvbz0iYmFyIicgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFu
IG9uZSBwYXJhbWV0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21p
c2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRU
eXBlOiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBl
IGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8o
eworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0
aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICB9KS50aGVuKGFi
aWxpdHkgPT4geworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAi
Ym9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9v
bGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkucG93ZXJFZmZpY2llbnQs
ICJib29sZWFuIik7CisgIH0pOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBh
IHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGZvciByZWNvcmQgdHlwZSIpOwor
Cithc3luY190ZXN0KHQgPT4geworICB2YXIgdmFsaWRUeXBlcyA9IFsgJ3JlY29yZCcsICd3ZWJy
dGMnIF07CisgIHZhciBpbnZhbGlkVHlwZXMgPSBbIHVuZGVmaW5lZCwgbnVsbCwgJycsICdmb29i
YXInLCAnbXNlJywgJ01lZGlhU291cmNlJywKKyAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbGUn
LCAnbWVkaWEtc291cmNlJywgXTsKKworICB2YXIgdmFsaWRQcm9taXNlcyA9IFtdOworICB2YXIg
aW52YWxpZENhdWdodCA9IDA7CisKKyAgdmFsaWRUeXBlcy5mb3JFYWNoKHR5cGUgPT4geworICAg
IHZhbGlkUHJvbWlzZXMucHVzaChuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsKKyAgICAgIHR5cGU6IHR5cGUsCisgICAgICB2aWRlbzogdHlwZSAhPSAid2VicnRjIiA/
IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gOiBtaW5pbWFsV2VicnRjVmlkZW9Db25maWd1cmF0
aW9uLAorICAgICAgYXVkaW86IHR5cGUgIT0gIndlYnJ0YyIgPyBtaW5pbWFsQXVkaW9Db25maWd1
cmF0aW9uIDogbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiwKKyAgICB9KSk7CisgIH0p
OworCisgIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3RlZCB2aWEgUHJvbWlzZS5hbGwodmFsaWRQcm9t
aXNlcykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCisgIC8vIHByb21pc2VzIGZhaWwsIFByb21pc2Uu
YWxsKCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFuaXNtIGNhbid0IGJlIHVzZWQgZm9yCisgIC8v
IGludmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0ZXN0ZWQgaW5kaXZpZHVhbGx5IGFuZCBpbmNy
ZW1lbnQgaW52YWxpZENhdWdodAorICAvLyB3aGVuIHJlamVjdGVkIHVudGlsIHRoZSBhbW91bnQg
b2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVjdGF0aW9uLgorICBQcm9taXNlLmFsbCh2YWxp
ZFByb21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkgeworICAgICAgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgICAgIHR5cGU6IGludmFsaWRUeXBlc1tpXSwK
KyAgICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgICAgIGF1ZGlv
OiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgICAgfSkudGhlbih0LnVucmVhY2hlZF9m
dW5jKCksIHQuc3RlcF9mdW5jKGUgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGUubmFtZSwg
J1R5cGVFcnJvcicpOworICAgICAgICArK2ludmFsaWRDYXVnaHQ7CisgICAgICAgIGlmIChpbnZh
bGlkQ2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5ndGgpCisgICAgICAgICAgdC5kb25lKCk7Cisg
ICAgICB9KSk7CisgICAgfQorICB9KSwgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZS5hbGwgc2hv
dWxkIG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVzJykpOworfSwgIlRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2
YWxpZCB0eXBlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1Y2JlMjYzZmE3MjEwYjRhOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDI2IEBACisKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZAorUEFT
UyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlv
biBkb2VzIG5vdCBoYXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVvIGZp
ZWxkCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0
ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQorUEFTUyBU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
Y29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlw
ZSB2aWRlbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVv
IGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyIGFz
c2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0
IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFt
ZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSBy
ZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQorUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgv
eQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgeC8teQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFt
ZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJl
amVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMKK1BBU1Mg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9u
IGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlw
ZSBhdWRpbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlv
IGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyBh
c3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhh
dCBpc24ndCBjb2RlY3MKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIGEgdmFs
aWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9yIHJlY29yZCB0eXBlCitQQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRv
ZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5m
by5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5j
b2RpbmdJbmZvLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZjMmYwZjVhZGQz
M2E3NDBkNzhkYzlhMjAxYzM3ZjhmOTdkOTI4NjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwzMTggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+TWVkaWFDYXBhYmls
aXRpZXMuZW5jb2RpbmdJbmZvKCk8L3RpdGxlPgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcz48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLS8vIE1pbmltYWwgVmlkZW9Db25maWd1
cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKLS8vIHBy
b3BlcnRpZXMgYXJlIG1pc3NpbmcuCi12YXIgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsK
LSAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKLSAg
d2lkdGg6IDgwMCwKLSAgaGVpZ2h0OiA2MDAsCi0gIGJpdHJhdGU6IDMwMDAsCi0gIGZyYW1lcmF0
ZTogMjQsCi19OwotCi0vLyBNaW5pbWFsIFdlYlJUQyBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3
aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAotLy8gcHJvcGVydGllcyBhcmUg
bWlzc2luZy4KLXZhciBtaW5pbWFsV2VicnRjVmlkZW9Db25maWd1cmF0aW9uID0gewotICBjb250
ZW50VHlwZTogJ3ZpZGVvL1ZQOScsCi0gIHdpZHRoOiA4MDAsCi0gIGhlaWdodDogNjAwLAotICBi
aXRyYXRlOiAzMDAwLAotICBmcmFtZXJhdGU6IDI0LAotfTsKLQotLy8gTWluaW1hbCBBdWRpb0Nv
bmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAot
Ly8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KLXZhciBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9u
ID0gewotICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAotfTsKLQot
Ly8gTWluaW1hbCBXZWJSVEMgQXVkaW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2Vk
IHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKLS8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCi12YXIg
bWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiA9IHsKLSAgY29udGVudFR5cGU6ICdhdWRp
by9vcHVzJywKLX07Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oKSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNu
J3QgZ2V0IGEgY29uZmlndXJhdGlvbiIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVy
biBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZW5jb2RpbmdJbmZvKHt9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQiKTsKLQotcHJvbWlzZV90
ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdmlkZW86IG1pbmlt
YWxWaWRlb0NvbmZpZ3VyYXRpb24sCi0gICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRp
b24sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1l
ZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZSIpOwotCi1wcm9taXNlX3Rlc3Qo
dCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywK
LSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmln
dXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQiKTsKLQotcHJvbWlz
ZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3Jl
Y29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2
MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiAtMSwKLSAgICB9LAot
ICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBj
b25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZSIpOwotCi1wcm9taXNlX3Rlc3Qo
dCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywK
LSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZw
MDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwKLSAg
ICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6IDAsCi0gICAgfSwKLSAgfSkpOwot
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewot
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlk
ZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEw
LjA4IicsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRy
YXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiBJbmZpbml0eSwKLSAgICB9LAotICB9KSk7Ci19
LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkiKTsKLQotcHJvbWlzZV90ZXN0KHQg
PT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0g
ICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAnZmdlb2EnLAotICAgICAgd2lkdGg6IDgw
MCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZyYW1l
cmF0ZTogMjQsCi0gICAgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNl
Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewot
ICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAgICBjb250ZW50VHlwZTogJ2F1
ZGlvL2ZnZW9hJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwKLSAgICAg
IGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6IDI0LAotICAgIH0sCi0gIH0pKTsKLX0s
ICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbyIpOwotCi1wcm9taXNlX3Rlc3QodCA9
PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAg
ICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDku
MDAuMTAuMDgiOyBmb289ImJhciInLAotICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDog
NjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZyYW1lcmF0ZTogMjQsCi0gICAgfSwK
LSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIiKTsK
LQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAg
dHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8v
d2VibTsgZm9vPSJiYXIiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwK
LSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6IDI0LAotICAgIH0sCi0gIH0p
KTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3Mi
KTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0g
ICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAndmlk
ZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAwLAotICAg
ICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiAn
MjQwMDAvMTAwMScsCi0gICAgfQotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygp
IHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgveSIpOwotCi1wcm9taXNlX3Rlc3Qo
dCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywK
LSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZw
MDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwKLSAg
ICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6ICcyNDAwMC8wJywKLSAgICB9Ci0g
IH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4g
dGhlIGZvcm0gb2YgeC8wIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21p
c2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAgICBj
b250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAotICAgICAg
d2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAg
ICAgIGZyYW1lcmF0ZTogJzAvMTAwMDEnLAotICAgIH0KLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBl
bmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kiKTsKLQot
cHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVF
cnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlw
ZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2Vi
bTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVp
Z2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiAnLTI0MDAw
LzEwMDAxJywKLSAgICB9Ci0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgveSIpOwotCi1wcm9taXNlX3Rlc3QodCA9
PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAg
ICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDku
MDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwKLSAgICAg
IGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6ICcyNDAwMC8tMTAwMDEnLAotICAgIH0K
LSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBp
biB0aGUgZm9ybSBvZiB4Ly15Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAg
ICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAotICAg
ICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwK
LSAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLycsCi0gICAgfQotICB9KSk7Ci19LCAiVGVzdCB0aGF0
IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvIik7Ci0K
LXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBl
RXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5
cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dl
Ym07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAotICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhl
aWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZyYW1lcmF0ZTogJzEvM3gn
LAotICAgIH0KLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZy
YW1lcmF0ZSB3aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzIik7Ci0KLXByb21pc2Vf
dGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNv
cmQnLAotICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCi0gIH0pKTsKLX0sICJU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24g
Y29udGVuVHlwZSBkb2Vzbid0IHBhcnNlIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIGF1ZGlvOiB7
IGNvbnRlbnRUeXBlOiAndmlkZW8vZmdlb2EnIH0sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
aXNuJ3Qgb2YgdHlwZSBhdWRpbyIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBw
cm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAgICBhdWRpbzogeyBjb250
ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyI7IGZvbz0iYmFyIicgfSwKLSAgfSkp
OwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmln
dXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIik7Ci0KLXBy
b21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6
ICdyZWNvcmQnLAotICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgZm9vPSJi
YXIiJyB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQg
aXNuJ3QgY29kZWNzIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAot
ICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAotICAgIGF1ZGlvOiBtaW5pbWFs
QXVkaW9Db25maWd1cmF0aW9uLAotICB9KS50aGVuKGFiaWxpdHkgPT4gewotICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOwotICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOwotICAgIGFzc2VydF9lcXVh
bHModHlwZW9mIGFiaWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7Ci0gIH0pOwotfSwg
IlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVz
SW5mbyBvYmplY3RzIGZvciByZWNvcmQgdHlwZSIpOwotCi1hc3luY190ZXN0KHQgPT4gewotICB2
YXIgdmFsaWRUeXBlcyA9IFsgJ3JlY29yZCcsICd3ZWJydGMnIF07Ci0gIHZhciBpbnZhbGlkVHlw
ZXMgPSBbIHVuZGVmaW5lZCwgbnVsbCwgJycsICdmb29iYXInLCAnbXNlJywgJ01lZGlhU291cmNl
JywKLSAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbGUnLCAnbWVkaWEtc291cmNlJywgXTsKLQot
ICB2YXIgdmFsaWRQcm9taXNlcyA9IFtdOwotICB2YXIgaW52YWxpZENhdWdodCA9IDA7Ci0KLSAg
dmFsaWRUeXBlcy5mb3JFYWNoKHR5cGUgPT4gewotICAgIHZhbGlkUHJvbWlzZXMucHVzaChuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICAgIHR5cGU6IHR5cGUs
Ci0gICAgICB2aWRlbzogdHlwZSAhPSAid2VicnRjIiA/IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRp
b24gOiBtaW5pbWFsV2VicnRjVmlkZW9Db25maWd1cmF0aW9uLAotICAgICAgYXVkaW86IHR5cGUg
IT0gIndlYnJ0YyIgPyBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uIDogbWluaW1hbFdlYnJ0Y0F1
ZGlvQ29uZmlndXJhdGlvbiwKLSAgICB9KSk7Ci0gIH0pOwotCi0gIC8vIHZhbGlkVHlwZXMgYXJl
IHRlc3RlZCB2aWEgUHJvbWlzZS5hbGwodmFsaWRQcm9taXNlcykgYmVjYXVzZSBpZiBvbmUgb2Yg
dGhlCi0gIC8vIHByb21pc2VzIGZhaWwsIFByb21pc2UuYWxsKCkgd2lsbCByZWplY3QuIFRoaXMg
bWVjaGFuaXNtIGNhbid0IGJlIHVzZWQgZm9yCi0gIC8vIGludmFsaWQgdHlwZXMgd2hpY2ggd2ls
bCBiZSB0ZXN0ZWQgaW5kaXZpZHVhbGx5IGFuZCBpbmNyZW1lbnQgaW52YWxpZENhdWdodAotICAv
LyB3aGVuIHJlamVjdGVkIHVudGlsIHRoZSBhbW91bnQgb2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhl
IGV4cGVjdGF0aW9uLgotICBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKS50aGVuKHQuc3RlcF9m
dW5jKCgpID0+IHsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGludmFsaWRUeXBlcy5sZW5ndGg7
ICsraSkgewotICAgICAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
Ci0gICAgICAgIHR5cGU6IGludmFsaWRUeXBlc1tpXSwKLSAgICAgICAgdmlkZW86IG1pbmltYWxW
aWRlb0NvbmZpZ3VyYXRpb24sCi0gICAgICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0
aW9uLAotICAgICAgfSkudGhlbih0LnVucmVhY2hlZF9mdW5jKCksIHQuc3RlcF9mdW5jKGUgPT4g
ewotICAgICAgICBhc3NlcnRfZXF1YWxzKGUubmFtZSwgJ1R5cGVFcnJvcicpOwotICAgICAgICAr
K2ludmFsaWRDYXVnaHQ7Ci0gICAgICAgIGlmIChpbnZhbGlkQ2F1Z2h0ID09IGludmFsaWRUeXBl
cy5sZW5ndGgpCi0gICAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KSk7Ci0gICAgfQotICB9KSwg
dC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZS5hbGwgc2hvdWxkIG5vdCByZWplY3QgZm9yIHZhbGlk
IHR5cGVzJykpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVk
aWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlIik7Ci0KLTwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNjcwMDgyODg3
MGNlMWYxNTlmNDAzMGFlYTM0YzY2Yzc4ZTE2N2E5MS4uM2I2NzE5MDA0ZGI5ZGQzMThkY2ZhYjdk
ODRhOTNkZWIyNzEyMzJhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CkBAIC0yMCwyMCArMjAsMjAgQEAgUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2
aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdvcmtlck5hdmlnYXRvciBp
bmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1Mg
V29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJl
bnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKLUZBSUwgTWVkaWFDYXBhYmlsaXRp
ZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJN
ZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBt
aXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlh
Q2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3Np
bmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJp
bGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZB
SUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGll
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVj
dGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFi
aWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMi
IGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBNZWRp
YUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWNvZGluZ0luZm8oTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24pIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVk
aWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNl
OiBvcGVyYXRpb24gZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNh
cGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5n
Ci1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmpl
Y3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBTdHJpbmdpZmlj
YXRpb24gb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGFzc2VydF9lcXVhbHM6IHdyb25n
IHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJ
TCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbikiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVv
ZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBNZWRp
YUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGNhbGxpbmcgZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0
eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwg
TWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3Vy
YXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Yg
b2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgTWVkaWFD
YXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlw
ZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFdv
cmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYUNhcGFiaWxpdGllcyBhc3Nl
cnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm1lZGlh
Q2FwYWJpbGl0aWVzIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBXb3JrZXJOYXZpZ2F0
b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtZWRpYUNhcGFi
aWxpdGllcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAi
bWVkaWFDYXBhYmlsaXRpZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgTWVk
aWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdAorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aAorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1Mg
TWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24p
CitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogb3BlcmF0aW9uIGVuY29kaW5nSW5m
byhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMKK1BB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcworUEFTUyBN
ZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbikiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVy
ZmFjZTogY2FsbGluZyBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIG9u
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3Qg
dGhyb3cgVHlwZUVycm9yCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZW5jb2RpbmdJbmZv
KE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1Mg
TWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGVuY29kaW5nSW5mbyhNZWRpYUVu
Y29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IKK1BBU1MgV29ya2VyTmF2aWdh
dG9yIGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhQ2FwYWJpbGl0aWVzCitQQVNTIFdvcmtlck5h
dmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm1lZGlh
Q2FwYWJpbGl0aWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441369</attachid>
            <date>2021-10-15 06:09:44 -0700</date>
            <delta_ts>2021-10-15 06:38:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231574-20211015150941.patch</filename>
            <type>text/plain</type>
            <size>90069</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdjNGRlNjNlYjFlNDY2
M2QwNWU4Yzc0MWNmOWY4YjdjMDQ2ZTVmMi4uNWYxNGNiMWY2NmM1MzQ4Yzg4MGUxOTRmNTIwYzRl
NWQzNGIzZTZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgTWVkaWFDYXBh
YmlsaXRpZXMgdG8gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxNTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRXhwb3NlIE1lZGlhIENhcGFiaWxpdGllcyB0byB3b3JrZXJzIGJ5IGhvcHBp
bmcgdG8gbWFpbiB0aHJlYWQgYW5kIHVzaW5nIHdvcmtlciByZXNwb25zaWJsZSBkb2N1bWVudCBm
b3IgZ2F0aGVyaW5nIE1lZGlhIENhcGFiaWxpdGllcywgdGhlbiBob3BwaW5nIGJhY2sgdG8gd29y
a2VyLgorICAgICAgICBNZWRpYUNhcGFiaWxpdGllcyB3aWxsIHN0b3JlIHRoZSBwcm9taXNlcyB3
aGVuIHdhaXRpbmcgZm9yIG1lZGlhIGNhcGFiaWxpdGllcyBnYXRoZXJpbmcgYnkgZG9jdW1lbnQu
CisKKyAgICAgICAgV2UgcmVtb3ZlIEN1c3RvbUVuYWJsZWQgc2luY2UgaXQgaXMgbm90IHN1cHBv
cnRlZCBpbiBXb3JrZXJzIGFuZCB3ZSBhcmUgbm93IGV4cG9zaW5nIGVuY29kaW5nIGluZm8gZm9y
IFdlYlJUQyBhbnl3YXkuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL05hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmln
YXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5oOiBBZGRlZC4K
KyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgor
ICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9N
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlh
Q2FwYWJpbGl0aWVzSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L0F1ZGlvQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaDoKKwogMjAy
MS0xMC0xNSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAg
ICAgW1dlYklETF0gSlNET01CdWlsdGluQ29uc3RydWN0b3IgaW5zdGFuY2VzIHNob3VsZCBzdXBw
b3J0IHN1YmNsYXNzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDIzMTJjNGJmNjdlM2IzMWZl
MjdkMzIwN2E3ZTc0MjlhMjdlYjExNzcuLjFmMTQwMjBkZGM0N2M5N2Q3OGE3ODcwMDRiMzczMGYw
Zjk1NDBiZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zNDUsNiArMzQ1LDcgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwKICAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0
aWVzL1RyYW5zZmVyRnVuY3Rpb24uaWRsCiAgICAgTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9W
aWRlb0NvbmZpZ3VyYXRpb24uaWRsCisgICAgTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3Jr
ZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsCiAKICAgICBNb2R1bGVzL21lZGlhY29u
dHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDRjYWI3MzM5OGVjM2VjNzU2N2VmYjFhNzdm
MTgyZTRlOGJhNTYyODIuLjM0OWJiMDRjN2QyYjQ1Yzg1YjMzNTM3MDFjOTdlNGRmMTdmYjI2Yjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApA
QCAtMTc3LDYgKzE3Nyw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFFbmNvZGluZ1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL05hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3Ir
TWVkaWFDYXBhYmlsaXRpZXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhY29udHJv
bHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhcmVj
b3JkZXIvQmxvYkV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXIuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDRhMGI4NmYzNWVmNWRkNGMzMTQ2ZjkxM2E1NmNlYzJhZjI2
YjVhYjguLjk3NjIzMTRhYjJlZDZiMzI4ODViN2Q2MzI2MmRkMjEyMjhkMzYzYmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yNDg1
LDYgKzI0ODUsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dvcmtlckdsb2JhbFNjb3BlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckxvY2F0aW9uLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJMb2NhdGlvbi5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlck5hdmln
YXRvcitNZWRpYUNhcGFiaWxpdGllcy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyTmF2aWdh
dG9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
b3JrZXJOYXZpZ2F0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNXb3JrZXJPcHRpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggNWM3NzNhNDg5ZGExOWNjMjA4NWVjY2U3MTNlYjAwN2IyMDBmODg1Mi4uMTU5OTRhYmMyMjFh
NzY1ODQ5YzRhNTkwYzQ5NmRmMTYwMjk0YWExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0yMDMsNiArMjAzLDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVz
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5zZmVy
RnVuY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMv
VmlkZW9Db25maWd1cmF0aW9uLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvQmxvYkV2ZW50LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNh
cGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAzZGNiNjUyZTM2NTJhNTNlMjRlOTVkMTg5ZWJm
MTc5NDc0MmNhNmViLi4wNGU0YjBlZTIwZGNmYzgzM2UyYzg2NTIwMTliNzc3MTFmNmM1Nzc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcApAQCAtMTY4LDE0ICsxNjgsNTQgQEAgc3RhdGlj
IGJvb2wgaXNWYWxpZE1lZGlhQ29uZmlndXJhdGlvbihjb25zdCBNZWRpYUNvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgTWVkaWFDYXBhYmls
aXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNl
KQorc3RhdGljIHZvaWQgZ2F0aGVyRGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNr
KQoreworICAgIFJFTEVBU0VfTE9HX0lORk8oTWVkaWEsICJHYXRoZXJpbmcgZGVjb2RpbmcgTWVk
aWFDYXBhYmlsaXRpZXMiKTsKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpE
ZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBkZWNvZGluZ0NhbGxiYWNrID0gW2NhbGxiYWNr
ID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAgICBS
RUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiRmluaXNoZWQgZ2F0aGVyaW5nIGRlY29kaW5nIE1lZGlh
Q2FwYWJpbGl0aWVzIik7CisgICAgICAgIGNhbGxiYWNrKFdURk1vdmUocmVzdWx0KSk7CisgICAg
fTsKKworICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS5tZWRpYUNhcGFiaWxpdGllc0V4dGVu
c2lvbnNFbmFibGVkKCkgJiYgY29uZmlndXJhdGlvbi52aWRlbykKKyAgICAgICAgY29uZmlndXJh
dGlvbi52aWRlby52YWx1ZSgpLmFscGhhQ2hhbm5lbC5yZXNldCgpOworCisjaWYgRU5BQkxFKFZQ
OSkKKyAgICBjb25maWd1cmF0aW9uLmNhbkV4cG9zZVZQOSA9IGRvY3VtZW50LnNldHRpbmdzKCku
dnA5RGVjb2RlckVuYWJsZWQoKTsKKyNlbmRpZgorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisgICAg
aWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYURlY29kaW5nVHlwZTo6V2ViUlRDKSB7Cisg
ICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQucGFnZSgpKQorICAgICAgICAgICAgcGFn
ZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5jcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92
ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShkZWNvZGluZ0NhbGxiYWNrKSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisjZW5kaWYKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
OjpjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RG
TW92ZShkZWNvZGluZ0NhbGxiYWNrKSk7Cit9CisKK3N0YXRpYyB2b2lkIGdhdGhlckVuY29kaW5n
SW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYgY29u
ZmlndXJhdGlvbiwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25m
aWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBSRUxFQVNFX0xPR19JTkZPKE1l
ZGlhLCAiR2F0aGVyaW5nIGVuY29kaW5nIE1lZGlhQ2FwYWJpbGl0aWVzIik7CisgICAgTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sg
ZW5jb2RpbmdDYWxsYmFjayA9IFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShhdXRvJiYg
cmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfSU5GTyhNZWRpYSwgIkZpbmlz
aGVkIGdhdGhlcmluZyBlbmNvZGluZyBNZWRpYUNhcGFiaWxpdGllcyIpOworICAgICAgICBjYWxs
YmFjayhXVEZNb3ZlKHJlc3VsdCkpOworICAgIH07CisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKyAg
ICBpZiAoY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlhRW5jb2RpbmdUeXBlOjpXZWJSVEMpIHsK
KyAgICAgICAgaWYgKGF1dG8qIHBhZ2UgPSBkb2N1bWVudC5wYWdlKCkpCisgICAgICAgICAgICBw
YWdlLT5saWJXZWJSVENQcm92aWRlcigpLmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZN
b3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGVuY29kaW5nQ2FsbGJhY2spKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyNlbmRpZgorICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBX
VEZNb3ZlKGVuY29kaW5nQ2FsbGJhY2spKTsKK30KKwordm9pZCBNZWRpYUNhcGFiaWxpdGllczo6
ZGVjb2RpbmdJbmZvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBw
cm9taXNlKQogewogICAgIC8vIDIuNCBNZWRpYSBDYXBhYmlsaXRpZXMgSW50ZXJmYWNlCiAgICAg
Ly8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRpZXMvI21lZGlhLWNhcGFi
aWxpdGllcy1pbnRlcmZhY2UKIAotICAgIGF1dG8gaWRlbnRpZmllciA9IFdURjo6TG9nZ2VyOjpM
b2dTaXRlSWRlbnRpZmllcigiTWVkaWFDYXBhYmlsaXRpZXMiLCBfX2Z1bmNfXywgdGhpcyk7Ci0g
ICAgUmVmPExvZ2dlcj4gbG9nZ2VyID0gZG9jdW1lbnQubG9nZ2VyKCk7Ci0KICAgICAvLyAxLiBJ
ZiBjb25maWd1cmF0aW9uIGlzIG5vdCBhIHZhbGlkIE1lZGlhQ29uZmlndXJhdGlvbiwgcmV0dXJu
IGEgUHJvbWlzZSByZWplY3RlZCB3aXRoIGEgVHlwZUVycm9yLgogICAgIC8vIDIuIElmIGNvbmZp
Z3VyYXRpb24udmlkZW8gaXMgcHJlc2VudCBhbmQgaXMgbm90IGEgdmFsaWQgdmlkZW8gY29uZmln
dXJhdGlvbiwgcmV0dXJuIGEgUHJvbWlzZSByZWplY3RlZCB3aXRoIGEgVHlwZUVycm9yLgogICAg
IC8vIDIuMi4zIElmIGNvbmZpZ3VyYXRpb24gaXMgb2YgdHlwZSBNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vic3RlcHM6CkBAIC0xOTIsNTEgKzIzMiw0MyBA
QCB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50
LCBNZWRpYURlY29kaW5nQ29uZmlndXJhdAogICAgIC8vIGVmZmVjdHMgc3VjaCBhcyBlbmFibGlu
ZyBkaWZmZXJlbnQgZGVjb2RpbmcgbW9kdWxlcy4KICAgICAvLyAzLiBJZiBjb25maWd1cmF0aW9u
LmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIGF1ZGlvIGNvbmZpZ3VyYXRpb24s
IHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICBpZiAoIWlz
VmFsaWRNZWRpYUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbikpIHsKLSNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKLSAgICAgICAgbG9nZ2VyLT5pbmZvKExvZ01lZGlhLCBpZGVudGlmaWVyLCAi
IC0gUmVqZWN0ZWQuIGNvbmZpZ3VyYXRpb246ICIsIGNvbmZpZ3VyYXRpb24pOwotI2VuZGlmCiAg
ICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLm1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5z
aW9uc0VuYWJsZWQoKSAmJiBjb25maWd1cmF0aW9uLnZpZGVvKQotICAgICAgICBjb25maWd1cmF0
aW9uLnZpZGVvLnZhbHVlKCkuYWxwaGFDaGFubmVsLnJlc2V0KCk7Ci0KLSNpZiBFTkFCTEUoVlA5
KQotICAgIGNvbmZpZ3VyYXRpb24uY2FuRXhwb3NlVlA5ID0gZG9jdW1lbnQuc2V0dGluZ3MoKS52
cDlEZWNvZGVyRW5hYmxlZCgpOwotI2VuZGlmCi0KICAgICAvLyA0LiBMZXQgcCBiZSBhIG5ldyBw
cm9taXNlLgogICAgIC8vIDUuIEluIHBhcmFsbGVsLCBydW4gdGhlIGNyZWF0ZSBhIE1lZGlhQ2Fw
YWJpbGl0aWVzSW5mbyBhbGdvcml0aG0gd2l0aCBjb25maWd1cmF0aW9uIGFuZCByZXNvbHZlIHAg
d2l0aCBpdHMgcmVzdWx0LgogICAgIC8vIDYuIFJldHVybiBwLgogCi0gICAgTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgY2FsbGJh
Y2sgPSBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlk
ZW50aWZpZXIpLCBsb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlciksIGRvY3VtZW50ID0gUmVmIHsgZG9j
dW1lbnQgfV0oYXV0byBpbmZvKSBtdXRhYmxlIHsKLSNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
LSAgICAgICAgbG9nZ2VyLT5pbmZvKExvZ01lZGlhLCBpZGVudGlmaWVyLCAiOjpjYWxsYmFjaygp
IC0gUmVzb2x2ZWQuIGluZm86ICIsIGluZm8pOwotI2VuZGlmCi0gICAgICAgIGRvY3VtZW50LT5l
dmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAoKSBtdXRhYmxlIHsKKyAg
ICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25D
YWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgY29udGV4dCA9
IFJlZiB7IGNvbnRleHQgfV0oYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAgICAgICAgY29udGV4dC0+
ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok1lZGlhRWxlbWVudCwgW3Byb21pc2Ug
PSBXVEZNb3ZlKHByb21pc2UpLCBpbmZvID0gV1RGTW92ZShpbmZvKV0gKCkgbXV0YWJsZSB7CiAg
ICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETERpY3Rpb25hcnk8TWVkaWFDYXBhYmlsaXRp
ZXNEZWNvZGluZ0luZm8+PihXVEZNb3ZlKGluZm8pKTsKICAgICAgICAgfSk7CiAgICAgfTsKIAot
I2lmIEVOQUJMRShXRUJfUlRDKQotICAgIGlmIChjb25maWd1cmF0aW9uLnR5cGUgPT0gTWVkaWFE
ZWNvZGluZ1R5cGU6OldlYlJUQykgewotICAgICAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50
LnBhZ2UoKSkKLSAgICAgICAgICAgIHBhZ2UtPmxpYldlYlJUQ1Byb3ZpZGVyKCkuY3JlYXRlRGVj
b2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJh
Y2spKTsKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CisgICAgICAgIGdhdGhlckRl
Y29kaW5nSW5mbyhkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCksIFdURk1vdmUoY29uZmlndXJh
dGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbmRp
ZgotICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZURlY29kaW5nQ29u
ZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisK
KyAgICBtX2RlY29kaW5nVGFza3MuYWRkKCsrbV9uZXh0VGFza0lkZW50aWZpZXIsIFdURk1vdmUo
Y2FsbGJhY2spKTsKKyAgICBjb250ZXh0LnBvc3RUYXNrVG9SZXNwb25zaWJsZURvY3VtZW50KFtj
b25maWd1cmF0aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKS5pc29sYXRlZENvcHkoKSwgY29u
dGV4dElkZW50aWZpZXIgPSBjb250ZXh0LmNvbnRleHRJZGVudGlmaWVyKCksIHdlYWtUaGlzID0g
V2Vha1B0ciB7IHRoaXMgfSwgdGFza0lkZW50aWZpZXIgPSBtX25leHRUYXNrSWRlbnRpZmllcl0o
YXV0byYgZG9jdW1lbnQpIG11dGFibGUgeworICAgICAgICBnYXRoZXJEZWNvZGluZ0luZm8oZG9j
dW1lbnQsIFdURk1vdmUoY29uZmlndXJhdGlvbiksIFtjb250ZXh0SWRlbnRpZmllciwgd2Vha1Ro
aXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgdGFza0lkZW50aWZpZXJdKGF1dG8mJiByZXN1bHQpIG11
dGFibGUgeworICAgICAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cG9zdFRhc2tUbyhj
b250ZXh0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHRhc2tJZGVu
dGlmaWVyLCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCkuaXNvbGF0ZWRDb3B5KCldKGF1dG8mKSBt
dXRhYmxlIHsKKyAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gY2FsbGJhY2sgPSB3ZWFrVGhp
cy0+bV9kZWNvZGluZ1Rhc2tzLnRha2UodGFza0lkZW50aWZpZXIpKQorICAgICAgICAgICAgICAg
ICAgICBjYWxsYmFjayhXVEZNb3ZlKHJlc3VsdCkpOworICAgICAgICAgICAgfSk7CisgICAgICAg
IH0pOworICAgIH0pOwogfQogCi12b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjplbmNvZGluZ0luZm8o
RG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3Vy
YXRpb24sIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3ZvaWQgTWVkaWFDYXBhYmls
aXRpZXM6OmVuY29kaW5nSW5mbyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJlZFByb21p
c2U+JiYgcHJvbWlzZSkKIHsKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJpbGl0aWVzIEludGVyZmFj
ZQogICAgIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLyNtZWRp
YS1jYXBhYmlsaXRpZXMtaW50ZXJmYWNlCiAKLSAgICBhdXRvIGlkZW50aWZpZXIgPSBXVEY6Okxv
Z2dlcjo6TG9nU2l0ZUlkZW50aWZpZXIoIk1lZGlhQ2FwYWJpbGl0aWVzIiwgX19mdW5jX18sIHRo
aXMpOwotICAgIFJlZjxMb2dnZXI+IGxvZ2dlciA9IGRvY3VtZW50LmxvZ2dlcigpOwotCiAgICAg
Ly8gMS4gSWYgY29uZmlndXJhdGlvbiBpcyBub3QgYSB2YWxpZCBNZWRpYUNvbmZpZ3VyYXRpb24s
IHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAyLiBJ
ZiBjb25maWd1cmF0aW9uLnZpZGVvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIHZpZGVv
IGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJv
ci4KICAgICAvLyAzLiBJZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5v
dCBhIHZhbGlkIGF1ZGlvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQg
d2l0aCBhIFR5cGVFcnJvci4KQEAgLTI2NCwyNCArMjk2LDI4IEBAIHZvaWQgTWVkaWFDYXBhYmls
aXRpZXM6OmVuY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRW5jb2RpbmdDb25m
aWd1cmF0CiAgICAgLy8gNS4gSW4gcGFyYWxsZWwsIHJ1biB0aGUgY3JlYXRlIGEgTWVkaWFDYXBh
YmlsaXRpZXNJbmZvIGFsZ29yaXRobSB3aXRoIGNvbmZpZ3VyYXRpb24gYW5kIHJlc29sdmUgcCB3
aXRoIGl0cyByZXN1bHQuCiAgICAgLy8gNi4gUmV0dXJuIHAuCiAKLSAgICBNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFj
ayA9IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRl
bnRpZmllciksIGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwgZG9jdW1lbnQgPSBSZWYgeyBkb2N1
bWVudCB9XShhdXRvIGluZm8pIG11dGFibGUgewotI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAot
ICAgICAgICBsb2dnZXItPmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIsICI6OmNhbGxiYWNrKCkg
LSBSZXNvbHZlZC4gaW5mbzogIiwgaW5mbyk7Ci0jZW5kaWYKLSAgICAgICAgZG9jdW1lbnQtPmV2
ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKSwgaW5mbyA9IFdURk1vdmUoaW5mbyldICgpIG11dGFibGUgeworICAg
IE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNh
bGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBjb250ZXh0ID0g
UmVmIHsgY29udGV4dCB9XShhdXRvIGluZm8pIG11dGFibGUgeworICAgICAgICBjb250ZXh0LT5l
dmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAoKSBtdXRhYmxlIHsKICAg
ICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMRGljdGlvbmFyeTxNZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mbz4+KFdURk1vdmUoaW5mbykpOwogICAgICAgICB9KTsKICAgICB9OwogCi0j
aWYgRU5BQkxFKFdFQl9SVEMpCi0gICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYUVu
Y29kaW5nVHlwZTo6V2ViUlRDKSB7Ci0gICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQu
cGFnZSgpKQotICAgICAgICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5jcmVhdGVFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFj
aykpOworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgZ2F0aGVyRW5j
b2RpbmdJbmZvKGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KSwgV1RGTW92ZShjb25maWd1cmF0
aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOwogICAgICAgICByZXR1cm47CiAgICAgfQotI2VuZGlm
CiAKLSAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOwor
ICAgIG1fZW5jb2RpbmdUYXNrcy5hZGQoKyttX25leHRUYXNrSWRlbnRpZmllciwgV1RGTW92ZShj
YWxsYmFjaykpOworICAgIGNvbnRleHQucG9zdFRhc2tUb1Jlc3BvbnNpYmxlRG9jdW1lbnQoW2Nv
bmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLmlzb2xhdGVkQ29weSgpLCBjb250
ZXh0SWRlbnRpZmllciA9IGNvbnRleHQuY29udGV4dElkZW50aWZpZXIoKSwgd2Vha1RoaXMgPSBX
ZWFrUHRyIHsgdGhpcyB9LCB0YXNrSWRlbnRpZmllciA9IG1fbmV4dFRhc2tJZGVudGlmaWVyXShh
dXRvJiBkb2N1bWVudCkgbXV0YWJsZSB7CisgICAgICAgIGdhdGhlckVuY29kaW5nSW5mbyhkb2N1
bWVudCwgV1RGTW92ZShjb25maWd1cmF0aW9uKSwgW2NvbnRleHRJZGVudGlmaWVyLCB3ZWFrVGhp
cyA9IFdURk1vdmUod2Vha1RoaXMpLCB0YXNrSWRlbnRpZmllcl0oYXV0byYmIHJlc3VsdCkgbXV0
YWJsZSB7CisgICAgICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpwb3N0VGFza1RvKGNv
bnRleHRJZGVudGlmaWVyLCBbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgdGFza0lkZW50
aWZpZXIsIHJlc3VsdCA9IFdURk1vdmUocmVzdWx0KS5pc29sYXRlZENvcHkoKV0oYXV0byYpIG11
dGFibGUgeworICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICBpZiAoYXV0byBjYWxsYmFjayA9IHdlYWtUaGlz
LT5tX2VuY29kaW5nVGFza3MudGFrZSh0YXNrSWRlbnRpZmllcikpCisgICAgICAgICAgICAgICAg
ICAgIGNhbGxiYWNrKFdURk1vdmUocmVzdWx0KSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAg
fSk7CisgICAgfSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaAppbmRleCBiYTEyMzRi
YjM4OTczMjZlNjZjYjcyMmM5YmFiNTc3YTg3NmRkODc0Li5iOTU3OTAxOWMxYTc1YWUxMmQ4MTY0
M2M3Nzg3MmJmOTE1YmRlOGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE5ICsyNSwy
OSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIk1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnkuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBEZWZlcnJlZFByb21pc2U7Ci1jbGFzcyBEb2N1bWVudDsKLXN0cnVjdCBNZWRp
YURlY29kaW5nQ29uZmlndXJhdGlvbjsKLXN0cnVjdCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlv
bjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLWNsYXNzIE1lZGlhQ2FwYWJpbGl0
aWVzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFDYXBhYmlsaXRpZXM+IHsKK2NsYXNzIE1lZGlh
Q2FwYWJpbGl0aWVzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFDYXBhYmlsaXRpZXM+LCBwdWJs
aWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFDYXBhYmlsaXRpZXM+IHsKIHB1YmxpYzoKLSAgICB2b2lk
IGRlY29kaW5nSW5mbyhEb2N1bWVudCYsIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgZW5jb2RpbmdJbmZvKERvY3VtZW50Jiwg
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Cisg
ICAgc3RhdGljIFJlZjxNZWRpYUNhcGFiaWxpdGllcz4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBNZWRpYUNhcGFiaWxpdGllcyk7IH0KKworICAgIHZvaWQgZGVjb2RpbmdJbmZvKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8
RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIGVuY29kaW5nSW5mbyhTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVkUHJv
bWlzZT4mJik7CisKK3ByaXZhdGU6CisgICAgTWVkaWFDYXBhYmlsaXRpZXMoKSA9IGRlZmF1bHQ7
CisKKyAgICB1aW50NjRfdCBtX25leHRUYXNrSWRlbnRpZmllciB7IDAgfTsKKyAgICBIYXNoTWFw
PHVpbnQ2NF90LCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZp
Z3VyYXRpb25DYWxsYmFjaz4gbV9kZWNvZGluZ1Rhc2tzOworICAgIEhhc2hNYXA8dWludDY0X3Qs
IE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNh
bGxiYWNrPiBtX2VuY29kaW5nVGFza3M7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsCmluZGV4IGY3MjQzMTFmODNlMzkxNjk4YjZmNDIyNDk4
OTcyYWZiZmQ3ZmJlMDEuLjZhODgxNjU0NjdjMWZiY2YzMWZjNzAyNTAxZWM5MjZjZjczZjZhYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFDYXBhYmlsaXRpZXMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsCkBAIC0yNiw5ICsyNiw4IEBACiBbCiAgICAg
RW5hYmxlZEJ5U2V0dGluZz1NZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQsCiAgICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSwKLSAgICBKU0N1c3RvbUhlYWRlciwKLSAgICBFeHBvc2VkPVdpbmRv
dworICAgIEV4cG9zZWQ9KFdpbmRvdyxEZWRpY2F0ZWRXb3JrZXIpCiBdIGludGVyZmFjZSBNZWRp
YUNhcGFiaWxpdGllcyB7Ci0gICAgW0N1c3RvbUVuYWJsZWQsIENhbGxXaXRoPURvY3VtZW50XSBQ
cm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiBkZWNvZGluZ0luZm8oTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7Ci0gICAgW0N1c3RvbUVuYWJsZWQs
IENhbGxXaXRoPURvY3VtZW50XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZv
PiBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7
CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8TWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm8+IGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbiBjb25maWd1cmF0aW9uKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4
dF0gUHJvbWlzZTxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4gZW5jb2RpbmdJbmZvKE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yTWVkaWFD
YXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGll
cy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKaW5kZXggYTMxYmFkYjU0YWM5ODFlMGUz
YmFkYWZlMjA5ODc4MjlkM2Y3NDAzNS4uNGU4MGJiZmM5NmI1MWNjNDliYjFmZTlkYTY3MDEyZmZm
MmQzNDE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxp
dGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAK
QEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTmF2aWdhdG9yTWVkaWFD
YXBhYmlsaXRpZXM6Ok5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCkKLSAgICA6IG1fbWVkaWFD
YXBhYmlsaXRpZXMoYWRvcHRSZWYoKm5ldyBNZWRpYUNhcGFiaWxpdGllcygpKSkKKyAgICA6IG1f
bWVkaWFDYXBhYmlsaXRpZXMoTWVkaWFDYXBhYmlsaXRpZXM6OmNyZWF0ZSgpKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtl
ck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTA1OGZlOGExMjdlZWM1MjU5NzZkODQ4M2IxZThkM2U4ZmZjNjZiNwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMv
V29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbApAQCAtMCwwICsxLDMyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhLWNhcGFiaWxpdGllcy8j
bmF2aWdhdG9ycy1leHRlbnNpb25zCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYUNhcGFi
aWxpdGllc0VuYWJsZWQsCisgICAgSW1wbGVtZW50ZWRCeT1Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNh
cGFiaWxpdGllcworXSBwYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZpZ2F0b3IgeworICBbU2Ft
ZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhQ2FwYWJpbGl0aWVzIG1lZGlhQ2FwYWJp
bGl0aWVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBh
YmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFi
aWxpdGllcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNmMTQyNjIxMzIwOWRjODU2YThiOTUwZDI2NjQ0YTYy
OTYzN2ExNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwCkBAIC0wLDAg
KzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV29y
a2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCIKKworI2luY2x1ZGUgIk1lZGlhQ2FwYWJp
bGl0aWVzLmgiCisjaW5jbHVkZSAiV29ya2VyTmF2aWdhdG9yLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6Oldvcmtlck5hdmlnYXRv
ck1lZGlhQ2FwYWJpbGl0aWVzKCkKKyAgICA6IG1fbWVkaWFDYXBhYmlsaXRpZXMoTWVkaWFDYXBh
YmlsaXRpZXM6OmNyZWF0ZSgpKQoreworfQorCitXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxp
dGllczo6fldvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCkgPSBkZWZhdWx0OworCitj
b25zdCBjaGFyKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllczo6c3VwcGxlbWVudE5h
bWUoKQoreworICAgIHJldHVybiAiV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMiOwor
fQorCitXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyYgV29ya2VyTmF2aWdhdG9yTWVk
aWFDYXBhYmlsaXRpZXM6OmZyb20oV29ya2VyTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7CisgICAg
YXV0byogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJp
bGl0aWVzKj4oU3VwcGxlbWVudDxXb3JrZXJOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1
cHBsZW1lbnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgYXV0byBu
ZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGll
cz4oKTsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgICAg
IHByb3ZpZGVUbygmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBs
ZW1lbnQpKTsKKyAgICB9CisgICAgcmV0dXJuICpzdXBwbGVtZW50OworfQorCitNZWRpYUNhcGFi
aWxpdGllcyYgV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6Om1lZGlhQ2FwYWJpbGl0
aWVzKFdvcmtlck5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBXb3JrZXJOYXZp
Z2F0b3JNZWRpYUNhcGFiaWxpdGllczo6ZnJvbShuYXZpZ2F0b3IpLm1lZGlhQ2FwYWJpbGl0aWVz
KCk7Cit9CisKK01lZGlhQ2FwYWJpbGl0aWVzJiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxp
dGllczo6bWVkaWFDYXBhYmlsaXRpZXMoKSBjb25zdAoreworICAgIHJldHVybiBtX21lZGlhQ2Fw
YWJpbGl0aWVzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvck1lZGlh
Q2FwYWJpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVz
L1dvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDkxN2ZhZGMy
MjkyNDU4ZmIwYTdkZWQwODRmNTg5OTI3YmExZDA3MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFD
YXBhYmlsaXRpZXMuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIE1lZGlhQ2FwYWJpbGl0aWVzOworY2xhc3MgV29ya2VyTmF2aWdhdG9yOworCitjbGFz
cyBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyBmaW5hbCA6IHB1YmxpYyBTdXBwbGVt
ZW50PFdvcmtlck5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVi
bGljOgorICAgIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCk7CisgICAgfldvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCk7CisKKyAgICBzdGF0aWMgTWVkaWFDYXBhYmls
aXRpZXMmIG1lZGlhQ2FwYWJpbGl0aWVzKFdvcmtlck5hdmlnYXRvciYpOworICAgIHN0YXRpYyBX
b3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyYgZnJvbShXb3JrZXJOYXZpZ2F0b3ImKTsK
KworICAgIE1lZGlhQ2FwYWJpbGl0aWVzJiBtZWRpYUNhcGFiaWxpdGllcygpIGNvbnN0OworcHJp
dmF0ZToKKyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIG11
dGFibGUgUmVmPE1lZGlhQ2FwYWJpbGl0aWVzPiBtX21lZGlhQ2FwYWJpbGl0aWVzOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCmluZGV4
IGFiNTljNjkyYTQ1Njg1NDAxNzJjYTcwYzlmZWE0MmQ1YTAwYmEyZjYuLmJiMjYwNjAyNzM5NmY5
MjM1ZTdjZTE1NWMzZWE3MDNhNDExMzAwODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5j
cHAKQEAgLTMzLDkgKzMzLDEyIEBACiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJKU01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yU3RhdGUuaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFNZXRhZGF0YS5oIgogI2luY2x1ZGUgIk1lZGlhU2Vz
c2lvbi5oIgogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0ZS5oIgorI2lu
Y2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXIuaD4K
KyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4K
IAogc3RhdGljIGNvbnN0IFNlY29uZHMgQ29tbWFuZFRpbWVUb2xlcmFuY2UgPSA1MF9tczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKaW5kZXggMjU3MjYxOTBjOTFhZTM4N2RlM2Q0MWVjYjBhOTY5NjlmZGU2YWUxZS4u
MTNmNjEyMTg1ODc3OTMyZTVkMjdhMjMwMzg3MTlhYmIzMjRmODI0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
QEAgLTEzMSw2ICsxMzEsNyBAQCBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCVHJhbnNhY3Rp
b25JbmZvLmNwcAogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luZGV4S2V5LmNwcAogTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAKIE1vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwCitNb2R1bGVzL21lZGlh
Y2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcAogTW9kdWxl
cy9tZWRpYXNlc3Npb24vTWVkaWFNZXRhZGF0YS5jcHAKIE1vZHVsZXMvbWVkaWFzZXNzaW9uL01l
ZGlhU2Vzc2lvbi5jcHAKIE1vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGExMjM2ZWZlYjczMDhkNTM5MGU1ZjhjZTBkMjc2OTRkYTQxMmQxOWUuLmE3
MmJjZmU2MTlmYjAyMGUxZWNlZmZkYjZlMmU2MTM0ODQyMGQ3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgxODcsNyArODE4
Nyw5IEBACiAJCTQxOEZDQkNCMjcwNkYzQ0QwMEY5NkVDQSAvKiBTZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUrUHVzaEFQSS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZStQdXNoQVBJ
LmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEZDQkNDMjcwNkY0MzQwMEY5
NkVDQSAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE4RkNCQ0QyNzA2RjQzNDAwRjk2RUNBIC8qIFNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZVB1c2hBUEkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlUHVzaEFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxOEZDQkU4Mjcx
NUFBMTkwMEY5NkVDQSAvKiBKU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDE4RkNCRUEyNzE1QjYwRjAwRjk2RUNBIC8qIFdvcmtlck5hdmlnYXRvcitNZWRpYUNh
cGFiaWxpdGllcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gIldvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5p
ZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JFQzI3MTVCODUxMDBGOTZF
Q0EgLyogV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNDE4RkNCRUQyNzE1Qjg1MjAwRjk2RUNBIC8qIFdvcmtlck5hdmlnYXRvck1lZGlh
Q2FwYWJpbGl0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlck5hdmlnYXRvck1lZGlh
Q2FwYWJpbGl0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MEYzQTEy
NDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRnJhbWVSYXRlTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25p
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZyYW1lUmF0ZU1vbml0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNG
IC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2Eu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzI4NSw3ICsyMzI4Nyw2IEBACiAJ
CQkJQTdEMDMxOEQwRTkzNTQwMzAwRTI0QUNEIC8qIEpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCAqLywK
IAkJCQk1ODY4QzdENTI1NDZFMEIzMDBCRjlERjMgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlckN1
c3RvbS5jcHAgKi8sCiAJCQkJNzdDMTNGMDQyMTY1NjU4QTAwMkQ5QzVGIC8qIEpTSW50ZXJzZWN0
aW9uT2JzZXJ2ZXJFbnRyeUN1c3RvbS5jcHAgKi8sCi0JCQkJNDE4RkNCRTgyNzE1QUExOTAwRjk2
RUNBIC8qIEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaCAqLywKIAkJCQlBRDcyNkZFNzE2RDlG
MjA0MDAzQTRFNkQgLyogSlNNZWRpYUxpc3RDdXN0b20uaCAqLywKIAkJCQk0MTVDREFGNjFFNkNF
MEQzMDA0RjExRUUgLyogSlNNZWRpYVN0cmVhbVRyYWNrQ3VzdG9tLmNwcCAqLywKIAkJCQlFMUE1
Rjk5QTBFN0VBQTI1MDBBRjg1RUEgLyogSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAgKi8sCkBA
IC0yODgyMSw2ICsyODgyMiw5IEBACiAJCQkJQ0RCRDNEMzkxRkU4NUNDMTAwMTJDNTQ1IC8qIE5h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmggKi8sCiAJCQkJQ0Q0RTRFNjIyMzU3QjNBRDAwNzg5
NUMzIC8qIFRyYW5zZmVyRnVuY3Rpb24uaWRsICovLAogCQkJCUNEQkQzRDI4MUZFODVDQjgwMDEy
QzU0NSAvKiBWaWRlb0NvbmZpZ3VyYXRpb24uaWRsICovLAorCQkJCTQxOEZDQkVBMjcxNUI2MEYw
MEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsICovLAorCQkJ
CTQxOEZDQkVEMjcxNUI4NTIwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxp
dGllcy5jcHAgKi8sCisJCQkJNDE4RkNCRUMyNzE1Qjg1MTAwRjk2RUNBIC8qIFdvcmtlck5hdmln
YXRvck1lZGlhQ2FwYWJpbGl0aWVzLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IG1lZGlhY2FwYWJp
bGl0aWVzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODI0NzI3Nzk5MDZkYzc4OTUxYjNhYTAyZGQxMmNiOGMwNmY4
YjMzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNp
bmNsdWRlICJNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5LmgiCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotQUxXQVlTX0lOTElORSBib29sIEpTTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm9Jc0VuYWJsZWQoKQotewotI2lmIEVOQUJMRShXRUJfUlRDKQotICAgIHJldHVybiB0cnVl
OwotI2Vsc2UKLSAgICByZXR1cm4gTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFz
RW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOwotI2VuZGlmCi19Ci0KLUFMV0FZU19JTkxJ
TkUgYm9vbCBKU01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvSXNFbmFibGVkKCkKLXsKLSNp
ZiBFTkFCTEUoV0VCX1JUQykKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbHNlCi0gICAgcmV0dXJuIE1l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0RlY29kaW5nQ29uZmlndXJhdGlvbkZh
Y3RvcnkoKTsKLSNlbmRpZgotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKaW5kZXggZDI0YjAxYjc3MzZjNWNiNThmNjlhN2Q5OGQ2YzRiNzBi
NjQ5OGJjMy4uOTA0NjZkZjU1MTUwZmY1ODg4MGEzYmQ4MDExMmUyOTMxYzc4MGZkYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNjgyLDQg
KzY4MiwyNyBAQCBib29sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmVuc3VyZU9uQ29udGV4dFRo
cmVhZChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZgogICAgIHJldHVybiB0cnVlOwogfQog
Cit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnBvc3RUYXNrVG9SZXNwb25zaWJsZURvY3Vt
ZW50KEZ1bmN0aW9uPHZvaWQoRG9jdW1lbnQmKT4mJiBjYWxsYmFjaykKK3sKKyAgICBpZiAoaXM8
RG9jdW1lbnQ+KHRoaXMpKSB7CisgICAgICAgIGNhbGxiYWNrKGRvd25jYXN0PERvY3VtZW50Pigq
dGhpcykpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQVNTRVJUKGlzPFdvcmtlck9y
V29ya2xldEdsb2JhbFNjb3BlPih0aGlzKSk7CisgICAgaWYgKCFpczxXb3JrZXJPcldvcmtsZXRH
bG9iYWxTY29wZT4odGhpcykpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8qIHRocmVhZCA9
IGRvd25jYXN0PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPih0aGlzKS0+d29ya2VyT3JXb3Jr
bGV0VGhyZWFkKCk7CisgICAgaWYgKHRocmVhZCkgeworICAgICAgICB0aHJlYWQtPndvcmtlckxv
YWRlclByb3h5KCkucG9zdFRhc2tUb0xvYWRlcihbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNr
KV0oYXV0byYmIGNvbnRleHQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKGRvd25jYXN0PERvY3Vt
ZW50Pihjb250ZXh0KSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKGF1dG8gZG9jdW1lbnQgPSBkb3duY2FzdDxXb3JrbGV0R2xvYmFsU2NvcGU+KHRoaXMp
LT5yZXNwb25zaWJsZURvY3VtZW50KCkpCisgICAgICAgIGNhbGxiYWNrKCpkb2N1bWVudCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oCmluZGV4IDE2Yzg2NmYzOTQ4NmFkZDFlZGEzZGEzMjBiNTEwNDZkMjVj
MzA0NWUuLjI1ZmIwMGU2MTMyM2U5ODI5NjBhMjg1MGQ3ZTEzN2JmNTI2YmE2ZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMjIzLDYgKzIyMyw4
IEBAIHB1YmxpYzoKICAgICAgICAgfSk7CiAgICAgfQogCisgICAgdm9pZCBwb3N0VGFza1RvUmVz
cG9uc2libGVEb2N1bWVudChGdW5jdGlvbjx2b2lkKERvY3VtZW50Jik+JiYpOworCiAgICAgLy8g
R2V0cyB0aGUgbmV4dCBpZCBpbiBhIGNpcmN1bGFyIHNlcXVlbmNlIGZyb20gMSB0byAyXjMxLTEu
CiAgICAgaW50IGNpcmN1bGFyU2VxdWVudGlhbElEKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oCmluZGV4IDRj
ZWIxZDExNzJhMDczNDViOGQzZjE2ZWFmNTAxMTFkNDk2NTUwNzQuLmZlNDAzOTc4Zjk4YzdlZjMx
MWI1MjI4Y2ViOGI0MmIxYmZiZDVkMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaApAQCAtNDcsMTAgKzQ3LDE3
IEBAIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyA6IE1lZGlhQ2FwYWJpbGl0
aWVzSW5mbyB7CiAKICAgICBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiBzdXBwb3J0ZWRDb25m
aWd1cmF0aW9uOwogCisgICAgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gaXNvbGF0ZWRD
b3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShF
bmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6
b3B0aW9uYWw8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+IGRlY29kZShEZWNvZGVyJik7
CiB9OwogCitpbmxpbmUgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gTWVkaWFDYXBhYmls
aXRpZXNEZWNvZGluZ0luZm86Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsg
TWVkaWFDYXBhYmlsaXRpZXNJbmZvOjppc29sYXRlZENvcHkoKSwgc3VwcG9ydGVkQ29uZmlndXJh
dGlvbi5pc29sYXRlZENvcHkoKSB9OworfQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9p
ZCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFi
aWxpdGllc0VuY29kaW5nSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm8uaAppbmRleCBhZDcyOWEwMTZmNmIzZDE2ZjI1ZWIwZGFlOTgy
ZmNiYzcyZTIyOTZjLi5jMmIyNTA5MGYwNTIyZDVkY2Q2ZjUxYjU0YmFjMjlhZGIzYmQzMWI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29k
aW5nSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVz
RW5jb2RpbmdJbmZvLmgKQEAgLTQ3LDEwICs0NywxNyBAQCBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRp
ZXNFbmNvZGluZ0luZm8gOiBNZWRpYUNhcGFiaWxpdGllc0luZm8gewogCiAgICAgTWVkaWFFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKIAorICAgIE1lZGlhQ2Fw
YWJpbGl0aWVzRW5jb2RpbmdJbmZvIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVz
RW5jb2RpbmdJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5lIE1lZGlhQ2FwYWJp
bGl0aWVzRW5jb2RpbmdJbmZvIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjppc29sYXRl
ZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6aXNv
bGF0ZWRDb3B5KCksIHN1cHBvcnRlZENvbmZpZ3VyYXRpb24uaXNvbGF0ZWRDb3B5KCkgfTsKK30K
KwogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaAppbmRleCAxMjIwZWM1NGIyODA4
ZmVlNzBlODBiNDdjOWJhZjljN2I2Y2RkMzFhLi5hODM3Y2M1ZDk5YjFiZjY1MGQyZjcxZDZhNDhk
ZjY1MDRhMzk4OWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNh
cGFiaWxpdGllc0luZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFi
aWxpdGllc0luZm8uaApAQCAtMzQsMTAgKzM0LDE3IEBAIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGll
c0luZm8gewogICAgIGJvb2wgc21vb3RoIHsgZmFsc2UgfTsKICAgICBib29sIHBvd2VyRWZmaWNp
ZW50IHsgZmFsc2UgfTsKIAorICAgIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBpc29sYXRlZENvcHko
KSBjb25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29k
ZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRp
b25hbDxNZWRpYUNhcGFiaWxpdGllc0luZm8+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxp
bmUgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6aXNvbGF0ZWRD
b3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gKnRoaXM7Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+CiB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCmluZGV4IDRmYjBmM2I4MGQw
ZTZkMDc2YzY0NzgzYTc0NGRjYjBhYjNjNThiMWIuLjZlMWU4ZDFmY2JhNzg5MGQ5NjQ3NjBlODQz
NjFhNTVmMTA5OGI3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCkBAIC0zNiwxMCAr
MzYsMTcgQEAgc3RydWN0IEF1ZGlvQ29uZmlndXJhdGlvbiB7CiAgICAgc3RkOjpvcHRpb25hbDx1
aW50MzJfdD4gc2FtcGxlcmF0ZTsKICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IHNwYXRpYWxSZW5k
ZXJpbmc7CiAKKyAgICBBdWRpb0NvbmZpZ3VyYXRpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisK
ICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8QXVkaW9D
b25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5lIEF1ZGlvQ29uZmln
dXJhdGlvbiBBdWRpb0NvbmZpZ3VyYXRpb246Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHsgY29udGVudFR5cGUuaXNvbGF0ZWRDb3B5KCksIGNoYW5uZWxzLmlzb2xhdGVkQ29w
eSgpLCBiaXRyYXRlLCBzYW1wbGVyYXRlLCBzcGF0aWFsUmVuZGVyaW5nIH07Cit9CisKIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIEF1ZGlvQ29uZmlndXJhdGlvbjo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCmluZGV4IDJj
M2IxNzU4ZjczMmNlOTk4ZDdiMDVhNDE0ZTRmOWI2ZmQ1NWNlOGIuLmVmYWM0Yzc5NGRjZmViNDcz
MTU2YmQzZjQ1ZmRlNTljZmZmMDg1MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCkBA
IC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJBdWRpb0NvbmZpZ3VyYXRpb24uaCIKICNpbmNs
dWRlICJWaWRlb0NvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3Bp
ZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNCwxMCArMzUsMTcgQEAgc3RydWN0
IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAgICAgc3RkOjpvcHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRp
b24+IHZpZGVvOwogICAgIHN0ZDo6b3B0aW9uYWw8QXVkaW9Db25maWd1cmF0aW9uPiBhdWRpbzsK
IAorICAgIE1lZGlhQ29uZmlndXJhdGlvbiBpc29sYXRlZENvcHkoKSBjb25zdDsKKwogICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYUNvbmZpZ3Vy
YXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgTWVkaWFDb25maWd1cmF0aW9u
IE1lZGlhQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
eyBjcm9zc1RocmVhZENvcHkodmlkZW8pLCAgY3Jvc3NUaHJlYWRDb3B5KGF1ZGlvKSB9OworfQor
CiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBNZWRpYUNvbmZpZ3VyYXRpb246OmVuY29k
ZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uLmgKaW5kZXggZmViYzhhZGYzYTQyNGNjZTMyYWQ1YzE4YmEzZGMyNTBlN2Zj
YWVmMC4uM2U5YjM0YmFmM2FjNGEzMDg5ZTQ3MTJmZTM2MzVlM2Y4ODhlNzQzMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oCkBAIC0zNSwxMCArMzUsMTcgQEAg
c3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIDogTWVkaWFDb25maWd1cmF0aW9uIHsK
IAogICAgIGJvb2wgY2FuRXhwb3NlVlA5IHsgdHJ1ZSB9OwogCisgICAgTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+
IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRp
b24gTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb246Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHsgTWVkaWFDb25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSwgdHlwZSwgY2Fu
RXhwb3NlVlA5IH07Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIE1lZGlhRGVj
b2RpbmdDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oCmluZGV4IDE5YjdmNzRjMmQx
NThkNTFlZDk5NTcyMjQzNGM5NTQzOTNlYzVmMGQuLjU5NjgxNzc4MjQzNTc0YzIxMzUwYzUxMGZk
YTIxNzQyYzg4ZmQ1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRp
b24uaApAQCAtMzMsMTAgKzMzLDE3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbiA6IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAgICAgTWVkaWFF
bmNvZGluZ1R5cGUgdHlwZTsKIAorICAgIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIGlzb2xh
dGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNv
ZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBz
dGQ6Om9wdGlvbmFsPE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2RlciYp
OwogfTsKIAoraW5saW5lIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIE1lZGlhRW5jb2RpbmdD
b25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IE1lZGlh
Q29uZmlndXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCksIHR5cGUgfTsKK30KKwogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaAppbmRleCA2
MGY5ZjMzM2NiYTcyMTU2N2ExYzg3YWU4MWUyNGFlMjQ2YzVkNTY2Li5lODYzMWYyY2YxNzY3ZWFm
Yjg1ZDU1NmEwZGU3YjI1NGMwNWIyYjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaApA
QCAtNDMsMTAgKzQzLDE3IEBAIHN0cnVjdCBWaWRlb0NvbmZpZ3VyYXRpb24gewogICAgIHN0ZDo6
b3B0aW9uYWw8SGRyTWV0YWRhdGFUeXBlPiBoZHJNZXRhZGF0YVR5cGU7CiAgICAgc3RkOjpvcHRp
b25hbDxUcmFuc2ZlckZ1bmN0aW9uPiB0cmFuc2ZlckZ1bmN0aW9uOwogCisgICAgVmlkZW9Db25m
aWd1cmF0aW9uIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4gZGVjb2RlKERl
Y29kZXImKTsKIH07CiAKK2lubGluZSBWaWRlb0NvbmZpZ3VyYXRpb24gVmlkZW9Db25maWd1cmF0
aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IGNvbnRlbnRUeXBlLmlz
b2xhdGVkQ29weSgpLCB3aWR0aCwgaGVpZ2h0LCBiaXRyYXRlLCBmcmFtZXJhdGUsIGFscGhhQ2hh
bm5lbCwgY29sb3JHYW11dCwgaGRyTWV0YWRhdGFUeXBlLCB0cmFuc2ZlckZ1bmN0aW9uIH07Cit9
CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIFZpZGVvQ29uZmlndXJhdGlvbjo6ZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCAwNThmOTY4OGFlODY5NWNjODQyYzVjYjRmYWU5M2E2YjE2N2E2N2NmLi5jYWQ1OGMy
MjliYzllYWUwOWIzYzg5MTI2NmM1Y2JmZDhiOWI5ZGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0xMC0xNSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwb3NlIE1lZGlhQ2FwYWJpbGl0aWVzIHRvIFdv
cmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MTU3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFs
bG93IHJ1bm5pbmcgZW5jb2RpbmcgdGVzdHMgaW4gd29ya2VycyBhcyB3ZWxsIGFzIGluIHdpbmRv
dy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVj
b2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
ZW5jb2RpbmdJbmZvLmFueS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuanM6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2Rp
bmdJbmZvLWV4cGVjdGVkOiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEwLTE1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2Fs
ZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBKU0RPTUJ1aWx0aW5Db25zdHJ1Y3Rv
ciBpbnN0YW5jZXMgc2hvdWxkIHN1cHBvcnQgc3ViY2xhc3NpbmcKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVz
L2RlY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5m
by5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4MTI4MGYyMjBmZWJlYmNkNmFhODRmN2Ew
YjA3ZTBmYjIzZjc4Njc0Li4xNTY1OTRiMWJhZmNhNDljMjY1Y2UyMjBjYjhlYjZkMGMwNmUxZGIw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMx
ICsxLDMxIEBACiAKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRv
ZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlM
IFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9u
IGlzbid0IHZhbGlkIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2
ZSBhIHR5cGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlv
IG9yIHZpZGVvIGZpZWxkIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5l
Z2F0aXZlIGZyYW1lcmF0ZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBm
cmFtZXJhdGUgc2V0IHRvIDAgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEg
ZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlM
IFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8gdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVy
IHRoYXQgaXNuJ3QgY29kZWNzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgveSB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBy
ZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4g
dGhlIGZvcm0gb2YgMC95IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIC14L3kgdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8teSB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
bycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0
aGUgZm9ybSBvZiB4LyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBj
aGFyYWN0ZXJzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlblR5cGUgZG9l
c24ndCBwYXJzZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBp
c24ndCBvZiB0eXBlIGF1ZGlvIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2Rl
Y3MgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlIHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIHNwYXRp
YWxSZW5kZXJpbmcgc2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2Jq
ZWN0cyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gd2l0aCBoZHJNZXRhZGF0YVR5cGUsIGNvbG9yR2FtdXQsIGFuZCB0cmFuc2ZlckZ1bmN0aW9u
IHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGFuIGVtcHR5IGhkck1ldGFkYXRhVHlwZSB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBjb2xvckdhbXV0IHNldCB0byB0
cnVlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIHRyYW5zZmVyRnVuY3Rp
b24gc2V0IHRvIDMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uCitQQVNT
IFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9u
IGlzbid0IHZhbGlkCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
TWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlCitQQVNTIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4g
YXVkaW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZQorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRv
IEluZmluaXR5CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50
VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFu
IG9uZSBwYXJhbWV0ZXIgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVu
ZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBv
bmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kKK1BBU1MgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvMAorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0g
b2YgMC95CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBp
biB0aGUgZm9ybSBvZiAteC95CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3Rz
IGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LworUEFTUyBUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQg
Y2hhcmFjdGVycworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1
ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50
VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFu
IG9uZSBwYXJhbWV0ZXJzIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1
bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMg
b25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMg
bm90IGhhdmUgYSB2YWxpZCB0eXBlCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gd2l0aCBz
cGF0aWFsUmVuZGVyaW5nIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZv
IG9iamVjdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZp
bmVkIgorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggaGRyTWV0YWRhdGFUeXBlLCBj
b2xvckdhbXV0LCBhbmQgdHJhbnNmZXJGdW5jdGlvbiBzZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlh
Q2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJvYmplY3Qi
IGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhbiBlbXB0eSBoZHJNZXRhZGF0YVR5cGUK
K1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGhhcyBhIGNvbG9yR2FtdXQgc2V0IHRvIHRydWUKK1BBU1MgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIHRyYW5zZmVy
RnVuY3Rpb24gc2V0IHRvIDMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDJjZTc1YjI3ZDBkNzYxNDBiYTcyNWRiNWNiZTI2M2ZhNzIxMGI0YTku
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5j
b2RpbmdJbmZvLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLQot
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBj
b25maWd1cmF0aW9uCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
TWVkaWFDb25maWd1cmF0aW9uIGlzbid0IHZhbGlkCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBl
Ci1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlv
biBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKLVBBU1MgVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0
aXZlIGZyYW1lcmF0ZQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCi1QQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMg
YSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5Ci1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBh
cnNlCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCi1GQUlMIFRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50
VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxk
IGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLVBBU1Mg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9u
IGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzCi1QQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4
L3kKLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRo
ZSBmb3JtIG9mIHgvMAotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFt
ZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95Ci1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSBy
ZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95Ci1QQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15Ci1QQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4
LwotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0
cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycwotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBh
cnNlCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvCi1GQUlMIFRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50
VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIGFzc2VydF91bnJlYWNoZWQ6IFNob3Vs
ZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1QQVNT
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcwotUEFTUyBU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0lu
Zm8gb2JqZWN0cyBmb3IgcmVjb3JkIHR5cGUKLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5
cGUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9lbmNvZGluZ0luZm8uYW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2U3NWIyN2Qw
ZDc2MTQwYmE3MjVkYjVjYmUyNjNmYTcyMTBiNGE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
ZW5jb2RpbmdJbmZvLmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorCitQQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdldCBhIGNvbmZpZ3Vy
YXRpb24KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNv
bmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHR5cGUKK1BBU1Mg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNu
J3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJh
bWVyYXRlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAKK1BBU1MgVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1l
cmF0ZSBzZXQgdG8gSW5maW5pdHkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UKK1BB
U1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8KK0ZBSUwgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhh
cyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSBy
ZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKK1BBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgveQorUEFT
UyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0g
b2YgeC8wCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBp
biB0aGUgZm9ybSBvZiAwL3kKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMg
ZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIC14L3kKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
bygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkKK1BBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvCitQQVNT
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRoIHRyYWlsaW5n
IHVuYWxsb3dlZCBjaGFyYWN0ZXJzCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UKK1BB
U1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8KK0ZBSUwgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhh
cyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUg
cmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzCitQQVNTIFRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmpl
Y3RzIGZvciByZWNvcmQgdHlwZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdHlwZQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0lu
Zm8uYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4
MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuaHRtbApA
QCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3Qg
aW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55LmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvZW5jb2RpbmdJbmZvLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODgyYjBhZTkxMTdhYjI2OGZm
NTcxMGY3ZjliMzk3YjFkYWVkYmJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJ
bmZvLmFueS5qcwpAQCAtMCwwICsxLDMxMCBAQAorLy8gTWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRp
b24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVy
dGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uID0geworICBj
b250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICB3aWR0
aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAgYml0cmF0ZTogMzAwMCwKKyAgZnJhbWVyYXRlOiAy
NCwKK307CisKKy8vIE1pbmltYWwgV2ViUlRDIFZpZGVvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwg
YmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNz
aW5nLgordmFyIG1pbmltYWxXZWJydGNWaWRlb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRU
eXBlOiAndmlkZW8vVlA5JywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0OiA2MDAsCisgIGJpdHJh
dGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5pbWFsIEF1ZGlvQ29uZmln
dXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBw
cm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24gPSB7
CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicsCit9OworCisvLyBN
aW5pbWFsIFdlYlJUQyBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVy
IHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5p
bWFsV2VicnRjQXVkaW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ2F1ZGlvL29w
dXMnLAorfTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
bygpKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBn
ZXQgYSBjb25maWd1cmF0aW9uIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8oe30pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZCIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB2aWRlbzogbWluaW1hbFZp
ZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwK
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFD
b25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICB9
KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0
aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCIpOworCitwcm9taXNlX3Rl
c3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3Jk
JywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9
InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwK
KyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IC0xLAorICAgIH0sCisgIH0p
KTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAg
IHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4w
MC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAg
Yml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMCwKKyAgICB9LAorICB9KSk7Cit9LCAi
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9u
IGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzog
eworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgi
JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6
IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IEluZmluaXR5LAorICAgIH0sCisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
aGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2
aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdmZ2VvYScsCisgICAgICB3aWR0aDogODAwLAor
ICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRl
OiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UiKTsK
KworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8v
Zmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0
cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBj
b250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZp
ZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4x
MC4wOCI7IGZvbz0iYmFyIicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAs
CisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9
KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJt
OyBmb289ImJhciInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAg
ICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcyIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlw
ZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0
eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93
ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBo
ZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAw
MC8xMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAg
IHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4w
MC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAg
Yml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLzAnLAorICAgIH0KKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUg
Zm9ybSBvZiB4LzAiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRl
bnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0
aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAg
ZnJhbWVyYXRlOiAnMC8xMDAwMScsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29k
aW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveSIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
cmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBj
b2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6
IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICctMjQwMDAvMTAw
MDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3Rz
IGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZp
ZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4x
MC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0
cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLy0xMDAwMScsCisgICAgfQorICB9
KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRo
ZSBmb3JtIG9mIHgvLXkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNv
bnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3
aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAg
ICAgZnJhbWVyYXRlOiAnMjQwMDAvJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8iKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJv
ciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTog
J3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsg
Y29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0
OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMS8zeCcsCisg
ICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVy
YXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcs
CisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdmZ2VvYScgfSwKKyAgfSkpOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250
ZW5UeXBlIGRvZXNuJ3QgcGFyc2UiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgYXVkaW86IHsgY29u
dGVudFR5cGU6ICd2aWRlby9mZ2VvYScgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24n
dCBvZiB0eXBlIGF1ZGlvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21p
c2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRU
eXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIjsgZm9vPSJiYXIiJyB9LAorICB9KSk7Cit9
LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3Jl
Y29yZCcsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby93ZWJtOyBmb289ImJhciIn
IH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1
ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24n
dCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAg
dmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86IG1pbmltYWxBdWRp
b0NvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKKyAgfSk7Cit9LCAiVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZv
IG9iamVjdHMgZm9yIHJlY29yZCB0eXBlIik7CisKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHZhciB2
YWxpZFR5cGVzID0gWyAncmVjb3JkJywgJ3dlYnJ0YycgXTsKKyAgdmFyIGludmFsaWRUeXBlcyA9
IFsgdW5kZWZpbmVkLCBudWxsLCAnJywgJ2Zvb2JhcicsICdtc2UnLCAnTWVkaWFTb3VyY2UnLAor
ICAgICAgICAgICAgICAgICAgICAgICAnZmlsZScsICdtZWRpYS1zb3VyY2UnLCBdOworCisgIHZh
ciB2YWxpZFByb21pc2VzID0gW107CisgIHZhciBpbnZhbGlkQ2F1Z2h0ID0gMDsKKworICB2YWxp
ZFR5cGVzLmZvckVhY2godHlwZSA9PiB7CisgICAgdmFsaWRQcm9taXNlcy5wdXNoKG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgICAgdHlwZTogdHlwZSwKKyAg
ICAgIHZpZGVvOiB0eXBlICE9ICJ3ZWJydGMiID8gbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA6
IG1pbmltYWxXZWJydGNWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgICBhdWRpbzogdHlwZSAhPSAi
d2VicnRjIiA/IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24gOiBtaW5pbWFsV2VicnRjQXVkaW9D
b25maWd1cmF0aW9uLAorICAgIH0pKTsKKyAgfSk7CisKKyAgLy8gdmFsaWRUeXBlcyBhcmUgdGVz
dGVkIHZpYSBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKSBiZWNhdXNlIGlmIG9uZSBvZiB0aGUK
KyAgLy8gcHJvbWlzZXMgZmFpbCwgUHJvbWlzZS5hbGwoKSB3aWxsIHJlamVjdC4gVGhpcyBtZWNo
YW5pc20gY2FuJ3QgYmUgdXNlZCBmb3IKKyAgLy8gaW52YWxpZCB0eXBlcyB3aGljaCB3aWxsIGJl
IHRlc3RlZCBpbmRpdmlkdWFsbHkgYW5kIGluY3JlbWVudCBpbnZhbGlkQ2F1Z2h0CisgIC8vIHdo
ZW4gcmVqZWN0ZWQgdW50aWwgdGhlIGFtb3VudCBvZiByZWplY3Rpb24gbWF0Y2hlcyB0aGUgZXhw
ZWN0YXRpb24uCisgIFByb21pc2UuYWxsKHZhbGlkUHJvbWlzZXMpLnRoZW4odC5zdGVwX2Z1bmMo
KCkgPT4geworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW52YWxpZFR5cGVzLmxlbmd0aDsgKytp
KSB7CisgICAgICBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAg
ICAgICAgdHlwZTogaW52YWxpZFR5cGVzW2ldLAorICAgICAgICB2aWRlbzogbWluaW1hbFZpZGVv
Q29uZmlndXJhdGlvbiwKKyAgICAgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24s
CisgICAgICB9KS50aGVuKHQudW5yZWFjaGVkX2Z1bmMoKSwgdC5zdGVwX2Z1bmMoZSA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZS5uYW1lLCAnVHlwZUVycm9yJyk7CisgICAgICAgICsraW52
YWxpZENhdWdodDsKKyAgICAgICAgaWYgKGludmFsaWRDYXVnaHQgPT0gaW52YWxpZFR5cGVzLmxl
bmd0aCkKKyAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0pKTsKKyAgICB9CisgIH0pLCB0LnVu
cmVhY2hlZF9mdW5jKCdQcm9taXNlLmFsbCBzaG91bGQgbm90IHJlamVjdCBmb3IgdmFsaWQgdHlw
ZXMnKSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNv
bmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUiKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2U3NWIyN2QwZDc2MTQw
YmE3MjVkYjVjYmUyNjNmYTcyMTBiNGE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2Rp
bmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKKworUEFTUyBU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1
cmF0aW9uCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFD
b25maWd1cmF0aW9uIGlzbid0IHZhbGlkCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlCitQQVNT
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vz
bid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5n
SW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZy
YW1lcmF0ZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVv
IGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQQVNTIFRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFt
ZXJhdGUgc2V0IHRvIEluZmluaXR5CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCitGQUlMIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBo
YXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUg
cmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzCitQQVNTIFRlc3QgdGhh
dCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kKK1BB
U1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3Jt
IG9mIHgvMAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUg
aW4gdGhlIGZvcm0gb2YgMC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3Rz
IGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15CitQQVNTIFRlc3QgdGhh
dCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LworUEFT
UyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGlu
ZyB1bmFsbG93ZWQgY2hhcmFjdGVycworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlCitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJh
dGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvCitGQUlMIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBo
YXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZl
IHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2Jq
ZWN0cyBmb3IgcmVjb3JkIHR5cGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2Vu
Y29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1
ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby5hbnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVx
dWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVk
IHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
ZW5jb2RpbmdJbmZvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZmMyZjBmNWFkZDMzYTc0MGQ3OGRjOWEyMDFjMzdmOGY5N2Q5Mjg2
OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9l
bmNvZGluZ0luZm8uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMxOCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTx0aXRsZT5NZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oKTwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLQotLy8gTWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQg
cGVyIHNwZWMuIEFsbCBvcHRpb25hbAotLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KLXZhciBt
aW5pbWFsVmlkZW9Db25maWd1cmF0aW9uID0gewotICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07
IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAotICB3aWR0aDogODAwLAotICBoZWlnaHQ6IDYwMCwK
LSAgYml0cmF0ZTogMzAwMCwKLSAgZnJhbWVyYXRlOiAyNCwKLX07Ci0KLS8vIE1pbmltYWwgV2Vi
UlRDIFZpZGVvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxs
IG9wdGlvbmFsCi0vLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgotdmFyIG1pbmltYWxXZWJydGNW
aWRlb0NvbmZpZ3VyYXRpb24gPSB7Ci0gIGNvbnRlbnRUeXBlOiAndmlkZW8vVlA5JywKLSAgd2lk
dGg6IDgwMCwKLSAgaGVpZ2h0OiA2MDAsCi0gIGJpdHJhdGU6IDMwMDAsCi0gIGZyYW1lcmF0ZTog
MjQsCi19OwotCi0vLyBNaW5pbWFsIEF1ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxs
b3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCi0vLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgot
dmFyIG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24gPSB7Ci0gIGNvbnRlbnRUeXBlOiAnYXVkaW8v
d2VibTsgY29kZWNzPSJvcHVzIicsCi19OwotCi0vLyBNaW5pbWFsIFdlYlJUQyBBdWRpb0NvbmZp
Z3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAotLy8g
cHJvcGVydGllcyBhcmUgbWlzc2luZy4KLXZhciBtaW5pbWFsV2VicnRjQXVkaW9Db25maWd1cmF0
aW9uID0gewotICBjb250ZW50VHlwZTogJ2F1ZGlvL29wdXMnLAotfTsKLQotcHJvbWlzZV90ZXN0
KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbygpKTsKLX0sICJUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uIik7Ci0K
LXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBl
RXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oe30pKTsKLX0s
ICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlv
biBpc24ndCB2YWxpZCIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNl
X3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKHsKLSAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKLSAgICBh
dWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhh
dmUgYSB0eXBlIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRp
byBvciB2aWRlbyBmaWVsZCIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKLSAgICAg
IHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0g
ICAgICBmcmFtZXJhdGU6IC0xLAotICAgIH0sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgbmVnYXRpdmUg
ZnJhbWVyYXRlIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAgICBjb250ZW50
VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAotICAgICAgd2lkdGg6
IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZy
YW1lcmF0ZTogMCwKLSAgICB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8g
MCIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
LSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2
aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0g
ICAgICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6
IEluZmluaXR5LAotICAgIH0sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJ
bmZpbml0eSIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVj
dHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5
cGU6ICdmZ2VvYScsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAg
ICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiAyNCwKLSAgICB9LAotICB9KSk7Ci19
LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewot
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlk
ZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8vZmdlb2EnLAotICAgICAgd2lkdGg6IDgw
MCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZyYW1l
cmF0ZTogMjQsCi0gICAgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBl
IHZpZGVvIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0lu
Zm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAgICBjb250ZW50VHlw
ZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCI7IGZvbz0iYmFyIicsCi0gICAg
ICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAot
ICAgICAgZnJhbWVyYXRlOiAyNCwKLSAgICB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhh
cyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJl
dHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzog
ewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBmb289ImJhciInLAotICAgICAgd2lk
dGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAg
IGZyYW1lcmF0ZTogMjQsCi0gICAgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25l
IHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcyIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0g
IHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRl
bzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAu
MDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJh
dGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6ICcyNDAwMC8xMDAxJywKLSAgICB9Ci0gIH0pKTsK
LX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZv
cm0gb2YgeC95Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAgICBjb250ZW50
VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAotICAgICAgd2lkdGg6
IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZy
YW1lcmF0ZTogJzI0MDAwLzAnLAotICAgIH0KLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAiKTsKLQotcHJvbWlz
ZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3Jl
Y29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2
MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiAnMC8xMDAwMScsCi0g
ICAgfQotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVy
YXRlIGluIHRoZSBmb3JtIG9mIDAveSIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVy
biBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewot
ICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywK
LSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMw
MDAsCi0gICAgICBmcmFtZXJhdGU6ICctMjQwMDAvMTAwMDEnLAotICAgIH0KLSAgfSkpOwotfSwg
IlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBv
ZiAteC95Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0lu
Zm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAgICBjb250ZW50VHlw
ZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAotICAgICAgd2lkdGg6IDgw
MCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZyYW1l
cmF0ZTogJzI0MDAwLy0xMDAwMScsCi0gICAgfQotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29k
aW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkiKTsKLQotcHJv
bWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJv
ciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTog
J3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsg
Y29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0
OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvJywK
LSAgICB9Ci0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFt
ZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8iKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsK
LSAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4Iics
Ci0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAz
MDAwLAotICAgICAgZnJhbWVyYXRlOiAnMS8zeCcsCi0gICAgfQotICB9KSk7Ci19LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxv
d2VkIGNoYXJhY3RlcnMiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgYXVkaW86IHsgY29udGVudFR5
cGU6ICdmZ2VvYScgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UiKTsK
LQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAg
dHlwZTogJ3JlY29yZCcsCi0gICAgYXVkaW86IHsgY29udGVudFR5cGU6ICd2aWRlby9mZ2VvYScg
fSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVk
aW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvIik7Ci0KLXBy
b21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6
ICdyZWNvcmQnLAotICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNz
PSJvcHVzIjsgZm9vPSJiYXIiJyB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3Jl
IHRoYW4gb25lIHBhcmFtZXRlcnMiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgYXVkaW86IHsgY29u
dGVudFR5cGU6ICdhdWRpby93ZWJtOyBmb289ImJhciInIH0sCi0gIH0pKTsKLX0sICJUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKLQotcHJvbWlzZV90
ZXN0KHQgPT4gewotICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5n
SW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZp
Z3VyYXRpb24sCi0gICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCi0gIH0pLnRo
ZW4oYWJpbGl0eSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0
ZWQsICJib29sZWFuIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgs
ICJib29sZWFuIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5wb3dlckVmZmlj
aWVudCwgImJvb2xlYW4iKTsKLSAgfSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1
cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9yIHJlY29yZCB0eXBl
Iik7Ci0KLWFzeW5jX3Rlc3QodCA9PiB7Ci0gIHZhciB2YWxpZFR5cGVzID0gWyAncmVjb3JkJywg
J3dlYnJ0YycgXTsKLSAgdmFyIGludmFsaWRUeXBlcyA9IFsgdW5kZWZpbmVkLCBudWxsLCAnJywg
J2Zvb2JhcicsICdtc2UnLCAnTWVkaWFTb3VyY2UnLAotICAgICAgICAgICAgICAgICAgICAgICAn
ZmlsZScsICdtZWRpYS1zb3VyY2UnLCBdOwotCi0gIHZhciB2YWxpZFByb21pc2VzID0gW107Ci0g
IHZhciBpbnZhbGlkQ2F1Z2h0ID0gMDsKLQotICB2YWxpZFR5cGVzLmZvckVhY2godHlwZSA9PiB7
Ci0gICAgdmFsaWRQcm9taXNlcy5wdXNoKG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNv
ZGluZ0luZm8oewotICAgICAgdHlwZTogdHlwZSwKLSAgICAgIHZpZGVvOiB0eXBlICE9ICJ3ZWJy
dGMiID8gbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA6IG1pbmltYWxXZWJydGNWaWRlb0NvbmZp
Z3VyYXRpb24sCi0gICAgICBhdWRpbzogdHlwZSAhPSAid2VicnRjIiA/IG1pbmltYWxBdWRpb0Nv
bmZpZ3VyYXRpb24gOiBtaW5pbWFsV2VicnRjQXVkaW9Db25maWd1cmF0aW9uLAotICAgIH0pKTsK
LSAgfSk7Ci0KLSAgLy8gdmFsaWRUeXBlcyBhcmUgdGVzdGVkIHZpYSBQcm9taXNlLmFsbCh2YWxp
ZFByb21pc2VzKSBiZWNhdXNlIGlmIG9uZSBvZiB0aGUKLSAgLy8gcHJvbWlzZXMgZmFpbCwgUHJv
bWlzZS5hbGwoKSB3aWxsIHJlamVjdC4gVGhpcyBtZWNoYW5pc20gY2FuJ3QgYmUgdXNlZCBmb3IK
LSAgLy8gaW52YWxpZCB0eXBlcyB3aGljaCB3aWxsIGJlIHRlc3RlZCBpbmRpdmlkdWFsbHkgYW5k
IGluY3JlbWVudCBpbnZhbGlkQ2F1Z2h0Ci0gIC8vIHdoZW4gcmVqZWN0ZWQgdW50aWwgdGhlIGFt
b3VudCBvZiByZWplY3Rpb24gbWF0Y2hlcyB0aGUgZXhwZWN0YXRpb24uCi0gIFByb21pc2UuYWxs
KHZhbGlkUHJvbWlzZXMpLnRoZW4odC5zdGVwX2Z1bmMoKCkgPT4gewotICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgaW52YWxpZFR5cGVzLmxlbmd0aDsgKytpKSB7Ci0gICAgICBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICAgICAgdHlwZTogaW52YWxpZFR5cGVz
W2ldLAotICAgICAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKLSAgICAgICAg
YXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCi0gICAgICB9KS50aGVuKHQudW5yZWFj
aGVkX2Z1bmMoKSwgdC5zdGVwX2Z1bmMoZSA9PiB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZS5u
YW1lLCAnVHlwZUVycm9yJyk7Ci0gICAgICAgICsraW52YWxpZENhdWdodDsKLSAgICAgICAgaWYg
KGludmFsaWRDYXVnaHQgPT0gaW52YWxpZFR5cGVzLmxlbmd0aCkKLSAgICAgICAgICB0LmRvbmUo
KTsKLSAgICAgIH0pKTsKLSAgICB9Ci0gIH0pLCB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlLmFs
bCBzaG91bGQgbm90IHJlamVjdCBmb3IgdmFsaWQgdHlwZXMnKSk7Ci19LCAiVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2
ZSBhIHZhbGlkIHR5cGUiKTsKLQotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJu
ZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dAppbmRleCA2NzAwODI4ODcwY2UxZjE1OWY0MDMwYWVhMzRjNjZjNzhlMTY3
YTkxLi4zYjY3MTkwMDRkYjlkZDMxOGRjZmFiN2Q4NGE5M2RlYjI3MTIzMmFmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lk
bGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTIwLDIwICsyMCwyMCBAQCBQQVNT
IFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckxhbmd1YWdlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2
aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0
b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZQotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBw
cm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRp
ZXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3Bl
cnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJN
ZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJN
ZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBt
aXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0
aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3Bh
YmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2Fw
YWJpbGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogb3Bl
cmF0aW9uIGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmls
aXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwotRkFJ
TCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBlbmNvZGluZ0luZm8oTWVk
aWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0
eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgYXNz
ZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290
ICJ1bmRlZmluZWQiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2Jq
ZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFj
ZTogbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVj
b2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBi
dXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogY2Fs
bGluZyBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIG9uIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVj
dCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVuY29k
aW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhlIHByb3BlciB0eXBl
IGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0
IGdvdCAidW5kZWZpbmVkIgotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGNhbGxp
bmcgZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3Qi
IGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgV29ya2VyTmF2aWdhdG9yIGludGVyZmFjZTogYXR0
cmlidXRlIG1lZGlhQ2FwYWJpbGl0aWVzIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVj
dCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCi1GQUlMIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgbm90IGZvdW5k
IGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIE1lZGlhQ2Fw
YWJpbGl0aWVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVz
IGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAor
UEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkK
K1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5
CitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogb3BlcmF0aW9uIGRlY29kaW5nSW5m
byhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50
ZXJmYWNlOiBvcGVyYXRpb24gZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
KQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTog
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjb2Rp
bmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUK
K1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGRlY29kaW5nSW5mbyhN
ZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IKK1BBU1MgTWVkaWFD
YXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24p
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6
IGNhbGxpbmcgZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSBvbiBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93
IFR5cGVFcnJvcgorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVk
aWFDYXBhYmlsaXRpZXMKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9y
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMiIHdpdGggdGhlIHByb3Bl
ciB0eXBlCiAK
</data>
<flag name="commit-queue"
          id="465598"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441370</attachid>
            <date>2021-10-15 06:36:16 -0700</date>
            <delta_ts>2021-10-18 05:10:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231574-20211015153611.patch</filename>
            <type>text/plain</type>
            <size>90141</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdjNGRlNjNlYjFlNDY2
M2QwNWU4Yzc0MWNmOWY4YjdjMDQ2ZTVmMi4uNWYxNGNiMWY2NmM1MzQ4Yzg4MGUxOTRmNTIwYzRl
NWQzNGIzZTZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgTWVkaWFDYXBh
YmlsaXRpZXMgdG8gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxNTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRXhwb3NlIE1lZGlhIENhcGFiaWxpdGllcyB0byB3b3JrZXJzIGJ5IGhvcHBp
bmcgdG8gbWFpbiB0aHJlYWQgYW5kIHVzaW5nIHdvcmtlciByZXNwb25zaWJsZSBkb2N1bWVudCBm
b3IgZ2F0aGVyaW5nIE1lZGlhIENhcGFiaWxpdGllcywgdGhlbiBob3BwaW5nIGJhY2sgdG8gd29y
a2VyLgorICAgICAgICBNZWRpYUNhcGFiaWxpdGllcyB3aWxsIHN0b3JlIHRoZSBwcm9taXNlcyB3
aGVuIHdhaXRpbmcgZm9yIG1lZGlhIGNhcGFiaWxpdGllcyBnYXRoZXJpbmcgYnkgZG9jdW1lbnQu
CisKKyAgICAgICAgV2UgcmVtb3ZlIEN1c3RvbUVuYWJsZWQgc2luY2UgaXQgaXMgbm90IHN1cHBv
cnRlZCBpbiBXb3JrZXJzIGFuZCB3ZSBhcmUgbm93IGV4cG9zaW5nIGVuY29kaW5nIGluZm8gZm9y
IFdlYlJUQyBhbnl3YXkuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL05hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmln
YXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5oOiBBZGRlZC4K
KyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgor
ICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9N
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlh
Q2FwYWJpbGl0aWVzSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L0F1ZGlvQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaDoKKwogMjAy
MS0xMC0xNSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAg
ICAgW1dlYklETF0gSlNET01CdWlsdGluQ29uc3RydWN0b3IgaW5zdGFuY2VzIHNob3VsZCBzdXBw
b3J0IHN1YmNsYXNzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDIzMTJjNGJmNjdlM2IzMWZl
MjdkMzIwN2E3ZTc0MjlhMjdlYjExNzcuLjFmMTQwMjBkZGM0N2M5N2Q3OGE3ODcwMDRiMzczMGYw
Zjk1NDBiZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zNDUsNiArMzQ1LDcgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwKICAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0
aWVzL1RyYW5zZmVyRnVuY3Rpb24uaWRsCiAgICAgTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9W
aWRlb0NvbmZpZ3VyYXRpb24uaWRsCisgICAgTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3Jr
ZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsCiAKICAgICBNb2R1bGVzL21lZGlhY29u
dHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDRjYWI3MzM5OGVjM2VjNzU2N2VmYjFhNzdm
MTgyZTRlOGJhNTYyODIuLjM0OWJiMDRjN2QyYjQ1Yzg1YjMzNTM3MDFjOTdlNGRmMTdmYjI2Yjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApA
QCAtMTc3LDYgKzE3Nyw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFFbmNvZGluZ1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL05hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3Ir
TWVkaWFDYXBhYmlsaXRpZXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhY29udHJv
bHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhcmVj
b3JkZXIvQmxvYkV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXIuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDRhMGI4NmYzNWVmNWRkNGMzMTQ2ZjkxM2E1NmNlYzJhZjI2
YjVhYjguLjk3NjIzMTRhYjJlZDZiMzI4ODViN2Q2MzI2MmRkMjEyMjhkMzYzYmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yNDg1
LDYgKzI0ODUsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dvcmtlckdsb2JhbFNjb3BlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckxvY2F0aW9uLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJMb2NhdGlvbi5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlck5hdmln
YXRvcitNZWRpYUNhcGFiaWxpdGllcy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyTmF2aWdh
dG9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
b3JrZXJOYXZpZ2F0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNXb3JrZXJPcHRpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggNWM3NzNhNDg5ZGExOWNjMjA4NWVjY2U3MTNlYjAwN2IyMDBmODg1Mi4uMTU5OTRhYmMyMjFh
NzY1ODQ5YzRhNTkwYzQ5NmRmMTYwMjk0YWExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0yMDMsNiArMjAzLDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVz
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5zZmVy
RnVuY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMv
VmlkZW9Db25maWd1cmF0aW9uLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvQmxvYkV2ZW50LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNh
cGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAzZGNiNjUyZTM2NTJhNTNlMjRlOTVkMTg5ZWJm
MTc5NDc0MmNhNmViLi5hNDA4Yjc1YTdmOWI5NWEyZjk5NjMxYWMyNWU1N2NmNmVjM2FiZWYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcApAQCAtMTY4LDE0ICsxNjgsNTggQEAgc3RhdGlj
IGJvb2wgaXNWYWxpZE1lZGlhQ29uZmlndXJhdGlvbihjb25zdCBNZWRpYUNvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgTWVkaWFDYXBhYmls
aXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNl
KQorc3RhdGljIHZvaWQgZ2F0aGVyRGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNr
KQoreworICAgIFJFTEVBU0VfTE9HX0lORk8oTWVkaWEsICJHYXRoZXJpbmcgZGVjb2RpbmcgTWVk
aWFDYXBhYmlsaXRpZXMiKTsKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpE
ZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBkZWNvZGluZ0NhbGxiYWNrID0gW2NhbGxiYWNr
ID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAgICBS
RUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiRmluaXNoZWQgZ2F0aGVyaW5nIGRlY29kaW5nIE1lZGlh
Q2FwYWJpbGl0aWVzIik7CisgICAgICAgIGNhbGxiYWNrKFdURk1vdmUocmVzdWx0KSk7CisgICAg
fTsKKworICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS5tZWRpYUNhcGFiaWxpdGllc0V4dGVu
c2lvbnNFbmFibGVkKCkgJiYgY29uZmlndXJhdGlvbi52aWRlbykKKyAgICAgICAgY29uZmlndXJh
dGlvbi52aWRlby52YWx1ZSgpLmFscGhhQ2hhbm5lbC5yZXNldCgpOworCisjaWYgRU5BQkxFKFZQ
OSkKKyAgICBjb25maWd1cmF0aW9uLmNhbkV4cG9zZVZQOSA9IGRvY3VtZW50LnNldHRpbmdzKCku
dnA5RGVjb2RlckVuYWJsZWQoKTsKKyNlbmRpZgorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisgICAg
aWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYURlY29kaW5nVHlwZTo6V2ViUlRDKSB7Cisg
ICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQucGFnZSgpKQorICAgICAgICAgICAgcGFn
ZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5jcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92
ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShkZWNvZGluZ0NhbGxiYWNrKSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisjZW5kaWYK
KyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVEZWNvZGluZ0NvbmZp
Z3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShkZWNvZGluZ0NhbGxiYWNr
KSk7Cit9CisKK3N0YXRpYyB2b2lkIGdhdGhlckVuY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1l
bnQsIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBj
YWxsYmFjaykKK3sKKyAgICBSRUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiR2F0aGVyaW5nIGVuY29k
aW5nIE1lZGlhQ2FwYWJpbGl0aWVzIik7CisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgZW5jb2RpbmdDYWxsYmFjayA9IFtj
YWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAg
ICAgICAgUkVMRUFTRV9MT0dfSU5GTyhNZWRpYSwgIkZpbmlzaGVkIGdhdGhlcmluZyBlbmNvZGlu
ZyBNZWRpYUNhcGFiaWxpdGllcyIpOworICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKHJlc3VsdCkp
OworICAgIH07CisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICBpZiAoY29uZmlndXJhdGlvbi50
eXBlID09IE1lZGlhRW5jb2RpbmdUeXBlOjpXZWJSVEMpIHsKKyAgICAgICAgaWYgKGF1dG8qIHBh
Z2UgPSBkb2N1bWVudC5wYWdlKCkpCisgICAgICAgICAgICBwYWdlLT5saWJXZWJSVENQcm92aWRl
cigpLmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBX
VEZNb3ZlKGVuY29kaW5nQ2FsbGJhY2spKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKKyNlbmRpZgorICAgIE1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNv
bmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGVuY29kaW5nQ2FsbGJhY2spKTsKK30KKwordm9pZCBNZWRp
YUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgUmVmPERlZmVy
cmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewogICAgIC8vIDIuNCBNZWRpYSBDYXBhYmlsaXRpZXMg
SW50ZXJmYWNlCiAgICAgLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRp
ZXMvI21lZGlhLWNhcGFiaWxpdGllcy1pbnRlcmZhY2UKIAotICAgIGF1dG8gaWRlbnRpZmllciA9
IFdURjo6TG9nZ2VyOjpMb2dTaXRlSWRlbnRpZmllcigiTWVkaWFDYXBhYmlsaXRpZXMiLCBfX2Z1
bmNfXywgdGhpcyk7Ci0gICAgUmVmPExvZ2dlcj4gbG9nZ2VyID0gZG9jdW1lbnQubG9nZ2VyKCk7
Ci0KICAgICAvLyAxLiBJZiBjb25maWd1cmF0aW9uIGlzIG5vdCBhIHZhbGlkIE1lZGlhQ29uZmln
dXJhdGlvbiwgcmV0dXJuIGEgUHJvbWlzZSByZWplY3RlZCB3aXRoIGEgVHlwZUVycm9yLgogICAg
IC8vIDIuIElmIGNvbmZpZ3VyYXRpb24udmlkZW8gaXMgcHJlc2VudCBhbmQgaXMgbm90IGEgdmFs
aWQgdmlkZW8gY29uZmlndXJhdGlvbiwgcmV0dXJuIGEgUHJvbWlzZSByZWplY3RlZCB3aXRoIGEg
VHlwZUVycm9yLgogICAgIC8vIDIuMi4zIElmIGNvbmZpZ3VyYXRpb24gaXMgb2YgdHlwZSBNZWRp
YURlY29kaW5nQ29uZmlndXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vic3RlcHM6CkBAIC0x
OTIsNTEgKzIzNiw0MyBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oRG9j
dW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmlndXJhdAogICAgIC8vIGVmZmVjdHMg
c3VjaCBhcyBlbmFibGluZyBkaWZmZXJlbnQgZGVjb2RpbmcgbW9kdWxlcy4KICAgICAvLyAzLiBJ
ZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIGF1ZGlv
IGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJv
ci4KICAgICBpZiAoIWlzVmFsaWRNZWRpYUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbikpIHsK
LSNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICAgICAgbG9nZ2VyLT5pbmZvKExvZ01lZGlh
LCBpZGVudGlmaWVyLCAiIC0gUmVqZWN0ZWQuIGNvbmZpZ3VyYXRpb246ICIsIGNvbmZpZ3VyYXRp
b24pOwotI2VuZGlmCiAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLm1lZGlhQ2Fw
YWJpbGl0aWVzRXh0ZW5zaW9uc0VuYWJsZWQoKSAmJiBjb25maWd1cmF0aW9uLnZpZGVvKQotICAg
ICAgICBjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVlKCkuYWxwaGFDaGFubmVsLnJlc2V0KCk7Ci0K
LSNpZiBFTkFCTEUoVlA5KQotICAgIGNvbmZpZ3VyYXRpb24uY2FuRXhwb3NlVlA5ID0gZG9jdW1l
bnQuc2V0dGluZ3MoKS52cDlEZWNvZGVyRW5hYmxlZCgpOwotI2VuZGlmCi0KICAgICAvLyA0LiBM
ZXQgcCBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDUuIEluIHBhcmFsbGVsLCBydW4gdGhlIGNy
ZWF0ZSBhIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBhbGdvcml0aG0gd2l0aCBjb25maWd1cmF0aW9u
IGFuZCByZXNvbHZlIHAgd2l0aCBpdHMgcmVzdWx0LgogICAgIC8vIDYuIFJldHVybiBwLgogCi0g
ICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9u
Q2FsbGJhY2sgY2FsbGJhY2sgPSBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZp
ZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpLCBsb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlciksIGRvY3Vt
ZW50ID0gUmVmIHsgZG9jdW1lbnQgfV0oYXV0byBpbmZvKSBtdXRhYmxlIHsKLSNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKLSAgICAgICAgbG9nZ2VyLT5pbmZvKExvZ01lZGlhLCBpZGVudGlmaWVy
LCAiOjpjYWxsYmFjaygpIC0gUmVzb2x2ZWQuIGluZm86ICIsIGluZm8pOwotI2VuZGlmCi0gICAg
ICAgIGRvY3VtZW50LT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVt
ZW50LCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAo
KSBtdXRhYmxlIHsKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGlu
Z0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKSwgY29udGV4dCA9IFJlZiB7IGNvbnRleHQgfV0oYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAg
ICAgICAgY29udGV4dC0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok1lZGlhRWxl
bWVudCwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBpbmZvID0gV1RGTW92ZShpbmZvKV0g
KCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETERpY3Rpb25hcnk8
TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+PihXVEZNb3ZlKGluZm8pKTsKICAgICAgICAg
fSk7CiAgICAgfTsKIAotI2lmIEVOQUJMRShXRUJfUlRDKQotICAgIGlmIChjb25maWd1cmF0aW9u
LnR5cGUgPT0gTWVkaWFEZWNvZGluZ1R5cGU6OldlYlJUQykgewotICAgICAgICBpZiAoYXV0byog
cGFnZSA9IGRvY3VtZW50LnBhZ2UoKSkKLSAgICAgICAgICAgIHBhZ2UtPmxpYldlYlJUQ1Byb3Zp
ZGVyKCkuY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiks
IFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7Cisg
ICAgICAgIGdhdGhlckRlY29kaW5nSW5mbyhkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCksIFdU
Rk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLSNlbmRpZgotICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNy
ZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3Zl
KGNhbGxiYWNrKSk7CisKKyAgICBtX2RlY29kaW5nVGFza3MuYWRkKCsrbV9uZXh0VGFza0lkZW50
aWZpZXIsIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBjb250ZXh0LnBvc3RUYXNrVG9SZXNwb25z
aWJsZURvY3VtZW50KFtjb25maWd1cmF0aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKS5pc29s
YXRlZENvcHkoKSwgY29udGV4dElkZW50aWZpZXIgPSBjb250ZXh0LmNvbnRleHRJZGVudGlmaWVy
KCksIHdlYWtUaGlzID0gV2Vha1B0ciB7IHRoaXMgfSwgdGFza0lkZW50aWZpZXIgPSBtX25leHRU
YXNrSWRlbnRpZmllcl0oYXV0byYgZG9jdW1lbnQpIG11dGFibGUgeworICAgICAgICBnYXRoZXJE
ZWNvZGluZ0luZm8oZG9jdW1lbnQsIFdURk1vdmUoY29uZmlndXJhdGlvbiksIFtjb250ZXh0SWRl
bnRpZmllciwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgdGFza0lkZW50aWZpZXJdKGF1
dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6cG9zdFRhc2tUbyhjb250ZXh0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFr
VGhpcyksIHRhc2tJZGVudGlmaWVyLCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCkuaXNvbGF0ZWRD
b3B5KCldKGF1dG8mKSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gY2Fs
bGJhY2sgPSB3ZWFrVGhpcy0+bV9kZWNvZGluZ1Rhc2tzLnRha2UodGFza0lkZW50aWZpZXIpKQor
ICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKHJlc3VsdCkpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOwogfQogCi12b2lkIE1lZGlhQ2FwYWJpbGl0aWVz
OjplbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVuY29kaW5nQ29uZmlndXJh
dGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3Zv
aWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5nSW5mbyhTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0LCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJp
bGl0aWVzIEludGVyZmFjZQogICAgIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2Fw
YWJpbGl0aWVzLyNtZWRpYS1jYXBhYmlsaXRpZXMtaW50ZXJmYWNlCiAKLSAgICBhdXRvIGlkZW50
aWZpZXIgPSBXVEY6OkxvZ2dlcjo6TG9nU2l0ZUlkZW50aWZpZXIoIk1lZGlhQ2FwYWJpbGl0aWVz
IiwgX19mdW5jX18sIHRoaXMpOwotICAgIFJlZjxMb2dnZXI+IGxvZ2dlciA9IGRvY3VtZW50Lmxv
Z2dlcigpOwotCiAgICAgLy8gMS4gSWYgY29uZmlndXJhdGlvbiBpcyBub3QgYSB2YWxpZCBNZWRp
YUNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJv
ci4KICAgICAvLyAyLiBJZiBjb25maWd1cmF0aW9uLnZpZGVvIGlzIHByZXNlbnQgYW5kIGlzIG5v
dCBhIHZhbGlkIHZpZGVvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQg
d2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAzLiBJZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHBy
ZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIGF1ZGlvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFBy
b21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KQEAgLTI2NCwyNCArMzAwLDI4IEBAIHZv
aWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0CiAgICAgLy8gNS4gSW4gcGFyYWxsZWwsIHJ1biB0aGUgY3Jl
YXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFsZ29yaXRobSB3aXRoIGNvbmZpZ3VyYXRpb24g
YW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQuCiAgICAgLy8gNi4gUmV0dXJuIHAuCiAKLSAg
ICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25D
YWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmll
ciA9IFdURk1vdmUoaWRlbnRpZmllciksIGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwgZG9jdW1l
bnQgPSBSZWYgeyBkb2N1bWVudCB9XShhdXRvIGluZm8pIG11dGFibGUgewotI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAotICAgICAgICBsb2dnZXItPmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIs
ICI6OmNhbGxiYWNrKCkgLSBSZXNvbHZlZC4gaW5mbzogIiwgaW5mbyk7Ci0jZW5kaWYKLSAgICAg
ICAgZG9jdW1lbnQtPmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1l
bnQsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgaW5mbyA9IFdURk1vdmUoaW5mbyldICgp
IG11dGFibGUgeworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5n
Q29uZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpLCBjb250ZXh0ID0gUmVmIHsgY29udGV4dCB9XShhdXRvIGluZm8pIG11dGFibGUgeworICAg
ICAgICBjb250ZXh0LT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVt
ZW50LCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAo
KSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMRGljdGlvbmFyeTxN
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4+KFdURk1vdmUoaW5mbykpOwogICAgICAgICB9
KTsKICAgICB9OwogCi0jaWYgRU5BQkxFKFdFQl9SVEMpCi0gICAgaWYgKGNvbmZpZ3VyYXRpb24u
dHlwZSA9PSBNZWRpYUVuY29kaW5nVHlwZTo6V2ViUlRDKSB7Ci0gICAgICAgIGlmIChhdXRvKiBw
YWdlID0gZG9jdW1lbnQucGFnZSgpKQotICAgICAgICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlk
ZXIoKS5jcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwg
V1RGTW92ZShjYWxsYmFjaykpOworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAg
ICAgICAgZ2F0aGVyRW5jb2RpbmdJbmZvKGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KSwgV1RG
TW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOwogICAgICAgICByZXR1cm47
CiAgICAgfQotI2VuZGlmCiAKLSAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Ojpj
cmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92
ZShjYWxsYmFjaykpOworICAgIG1fZW5jb2RpbmdUYXNrcy5hZGQoKyttX25leHRUYXNrSWRlbnRp
ZmllciwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIGNvbnRleHQucG9zdFRhc2tUb1Jlc3BvbnNp
YmxlRG9jdW1lbnQoW2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLmlzb2xh
dGVkQ29weSgpLCBjb250ZXh0SWRlbnRpZmllciA9IGNvbnRleHQuY29udGV4dElkZW50aWZpZXIo
KSwgd2Vha1RoaXMgPSBXZWFrUHRyIHsgdGhpcyB9LCB0YXNrSWRlbnRpZmllciA9IG1fbmV4dFRh
c2tJZGVudGlmaWVyXShhdXRvJiBkb2N1bWVudCkgbXV0YWJsZSB7CisgICAgICAgIGdhdGhlckVu
Y29kaW5nSW5mbyhkb2N1bWVudCwgV1RGTW92ZShjb25maWd1cmF0aW9uKSwgW2NvbnRleHRJZGVu
dGlmaWVyLCB3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCB0YXNrSWRlbnRpZmllcl0oYXV0
byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
Ojpwb3N0VGFza1RvKGNvbnRleHRJZGVudGlmaWVyLCBbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtU
aGlzKSwgdGFza0lkZW50aWZpZXIsIHJlc3VsdCA9IFdURk1vdmUocmVzdWx0KS5pc29sYXRlZENv
cHkoKV0oYXV0byYpIG11dGFibGUgeworICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICBpZiAoYXV0byBjYWxs
YmFjayA9IHdlYWtUaGlzLT5tX2VuY29kaW5nVGFza3MudGFrZSh0YXNrSWRlbnRpZmllcikpCisg
ICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKFdURk1vdmUocmVzdWx0KSk7CisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgfSk7CisgICAgfSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
aAppbmRleCBiYTEyMzRiYjM4OTczMjZlNjZjYjcyMmM5YmFiNTc3YTg3NmRkODc0Li5iOTU3OTAx
OWMxYTc1YWUxMmQ4MTY0M2M3Nzg3MmJmOTE1YmRlOGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTI1LDE5ICsyNSwyOSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIk1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEZWZlcnJlZFByb21pc2U7Ci1jbGFzcyBEb2N1bWVu
dDsKLXN0cnVjdCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbjsKLXN0cnVjdCBNZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLWNsYXNz
IE1lZGlhQ2FwYWJpbGl0aWVzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFDYXBhYmlsaXRpZXM+
IHsKK2NsYXNzIE1lZGlhQ2FwYWJpbGl0aWVzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFDYXBh
YmlsaXRpZXM+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFDYXBhYmlsaXRpZXM+IHsKIHB1
YmxpYzoKLSAgICB2b2lkIGRlY29kaW5nSW5mbyhEb2N1bWVudCYsIE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgZW5jb2RpbmdJ
bmZvKERvY3VtZW50JiwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVk
UHJvbWlzZT4mJik7CisgICAgc3RhdGljIFJlZjxNZWRpYUNhcGFiaWxpdGllcz4gY3JlYXRlKCkg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYUNhcGFiaWxpdGllcyk7IH0KKworICAgIHZvaWQg
ZGVjb2RpbmdJbmZvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIGVuY29kaW5nSW5m
byhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwg
UmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKK3ByaXZhdGU6CisgICAgTWVkaWFDYXBhYmlsaXRp
ZXMoKSA9IGRlZmF1bHQ7CisKKyAgICB1aW50NjRfdCBtX25leHRUYXNrSWRlbnRpZmllciB7IDAg
fTsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjaz4gbV9kZWNvZGluZ1Rhc2tzOworICAgIEhh
c2hNYXA8dWludDY0X3QsIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5n
Q29uZmlndXJhdGlvbkNhbGxiYWNrPiBtX2VuY29kaW5nVGFza3M7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsCmluZGV4IGY3MjQzMTFmODNl
MzkxNjk4YjZmNDIyNDk4OTcyYWZiZmQ3ZmJlMDEuLjZhODgxNjU0NjdjMWZiY2YzMWZjNzAyNTAx
ZWM5MjZjZjczZjZhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsCkBAIC0yNiw5ICsy
Niw4IEBACiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQs
CiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKLSAgICBKU0N1c3RvbUhlYWRlciwKLSAg
ICBFeHBvc2VkPVdpbmRvdworICAgIEV4cG9zZWQ9KFdpbmRvdyxEZWRpY2F0ZWRXb3JrZXIpCiBd
IGludGVyZmFjZSBNZWRpYUNhcGFiaWxpdGllcyB7Ci0gICAgW0N1c3RvbUVuYWJsZWQsIENhbGxX
aXRoPURvY3VtZW50XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiBkZWNv
ZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7Ci0gICAg
W0N1c3RvbUVuYWJsZWQsIENhbGxXaXRoPURvY3VtZW50XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0
aWVzRW5jb2RpbmdJbmZvPiBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24g
Y29uZmlndXJhdGlvbik7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFBy
b21pc2U8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+IGRlY29kaW5nSW5mbyhNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gUHJvbWlzZTxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4g
ZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMv
TmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKaW5kZXggYTMx
YmFkYjU0YWM5ODFlMGUzYmFkYWZlMjA5ODc4MjlkM2Y3NDAzNS4uNGU4MGJiZmM5NmI1MWNjNDli
YjFmZTlkYTY3MDEyZmZmMmQzNDE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNh
cGFiaWxpdGllcy5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
TmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6Ok5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCkK
LSAgICA6IG1fbWVkaWFDYXBhYmlsaXRpZXMoYWRvcHRSZWYoKm5ldyBNZWRpYUNhcGFiaWxpdGll
cygpKSkKKyAgICA6IG1fbWVkaWFDYXBhYmlsaXRpZXMoTWVkaWFDYXBhYmlsaXRpZXM6OmNyZWF0
ZSgpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNh
cGFiaWxpdGllcy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTA1OGZlOGExMjdlZWM1MjU5NzZkODQ4M2IxZThk
M2U4ZmZjNjZiNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbApAQCAt
MCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlh
LWNhcGFiaWxpdGllcy8jbmF2aWdhdG9ycy1leHRlbnNpb25zCitbCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1NZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQsCisgICAgSW1wbGVtZW50ZWRCeT1Xb3JrZXJO
YXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcworXSBwYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZp
Z2F0b3IgeworICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhQ2FwYWJpbGl0
aWVzIG1lZGlhQ2FwYWJpbGl0aWVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZp
Z2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNmMTQyNjIxMzIwOWRjODU2
YThiOTUwZDI2NjQ0YTYyOTYzN2ExNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRp
ZXMuY3BwCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCIKKworI2luY2x1
ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzLmgiCisjaW5jbHVkZSAiV29ya2VyTmF2aWdhdG9yLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6
Oldvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCkKKyAgICA6IG1fbWVkaWFDYXBhYmls
aXRpZXMoTWVkaWFDYXBhYmlsaXRpZXM6OmNyZWF0ZSgpKQoreworfQorCitXb3JrZXJOYXZpZ2F0
b3JNZWRpYUNhcGFiaWxpdGllczo6fldvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCkg
PSBkZWZhdWx0OworCitjb25zdCBjaGFyKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGll
czo6c3VwcGxlbWVudE5hbWUoKQoreworICAgIHJldHVybiAiV29ya2VyTmF2aWdhdG9yTWVkaWFD
YXBhYmlsaXRpZXMiOworfQorCitXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyYgV29y
a2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6OmZyb20oV29ya2VyTmF2aWdhdG9yJiBuYXZp
Z2F0b3IpCit7CisgICAgYXV0byogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PFdvcmtlck5hdmln
YXRvck1lZGlhQ2FwYWJpbGl0aWVzKj4oU3VwcGxlbWVudDxXb3JrZXJOYXZpZ2F0b3I+Ojpmcm9t
KCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsK
KyAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxXb3JrZXJOYXZpZ2F0b3JN
ZWRpYUNhcGFiaWxpdGllcz4oKTsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQu
Z2V0KCk7CisgICAgICAgIHByb3ZpZGVUbygmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBX
VEZNb3ZlKG5ld1N1cHBsZW1lbnQpKTsKKyAgICB9CisgICAgcmV0dXJuICpzdXBwbGVtZW50Owor
fQorCitNZWRpYUNhcGFiaWxpdGllcyYgV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6
Om1lZGlhQ2FwYWJpbGl0aWVzKFdvcmtlck5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJl
dHVybiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllczo6ZnJvbShuYXZpZ2F0b3IpLm1l
ZGlhQ2FwYWJpbGl0aWVzKCk7Cit9CisKK01lZGlhQ2FwYWJpbGl0aWVzJiBXb3JrZXJOYXZpZ2F0
b3JNZWRpYUNhcGFiaWxpdGllczo6bWVkaWFDYXBhYmlsaXRpZXMoKSBjb25zdAoreworICAgIHJl
dHVybiBtX21lZGlhQ2FwYWJpbGl0aWVzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDkxN2ZhZGMyMjkyNDU4ZmIwYTdkZWQwODRmNTg5OTI3YmExZDA3MQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2Vy
TmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhQ2FwYWJpbGl0aWVzOworY2xhc3MgV29ya2VyTmF2
aWdhdG9yOworCitjbGFzcyBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyBmaW5hbCA6
IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtlck5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgorICAgIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVz
KCk7CisgICAgfldvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCk7CisKKyAgICBzdGF0
aWMgTWVkaWFDYXBhYmlsaXRpZXMmIG1lZGlhQ2FwYWJpbGl0aWVzKFdvcmtlck5hdmlnYXRvciYp
OworICAgIHN0YXRpYyBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyYgZnJvbShXb3Jr
ZXJOYXZpZ2F0b3ImKTsKKworICAgIE1lZGlhQ2FwYWJpbGl0aWVzJiBtZWRpYUNhcGFiaWxpdGll
cygpIGNvbnN0OworcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5h
bWUoKTsKKworICAgIG11dGFibGUgUmVmPE1lZGlhQ2FwYWJpbGl0aWVzPiBtX21lZGlhQ2FwYWJp
bGl0aWVzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3IuY3BwCmluZGV4IGFiNTljNjkyYTQ1Njg1NDAxNzJjYTcwYzlmZWE0MmQ1YTAwYmEyZjYu
LmJiMjYwNjAyNzM5NmY5MjM1ZTdjZTE1NWMzZWE3MDNhNDExMzAwODIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Np
b25Db29yZGluYXRvci5jcHAKQEAgLTMzLDkgKzMzLDEyIEBACiAjaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yU3RhdGUu
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFNZXRhZGF0YS5oIgogI2lu
Y2x1ZGUgIk1lZGlhU2Vzc2lvbi5oIgogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
UHJpdmF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUg
PHd0Zi9Mb2dnZXIuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8
d3RmL1NlY29uZHMuaD4KIAogc3RhdGljIGNvbnN0IFNlY29uZHMgQ29tbWFuZFRpbWVUb2xlcmFu
Y2UgPSA1MF9tczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMjU3MjYxOTBjOTFhZTM4N2RlM2Q0MWVjYjBh
OTY5NjlmZGU2YWUxZS4uMTNmNjEyMTg1ODc3OTMyZTVkMjdhMjMwMzg3MTlhYmIzMjRmODI0ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKQEAgLTEzMSw2ICsxMzEsNyBAQCBNb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSURCVHJhbnNhY3Rpb25JbmZvLmNwcAogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luZGV4
S2V5LmNwcAogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAK
IE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3Bw
CitNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0
aWVzLmNwcAogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFNZXRhZGF0YS5jcHAKIE1vZHVsZXMv
bWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAKIE1vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlh
U2Vzc2lvbkNvb3JkaW5hdG9yLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGExMjM2ZWZlYjczMDhkNTM5MGU1ZjhjZTBkMjc2
OTRkYTQxMmQxOWUuLmE3MmJjZmU2MTlmYjAyMGUxZWNlZmZkYjZlMmU2MTM0ODQyMGQ3MTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTgxODcsNyArODE4Nyw5IEBACiAJCTQxOEZDQkNCMjcwNkYzQ0QwMEY5NkVDQSAvKiBTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUrUHVzaEFQSS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZStQdXNoQVBJLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEZD
QkNDMjcwNkY0MzQwMEY5NkVDQSAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4RkNCQ0QyNzA2RjQzNDAwRjk2RUNBIC8qIFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTQxOEZDQkU4MjcxNUFBMTkwMEY5NkVDQSAvKiBKU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9t
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCRUEyNzE1QjYwRjAwRjk2RUNBIC8qIFdvcmtlck5h
dmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIldvcmtlck5hdmlnYXRvcitNZWRp
YUNhcGFiaWxpdGllcy5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JF
QzI3MTVCODUxMDBGOTZFQ0EgLyogV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCRUQyNzE1Qjg1MjAwRjk2RUNBIC8qIFdvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJhbWVSYXRlTW9uaXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAv
KiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZy
YW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MjQyNDcy
MTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzI4NSw3
ICsyMzI4Nyw2IEBACiAJCQkJQTdEMDMxOEQwRTkzNTQwMzAwRTI0QUNEIC8qIEpTSW1hZ2VEYXRh
Q3VzdG9tLmNwcCAqLywKIAkJCQk1ODY4QzdENTI1NDZFMEIzMDBCRjlERjMgLyogSlNJbnRlcnNl
Y3Rpb25PYnNlcnZlckN1c3RvbS5jcHAgKi8sCiAJCQkJNzdDMTNGMDQyMTY1NjU4QTAwMkQ5QzVG
IC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeUN1c3RvbS5jcHAgKi8sCi0JCQkJNDE4RkNC
RTgyNzE1QUExOTAwRjk2RUNBIC8qIEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaCAqLywKIAkJ
CQlBRDcyNkZFNzE2RDlGMjA0MDAzQTRFNkQgLyogSlNNZWRpYUxpc3RDdXN0b20uaCAqLywKIAkJ
CQk0MTVDREFGNjFFNkNFMEQzMDA0RjExRUUgLyogSlNNZWRpYVN0cmVhbVRyYWNrQ3VzdG9tLmNw
cCAqLywKIAkJCQlFMUE1Rjk5QTBFN0VBQTI1MDBBRjg1RUEgLyogSlNNZXNzYWdlQ2hhbm5lbEN1
c3RvbS5jcHAgKi8sCkBAIC0yODgyMSw2ICsyODgyMiw5IEBACiAJCQkJQ0RCRDNEMzkxRkU4NUND
MTAwMTJDNTQ1IC8qIE5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmggKi8sCiAJCQkJQ0Q0RTRF
NjIyMzU3QjNBRDAwNzg5NUMzIC8qIFRyYW5zZmVyRnVuY3Rpb24uaWRsICovLAogCQkJCUNEQkQz
RDI4MUZFODVDQjgwMDEyQzU0NSAvKiBWaWRlb0NvbmZpZ3VyYXRpb24uaWRsICovLAorCQkJCTQx
OEZDQkVBMjcxNUI2MEYwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRp
ZXMuaWRsICovLAorCQkJCTQxOEZDQkVEMjcxNUI4NTIwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0
b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAgKi8sCisJCQkJNDE4RkNCRUMyNzE1Qjg1MTAwRjk2RUNB
IC8qIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmggKi8sCiAJCQkpOwogCQkJcGF0
aCA9IG1lZGlhY2FwYWJpbGl0aWVzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0
b20uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0
b20uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODI0NzI3Nzk5MDZkYzc4OTUxYjNh
YTAyZGQxMmNiOGMwNmY4YjMzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVz
Q3VzdG9tLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3By
YWdtYSBvbmNlCi0KLSNpbmNsdWRlICJNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotQUxXQVlTX0lOTElORSBib29sIEpTTWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm9Jc0VuYWJsZWQoKQotewotI2lmIEVOQUJMRShXRUJfUlRDKQot
ICAgIHJldHVybiB0cnVlOwotI2Vsc2UKLSAgICByZXR1cm4gTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6aGFzRW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOwotI2VuZGlmCi19
Ci0KLUFMV0FZU19JTkxJTkUgYm9vbCBKU01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvSXNF
bmFibGVkKCkKLXsKLSNpZiBFTkFCTEUoV0VCX1JUQykKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbHNl
Ci0gICAgcmV0dXJuIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0RlY29kaW5n
Q29uZmlndXJhdGlvbkZhY3RvcnkoKTsKLSNlbmRpZgotfQotCi19CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggZDI0YjAxYjc3MzZjNWNiNThm
NjlhN2Q5OGQ2YzRiNzBiNjQ5OGJjMy4uOTA0NjZkZjU1MTUwZmY1ODg4MGEzYmQ4MDExMmUyOTMx
Yzc4MGZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmNwcApAQCAtNjgyLDQgKzY4MiwyNyBAQCBib29sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmVu
c3VyZU9uQ29udGV4dFRocmVhZChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZgogICAgIHJl
dHVybiB0cnVlOwogfQogCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnBvc3RUYXNrVG9S
ZXNwb25zaWJsZURvY3VtZW50KEZ1bmN0aW9uPHZvaWQoRG9jdW1lbnQmKT4mJiBjYWxsYmFjaykK
K3sKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KHRoaXMpKSB7CisgICAgICAgIGNhbGxiYWNrKGRvd25j
YXN0PERvY3VtZW50PigqdGhpcykpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQVNT
RVJUKGlzPFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPih0aGlzKSk7CisgICAgaWYgKCFpczxX
b3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZT4odGhpcykpCisgICAgICAgIHJldHVybjsKKworICAg
IGF1dG8qIHRocmVhZCA9IGRvd25jYXN0PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPih0aGlz
KS0+d29ya2VyT3JXb3JrbGV0VGhyZWFkKCk7CisgICAgaWYgKHRocmVhZCkgeworICAgICAgICB0
aHJlYWQtPndvcmtlckxvYWRlclByb3h5KCkucG9zdFRhc2tUb0xvYWRlcihbY2FsbGJhY2sgPSBX
VEZNb3ZlKGNhbGxiYWNrKV0oYXV0byYmIGNvbnRleHQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNr
KGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKGF1dG8gZG9jdW1lbnQgPSBkb3duY2FzdDxXb3JrbGV0R2xv
YmFsU2NvcGU+KHRoaXMpLT5yZXNwb25zaWJsZURvY3VtZW50KCkpCisgICAgICAgIGNhbGxiYWNr
KCpkb2N1bWVudCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IDE2Yzg2NmYzOTQ4NmFkZDFlZGEz
ZGEzMjBiNTEwNDZkMjVjMzA0NWUuLjI1ZmIwMGU2MTMyM2U5ODI5NjBhMjg1MGQ3ZTEzN2JmNTI2
YmE2ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApA
QCAtMjIzLDYgKzIyMyw4IEBAIHB1YmxpYzoKICAgICAgICAgfSk7CiAgICAgfQogCisgICAgdm9p
ZCBwb3N0VGFza1RvUmVzcG9uc2libGVEb2N1bWVudChGdW5jdGlvbjx2b2lkKERvY3VtZW50Jik+
JiYpOworCiAgICAgLy8gR2V0cyB0aGUgbmV4dCBpZCBpbiBhIGNpcmN1bGFyIHNlcXVlbmNlIGZy
b20gMSB0byAyXjMxLTEuCiAgICAgaW50IGNpcmN1bGFyU2VxdWVudGlhbElEKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5n
SW5mby5oCmluZGV4IDRjZWIxZDExNzJhMDczNDViOGQzZjE2ZWFmNTAxMTFkNDk2NTUwNzQuLmZl
NDAzOTc4Zjk4YzdlZjMxMWI1MjI4Y2ViOGI0MmIxYmZiZDVkMjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaApA
QCAtNDcsMTAgKzQ3LDE3IEBAIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyA6
IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyB7CiAKICAgICBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
biBzdXBwb3J0ZWRDb25maWd1cmF0aW9uOwogCisgICAgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGlu
Z0luZm8gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
PiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+IGRl
Y29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8gTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm86Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIHsgTWVkaWFDYXBhYmlsaXRpZXNJbmZvOjppc29sYXRlZENvcHkoKSwgc3Vw
cG9ydGVkQ29uZmlndXJhdGlvbi5pc29sYXRlZENvcHkoKSB9OworfQorCiB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPgogdm9pZCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaAppbmRleCBhZDcyOWEwMTZmNmIz
ZDE2ZjI1ZWIwZGFlOTgyZmNiYzcyZTIyOTZjLi5jMmIyNTA5MGYwNTIyZDVkY2Q2ZjUxYjU0YmFj
MjlhZGIzYmQzMWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNh
cGFiaWxpdGllc0VuY29kaW5nSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01l
ZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgKQEAgLTQ3LDEwICs0NywxNyBAQCBzdHJ1Y3Qg
TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8gOiBNZWRpYUNhcGFiaWxpdGllc0luZm8gewog
CiAgICAgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsK
IAorICAgIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvIGlzb2xhdGVkQ29weSgpIGNvbnN0
OworCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNv
bnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1l
ZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5s
aW5lIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IE1lZGlhQ2FwYWJp
bGl0aWVzSW5mbzo6aXNvbGF0ZWRDb3B5KCksIHN1cHBvcnRlZENvbmZpZ3VyYXRpb24uaXNvbGF0
ZWRDb3B5KCkgfTsKK30KKwogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZv
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaAppbmRl
eCAxMjIwZWM1NGIyODA4ZmVlNzBlODBiNDdjOWJhZjljN2I2Y2RkMzFhLi5hODM3Y2M1ZDk5YjFi
ZjY1MGQyZjcxZDZhNDhkZjY1MDRhMzk4OWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaApAQCAtMzQsMTAgKzM0LDE3IEBAIHN0cnVjdCBN
ZWRpYUNhcGFiaWxpdGllc0luZm8gewogICAgIGJvb2wgc21vb3RoIHsgZmFsc2UgfTsKICAgICBi
b29sIHBvd2VyRWZmaWNpZW50IHsgZmFsc2UgfTsKIAorICAgIE1lZGlhQ2FwYWJpbGl0aWVzSW5m
byBpc29sYXRlZENvcHkoKSBjb25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZv
aWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBz
dGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0luZm8+IGRlY29kZShEZWNvZGVy
Jik7CiB9OwogCitpbmxpbmUgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIE1lZGlhQ2FwYWJpbGl0aWVz
SW5mbzo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gKnRoaXM7Cit9CisKIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCmlu
ZGV4IDRmYjBmM2I4MGQwZTZkMDc2YzY0NzgzYTc0NGRjYjBhYjNjNThiMWIuLjZlMWU4ZDFmY2Jh
Nzg5MGQ5NjQ3NjBlODQzNjFhNTVmMTA5OGI3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlv
bi5oCkBAIC0zNiwxMCArMzYsMTcgQEAgc3RydWN0IEF1ZGlvQ29uZmlndXJhdGlvbiB7CiAgICAg
c3RkOjpvcHRpb25hbDx1aW50MzJfdD4gc2FtcGxlcmF0ZTsKICAgICBzdGQ6Om9wdGlvbmFsPGJv
b2w+IHNwYXRpYWxSZW5kZXJpbmc7CiAKKyAgICBBdWRpb0NvbmZpZ3VyYXRpb24gaXNvbGF0ZWRD
b3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShF
bmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6
b3B0aW9uYWw8QXVkaW9Db25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5s
aW5lIEF1ZGlvQ29uZmlndXJhdGlvbiBBdWRpb0NvbmZpZ3VyYXRpb246Omlzb2xhdGVkQ29weSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHsgY29udGVudFR5cGUuaXNvbGF0ZWRDb3B5KCksIGNoYW5u
ZWxzLmlzb2xhdGVkQ29weSgpLCBiaXRyYXRlLCBzYW1wbGVyYXRlLCBzcGF0aWFsUmVuZGVyaW5n
IH07Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIEF1ZGlvQ29uZmlndXJhdGlv
bjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJh
dGlvbi5oCmluZGV4IDJjM2IxNzU4ZjczMmNlOTk4ZDdiMDVhNDE0ZTRmOWI2ZmQ1NWNlOGIuLmVm
YWM0Yzc5NGRjZmViNDczMTU2YmQzZjQ1ZmRlNTljZmZmMDg1MzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29u
ZmlndXJhdGlvbi5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJBdWRpb0NvbmZpZ3Vy
YXRpb24uaCIKICNpbmNsdWRlICJWaWRlb0NvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlIDx3dGYv
Q3Jvc3NUaHJlYWRDb3BpZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNCwxMCAr
MzUsMTcgQEAgc3RydWN0IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAgICAgc3RkOjpvcHRpb25hbDxW
aWRlb0NvbmZpZ3VyYXRpb24+IHZpZGVvOwogICAgIHN0ZDo6b3B0aW9uYWw8QXVkaW9Db25maWd1
cmF0aW9uPiBhdWRpbzsKIAorICAgIE1lZGlhQ29uZmlndXJhdGlvbiBpc29sYXRlZENvcHkoKSBj
b25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXIm
KSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25h
bDxNZWRpYUNvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgTWVk
aWFDb25maWd1cmF0aW9uIE1lZGlhQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCkgY29uc3QK
K3sKKyAgICByZXR1cm4geyBjcm9zc1RocmVhZENvcHkodmlkZW8pLCAgY3Jvc3NUaHJlYWRDb3B5
KGF1ZGlvKSB9OworfQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBNZWRpYUNvbmZp
Z3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgKaW5kZXggZmViYzhhZGYzYTQyNGNjZTMyYWQ1
YzE4YmEzZGMyNTBlN2ZjYWVmMC4uM2U5YjM0YmFmM2FjNGEzMDg5ZTQ3MTJmZTM2MzVlM2Y4ODhl
NzQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oCkBAIC0z
NSwxMCArMzUsMTcgQEAgc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIDogTWVkaWFD
b25maWd1cmF0aW9uIHsKIAogICAgIGJvb2wgY2FuRXhwb3NlVlA5IHsgdHJ1ZSB9OwogCisgICAg
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAg
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24gTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb246Omlzb2xhdGVkQ29w
eSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgTWVkaWFDb25maWd1cmF0aW9uOjppc29sYXRlZENv
cHkoKSwgdHlwZSwgY2FuRXhwb3NlVlA5IH07Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+
CiB2b2lkIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oCmlu
ZGV4IDE5YjdmNzRjMmQxNThkNTFlZDk5NTcyMjQzNGM5NTQzOTNlYzVmMGQuLjU5NjgxNzc4MjQz
NTc0YzIxMzUwYzUxMGZkYTIxNzQyYzg4ZmQ1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24uaApAQCAtMzMsMTAgKzMzLDE3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIHN0cnVjdCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiA6IE1lZGlhQ29uZmlndXJhdGlv
biB7CiAgICAgTWVkaWFFbmNvZGluZ1R5cGUgdHlwZTsKIAorICAgIE1lZGlhRW5jb2RpbmdDb25m
aWd1cmF0aW9uIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uPiBk
ZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5lIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAg
IHJldHVybiB7IE1lZGlhQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCksIHR5cGUgfTsKK30K
KwogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRp
b246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3Vy
YXRpb24uaAppbmRleCA2MGY5ZjMzM2NiYTcyMTU2N2ExYzg3YWU4MWUyNGFlMjQ2YzVkNTY2Li5l
ODYzMWYyY2YxNzY3ZWFmYjg1ZDU1NmEwZGU3YjI1NGMwNWIyYjg3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0Nv
bmZpZ3VyYXRpb24uaApAQCAtNDMsMTAgKzQzLDE3IEBAIHN0cnVjdCBWaWRlb0NvbmZpZ3VyYXRp
b24gewogICAgIHN0ZDo6b3B0aW9uYWw8SGRyTWV0YWRhdGFUeXBlPiBoZHJNZXRhZGF0YVR5cGU7
CiAgICAgc3RkOjpvcHRpb25hbDxUcmFuc2ZlckZ1bmN0aW9uPiB0cmFuc2ZlckZ1bmN0aW9uOwog
CisgICAgVmlkZW9Db25maWd1cmF0aW9uIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVt
cGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRl
bXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZpZGVvQ29uZmlndXJh
dGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBWaWRlb0NvbmZpZ3VyYXRpb24g
VmlkZW9Db25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7
IGNvbnRlbnRUeXBlLmlzb2xhdGVkQ29weSgpLCB3aWR0aCwgaGVpZ2h0LCBiaXRyYXRlLCBmcmFt
ZXJhdGUsIGFscGhhQ2hhbm5lbCwgY29sb3JHYW11dCwgaGRyTWV0YWRhdGFUeXBlLCB0cmFuc2Zl
ckZ1bmN0aW9uIH07Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIFZpZGVvQ29u
ZmlndXJhdGlvbjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwNThmOTY4OGFlODY5NWNjODQyYzVjYjRmYWU5M2E2YjE2
N2E2N2NmLi5jYWQ1OGMyMjliYzllYWUwOWIzYzg5MTI2NmM1Y2JmZDhiOWI5ZGRmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0xMC0xNSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwb3NlIE1lZGlhQ2Fw
YWJpbGl0aWVzIHRvIFdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMTU3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFsbG93IHJ1bm5pbmcgZW5jb2RpbmcgdGVzdHMgaW4gd29ya2VycyBhcyB3
ZWxsIGFzIGluIHdpbmRvdy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFu
eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuanM6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
ZW5jb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29y
a2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvZW5jb2RpbmdJbmZvLWV4cGVjdGVkOiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxo
YXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEwLTE1ICBBbGV4ZXkgU2h2
YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBKU0RPTUJ1
aWx0aW5Db25zdHJ1Y3RvciBpbnN0YW5jZXMgc2hvdWxkIHN1cHBvcnQgc3ViY2xhc3NpbmcKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA4MTI4MGYyMjBm
ZWJlYmNkNmFhODRmN2EwYjA3ZTBmYjIzZjc4Njc0Li4xNTY1OTRiMWJhZmNhNDljMjY1Y2UyMjBj
YjhlYjZkMGMwNmUxZGIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0CkBAIC0xLDMxICsxLDMxIEBACiAKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyBy
ZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbiB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVk
aWFDb25maWd1cmF0aW9uIGlzbid0IHZhbGlkIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRp
b24gZG9lcyBub3QgaGF2ZSBhIHR5cGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24n
dCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVvIGZpZWxkIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykK
LUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycp
Ci1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8n
KQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8gdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUg
cGFyYW1ldGVyIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhh
cyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
JykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRo
ZSBmb3JtIG9mIHgveSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAgdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0
cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykK
LUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBm
b3JtIG9mIC14L3kgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8teSB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3Rz
IGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1G
QUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRoIHRyYWls
aW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9u
IGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlM
IFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
JykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMgdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIg
dGhhdCBpc24ndCBjb2RlY3MgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2Jq
ZWN0cyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxp
ZCB0eXBlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyB3aXRoIHNwYXRpYWxSZW5kZXJpbmcgc2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFi
aWxpdGllc0luZm8gb2JqZWN0cyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gd2l0aCBoZHJNZXRhZGF0YVR5cGUsIGNvbG9yR2FtdXQsIGFuZCB0
cmFuc2ZlckZ1bmN0aW9uIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZv
IG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGFuIGVtcHR5IGhk
ck1ldGFkYXRhVHlwZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBjb2xv
ckdhbXV0IHNldCB0byB0cnVlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBh
IHRyYW5zZmVyRnVuY3Rpb24gc2V0IHRvIDMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25m
aWd1cmF0aW9uCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVk
aWFDb25maWd1cmF0aW9uIGlzbid0IHZhbGlkCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlCitQ
QVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBk
b2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZl
IGZyYW1lcmF0ZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQQVNTIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBm
cmFtZXJhdGUgc2V0IHRvIEluZmluaXR5CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNl
CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCitGQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhh
dmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNv
bnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kK
K1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBm
b3JtIG9mIHgvMAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgaW4gdGhlIGZvcm0gb2YgMC95CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWpl
Y3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95CitQQVNTIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15CitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Lwor
UEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFp
bGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNl
CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmln
dXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvCitGQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBo
YXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBj
b250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworRkFJTCBUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8g
b2JqZWN0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmlu
ZWQiCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25m
aWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlCitGQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gd2l0aCBzcGF0aWFsUmVuZGVyaW5nIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFD
YXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIg
YnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggaGRy
TWV0YWRhdGFUeXBlLCBjb2xvckdhbXV0LCBhbmQgdHJhbnNmZXJGdW5jdGlvbiBzZXQgcmV0dXJu
cyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhbiBlbXB0eSBo
ZHJNZXRhZGF0YVR5cGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGNvbG9yR2FtdXQgc2V0IHRvIHRydWUKK1BBU1Mg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9u
IGhhcyBhIHRyYW5zZmVyRnVuY3Rpb24gc2V0IHRvIDMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5j
b2RpbmdJbmZvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjZTc1YjI3ZDBkNzYxNDBiYTcyNWRiNWNi
ZTI2M2ZhNzIxMGI0YTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDI2ICswLDAgQEAKLQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQg
ZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGlzbid0IHZhbGlkCi1QQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMg
bm90IGhhdmUgYSB0eXBlCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKLVBB
U1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0
byAwCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5Ci1QQVNTIFRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50
VHlwZSBkb2Vzbid0IHBhcnNlCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVv
Ci1GQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIgYXNzZXJ0X3Vu
cmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUKLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRl
byBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3Qg
Y29kZWNzCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBp
biB0aGUgZm9ybSBvZiB4L3kKLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMg
ZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvMAotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
KCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95Ci1QQVNTIFRlc3QgdGhhdCBl
bmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95Ci1QQVNT
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBv
ZiB4Ly15Ci1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBp
biB0aGUgZm9ybSBvZiB4LwotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBm
cmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycwotUEFTUyBUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVu
VHlwZSBkb2Vzbid0IHBhcnNlCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlv
Ci1GQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmln
dXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIGFzc2VydF91
bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNo
YWJsZSBjb2RlCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVk
aW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0
IGNvZGVjcwotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRp
YUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBmb3IgcmVjb3JkIHR5cGUKLVBBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3Qg
aGF2ZSBhIHZhbGlkIHR5cGUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yY2U3NWIyN2QwZDc2MTQwYmE3MjVkYjVjYmUyNjNmYTcyMTBiNGE5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwy
NiBAQAorCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0
IGdldCBhIGNvbmZpZ3VyYXRpb24KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQKK1BBU1MgVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2
ZSBhIHR5cGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25m
aWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZAorUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFz
IGEgbmVnYXRpdmUgZnJhbWVyYXRlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAKK1BB
U1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRv
ZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8KK0ZBSUwg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9u
IGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciBhc3NlcnRfdW5yZWFjaGVk
OiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MK
K1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBm
b3JtIG9mIHgveQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgaW4gdGhlIGZvcm0gb2YgeC8wCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWpl
Y3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5n
SW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIC14L3kKK1BBU1MgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkK
K1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBm
b3JtIG9mIHgvCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0
ZSB3aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzCitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRv
ZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBh
dWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8KK0ZBSUwg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9u
IGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMgYXNzZXJ0X3VucmVhY2hl
ZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNz
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJp
bGl0aWVzSW5mbyBvYmplY3RzIGZvciByZWNvcmQgdHlwZQorUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEg
dmFsaWQgdHlwZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9lbmNvZGluZ0luZm8uYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1
ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby5hbnkuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGlu
Z0luZm8uYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODgy
YjBhZTkxMTdhYjI2OGZmNTcxMGY3ZjliMzk3YjFkYWVkYmJmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvZW5jb2RpbmdJbmZvLmFueS5qcwpAQCAtMCwwICsxLDMxMCBAQAorLy8gTWluaW1hbCBW
aWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRp
b25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsVmlkZW9Db25maWd1
cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4x
MC4wOCInLAorICB3aWR0aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAgYml0cmF0ZTogMzAwMCwK
KyAgZnJhbWVyYXRlOiAyNCwKK307CisKKy8vIE1pbmltYWwgV2ViUlRDIFZpZGVvQ29uZmlndXJh
dGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9w
ZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxXZWJydGNWaWRlb0NvbmZpZ3VyYXRpb24g
PSB7CisgIGNvbnRlbnRUeXBlOiAndmlkZW8vVlA5JywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0
OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5p
bWFsIEF1ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxs
IG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxBdWRpb0Nv
bmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVz
IicsCit9OworCisvLyBNaW5pbWFsIFdlYlJUQyBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxs
IGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlz
c2luZy4KK3ZhciBtaW5pbWFsV2VicnRjQXVkaW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50
VHlwZTogJ2F1ZGlvL29wdXMnLAorfTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbygpKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMg
aWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uIik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oe30pKTsKK30sICJUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZCIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlw
ZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB2
aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlv
Q29uZmlndXJhdGlvbiwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlIik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6
ICdyZWNvcmQnLAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwg
VHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAg
ICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRl
by93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAg
ICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IC0x
LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6
ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07
IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdo
dDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMCwKKyAgICB9
LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRl
byBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCIpOworCitwcm9taXNlX3Rl
c3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3Jk
JywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9
InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwK
KyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IEluZmluaXR5LAorICAgIH0s
CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVv
IGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
cmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdmZ2VvYScsCisgICAg
ICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAor
ICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRv
ZXNuJ3QgcGFyc2UiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRl
bnRUeXBlOiAnYXVkaW8vZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDog
NjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwK
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdy
ZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNv
ZGVjcz0idnAwOS4wMC4xMC4wOCI7IGZvbz0iYmFyIicsCisgICAgICB3aWR0aDogODAwLAorICAg
ICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAy
NCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBh
cmFtZXRlciIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVj
dHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5
cGU6ICd2aWRlby93ZWJtOyBmb289ImJhciInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhl
aWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisg
ICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlz
bid0IGNvZGVjcyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVu
dFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRo
OiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBm
cmFtZXJhdGU6ICcyNDAwMC8xMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95Iik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6
ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07
IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdo
dDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLzAn
LAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZy
YW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86
IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4
IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRl
OiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMC8xMDAwMScsCisgICAgfQorICB9KSk7Cit9LCAi
VGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9m
IDAveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6
ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAs
CisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJh
dGU6ICctMjQwMDAvMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95Iik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdy
ZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNv
ZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDog
NjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLy0xMDAw
MScsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMg
ZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlk
ZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEw
LjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRy
YXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvJywKKyAgICB9CisgIH0pKTsKK30s
ICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0g
b2YgeC8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBl
OiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAw
LAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVy
YXRlOiAnMS8zeCcsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygp
IHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMiKTsK
KworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ3JlY29yZCcsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdmZ2VvYScgfSwKKyAg
fSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29u
ZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisg
ICAgYXVkaW86IHsgY29udGVudFR5cGU6ICd2aWRlby9mZ2VvYScgfSwKKyAgfSkpOworfSwgIlRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBj
b250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1
ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIjsgZm9vPSJiYXIi
JyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBh
dWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRl
cnMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pz
KHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby93
ZWJtOyBmb289ImJhciInIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJh
bWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1
cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTog
J3JlY29yZCcsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVk
aW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7Cisg
ICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAg
YXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsK
KyAgfSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFD
YXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9yIHJlY29yZCB0eXBlIik7CisKK2FzeW5jX3Rlc3Qo
dCA9PiB7CisgIHZhciB2YWxpZFR5cGVzID0gWyAncmVjb3JkJywgJ3dlYnJ0YycgXTsKKyAgdmFy
IGludmFsaWRUeXBlcyA9IFsgdW5kZWZpbmVkLCBudWxsLCAnJywgJ2Zvb2JhcicsICdtc2UnLCAn
TWVkaWFTb3VyY2UnLAorICAgICAgICAgICAgICAgICAgICAgICAnZmlsZScsICdtZWRpYS1zb3Vy
Y2UnLCBdOworCisgIHZhciB2YWxpZFByb21pc2VzID0gW107CisgIHZhciBpbnZhbGlkQ2F1Z2h0
ID0gMDsKKworICB2YWxpZFR5cGVzLmZvckVhY2godHlwZSA9PiB7CisgICAgdmFsaWRQcm9taXNl
cy5wdXNoKG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgICAg
dHlwZTogdHlwZSwKKyAgICAgIHZpZGVvOiB0eXBlICE9ICJ3ZWJydGMiID8gbWluaW1hbFZpZGVv
Q29uZmlndXJhdGlvbiA6IG1pbmltYWxXZWJydGNWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgICBh
dWRpbzogdHlwZSAhPSAid2VicnRjIiA/IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24gOiBtaW5p
bWFsV2VicnRjQXVkaW9Db25maWd1cmF0aW9uLAorICAgIH0pKTsKKyAgfSk7CisKKyAgLy8gdmFs
aWRUeXBlcyBhcmUgdGVzdGVkIHZpYSBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKSBiZWNhdXNl
IGlmIG9uZSBvZiB0aGUKKyAgLy8gcHJvbWlzZXMgZmFpbCwgUHJvbWlzZS5hbGwoKSB3aWxsIHJl
amVjdC4gVGhpcyBtZWNoYW5pc20gY2FuJ3QgYmUgdXNlZCBmb3IKKyAgLy8gaW52YWxpZCB0eXBl
cyB3aGljaCB3aWxsIGJlIHRlc3RlZCBpbmRpdmlkdWFsbHkgYW5kIGluY3JlbWVudCBpbnZhbGlk
Q2F1Z2h0CisgIC8vIHdoZW4gcmVqZWN0ZWQgdW50aWwgdGhlIGFtb3VudCBvZiByZWplY3Rpb24g
bWF0Y2hlcyB0aGUgZXhwZWN0YXRpb24uCisgIFByb21pc2UuYWxsKHZhbGlkUHJvbWlzZXMpLnRo
ZW4odC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW52YWxpZFR5
cGVzLmxlbmd0aDsgKytpKSB7CisgICAgICBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKHsKKyAgICAgICAgdHlwZTogaW52YWxpZFR5cGVzW2ldLAorICAgICAgICB2aWRl
bzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICAgICAgYXVkaW86IG1pbmltYWxBdWRp
b0NvbmZpZ3VyYXRpb24sCisgICAgICB9KS50aGVuKHQudW5yZWFjaGVkX2Z1bmMoKSwgdC5zdGVw
X2Z1bmMoZSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZS5uYW1lLCAnVHlwZUVycm9yJyk7
CisgICAgICAgICsraW52YWxpZENhdWdodDsKKyAgICAgICAgaWYgKGludmFsaWRDYXVnaHQgPT0g
aW52YWxpZFR5cGVzLmxlbmd0aCkKKyAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0pKTsKKyAg
ICB9CisgIH0pLCB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlLmFsbCBzaG91bGQgbm90IHJlamVj
dCBmb3IgdmFsaWQgdHlwZXMnKSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
Y2U3NWIyN2QwZDc2MTQwYmE3MjVkYjVjYmUyNjNmYTcyMTBiNGE5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjYgQEAKKworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24n
dCBnZXQgYSBjb25maWd1cmF0aW9uCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGlzbid0IHZhbGlkCitQQVNTIFRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhh
dmUgYSB0eXBlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29u
ZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhh
cyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5CitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBk
b2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCitGQUlM
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIgYXNzZXJ0X3VucmVhY2hl
ZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNz
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUg
Zm9ybSBvZiB4L3kKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVy
YXRlIGluIHRoZSBmb3JtIG9mIHgvMAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95CitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUg
Zm9ybSBvZiB4LworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycworUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBk
b2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
YXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvCitGQUlM
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIGFzc2VydF91bnJlYWNo
ZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVj
cworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFi
aWxpdGllc0luZm8gb2JqZWN0cyBmb3IgcmVjb3JkIHR5cGUKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBh
IHZhbGlkIHR5cGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4
MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBU
aGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1
biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmMyZjBmNWFkZDMzYTc0MGQ3OGRjOWEy
MDFjMzdmOGY5N2Q5Mjg2OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMxOCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTx0aXRsZT5NZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oKTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotLy8gTWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3
aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAotLy8gcHJvcGVydGllcyBhcmUg
bWlzc2luZy4KLXZhciBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uID0gewotICBjb250ZW50VHlw
ZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAotICB3aWR0aDogODAwLAot
ICBoZWlnaHQ6IDYwMCwKLSAgYml0cmF0ZTogMzAwMCwKLSAgZnJhbWVyYXRlOiAyNCwKLX07Ci0K
LS8vIE1pbmltYWwgV2ViUlRDIFZpZGVvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dl
ZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCi0vLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgotdmFy
IG1pbmltYWxXZWJydGNWaWRlb0NvbmZpZ3VyYXRpb24gPSB7Ci0gIGNvbnRlbnRUeXBlOiAndmlk
ZW8vVlA5JywKLSAgd2lkdGg6IDgwMCwKLSAgaGVpZ2h0OiA2MDAsCi0gIGJpdHJhdGU6IDMwMDAs
Ci0gIGZyYW1lcmF0ZTogMjQsCi19OwotCi0vLyBNaW5pbWFsIEF1ZGlvQ29uZmlndXJhdGlvbiB0
aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCi0vLyBwcm9wZXJ0aWVz
IGFyZSBtaXNzaW5nLgotdmFyIG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24gPSB7Ci0gIGNvbnRl
bnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicsCi19OwotCi0vLyBNaW5pbWFsIFdl
YlJUQyBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFs
bCBvcHRpb25hbAotLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KLXZhciBtaW5pbWFsV2VicnRj
QXVkaW9Db25maWd1cmF0aW9uID0gewotICBjb250ZW50VHlwZTogJ2F1ZGlvL29wdXMnLAotfTsK
LQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbygpKTsKLX0s
ICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25m
aWd1cmF0aW9uIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oe30pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1l
ZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZCIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0g
IHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmln
dXJhdGlvbiwKLSAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKLSAgfSkpOwot
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0
aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICB9KSk7Ci19LCAi
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNu
J3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7
Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2
aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAu
MTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJp
dHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6IC0xLAotICAgIH0sCi0gIH0pKTsKLX0sICJU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
aGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7
Ci0gICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCIn
LAotICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTog
MzAwMCwKLSAgICAgIGZyYW1lcmF0ZTogMCwKLSAgICB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZy
YW1lcmF0ZSBzZXQgdG8gMCIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKLSAgICAg
IHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0g
ICAgICBmcmFtZXJhdGU6IEluZmluaXR5LAotICAgIH0sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJh
bWVyYXRlIHNldCB0byBJbmZpbml0eSIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVy
biBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewot
ICAgICAgY29udGVudFR5cGU6ICdmZ2VvYScsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVp
Z2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiAyNCwKLSAg
ICB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UiKTsKLQotcHJvbWlz
ZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3Jl
Y29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8vZmdlb2EnLAot
ICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAw
MCwKLSAgICAgIGZyYW1lcmF0ZTogMjQsCi0gICAgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJu
IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0g
ICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCI7IGZv
bz0iYmFyIicsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBi
aXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiAyNCwKLSAgICB9LAotICB9KSk7Ci19LCAi
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9u
IGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciIpOwotCi1wcm9taXNlX3Rl
c3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3Jk
JywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBmb289ImJh
ciInLAotICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0
ZTogMzAwMCwKLSAgICAgIGZyYW1lcmF0ZTogMjQsCi0gICAgfSwKLSAgfSkpOwotfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcyIpOwotCi1wcm9taXNl
X3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVj
b3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2Rl
Y3M9InZwMDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYw
MCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6ICcyNDAwMC8xMDAxJywK
LSAgICB9Ci0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFt
ZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7
Ci0gICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCIn
LAotICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTog
MzAwMCwKLSAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLzAnLAotICAgIH0KLSAgfSkpOwotfSwgIlRl
c3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4
LzAiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pz
KHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAn
dmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAwLAot
ICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRl
OiAnMC8xMDAwMScsCi0gICAgfQotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygp
IHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveSIpOwotCi1wcm9taXNlX3Rlc3Qo
dCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywK
LSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZw
MDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWlnaHQ6IDYwMCwKLSAg
ICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6ICctMjQwMDAvMTAwMDEnLAotICAg
IH0KLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0
ZSBpbiB0aGUgZm9ybSBvZiAteC95Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJu
IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0g
ICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAot
ICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAw
MCwKLSAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLy0xMDAwMScsCi0gICAgfQotICB9KSk7Ci19LCAi
VGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9m
IHgvLXkiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBl
OiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAw
LAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVy
YXRlOiAnMjQwMDAvJywKLSAgICB9Ci0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
KCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8iKTsKLQotcHJvbWlzZV90ZXN0
KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcs
Ci0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2
cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0g
ICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiAnMS8zeCcsCi0gICAgfQotICB9
KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGgg
dHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewot
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgYXVk
aW86IHsgY29udGVudFR5cGU6ICdmZ2VvYScgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRv
ZXNuJ3QgcGFyc2UiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgYXVkaW86IHsgY29udGVudFR5cGU6
ICd2aWRlby9mZ2VvYScgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBl
IGF1ZGlvIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0lu
Zm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVk
aW8vd2VibTsgY29kZWNzPSJvcHVzIjsgZm9vPSJiYXIiJyB9LAotICB9KSk7Ci19LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMiKTsKLQotcHJvbWlzZV90ZXN0KHQg
PT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0g
ICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby93ZWJtOyBmb289ImJhciInIH0sCi0gIH0p
KTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3Mi
KTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IG1p
bmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCi0gICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3Vy
YXRpb24sCi0gIH0pLnRoZW4oYWJpbGl0eSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
YWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
YWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJp
bGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKLSAgfSk7Ci19LCAiVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMg
Zm9yIHJlY29yZCB0eXBlIik7Ci0KLWFzeW5jX3Rlc3QodCA9PiB7Ci0gIHZhciB2YWxpZFR5cGVz
ID0gWyAncmVjb3JkJywgJ3dlYnJ0YycgXTsKLSAgdmFyIGludmFsaWRUeXBlcyA9IFsgdW5kZWZp
bmVkLCBudWxsLCAnJywgJ2Zvb2JhcicsICdtc2UnLCAnTWVkaWFTb3VyY2UnLAotICAgICAgICAg
ICAgICAgICAgICAgICAnZmlsZScsICdtZWRpYS1zb3VyY2UnLCBdOwotCi0gIHZhciB2YWxpZFBy
b21pc2VzID0gW107Ci0gIHZhciBpbnZhbGlkQ2F1Z2h0ID0gMDsKLQotICB2YWxpZFR5cGVzLmZv
ckVhY2godHlwZSA9PiB7Ci0gICAgdmFsaWRQcm9taXNlcy5wdXNoKG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgICAgdHlwZTogdHlwZSwKLSAgICAgIHZpZGVv
OiB0eXBlICE9ICJ3ZWJydGMiID8gbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA6IG1pbmltYWxX
ZWJydGNWaWRlb0NvbmZpZ3VyYXRpb24sCi0gICAgICBhdWRpbzogdHlwZSAhPSAid2VicnRjIiA/
IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24gOiBtaW5pbWFsV2VicnRjQXVkaW9Db25maWd1cmF0
aW9uLAotICAgIH0pKTsKLSAgfSk7Ci0KLSAgLy8gdmFsaWRUeXBlcyBhcmUgdGVzdGVkIHZpYSBQ
cm9taXNlLmFsbCh2YWxpZFByb21pc2VzKSBiZWNhdXNlIGlmIG9uZSBvZiB0aGUKLSAgLy8gcHJv
bWlzZXMgZmFpbCwgUHJvbWlzZS5hbGwoKSB3aWxsIHJlamVjdC4gVGhpcyBtZWNoYW5pc20gY2Fu
J3QgYmUgdXNlZCBmb3IKLSAgLy8gaW52YWxpZCB0eXBlcyB3aGljaCB3aWxsIGJlIHRlc3RlZCBp
bmRpdmlkdWFsbHkgYW5kIGluY3JlbWVudCBpbnZhbGlkQ2F1Z2h0Ci0gIC8vIHdoZW4gcmVqZWN0
ZWQgdW50aWwgdGhlIGFtb3VudCBvZiByZWplY3Rpb24gbWF0Y2hlcyB0aGUgZXhwZWN0YXRpb24u
Ci0gIFByb21pc2UuYWxsKHZhbGlkUHJvbWlzZXMpLnRoZW4odC5zdGVwX2Z1bmMoKCkgPT4gewot
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW52YWxpZFR5cGVzLmxlbmd0aDsgKytpKSB7Ci0gICAg
ICBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICAgICAgdHlw
ZTogaW52YWxpZFR5cGVzW2ldLAotICAgICAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJh
dGlvbiwKLSAgICAgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCi0gICAgICB9
KS50aGVuKHQudW5yZWFjaGVkX2Z1bmMoKSwgdC5zdGVwX2Z1bmMoZSA9PiB7Ci0gICAgICAgIGFz
c2VydF9lcXVhbHMoZS5uYW1lLCAnVHlwZUVycm9yJyk7Ci0gICAgICAgICsraW52YWxpZENhdWdo
dDsKLSAgICAgICAgaWYgKGludmFsaWRDYXVnaHQgPT0gaW52YWxpZFR5cGVzLmxlbmd0aCkKLSAg
ICAgICAgICB0LmRvbmUoKTsKLSAgICAgIH0pKTsKLSAgICB9Ci0gIH0pLCB0LnVucmVhY2hlZF9m
dW5jKCdQcm9taXNlLmFsbCBzaG91bGQgbm90IHJlamVjdCBmb3IgdmFsaWQgdHlwZXMnKSk7Ci19
LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRp
b24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUiKTsKLQotPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFy
bmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA2NzAwODI4ODcwY2UxZjE1OWY0MDMw
YWVhMzRjNjZjNzhlMTY3YTkxLi4zYjY3MTkwMDRkYjlkZDMxOGRjZmFiN2Q4NGE5M2RlYjI3MTIz
MmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTIwLDIw
ICsyMCwyMCBAQCBQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmln
YXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBXb3JrZXJOYXZpZ2F0
b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFT
UyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0
aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwg
TWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMi
IGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBNZWRp
YUNhcGFiaWxpdGllcyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVj
dGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFi
aWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlh
Q2FwYWJpbGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
ImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkg
Ik1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJv
cGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVz
IGludGVyZmFjZTogb3BlcmF0aW9uIGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbikgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGll
cyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBl
bmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwgTWVkaWFD
YXBhYmlsaXRpZXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAi
b2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVj
dCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIE1lZGlhQ2FwYWJp
bGl0aWVzIGludGVyZmFjZTogbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBl
Y3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVz
IGludGVyZmFjZTogY2FsbGluZyBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRp
b24pIG9uIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRz
IG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3Qg
ZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBNZWRpYUNhcGFiaWxp
dGllcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGgg
dGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0
ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBp
bnRlcmZhY2U6IGNhbGxpbmcgZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
KSBvbiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4
cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKLUZBSUwgV29ya2VyTmF2aWdhdG9y
IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhQ2FwYWJpbGl0aWVzIGFzc2VydF90cnVlOiBUaGUg
cHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMi
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6
IG5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJtZWRpYUNhcGFiaWxp
dGllcyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBNZWRpYUNhcGFiaWxpdGll
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0
CitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIE1l
ZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBNZWRpYUNhcGFiaWxp
dGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdAorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1
Y3RvciIgcHJvcGVydHkKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5CitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogb3BlcmF0
aW9uIGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikKK1BBU1MgTWVkaWFD
YXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2Rp
bmdDb25maWd1cmF0aW9uKQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcworUEFTUyBTdHJpbmdpZmlj
YXRpb24gb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzCitQQVNTIE1lZGlhQ2FwYWJpbGl0
aWVzIGludGVyZmFjZTogbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5n
IGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGlu
Z0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBNZWRpYUNhcGFiaWxp
dGllcyBpbnRlcmZhY2U6IGNhbGxpbmcgZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1
cmF0aW9uKSBvbiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvcgorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgbWVkaWFDYXBhYmlsaXRpZXMKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGludGVy
ZmFjZTogbmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMi
IHdpdGggdGhlIHByb3BlciB0eXBlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441587</attachid>
            <date>2021-10-18 05:10:36 -0700</date>
            <delta_ts>2021-10-19 01:04:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231574-20211018141034.patch</filename>
            <type>text/plain</type>
            <size>90397</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdjNGRlNjNlYjFlNDY2
M2QwNWU4Yzc0MWNmOWY4YjdjMDQ2ZTVmMi4uNWYxNGNiMWY2NmM1MzQ4Yzg4MGUxOTRmNTIwYzRl
NWQzNGIzZTZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgTWVkaWFDYXBh
YmlsaXRpZXMgdG8gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxNTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRXhwb3NlIE1lZGlhIENhcGFiaWxpdGllcyB0byB3b3JrZXJzIGJ5IGhvcHBp
bmcgdG8gbWFpbiB0aHJlYWQgYW5kIHVzaW5nIHdvcmtlciByZXNwb25zaWJsZSBkb2N1bWVudCBm
b3IgZ2F0aGVyaW5nIE1lZGlhIENhcGFiaWxpdGllcywgdGhlbiBob3BwaW5nIGJhY2sgdG8gd29y
a2VyLgorICAgICAgICBNZWRpYUNhcGFiaWxpdGllcyB3aWxsIHN0b3JlIHRoZSBwcm9taXNlcyB3
aGVuIHdhaXRpbmcgZm9yIG1lZGlhIGNhcGFiaWxpdGllcyBnYXRoZXJpbmcgYnkgZG9jdW1lbnQu
CisKKyAgICAgICAgV2UgcmVtb3ZlIEN1c3RvbUVuYWJsZWQgc2luY2UgaXQgaXMgbm90IHN1cHBv
cnRlZCBpbiBXb3JrZXJzIGFuZCB3ZSBhcmUgbm93IGV4cG9zaW5nIGVuY29kaW5nIGluZm8gZm9y
IFdlYlJUQyBhbnl3YXkuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL05hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmln
YXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5oOiBBZGRlZC4K
KyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgor
ICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9N
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL01lZGlh
Q2FwYWJpbGl0aWVzSW5mby5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L0F1ZGlvQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaDoKKwogMjAy
MS0xMC0xNSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAg
ICAgW1dlYklETF0gSlNET01CdWlsdGluQ29uc3RydWN0b3IgaW5zdGFuY2VzIHNob3VsZCBzdXBw
b3J0IHN1YmNsYXNzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDIzMTJjNGJmNjdlM2IzMWZl
MjdkMzIwN2E3ZTc0MjlhMjdlYjExNzcuLjFmMTQwMjBkZGM0N2M5N2Q3OGE3ODcwMDRiMzczMGYw
Zjk1NDBiZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zNDUsNiArMzQ1LDcgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05h
dmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwKICAgICBNb2R1bGVzL21lZGlhY2FwYWJpbGl0
aWVzL1RyYW5zZmVyRnVuY3Rpb24uaWRsCiAgICAgTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9W
aWRlb0NvbmZpZ3VyYXRpb24uaWRsCisgICAgTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3Jr
ZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsCiAKICAgICBNb2R1bGVzL21lZGlhY29u
dHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDRjYWI3MzM5OGVjM2VjNzU2N2VmYjFhNzdm
MTgyZTRlOGJhNTYyODIuLjM0OWJiMDRjN2QyYjQ1Yzg1YjMzNTM3MDFjOTdlNGRmMTdmYjI2Yjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApA
QCAtMTc3LDYgKzE3Nyw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFFbmNvZGluZ1R5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL05hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVHJhbnNmZXJGdW5jdGlvbi5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3Ir
TWVkaWFDYXBhYmlsaXRpZXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhY29udHJv
bHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhcmVj
b3JkZXIvQmxvYkV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXIuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDRhMGI4NmYzNWVmNWRkNGMzMTQ2ZjkxM2E1NmNlYzJhZjI2
YjVhYjguLjk3NjIzMTRhYjJlZDZiMzI4ODViN2Q2MzI2MmRkMjEyMjhkMzYzYmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yNDg1
LDYgKzI0ODUsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dvcmtlckdsb2JhbFNjb3BlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckxvY2F0aW9uLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJMb2NhdGlvbi5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlck5hdmln
YXRvcitNZWRpYUNhcGFiaWxpdGllcy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyTmF2aWdh
dG9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
b3JrZXJOYXZpZ2F0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNXb3JrZXJPcHRpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggNWM3NzNhNDg5ZGExOWNjMjA4NWVjY2U3MTNlYjAwN2IyMDBmODg1Mi4uMTU5OTRhYmMyMjFh
NzY1ODQ5YzRhNTkwYzQ5NmRmMTYwMjk0YWExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0yMDMsNiArMjAzLDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVz
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5zZmVy
RnVuY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMv
VmlkZW9Db25maWd1cmF0aW9uLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvQmxvYkV2ZW50LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNh
cGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAzZGNiNjUyZTM2NTJhNTNlMjRlOTVkMTg5ZWJm
MTc5NDc0MmNhNmViLi5hNDA4Yjc1YTdmOWI5NWEyZjk5NjMxYWMyNWU1N2NmNmVjM2FiZWYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
Q2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcApAQCAtMTY4LDE0ICsxNjgsNTggQEAgc3RhdGlj
IGJvb2wgaXNWYWxpZE1lZGlhQ29uZmlndXJhdGlvbihjb25zdCBNZWRpYUNvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgTWVkaWFDYXBhYmls
aXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNl
KQorc3RhdGljIHZvaWQgZ2F0aGVyRGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNr
KQoreworICAgIFJFTEVBU0VfTE9HX0lORk8oTWVkaWEsICJHYXRoZXJpbmcgZGVjb2RpbmcgTWVk
aWFDYXBhYmlsaXRpZXMiKTsKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpE
ZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBkZWNvZGluZ0NhbGxiYWNrID0gW2NhbGxiYWNr
ID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAgICBS
RUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiRmluaXNoZWQgZ2F0aGVyaW5nIGRlY29kaW5nIE1lZGlh
Q2FwYWJpbGl0aWVzIik7CisgICAgICAgIGNhbGxiYWNrKFdURk1vdmUocmVzdWx0KSk7CisgICAg
fTsKKworICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3MoKS5tZWRpYUNhcGFiaWxpdGllc0V4dGVu
c2lvbnNFbmFibGVkKCkgJiYgY29uZmlndXJhdGlvbi52aWRlbykKKyAgICAgICAgY29uZmlndXJh
dGlvbi52aWRlby52YWx1ZSgpLmFscGhhQ2hhbm5lbC5yZXNldCgpOworCisjaWYgRU5BQkxFKFZQ
OSkKKyAgICBjb25maWd1cmF0aW9uLmNhbkV4cG9zZVZQOSA9IGRvY3VtZW50LnNldHRpbmdzKCku
dnA5RGVjb2RlckVuYWJsZWQoKTsKKyNlbmRpZgorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisgICAg
aWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYURlY29kaW5nVHlwZTo6V2ViUlRDKSB7Cisg
ICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQucGFnZSgpKQorICAgICAgICAgICAgcGFn
ZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5jcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92
ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShkZWNvZGluZ0NhbGxiYWNrKSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisjZW5kaWYK
KyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVEZWNvZGluZ0NvbmZp
Z3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShkZWNvZGluZ0NhbGxiYWNr
KSk7Cit9CisKK3N0YXRpYyB2b2lkIGdhdGhlckVuY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1l
bnQsIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdp
bmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBj
YWxsYmFjaykKK3sKKyAgICBSRUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiR2F0aGVyaW5nIGVuY29k
aW5nIE1lZGlhQ2FwYWJpbGl0aWVzIik7CisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeTo6RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgZW5jb2RpbmdDYWxsYmFjayA9IFtj
YWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAg
ICAgICAgUkVMRUFTRV9MT0dfSU5GTyhNZWRpYSwgIkZpbmlzaGVkIGdhdGhlcmluZyBlbmNvZGlu
ZyBNZWRpYUNhcGFiaWxpdGllcyIpOworICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKHJlc3VsdCkp
OworICAgIH07CisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICBpZiAoY29uZmlndXJhdGlvbi50
eXBlID09IE1lZGlhRW5jb2RpbmdUeXBlOjpXZWJSVEMpIHsKKyAgICAgICAgaWYgKGF1dG8qIHBh
Z2UgPSBkb2N1bWVudC5wYWdlKCkpCisgICAgICAgICAgICBwYWdlLT5saWJXZWJSVENQcm92aWRl
cigpLmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBX
VEZNb3ZlKGVuY29kaW5nQ2FsbGJhY2spKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKKyNlbmRpZgorICAgIE1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNv
bmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGVuY29kaW5nQ2FsbGJhY2spKTsKK30KKwordm9pZCBNZWRp
YUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgUmVmPERlZmVy
cmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewogICAgIC8vIDIuNCBNZWRpYSBDYXBhYmlsaXRpZXMg
SW50ZXJmYWNlCiAgICAgLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRp
ZXMvI21lZGlhLWNhcGFiaWxpdGllcy1pbnRlcmZhY2UKIAotICAgIGF1dG8gaWRlbnRpZmllciA9
IFdURjo6TG9nZ2VyOjpMb2dTaXRlSWRlbnRpZmllcigiTWVkaWFDYXBhYmlsaXRpZXMiLCBfX2Z1
bmNfXywgdGhpcyk7Ci0gICAgUmVmPExvZ2dlcj4gbG9nZ2VyID0gZG9jdW1lbnQubG9nZ2VyKCk7
Ci0KICAgICAvLyAxLiBJZiBjb25maWd1cmF0aW9uIGlzIG5vdCBhIHZhbGlkIE1lZGlhQ29uZmln
dXJhdGlvbiwgcmV0dXJuIGEgUHJvbWlzZSByZWplY3RlZCB3aXRoIGEgVHlwZUVycm9yLgogICAg
IC8vIDIuIElmIGNvbmZpZ3VyYXRpb24udmlkZW8gaXMgcHJlc2VudCBhbmQgaXMgbm90IGEgdmFs
aWQgdmlkZW8gY29uZmlndXJhdGlvbiwgcmV0dXJuIGEgUHJvbWlzZSByZWplY3RlZCB3aXRoIGEg
VHlwZUVycm9yLgogICAgIC8vIDIuMi4zIElmIGNvbmZpZ3VyYXRpb24gaXMgb2YgdHlwZSBNZWRp
YURlY29kaW5nQ29uZmlndXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vic3RlcHM6CkBAIC0x
OTIsNTEgKzIzNiw0MyBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8oRG9j
dW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmlndXJhdAogICAgIC8vIGVmZmVjdHMg
c3VjaCBhcyBlbmFibGluZyBkaWZmZXJlbnQgZGVjb2RpbmcgbW9kdWxlcy4KICAgICAvLyAzLiBJ
ZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIGF1ZGlv
IGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJv
ci4KICAgICBpZiAoIWlzVmFsaWRNZWRpYUNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbikpIHsK
LSNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICAgICAgbG9nZ2VyLT5pbmZvKExvZ01lZGlh
LCBpZGVudGlmaWVyLCAiIC0gUmVqZWN0ZWQuIGNvbmZpZ3VyYXRpb246ICIsIGNvbmZpZ3VyYXRp
b24pOwotI2VuZGlmCiAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBlRXJyb3IpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFkb2N1bWVudC5zZXR0aW5ncygpLm1lZGlhQ2Fw
YWJpbGl0aWVzRXh0ZW5zaW9uc0VuYWJsZWQoKSAmJiBjb25maWd1cmF0aW9uLnZpZGVvKQotICAg
ICAgICBjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVlKCkuYWxwaGFDaGFubmVsLnJlc2V0KCk7Ci0K
LSNpZiBFTkFCTEUoVlA5KQotICAgIGNvbmZpZ3VyYXRpb24uY2FuRXhwb3NlVlA5ID0gZG9jdW1l
bnQuc2V0dGluZ3MoKS52cDlEZWNvZGVyRW5hYmxlZCgpOwotI2VuZGlmCi0KICAgICAvLyA0LiBM
ZXQgcCBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDUuIEluIHBhcmFsbGVsLCBydW4gdGhlIGNy
ZWF0ZSBhIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBhbGdvcml0aG0gd2l0aCBjb25maWd1cmF0aW9u
IGFuZCByZXNvbHZlIHAgd2l0aCBpdHMgcmVzdWx0LgogICAgIC8vIDYuIFJldHVybiBwLgogCi0g
ICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9u
Q2FsbGJhY2sgY2FsbGJhY2sgPSBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGlkZW50aWZp
ZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpLCBsb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlciksIGRvY3Vt
ZW50ID0gUmVmIHsgZG9jdW1lbnQgfV0oYXV0byBpbmZvKSBtdXRhYmxlIHsKLSNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKLSAgICAgICAgbG9nZ2VyLT5pbmZvKExvZ01lZGlhLCBpZGVudGlmaWVy
LCAiOjpjYWxsYmFjaygpIC0gUmVzb2x2ZWQuIGluZm86ICIsIGluZm8pOwotI2VuZGlmCi0gICAg
ICAgIGRvY3VtZW50LT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVt
ZW50LCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAo
KSBtdXRhYmxlIHsKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGlu
Z0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0gV1RGTW92ZShwcm9t
aXNlKSwgY29udGV4dCA9IFJlZiB7IGNvbnRleHQgfV0oYXV0byBpbmZvKSBtdXRhYmxlIHsKKyAg
ICAgICAgY29udGV4dC0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok1lZGlhRWxl
bWVudCwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBpbmZvID0gV1RGTW92ZShpbmZvKV0g
KCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZlPElETERpY3Rpb25hcnk8
TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+PihXVEZNb3ZlKGluZm8pKTsKICAgICAgICAg
fSk7CiAgICAgfTsKIAotI2lmIEVOQUJMRShXRUJfUlRDKQotICAgIGlmIChjb25maWd1cmF0aW9u
LnR5cGUgPT0gTWVkaWFEZWNvZGluZ1R5cGU6OldlYlJUQykgewotICAgICAgICBpZiAoYXV0byog
cGFnZSA9IGRvY3VtZW50LnBhZ2UoKSkKLSAgICAgICAgICAgIHBhZ2UtPmxpYldlYlJUQ1Byb3Zp
ZGVyKCkuY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiks
IFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7Cisg
ICAgICAgIGdhdGhlckRlY29kaW5nSW5mbyhkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCksIFdU
Rk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLSNlbmRpZgotICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNy
ZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3Zl
KGNhbGxiYWNrKSk7CisKKyAgICBtX2RlY29kaW5nVGFza3MuYWRkKCsrbV9uZXh0VGFza0lkZW50
aWZpZXIsIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBjb250ZXh0LnBvc3RUYXNrVG9SZXNwb25z
aWJsZURvY3VtZW50KFtjb25maWd1cmF0aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKS5pc29s
YXRlZENvcHkoKSwgY29udGV4dElkZW50aWZpZXIgPSBjb250ZXh0LmNvbnRleHRJZGVudGlmaWVy
KCksIHdlYWtUaGlzID0gV2Vha1B0ciB7IHRoaXMgfSwgdGFza0lkZW50aWZpZXIgPSBtX25leHRU
YXNrSWRlbnRpZmllcl0oYXV0byYgZG9jdW1lbnQpIG11dGFibGUgeworICAgICAgICBnYXRoZXJE
ZWNvZGluZ0luZm8oZG9jdW1lbnQsIFdURk1vdmUoY29uZmlndXJhdGlvbiksIFtjb250ZXh0SWRl
bnRpZmllciwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgdGFza0lkZW50aWZpZXJdKGF1
dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6cG9zdFRhc2tUbyhjb250ZXh0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFr
VGhpcyksIHRhc2tJZGVudGlmaWVyLCByZXN1bHQgPSBXVEZNb3ZlKHJlc3VsdCkuaXNvbGF0ZWRD
b3B5KCldKGF1dG8mKSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gY2Fs
bGJhY2sgPSB3ZWFrVGhpcy0+bV9kZWNvZGluZ1Rhc2tzLnRha2UodGFza0lkZW50aWZpZXIpKQor
ICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKHJlc3VsdCkpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOwogfQogCi12b2lkIE1lZGlhQ2FwYWJpbGl0aWVz
OjplbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVuY29kaW5nQ29uZmlndXJh
dGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3Zv
aWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5nSW5mbyhTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0LCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJp
bGl0aWVzIEludGVyZmFjZQogICAgIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2Fw
YWJpbGl0aWVzLyNtZWRpYS1jYXBhYmlsaXRpZXMtaW50ZXJmYWNlCiAKLSAgICBhdXRvIGlkZW50
aWZpZXIgPSBXVEY6OkxvZ2dlcjo6TG9nU2l0ZUlkZW50aWZpZXIoIk1lZGlhQ2FwYWJpbGl0aWVz
IiwgX19mdW5jX18sIHRoaXMpOwotICAgIFJlZjxMb2dnZXI+IGxvZ2dlciA9IGRvY3VtZW50Lmxv
Z2dlcigpOwotCiAgICAgLy8gMS4gSWYgY29uZmlndXJhdGlvbiBpcyBub3QgYSB2YWxpZCBNZWRp
YUNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJv
ci4KICAgICAvLyAyLiBJZiBjb25maWd1cmF0aW9uLnZpZGVvIGlzIHByZXNlbnQgYW5kIGlzIG5v
dCBhIHZhbGlkIHZpZGVvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQg
d2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAzLiBJZiBjb25maWd1cmF0aW9uLmF1ZGlvIGlzIHBy
ZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIGF1ZGlvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFBy
b21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KQEAgLTI2NCwyNCArMzAwLDI4IEBAIHZv
aWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0CiAgICAgLy8gNS4gSW4gcGFyYWxsZWwsIHJ1biB0aGUgY3Jl
YXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFsZ29yaXRobSB3aXRoIGNvbmZpZ3VyYXRpb24g
YW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQuCiAgICAgLy8gNi4gUmV0dXJuIHAuCiAKLSAg
ICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25D
YWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgaWRlbnRpZmll
ciA9IFdURk1vdmUoaWRlbnRpZmllciksIGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwgZG9jdW1l
bnQgPSBSZWYgeyBkb2N1bWVudCB9XShhdXRvIGluZm8pIG11dGFibGUgewotI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAotICAgICAgICBsb2dnZXItPmluZm8oTG9nTWVkaWEsIGlkZW50aWZpZXIs
ICI6OmNhbGxiYWNrKCkgLSBSZXNvbHZlZC4gaW5mbzogIiwgaW5mbyk7Ci0jZW5kaWYKLSAgICAg
ICAgZG9jdW1lbnQtPmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1l
bnQsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgaW5mbyA9IFdURk1vdmUoaW5mbyldICgp
IG11dGFibGUgeworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5n
Q29uZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpLCBjb250ZXh0ID0gUmVmIHsgY29udGV4dCB9XShhdXRvIGluZm8pIG11dGFibGUgeworICAg
ICAgICBjb250ZXh0LT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVt
ZW50LCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGluZm8gPSBXVEZNb3ZlKGluZm8pXSAo
KSBtdXRhYmxlIHsKICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMRGljdGlvbmFyeTxN
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4+KFdURk1vdmUoaW5mbykpOwogICAgICAgICB9
KTsKICAgICB9OwogCi0jaWYgRU5BQkxFKFdFQl9SVEMpCi0gICAgaWYgKGNvbmZpZ3VyYXRpb24u
dHlwZSA9PSBNZWRpYUVuY29kaW5nVHlwZTo6V2ViUlRDKSB7Ci0gICAgICAgIGlmIChhdXRvKiBw
YWdlID0gZG9jdW1lbnQucGFnZSgpKQotICAgICAgICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlk
ZXIoKS5jcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwg
V1RGTW92ZShjYWxsYmFjaykpOworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAg
ICAgICAgZ2F0aGVyRW5jb2RpbmdJbmZvKGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KSwgV1RG
TW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOwogICAgICAgICByZXR1cm47
CiAgICAgfQotI2VuZGlmCiAKLSAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Ojpj
cmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92
ZShjYWxsYmFjaykpOworICAgIG1fZW5jb2RpbmdUYXNrcy5hZGQoKyttX25leHRUYXNrSWRlbnRp
ZmllciwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIGNvbnRleHQucG9zdFRhc2tUb1Jlc3BvbnNp
YmxlRG9jdW1lbnQoW2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLmlzb2xh
dGVkQ29weSgpLCBjb250ZXh0SWRlbnRpZmllciA9IGNvbnRleHQuY29udGV4dElkZW50aWZpZXIo
KSwgd2Vha1RoaXMgPSBXZWFrUHRyIHsgdGhpcyB9LCB0YXNrSWRlbnRpZmllciA9IG1fbmV4dFRh
c2tJZGVudGlmaWVyXShhdXRvJiBkb2N1bWVudCkgbXV0YWJsZSB7CisgICAgICAgIGdhdGhlckVu
Y29kaW5nSW5mbyhkb2N1bWVudCwgV1RGTW92ZShjb25maWd1cmF0aW9uKSwgW2NvbnRleHRJZGVu
dGlmaWVyLCB3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCB0YXNrSWRlbnRpZmllcl0oYXV0
byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
Ojpwb3N0VGFza1RvKGNvbnRleHRJZGVudGlmaWVyLCBbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtU
aGlzKSwgdGFza0lkZW50aWZpZXIsIHJlc3VsdCA9IFdURk1vdmUocmVzdWx0KS5pc29sYXRlZENv
cHkoKV0oYXV0byYpIG11dGFibGUgeworICAgICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICBpZiAoYXV0byBjYWxs
YmFjayA9IHdlYWtUaGlzLT5tX2VuY29kaW5nVGFza3MudGFrZSh0YXNrSWRlbnRpZmllcikpCisg
ICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKFdURk1vdmUocmVzdWx0KSk7CisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgfSk7CisgICAgfSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
aAppbmRleCBiYTEyMzRiYjM4OTczMjZlNjZjYjcyMmM5YmFiNTc3YTg3NmRkODc0Li5iOTU3OTAx
OWMxYTc1YWUxMmQ4MTY0M2M3Nzg3MmJmOTE1YmRlOGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTI1LDE5ICsyNSwyOSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIk1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEZWZlcnJlZFByb21pc2U7Ci1jbGFzcyBEb2N1bWVu
dDsKLXN0cnVjdCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbjsKLXN0cnVjdCBNZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLWNsYXNz
IE1lZGlhQ2FwYWJpbGl0aWVzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFDYXBhYmlsaXRpZXM+
IHsKK2NsYXNzIE1lZGlhQ2FwYWJpbGl0aWVzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFDYXBh
YmlsaXRpZXM+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFDYXBhYmlsaXRpZXM+IHsKIHB1
YmxpYzoKLSAgICB2b2lkIGRlY29kaW5nSW5mbyhEb2N1bWVudCYsIE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgZW5jb2RpbmdJ
bmZvKERvY3VtZW50JiwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVk
UHJvbWlzZT4mJik7CisgICAgc3RhdGljIFJlZjxNZWRpYUNhcGFiaWxpdGllcz4gY3JlYXRlKCkg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYUNhcGFiaWxpdGllcyk7IH0KKworICAgIHZvaWQg
ZGVjb2RpbmdJbmZvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIGVuY29kaW5nSW5m
byhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwg
UmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKK3ByaXZhdGU6CisgICAgTWVkaWFDYXBhYmlsaXRp
ZXMoKSA9IGRlZmF1bHQ7CisKKyAgICB1aW50NjRfdCBtX25leHRUYXNrSWRlbnRpZmllciB7IDAg
fTsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjaz4gbV9kZWNvZGluZ1Rhc2tzOworICAgIEhh
c2hNYXA8dWludDY0X3QsIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5n
Q29uZmlndXJhdGlvbkNhbGxiYWNrPiBtX2VuY29kaW5nVGFza3M7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsCmluZGV4IGY3MjQzMTFmODNl
MzkxNjk4YjZmNDIyNDk4OTcyYWZiZmQ3ZmJlMDEuLjZhODgxNjU0NjdjMWZiY2YzMWZjNzAyNTAx
ZWM5MjZjZjczZjZhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsCkBAIC0yNiw5ICsy
Niw4IEBACiBbCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQs
CiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKLSAgICBKU0N1c3RvbUhlYWRlciwKLSAg
ICBFeHBvc2VkPVdpbmRvdworICAgIEV4cG9zZWQ9KFdpbmRvdyxEZWRpY2F0ZWRXb3JrZXIpCiBd
IGludGVyZmFjZSBNZWRpYUNhcGFiaWxpdGllcyB7Ci0gICAgW0N1c3RvbUVuYWJsZWQsIENhbGxX
aXRoPURvY3VtZW50XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiBkZWNv
ZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbik7Ci0gICAg
W0N1c3RvbUVuYWJsZWQsIENhbGxXaXRoPURvY3VtZW50XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0
aWVzRW5jb2RpbmdJbmZvPiBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24g
Y29uZmlndXJhdGlvbik7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFBy
b21pc2U8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+IGRlY29kaW5nSW5mbyhNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gUHJvbWlzZTxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4g
ZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMv
TmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKaW5kZXggYTMx
YmFkYjU0YWM5ODFlMGUzYmFkYWZlMjA5ODc4MjlkM2Y3NDAzNS4uNGU4MGJiZmM5NmI1MWNjNDli
YjFmZTlkYTY3MDEyZmZmMmQzNDE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNh
cGFiaWxpdGllcy5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
TmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6Ok5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCkK
LSAgICA6IG1fbWVkaWFDYXBhYmlsaXRpZXMoYWRvcHRSZWYoKm5ldyBNZWRpYUNhcGFiaWxpdGll
cygpKSkKKyAgICA6IG1fbWVkaWFDYXBhYmlsaXRpZXMoTWVkaWFDYXBhYmlsaXRpZXM6OmNyZWF0
ZSgpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2Fw
YWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvcitNZWRpYUNh
cGFiaWxpdGllcy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTA1OGZlOGExMjdlZWM1MjU5NzZkODQ4M2IxZThk
M2U4ZmZjNjZiNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbApAQCAt
MCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlh
LWNhcGFiaWxpdGllcy8jbmF2aWdhdG9ycy1leHRlbnNpb25zCitbCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1NZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQsCisgICAgSW1wbGVtZW50ZWRCeT1Xb3JrZXJO
YXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcworXSBwYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZp
Z2F0b3IgeworICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhQ2FwYWJpbGl0
aWVzIG1lZGlhQ2FwYWJpbGl0aWVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZp
Z2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNmMTQyNjIxMzIwOWRjODU2
YThiOTUwZDI2NjQ0YTYyOTYzN2ExNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRp
ZXMuY3BwCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCIKKworI2luY2x1
ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzLmgiCisjaW5jbHVkZSAiV29ya2VyTmF2aWdhdG9yLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6
Oldvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCkKKyAgICA6IG1fbWVkaWFDYXBhYmls
aXRpZXMoTWVkaWFDYXBhYmlsaXRpZXM6OmNyZWF0ZSgpKQoreworfQorCitXb3JrZXJOYXZpZ2F0
b3JNZWRpYUNhcGFiaWxpdGllczo6fldvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCkg
PSBkZWZhdWx0OworCitjb25zdCBjaGFyKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGll
czo6c3VwcGxlbWVudE5hbWUoKQoreworICAgIHJldHVybiAiV29ya2VyTmF2aWdhdG9yTWVkaWFD
YXBhYmlsaXRpZXMiOworfQorCitXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyYgV29y
a2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6OmZyb20oV29ya2VyTmF2aWdhdG9yJiBuYXZp
Z2F0b3IpCit7CisgICAgYXV0byogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PFdvcmtlck5hdmln
YXRvck1lZGlhQ2FwYWJpbGl0aWVzKj4oU3VwcGxlbWVudDxXb3JrZXJOYXZpZ2F0b3I+Ojpmcm9t
KCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsK
KyAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxXb3JrZXJOYXZpZ2F0b3JN
ZWRpYUNhcGFiaWxpdGllcz4oKTsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQu
Z2V0KCk7CisgICAgICAgIHByb3ZpZGVUbygmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBX
VEZNb3ZlKG5ld1N1cHBsZW1lbnQpKTsKKyAgICB9CisgICAgcmV0dXJuICpzdXBwbGVtZW50Owor
fQorCitNZWRpYUNhcGFiaWxpdGllcyYgV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXM6
Om1lZGlhQ2FwYWJpbGl0aWVzKFdvcmtlck5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJl
dHVybiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllczo6ZnJvbShuYXZpZ2F0b3IpLm1l
ZGlhQ2FwYWJpbGl0aWVzKCk7Cit9CisKK01lZGlhQ2FwYWJpbGl0aWVzJiBXb3JrZXJOYXZpZ2F0
b3JNZWRpYUNhcGFiaWxpdGllczo6bWVkaWFDYXBhYmlsaXRpZXMoKSBjb25zdAoreworICAgIHJl
dHVybiBtX21lZGlhQ2FwYWJpbGl0aWVzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDkxN2ZhZGMyMjkyNDU4ZmIwYTdkZWQwODRmNTg5OTI3YmExZDA3MQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2Vy
TmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhQ2FwYWJpbGl0aWVzOworY2xhc3MgV29ya2VyTmF2
aWdhdG9yOworCitjbGFzcyBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyBmaW5hbCA6
IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtlck5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgorICAgIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVz
KCk7CisgICAgfldvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzKCk7CisKKyAgICBzdGF0
aWMgTWVkaWFDYXBhYmlsaXRpZXMmIG1lZGlhQ2FwYWJpbGl0aWVzKFdvcmtlck5hdmlnYXRvciYp
OworICAgIHN0YXRpYyBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcyYgZnJvbShXb3Jr
ZXJOYXZpZ2F0b3ImKTsKKworICAgIE1lZGlhQ2FwYWJpbGl0aWVzJiBtZWRpYUNhcGFiaWxpdGll
cygpIGNvbnN0OworcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5h
bWUoKTsKKworICAgIG11dGFibGUgUmVmPE1lZGlhQ2FwYWJpbGl0aWVzPiBtX21lZGlhQ2FwYWJp
bGl0aWVzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3IuY3BwCmluZGV4IGFiNTljNjkyYTQ1Njg1NDAxNzJjYTcwYzlmZWE0MmQ1YTAwYmEyZjYu
LmJiMjYwNjAyNzM5NmY5MjM1ZTdjZTE1NWMzZWE3MDNhNDExMzAwODIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Np
b25Db29yZGluYXRvci5jcHAKQEAgLTMzLDkgKzMzLDEyIEBACiAjaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yU3RhdGUu
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFNZXRhZGF0YS5oIgogI2lu
Y2x1ZGUgIk1lZGlhU2Vzc2lvbi5oIgogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
UHJpdmF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUg
PHd0Zi9Mb2dnZXIuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8
d3RmL1NlY29uZHMuaD4KIAogc3RhdGljIGNvbnN0IFNlY29uZHMgQ29tbWFuZFRpbWVUb2xlcmFu
Y2UgPSA1MF9tczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMjU3MjYxOTBjOTFhZTM4N2RlM2Q0MWVjYjBh
OTY5NjlmZGU2YWUxZS4uMTNmNjEyMTg1ODc3OTMyZTVkMjdhMjMwMzg3MTlhYmIzMjRmODI0ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKQEAgLTEzMSw2ICsxMzEsNyBAQCBNb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSURCVHJhbnNhY3Rpb25JbmZvLmNwcAogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luZGV4
S2V5LmNwcAogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAK
IE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3Bw
CitNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0
aWVzLmNwcAogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFNZXRhZGF0YS5jcHAKIE1vZHVsZXMv
bWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAKIE1vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlh
U2Vzc2lvbkNvb3JkaW5hdG9yLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGExMjM2ZWZlYjczMDhkNTM5MGU1ZjhjZTBkMjc2
OTRkYTQxMmQxOWUuLmE3MmJjZmU2MTlmYjAyMGUxZWNlZmZkYjZlMmU2MTM0ODQyMGQ3MTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTgxODcsNyArODE4Nyw5IEBACiAJCTQxOEZDQkNCMjcwNkYzQ0QwMEY5NkVDQSAvKiBTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUrUHVzaEFQSS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZStQdXNoQVBJLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEZD
QkNDMjcwNkY0MzQwMEY5NkVDQSAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4RkNCQ0QyNzA2RjQzNDAwRjk2RUNBIC8qIFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTQxOEZDQkU4MjcxNUFBMTkwMEY5NkVDQSAvKiBKU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9t
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCRUEyNzE1QjYwRjAwRjk2RUNBIC8qIFdvcmtlck5h
dmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIldvcmtlck5hdmlnYXRvcitNZWRp
YUNhcGFiaWxpdGllcy5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JF
QzI3MTVCODUxMDBGOTZFQ0EgLyogV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCRUQyNzE1Qjg1MjAwRjk2RUNBIC8qIFdvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJhbWVSYXRlTW9uaXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAv
KiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZy
YW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MjQyNDcy
MTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzI4NSw3
ICsyMzI4Nyw2IEBACiAJCQkJQTdEMDMxOEQwRTkzNTQwMzAwRTI0QUNEIC8qIEpTSW1hZ2VEYXRh
Q3VzdG9tLmNwcCAqLywKIAkJCQk1ODY4QzdENTI1NDZFMEIzMDBCRjlERjMgLyogSlNJbnRlcnNl
Y3Rpb25PYnNlcnZlckN1c3RvbS5jcHAgKi8sCiAJCQkJNzdDMTNGMDQyMTY1NjU4QTAwMkQ5QzVG
IC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeUN1c3RvbS5jcHAgKi8sCi0JCQkJNDE4RkNC
RTgyNzE1QUExOTAwRjk2RUNBIC8qIEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaCAqLywKIAkJ
CQlBRDcyNkZFNzE2RDlGMjA0MDAzQTRFNkQgLyogSlNNZWRpYUxpc3RDdXN0b20uaCAqLywKIAkJ
CQk0MTVDREFGNjFFNkNFMEQzMDA0RjExRUUgLyogSlNNZWRpYVN0cmVhbVRyYWNrQ3VzdG9tLmNw
cCAqLywKIAkJCQlFMUE1Rjk5QTBFN0VBQTI1MDBBRjg1RUEgLyogSlNNZXNzYWdlQ2hhbm5lbEN1
c3RvbS5jcHAgKi8sCkBAIC0yODgyMSw2ICsyODgyMiw5IEBACiAJCQkJQ0RCRDNEMzkxRkU4NUND
MTAwMTJDNTQ1IC8qIE5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmggKi8sCiAJCQkJQ0Q0RTRF
NjIyMzU3QjNBRDAwNzg5NUMzIC8qIFRyYW5zZmVyRnVuY3Rpb24uaWRsICovLAogCQkJCUNEQkQz
RDI4MUZFODVDQjgwMDEyQzU0NSAvKiBWaWRlb0NvbmZpZ3VyYXRpb24uaWRsICovLAorCQkJCTQx
OEZDQkVBMjcxNUI2MEYwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRp
ZXMuaWRsICovLAorCQkJCTQxOEZDQkVEMjcxNUI4NTIwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0
b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAgKi8sCisJCQkJNDE4RkNCRUMyNzE1Qjg1MTAwRjk2RUNB
IC8qIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmggKi8sCiAJCQkpOwogCQkJcGF0
aCA9IG1lZGlhY2FwYWJpbGl0aWVzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0
b20uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0
b20uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODI0NzI3Nzk5MDZkYzc4OTUxYjNh
YTAyZGQxMmNiOGMwNmY4YjMzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVz
Q3VzdG9tLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3By
YWdtYSBvbmNlCi0KLSNpbmNsdWRlICJNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Lmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotQUxXQVlTX0lOTElORSBib29sIEpTTWVkaWFDYXBh
YmlsaXRpZXNFbmNvZGluZ0luZm9Jc0VuYWJsZWQoKQotewotI2lmIEVOQUJMRShXRUJfUlRDKQot
ICAgIHJldHVybiB0cnVlOwotI2Vsc2UKLSAgICByZXR1cm4gTWVkaWFFbmdpbmVDb25maWd1cmF0
aW9uRmFjdG9yeTo6aGFzRW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOwotI2VuZGlmCi19
Ci0KLUFMV0FZU19JTkxJTkUgYm9vbCBKU01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvSXNF
bmFibGVkKCkKLXsKLSNpZiBFTkFCTEUoV0VCX1JUQykKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbHNl
Ci0gICAgcmV0dXJuIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0RlY29kaW5n
Q29uZmlndXJhdGlvbkZhY3RvcnkoKTsKLSNlbmRpZgotfQotCi19CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggZDI0YjAxYjc3MzZjNWNiNThm
NjlhN2Q5OGQ2YzRiNzBiNjQ5OGJjMy4uMjVmYTRjMzY1ODFhYWE0NmM2ODA5NWVhNThhY2NmZmE3
YTM1ZDg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmNwcApAQCAtNjQsNiArNjQsNyBAQAogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUpTQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCisj
aW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJOYXZpZ2F0b3Iu
aCIKICNpbmNsdWRlICJXb3JrZXJPcldvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldv
cmtlck9yV29ya2xldFNjcmlwdENvbnRyb2xsZXIuaCIKQEAgLTY4Miw0ICs2ODMsMjcgQEAgYm9v
bCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjplbnN1cmVPbkNvbnRleHRUaHJlYWQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0Ojpwb3N0VGFza1RvUmVzcG9uc2libGVEb2N1bWVudChGdW5jdGlvbjx2
b2lkKERvY3VtZW50Jik+JiYgY2FsbGJhY2spCit7CisgICAgaWYgKGlzPERvY3VtZW50Pih0aGlz
KSkgeworICAgICAgICBjYWxsYmFjayhkb3duY2FzdDxEb2N1bWVudD4oKnRoaXMpKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIEFTU0VSVChpczxXb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZT4odGhpcykpOworICAgIGlmICghaXM8V29ya2VyT3JXb3JrbGV0R2xvYmFsU2NvcGU+KHRo
aXMpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvKiB0aHJlYWQgPSBkb3duY2FzdDxXb3Jr
ZXJPcldvcmtsZXRHbG9iYWxTY29wZT4odGhpcyktPndvcmtlck9yV29ya2xldFRocmVhZCgpOwor
ICAgIGlmICh0aHJlYWQpIHsKKyAgICAgICAgdGhyZWFkLT53b3JrZXJMb2FkZXJQcm94eSgpLnBv
c3RUYXNrVG9Mb2FkZXIoW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiBjb250
ZXh0KSB7CisgICAgICAgICAgICBjYWxsYmFjayhkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkp
OworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdXRvIGRv
Y3VtZW50ID0gZG93bmNhc3Q8V29ya2xldEdsb2JhbFNjb3BlPih0aGlzKS0+cmVzcG9uc2libGVE
b2N1bWVudCgpKQorICAgICAgICBjYWxsYmFjaygqZG9jdW1lbnQpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aAppbmRleCAxNmM4NjZmMzk0ODZhZGQxZWRhM2RhMzIwYjUxMDQ2ZDI1YzMwNDVlLi4yNWZiMDBl
NjEzMjNlOTgyOTYwYTI4NTBkN2UxMzdiZjUyNmJhNmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTIyMyw2ICsyMjMsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIH0pOwogICAgIH0KIAorICAgIHZvaWQgcG9zdFRhc2tUb1Jlc3BvbnNpYmxlRG9jdW1l
bnQoRnVuY3Rpb248dm9pZChEb2N1bWVudCYpPiYmKTsKKwogICAgIC8vIEdldHMgdGhlIG5leHQg
aWQgaW4gYSBjaXJjdWxhciBzZXF1ZW5jZSBmcm9tIDEgdG8gMl4zMS0xLgogICAgIGludCBjaXJj
dWxhclNlcXVlbnRpYWxJRCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaAppbmRleCA0Y2ViMWQxMTcyYTA3MzQ1
YjhkM2YxNmVhZjUwMTExZDQ5NjU1MDc0Li5mZTQwMzk3OGY5OGM3ZWYzMTFiNTIyOGNlYjhiNDJi
MWJmYmQ1ZDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFi
aWxpdGllc0RlY29kaW5nSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKQEAgLTQ3LDEwICs0NywxNyBAQCBzdHJ1Y3QgTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gOiBNZWRpYUNhcGFiaWxpdGllc0luZm8gewogCiAg
ICAgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKIAor
ICAgIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIGlzb2xhdGVkQ29weSgpIGNvbnN0Owor
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5l
IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IE1lZGlhQ2FwYWJpbGl0
aWVzSW5mbzo6aXNvbGF0ZWRDb3B5KCksIHN1cHBvcnRlZENvbmZpZ3VyYXRpb24uaXNvbGF0ZWRD
b3B5KCkgfTsKK30KKwogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFDYXBhYmls
aXRpZXNEZWNvZGluZ0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvLmgKaW5kZXggYWQ3MjlhMDE2ZjZiM2QxNmYyNWViMGRhZTk4MmZjYmM3MmUyMjk2Yy4u
YzJiMjUwOTBmMDUyMmQ1ZGNkNmY1MWI1NGJhYzI5YWRiM2JkMzFiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5o
CkBAIC00NywxMCArNDcsMTcgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZv
IDogTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKIAogICAgIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uIHN1cHBvcnRlZENvbmZpZ3VyYXRpb247CiAKKyAgICBNZWRpYUNhcGFiaWxpdGllc0VuY29k
aW5nSW5mbyBpc29sYXRlZENvcHkoKSBjb25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4g
ZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5n
SW5mbyBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzo6aXNvbGF0ZWRDb3B5KCkgY29uc3QK
K3sKKyAgICByZXR1cm4geyBNZWRpYUNhcGFiaWxpdGllc0luZm86Omlzb2xhdGVkQ29weSgpLCBz
dXBwb3J0ZWRDb25maWd1cmF0aW9uLmlzb2xhdGVkQ29weSgpIH07Cit9CisKIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+CiB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjplbmNvZGUo
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgKaW5kZXggMTIyMGVjNTRiMjgwOGZlZTcwZTgwYjQ3Yzli
YWY5YzdiNmNkZDMxYS4uYTgzN2NjNWQ5OWIxYmY2NTBkMmY3MWQ2YTQ4ZGY2NTA0YTM5ODlhYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZv
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgK
QEAgLTM0LDEwICszNCwxNyBAQCBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKICAgICBi
b29sIHNtb290aCB7IGZhbHNlIH07CiAgICAgYm9vbCBwb3dlckVmZmljaWVudCB7IGZhbHNlIH07
CiAKKyAgICBNZWRpYUNhcGFiaWxpdGllc0luZm8gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFDYXBh
YmlsaXRpZXNJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5lIE1lZGlhQ2FwYWJp
bGl0aWVzSW5mbyBNZWRpYUNhcGFiaWxpdGllc0luZm86Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuICp0aGlzOworfQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBN
ZWRpYUNhcGFiaWxpdGllc0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvQXVk
aW9Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaAppbmRleCA0ZmIwZjNiODBkMGU2ZDA3NmM2NDc4M2E3
NDRkY2IwYWIzYzU4YjFiLi42ZTFlOGQxZmNiYTc4OTBkOTY0NzYwZTg0MzYxYTU1ZjEwOThiNzlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9B
dWRpb0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNh
cGFiaWxpdGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaApAQCAtMzYsMTAgKzM2LDE3IEBAIHN0cnVj
dCBBdWRpb0NvbmZpZ3VyYXRpb24gewogICAgIHN0ZDo6b3B0aW9uYWw8dWludDMyX3Q+IHNhbXBs
ZXJhdGU7CiAgICAgc3RkOjpvcHRpb25hbDxib29sPiBzcGF0aWFsUmVuZGVyaW5nOwogCisgICAg
QXVkaW9Db25maWd1cmF0aW9uIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4g
ZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBBdWRpb0NvbmZpZ3VyYXRpb24gQXVkaW9D
b25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IGNvbnRl
bnRUeXBlLmlzb2xhdGVkQ29weSgpLCBjaGFubmVscy5pc29sYXRlZENvcHkoKSwgYml0cmF0ZSwg
c2FtcGxlcmF0ZSwgc3BhdGlhbFJlbmRlcmluZyB9OworfQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPgogdm9pZCBBdWRpb0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmls
aXRpZXMvTWVkaWFDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaAppbmRleCAyYzNiMTc1OGY3MzJjZTk5
OGQ3YjA1YTQxNGU0ZjliNmZkNTVjZThiLi5lZmFjNGM3OTRkY2ZlYjQ3MzE1NmJkM2Y0NWZkZTU5
Y2ZmZjA4NTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFi
aWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaApAQCAtMjcsNiArMjcsNyBA
QAogCiAjaW5jbHVkZSAiQXVkaW9Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiVmlkZW9Db25m
aWd1cmF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzQsMTAgKzM1LDE3IEBAIHN0cnVjdCBNZWRpYUNvbmZpZ3Vy
YXRpb24gewogICAgIHN0ZDo6b3B0aW9uYWw8VmlkZW9Db25maWd1cmF0aW9uPiB2aWRlbzsKICAg
ICBzdGQ6Om9wdGlvbmFsPEF1ZGlvQ29uZmlndXJhdGlvbj4gYXVkaW87CiAKKyAgICBNZWRpYUNv
bmZpZ3VyYXRpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFDb25maWd1cmF0aW9uPiBkZWNvZGUo
RGVjb2RlciYpOwogfTsKIAoraW5saW5lIE1lZGlhQ29uZmlndXJhdGlvbiBNZWRpYUNvbmZpZ3Vy
YXRpb246Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgY3Jvc3NUaHJlYWRD
b3B5KHZpZGVvKSwgIGNyb3NzVGhyZWFkQ29weShhdWRpbykgfTsKK30KKwogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5o
CmluZGV4IGZlYmM4YWRmM2E0MjRjY2UzMmFkNWMxOGJhM2RjMjUwZTdmY2FlZjAuLjNlOWIzNGJh
ZjNhYzRhMzA4OWU0NzEyZmUzNjM1ZTNmODg4ZTc0MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24uaApAQCAtMzUsMTAgKzM1LDE3IEBAIHN0cnVjdCBNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiA6IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAKICAgICBib29sIGNh
bkV4cG9zZVZQOSB7IHRydWUgfTsKIAorICAgIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIGlz
b2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBl
bmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2Rl
ciYpOwogfTsKIAoraW5saW5lIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IE1l
ZGlhQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCksIHR5cGUsIGNhbkV4cG9zZVZQOSB9Owor
fQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBNZWRpYURlY29kaW5nQ29uZmlndXJh
dGlvbjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaAppbmRleCAxOWI3Zjc0YzJkMTU4ZDUxZWQ5OTU3MjI0
MzRjOTU0MzkzZWM1ZjBkLi41OTY4MTc3ODI0MzU3NGMyMTM1MGM1MTBmZGEyMTc0MmM4OGZkNWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgKQEAgLTMzLDEw
ICszMywxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZp
Z3VyYXRpb24gOiBNZWRpYUNvbmZpZ3VyYXRpb24gewogICAgIE1lZGlhRW5jb2RpbmdUeXBlIHR5
cGU7CiAKKyAgICBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBpc29sYXRlZENvcHkoKSBjb25z
dDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBj
b25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxN
ZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGlu
ZSBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbjo6
aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyBNZWRpYUNvbmZpZ3VyYXRpb246
Omlzb2xhdGVkQ29weSgpLCB0eXBlIH07Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2
b2lkIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgKaW5kZXggNjBmOWYzMzNjYmE3MjE1
NjdhMWM4N2FlODFlMjRhZTI0NmM1ZDU2Ni4uZTg2MzFmMmNmMTc2N2VhZmI4NWQ1NTZhMGRlN2Iy
NTRjMDViMmI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBh
YmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmgKQEAgLTQzLDEwICs0Mywx
NyBAQCBzdHJ1Y3QgVmlkZW9Db25maWd1cmF0aW9uIHsKICAgICBzdGQ6Om9wdGlvbmFsPEhkck1l
dGFkYXRhVHlwZT4gaGRyTWV0YWRhdGFUeXBlOwogICAgIHN0ZDo6b3B0aW9uYWw8VHJhbnNmZXJG
dW5jdGlvbj4gdHJhbnNmZXJGdW5jdGlvbjsKIAorICAgIFZpZGVvQ29uZmlndXJhdGlvbiBpc29s
YXRlZENvcHkoKSBjb25zdDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMg
c3RkOjpvcHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+IGRlY29kZShEZWNvZGVyJik7CiB9Owog
CitpbmxpbmUgVmlkZW9Db25maWd1cmF0aW9uIFZpZGVvQ29uZmlndXJhdGlvbjo6aXNvbGF0ZWRD
b3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyBjb250ZW50VHlwZS5pc29sYXRlZENvcHkoKSwg
d2lkdGgsIGhlaWdodCwgYml0cmF0ZSwgZnJhbWVyYXRlLCBhbHBoYUNoYW5uZWwsIGNvbG9yR2Ft
dXQsIGhkck1ldGFkYXRhVHlwZSwgdHJhbnNmZXJGdW5jdGlvbiB9OworfQorCiB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPgogdm9pZCBWaWRlb0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMDU4Zjk2
ODhhZTg2OTVjYzg0MmM1Y2I0ZmFlOTNhNmIxNjdhNjdjZi4uY2FkNThjMjI5YmM5ZWFlMDliM2M4
OTEyNjZjNWNiZmQ4YjliOWRkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMjEtMTAtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEV4cG9zZSBNZWRpYUNhcGFiaWxpdGllcyB0byBXb3JrZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE1NzQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBydW5uaW5nIGVu
Y29kaW5nIHRlc3RzIGluIHdvcmtlcnMgYXMgd2VsbCBhcyBpbiB3aW5kb3cuCisKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5h
bnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9lbmNvZGluZ0luZm8uYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3Rl
ZDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2VuY29kaW5nSW5mby5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dDoKKwogMjAyMS0xMC0xNSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+
CiAKICAgICAgICAgW1dlYklETF0gSlNET01CdWlsdGluQ29uc3RydWN0b3IgaW5zdGFuY2VzIHNo
b3VsZCBzdXBwb3J0IHN1YmNsYXNzaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8u
YW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKaW5kZXggODEyODBmMjIwZmViZWJjZDZhYTg0ZjdhMGIwN2UwZmIyM2Y3ODY3
NC4uMTU2NTk0YjFiYWZjYTQ5YzI2NWNlMjIwY2I4ZWI2ZDBjMDZlMWRiMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2Rl
Y29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzMSArMSwzMSBAQAogCi1G
QUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdldCBhIGNv
bmZpZ3VyYXRpb24gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZCB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVs
ZCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJh
dGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0
byAwIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQg
dG8gSW5maW5pdHkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
ZG9lc24ndCBwYXJzZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBpc24ndCBvZiB0eXBlIHZpZGVvIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNv
bnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNv
ZGVjcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgaW4gdGhlIGZvcm0gb2YgeC8wIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAv
eSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8o
KSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRl
IGluIHRoZSBmb3JtIG9mIHgvLXkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8g
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkg
cmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycyB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UgdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBh
dWRpbyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9y
ZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNv
bnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFs
aWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8n
KQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmln
dXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdHlwZSB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
bycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gd2l0aCBzcGF0aWFsUmVuZGVyaW5nIHNl
dCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggaGRyTWV0
YWRhdGFUeXBlLCBjb2xvckdhbXV0LCBhbmQgdHJhbnNmZXJGdW5jdGlvbiBzZXQgcmV0dXJucyBh
IHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBj
b25maWd1cmF0aW9uIGhhcyBhbiBlbXB0eSBoZHJNZXRhZGF0YVR5cGUgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgY29sb3JHYW11dCBzZXQgdG8gdHJ1ZSB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0byAzIHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWpl
Y3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZAor
UEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJh
dGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVv
IGZpZWxkCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1l
cmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2Yg
dHlwZSB2aWRlbworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVy
IGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0
aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBm
cmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8o
KSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQorUEFTUyBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2Yg
LXgveQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4g
dGhlIGZvcm0gb2YgeC8teQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBm
cmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygp
IHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMKK1BB
U1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0
aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2Yg
dHlwZSBhdWRpbworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1
ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVy
cyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIg
dGhhdCBpc24ndCBjb2RlY3MKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEg
dmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFs
aWQgdHlwZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggc3BhdGlhbFJlbmRlcmlu
ZyBzZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIGhkck1ldGFkYXRhVHlwZSwgY29sb3JHYW11dCwgYW5k
IHRyYW5zZmVyRnVuY3Rpb24gc2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0lu
Zm8gb2JqZWN0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRl
ZmluZWQiCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBoYXMgYW4gZW1wdHkgaGRyTWV0YWRhdGFUeXBlCitQQVNTIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBj
b2xvckdhbXV0IHNldCB0byB0cnVlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0
byAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9lbmNvZGluZ0luZm8tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyY2U3NWIyN2QwZDc2MTQwYmE3MjVkYjVjYmUyNjNmYTcyMTBiNGE5Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0KLVBBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgot
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJh
dGlvbiBpc24ndCB2YWxpZAotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQotUEFTUyBUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZl
IGFuIGF1ZGlvIG9yIHZpZGVvIGZpZWxkCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUK
LVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNl
dCB0byBJbmZpbml0eQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQotUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29u
dGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbwotRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUg
dGhhbiBvbmUgcGFyYW1ldGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVk
OiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1QQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBo
YXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcwotUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95Ci1QQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAK
LVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBm
b3JtIG9mIDAveQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgaW4gdGhlIGZvcm0gb2YgLXgveQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8teQotUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KLVBBU1MgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxv
d2VkIGNoYXJhY3RlcnMKLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQotUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29u
dGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbwotRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUg
dGhhbiBvbmUgcGFyYW1ldGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3Rl
ZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
aGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKLVBBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9y
IHJlY29yZCB0eXBlCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
TWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJ
bmZvLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1
Y2JlMjYzZmE3MjEwYjRhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5h
bnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKKworUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uCitQQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGlz
bid0IHZhbGlkCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVk
aWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlCitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVk
aW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZQorUEFTUyBU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
aGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIElu
ZmluaXR5CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBpc24ndCBvZiB0eXBlIHZpZGVvCitGQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9u
ZSBwYXJhbWV0ZXIgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVm
aW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUg
cGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8o
KSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kKK1BBU1MgVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvMAorUEFTUyBU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2Yg
MC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0
aGUgZm9ybSBvZiAteC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZy
YW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8o
KSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LworUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hh
cmFjdGVycworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlv
IGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBpc24ndCBvZiB0eXBlIGF1ZGlvCitGQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9u
ZSBwYXJhbWV0ZXJzIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRl
ZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25l
IHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBmb3IgcmVjb3Jk
IHR5cGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNv
bmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZW5jb2RpbmdJbmZvLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lmh0bWwKQEAgLTAsMCArMSBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJl
IHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg4MmIwYWU5MTE3YWIyNjhmZjU3MTBmN2Y5YjM5N2Ix
ZGFlZGJiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkuanMKQEAg
LTAsMCArMSwzMTAgQEAKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBi
ZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3Np
bmcuCit2YXIgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICd2
aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgwMCwKKyAgaGVp
Z2h0OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBN
aW5pbWFsIFdlYlJUQyBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVy
IHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5p
bWFsV2VicnRjVmlkZW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQ
OScsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBm
cmFtZXJhdGU6IDI0LAorfTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3
aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUg
bWlzc2luZy4KK3ZhciBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlw
ZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorfTsKKworLy8gTWluaW1hbCBXZWJSVEMg
QXVkaW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0
aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1hbFdlYnJ0Y0F1ZGlv
Q29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICdhdWRpby9vcHVzJywKK307CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oKSk7Cit9LCAiVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJh
dGlvbiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHt9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNv
bmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRp
b24sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBk
b2VzIG5vdCBoYXZlIGEgdHlwZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBw
cm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgfSkpOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhh
dmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86
IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4
IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRl
OiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAtMSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBh
IG5lZ2F0aXZlIGZyYW1lcmF0ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBw
cm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAg
ICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAg
ICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAs
CisgICAgICBmcmFtZXJhdGU6IDAsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJh
dGUgc2V0IHRvIDAiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRl
bnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0
aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAg
ZnJhbWVyYXRlOiBJbmZpbml0eSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0
ZSBzZXQgdG8gSW5maW5pdHkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAg
IGNvbnRlbnRUeXBlOiAnZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDog
NjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwK
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQn
LAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL2ZnZW9hJywKKyAgICAg
IHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisg
ICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNu
J3Qgb2YgdHlwZSB2aWRlbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiOyBmb289ImJh
ciInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0
ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisg
ICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgZm9vPSJiYXIiJywK
KyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMw
MDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5
cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcs
CisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2
cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisg
ICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvMTAwMScsCisgICAg
fQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRl
IGluIHRoZSBmb3JtIG9mIHgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBw
cm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAg
ICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAg
ICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAs
CisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8wJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wIik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAg
IHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVv
L3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAg
IGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzAv
MTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWpl
Y3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAg
dmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAw
LjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBi
aXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnLTI0MDAwLzEwMDAxJywKKyAgICB9Cisg
IH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4g
dGhlIGZvcm0gb2YgLXgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAg
IHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisg
ICAgICBmcmFtZXJhdGU6ICcyNDAwMC8tMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3Zp
ZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAg
ICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTog
JzI0MDAwLycsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJl
amVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAg
IHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4w
MC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAg
Yml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzEvM3gnLAorICAgIH0KKyAgfSkpOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRoIHRyYWls
aW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7
IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0
IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0lu
Zm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlk
ZW8vZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRp
byIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAncmVjb3JkJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL3dl
Ym07IGNvZGVjcz0ib3B1cyI7IGZvbz0iYmFyIicgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1
ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9LAorICB9KSk7Cit9
LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIik7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiBtaW5pbWFs
VmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9u
LAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxp
dHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxp
dHkuc21vb3RoLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHku
cG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7CisgIH0pOworfSwgIlRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGZvciBy
ZWNvcmQgdHlwZSIpOworCithc3luY190ZXN0KHQgPT4geworICB2YXIgdmFsaWRUeXBlcyA9IFsg
J3JlY29yZCcsICd3ZWJydGMnIF07CisgIHZhciBpbnZhbGlkVHlwZXMgPSBbIHVuZGVmaW5lZCwg
bnVsbCwgJycsICdmb29iYXInLCAnbXNlJywgJ01lZGlhU291cmNlJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgJ2ZpbGUnLCAnbWVkaWEtc291cmNlJywgXTsKKworICB2YXIgdmFsaWRQcm9taXNl
cyA9IFtdOworICB2YXIgaW52YWxpZENhdWdodCA9IDA7CisKKyAgdmFsaWRUeXBlcy5mb3JFYWNo
KHR5cGUgPT4geworICAgIHZhbGlkUHJvbWlzZXMucHVzaChuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICAgIHR5cGU6IHR5cGUsCisgICAgICB2aWRlbzogdHlw
ZSAhPSAid2VicnRjIiA/IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gOiBtaW5pbWFsV2VicnRj
VmlkZW9Db25maWd1cmF0aW9uLAorICAgICAgYXVkaW86IHR5cGUgIT0gIndlYnJ0YyIgPyBtaW5p
bWFsQXVkaW9Db25maWd1cmF0aW9uIDogbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiwK
KyAgICB9KSk7CisgIH0pOworCisgIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3RlZCB2aWEgUHJvbWlz
ZS5hbGwodmFsaWRQcm9taXNlcykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCisgIC8vIHByb21pc2Vz
IGZhaWwsIFByb21pc2UuYWxsKCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFuaXNtIGNhbid0IGJl
IHVzZWQgZm9yCisgIC8vIGludmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0ZXN0ZWQgaW5kaXZp
ZHVhbGx5IGFuZCBpbmNyZW1lbnQgaW52YWxpZENhdWdodAorICAvLyB3aGVuIHJlamVjdGVkIHVu
dGlsIHRoZSBhbW91bnQgb2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVjdGF0aW9uLgorICBQ
cm9taXNlLmFsbCh2YWxpZFByb21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkgeworICAgICAgbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgICAgIHR5cGU6IGlu
dmFsaWRUeXBlc1tpXSwKKyAgICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24s
CisgICAgICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgICAgfSkudGhl
bih0LnVucmVhY2hlZF9mdW5jKCksIHQuc3RlcF9mdW5jKGUgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGUubmFtZSwgJ1R5cGVFcnJvcicpOworICAgICAgICArK2ludmFsaWRDYXVnaHQ7Cisg
ICAgICAgIGlmIChpbnZhbGlkQ2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5ndGgpCisgICAgICAg
ICAgdC5kb25lKCk7CisgICAgICB9KSk7CisgICAgfQorICB9KSwgdC51bnJlYWNoZWRfZnVuYygn
UHJvbWlzZS5hbGwgc2hvdWxkIG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVzJykpOworfSwgIlRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRv
ZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0lu
Zm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1Y2JlMjYz
ZmE3MjEwYjRhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29y
a2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACisKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBp
c24ndCB2YWxpZAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1l
ZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1
ZGlvIG9yIHZpZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1Mg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9u
IGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJ
bmZpbml0eQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVv
IGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5
cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBv
bmUgcGFyYW1ldGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRl
ZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25l
IHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
KCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBl
bmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1Mg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9m
IDAveQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4g
dGhlIGZvcm0gb2YgLXgveQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBm
cmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8teQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
KCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNo
YXJhY3RlcnMKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRp
byBjb25maWd1cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5
cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBv
bmUgcGFyYW1ldGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5k
ZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9u
ZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9yIHJlY29y
ZCB0eXBlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFD
b25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55
Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5
ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtl
ci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJL
aXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGZjMmYwZjVhZGQzM2E3NDBkNzhkYzlhMjAxYzM3ZjhmOTdkOTI4NjguLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMTggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0
bGU+TWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKCk8L3RpdGxlPgotPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLS8vIE1pbmlt
YWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwg
b3B0aW9uYWwKLS8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCi12YXIgbWluaW1hbFZpZGVvQ29u
ZmlndXJhdGlvbiA9IHsKLSAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDku
MDAuMTAuMDgiJywKLSAgd2lkdGg6IDgwMCwKLSAgaGVpZ2h0OiA2MDAsCi0gIGJpdHJhdGU6IDMw
MDAsCi0gIGZyYW1lcmF0ZTogMjQsCi19OwotCi0vLyBNaW5pbWFsIFdlYlJUQyBWaWRlb0NvbmZp
Z3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAotLy8g
cHJvcGVydGllcyBhcmUgbWlzc2luZy4KLXZhciBtaW5pbWFsV2VicnRjVmlkZW9Db25maWd1cmF0
aW9uID0gewotICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOScsCi0gIHdpZHRoOiA4MDAsCi0gIGhl
aWdodDogNjAwLAotICBiaXRyYXRlOiAzMDAwLAotICBmcmFtZXJhdGU6IDI0LAotfTsKLQotLy8g
TWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMu
IEFsbCBvcHRpb25hbAotLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KLXZhciBtaW5pbWFsQXVk
aW9Db25maWd1cmF0aW9uID0gewotICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0i
b3B1cyInLAotfTsKLQotLy8gTWluaW1hbCBXZWJSVEMgQXVkaW9Db25maWd1cmF0aW9uIHRoYXQg
d2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKLS8vIHByb3BlcnRpZXMgYXJl
IG1pc3NpbmcuCi12YXIgbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiA9IHsKLSAgY29u
dGVudFR5cGU6ICdhdWRpby9vcHVzJywKLX07Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oKSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWpl
Y3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbiIpOwotCi1wcm9taXNlX3Rlc3Qo
dCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHt9KSk7Ci19LCAiVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQi
KTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0g
ICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCi0gICAgYXVkaW86IG1pbmltYWxB
dWRpb0NvbmZpZ3VyYXRpb24sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZSIpOwot
Ci1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlw
ZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0
eXBlOiAncmVjb3JkJywKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmll
bGQiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pz
KHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAn
dmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAwLAot
ICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRl
OiAtMSwKLSAgICB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZSIpOwot
Ci1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlw
ZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0
eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93
ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBo
ZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6IDAsCi0g
ICAgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAiKTsKLQotcHJvbWlz
ZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3Jl
Y29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2
MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiBJbmZpbml0eSwKLSAg
ICB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkiKTsKLQot
cHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVF
cnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlw
ZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAnZmdlb2EnLAot
ICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAw
MCwKLSAgICAgIGZyYW1lcmF0ZTogMjQsCi0gICAgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBkb2Vzbid0IHBhcnNlIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21p
c2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAgICBj
b250ZW50VHlwZTogJ2F1ZGlvL2ZnZW9hJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWln
aHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6IDI0LAotICAg
IH0sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbyIpOwotCi1w
cm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBl
OiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJt
OyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiOyBmb289ImJhciInLAotICAgICAgd2lkdGg6IDgwMCwK
LSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZyYW1lcmF0
ZTogMjQsCi0gICAgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9u
ZSBwYXJhbWV0ZXIiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRl
bnRUeXBlOiAndmlkZW8vd2VibTsgZm9vPSJiYXIiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAg
ICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6IDI0
LAotICAgIH0sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhh
dCBpc24ndCBjb2RlY3MiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNv
bnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3
aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAg
ICAgZnJhbWVyYXRlOiAnMjQwMDAvMTAwMScsCi0gICAgfQotICB9KSk7Ci19LCAiVGVzdCB0aGF0
IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgveSIpOwot
Ci1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlw
ZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0
eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93
ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBo
ZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6ICcyNDAw
MC8wJywKLSAgICB9Ci0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0
cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsK
LSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZp
ZGVvOiB7Ci0gICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4x
MC4wOCInLAotICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0
cmF0ZTogMzAwMCwKLSAgICAgIGZyYW1lcmF0ZTogJzAvMTAwMDEnLAotICAgIH0KLSAgfSkpOwot
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9y
bSBvZiAwL3kiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5n
SW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRU
eXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDog
ODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJh
bWVyYXRlOiAnLTI0MDAwLzEwMDAxJywKLSAgICB9Ci0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgveSIpOwotCi1w
cm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBl
OiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJt
OyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAgICBoZWln
aHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6ICcyNDAwMC8t
MTAwMDEnLAotICAgIH0KLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWpl
Y3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+
IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAg
IHZpZGVvOiB7Ci0gICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4w
MC4xMC4wOCInLAotICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAg
Yml0cmF0ZTogMzAwMCwKLSAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLycsCi0gICAgfQotICB9KSk7
Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBm
b3JtIG9mIHgvIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAgICBjb250ZW50
VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAotICAgICAgd2lkdGg6
IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZy
YW1lcmF0ZTogJzEvM3gnLAotICAgIH0KLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJz
Iik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewot
ICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0s
Ci0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlv
IGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlIik7Ci0KLXByb21pc2VfdGVz
dCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQn
LAotICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vZmdlb2EnIH0sCi0gIH0pKTsKLX0s
ICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyIpOwotCi1wcm9taXNlX3Rlc3QodCA9
PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3JkJywKLSAg
ICBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyI7IGZvbz0i
YmFyIicgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJh
bWV0ZXJzIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0lu
Zm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVk
aW8vd2VibTsgZm9vPSJiYXIiJyB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUg
cGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAg
cmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5
cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAotICAg
IGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAotICB9KS50aGVuKGFiaWxpdHkgPT4g
ewotICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIp
OwotICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOwot
ICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFu
Iik7Ci0gIH0pOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1l
ZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGZvciByZWNvcmQgdHlwZSIpOwotCi1hc3luY190
ZXN0KHQgPT4gewotICB2YXIgdmFsaWRUeXBlcyA9IFsgJ3JlY29yZCcsICd3ZWJydGMnIF07Ci0g
IHZhciBpbnZhbGlkVHlwZXMgPSBbIHVuZGVmaW5lZCwgbnVsbCwgJycsICdmb29iYXInLCAnbXNl
JywgJ01lZGlhU291cmNlJywKLSAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbGUnLCAnbWVkaWEt
c291cmNlJywgXTsKLQotICB2YXIgdmFsaWRQcm9taXNlcyA9IFtdOwotICB2YXIgaW52YWxpZENh
dWdodCA9IDA7Ci0KLSAgdmFsaWRUeXBlcy5mb3JFYWNoKHR5cGUgPT4gewotICAgIHZhbGlkUHJv
bWlzZXMucHVzaChuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAg
ICAgIHR5cGU6IHR5cGUsCi0gICAgICB2aWRlbzogdHlwZSAhPSAid2VicnRjIiA/IG1pbmltYWxW
aWRlb0NvbmZpZ3VyYXRpb24gOiBtaW5pbWFsV2VicnRjVmlkZW9Db25maWd1cmF0aW9uLAotICAg
ICAgYXVkaW86IHR5cGUgIT0gIndlYnJ0YyIgPyBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uIDog
bWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiwKLSAgICB9KSk7Ci0gIH0pOwotCi0gIC8v
IHZhbGlkVHlwZXMgYXJlIHRlc3RlZCB2aWEgUHJvbWlzZS5hbGwodmFsaWRQcm9taXNlcykgYmVj
YXVzZSBpZiBvbmUgb2YgdGhlCi0gIC8vIHByb21pc2VzIGZhaWwsIFByb21pc2UuYWxsKCkgd2ls
bCByZWplY3QuIFRoaXMgbWVjaGFuaXNtIGNhbid0IGJlIHVzZWQgZm9yCi0gIC8vIGludmFsaWQg
dHlwZXMgd2hpY2ggd2lsbCBiZSB0ZXN0ZWQgaW5kaXZpZHVhbGx5IGFuZCBpbmNyZW1lbnQgaW52
YWxpZENhdWdodAotICAvLyB3aGVuIHJlamVjdGVkIHVudGlsIHRoZSBhbW91bnQgb2YgcmVqZWN0
aW9uIG1hdGNoZXMgdGhlIGV4cGVjdGF0aW9uLgotICBQcm9taXNlLmFsbCh2YWxpZFByb21pc2Vz
KS50aGVuKHQuc3RlcF9mdW5jKCgpID0+IHsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGludmFs
aWRUeXBlcy5sZW5ndGg7ICsraSkgewotICAgICAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmVuY29kaW5nSW5mbyh7Ci0gICAgICAgIHR5cGU6IGludmFsaWRUeXBlc1tpXSwKLSAgICAgICAg
dmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCi0gICAgICAgIGF1ZGlvOiBtaW5pbWFs
QXVkaW9Db25maWd1cmF0aW9uLAotICAgICAgfSkudGhlbih0LnVucmVhY2hlZF9mdW5jKCksIHQu
c3RlcF9mdW5jKGUgPT4gewotICAgICAgICBhc3NlcnRfZXF1YWxzKGUubmFtZSwgJ1R5cGVFcnJv
cicpOwotICAgICAgICArK2ludmFsaWRDYXVnaHQ7Ci0gICAgICAgIGlmIChpbnZhbGlkQ2F1Z2h0
ID09IGludmFsaWRUeXBlcy5sZW5ndGgpCi0gICAgICAgICAgdC5kb25lKCk7Ci0gICAgICB9KSk7
Ci0gICAgfQotICB9KSwgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZS5hbGwgc2hvdWxkIG5vdCBy
ZWplY3QgZm9yIHZhbGlkIHR5cGVzJykpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBl
Iik7Ci0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
aW5kZXggNjcwMDgyODg3MGNlMWYxNTlmNDAzMGFlYTM0YzY2Yzc4ZTE2N2E5MS4uM2I2NzE5MDA0
ZGI5ZGQzMThkY2ZhYjdkODRhOTNkZWIyNzEyMzJhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFy
bmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0yMCwyMCArMjAsMjAgQEAgUEFTUyBXb3JrZXJOYXZpZ2F0
b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdv
cmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvck9uTGluZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5h
dmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKLUZBSUwg
TWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlh
Q2FwYWJpbGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZSBv
YmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBh
YmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRp
ZXMiIG1pc3NpbmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRp
ZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwotRkFJTCBN
ZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBh
YmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwot
RkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVk
aWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlz
c2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWNvZGlu
Z0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwgTWVkaWFDYXBhYmls
aXRpZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25m
aWd1cmF0aW9uKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJp
bGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgYmUgcHJpbWFyeSBp
bnRlcmZhY2Ugb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGFzc2VydF9lcXVhbHM6IHdy
b25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgot
RkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGFzc2Vy
dF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAi
dW5kZWZpbmVkIgotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5nSW5mbyhNZWRp
YURlY29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVh
bHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZp
bmVkIgotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGNhbGxpbmcgZGVjb2RpbmdJ
bmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRf
ZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVu
ZGVmaW5lZCIKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJlbmNvZGluZ0luZm8oTWVkaWFF
bmNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxz
OiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5l
ZCIKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGVuY29kaW5nSW5m
byhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2Vx
dWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRl
ZmluZWQiCi1GQUlMIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYUNh
cGFiaWxpdGllcyBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEg
cHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJ
TCBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVy
aXRzOiBwcm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUg
Y2hhaW4KK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgTWVkaWFDYXBh
YmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIE1lZGlhQ2Fw
YWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBNZWRpYUNh
cGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24pCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogb3BlcmF0
aW9uIGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikKK1BBU1MgTWVkaWFD
YXBhYmlsaXRpZXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcworUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5nSW5mbyhNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIE1lZGlhQ2Fw
YWJpbGl0aWVzIGludGVyZmFjZTogY2FsbGluZyBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24pIG9uIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGlu
dGVyZmFjZTogbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGVuY29k
aW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IKK1BB
U1MgV29ya2VyTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhQ2FwYWJpbGl0aWVz
CitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441698</attachid>
            <date>2021-10-19 01:04:17 -0700</date>
            <delta_ts>2021-10-19 04:05:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-231574-20211019100414.patch</filename>
            <type>text/plain</type>
            <size>90859</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdjNGRlNjNlYjFlNDY2
M2QwNWU4Yzc0MWNmOWY4YjdjMDQ2ZTVmMi4uMTI2MjQ3N2M2MTVmYzk0ZjJjOTcyNTFjNmJhNzZj
YTYzZjQxNmU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgTWVkaWFDYXBh
YmlsaXRpZXMgdG8gV29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxNTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgor
CisgICAgICAgIEV4cG9zZSBNZWRpYSBDYXBhYmlsaXRpZXMgdG8gd29ya2VycyBieSBob3BwaW5n
IHRvIG1haW4gdGhyZWFkIGFuZCB1c2luZyB3b3JrZXIgcmVzcG9uc2libGUgZG9jdW1lbnQgZm9y
IGdhdGhlcmluZyBNZWRpYSBDYXBhYmlsaXRpZXMsIHRoZW4gaG9wcGluZyBiYWNrIHRvIHdvcmtl
ci4KKyAgICAgICAgTWVkaWFDYXBhYmlsaXRpZXMgd2lsbCBzdG9yZSB0aGUgcHJvbWlzZXMgd2hl
biB3YWl0aW5nIGZvciBtZWRpYSBjYXBhYmlsaXRpZXMgZ2F0aGVyaW5nIGJ5IGRvY3VtZW50Lgor
CisgICAgICAgIFdlIHJlbW92ZSBDdXN0b21FbmFibGVkIHNpbmNlIGl0IGlzIG5vdCBzdXBwb3J0
ZWQgaW4gV29ya2VycyBhbmQgd2UgYXJlIG5vdyBleHBvc2luZyBlbmNvZGluZyBpbmZvIGZvciBX
ZWJSVEMgYW55d2F5LgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVz
L2VuY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJp
bGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2Fw
YWJpbGl0aWVzLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNh
cGFiaWxpdGllcy5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9OYXZp
Z2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFi
aWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5oOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbDog
QWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0
b3JNZWRpYUNhcGFiaWxpdGllcy5jcHA6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaDogQWRkZWQuCisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAg
ICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmg6CisgICAgICAgICogcGxhdGZvcm0vTWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9NZWRpYUNh
cGFiaWxpdGllc0luZm8uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9B
dWRpb0NvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmg6CisKIDIwMjEt
MTAtMTUgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAg
IFtXZWJJRExdIEpTRE9NQnVpbHRpbkNvbnN0cnVjdG9yIGluc3RhbmNlcyBzaG91bGQgc3VwcG9y
dCBzdWJjbGFzc2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyMzEyYzRiZjY3ZTNiMzFmZTI3
ZDMyMDdhN2U3NDI5YTI3ZWIxMTc3Li4xZjE0MDIwZGRjNDdjOTdkNzhhNzg3MDA0YjM3MzBmMGY5
NTQwYmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzQ1LDYgKzM0NSw3IEBAIHNldChXZWJD
b3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9OYXZp
Z2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsCiAgICAgTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGll
cy9UcmFuc2ZlckZ1bmN0aW9uLmlkbAogICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvVmlk
ZW9Db25maWd1cmF0aW9uLmlkbAorICAgIE1vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2Vy
TmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbAogCiAgICAgTW9kdWxlcy9tZWRpYWNvbnRy
b2xzL01lZGlhQ29udHJvbHNIb3N0LmlkbAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA0Y2FiNzMzOThlYzNlYzc1NjdlZmIxYTc3ZjE4
MmU0ZThiYTU2MjgyLi4zNDliYjA0YzdkMmI0NWM4NWIzMzUzNzAxYzk3ZTRkZjE3ZmIyNmI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAg
LTE3Nyw2ICsxNzcsNyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhRW5jb2RpbmdUeXBlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNhcGFi
aWxpdGllcy9OYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1RyYW5zZmVyRnVuY3Rpb24uaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1ZpZGVvQ29uZmlndXJhdGlvbi5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yK01l
ZGlhQ2FwYWJpbGl0aWVzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYWNvbnRyb2xz
L01lZGlhQ29udHJvbHNIb3N0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXJlY29y
ZGVyL0Jsb2JFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAppbmRleCA0YTBiODZmMzVlZjVkZDRjMzE0NmY5MTNhNTZjZWMyYWYyNmI1
YWI4Li45NzYyMzE0YWIyZWQ2YjMyODg1YjdkNjMyNjJkZDIxMjI4ZDM2M2JhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjQ4NSw2
ICsyNDg1LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNXb3JrZXJHbG9iYWxTY29wZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJMb2NhdGlvbi5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyTG9jYXRpb24uaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJOYXZpZ2F0
b3IrTWVkaWFDYXBhYmlsaXRpZXMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dvcmtlck5hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlck5hdmlnYXRv
ci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29y
a2VyTmF2aWdhdG9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV29ya2VyT3B0aW9ucy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IDVjNzczYTQ4OWRhMTljYzIwODVlY2NlNzEzZWIwMDdiMjAwZjg4NTIuLjE1OTk0YWJjMjIxYTc2
NTg0OWM0YTU5MGM0OTZkZjE2MDI5NGFhMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMjAzLDYgKzIwMyw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05hdmlnYXRvcitNZWRpYUNhcGFiaWxpdGllcy5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9UcmFuc2ZlckZ1
bmN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1Zp
ZGVvQ29uZmlndXJhdGlvbi5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFi
aWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXJlY29yZGVyL0Jsb2JFdmVudC5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBh
YmlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUNhcGFiaWxpdGllcy5jcHAKaW5kZXggM2RjYjY1MmUzNjUyYTUzZTI0ZTk1ZDE4OWViZjE3
OTQ3NDJjYTZlYi4uNTU2OWJmNGJlYTMwZmQxZTI5ODQ4NzY4NDQzZTM1NzU1YjBlYWU3MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNh
cGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAKQEAgLTE2OCwxNCArMTY4LDU4IEBAIHN0YXRpYyBi
b29sIGlzVmFsaWRNZWRpYUNvbmZpZ3VyYXRpb24oY29uc3QgTWVkaWFDb25maWd1cmF0aW9uJiBj
b25maWd1cmF0aW9uKQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIE1lZGlhQ2FwYWJpbGl0
aWVzOjpkZWNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkK
K3N0YXRpYyB2b2lkIGdhdGhlckRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlh
RGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbiwgTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykK
K3sKKyAgICBSRUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiR2F0aGVyaW5nIGRlY29kaW5nIE1lZGlh
Q2FwYWJpbGl0aWVzIik7CisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVj
b2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgZGVjb2RpbmdDYWxsYmFjayA9IFtjYWxsYmFjayA9
IFdURk1vdmUoY2FsbGJhY2spXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgUkVM
RUFTRV9MT0dfSU5GTyhNZWRpYSwgIkZpbmlzaGVkIGdhdGhlcmluZyBkZWNvZGluZyBNZWRpYUNh
cGFiaWxpdGllcyIpOworICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKHJlc3VsdCkpOworICAgIH07
CisKKyAgICBpZiAoIWRvY3VtZW50LnNldHRpbmdzKCkubWVkaWFDYXBhYmlsaXRpZXNFeHRlbnNp
b25zRW5hYmxlZCgpICYmIGNvbmZpZ3VyYXRpb24udmlkZW8pCisgICAgICAgIGNvbmZpZ3VyYXRp
b24udmlkZW8udmFsdWUoKS5hbHBoYUNoYW5uZWwucmVzZXQoKTsKKworI2lmIEVOQUJMRShWUDkp
CisgICAgY29uZmlndXJhdGlvbi5jYW5FeHBvc2VWUDkgPSBkb2N1bWVudC5zZXR0aW5ncygpLnZw
OURlY29kZXJFbmFibGVkKCk7CisjZW5kaWYKKworI2lmIEVOQUJMRShXRUJfUlRDKQorICAgIGlm
IChjb25maWd1cmF0aW9uLnR5cGUgPT0gTWVkaWFEZWNvZGluZ1R5cGU6OldlYlJUQykgeworICAg
ICAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50LnBhZ2UoKSkKKyAgICAgICAgICAgIHBhZ2Ut
PmxpYldlYlJUQ1Byb3ZpZGVyKCkuY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUo
Y29uZmlndXJhdGlvbiksIFdURk1vdmUoZGVjb2RpbmdDYWxsYmFjaykpOworICAgICAgICByZXR1
cm47CisgICAgfQorI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOworI2VuZGlmCisg
ICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2RpbmdDb25maWd1
cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoZGVjb2RpbmdDYWxsYmFjaykp
OworfQorCitzdGF0aWMgdm9pZCBnYXRoZXJFbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50
LCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIE1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2Fs
bGJhY2spCit7CisgICAgUkVMRUFTRV9MT0dfSU5GTyhNZWRpYSwgIkdhdGhlcmluZyBlbmNvZGlu
ZyBNZWRpYUNhcGFiaWxpdGllcyIpOworICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrIGVuY29kaW5nQ2FsbGJhY2sgPSBbY2Fs
bGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oYXV0byYmIHJlc3VsdCkgbXV0YWJsZSB7CisgICAg
ICAgIFJFTEVBU0VfTE9HX0lORk8oTWVkaWEsICJGaW5pc2hlZCBnYXRoZXJpbmcgZW5jb2Rpbmcg
TWVkaWFDYXBhYmlsaXRpZXMiKTsKKyAgICAgICAgY2FsbGJhY2soV1RGTW92ZShyZXN1bHQpKTsK
KyAgICB9OworCisjaWYgRU5BQkxFKFdFQl9SVEMpCisgICAgaWYgKGNvbmZpZ3VyYXRpb24udHlw
ZSA9PSBNZWRpYUVuY29kaW5nVHlwZTo6V2ViUlRDKSB7CisgICAgICAgIGlmIChhdXRvKiBwYWdl
ID0gZG9jdW1lbnQucGFnZSgpKQorICAgICAgICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIo
KS5jcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RG
TW92ZShlbmNvZGluZ0NhbGxiYWNrKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZWxzZQor
ICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CisjZW5kaWYKKyAgICBNZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25m
aWd1cmF0aW9uKSwgV1RGTW92ZShlbmNvZGluZ0NhbGxiYWNrKSk7Cit9CisKK3ZvaWQgTWVkaWFD
YXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICAvLyAyLjQgTWVkaWEgQ2FwYWJpbGl0aWVzIElu
dGVyZmFjZQogICAgIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVz
LyNtZWRpYS1jYXBhYmlsaXRpZXMtaW50ZXJmYWNlCiAKLSAgICBhdXRvIGlkZW50aWZpZXIgPSBX
VEY6OkxvZ2dlcjo6TG9nU2l0ZUlkZW50aWZpZXIoIk1lZGlhQ2FwYWJpbGl0aWVzIiwgX19mdW5j
X18sIHRoaXMpOwotICAgIFJlZjxMb2dnZXI+IGxvZ2dlciA9IGRvY3VtZW50LmxvZ2dlcigpOwot
CiAgICAgLy8gMS4gSWYgY29uZmlndXJhdGlvbiBpcyBub3QgYSB2YWxpZCBNZWRpYUNvbmZpZ3Vy
YXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAv
LyAyLiBJZiBjb25maWd1cmF0aW9uLnZpZGVvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlk
IHZpZGVvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5
cGVFcnJvci4KICAgICAvLyAyLjIuMyBJZiBjb25maWd1cmF0aW9uIGlzIG9mIHR5cGUgTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24sIHJ1biB0aGUgZm9sbG93aW5nIHN1YnN0ZXBzOgpAQCAtMTky
LDUxICsyMzYsNDQgQEAgdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3Vt
ZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXQKICAgICAvLyBlZmZlY3RzIHN1
Y2ggYXMgZW5hYmxpbmcgZGlmZmVyZW50IGRlY29kaW5nIG1vZHVsZXMuCiAgICAgLy8gMy4gSWYg
Y29uZmlndXJhdGlvbi5hdWRpbyBpcyBwcmVzZW50IGFuZCBpcyBub3QgYSB2YWxpZCBhdWRpbyBj
b25maWd1cmF0aW9uLCByZXR1cm4gYSBQcm9taXNlIHJlamVjdGVkIHdpdGggYSBUeXBlRXJyb3Iu
CiAgICAgaWYgKCFpc1ZhbGlkTWVkaWFDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24pKSB7Ci0j
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgICAgIGxvZ2dlci0+aW5mbyhMb2dNZWRpYSwg
aWRlbnRpZmllciwgIiAtIFJlamVjdGVkLiBjb25maWd1cmF0aW9uOiAiLCBjb25maWd1cmF0aW9u
KTsKLSNlbmRpZgorICAgICAgICBSRUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiSW52YWxpZCBkZWNv
ZGluZyBtZWRpYSBjb25maWd1cmF0aW9uIik7CiAgICAgICAgIHByb21pc2UtPnJlamVjdChUeXBl
RXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFkb2N1bWVudC5zZXR0
aW5ncygpLm1lZGlhQ2FwYWJpbGl0aWVzRXh0ZW5zaW9uc0VuYWJsZWQoKSAmJiBjb25maWd1cmF0
aW9uLnZpZGVvKQotICAgICAgICBjb25maWd1cmF0aW9uLnZpZGVvLnZhbHVlKCkuYWxwaGFDaGFu
bmVsLnJlc2V0KCk7Ci0KLSNpZiBFTkFCTEUoVlA5KQotICAgIGNvbmZpZ3VyYXRpb24uY2FuRXhw
b3NlVlA5ID0gZG9jdW1lbnQuc2V0dGluZ3MoKS52cDlEZWNvZGVyRW5hYmxlZCgpOwotI2VuZGlm
Ci0KICAgICAvLyA0LiBMZXQgcCBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDUuIEluIHBhcmFs
bGVsLCBydW4gdGhlIGNyZWF0ZSBhIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBhbGdvcml0aG0gd2l0
aCBjb25maWd1cmF0aW9uIGFuZCByZXNvbHZlIHAgd2l0aCBpdHMgcmVzdWx0LgogICAgIC8vIDYu
IFJldHVybiBwLgogCi0gICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6RGVjb2Rp
bmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgY2FsbGJhY2sgPSBbcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpLCBsb2dnZXIgPSBXVEZNb3Zl
KGxvZ2dlciksIGRvY3VtZW50ID0gUmVmIHsgZG9jdW1lbnQgfV0oYXV0byBpbmZvKSBtdXRhYmxl
IHsKLSNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICAgICAgbG9nZ2VyLT5pbmZvKExvZ01l
ZGlhLCBpZGVudGlmaWVyLCAiOjpjYWxsYmFjaygpIC0gUmVzb2x2ZWQuIGluZm86ICIsIGluZm8p
OwotI2VuZGlmCi0gICAgICAgIGRvY3VtZW50LT5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1Nv
dXJjZTo6TWVkaWFFbGVtZW50LCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGluZm8gPSBX
VEZNb3ZlKGluZm8pXSAoKSBtdXRhYmxlIHsKKyAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25G
YWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNl
ID0gV1RGTW92ZShwcm9taXNlKSwgY29udGV4dCA9IFJlZiB7IGNvbnRleHQgfV0oYXV0byBpbmZv
KSBtdXRhYmxlIHsKKyAgICAgICAgY29udGV4dC0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tT
b3VyY2U6Ok1lZGlhRWxlbWVudCwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBpbmZvID0g
V1RGTW92ZShpbmZvKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBwcm9taXNlLT5yZXNvbHZl
PElETERpY3Rpb25hcnk8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+PihXVEZNb3ZlKGlu
Zm8pKTsKICAgICAgICAgfSk7CiAgICAgfTsKIAotI2lmIEVOQUJMRShXRUJfUlRDKQotICAgIGlm
IChjb25maWd1cmF0aW9uLnR5cGUgPT0gTWVkaWFEZWNvZGluZ1R5cGU6OldlYlJUQykgewotICAg
ICAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50LnBhZ2UoKSkKLSAgICAgICAgICAgIHBhZ2Ut
PmxpYldlYlJUQ1Byb3ZpZGVyKCkuY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUo
Y29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBpZiAoaXM8RG9jdW1lbnQ+
KGNvbnRleHQpKSB7CisgICAgICAgIGdhdGhlckRlY29kaW5nSW5mbyhkb3duY2FzdDxEb2N1bWVu
dD4oY29udGV4dCksIFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbmRpZgotICAgIE1lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3Rvcnk6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3Vy
YXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisKKyAgICBtX2RlY29kaW5nVGFza3MuYWRkKCsr
bV9uZXh0VGFza0lkZW50aWZpZXIsIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBjb250ZXh0LnBv
c3RUYXNrVG9SZXNwb25zaWJsZURvY3VtZW50KFtjb25maWd1cmF0aW9uID0gV1RGTW92ZShjb25m
aWd1cmF0aW9uKS5pc29sYXRlZENvcHkoKSwgY29udGV4dElkZW50aWZpZXIgPSBjb250ZXh0LmNv
bnRleHRJZGVudGlmaWVyKCksIHdlYWtUaGlzID0gV2Vha1B0ciB7IHRoaXMgfSwgdGFza0lkZW50
aWZpZXIgPSBtX25leHRUYXNrSWRlbnRpZmllcl0oYXV0byYgZG9jdW1lbnQpIG11dGFibGUgewor
ICAgICAgICBnYXRoZXJEZWNvZGluZ0luZm8oZG9jdW1lbnQsIFdURk1vdmUoY29uZmlndXJhdGlv
biksIFtjb250ZXh0SWRlbnRpZmllciwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgdGFz
a0lkZW50aWZpZXJdKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgICAgICAgICAgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6cG9zdFRhc2tUbyhjb250ZXh0SWRlbnRpZmllciwgW3dlYWtUaGlz
ID0gV1RGTW92ZSh3ZWFrVGhpcyksIHRhc2tJZGVudGlmaWVyLCByZXN1bHQgPSBXVEZNb3ZlKHJl
c3VsdCkuaXNvbGF0ZWRDb3B5KCldKGF1dG8mKSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICBp
ZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAg
ICAgaWYgKGF1dG8gY2FsbGJhY2sgPSB3ZWFrVGhpcy0+bV9kZWNvZGluZ1Rhc2tzLnRha2UodGFz
a0lkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKHJlc3Vs
dCkpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOwogfQogCi12b2lkIE1l
ZGlhQ2FwYWJpbGl0aWVzOjplbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVu
Y29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJlZFByb21pc2U+
JiYgcHJvbWlzZSkKK3ZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5nSW5mbyhTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmIGNv
bmZpZ3VyYXRpb24sIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKICAgICAvLyAy
LjQgTWVkaWEgQ2FwYWJpbGl0aWVzIEludGVyZmFjZQogICAgIC8vIGh0dHBzOi8vd2ljZy5naXRo
dWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLyNtZWRpYS1jYXBhYmlsaXRpZXMtaW50ZXJmYWNlCiAK
LSAgICBhdXRvIGlkZW50aWZpZXIgPSBXVEY6OkxvZ2dlcjo6TG9nU2l0ZUlkZW50aWZpZXIoIk1l
ZGlhQ2FwYWJpbGl0aWVzIiwgX19mdW5jX18sIHRoaXMpOwotICAgIFJlZjxMb2dnZXI+IGxvZ2dl
ciA9IGRvY3VtZW50LmxvZ2dlcigpOwotCiAgICAgLy8gMS4gSWYgY29uZmlndXJhdGlvbiBpcyBu
b3QgYSB2YWxpZCBNZWRpYUNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQg
d2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAyLiBJZiBjb25maWd1cmF0aW9uLnZpZGVvIGlzIHBy
ZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIHZpZGVvIGNvbmZpZ3VyYXRpb24sIHJldHVybiBhIFBy
b21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KICAgICAvLyAzLiBJZiBjb25maWd1cmF0
aW9uLmF1ZGlvIGlzIHByZXNlbnQgYW5kIGlzIG5vdCBhIHZhbGlkIGF1ZGlvIGNvbmZpZ3VyYXRp
b24sIHJldHVybiBhIFByb21pc2UgcmVqZWN0ZWQgd2l0aCBhIFR5cGVFcnJvci4KQEAgLTI1Niw2
ICsyOTMsNyBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjplbmNvZGluZ0luZm8oRG9jdW1lbnQm
IGRvY3VtZW50LCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdAogICAgIC8vIGRldmljZeKAmXMgcG93
ZXIgc291cmNlIGhhcyBzaWRlIGVmZmVjdHMgc3VjaCBhcyBlbmFibGluZyBkaWZmZXJlbnQKICAg
ICAvLyBlbmNvZGluZyBtb2R1bGVzLgogICAgIGlmICghaXNWYWxpZE1lZGlhQ29uZmlndXJhdGlv
bihjb25maWd1cmF0aW9uKSkgeworICAgICAgICBSRUxFQVNFX0xPR19JTkZPKE1lZGlhLCAiSW52
YWxpZCBlbmNvZGluZyBtZWRpYSBjb25maWd1cmF0aW9uIik7CiAgICAgICAgIHByb21pc2UtPnJl
amVjdChUeXBlRXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMjY0LDI0ICszMDIs
MjggQEAgdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZW5jb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1
bWVudCwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXQKICAgICAvLyA1LiBJbiBwYXJhbGxlbCwgcnVu
IHRoZSBjcmVhdGUgYSBNZWRpYUNhcGFiaWxpdGllc0luZm8gYWxnb3JpdGhtIHdpdGggY29uZmln
dXJhdGlvbiBhbmQgcmVzb2x2ZSBwIHdpdGggaXRzIHJlc3VsdC4KICAgICAvLyA2LiBSZXR1cm4g
cC4KIAotICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmln
dXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBp
ZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKSwgbG9nZ2VyID0gV1RGTW92ZShsb2dnZXIp
LCBkb2N1bWVudCA9IFJlZiB7IGRvY3VtZW50IH1dKGF1dG8gaW5mbykgbXV0YWJsZSB7Ci0jaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgICAgIGxvZ2dlci0+aW5mbyhMb2dNZWRpYSwgaWRl
bnRpZmllciwgIjo6Y2FsbGJhY2soKSAtIFJlc29sdmVkLiBpbmZvOiAiLCBpbmZvKTsKLSNlbmRp
ZgotICAgICAgICBkb2N1bWVudC0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok1l
ZGlhRWxlbWVudCwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBpbmZvID0gV1RGTW92ZShp
bmZvKV0gKCkgbXV0YWJsZSB7CisgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6
RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgY2FsbGJhY2sgPSBbcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSksIGNvbnRleHQgPSBSZWYgeyBjb250ZXh0IH1dKGF1dG8gaW5mbykgbXV0YWJs
ZSB7CisgICAgICAgIGNvbnRleHQtPmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpN
ZWRpYUVsZW1lbnQsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgaW5mbyA9IFdURk1vdmUo
aW5mbyldICgpIG11dGFibGUgewogICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExEaWN0
aW9uYXJ5PE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPj4oV1RGTW92ZShpbmZvKSk7CiAg
ICAgICAgIH0pOwogICAgIH07CiAKLSNpZiBFTkFCTEUoV0VCX1JUQykKLSAgICBpZiAoY29uZmln
dXJhdGlvbi50eXBlID09IE1lZGlhRW5jb2RpbmdUeXBlOjpXZWJSVEMpIHsKLSAgICAgICAgaWYg
KGF1dG8qIHBhZ2UgPSBkb2N1bWVudC5wYWdlKCkpCi0gICAgICAgICAgICBwYWdlLT5saWJXZWJS
VENQcm92aWRlcigpLmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3Vy
YXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0
KSkgeworICAgICAgICBnYXRoZXJFbmNvZGluZ0luZm8oZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRl
eHQpLCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9Ci0jZW5kaWYKIAotICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3Rvcnk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24p
LCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgbV9lbmNvZGluZ1Rhc2tzLmFkZCgrK21fbmV4dFRh
c2tJZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgY29udGV4dC5wb3N0VGFza1Rv
UmVzcG9uc2libGVEb2N1bWVudChbY29uZmlndXJhdGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlv
bikuaXNvbGF0ZWRDb3B5KCksIGNvbnRleHRJZGVudGlmaWVyID0gY29udGV4dC5jb250ZXh0SWRl
bnRpZmllcigpLCB3ZWFrVGhpcyA9IFdlYWtQdHIgeyB0aGlzIH0sIHRhc2tJZGVudGlmaWVyID0g
bV9uZXh0VGFza0lkZW50aWZpZXJdKGF1dG8mIGRvY3VtZW50KSBtdXRhYmxlIHsKKyAgICAgICAg
Z2F0aGVyRW5jb2RpbmdJbmZvKGRvY3VtZW50LCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBbY29u
dGV4dElkZW50aWZpZXIsIHdlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHRhc2tJZGVudGlm
aWVyXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OnBvc3RUYXNrVG8oY29udGV4dElkZW50aWZpZXIsIFt3ZWFrVGhpcyA9IFdURk1v
dmUod2Vha1RoaXMpLCB0YXNrSWRlbnRpZmllciwgcmVzdWx0ID0gV1RGTW92ZShyZXN1bHQpLmlz
b2xhdGVkQ29weSgpXShhdXRvJikgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgaWYgKCF3ZWFr
VGhpcykKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIGlmIChh
dXRvIGNhbGxiYWNrID0gd2Vha1RoaXMtPm1fZW5jb2RpbmdUYXNrcy50YWtlKHRhc2tJZGVudGlm
aWVyKSkKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soV1RGTW92ZShyZXN1bHQpKTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGll
cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFi
aWxpdGllcy5oCmluZGV4IGJhMTIzNGJiMzg5NzMyNmU2NmNiNzIyYzliYWI1NzdhODc2ZGQ4NzQu
LmI5NTc5MDE5YzFhNzVhZTEyZDgxNjQzYzc3ODcyYmY5MTViZGU4YWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2Fw
YWJpbGl0aWVzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjUsMTkgKzI1LDI5IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAi
TWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERlZmVycmVkUHJvbWlzZTsKLWNsYXNz
IERvY3VtZW50Owotc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOwotc3RydWN0IE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IAotY2xhc3MgTWVkaWFDYXBhYmlsaXRpZXMgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUNhcGFi
aWxpdGllcz4geworY2xhc3MgTWVkaWFDYXBhYmlsaXRpZXMgOiBwdWJsaWMgUmVmQ291bnRlZDxN
ZWRpYUNhcGFiaWxpdGllcz4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYUNhcGFiaWxpdGll
cz4gewogcHVibGljOgotICAgIHZvaWQgZGVjb2RpbmdJbmZvKERvY3VtZW50JiwgTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24mJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0gICAgdm9pZCBl
bmNvZGluZ0luZm8oRG9jdW1lbnQmLCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYmLCBSZWY8
RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhQ2FwYWJpbGl0aWVzPiBj
cmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhQ2FwYWJpbGl0aWVzKTsgfQorCisg
ICAgdm9pZCBkZWNvZGluZ0luZm8oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uJiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgZW5j
b2RpbmdJbmZvKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBNZWRpYUVuY29kaW5nQ29uZmlndXJh
dGlvbiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKworcHJpdmF0ZToKKyAgICBNZWRpYUNh
cGFiaWxpdGllcygpID0gZGVmYXVsdDsKKworICAgIHVpbnQ2NF90IG1fbmV4dFRhc2tJZGVudGlm
aWVyIHsgMCB9OworICAgIEhhc2hNYXA8dWludDY0X3QsIE1lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrPiBtX2RlY29kaW5nVGFza3M7
CisgICAgSGFzaE1hcDx1aW50NjRfdCwgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6
RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2s+IG1fZW5jb2RpbmdUYXNrczsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKaW5kZXggZjcy
NDMxMWY4M2UzOTE2OThiNmY0MjI0OTg5NzJhZmJmZDdmYmUwMS4uNmE4ODE2NTQ2N2MxZmJjZjMx
ZmM3MDI1MDFlYzkyNmNmNzNmNmFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5pZGwKQEAg
LTI2LDkgKzI2LDggQEAKIFsKICAgICBFbmFibGVkQnlTZXR0aW5nPU1lZGlhQ2FwYWJpbGl0aWVz
RW5hYmxlZCwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAotICAgIEpTQ3VzdG9tSGVh
ZGVyLAotICAgIEV4cG9zZWQ9V2luZG93CisgICAgRXhwb3NlZD0oV2luZG93LERlZGljYXRlZFdv
cmtlcikKIF0gaW50ZXJmYWNlIE1lZGlhQ2FwYWJpbGl0aWVzIHsKLSAgICBbQ3VzdG9tRW5hYmxl
ZCwgQ2FsbFdpdGg9RG9jdW1lbnRdIFByb21pc2U8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8+IGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9u
KTsKLSAgICBbQ3VzdG9tRW5hYmxlZCwgQ2FsbFdpdGg9RG9jdW1lbnRdIFByb21pc2U8TWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8+IGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmln
dXJhdGlvbiBjb25maWd1cmF0aW9uKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dF0gUHJvbWlzZTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4gZGVjb2RpbmdJbmZv
KE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOworICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvPiBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24gY29uZmlndXJh
dGlvbik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFi
aWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcApp
bmRleCBhMzFiYWRiNTRhYzk4MWUwZTNiYWRhZmUyMDk4NzgyOWQzZjc0MDM1Li40ZTgwYmJmYzk2
YjUxY2M0OWJiMWZlOWRhNjcwMTJmZmYyZDM0MThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL05hdmlnYXRv
ck1lZGlhQ2FwYWJpbGl0aWVzLmNwcApAQCAtMzIsNyArMzIsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllczo6TmF2aWdhdG9yTWVkaWFDYXBhYmls
aXRpZXMoKQotICAgIDogbV9tZWRpYUNhcGFiaWxpdGllcyhhZG9wdFJlZigqbmV3IE1lZGlhQ2Fw
YWJpbGl0aWVzKCkpKQorICAgIDogbV9tZWRpYUNhcGFiaWxpdGllcyhNZWRpYUNhcGFiaWxpdGll
czo6Y3JlYXRlKCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9y
K01lZGlhQ2FwYWJpbGl0aWVzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDU4ZmU4YTEyN2VlYzUyNTk3NmQ4
NDgzYjFlOGQzZThmZmM2NmI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3IrTWVkaWFDYXBhYmlsaXRpZXMu
aWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3czYy5naXRodWIu
aW8vbWVkaWEtY2FwYWJpbGl0aWVzLyNuYXZpZ2F0b3JzLWV4dGVuc2lvbnMKK1sKKyAgICBFbmFi
bGVkQnlTZXR0aW5nPU1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZCwKKyAgICBJbXBsZW1lbnRlZEJ5
PVdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzCitdIHBhcnRpYWwgaW50ZXJmYWNlIFdv
cmtlck5hdmlnYXRvciB7CisgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFD
YXBhYmlsaXRpZXMgbWVkaWFDYXBhYmlsaXRpZXM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFi
aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL1dv
cmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zM2YxNDI2MjEz
MjA5ZGM4NTZhOGI5NTBkMjY2NDRhNjI5NjM3YTE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNh
cGFiaWxpdGllcy5jcHAKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5oIgor
CisjaW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRpZXMuaCIKKyNpbmNsdWRlICJXb3JrZXJOYXZpZ2F0
b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFi
aWxpdGllczo6V29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMoKQorICAgIDogbV9tZWRp
YUNhcGFiaWxpdGllcyhNZWRpYUNhcGFiaWxpdGllczo6Y3JlYXRlKCkpCit7Cit9CisKK1dvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzOjp+V29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmls
aXRpZXMoKSA9IGRlZmF1bHQ7CisKK2NvbnN0IGNoYXIqIFdvcmtlck5hdmlnYXRvck1lZGlhQ2Fw
YWJpbGl0aWVzOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0dXJuICJXb3JrZXJOYXZpZ2F0
b3JNZWRpYUNhcGFiaWxpdGllcyI7Cit9CisKK1dvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0
aWVzJiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllczo6ZnJvbShXb3JrZXJOYXZpZ2F0
b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8V29y
a2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMqPihTdXBwbGVtZW50PFdvcmtlck5hdmlnYXRv
cj46OmZyb20oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3VwcGxl
bWVudCkgeworICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPFdvcmtlck5h
dmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzPigpOworICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3Vw
cGxlbWVudC5nZXQoKTsKKyAgICAgICAgcHJvdmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnRO
YW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVudCkpOworICAgIH0KKyAgICByZXR1cm4gKnN1cHBs
ZW1lbnQ7Cit9CisKK01lZGlhQ2FwYWJpbGl0aWVzJiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFi
aWxpdGllczo6bWVkaWFDYXBhYmlsaXRpZXMoV29ya2VyTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7
CisgICAgcmV0dXJuIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzOjpmcm9tKG5hdmln
YXRvcikubWVkaWFDYXBhYmlsaXRpZXMoKTsKK30KKworTWVkaWFDYXBhYmlsaXRpZXMmIFdvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzOjptZWRpYUNhcGFiaWxpdGllcygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fbWVkaWFDYXBhYmlsaXRpZXM7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRp
ZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kOTE3ZmFkYzIyOTI0NThmYjBhN2RlZDA4NGY1ODk5MjdiYTFkMDcxCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGll
cy9Xb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5oCkBAIC0wLDAgKzEsNTEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFDYXBhYmlsaXRpZXM7CitjbGFzcyBX
b3JrZXJOYXZpZ2F0b3I7CisKK2NsYXNzIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVz
IGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnQ8V29ya2VyTmF2aWdhdG9yPiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBh
YmlsaXRpZXMoKTsKKyAgICB+V29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMoKTsKKwor
ICAgIHN0YXRpYyBNZWRpYUNhcGFiaWxpdGllcyYgbWVkaWFDYXBhYmlsaXRpZXMoV29ya2VyTmF2
aWdhdG9yJik7CisgICAgc3RhdGljIFdvcmtlck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzJiBm
cm9tKFdvcmtlck5hdmlnYXRvciYpOworCisgICAgTWVkaWFDYXBhYmlsaXRpZXMmIG1lZGlhQ2Fw
YWJpbGl0aWVzKCkgY29uc3Q7Citwcml2YXRlOgorICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBw
bGVtZW50TmFtZSgpOworCisgICAgbXV0YWJsZSBSZWY8TWVkaWFDYXBhYmlsaXRpZXM+IG1fbWVk
aWFDYXBhYmlsaXRpZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGlu
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Np
b25Db29yZGluYXRvci5jcHAKaW5kZXggYWI1OWM2OTJhNDU2ODU0MDE3MmNhNzBjOWZlYTQyZDVh
MDBiYTJmNi4uYmIyNjA2MDI3Mzk2ZjkyMzVlN2NlMTU1YzNlYTcwM2E0MTEzMDA4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcApAQCAtMzMsOSArMzMsMTIgQEAKICNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3JTdGF0ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRpYU1ldGFkYXRh
LmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNzaW9uLmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3JQcml2YXRlLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAj
aW5jbHVkZSA8d3RmL0xvZ2dlci5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNp
bmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBzdGF0aWMgY29uc3QgU2Vjb25kcyBDb21tYW5kVGlt
ZVRvbGVyYW5jZSA9IDUwX21zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCAyNTcyNjE5MGM5MWFlMzg3ZGUz
ZDQxZWNiMGE5Njk2OWZkZTZhZTFlLi4xM2Y2MTIxODU4Nzc5MzJlNWQyN2EyMzAzODcxOWFiYjMy
NGY4MjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTMxLDYgKzEzMSw3IEBAIE1vZHVsZXMvaW5kZXhl
ZGRiL3NoYXJlZC9JREJUcmFuc2FjdGlvbkluZm8uY3BwCiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSW5kZXhLZXkuY3BwCiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0
aWVzLmNwcAogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9OYXZpZ2F0b3JNZWRpYUNhcGFiaWxp
dGllcy5jcHAKK01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvV29ya2VyTmF2aWdhdG9yTWVkaWFD
YXBhYmlsaXRpZXMuY3BwCiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYU1ldGFkYXRhLmNwcAog
TW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmNwcAogTW9kdWxlcy9tZWRpYXNlc3Np
b24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTEyMzZlZmViNzMwOGQ1MzkwZTVm
OGNlMGQyNzY5NGRhNDEyZDE5ZS4uYTcyYmNmZTYxOWZiMDIwZTFlY2VmZmRiNmUyZTYxMzQ4NDIw
ZDcxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtODE4Nyw3ICs4MTg3LDkgQEAKIAkJNDE4RkNCQ0IyNzA2RjNDRDAwRjk2RUNB
IC8qIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZStQdXNoQVBJLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlK1B1c2hBUEkuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDE4RkNCQ0MyNzA2RjQzNDAwRjk2RUNBIC8qIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1
c2hBUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThGQ0JDRDI3MDZGNDM0MDBGOTZFQ0Eg
LyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNDE4RkNCRTgyNzE1QUExOTAwRjk2RUNBIC8qIEpTTWVkaWFDYXBhYmlsaXRp
ZXNDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JFQTI3MTVCNjBGMDBGOTZFQ0EgLyog
V29ya2VyTmF2aWdhdG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiV29ya2VyTmF2aWdh
dG9yK01lZGlhQ2FwYWJpbGl0aWVzLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxOEZDQkVDMjcxNUI4NTEwMEY5NkVDQSAvKiBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxp
dGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJOYXZpZ2F0b3JNZWRpYUNhcGFiaWxpdGllcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JFRDI3MTVCODUyMDBGOTZFQ0Eg
LyogV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTkwRjNBMTI0OUQxNTI3MDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRv
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGcmFtZVJhdGVNb25p
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MEYzQTMyNDlEMTUyODAw
NTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRnJhbWVSYXRlTW9uaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTIzMjg1LDcgKzIzMjg3LDYgQEAKIAkJCQlBN0QwMzE4RDBFOTM1NDAzMDBFMjRBQ0QgLyogSlNJ
bWFnZURhdGFDdXN0b20uY3BwICovLAogCQkJCTU4NjhDN0Q1MjU0NkUwQjMwMEJGOURGMyAvKiBK
U0ludGVyc2VjdGlvbk9ic2VydmVyQ3VzdG9tLmNwcCAqLywKIAkJCQk3N0MxM0YwNDIxNjU2NThB
MDAyRDlDNUYgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5Q3VzdG9tLmNwcCAqLywKLQkJ
CQk0MThGQ0JFODI3MTVBQTE5MDBGOTZFQ0EgLyogSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5o
ICovLAogCQkJCUFENzI2RkU3MTZEOUYyMDQwMDNBNEU2RCAvKiBKU01lZGlhTGlzdEN1c3RvbS5o
ICovLAogCQkJCTQxNUNEQUY2MUU2Q0UwRDMwMDRGMTFFRSAvKiBKU01lZGlhU3RyZWFtVHJhY2tD
dXN0b20uY3BwICovLAogCQkJCUUxQTVGOTlBMEU3RUFBMjUwMEFGODVFQSAvKiBKU01lc3NhZ2VD
aGFubmVsQ3VzdG9tLmNwcCAqLywKQEAgLTI4ODIxLDYgKzI4ODIyLDkgQEAKIAkJCQlDREJEM0Qz
OTFGRTg1Q0MxMDAxMkM1NDUgLyogTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCAqLywKIAkJ
CQlDRDRFNEU2MjIzNTdCM0FEMDA3ODk1QzMgLyogVHJhbnNmZXJGdW5jdGlvbi5pZGwgKi8sCiAJ
CQkJQ0RCRDNEMjgxRkU4NUNCODAwMTJDNTQ1IC8qIFZpZGVvQ29uZmlndXJhdGlvbi5pZGwgKi8s
CisJCQkJNDE4RkNCRUEyNzE1QjYwRjAwRjk2RUNBIC8qIFdvcmtlck5hdmlnYXRvcitNZWRpYUNh
cGFiaWxpdGllcy5pZGwgKi8sCisJCQkJNDE4RkNCRUQyNzE1Qjg1MjAwRjk2RUNBIC8qIFdvcmtl
ck5hdmlnYXRvck1lZGlhQ2FwYWJpbGl0aWVzLmNwcCAqLywKKwkJCQk0MThGQ0JFQzI3MTVCODUx
MDBGOTZFQ0EgLyogV29ya2VyTmF2aWdhdG9yTWVkaWFDYXBhYmlsaXRpZXMuaCAqLywKIAkJCSk7
CiAJCQlwYXRoID0gbWVkaWFjYXBhYmlsaXRpZXM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxp
dGllc0N1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxp
dGllc0N1c3RvbS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MjQ3Mjc3OTkwNmRj
Nzg5NTFiM2FhMDJkZDEyY2I4YzA2ZjhiMzM4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBh
YmlsaXRpZXNDdXN0b20uaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIk1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZh
Y3RvcnkuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1BTFdBWVNfSU5MSU5FIGJvb2wgSlNN
ZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mb0lzRW5hYmxlZCgpCi17Ci0jaWYgRU5BQkxFKFdF
Ql9SVEMpCi0gICAgcmV0dXJuIHRydWU7Ci0jZWxzZQotICAgIHJldHVybiBNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNFbmNvZGluZ0NvbmZpZ3VyYXRpb25GYWN0b3J5KCk7Ci0j
ZW5kaWYKLX0KLQotQUxXQVlTX0lOTElORSBib29sIEpTTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGlu
Z0luZm9Jc0VuYWJsZWQoKQotewotI2lmIEVOQUJMRShXRUJfUlRDKQotICAgIHJldHVybiB0cnVl
OwotI2Vsc2UKLSAgICByZXR1cm4gTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFz
RGVjb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOwotI2VuZGlmCi19Ci0KLX0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAppbmRleCBkMjRiMDFiNzcz
NmM1Y2I1OGY2OWE3ZDk4ZDZjNGI3MGI2NDk4YmMzLi4yNWZhNGMzNjU4MWFhYTQ2YzY4MDk1ZWE1
OGFjY2ZmYTdhMzVkODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuY3BwCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNp
bmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2Nv
cGUuaCIKKyNpbmNsdWRlICJXb3JrZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlck5h
dmlnYXRvci5oIgogI2luY2x1ZGUgIldvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5j
bHVkZSAiV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oIgpAQCAtNjgyLDQgKzY4Mywy
NyBAQCBib29sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmVuc3VyZU9uQ29udGV4dFRocmVhZChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZgogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lk
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnBvc3RUYXNrVG9SZXNwb25zaWJsZURvY3VtZW50KEZ1
bmN0aW9uPHZvaWQoRG9jdW1lbnQmKT4mJiBjYWxsYmFjaykKK3sKKyAgICBpZiAoaXM8RG9jdW1l
bnQ+KHRoaXMpKSB7CisgICAgICAgIGNhbGxiYWNrKGRvd25jYXN0PERvY3VtZW50PigqdGhpcykp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQVNTRVJUKGlzPFdvcmtlck9yV29ya2xl
dEdsb2JhbFNjb3BlPih0aGlzKSk7CisgICAgaWYgKCFpczxXb3JrZXJPcldvcmtsZXRHbG9iYWxT
Y29wZT4odGhpcykpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8qIHRocmVhZCA9IGRvd25j
YXN0PFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlPih0aGlzKS0+d29ya2VyT3JXb3JrbGV0VGhy
ZWFkKCk7CisgICAgaWYgKHRocmVhZCkgeworICAgICAgICB0aHJlYWQtPndvcmtlckxvYWRlclBy
b3h5KCkucG9zdFRhc2tUb0xvYWRlcihbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oYXV0
byYmIGNvbnRleHQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKGRvd25jYXN0PERvY3VtZW50Pihj
b250ZXh0KSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYg
KGF1dG8gZG9jdW1lbnQgPSBkb3duY2FzdDxXb3JrbGV0R2xvYmFsU2NvcGU+KHRoaXMpLT5yZXNw
b25zaWJsZURvY3VtZW50KCkpCisgICAgICAgIGNhbGxiYWNrKCpkb2N1bWVudCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oCmluZGV4IDE2Yzg2NmYzOTQ4NmFkZDFlZGEzZGEzMjBiNTEwNDZkMjVjMzA0NWUu
LjI1ZmIwMGU2MTMyM2U5ODI5NjBhMjg1MGQ3ZTEzN2JmNTI2YmE2ZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMjIzLDYgKzIyMyw4IEBAIHB1
YmxpYzoKICAgICAgICAgfSk7CiAgICAgfQogCisgICAgdm9pZCBwb3N0VGFza1RvUmVzcG9uc2li
bGVEb2N1bWVudChGdW5jdGlvbjx2b2lkKERvY3VtZW50Jik+JiYpOworCiAgICAgLy8gR2V0cyB0
aGUgbmV4dCBpZCBpbiBhIGNpcmN1bGFyIHNlcXVlbmNlIGZyb20gMSB0byAyXjMxLTEuCiAgICAg
aW50IGNpcmN1bGFyU2VxdWVudGlhbElEKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oCmluZGV4IDRjZWIxZDEx
NzJhMDczNDViOGQzZjE2ZWFmNTAxMTFkNDk2NTUwNzQuLmZlNDAzOTc4Zjk4YzdlZjMxMWI1MjI4
Y2ViOGI0MmIxYmZiZDVkMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01l
ZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaApAQCAtNDcsMTAgKzQ3LDE3IEBAIHN0
cnVjdCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyA6IE1lZGlhQ2FwYWJpbGl0aWVzSW5m
byB7CiAKICAgICBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiBzdXBwb3J0ZWRDb25maWd1cmF0
aW9uOwogCisgICAgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gaXNvbGF0ZWRDb3B5KCkg
Y29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVy
JikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9u
YWw8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8+IGRlY29kZShEZWNvZGVyJik7CiB9Owog
CitpbmxpbmUgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gTWVkaWFDYXBhYmlsaXRpZXNE
ZWNvZGluZ0luZm86Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgTWVkaWFD
YXBhYmlsaXRpZXNJbmZvOjppc29sYXRlZENvcHkoKSwgc3VwcG9ydGVkQ29uZmlndXJhdGlvbi5p
c29sYXRlZENvcHkoKSB9OworfQorCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBNZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGll
c0VuY29kaW5nSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRp
ZXNFbmNvZGluZ0luZm8uaAppbmRleCBhZDcyOWEwMTZmNmIzZDE2ZjI1ZWIwZGFlOTgyZmNiYzcy
ZTIyOTZjLi5jMmIyNTA5MGYwNTIyZDVkY2Q2ZjUxYjU0YmFjMjlhZGIzYmQzMWI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5m
by5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvLmgKQEAgLTQ3LDEwICs0NywxNyBAQCBzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNFbmNv
ZGluZ0luZm8gOiBNZWRpYUNhcGFiaWxpdGllc0luZm8gewogCiAgICAgTWVkaWFFbmNvZGluZ0Nv
bmZpZ3VyYXRpb24gc3VwcG9ydGVkQ29uZmlndXJhdGlvbjsKIAorICAgIE1lZGlhQ2FwYWJpbGl0
aWVzRW5jb2RpbmdJbmZvIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5lIE1lZGlhQ2FwYWJpbGl0aWVz
RW5jb2RpbmdJbmZvIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvOjppc29sYXRlZENvcHko
KSBjb25zdAoreworICAgIHJldHVybiB7IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6aXNvbGF0ZWRD
b3B5KCksIHN1cHBvcnRlZENvbmZpZ3VyYXRpb24uaXNvbGF0ZWRDb3B5KCkgfTsKK30KKwogdGVt
cGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm86
OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGllc0luZm8uaAppbmRleCAxMjIwZWM1NGIyODA4ZmVlNzBl
ODBiNDdjOWJhZjljN2I2Y2RkMzFhLi5hODM3Y2M1ZDk5YjFiZjY1MGQyZjcxZDZhNDhkZjY1MDRh
Mzk4OWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxp
dGllc0luZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYUNhcGFiaWxpdGll
c0luZm8uaApAQCAtMzQsMTAgKzM0LDE3IEBAIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0luZm8g
ewogICAgIGJvb2wgc21vb3RoIHsgZmFsc2UgfTsKICAgICBib29sIHBvd2VyRWZmaWNpZW50IHsg
ZmFsc2UgfTsKIAorICAgIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBpc29sYXRlZENvcHkoKSBjb25z
dDsKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBj
b25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxN
ZWRpYUNhcGFiaWxpdGllc0luZm8+IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgTWVk
aWFDYXBhYmlsaXRpZXNJbmZvIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6aXNvbGF0ZWRDb3B5KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gKnRoaXM7Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+
CiB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbzo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNv
bnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9BdWRpb0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCmluZGV4IDRmYjBmM2I4MGQwZTZkMDc2
YzY0NzgzYTc0NGRjYjBhYjNjNThiMWIuLjZlMWU4ZDFmY2JhNzg5MGQ5NjQ3NjBlODQzNjFhNTVm
MTA5OGI3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL0F1ZGlvQ29uZmlndXJhdGlvbi5oCkBAIC0zNiwxMCArMzYsMTcg
QEAgc3RydWN0IEF1ZGlvQ29uZmlndXJhdGlvbiB7CiAgICAgc3RkOjpvcHRpb25hbDx1aW50MzJf
dD4gc2FtcGxlcmF0ZTsKICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IHNwYXRpYWxSZW5kZXJpbmc7
CiAKKyAgICBBdWRpb0NvbmZpZ3VyYXRpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAg
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8QXVkaW9Db25maWd1
cmF0aW9uPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKIAoraW5saW5lIEF1ZGlvQ29uZmlndXJhdGlv
biBBdWRpb0NvbmZpZ3VyYXRpb246Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IHsgY29udGVudFR5cGUuaXNvbGF0ZWRDb3B5KCksIGNoYW5uZWxzLmlzb2xhdGVkQ29weSgpLCBi
aXRyYXRlLCBzYW1wbGVyYXRlLCBzcGF0aWFsUmVuZGVyaW5nIH07Cit9CisKIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+CiB2b2lkIEF1ZGlvQ29uZmlndXJhdGlvbjo6ZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCmluZGV4IDJjM2IxNzU4
ZjczMmNlOTk4ZDdiMDVhNDE0ZTRmOWI2ZmQ1NWNlOGIuLmVmYWM0Yzc5NGRjZmViNDczMTU2YmQz
ZjQ1ZmRlNTljZmZmMDg1MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ29uZmlndXJhdGlvbi5oCkBAIC0yNyw2
ICsyNyw3IEBACiAKICNpbmNsdWRlICJBdWRpb0NvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJW
aWRlb0NvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNCwxMCArMzUsMTcgQEAgc3RydWN0IE1lZGlh
Q29uZmlndXJhdGlvbiB7CiAgICAgc3RkOjpvcHRpb25hbDxWaWRlb0NvbmZpZ3VyYXRpb24+IHZp
ZGVvOwogICAgIHN0ZDo6b3B0aW9uYWw8QXVkaW9Db25maWd1cmF0aW9uPiBhdWRpbzsKIAorICAg
IE1lZGlhQ29uZmlndXJhdGlvbiBpc29sYXRlZENvcHkoKSBjb25zdDsKKwogICAgIHRlbXBsYXRl
PGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0
ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYUNvbmZpZ3VyYXRpb24+
IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgTWVkaWFDb25maWd1cmF0aW9uIE1lZGlh
Q29uZmlndXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyBjcm9z
c1RocmVhZENvcHkodmlkZW8pLCAgY3Jvc3NUaHJlYWRDb3B5KGF1ZGlvKSB9OworfQorCiB0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBNZWRpYUNvbmZpZ3VyYXRpb246OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uLmgKaW5kZXggZmViYzhhZGYzYTQyNGNjZTMyYWQ1YzE4YmEzZGMyNTBlN2ZjYWVmMC4u
M2U5YjM0YmFmM2FjNGEzMDg5ZTQ3MTJmZTM2MzVlM2Y4ODhlNzQzMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ0NvbmZp
Z3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbi5oCkBAIC0zNSwxMCArMzUsMTcgQEAgc3RydWN0
IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uIDogTWVkaWFDb25maWd1cmF0aW9uIHsKIAogICAg
IGJvb2wgY2FuRXhwb3NlVlA5IHsgdHJ1ZSB9OwogCisgICAgTWVkaWFEZWNvZGluZ0NvbmZpZ3Vy
YXRpb24gaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
PiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24+IGRlY29k
ZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24gTWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb246Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIHsgTWVkaWFDb25maWd1cmF0aW9uOjppc29sYXRlZENvcHkoKSwgdHlwZSwgY2FuRXhwb3Nl
VlA5IH07Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIE1lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2Rp
bmdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oCmluZGV4IDE5YjdmNzRjMmQxNThkNTFl
ZDk5NTcyMjQzNGM5NTQzOTNlYzVmMGQuLjU5NjgxNzc4MjQzNTc0YzIxMzUwYzUxMGZkYTIxNzQy
Yzg4ZmQ1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaApA
QCAtMzMsMTAgKzMzLDE3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBNZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbiA6IE1lZGlhQ29uZmlndXJhdGlvbiB7CiAgICAgTWVkaWFFbmNvZGlu
Z1R5cGUgdHlwZTsKIAorICAgIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIGlzb2xhdGVkQ29w
eSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5j
b2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9w
dGlvbmFsPE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
IAoraW5saW5lIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uIE1lZGlhRW5jb2RpbmdDb25maWd1
cmF0aW9uOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IE1lZGlhQ29uZmln
dXJhdGlvbjo6aXNvbGF0ZWRDb3B5KCksIHR5cGUgfTsKK30KKwogdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4KIHZvaWQgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb246OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvVmlkZW9Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaAppbmRleCA2MGY5ZjMz
M2NiYTcyMTU2N2ExYzg3YWU4MWUyNGFlMjQ2YzVkNTY2Li5lODYzMWYyY2YxNzY3ZWFmYjg1ZDU1
NmEwZGU3YjI1NGMwNWIyYjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9WaWRlb0NvbmZpZ3VyYXRpb24uaApAQCAtNDMs
MTAgKzQzLDE3IEBAIHN0cnVjdCBWaWRlb0NvbmZpZ3VyYXRpb24gewogICAgIHN0ZDo6b3B0aW9u
YWw8SGRyTWV0YWRhdGFUeXBlPiBoZHJNZXRhZGF0YVR5cGU7CiAgICAgc3RkOjpvcHRpb25hbDxU
cmFuc2ZlckZ1bmN0aW9uPiB0cmFuc2ZlckZ1bmN0aW9uOwogCisgICAgVmlkZW9Db25maWd1cmF0
aW9uIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4g
dm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+
IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZpZGVvQ29uZmlndXJhdGlvbj4gZGVjb2RlKERlY29kZXIm
KTsKIH07CiAKK2lubGluZSBWaWRlb0NvbmZpZ3VyYXRpb24gVmlkZW9Db25maWd1cmF0aW9uOjpp
c29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7IGNvbnRlbnRUeXBlLmlzb2xhdGVk
Q29weSgpLCB3aWR0aCwgaGVpZ2h0LCBiaXRyYXRlLCBmcmFtZXJhdGUsIGFscGhhQ2hhbm5lbCwg
Y29sb3JHYW11dCwgaGRyTWV0YWRhdGFUeXBlLCB0cmFuc2ZlckZ1bmN0aW9uIH07Cit9CisKIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIFZpZGVvQ29uZmlndXJhdGlvbjo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCAwNThmOTY4OGFlODY5NWNjODQyYzVjYjRmYWU5M2E2YjE2N2E2N2NmLi5hYjU3M2NiZWU0ZGIw
YmY0MGJjYjI5MDM4NjdlOTJiMjAwNDgyNmZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0xMC0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgRXhwb3NlIE1lZGlhQ2FwYWJpbGl0aWVzIHRvIFdvcmtlcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTU3NAor
CisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBbGxvdyBydW5u
aW5nIGVuY29kaW5nIHRlc3RzIGluIHdvcmtlcnMgYXMgd2VsbCBhcyBpbiB3aW5kb3cuCisKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5m
by5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby5hbnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1l
eHBlY3RlZDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2VuY29kaW5nSW5mby5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dDoKKwogMjAyMS0xMC0xNSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CiAKICAgICAgICAgW1dlYklETF0gSlNET01CdWlsdGluQ29uc3RydWN0b3IgaW5zdGFu
Y2VzIHNob3VsZCBzdXBwb3J0IHN1YmNsYXNzaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGlu
Z0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndv
cmtlci1leHBlY3RlZC50eHQKaW5kZXggODEyODBmMjIwZmViZWJjZDZhYTg0ZjdhMGIwN2UwZmIy
M2Y3ODY3NC4uMTU2NTk0YjFiYWZjYTQ5YzI2NWNlMjIwY2I4ZWI2ZDBjMDZlMWRiMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSwzMSArMSwzMSBA
QAogCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdl
dCBhIGNvbmZpZ3VyYXRpb24gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2
YWxpZCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBl
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRl
byBmaWVsZCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBm
cmFtZXJhdGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRl
IHNldCB0byAwIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0
ZSBzZXQgdG8gSW5maW5pdHkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgZG9lc24ndCBwYXJzZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlz
bid0IGNvZGVjcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kgdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBm
cmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3Jt
IG9mIDAveSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95IHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJh
bWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJ
TCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0g
b2YgeC8gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVy
cyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFy
c2UgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2Yg
dHlwZSBhdWRpbyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBo
YXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKLUZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5z
IGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlh
Q29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdHlwZSB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gd2l0aCBzcGF0aWFsUmVuZGVy
aW5nIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGgg
aGRyTWV0YWRhdGFUeXBlLCBjb2xvckdhbXV0LCBhbmQgdHJhbnNmZXJGdW5jdGlvbiBzZXQgcmV0
dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvJykKLUZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhbiBlbXB0eSBoZHJNZXRhZGF0YVR5cGUgdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8nKQotRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgY29sb3JHYW11dCBzZXQgdG8gdHJ1ZSB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbycpCi1GQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0
byAzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2
YWxpZAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29u
ZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9y
IHZpZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBh
IGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0
eQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNu
J3Qgb2YgdHlwZSB2aWRlbworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFy
YW1ldGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQg
UmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFt
ZXRlciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQor
UEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZv
cm0gb2YgLXgveQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgaW4gdGhlIGZvcm0gb2YgeC8teQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3Rl
cnMKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25m
aWd1cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNu
J3Qgb2YgdHlwZSBhdWRpbworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFy
YW1ldGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVk
IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJh
bWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1
cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZl
IGEgdmFsaWQgdHlwZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggc3BhdGlhbFJl
bmRlcmluZyBzZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3Rz
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIGhkck1ldGFkYXRhVHlwZSwgY29sb3JHYW11
dCwgYW5kIHRyYW5zZmVyRnVuY3Rpb24gc2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxp
dGllc0luZm8gb2JqZWN0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290
ICJ1bmRlZmluZWQiCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYW4gZW1wdHkgaGRyTWV0YWRhdGFUeXBlCitQQVNTIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBo
YXMgYSBjb2xvckdhbXV0IHNldCB0byB0cnVlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9u
IHNldCB0byAzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9lbmNvZGluZ0luZm8tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyY2U3NWIyN2QwZDc2MTQwYmE3MjVkYjVjYmUyNjNmYTcyMTBiNGE5Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5m
by1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0KLVBBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJh
dGlvbgotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29u
ZmlndXJhdGlvbiBpc24ndCB2YWxpZAotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQotUEFTUyBU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24n
dCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVvIGZpZWxkCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFt
ZXJhdGUKLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBj
b25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAotUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVy
YXRlIHNldCB0byBJbmZpbml0eQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQotUEFT
UyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbwotRkFJTCBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFz
IG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJl
amVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1QQVNTIFRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50
VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcwotUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95Ci1QQVNT
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBv
ZiB4LzAKLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGlu
IHRoZSBmb3JtIG9mIDAveQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBm
cmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgveQotUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
KCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8teQotUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KLVBBU1Mg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcg
dW5hbGxvd2VkIGNoYXJhY3RlcnMKLVBBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQotUEFT
UyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbwotRkFJTCBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFz
IG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSBy
ZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotUEFTUyBUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKLVBBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVj
dHMgZm9yIHJlY29yZCB0eXBlCi1QQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5j
b2RpbmdJbmZvLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNlNzViMjdkMGQ3NjE0MGJh
NzI1ZGI1Y2JlMjYzZmE3MjEwYjRhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKKworUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uCitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0
aW9uIGlzbid0IHZhbGlkCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlCitQQVNTIFRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUg
YW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZQor
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0
IHRvIEluZmluaXR5CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCitGQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0
aGFuIG9uZSBwYXJhbWV0ZXIgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6
IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhh
cyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzCitQQVNTIFRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kKK1BBU1MgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvMAor
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZv
cm0gb2YgMC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0
ZSBpbiB0aGUgZm9ybSBvZiAteC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWpl
Y3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15CitQQVNTIFRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LworUEFTUyBUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93
ZWQgY2hhcmFjdGVycworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvCitGQUlMIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0
aGFuIG9uZSBwYXJhbWV0ZXJzIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVk
OiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBo
YXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBmb3Ig
cmVjb3JkIHR5cGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBN
ZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55Lmh0bWwKQEAgLTAsMCAr
MSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3Ry
dWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2Vu
Y29kaW5nSW5mby5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg4MmIwYWU5MTE3YWIyNjhmZjU3MTBmN2Y5
YjM5N2IxZGFlZGJiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnku
anMKQEAgLTAsMCArMSwzMTAgQEAKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQg
d2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJl
IG1pc3NpbmcuCit2YXIgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5
cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgwMCwK
KyAgaGVpZ2h0OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9Owor
CisvLyBNaW5pbWFsIFdlYlJUQyBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93
ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3Zh
ciBtaW5pbWFsV2VicnRjVmlkZW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ3Zp
ZGVvL1ZQOScsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAw
LAorICBmcmFtZXJhdGU6IDI0LAorfTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24g
dGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGll
cyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uID0geworICBjb250
ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorfTsKKworLy8gTWluaW1hbCBX
ZWJSVEMgQXVkaW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBB
bGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1hbFdlYnJ0
Y0F1ZGlvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICdhdWRpby9vcHVzJywKK307
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oKSk7Cit9
LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29u
ZmlndXJhdGlvbiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKHt9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBN
ZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZp
Z3VyYXRpb24sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pKTsK
K30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJh
dGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgfSkpOworfSwg
IlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vz
bid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAg
dmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAw
LjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBi
aXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAtMSwKKyAgICB9LAorICB9KSk7Cit9LCAi
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9u
IGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzog
eworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgi
JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6
IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDAsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBm
cmFtZXJhdGUgc2V0IHRvIDAiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAg
IGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAg
ICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAor
ICAgICAgZnJhbWVyYXRlOiBJbmZpbml0eSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZy
YW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsK
KyAgICAgIGNvbnRlbnRUeXBlOiAnZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhl
aWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisg
ICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdy
ZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL2ZnZW9hJywK
KyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMw
MDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5
cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVy
biBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogewor
ICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiOyBm
b289ImJhciInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAg
Yml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwg
IlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIiKTsKKworcHJvbWlzZV90
ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29y
ZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgZm9vPSJi
YXIiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJh
dGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29u
dGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3Jl
Y29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2
MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvMTAwMScs
CisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJh
bWVyYXRlIGluIHRoZSBmb3JtIG9mIHgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzog
eworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgi
JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6
IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8wJywKKyAgICB9CisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2Yg
eC8wIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19q
cyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8o
eworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTog
J3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwK
KyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0
ZTogJzAvMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8o
KSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcs
CisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2
cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisg
ICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnLTI0MDAwLzEwMDAxJywKKyAg
ICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgaW4gdGhlIGZvcm0gb2YgLXgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVy
biBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogewor
ICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywK
KyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMw
MDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8tMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwg
IlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBv
ZiB4Ly15Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0lu
Zm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlw
ZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgw
MCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1l
cmF0ZTogJzI0MDAwLycsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5m
bygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQn
LAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0i
dnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAor
ICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzEvM3gnLAorICAgIH0KKyAg
fSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRo
IHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1
ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBk
b2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2Vf
cmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNv
ZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBl
OiAndmlkZW8vZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlw
ZSBhdWRpbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVj
dHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1
ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyI7IGZvbz0iYmFyIicgfSwKKyAgfSkpOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAor
ICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9LAorICB9
KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNz
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiBt
aW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1
cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFi
aWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7CisgIH0pOworfSwgIlRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3Rz
IGZvciByZWNvcmQgdHlwZSIpOworCithc3luY190ZXN0KHQgPT4geworICB2YXIgdmFsaWRUeXBl
cyA9IFsgJ3JlY29yZCcsICd3ZWJydGMnIF07CisgIHZhciBpbnZhbGlkVHlwZXMgPSBbIHVuZGVm
aW5lZCwgbnVsbCwgJycsICdmb29iYXInLCAnbXNlJywgJ01lZGlhU291cmNlJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgJ2ZpbGUnLCAnbWVkaWEtc291cmNlJywgXTsKKworICB2YXIgdmFsaWRQ
cm9taXNlcyA9IFtdOworICB2YXIgaW52YWxpZENhdWdodCA9IDA7CisKKyAgdmFsaWRUeXBlcy5m
b3JFYWNoKHR5cGUgPT4geworICAgIHZhbGlkUHJvbWlzZXMucHVzaChuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICAgIHR5cGU6IHR5cGUsCisgICAgICB2aWRl
bzogdHlwZSAhPSAid2VicnRjIiA/IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gOiBtaW5pbWFs
V2VicnRjVmlkZW9Db25maWd1cmF0aW9uLAorICAgICAgYXVkaW86IHR5cGUgIT0gIndlYnJ0YyIg
PyBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uIDogbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJh
dGlvbiwKKyAgICB9KSk7CisgIH0pOworCisgIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3RlZCB2aWEg
UHJvbWlzZS5hbGwodmFsaWRQcm9taXNlcykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCisgIC8vIHBy
b21pc2VzIGZhaWwsIFByb21pc2UuYWxsKCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFuaXNtIGNh
bid0IGJlIHVzZWQgZm9yCisgIC8vIGludmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0ZXN0ZWQg
aW5kaXZpZHVhbGx5IGFuZCBpbmNyZW1lbnQgaW52YWxpZENhdWdodAorICAvLyB3aGVuIHJlamVj
dGVkIHVudGlsIHRoZSBhbW91bnQgb2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVjdGF0aW9u
LgorICBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgpID0+IHsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkgeworICAg
ICAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgICAgIHR5
cGU6IGludmFsaWRUeXBlc1tpXSwKKyAgICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3Vy
YXRpb24sCisgICAgICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgICAg
fSkudGhlbih0LnVucmVhY2hlZF9mdW5jKCksIHQuc3RlcF9mdW5jKGUgPT4geworICAgICAgICBh
c3NlcnRfZXF1YWxzKGUubmFtZSwgJ1R5cGVFcnJvcicpOworICAgICAgICArK2ludmFsaWRDYXVn
aHQ7CisgICAgICAgIGlmIChpbnZhbGlkQ2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5ndGgpCisg
ICAgICAgICAgdC5kb25lKCk7CisgICAgICB9KSk7CisgICAgfQorICB9KSwgdC51bnJlYWNoZWRf
ZnVuYygnUHJvbWlzZS5hbGwgc2hvdWxkIG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVzJykpOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0
aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNv
ZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55
Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1
Y2JlMjYzZmE3MjEwYjRhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACisKK1BBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgor
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJh
dGlvbiBpc24ndCB2YWxpZAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQorUEFTUyBUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZl
IGFuIGF1ZGlvIG9yIHZpZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUK
K1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNl
dCB0byBJbmZpbml0eQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29u
dGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUg
dGhhbiBvbmUgcGFyYW1ldGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVk
OiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBo
YXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95CitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAK
K1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBm
b3JtIG9mIDAveQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgaW4gdGhlIGZvcm0gb2YgLXgveQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8teQorUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxv
d2VkIGNoYXJhY3RlcnMKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29u
dGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUg
dGhhbiBvbmUgcGFyYW1ldGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3Rl
ZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
aGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9y
IHJlY29yZCB0eXBlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
TWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2VuY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0lu
Zm8uYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBh
NDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uYW55
Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZv
ciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0t
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGZjMmYwZjVhZGQzM2E3NDBkNzhkYzlhMjAxYzM3ZjhmOTdkOTI4NjguLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJ
bmZvLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzMTggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08dGl0bGU+TWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKCk8L3RpdGxlPgotPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLS8v
IE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVj
LiBBbGwgb3B0aW9uYWwKLS8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCi12YXIgbWluaW1hbFZp
ZGVvQ29uZmlndXJhdGlvbiA9IHsKLSAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9
InZwMDkuMDAuMTAuMDgiJywKLSAgd2lkdGg6IDgwMCwKLSAgaGVpZ2h0OiA2MDAsCi0gIGJpdHJh
dGU6IDMwMDAsCi0gIGZyYW1lcmF0ZTogMjQsCi19OwotCi0vLyBNaW5pbWFsIFdlYlJUQyBWaWRl
b0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25h
bAotLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KLXZhciBtaW5pbWFsV2VicnRjVmlkZW9Db25m
aWd1cmF0aW9uID0gewotICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOScsCi0gIHdpZHRoOiA4MDAs
Ci0gIGhlaWdodDogNjAwLAotICBiaXRyYXRlOiAzMDAwLAotICBmcmFtZXJhdGU6IDI0LAotfTsK
LQotLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVy
IHNwZWMuIEFsbCBvcHRpb25hbAotLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KLXZhciBtaW5p
bWFsQXVkaW9Db25maWd1cmF0aW9uID0gewotICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNv
ZGVjcz0ib3B1cyInLAotfTsKLQotLy8gTWluaW1hbCBXZWJSVEMgQXVkaW9Db25maWd1cmF0aW9u
IHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKLS8vIHByb3BlcnRp
ZXMgYXJlIG1pc3NpbmcuCi12YXIgbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiA9IHsK
LSAgY29udGVudFR5cGU6ICdhdWRpby9vcHVzJywKLX07Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsK
LSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oKSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbiIpOwotCi1wcm9taXNl
X3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHt9KSk7Ci19LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3Qg
dmFsaWQiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7Ci0gICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCi0gICAgYXVkaW86IG1p
bmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlw
ZSIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
LSAgICB0eXBlOiAncmVjb3JkJywKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3Igdmlk
ZW8gZmllbGQiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5n
SW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRU
eXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDog
ODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJh
bWVyYXRlOiAtMSwKLSAgICB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0
ZSIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
LSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2
aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0g
ICAgICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6
IDAsCi0gICAgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAiKTsKLQot
cHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVF
cnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlw
ZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2Vi
bTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3aWR0aDogODAwLAotICAgICAgaGVp
Z2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAgICAgZnJhbWVyYXRlOiBJbmZpbml0
eSwKLSAgICB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHki
KTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0g
ICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNvbnRlbnRUeXBlOiAnZmdl
b2EnLAotICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0
ZTogMzAwMCwKLSAgICAgIGZyYW1lcmF0ZTogMjQsCi0gICAgfSwKLSAgfSkpOwotfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJu
IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0g
ICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL2ZnZW9hJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAg
ICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6IDI0
LAotICAgIH0sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbyIp
OwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwg
VHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAg
ICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRl
by93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiOyBmb289ImJhciInLAotICAgICAgd2lkdGg6
IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZy
YW1lcmF0ZTogMjQsCi0gICAgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0
aGFuIG9uZSBwYXJhbWV0ZXIiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAg
IGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgZm9vPSJiYXIiJywKLSAgICAgIHdpZHRoOiA4MDAs
Ci0gICAgICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJh
dGU6IDI0LAotICAgIH0sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0
ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAg
ICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0g
ICAgICB3aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAw
LAotICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvMTAwMScsCi0gICAgfQotICB9KSk7Ci19LCAiVGVz
dCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgv
eSIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
LSAgICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2
aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0g
ICAgICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6
ICcyNDAwMC8wJywKLSAgICB9Ci0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkg
cmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wIik7Ci0KLXByb21pc2VfdGVzdCh0
ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAot
ICAgIHZpZGVvOiB7Ci0gICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAw
OS4wMC4xMC4wOCInLAotICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAg
ICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZyYW1lcmF0ZTogJzAvMTAwMDEnLAotICAgIH0KLSAg
fSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0
aGUgZm9ybSBvZiAwL3kiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyh7Ci0gICAgdHlwZTogJ3JlY29yZCcsCi0gICAgdmlkZW86IHsKLSAgICAgIGNv
bnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCi0gICAgICB3
aWR0aDogODAwLAotICAgICAgaGVpZ2h0OiA2MDAsCi0gICAgICBiaXRyYXRlOiAzMDAwLAotICAg
ICAgZnJhbWVyYXRlOiAnLTI0MDAwLzEwMDAxJywKLSAgICB9Ci0gIH0pKTsKLX0sICJUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgveSIp
OwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwg
VHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAg
ICB0eXBlOiAncmVjb3JkJywKLSAgICB2aWRlbzogewotICAgICAgY29udGVudFR5cGU6ICd2aWRl
by93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKLSAgICAgIHdpZHRoOiA4MDAsCi0gICAg
ICBoZWlnaHQ6IDYwMCwKLSAgICAgIGJpdHJhdGU6IDMwMDAsCi0gICAgICBmcmFtZXJhdGU6ICcy
NDAwMC8tMTAwMDEnLAotICAgIH0KLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8o
KSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15Iik7Ci0KLXByb21pc2VfdGVz
dCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQn
LAotICAgIHZpZGVvOiB7Ci0gICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0i
dnAwOS4wMC4xMC4wOCInLAotICAgICAgd2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAot
ICAgICAgYml0cmF0ZTogMzAwMCwKLSAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLycsCi0gICAgfQot
ICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGlu
IHRoZSBmb3JtIG9mIHgvIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21p
c2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiB7Ci0gICAgICBj
b250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAotICAgICAg
d2lkdGg6IDgwMCwKLSAgICAgIGhlaWdodDogNjAwLAotICAgICAgYml0cmF0ZTogMzAwMCwKLSAg
ICAgIGZyYW1lcmF0ZTogJzEvM3gnLAotICAgIH0KLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFy
YWN0ZXJzIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0lu
Zm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdl
b2EnIH0sCi0gIH0pKTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlIik7Ci0KLXByb21p
c2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewotICAgIHR5cGU6ICdy
ZWNvcmQnLAotICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vZmdlb2EnIH0sCi0gIH0p
KTsKLX0sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyIpOwotCi1wcm9taXNlX3Rl
c3QodCA9PiB7Ci0gIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKLSAgICB0eXBlOiAncmVjb3Jk
JywKLSAgICBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyI7
IGZvbz0iYmFyIicgfSwKLSAgfSkpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9u
ZSBwYXJhbWV0ZXJzIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgcmV0dXJuIHByb21pc2Vf
cmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNv
ZGluZ0luZm8oewotICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBl
OiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9LAotICB9KSk7Ci19LCAiVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhh
cyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+
IHsKLSAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewot
ICAgIHR5cGU6ICdyZWNvcmQnLAotICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9u
LAotICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAotICB9KS50aGVuKGFiaWxp
dHkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9v
bGVhbiIpOwotICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9vbGVh
biIpOwotICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkucG93ZXJFZmZpY2llbnQsICJi
b29sZWFuIik7Ci0gIH0pOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZh
bGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGZvciByZWNvcmQgdHlwZSIpOwotCi1h
c3luY190ZXN0KHQgPT4gewotICB2YXIgdmFsaWRUeXBlcyA9IFsgJ3JlY29yZCcsICd3ZWJydGMn
IF07Ci0gIHZhciBpbnZhbGlkVHlwZXMgPSBbIHVuZGVmaW5lZCwgbnVsbCwgJycsICdmb29iYXIn
LCAnbXNlJywgJ01lZGlhU291cmNlJywKLSAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbGUnLCAn
bWVkaWEtc291cmNlJywgXTsKLQotICB2YXIgdmFsaWRQcm9taXNlcyA9IFtdOwotICB2YXIgaW52
YWxpZENhdWdodCA9IDA7Ci0KLSAgdmFsaWRUeXBlcy5mb3JFYWNoKHR5cGUgPT4gewotICAgIHZh
bGlkUHJvbWlzZXMucHVzaChuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHsKLSAgICAgIHR5cGU6IHR5cGUsCi0gICAgICB2aWRlbzogdHlwZSAhPSAid2VicnRjIiA/IG1p
bmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gOiBtaW5pbWFsV2VicnRjVmlkZW9Db25maWd1cmF0aW9u
LAotICAgICAgYXVkaW86IHR5cGUgIT0gIndlYnJ0YyIgPyBtaW5pbWFsQXVkaW9Db25maWd1cmF0
aW9uIDogbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiwKLSAgICB9KSk7Ci0gIH0pOwot
Ci0gIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3RlZCB2aWEgUHJvbWlzZS5hbGwodmFsaWRQcm9taXNl
cykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCi0gIC8vIHByb21pc2VzIGZhaWwsIFByb21pc2UuYWxs
KCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFuaXNtIGNhbid0IGJlIHVzZWQgZm9yCi0gIC8vIGlu
dmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0ZXN0ZWQgaW5kaXZpZHVhbGx5IGFuZCBpbmNyZW1l
bnQgaW52YWxpZENhdWdodAotICAvLyB3aGVuIHJlamVjdGVkIHVudGlsIHRoZSBhbW91bnQgb2Yg
cmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVjdGF0aW9uLgotICBQcm9taXNlLmFsbCh2YWxpZFBy
b21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgpID0+IHsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkgewotICAgICAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7Ci0gICAgICAgIHR5cGU6IGludmFsaWRUeXBlc1tpXSwKLSAg
ICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCi0gICAgICAgIGF1ZGlvOiBt
aW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAotICAgICAgfSkudGhlbih0LnVucmVhY2hlZF9mdW5j
KCksIHQuc3RlcF9mdW5jKGUgPT4gewotICAgICAgICBhc3NlcnRfZXF1YWxzKGUubmFtZSwgJ1R5
cGVFcnJvcicpOwotICAgICAgICArK2ludmFsaWRDYXVnaHQ7Ci0gICAgICAgIGlmIChpbnZhbGlk
Q2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5ndGgpCi0gICAgICAgICAgdC5kb25lKCk7Ci0gICAg
ICB9KSk7Ci0gICAgfQotICB9KSwgdC51bnJlYWNoZWRfZnVuYygnUHJvbWlzZS5hbGwgc2hvdWxk
IG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVzJykpOwotfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxp
ZCB0eXBlIik7Ci0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKaW5kZXggNjcwMDgyODg3MGNlMWYxNTlmNDAzMGFlYTM0YzY2Yzc4ZTE2N2E5MS4uM2I2
NzE5MDA0ZGI5ZGQzMThkY2ZhYjdkODRhOTNkZWIyNzEyMzJhZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
aWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNz
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0yMCwyMCArMjAsMjAgQEAgUEFTUyBXb3JrZXJO
YXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQ
QVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvck9u
TGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1
ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUK
LUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkg
Ik1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVk
aWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNl
IG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBh
YmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBh
YmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZwot
RkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVk
aWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlz
c2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGll
cyIgbWlzc2luZwotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBk
ZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKLUZBSUwgTWVkaWFD
YXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2Rp
bmdDb25maWd1cmF0aW9uKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlh
Q2FwYWJpbGl0aWVzIiBtaXNzaW5nCi1GQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGFzc2VydF9lcXVh
bHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZp
bmVkIgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
IGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0
IGdvdCAidW5kZWZpbmVkIgotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5nSW5m
byhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2Vy
dF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAi
dW5kZWZpbmVkIgotRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGNhbGxpbmcgZGVj
b2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBh
c3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBn
b3QgInVuZGVmaW5lZCIKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJlbmNvZGluZ0luZm8o
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRf
ZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVu
ZGVmaW5lZCIKLUZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGVuY29k
aW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNz
ZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290
ICJ1bmRlZmluZWQiCi1GQUlMIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBt
ZWRpYUNhcGFiaWxpdGllcyBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBo
YXZlIGEgcHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0
X2luaGVyaXRzOiBwcm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMiIG5vdCBmb3VuZCBpbiBwcm90
b3R5cGUgY2hhaW4KK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBNZWRpYUNhcGFiaWxpdGll
cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgTWVk
aWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIE1l
ZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBN
ZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWNvZGluZ0luZm8oTWVkaWFE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24pCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTog
b3BlcmF0aW9uIGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikKK1BBU1Mg
TWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcworUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5nSW5mbyhN
ZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIE1l
ZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogY2FsbGluZyBkZWNvZGluZ0luZm8oTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24pIG9uIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yCitQQVNTIE1lZGlhQ2FwYWJpbGl0
aWVzIGludGVyZmFjZTogbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5n
IGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhQ2FwYWJp
bGl0aWVzCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>