<?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>210964</bug_id>
          
          <creation_ts>2020-04-24 04:27:53 -0700</creation_ts>
          <short_desc>Update the css/css-animations WPT tests</short_desc>
          <delta_ts>2020-04-26 12:12:07 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1645149</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-24 04:27:53 -0700</bug_when>
    <thetext>Update the css/css-animations WPT tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645150</commentid>
    <comment_count>1</comment_count>
      <attachid>397444</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-24 04:28:09 -0700</bug_when>
    <thetext>Created attachment 397444
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645300</commentid>
    <comment_count>2</comment_count>
      <attachid>397476</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-24 11:43:54 -0700</bug_when>
    <thetext>Created attachment 397476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645336</commentid>
    <comment_count>3</comment_count>
      <attachid>397488</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-24 12:50:37 -0700</bug_when>
    <thetext>Created attachment 397488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645343</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-24 13:04:44 -0700</bug_when>
    <thetext>Committed r260662: &lt;https://trac.webkit.org/changeset/260662&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645345</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-24 13:05:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/62333645&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645600</commentid>
    <comment_count>6</comment_count>
      <attachid>397488</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-25 08:19:17 -0700</bug_when>
    <thetext>Comment on attachment 397488
Patch

Patch looks good. Optimal patch would also enable in WebKitTestRunner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645808</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-04-26 12:12:07 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #6)
&gt; Comment on attachment 397488 [details]
&gt; Patch
&gt; 
&gt; Patch looks good. Optimal patch would also enable in WebKitTestRunner.

WKTR already enables all experimental features by default. Only DRT required specific work to enable the feature.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397444</attachid>
            <date>2020-04-24 04:28:09 -0700</date>
            <delta_ts>2020-04-24 11:43:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210964-20200424132807.patch</filename>
            <type>text/plain</type>
            <size>106797</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjI0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWMzZDg5NWVkZDM2Y2IxOWNiZjg3
YTMyZTI5NTAxYTZmYzI3MmFkMy4uZDU1MzAzMDcwOWM2YWRhN2U1MmVjMzI3YzBiNTU3ZDZiZDQy
YjIwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA0LTI0ICBBbnRvaW5lIFF1aW50ICA8
Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHRoZSBjc3MvY3NzLWFuaW1hdGlv
bnMgV1BUIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTA5NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDQtMjQgIFJvYiBCdWlzICA8cmJ1aXNA
aWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBvcnQgZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0
ZS9mZXRjaC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA3NTUzYjZlODJk
MzVmZWZiYjZjN2FhOWU4N2EyMjJjYmM1ZDlkZGNkLi44ZGQ4Y2NhODQwZWQ2MGIzZWE2NjNkZGUy
MWU2ZjY4OWQ1YTcxNTIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw1MCBAQAorMjAyMC0wNC0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgor
CisgICAgICAgIFVwZGF0ZSB0aGUgY3NzL2Nzcy1hbmltYXRpb25zIFdQVCB0ZXN0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwOTY0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHJlc291cmNlcy9yZXNvdXJjZS1maWxl
cy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
QW5pbWF0aW9uRWZmZWN0LXVwZGF0ZVRpbWluZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0FuaW1h
dGlvbkVmZmVjdC11cGRhdGVUaW1pbmcudGVudGF0aXZlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWNvbXBv
c2l0ZU9yZGVyLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tY29tcG9zaXRlT3JkZXIudGVu
dGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9DU1NBbmltYXRpb24tZWZmZWN0LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tZWZm
ZWN0LnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWZpbmlzaGVkLnRlbnRhdGl2ZS5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXBh
dXNpbmcudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRhdGl2ZS5odG1s
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5p
bWF0aW9uLXJlYWR5LnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0LWdldEtleWZy
YW1lcy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2
ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
S2V5ZnJhbWVFZmZlY3Qtc2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJh
bWVFZmZlY3Qtc2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3Bv
bnNlLTAwMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAxLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNw
b25zZS0wMDIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2Fu
aW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAw
NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDA0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9u
LWltcG9ydGFudC0wMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAxLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
YW5pbWF0aW9uLWltcG9ydGFudC0wMDItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50
LTAwMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL2V2ZW50LWRpc3BhdGNoLnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvaGlzdG9yaWNhbC5odG1sOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMva2V5ZnJhbWVzLXJlbW92ZS1kb2N1bWVu
dEVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvc3VwcG9ydC90ZXN0Y29tbW9uLmpzOgorICAg
ICAgICAoYXNzZXJ0X2ZyYW1lc19lcXVhbCk6CisgICAgICAgIChhc3NlcnRfZnJhbWVfbGlzdHNf
ZXF1YWwpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
dzNjLWltcG9ydC5sb2c6CisKIDIwMjAtMDQtMjQgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNv
bT4KIAogICAgICAgICBJbXBvcnQgZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkYTg0MmRiMTJlMjVhNjc2ZDBmNzIzZTY4NDJmN2Jk
YmJhZDk2ZWFmLi44ZDM0NDg5Y2FhZDAyYTNjYzcyYjRjYTlkMTY0YWE4OGUwNzQxMWE4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTQwNzcsNiArNDA3Nyw4IEBAIHdlYmtpdC5vcmcvYi8yMDg5ODgg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ciBbIFNraXAgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L3NlbGYtYmFzZWxp
bmUvZ3JpZC1zZWxmLWJhc2VsaW5lLWNoYW5nZXMtZ3JpZC1hcmVhLXNpemUtMDEwLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL2FsaWdubWVudC9zZWxmLWJhc2VsaW5lL2dyaWQtc2VsZi1iYXNlbGluZS1jaGFuZ2Vz
LWdyaWQtYXJlYS1zaXplLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKK3dlYmtpdC5v
cmcvYi8yMTA5NjMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1h
dGlvbnMvYW5pbWF0aW9uLWltcG9ydGFudC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQor
CiB3ZWJraXQub3JnL2IvMjA5MDgwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy13cml0aW5nLW1vZGVzL2NlbnRyYWwtYmFzZWxpbmUtYWxpZ25tZW50LTAwMy54aHQgWyBJ
bWFnZU9ubHlGYWlsdXJlIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwOTA4MCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtd3JpdGluZy1tb2Rlcy9jbGVhcmFuY2UtY2FsY3Vs
YXRpb25zLXZybC0wMDIueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcv
Yi8yMDkwODAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXdyaXRpbmct
bW9kZXMvYWJzLXBvcy1ub24tcmVwbGFjZWQtaWNiLXZsci0wMDMueGh0IFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2lt
cG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJj
ZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IGFlMjk0MzgwZWZlMTI3MGI2ZjdiZmI5
NzA1OTcxMGViNzVhZGZhMmQuLjAzYWMyMDNiYzI1ZmY1YWI3Njc2MGRmMmI3NDdiNTVkZTMwZGFi
NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0
LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJj
ZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0xLDYgKzEsNyBAQAogewogICAgICJMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Vt
YmVkZGVkLWNvbnRlbnQvdGhlLWltZy1lbGVtZW50LyI6ICJpbXBvcnQiLCAKICAgICAiYXBuZyI6
ICJpbXBvcnQiLCAKKyAgICAiY3NzL2Nzcy1hbmltYXRpb25zIjogImltcG9ydCIsIAogICAgICJj
c3MvY3NzLWJveCI6ICJpbXBvcnQiLCAKICAgICAiY3NzL2Nzcy1jb2xvciI6ICJpbXBvcnQiLCAK
ICAgICAiY3NzL2Nzcy1tdWx0aWNvbCI6ICJpbXBvcnQiLCAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbgppbmRleCAwZWQx
ZmIwN2MxMTJkYWNhYjE5OWRjMzBkZWNmYWY1OWQyNjE4ZTNjLi43OTEwNzhlNDY5NGZiYjZkZjRl
Zjc2ZGNjOWNlY2UyMmRjOTA2ZGQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3Jlc291cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uCkBAIC0xMyw2ICsxMyw3IEBACiAg
ICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy13cml0aW5nLW1vZGVzL3Rlc3QtcGxh
biIKICAgICBdLAogICAgICJmaWxlcyI6IFsKKyAgICAgICAgImNzcy9jc3MtYW5pbWF0aW9ucy9r
ZXlmcmFtZXMtcmVtb3ZlLWRvY3VtZW50RWxlbWVudC1jcmFzaC5odG1sIiwKICAgICAgICAgImNz
cy9jc3MtY29sb3IvdDMyLW9wYWNpdHktYmFzaWMtMC42LWEueGh0IiwKICAgICAgICAgImNzcy9j
c3MtY29sb3IvdDMyLW9wYWNpdHktem9yZGVyLWMueGh0IiwKICAgICAgICAgImNzcy9jc3MtY29s
b3IvdDQyMS1yZ2ItaGV4My1leHBhbmQtYi54aHQiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQW5pbWF0
aW9uRWZmZWN0LXVwZGF0ZVRpbWluZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQW5p
bWF0aW9uRWZmZWN0LXVwZGF0ZVRpbWluZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY5ZTg5MTQ2Mzc2YzQ5ZjBmOGFiN2ViZTBkZjRmYjgxOTBlODk3NjEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9BbmltYXRpb25FZmZlY3QtdXBkYXRlVGltaW5nLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK0ZBSUwgQW5pbWF0aW9uRWZmZWN0LnVwZGF0ZVRp
bWluZyh7IGR1cmF0aW9uIH0pIGNhdXNlcyBjaGFuZ2VzIHRvIHRoZSBhbmltYXRpb24tZHVyYXRp
b24gdG8gYmUgaWdub3JlZCBhc3NlcnRfZXF1YWxzOiBEZWxheSBzaG91bGQgYmUgdGhlIHZhbHVl
IHNldCBieSBzdHlsZSBleHBlY3RlZCA2MDAwIGJ1dCBnb3QgMAorRkFJTCBBbmltYXRpb25FZmZl
Y3QudXBkYXRlVGltaW5nKHsgaXRlcmF0aW9ucywgZGlyZWN0aW9uIH0pIGNhdXNlcyBjaGFuZ2Vz
IHRvIHRoZSBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50IGFuZCBhbmltYXRpb24tZGlyZWN0aW9u
IHRvIGJlIGlnbm9yZWQgYXNzZXJ0X2VxdWFsczogRGVsYXkgc2hvdWxkIGJlIHRoZSB2YWx1ZSBz
ZXQgYnkgc3R5bGUgZXhwZWN0ZWQgNjAwMCBidXQgZ290IDAKK0ZBSUwgQW5pbWF0aW9uRWZmZWN0
LnVwZGF0ZVRpbWluZyh7IGRlbGF5LCBmaWxsIH0pIGNhdXNlcyBjaGFuZ2VzIHRvIHRoZSBhbmlt
YXRpb24tZGVsYXkgYW5kIGFuaW1hdGlvbi1maWxsLW1vZGUgdG8gYmUgaWdub3JlZCBhc3NlcnRf
ZXF1YWxzOiBJdGVyYXRpb25zIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlIGV4cGVj
dGVkIDYgYnV0IGdvdCAxCitGQUlMIEFuaW1hdGlvbkVmZmVjdC51cGRhdGVUaW1pbmcoKSBkb2Vz
IG92ZXJyaWRlIHRvIGNoYW5nZXMgZnJvbSBhbmltYXRpb24tKiBwcm9wZXJ0aWVzIGlmIHRoZXJl
IGlzIGFuIGVycm9yIGFzc2VydF9lcXVhbHM6IER1cmF0aW9uIHNob3VsZCBiZSB0aGUgdmFsdWUg
c2V0IGJ5IHN0eWxlIGV4cGVjdGVkIDQwMDAgYnV0IGdvdCAxMDAwMDAKK1BBU1MgQW5pbWF0aW9u
RWZmZWN0IHByb3BlcnRpZXMgdGhhdCBkbyBub3QgbWFwIHRvIGFuaW1hdGlvbi0qIHByb3BlcnRp
ZXMgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIHdoZW4gYW5pbWF0aW9uLSogc3R5bGUgaXMgdXBkYXRl
ZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQW5pbWF0aW9uRWZmZWN0LXVwZGF0ZVRpbWluZy50ZW50
YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL0FuaW1hdGlvbkVmZmVjdC11cGRhdGVUaW1pbmcudGVudGF0aXZl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTY1NTZkYWM0YmRlOWZkNDM2MjM3Y2I3OGY1ZTg4YTE5NjhiZTdk
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0FuaW1hdGlvbkVmZmVjdC11cGRhdGVUaW1pbmcu
dGVudGF0aXZlLmh0bWwKQEAgLTAsMCArMSwxNzQgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEg
Y2hhcnNldD11dGYtOD4KKzx0aXRsZT5BbmltYXRpb25FZmZlY3QudXBkYXRlVGltaW5nKCkgZm9y
IENTUyBhbmltYXRpb25zPC90aXRsZT4KKzwhLS0gVE9ETzogQWRkIGEgbW9yZSBzcGVjaWZpYyBs
aW5rIGZvciB0aGlzIG9uY2UgaXQgaXMgc3BlY2lmaWVkLiAtLT4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbmltYXRpb25zLTIvIj4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJzdXBwb3J0L3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0PgorPHN0eWxlPgorQGtleWZyYW1lcyBh
bmltLWVtcHR5IHsgfQorPC9zdHlsZT4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxz
Y3JpcHQ+CisidXNlIHN0cmljdCI7CisKK3Rlc3QodCA9PiB7CisgIGNvbnN0IGRpdiA9IGFkZERp
dih0KTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLWVtcHR5IDEwMHMnOworCisgIGNv
bnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07CisgIGFuaW1hdGlvbi5lZmZl
Y3QudXBkYXRlVGltaW5nKHsgZHVyYXRpb246IDIgKiBNU19QRVJfU0VDIH0pOworCisgIGRpdi5z
dHlsZS5hbmltYXRpb25EdXJhdGlvbiA9ICc0cyc7CisgIGRpdi5zdHlsZS5hbmltYXRpb25EZWxh
eSA9ICc2cyc7CisKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRp
bWluZygpLmR1cmF0aW9uLAorICAgIDIgKiBNU19QRVJfU0VDLAorICAgICdEdXJhdGlvbiBzaG91
bGQgYmUgdGhlIHZhbHVlIHNldCBieSB0aGUgQVBJJworICApOworICBhc3NlcnRfZXF1YWxzKAor
ICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuZGVsYXksCisgICAgNiAqIE1TX1BFUl9T
RUMsCisgICAgJ0RlbGF5IHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlJworICApOwor
fSwgJ0FuaW1hdGlvbkVmZmVjdC51cGRhdGVUaW1pbmcoeyBkdXJhdGlvbiB9KSBjYXVzZXMgY2hh
bmdlcyB0byB0aGUnCisgICArICcgYW5pbWF0aW9uLWR1cmF0aW9uIHRvIGJlIGlnbm9yZWQnKTsK
KworLy8gVGhlIGFib3ZlIHRlc3QgY292ZXJzIGR1cmF0aW9uICh3aXRoIGRlbGF5IGFzIGEgY29u
dHJvbCkuIFRoZSByZW1haW5pbmcKKy8vIHByb3BlcnRpZXMgYXJlOgorLy8KKy8vICAgaXRlcmF0
aW9ucyAtIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQKKy8vICAgZGlyZWN0aW9uIC0gYW5pbWF0
aW9uLWRpcmVjdGlvbgorLy8gICBkZWxheSAtIGFuaW1hdGlvbi1kZWxheQorLy8gICBmaWxsIC0g
YW5pbWF0aW9uLWZpbGwtbW9kZQorLy8KKy8vIFdoaWNoIHdlIHRlc3QgaW4gdHdvIGJhdGNoZXMs
IG92ZXJyaWRpbmcgdHdvIHByb3BlcnRpZXMgZWFjaCB0aW1lIGFuZCB1c2luZworLy8gdGhlIHJl
bWFpbmluZyB0d28gcHJvcGVydGllcyBhcyBjb250cm9sIHZhbHVlcyB0byBjaGVjayB0aGV5IGFy
ZSBOT1QKKy8vIG92ZXJyaWRkZW4uCisKK3Rlc3QodCA9PiB7CisgIGNvbnN0IGRpdiA9IGFkZERp
dih0KTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLWVtcHR5IDEwMHMnOworCisgIGNv
bnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07CisgIGFuaW1hdGlvbi5lZmZl
Y3QudXBkYXRlVGltaW5nKHsgaXRlcmF0aW9uczogMiwgZGlyZWN0aW9uOiAncmV2ZXJzZScgfSk7
CisKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50ID0gJzQnOworICBkaXYuc3R5
bGUuYW5pbWF0aW9uRGlyZWN0aW9uID0gJ2FsdGVybmF0ZSc7CisgIGRpdi5zdHlsZS5hbmltYXRp
b25EZWxheSA9ICc2cyc7CisgIGRpdi5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9ICdib3RoJzsK
KworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuaXRl
cmF0aW9ucywKKyAgICAyLAorICAgICdJdGVyYXRpb25zIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0
IGJ5IHRoZSBBUEknCisgICk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVj
dC5nZXRUaW1pbmcoKS5kaXJlY3Rpb24sCisgICAgJ3JldmVyc2UnLAorICAgICdEaXJlY3Rpb24g
c2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgdGhlIEFQSScKKyAgKTsKKyAgYXNzZXJ0X2VxdWFs
cygKKyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmRlbGF5LAorICAgIDYgKiBNU19Q
RVJfU0VDLAorICAgICdEZWxheSBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSBzdHlsZScKKyAg
KTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmZp
bGwsCisgICAgJ2JvdGgnLAorICAgICdGaWxsIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0
eWxlJworICApOworfSwgJ0FuaW1hdGlvbkVmZmVjdC51cGRhdGVUaW1pbmcoeyBpdGVyYXRpb25z
LCBkaXJlY3Rpb24gfSkgY2F1c2VzIGNoYW5nZXMgdG8nCisgICArICcgdGhlIGFuaW1hdGlvbi1p
dGVyYXRpb24tY291bnQgYW5kIGFuaW1hdGlvbi1kaXJlY3Rpb24gdG8gYmUgaWdub3JlZCcpOwor
Cit0ZXN0KHQgPT4geworICBjb25zdCBkaXYgPSBhZGREaXYodCk7CisgIGRpdi5zdHlsZS5hbmlt
YXRpb24gPSAnYW5pbS1lbXB0eSAxMDBzJzsKKworICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0
QW5pbWF0aW9ucygpWzBdOworICBhbmltYXRpb24uZWZmZWN0LnVwZGF0ZVRpbWluZyh7IGRlbGF5
OiAyICogTVNfUEVSX1NFQywgZmlsbDogJ2JvdGgnIH0pOworCisgIGRpdi5zdHlsZS5hbmltYXRp
b25EZWxheSA9ICc0cyc7CisgIGRpdi5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9ICdmb3J3YXJk
cyc7CisgIGRpdi5zdHlsZS5hbmltYXRpb25JdGVyYXRpb25Db3VudCA9ICc2JzsKKyAgZGl2LnN0
eWxlLmFuaW1hdGlvbkRpcmVjdGlvbiA9ICdyZXZlcnNlJzsKKworICBhc3NlcnRfZXF1YWxzKAor
ICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuZGVsYXksCisgICAgMiAqIE1TX1BFUl9T
RUMsCisgICAgJ0RlbGF5IHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBBUEknCisgICk7
CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5maWxs
LAorICAgICdib3RoJywKKyAgICAnRmlsbCBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSB0aGUg
QVBJJworICApOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGlt
aW5nKCkuaXRlcmF0aW9ucywKKyAgICA2LAorICAgICdJdGVyYXRpb25zIHNob3VsZCBiZSB0aGUg
dmFsdWUgc2V0IGJ5IHN0eWxlJworICApOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlv
bi5lZmZlY3QuZ2V0VGltaW5nKCkuZGlyZWN0aW9uLAorICAgICdyZXZlcnNlJywKKyAgICAnRGly
ZWN0aW9uIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlJworICApOworfSwgJ0FuaW1h
dGlvbkVmZmVjdC51cGRhdGVUaW1pbmcoeyBkZWxheSwgZmlsbCB9KSBjYXVzZXMgY2hhbmdlcyB0
bycKKyAgICsgJyB0aGUgYW5pbWF0aW9uLWRlbGF5IGFuZCBhbmltYXRpb24tZmlsbC1tb2RlIHRv
IGJlIGlnbm9yZWQnKTsKKwordGVzdCh0ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwor
ICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tZW1wdHkgMTAwcyc7CisKKyAgY29uc3QgYW5p
bWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgICBhbmltYXRpb24uZWZmZWN0LnVwZGF0ZVRpbWluZyh7IGR1cmF0
aW9uOiAyICogTVNfUEVSX1NFQywgaXRlcmF0aW9uczogLTEgfSk7CisgIH0sICdOZWdhdGl2ZSBp
dGVyYXRpb24gY291bnQgc2hvdWxkIGNhdXNlIGFuIGVycm9yIHRvIGJlIHRocm93bicpOworCisg
IGRpdi5zdHlsZS5hbmltYXRpb25EdXJhdGlvbiA9ICc0cyc7CisKKyAgYXNzZXJ0X2VxdWFscygK
KyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmR1cmF0aW9uLAorICAgIDQgKiBNU19Q
RVJfU0VDLAorICAgICdEdXJhdGlvbiBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSBzdHlsZScK
KyAgKTsKK30sICdBbmltYXRpb25FZmZlY3QudXBkYXRlVGltaW5nKCkgZG9lcyBvdmVycmlkZSB0
byBjaGFuZ2VzIGZyb20gYW5pbWF0aW9uLSonCisgICArICcgcHJvcGVydGllcyBpZiB0aGVyZSBp
cyBhbiBlcnJvcicpOworCit0ZXN0KHQgPT4geworICBjb25zdCBkaXYgPSBhZGREaXYodCk7Cisg
IGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1lbXB0eSAxMDBzJzsKKworICBjb25zdCBhbmlt
YXRpb24gPSBkaXYuZ2V0QW5pbWF0aW9ucygpWzBdOworICBhbmltYXRpb24uZWZmZWN0LnVwZGF0
ZVRpbWluZyh7CisgICAgZWFzaW5nOiAnc3RlcHMoNCknLAorICAgIGVuZERlbGF5OiAyICogTVNf
UEVSX1NFQywKKyAgICBpdGVyYXRpb25TdGFydDogNCwKKyAgfSk7CisKKyAgZGl2LnN0eWxlLmFu
aW1hdGlvbkR1cmF0aW9uID0gJzZzJzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvblRpbWluZ0Z1bmN0
aW9uID0gJ2Vhc2UtaW4nOworCisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVj
dC5nZXRUaW1pbmcoKS5lYXNpbmcsCisgICAgJ3N0ZXBzKDQpJywKKyAgICAnZW5kRGVsYXkgc2hv
dWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgdGhlIEFQSScKKyAgKTsKKyAgYXNzZXJ0X2VxdWFscygK
KyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmVuZERlbGF5LAorICAgIDIgKiBNU19Q
RVJfU0VDLAorICAgICdlbmREZWxheSBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSB0aGUgQVBJ
JworICApOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5n
KCkuaXRlcmF0aW9uU3RhcnQsCisgICAgNCwKKyAgICAnaXRlcmF0aW9uU3RhcnQgc2hvdWxkIGJl
IHRoZSB2YWx1ZSBzZXQgYnkgc3R5bGUnCisgICk7Cit9LCAnQW5pbWF0aW9uRWZmZWN0IHByb3Bl
cnRpZXMgdGhhdCBkbyBub3QgbWFwIHRvIGFuaW1hdGlvbi0qIHByb3BlcnRpZXMnCisgICArICcg
c2hvdWxkIG5vdCBiZSBjaGFuZ2VkIHdoZW4gYW5pbWF0aW9uLSogc3R5bGUgaXMgdXBkYXRlZCcp
OworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1j
b21wb3NpdGVPcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9u
LWNvbXBvc2l0ZU9yZGVyLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggMWIwNzU5YjhjMWNm
ZTYzNGY0ZjBjMTFjMzExZjEwZDUxY2Y5NzllMy4uOGYwZDMwZjVjNjAxNzU3YWNmNjdhNDZhNTY4
ZGQwNjZiZDFmZDhmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWNvbXBvc2l0ZU9y
ZGVyLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWNvbXBv
c2l0ZU9yZGVyLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1Mg
QW5pbWF0aW9ucyBhcmUgY29tcG9zaXRlZCBieSB0aGVpciBvcmRlciBpbiB0aGUgYW5pbWF0aW9u
LW5hbWUgcHJvcGVydHkuIAorUEFTUyBXZWItYW5pbWF0aW9uIHJlcGxhY2VzIENTUyBhbmltYXRp
b24gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1jb21wb3NpdGVPcmRlci50ZW50
YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1jb21wb3NpdGVPcmRlci50ZW50YXRpdmUu
aHRtbAppbmRleCAyMjVlZmQyM2FkZGQ2NjRkNmZiODQyMjY0YmJmMDRkYTQ5OTAzNzhkLi5kNTVk
YjlhMmQxMTdmNTRjZWJkNDQ3ZDliZjVlZjlmNDRhYjczMDlhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9D
U1NBbmltYXRpb24tY29tcG9zaXRlT3JkZXIudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NT
QW5pbWF0aW9uLWNvbXBvc2l0ZU9yZGVyLnRlbnRhdGl2ZS5odG1sCkBAIC0zNiw0ICszNiwxOCBA
QCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIC8vIGluIHRoZSBhbmltYXRpb24gbGlzdC4K
ICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzEwMHB4
Jyk7CiB9LCAiQW5pbWF0aW9ucyBhcmUgY29tcG9zaXRlZCBieSB0aGVpciBvcmRlciBpbiB0aGUg
YW5pbWF0aW9uLW5hbWUgcHJvcGVydHkuIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOworICBjb25zdCBhbmltQSA9IGRpdi5hbmltYXRlKHtt
YXJnaW46IFsiMTAwcHgiLCIxMDBweCJdfSwgMTAwMDAwKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzEwMHB4Jyk7CisgIGRpdi5zdHlsZS5hbmlt
YXRpb24gPSAnbWFyZ2luNTAgMTAwcyc7CisgIC8vIFdhaXQgZm9yIGFuaW1hdGlvbiBzdGFydHMK
KyAgYXdhaXQgYW5pbUEucmVhZHk7CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSk7
CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICcxMDBw
eCcsCisgICAgICAgICAgICAgICAgIkEgaGlnaGVyLXByaW9yaXR5IGFuaW1hdGlvbiBpcyBub3Qg
b3ZlcnJpZGVuIGJ5IGEgbW9yZSByZWNlbnQiCisgICAgICAgICAgICAgICAgKyAib25lLiIpOwor
fSwgJ1dlYi1hbmltYXRpb24gcmVwbGFjZXMgQ1NTIGFuaW1hdGlvbicpOworCiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1lZmZlY3QudGVudGF0aXZlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1lZmZlY3QudGVudGF0aXZlLWV4cGVjdGVkLnR4dApp
bmRleCBlNGUxYzVlMGNiNzUyZjJhZWM0MGQ2ZDhhZWZkYTUzMzBmNjIxMzAxLi5mNzVkNWI2ZmMz
MjJlZjBlMTA2NTUwZTQxNTc4NjcwNjYxZGM4M2NjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmlt
YXRpb24tZWZmZWN0LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0
aW9uLWVmZmVjdC50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC01LDQgKzUsNSBAQCBQQVNTIFJl
cGxhY2luZyBhbiBhbmltYXRpb24ncyBlZmZlY3Qgd2l0aCBhIHNob3J0ZXIgb25lIHRoYXQgc2hv
dWxkIGhhdmUgYWxyZWFkeQogUEFTUyBBIHBsYXktcGVuZGluZyBhbmltYXRpb24ncyBlZmZlY3Qg
d2hvc2UgZWZmZWN0IGlzIHJlcGxhY2VkIHN0aWxsIGV4aXRzIHRoZSBwZW5kaW5nIHN0YXRlIAog
UEFTUyBDU1MgYW5pbWF0aW9uIGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCBhdCB0aGUgb3JpZ2luYWwg
ZWxlbWVudCBldmVuIGFmdGVyIHNldHRpbmcgYW4gZWZmZWN0IHdpdGggYSBkaWZmZXJlbnQgdGFy
Z2V0IGVsZW1lbnQgCiBQQVNTIEFmdGVyIHJlcGxhY2luZyBhIGZpbmlzaGVkIGFuaW1hdGlvbidz
IGVmZmVjdCB3aXRoIGEgbG9uZ2VyIG9uZSBpdCBmaXJlcyBhbiBhbmltYXRpb25zdGFydCBldmVu
dCAKK0ZBSUwgUmVwbGFjaW5nIHRoZSBlZmZlY3Qgb2YgYSBDU1NBbmltYXRpb24gY2F1c2VzIHN1
YnNlcXVlbnQgY2hhbmdlcyB0byBjb3JyZXNwb25kaW5nIGFuaW1hdGlvbi0qIHByb3BlcnRpZXMg
dG8gYmUgaWdub3JlZCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnYW5p
bWF0aW9uLmVmZmVjdC5nZXRLZXlmcmFtZXMoKVswXS5sZWZ0JykKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvQ1NTQW5pbWF0aW9uLWVmZmVjdC50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlv
bi1lZmZlY3QudGVudGF0aXZlLmh0bWwKaW5kZXggYmJmMzVkNTExM2E5YzNkMWU0ZGJhNzMxOGY2
NDk0OTRjODhmZWI0Yy4uZmFkY2FhMTI5YWIyYzRkYTYxMmFkZDk5NTFiZjk5YjQ0N2ZlOTQ4ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWVmZmVjdC50ZW50YXRpdmUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9DU1NBbmltYXRpb24tZWZmZWN0LnRlbnRhdGl2ZS5odG1sCkBAIC0yNiw3ICsyNiw4
IEBAIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdh
bmltIDEwMHMnOwogCiAgIGNvbnN0IHdhdGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKHQsIGRpdiwg
WyAnYW5pbWF0aW9uZW5kJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdhbmltYXRpb25jYW5jZWwnIF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbmNhbmNlbCcgXSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZmFzdEV2ZW50c1RpbWVvdXQpOwogICBjb25zdCBhbmltYXRpb24g
PSBkaXYuZ2V0QW5pbWF0aW9ucygpWzBdOwogICBhd2FpdCBhbmltYXRpb24ucmVhZHk7CiAKQEAg
LTkwLDcgKzkxLDggQEAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBjb25zdCBkaXYxID0g
YWRkRGl2KHQpOwogICBjb25zdCBkaXYyID0gYWRkRGl2KHQpOwogCi0gIGNvbnN0IHdhdGNoZXIx
ID0gbmV3IEV2ZW50V2F0Y2hlcih0LCBkaXYxLCAnYW5pbWF0aW9uc3RhcnQnKTsKKyAgY29uc3Qg
d2F0Y2hlcjEgPSBuZXcgRXZlbnRXYXRjaGVyKHQsIGRpdjEsICdhbmltYXRpb25zdGFydCcsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXN0RXZlbnRzVGltZW91dCk7CiAg
IC8vIFdhdGNoIHxkaXYyfCBhcyB3ZWxsIHRvIGVuc3VyZSBpdCBkb2VzICpub3QqIGdldCBldmVu
dHMuCiAgIGNvbnN0IHdhdGNoZXIyID0gbmV3IEV2ZW50V2F0Y2hlcih0LCBkaXYyLCAnYW5pbWF0
aW9uc3RhcnQnKTsKIApAQCAtMTE0LDcgKzExNiw4IEBAIHByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwogICBjb25zdCB3YXRjaGVyID0gbmV3IEV2ZW50
V2F0Y2hlcih0LCBkaXYsIFsgJ2FuaW1hdGlvbnN0YXJ0JywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRpb25lbmQnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbmNhbmNlbCcgXSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5pbWF0aW9uY2FuY2Vs
JyBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXN0RXZlbnRzVGltZW91
dCk7CiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbSAxMDBzJzsKICAgY29uc3QgYW5pbWF0
aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKICAgYW5pbWF0aW9uLmZpbmlzaCgpOwpAQCAt
MTI4LDQgKzEzMSw4MSBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiB9LCAnQWZ0ZXIgcmVw
bGFjaW5nIGEgZmluaXNoZWQgYW5pbWF0aW9uXCdzIGVmZmVjdCB3aXRoIGEgbG9uZ2VyIG9uZSAn
ICsKICAgICdpdCBmaXJlcyBhbiBhbmltYXRpb25zdGFydCBldmVudCcpOwogCit0ZXN0KHQgPT4g
eworICBjb25zdCBkaXYgPSBhZGREaXYodCk7CisKKyAgLy8gQ3JlYXRlIGN1c3RvbSBrZXlmcmFt
ZXMgc28gd2UgY2FuIHR3ZWFrIHRoZW0KKyAgY29uc3Qgc3R5bGVzaGVldCA9IGRvY3VtZW50LnN0
eWxlU2hlZXRzWzBdOworICBjb25zdCBrZXlmcmFtZXMgPSAnQGtleWZyYW1lcyBhbmltLWN1c3Rv
bSB7IHRvIHsgbGVmdDogMTAwcHggfSB9JzsKKyAgY29uc3QgcnVsZUluZGV4ID0gc3R5bGVzaGVl
dC5pbnNlcnRSdWxlKGtleWZyYW1lcywgMCk7CisgIGNvbnN0IGtleWZyYW1lc1J1bGUgPSBzdHls
ZXNoZWV0LmNzc1J1bGVzW3J1bGVJbmRleF07CisKKyAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsKKyAgICBzdHlsZXNoZWV0LmRlbGV0ZVJ1bGUocnVsZUluZGV4KTsKKyAgfSk7CisKKyAgZGl2
LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLWN1c3RvbSAxMDBzJzsKKworICAvLyBSZXBsYWNlIHRo
ZSBlZmZlY3QKKyAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKKyAg
YW5pbWF0aW9uLmVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdCgKKyAgICBkaXYsCisgICAgeyBs
ZWZ0OiAnMjAwcHgnIH0sCisgICAgMjAwICogTVNfUEVSX1NFQworICApOworCisgIC8vIFVwZGF0
ZSB0aGUgdGltaW5nIHByb3BlcnRpZXMKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkR1cmF0aW9uID0g
JzRzJzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50ID0gJzYnOworICBkaXYu
c3R5bGUuYW5pbWF0aW9uRGlyZWN0aW9uID0gJ3JldmVyc2UnOworICBkaXYuc3R5bGUuYW5pbWF0
aW9uRGVsYXkgPSAnOHMnOworICBkaXYuc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGUgPSAnYm90aCc7
CisgIGRpdi5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncGF1c2VkJzsKKworICAvLyBVcGRh
dGUgdGhlIGtleWZyYW1lcworICBrZXlmcmFtZXNSdWxlLmRlbGV0ZVJ1bGUoMCk7CisgIGtleWZy
YW1lc1J1bGUuYXBwZW5kUnVsZSgndG8geyBsZWZ0OiAzMDBweCB9Jyk7CisKKyAgLy8gQ2hlY2sg
bm90aGluZyAoZXhjZXB0IHRoZSBwbGF5IHN0YXRlKSBjaGFuZ2VkCisgIGFzc2VydF9lcXVhbHMo
CisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5kdXJhdGlvbiwKKyAgICAyMDAgKiBN
U19QRVJfU0VDLAorICAgICdkdXJhdGlvbiBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSB0aGUg
QVBJJworICApOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGlt
aW5nKCkuaXRlcmF0aW9ucywKKyAgICAxLAorICAgICdpdGVyYXRpb25zIHNob3VsZCBiZSB0aGUg
dmFsdWUgc2V0IGJ5IHRoZSBBUEknCisgICk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0
aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5kaXJlY3Rpb24sCisgICAgJ25vcm1hbCcsCisgICAgJ2Rp
cmVjdGlvbiBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSB0aGUgQVBJJworICApOworICBhc3Nl
cnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuZGVsYXksCisgICAg
MCwKKyAgICAnZGVsYXkgc2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgdGhlIEFQSScKKyAgKTsK
KyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmZpbGws
CisgICAgJ2F1dG8nLAorICAgICdmaWxsIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBB
UEknCisgICk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRLZXlm
cmFtZXMoKVswXS5sZWZ0LAorICAgICcyMDBweCcsCisgICAgJ2tleWZyYW1lcyBzaG91bGQgYmUg
dGhlIHZhbHVlIHNldCBieSB0aGUgQVBJJworICApOworCisgIC8vIFVubGlrZSB0aGUgb3RoZXIg
cHJvcGVydGllcyBhbmltYXRpb24tcGxheS1zdGF0ZSBtYXBzIHRvIHRoZSBBbmltYXRpb24KKyAg
Ly8gbm90IHRoZSBLZXlmcmFtZUVmZmVjdCBzbyBpdCBzaG91bGQgYmUgb3ZlcnJpZGRlbi4KKyAg
YXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdwYXVzZWQnLAor
ICAgICdwbGF5IHN0YXRlIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlJworICApOwor
fSwgJ1JlcGxhY2luZyB0aGUgZWZmZWN0IG9mIGEgQ1NTQW5pbWF0aW9uIGNhdXNlcyBzdWJzZXF1
ZW50IGNoYW5nZXMgdG8nCisgICArICcgY29ycmVzcG9uZGluZyBhbmltYXRpb24tKiBwcm9wZXJ0
aWVzIHRvIGJlIGlnbm9yZWQnKTsKKwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NB
bmltYXRpb24tZmluaXNoZWQudGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tZmlu
aXNoZWQudGVudGF0aXZlLmh0bWwKaW5kZXggNTdkZDBkNTAyMGM5ZDZhNGJjMzBkYmU5NTcwYmQz
ZWI4Y2JiYTlhZS4uZGEwODdiOTNlMGVmYTVkMTQ0MGVmYjIyZmEyOTQ2OTljZDkzNGQ0NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWZpbmlzaGVkLnRlbnRhdGl2ZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL0NTU0FuaW1hdGlvbi1maW5pc2hlZC50ZW50YXRpdmUuaHRtbApAQCAtMzEsNyArMzEs
NyBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAn
JzsKICAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvbjsKIAotICBhd2FpdCBwcm9taXNl
X3JlamVjdHModCwgJ0Fib3J0RXJyb3InLCBvcmlnaW5hbEZpbmlzaGVkUHJvbWlzZSwKKyAgYXdh
aXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAnQWJvcnRFcnJvcicsIG9yaWdpbmFsRmluaXNoZWRQ
cm9taXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbmlzaGVkIHByb21pc2UgaXMgcmVq
ZWN0ZWQgd2l0aCBBYm9ydEVycm9yJyk7CiAKICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9u
LmZpbmlzaGVkLCBvcmlnaW5hbEZpbmlzaGVkUHJvbWlzZSwKQEAgLTU1LDcgKzU1LDcgQEAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2RlZiAxMDBz
JzsKICAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvbjsKIAotICBhd2FpdCBwcm9taXNl
X3JlamVjdHModCwgJ0Fib3J0RXJyb3InLCBvcmlnaW5hbEZpbmlzaGVkUHJvbWlzZSwKKyAgYXdh
aXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAnQWJvcnRFcnJvcicsIG9yaWdpbmFsRmluaXNoZWRQ
cm9taXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbmlzaGVkIHByb21pc2UgaXMgcmVq
ZWN0ZWQgd2l0aCBBYm9ydEVycm9yJyk7CiAKICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9u
LmZpbmlzaGVkLCBvcmlnaW5hbEZpbmlzaGVkUHJvbWlzZSwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NT
U0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmlt
YXRpb24tcGF1c2luZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IDM1MzRlN2JmMDVjNjU2
OTEwMGViMTE4MjM2YzAzMmViYjYwNDY2MjkuLmMxODhkZTRiMjBhYmUyN2RjMGFiNDc5Y2FhMTRl
N2NlZDgwZjkxYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRh
dGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXBhdXNpbmcudGVudGF0
aXZlLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDExIEBACiAKLVBBU1MgcGxheSgpIG92ZXJyaWRl
cyBhbmltYXRpb24tcGxheS1zdGF0ZSAKK0ZBSUwgcGxheSgpIG92ZXJyaWRlcyBhbmltYXRpb24t
cGxheS1zdGF0ZSBhc3NlcnRfZXF1YWxzOiBTaG91bGQgc3RpbGwgYmUgcnVubmluZyBldmVuIGFm
dGVyIGZsaXBwaW5nIHRoZSBhbmltYXRpb24tcGxheS1zdGF0ZSBleHBlY3RlZCAicnVubmluZyIg
YnV0IGdvdCAicGF1c2VkIgorUEFTUyBwbGF5KCkgZG9lcyBOT1Qgb3ZlcnJpZGUgdGhlIGFuaW1h
dGlvbi1wbGF5LXN0YXRlIGlmIHRoZXJlIHdhcyBhbiBlcnJvciAKIFBBU1MgcGF1c2UoKSBvdmVy
cmlkZXMgYW5pbWF0aW9uLXBsYXktc3RhdGUgCi1QQVNTIHBsYXkoKSBpcyBvdmVycmlkZGVuIGJ5
IGxhdGVyIHNldHRpbmcgImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQiIAotUEFTUyBwbGF5
KCkgZmx1c2hlcyBwZW5kaW5nIGNoYW5nZXMgdG8gYW5pbWF0aW9uLXBsYXktc3RhdGUgZmlyc3Qg
Ci1QQVNTIHBhdXNlKCkgYXBwbGllcyBwZW5kaW5nIGNoYW5nZXMgdG8gYW5pbWF0aW9uLXBsYXkt
c3RhdGUgZmlyc3QgCitGQUlMIHJldmVyc2UoKSBvdmVycmlkZXMgYW5pbWF0aW9uLXBsYXktc3Rh
dGUgd2hlbiBpdCBzdGFydHMgcGxheWluZyB0aGUgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IFNo
b3VsZCBzdGlsbCBiZSBydW5uaW5nIGV2ZW4gYWZ0ZXIgZmxpcHBpbmcgdGhlIGFuaW1hdGlvbi1w
bGF5LXN0YXRlIGV4cGVjdGVkICJydW5uaW5nIiBidXQgZ290ICJwYXVzZWQiCitQQVNTIHJldmVy
c2UoKSBkb2VzIE5PVCBvdmVycmlkZSBhbmltYXRpb24tcGxheS1zdGF0ZSBpZiB0aGUgYW5pbWF0
aW9uIGlzIGFscmVhZHkgcnVubmluZyAKK0ZBSUwgU2V0dGluZyB0aGUgc3RhcnRUaW1lIHRvIG51
bGwgb3ZlcnJpZGVzIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGlmIHRoZSBhbmltYXRpb24gaXMgYWxy
ZWFkeSBydW5uaW5nIGFzc2VydF9lcXVhbHM6IFNob3VsZCBzdGlsbCBiZSBwYXVzZWQgZXZlbiBh
ZnRlciBmbGlwcGluZyB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUgZXhwZWN0ZWQgInBhdXNlZCIg
YnV0IGdvdCAicnVubmluZyIKK0ZBSUwgU2V0dGluZyB0aGUgc3RhcnRUaW1lIHRvIG5vbi1udWxs
IG92ZXJyaWRlcyBhbmltYXRpb24tcGxheS1zdGF0ZSBpZiB0aGUgYW5pbWF0aW9uIGlzIHBhdXNl
ZCBhc3NlcnRfZXF1YWxzOiBTaG91bGQgc3RpbGwgYmUgcnVubmluZyBldmVuIGFmdGVyIGZsaXBw
aW5nIHRoZSBhbmltYXRpb24tcGxheS1zdGF0ZSBleHBlY3RlZCAicnVubmluZyIgYnV0IGdvdCAi
cGF1c2VkIgorUEFTUyBTZXR0aW5nIHRoZSBzdGFydFRpbWUgdG8gbm9uLW51bGwgZG9lcyBOT1Qg
b3ZlcnJpZGUgdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGlmIHRoZSBhbmltYXRpb24gaXMgYWxy
ZWFkeSBydW5uaW5nIAogUEFTUyBTZXR0aW5nIHRoZSBjdXJyZW50IHRpbWUgY29tcGxldGVzIGEg
cGVuZGluZyBwYXVzZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXBhdXNpbmcu
dGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tcGF1c2luZy50ZW50YXRpdmUuaHRt
bAppbmRleCAyYjZlNjg1M2I0MTc4ZjkwZTgyMGExNmE3NGE1ZDYzNTI0MTIzZDMyLi4xNTZhMWFm
YTk2NGRlMTJlNGE5ODNjMDMyZjliNTI2YjVjZGY2MjVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NB
bmltYXRpb24tcGF1c2luZy50ZW50YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24t
cGF1c2luZy50ZW50YXRpdmUuaHRtbApAQCAtMTYsMTI5ICsxNiwyMTggQEAKIDxzY3JpcHQ+CiAn
dXNlIHN0cmljdCc7CiAKLWNvbnN0IGdldE1hcmdpbkxlZnQgPSBjcyA9PiBwYXJzZUZsb2F0KGNz
Lm1hcmdpbkxlZnQpOwotCiBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIGNvbnN0IGRpdiA9
IGFkZERpdih0KTsKLSAgY29uc3QgY3MgPSBnZXRDb21wdXRlZFN0eWxlKGRpdik7CiAgIGRpdi5z
dHlsZS5hbmltYXRpb24gPSAnYW5pbSAxMDAwcyBwYXVzZWQnOworCiAgIGNvbnN0IGFuaW1hdGlv
biA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07Ci0gIGFzc2VydF9lcXVhbHMoZ2V0TWFyZ2luTGVm
dChjcyksIDAsCi0gICAgICAgICAgICAgICAgJ0luaXRpYWwgdmFsdWUgb2YgbWFyZ2luLWxlZnQg
aXMgemVybycpOwogICBhbmltYXRpb24ucGxheSgpOwogCiAgIGF3YWl0IGFuaW1hdGlvbi5yZWFk
eTsKICAgYXdhaXQgd2FpdEZvck5leHRGcmFtZSgpOwogCi0gIGFzc2VydF9ncmVhdGVyX3RoYW4o
Z2V0TWFyZ2luTGVmdChjcyksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgJ1BsYXlpbmcgdmFs
dWUgb2YgbWFyZ2luLWxlZnQgaXMgZ3JlYXRlciB0aGFuIHplcm8nKTsKKyAgYXNzZXJ0X2VxdWFs
cygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdydW5uaW5nJywKKyAgICAnUGxheSBz
dGF0ZSBpcyBydW5uaW5nIGFmdGVyIGNhbGxpbmcgcGxheSgpJworICApOworCisgIC8vIEZsaXAg
dGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGJhY2sgYW5kIGZvcnRoIHRvIGNoZWNrIGl0IGhhcyBu
byBlZmZlY3QKKworICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3J1bm5pbmcnOwor
ICBnZXRDb21wdXRlZFN0eWxlKGRpdikuYW5pbWF0aW9uUGxheVN0YXRlOworICBkaXYuc3R5bGUu
YW5pbWF0aW9uUGxheVN0YXRlID0gJ3BhdXNlZCc7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5h
bmltYXRpb25QbGF5U3RhdGU7CisKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxh
eVN0YXRlLAorICAgICdydW5uaW5nJywKKyAgICAnU2hvdWxkIHN0aWxsIGJlIHJ1bm5pbmcgZXZl
biBhZnRlciBmbGlwcGluZyB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUnCisgICk7CiB9LCAncGxh
eSgpIG92ZXJyaWRlcyBhbmltYXRpb24tcGxheS1zdGF0ZScpOwogCiBwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLSAgY29uc3QgY3MgPSBnZXRDb21w
dXRlZFN0eWxlKGRpdik7Ci0gIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbSAxMDAwcyBwYXVz
ZWQnOworICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0gMTAwcyBpbmZpbml0ZSBwYXVzZWQn
OworCiAgIGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07Ci0gIGFzc2Vy
dF9lcXVhbHMoZ2V0TWFyZ2luTGVmdChjcyksIDAsCi0gICAgICAgICAgICAgICAgJ0luaXRpYWwg
dmFsdWUgb2YgbWFyZ2luLWxlZnQgaXMgemVybycpOworICBhbmltYXRpb24ucGxheWJhY2tSYXRl
ID0gLTE7CisgIGFuaW1hdGlvbi5jdXJyZW50VGltZSA9IC0xOwogCisgIGFzc2VydF90aHJvd3Nf
ZG9tKCdJbnZhbGlkU3RhdGVFcnJvcicsICgpID0+IHsKKyAgICBhbmltYXRpb24ucGxheSgpOwor
ICB9LCAnVHJ5aW5nIHRvIHBsYXkgYSByZXZlcnNlZCBpbmZpbml0ZSBhbmltYXRpb24gc2hvdWxk
IHRocm93Jyk7CisKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAor
ICAgICdwYXVzZWQnLAorICAgICdBbmltYXRpb24gc2hvdWxkIHN0aWxsIGJlIHBhdXNlZCcKKyAg
KTsKKworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gMTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlv
blBsYXlTdGF0ZSA9ICdydW5uaW5nJzsKKworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlv
bi5wbGF5U3RhdGUsCisgICAgJ3J1bm5pbmcnLAorICAgICdDaGFuZ2luZyB0aGUgYW5pbWF0aW9u
LXBsYXktc3RhdGUgc2hvdWxkIHBsYXkgdGhlIGFuaW1hdGlvbicKKyAgKTsKK30sICdwbGF5KCkg
ZG9lcyBOT1Qgb3ZlcnJpZGUgdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGlmIHRoZXJlIHdhcyBh
biBlcnJvcicpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IGRpdiA9IGFk
ZERpdih0KTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltIDEwMDBzIHBhdXNlZCc7CisK
KyAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKICAgYW5pbWF0aW9u
LnBhdXNlKCk7CisKICAgZGl2LnN0eWxlLmFuaW1hdGlvblBsYXlTdGF0ZSA9ICdydW5uaW5nJzsK
KyAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0ZTsKIAogICBhd2FpdCBh
bmltYXRpb24ucmVhZHk7CiAgIGF3YWl0IHdhaXRGb3JOZXh0RnJhbWUoKTsKIAotICBhc3NlcnRf
ZXF1YWxzKGNzLmFuaW1hdGlvblBsYXlTdGF0ZSwgJ3J1bm5pbmcnLAotICAgICAgICAgICAgICAg
ICdhbmltYXRpb24tcGxheS1zdGF0ZSBpcyBydW5uaW5nJyk7Ci0gIGFzc2VydF9lcXVhbHMoZ2V0
TWFyZ2luTGVmdChjcyksIDAsCi0gICAgICAgICAgICAgICAgJ1BhdXNlZCB2YWx1ZSBvZiBtYXJn
aW4tbGVmdCBpcyB6ZXJvJyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwg
J3BhdXNlZCcsICdwbGF5U3RhdGUgaXMgcGF1c2VkICcpOworCisgIC8vIEZsaXAgdGhlIGFuaW1h
dGlvbi1wbGF5LXN0YXRlIGJhY2sgYW5kIGZvcnRoIHRvIGNoZWNrIGl0IGhhcyBubyBlZmZlY3QK
KworICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3BhdXNlZCc7CisgIGdldENvbXB1
dGVkU3R5bGUoZGl2KS5hbmltYXRpb25QbGF5U3RhdGU7CisgIGRpdi5zdHlsZS5hbmltYXRpb25Q
bGF5U3RhdGUgPSAncnVubmluZyc7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbmltYXRpb25Q
bGF5U3RhdGU7CisKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAor
ICAgICdwYXVzZWQnLAorICAgICdTaG91bGQgc3RpbGwgYmUgcGF1c2VkIGV2ZW4gYWZ0ZXIgZmxp
cHBpbmcgdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlJworICApOwogfSwgJ3BhdXNlKCkgb3ZlcnJp
ZGVzIGFuaW1hdGlvbi1wbGF5LXN0YXRlJyk7CiAKIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
ICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwotICBjb25zdCBjcyA9IGdldENvbXB1dGVkU3R5bGUo
ZGl2KTsKLSAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltIDEwMDBzIHBhdXNlZCc7CisgIGRp
di5zdHlsZS5hbmltYXRpb24gPSAnYW5pbSAxMDBzIHBhdXNlZCc7CisKICAgY29uc3QgYW5pbWF0
aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKLSAgYXNzZXJ0X2VxdWFscyhnZXRNYXJnaW5M
ZWZ0KGNzKSwgMCwKLSAgICAgICAgICAgICAgICAnSW5pdGlhbCB2YWx1ZSBvZiBtYXJnaW4tbGVm
dCBpcyB6ZXJvJyk7Ci0gIGFuaW1hdGlvbi5wbGF5KCk7CisgIGFuaW1hdGlvbi5yZXZlcnNlKCk7
CiAKLSAgYXdhaXQgYW5pbWF0aW9uLnJlYWR5OworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1h
dGlvbi5wbGF5U3RhdGUsCisgICAgJ3J1bm5pbmcnLAorICAgICdQbGF5IHN0YXRlIGlzIHJ1bm5p
bmcgYWZ0ZXIgY2FsbGluZyByZXZlcnNlKCknCisgICk7CiAKLSAgZGl2LnN0eWxlLmFuaW1hdGlv
blBsYXlTdGF0ZSA9ICdydW5uaW5nJzsKLSAgY3MuYW5pbWF0aW9uUGxheVN0YXRlOyAvLyBUcmln
Z2VyIHN0eWxlIHJlc29sdXRpb24KLSAgYXdhaXQgd2FpdEZvck5leHRGcmFtZSgpOworICAvLyBG
bGlwIHRoZSBhbmltYXRpb24tcGxheS1zdGF0ZSBiYWNrIGFuZCBmb3J0aCB0byBjaGVjayBpdCBo
YXMgbm8gZWZmZWN0CiAKLSAgYXNzZXJ0X2VxdWFscyhjcy5hbmltYXRpb25QbGF5U3RhdGUsICdy
dW5uaW5nJywKLSAgICAgICAgICAgICAgICAnYW5pbWF0aW9uLXBsYXktc3RhdGUgaXMgcnVubmlu
ZycpOworICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3J1bm5pbmcnOworICBnZXRD
b21wdXRlZFN0eWxlKGRpdikuYW5pbWF0aW9uUGxheVN0YXRlOwogICBkaXYuc3R5bGUuYW5pbWF0
aW9uUGxheVN0YXRlID0gJ3BhdXNlZCc7Ci0gIGF3YWl0IGFuaW1hdGlvbi5yZWFkeTsKKyAgZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0ZTsKIAotICBhc3NlcnRfZXF1YWxz
KGNzLmFuaW1hdGlvblBsYXlTdGF0ZSwgJ3BhdXNlZCcsCi0gICAgICAgICAgICAgICAgJ2FuaW1h
dGlvbi1wbGF5LXN0YXRlIGlzIHBhdXNlZCcpOwotICBjb25zdCBwcmV2aW91c0FuaW1WYWwgPSBn
ZXRNYXJnaW5MZWZ0KGNzKTsKLSAgYXdhaXQgd2FpdEZvck5leHRGcmFtZSgpOwotCi0gIGFzc2Vy
dF9lcXVhbHMoZ2V0TWFyZ2luTGVmdChjcyksIHByZXZpb3VzQW5pbVZhbCwKLSAgICAgICAgICAg
ICAgICAnQW5pbWF0ZWQgdmFsdWUgb2YgbWFyZ2luLWxlZnQgZG9lcyBub3QgY2hhbmdlIHdoZW4n
Ci0gICAgICAgICAgICAgICAgKyAnIHBhdXNlZCBieSBzdHlsZScpOwotfSwgJ3BsYXkoKSBpcyBv
dmVycmlkZGVuIGJ5IGxhdGVyIHNldHRpbmcgImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQi
Jyk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLnBsYXlTdGF0ZSwKKyAgICAncnVu
bmluZycsCisgICAgJ1Nob3VsZCBzdGlsbCBiZSBydW5uaW5nIGV2ZW4gYWZ0ZXIgZmxpcHBpbmcg
dGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlJworICApOworfSwgJ3JldmVyc2UoKSBvdmVycmlkZXMg
YW5pbWF0aW9uLXBsYXktc3RhdGUgd2hlbiBpdCBzdGFydHMgcGxheWluZyB0aGUnCisgICArICcg
YW5pbWF0aW9uJyk7CiAKIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgY29uc3QgZGl2ID0g
YWRkRGl2KHQpOwotICBjb25zdCBjcyA9IGdldENvbXB1dGVkU3R5bGUoZGl2KTsKLSAgZGl2LnN0
eWxlLmFuaW1hdGlvbiA9ICdhbmltIDEwMDBzJzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdh
bmltIDEwMHMnOworCiAgIGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07
Ci0gIGFzc2VydF9lcXVhbHMoZ2V0TWFyZ2luTGVmdChjcyksIDAsCi0gICAgICAgICAgICAgICAg
J0luaXRpYWwgdmFsdWUgb2YgbWFyZ2luLWxlZnQgaXMgemVybycpOworICBhbmltYXRpb24ucmV2
ZXJzZSgpOworCisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLnBsYXlTdGF0ZSwKKyAg
ICAncnVubmluZycsCisgICAgJ1BsYXkgc3RhdGUgaXMgcnVubmluZyBhZnRlciBjYWxsaW5nIHJl
dmVyc2UoKScKKyAgKTsKIAotICAvLyBTZXQgdGhlIHNwZWNpZmllZCBzdHlsZSBmaXJzdC4gSWYg
aW1wbGVtZW50YXRpb25zIGZhaWwgdG8KLSAgLy8gYXBwbHkgdGhlIHN0eWxlIGNoYW5nZXMgZmly
c3QsIHRoZXkgd2lsbCBpZ25vcmUgdGhlIHJlZHVuZGFudAotICAvLyBjYWxsIHRvIHBsYXkoKSBh
bmQgZmFpbCB0byBjb3JyZWN0bHkgb3ZlcnJpZGUgdGhlIHBhdXNlIHN0eWxlLgogICBkaXYuc3R5
bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3BhdXNlZCc7Ci0gIGFuaW1hdGlvbi5wbGF5KCk7Ci0g
IGNvbnN0IHByZXZpb3VzQW5pbVZhbCA9IGdldE1hcmdpbkxlZnQoY3MpOworICBnZXRDb21wdXRl
ZFN0eWxlKGRpdikuYW5pbWF0aW9uUGxheVN0YXRlOwogCi0gIGF3YWl0IGFuaW1hdGlvbi5yZWFk
eTsKLSAgYXdhaXQgd2FpdEZvck5leHRGcmFtZSgpOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFu
aW1hdGlvbi5wbGF5U3RhdGUsCisgICAgJ3BhdXNlZCcsCisgICAgJ1Nob3VsZCBiZSBwYXVzZWQg
YWZ0ZXIgY2hhbmdpbmcgdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlJworICApOworfSwgJ3JldmVy
c2UoKSBkb2VzIE5PVCBvdmVycmlkZSBhbmltYXRpb24tcGxheS1zdGF0ZSBpZiB0aGUgYW5pbWF0
aW9uIGlzJworICAgKyAnIGFscmVhZHkgcnVubmluZycpOworCitwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9
ICdhbmltIDEwMHMnOworCisgIGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClb
MF07CisgIGFuaW1hdGlvbi5zdGFydFRpbWUgPSBudWxsOworCisgIGFzc2VydF9lcXVhbHMoCisg
ICAgYW5pbWF0aW9uLnBsYXlTdGF0ZSwKKyAgICAncGF1c2VkJywKKyAgICAnUGxheSBzdGF0ZSBp
cyBwYXVzZWQgYWZ0ZXIgc2V0dGluZyB0aGUgc3RhcnQgdGltZSB0byBudWxsJworICApOworCisg
IC8vIEZsaXAgdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGJhY2sgYW5kIGZvcnRoIHRvIGNoZWNr
IGl0IGhhcyBubyBlZmZlY3QKKworICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3Bh
dXNlZCc7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbmltYXRpb25QbGF5U3RhdGU7CisgIGRp
di5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncnVubmluZyc7CisgIGdldENvbXB1dGVkU3R5
bGUoZGl2KS5hbmltYXRpb25QbGF5U3RhdGU7CiAKLSAgYXNzZXJ0X2VxdWFscyhjcy5hbmltYXRp
b25QbGF5U3RhdGUsICdwYXVzZWQnLAotICAgICAgICAgICAgICAgICdhbmltYXRpb24tcGxheS1z
dGF0ZSBpcyBwYXVzZWQnKTsKLSAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihnZXRNYXJnaW5MZWZ0KGNz
KSwgcHJldmlvdXNBbmltVmFsLAotICAgICAgICAgICAgICAgICAgICAgICdQbGF5aW5nIHZhbHVl
IG9mIG1hcmdpbi1sZWZ0IGlzIGluY3JlYXNpbmcnKTsKLX0sICdwbGF5KCkgZmx1c2hlcyBwZW5k
aW5nIGNoYW5nZXMgdG8gYW5pbWF0aW9uLXBsYXktc3RhdGUgZmlyc3QnKTsKKyAgYXNzZXJ0X2Vx
dWFscygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdwYXVzZWQnLAorICAgICdTaG91
bGQgc3RpbGwgYmUgcGF1c2VkIGV2ZW4gYWZ0ZXIgZmxpcHBpbmcgdGhlIGFuaW1hdGlvbi1wbGF5
LXN0YXRlJworICApOworfSwgJ1NldHRpbmcgdGhlIHN0YXJ0VGltZSB0byBudWxsIG92ZXJyaWRl
cyBhbmltYXRpb24tcGxheS1zdGF0ZSBpZiB0aGUnCisgICArICcgYW5pbWF0aW9uIGlzIGFscmVh
ZHkgcnVubmluZycpOwogCiBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIGNvbnN0IGRpdiA9
IGFkZERpdih0KTsKLSAgY29uc3QgY3MgPSBnZXRDb21wdXRlZFN0eWxlKGRpdik7Ci0gIGRpdi5z
dHlsZS5hbmltYXRpb24gPSAnYW5pbSAxMDAwcyBwYXVzZWQnOworICBkaXYuc3R5bGUuYW5pbWF0
aW9uID0gJ2FuaW0gMTAwcyBwYXVzZWQnOworCiAgIGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRB
bmltYXRpb25zKClbMF07Ci0gIGFzc2VydF9lcXVhbHMoZ2V0TWFyZ2luTGVmdChjcyksIDAsCi0g
ICAgICAgICAgICAgICAgJ0luaXRpYWwgdmFsdWUgb2YgbWFyZ2luLWxlZnQgaXMgemVybycpOwot
Ci0gIC8vIFVubGlrZSB0aGUgcHJldmlvdXMgdGVzdCBmb3IgcGxheSgpLCBzaW5jZSBjYWxsaW5n
IHBhdXNlKCkgaXMgc3RpY2t5LAotICAvLyB3ZSdsbCBhcHBseSBpdCBldmVuIGlmIHRoZSB1bmRl
cmx5aW5nIHN0eWxlIGFsc28gc2F5cyB3ZSdyZSBwYXVzZWQuCi0gIC8vCi0gIC8vIFdlIHdvdWxk
IGxpa2UgdG8gdGVzdCB0aGF0IGltcGxlbWVudGF0aW9ucyBmbHVzaCBzdHlsZXMgYmVmb3JlIHJ1
bm5pbmcKLSAgLy8gcGF1c2UoKSBidXQgYWN0dWFsbHkgdGhlcmUncyBubyBzdHlsZSB3ZSBjYW4g
Y3VycmVudGx5IHNldCB0aGF0IHdpbGwKLSAgLy8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiBwYXVz
ZSgpLiBUaGF0IG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZQotICAvLyAoZS5nLiBpZiB3ZSBpbnRy
b2R1Y2UgYW5pbWF0aW9uLXRpbWVsaW5lIG9yIGFuaW1hdGlvbi1wbGF5YmFjay1yYXRlIGV0Yy4p
LgotICAvLwotICAvLyBGb3Igbm93IHRoaXMganVzdCBzZXJ2ZXMgYXMgYSBzYW5pdHkgY2hlY2sg
dGhhdCB3ZSBkbyB0aGUgc2FtZSB0aGluZwotICAvLyBldmVuIGlmIHdlIHNldCBzdHlsZSBiZWZv
cmUgY2FsbGluZyB0aGUgQVBJLgorICBhbmltYXRpb24uc3RhcnRUaW1lID0gZG9jdW1lbnQudGlt
ZWxpbmUuY3VycmVudFRpbWU7CisKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxh
eVN0YXRlLAorICAgICdydW5uaW5nJywKKyAgICAnUGxheSBzdGF0ZSBpcyBydW5uaW5nIGFmdGVy
IHNldHRpbmcgdGhlIHN0YXJ0IHRpbWUgdG8gbm9uLW51bGwnCisgICk7CisKKyAgLy8gRmxpcCB0
aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUgYmFjayBhbmQgZm9ydGggdG8gY2hlY2sgaXQgaGFzIG5v
IGVmZmVjdAorCiAgIGRpdi5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncnVubmluZyc7Ci0g
IGFuaW1hdGlvbi5wYXVzZSgpOwotICBjb25zdCBwcmV2aW91c0FuaW1WYWwgPSBnZXRNYXJnaW5M
ZWZ0KGNzKTsKKyAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0ZTsKKyAg
ZGl2LnN0eWxlLmFuaW1hdGlvblBsYXlTdGF0ZSA9ICdwYXVzZWQnOworICBnZXRDb21wdXRlZFN0
eWxlKGRpdikuYW5pbWF0aW9uUGxheVN0YXRlOwogCi0gIGF3YWl0IGFuaW1hdGlvbi5yZWFkeTsK
LSAgYXdhaXQgd2FpdEZvck5leHRGcmFtZSgpOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1h
dGlvbi5wbGF5U3RhdGUsCisgICAgJ3J1bm5pbmcnLAorICAgICdTaG91bGQgc3RpbGwgYmUgcnVu
bmluZyBldmVuIGFmdGVyIGZsaXBwaW5nIHRoZSBhbmltYXRpb24tcGxheS1zdGF0ZScKKyAgKTsK
K30sICdTZXR0aW5nIHRoZSBzdGFydFRpbWUgdG8gbm9uLW51bGwgb3ZlcnJpZGVzIGFuaW1hdGlv
bi1wbGF5LXN0YXRlIGlmIHRoZScKKyAgICsgJyBhbmltYXRpb24gaXMgcGF1c2VkJyk7CisKK3By
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOworICBkaXYu
c3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0gMTAwcyc7CisKKyAgY29uc3QgYW5pbWF0aW9uID0gZGl2
LmdldEFuaW1hdGlvbnMoKVswXTsKKyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IGRvY3VtZW50LnRp
bWVsaW5lLmN1cnJlbnRUaW1lOworCisgIGRpdi5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAn
cGF1c2VkJzsKKyAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0ZTsKIAot
ICBhc3NlcnRfZXF1YWxzKGNzLmFuaW1hdGlvblBsYXlTdGF0ZSwgJ3J1bm5pbmcnLAotICAgICAg
ICAgICAgICAgICdhbmltYXRpb24tcGxheS1zdGF0ZSBpcyBydW5uaW5nJyk7Ci0gIGFzc2VydF9l
cXVhbHMoZ2V0TWFyZ2luTGVmdChjcyksIHByZXZpb3VzQW5pbVZhbCwKLSAgICAgICAgICAgICAg
ICAnUGF1c2VkIHZhbHVlIG9mIG1hcmdpbi1sZWZ0IGRvZXMgbm90IGNoYW5nZScpOwotfSwgJ3Bh
dXNlKCkgYXBwbGllcyBwZW5kaW5nIGNoYW5nZXMgdG8gYW5pbWF0aW9uLXBsYXktc3RhdGUgZmly
c3QnKTsKLS8vIChOb3RlIHRoYXQgd2UgY2FuJ3QgYWN0dWFsbHkgdGVzdCBmb3IgdGhpczsgc2Vl
IGNvbW1lbnQgYWJvdmUsIGluIHRlc3QtYm9keS4pCisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5p
bWF0aW9uLnBsYXlTdGF0ZSwKKyAgICAncGF1c2VkJywKKyAgICAnU2hvdWxkIGJlIHBhdXNlZCBh
ZnRlciBjaGFuZ2luZyB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUnCisgICk7Cit9LCAnU2V0dGlu
ZyB0aGUgc3RhcnRUaW1lIHRvIG5vbi1udWxsIGRvZXMgTk9UIG92ZXJyaWRlIHRoZScKKyAgICsg
JyBhbmltYXRpb24tcGxheS1zdGF0ZSBpZiB0aGUgYW5pbWF0aW9uIGlzIGFscmVhZHkgcnVubmlu
ZycpOwogCiBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0
LCB7IHN0eWxlOiAnYW5pbWF0aW9uOiBhbmltIDEwMDBzJyB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0NTU0FuaW1hdGlvbi1yZWFkeS50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1y
ZWFkeS50ZW50YXRpdmUuaHRtbAppbmRleCBmNzBlYmQxNzAwMzk4OGQ2NDFhN2NlNTY0NWQ5MmIx
Yzk2OGRhYzNlLi4yYTIyNzYwNjkzZGU0OWY0ZGUwNmE1NDZmM2ZlNmNiOTllOTg0NzYxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tcmVhZHkudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvQ1NTQW5pbWF0aW9uLXJlYWR5LnRlbnRhdGl2ZS5odG1sCkBAIC00Miw3ICs0Miw3IEBAIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICcnOwogICBn
ZXRDb21wdXRlZFN0eWxlKGRpdikuYW5pbWF0aW9uOwogCi0gIGF3YWl0IHByb21pc2VfcmVqZWN0
cyh0LCAnQWJvcnRFcnJvcicsIHJlYWR5UHJvbWlzZSwKKyAgYXdhaXQgcHJvbWlzZV9yZWplY3Rz
X2RvbSh0LCAnQWJvcnRFcnJvcicsIHJlYWR5UHJvbWlzZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICdyZWFkeSBwcm9taXNlIGlzIHJlamVjdGVkIHdpdGggQWJvcnRFcnJvcicpOwogfSwgJ3Jl
YWR5IHByb21pc2UgaXMgcmVqZWN0ZWQgd2hlbiBhbiBhbmltYXRpb24gaXMgY2FuY2VsZWQgYnkg
cmVzZXR0aW5nJwogICAgKyAnIHRoZSBhbmltYXRpb24gcHJvcGVydHknKTsKQEAgLTY0LDcgKzY0
LDcgQEAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0g
J2RlZiAxMDBzJzsKICAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvbjsKIAotICBhd2Fp
dCBwcm9taXNlX3JlamVjdHModCwgJ0Fib3J0RXJyb3InLCByZWFkeVByb21pc2UsCisgIGF3YWl0
IHByb21pc2VfcmVqZWN0c19kb20odCwgJ0Fib3J0RXJyb3InLCByZWFkeVByb21pc2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAncmVhZHkgcHJvbWlzZSBpcyByZWplY3RlZCB3aXRoIEFib3J0
RXJyb3InKTsKIH0sICdyZWFkeSBwcm9taXNlIGlzIHJlamVjdGVkIHdoZW4gYW4gYW5pbWF0aW9u
IGlzIGNhbmNlbGVkIGJ5IHVwZGF0aW5nJwogICAgKyAnIHRoZSBhbmltYXRpb24gcHJvcGVydHkn
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVj
dGVkLnR4dAppbmRleCBkMGJhYmY1NjgzZWFlZWFjM2JlODA5NmEyYzUwZjJiYTYxNmMyOTY5Li5k
N2M1ODFmNWRlNmFkMGM4M2E1NDA3ODQ1ZTM1YWY2ZmVhNWMwODc5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC02LDYg
KzYsNyBAQCBQQVNTIE9yZGVyIG9mIENTUyBBbmltYXRpb25zIC0gd2l0aGluIGFuIGVsZW1lbnQK
IFBBU1MgT3JkZXIgb2YgQ1NTIEFuaW1hdGlvbnMgLSBhY3Jvc3MgZWxlbWVudHMgCiBQQVNTIE9y
ZGVyIG9mIENTUyBBbmltYXRpb25zIC0gYWNyb3NzIGFuZCB3aXRoaW4gZWxlbWVudHMgCiBQQVNT
IE9yZGVyIG9mIENTUyBBbmltYXRpb25zIC0gbWFya3VwLWJvdW5kIHZzIGZyZWUgYW5pbWF0aW9u
cyAKK1BBU1MgT3JkZXIgb2YgQ1NTIEFuaW1hdGlvbnMgLSBmcmVlIGFuaW1hdGlvbiB2cyBDU1Mg
VHJhbnNpdGlvbnMgCiBQQVNTIE9yZGVyIG9mIENTUyBBbmltYXRpb25zIC0gZnJlZSBhbmltYXRp
b25zIAogUEFTUyBPcmRlciBvZiBDU1MgQW5pbWF0aW9ucyBhbmQgQ1NTIFRyYW5zaXRpb25zIAog
UEFTUyBGaW5pc2hlZCBidXQgZmlsbGluZyBDU1MgQW5pbWF0aW9ucyBhcmUgcmV0dXJuZWQgCkBA
IC0xNCw0ICsxNSw1IEBAIFBBU1MgWWV0LXRvLXN0YXJ0IENTUyBBbmltYXRpb25zIGFyZSByZXR1
cm5lZAogUEFTUyBDU1MgQW5pbWF0aW9ucyBjYW5jZWxlZCB2aWEgdGhlIEFQSSBhcmUgbm90IHJl
dHVybmVkIAogUEFTUyBDU1MgQW5pbWF0aW9ucyBjYW5jZWxlZCBhbmQgcmVzdGFydGVkIHZpYSB0
aGUgQVBJIGFyZSByZXR1cm5lZCAKIFBBU1MgQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGluZyAocHNl
dWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcgCitG
QUlMIENTUyBBbmltYXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhh
dmUgY29ycmVjdCBvcmRlciBhZnRlciBzb3J0aW5nICg6Om1hcmtlcikgYXNzZXJ0X2VxdWFsczog
Q1NTIGFuaW1hdGlvbnMgb24gYm90aCBwc2V1ZG8tZWxlbWVudHMgYW5kIGVsZW1lbnRzIGFyZSBy
ZXR1cm5lZCBleHBlY3RlZCA1IGJ1dCBnb3QgNAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVu
dC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0
aW9ucy50ZW50YXRpdmUuaHRtbAppbmRleCA0YTk3NjhhOGI2MTBlNTMyN2NjMzQ5N2ExZWM2ZjMw
MTY0MjQ2OGE3Li40NDE2NzM1ZjUwYmIyM2ExZDFiY2NjZjBhZDIxOWJiMmMyMWJjNGJkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLmh0bWwKQEAgLTE4MCw2ICsx
ODAsMjkgQEAgdGVzdCh0ID0+IHsKICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb25zWzFdLCBhbmlt
TGVmdCwgJ0ZyZWUgYW5pbWF0aW9ucyBjb21lIGxhc3QnKTsKIH0sICdPcmRlciBvZiBDU1MgQW5p
bWF0aW9ucyAtIG1hcmt1cC1ib3VuZCB2cyBmcmVlIGFuaW1hdGlvbnMnKTsKIAordGVzdCh0ID0+
IHsKKyAgLy8gQWRkIGFuIGFuaW1hdGlvbiBmaXJzdAorICBjb25zdCBkaXYgPSBhZGREaXYodCwg
eyBzdHlsZTogJ2FuaW1hdGlvbjogYW5pbUxlZnQgMTAwcycgfSk7CisgIGNvbnN0IGFuaW1MZWZ0
ID0gZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpWzBdOworICAvLyBEaXNhc3NvY2lhdGUgYW5pbUxl
ZnQgZnJvbSBtYXJrdXAgYW5kIHJlc3RhcnQKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICcnOwor
ICBhbmltTGVmdC5wbGF5KCk7CisKKyAgZGl2LnN0eWxlLnRvcCA9ICcwcHgnOworICBkaXYuc3R5
bGUudHJhbnNpdGlvbiA9ICdhbGwgMTAwcyc7CisgIGZsdXNoQ29tcHV0ZWRTdHlsZShkaXYpOwor
ICAvLyAqVGhlbiogYWRkIGEgdHJhbnNpdGlvbgorICBkaXYuc3R5bGUudG9wID0gJzEwMHB4JzsK
KyAgZmx1c2hDb21wdXRlZFN0eWxlKGRpdik7CisKKyAgLy8gQWx0aG91Z2ggdGhlIHRyYW5zaXRp
b24gd2FzIGFkZGVkIGxhdGVyLCBpdCBzaG91bGQgY29tZSBmaXJzdCBpbiB0aGUgbGlzdAorICBj
b25zdCBhbmltYXRpb25zID0gZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpOworICBhc3NlcnRfZXF1
YWxzKGFuaW1hdGlvbnMubGVuZ3RoLCAyLAorICAgICAgICAgICAgICAgICdCb3RoIENTUyBhbmlt
YXRpb25zIGFuZCB0cmFuc2l0aW9ucyBhcmUgcmV0dXJuZWQnKTsKKyAgYXNzZXJ0X2NsYXNzX3N0
cmluZyhhbmltYXRpb25zWzBdLCAnQ1NTVHJhbnNpdGlvbicsICdUcmFuc2l0aW9uIGNvbWVzIGZp
cnN0Jyk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uc1sxXSwgYW5pbUxlZnQsICdGcmVlIGFu
aW1hdGlvbnMgY29tZSBsYXN0Jyk7Cit9LCAnT3JkZXIgb2YgQ1NTIEFuaW1hdGlvbnMgLSBmcmVl
IGFuaW1hdGlvbiB2cyBDU1MgVHJhbnNpdGlvbnMnKTsKKwogdGVzdCh0ID0+IHsKICAgY29uc3Qg
ZGl2ID0gYWRkRGl2KHQsIHsgc3R5bGU6ICdhbmltYXRpb246IGFuaW1MZWZ0IDEwMHMsIGFuaW1U
b3AgMTAwcycgfSk7CiAgIGNvbnN0IGFuaW1MZWZ0ID0gZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygp
WzBdOwpAQCAtMjYyLDgzICsyODUsODggQEAgdGVzdCh0ID0+IHsKICAgICAgICAgICAgICAgICAn
cmV0dXJuZWQnKTsKIH0sICdDU1MgQW5pbWF0aW9ucyBjYW5jZWxlZCBhbmQgcmVzdGFydGVkIHZp
YSB0aGUgQVBJIGFyZSByZXR1cm5lZCcpOwogCi10ZXN0KHQgPT4gewotICAvLyBDcmVhdGUgdHdv
IGRpdnMgd2l0aCB0aGUgZm9sbG93aW5nIGFycmFuZ2VtZW50OgotICAvLwotICAvLyAgICAgICBw
YXJlbnQKLSAgLy8gICAgKDo6bWFya2VyLCkKLSAgLy8gICAgIDo6YmVmb3JlLAotICAvLyAgICAg
OjphZnRlcgotICAvLyAgICAgICAgfAotICAvLyAgICAgICBjaGlsZAotCi0gIGFkZFN0eWxlKHQs
IHsKLSAgICAnI3BhcmVudDo6YWZ0ZXInOiAiY29udGVudDogJyc7IGFuaW1hdGlvbjogYW5pbUxl
ZnQgMTAwczsiLAotICAgICcjcGFyZW50OjpiZWZvcmUnOiAiY29udGVudDogJyc7IGFuaW1hdGlv
bjogYW5pbVJpZ2h0IDEwMHM7IiwKLSAgfSk7CitmdW5jdGlvbiBwc2V1ZG9UZXN0KGRlc2NyaXB0
aW9uLCB0ZXN0TWFya2VyUHNldWRvcykgeworICB0ZXN0KHQgPT4geworICAgIC8vIENyZWF0ZSB0
d28gZGl2cyB3aXRoIHRoZSBmb2xsb3dpbmcgYXJyYW5nZW1lbnQ6CisgICAgLy8KKyAgICAvLyAg
ICAgICBwYXJlbnQKKyAgICAvLyAgICAoOjptYXJrZXIsKSAgLy8gT3B0aW9uYWxseQorICAgIC8v
ICAgICA6OmJlZm9yZSwKKyAgICAvLyAgICAgOjphZnRlcgorICAgIC8vICAgICAgICB8CisgICAg
Ly8gICAgICAgY2hpbGQKIAotICBjb25zdCBzdXBwb3J0c01hcmtlclBzZXVkb3MgPSBDU1Muc3Vw
cG9ydHMoJ3NlbGVjdG9yKDo6bWFya2VyKScpOwotICBpZiAoc3VwcG9ydHNNYXJrZXJQc2V1ZG9z
KSB7CiAgICAgYWRkU3R5bGUodCwgewotICAgICAgJyNwYXJlbnQnOiAnZGlzcGxheTogbGlzdC1p
dGVtOycsCi0gICAgICAnI3BhcmVudDo6bWFya2VyJzogImNvbnRlbnQ6ICcnOyBhbmltYXRpb246
IGFuaW1MZWZ0IDEwMHM7IiwKKyAgICAgICcjcGFyZW50OjphZnRlcic6ICJjb250ZW50OiAnJzsg
YW5pbWF0aW9uOiBhbmltTGVmdCAxMDBzOyIsCisgICAgICAnI3BhcmVudDo6YmVmb3JlJzogImNv
bnRlbnQ6ICcnOyBhbmltYXRpb246IGFuaW1SaWdodCAxMDBzOyIsCiAgICAgfSk7Ci0gIH0KLQot
ICBjb25zdCBwYXJlbnQgPSBhZGREaXYodCwgeyBpZDogJ3BhcmVudCcgfSk7Ci0gIGNvbnN0IGNo
aWxkID0gYWRkRGl2KHQpOwotICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOwotICBmb3IgKGNv
bnN0IGRpdiBvZiBbcGFyZW50LCBjaGlsZF0pIHsKLSAgICBkaXYuc2V0QXR0cmlidXRlKCdzdHls
ZScsICdhbmltYXRpb246IGFuaW1Cb3R0b20gMTAwcycpOwotICB9Ci0KLSAgY29uc3QgZXhwZWN0
ZWRBbmltYXRpb25zID0gWwotICAgIFtwYXJlbnQsIHVuZGVmaW5lZF0sCi0gICAgW3BhcmVudCwg
Jzo6bWFya2VyJ10sCi0gICAgW3BhcmVudCwgJzo6YmVmb3JlJ10sCi0gICAgW3BhcmVudCwgJzo6
YWZ0ZXInXSwKLSAgICBbY2hpbGQsIHVuZGVmaW5lZF0sCi0gIF07Ci0gIGlmICghc3VwcG9ydHNN
YXJrZXJQc2V1ZG9zKSB7Ci0gICAgZXhwZWN0ZWRBbmltYXRpb25zLnNwbGljZSgxLCAxKTsKLSAg
fQogCi0gIGNvbnN0IGFuaW1hdGlvbnMgPSBkb2N1bWVudC5nZXRBbmltYXRpb25zKCk7Ci0gIGFz
c2VydF9lcXVhbHMoCi0gICAgYW5pbWF0aW9ucy5sZW5ndGgsCi0gICAgZXhwZWN0ZWRBbmltYXRp
b25zLmxlbmd0aCwKLSAgICAnQ1NTIGFuaW1hdGlvbnMgb24gYm90aCBwc2V1ZG8tZWxlbWVudHMg
YW5kIGVsZW1lbnRzIGFyZSByZXR1cm5lZCcKLSAgKTsKLQotICBmb3IgKGNvbnN0IFtpbmRleCwg
ZXhwZWN0ZWRdIG9mIGV4cGVjdGVkQW5pbWF0aW9ucy5lbnRyaWVzKCkpIHsKLSAgICBjb25zdCBb
ZWxlbWVudCwgcHNldWRvXSA9IGV4cGVjdGVkOwotICAgIGNvbnN0IGFjdHVhbCA9IGFuaW1hdGlv
bnNbaW5kZXhdOwotCi0gICAgaWYgKHBzZXVkbykgewotICAgICAgYXNzZXJ0X2VxdWFscygKLSAg
ICAgICAgYWN0dWFsLmVmZmVjdC50YXJnZXQsCi0gICAgICAgIGVsZW1lbnQsCi0gICAgICAgIGBB
bmltYXRpb24gIyR7aW5kZXggKyAxfSBoYXMgZXhwZWN0ZWQgdGFyZ2V0YAotICAgICAgKTsKLSAg
ICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIGFjdHVhbC5lZmZlY3QucHNldWRvRWxlbWVudCwK
LSAgICAgICAgcHNldWRvLAotICAgICAgICBgQW5pbWF0aW9uICMke2luZGV4ICsgMX0gaGFzIGV4
cGVjdGVkIHBzZXVkbyB0eXBlYAotICAgICAgKTsKLSAgICB9IGVsc2UgewotICAgICAgYXNzZXJ0
X2VxdWFscygKLSAgICAgICAgYWN0dWFsLmVmZmVjdC50YXJnZXQsCi0gICAgICAgIGVsZW1lbnQs
Ci0gICAgICAgIGBBbmltYXRpb24gIyR7aW5kZXggKyAxfSBoYXMgZXhwZWN0ZWQgdGFyZ2V0YAot
ICAgICAgKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIGFjdHVhbC5lZmZlY3QucHNl
dWRvRWxlbWVudCwKLSAgICAgICAgbnVsbCwKLSAgICAgICAgYEFuaW1hdGlvbiAjJHtpbmRleCAr
IDF9IGhhcyBudWxsIHBzZXVkbyB0eXBlYAotICAgICAgKTsKKyAgICBpZiAodGVzdE1hcmtlclBz
ZXVkb3MpIHsKKyAgICAgIGFkZFN0eWxlKHQsIHsKKyAgICAgICAgJyNwYXJlbnQnOiAnZGlzcGxh
eTogbGlzdC1pdGVtOycsCisgICAgICAgICcjcGFyZW50OjptYXJrZXInOiAiY29udGVudDogJyc7
IGFuaW1hdGlvbjogYW5pbUxlZnQgMTAwczsiLAorICAgICAgfSk7CiAgICAgfQotICB9Ci19LCAn
Q1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBj
b3JyZWN0IG9yZGVyICcKLSAgICsgJ2FmdGVyIHNvcnRpbmcnKTsKKworICAgIGNvbnN0IHBhcmVu
dCA9IGFkZERpdih0LCB7IGlkOiAncGFyZW50JyB9KTsKKyAgICBjb25zdCBjaGlsZCA9IGFkZERp
dih0KTsKKyAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOworICAgIGZvciAoY29uc3QgZGl2
IG9mIFtwYXJlbnQsIGNoaWxkXSkgeworICAgICAgZGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAn
YW5pbWF0aW9uOiBhbmltQm90dG9tIDEwMHMnKTsKKyAgICB9CisKKyAgICBjb25zdCBleHBlY3Rl
ZEFuaW1hdGlvbnMgPSBbCisgICAgICBbcGFyZW50LCB1bmRlZmluZWRdLAorICAgICAgW3BhcmVu
dCwgJzo6bWFya2VyJ10sCisgICAgICBbcGFyZW50LCAnOjpiZWZvcmUnXSwKKyAgICAgIFtwYXJl
bnQsICc6OmFmdGVyJ10sCisgICAgICBbY2hpbGQsIHVuZGVmaW5lZF0sCisgICAgXTsKKyAgICBp
ZiAoIXRlc3RNYXJrZXJQc2V1ZG9zKSB7CisgICAgICBleHBlY3RlZEFuaW1hdGlvbnMuc3BsaWNl
KDEsIDEpOworICAgIH0KKworICAgIGNvbnN0IGFuaW1hdGlvbnMgPSBkb2N1bWVudC5nZXRBbmlt
YXRpb25zKCk7CisgICAgYXNzZXJ0X2VxdWFscygKKyAgICAgIGFuaW1hdGlvbnMubGVuZ3RoLAor
ICAgICAgZXhwZWN0ZWRBbmltYXRpb25zLmxlbmd0aCwKKyAgICAgICdDU1MgYW5pbWF0aW9ucyBv
biBib3RoIHBzZXVkby1lbGVtZW50cyBhbmQgZWxlbWVudHMgYXJlIHJldHVybmVkJworICAgICk7
CisKKyAgICBmb3IgKGNvbnN0IFtpbmRleCwgZXhwZWN0ZWRdIG9mIGV4cGVjdGVkQW5pbWF0aW9u
cy5lbnRyaWVzKCkpIHsKKyAgICAgIGNvbnN0IFtlbGVtZW50LCBwc2V1ZG9dID0gZXhwZWN0ZWQ7
CisgICAgICBjb25zdCBhY3R1YWwgPSBhbmltYXRpb25zW2luZGV4XTsKKworICAgICAgaWYgKHBz
ZXVkbykgeworICAgICAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgICAgIGFjdHVhbC5lZmZlY3Qu
dGFyZ2V0LAorICAgICAgICAgIGVsZW1lbnQsCisgICAgICAgICAgYEFuaW1hdGlvbiAjJHtpbmRl
eCArIDF9IGhhcyBleHBlY3RlZCB0YXJnZXRgCisgICAgICAgICk7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoCisgICAgICAgICAgYWN0dWFsLmVmZmVjdC5wc2V1ZG9FbGVtZW50LAorICAgICAgICAg
IHBzZXVkbywKKyAgICAgICAgICBgQW5pbWF0aW9uICMke2luZGV4ICsgMX0gaGFzIGV4cGVjdGVk
IHBzZXVkbyB0eXBlYAorICAgICAgICApOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscygKKyAgICAgICAgICBhY3R1YWwuZWZmZWN0LnRhcmdldCwKKyAgICAgICAgICBlbGVt
ZW50LAorICAgICAgICAgIGBBbmltYXRpb24gIyR7aW5kZXggKyAxfSBoYXMgZXhwZWN0ZWQgdGFy
Z2V0YAorICAgICAgICApOworICAgICAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgICAgIGFjdHVh
bC5lZmZlY3QucHNldWRvRWxlbWVudCwKKyAgICAgICAgICBudWxsLAorICAgICAgICAgIGBBbmlt
YXRpb24gIyR7aW5kZXggKyAxfSBoYXMgbnVsbCBwc2V1ZG8gdHlwZWAKKyAgICAgICAgKTsKKyAg
ICAgIH0KKyAgICB9CisgIH0sIGRlc2NyaXB0aW9uKTsKK30KKworcHNldWRvVGVzdCgnQ1NTIEFu
aW1hdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0
ICcKKyAgICAgKyAnb3JkZXIgYWZ0ZXIgc29ydGluZycsIGZhbHNlKTsKK3BzZXVkb1Rlc3QoJ0NT
UyBBbmltYXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29y
cmVjdCAnCisgICAgICsgJ29yZGVyIGFmdGVyIHNvcnRpbmcgKDo6bWFya2VyKScsIHRydWUpOwog
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0LWdldEtleWZyYW1l
cy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJh
bWVzLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggOTY2M2FjM2M5MmE3NGE1YTI2ZjZlYmZi
ZGVkMmUxYzhhNTRiZjZhNi4uODNlNzgxNmEzZTg1NTYxMzMwYjg4MjQ2N2FhYTcxODgyNjA1MmI2
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTUsMjIgKzUsMjMgQEAgUEFTUyBLZXlmcmFtZUVmZmVj
dC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGZyYW1lcyB3aXRoIGV4cGVjdGVkIGVhc2luZyB2YWx1
ZXMsIHcKIFBBU1MgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBmcmFtZXMg
d2l0aCBleHBlY3RlZCBlYXNpbmcgdmFsdWVzLCB3aGVuIHRoZSBlYXNpbmcgaXMgc3BlY2lmaWVk
IG9uIGVhY2gga2V5ZnJhbWUgCiBQQVNTIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJl
dHVybnMgZnJhbWVzIHdpdGggZXhwZWN0ZWQgZWFzaW5nIHZhbHVlcywgd2hlbiB0aGUgZWFzaW5n
IGlzIHNwZWNpZmllZCBvbiBzb21lIGtleWZyYW1lcyAKIFBBU1MgS2V5ZnJhbWVFZmZlY3QuZ2V0
S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGEgc2ltcGxlIGFuaW1hdGlv
biB0aGF0IHNwZWNpZmllcyBhIHNpbmdsZSBzaG9ydGhhbmQgcHJvcGVydHkgCi1GQUlMIEtleWZy
YW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBh
bmltYXRpb24gd2l0aCBhIDAlIGtleWZyYW1lIGFuZCBubyAxMDAlIGtleWZyYW1lIGFzc2VydF9l
cXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMSBleHBlY3RlZCAiY29sb3Is
Y29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiIGJ1dCBnb3QgImNvbXBvc2l0
ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IgotRkFJTCBLZXlmcmFtZUVmZmVjdC5nZXRL
ZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4gYW5pbWF0aW9uIHdpdGgg
YSAxMDAlIGtleWZyYW1lIGFuZCBubyAwJSBrZXlmcmFtZSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0
aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbG9yLGNvbXBvc2l0ZSxjb21w
dXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IiBidXQgZ290ICJjb21wb3NpdGUsY29tcHV0ZWRPZmZz
ZXQsZWFzaW5nLG9mZnNldCIKLUZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0
dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuIGFuaW1hdGlvbiB3aXRoIG5vIDAlIG9yIDEwMCUg
a2V5ZnJhbWUgYnV0IHdpdGggYSA1MCUga2V5ZnJhbWUgYXNzZXJ0X2VxdWFsczogcHJvcGVydGll
cyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJjb2xvcixjb21wb3NpdGUsY29tcHV0
ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIgYnV0IGdvdCAiY29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0
LGVhc2luZyxvZmZzZXQiCi1GQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVy
bnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBhIHBhcnRpYWxseSBjb21w
bGV0ZSAxMDAlIGtleWZyYW1lIChiZWNhdXNlIHRoZSAhaW1wb3J0YW50IHJ1bGUgaXMgaWdub3Jl
ZCkgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMxIGV4cGVj
dGVkICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJnaW5U
b3Asb2Zmc2V0IiBidXQgZ290ICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdp
bkJvdHRvbSxvZmZzZXQiCitGQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVy
bnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBhIDAlIGtleWZyYW1lIGFu
ZCBubyAxMDAlIGtleWZyYW1lIGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnRpZXMgb24gS2V5
ZnJhbWUgIzEgc2hvdWxkIG1hdGNoIGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CitG
QUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVz
IGZvciBhbiBhbmltYXRpb24gd2l0aCBhIDEwMCUga2V5ZnJhbWUgYW5kIG5vIDAlIGtleWZyYW1l
IGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnRpZXMgb24gS2V5ZnJhbWUgIzAgc2hvdWxkIG1h
dGNoIGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CitGQUlMIEtleWZyYW1lRWZmZWN0
LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24g
d2l0aCBubyAwJSBvciAxMDAlIGtleWZyYW1lIGJ1dCB3aXRoIGEgNTAlIGtleWZyYW1lIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IHByb3BlcnRpZXMgb24gS2V5ZnJhbWUgIzAgc2hvdWxkIG1hdGNoIGxl
bmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CitGQUlMIEtleWZyYW1lRWZmZWN0LmdldEtl
eWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBh
IHBhcnRpYWxseSBjb21wbGV0ZSAxMDAlIGtleWZyYW1lIChiZWNhdXNlIHRoZSAhaW1wb3J0YW50
IHJ1bGUgaXMgaWdub3JlZCkgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydGllcyBvbiBLZXlm
cmFtZSAjMSBzaG91bGQgbWF0Y2ggbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDYgZ290IDUKIFBB
U1MgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMg
Zm9yIGFuIGFuaW1hdGlvbiB3aXRoIGRpZmZlcmVudCBwcm9wZXJ0aWVzIG9uIGRpZmZlcmVudCBr
ZXlmcmFtZXMsIGFsbCB3aXRoIHRoZSBzYW1lIGVhc2luZyBmdW5jdGlvbiAKIFBBU1MgS2V5ZnJh
bWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuIGFu
aW1hdGlvbiB3aXRoIGRpZmZlcmVudCBwcm9wZXJ0aWVzIG9uIGRpZmZlcmVudCBrZXlmcmFtZXMs
IHdpdGggYSBkaWZmZXJlbnQgZWFzaW5nIGZ1bmN0aW9uIG9uIGVhY2ggCiBQQVNTIEtleWZyYW1l
RWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmlt
YXRpb24gd2l0aCBtdWx0aXBsZSBrZXlmcmFtZXMgZm9yIHRoZSBzYW1lIHRpbWUsIGFuZCBhbGwg
d2l0aCB0aGUgc2FtZSBlYXNpbmcgZnVuY3Rpb24gCi1GQUlMIEtleWZyYW1lRWZmZWN0LmdldEtl
eWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBt
dWx0aXBsZSBrZXlmcmFtZXMgZm9yIHRoZSBzYW1lIHRpbWUgYW5kIHdpdGggZGlmZmVyZW50IGVh
c2luZyBmdW5jdGlvbnMgYXNzZXJ0X2VxdWFsczogbnVtYmVyIG9mIGZyYW1lcyBleHBlY3RlZCAz
IGJ1dCBnb3QgMgorRkFJTCBLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4
cGVjdGVkIGZyYW1lcyBmb3IgYW4gYW5pbWF0aW9uIHdpdGggbXVsdGlwbGUga2V5ZnJhbWVzIGZv
ciB0aGUgc2FtZSB0aW1lIGFuZCB3aXRoIGRpZmZlcmVudCBlYXNpbmcgZnVuY3Rpb25zIGFzc2Vy
dF9lcXVhbHM6IE51bWJlciBvZiBrZXlmcmFtZXMgc2hvdWxkIG1hdGNoIGV4cGVjdGVkIDMgYnV0
IGdvdCAyCiBQQVNTIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0
ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBtdWx0aXBsZSBrZXlmcmFtZXMgZm9yIHRo
ZSBzYW1lIHRpbWUgYW5kIHdpdGggZGlmZmVyZW50IGJ1dCBlcXVpdmFsZW50IGVhc2luZyBmdW5j
dGlvbnMgCiBQQVNTIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0
ZWQgZnJhbWVzIGZvciBvdmVybGFwcGluZyBrZXlmcmFtZXMgCi1GQUlMIEtleWZyYW1lRWZmZWN0
LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25zIHdp
dGggZmlsdGVyIHByb3BlcnRpZXMgYW5kIG1pc3Npbmcga2V5ZnJhbWVzIGFzc2VydF9lcXVhbHM6
IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcG9zaXRlLGNv
bXB1dGVkT2Zmc2V0LGVhc2luZyxmaWx0ZXIsb2Zmc2V0IiBidXQgZ290ICJjb21wb3NpdGUsY29t
cHV0ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJh
bWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCBmaWx0ZXIg
cHJvcGVydGllcyBhbmQgbWlzc2luZyBrZXlmcmFtZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJv
cGVydGllcyBvbiBLZXlmcmFtZSAjMCBzaG91bGQgbWF0Y2ggbGVuZ3RocyBkaWZmZXIsIGV4cGVj
dGVkIDUgZ290IDQKIFBBU1MgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBl
eHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbiB3aXRoIGRyb3Atc2hhZG93IG9mIGZpbHRlciBw
cm9wZXJ0eSAKLUZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBl
Y3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCB0ZXh0LXNoYWRvdyBwcm9wZXJ0aWVzIGFu
ZCBtaXNzaW5nIGtleWZyYW1lcyBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVk
S2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zm
c2V0LHRleHRTaGFkb3ciIGJ1dCBnb3QgImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcs
b2Zmc2V0IgotRkFJTCBLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVj
dGVkIHZhbHVlcyBmb3IgYW5pbWF0aW9ucyB3aXRoIGJhY2tncm91bmQtc2l6ZSBwcm9wZXJ0aWVz
IGFuZCBtaXNzaW5nIGtleWZyYW1lcyBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1
dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImJhY2tncm91bmRTaXplLGNvbXBvc2l0ZSxjb21wdXRl
ZE9mZnNldCxlYXNpbmcsb2Zmc2V0IiBidXQgZ290ICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQs
ZWFzaW5nLG9mZnNldCIKLUZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJu
cyBleHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCBDU1MgdmFyaWFibGVzIGFzIGtl
eWZyYW1lIHZhbHVlcyBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJh
bWUgIzAgZXhwZWN0ZWQgImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0LHRy
YW5zZm9ybSIgYnV0IGdvdCAiY29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQi
Ci1GQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFs
dWVzIGZvciBhbmltYXRpb25zIHdpdGggQ1NTIHZhcmlhYmxlcyBhcyBrZXlmcmFtZSB2YWx1ZXMg
aW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21w
dXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5n
LG1hcmdpbkJvdHRvbSxtYXJnaW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiIGJ1
dCBnb3QgImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IgotRkFJTCBLZXlm
cmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgYW5p
bWF0aW9ucyB3aXRoIGEgQ1NTIHZhcmlhYmxlIHdoaWNoIGlzIG92ZXJyaWRlbiBieSB0aGUgdmFs
dWUgaW4ga2V5ZnJhbWUgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZy
YW1lICMwIGV4cGVjdGVkICJjb2xvcixjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9m
ZnNldCIgYnV0IGdvdCAiY29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiCi1G
QUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVz
IGZvciBhbmltYXRpb25zIHdpdGggb25seSBjdXN0b20gcHJvcGVydHkgaW4gYSBrZXlmcmFtZSBh
c3NlcnRfZXF1YWxzOiB2YWx1ZSBmb3IgJ3RyYW5zZm9ybScgb24gQ29tcHV0ZWRLZXlmcmFtZSAj
MCBleHBlY3RlZCAidHJhbnNsYXRlKDEwMHB4KSIgYnV0IGdvdCAibWF0cml4KDEsIDAsIDAsIDEs
IDEwMCwgMCkiCitGQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhw
ZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25zIHdpdGggdGV4dC1zaGFkb3cgcHJvcGVydGllcyBh
bmQgbWlzc2luZyBrZXlmcmFtZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydGllcyBvbiBL
ZXlmcmFtZSAjMCBzaG91bGQgbWF0Y2ggbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDUgZ290IDQK
K0ZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1
ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCBiYWNrZ3JvdW5kLXNpemUgcHJvcGVydGllcyBhbmQgbWlz
c2luZyBrZXlmcmFtZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRl
ZEtleWZyYW1lICMwIHNob3VsZCBtYXRjaCBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNSBnb3Qg
NAorRkFJTCBLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZh
bHVlcyBmb3IgYW5pbWF0aW9ucyB3aXRoIENTUyB2YXJpYWJsZXMgYXMga2V5ZnJhbWUgdmFsdWVz
IGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnRpZXMgb24gS2V5ZnJhbWUgIzAgc2hvdWxkIG1h
dGNoIGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CitGQUlMIEtleWZyYW1lRWZmZWN0
LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25zIHdp
dGggQ1NTIHZhcmlhYmxlcyBhcyBrZXlmcmFtZSB2YWx1ZXMgaW4gYSBzaG9ydGhhbmQgcHJvcGVy
dHkgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydGllcyBvbiBLZXlmcmFtZSAjMCBzaG91bGQg
bWF0Y2ggbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDggZ290IDQKK0ZBSUwgS2V5ZnJhbWVFZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMg
d2l0aCBhIENTUyB2YXJpYWJsZSB3aGljaCBpcyBvdmVycmlkZW4gYnkgdGhlIHZhbHVlIGluIGtl
eWZyYW1lIGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnRpZXMgb24gS2V5ZnJhbWUgIzAgc2hv
dWxkIG1hdGNoIGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CitGQUlMIEtleWZyYW1l
RWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRp
b25zIHdpdGggb25seSBjdXN0b20gcHJvcGVydHkgaW4gYSBrZXlmcmFtZSBhc3NlcnRfZXF1YWxz
OiB2YWx1ZSBmb3IgJ3RyYW5zZm9ybScgb24gS2V5ZnJhbWUgIzAgc2hvdWxkIG1hdGNoIGV4cGVj
dGVkICJ0cmFuc2xhdGUoMTAwcHgpIiBidXQgZ290ICJtYXRyaXgoMSwgMCwgMCwgMSwgMTAwLCAw
KSIKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmVmbGVjdHMgY2hhbmdlcyB0
byBAa2V5ZnJhbWVzIHJ1bGVzIGFzc2VydF9lcXVhbHM6IHZhbHVlIGZvciAnbGVmdCcgb24gS2V5
ZnJhbWVzIHJlZmxlY3RzIHRoZSB1cGRhdGVkIEBrZXlmcmFtZXMgcnVsZSBzaG91bGQgbWF0Y2gg
ZXhwZWN0ZWQgIjIwMHB4IiBidXQgZ290ICIxMDBweCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5
ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVF
ZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS5odG1sCmluZGV4IDU5MWNjMTVhN2VkYTgyNzll
YzVlOWFmNTI5ZjhlNmEwNmI3Y2FhNmMuLmY3ZDc2N2RlYThjYTE1NTg5YTUzZmFlNzk1MmJiMTVl
MzgzY2NkMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0LWdldEtleWZyYW1lcy50
ZW50YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1nZXRLZXlmcmFtZXMudGVu
dGF0aXZlLmh0bWwKQEAgLTE2NCwyMCArMTY0LDYgQEAKIAogY29uc3QgZ2V0S2V5ZnJhbWVzID0g
ZWxlbSA9PiBlbGVtLmdldEFuaW1hdGlvbnMoKVswXS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCk7CiAK
LWNvbnN0IGFzc2VydF9mcmFtZXNfZXF1YWwgPSAoYSwgYiwgbmFtZSkgPT4gewotICBhc3NlcnRf
ZXF1YWxzKE9iamVjdC5rZXlzKGEpLnNvcnQoKS50b1N0cmluZygpLAotICAgICAgICAgICAgICAg
IE9iamVjdC5rZXlzKGIpLnNvcnQoKS50b1N0cmluZygpLAotICAgICAgICAgICAgICAgICJwcm9w
ZXJ0aWVzIG9uICIgKyBuYW1lKTsKLSAgZm9yIChjb25zdCBwIGluIGEpIHsKLSAgICBpZiAocCA9
PT0gJ29mZnNldCcgfHwgcCA9PT0gJ2NvbXB1dGVkT2Zmc2V0JykgewotICAgICAgYXNzZXJ0X2Fw
cHJveF9lcXVhbHMoYVtwXSwgYltwXSwgMC4wMDAwMSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ2YWx1ZSBmb3IgJyIgKyBwICsgIicgb24gIiArIG5hbWUpOwotICAgIH0gZWxzZSB7Ci0g
ICAgICBhc3NlcnRfZXF1YWxzKGFbcF0sIGJbcF0sICJ2YWx1ZSBmb3IgJyIgKyBwICsgIicgb24g
IiArIG5hbWUpOwotICAgIH0KLSAgfQotfTsKLQogLy8gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlv
biB2YWx1ZXMgdG8gdGVzdCB3aXRoLCB3aGVyZSB0aGUgdmFsdWUKIC8vIGlzIGV4YWN0bHkgdGhl
IHNhbWUgYXMgaXRzIHNlcmlhbGl6YXRpb24sIHNvcnRlZCBieSB0aGUgb3JkZXIKIC8vIGdldEtl
eWZyYW1lcygpIHdpbGwgZ3JvdXAgZnJhbWVzIHdpdGggdGhlIHNhbWUgZWFzaW5nIGZ1bmN0aW9u
CkBAIC0yMjEsMTEgKzIwNyw5IEBAIHRlc3QodCA9PiB7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0
IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tc2ltcGxl
IDEwMHMnOwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRf
ZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZy
YW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsg
b2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsCkBAIC0yMzMsMTAg
KzIxNyw3IEBAIHRlc3QodCA9PiB7CiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAx
LCBlYXNpbmc6ICJlYXNlIiwKICAgICAgIGNvbG9yOiAicmdiKDI1NSwgMjU1LCAyNTUpIiwgY29t
cG9zaXRlOiAiYXV0byIgfSwKICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5s
ZW5ndGg7IGkrKykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3Rl
ZFtpXSwgIkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlz
dHNfZXF1YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJh
bWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGEgc2ltcGxlJwogICAgKyAnIGFuaW1h
dGlvbicpOwogCkBAIC0yOTIsMTEgKzI3Myw5IEBAIHRlc3QodCA9PiB7CiAKIHRlc3QodCA9PiB7
CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2Fu
aW0tc2ltcGxlLXNob3J0aGFuZCAxMDBzJzsKLSAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVz
KGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVyIG9mIGZy
YW1lcyIpOworICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAogICBjb25zdCBl
eHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzog
ImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTMwNiwyMSArMjg1LDE2IEBAIHRlc3QodCA9
PiB7CiAgICAgICBtYXJnaW5Cb3R0b206ICIxNnB4IiwgbWFyZ2luTGVmdDogIjE2cHgiLAogICAg
ICAgbWFyZ2luUmlnaHQ6ICIxNnB4IiwgbWFyZ2luVG9wOiAiMTZweCIgfSwKICAgXTsKLQotICBm
b3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7IGkrKykgewotICAgIGFzc2VydF9mcmFt
ZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwgIkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBp
KTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9
LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMg
Zm9yIGEgc2ltcGxlJwogICAgKyAnIGFuaW1hdGlvbiB0aGF0IHNwZWNpZmllcyBhIHNpbmdsZSBz
aG9ydGhhbmQgcHJvcGVydHknKTsKIAogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2
KHQpOwotCiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1vbWl0LXRvIDEwMHMnOwogICBk
aXYuc3R5bGUuY29sb3IgPSAncmdiKDI1NSwgMjU1LCAyNTUpJzsKLSAgY29uc3QgZnJhbWVzID0g
Z2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAi
bnVtYmVyIG9mIGZyYW1lcyIpOworICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsK
IAogICBjb25zdCBleHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6
IDAsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTMyOCwyMSArMzAyLDE2
IEBAIHRlc3QodCA9PiB7CiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNp
bmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAgICBjb2xvcjogInJnYigyNTUsIDI1
NSwgMjU1KSIgfSwKICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7
IGkrKykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwg
IkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1
YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkg
cmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuICcgKwogICAgJ2FuaW1hdGlvbiB3aXRoIGEg
MCUga2V5ZnJhbWUgYW5kIG5vIDEwMCUga2V5ZnJhbWUnKTsKIAogdGVzdCh0ID0+IHsKICAgY29u
c3QgZGl2ID0gYWRkRGl2KHQpOwotCiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1vbWl0
LWZyb20gMTAwcyc7CiAgIGRpdi5zdHlsZS5jb2xvciA9ICdyZ2IoMjU1LCAyNTUsIDI1NSknOwot
ICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZy
YW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdl
dEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAw
LCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLApA
QCAtMzUwLDIxICszMTksMTYgQEAgdGVzdCh0ID0+IHsKICAgICB7IG9mZnNldDogMSwgY29tcHV0
ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKICAgICAgIGNv
bG9yOiAicmdiKDAsIDAsIDI1NSkiIH0sCiAgIF07Ci0KLSAgZm9yIChsZXQgaSA9IDA7IGkgPCBm
cmFtZXMubGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1lc1tpXSwg
ZXhwZWN0ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNzZXJ0X2Zy
YW1lX2xpc3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZmZWN0Lmdl
dEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiAnICsKICAgICdhbmlt
YXRpb24gd2l0aCBhIDEwMCUga2V5ZnJhbWUgYW5kIG5vIDAlIGtleWZyYW1lJyk7CiAKIHRlc3Qo
dCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9u
ID0gJ2FuaW0tb21pdC1mcm9tLXRvIDEwMHMnOwogICBkaXYuc3R5bGUuY29sb3IgPSAncmdiKDI1
NSwgMjU1LCAyNTUpJzsKLSAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAg
YXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAzLCAibnVtYmVyIG9mIGZyYW1lcyIpOworICBj
b25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAogICBjb25zdCBleHBlY3RlZCA9IFsK
ICAgICB7IG9mZnNldDogMCwgICBjb21wdXRlZE9mZnNldDogMCwgICBlYXNpbmc6ICJlYXNlIiwg
Y29tcG9zaXRlOiAiYXV0byIsCkBAIC0zNzQsMjEgKzMzOCwxNiBAQCB0ZXN0KHQgPT4gewogICAg
IHsgb2Zmc2V0OiAxLCAgIGNvbXB1dGVkT2Zmc2V0OiAxLCAgIGVhc2luZzogImVhc2UiLCBjb21w
b3NpdGU6ICJhdXRvIiwKICAgICAgIGNvbG9yOiAicmdiKDI1NSwgMjU1LCAyNTUpIiB9LAogICBd
OwotCi0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNz
ZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFt
ZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVj
dGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVk
IGZyYW1lcyBmb3IgYW4gJyArCiAgICAnYW5pbWF0aW9uIHdpdGggbm8gMCUgb3IgMTAwJSBrZXlm
cmFtZSBidXQgd2l0aCBhIDUwJSBrZXlmcmFtZScpOwogCiB0ZXN0KHQgPT4gewogICBjb25zdCBk
aXYgPSBhZGREaXYodCk7Ci0KICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLXBhcnRpYWxs
eS1vbWl0LXRvIDEwMHMnOwogICBkaXYuc3R5bGUubWFyZ2luVG9wID0gJzI1MHB4JzsKLSAgY29u
c3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMu
bGVuZ3RoLCAyLCAibnVtYmVyIG9mIGZyYW1lcyIpOworICBjb25zdCBmcmFtZXMgPSBnZXRLZXlm
cmFtZXMoZGl2KTsKIAogICBjb25zdCBleHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29t
cHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTM5
NiwyMSArMzU1LDE2IEBAIHRlc3QodCA9PiB7CiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zm
c2V0OiAxLCBlYXNpbmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAgICBtYXJnaW5U
b3A6ICcyNTBweCcsIG1hcmdpbkJvdHRvbTogJzIwMHB4JyB9LAogICBdOwotCi0gIGZvciAobGV0
IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVh
bChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9
CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlm
cmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4g
JyArCiAgICAnYW5pbWF0aW9uIHdpdGggYSBwYXJ0aWFsbHkgY29tcGxldGUgMTAwJSBrZXlmcmFt
ZSAoYmVjYXVzZSB0aGUgJyArCiAgICAnIWltcG9ydGFudCBydWxlIGlzIGlnbm9yZWQpJyk7CiAK
IHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5p
bWF0aW9uID0gJ2FuaW0tZGlmZmVyZW50LXByb3BzIDEwMHMnOwotICBjb25zdCBmcmFtZXMgPSBn
ZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDQsICJu
dW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwog
CiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDog
MCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLApAQCAtNDIyLDIxICszNzYsMTYg
QEAgdGVzdCh0ID0+IHsKICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2lu
ZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKICAgICAgIGNvbG9yOiAicmdiKDI1NSwgMjU1
LCAyNTUpIiwgbWFyZ2luVG9wOiAiMTZweCIgfSwKICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsg
aSA8IGZyYW1lcy5sZW5ndGg7IGkrKykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVz
W2ldLCBleHBlY3RlZFtpXSwgIkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3Nl
cnRfZnJhbWVfbGlzdHNfZXF1YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuICcgKwogICAg
J2FuaW1hdGlvbiB3aXRoIGRpZmZlcmVudCBwcm9wZXJ0aWVzIG9uIGRpZmZlcmVudCBrZXlmcmFt
ZXMsIGFsbCAnICsKICAgICd3aXRoIHRoZSBzYW1lIGVhc2luZyBmdW5jdGlvbicpOwogCiB0ZXN0
KHQgPT4gewogICBjb25zdCBkaXYgPSBhZGREaXYodCk7Ci0KICAgZGl2LnN0eWxlLmFuaW1hdGlv
biA9ICdhbmltLWRpZmZlcmVudC1wcm9wcy1hbmQtZWFzaW5nIDEwMHMnOwotICBjb25zdCBmcmFt
ZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgs
IDQsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhk
aXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9m
ZnNldDogMCwgZWFzaW5nOiAibGluZWFyIiwgY29tcG9zaXRlOiAiYXV0byIsCkBAIC00NDgsMjEg
KzM5NywxNiBAQCB0ZXN0KHQgPT4gewogICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDog
MSwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgY29sb3I6ICJyZ2Io
MjU1LCAyNTUsIDI1NSkiLCBtYXJnaW5Ub3A6ICIxNnB4IiB9LAogICBdOwotCi0gIGZvciAobGV0
IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVh
bChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9
CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlm
cmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4g
JyArCiAgICAnYW5pbWF0aW9uIHdpdGggZGlmZmVyZW50IHByb3BlcnRpZXMgb24gZGlmZmVyZW50
IGtleWZyYW1lcywgd2l0aCAnICsKICAgICdhIGRpZmZlcmVudCBlYXNpbmcgZnVuY3Rpb24gb24g
ZWFjaCcpOwogCiB0ZXN0KHQgPT4gewogICBjb25zdCBkaXYgPSBhZGREaXYodCk7Ci0KICAgZGl2
LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLW1lcmdlLW9mZnNldCAxMDBzJzsKLSAgY29uc3QgZnJh
bWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3Ro
LCAyLCAibnVtYmVyIG9mIGZyYW1lcyIpOworICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMo
ZGl2KTsKIAogICBjb25zdCBleHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29tcHV0ZWRP
ZmZzZXQ6IDAsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTQ3MCwyMSAr
NDE0LDE2IEBAIHRlc3QodCA9PiB7CiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAx
LCBlYXNpbmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAgICBjb2xvcjogInJnYigy
NTUsIDI1NSwgMjU1KSIsIG1hcmdpblRvcDogIjE2cHgiIH0sCiAgIF07Ci0KLSAgZm9yIChsZXQg
aSA9IDA7IGkgPCBmcmFtZXMubGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFs
KGZyYW1lc1tpXSwgZXhwZWN0ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0K
KyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZy
YW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiAn
ICsKICAgICdhbmltYXRpb24gd2l0aCBtdWx0aXBsZSBrZXlmcmFtZXMgZm9yIHRoZSBzYW1lIHRp
bWUsIGFuZCBhbGwgd2l0aCAnICsKICAgICd0aGUgc2FtZSBlYXNpbmcgZnVuY3Rpb24nKTsKIAog
dGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwotCiAgIGRpdi5zdHlsZS5hbmlt
YXRpb24gPSAnYW5pbS1tZXJnZS1vZmZzZXQtYW5kLWVhc2luZyAxMDBzJzsKLSAgY29uc3QgZnJh
bWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3Ro
LCAzLCAibnVtYmVyIG9mIGZyYW1lcyIpOworICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMo
ZGl2KTsKIAogICBjb25zdCBleHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29tcHV0ZWRP
ZmZzZXQ6IDAsIGVhc2luZzogInN0ZXBzKDEpIiwgY29tcG9zaXRlOiAiYXV0byIsCkBAIC00OTUs
MjEgKzQzNCwxNiBAQCB0ZXN0KHQgPT4gewogICAgICAgY29sb3I6ICJyZ2IoMjU1LCAyNTUsIDI1
NSkiLCBmb250U2l6ZTogIjMycHgiLCBtYXJnaW5Ub3A6ICIxNnB4IiwKICAgICAgIHBhZGRpbmdM
ZWZ0OiAiNHB4IiB9LAogICBdOwotCi0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0
aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ld
LCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19l
cXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMo
KSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4gJyArCiAgICAnYW5pbWF0aW9uIHdpdGgg
bXVsdGlwbGUga2V5ZnJhbWVzIGZvciB0aGUgc2FtZSB0aW1lIGFuZCB3aXRoICcgKwogICAgJ2Rp
ZmZlcmVudCBlYXNpbmcgZnVuY3Rpb25zJyk7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9
IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tbm8tbWVyZ2UtZXF1
aXYtZWFzaW5nIDEwMHMnOwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAot
ICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDMsICJudW1iZXIgb2YgZnJhbWVzIik7Cisg
IGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0g
WwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAic3RlcHMoMSki
LCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTUxOSwyMSArNDUzLDE2IEBAIHRlc3QodCA9PiB7CiAg
ICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJlYXNlIiwgY29tcG9z
aXRlOiAiYXV0byIsCiAgICAgICBtYXJnaW5Ub3A6ICIyMHB4IiwgbWFyZ2luUmlnaHQ6ICIyMHB4
IiwgbWFyZ2luQm90dG9tOiAiMjBweCIgfSwKICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8
IGZyYW1lcy5sZW5ndGg7IGkrKykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ld
LCBleHBlY3RlZFtpXSwgIkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRf
ZnJhbWVfbGlzdHNfZXF1YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3Qu
Z2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuICcgKwogICAgJ2Fu
aW1hdGlvbiB3aXRoIG11bHRpcGxlIGtleWZyYW1lcyBmb3IgdGhlIHNhbWUgdGltZSBhbmQgd2l0
aCAnICsKICAgICdkaWZmZXJlbnQgYnV0IGVxdWl2YWxlbnQgZWFzaW5nIGZ1bmN0aW9ucycpOwog
CiB0ZXN0KHQgPT4gewogICBjb25zdCBkaXYgPSBhZGREaXYodCk7Ci0KICAgZGl2LnN0eWxlLmFu
aW1hdGlvbiA9ICdhbmltLW92ZXJyaWRpbmcgMTAwcyc7Ci0gIGNvbnN0IGZyYW1lcyA9IGdldEtl
eWZyYW1lcyhkaXYpOwogCi0gIGFzc2VydF9lcXVhbHMoZnJhbWVzLmxlbmd0aCwgNiwgIm51bWJl
ciBvZiBmcmFtZXMiKTsKKyAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKICAg
Y29uc3QgZXhwZWN0ZWQgPSBbCiAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBl
YXNpbmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCkBAIC01NDksMTAgKzQ3OCw3IEBAIHRl
c3QodCA9PiB7CiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJl
YXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAgICBwYWRkaW5nVG9wOiAiNzBweCIgfSwKICAg
XTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7IGkrKykgewotICAgIGFz
c2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwgIkNvbXB1dGVkS2V5ZnJh
bWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZnJhbWVzLCBleHBl
Y3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3Rl
ZCBmcmFtZXMgZm9yICcgKwogICAgJ292ZXJsYXBwaW5nIGtleWZyYW1lcycpOwogCkBAIC01NjEs
MTEgKzQ4Nyw5IEBAIHRlc3QodCA9PiB7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFk
ZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tZmlsdGVyIDEwMHMnOwot
ICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZy
YW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdl
dEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAw
LCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLApA
QCAtNTczLDIwICs0OTcsMTUgQEAgdGVzdCh0ID0+IHsKICAgICB7IG9mZnNldDogMSwgY29tcHV0
ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKICAgICAgIGZp
bHRlcjogImJsdXIoNXB4KSBzZXBpYSg2MCUpIHNhdHVyYXRlKDMwJSkiIH0sCiAgIF07Ci0KLSAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBmcmFtZXMubGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJh
bWVzX2VxdWFsKGZyYW1lc1tpXSwgZXhwZWN0ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsg
aSk7Ci0gIH0KKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwog
fSwgJ0tleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVz
IGZvciAnICsKICAgICdhbmltYXRpb25zIHdpdGggZmlsdGVyIHByb3BlcnRpZXMgYW5kIG1pc3Np
bmcga2V5ZnJhbWVzJyk7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsK
LQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tZmlsdGVyLWRyb3Atc2hhZG93IDEwMHMn
OwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxz
KGZyYW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9
IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0
OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8i
LApAQCAtNTk0LDEwICs1MTMsNyBAQCB0ZXN0KHQgPT4gewogICAgIHsgb2Zmc2V0OiAxLCBjb21w
dXRlZE9mZnNldDogMSwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAg
ZmlsdGVyOiAiZHJvcC1zaGFkb3cocmdiKDI1NSwgMCwgMCkgNTBweCAzMHB4IDEwcHgpIiB9LAog
ICBdOwotCi0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAg
YXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlm
cmFtZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4
cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVj
dGVkIHZhbHVlcyBmb3IgJyArCiAgICAnYW5pbWF0aW9uIHdpdGggZHJvcC1zaGFkb3cgb2YgZmls
dGVyIHByb3BlcnR5Jyk7CiAKQEAgLTYwNywxNCArNTIzLDEyIEBAIHRlc3QodCA9PiB7CiAKIHRl
c3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUudGV4dFNo
YWRvdyA9ICcxcHggMXB4IDJweCByZ2IoMCwgMCwgMCksICcgKwogICAgICAgICAgICAgICAgICAg
ICAgICAgICcwIDAgMTZweCByZ2IoMCwgMCwgMjU1KSwgJyArCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgJzAgMCAzLjJweCByZ2IoMCwgMCwgMjU1KSc7CiAgIGRpdi5zdHlsZS5hbmltYXRpb24g
PSAnYW5pbS10ZXh0LXNoYWRvdyAxMDBzJzsKLSAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVz
KGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVyIG9mIGZy
YW1lcyIpOworICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAogICBjb25zdCBl
eHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzog
ImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTYyNCwxMCArNTM4LDcgQEAgdGVzdCh0ID0+
IHsKICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBj
b21wb3NpdGU6ICJhdXRvIiwKICAgICAgIHRleHRTaGFkb3c6ICJub25lIiB9LAogICBdOwotCi0g
IGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2Zy
YW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiAr
IGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsK
IH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVl
cyBmb3IgJyArCiAgICAnYW5pbWF0aW9ucyB3aXRoIHRleHQtc2hhZG93IHByb3BlcnRpZXMgYW5k
IG1pc3Npbmcga2V5ZnJhbWVzJyk7CiAKQEAgLTY3MywxNyArNTg0LDEzIEBAIHRlc3QodCA9PiB7
CiAKICAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFs
cyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVyIG9mIGZyYW1lcyIpOwotCiAgIGNvbnN0IGV4cGVj
dGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFz
ZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgdHJhbnNmb3JtOiAibm9uZSIgfSwKICAgICB7
IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6
ICJhdXRvIiwKICAgICAgIHRyYW5zZm9ybTogInRyYW5zbGF0ZSgxMDBweCkiIH0sCiAgIF07Ci0g
IGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2Zy
YW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiAr
IGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsK
IH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVl
cyBmb3IgJyArCiAgICAnYW5pbWF0aW9ucyB3aXRoIENTUyB2YXJpYWJsZXMgYXMga2V5ZnJhbWUg
dmFsdWVzJyk7CiAKQEAgLTY5Myw4ICs2MDAsNiBAQCB0ZXN0KHQgPT4gewogCiAgIGNvbnN0IGZy
YW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCi0gIGFzc2VydF9lcXVhbHMoZnJhbWVzLmxlbmd0
aCwgMiwgIm51bWJlciBvZiBmcmFtZXMiKTsKLQogICBjb25zdCBleHBlY3RlZCA9IFsKICAgICB7
IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6
ICJhdXRvIiwKICAgICAgIG1hcmdpbkJvdHRvbTogIjBweCIsCkBAIC03MDcsOSArNjEyLDcgQEAg
dGVzdCh0ID0+IHsKICAgICAgIG1hcmdpblJpZ2h0OiAiMTAwcHgiLAogICAgICAgbWFyZ2luVG9w
OiAiMTAwcHgiIH0sCiAgIF07Ci0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsg
aSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAi
Q29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVh
bChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSBy
ZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgJyArCiAgICAnYW5pbWF0aW9ucyB3aXRoIENTUyB2
YXJpYWJsZXMgYXMga2V5ZnJhbWUgdmFsdWVzIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5Jyk7CiAK
QEAgLTcxOSwxNyArNjIyLDEzIEBAIHRlc3QodCA9PiB7CiAKICAgY29uc3QgZnJhbWVzID0gZ2V0
S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVt
YmVyIG9mIGZyYW1lcyIpOwotCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAw
LCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAog
ICAgICAgY29sb3I6ICJyZ2IoMCwgMCwgMCkiIH0sCiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVk
T2Zmc2V0OiAxLCBlYXNpbmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAgICBjb2xv
cjogInJnYigwLCAyNTUsIDApIiB9LAogICBdOwotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1l
cy5sZW5ndGg7IGkrKykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBl
Y3RlZFtpXSwgIkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVf
bGlzdHNfZXF1YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5
ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yICcgKwogICAgJ2FuaW1hdGlvbnMg
d2l0aCBhIENTUyB2YXJpYWJsZSB3aGljaCBpcyBvdmVycmlkZW4gYnkgdGhlIHZhbHVlIGluIGtl
eWZyYW1lJyk7CiAKQEAgLTczOSwxOSArNjM4LDYzIEBAIHRlc3QodCA9PiB7CiAKICAgY29uc3Qg
ZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVu
Z3RoLCAyLCAibnVtYmVyIG9mIGZyYW1lcyIpOwotCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAg
IHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0
ZTogImF1dG8iLAogICAgICAgdHJhbnNmb3JtOiAidHJhbnNsYXRlKDEwMHB4KSIgfSwKICAgICB7
IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6
ICJhdXRvIiwKICAgICAgIHRyYW5zZm9ybTogIm5vbmUiIH0sCiAgIF07Ci0gIGZvciAobGV0IGkg
PSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChm
cmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9Cisg
IGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFt
ZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgJyArCiAg
ICAnYW5pbWF0aW9ucyB3aXRoIG9ubHkgY3VzdG9tIHByb3BlcnR5IGluIGEga2V5ZnJhbWUnKTsK
IAordGVzdCh0ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOworCisgIC8vIEFkZCBjdXN0
b20gQGtleWZyYW1lcyBydWxlCisgIGNvbnN0IHN0eWxlc2hlZXQgPSBkb2N1bWVudC5zdHlsZVNo
ZWV0c1swXTsKKyAgY29uc3Qga2V5ZnJhbWVzID0gJ0BrZXlmcmFtZXMgYW5pbS1jdXN0b20geyB0
byB7IGxlZnQ6IDEwMHB4IH0gfSc7CisgIGNvbnN0IHJ1bGVJbmRleCA9IHN0eWxlc2hlZXQuaW5z
ZXJ0UnVsZShrZXlmcmFtZXMsIDApOworICBjb25zdCBrZXlmcmFtZXNSdWxlID0gc3R5bGVzaGVl
dC5jc3NSdWxlc1tydWxlSW5kZXhdOworCisgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Cisg
ICAgc3R5bGVzaGVldC5kZWxldGVSdWxlKHJ1bGVJbmRleCk7CisgIH0pOworCisgIGRpdi5zdHls
ZS5hbmltYXRpb24gPSAnYW5pbS1jdXN0b20gMTAwcyc7CisKKyAgLy8gU2FuaXR5IGNoZWNrIHRo
ZSBpbml0aWFsIHJlc3VsdAorICBsZXQgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CisgIGFz
c2VydF9mcmFtZXNfZXF1YWwoCisgICAgZnJhbWVzW2ZyYW1lcy5sZW5ndGggLSAxXSwKKyAgICB7
CisgICAgICBvZmZzZXQ6IDEsCisgICAgICBjb21wdXRlZE9mZnNldDogMSwKKyAgICAgIGVhc2lu
ZzogJ2Vhc2UnLAorICAgICAgY29tcG9zaXRlOiAnYXV0bycsCisgICAgICBsZWZ0OiAnMTAwcHgn
LAorICAgIH0sCisgICAgJ0tleWZyYW1lcyByZWZsZWN0IHRoZSBpbml0aWFsIEBrZXlmcmFtZXMg
cnVsZScKKyAgKTsKKworICAvLyBVcGRhdGUgdGhlIEBrZXlmcmFtZXMgcnVsZQorICBrZXlmcmFt
ZXNSdWxlLmRlbGV0ZVJ1bGUoMCk7CisgIGtleWZyYW1lc1J1bGUuYXBwZW5kUnVsZSgndG8geyBs
ZWZ0OiAyMDBweCB9Jyk7CisKKyAgLy8gQ2hlY2sgdGhlIHJlc3VsdCBmcm9tIGdldEtleWZyYW1l
cygpIGlzIHVwZGF0ZWQKKyAgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CisgIGFzc2VydF9m
cmFtZXNfZXF1YWwoCisgICAgZnJhbWVzW2ZyYW1lcy5sZW5ndGggLSAxXSwKKyAgICB7CisgICAg
ICBvZmZzZXQ6IDEsCisgICAgICBjb21wdXRlZE9mZnNldDogMSwKKyAgICAgIGVhc2luZzogJ2Vh
c2UnLAorICAgICAgY29tcG9zaXRlOiAnYXV0bycsCisgICAgICBsZWZ0OiAnMjAwcHgnLAorICAg
IH0sCisgICAgJ0tleWZyYW1lcyByZWZsZWN0cyB0aGUgdXBkYXRlZCBAa2V5ZnJhbWVzIHJ1bGUn
CisgICk7Cit9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmVmbGVjdHMgY2hhbmdl
cyB0byBAa2V5ZnJhbWVzIHJ1bGVzJyk7CisKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3Qtc2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZjE1OGNiYzgzMjM2Yzc0YmM0MTFiMTdhNDRkODFlYjdjYjIxNmQw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3Qtc2V0S2V5ZnJhbWVzLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK0ZBSUwgS2V5ZnJhbWVFZmZl
Y3Quc2V0S2V5ZnJhbWVzKCkgY2F1c2VzIHN1YnNlcXVlbnQgY2hhbmdlcyB0byBAa2V5ZnJhbWVz
IHJ1bGVzIHRvIGJlIGlnbm9yZWQgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ09iamVjdC5rZXlzKGFjdHVhbCknKQorRkFJTCBLZXlmcmFtZUVmZmVjdC5zZXRLZXlmcmFt
ZXMoKSBjYXVzZXMgc3Vic2VxdWVudCBjaGFuZ2VzIHRvIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rp
b24gdG8gYmUgaWdub3JlZCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
YW5pbWF0aW9uLmVmZmVjdC5nZXRLZXlmcmFtZXMoKVswXS5lYXNpbmcnKQorRkFJTCBLZXlmcmFt
ZUVmZmVjdC5zZXRLZXlmcmFtZXMoKSBzaG91bGQgTk9UIGNhdXNlIHN1YnNlcXVlbnQgY2hhbmdl
cyB0byBAa2V5ZnJhbWVzIHJ1bGVzIHRvIGJlIGlnbm9yZWQgaWYgaXQgdGhyZXcgdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5rZXlzKGFjdHVhbCknKQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2Q4Zjg0NTQxM2EzOGRhYWU5YmNjOWQ2Y2UyNTFlNDRjZGE1ODJjYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0LXNldEtleWZyYW1lcy50ZW50YXRpdmUu
aHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04PgorPHRpdGxlPktleWZyYW1lRWZmZWN0LnNldEtleWZyYW1lcygpIGZvciBDU1MgYW5pbWF0
aW9uczwvdGl0bGU+Cis8IS0tIFRPRE86IEFkZCBhIG1vcmUgc3BlY2lmaWMgbGluayBmb3IgdGhp
cyBvbmNlIGl0IGlzIHNwZWNpZmllZC4gLS0+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYW5pbWF0aW9ucy0yLyI+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic3VwcG9ydC90
ZXN0Y29tbW9uLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK0BrZXlmcmFtZXMgYW5pbS1zaW1wbGUg
eworICBmcm9tIHsgbGVmdDogMHB4IH0KKyAgdG8gICB7IGxlZnQ6IDEwMHB4IH0KK30KKzwvc3R5
bGU+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3Qi
OworCisvLyBOb3RlIHRoYXQgdGhlIHNhbml0eSBjaGVjayB0aGF0IGdldEtleWZyYW1lcygpIG5v
cm1hbGx5IERPRVMgcmV0dXJuIHRoZQorLy8gdXBkYXRlZCBrZXlmcmFtZXMgaXMgY29udGFpbmVk
IGluIEtleWZyYW1lRWZmZWN0LWdldEtleWZyYW1lcy5odG1sLgordGVzdCh0ID0+IHsKKyAgY29u
c3QgZGl2ID0gYWRkRGl2KHQpOworCisgIC8vIEFkZCBjdXN0b20gQGtleWZyYW1lcyBydWxlCisg
IGNvbnN0IHN0eWxlc2hlZXQgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1swXTsKKyAgY29uc3Qga2V5
ZnJhbWVzID0gJ0BrZXlmcmFtZXMgYW5pbS1jdXN0b20geyB0byB7IGxlZnQ6IDEwMHB4IH0gfSc7
CisgIGNvbnN0IHJ1bGVJbmRleCA9IHN0eWxlc2hlZXQuaW5zZXJ0UnVsZShrZXlmcmFtZXMsIDAp
OworICBjb25zdCBrZXlmcmFtZXNSdWxlID0gc3R5bGVzaGVldC5jc3NSdWxlc1tydWxlSW5kZXhd
OworCisgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgc3R5bGVzaGVldC5kZWxldGVS
dWxlKHJ1bGVJbmRleCk7CisgIH0pOworCisgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1j
dXN0b20gMTAwcyc7CisKKyAgLy8gVXBkYXRlIHRoZSBrZXlmcmFtZXMgdmlhIHRoZSBBUEkKKyAg
Y29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKKyAgYW5pbWF0aW9uLmVm
ZmVjdC5zZXRLZXlmcmFtZXMoeyBsZWZ0OiAnMjAwcHgnIH0pOworCisgIC8vIFRoZW4gdXBkYXRl
IHRoZW0gdmlhIHN0eWxlCisgIGtleWZyYW1lc1J1bGUuZGVsZXRlUnVsZSgwKTsKKyAga2V5ZnJh
bWVzUnVsZS5hcHBlbmRSdWxlKCd0byB7IGxlZnQ6IDMwMHB4IH0nKTsKKworICAvLyBUaGUgcmVz
dWx0IHNob3VsZCBiZSB0aGUga2V5ZnJhbWVzIGFzIHNldCBieSB0aGUgQVBJLCBub3QgdmlhIHN0
eWxlLgorICBjb25zdCBmcmFtZXMgPSBhbmltYXRpb24uZWZmZWN0LmdldEtleWZyYW1lcygpOwor
ICBhc3NlcnRfZnJhbWVzX2VxdWFsKAorICAgIGZyYW1lc1tmcmFtZXMubGVuZ3RoIC0gMV0sCisg
ICAgeworICAgICAgb2Zmc2V0OiBudWxsLAorICAgICAgY29tcHV0ZWRPZmZzZXQ6IDEsCisgICAg
ICBlYXNpbmc6ICdsaW5lYXInLAorICAgICAgY29tcG9zaXRlOiAnYXV0bycsCisgICAgICBsZWZ0
OiAnMjAwcHgnLAorICAgIH0sCisgICAgJ0tleWZyYW1lcyByZWZsZWN0IHRoZSB2YWx1ZSBzZXQg
dmlhIHNldEtleWZyYW1lcycKKyAgKTsKK30sICdLZXlmcmFtZUVmZmVjdC5zZXRLZXlmcmFtZXMo
KSBjYXVzZXMgc3Vic2VxdWVudCBjaGFuZ2VzIHRvIEBrZXlmcmFtZXMnCisgICArICcgcnVsZXMg
dG8gYmUgaWdub3JlZCcpOworCit0ZXN0KHQgPT4geworICBjb25zdCBkaXYgPSBhZGREaXYodCk7
CisgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1zaW1wbGUgMTAwcyc7CisKKyAgY29uc3Qg
YW5pbWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKKyAgYXNzZXJ0X2VxdWFscyhhbmlt
YXRpb24uZWZmZWN0LmdldEtleWZyYW1lcygpWzBdLmVhc2luZywgJ2Vhc2UnKTsKKworICBhbmlt
YXRpb24uZWZmZWN0LnNldEtleWZyYW1lcyh7IGxlZnQ6IFsnMjAwcHgnLCAnMzAwcHgnXSB9KTsK
KyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uZWZmZWN0LmdldEtleWZyYW1lcygpWzBdLmVhc2lu
ZywgJ2xpbmVhcicpOworCisgIGRpdi5zdHlsZS5hbmltYXRpb25UaW1pbmdGdW5jdGlvbiA9ICdl
YXNlLWluJzsKKyAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblRpbWluZ0Z1bmN0aW9u
OworCisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRLZXlmcmFtZXMo
KVswXS5lYXNpbmcsCisgICAgJ2xpbmVhcicsCisgICAgJ0Vhc2luZyBzaG91bGQgYmUgdGhlIGVh
c2luZyBzZXQgYnkgdGhlIEFQSScKKyAgKTsKK30sICdLZXlmcmFtZUVmZmVjdC5zZXRLZXlmcmFt
ZXMoKSBjYXVzZXMgc3Vic2VxdWVudCBjaGFuZ2VzIHRvJworICAgKyAnIGFuaW1hdGlvbi10aW1p
bmctZnVuY3Rpb24gdG8gYmUgaWdub3JlZCcpOworCit0ZXN0KHQgPT4geworICBjb25zdCBkaXYg
PSBhZGREaXYodCk7CisKKyAgY29uc3Qgc3R5bGVzaGVldCA9IGRvY3VtZW50LnN0eWxlU2hlZXRz
WzBdOworICBjb25zdCBrZXlmcmFtZXMgPSAnQGtleWZyYW1lcyBhbmltLWN1c3RvbSB7IHRvIHsg
bGVmdDogMTAwcHggfSB9JzsKKyAgY29uc3QgcnVsZUluZGV4ID0gc3R5bGVzaGVldC5pbnNlcnRS
dWxlKGtleWZyYW1lcywgMCk7CisgIGNvbnN0IGtleWZyYW1lc1J1bGUgPSBzdHlsZXNoZWV0LmNz
c1J1bGVzW3J1bGVJbmRleF07CisKKyAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICBz
dHlsZXNoZWV0LmRlbGV0ZVJ1bGUocnVsZUluZGV4KTsKKyAgfSk7CisKKyAgZGl2LnN0eWxlLmFu
aW1hdGlvbiA9ICdhbmltLWN1c3RvbSAxMDBzJzsKKworICAvLyBUcnkgdXBkYXRpbmcgaW4gYSB3
YXkgdGhhdCB0aHJvd3MgYW4gZXJyb3IKKyAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFuaW1h
dGlvbnMoKVswXTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKKyAgICBh
bmltYXRpb24uZWZmZWN0LnNldEtleWZyYW1lcyh7IGxlZnQ6ICcyMDBweCcsIG9mZnNldDogJ3ll
cicgfSk7CisgIH0pOworCisgIGtleWZyYW1lc1J1bGUuZGVsZXRlUnVsZSgwKTsKKyAga2V5ZnJh
bWVzUnVsZS5hcHBlbmRSdWxlKCd0byB7IGxlZnQ6IDMwMHB4IH0nKTsKKworICAvLyBUaGUgcmVz
dWx0IHNob3VsZCBiZSB0aGUga2V5ZnJhbWVzIGFzIHNldCB2aWEgc3R5bGUuCisgIGNvbnN0IGZy
YW1lcyA9IGFuaW1hdGlvbi5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCk7CisgIGFzc2VydF9mcmFtZXNf
ZXF1YWwoCisgICAgZnJhbWVzW2ZyYW1lcy5sZW5ndGggLSAxXSwKKyAgICB7CisgICAgICBvZmZz
ZXQ6IDEsCisgICAgICBjb21wdXRlZE9mZnNldDogMSwKKyAgICAgIGVhc2luZzogJ2Vhc2UnLAor
ICAgICAgY29tcG9zaXRlOiAnYXV0bycsCisgICAgICBsZWZ0OiAnMzAwcHgnLAorICAgIH0sCisg
ICAgJ0tleWZyYW1lcyByZWZsZWN0IHRoZSB2YWx1ZSBzZXQgdmlhIHN0eWxlJworICApOworfSwg
J0tleWZyYW1lRWZmZWN0LnNldEtleWZyYW1lcygpIHNob3VsZCBOT1QgY2F1c2Ugc3Vic2VxdWVu
dCBjaGFuZ2VzIHRvJworICAgKyAnIEBrZXlmcmFtZXMgcnVsZXMgdG8gYmUgaWdub3JlZCBpZiBp
dCB0aHJldycpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1h
dGlvbi1iYXNlLXJlc3BvbnNlLTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFz
ZS1yZXNwb25zZS0wMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNDU0MTAxOWNiY2RhN2Q0
NGIyM2M1MjlkZjYwMGNjZTBkYWMxOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRp
b24tYmFzZS1yZXNwb25zZS0wMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitGQUlM
IGVtIHVuaXRzIHJlc3BvbmQgdG8gZm9udC1zaXplIGFuaW1hdGlvbiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiMTVweCIgYnV0IGdvdCAiMXB4IgorRkFJTCBleCB1bml0cyByZXNwb25kIHRvIGZv
bnQtc2l6ZSBhbmltYXRpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjYuNzE4NzVweCIgYnV0
IGdvdCAiMC40Mzc1cHgiCitGQUlMIHZhcigpIHJlZmVyZW5jZXMgcmVzcG9uZCB0byBjdXN0b20g
cHJvcGVydHkgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIyMHB4IiBidXQgZ290
ICIwcHgiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAxLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzY3MzFlMTc5ODIzNTg0NTc3ZjQyYTY0OWY2ZjM2NjU2MTFhNTIyYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMS5odG1sCkBAIC0wLDAgKzEsNzUg
QEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlRlc3QgdGhhdCBub24tYW5pbWF0ZWQgc3R5bGUg
aXMgcmVzcG9uc2l2ZSB0byBhbmltYXRlZCBwcm9wZXJ0aWVzPC90aXRsZT4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbmltYXRpb25zLyI+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+
CisgIEBrZXlmcmFtZXMgZm9udF9zaXplX2FuaW1hdGlvbiB7CisgICAgZnJvbSB7IGZvbnQtc2l6
ZTogMTBweDsgfQorICAgIHRvIHsgZm9udC1zaXplOiAyMHB4OyB9CisgIH0KKyAgQGtleWZyYW1l
cyB2YXJfYW5pbWF0aW9uIHsKKyAgICBmcm9tIHsgLS14OiAxMHB4OyB9CisgICAgdG8geyAtLXg6
IDIwcHg7IH0KKyAgfQorICAjdGFyZ2V0cyA+IGRpdiB7CisgICAgYW5pbWF0aW9uLWR1cmF0aW9u
OiAxMDAwczsKKyAgICBhbmltYXRpb24tZGVsYXk6IC01MDBzOworICAgIGFuaW1hdGlvbi10aW1p
bmctZnVuY3Rpb246IHN0ZXBzKDIsIGVuZCk7CisgIH0KKworICAjdGFyZ2V0MSB7CisgICAgYW5p
bWF0aW9uLW5hbWU6IGZvbnRfc2l6ZV9hbmltYXRpb247CisgICAgZm9udC1zaXplOiAxcHg7Cisg
ICAgd2lkdGg6IDFlbTsKKyAgfQorICAjcmVmMSB7CisgICAgd2lkdGg6IDE1cHg7CisgIH0KKwor
ICAjdGFyZ2V0MiB7CisgICAgYW5pbWF0aW9uLW5hbWU6IGZvbnRfc2l6ZV9hbmltYXRpb247Cisg
ICAgZm9udC1zaXplOiAxcHg7CisgICAgd2lkdGg6IDFleDsKKyAgfQorICAjcmVmMiB7CisgICAg
Zm9udC1zaXplOiAxNXB4OworICAgIHdpZHRoOiAxZXg7CisgIH0KKworICAjdGFyZ2V0MyB7Cisg
ICAgYW5pbWF0aW9uLW5hbWU6IHZhcl9hbmltYXRpb247CisgICAgLS14OiAwcHg7CisgICAgd2lk
dGg6IHZhcigtLXgpOworICB9CisgICNyZWYzIHsKKyAgICB3aWR0aDogMjBweDsKKyAgfQorPC9z
dHlsZT4KKzxkaXYgaWQ9InRhcmdldHMiPgorICA8ZGl2IGlkPSJ0YXJnZXQxIj48L2Rpdj4KKyAg
PGRpdiBpZD0idGFyZ2V0MiI+PC9kaXY+CisgIDxkaXYgaWQ9InRhcmdldDMiPjwvZGl2PgorPC9k
aXY+Cis8ZGl2IGlkPSJyZWZzIj4KKyAgPGRpdiBpZD0icmVmMSI+PC9kaXY+CisgIDxkaXYgaWQ9
InJlZjIiPjwvZGl2PgorICA8ZGl2IGlkPSJyZWYzIj48L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4K
KworLy8gVGVzdCB0aGF0IHRoZSBjb21wdXRlZCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gcHJvcGVydHkg
aXMgZXF1YWwgb24KKy8vICd0YXJnZXQnIGFuZCAncmVmJy4KK2Z1bmN0aW9uIHRlc3RfcmVmKHRh
cmdldCwgcmVmLCBwcm9wZXJ0eSwgZGVzY3JpcHRpb24pIHsKKyAgdGVzdCgoKSA9PiB7CisgICAg
bGV0IGFjdHVhbCA9IGdldENvbXB1dGVkU3R5bGUodGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKHBy
b3BlcnR5KTsKKyAgICBsZXQgZXhwZWN0ZWQgPSBnZXRDb21wdXRlZFN0eWxlKHJlZikuZ2V0UHJv
cGVydHlWYWx1ZShwcm9wZXJ0eSk7CisgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVk
KTsKKyAgfSwgZGVzY3JpcHRpb24pOworfQorCit0ZXN0X3JlZih0YXJnZXQxLCByZWYxLCAnd2lk
dGgnLCAnZW0gdW5pdHMgcmVzcG9uZCB0byBmb250LXNpemUgYW5pbWF0aW9uJyk7Cit0ZXN0X3Jl
Zih0YXJnZXQyLCByZWYyLCAnd2lkdGgnLCAnZXggdW5pdHMgcmVzcG9uZCB0byBmb250LXNpemUg
YW5pbWF0aW9uJyk7Cit0ZXN0X3JlZih0YXJnZXQzLCByZWYzLCAnd2lkdGgnLCAndmFyKCkgcmVm
ZXJlbmNlcyByZXNwb25kIHRvIGN1c3RvbSBwcm9wZXJ0eSBhbmltYXRpb24nKTsKKworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YzY4Yjk4MjIwYmZkYmFkNmI0ODhlY2ViNDcxYTI0NzIzZDY5ZDE2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBBbmltYXRlZCBmb250LXNpemUgb24gcm9vdCBh
ZmZlY3RzIHJlbSB1bml0cyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVz
cG9uc2UtMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lOWVhOTY0Zjc1ZGE0ZGVmNWU5NDg3NWRlZWQzNzYxZTYyMmQyM2Q3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAyLmh0bWwKQEAg
LTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+VGVzdCB0aGF0IHJlbSB1bml0
cyBhcmUgcmVzcG9uc2l2ZSB0byBhbmltYXRlZCBmb250LXNpemUgb24gcm9vdDwvdGl0bGU+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYW5pbWF0
aW9ucy8iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorICBAa2V5ZnJhbWVzIGZvbnRfc2l6ZV9hbmltYXRpb24geworICAgIGZyb20g
eyBmb250LXNpemU6IDEwcHg7IH0KKyAgICB0byB7IGZvbnQtc2l6ZTogMjBweDsgfQorICB9Cisg
IDpyb290IHsKKyAgICBmb250LXNpemU6IDFweDsKKyAgICBhbmltYXRpb246IGZvbnRfc2l6ZV9h
bmltYXRpb24gc3RlcHMoMiwgZW5kKSAxMDAwcyAtNTAwczsKKyAgfQorCisgICN0YXJnZXQxIHsK
KyAgICB3aWR0aDogMXJlbTsKKyAgfQorPC9zdHlsZT4KKzxkaXYgaWQ9InRhcmdldDEiPjwvZGl2
PgorPHNjcmlwdD4KK3Rlc3QoKCkgPT4geworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUodGFyZ2V0MSkuZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgnKSwgJzE1cHgnKTsKK30sICdBbmlt
YXRlZCBmb250LXNpemUgb24gcm9vdCBhZmZlY3RzIHJlbSB1bml0cycpOworPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41YjU2YzZmMDA5N2FiOTYzZjRmYjY4MmJiMjk1ZGNkNGIxZWJjNDE4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDMgQEAKKworRkFJTCBJZGVudGljYWwgZWxlbWVudHMgYXJlIGFsbCByZXNwb25z
aXZlIHRvIGZvbnQtc2l6ZSBhbmltYXRpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjE1cHgi
IGJ1dCBnb3QgIjFweCIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9u
c2UtMDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kNmU2ZGE3MzA5YzNjNWI3NDFmMmY2NDI2NmE1NDdhMzY0M2Q0M2IyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAzLmh0bWwKQEAgLTAs
MCArMSwyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+VGVzdHMgdGhhdCBpZGVudGljYWwg
ZWxlbWVudHMgaW4gdGhlIGJhc2Ugc3R5bGUgcmVzcG9uZHMgdG8gZm9udC1zaXplIGFuaW1hdGlv
bjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtYW5pbWF0aW9ucy8iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHN0eWxlPgorICBAa2V5ZnJhbWVzIGZvbnRfc2l6ZV9hbmltYXRpb24g
eworICAgIGZyb20geyBmb250LXNpemU6IDEwcHg7IH0KKyAgICB0byB7IGZvbnQtc2l6ZTogMjBw
eDsgfQorICB9CisgIGRpdiB7CisgICAgZm9udC1zaXplOiAxcHg7CisgICAgbWluLXdpZHRoOiAx
ZW07CisgICAgYW5pbWF0aW9uOiBmb250X3NpemVfYW5pbWF0aW9uIHN0ZXBzKDIsIGVuZCkgMTAw
MHMgLTUwMHM7CisgIH0KKzwvc3R5bGU+Cis8ZGl2PjwvZGl2PgorPGRpdj48L2Rpdj4KKzxkaXY+
PC9kaXY+Cis8c2NyaXB0PgordGVzdCgoKSA9PiB7CisgIGxldCBkaXZzID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvckFsbCgnZGl2Jyk7CisgIGZvciAobGV0IGRpdiBvZiBkaXZzKQorICAgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmdldFByb3BlcnR5VmFsdWUoJ21pbi13aWR0
aCcpLCAnMTVweCcpOworfSwgJ0lkZW50aWNhbCBlbGVtZW50cyBhcmUgYWxsIHJlc3BvbnNpdmUg
dG8gZm9udC1zaXplIGFuaW1hdGlvbicpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9h
bmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9u
LWJhc2UtcmVzcG9uc2UtMDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNGNlMzJmNTY1Yjg0
ZmI5ZDM2MTg1MzFkYTE2MjRhY2I3Nzk2MDcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uLWJhc2UtcmVzcG9uc2UtMDA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKwor
RkFJTCBCYXNlIGlzIHJlc3BvbnNpdmUgdG8gZm9udC1hZmZlY3RpbmcgYXBwZWFyaW5nIHZpYSBz
ZXRLZXlmcmFtZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjE1cHgiIGJ1dCBnb3QgIjc1cHgi
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwNC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1h
dGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTYzOGE1
NzJlOTBjNzQ1YmVhMjIwZTUzMDEyMTA1NDE4MTdjNDU5MwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwNC5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPHRpdGxlPlRlc3RzIHRoYXQgYmFzZSByZXNwb25kcyB0byBmb250LWFm
ZmVjdGluZyBwcm9wZXJ0aWVzIGFwcGVhcmluZyB2aWEgc2V0S2V5ZnJhbWVzPC90aXRsZT4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbmltYXRp
b25zLyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CisgICN0YXJnZXQxIHsKKyAgICBmb250LXNpemU6IDEwcHg7CisgICAgaGVpZ2h0
OiAxZW07CisgIH0KKzwvc3R5bGU+Cis8ZGl2IGlkPXRhcmdldDE+PC9kaXY+Cis8c2NyaXB0Pgor
ICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGdldENvbXB1dGVkU3R5bGUodGFyZ2V0MSkuaGVpZ2h0
OworCisgICAgbGV0IGFuaW1hdGlvbiA9IHRhcmdldDEuYW5pbWF0ZShbCisgICAgICB7IGhlaWdo
dDogJzUwcHgnIH0sCisgICAgICB7IGhlaWdodDogJzEwMHB4JyB9LAorICAgIF0sIHsKKyAgICAg
IGR1cmF0aW9uOiAxMDAwMDAwLAorICAgICAgZGVsYXk6IC01MDAwMDAsCisgICAgICBlYXNpbmc6
ICdzdGVwcygyLCBlbmQpJworICAgIH0pOworCisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKHRhcmdldDEpLmhlaWdodCwgJzc1cHgnKTsKKworICAgIGFuaW1hdGlvbi5lZmZlY3Qu
c2V0S2V5ZnJhbWVzKFsKKyAgICAgIHsgZm9udFNpemU6ICcxMHB4JyB9LAorICAgICAgeyBmb250
U2l6ZTogJzIwcHgnIH0sCisgICAgXSk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUodGFyZ2V0MSkuaGVpZ2h0LCAnMTVweCcpOworICB9LCAnQmFzZSBpcyByZXNwb25zaXZl
IHRvIGZvbnQtYWZmZWN0aW5nIGFwcGVhcmluZyB2aWEgc2V0S2V5ZnJhbWVzJyk7Cis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAxLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zYjIwNDIyMWVjMTUzNzNkZjY3NzNhNWRhN2Y1YjNjZmJkY2Y0OTFjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLWltcG9ydGFudC0wMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsOSBAQAorCitQQVNTIEludGVycG9sYXRlZCB2YWx1ZSBpcyBvYnNlcnZhYmxlIAorRkFJTCBJ
bXBvcnRhbnQgcnVsZXMgb3ZlcnJpZGUgYW5pbWF0aW9ucyBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigxNSwgMTUsIDE1KSIKK0ZBSUwgTm9uLW92
ZXJyaWRlbiBpbnRlcnBvbGF0aW9ucyBhcmUgb2JzZXJ2YWJsZSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigxNSwgMTUsIDE1KSIKK0ZBSUwgSW1w
b3J0YW50IHJ1bGVzIG92ZXJyaWRlIGFuaW1hdGlvbnMgKDo6YmVmb3JlKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCkiIGJ1dCBnb3QgInJnYigxNSwgMTUsIDE1KSIKK1BB
U1MgSW1wb3J0YW50IHJ1bGVzIGRvIG5vdCBvdmVycmlkZSBhbmltYXRpb25zIG9uIDp2aXNpdGVk
IGFzIHNlZW4gZnJvbSBKUyAKK0ZBSUwgU3RhbmRhcmQgcHJvcGVydHkgYW5pbWF0aW9ucyBhcHBl
YXJpbmcgdmlhIHNldEtleWZyYW1lcyBkbyBub3Qgb3ZlcnJpZGUgaW1wb3J0YW50IGRlY2xhcmF0
aW9ucyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDI1NSwgMjU1LCAyNTUpIiBidXQgZ290
ICJyZ2IoMTUsIDE1LCAxNSkiCitGQUlMIEN1c3RvbSBwcm9wZXJ0eSBhbmltYXRpb25zIGFwcGVh
cmluZyB2aWEgc2V0S2V5ZnJhbWVzIGRvIG5vdCBvdmVycmlkZSBpbXBvcnRhbnQgZGVjbGFyYXRp
b25zIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxNTBweCIgYnV0IGdvdCAiMTBweCIKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWltcG9ydGFudC0wMDEuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1h
dGlvbi1pbXBvcnRhbnQtMDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmIxZmNmZDc2YjYwZGExMDZjNmU5
NDJiMzE5YzdkODU1OWYyOTc2NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1p
bXBvcnRhbnQtMDAxLmh0bWwKQEAgLTAsMCArMSwxNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRp
dGxlPlRlc3QgIWltcG9ydGFudCBkZWNsYXJhdGlvbnMgdnMuIGFuaW1hdGlvbiBlZmZlY3RzPC90
aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1jYXNjYWRlLyNjYXNjYWRlLW9yaWdpbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7
CisgICAgbmFtZTogIi0tbGVuZ3RoLTEiLAorICAgIHN5bnRheDogIjxsZW5ndGg+IiwKKyAgICBp
bml0aWFsVmFsdWU6ICIwcHgiLAorICAgIGluaGVyaXRzOiBmYWxzZQorICB9KTsKKyAgQ1NTLnJl
Z2lzdGVyUHJvcGVydHkoeworICAgIG5hbWU6ICItLWxlbmd0aC0yIiwKKyAgICBzeW50YXg6ICI8
bGVuZ3RoPiIsCisgICAgaW5pdGlhbFZhbHVlOiAiMHB4IiwKKyAgICBpbmhlcml0czogZmFsc2UK
KyAgfSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KKyAgQGtleWZyYW1lcyBiZ2NvbG9yX2FuaW1hdGlv
biB7CisgICAgZnJvbSB7IGJhY2tncm91bmQtY29sb3I6IHJnYigxMCwgMTAsIDEwKTsgfQorICAg
IHRvIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwLCAyMCwgMjApOyB9CisgIH0KKyAgQGtleWZy
YW1lcyBjb2xvcl9hbmRfYmdfYW5pbWF0aW9uIHsKKyAgICBmcm9tIHsgYmFja2dyb3VuZC1jb2xv
cjogcmdiKDEwLCAxMCwgMTApOyBjb2xvcjogcmdiKDEwLCAxMCwgMTApOyB9CisgICAgdG8geyBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjAsIDIwLCAyMCk7IGNvbG9yOiByZ2IoMjAsIDIwLCAyMCk7
IH0KKyAgfQorICBhLCBkaXYsIDo6YmVmb3JleworICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAw
MHM7CisgICAgYW5pbWF0aW9uLWRlbGF5OiAtNTAwczsKKyAgICBhbmltYXRpb24tdGltaW5nLWZ1
bmN0aW9uOiBzdGVwcygyLCBlbmQpOworICB9CisgICN0YXJnZXQxIHsKKyAgICBhbmltYXRpb24t
bmFtZTogYmdjb2xvcl9hbmltYXRpb247CisgIH0KKyAgI3RhcmdldDIgeworICAgIGJhY2tncm91
bmQtY29sb3I6IHJnYigwLCAxMjgsIDApICFpbXBvcnRhbnQ7CisgICAgYW5pbWF0aW9uLW5hbWU6
IGJnY29sb3JfYW5pbWF0aW9uOworICB9CisgICN0YXJnZXQzIHsKKyAgICBjb2xvcjogcmdiKDAs
IDEyOCwgMCkgIWltcG9ydGFudDsKKyAgICBhbmltYXRpb24tbmFtZTogY29sb3JfYW5kX2JnX2Fu
aW1hdGlvbjsKKyAgfQorICAjdGFyZ2V0NDo6YmVmb3JlIHsKKyAgICBjb2xvcjogcmdiKDAsIDEy
OCwgMCkgIWltcG9ydGFudDsKKyAgICBhbmltYXRpb24tbmFtZTogY29sb3JfYW5kX2JnX2FuaW1h
dGlvbjsKKyAgICBjb250ZW50OiAiICI7CisgIH0KKyAgI3RhcmdldDUgeworICAgIGFuaW1hdGlv
bi1uYW1lOiBjb2xvcl9hbmRfYmdfYW5pbWF0aW9uOworICB9CisgICN0YXJnZXQ1OnZpc2l0ZWQg
eworICAgIGNvbG9yOiByZ2IoMCwgMTI4LCAwKSAhaW1wb3J0YW50OworICB9CisgICN0YXJnZXQ2
IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKKyAgICBjb2xvcjogd2hpdGUgIWltcG9y
dGFudDsKKyAgfQorICAjdGFyZ2V0NyB7CisgICAgLS1sZW5ndGgtMTogMTBweDsKKyAgICAtLWxl
bmd0aC0yOiAxMHB4ICFpbXBvcnRhbnQ7CisgIH0KKzwvc3R5bGU+Cis8ZGl2IGlkPSJ0YXJnZXQx
Ij48L2Rpdj4KKzxkaXYgaWQ9InRhcmdldDIiPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0MyI+PC9k
aXY+Cis8ZGl2IGlkPSJ0YXJnZXQ0Ij48L2Rpdj4KKzxhIGhyZWY9IiIgaWQ9InRhcmdldDUiPjwv
YT4KKzxzcGFuIGlkPSJ0YXJnZXQ2Ij48L3NwYW4+Cis8c3BhbiBpZD0idGFyZ2V0NyI+PC9zcGFu
PgorPHNjcmlwdD4KK3Rlc3QoKCkgPT4geworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUodGFyZ2V0MSkuYmFja2dyb3VuZENvbG9yLCAncmdiKDE1LCAxNSwgMTUpJyk7Cit9LCAnSW50
ZXJwb2xhdGVkIHZhbHVlIGlzIG9ic2VydmFibGUnKTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQyKS5iYWNrZ3JvdW5kQ29sb3IsICdyZ2Io
MCwgMTI4LCAwKScpOworfSwgJ0ltcG9ydGFudCBydWxlcyBvdmVycmlkZSBhbmltYXRpb25zJyk7
CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0
MykuY29sb3IsICdyZ2IoMCwgMTI4LCAwKScpOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUodGFyZ2V0MykuYmFja2dyb3VuZENvbG9yLCAncmdiKDE1LCAxNSwgMTUpJyk7Cit9LCAn
Tm9uLW92ZXJyaWRlbiBpbnRlcnBvbGF0aW9ucyBhcmUgb2JzZXJ2YWJsZScpOworCit0ZXN0KCgp
ID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldDQsICc6OmJlZm9y
ZScpLmNvbG9yLCAncmdiKDAsIDEyOCwgMCknKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKHRhcmdldDQsICc6OmJlZm9yZScpLmJhY2tncm91bmRDb2xvciwgJ3JnYigxNSwgMTUs
IDE1KScpOworfSwgJ0ltcG9ydGFudCBydWxlcyBvdmVycmlkZSBhbmltYXRpb25zICg6OmJlZm9y
ZSknKTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0
YXJnZXQ1KS5jb2xvciwgJ3JnYigxNSwgMTUsIDE1KScpOworICBhc3NlcnRfZXF1YWxzKGdldENv
bXB1dGVkU3R5bGUodGFyZ2V0NSkuYmFja2dyb3VuZENvbG9yLCAncmdiKDE1LCAxNSwgMTUpJyk7
Cit9LCAnSW1wb3J0YW50IHJ1bGVzIGRvIG5vdCBvdmVycmlkZSBhbmltYXRpb25zIG9uIDp2aXNp
dGVkIGFzIHNlZW4gZnJvbSBKUycpOworCit0ZXN0KCgpID0+IHsKKyAgZ2V0Q29tcHV0ZWRTdHls
ZSh0YXJnZXQ2KS5iYWNrZ3JvdW5kQ29sb3I7CisKKyAgbGV0IGFuaW1hdGlvbiA9IHRhcmdldDYu
YW5pbWF0ZShbCisgICAgeyBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2IoMTAsIDEwLCAxMCknIH0sCisg
ICAgeyBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2IoMjAsIDIwLCAyMCknIH0sCisgIF0sIHsKKyAgICBk
dXJhdGlvbjogMTAwMDAwMCwKKyAgICBkZWxheTogLTUwMDAwMCwKKyAgICBlYXNpbmc6ICdzdGVw
cygyLCBlbmQpJworICB9KTsKKworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFy
Z2V0NikuYmFja2dyb3VuZENvbG9yLCAncmdiKDE1LCAxNSwgMTUpJyk7CisgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQ2KS5jb2xvciwgJ3JnYigyNTUsIDI1NSwgMjU1KScp
OworCisgIGFuaW1hdGlvbi5lZmZlY3Quc2V0S2V5ZnJhbWVzKFsKKyAgICB7IGNvbG9yOiAncmdi
KDEwLCAxMCwgMTApJyB9LAorICAgIHsgY29sb3I6ICdyZ2IoMjAsIDIwLCAyMCknIH0sCisgIF0p
OworCisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQ2KS5iYWNrZ3JvdW5k
Q29sb3IsICdyZ2IoMjU1LCAyNTUsIDI1NSknKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRl
ZFN0eWxlKHRhcmdldDYpLmNvbG9yLCAncmdiKDI1NSwgMjU1LCAyNTUpJyk7Cit9LCAnU3RhbmRh
cmQgcHJvcGVydHkgYW5pbWF0aW9ucyBhcHBlYXJpbmcgdmlhIHNldEtleWZyYW1lcyBkbyBub3Qg
b3ZlcnJpZGUgaW1wb3J0YW50IGRlY2xhcmF0aW9ucycpOworCit0ZXN0KCgpID0+IHsKKyAgZ2V0
Q29tcHV0ZWRTdHlsZSh0YXJnZXQ3KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aC0xJyk7CisK
KyAgbGV0IGFuaW1hdGlvbiA9IHRhcmdldDcuYW5pbWF0ZShbCisgICAgeyAnLS1sZW5ndGgtMSc6
ICcxMDBweCcgfSwKKyAgICB7ICctLWxlbmd0aC0xJzogJzIwMHB4JyB9LAorICBdLCB7CisgICAg
ZHVyYXRpb246IDEwMDAwMDAsCisgICAgZGVsYXk6IC01MDAwMDAsCisgICAgZWFzaW5nOiAnc3Rl
cHMoMiwgZW5kKScKKyAgfSk7CisKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRh
cmdldDcpLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLTEnKSwgJzE1MHB4Jyk7CisgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQ3KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxl
bmd0aC0yJyksICcxMHB4Jyk7CisKKyAgYW5pbWF0aW9uLmVmZmVjdC5zZXRLZXlmcmFtZXMoWwor
ICAgIHsgJy0tbGVuZ3RoLTInOiAnMTAwcHgnIH0sCisgICAgeyAnLS1sZW5ndGgtMic6ICcyMDBw
eCcgfSwKKyAgXSk7CisKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldDcp
LmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLTEnKSwgJzEwcHgnKTsKKyAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldDcpLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLTIn
KSwgJzEwcHgnKTsKK30sICdDdXN0b20gcHJvcGVydHkgYW5pbWF0aW9ucyBhcHBlYXJpbmcgdmlh
IHNldEtleWZyYW1lcyBkbyBub3Qgb3ZlcnJpZGUgaW1wb3J0YW50IGRlY2xhcmF0aW9ucycpOwor
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAyLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50LTAwMi1leHBlY3RlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUyODU1Y2I5MWU2Yjc4MGZjNjM3NTI4MGIwNjQzMzM1ODAyZGQ0ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50LTAwMi1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+CisgIGEgeworICAg
IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigw
LCAxNTAsIDApOworICB9Cis8L3N0eWxlPgorPGEgc3R5bGU9ImNvbG9yOiByZ2IoMTUwLCAwLCAw
KSI+VW52aXNpdGVkPC9hPgorPGEgc3R5bGU9ImNvbG9yOiB3aGl0ZSI+VmlzaXRlZDwvYT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmlt
YXRpb24taW1wb3J0YW50LTAwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhNjhmOGUwY2FjZjA2ZTJlNTc2
MWVmMzkyYjkwYTRmODlmY2M4NDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24t
aW1wb3J0YW50LTAwMi5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRp
dGxlPlRlc3QgdGhhdCBhbmltYXRlZCBwcm9wZXJ0aWVzIG9uIDp2aXNpdGVkIGFyZSBvdmVycmlk
ZGVuIGJ5ICFpbXBvcnRhbnQ8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNhc2NhZGUvI2Nhc2NhZGUtb3JpZ2luIj4KKzxsaW5rIHJl
bD0ibWF0Y2giIGhyZWY9ImFuaW1hdGlvbi1pbXBvcnRhbnQtMDAyLXJlZi5odG1sIj4KKzxzdHls
ZT4KKyAgQGtleWZyYW1lcyBjb2xvcl9hbmRfYmdfYW5pbWF0aW9uIHsKKyAgICBmcm9tIHsgYmFj
a2dyb3VuZC1jb2xvcjogcmdiKDAsIDEwMCwgMCk7IGNvbG9yOiByZ2IoMTAwLCAwLCAwKTsgfQor
ICAgIHRvIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDIwMCwgMCk7IGNvbG9yOiByZ2IoMjAw
LCAwLCAwKTsgfQorICB9CisgIGEgeworICAgIGFuaW1hdGlvbi1uYW1lOiBjb2xvcl9hbmRfYmdf
YW5pbWF0aW9uOworICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMHM7CisgICAgYW5pbWF0aW9u
LWRlbGF5OiAtNTAwczsKKyAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBzdGVwcygyLCBl
bmQpOworICB9CisgIGE6dmlzaXRlZCB7CisgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7Cisg
IH0KKzwvc3R5bGU+Cis8YSBocmVmPSIjdW52aXNpdGVkIj5VbnZpc2l0ZWQ8L2E+Cis8YSBocmVm
PSIiPlZpc2l0ZWQ8L2E+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1kaXNwYXRjaC50ZW50YXRp
dmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL2V2ZW50LWRpc3BhdGNoLnRlbnRhdGl2ZS5odG1sCmluZGV4IGJmNTc4
MmQyNGZkMmU5NTdiZDczMjM1ZTBlMWQ4YjJiMWU3Y2Q0MWQuLjc3MGY5YjAwYjFmZDNkYjQzOGY2
ZDAzZjdjODUzNWNmMWQyZTM2ODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LWRpc3BhdGNoLnRl
bnRhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LWRpc3BhdGNoLnRlbnRhdGl2ZS5odG1sCkBA
IC0yMSw3ICsyMSw4IEBAIGNvbnN0IHNldHVwQW5pbWF0aW9uID0gKHQsIGFuaW1hdGlvblN0eWxl
KSA9PiB7CiAgIGNvbnN0IHdhdGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKHQsIGRpdiwgWyAnYW5p
bWF0aW9uc3RhcnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ2FuaW1hdGlvbml0ZXJhdGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnYW5pbWF0aW9uZW5kJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdhbmltYXRpb25jYW5jZWwnIF0pOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbmNhbmNlbCcgXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFzdEV2ZW50c1RpbWVvdXQpOwogICBjb25z
dCBhbmltYXRpb24gPSBkaXYuZ2V0QW5pbWF0aW9ucygpWzBdOwogCiAgIHJldHVybiB7IGFuaW1h
dGlvbiwgd2F0Y2hlciwgZGl2IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1vcmRlci50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVk
LnR4dAppbmRleCAzMjZiNmYxY2M0ZjNhYzA4NjE3YmE3ZWJmMGY2NzQzZDI3NTU4NzJjLi5jOWU0
MzE4MjM2MGI0Mzc1OWY5Njc1M2Y0MTMyMGYwMmIzMWNiMWU5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9l
dmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVy
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw3IEBACiAKIFBBU1MgU2FtZSBldmVu
dHMgYXJlIG9yZGVyZWQgYnkgZWxlbWVudHMgCiBQQVNTIFNhbWUgZXZlbnRzIG9uIHBzZXVkby1l
bGVtZW50cyBmb2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIgCitGQUlMIFNhbWUgZXZlbnRzIG9u
IHBzZXVkby1lbGVtZW50cyBmb2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIgKDo6bWFya2VyKSBh
c3NlcnRfZXF1YWxzOiBOdW1iZXIgb2YgZXZlbnRzIHJlY2VpdmVkICg0KSBzaG91bGQgbWF0Y2gg
ZXhwZWN0ZWQgbnVtYmVyICg1KSAoZXhwZWN0ZWQ6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25z
dGFydCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYWN0
dWFsOiBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmlt
YXRpb25zdGFydCkgZXhwZWN0ZWQgNSBidXQgZ290IDQKIEZBSUwgU3RhcnQgYW5kIGl0ZXJhdGlv
biBldmVudHMgYXJlIG9yZGVyZWQgYnkgdGltZSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0eXBl
cyBzaG91bGQgbWF0Y2ggKGV4cGVjdGVkOiBhbmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbnN0
YXJ0LCBhY3R1YWw6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25pdGVyYXRpb24pIGV4cGVjdGVk
ICJhbmltYXRpb25pdGVyYXRpb24iIGJ1dCBnb3QgImFuaW1hdGlvbnN0YXJ0IgogRkFJTCBJdGVy
YXRpb24gYW5kIGVuZCBldmVudHMgYXJlIG9yZGVyZWQgYnkgdGltZSBhc3NlcnRfZXF1YWxzOiBF
dmVudCAjMSB0eXBlcyBzaG91bGQgbWF0Y2ggKGV4cGVjdGVkOiBhbmltYXRpb25pdGVyYXRpb24s
IGFuaW1hdGlvbmVuZCwgYWN0dWFsOiBhbmltYXRpb25lbmQsIGFuaW1hdGlvbml0ZXJhdGlvbikg
ZXhwZWN0ZWQgImFuaW1hdGlvbml0ZXJhdGlvbiIgYnV0IGdvdCAiYW5pbWF0aW9uZW5kIgogRkFJ
TCBTdGFydCBhbmQgZW5kIGV2ZW50cyBhcmUgc29ydGVkIGNvcnJlY3RseSB3aGVuIGZpcmVkIHNp
bXVsdGFuZW91c2x5IGFzc2VydF9lcXVhbHM6IEV2ZW50ICMxIHRhcmdldHMgc2hvdWxkIG1hdGNo
IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8ZGl2IHN0eWxlPSJhbmltYXRpb246IGFuaW0gMTAwcyAy
Ij48L2Rpdj4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGRpdiBzdHlsZT0iYW5pbWF0aW9uOiBhbmlt
IDEwMHMgMTAwcyI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRp
dmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS5odG1sCmluZGV4IGY0ZjllMjlh
M2M4NTlkYWFhOTcyN2ZlMzAwOWY4MzdhN2RkZWIxYmUuLjU4ZjBiYjY3Y2FmZGQ2YmM4MWIxN2E4
ODQ1MjgwZGVkOTRiNzNiNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS5odG1sCkBAIC0xMjksNjIg
KzEyOSw2OCBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgICAgICAgICAgICAgICAgICAg
ICAgWydhbmltYXRpb25lbmQnLCBkaXYyLCAyMDBdKTsKIH0sICdTYW1lIGV2ZW50cyBhcmUgb3Jk
ZXJlZCBieSBlbGVtZW50cycpOwogCi1wcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gIC8vIFNl
dHVwIGEgaGllcmFyY2h5IGFzIGZvbGxvd3M6Ci0gIC8vCi0gIC8vICAgICAgICAgICAgICBwYXJl
bnQKLSAgLy8gICAgICAgICAgICAgICAgfAotICAvLyAgKDo6bWFya2VyLCA6OmJlZm9yZSwgOjph
ZnRlcikKLSAgLy8gICAgICAgICAgICAgICAgfAotICAvLyAgICAgICAgICAgICAgY2hpbGQKLSAg
Y29uc3QgcGFyZW50RGl2ID0gYWRkRGl2KHQsIHsgc3R5bGU6ICdhbmltYXRpb246IGFuaW0gMTAw
cycgfSk7Ci0KLSAgcGFyZW50RGl2LmlkID0gJ3BhcmVudC1kaXYnOwotICBhZGRTdHlsZSh0LCB7
Ci0gICAgJyNwYXJlbnQtZGl2OjphZnRlcic6ICJjb250ZW50OiAnJzsgYW5pbWF0aW9uOiBhbmlt
IDEwMHMiLAotICAgICcjcGFyZW50LWRpdjo6YmVmb3JlJzogImNvbnRlbnQ6ICcnOyBhbmltYXRp
b246IGFuaW0gMTAwcyIsCi0gIH0pOwotCi0gIGlmIChDU1Muc3VwcG9ydHMoJ3NlbGVjdG9yKDo6
bWFya2VyKScpKSB7Ci0gICAgcGFyZW50RGl2LnN0eWxlLmRpc3BsYXkgPSAnbGlzdC1pdGVtJzsK
K2Z1bmN0aW9uIHBzZXVkb1Rlc3QoZGVzY3JpcHRpb24sIHRlc3RNYXJrZXJQc2V1ZG9zKSB7Cisg
IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAvLyBTZXR1cCBhIGhpZXJhcmNoeSBhcyBm
b2xsb3dzOgorICAgIC8vCisgICAgLy8gICAgICAgICAgICAgIHBhcmVudAorICAgIC8vICAgICAg
ICAgICAgICAgIHwKKyAgICAvLyAgKDo6bWFya2VyLCA6OmJlZm9yZSwgOjphZnRlcikgLy8gOjpt
YXJrZXIgb3B0aW9uYWwKKyAgICAvLyAgICAgICAgICAgICAgICB8CisgICAgLy8gICAgICAgICAg
ICAgIGNoaWxkCisgICAgY29uc3QgcGFyZW50RGl2ID0gYWRkRGl2KHQsIHsgc3R5bGU6ICdhbmlt
YXRpb246IGFuaW0gMTAwcycgfSk7CisKKyAgICBwYXJlbnREaXYuaWQgPSAncGFyZW50LWRpdic7
CiAgICAgYWRkU3R5bGUodCwgewotICAgICAgJyNwYXJlbnQtZGl2OjptYXJrZXInOiAiY29udGVu
dDogJyc7IGFuaW1hdGlvbjogY29sb3ItYW5pbSAxMDBzIiwKKyAgICAgICcjcGFyZW50LWRpdjo6
YWZ0ZXInOiAiY29udGVudDogJyc7IGFuaW1hdGlvbjogYW5pbSAxMDBzIiwKKyAgICAgICcjcGFy
ZW50LWRpdjo6YmVmb3JlJzogImNvbnRlbnQ6ICcnOyBhbmltYXRpb246IGFuaW0gMTAwcyIsCiAg
ICAgfSk7Ci0gIH0KIAotICBjb25zdCBjaGlsZERpdiA9IGFkZERpdih0LCB7IHN0eWxlOiAnYW5p
bWF0aW9uOiBhbmltIDEwMHMnIH0pOwotICBwYXJlbnREaXYuYXBwZW5kKGNoaWxkRGl2KTsKLQot
ICAvLyBTZXR1cCBldmVudCBoYW5kbGVycwotICBsZXQgZXZlbnRzID0gW107Ci0gIGZvciAoY29u
c3QgbmFtZSBvZiBbJ3N0YXJ0JywgJ2l0ZXJhdGlvbicsICdlbmQnLCAnY2FuY2VsJ10pIHsKLSAg
ICBwYXJlbnREaXZbJ29uYW5pbWF0aW9uJyArIG5hbWVdID0gZXZ0ID0+IHsKLSAgICAgIGV2ZW50
cy5wdXNoKHsKLSAgICAgICAgdHlwZTogZXZ0LnR5cGUsCi0gICAgICAgIHRhcmdldDogZXZ0LnRh
cmdldCwKLSAgICAgICAgcHNldWRvRWxlbWVudDogZXZ0LnBzZXVkb0VsZW1lbnQsCi0gICAgICAg
IGVsYXBzZWRUaW1lOiBldnQuZWxhcHNlZFRpbWUsCisgICAgaWYgKHRlc3RNYXJrZXJQc2V1ZG9z
KSB7CisgICAgICBwYXJlbnREaXYuc3R5bGUuZGlzcGxheSA9ICdsaXN0LWl0ZW0nOworICAgICAg
YWRkU3R5bGUodCwgeworICAgICAgICAnI3BhcmVudC1kaXY6Om1hcmtlcic6ICJjb250ZW50OiAn
JzsgYW5pbWF0aW9uOiBjb2xvci1hbmltIDEwMHMiLAogICAgICAgfSk7Ci0gICAgfTsKLSAgfQot
Ci0gIC8vIFdhaXQgYSBjb3VwbGUgb2YgZnJhbWVzIGZvciB0aGUgZXZlbnRzIHRvIGJlIGRpc3Bh
dGNoZWQKLSAgYXdhaXQgd2FpdEZvckZyYW1lKCk7Ci0gIGF3YWl0IHdhaXRGb3JGcmFtZSgpOwot
Ci0gIGNvbnN0IGV4cGVjdGVkRXZlbnRzID0gWwotICAgIFsnYW5pbWF0aW9uc3RhcnQnLCBwYXJl
bnREaXYsIDBdLAotICAgIFsnYW5pbWF0aW9uc3RhcnQnLCBwYXJlbnREaXYsICc6Om1hcmtlcics
IDBdLAotICAgIFsnYW5pbWF0aW9uc3RhcnQnLCBwYXJlbnREaXYsICc6OmJlZm9yZScsIDBdLAot
ICAgIFsnYW5pbWF0aW9uc3RhcnQnLCBwYXJlbnREaXYsICc6OmFmdGVyJywgMF0sCi0gICAgWydh
bmltYXRpb25zdGFydCcsIGNoaWxkRGl2LCAwXSwKLSAgXTsKLSAgaWYgKCFDU1Muc3VwcG9ydHMo
J3NlbGVjdG9yKDo6bWFya2VyKScpKSB7Ci0gICAgZXhwZWN0ZWRFdmVudHMuc3BsaWNlKDEsIDEp
OwotICB9CisgICAgfQorCisgICAgY29uc3QgY2hpbGREaXYgPSBhZGREaXYodCwgeyBzdHlsZTog
J2FuaW1hdGlvbjogYW5pbSAxMDBzJyB9KTsKKyAgICBwYXJlbnREaXYuYXBwZW5kKGNoaWxkRGl2
KTsKKworICAgIC8vIFNldHVwIGV2ZW50IGhhbmRsZXJzCisgICAgbGV0IGV2ZW50cyA9IFtdOwor
ICAgIGZvciAoY29uc3QgbmFtZSBvZiBbJ3N0YXJ0JywgJ2l0ZXJhdGlvbicsICdlbmQnLCAnY2Fu
Y2VsJ10pIHsKKyAgICAgIHBhcmVudERpdlsnb25hbmltYXRpb24nICsgbmFtZV0gPSBldnQgPT4g
eworICAgICAgICBldmVudHMucHVzaCh7CisgICAgICAgICAgdHlwZTogZXZ0LnR5cGUsCisgICAg
ICAgICAgdGFyZ2V0OiBldnQudGFyZ2V0LAorICAgICAgICAgIHBzZXVkb0VsZW1lbnQ6IGV2dC5w
c2V1ZG9FbGVtZW50LAorICAgICAgICAgIGVsYXBzZWRUaW1lOiBldnQuZWxhcHNlZFRpbWUsCisg
ICAgICAgIH0pOworICAgICAgfTsKKyAgICB9CisKKyAgICAvLyBXYWl0IGEgY291cGxlIG9mIGZy
YW1lcyBmb3IgdGhlIGV2ZW50cyB0byBiZSBkaXNwYXRjaGVkCisgICAgYXdhaXQgd2FpdEZvckZy
YW1lKCk7CisgICAgYXdhaXQgd2FpdEZvckZyYW1lKCk7CisKKyAgICBjb25zdCBleHBlY3RlZEV2
ZW50cyA9IFsKKyAgICAgIFsnYW5pbWF0aW9uc3RhcnQnLCBwYXJlbnREaXYsIDBdLAorICAgICAg
WydhbmltYXRpb25zdGFydCcsIHBhcmVudERpdiwgJzo6bWFya2VyJywgMF0sCisgICAgICBbJ2Fu
aW1hdGlvbnN0YXJ0JywgcGFyZW50RGl2LCAnOjpiZWZvcmUnLCAwXSwKKyAgICAgIFsnYW5pbWF0
aW9uc3RhcnQnLCBwYXJlbnREaXYsICc6OmFmdGVyJywgMF0sCisgICAgICBbJ2FuaW1hdGlvbnN0
YXJ0JywgY2hpbGREaXYsIDBdLAorICAgIF07CisgICAgaWYgKCF0ZXN0TWFya2VyUHNldWRvcykg
eworICAgICAgZXhwZWN0ZWRFdmVudHMuc3BsaWNlKDEsIDEpOworICAgIH0KKworICAgIGNoZWNr
RXZlbnRzKGV2ZW50cywgLi4uZXhwZWN0ZWRFdmVudHMpOworICB9LCBkZXNjcmlwdGlvbik7Cit9
CiAKLSAgY2hlY2tFdmVudHMoZXZlbnRzLCAuLi5leHBlY3RlZEV2ZW50cyk7Ci19LCAnU2FtZSBl
dmVudHMgb24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUgcHJlc2NyaWJlZCBvcmRlcicpOwor
cHNldWRvVGVzdCgnU2FtZSBldmVudHMgb24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUgcHJl
c2NyaWJlZCBvcmRlcicsIGZhbHNlKTsKK3BzZXVkb1Rlc3QoJ1NhbWUgZXZlbnRzIG9uIHBzZXVk
by1lbGVtZW50cyBmb2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIgJyArCisgICAgJyg6Om1hcmtl
ciknLCB0cnVlKTsKIAogcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBsZXQgZXZlbnRzID0g
W107CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9oaXN0b3JpY2FsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9oaXN0b3JpY2Fs
Lmh0bWwKaW5kZXggNWI5NmE0MjJmNTVmNDVjZGRhYmRmMDExYWNiODNlNTA4MWVjMWVmMy4uZjli
MTNmYTAxNjMyM2Y1MzYyMzAzODE2N2VkN2U0NDRmMTBmZDBiMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
aGlzdG9yaWNhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2hpc3RvcmljYWwuaHRtbApAQCAtMSw3ICsxLDcg
QEAKIDwhRE9DVFlQRSBodG1sPgogCiA8dGl0bGU+SGlzdG9yaWNhbCBDU1MgQW5pbWF0aW9uIGZl
YXR1cmVzIG11c3QgYmUgcmVtb3ZlZDwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucyI+Cis8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtYW5pbWF0aW9ucy0xLyNhbmltYXRpb25zIj4K
IAogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMva2V5ZnJhbWVzLXJlbW92ZS1kb2N1bWVudEVsZW1lbnQtY3Jhc2gtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMva2V5ZnJhbWVzLXJlbW92ZS1kb2N1bWVudEVsZW1lbnQtY3Jhc2gt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2M2EwNGMyOGIxMmQ1
MDAzNzMxN2E2YjQ5ZTllNGVhZGM5MjJhMmEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2tleWZyYW1lcy1yZW1vdmUtZG9jdW1lbnRFbGVtZW50
LWNyYXNoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotQ09OU09M
RSBNRVNTQUdFOiBUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCcpCi0jUElEIFVOUkVTUE9OU0lWRSAtIFdlYktpdFRl
c3RSdW5uZXIgKHBpZCA4NDU3MCkKLUZBSUw6IFRpbWVkIG91dCB3YWl0aW5nIGZvciBub3RpZnlE
b25lIHRvIGJlIGNhbGxlZAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9zdXBwb3J0L3Rlc3Rjb21tb24u
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9zdXBwb3J0L3Rlc3Rjb21tb24uanMKaW5kZXggYjRmZGU0Yjk2N2RlMmViNjdj
YjNlMDgxOWMzYTg5NjM3NWU4NjFmOS4uZTI2YTdhMTg1OGFiOWU0ZDQwNGZhOWZiNzZiNGE5ZjRj
NGYxMzU3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvc3VwcG9ydC90ZXN0Y29tbW9uLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL3N1cHBvcnQvdGVzdGNvbW1vbi5qcwpAQCAtMzYsNiArMzYsNTUgQEAgZnVuY3Rpb24gYXNz
ZXJ0X3RpbWVfZXF1YWxzX2xpdGVyYWwoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pIHsK
ICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgVElNRV9QUkVDSVNJT04s
IGRlc2NyaXB0aW9uKTsKIH0KIAorLyoKKyAqIENvbXBhcmUgdHdvIGtleWZyYW1lcworICovCitm
dW5jdGlvbiBhc3NlcnRfZnJhbWVzX2VxdWFsKGFjdHVhbCwgZXhwZWN0ZWQsIG5hbWUpIHsKKyAg
Ly8gVE9ETzogTWFrZSB0aGlzIHNraXAgdGhlICdjb21wb3NpdGUnIG1lbWJlciB3aGVuIGl0IGlz
IG5vdCBzcGVjaWZpZWQgaW4KKyAgLy8gYGV4cGVjdGVkYCBvciB3aGVuIHRoZSBpbXBsZW1lbnRh
dGlvbiBkb2VzIG5vdCBzdXBwb3J0IGl0LgorICBhc3NlcnRfYXJyYXlfZXF1YWxzKAorICAgIE9i
amVjdC5rZXlzKGFjdHVhbCkuc29ydCgpLAorICAgIE9iamVjdC5rZXlzKGV4cGVjdGVkKS5zb3J0
KCksCisgICAgYHByb3BlcnRpZXMgb24gJHtuYW1lfSBzaG91bGQgbWF0Y2hgCisgICk7CisKKyAg
Zm9yIChjb25zdCBwcm9wIGluIGFjdHVhbCkgeworICAgIGlmICgKKyAgICAgIC8vICdvZmZzZXQn
IGNhbiBiZSBudWxsCisgICAgICAocHJvcCA9PT0gJ29mZnNldCcgJiYgdHlwZW9mIGFjdHVhbFtw
cm9wXSA9PT0gJ251bWJlcicpIHx8CisgICAgICBwcm9wID09PSAnY29tcHV0ZWRPZmZzZXQnCisg
ICAgKSB7CisgICAgICBhc3NlcnRfYXBwcm94X2VxdWFscygKKyAgICAgICAgYWN0dWFsW3Byb3Bd
LAorICAgICAgICBleHBlY3RlZFtwcm9wXSwKKyAgICAgICAgMC4wMDAwMSwKKyAgICAgICAgInZh
bHVlIGZvciAnIiArIHByb3AgKyAiJyBvbiAiICsgbmFtZQorICAgICAgKTsKKyAgICB9IGVsc2Ug
eworICAgICAgYXNzZXJ0X2VxdWFscygKKyAgICAgICAgYWN0dWFsW3Byb3BdLAorICAgICAgICBl
eHBlY3RlZFtwcm9wXSwKKyAgICAgICAgYHZhbHVlIGZvciAnJHtwcm9wfScgb24gJHtuYW1lfSBz
aG91bGQgbWF0Y2hgCisgICAgICApOworICAgIH0KKyAgfQorfQorCisvKgorICogQ29tcGFyZSB0
d28gbGlzdHMgb2Yga2V5ZnJhbWVzCisgKi8KK2Z1bmN0aW9uIGFzc2VydF9mcmFtZV9saXN0c19l
cXVhbChhY3R1YWwsIGV4cGVjdGVkKSB7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYWN0dWFsLmxl
bmd0aCwKKyAgICBleHBlY3RlZC5sZW5ndGgsCisgICAgJ051bWJlciBvZiBrZXlmcmFtZXMgc2hv
dWxkIG1hdGNoJworICApOworCisgIGZvciAobGV0IGkgPSAwOyBpIDwgYWN0dWFsLmxlbmd0aDsg
aSsrKSB7CisgICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChhY3R1YWxbaV0sIGV4cGVjdGVkW2ldLCBg
S2V5ZnJhbWUgIyR7aX1gKTsKKyAgfQorfQorCiAvKioKICAqIEFwcGVuZHMgYSBkaXYgdG8gdGhl
IGRvY3VtZW50IGJvZHkuCiAgKgpAQCAtMTQyLDYgKzE5MSwxNSBAQCBmdW5jdGlvbiB3YWl0Rm9y
QW5pbWF0aW9uRnJhbWVzKGZyYW1lQ291bnQsIG9uRnJhbWUpIHsKICAgfSk7CiB9CiAKKy8qKgor
ICogVGltZW91dCBmdW5jdGlvbiB1c2VkIGZvciB0ZXN0cyB3aXRoIEV2ZW50V2F0Y2hlcnMgd2hl
biBhbGwgYW5pbWF0aW9uIGV2ZW50cworICogc2hvdWxkIGJlIHJlY2VpdmVkIG9uIHRoZSBuZXh0
IGFuaW1hdGlvbiBmcmFtZS4gSWYgdHdvIGZyYW1lcyBwYXNzIGJlZm9yZQorICogcmVjZWl2aW5n
IHRoZSBleHBlY3RlZCBldmVudHMsIHRoZW4gd2UgY2FuIGltbWVkaWF0ZSBmYWlsIHRoZSB0ZXN0
LgorICovCitmdW5jdGlvbiBmYXN0RXZlbnRzVGltZW91dCgpIHsKKyAgcmV0dXJuIHdhaXRGb3JB
bmltYXRpb25GcmFtZXMoMik7Cit9OworCiAvKioKICAqIFdyYXBwZXIgdGhhdCB0YWtlcyBhIHNl
cXVlbmNlIG9mIE4gYW5pbWF0aW9ucyBhbmQgcmV0dXJuczoKICAqCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3czYy1pbXBvcnQubG9nCmluZGV4IGViM2RiOTBjMGNl
N2FhMzg1MGE1MmZjMmNiNTk3ZGVmYjkyNGU5YjUuLmI1MzRmMmNiYzlkNDdjYjlhZmEzOWVlZWIw
ODc1ZWNkNDExMTBiY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3czYy1pbXBvcnQubG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL3czYy1pbXBvcnQubG9nCkBAIC0xNSw2ICsxNSw3IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9BbmltYXRpb25FZmZlY3QtZ2V0Q29tcHV0ZWRUaW1p
bmcudGVudGF0aXZlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9BbmltYXRpb25FZmZlY3QtdXBkYXRlVGltaW5nLnRl
bnRhdGl2ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWFuaW1hdGlvbk5hbWUudGVudGF0aXZl
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tY2FuY2VsaW5nLnRlbnRhdGl2ZS5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvQ1NTQW5pbWF0aW9uLWNvbXBvc2l0ZU9yZGVyLnRlbnRhdGl2ZS5odG1sCkBAIC0zMCw4ICsz
MSwxMyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0VsZW1lbnQtZ2V0QW5pbWF0aW9ucy1keW5h
bWljLWNoYW5nZXMudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9FbGVtZW50LWdldEFuaW1hdGlvbnMu
dGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1nZXRLZXlmcmFtZXMudGVudGF0
aXZlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC10YXJnZXQudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9N
RVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMS5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
YW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1y
ZXNwb25zZS0wMDMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwNC5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvYW5pbWF0aW9uLWJlZm9yZS1pbml0aWFsLWJveC1jb25zdHJ1Y3Rpb24tMDAxLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9hbmltYXRpb24tZGVsYXktMDA4LWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmlt
YXRpb24tZGVsYXktMDA4Lmh0bWwKQEAgLTQxLDYgKzQ3LDkgQEAgTGlzdCBvZiBmaWxlczoKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9hbmltYXRpb24tZGVsYXktMDEwLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tZGVsYXktMDEx
LWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tZGVsYXktMDExLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9h
bmltYXRpb24taW1wb3J0YW50LTAwMS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWltcG9ydGFudC0w
MDItZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAyLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LWNhbGMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlv
bi1vcGFjaXR5LXBhdXNlLWFuZC1zZXQtdGltZS1leHBlY3RlZC5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0
aW9uLW9wYWNpdHktcGF1c2UtYW5kLXNldC10aW1lLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397476</attachid>
            <date>2020-04-24 11:43:54 -0700</date>
            <delta_ts>2020-04-24 12:50:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210964-20200424204348.patch</filename>
            <type>text/plain</type>
            <size>120126</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggNTgyZGY5NzZmYjI2ZTk5MzQ3Mjg2ODcyNjQxNWJkYjZhOTc1ZTE4MS4uZDZiNzgxY2RlZmRi
NTdhMTRmODE3YmMwMWIwY2QzOWFlOGY0NjhmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTI0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0Bh
cHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHRoZSBjc3MvY3NzLWFuaW1hdGlvbnMgV1BUIHRl
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA5
NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBv
c2UgdGhlIENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMgZXhwZXJpbWVudGFsIGZlYXR1cmUg
c3VjaCB0aGF0IGl0IG1heSBiZSBzZXQgaW4gRHVtcFJlbmRlclRyZWUuCisKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIENTU0N1c3RvbVByb3Bl
cnRpZXNBbmRWYWx1ZXNFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldENT
U0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgor
CiAyMDIwLTA0LTIzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgSmVzdXMgQ2FsbGluZyBhcHAgbmVlZHMgbW9yZSBXZWJTUUwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0NoYW5nZUxvZwppbmRleCA4YWZiMzE1YWRkZjM4NGExYTQ0OGYzODg2ZDk1MjY1Njdj
YjU0NmQ0Li42MDA1OGUyZjZlY2U0NGQxYzU1YzkyZmJhNTQzMTNhMGZiNDAxY2FjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDQtMjQgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgdGhlIGNzcy9j
c3MtYW5pbWF0aW9ucyBXUFQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDk2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEV4cG9zZSB0aGUgQ1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlcyBl
eHBlcmltZW50YWwgZmVhdHVyZSBzdWNoIHRoYXQgaXQgbWF5IGJlIHNldCBpbiBEdW1wUmVuZGVy
VHJlZS4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6
CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJl
ZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0
U2V0dGluZ3MpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViVmll
dy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAy
MDIwLTA0LTIwICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAogICAg
ICAgICBDbGFzc2VzIG1hcmtlZCBmaW5hbCBzaG91bGQgbm90IHVzZSBwcm90ZWN0ZWQgYWNjZXNz
IHNwZWNpZmllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNzdiMzk4OTUwMjAyNWU2MWQ3Mjc2
OTBjNWU5ZWM4MWIyZGRhZTNiYi4uNzY3YWE0Mjk1NGFmZGE5ZWVjMTNmMDg1OTM2OTdiNTQ0NDRi
YmJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC01NSw2ICs1NSw3IEBACiAjZGVmaW5lIFdl
YktpdFdlYkFuaW1hdGlvbnNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkFuaW1hdGlv
bnNFbmFibGVkIgogI2RlZmluZSBXZWJLaXRXZWJBbmltYXRpb25zQ29tcG9zaXRlT3BlcmF0aW9u
c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJh
dGlvbnNFbmFibGVkIgogI2RlZmluZSBXZWJLaXRXZWJBbmltYXRpb25zTXV0YWJsZVRpbWVsaW5l
c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViQW5pbWF0aW9uc011dGFibGVUaW1lbGlu
ZXNFbmFibGVkIgorI2RlZmluZSBXZWJLaXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0U3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRTeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkIgogI2RlZmlu
ZSBXZWJLaXRXZWJTZWN1cml0eUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViU2VjdXJp
dHlFbmFibGVkIgogI2RlZmluZSBXZWJLaXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJM
c1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
CmluZGV4IDExNGQzZTYzYTdhOWIwZTBhYzM0NTA5MGE0N2JjNWVmYmE0NTIxMGYuLmQ5YTA1Y2U3
ODk4YWI5ZTNjMzM0NjY4ZGRmMTE3OWFmMTc0Mzg2YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzIzOSw2ICszMjM5LDE2
IEBAIC0gKHZvaWQpc2V0V2ViQW5pbWF0aW9uc011dGFibGVUaW1lbGluZXNFbmFibGVkOihCT09M
KWZsYWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFdlYkFuaW1h
dGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09M
KUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxm
IF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJs
ZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5k
VmFsdWVzRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFn
IGZvcktleTpXZWJLaXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZFByZWZlcmVu
Y2VLZXldOworfQorCiAtIChCT09MKXN5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQKIHsK
ICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZHNFbmFibGVkUHJlZmVyZW5jZUtleV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBhODQ1NDlk
NGFiZDFjNWQyNmRkZjliYmYzYjRkZTc5ZGQ0MDdjMThkLi5jMDU2OGMxZWZkMGE1NzMzMTFlYzZm
YjAzMDI4NjU4MzY4NGYwMWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTU4Niw2ICs1ODYsOSBAQCBl
eHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5v
dGlmaWNhdGlvbiBXRUJLSVRfREVQUgogLSAodm9pZClzZXRXZWJBbmltYXRpb25zTXV0YWJsZVRp
bWVsaW5lc0VuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpd2ViQW5pbWF0aW9uc011dGFibGVU
aW1lbGluZXNFbmFibGVkOwogCistICh2b2lkKXNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1
ZXNFbmFibGVkOihCT09MKWZsYWc7CistIChCT09MKUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1
ZXNFbmFibGVkOworCiAtICh2b2lkKXNldFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQ6
KEJPT0wpZmxhZzsKIC0gKEJPT0wpc3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGRiOTkwZWY2
YWNhYzQzOThiMjQ0ZGJmMjJkYzAzNjM0ZWRhMTU5OGQuLjhhMjE4OWE4ZGU4MmUzZWQ5Njc3MTMz
YWQ5NzA5ZWEwZjZmYTU5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KQEAgLTMxOTUsNiArMzE5NSw4IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdl
ZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNF
bmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBbmltYXRpb25zQ29tcG9zaXRlT3BlcmF0aW9uc0VuYWJs
ZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdl
YkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxlZChbcHJlZmVyZW5jZXMgd2ViQW5pbWF0
aW9uc011dGFibGVUaW1lbGluZXNFbmFibGVkXSk7CiAKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFi
bGVkKFtwcmVmZXJlbmNlcyBDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZF0pOwor
CiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZChw
cmVmZXJlbmNlcy5pbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbAppbmRleCBkZmZkOTRkZDg2YzJmZmQ3MDY3MDhhYzc3MDc3NmNlYjAz
MGVkYjQ5Li4wYzdlOTJiYzExZWFlMGJhYmUxZDA0NjUwNmQwMmYzNzY2ODRkMTgzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5pZGwKQEAgLTI1NCw2ICsyNTQsOCBAQCBpbnRlcmZhY2UgSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZTcgOiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNgogICAgIEhSRVNVTFQg
c2V0V2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVkKFtpbl0gQk9PTCBlbmFi
bGVkKTsKICAgICBIUkVTVUxUIHdlYkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxlZChb
b3V0LCByZXR2YWxdIEJPT0wqKTsKICAgICBIUkVTVUxUIHNldFdlYkFuaW1hdGlvbnNNdXRhYmxl
VGltZWxpbmVzRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBDU1NDdXN0
b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBI
UkVTVUxUIHNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKFtpbl0gQk9PTCBl
bmFibGVkKTsKICAgICBIUkVTVUxUIGFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRF
bmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOwogICAgIEhSRVNVTFQgc2V0QXNwZWN0UmF0aW9P
ZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogICAgIEhS
RVNVTFQgc2V0V2ViU1FMRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IGFkNDRm
ODMxMjY1NzMxODUzMmFkMzk0N2U2MjczZmRkNzJiYjJlMmQuLjgwNDUzMWE0NmJmYjU3MjNmNmVk
MWNhYzMyZjk1OGYxMzNmZWMyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xOTUsNiArMTk1LDggQEAKIAogI2RlZmlu
ZSBXZWJLaXRXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSAi
V2ViS2l0V2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCIKIAorI2RlZmluZSBXZWJL
aXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktp
dENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFVz
ZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAK
ICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0
UmVzb3VyY2VUaW1pbmdFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZXMuY3BwCmluZGV4IGRkMjllOTIzNmNhODc4MGY4NzViNjE2MGI5MWU0ODY3Y2NiY2NkYjgu
LmFlYjkxYTczNTA3MzhjYjMzZDA2ZDNjY2JkOGY0MGE1ZjUzYmMwMWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTMyMiw2ICszMjIsOCBAQCB2b2lk
IFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkKIAogICAgIENGRGlj
dGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRXZWJBbmltYXRpb25zQ1NTSW50
ZWdyYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBD
RkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0Q1NTQ3VzdG9tUHJvcGVy
dGllc0FuZFZhbHVlc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwog
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRVc2VyVGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCiAgICAgQ0ZEaWN0aW9u
YXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlByZWZlcmVuY2VzLmgKaW5kZXggZmE1Nzk0YmJmYjNiMTE0ZTc1NWY5NDk0NzUyMTI4OTljYzA5
OTEyYS4uZjdmZTc2ODQyYjRkZDIzMjk4MWVmZmY3MjFjMWZhNGIxMDk3OWU5OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0yOTUsNiArMjk1LDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRXZWJBbmltYXRp
b25zQ29tcG9zaXRlT3BlcmF0aW9uc0VuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIHdlYkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxlZChf
T3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFdl
YkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxlZChCT09MKTsKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgQ1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJs
ZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZChCT09MKTsKICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgYXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhl
aWdodEVuYWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBzZXRBc3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZChCT09M
KTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgd2ViU1FMRW5hYmxlZChf
T3V0XyBCT09MKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IDcyMTY5NDcz
NGQ0MGRkNjM2MDkzNTFjMzljZTgzZGIyMjNhNWFjMjUuLjRhNTlkYmVlNzk3OTA3MTQ0ZDI0MmQz
ZjhlZjIxN2IzMDY5N2JlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC01
Mjc5LDYgKzUyNzksMTEgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5n
ZWQoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm4gaHI7CiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJBbmltYXRp
b25zQ1NTSW50ZWdyYXRpb25FbmFibGVkKCEhZW5hYmxlZCk7CiAKKyAgICBociA9IHByZWZzUHJp
dmF0ZS0+Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoJmVuYWJsZWQpOworICAg
IGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVz
RW5hYmxlZCghIWVuYWJsZWQpOworCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnVzZXJUaW1pbmdF
bmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhy
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA3
N2FmODYyNGE0NGU1MmU4MDUyN2M0M2ZhNzc4NjI3N2VjMmVmZWMuLjRiZWMyN2U4ZWQ5Mjk5NDkz
ODMyY2Y0YWUxZTZjNWE0MDE3ZjMwYzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNC0yNCAgQW50b2luZSBR
dWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSB0aGUgY3NzL2Nzcy1h
bmltYXRpb25zIFdQVCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjEwOTY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVHVybiBvbiB0aGUgQ1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlcyBleHBl
cmltZW50YWwgZmVhdHVyZSB3aGljaCBhIG5ldyB0ZXN0IHJlbGllcyBvbi4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKGVuYWJsZUV4
cGVyaW1lbnRhbEZlYXR1cmVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwOgorICAgICAgICAoZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMpOgorCiAy
MDIwLTA0LTIzICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAg
c3RyZXNzL2Vuc3VyZS1jcmFzaC5qcyBzaG91bGRuJ3Qgc3BldyBzdHVmZiBvbnRvIG15IHNjcmVl
bgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDkzMTRh
YjE1NmY3NGQwNmIzYmRmNmU1NTVlYjNjZGUzZGU0ODAxNzcuLmMwNDI1MWU2NjM4NDU0MzNkODU5
MzcwYjFjYzY1ODg4OGQzZTI3YTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW0KQEAgLTg2Niw2ICs4NjYsNyBAQCBzdGF0aWMgdm9pZCBlbmFibGVFeHBlcmlt
ZW50YWxGZWF0dXJlcyhXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgW3ByZWZlcmVu
Y2VzIHNldFdlYkFuaW1hdGlvbnNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFdl
YkFuaW1hdGlvbnNDb21wb3NpdGVPcGVyYXRpb25zRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJl
bmNlcyBzZXRXZWJBbmltYXRpb25zTXV0YWJsZVRpbWVsaW5lc0VuYWJsZWQ6WUVTXTsKKyAgICBb
cHJlZmVyZW5jZXMgc2V0Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQ6WUVTXTsK
ICAgICBbcHJlZmVyZW5jZXMgc2V0V2ViR0wyRW5hYmxlZDpZRVNdOwogICAgIC8vIEZJWE1FOiBB
c3luY0ZyYW1lU2Nyb2xsaW5nRW5hYmxlZAogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVu
YWJsZWQ6Tk9dOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5k
ZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAK
aW5kZXggOGNjNzNjMWE1ZDI5MjllODVlOWVmOGJiODQ3YjQyMmMzYTFlYjNmMi4uMGIzN2FkNDVm
ZTE4YjJhOTQ2NWFjMzU3MjNiY2RjZTY5NTZmNjM2MiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCkBAIC03OTksNiArNzk5LDcgQEAgc3RhdGljIHZvaWQg
ZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykK
ICAgICBwcmVmc1ByaXZhdGUtPnNldFdlYkFuaW1hdGlvbnNFbmFibGVkKFRSVUUpOwogICAgIHBy
ZWZzUHJpdmF0ZS0+c2V0V2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVkKFRS
VUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0V2ViQW5pbWF0aW9uc011dGFibGVUaW1lbGluZXNF
bmFibGVkKFRSVUUpOworICAgIHByZWZzUHJpdmF0ZS0+c2V0Q1NTQ3VzdG9tUHJvcGVydGllc0Fu
ZFZhbHVlc0VuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXRTZXJ2ZXJUaW1pbmdF
bmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0QXNwZWN0UmF0aW9PZkltZ0Zyb21X
aWR0aEFuZEhlaWdodEVuYWJsZWQoVFJVRSk7CiAgICAgLy8gRklYTUU6IFdlYkdMMgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGVjM2Q4OTVlZGQzNmNiMTljYmY4N2EzMmUyOTUwMWE2ZmMyNzJhZDMuLjI0MzgzNDljMDkxMmRi
MTIwZGZhMzk5YTUyYzU5NWY1MGM2ZTIzODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0w
NC0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0
ZSB0aGUgY3NzL2Nzcy1hbmltYXRpb25zIFdQVCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwOTY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KwogMjAyMC0wNC0yNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIElt
cG9ydCBmZXRjaC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCmluZGV4IDc1NTNiNmU4MmQzNWZlZmJiNmM3YWE5ZTg3YTIyMmNiYzVk
OWRkY2QuLjhkZDhjY2E4NDBlZDYwYjNlYTY2M2RkZTIxZTZmNjg5ZDVhNzE1MjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTA0LTI0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHRoZSBjc3Mv
Y3NzLWFuaW1hdGlvbnMgV1BUIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA5NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246Cisg
ICAgICAgICogcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb246CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9BbmltYXRpb25FZmZlY3QtdXBkYXRlVGlt
aW5nLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQW5pbWF0aW9uRWZmZWN0LXVwZGF0ZVRpbWluZy50
ZW50YXRpdmUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tY29tcG9zaXRlT3JkZXIudGVudGF0aXZlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0NTU0FuaW1hdGlvbi1jb21wb3NpdGVPcmRlci50ZW50YXRpdmUuaHRtbDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1lZmZlY3Qu
dGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1lZmZlY3QudGVudGF0aXZlLmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24t
ZmluaXNoZWQudGVudGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tcGF1c2luZy50ZW50YXRpdmUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NT
QW5pbWF0aW9uLXBhdXNpbmcudGVudGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tcmVhZHkudGVudGF0aXZlLmh0
bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1
bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25z
LnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlm
cmFtZUVmZmVjdC1nZXRLZXlmcmFtZXMudGVudGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1zZXRLZXlmcmFt
ZXMudGVudGF0aXZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVu
dGF0aXZlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAxLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmlt
YXRpb24tYmFzZS1yZXNwb25zZS0wMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1i
YXNlLXJlc3BvbnNlLTAwMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1h
dGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDA0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24t
YmFzZS1yZXNwb25zZS0wMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50LTAwMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvYW5pbWF0aW9uLWltcG9ydGFudC0wMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50LTAwMi1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtZGlzcGF0Y2gu
dGVudGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZl
Lmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9o
aXN0b3JpY2FsLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9rZXlmcmFtZXMtcmVtb3ZlLWRvY3VtZW50RWxlbWVudC1jcmFzaC1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9zdXBwb3J0L3Rlc3Rjb21tb24uanM6CisgICAgICAgIChhc3NlcnRfZnJhbWVzX2VxdWFs
KToKKyAgICAgICAgKGFzc2VydF9mcmFtZV9saXN0c19lcXVhbCk6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy93M2MtaW1wb3J0LmxvZzoKKwogMjAyMC0w
NC0yNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEltcG9ydCBmZXRj
aC9zdGFsZS13aGlsZS1yZXZhbGlkYXRlL2ZldGNoLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IGRhODQyZGIxMmUyNWE2NzZkMGY3MjNlNjg0MmY3YmRiYmFkOTZlYWYuLjhkMzQ0ODljYWFkMDJh
M2NjNzJiNGNhOWQxNjRhYTg4ZTA3NDExYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDA3Nyw2
ICs0MDc3LDggQEAgd2Via2l0Lm9yZy9iLzIwODk4OCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9hbGlnbm1lbnQvc2VsZi1iYXNlbGluZS9ncmlkLXNlbGYtYmFzZWxpbmUtY2hh
bmdlcy1ncmlkLWFyZWEtc2l6ZS0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L3NlbGYtYmFz
ZWxpbmUvZ3JpZC1zZWxmLWJhc2VsaW5lLWNoYW5nZXMtZ3JpZC1hcmVhLXNpemUtMDExLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIAord2Via2l0Lm9yZy9iLzIxMDk2MyBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50
LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKIHdlYmtpdC5vcmcvYi8yMDkwODAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXdyaXRpbmctbW9kZXMvY2VudHJh
bC1iYXNlbGluZS1hbGlnbm1lbnQtMDAzLnhodCBbIEltYWdlT25seUZhaWx1cmUgUGFzcyBdCiB3
ZWJraXQub3JnL2IvMjA5MDgwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy13cml0aW5nLW1vZGVzL2NsZWFyYW5jZS1jYWxjdWxhdGlvbnMtdnJsLTAwMi54aHQgWyBJbWFn
ZU9ubHlGYWlsdXJlIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwOTA4MCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtd3JpdGluZy1tb2Rlcy9hYnMtcG9zLW5vbi1yZXBsYWNl
ZC1pY2ItdmxyLTAwMy54aHQgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24KaW5kZXggYWUyOTQzODBlZmUxMjcwYjZmN2JmYjk3MDU5NzEwZWI3NWFkZmEyZC4uMDNhYzIw
M2JjMjVmZjVhYjc2NzYwZGYyYjc0N2I1NWRlMzBkYWI1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24KQEAgLTEsNiArMSw3IEBACiB7CiAgICAgIkxheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaW1nLWVs
ZW1lbnQvIjogImltcG9ydCIsIAogICAgICJhcG5nIjogImltcG9ydCIsIAorICAgICJjc3MvY3Nz
LWFuaW1hdGlvbnMiOiAiaW1wb3J0IiwgCiAgICAgImNzcy9jc3MtYm94IjogImltcG9ydCIsIAog
ICAgICJjc3MvY3NzLWNvbG9yIjogImltcG9ydCIsIAogICAgICJjc3MvY3NzLW11bHRpY29sIjog
ImltcG9ydCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNl
cy9yZXNvdXJjZS1maWxlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNl
cy9yZXNvdXJjZS1maWxlcy5qc29uCmluZGV4IDBlZDFmYjA3YzExMmRhY2FiMTk5ZGMzMGRlY2Zh
ZjU5ZDI2MThlM2MuLjc5MTA3OGU0Njk0ZmJiNmRmNGVmNzZkY2M5Y2VjZTIyZGM5MDZkZDEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2UtZmls
ZXMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNl
LWZpbGVzLmpzb24KQEAgLTEzLDYgKzEzLDcgQEAKICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXdyaXRpbmctbW9kZXMvdGVzdC1wbGFuIgogICAgIF0sCiAgICAgImZpbGVzIjog
WworICAgICAgICAiY3NzL2Nzcy1hbmltYXRpb25zL2tleWZyYW1lcy1yZW1vdmUtZG9jdW1lbnRF
bGVtZW50LWNyYXNoLmh0bWwiLAogICAgICAgICAiY3NzL2Nzcy1jb2xvci90MzItb3BhY2l0eS1i
YXNpYy0wLjYtYS54aHQiLAogICAgICAgICAiY3NzL2Nzcy1jb2xvci90MzItb3BhY2l0eS16b3Jk
ZXItYy54aHQiLAogICAgICAgICAiY3NzL2Nzcy1jb2xvci90NDIxLXJnYi1oZXgzLWV4cGFuZC1i
LnhodCIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9BbmltYXRpb25FZmZlY3QtdXBkYXRlVGltaW5nLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9BbmltYXRpb25FZmZlY3QtdXBkYXRlVGltaW5n
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjllODkxNDYzNzZjNDlmMGY4YWI3
ZWJlMGRmNGZiODE5MGU4OTc2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0FuaW1hdGlvbkVm
ZmVjdC11cGRhdGVUaW1pbmcudGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAK
KworRkFJTCBBbmltYXRpb25FZmZlY3QudXBkYXRlVGltaW5nKHsgZHVyYXRpb24gfSkgY2F1c2Vz
IGNoYW5nZXMgdG8gdGhlIGFuaW1hdGlvbi1kdXJhdGlvbiB0byBiZSBpZ25vcmVkIGFzc2VydF9l
cXVhbHM6IERlbGF5IHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlIGV4cGVjdGVkIDYw
MDAgYnV0IGdvdCAwCitGQUlMIEFuaW1hdGlvbkVmZmVjdC51cGRhdGVUaW1pbmcoeyBpdGVyYXRp
b25zLCBkaXJlY3Rpb24gfSkgY2F1c2VzIGNoYW5nZXMgdG8gdGhlIGFuaW1hdGlvbi1pdGVyYXRp
b24tY291bnQgYW5kIGFuaW1hdGlvbi1kaXJlY3Rpb24gdG8gYmUgaWdub3JlZCBhc3NlcnRfZXF1
YWxzOiBEZWxheSBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSBzdHlsZSBleHBlY3RlZCA2MDAw
IGJ1dCBnb3QgMAorRkFJTCBBbmltYXRpb25FZmZlY3QudXBkYXRlVGltaW5nKHsgZGVsYXksIGZp
bGwgfSkgY2F1c2VzIGNoYW5nZXMgdG8gdGhlIGFuaW1hdGlvbi1kZWxheSBhbmQgYW5pbWF0aW9u
LWZpbGwtbW9kZSB0byBiZSBpZ25vcmVkIGFzc2VydF9lcXVhbHM6IEl0ZXJhdGlvbnMgc2hvdWxk
IGJlIHRoZSB2YWx1ZSBzZXQgYnkgc3R5bGUgZXhwZWN0ZWQgNiBidXQgZ290IDEKK0ZBSUwgQW5p
bWF0aW9uRWZmZWN0LnVwZGF0ZVRpbWluZygpIGRvZXMgb3ZlcnJpZGUgdG8gY2hhbmdlcyBmcm9t
IGFuaW1hdGlvbi0qIHByb3BlcnRpZXMgaWYgdGhlcmUgaXMgYW4gZXJyb3IgYXNzZXJ0X2VxdWFs
czogRHVyYXRpb24gc2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgc3R5bGUgZXhwZWN0ZWQgNDAw
MCBidXQgZ290IDEwMDAwMAorUEFTUyBBbmltYXRpb25FZmZlY3QgcHJvcGVydGllcyB0aGF0IGRv
IG5vdCBtYXAgdG8gYW5pbWF0aW9uLSogcHJvcGVydGllcyBzaG91bGQgbm90IGJlIGNoYW5nZWQg
d2hlbiBhbmltYXRpb24tKiBzdHlsZSBpcyB1cGRhdGVkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9B
bmltYXRpb25FZmZlY3QtdXBkYXRlVGltaW5nLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQW5pbWF0
aW9uRWZmZWN0LXVwZGF0ZVRpbWluZy50ZW50YXRpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjU1NmRh
YzRiZGU5ZmQ0MzYyMzdjYjc4ZjVlODhhMTk2OGJlN2QxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvQW5pbWF0aW9uRWZmZWN0LXVwZGF0ZVRpbWluZy50ZW50YXRpdmUuaHRtbApAQCAtMCwwICsx
LDE3NCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkFu
aW1hdGlvbkVmZmVjdC51cGRhdGVUaW1pbmcoKSBmb3IgQ1NTIGFuaW1hdGlvbnM8L3RpdGxlPgor
PCEtLSBUT0RPOiBBZGQgYSBtb3JlIHNwZWNpZmljIGxpbmsgZm9yIHRoaXMgb25jZSBpdCBpcyBz
cGVjaWZpZWQuIC0tPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLWFuaW1hdGlvbnMtMi8iPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InN1cHBvcnQvdGVzdGNvbW1vbi5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CitAa2V5ZnJhbWVzIGFuaW0tZW1wdHkgeyB9Cis8L3N0eWxlPgor
PGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKKwor
dGVzdCh0ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOworICBkaXYuc3R5bGUuYW5pbWF0
aW9uID0gJ2FuaW0tZW1wdHkgMTAwcyc7CisKKyAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFu
aW1hdGlvbnMoKVswXTsKKyAgYW5pbWF0aW9uLmVmZmVjdC51cGRhdGVUaW1pbmcoeyBkdXJhdGlv
bjogMiAqIE1TX1BFUl9TRUMgfSk7CisKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkR1cmF0aW9uID0g
JzRzJzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkRlbGF5ID0gJzZzJzsKKworICBhc3NlcnRfZXF1
YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuZHVyYXRpb24sCisgICAgMiAq
IE1TX1BFUl9TRUMsCisgICAgJ0R1cmF0aW9uIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRo
ZSBBUEknCisgICk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRU
aW1pbmcoKS5kZWxheSwKKyAgICA2ICogTVNfUEVSX1NFQywKKyAgICAnRGVsYXkgc2hvdWxkIGJl
IHRoZSB2YWx1ZSBzZXQgYnkgc3R5bGUnCisgICk7Cit9LCAnQW5pbWF0aW9uRWZmZWN0LnVwZGF0
ZVRpbWluZyh7IGR1cmF0aW9uIH0pIGNhdXNlcyBjaGFuZ2VzIHRvIHRoZScKKyAgICsgJyBhbmlt
YXRpb24tZHVyYXRpb24gdG8gYmUgaWdub3JlZCcpOworCisvLyBUaGUgYWJvdmUgdGVzdCBjb3Zl
cnMgZHVyYXRpb24gKHdpdGggZGVsYXkgYXMgYSBjb250cm9sKS4gVGhlIHJlbWFpbmluZworLy8g
cHJvcGVydGllcyBhcmU6CisvLworLy8gICBpdGVyYXRpb25zIC0gYW5pbWF0aW9uLWl0ZXJhdGlv
bi1jb3VudAorLy8gICBkaXJlY3Rpb24gLSBhbmltYXRpb24tZGlyZWN0aW9uCisvLyAgIGRlbGF5
IC0gYW5pbWF0aW9uLWRlbGF5CisvLyAgIGZpbGwgLSBhbmltYXRpb24tZmlsbC1tb2RlCisvLwor
Ly8gV2hpY2ggd2UgdGVzdCBpbiB0d28gYmF0Y2hlcywgb3ZlcnJpZGluZyB0d28gcHJvcGVydGll
cyBlYWNoIHRpbWUgYW5kIHVzaW5nCisvLyB0aGUgcmVtYWluaW5nIHR3byBwcm9wZXJ0aWVzIGFz
IGNvbnRyb2wgdmFsdWVzIHRvIGNoZWNrIHRoZXkgYXJlIE5PVAorLy8gb3ZlcnJpZGRlbi4KKwor
dGVzdCh0ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOworICBkaXYuc3R5bGUuYW5pbWF0
aW9uID0gJ2FuaW0tZW1wdHkgMTAwcyc7CisKKyAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFu
aW1hdGlvbnMoKVswXTsKKyAgYW5pbWF0aW9uLmVmZmVjdC51cGRhdGVUaW1pbmcoeyBpdGVyYXRp
b25zOiAyLCBkaXJlY3Rpb246ICdyZXZlcnNlJyB9KTsKKworICBkaXYuc3R5bGUuYW5pbWF0aW9u
SXRlcmF0aW9uQ291bnQgPSAnNCc7CisgIGRpdi5zdHlsZS5hbmltYXRpb25EaXJlY3Rpb24gPSAn
YWx0ZXJuYXRlJzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkRlbGF5ID0gJzZzJzsKKyAgZGl2LnN0
eWxlLmFuaW1hdGlvbkZpbGxNb2RlID0gJ2JvdGgnOworCisgIGFzc2VydF9lcXVhbHMoCisgICAg
YW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5pdGVyYXRpb25zLAorICAgIDIsCisgICAgJ0l0
ZXJhdGlvbnMgc2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgdGhlIEFQSScKKyAgKTsKKyAgYXNz
ZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmRpcmVjdGlvbiwK
KyAgICAncmV2ZXJzZScsCisgICAgJ0RpcmVjdGlvbiBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBi
eSB0aGUgQVBJJworICApOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3Qu
Z2V0VGltaW5nKCkuZGVsYXksCisgICAgNiAqIE1TX1BFUl9TRUMsCisgICAgJ0RlbGF5IHNob3Vs
ZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlJworICApOworICBhc3NlcnRfZXF1YWxzKAorICAg
IGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuZmlsbCwKKyAgICAnYm90aCcsCisgICAgJ0Zp
bGwgc2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgc3R5bGUnCisgICk7Cit9LCAnQW5pbWF0aW9u
RWZmZWN0LnVwZGF0ZVRpbWluZyh7IGl0ZXJhdGlvbnMsIGRpcmVjdGlvbiB9KSBjYXVzZXMgY2hh
bmdlcyB0bycKKyAgICsgJyB0aGUgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCBhbmQgYW5pbWF0
aW9uLWRpcmVjdGlvbiB0byBiZSBpZ25vcmVkJyk7CisKK3Rlc3QodCA9PiB7CisgIGNvbnN0IGRp
diA9IGFkZERpdih0KTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLWVtcHR5IDEwMHMn
OworCisgIGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07CisgIGFuaW1h
dGlvbi5lZmZlY3QudXBkYXRlVGltaW5nKHsgZGVsYXk6IDIgKiBNU19QRVJfU0VDLCBmaWxsOiAn
Ym90aCcgfSk7CisKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkRlbGF5ID0gJzRzJzsKKyAgZGl2LnN0
eWxlLmFuaW1hdGlvbkZpbGxNb2RlID0gJ2ZvcndhcmRzJzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlv
bkl0ZXJhdGlvbkNvdW50ID0gJzYnOworICBkaXYuc3R5bGUuYW5pbWF0aW9uRGlyZWN0aW9uID0g
J3JldmVyc2UnOworCisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRU
aW1pbmcoKS5kZWxheSwKKyAgICAyICogTVNfUEVSX1NFQywKKyAgICAnRGVsYXkgc2hvdWxkIGJl
IHRoZSB2YWx1ZSBzZXQgYnkgdGhlIEFQSScKKyAgKTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBh
bmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmZpbGwsCisgICAgJ2JvdGgnLAorICAgICdGaWxs
IHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBBUEknCisgICk7CisgIGFzc2VydF9lcXVh
bHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5pdGVyYXRpb25zLAorICAgIDYs
CisgICAgJ0l0ZXJhdGlvbnMgc2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgc3R5bGUnCisgICk7
CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5kaXJl
Y3Rpb24sCisgICAgJ3JldmVyc2UnLAorICAgICdEaXJlY3Rpb24gc2hvdWxkIGJlIHRoZSB2YWx1
ZSBzZXQgYnkgc3R5bGUnCisgICk7Cit9LCAnQW5pbWF0aW9uRWZmZWN0LnVwZGF0ZVRpbWluZyh7
IGRlbGF5LCBmaWxsIH0pIGNhdXNlcyBjaGFuZ2VzIHRvJworICAgKyAnIHRoZSBhbmltYXRpb24t
ZGVsYXkgYW5kIGFuaW1hdGlvbi1maWxsLW1vZGUgdG8gYmUgaWdub3JlZCcpOworCit0ZXN0KHQg
PT4geworICBjb25zdCBkaXYgPSBhZGREaXYodCk7CisgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAn
YW5pbS1lbXB0eSAxMDBzJzsKKworICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0QW5pbWF0aW9u
cygpWzBdOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geworICAgIGFuaW1h
dGlvbi5lZmZlY3QudXBkYXRlVGltaW5nKHsgZHVyYXRpb246IDIgKiBNU19QRVJfU0VDLCBpdGVy
YXRpb25zOiAtMSB9KTsKKyAgfSwgJ05lZ2F0aXZlIGl0ZXJhdGlvbiBjb3VudCBzaG91bGQgY2F1
c2UgYW4gZXJyb3IgdG8gYmUgdGhyb3duJyk7CisKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkR1cmF0
aW9uID0gJzRzJzsKKworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0
VGltaW5nKCkuZHVyYXRpb24sCisgICAgNCAqIE1TX1BFUl9TRUMsCisgICAgJ0R1cmF0aW9uIHNo
b3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlJworICApOworfSwgJ0FuaW1hdGlvbkVmZmVj
dC51cGRhdGVUaW1pbmcoKSBkb2VzIG92ZXJyaWRlIHRvIGNoYW5nZXMgZnJvbSBhbmltYXRpb24t
KicKKyAgICsgJyBwcm9wZXJ0aWVzIGlmIHRoZXJlIGlzIGFuIGVycm9yJyk7CisKK3Rlc3QodCA9
PiB7CisgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdh
bmltLWVtcHR5IDEwMHMnOworCisgIGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25z
KClbMF07CisgIGFuaW1hdGlvbi5lZmZlY3QudXBkYXRlVGltaW5nKHsKKyAgICBlYXNpbmc6ICdz
dGVwcyg0KScsCisgICAgZW5kRGVsYXk6IDIgKiBNU19QRVJfU0VDLAorICAgIGl0ZXJhdGlvblN0
YXJ0OiA0LAorICB9KTsKKworICBkaXYuc3R5bGUuYW5pbWF0aW9uRHVyYXRpb24gPSAnNnMnOwor
ICBkaXYuc3R5bGUuYW5pbWF0aW9uVGltaW5nRnVuY3Rpb24gPSAnZWFzZS1pbic7CisKKyAgYXNz
ZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmVhc2luZywKKyAg
ICAnc3RlcHMoNCknLAorICAgICdlbmREZWxheSBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSB0
aGUgQVBJJworICApOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0
VGltaW5nKCkuZW5kRGVsYXksCisgICAgMiAqIE1TX1BFUl9TRUMsCisgICAgJ2VuZERlbGF5IHNo
b3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBBUEknCisgICk7CisgIGFzc2VydF9lcXVhbHMo
CisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5pdGVyYXRpb25TdGFydCwKKyAgICA0
LAorICAgICdpdGVyYXRpb25TdGFydCBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSBzdHlsZScK
KyAgKTsKK30sICdBbmltYXRpb25FZmZlY3QgcHJvcGVydGllcyB0aGF0IGRvIG5vdCBtYXAgdG8g
YW5pbWF0aW9uLSogcHJvcGVydGllcycKKyAgICsgJyBzaG91bGQgbm90IGJlIGNoYW5nZWQgd2hl
biBhbmltYXRpb24tKiBzdHlsZSBpcyB1cGRhdGVkJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWNvbXBvc2l0ZU9yZGVyLnRlbnRhdGl2ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tY29tcG9zaXRlT3JkZXIudGVudGF0aXZl
LWV4cGVjdGVkLnR4dAppbmRleCAxYjA3NTliOGMxY2ZlNjM0ZjRmMGMxMWMzMTFmMTBkNTFjZjk3
OWUzLi44ZjBkMzBmNWM2MDE3NTdhY2Y2N2E0NmE1NjhkZDA2NmJkMWZkOGZhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9DU1NBbmltYXRpb24tY29tcG9zaXRlT3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tY29tcG9zaXRlT3JkZXIudGVudGF0aXZlLWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDQgQEAKIAogUEFTUyBBbmltYXRpb25zIGFyZSBjb21wb3NpdGVk
IGJ5IHRoZWlyIG9yZGVyIGluIHRoZSBhbmltYXRpb24tbmFtZSBwcm9wZXJ0eS4gCitQQVNTIFdl
Yi1hbmltYXRpb24gcmVwbGFjZXMgQ1NTIGFuaW1hdGlvbiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
Q1NTQW5pbWF0aW9uLWNvbXBvc2l0ZU9yZGVyLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5p
bWF0aW9uLWNvbXBvc2l0ZU9yZGVyLnRlbnRhdGl2ZS5odG1sCmluZGV4IDIyNWVmZDIzYWRkZDY2
NGQ2ZmI4NDIyNjRiYmYwNGRhNDk5MDM3OGQuLmQ1NWRiOWEyZDExN2Y1NGNlYmQ0NDdkOWJmNWVm
OWY0NGFiNzMwOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1jb21wb3NpdGVPcmRl
ci50ZW50YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tY29tcG9zaXRlT3JkZXIu
dGVudGF0aXZlLmh0bWwKQEAgLTM2LDQgKzM2LDE4IEBAIHByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKICAgLy8gaW4gdGhlIGFuaW1hdGlvbiBsaXN0LgogICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoZGl2KS5tYXJnaW5MZWZ0LCAnMTAwcHgnKTsKIH0sICJBbmltYXRpb25zIGFyZSBj
b21wb3NpdGVkIGJ5IHRoZWlyIG9yZGVyIGluIHRoZSBhbmltYXRpb24tbmFtZSBwcm9wZXJ0eS4i
KTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBkaXYgPSBhZGREaXYodCk7
CisgIGNvbnN0IGFuaW1BID0gZGl2LmFuaW1hdGUoe21hcmdpbjogWyIxMDBweCIsIjEwMHB4Il19
LCAxMDAwMDApOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZGl2KS5tYXJnaW5M
ZWZ0LCAnMTAwcHgnKTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdtYXJnaW41MCAxMDBzJzsK
KyAgLy8gV2FpdCBmb3IgYW5pbWF0aW9uIHN0YXJ0cworICBhd2FpdCBhbmltQS5yZWFkeTsKKyAg
YXdhaXQgd2FpdEZvckFuaW1hdGlvbkZyYW1lcygxKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21w
dXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzEwMHB4JywKKyAgICAgICAgICAgICAgICAiQSBo
aWdoZXItcHJpb3JpdHkgYW5pbWF0aW9uIGlzIG5vdCBvdmVycmlkZW4gYnkgYSBtb3JlIHJlY2Vu
dCIKKyAgICAgICAgICAgICAgICArICJvbmUuIik7Cit9LCAnV2ViLWFuaW1hdGlvbiByZXBsYWNl
cyBDU1MgYW5pbWF0aW9uJyk7CisKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5p
bWF0aW9uLWVmZmVjdC50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9u
LWVmZmVjdC50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGU0ZTFjNWUwY2I3NTJmMmFlYzQw
ZDZkOGFlZmRhNTMzMGY2MjEzMDEuLmY3NWQ1YjZmYzMyMmVmMGUxMDY1NTBlNDE1Nzg2NzA2NjFk
YzgzY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1lZmZlY3QudGVudGF0aXZlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tZWZmZWN0LnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKQEAgLTUsNCArNSw1IEBAIFBBU1MgUmVwbGFjaW5nIGFuIGFuaW1hdGlvbidzIGVm
ZmVjdCB3aXRoIGEgc2hvcnRlciBvbmUgdGhhdCBzaG91bGQgaGF2ZSBhbHJlYWR5CiBQQVNTIEEg
cGxheS1wZW5kaW5nIGFuaW1hdGlvbidzIGVmZmVjdCB3aG9zZSBlZmZlY3QgaXMgcmVwbGFjZWQg
c3RpbGwgZXhpdHMgdGhlIHBlbmRpbmcgc3RhdGUgCiBQQVNTIENTUyBhbmltYXRpb24gZXZlbnRz
IGFyZSBkaXNwYXRjaGVkIGF0IHRoZSBvcmlnaW5hbCBlbGVtZW50IGV2ZW4gYWZ0ZXIgc2V0dGlu
ZyBhbiBlZmZlY3Qgd2l0aCBhIGRpZmZlcmVudCB0YXJnZXQgZWxlbWVudCAKIFBBU1MgQWZ0ZXIg
cmVwbGFjaW5nIGEgZmluaXNoZWQgYW5pbWF0aW9uJ3MgZWZmZWN0IHdpdGggYSBsb25nZXIgb25l
IGl0IGZpcmVzIGFuIGFuaW1hdGlvbnN0YXJ0IGV2ZW50IAorRkFJTCBSZXBsYWNpbmcgdGhlIGVm
ZmVjdCBvZiBhIENTU0FuaW1hdGlvbiBjYXVzZXMgc3Vic2VxdWVudCBjaGFuZ2VzIHRvIGNvcnJl
c3BvbmRpbmcgYW5pbWF0aW9uLSogcHJvcGVydGllcyB0byBiZSBpZ25vcmVkIHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdhbmltYXRpb24uZWZmZWN0LmdldEtleWZyYW1l
cygpWzBdLmxlZnQnKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tZWZmZWN0LnRl
bnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWVmZmVjdC50ZW50YXRpdmUuaHRtbApp
bmRleCBiYmYzNWQ1MTEzYTljM2QxZTRkYmE3MzE4ZjY0OTQ5NGM4OGZlYjRjLi5mYWRjYWExMjlh
YjJjNGRhNjEyYWRkOTk1MWJmOTliNDQ3ZmU5NDhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmlt
YXRpb24tZWZmZWN0LnRlbnRhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1lZmZl
Y3QudGVudGF0aXZlLmh0bWwKQEAgLTI2LDcgKzI2LDggQEAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4gewogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0gMTAwcyc7CiAKICAgY29uc3Qgd2F0
Y2hlciA9IG5ldyBFdmVudFdhdGNoZXIodCwgZGl2LCBbICdhbmltYXRpb25lbmQnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbmNhbmNlbCcg
XSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5pbWF0
aW9uY2FuY2VsJyBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXN0RXZl
bnRzVGltZW91dCk7CiAgIGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07
CiAgIGF3YWl0IGFuaW1hdGlvbi5yZWFkeTsKIApAQCAtOTAsNyArOTEsOCBAQCBwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CiAgIGNvbnN0IGRpdjEgPSBhZGREaXYodCk7CiAgIGNvbnN0IGRpdjIg
PSBhZGREaXYodCk7CiAKLSAgY29uc3Qgd2F0Y2hlcjEgPSBuZXcgRXZlbnRXYXRjaGVyKHQsIGRp
djEsICdhbmltYXRpb25zdGFydCcpOworICBjb25zdCB3YXRjaGVyMSA9IG5ldyBFdmVudFdhdGNo
ZXIodCwgZGl2MSwgJ2FuaW1hdGlvbnN0YXJ0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZhc3RFdmVudHNUaW1lb3V0KTsKICAgLy8gV2F0Y2ggfGRpdjJ8IGFzIHdlbGwg
dG8gZW5zdXJlIGl0IGRvZXMgKm5vdCogZ2V0IGV2ZW50cy4KICAgY29uc3Qgd2F0Y2hlcjIgPSBu
ZXcgRXZlbnRXYXRjaGVyKHQsIGRpdjIsICdhbmltYXRpb25zdGFydCcpOwogCkBAIC0xMTQsNyAr
MTE2LDggQEAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBjb25zdCBkaXYgPSBhZGREaXYo
dCk7CiAgIGNvbnN0IHdhdGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKHQsIGRpdiwgWyAnYW5pbWF0
aW9uc3RhcnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J2FuaW1hdGlvbmVuZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnYW5pbWF0aW9uY2FuY2VsJyBdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdhbmltYXRpb25jYW5jZWwnIF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZhc3RFdmVudHNUaW1lb3V0KTsKICAgZGl2LnN0eWxlLmFuaW1hdGlv
biA9ICdhbmltIDEwMHMnOwogICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0QW5pbWF0aW9ucygp
WzBdOwogICBhbmltYXRpb24uZmluaXNoKCk7CkBAIC0xMjgsNCArMTMxLDgxIEBAIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKIH0sICdBZnRlciByZXBsYWNpbmcgYSBmaW5pc2hlZCBhbmltYXRp
b25cJ3MgZWZmZWN0IHdpdGggYSBsb25nZXIgb25lICcgKwogICAgJ2l0IGZpcmVzIGFuIGFuaW1h
dGlvbnN0YXJ0IGV2ZW50Jyk7CiAKK3Rlc3QodCA9PiB7CisgIGNvbnN0IGRpdiA9IGFkZERpdih0
KTsKKworICAvLyBDcmVhdGUgY3VzdG9tIGtleWZyYW1lcyBzbyB3ZSBjYW4gdHdlYWsgdGhlbQor
ICBjb25zdCBzdHlsZXNoZWV0ID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMF07CisgIGNvbnN0IGtl
eWZyYW1lcyA9ICdAa2V5ZnJhbWVzIGFuaW0tY3VzdG9tIHsgdG8geyBsZWZ0OiAxMDBweCB9IH0n
OworICBjb25zdCBydWxlSW5kZXggPSBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoa2V5ZnJhbWVzLCAw
KTsKKyAgY29uc3Qga2V5ZnJhbWVzUnVsZSA9IHN0eWxlc2hlZXQuY3NzUnVsZXNbcnVsZUluZGV4
XTsKKworICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgIHN0eWxlc2hlZXQuZGVsZXRl
UnVsZShydWxlSW5kZXgpOworICB9KTsKKworICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0t
Y3VzdG9tIDEwMHMnOworCisgIC8vIFJlcGxhY2UgdGhlIGVmZmVjdAorICBjb25zdCBhbmltYXRp
b24gPSBkaXYuZ2V0QW5pbWF0aW9ucygpWzBdOworICBhbmltYXRpb24uZWZmZWN0ID0gbmV3IEtl
eWZyYW1lRWZmZWN0KAorICAgIGRpdiwKKyAgICB7IGxlZnQ6ICcyMDBweCcgfSwKKyAgICAyMDAg
KiBNU19QRVJfU0VDCisgICk7CisKKyAgLy8gVXBkYXRlIHRoZSB0aW1pbmcgcHJvcGVydGllcwor
ICBkaXYuc3R5bGUuYW5pbWF0aW9uRHVyYXRpb24gPSAnNHMnOworICBkaXYuc3R5bGUuYW5pbWF0
aW9uSXRlcmF0aW9uQ291bnQgPSAnNic7CisgIGRpdi5zdHlsZS5hbmltYXRpb25EaXJlY3Rpb24g
PSAncmV2ZXJzZSc7CisgIGRpdi5zdHlsZS5hbmltYXRpb25EZWxheSA9ICc4cyc7CisgIGRpdi5z
dHlsZS5hbmltYXRpb25GaWxsTW9kZSA9ICdib3RoJzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvblBs
YXlTdGF0ZSA9ICdwYXVzZWQnOworCisgIC8vIFVwZGF0ZSB0aGUga2V5ZnJhbWVzCisgIGtleWZy
YW1lc1J1bGUuZGVsZXRlUnVsZSgwKTsKKyAga2V5ZnJhbWVzUnVsZS5hcHBlbmRSdWxlKCd0byB7
IGxlZnQ6IDMwMHB4IH0nKTsKKworICAvLyBDaGVjayBub3RoaW5nIChleGNlcHQgdGhlIHBsYXkg
c3RhdGUpIGNoYW5nZWQKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24uZWZmZWN0Lmdl
dFRpbWluZygpLmR1cmF0aW9uLAorICAgIDIwMCAqIE1TX1BFUl9TRUMsCisgICAgJ2R1cmF0aW9u
IHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBBUEknCisgICk7CisgIGFzc2VydF9lcXVh
bHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5pdGVyYXRpb25zLAorICAgIDEs
CisgICAgJ2l0ZXJhdGlvbnMgc2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgdGhlIEFQSScKKyAg
KTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmRp
cmVjdGlvbiwKKyAgICAnbm9ybWFsJywKKyAgICAnZGlyZWN0aW9uIHNob3VsZCBiZSB0aGUgdmFs
dWUgc2V0IGJ5IHRoZSBBUEknCisgICk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9u
LmVmZmVjdC5nZXRUaW1pbmcoKS5kZWxheSwKKyAgICAwLAorICAgICdkZWxheSBzaG91bGQgYmUg
dGhlIHZhbHVlIHNldCBieSB0aGUgQVBJJworICApOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFu
aW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuZmlsbCwKKyAgICAnYXV0bycsCisgICAgJ2ZpbGwg
c2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgdGhlIEFQSScKKyAgKTsKKyAgYXNzZXJ0X2VxdWFs
cygKKyAgICBhbmltYXRpb24uZWZmZWN0LmdldEtleWZyYW1lcygpWzBdLmxlZnQsCisgICAgJzIw
MHB4JywKKyAgICAna2V5ZnJhbWVzIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBBUEkn
CisgICk7CisKKyAgLy8gVW5saWtlIHRoZSBvdGhlciBwcm9wZXJ0aWVzIGFuaW1hdGlvbi1wbGF5
LXN0YXRlIG1hcHMgdG8gdGhlIEFuaW1hdGlvbgorICAvLyBub3QgdGhlIEtleWZyYW1lRWZmZWN0
IHNvIGl0IHNob3VsZCBiZSBvdmVycmlkZGVuLgorICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1h
dGlvbi5wbGF5U3RhdGUsCisgICAgJ3BhdXNlZCcsCisgICAgJ3BsYXkgc3RhdGUgc2hvdWxkIGJl
IHRoZSB2YWx1ZSBzZXQgYnkgc3R5bGUnCisgICk7Cit9LCAnUmVwbGFjaW5nIHRoZSBlZmZlY3Qg
b2YgYSBDU1NBbmltYXRpb24gY2F1c2VzIHN1YnNlcXVlbnQgY2hhbmdlcyB0bycKKyAgICsgJyBj
b3JyZXNwb25kaW5nIGFuaW1hdGlvbi0qIHByb3BlcnRpZXMgdG8gYmUgaWdub3JlZCcpOworCiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1maW5pc2hlZC50ZW50YXRp
dmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1maW5pc2hlZC50ZW50YXRpdmUuaHRtbAppbmRl
eCA1N2RkMGQ1MDIwYzlkNmE0YmMzMGRiZTk1NzBiZDNlYjhjYmJhOWFlLi5kYTA4N2I5M2UwZWZh
NWQxNDQwZWZiMjJmYTI5NDY5OWNkOTM0ZDQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRp
b24tZmluaXNoZWQudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWZpbmlz
aGVkLnRlbnRhdGl2ZS5odG1sCkBAIC0zMSw3ICszMSw3IEBAIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICcnOwogICBnZXRDb21wdXRlZFN0eWxlKGRp
dikuYW5pbWF0aW9uOwogCi0gIGF3YWl0IHByb21pc2VfcmVqZWN0cyh0LCAnQWJvcnRFcnJvcics
IG9yaWdpbmFsRmluaXNoZWRQcm9taXNlLAorICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQs
ICdBYm9ydEVycm9yJywgb3JpZ2luYWxGaW5pc2hlZFByb21pc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAnZmluaXNoZWQgcHJvbWlzZSBpcyByZWplY3RlZCB3aXRoIEFib3J0RXJyb3InKTsK
IAogICBhc3NlcnRfbm90X2VxdWFscyhhbmltYXRpb24uZmluaXNoZWQsIG9yaWdpbmFsRmluaXNo
ZWRQcm9taXNlLApAQCAtNTUsNyArNTUsNyBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAg
IGRpdi5zdHlsZS5hbmltYXRpb24gPSAnZGVmIDEwMHMnOwogICBnZXRDb21wdXRlZFN0eWxlKGRp
dikuYW5pbWF0aW9uOwogCi0gIGF3YWl0IHByb21pc2VfcmVqZWN0cyh0LCAnQWJvcnRFcnJvcics
IG9yaWdpbmFsRmluaXNoZWRQcm9taXNlLAorICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQs
ICdBYm9ydEVycm9yJywgb3JpZ2luYWxGaW5pc2hlZFByb21pc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAnZmluaXNoZWQgcHJvbWlzZSBpcyByZWplY3RlZCB3aXRoIEFib3J0RXJyb3InKTsK
IAogICBhc3NlcnRfbm90X2VxdWFscyhhbmltYXRpb24uZmluaXNoZWQsIG9yaWdpbmFsRmluaXNo
ZWRQcm9taXNlLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXBhdXNpbmcudGVudGF0
aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRhdGl2ZS1l
eHBlY3RlZC50eHQKaW5kZXggMzUzNGU3YmYwNWM2NTY5MTAwZWIxMTgyMzZjMDMyZWJiNjA0NjYy
OS4uYzE4OGRlNGIyMGFiZTI3ZGMwYWI0NzljYWExNGU3Y2VkODBmOTFjNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1h
dGlvbnMvQ1NTQW5pbWF0aW9uLXBhdXNpbmcudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9DU1NBbmltYXRpb24tcGF1c2luZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDgg
KzEsMTEgQEAKIAotUEFTUyBwbGF5KCkgb3ZlcnJpZGVzIGFuaW1hdGlvbi1wbGF5LXN0YXRlIAor
RkFJTCBwbGF5KCkgb3ZlcnJpZGVzIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGFzc2VydF9lcXVhbHM6
IFNob3VsZCBzdGlsbCBiZSBydW5uaW5nIGV2ZW4gYWZ0ZXIgZmxpcHBpbmcgdGhlIGFuaW1hdGlv
bi1wbGF5LXN0YXRlIGV4cGVjdGVkICJydW5uaW5nIiBidXQgZ290ICJwYXVzZWQiCitQQVNTIHBs
YXkoKSBkb2VzIE5PVCBvdmVycmlkZSB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUgaWYgdGhlcmUg
d2FzIGFuIGVycm9yIAogUEFTUyBwYXVzZSgpIG92ZXJyaWRlcyBhbmltYXRpb24tcGxheS1zdGF0
ZSAKLVBBU1MgcGxheSgpIGlzIG92ZXJyaWRkZW4gYnkgbGF0ZXIgc2V0dGluZyAiYW5pbWF0aW9u
LXBsYXktc3RhdGU6IHBhdXNlZCIgCi1QQVNTIHBsYXkoKSBmbHVzaGVzIHBlbmRpbmcgY2hhbmdl
cyB0byBhbmltYXRpb24tcGxheS1zdGF0ZSBmaXJzdCAKLVBBU1MgcGF1c2UoKSBhcHBsaWVzIHBl
bmRpbmcgY2hhbmdlcyB0byBhbmltYXRpb24tcGxheS1zdGF0ZSBmaXJzdCAKK0ZBSUwgcmV2ZXJz
ZSgpIG92ZXJyaWRlcyBhbmltYXRpb24tcGxheS1zdGF0ZSB3aGVuIGl0IHN0YXJ0cyBwbGF5aW5n
IHRoZSBhbmltYXRpb24gYXNzZXJ0X2VxdWFsczogU2hvdWxkIHN0aWxsIGJlIHJ1bm5pbmcgZXZl
biBhZnRlciBmbGlwcGluZyB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUgZXhwZWN0ZWQgInJ1bm5p
bmciIGJ1dCBnb3QgInBhdXNlZCIKK1BBU1MgcmV2ZXJzZSgpIGRvZXMgTk9UIG92ZXJyaWRlIGFu
aW1hdGlvbi1wbGF5LXN0YXRlIGlmIHRoZSBhbmltYXRpb24gaXMgYWxyZWFkeSBydW5uaW5nIAor
RkFJTCBTZXR0aW5nIHRoZSBzdGFydFRpbWUgdG8gbnVsbCBvdmVycmlkZXMgYW5pbWF0aW9uLXBs
YXktc3RhdGUgaWYgdGhlIGFuaW1hdGlvbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXNzZXJ0X2VxdWFs
czogU2hvdWxkIHN0aWxsIGJlIHBhdXNlZCBldmVuIGFmdGVyIGZsaXBwaW5nIHRoZSBhbmltYXRp
b24tcGxheS1zdGF0ZSBleHBlY3RlZCAicGF1c2VkIiBidXQgZ290ICJydW5uaW5nIgorRkFJTCBT
ZXR0aW5nIHRoZSBzdGFydFRpbWUgdG8gbm9uLW51bGwgb3ZlcnJpZGVzIGFuaW1hdGlvbi1wbGF5
LXN0YXRlIGlmIHRoZSBhbmltYXRpb24gaXMgcGF1c2VkIGFzc2VydF9lcXVhbHM6IFNob3VsZCBz
dGlsbCBiZSBydW5uaW5nIGV2ZW4gYWZ0ZXIgZmxpcHBpbmcgdGhlIGFuaW1hdGlvbi1wbGF5LXN0
YXRlIGV4cGVjdGVkICJydW5uaW5nIiBidXQgZ290ICJwYXVzZWQiCitQQVNTIFNldHRpbmcgdGhl
IHN0YXJ0VGltZSB0byBub24tbnVsbCBkb2VzIE5PVCBvdmVycmlkZSB0aGUgYW5pbWF0aW9uLXBs
YXktc3RhdGUgaWYgdGhlIGFuaW1hdGlvbiBpcyBhbHJlYWR5IHJ1bm5pbmcgCiBQQVNTIFNldHRp
bmcgdGhlIGN1cnJlbnQgdGltZSBjb21wbGV0ZXMgYSBwZW5kaW5nIHBhdXNlIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9DU1NBbmltYXRpb24tcGF1c2luZy50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NT
U0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRhdGl2ZS5odG1sCmluZGV4IDJiNmU2ODUzYjQxNzhmOTBl
ODIwYTE2YTc0YTVkNjM1MjQxMjNkMzIuLjE1NmExYWZhOTY0ZGUxMmU0YTk4M2MwMzJmOWI1MjZi
NWNkZjYyNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRhdGl2
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRhdGl2ZS5odG1sCkBA
IC0xNiwxMjkgKzE2LDIxOCBAQAogPHNjcmlwdD4KICd1c2Ugc3RyaWN0JzsKIAotY29uc3QgZ2V0
TWFyZ2luTGVmdCA9IGNzID0+IHBhcnNlRmxvYXQoY3MubWFyZ2luTGVmdCk7Ci0KIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwotICBjb25zdCBjcyA9
IGdldENvbXB1dGVkU3R5bGUoZGl2KTsKICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltIDEw
MDBzIHBhdXNlZCc7CisKICAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVsw
XTsKLSAgYXNzZXJ0X2VxdWFscyhnZXRNYXJnaW5MZWZ0KGNzKSwgMCwKLSAgICAgICAgICAgICAg
ICAnSW5pdGlhbCB2YWx1ZSBvZiBtYXJnaW4tbGVmdCBpcyB6ZXJvJyk7CiAgIGFuaW1hdGlvbi5w
bGF5KCk7CiAKICAgYXdhaXQgYW5pbWF0aW9uLnJlYWR5OwogICBhd2FpdCB3YWl0Rm9yTmV4dEZy
YW1lKCk7CiAKLSAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihnZXRNYXJnaW5MZWZ0KGNzKSwgMCwKLSAg
ICAgICAgICAgICAgICAgICAgICAnUGxheWluZyB2YWx1ZSBvZiBtYXJnaW4tbGVmdCBpcyBncmVh
dGVyIHRoYW4gemVybycpOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5wbGF5U3Rh
dGUsCisgICAgJ3J1bm5pbmcnLAorICAgICdQbGF5IHN0YXRlIGlzIHJ1bm5pbmcgYWZ0ZXIgY2Fs
bGluZyBwbGF5KCknCisgICk7CisKKyAgLy8gRmxpcCB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUg
YmFjayBhbmQgZm9ydGggdG8gY2hlY2sgaXQgaGFzIG5vIGVmZmVjdAorCisgIGRpdi5zdHlsZS5h
bmltYXRpb25QbGF5U3RhdGUgPSAncnVubmluZyc7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5h
bmltYXRpb25QbGF5U3RhdGU7CisgIGRpdi5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncGF1
c2VkJzsKKyAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0ZTsKKworICBh
c3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5wbGF5U3RhdGUsCisgICAgJ3J1bm5pbmcnLAor
ICAgICdTaG91bGQgc3RpbGwgYmUgcnVubmluZyBldmVuIGFmdGVyIGZsaXBwaW5nIHRoZSBhbmlt
YXRpb24tcGxheS1zdGF0ZScKKyAgKTsKIH0sICdwbGF5KCkgb3ZlcnJpZGVzIGFuaW1hdGlvbi1w
bGF5LXN0YXRlJyk7CiAKIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgY29uc3QgZGl2ID0g
YWRkRGl2KHQpOwotICBjb25zdCBjcyA9IGdldENvbXB1dGVkU3R5bGUoZGl2KTsKLSAgZGl2LnN0
eWxlLmFuaW1hdGlvbiA9ICdhbmltIDEwMDBzIHBhdXNlZCc7CisgIGRpdi5zdHlsZS5hbmltYXRp
b24gPSAnYW5pbSAxMDBzIGluZmluaXRlIHBhdXNlZCc7CisKICAgY29uc3QgYW5pbWF0aW9uID0g
ZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKLSAgYXNzZXJ0X2VxdWFscyhnZXRNYXJnaW5MZWZ0KGNz
KSwgMCwKLSAgICAgICAgICAgICAgICAnSW5pdGlhbCB2YWx1ZSBvZiBtYXJnaW4tbGVmdCBpcyB6
ZXJvJyk7CisgIGFuaW1hdGlvbi5wbGF5YmFja1JhdGUgPSAtMTsKKyAgYW5pbWF0aW9uLmN1cnJl
bnRUaW1lID0gLTE7CiAKKyAgYXNzZXJ0X3Rocm93c19kb20oJ0ludmFsaWRTdGF0ZUVycm9yJywg
KCkgPT4geworICAgIGFuaW1hdGlvbi5wbGF5KCk7CisgIH0sICdUcnlpbmcgdG8gcGxheSBhIHJl
dmVyc2VkIGluZmluaXRlIGFuaW1hdGlvbiBzaG91bGQgdGhyb3cnKTsKKworICBhc3NlcnRfZXF1
YWxzKAorICAgIGFuaW1hdGlvbi5wbGF5U3RhdGUsCisgICAgJ3BhdXNlZCcsCisgICAgJ0FuaW1h
dGlvbiBzaG91bGQgc3RpbGwgYmUgcGF1c2VkJworICApOworCisgIGFuaW1hdGlvbi5wbGF5YmFj
a1JhdGUgPSAxOworICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3J1bm5pbmcnOwor
CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLnBsYXlTdGF0ZSwKKyAgICAncnVubmlu
ZycsCisgICAgJ0NoYW5naW5nIHRoZSBhbmltYXRpb24tcGxheS1zdGF0ZSBzaG91bGQgcGxheSB0
aGUgYW5pbWF0aW9uJworICApOworfSwgJ3BsYXkoKSBkb2VzIE5PVCBvdmVycmlkZSB0aGUgYW5p
bWF0aW9uLXBsYXktc3RhdGUgaWYgdGhlcmUgd2FzIGFuIGVycm9yJyk7CisKK3Byb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOworICBkaXYuc3R5bGUuYW5p
bWF0aW9uID0gJ2FuaW0gMTAwMHMgcGF1c2VkJzsKKworICBjb25zdCBhbmltYXRpb24gPSBkaXYu
Z2V0QW5pbWF0aW9ucygpWzBdOwogICBhbmltYXRpb24ucGF1c2UoKTsKKwogICBkaXYuc3R5bGUu
YW5pbWF0aW9uUGxheVN0YXRlID0gJ3J1bm5pbmcnOworICBnZXRDb21wdXRlZFN0eWxlKGRpdiku
YW5pbWF0aW9uUGxheVN0YXRlOwogCiAgIGF3YWl0IGFuaW1hdGlvbi5yZWFkeTsKICAgYXdhaXQg
d2FpdEZvck5leHRGcmFtZSgpOwogCi0gIGFzc2VydF9lcXVhbHMoY3MuYW5pbWF0aW9uUGxheVN0
YXRlLCAncnVubmluZycsCi0gICAgICAgICAgICAgICAgJ2FuaW1hdGlvbi1wbGF5LXN0YXRlIGlz
IHJ1bm5pbmcnKTsKLSAgYXNzZXJ0X2VxdWFscyhnZXRNYXJnaW5MZWZ0KGNzKSwgMCwKLSAgICAg
ICAgICAgICAgICAnUGF1c2VkIHZhbHVlIG9mIG1hcmdpbi1sZWZ0IGlzIHplcm8nKTsKKyAgYXNz
ZXJ0X2VxdWFscyhhbmltYXRpb24ucGxheVN0YXRlLCAncGF1c2VkJywgJ3BsYXlTdGF0ZSBpcyBw
YXVzZWQgJyk7CisKKyAgLy8gRmxpcCB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUgYmFjayBhbmQg
Zm9ydGggdG8gY2hlY2sgaXQgaGFzIG5vIGVmZmVjdAorCisgIGRpdi5zdHlsZS5hbmltYXRpb25Q
bGF5U3RhdGUgPSAncGF1c2VkJzsKKyAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblBs
YXlTdGF0ZTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvblBsYXlTdGF0ZSA9ICdydW5uaW5nJzsKKyAg
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0ZTsKKworICBhc3NlcnRfZXF1
YWxzKAorICAgIGFuaW1hdGlvbi5wbGF5U3RhdGUsCisgICAgJ3BhdXNlZCcsCisgICAgJ1Nob3Vs
ZCBzdGlsbCBiZSBwYXVzZWQgZXZlbiBhZnRlciBmbGlwcGluZyB0aGUgYW5pbWF0aW9uLXBsYXkt
c3RhdGUnCisgICk7CiB9LCAncGF1c2UoKSBvdmVycmlkZXMgYW5pbWF0aW9uLXBsYXktc3RhdGUn
KTsKIAogcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBjb25zdCBkaXYgPSBhZGREaXYodCk7
Ci0gIGNvbnN0IGNzID0gZ2V0Q29tcHV0ZWRTdHlsZShkaXYpOwotICBkaXYuc3R5bGUuYW5pbWF0
aW9uID0gJ2FuaW0gMTAwMHMgcGF1c2VkJzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmlt
IDEwMHMgcGF1c2VkJzsKKwogICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0QW5pbWF0aW9ucygp
WzBdOwotICBhc3NlcnRfZXF1YWxzKGdldE1hcmdpbkxlZnQoY3MpLCAwLAotICAgICAgICAgICAg
ICAgICdJbml0aWFsIHZhbHVlIG9mIG1hcmdpbi1sZWZ0IGlzIHplcm8nKTsKLSAgYW5pbWF0aW9u
LnBsYXkoKTsKKyAgYW5pbWF0aW9uLnJldmVyc2UoKTsKIAotICBhd2FpdCBhbmltYXRpb24ucmVh
ZHk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLnBsYXlTdGF0ZSwKKyAgICAncnVu
bmluZycsCisgICAgJ1BsYXkgc3RhdGUgaXMgcnVubmluZyBhZnRlciBjYWxsaW5nIHJldmVyc2Uo
KScKKyAgKTsKIAotICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3J1bm5pbmcnOwot
ICBjcy5hbmltYXRpb25QbGF5U3RhdGU7IC8vIFRyaWdnZXIgc3R5bGUgcmVzb2x1dGlvbgotICBh
d2FpdCB3YWl0Rm9yTmV4dEZyYW1lKCk7CisgIC8vIEZsaXAgdGhlIGFuaW1hdGlvbi1wbGF5LXN0
YXRlIGJhY2sgYW5kIGZvcnRoIHRvIGNoZWNrIGl0IGhhcyBubyBlZmZlY3QKIAotICBhc3NlcnRf
ZXF1YWxzKGNzLmFuaW1hdGlvblBsYXlTdGF0ZSwgJ3J1bm5pbmcnLAotICAgICAgICAgICAgICAg
ICdhbmltYXRpb24tcGxheS1zdGF0ZSBpcyBydW5uaW5nJyk7CisgIGRpdi5zdHlsZS5hbmltYXRp
b25QbGF5U3RhdGUgPSAncnVubmluZyc7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbmltYXRp
b25QbGF5U3RhdGU7CiAgIGRpdi5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncGF1c2VkJzsK
LSAgYXdhaXQgYW5pbWF0aW9uLnJlYWR5OworICBnZXRDb21wdXRlZFN0eWxlKGRpdikuYW5pbWF0
aW9uUGxheVN0YXRlOwogCi0gIGFzc2VydF9lcXVhbHMoY3MuYW5pbWF0aW9uUGxheVN0YXRlLCAn
cGF1c2VkJywKLSAgICAgICAgICAgICAgICAnYW5pbWF0aW9uLXBsYXktc3RhdGUgaXMgcGF1c2Vk
Jyk7Ci0gIGNvbnN0IHByZXZpb3VzQW5pbVZhbCA9IGdldE1hcmdpbkxlZnQoY3MpOwotICBhd2Fp
dCB3YWl0Rm9yTmV4dEZyYW1lKCk7Ci0KLSAgYXNzZXJ0X2VxdWFscyhnZXRNYXJnaW5MZWZ0KGNz
KSwgcHJldmlvdXNBbmltVmFsLAotICAgICAgICAgICAgICAgICdBbmltYXRlZCB2YWx1ZSBvZiBt
YXJnaW4tbGVmdCBkb2VzIG5vdCBjaGFuZ2Ugd2hlbicKLSAgICAgICAgICAgICAgICArICcgcGF1
c2VkIGJ5IHN0eWxlJyk7Ci19LCAncGxheSgpIGlzIG92ZXJyaWRkZW4gYnkgbGF0ZXIgc2V0dGlu
ZyAiYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZCInKTsKKyAgYXNzZXJ0X2VxdWFscygKKyAg
ICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdydW5uaW5nJywKKyAgICAnU2hvdWxkIHN0aWxs
IGJlIHJ1bm5pbmcgZXZlbiBhZnRlciBmbGlwcGluZyB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUn
CisgICk7Cit9LCAncmV2ZXJzZSgpIG92ZXJyaWRlcyBhbmltYXRpb24tcGxheS1zdGF0ZSB3aGVu
IGl0IHN0YXJ0cyBwbGF5aW5nIHRoZScKKyAgICsgJyBhbmltYXRpb24nKTsKIAogcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4gewogICBjb25zdCBkaXYgPSBhZGREaXYodCk7Ci0gIGNvbnN0IGNzID0g
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpOwotICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0gMTAw
MHMnOworICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0gMTAwcyc7CisKICAgY29uc3QgYW5p
bWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKLSAgYXNzZXJ0X2VxdWFscyhnZXRNYXJn
aW5MZWZ0KGNzKSwgMCwKLSAgICAgICAgICAgICAgICAnSW5pdGlhbCB2YWx1ZSBvZiBtYXJnaW4t
bGVmdCBpcyB6ZXJvJyk7CisgIGFuaW1hdGlvbi5yZXZlcnNlKCk7CisKKyAgYXNzZXJ0X2VxdWFs
cygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdydW5uaW5nJywKKyAgICAnUGxheSBz
dGF0ZSBpcyBydW5uaW5nIGFmdGVyIGNhbGxpbmcgcmV2ZXJzZSgpJworICApOwogCi0gIC8vIFNl
dCB0aGUgc3BlY2lmaWVkIHN0eWxlIGZpcnN0LiBJZiBpbXBsZW1lbnRhdGlvbnMgZmFpbCB0bwot
ICAvLyBhcHBseSB0aGUgc3R5bGUgY2hhbmdlcyBmaXJzdCwgdGhleSB3aWxsIGlnbm9yZSB0aGUg
cmVkdW5kYW50Ci0gIC8vIGNhbGwgdG8gcGxheSgpIGFuZCBmYWlsIHRvIGNvcnJlY3RseSBvdmVy
cmlkZSB0aGUgcGF1c2Ugc3R5bGUuCiAgIGRpdi5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAn
cGF1c2VkJzsKLSAgYW5pbWF0aW9uLnBsYXkoKTsKLSAgY29uc3QgcHJldmlvdXNBbmltVmFsID0g
Z2V0TWFyZ2luTGVmdChjcyk7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbmltYXRpb25QbGF5
U3RhdGU7CiAKLSAgYXdhaXQgYW5pbWF0aW9uLnJlYWR5OwotICBhd2FpdCB3YWl0Rm9yTmV4dEZy
YW1lKCk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLnBsYXlTdGF0ZSwKKyAgICAn
cGF1c2VkJywKKyAgICAnU2hvdWxkIGJlIHBhdXNlZCBhZnRlciBjaGFuZ2luZyB0aGUgYW5pbWF0
aW9uLXBsYXktc3RhdGUnCisgICk7Cit9LCAncmV2ZXJzZSgpIGRvZXMgTk9UIG92ZXJyaWRlIGFu
aW1hdGlvbi1wbGF5LXN0YXRlIGlmIHRoZSBhbmltYXRpb24gaXMnCisgICArICcgYWxyZWFkeSBy
dW5uaW5nJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRk
RGl2KHQpOworICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0gMTAwcyc7CisKKyAgY29uc3Qg
YW5pbWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKKyAgYW5pbWF0aW9uLnN0YXJ0VGlt
ZSA9IG51bGw7CisKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAor
ICAgICdwYXVzZWQnLAorICAgICdQbGF5IHN0YXRlIGlzIHBhdXNlZCBhZnRlciBzZXR0aW5nIHRo
ZSBzdGFydCB0aW1lIHRvIG51bGwnCisgICk7CisKKyAgLy8gRmxpcCB0aGUgYW5pbWF0aW9uLXBs
YXktc3RhdGUgYmFjayBhbmQgZm9ydGggdG8gY2hlY2sgaXQgaGFzIG5vIGVmZmVjdAorCisgIGRp
di5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncGF1c2VkJzsKKyAgZ2V0Q29tcHV0ZWRTdHls
ZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0ZTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvblBsYXlTdGF0
ZSA9ICdydW5uaW5nJzsKKyAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0
ZTsKIAotICBhc3NlcnRfZXF1YWxzKGNzLmFuaW1hdGlvblBsYXlTdGF0ZSwgJ3BhdXNlZCcsCi0g
ICAgICAgICAgICAgICAgJ2FuaW1hdGlvbi1wbGF5LXN0YXRlIGlzIHBhdXNlZCcpOwotICBhc3Nl
cnRfZ3JlYXRlcl90aGFuKGdldE1hcmdpbkxlZnQoY3MpLCBwcmV2aW91c0FuaW1WYWwsCi0gICAg
ICAgICAgICAgICAgICAgICAgJ1BsYXlpbmcgdmFsdWUgb2YgbWFyZ2luLWxlZnQgaXMgaW5jcmVh
c2luZycpOwotfSwgJ3BsYXkoKSBmbHVzaGVzIHBlbmRpbmcgY2hhbmdlcyB0byBhbmltYXRpb24t
cGxheS1zdGF0ZSBmaXJzdCcpOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5wbGF5
U3RhdGUsCisgICAgJ3BhdXNlZCcsCisgICAgJ1Nob3VsZCBzdGlsbCBiZSBwYXVzZWQgZXZlbiBh
ZnRlciBmbGlwcGluZyB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUnCisgICk7Cit9LCAnU2V0dGlu
ZyB0aGUgc3RhcnRUaW1lIHRvIG51bGwgb3ZlcnJpZGVzIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGlm
IHRoZScKKyAgICsgJyBhbmltYXRpb24gaXMgYWxyZWFkeSBydW5uaW5nJyk7CiAKIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwotICBjb25zdCBjcyA9
IGdldENvbXB1dGVkU3R5bGUoZGl2KTsKLSAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltIDEw
MDBzIHBhdXNlZCc7CisgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbSAxMDBzIHBhdXNlZCc7
CisKICAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKLSAgYXNzZXJ0
X2VxdWFscyhnZXRNYXJnaW5MZWZ0KGNzKSwgMCwKLSAgICAgICAgICAgICAgICAnSW5pdGlhbCB2
YWx1ZSBvZiBtYXJnaW4tbGVmdCBpcyB6ZXJvJyk7Ci0KLSAgLy8gVW5saWtlIHRoZSBwcmV2aW91
cyB0ZXN0IGZvciBwbGF5KCksIHNpbmNlIGNhbGxpbmcgcGF1c2UoKSBpcyBzdGlja3ksCi0gIC8v
IHdlJ2xsIGFwcGx5IGl0IGV2ZW4gaWYgdGhlIHVuZGVybHlpbmcgc3R5bGUgYWxzbyBzYXlzIHdl
J3JlIHBhdXNlZC4KLSAgLy8KLSAgLy8gV2Ugd291bGQgbGlrZSB0byB0ZXN0IHRoYXQgaW1wbGVt
ZW50YXRpb25zIGZsdXNoIHN0eWxlcyBiZWZvcmUgcnVubmluZwotICAvLyBwYXVzZSgpIGJ1dCBh
Y3R1YWxseSB0aGVyZSdzIG5vIHN0eWxlIHdlIGNhbiBjdXJyZW50bHkgc2V0IHRoYXQgd2lsbAot
ICAvLyBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHBhdXNlKCkuIFRoYXQgbWF5IGNoYW5nZSBpbiB0
aGUgZnV0dXJlCi0gIC8vIChlLmcuIGlmIHdlIGludHJvZHVjZSBhbmltYXRpb24tdGltZWxpbmUg
b3IgYW5pbWF0aW9uLXBsYXliYWNrLXJhdGUgZXRjLikuCi0gIC8vCi0gIC8vIEZvciBub3cgdGhp
cyBqdXN0IHNlcnZlcyBhcyBhIHNhbml0eSBjaGVjayB0aGF0IHdlIGRvIHRoZSBzYW1lIHRoaW5n
Ci0gIC8vIGV2ZW4gaWYgd2Ugc2V0IHN0eWxlIGJlZm9yZSBjYWxsaW5nIHRoZSBBUEkuCisgIGFu
aW1hdGlvbi5zdGFydFRpbWUgPSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZTsKKworICBh
c3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5wbGF5U3RhdGUsCisgICAgJ3J1bm5pbmcnLAor
ICAgICdQbGF5IHN0YXRlIGlzIHJ1bm5pbmcgYWZ0ZXIgc2V0dGluZyB0aGUgc3RhcnQgdGltZSB0
byBub24tbnVsbCcKKyAgKTsKKworICAvLyBGbGlwIHRoZSBhbmltYXRpb24tcGxheS1zdGF0ZSBi
YWNrIGFuZCBmb3J0aCB0byBjaGVjayBpdCBoYXMgbm8gZWZmZWN0CisKICAgZGl2LnN0eWxlLmFu
aW1hdGlvblBsYXlTdGF0ZSA9ICdydW5uaW5nJzsKLSAgYW5pbWF0aW9uLnBhdXNlKCk7Ci0gIGNv
bnN0IHByZXZpb3VzQW5pbVZhbCA9IGdldE1hcmdpbkxlZnQoY3MpOworICBnZXRDb21wdXRlZFN0
eWxlKGRpdikuYW5pbWF0aW9uUGxheVN0YXRlOworICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0
YXRlID0gJ3BhdXNlZCc7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbmltYXRpb25QbGF5U3Rh
dGU7CiAKLSAgYXdhaXQgYW5pbWF0aW9uLnJlYWR5OwotICBhd2FpdCB3YWl0Rm9yTmV4dEZyYW1l
KCk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLnBsYXlTdGF0ZSwKKyAgICAncnVu
bmluZycsCisgICAgJ1Nob3VsZCBzdGlsbCBiZSBydW5uaW5nIGV2ZW4gYWZ0ZXIgZmxpcHBpbmcg
dGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlJworICApOworfSwgJ1NldHRpbmcgdGhlIHN0YXJ0VGlt
ZSB0byBub24tbnVsbCBvdmVycmlkZXMgYW5pbWF0aW9uLXBsYXktc3RhdGUgaWYgdGhlJworICAg
KyAnIGFuaW1hdGlvbiBpcyBwYXVzZWQnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICBjb25zdCBkaXYgPSBhZGREaXYodCk7CisgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbSAx
MDBzJzsKKworICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0QW5pbWF0aW9ucygpWzBdOworICBh
bmltYXRpb24uc3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWU7CisKKyAg
ZGl2LnN0eWxlLmFuaW1hdGlvblBsYXlTdGF0ZSA9ICdwYXVzZWQnOworICBnZXRDb21wdXRlZFN0
eWxlKGRpdikuYW5pbWF0aW9uUGxheVN0YXRlOwogCi0gIGFzc2VydF9lcXVhbHMoY3MuYW5pbWF0
aW9uUGxheVN0YXRlLCAncnVubmluZycsCi0gICAgICAgICAgICAgICAgJ2FuaW1hdGlvbi1wbGF5
LXN0YXRlIGlzIHJ1bm5pbmcnKTsKLSAgYXNzZXJ0X2VxdWFscyhnZXRNYXJnaW5MZWZ0KGNzKSwg
cHJldmlvdXNBbmltVmFsLAotICAgICAgICAgICAgICAgICdQYXVzZWQgdmFsdWUgb2YgbWFyZ2lu
LWxlZnQgZG9lcyBub3QgY2hhbmdlJyk7Ci19LCAncGF1c2UoKSBhcHBsaWVzIHBlbmRpbmcgY2hh
bmdlcyB0byBhbmltYXRpb24tcGxheS1zdGF0ZSBmaXJzdCcpOwotLy8gKE5vdGUgdGhhdCB3ZSBj
YW4ndCBhY3R1YWxseSB0ZXN0IGZvciB0aGlzOyBzZWUgY29tbWVudCBhYm92ZSwgaW4gdGVzdC1i
b2R5LikKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdw
YXVzZWQnLAorICAgICdTaG91bGQgYmUgcGF1c2VkIGFmdGVyIGNoYW5naW5nIHRoZSBhbmltYXRp
b24tcGxheS1zdGF0ZScKKyAgKTsKK30sICdTZXR0aW5nIHRoZSBzdGFydFRpbWUgdG8gbm9uLW51
bGwgZG9lcyBOT1Qgb3ZlcnJpZGUgdGhlJworICAgKyAnIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGlm
IHRoZSBhbmltYXRpb24gaXMgYWxyZWFkeSBydW5uaW5nJyk7CiAKIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQsIHsgc3R5bGU6ICdhbmltYXRpb246IGFu
aW0gMTAwMHMnIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXJlYWR5LnRlbnRh
dGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXJlYWR5LnRlbnRhdGl2ZS5odG1sCmluZGV4
IGY3MGViZDE3MDAzOTg4ZDY0MWE3Y2U1NjQ1ZDkyYjFjOTY4ZGFjM2UuLjJhMjI3NjA2OTNkZTQ5
ZjRkZTA2YTU0NmYzZmU2Y2I5OWU5ODQ3NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlv
bi1yZWFkeS50ZW50YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tcmVhZHkudGVu
dGF0aXZlLmh0bWwKQEAgLTQyLDcgKzQyLDcgQEAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewog
ICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJyc7CiAgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbmlt
YXRpb247CiAKLSAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKHQsICdBYm9ydEVycm9yJywgcmVhZHlQ
cm9taXNlLAorICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICdBYm9ydEVycm9yJywgcmVh
ZHlQcm9taXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgJ3JlYWR5IHByb21pc2UgaXMgcmVq
ZWN0ZWQgd2l0aCBBYm9ydEVycm9yJyk7CiB9LCAncmVhZHkgcHJvbWlzZSBpcyByZWplY3RlZCB3
aGVuIGFuIGFuaW1hdGlvbiBpcyBjYW5jZWxlZCBieSByZXNldHRpbmcnCiAgICArICcgdGhlIGFu
aW1hdGlvbiBwcm9wZXJ0eScpOwpAQCAtNjQsNyArNjQsNyBAQCBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnZGVmIDEwMHMnOwogICBnZXRDb21wdXRl
ZFN0eWxlKGRpdikuYW5pbWF0aW9uOwogCi0gIGF3YWl0IHByb21pc2VfcmVqZWN0cyh0LCAnQWJv
cnRFcnJvcicsIHJlYWR5UHJvbWlzZSwKKyAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAn
QWJvcnRFcnJvcicsIHJlYWR5UHJvbWlzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICdyZWFk
eSBwcm9taXNlIGlzIHJlamVjdGVkIHdpdGggQWJvcnRFcnJvcicpOwogfSwgJ3JlYWR5IHByb21p
c2UgaXMgcmVqZWN0ZWQgd2hlbiBhbiBhbmltYXRpb24gaXMgY2FuY2VsZWQgYnkgdXBkYXRpbmcn
CiAgICArICcgdGhlIGFuaW1hdGlvbiBwcm9wZXJ0eScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9j
dW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1l
bnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGQwYmFiZjU2ODNl
YWVlYWMzYmU4MDk2YTJjNTBmMmJhNjE2YzI5NjkuLmQ3YzU4MWY1ZGU2YWQwYzgzYTU0MDc4NDVl
MzVhZjZmZWE1YzA4NzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMu
dGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25z
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTYsNiArNiw3IEBAIFBBU1MgT3JkZXIgb2YgQ1NT
IEFuaW1hdGlvbnMgLSB3aXRoaW4gYW4gZWxlbWVudAogUEFTUyBPcmRlciBvZiBDU1MgQW5pbWF0
aW9ucyAtIGFjcm9zcyBlbGVtZW50cyAKIFBBU1MgT3JkZXIgb2YgQ1NTIEFuaW1hdGlvbnMgLSBh
Y3Jvc3MgYW5kIHdpdGhpbiBlbGVtZW50cyAKIFBBU1MgT3JkZXIgb2YgQ1NTIEFuaW1hdGlvbnMg
LSBtYXJrdXAtYm91bmQgdnMgZnJlZSBhbmltYXRpb25zIAorUEFTUyBPcmRlciBvZiBDU1MgQW5p
bWF0aW9ucyAtIGZyZWUgYW5pbWF0aW9uIHZzIENTUyBUcmFuc2l0aW9ucyAKIFBBU1MgT3JkZXIg
b2YgQ1NTIEFuaW1hdGlvbnMgLSBmcmVlIGFuaW1hdGlvbnMgCiBQQVNTIE9yZGVyIG9mIENTUyBB
bmltYXRpb25zIGFuZCBDU1MgVHJhbnNpdGlvbnMgCiBQQVNTIEZpbmlzaGVkIGJ1dCBmaWxsaW5n
IENTUyBBbmltYXRpb25zIGFyZSByZXR1cm5lZCAKQEAgLTE0LDQgKzE1LDUgQEAgUEFTUyBZZXQt
dG8tc3RhcnQgQ1NTIEFuaW1hdGlvbnMgYXJlIHJldHVybmVkCiBQQVNTIENTUyBBbmltYXRpb25z
IGNhbmNlbGVkIHZpYSB0aGUgQVBJIGFyZSBub3QgcmV0dXJuZWQgCiBQQVNTIENTUyBBbmltYXRp
b25zIGNhbmNlbGVkIGFuZCByZXN0YXJ0ZWQgdmlhIHRoZSBBUEkgYXJlIHJldHVybmVkIAogUEFT
UyBDU1MgQW5pbWF0aW9ucyB0YXJnZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZl
IGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29ydGluZyAKK0ZBSUwgQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0
dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNv
cnRpbmcgKDo6bWFya2VyKSBhc3NlcnRfZXF1YWxzOiBDU1MgYW5pbWF0aW9ucyBvbiBib3RoIHBz
ZXVkby1lbGVtZW50cyBhbmQgZWxlbWVudHMgYXJlIHJldHVybmVkIGV4cGVjdGVkIDUgYnV0IGdv
dCA0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS5odG1sCmluZGV4
IDRhOTc2OGE4YjYxMGU1MzI3Y2MzNDk3YTFlYzZmMzAxNjQyNDY4YTcuLjQ0MTY3MzVmNTBiYjIz
YTFkMWJjY2NmMGFkMjE5YmIyYzIxYmM0YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0RvY3VtZW50LWdl
dEFuaW1hdGlvbnMudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0
aW9ucy50ZW50YXRpdmUuaHRtbApAQCAtMTgwLDYgKzE4MCwyOSBAQCB0ZXN0KHQgPT4gewogICBh
c3NlcnRfZXF1YWxzKGFuaW1hdGlvbnNbMV0sIGFuaW1MZWZ0LCAnRnJlZSBhbmltYXRpb25zIGNv
bWUgbGFzdCcpOwogfSwgJ09yZGVyIG9mIENTUyBBbmltYXRpb25zIC0gbWFya3VwLWJvdW5kIHZz
IGZyZWUgYW5pbWF0aW9ucycpOwogCit0ZXN0KHQgPT4geworICAvLyBBZGQgYW4gYW5pbWF0aW9u
IGZpcnN0CisgIGNvbnN0IGRpdiA9IGFkZERpdih0LCB7IHN0eWxlOiAnYW5pbWF0aW9uOiBhbmlt
TGVmdCAxMDBzJyB9KTsKKyAgY29uc3QgYW5pbUxlZnQgPSBkb2N1bWVudC5nZXRBbmltYXRpb25z
KClbMF07CisgIC8vIERpc2Fzc29jaWF0ZSBhbmltTGVmdCBmcm9tIG1hcmt1cCBhbmQgcmVzdGFy
dAorICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJyc7CisgIGFuaW1MZWZ0LnBsYXkoKTsKKworICBk
aXYuc3R5bGUudG9wID0gJzBweCc7CisgIGRpdi5zdHlsZS50cmFuc2l0aW9uID0gJ2FsbCAxMDBz
JzsKKyAgZmx1c2hDb21wdXRlZFN0eWxlKGRpdik7CisgIC8vICpUaGVuKiBhZGQgYSB0cmFuc2l0
aW9uCisgIGRpdi5zdHlsZS50b3AgPSAnMTAwcHgnOworICBmbHVzaENvbXB1dGVkU3R5bGUoZGl2
KTsKKworICAvLyBBbHRob3VnaCB0aGUgdHJhbnNpdGlvbiB3YXMgYWRkZWQgbGF0ZXIsIGl0IHNo
b3VsZCBjb21lIGZpcnN0IGluIHRoZSBsaXN0CisgIGNvbnN0IGFuaW1hdGlvbnMgPSBkb2N1bWVu
dC5nZXRBbmltYXRpb25zKCk7CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9ucy5sZW5ndGgsIDIs
CisgICAgICAgICAgICAgICAgJ0JvdGggQ1NTIGFuaW1hdGlvbnMgYW5kIHRyYW5zaXRpb25zIGFy
ZSByZXR1cm5lZCcpOworICBhc3NlcnRfY2xhc3Nfc3RyaW5nKGFuaW1hdGlvbnNbMF0sICdDU1NU
cmFuc2l0aW9uJywgJ1RyYW5zaXRpb24gY29tZXMgZmlyc3QnKTsKKyAgYXNzZXJ0X2VxdWFscyhh
bmltYXRpb25zWzFdLCBhbmltTGVmdCwgJ0ZyZWUgYW5pbWF0aW9ucyBjb21lIGxhc3QnKTsKK30s
ICdPcmRlciBvZiBDU1MgQW5pbWF0aW9ucyAtIGZyZWUgYW5pbWF0aW9uIHZzIENTUyBUcmFuc2l0
aW9ucycpOworCiB0ZXN0KHQgPT4gewogICBjb25zdCBkaXYgPSBhZGREaXYodCwgeyBzdHlsZTog
J2FuaW1hdGlvbjogYW5pbUxlZnQgMTAwcywgYW5pbVRvcCAxMDBzJyB9KTsKICAgY29uc3QgYW5p
bUxlZnQgPSBkb2N1bWVudC5nZXRBbmltYXRpb25zKClbMF07CkBAIC0yNjIsODMgKzI4NSw4OCBA
QCB0ZXN0KHQgPT4gewogICAgICAgICAgICAgICAgICdyZXR1cm5lZCcpOwogfSwgJ0NTUyBBbmlt
YXRpb25zIGNhbmNlbGVkIGFuZCByZXN0YXJ0ZWQgdmlhIHRoZSBBUEkgYXJlIHJldHVybmVkJyk7
CiAKLXRlc3QodCA9PiB7Ci0gIC8vIENyZWF0ZSB0d28gZGl2cyB3aXRoIHRoZSBmb2xsb3dpbmcg
YXJyYW5nZW1lbnQ6Ci0gIC8vCi0gIC8vICAgICAgIHBhcmVudAotICAvLyAgICAoOjptYXJrZXIs
KQotICAvLyAgICAgOjpiZWZvcmUsCi0gIC8vICAgICA6OmFmdGVyCi0gIC8vICAgICAgICB8Ci0g
IC8vICAgICAgIGNoaWxkCi0KLSAgYWRkU3R5bGUodCwgewotICAgICcjcGFyZW50OjphZnRlcic6
ICJjb250ZW50OiAnJzsgYW5pbWF0aW9uOiBhbmltTGVmdCAxMDBzOyIsCi0gICAgJyNwYXJlbnQ6
OmJlZm9yZSc6ICJjb250ZW50OiAnJzsgYW5pbWF0aW9uOiBhbmltUmlnaHQgMTAwczsiLAotICB9
KTsKK2Z1bmN0aW9uIHBzZXVkb1Rlc3QoZGVzY3JpcHRpb24sIHRlc3RNYXJrZXJQc2V1ZG9zKSB7
CisgIHRlc3QodCA9PiB7CisgICAgLy8gQ3JlYXRlIHR3byBkaXZzIHdpdGggdGhlIGZvbGxvd2lu
ZyBhcnJhbmdlbWVudDoKKyAgICAvLworICAgIC8vICAgICAgIHBhcmVudAorICAgIC8vICAgICg6
Om1hcmtlciwpICAvLyBPcHRpb25hbGx5CisgICAgLy8gICAgIDo6YmVmb3JlLAorICAgIC8vICAg
ICA6OmFmdGVyCisgICAgLy8gICAgICAgIHwKKyAgICAvLyAgICAgICBjaGlsZAogCi0gIGNvbnN0
IHN1cHBvcnRzTWFya2VyUHNldWRvcyA9IENTUy5zdXBwb3J0cygnc2VsZWN0b3IoOjptYXJrZXIp
Jyk7Ci0gIGlmIChzdXBwb3J0c01hcmtlclBzZXVkb3MpIHsKICAgICBhZGRTdHlsZSh0LCB7Ci0g
ICAgICAnI3BhcmVudCc6ICdkaXNwbGF5OiBsaXN0LWl0ZW07JywKLSAgICAgICcjcGFyZW50Ojpt
YXJrZXInOiAiY29udGVudDogJyc7IGFuaW1hdGlvbjogYW5pbUxlZnQgMTAwczsiLAorICAgICAg
JyNwYXJlbnQ6OmFmdGVyJzogImNvbnRlbnQ6ICcnOyBhbmltYXRpb246IGFuaW1MZWZ0IDEwMHM7
IiwKKyAgICAgICcjcGFyZW50OjpiZWZvcmUnOiAiY29udGVudDogJyc7IGFuaW1hdGlvbjogYW5p
bVJpZ2h0IDEwMHM7IiwKICAgICB9KTsKLSAgfQotCi0gIGNvbnN0IHBhcmVudCA9IGFkZERpdih0
LCB7IGlkOiAncGFyZW50JyB9KTsKLSAgY29uc3QgY2hpbGQgPSBhZGREaXYodCk7Ci0gIHBhcmVu
dC5hcHBlbmRDaGlsZChjaGlsZCk7Ci0gIGZvciAoY29uc3QgZGl2IG9mIFtwYXJlbnQsIGNoaWxk
XSkgewotICAgIGRpdi5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2FuaW1hdGlvbjogYW5pbUJvdHRv
bSAxMDBzJyk7Ci0gIH0KLQotICBjb25zdCBleHBlY3RlZEFuaW1hdGlvbnMgPSBbCi0gICAgW3Bh
cmVudCwgdW5kZWZpbmVkXSwKLSAgICBbcGFyZW50LCAnOjptYXJrZXInXSwKLSAgICBbcGFyZW50
LCAnOjpiZWZvcmUnXSwKLSAgICBbcGFyZW50LCAnOjphZnRlciddLAotICAgIFtjaGlsZCwgdW5k
ZWZpbmVkXSwKLSAgXTsKLSAgaWYgKCFzdXBwb3J0c01hcmtlclBzZXVkb3MpIHsKLSAgICBleHBl
Y3RlZEFuaW1hdGlvbnMuc3BsaWNlKDEsIDEpOwotICB9CiAKLSAgY29uc3QgYW5pbWF0aW9ucyA9
IGRvY3VtZW50LmdldEFuaW1hdGlvbnMoKTsKLSAgYXNzZXJ0X2VxdWFscygKLSAgICBhbmltYXRp
b25zLmxlbmd0aCwKLSAgICBleHBlY3RlZEFuaW1hdGlvbnMubGVuZ3RoLAotICAgICdDU1MgYW5p
bWF0aW9ucyBvbiBib3RoIHBzZXVkby1lbGVtZW50cyBhbmQgZWxlbWVudHMgYXJlIHJldHVybmVk
JwotICApOwotCi0gIGZvciAoY29uc3QgW2luZGV4LCBleHBlY3RlZF0gb2YgZXhwZWN0ZWRBbmlt
YXRpb25zLmVudHJpZXMoKSkgewotICAgIGNvbnN0IFtlbGVtZW50LCBwc2V1ZG9dID0gZXhwZWN0
ZWQ7Ci0gICAgY29uc3QgYWN0dWFsID0gYW5pbWF0aW9uc1tpbmRleF07Ci0KLSAgICBpZiAocHNl
dWRvKSB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgICBhY3R1YWwuZWZmZWN0LnRhcmdl
dCwKLSAgICAgICAgZWxlbWVudCwKLSAgICAgICAgYEFuaW1hdGlvbiAjJHtpbmRleCArIDF9IGhh
cyBleHBlY3RlZCB0YXJnZXRgCi0gICAgICApOwotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAg
ICAgYWN0dWFsLmVmZmVjdC5wc2V1ZG9FbGVtZW50LAotICAgICAgICBwc2V1ZG8sCi0gICAgICAg
IGBBbmltYXRpb24gIyR7aW5kZXggKyAxfSBoYXMgZXhwZWN0ZWQgcHNldWRvIHR5cGVgCi0gICAg
ICApOwotICAgIH0gZWxzZSB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgICBhY3R1YWwu
ZWZmZWN0LnRhcmdldCwKLSAgICAgICAgZWxlbWVudCwKLSAgICAgICAgYEFuaW1hdGlvbiAjJHtp
bmRleCArIDF9IGhhcyBleHBlY3RlZCB0YXJnZXRgCi0gICAgICApOwotICAgICAgYXNzZXJ0X2Vx
dWFscygKLSAgICAgICAgYWN0dWFsLmVmZmVjdC5wc2V1ZG9FbGVtZW50LAotICAgICAgICBudWxs
LAotICAgICAgICBgQW5pbWF0aW9uICMke2luZGV4ICsgMX0gaGFzIG51bGwgcHNldWRvIHR5cGVg
Ci0gICAgICApOworICAgIGlmICh0ZXN0TWFya2VyUHNldWRvcykgeworICAgICAgYWRkU3R5bGUo
dCwgeworICAgICAgICAnI3BhcmVudCc6ICdkaXNwbGF5OiBsaXN0LWl0ZW07JywKKyAgICAgICAg
JyNwYXJlbnQ6Om1hcmtlcic6ICJjb250ZW50OiAnJzsgYW5pbWF0aW9uOiBhbmltTGVmdCAxMDBz
OyIsCisgICAgICB9KTsKICAgICB9Ci0gIH0KLX0sICdDU1MgQW5pbWF0aW9ucyB0YXJnZXR0aW5n
IChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgJwotICAgKyAnYWZ0
ZXIgc29ydGluZycpOworCisgICAgY29uc3QgcGFyZW50ID0gYWRkRGl2KHQsIHsgaWQ6ICdwYXJl
bnQnIH0pOworICAgIGNvbnN0IGNoaWxkID0gYWRkRGl2KHQpOworICAgIHBhcmVudC5hcHBlbmRD
aGlsZChjaGlsZCk7CisgICAgZm9yIChjb25zdCBkaXYgb2YgW3BhcmVudCwgY2hpbGRdKSB7Cisg
ICAgICBkaXYuc2V0QXR0cmlidXRlKCdzdHlsZScsICdhbmltYXRpb246IGFuaW1Cb3R0b20gMTAw
cycpOworICAgIH0KKworICAgIGNvbnN0IGV4cGVjdGVkQW5pbWF0aW9ucyA9IFsKKyAgICAgIFtw
YXJlbnQsIHVuZGVmaW5lZF0sCisgICAgICBbcGFyZW50LCAnOjptYXJrZXInXSwKKyAgICAgIFtw
YXJlbnQsICc6OmJlZm9yZSddLAorICAgICAgW3BhcmVudCwgJzo6YWZ0ZXInXSwKKyAgICAgIFtj
aGlsZCwgdW5kZWZpbmVkXSwKKyAgICBdOworICAgIGlmICghdGVzdE1hcmtlclBzZXVkb3MpIHsK
KyAgICAgIGV4cGVjdGVkQW5pbWF0aW9ucy5zcGxpY2UoMSwgMSk7CisgICAgfQorCisgICAgY29u
c3QgYW5pbWF0aW9ucyA9IGRvY3VtZW50LmdldEFuaW1hdGlvbnMoKTsKKyAgICBhc3NlcnRfZXF1
YWxzKAorICAgICAgYW5pbWF0aW9ucy5sZW5ndGgsCisgICAgICBleHBlY3RlZEFuaW1hdGlvbnMu
bGVuZ3RoLAorICAgICAgJ0NTUyBhbmltYXRpb25zIG9uIGJvdGggcHNldWRvLWVsZW1lbnRzIGFu
ZCBlbGVtZW50cyBhcmUgcmV0dXJuZWQnCisgICAgKTsKKworICAgIGZvciAoY29uc3QgW2luZGV4
LCBleHBlY3RlZF0gb2YgZXhwZWN0ZWRBbmltYXRpb25zLmVudHJpZXMoKSkgeworICAgICAgY29u
c3QgW2VsZW1lbnQsIHBzZXVkb10gPSBleHBlY3RlZDsKKyAgICAgIGNvbnN0IGFjdHVhbCA9IGFu
aW1hdGlvbnNbaW5kZXhdOworCisgICAgICBpZiAocHNldWRvKSB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoCisgICAgICAgICAgYWN0dWFsLmVmZmVjdC50YXJnZXQsCisgICAgICAgICAgZWxlbWVu
dCwKKyAgICAgICAgICBgQW5pbWF0aW9uICMke2luZGV4ICsgMX0gaGFzIGV4cGVjdGVkIHRhcmdl
dGAKKyAgICAgICAgKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscygKKyAgICAgICAgICBhY3R1YWwu
ZWZmZWN0LnBzZXVkb0VsZW1lbnQsCisgICAgICAgICAgcHNldWRvLAorICAgICAgICAgIGBBbmlt
YXRpb24gIyR7aW5kZXggKyAxfSBoYXMgZXhwZWN0ZWQgcHNldWRvIHR5cGVgCisgICAgICAgICk7
CisgICAgICB9IGVsc2UgeworICAgICAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgICAgIGFjdHVh
bC5lZmZlY3QudGFyZ2V0LAorICAgICAgICAgIGVsZW1lbnQsCisgICAgICAgICAgYEFuaW1hdGlv
biAjJHtpbmRleCArIDF9IGhhcyBleHBlY3RlZCB0YXJnZXRgCisgICAgICAgICk7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoCisgICAgICAgICAgYWN0dWFsLmVmZmVjdC5wc2V1ZG9FbGVtZW50LAor
ICAgICAgICAgIG51bGwsCisgICAgICAgICAgYEFuaW1hdGlvbiAjJHtpbmRleCArIDF9IGhhcyBu
dWxsIHBzZXVkbyB0eXBlYAorICAgICAgICApOworICAgICAgfQorICAgIH0KKyAgfSwgZGVzY3Jp
cHRpb24pOworfQorCitwc2V1ZG9UZXN0KCdDU1MgQW5pbWF0aW9ucyB0YXJnZXR0aW5nIChwc2V1
ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3QgJworICAgICArICdvcmRlciBhZnRlciBz
b3J0aW5nJywgZmFsc2UpOworcHNldWRvVGVzdCgnQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGluZyAo
cHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0ICcKKyAgICAgKyAnb3JkZXIgYWZ0
ZXIgc29ydGluZyAoOjptYXJrZXIpJywgdHJ1ZSk7CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1h
dGlvbnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1nZXRLZXlmcmFtZXMudGVudGF0aXZlLWV4cGVjdGVkLnR4
dAppbmRleCA5NjYzYWMzYzkyYTc0YTVhMjZmNmViZmJkZWQyZTFjOGE1NGJmNmE2Li44M2U3ODE2
YTNlODU1NjEzMzBiODgyNDY3YWFhNzE4ODI2MDUyYjZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlm
cmFtZUVmZmVjdC1nZXRLZXlmcmFtZXMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy9LZXlmcmFtZUVmZmVjdC1nZXRLZXlmcmFtZXMudGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAt
NSwyMiArNSwyMyBAQCBQQVNTIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMg
ZnJhbWVzIHdpdGggZXhwZWN0ZWQgZWFzaW5nIHZhbHVlcywgdwogUEFTUyBLZXlmcmFtZUVmZmVj
dC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGZyYW1lcyB3aXRoIGV4cGVjdGVkIGVhc2luZyB2YWx1
ZXMsIHdoZW4gdGhlIGVhc2luZyBpcyBzcGVjaWZpZWQgb24gZWFjaCBrZXlmcmFtZSAKIFBBU1Mg
S2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBmcmFtZXMgd2l0aCBleHBlY3Rl
ZCBlYXNpbmcgdmFsdWVzLCB3aGVuIHRoZSBlYXNpbmcgaXMgc3BlY2lmaWVkIG9uIHNvbWUga2V5
ZnJhbWVzIAogUEFTUyBLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVj
dGVkIGZyYW1lcyBmb3IgYSBzaW1wbGUgYW5pbWF0aW9uIHRoYXQgc3BlY2lmaWVzIGEgc2luZ2xl
IHNob3J0aGFuZCBwcm9wZXJ0eSAKLUZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkg
cmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuIGFuaW1hdGlvbiB3aXRoIGEgMCUga2V5ZnJh
bWUgYW5kIG5vIDEwMCUga2V5ZnJhbWUgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21w
dXRlZEtleWZyYW1lICMxIGV4cGVjdGVkICJjb2xvcixjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQs
ZWFzaW5nLG9mZnNldCIgYnV0IGdvdCAiY29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxv
ZmZzZXQiCi1GQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0
ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBhIDEwMCUga2V5ZnJhbWUgYW5kIG5vIDAl
IGtleWZyYW1lIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAj
MCBleHBlY3RlZCAiY29sb3IsY29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQi
IGJ1dCBnb3QgImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IgotRkFJTCBL
ZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3Ig
YW4gYW5pbWF0aW9uIHdpdGggbm8gMCUgb3IgMTAwJSBrZXlmcmFtZSBidXQgd2l0aCBhIDUwJSBr
ZXlmcmFtZSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAg
ZXhwZWN0ZWQgImNvbG9yLGNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IiBi
dXQgZ290ICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIKLUZBSUwgS2V5
ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFu
IGFuaW1hdGlvbiB3aXRoIGEgcGFydGlhbGx5IGNvbXBsZXRlIDEwMCUga2V5ZnJhbWUgKGJlY2F1
c2UgdGhlICFpbXBvcnRhbnQgcnVsZSBpcyBpZ25vcmVkKSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0
aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzEgZXhwZWN0ZWQgImNvbXBvc2l0ZSxjb21wdXRlZE9m
ZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdpblRvcCxvZmZzZXQiIGJ1dCBnb3QgImNvbXBv
c2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG9mZnNldCIKK0ZBSUwgS2V5
ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFu
IGFuaW1hdGlvbiB3aXRoIGEgMCUga2V5ZnJhbWUgYW5kIG5vIDEwMCUga2V5ZnJhbWUgYXNzZXJ0
X2FycmF5X2VxdWFsczogcHJvcGVydGllcyBvbiBLZXlmcmFtZSAjMSBzaG91bGQgbWF0Y2ggbGVu
Z3RocyBkaWZmZXIsIGV4cGVjdGVkIDUgZ290IDQKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5
ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuIGFuaW1hdGlvbiB3aXRoIGEg
MTAwJSBrZXlmcmFtZSBhbmQgbm8gMCUga2V5ZnJhbWUgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJv
cGVydGllcyBvbiBLZXlmcmFtZSAjMCBzaG91bGQgbWF0Y2ggbGVuZ3RocyBkaWZmZXIsIGV4cGVj
dGVkIDUgZ290IDQKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBl
eHBlY3RlZCBmcmFtZXMgZm9yIGFuIGFuaW1hdGlvbiB3aXRoIG5vIDAlIG9yIDEwMCUga2V5ZnJh
bWUgYnV0IHdpdGggYSA1MCUga2V5ZnJhbWUgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydGll
cyBvbiBLZXlmcmFtZSAjMCBzaG91bGQgbWF0Y2ggbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDUg
Z290IDQKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3Rl
ZCBmcmFtZXMgZm9yIGFuIGFuaW1hdGlvbiB3aXRoIGEgcGFydGlhbGx5IGNvbXBsZXRlIDEwMCUg
a2V5ZnJhbWUgKGJlY2F1c2UgdGhlICFpbXBvcnRhbnQgcnVsZSBpcyBpZ25vcmVkKSBhc3NlcnRf
YXJyYXlfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIEtleWZyYW1lICMxIHNob3VsZCBtYXRjaCBsZW5n
dGhzIGRpZmZlciwgZXhwZWN0ZWQgNiBnb3QgNQogUEFTUyBLZXlmcmFtZUVmZmVjdC5nZXRLZXlm
cmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4gYW5pbWF0aW9uIHdpdGggZGlm
ZmVyZW50IHByb3BlcnRpZXMgb24gZGlmZmVyZW50IGtleWZyYW1lcywgYWxsIHdpdGggdGhlIHNh
bWUgZWFzaW5nIGZ1bmN0aW9uIAogUEFTUyBLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSBy
ZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4gYW5pbWF0aW9uIHdpdGggZGlmZmVyZW50IHBy
b3BlcnRpZXMgb24gZGlmZmVyZW50IGtleWZyYW1lcywgd2l0aCBhIGRpZmZlcmVudCBlYXNpbmcg
ZnVuY3Rpb24gb24gZWFjaCAKIFBBU1MgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0
dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuIGFuaW1hdGlvbiB3aXRoIG11bHRpcGxlIGtleWZy
YW1lcyBmb3IgdGhlIHNhbWUgdGltZSwgYW5kIGFsbCB3aXRoIHRoZSBzYW1lIGVhc2luZyBmdW5j
dGlvbiAKLUZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3Rl
ZCBmcmFtZXMgZm9yIGFuIGFuaW1hdGlvbiB3aXRoIG11bHRpcGxlIGtleWZyYW1lcyBmb3IgdGhl
IHNhbWUgdGltZSBhbmQgd2l0aCBkaWZmZXJlbnQgZWFzaW5nIGZ1bmN0aW9ucyBhc3NlcnRfZXF1
YWxzOiBudW1iZXIgb2YgZnJhbWVzIGV4cGVjdGVkIDMgYnV0IGdvdCAyCitGQUlMIEtleWZyYW1l
RWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmlt
YXRpb24gd2l0aCBtdWx0aXBsZSBrZXlmcmFtZXMgZm9yIHRoZSBzYW1lIHRpbWUgYW5kIHdpdGgg
ZGlmZmVyZW50IGVhc2luZyBmdW5jdGlvbnMgYXNzZXJ0X2VxdWFsczogTnVtYmVyIG9mIGtleWZy
YW1lcyBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgMyBidXQgZ290IDIKIFBBU1MgS2V5ZnJhbWVFZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuIGFuaW1hdGlv
biB3aXRoIG11bHRpcGxlIGtleWZyYW1lcyBmb3IgdGhlIHNhbWUgdGltZSBhbmQgd2l0aCBkaWZm
ZXJlbnQgYnV0IGVxdWl2YWxlbnQgZWFzaW5nIGZ1bmN0aW9ucyAKIFBBU1MgS2V5ZnJhbWVFZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIG92ZXJsYXBwaW5n
IGtleWZyYW1lcyAKLUZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBl
eHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCBmaWx0ZXIgcHJvcGVydGllcyBhbmQg
bWlzc2luZyBrZXlmcmFtZXMgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtl
eWZyYW1lICMwIGV4cGVjdGVkICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLGZpbHRl
cixvZmZzZXQiIGJ1dCBnb3QgImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0
IgorRkFJTCBLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZh
bHVlcyBmb3IgYW5pbWF0aW9ucyB3aXRoIGZpbHRlciBwcm9wZXJ0aWVzIGFuZCBtaXNzaW5nIGtl
eWZyYW1lcyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIEtleWZyYW1lICMwIHNo
b3VsZCBtYXRjaCBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNSBnb3QgNAogUEFTUyBLZXlmcmFt
ZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgYW5pbWF0
aW9uIHdpdGggZHJvcC1zaGFkb3cgb2YgZmlsdGVyIHByb3BlcnR5IAotRkFJTCBLZXlmcmFtZUVm
ZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgYW5pbWF0aW9u
cyB3aXRoIHRleHQtc2hhZG93IHByb3BlcnRpZXMgYW5kIG1pc3Npbmcga2V5ZnJhbWVzIGFzc2Vy
dF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29t
cG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQsdGV4dFNoYWRvdyIgYnV0IGdvdCAi
Y29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiCi1GQUlMIEtleWZyYW1lRWZm
ZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25z
IHdpdGggYmFja2dyb3VuZC1zaXplIHByb3BlcnRpZXMgYW5kIG1pc3Npbmcga2V5ZnJhbWVzIGFz
c2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAi
YmFja2dyb3VuZFNpemUsY29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiIGJ1
dCBnb3QgImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IgotRkFJTCBLZXlm
cmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgYW5p
bWF0aW9ucyB3aXRoIENTUyB2YXJpYWJsZXMgYXMga2V5ZnJhbWUgdmFsdWVzIGFzc2VydF9lcXVh
bHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcG9zaXRl
LGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQsdHJhbnNmb3JtIiBidXQgZ290ICJjb21wb3Np
dGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIKLUZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0
S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCBD
U1MgdmFyaWFibGVzIGFzIGtleWZyYW1lIHZhbHVlcyBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBh
c3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQg
ImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdpbkxlZnQs
bWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIgYnV0IGdvdCAiY29tcG9zaXRlLGNvbXB1dGVk
T2Zmc2V0LGVhc2luZyxvZmZzZXQiCi1GQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygp
IHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25zIHdpdGggYSBDU1MgdmFyaWFi
bGUgd2hpY2ggaXMgb3ZlcnJpZGVuIGJ5IHRoZSB2YWx1ZSBpbiBrZXlmcmFtZSBhc3NlcnRfZXF1
YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbG9yLGNv
bXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IiBidXQgZ290ICJjb21wb3NpdGUs
Y29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIKLUZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5
ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCBvbmx5
IGN1c3RvbSBwcm9wZXJ0eSBpbiBhIGtleWZyYW1lIGFzc2VydF9lcXVhbHM6IHZhbHVlIGZvciAn
dHJhbnNmb3JtJyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJ0cmFuc2xhdGUoMTAw
cHgpIiBidXQgZ290ICJtYXRyaXgoMSwgMCwgMCwgMSwgMTAwLCAwKSIKK0ZBSUwgS2V5ZnJhbWVF
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlv
bnMgd2l0aCB0ZXh0LXNoYWRvdyBwcm9wZXJ0aWVzIGFuZCBtaXNzaW5nIGtleWZyYW1lcyBhc3Nl
cnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIEtleWZyYW1lICMwIHNob3VsZCBtYXRjaCBs
ZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNSBnb3QgNAorRkFJTCBLZXlmcmFtZUVmZmVjdC5nZXRL
ZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgYW5pbWF0aW9ucyB3aXRoIGJh
Y2tncm91bmQtc2l6ZSBwcm9wZXJ0aWVzIGFuZCBtaXNzaW5nIGtleWZyYW1lcyBhc3NlcnRfYXJy
YXlfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgc2hvdWxkIG1hdGNo
IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CitGQUlMIEtleWZyYW1lRWZmZWN0Lmdl
dEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25zIHdpdGgg
Q1NTIHZhcmlhYmxlcyBhcyBrZXlmcmFtZSB2YWx1ZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJv
cGVydGllcyBvbiBLZXlmcmFtZSAjMCBzaG91bGQgbWF0Y2ggbGVuZ3RocyBkaWZmZXIsIGV4cGVj
dGVkIDUgZ290IDQKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBl
eHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCBDU1MgdmFyaWFibGVzIGFzIGtleWZy
YW1lIHZhbHVlcyBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBhc3NlcnRfYXJyYXlfZXF1YWxzOiBw
cm9wZXJ0aWVzIG9uIEtleWZyYW1lICMwIHNob3VsZCBtYXRjaCBsZW5ndGhzIGRpZmZlciwgZXhw
ZWN0ZWQgOCBnb3QgNAorRkFJTCBLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5z
IGV4cGVjdGVkIHZhbHVlcyBmb3IgYW5pbWF0aW9ucyB3aXRoIGEgQ1NTIHZhcmlhYmxlIHdoaWNo
IGlzIG92ZXJyaWRlbiBieSB0aGUgdmFsdWUgaW4ga2V5ZnJhbWUgYXNzZXJ0X2FycmF5X2VxdWFs
czogcHJvcGVydGllcyBvbiBLZXlmcmFtZSAjMCBzaG91bGQgbWF0Y2ggbGVuZ3RocyBkaWZmZXIs
IGV4cGVjdGVkIDUgZ290IDQKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0
dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCBvbmx5IGN1c3RvbSBwcm9w
ZXJ0eSBpbiBhIGtleWZyYW1lIGFzc2VydF9lcXVhbHM6IHZhbHVlIGZvciAndHJhbnNmb3JtJyBv
biBLZXlmcmFtZSAjMCBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgInRyYW5zbGF0ZSgxMDBweCkiIGJ1
dCBnb3QgIm1hdHJpeCgxLCAwLCAwLCAxLCAxMDAsIDApIgorRkFJTCBLZXlmcmFtZUVmZmVjdC5n
ZXRLZXlmcmFtZXMoKSByZWZsZWN0cyBjaGFuZ2VzIHRvIEBrZXlmcmFtZXMgcnVsZXMgYXNzZXJ0
X2VxdWFsczogdmFsdWUgZm9yICdsZWZ0JyBvbiBLZXlmcmFtZXMgcmVmbGVjdHMgdGhlIHVwZGF0
ZWQgQGtleWZyYW1lcyBydWxlIHNob3VsZCBtYXRjaCBleHBlY3RlZCAiMjAwcHgiIGJ1dCBnb3Qg
IjEwMHB4IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1nZXRLZXlmcmFtZXMu
dGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1nZXRLZXlmcmFtZXMudGVudGF0
aXZlLmh0bWwKaW5kZXggNTkxY2MxNWE3ZWRhODI3OWVjNWU5YWY1MjlmOGU2YTA2YjdjYWE2Yy4u
ZjdkNzY3ZGVhOGNhMTU1ODlhNTNmYWU3OTUyYmIxNWUzODNjY2QyMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0tleWZyYW1lRWZmZWN0LWdldEtleWZyYW1lcy50ZW50YXRpdmUuaHRtbApAQCAtMTY0LDIwICsx
NjQsNiBAQAogCiBjb25zdCBnZXRLZXlmcmFtZXMgPSBlbGVtID0+IGVsZW0uZ2V0QW5pbWF0aW9u
cygpWzBdLmVmZmVjdC5nZXRLZXlmcmFtZXMoKTsKIAotY29uc3QgYXNzZXJ0X2ZyYW1lc19lcXVh
bCA9IChhLCBiLCBuYW1lKSA9PiB7Ci0gIGFzc2VydF9lcXVhbHMoT2JqZWN0LmtleXMoYSkuc29y
dCgpLnRvU3RyaW5nKCksCi0gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoYikuc29ydCgpLnRv
U3RyaW5nKCksCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMgb24gIiArIG5hbWUpOwotICBm
b3IgKGNvbnN0IHAgaW4gYSkgewotICAgIGlmIChwID09PSAnb2Zmc2V0JyB8fCBwID09PSAnY29t
cHV0ZWRPZmZzZXQnKSB7Ci0gICAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhhW3BdLCBiW3BdLCAw
LjAwMDAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIGZvciAnIiArIHAgKyAi
JyBvbiAiICsgbmFtZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGFzc2VydF9lcXVhbHMoYVtwXSwg
YltwXSwgInZhbHVlIGZvciAnIiArIHAgKyAiJyBvbiAiICsgbmFtZSk7Ci0gICAgfQotICB9Ci19
OwotCiAvLyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uIHZhbHVlcyB0byB0ZXN0IHdpdGgsIHdo
ZXJlIHRoZSB2YWx1ZQogLy8gaXMgZXhhY3RseSB0aGUgc2FtZSBhcyBpdHMgc2VyaWFsaXphdGlv
biwgc29ydGVkIGJ5IHRoZSBvcmRlcgogLy8gZ2V0S2V5ZnJhbWVzKCkgd2lsbCBncm91cCBmcmFt
ZXMgd2l0aCB0aGUgc2FtZSBlYXNpbmcgZnVuY3Rpb24KQEAgLTIyMSwxMSArMjA3LDkgQEAgdGVz
dCh0ID0+IHsKIAogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwotCiAgIGRp
di5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1zaW1wbGUgMTAwcyc7Ci0gIGNvbnN0IGZyYW1lcyA9
IGdldEtleWZyYW1lcyhkaXYpOwogCi0gIGFzc2VydF9lcXVhbHMoZnJhbWVzLmxlbmd0aCwgMiwg
Im51bWJlciBvZiBmcmFtZXMiKTsKKyAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7
CiAKICAgY29uc3QgZXhwZWN0ZWQgPSBbCiAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0
OiAwLCBlYXNpbmc6ICJlYXNlIiwKQEAgLTIzMywxMCArMjE3LDcgQEAgdGVzdCh0ID0+IHsKICAg
ICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLAogICAgICAg
Y29sb3I6ICJyZ2IoMjU1LCAyNTUsIDI1NSkiLCBjb21wb3NpdGU6ICJhdXRvIiB9LAogICBdOwot
Ci0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0
X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAj
IiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVk
KTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZy
YW1lcyBmb3IgYSBzaW1wbGUnCiAgICArICcgYW5pbWF0aW9uJyk7CiAKQEAgLTI5MiwxMSArMjcz
LDkgQEAgdGVzdCh0ID0+IHsKIAogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQp
OwotCiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1zaW1wbGUtc2hvcnRoYW5kIDEwMHMn
OwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxz
KGZyYW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9
IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0
OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8i
LApAQCAtMzA2LDIxICsyODUsMTYgQEAgdGVzdCh0ID0+IHsKICAgICAgIG1hcmdpbkJvdHRvbTog
IjE2cHgiLCBtYXJnaW5MZWZ0OiAiMTZweCIsCiAgICAgICBtYXJnaW5SaWdodDogIjE2cHgiLCBt
YXJnaW5Ub3A6ICIxNnB4IiB9LAogICBdOwotCi0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVz
Lmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVj
dGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9s
aXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlm
cmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgYSBzaW1wbGUnCiAgICArICcgYW5p
bWF0aW9uIHRoYXQgc3BlY2lmaWVzIGEgc2luZ2xlIHNob3J0aGFuZCBwcm9wZXJ0eScpOwogCiB0
ZXN0KHQgPT4gewogICBjb25zdCBkaXYgPSBhZGREaXYodCk7Ci0KICAgZGl2LnN0eWxlLmFuaW1h
dGlvbiA9ICdhbmltLW9taXQtdG8gMTAwcyc7CiAgIGRpdi5zdHlsZS5jb2xvciA9ICdyZ2IoMjU1
LCAyNTUsIDI1NSknOwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBh
c3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNv
bnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwog
ICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBv
c2l0ZTogImF1dG8iLApAQCAtMzI4LDIxICszMDIsMTYgQEAgdGVzdCh0ID0+IHsKICAgICB7IG9m
ZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJh
dXRvIiwKICAgICAgIGNvbG9yOiAicmdiKDI1NSwgMjU1LCAyNTUpIiB9LAogICBdOwotCi0gIGZv
ciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1l
c19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkp
OwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0s
ICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBm
b3IgYW4gJyArCiAgICAnYW5pbWF0aW9uIHdpdGggYSAwJSBrZXlmcmFtZSBhbmQgbm8gMTAwJSBr
ZXlmcmFtZScpOwogCiB0ZXN0KHQgPT4gewogICBjb25zdCBkaXYgPSBhZGREaXYodCk7Ci0KICAg
ZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLW9taXQtZnJvbSAxMDBzJzsKICAgZGl2LnN0eWxl
LmNvbG9yID0gJ3JnYigyNTUsIDI1NSwgMjU1KSc7Ci0gIGNvbnN0IGZyYW1lcyA9IGdldEtleWZy
YW1lcyhkaXYpOwogCi0gIGFzc2VydF9lcXVhbHMoZnJhbWVzLmxlbmd0aCwgMiwgIm51bWJlciBv
ZiBmcmFtZXMiKTsKKyAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKICAgY29u
c3QgZXhwZWN0ZWQgPSBbCiAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNp
bmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCkBAIC0zNTAsMjEgKzMxOSwxNiBAQCB0ZXN0
KHQgPT4gewogICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAiZWFz
ZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgY29sb3I6ICJyZ2IoMCwgMCwgMjU1KSIgfSwK
ICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7IGkrKykgewotICAg
IGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwgIkNvbXB1dGVkS2V5
ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZnJhbWVzLCBl
eHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBl
Y3RlZCBmcmFtZXMgZm9yIGFuICcgKwogICAgJ2FuaW1hdGlvbiB3aXRoIGEgMTAwJSBrZXlmcmFt
ZSBhbmQgbm8gMCUga2V5ZnJhbWUnKTsKIAogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRk
RGl2KHQpOwotCiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1vbWl0LWZyb20tdG8gMTAw
cyc7CiAgIGRpdi5zdHlsZS5jb2xvciA9ICdyZ2IoMjU1LCAyNTUsIDI1NSknOwotICBjb25zdCBm
cmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5n
dGgsIDMsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1l
cyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCAgIGNvbXB1
dGVkT2Zmc2V0OiAwLCAgIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTM3
NCwyMSArMzM4LDE2IEBAIHRlc3QodCA9PiB7CiAgICAgeyBvZmZzZXQ6IDEsICAgY29tcHV0ZWRP
ZmZzZXQ6IDEsICAgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgY29s
b3I6ICJyZ2IoMjU1LCAyNTUsIDI1NSkiIH0sCiAgIF07Ci0KLSAgZm9yIChsZXQgaSA9IDA7IGkg
PCBmcmFtZXMubGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1lc1tp
XSwgZXhwZWN0ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNzZXJ0
X2ZyYW1lX2xpc3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZmZWN0
LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiAnICsKICAgICdh
bmltYXRpb24gd2l0aCBubyAwJSBvciAxMDAlIGtleWZyYW1lIGJ1dCB3aXRoIGEgNTAlIGtleWZy
YW1lJyk7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYu
c3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tcGFydGlhbGx5LW9taXQtdG8gMTAwcyc7CiAgIGRpdi5z
dHlsZS5tYXJnaW5Ub3AgPSAnMjUwcHgnOwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMo
ZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJh
bWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4
cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAi
ZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLApAQCAtMzk2LDIxICszNTUsMTYgQEAgdGVzdCh0ID0+
IHsKICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBj
b21wb3NpdGU6ICJhdXRvIiwKICAgICAgIG1hcmdpblRvcDogJzI1MHB4JywgbWFyZ2luQm90dG9t
OiAnMjAwcHgnIH0sCiAgIF07Ci0KLSAgZm9yIChsZXQgaSA9IDA7IGkgPCBmcmFtZXMubGVuZ3Ro
OyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1lc1tpXSwgZXhwZWN0ZWRbaV0s
ICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2Vx
dWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygp
IHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiAnICsKICAgICdhbmltYXRpb24gd2l0aCBh
IHBhcnRpYWxseSBjb21wbGV0ZSAxMDAlIGtleWZyYW1lIChiZWNhdXNlIHRoZSAnICsKICAgICch
aW1wb3J0YW50IHJ1bGUgaXMgaWdub3JlZCknKTsKIAogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2
ID0gYWRkRGl2KHQpOwotCiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1kaWZmZXJlbnQt
cHJvcHMgMTAwcyc7Ci0gIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCi0gIGFz
c2VydF9lcXVhbHMoZnJhbWVzLmxlbmd0aCwgNCwgIm51bWJlciBvZiBmcmFtZXMiKTsKKyAgY29u
c3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKICAgY29uc3QgZXhwZWN0ZWQgPSBbCiAg
ICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJlYXNlIiwgY29tcG9z
aXRlOiAiYXV0byIsCkBAIC00MjIsMjEgKzM3NiwxNiBAQCB0ZXN0KHQgPT4gewogICAgIHsgb2Zm
c2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1
dG8iLAogICAgICAgY29sb3I6ICJyZ2IoMjU1LCAyNTUsIDI1NSkiLCBtYXJnaW5Ub3A6ICIxNnB4
IiB9LAogICBdOwotCi0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7
Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0
ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFt
ZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5z
IGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4gJyArCiAgICAnYW5pbWF0aW9uIHdpdGggZGlmZmVyZW50
IHByb3BlcnRpZXMgb24gZGlmZmVyZW50IGtleWZyYW1lcywgYWxsICcgKwogICAgJ3dpdGggdGhl
IHNhbWUgZWFzaW5nIGZ1bmN0aW9uJyk7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFk
ZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tZGlmZmVyZW50LXByb3Bz
LWFuZC1lYXNpbmcgMTAwcyc7Ci0gIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwog
Ci0gIGFzc2VydF9lcXVhbHMoZnJhbWVzLmxlbmd0aCwgNCwgIm51bWJlciBvZiBmcmFtZXMiKTsK
KyAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKICAgY29uc3QgZXhwZWN0ZWQg
PSBbCiAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJsaW5lYXIi
LCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTQ0OCwyMSArMzk3LDE2IEBAIHRlc3QodCA9PiB7CiAg
ICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJlYXNlIiwgY29tcG9z
aXRlOiAiYXV0byIsCiAgICAgICBjb2xvcjogInJnYigyNTUsIDI1NSwgMjU1KSIsIG1hcmdpblRv
cDogIjE2cHgiIH0sCiAgIF07Ci0KLSAgZm9yIChsZXQgaSA9IDA7IGkgPCBmcmFtZXMubGVuZ3Ro
OyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1lc1tpXSwgZXhwZWN0ZWRbaV0s
ICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2Vx
dWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygp
IHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiAnICsKICAgICdhbmltYXRpb24gd2l0aCBk
aWZmZXJlbnQgcHJvcGVydGllcyBvbiBkaWZmZXJlbnQga2V5ZnJhbWVzLCB3aXRoICcgKwogICAg
J2EgZGlmZmVyZW50IGVhc2luZyBmdW5jdGlvbiBvbiBlYWNoJyk7CiAKIHRlc3QodCA9PiB7CiAg
IGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0t
bWVyZ2Utb2Zmc2V0IDEwMHMnOwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsK
IAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJhbWVzIik7
CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVk
ID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIs
IGNvbXBvc2l0ZTogImF1dG8iLApAQCAtNDcwLDIxICs0MTQsMTYgQEAgdGVzdCh0ID0+IHsKICAg
ICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3Np
dGU6ICJhdXRvIiwKICAgICAgIGNvbG9yOiAicmdiKDI1NSwgMjU1LCAyNTUpIiwgbWFyZ2luVG9w
OiAiMTZweCIgfSwKICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7
IGkrKykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwg
IkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1
YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkg
cmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuICcgKwogICAgJ2FuaW1hdGlvbiB3aXRoIG11
bHRpcGxlIGtleWZyYW1lcyBmb3IgdGhlIHNhbWUgdGltZSwgYW5kIGFsbCB3aXRoICcgKwogICAg
J3RoZSBzYW1lIGVhc2luZyBmdW5jdGlvbicpOwogCiB0ZXN0KHQgPT4gewogICBjb25zdCBkaXYg
PSBhZGREaXYodCk7Ci0KICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLW1lcmdlLW9mZnNl
dC1hbmQtZWFzaW5nIDEwMHMnOwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsK
IAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDMsICJudW1iZXIgb2YgZnJhbWVzIik7
CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVk
ID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAic3RlcHMo
MSkiLCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTQ5NSwyMSArNDM0LDE2IEBAIHRlc3QodCA9PiB7
CiAgICAgICBjb2xvcjogInJnYigyNTUsIDI1NSwgMjU1KSIsIGZvbnRTaXplOiAiMzJweCIsIG1h
cmdpblRvcDogIjE2cHgiLAogICAgICAgcGFkZGluZ0xlZnQ6ICI0cHgiIH0sCiAgIF07Ci0KLSAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBmcmFtZXMubGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJh
bWVzX2VxdWFsKGZyYW1lc1tpXSwgZXhwZWN0ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsg
aSk7Ci0gIH0KKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwog
fSwgJ0tleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVz
IGZvciBhbiAnICsKICAgICdhbmltYXRpb24gd2l0aCBtdWx0aXBsZSBrZXlmcmFtZXMgZm9yIHRo
ZSBzYW1lIHRpbWUgYW5kIHdpdGggJyArCiAgICAnZGlmZmVyZW50IGVhc2luZyBmdW5jdGlvbnMn
KTsKIAogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwotCiAgIGRpdi5zdHls
ZS5hbmltYXRpb24gPSAnYW5pbS1uby1tZXJnZS1lcXVpdi1lYXNpbmcgMTAwcyc7Ci0gIGNvbnN0
IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCi0gIGFzc2VydF9lcXVhbHMoZnJhbWVzLmxl
bmd0aCwgMywgIm51bWJlciBvZiBmcmFtZXMiKTsKKyAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJh
bWVzKGRpdik7CiAKICAgY29uc3QgZXhwZWN0ZWQgPSBbCiAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1
dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJzdGVwcygxKSIsIGNvbXBvc2l0ZTogImF1dG8iLApAQCAt
NTE5LDIxICs0NTMsMTYgQEAgdGVzdCh0ID0+IHsKICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRP
ZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKICAgICAgIG1hcmdp
blRvcDogIjIwcHgiLCBtYXJnaW5SaWdodDogIjIwcHgiLCBtYXJnaW5Cb3R0b206ICIyMHB4IiB9
LAogICBdOwotCi0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0g
ICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRL
ZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMs
IGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4
cGVjdGVkIGZyYW1lcyBmb3IgYW4gJyArCiAgICAnYW5pbWF0aW9uIHdpdGggbXVsdGlwbGUga2V5
ZnJhbWVzIGZvciB0aGUgc2FtZSB0aW1lIGFuZCB3aXRoICcgKwogICAgJ2RpZmZlcmVudCBidXQg
ZXF1aXZhbGVudCBlYXNpbmcgZnVuY3Rpb25zJyk7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRp
diA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tb3ZlcnJpZGlu
ZyAxMDBzJzsKLSAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0
X2VxdWFscyhmcmFtZXMubGVuZ3RoLCA2LCAibnVtYmVyIG9mIGZyYW1lcyIpOworICBjb25zdCBm
cmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAogICBjb25zdCBleHBlY3RlZCA9IFsKICAgICB7
IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6
ICJhdXRvIiwKQEAgLTU0OSwxMCArNDc4LDcgQEAgdGVzdCh0ID0+IHsKICAgICB7IG9mZnNldDog
MSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwK
ICAgICAgIHBhZGRpbmdUb3A6ICI3MHB4IiB9LAogICBdOwotCi0gIGZvciAobGV0IGkgPSAwOyBp
IDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNb
aV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2Vy
dF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVj
dC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgJyArCiAgICAnb3Zl
cmxhcHBpbmcga2V5ZnJhbWVzJyk7CiAKQEAgLTU2MSwxMSArNDg3LDkgQEAgdGVzdCh0ID0+IHsK
IAogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwotCiAgIGRpdi5zdHlsZS5h
bmltYXRpb24gPSAnYW5pbS1maWx0ZXIgMTAwcyc7Ci0gIGNvbnN0IGZyYW1lcyA9IGdldEtleWZy
YW1lcyhkaXYpOwogCi0gIGFzc2VydF9lcXVhbHMoZnJhbWVzLmxlbmd0aCwgMiwgIm51bWJlciBv
ZiBmcmFtZXMiKTsKKyAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKICAgY29u
c3QgZXhwZWN0ZWQgPSBbCiAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNp
bmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCkBAIC01NzMsMjAgKzQ5NywxNSBAQCB0ZXN0
KHQgPT4gewogICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAiZWFz
ZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgZmlsdGVyOiAiYmx1cig1cHgpIHNlcGlhKDYw
JSkgc2F0dXJhdGUoMzAlKSIgfSwKICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1l
cy5sZW5ndGg7IGkrKykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBl
Y3RlZFtpXSwgIkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVf
bGlzdHNfZXF1YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5
ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yICcgKwogICAgJ2FuaW1hdGlvbnMg
d2l0aCBmaWx0ZXIgcHJvcGVydGllcyBhbmQgbWlzc2luZyBrZXlmcmFtZXMnKTsKIAogdGVzdCh0
ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwotCiAgIGRpdi5zdHlsZS5hbmltYXRpb24g
PSAnYW5pbS1maWx0ZXItZHJvcC1zaGFkb3cgMTAwcyc7Ci0gIGNvbnN0IGZyYW1lcyA9IGdldEtl
eWZyYW1lcyhkaXYpOwogCi0gIGFzc2VydF9lcXVhbHMoZnJhbWVzLmxlbmd0aCwgMiwgIm51bWJl
ciBvZiBmcmFtZXMiKTsKKyAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKICAg
Y29uc3QgZXhwZWN0ZWQgPSBbCiAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBl
YXNpbmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCkBAIC01OTQsMTAgKzUxMyw3IEBAIHRl
c3QodCA9PiB7CiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJl
YXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAgICBmaWx0ZXI6ICJkcm9wLXNoYWRvdyhyZ2Io
MjU1LCAwLCAwKSA1MHB4IDMwcHggMTBweCkiIH0sCiAgIF07Ci0KLSAgZm9yIChsZXQgaSA9IDA7
IGkgPCBmcmFtZXMubGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1l
c1tpXSwgZXhwZWN0ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNz
ZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZm
ZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciAnICsKICAgICdh
bmltYXRpb24gd2l0aCBkcm9wLXNoYWRvdyBvZiBmaWx0ZXIgcHJvcGVydHknKTsKIApAQCAtNjA3
LDE0ICs1MjMsMTIgQEAgdGVzdCh0ID0+IHsKIAogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0g
YWRkRGl2KHQpOwotCiAgIGRpdi5zdHlsZS50ZXh0U2hhZG93ID0gJzFweCAxcHggMnB4IHJnYigw
LCAwLCAwKSwgJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzAgMCAxNnB4IHJnYigwLCAw
LCAyNTUpLCAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAnMCAwIDMuMnB4IHJnYigwLCAw
LCAyNTUpJzsKICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLXRleHQtc2hhZG93IDEwMHMn
OwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxz
KGZyYW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9
IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0
OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8i
LApAQCAtNjI0LDEwICs1MzgsNyBAQCB0ZXN0KHQgPT4gewogICAgIHsgb2Zmc2V0OiAxLCBjb21w
dXRlZE9mZnNldDogMSwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAg
dGV4dFNoYWRvdzogIm5vbmUiIH0sCiAgIF07Ci0KLSAgZm9yIChsZXQgaSA9IDA7IGkgPCBmcmFt
ZXMubGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1lc1tpXSwgZXhw
ZWN0ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNzZXJ0X2ZyYW1l
X2xpc3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZmZWN0LmdldEtl
eWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciAnICsKICAgICdhbmltYXRpb25z
IHdpdGggdGV4dC1zaGFkb3cgcHJvcGVydGllcyBhbmQgbWlzc2luZyBrZXlmcmFtZXMnKTsKIApA
QCAtNjczLDE3ICs1ODQsMTMgQEAgdGVzdCh0ID0+IHsKIAogICBjb25zdCBmcmFtZXMgPSBnZXRL
ZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDIsICJudW1i
ZXIgb2YgZnJhbWVzIik7Ci0KICAgY29uc3QgZXhwZWN0ZWQgPSBbCiAgICAgeyBvZmZzZXQ6IDAs
IGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAg
ICAgICB0cmFuc2Zvcm06ICJub25lIiB9LAogICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNl
dDogMSwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgdHJhbnNmb3Jt
OiAidHJhbnNsYXRlKDEwMHB4KSIgfSwKICAgXTsKLSAgZm9yIChsZXQgaSA9IDA7IGkgPCBmcmFt
ZXMubGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1lc1tpXSwgZXhw
ZWN0ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNzZXJ0X2ZyYW1l
X2xpc3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZmZWN0LmdldEtl
eWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciAnICsKICAgICdhbmltYXRpb25z
IHdpdGggQ1NTIHZhcmlhYmxlcyBhcyBrZXlmcmFtZSB2YWx1ZXMnKTsKIApAQCAtNjkzLDggKzYw
MCw2IEBAIHRlc3QodCA9PiB7CiAKICAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7
CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVyIG9mIGZyYW1lcyIp
OwotCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNl
dDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgbWFyZ2luQm90
dG9tOiAiMHB4IiwKQEAgLTcwNyw5ICs2MTIsNyBAQCB0ZXN0KHQgPT4gewogICAgICAgbWFyZ2lu
UmlnaHQ6ICIxMDBweCIsCiAgICAgICBtYXJnaW5Ub3A6ICIxMDBweCIgfSwKICAgXTsKLSAgZm9y
IChsZXQgaSA9IDA7IGkgPCBmcmFtZXMubGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVz
X2VxdWFsKGZyYW1lc1tpXSwgZXhwZWN0ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7
Ci0gIH0KKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwg
J0tleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZv
ciAnICsKICAgICdhbmltYXRpb25zIHdpdGggQ1NTIHZhcmlhYmxlcyBhcyBrZXlmcmFtZSB2YWx1
ZXMgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHknKTsKIApAQCAtNzE5LDE3ICs2MjIsMTMgQEAgdGVz
dCh0ID0+IHsKIAogICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3Nl
cnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJhbWVzIik7Ci0KICAgY29u
c3QgZXhwZWN0ZWQgPSBbCiAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNp
bmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAgICBjb2xvcjogInJnYigwLCAwLCAw
KSIgfSwKICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2Ui
LCBjb21wb3NpdGU6ICJhdXRvIiwKICAgICAgIGNvbG9yOiAicmdiKDAsIDI1NSwgMCkiIH0sCiAg
IF07Ci0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNz
ZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFt
ZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVj
dGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVk
IHZhbHVlcyBmb3IgJyArCiAgICAnYW5pbWF0aW9ucyB3aXRoIGEgQ1NTIHZhcmlhYmxlIHdoaWNo
IGlzIG92ZXJyaWRlbiBieSB0aGUgdmFsdWUgaW4ga2V5ZnJhbWUnKTsKIApAQCAtNzM5LDE5ICs2
MzgsNjMgQEAgdGVzdCh0ID0+IHsKIAogICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2
KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDIsICJudW1iZXIgb2YgZnJhbWVz
Iik7Ci0KICAgY29uc3QgZXhwZWN0ZWQgPSBbCiAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zm
c2V0OiAwLCBlYXNpbmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAgICB0cmFuc2Zv
cm06ICJ0cmFuc2xhdGUoMTAwcHgpIiB9LAogICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNl
dDogMSwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgdHJhbnNmb3Jt
OiAibm9uZSIgfSwKICAgXTsKLSAgZm9yIChsZXQgaSA9IDA7IGkgPCBmcmFtZXMubGVuZ3RoOyBp
KyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1lc1tpXSwgZXhwZWN0ZWRbaV0sICJD
b21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFs
KGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJl
dHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciAnICsKICAgICdhbmltYXRpb25zIHdpdGggb25seSBj
dXN0b20gcHJvcGVydHkgaW4gYSBrZXlmcmFtZScpOwogCit0ZXN0KHQgPT4geworICBjb25zdCBk
aXYgPSBhZGREaXYodCk7CisKKyAgLy8gQWRkIGN1c3RvbSBAa2V5ZnJhbWVzIHJ1bGUKKyAgY29u
c3Qgc3R5bGVzaGVldCA9IGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdOworICBjb25zdCBrZXlmcmFt
ZXMgPSAnQGtleWZyYW1lcyBhbmltLWN1c3RvbSB7IHRvIHsgbGVmdDogMTAwcHggfSB9JzsKKyAg
Y29uc3QgcnVsZUluZGV4ID0gc3R5bGVzaGVldC5pbnNlcnRSdWxlKGtleWZyYW1lcywgMCk7Cisg
IGNvbnN0IGtleWZyYW1lc1J1bGUgPSBzdHlsZXNoZWV0LmNzc1J1bGVzW3J1bGVJbmRleF07CisK
KyAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICBzdHlsZXNoZWV0LmRlbGV0ZVJ1bGUo
cnVsZUluZGV4KTsKKyAgfSk7CisKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLWN1c3Rv
bSAxMDBzJzsKKworICAvLyBTYW5pdHkgY2hlY2sgdGhlIGluaXRpYWwgcmVzdWx0CisgIGxldCBm
cmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKKyAgYXNzZXJ0X2ZyYW1lc19lcXVhbCgKKyAgICBm
cmFtZXNbZnJhbWVzLmxlbmd0aCAtIDFdLAorICAgIHsKKyAgICAgIG9mZnNldDogMSwKKyAgICAg
IGNvbXB1dGVkT2Zmc2V0OiAxLAorICAgICAgZWFzaW5nOiAnZWFzZScsCisgICAgICBjb21wb3Np
dGU6ICdhdXRvJywKKyAgICAgIGxlZnQ6ICcxMDBweCcsCisgICAgfSwKKyAgICAnS2V5ZnJhbWVz
IHJlZmxlY3QgdGhlIGluaXRpYWwgQGtleWZyYW1lcyBydWxlJworICApOworCisgIC8vIFVwZGF0
ZSB0aGUgQGtleWZyYW1lcyBydWxlCisgIGtleWZyYW1lc1J1bGUuZGVsZXRlUnVsZSgwKTsKKyAg
a2V5ZnJhbWVzUnVsZS5hcHBlbmRSdWxlKCd0byB7IGxlZnQ6IDIwMHB4IH0nKTsKKworICAvLyBD
aGVjayB0aGUgcmVzdWx0IGZyb20gZ2V0S2V5ZnJhbWVzKCkgaXMgdXBkYXRlZAorICBmcmFtZXMg
PSBnZXRLZXlmcmFtZXMoZGl2KTsKKyAgYXNzZXJ0X2ZyYW1lc19lcXVhbCgKKyAgICBmcmFtZXNb
ZnJhbWVzLmxlbmd0aCAtIDFdLAorICAgIHsKKyAgICAgIG9mZnNldDogMSwKKyAgICAgIGNvbXB1
dGVkT2Zmc2V0OiAxLAorICAgICAgZWFzaW5nOiAnZWFzZScsCisgICAgICBjb21wb3NpdGU6ICdh
dXRvJywKKyAgICAgIGxlZnQ6ICcyMDBweCcsCisgICAgfSwKKyAgICAnS2V5ZnJhbWVzIHJlZmxl
Y3RzIHRoZSB1cGRhdGVkIEBrZXlmcmFtZXMgcnVsZScKKyAgKTsKK30sICdLZXlmcmFtZUVmZmVj
dC5nZXRLZXlmcmFtZXMoKSByZWZsZWN0cyBjaGFuZ2VzIHRvIEBrZXlmcmFtZXMgcnVsZXMnKTsK
KwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1z
ZXRLZXlmcmFtZXMudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0
LXNldEtleWZyYW1lcy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMTU4Y2Jj
ODMyMzZjNzRiYzQxMWIxN2E0NGQ4MWViN2NiMjE2ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy9LZXlmcmFtZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKKworRkFJTCBLZXlmcmFtZUVmZmVjdC5zZXRLZXlmcmFtZXMoKSBjYXVzZXMg
c3Vic2VxdWVudCBjaGFuZ2VzIHRvIEBrZXlmcmFtZXMgcnVsZXMgdG8gYmUgaWdub3JlZCB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmtleXMoYWN0dWFsKScp
CitGQUlMIEtleWZyYW1lRWZmZWN0LnNldEtleWZyYW1lcygpIGNhdXNlcyBzdWJzZXF1ZW50IGNo
YW5nZXMgdG8gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiB0byBiZSBpZ25vcmVkIHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdhbmltYXRpb24uZWZmZWN0LmdldEtleWZy
YW1lcygpWzBdLmVhc2luZycpCitGQUlMIEtleWZyYW1lRWZmZWN0LnNldEtleWZyYW1lcygpIHNo
b3VsZCBOT1QgY2F1c2Ugc3Vic2VxdWVudCBjaGFuZ2VzIHRvIEBrZXlmcmFtZXMgcnVsZXMgdG8g
YmUgaWdub3JlZCBpZiBpdCB0aHJldyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnT2JqZWN0LmtleXMoYWN0dWFsKScpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1l
RWZmZWN0LXNldEtleWZyYW1lcy50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0
LXNldEtleWZyYW1lcy50ZW50YXRpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDhmODQ1NDEzYTM4ZGFh
ZTliY2M5ZDZjZTI1MWU0NGNkYTU4MmNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJh
bWVFZmZlY3Qtc2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS5odG1sCkBAIC0wLDAgKzEsMTIyIEBACis8
IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+S2V5ZnJhbWVFZmZl
Y3Quc2V0S2V5ZnJhbWVzKCkgZm9yIENTUyBhbmltYXRpb25zPC90aXRsZT4KKzwhLS0gVE9ETzog
QWRkIGEgbW9yZSBzcGVjaWZpYyBsaW5rIGZvciB0aGlzIG9uY2UgaXQgaXMgc3BlY2lmaWVkLiAt
LT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1h
bmltYXRpb25zLTIvIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzdXBwb3J0L3Rlc3Rjb21tb24uanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorQGtleWZyYW1lcyBhbmltLXNpbXBsZSB7CisgIGZyb20geyBsZWZ0OiAwcHggfQor
ICB0byAgIHsgbGVmdDogMTAwcHggfQorfQorPC9zdHlsZT4KKzxib2R5PgorPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKKy8vIE5vdGUgdGhhdCB0aGUgc2Fu
aXR5IGNoZWNrIHRoYXQgZ2V0S2V5ZnJhbWVzKCkgbm9ybWFsbHkgRE9FUyByZXR1cm4gdGhlCisv
LyB1cGRhdGVkIGtleWZyYW1lcyBpcyBjb250YWluZWQgaW4gS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5
ZnJhbWVzLmh0bWwuCit0ZXN0KHQgPT4geworICBjb25zdCBkaXYgPSBhZGREaXYodCk7CisKKyAg
Ly8gQWRkIGN1c3RvbSBAa2V5ZnJhbWVzIHJ1bGUKKyAgY29uc3Qgc3R5bGVzaGVldCA9IGRvY3Vt
ZW50LnN0eWxlU2hlZXRzWzBdOworICBjb25zdCBrZXlmcmFtZXMgPSAnQGtleWZyYW1lcyBhbmlt
LWN1c3RvbSB7IHRvIHsgbGVmdDogMTAwcHggfSB9JzsKKyAgY29uc3QgcnVsZUluZGV4ID0gc3R5
bGVzaGVldC5pbnNlcnRSdWxlKGtleWZyYW1lcywgMCk7CisgIGNvbnN0IGtleWZyYW1lc1J1bGUg
PSBzdHlsZXNoZWV0LmNzc1J1bGVzW3J1bGVJbmRleF07CisKKyAgdC5hZGRfY2xlYW51cChmdW5j
dGlvbigpIHsKKyAgICBzdHlsZXNoZWV0LmRlbGV0ZVJ1bGUocnVsZUluZGV4KTsKKyAgfSk7CisK
KyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLWN1c3RvbSAxMDBzJzsKKworICAvLyBVcGRh
dGUgdGhlIGtleWZyYW1lcyB2aWEgdGhlIEFQSQorICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0
QW5pbWF0aW9ucygpWzBdOworICBhbmltYXRpb24uZWZmZWN0LnNldEtleWZyYW1lcyh7IGxlZnQ6
ICcyMDBweCcgfSk7CisKKyAgLy8gVGhlbiB1cGRhdGUgdGhlbSB2aWEgc3R5bGUKKyAga2V5ZnJh
bWVzUnVsZS5kZWxldGVSdWxlKDApOworICBrZXlmcmFtZXNSdWxlLmFwcGVuZFJ1bGUoJ3RvIHsg
bGVmdDogMzAwcHggfScpOworCisgIC8vIFRoZSByZXN1bHQgc2hvdWxkIGJlIHRoZSBrZXlmcmFt
ZXMgYXMgc2V0IGJ5IHRoZSBBUEksIG5vdCB2aWEgc3R5bGUuCisgIGNvbnN0IGZyYW1lcyA9IGFu
aW1hdGlvbi5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCk7CisgIGFzc2VydF9mcmFtZXNfZXF1YWwoCisg
ICAgZnJhbWVzW2ZyYW1lcy5sZW5ndGggLSAxXSwKKyAgICB7CisgICAgICBvZmZzZXQ6IG51bGws
CisgICAgICBjb21wdXRlZE9mZnNldDogMSwKKyAgICAgIGVhc2luZzogJ2xpbmVhcicsCisgICAg
ICBjb21wb3NpdGU6ICdhdXRvJywKKyAgICAgIGxlZnQ6ICcyMDBweCcsCisgICAgfSwKKyAgICAn
S2V5ZnJhbWVzIHJlZmxlY3QgdGhlIHZhbHVlIHNldCB2aWEgc2V0S2V5ZnJhbWVzJworICApOwor
fSwgJ0tleWZyYW1lRWZmZWN0LnNldEtleWZyYW1lcygpIGNhdXNlcyBzdWJzZXF1ZW50IGNoYW5n
ZXMgdG8gQGtleWZyYW1lcycKKyAgICsgJyBydWxlcyB0byBiZSBpZ25vcmVkJyk7CisKK3Rlc3Qo
dCA9PiB7CisgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9
ICdhbmltLXNpbXBsZSAxMDBzJzsKKworICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0QW5pbWF0
aW9ucygpWzBdOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5lZmZlY3QuZ2V0S2V5ZnJhbWVz
KClbMF0uZWFzaW5nLCAnZWFzZScpOworCisgIGFuaW1hdGlvbi5lZmZlY3Quc2V0S2V5ZnJhbWVz
KHsgbGVmdDogWycyMDBweCcsICczMDBweCddIH0pOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlv
bi5lZmZlY3QuZ2V0S2V5ZnJhbWVzKClbMF0uZWFzaW5nLCAnbGluZWFyJyk7CisKKyAgZGl2LnN0
eWxlLmFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uID0gJ2Vhc2UtaW4nOworICBnZXRDb21wdXRlZFN0
eWxlKGRpdikuYW5pbWF0aW9uVGltaW5nRnVuY3Rpb247CisKKyAgYXNzZXJ0X2VxdWFscygKKyAg
ICBhbmltYXRpb24uZWZmZWN0LmdldEtleWZyYW1lcygpWzBdLmVhc2luZywKKyAgICAnbGluZWFy
JywKKyAgICAnRWFzaW5nIHNob3VsZCBiZSB0aGUgZWFzaW5nIHNldCBieSB0aGUgQVBJJworICAp
OworfSwgJ0tleWZyYW1lRWZmZWN0LnNldEtleWZyYW1lcygpIGNhdXNlcyBzdWJzZXF1ZW50IGNo
YW5nZXMgdG8nCisgICArICcgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiB0byBiZSBpZ25vcmVk
Jyk7CisKK3Rlc3QodCA9PiB7CisgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKKworICBjb25zdCBz
dHlsZXNoZWV0ID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMF07CisgIGNvbnN0IGtleWZyYW1lcyA9
ICdAa2V5ZnJhbWVzIGFuaW0tY3VzdG9tIHsgdG8geyBsZWZ0OiAxMDBweCB9IH0nOworICBjb25z
dCBydWxlSW5kZXggPSBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoa2V5ZnJhbWVzLCAwKTsKKyAgY29u
c3Qga2V5ZnJhbWVzUnVsZSA9IHN0eWxlc2hlZXQuY3NzUnVsZXNbcnVsZUluZGV4XTsKKworICB0
LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgIHN0eWxlc2hlZXQuZGVsZXRlUnVsZShydWxl
SW5kZXgpOworICB9KTsKKworICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tY3VzdG9tIDEw
MHMnOworCisgIC8vIFRyeSB1cGRhdGluZyBpbiBhIHdheSB0aGF0IHRocm93cyBhbiBlcnJvcgor
ICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0QW5pbWF0aW9ucygpWzBdOworICBhc3NlcnRfdGhy
b3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geworICAgIGFuaW1hdGlvbi5lZmZlY3Quc2V0S2V5ZnJh
bWVzKHsgbGVmdDogJzIwMHB4Jywgb2Zmc2V0OiAneWVyJyB9KTsKKyAgfSk7CisKKyAga2V5ZnJh
bWVzUnVsZS5kZWxldGVSdWxlKDApOworICBrZXlmcmFtZXNSdWxlLmFwcGVuZFJ1bGUoJ3RvIHsg
bGVmdDogMzAwcHggfScpOworCisgIC8vIFRoZSByZXN1bHQgc2hvdWxkIGJlIHRoZSBrZXlmcmFt
ZXMgYXMgc2V0IHZpYSBzdHlsZS4KKyAgY29uc3QgZnJhbWVzID0gYW5pbWF0aW9uLmVmZmVjdC5n
ZXRLZXlmcmFtZXMoKTsKKyAgYXNzZXJ0X2ZyYW1lc19lcXVhbCgKKyAgICBmcmFtZXNbZnJhbWVz
Lmxlbmd0aCAtIDFdLAorICAgIHsKKyAgICAgIG9mZnNldDogMSwKKyAgICAgIGNvbXB1dGVkT2Zm
c2V0OiAxLAorICAgICAgZWFzaW5nOiAnZWFzZScsCisgICAgICBjb21wb3NpdGU6ICdhdXRvJywK
KyAgICAgIGxlZnQ6ICczMDBweCcsCisgICAgfSwKKyAgICAnS2V5ZnJhbWVzIHJlZmxlY3QgdGhl
IHZhbHVlIHNldCB2aWEgc3R5bGUnCisgICk7Cit9LCAnS2V5ZnJhbWVFZmZlY3Quc2V0S2V5ZnJh
bWVzKCkgc2hvdWxkIE5PVCBjYXVzZSBzdWJzZXF1ZW50IGNoYW5nZXMgdG8nCisgICArICcgQGtl
eWZyYW1lcyBydWxlcyB0byBiZSBpZ25vcmVkIGlmIGl0IHRocmV3Jyk7CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAxLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDE0NTQxMDE5Y2JjZGE3ZDQ0YjIzYzUyOWRmNjAwY2NlMGRhYzE4ZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK0ZBSUwgZW0gdW5pdHMgcmVzcG9uZCB0byBmb250
LXNpemUgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxNXB4IiBidXQgZ290ICIx
cHgiCitGQUlMIGV4IHVuaXRzIHJlc3BvbmQgdG8gZm9udC1zaXplIGFuaW1hdGlvbiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiNi43MTg3NXB4IiBidXQgZ290ICIwLjQzNzVweCIKK0ZBSUwgdmFy
KCkgcmVmZXJlbmNlcyByZXNwb25kIHRvIGN1c3RvbSBwcm9wZXJ0eSBhbmltYXRpb24gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIjIwcHgiIGJ1dCBnb3QgIjBweCIKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFz
ZS1yZXNwb25zZS0wMDEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjczMWUxNzk4MjM1ODQ1NzdmNDJhNjQ5
ZjZmMzY2NTYxMWE1MjJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2Ut
cmVzcG9uc2UtMDAxLmh0bWwKQEAgLTAsMCArMSw3NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0
bGU+VGVzdCB0aGF0IG5vbi1hbmltYXRlZCBzdHlsZSBpcyByZXNwb25zaXZlIHRvIGFuaW1hdGVk
IHByb3BlcnRpZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLWFuaW1hdGlvbnMvIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgQGtleWZyYW1lcyBmb250X3NpemVf
YW5pbWF0aW9uIHsKKyAgICBmcm9tIHsgZm9udC1zaXplOiAxMHB4OyB9CisgICAgdG8geyBmb250
LXNpemU6IDIwcHg7IH0KKyAgfQorICBAa2V5ZnJhbWVzIHZhcl9hbmltYXRpb24geworICAgIGZy
b20geyAtLXg6IDEwcHg7IH0KKyAgICB0byB7IC0teDogMjBweDsgfQorICB9CisgICN0YXJnZXRz
ID4gZGl2IHsKKyAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBzOworICAgIGFuaW1hdGlvbi1k
ZWxheTogLTUwMHM7CisgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogc3RlcHMoMiwgZW5k
KTsKKyAgfQorCisgICN0YXJnZXQxIHsKKyAgICBhbmltYXRpb24tbmFtZTogZm9udF9zaXplX2Fu
aW1hdGlvbjsKKyAgICBmb250LXNpemU6IDFweDsKKyAgICB3aWR0aDogMWVtOworICB9CisgICNy
ZWYxIHsKKyAgICB3aWR0aDogMTVweDsKKyAgfQorCisgICN0YXJnZXQyIHsKKyAgICBhbmltYXRp
b24tbmFtZTogZm9udF9zaXplX2FuaW1hdGlvbjsKKyAgICBmb250LXNpemU6IDFweDsKKyAgICB3
aWR0aDogMWV4OworICB9CisgICNyZWYyIHsKKyAgICBmb250LXNpemU6IDE1cHg7CisgICAgd2lk
dGg6IDFleDsKKyAgfQorCisgICN0YXJnZXQzIHsKKyAgICBhbmltYXRpb24tbmFtZTogdmFyX2Fu
aW1hdGlvbjsKKyAgICAtLXg6IDBweDsKKyAgICB3aWR0aDogdmFyKC0teCk7CisgIH0KKyAgI3Jl
ZjMgeworICAgIHdpZHRoOiAyMHB4OworICB9Cis8L3N0eWxlPgorPGRpdiBpZD0idGFyZ2V0cyI+
CisgIDxkaXYgaWQ9InRhcmdldDEiPjwvZGl2PgorICA8ZGl2IGlkPSJ0YXJnZXQyIj48L2Rpdj4K
KyAgPGRpdiBpZD0idGFyZ2V0MyI+PC9kaXY+Cis8L2Rpdj4KKzxkaXYgaWQ9InJlZnMiPgorICA8
ZGl2IGlkPSJyZWYxIj48L2Rpdj4KKyAgPGRpdiBpZD0icmVmMiI+PC9kaXY+CisgIDxkaXYgaWQ9
InJlZjMiPjwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorCisvLyBUZXN0IHRoYXQgdGhlIGNvbXB1
dGVkIHZhbHVlIG9mIHRoZSBnaXZlbiBwcm9wZXJ0eSBpcyBlcXVhbCBvbgorLy8gJ3RhcmdldCcg
YW5kICdyZWYnLgorZnVuY3Rpb24gdGVzdF9yZWYodGFyZ2V0LCByZWYsIHByb3BlcnR5LCBkZXNj
cmlwdGlvbikgeworICB0ZXN0KCgpID0+IHsKKyAgICBsZXQgYWN0dWFsID0gZ2V0Q29tcHV0ZWRT
dHlsZSh0YXJnZXQpLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpOworICAgIGxldCBleHBlY3Rl
ZCA9IGdldENvbXB1dGVkU3R5bGUocmVmKS5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5KTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQpOworICB9LCBkZXNjcmlwdGlvbik7Cit9
CisKK3Rlc3RfcmVmKHRhcmdldDEsIHJlZjEsICd3aWR0aCcsICdlbSB1bml0cyByZXNwb25kIHRv
IGZvbnQtc2l6ZSBhbmltYXRpb24nKTsKK3Rlc3RfcmVmKHRhcmdldDIsIHJlZjIsICd3aWR0aCcs
ICdleCB1bml0cyByZXNwb25kIHRvIGZvbnQtc2l6ZSBhbmltYXRpb24nKTsKK3Rlc3RfcmVmKHRh
cmdldDMsIHJlZjMsICd3aWR0aCcsICd2YXIoKSByZWZlcmVuY2VzIHJlc3BvbmQgdG8gY3VzdG9t
IHByb3BlcnR5IGFuaW1hdGlvbicpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2Fu
aW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24t
YmFzZS1yZXNwb25zZS0wMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjNjhiOTgyMjBiZmRi
YWQ2YjQ4OGVjZWI0NzFhMjQ3MjNkNjlkMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmlt
YXRpb24tYmFzZS1yZXNwb25zZS0wMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQ
QVNTIEFuaW1hdGVkIGZvbnQtc2l6ZSBvbiByb290IGFmZmVjdHMgcmVtIHVuaXRzIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2Fu
aW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5ZWE5NjRmNzVkYTRk
ZWY1ZTk0ODc1ZGVlZDM3NjFlNjIyZDIzZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmlt
YXRpb24tYmFzZS1yZXNwb25zZS0wMDIuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzx0aXRsZT5UZXN0IHRoYXQgcmVtIHVuaXRzIGFyZSByZXNwb25zaXZlIHRvIGFuaW1h
dGVkIGZvbnQtc2l6ZSBvbiByb290PC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbmltYXRpb25zLyI+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIEBrZXlmcmFtZXMg
Zm9udF9zaXplX2FuaW1hdGlvbiB7CisgICAgZnJvbSB7IGZvbnQtc2l6ZTogMTBweDsgfQorICAg
IHRvIHsgZm9udC1zaXplOiAyMHB4OyB9CisgIH0KKyAgOnJvb3QgeworICAgIGZvbnQtc2l6ZTog
MXB4OworICAgIGFuaW1hdGlvbjogZm9udF9zaXplX2FuaW1hdGlvbiBzdGVwcygyLCBlbmQpIDEw
MDBzIC01MDBzOworICB9CisKKyAgI3RhcmdldDEgeworICAgIHdpZHRoOiAxcmVtOworICB9Cis8
L3N0eWxlPgorPGRpdiBpZD0idGFyZ2V0MSI+PC9kaXY+Cis8c2NyaXB0PgordGVzdCgoKSA9PiB7
CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQxKS5nZXRQcm9wZXJ0eVZh
bHVlKCd3aWR0aCcpLCAnMTVweCcpOworfSwgJ0FuaW1hdGVkIGZvbnQtc2l6ZSBvbiByb290IGFm
ZmVjdHMgcmVtIHVuaXRzJyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlv
bi1iYXNlLXJlc3BvbnNlLTAwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1y
ZXNwb25zZS0wMDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViNTZjNmYwMDk3YWI5NjNmNGZi
NjgyYmIyOTVkY2Q0YjFlYmM0MTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24t
YmFzZS1yZXNwb25zZS0wMDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIElk
ZW50aWNhbCBlbGVtZW50cyBhcmUgYWxsIHJlc3BvbnNpdmUgdG8gZm9udC1zaXplIGFuaW1hdGlv
biBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTVweCIgYnV0IGdvdCAiMXB4IgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1h
dGlvbi1iYXNlLXJlc3BvbnNlLTAwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZTZkYTczMDljM2M1Yjc0
MWYyZjY0MjY2YTU0N2EzNjQzZDQzYjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRp
b24tYmFzZS1yZXNwb25zZS0wMDMuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzx0aXRsZT5UZXN0cyB0aGF0IGlkZW50aWNhbCBlbGVtZW50cyBpbiB0aGUgYmFzZSBzdHls
ZSByZXNwb25kcyB0byBmb250LXNpemUgYW5pbWF0aW9uPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbmltYXRpb25zLyI+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Cisg
IEBrZXlmcmFtZXMgZm9udF9zaXplX2FuaW1hdGlvbiB7CisgICAgZnJvbSB7IGZvbnQtc2l6ZTog
MTBweDsgfQorICAgIHRvIHsgZm9udC1zaXplOiAyMHB4OyB9CisgIH0KKyAgZGl2IHsKKyAgICBm
b250LXNpemU6IDFweDsKKyAgICBtaW4td2lkdGg6IDFlbTsKKyAgICBhbmltYXRpb246IGZvbnRf
c2l6ZV9hbmltYXRpb24gc3RlcHMoMiwgZW5kKSAxMDAwcyAtNTAwczsKKyAgfQorPC9zdHlsZT4K
KzxkaXY+PC9kaXY+Cis8ZGl2PjwvZGl2PgorPGRpdj48L2Rpdj4KKzxzY3JpcHQ+Cit0ZXN0KCgp
ID0+IHsKKyAgbGV0IGRpdnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYnKTsKKyAg
Zm9yIChsZXQgZGl2IG9mIGRpdnMpCisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KGRpdikuZ2V0UHJvcGVydHlWYWx1ZSgnbWluLXdpZHRoJyksICcxNXB4Jyk7Cit9LCAnSWRlbnRp
Y2FsIGVsZW1lbnRzIGFyZSBhbGwgcmVzcG9uc2l2ZSB0byBmb250LXNpemUgYW5pbWF0aW9uJyk7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAw
NC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU0Y2UzMmY1NjViODRmYjlkMzYxODUzMWRhMTYyNGFjYjc3OTYw
NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIEJhc2UgaXMgcmVzcG9uc2l2ZSB0
byBmb250LWFmZmVjdGluZyBhcHBlYXJpbmcgdmlhIHNldEtleWZyYW1lcyBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiMTVweCIgYnV0IGdvdCAiNzVweCIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uLWJhc2UtcmVzcG9uc2UtMDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNw
b25zZS0wMDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjM4YTU3MmU5MGM3NDViZWEyMjBlNTMwMTIxMDU0
MTgxN2M0NTkzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9u
c2UtMDA0Lmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+VGVz
dHMgdGhhdCBiYXNlIHJlc3BvbmRzIHRvIGZvbnQtYWZmZWN0aW5nIHByb3BlcnRpZXMgYXBwZWFy
aW5nIHZpYSBzZXRLZXlmcmFtZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWFuaW1hdGlvbnMvIj4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgI3RhcmdldDEgewor
ICAgIGZvbnQtc2l6ZTogMTBweDsKKyAgICBoZWlnaHQ6IDFlbTsKKyAgfQorPC9zdHlsZT4KKzxk
aXYgaWQ9dGFyZ2V0MT48L2Rpdj4KKzxzY3JpcHQ+CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAg
Z2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQxKS5oZWlnaHQ7CisKKyAgICBsZXQgYW5pbWF0aW9uID0g
dGFyZ2V0MS5hbmltYXRlKFsKKyAgICAgIHsgaGVpZ2h0OiAnNTBweCcgfSwKKyAgICAgIHsgaGVp
Z2h0OiAnMTAwcHgnIH0sCisgICAgXSwgeworICAgICAgZHVyYXRpb246IDEwMDAwMDAsCisgICAg
ICBkZWxheTogLTUwMDAwMCwKKyAgICAgIGVhc2luZzogJ3N0ZXBzKDIsIGVuZCknCisgICAgfSk7
CisKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0MSkuaGVpZ2h0LCAn
NzVweCcpOworCisgICAgYW5pbWF0aW9uLmVmZmVjdC5zZXRLZXlmcmFtZXMoWworICAgICAgeyBm
b250U2l6ZTogJzEwcHgnIH0sCisgICAgICB7IGZvbnRTaXplOiAnMjBweCcgfSwKKyAgICBdKTsK
KworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQxKS5oZWlnaHQsICcx
NXB4Jyk7CisgIH0sICdCYXNlIGlzIHJlc3BvbnNpdmUgdG8gZm9udC1hZmZlY3RpbmcgYXBwZWFy
aW5nIHZpYSBzZXRLZXlmcmFtZXMnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uLWltcG9ydGFudC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWltcG9y
dGFudC0wMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiMjA0MjIxZWMxNTM3M2RmNjc3M2E1
ZGE3ZjViM2NmYmRjZjQ5MWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1w
b3J0YW50LTAwMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACisKK1BBU1MgSW50ZXJwb2xh
dGVkIHZhbHVlIGlzIG9ic2VydmFibGUgCitGQUlMIEltcG9ydGFudCBydWxlcyBvdmVycmlkZSBh
bmltYXRpb25zIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0IGdv
dCAicmdiKDE1LCAxNSwgMTUpIgorRkFJTCBOb24tb3ZlcnJpZGVuIGludGVycG9sYXRpb25zIGFy
ZSBvYnNlcnZhYmxlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAwKSIgYnV0
IGdvdCAicmdiKDE1LCAxNSwgMTUpIgorRkFJTCBJbXBvcnRhbnQgcnVsZXMgb3ZlcnJpZGUgYW5p
bWF0aW9ucyAoOjpiZWZvcmUpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoMCwgMTI4LCAw
KSIgYnV0IGdvdCAicmdiKDE1LCAxNSwgMTUpIgorUEFTUyBJbXBvcnRhbnQgcnVsZXMgZG8gbm90
IG92ZXJyaWRlIGFuaW1hdGlvbnMgb24gOnZpc2l0ZWQgYXMgc2VlbiBmcm9tIEpTIAorRkFJTCBT
dGFuZGFyZCBwcm9wZXJ0eSBhbmltYXRpb25zIGFwcGVhcmluZyB2aWEgc2V0S2V5ZnJhbWVzIGRv
IG5vdCBvdmVycmlkZSBpbXBvcnRhbnQgZGVjbGFyYXRpb25zIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJyZ2IoMjU1LCAyNTUsIDI1NSkiIGJ1dCBnb3QgInJnYigxNSwgMTUsIDE1KSIKK0ZBSUwg
Q3VzdG9tIHByb3BlcnR5IGFuaW1hdGlvbnMgYXBwZWFyaW5nIHZpYSBzZXRLZXlmcmFtZXMgZG8g
bm90IG92ZXJyaWRlIGltcG9ydGFudCBkZWNsYXJhdGlvbnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIjE1MHB4IiBidXQgZ290ICIxMHB4IgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24t
aW1wb3J0YW50LTAwMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWltcG9ydGFudC0wMDEuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42YjFmY2ZkNzZiNjBkYTEwNmM2ZTk0MmIzMTljN2Q4NTU5ZjI5NzY1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWltcG9ydGFudC0wMDEuaHRtbApAQCAtMCww
ICsxLDE0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+VGVzdCAhaW1wb3J0YW50IGRlY2xh
cmF0aW9ucyB2cy4gYW5pbWF0aW9uIGVmZmVjdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNhc2NhZGUvI2Nhc2NhZGUtb3JpZ2lu
Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisgIENTUy5yZWdpc3RlclByb3BlcnR5KHsKKyAgICBuYW1lOiAiLS1sZW5ndGgtMSIs
CisgICAgc3ludGF4OiAiPGxlbmd0aD4iLAorICAgIGluaXRpYWxWYWx1ZTogIjBweCIsCisgICAg
aW5oZXJpdHM6IGZhbHNlCisgIH0pOworICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7CisgICAgbmFt
ZTogIi0tbGVuZ3RoLTIiLAorICAgIHN5bnRheDogIjxsZW5ndGg+IiwKKyAgICBpbml0aWFsVmFs
dWU6ICIwcHgiLAorICAgIGluaGVyaXRzOiBmYWxzZQorICB9KTsKKzwvc2NyaXB0PgorPHN0eWxl
PgorICBAa2V5ZnJhbWVzIGJnY29sb3JfYW5pbWF0aW9uIHsKKyAgICBmcm9tIHsgYmFja2dyb3Vu
ZC1jb2xvcjogcmdiKDEwLCAxMCwgMTApOyB9CisgICAgdG8geyBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2IoMjAsIDIwLCAyMCk7IH0KKyAgfQorICBAa2V5ZnJhbWVzIGNvbG9yX2FuZF9iZ19hbmltYXRp
b24geworICAgIGZyb20geyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAsIDEwLCAxMCk7IGNvbG9y
OiByZ2IoMTAsIDEwLCAxMCk7IH0KKyAgICB0byB7IGJhY2tncm91bmQtY29sb3I6IHJnYigyMCwg
MjAsIDIwKTsgY29sb3I6IHJnYigyMCwgMjAsIDIwKTsgfQorICB9CisgIGEsIGRpdiwgOjpiZWZv
cmV7CisgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwczsKKyAgICBhbmltYXRpb24tZGVsYXk6
IC01MDBzOworICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXBzKDIsIGVuZCk7Cisg
IH0KKyAgI3RhcmdldDEgeworICAgIGFuaW1hdGlvbi1uYW1lOiBiZ2NvbG9yX2FuaW1hdGlvbjsK
KyAgfQorICAjdGFyZ2V0MiB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDEyOCwgMCkg
IWltcG9ydGFudDsKKyAgICBhbmltYXRpb24tbmFtZTogYmdjb2xvcl9hbmltYXRpb247CisgIH0K
KyAgI3RhcmdldDMgeworICAgIGNvbG9yOiByZ2IoMCwgMTI4LCAwKSAhaW1wb3J0YW50OworICAg
IGFuaW1hdGlvbi1uYW1lOiBjb2xvcl9hbmRfYmdfYW5pbWF0aW9uOworICB9CisgICN0YXJnZXQ0
OjpiZWZvcmUgeworICAgIGNvbG9yOiByZ2IoMCwgMTI4LCAwKSAhaW1wb3J0YW50OworICAgIGFu
aW1hdGlvbi1uYW1lOiBjb2xvcl9hbmRfYmdfYW5pbWF0aW9uOworICAgIGNvbnRlbnQ6ICIgIjsK
KyAgfQorICAjdGFyZ2V0NSB7CisgICAgYW5pbWF0aW9uLW5hbWU6IGNvbG9yX2FuZF9iZ19hbmlt
YXRpb247CisgIH0KKyAgI3RhcmdldDU6dmlzaXRlZCB7CisgICAgY29sb3I6IHJnYigwLCAxMjgs
IDApICFpbXBvcnRhbnQ7CisgIH0KKyAgI3RhcmdldDYgeworICAgIGJhY2tncm91bmQtY29sb3I6
IHdoaXRlOworICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OworICB9CisgICN0YXJnZXQ3IHsK
KyAgICAtLWxlbmd0aC0xOiAxMHB4OworICAgIC0tbGVuZ3RoLTI6IDEwcHggIWltcG9ydGFudDsK
KyAgfQorPC9zdHlsZT4KKzxkaXYgaWQ9InRhcmdldDEiPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0
MiI+PC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQzIj48L2Rpdj4KKzxkaXYgaWQ9InRhcmdldDQiPjwv
ZGl2PgorPGEgaHJlZj0iIiBpZD0idGFyZ2V0NSI+PC9hPgorPHNwYW4gaWQ9InRhcmdldDYiPjwv
c3Bhbj4KKzxzcGFuIGlkPSJ0YXJnZXQ3Ij48L3NwYW4+Cis8c2NyaXB0PgordGVzdCgoKSA9PiB7
CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQxKS5iYWNrZ3JvdW5kQ29s
b3IsICdyZ2IoMTUsIDE1LCAxNSknKTsKK30sICdJbnRlcnBvbGF0ZWQgdmFsdWUgaXMgb2JzZXJ2
YWJsZScpOworCit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KHRhcmdldDIpLmJhY2tncm91bmRDb2xvciwgJ3JnYigwLCAxMjgsIDApJyk7Cit9LCAnSW1wb3J0
YW50IHJ1bGVzIG92ZXJyaWRlIGFuaW1hdGlvbnMnKTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQzKS5jb2xvciwgJ3JnYigwLCAxMjgsIDAp
Jyk7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQzKS5iYWNrZ3JvdW5k
Q29sb3IsICdyZ2IoMTUsIDE1LCAxNSknKTsKK30sICdOb24tb3ZlcnJpZGVuIGludGVycG9sYXRp
b25zIGFyZSBvYnNlcnZhYmxlJyk7CisKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfZXF1YWxzKGdl
dENvbXB1dGVkU3R5bGUodGFyZ2V0NCwgJzo6YmVmb3JlJykuY29sb3IsICdyZ2IoMCwgMTI4LCAw
KScpOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0NCwgJzo6YmVmb3Jl
JykuYmFja2dyb3VuZENvbG9yLCAncmdiKDE1LCAxNSwgMTUpJyk7Cit9LCAnSW1wb3J0YW50IHJ1
bGVzIG92ZXJyaWRlIGFuaW1hdGlvbnMgKDo6YmVmb3JlKScpOworCit0ZXN0KCgpID0+IHsKKyAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldDUpLmNvbG9yLCAncmdiKDE1LCAx
NSwgMTUpJyk7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQ1KS5iYWNr
Z3JvdW5kQ29sb3IsICdyZ2IoMTUsIDE1LCAxNSknKTsKK30sICdJbXBvcnRhbnQgcnVsZXMgZG8g
bm90IG92ZXJyaWRlIGFuaW1hdGlvbnMgb24gOnZpc2l0ZWQgYXMgc2VlbiBmcm9tIEpTJyk7CisK
K3Rlc3QoKCkgPT4geworICBnZXRDb21wdXRlZFN0eWxlKHRhcmdldDYpLmJhY2tncm91bmRDb2xv
cjsKKworICBsZXQgYW5pbWF0aW9uID0gdGFyZ2V0Ni5hbmltYXRlKFsKKyAgICB7IGJhY2tncm91
bmRDb2xvcjogJ3JnYigxMCwgMTAsIDEwKScgfSwKKyAgICB7IGJhY2tncm91bmRDb2xvcjogJ3Jn
YigyMCwgMjAsIDIwKScgfSwKKyAgXSwgeworICAgIGR1cmF0aW9uOiAxMDAwMDAwLAorICAgIGRl
bGF5OiAtNTAwMDAwLAorICAgIGVhc2luZzogJ3N0ZXBzKDIsIGVuZCknCisgIH0pOworCisgIGFz
c2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQ2KS5iYWNrZ3JvdW5kQ29sb3IsICdy
Z2IoMTUsIDE1LCAxNSknKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdl
dDYpLmNvbG9yLCAncmdiKDI1NSwgMjU1LCAyNTUpJyk7CisKKyAgYW5pbWF0aW9uLmVmZmVjdC5z
ZXRLZXlmcmFtZXMoWworICAgIHsgY29sb3I6ICdyZ2IoMTAsIDEwLCAxMCknIH0sCisgICAgeyBj
b2xvcjogJ3JnYigyMCwgMjAsIDIwKScgfSwKKyAgXSk7CisKKyAgYXNzZXJ0X2VxdWFscyhnZXRD
b21wdXRlZFN0eWxlKHRhcmdldDYpLmJhY2tncm91bmRDb2xvciwgJ3JnYigyNTUsIDI1NSwgMjU1
KScpOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0NikuY29sb3IsICdy
Z2IoMjU1LCAyNTUsIDI1NSknKTsKK30sICdTdGFuZGFyZCBwcm9wZXJ0eSBhbmltYXRpb25zIGFw
cGVhcmluZyB2aWEgc2V0S2V5ZnJhbWVzIGRvIG5vdCBvdmVycmlkZSBpbXBvcnRhbnQgZGVjbGFy
YXRpb25zJyk7CisKK3Rlc3QoKCkgPT4geworICBnZXRDb21wdXRlZFN0eWxlKHRhcmdldDcpLmdl
dFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLTEnKTsKKworICBsZXQgYW5pbWF0aW9uID0gdGFyZ2V0
Ny5hbmltYXRlKFsKKyAgICB7ICctLWxlbmd0aC0xJzogJzEwMHB4JyB9LAorICAgIHsgJy0tbGVu
Z3RoLTEnOiAnMjAwcHgnIH0sCisgIF0sIHsKKyAgICBkdXJhdGlvbjogMTAwMDAwMCwKKyAgICBk
ZWxheTogLTUwMDAwMCwKKyAgICBlYXNpbmc6ICdzdGVwcygyLCBlbmQpJworICB9KTsKKworICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0NykuZ2V0UHJvcGVydHlWYWx1ZSgn
LS1sZW5ndGgtMScpLCAnMTUwcHgnKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KHRhcmdldDcpLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLTInKSwgJzEwcHgnKTsKKworICBh
bmltYXRpb24uZWZmZWN0LnNldEtleWZyYW1lcyhbCisgICAgeyAnLS1sZW5ndGgtMic6ICcxMDBw
eCcgfSwKKyAgICB7ICctLWxlbmd0aC0yJzogJzIwMHB4JyB9LAorICBdKTsKKworICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0NykuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5n
dGgtMScpLCAnMTBweCcpOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0
NykuZ2V0UHJvcGVydHlWYWx1ZSgnLS1sZW5ndGgtMicpLCAnMTBweCcpOworfSwgJ0N1c3RvbSBw
cm9wZXJ0eSBhbmltYXRpb25zIGFwcGVhcmluZyB2aWEgc2V0S2V5ZnJhbWVzIGRvIG5vdCBvdmVy
cmlkZSBpbXBvcnRhbnQgZGVjbGFyYXRpb25zJyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1h
dGlvbnMvYW5pbWF0aW9uLWltcG9ydGFudC0wMDItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1h
dGlvbi1pbXBvcnRhbnQtMDAyLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTI4NTVjYjkxZTZi
NzgwZmM2Mzc1MjgwYjA2NDMzMzU4MDJkZDRlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2Fu
aW1hdGlvbi1pbXBvcnRhbnQtMDAyLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxzdHlsZT4KKyAgYSB7CisgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxp
bmU7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDE1MCwgMCk7CisgIH0KKzwvc3R5bGU+
Cis8YSBzdHlsZT0iY29sb3I6IHJnYigxNTAsIDAsIDApIj5VbnZpc2l0ZWQ8L2E+Cis8YSBzdHls
ZT0iY29sb3I6IHdoaXRlIj5WaXNpdGVkPC9hPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9u
LWltcG9ydGFudC0wMDIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmE2OGY4ZTBjYWNmMDZlMmU1NzYxZWYzOTJiOTBhNGY4OWZjYzg0MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAyLmh0bWwKQEAgLTAs
MCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+VGVzdCB0aGF0IGFuaW1hdGVkIHBy
b3BlcnRpZXMgb24gOnZpc2l0ZWQgYXJlIG92ZXJyaWRkZW4gYnkgIWltcG9ydGFudDwvdGl0bGU+
Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY2Fz
Y2FkZS8jY2FzY2FkZS1vcmlnaW4iPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iYW5pbWF0aW9u
LWltcG9ydGFudC0wMDItcmVmLmh0bWwiPgorPHN0eWxlPgorICBAa2V5ZnJhbWVzIGNvbG9yX2Fu
ZF9iZ19hbmltYXRpb24geworICAgIGZyb20geyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMTAw
LCAwKTsgY29sb3I6IHJnYigxMDAsIDAsIDApOyB9CisgICAgdG8geyBiYWNrZ3JvdW5kLWNvbG9y
OiByZ2IoMCwgMjAwLCAwKTsgY29sb3I6IHJnYigyMDAsIDAsIDApOyB9CisgIH0KKyAgYSB7Cisg
ICAgYW5pbWF0aW9uLW5hbWU6IGNvbG9yX2FuZF9iZ19hbmltYXRpb247CisgICAgYW5pbWF0aW9u
LWR1cmF0aW9uOiAxMDAwczsKKyAgICBhbmltYXRpb24tZGVsYXk6IC01MDBzOworICAgIGFuaW1h
dGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXBzKDIsIGVuZCk7CisgIH0KKyAgYTp2aXNpdGVkIHsK
KyAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsKKyAgfQorPC9zdHlsZT4KKzxhIGhyZWY9IiN1
bnZpc2l0ZWQiPlVudmlzaXRlZDwvYT4KKzxhIGhyZWY9IiI+VmlzaXRlZDwvYT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL2V2ZW50LWRpc3BhdGNoLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtZGlz
cGF0Y2gudGVudGF0aXZlLmh0bWwKaW5kZXggYmY1NzgyZDI0ZmQyZTk1N2JkNzMyMzVlMGUxZDhi
MmIxZTdjZDQxZC4uNzcwZjliMDBiMWZkM2RiNDM4ZjZkMDNmN2M4NTM1Y2YxZDJlMzY4NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvZXZlbnQtZGlzcGF0Y2gudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
ZXZlbnQtZGlzcGF0Y2gudGVudGF0aXZlLmh0bWwKQEAgLTIxLDcgKzIxLDggQEAgY29uc3Qgc2V0
dXBBbmltYXRpb24gPSAodCwgYW5pbWF0aW9uU3R5bGUpID0+IHsKICAgY29uc3Qgd2F0Y2hlciA9
IG5ldyBFdmVudFdhdGNoZXIodCwgZGl2LCBbICdhbmltYXRpb25zdGFydCcsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5pbWF0aW9uaXRlcmF0aW9uJywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRpb25l
bmQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1h
dGlvbmNhbmNlbCcgXSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnYW5pbWF0aW9uY2FuY2VsJyBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmYXN0RXZlbnRzVGltZW91dCk7CiAgIGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmlt
YXRpb25zKClbMF07CiAKICAgcmV0dXJuIHsgYW5pbWF0aW9uLCB3YXRjaGVyLCBkaXYgfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy9ldmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IDMyNmI2ZjFjYzRmM2Fj
MDg2MTdiYTdlYmYwZjY3NDNkMjc1NTg3MmMuLmM5ZTQzMTgyMzYwYjQzNzU5Zjk2NzUzZjQxMzIw
ZjAyYjMxY2IxZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dApA
QCAtMSw2ICsxLDcgQEAKIAogUEFTUyBTYW1lIGV2ZW50cyBhcmUgb3JkZXJlZCBieSBlbGVtZW50
cyAKIFBBU1MgU2FtZSBldmVudHMgb24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUgcHJlc2Ny
aWJlZCBvcmRlciAKK0ZBSUwgU2FtZSBldmVudHMgb24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0
aGUgcHJlc2NyaWJlZCBvcmRlciAoOjptYXJrZXIpIGFzc2VydF9lcXVhbHM6IE51bWJlciBvZiBl
dmVudHMgcmVjZWl2ZWQgKDQpIHNob3VsZCBtYXRjaCBleHBlY3RlZCBudW1iZXIgKDUpIChleHBl
Y3RlZDogYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5p
bWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhY3R1YWw6IGFuaW1hdGlvbnN0YXJ0LCBhbmlt
YXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0KSBleHBlY3RlZCA1IGJ1
dCBnb3QgNAogRkFJTCBTdGFydCBhbmQgaXRlcmF0aW9uIGV2ZW50cyBhcmUgb3JkZXJlZCBieSB0
aW1lIGFzc2VydF9lcXVhbHM6IEV2ZW50ICMxIHR5cGVzIHNob3VsZCBtYXRjaCAoZXhwZWN0ZWQ6
IGFuaW1hdGlvbml0ZXJhdGlvbiwgYW5pbWF0aW9uc3RhcnQsIGFjdHVhbDogYW5pbWF0aW9uc3Rh
cnQsIGFuaW1hdGlvbml0ZXJhdGlvbikgZXhwZWN0ZWQgImFuaW1hdGlvbml0ZXJhdGlvbiIgYnV0
IGdvdCAiYW5pbWF0aW9uc3RhcnQiCiBGQUlMIEl0ZXJhdGlvbiBhbmQgZW5kIGV2ZW50cyBhcmUg
b3JkZXJlZCBieSB0aW1lIGFzc2VydF9lcXVhbHM6IEV2ZW50ICMxIHR5cGVzIHNob3VsZCBtYXRj
aCAoZXhwZWN0ZWQ6IGFuaW1hdGlvbml0ZXJhdGlvbiwgYW5pbWF0aW9uZW5kLCBhY3R1YWw6IGFu
aW1hdGlvbmVuZCwgYW5pbWF0aW9uaXRlcmF0aW9uKSBleHBlY3RlZCAiYW5pbWF0aW9uaXRlcmF0
aW9uIiBidXQgZ290ICJhbmltYXRpb25lbmQiCiBGQUlMIFN0YXJ0IGFuZCBlbmQgZXZlbnRzIGFy
ZSBzb3J0ZWQgY29ycmVjdGx5IHdoZW4gZmlyZWQgc2ltdWx0YW5lb3VzbHkgYXNzZXJ0X2VxdWFs
czogRXZlbnQgIzEgdGFyZ2V0cyBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxk
aXYgc3R5bGU9ImFuaW1hdGlvbjogYW5pbSAxMDBzIDIiPjwvZGl2PiBidXQgZ290IEVsZW1lbnQg
bm9kZSA8ZGl2IHN0eWxlPSJhbmltYXRpb246IGFuaW0gMTAwcyAxMDBzIj48L2Rpdj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3Jk
ZXIudGVudGF0aXZlLmh0bWwKaW5kZXggZjRmOWUyOWEzYzg1OWRhYWE5NzI3ZmUzMDA5ZjgzN2E3
ZGRlYjFiZS4uNThmMGJiNjdjYWZkZDZiYzgxYjE3YTg4NDUyODBkZWQ5NGI3M2I2MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQt
b3JkZXIudGVudGF0aXZlLmh0bWwKQEAgLTEyOSw2MiArMTI5LDY4IEBAIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKICAgICAgICAgICAgICAgICAgICAgICBbJ2FuaW1hdGlvbmVuZCcsIGRpdjIs
IDIwMF0pOwogfSwgJ1NhbWUgZXZlbnRzIGFyZSBvcmRlcmVkIGJ5IGVsZW1lbnRzJyk7CiAKLXBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgLy8gU2V0dXAgYSBoaWVyYXJjaHkgYXMgZm9sbG93
czoKLSAgLy8KLSAgLy8gICAgICAgICAgICAgIHBhcmVudAotICAvLyAgICAgICAgICAgICAgICB8
Ci0gIC8vICAoOjptYXJrZXIsIDo6YmVmb3JlLCA6OmFmdGVyKQotICAvLyAgICAgICAgICAgICAg
ICB8Ci0gIC8vICAgICAgICAgICAgICBjaGlsZAotICBjb25zdCBwYXJlbnREaXYgPSBhZGREaXYo
dCwgeyBzdHlsZTogJ2FuaW1hdGlvbjogYW5pbSAxMDBzJyB9KTsKLQotICBwYXJlbnREaXYuaWQg
PSAncGFyZW50LWRpdic7Ci0gIGFkZFN0eWxlKHQsIHsKLSAgICAnI3BhcmVudC1kaXY6OmFmdGVy
JzogImNvbnRlbnQ6ICcnOyBhbmltYXRpb246IGFuaW0gMTAwcyIsCi0gICAgJyNwYXJlbnQtZGl2
OjpiZWZvcmUnOiAiY29udGVudDogJyc7IGFuaW1hdGlvbjogYW5pbSAxMDBzIiwKLSAgfSk7Ci0K
LSAgaWYgKENTUy5zdXBwb3J0cygnc2VsZWN0b3IoOjptYXJrZXIpJykpIHsKLSAgICBwYXJlbnRE
aXYuc3R5bGUuZGlzcGxheSA9ICdsaXN0LWl0ZW0nOworZnVuY3Rpb24gcHNldWRvVGVzdChkZXNj
cmlwdGlvbiwgdGVzdE1hcmtlclBzZXVkb3MpIHsKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICAgIC8vIFNldHVwIGEgaGllcmFyY2h5IGFzIGZvbGxvd3M6CisgICAgLy8KKyAgICAvLyAg
ICAgICAgICAgICAgcGFyZW50CisgICAgLy8gICAgICAgICAgICAgICAgfAorICAgIC8vICAoOjpt
YXJrZXIsIDo6YmVmb3JlLCA6OmFmdGVyKSAvLyA6Om1hcmtlciBvcHRpb25hbAorICAgIC8vICAg
ICAgICAgICAgICAgIHwKKyAgICAvLyAgICAgICAgICAgICAgY2hpbGQKKyAgICBjb25zdCBwYXJl
bnREaXYgPSBhZGREaXYodCwgeyBzdHlsZTogJ2FuaW1hdGlvbjogYW5pbSAxMDBzJyB9KTsKKwor
ICAgIHBhcmVudERpdi5pZCA9ICdwYXJlbnQtZGl2JzsKICAgICBhZGRTdHlsZSh0LCB7Ci0gICAg
ICAnI3BhcmVudC1kaXY6Om1hcmtlcic6ICJjb250ZW50OiAnJzsgYW5pbWF0aW9uOiBjb2xvci1h
bmltIDEwMHMiLAorICAgICAgJyNwYXJlbnQtZGl2OjphZnRlcic6ICJjb250ZW50OiAnJzsgYW5p
bWF0aW9uOiBhbmltIDEwMHMiLAorICAgICAgJyNwYXJlbnQtZGl2OjpiZWZvcmUnOiAiY29udGVu
dDogJyc7IGFuaW1hdGlvbjogYW5pbSAxMDBzIiwKICAgICB9KTsKLSAgfQogCi0gIGNvbnN0IGNo
aWxkRGl2ID0gYWRkRGl2KHQsIHsgc3R5bGU6ICdhbmltYXRpb246IGFuaW0gMTAwcycgfSk7Ci0g
IHBhcmVudERpdi5hcHBlbmQoY2hpbGREaXYpOwotCi0gIC8vIFNldHVwIGV2ZW50IGhhbmRsZXJz
Ci0gIGxldCBldmVudHMgPSBbXTsKLSAgZm9yIChjb25zdCBuYW1lIG9mIFsnc3RhcnQnLCAnaXRl
cmF0aW9uJywgJ2VuZCcsICdjYW5jZWwnXSkgewotICAgIHBhcmVudERpdlsnb25hbmltYXRpb24n
ICsgbmFtZV0gPSBldnQgPT4gewotICAgICAgZXZlbnRzLnB1c2goewotICAgICAgICB0eXBlOiBl
dnQudHlwZSwKLSAgICAgICAgdGFyZ2V0OiBldnQudGFyZ2V0LAotICAgICAgICBwc2V1ZG9FbGVt
ZW50OiBldnQucHNldWRvRWxlbWVudCwKLSAgICAgICAgZWxhcHNlZFRpbWU6IGV2dC5lbGFwc2Vk
VGltZSwKKyAgICBpZiAodGVzdE1hcmtlclBzZXVkb3MpIHsKKyAgICAgIHBhcmVudERpdi5zdHls
ZS5kaXNwbGF5ID0gJ2xpc3QtaXRlbSc7CisgICAgICBhZGRTdHlsZSh0LCB7CisgICAgICAgICcj
cGFyZW50LWRpdjo6bWFya2VyJzogImNvbnRlbnQ6ICcnOyBhbmltYXRpb246IGNvbG9yLWFuaW0g
MTAwcyIsCiAgICAgICB9KTsKLSAgICB9OwotICB9Ci0KLSAgLy8gV2FpdCBhIGNvdXBsZSBvZiBm
cmFtZXMgZm9yIHRoZSBldmVudHMgdG8gYmUgZGlzcGF0Y2hlZAotICBhd2FpdCB3YWl0Rm9yRnJh
bWUoKTsKLSAgYXdhaXQgd2FpdEZvckZyYW1lKCk7Ci0KLSAgY29uc3QgZXhwZWN0ZWRFdmVudHMg
PSBbCi0gICAgWydhbmltYXRpb25zdGFydCcsIHBhcmVudERpdiwgMF0sCi0gICAgWydhbmltYXRp
b25zdGFydCcsIHBhcmVudERpdiwgJzo6bWFya2VyJywgMF0sCi0gICAgWydhbmltYXRpb25zdGFy
dCcsIHBhcmVudERpdiwgJzo6YmVmb3JlJywgMF0sCi0gICAgWydhbmltYXRpb25zdGFydCcsIHBh
cmVudERpdiwgJzo6YWZ0ZXInLCAwXSwKLSAgICBbJ2FuaW1hdGlvbnN0YXJ0JywgY2hpbGREaXYs
IDBdLAotICBdOwotICBpZiAoIUNTUy5zdXBwb3J0cygnc2VsZWN0b3IoOjptYXJrZXIpJykpIHsK
LSAgICBleHBlY3RlZEV2ZW50cy5zcGxpY2UoMSwgMSk7Ci0gIH0KKyAgICB9CisKKyAgICBjb25z
dCBjaGlsZERpdiA9IGFkZERpdih0LCB7IHN0eWxlOiAnYW5pbWF0aW9uOiBhbmltIDEwMHMnIH0p
OworICAgIHBhcmVudERpdi5hcHBlbmQoY2hpbGREaXYpOworCisgICAgLy8gU2V0dXAgZXZlbnQg
aGFuZGxlcnMKKyAgICBsZXQgZXZlbnRzID0gW107CisgICAgZm9yIChjb25zdCBuYW1lIG9mIFsn
c3RhcnQnLCAnaXRlcmF0aW9uJywgJ2VuZCcsICdjYW5jZWwnXSkgeworICAgICAgcGFyZW50RGl2
WydvbmFuaW1hdGlvbicgKyBuYW1lXSA9IGV2dCA9PiB7CisgICAgICAgIGV2ZW50cy5wdXNoKHsK
KyAgICAgICAgICB0eXBlOiBldnQudHlwZSwKKyAgICAgICAgICB0YXJnZXQ6IGV2dC50YXJnZXQs
CisgICAgICAgICAgcHNldWRvRWxlbWVudDogZXZ0LnBzZXVkb0VsZW1lbnQsCisgICAgICAgICAg
ZWxhcHNlZFRpbWU6IGV2dC5lbGFwc2VkVGltZSwKKyAgICAgICAgfSk7CisgICAgICB9OworICAg
IH0KKworICAgIC8vIFdhaXQgYSBjb3VwbGUgb2YgZnJhbWVzIGZvciB0aGUgZXZlbnRzIHRvIGJl
IGRpc3BhdGNoZWQKKyAgICBhd2FpdCB3YWl0Rm9yRnJhbWUoKTsKKyAgICBhd2FpdCB3YWl0Rm9y
RnJhbWUoKTsKKworICAgIGNvbnN0IGV4cGVjdGVkRXZlbnRzID0gWworICAgICAgWydhbmltYXRp
b25zdGFydCcsIHBhcmVudERpdiwgMF0sCisgICAgICBbJ2FuaW1hdGlvbnN0YXJ0JywgcGFyZW50
RGl2LCAnOjptYXJrZXInLCAwXSwKKyAgICAgIFsnYW5pbWF0aW9uc3RhcnQnLCBwYXJlbnREaXYs
ICc6OmJlZm9yZScsIDBdLAorICAgICAgWydhbmltYXRpb25zdGFydCcsIHBhcmVudERpdiwgJzo6
YWZ0ZXInLCAwXSwKKyAgICAgIFsnYW5pbWF0aW9uc3RhcnQnLCBjaGlsZERpdiwgMF0sCisgICAg
XTsKKyAgICBpZiAoIXRlc3RNYXJrZXJQc2V1ZG9zKSB7CisgICAgICBleHBlY3RlZEV2ZW50cy5z
cGxpY2UoMSwgMSk7CisgICAgfQorCisgICAgY2hlY2tFdmVudHMoZXZlbnRzLCAuLi5leHBlY3Rl
ZEV2ZW50cyk7CisgIH0sIGRlc2NyaXB0aW9uKTsKK30KIAotICBjaGVja0V2ZW50cyhldmVudHMs
IC4uLmV4cGVjdGVkRXZlbnRzKTsKLX0sICdTYW1lIGV2ZW50cyBvbiBwc2V1ZG8tZWxlbWVudHMg
Zm9sbG93IHRoZSBwcmVzY3JpYmVkIG9yZGVyJyk7Citwc2V1ZG9UZXN0KCdTYW1lIGV2ZW50cyBv
biBwc2V1ZG8tZWxlbWVudHMgZm9sbG93IHRoZSBwcmVzY3JpYmVkIG9yZGVyJywgZmFsc2UpOwor
cHNldWRvVGVzdCgnU2FtZSBldmVudHMgb24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUgcHJl
c2NyaWJlZCBvcmRlciAnICsKKyAgICAnKDo6bWFya2VyKScsIHRydWUpOwogCiBwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CiAgIGxldCBldmVudHMgPSBbXTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2hp
c3RvcmljYWwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL2hpc3RvcmljYWwuaHRtbAppbmRleCA1Yjk2YTQyMmY1NWY0
NWNkZGFiZGYwMTFhY2I4M2U1MDgxZWMxZWYzLi5mOWIxM2ZhMDE2MzIzZjUzNjIzMDM4MTY3ZWQ3
ZTQ0NGYxMGZkMGIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9oaXN0b3JpY2FsLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvaGlzdG9yaWNhbC5odG1sCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiAKIDx0
aXRsZT5IaXN0b3JpY2FsIENTUyBBbmltYXRpb24gZmVhdHVyZXMgbXVzdCBiZSByZW1vdmVkPC90
aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1h
bmltYXRpb25zIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RS
L2Nzcy1hbmltYXRpb25zLTEvI2FuaW1hdGlvbnMiPgogCiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9rZXlmcmFtZXMt
cmVtb3ZlLWRvY3VtZW50RWxlbWVudC1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9rZXlmcmFt
ZXMtcmVtb3ZlLWRvY3VtZW50RWxlbWVudC1jcmFzaC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDYzYTA0YzI4YjEyZDUwMDM3MzE3YTZiNDllOWU0ZWFkYzkyMmEy
YTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
a2V5ZnJhbWVzLXJlbW92ZS1kb2N1bWVudEVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogbnVs
bCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
JykKLSNQSUQgVU5SRVNQT05TSVZFIC0gV2ViS2l0VGVzdFJ1bm5lciAocGlkIDg0NTcwKQotRkFJ
TDogVGltZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlmeURvbmUgdG8gYmUgY2FsbGVkCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL3N1cHBvcnQvdGVzdGNvbW1vbi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3N1cHBvcnQvdGVzdGNv
bW1vbi5qcwppbmRleCBiNGZkZTRiOTY3ZGUyZWI2N2NiM2UwODE5YzNhODk2Mzc1ZTg2MWY5Li5l
MjZhN2ExODU4YWI5ZTRkNDA0ZmE5ZmI3NmI0YTlmNGM0ZjEzNTcyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy9zdXBwb3J0L3Rlc3Rjb21tb24uanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvc3VwcG9ydC90ZXN0Y29tbW9uLmpz
CkBAIC0zNiw2ICszNiw1NSBAQCBmdW5jdGlvbiBhc3NlcnRfdGltZV9lcXVhbHNfbGl0ZXJhbChh
Y3R1YWwsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikgewogICBhc3NlcnRfYXBwcm94X2VxdWFscyhh
Y3R1YWwsIGV4cGVjdGVkLCBUSU1FX1BSRUNJU0lPTiwgZGVzY3JpcHRpb24pOwogfQogCisvKgor
ICogQ29tcGFyZSB0d28ga2V5ZnJhbWVzCisgKi8KK2Z1bmN0aW9uIGFzc2VydF9mcmFtZXNfZXF1
YWwoYWN0dWFsLCBleHBlY3RlZCwgbmFtZSkgeworICAvLyBUT0RPOiBNYWtlIHRoaXMgc2tpcCB0
aGUgJ2NvbXBvc2l0ZScgbWVtYmVyIHdoZW4gaXQgaXMgbm90IHNwZWNpZmllZCBpbgorICAvLyBg
ZXhwZWN0ZWRgIG9yIHdoZW4gdGhlIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHN1cHBvcnQgaXQu
CisgIGFzc2VydF9hcnJheV9lcXVhbHMoCisgICAgT2JqZWN0LmtleXMoYWN0dWFsKS5zb3J0KCks
CisgICAgT2JqZWN0LmtleXMoZXhwZWN0ZWQpLnNvcnQoKSwKKyAgICBgcHJvcGVydGllcyBvbiAk
e25hbWV9IHNob3VsZCBtYXRjaGAKKyAgKTsKKworICBmb3IgKGNvbnN0IHByb3AgaW4gYWN0dWFs
KSB7CisgICAgaWYgKAorICAgICAgLy8gJ29mZnNldCcgY2FuIGJlIG51bGwKKyAgICAgIChwcm9w
ID09PSAnb2Zmc2V0JyAmJiB0eXBlb2YgYWN0dWFsW3Byb3BdID09PSAnbnVtYmVyJykgfHwKKyAg
ICAgIHByb3AgPT09ICdjb21wdXRlZE9mZnNldCcKKyAgICApIHsKKyAgICAgIGFzc2VydF9hcHBy
b3hfZXF1YWxzKAorICAgICAgICBhY3R1YWxbcHJvcF0sCisgICAgICAgIGV4cGVjdGVkW3Byb3Bd
LAorICAgICAgICAwLjAwMDAxLAorICAgICAgICAidmFsdWUgZm9yICciICsgcHJvcCArICInIG9u
ICIgKyBuYW1lCisgICAgICApOworICAgIH0gZWxzZSB7CisgICAgICBhc3NlcnRfZXF1YWxzKAor
ICAgICAgICBhY3R1YWxbcHJvcF0sCisgICAgICAgIGV4cGVjdGVkW3Byb3BdLAorICAgICAgICBg
dmFsdWUgZm9yICcke3Byb3B9JyBvbiAke25hbWV9IHNob3VsZCBtYXRjaGAKKyAgICAgICk7Cisg
ICAgfQorICB9Cit9CisKKy8qCisgKiBDb21wYXJlIHR3byBsaXN0cyBvZiBrZXlmcmFtZXMKKyAq
LworZnVuY3Rpb24gYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGFjdHVhbCwgZXhwZWN0ZWQpIHsK
KyAgYXNzZXJ0X2VxdWFscygKKyAgICBhY3R1YWwubGVuZ3RoLAorICAgIGV4cGVjdGVkLmxlbmd0
aCwKKyAgICAnTnVtYmVyIG9mIGtleWZyYW1lcyBzaG91bGQgbWF0Y2gnCisgICk7CisKKyAgZm9y
IChsZXQgaSA9IDA7IGkgPCBhY3R1YWwubGVuZ3RoOyBpKyspIHsKKyAgICBhc3NlcnRfZnJhbWVz
X2VxdWFsKGFjdHVhbFtpXSwgZXhwZWN0ZWRbaV0sIGBLZXlmcmFtZSAjJHtpfWApOworICB9Cit9
CisKIC8qKgogICogQXBwZW5kcyBhIGRpdiB0byB0aGUgZG9jdW1lbnQgYm9keS4KICAqCkBAIC0x
NDIsNiArMTkxLDE1IEBAIGZ1bmN0aW9uIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoZnJhbWVDb3Vu
dCwgb25GcmFtZSkgewogICB9KTsKIH0KIAorLyoqCisgKiBUaW1lb3V0IGZ1bmN0aW9uIHVzZWQg
Zm9yIHRlc3RzIHdpdGggRXZlbnRXYXRjaGVycyB3aGVuIGFsbCBhbmltYXRpb24gZXZlbnRzCisg
KiBzaG91bGQgYmUgcmVjZWl2ZWQgb24gdGhlIG5leHQgYW5pbWF0aW9uIGZyYW1lLiBJZiB0d28g
ZnJhbWVzIHBhc3MgYmVmb3JlCisgKiByZWNlaXZpbmcgdGhlIGV4cGVjdGVkIGV2ZW50cywgdGhl
biB3ZSBjYW4gaW1tZWRpYXRlIGZhaWwgdGhlIHRlc3QuCisgKi8KK2Z1bmN0aW9uIGZhc3RFdmVu
dHNUaW1lb3V0KCkgeworICByZXR1cm4gd2FpdEZvckFuaW1hdGlvbkZyYW1lcygyKTsKK307CisK
IC8qKgogICogV3JhcHBlciB0aGF0IHRha2VzIGEgc2VxdWVuY2Ugb2YgTiBhbmltYXRpb25zIGFu
ZCByZXR1cm5zOgogICoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
dzNjLWltcG9ydC5sb2cKaW5kZXggZWIzZGI5MGMwY2U3YWEzODUwYTUyZmMyY2I1OTdkZWZiOTI0
ZTliNS4uYjUzNGYyY2JjOWQ0N2NiOWFmYTM5ZWVlYjA4NzVlY2Q0MTExMGJjZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvdzNjLWltcG9ydC5sb2cKQEAgLTE1
LDYgKzE1LDcgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0FuaW1hdGlvbkVmZmVjdC1nZXRDb21wdXRlZFRpbWluZy50ZW50YXRpdmUuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0FuaW1hdGlvbkVmZmVjdC11cGRhdGVUaW1pbmcudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NB
bmltYXRpb24tYW5pbWF0aW9uTmFtZS50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlv
bi1jYW5jZWxpbmcudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tY29tcG9zaXRl
T3JkZXIudGVudGF0aXZlLmh0bWwKQEAgLTMwLDggKzMxLDEzIEBAIExpc3Qgb2YgZmlsZXM6CiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1h
dGlvbnMvRWxlbWVudC1nZXRBbmltYXRpb25zLWR5bmFtaWMtY2hhbmdlcy50ZW50YXRpdmUuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL0VsZW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tl
eWZyYW1lRWZmZWN0LWdldEtleWZyYW1lcy50ZW50YXRpdmUuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1l
RWZmZWN0LXNldEtleWZyYW1lcy50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0
LXRhcmdldC50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL01FVEEueW1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9u
LWJhc2UtcmVzcG9uc2UtMDAxLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0w
MDIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMy5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
YW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDA0Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmVmb3Jl
LWluaXRpYWwtYm94LWNvbnN0cnVjdGlvbi0wMDEuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1kZWxh
eS0wMDgtZXhwZWN0ZWQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1kZWxheS0wMDguaHRtbApAQCAt
NDEsNiArNDcsOSBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1kZWxheS0wMTAu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL2FuaW1hdGlvbi1kZWxheS0wMTEtZXhwZWN0ZWQuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2Fu
aW1hdGlvbi1kZWxheS0wMTEuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAxLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50LTAwMi1leHBlY3RlZC5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
YW5pbWF0aW9uLWltcG9ydGFudC0wMDIuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pdGVyYXRpb24t
Y291bnQtY2FsYy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW9wYWNpdHktcGF1c2UtYW5kLXNldC10
aW1lLWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tb3BhY2l0eS1wYXVzZS1hbmQtc2V0
LXRpbWUuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNl
LXJlc3BvbnNlLTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9u
LWJhc2UtcmVzcG9uc2UtMDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YzFmZWMxNjMyM2Vh
MjllNGFiODUzOWE0YzQxZDZmOGJhMDIyMmFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACisKK0ZBSUwgZW0gdW5pdHMgcmVzcG9uZCB0byBmb250LXNpemUgYW5pbWF0aW9u
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxNXB4IiBidXQgZ290ICIxcHgiCitGQUlMIGV4IHVu
aXRzIHJlc3BvbmQgdG8gZm9udC1zaXplIGFuaW1hdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiNi43MDMxMjVweCIgYnV0IGdvdCAiMC40Mzc1cHgiCitGQUlMIHZhcigpIHJlZmVyZW5jZXMg
cmVzcG9uZCB0byBjdXN0b20gcHJvcGVydHkgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICIyMHB4IiBidXQgZ290ICIwcHgiCisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397488</attachid>
            <date>2020-04-24 12:50:37 -0700</date>
            <delta_ts>2020-04-25 08:19:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210964-20200424215035.patch</filename>
            <type>text/plain</type>
            <size>120817</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggNTgyZGY5NzZmYjI2ZTk5MzQ3Mjg2ODcyNjQxNWJkYjZhOTc1ZTE4MS4uZDZiNzgxY2RlZmRi
NTdhMTRmODE3YmMwMWIwY2QzOWFlOGY0NjhmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTI0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0Bh
cHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHRoZSBjc3MvY3NzLWFuaW1hdGlvbnMgV1BUIHRl
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA5
NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBv
c2UgdGhlIENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXMgZXhwZXJpbWVudGFsIGZlYXR1cmUg
c3VjaCB0aGF0IGl0IG1heSBiZSBzZXQgaW4gRHVtcFJlbmRlclRyZWUuCisKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIENTU0N1c3RvbVByb3Bl
cnRpZXNBbmRWYWx1ZXNFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldENT
U0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgor
CiAyMDIwLTA0LTIzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgSmVzdXMgQ2FsbGluZyBhcHAgbmVlZHMgbW9yZSBXZWJTUUwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0NoYW5nZUxvZwppbmRleCA4YWZiMzE1YWRkZjM4NGExYTQ0OGYzODg2ZDk1MjY1Njdj
YjU0NmQ0Li42MDA1OGUyZjZlY2U0NGQxYzU1YzkyZmJhNTQzMTNhMGZiNDAxY2FjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDQtMjQgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgdGhlIGNzcy9j
c3MtYW5pbWF0aW9ucyBXUFQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDk2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEV4cG9zZSB0aGUgQ1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlcyBl
eHBlcmltZW50YWwgZmVhdHVyZSBzdWNoIHRoYXQgaXQgbWF5IGJlIHNldCBpbiBEdW1wUmVuZGVy
VHJlZS4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6
CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJl
ZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0
U2V0dGluZ3MpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViVmll
dy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAy
MDIwLTA0LTIwICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAogICAg
ICAgICBDbGFzc2VzIG1hcmtlZCBmaW5hbCBzaG91bGQgbm90IHVzZSBwcm90ZWN0ZWQgYWNjZXNz
IHNwZWNpZmllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNzdiMzk4OTUwMjAyNWU2MWQ3Mjc2
OTBjNWU5ZWM4MWIyZGRhZTNiYi4uNzY3YWE0Mjk1NGFmZGE5ZWVjMTNmMDg1OTM2OTdiNTQ0NDRi
YmJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC01NSw2ICs1NSw3IEBACiAjZGVmaW5lIFdl
YktpdFdlYkFuaW1hdGlvbnNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkFuaW1hdGlv
bnNFbmFibGVkIgogI2RlZmluZSBXZWJLaXRXZWJBbmltYXRpb25zQ29tcG9zaXRlT3BlcmF0aW9u
c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJh
dGlvbnNFbmFibGVkIgogI2RlZmluZSBXZWJLaXRXZWJBbmltYXRpb25zTXV0YWJsZVRpbWVsaW5l
c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViQW5pbWF0aW9uc011dGFibGVUaW1lbGlu
ZXNFbmFibGVkIgorI2RlZmluZSBXZWJLaXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5h
YmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0U3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRTeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkIgogI2RlZmlu
ZSBXZWJLaXRXZWJTZWN1cml0eUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViU2VjdXJp
dHlFbmFibGVkIgogI2RlZmluZSBXZWJLaXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJM
c1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
CmluZGV4IDExNGQzZTYzYTdhOWIwZTBhYzM0NTA5MGE0N2JjNWVmYmE0NTIxMGYuLmQ5YTA1Y2U3
ODk4YWI5ZTNjMzM0NjY4ZGRmMTE3OWFmMTc0Mzg2YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzIzOSw2ICszMjM5LDE2
IEBAIC0gKHZvaWQpc2V0V2ViQW5pbWF0aW9uc011dGFibGVUaW1lbGluZXNFbmFibGVkOihCT09M
KWZsYWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFdlYkFuaW1h
dGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09M
KUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxm
IF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJs
ZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAodm9pZClzZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5k
VmFsdWVzRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFn
IGZvcktleTpXZWJLaXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZFByZWZlcmVu
Y2VLZXldOworfQorCiAtIChCT09MKXN5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQKIHsK
ICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZHNFbmFibGVkUHJlZmVyZW5jZUtleV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBhODQ1NDlk
NGFiZDFjNWQyNmRkZjliYmYzYjRkZTc5ZGQ0MDdjMThkLi5jMDU2OGMxZWZkMGE1NzMzMTFlYzZm
YjAzMDI4NjU4MzY4NGYwMWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTU4Niw2ICs1ODYsOSBAQCBl
eHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5v
dGlmaWNhdGlvbiBXRUJLSVRfREVQUgogLSAodm9pZClzZXRXZWJBbmltYXRpb25zTXV0YWJsZVRp
bWVsaW5lc0VuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpd2ViQW5pbWF0aW9uc011dGFibGVU
aW1lbGluZXNFbmFibGVkOwogCistICh2b2lkKXNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1
ZXNFbmFibGVkOihCT09MKWZsYWc7CistIChCT09MKUNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1
ZXNFbmFibGVkOworCiAtICh2b2lkKXNldFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kc0VuYWJsZWQ6
KEJPT0wpZmxhZzsKIC0gKEJPT0wpc3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGRiOTkwZWY2
YWNhYzQzOThiMjQ0ZGJmMjJkYzAzNjM0ZWRhMTU5OGQuLjhhMjE4OWE4ZGU4MmUzZWQ5Njc3MTMz
YWQ5NzA5ZWEwZjZmYTU5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KQEAgLTMxOTUsNiArMzE5NSw4IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdl
ZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNF
bmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBbmltYXRpb25zQ29tcG9zaXRlT3BlcmF0aW9uc0VuYWJs
ZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdl
YkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxlZChbcHJlZmVyZW5jZXMgd2ViQW5pbWF0
aW9uc011dGFibGVUaW1lbGluZXNFbmFibGVkXSk7CiAKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFi
bGVkKFtwcmVmZXJlbmNlcyBDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZF0pOwor
CiAjaWYgRU5BQkxFKElOVEVSU0VDVElPTl9PQlNFUlZFUikKICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZChw
cmVmZXJlbmNlcy5pbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbAppbmRleCBkZmZkOTRkZDg2YzJmZmQ3MDY3MDhhYzc3MDc3NmNlYjAz
MGVkYjQ5Li4wYzdlOTJiYzExZWFlMGJhYmUxZDA0NjUwNmQwMmYzNzY2ODRkMTgzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5pZGwKQEAgLTI1NCw2ICsyNTQsOCBAQCBpbnRlcmZhY2UgSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZTcgOiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNgogICAgIEhSRVNVTFQg
c2V0V2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVkKFtpbl0gQk9PTCBlbmFi
bGVkKTsKICAgICBIUkVTVUxUIHdlYkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxlZChb
b3V0LCByZXR2YWxdIEJPT0wqKTsKICAgICBIUkVTVUxUIHNldFdlYkFuaW1hdGlvbnNNdXRhYmxl
VGltZWxpbmVzRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBDU1NDdXN0
b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBI
UkVTVUxUIHNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKFtpbl0gQk9PTCBl
bmFibGVkKTsKICAgICBIUkVTVUxUIGFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lkdGhBbmRIZWlnaHRF
bmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOwogICAgIEhSRVNVTFQgc2V0QXNwZWN0UmF0aW9P
ZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOwogICAgIEhS
RVNVTFQgc2V0V2ViU1FMRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IGFkNDRm
ODMxMjY1NzMxODUzMmFkMzk0N2U2MjczZmRkNzJiYjJlMmQuLjgwNDUzMWE0NmJmYjU3MjNmNmVk
MWNhYzMyZjk1OGYxMzNmZWMyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xOTUsNiArMTk1LDggQEAKIAogI2RlZmlu
ZSBXZWJLaXRXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSAi
V2ViS2l0V2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCIKIAorI2RlZmluZSBXZWJL
aXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktp
dENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkIgorCiAjZGVmaW5lIFdlYktpdFVz
ZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlclRpbWluZ0VuYWJsZWQiCiAK
ICNkZWZpbmUgV2ViS2l0UmVzb3VyY2VUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0
UmVzb3VyY2VUaW1pbmdFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZXMuY3BwCmluZGV4IGRkMjllOTIzNmNhODc4MGY4NzViNjE2MGI5MWU0ODY3Y2NiY2NkYjgu
LmE2NzFiMDlmZWVjNGZiOGY5ZTljOWM3N2UwZDcyZTNlNTJmZmY2ZjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTMyMiw2ICszMjIsOCBAQCB2b2lk
IFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkKIAogICAgIENGRGlj
dGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRXZWJBbmltYXRpb25zQ1NTSW50
ZWdyYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBD
RkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0Q1NTQ3VzdG9tUHJvcGVy
dGllc0FuZFZhbHVlc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwog
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRVc2VyVGltaW5n
RW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCiAgICAgQ0ZEaWN0aW9u
YXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFJlc291cmNlVGltaW5nRW5hYmxlZFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwpAQCAtMjM4Niw2ICsyMzg4LDIwIEBAIEhS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OndlYkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxl
ZChfT3V0XyBCT09MKiBlbmFibGVkCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQgV2Vi
UHJlZmVyZW5jZXM6OnNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKEJPT0wg
ZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0Q1NTQ3VzdG9tUHJvcGVydGllc0Fu
ZFZhbHVlc0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsK
K30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVl
c0VuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJsZWQpCisgICAg
ICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoV2Vi
S2l0Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAg
ICByZXR1cm4gU19PSzsKK30KKyAgICAKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFVzZXJU
aW1pbmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKIHsKICAgICBzZXRCb29sVmFsdWUoV2ViS2l0VXNl
clRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGZhNTc5NGJiZmIzYjExNGU3NTVmOTQ5NDc1MjEy
ODk5Y2MwOTkxMmEuLmY3ZmU3Njg0MmI0ZGQyMzI5ODFlZmZmNzIxYzFmYTRiMTA5NzllOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaApAQCAtMjk1LDYgKzI5NSw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0V2Vi
QW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB3ZWJBbmltYXRpb25zTXV0YWJsZVRpbWVsaW5lc0Vu
YWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBzZXRXZWJBbmltYXRpb25zTXV0YWJsZVRpbWVsaW5lc0VuYWJsZWQoQk9PTCk7CisgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1
ZXNFbmFibGVkKF9PdXRfIEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgc2V0Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoQk9PTCk7CiAgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGFzcGVjdFJhdGlvT2ZJbWdGcm9tV2lk
dGhBbmRIZWlnaHRFbmFibGVkKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgc2V0QXNwZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJs
ZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHdlYlNRTEVu
YWJsZWQoX091dF8gQk9PTCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCA3
MjE2OTQ3MzRkNDBkZDYzNjA5MzUxYzM5Y2U4M2RiMjIzYTVhYzI1Li40YTU5ZGJlZTc5NzkwNzE0
NGQyNDJkM2Y4ZWYyMTdiMzA2OTdiZTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cApAQCAtNTI3OSw2ICs1Mjc5LDExIEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5j
ZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJu
IGhyOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2Vi
QW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCghIWVuYWJsZWQpOwogCisgICAgaHIgPSBw
cmVmc1ByaXZhdGUtPkNTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkKCZlbmFibGVk
KTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q1NTQ3VzdG9tUHJvcGVydGllc0Fu
ZFZhbHVlc0VuYWJsZWQoISFlbmFibGVkKTsKKwogICAgIGhyID0gcHJlZnNQcml2YXRlLT51c2Vy
VGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJl
dHVybiBocjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCAwNzdhZjg2MjRhNDRlNTJlODA1MjdjNDNmYTc3ODYyNzdlYzJlZmVjLi40YmVjMjdlOGVk
OTI5OTQ5MzgzMmNmNGFlMWU2YzVhNDAxN2YzMGMxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDQtMjQgIEFu
dG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgdGhlIGNz
cy9jc3MtYW5pbWF0aW9ucyBXUFQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMDk2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFR1cm4gb24gdGhlIENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1
ZXMgZXhwZXJpbWVudGFsIGZlYXR1cmUgd2hpY2ggYSBuZXcgdGVzdCByZWxpZXMgb24uCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChl
bmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2lu
L0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVz
KToKKwogMjAyMC0wNC0yMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIHN0cmVzcy9lbnN1cmUtY3Jhc2guanMgc2hvdWxkbid0IHNwZXcgc3R1ZmYgb250byBt
eSBzY3JlZW4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRl
eCA5MzE0YWIxNTZmNzRkMDZiM2JkZjZlNTU1ZWIzY2RlM2RlNDgwMTc3Li5jMDQyNTFlNjYzODQ1
NDMzZDg1OTM3MGIxY2M2NTg4ODhkM2UyN2EzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCkBAIC04NjYsNiArODY2LDcgQEAgc3RhdGljIHZvaWQgZW5hYmxl
RXhwZXJpbWVudGFsRmVhdHVyZXMoV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgIFtw
cmVmZXJlbmNlcyBzZXRXZWJBbmltYXRpb25zRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNl
cyBzZXRXZWJBbmltYXRpb25zQ29tcG9zaXRlT3BlcmF0aW9uc0VuYWJsZWQ6WUVTXTsKICAgICBb
cHJlZmVyZW5jZXMgc2V0V2ViQW5pbWF0aW9uc011dGFibGVUaW1lbGluZXNFbmFibGVkOllFU107
CisgICAgW3ByZWZlcmVuY2VzIHNldENTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVk
OllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFdlYkdMMkVuYWJsZWQ6WUVTXTsKICAgICAvLyBG
SVhNRTogQXN5bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQKICAgICBbcHJlZmVyZW5jZXMgc2V0Q2Fj
aGVBUElFbmFibGVkOk5PXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9E
dW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwCmluZGV4IDhjYzczYzFhNWQyOTI5ZTg1ZTllZjhiYjg0N2I0MjJjM2ExZWIzZjIuLjBi
MzdhZDQ1ZmUxOGIyYTk0NjVhYzM1NzIzYmNkY2U2OTU2ZjYzNjIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtNzk5LDYgKzc5OSw3IEBAIHN0YXRp
YyB2b2lkIGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVy
ZW5jZXMpCiAgICAgcHJlZnNQcml2YXRlLT5zZXRXZWJBbmltYXRpb25zRW5hYmxlZChUUlVFKTsK
ICAgICBwcmVmc1ByaXZhdGUtPnNldFdlYkFuaW1hdGlvbnNDb21wb3NpdGVPcGVyYXRpb25zRW5h
YmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldFdlYkFuaW1hdGlvbnNNdXRhYmxlVGlt
ZWxpbmVzRW5hYmxlZChUUlVFKTsKKyAgICBwcmVmc1ByaXZhdGUtPnNldENTU0N1c3RvbVByb3Bl
cnRpZXNBbmRWYWx1ZXNFbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0U2VydmVy
VGltaW5nRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldEFzcGVjdFJhdGlvT2ZJ
bWdGcm9tV2lkdGhBbmRIZWlnaHRFbmFibGVkKFRSVUUpOwogICAgIC8vIEZJWE1FOiBXZWJHTDIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlYzNkODk1ZWRkMzZjYjE5Y2JmODdhMzJlMjk1MDFhNmZjMjcyYWQzLi4yNDM4MzQ5
YzA5MTJkYjEyMGRmYTM5OWE1MmM1OTVmNTBjNmUyMzg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMjAtMDQtMjQgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAg
ICBVcGRhdGUgdGhlIGNzcy9jc3MtYW5pbWF0aW9ucyBXUFQgdGVzdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDk2NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAxLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisKIDIwMjAtMDQtMjQgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBJbXBvcnQgZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA3NTUzYjZlODJkMzVmZWZiYjZjN2FhOWU4N2Ey
MjJjYmM1ZDlkZGNkLi44ZGQ4Y2NhODQwZWQ2MGIzZWE2NjNkZGUyMWU2ZjY4OWQ1YTcxNTIxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MCBAQAorMjAyMC0wNC0y
NCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSB0
aGUgY3NzL2Nzcy1hbmltYXRpb25zIFdQVCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwOTY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uOgorICAgICAgICAqIHJlc291cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQW5pbWF0aW9uRWZmZWN0LXVw
ZGF0ZVRpbWluZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0FuaW1hdGlvbkVmZmVjdC11cGRhdGVU
aW1pbmcudGVudGF0aXZlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWNvbXBvc2l0ZU9yZGVyLnRlbnRhdGl2
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9DU1NBbmltYXRpb24tY29tcG9zaXRlT3JkZXIudGVudGF0aXZlLmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24t
ZWZmZWN0LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tZWZmZWN0LnRlbnRhdGl2ZS5odG1s
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5p
bWF0aW9uLWZpbmlzaGVkLnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXBhdXNpbmcudGVudGF0aXZlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL0NTU0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXJlYWR5LnRlbnRh
dGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5p
bWF0aW9ucy50ZW50YXRpdmUuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0LWdldEtleWZyYW1lcy50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3Qtc2V0
S2V5ZnJhbWVzLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3Qtc2V0S2V5ZnJh
bWVzLnRlbnRhdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAxLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9u
c2UtMDAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmlt
YXRpb24tYmFzZS1yZXNwb25zZS0wMDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3Bv
bnNlLTAwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwNC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uLWJhc2UtcmVzcG9uc2UtMDA0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWltcG9ydGFudC0wMDEtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAxLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWltcG9ydGFu
dC0wMDItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50LTAwMi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LWRp
c3BhdGNoLnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRl
bnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1h
dGlvbnMvaGlzdG9yaWNhbC5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMva2V5ZnJhbWVzLXJlbW92ZS1kb2N1bWVudEVsZW1lbnQtY3Jhc2gtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvc3VwcG9ydC90ZXN0Y29tbW9uLmpzOgorICAgICAgICAoYXNzZXJ0X2ZyYW1l
c19lcXVhbCk6CisgICAgICAgIChhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwpOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvdzNjLWltcG9ydC5sb2c6CisK
IDIwMjAtMDQtMjQgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBv
cnQgZmV0Y2gvc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZS9mZXRjaC5odG1sCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCBkYTg0MmRiMTJlMjVhNjc2ZDBmNzIzZTY4NDJmN2JkYmJhZDk2ZWFmLi44ZDM0NDg5
Y2FhZDAyYTNjYzcyYjRjYTlkMTY0YWE4OGUwNzQxMWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTQwNzcsNiArNDA3Nyw4IEBAIHdlYmtpdC5vcmcvYi8yMDg5ODggaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ciBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L3NlbGYtYmFzZWxpbmUvZ3JpZC1zZWxmLWJhc2Vs
aW5lLWNoYW5nZXMtZ3JpZC1hcmVhLXNpemUtMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2FsaWdubWVudC9z
ZWxmLWJhc2VsaW5lL2dyaWQtc2VsZi1iYXNlbGluZS1jaGFuZ2VzLWdyaWQtYXJlYS1zaXplLTAx
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKK3dlYmtpdC5vcmcvYi8yMTA5NjMgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWlt
cG9ydGFudC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCiB3ZWJraXQub3JnL2IvMjA5
MDgwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy13cml0aW5nLW1vZGVz
L2NlbnRyYWwtYmFzZWxpbmUtYWxpZ25tZW50LTAwMy54aHQgWyBJbWFnZU9ubHlGYWlsdXJlIFBh
c3MgXQogd2Via2l0Lm9yZy9iLzIwOTA4MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtd3JpdGluZy1tb2Rlcy9jbGVhcmFuY2UtY2FsY3VsYXRpb25zLXZybC0wMDIueGh0
IFsgSW1hZ2VPbmx5RmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8yMDkwODAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXdyaXRpbmctbW9kZXMvYWJzLXBvcy1ub24t
cmVwbGFjZWQtaWNiLXZsci0wMDMueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMu
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uCmluZGV4IGFlMjk0MzgwZWZlMTI3MGI2ZjdiZmI5NzA1OTcxMGViNzVhZGZhMmQu
LjAzYWMyMDNiYzI1ZmY1YWI3Njc2MGRmMmI3NDdiNTVkZTMwZGFiNTEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29u
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uCkBAIC0xLDYgKzEsNyBAQAogewogICAgICJMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhl
LWltZy1lbGVtZW50LyI6ICJpbXBvcnQiLCAKICAgICAiYXBuZyI6ICJpbXBvcnQiLCAKKyAgICAi
Y3NzL2Nzcy1hbmltYXRpb25zIjogImltcG9ydCIsIAogICAgICJjc3MvY3NzLWJveCI6ICJpbXBv
cnQiLCAKICAgICAiY3NzL2Nzcy1jb2xvciI6ICJpbXBvcnQiLCAKICAgICAiY3NzL2Nzcy1tdWx0
aWNvbCI6ICJpbXBvcnQiLCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9y
ZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9y
ZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbgppbmRleCAwZWQxZmIwN2MxMTJkYWNhYjE5OWRj
MzBkZWNmYWY1OWQyNjE4ZTNjLi43OTEwNzhlNDY5NGZiYjZkZjRlZjc2ZGNjOWNlY2UyMmRjOTA2
ZGQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291
cmNlLWZpbGVzLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9y
ZXNvdXJjZS1maWxlcy5qc29uCkBAIC0xMyw2ICsxMyw3IEBACiAgICAgICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy13cml0aW5nLW1vZGVzL3Rlc3QtcGxhbiIKICAgICBdLAogICAgICJm
aWxlcyI6IFsKKyAgICAgICAgImNzcy9jc3MtYW5pbWF0aW9ucy9rZXlmcmFtZXMtcmVtb3ZlLWRv
Y3VtZW50RWxlbWVudC1jcmFzaC5odG1sIiwKICAgICAgICAgImNzcy9jc3MtY29sb3IvdDMyLW9w
YWNpdHktYmFzaWMtMC42LWEueGh0IiwKICAgICAgICAgImNzcy9jc3MtY29sb3IvdDMyLW9wYWNp
dHktem9yZGVyLWMueGh0IiwKICAgICAgICAgImNzcy9jc3MtY29sb3IvdDQyMS1yZ2ItaGV4My1l
eHBhbmQtYi54aHQiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQW5pbWF0aW9uRWZmZWN0LXVwZGF0ZVRp
bWluZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQW5pbWF0aW9uRWZmZWN0LXVwZGF0
ZVRpbWluZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5ZTg5MTQ2Mzc2YzQ5
ZjBmOGFiN2ViZTBkZjRmYjgxOTBlODk3NjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Bbmlt
YXRpb25FZmZlY3QtdXBkYXRlVGltaW5nLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw3IEBACisKK0ZBSUwgQW5pbWF0aW9uRWZmZWN0LnVwZGF0ZVRpbWluZyh7IGR1cmF0aW9uIH0p
IGNhdXNlcyBjaGFuZ2VzIHRvIHRoZSBhbmltYXRpb24tZHVyYXRpb24gdG8gYmUgaWdub3JlZCBh
c3NlcnRfZXF1YWxzOiBEZWxheSBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSBzdHlsZSBleHBl
Y3RlZCA2MDAwIGJ1dCBnb3QgMAorRkFJTCBBbmltYXRpb25FZmZlY3QudXBkYXRlVGltaW5nKHsg
aXRlcmF0aW9ucywgZGlyZWN0aW9uIH0pIGNhdXNlcyBjaGFuZ2VzIHRvIHRoZSBhbmltYXRpb24t
aXRlcmF0aW9uLWNvdW50IGFuZCBhbmltYXRpb24tZGlyZWN0aW9uIHRvIGJlIGlnbm9yZWQgYXNz
ZXJ0X2VxdWFsczogRGVsYXkgc2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgc3R5bGUgZXhwZWN0
ZWQgNjAwMCBidXQgZ290IDAKK0ZBSUwgQW5pbWF0aW9uRWZmZWN0LnVwZGF0ZVRpbWluZyh7IGRl
bGF5LCBmaWxsIH0pIGNhdXNlcyBjaGFuZ2VzIHRvIHRoZSBhbmltYXRpb24tZGVsYXkgYW5kIGFu
aW1hdGlvbi1maWxsLW1vZGUgdG8gYmUgaWdub3JlZCBhc3NlcnRfZXF1YWxzOiBJdGVyYXRpb25z
IHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlIGV4cGVjdGVkIDYgYnV0IGdvdCAxCitG
QUlMIEFuaW1hdGlvbkVmZmVjdC51cGRhdGVUaW1pbmcoKSBkb2VzIG92ZXJyaWRlIHRvIGNoYW5n
ZXMgZnJvbSBhbmltYXRpb24tKiBwcm9wZXJ0aWVzIGlmIHRoZXJlIGlzIGFuIGVycm9yIGFzc2Vy
dF9lcXVhbHM6IER1cmF0aW9uIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlIGV4cGVj
dGVkIDQwMDAgYnV0IGdvdCAxMDAwMDAKK1BBU1MgQW5pbWF0aW9uRWZmZWN0IHByb3BlcnRpZXMg
dGhhdCBkbyBub3QgbWFwIHRvIGFuaW1hdGlvbi0qIHByb3BlcnRpZXMgc2hvdWxkIG5vdCBiZSBj
aGFuZ2VkIHdoZW4gYW5pbWF0aW9uLSogc3R5bGUgaXMgdXBkYXRlZCAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1h
dGlvbnMvQW5pbWF0aW9uRWZmZWN0LXVwZGF0ZVRpbWluZy50ZW50YXRpdmUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0FuaW1hdGlvbkVmZmVjdC11cGRhdGVUaW1pbmcudGVudGF0aXZlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTY1NTZkYWM0YmRlOWZkNDM2MjM3Y2I3OGY1ZTg4YTE5NjhiZTdkMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL0FuaW1hdGlvbkVmZmVjdC11cGRhdGVUaW1pbmcudGVudGF0aXZlLmh0bWwKQEAg
LTAsMCArMSwxNzQgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0
aXRsZT5BbmltYXRpb25FZmZlY3QudXBkYXRlVGltaW5nKCkgZm9yIENTUyBhbmltYXRpb25zPC90
aXRsZT4KKzwhLS0gVE9ETzogQWRkIGEgbW9yZSBzcGVjaWZpYyBsaW5rIGZvciB0aGlzIG9uY2Ug
aXQgaXMgc3BlY2lmaWVkLiAtLT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy1hbmltYXRpb25zLTIvIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzdXBwb3J0L3Rlc3Rjb21t
b24uanMiPjwvc2NyaXB0PgorPHN0eWxlPgorQGtleWZyYW1lcyBhbmltLWVtcHR5IHsgfQorPC9z
dHlsZT4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmlj
dCI7CisKK3Rlc3QodCA9PiB7CisgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKKyAgZGl2LnN0eWxl
LmFuaW1hdGlvbiA9ICdhbmltLWVtcHR5IDEwMHMnOworCisgIGNvbnN0IGFuaW1hdGlvbiA9IGRp
di5nZXRBbmltYXRpb25zKClbMF07CisgIGFuaW1hdGlvbi5lZmZlY3QudXBkYXRlVGltaW5nKHsg
ZHVyYXRpb246IDIgKiBNU19QRVJfU0VDIH0pOworCisgIGRpdi5zdHlsZS5hbmltYXRpb25EdXJh
dGlvbiA9ICc0cyc7CisgIGRpdi5zdHlsZS5hbmltYXRpb25EZWxheSA9ICc2cyc7CisKKyAgYXNz
ZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmR1cmF0aW9uLAor
ICAgIDIgKiBNU19QRVJfU0VDLAorICAgICdEdXJhdGlvbiBzaG91bGQgYmUgdGhlIHZhbHVlIHNl
dCBieSB0aGUgQVBJJworICApOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZl
Y3QuZ2V0VGltaW5nKCkuZGVsYXksCisgICAgNiAqIE1TX1BFUl9TRUMsCisgICAgJ0RlbGF5IHNo
b3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlJworICApOworfSwgJ0FuaW1hdGlvbkVmZmVj
dC51cGRhdGVUaW1pbmcoeyBkdXJhdGlvbiB9KSBjYXVzZXMgY2hhbmdlcyB0byB0aGUnCisgICAr
ICcgYW5pbWF0aW9uLWR1cmF0aW9uIHRvIGJlIGlnbm9yZWQnKTsKKworLy8gVGhlIGFib3ZlIHRl
c3QgY292ZXJzIGR1cmF0aW9uICh3aXRoIGRlbGF5IGFzIGEgY29udHJvbCkuIFRoZSByZW1haW5p
bmcKKy8vIHByb3BlcnRpZXMgYXJlOgorLy8KKy8vICAgaXRlcmF0aW9ucyAtIGFuaW1hdGlvbi1p
dGVyYXRpb24tY291bnQKKy8vICAgZGlyZWN0aW9uIC0gYW5pbWF0aW9uLWRpcmVjdGlvbgorLy8g
ICBkZWxheSAtIGFuaW1hdGlvbi1kZWxheQorLy8gICBmaWxsIC0gYW5pbWF0aW9uLWZpbGwtbW9k
ZQorLy8KKy8vIFdoaWNoIHdlIHRlc3QgaW4gdHdvIGJhdGNoZXMsIG92ZXJyaWRpbmcgdHdvIHBy
b3BlcnRpZXMgZWFjaCB0aW1lIGFuZCB1c2luZworLy8gdGhlIHJlbWFpbmluZyB0d28gcHJvcGVy
dGllcyBhcyBjb250cm9sIHZhbHVlcyB0byBjaGVjayB0aGV5IGFyZSBOT1QKKy8vIG92ZXJyaWRk
ZW4uCisKK3Rlc3QodCA9PiB7CisgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKKyAgZGl2LnN0eWxl
LmFuaW1hdGlvbiA9ICdhbmltLWVtcHR5IDEwMHMnOworCisgIGNvbnN0IGFuaW1hdGlvbiA9IGRp
di5nZXRBbmltYXRpb25zKClbMF07CisgIGFuaW1hdGlvbi5lZmZlY3QudXBkYXRlVGltaW5nKHsg
aXRlcmF0aW9uczogMiwgZGlyZWN0aW9uOiAncmV2ZXJzZScgfSk7CisKKyAgZGl2LnN0eWxlLmFu
aW1hdGlvbkl0ZXJhdGlvbkNvdW50ID0gJzQnOworICBkaXYuc3R5bGUuYW5pbWF0aW9uRGlyZWN0
aW9uID0gJ2FsdGVybmF0ZSc7CisgIGRpdi5zdHlsZS5hbmltYXRpb25EZWxheSA9ICc2cyc7Cisg
IGRpdi5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9ICdib3RoJzsKKworICBhc3NlcnRfZXF1YWxz
KAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuaXRlcmF0aW9ucywKKyAgICAyLAor
ICAgICdJdGVyYXRpb25zIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBBUEknCisgICk7
CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5kaXJl
Y3Rpb24sCisgICAgJ3JldmVyc2UnLAorICAgICdEaXJlY3Rpb24gc2hvdWxkIGJlIHRoZSB2YWx1
ZSBzZXQgYnkgdGhlIEFQSScKKyAgKTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24u
ZWZmZWN0LmdldFRpbWluZygpLmRlbGF5LAorICAgIDYgKiBNU19QRVJfU0VDLAorICAgICdEZWxh
eSBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSBzdHlsZScKKyAgKTsKKyAgYXNzZXJ0X2VxdWFs
cygKKyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmZpbGwsCisgICAgJ2JvdGgnLAor
ICAgICdGaWxsIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlJworICApOworfSwgJ0Fu
aW1hdGlvbkVmZmVjdC51cGRhdGVUaW1pbmcoeyBpdGVyYXRpb25zLCBkaXJlY3Rpb24gfSkgY2F1
c2VzIGNoYW5nZXMgdG8nCisgICArICcgdGhlIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQgYW5k
IGFuaW1hdGlvbi1kaXJlY3Rpb24gdG8gYmUgaWdub3JlZCcpOworCit0ZXN0KHQgPT4geworICBj
b25zdCBkaXYgPSBhZGREaXYodCk7CisgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1lbXB0
eSAxMDBzJzsKKworICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0QW5pbWF0aW9ucygpWzBdOwor
ICBhbmltYXRpb24uZWZmZWN0LnVwZGF0ZVRpbWluZyh7IGRlbGF5OiAyICogTVNfUEVSX1NFQywg
ZmlsbDogJ2JvdGgnIH0pOworCisgIGRpdi5zdHlsZS5hbmltYXRpb25EZWxheSA9ICc0cyc7Cisg
IGRpdi5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9ICdmb3J3YXJkcyc7CisgIGRpdi5zdHlsZS5h
bmltYXRpb25JdGVyYXRpb25Db3VudCA9ICc2JzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkRpcmVj
dGlvbiA9ICdyZXZlcnNlJzsKKworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZl
Y3QuZ2V0VGltaW5nKCkuZGVsYXksCisgICAgMiAqIE1TX1BFUl9TRUMsCisgICAgJ0RlbGF5IHNo
b3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBBUEknCisgICk7CisgIGFzc2VydF9lcXVhbHMo
CisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5maWxsLAorICAgICdib3RoJywKKyAg
ICAnRmlsbCBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSB0aGUgQVBJJworICApOworICBhc3Nl
cnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuaXRlcmF0aW9ucywK
KyAgICA2LAorICAgICdJdGVyYXRpb25zIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxl
JworICApOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5n
KCkuZGlyZWN0aW9uLAorICAgICdyZXZlcnNlJywKKyAgICAnRGlyZWN0aW9uIHNob3VsZCBiZSB0
aGUgdmFsdWUgc2V0IGJ5IHN0eWxlJworICApOworfSwgJ0FuaW1hdGlvbkVmZmVjdC51cGRhdGVU
aW1pbmcoeyBkZWxheSwgZmlsbCB9KSBjYXVzZXMgY2hhbmdlcyB0bycKKyAgICsgJyB0aGUgYW5p
bWF0aW9uLWRlbGF5IGFuZCBhbmltYXRpb24tZmlsbC1tb2RlIHRvIGJlIGlnbm9yZWQnKTsKKwor
dGVzdCh0ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOworICBkaXYuc3R5bGUuYW5pbWF0
aW9uID0gJ2FuaW0tZW1wdHkgMTAwcyc7CisKKyAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFu
aW1hdGlvbnMoKVswXTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKKyAg
ICBhbmltYXRpb24uZWZmZWN0LnVwZGF0ZVRpbWluZyh7IGR1cmF0aW9uOiAyICogTVNfUEVSX1NF
QywgaXRlcmF0aW9uczogLTEgfSk7CisgIH0sICdOZWdhdGl2ZSBpdGVyYXRpb24gY291bnQgc2hv
dWxkIGNhdXNlIGFuIGVycm9yIHRvIGJlIHRocm93bicpOworCisgIGRpdi5zdHlsZS5hbmltYXRp
b25EdXJhdGlvbiA9ICc0cyc7CisKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24uZWZm
ZWN0LmdldFRpbWluZygpLmR1cmF0aW9uLAorICAgIDQgKiBNU19QRVJfU0VDLAorICAgICdEdXJh
dGlvbiBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSBzdHlsZScKKyAgKTsKK30sICdBbmltYXRp
b25FZmZlY3QudXBkYXRlVGltaW5nKCkgZG9lcyBvdmVycmlkZSB0byBjaGFuZ2VzIGZyb20gYW5p
bWF0aW9uLSonCisgICArICcgcHJvcGVydGllcyBpZiB0aGVyZSBpcyBhbiBlcnJvcicpOworCit0
ZXN0KHQgPT4geworICBjb25zdCBkaXYgPSBhZGREaXYodCk7CisgIGRpdi5zdHlsZS5hbmltYXRp
b24gPSAnYW5pbS1lbXB0eSAxMDBzJzsKKworICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0QW5p
bWF0aW9ucygpWzBdOworICBhbmltYXRpb24uZWZmZWN0LnVwZGF0ZVRpbWluZyh7CisgICAgZWFz
aW5nOiAnc3RlcHMoNCknLAorICAgIGVuZERlbGF5OiAyICogTVNfUEVSX1NFQywKKyAgICBpdGVy
YXRpb25TdGFydDogNCwKKyAgfSk7CisKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkR1cmF0aW9uID0g
JzZzJzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uID0gJ2Vhc2UtaW4nOwor
CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1pbmcoKS5lYXNp
bmcsCisgICAgJ3N0ZXBzKDQpJywKKyAgICAnZW5kRGVsYXkgc2hvdWxkIGJlIHRoZSB2YWx1ZSBz
ZXQgYnkgdGhlIEFQSScKKyAgKTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24uZWZm
ZWN0LmdldFRpbWluZygpLmVuZERlbGF5LAorICAgIDIgKiBNU19QRVJfU0VDLAorICAgICdlbmRE
ZWxheSBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSB0aGUgQVBJJworICApOworICBhc3NlcnRf
ZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuaXRlcmF0aW9uU3RhcnQs
CisgICAgNCwKKyAgICAnaXRlcmF0aW9uU3RhcnQgc2hvdWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkg
c3R5bGUnCisgICk7Cit9LCAnQW5pbWF0aW9uRWZmZWN0IHByb3BlcnRpZXMgdGhhdCBkbyBub3Qg
bWFwIHRvIGFuaW1hdGlvbi0qIHByb3BlcnRpZXMnCisgICArICcgc2hvdWxkIG5vdCBiZSBjaGFu
Z2VkIHdoZW4gYW5pbWF0aW9uLSogc3R5bGUgaXMgdXBkYXRlZCcpOworCis8L3NjcmlwdD4KKzwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1jb21wb3NpdGVPcmRlci50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWNvbXBvc2l0ZU9yZGVyLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggMWIwNzU5YjhjMWNmZTYzNGY0ZjBjMTFjMzExZjEw
ZDUxY2Y5NzllMy4uOGYwZDMwZjVjNjAxNzU3YWNmNjdhNDZhNTY4ZGQwNjZiZDFmZDhmYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWNvbXBvc2l0ZU9yZGVyLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWNvbXBvc2l0ZU9yZGVyLnRlbnRhdGl2
ZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgQW5pbWF0aW9ucyBhcmUgY29t
cG9zaXRlZCBieSB0aGVpciBvcmRlciBpbiB0aGUgYW5pbWF0aW9uLW5hbWUgcHJvcGVydHkuIAor
UEFTUyBXZWItYW5pbWF0aW9uIHJlcGxhY2VzIENTUyBhbmltYXRpb24gCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL0NTU0FuaW1hdGlvbi1jb21wb3NpdGVPcmRlci50ZW50YXRpdmUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0NTU0FuaW1hdGlvbi1jb21wb3NpdGVPcmRlci50ZW50YXRpdmUuaHRtbAppbmRleCAyMjVlZmQy
M2FkZGQ2NjRkNmZiODQyMjY0YmJmMDRkYTQ5OTAzNzhkLi5kNTVkYjlhMmQxMTdmNTRjZWJkNDQ3
ZDliZjVlZjlmNDRhYjczMDlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tY29tcG9z
aXRlT3JkZXIudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWNvbXBvc2l0
ZU9yZGVyLnRlbnRhdGl2ZS5odG1sCkBAIC0zNiw0ICszNiwxOCBAQCBwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7CiAgIC8vIGluIHRoZSBhbmltYXRpb24gbGlzdC4KICAgYXNzZXJ0X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKGRpdikubWFyZ2luTGVmdCwgJzEwMHB4Jyk7CiB9LCAiQW5pbWF0aW9u
cyBhcmUgY29tcG9zaXRlZCBieSB0aGVpciBvcmRlciBpbiB0aGUgYW5pbWF0aW9uLW5hbWUgcHJv
cGVydHkuIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRk
RGl2KHQpOworICBjb25zdCBhbmltQSA9IGRpdi5hbmltYXRlKHttYXJnaW46IFsiMTAwcHgiLCIx
MDBweCJdfSwgMTAwMDAwKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGRpdiku
bWFyZ2luTGVmdCwgJzEwMHB4Jyk7CisgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnbWFyZ2luNTAg
MTAwcyc7CisgIC8vIFdhaXQgZm9yIGFuaW1hdGlvbiBzdGFydHMKKyAgYXdhaXQgYW5pbUEucmVh
ZHk7CisgIGF3YWl0IHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMSk7CisgIGFzc2VydF9lcXVhbHMo
Z2V0Q29tcHV0ZWRTdHlsZShkaXYpLm1hcmdpbkxlZnQsICcxMDBweCcsCisgICAgICAgICAgICAg
ICAgIkEgaGlnaGVyLXByaW9yaXR5IGFuaW1hdGlvbiBpcyBub3Qgb3ZlcnJpZGVuIGJ5IGEgbW9y
ZSByZWNlbnQiCisgICAgICAgICAgICAgICAgKyAib25lLiIpOworfSwgJ1dlYi1hbmltYXRpb24g
cmVwbGFjZXMgQ1NTIGFuaW1hdGlvbicpOworCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0NTU0FuaW1hdGlvbi1lZmZlY3QudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0Fu
aW1hdGlvbi1lZmZlY3QudGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCBlNGUxYzVlMGNiNzUy
ZjJhZWM0MGQ2ZDhhZWZkYTUzMzBmNjIxMzAxLi5mNzVkNWI2ZmMzMjJlZjBlMTA2NTUwZTQxNTc4
NjcwNjYxZGM4M2NjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tZWZmZWN0LnRlbnRh
dGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWVmZmVjdC50ZW50YXRp
dmUtZXhwZWN0ZWQudHh0CkBAIC01LDQgKzUsNSBAQCBQQVNTIFJlcGxhY2luZyBhbiBhbmltYXRp
b24ncyBlZmZlY3Qgd2l0aCBhIHNob3J0ZXIgb25lIHRoYXQgc2hvdWxkIGhhdmUgYWxyZWFkeQog
UEFTUyBBIHBsYXktcGVuZGluZyBhbmltYXRpb24ncyBlZmZlY3Qgd2hvc2UgZWZmZWN0IGlzIHJl
cGxhY2VkIHN0aWxsIGV4aXRzIHRoZSBwZW5kaW5nIHN0YXRlIAogUEFTUyBDU1MgYW5pbWF0aW9u
IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCBhdCB0aGUgb3JpZ2luYWwgZWxlbWVudCBldmVuIGFmdGVy
IHNldHRpbmcgYW4gZWZmZWN0IHdpdGggYSBkaWZmZXJlbnQgdGFyZ2V0IGVsZW1lbnQgCiBQQVNT
IEFmdGVyIHJlcGxhY2luZyBhIGZpbmlzaGVkIGFuaW1hdGlvbidzIGVmZmVjdCB3aXRoIGEgbG9u
Z2VyIG9uZSBpdCBmaXJlcyBhbiBhbmltYXRpb25zdGFydCBldmVudCAKK0ZBSUwgUmVwbGFjaW5n
IHRoZSBlZmZlY3Qgb2YgYSBDU1NBbmltYXRpb24gY2F1c2VzIHN1YnNlcXVlbnQgY2hhbmdlcyB0
byBjb3JyZXNwb25kaW5nIGFuaW1hdGlvbi0qIHByb3BlcnRpZXMgdG8gYmUgaWdub3JlZCB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnYW5pbWF0aW9uLmVmZmVjdC5nZXRL
ZXlmcmFtZXMoKVswXS5sZWZ0JykKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWVm
ZmVjdC50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1lZmZlY3QudGVudGF0aXZl
Lmh0bWwKaW5kZXggYmJmMzVkNTExM2E5YzNkMWU0ZGJhNzMxOGY2NDk0OTRjODhmZWI0Yy4uZmFk
Y2FhMTI5YWIyYzRkYTYxMmFkZDk5NTFiZjk5YjQ0N2ZlOTQ4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
Q1NTQW5pbWF0aW9uLWVmZmVjdC50ZW50YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRp
b24tZWZmZWN0LnRlbnRhdGl2ZS5odG1sCkBAIC0yNiw3ICsyNiw4IEBAIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltIDEwMHMnOwogCiAgIGNv
bnN0IHdhdGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKHQsIGRpdiwgWyAnYW5pbWF0aW9uZW5kJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmltYXRpb25j
YW5jZWwnIF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J2FuaW1hdGlvbmNhbmNlbCcgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmFzdEV2ZW50c1RpbWVvdXQpOwogICBjb25zdCBhbmltYXRpb24gPSBkaXYuZ2V0QW5pbWF0aW9u
cygpWzBdOwogICBhd2FpdCBhbmltYXRpb24ucmVhZHk7CiAKQEAgLTkwLDcgKzkxLDggQEAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBjb25zdCBkaXYxID0gYWRkRGl2KHQpOwogICBjb25z
dCBkaXYyID0gYWRkRGl2KHQpOwogCi0gIGNvbnN0IHdhdGNoZXIxID0gbmV3IEV2ZW50V2F0Y2hl
cih0LCBkaXYxLCAnYW5pbWF0aW9uc3RhcnQnKTsKKyAgY29uc3Qgd2F0Y2hlcjEgPSBuZXcgRXZl
bnRXYXRjaGVyKHQsIGRpdjEsICdhbmltYXRpb25zdGFydCcsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmYXN0RXZlbnRzVGltZW91dCk7CiAgIC8vIFdhdGNoIHxkaXYyfCBh
cyB3ZWxsIHRvIGVuc3VyZSBpdCBkb2VzICpub3QqIGdldCBldmVudHMuCiAgIGNvbnN0IHdhdGNo
ZXIyID0gbmV3IEV2ZW50V2F0Y2hlcih0LCBkaXYyLCAnYW5pbWF0aW9uc3RhcnQnKTsKIApAQCAt
MTE0LDcgKzExNiw4IEBAIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgY29uc3QgZGl2ID0g
YWRkRGl2KHQpOwogICBjb25zdCB3YXRjaGVyID0gbmV3IEV2ZW50V2F0Y2hlcih0LCBkaXYsIFsg
J2FuaW1hdGlvbnN0YXJ0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdhbmltYXRpb25lbmQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ2FuaW1hdGlvbmNhbmNlbCcgXSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnYW5pbWF0aW9uY2FuY2VsJyBdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmYXN0RXZlbnRzVGltZW91dCk7CiAgIGRpdi5zdHlsZS5h
bmltYXRpb24gPSAnYW5pbSAxMDBzJzsKICAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFuaW1h
dGlvbnMoKVswXTsKICAgYW5pbWF0aW9uLmZpbmlzaCgpOwpAQCAtMTI4LDQgKzEzMSw4MSBAQCBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiB9LCAnQWZ0ZXIgcmVwbGFjaW5nIGEgZmluaXNoZWQg
YW5pbWF0aW9uXCdzIGVmZmVjdCB3aXRoIGEgbG9uZ2VyIG9uZSAnICsKICAgICdpdCBmaXJlcyBh
biBhbmltYXRpb25zdGFydCBldmVudCcpOwogCit0ZXN0KHQgPT4geworICBjb25zdCBkaXYgPSBh
ZGREaXYodCk7CisKKyAgLy8gQ3JlYXRlIGN1c3RvbSBrZXlmcmFtZXMgc28gd2UgY2FuIHR3ZWFr
IHRoZW0KKyAgY29uc3Qgc3R5bGVzaGVldCA9IGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdOworICBj
b25zdCBrZXlmcmFtZXMgPSAnQGtleWZyYW1lcyBhbmltLWN1c3RvbSB7IHRvIHsgbGVmdDogMTAw
cHggfSB9JzsKKyAgY29uc3QgcnVsZUluZGV4ID0gc3R5bGVzaGVldC5pbnNlcnRSdWxlKGtleWZy
YW1lcywgMCk7CisgIGNvbnN0IGtleWZyYW1lc1J1bGUgPSBzdHlsZXNoZWV0LmNzc1J1bGVzW3J1
bGVJbmRleF07CisKKyAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICBzdHlsZXNoZWV0
LmRlbGV0ZVJ1bGUocnVsZUluZGV4KTsKKyAgfSk7CisKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9
ICdhbmltLWN1c3RvbSAxMDBzJzsKKworICAvLyBSZXBsYWNlIHRoZSBlZmZlY3QKKyAgY29uc3Qg
YW5pbWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKKyAgYW5pbWF0aW9uLmVmZmVjdCA9
IG5ldyBLZXlmcmFtZUVmZmVjdCgKKyAgICBkaXYsCisgICAgeyBsZWZ0OiAnMjAwcHgnIH0sCisg
ICAgMjAwICogTVNfUEVSX1NFQworICApOworCisgIC8vIFVwZGF0ZSB0aGUgdGltaW5nIHByb3Bl
cnRpZXMKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbkR1cmF0aW9uID0gJzRzJzsKKyAgZGl2LnN0eWxl
LmFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50ID0gJzYnOworICBkaXYuc3R5bGUuYW5pbWF0aW9uRGly
ZWN0aW9uID0gJ3JldmVyc2UnOworICBkaXYuc3R5bGUuYW5pbWF0aW9uRGVsYXkgPSAnOHMnOwor
ICBkaXYuc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGUgPSAnYm90aCc7CisgIGRpdi5zdHlsZS5hbmlt
YXRpb25QbGF5U3RhdGUgPSAncGF1c2VkJzsKKworICAvLyBVcGRhdGUgdGhlIGtleWZyYW1lcwor
ICBrZXlmcmFtZXNSdWxlLmRlbGV0ZVJ1bGUoMCk7CisgIGtleWZyYW1lc1J1bGUuYXBwZW5kUnVs
ZSgndG8geyBsZWZ0OiAzMDBweCB9Jyk7CisKKyAgLy8gQ2hlY2sgbm90aGluZyAoZXhjZXB0IHRo
ZSBwbGF5IHN0YXRlKSBjaGFuZ2VkCisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVm
ZmVjdC5nZXRUaW1pbmcoKS5kdXJhdGlvbiwKKyAgICAyMDAgKiBNU19QRVJfU0VDLAorICAgICdk
dXJhdGlvbiBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSB0aGUgQVBJJworICApOworICBhc3Nl
cnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuaXRlcmF0aW9ucywK
KyAgICAxLAorICAgICdpdGVyYXRpb25zIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBB
UEknCisgICk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRUaW1p
bmcoKS5kaXJlY3Rpb24sCisgICAgJ25vcm1hbCcsCisgICAgJ2RpcmVjdGlvbiBzaG91bGQgYmUg
dGhlIHZhbHVlIHNldCBieSB0aGUgQVBJJworICApOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFu
aW1hdGlvbi5lZmZlY3QuZ2V0VGltaW5nKCkuZGVsYXksCisgICAgMCwKKyAgICAnZGVsYXkgc2hv
dWxkIGJlIHRoZSB2YWx1ZSBzZXQgYnkgdGhlIEFQSScKKyAgKTsKKyAgYXNzZXJ0X2VxdWFscygK
KyAgICBhbmltYXRpb24uZWZmZWN0LmdldFRpbWluZygpLmZpbGwsCisgICAgJ2F1dG8nLAorICAg
ICdmaWxsIHNob3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBBUEknCisgICk7CisgIGFzc2Vy
dF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRLZXlmcmFtZXMoKVswXS5sZWZ0LAor
ICAgICcyMDBweCcsCisgICAgJ2tleWZyYW1lcyBzaG91bGQgYmUgdGhlIHZhbHVlIHNldCBieSB0
aGUgQVBJJworICApOworCisgIC8vIFVubGlrZSB0aGUgb3RoZXIgcHJvcGVydGllcyBhbmltYXRp
b24tcGxheS1zdGF0ZSBtYXBzIHRvIHRoZSBBbmltYXRpb24KKyAgLy8gbm90IHRoZSBLZXlmcmFt
ZUVmZmVjdCBzbyBpdCBzaG91bGQgYmUgb3ZlcnJpZGRlbi4KKyAgYXNzZXJ0X2VxdWFscygKKyAg
ICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdwYXVzZWQnLAorICAgICdwbGF5IHN0YXRlIHNo
b3VsZCBiZSB0aGUgdmFsdWUgc2V0IGJ5IHN0eWxlJworICApOworfSwgJ1JlcGxhY2luZyB0aGUg
ZWZmZWN0IG9mIGEgQ1NTQW5pbWF0aW9uIGNhdXNlcyBzdWJzZXF1ZW50IGNoYW5nZXMgdG8nCisg
ICArICcgY29ycmVzcG9uZGluZyBhbmltYXRpb24tKiBwcm9wZXJ0aWVzIHRvIGJlIGlnbm9yZWQn
KTsKKwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tZmluaXNoZWQu
dGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tZmluaXNoZWQudGVudGF0aXZlLmh0
bWwKaW5kZXggNTdkZDBkNTAyMGM5ZDZhNGJjMzBkYmU5NTcwYmQzZWI4Y2JiYTlhZS4uZGEwODdi
OTNlMGVmYTVkMTQ0MGVmYjIyZmEyOTQ2OTljZDkzNGQ0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NT
QW5pbWF0aW9uLWZpbmlzaGVkLnRlbnRhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlv
bi1maW5pc2hlZC50ZW50YXRpdmUuaHRtbApAQCAtMzEsNyArMzEsNyBAQCBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnJzsKICAgZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLmFuaW1hdGlvbjsKIAotICBhd2FpdCBwcm9taXNlX3JlamVjdHModCwgJ0Fib3J0
RXJyb3InLCBvcmlnaW5hbEZpbmlzaGVkUHJvbWlzZSwKKyAgYXdhaXQgcHJvbWlzZV9yZWplY3Rz
X2RvbSh0LCAnQWJvcnRFcnJvcicsIG9yaWdpbmFsRmluaXNoZWRQcm9taXNlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgJ2ZpbmlzaGVkIHByb21pc2UgaXMgcmVqZWN0ZWQgd2l0aCBBYm9ydEVy
cm9yJyk7CiAKICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9uLmZpbmlzaGVkLCBvcmlnaW5h
bEZpbmlzaGVkUHJvbWlzZSwKQEAgLTU1LDcgKzU1LDcgQEAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4gewogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2RlZiAxMDBzJzsKICAgZ2V0Q29tcHV0ZWRT
dHlsZShkaXYpLmFuaW1hdGlvbjsKIAotICBhd2FpdCBwcm9taXNlX3JlamVjdHModCwgJ0Fib3J0
RXJyb3InLCBvcmlnaW5hbEZpbmlzaGVkUHJvbWlzZSwKKyAgYXdhaXQgcHJvbWlzZV9yZWplY3Rz
X2RvbSh0LCAnQWJvcnRFcnJvcicsIG9yaWdpbmFsRmluaXNoZWRQcm9taXNlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgJ2ZpbmlzaGVkIHByb21pc2UgaXMgcmVqZWN0ZWQgd2l0aCBBYm9ydEVy
cm9yJyk7CiAKICAgYXNzZXJ0X25vdF9lcXVhbHMoYW5pbWF0aW9uLmZpbmlzaGVkLCBvcmlnaW5h
bEZpbmlzaGVkUHJvbWlzZSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1wYXVzaW5n
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tcGF1c2luZy50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IDM1MzRlN2JmMDVjNjU2OTEwMGViMTE4MjM2YzAzMmVi
YjYwNDY2MjkuLmMxODhkZTRiMjBhYmUyN2RjMGFiNDc5Y2FhMTRlN2NlZDgwZjkxYzcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1wYXVzaW5nLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXBhdXNpbmcudGVudGF0aXZlLWV4cGVjdGVkLnR4dApA
QCAtMSw4ICsxLDExIEBACiAKLVBBU1MgcGxheSgpIG92ZXJyaWRlcyBhbmltYXRpb24tcGxheS1z
dGF0ZSAKK0ZBSUwgcGxheSgpIG92ZXJyaWRlcyBhbmltYXRpb24tcGxheS1zdGF0ZSBhc3NlcnRf
ZXF1YWxzOiBTaG91bGQgc3RpbGwgYmUgcnVubmluZyBldmVuIGFmdGVyIGZsaXBwaW5nIHRoZSBh
bmltYXRpb24tcGxheS1zdGF0ZSBleHBlY3RlZCAicnVubmluZyIgYnV0IGdvdCAicGF1c2VkIgor
UEFTUyBwbGF5KCkgZG9lcyBOT1Qgb3ZlcnJpZGUgdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGlm
IHRoZXJlIHdhcyBhbiBlcnJvciAKIFBBU1MgcGF1c2UoKSBvdmVycmlkZXMgYW5pbWF0aW9uLXBs
YXktc3RhdGUgCi1QQVNTIHBsYXkoKSBpcyBvdmVycmlkZGVuIGJ5IGxhdGVyIHNldHRpbmcgImFu
aW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQiIAotUEFTUyBwbGF5KCkgZmx1c2hlcyBwZW5kaW5n
IGNoYW5nZXMgdG8gYW5pbWF0aW9uLXBsYXktc3RhdGUgZmlyc3QgCi1QQVNTIHBhdXNlKCkgYXBw
bGllcyBwZW5kaW5nIGNoYW5nZXMgdG8gYW5pbWF0aW9uLXBsYXktc3RhdGUgZmlyc3QgCitGQUlM
IHJldmVyc2UoKSBvdmVycmlkZXMgYW5pbWF0aW9uLXBsYXktc3RhdGUgd2hlbiBpdCBzdGFydHMg
cGxheWluZyB0aGUgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IFNob3VsZCBzdGlsbCBiZSBydW5u
aW5nIGV2ZW4gYWZ0ZXIgZmxpcHBpbmcgdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGV4cGVjdGVk
ICJydW5uaW5nIiBidXQgZ290ICJwYXVzZWQiCitQQVNTIHJldmVyc2UoKSBkb2VzIE5PVCBvdmVy
cmlkZSBhbmltYXRpb24tcGxheS1zdGF0ZSBpZiB0aGUgYW5pbWF0aW9uIGlzIGFscmVhZHkgcnVu
bmluZyAKK0ZBSUwgU2V0dGluZyB0aGUgc3RhcnRUaW1lIHRvIG51bGwgb3ZlcnJpZGVzIGFuaW1h
dGlvbi1wbGF5LXN0YXRlIGlmIHRoZSBhbmltYXRpb24gaXMgYWxyZWFkeSBydW5uaW5nIGFzc2Vy
dF9lcXVhbHM6IFNob3VsZCBzdGlsbCBiZSBwYXVzZWQgZXZlbiBhZnRlciBmbGlwcGluZyB0aGUg
YW5pbWF0aW9uLXBsYXktc3RhdGUgZXhwZWN0ZWQgInBhdXNlZCIgYnV0IGdvdCAicnVubmluZyIK
K0ZBSUwgU2V0dGluZyB0aGUgc3RhcnRUaW1lIHRvIG5vbi1udWxsIG92ZXJyaWRlcyBhbmltYXRp
b24tcGxheS1zdGF0ZSBpZiB0aGUgYW5pbWF0aW9uIGlzIHBhdXNlZCBhc3NlcnRfZXF1YWxzOiBT
aG91bGQgc3RpbGwgYmUgcnVubmluZyBldmVuIGFmdGVyIGZsaXBwaW5nIHRoZSBhbmltYXRpb24t
cGxheS1zdGF0ZSBleHBlY3RlZCAicnVubmluZyIgYnV0IGdvdCAicGF1c2VkIgorUEFTUyBTZXR0
aW5nIHRoZSBzdGFydFRpbWUgdG8gbm9uLW51bGwgZG9lcyBOT1Qgb3ZlcnJpZGUgdGhlIGFuaW1h
dGlvbi1wbGF5LXN0YXRlIGlmIHRoZSBhbmltYXRpb24gaXMgYWxyZWFkeSBydW5uaW5nIAogUEFT
UyBTZXR0aW5nIHRoZSBjdXJyZW50IHRpbWUgY29tcGxldGVzIGEgcGVuZGluZyBwYXVzZSAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXBhdXNpbmcudGVudGF0aXZlLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9DU1NBbmltYXRpb24tcGF1c2luZy50ZW50YXRpdmUuaHRtbAppbmRleCAyYjZlNjg1M2I0
MTc4ZjkwZTgyMGExNmE3NGE1ZDYzNTI0MTIzZDMyLi4xNTZhMWFmYTk2NGRlMTJlNGE5ODNjMDMy
ZjliNTI2YjVjZGY2MjVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tcGF1c2luZy50
ZW50YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NBbmltYXRpb24tcGF1c2luZy50ZW50YXRpdmUu
aHRtbApAQCAtMTYsMTI5ICsxNiwyMTggQEAKIDxzY3JpcHQ+CiAndXNlIHN0cmljdCc7CiAKLWNv
bnN0IGdldE1hcmdpbkxlZnQgPSBjcyA9PiBwYXJzZUZsb2F0KGNzLm1hcmdpbkxlZnQpOwotCiBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLSAgY29u
c3QgY3MgPSBnZXRDb21wdXRlZFN0eWxlKGRpdik7CiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAn
YW5pbSAxMDAwcyBwYXVzZWQnOworCiAgIGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRp
b25zKClbMF07Ci0gIGFzc2VydF9lcXVhbHMoZ2V0TWFyZ2luTGVmdChjcyksIDAsCi0gICAgICAg
ICAgICAgICAgJ0luaXRpYWwgdmFsdWUgb2YgbWFyZ2luLWxlZnQgaXMgemVybycpOwogICBhbmlt
YXRpb24ucGxheSgpOwogCiAgIGF3YWl0IGFuaW1hdGlvbi5yZWFkeTsKICAgYXdhaXQgd2FpdEZv
ck5leHRGcmFtZSgpOwogCi0gIGFzc2VydF9ncmVhdGVyX3RoYW4oZ2V0TWFyZ2luTGVmdChjcyks
IDAsCi0gICAgICAgICAgICAgICAgICAgICAgJ1BsYXlpbmcgdmFsdWUgb2YgbWFyZ2luLWxlZnQg
aXMgZ3JlYXRlciB0aGFuIHplcm8nKTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24u
cGxheVN0YXRlLAorICAgICdydW5uaW5nJywKKyAgICAnUGxheSBzdGF0ZSBpcyBydW5uaW5nIGFm
dGVyIGNhbGxpbmcgcGxheSgpJworICApOworCisgIC8vIEZsaXAgdGhlIGFuaW1hdGlvbi1wbGF5
LXN0YXRlIGJhY2sgYW5kIGZvcnRoIHRvIGNoZWNrIGl0IGhhcyBubyBlZmZlY3QKKworICBkaXYu
c3R5bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3J1bm5pbmcnOworICBnZXRDb21wdXRlZFN0eWxl
KGRpdikuYW5pbWF0aW9uUGxheVN0YXRlOworICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0YXRl
ID0gJ3BhdXNlZCc7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbmltYXRpb25QbGF5U3RhdGU7
CisKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdydW5u
aW5nJywKKyAgICAnU2hvdWxkIHN0aWxsIGJlIHJ1bm5pbmcgZXZlbiBhZnRlciBmbGlwcGluZyB0
aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUnCisgICk7CiB9LCAncGxheSgpIG92ZXJyaWRlcyBhbmlt
YXRpb24tcGxheS1zdGF0ZScpOwogCiBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIGNvbnN0
IGRpdiA9IGFkZERpdih0KTsKLSAgY29uc3QgY3MgPSBnZXRDb21wdXRlZFN0eWxlKGRpdik7Ci0g
IGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbSAxMDAwcyBwYXVzZWQnOworICBkaXYuc3R5bGUu
YW5pbWF0aW9uID0gJ2FuaW0gMTAwcyBpbmZpbml0ZSBwYXVzZWQnOworCiAgIGNvbnN0IGFuaW1h
dGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07Ci0gIGFzc2VydF9lcXVhbHMoZ2V0TWFyZ2lu
TGVmdChjcyksIDAsCi0gICAgICAgICAgICAgICAgJ0luaXRpYWwgdmFsdWUgb2YgbWFyZ2luLWxl
ZnQgaXMgemVybycpOworICBhbmltYXRpb24ucGxheWJhY2tSYXRlID0gLTE7CisgIGFuaW1hdGlv
bi5jdXJyZW50VGltZSA9IC0xOwogCisgIGFzc2VydF90aHJvd3NfZG9tKCdJbnZhbGlkU3RhdGVF
cnJvcicsICgpID0+IHsKKyAgICBhbmltYXRpb24ucGxheSgpOworICB9LCAnVHJ5aW5nIHRvIHBs
YXkgYSByZXZlcnNlZCBpbmZpbml0ZSBhbmltYXRpb24gc2hvdWxkIHRocm93Jyk7CisKKyAgYXNz
ZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdwYXVzZWQnLAorICAg
ICdBbmltYXRpb24gc2hvdWxkIHN0aWxsIGJlIHBhdXNlZCcKKyAgKTsKKworICBhbmltYXRpb24u
cGxheWJhY2tSYXRlID0gMTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvblBsYXlTdGF0ZSA9ICdydW5u
aW5nJzsKKworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5wbGF5U3RhdGUsCisgICAg
J3J1bm5pbmcnLAorICAgICdDaGFuZ2luZyB0aGUgYW5pbWF0aW9uLXBsYXktc3RhdGUgc2hvdWxk
IHBsYXkgdGhlIGFuaW1hdGlvbicKKyAgKTsKK30sICdwbGF5KCkgZG9lcyBOT1Qgb3ZlcnJpZGUg
dGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGlmIHRoZXJlIHdhcyBhbiBlcnJvcicpOworCitwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKKyAgZGl2LnN0
eWxlLmFuaW1hdGlvbiA9ICdhbmltIDEwMDBzIHBhdXNlZCc7CisKKyAgY29uc3QgYW5pbWF0aW9u
ID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKICAgYW5pbWF0aW9uLnBhdXNlKCk7CisKICAgZGl2
LnN0eWxlLmFuaW1hdGlvblBsYXlTdGF0ZSA9ICdydW5uaW5nJzsKKyAgZ2V0Q29tcHV0ZWRTdHls
ZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0ZTsKIAogICBhd2FpdCBhbmltYXRpb24ucmVhZHk7CiAg
IGF3YWl0IHdhaXRGb3JOZXh0RnJhbWUoKTsKIAotICBhc3NlcnRfZXF1YWxzKGNzLmFuaW1hdGlv
blBsYXlTdGF0ZSwgJ3J1bm5pbmcnLAotICAgICAgICAgICAgICAgICdhbmltYXRpb24tcGxheS1z
dGF0ZSBpcyBydW5uaW5nJyk7Ci0gIGFzc2VydF9lcXVhbHMoZ2V0TWFyZ2luTGVmdChjcyksIDAs
Ci0gICAgICAgICAgICAgICAgJ1BhdXNlZCB2YWx1ZSBvZiBtYXJnaW4tbGVmdCBpcyB6ZXJvJyk7
CisgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLnBsYXlTdGF0ZSwgJ3BhdXNlZCcsICdwbGF5U3Rh
dGUgaXMgcGF1c2VkICcpOworCisgIC8vIEZsaXAgdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGJh
Y2sgYW5kIGZvcnRoIHRvIGNoZWNrIGl0IGhhcyBubyBlZmZlY3QKKworICBkaXYuc3R5bGUuYW5p
bWF0aW9uUGxheVN0YXRlID0gJ3BhdXNlZCc7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbmlt
YXRpb25QbGF5U3RhdGU7CisgIGRpdi5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncnVubmlu
Zyc7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbmltYXRpb25QbGF5U3RhdGU7CisKKyAgYXNz
ZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdwYXVzZWQnLAorICAg
ICdTaG91bGQgc3RpbGwgYmUgcGF1c2VkIGV2ZW4gYWZ0ZXIgZmxpcHBpbmcgdGhlIGFuaW1hdGlv
bi1wbGF5LXN0YXRlJworICApOwogfSwgJ3BhdXNlKCkgb3ZlcnJpZGVzIGFuaW1hdGlvbi1wbGF5
LXN0YXRlJyk7CiAKIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRk
RGl2KHQpOwotICBjb25zdCBjcyA9IGdldENvbXB1dGVkU3R5bGUoZGl2KTsKLSAgZGl2LnN0eWxl
LmFuaW1hdGlvbiA9ICdhbmltIDEwMDBzIHBhdXNlZCc7CisgIGRpdi5zdHlsZS5hbmltYXRpb24g
PSAnYW5pbSAxMDBzIHBhdXNlZCc7CisKICAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFuaW1h
dGlvbnMoKVswXTsKLSAgYXNzZXJ0X2VxdWFscyhnZXRNYXJnaW5MZWZ0KGNzKSwgMCwKLSAgICAg
ICAgICAgICAgICAnSW5pdGlhbCB2YWx1ZSBvZiBtYXJnaW4tbGVmdCBpcyB6ZXJvJyk7Ci0gIGFu
aW1hdGlvbi5wbGF5KCk7CisgIGFuaW1hdGlvbi5yZXZlcnNlKCk7CiAKLSAgYXdhaXQgYW5pbWF0
aW9uLnJlYWR5OworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5wbGF5U3RhdGUsCisg
ICAgJ3J1bm5pbmcnLAorICAgICdQbGF5IHN0YXRlIGlzIHJ1bm5pbmcgYWZ0ZXIgY2FsbGluZyBy
ZXZlcnNlKCknCisgICk7CiAKLSAgZGl2LnN0eWxlLmFuaW1hdGlvblBsYXlTdGF0ZSA9ICdydW5u
aW5nJzsKLSAgY3MuYW5pbWF0aW9uUGxheVN0YXRlOyAvLyBUcmlnZ2VyIHN0eWxlIHJlc29sdXRp
b24KLSAgYXdhaXQgd2FpdEZvck5leHRGcmFtZSgpOworICAvLyBGbGlwIHRoZSBhbmltYXRpb24t
cGxheS1zdGF0ZSBiYWNrIGFuZCBmb3J0aCB0byBjaGVjayBpdCBoYXMgbm8gZWZmZWN0CiAKLSAg
YXNzZXJ0X2VxdWFscyhjcy5hbmltYXRpb25QbGF5U3RhdGUsICdydW5uaW5nJywKLSAgICAgICAg
ICAgICAgICAnYW5pbWF0aW9uLXBsYXktc3RhdGUgaXMgcnVubmluZycpOworICBkaXYuc3R5bGUu
YW5pbWF0aW9uUGxheVN0YXRlID0gJ3J1bm5pbmcnOworICBnZXRDb21wdXRlZFN0eWxlKGRpdiku
YW5pbWF0aW9uUGxheVN0YXRlOwogICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3Bh
dXNlZCc7Ci0gIGF3YWl0IGFuaW1hdGlvbi5yZWFkeTsKKyAgZ2V0Q29tcHV0ZWRTdHlsZShkaXYp
LmFuaW1hdGlvblBsYXlTdGF0ZTsKIAotICBhc3NlcnRfZXF1YWxzKGNzLmFuaW1hdGlvblBsYXlT
dGF0ZSwgJ3BhdXNlZCcsCi0gICAgICAgICAgICAgICAgJ2FuaW1hdGlvbi1wbGF5LXN0YXRlIGlz
IHBhdXNlZCcpOwotICBjb25zdCBwcmV2aW91c0FuaW1WYWwgPSBnZXRNYXJnaW5MZWZ0KGNzKTsK
LSAgYXdhaXQgd2FpdEZvck5leHRGcmFtZSgpOwotCi0gIGFzc2VydF9lcXVhbHMoZ2V0TWFyZ2lu
TGVmdChjcyksIHByZXZpb3VzQW5pbVZhbCwKLSAgICAgICAgICAgICAgICAnQW5pbWF0ZWQgdmFs
dWUgb2YgbWFyZ2luLWxlZnQgZG9lcyBub3QgY2hhbmdlIHdoZW4nCi0gICAgICAgICAgICAgICAg
KyAnIHBhdXNlZCBieSBzdHlsZScpOwotfSwgJ3BsYXkoKSBpcyBvdmVycmlkZGVuIGJ5IGxhdGVy
IHNldHRpbmcgImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQiJyk7CisgIGFzc2VydF9lcXVh
bHMoCisgICAgYW5pbWF0aW9uLnBsYXlTdGF0ZSwKKyAgICAncnVubmluZycsCisgICAgJ1Nob3Vs
ZCBzdGlsbCBiZSBydW5uaW5nIGV2ZW4gYWZ0ZXIgZmxpcHBpbmcgdGhlIGFuaW1hdGlvbi1wbGF5
LXN0YXRlJworICApOworfSwgJ3JldmVyc2UoKSBvdmVycmlkZXMgYW5pbWF0aW9uLXBsYXktc3Rh
dGUgd2hlbiBpdCBzdGFydHMgcGxheWluZyB0aGUnCisgICArICcgYW5pbWF0aW9uJyk7CiAKIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwotICBjb25z
dCBjcyA9IGdldENvbXB1dGVkU3R5bGUoZGl2KTsKLSAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdh
bmltIDEwMDBzJzsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltIDEwMHMnOworCiAgIGNv
bnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07Ci0gIGFzc2VydF9lcXVhbHMo
Z2V0TWFyZ2luTGVmdChjcyksIDAsCi0gICAgICAgICAgICAgICAgJ0luaXRpYWwgdmFsdWUgb2Yg
bWFyZ2luLWxlZnQgaXMgemVybycpOworICBhbmltYXRpb24ucmV2ZXJzZSgpOworCisgIGFzc2Vy
dF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLnBsYXlTdGF0ZSwKKyAgICAncnVubmluZycsCisgICAg
J1BsYXkgc3RhdGUgaXMgcnVubmluZyBhZnRlciBjYWxsaW5nIHJldmVyc2UoKScKKyAgKTsKIAot
ICAvLyBTZXQgdGhlIHNwZWNpZmllZCBzdHlsZSBmaXJzdC4gSWYgaW1wbGVtZW50YXRpb25zIGZh
aWwgdG8KLSAgLy8gYXBwbHkgdGhlIHN0eWxlIGNoYW5nZXMgZmlyc3QsIHRoZXkgd2lsbCBpZ25v
cmUgdGhlIHJlZHVuZGFudAotICAvLyBjYWxsIHRvIHBsYXkoKSBhbmQgZmFpbCB0byBjb3JyZWN0
bHkgb3ZlcnJpZGUgdGhlIHBhdXNlIHN0eWxlLgogICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0
YXRlID0gJ3BhdXNlZCc7Ci0gIGFuaW1hdGlvbi5wbGF5KCk7Ci0gIGNvbnN0IHByZXZpb3VzQW5p
bVZhbCA9IGdldE1hcmdpbkxlZnQoY3MpOworICBnZXRDb21wdXRlZFN0eWxlKGRpdikuYW5pbWF0
aW9uUGxheVN0YXRlOwogCi0gIGF3YWl0IGFuaW1hdGlvbi5yZWFkeTsKLSAgYXdhaXQgd2FpdEZv
ck5leHRGcmFtZSgpOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5wbGF5U3RhdGUs
CisgICAgJ3BhdXNlZCcsCisgICAgJ1Nob3VsZCBiZSBwYXVzZWQgYWZ0ZXIgY2hhbmdpbmcgdGhl
IGFuaW1hdGlvbi1wbGF5LXN0YXRlJworICApOworfSwgJ3JldmVyc2UoKSBkb2VzIE5PVCBvdmVy
cmlkZSBhbmltYXRpb24tcGxheS1zdGF0ZSBpZiB0aGUgYW5pbWF0aW9uIGlzJworICAgKyAnIGFs
cmVhZHkgcnVubmluZycpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IGRp
diA9IGFkZERpdih0KTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltIDEwMHMnOworCisg
IGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07CisgIGFuaW1hdGlvbi5z
dGFydFRpbWUgPSBudWxsOworCisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLnBsYXlT
dGF0ZSwKKyAgICAncGF1c2VkJywKKyAgICAnUGxheSBzdGF0ZSBpcyBwYXVzZWQgYWZ0ZXIgc2V0
dGluZyB0aGUgc3RhcnQgdGltZSB0byBudWxsJworICApOworCisgIC8vIEZsaXAgdGhlIGFuaW1h
dGlvbi1wbGF5LXN0YXRlIGJhY2sgYW5kIGZvcnRoIHRvIGNoZWNrIGl0IGhhcyBubyBlZmZlY3QK
KworICBkaXYuc3R5bGUuYW5pbWF0aW9uUGxheVN0YXRlID0gJ3BhdXNlZCc7CisgIGdldENvbXB1
dGVkU3R5bGUoZGl2KS5hbmltYXRpb25QbGF5U3RhdGU7CisgIGRpdi5zdHlsZS5hbmltYXRpb25Q
bGF5U3RhdGUgPSAncnVubmluZyc7CisgIGdldENvbXB1dGVkU3R5bGUoZGl2KS5hbmltYXRpb25Q
bGF5U3RhdGU7CiAKLSAgYXNzZXJ0X2VxdWFscyhjcy5hbmltYXRpb25QbGF5U3RhdGUsICdwYXVz
ZWQnLAotICAgICAgICAgICAgICAgICdhbmltYXRpb24tcGxheS1zdGF0ZSBpcyBwYXVzZWQnKTsK
LSAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihnZXRNYXJnaW5MZWZ0KGNzKSwgcHJldmlvdXNBbmltVmFs
LAotICAgICAgICAgICAgICAgICAgICAgICdQbGF5aW5nIHZhbHVlIG9mIG1hcmdpbi1sZWZ0IGlz
IGluY3JlYXNpbmcnKTsKLX0sICdwbGF5KCkgZmx1c2hlcyBwZW5kaW5nIGNoYW5nZXMgdG8gYW5p
bWF0aW9uLXBsYXktc3RhdGUgZmlyc3QnKTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRp
b24ucGxheVN0YXRlLAorICAgICdwYXVzZWQnLAorICAgICdTaG91bGQgc3RpbGwgYmUgcGF1c2Vk
IGV2ZW4gYWZ0ZXIgZmxpcHBpbmcgdGhlIGFuaW1hdGlvbi1wbGF5LXN0YXRlJworICApOworfSwg
J1NldHRpbmcgdGhlIHN0YXJ0VGltZSB0byBudWxsIG92ZXJyaWRlcyBhbmltYXRpb24tcGxheS1z
dGF0ZSBpZiB0aGUnCisgICArICcgYW5pbWF0aW9uIGlzIGFscmVhZHkgcnVubmluZycpOwogCiBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLSAgY29u
c3QgY3MgPSBnZXRDb21wdXRlZFN0eWxlKGRpdik7Ci0gIGRpdi5zdHlsZS5hbmltYXRpb24gPSAn
YW5pbSAxMDAwcyBwYXVzZWQnOworICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0gMTAwcyBw
YXVzZWQnOworCiAgIGNvbnN0IGFuaW1hdGlvbiA9IGRpdi5nZXRBbmltYXRpb25zKClbMF07Ci0g
IGFzc2VydF9lcXVhbHMoZ2V0TWFyZ2luTGVmdChjcyksIDAsCi0gICAgICAgICAgICAgICAgJ0lu
aXRpYWwgdmFsdWUgb2YgbWFyZ2luLWxlZnQgaXMgemVybycpOwotCi0gIC8vIFVubGlrZSB0aGUg
cHJldmlvdXMgdGVzdCBmb3IgcGxheSgpLCBzaW5jZSBjYWxsaW5nIHBhdXNlKCkgaXMgc3RpY2t5
LAotICAvLyB3ZSdsbCBhcHBseSBpdCBldmVuIGlmIHRoZSB1bmRlcmx5aW5nIHN0eWxlIGFsc28g
c2F5cyB3ZSdyZSBwYXVzZWQuCi0gIC8vCi0gIC8vIFdlIHdvdWxkIGxpa2UgdG8gdGVzdCB0aGF0
IGltcGxlbWVudGF0aW9ucyBmbHVzaCBzdHlsZXMgYmVmb3JlIHJ1bm5pbmcKLSAgLy8gcGF1c2Uo
KSBidXQgYWN0dWFsbHkgdGhlcmUncyBubyBzdHlsZSB3ZSBjYW4gY3VycmVudGx5IHNldCB0aGF0
IHdpbGwKLSAgLy8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiBwYXVzZSgpLiBUaGF0IG1heSBjaGFu
Z2UgaW4gdGhlIGZ1dHVyZQotICAvLyAoZS5nLiBpZiB3ZSBpbnRyb2R1Y2UgYW5pbWF0aW9uLXRp
bWVsaW5lIG9yIGFuaW1hdGlvbi1wbGF5YmFjay1yYXRlIGV0Yy4pLgotICAvLwotICAvLyBGb3Ig
bm93IHRoaXMganVzdCBzZXJ2ZXMgYXMgYSBzYW5pdHkgY2hlY2sgdGhhdCB3ZSBkbyB0aGUgc2Ft
ZSB0aGluZwotICAvLyBldmVuIGlmIHdlIHNldCBzdHlsZSBiZWZvcmUgY2FsbGluZyB0aGUgQVBJ
LgorICBhbmltYXRpb24uc3RhcnRUaW1lID0gZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWU7
CisKKyAgYXNzZXJ0X2VxdWFscygKKyAgICBhbmltYXRpb24ucGxheVN0YXRlLAorICAgICdydW5u
aW5nJywKKyAgICAnUGxheSBzdGF0ZSBpcyBydW5uaW5nIGFmdGVyIHNldHRpbmcgdGhlIHN0YXJ0
IHRpbWUgdG8gbm9uLW51bGwnCisgICk7CisKKyAgLy8gRmxpcCB0aGUgYW5pbWF0aW9uLXBsYXkt
c3RhdGUgYmFjayBhbmQgZm9ydGggdG8gY2hlY2sgaXQgaGFzIG5vIGVmZmVjdAorCiAgIGRpdi5z
dHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncnVubmluZyc7Ci0gIGFuaW1hdGlvbi5wYXVzZSgp
OwotICBjb25zdCBwcmV2aW91c0FuaW1WYWwgPSBnZXRNYXJnaW5MZWZ0KGNzKTsKKyAgZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0ZTsKKyAgZGl2LnN0eWxlLmFuaW1hdGlv
blBsYXlTdGF0ZSA9ICdwYXVzZWQnOworICBnZXRDb21wdXRlZFN0eWxlKGRpdikuYW5pbWF0aW9u
UGxheVN0YXRlOwogCi0gIGF3YWl0IGFuaW1hdGlvbi5yZWFkeTsKLSAgYXdhaXQgd2FpdEZvck5l
eHRGcmFtZSgpOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFuaW1hdGlvbi5wbGF5U3RhdGUsCisg
ICAgJ3J1bm5pbmcnLAorICAgICdTaG91bGQgc3RpbGwgYmUgcnVubmluZyBldmVuIGFmdGVyIGZs
aXBwaW5nIHRoZSBhbmltYXRpb24tcGxheS1zdGF0ZScKKyAgKTsKK30sICdTZXR0aW5nIHRoZSBz
dGFydFRpbWUgdG8gbm9uLW51bGwgb3ZlcnJpZGVzIGFuaW1hdGlvbi1wbGF5LXN0YXRlIGlmIHRo
ZScKKyAgICsgJyBhbmltYXRpb24gaXMgcGF1c2VkJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOworICBkaXYuc3R5bGUuYW5pbWF0aW9uID0g
J2FuaW0gMTAwcyc7CisKKyAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVsw
XTsKKyAgYW5pbWF0aW9uLnN0YXJ0VGltZSA9IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1l
OworCisgIGRpdi5zdHlsZS5hbmltYXRpb25QbGF5U3RhdGUgPSAncGF1c2VkJzsKKyAgZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblBsYXlTdGF0ZTsKIAotICBhc3NlcnRfZXF1YWxzKGNz
LmFuaW1hdGlvblBsYXlTdGF0ZSwgJ3J1bm5pbmcnLAotICAgICAgICAgICAgICAgICdhbmltYXRp
b24tcGxheS1zdGF0ZSBpcyBydW5uaW5nJyk7Ci0gIGFzc2VydF9lcXVhbHMoZ2V0TWFyZ2luTGVm
dChjcyksIHByZXZpb3VzQW5pbVZhbCwKLSAgICAgICAgICAgICAgICAnUGF1c2VkIHZhbHVlIG9m
IG1hcmdpbi1sZWZ0IGRvZXMgbm90IGNoYW5nZScpOwotfSwgJ3BhdXNlKCkgYXBwbGllcyBwZW5k
aW5nIGNoYW5nZXMgdG8gYW5pbWF0aW9uLXBsYXktc3RhdGUgZmlyc3QnKTsKLS8vIChOb3RlIHRo
YXQgd2UgY2FuJ3QgYWN0dWFsbHkgdGVzdCBmb3IgdGhpczsgc2VlIGNvbW1lbnQgYWJvdmUsIGlu
IHRlc3QtYm9keS4pCisgIGFzc2VydF9lcXVhbHMoCisgICAgYW5pbWF0aW9uLnBsYXlTdGF0ZSwK
KyAgICAncGF1c2VkJywKKyAgICAnU2hvdWxkIGJlIHBhdXNlZCBhZnRlciBjaGFuZ2luZyB0aGUg
YW5pbWF0aW9uLXBsYXktc3RhdGUnCisgICk7Cit9LCAnU2V0dGluZyB0aGUgc3RhcnRUaW1lIHRv
IG5vbi1udWxsIGRvZXMgTk9UIG92ZXJyaWRlIHRoZScKKyAgICsgJyBhbmltYXRpb24tcGxheS1z
dGF0ZSBpZiB0aGUgYW5pbWF0aW9uIGlzIGFscmVhZHkgcnVubmluZycpOwogCiBwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0LCB7IHN0eWxlOiAnYW5pbWF0
aW9uOiBhbmltIDEwMDBzJyB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1yZWFk
eS50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0NTU0FuaW1hdGlvbi1yZWFkeS50ZW50YXRpdmUuaHRt
bAppbmRleCBmNzBlYmQxNzAwMzk4OGQ2NDFhN2NlNTY0NWQ5MmIxYzk2OGRhYzNlLi4yYTIyNzYw
NjkzZGU0OWY0ZGUwNmE1NDZmM2ZlNmNiOTllOTg0NzYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NB
bmltYXRpb24tcmVhZHkudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLXJl
YWR5LnRlbnRhdGl2ZS5odG1sCkBAIC00Miw3ICs0Miw3IEBAIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICcnOwogICBnZXRDb21wdXRlZFN0eWxlKGRp
dikuYW5pbWF0aW9uOwogCi0gIGF3YWl0IHByb21pc2VfcmVqZWN0cyh0LCAnQWJvcnRFcnJvcics
IHJlYWR5UHJvbWlzZSwKKyAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAnQWJvcnRFcnJv
cicsIHJlYWR5UHJvbWlzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICdyZWFkeSBwcm9taXNl
IGlzIHJlamVjdGVkIHdpdGggQWJvcnRFcnJvcicpOwogfSwgJ3JlYWR5IHByb21pc2UgaXMgcmVq
ZWN0ZWQgd2hlbiBhbiBhbmltYXRpb24gaXMgY2FuY2VsZWQgYnkgcmVzZXR0aW5nJwogICAgKyAn
IHRoZSBhbmltYXRpb24gcHJvcGVydHknKTsKQEAgLTY0LDcgKzY0LDcgQEAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4gewogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2RlZiAxMDBzJzsKICAgZ2V0
Q29tcHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvbjsKIAotICBhd2FpdCBwcm9taXNlX3JlamVjdHMo
dCwgJ0Fib3J0RXJyb3InLCByZWFkeVByb21pc2UsCisgIGF3YWl0IHByb21pc2VfcmVqZWN0c19k
b20odCwgJ0Fib3J0RXJyb3InLCByZWFkeVByb21pc2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAncmVhZHkgcHJvbWlzZSBpcyByZWplY3RlZCB3aXRoIEFib3J0RXJyb3InKTsKIH0sICdyZWFk
eSBwcm9taXNlIGlzIHJlamVjdGVkIHdoZW4gYW4gYW5pbWF0aW9uIGlzIGNhbmNlbGVkIGJ5IHVw
ZGF0aW5nJwogICAgKyAnIHRoZSBhbmltYXRpb24gcHJvcGVydHknKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCBkMGJh
YmY1NjgzZWFlZWFjM2JlODA5NmEyYzUwZjJiYTYxNmMyOTY5Li5kN2M1ODFmNWRlNmFkMGM4M2E1
NDA3ODQ1ZTM1YWY2ZmVhNWMwODc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmlt
YXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5p
bWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC02LDYgKzYsNyBAQCBQQVNTIE9yZGVy
IG9mIENTUyBBbmltYXRpb25zIC0gd2l0aGluIGFuIGVsZW1lbnQKIFBBU1MgT3JkZXIgb2YgQ1NT
IEFuaW1hdGlvbnMgLSBhY3Jvc3MgZWxlbWVudHMgCiBQQVNTIE9yZGVyIG9mIENTUyBBbmltYXRp
b25zIC0gYWNyb3NzIGFuZCB3aXRoaW4gZWxlbWVudHMgCiBQQVNTIE9yZGVyIG9mIENTUyBBbmlt
YXRpb25zIC0gbWFya3VwLWJvdW5kIHZzIGZyZWUgYW5pbWF0aW9ucyAKK1BBU1MgT3JkZXIgb2Yg
Q1NTIEFuaW1hdGlvbnMgLSBmcmVlIGFuaW1hdGlvbiB2cyBDU1MgVHJhbnNpdGlvbnMgCiBQQVNT
IE9yZGVyIG9mIENTUyBBbmltYXRpb25zIC0gZnJlZSBhbmltYXRpb25zIAogUEFTUyBPcmRlciBv
ZiBDU1MgQW5pbWF0aW9ucyBhbmQgQ1NTIFRyYW5zaXRpb25zIAogUEFTUyBGaW5pc2hlZCBidXQg
ZmlsbGluZyBDU1MgQW5pbWF0aW9ucyBhcmUgcmV0dXJuZWQgCkBAIC0xNCw0ICsxNSw1IEBAIFBB
U1MgWWV0LXRvLXN0YXJ0IENTUyBBbmltYXRpb25zIGFyZSByZXR1cm5lZAogUEFTUyBDU1MgQW5p
bWF0aW9ucyBjYW5jZWxlZCB2aWEgdGhlIEFQSSBhcmUgbm90IHJldHVybmVkIAogUEFTUyBDU1Mg
QW5pbWF0aW9ucyBjYW5jZWxlZCBhbmQgcmVzdGFydGVkIHZpYSB0aGUgQVBJIGFyZSByZXR1cm5l
ZCAKIFBBU1MgQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91
bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcgCitGQUlMIENTUyBBbmltYXRpb25z
IHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVjdCBvcmRlciBh
ZnRlciBzb3J0aW5nICg6Om1hcmtlcikgYXNzZXJ0X2VxdWFsczogQ1NTIGFuaW1hdGlvbnMgb24g
Ym90aCBwc2V1ZG8tZWxlbWVudHMgYW5kIGVsZW1lbnRzIGFyZSByZXR1cm5lZCBleHBlY3RlZCA1
IGJ1dCBnb3QgNAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRl
bnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUuaHRt
bAppbmRleCA0YTk3NjhhOGI2MTBlNTMyN2NjMzQ5N2ExZWM2ZjMwMTY0MjQ2OGE3Li40NDE2NzM1
ZjUwYmIyM2ExZDFiY2NjZjBhZDIxOWJiMmMyMWJjNGJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1
bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0RvY3VtZW50LWdl
dEFuaW1hdGlvbnMudGVudGF0aXZlLmh0bWwKQEAgLTE4MCw2ICsxODAsMjkgQEAgdGVzdCh0ID0+
IHsKICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb25zWzFdLCBhbmltTGVmdCwgJ0ZyZWUgYW5pbWF0
aW9ucyBjb21lIGxhc3QnKTsKIH0sICdPcmRlciBvZiBDU1MgQW5pbWF0aW9ucyAtIG1hcmt1cC1i
b3VuZCB2cyBmcmVlIGFuaW1hdGlvbnMnKTsKIAordGVzdCh0ID0+IHsKKyAgLy8gQWRkIGFuIGFu
aW1hdGlvbiBmaXJzdAorICBjb25zdCBkaXYgPSBhZGREaXYodCwgeyBzdHlsZTogJ2FuaW1hdGlv
bjogYW5pbUxlZnQgMTAwcycgfSk7CisgIGNvbnN0IGFuaW1MZWZ0ID0gZG9jdW1lbnQuZ2V0QW5p
bWF0aW9ucygpWzBdOworICAvLyBEaXNhc3NvY2lhdGUgYW5pbUxlZnQgZnJvbSBtYXJrdXAgYW5k
IHJlc3RhcnQKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICcnOworICBhbmltTGVmdC5wbGF5KCk7
CisKKyAgZGl2LnN0eWxlLnRvcCA9ICcwcHgnOworICBkaXYuc3R5bGUudHJhbnNpdGlvbiA9ICdh
bGwgMTAwcyc7CisgIGZsdXNoQ29tcHV0ZWRTdHlsZShkaXYpOworICAvLyAqVGhlbiogYWRkIGEg
dHJhbnNpdGlvbgorICBkaXYuc3R5bGUudG9wID0gJzEwMHB4JzsKKyAgZmx1c2hDb21wdXRlZFN0
eWxlKGRpdik7CisKKyAgLy8gQWx0aG91Z2ggdGhlIHRyYW5zaXRpb24gd2FzIGFkZGVkIGxhdGVy
LCBpdCBzaG91bGQgY29tZSBmaXJzdCBpbiB0aGUgbGlzdAorICBjb25zdCBhbmltYXRpb25zID0g
ZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpOworICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbnMubGVu
Z3RoLCAyLAorICAgICAgICAgICAgICAgICdCb3RoIENTUyBhbmltYXRpb25zIGFuZCB0cmFuc2l0
aW9ucyBhcmUgcmV0dXJuZWQnKTsKKyAgYXNzZXJ0X2NsYXNzX3N0cmluZyhhbmltYXRpb25zWzBd
LCAnQ1NTVHJhbnNpdGlvbicsICdUcmFuc2l0aW9uIGNvbWVzIGZpcnN0Jyk7CisgIGFzc2VydF9l
cXVhbHMoYW5pbWF0aW9uc1sxXSwgYW5pbUxlZnQsICdGcmVlIGFuaW1hdGlvbnMgY29tZSBsYXN0
Jyk7Cit9LCAnT3JkZXIgb2YgQ1NTIEFuaW1hdGlvbnMgLSBmcmVlIGFuaW1hdGlvbiB2cyBDU1Mg
VHJhbnNpdGlvbnMnKTsKKwogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQsIHsg
c3R5bGU6ICdhbmltYXRpb246IGFuaW1MZWZ0IDEwMHMsIGFuaW1Ub3AgMTAwcycgfSk7CiAgIGNv
bnN0IGFuaW1MZWZ0ID0gZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpWzBdOwpAQCAtMjYyLDgzICsy
ODUsODggQEAgdGVzdCh0ID0+IHsKICAgICAgICAgICAgICAgICAncmV0dXJuZWQnKTsKIH0sICdD
U1MgQW5pbWF0aW9ucyBjYW5jZWxlZCBhbmQgcmVzdGFydGVkIHZpYSB0aGUgQVBJIGFyZSByZXR1
cm5lZCcpOwogCi10ZXN0KHQgPT4gewotICAvLyBDcmVhdGUgdHdvIGRpdnMgd2l0aCB0aGUgZm9s
bG93aW5nIGFycmFuZ2VtZW50OgotICAvLwotICAvLyAgICAgICBwYXJlbnQKLSAgLy8gICAgKDo6
bWFya2VyLCkKLSAgLy8gICAgIDo6YmVmb3JlLAotICAvLyAgICAgOjphZnRlcgotICAvLyAgICAg
ICAgfAotICAvLyAgICAgICBjaGlsZAotCi0gIGFkZFN0eWxlKHQsIHsKLSAgICAnI3BhcmVudDo6
YWZ0ZXInOiAiY29udGVudDogJyc7IGFuaW1hdGlvbjogYW5pbUxlZnQgMTAwczsiLAotICAgICcj
cGFyZW50OjpiZWZvcmUnOiAiY29udGVudDogJyc7IGFuaW1hdGlvbjogYW5pbVJpZ2h0IDEwMHM7
IiwKLSAgfSk7CitmdW5jdGlvbiBwc2V1ZG9UZXN0KGRlc2NyaXB0aW9uLCB0ZXN0TWFya2VyUHNl
dWRvcykgeworICB0ZXN0KHQgPT4geworICAgIC8vIENyZWF0ZSB0d28gZGl2cyB3aXRoIHRoZSBm
b2xsb3dpbmcgYXJyYW5nZW1lbnQ6CisgICAgLy8KKyAgICAvLyAgICAgICBwYXJlbnQKKyAgICAv
LyAgICAoOjptYXJrZXIsKSAgLy8gT3B0aW9uYWxseQorICAgIC8vICAgICA6OmJlZm9yZSwKKyAg
ICAvLyAgICAgOjphZnRlcgorICAgIC8vICAgICAgICB8CisgICAgLy8gICAgICAgY2hpbGQKIAot
ICBjb25zdCBzdXBwb3J0c01hcmtlclBzZXVkb3MgPSBDU1Muc3VwcG9ydHMoJ3NlbGVjdG9yKDo6
bWFya2VyKScpOwotICBpZiAoc3VwcG9ydHNNYXJrZXJQc2V1ZG9zKSB7CiAgICAgYWRkU3R5bGUo
dCwgewotICAgICAgJyNwYXJlbnQnOiAnZGlzcGxheTogbGlzdC1pdGVtOycsCi0gICAgICAnI3Bh
cmVudDo6bWFya2VyJzogImNvbnRlbnQ6ICcnOyBhbmltYXRpb246IGFuaW1MZWZ0IDEwMHM7IiwK
KyAgICAgICcjcGFyZW50OjphZnRlcic6ICJjb250ZW50OiAnJzsgYW5pbWF0aW9uOiBhbmltTGVm
dCAxMDBzOyIsCisgICAgICAnI3BhcmVudDo6YmVmb3JlJzogImNvbnRlbnQ6ICcnOyBhbmltYXRp
b246IGFuaW1SaWdodCAxMDBzOyIsCiAgICAgfSk7Ci0gIH0KLQotICBjb25zdCBwYXJlbnQgPSBh
ZGREaXYodCwgeyBpZDogJ3BhcmVudCcgfSk7Ci0gIGNvbnN0IGNoaWxkID0gYWRkRGl2KHQpOwot
ICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOwotICBmb3IgKGNvbnN0IGRpdiBvZiBbcGFyZW50
LCBjaGlsZF0pIHsKLSAgICBkaXYuc2V0QXR0cmlidXRlKCdzdHlsZScsICdhbmltYXRpb246IGFu
aW1Cb3R0b20gMTAwcycpOwotICB9Ci0KLSAgY29uc3QgZXhwZWN0ZWRBbmltYXRpb25zID0gWwot
ICAgIFtwYXJlbnQsIHVuZGVmaW5lZF0sCi0gICAgW3BhcmVudCwgJzo6bWFya2VyJ10sCi0gICAg
W3BhcmVudCwgJzo6YmVmb3JlJ10sCi0gICAgW3BhcmVudCwgJzo6YWZ0ZXInXSwKLSAgICBbY2hp
bGQsIHVuZGVmaW5lZF0sCi0gIF07Ci0gIGlmICghc3VwcG9ydHNNYXJrZXJQc2V1ZG9zKSB7Ci0g
ICAgZXhwZWN0ZWRBbmltYXRpb25zLnNwbGljZSgxLCAxKTsKLSAgfQogCi0gIGNvbnN0IGFuaW1h
dGlvbnMgPSBkb2N1bWVudC5nZXRBbmltYXRpb25zKCk7Ci0gIGFzc2VydF9lcXVhbHMoCi0gICAg
YW5pbWF0aW9ucy5sZW5ndGgsCi0gICAgZXhwZWN0ZWRBbmltYXRpb25zLmxlbmd0aCwKLSAgICAn
Q1NTIGFuaW1hdGlvbnMgb24gYm90aCBwc2V1ZG8tZWxlbWVudHMgYW5kIGVsZW1lbnRzIGFyZSBy
ZXR1cm5lZCcKLSAgKTsKLQotICBmb3IgKGNvbnN0IFtpbmRleCwgZXhwZWN0ZWRdIG9mIGV4cGVj
dGVkQW5pbWF0aW9ucy5lbnRyaWVzKCkpIHsKLSAgICBjb25zdCBbZWxlbWVudCwgcHNldWRvXSA9
IGV4cGVjdGVkOwotICAgIGNvbnN0IGFjdHVhbCA9IGFuaW1hdGlvbnNbaW5kZXhdOwotCi0gICAg
aWYgKHBzZXVkbykgewotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgYWN0dWFsLmVmZmVj
dC50YXJnZXQsCi0gICAgICAgIGVsZW1lbnQsCi0gICAgICAgIGBBbmltYXRpb24gIyR7aW5kZXgg
KyAxfSBoYXMgZXhwZWN0ZWQgdGFyZ2V0YAotICAgICAgKTsKLSAgICAgIGFzc2VydF9lcXVhbHMo
Ci0gICAgICAgIGFjdHVhbC5lZmZlY3QucHNldWRvRWxlbWVudCwKLSAgICAgICAgcHNldWRvLAot
ICAgICAgICBgQW5pbWF0aW9uICMke2luZGV4ICsgMX0gaGFzIGV4cGVjdGVkIHBzZXVkbyB0eXBl
YAotICAgICAgKTsKLSAgICB9IGVsc2UgewotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAg
YWN0dWFsLmVmZmVjdC50YXJnZXQsCi0gICAgICAgIGVsZW1lbnQsCi0gICAgICAgIGBBbmltYXRp
b24gIyR7aW5kZXggKyAxfSBoYXMgZXhwZWN0ZWQgdGFyZ2V0YAotICAgICAgKTsKLSAgICAgIGFz
c2VydF9lcXVhbHMoCi0gICAgICAgIGFjdHVhbC5lZmZlY3QucHNldWRvRWxlbWVudCwKLSAgICAg
ICAgbnVsbCwKLSAgICAgICAgYEFuaW1hdGlvbiAjJHtpbmRleCArIDF9IGhhcyBudWxsIHBzZXVk
byB0eXBlYAotICAgICAgKTsKKyAgICBpZiAodGVzdE1hcmtlclBzZXVkb3MpIHsKKyAgICAgIGFk
ZFN0eWxlKHQsIHsKKyAgICAgICAgJyNwYXJlbnQnOiAnZGlzcGxheTogbGlzdC1pdGVtOycsCisg
ICAgICAgICcjcGFyZW50OjptYXJrZXInOiAiY29udGVudDogJyc7IGFuaW1hdGlvbjogYW5pbUxl
ZnQgMTAwczsiLAorICAgICAgfSk7CiAgICAgfQotICB9Ci19LCAnQ1NTIEFuaW1hdGlvbnMgdGFy
Z2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyICcKLSAg
ICsgJ2FmdGVyIHNvcnRpbmcnKTsKKworICAgIGNvbnN0IHBhcmVudCA9IGFkZERpdih0LCB7IGlk
OiAncGFyZW50JyB9KTsKKyAgICBjb25zdCBjaGlsZCA9IGFkZERpdih0KTsKKyAgICBwYXJlbnQu
YXBwZW5kQ2hpbGQoY2hpbGQpOworICAgIGZvciAoY29uc3QgZGl2IG9mIFtwYXJlbnQsIGNoaWxk
XSkgeworICAgICAgZGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnYW5pbWF0aW9uOiBhbmltQm90
dG9tIDEwMHMnKTsKKyAgICB9CisKKyAgICBjb25zdCBleHBlY3RlZEFuaW1hdGlvbnMgPSBbCisg
ICAgICBbcGFyZW50LCB1bmRlZmluZWRdLAorICAgICAgW3BhcmVudCwgJzo6bWFya2VyJ10sCisg
ICAgICBbcGFyZW50LCAnOjpiZWZvcmUnXSwKKyAgICAgIFtwYXJlbnQsICc6OmFmdGVyJ10sCisg
ICAgICBbY2hpbGQsIHVuZGVmaW5lZF0sCisgICAgXTsKKyAgICBpZiAoIXRlc3RNYXJrZXJQc2V1
ZG9zKSB7CisgICAgICBleHBlY3RlZEFuaW1hdGlvbnMuc3BsaWNlKDEsIDEpOworICAgIH0KKwor
ICAgIGNvbnN0IGFuaW1hdGlvbnMgPSBkb2N1bWVudC5nZXRBbmltYXRpb25zKCk7CisgICAgYXNz
ZXJ0X2VxdWFscygKKyAgICAgIGFuaW1hdGlvbnMubGVuZ3RoLAorICAgICAgZXhwZWN0ZWRBbmlt
YXRpb25zLmxlbmd0aCwKKyAgICAgICdDU1MgYW5pbWF0aW9ucyBvbiBib3RoIHBzZXVkby1lbGVt
ZW50cyBhbmQgZWxlbWVudHMgYXJlIHJldHVybmVkJworICAgICk7CisKKyAgICBmb3IgKGNvbnN0
IFtpbmRleCwgZXhwZWN0ZWRdIG9mIGV4cGVjdGVkQW5pbWF0aW9ucy5lbnRyaWVzKCkpIHsKKyAg
ICAgIGNvbnN0IFtlbGVtZW50LCBwc2V1ZG9dID0gZXhwZWN0ZWQ7CisgICAgICBjb25zdCBhY3R1
YWwgPSBhbmltYXRpb25zW2luZGV4XTsKKworICAgICAgaWYgKHBzZXVkbykgeworICAgICAgICBh
c3NlcnRfZXF1YWxzKAorICAgICAgICAgIGFjdHVhbC5lZmZlY3QudGFyZ2V0LAorICAgICAgICAg
IGVsZW1lbnQsCisgICAgICAgICAgYEFuaW1hdGlvbiAjJHtpbmRleCArIDF9IGhhcyBleHBlY3Rl
ZCB0YXJnZXRgCisgICAgICAgICk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoCisgICAgICAgICAg
YWN0dWFsLmVmZmVjdC5wc2V1ZG9FbGVtZW50LAorICAgICAgICAgIHBzZXVkbywKKyAgICAgICAg
ICBgQW5pbWF0aW9uICMke2luZGV4ICsgMX0gaGFzIGV4cGVjdGVkIHBzZXVkbyB0eXBlYAorICAg
ICAgICApOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscygKKyAgICAgICAg
ICBhY3R1YWwuZWZmZWN0LnRhcmdldCwKKyAgICAgICAgICBlbGVtZW50LAorICAgICAgICAgIGBB
bmltYXRpb24gIyR7aW5kZXggKyAxfSBoYXMgZXhwZWN0ZWQgdGFyZ2V0YAorICAgICAgICApOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgICAgIGFjdHVhbC5lZmZlY3QucHNldWRvRWxl
bWVudCwKKyAgICAgICAgICBudWxsLAorICAgICAgICAgIGBBbmltYXRpb24gIyR7aW5kZXggKyAx
fSBoYXMgbnVsbCBwc2V1ZG8gdHlwZWAKKyAgICAgICAgKTsKKyAgICAgIH0KKyAgICB9CisgIH0s
IGRlc2NyaXB0aW9uKTsKK30KKworcHNldWRvVGVzdCgnQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGlu
ZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0ICcKKyAgICAgKyAnb3JkZXIg
YWZ0ZXIgc29ydGluZycsIGZhbHNlKTsKK3BzZXVkb1Rlc3QoJ0NTUyBBbmltYXRpb25zIHRhcmdl
dHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVjdCAnCisgICAgICsgJ29y
ZGVyIGFmdGVyIHNvcnRpbmcgKDo6bWFya2VyKScsIHRydWUpOwogCiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL0tleWZyYW1lRWZmZWN0LWdldEtleWZyYW1lcy50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKaW5kZXggOTY2M2FjM2M5MmE3NGE1YTI2ZjZlYmZiZGVkMmUxYzhhNTRiZjZhNi4u
ODNlNzgxNmEzZTg1NTYxMzMwYjg4MjQ2N2FhYTcxODgyNjA1MmI2YyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQKQEAgLTUsMjIgKzUsMjMgQEAgUEFTUyBLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSBy
ZXR1cm5zIGZyYW1lcyB3aXRoIGV4cGVjdGVkIGVhc2luZyB2YWx1ZXMsIHcKIFBBU1MgS2V5ZnJh
bWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBmcmFtZXMgd2l0aCBleHBlY3RlZCBlYXNp
bmcgdmFsdWVzLCB3aGVuIHRoZSBlYXNpbmcgaXMgc3BlY2lmaWVkIG9uIGVhY2gga2V5ZnJhbWUg
CiBQQVNTIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZnJhbWVzIHdpdGgg
ZXhwZWN0ZWQgZWFzaW5nIHZhbHVlcywgd2hlbiB0aGUgZWFzaW5nIGlzIHNwZWNpZmllZCBvbiBz
b21lIGtleWZyYW1lcyAKIFBBU1MgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJu
cyBleHBlY3RlZCBmcmFtZXMgZm9yIGEgc2ltcGxlIGFuaW1hdGlvbiB0aGF0IHNwZWNpZmllcyBh
IHNpbmdsZSBzaG9ydGhhbmQgcHJvcGVydHkgCi1GQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZy
YW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBhIDAl
IGtleWZyYW1lIGFuZCBubyAxMDAlIGtleWZyYW1lIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMg
b24gQ29tcHV0ZWRLZXlmcmFtZSAjMSBleHBlY3RlZCAiY29sb3IsY29tcG9zaXRlLGNvbXB1dGVk
T2Zmc2V0LGVhc2luZyxvZmZzZXQiIGJ1dCBnb3QgImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxl
YXNpbmcsb2Zmc2V0IgotRkFJTCBLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5z
IGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4gYW5pbWF0aW9uIHdpdGggYSAxMDAlIGtleWZyYW1lIGFu
ZCBubyAwJSBrZXlmcmFtZSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5
ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbG9yLGNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcs
b2Zmc2V0IiBidXQgZ290ICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIK
LUZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFt
ZXMgZm9yIGFuIGFuaW1hdGlvbiB3aXRoIG5vIDAlIG9yIDEwMCUga2V5ZnJhbWUgYnV0IHdpdGgg
YSA1MCUga2V5ZnJhbWUgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZy
YW1lICMwIGV4cGVjdGVkICJjb2xvcixjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9m
ZnNldCIgYnV0IGdvdCAiY29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiCi1G
QUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVz
IGZvciBhbiBhbmltYXRpb24gd2l0aCBhIHBhcnRpYWxseSBjb21wbGV0ZSAxMDAlIGtleWZyYW1l
IChiZWNhdXNlIHRoZSAhaW1wb3J0YW50IHJ1bGUgaXMgaWdub3JlZCkgYXNzZXJ0X2VxdWFsczog
cHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMxIGV4cGVjdGVkICJjb21wb3NpdGUsY29t
cHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJnaW5Ub3Asb2Zmc2V0IiBidXQgZ290
ICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxvZmZzZXQiCitG
QUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVz
IGZvciBhbiBhbmltYXRpb24gd2l0aCBhIDAlIGtleWZyYW1lIGFuZCBubyAxMDAlIGtleWZyYW1l
IGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnRpZXMgb24gS2V5ZnJhbWUgIzEgc2hvdWxkIG1h
dGNoIGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CitGQUlMIEtleWZyYW1lRWZmZWN0
LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24g
d2l0aCBhIDEwMCUga2V5ZnJhbWUgYW5kIG5vIDAlIGtleWZyYW1lIGFzc2VydF9hcnJheV9lcXVh
bHM6IHByb3BlcnRpZXMgb24gS2V5ZnJhbWUgIzAgc2hvdWxkIG1hdGNoIGxlbmd0aHMgZGlmZmVy
LCBleHBlY3RlZCA1IGdvdCA0CitGQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJl
dHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBubyAwJSBvciAxMDAl
IGtleWZyYW1lIGJ1dCB3aXRoIGEgNTAlIGtleWZyYW1lIGFzc2VydF9hcnJheV9lcXVhbHM6IHBy
b3BlcnRpZXMgb24gS2V5ZnJhbWUgIzAgc2hvdWxkIG1hdGNoIGxlbmd0aHMgZGlmZmVyLCBleHBl
Y3RlZCA1IGdvdCA0CitGQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMg
ZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBhIHBhcnRpYWxseSBjb21wbGV0
ZSAxMDAlIGtleWZyYW1lIChiZWNhdXNlIHRoZSAhaW1wb3J0YW50IHJ1bGUgaXMgaWdub3JlZCkg
YXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydGllcyBvbiBLZXlmcmFtZSAjMSBzaG91bGQgbWF0
Y2ggbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDYgZ290IDUKIFBBU1MgS2V5ZnJhbWVFZmZlY3Qu
Z2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuIGFuaW1hdGlvbiB3
aXRoIGRpZmZlcmVudCBwcm9wZXJ0aWVzIG9uIGRpZmZlcmVudCBrZXlmcmFtZXMsIGFsbCB3aXRo
IHRoZSBzYW1lIGVhc2luZyBmdW5jdGlvbiAKIFBBU1MgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJh
bWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuIGFuaW1hdGlvbiB3aXRoIGRpZmZl
cmVudCBwcm9wZXJ0aWVzIG9uIGRpZmZlcmVudCBrZXlmcmFtZXMsIHdpdGggYSBkaWZmZXJlbnQg
ZWFzaW5nIGZ1bmN0aW9uIG9uIGVhY2ggCiBQQVNTIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1l
cygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBtdWx0aXBs
ZSBrZXlmcmFtZXMgZm9yIHRoZSBzYW1lIHRpbWUsIGFuZCBhbGwgd2l0aCB0aGUgc2FtZSBlYXNp
bmcgZnVuY3Rpb24gCi1GQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMg
ZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBhbmltYXRpb24gd2l0aCBtdWx0aXBsZSBrZXlmcmFtZXMg
Zm9yIHRoZSBzYW1lIHRpbWUgYW5kIHdpdGggZGlmZmVyZW50IGVhc2luZyBmdW5jdGlvbnMgYXNz
ZXJ0X2VxdWFsczogbnVtYmVyIG9mIGZyYW1lcyBleHBlY3RlZCAzIGJ1dCBnb3QgMgorRkFJTCBL
ZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3Ig
YW4gYW5pbWF0aW9uIHdpdGggbXVsdGlwbGUga2V5ZnJhbWVzIGZvciB0aGUgc2FtZSB0aW1lIGFu
ZCB3aXRoIGRpZmZlcmVudCBlYXNpbmcgZnVuY3Rpb25zIGFzc2VydF9lcXVhbHM6IE51bWJlciBv
ZiBrZXlmcmFtZXMgc2hvdWxkIG1hdGNoIGV4cGVjdGVkIDMgYnV0IGdvdCAyCiBQQVNTIEtleWZy
YW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiBh
bmltYXRpb24gd2l0aCBtdWx0aXBsZSBrZXlmcmFtZXMgZm9yIHRoZSBzYW1lIHRpbWUgYW5kIHdp
dGggZGlmZmVyZW50IGJ1dCBlcXVpdmFsZW50IGVhc2luZyBmdW5jdGlvbnMgCiBQQVNTIEtleWZy
YW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBvdmVy
bGFwcGluZyBrZXlmcmFtZXMgCi1GQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJl
dHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25zIHdpdGggZmlsdGVyIHByb3BlcnRp
ZXMgYW5kIG1pc3Npbmcga2V5ZnJhbWVzIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29t
cHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2lu
ZyxmaWx0ZXIsb2Zmc2V0IiBidXQgZ290ICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5n
LG9mZnNldCIKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBl
Y3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCBmaWx0ZXIgcHJvcGVydGllcyBhbmQgbWlz
c2luZyBrZXlmcmFtZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydGllcyBvbiBLZXlmcmFt
ZSAjMCBzaG91bGQgbWF0Y2ggbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDUgZ290IDQKIFBBU1Mg
S2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9y
IGFuaW1hdGlvbiB3aXRoIGRyb3Atc2hhZG93IG9mIGZpbHRlciBwcm9wZXJ0eSAKLUZBSUwgS2V5
ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yIGFu
aW1hdGlvbnMgd2l0aCB0ZXh0LXNoYWRvdyBwcm9wZXJ0aWVzIGFuZCBtaXNzaW5nIGtleWZyYW1l
cyBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0
ZWQgImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0LHRleHRTaGFkb3ciIGJ1
dCBnb3QgImNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IgotRkFJTCBLZXlm
cmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgYW5p
bWF0aW9ucyB3aXRoIGJhY2tncm91bmQtc2l6ZSBwcm9wZXJ0aWVzIGFuZCBtaXNzaW5nIGtleWZy
YW1lcyBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhw
ZWN0ZWQgImJhY2tncm91bmRTaXplLGNvbXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zm
c2V0IiBidXQgZ290ICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIKLUZB
SUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMg
Zm9yIGFuaW1hdGlvbnMgd2l0aCBDU1MgdmFyaWFibGVzIGFzIGtleWZyYW1lIHZhbHVlcyBhc3Nl
cnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNv
bXBvc2l0ZSxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0LHRyYW5zZm9ybSIgYnV0IGdvdCAi
Y29tcG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiCi1GQUlMIEtleWZyYW1lRWZm
ZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25z
IHdpdGggQ1NTIHZhcmlhYmxlcyBhcyBrZXlmcmFtZSB2YWx1ZXMgaW4gYSBzaG9ydGhhbmQgcHJv
cGVydHkgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4
cGVjdGVkICJjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJn
aW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiIGJ1dCBnb3QgImNvbXBvc2l0ZSxj
b21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IgotRkFJTCBLZXlmcmFtZUVmZmVjdC5nZXRLZXlm
cmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgYW5pbWF0aW9ucyB3aXRoIGEgQ1NT
IHZhcmlhYmxlIHdoaWNoIGlzIG92ZXJyaWRlbiBieSB0aGUgdmFsdWUgaW4ga2V5ZnJhbWUgYXNz
ZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJj
b2xvcixjb21wb3NpdGUsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIgYnV0IGdvdCAiY29t
cG9zaXRlLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiCi1GQUlMIEtleWZyYW1lRWZmZWN0
LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25zIHdp
dGggb25seSBjdXN0b20gcHJvcGVydHkgaW4gYSBrZXlmcmFtZSBhc3NlcnRfZXF1YWxzOiB2YWx1
ZSBmb3IgJ3RyYW5zZm9ybScgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAidHJhbnNs
YXRlKDEwMHB4KSIgYnV0IGdvdCAibWF0cml4KDEsIDAsIDAsIDEsIDEwMCwgMCkiCitGQUlMIEtl
eWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBh
bmltYXRpb25zIHdpdGggdGV4dC1zaGFkb3cgcHJvcGVydGllcyBhbmQgbWlzc2luZyBrZXlmcmFt
ZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydGllcyBvbiBLZXlmcmFtZSAjMCBzaG91bGQg
bWF0Y2ggbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDUgZ290IDQKK0ZBSUwgS2V5ZnJhbWVFZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMg
d2l0aCBiYWNrZ3JvdW5kLXNpemUgcHJvcGVydGllcyBhbmQgbWlzc2luZyBrZXlmcmFtZXMgYXNz
ZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIHNob3Vs
ZCBtYXRjaCBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNSBnb3QgNAorRkFJTCBLZXlmcmFtZUVm
ZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgYW5pbWF0aW9u
cyB3aXRoIENTUyB2YXJpYWJsZXMgYXMga2V5ZnJhbWUgdmFsdWVzIGFzc2VydF9hcnJheV9lcXVh
bHM6IHByb3BlcnRpZXMgb24gS2V5ZnJhbWUgIzAgc2hvdWxkIG1hdGNoIGxlbmd0aHMgZGlmZmVy
LCBleHBlY3RlZCA1IGdvdCA0CitGQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJl
dHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25zIHdpdGggQ1NTIHZhcmlhYmxlcyBh
cyBrZXlmcmFtZSB2YWx1ZXMgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgYXNzZXJ0X2FycmF5X2Vx
dWFsczogcHJvcGVydGllcyBvbiBLZXlmcmFtZSAjMCBzaG91bGQgbWF0Y2ggbGVuZ3RocyBkaWZm
ZXIsIGV4cGVjdGVkIDggZ290IDQKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkg
cmV0dXJucyBleHBlY3RlZCB2YWx1ZXMgZm9yIGFuaW1hdGlvbnMgd2l0aCBhIENTUyB2YXJpYWJs
ZSB3aGljaCBpcyBvdmVycmlkZW4gYnkgdGhlIHZhbHVlIGluIGtleWZyYW1lIGFzc2VydF9hcnJh
eV9lcXVhbHM6IHByb3BlcnRpZXMgb24gS2V5ZnJhbWUgIzAgc2hvdWxkIG1hdGNoIGxlbmd0aHMg
ZGlmZmVyLCBleHBlY3RlZCA1IGdvdCA0CitGQUlMIEtleWZyYW1lRWZmZWN0LmdldEtleWZyYW1l
cygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciBhbmltYXRpb25zIHdpdGggb25seSBjdXN0
b20gcHJvcGVydHkgaW4gYSBrZXlmcmFtZSBhc3NlcnRfZXF1YWxzOiB2YWx1ZSBmb3IgJ3RyYW5z
Zm9ybScgb24gS2V5ZnJhbWUgIzAgc2hvdWxkIG1hdGNoIGV4cGVjdGVkICJ0cmFuc2xhdGUoMTAw
cHgpIiBidXQgZ290ICJtYXRyaXgoMSwgMCwgMCwgMSwgMTAwLCAwKSIKK0ZBSUwgS2V5ZnJhbWVF
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmVmbGVjdHMgY2hhbmdlcyB0byBAa2V5ZnJhbWVzIHJ1bGVz
IGFzc2VydF9lcXVhbHM6IHZhbHVlIGZvciAnbGVmdCcgb24gS2V5ZnJhbWVzIHJlZmxlY3RzIHRo
ZSB1cGRhdGVkIEBrZXlmcmFtZXMgcnVsZSBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgIjIwMHB4IiBi
dXQgZ290ICIxMDBweCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5
ZnJhbWVzLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3QtZ2V0S2V5ZnJhbWVz
LnRlbnRhdGl2ZS5odG1sCmluZGV4IDU5MWNjMTVhN2VkYTgyNzllYzVlOWFmNTI5ZjhlNmEwNmI3
Y2FhNmMuLmY3ZDc2N2RlYThjYTE1NTg5YTUzZmFlNzk1MmJiMTVlMzgzY2NkMjIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL0tleWZyYW1lRWZmZWN0LWdldEtleWZyYW1lcy50ZW50YXRpdmUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9LZXlmcmFtZUVmZmVjdC1nZXRLZXlmcmFtZXMudGVudGF0aXZlLmh0bWwKQEAgLTE2
NCwyMCArMTY0LDYgQEAKIAogY29uc3QgZ2V0S2V5ZnJhbWVzID0gZWxlbSA9PiBlbGVtLmdldEFu
aW1hdGlvbnMoKVswXS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCk7CiAKLWNvbnN0IGFzc2VydF9mcmFt
ZXNfZXF1YWwgPSAoYSwgYiwgbmFtZSkgPT4gewotICBhc3NlcnRfZXF1YWxzKE9iamVjdC5rZXlz
KGEpLnNvcnQoKS50b1N0cmluZygpLAotICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGIpLnNv
cnQoKS50b1N0cmluZygpLAotICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIG9uICIgKyBuYW1l
KTsKLSAgZm9yIChjb25zdCBwIGluIGEpIHsKLSAgICBpZiAocCA9PT0gJ29mZnNldCcgfHwgcCA9
PT0gJ2NvbXB1dGVkT2Zmc2V0JykgewotICAgICAgYXNzZXJ0X2FwcHJveF9lcXVhbHMoYVtwXSwg
YltwXSwgMC4wMDAwMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSBmb3IgJyIg
KyBwICsgIicgb24gIiArIG5hbWUpOwotICAgIH0gZWxzZSB7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KGFbcF0sIGJbcF0sICJ2YWx1ZSBmb3IgJyIgKyBwICsgIicgb24gIiArIG5hbWUpOwotICAgIH0K
LSAgfQotfTsKLQogLy8gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiB2YWx1ZXMgdG8gdGVzdCB3
aXRoLCB3aGVyZSB0aGUgdmFsdWUKIC8vIGlzIGV4YWN0bHkgdGhlIHNhbWUgYXMgaXRzIHNlcmlh
bGl6YXRpb24sIHNvcnRlZCBieSB0aGUgb3JkZXIKIC8vIGdldEtleWZyYW1lcygpIHdpbGwgZ3Jv
dXAgZnJhbWVzIHdpdGggdGhlIHNhbWUgZWFzaW5nIGZ1bmN0aW9uCkBAIC0yMjEsMTEgKzIwNyw5
IEBAIHRlc3QodCA9PiB7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsK
LQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tc2ltcGxlIDEwMHMnOwotICBjb25zdCBm
cmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5n
dGgsIDIsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1l
cyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRl
ZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsCkBAIC0yMzMsMTAgKzIxNyw3IEBAIHRlc3QodCA9
PiB7CiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJlYXNlIiwK
ICAgICAgIGNvbG9yOiAicmdiKDI1NSwgMjU1LCAyNTUpIiwgY29tcG9zaXRlOiAiYXV0byIgfSwK
ICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7IGkrKykgewotICAg
IGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwgIkNvbXB1dGVkS2V5
ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZnJhbWVzLCBl
eHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBl
Y3RlZCBmcmFtZXMgZm9yIGEgc2ltcGxlJwogICAgKyAnIGFuaW1hdGlvbicpOwogCkBAIC0yOTIs
MTEgKzI3Myw5IEBAIHRlc3QodCA9PiB7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFk
ZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tc2ltcGxlLXNob3J0aGFu
ZCAxMDBzJzsKLSAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0
X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVyIG9mIGZyYW1lcyIpOworICBjb25zdCBm
cmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAogICBjb25zdCBleHBlY3RlZCA9IFsKICAgICB7
IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6
ICJhdXRvIiwKQEAgLTMwNiwyMSArMjg1LDE2IEBAIHRlc3QodCA9PiB7CiAgICAgICBtYXJnaW5C
b3R0b206ICIxNnB4IiwgbWFyZ2luTGVmdDogIjE2cHgiLAogICAgICAgbWFyZ2luUmlnaHQ6ICIx
NnB4IiwgbWFyZ2luVG9wOiAiMTZweCIgfSwKICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8
IGZyYW1lcy5sZW5ndGg7IGkrKykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ld
LCBleHBlY3RlZFtpXSwgIkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRf
ZnJhbWVfbGlzdHNfZXF1YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3Qu
Z2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGEgc2ltcGxlJwogICAg
KyAnIGFuaW1hdGlvbiB0aGF0IHNwZWNpZmllcyBhIHNpbmdsZSBzaG9ydGhhbmQgcHJvcGVydHkn
KTsKIAogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQpOwotCiAgIGRpdi5zdHls
ZS5hbmltYXRpb24gPSAnYW5pbS1vbWl0LXRvIDEwMHMnOwogICBkaXYuc3R5bGUuY29sb3IgPSAn
cmdiKDI1NSwgMjU1LCAyNTUpJzsKLSAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7
CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVyIG9mIGZyYW1lcyIp
OworICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAogICBjb25zdCBleHBlY3Rl
ZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImVhc2Ui
LCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTMyOCwyMSArMzAyLDE2IEBAIHRlc3QodCA9PiB7CiAg
ICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJlYXNlIiwgY29tcG9z
aXRlOiAiYXV0byIsCiAgICAgICBjb2xvcjogInJnYigyNTUsIDI1NSwgMjU1KSIgfSwKICAgXTsK
LQotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7IGkrKykgewotICAgIGFzc2Vy
dF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwgIkNvbXB1dGVkS2V5ZnJhbWUg
IyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZnJhbWVzLCBleHBlY3Rl
ZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBm
cmFtZXMgZm9yIGFuICcgKwogICAgJ2FuaW1hdGlvbiB3aXRoIGEgMCUga2V5ZnJhbWUgYW5kIG5v
IDEwMCUga2V5ZnJhbWUnKTsKIAogdGVzdCh0ID0+IHsKICAgY29uc3QgZGl2ID0gYWRkRGl2KHQp
OwotCiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1vbWl0LWZyb20gMTAwcyc7CiAgIGRp
di5zdHlsZS5jb2xvciA9ICdyZ2IoMjU1LCAyNTUsIDI1NSknOwotICBjb25zdCBmcmFtZXMgPSBn
ZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDIsICJu
dW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwog
CiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDog
MCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLApAQCAtMzUwLDIxICszMTksMTYg
QEAgdGVzdCh0ID0+IHsKICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2lu
ZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKICAgICAgIGNvbG9yOiAicmdiKDAsIDAsIDI1
NSkiIH0sCiAgIF07Ci0KLSAgZm9yIChsZXQgaSA9IDA7IGkgPCBmcmFtZXMubGVuZ3RoOyBpKysp
IHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1lc1tpXSwgZXhwZWN0ZWRbaV0sICJDb21w
dXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNzZXJ0X2ZyYW1lX2xpc3RzX2VxdWFsKGZy
YW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZmZWN0LmdldEtleWZyYW1lcygpIHJldHVy
bnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiAnICsKICAgICdhbmltYXRpb24gd2l0aCBhIDEwMCUg
a2V5ZnJhbWUgYW5kIG5vIDAlIGtleWZyYW1lJyk7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRp
diA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tb21pdC1mcm9t
LXRvIDEwMHMnOwogICBkaXYuc3R5bGUuY29sb3IgPSAncmdiKDI1NSwgMjU1LCAyNTUpJzsKLSAg
Y29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFt
ZXMubGVuZ3RoLCAzLCAibnVtYmVyIG9mIGZyYW1lcyIpOworICBjb25zdCBmcmFtZXMgPSBnZXRL
ZXlmcmFtZXMoZGl2KTsKIAogICBjb25zdCBleHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwg
ICBjb21wdXRlZE9mZnNldDogMCwgICBlYXNpbmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIs
CkBAIC0zNzQsMjEgKzMzOCwxNiBAQCB0ZXN0KHQgPT4gewogICAgIHsgb2Zmc2V0OiAxLCAgIGNv
bXB1dGVkT2Zmc2V0OiAxLCAgIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKICAg
ICAgIGNvbG9yOiAicmdiKDI1NSwgMjU1LCAyNTUpIiB9LAogICBdOwotCi0gIGZvciAobGV0IGkg
PSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChm
cmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9Cisg
IGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFt
ZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4gJyAr
CiAgICAnYW5pbWF0aW9uIHdpdGggbm8gMCUgb3IgMTAwJSBrZXlmcmFtZSBidXQgd2l0aCBhIDUw
JSBrZXlmcmFtZScpOwogCiB0ZXN0KHQgPT4gewogICBjb25zdCBkaXYgPSBhZGREaXYodCk7Ci0K
ICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLXBhcnRpYWxseS1vbWl0LXRvIDEwMHMnOwog
ICBkaXYuc3R5bGUubWFyZ2luVG9wID0gJzI1MHB4JzsKLSAgY29uc3QgZnJhbWVzID0gZ2V0S2V5
ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVy
IG9mIGZyYW1lcyIpOworICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAogICBj
b25zdCBleHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVh
c2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTM5NiwyMSArMzU1LDE2IEBAIHRl
c3QodCA9PiB7CiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJl
YXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAgICBtYXJnaW5Ub3A6ICcyNTBweCcsIG1hcmdp
bkJvdHRvbTogJzIwMHB4JyB9LAogICBdOwotCi0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVz
Lmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVj
dGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9s
aXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlm
cmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4gJyArCiAgICAnYW5pbWF0aW9u
IHdpdGggYSBwYXJ0aWFsbHkgY29tcGxldGUgMTAwJSBrZXlmcmFtZSAoYmVjYXVzZSB0aGUgJyAr
CiAgICAnIWltcG9ydGFudCBydWxlIGlzIGlnbm9yZWQpJyk7CiAKIHRlc3QodCA9PiB7CiAgIGNv
bnN0IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tZGlm
ZmVyZW50LXByb3BzIDEwMHMnOwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsK
IAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDQsICJudW1iZXIgb2YgZnJhbWVzIik7
CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVk
ID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIs
IGNvbXBvc2l0ZTogImF1dG8iLApAQCAtNDIyLDIxICszNzYsMTYgQEAgdGVzdCh0ID0+IHsKICAg
ICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3Np
dGU6ICJhdXRvIiwKICAgICAgIGNvbG9yOiAicmdiKDI1NSwgMjU1LCAyNTUpIiwgbWFyZ2luVG9w
OiAiMTZweCIgfSwKICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7
IGkrKykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwg
IkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1
YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkg
cmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuICcgKwogICAgJ2FuaW1hdGlvbiB3aXRoIGRp
ZmZlcmVudCBwcm9wZXJ0aWVzIG9uIGRpZmZlcmVudCBrZXlmcmFtZXMsIGFsbCAnICsKICAgICd3
aXRoIHRoZSBzYW1lIGVhc2luZyBmdW5jdGlvbicpOwogCiB0ZXN0KHQgPT4gewogICBjb25zdCBk
aXYgPSBhZGREaXYodCk7Ci0KICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLWRpZmZlcmVu
dC1wcm9wcy1hbmQtZWFzaW5nIDEwMHMnOwotICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMo
ZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDQsICJudW1iZXIgb2YgZnJh
bWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4
cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAi
bGluZWFyIiwgY29tcG9zaXRlOiAiYXV0byIsCkBAIC00NDgsMjEgKzM5NywxNiBAQCB0ZXN0KHQg
PT4gewogICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFzaW5nOiAiZWFzZSIs
IGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgY29sb3I6ICJyZ2IoMjU1LCAyNTUsIDI1NSkiLCBt
YXJnaW5Ub3A6ICIxNnB4IiB9LAogICBdOwotCi0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVz
Lmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVj
dGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9s
aXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlm
cmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIGZyYW1lcyBmb3IgYW4gJyArCiAgICAnYW5pbWF0aW9u
IHdpdGggZGlmZmVyZW50IHByb3BlcnRpZXMgb24gZGlmZmVyZW50IGtleWZyYW1lcywgd2l0aCAn
ICsKICAgICdhIGRpZmZlcmVudCBlYXNpbmcgZnVuY3Rpb24gb24gZWFjaCcpOwogCiB0ZXN0KHQg
PT4gewogICBjb25zdCBkaXYgPSBhZGREaXYodCk7Ci0KICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9
ICdhbmltLW1lcmdlLW9mZnNldCAxMDBzJzsKLSAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVz
KGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVyIG9mIGZy
YW1lcyIpOworICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAogICBjb25zdCBl
eHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzog
ImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKQEAgLTQ3MCwyMSArNDE0LDE2IEBAIHRlc3QodCA9
PiB7CiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJlYXNlIiwg
Y29tcG9zaXRlOiAiYXV0byIsCiAgICAgICBjb2xvcjogInJnYigyNTUsIDI1NSwgMjU1KSIsIG1h
cmdpblRvcDogIjE2cHgiIH0sCiAgIF07Ci0KLSAgZm9yIChsZXQgaSA9IDA7IGkgPCBmcmFtZXMu
bGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1lc1tpXSwgZXhwZWN0
ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNzZXJ0X2ZyYW1lX2xp
c3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZmZWN0LmdldEtleWZy
YW1lcygpIHJldHVybnMgZXhwZWN0ZWQgZnJhbWVzIGZvciBhbiAnICsKICAgICdhbmltYXRpb24g
d2l0aCBtdWx0aXBsZSBrZXlmcmFtZXMgZm9yIHRoZSBzYW1lIHRpbWUsIGFuZCBhbGwgd2l0aCAn
ICsKICAgICd0aGUgc2FtZSBlYXNpbmcgZnVuY3Rpb24nKTsKIAogdGVzdCh0ID0+IHsKICAgY29u
c3QgZGl2ID0gYWRkRGl2KHQpOwotCiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1tZXJn
ZS1vZmZzZXQtYW5kLWVhc2luZyAxMDBzJzsKLSAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVz
KGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAzLCAibnVtYmVyIG9mIGZy
YW1lcyIpOworICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAogICBjb25zdCBl
eHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzog
InN0ZXBzKDEpIiwgY29tcG9zaXRlOiAiYXV0byIsCkBAIC00OTUsMjEgKzQzNCwxNiBAQCB0ZXN0
KHQgPT4gewogICAgICAgY29sb3I6ICJyZ2IoMjU1LCAyNTUsIDI1NSkiLCBmb250U2l6ZTogIjMy
cHgiLCBtYXJnaW5Ub3A6ICIxNnB4IiwKICAgICAgIHBhZGRpbmdMZWZ0OiAiNHB4IiB9LAogICBd
OwotCi0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNz
ZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFt
ZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVj
dGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVk
IGZyYW1lcyBmb3IgYW4gJyArCiAgICAnYW5pbWF0aW9uIHdpdGggbXVsdGlwbGUga2V5ZnJhbWVz
IGZvciB0aGUgc2FtZSB0aW1lIGFuZCB3aXRoICcgKwogICAgJ2RpZmZlcmVudCBlYXNpbmcgZnVu
Y3Rpb25zJyk7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLQogICBk
aXYuc3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tbm8tbWVyZ2UtZXF1aXYtZWFzaW5nIDEwMHMnOwot
ICBjb25zdCBmcmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZy
YW1lcy5sZW5ndGgsIDMsICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdl
dEtleWZyYW1lcyhkaXYpOwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAw
LCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAic3RlcHMoMSkiLCBjb21wb3NpdGU6ICJhdXRv
IiwKQEAgLTUxOSwyMSArNDUzLDE2IEBAIHRlc3QodCA9PiB7CiAgICAgeyBvZmZzZXQ6IDEsIGNv
bXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAg
ICBtYXJnaW5Ub3A6ICIyMHB4IiwgbWFyZ2luUmlnaHQ6ICIyMHB4IiwgbWFyZ2luQm90dG9tOiAi
MjBweCIgfSwKICAgXTsKLQotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7IGkr
KykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwgIkNv
bXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwo
ZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0
dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yIGFuICcgKwogICAgJ2FuaW1hdGlvbiB3aXRoIG11bHRp
cGxlIGtleWZyYW1lcyBmb3IgdGhlIHNhbWUgdGltZSBhbmQgd2l0aCAnICsKICAgICdkaWZmZXJl
bnQgYnV0IGVxdWl2YWxlbnQgZWFzaW5nIGZ1bmN0aW9ucycpOwogCiB0ZXN0KHQgPT4gewogICBj
b25zdCBkaXYgPSBhZGREaXYodCk7Ci0KICAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLW92
ZXJyaWRpbmcgMTAwcyc7Ci0gIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwogCi0g
IGFzc2VydF9lcXVhbHMoZnJhbWVzLmxlbmd0aCwgNiwgIm51bWJlciBvZiBmcmFtZXMiKTsKKyAg
Y29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKICAgY29uc3QgZXhwZWN0ZWQgPSBb
CiAgICAgeyBvZmZzZXQ6IDAsIGNvbXB1dGVkT2Zmc2V0OiAwLCBlYXNpbmc6ICJlYXNlIiwgY29t
cG9zaXRlOiAiYXV0byIsCkBAIC01NDksMTAgKzQ3OCw3IEBAIHRlc3QodCA9PiB7CiAgICAgeyBv
ZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6ICJlYXNlIiwgY29tcG9zaXRlOiAi
YXV0byIsCiAgICAgICBwYWRkaW5nVG9wOiAiNzBweCIgfSwKICAgXTsKLQotICBmb3IgKGxldCBp
ID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7IGkrKykgewotICAgIGFzc2VydF9mcmFtZXNfZXF1YWwo
ZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwgIkNvbXB1dGVkS2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQor
ICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZnJhbWVzLCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJh
bWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBleHBlY3RlZCBmcmFtZXMgZm9yICcgKwog
ICAgJ292ZXJsYXBwaW5nIGtleWZyYW1lcycpOwogCkBAIC01NjEsMTEgKzQ4Nyw5IEBAIHRlc3Qo
dCA9PiB7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYu
c3R5bGUuYW5pbWF0aW9uID0gJ2FuaW0tZmlsdGVyIDEwMHMnOwotICBjb25zdCBmcmFtZXMgPSBn
ZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDIsICJu
dW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYpOwog
CiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDog
MCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLApAQCAtNTczLDIwICs0OTcsMTUg
QEAgdGVzdCh0ID0+IHsKICAgICB7IG9mZnNldDogMSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2lu
ZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKICAgICAgIGZpbHRlcjogImJsdXIoNXB4KSBz
ZXBpYSg2MCUpIHNhdHVyYXRlKDMwJSkiIH0sCiAgIF07Ci0KLSAgZm9yIChsZXQgaSA9IDA7IGkg
PCBmcmFtZXMubGVuZ3RoOyBpKyspIHsKLSAgICBhc3NlcnRfZnJhbWVzX2VxdWFsKGZyYW1lc1tp
XSwgZXhwZWN0ZWRbaV0sICJDb21wdXRlZEtleWZyYW1lICMiICsgaSk7Ci0gIH0KKyAgYXNzZXJ0
X2ZyYW1lX2xpc3RzX2VxdWFsKGZyYW1lcywgZXhwZWN0ZWQpOwogfSwgJ0tleWZyYW1lRWZmZWN0
LmdldEtleWZyYW1lcygpIHJldHVybnMgZXhwZWN0ZWQgdmFsdWVzIGZvciAnICsKICAgICdhbmlt
YXRpb25zIHdpdGggZmlsdGVyIHByb3BlcnRpZXMgYW5kIG1pc3Npbmcga2V5ZnJhbWVzJyk7CiAK
IHRlc3QodCA9PiB7CiAgIGNvbnN0IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUuYW5p
bWF0aW9uID0gJ2FuaW0tZmlsdGVyLWRyb3Atc2hhZG93IDEwMHMnOwotICBjb25zdCBmcmFtZXMg
PSBnZXRLZXlmcmFtZXMoZGl2KTsKIAotICBhc3NlcnRfZXF1YWxzKGZyYW1lcy5sZW5ndGgsIDIs
ICJudW1iZXIgb2YgZnJhbWVzIik7CisgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1lcyhkaXYp
OwogCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNl
dDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLApAQCAtNTk0LDEwICs1MTMs
NyBAQCB0ZXN0KHQgPT4gewogICAgIHsgb2Zmc2V0OiAxLCBjb21wdXRlZE9mZnNldDogMSwgZWFz
aW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgZmlsdGVyOiAiZHJvcC1zaGFk
b3cocmdiKDI1NSwgMCwgMCkgNTBweCAzMHB4IDEwcHgpIiB9LAogICBdOwotCi0gIGZvciAobGV0
IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVh
bChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9
CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlm
cmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgJyAr
CiAgICAnYW5pbWF0aW9uIHdpdGggZHJvcC1zaGFkb3cgb2YgZmlsdGVyIHByb3BlcnR5Jyk7CiAK
QEAgLTYwNywxNCArNTIzLDEyIEBAIHRlc3QodCA9PiB7CiAKIHRlc3QodCA9PiB7CiAgIGNvbnN0
IGRpdiA9IGFkZERpdih0KTsKLQogICBkaXYuc3R5bGUudGV4dFNoYWRvdyA9ICcxcHggMXB4IDJw
eCByZ2IoMCwgMCwgMCksICcgKwogICAgICAgICAgICAgICAgICAgICAgICAgICcwIDAgMTZweCBy
Z2IoMCwgMCwgMjU1KSwgJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzAgMCAzLjJweCBy
Z2IoMCwgMCwgMjU1KSc7CiAgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS10ZXh0LXNoYWRv
dyAxMDBzJzsKLSAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0
X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVyIG9mIGZyYW1lcyIpOworICBjb25zdCBm
cmFtZXMgPSBnZXRLZXlmcmFtZXMoZGl2KTsKIAogICBjb25zdCBleHBlY3RlZCA9IFsKICAgICB7
IG9mZnNldDogMCwgY29tcHV0ZWRPZmZzZXQ6IDAsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6
ICJhdXRvIiwKQEAgLTYyNCwxMCArNTM4LDcgQEAgdGVzdCh0ID0+IHsKICAgICB7IG9mZnNldDog
MSwgY29tcHV0ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwK
ICAgICAgIHRleHRTaGFkb3c6ICJub25lIiB9LAogICBdOwotCi0gIGZvciAobGV0IGkgPSAwOyBp
IDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNb
aV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2Vy
dF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVj
dC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgJyArCiAgICAnYW5p
bWF0aW9ucyB3aXRoIHRleHQtc2hhZG93IHByb3BlcnRpZXMgYW5kIG1pc3Npbmcga2V5ZnJhbWVz
Jyk7CiAKQEAgLTY3MywxNyArNTg0LDEzIEBAIHRlc3QodCA9PiB7CiAKICAgY29uc3QgZnJhbWVz
ID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAy
LCAibnVtYmVyIG9mIGZyYW1lcyIpOwotCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zm
c2V0OiAwLCBjb21wdXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1
dG8iLAogICAgICAgdHJhbnNmb3JtOiAibm9uZSIgfSwKICAgICB7IG9mZnNldDogMSwgY29tcHV0
ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKICAgICAgIHRy
YW5zZm9ybTogInRyYW5zbGF0ZSgxMDBweCkiIH0sCiAgIF07Ci0gIGZvciAobGV0IGkgPSAwOyBp
IDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNb
aV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2Vy
dF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVj
dC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgJyArCiAgICAnYW5p
bWF0aW9ucyB3aXRoIENTUyB2YXJpYWJsZXMgYXMga2V5ZnJhbWUgdmFsdWVzJyk7CiAKQEAgLTY5
Myw4ICs2MDAsNiBAQCB0ZXN0KHQgPT4gewogCiAgIGNvbnN0IGZyYW1lcyA9IGdldEtleWZyYW1l
cyhkaXYpOwogCi0gIGFzc2VydF9lcXVhbHMoZnJhbWVzLmxlbmd0aCwgMiwgIm51bWJlciBvZiBm
cmFtZXMiKTsKLQogICBjb25zdCBleHBlY3RlZCA9IFsKICAgICB7IG9mZnNldDogMCwgY29tcHV0
ZWRPZmZzZXQ6IDAsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKICAgICAgIG1h
cmdpbkJvdHRvbTogIjBweCIsCkBAIC03MDcsOSArNjEyLDcgQEAgdGVzdCh0ID0+IHsKICAgICAg
IG1hcmdpblJpZ2h0OiAiMTAwcHgiLAogICAgICAgbWFyZ2luVG9wOiAiMTAwcHgiIH0sCiAgIF07
Ci0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0
X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVkW2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAj
IiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChmcmFtZXMsIGV4cGVjdGVk
KTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFtZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZh
bHVlcyBmb3IgJyArCiAgICAnYW5pbWF0aW9ucyB3aXRoIENTUyB2YXJpYWJsZXMgYXMga2V5ZnJh
bWUgdmFsdWVzIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5Jyk7CiAKQEAgLTcxOSwxNyArNjIyLDEz
IEBAIHRlc3QodCA9PiB7CiAKICAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CiAK
LSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVyIG9mIGZyYW1lcyIpOwot
CiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21wdXRlZE9mZnNldDog
MCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAgY29sb3I6ICJyZ2Io
MCwgMCwgMCkiIH0sCiAgICAgeyBvZmZzZXQ6IDEsIGNvbXB1dGVkT2Zmc2V0OiAxLCBlYXNpbmc6
ICJlYXNlIiwgY29tcG9zaXRlOiAiYXV0byIsCiAgICAgICBjb2xvcjogInJnYigwLCAyNTUsIDAp
IiB9LAogICBdOwotICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7IGkrKykgewot
ICAgIGFzc2VydF9mcmFtZXNfZXF1YWwoZnJhbWVzW2ldLCBleHBlY3RlZFtpXSwgIkNvbXB1dGVk
S2V5ZnJhbWUgIyIgKyBpKTsKLSAgfQorICBhc3NlcnRfZnJhbWVfbGlzdHNfZXF1YWwoZnJhbWVz
LCBleHBlY3RlZCk7CiB9LCAnS2V5ZnJhbWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmV0dXJucyBl
eHBlY3RlZCB2YWx1ZXMgZm9yICcgKwogICAgJ2FuaW1hdGlvbnMgd2l0aCBhIENTUyB2YXJpYWJs
ZSB3aGljaCBpcyBvdmVycmlkZW4gYnkgdGhlIHZhbHVlIGluIGtleWZyYW1lJyk7CiAKQEAgLTcz
OSwxOSArNjM4LDYzIEBAIHRlc3QodCA9PiB7CiAKICAgY29uc3QgZnJhbWVzID0gZ2V0S2V5ZnJh
bWVzKGRpdik7CiAKLSAgYXNzZXJ0X2VxdWFscyhmcmFtZXMubGVuZ3RoLCAyLCAibnVtYmVyIG9m
IGZyYW1lcyIpOwotCiAgIGNvbnN0IGV4cGVjdGVkID0gWwogICAgIHsgb2Zmc2V0OiAwLCBjb21w
dXRlZE9mZnNldDogMCwgZWFzaW5nOiAiZWFzZSIsIGNvbXBvc2l0ZTogImF1dG8iLAogICAgICAg
dHJhbnNmb3JtOiAidHJhbnNsYXRlKDEwMHB4KSIgfSwKICAgICB7IG9mZnNldDogMSwgY29tcHV0
ZWRPZmZzZXQ6IDEsIGVhc2luZzogImVhc2UiLCBjb21wb3NpdGU6ICJhdXRvIiwKICAgICAgIHRy
YW5zZm9ybTogIm5vbmUiIH0sCiAgIF07Ci0gIGZvciAobGV0IGkgPSAwOyBpIDwgZnJhbWVzLmxl
bmd0aDsgaSsrKSB7Ci0gICAgYXNzZXJ0X2ZyYW1lc19lcXVhbChmcmFtZXNbaV0sIGV4cGVjdGVk
W2ldLCAiQ29tcHV0ZWRLZXlmcmFtZSAjIiArIGkpOwotICB9CisgIGFzc2VydF9mcmFtZV9saXN0
c19lcXVhbChmcmFtZXMsIGV4cGVjdGVkKTsKIH0sICdLZXlmcmFtZUVmZmVjdC5nZXRLZXlmcmFt
ZXMoKSByZXR1cm5zIGV4cGVjdGVkIHZhbHVlcyBmb3IgJyArCiAgICAnYW5pbWF0aW9ucyB3aXRo
IG9ubHkgY3VzdG9tIHByb3BlcnR5IGluIGEga2V5ZnJhbWUnKTsKIAordGVzdCh0ID0+IHsKKyAg
Y29uc3QgZGl2ID0gYWRkRGl2KHQpOworCisgIC8vIEFkZCBjdXN0b20gQGtleWZyYW1lcyBydWxl
CisgIGNvbnN0IHN0eWxlc2hlZXQgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1swXTsKKyAgY29uc3Qg
a2V5ZnJhbWVzID0gJ0BrZXlmcmFtZXMgYW5pbS1jdXN0b20geyB0byB7IGxlZnQ6IDEwMHB4IH0g
fSc7CisgIGNvbnN0IHJ1bGVJbmRleCA9IHN0eWxlc2hlZXQuaW5zZXJ0UnVsZShrZXlmcmFtZXMs
IDApOworICBjb25zdCBrZXlmcmFtZXNSdWxlID0gc3R5bGVzaGVldC5jc3NSdWxlc1tydWxlSW5k
ZXhdOworCisgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgc3R5bGVzaGVldC5kZWxl
dGVSdWxlKHJ1bGVJbmRleCk7CisgIH0pOworCisgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5p
bS1jdXN0b20gMTAwcyc7CisKKyAgLy8gU2FuaXR5IGNoZWNrIHRoZSBpbml0aWFsIHJlc3VsdAor
ICBsZXQgZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CisgIGFzc2VydF9mcmFtZXNfZXF1YWwo
CisgICAgZnJhbWVzW2ZyYW1lcy5sZW5ndGggLSAxXSwKKyAgICB7CisgICAgICBvZmZzZXQ6IDEs
CisgICAgICBjb21wdXRlZE9mZnNldDogMSwKKyAgICAgIGVhc2luZzogJ2Vhc2UnLAorICAgICAg
Y29tcG9zaXRlOiAnYXV0bycsCisgICAgICBsZWZ0OiAnMTAwcHgnLAorICAgIH0sCisgICAgJ0tl
eWZyYW1lcyByZWZsZWN0IHRoZSBpbml0aWFsIEBrZXlmcmFtZXMgcnVsZScKKyAgKTsKKworICAv
LyBVcGRhdGUgdGhlIEBrZXlmcmFtZXMgcnVsZQorICBrZXlmcmFtZXNSdWxlLmRlbGV0ZVJ1bGUo
MCk7CisgIGtleWZyYW1lc1J1bGUuYXBwZW5kUnVsZSgndG8geyBsZWZ0OiAyMDBweCB9Jyk7CisK
KyAgLy8gQ2hlY2sgdGhlIHJlc3VsdCBmcm9tIGdldEtleWZyYW1lcygpIGlzIHVwZGF0ZWQKKyAg
ZnJhbWVzID0gZ2V0S2V5ZnJhbWVzKGRpdik7CisgIGFzc2VydF9mcmFtZXNfZXF1YWwoCisgICAg
ZnJhbWVzW2ZyYW1lcy5sZW5ndGggLSAxXSwKKyAgICB7CisgICAgICBvZmZzZXQ6IDEsCisgICAg
ICBjb21wdXRlZE9mZnNldDogMSwKKyAgICAgIGVhc2luZzogJ2Vhc2UnLAorICAgICAgY29tcG9z
aXRlOiAnYXV0bycsCisgICAgICBsZWZ0OiAnMjAwcHgnLAorICAgIH0sCisgICAgJ0tleWZyYW1l
cyByZWZsZWN0cyB0aGUgdXBkYXRlZCBAa2V5ZnJhbWVzIHJ1bGUnCisgICk7Cit9LCAnS2V5ZnJh
bWVFZmZlY3QuZ2V0S2V5ZnJhbWVzKCkgcmVmbGVjdHMgY2hhbmdlcyB0byBAa2V5ZnJhbWVzIHJ1
bGVzJyk7CisKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvS2V5ZnJhbWVF
ZmZlY3Qtc2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFt
ZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
ZjE1OGNiYzgzMjM2Yzc0YmM0MTFiMTdhNDRkODFlYjdjYjIxNmQwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvS2V5ZnJhbWVFZmZlY3Qtc2V0S2V5ZnJhbWVzLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACisKK0ZBSUwgS2V5ZnJhbWVFZmZlY3Quc2V0S2V5ZnJhbWVzKCkg
Y2F1c2VzIHN1YnNlcXVlbnQgY2hhbmdlcyB0byBAa2V5ZnJhbWVzIHJ1bGVzIHRvIGJlIGlnbm9y
ZWQgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5rZXlzKGFj
dHVhbCknKQorRkFJTCBLZXlmcmFtZUVmZmVjdC5zZXRLZXlmcmFtZXMoKSBjYXVzZXMgc3Vic2Vx
dWVudCBjaGFuZ2VzIHRvIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gdG8gYmUgaWdub3JlZCB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnYW5pbWF0aW9uLmVmZmVjdC5n
ZXRLZXlmcmFtZXMoKVswXS5lYXNpbmcnKQorRkFJTCBLZXlmcmFtZUVmZmVjdC5zZXRLZXlmcmFt
ZXMoKSBzaG91bGQgTk9UIGNhdXNlIHN1YnNlcXVlbnQgY2hhbmdlcyB0byBAa2V5ZnJhbWVzIHJ1
bGVzIHRvIGJlIGlnbm9yZWQgaWYgaXQgdGhyZXcgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ09iamVjdC5rZXlzKGFjdHVhbCknKQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9L
ZXlmcmFtZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFt
ZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Q4Zjg0NTQx
M2EzOGRhYWU5YmNjOWQ2Y2UyNTFlNDRjZGE1ODJjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0tleWZyYW1lRWZmZWN0LXNldEtleWZyYW1lcy50ZW50YXRpdmUuaHRtbApAQCAtMCwwICsxLDEy
MiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPktleWZy
YW1lRWZmZWN0LnNldEtleWZyYW1lcygpIGZvciBDU1MgYW5pbWF0aW9uczwvdGl0bGU+Cis8IS0t
IFRPRE86IEFkZCBhIG1vcmUgc3BlY2lmaWMgbGluayBmb3IgdGhpcyBvbmNlIGl0IGlzIHNwZWNp
ZmllZC4gLS0+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9y
Zy9jc3MtYW5pbWF0aW9ucy0yLyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic3VwcG9ydC90ZXN0Y29tbW9uLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KK0BrZXlmcmFtZXMgYW5pbS1zaW1wbGUgeworICBmcm9tIHsgbGVmdDog
MHB4IH0KKyAgdG8gICB7IGxlZnQ6IDEwMHB4IH0KK30KKzwvc3R5bGU+Cis8Ym9keT4KKzxkaXYg
aWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCisvLyBOb3RlIHRoYXQg
dGhlIHNhbml0eSBjaGVjayB0aGF0IGdldEtleWZyYW1lcygpIG5vcm1hbGx5IERPRVMgcmV0dXJu
IHRoZQorLy8gdXBkYXRlZCBrZXlmcmFtZXMgaXMgY29udGFpbmVkIGluIEtleWZyYW1lRWZmZWN0
LWdldEtleWZyYW1lcy5odG1sLgordGVzdCh0ID0+IHsKKyAgY29uc3QgZGl2ID0gYWRkRGl2KHQp
OworCisgIC8vIEFkZCBjdXN0b20gQGtleWZyYW1lcyBydWxlCisgIGNvbnN0IHN0eWxlc2hlZXQg
PSBkb2N1bWVudC5zdHlsZVNoZWV0c1swXTsKKyAgY29uc3Qga2V5ZnJhbWVzID0gJ0BrZXlmcmFt
ZXMgYW5pbS1jdXN0b20geyB0byB7IGxlZnQ6IDEwMHB4IH0gfSc7CisgIGNvbnN0IHJ1bGVJbmRl
eCA9IHN0eWxlc2hlZXQuaW5zZXJ0UnVsZShrZXlmcmFtZXMsIDApOworICBjb25zdCBrZXlmcmFt
ZXNSdWxlID0gc3R5bGVzaGVldC5jc3NSdWxlc1tydWxlSW5kZXhdOworCisgIHQuYWRkX2NsZWFu
dXAoZnVuY3Rpb24oKSB7CisgICAgc3R5bGVzaGVldC5kZWxldGVSdWxlKHJ1bGVJbmRleCk7Cisg
IH0pOworCisgIGRpdi5zdHlsZS5hbmltYXRpb24gPSAnYW5pbS1jdXN0b20gMTAwcyc7CisKKyAg
Ly8gVXBkYXRlIHRoZSBrZXlmcmFtZXMgdmlhIHRoZSBBUEkKKyAgY29uc3QgYW5pbWF0aW9uID0g
ZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKKyAgYW5pbWF0aW9uLmVmZmVjdC5zZXRLZXlmcmFtZXMo
eyBsZWZ0OiAnMjAwcHgnIH0pOworCisgIC8vIFRoZW4gdXBkYXRlIHRoZW0gdmlhIHN0eWxlCisg
IGtleWZyYW1lc1J1bGUuZGVsZXRlUnVsZSgwKTsKKyAga2V5ZnJhbWVzUnVsZS5hcHBlbmRSdWxl
KCd0byB7IGxlZnQ6IDMwMHB4IH0nKTsKKworICAvLyBUaGUgcmVzdWx0IHNob3VsZCBiZSB0aGUg
a2V5ZnJhbWVzIGFzIHNldCBieSB0aGUgQVBJLCBub3QgdmlhIHN0eWxlLgorICBjb25zdCBmcmFt
ZXMgPSBhbmltYXRpb24uZWZmZWN0LmdldEtleWZyYW1lcygpOworICBhc3NlcnRfZnJhbWVzX2Vx
dWFsKAorICAgIGZyYW1lc1tmcmFtZXMubGVuZ3RoIC0gMV0sCisgICAgeworICAgICAgb2Zmc2V0
OiBudWxsLAorICAgICAgY29tcHV0ZWRPZmZzZXQ6IDEsCisgICAgICBlYXNpbmc6ICdsaW5lYXIn
LAorICAgICAgY29tcG9zaXRlOiAnYXV0bycsCisgICAgICBsZWZ0OiAnMjAwcHgnLAorICAgIH0s
CisgICAgJ0tleWZyYW1lcyByZWZsZWN0IHRoZSB2YWx1ZSBzZXQgdmlhIHNldEtleWZyYW1lcycK
KyAgKTsKK30sICdLZXlmcmFtZUVmZmVjdC5zZXRLZXlmcmFtZXMoKSBjYXVzZXMgc3Vic2VxdWVu
dCBjaGFuZ2VzIHRvIEBrZXlmcmFtZXMnCisgICArICcgcnVsZXMgdG8gYmUgaWdub3JlZCcpOwor
Cit0ZXN0KHQgPT4geworICBjb25zdCBkaXYgPSBhZGREaXYodCk7CisgIGRpdi5zdHlsZS5hbmlt
YXRpb24gPSAnYW5pbS1zaW1wbGUgMTAwcyc7CisKKyAgY29uc3QgYW5pbWF0aW9uID0gZGl2Lmdl
dEFuaW1hdGlvbnMoKVswXTsKKyAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uZWZmZWN0LmdldEtl
eWZyYW1lcygpWzBdLmVhc2luZywgJ2Vhc2UnKTsKKworICBhbmltYXRpb24uZWZmZWN0LnNldEtl
eWZyYW1lcyh7IGxlZnQ6IFsnMjAwcHgnLCAnMzAwcHgnXSB9KTsKKyAgYXNzZXJ0X2VxdWFscyhh
bmltYXRpb24uZWZmZWN0LmdldEtleWZyYW1lcygpWzBdLmVhc2luZywgJ2xpbmVhcicpOworCisg
IGRpdi5zdHlsZS5hbmltYXRpb25UaW1pbmdGdW5jdGlvbiA9ICdlYXNlLWluJzsKKyAgZ2V0Q29t
cHV0ZWRTdHlsZShkaXYpLmFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uOworCisgIGFzc2VydF9lcXVh
bHMoCisgICAgYW5pbWF0aW9uLmVmZmVjdC5nZXRLZXlmcmFtZXMoKVswXS5lYXNpbmcsCisgICAg
J2xpbmVhcicsCisgICAgJ0Vhc2luZyBzaG91bGQgYmUgdGhlIGVhc2luZyBzZXQgYnkgdGhlIEFQ
SScKKyAgKTsKK30sICdLZXlmcmFtZUVmZmVjdC5zZXRLZXlmcmFtZXMoKSBjYXVzZXMgc3Vic2Vx
dWVudCBjaGFuZ2VzIHRvJworICAgKyAnIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gdG8gYmUg
aWdub3JlZCcpOworCit0ZXN0KHQgPT4geworICBjb25zdCBkaXYgPSBhZGREaXYodCk7CisKKyAg
Y29uc3Qgc3R5bGVzaGVldCA9IGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdOworICBjb25zdCBrZXlm
cmFtZXMgPSAnQGtleWZyYW1lcyBhbmltLWN1c3RvbSB7IHRvIHsgbGVmdDogMTAwcHggfSB9JzsK
KyAgY29uc3QgcnVsZUluZGV4ID0gc3R5bGVzaGVldC5pbnNlcnRSdWxlKGtleWZyYW1lcywgMCk7
CisgIGNvbnN0IGtleWZyYW1lc1J1bGUgPSBzdHlsZXNoZWV0LmNzc1J1bGVzW3J1bGVJbmRleF07
CisKKyAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICBzdHlsZXNoZWV0LmRlbGV0ZVJ1
bGUocnVsZUluZGV4KTsKKyAgfSk7CisKKyAgZGl2LnN0eWxlLmFuaW1hdGlvbiA9ICdhbmltLWN1
c3RvbSAxMDBzJzsKKworICAvLyBUcnkgdXBkYXRpbmcgaW4gYSB3YXkgdGhhdCB0aHJvd3MgYW4g
ZXJyb3IKKyAgY29uc3QgYW5pbWF0aW9uID0gZGl2LmdldEFuaW1hdGlvbnMoKVswXTsKKyAgYXNz
ZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgpID0+IHsKKyAgICBhbmltYXRpb24uZWZmZWN0LnNl
dEtleWZyYW1lcyh7IGxlZnQ6ICcyMDBweCcsIG9mZnNldDogJ3llcicgfSk7CisgIH0pOworCisg
IGtleWZyYW1lc1J1bGUuZGVsZXRlUnVsZSgwKTsKKyAga2V5ZnJhbWVzUnVsZS5hcHBlbmRSdWxl
KCd0byB7IGxlZnQ6IDMwMHB4IH0nKTsKKworICAvLyBUaGUgcmVzdWx0IHNob3VsZCBiZSB0aGUg
a2V5ZnJhbWVzIGFzIHNldCB2aWEgc3R5bGUuCisgIGNvbnN0IGZyYW1lcyA9IGFuaW1hdGlvbi5l
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCk7CisgIGFzc2VydF9mcmFtZXNfZXF1YWwoCisgICAgZnJhbWVz
W2ZyYW1lcy5sZW5ndGggLSAxXSwKKyAgICB7CisgICAgICBvZmZzZXQ6IDEsCisgICAgICBjb21w
dXRlZE9mZnNldDogMSwKKyAgICAgIGVhc2luZzogJ2Vhc2UnLAorICAgICAgY29tcG9zaXRlOiAn
YXV0bycsCisgICAgICBsZWZ0OiAnMzAwcHgnLAorICAgIH0sCisgICAgJ0tleWZyYW1lcyByZWZs
ZWN0IHRoZSB2YWx1ZSBzZXQgdmlhIHN0eWxlJworICApOworfSwgJ0tleWZyYW1lRWZmZWN0LnNl
dEtleWZyYW1lcygpIHNob3VsZCBOT1QgY2F1c2Ugc3Vic2VxdWVudCBjaGFuZ2VzIHRvJworICAg
KyAnIEBrZXlmcmFtZXMgcnVsZXMgdG8gYmUgaWdub3JlZCBpZiBpdCB0aHJldycpOworCis8L3Nj
cmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNl
LTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNDU0MTAxOWNiY2RhN2Q0NGIyM2M1MjlkZjYwMGNjZTBk
YWMxOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0w
MDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitGQUlMIGVtIHVuaXRzIHJlc3BvbmQg
dG8gZm9udC1zaXplIGFuaW1hdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTVweCIgYnV0
IGdvdCAiMXB4IgorRkFJTCBleCB1bml0cyByZXNwb25kIHRvIGZvbnQtc2l6ZSBhbmltYXRpb24g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjYuNzE4NzVweCIgYnV0IGdvdCAiMC40Mzc1cHgiCitG
QUlMIHZhcigpIHJlZmVyZW5jZXMgcmVzcG9uZCB0byBjdXN0b20gcHJvcGVydHkgYW5pbWF0aW9u
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIyMHB4IiBidXQgZ290ICIwcHgiCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0
aW9uLWJhc2UtcmVzcG9uc2UtMDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY3MzFlMTc5ODIzNTg0NTc3
ZjQyYTY0OWY2ZjM2NjU2MTFhNTIyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlv
bi1iYXNlLXJlc3BvbnNlLTAwMS5odG1sCkBAIC0wLDAgKzEsNzUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPHRpdGxlPlRlc3QgdGhhdCBub24tYW5pbWF0ZWQgc3R5bGUgaXMgcmVzcG9uc2l2ZSB0byBh
bmltYXRlZCBwcm9wZXJ0aWVzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbmltYXRpb25zLyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIEBrZXlmcmFtZXMgZm9u
dF9zaXplX2FuaW1hdGlvbiB7CisgICAgZnJvbSB7IGZvbnQtc2l6ZTogMTBweDsgfQorICAgIHRv
IHsgZm9udC1zaXplOiAyMHB4OyB9CisgIH0KKyAgQGtleWZyYW1lcyB2YXJfYW5pbWF0aW9uIHsK
KyAgICBmcm9tIHsgLS14OiAxMHB4OyB9CisgICAgdG8geyAtLXg6IDIwcHg7IH0KKyAgfQorICAj
dGFyZ2V0cyA+IGRpdiB7CisgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwczsKKyAgICBhbmlt
YXRpb24tZGVsYXk6IC01MDBzOworICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXBz
KDIsIGVuZCk7CisgIH0KKworICAjdGFyZ2V0MSB7CisgICAgYW5pbWF0aW9uLW5hbWU6IGZvbnRf
c2l6ZV9hbmltYXRpb247CisgICAgZm9udC1zaXplOiAxcHg7CisgICAgd2lkdGg6IDFlbTsKKyAg
fQorICAjcmVmMSB7CisgICAgd2lkdGg6IDE1cHg7CisgIH0KKworICAjdGFyZ2V0MiB7CisgICAg
YW5pbWF0aW9uLW5hbWU6IGZvbnRfc2l6ZV9hbmltYXRpb247CisgICAgZm9udC1zaXplOiAxcHg7
CisgICAgd2lkdGg6IDFleDsKKyAgfQorICAjcmVmMiB7CisgICAgZm9udC1zaXplOiAxNXB4Owor
ICAgIHdpZHRoOiAxZXg7CisgIH0KKworICAjdGFyZ2V0MyB7CisgICAgYW5pbWF0aW9uLW5hbWU6
IHZhcl9hbmltYXRpb247CisgICAgLS14OiAwcHg7CisgICAgd2lkdGg6IHZhcigtLXgpOworICB9
CisgICNyZWYzIHsKKyAgICB3aWR0aDogMjBweDsKKyAgfQorPC9zdHlsZT4KKzxkaXYgaWQ9InRh
cmdldHMiPgorICA8ZGl2IGlkPSJ0YXJnZXQxIj48L2Rpdj4KKyAgPGRpdiBpZD0idGFyZ2V0MiI+
PC9kaXY+CisgIDxkaXYgaWQ9InRhcmdldDMiPjwvZGl2PgorPC9kaXY+Cis8ZGl2IGlkPSJyZWZz
Ij4KKyAgPGRpdiBpZD0icmVmMSI+PC9kaXY+CisgIDxkaXYgaWQ9InJlZjIiPjwvZGl2PgorICA8
ZGl2IGlkPSJyZWYzIj48L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKworLy8gVGVzdCB0aGF0IHRo
ZSBjb21wdXRlZCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gcHJvcGVydHkgaXMgZXF1YWwgb24KKy8vICd0
YXJnZXQnIGFuZCAncmVmJy4KK2Z1bmN0aW9uIHRlc3RfcmVmKHRhcmdldCwgcmVmLCBwcm9wZXJ0
eSwgZGVzY3JpcHRpb24pIHsKKyAgdGVzdCgoKSA9PiB7CisgICAgbGV0IGFjdHVhbCA9IGdldENv
bXB1dGVkU3R5bGUodGFyZ2V0KS5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5KTsKKyAgICBsZXQg
ZXhwZWN0ZWQgPSBnZXRDb21wdXRlZFN0eWxlKHJlZikuZ2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0
eSk7CisgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGV4cGVjdGVkKTsKKyAgfSwgZGVzY3JpcHRp
b24pOworfQorCit0ZXN0X3JlZih0YXJnZXQxLCByZWYxLCAnd2lkdGgnLCAnZW0gdW5pdHMgcmVz
cG9uZCB0byBmb250LXNpemUgYW5pbWF0aW9uJyk7Cit0ZXN0X3JlZih0YXJnZXQyLCByZWYyLCAn
d2lkdGgnLCAnZXggdW5pdHMgcmVzcG9uZCB0byBmb250LXNpemUgYW5pbWF0aW9uJyk7Cit0ZXN0
X3JlZih0YXJnZXQzLCByZWYzLCAnd2lkdGgnLCAndmFyKCkgcmVmZXJlbmNlcyByZXNwb25kIHRv
IGN1c3RvbSBwcm9wZXJ0eSBhbmltYXRpb24nKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YzY4Yjk4
MjIwYmZkYmFkNmI0ODhlY2ViNDcxYTI0NzIzZDY5ZDE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBBbmltYXRlZCBmb250LXNpemUgb24gcm9vdCBhZmZlY3RzIHJlbSB1bml0cyAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWVhOTY0
Zjc1ZGE0ZGVmNWU5NDg3NWRlZWQzNzYxZTYyMmQyM2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAyLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8dGl0bGU+VGVzdCB0aGF0IHJlbSB1bml0cyBhcmUgcmVzcG9uc2l2ZSB0
byBhbmltYXRlZCBmb250LXNpemUgb24gcm9vdDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYW5pbWF0aW9ucy8iPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICBAa2V5
ZnJhbWVzIGZvbnRfc2l6ZV9hbmltYXRpb24geworICAgIGZyb20geyBmb250LXNpemU6IDEwcHg7
IH0KKyAgICB0byB7IGZvbnQtc2l6ZTogMjBweDsgfQorICB9CisgIDpyb290IHsKKyAgICBmb250
LXNpemU6IDFweDsKKyAgICBhbmltYXRpb246IGZvbnRfc2l6ZV9hbmltYXRpb24gc3RlcHMoMiwg
ZW5kKSAxMDAwcyAtNTAwczsKKyAgfQorCisgICN0YXJnZXQxIHsKKyAgICB3aWR0aDogMXJlbTsK
KyAgfQorPC9zdHlsZT4KKzxkaXYgaWQ9InRhcmdldDEiPjwvZGl2PgorPHNjcmlwdD4KK3Rlc3Qo
KCkgPT4geworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0MSkuZ2V0UHJv
cGVydHlWYWx1ZSgnd2lkdGgnKSwgJzE1cHgnKTsKK30sICdBbmltYXRlZCBmb250LXNpemUgb24g
cm9vdCBhZmZlY3RzIHJlbSB1bml0cycpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9h
bmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9u
LWJhc2UtcmVzcG9uc2UtMDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjU2YzZmMDA5N2Fi
OTYzZjRmYjY4MmJiMjk1ZGNkNGIxZWJjNDE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKwor
RkFJTCBJZGVudGljYWwgZWxlbWVudHMgYXJlIGFsbCByZXNwb25zaXZlIHRvIGZvbnQtc2l6ZSBh
bmltYXRpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjE1cHgiIGJ1dCBnb3QgIjFweCIKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmU2ZGE3MzA5
YzNjNWI3NDFmMmY2NDI2NmE1NDdhMzY0M2Q0M2IyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
YW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDAzLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8dGl0bGU+VGVzdHMgdGhhdCBpZGVudGljYWwgZWxlbWVudHMgaW4gdGhlIGJh
c2Ugc3R5bGUgcmVzcG9uZHMgdG8gZm9udC1zaXplIGFuaW1hdGlvbjwvdGl0bGU+Cis8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYW5pbWF0aW9ucy8i
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorICBAa2V5ZnJhbWVzIGZvbnRfc2l6ZV9hbmltYXRpb24geworICAgIGZyb20geyBmb250
LXNpemU6IDEwcHg7IH0KKyAgICB0byB7IGZvbnQtc2l6ZTogMjBweDsgfQorICB9CisgIGRpdiB7
CisgICAgZm9udC1zaXplOiAxcHg7CisgICAgbWluLXdpZHRoOiAxZW07CisgICAgYW5pbWF0aW9u
OiBmb250X3NpemVfYW5pbWF0aW9uIHN0ZXBzKDIsIGVuZCkgMTAwMHMgLTUwMHM7CisgIH0KKzwv
c3R5bGU+Cis8ZGl2PjwvZGl2PgorPGRpdj48L2Rpdj4KKzxkaXY+PC9kaXY+Cis8c2NyaXB0Pgor
dGVzdCgoKSA9PiB7CisgIGxldCBkaXZzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGl2
Jyk7CisgIGZvciAobGV0IGRpdiBvZiBkaXZzKQorICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0
ZWRTdHlsZShkaXYpLmdldFByb3BlcnR5VmFsdWUoJ21pbi13aWR0aCcpLCAnMTVweCcpOworfSwg
J0lkZW50aWNhbCBlbGVtZW50cyBhcmUgYWxsIHJlc3BvbnNpdmUgdG8gZm9udC1zaXplIGFuaW1h
dGlvbicpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNw
b25zZS0wMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9uc2UtMDA0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNGNlMzJmNTY1Yjg0ZmI5ZDM2MTg1MzFkYTE2MjRh
Y2I3Nzk2MDcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVzcG9u
c2UtMDA0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBCYXNlIGlzIHJlc3Bv
bnNpdmUgdG8gZm9udC1hZmZlY3RpbmcgYXBwZWFyaW5nIHZpYSBzZXRLZXlmcmFtZXMgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIjE1cHgiIGJ1dCBnb3QgIjc1cHgiCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJh
c2UtcmVzcG9uc2UtMDA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTYzOGE1NzJlOTBjNzQ1YmVhMjIwZTUz
MDEyMTA1NDE4MTdjNDU5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1iYXNl
LXJlc3BvbnNlLTAwNC5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRp
dGxlPlRlc3RzIHRoYXQgYmFzZSByZXNwb25kcyB0byBmb250LWFmZmVjdGluZyBwcm9wZXJ0aWVz
IGFwcGVhcmluZyB2aWEgc2V0S2V5ZnJhbWVzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbmltYXRpb25zLyI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICN0YXJn
ZXQxIHsKKyAgICBmb250LXNpemU6IDEwcHg7CisgICAgaGVpZ2h0OiAxZW07CisgIH0KKzwvc3R5
bGU+Cis8ZGl2IGlkPXRhcmdldDE+PC9kaXY+Cis8c2NyaXB0PgorICB0ZXN0KGZ1bmN0aW9uKCkg
eworICAgIGdldENvbXB1dGVkU3R5bGUodGFyZ2V0MSkuaGVpZ2h0OworCisgICAgbGV0IGFuaW1h
dGlvbiA9IHRhcmdldDEuYW5pbWF0ZShbCisgICAgICB7IGhlaWdodDogJzUwcHgnIH0sCisgICAg
ICB7IGhlaWdodDogJzEwMHB4JyB9LAorICAgIF0sIHsKKyAgICAgIGR1cmF0aW9uOiAxMDAwMDAw
LAorICAgICAgZGVsYXk6IC01MDAwMDAsCisgICAgICBlYXNpbmc6ICdzdGVwcygyLCBlbmQpJwor
ICAgIH0pOworCisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldDEpLmhl
aWdodCwgJzc1cHgnKTsKKworICAgIGFuaW1hdGlvbi5lZmZlY3Quc2V0S2V5ZnJhbWVzKFsKKyAg
ICAgIHsgZm9udFNpemU6ICcxMHB4JyB9LAorICAgICAgeyBmb250U2l6ZTogJzIwcHgnIH0sCisg
ICAgXSk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0MSkuaGVp
Z2h0LCAnMTVweCcpOworICB9LCAnQmFzZSBpcyByZXNwb25zaXZlIHRvIGZvbnQtYWZmZWN0aW5n
IGFwcGVhcmluZyB2aWEgc2V0S2V5ZnJhbWVzJyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlv
bi1pbXBvcnRhbnQtMDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjIwNDIyMWVjMTUzNzNk
ZjY3NzNhNWRhN2Y1YjNjZmJkY2Y0OTFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0
aW9uLWltcG9ydGFudC0wMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCitQQVNTIElu
dGVycG9sYXRlZCB2YWx1ZSBpcyBvYnNlcnZhYmxlIAorRkFJTCBJbXBvcnRhbnQgcnVsZXMgb3Zl
cnJpZGUgYW5pbWF0aW9ucyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwgMCki
IGJ1dCBnb3QgInJnYigxNSwgMTUsIDE1KSIKK0ZBSUwgTm9uLW92ZXJyaWRlbiBpbnRlcnBvbGF0
aW9ucyBhcmUgb2JzZXJ2YWJsZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAsIDEyOCwg
MCkiIGJ1dCBnb3QgInJnYigxNSwgMTUsIDE1KSIKK0ZBSUwgSW1wb3J0YW50IHJ1bGVzIG92ZXJy
aWRlIGFuaW1hdGlvbnMgKDo6YmVmb3JlKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDAs
IDEyOCwgMCkiIGJ1dCBnb3QgInJnYigxNSwgMTUsIDE1KSIKK1BBU1MgSW1wb3J0YW50IHJ1bGVz
IGRvIG5vdCBvdmVycmlkZSBhbmltYXRpb25zIG9uIDp2aXNpdGVkIGFzIHNlZW4gZnJvbSBKUyAK
K0ZBSUwgU3RhbmRhcmQgcHJvcGVydHkgYW5pbWF0aW9ucyBhcHBlYXJpbmcgdmlhIHNldEtleWZy
YW1lcyBkbyBub3Qgb3ZlcnJpZGUgaW1wb3J0YW50IGRlY2xhcmF0aW9ucyBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAicmdiKDI1NSwgMjU1LCAyNTUpIiBidXQgZ290ICJyZ2IoMTUsIDE1LCAxNSki
CitGQUlMIEN1c3RvbSBwcm9wZXJ0eSBhbmltYXRpb25zIGFwcGVhcmluZyB2aWEgc2V0S2V5ZnJh
bWVzIGRvIG5vdCBvdmVycmlkZSBpbXBvcnRhbnQgZGVjbGFyYXRpb25zIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICIxNTBweCIgYnV0IGdvdCAiMTBweCIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uLWltcG9ydGFudC0wMDEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAx
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmIxZmNmZDc2YjYwZGExMDZjNmU5NDJiMzE5YzdkODU1OWYyOTc2
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAxLmh0bWwK
QEAgLTAsMCArMSwxNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlRlc3QgIWltcG9ydGFu
dCBkZWNsYXJhdGlvbnMgdnMuIGFuaW1hdGlvbiBlZmZlY3RzPC90aXRsZT4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jYXNjYWRlLyNjYXNjYWRl
LW9yaWdpbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorICBDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7CisgICAgbmFtZTogIi0tbGVu
Z3RoLTEiLAorICAgIHN5bnRheDogIjxsZW5ndGg+IiwKKyAgICBpbml0aWFsVmFsdWU6ICIwcHgi
LAorICAgIGluaGVyaXRzOiBmYWxzZQorICB9KTsKKyAgQ1NTLnJlZ2lzdGVyUHJvcGVydHkoewor
ICAgIG5hbWU6ICItLWxlbmd0aC0yIiwKKyAgICBzeW50YXg6ICI8bGVuZ3RoPiIsCisgICAgaW5p
dGlhbFZhbHVlOiAiMHB4IiwKKyAgICBpbmhlcml0czogZmFsc2UKKyAgfSk7Cis8L3NjcmlwdD4K
KzxzdHlsZT4KKyAgQGtleWZyYW1lcyBiZ2NvbG9yX2FuaW1hdGlvbiB7CisgICAgZnJvbSB7IGJh
Y2tncm91bmQtY29sb3I6IHJnYigxMCwgMTAsIDEwKTsgfQorICAgIHRvIHsgYmFja2dyb3VuZC1j
b2xvcjogcmdiKDIwLCAyMCwgMjApOyB9CisgIH0KKyAgQGtleWZyYW1lcyBjb2xvcl9hbmRfYmdf
YW5pbWF0aW9uIHsKKyAgICBmcm9tIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwLCAxMCwgMTAp
OyBjb2xvcjogcmdiKDEwLCAxMCwgMTApOyB9CisgICAgdG8geyBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2IoMjAsIDIwLCAyMCk7IGNvbG9yOiByZ2IoMjAsIDIwLCAyMCk7IH0KKyAgfQorICBhLCBkaXYs
IDo6YmVmb3JleworICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMHM7CisgICAgYW5pbWF0aW9u
LWRlbGF5OiAtNTAwczsKKyAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBzdGVwcygyLCBl
bmQpOworICB9CisgICN0YXJnZXQxIHsKKyAgICBhbmltYXRpb24tbmFtZTogYmdjb2xvcl9hbmlt
YXRpb247CisgIH0KKyAgI3RhcmdldDIgeworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAx
MjgsIDApICFpbXBvcnRhbnQ7CisgICAgYW5pbWF0aW9uLW5hbWU6IGJnY29sb3JfYW5pbWF0aW9u
OworICB9CisgICN0YXJnZXQzIHsKKyAgICBjb2xvcjogcmdiKDAsIDEyOCwgMCkgIWltcG9ydGFu
dDsKKyAgICBhbmltYXRpb24tbmFtZTogY29sb3JfYW5kX2JnX2FuaW1hdGlvbjsKKyAgfQorICAj
dGFyZ2V0NDo6YmVmb3JlIHsKKyAgICBjb2xvcjogcmdiKDAsIDEyOCwgMCkgIWltcG9ydGFudDsK
KyAgICBhbmltYXRpb24tbmFtZTogY29sb3JfYW5kX2JnX2FuaW1hdGlvbjsKKyAgICBjb250ZW50
OiAiICI7CisgIH0KKyAgI3RhcmdldDUgeworICAgIGFuaW1hdGlvbi1uYW1lOiBjb2xvcl9hbmRf
YmdfYW5pbWF0aW9uOworICB9CisgICN0YXJnZXQ1OnZpc2l0ZWQgeworICAgIGNvbG9yOiByZ2Io
MCwgMTI4LCAwKSAhaW1wb3J0YW50OworICB9CisgICN0YXJnZXQ2IHsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiB3aGl0ZTsKKyAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsKKyAgfQorICAjdGFy
Z2V0NyB7CisgICAgLS1sZW5ndGgtMTogMTBweDsKKyAgICAtLWxlbmd0aC0yOiAxMHB4ICFpbXBv
cnRhbnQ7CisgIH0KKzwvc3R5bGU+Cis8ZGl2IGlkPSJ0YXJnZXQxIj48L2Rpdj4KKzxkaXYgaWQ9
InRhcmdldDIiPjwvZGl2PgorPGRpdiBpZD0idGFyZ2V0MyI+PC9kaXY+Cis8ZGl2IGlkPSJ0YXJn
ZXQ0Ij48L2Rpdj4KKzxhIGhyZWY9IiIgaWQ9InRhcmdldDUiPjwvYT4KKzxzcGFuIGlkPSJ0YXJn
ZXQ2Ij48L3NwYW4+Cis8c3BhbiBpZD0idGFyZ2V0NyI+PC9zcGFuPgorPHNjcmlwdD4KK3Rlc3Qo
KCkgPT4geworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0MSkuYmFja2dy
b3VuZENvbG9yLCAncmdiKDE1LCAxNSwgMTUpJyk7Cit9LCAnSW50ZXJwb2xhdGVkIHZhbHVlIGlz
IG9ic2VydmFibGUnKTsKKwordGVzdCgoKSA9PiB7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0
ZWRTdHlsZSh0YXJnZXQyKS5iYWNrZ3JvdW5kQ29sb3IsICdyZ2IoMCwgMTI4LCAwKScpOworfSwg
J0ltcG9ydGFudCBydWxlcyBvdmVycmlkZSBhbmltYXRpb25zJyk7CisKK3Rlc3QoKCkgPT4gewor
ICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0MykuY29sb3IsICdyZ2IoMCwg
MTI4LCAwKScpOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0MykuYmFj
a2dyb3VuZENvbG9yLCAncmdiKDE1LCAxNSwgMTUpJyk7Cit9LCAnTm9uLW92ZXJyaWRlbiBpbnRl
cnBvbGF0aW9ucyBhcmUgb2JzZXJ2YWJsZScpOworCit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0X2Vx
dWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldDQsICc6OmJlZm9yZScpLmNvbG9yLCAncmdiKDAs
IDEyOCwgMCknKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldDQsICc6
OmJlZm9yZScpLmJhY2tncm91bmRDb2xvciwgJ3JnYigxNSwgMTUsIDE1KScpOworfSwgJ0ltcG9y
dGFudCBydWxlcyBvdmVycmlkZSBhbmltYXRpb25zICg6OmJlZm9yZSknKTsKKwordGVzdCgoKSA9
PiB7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQ1KS5jb2xvciwgJ3Jn
YigxNSwgMTUsIDE1KScpOworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0
NSkuYmFja2dyb3VuZENvbG9yLCAncmdiKDE1LCAxNSwgMTUpJyk7Cit9LCAnSW1wb3J0YW50IHJ1
bGVzIGRvIG5vdCBvdmVycmlkZSBhbmltYXRpb25zIG9uIDp2aXNpdGVkIGFzIHNlZW4gZnJvbSBK
UycpOworCit0ZXN0KCgpID0+IHsKKyAgZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQ2KS5iYWNrZ3Jv
dW5kQ29sb3I7CisKKyAgbGV0IGFuaW1hdGlvbiA9IHRhcmdldDYuYW5pbWF0ZShbCisgICAgeyBi
YWNrZ3JvdW5kQ29sb3I6ICdyZ2IoMTAsIDEwLCAxMCknIH0sCisgICAgeyBiYWNrZ3JvdW5kQ29s
b3I6ICdyZ2IoMjAsIDIwLCAyMCknIH0sCisgIF0sIHsKKyAgICBkdXJhdGlvbjogMTAwMDAwMCwK
KyAgICBkZWxheTogLTUwMDAwMCwKKyAgICBlYXNpbmc6ICdzdGVwcygyLCBlbmQpJworICB9KTsK
KworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0NikuYmFja2dyb3VuZENv
bG9yLCAncmdiKDE1LCAxNSwgMTUpJyk7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHls
ZSh0YXJnZXQ2KS5jb2xvciwgJ3JnYigyNTUsIDI1NSwgMjU1KScpOworCisgIGFuaW1hdGlvbi5l
ZmZlY3Quc2V0S2V5ZnJhbWVzKFsKKyAgICB7IGNvbG9yOiAncmdiKDEwLCAxMCwgMTApJyB9LAor
ICAgIHsgY29sb3I6ICdyZ2IoMjAsIDIwLCAyMCknIH0sCisgIF0pOworCisgIGFzc2VydF9lcXVh
bHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQ2KS5iYWNrZ3JvdW5kQ29sb3IsICdyZ2IoMjU1LCAy
NTUsIDI1NSknKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldDYpLmNv
bG9yLCAncmdiKDI1NSwgMjU1LCAyNTUpJyk7Cit9LCAnU3RhbmRhcmQgcHJvcGVydHkgYW5pbWF0
aW9ucyBhcHBlYXJpbmcgdmlhIHNldEtleWZyYW1lcyBkbyBub3Qgb3ZlcnJpZGUgaW1wb3J0YW50
IGRlY2xhcmF0aW9ucycpOworCit0ZXN0KCgpID0+IHsKKyAgZ2V0Q29tcHV0ZWRTdHlsZSh0YXJn
ZXQ3KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aC0xJyk7CisKKyAgbGV0IGFuaW1hdGlvbiA9
IHRhcmdldDcuYW5pbWF0ZShbCisgICAgeyAnLS1sZW5ndGgtMSc6ICcxMDBweCcgfSwKKyAgICB7
ICctLWxlbmd0aC0xJzogJzIwMHB4JyB9LAorICBdLCB7CisgICAgZHVyYXRpb246IDEwMDAwMDAs
CisgICAgZGVsYXk6IC01MDAwMDAsCisgICAgZWFzaW5nOiAnc3RlcHMoMiwgZW5kKScKKyAgfSk7
CisKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldDcpLmdldFByb3BlcnR5
VmFsdWUoJy0tbGVuZ3RoLTEnKSwgJzE1MHB4Jyk7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0
ZWRTdHlsZSh0YXJnZXQ3KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWxlbmd0aC0yJyksICcxMHB4Jyk7
CisKKyAgYW5pbWF0aW9uLmVmZmVjdC5zZXRLZXlmcmFtZXMoWworICAgIHsgJy0tbGVuZ3RoLTIn
OiAnMTAwcHgnIH0sCisgICAgeyAnLS1sZW5ndGgtMic6ICcyMDBweCcgfSwKKyAgXSk7CisKKyAg
YXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldDcpLmdldFByb3BlcnR5VmFsdWUo
Jy0tbGVuZ3RoLTEnKSwgJzEwcHgnKTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxl
KHRhcmdldDcpLmdldFByb3BlcnR5VmFsdWUoJy0tbGVuZ3RoLTInKSwgJzEwcHgnKTsKK30sICdD
dXN0b20gcHJvcGVydHkgYW5pbWF0aW9ucyBhcHBlYXJpbmcgdmlhIHNldEtleWZyYW1lcyBkbyBu
b3Qgb3ZlcnJpZGUgaW1wb3J0YW50IGRlY2xhcmF0aW9ucycpOworCis8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAyLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy9hbmltYXRpb24taW1wb3J0YW50LTAwMi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyODU1
Y2I5MWU2Yjc4MGZjNjM3NTI4MGIwNjQzMzM1ODAyZGQ0ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9hbmltYXRpb24taW1wb3J0YW50LTAwMi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsOSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8c3R5bGU+CisgIGEgeworICAgIHRleHQtZGVjb3JhdGlvbjog
dW5kZXJsaW5lOworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAxNTAsIDApOworICB9Cis8
L3N0eWxlPgorPGEgc3R5bGU9ImNvbG9yOiByZ2IoMTUwLCAwLCAwKSI+VW52aXNpdGVkPC9hPgor
PGEgc3R5bGU9ImNvbG9yOiB3aGl0ZSI+VmlzaXRlZDwvYT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2Fu
aW1hdGlvbi1pbXBvcnRhbnQtMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50LTAw
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJhNjhmOGUwY2FjZjA2ZTJlNTc2MWVmMzkyYjkwYTRmODlmY2M4
NDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50LTAwMi5odG1s
CkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlRlc3QgdGhhdCBhbmlt
YXRlZCBwcm9wZXJ0aWVzIG9uIDp2aXNpdGVkIGFyZSBvdmVycmlkZGVuIGJ5ICFpbXBvcnRhbnQ8
L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLWNhc2NhZGUvI2Nhc2NhZGUtb3JpZ2luIj4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9ImFu
aW1hdGlvbi1pbXBvcnRhbnQtMDAyLXJlZi5odG1sIj4KKzxzdHlsZT4KKyAgQGtleWZyYW1lcyBj
b2xvcl9hbmRfYmdfYW5pbWF0aW9uIHsKKyAgICBmcm9tIHsgYmFja2dyb3VuZC1jb2xvcjogcmdi
KDAsIDEwMCwgMCk7IGNvbG9yOiByZ2IoMTAwLCAwLCAwKTsgfQorICAgIHRvIHsgYmFja2dyb3Vu
ZC1jb2xvcjogcmdiKDAsIDIwMCwgMCk7IGNvbG9yOiByZ2IoMjAwLCAwLCAwKTsgfQorICB9Cisg
IGEgeworICAgIGFuaW1hdGlvbi1uYW1lOiBjb2xvcl9hbmRfYmdfYW5pbWF0aW9uOworICAgIGFu
aW1hdGlvbi1kdXJhdGlvbjogMTAwMHM7CisgICAgYW5pbWF0aW9uLWRlbGF5OiAtNTAwczsKKyAg
ICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBzdGVwcygyLCBlbmQpOworICB9CisgIGE6dmlz
aXRlZCB7CisgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7CisgIH0KKzwvc3R5bGU+Cis8YSBo
cmVmPSIjdW52aXNpdGVkIj5VbnZpc2l0ZWQ8L2E+Cis8YSBocmVmPSIiPlZpc2l0ZWQ8L2E+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYW5pbWF0aW9ucy9ldmVudC1kaXNwYXRjaC50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2
ZW50LWRpc3BhdGNoLnRlbnRhdGl2ZS5odG1sCmluZGV4IGJmNTc4MmQyNGZkMmU5NTdiZDczMjM1
ZTBlMWQ4YjJiMWU3Y2Q0MWQuLjc3MGY5YjAwYjFmZDNkYjQzOGY2ZDAzZjdjODUzNWNmMWQyZTM2
ODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LWRpc3BhdGNoLnRlbnRhdGl2ZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL2V2ZW50LWRpc3BhdGNoLnRlbnRhdGl2ZS5odG1sCkBAIC0yMSw3ICsyMSw4IEBAIGNv
bnN0IHNldHVwQW5pbWF0aW9uID0gKHQsIGFuaW1hdGlvblN0eWxlKSA9PiB7CiAgIGNvbnN0IHdh
dGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVyKHQsIGRpdiwgWyAnYW5pbWF0aW9uc3RhcnQnLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FuaW1hdGlvbml0ZXJh
dGlvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5p
bWF0aW9uZW5kJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdhbmltYXRpb25jYW5jZWwnIF0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ2FuaW1hdGlvbmNhbmNlbCcgXSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmFzdEV2ZW50c1RpbWVvdXQpOwogICBjb25zdCBhbmltYXRpb24gPSBkaXYu
Z2V0QW5pbWF0aW9ucygpWzBdOwogCiAgIHJldHVybiB7IGFuaW1hdGlvbiwgd2F0Y2hlciwgZGl2
IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCAzMjZiNmYx
Y2M0ZjNhYzA4NjE3YmE3ZWJmMGY2NzQzZDI3NTU4NzJjLi5jOWU0MzE4MjM2MGI0Mzc1OWY5Njc1
M2Y0MTMyMGYwMmIzMWNiMWU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRp
dmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKQEAgLTEsNiArMSw3IEBACiAKIFBBU1MgU2FtZSBldmVudHMgYXJlIG9yZGVyZWQgYnkg
ZWxlbWVudHMgCiBQQVNTIFNhbWUgZXZlbnRzIG9uIHBzZXVkby1lbGVtZW50cyBmb2xsb3cgdGhl
IHByZXNjcmliZWQgb3JkZXIgCitGQUlMIFNhbWUgZXZlbnRzIG9uIHBzZXVkby1lbGVtZW50cyBm
b2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIgKDo6bWFya2VyKSBhc3NlcnRfZXF1YWxzOiBOdW1i
ZXIgb2YgZXZlbnRzIHJlY2VpdmVkICg0KSBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgbnVtYmVyICg1
KSAoZXhwZWN0ZWQ6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3Rh
cnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYWN0dWFsOiBhbmltYXRpb25zdGFy
dCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCkgZXhwZWN0
ZWQgNSBidXQgZ290IDQKIEZBSUwgU3RhcnQgYW5kIGl0ZXJhdGlvbiBldmVudHMgYXJlIG9yZGVy
ZWQgYnkgdGltZSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0eXBlcyBzaG91bGQgbWF0Y2ggKGV4
cGVjdGVkOiBhbmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbnN0YXJ0LCBhY3R1YWw6IGFuaW1h
dGlvbnN0YXJ0LCBhbmltYXRpb25pdGVyYXRpb24pIGV4cGVjdGVkICJhbmltYXRpb25pdGVyYXRp
b24iIGJ1dCBnb3QgImFuaW1hdGlvbnN0YXJ0IgogRkFJTCBJdGVyYXRpb24gYW5kIGVuZCBldmVu
dHMgYXJlIG9yZGVyZWQgYnkgdGltZSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0eXBlcyBzaG91
bGQgbWF0Y2ggKGV4cGVjdGVkOiBhbmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbmVuZCwgYWN0
dWFsOiBhbmltYXRpb25lbmQsIGFuaW1hdGlvbml0ZXJhdGlvbikgZXhwZWN0ZWQgImFuaW1hdGlv
bml0ZXJhdGlvbiIgYnV0IGdvdCAiYW5pbWF0aW9uZW5kIgogRkFJTCBTdGFydCBhbmQgZW5kIGV2
ZW50cyBhcmUgc29ydGVkIGNvcnJlY3RseSB3aGVuIGZpcmVkIHNpbXVsdGFuZW91c2x5IGFzc2Vy
dF9lcXVhbHM6IEV2ZW50ICMxIHRhcmdldHMgc2hvdWxkIG1hdGNoIGV4cGVjdGVkIEVsZW1lbnQg
bm9kZSA8ZGl2IHN0eWxlPSJhbmltYXRpb246IGFuaW0gMTAwcyAyIj48L2Rpdj4gYnV0IGdvdCBF
bGVtZW50IG5vZGUgPGRpdiBzdHlsZT0iYW5pbWF0aW9uOiBhbmltIDEwMHMgMTAwcyI+PC9kaXY+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2
ZW50LW9yZGVyLnRlbnRhdGl2ZS5odG1sCmluZGV4IGY0ZjllMjlhM2M4NTlkYWFhOTcyN2ZlMzAw
OWY4MzdhN2RkZWIxYmUuLjU4ZjBiYjY3Y2FmZGQ2YmM4MWIxN2E4ODQ1MjgwZGVkOTRiNzNiNjMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS5odG1sCkBAIC0xMjksNjIgKzEyOSw2OCBAQCBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgWydhbmltYXRpb25lbmQn
LCBkaXYyLCAyMDBdKTsKIH0sICdTYW1lIGV2ZW50cyBhcmUgb3JkZXJlZCBieSBlbGVtZW50cycp
OwogCi1wcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gIC8vIFNldHVwIGEgaGllcmFyY2h5IGFz
IGZvbGxvd3M6Ci0gIC8vCi0gIC8vICAgICAgICAgICAgICBwYXJlbnQKLSAgLy8gICAgICAgICAg
ICAgICAgfAotICAvLyAgKDo6bWFya2VyLCA6OmJlZm9yZSwgOjphZnRlcikKLSAgLy8gICAgICAg
ICAgICAgICAgfAotICAvLyAgICAgICAgICAgICAgY2hpbGQKLSAgY29uc3QgcGFyZW50RGl2ID0g
YWRkRGl2KHQsIHsgc3R5bGU6ICdhbmltYXRpb246IGFuaW0gMTAwcycgfSk7Ci0KLSAgcGFyZW50
RGl2LmlkID0gJ3BhcmVudC1kaXYnOwotICBhZGRTdHlsZSh0LCB7Ci0gICAgJyNwYXJlbnQtZGl2
OjphZnRlcic6ICJjb250ZW50OiAnJzsgYW5pbWF0aW9uOiBhbmltIDEwMHMiLAotICAgICcjcGFy
ZW50LWRpdjo6YmVmb3JlJzogImNvbnRlbnQ6ICcnOyBhbmltYXRpb246IGFuaW0gMTAwcyIsCi0g
IH0pOwotCi0gIGlmIChDU1Muc3VwcG9ydHMoJ3NlbGVjdG9yKDo6bWFya2VyKScpKSB7Ci0gICAg
cGFyZW50RGl2LnN0eWxlLmRpc3BsYXkgPSAnbGlzdC1pdGVtJzsKK2Z1bmN0aW9uIHBzZXVkb1Rl
c3QoZGVzY3JpcHRpb24sIHRlc3RNYXJrZXJQc2V1ZG9zKSB7CisgIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgICAvLyBTZXR1cCBhIGhpZXJhcmNoeSBhcyBmb2xsb3dzOgorICAgIC8vCisg
ICAgLy8gICAgICAgICAgICAgIHBhcmVudAorICAgIC8vICAgICAgICAgICAgICAgIHwKKyAgICAv
LyAgKDo6bWFya2VyLCA6OmJlZm9yZSwgOjphZnRlcikgLy8gOjptYXJrZXIgb3B0aW9uYWwKKyAg
ICAvLyAgICAgICAgICAgICAgICB8CisgICAgLy8gICAgICAgICAgICAgIGNoaWxkCisgICAgY29u
c3QgcGFyZW50RGl2ID0gYWRkRGl2KHQsIHsgc3R5bGU6ICdhbmltYXRpb246IGFuaW0gMTAwcycg
fSk7CisKKyAgICBwYXJlbnREaXYuaWQgPSAncGFyZW50LWRpdic7CiAgICAgYWRkU3R5bGUodCwg
ewotICAgICAgJyNwYXJlbnQtZGl2OjptYXJrZXInOiAiY29udGVudDogJyc7IGFuaW1hdGlvbjog
Y29sb3ItYW5pbSAxMDBzIiwKKyAgICAgICcjcGFyZW50LWRpdjo6YWZ0ZXInOiAiY29udGVudDog
Jyc7IGFuaW1hdGlvbjogYW5pbSAxMDBzIiwKKyAgICAgICcjcGFyZW50LWRpdjo6YmVmb3JlJzog
ImNvbnRlbnQ6ICcnOyBhbmltYXRpb246IGFuaW0gMTAwcyIsCiAgICAgfSk7Ci0gIH0KIAotICBj
b25zdCBjaGlsZERpdiA9IGFkZERpdih0LCB7IHN0eWxlOiAnYW5pbWF0aW9uOiBhbmltIDEwMHMn
IH0pOwotICBwYXJlbnREaXYuYXBwZW5kKGNoaWxkRGl2KTsKLQotICAvLyBTZXR1cCBldmVudCBo
YW5kbGVycwotICBsZXQgZXZlbnRzID0gW107Ci0gIGZvciAoY29uc3QgbmFtZSBvZiBbJ3N0YXJ0
JywgJ2l0ZXJhdGlvbicsICdlbmQnLCAnY2FuY2VsJ10pIHsKLSAgICBwYXJlbnREaXZbJ29uYW5p
bWF0aW9uJyArIG5hbWVdID0gZXZ0ID0+IHsKLSAgICAgIGV2ZW50cy5wdXNoKHsKLSAgICAgICAg
dHlwZTogZXZ0LnR5cGUsCi0gICAgICAgIHRhcmdldDogZXZ0LnRhcmdldCwKLSAgICAgICAgcHNl
dWRvRWxlbWVudDogZXZ0LnBzZXVkb0VsZW1lbnQsCi0gICAgICAgIGVsYXBzZWRUaW1lOiBldnQu
ZWxhcHNlZFRpbWUsCisgICAgaWYgKHRlc3RNYXJrZXJQc2V1ZG9zKSB7CisgICAgICBwYXJlbnRE
aXYuc3R5bGUuZGlzcGxheSA9ICdsaXN0LWl0ZW0nOworICAgICAgYWRkU3R5bGUodCwgeworICAg
ICAgICAnI3BhcmVudC1kaXY6Om1hcmtlcic6ICJjb250ZW50OiAnJzsgYW5pbWF0aW9uOiBjb2xv
ci1hbmltIDEwMHMiLAogICAgICAgfSk7Ci0gICAgfTsKLSAgfQotCi0gIC8vIFdhaXQgYSBjb3Vw
bGUgb2YgZnJhbWVzIGZvciB0aGUgZXZlbnRzIHRvIGJlIGRpc3BhdGNoZWQKLSAgYXdhaXQgd2Fp
dEZvckZyYW1lKCk7Ci0gIGF3YWl0IHdhaXRGb3JGcmFtZSgpOwotCi0gIGNvbnN0IGV4cGVjdGVk
RXZlbnRzID0gWwotICAgIFsnYW5pbWF0aW9uc3RhcnQnLCBwYXJlbnREaXYsIDBdLAotICAgIFsn
YW5pbWF0aW9uc3RhcnQnLCBwYXJlbnREaXYsICc6Om1hcmtlcicsIDBdLAotICAgIFsnYW5pbWF0
aW9uc3RhcnQnLCBwYXJlbnREaXYsICc6OmJlZm9yZScsIDBdLAotICAgIFsnYW5pbWF0aW9uc3Rh
cnQnLCBwYXJlbnREaXYsICc6OmFmdGVyJywgMF0sCi0gICAgWydhbmltYXRpb25zdGFydCcsIGNo
aWxkRGl2LCAwXSwKLSAgXTsKLSAgaWYgKCFDU1Muc3VwcG9ydHMoJ3NlbGVjdG9yKDo6bWFya2Vy
KScpKSB7Ci0gICAgZXhwZWN0ZWRFdmVudHMuc3BsaWNlKDEsIDEpOwotICB9CisgICAgfQorCisg
ICAgY29uc3QgY2hpbGREaXYgPSBhZGREaXYodCwgeyBzdHlsZTogJ2FuaW1hdGlvbjogYW5pbSAx
MDBzJyB9KTsKKyAgICBwYXJlbnREaXYuYXBwZW5kKGNoaWxkRGl2KTsKKworICAgIC8vIFNldHVw
IGV2ZW50IGhhbmRsZXJzCisgICAgbGV0IGV2ZW50cyA9IFtdOworICAgIGZvciAoY29uc3QgbmFt
ZSBvZiBbJ3N0YXJ0JywgJ2l0ZXJhdGlvbicsICdlbmQnLCAnY2FuY2VsJ10pIHsKKyAgICAgIHBh
cmVudERpdlsnb25hbmltYXRpb24nICsgbmFtZV0gPSBldnQgPT4geworICAgICAgICBldmVudHMu
cHVzaCh7CisgICAgICAgICAgdHlwZTogZXZ0LnR5cGUsCisgICAgICAgICAgdGFyZ2V0OiBldnQu
dGFyZ2V0LAorICAgICAgICAgIHBzZXVkb0VsZW1lbnQ6IGV2dC5wc2V1ZG9FbGVtZW50LAorICAg
ICAgICAgIGVsYXBzZWRUaW1lOiBldnQuZWxhcHNlZFRpbWUsCisgICAgICAgIH0pOworICAgICAg
fTsKKyAgICB9CisKKyAgICAvLyBXYWl0IGEgY291cGxlIG9mIGZyYW1lcyBmb3IgdGhlIGV2ZW50
cyB0byBiZSBkaXNwYXRjaGVkCisgICAgYXdhaXQgd2FpdEZvckZyYW1lKCk7CisgICAgYXdhaXQg
d2FpdEZvckZyYW1lKCk7CisKKyAgICBjb25zdCBleHBlY3RlZEV2ZW50cyA9IFsKKyAgICAgIFsn
YW5pbWF0aW9uc3RhcnQnLCBwYXJlbnREaXYsIDBdLAorICAgICAgWydhbmltYXRpb25zdGFydCcs
IHBhcmVudERpdiwgJzo6bWFya2VyJywgMF0sCisgICAgICBbJ2FuaW1hdGlvbnN0YXJ0JywgcGFy
ZW50RGl2LCAnOjpiZWZvcmUnLCAwXSwKKyAgICAgIFsnYW5pbWF0aW9uc3RhcnQnLCBwYXJlbnRE
aXYsICc6OmFmdGVyJywgMF0sCisgICAgICBbJ2FuaW1hdGlvbnN0YXJ0JywgY2hpbGREaXYsIDBd
LAorICAgIF07CisgICAgaWYgKCF0ZXN0TWFya2VyUHNldWRvcykgeworICAgICAgZXhwZWN0ZWRF
dmVudHMuc3BsaWNlKDEsIDEpOworICAgIH0KKworICAgIGNoZWNrRXZlbnRzKGV2ZW50cywgLi4u
ZXhwZWN0ZWRFdmVudHMpOworICB9LCBkZXNjcmlwdGlvbik7Cit9CiAKLSAgY2hlY2tFdmVudHMo
ZXZlbnRzLCAuLi5leHBlY3RlZEV2ZW50cyk7Ci19LCAnU2FtZSBldmVudHMgb24gcHNldWRvLWVs
ZW1lbnRzIGZvbGxvdyB0aGUgcHJlc2NyaWJlZCBvcmRlcicpOworcHNldWRvVGVzdCgnU2FtZSBl
dmVudHMgb24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUgcHJlc2NyaWJlZCBvcmRlcicsIGZh
bHNlKTsKK3BzZXVkb1Rlc3QoJ1NhbWUgZXZlbnRzIG9uIHBzZXVkby1lbGVtZW50cyBmb2xsb3cg
dGhlIHByZXNjcmliZWQgb3JkZXIgJyArCisgICAgJyg6Om1hcmtlciknLCB0cnVlKTsKIAogcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBsZXQgZXZlbnRzID0gW107CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9oaXN0b3JpY2FsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9oaXN0b3JpY2FsLmh0bWwKaW5kZXggNWI5NmE0
MjJmNTVmNDVjZGRhYmRmMDExYWNiODNlNTA4MWVjMWVmMy4uZjliMTNmYTAxNjMyM2Y1MzYyMzAz
ODE2N2VkN2U0NDRmMTBmZDBiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvaGlzdG9yaWNhbC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL2hpc3RvcmljYWwuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1s
PgogCiA8dGl0bGU+SGlzdG9yaWNhbCBDU1MgQW5pbWF0aW9uIGZlYXR1cmVzIG11c3QgYmUgcmVt
b3ZlZDwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RS
L2NzczMtYW5pbWF0aW9ucyI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9jc3MtYW5pbWF0aW9ucy0xLyNhbmltYXRpb25zIj4KIAogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMva2V5
ZnJhbWVzLXJlbW92ZS1kb2N1bWVudEVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
a2V5ZnJhbWVzLXJlbW92ZS1kb2N1bWVudEVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2M2EwNGMyOGIxMmQ1MDAzNzMxN2E2YjQ5ZTllNGVh
ZGM5MjJhMmEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL2tleWZyYW1lcy1yZW1vdmUtZG9jdW1lbnRFbGVtZW50LWNyYXNoLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJy
b3I6IG51bGwgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZCcpCi0jUElEIFVOUkVTUE9OU0lWRSAtIFdlYktpdFRlc3RSdW5uZXIgKHBpZCA4NDU3
MCkKLUZBSUw6IFRpbWVkIG91dCB3YWl0aW5nIGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9zdXBwb3J0L3Rlc3Rjb21tb24uanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9zdXBwb3J0
L3Rlc3Rjb21tb24uanMKaW5kZXggYjRmZGU0Yjk2N2RlMmViNjdjYjNlMDgxOWMzYTg5NjM3NWU4
NjFmOS4uZTI2YTdhMTg1OGFiOWU0ZDQwNGZhOWZiNzZiNGE5ZjRjNGYxMzU3MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvc3VwcG9ydC90ZXN0Y29tbW9uLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3N1cHBvcnQvdGVzdGNv
bW1vbi5qcwpAQCAtMzYsNiArMzYsNTUgQEAgZnVuY3Rpb24gYXNzZXJ0X3RpbWVfZXF1YWxzX2xp
dGVyYWwoYWN0dWFsLCBleHBlY3RlZCwgZGVzY3JpcHRpb24pIHsKICAgYXNzZXJ0X2FwcHJveF9l
cXVhbHMoYWN0dWFsLCBleHBlY3RlZCwgVElNRV9QUkVDSVNJT04sIGRlc2NyaXB0aW9uKTsKIH0K
IAorLyoKKyAqIENvbXBhcmUgdHdvIGtleWZyYW1lcworICovCitmdW5jdGlvbiBhc3NlcnRfZnJh
bWVzX2VxdWFsKGFjdHVhbCwgZXhwZWN0ZWQsIG5hbWUpIHsKKyAgLy8gVE9ETzogTWFrZSB0aGlz
IHNraXAgdGhlICdjb21wb3NpdGUnIG1lbWJlciB3aGVuIGl0IGlzIG5vdCBzcGVjaWZpZWQgaW4K
KyAgLy8gYGV4cGVjdGVkYCBvciB3aGVuIHRoZSBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBzdXBw
b3J0IGl0LgorICBhc3NlcnRfYXJyYXlfZXF1YWxzKAorICAgIE9iamVjdC5rZXlzKGFjdHVhbCku
c29ydCgpLAorICAgIE9iamVjdC5rZXlzKGV4cGVjdGVkKS5zb3J0KCksCisgICAgYHByb3BlcnRp
ZXMgb24gJHtuYW1lfSBzaG91bGQgbWF0Y2hgCisgICk7CisKKyAgZm9yIChjb25zdCBwcm9wIGlu
IGFjdHVhbCkgeworICAgIGlmICgKKyAgICAgIC8vICdvZmZzZXQnIGNhbiBiZSBudWxsCisgICAg
ICAocHJvcCA9PT0gJ29mZnNldCcgJiYgdHlwZW9mIGFjdHVhbFtwcm9wXSA9PT0gJ251bWJlcicp
IHx8CisgICAgICBwcm9wID09PSAnY29tcHV0ZWRPZmZzZXQnCisgICAgKSB7CisgICAgICBhc3Nl
cnRfYXBwcm94X2VxdWFscygKKyAgICAgICAgYWN0dWFsW3Byb3BdLAorICAgICAgICBleHBlY3Rl
ZFtwcm9wXSwKKyAgICAgICAgMC4wMDAwMSwKKyAgICAgICAgInZhbHVlIGZvciAnIiArIHByb3Ag
KyAiJyBvbiAiICsgbmFtZQorICAgICAgKTsKKyAgICB9IGVsc2UgeworICAgICAgYXNzZXJ0X2Vx
dWFscygKKyAgICAgICAgYWN0dWFsW3Byb3BdLAorICAgICAgICBleHBlY3RlZFtwcm9wXSwKKyAg
ICAgICAgYHZhbHVlIGZvciAnJHtwcm9wfScgb24gJHtuYW1lfSBzaG91bGQgbWF0Y2hgCisgICAg
ICApOworICAgIH0KKyAgfQorfQorCisvKgorICogQ29tcGFyZSB0d28gbGlzdHMgb2Yga2V5ZnJh
bWVzCisgKi8KK2Z1bmN0aW9uIGFzc2VydF9mcmFtZV9saXN0c19lcXVhbChhY3R1YWwsIGV4cGVj
dGVkKSB7CisgIGFzc2VydF9lcXVhbHMoCisgICAgYWN0dWFsLmxlbmd0aCwKKyAgICBleHBlY3Rl
ZC5sZW5ndGgsCisgICAgJ051bWJlciBvZiBrZXlmcmFtZXMgc2hvdWxkIG1hdGNoJworICApOwor
CisgIGZvciAobGV0IGkgPSAwOyBpIDwgYWN0dWFsLmxlbmd0aDsgaSsrKSB7CisgICAgYXNzZXJ0
X2ZyYW1lc19lcXVhbChhY3R1YWxbaV0sIGV4cGVjdGVkW2ldLCBgS2V5ZnJhbWUgIyR7aX1gKTsK
KyAgfQorfQorCiAvKioKICAqIEFwcGVuZHMgYSBkaXYgdG8gdGhlIGRvY3VtZW50IGJvZHkuCiAg
KgpAQCAtMTQyLDYgKzE5MSwxNSBAQCBmdW5jdGlvbiB3YWl0Rm9yQW5pbWF0aW9uRnJhbWVzKGZy
YW1lQ291bnQsIG9uRnJhbWUpIHsKICAgfSk7CiB9CiAKKy8qKgorICogVGltZW91dCBmdW5jdGlv
biB1c2VkIGZvciB0ZXN0cyB3aXRoIEV2ZW50V2F0Y2hlcnMgd2hlbiBhbGwgYW5pbWF0aW9uIGV2
ZW50cworICogc2hvdWxkIGJlIHJlY2VpdmVkIG9uIHRoZSBuZXh0IGFuaW1hdGlvbiBmcmFtZS4g
SWYgdHdvIGZyYW1lcyBwYXNzIGJlZm9yZQorICogcmVjZWl2aW5nIHRoZSBleHBlY3RlZCBldmVu
dHMsIHRoZW4gd2UgY2FuIGltbWVkaWF0ZSBmYWlsIHRoZSB0ZXN0LgorICovCitmdW5jdGlvbiBm
YXN0RXZlbnRzVGltZW91dCgpIHsKKyAgcmV0dXJuIHdhaXRGb3JBbmltYXRpb25GcmFtZXMoMik7
Cit9OworCiAvKioKICAqIFdyYXBwZXIgdGhhdCB0YWtlcyBhIHNlcXVlbmNlIG9mIE4gYW5pbWF0
aW9ucyBhbmQgcmV0dXJuczoKICAqCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL3czYy1pbXBvcnQubG9nCmluZGV4IGViM2RiOTBjMGNlN2FhMzg1MGE1MmZjMmNiNTk3
ZGVmYjkyNGU5YjUuLmI1MzRmMmNiYzlkNDdjYjlhZmEzOWVlZWIwODc1ZWNkNDExMTBiY2QgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3czYy1pbXBvcnQubG9n
CkBAIC0xNSw2ICsxNSw3IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9BbmltYXRpb25FZmZlY3QtZ2V0Q29tcHV0ZWRUaW1pbmcudGVudGF0aXZlLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9BbmltYXRpb25FZmZlY3QtdXBkYXRlVGltaW5nLnRlbnRhdGl2ZS5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvQ1NTQW5pbWF0aW9uLWFuaW1hdGlvbk5hbWUudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9DU1NB
bmltYXRpb24tY2FuY2VsaW5nLnRlbnRhdGl2ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvQ1NTQW5pbWF0aW9uLWNv
bXBvc2l0ZU9yZGVyLnRlbnRhdGl2ZS5odG1sCkBAIC0zMCw4ICszMSwxMyBAQCBMaXN0IG9mIGZp
bGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL0VsZW1lbnQtZ2V0QW5pbWF0aW9ucy1keW5hbWljLWNoYW5nZXMudGVudGF0
aXZlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYW5pbWF0aW9ucy9FbGVtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9LZXlmcmFtZUVmZmVjdC1nZXRLZXlmcmFtZXMudGVudGF0aXZlLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9L
ZXlmcmFtZUVmZmVjdC1zZXRLZXlmcmFtZXMudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9LZXlmcmFt
ZUVmZmVjdC10YXJnZXQudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9NRVRBLnltbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2Fu
aW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWJhc2UtcmVz
cG9uc2UtMDAyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDMuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL2FuaW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwNC5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9u
LWJlZm9yZS1pbml0aWFsLWJveC1jb25zdHJ1Y3Rpb24tMDAxLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRp
b24tZGVsYXktMDA4LWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tZGVsYXktMDA4Lmh0
bWwKQEAgLTQxLDYgKzQ3LDkgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tZGVs
YXktMDEwLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tZGVsYXktMDExLWV4cGVjdGVkLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9hbmltYXRpb24tZGVsYXktMDExLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taW1wb3J0YW50
LTAwMS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLWltcG9ydGFudC0wMDItZXhwZWN0ZWQuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL2FuaW1hdGlvbi1pbXBvcnRhbnQtMDAyLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24taXRl
cmF0aW9uLWNvdW50LWNhbGMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbi1vcGFjaXR5LXBhdXNlLWFu
ZC1zZXQtdGltZS1leHBlY3RlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uLW9wYWNpdHktcGF1c2Ut
YW5kLXNldC10aW1lLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRp
b24tYmFzZS1yZXNwb25zZS0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2Fu
aW1hdGlvbi1iYXNlLXJlc3BvbnNlLTAwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWMxZmVj
MTYzMjNlYTI5ZTRhYjg1MzlhNGM0MWQ2ZjhiYTAyMjJhYwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb24tYmFzZS1yZXNwb25zZS0wMDEtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorCitGQUlMIGVtIHVuaXRzIHJlc3BvbmQgdG8gZm9udC1zaXplIGFu
aW1hdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTVweCIgYnV0IGdvdCAiMXB4IgorRkFJ
TCBleCB1bml0cyByZXNwb25kIHRvIGZvbnQtc2l6ZSBhbmltYXRpb24gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIjYuNzAzMTI1cHgiIGJ1dCBnb3QgIjAuNDM3NXB4IgorRkFJTCB2YXIoKSByZWZl
cmVuY2VzIHJlc3BvbmQgdG8gY3VzdG9tIHByb3BlcnR5IGFuaW1hdGlvbiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiMjBweCIgYnV0IGdvdCAiMHB4IgorCg==
</data>
<flag name="review"
          id="412883"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>