<?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>225042</bug_id>
          
          <creation_ts>2021-04-25 19:49:36 -0700</creation_ts>
          <short_desc>Resync WPT shadow DOM tests as of 02f0cc10</short_desc>
          <delta_ts>2021-04-26 02:27:05 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>224805</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1754102</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-25 19:49:36 -0700</bug_when>
    <thetext>Resync WPT shadow DOM tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754103</commentid>
    <comment_count>1</comment_count>
      <attachid>427019</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-25 19:53:11 -0700</bug_when>
    <thetext>Created attachment 427019
Reimported tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754106</commentid>
    <comment_count>2</comment_count>
      <attachid>427020</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-25 20:53:00 -0700</bug_when>
    <thetext>Created attachment 427020
Added the missing expected result</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754119</commentid>
    <comment_count>3</comment_count>
      <attachid>427025</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-25 23:25:10 -0700</bug_when>
    <thetext>Created attachment 427025
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754120</commentid>
    <comment_count>4</comment_count>
      <attachid>427026</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-25 23:27:09 -0700</bug_when>
    <thetext>Created attachment 427026
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754137</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-26 02:25:18 -0700</bug_when>
    <thetext>Committed r276584 (237020@main): &lt;https://commits.webkit.org/237020@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754139</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-26 02:27:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/77144206&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427019</attachid>
            <date>2021-04-25 19:53:11 -0700</date>
            <delta_ts>2021-04-25 20:52:58 -0700</delta_ts>
            <desc>Reimported tests</desc>
            <filename>bug-225042-20210425195310.patch</filename>
            <type>text/plain</type>
            <size>111955</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTc1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2YzODYyYjY1ZWFhNzY5M2RkZjUy
ZGVmODM3MjYyZDM5ZjRhNjA5Ni4uNjRmYjkwZGEzMGRlOTc4YWRlZWY4ZTJiZTkwODA4YzI3ZGZi
M2Y4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA0LTI1ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlc3luYyBXUFQgc2hhZG93IERPTSB0ZXN0cyBh
cyBvZiAwMmYwY2MxMAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI1MDQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmViYXNlbGluZWQgdGhlIHRlc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1v
dmUtY3Jhc2gtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA0LTI1ICBGZWxpcGUgRXJpYXMgIDxmZWxp
cGVlcmlhc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZmxleGJveF0gVGFibGUgbGF5b3V0
IGRpc3JlZ2FyZHMgb3ZlcnJpZGluZyB3aWR0aApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggNDY0MGUzMWEyZmQwNmVhYzUwMGRlYzU2M2VmODhhM2EzZTFlNjYyZS4uZTFmZGFlM2Mx
OWU5NDc0NzE4M2I0NzA0MTE2OGY5ZTBmNzIwZjRiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMjEtMDQtMjUgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVzeW5jIFdQVCBzaGFkb3cgRE9NIHRlc3RzIGFzIG9m
IDAyZjBjYzEwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjUwNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZXN5bmMnZWQgc2hhZG93IERPTSB0ZXN0cyBhcyBvZiAwMmYwY2MxMGM0ZTkyNjI3Y2NmZDhi
MzBjZTAzZTA0Mjc4YWY1MjI0LgorCisgICAgICAgICogcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVz
Lmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vYWNjZXNza2V5
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2FjY2Vzc2tleS50ZW50YXRpdmUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUt
YWZ0ZXItYXR0YWNoc2hhZG93LnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tYXR0
YWNobWVudC50ZW50YXRpdmUuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWJhc2ljLnRlbnRhdGl2
ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tb3B0LWluLnRlbnRhdGl2ZS5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZl
LXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0
aXZlLXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9nZXRpbm5lcmh0bWwu
dGVudGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
ZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9k
ZWNsYXJhdGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sOiBS
ZW5hbWVkIGZyb20gaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy5odG1sLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1v
cmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24t
b3JkaW5hcnktdGVtcGxhdGUudGVudGF0aXZlLmh0bWw6IFJlbmFtZWQgZnJvbSBpbm5lcmh0bWwt
b24tb3JkaW5hcnktdGVtcGxhdGUuaHRtbC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50
ZW50YXRpdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRh
Zy50ZW50YXRpdmUuaHRtbDogUmVuYW1lZCBmcm9tIG1vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3Np
bmctdGFnLmh0bWwuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVj
bGFyYXRpdmUvc2NyaXB0LWFjY2Vzcy50ZW50YXRpdmUuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS93M2MtaW1wb3J0LmxvZzoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1vbi1wc2V1ZG8tZWxlbWVu
dC1jcmFzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRlc0ZvY3VzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvU2hhZG93Um9v
dC1kZWxlZ2F0ZXNGb2N1cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy5odG1sOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL3czYy1pbXBvcnQu
bG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUt
c2xvdC1hcGktY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xv
dC1hcGktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLXNsb3RjaGFuZ2UtZXhwZWN0ZWQudHh0OiBS
ZW5hbWVkIGZyb20gc2xvdHMtaW1wZXJhdGl2ZS1hcGktc2xvdGNoYW5nZS50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVy
YXRpdmUtc2xvdC1hcGktc2xvdGNoYW5nZS5odG1sOiBSZW5hbWVkIGZyb20gc2xvdHMtaW1wZXJh
dGl2ZS1hcGktc2xvdGNoYW5nZS50ZW50YXRpdmUuaHRtbC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLmh0bWw6IFJlbmFtZWQgZnJv
bSBzbG90cy1pbXBlcmF0aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS5odG1sLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVk
LXNsb3QtcmVtb3ZlLWNyYXNoLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vdzNjLWltcG9ydC5sb2c6CisKIDIwMjEtMDQtMjUgIEZlbGlwZSBFcmlhcyAgPGZl
bGlwZWVyaWFzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1mbGV4Ym94XSBUYWJsZSBsYXlv
dXQgZGlzcmVnYXJkcyBvdmVycmlkaW5nIHdpZHRoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb24gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb24KaW5kZXggYjhkZWNkYmZi
YmM0NDNkZGMwYWFiNTAxNzY5YTIxNDM0YTNmZWRiZC4uYWQzNTgwYzI4NDkyYjk4NDcxMmU4MWUw
YWZmNjEwNmQ1NTgwODMyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jl
c291cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9yZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbgpAQCAtNzYsNiArNzYsMTAgQEAKICAgICAg
ICAgImNzc3dnLXRlc3QvV09GRjItVXNlckFnZW50L1Rlc3RzL3hodG1sMS9zdXBwb3J0L2F2YWls
YWJsZS0wMDFhLnhodCIsCiAgICAgICAgICJjc3N3Zy10ZXN0L1dPRkYyLVVzZXJBZ2VudC9UZXN0
cy94aHRtbDEvc3VwcG9ydC9hdmFpbGFibGUtMDAxYi54aHQiLAogICAgICAgICAiY3Nzd2ctdGVz
dC9XT0ZGMi1Vc2VyQWdlbnQvVGVzdHMveGh0bWwxL3Rlc3RjYXNlaW5kZXgueGh0IiwKKyAgICAg
ICAgInNoYWRvdy1kb20vZGVjbGFyYXRpdmUvc3VwcG9ydC9kZWNsYXJhdGl2ZS1jaGlsZC1mcmFt
ZS5odG1sIiwKKyAgICAgICAgInNoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jh
c2guaHRtbCIsCisgICAgICAgICJzaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktY3Jhc2gu
aHRtbCIsCisgICAgICAgICJzaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC5odG1s
IiwKICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL0Jsb2JVUkwvc3VwcG9ydC9m
aWxlX3Rlc3QzLmh0bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvc3Vw
cG9ydC9kb2N1bWVudC1kb21haW4tc2V0dGVyLnN1Yi5odG1sIiwKICAgICAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9GaWxlQVBJL3N1cHBvcnQvaW5jdW1iZW50LnN1Yi5odG1sIiwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9hY2Nlc3NrZXkudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9hY2Nlc3NrZXkudGVudGF0aXZlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjM0ZTMwMTU3MjQ5ZWQ4NmM2YWVkNWExMGEyNjQ4ODc4
MjM0NzVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2FjY2Vzc2tleS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIGJ1dHRvbiBlbGVtZW50IHdpdGggYWNjZXNza2V5IGlu
IHRoZSBzaGFkb3cgdHJlZSBvZiBvcGVuIG1vZGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IGFjdGlvbiIKK0ZBSUwgYnV0dG9uIGVsZW1lbnQgd2l0aCBhY2Nlc3NrZXkgaW4gdGhl
IHNoYWRvdyB0cmVlIG9mIGNsb3NlZCBtb2RlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBhY3Rpb24iCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9hY2Nlc3NrZXkudGVudGF0aXZlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vYWNjZXNz
a2V5LnRlbnRhdGl2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1MTc4MzAyMjZjMjAxMDNlYWU1MjJjZjUx
NDYyYWU4MDAyMTU5ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vYWNjZXNza2V5LnRlbnRhdGl2ZS5odG1s
CkBAIC0wLDAgKzEsNjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5TaGFkb3cgRE9NOiBhY2Nlc3NrZXk8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ct
ZG9tLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnRhaW5lciIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZSI+PC9kaXY+Cis8c2NyaXB0
PgorCitjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVy
Jyk7CisKK2Z1bmN0aW9uIHByZXNzQWNjZXNzS2V5KGFjY2Vzc0tleSl7CisgIGxldCBjb250cm9s
S2V5ID0gJ1x1RTAwOSc7IC8vIGxlZnQgQ29udHJvbCBrZXkKKyAgbGV0IGFsdEtleSA9ICdcdUUw
MEEnOyAvLyBsZWZ0IEFsdCBrZXkKKyAgbGV0IG9wdGlvbktleSA9IGFsdEtleTsgIC8vIGxlZnQg
T3B0aW9uIGtleQorICBsZXQgc2hpZnRLZXkgPSAnXHVFMDA4JzsgLy8gbGVmdCBTaGlmdCBrZXkK
KyAgLy8gVGhlcmUgYXJlIGRpZmZlcmVuY2VzIGluIHVzaW5nIGFjY2Vzc2tleSBhY3Jvc3MgYnJv
d3NlcnMgYW5kIE9TJ3MuCisgIC8vIFNlZTogLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5v
cmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9HbG9iYWxfYXR0cmlidXRlcy9hY2Nlc3NrZXkKKyAgbGV0
IGlzTWFjT1NYID0gbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNYWMiKSAhPSAtMTsKKyAg
bGV0IG9zQWNjZXNzS2V5ID0gaXNNYWNPU1ggPyBbY29udHJvbEtleSwgb3B0aW9uS2V5XSA6IFtz
aGlmdEtleSwgYWx0S2V5XTsKKyAgbGV0IGFjdGlvbnMgPSBuZXcgdGVzdF9kcml2ZXIuQWN0aW9u
cygpOworICAvLyBQcmVzcyBrZXlzLgorICBmb3IgKGxldCBrZXkgb2Ygb3NBY2Nlc3NLZXkpIHsK
KyAgICBhY3Rpb25zID0gYWN0aW9ucy5rZXlEb3duKGtleSk7CisgIH0KKyAgYWN0aW9ucyA9IGFj
dGlvbnMKKyAgICAgICAgICAgIC5rZXlEb3duKGFjY2Vzc0tleSkKKyAgICAgICAgICAgIC5hZGRU
aWNrKCkKKyAgICAgICAgICAgIC5rZXlVcChhY2Nlc3NLZXkpOworICBvc0FjY2Vzc0tleS5yZXZl
cnNlKCk7CisgIGZvciAobGV0IGtleSBvZiBvc0FjY2Vzc0tleSkgeworICAgIGFjdGlvbnMgPSBh
Y3Rpb25zLmtleVVwKGtleSk7CisgIH0KKyAgcmV0dXJuIGFjdGlvbnMuc2VuZCgpOworfQorCitm
dW5jdGlvbiB0ZXN0QWNjZXNza2V5SW5TaGFkb3dUcmVlKG1vZGUpIHsKKyAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKKyAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdCk7CisgICAgdC5hZGRfY2xlYW51
cCgoKSA9PiBob3N0LnJlbW92ZSgpKTsKKworICAgIGNvbnN0IHNoYWRvd1Jvb3QgPSBob3N0LmF0
dGFjaFNoYWRvdyh7bW9kZX0pOworICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxidXR0b24g
aWQ9ImJ1dHRvbiIgYWNjZXNza2V5PSJnIj5DbGljayBNZSB3aXRoIFNoaWZ0K0FsdCtnIG9yIG9u
IE1hYyB3aXRoIENvbnRyb2wrT3B0aW9uK2c8L2J1dHRvbj4nOworCisgICAgbGV0IGVsID0gc2hh
ZG93Um9vdC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uIik7CisgICAgbGV0IGV2ZW50V2F0Y2hlciA9
IG5ldyBFdmVudFdhdGNoZXIodCwgZWwsIFsnY2xpY2snXSk7CisgICAgbGV0IHdhaXRGb3JDbGlj
ayA9IGV2ZW50V2F0Y2hlci53YWl0X2ZvcignY2xpY2snKTsKKworICAgIGF3YWl0IHByZXNzQWNj
ZXNzS2V5KCJnIik7CisgICAgYXdhaXQgd2FpdEZvckNsaWNrOworICB9LCBgYnV0dG9uIGVsZW1l
bnQgd2l0aCBhY2Nlc3NrZXkgaW4gdGhlIHNoYWRvdyB0cmVlIG9mICR7bW9kZX0gbW9kZWApOwor
fQorCit0ZXN0QWNjZXNza2V5SW5TaGFkb3dUcmVlKCJvcGVuIik7Cit0ZXN0QWNjZXNza2V5SW5T
aGFkb3dUcmVlKCJjbG9zZWQiKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVj
bGFyYXRpdmUvZGVjbGFyYXRpdmUtYWZ0ZXItYXR0YWNoc2hhZG93LnRlbnRhdGl2ZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Rl
Y2xhcmF0aXZlL2RlY2xhcmF0aXZlLWFmdGVyLWF0dGFjaHNoYWRvdy50ZW50YXRpdmUuaHRtbApp
bmRleCBhMzEzNTg1MjA5NDA5ZDM1MWVjYzdjMWMzMzJkZTA2ZjdkYzMyYzJlLi4zZGNjMDk5ZWIy
NzNhYzI2YTFiNzUyOTQ1MjY3NmM5OGI0NDc4M2FhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVj
bGFyYXRpdmUtYWZ0ZXItYXR0YWNoc2hhZG93LnRlbnRhdGl2ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2
ZS9kZWNsYXJhdGl2ZS1hZnRlci1hdHRhY2hzaGFkb3cudGVudGF0aXZlLmh0bWwKQEAgLTEsNiAr
MSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDx0aXRsZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NIGFm
dGVyIGF0dGFjaFNoYWRvdzwvdGl0bGU+Ci08bGluayByZWw9J2F1dGhvcicgdGl0bGU9J01hc29u
IEZyZWVkJyBocmVmPSdtYWlsdG86bWFzb25mcmVlZEBjaHJvbWl1bS5vcmcnPgorPGxpbmsgcmVs
PSdhdXRob3InIGhyZWY9J21haWx0bzptYXNvbmZAY2hyb21pdW0ub3JnJz4KIDxsaW5rIHJlbD0n
aGVscCcgaHJlZj0naHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSc+CiA8
c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyc+PC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93LWRvbS1hdHRhY2htZW50LnRlbnRhdGl2
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tYXR0YWNobWVudC50ZW50
YXRpdmUuaHRtbAppbmRleCBiOTAzM2Y1OTkyNDIyMzc2MjY5ODVmMzVhYzY1NjA1MjdjOTcyYjMy
Li4wODFmOWIyZDhmMzhmYzhhNGY5YzcwOTY4ZWNlM2IzMjNiYTg5MTYwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVj
bGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93LWRvbS1hdHRhY2htZW50LnRlbnRhdGl2ZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWF0dGFjaG1lbnQudGVudGF0
aXZlLmh0bWwKQEAgLTEsNiArMSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDx0aXRsZT5EZWNsYXJh
dGl2ZSBTaGFkb3cgRE9NIEVsZW1lbnQgQXR0YWNobWVudDwvdGl0bGU+Ci08bGluayByZWw9J2F1
dGhvcicgdGl0bGU9J01hc29uIEZyZWVkJyBocmVmPSdtYWlsdG86bWFzb25mcmVlZEBjaHJvbWl1
bS5vcmcnPgorPGxpbmsgcmVsPSdhdXRob3InIGhyZWY9J21haWx0bzptYXNvbmZAY2hyb21pdW0u
b3JnJz4KIDxsaW5rIHJlbD0naGVscCcgaHJlZj0naHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9k
b20vaXNzdWVzLzgzMSc+CiA8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyc+
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93LWRvbS1i
YXNpYy50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWJh
c2ljLnRlbnRhdGl2ZS5odG1sCmluZGV4IGEwMzc0M2U0NGZmZGEwMGQxZDMzNGU1OGQyNzVlYjhi
ZjYxZmYyYTkuLjBiOTkzNzY2YzM1NjgzZjU4Y2MxODkyYjg4YTA5YWUzY2M2NTllNjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWJhc2ljLnRlbnRhdGl2ZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWJhc2ljLnRlbnRhdGl2
ZS5odG1sCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+CiA8dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93IERPTTwvdGl0bGU+Ci08bGluayByZWw9
ImF1dGhvciIgdGl0bGU9Ik1hc29uIEZyZWVkIiBocmVmPSJtYWlsdG86bWFzb25mcmVlZEBjaHJv
bWl1bS5vcmciPgorPGxpbmsgcmVsPSJhdXRob3IiIGhyZWY9Im1haWx0bzptYXNvbmZAY2hyb21p
dW0ub3JnIj4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3doYXR3
Zy9kb20vaXNzdWVzLzgzMSI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93LWRv
bS1vcHQtaW4udGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93LWRv
bS1vcHQtaW4udGVudGF0aXZlLmh0bWwKaW5kZXggYTQ5ZTc1OWVkNGE3Y2M3ZjNjNjNmOGU0NDUy
ZWU1OTE1MTY5YWU1Yi4uMmVlYzNjNWE5NDEyOTlhZWFjYWQxM2U3ZDdhYjg5MGRjNmQ5ZmRjZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tb3B0LWluLnRlbnRh
dGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLW9wdC1pbi50
ZW50YXRpdmUuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPG1ldGEgY2hh
cnNldD0idXRmLTgiPgogPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET008L3RpdGxlPgotPGxp
bmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNYXNvbiBGcmVlZCIgaHJlZj0ibWFpbHRvOm1hc29uZnJl
ZWRAY2hyb21pdW0ub3JnIj4KKzxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJtYWlsdG86bWFzb25m
QGNocm9taXVtLm9yZyI+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNv
bS93aGF0d2cvZG9tL2lzc3Vlcy84MzEiPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXdp
dGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVj
bGFyYXRpdmUtd2l0aC1kaXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43YmQyZjRjMjU5MmM4NjlhZDExYmQxY2RjMDBjNWI2MmMzNmU4MmMyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXdpdGgtZGlzYWJsZWQtc2hhZG93LnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRGVjbGFyYXRpdmUg
U2hhZG93IERPTTogZGVjbGFyYXRpdmUgc2hhZG93IHNob3VsZCBmYWlsIGlmIGF0dGFjaFNoYWRv
dygpIGFscmVhZHkgY2FsbGVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS13
aXRoLWRpc2FibGVkLXNoYWRvdy50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2
ZS13aXRoLWRpc2FibGVkLXNoYWRvdy50ZW50YXRpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDc1YTRm
OGE3ZDE2MzgyMTQyMzhiYjc4Yzg5MzQ2YzQ4MmNiY2RiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xh
cmF0aXZlL2RlY2xhcmF0aXZlLXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS5odG1sCkBA
IC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRv
dyBET00gd2l0aCBzaGFkb3cgZGlzYWJsZWQ8L3RpdGxlPgorPGxpbmsgcmVsPSdhdXRob3InIGhy
ZWY9J21haWx0bzptYXNvbmZAY2hyb21pdW0ub3JnJz4KKzxsaW5rIHJlbD0naGVscCcgaHJlZj0n
aHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSc+Cis8c2NyaXB0IHNyYz0n
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0nL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyc+PC9zY3JpcHQ+CisKKzxib2R5PgorPHNjcmlwdD4K
K2NsYXNzIFNoYWRvd0Rpc2FibGVkRWxlbWVudCBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgc3Rh
dGljIGdldCBkaXNhYmxlZEZlYXR1cmVzKCkgeworICAgIHJldHVybiBbJ3NoYWRvdyddOworICB9
Cit9CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3NoYWRvdy1kaXNhYmxlZCcsU2hhZG93RGlzYWJs
ZWRFbGVtZW50KTsKKzwvc2NyaXB0PgorCis8c2hhZG93LWRpc2FibGVkPgorICA8dGVtcGxhdGUg
c2hhZG93cm9vdD0ib3BlbiI+PHNwYW4gaWQ9aW5zaWRlLz48L3RlbXBsYXRlPgorPC9zaGFkb3ct
ZGlzYWJsZWQ+CisKKzxzY3JpcHQ+Cit0ZXN0KHQgPT4geworICBsZXQgZWxlbWVudCA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ3NoYWRvdy1kaXNhYmxlZCcpOworICBhc3NlcnRfdHJ1ZShlbGVt
ZW50IGluc3RhbmNlb2YgU2hhZG93RGlzYWJsZWRFbGVtZW50KTsKKyAgbGV0IHRlbXBsYXRlID0g
ZWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpOworICBhc3NlcnRfdHJ1ZSghIXRlbXBs
YXRlLCAnRGVjbGFyYXRpdmUgc2hhZG93IGF0dGFjaCBzaG91bGQgZmFpbCwgc2luY2Ugc2hhZG93
LWRpc2FibGVkIGlzIHRydWUnKTsKKyAgYXNzZXJ0X3RydWUoIWVsZW1lbnQuc2hhZG93Um9vdCwg
J1NoYWRvdyByb290IHNob3VsZCBub3QgYmUgcHJlc2VudCBvbiBjdXN0b20gZWxlbWVudCcpOwor
fSwgJ0RlY2xhcmF0aXZlIFNoYWRvdyBET006IGRlY2xhcmF0aXZlIHNoYWRvdyBzaG91bGQgZmFp
bCBpZiBhdHRhY2hTaGFkb3coKSBhbHJlYWR5IGNhbGxlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZ2V0aW5uZXJodG1sLnRlbnRhdGl2ZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xh
cmF0aXZlL2dldGlubmVyaHRtbC50ZW50YXRpdmUuaHRtbAppbmRleCBiY2Y1NDcxYjVlOWU4NzQ4
YzQ5ZmJjODk5Nzg4MjAzZWFkNmZjMTlhLi41MmE0ODQ3NjBkOTU2Nzc2YjNlMzRkMDA1M2Y3OGYz
NDFkMzFkYzRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZ2V0aW5uZXJodG1sLnRlbnRhdGl2ZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kZWNsYXJhdGl2ZS9nZXRpbm5lcmh0bWwudGVudGF0aXZlLmh0bWwKQEAgLTEsNiAr
MSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDx0aXRsZT5nZXRJbm5lckhUTUwgPC90aXRsZT4KLTxs
aW5rIHJlbD0nYXV0aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzptYXNvbmZy
ZWVkQGNocm9taXVtLm9yZyc+Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFpbHRvOm1hc29u
ZkBjaHJvbWl1bS5vcmcnPgogPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5j
b20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzJz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzJz48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtYmVm
b3JlLWNsb3NpbmctdGFnLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5n
LXRhZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NTNjNDE5MThkMWEyYTM1
YmRkM2U3MzZmNGM3YTZjMzZjMTMwNDMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTx0aXRs
ZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NIGlubmVySFRNTDwvdGl0bGU+Ci08bGluayByZWw9J2F1
dGhvcicgdGl0bGU9J01hc29uIEZyZWVkJyBocmVmPSdtYWlsdG86bWFzb25mcmVlZEBjaHJvbWl1
bS5vcmcnPgotPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vd2hhdHdn
L2RvbS9pc3N1ZXMvODMxJz4KLTxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Jz48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Jz48L3NjcmlwdD4KLQotPGJvZHk+Ci08c2NyaXB0PgotZnVuY3Rpb24gbXlPYnNlcnZlcihtdXRh
dGlvbnNMaXN0KSB7Ci0gIGZvciAobGV0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHsKLSAg
ICBmb3IgKGxldCBuIG9mIG11dGF0aW9uLmFkZGVkTm9kZXMpIHsKLSAgICAgIGlmIChuLmlkID09
PSAnc2hhZG93JykgewotICAgICAgICBuLmlubmVySFRNTCA9ICI8c3BhbiBpZD1yZXBsYWNlZD5U
aGlzIHNob3VsZCBiZSBpbiAmbHQ7ZGl2PidzIHNoYWRvdyByb290PC9zcGFuPiI7Ci0gICAgICB9
Ci0gICAgfQotICB9Ci19Ci12YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihteU9i
c2VydmVyKTsKLW9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRy
dWUsIHN1YnRyZWU6IHRydWUgfSk7Ci08L3NjcmlwdD4KLQotPGRpdiBpZD1ob3N0PgotICA8dGVt
cGxhdGUgaWQ9c2hhZG93IHNoYWRvd3Jvb3Q9b3Blbj4KLSAgICA8c3BhbiBpZD10b3JlcGxhY2U+
VGhpcyBzaG91bGQgZ2V0IHJlbW92ZWQ8L3NwYW4+Ci0gICAgPHNjcmlwdD48L3NjcmlwdD4gPCEt
LSBFbnN1cmUgb2JzZXJ2ZXIgcnVucyAtLT4KLSAgPC90ZW1wbGF0ZT4KLTwvZGl2PgotCi08c2Ny
aXB0PgotdGVzdCh0ID0+IHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgb2JzZXJ2ZXIu
ZGlzY29ubmVjdCgpOyB9KTsKLSAgbGV0IGhvc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcj
aG9zdCcpOwotICBsZXQgdGVtcGxhdGUgPSBob3N0LnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJyk7
Ci0gIGFzc2VydF90cnVlKCF0ZW1wbGF0ZSwgJ0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBz
aG91bGQgbm90IGJlIGxlZnQgb3ZlcicpOwotICBsZXQgc2hhZG93cm9vdCA9IGhvc3Quc2hhZG93
Um9vdDsKLSAgYXNzZXJ0X3RydWUoISFzaGFkb3dyb290LCAnU2hhZG93IHJvb3Qgc2hvdWxkIGJl
IHByZXNlbnQnKTsKLSAgYXNzZXJ0X3RydWUoISFzaGFkb3dyb290LnF1ZXJ5U2VsZWN0b3IoJyNy
ZXBsYWNlZCcpLCdUaGUgaW5uZXJIVE1MIHJlcGxhY2VtZW50IGNvbnRlbnQgc2hvdWxkIGJlIHBy
ZXNlbnQnKTsKLSAgYXNzZXJ0X3RydWUoIXNoYWRvd3Jvb3QucXVlcnlTZWxlY3RvcignI3RvcmVw
bGFjZScpLCdUaGUgb2xkIHJlcGxhY2VkIGNvbnRlbnQgc2hvdWxkIG5vdCBiZSBwcmVzZW50Jyk7
Ci19LCAnRGVjbGFyYXRpdmUgU2hhZG93IERPTTogaW5uZXJIVE1MIHNob3VsZCB3b3JrIHdoaWxl
IHBhcnNpbmcgZGVjbGFyYXRpdmUgc2hhZG93IHJvb3QgPHRlbXBsYXRlPicpOwotPC9zY3JpcHQ+
Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5n
LXRhZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1iZWZvcmUt
Y2xvc2luZy10YWcudGVudGF0aXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYmQ2N2RiZDZm
NDE5NTM1YWVmZDU3ZGE5MDQ0NTUwZTY1NmVmODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL2lubmVyaHRtbC1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDMgQEAKKworRkFJTCBEZWNsYXJhdGl2ZSBTaGFkb3cgRE9NOiBpbm5lckhUTUwg
c2hvdWxkIHdvcmsgd2hpbGUgcGFyc2luZyBkZWNsYXJhdGl2ZSBzaGFkb3cgcm9vdCA8dGVtcGxh
dGU+IGFzc2VydF90cnVlOiBEZWNsYXJhdGl2ZSBzaGFkb3cgdGVtcGxhdGUgc2hvdWxkIG5vdCBi
ZSBsZWZ0IG92ZXIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL2lubmVyaHRtbC1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRp
dmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45YTYwNjc3MDkwNjZjNGZkZDUzMzY5NzVjNTM1MzZhNjRiM2RlYTExCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZlLmh0
bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+RGVjbGFyYXRpdmUg
U2hhZG93IERPTSBpbm5lckhUTUw8L3RpdGxlPgorPGxpbmsgcmVsPSdhdXRob3InIGhyZWY9J21h
aWx0bzptYXNvbmZAY2hyb21pdW0ub3JnJz4KKzxsaW5rIHJlbD0naGVscCcgaHJlZj0naHR0cHM6
Ly9naXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSc+Cis8c2NyaXB0IHNyYz0nL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyc+PC9zY3JpcHQ+CisKKzxib2R5PgorPHNjcmlwdD4KK2Z1bmN0
aW9uIG15T2JzZXJ2ZXIobXV0YXRpb25zTGlzdCkgeworICBmb3IgKGxldCBtdXRhdGlvbiBvZiBt
dXRhdGlvbnNMaXN0KSB7CisgICAgZm9yIChsZXQgbiBvZiBtdXRhdGlvbi5hZGRlZE5vZGVzKSB7
CisgICAgICBpZiAobi5pZCA9PT0gJ3NoYWRvdycpIHsKKyAgICAgICAgbi5pbm5lckhUTUwgPSAi
PHNwYW4gaWQ9cmVwbGFjZWQ+VGhpcyBzaG91bGQgYmUgaW4gJmx0O2Rpdj4ncyBzaGFkb3cgcm9v
dDwvc3Bhbj4iOworICAgICAgfQorICAgIH0KKyAgfQorfQordmFyIG9ic2VydmVyID0gbmV3IE11
dGF0aW9uT2JzZXJ2ZXIobXlPYnNlcnZlcik7CitvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJv
ZHksIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pOworPC9zY3JpcHQ+CisKKzxk
aXYgaWQ9aG9zdD4KKyAgPHRlbXBsYXRlIGlkPXNoYWRvdyBzaGFkb3dyb290PW9wZW4+CisgICAg
PHNwYW4gaWQ9dG9yZXBsYWNlPlRoaXMgc2hvdWxkIGdldCByZW1vdmVkPC9zcGFuPgorICAgIDxz
Y3JpcHQ+PC9zY3JpcHQ+IDwhLS0gRW5zdXJlIG9ic2VydmVyIHJ1bnMgLS0+CisgIDwvdGVtcGxh
dGU+Cis8L2Rpdj4KKworPHNjcmlwdD4KK3Rlc3QodCA9PiB7CisgIHQuYWRkX2NsZWFudXAoZnVu
Y3Rpb24oKSB7IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsgfSk7CisgIGxldCBob3N0ID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignI2hvc3QnKTsKKyAgbGV0IHRlbXBsYXRlID0gaG9zdC5xdWVyeVNl
bGVjdG9yKCd0ZW1wbGF0ZScpOworICBhc3NlcnRfdHJ1ZSghdGVtcGxhdGUsICdEZWNsYXJhdGl2
ZSBzaGFkb3cgdGVtcGxhdGUgc2hvdWxkIG5vdCBiZSBsZWZ0IG92ZXInKTsKKyAgbGV0IHNoYWRv
d3Jvb3QgPSBob3N0LnNoYWRvd1Jvb3Q7CisgIGFzc2VydF90cnVlKCEhc2hhZG93cm9vdCwgJ1No
YWRvdyByb290IHNob3VsZCBiZSBwcmVzZW50Jyk7CisgIGFzc2VydF90cnVlKCEhc2hhZG93cm9v
dC5xdWVyeVNlbGVjdG9yKCcjcmVwbGFjZWQnKSwnVGhlIGlubmVySFRNTCByZXBsYWNlbWVudCBj
b250ZW50IHNob3VsZCBiZSBwcmVzZW50Jyk7CisgIGFzc2VydF90cnVlKCFzaGFkb3dyb290LnF1
ZXJ5U2VsZWN0b3IoJyN0b3JlcGxhY2UnKSwnVGhlIG9sZCByZXBsYWNlZCBjb250ZW50IHNob3Vs
ZCBub3QgYmUgcHJlc2VudCcpOworfSwgJ0RlY2xhcmF0aXZlIFNoYWRvdyBET006IGlubmVySFRN
TCBzaG91bGQgd29yayB3aGlsZSBwYXJzaW5nIGRlY2xhcmF0aXZlIHNoYWRvdyByb290IDx0ZW1w
bGF0ZT4nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVy
aHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1v
cmRpbmFyeS10ZW1wbGF0ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ODhh
Y2MwYWM3OTFiZDY3YWFhMDBkNWUxMmFiNWNjMTg4ZDQwNTQwLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24tb3JkaW5h
cnktdGVtcGxhdGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET00gaW5uZXJIVE1MPC90aXRsZT4K
LTxsaW5rIHJlbD0nYXV0aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzptYXNv
bmZyZWVkQGNocm9taXVtLm9yZyc+Ci08bGluayByZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8vZ2l0
aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84MzEnPgotPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0PgotCi08Ym9keT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBt
eU9ic2VydmVyKG11dGF0aW9uc0xpc3QpIHsKLSAgZm9yIChsZXQgbXV0YXRpb24gb2YgbXV0YXRp
b25zTGlzdCkgewotICAgIGZvciAobGV0IG4gb2YgbXV0YXRpb24uYWRkZWROb2RlcykgewotICAg
ICAgaWYgKG4uaWQgPT09ICdoYXMtaW1wZXJhdGl2ZS1yb290JykgewotICAgICAgICBjb25zdCBz
aGFkb3dSb290ID0gbi5hdHRhY2hTaGFkb3coIHttb2RlOiAnb3Blbid9KTsKLSAgICAgIH0KLSAg
ICB9Ci0gIH0KLX0KLXZhciBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKG15T2JzZXJ2
ZXIpOwotb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGNoaWxkTGlzdDogdHJ1ZSwg
c3VidHJlZTogdHJ1ZSB9KTsKLTwvc2NyaXB0PgotCi08ZGl2IGlkPSdoYXMtaW1wZXJhdGl2ZS1y
b290Jz4KLSAgPHNjcmlwdD48L3NjcmlwdD4gPCEtLSBFbnN1cmUgb2JzZXJ2ZXIgcnVucywgYXR0
YWNoZXMgaW1wZXJhdGl2ZSBzaGFkb3cgcm9vdCAtLT4KLSAgPHRlbXBsYXRlIGlkPW9yZGluYXJ5
dGVtcGxhdGUgc2hhZG93cm9vdD1vcGVuPgotICAgIDxzcGFuIGlkPXRvcmVwbGFjZT5UaGlzIHNo
b3VsZCBnZXQgcmVtb3ZlZDwvc3Bhbj4KLSAgPC90ZW1wbGF0ZT4KLSAgPHNjcmlwdD4KLSAgICBv
cmRpbmFyeXRlbXBsYXRlLmlubmVySFRNTCA9ICc8c3BhbiBpZD1yZXBsYWNlZD5UaGlzIHNob3Vs
ZCByZXBsYWNlIHRlbXBsYXRlIGNvbnRlbnRzPC9zcGFuPic7Ci0gIDwvc2NyaXB0PgotPC9kaXY+
Ci0KLTxzY3JpcHQ+Ci10ZXN0KHQgPT4gewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBv
YnNlcnZlci5kaXNjb25uZWN0KCk7IH0pOwotICBsZXQgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJyNoYXMtaW1wZXJhdGl2ZS1yb290Jyk7Ci0gIGxldCBzaGFkb3dyb290ID0gaG9zdC5z
aGFkb3dSb290OwotICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QsICdTaGFkb3cgcm9vdCBzaG91
bGQgYmUgcHJlc2VudCcpOwotICBhc3NlcnRfZmFsc2Uoc2hhZG93cm9vdC5oYXNDaGlsZE5vZGVz
KCksICdTaGFkb3cgcm9vdCBzaG91bGQgbm90IGNvbnRhaW4gYW55IGNoaWxkcmVuJyk7Ci0gIGxl
dCB0ZW1wbGF0ZSA9IGhvc3QucXVlcnlTZWxlY3RvcigndGVtcGxhdGUjb3JkaW5hcnl0ZW1wbGF0
ZScpOwotICBhc3NlcnRfdHJ1ZSghIXRlbXBsYXRlLCAnU2luY2UgaG9zdCBoYXMgaW1wZXJhdGl2
ZSByb290LCA8dGVtcGxhdGU+IHNob3VsZCBiZSBsZWZ0IG92ZXInKTsKLSAgYXNzZXJ0X2ZhbHNl
KHRlbXBsYXRlLmhhc0NoaWxkTm9kZXMoKSwndGVtcGxhdGUgc2hvdWxkIG5vdCBoYXZlIGRpcmVj
dCBjaGlsZHJlbicpOwotICBhc3NlcnRfdHJ1ZSghIXRlbXBsYXRlLmNvbnRlbnQucXVlcnlTZWxl
Y3RvcignI3JlcGxhY2VkJyksJ1RoZSBpbm5lckhUTUwgcmVwbGFjZW1lbnQgY29udGVudCBzaG91
bGQgYmUgcHJlc2VudCcpOwotICBhc3NlcnRfdHJ1ZSghdGVtcGxhdGUuY29udGVudC5xdWVyeVNl
bGVjdG9yKCcjdG9yZXBsYWNlJyksJ1RoZSBvbGQgcmVwbGFjZWQgY29udGVudCBzaG91bGQgbm90
IGJlIHByZXNlbnQnKTsKLX0sICdEZWNsYXJhdGl2ZSBTaGFkb3cgRE9NOiBpbm5lckhUTUwgc2hv
dWxkIHdvcmsgb24gPHRlbXBsYXRlIHNoYWRvd3Jvb3Q+IHRoYXQgaXMgbGVmdCBvdmVyJyk7Ci08
L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24tb3Jk
aW5hcnktdGVtcGxhdGUudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0
bWwtb24tb3JkaW5hcnktdGVtcGxhdGUudGVudGF0aXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wYWM2ZTc5YzI4ZGIwM2RiZGU5MWI2YzQ2Y2Q5MWEzNDBiMjI5NGFiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIERlY2xhcmF0aXZlIFNoYWRvdyBE
T006IGlubmVySFRNTCBzaG91bGQgd29yayBvbiA8dGVtcGxhdGUgc2hhZG93cm9vdD4gdGhhdCBp
cyBsZWZ0IG92ZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFy
eS10ZW1wbGF0ZS50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24tb3JkaW5h
cnktdGVtcGxhdGUudGVudGF0aXZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQwMWNlZDhlODFkOTY0MDA0
NzljMTlmY2M2YzdkNzAyYzdjZTMxNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5l
cmh0bWwtb24tb3JkaW5hcnktdGVtcGxhdGUudGVudGF0aXZlLmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93IERPTSBpbm5lckhU
TUw8L3RpdGxlPgorPGxpbmsgcmVsPSdhdXRob3InIGhyZWY9J21haWx0bzptYXNvbmZAY2hyb21p
dW0ub3JnJz4KKzxsaW5rIHJlbD0naGVscCcgaHJlZj0naHR0cHM6Ly9naXRodWIuY29tL3doYXR3
Zy9kb20vaXNzdWVzLzgzMSc+Cis8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyc+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyc+PC9zY3JpcHQ+CisKKzxib2R5PgorPHNjcmlwdD4KK2Z1bmN0aW9uIG15T2JzZXJ2ZXIobXV0
YXRpb25zTGlzdCkgeworICBmb3IgKGxldCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7Cisg
ICAgZm9yIChsZXQgbiBvZiBtdXRhdGlvbi5hZGRlZE5vZGVzKSB7CisgICAgICBpZiAobi5pZCA9
PT0gJ2hhcy1pbXBlcmF0aXZlLXJvb3QnKSB7CisgICAgICAgIGNvbnN0IHNoYWRvd1Jvb3QgPSBu
LmF0dGFjaFNoYWRvdygge21vZGU6ICdvcGVuJ30pOworICAgICAgfQorICAgIH0KKyAgfQorfQor
dmFyIG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIobXlPYnNlcnZlcik7CitvYnNlcnZl
ci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVl
IH0pOworPC9zY3JpcHQ+CisKKzxkaXYgaWQ9J2hhcy1pbXBlcmF0aXZlLXJvb3QnPgorICA8c2Ny
aXB0Pjwvc2NyaXB0PiA8IS0tIEVuc3VyZSBvYnNlcnZlciBydW5zLCBhdHRhY2hlcyBpbXBlcmF0
aXZlIHNoYWRvdyByb290IC0tPgorICA8dGVtcGxhdGUgaWQ9b3JkaW5hcnl0ZW1wbGF0ZSBzaGFk
b3dyb290PW9wZW4+CisgICAgPHNwYW4gaWQ9dG9yZXBsYWNlPlRoaXMgc2hvdWxkIGdldCByZW1v
dmVkPC9zcGFuPgorICA8L3RlbXBsYXRlPgorICA8c2NyaXB0PgorICAgIG9yZGluYXJ5dGVtcGxh
dGUuaW5uZXJIVE1MID0gJzxzcGFuIGlkPXJlcGxhY2VkPlRoaXMgc2hvdWxkIHJlcGxhY2UgdGVt
cGxhdGUgY29udGVudHM8L3NwYW4+JzsKKyAgPC9zY3JpcHQ+Cis8L2Rpdj4KKworPHNjcmlwdD4K
K3Rlc3QodCA9PiB7CisgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IG9ic2VydmVyLmRpc2Nv
bm5lY3QoKTsgfSk7CisgIGxldCBob3N0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2hhcy1p
bXBlcmF0aXZlLXJvb3QnKTsKKyAgbGV0IHNoYWRvd3Jvb3QgPSBob3N0LnNoYWRvd1Jvb3Q7Cisg
IGFzc2VydF90cnVlKCEhc2hhZG93cm9vdCwgJ1NoYWRvdyByb290IHNob3VsZCBiZSBwcmVzZW50
Jyk7CisgIGFzc2VydF9mYWxzZShzaGFkb3dyb290Lmhhc0NoaWxkTm9kZXMoKSwgJ1NoYWRvdyBy
b290IHNob3VsZCBub3QgY29udGFpbiBhbnkgY2hpbGRyZW4nKTsKKyAgbGV0IHRlbXBsYXRlID0g
aG9zdC5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZSNvcmRpbmFyeXRlbXBsYXRlJyk7CisgIGFzc2Vy
dF90cnVlKCEhdGVtcGxhdGUsICdTaW5jZSBob3N0IGhhcyBpbXBlcmF0aXZlIHJvb3QsIDx0ZW1w
bGF0ZT4gc2hvdWxkIGJlIGxlZnQgb3ZlcicpOworICBhc3NlcnRfZmFsc2UodGVtcGxhdGUuaGFz
Q2hpbGROb2RlcygpLCd0ZW1wbGF0ZSBzaG91bGQgbm90IGhhdmUgZGlyZWN0IGNoaWxkcmVuJyk7
CisgIGFzc2VydF90cnVlKCEhdGVtcGxhdGUuY29udGVudC5xdWVyeVNlbGVjdG9yKCcjcmVwbGFj
ZWQnKSwnVGhlIGlubmVySFRNTCByZXBsYWNlbWVudCBjb250ZW50IHNob3VsZCBiZSBwcmVzZW50
Jyk7CisgIGFzc2VydF90cnVlKCF0ZW1wbGF0ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3IoJyN0b3Jl
cGxhY2UnKSwnVGhlIG9sZCByZXBsYWNlZCBjb250ZW50IHNob3VsZCBub3QgYmUgcHJlc2VudCcp
OworfSwgJ0RlY2xhcmF0aXZlIFNoYWRvdyBET006IGlubmVySFRNTCBzaG91bGQgd29yayBvbiA8
dGVtcGxhdGUgc2hhZG93cm9vdD4gdGhhdCBpcyBsZWZ0IG92ZXInKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL21vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3Npbmct
dGFnLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODhiNzVlNzU0ZWI0NWYzNWIzZmEzMjll
ZmJiMzM0ZTU5OTdjNDZkMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPkRl
Y2xhcmF0aXZlIFNoYWRvdyBET006IG1vdmluZyB0aGUgdGVtcGxhdGUgZG9lc24ndCBjaGFuZ2Ug
YXR0YWNobWVudCBwb2ludDwvdGl0bGU+Ci08bGluayByZWw9J2F1dGhvcicgdGl0bGU9J01hc29u
IEZyZWVkJyBocmVmPSdtYWlsdG86bWFzb25mcmVlZEBjaHJvbWl1bS5vcmcnPgotPGxpbmsgcmVs
PSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4K
LTxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KLQotPGJv
ZHk+Ci08c2NyaXB0PgotZnVuY3Rpb24gbXlPYnNlcnZlcihtdXRhdGlvbnNMaXN0LCBvYnNlcnZl
cikgewotICBmb3IgKGxldCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7Ci0gICAgZm9yIChs
ZXQgbiBvZiBtdXRhdGlvbi5hZGRlZE5vZGVzKSB7Ci0gICAgICBpZiAobi5jbGFzc05hbWUgPT09
ICd0ZW1wbGF0ZScgJiYgIW4uYWxyZWFkeU1vdmVkKSB7Ci0gICAgICAgIG4uYWxyZWFkeU1vdmVk
ID0gdHJ1ZTsKLSAgICAgICAgbGV0IHRlc3RXcmFwcGVyID0gbi5wYXJlbnRFbGVtZW50LnBhcmVu
dEVsZW1lbnQ7Ci0gICAgICAgIGxldCBuZXdIb3N0ID0gdGVzdFdyYXBwZXIucXVlcnlTZWxlY3Rv
cignZGl2Lm5ldy1ob3N0Jyk7Ci0gICAgICAgIG5ld0hvc3QuYXBwZW5kQ2hpbGQobik7Ci0gICAg
ICB9Ci0gICAgfQotICB9Ci19Ci0obmV3IE11dGF0aW9uT2JzZXJ2ZXIobXlPYnNlcnZlcikpLm9i
c2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7
Ci0KLWZ1bmN0aW9uIHJ1blRlc3QodGVzdGRpdikgewotICBsZXQgZGVzY3JpcHRpb24gPSB0ZXN0
ZGl2LmdldEF0dHJpYnV0ZSgnZGVzY3JpcHRpb24nKTsKLSAgbGV0IHNob3VsZEF0dGFjaCA9IHRl
c3RkaXYuZ2V0QXR0cmlidXRlKCdzaG91bGRhdHRhY2gnKSA9PSAndHJ1ZSc7Ci0gIHRlc3QodCA9
PiB7Ci0gICAgbGV0IHRlbXBsYXRlID0gdGVzdGRpdi5xdWVyeVNlbGVjdG9yKCcudGVtcGxhdGUn
KTsKLSAgICBsZXQgb2xkSG9zdCA9IHRlc3RkaXYucXVlcnlTZWxlY3RvcignLm9sZC1ob3N0Jyk7
Ci0gICAgbGV0IG5ld0hvc3QgPSB0ZXN0ZGl2LnF1ZXJ5U2VsZWN0b3IoJy5uZXctaG9zdCcpOwot
ICAgIGxldCBzaGFkb3dyb290ID0gb2xkSG9zdC5zaGFkb3dSb290OwotICAgIGlmIChzaG91bGRB
dHRhY2gpIHsKLSAgICAgIGFzc2VydF90cnVlKCF0ZW1wbGF0ZSwgJ0RlY2xhcmF0aXZlIHNoYWRv
dyB0ZW1wbGF0ZSBzaG91bGQgbm90IGJlIGxlZnQgb3ZlcicpOwotICAgICAgYXNzZXJ0X3RydWUo
IW9sZEhvc3QuY2hpbGRyZW4ubGVuZ3RoLCAnT2xkIGhvc3Qgc2hvdWxkIG5vdCBjb250YWluIGNo
aWxkcmVuJyk7Ci0gICAgICBhc3NlcnRfdHJ1ZSghbmV3SG9zdC5jaGlsZHJlbi5sZW5ndGgsICdO
ZXcgaG9zdCBzaG91bGQgbm90IGNvbnRhaW4gYW55IGNoaWxkcmVuJyk7Ci0gICAgICBhc3NlcnRf
dHJ1ZSghIXNoYWRvd3Jvb3QsICdTaGFkb3cgcm9vdCBzaG91bGQgYmUgcHJlc2VudCcpOwotICAg
ICAgYXNzZXJ0X3RydWUoISFzaGFkb3dyb290LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uY29udGVudHMn
KSwgJ1RoZSBzaGFkb3cgcm9vdCBzaG91bGQgY29udGFpbiBhIHNwYW4nKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgYXNzZXJ0X3RydWUoIW9sZEhvc3QuY2hpbGRyZW4ubGVuZ3RoLCAnT2xkIGhvc3Qg
c2hvdWxkIG5vdCBjb250YWluIGNoaWxkcmVuJyk7Ci0gICAgICBhc3NlcnRfdHJ1ZSghIW5ld0hv
c3QuY2hpbGRyZW4ubGVuZ3RoLCAnTmV3IGhvc3Qgc2hvdWxkIG5vdyBjb250YWluIHRoZSB0ZW1w
bGF0ZScpOwotICAgICAgYXNzZXJ0X3RydWUoIXNoYWRvd3Jvb3QsICdTaGFkb3cgcm9vdCBzaG91
bGQgbm90IGJlIHByZXNlbnQnKTsKLSAgICAgIGFzc2VydF90cnVlKCEhdGVtcGxhdGUsICdEZWNs
YXJhdGl2ZSBzaGFkb3cgdGVtcGxhdGUgc2hvdWxkIGJlIGxlZnQgb3ZlcicpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyh0ZW1wbGF0ZSwgbmV3SG9zdC5xdWVyeVNlbGVjdG9yKCcudGVtcGxhdGUnKSwg
J0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgYmUgaW4gdGhlIG5ldyBob3N0Jyk7
Ci0gICAgICBhc3NlcnRfdHJ1ZSghIXRlbXBsYXRlLmNvbnRlbnQucXVlcnlTZWxlY3Rvcignc3Bh
bi5jb250ZW50cycpLCAnVGhlIHRlbXBsYXRlIHNob3VsZCBzdGlsbCBjb250YWluIGl0cyBjb250
ZW50Jyk7Ci0gICAgfQotICB9LCBkZXNjcmlwdGlvbik7Ci19Ci08L3NjcmlwdD4KLQotPHN0eWxl
PgotICBkaXYudGVzdCB7Ci0gICAgZGlzcGxheTogbm9uZTsKLSAgfQotPC9zdHlsZT4KLQotPGRp
diBjbGFzcz10ZXN0IHNob3VsZGF0dGFjaD10cnVlIGRlc2NyaXB0aW9uPSJNb3ZpbmcgdGhlIHRl
bXBsYXRlIG5vZGUgZHVyaW5nIHBhcnNpbmcgc2hvdWxkIGF0dGFjaCB0byBpbml0aWFsIHBhcmVu
dCAoY29udGVudCBiZWZvcmUgb2JzZXJ2ZXIpIj4KLSAgPGRpdiBjbGFzcz1uZXctaG9zdD48L2Rp
dj4KLSAgPGRpdiBjbGFzcz1vbGQtaG9zdD4KLSAgICA8dGVtcGxhdGUgY2xhc3M9J3RlbXBsYXRl
JyBzaGFkb3dyb290PW9wZW4+Ci0gICAgICA8c3BhbiBjbGFzcz1jb250ZW50cz5UZW1wbGF0ZSBj
b250ZW50czwvc3Bhbj4KLSAgICAgIDxzY3JpcHQ+PC9zY3JpcHQ+IDwhLS0gT2JzZXJ2ZXIgcnVu
cyBoZXJlLCBtb3ZlcyA8dGVtcGxhdGU+IG5vZGUgLS0+Ci0gICAgPC90ZW1wbGF0ZT4KLSAgPC9k
aXY+Ci08L2Rpdj4KLQotPGRpdiBjbGFzcz10ZXN0IHNob3VsZGF0dGFjaD10cnVlIGRlc2NyaXB0
aW9uPSJNb3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUgZHVyaW5nIHBhcnNpbmcgc2hvdWxkIGF0dGFj
aCB0byBpbml0aWFsIHBhcmVudCAoY29udGVudCBhZnRlciBvYnNlcnZlcikiPgotICA8ZGl2IGNs
YXNzPW5ldy1ob3N0PjwvZGl2PgotICA8ZGl2IGNsYXNzPW9sZC1ob3N0PgotICAgIDx0ZW1wbGF0
ZSBjbGFzcz0ndGVtcGxhdGUnIHNoYWRvd3Jvb3Q9b3Blbj4KLSAgICAgIDxzY3JpcHQ+PC9zY3Jp
cHQ+IDwhLS0gT2JzZXJ2ZXIgcnVucyBoZXJlLCBtb3ZlcyA8dGVtcGxhdGU+IG5vZGUgLS0+Ci0g
ICAgICA8c3BhbiBjbGFzcz1jb250ZW50cz5UZW1wbGF0ZSBjb250ZW50czwvc3Bhbj4KLSAgICA8
L3RlbXBsYXRlPgotICA8L2Rpdj4KLTwvZGl2PgotCi08ZGl2IGNsYXNzPXRlc3Qgc2hvdWxkYXR0
YWNoPWZhbHNlIGRlc2NyaXB0aW9uPSJNb3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUgZnJvbSBpbnZh
bGlkIHBhcmVudCB0byB2YWxpZCBwYXJlbnQgc2hvdWxkIHN0aWxsIG5vdCBhdHRhY2giPgotICA8
ZGl2IGNsYXNzPW5ldy1ob3N0PjwvZGl2PgotICA8dmlkZW8gY2xhc3M9b2xkLWhvc3Q+Ci0gICAg
PHRlbXBsYXRlIGNsYXNzPSd0ZW1wbGF0ZScgc2hhZG93cm9vdD1vcGVuPgotICAgICAgPHNwYW4g
Y2xhc3M9Y29udGVudHM+VGVtcGxhdGUgY29udGVudHM8L3NwYW4+Ci0gICAgICA8c2NyaXB0Pjwv
c2NyaXB0PiA8IS0tIE9ic2VydmVyIHJ1bnMgaGVyZSwgbW92ZXMgPHRlbXBsYXRlPiBub2RlIC0t
PgotICAgIDwvdGVtcGxhdGU+Ci0gIDwvdmlkZW8+Ci08L2Rpdj4KLQotPHNjcmlwdD4KLSAgbGV0
IHRlc3RzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGl2LnRlc3QnKTsKLSAgYXNzZXJ0
X3RydWUodGVzdHMubGVuZ3RoID4gMCk7Ci0gIHRlc3RzLmZvckVhY2godCA9PiB7IHJ1blRlc3Qo
dCk7IH0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10
ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJh
dGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE3MTA4NTU3Yjg5Y2I4ZmZhM2IyZjE3NmZjNjA3NzlmYmE1OTg3NjIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2lu
Zy10YWcudGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworRkFJTCBNb3Zp
bmcgdGhlIHRlbXBsYXRlIG5vZGUgZHVyaW5nIHBhcnNpbmcgc2hvdWxkIGF0dGFjaCB0byBpbml0
aWFsIHBhcmVudCAoY29udGVudCBiZWZvcmUgb2JzZXJ2ZXIpIGFzc2VydF90cnVlOiBEZWNsYXJh
dGl2ZSBzaGFkb3cgdGVtcGxhdGUgc2hvdWxkIG5vdCBiZSBsZWZ0IG92ZXIgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK0ZBSUwgTW92aW5nIHRoZSB0ZW1wbGF0ZSBub2RlIGR1cmluZyBwYXJzaW5n
IHNob3VsZCBhdHRhY2ggdG8gaW5pdGlhbCBwYXJlbnQgKGNvbnRlbnQgYWZ0ZXIgb2JzZXJ2ZXIp
IGFzc2VydF90cnVlOiBEZWNsYXJhdGl2ZSBzaGFkb3cgdGVtcGxhdGUgc2hvdWxkIG5vdCBiZSBs
ZWZ0IG92ZXIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgTW92aW5nIHRoZSB0ZW1wbGF0
ZSBub2RlIGZyb20gaW52YWxpZCBwYXJlbnQgdG8gdmFsaWQgcGFyZW50IHNob3VsZCBzdGlsbCBu
b3QgYXR0YWNoCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1j
bG9zaW5nLXRhZy50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9y
ZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmU2MDQxNDg3NDA2Njhk
MmYwYTU3OTFiOGFhZWMwNWZjOGEwNzZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL21v
dmUtdGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sCkBAIC0wLDAgKzEs
OTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET006IG1v
dmluZyB0aGUgdGVtcGxhdGUgZG9lc24ndCBjaGFuZ2UgYXR0YWNobWVudCBwb2ludDwvdGl0bGU+
Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFpbHRvOm1hc29uZkBjaHJvbWl1bS5vcmcnPgor
PGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1
ZXMvODMxJz4KKzxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3Njcmlw
dD4KKworPGJvZHk+Cis8c2NyaXB0PgorZnVuY3Rpb24gbXlPYnNlcnZlcihtdXRhdGlvbnNMaXN0
LCBvYnNlcnZlcikgeworICBmb3IgKGxldCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7Cisg
ICAgZm9yIChsZXQgbiBvZiBtdXRhdGlvbi5hZGRlZE5vZGVzKSB7CisgICAgICBpZiAobi5jbGFz
c05hbWUgPT09ICd0ZW1wbGF0ZScgJiYgIW4uYWxyZWFkeU1vdmVkKSB7CisgICAgICAgIG4uYWxy
ZWFkeU1vdmVkID0gdHJ1ZTsKKyAgICAgICAgbGV0IHRlc3RXcmFwcGVyID0gbi5wYXJlbnRFbGVt
ZW50LnBhcmVudEVsZW1lbnQ7CisgICAgICAgIGxldCBuZXdIb3N0ID0gdGVzdFdyYXBwZXIucXVl
cnlTZWxlY3RvcignZGl2Lm5ldy1ob3N0Jyk7CisgICAgICAgIG5ld0hvc3QuYXBwZW5kQ2hpbGQo
bik7CisgICAgICB9CisgICAgfQorICB9Cit9CisobmV3IE11dGF0aW9uT2JzZXJ2ZXIobXlPYnNl
cnZlcikpLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6
IHRydWUgfSk7CisKK2Z1bmN0aW9uIHJ1blRlc3QodGVzdGRpdikgeworICBsZXQgZGVzY3JpcHRp
b24gPSB0ZXN0ZGl2LmdldEF0dHJpYnV0ZSgnZGVzY3JpcHRpb24nKTsKKyAgbGV0IHNob3VsZEF0
dGFjaCA9IHRlc3RkaXYuZ2V0QXR0cmlidXRlKCdzaG91bGRhdHRhY2gnKSA9PSAndHJ1ZSc7Cisg
IHRlc3QodCA9PiB7CisgICAgbGV0IHRlbXBsYXRlID0gdGVzdGRpdi5xdWVyeVNlbGVjdG9yKCcu
dGVtcGxhdGUnKTsKKyAgICBsZXQgb2xkSG9zdCA9IHRlc3RkaXYucXVlcnlTZWxlY3RvcignLm9s
ZC1ob3N0Jyk7CisgICAgbGV0IG5ld0hvc3QgPSB0ZXN0ZGl2LnF1ZXJ5U2VsZWN0b3IoJy5uZXct
aG9zdCcpOworICAgIGxldCBzaGFkb3dyb290ID0gb2xkSG9zdC5zaGFkb3dSb290OworICAgIGlm
IChzaG91bGRBdHRhY2gpIHsKKyAgICAgIGFzc2VydF90cnVlKCF0ZW1wbGF0ZSwgJ0RlY2xhcmF0
aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgbm90IGJlIGxlZnQgb3ZlcicpOworICAgICAgYXNz
ZXJ0X3RydWUoIW9sZEhvc3QuY2hpbGRyZW4ubGVuZ3RoLCAnT2xkIGhvc3Qgc2hvdWxkIG5vdCBj
b250YWluIGNoaWxkcmVuJyk7CisgICAgICBhc3NlcnRfdHJ1ZSghbmV3SG9zdC5jaGlsZHJlbi5s
ZW5ndGgsICdOZXcgaG9zdCBzaG91bGQgbm90IGNvbnRhaW4gYW55IGNoaWxkcmVuJyk7CisgICAg
ICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QsICdTaGFkb3cgcm9vdCBzaG91bGQgYmUgcHJlc2Vu
dCcpOworICAgICAgYXNzZXJ0X3RydWUoISFzaGFkb3dyb290LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4u
Y29udGVudHMnKSwgJ1RoZSBzaGFkb3cgcm9vdCBzaG91bGQgY29udGFpbiBhIHNwYW4nKTsKKyAg
ICB9IGVsc2UgeworICAgICAgYXNzZXJ0X3RydWUoIW9sZEhvc3QuY2hpbGRyZW4ubGVuZ3RoLCAn
T2xkIGhvc3Qgc2hvdWxkIG5vdCBjb250YWluIGNoaWxkcmVuJyk7CisgICAgICBhc3NlcnRfdHJ1
ZSghIW5ld0hvc3QuY2hpbGRyZW4ubGVuZ3RoLCAnTmV3IGhvc3Qgc2hvdWxkIG5vdyBjb250YWlu
IHRoZSB0ZW1wbGF0ZScpOworICAgICAgYXNzZXJ0X3RydWUoIXNoYWRvd3Jvb3QsICdTaGFkb3cg
cm9vdCBzaG91bGQgbm90IGJlIHByZXNlbnQnKTsKKyAgICAgIGFzc2VydF90cnVlKCEhdGVtcGxh
dGUsICdEZWNsYXJhdGl2ZSBzaGFkb3cgdGVtcGxhdGUgc2hvdWxkIGJlIGxlZnQgb3ZlcicpOwor
ICAgICAgYXNzZXJ0X2VxdWFscyh0ZW1wbGF0ZSwgbmV3SG9zdC5xdWVyeVNlbGVjdG9yKCcudGVt
cGxhdGUnKSwgJ0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgYmUgaW4gdGhlIG5l
dyBob3N0Jyk7CisgICAgICBhc3NlcnRfdHJ1ZSghIXRlbXBsYXRlLmNvbnRlbnQucXVlcnlTZWxl
Y3Rvcignc3Bhbi5jb250ZW50cycpLCAnVGhlIHRlbXBsYXRlIHNob3VsZCBzdGlsbCBjb250YWlu
IGl0cyBjb250ZW50Jyk7CisgICAgfQorICB9LCBkZXNjcmlwdGlvbik7Cit9Cis8L3NjcmlwdD4K
KworPHN0eWxlPgorICBkaXYudGVzdCB7CisgICAgZGlzcGxheTogbm9uZTsKKyAgfQorPC9zdHls
ZT4KKworPGRpdiBjbGFzcz10ZXN0IHNob3VsZGF0dGFjaD10cnVlIGRlc2NyaXB0aW9uPSJNb3Zp
bmcgdGhlIHRlbXBsYXRlIG5vZGUgZHVyaW5nIHBhcnNpbmcgc2hvdWxkIGF0dGFjaCB0byBpbml0
aWFsIHBhcmVudCAoY29udGVudCBiZWZvcmUgb2JzZXJ2ZXIpIj4KKyAgPGRpdiBjbGFzcz1uZXct
aG9zdD48L2Rpdj4KKyAgPGRpdiBjbGFzcz1vbGQtaG9zdD4KKyAgICA8dGVtcGxhdGUgY2xhc3M9
J3RlbXBsYXRlJyBzaGFkb3dyb290PW9wZW4+CisgICAgICA8c3BhbiBjbGFzcz1jb250ZW50cz5U
ZW1wbGF0ZSBjb250ZW50czwvc3Bhbj4KKyAgICAgIDxzY3JpcHQ+PC9zY3JpcHQ+IDwhLS0gT2Jz
ZXJ2ZXIgcnVucyBoZXJlLCBtb3ZlcyA8dGVtcGxhdGU+IG5vZGUgLS0+CisgICAgPC90ZW1wbGF0
ZT4KKyAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz10ZXN0IHNob3VsZGF0dGFjaD10cnVl
IGRlc2NyaXB0aW9uPSJNb3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUgZHVyaW5nIHBhcnNpbmcgc2hv
dWxkIGF0dGFjaCB0byBpbml0aWFsIHBhcmVudCAoY29udGVudCBhZnRlciBvYnNlcnZlcikiPgor
ICA8ZGl2IGNsYXNzPW5ldy1ob3N0PjwvZGl2PgorICA8ZGl2IGNsYXNzPW9sZC1ob3N0PgorICAg
IDx0ZW1wbGF0ZSBjbGFzcz0ndGVtcGxhdGUnIHNoYWRvd3Jvb3Q9b3Blbj4KKyAgICAgIDxzY3Jp
cHQ+PC9zY3JpcHQ+IDwhLS0gT2JzZXJ2ZXIgcnVucyBoZXJlLCBtb3ZlcyA8dGVtcGxhdGU+IG5v
ZGUgLS0+CisgICAgICA8c3BhbiBjbGFzcz1jb250ZW50cz5UZW1wbGF0ZSBjb250ZW50czwvc3Bh
bj4KKyAgICA8L3RlbXBsYXRlPgorICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPXRlc3Qg
c2hvdWxkYXR0YWNoPWZhbHNlIGRlc2NyaXB0aW9uPSJNb3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUg
ZnJvbSBpbnZhbGlkIHBhcmVudCB0byB2YWxpZCBwYXJlbnQgc2hvdWxkIHN0aWxsIG5vdCBhdHRh
Y2giPgorICA8ZGl2IGNsYXNzPW5ldy1ob3N0PjwvZGl2PgorICA8dmlkZW8gY2xhc3M9b2xkLWhv
c3Q+CisgICAgPHRlbXBsYXRlIGNsYXNzPSd0ZW1wbGF0ZScgc2hhZG93cm9vdD1vcGVuPgorICAg
ICAgPHNwYW4gY2xhc3M9Y29udGVudHM+VGVtcGxhdGUgY29udGVudHM8L3NwYW4+CisgICAgICA8
c2NyaXB0Pjwvc2NyaXB0PiA8IS0tIE9ic2VydmVyIHJ1bnMgaGVyZSwgbW92ZXMgPHRlbXBsYXRl
PiBub2RlIC0tPgorICAgIDwvdGVtcGxhdGU+CisgIDwvdmlkZW8+Cis8L2Rpdj4KKworPHNjcmlw
dD4KKyAgbGV0IHRlc3RzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGl2LnRlc3QnKTsK
KyAgYXNzZXJ0X3RydWUodGVzdHMubGVuZ3RoID4gMCk7CisgIHRlc3RzLmZvckVhY2godCA9PiB7
IHJ1blRlc3QodCk7IH0pOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRp
dmUvc2NyaXB0LWFjY2Vzcy50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9zY3JpcHQtYWNjZXNz
LnRlbnRhdGl2ZS5odG1sCmluZGV4IGI4N2JiN2FiMzA4YjNiZWMxZmY4MWNmNGY0NWRhNTgyZDFk
Yjc3OGEuLjY2ZDRiOTQ4Y2JiYWVjNzU4ZTcwZjcwMTYwNjMwZWNmOWFhMDhlMzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9kZWNsYXJhdGl2ZS9zY3JpcHQtYWNjZXNzLnRlbnRhdGl2ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2
ZS9zY3JpcHQtYWNjZXNzLnRlbnRhdGl2ZS5odG1sCkBAIC0xLDYgKzEsNiBAQAogPCFET0NUWVBF
IGh0bWw+CiA8dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93IERPTTwvdGl0bGU+Ci08bGluayByZWw9
J2F1dGhvcicgdGl0bGU9J01hc29uIEZyZWVkJyBocmVmPSdtYWlsdG86bWFzb25mcmVlZEBjaHJv
bWl1bS5vcmcnPgorPGxpbmsgcmVsPSdhdXRob3InIGhyZWY9J21haWx0bzptYXNvbmZAY2hyb21p
dW0ub3JnJz4KIDxsaW5rIHJlbD0naGVscCcgaHJlZj0naHR0cHM6Ly9naXRodWIuY29tL3doYXR3
Zy9kb20vaXNzdWVzLzgzMSc+CiA8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyc+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyc+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFy
YXRpdmUvdzNjLWltcG9ydC5sb2cKaW5kZXggOTNlNGYyMmRmM2MwNWJlMGJlMDQ0MmNiODRhNzI2
OGNlMjg3NWFkMy4uMjdiMWZhNzE1MWE3NzRjNGEyZGE4YzI3ODMwNWI4YTFmYTFkNGQwMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2RlY2xhcmF0aXZlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS93M2MtaW1w
b3J0LmxvZwpAQCAtMTgsOCArMTgsOSBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNs
YXJhdGl2ZS1zaGFkb3ctZG9tLWF0dGFjaG1lbnQudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUv
ZGVjbGFyYXRpdmUtc2hhZG93LWRvbS1iYXNpYy50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9k
ZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLW9wdC1pbi50ZW50YXRpdmUuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9k
ZWNsYXJhdGl2ZS13aXRoLWRpc2FibGVkLXNoYWRvdy50ZW50YXRpdmUuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2
ZS9nZXRpbm5lcmh0bWwudGVudGF0aXZlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9y
ZS1jbG9zaW5nLXRhZy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1w
bGF0ZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2RlY2xhcmF0aXZlL21vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24tb3JkaW5hcnktdGVtcGxhdGUudGVudGF0aXZlLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZl
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZGVjbGFyYXRpdmUvc2NyaXB0LWFjY2Vzcy50ZW50YXRpdmUuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2V2ZW50LW9uLXBzZXVkby1lbGVtZW50LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVsZW1l
bnQtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDNmNTFhNjRmNDM5ZTc3MmZmNTY3MDJkYzEzMmY4
Y2Q4Yzc5MzhjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LW9uLXBzZXVkby1lbGVtZW50LWNyYXNo
Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8bGluayByZWw9ImF1dGhvciIgaHJlZj0ibWFpbHRvOm1hc29uZkBjaHJvbWl1bS5v
cmciPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2NyYnVnLmNvbS8xMTgwMjg2Ij4K
KzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iVGhlIHJlbmRlcmVyIHNob3VsZCBub3QgY3Jh
c2guIj4KKworPHNwYW4+VGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgcmVuZGVyZXIgZG9lcyBub3Qg
Y3Jhc2guPC9zcGFuPgorCis8ZGl2PgorICA8b3B0aW9uPjwvb3B0aW9uPgorPC9kaXY+CisKKzxz
dHlsZT4KKyAgZGl2IHsKKyAgICBkaXJlY3Rpb246IHJ0bDsKKyAgICB6b29tOiAwLjAxOworICB9
CisgIG9wdGlvbiB7CisgICAgem9vbTogNTsKKyAgfQorICBvcHRpb246OmJlZm9yZSB7CisgICAg
ZGlzcGxheTogdGFibGUtY2FwdGlvbjsKKyAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgIGNvbnRl
bnQ6IG9wZW4tcXVvdGU7CisgICAgcGFkZGluZy1yaWdodDogMXB4OworICAgIC13ZWJraXQtY29s
dW1uLXdpZHRoOiAxcHg7CisgIH0KKzwvc3R5bGU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvU2hhZG93Um9v
dC1kZWxlZ2F0ZXNGb2N1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvU2hhZG93Um9vdC1kZWxlZ2F0ZXNG
b2N1cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzE4ZjkxOWFkMjBiYjMzNTZhNTRmMmE2NDFm
MmU1MmQ1MGQyOWIxNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRl
c0ZvY3VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworRkFJTCBkZWZhdWx0IGRlbGVn
YXRlc0ZvY3VzIHZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChib29sZWFuKSBmYWxzZSBi
dXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBkZWxlZ2F0ZXNGb2N1cyBzZXQgdG8g
ZmFsc2UgaW4gaW5pdCBkaWN0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChib29sZWFuKSBmYWxz
ZSBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBkZWxlZ2F0ZXNGb2N1cyBzZXQg
dG8gdHJ1ZSBpbiBpbml0IGRpY3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKGJvb2xlYW4pIHRy
dWUgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL1NoYWRv
d1Jvb3QtZGVsZWdhdGVzRm9jdXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRlc0ZvY3Vz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGI3ZmU0ZTUwZTcyYjk0YjY5MGY4YTZlNDQ4OTJhNjZhMTdmYTQw
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRlc0ZvY3VzLmh0bWwK
QEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+U2hhZG93Um9vdCdzICBkZWxlZ2F0ZXNGb2N1cyBhdHRyaWJ1dGU8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD0iaG9zdDEiPjwvZGl2PgorPGRpdiBpZD0iaG9zdDIiPjwvZGl2PgorPGRpdiBpZD0iaG9zdDMi
PjwvZGl2PgorPHNjcmlwdD4KK3Rlc3QodCA9PiB7CisgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaG9zdDEiKTsKKyAgY29uc3Qgc2hhZG93Um9vdCA9IGhvc3QuYXR0YWNo
U2hhZG93KHttb2RlOiAiY2xvc2VkIn0pOworICBhc3NlcnRfZXF1YWxzKHNoYWRvd1Jvb3QuZGVs
ZWdhdGVzRm9jdXMsIGZhbHNlKTsKK30sICJkZWZhdWx0IGRlbGVnYXRlc0ZvY3VzIHZhbHVlIik7
CisKK3Rlc3QodCA9PiB7CisgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aG9zdDIiKTsKKyAgY29uc3Qgc2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAi
Y2xvc2VkIiwgZGVsZWdhdGVzRm9jdXM6IGZhbHNlfSk7CisgIGFzc2VydF9lcXVhbHMoc2hhZG93
Um9vdC5kZWxlZ2F0ZXNGb2N1cywgZmFsc2UpOworfSwgImRlbGVnYXRlc0ZvY3VzIHNldCB0byBm
YWxzZSBpbiBpbml0IGRpY3QiKTsKKwordGVzdCh0ID0+IHsKKyAgY29uc3QgaG9zdCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJob3N0MyIpOworICBjb25zdCBzaGFkb3dSb290ID0gaG9zdC5h
dHRhY2hTaGFkb3coe21vZGU6ICJjbG9zZWQiLCBkZWxlZ2F0ZXNGb2N1czogdHJ1ZX0pOworICBh
c3NlcnRfZXF1YWxzKHNoYWRvd1Jvb3QuZGVsZWdhdGVzRm9jdXMsIHRydWUpOworfSwgImRlbGVn
YXRlc0ZvY3VzIHNldCB0byB0cnVlIGluIGluaXQgZGljdCIpOworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZm9jdXMvZm9jdXMtc2VsZWN0b3ItZGVsZWdhdGVzRm9jdXMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy1z
ZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy5odG1sCmluZGV4IDM3MDJmOGUyYmE2MzIyOGNiYTVjNDgz
YTc2ZjJiNzczNzJlNjhjNGQuLmI4Y2FjOTI1NjQ3NDg3NTJmN2NmZTJjMGJkZmY0ZGZlYmNiOTA0
ZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9mb2N1cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy5odG1sCkBAIC03LDggKzcsNiBA
QAogICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
bXVsdGlwYWdlL3NlbWFudGljcy1vdGhlci5odG1sI3NlbGVjdG9yLWZvY3VzIiAvPgogICA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiAgIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KICAgPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaGFkb3ctdXRpbHMuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZm9jdXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvdzNjLWltcG9ydC5sb2cKaW5kZXggYWIy
OTNhMTkxM2RjNzZmYTZlNjc1ZWY5M2E2NDYyZjI3Yjc3MTcxYS4uMzFlOGE4NTc0YTBlNzZkNTVl
Y2JiZDM2ZmEyYjVhMjVjZWVjYzRkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL3czYy1pbXBvcnQubG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy93M2MtaW1wb3J0LmxvZwpAQCAtMTUsNiArMTUsNyBAQCBOb25lCiAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL0RvY3VtZW50T3JTaGFkb3dSb290LWFjdGl2ZUVs
ZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRlc0ZvY3VzLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvY2xp
Y2stZm9jdXMtZGVsZWdhdGVzRm9jdXMtY2xpY2stbWV0aG9kLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvY2xpY2stZm9j
dXMtZGVsZWdhdGVzRm9jdXMtdGFiaW5kZXgtdmFyaWVzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvY2xpY2stZm9jdXMt
ZGVsZWdhdGVzRm9jdXMtdGFiaW5kZXgtemVyby5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1z
bG90LWFwaS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1jcmFzaC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjIxMjRhMjg5ZDYxZjFiNDg4ZmRkN2E3MzRjNWViNjFjM2Jh
ZWQxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEyIEBACitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogc2xvdDEu
YXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Nsb3QxLmFzc2lnbihbY2hpbGQxXSknLCAn
c2xvdDEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDM0CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzNAorICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDE4CisgICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMCwwKSBzaXplIDc4NHgwCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDApIHNpemUgNzg0eDAKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNp
emUgNzg0eDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIyNngx
OAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyNjogIlRoaXMgdGVzdCBwYXNz
ZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
aW1wZXJhdGl2ZS1zbG90LWFwaS1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhNDQ0Nzc4ZTMxM2Fh
YWI3M2QyYmE1OTI1YjM1ZTIwMWNlMTEwYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1z
bG90LWFwaS1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGxp
bmsgcmVsPSJhdXRob3IiIGhyZWY9Im1haWx0bzptYXNvbmZAY2hyb21pdW0ub3JnIj4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uv
c2NyaXB0aW5nLmh0bWwjZG9tLXNsb3QtYXNzaWduIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly9jcmJ1Zy5jb20vMTIwMTQwMiI+CisKKzxkaXYgaWQ9Imhvc3QiPgorICA8ZGl2IGlk
PSJjaGlsZDEiPjwvZGl2PgorPC9kaXY+CitUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90
IGNyYXNoLgorPHNjcmlwdD4KKyAgY29uc3QgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
IiNob3N0Iik7CisgIGNvbnN0IGNoaWxkMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjaGls
ZDEiKTsKKyAgY29uc3Qgc2hhZG93X3Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJv
cGVuIiwgc2xvdEFzc2lnbm1lbnQ6ICJtYW51YWwiIH0pOworICB2YXIgc2xvdDEgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzbG90Iik7CisgIHNsb3QxLmlkID0gImZpcnN0X3Nsb3QiOworICBz
aGFkb3dfcm9vdC5hcHBlbmRDaGlsZChzbG90MSk7CisgIHNsb3QxLmFzc2lnbihbY2hpbGQxXSk7
CisgIHNsb3QxLnJlbW92ZSgpOworICBzbG90MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNs
b3QiKTsKKyAgc2xvdDEuaWQgPSAic2Vjb25kX3Nsb3QiOworICBzaGFkb3dfcm9vdC5hcHBlbmRD
aGlsZChzbG90MSk7CisgIHNsb3QxLmFzc2lnbihbY2hpbGQxXSk7IC8vIFNob3VsZG4ndCBjcmFz
aCBoZXJlCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjllZjZm
MWUzZjBjYzdkNmMzMmU4ZjA3ZDEwYjI5NDg4ZjdkMjlhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVy
YXRpdmUtc2xvdC1hcGktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKKworRkFJTCBhdHRh
Y2hTaGFkb3cgY2FuIHRha2Ugc2xvdEFzc2lnbm1lbnQgcGFyYW1ldGVyLiBhc3NlcnRfdGhyb3dz
X2pzOiBvdGhlcnMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbiBmdW5jdGlvbiAiKCkgPT4geworICAg
IHRUcmVlLmhvc3QzLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJywgc2xvdEFzc2lnbm1lbnQ6
ICdleGNlcHRpb25hbCcgfSl9IiBkaWQgbm90IHRocm93CitGQUlMIEltcGVyYXRpdmUgc2xvdCBB
UEkgY2FuIGFzc2lnbiBub2RlcyBpbiBtYW51YWwgc2xvdCBhc3NpZ25tZW50LiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxzbG90IGlkPSJzMSI+PC9z
bG90PgorRkFJTCBPcmRlciBvZiBzbG90dGFibGVzIGlzIHByZXNlcnZlZCBpbiBtYW51YWwgc2xv
dCBhc3NpZ25tZW50LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRy
ZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSknLCAndFRyZWUuczEu
YXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIFByZXZpb3VzbHkgYXNzaWduZWQgc2xvdHRhYmxl
IGlzIG1vdmVkIHRvIG5ldyBzbG90IHdoZW4gaXQncyByZWFzc2lnbmVkLiB0VHJlZS5zMS5hc3Np
Z24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRy
ZWUuYzMsIHRUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlM
IE9yZGVyIGFuZCBhc3NpZ25tZW50IG9mIG5vZGVzIGFyZSBwcmVzZXJ2ZWQgZHVyaW5nIG11bHRp
cGxlIGFzc2lnbm1lbnQgaW4gYSByb3cuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBp
cyB1bmRlZmluZWQpCitGQUlMIEFzc2lnbmluZyBpbnZhbGlkIG5vZGVzIHNob3VsZCBiZSBhbGxv
d2VkLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNz
aWduKFt0VHJlZS5jMSwgdFRyZWUuYzQsIHRUcmVlLmMyXSknLCAndFRyZWUuczEuYXNzaWduJyBp
cyB1bmRlZmluZWQpCitGQUlMIE1vdmluZyBhIHNsb3QgdG8gYSBuZXcgaG9zdCwgdGhlIHNsb3Qg
bG9zZXMgaXRzIHByZXZpb3VzbHkgYXNzaWduZWQgc2xvdHRhYmxlcy4gdFRyZWUuczEuYXNzaWdu
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVl
LmMyLCB0VHJlZS5jM10pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBN
b3ZpbmcgYSBzbG90J3MgdHJlZSBvcmRlciBwb3NpdGlvbiB3aXRoaW4gYSBzaGFkb3cgaG9zdCBo
YXMgbm8gaW1wYWN0IG9uIGl0cyBhc3NpZ25lZCBzbG90dGFibGVzLiB0VHJlZS5zMS5hc3NpZ24g
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUu
YzIsIHRUcmVlLmMzXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIEFw
cGVuZGluZyBzbG90dGFibGUgdG8gZGlmZmVyZW50IGhvc3QsIGl0IGxvc2VzIHNsb3QgYXNzaWdu
bWVudC4gSXQgY2FuIGJlIHJlLWFzc2lnbmVkIHdpdGhpbiBhIG5ldyBob3N0LiB0VHJlZS5zMS5h
c3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwg
dFRyZWUuYzIsIHRUcmVlLmMzXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitG
QUlMIFByZXZpb3VzbHkgYXNzaWduZWQgbm9kZSBzaG91bGQgbm90IGJlIGFzc2lnbmVkIGlmIHNs
b3QgbW92ZWQgdG8gYSBuZXcgc2hhZG93IHJvb3QuIFRoZSBzbG90IHJlbWFpbnMgZW1wdHkgd2hl
biBtb3ZlZCBiYWNrLCB0cmlnZ2VyIHJlY2FsYy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3Np
Z24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQXNzaWdubWVudCB3aXRoIHRoZSBzYW1lIG5vZGUgaW4g
cGFyYW1ldGVycyBzaG91bGQgYmUgaWdub3JlZCwgZmlyc3Qgb25lIHdpbnMuIHRUcmVlLnMxLmFz
c2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0
VHJlZS5jMSwgdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgUmVtb3ZpbmcgYSBzbG90IGZyb20gRE9NIHJlc2V0cyBpdHMgc2xvdHRhYmxlJ3Mgc2xvdCBh
c3NpZ25tZW50LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUu
czEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSknLCAndFRyZWUuczEuYXNz
aWduJyBpcyB1bmRlZmluZWQpCitGQUlMIE5vZGVzIGNhbiBiZSBhc3NpZ25lZCBldmVuIGlmIHNs
b3RzIG9yIG5vZGVzIGFyZW4ndCBpbiB0aGUgc2FtZSB0cmVlLiB0VHJlZS5zMS5hc3NpZ24gaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJd
KScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgUmVtb3ZpbmcgYSBub2Rl
IGZyb20gdGhlIGRvY3VtZW50IGRvZXMgbm90IGJyZWFrIG1hbnVhbGx5IGFzc2lnbmVkIHNsb3Qg
bGlua2FnZS4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMx
LmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRl
ZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLXNsb3RjaGFuZ2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5nZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjJiZDEwYmQyYzlmZmVkZmQ4YjJhYjZiYTNjMmE2NDYzM2NjODdmYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLXNsb3RjaGFuZ2UtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTQgQEAKKworRkFJTCBzbG90Y2hhbmdlIGV2ZW50IG11c3Qgbm90IGZpcmUgc3luY2hy
b25vdXNseS4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMx
LmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgc2xvdGNoYW5nZSBldmVudCBzaG91bGQgbm90IGZpcmUgd2hlbiBhc3NpZ25tZW50cyBkbyBu
b3QgY2hhbmdlIGFzc2lnbmVkTm9kZXMuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW10pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZp
bmVkKQorRkFJTCBzbG90Y2hhbmdlIGV2ZW50IHNob3VsZCBub3QgZmlyZSB3aGVuIHNhbWUgbm9k
ZSBpcyBhc3NpZ25lZC4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RU
cmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSknLCAndFRyZWUuczEuYXNzaWduJyBp
cyB1bmRlZmluZWQpCitGQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIHNsb3QncyBhc3Np
Z25lZCBub2RlcyBjaGFuZ2VzLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5k
ZWZpbmVkKQorRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgb24gcHJldmlvdXMgc2xvdCBhbmQg
bmV3IHNsb3Qgd2hlbiBub2RlIGlzIHJlYXNzaWduZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUuczEu
YXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCBvbiBub2Rl
IGFzc2lnbm1lbnQgYW5kIHdoZW4gYXNzaWduZWQgbm9kZSBpcyByZW1vdmVkLiB0VHJlZS5zMS5h
c3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0p
JywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBGaXJlIHNsb3RjaGFuZ2Ug
ZXZlbnQgd2hlbiBvcmRlciBvZiBhc3NpZ25lZCBub2RlcyBjaGFuZ2VzLiB0VHJlZS5zMS5hc3Np
Z24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRy
ZWUuYzJdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRmlyZSBzbG90
Y2hhbmdlIGV2ZW50IHdoZW4gYXNzaWduZWQgbm9kZSBpcyByZW1vdmVkLiB0VHJlZS5zMS5hc3Np
Z24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywg
J3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZl
bnQgd2hlbiByZW1vdmluZyBhIHNsb3QgZnJvbSBTaGFkb3dzIFJvb3QgdGhhdCBjaGFuZ2VzIGl0
cyBhc3NpZ25lZCBub2Rlcy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgTm8gc2xvdGNoYW5nZSBldmVudCB3aGVuIGFkZGluZyBvciByZW1vdmluZyBh
biBlbXB0eSBzbG90LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMQorRkFJTCBO
byBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYWRkaW5nIGFub3RoZXIgc2xvdGFibGUuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAxCitGQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCB3
aGVuIGFzc2lnbiBub2RlIHRvIG5lc3RlZCBzbG90LCBlbnN1cmUgZXZlbnQgYnViYmxlcyB1cHMu
IHRUcmVlLnMzLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMy5hc3NpZ24o
W3RUcmVlLnMxXSknLCAndFRyZWUuczMuYXNzaWduJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9pbXBlcmF0aXZlLXNsb3QtYXBpLXNsb3RjaGFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBp
LXNsb3RjaGFuZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDllYmJkM2Y4NDliMzI2MmEwMTEzOWQ2YWNm
YmJmYzZhZGU4N2E2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNo
YW5nZS5odG1sCkBAIC0wLDAgKzEsMzU4IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5TaGFk
b3cgRE9NOiBJbXBlcmF0aXZlIFNsb3QgQVBJIHNsb3RjaGFuZ2UgZXZlbnQ8L3RpdGxlPgorPG1l
dGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iWXUgSGFuIiBocmVmPSJtYWlsdG86eXV6aGVoYW5AY2hy
b21pdW0ub3JnIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3Jn
LyNzaWduYWxpbmctc2xvdC1jaGFuZ2UiPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ct
ZG9tLmpzIj48L3NjcmlwdD4KKworPGRpdiBpZD0idGVzdF9zbG90Y2hhbmdlIj4KKyAgPGRpdiBp
ZD0iaG9zdCI+CisgICAgPHRlbXBsYXRlIGlkPSJzaGFkb3dfcm9vdCIgZGF0YS1tb2RlPSJvcGVu
IiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KKyAgICAgIDxzbG90IGlkPSJzMSI+PGRp
diBpZD0iZmIiPmZhbGxiYWNrPC9kaXY+PC9zbG90PgorICAgICAgPHNsb3QgaWQ9InMyIj48L3Ns
b3Q+CisgICAgICA8c2xvdCBpZD0iczMiPjwvc2xvdD4KKyAgICA8L3RlbXBsYXRlPgorICAgIDxk
aXYgaWQ9ImMxIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjMiI+PC9kaXY+CisgIDwvZGl2PgorICA8
ZGl2IGlkPSJjNCI+PC9kaXY+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGdldERhdGFD
b2xsZWN0aW9uKCkgeworICByZXR1cm4geworICAgIHMxRXZlbnRDb3VudDogMCwKKyAgICBzMkV2
ZW50Q291bnQ6IDAsCisgICAgczNFdmVudENvdW50OiAwLAorICAgIHMxUmVzb2x2ZUZuOiBudWxs
LAorICAgIHMyUmVzb2x2ZUZuOiBudWxsLAorICAgIHMzUmVzb2x2ZUZuOiBudWxsLAorICB9Cit9
CisKK2Z1bmN0aW9uIHNldHVwU2hhZG93RE9NKGlkLCB0ZXN0LCBkYXRhKSB7CisgIGxldCB0VHJl
ZSA9IGNyZWF0ZVRlc3RUcmVlKGlkKTsKKyAgdFRyZWUuczEuYWRkRXZlbnRMaXN0ZW5lcignc2xv
dGNoYW5nZScsIChldmVudCkgPT4geworICAgIGlmICghZXZlbnQuaXNGYWtlRXZlbnQpIHsKKyAg
ICAgIHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVu
dC50eXBlLCAnc2xvdGNoYW5nZScsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHR5cGUgbXVzdCBiZSAi
c2xvdGNoYW5nZSInKTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnRhcmdldCwgdFRy
ZWUuczEsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHRhcmdldCBtdXN0IGJlIHRoZSBzbG90IGVsZW1l
bnQnKTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIHVuZGVm
aW5lZCwgJ3Nsb3RjaGFuZ2UgbXVzdCBub3Qgc2V0IHJlbGF0ZWRUYXJnZXQnKTsKKyAgICAgIH0p
OworICAgICAgZGF0YS5zMUV2ZW50Q291bnQrKzsKKyAgICB9CisgICAgZGF0YS5zMVJlc29sdmVG
bigpOworICB9KTsKKyAgdFRyZWUuczIuYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIChl
dmVudCkgPT4geworICAgIGlmICghZXZlbnQuaXNGYWtlRXZlbnQpIHsKKyAgICAgIHRlc3Quc3Rl
cChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC50eXBlLCAnc2xv
dGNoYW5nZScsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHR5cGUgbXVzdCBiZSAic2xvdGNoYW5nZSIn
KTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnRhcmdldCwgdFRyZWUuczIsICdzbG90
Y2hhbmdlIGV2ZW50XCdzIHRhcmdldCBtdXN0IGJlIHRoZSBzbG90IGVsZW1lbnQnKTsKKyAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIHVuZGVmaW5lZCwgJ3Nsb3Rj
aGFuZ2UgbXVzdCBub3Qgc2V0IHJlbGF0ZWRUYXJnZXQnKTsKKyAgICAgIH0pOworICAgICAgZGF0
YS5zMkV2ZW50Q291bnQrKzsKKyAgICB9CisgICAgZGF0YS5zMlJlc29sdmVGbigpOworICB9KTsK
KyAgdFRyZWUuczMuYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIChldmVudCkgPT4gewor
ICAgIGlmICghZXZlbnQuaXNGYWtlRXZlbnQpIHsKKyAgICAgIHRlc3Quc3RlcChmdW5jdGlvbiAo
KSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudHlwZSwgJ3Nsb3RjaGFuZ2UnLCAnc2xv
dGNoYW5nZSBldmVudFwncyB0eXBlIG11c3QgYmUgInNsb3RjaGFuZ2UiJyk7CisgICAgICAgIC8v
IGxpc3RlbiB0byBidWJibGluZyBldmVudHMuCisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQu
cmVsYXRlZFRhcmdldCwgdW5kZWZpbmVkLCAnc2xvdGNoYW5nZSBtdXN0IG5vdCBzZXQgcmVsYXRl
ZFRhcmdldCcpOworICAgICAgfSk7CisgICAgICBkYXRhLnMzRXZlbnRDb3VudCsrOworICAgIH0K
KyAgICBkYXRhLnMzUmVzb2x2ZUZuKCk7CisgIH0pOworICByZXR1cm4gdFRyZWU7Cit9CisKK2Z1
bmN0aW9uIG1vbml0b3JTbG90cyhkYXRhKSB7CisgICAgY29uc3QgczFQcm9taXNlID0gbmV3IFBy
b21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgZGF0YS5zMVJlc29sdmVGbiA9IHJl
c29sdmU7CisgICAgfSk7CisgICAgY29uc3QgczJQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29s
dmUsIHJlamVjdCkgPT4geworICAgICAgZGF0YS5zMlJlc29sdmVGbiA9IHJlc29sdmU7CisgICAg
fSk7CisgICAgY29uc3QgczNQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkg
PT4geworICAgICAgZGF0YS5zM1Jlc29sdmVGbiA9IHJlc29sdmU7CisgICAgfSk7CisgICAgcmV0
dXJuIFtzMVByb21pc2UsIHMyUHJvbWlzZSwgczNQcm9taXNlXTsKK30KKzwvc2NyaXB0PgorCis8
c2NyaXB0PgorLy8gVGVzdHM6Cithc3luY190ZXN0KCh0ZXN0KSA9PiB7CisgIGNvbnN0IGRhdGEg
PSBnZXREYXRhQ29sbGVjdGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0
X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9
IG1vbml0b3JTbG90cyhkYXRhKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Cisg
IHRUcmVlLnMyLmFzc2lnbihbdFRyZWUuYzJdKTsKKworICBhc3NlcnRfZXF1YWxzKGRhdGEuczFF
dmVudENvdW50LCAwLCAnc2xvdGNoYW5nZSBldmVudCBtdXN0IG5vdCBiZSBmaXJlZCBzeW5jaHJv
bm91c2x5Jyk7CisgIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDApOworCisgIFBy
b21pc2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9u
ZSgoKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7CisgICAg
YXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMSk7CisgIH0pKTsKK30sICdzbG90Y2hh
bmdlIGV2ZW50IG11c3Qgbm90IGZpcmUgc3luY2hyb25vdXNseS4nKTsKKworYXN5bmNfdGVzdCgo
dGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRU
cmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKKyAgbGV0
IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisKKyAgdFRyZWUu
czEuYXNzaWduKFtdKTs7CisgIHRUcmVlLnMyLmFzc2lnbihbXSk7CisgIHRUcmVlLmhvc3QuaW5z
ZXJ0QmVmb3JlKHRUcmVlLmM0LCB0VHJlZS5jMSk7CisKKyAgUHJvbWlzZS5hbGwoW3MxUHJvbWlz
ZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICBhc3Nl
cnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEu
czJFdmVudENvdW50LCAwKTsKKyAgfSkpOworCisgIC8vIHVzZSBmYWtlIGV2ZW50IHRvIHRyaWdn
ZXIgZXZlbnQgaGFuZGxlci4KKyAgbGV0IGZha2VFdmVudCA9IG5ldyBFdmVudCgnc2xvdGNoYW5n
ZScpOworICBmYWtlRXZlbnQuaXNGYWtlRXZlbnQgPSB0cnVlOworICB0VHJlZS5zMS5kaXNwYXRj
aEV2ZW50KGZha2VFdmVudCk7CisgIHRUcmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsK
K30sICdzbG90Y2hhbmdlIGV2ZW50IHNob3VsZCBub3QgZmlyZSB3aGVuIGFzc2lnbm1lbnRzIGRv
IG5vdCBjaGFuZ2UgYXNzaWduZWROb2Rlcy4nKTsKKworYXN5bmNfdGVzdCgodGVzdCkgPT4gewor
ICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBT
aGFkb3dET00odGVzdF9zbG90Y2hhbmdlLHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZV0g
PSBtb25pdG9yU2xvdHMoZGF0YSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRy
ZWUuYzJdKTsKKworICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAg
YXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7CisKKyAgICBbczFQcm9taXNlXSA9
IG1vbml0b3JTbG90cyhkYXRhKTsKKyAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJl
ZS5jMl0pOworICAgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5j
MSwgdFRyZWUuYzIsIHRUcmVlLmMyXSk7CisKKyAgICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBf
ZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQs
IDEpOworICAgIH0pKTsKKworICAgIGxldCBmYWtlRXZlbnQgPSBuZXcgRXZlbnQoJ3Nsb3RjaGFu
Z2UnKTsKKyAgICBmYWtlRXZlbnQuaXNGYWtlRXZlbnQgPSB0cnVlOworICAgIHRUcmVlLnMxLmRp
c3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKKyAgfSkpOworCit9LCAnc2xvdGNoYW5nZSBldmVudCBz
aG91bGQgbm90IGZpcmUgd2hlbiBzYW1lIG5vZGUgaXMgYXNzaWduZWQuJyk7CisKK2FzeW5jX3Rl
c3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7CisgIGxl
dCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Cisg
IGxldCBbczFQcm9taXNlLCBzMlByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworCisgIHRU
cmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKKyAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0p
OworCisgIFByb21pc2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVw
X2Z1bmNfZG9uZSgoKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwg
MSk7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMSk7CisgIH0pKTsKK30s
ICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBzbG90J3MgYXNzaWduZWQgbm9kZXMgY2hhbmdl
cy4iKTsKKworYXN5bmNfdGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0YUNv
bGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdl
LCB0ZXN0LCBkYXRhKTsKKyAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xv
dHMoZGF0YSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOworCisgIHMxUHJvbWlz
ZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFF
dmVudENvdW50LCAxKTsKKworICAgIFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xv
dHMoZGF0YSk7CisgICAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMV0pOworCisgICAgUHJvbWlz
ZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgp
ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDIpOworICAgICAg
YXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMSk7CisgICAgfSkpOworICB9KSk7Cit9
LCAiRmlyZSBzbG90Y2hhbmdlIGV2ZW50IG9uIHByZXZpb3VzIHNsb3QgYW5kIG5ldyBzbG90IHdo
ZW4gbm9kZSBpcyByZWFzc2lnbmVkLiIpOworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7CisgIGNv
bnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRv
d0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZV0gPSBt
b25pdG9yU2xvdHMoZGF0YSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOworCisg
IHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxz
KGRhdGEuczFFdmVudENvdW50LCAxKTsKKworICAgIFtzMVByb21pc2VdID0gbW9uaXRvclNsb3Rz
KGRhdGEpOworICAgIHRUcmVlLnMxLmFzc2lnbihbXSk7CisKKyAgICBzMVByb21pc2UudGhlbih0
ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2
ZW50Q291bnQsIDIpOworICAgIH0pKTsKKyAgfSkpOworfSwgIkZpcmUgc2xvdGNoYW5nZSBldmVu
dCBvbiBub2RlIGFzc2lnbm1lbnQgYW5kIHdoZW4gYXNzaWduZWQgbm9kZSBpcyByZW1vdmVkLiIp
OworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7CisgIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVj
dGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRl
c3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisKKyAg
dFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKKworICBzMVByb21pc2UudGhl
bih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRD
b3VudCwgMSk7CisKKyAgICBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKyAgICB0
VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMV0pOworCisgICAgczFQcm9taXNlLnRo
ZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEu
czFFdmVudENvdW50LCAyKTsKKyAgICB9KSk7CisgIH0pKTsKK30sICJGaXJlIHNsb3RjaGFuZ2Ug
ZXZlbnQgd2hlbiBvcmRlciBvZiBhc3NpZ25lZCBub2RlcyBjaGFuZ2VzLiIpOworCitwcm9taXNl
X3Rlc3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Cisg
IGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7
CisgIGxldCBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKworICB0VHJlZS5zMS5h
c3NpZ24oW3RUcmVlLmMxXSk7CisKKyAgcmV0dXJuIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9m
dW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKKwor
ICAgIFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworICAgIHRUcmVlLmMxLnJlbW92
ZSgpOworCisgICAgcmV0dXJuIHMxUHJvbWlzZTsKKyAgfSkpCisgIC50aGVuKHRlc3Quc3RlcF9m
dW5jKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDIpOwor
ICB9KSk7Cit9LCAiRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYXNzaWduZWQgbm9kZSBpcyBy
ZW1vdmVkLiIpOworCitwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0YSA9IGdl
dERhdGFDb2xsZWN0aW9uKCk7CisgIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xv
dGNoYW5nZSwgdGVzdCwgZGF0YSk7CisgIFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEp
OworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKKworICByZXR1cm4gczFQcm9taXNl
LnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2
ZW50Q291bnQsIDEpOworCisgICAgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Cisg
ICAgdFRyZWUuczEucmVtb3ZlKCk7CisKKyAgICByZXR1cm4gczFQcm9taXNlOworICB9KSkKKyAg
LnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMx
RXZlbnRDb3VudCwgMik7CisgIH0pKTsKK30sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBy
ZW1vdmluZyBhIHNsb3QgZnJvbSBTaGFkb3dzIFJvb3QgdGhhdCBjaGFuZ2VzIGl0cyBhc3NpZ25l
ZCBub2Rlcy4iKTsKKworYXN5bmNfdGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0
RGF0YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90
Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKKyAgbGV0IFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRh
dGEpOworCisgIHRUcmVlLnMxLnJlbW92ZSgpOworCisgIGxldCBmYWtlRXZlbnQgPSBuZXcgRXZl
bnQoJ3Nsb3RjaGFuZ2UnKTsKKyAgZmFrZUV2ZW50LmlzRmFrZUV2ZW50ID0gdHJ1ZTsKKyAgdFRy
ZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOworCisgIHMxUHJvbWlzZS50aGVuKHRlc3Qu
c3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAw
KTsKKworICAgIFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Cisg
ICAgdFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnMxLCB0VHJlZS5zMik7CisK
KyAgICB0VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7CisgICAgdFRyZWUuczIuZGlz
cGF0Y2hFdmVudChmYWtlRXZlbnQpOworCisgICAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQ
cm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF9l
cXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDApOworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMy
RXZlbnRDb3VudCwgMCk7CisgICAgfSkpOworICB9KSk7CisKK30sICJObyBzbG90Y2hhbmdlIGV2
ZW50IHdoZW4gYWRkaW5nIG9yIHJlbW92aW5nIGFuIGVtcHR5IHNsb3QuIik7CisKK2FzeW5jX3Rl
c3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7CisgIGxl
dCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Cisg
IGxldCBbczFQcm9taXNlLCBzMlByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworCisgIHRU
cmVlLmhvc3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOworCisg
IGxldCBmYWtlRXZlbnQgPSBuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnKTsKKyAgZmFrZUV2ZW50Lmlz
RmFrZUV2ZW50ID0gdHJ1ZTsKKyAgdFRyZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwor
ICB0VHJlZS5zMi5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7CisKKyAgUHJvbWlzZS5hbGwoW3Mx
UHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgYXNz
ZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMCk7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRh
LnMyRXZlbnRDb3VudCwgMCk7CisKKyAgICBbczFQcm9taXNlLCBzMlByb21pc2VdID0gbW9uaXRv
clNsb3RzKGRhdGEpOworICAgIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9yZShkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKSwgdFRyZWUuczIpOworCisgICAgdFRyZWUuczEuZGlzcGF0
Y2hFdmVudChmYWtlRXZlbnQpOworICAgIHRUcmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50
KTsKKworICAgIFByb21pc2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5z
dGVwX2Z1bmNfZG9uZSgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENv
dW50LCAwKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDApOworICAg
IH0pKTsKKyAgfSkpOworCit9LCAiTm8gc2xvdGNoYW5nZSBldmVudCB3aGVuIGFkZGluZyBhbm90
aGVyIHNsb3RhYmxlLiIpOworCis8L3NjcmlwdD4KKworPGRpdiBpZD0idGVzdF9uZXN0ZWRfc2xv
dGNoYW5nZSI+CisgIDxkaXY+CisgICAgPHRlbXBsYXRlIGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1z
bG90LWFzc2lnbm1lbnQ9Im1hbnVhbCI+CisgICAgICA8ZGl2PgorICAgICAgICA8dGVtcGxhdGUg
ZGF0YS1tb2RlPSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KKyAgICAgICAg
ICA8c2xvdCBpZD0iczIiPjwvc2xvdD4KKyAgICAgICAgICA8c2xvdCBpZD0iczMiPjwvc2xvdD4K
KyAgICAgICAgPC90ZW1wbGF0ZT4KKyAgICAgICAgPHNsb3QgaWQ9InMxIj48L3Nsb3Q+CisgICAg
ICA8L2Rpdj4KKyAgICA8L3RlbXBsYXRlPgorICAgIDxkaXYgaWQ9ImMxIj48L2Rpdj4KKyAgPC9k
aXY+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2FzeW5jX3Rlc3QoKHRlc3QpID0+IHsKKyAgY29uc3Qg
ZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7CisgIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9N
KHRlc3RfbmVzdGVkX3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZSwg
czJQcm9taXNlLCBzM1Byb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworCisgIHRUcmVlLnMz
LmFzc2lnbihbdFRyZWUuczFdKTsKKworICBzM1Byb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygo
KSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMzRXZlbnRDb3VudCwgMSk7CisgICAgW3Mx
UHJvbWlzZSwgczJQcm9taXNlLCBzM1Byb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworCisg
ICAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOworCisgICAgUHJvbWlzZS5hbGwoW3MxUHJv
bWlzZSwgczNQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAg
IGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOworICAgICAgYXNzZXJ0X2VxdWFs
cyhkYXRhLnMzRXZlbnRDb3VudCwgMik7CisgICAgfSkpOworICB9KSk7Cit9LCAiRmlyZSBzbG90
Y2hhbmdlIGV2ZW50IHdoZW4gYXNzaWduIG5vZGUgdG8gbmVzdGVkIHNsb3QsIGVuc3VyZSBldmVu
dCBidWJibGVzIHVwcy4iKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1h
cGkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRiMjI2MzJkMTE1
NDdmMzNiNGQwOGVmOWY1MWM4ZWY1MjM4MGJhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZl
LXNsb3QtYXBpLmh0bWwKQEAgLTAsMCArMSwyNzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxl
PlNoYWRvdyBET006IEltcGVyYXRpdmUgU2xvdCBBUEk8L3RpdGxlPgorPG1ldGEgbmFtZT0iYXV0
aG9yIiB0aXRsZT0iWXUgSGFuIiBocmVmPSJtYWlsdG86eXV6aGVoYW5AY2hyb21pdW0ub3JnIj4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+CisKKzxkaXYgaWQ9InRl
c3RfYmFzaWMiPgorICA8ZGl2IGlkPSJob3N0MSI+PC9kaXY+CisgIDxkaXYgaWQ9Imhvc3QyIj48
L2Rpdj4KKyAgPGRpdiBpZD0iaG9zdDMiPjwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgordGVzdCgo
KSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYmFzaWMpOworICBhc3Nl
cnRfbm90X2VxdWFscyh0VHJlZS5ob3N0MS5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicsIHNs
b3RBc3NpZ25tZW50OiAnbWFudWFsJ30pLAorICAgICAgICAgICAgICAgICAgICBudWxsLCAnc2xv
dCBhc3NpZ25tZW50IG1hbnVhbCBzaG91bGQgd29yaycpOworICBhc3NlcnRfbm90X2VxdWFscyh0
VHJlZS5ob3N0Mi5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicsIHNsb3RBc3NpZ25tZW50OiAn
bmFtZWQnfSksCisgICAgICAgICAgICAgICAgICAgIG51bGwsICdzbG90IGFzc2lnbm1lbnQgYXV0
byBzaG91bGQgd29yaycpOworICBhc3NlcnRfdGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gewor
ICAgIHRUcmVlLmhvc3QzLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJywgc2xvdEFzc2lnbm1l
bnQ6ICdleGNlcHRpb25hbCcgfSl9LAorICAgICAgICAgICAgICAgICdvdGhlcnMgc2hvdWxkIHRo
cm93IGV4Y2VwdGlvbicpOworfSwgJ2F0dGFjaFNoYWRvdyBjYW4gdGFrZSBzbG90QXNzaWdubWVu
dCBwYXJhbWV0ZXIuJyk7Cis8L3NjcmlwdD4KKworPGRpdiBpZD0idGVzdF9hc3NpZ24iPgorICA8
ZGl2IGlkPSJob3N0Ij4KKyAgICA8dGVtcGxhdGUgaWQ9InNoYWRvd19yb290IiBkYXRhLW1vZGU9
Im9wZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJtYW51YWwiPgorICAgICAgPHNsb3QgaWQ9InMx
Ij48L3Nsb3Q+CisgICAgICA8c2xvdCBpZD0iczIiPjwvc2xvdD4KKyAgICAgIDxzbG90IGlkPSJz
MyI+PC9zbG90PgorICAgIDwvdGVtcGxhdGU+CisgICAgPGRpdiBpZD0iYzEiPjwvZGl2PgorICAg
IDxkaXYgaWQ9ImMyIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjMyI+PC9kaXY+CisgICAgPGRpdiBp
ZD0ibmVzdGVkIj4KKyAgICAgICA8ZGl2IGlkPSJuczEiPjwvZGl2PgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGRpdiBpZD0iYzQiPjwvZGl2PgorICA8ZGl2IGlkPSJob3N0NCI+CisgICAgPHRl
bXBsYXRlIGlkPSJzaGFkb3dfcm9vdDQiIGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2ln
bm1lbnQ9Im1hbnVhbCI+CisgICAgICA8c2xvdCBpZD0iczQiIG5hbWU9InM0Ij48L3Nsb3Q+Cisg
ICAgPC90ZW1wbGF0ZT4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+Cit0ZXN0KCgpID0+IHsK
KyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOworICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkRWxlbWVudHMoKSwgW10pOworICBhc3NlcnRfZXF1
YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgbnVsbCk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0
VHJlZS5jMV0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMo
KSwgW3RUcmVlLmMxXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0
VHJlZS5zMSk7CisKKyAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKyAg
YXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0p
OworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVl
LmMyLCB0VHJlZS5jM10pOworfSwgJ0ltcGVyYXRpdmUgc2xvdCBBUEkgY2FuIGFzc2lnbiBub2Rl
cyBpbiBtYW51YWwgc2xvdCBhc3NpZ25tZW50LicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHRU
cmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5jMV0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRU
cmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKTsK
KyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNz
ZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2Vx
dWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKworICB0VHJlZS5zMS5hc3Np
Z24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMx
LmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1YWxz
KHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVl
LmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFz
c2lnbmVkU2xvdCwgbnVsbCk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMywgdFRyZWUu
YzIsIHRUcmVlLmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWRO
b2RlcygpLCBbdFRyZWUuYzMsIHRUcmVlLmMyLCB0VHJlZS5jMV0pOworICBhc3NlcnRfZXF1YWxz
KHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVl
LmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFz
c2lnbmVkU2xvdCwgdFRyZWUuczEpOworfSwgJ09yZGVyIG9mIHNsb3R0YWJsZXMgaXMgcHJlc2Vy
dmVkIGluIG1hbnVhbCBzbG90IGFzc2lnbm1lbnQuJyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQg
dFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7CisKKyAgdFRyZWUuczEuYXNzaWdu
KFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMo
dFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5jMV0p
OworCisgIHRUcmVlLnMyLmFzc2lnbihbdFRyZWUuYzJdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFs
cyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMywgdFRyZWUuYzFdKTsKKyAgYXNz
ZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMi5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMl0pOwor
ICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3Nl
cnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczIpOworICBhc3NlcnRfZXF1
YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworCisgIHRUcmVlLnMzLmFzc2ln
bihbdFRyZWUuYzNdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5v
ZGVzKCksIFt0VHJlZS5jMV0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2ln
bmVkTm9kZXMoKSwgW3RUcmVlLmMyXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczMu
YXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzNdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5h
c3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25l
ZFNsb3QsIHRUcmVlLnMyKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3Qs
IHRUcmVlLnMzKTsKK30sICdQcmV2aW91c2x5IGFzc2lnbmVkIHNsb3R0YWJsZSBpcyBtb3ZlZCB0
byBuZXcgc2xvdCB3aGVuIGl0XCdzIHJlYXNzaWduZWQuJyk7CisKK3Rlc3QoKCkgPT4geworIGxl
dCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICB0VHJlZS5zMS5hc3Np
Z24oW3RUcmVlLmMxXSk7CisgIHRUcmVlLnMyLmFzc2lnbihbdFRyZWUuYzIsIHRUcmVlLmMxXSk7
CisgIHRUcmVlLnMzLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMzXSk7CisKKyAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdKTsKKyAgYXNzZXJ0X2FycmF5
X2VxdWFscyh0VHJlZS5zMi5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMl0pOworICBhc3NlcnRf
YXJyYXlfZXF1YWxzKHRUcmVlLnMzLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5j
M10pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczMpOwor
ICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczIpOworICBhc3Nl
cnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczMpOworfSwgJ09yZGVyIGFu
ZCBhc3NpZ25tZW50IG9mIG5vZGVzIGFyZSBwcmVzZXJ2ZWQgZHVyaW5nIG11bHRpcGxlIGFzc2ln
bm1lbnQgaW4gYSByb3cuJyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVU
ZXN0VHJlZSh0ZXN0X2Fzc2lnbik7CisKKyAgLy8gdFRyZWUuYzQgaXMgaW52YWxpZCBmb3IgdFRy
ZWUuaG9zdCBzbG90IGFzc2lnbm1lbnQuCisgIC8vIE5vIGV4Y2VwdGlvbiBzaG91bGQgYmUgdGhy
b3duIGhlcmUuCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmM0LCB0VHJlZS5j
Ml0pOworCisgIC8vIEFsbCBvYnNlcnZhYmxlIGFzc2lnbm1lbnRzIHNob3VsZCBza2lwIGM0Lgor
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMx
LCB0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRy
ZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEp
OworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmM0LmFzc2lnbmVkU2xvdCwgbnVsbCk7CisKKyAgLy8g
TW92aW5nIGM0IGludG8gcGxhY2Ugc2hvdWxkIHJldmVhbCB0aGUgYXNzaWdubWVudC4KKyAgdFRy
ZWUuaG9zdC5hcHBlbmQodFRyZWUuYzQpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMx
LmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jNCwgdFRyZWUuYzJdKTsKKyAgYXNz
ZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2Vx
dWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2VxdWFscyh0
VHJlZS5jNC5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKworICAvLyBNb3ZpbmcgYzQgaW50byBh
IGRpZmZlcmVudCBzaGFkb3cgaG9zdCBhbmQgYmFjayBzaG91bGQKKyAgLy8gYWxzbyBub3QgYnJl
YWsgdGhlIGFzc2lnbm1lbnQuCisgIHRUcmVlLmhvc3Q0LmFwcGVuZCh0VHJlZS5jNCkKKyAgYXNz
ZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRy
ZWUuYzJdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jNC5hc3NpZ25lZFNsb3QsIG51bGwpOwor
ICB0VHJlZS5ob3N0LmFwcGVuZCh0VHJlZS5jNCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRy
ZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmM0LCB0VHJlZS5jMl0pOwor
ICBhc3NlcnRfZXF1YWxzKHRUcmVlLmM0LmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworfSwgJ0Fz
c2lnbmluZyBpbnZhbGlkIG5vZGVzIHNob3VsZCBiZSBhbGxvd2VkLicpOworCit0ZXN0KCgpID0+
IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOworCisgIHRUcmVl
LnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwg
dFRyZWUuYzNdKTsKKworICB0VHJlZS5ob3N0NC5hcHBlbmQodFRyZWUuczEpOworICBhc3NlcnRf
YXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW10pOworfSwgJ01vdmluZyBh
IHNsb3QgdG8gYSBuZXcgaG9zdCwgdGhlIHNsb3QgbG9zZXMgaXRzIHByZXZpb3VzbHkgYXNzaWdu
ZWQgc2xvdHRhYmxlcy4nKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRl
c3RUcmVlKHRlc3RfYXNzaWduKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJl
ZS5jMiwgdFRyZWUuYzNdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25l
ZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7CisKKyAgdFRyZWUuc2hh
ZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnMyLCB0VHJlZS5zMSk7CisgIGFzc2VydF9hcnJh
eV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyLCB0
VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMo
KSwgW10pOworCisgIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9yZSh0VHJlZS5zNCwgdFRy
ZWUuczEpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwg
W3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0
VHJlZS5zNC5hc3NpZ25lZE5vZGVzKCksIFtdKTsKKworICB0VHJlZS5uczEuYXBwZW5kKHRUcmVl
LnMxKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtd
KTsKK30sICdNb3ZpbmcgYSBzbG90XCdzIHRyZWUgb3JkZXIgcG9zaXRpb24gd2l0aGluIGEgc2hh
ZG93IGhvc3QgaGFzIG5vIGltcGFjdCBvbiBpdHMgYXNzaWduZWQgc2xvdHRhYmxlcy4nKTsKKwor
dGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsK
KworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKyAg
YXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwg
dFRyZWUuYzIsIHRUcmVlLmMzXSk7CisKKyAgdFRyZWUuaG9zdDQuYXBwZW5kKHRUcmVlLmMxKTsK
KyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5j
MiwgdFRyZWUuYzNdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zNC5hc3NpZ25lZE5v
ZGVzKCksIFtdKTsKKworICB0VHJlZS5zNC5hc3NpZ24oW3RUcmVlLmMxXSk7CisgIGFzc2VydF9h
cnJheV9lcXVhbHModFRyZWUuczQuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKKyAgYXNz
ZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnM0KTsKK30sICdBcHBlbmRp
bmcgc2xvdHRhYmxlIHRvIGRpZmZlcmVudCBob3N0LCBpdCBsb3NlcyBzbG90IGFzc2lnbm1lbnQu
IEl0IGNhbiBiZSByZS1hc3NpZ25lZCB3aXRoaW4gYSBuZXcgaG9zdC4nKTsKKwordGVzdCgoKSA9
PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICB0VHJl
ZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEu
YXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKKworICB0VHJlZS5zaGFkb3dfcm9vdDQuaW5z
ZXJ0QmVmb3JlKHRUcmVlLnMxLCB0VHJlZS5zNCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRy
ZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSk7CisgIC8vIFRyaWdnZXIgc2xvdCBhc3NpZ25tZW50
IG9uIHByZXZpb3VzIHNoYWRvdyByb290LgorICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMy
LmFzc2lnbmVkTm9kZXMoKSwgW10pOworCisgIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9y
ZSh0VHJlZS5zMSwgdFRyZWUuczIpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFz
c2lnbmVkTm9kZXMoKSwgW10pOworfSwgJ1ByZXZpb3VzbHkgYXNzaWduZWQgbm9kZSBzaG91bGQg
bm90IGJlIGFzc2lnbmVkIGlmIHNsb3QgbW92ZWQgdG8gYSBuZXcgc2hhZG93IHJvb3QuIFRoZSBz
bG90IHJlbWFpbnMgZW1wdHkgd2hlbiBtb3ZlZCBiYWNrLCB0cmlnZ2VyIHJlY2FsYy4nKTsKKwor
dGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsK
KworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMSwgdFRyZWUuYzFdKTsKKyAg
YXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0p
OworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMxLCB0VHJlZS5jMiwgdFRy
ZWUuYzIsIHRUcmVlLmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWdu
ZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyXSk7Cit9LCAnQXNzaWdubWVudCB3aXRoIHRo
ZSBzYW1lIG5vZGUgaW4gcGFyYW1ldGVycyBzaG91bGQgYmUgaWdub3JlZCwgZmlyc3Qgb25lIHdp
bnMuJyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0
X2Fzc2lnbik7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVl
LmMzXSk7CisgIHRUcmVlLnMxLnJlbW92ZSgpOworCisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEu
YXNzaWduZWRTbG90LCBudWxsKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNs
b3QsIG51bGwpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgbnVsbCk7
Cit9LCAnUmVtb3ZpbmcgYSBzbG90IGZyb20gRE9NIHJlc2V0cyBpdHMgc2xvdHRhYmxlXCdzIHNs
b3QgYXNzaWdubWVudC4nKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRl
c3RUcmVlKHRlc3RfYXNzaWduKTsKKworICBjb25zdCBpc29sYXRlZERvY05vZGUgPSBkb2N1bWVu
dC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZHk7CisgIGlzb2xhdGVk
RG9jTm9kZS5hcHBlbmRDaGlsZCh0VHJlZS5jMSk7CisgIGNvbnN0IGlzb2xhdGVkRG9jTm9kZTIg
PSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZHk7Cisg
IGlzb2xhdGVkRG9jTm9kZTIuYXBwZW5kQ2hpbGQodFRyZWUuczEpOworCisgIHRUcmVlLnMxLmFz
c2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUu
czEuYXNzaWduZWROb2RlcygpLCBbXSwgJ3MxIG5vdCBpbnNpZGUgc2hhZG93IHJvb3QnKTsKKyAg
YXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIG51bGwpOworICBhc3NlcnRfZXF1
YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgbnVsbCk7CisKKyAgdFRyZWUuc2hhZG93X3Jvb3Qu
YXBwZW5kQ2hpbGQodFRyZWUuczEpOworICB0VHJlZS5ob3N0LmFwcGVuZENoaWxkKHRUcmVlLmMx
KTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJl
ZS5jMSwgdFRyZWUuYzJdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3Qs
IHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVl
LnMxKTsKK30sICdOb2RlcyBjYW4gYmUgYXNzaWduZWQgZXZlbiBpZiBzbG90cyBvciBub2RlcyBh
cmVuXCd0IGluIHRoZSBzYW1lIHRyZWUuJyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQgdFRyZWUg
PSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJl
ZS5jMSwgdFRyZWUuYzJdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25l
ZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5j
MS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3Np
Z25lZFNsb3QsIHRUcmVlLnMxKTsKKworICBjb25zdCBpc29sYXRlZERvY05vZGUgPSBkb2N1bWVu
dC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZHk7CisgIGlzb2xhdGVk
RG9jTm9kZS5hcHBlbmRDaGlsZCh0VHJlZS5jMSk7CisgIGNvbnN0IGlzb2xhdGVkRG9jTm9kZTIg
PSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZHk7Cisg
IGlzb2xhdGVkRG9jTm9kZTIuYXBwZW5kQ2hpbGQodFRyZWUuczEpOworCisgIGFzc2VydF9hcnJh
eV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSwgJ3MxIG5vdCBpbnNpZGUgc2hh
ZG93IHJvb3QnKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIG51bGwp
OworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgbnVsbCk7CisKKyAgdFRy
ZWUuc2hhZG93X3Jvb3QuYXBwZW5kQ2hpbGQodFRyZWUuczEpOworICB0VHJlZS5ob3N0LmFwcGVu
ZENoaWxkKHRUcmVlLmMxKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25l
ZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5j
MS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3Np
Z25lZFNsb3QsIHRUcmVlLnMxKTsKK30sICdSZW1vdmluZyBhIG5vZGUgZnJvbSB0aGUgZG9jdW1l
bnQgZG9lcyBub3QgYnJlYWsgbWFudWFsbHkgYXNzaWduZWQgc2xvdCBsaW5rYWdlLicpOworCis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUtY3Jhc2gtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggMzQyNTk0YzU5NWE4
YzU5NzQ3NzdkZjExYjMyZWY5ZjUzOGNjZTFkZS4uNzQ4Nzc5MjdjMDY3YTk3NzY5ODk5ZWE5Nzc5
MmNmMDAwZWI3MWFjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhIGNv
bnN0IHZhcmlhYmxlIHR3aWNlOiAncm9vdCcuCitDT05TT0xFIE1FU1NBR0U6IE5vdFN1cHBvcnRl
ZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDM0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3QtcmVtb3ZlLWNyYXNoLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vbmVzdGVkLXNsb3QtcmVtb3ZlLWNyYXNoLmh0bWwKaW5kZXggMzA4MWRkNjU0MGZlMmIyYWQ0
MmFkM2M5OGNhMWJkZTI5YjBjNzlkZC4uMjkzMGUzYTIyMTAyODcxMjM3N2U4OTQ0ODczYzE5NWIz
OTU0MmRhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0
ZWQtc2xvdC1yZW1vdmUtY3Jhc2guaHRtbApAQCAtMSw2ICsxLDYgQEAKIDwhRE9DVFlQRSBodG1s
PgogPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNYXNv
biBGcmVlZCIgaHJlZj0ibWFpbHRvOm1hc29uZnJlZWRAY2hyb21pdW0ub3JnIj4KKzxsaW5rIHJl
bD0iYXV0aG9yIiBocmVmPSJtYWlsdG86bWFzb25mQGNocm9taXVtLm9yZyI+CiA8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vY3JidWcuY29tLzExNTkzMjgiPgogPG1ldGEgbmFtZT0iYXNz
ZXJ0IiBjb250ZW50PSJUaGUgcmVuZGVyZXIgc2hvdWxkIG5vdCBjcmFzaC4iPgogCkBAIC04LDcg
KzgsNyBAQAogPHNwYW4+VGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgcmVuZGVyZXIgZG9lcyBub3Qg
Y3Jhc2guPC9zcGFuPgogCiA8c2NyaXB0PgotICBjb25zdCByb290ID0gaG9zdC5hdHRhY2hTaGFk
b3coe21vZGU6Im9wZW4ifSk7CisgIGxldCByb290ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6
Im9wZW4ifSk7CiAgIHJvb3QuaW5uZXJIVE1MID0gYAogICAgIDxzbG90IGlkPW91dGVyMSBuYW1l
PW91dGVyPgogICAgICAgPHNsb3QgaWQ9aW5uZXIxIG5hbWU9aW5uZXI+RmFsbGJhY2s8L3Nsb3Q+
CkBAIC0yNyw3ICsyNyw3IEBACiAgIC8vIFRoZSByZW5kZXJlciBzaG91bGQgbm90IGNyYXNoIGhl
cmU6CiAgIHJvb3QucXVlcnlTZWxlY3RvcigiI291dGVyMiIpLnJlbW92ZSgpOwogCi0gIGNvbnN0
IHJvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KTsKKyAgcm9vdCA9IGhvc3Qu
YXR0YWNoU2hhZG93KHttb2RlOiJvcGVuIn0pOwogICByb290LmlubmVySFRNTCA9IGAKICAgICA8
c2xvdCBpZD1vdXRlcjM+CiAgICAgICA8c2xvdCBpZD1pbm5lcjM+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMt
aW1wZXJhdGl2ZS1hcGktc2xvdGNoYW5nZS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWlt
cGVyYXRpdmUtYXBpLXNsb3RjaGFuZ2UudGVudGF0aXZlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMWNkMGRmM2UwNTJmMmEzZWFjZjAyYzgzZDY2ZTQ1YjZmYzYx
MjA4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMt
aW1wZXJhdGl2ZS1hcGktc2xvdGNoYW5nZS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTQgKzAsMCBAQAotCi1GQUlMIHNsb3RjaGFuZ2UgZXZlbnQgbXVzdCBub3Qg
ZmlyZSBzeW5jaHJvbm91c2x5LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5k
ZWZpbmVkKQotRkFJTCBzbG90Y2hhbmdlIGV2ZW50IHNob3VsZCBub3QgZmlyZSB3aGVuIGFzc2ln
bm1lbnRzIGRvIG5vdCBjaGFuZ2UgYXNzaWduZWROb2Rlcy4gYXNzZXJ0X3Rocm93c19kb206IGZ1
bmN0aW9uICIoKSA9PiB7IHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzRdKTsgfSIgdGhyZXcgb2Jq
ZWN0ICJUeXBlRXJyb3I6IHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0
VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmM0XSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmlu
ZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBOb3RBbGxvd2VkRXJyb3I6IHByb3BlcnR5
ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDAKLUZBSUwgc2xvdGNoYW5n
ZSBldmVudCBzaG91bGQgbm90IGZpcmUgd2hlbiBzYW1lIG5vZGUgaXMgYXNzaWduZWQuIHRUcmVl
LnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVl
LmMxLCB0VHJlZS5jMl0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQotRkFJTCBG
aXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBzbG90J3MgYXNzaWduZWQgbm9kZXMgY2hhbmdlcy4g
dFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgRmlyZSBz
bG90Y2hhbmdlIGV2ZW50IG9uIHByZXZpb3VzIHNsb3QgYW5kIG5ldyBzbG90IHdoZW4gbm9kZSBp
cyByZWFzc2lnbmVkLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRy
ZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVk
KQotRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgb24gbm9kZSBhc3NpZ25tZW50IGFuZCB3aGVu
IGFzc2lnbmVkIG5vZGUgaXMgcmVtb3ZlZC4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24n
IGlzIHVuZGVmaW5lZCkKLUZBSUwgRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gb3JkZXIgb2Yg
YXNzaWduZWQgbm9kZXMgY2hhbmdlcy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSknLCAndFRyZWUuczEu
YXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIGFz
c2lnbmVkIG5vZGUgaXMgcmVtb3ZlZC4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlz
IHVuZGVmaW5lZCkKLUZBSUwgRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gcmVtb3ZpbmcgYSBz
bG90IGZyb20gU2hhZG93cyBSb290IHRoYXQgY2hhbmdlcyBpdHMgYXNzaWduZWQgbm9kZXMuIHRU
cmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RU
cmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIE5vIHNsb3Rj
aGFuZ2UgZXZlbnQgd2hlbiBhZGRpbmcgb3IgcmVtb3ZpbmcgYW4gZW1wdHkgc2xvdC4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgTm8gc2xvdGNoYW5nZSBldmVudCB3
aGVuIGFkZGluZyBhbm90aGVyIHNsb3RhYmxlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1
dCBnb3QgMQotRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhc3NpZ24gbm9kZSB0byBu
ZXN0ZWQgc2xvdCwgZW5zdXJlIGV2ZW50IGJ1YmJsZXMgdXBzLiB0VHJlZS5zMy5hc3NpZ24gaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczMuYXNzaWduKFt0VHJlZS5zMV0pJywgJ3RUcmVl
LnMzLmFzc2lnbicgaXMgdW5kZWZpbmVkKQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMtaW1wZXJhdGl2ZS1h
cGktc2xvdGNoYW5nZS50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hh
bmdlLnRlbnRhdGl2ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzYyN2Ey
NDZjY2U5ZDkyZmRiM2U3NThjMTEzYzVmZGU4ZTE5OGZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRl
bnRhdGl2ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzU4ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPHRpdGxlPlNoYWRvdyBET006IEltcGVyYXRpdmUgU2xvdCBBUEkgc2xvdGNoYW5nZSBl
dmVudDwvdGl0bGU+Ci08bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJZdSBIYW4iIGhyZWY9Im1h
aWx0bzp5dXpoZWhhbkBjaHJvbWl1bS5vcmciPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2Rv
bS5zcGVjLndoYXR3Zy5vcmcvI3NpZ25hbGluZy1zbG90LWNoYW5nZSI+Ci08c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3NoYWRvdy1kb20uanMiPjwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0ZXN0X3Nsb3Rj
aGFuZ2UiPgotICA8ZGl2IGlkPSJob3N0Ij4KLSAgICA8dGVtcGxhdGUgaWQ9InNoYWRvd19yb290
IiBkYXRhLW1vZGU9Im9wZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJtYW51YWwiPgotICAgICAg
PHNsb3QgaWQ9InMxIj48ZGl2IGlkPSJmYiI+ZmFsbGJhY2s8L2Rpdj48L3Nsb3Q+Ci0gICAgICA8
c2xvdCBpZD0iczIiPjwvc2xvdD4KLSAgICAgIDxzbG90IGlkPSJzMyI+PC9zbG90PgotICAgIDwv
dGVtcGxhdGU+Ci0gICAgPGRpdiBpZD0iYzEiPjwvZGl2PgotICAgIDxkaXYgaWQ9ImMyIj48L2Rp
dj4KLSAgPC9kaXY+Ci0gIDxkaXYgaWQ9ImM0Ij48L2Rpdj4KLTwvZGl2PgotCi08c2NyaXB0Pgot
ZnVuY3Rpb24gZ2V0RGF0YUNvbGxlY3Rpb24oKSB7Ci0gIHJldHVybiB7Ci0gICAgczFFdmVudENv
dW50OiAwLAotICAgIHMyRXZlbnRDb3VudDogMCwKLSAgICBzM0V2ZW50Q291bnQ6IDAsCi0gICAg
czFSZXNvbHZlRm46IG51bGwsCi0gICAgczJSZXNvbHZlRm46IG51bGwsCi0gICAgczNSZXNvbHZl
Rm46IG51bGwsCi0gIH0KLX0KLQotZnVuY3Rpb24gc2V0dXBTaGFkb3dET00oaWQsIHRlc3QsIGRh
dGEpIHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUoaWQpOwotICB0VHJlZS5zMS5hZGRF
dmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgKGV2ZW50KSA9PiB7Ci0gICAgaWYgKCFldmVudC5p
c0Zha2VFdmVudCkgewotICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGV2ZW50LnR5cGUsICdzbG90Y2hhbmdlJywgJ3Nsb3RjaGFuZ2UgZXZlbnRc
J3MgdHlwZSBtdXN0IGJlICJzbG90Y2hhbmdlIicpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMo
ZXZlbnQudGFyZ2V0LCB0VHJlZS5zMSwgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdGFyZ2V0IG11c3Qg
YmUgdGhlIHNsb3QgZWxlbWVudCcpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQucmVs
YXRlZFRhcmdldCwgdW5kZWZpbmVkLCAnc2xvdGNoYW5nZSBtdXN0IG5vdCBzZXQgcmVsYXRlZFRh
cmdldCcpOwotICAgICAgfSk7Ci0gICAgICBkYXRhLnMxRXZlbnRDb3VudCsrOwotICAgIH0KLSAg
ICBkYXRhLnMxUmVzb2x2ZUZuKCk7Ci0gIH0pOwotICB0VHJlZS5zMi5hZGRFdmVudExpc3RlbmVy
KCdzbG90Y2hhbmdlJywgKGV2ZW50KSA9PiB7Ci0gICAgaWYgKCFldmVudC5pc0Zha2VFdmVudCkg
ewotICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGV2ZW50LnR5cGUsICdzbG90Y2hhbmdlJywgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdHlwZSBtdXN0
IGJlICJzbG90Y2hhbmdlIicpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudGFyZ2V0
LCB0VHJlZS5zMiwgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdGFyZ2V0IG11c3QgYmUgdGhlIHNsb3Qg
ZWxlbWVudCcpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQucmVsYXRlZFRhcmdldCwg
dW5kZWZpbmVkLCAnc2xvdGNoYW5nZSBtdXN0IG5vdCBzZXQgcmVsYXRlZFRhcmdldCcpOwotICAg
ICAgfSk7Ci0gICAgICBkYXRhLnMyRXZlbnRDb3VudCsrOwotICAgIH0KLSAgICBkYXRhLnMyUmVz
b2x2ZUZuKCk7Ci0gIH0pOwotICB0VHJlZS5zMy5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdl
JywgKGV2ZW50KSA9PiB7Ci0gICAgaWYgKCFldmVudC5pc0Zha2VFdmVudCkgewotICAgICAgdGVz
dC5zdGVwKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC50eXBlLCAn
c2xvdGNoYW5nZScsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHR5cGUgbXVzdCBiZSAic2xvdGNoYW5n
ZSInKTsKLSAgICAgICAgLy8gbGlzdGVuIHRvIGJ1YmJsaW5nIGV2ZW50cy4KLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhldmVudC5yZWxhdGVkVGFyZ2V0LCB1bmRlZmluZWQsICdzbG90Y2hhbmdlIG11
c3Qgbm90IHNldCByZWxhdGVkVGFyZ2V0Jyk7Ci0gICAgICB9KTsKLSAgICAgIGRhdGEuczNFdmVu
dENvdW50Kys7Ci0gICAgfQotICAgIGRhdGEuczNSZXNvbHZlRm4oKTsKLSAgfSk7Ci0gIHJldHVy
biB0VHJlZTsKLX0KLQotZnVuY3Rpb24gbW9uaXRvclNsb3RzKGRhdGEpIHsKLSAgICBjb25zdCBz
MVByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICBkYXRh
LnMxUmVzb2x2ZUZuID0gcmVzb2x2ZTsKLSAgICB9KTsKLSAgICBjb25zdCBzMlByb21pc2UgPSBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICBkYXRhLnMyUmVzb2x2ZUZu
ID0gcmVzb2x2ZTsKLSAgICB9KTsKLSAgICBjb25zdCBzM1Byb21pc2UgPSBuZXcgUHJvbWlzZSgo
cmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICBkYXRhLnMzUmVzb2x2ZUZuID0gcmVzb2x2ZTsK
LSAgICB9KTsKLSAgICByZXR1cm4gW3MxUHJvbWlzZSwgczJQcm9taXNlLCBzM1Byb21pc2VdOwot
fQotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQ+Ci0vLyBUZXN0czoKLWFzeW5jX3Rlc3QoKHRlc3QpID0+
IHsKLSAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNl
dHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9t
aXNlLCBzMlByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2ln
bihbdFRyZWUuYzFdKTsKLSAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pOwotCi0gIGFzc2Vy
dF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDAsICdzbG90Y2hhbmdlIGV2ZW50IG11c3Qgbm90
IGJlIGZpcmVkIHN5bmNocm9ub3VzbHknKTsKLSAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRD
b3VudCwgMCk7Ci0KLSAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0
ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVu
dENvdW50LCAxKTsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAxKTsKLSAg
fSkpOwotfSwgJ3Nsb3RjaGFuZ2UgZXZlbnQgbXVzdCBub3QgZmlyZSBzeW5jaHJvbm91c2x5Licp
OwotCi1hc3luY190ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVj
dGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRl
c3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JTbG90cyhk
YXRhKTsKLQotICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90QWxsb3dlZEVycm9yJywgKCkgPT4geyB0
VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmM0XSk7IH0pOwotICB0VHJlZS5zMi5hc3NpZ24oW10pOwot
ICB0VHJlZS5ob3N0Lmluc2VydEJlZm9yZSh0VHJlZS5jNCwgdFRyZWUuYzEpOwotCi0gIFByb21p
c2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgo
KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMCk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMCk7Ci0gIH0pKTsKLQotICAvLyB1c2UgZmFr
ZSBldmVudCB0byB0cmlnZ2VyIGV2ZW50IGhhbmRsZXIuCi0gIGxldCBmYWtlRXZlbnQgPSBuZXcg
RXZlbnQoJ3Nsb3RjaGFuZ2UnKTsKLSAgZmFrZUV2ZW50LmlzRmFrZUV2ZW50ID0gdHJ1ZTsKLSAg
dFRyZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwotICB0VHJlZS5zMi5kaXNwYXRjaEV2
ZW50KGZha2VFdmVudCk7Ci19LCAnc2xvdGNoYW5nZSBldmVudCBzaG91bGQgbm90IGZpcmUgd2hl
biBhc3NpZ25tZW50cyBkbyBub3QgY2hhbmdlIGFzc2lnbmVkTm9kZXMuJyk7Ci0KLWFzeW5jX3Rl
c3QoKHRlc3QpID0+IHsKLSAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxl
dCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSx0ZXN0LCBkYXRhKTsKLSAg
bGV0IFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2ln
bihbdFRyZWUuYzEsIHRUcmVlLmMyXSk7Ci0KLSAgczFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1
bmMoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOwotCi0g
ICAgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0gICAgdFRyZWUuczEuYXNzaWdu
KFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKLSAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0
VHJlZS5jMSwgdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jMl0pOwotCi0gICAgczFQcm9taXNl
LnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRh
dGEuczFFdmVudENvdW50LCAxKTsKLSAgICB9KSk7Ci0KLSAgICBsZXQgZmFrZUV2ZW50ID0gbmV3
IEV2ZW50KCdzbG90Y2hhbmdlJyk7Ci0gICAgZmFrZUV2ZW50LmlzRmFrZUV2ZW50ID0gdHJ1ZTsK
LSAgICB0VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7Ci0gIH0pKTsKLQotfSwgJ3Ns
b3RjaGFuZ2UgZXZlbnQgc2hvdWxkIG5vdCBmaXJlIHdoZW4gc2FtZSBub2RlIGlzIGFzc2lnbmVk
LicpOwotCi1hc3luY190ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29s
bGVjdGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2Us
IHRlc3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JTbG90
cyhkYXRhKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0gIHRUcmVlLnMyLmFz
c2lnbihbdFRyZWUuYzJdKTsKLQotICBQcm9taXNlLmFsbChbczFQcm9taXNlLCBzMlByb21pc2Vd
KS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0
YS5zMUV2ZW50Q291bnQsIDEpOwotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQs
IDEpOwotICB9KSk7Ci19LCAiRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gc2xvdCdzIGFzc2ln
bmVkIG5vZGVzIGNoYW5nZXMuIik7Ci0KLWFzeW5jX3Rlc3QoKHRlc3QpID0+IHsKLSAgY29uc3Qg
ZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9N
KHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9taXNlLCBzMlByb21p
c2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFd
KTsKLQotICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0
X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7Ci0KLSAgICBbczFQcm9taXNlLCBzMlByb21p
c2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotICAgIHRUcmVlLnMyLmFzc2lnbihbdFRyZWUuYzFd
KTsKLQotICAgIFByb21pc2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5z
dGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENv
dW50LCAyKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDEpOwotICAg
IH0pKTsKLSAgfSkpOwotfSwgIkZpcmUgc2xvdGNoYW5nZSBldmVudCBvbiBwcmV2aW91cyBzbG90
IGFuZCBuZXcgc2xvdCB3aGVuIG5vZGUgaXMgcmVhc3NpZ25lZC4iKTsKLQotYXN5bmNfdGVzdCgo
dGVzdCkgPT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKLSAgbGV0IHRU
cmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKLSAgbGV0
IFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzFdKTsKLQotICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7Ci0KLSAgICBbczFQcm9taXNl
XSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLSAgICB0VHJlZS5zMS5hc3NpZ24oW10pOwotCi0gICAg
czFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgICBhc3NlcnRf
ZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAyKTsKLSAgICB9KSk7Ci0gIH0pKTsKLX0sICJGaXJl
IHNsb3RjaGFuZ2UgZXZlbnQgb24gbm9kZSBhc3NpZ25tZW50IGFuZCB3aGVuIGFzc2lnbmVkIG5v
ZGUgaXMgcmVtb3ZlZC4iKTsKLQotYXN5bmNfdGVzdCgodGVzdCkgPT4gewotICBjb25zdCBkYXRh
ID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKLSAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVz
dF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKLSAgbGV0IFtzMVByb21pc2VdID0gbW9uaXRvclNs
b3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSk7Ci0K
LSAgczFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4gewotICAgIGFzc2VydF9lcXVh
bHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOwotCi0gICAgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xv
dHMoZGF0YSk7Ci0gICAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzFdKTsKLQot
ICAgIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgICAgYXNz
ZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMik7Ci0gICAgfSkpOwotICB9KSk7Ci19LCAi
RmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gb3JkZXIgb2YgYXNzaWduZWQgbm9kZXMgY2hhbmdl
cy4iKTsKLQotcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRh
Q29sbGVjdGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFu
Z2UsIHRlc3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7
Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwotCi0gIHJldHVybiBzMVByb21pc2Uu
dGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZl
bnRDb3VudCwgMSk7Ci0KLSAgICBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLSAg
ICB0VHJlZS5jMS5yZW1vdmUoKTsKLQotICAgIHJldHVybiBzMVByb21pc2U7Ci0gIH0pKQotICAu
dGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFF
dmVudENvdW50LCAyKTsKLSAgfSkpOwotfSwgIkZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIGFz
c2lnbmVkIG5vZGUgaXMgcmVtb3ZlZC4iKTsKLQotcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7Ci0g
IGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNo
YWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOwotICBbczFQcm9taXNlXSA9IG1v
bml0b3JTbG90cyhkYXRhKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0KLSAg
cmV0dXJuIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKLSAgICBhc3NlcnRf
ZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKLQotICAgIFtzMVByb21pc2VdID0gbW9uaXRv
clNsb3RzKGRhdGEpOwotICAgIHRUcmVlLnMxLnJlbW92ZSgpOwotCi0gICAgcmV0dXJuIHMxUHJv
bWlzZTsKLSAgfSkpCi0gIC50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKLSAgICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDIpOwotICB9KSk7Ci19LCAiRmlyZSBzbG90Y2hh
bmdlIGV2ZW50IHdoZW4gcmVtb3ZpbmcgYSBzbG90IGZyb20gU2hhZG93cyBSb290IHRoYXQgY2hh
bmdlcyBpdHMgYXNzaWduZWQgbm9kZXMuIik7Ci0KLWFzeW5jX3Rlc3QoKHRlc3QpID0+IHsKLSAg
Y29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hh
ZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9taXNlXSA9
IG1vbml0b3JTbG90cyhkYXRhKTsKLQotICB0VHJlZS5zMS5yZW1vdmUoKTsKLQotICBsZXQgZmFr
ZUV2ZW50ID0gbmV3IEV2ZW50KCdzbG90Y2hhbmdlJyk7Ci0gIGZha2VFdmVudC5pc0Zha2VFdmVu
dCA9IHRydWU7Ci0gIHRUcmVlLnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLQotICBzMVBy
b21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRh
LnMyRXZlbnRDb3VudCwgMCk7Ci0KLSAgICBbczFQcm9taXNlLCBzMlByb21pc2VdID0gbW9uaXRv
clNsb3RzKGRhdGEpOwotICAgIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9yZSh0VHJlZS5z
MSwgdFRyZWUuczIpOwotCi0gICAgdFRyZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwot
ICAgIHRUcmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLQotICAgIFByb21pc2UuYWxs
KFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAwKTsKLSAgICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDApOwotICAgIH0pKTsKLSAgfSkpOwotCi19LCAi
Tm8gc2xvdGNoYW5nZSBldmVudCB3aGVuIGFkZGluZyBvciByZW1vdmluZyBhbiBlbXB0eSBzbG90
LiIpOwotCi1hc3luY190ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29s
bGVjdGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2Us
IHRlc3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JTbG90
cyhkYXRhKTsKLQotICB0VHJlZS5ob3N0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpKTsKLQotICBsZXQgZmFrZUV2ZW50ID0gbmV3IEV2ZW50KCdzbG90Y2hhbmdlJyk7
Ci0gIGZha2VFdmVudC5pc0Zha2VFdmVudCA9IHRydWU7Ci0gIHRUcmVlLnMxLmRpc3BhdGNoRXZl
bnQoZmFrZUV2ZW50KTsKLSAgdFRyZWUuczIuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwotCi0g
IFByb21pc2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmMo
KCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDApOwotICAgIGFz
c2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDApOwotCi0gICAgW3MxUHJvbWlzZSwgczJQ
cm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLSAgICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNl
cnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksIHRUcmVlLnMyKTsKLQotICAg
IHRUcmVlLnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLSAgICB0VHJlZS5zMi5kaXNwYXRj
aEV2ZW50KGZha2VFdmVudCk7Ci0KLSAgICBQcm9taXNlLmFsbChbczFQcm9taXNlLCBzMlByb21p
c2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFs
cyhkYXRhLnMxRXZlbnRDb3VudCwgMCk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVu
dENvdW50LCAwKTsKLSAgICB9KSk7Ci0gIH0pKTsKLQotfSwgIk5vIHNsb3RjaGFuZ2UgZXZlbnQg
d2hlbiBhZGRpbmcgYW5vdGhlciBzbG90YWJsZS4iKTsKLQotPC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9
InRlc3RfbmVzdGVkX3Nsb3RjaGFuZ2UiPgotICA8ZGl2PgotICAgIDx0ZW1wbGF0ZSBkYXRhLW1v
ZGU9Im9wZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJtYW51YWwiPgotICAgICAgPGRpdj4KLSAg
ICAgICAgPHRlbXBsYXRlIGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1h
bnVhbCI+Ci0gICAgICAgICAgPHNsb3QgaWQ9InMyIj48L3Nsb3Q+Ci0gICAgICAgICAgPHNsb3Qg
aWQ9InMzIj48L3Nsb3Q+Ci0gICAgICAgIDwvdGVtcGxhdGU+Ci0gICAgICAgIDxzbG90IGlkPSJz
MSI+PC9zbG90PgotICAgICAgPC9kaXY+Ci0gICAgPC90ZW1wbGF0ZT4KLSAgICA8ZGl2IGlkPSJj
MSI+PC9kaXY+Ci0gIDwvZGl2PgotPC9kaXY+Ci0KLTxzY3JpcHQ+Ci1hc3luY190ZXN0KCh0ZXN0
KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOwotICBsZXQgdFRyZWUg
PSBzZXR1cFNoYWRvd0RPTSh0ZXN0X25lc3RlZF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKLSAg
bGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZSwgczNQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRh
KTsKLQotICB0VHJlZS5zMy5hc3NpZ24oW3RUcmVlLnMxXSk7Ci0KLSAgczNQcm9taXNlLnRoZW4o
dGVzdC5zdGVwX2Z1bmMoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zM0V2ZW50Q291
bnQsIDEpOwotICAgIFtzMVByb21pc2UsIHMyUHJvbWlzZSwgczNQcm9taXNlXSA9IG1vbml0b3JT
bG90cyhkYXRhKTsKLQotICAgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKLQotICAgIFBy
b21pc2UuYWxsKFtzMVByb21pc2UsIHMzUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9u
ZSgoKSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKLSAg
ICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zM0V2ZW50Q291bnQsIDIpOwotICAgIH0pKTsKLSAgfSkp
OwotfSwgIkZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIGFzc2lnbiBub2RlIHRvIG5lc3RlZCBz
bG90LCBlbnN1cmUgZXZlbnQgYnViYmxlcyB1cHMuIik7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9z
bG90cy1pbXBlcmF0aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMtaW1w
ZXJhdGl2ZS1zbG90LWFwaS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0MmU2YTQ2YmNiYTNkOTM3NDdlNmNiZDdjZWE2MjdlYTIxNGRjNDVhLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1pbXBlcmF0
aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
OSArMCwwIEBACi0KLUZBSUwgYXR0YWNoU2hhZG93IGNhbiB0YWtlIHNsb3RBc3NpZ25tZW50IHBh
cmFtZXRlci4gYXNzZXJ0X3Rocm93c19qczogb3RoZXJzIHNob3VsZCB0aHJvdyBleGNlcHRpb24g
ZnVuY3Rpb24gIigpID0+IHsKLSAgICB0VHJlZS5ob3N0My5hdHRhY2hTaGFkb3coeyBtb2RlOiAn
b3BlbicsIHNsb3RBc3NpZ25tZW50OiAnZXhjZXB0aW9uYWwnIH0pfSIgZGlkIG5vdCB0aHJvdwot
RkFJTCBJbXBlcmF0aXZlIHNsb3QgQVBJIHRocm93cyBleGNlcHRpb24gd2hlbiBub3Qgc2xvdEFz
c2lnbm1lbnQgIT0gJ21hbnVhbCcuIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlvbiAiKCkgPT4g
eyB0VHJlZS5zMS5hc3NpZ24oW10pOyB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogdFRyZWUu
czEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbXSknLCAn
dFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlv
biBOb3RBbGxvd2VkRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQs
IGV4cGVjdGVkIDAKLUZBSUwgSW1wZXJhdGl2ZSBzbG90IEFQSSB0aHJvd3MgZXhjZXB0aW9uIHdo
ZW4gc2xvdHRhYmxlIHBhcmVudE5vZGUgIT0gc2xvdCdzIGhvc3QuIGFzc2VydF90aHJvd3NfZG9t
OiBmdW5jdGlvbiAiKCkgPT4geyB0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMyXSk7IH0iIHRocmV3
IG9iamVjdCAiVHlwZUVycm9yOiB0VHJlZS5zMi5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pJywgJ3RUcmVlLnMyLmFzc2lnbicgaXMgdW5k
ZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gTm90QWxsb3dlZEVycm9yOiBwcm9w
ZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAwCi1GQUlMIEltcGVy
YXRpdmUgc2xvdCBBUEkgY2FuIGFzc2lnbiBub2RlcyBpbiBtYW51YWwgc2xvdCBhc3NpZ25tZW50
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxzbG90
IGlkPSJzMSI+PC9zbG90PgotRkFJTCBPcmRlciBvZiBzbG90dGFibGVzIGlzIHByZXNlcnZlZCBp
biBtYW51YWwgc2xvdCBhc3NpZ25tZW50LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSkn
LCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIFByZXZpb3VzbHkgYXNzaWdu
ZWQgc2xvdHRhYmxlIGlzIG1vdmVkIHRvIG5ldyBzbG90IHdoZW4gaXQncyByZWFzc2lnbmVkLiB0
VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0
VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIE9yZGVyIGFuZCBhc3NpZ25tZW50IG9mIG5vZGVzIGFyZSBwcmVzZXJ2ZWQg
ZHVyaW5nIG11bHRpcGxlIGFzc2lnbm1lbnQgaW4gYSByb3cuIHRUcmVlLnMxLmFzc2lnbiBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUu
czEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIEFzc2lnbmluZyBpbnZhbGlkIG5vZGVzIGNh
dXNlcyBleGNlcHRpb24gYW5kIHNsb3QgcmV0dXJucyB0byBpdHMgcHJldmlvdXMgc3RhdGUuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJOb3RBbGxvd2VkRXJyb3IiIGJ1dCBnb3QgIlR5cGVFcnJv
ciIKLUZBSUwgTW92aW5nIGEgc2xvdCB0byBhIG5ldyBob3N0LCB0aGUgc2xvdCBsb3NlcyBpdHMg
cHJldmlvdXNseSBhc3NpZ25lZCBzbG90dGFibGVzLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVl
LmMzXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIE1vdmluZyBhIHNs
b3QncyB0cmVlIG9yZGVyIHBvc2l0aW9uIHdpdGhpbiBhIHNoYWRvdyBob3N0IGhhcyBubyBpbXBh
Y3Qgb24gaXRzIGFzc2lnbmVkIHNsb3R0YWJsZXMuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUu
YzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgQXBwZW5kaW5nIHNs
b3R0YWJsZSB0byBkaWZmZXJlbnQgaG9zdCwgaXQgbG9zZXMgc2xvdCBhc3NpZ25tZW50LiBJdCBj
YW4gYmUgcmUtYXNzaWduZWQgd2l0aGluIGEgbmV3IGhvc3QuIHRUcmVlLnMxLmFzc2lnbiBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMiwg
dFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgUHJldmlv
dXNseSBhc3NpZ25lZCBub2RlIHNob3VsZCBub3QgYmUgYXNzaWduZWQgaWYgc2xvdCBtb3ZlZCB0
byBhIG5ldyBzaGFkb3cgcm9vdC4gVGhlIHNsb3QgcmVtYWlucyBlbXB0eSB3aGVuIG1vdmVkIGJh
Y2ssIG5vIHRyaWdnZXIgcmVjYWxjLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMg
dW5kZWZpbmVkKQotRkFJTCBQcmV2aW91c2x5IGFzc2lnbmVkIG5vZGUgc2hvdWxkIG5vdCBiZSBh
c3NpZ25lZCBpZiBzbG90IG1vdmVkIHRvIGEgbmV3IHNoYWRvdyByb290LiBUaGUgc2xvdCByZW1h
aW5zIGVtcHR5IHdoZW4gbW92ZWQgYmFjaywgdHJpZ2dlciByZWNhbGMuIHRUcmVlLnMxLmFzc2ln
biBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAn
dFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIEFzc2lnbm1lbnQgd2l0aCB0aGUg
c2FtZSBub2RlIGluIHBhcmFtZXRlcnMgc2hvdWxkIGJlIGlnbm9yZWQsIGxhc3Qgb25lIHdpbnMu
IHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24o
W3RUcmVlLmMxLCB0VHJlZS5jMSwgdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVu
ZGVmaW5lZCkKLUZBSUwgUmVtb3ZpbmcgYSBzbG90IGZyb20gRE9NIHJlc2V0cyBpdHMgc2xvdHRh
YmxlJ3Mgc2xvdCBhc3NpZ25tZW50LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSknLCAn
dFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIEEgc2xvdCBzaG91bGQgYmUgY2xl
YXJlZCBvZiBhc3NpZ25lZCBub2RlcyBldmVuIGlmIGl0J3MgcmUtaW5zZXJ0ZWQgaW50byB0aGUg
c2FtZSBzaGFkb3cgcm9vdC4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVm
aW5lZCkKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWltcGVyYXRpdmUtc2xvdC1hcGkudGVudGF0aXZlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vc2xvdHMtaW1wZXJhdGl2ZS1zbG90LWFwaS50ZW50YXRpdmUuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMmZmYjA4ZmJhMWI3MGUxZWFkOTY4MWMyYzU4NjcyMDQxNWQzM2Zm
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMtaW1w
ZXJhdGl2ZS1zbG90LWFwaS50ZW50YXRpdmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMwNSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTx0aXRsZT5TaGFkb3cgRE9NOiBJbXBlcmF0aXZlIFNs
b3QgQVBJPC90aXRsZT4KLTxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9Ill1IEhhbiIgaHJlZj0i
bWFpbHRvOnl1emhlaGFuQGNocm9taXVtLm9yZyI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy1k
b20uanMiPjwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0ZXN0X2Jhc2ljIj4KLSAgPGRpdiBpZD0iaG9z
dDEiPjwvZGl2PgotICA8ZGl2IGlkPSJob3N0MiI+PC9kaXY+Ci0gIDxkaXYgaWQ9Imhvc3QzIj48
L2Rpdj4KLTwvZGl2PgotPHNjcmlwdD4KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVh
dGVUZXN0VHJlZSh0ZXN0X2Jhc2ljKTsKLSAgYXNzZXJ0X25vdF9lcXVhbHModFRyZWUuaG9zdDEu
YXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nLCBzbG90QXNzaWdubWVudDogJ21hbnVhbCd9KSwK
LSAgICAgICAgICAgICAgICAgICAgbnVsbCwgJ3Nsb3QgYXNzaWdubWVudCBtYW51YWwgc2hvdWxk
IHdvcmsnKTsKLSAgYXNzZXJ0X25vdF9lcXVhbHModFRyZWUuaG9zdDIuYXR0YWNoU2hhZG93KHsg
bW9kZTogJ29wZW4nLCBzbG90QXNzaWdubWVudDogJ25hbWUnfSksCi0gICAgICAgICAgICAgICAg
ICAgIG51bGwsICdzbG90IGFzc2lnbm1lbnQgYXV0byBzaG91bGQgd29yaycpOwotICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4gewotICAgIHRUcmVlLmhvc3QzLmF0dGFjaFNoYWRv
dyh7IG1vZGU6ICdvcGVuJywgc2xvdEFzc2lnbm1lbnQ6ICdleGNlcHRpb25hbCcgfSl9LAotICAg
ICAgICAgICAgICAgICdvdGhlcnMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbicpOwotfSwgJ2F0dGFj
aFNoYWRvdyBjYW4gdGFrZSBzbG90QXNzaWdubWVudCBwYXJhbWV0ZXIuJyk7Ci08L3NjcmlwdD4K
LQotPGRpdiBpZD0idGVzdF9lcnJvcnMiPgotICA8ZGl2IGlkPSJob3N0MSI+Ci0gICAgPHRlbXBs
YXRlIGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im5hbWUiPgotICAgICAg
PHNsb3QgaWQ9InMxIj48L3Nsb3Q+Ci0gICAgPC90ZW1wbGF0ZT4KLSAgICA8ZGl2IGlkPSJjMSI+
PC9kaXY+Ci0gIDwvZGl2PgotICA8ZGl2IGlkPSJob3N0MiI+Ci0gICAgPHRlbXBsYXRlIGRhdGEt
bW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1hbnVhbCI+Ci0gICAgICA8c2xvdCBp
ZD0iczIiPjwvc2xvdD4KLSAgICA8L3RlbXBsYXRlPgotICA8L2Rpdj4KLSAgPGRpdiBpZD0iYzIi
PjwvZGl2PgotPC9kaXY+Ci08c2NyaXB0PgotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNy
ZWF0ZVRlc3RUcmVlKHRlc3RfZXJyb3JzKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5z
MS5hc3NpZ25lZEVsZW1lbnRzKCksIFt0VHJlZS5jMV0pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVl
LmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotCi0gIGFzc2VydF90aHJvd3NfZG9tKCdOb3RB
bGxvd2VkRXJyb3InLCAoKSA9PiB7IHRUcmVlLnMxLmFzc2lnbihbXSk7IH0pOwotICBhc3NlcnRf
YXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkRWxlbWVudHMoKSwgW3RUcmVlLmMxXSk7Ci0g
IGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci19LCAnSW1w
ZXJhdGl2ZSBzbG90IEFQSSB0aHJvd3MgZXhjZXB0aW9uIHdoZW4gbm90IHNsb3RBc3NpZ25tZW50
ICE9IFwnbWFudWFsXCcuJyk7Ci0KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVU
ZXN0VHJlZSh0ZXN0X2Vycm9ycyk7Ci0gIGFzc2VydF90aHJvd3NfZG9tKCdOb3RBbGxvd2VkRXJy
b3InLCAoKSA9PiB7IHRUcmVlLnMyLmFzc2lnbihbdFRyZWUuYzJdKTsgfSk7Ci0KLSAgYXNzZXJ0
X3Rocm93c19kb20oJ05vdEFsbG93ZWRFcnJvcicsICgpID0+IHsgdFRyZWUuczIuYXNzaWduKFt0
VHJlZS5ob3N0MV0pOyB9KTsKLX0sICdJbXBlcmF0aXZlIHNsb3QgQVBJIHRocm93cyBleGNlcHRp
b24gd2hlbiBzbG90dGFibGUgcGFyZW50Tm9kZSAhPSBzbG90XCdzIGhvc3QuJyk7Ci08L3Njcmlw
dD4KLQotPGRpdiBpZD0idGVzdF9hc3NpZ24iPgotICA8ZGl2IGlkPSJob3N0Ij4KLSAgICA8dGVt
cGxhdGUgaWQ9InNoYWRvd19yb290IiBkYXRhLW1vZGU9Im9wZW4iIGRhdGEtc2xvdC1hc3NpZ25t
ZW50PSJtYW51YWwiPgotICAgICAgPHNsb3QgaWQ9InMxIj48L3Nsb3Q+Ci0gICAgICA8c2xvdCBp
ZD0iczIiPjwvc2xvdD4KLSAgICAgIDxzbG90IGlkPSJzMyI+PC9zbG90PgotICAgIDwvdGVtcGxh
dGU+Ci0gICAgPGRpdiBpZD0iYzEiPjwvZGl2PgotICAgIDxkaXYgaWQ9ImMyIj48L2Rpdj4KLSAg
ICA8ZGl2IGlkPSJjMyI+PC9kaXY+Ci0gICAgPGRpdiBpZD0ibmVzdGVkIj4KLSAgICAgICA8ZGl2
IGlkPSJuczEiPjwvZGl2PgotICAgIDwvZGl2PgotICA8L2Rpdj4KLSAgPGRpdiBpZD0iYzQiPjwv
ZGl2PgotICA8ZGl2IGlkPSJob3N0NCI+Ci0gICAgPHRlbXBsYXRlIGlkPSJzaGFkb3dfcm9vdDQi
IGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1hbnVhbCI+Ci0gICAgICA8
c2xvdCBpZD0iczQiIG5hbWU9InM0Ij48L3Nsb3Q+Ci0gICAgPC90ZW1wbGF0ZT4KLSAgPC9kaXY+
Ci08L2Rpdj4KLTxzY3JpcHQ+Ci10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVz
dFRyZWUodGVzdF9hc3NpZ24pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2ln
bmVkRWxlbWVudHMoKSwgW10pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xv
dCwgbnVsbCk7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7Ci0gIGFzc2Vy
dF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0KLSAgdFRyZWUuczIu
YXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzNdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJl
ZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyLCB0VHJlZS5jM10pOwotfSwgJ0lt
cGVyYXRpdmUgc2xvdCBBUEkgY2FuIGFzc2lnbiBub2RlcyBpbiBtYW51YWwgc2xvdCBhc3NpZ25t
ZW50LicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVz
dF9hc3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJl
ZS5jMV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwg
W3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5j
MS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3Np
Z25lZFNsb3QsIHRUcmVlLnMxKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMy5hc3NpZ25lZFNs
b3QsIHRUcmVlLnMxKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMl0p
OwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVl
LmMxLCB0VHJlZS5jMl0pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwg
dFRyZWUuczEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUu
czEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci0KLSAg
dFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMywgdFRyZWUuYzIsIHRUcmVlLmMxXSk7Ci0gIGFzc2Vy
dF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzMsIHRUcmVl
LmMyLCB0VHJlZS5jMV0pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwg
dFRyZWUuczEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUu
czEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwot
fSwgJ09yZGVyIG9mIHNsb3R0YWJsZXMgaXMgcHJlc2VydmVkIGluIG1hbnVhbCBzbG90IGFzc2ln
bm1lbnQuJyk7Ci0KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0
ZXN0X2Fzc2lnbik7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRU
cmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2Rlcygp
LCBbdFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5jMV0pOwotCi0gIHRUcmVlLnMyLmFzc2lnbihb
dFRyZWUuYzJdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVz
KCksIFt0VHJlZS5jMywgdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5z
Mi5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMl0pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMx
LmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2ln
bmVkU2xvdCwgdFRyZWUuczIpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xv
dCwgdFRyZWUuczEpOwotCi0gIHRUcmVlLnMzLmFzc2lnbihbdFRyZWUuYzNdKTsKLSAgYXNzZXJ0
X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOwotICBh
c3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyXSk7
Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczMuYXNzaWduZWROb2RlcygpLCBbdFRyZWUu
YzNdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsK
LSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVlLnMyKTsKLSAgYXNz
ZXJ0X2VxdWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3QsIHRUcmVlLnMzKTsKLX0sICdQcmV2aW91
c2x5IGFzc2lnbmVkIHNsb3R0YWJsZSBpcyBtb3ZlZCB0byBuZXcgc2xvdCB3aGVuIGl0XCdzIHJl
YXNzaWduZWQuJyk7Ci0KLXRlc3QoKCkgPT4gewotIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVl
KHRlc3RfYXNzaWduKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0gIHRUcmVl
LnMyLmFzc2lnbihbdFRyZWUuYzIsIHRUcmVlLmMxXSk7Ci0gIHRUcmVlLnMzLmFzc2lnbihbdFRy
ZWUuYzEsIHRUcmVlLmMzXSk7Ci0KLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3Np
Z25lZE5vZGVzKCksIFtdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMi5hc3NpZ25l
ZE5vZGVzKCksIFt0VHJlZS5jMl0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMzLmFz
c2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jM10pOwotICBhc3NlcnRfZXF1YWxzKHRU
cmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczMpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMy
LmFzc2lnbmVkU2xvdCwgdFRyZWUuczIpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2ln
bmVkU2xvdCwgdFRyZWUuczMpOwotfSwgJ09yZGVyIGFuZCBhc3NpZ25tZW50IG9mIG5vZGVzIGFy
ZSBwcmVzZXJ2ZWQgZHVyaW5nIG11bHRpcGxlIGFzc2lnbm1lbnQgaW4gYSByb3cuJyk7Ci0KLXRl
c3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0K
LSAgLy8gdFRyZWUuYzQgaXMgaW52YWxpZCBmb3IgdFRyZWUuaG9zdCBzbG90IGFzc2lnbm1lbnQu
Ci0gIHRyeSB7Ci0gICAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVl
LmM0XSk7Ci0gICAgYXNzZXJ0X3VucmVhY2hlZCgnYXNzaWduKCkgc2hvdWxkIGhhdmUgZmFpbGVk
KSAnKTsKLSAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgYXNzZXJ0X2VxdWFscyhlcnIubmFtZSwgJ05v
dEFsbG93ZWRFcnJvcicpOwotICB9Ci0KLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5h
c3NpZ25lZE5vZGVzKCksIFtdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNs
b3QsIG51bGwpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgbnVsbCk7
Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzQuYXNzaWduZWRTbG90LCBudWxsKTsKLQotICB0VHJl
ZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMiwgdFRyZWUuYzMs
IHRUcmVlLmMxXSk7Ci0KLSAgdHJ5IHsKLSAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmM0XSk7
Ci0gICAgYXNzZXJ0X3VucmVhY2hlZCgnYXNzaWduKCkgc2hvdWxkIGhhdmUgZmFpbGVkKSAnKTsK
LSAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgYXNzZXJ0X2VxdWFscyhlcnIubmFtZSwgJ05vdEFsbG93
ZWRFcnJvcicpOwotICB9Ci0KLSAgLy8gUHJldmlvdXMgc3RhdGUgaXMgcHJlc2VydmVkLgotICBh
c3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyLCB0
VHJlZS5jMywgdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNs
b3QsIHRUcmVlLnMxKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRU
cmVlLnMxKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3QsIHRUcmVlLnMx
KTsKLX0sICdBc3NpZ25pbmcgaW52YWxpZCBub2RlcyBjYXVzZXMgZXhjZXB0aW9uIGFuZCBzbG90
IHJldHVybnMgdG8gaXRzIHByZXZpb3VzIHN0YXRlLicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0
IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2ln
bihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNd
KTsKLQotICB0VHJlZS5ob3N0NC5hcHBlbmQodFRyZWUuczEpOwotICBhc3NlcnRfYXJyYXlfZXF1
YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW10pOwotfSwgJ01vdmluZyBhIHNsb3QgdG8g
YSBuZXcgaG9zdCwgdGhlIHNsb3QgbG9zZXMgaXRzIHByZXZpb3VzbHkgYXNzaWduZWQgc2xvdHRh
Ymxlcy4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRl
c3RfYXNzaWduKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRy
ZWUuYzNdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCks
IFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7Ci0KLSAgdFRyZWUuc2hhZG93X3Jvb3Qu
aW5zZXJ0QmVmb3JlKHRUcmVlLnMyLCB0VHJlZS5zMSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMo
dFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10p
OwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW10pOwot
Ci0gIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9yZSh0VHJlZS5zNCwgdFRyZWUuczEpOwot
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMx
LCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zNC5h
c3NpZ25lZE5vZGVzKCksIFtdKTsKLQotICB0VHJlZS5uczEuYXBwZW5kKHRUcmVlLnMxKTsKLSAg
YXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdKTsKLX0sICdN
b3ZpbmcgYSBzbG90XCdzIHRyZWUgb3JkZXIgcG9zaXRpb24gd2l0aGluIGEgc2hhZG93IGhvc3Qg
aGFzIG5vIGltcGFjdCBvbiBpdHMgYXNzaWduZWQgc2xvdHRhYmxlcy4nKTsKLQotdGVzdCgoKSA9
PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKLQotICB0VHJl
ZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKLSAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzIs
IHRUcmVlLmMzXSk7Ci0KLSAgdFRyZWUuaG9zdDQuYXBwZW5kKHRUcmVlLmMxKTsKLSAgYXNzZXJ0
X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMiwgdFRyZWUu
YzNdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zNC5hc3NpZ25lZE5vZGVzKCksIFtd
KTsKLQotICB0VHJlZS5zNC5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVh
bHModFRyZWUuczQuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2VxdWFs
cyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnM0KTsKLX0sICdBcHBlbmRpbmcgc2xvdHRh
YmxlIHRvIGRpZmZlcmVudCBob3N0LCBpdCBsb3NlcyBzbG90IGFzc2lnbm1lbnQuIEl0IGNhbiBi
ZSByZS1hc3NpZ25lZCB3aXRoaW4gYSBuZXcgaG9zdC4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGxl
dCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKLQotICB0VHJlZS5zMS5hc3Np
Z24oW3RUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWRO
b2RlcygpLCBbdFRyZWUuYzFdKTsKLQotICB0VHJlZS5zaGFkb3dfcm9vdDQuaW5zZXJ0QmVmb3Jl
KHRUcmVlLnMxLCB0VHJlZS5zNCk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNz
aWduZWROb2RlcygpLCBbXSk7Ci0gIC8vIERvbid0IHRyaWdnZXIgc2xvdCBhc3NpZ25tZW50IG9u
IHByZXZpb3VzIHNoYWRvdyByb290LgotICAvLyBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMy
LmFzc2lnbmVkTm9kZXMoKSwgW10pOwotCi0gIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9y
ZSh0VHJlZS5zMSwgdFRyZWUuczIpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFz
c2lnbmVkTm9kZXMoKSwgW10pOwotfSwgJ1ByZXZpb3VzbHkgYXNzaWduZWQgbm9kZSBzaG91bGQg
bm90IGJlIGFzc2lnbmVkIGlmIHNsb3QgbW92ZWQgdG8gYSBuZXcgc2hhZG93IHJvb3QuIFRoZSBz
bG90IHJlbWFpbnMgZW1wdHkgd2hlbiBtb3ZlZCBiYWNrLCBubyB0cmlnZ2VyIHJlY2FsYy4nKTsK
LQotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWdu
KTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVh
bHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKLQotICB0VHJlZS5zaGFk
b3dfcm9vdDQuaW5zZXJ0QmVmb3JlKHRUcmVlLnMxLCB0VHJlZS5zNCk7Ci0gIGFzc2VydF9hcnJh
eV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSk7Ci0gIC8vIFRyaWdnZXIgc2xv
dCBhc3NpZ25tZW50IG9uIHByZXZpb3VzIHNoYWRvdyByb290LgotICBhc3NlcnRfYXJyYXlfZXF1
YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW10pOwotCi0gIHRUcmVlLnNoYWRvd19yb290
Lmluc2VydEJlZm9yZSh0VHJlZS5zMSwgdFRyZWUuczIpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW10pOwotfSwgJ1ByZXZpb3VzbHkgYXNzaWduZWQg
bm9kZSBzaG91bGQgbm90IGJlIGFzc2lnbmVkIGlmIHNsb3QgbW92ZWQgdG8gYSBuZXcgc2hhZG93
IHJvb3QuIFRoZSBzbG90IHJlbWFpbnMgZW1wdHkgd2hlbiBtb3ZlZCBiYWNrLCB0cmlnZ2VyIHJl
Y2FsYy4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRl
c3RfYXNzaWduKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMSwgdFRy
ZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCks
IFt0VHJlZS5jMV0pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMxLCB0
VHJlZS5jMiwgdFRyZWUuYzIsIHRUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRy
ZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRUcmVlLmMxXSk7Ci19LCAnQXNzaWdu
bWVudCB3aXRoIHRoZSBzYW1lIG5vZGUgaW4gcGFyYW1ldGVycyBzaG91bGQgYmUgaWdub3JlZCwg
bGFzdCBvbmUgd2lucy4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRl
c3RUcmVlKHRlc3RfYXNzaWduKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJl
ZS5jMiwgdFRyZWUuYzNdKTsKLSAgdFRyZWUuczEucmVtb3ZlKCk7Ci0KLSAgYXNzZXJ0X2VxdWFs
cyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIG51bGwpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMy
LmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRT
bG90LCBudWxsKTsKLX0sICdSZW1vdmluZyBhIHNsb3QgZnJvbSBET00gcmVzZXRzIGl0cyBzbG90
dGFibGVcJ3Mgc2xvdCBhc3NpZ25tZW50LicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVl
ID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzFdKTsKLSAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pOwotICB0VHJlZS5zMy5hc3Np
Z24oW3RUcmVlLmMzXSk7Ci0gIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9yZSh0VHJlZS5z
MiwgdFRyZWUuczEpOwotICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUodFRyZWUuczMs
IHRUcmVlLnMxKTsKLQotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9k
ZXMoKSwgW3RUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWdu
ZWROb2RlcygpLCBbXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczMuYXNzaWduZWRO
b2RlcygpLCBbXSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJl
ZS5zMSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCBudWxsKTsKLSAg
YXNzZXJ0X2VxdWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3QsIG51bGwpOwotCi0gIHRUcmVlLnMy
LnJlbW92ZSgpOwotCi0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2Rl
cygpLCBbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMy5hc3NpZ25l
ZE5vZGVzKCksIFtdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRU
cmVlLnMxKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIG51bGwpOwot
ICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci19LCAnQSBzbG90
IHNob3VsZCBiZSBjbGVhcmVkIG9mIGFzc2lnbmVkIG5vZGVzIGV2ZW4gaWYgaXRcJ3MgcmUtaW5z
ZXJ0ZWQgaW50byB0aGUgc2FtZSBzaGFkb3cgcm9vdC4nKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL3czYy1pbXBvcnQubG9nCmluZGV4IDIwMjRmNjNhZGEzOTE2ZWMyMTY2
NTgwODViNTcwYWUyZTg3NGU1NzkuLjYxMGViNDE3YTg5OGY3ZDNmNTNkMTNkMmZmNWM0MmNjODQ5
MjE3MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vdzNjLWltcG9ydC5sb2cKQEAgLTI5
LDYgKzI5LDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vUmFuZ2UtcHJvdG90eXBlLWluc2VydE5vZGUuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9TaGFkb3dSb290LWludGVyZmFjZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL1Nsb3R0YWJsZS1taXhpbi5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2FjY2Vzc2tl
eS50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9jYXB0dXJpbmctYW5kLWJ1YmJsaW5nLWV2ZW50LWxpc3RlbmVycy1h
Y3Jvc3Mtc2hhZG93LXRyZWVzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHktMDAxLnRlbnRhdGl2ZS1leHBl
Y3RlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMS50ZW50YXRpdmUuaHRtbApAQCAtNDEsMTEgKzQy
LDE1IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LWRpc3BhdGNoLW9yZGVyLnRlbnRhdGl2ZS5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2V2ZW50LWluc2lkZS1zaGFkb3ctdHJlZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LWluc2lkZS1zbG90dGVkLW5vZGUu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9ldmVudC1vbi1wc2V1ZG8tZWxlbWVudC1jcmFzaC5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LXBvc3QtZGlzcGF0
Y2guaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9ldmVudC13aXRoLXJlbGF0ZWQtdGFyZ2V0Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9ybS1jb250cm9sLWZvcm0t
YXR0cmlidXRlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZ2V0RWxlbWVudEJ5SWQtZHluYW1pYy0wMDEuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9oaXN0b3JpY2Fs
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1jcmFzaC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGkt
c2xvdGNoYW5nZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGkuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbm5lckhUTUwtc2V0dGVy
LnhodG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2lucHV0LWVsZW1lbnQtbGlzdC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2lucHV0LXR5cGUtcmFkaW8uaHRtbApAQCAt
NjEsNyArNjYsNSBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90Y2hhbmdlLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMtZmFsbGJh
Y2staW4tZG9jdW1lbnQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1mYWxsYmFjay5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWltcGVyYXRpdmUt
YXBpLXNsb3RjaGFuZ2UudGVudGF0aXZlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMtaW1wZXJhdGl2ZS1zbG90LWFwaS50
ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9zbG90cy1vdXRzaWRlLXNoYWRvdy1kb20uaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy5odG1sCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUtY3Jhc2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3QtcmVtb3ZlLWNyYXNoLWV4cGVjdGVkLnR4dApp
bmRleCBmZGY3ZjllMmEyYWZjYmFlMDRlOTViMjc3ZDE2YzIxYzg4OTI2OWFlLi5lMjZhYzQ4NzE2
ODU4OWMzNzkxNDE5ZWQ2YThkZTJmY2FjY2QyZDRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9u
ZXN0ZWQtc2xvdC1yZW1vdmUtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25l
c3RlZC1zbG90LXJlbW92ZS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05T
T0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhIGNvbnN0IHZhcmlhYmxl
IHR3aWNlOiAncm9vdCcuCitDT05TT0xFIE1FU1NBR0U6IE5vdFN1cHBvcnRlZEVycm9yOiBUaGUg
b3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDM0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427020</attachid>
            <date>2021-04-25 20:53:00 -0700</date>
            <delta_ts>2021-04-25 23:25:05 -0700</delta_ts>
            <desc>Added the missing expected result</desc>
            <filename>bug-225042-20210425205259.patch</filename>
            <type>text/plain</type>
            <size>113099</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTc1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2YzODYyYjY1ZWFhNzY5M2RkZjUy
ZGVmODM3MjYyZDM5ZjRhNjA5Ni4uZDg5YTdmYzRiMThiNDU4ZjkzMTIyYTMxNTY3NDczNTQ0ODc0
YTRkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA0LTI1ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlc3luYyBXUFQgc2hhZG93IERPTSB0ZXN0cyBh
cyBvZiAwMmYwY2MxMAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI1MDQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmViYXNlbGluZWQgdGhlIHRlc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LW9uLXBzZXVkby1l
bGVtZW50LWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ2xp
Yi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3Qt
cmVtb3ZlLWNyYXNoLWV4cGVjdGVkLnR4dDogUmViYXNlbGluZWQuCisKIDIwMjEtMDQtMjUgIEZl
bGlwZSBFcmlhcyAgPGZlbGlwZWVyaWFzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1mbGV4
Ym94XSBUYWJsZSBsYXlvdXQgZGlzcmVnYXJkcyBvdmVycmlkaW5nIHdpZHRoCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA0NjQwZTMxYTJmZDA2ZWFjNTAwZGVjNTYzZWY4OGEzYTNl
MWU2NjJlLi5lMWZkYWUzYzE5ZTk0NzQ3MTgzYjQ3MDQxMTY4ZjllMGY3MjBmNGI0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAyMS0wNC0yNSAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXN5bmMgV1BUIHNoYWRv
dyBET00gdGVzdHMgYXMgb2YgMDJmMGNjMTAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNTA0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlc3luYydlZCBzaGFkb3cgRE9NIHRlc3RzIGFzIG9mIDAyZjBj
YzEwYzRlOTI2MjdjY2ZkOGIzMGNlMDNlMDQyNzhhZjUyMjQuCisKKyAgICAgICAgKiByZXNvdXJj
ZXMvcmVzb3VyY2UtZmlsZXMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9hY2Nlc3NrZXkudGVudGF0aXZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vYWNjZXNza2V5LnRlbnRhdGl2ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJh
dGl2ZS9kZWNsYXJhdGl2ZS1hZnRlci1hdHRhY2hzaGFkb3cudGVudGF0aXZlLmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRp
dmUtc2hhZG93LWRvbS1hdHRhY2htZW50LnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1k
b20tYmFzaWMudGVudGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93LWRvbS1vcHQtaW4udGVudGF0
aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFy
YXRpdmUvZGVjbGFyYXRpdmUtd2l0aC1kaXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVj
bGFyYXRpdmUvZGVjbGFyYXRpdmUtd2l0aC1kaXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL2dldGlubmVyaHRtbC50ZW50YXRpdmUuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFn
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1iZWZvcmUtY2xvc2luZy10YWcu
dGVudGF0aXZlLmh0bWw6IFJlbmFtZWQgZnJvbSBpbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFn
Lmh0bWwuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRp
dmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRlbXBsYXRlLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUuaHRtbDogUmVuYW1l
ZCBmcm9tIGlubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS5odG1sLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL21vdmUtdGVtcGxhdGUtYmVm
b3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL21vdmUtdGVtcGxhdGUt
YmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sOiBSZW5hbWVkIGZyb20gbW92ZS10ZW1w
bGF0ZS1iZWZvcmUtY2xvc2luZy10YWcuaHRtbC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9zY3JpcHQtYWNjZXNzLnRlbnRhdGl2ZS5odG1sOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL3czYy1p
bXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50
LW9uLXBzZXVkby1lbGVtZW50LWNyYXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL1NoYWRvd1Jvb3QtZGVsZWdhdGVzRm9jdXMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRlc0ZvY3VzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXNlbGVjdG9yLWRlbGVn
YXRlc0ZvY3VzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
Zm9jdXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGkt
Y3Jhc2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vaW1wZXJhdGl2ZS1zbG90LWFwaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5n
ZS1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBzbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hh
bmdlLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1zbG90Y2hhbmdlLmh0bWw6IFJlbmFtZWQg
ZnJvbSBzbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRlbnRhdGl2ZS5odG1sLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGku
aHRtbDogUmVuYW1lZCBmcm9tIHNsb3RzLWltcGVyYXRpdmUtc2xvdC1hcGkudGVudGF0aXZlLmh0
bWwuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3Qt
cmVtb3ZlLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUtY3Jhc2guaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS93M2MtaW1wb3J0LmxvZzoKKwogMjAyMS0wNC0yNSAg
RmVsaXBlIEVyaWFzICA8ZmVsaXBlZXJpYXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWZs
ZXhib3hdIFRhYmxlIGxheW91dCBkaXNyZWdhcmRzIG92ZXJyaWRpbmcgd2lkdGgKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNv
biBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNv
bgppbmRleCBiOGRlY2RiZmJiYzQ0M2RkYzBhYWI1MDE3NjlhMjE0MzRhM2ZlZGJkLi5hZDM1ODBj
Mjg0OTJiOTg0NzEyZTgxZTBhZmY2MTA2ZDU1ODA4MzJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb24KKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uCkBAIC03Niw2
ICs3NiwxMCBAQAogICAgICAgICAiY3Nzd2ctdGVzdC9XT0ZGMi1Vc2VyQWdlbnQvVGVzdHMveGh0
bWwxL3N1cHBvcnQvYXZhaWxhYmxlLTAwMWEueGh0IiwKICAgICAgICAgImNzc3dnLXRlc3QvV09G
RjItVXNlckFnZW50L1Rlc3RzL3hodG1sMS9zdXBwb3J0L2F2YWlsYWJsZS0wMDFiLnhodCIsCiAg
ICAgICAgICJjc3N3Zy10ZXN0L1dPRkYyLVVzZXJBZ2VudC9UZXN0cy94aHRtbDEvdGVzdGNhc2Vp
bmRleC54aHQiLAorICAgICAgICAic2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9zdXBwb3J0L2RlY2xh
cmF0aXZlLWNoaWxkLWZyYW1lLmh0bWwiLAorICAgICAgICAic2hhZG93LWRvbS9ldmVudC1vbi1w
c2V1ZG8tZWxlbWVudC1jcmFzaC5odG1sIiwKKyAgICAgICAgInNoYWRvdy1kb20vaW1wZXJhdGl2
ZS1zbG90LWFwaS1jcmFzaC5odG1sIiwKKyAgICAgICAgInNoYWRvdy1kb20vbmVzdGVkLXNsb3Qt
cmVtb3ZlLWNyYXNoLmh0bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkv
QmxvYlVSTC9zdXBwb3J0L2ZpbGVfdGVzdDMuaHRtbCIsCiAgICAgICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvRmlsZUFQSS9zdXBwb3J0L2RvY3VtZW50LWRvbWFpbi1zZXR0ZXIuc3ViLmh0bWwiLAog
ICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvc3VwcG9ydC9pbmN1bWJlbnQuc3Vi
Lmh0bWwiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2FjY2Vzc2tleS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2FjY2Vz
c2tleS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2MzRlMzAxNTcyNDllZDg2
YzZhZWQ1YTEwYTI2NDg4NzgyMzQ3NWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vYWNjZXNza2V5LnRlbnRh
dGl2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK0ZBSUwgYnV0dG9uIGVsZW1lbnQg
d2l0aCBhY2Nlc3NrZXkgaW4gdGhlIHNoYWRvdyB0cmVlIG9mIG9wZW4gbW9kZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogYWN0aW9uIgorRkFJTCBidXR0b24gZWxlbWVudCB3aXRo
IGFjY2Vzc2tleSBpbiB0aGUgc2hhZG93IHRyZWUgb2YgY2xvc2VkIG1vZGUgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IGFjdGlvbiIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2FjY2Vzc2tleS50ZW50
YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9hY2Nlc3NrZXkudGVudGF0aXZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzUxNzgzMDIy
NmMyMDEwM2VhZTUyMmNmNTE0NjJhZTgwMDIxNTlkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9hY2Nlc3Nr
ZXkudGVudGF0aXZlLmh0bWwKQEAgLTAsMCArMSw2NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHRpdGxlPlNoYWRvdyBET006IGFjY2Vzc2tleTwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3NoYWRvdy1kb20uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
ZHJpdmVyLWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZl
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK2NvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjb250YWluZXInKTsKKworZnVuY3Rpb24gcHJlc3NBY2Nlc3NLZXkoYWNjZXNzS2V5
KXsKKyAgbGV0IGNvbnRyb2xLZXkgPSAnXHVFMDA5JzsgLy8gbGVmdCBDb250cm9sIGtleQorICBs
ZXQgYWx0S2V5ID0gJ1x1RTAwQSc7IC8vIGxlZnQgQWx0IGtleQorICBsZXQgb3B0aW9uS2V5ID0g
YWx0S2V5OyAgLy8gbGVmdCBPcHRpb24ga2V5CisgIGxldCBzaGlmdEtleSA9ICdcdUUwMDgnOyAv
LyBsZWZ0IFNoaWZ0IGtleQorICAvLyBUaGVyZSBhcmUgZGlmZmVyZW5jZXMgaW4gdXNpbmcgYWNj
ZXNza2V5IGFjcm9zcyBicm93c2VycyBhbmQgT1Mncy4KKyAgLy8gU2VlOiAvLyBodHRwczovL2Rl
dmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVE1ML0dsb2JhbF9hdHRyaWJ1dGVz
L2FjY2Vzc2tleQorICBsZXQgaXNNYWNPU1ggPSBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2Yo
Ik1hYyIpICE9IC0xOworICBsZXQgb3NBY2Nlc3NLZXkgPSBpc01hY09TWCA/IFtjb250cm9sS2V5
LCBvcHRpb25LZXldIDogW3NoaWZ0S2V5LCBhbHRLZXldOworICBsZXQgYWN0aW9ucyA9IG5ldyB0
ZXN0X2RyaXZlci5BY3Rpb25zKCk7CisgIC8vIFByZXNzIGtleXMuCisgIGZvciAobGV0IGtleSBv
ZiBvc0FjY2Vzc0tleSkgeworICAgIGFjdGlvbnMgPSBhY3Rpb25zLmtleURvd24oa2V5KTsKKyAg
fQorICBhY3Rpb25zID0gYWN0aW9ucworICAgICAgICAgICAgLmtleURvd24oYWNjZXNzS2V5KQor
ICAgICAgICAgICAgLmFkZFRpY2soKQorICAgICAgICAgICAgLmtleVVwKGFjY2Vzc0tleSk7Cisg
IG9zQWNjZXNzS2V5LnJldmVyc2UoKTsKKyAgZm9yIChsZXQga2V5IG9mIG9zQWNjZXNzS2V5KSB7
CisgICAgYWN0aW9ucyA9IGFjdGlvbnMua2V5VXAoa2V5KTsKKyAgfQorICByZXR1cm4gYWN0aW9u
cy5zZW5kKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RBY2Nlc3NrZXlJblNoYWRvd1RyZWUobW9kZSkg
eworICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgaG9zdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChob3N0KTsK
KyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IGhvc3QucmVtb3ZlKCkpOworCisgICAgY29uc3Qgc2hh
ZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlfSk7CisgICAgc2hhZG93Um9vdC5pbm5l
ckhUTUwgPSAnPGJ1dHRvbiBpZD0iYnV0dG9uIiBhY2Nlc3NrZXk9ImciPkNsaWNrIE1lIHdpdGgg
U2hpZnQrQWx0K2cgb3Igb24gTWFjIHdpdGggQ29udHJvbCtPcHRpb24rZzwvYnV0dG9uPic7CisK
KyAgICBsZXQgZWwgPSBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCJidXR0b24iKTsKKyAgICBs
ZXQgZXZlbnRXYXRjaGVyID0gbmV3IEV2ZW50V2F0Y2hlcih0LCBlbCwgWydjbGljayddKTsKKyAg
ICBsZXQgd2FpdEZvckNsaWNrID0gZXZlbnRXYXRjaGVyLndhaXRfZm9yKCdjbGljaycpOworCisg
ICAgYXdhaXQgcHJlc3NBY2Nlc3NLZXkoImciKTsKKyAgICBhd2FpdCB3YWl0Rm9yQ2xpY2s7Cisg
IH0sIGBidXR0b24gZWxlbWVudCB3aXRoIGFjY2Vzc2tleSBpbiB0aGUgc2hhZG93IHRyZWUgb2Yg
JHttb2RlfSBtb2RlYCk7Cit9CisKK3Rlc3RBY2Nlc3NrZXlJblNoYWRvd1RyZWUoIm9wZW4iKTsK
K3Rlc3RBY2Nlc3NrZXlJblNoYWRvd1RyZWUoImNsb3NlZCIpOworCis8L3NjcmlwdD4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1hZnRlci1hdHRhY2hzaGFkb3cu
dGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtYWZ0ZXItYXR0YWNoc2hhZG93
LnRlbnRhdGl2ZS5odG1sCmluZGV4IGEzMTM1ODUyMDk0MDlkMzUxZWNjN2MxYzMzMmRlMDZmN2Rj
MzJjMmUuLjNkY2MwOTllYjI3M2FjMjZhMWI3NTI5NDUyNjc2Yzk4YjQ0NzgzYWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1hZnRlci1hdHRhY2hzaGFkb3cudGVudGF0aXZlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLWFmdGVyLWF0dGFjaHNoYWRvdy50ZW50YXRp
dmUuaHRtbApAQCAtMSw2ICsxLDYgQEAKIDwhRE9DVFlQRSBodG1sPgogPHRpdGxlPkRlY2xhcmF0
aXZlIFNoYWRvdyBET00gYWZ0ZXIgYXR0YWNoU2hhZG93PC90aXRsZT4KLTxsaW5rIHJlbD0nYXV0
aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzptYXNvbmZyZWVkQGNocm9taXVt
Lm9yZyc+Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFpbHRvOm1hc29uZkBjaHJvbWl1bS5v
cmcnPgogPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2Rv
bS9pc3N1ZXMvODMxJz4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWF0
dGFjaG1lbnQudGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93LWRv
bS1hdHRhY2htZW50LnRlbnRhdGl2ZS5odG1sCmluZGV4IGI5MDMzZjU5OTI0MjIzNzYyNjk4NWYz
NWFjNjU2MDUyN2M5NzJiMzIuLjA4MWY5YjJkOGYzOGZjOGE0ZjljNzA5NjhlY2UzYjMyM2JhODkx
NjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWF0dGFjaG1l
bnQudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20t
YXR0YWNobWVudC50ZW50YXRpdmUuaHRtbApAQCAtMSw2ICsxLDYgQEAKIDwhRE9DVFlQRSBodG1s
PgogPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET00gRWxlbWVudCBBdHRhY2htZW50PC90aXRs
ZT4KLTxsaW5rIHJlbD0nYXV0aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzpt
YXNvbmZyZWVkQGNocm9taXVtLm9yZyc+Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFpbHRv
Om1hc29uZkBjaHJvbWl1bS5vcmcnPgogPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dp
dGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJh
dGl2ZS1zaGFkb3ctZG9tLWJhc2ljLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0
aXZlLXNoYWRvdy1kb20tYmFzaWMudGVudGF0aXZlLmh0bWwKaW5kZXggYTAzNzQzZTQ0ZmZkYTAw
ZDFkMzM0ZTU4ZDI3NWViOGJmNjFmZjJhOS4uMGI5OTM3NjZjMzU2ODNmNThjYzE4OTJiODhhMDlh
ZTNjYzY1OWU2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20t
YmFzaWMudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1k
b20tYmFzaWMudGVudGF0aXZlLmh0bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4K
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KIDx0aXRsZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NPC90
aXRsZT4KLTxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWFzb24gRnJlZWQiIGhyZWY9Im1haWx0
bzptYXNvbmZyZWVkQGNocm9taXVtLm9yZyI+Cis8bGluayByZWw9ImF1dGhvciIgaHJlZj0ibWFp
bHRvOm1hc29uZkBjaHJvbWl1bS5vcmciPgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNs
YXJhdGl2ZS1zaGFkb3ctZG9tLW9wdC1pbi50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNs
YXJhdGl2ZS1zaGFkb3ctZG9tLW9wdC1pbi50ZW50YXRpdmUuaHRtbAppbmRleCBhNDllNzU5ZWQ0
YTdjYzdmM2M2M2Y4ZTQ0NTJlZTU5MTUxNjlhZTViLi4yZWVjM2M1YTk0MTI5OWFlYWNhZDEzZTdk
N2FiODkwZGM2ZDlmZGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93
LWRvbS1vcHQtaW4udGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNo
YWRvdy1kb20tb3B0LWluLnRlbnRhdGl2ZS5odG1sCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBF
IGh0bWw+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiA8dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93
IERPTTwvdGl0bGU+Ci08bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hc29uIEZyZWVkIiBocmVm
PSJtYWlsdG86bWFzb25mcmVlZEBjaHJvbWl1bS5vcmciPgorPGxpbmsgcmVsPSJhdXRob3IiIGhy
ZWY9Im1haWx0bzptYXNvbmZAY2hyb21pdW0ub3JnIj4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSI+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRp
dmUvZGVjbGFyYXRpdmUtd2l0aC1kaXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS13aXRoLWRpc2FibGVkLXNoYWRvdy50ZW50YXRpdmUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiZDJmNGMyNTkyYzg2OWFkMTFiZDFjZGMwMGM1YjYy
YzM2ZTgyYzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtd2l0aC1k
aXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBEZWNsYXJhdGl2ZSBTaGFkb3cgRE9NOiBkZWNsYXJhdGl2ZSBzaGFkb3cgc2hvdWxkIGZh
aWwgaWYgYXR0YWNoU2hhZG93KCkgYWxyZWFkeSBjYWxsZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL2RlY2xhcmF0aXZlLXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xh
cmF0aXZlL2RlY2xhcmF0aXZlLXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmUwNzVhNGY4YTdkMTYzODIxNDIzOGJiNzhjODkzNDZjNDgyY2JjZGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtd2l0aC1kaXNhYmxlZC1zaGFkb3cu
dGVudGF0aXZlLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+
RGVjbGFyYXRpdmUgU2hhZG93IERPTSB3aXRoIHNoYWRvdyBkaXNhYmxlZDwvdGl0bGU+Cis8bGlu
ayByZWw9J2F1dGhvcicgaHJlZj0nbWFpbHRvOm1hc29uZkBjaHJvbWl1bS5vcmcnPgorPGxpbmsg
cmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMx
Jz4KKzxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KKwor
PGJvZHk+Cis8c2NyaXB0PgorY2xhc3MgU2hhZG93RGlzYWJsZWRFbGVtZW50IGV4dGVuZHMgSFRN
TEVsZW1lbnQgeworICBzdGF0aWMgZ2V0IGRpc2FibGVkRmVhdHVyZXMoKSB7CisgICAgcmV0dXJu
IFsnc2hhZG93J107CisgIH0KK30KK2N1c3RvbUVsZW1lbnRzLmRlZmluZSgnc2hhZG93LWRpc2Fi
bGVkJyxTaGFkb3dEaXNhYmxlZEVsZW1lbnQpOworPC9zY3JpcHQ+CisKKzxzaGFkb3ctZGlzYWJs
ZWQ+CisgIDx0ZW1wbGF0ZSBzaGFkb3dyb290PSJvcGVuIj48c3BhbiBpZD1pbnNpZGUvPjwvdGVt
cGxhdGU+Cis8L3NoYWRvdy1kaXNhYmxlZD4KKworPHNjcmlwdD4KK3Rlc3QodCA9PiB7CisgIGxl
dCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2hhZG93LWRpc2FibGVkJyk7Cisg
IGFzc2VydF90cnVlKGVsZW1lbnQgaW5zdGFuY2VvZiBTaGFkb3dEaXNhYmxlZEVsZW1lbnQpOwor
ICBsZXQgdGVtcGxhdGUgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJyk7CisgIGFz
c2VydF90cnVlKCEhdGVtcGxhdGUsICdEZWNsYXJhdGl2ZSBzaGFkb3cgYXR0YWNoIHNob3VsZCBm
YWlsLCBzaW5jZSBzaGFkb3ctZGlzYWJsZWQgaXMgdHJ1ZScpOworICBhc3NlcnRfdHJ1ZSghZWxl
bWVudC5zaGFkb3dSb290LCAnU2hhZG93IHJvb3Qgc2hvdWxkIG5vdCBiZSBwcmVzZW50IG9uIGN1
c3RvbSBlbGVtZW50Jyk7Cit9LCAnRGVjbGFyYXRpdmUgU2hhZG93IERPTTogZGVjbGFyYXRpdmUg
c2hhZG93IHNob3VsZCBmYWlsIGlmIGF0dGFjaFNoYWRvdygpIGFscmVhZHkgY2FsbGVkJyk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9nZXRpbm5lcmh0bWwudGVu
dGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZ2V0aW5uZXJodG1sLnRlbnRhdGl2ZS5odG1sCmluZGV4
IGJjZjU0NzFiNWU5ZTg3NDhjNDlmYmM4OTk3ODgyMDNlYWQ2ZmMxOWEuLjUyYTQ4NDc2MGQ5NTY3
NzZiM2UzNGQwMDUzZjc4ZjM0MWQzMWRjNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9nZXRpbm5l
cmh0bWwudGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2dldGlubmVyaHRtbC50ZW50YXRp
dmUuaHRtbApAQCAtMSw2ICsxLDYgQEAKIDwhRE9DVFlQRSBodG1sPgogPHRpdGxlPmdldElubmVy
SFRNTCA8L3RpdGxlPgotPGxpbmsgcmVsPSdhdXRob3InIHRpdGxlPSdNYXNvbiBGcmVlZCcgaHJl
Zj0nbWFpbHRvOm1hc29uZnJlZWRAY2hyb21pdW0ub3JnJz4KKzxsaW5rIHJlbD0nYXV0aG9yJyBo
cmVmPSdtYWlsdG86bWFzb25mQGNocm9taXVtLm9yZyc+CiA8bGluayByZWw9J2hlbHAnIGhyZWY9
J2h0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84MzEnPgogPHNjcmlwdCBzcmM9
Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Jy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL2lubmVyaHRtbC1iZWZvcmUtY2xvc2luZy10YWcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0
bWwtYmVmb3JlLWNsb3NpbmctdGFnLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDY1M2M0MTkxOGQxYTJhMzViZGQzZTczNmY0YzdhNmMzNmMxMzA0MzEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1iZWZv
cmUtY2xvc2luZy10YWcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET00gaW5uZXJIVE1MPC90aXRs
ZT4KLTxsaW5rIHJlbD0nYXV0aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzpt
YXNvbmZyZWVkQGNocm9taXVtLm9yZyc+Ci08bGluayByZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8v
Z2l0aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84MzEnPgotPHNjcmlwdCBzcmM9Jy9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0PgotCi08Ym9keT4KLTxzY3JpcHQ+Ci1mdW5jdGlv
biBteU9ic2VydmVyKG11dGF0aW9uc0xpc3QpIHsKLSAgZm9yIChsZXQgbXV0YXRpb24gb2YgbXV0
YXRpb25zTGlzdCkgewotICAgIGZvciAobGV0IG4gb2YgbXV0YXRpb24uYWRkZWROb2Rlcykgewot
ICAgICAgaWYgKG4uaWQgPT09ICdzaGFkb3cnKSB7Ci0gICAgICAgIG4uaW5uZXJIVE1MID0gIjxz
cGFuIGlkPXJlcGxhY2VkPlRoaXMgc2hvdWxkIGJlIGluICZsdDtkaXY+J3Mgc2hhZG93IHJvb3Q8
L3NwYW4+IjsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLX0KLXZhciBvYnNlcnZlciA9IG5ldyBNdXRh
dGlvbk9ic2VydmVyKG15T2JzZXJ2ZXIpOwotb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5
LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTsKLTwvc2NyaXB0PgotCi08ZGl2
IGlkPWhvc3Q+Ci0gIDx0ZW1wbGF0ZSBpZD1zaGFkb3cgc2hhZG93cm9vdD1vcGVuPgotICAgIDxz
cGFuIGlkPXRvcmVwbGFjZT5UaGlzIHNob3VsZCBnZXQgcmVtb3ZlZDwvc3Bhbj4KLSAgICA8c2Ny
aXB0Pjwvc2NyaXB0PiA8IS0tIEVuc3VyZSBvYnNlcnZlciBydW5zIC0tPgotICA8L3RlbXBsYXRl
PgotPC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KHQgPT4gewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0
aW9uKCkgeyBvYnNlcnZlci5kaXNjb25uZWN0KCk7IH0pOwotICBsZXQgaG9zdCA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJyNob3N0Jyk7Ci0gIGxldCB0ZW1wbGF0ZSA9IGhvc3QucXVlcnlTZWxl
Y3RvcigndGVtcGxhdGUnKTsKLSAgYXNzZXJ0X3RydWUoIXRlbXBsYXRlLCAnRGVjbGFyYXRpdmUg
c2hhZG93IHRlbXBsYXRlIHNob3VsZCBub3QgYmUgbGVmdCBvdmVyJyk7Ci0gIGxldCBzaGFkb3dy
b290ID0gaG9zdC5zaGFkb3dSb290OwotICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QsICdTaGFk
b3cgcm9vdCBzaG91bGQgYmUgcHJlc2VudCcpOwotICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3Qu
cXVlcnlTZWxlY3RvcignI3JlcGxhY2VkJyksJ1RoZSBpbm5lckhUTUwgcmVwbGFjZW1lbnQgY29u
dGVudCBzaG91bGQgYmUgcHJlc2VudCcpOwotICBhc3NlcnRfdHJ1ZSghc2hhZG93cm9vdC5xdWVy
eVNlbGVjdG9yKCcjdG9yZXBsYWNlJyksJ1RoZSBvbGQgcmVwbGFjZWQgY29udGVudCBzaG91bGQg
bm90IGJlIHByZXNlbnQnKTsKLX0sICdEZWNsYXJhdGl2ZSBTaGFkb3cgRE9NOiBpbm5lckhUTUwg
c2hvdWxkIHdvcmsgd2hpbGUgcGFyc2luZyBkZWNsYXJhdGl2ZSBzaGFkb3cgcm9vdCA8dGVtcGxh
dGU+Jyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0
bWwtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUv
aW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFiZDY3ZGJkNmY0MTk1MzVhZWZkNTdkYTkwNDQ1NTBlNjU2ZWY4NDQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRp
dmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIERlY2xhcmF0aXZlIFNoYWRv
dyBET006IGlubmVySFRNTCBzaG91bGQgd29yayB3aGlsZSBwYXJzaW5nIGRlY2xhcmF0aXZlIHNo
YWRvdyByb290IDx0ZW1wbGF0ZT4gYXNzZXJ0X3RydWU6IERlY2xhcmF0aXZlIHNoYWRvdyB0ZW1w
bGF0ZSBzaG91bGQgbm90IGJlIGxlZnQgb3ZlciBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRp
dmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjlhNjA2NzcwOTA2NmM0ZmRkNTMzNjk3NWM1MzUzNmE2NGIzZGVh
MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5n
LXRhZy50ZW50YXRpdmUuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0
aXRsZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NIGlubmVySFRNTDwvdGl0bGU+Cis8bGluayByZWw9
J2F1dGhvcicgaHJlZj0nbWFpbHRvOm1hc29uZkBjaHJvbWl1bS5vcmcnPgorPGxpbmsgcmVsPSdo
ZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KKzxz
Y3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KKworPGJvZHk+
Cis8c2NyaXB0PgorZnVuY3Rpb24gbXlPYnNlcnZlcihtdXRhdGlvbnNMaXN0KSB7CisgIGZvciAo
bGV0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHsKKyAgICBmb3IgKGxldCBuIG9mIG11dGF0
aW9uLmFkZGVkTm9kZXMpIHsKKyAgICAgIGlmIChuLmlkID09PSAnc2hhZG93JykgeworICAgICAg
ICBuLmlubmVySFRNTCA9ICI8c3BhbiBpZD1yZXBsYWNlZD5UaGlzIHNob3VsZCBiZSBpbiAmbHQ7
ZGl2PidzIHNoYWRvdyByb290PC9zcGFuPiI7CisgICAgICB9CisgICAgfQorICB9Cit9Cit2YXIg
b2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihteU9ic2VydmVyKTsKK29ic2VydmVyLm9i
c2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7
Cis8L3NjcmlwdD4KKworPGRpdiBpZD1ob3N0PgorICA8dGVtcGxhdGUgaWQ9c2hhZG93IHNoYWRv
d3Jvb3Q9b3Blbj4KKyAgICA8c3BhbiBpZD10b3JlcGxhY2U+VGhpcyBzaG91bGQgZ2V0IHJlbW92
ZWQ8L3NwYW4+CisgICAgPHNjcmlwdD48L3NjcmlwdD4gPCEtLSBFbnN1cmUgb2JzZXJ2ZXIgcnVu
cyAtLT4KKyAgPC90ZW1wbGF0ZT4KKzwvZGl2PgorCis8c2NyaXB0PgordGVzdCh0ID0+IHsKKyAg
dC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOyB9KTsKKyAg
bGV0IGhvc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaG9zdCcpOworICBsZXQgdGVtcGxh
dGUgPSBob3N0LnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJyk7CisgIGFzc2VydF90cnVlKCF0ZW1w
bGF0ZSwgJ0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgbm90IGJlIGxlZnQgb3Zl
cicpOworICBsZXQgc2hhZG93cm9vdCA9IGhvc3Quc2hhZG93Um9vdDsKKyAgYXNzZXJ0X3RydWUo
ISFzaGFkb3dyb290LCAnU2hhZG93IHJvb3Qgc2hvdWxkIGJlIHByZXNlbnQnKTsKKyAgYXNzZXJ0
X3RydWUoISFzaGFkb3dyb290LnF1ZXJ5U2VsZWN0b3IoJyNyZXBsYWNlZCcpLCdUaGUgaW5uZXJI
VE1MIHJlcGxhY2VtZW50IGNvbnRlbnQgc2hvdWxkIGJlIHByZXNlbnQnKTsKKyAgYXNzZXJ0X3Ry
dWUoIXNoYWRvd3Jvb3QucXVlcnlTZWxlY3RvcignI3RvcmVwbGFjZScpLCdUaGUgb2xkIHJlcGxh
Y2VkIGNvbnRlbnQgc2hvdWxkIG5vdCBiZSBwcmVzZW50Jyk7Cit9LCAnRGVjbGFyYXRpdmUgU2hh
ZG93IERPTTogaW5uZXJIVE1MIHNob3VsZCB3b3JrIHdoaWxlIHBhcnNpbmcgZGVjbGFyYXRpdmUg
c2hhZG93IHJvb3QgPHRlbXBsYXRlPicpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
ZGVjbGFyYXRpdmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRlbXBsYXRlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRp
dmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRlbXBsYXRlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDk4OGFjYzBhYzc5MWJkNjdhYWEwMGQ1ZTEyYWI1Y2MxODhkNDA1NDAuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lu
bmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDcg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93IERPTSBp
bm5lckhUTUw8L3RpdGxlPgotPGxpbmsgcmVsPSdhdXRob3InIHRpdGxlPSdNYXNvbiBGcmVlZCcg
aHJlZj0nbWFpbHRvOm1hc29uZnJlZWRAY2hyb21pdW0ub3JnJz4KLTxsaW5rIHJlbD0naGVscCcg
aHJlZj0naHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSc+Ci08c2NyaXB0
IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0n
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyc+PC9zY3JpcHQ+Ci0KLTxib2R5PgotPHNj
cmlwdD4KLWZ1bmN0aW9uIG15T2JzZXJ2ZXIobXV0YXRpb25zTGlzdCkgewotICBmb3IgKGxldCBt
dXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7Ci0gICAgZm9yIChsZXQgbiBvZiBtdXRhdGlvbi5h
ZGRlZE5vZGVzKSB7Ci0gICAgICBpZiAobi5pZCA9PT0gJ2hhcy1pbXBlcmF0aXZlLXJvb3QnKSB7
Ci0gICAgICAgIGNvbnN0IHNoYWRvd1Jvb3QgPSBuLmF0dGFjaFNoYWRvdygge21vZGU6ICdvcGVu
J30pOwotICAgICAgfQotICAgIH0KLSAgfQotfQotdmFyIG9ic2VydmVyID0gbmV3IE11dGF0aW9u
T2JzZXJ2ZXIobXlPYnNlcnZlcik7Ci1vYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHsg
Y2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pOwotPC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9
J2hhcy1pbXBlcmF0aXZlLXJvb3QnPgotICA8c2NyaXB0Pjwvc2NyaXB0PiA8IS0tIEVuc3VyZSBv
YnNlcnZlciBydW5zLCBhdHRhY2hlcyBpbXBlcmF0aXZlIHNoYWRvdyByb290IC0tPgotICA8dGVt
cGxhdGUgaWQ9b3JkaW5hcnl0ZW1wbGF0ZSBzaGFkb3dyb290PW9wZW4+Ci0gICAgPHNwYW4gaWQ9
dG9yZXBsYWNlPlRoaXMgc2hvdWxkIGdldCByZW1vdmVkPC9zcGFuPgotICA8L3RlbXBsYXRlPgot
ICA8c2NyaXB0PgotICAgIG9yZGluYXJ5dGVtcGxhdGUuaW5uZXJIVE1MID0gJzxzcGFuIGlkPXJl
cGxhY2VkPlRoaXMgc2hvdWxkIHJlcGxhY2UgdGVtcGxhdGUgY29udGVudHM8L3NwYW4+JzsKLSAg
PC9zY3JpcHQ+Ci08L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QodCA9PiB7Ci0gIHQuYWRkX2NsZWFu
dXAoZnVuY3Rpb24oKSB7IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsgfSk7Ci0gIGxldCBob3N0ID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2hhcy1pbXBlcmF0aXZlLXJvb3QnKTsKLSAgbGV0IHNo
YWRvd3Jvb3QgPSBob3N0LnNoYWRvd1Jvb3Q7Ci0gIGFzc2VydF90cnVlKCEhc2hhZG93cm9vdCwg
J1NoYWRvdyByb290IHNob3VsZCBiZSBwcmVzZW50Jyk7Ci0gIGFzc2VydF9mYWxzZShzaGFkb3dy
b290Lmhhc0NoaWxkTm9kZXMoKSwgJ1NoYWRvdyByb290IHNob3VsZCBub3QgY29udGFpbiBhbnkg
Y2hpbGRyZW4nKTsKLSAgbGV0IHRlbXBsYXRlID0gaG9zdC5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0
ZSNvcmRpbmFyeXRlbXBsYXRlJyk7Ci0gIGFzc2VydF90cnVlKCEhdGVtcGxhdGUsICdTaW5jZSBo
b3N0IGhhcyBpbXBlcmF0aXZlIHJvb3QsIDx0ZW1wbGF0ZT4gc2hvdWxkIGJlIGxlZnQgb3Zlcicp
OwotICBhc3NlcnRfZmFsc2UodGVtcGxhdGUuaGFzQ2hpbGROb2RlcygpLCd0ZW1wbGF0ZSBzaG91
bGQgbm90IGhhdmUgZGlyZWN0IGNoaWxkcmVuJyk7Ci0gIGFzc2VydF90cnVlKCEhdGVtcGxhdGUu
Y29udGVudC5xdWVyeVNlbGVjdG9yKCcjcmVwbGFjZWQnKSwnVGhlIGlubmVySFRNTCByZXBsYWNl
bWVudCBjb250ZW50IHNob3VsZCBiZSBwcmVzZW50Jyk7Ci0gIGFzc2VydF90cnVlKCF0ZW1wbGF0
ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3IoJyN0b3JlcGxhY2UnKSwnVGhlIG9sZCByZXBsYWNlZCBj
b250ZW50IHNob3VsZCBub3QgYmUgcHJlc2VudCcpOwotfSwgJ0RlY2xhcmF0aXZlIFNoYWRvdyBE
T006IGlubmVySFRNTCBzaG91bGQgd29yayBvbiA8dGVtcGxhdGUgc2hhZG93cm9vdD4gdGhhdCBp
cyBsZWZ0IG92ZXInKTsKLTwvc2NyaXB0PgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZl
L2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Rl
Y2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBhYzZlNzljMjhkYjAzZGJkZTkxYjZjNDZjZDkxYTM0MGIyMjk0
YWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRl
bXBsYXRlLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRGVj
bGFyYXRpdmUgU2hhZG93IERPTTogaW5uZXJIVE1MIHNob3VsZCB3b3JrIG9uIDx0ZW1wbGF0ZSBz
aGFkb3dyb290PiB0aGF0IGlzIGxlZnQgb3ZlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5u
ZXJodG1sLW9uLW9yZGluYXJ5LXRlbXBsYXRlLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lu
bmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ZDAxY2VkOGU4MWQ5NjQwMDQ3OWMxOWZjYzZjN2Q3MDJjN2NlMzE0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUuaHRt
bApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5EZWNsYXJhdGl2ZSBT
aGFkb3cgRE9NIGlubmVySFRNTDwvdGl0bGU+Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFp
bHRvOm1hc29uZkBjaHJvbWl1bS5vcmcnPgorPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczov
L2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KKzxzY3JpcHQgc3JjPScvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KKworPGJvZHk+Cis8c2NyaXB0PgorZnVuY3Rp
b24gbXlPYnNlcnZlcihtdXRhdGlvbnNMaXN0KSB7CisgIGZvciAobGV0IG11dGF0aW9uIG9mIG11
dGF0aW9uc0xpc3QpIHsKKyAgICBmb3IgKGxldCBuIG9mIG11dGF0aW9uLmFkZGVkTm9kZXMpIHsK
KyAgICAgIGlmIChuLmlkID09PSAnaGFzLWltcGVyYXRpdmUtcm9vdCcpIHsKKyAgICAgICAgY29u
c3Qgc2hhZG93Um9vdCA9IG4uYXR0YWNoU2hhZG93KCB7bW9kZTogJ29wZW4nfSk7CisgICAgICB9
CisgICAgfQorICB9Cit9Cit2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihteU9i
c2VydmVyKTsKK29ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRy
dWUsIHN1YnRyZWU6IHRydWUgfSk7Cis8L3NjcmlwdD4KKworPGRpdiBpZD0naGFzLWltcGVyYXRp
dmUtcm9vdCc+CisgIDxzY3JpcHQ+PC9zY3JpcHQ+IDwhLS0gRW5zdXJlIG9ic2VydmVyIHJ1bnMs
IGF0dGFjaGVzIGltcGVyYXRpdmUgc2hhZG93IHJvb3QgLS0+CisgIDx0ZW1wbGF0ZSBpZD1vcmRp
bmFyeXRlbXBsYXRlIHNoYWRvd3Jvb3Q9b3Blbj4KKyAgICA8c3BhbiBpZD10b3JlcGxhY2U+VGhp
cyBzaG91bGQgZ2V0IHJlbW92ZWQ8L3NwYW4+CisgIDwvdGVtcGxhdGU+CisgIDxzY3JpcHQ+Cisg
ICAgb3JkaW5hcnl0ZW1wbGF0ZS5pbm5lckhUTUwgPSAnPHNwYW4gaWQ9cmVwbGFjZWQ+VGhpcyBz
aG91bGQgcmVwbGFjZSB0ZW1wbGF0ZSBjb250ZW50czwvc3Bhbj4nOworICA8L3NjcmlwdD4KKzwv
ZGl2PgorCis8c2NyaXB0PgordGVzdCh0ID0+IHsKKyAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOyB9KTsKKyAgbGV0IGhvc3QgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCcjaGFzLWltcGVyYXRpdmUtcm9vdCcpOworICBsZXQgc2hhZG93cm9vdCA9IGhv
c3Quc2hhZG93Um9vdDsKKyAgYXNzZXJ0X3RydWUoISFzaGFkb3dyb290LCAnU2hhZG93IHJvb3Qg
c2hvdWxkIGJlIHByZXNlbnQnKTsKKyAgYXNzZXJ0X2ZhbHNlKHNoYWRvd3Jvb3QuaGFzQ2hpbGRO
b2RlcygpLCAnU2hhZG93IHJvb3Qgc2hvdWxkIG5vdCBjb250YWluIGFueSBjaGlsZHJlbicpOwor
ICBsZXQgdGVtcGxhdGUgPSBob3N0LnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlI29yZGluYXJ5dGVt
cGxhdGUnKTsKKyAgYXNzZXJ0X3RydWUoISF0ZW1wbGF0ZSwgJ1NpbmNlIGhvc3QgaGFzIGltcGVy
YXRpdmUgcm9vdCwgPHRlbXBsYXRlPiBzaG91bGQgYmUgbGVmdCBvdmVyJyk7CisgIGFzc2VydF9m
YWxzZSh0ZW1wbGF0ZS5oYXNDaGlsZE5vZGVzKCksJ3RlbXBsYXRlIHNob3VsZCBub3QgaGF2ZSBk
aXJlY3QgY2hpbGRyZW4nKTsKKyAgYXNzZXJ0X3RydWUoISF0ZW1wbGF0ZS5jb250ZW50LnF1ZXJ5
U2VsZWN0b3IoJyNyZXBsYWNlZCcpLCdUaGUgaW5uZXJIVE1MIHJlcGxhY2VtZW50IGNvbnRlbnQg
c2hvdWxkIGJlIHByZXNlbnQnKTsKKyAgYXNzZXJ0X3RydWUoIXRlbXBsYXRlLmNvbnRlbnQucXVl
cnlTZWxlY3RvcignI3RvcmVwbGFjZScpLCdUaGUgb2xkIHJlcGxhY2VkIGNvbnRlbnQgc2hvdWxk
IG5vdCBiZSBwcmVzZW50Jyk7Cit9LCAnRGVjbGFyYXRpdmUgU2hhZG93IERPTTogaW5uZXJIVE1M
IHNob3VsZCB3b3JrIG9uIDx0ZW1wbGF0ZSBzaGFkb3dyb290PiB0aGF0IGlzIGxlZnQgb3Zlcicp
OworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0
ZS1iZWZvcmUtY2xvc2luZy10YWcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9y
ZS1jbG9zaW5nLXRhZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGI3NWU3
NTRlYjQ1ZjM1YjNmYTMyOWVmYmIzMzRlNTk5N2M0NmQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1j
bG9zaW5nLXRhZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93IERPTTogbW92aW5nIHRoZSB0ZW1wbGF0
ZSBkb2Vzbid0IGNoYW5nZSBhdHRhY2htZW50IHBvaW50PC90aXRsZT4KLTxsaW5rIHJlbD0nYXV0
aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzptYXNvbmZyZWVkQGNocm9taXVt
Lm9yZyc+Ci08bGluayByZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cv
ZG9tL2lzc3Vlcy84MzEnPgotPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMn
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMn
Pjwvc2NyaXB0PgotCi08Ym9keT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBteU9ic2VydmVyKG11dGF0
aW9uc0xpc3QsIG9ic2VydmVyKSB7Ci0gIGZvciAobGV0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xp
c3QpIHsKLSAgICBmb3IgKGxldCBuIG9mIG11dGF0aW9uLmFkZGVkTm9kZXMpIHsKLSAgICAgIGlm
IChuLmNsYXNzTmFtZSA9PT0gJ3RlbXBsYXRlJyAmJiAhbi5hbHJlYWR5TW92ZWQpIHsKLSAgICAg
ICAgbi5hbHJlYWR5TW92ZWQgPSB0cnVlOwotICAgICAgICBsZXQgdGVzdFdyYXBwZXIgPSBuLnBh
cmVudEVsZW1lbnQucGFyZW50RWxlbWVudDsKLSAgICAgICAgbGV0IG5ld0hvc3QgPSB0ZXN0V3Jh
cHBlci5xdWVyeVNlbGVjdG9yKCdkaXYubmV3LWhvc3QnKTsKLSAgICAgICAgbmV3SG9zdC5hcHBl
bmRDaGlsZChuKTsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLX0KLShuZXcgTXV0YXRpb25PYnNlcnZl
cihteU9ic2VydmVyKSkub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGNoaWxkTGlzdDogdHJ1ZSwg
c3VidHJlZTogdHJ1ZSB9KTsKLQotZnVuY3Rpb24gcnVuVGVzdCh0ZXN0ZGl2KSB7Ci0gIGxldCBk
ZXNjcmlwdGlvbiA9IHRlc3RkaXYuZ2V0QXR0cmlidXRlKCdkZXNjcmlwdGlvbicpOwotICBsZXQg
c2hvdWxkQXR0YWNoID0gdGVzdGRpdi5nZXRBdHRyaWJ1dGUoJ3Nob3VsZGF0dGFjaCcpID09ICd0
cnVlJzsKLSAgdGVzdCh0ID0+IHsKLSAgICBsZXQgdGVtcGxhdGUgPSB0ZXN0ZGl2LnF1ZXJ5U2Vs
ZWN0b3IoJy50ZW1wbGF0ZScpOwotICAgIGxldCBvbGRIb3N0ID0gdGVzdGRpdi5xdWVyeVNlbGVj
dG9yKCcub2xkLWhvc3QnKTsKLSAgICBsZXQgbmV3SG9zdCA9IHRlc3RkaXYucXVlcnlTZWxlY3Rv
cignLm5ldy1ob3N0Jyk7Ci0gICAgbGV0IHNoYWRvd3Jvb3QgPSBvbGRIb3N0LnNoYWRvd1Jvb3Q7
Ci0gICAgaWYgKHNob3VsZEF0dGFjaCkgewotICAgICAgYXNzZXJ0X3RydWUoIXRlbXBsYXRlLCAn
RGVjbGFyYXRpdmUgc2hhZG93IHRlbXBsYXRlIHNob3VsZCBub3QgYmUgbGVmdCBvdmVyJyk7Ci0g
ICAgICBhc3NlcnRfdHJ1ZSghb2xkSG9zdC5jaGlsZHJlbi5sZW5ndGgsICdPbGQgaG9zdCBzaG91
bGQgbm90IGNvbnRhaW4gY2hpbGRyZW4nKTsKLSAgICAgIGFzc2VydF90cnVlKCFuZXdIb3N0LmNo
aWxkcmVuLmxlbmd0aCwgJ05ldyBob3N0IHNob3VsZCBub3QgY29udGFpbiBhbnkgY2hpbGRyZW4n
KTsKLSAgICAgIGFzc2VydF90cnVlKCEhc2hhZG93cm9vdCwgJ1NoYWRvdyByb290IHNob3VsZCBi
ZSBwcmVzZW50Jyk7Ci0gICAgICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QucXVlcnlTZWxlY3Rv
cignc3Bhbi5jb250ZW50cycpLCAnVGhlIHNoYWRvdyByb290IHNob3VsZCBjb250YWluIGEgc3Bh
bicpOwotICAgIH0gZWxzZSB7Ci0gICAgICBhc3NlcnRfdHJ1ZSghb2xkSG9zdC5jaGlsZHJlbi5s
ZW5ndGgsICdPbGQgaG9zdCBzaG91bGQgbm90IGNvbnRhaW4gY2hpbGRyZW4nKTsKLSAgICAgIGFz
c2VydF90cnVlKCEhbmV3SG9zdC5jaGlsZHJlbi5sZW5ndGgsICdOZXcgaG9zdCBzaG91bGQgbm93
IGNvbnRhaW4gdGhlIHRlbXBsYXRlJyk7Ci0gICAgICBhc3NlcnRfdHJ1ZSghc2hhZG93cm9vdCwg
J1NoYWRvdyByb290IHNob3VsZCBub3QgYmUgcHJlc2VudCcpOwotICAgICAgYXNzZXJ0X3RydWUo
ISF0ZW1wbGF0ZSwgJ0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgYmUgbGVmdCBv
dmVyJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHRlbXBsYXRlLCBuZXdIb3N0LnF1ZXJ5U2VsZWN0
b3IoJy50ZW1wbGF0ZScpLCAnRGVjbGFyYXRpdmUgc2hhZG93IHRlbXBsYXRlIHNob3VsZCBiZSBp
biB0aGUgbmV3IGhvc3QnKTsKLSAgICAgIGFzc2VydF90cnVlKCEhdGVtcGxhdGUuY29udGVudC5x
dWVyeVNlbGVjdG9yKCdzcGFuLmNvbnRlbnRzJyksICdUaGUgdGVtcGxhdGUgc2hvdWxkIHN0aWxs
IGNvbnRhaW4gaXRzIGNvbnRlbnQnKTsKLSAgICB9Ci0gIH0sIGRlc2NyaXB0aW9uKTsKLX0KLTwv
c2NyaXB0PgotCi08c3R5bGU+Ci0gIGRpdi50ZXN0IHsKLSAgICBkaXNwbGF5OiBub25lOwotICB9
Ci08L3N0eWxlPgotCi08ZGl2IGNsYXNzPXRlc3Qgc2hvdWxkYXR0YWNoPXRydWUgZGVzY3JpcHRp
b249Ik1vdmluZyB0aGUgdGVtcGxhdGUgbm9kZSBkdXJpbmcgcGFyc2luZyBzaG91bGQgYXR0YWNo
IHRvIGluaXRpYWwgcGFyZW50IChjb250ZW50IGJlZm9yZSBvYnNlcnZlcikiPgotICA8ZGl2IGNs
YXNzPW5ldy1ob3N0PjwvZGl2PgotICA8ZGl2IGNsYXNzPW9sZC1ob3N0PgotICAgIDx0ZW1wbGF0
ZSBjbGFzcz0ndGVtcGxhdGUnIHNoYWRvd3Jvb3Q9b3Blbj4KLSAgICAgIDxzcGFuIGNsYXNzPWNv
bnRlbnRzPlRlbXBsYXRlIGNvbnRlbnRzPC9zcGFuPgotICAgICAgPHNjcmlwdD48L3NjcmlwdD4g
PCEtLSBPYnNlcnZlciBydW5zIGhlcmUsIG1vdmVzIDx0ZW1wbGF0ZT4gbm9kZSAtLT4KLSAgICA8
L3RlbXBsYXRlPgotICA8L2Rpdj4KLTwvZGl2PgotCi08ZGl2IGNsYXNzPXRlc3Qgc2hvdWxkYXR0
YWNoPXRydWUgZGVzY3JpcHRpb249Ik1vdmluZyB0aGUgdGVtcGxhdGUgbm9kZSBkdXJpbmcgcGFy
c2luZyBzaG91bGQgYXR0YWNoIHRvIGluaXRpYWwgcGFyZW50IChjb250ZW50IGFmdGVyIG9ic2Vy
dmVyKSI+Ci0gIDxkaXYgY2xhc3M9bmV3LWhvc3Q+PC9kaXY+Ci0gIDxkaXYgY2xhc3M9b2xkLWhv
c3Q+Ci0gICAgPHRlbXBsYXRlIGNsYXNzPSd0ZW1wbGF0ZScgc2hhZG93cm9vdD1vcGVuPgotICAg
ICAgPHNjcmlwdD48L3NjcmlwdD4gPCEtLSBPYnNlcnZlciBydW5zIGhlcmUsIG1vdmVzIDx0ZW1w
bGF0ZT4gbm9kZSAtLT4KLSAgICAgIDxzcGFuIGNsYXNzPWNvbnRlbnRzPlRlbXBsYXRlIGNvbnRl
bnRzPC9zcGFuPgotICAgIDwvdGVtcGxhdGU+Ci0gIDwvZGl2PgotPC9kaXY+Ci0KLTxkaXYgY2xh
c3M9dGVzdCBzaG91bGRhdHRhY2g9ZmFsc2UgZGVzY3JpcHRpb249Ik1vdmluZyB0aGUgdGVtcGxh
dGUgbm9kZSBmcm9tIGludmFsaWQgcGFyZW50IHRvIHZhbGlkIHBhcmVudCBzaG91bGQgc3RpbGwg
bm90IGF0dGFjaCI+Ci0gIDxkaXYgY2xhc3M9bmV3LWhvc3Q+PC9kaXY+Ci0gIDx2aWRlbyBjbGFz
cz1vbGQtaG9zdD4KLSAgICA8dGVtcGxhdGUgY2xhc3M9J3RlbXBsYXRlJyBzaGFkb3dyb290PW9w
ZW4+Ci0gICAgICA8c3BhbiBjbGFzcz1jb250ZW50cz5UZW1wbGF0ZSBjb250ZW50czwvc3Bhbj4K
LSAgICAgIDxzY3JpcHQ+PC9zY3JpcHQ+IDwhLS0gT2JzZXJ2ZXIgcnVucyBoZXJlLCBtb3ZlcyA8
dGVtcGxhdGU+IG5vZGUgLS0+Ci0gICAgPC90ZW1wbGF0ZT4KLSAgPC92aWRlbz4KLTwvZGl2Pgot
Ci08c2NyaXB0PgotICBsZXQgdGVzdHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYu
dGVzdCcpOwotICBhc3NlcnRfdHJ1ZSh0ZXN0cy5sZW5ndGggPiAwKTsKLSAgdGVzdHMuZm9yRWFj
aCh0ID0+IHsgcnVuVGVzdCh0KTsgfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9k
ZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2RlY2xhcmF0aXZlL21vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcxMDg1NTdiODljYjhmZmEzYjJmMTc2
ZmM2MDc3OWZiYTU5ODc2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBs
YXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorCitGQUlMIE1vdmluZyB0aGUgdGVtcGxhdGUgbm9kZSBkdXJpbmcgcGFyc2luZyBzaG91
bGQgYXR0YWNoIHRvIGluaXRpYWwgcGFyZW50IChjb250ZW50IGJlZm9yZSBvYnNlcnZlcikgYXNz
ZXJ0X3RydWU6IERlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgbm90IGJlIGxlZnQg
b3ZlciBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBNb3ZpbmcgdGhlIHRlbXBsYXRlIG5v
ZGUgZHVyaW5nIHBhcnNpbmcgc2hvdWxkIGF0dGFjaCB0byBpbml0aWFsIHBhcmVudCAoY29udGVu
dCBhZnRlciBvYnNlcnZlcikgYXNzZXJ0X3RydWU6IERlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0
ZSBzaG91bGQgbm90IGJlIGxlZnQgb3ZlciBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBN
b3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUgZnJvbSBpbnZhbGlkIHBhcmVudCB0byB2YWxpZCBwYXJl
bnQgc2hvdWxkIHN0aWxsIG5vdCBhdHRhY2gKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL21vdmUt
dGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL21v
dmUtdGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ2ZTYwNDE0ODc0MDY2OGQyZjBhNTc5MWI4YWFlYzA1ZmM4YTA3NmQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZl
Lmh0bWwKQEAgLTAsMCArMSw5MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+RGVjbGFyYXRp
dmUgU2hhZG93IERPTTogbW92aW5nIHRoZSB0ZW1wbGF0ZSBkb2Vzbid0IGNoYW5nZSBhdHRhY2ht
ZW50IHBvaW50PC90aXRsZT4KKzxsaW5rIHJlbD0nYXV0aG9yJyBocmVmPSdtYWlsdG86bWFzb25m
QGNocm9taXVtLm9yZyc+Cis8bGluayByZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNv
bS93aGF0d2cvZG9tL2lzc3Vlcy84MzEnPgorPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMnPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMnPjwvc2NyaXB0PgorCis8Ym9keT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBteU9ic2Vy
dmVyKG11dGF0aW9uc0xpc3QsIG9ic2VydmVyKSB7CisgIGZvciAobGV0IG11dGF0aW9uIG9mIG11
dGF0aW9uc0xpc3QpIHsKKyAgICBmb3IgKGxldCBuIG9mIG11dGF0aW9uLmFkZGVkTm9kZXMpIHsK
KyAgICAgIGlmIChuLmNsYXNzTmFtZSA9PT0gJ3RlbXBsYXRlJyAmJiAhbi5hbHJlYWR5TW92ZWQp
IHsKKyAgICAgICAgbi5hbHJlYWR5TW92ZWQgPSB0cnVlOworICAgICAgICBsZXQgdGVzdFdyYXBw
ZXIgPSBuLnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudDsKKyAgICAgICAgbGV0IG5ld0hvc3Qg
PSB0ZXN0V3JhcHBlci5xdWVyeVNlbGVjdG9yKCdkaXYubmV3LWhvc3QnKTsKKyAgICAgICAgbmV3
SG9zdC5hcHBlbmRDaGlsZChuKTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKyhuZXcgTXV0YXRp
b25PYnNlcnZlcihteU9ic2VydmVyKSkub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGNoaWxkTGlz
dDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTsKKworZnVuY3Rpb24gcnVuVGVzdCh0ZXN0ZGl2KSB7
CisgIGxldCBkZXNjcmlwdGlvbiA9IHRlc3RkaXYuZ2V0QXR0cmlidXRlKCdkZXNjcmlwdGlvbicp
OworICBsZXQgc2hvdWxkQXR0YWNoID0gdGVzdGRpdi5nZXRBdHRyaWJ1dGUoJ3Nob3VsZGF0dGFj
aCcpID09ICd0cnVlJzsKKyAgdGVzdCh0ID0+IHsKKyAgICBsZXQgdGVtcGxhdGUgPSB0ZXN0ZGl2
LnF1ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0ZScpOworICAgIGxldCBvbGRIb3N0ID0gdGVzdGRpdi5x
dWVyeVNlbGVjdG9yKCcub2xkLWhvc3QnKTsKKyAgICBsZXQgbmV3SG9zdCA9IHRlc3RkaXYucXVl
cnlTZWxlY3RvcignLm5ldy1ob3N0Jyk7CisgICAgbGV0IHNoYWRvd3Jvb3QgPSBvbGRIb3N0LnNo
YWRvd1Jvb3Q7CisgICAgaWYgKHNob3VsZEF0dGFjaCkgeworICAgICAgYXNzZXJ0X3RydWUoIXRl
bXBsYXRlLCAnRGVjbGFyYXRpdmUgc2hhZG93IHRlbXBsYXRlIHNob3VsZCBub3QgYmUgbGVmdCBv
dmVyJyk7CisgICAgICBhc3NlcnRfdHJ1ZSghb2xkSG9zdC5jaGlsZHJlbi5sZW5ndGgsICdPbGQg
aG9zdCBzaG91bGQgbm90IGNvbnRhaW4gY2hpbGRyZW4nKTsKKyAgICAgIGFzc2VydF90cnVlKCFu
ZXdIb3N0LmNoaWxkcmVuLmxlbmd0aCwgJ05ldyBob3N0IHNob3VsZCBub3QgY29udGFpbiBhbnkg
Y2hpbGRyZW4nKTsKKyAgICAgIGFzc2VydF90cnVlKCEhc2hhZG93cm9vdCwgJ1NoYWRvdyByb290
IHNob3VsZCBiZSBwcmVzZW50Jyk7CisgICAgICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QucXVl
cnlTZWxlY3Rvcignc3Bhbi5jb250ZW50cycpLCAnVGhlIHNoYWRvdyByb290IHNob3VsZCBjb250
YWluIGEgc3BhbicpOworICAgIH0gZWxzZSB7CisgICAgICBhc3NlcnRfdHJ1ZSghb2xkSG9zdC5j
aGlsZHJlbi5sZW5ndGgsICdPbGQgaG9zdCBzaG91bGQgbm90IGNvbnRhaW4gY2hpbGRyZW4nKTsK
KyAgICAgIGFzc2VydF90cnVlKCEhbmV3SG9zdC5jaGlsZHJlbi5sZW5ndGgsICdOZXcgaG9zdCBz
aG91bGQgbm93IGNvbnRhaW4gdGhlIHRlbXBsYXRlJyk7CisgICAgICBhc3NlcnRfdHJ1ZSghc2hh
ZG93cm9vdCwgJ1NoYWRvdyByb290IHNob3VsZCBub3QgYmUgcHJlc2VudCcpOworICAgICAgYXNz
ZXJ0X3RydWUoISF0ZW1wbGF0ZSwgJ0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQg
YmUgbGVmdCBvdmVyJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHRlbXBsYXRlLCBuZXdIb3N0LnF1
ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0ZScpLCAnRGVjbGFyYXRpdmUgc2hhZG93IHRlbXBsYXRlIHNo
b3VsZCBiZSBpbiB0aGUgbmV3IGhvc3QnKTsKKyAgICAgIGFzc2VydF90cnVlKCEhdGVtcGxhdGUu
Y29udGVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmNvbnRlbnRzJyksICdUaGUgdGVtcGxhdGUgc2hv
dWxkIHN0aWxsIGNvbnRhaW4gaXRzIGNvbnRlbnQnKTsKKyAgICB9CisgIH0sIGRlc2NyaXB0aW9u
KTsKK30KKzwvc2NyaXB0PgorCis8c3R5bGU+CisgIGRpdi50ZXN0IHsKKyAgICBkaXNwbGF5OiBu
b25lOworICB9Cis8L3N0eWxlPgorCis8ZGl2IGNsYXNzPXRlc3Qgc2hvdWxkYXR0YWNoPXRydWUg
ZGVzY3JpcHRpb249Ik1vdmluZyB0aGUgdGVtcGxhdGUgbm9kZSBkdXJpbmcgcGFyc2luZyBzaG91
bGQgYXR0YWNoIHRvIGluaXRpYWwgcGFyZW50IChjb250ZW50IGJlZm9yZSBvYnNlcnZlcikiPgor
ICA8ZGl2IGNsYXNzPW5ldy1ob3N0PjwvZGl2PgorICA8ZGl2IGNsYXNzPW9sZC1ob3N0PgorICAg
IDx0ZW1wbGF0ZSBjbGFzcz0ndGVtcGxhdGUnIHNoYWRvd3Jvb3Q9b3Blbj4KKyAgICAgIDxzcGFu
IGNsYXNzPWNvbnRlbnRzPlRlbXBsYXRlIGNvbnRlbnRzPC9zcGFuPgorICAgICAgPHNjcmlwdD48
L3NjcmlwdD4gPCEtLSBPYnNlcnZlciBydW5zIGhlcmUsIG1vdmVzIDx0ZW1wbGF0ZT4gbm9kZSAt
LT4KKyAgICA8L3RlbXBsYXRlPgorICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPXRlc3Qg
c2hvdWxkYXR0YWNoPXRydWUgZGVzY3JpcHRpb249Ik1vdmluZyB0aGUgdGVtcGxhdGUgbm9kZSBk
dXJpbmcgcGFyc2luZyBzaG91bGQgYXR0YWNoIHRvIGluaXRpYWwgcGFyZW50IChjb250ZW50IGFm
dGVyIG9ic2VydmVyKSI+CisgIDxkaXYgY2xhc3M9bmV3LWhvc3Q+PC9kaXY+CisgIDxkaXYgY2xh
c3M9b2xkLWhvc3Q+CisgICAgPHRlbXBsYXRlIGNsYXNzPSd0ZW1wbGF0ZScgc2hhZG93cm9vdD1v
cGVuPgorICAgICAgPHNjcmlwdD48L3NjcmlwdD4gPCEtLSBPYnNlcnZlciBydW5zIGhlcmUsIG1v
dmVzIDx0ZW1wbGF0ZT4gbm9kZSAtLT4KKyAgICAgIDxzcGFuIGNsYXNzPWNvbnRlbnRzPlRlbXBs
YXRlIGNvbnRlbnRzPC9zcGFuPgorICAgIDwvdGVtcGxhdGU+CisgIDwvZGl2PgorPC9kaXY+CisK
KzxkaXYgY2xhc3M9dGVzdCBzaG91bGRhdHRhY2g9ZmFsc2UgZGVzY3JpcHRpb249Ik1vdmluZyB0
aGUgdGVtcGxhdGUgbm9kZSBmcm9tIGludmFsaWQgcGFyZW50IHRvIHZhbGlkIHBhcmVudCBzaG91
bGQgc3RpbGwgbm90IGF0dGFjaCI+CisgIDxkaXYgY2xhc3M9bmV3LWhvc3Q+PC9kaXY+CisgIDx2
aWRlbyBjbGFzcz1vbGQtaG9zdD4KKyAgICA8dGVtcGxhdGUgY2xhc3M9J3RlbXBsYXRlJyBzaGFk
b3dyb290PW9wZW4+CisgICAgICA8c3BhbiBjbGFzcz1jb250ZW50cz5UZW1wbGF0ZSBjb250ZW50
czwvc3Bhbj4KKyAgICAgIDxzY3JpcHQ+PC9zY3JpcHQ+IDwhLS0gT2JzZXJ2ZXIgcnVucyBoZXJl
LCBtb3ZlcyA8dGVtcGxhdGU+IG5vZGUgLS0+CisgICAgPC90ZW1wbGF0ZT4KKyAgPC92aWRlbz4K
KzwvZGl2PgorCis8c2NyaXB0PgorICBsZXQgdGVzdHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCdkaXYudGVzdCcpOworICBhc3NlcnRfdHJ1ZSh0ZXN0cy5sZW5ndGggPiAwKTsKKyAgdGVz
dHMuZm9yRWFjaCh0ID0+IHsgcnVuVGVzdCh0KTsgfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kZWNsYXJhdGl2ZS9zY3JpcHQtYWNjZXNzLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL3NjcmlwdC1hY2Nlc3MudGVudGF0aXZlLmh0bWwKaW5kZXggYjg3YmI3YWIzMDhiM2JlYzFm
ZjgxY2Y0ZjQ1ZGE1ODJkMWRiNzc4YS4uNjZkNGI5NDhjYmJhZWM3NThlNzBmNzAxNjA2MzBlY2Y5
YWEwOGUzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL3NjcmlwdC1hY2Nlc3MudGVudGF0aXZlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2RlY2xhcmF0aXZlL3NjcmlwdC1hY2Nlc3MudGVudGF0aXZlLmh0bWwKQEAgLTEsNiAr
MSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDx0aXRsZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NPC90
aXRsZT4KLTxsaW5rIHJlbD0nYXV0aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0
bzptYXNvbmZyZWVkQGNocm9taXVtLm9yZyc+Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFp
bHRvOm1hc29uZkBjaHJvbWl1bS5vcmcnPgogPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczov
L2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KIDxzY3JpcHQgc3JjPScvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9kZWNsYXJhdGl2ZS93M2MtaW1wb3J0LmxvZwppbmRleCA5M2U0ZjIyZGYzYzA1
YmUwYmUwNDQyY2I4NGE3MjY4Y2UyODc1YWQzLi4yN2IxZmE3MTUxYTc3NGM0YTJkYThjMjc4MzA1
YjhhMWZhMWQ0ZDAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvdzNjLWltcG9ydC5sb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Rl
Y2xhcmF0aXZlL3czYy1pbXBvcnQubG9nCkBAIC0xOCw4ICsxOCw5IEBAIExpc3Qgb2YgZmlsZXM6
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tYXR0YWNobWVudC50ZW50YXRpdmUu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWJhc2ljLnRlbnRhdGl2ZS5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tb3B0LWluLnRlbnRhdGl2ZS5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2
ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2RlY2xhcmF0aXZlL2dldGlubmVyaHRtbC50ZW50YXRpdmUuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2
ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1s
LW9uLW9yZGluYXJ5LXRlbXBsYXRlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0ZS1iZWZv
cmUtY2xvc2luZy10YWcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3Npbmct
dGFnLnRlbnRhdGl2ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1w
bGF0ZS50ZW50YXRpdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9z
aW5nLXRhZy50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9zY3JpcHQtYWNjZXNzLnRlbnRhdGl2
ZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jhc2guaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVu
dC1vbi1wc2V1ZG8tZWxlbWVudC1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwM2Y1MWE2NGY0Mzll
NzcyZmY1NjcwMmRjMTMyZjhjZDhjNzkzOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNl
dWRvLWVsZW1lbnQtY3Jhc2guaHRtbApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJtYWlsdG86
bWFzb25mQGNocm9taXVtLm9yZyI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vY3Ji
dWcuY29tLzExODAyODYiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJUaGUgcmVuZGVy
ZXIgc2hvdWxkIG5vdCBjcmFzaC4iPgorCis8c3Bhbj5UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBy
ZW5kZXJlciBkb2VzIG5vdCBjcmFzaC48L3NwYW4+CisKKzxkaXY+CisgIDxvcHRpb24+PC9vcHRp
b24+Cis8L2Rpdj4KKworPHN0eWxlPgorICBkaXYgeworICAgIGRpcmVjdGlvbjogcnRsOworICAg
IHpvb206IDAuMDE7CisgIH0KKyAgb3B0aW9uIHsKKyAgICB6b29tOiA1OworICB9CisgIG9wdGlv
bjo6YmVmb3JlIHsKKyAgICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uOworICAgIG92ZXJmbG93OiBz
Y3JvbGw7CisgICAgY29udGVudDogb3Blbi1xdW90ZTsKKyAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7
CisgICAgLXdlYmtpdC1jb2x1bW4td2lkdGg6IDFweDsKKyAgfQorPC9zdHlsZT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRlc0ZvY3VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9TaGFk
b3dSb290LWRlbGVnYXRlc0ZvY3VzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MThmOTE5YWQy
MGJiMzM1NmE1NGYyYTY0MWYyZTUyZDUwZDI5YjE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL1No
YWRvd1Jvb3QtZGVsZWdhdGVzRm9jdXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitG
QUlMIGRlZmF1bHQgZGVsZWdhdGVzRm9jdXMgdmFsdWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
KGJvb2xlYW4pIGZhbHNlIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIGRlbGVn
YXRlc0ZvY3VzIHNldCB0byBmYWxzZSBpbiBpbml0IGRpY3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgKGJvb2xlYW4pIGZhbHNlIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIGRl
bGVnYXRlc0ZvY3VzIHNldCB0byB0cnVlIGluIGluaXQgZGljdCBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAoYm9vbGVhbikgdHJ1ZSBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZm9jdXMvU2hhZG93Um9vdC1kZWxlZ2F0ZXNGb2N1cy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL1NoYWRvd1Jv
b3QtZGVsZWdhdGVzRm9jdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjdmZTRlNTBlNzJiOTRiNjkwZjhh
NmU0NDg5MmE2NmExN2ZhNDA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL1NoYWRvd1Jvb3QtZGVs
ZWdhdGVzRm9jdXMuaHRtbApAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5TaGFkb3dSb290J3MgIGRlbGVnYXRlc0ZvY3VzIGF0
dHJpYnV0ZTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJob3N0MSI+PC9kaXY+Cis8ZGl2IGlkPSJob3N0MiI+PC9kaXY+
Cis8ZGl2IGlkPSJob3N0MyI+PC9kaXY+Cis8c2NyaXB0PgordGVzdCh0ID0+IHsKKyAgY29uc3Qg
aG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0MSIpOworICBjb25zdCBzaGFkb3dS
b290ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6ICJjbG9zZWQifSk7CisgIGFzc2VydF9lcXVh
bHMoc2hhZG93Um9vdC5kZWxlZ2F0ZXNGb2N1cywgZmFsc2UpOworfSwgImRlZmF1bHQgZGVsZWdh
dGVzRm9jdXMgdmFsdWUiKTsKKwordGVzdCh0ID0+IHsKKyAgY29uc3QgaG9zdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJob3N0MiIpOworICBjb25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRh
Y2hTaGFkb3coe21vZGU6ICJjbG9zZWQiLCBkZWxlZ2F0ZXNGb2N1czogZmFsc2V9KTsKKyAgYXNz
ZXJ0X2VxdWFscyhzaGFkb3dSb290LmRlbGVnYXRlc0ZvY3VzLCBmYWxzZSk7Cit9LCAiZGVsZWdh
dGVzRm9jdXMgc2V0IHRvIGZhbHNlIGluIGluaXQgZGljdCIpOworCit0ZXN0KHQgPT4geworICBj
b25zdCBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QzIik7CisgIGNvbnN0IHNo
YWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogImNsb3NlZCIsIGRlbGVnYXRlc0Zv
Y3VzOiB0cnVlfSk7CisgIGFzc2VydF9lcXVhbHMoc2hhZG93Um9vdC5kZWxlZ2F0ZXNGb2N1cywg
dHJ1ZSk7Cit9LCAiZGVsZWdhdGVzRm9jdXMgc2V0IHRvIHRydWUgaW4gaW5pdCBkaWN0Iik7Cis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2ZvY3VzL2ZvY3VzLXNlbGVjdG9yLWRlbGVnYXRlc0ZvY3VzLmh0bWwKaW5kZXggMzcwMmY4
ZTJiYTYzMjI4Y2JhNWM0ODNhNzZmMmI3NzM3MmU2OGM0ZC4uYjhjYWM5MjU2NDc0ODc1MmY3Y2Zl
MmMwYmRmZjRkZmViY2I5MDRmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXNlbGVjdG9yLWRlbGVn
YXRlc0ZvY3VzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXNlbGVjdG9yLWRlbGVnYXRlc0ZvY3VzLmh0
bWwKQEAgLTcsOCArNyw2IEBACiAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1s
LnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLW90aGVyLmh0bWwjc2VsZWN0b3It
Zm9jdXMiIC8+CiAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3Njcmlw
dD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2Ny
aXB0PgogICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy11dGlscy5qcyI+PC9zY3JpcHQ+
CiA8L2hlYWQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy93M2MtaW1w
b3J0LmxvZwppbmRleCBhYjI5M2ExOTEzZGM3NmZhNmU2NzVlZjkzYTY0NjJmMjdiNzcxNzFhLi4z
MWU4YTg1NzRhMGU3NmQ1NWVjYmJkMzZmYTJiNWEyNWNlZWNjNGQyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL3czYy1pbXBvcnQubG9nCkBAIC0xNSw2ICsxNSw3IEBA
IE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvRG9jdW1lbnRPclNo
YWRvd1Jvb3QtYWN0aXZlRWxlbWVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL1NoYWRvd1Jvb3QtZGVsZWdhdGVzRm9j
dXMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9mb2N1cy9jbGljay1mb2N1cy1kZWxlZ2F0ZXNGb2N1cy1jbGljay1tZXRob2QuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9jbGljay1mb2N1cy1kZWxlZ2F0ZXNGb2N1cy10YWJpbmRleC12YXJpZXMuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9m
b2N1cy9jbGljay1mb2N1cy1kZWxlZ2F0ZXNGb2N1cy10YWJpbmRleC16ZXJvLmh0bWwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNs
b3QtYXBpLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjEyNGEyODlkNjFmMWI0ODhm
ZGQ3YTczNGM1ZWI2MWMzYmFlZDE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1h
cGktY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0NPTlNPTEUgTUVTU0FHRTog
VHlwZUVycm9yOiBzbG90MS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc2xvdDEuYXNz
aWduKFtjaGlsZDFdKScsICdzbG90MS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDM0CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MTgKKyAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDAKKyAgICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MAorICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMjI2eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjI2
OiAiVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4iCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xv
dC1hcGktY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2E0NDQ3NzhlMzEzYWFhYjczZDJiYTU5MjViMzVlMjAxY2UxMTBhMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8bGluayByZWw9ImF1dGhvciIgaHJlZj0ibWFpbHRvOm1hc29uZkBjaHJv
bWl1bS5vcmciPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRtbCNkb20tc2xvdC1hc3NpZ24iPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL2NyYnVnLmNvbS8xMjAxNDAyIj4KKworPGRpdiBpZD0i
aG9zdCI+CisgIDxkaXYgaWQ9ImNoaWxkMSI+PC9kaXY+Cis8L2Rpdj4KK1RoaXMgdGVzdCBwYXNz
ZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCis8c2NyaXB0PgorICBjb25zdCBob3N0ID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvcigiI2hvc3QiKTsKKyAgY29uc3QgY2hpbGQxID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcigiI2NoaWxkMSIpOworICBjb25zdCBzaGFkb3dfcm9vdCA9IGhvc3QuYXR0YWNo
U2hhZG93KHsgbW9kZTogIm9wZW4iLCBzbG90QXNzaWdubWVudDogIm1hbnVhbCIgfSk7CisgIHZh
ciBzbG90MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNsb3QiKTsKKyAgc2xvdDEuaWQgPSAi
Zmlyc3Rfc2xvdCI7CisgIHNoYWRvd19yb290LmFwcGVuZENoaWxkKHNsb3QxKTsKKyAgc2xvdDEu
YXNzaWduKFtjaGlsZDFdKTsKKyAgc2xvdDEucmVtb3ZlKCk7CisgIHNsb3QxID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic2xvdCIpOworICBzbG90MS5pZCA9ICJzZWNvbmRfc2xvdCI7CisgIHNo
YWRvd19yb290LmFwcGVuZENoaWxkKHNsb3QxKTsKKyAgc2xvdDEuYXNzaWduKFtjaGlsZDFdKTsg
Ly8gU2hvdWxkbid0IGNyYXNoIGhlcmUKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUt
c2xvdC1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNmOWVmNmYxZTNmMGNjN2Q2YzMyZThmMDdkMTBiMjk0ODhmN2QyOWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorCitGQUlMIGF0dGFjaFNoYWRvdyBjYW4gdGFrZSBzbG90QXNzaWdubWVudCBwYXJhbWV0
ZXIuIGFzc2VydF90aHJvd3NfanM6IG90aGVycyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uIGZ1bmN0
aW9uICIoKSA9PiB7CisgICAgdFRyZWUuaG9zdDMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4n
LCBzbG90QXNzaWdubWVudDogJ2V4Y2VwdGlvbmFsJyB9KX0iIGRpZCBub3QgdGhyb3cKK0ZBSUwg
SW1wZXJhdGl2ZSBzbG90IEFQSSBjYW4gYXNzaWduIG5vZGVzIGluIG1hbnVhbCBzbG90IGFzc2ln
bm1lbnQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUg
PHNsb3QgaWQ9InMxIj48L3Nsb3Q+CitGQUlMIE9yZGVyIG9mIHNsb3R0YWJsZXMgaXMgcHJlc2Vy
dmVkIGluIG1hbnVhbCBzbG90IGFzc2lnbm1lbnQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUu
YzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgUHJldmlvdXNseSBh
c3NpZ25lZCBzbG90dGFibGUgaXMgbW92ZWQgdG8gbmV3IHNsb3Qgd2hlbiBpdCdzIHJlYXNzaWdu
ZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3Np
Z24oW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgT3JkZXIgYW5kIGFzc2lnbm1lbnQgb2Ygbm9kZXMgYXJlIHByZXNl
cnZlZCBkdXJpbmcgbXVsdGlwbGUgYXNzaWdubWVudCBpbiBhIHJvdy4gdFRyZWUuczEuYXNzaWdu
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0
VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQXNzaWduaW5nIGludmFsaWQgbm9k
ZXMgc2hvdWxkIGJlIGFsbG93ZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jNCwgdFRyZWUuYzJdKScsICd0
VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgTW92aW5nIGEgc2xvdCB0byBhIG5l
dyBob3N0LCB0aGUgc2xvdCBsb3NlcyBpdHMgcHJldmlvdXNseSBhc3NpZ25lZCBzbG90dGFibGVz
LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWdu
KFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1
bmRlZmluZWQpCitGQUlMIE1vdmluZyBhIHNsb3QncyB0cmVlIG9yZGVyIHBvc2l0aW9uIHdpdGhp
biBhIHNoYWRvdyBob3N0IGhhcyBubyBpbXBhY3Qgb24gaXRzIGFzc2lnbmVkIHNsb3R0YWJsZXMu
IHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24o
W3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgQXBwZW5kaW5nIHNsb3R0YWJsZSB0byBkaWZmZXJlbnQgaG9zdCwgaXQg
bG9zZXMgc2xvdCBhc3NpZ25tZW50LiBJdCBjYW4gYmUgcmUtYXNzaWduZWQgd2l0aGluIGEgbmV3
IGhvc3QuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5h
c3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24n
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgUHJldmlvdXNseSBhc3NpZ25lZCBub2RlIHNob3VsZCBub3Qg
YmUgYXNzaWduZWQgaWYgc2xvdCBtb3ZlZCB0byBhIG5ldyBzaGFkb3cgcm9vdC4gVGhlIHNsb3Qg
cmVtYWlucyBlbXB0eSB3aGVuIG1vdmVkIGJhY2ssIHRyaWdnZXIgcmVjYWxjLiB0VHJlZS5zMS5h
c3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0p
JywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBBc3NpZ25tZW50IHdpdGgg
dGhlIHNhbWUgbm9kZSBpbiBwYXJhbWV0ZXJzIHNob3VsZCBiZSBpZ25vcmVkLCBmaXJzdCBvbmUg
d2lucy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFz
c2lnbihbdFRyZWUuYzEsIHRUcmVlLmMxLCB0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicg
aXMgdW5kZWZpbmVkKQorRkFJTCBSZW1vdmluZyBhIHNsb3QgZnJvbSBET00gcmVzZXRzIGl0cyBz
bG90dGFibGUncyBzbG90IGFzc2lnbm1lbnQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNd
KScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgTm9kZXMgY2FuIGJlIGFz
c2lnbmVkIGV2ZW4gaWYgc2xvdHMgb3Igbm9kZXMgYXJlbid0IGluIHRoZSBzYW1lIHRyZWUuIHRU
cmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RU
cmVlLmMxLCB0VHJlZS5jMl0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJ
TCBSZW1vdmluZyBhIG5vZGUgZnJvbSB0aGUgZG9jdW1lbnQgZG9lcyBub3QgYnJlYWsgbWFudWFs
bHkgYXNzaWduZWQgc2xvdCBsaW5rYWdlLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKScsICd0VHJlZS5z
MS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGkt
c2xvdGNoYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1zbG90Y2hhbmdlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MmJkMTBiZDJjOWZmZWRmZDhiMmFiNmJhM2MyYTY0NjMz
Y2M4N2ZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5nZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorCitGQUlMIHNsb3RjaGFuZ2UgZXZlbnQgbXVz
dCBub3QgZmlyZSBzeW5jaHJvbm91c2x5LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicg
aXMgdW5kZWZpbmVkKQorRkFJTCBzbG90Y2hhbmdlIGV2ZW50IHNob3VsZCBub3QgZmlyZSB3aGVu
IGFzc2lnbm1lbnRzIGRvIG5vdCBjaGFuZ2UgYXNzaWduZWROb2Rlcy4gdFRyZWUuczEuYXNzaWdu
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbXSknLCAndFRyZWUuczEu
YXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIHNsb3RjaGFuZ2UgZXZlbnQgc2hvdWxkIG5vdCBm
aXJlIHdoZW4gc2FtZSBub2RlIGlzIGFzc2lnbmVkLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKScsICd0
VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRmlyZSBzbG90Y2hhbmdlIGV2ZW50
IHdoZW4gc2xvdCdzIGFzc2lnbmVkIG5vZGVzIGNoYW5nZXMuIHRUcmVlLnMxLmFzc2lnbiBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUu
czEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCBvbiBw
cmV2aW91cyBzbG90IGFuZCBuZXcgc2xvdCB3aGVuIG5vZGUgaXMgcmVhc3NpZ25lZC4gdFRyZWUu
czEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUu
YzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRmlyZSBzbG90Y2hh
bmdlIGV2ZW50IG9uIG5vZGUgYXNzaWdubWVudCBhbmQgd2hlbiBhc3NpZ25lZCBub2RlIGlzIHJl
bW92ZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5h
c3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlM
IEZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIG9yZGVyIG9mIGFzc2lnbmVkIG5vZGVzIGNoYW5n
ZXMuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3Np
Z24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVk
KQorRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhc3NpZ25lZCBub2RlIGlzIHJlbW92
ZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3Np
Z24oW3RUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIEZp
cmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIHJlbW92aW5nIGEgc2xvdCBmcm9tIFNoYWRvd3MgUm9v
dCB0aGF0IGNoYW5nZXMgaXRzIGFzc2lnbmVkIG5vZGVzLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMx
LmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBObyBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYWRk
aW5nIG9yIHJlbW92aW5nIGFuIGVtcHR5IHNsb3QuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAg
YnV0IGdvdCAxCitGQUlMIE5vIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhZGRpbmcgYW5vdGhlciBz
bG90YWJsZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEKK0ZBSUwgRmlyZSBz
bG90Y2hhbmdlIGV2ZW50IHdoZW4gYXNzaWduIG5vZGUgdG8gbmVzdGVkIHNsb3QsIGVuc3VyZSBl
dmVudCBidWJibGVzIHVwcy4gdFRyZWUuczMuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RUcmVlLnMzLmFzc2lnbihbdFRyZWUuczFdKScsICd0VHJlZS5zMy5hc3NpZ24nIGlzIHVuZGVm
aW5lZCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5nZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2lt
cGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5nZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkOWViYmQzZjg0
OWIzMjYyYTAxMTM5ZDZhY2ZiYmZjNmFkZTg3YTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2
ZS1zbG90LWFwaS1zbG90Y2hhbmdlLmh0bWwKQEAgLTAsMCArMSwzNTggQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHRpdGxlPlNoYWRvdyBET006IEltcGVyYXRpdmUgU2xvdCBBUEkgc2xvdGNoYW5nZSBl
dmVudDwvdGl0bGU+Cis8bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJZdSBIYW4iIGhyZWY9Im1h
aWx0bzp5dXpoZWhhbkBjaHJvbWl1bS5vcmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2Rv
bS5zcGVjLndoYXR3Zy5vcmcvI3NpZ25hbGluZy1zbG90LWNoYW5nZSI+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3NoYWRvdy1kb20uanMiPjwvc2NyaXB0PgorCis8ZGl2IGlkPSJ0ZXN0X3Nsb3Rj
aGFuZ2UiPgorICA8ZGl2IGlkPSJob3N0Ij4KKyAgICA8dGVtcGxhdGUgaWQ9InNoYWRvd19yb290
IiBkYXRhLW1vZGU9Im9wZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJtYW51YWwiPgorICAgICAg
PHNsb3QgaWQ9InMxIj48ZGl2IGlkPSJmYiI+ZmFsbGJhY2s8L2Rpdj48L3Nsb3Q+CisgICAgICA8
c2xvdCBpZD0iczIiPjwvc2xvdD4KKyAgICAgIDxzbG90IGlkPSJzMyI+PC9zbG90PgorICAgIDwv
dGVtcGxhdGU+CisgICAgPGRpdiBpZD0iYzEiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImMyIj48L2Rp
dj4KKyAgPC9kaXY+CisgIDxkaXYgaWQ9ImM0Ij48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0Pgor
ZnVuY3Rpb24gZ2V0RGF0YUNvbGxlY3Rpb24oKSB7CisgIHJldHVybiB7CisgICAgczFFdmVudENv
dW50OiAwLAorICAgIHMyRXZlbnRDb3VudDogMCwKKyAgICBzM0V2ZW50Q291bnQ6IDAsCisgICAg
czFSZXNvbHZlRm46IG51bGwsCisgICAgczJSZXNvbHZlRm46IG51bGwsCisgICAgczNSZXNvbHZl
Rm46IG51bGwsCisgIH0KK30KKworZnVuY3Rpb24gc2V0dXBTaGFkb3dET00oaWQsIHRlc3QsIGRh
dGEpIHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUoaWQpOworICB0VHJlZS5zMS5hZGRF
dmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgKGV2ZW50KSA9PiB7CisgICAgaWYgKCFldmVudC5p
c0Zha2VFdmVudCkgeworICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGV2ZW50LnR5cGUsICdzbG90Y2hhbmdlJywgJ3Nsb3RjaGFuZ2UgZXZlbnRc
J3MgdHlwZSBtdXN0IGJlICJzbG90Y2hhbmdlIicpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMo
ZXZlbnQudGFyZ2V0LCB0VHJlZS5zMSwgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdGFyZ2V0IG11c3Qg
YmUgdGhlIHNsb3QgZWxlbWVudCcpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQucmVs
YXRlZFRhcmdldCwgdW5kZWZpbmVkLCAnc2xvdGNoYW5nZSBtdXN0IG5vdCBzZXQgcmVsYXRlZFRh
cmdldCcpOworICAgICAgfSk7CisgICAgICBkYXRhLnMxRXZlbnRDb3VudCsrOworICAgIH0KKyAg
ICBkYXRhLnMxUmVzb2x2ZUZuKCk7CisgIH0pOworICB0VHJlZS5zMi5hZGRFdmVudExpc3RlbmVy
KCdzbG90Y2hhbmdlJywgKGV2ZW50KSA9PiB7CisgICAgaWYgKCFldmVudC5pc0Zha2VFdmVudCkg
eworICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGV2ZW50LnR5cGUsICdzbG90Y2hhbmdlJywgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdHlwZSBtdXN0
IGJlICJzbG90Y2hhbmdlIicpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudGFyZ2V0
LCB0VHJlZS5zMiwgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdGFyZ2V0IG11c3QgYmUgdGhlIHNsb3Qg
ZWxlbWVudCcpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQucmVsYXRlZFRhcmdldCwg
dW5kZWZpbmVkLCAnc2xvdGNoYW5nZSBtdXN0IG5vdCBzZXQgcmVsYXRlZFRhcmdldCcpOworICAg
ICAgfSk7CisgICAgICBkYXRhLnMyRXZlbnRDb3VudCsrOworICAgIH0KKyAgICBkYXRhLnMyUmVz
b2x2ZUZuKCk7CisgIH0pOworICB0VHJlZS5zMy5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdl
JywgKGV2ZW50KSA9PiB7CisgICAgaWYgKCFldmVudC5pc0Zha2VFdmVudCkgeworICAgICAgdGVz
dC5zdGVwKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC50eXBlLCAn
c2xvdGNoYW5nZScsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHR5cGUgbXVzdCBiZSAic2xvdGNoYW5n
ZSInKTsKKyAgICAgICAgLy8gbGlzdGVuIHRvIGJ1YmJsaW5nIGV2ZW50cy4KKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhldmVudC5yZWxhdGVkVGFyZ2V0LCB1bmRlZmluZWQsICdzbG90Y2hhbmdlIG11
c3Qgbm90IHNldCByZWxhdGVkVGFyZ2V0Jyk7CisgICAgICB9KTsKKyAgICAgIGRhdGEuczNFdmVu
dENvdW50Kys7CisgICAgfQorICAgIGRhdGEuczNSZXNvbHZlRm4oKTsKKyAgfSk7CisgIHJldHVy
biB0VHJlZTsKK30KKworZnVuY3Rpb24gbW9uaXRvclNsb3RzKGRhdGEpIHsKKyAgICBjb25zdCBz
MVByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICBkYXRh
LnMxUmVzb2x2ZUZuID0gcmVzb2x2ZTsKKyAgICB9KTsKKyAgICBjb25zdCBzMlByb21pc2UgPSBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICBkYXRhLnMyUmVzb2x2ZUZu
ID0gcmVzb2x2ZTsKKyAgICB9KTsKKyAgICBjb25zdCBzM1Byb21pc2UgPSBuZXcgUHJvbWlzZSgo
cmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICBkYXRhLnMzUmVzb2x2ZUZuID0gcmVzb2x2ZTsK
KyAgICB9KTsKKyAgICByZXR1cm4gW3MxUHJvbWlzZSwgczJQcm9taXNlLCBzM1Byb21pc2VdOwor
fQorPC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisvLyBUZXN0czoKK2FzeW5jX3Rlc3QoKHRlc3QpID0+
IHsKKyAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7CisgIGxldCB0VHJlZSA9IHNl
dHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7CisgIGxldCBbczFQcm9t
aXNlLCBzMlByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworCisgIHRUcmVlLnMxLmFzc2ln
bihbdFRyZWUuYzFdKTsKKyAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pOworCisgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDAsICdzbG90Y2hhbmdlIGV2ZW50IG11c3Qgbm90
IGJlIGZpcmVkIHN5bmNocm9ub3VzbHknKTsKKyAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRD
b3VudCwgMCk7CisKKyAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0
ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVu
dENvdW50LCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAxKTsKKyAg
fSkpOworfSwgJ3Nsb3RjaGFuZ2UgZXZlbnQgbXVzdCBub3QgZmlyZSBzeW5jaHJvbm91c2x5Licp
OworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7CisgIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVj
dGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRl
c3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JTbG90cyhk
YXRhKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW10pOzsKKyAgdFRyZWUuczIuYXNzaWduKFtdKTsK
KyAgdFRyZWUuaG9zdC5pbnNlcnRCZWZvcmUodFRyZWUuYzQsIHRUcmVlLmMxKTsKKworICBQcm9t
aXNlLmFsbChbczFQcm9taXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUo
KCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDApOworICAgIGFz
c2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDApOworICB9KSk7CisKKyAgLy8gdXNlIGZh
a2UgZXZlbnQgdG8gdHJpZ2dlciBldmVudCBoYW5kbGVyLgorICBsZXQgZmFrZUV2ZW50ID0gbmV3
IEV2ZW50KCdzbG90Y2hhbmdlJyk7CisgIGZha2VFdmVudC5pc0Zha2VFdmVudCA9IHRydWU7Cisg
IHRUcmVlLnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKKyAgdFRyZWUuczIuZGlzcGF0Y2hF
dmVudChmYWtlRXZlbnQpOworfSwgJ3Nsb3RjaGFuZ2UgZXZlbnQgc2hvdWxkIG5vdCBmaXJlIHdo
ZW4gYXNzaWdubWVudHMgZG8gbm90IGNoYW5nZSBhc3NpZ25lZE5vZGVzLicpOworCithc3luY190
ZXN0KCh0ZXN0KSA9PiB7CisgIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOworICBs
ZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsdGVzdCwgZGF0YSk7Cisg
IGxldCBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKworICB0VHJlZS5zMS5hc3Np
Z24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworCisgIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9m
dW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKKwor
ICAgIFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworICAgIHRUcmVlLnMxLmFzc2ln
bihbdFRyZWUuYzEsIHRUcmVlLmMyXSk7CisgICAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwg
dFRyZWUuYzIsIHRUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzJdKTsKKworICAgIHMxUHJvbWlz
ZS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhk
YXRhLnMxRXZlbnRDb3VudCwgMSk7CisgICAgfSkpOworCisgICAgbGV0IGZha2VFdmVudCA9IG5l
dyBFdmVudCgnc2xvdGNoYW5nZScpOworICAgIGZha2VFdmVudC5pc0Zha2VFdmVudCA9IHRydWU7
CisgICAgdFRyZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOworICB9KSk7CisKK30sICdz
bG90Y2hhbmdlIGV2ZW50IHNob3VsZCBub3QgZmlyZSB3aGVuIHNhbWUgbm9kZSBpcyBhc3NpZ25l
ZC4nKTsKKworYXN5bmNfdGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0YUNv
bGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdl
LCB0ZXN0LCBkYXRhKTsKKyAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xv
dHMoZGF0YSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOworICB0VHJlZS5zMi5h
c3NpZ24oW3RUcmVlLmMyXSk7CisKKyAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNl
XSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRh
dGEuczFFdmVudENvdW50LCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50
LCAxKTsKKyAgfSkpOworfSwgIkZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIHNsb3QncyBhc3Np
Z25lZCBub2RlcyBjaGFuZ2VzLiIpOworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7CisgIGNvbnN0
IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RP
TSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZSwgczJQcm9t
aXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMx
XSk7CisKKyAgczFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOworCisgICAgW3MxUHJvbWlzZSwgczJQcm9t
aXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKyAgICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMx
XSk7CisKKyAgICBQcm9taXNlLmFsbChbczFQcm9taXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Qu
c3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRD
b3VudCwgMik7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAxKTsKKyAg
ICB9KSk7CisgIH0pKTsKK30sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgb24gcHJldmlvdXMgc2xv
dCBhbmQgbmV3IHNsb3Qgd2hlbiBub2RlIGlzIHJlYXNzaWduZWQuIik7CisKK2FzeW5jX3Rlc3Qo
KHRlc3QpID0+IHsKKyAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7CisgIGxldCB0
VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7CisgIGxl
dCBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKworICB0VHJlZS5zMS5hc3NpZ24o
W3RUcmVlLmMxXSk7CisKKyAgczFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4gewor
ICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOworCisgICAgW3MxUHJvbWlz
ZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisgICAgdFRyZWUuczEuYXNzaWduKFtdKTsKKworICAg
IHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgICAgYXNzZXJ0
X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMik7CisgICAgfSkpOworICB9KSk7Cit9LCAiRmly
ZSBzbG90Y2hhbmdlIGV2ZW50IG9uIG5vZGUgYXNzaWdubWVudCBhbmQgd2hlbiBhc3NpZ25lZCBu
b2RlIGlzIHJlbW92ZWQuIik7CisKK2FzeW5jX3Rlc3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0
YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7CisgIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRl
c3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7CisgIGxldCBbczFQcm9taXNlXSA9IG1vbml0b3JT
bG90cyhkYXRhKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pOwor
CisgIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1
YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKKworICAgIFtzMVByb21pc2VdID0gbW9uaXRvclNs
b3RzKGRhdGEpOworICAgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzIsIHRUcmVlLmMxXSk7CisK
KyAgICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFz
c2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDIpOworICAgIH0pKTsKKyAgfSkpOworfSwg
IkZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIG9yZGVyIG9mIGFzc2lnbmVkIG5vZGVzIGNoYW5n
ZXMuIik7CisKK3Byb21pc2VfdGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0
YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hh
bmdlLCB0ZXN0LCBkYXRhKTsKKyAgbGV0IFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEp
OworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKKworICByZXR1cm4gczFQcm9taXNl
LnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2
ZW50Q291bnQsIDEpOworCisgICAgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Cisg
ICAgdFRyZWUuYzEucmVtb3ZlKCk7CisKKyAgICByZXR1cm4gczFQcm9taXNlOworICB9KSkKKyAg
LnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMx
RXZlbnRDb3VudCwgMik7CisgIH0pKTsKK30sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBh
c3NpZ25lZCBub2RlIGlzIHJlbW92ZWQuIik7CisKK3Byb21pc2VfdGVzdCgodGVzdCkgPT4gewor
ICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBT
aGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKKyAgW3MxUHJvbWlzZV0gPSBt
b25pdG9yU2xvdHMoZGF0YSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOworCisg
IHJldHVybiBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgYXNzZXJ0
X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7CisKKyAgICBbczFQcm9taXNlXSA9IG1vbml0
b3JTbG90cyhkYXRhKTsKKyAgICB0VHJlZS5zMS5yZW1vdmUoKTsKKworICAgIHJldHVybiBzMVBy
b21pc2U7CisgIH0pKQorICAudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICBhc3Nl
cnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAyKTsKKyAgfSkpOworfSwgIkZpcmUgc2xvdGNo
YW5nZSBldmVudCB3aGVuIHJlbW92aW5nIGEgc2xvdCBmcm9tIFNoYWRvd3MgUm9vdCB0aGF0IGNo
YW5nZXMgaXRzIGFzc2lnbmVkIG5vZGVzLiIpOworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7Cisg
IGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1cFNo
YWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZV0g
PSBtb25pdG9yU2xvdHMoZGF0YSk7CisKKyAgdFRyZWUuczEucmVtb3ZlKCk7CisKKyAgbGV0IGZh
a2VFdmVudCA9IG5ldyBFdmVudCgnc2xvdGNoYW5nZScpOworICBmYWtlRXZlbnQuaXNGYWtlRXZl
bnQgPSB0cnVlOworICB0VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7CisKKyAgczFQ
cm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZGF0
YS5zMkV2ZW50Q291bnQsIDApOworCisgICAgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0
b3JTbG90cyhkYXRhKTsKKyAgICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUodFRyZWUu
czEsIHRUcmVlLnMyKTsKKworICAgIHRUcmVlLnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsK
KyAgICB0VHJlZS5zMi5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7CisKKyAgICBQcm9taXNlLmFs
bChbczFQcm9taXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4g
eworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMCk7CisgICAgICBhc3Nl
cnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAwKTsKKyAgICB9KSk7CisgIH0pKTsKKworfSwg
Ik5vIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhZGRpbmcgb3IgcmVtb3ZpbmcgYW4gZW1wdHkgc2xv
dC4iKTsKKworYXN5bmNfdGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0YUNv
bGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdl
LCB0ZXN0LCBkYXRhKTsKKyAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xv
dHMoZGF0YSk7CisKKyAgdFRyZWUuaG9zdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKSk7CisKKyAgbGV0IGZha2VFdmVudCA9IG5ldyBFdmVudCgnc2xvdGNoYW5nZScp
OworICBmYWtlRXZlbnQuaXNGYWtlRXZlbnQgPSB0cnVlOworICB0VHJlZS5zMS5kaXNwYXRjaEV2
ZW50KGZha2VFdmVudCk7CisgIHRUcmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKKwor
ICBQcm9taXNlLmFsbChbczFQcm9taXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5j
KCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAwKTsKKyAgICBh
c3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAwKTsKKworICAgIFtzMVByb21pc2UsIHMy
UHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisgICAgdFRyZWUuc2hhZG93X3Jvb3QuaW5z
ZXJ0QmVmb3JlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCB0VHJlZS5zMik7CisKKyAg
ICB0VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7CisgICAgdFRyZWUuczIuZGlzcGF0
Y2hFdmVudChmYWtlRXZlbnQpOworCisgICAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9t
aXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVh
bHMoZGF0YS5zMUV2ZW50Q291bnQsIDApOworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZl
bnRDb3VudCwgMCk7CisgICAgfSkpOworICB9KSk7CisKK30sICJObyBzbG90Y2hhbmdlIGV2ZW50
IHdoZW4gYWRkaW5nIGFub3RoZXIgc2xvdGFibGUuIik7CisKKzwvc2NyaXB0PgorCis8ZGl2IGlk
PSJ0ZXN0X25lc3RlZF9zbG90Y2hhbmdlIj4KKyAgPGRpdj4KKyAgICA8dGVtcGxhdGUgZGF0YS1t
b2RlPSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KKyAgICAgIDxkaXY+Cisg
ICAgICAgIDx0ZW1wbGF0ZSBkYXRhLW1vZGU9Im9wZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJt
YW51YWwiPgorICAgICAgICAgIDxzbG90IGlkPSJzMiI+PC9zbG90PgorICAgICAgICAgIDxzbG90
IGlkPSJzMyI+PC9zbG90PgorICAgICAgICA8L3RlbXBsYXRlPgorICAgICAgICA8c2xvdCBpZD0i
czEiPjwvc2xvdD4KKyAgICAgIDwvZGl2PgorICAgIDwvdGVtcGxhdGU+CisgICAgPGRpdiBpZD0i
YzEiPjwvZGl2PgorICA8L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorYXN5bmNfdGVzdCgodGVz
dCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVl
ID0gc2V0dXBTaGFkb3dET00odGVzdF9uZXN0ZWRfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Cisg
IGxldCBbczFQcm9taXNlLCBzMlByb21pc2UsIHMzUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0
YSk7CisKKyAgdFRyZWUuczMuYXNzaWduKFt0VHJlZS5zMV0pOworCisgIHMzUHJvbWlzZS50aGVu
KHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczNFdmVudENv
dW50LCAxKTsKKyAgICBbczFQcm9taXNlLCBzMlByb21pc2UsIHMzUHJvbWlzZV0gPSBtb25pdG9y
U2xvdHMoZGF0YSk7CisKKyAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7CisKKyAgICBQ
cm9taXNlLmFsbChbczFQcm9taXNlLCBzM1Byb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2Rv
bmUoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7Cisg
ICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczNFdmVudENvdW50LCAyKTsKKyAgICB9KSk7CisgIH0p
KTsKK30sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhc3NpZ24gbm9kZSB0byBuZXN0ZWQg
c2xvdCwgZW5zdXJlIGV2ZW50IGJ1YmJsZXMgdXBzLiIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
aW1wZXJhdGl2ZS1zbG90LWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGkuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NGIyMjYzMmQxMTU0N2YzM2I0ZDA4ZWY5ZjUxYzhlZjUyMzgwYmFmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGkuaHRtbApAQCAtMCwwICsxLDI3NCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8dGl0bGU+U2hhZG93IERPTTogSW1wZXJhdGl2ZSBTbG90IEFQSTwvdGl0bGU+
Cis8bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJZdSBIYW4iIGhyZWY9Im1haWx0bzp5dXpoZWhh
bkBjaHJvbWl1bS5vcmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3Njcmlw
dD4KKworPGRpdiBpZD0idGVzdF9iYXNpYyI+CisgIDxkaXYgaWQ9Imhvc3QxIj48L2Rpdj4KKyAg
PGRpdiBpZD0iaG9zdDIiPjwvZGl2PgorICA8ZGl2IGlkPSJob3N0MyI+PC9kaXY+Cis8L2Rpdj4K
KzxzY3JpcHQ+Cit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVz
dF9iYXNpYyk7CisgIGFzc2VydF9ub3RfZXF1YWxzKHRUcmVlLmhvc3QxLmF0dGFjaFNoYWRvdyh7
IG1vZGU6ICdvcGVuJywgc2xvdEFzc2lnbm1lbnQ6ICdtYW51YWwnfSksCisgICAgICAgICAgICAg
ICAgICAgIG51bGwsICdzbG90IGFzc2lnbm1lbnQgbWFudWFsIHNob3VsZCB3b3JrJyk7CisgIGFz
c2VydF9ub3RfZXF1YWxzKHRUcmVlLmhvc3QyLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJywg
c2xvdEFzc2lnbm1lbnQ6ICduYW1lZCd9KSwKKyAgICAgICAgICAgICAgICAgICAgbnVsbCwgJ3Ns
b3QgYXNzaWdubWVudCBhdXRvIHNob3VsZCB3b3JrJyk7CisgIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLCAoKSA9PiB7CisgICAgdFRyZWUuaG9zdDMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29w
ZW4nLCBzbG90QXNzaWdubWVudDogJ2V4Y2VwdGlvbmFsJyB9KX0sCisgICAgICAgICAgICAgICAg
J290aGVycyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uJyk7Cit9LCAnYXR0YWNoU2hhZG93IGNhbiB0
YWtlIHNsb3RBc3NpZ25tZW50IHBhcmFtZXRlci4nKTsKKzwvc2NyaXB0PgorCis8ZGl2IGlkPSJ0
ZXN0X2Fzc2lnbiI+CisgIDxkaXYgaWQ9Imhvc3QiPgorICAgIDx0ZW1wbGF0ZSBpZD0ic2hhZG93
X3Jvb3QiIGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1hbnVhbCI+Cisg
ICAgICA8c2xvdCBpZD0iczEiPjwvc2xvdD4KKyAgICAgIDxzbG90IGlkPSJzMiI+PC9zbG90Pgor
ICAgICAgPHNsb3QgaWQ9InMzIj48L3Nsb3Q+CisgICAgPC90ZW1wbGF0ZT4KKyAgICA8ZGl2IGlk
PSJjMSI+PC9kaXY+CisgICAgPGRpdiBpZD0iYzIiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImMzIj48
L2Rpdj4KKyAgICA8ZGl2IGlkPSJuZXN0ZWQiPgorICAgICAgIDxkaXYgaWQ9Im5zMSI+PC9kaXY+
CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGlkPSJjNCI+PC9kaXY+CisgIDxkaXYgaWQ9
Imhvc3Q0Ij4KKyAgICA8dGVtcGxhdGUgaWQ9InNoYWRvd19yb290NCIgZGF0YS1tb2RlPSJvcGVu
IiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KKyAgICAgIDxzbG90IGlkPSJzNCIgbmFt
ZT0iczQiPjwvc2xvdD4KKyAgICA8L3RlbXBsYXRlPgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlw
dD4KK3Rlc3QoKCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2ln
bik7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWRFbGVtZW50cygpLCBb
XSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCBudWxsKTsKKworICB0
VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUu
czEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5j
MS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKworICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMy
LCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9k
ZXMoKSwgW3RUcmVlLmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWdu
ZWROb2RlcygpLCBbdFRyZWUuYzIsIHRUcmVlLmMzXSk7Cit9LCAnSW1wZXJhdGl2ZSBzbG90IEFQ
SSBjYW4gYXNzaWduIG5vZGVzIGluIG1hbnVhbCBzbG90IGFzc2lnbm1lbnQuJyk7CisKK3Rlc3Qo
KCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7CisKKyAg
dFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSk7CisgIGFzc2Vy
dF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRUcmVl
LmMzLCB0VHJlZS5jMV0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwg
dFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUu
czEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwor
CisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSk7CisgIGFzc2VydF9hcnJh
eV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyXSk7
CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7CisgIGFz
c2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7CisgIGFzc2VydF9l
cXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCBudWxsKTsKKworICB0VHJlZS5zMS5hc3NpZ24o
W3RUcmVlLmMzLCB0VHJlZS5jMiwgdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0
VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMywgdFRyZWUuYzIsIHRUcmVlLmMxXSk7
CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7CisgIGFz
c2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7CisgIGFzc2VydF9l
cXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Cit9LCAnT3JkZXIgb2Ygc2xv
dHRhYmxlcyBpcyBwcmVzZXJ2ZWQgaW4gbWFudWFsIHNsb3QgYXNzaWdubWVudC4nKTsKKwordGVz
dCgoKSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKwor
ICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKTsKKyAgYXNz
ZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMiwgdFRy
ZWUuYzMsIHRUcmVlLmMxXSk7CisKKyAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pOworICBh
c3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMzLCB0
VHJlZS5jMV0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMo
KSwgW3RUcmVlLmMyXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0
VHJlZS5zMSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5z
Mik7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7CisK
KyAgdFRyZWUuczMuYXNzaWduKFt0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRU
cmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVh
bHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzJdKTsKKyAgYXNzZXJ0X2FycmF5
X2VxdWFscyh0VHJlZS5zMy5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jM10pOworICBhc3NlcnRf
ZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxz
KHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczIpOworICBhc3NlcnRfZXF1YWxzKHRUcmVl
LmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczMpOworfSwgJ1ByZXZpb3VzbHkgYXNzaWduZWQgc2xv
dHRhYmxlIGlzIG1vdmVkIHRvIG5ldyBzbG90IHdoZW4gaXRcJ3MgcmVhc3NpZ25lZC4nKTsKKwor
dGVzdCgoKSA9PiB7CisgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwor
CisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKKyAgdFRyZWUuczIuYXNzaWduKFt0VHJl
ZS5jMiwgdFRyZWUuYzFdKTsKKyAgdFRyZWUuczMuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzNd
KTsKKworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW10p
OworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVl
LmMyXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczMuYXNzaWduZWROb2RlcygpLCBb
dFRyZWUuYzEsIHRUcmVlLmMzXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRT
bG90LCB0VHJlZS5zMyk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0
VHJlZS5zMik7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJlZS5z
Myk7Cit9LCAnT3JkZXIgYW5kIGFzc2lnbm1lbnQgb2Ygbm9kZXMgYXJlIHByZXNlcnZlZCBkdXJp
bmcgbXVsdGlwbGUgYXNzaWdubWVudCBpbiBhIHJvdy4nKTsKKwordGVzdCgoKSA9PiB7CisgIGxl
dCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICAvLyB0VHJlZS5jNCBp
cyBpbnZhbGlkIGZvciB0VHJlZS5ob3N0IHNsb3QgYXNzaWdubWVudC4KKyAgLy8gTm8gZXhjZXB0
aW9uIHNob3VsZCBiZSB0aHJvd24gaGVyZS4KKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwg
dFRyZWUuYzQsIHRUcmVlLmMyXSk7CisKKyAgLy8gQWxsIG9ic2VydmFibGUgYXNzaWdubWVudHMg
c2hvdWxkIHNraXAgYzQuCisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWRO
b2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEu
YXNzaWduZWRTbG90LCB0VHJlZS5zMSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWdu
ZWRTbG90LCB0VHJlZS5zMSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzQuYXNzaWduZWRTbG90
LCBudWxsKTsKKworICAvLyBNb3ZpbmcgYzQgaW50byBwbGFjZSBzaG91bGQgcmV2ZWFsIHRoZSBh
c3NpZ25tZW50LgorICB0VHJlZS5ob3N0LmFwcGVuZCh0VHJlZS5jNCk7CisgIGFzc2VydF9hcnJh
eV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmM0LCB0
VHJlZS5jMl0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUu
czEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwor
ICBhc3NlcnRfZXF1YWxzKHRUcmVlLmM0LmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworCisgIC8v
IE1vdmluZyBjNCBpbnRvIGEgZGlmZmVyZW50IHNoYWRvdyBob3N0IGFuZCBiYWNrIHNob3VsZAor
ICAvLyBhbHNvIG5vdCBicmVhayB0aGUgYXNzaWdubWVudC4KKyAgdFRyZWUuaG9zdDQuYXBwZW5k
KHRUcmVlLmM0KQorICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMo
KSwgW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmM0LmFzc2ln
bmVkU2xvdCwgbnVsbCk7CisgIHRUcmVlLmhvc3QuYXBwZW5kKHRUcmVlLmM0KTsKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUu
YzQsIHRUcmVlLmMyXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzQuYXNzaWduZWRTbG90LCB0
VHJlZS5zMSk7Cit9LCAnQXNzaWduaW5nIGludmFsaWQgbm9kZXMgc2hvdWxkIGJlIGFsbG93ZWQu
Jyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fz
c2lnbik7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMz
XSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRy
ZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOworCisgIHRUcmVlLmhvc3Q0LmFwcGVuZCh0VHJl
ZS5zMSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBb
XSk7Cit9LCAnTW92aW5nIGEgc2xvdCB0byBhIG5ldyBob3N0LCB0aGUgc2xvdCBsb3NlcyBpdHMg
cHJldmlvdXNseSBhc3NpZ25lZCBzbG90dGFibGVzLicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0
IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2ln
bihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNd
KTsKKworICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUodFRyZWUuczIsIHRUcmVlLnMx
KTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJl
ZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUu
czIuYXNzaWduZWROb2RlcygpLCBbXSk7CisKKyAgdFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVm
b3JlKHRUcmVlLnM0LCB0VHJlZS5zMSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEu
YXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOworICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKHRUcmVlLnM0LmFzc2lnbmVkTm9kZXMoKSwgW10pOworCisgIHRUcmVl
Lm5zMS5hcHBlbmQodFRyZWUuczEpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFz
c2lnbmVkTm9kZXMoKSwgW10pOworfSwgJ01vdmluZyBhIHNsb3RcJ3MgdHJlZSBvcmRlciBwb3Np
dGlvbiB3aXRoaW4gYSBzaGFkb3cgaG9zdCBoYXMgbm8gaW1wYWN0IG9uIGl0cyBhc3NpZ25lZCBz
bG90dGFibGVzLicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRy
ZWUodGVzdF9hc3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMy
LCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9k
ZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKworICB0VHJlZS5ob3N0NC5h
cHBlbmQodFRyZWUuYzEpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVk
Tm9kZXMoKSwgW3RUcmVlLmMyLCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRU
cmVlLnM0LmFzc2lnbmVkTm9kZXMoKSwgW10pOworCisgIHRUcmVlLnM0LmFzc2lnbihbdFRyZWUu
YzFdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zNC5hc3NpZ25lZE5vZGVzKCksIFt0
VHJlZS5jMV0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUu
czQpOworfSwgJ0FwcGVuZGluZyBzbG90dGFibGUgdG8gZGlmZmVyZW50IGhvc3QsIGl0IGxvc2Vz
IHNsb3QgYXNzaWdubWVudC4gSXQgY2FuIGJlIHJlLWFzc2lnbmVkIHdpdGhpbiBhIG5ldyBob3N0
LicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9h
c3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2FycmF5
X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOworCisgIHRUcmVl
LnNoYWRvd19yb290NC5pbnNlcnRCZWZvcmUodFRyZWUuczEsIHRUcmVlLnM0KTsKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdKTsKKyAgLy8gVHJpZ2dl
ciBzbG90IGFzc2lnbm1lbnQgb24gcHJldmlvdXMgc2hhZG93IHJvb3QuCisgIGFzc2VydF9hcnJh
eV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbXSk7CisKKyAgdFRyZWUuc2hhZG93
X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnMxLCB0VHJlZS5zMik7CisgIGFzc2VydF9hcnJheV9l
cXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSk7Cit9LCAnUHJldmlvdXNseSBhc3Np
Z25lZCBub2RlIHNob3VsZCBub3QgYmUgYXNzaWduZWQgaWYgc2xvdCBtb3ZlZCB0byBhIG5ldyBz
aGFkb3cgcm9vdC4gVGhlIHNsb3QgcmVtYWlucyBlbXB0eSB3aGVuIG1vdmVkIGJhY2ssIHRyaWdn
ZXIgcmVjYWxjLicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRy
ZWUodGVzdF9hc3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMx
LCB0VHJlZS5jMV0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9k
ZXMoKSwgW3RUcmVlLmMxXSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUu
YzEsIHRUcmVlLmMyLCB0VHJlZS5jMiwgdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFs
cyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKK30sICdB
c3NpZ25tZW50IHdpdGggdGhlIHNhbWUgbm9kZSBpbiBwYXJhbWV0ZXJzIHNob3VsZCBiZSBpZ25v
cmVkLCBmaXJzdCBvbmUgd2lucy4nKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9IGNy
ZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMx
LCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKyAgdFRyZWUuczEucmVtb3ZlKCk7CisKKyAgYXNzZXJ0
X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIG51bGwpOworICBhc3NlcnRfZXF1YWxzKHRU
cmVlLmMyLmFzc2lnbmVkU2xvdCwgbnVsbCk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNz
aWduZWRTbG90LCBudWxsKTsKK30sICdSZW1vdmluZyBhIHNsb3QgZnJvbSBET00gcmVzZXRzIGl0
cyBzbG90dGFibGVcJ3Mgc2xvdCBhc3NpZ25tZW50LicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0
IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOworCisgIGNvbnN0IGlzb2xhdGVk
RG9jTm9kZSA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIiku
Ym9keTsKKyAgaXNvbGF0ZWREb2NOb2RlLmFwcGVuZENoaWxkKHRUcmVlLmMxKTsKKyAgY29uc3Qg
aXNvbGF0ZWREb2NOb2RlMiA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1
bWVudCgiIikuYm9keTsKKyAgaXNvbGF0ZWREb2NOb2RlMi5hcHBlbmRDaGlsZCh0VHJlZS5zMSk7
CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKKyAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdLCAnczEgbm90IGluc2lkZSBz
aGFkb3cgcm9vdCcpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgbnVs
bCk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCBudWxsKTsKKworICB0
VHJlZS5zaGFkb3dfcm9vdC5hcHBlbmRDaGlsZCh0VHJlZS5zMSk7CisgIHRUcmVlLmhvc3QuYXBw
ZW5kQ2hpbGQodFRyZWUuYzEpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2ln
bmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVl
LmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFz
c2lnbmVkU2xvdCwgdFRyZWUuczEpOworfSwgJ05vZGVzIGNhbiBiZSBhc3NpZ25lZCBldmVuIGlm
IHNsb3RzIG9yIG5vZGVzIGFyZW5cJ3QgaW4gdGhlIHNhbWUgdHJlZS4nKTsKKwordGVzdCgoKSA9
PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICB0VHJl
ZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3Nl
cnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1
YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworCisgIGNvbnN0IGlzb2xhdGVk
RG9jTm9kZSA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIiku
Ym9keTsKKyAgaXNvbGF0ZWREb2NOb2RlLmFwcGVuZENoaWxkKHRUcmVlLmMxKTsKKyAgY29uc3Qg
aXNvbGF0ZWREb2NOb2RlMiA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1
bWVudCgiIikuYm9keTsKKyAgaXNvbGF0ZWREb2NOb2RlMi5hcHBlbmRDaGlsZCh0VHJlZS5zMSk7
CisKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdLCAn
czEgbm90IGluc2lkZSBzaGFkb3cgcm9vdCcpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFz
c2lnbmVkU2xvdCwgbnVsbCk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90
LCBudWxsKTsKKworICB0VHJlZS5zaGFkb3dfcm9vdC5hcHBlbmRDaGlsZCh0VHJlZS5zMSk7Cisg
IHRUcmVlLmhvc3QuYXBwZW5kQ2hpbGQodFRyZWUuYzEpOworICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3Nl
cnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1
YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworfSwgJ1JlbW92aW5nIGEgbm9k
ZSBmcm9tIHRoZSBkb2N1bWVudCBkb2VzIG5vdCBicmVhayBtYW51YWxseSBhc3NpZ25lZCBzbG90
IGxpbmthZ2UuJyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1j
cmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3QtcmVtb3ZlLWNyYXNoLWV4cGVjdGVkLnR4dApp
bmRleCAzNDI1OTRjNTk1YThjNTk3NDc3N2RmMTFiMzJlZjlmNTM4Y2NlMWRlLi43NDg3NzkyN2Mw
NjdhOTc3Njk4OTllYTk3NzkyY2YwMDBlYjcxYWM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3QtcmVt
b3ZlLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3QtcmVtb3ZlLWNyYXNoLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IENh
bm5vdCBkZWNsYXJlIGEgY29uc3QgdmFyaWFibGUgdHdpY2U6ICdyb290Jy4KK0NPTlNPTEUgTUVT
U0FHRTogTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4K
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xv
dC1yZW1vdmUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUtY3Jhc2guaHRtbAppbmRleCAz
MDgxZGQ2NTQwZmUyYjJhZDQyYWQzYzk4Y2ExYmRlMjliMGM3OWRkLi4yOTMwZTNhMjIxMDI4NzEy
Mzc3ZTg5NDQ4NzNjMTk1YjM5NTQyZGFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3QtcmVtb3ZlLWNy
YXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC5odG1sCkBAIC0xLDYgKzEsNiBA
QAogPCFET0NUWVBFIGh0bWw+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ik1hc29uIEZyZWVkIiBocmVmPSJtYWlsdG86bWFzb25mcmVlZEBjaHJvbWl1
bS5vcmciPgorPGxpbmsgcmVsPSJhdXRob3IiIGhyZWY9Im1haWx0bzptYXNvbmZAY2hyb21pdW0u
b3JnIj4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9jcmJ1Zy5jb20vMTE1OTMyOCI+
CiA8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IlRoZSByZW5kZXJlciBzaG91bGQgbm90IGNy
YXNoLiI+CiAKQEAgLTgsNyArOCw3IEBACiA8c3Bhbj5UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBy
ZW5kZXJlciBkb2VzIG5vdCBjcmFzaC48L3NwYW4+CiAKIDxzY3JpcHQ+Ci0gIGNvbnN0IHJvb3Qg
PSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KTsKKyAgbGV0IHJvb3QgPSBob3N0LmF0
dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KTsKICAgcm9vdC5pbm5lckhUTUwgPSBgCiAgICAgPHNs
b3QgaWQ9b3V0ZXIxIG5hbWU9b3V0ZXI+CiAgICAgICA8c2xvdCBpZD1pbm5lcjEgbmFtZT1pbm5l
cj5GYWxsYmFjazwvc2xvdD4KQEAgLTI3LDcgKzI3LDcgQEAKICAgLy8gVGhlIHJlbmRlcmVyIHNo
b3VsZCBub3QgY3Jhc2ggaGVyZToKICAgcm9vdC5xdWVyeVNlbGVjdG9yKCIjb3V0ZXIyIikucmVt
b3ZlKCk7CiAKLSAgY29uc3Qgcm9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiJvcGVuIn0p
OworICByb290ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6Im9wZW4ifSk7CiAgIHJvb3QuaW5u
ZXJIVE1MID0gYAogICAgIDxzbG90IGlkPW91dGVyMz4KICAgICAgIDxzbG90IGlkPWlubmVyMz4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vc2xvdHMtaW1wZXJhdGl2ZS1hcGktc2xvdGNoYW5nZS50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxY2QwZGYzZTA1MmYyYTNlYWNm
MDJjODNkNjZlNDViNmZjNjEyMDg3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0KLUZBSUwgc2xvdGNoYW5n
ZSBldmVudCBtdXN0IG5vdCBmaXJlIHN5bmNocm9ub3VzbHkuIHRUcmVlLnMxLmFzc2lnbiBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUu
czEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIHNsb3RjaGFuZ2UgZXZlbnQgc2hvdWxkIG5v
dCBmaXJlIHdoZW4gYXNzaWdubWVudHMgZG8gbm90IGNoYW5nZSBhc3NpZ25lZE5vZGVzLiBhc3Nl
cnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+IHsgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5j
NF0pOyB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogdFRyZWUuczEuYXNzaWduIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzRdKScsICd0VHJlZS5zMS5h
c3NpZ24nIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5vdEFsbG93
ZWRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQg
MAotRkFJTCBzbG90Y2hhbmdlIGV2ZW50IHNob3VsZCBub3QgZmlyZSB3aGVuIHNhbWUgbm9kZSBp
cyBhc3NpZ25lZC4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVl
LnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1
bmRlZmluZWQpCi1GQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIHNsb3QncyBhc3NpZ25l
ZCBub2RlcyBjaGFuZ2VzLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZp
bmVkKQotRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgb24gcHJldmlvdXMgc2xvdCBhbmQgbmV3
IHNsb3Qgd2hlbiBub2RlIGlzIHJlYXNzaWduZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUuczEuYXNz
aWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCBvbiBub2RlIGFz
c2lnbm1lbnQgYW5kIHdoZW4gYXNzaWduZWQgbm9kZSBpcyByZW1vdmVkLiB0VHJlZS5zMS5hc3Np
Z24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywg
J3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQotRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZl
bnQgd2hlbiBvcmRlciBvZiBhc3NpZ25lZCBub2RlcyBjaGFuZ2VzLiB0VHJlZS5zMS5hc3NpZ24g
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUu
YzJdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgRmlyZSBzbG90Y2hh
bmdlIGV2ZW50IHdoZW4gYXNzaWduZWQgbm9kZSBpcyByZW1vdmVkLiB0VHJlZS5zMS5hc3NpZ24g
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RU
cmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQotRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZlbnQg
d2hlbiByZW1vdmluZyBhIHNsb3QgZnJvbSBTaGFkb3dzIFJvb3QgdGhhdCBjaGFuZ2VzIGl0cyBh
c3NpZ25lZCBub2Rlcy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RU
cmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgTm8gc2xvdGNoYW5nZSBldmVudCB3aGVuIGFkZGluZyBvciByZW1vdmluZyBhbiBl
bXB0eSBzbG90LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMQotRkFJTCBObyBz
bG90Y2hhbmdlIGV2ZW50IHdoZW4gYWRkaW5nIGFub3RoZXIgc2xvdGFibGUuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAxCi1GQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVu
IGFzc2lnbiBub2RlIHRvIG5lc3RlZCBzbG90LCBlbnN1cmUgZXZlbnQgYnViYmxlcyB1cHMuIHRU
cmVlLnMzLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMy5hc3NpZ24oW3RU
cmVlLnMxXSknLCAndFRyZWUuczMuYXNzaWduJyBpcyB1bmRlZmluZWQpCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9z
bG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWltcGVy
YXRpdmUtYXBpLXNsb3RjaGFuZ2UudGVudGF0aXZlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDQzNjI3YTI0NmNjZTlkOTJmZGIzZTc1OGMxMTNjNWZkZThlMTk4ZmIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWltcGVyYXRpdmUt
YXBpLXNsb3RjaGFuZ2UudGVudGF0aXZlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNTggKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+U2hhZG93IERPTTogSW1wZXJhdGl2ZSBTbG90
IEFQSSBzbG90Y2hhbmdlIGV2ZW50PC90aXRsZT4KLTxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9
Ill1IEhhbiIgaHJlZj0ibWFpbHRvOnl1emhlaGFuQGNocm9taXVtLm9yZyI+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jc2lnbmFsaW5nLXNsb3QtY2hhbmdl
Ij4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+Ci0KLTxk
aXYgaWQ9InRlc3Rfc2xvdGNoYW5nZSI+Ci0gIDxkaXYgaWQ9Imhvc3QiPgotICAgIDx0ZW1wbGF0
ZSBpZD0ic2hhZG93X3Jvb3QiIGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9
Im1hbnVhbCI+Ci0gICAgICA8c2xvdCBpZD0iczEiPjxkaXYgaWQ9ImZiIj5mYWxsYmFjazwvZGl2
Pjwvc2xvdD4KLSAgICAgIDxzbG90IGlkPSJzMiI+PC9zbG90PgotICAgICAgPHNsb3QgaWQ9InMz
Ij48L3Nsb3Q+Ci0gICAgPC90ZW1wbGF0ZT4KLSAgICA8ZGl2IGlkPSJjMSI+PC9kaXY+Ci0gICAg
PGRpdiBpZD0iYzIiPjwvZGl2PgotICA8L2Rpdj4KLSAgPGRpdiBpZD0iYzQiPjwvZGl2PgotPC9k
aXY+Ci0KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBnZXREYXRhQ29sbGVjdGlvbigpIHsKLSAgcmV0dXJu
IHsKLSAgICBzMUV2ZW50Q291bnQ6IDAsCi0gICAgczJFdmVudENvdW50OiAwLAotICAgIHMzRXZl
bnRDb3VudDogMCwKLSAgICBzMVJlc29sdmVGbjogbnVsbCwKLSAgICBzMlJlc29sdmVGbjogbnVs
bCwKLSAgICBzM1Jlc29sdmVGbjogbnVsbCwKLSAgfQotfQotCi1mdW5jdGlvbiBzZXR1cFNoYWRv
d0RPTShpZCwgdGVzdCwgZGF0YSkgewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZShpZCk7
Ci0gIHRUcmVlLnMxLmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCAoZXZlbnQpID0+IHsK
LSAgICBpZiAoIWV2ZW50LmlzRmFrZUV2ZW50KSB7Ci0gICAgICB0ZXN0LnN0ZXAoZnVuY3Rpb24g
KCkgewotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudHlwZSwgJ3Nsb3RjaGFuZ2UnLCAn
c2xvdGNoYW5nZSBldmVudFwncyB0eXBlIG11c3QgYmUgInNsb3RjaGFuZ2UiJyk7Ci0gICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhldmVudC50YXJnZXQsIHRUcmVlLnMxLCAnc2xvdGNoYW5nZSBldmVu
dFwncyB0YXJnZXQgbXVzdCBiZSB0aGUgc2xvdCBlbGVtZW50Jyk7Ci0gICAgICAgICAgYXNzZXJ0
X2VxdWFscyhldmVudC5yZWxhdGVkVGFyZ2V0LCB1bmRlZmluZWQsICdzbG90Y2hhbmdlIG11c3Qg
bm90IHNldCByZWxhdGVkVGFyZ2V0Jyk7Ci0gICAgICB9KTsKLSAgICAgIGRhdGEuczFFdmVudENv
dW50Kys7Ci0gICAgfQotICAgIGRhdGEuczFSZXNvbHZlRm4oKTsKLSAgfSk7Ci0gIHRUcmVlLnMy
LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCAoZXZlbnQpID0+IHsKLSAgICBpZiAoIWV2
ZW50LmlzRmFrZUV2ZW50KSB7Ci0gICAgICB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewotICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudHlwZSwgJ3Nsb3RjaGFuZ2UnLCAnc2xvdGNoYW5nZSBl
dmVudFwncyB0eXBlIG11c3QgYmUgInNsb3RjaGFuZ2UiJyk7Ci0gICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhldmVudC50YXJnZXQsIHRUcmVlLnMyLCAnc2xvdGNoYW5nZSBldmVudFwncyB0YXJnZXQg
bXVzdCBiZSB0aGUgc2xvdCBlbGVtZW50Jyk7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVu
dC5yZWxhdGVkVGFyZ2V0LCB1bmRlZmluZWQsICdzbG90Y2hhbmdlIG11c3Qgbm90IHNldCByZWxh
dGVkVGFyZ2V0Jyk7Ci0gICAgICB9KTsKLSAgICAgIGRhdGEuczJFdmVudENvdW50Kys7Ci0gICAg
fQotICAgIGRhdGEuczJSZXNvbHZlRm4oKTsKLSAgfSk7Ci0gIHRUcmVlLnMzLmFkZEV2ZW50TGlz
dGVuZXIoJ3Nsb3RjaGFuZ2UnLCAoZXZlbnQpID0+IHsKLSAgICBpZiAoIWV2ZW50LmlzRmFrZUV2
ZW50KSB7Ci0gICAgICB0ZXN0LnN0ZXAoZnVuY3Rpb24gKCkgewotICAgICAgICBhc3NlcnRfZXF1
YWxzKGV2ZW50LnR5cGUsICdzbG90Y2hhbmdlJywgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdHlwZSBt
dXN0IGJlICJzbG90Y2hhbmdlIicpOwotICAgICAgICAvLyBsaXN0ZW4gdG8gYnViYmxpbmcgZXZl
bnRzLgotICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIHVuZGVmaW5l
ZCwgJ3Nsb3RjaGFuZ2UgbXVzdCBub3Qgc2V0IHJlbGF0ZWRUYXJnZXQnKTsKLSAgICAgIH0pOwot
ICAgICAgZGF0YS5zM0V2ZW50Q291bnQrKzsKLSAgICB9Ci0gICAgZGF0YS5zM1Jlc29sdmVGbigp
OwotICB9KTsKLSAgcmV0dXJuIHRUcmVlOwotfQotCi1mdW5jdGlvbiBtb25pdG9yU2xvdHMoZGF0
YSkgewotICAgIGNvbnN0IHMxUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3Qp
ID0+IHsKLSAgICAgIGRhdGEuczFSZXNvbHZlRm4gPSByZXNvbHZlOwotICAgIH0pOwotICAgIGNv
bnN0IHMyUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAg
IGRhdGEuczJSZXNvbHZlRm4gPSByZXNvbHZlOwotICAgIH0pOwotICAgIGNvbnN0IHMzUHJvbWlz
ZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAgIGRhdGEuczNSZXNv
bHZlRm4gPSByZXNvbHZlOwotICAgIH0pOwotICAgIHJldHVybiBbczFQcm9taXNlLCBzMlByb21p
c2UsIHMzUHJvbWlzZV07Ci19Ci08L3NjcmlwdD4KLQotPHNjcmlwdD4KLS8vIFRlc3RzOgotYXN5
bmNfdGVzdCgodGVzdCkgPT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsK
LSAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRh
KTsKLSAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0K
LSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwotICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVl
LmMyXSk7Ci0KLSAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMCwgJ3Nsb3RjaGFu
Z2UgZXZlbnQgbXVzdCBub3QgYmUgZmlyZWQgc3luY2hyb25vdXNseScpOwotICBhc3NlcnRfZXF1
YWxzKGRhdGEuczJFdmVudENvdW50LCAwKTsKLQotICBQcm9taXNlLmFsbChbczFQcm9taXNlLCBz
MlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9l
cXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOwotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2
ZW50Q291bnQsIDEpOwotICB9KSk7Ci19LCAnc2xvdGNoYW5nZSBldmVudCBtdXN0IG5vdCBmaXJl
IHN5bmNocm9ub3VzbHkuJyk7Ci0KLWFzeW5jX3Rlc3QoKHRlc3QpID0+IHsKLSAgY29uc3QgZGF0
YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRl
c3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9taXNlLCBzMlByb21pc2Vd
ID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIGFzc2VydF90aHJvd3NfZG9tKCdOb3RBbGxvd2Vk
RXJyb3InLCAoKSA9PiB7IHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzRdKTsgfSk7Ci0gIHRUcmVl
LnMyLmFzc2lnbihbXSk7Ci0gIHRUcmVlLmhvc3QuaW5zZXJ0QmVmb3JlKHRUcmVlLmM0LCB0VHJl
ZS5jMSk7Ci0KLSAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0
LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENv
dW50LCAwKTsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAwKTsKLSAgfSkp
OwotCi0gIC8vIHVzZSBmYWtlIGV2ZW50IHRvIHRyaWdnZXIgZXZlbnQgaGFuZGxlci4KLSAgbGV0
IGZha2VFdmVudCA9IG5ldyBFdmVudCgnc2xvdGNoYW5nZScpOwotICBmYWtlRXZlbnQuaXNGYWtl
RXZlbnQgPSB0cnVlOwotICB0VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7Ci0gIHRU
cmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLX0sICdzbG90Y2hhbmdlIGV2ZW50IHNo
b3VsZCBub3QgZmlyZSB3aGVuIGFzc2lnbm1lbnRzIGRvIG5vdCBjaGFuZ2UgYXNzaWduZWROb2Rl
cy4nKTsKLQotYXN5bmNfdGVzdCgodGVzdCkgPT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNv
bGxlY3Rpb24oKTsKLSAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdl
LHRlc3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0K
LSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKLQotICBzMVByb21pc2Uu
dGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZl
bnRDb3VudCwgMSk7Ci0KLSAgICBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLSAg
ICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pOwotICAgIHRUcmVlLnMxLmFz
c2lnbihbdFRyZWUuYzIsIHRUcmVlLmMxLCB0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMyXSk7
Ci0KLSAgICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICAg
IGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOwotICAgIH0pKTsKLQotICAgIGxl
dCBmYWtlRXZlbnQgPSBuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnKTsKLSAgICBmYWtlRXZlbnQuaXNG
YWtlRXZlbnQgPSB0cnVlOwotICAgIHRUcmVlLnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsK
LSAgfSkpOwotCi19LCAnc2xvdGNoYW5nZSBldmVudCBzaG91bGQgbm90IGZpcmUgd2hlbiBzYW1l
IG5vZGUgaXMgYXNzaWduZWQuJyk7Ci0KLWFzeW5jX3Rlc3QoKHRlc3QpID0+IHsKLSAgY29uc3Qg
ZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9N
KHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9taXNlLCBzMlByb21p
c2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFd
KTsKLSAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pOwotCi0gIFByb21pc2UuYWxsKFtzMVBy
b21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAg
YXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhk
YXRhLnMyRXZlbnRDb3VudCwgMSk7Ci0gIH0pKTsKLX0sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQg
d2hlbiBzbG90J3MgYXNzaWduZWQgbm9kZXMgY2hhbmdlcy4iKTsKLQotYXN5bmNfdGVzdCgodGVz
dCkgPT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKLSAgbGV0IHRUcmVl
ID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKLSAgbGV0IFtz
MVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0KLSAgdFRyZWUuczEu
YXNzaWduKFt0VHJlZS5jMV0pOwotCi0gIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgp
ID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKLQotICAgIFtz
MVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0gICAgdFRyZWUuczIu
YXNzaWduKFt0VHJlZS5jMV0pOwotCi0gICAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9t
aXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICAgIGFzc2VydF9lcXVh
bHMoZGF0YS5zMUV2ZW50Q291bnQsIDIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZl
bnRDb3VudCwgMSk7Ci0gICAgfSkpOwotICB9KSk7Ci19LCAiRmlyZSBzbG90Y2hhbmdlIGV2ZW50
IG9uIHByZXZpb3VzIHNsb3QgYW5kIG5ldyBzbG90IHdoZW4gbm9kZSBpcyByZWFzc2lnbmVkLiIp
OwotCi1hc3luY190ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVj
dGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRl
c3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0KLSAg
dFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwotCi0gIHMxUHJvbWlzZS50aGVuKHRlc3Quc3Rl
cF9mdW5jKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsK
LQotICAgIFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotICAgIHRUcmVlLnMxLmFz
c2lnbihbXSk7Ci0KLSAgICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+
IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDIpOwotICAgIH0pKTsK
LSAgfSkpOwotfSwgIkZpcmUgc2xvdGNoYW5nZSBldmVudCBvbiBub2RlIGFzc2lnbm1lbnQgYW5k
IHdoZW4gYXNzaWduZWQgbm9kZSBpcyByZW1vdmVkLiIpOwotCi1hc3luY190ZXN0KCh0ZXN0KSA9
PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOwotICBsZXQgdFRyZWUgPSBz
ZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOwotICBsZXQgW3MxUHJv
bWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5j
MSwgdFRyZWUuYzJdKTsKLQotICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7
Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7Ci0KLSAgICBbczFQcm9t
aXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLSAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMy
LCB0VHJlZS5jMV0pOwotCi0gICAgczFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgo
KSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAyKTsKLSAgICB9
KSk7Ci0gIH0pKTsKLX0sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBvcmRlciBvZiBhc3Np
Z25lZCBub2RlcyBjaGFuZ2VzLiIpOwotCi1wcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKLSAgY29u
c3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hhZG93
RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9taXNlXSA9IG1v
bml0b3JTbG90cyhkYXRhKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0KLSAg
cmV0dXJuIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKLSAgICBhc3NlcnRf
ZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKLQotICAgIFtzMVByb21pc2VdID0gbW9uaXRv
clNsb3RzKGRhdGEpOwotICAgIHRUcmVlLmMxLnJlbW92ZSgpOwotCi0gICAgcmV0dXJuIHMxUHJv
bWlzZTsKLSAgfSkpCi0gIC50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKLSAgICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDIpOwotICB9KSk7Ci19LCAiRmlyZSBzbG90Y2hh
bmdlIGV2ZW50IHdoZW4gYXNzaWduZWQgbm9kZSBpcyByZW1vdmVkLiIpOwotCi1wcm9taXNlX3Rl
c3QoKHRlc3QpID0+IHsKLSAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxl
dCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0g
IFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzFdKTsKLQotICByZXR1cm4gczFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkg
PT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOwotCi0gICAgW3Mx
UHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0gICAgdFRyZWUuczEucmVtb3ZlKCk7Ci0K
LSAgICByZXR1cm4gczFQcm9taXNlOwotICB9KSkKLSAgLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkg
PT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMik7Ci0gIH0pKTsK
LX0sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiByZW1vdmluZyBhIHNsb3QgZnJvbSBTaGFk
b3dzIFJvb3QgdGhhdCBjaGFuZ2VzIGl0cyBhc3NpZ25lZCBub2Rlcy4iKTsKLQotYXN5bmNfdGVz
dCgodGVzdCkgPT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKLSAgbGV0
IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKLSAg
bGV0IFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLnJlbW92
ZSgpOwotCi0gIGxldCBmYWtlRXZlbnQgPSBuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnKTsKLSAgZmFr
ZUV2ZW50LmlzRmFrZUV2ZW50ID0gdHJ1ZTsKLSAgdFRyZWUuczEuZGlzcGF0Y2hFdmVudChmYWtl
RXZlbnQpOwotCi0gIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKLSAgICBh
c3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAwKTsKLQotICAgIFtzMVByb21pc2UsIHMy
UHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0gICAgdFRyZWUuc2hhZG93X3Jvb3QuaW5z
ZXJ0QmVmb3JlKHRUcmVlLnMxLCB0VHJlZS5zMik7Ci0KLSAgICB0VHJlZS5zMS5kaXNwYXRjaEV2
ZW50KGZha2VFdmVudCk7Ci0gICAgdFRyZWUuczIuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwot
Ci0gICAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBf
ZnVuY19kb25lKCgpID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQs
IDApOwotICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMCk7Ci0gICAgfSkp
OwotICB9KSk7Ci0KLX0sICJObyBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYWRkaW5nIG9yIHJlbW92
aW5nIGFuIGVtcHR5IHNsb3QuIik7Ci0KLWFzeW5jX3Rlc3QoKHRlc3QpID0+IHsKLSAgY29uc3Qg
ZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9N
KHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9taXNlLCBzMlByb21p
c2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLmhvc3QuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwotCi0gIGxldCBmYWtlRXZlbnQgPSBuZXcgRXZl
bnQoJ3Nsb3RjaGFuZ2UnKTsKLSAgZmFrZUV2ZW50LmlzRmFrZUV2ZW50ID0gdHJ1ZTsKLSAgdFRy
ZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwotICB0VHJlZS5zMi5kaXNwYXRjaEV2ZW50
KGZha2VFdmVudCk7Ci0KLSAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhl
bih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRD
b3VudCwgMCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMCk7Ci0KLSAg
ICBbczFQcm9taXNlLCBzMlByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotICAgIHRUcmVl
LnNoYWRvd19yb290Lmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSwg
dFRyZWUuczIpOwotCi0gICAgdFRyZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwotICAg
IHRUcmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLQotICAgIFByb21pc2UuYWxsKFtz
MVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0g
ICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAwKTsKLSAgICAgIGFzc2VydF9l
cXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDApOwotICAgIH0pKTsKLSAgfSkpOwotCi19LCAiTm8g
c2xvdGNoYW5nZSBldmVudCB3aGVuIGFkZGluZyBhbm90aGVyIHNsb3RhYmxlLiIpOwotCi08L3Nj
cmlwdD4KLQotPGRpdiBpZD0idGVzdF9uZXN0ZWRfc2xvdGNoYW5nZSI+Ci0gIDxkaXY+Ci0gICAg
PHRlbXBsYXRlIGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1hbnVhbCI+
Ci0gICAgICA8ZGl2PgotICAgICAgICA8dGVtcGxhdGUgZGF0YS1tb2RlPSJvcGVuIiBkYXRhLXNs
b3QtYXNzaWdubWVudD0ibWFudWFsIj4KLSAgICAgICAgICA8c2xvdCBpZD0iczIiPjwvc2xvdD4K
LSAgICAgICAgICA8c2xvdCBpZD0iczMiPjwvc2xvdD4KLSAgICAgICAgPC90ZW1wbGF0ZT4KLSAg
ICAgICAgPHNsb3QgaWQ9InMxIj48L3Nsb3Q+Ci0gICAgICA8L2Rpdj4KLSAgICA8L3RlbXBsYXRl
PgotICAgIDxkaXYgaWQ9ImMxIj48L2Rpdj4KLSAgPC9kaXY+Ci08L2Rpdj4KLQotPHNjcmlwdD4K
LWFzeW5jX3Rlc3QoKHRlc3QpID0+IHsKLSAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9u
KCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3RfbmVzdGVkX3Nsb3RjaGFuZ2Us
IHRlc3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlLCBzM1Byb21pc2VdID0g
bW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMzLmFzc2lnbihbdFRyZWUuczFdKTsKLQot
ICBzM1Byb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhkYXRhLnMzRXZlbnRDb3VudCwgMSk7Ci0gICAgW3MxUHJvbWlzZSwgczJQcm9taXNlLCBzM1By
b21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gICAgdFRyZWUuczEuYXNzaWduKFt0VHJl
ZS5jMV0pOwotCi0gICAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczNQcm9taXNlXSkudGhlbih0
ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2
ZW50Q291bnQsIDEpOwotICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMzRXZlbnRDb3VudCwgMik7
Ci0gICAgfSkpOwotICB9KSk7Ci19LCAiRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYXNzaWdu
IG5vZGUgdG8gbmVzdGVkIHNsb3QsIGVuc3VyZSBldmVudCBidWJibGVzIHVwcy4iKTsKLTwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWltcGVyYXRpdmUtc2xvdC1hcGkudGVudGF0aXZlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyZTZhNDZiY2JhM2Q5Mzc0N2U2Y2JkN2Nl
YTYyN2VhMjE0ZGM0NWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL3Nsb3RzLWltcGVyYXRpdmUtc2xvdC1hcGkudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLQotRkFJTCBhdHRhY2hTaGFkb3cgY2FuIHRha2Ug
c2xvdEFzc2lnbm1lbnQgcGFyYW1ldGVyLiBhc3NlcnRfdGhyb3dzX2pzOiBvdGhlcnMgc2hvdWxk
IHRocm93IGV4Y2VwdGlvbiBmdW5jdGlvbiAiKCkgPT4gewotICAgIHRUcmVlLmhvc3QzLmF0dGFj
aFNoYWRvdyh7IG1vZGU6ICdvcGVuJywgc2xvdEFzc2lnbm1lbnQ6ICdleGNlcHRpb25hbCcgfSl9
IiBkaWQgbm90IHRocm93Ci1GQUlMIEltcGVyYXRpdmUgc2xvdCBBUEkgdGhyb3dzIGV4Y2VwdGlv
biB3aGVuIG5vdCBzbG90QXNzaWdubWVudCAhPSAnbWFudWFsJy4gYXNzZXJ0X3Rocm93c19kb206
IGZ1bmN0aW9uICIoKSA9PiB7IHRUcmVlLnMxLmFzc2lnbihbXSk7IH0iIHRocmV3IG9iamVjdCAi
VHlwZUVycm9yOiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUu
czEuYXNzaWduKFtdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMg
bm90IGEgRE9NRXhjZXB0aW9uIE5vdEFsbG93ZWRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVx
dWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMAotRkFJTCBJbXBlcmF0aXZlIHNsb3QgQVBJIHRo
cm93cyBleGNlcHRpb24gd2hlbiBzbG90dGFibGUgcGFyZW50Tm9kZSAhPSBzbG90J3MgaG9zdC4g
YXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIoKSA9PiB7IHRUcmVlLnMyLmFzc2lnbihbdFRy
ZWUuYzJdKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IHRUcmVlLnMyLmFzc2lnbiBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMyXSknLCAndFRyZWUu
czIuYXNzaWduJyBpcyB1bmRlZmluZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBOb3RB
bGxvd2VkRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVj
dGVkIDAKLUZBSUwgSW1wZXJhdGl2ZSBzbG90IEFQSSBjYW4gYXNzaWduIG5vZGVzIGluIG1hbnVh
bCBzbG90IGFzc2lnbm1lbnQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBF
bGVtZW50IG5vZGUgPHNsb3QgaWQ9InMxIj48L3Nsb3Q+Ci1GQUlMIE9yZGVyIG9mIHNsb3R0YWJs
ZXMgaXMgcHJlc2VydmVkIGluIG1hbnVhbCBzbG90IGFzc2lnbm1lbnQuIHRUcmVlLnMxLmFzc2ln
biBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJl
ZS5jMywgdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwg
UHJldmlvdXNseSBhc3NpZ25lZCBzbG90dGFibGUgaXMgbW92ZWQgdG8gbmV3IHNsb3Qgd2hlbiBp
dCdzIHJlYXNzaWduZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0
VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKScsICd0VHJlZS5z
MS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgT3JkZXIgYW5kIGFzc2lnbm1lbnQgb2Ygbm9k
ZXMgYXJlIHByZXNlcnZlZCBkdXJpbmcgbXVsdGlwbGUgYXNzaWdubWVudCBpbiBhIHJvdy4gdFRy
ZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgQXNzaWduaW5n
IGludmFsaWQgbm9kZXMgY2F1c2VzIGV4Y2VwdGlvbiBhbmQgc2xvdCByZXR1cm5zIHRvIGl0cyBw
cmV2aW91cyBzdGF0ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5vdEFsbG93ZWRFcnJvciIg
YnV0IGdvdCAiVHlwZUVycm9yIgotRkFJTCBNb3ZpbmcgYSBzbG90IHRvIGEgbmV3IGhvc3QsIHRo
ZSBzbG90IGxvc2VzIGl0cyBwcmV2aW91c2x5IGFzc2lnbmVkIHNsb3R0YWJsZXMuIHRUcmVlLnMx
LmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMx
LCB0VHJlZS5jMiwgdFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkK
LUZBSUwgTW92aW5nIGEgc2xvdCdzIHRyZWUgb3JkZXIgcG9zaXRpb24gd2l0aGluIGEgc2hhZG93
IGhvc3QgaGFzIG5vIGltcGFjdCBvbiBpdHMgYXNzaWduZWQgc2xvdHRhYmxlcy4gdFRyZWUuczEu
YXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEs
IHRUcmVlLmMyLCB0VHJlZS5jM10pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQot
RkFJTCBBcHBlbmRpbmcgc2xvdHRhYmxlIHRvIGRpZmZlcmVudCBob3N0LCBpdCBsb3NlcyBzbG90
IGFzc2lnbm1lbnQuIEl0IGNhbiBiZSByZS1hc3NpZ25lZCB3aXRoaW4gYSBuZXcgaG9zdC4gdFRy
ZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZp
bmVkKQotRkFJTCBQcmV2aW91c2x5IGFzc2lnbmVkIG5vZGUgc2hvdWxkIG5vdCBiZSBhc3NpZ25l
ZCBpZiBzbG90IG1vdmVkIHRvIGEgbmV3IHNoYWRvdyByb290LiBUaGUgc2xvdCByZW1haW5zIGVt
cHR5IHdoZW4gbW92ZWQgYmFjaywgbm8gdHJpZ2dlciByZWNhbGMuIHRUcmVlLnMxLmFzc2lnbiBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRy
ZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIFByZXZpb3VzbHkgYXNzaWduZWQgbm9k
ZSBzaG91bGQgbm90IGJlIGFzc2lnbmVkIGlmIHNsb3QgbW92ZWQgdG8gYSBuZXcgc2hhZG93IHJv
b3QuIFRoZSBzbG90IHJlbWFpbnMgZW1wdHkgd2hlbiBtb3ZlZCBiYWNrLCB0cmlnZ2VyIHJlY2Fs
Yy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2ln
bihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgQXNz
aWdubWVudCB3aXRoIHRoZSBzYW1lIG5vZGUgaW4gcGFyYW1ldGVycyBzaG91bGQgYmUgaWdub3Jl
ZCwgbGFzdCBvbmUgd2lucy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMxLCB0VHJlZS5jMV0pJywgJ3RUcmVl
LnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQotRkFJTCBSZW1vdmluZyBhIHNsb3QgZnJvbSBET00g
cmVzZXRzIGl0cyBzbG90dGFibGUncyBzbG90IGFzc2lnbm1lbnQuIHRUcmVlLnMxLmFzc2lnbiBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5j
MiwgdFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgQSBz
bG90IHNob3VsZCBiZSBjbGVhcmVkIG9mIGFzc2lnbmVkIG5vZGVzIGV2ZW4gaWYgaXQncyByZS1p
bnNlcnRlZCBpbnRvIHRoZSBzYW1lIHNoYWRvdyByb290LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMx
LmFzc2lnbicgaXMgdW5kZWZpbmVkKQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMtaW1wZXJhdGl2ZS1zbG90
LWFwaS50ZW50YXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZmZiMDhmYmExYjcwZTFlYWQ5Njgx
YzJjNTg2NzIwNDE1ZDMzZmYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMzA1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPlNoYWRvdyBE
T006IEltcGVyYXRpdmUgU2xvdCBBUEk8L3RpdGxlPgotPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRs
ZT0iWXUgSGFuIiBocmVmPSJtYWlsdG86eXV6aGVoYW5AY2hyb21pdW0ub3JnIj4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9InRlc3RfYmFzaWMi
PgotICA8ZGl2IGlkPSJob3N0MSI+PC9kaXY+Ci0gIDxkaXYgaWQ9Imhvc3QyIj48L2Rpdj4KLSAg
PGRpdiBpZD0iaG9zdDMiPjwvZGl2PgotPC9kaXY+Ci08c2NyaXB0PgotdGVzdCgoKSA9PiB7Ci0g
IGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYmFzaWMpOwotICBhc3NlcnRfbm90X2Vx
dWFscyh0VHJlZS5ob3N0MS5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicsIHNsb3RBc3NpZ25t
ZW50OiAnbWFudWFsJ30pLAotICAgICAgICAgICAgICAgICAgICBudWxsLCAnc2xvdCBhc3NpZ25t
ZW50IG1hbnVhbCBzaG91bGQgd29yaycpOwotICBhc3NlcnRfbm90X2VxdWFscyh0VHJlZS5ob3N0
Mi5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicsIHNsb3RBc3NpZ25tZW50OiAnbmFtZSd9KSwK
LSAgICAgICAgICAgICAgICAgICAgbnVsbCwgJ3Nsb3QgYXNzaWdubWVudCBhdXRvIHNob3VsZCB3
b3JrJyk7Ci0gIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiB7Ci0gICAgdFRyZWUu
aG9zdDMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nLCBzbG90QXNzaWdubWVudDogJ2V4Y2Vw
dGlvbmFsJyB9KX0sCi0gICAgICAgICAgICAgICAgJ290aGVycyBzaG91bGQgdGhyb3cgZXhjZXB0
aW9uJyk7Ci19LCAnYXR0YWNoU2hhZG93IGNhbiB0YWtlIHNsb3RBc3NpZ25tZW50IHBhcmFtZXRl
ci4nKTsKLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0ZXN0X2Vycm9ycyI+Ci0gIDxkaXYgaWQ9Imhv
c3QxIj4KLSAgICA8dGVtcGxhdGUgZGF0YS1tb2RlPSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVu
dD0ibmFtZSI+Ci0gICAgICA8c2xvdCBpZD0iczEiPjwvc2xvdD4KLSAgICA8L3RlbXBsYXRlPgot
ICAgIDxkaXYgaWQ9ImMxIj48L2Rpdj4KLSAgPC9kaXY+Ci0gIDxkaXYgaWQ9Imhvc3QyIj4KLSAg
ICA8dGVtcGxhdGUgZGF0YS1tb2RlPSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFs
Ij4KLSAgICAgIDxzbG90IGlkPSJzMiI+PC9zbG90PgotICAgIDwvdGVtcGxhdGU+Ci0gIDwvZGl2
PgotICA8ZGl2IGlkPSJjMiI+PC9kaXY+Ci08L2Rpdj4KLTxzY3JpcHQ+Ci10ZXN0KCgpID0+IHsK
LSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9lcnJvcnMpOwotICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkRWxlbWVudHMoKSwgW3RUcmVlLmMxXSk7Ci0gIGFz
c2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0KLSAgYXNzZXJ0
X3Rocm93c19kb20oJ05vdEFsbG93ZWRFcnJvcicsICgpID0+IHsgdFRyZWUuczEuYXNzaWduKFtd
KTsgfSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWRFbGVtZW50cygp
LCBbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRU
cmVlLnMxKTsKLX0sICdJbXBlcmF0aXZlIHNsb3QgQVBJIHRocm93cyBleGNlcHRpb24gd2hlbiBu
b3Qgc2xvdEFzc2lnbm1lbnQgIT0gXCdtYW51YWxcJy4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGxl
dCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfZXJyb3JzKTsKLSAgYXNzZXJ0X3Rocm93c19k
b20oJ05vdEFsbG93ZWRFcnJvcicsICgpID0+IHsgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0p
OyB9KTsKLQotICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90QWxsb3dlZEVycm9yJywgKCkgPT4geyB0
VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmhvc3QxXSk7IH0pOwotfSwgJ0ltcGVyYXRpdmUgc2xvdCBB
UEkgdGhyb3dzIGV4Y2VwdGlvbiB3aGVuIHNsb3R0YWJsZSBwYXJlbnROb2RlICE9IHNsb3RcJ3Mg
aG9zdC4nKTsKLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0ZXN0X2Fzc2lnbiI+Ci0gIDxkaXYgaWQ9
Imhvc3QiPgotICAgIDx0ZW1wbGF0ZSBpZD0ic2hhZG93X3Jvb3QiIGRhdGEtbW9kZT0ib3BlbiIg
ZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1hbnVhbCI+Ci0gICAgICA8c2xvdCBpZD0iczEiPjwvc2xv
dD4KLSAgICAgIDxzbG90IGlkPSJzMiI+PC9zbG90PgotICAgICAgPHNsb3QgaWQ9InMzIj48L3Ns
b3Q+Ci0gICAgPC90ZW1wbGF0ZT4KLSAgICA8ZGl2IGlkPSJjMSI+PC9kaXY+Ci0gICAgPGRpdiBp
ZD0iYzIiPjwvZGl2PgotICAgIDxkaXYgaWQ9ImMzIj48L2Rpdj4KLSAgICA8ZGl2IGlkPSJuZXN0
ZWQiPgotICAgICAgIDxkaXYgaWQ9Im5zMSI+PC9kaXY+Ci0gICAgPC9kaXY+Ci0gIDwvZGl2Pgot
ICA8ZGl2IGlkPSJjNCI+PC9kaXY+Ci0gIDxkaXYgaWQ9Imhvc3Q0Ij4KLSAgICA8dGVtcGxhdGUg
aWQ9InNoYWRvd19yb290NCIgZGF0YS1tb2RlPSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0i
bWFudWFsIj4KLSAgICAgIDxzbG90IGlkPSJzNCIgbmFtZT0iczQiPjwvc2xvdD4KLSAgICA8L3Rl
bXBsYXRlPgotICA8L2Rpdj4KLTwvZGl2PgotPHNjcmlwdD4KLXRlc3QoKCkgPT4gewotICBsZXQg
dFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0gIGFzc2VydF9hcnJheV9lcXVh
bHModFRyZWUuczIuYXNzaWduZWRFbGVtZW50cygpLCBbXSk7Ci0gIGFzc2VydF9lcXVhbHModFRy
ZWUuYzEuYXNzaWduZWRTbG90LCBudWxsKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMx
XSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRy
ZWUuYzFdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMx
KTsKLQotICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jM10pOwotICBhc3NlcnRf
YXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7Ci0gIGFz
c2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRU
cmVlLmMzXSk7Ci19LCAnSW1wZXJhdGl2ZSBzbG90IEFQSSBjYW4gYXNzaWduIG5vZGVzIGluIG1h
bnVhbCBzbG90IGFzc2lnbm1lbnQuJyk7Ci0KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBj
cmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5j
MiwgdFRyZWUuYzMsIHRUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEu
YXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5jMV0pOwotICBhc3Nl
cnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotICBhc3NlcnRfZXF1
YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotICBhc3NlcnRfZXF1YWxzKHRU
cmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzEsIHRUcmVlLmMyXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWdu
ZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyXSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUu
YzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNz
aWduZWRTbG90LCB0VHJlZS5zMSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRT
bG90LCBudWxsKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMzLCB0VHJlZS5jMiwgdFRy
ZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCks
IFt0VHJlZS5jMywgdFRyZWUuYzIsIHRUcmVlLmMxXSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUu
YzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNz
aWduZWRTbG90LCB0VHJlZS5zMSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRT
bG90LCB0VHJlZS5zMSk7Ci19LCAnT3JkZXIgb2Ygc2xvdHRhYmxlcyBpcyBwcmVzZXJ2ZWQgaW4g
bWFudWFsIHNsb3QgYXNzaWdubWVudC4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9
IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVl
LmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5z
MS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSk7Ci0KLSAg
dFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVl
LnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMzLCB0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyXSk7Ci0gIGFzc2Vy
dF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0gIGFzc2VydF9lcXVh
bHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMik7Ci0gIGFzc2VydF9lcXVhbHModFRy
ZWUuYzMuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0KLSAgdFRyZWUuczMuYXNzaWduKFt0VHJl
ZS5jM10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwg
W3RUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2Rl
cygpLCBbdFRyZWUuYzJdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMy5hc3NpZ25l
ZE5vZGVzKCksIFt0VHJlZS5jM10pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVk
U2xvdCwgdFRyZWUuczEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwg
dFRyZWUuczIpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUu
czMpOwotfSwgJ1ByZXZpb3VzbHkgYXNzaWduZWQgc2xvdHRhYmxlIGlzIG1vdmVkIHRvIG5ldyBz
bG90IHdoZW4gaXRcJ3MgcmVhc3NpZ25lZC4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gbGV0IHRUcmVl
ID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzFdKTsKLSAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzFdKTsKLSAgdFRy
ZWUuczMuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzNdKTsKLQotICBhc3NlcnRfYXJyYXlfZXF1
YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyXSk7Ci0gIGFzc2VydF9hcnJheV9l
cXVhbHModFRyZWUuczMuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMzXSk7Ci0g
IGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMyk7Ci0gIGFzc2Vy
dF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMik7Ci0gIGFzc2VydF9lcXVh
bHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJlZS5zMyk7Ci19LCAnT3JkZXIgYW5kIGFzc2ln
bm1lbnQgb2Ygbm9kZXMgYXJlIHByZXNlcnZlZCBkdXJpbmcgbXVsdGlwbGUgYXNzaWdubWVudCBp
biBhIHJvdy4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVl
KHRlc3RfYXNzaWduKTsKLQotICAvLyB0VHJlZS5jNCBpcyBpbnZhbGlkIGZvciB0VHJlZS5ob3N0
IHNsb3QgYXNzaWdubWVudC4KLSAgdHJ5IHsKLSAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMx
LCB0VHJlZS5jMiwgdFRyZWUuYzRdKTsKLSAgICBhc3NlcnRfdW5yZWFjaGVkKCdhc3NpZ24oKSBz
aG91bGQgaGF2ZSBmYWlsZWQpICcpOwotICB9IGNhdGNoIChlcnIpIHsKLSAgICBhc3NlcnRfZXF1
YWxzKGVyci5uYW1lLCAnTm90QWxsb3dlZEVycm9yJyk7Ci0gIH0KLQotICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW10pOwotICBhc3NlcnRfZXF1YWxzKHRU
cmVlLmMxLmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNz
aWduZWRTbG90LCBudWxsKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jNC5hc3NpZ25lZFNsb3Qs
IG51bGwpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5j
MV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RU
cmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKTsKLQotICB0cnkgewotICAgIHRUcmVlLnMxLmFz
c2lnbihbdFRyZWUuYzRdKTsKLSAgICBhc3NlcnRfdW5yZWFjaGVkKCdhc3NpZ24oKSBzaG91bGQg
aGF2ZSBmYWlsZWQpICcpOwotICB9IGNhdGNoIChlcnIpIHsKLSAgICBhc3NlcnRfZXF1YWxzKGVy
ci5uYW1lLCAnTm90QWxsb3dlZEVycm9yJyk7Ci0gIH0KLQotICAvLyBQcmV2aW91cyBzdGF0ZSBp
cyBwcmVzZXJ2ZWQuCi0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2Rl
cygpLCBbdFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5jMV0pOwotICBhc3NlcnRfZXF1YWxzKHRU
cmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMy
LmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2ln
bmVkU2xvdCwgdFRyZWUuczEpOwotfSwgJ0Fzc2lnbmluZyBpbnZhbGlkIG5vZGVzIGNhdXNlcyBl
eGNlcHRpb24gYW5kIHNsb3QgcmV0dXJucyB0byBpdHMgcHJldmlvdXMgc3RhdGUuJyk7Ci0KLXRl
c3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0K
LSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7Ci0gIGFz
c2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRU
cmVlLmMyLCB0VHJlZS5jM10pOwotCi0gIHRUcmVlLmhvc3Q0LmFwcGVuZCh0VHJlZS5zMSk7Ci0g
IGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSk7Ci19LCAn
TW92aW5nIGEgc2xvdCB0byBhIG5ldyBob3N0LCB0aGUgc2xvdCBsb3NlcyBpdHMgcHJldmlvdXNs
eSBhc3NpZ25lZCBzbG90dGFibGVzLicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0g
Y3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUu
YzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMx
LmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKLQotICB0
VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUodFRyZWUuczIsIHRUcmVlLnMxKTsKLSAgYXNz
ZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRy
ZWUuYzIsIHRUcmVlLmMzXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWdu
ZWROb2RlcygpLCBbXSk7Ci0KLSAgdFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVl
LnM0LCB0VHJlZS5zMSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWRO
b2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOwotICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKHRUcmVlLnM0LmFzc2lnbmVkTm9kZXMoKSwgW10pOwotCi0gIHRUcmVlLm5zMS5hcHBl
bmQodFRyZWUuczEpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9k
ZXMoKSwgW10pOwotfSwgJ01vdmluZyBhIHNsb3RcJ3MgdHJlZSBvcmRlciBwb3NpdGlvbiB3aXRo
aW4gYSBzaGFkb3cgaG9zdCBoYXMgbm8gaW1wYWN0IG9uIGl0cyBhc3NpZ25lZCBzbG90dGFibGVz
LicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9h
c3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5j
M10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RU
cmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKLQotICB0VHJlZS5ob3N0NC5hcHBlbmQodFRy
ZWUuYzEpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwg
W3RUcmVlLmMyLCB0VHJlZS5jM10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnM0LmFz
c2lnbmVkTm9kZXMoKSwgW10pOwotCi0gIHRUcmVlLnM0LmFzc2lnbihbdFRyZWUuYzFdKTsKLSAg
YXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zNC5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0p
OwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczQpOwotfSwg
J0FwcGVuZGluZyBzbG90dGFibGUgdG8gZGlmZmVyZW50IGhvc3QsIGl0IGxvc2VzIHNsb3QgYXNz
aWdubWVudC4gSXQgY2FuIGJlIHJlLWFzc2lnbmVkIHdpdGhpbiBhIG5ldyBob3N0LicpOwotCi10
ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwot
Ci0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0
VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOwotCi0gIHRUcmVlLnNoYWRvd19y
b290NC5pbnNlcnRCZWZvcmUodFRyZWUuczEsIHRUcmVlLnM0KTsKLSAgYXNzZXJ0X2FycmF5X2Vx
dWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdKTsKLSAgLy8gRG9uJ3QgdHJpZ2dlciBz
bG90IGFzc2lnbm1lbnQgb24gcHJldmlvdXMgc2hhZG93IHJvb3QuCi0gIC8vIGFzc2VydF9hcnJh
eV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbXSk7Ci0KLSAgdFRyZWUuc2hhZG93
X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnMxLCB0VHJlZS5zMik7Ci0gIGFzc2VydF9hcnJheV9l
cXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSk7Ci19LCAnUHJldmlvdXNseSBhc3Np
Z25lZCBub2RlIHNob3VsZCBub3QgYmUgYXNzaWduZWQgaWYgc2xvdCBtb3ZlZCB0byBhIG5ldyBz
aGFkb3cgcm9vdC4gVGhlIHNsb3QgcmVtYWlucyBlbXB0eSB3aGVuIG1vdmVkIGJhY2ssIG5vIHRy
aWdnZXIgcmVjYWxjLicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVz
dFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKLSAg
YXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0p
OwotCi0gIHRUcmVlLnNoYWRvd19yb290NC5pbnNlcnRCZWZvcmUodFRyZWUuczEsIHRUcmVlLnM0
KTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdKTsK
LSAgLy8gVHJpZ2dlciBzbG90IGFzc2lnbm1lbnQgb24gcHJldmlvdXMgc2hhZG93IHJvb3QuCi0g
IGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbXSk7Ci0KLSAg
dFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnMxLCB0VHJlZS5zMik7Ci0gIGFz
c2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSk7Ci19LCAnUHJl
dmlvdXNseSBhc3NpZ25lZCBub2RlIHNob3VsZCBub3QgYmUgYXNzaWduZWQgaWYgc2xvdCBtb3Zl
ZCB0byBhIG5ldyBzaGFkb3cgcm9vdC4gVGhlIHNsb3QgcmVtYWlucyBlbXB0eSB3aGVuIG1vdmVk
IGJhY2ssIHRyaWdnZXIgcmVjYWxjLicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0g
Y3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUu
YzEsIHRUcmVlLmMxLCB0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMx
LmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJl
ZS5jMSwgdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jMiwgdFRyZWUuYzFdKTsKLSAgYXNzZXJ0
X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMiwgdFRyZWUu
YzFdKTsKLX0sICdBc3NpZ25tZW50IHdpdGggdGhlIHNhbWUgbm9kZSBpbiBwYXJhbWV0ZXJzIHNo
b3VsZCBiZSBpZ25vcmVkLCBsYXN0IG9uZSB3aW5zLicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0
IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2ln
bihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOwotICB0VHJlZS5zMS5yZW1vdmUoKTsK
LQotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci0gIGFzc2Vy
dF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCBudWxsKTsKLSAgYXNzZXJ0X2VxdWFscyh0
VHJlZS5jMy5hc3NpZ25lZFNsb3QsIG51bGwpOwotfSwgJ1JlbW92aW5nIGEgc2xvdCBmcm9tIERP
TSByZXNldHMgaXRzIHNsb3R0YWJsZVwncyBzbG90IGFzc2lnbm1lbnQuJyk7Ci0KLXRlc3QoKCkg
PT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0KLSAgdFRy
ZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwotICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMyXSk7
Ci0gIHRUcmVlLnMzLmFzc2lnbihbdFRyZWUuYzNdKTsKLSAgdFRyZWUuc2hhZG93X3Jvb3QuaW5z
ZXJ0QmVmb3JlKHRUcmVlLnMyLCB0VHJlZS5zMSk7Ci0gIHRUcmVlLnNoYWRvd19yb290Lmluc2Vy
dEJlZm9yZSh0VHJlZS5zMywgdFRyZWUuczEpOwotCi0gIGFzc2VydF9hcnJheV9lcXVhbHModFRy
ZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFs
cyh0VHJlZS5zMi5hc3NpZ25lZE5vZGVzKCksIFtdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0
VHJlZS5zMy5hc3NpZ25lZE5vZGVzKCksIFtdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5h
c3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25l
ZFNsb3QsIG51bGwpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgbnVs
bCk7Ci0KLSAgdFRyZWUuczIucmVtb3ZlKCk7Ci0KLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJl
ZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHRUcmVlLnMzLmFzc2lnbmVkTm9kZXMoKSwgW10pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMx
LmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2ln
bmVkU2xvdCwgbnVsbCk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCBu
dWxsKTsKLX0sICdBIHNsb3Qgc2hvdWxkIGJlIGNsZWFyZWQgb2YgYXNzaWduZWQgbm9kZXMgZXZl
biBpZiBpdFwncyByZS1pbnNlcnRlZCBpbnRvIHRoZSBzYW1lIHNoYWRvdyByb290LicpOwotPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vdzNjLWltcG9ydC5sb2cKaW5kZXggMjAy
NGY2M2FkYTM5MTZlYzIxNjY1ODA4NWI1NzBhZTJlODc0ZTU3OS4uNjEwZWI0MTdhODk4ZjdkM2Y1
M2QxM2QyZmY1YzQyY2M4NDkyMTcyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3czYy1pbXBvcnQubG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS93M2Mt
aW1wb3J0LmxvZwpAQCAtMjksNiArMjksNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9SYW5nZS1wcm90b3R5
cGUtaW5zZXJ0Tm9kZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL1NoYWRvd1Jvb3QtaW50ZXJmYWNlLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vU2xvdHRhYmxlLW1p
eGluLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vYWNjZXNza2V5LnRlbnRhdGl2ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2NhcHR1cmluZy1hbmQtYnViYmxpbmct
ZXZlbnQtbGlzdGVuZXJzLWFjcm9zcy1zaGFkb3ctdHJlZXMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0eS0w
MDEudGVudGF0aXZlLWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHktMDAxLnRlbnRhdGl2ZS5o
dG1sCkBAIC00MSwxMSArNDIsMTUgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtZGlzcGF0Y2gtb3Jk
ZXIudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtaW5zaWRlLXNoYWRvdy10cmVlLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtaW5z
aWRlLXNsb3R0ZWQtbm9kZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LW9uLXBzZXVkby1lbGVtZW50LWNyYXNoLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
ZXZlbnQtcG9zdC1kaXNwYXRjaC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LXdpdGgtcmVsYXRlZC10YXJnZXQuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9m
b3JtLWNvbnRyb2wtZm9ybS1hdHRyaWJ1dGUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9nZXRFbGVtZW50QnlJZC1keW5hbWljLTAw
MS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2hpc3RvcmljYWwuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1w
ZXJhdGl2ZS1zbG90LWFwaS1zbG90Y2hhbmdlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2lubmVySFRNTC1zZXR0ZXIueGh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQtZWxlbWVudC1saXN0Lmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQtdHlw
ZS1yYWRpby5odG1sCkBAIC02MSw3ICs2Niw1IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RjaGFuZ2Uu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9zbG90cy1mYWxsYmFjay1pbi1kb2N1bWVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWZhbGxiYWNrLmh0bWwK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
c2xvdHMtaW1wZXJhdGl2ZS1hcGktc2xvdGNoYW5nZS50ZW50YXRpdmUuaHRtbAotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1pbXBl
cmF0aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLW91dHNpZGUtc2hhZG93LWRvbS5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL3Nsb3RzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92
ZS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUtY3Jh
c2gtZXhwZWN0ZWQudHh0CmluZGV4IGZkZjdmOWUyYTJhZmNiYWUwNGU5NWIyNzdkMTZjMjFjODg5
MjY5YWUuLmUyNmFjNDg3MTY4NTg5YzM3OTE0MTllZDZhOGRlMmZjYWNjZDJkNGIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3QtcmVtb3ZlLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAt
MSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IENhbm5vdCBkZWNsYXJl
IGEgY29uc3QgdmFyaWFibGUgdHdpY2U6ICdyb290Jy4KK0NPTlNPTEUgTUVTU0FHRTogTm90U3Vw
cG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4KIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24t
cHNldWRvLWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1vbi1w
c2V1ZG8tZWxlbWVudC1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTA3NDk3MjI1YTBj
YmQ1ZDA5ODdjMmFiZmY3ZGIxODdhOTBiMTFiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKKyAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDM0CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4MTgKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNp
emUgNzg0eDE4CisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyOTR4
MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyOTR4MTgKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI5NDogIlRoaXMgdGVzdCBwYXNzZXMg
aWYgdGhlIHJlbmRlcmVyIGRvZXMgbm90IGNyYXNoLiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxOCkg
c2l6ZSA3ODR4MAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427025</attachid>
            <date>2021-04-25 23:25:10 -0700</date>
            <delta_ts>2021-04-25 23:27:08 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225042-20210425232509.patch</filename>
            <type>text/plain</type>
            <size>111899</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA0LTI1ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlc3luYyBXUFQgc2hhZG93IERPTSB0ZXN0cyBh
cyBvZiAwMmYwY2MxMAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI1MDQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAg
ICAgICAgUmViYXNlbGluZWQgdGhlIHRlc3QgYW5kIGFkZGVkIHBsYXRmb3JtIHNwZWNpZmljIHJl
c3VsdHMgZm9yIHRoZSBjcmFzaCB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFw
aS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVs
ZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9nbGli
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1y
ZW1vdmUtY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZWJhc2VsaW5lZC4KKwogMjAyMS0wNC0yNSAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VzZCBFV1Mg
Zml4ZXMuCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3NjU4
MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSw0NSBAQAorMjAyMS0wNC0yNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KKworICAgICAgICBSZXN5bmMgV1BUIHNoYWRvdyBET00gdGVzdHMgYXMgb2YgMDJmMGNj
MTAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTA0
MgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFJlc3lu
YydlZCBzaGFkb3cgRE9NIHRlc3RzIGFzIG9mIDAyZjBjYzEwYzRlOTI2MjdjY2ZkOGIzMGNlMDNl
MDQyNzhhZjUyMjQuCisKKyAgICAgICAgKiByZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbjoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9hY2Nlc3NrZXkudGVudGF0
aXZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vYWNjZXNza2V5LnRlbnRhdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1hZnRlci1h
dHRhY2hzaGFkb3cudGVudGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93LWRvbS1hdHRhY2htZW50
LnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tYmFzaWMudGVudGF0aXZlLmh0bWw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVj
bGFyYXRpdmUtc2hhZG93LWRvbS1vcHQtaW4udGVudGF0aXZlLmh0bWw6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtd2l0aC1k
aXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtd2l0
aC1kaXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2dldGlubmVyaHRtbC50ZW50YXRp
dmUuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJh
dGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL2lubmVyaHRtbC1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZlLmh0bWw6IFJlbmFtZWQg
ZnJvbSBpbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLmh0bWwuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5
LXRlbXBsYXRlLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFy
eS10ZW1wbGF0ZS50ZW50YXRpdmUuaHRtbDogUmVuYW1lZCBmcm9tIGlubmVyaHRtbC1vbi1vcmRp
bmFyeS10ZW1wbGF0ZS5odG1sLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2RlY2xhcmF0aXZlL21vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2RlY2xhcmF0aXZlL21vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRh
dGl2ZS5odG1sOiBSZW5hbWVkIGZyb20gbW92ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcu
aHRtbC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2
ZS9zY3JpcHQtYWNjZXNzLnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LW9uLXBzZXVkby1lbGVtZW50LWNyYXNo
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Zv
Y3VzL1NoYWRvd1Jvb3QtZGVsZWdhdGVzRm9jdXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9TaGFkb3dSb290LWRlbGVn
YXRlc0ZvY3VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2ZvY3VzL2ZvY3VzLXNlbGVjdG9yLWRlbGVnYXRlc0ZvY3VzLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFw
aS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktY3Jhc2guaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5nZS1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBzbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1z
bG90LWFwaS1zbG90Y2hhbmdlLmh0bWw6IFJlbmFtZWQgZnJvbSBzbG90cy1pbXBlcmF0aXZlLWFw
aS1zbG90Y2hhbmdlLnRlbnRhdGl2ZS5odG1sLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGkuaHRtbDogUmVuYW1lZCBmcm9tIHNsb3Rz
LWltcGVyYXRpdmUtc2xvdC1hcGkudGVudGF0aXZlLmh0bWwuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3QtcmVtb3ZlLWNyYXNoLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1y
ZW1vdmUtY3Jhc2guaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS93M2MtaW1wb3J0LmxvZzoKKwogMjAyMS0wNC0yNSAgRmVsaXBlIEVyaWFzICA8ZmVsaXBlZXJp
YXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWZsZXhib3hdIFRhYmxlIGxheW91dCBkaXNy
ZWdhcmRzIG92ZXJyaWRpbmcgd2lkdGgKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9y
ZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb24JKHJldmlzaW9uIDI3NjU4
MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMu
anNvbgkod29ya2luZyBjb3B5KQpAQCAtNzYsNiArNzYsMTAgQEAKICAgICAgICAgImNzc3dnLXRl
c3QvV09GRjItVXNlckFnZW50L1Rlc3RzL3hodG1sMS9zdXBwb3J0L2F2YWlsYWJsZS0wMDFhLnho
dCIsCiAgICAgICAgICJjc3N3Zy10ZXN0L1dPRkYyLVVzZXJBZ2VudC9UZXN0cy94aHRtbDEvc3Vw
cG9ydC9hdmFpbGFibGUtMDAxYi54aHQiLAogICAgICAgICAiY3Nzd2ctdGVzdC9XT0ZGMi1Vc2Vy
QWdlbnQvVGVzdHMveGh0bWwxL3Rlc3RjYXNlaW5kZXgueGh0IiwKKyAgICAgICAgInNoYWRvdy1k
b20vZGVjbGFyYXRpdmUvc3VwcG9ydC9kZWNsYXJhdGl2ZS1jaGlsZC1mcmFtZS5odG1sIiwKKyAg
ICAgICAgInNoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jhc2guaHRtbCIsCisg
ICAgICAgICJzaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktY3Jhc2guaHRtbCIsCisgICAg
ICAgICJzaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC5odG1sIiwKICAgICAgICAg
IndlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL0Jsb2JVUkwvc3VwcG9ydC9maWxlX3Rlc3QzLmh0
bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvc3VwcG9ydC9kb2N1bWVu
dC1kb21haW4tc2V0dGVyLnN1Yi5odG1sIiwKICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9G
aWxlQVBJL3N1cHBvcnQvaW5jdW1iZW50LnN1Yi5odG1sIiwKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9hY2Nlc3NrZXkudGVudGF0
aXZlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vYWNjZXNza2V5LnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2FjY2Vzc2tleS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIGJ1dHRvbiBlbGVtZW50IHdpdGgg
YWNjZXNza2V5IGluIHRoZSBzaGFkb3cgdHJlZSBvZiBvcGVuIG1vZGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IGFjdGlvbiIKK0ZBSUwgYnV0dG9uIGVsZW1lbnQgd2l0aCBhY2Nl
c3NrZXkgaW4gdGhlIHNoYWRvdyB0cmVlIG9mIGNsb3NlZCBtb2RlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBhY3Rpb24iCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9hY2Nlc3NrZXkudGVudGF0aXZlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2FjY2Vzc2tleS50ZW50YXRpdmUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vYWNj
ZXNza2V5LnRlbnRhdGl2ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjYgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5TaGFkb3cgRE9NOiBhY2Nlc3Nr
ZXk8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciIgc3R5bGU9
InBvc2l0aW9uOiByZWxhdGl2ZSI+PC9kaXY+Cis8c2NyaXB0PgorCitjb25zdCBjb250YWluZXIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7CisKK2Z1bmN0aW9uIHByZXNz
QWNjZXNzS2V5KGFjY2Vzc0tleSl7CisgIGxldCBjb250cm9sS2V5ID0gJ1x1RTAwOSc7IC8vIGxl
ZnQgQ29udHJvbCBrZXkKKyAgbGV0IGFsdEtleSA9ICdcdUUwMEEnOyAvLyBsZWZ0IEFsdCBrZXkK
KyAgbGV0IG9wdGlvbktleSA9IGFsdEtleTsgIC8vIGxlZnQgT3B0aW9uIGtleQorICBsZXQgc2hp
ZnRLZXkgPSAnXHVFMDA4JzsgLy8gbGVmdCBTaGlmdCBrZXkKKyAgLy8gVGhlcmUgYXJlIGRpZmZl
cmVuY2VzIGluIHVzaW5nIGFjY2Vzc2tleSBhY3Jvc3MgYnJvd3NlcnMgYW5kIE9TJ3MuCisgIC8v
IFNlZTogLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRN
TC9HbG9iYWxfYXR0cmlidXRlcy9hY2Nlc3NrZXkKKyAgbGV0IGlzTWFjT1NYID0gbmF2aWdhdG9y
LnVzZXJBZ2VudC5pbmRleE9mKCJNYWMiKSAhPSAtMTsKKyAgbGV0IG9zQWNjZXNzS2V5ID0gaXNN
YWNPU1ggPyBbY29udHJvbEtleSwgb3B0aW9uS2V5XSA6IFtzaGlmdEtleSwgYWx0S2V5XTsKKyAg
bGV0IGFjdGlvbnMgPSBuZXcgdGVzdF9kcml2ZXIuQWN0aW9ucygpOworICAvLyBQcmVzcyBrZXlz
LgorICBmb3IgKGxldCBrZXkgb2Ygb3NBY2Nlc3NLZXkpIHsKKyAgICBhY3Rpb25zID0gYWN0aW9u
cy5rZXlEb3duKGtleSk7CisgIH0KKyAgYWN0aW9ucyA9IGFjdGlvbnMKKyAgICAgICAgICAgIC5r
ZXlEb3duKGFjY2Vzc0tleSkKKyAgICAgICAgICAgIC5hZGRUaWNrKCkKKyAgICAgICAgICAgIC5r
ZXlVcChhY2Nlc3NLZXkpOworICBvc0FjY2Vzc0tleS5yZXZlcnNlKCk7CisgIGZvciAobGV0IGtl
eSBvZiBvc0FjY2Vzc0tleSkgeworICAgIGFjdGlvbnMgPSBhY3Rpb25zLmtleVVwKGtleSk7Cisg
IH0KKyAgcmV0dXJuIGFjdGlvbnMuc2VuZCgpOworfQorCitmdW5jdGlvbiB0ZXN0QWNjZXNza2V5
SW5TaGFkb3dUcmVlKG1vZGUpIHsKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGNv
bnN0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBjb250YWluZXIu
YXBwZW5kQ2hpbGQoaG9zdCk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiBob3N0LnJlbW92ZSgp
KTsKKworICAgIGNvbnN0IHNoYWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZX0pOwor
ICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxidXR0b24gaWQ9ImJ1dHRvbiIgYWNjZXNza2V5
PSJnIj5DbGljayBNZSB3aXRoIFNoaWZ0K0FsdCtnIG9yIG9uIE1hYyB3aXRoIENvbnRyb2wrT3B0
aW9uK2c8L2J1dHRvbj4nOworCisgICAgbGV0IGVsID0gc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJ
ZCgiYnV0dG9uIik7CisgICAgbGV0IGV2ZW50V2F0Y2hlciA9IG5ldyBFdmVudFdhdGNoZXIodCwg
ZWwsIFsnY2xpY2snXSk7CisgICAgbGV0IHdhaXRGb3JDbGljayA9IGV2ZW50V2F0Y2hlci53YWl0
X2ZvcignY2xpY2snKTsKKworICAgIGF3YWl0IHByZXNzQWNjZXNzS2V5KCJnIik7CisgICAgYXdh
aXQgd2FpdEZvckNsaWNrOworICB9LCBgYnV0dG9uIGVsZW1lbnQgd2l0aCBhY2Nlc3NrZXkgaW4g
dGhlIHNoYWRvdyB0cmVlIG9mICR7bW9kZX0gbW9kZWApOworfQorCit0ZXN0QWNjZXNza2V5SW5T
aGFkb3dUcmVlKCJvcGVuIik7Cit0ZXN0QWNjZXNza2V5SW5TaGFkb3dUcmVlKCJjbG9zZWQiKTsK
KworPC9zY3JpcHQ+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jhc2gu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jhc2guaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jhc2guaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJtYWlsdG86bWFzb25mQGNocm9taXVtLm9y
ZyI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vY3JidWcuY29tLzExODAyODYiPgor
PG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJUaGUgcmVuZGVyZXIgc2hvdWxkIG5vdCBjcmFz
aC4iPgorCis8c3Bhbj5UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSByZW5kZXJlciBkb2VzIG5vdCBj
cmFzaC48L3NwYW4+CisKKzxkaXY+CisgIDxvcHRpb24+PC9vcHRpb24+Cis8L2Rpdj4KKworPHN0
eWxlPgorICBkaXYgeworICAgIGRpcmVjdGlvbjogcnRsOworICAgIHpvb206IDAuMDE7CisgIH0K
KyAgb3B0aW9uIHsKKyAgICB6b29tOiA1OworICB9CisgIG9wdGlvbjo6YmVmb3JlIHsKKyAgICBk
aXNwbGF5OiB0YWJsZS1jYXB0aW9uOworICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgY29udGVu
dDogb3Blbi1xdW90ZTsKKyAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7CisgICAgLXdlYmtpdC1jb2x1
bW4td2lkdGg6IDFweDsKKyAgfQorPC9zdHlsZT4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNy
YXNoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1jcmFzaC1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktY3Jhc2gtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKK0NPTlNPTEUgTUVTU0FH
RTogVHlwZUVycm9yOiBzbG90MS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnc2xvdDEu
YXNzaWduKFtjaGlsZDFdKScsICdzbG90MS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDM0CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MTgK
KyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDAKKyAgICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MAorICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMjI2eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
MjI2OiAiVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4iCisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1h
cGktY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1jcmFzaC5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bGluayByZWw9ImF1dGhv
ciIgaHJlZj0ibWFpbHRvOm1hc29uZkBjaHJvbWl1bS5vcmciPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRt
bCNkb20tc2xvdC1hc3NpZ24iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2NyYnVn
LmNvbS8xMjAxNDAyIj4KKworPGRpdiBpZD0iaG9zdCI+CisgIDxkaXYgaWQ9ImNoaWxkMSI+PC9k
aXY+Cis8L2Rpdj4KK1RoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCis8c2Ny
aXB0PgorICBjb25zdCBob3N0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2hvc3QiKTsKKyAg
Y29uc3QgY2hpbGQxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NoaWxkMSIpOworICBjb25z
dCBzaGFkb3dfcm9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iLCBzbG90QXNz
aWdubWVudDogIm1hbnVhbCIgfSk7CisgIHZhciBzbG90MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNsb3QiKTsKKyAgc2xvdDEuaWQgPSAiZmlyc3Rfc2xvdCI7CisgIHNoYWRvd19yb290LmFw
cGVuZENoaWxkKHNsb3QxKTsKKyAgc2xvdDEuYXNzaWduKFtjaGlsZDFdKTsKKyAgc2xvdDEucmVt
b3ZlKCk7CisgIHNsb3QxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2xvdCIpOworICBzbG90
MS5pZCA9ICJzZWNvbmRfc2xvdCI7CisgIHNoYWRvd19yb290LmFwcGVuZENoaWxkKHNsb3QxKTsK
KyAgc2xvdDEuYXNzaWduKFtjaGlsZDFdKTsgLy8gU2hvdWxkbid0IGNyYXNoIGhlcmUKKzwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9p
bXBlcmF0aXZlLXNsb3QtYXBpLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2
ZS1zbG90LWFwaS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNyBAQAor
CitGQUlMIGF0dGFjaFNoYWRvdyBjYW4gdGFrZSBzbG90QXNzaWdubWVudCBwYXJhbWV0ZXIuIGFz
c2VydF90aHJvd3NfanM6IG90aGVycyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uIGZ1bmN0aW9uICIo
KSA9PiB7CisgICAgdFRyZWUuaG9zdDMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nLCBzbG90
QXNzaWdubWVudDogJ2V4Y2VwdGlvbmFsJyB9KX0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgSW1wZXJh
dGl2ZSBzbG90IEFQSSBjYW4gYXNzaWduIG5vZGVzIGluIG1hbnVhbCBzbG90IGFzc2lnbm1lbnQu
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUgPHNsb3Qg
aWQ9InMxIj48L3Nsb3Q+CitGQUlMIE9yZGVyIG9mIHNsb3R0YWJsZXMgaXMgcHJlc2VydmVkIGlu
IG1hbnVhbCBzbG90IGFzc2lnbm1lbnQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKScs
ICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgUHJldmlvdXNseSBhc3NpZ25l
ZCBzbG90dGFibGUgaXMgbW92ZWQgdG8gbmV3IHNsb3Qgd2hlbiBpdCdzIHJlYXNzaWduZWQuIHRU
cmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RU
cmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgT3JkZXIgYW5kIGFzc2lnbm1lbnQgb2Ygbm9kZXMgYXJlIHByZXNlcnZlZCBk
dXJpbmcgbXVsdGlwbGUgYXNzaWdubWVudCBpbiBhIHJvdy4gdFRyZWUuczEuYXNzaWduIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJlZS5z
MS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQXNzaWduaW5nIGludmFsaWQgbm9kZXMgc2hv
dWxkIGJlIGFsbG93ZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0
VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jNCwgdFRyZWUuYzJdKScsICd0VHJlZS5z
MS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgTW92aW5nIGEgc2xvdCB0byBhIG5ldyBob3N0
LCB0aGUgc2xvdCBsb3NlcyBpdHMgcHJldmlvdXNseSBhc3NpZ25lZCBzbG90dGFibGVzLiB0VHJl
ZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJl
ZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIE1vdmluZyBhIHNsb3QncyB0cmVlIG9yZGVyIHBvc2l0aW9uIHdpdGhpbiBhIHNo
YWRvdyBob3N0IGhhcyBubyBpbXBhY3Qgb24gaXRzIGFzc2lnbmVkIHNsb3R0YWJsZXMuIHRUcmVl
LnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVl
LmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgQXBwZW5kaW5nIHNsb3R0YWJsZSB0byBkaWZmZXJlbnQgaG9zdCwgaXQgbG9zZXMg
c2xvdCBhc3NpZ25tZW50LiBJdCBjYW4gYmUgcmUtYXNzaWduZWQgd2l0aGluIGEgbmV3IGhvc3Qu
IHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24o
W3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVu
ZGVmaW5lZCkKK0ZBSUwgUHJldmlvdXNseSBhc3NpZ25lZCBub2RlIHNob3VsZCBub3QgYmUgYXNz
aWduZWQgaWYgc2xvdCBtb3ZlZCB0byBhIG5ldyBzaGFkb3cgcm9vdC4gVGhlIHNsb3QgcmVtYWlu
cyBlbXB0eSB3aGVuIG1vdmVkIGJhY2ssIHRyaWdnZXIgcmVjYWxjLiB0VHJlZS5zMS5hc3NpZ24g
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RU
cmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBBc3NpZ25tZW50IHdpdGggdGhlIHNh
bWUgbm9kZSBpbiBwYXJhbWV0ZXJzIHNob3VsZCBiZSBpZ25vcmVkLCBmaXJzdCBvbmUgd2lucy4g
dFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzEsIHRUcmVlLmMxLCB0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5k
ZWZpbmVkKQorRkFJTCBSZW1vdmluZyBhIHNsb3QgZnJvbSBET00gcmVzZXRzIGl0cyBzbG90dGFi
bGUncyBzbG90IGFzc2lnbm1lbnQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKScsICd0
VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgTm9kZXMgY2FuIGJlIGFzc2lnbmVk
IGV2ZW4gaWYgc2xvdHMgb3Igbm9kZXMgYXJlbid0IGluIHRoZSBzYW1lIHRyZWUuIHRUcmVlLnMx
LmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMx
LCB0VHJlZS5jMl0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBSZW1v
dmluZyBhIG5vZGUgZnJvbSB0aGUgZG9jdW1lbnQgZG9lcyBub3QgYnJlYWsgbWFudWFsbHkgYXNz
aWduZWQgc2xvdCBsaW5rYWdlLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKScsICd0VHJlZS5zMS5hc3Np
Z24nIGlzIHVuZGVmaW5lZCkKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5nZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5nZS1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5n
ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNCBAQAorCitGQUlMIHNs
b3RjaGFuZ2UgZXZlbnQgbXVzdCBub3QgZmlyZSBzeW5jaHJvbm91c2x5LiB0VHJlZS5zMS5hc3Np
Z24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywg
J3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBzbG90Y2hhbmdlIGV2ZW50IHNo
b3VsZCBub3QgZmlyZSB3aGVuIGFzc2lnbm1lbnRzIGRvIG5vdCBjaGFuZ2UgYXNzaWduZWROb2Rl
cy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2ln
bihbXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIHNsb3RjaGFuZ2Ug
ZXZlbnQgc2hvdWxkIG5vdCBmaXJlIHdoZW4gc2FtZSBub2RlIGlzIGFzc2lnbmVkLiB0VHJlZS5z
MS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5j
MSwgdFRyZWUuYzJdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRmly
ZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gc2xvdCdzIGFzc2lnbmVkIG5vZGVzIGNoYW5nZXMuIHRU
cmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RU
cmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIEZpcmUgc2xv
dGNoYW5nZSBldmVudCBvbiBwcmV2aW91cyBzbG90IGFuZCBuZXcgc2xvdCB3aGVuIG5vZGUgaXMg
cmVhc3NpZ25lZC4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVl
LnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgRmlyZSBzbG90Y2hhbmdlIGV2ZW50IG9uIG5vZGUgYXNzaWdubWVudCBhbmQgd2hlbiBh
c3NpZ25lZCBub2RlIGlzIHJlbW92ZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBp
cyB1bmRlZmluZWQpCitGQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIG9yZGVyIG9mIGFz
c2lnbmVkIG5vZGVzIGNoYW5nZXMuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pJywgJ3RUcmVlLnMxLmFz
c2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhc3Np
Z25lZCBub2RlIGlzIHJlbW92ZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1
bmRlZmluZWQpCitGQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIHJlbW92aW5nIGEgc2xv
dCBmcm9tIFNoYWRvd3MgUm9vdCB0aGF0IGNoYW5nZXMgaXRzIGFzc2lnbmVkIG5vZGVzLiB0VHJl
ZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJl
ZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBObyBzbG90Y2hh
bmdlIGV2ZW50IHdoZW4gYWRkaW5nIG9yIHJlbW92aW5nIGFuIGVtcHR5IHNsb3QuIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAxCitGQUlMIE5vIHNsb3RjaGFuZ2UgZXZlbnQgd2hl
biBhZGRpbmcgYW5vdGhlciBzbG90YWJsZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQg
Z290IDEKK0ZBSUwgRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYXNzaWduIG5vZGUgdG8gbmVz
dGVkIHNsb3QsIGVuc3VyZSBldmVudCBidWJibGVzIHVwcy4gdFRyZWUuczMuYXNzaWduIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMzLmFzc2lnbihbdFRyZWUuczFdKScsICd0VHJlZS5z
My5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNo
YW5nZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLXNsb3RjaGFuZ2UuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1zbG90Y2hhbmdlLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlNo
YWRvdyBET006IEltcGVyYXRpdmUgU2xvdCBBUEkgc2xvdGNoYW5nZSBldmVudDwvdGl0bGU+Cis8
bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJZdSBIYW4iIGhyZWY9Im1haWx0bzp5dXpoZWhhbkBj
aHJvbWl1bS5vcmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RvbS5zcGVjLndoYXR3Zy5v
cmcvI3NpZ25hbGluZy1zbG90LWNoYW5nZSI+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRv
dy1kb20uanMiPjwvc2NyaXB0PgorCis8ZGl2IGlkPSJ0ZXN0X3Nsb3RjaGFuZ2UiPgorICA8ZGl2
IGlkPSJob3N0Ij4KKyAgICA8dGVtcGxhdGUgaWQ9InNoYWRvd19yb290IiBkYXRhLW1vZGU9Im9w
ZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJtYW51YWwiPgorICAgICAgPHNsb3QgaWQ9InMxIj48
ZGl2IGlkPSJmYiI+ZmFsbGJhY2s8L2Rpdj48L3Nsb3Q+CisgICAgICA8c2xvdCBpZD0iczIiPjwv
c2xvdD4KKyAgICAgIDxzbG90IGlkPSJzMyI+PC9zbG90PgorICAgIDwvdGVtcGxhdGU+CisgICAg
PGRpdiBpZD0iYzEiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImMyIj48L2Rpdj4KKyAgPC9kaXY+Cisg
IDxkaXYgaWQ9ImM0Ij48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0RGF0
YUNvbGxlY3Rpb24oKSB7CisgIHJldHVybiB7CisgICAgczFFdmVudENvdW50OiAwLAorICAgIHMy
RXZlbnRDb3VudDogMCwKKyAgICBzM0V2ZW50Q291bnQ6IDAsCisgICAgczFSZXNvbHZlRm46IG51
bGwsCisgICAgczJSZXNvbHZlRm46IG51bGwsCisgICAgczNSZXNvbHZlRm46IG51bGwsCisgIH0K
K30KKworZnVuY3Rpb24gc2V0dXBTaGFkb3dET00oaWQsIHRlc3QsIGRhdGEpIHsKKyAgbGV0IHRU
cmVlID0gY3JlYXRlVGVzdFRyZWUoaWQpOworICB0VHJlZS5zMS5hZGRFdmVudExpc3RlbmVyKCdz
bG90Y2hhbmdlJywgKGV2ZW50KSA9PiB7CisgICAgaWYgKCFldmVudC5pc0Zha2VFdmVudCkgewor
ICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2
ZW50LnR5cGUsICdzbG90Y2hhbmdlJywgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdHlwZSBtdXN0IGJl
ICJzbG90Y2hhbmdlIicpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudGFyZ2V0LCB0
VHJlZS5zMSwgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdGFyZ2V0IG11c3QgYmUgdGhlIHNsb3QgZWxl
bWVudCcpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQucmVsYXRlZFRhcmdldCwgdW5k
ZWZpbmVkLCAnc2xvdGNoYW5nZSBtdXN0IG5vdCBzZXQgcmVsYXRlZFRhcmdldCcpOworICAgICAg
fSk7CisgICAgICBkYXRhLnMxRXZlbnRDb3VudCsrOworICAgIH0KKyAgICBkYXRhLnMxUmVzb2x2
ZUZuKCk7CisgIH0pOworICB0VHJlZS5zMi5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywg
KGV2ZW50KSA9PiB7CisgICAgaWYgKCFldmVudC5pc0Zha2VFdmVudCkgeworICAgICAgdGVzdC5z
dGVwKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnR5cGUsICdz
bG90Y2hhbmdlJywgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdHlwZSBtdXN0IGJlICJzbG90Y2hhbmdl
IicpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudGFyZ2V0LCB0VHJlZS5zMiwgJ3Ns
b3RjaGFuZ2UgZXZlbnRcJ3MgdGFyZ2V0IG11c3QgYmUgdGhlIHNsb3QgZWxlbWVudCcpOworICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQucmVsYXRlZFRhcmdldCwgdW5kZWZpbmVkLCAnc2xv
dGNoYW5nZSBtdXN0IG5vdCBzZXQgcmVsYXRlZFRhcmdldCcpOworICAgICAgfSk7CisgICAgICBk
YXRhLnMyRXZlbnRDb3VudCsrOworICAgIH0KKyAgICBkYXRhLnMyUmVzb2x2ZUZuKCk7CisgIH0p
OworICB0VHJlZS5zMy5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgKGV2ZW50KSA9PiB7
CisgICAgaWYgKCFldmVudC5pc0Zha2VFdmVudCkgeworICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC50eXBlLCAnc2xvdGNoYW5nZScsICdz
bG90Y2hhbmdlIGV2ZW50XCdzIHR5cGUgbXVzdCBiZSAic2xvdGNoYW5nZSInKTsKKyAgICAgICAg
Ly8gbGlzdGVuIHRvIGJ1YmJsaW5nIGV2ZW50cy4KKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVu
dC5yZWxhdGVkVGFyZ2V0LCB1bmRlZmluZWQsICdzbG90Y2hhbmdlIG11c3Qgbm90IHNldCByZWxh
dGVkVGFyZ2V0Jyk7CisgICAgICB9KTsKKyAgICAgIGRhdGEuczNFdmVudENvdW50Kys7CisgICAg
fQorICAgIGRhdGEuczNSZXNvbHZlRm4oKTsKKyAgfSk7CisgIHJldHVybiB0VHJlZTsKK30KKwor
ZnVuY3Rpb24gbW9uaXRvclNsb3RzKGRhdGEpIHsKKyAgICBjb25zdCBzMVByb21pc2UgPSBuZXcg
UHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICBkYXRhLnMxUmVzb2x2ZUZuID0g
cmVzb2x2ZTsKKyAgICB9KTsKKyAgICBjb25zdCBzMlByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVz
b2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICBkYXRhLnMyUmVzb2x2ZUZuID0gcmVzb2x2ZTsKKyAg
ICB9KTsKKyAgICBjb25zdCBzM1Byb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0
KSA9PiB7CisgICAgICBkYXRhLnMzUmVzb2x2ZUZuID0gcmVzb2x2ZTsKKyAgICB9KTsKKyAgICBy
ZXR1cm4gW3MxUHJvbWlzZSwgczJQcm9taXNlLCBzM1Byb21pc2VdOworfQorPC9zY3JpcHQ+CisK
KzxzY3JpcHQ+CisvLyBUZXN0czoKK2FzeW5jX3Rlc3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0
YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7CisgIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRl
c3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7CisgIGxldCBbczFQcm9taXNlLCBzMlByb21pc2Vd
ID0gbW9uaXRvclNsb3RzKGRhdGEpOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsK
KyAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pOworCisgIGFzc2VydF9lcXVhbHMoZGF0YS5z
MUV2ZW50Q291bnQsIDAsICdzbG90Y2hhbmdlIGV2ZW50IG11c3Qgbm90IGJlIGZpcmVkIHN5bmNo
cm9ub3VzbHknKTsKKyAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMCk7CisKKyAg
UHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19k
b25lKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAxKTsKKyAgfSkpOworfSwgJ3Nsb3Rj
aGFuZ2UgZXZlbnQgbXVzdCBub3QgZmlyZSBzeW5jaHJvbm91c2x5LicpOworCithc3luY190ZXN0
KCh0ZXN0KSA9PiB7CisgIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOworICBsZXQg
dFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOworICBs
ZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKworICB0VHJl
ZS5zMS5hc3NpZ24oW10pOzsKKyAgdFRyZWUuczIuYXNzaWduKFtdKTsKKyAgdFRyZWUuaG9zdC5p
bnNlcnRCZWZvcmUodFRyZWUuYzQsIHRUcmVlLmMxKTsKKworICBQcm9taXNlLmFsbChbczFQcm9t
aXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgIGFz
c2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDApOworICAgIGFzc2VydF9lcXVhbHMoZGF0
YS5zMkV2ZW50Q291bnQsIDApOworICB9KSk7CisKKyAgLy8gdXNlIGZha2UgZXZlbnQgdG8gdHJp
Z2dlciBldmVudCBoYW5kbGVyLgorICBsZXQgZmFrZUV2ZW50ID0gbmV3IEV2ZW50KCdzbG90Y2hh
bmdlJyk7CisgIGZha2VFdmVudC5pc0Zha2VFdmVudCA9IHRydWU7CisgIHRUcmVlLnMxLmRpc3Bh
dGNoRXZlbnQoZmFrZUV2ZW50KTsKKyAgdFRyZWUuczIuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQp
OworfSwgJ3Nsb3RjaGFuZ2UgZXZlbnQgc2hvdWxkIG5vdCBmaXJlIHdoZW4gYXNzaWdubWVudHMg
ZG8gbm90IGNoYW5nZSBhc3NpZ25lZE5vZGVzLicpOworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7
CisgIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1
cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsdGVzdCwgZGF0YSk7CisgIGxldCBbczFQcm9taXNl
XSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0
VHJlZS5jMl0pOworCisgIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAg
ICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKKworICAgIFtzMVByb21pc2Vd
ID0gbW9uaXRvclNsb3RzKGRhdGEpOworICAgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRU
cmVlLmMyXSk7CisgICAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVl
LmMxLCB0VHJlZS5jMiwgdFRyZWUuYzJdKTsKKworICAgIHMxUHJvbWlzZS50aGVuKHRlc3Quc3Rl
cF9mdW5jX2RvbmUoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3Vu
dCwgMSk7CisgICAgfSkpOworCisgICAgbGV0IGZha2VFdmVudCA9IG5ldyBFdmVudCgnc2xvdGNo
YW5nZScpOworICAgIGZha2VFdmVudC5pc0Zha2VFdmVudCA9IHRydWU7CisgICAgdFRyZWUuczEu
ZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOworICB9KSk7CisKK30sICdzbG90Y2hhbmdlIGV2ZW50
IHNob3VsZCBub3QgZmlyZSB3aGVuIHNhbWUgbm9kZSBpcyBhc3NpZ25lZC4nKTsKKworYXN5bmNf
dGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAg
bGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsK
KyAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisKKyAg
dFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOworICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMy
XSk7CisKKyAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0
ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50
LCAxKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAxKTsKKyAgfSkpOwor
fSwgIkZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIHNsb3QncyBhc3NpZ25lZCBub2RlcyBjaGFu
Z2VzLiIpOworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7CisgIGNvbnN0IGRhdGEgPSBnZXREYXRh
Q29sbGVjdGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFu
Z2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JT
bG90cyhkYXRhKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7CisKKyAgczFQcm9t
aXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZGF0YS5z
MUV2ZW50Q291bnQsIDEpOworCisgICAgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JT
bG90cyhkYXRhKTsKKyAgICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMxXSk7CisKKyAgICBQcm9t
aXNlLmFsbChbczFQcm9taXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUo
KCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMik7CisgICAg
ICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAxKTsKKyAgICB9KSk7CisgIH0pKTsK
K30sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgb24gcHJldmlvdXMgc2xvdCBhbmQgbmV3IHNsb3Qg
d2hlbiBub2RlIGlzIHJlYXNzaWduZWQuIik7CisKK2FzeW5jX3Rlc3QoKHRlc3QpID0+IHsKKyAg
Y29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7CisgIGxldCB0VHJlZSA9IHNldHVwU2hh
ZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7CisgIGxldCBbczFQcm9taXNlXSA9
IG1vbml0b3JTbG90cyhkYXRhKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7CisK
KyAgczFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF9lcXVh
bHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOworCisgICAgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xv
dHMoZGF0YSk7CisgICAgdFRyZWUuczEuYXNzaWduKFtdKTsKKworICAgIHMxUHJvbWlzZS50aGVu
KHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMx
RXZlbnRDb3VudCwgMik7CisgICAgfSkpOworICB9KSk7Cit9LCAiRmlyZSBzbG90Y2hhbmdlIGV2
ZW50IG9uIG5vZGUgYXNzaWdubWVudCBhbmQgd2hlbiBhc3NpZ25lZCBub2RlIGlzIHJlbW92ZWQu
Iik7CisKK2FzeW5jX3Rlc3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xs
ZWN0aW9uKCk7CisgIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwg
dGVzdCwgZGF0YSk7CisgIGxldCBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKwor
ICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworCisgIHMxUHJvbWlzZS50
aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVu
dENvdW50LCAxKTsKKworICAgIFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworICAg
IHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzIsIHRUcmVlLmMxXSk7CisKKyAgICBzMVByb21pc2Uu
dGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0
YS5zMUV2ZW50Q291bnQsIDIpOworICAgIH0pKTsKKyAgfSkpOworfSwgIkZpcmUgc2xvdGNoYW5n
ZSBldmVudCB3aGVuIG9yZGVyIG9mIGFzc2lnbmVkIG5vZGVzIGNoYW5nZXMuIik7CisKK3Byb21p
c2VfdGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsK
KyAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRh
KTsKKyAgbGV0IFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworCisgIHRUcmVlLnMx
LmFzc2lnbihbdFRyZWUuYzFdKTsKKworICByZXR1cm4gczFQcm9taXNlLnRoZW4odGVzdC5zdGVw
X2Z1bmMoKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOwor
CisgICAgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisgICAgdFRyZWUuYzEucmVt
b3ZlKCk7CisKKyAgICByZXR1cm4gczFQcm9taXNlOworICB9KSkKKyAgLnRoZW4odGVzdC5zdGVw
X2Z1bmMoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMik7
CisgIH0pKTsKK30sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhc3NpZ25lZCBub2RlIGlz
IHJlbW92ZWQuIik7CisKK3Byb21pc2VfdGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0g
Z2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9z
bG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKKyAgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0
YSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOworCisgIHJldHVybiBzMVByb21p
c2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMx
RXZlbnRDb3VudCwgMSk7CisKKyAgICBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsK
KyAgICB0VHJlZS5zMS5yZW1vdmUoKTsKKworICAgIHJldHVybiBzMVByb21pc2U7CisgIH0pKQor
ICAudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEu
czFFdmVudENvdW50LCAyKTsKKyAgfSkpOworfSwgIkZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVu
IHJlbW92aW5nIGEgc2xvdCBmcm9tIFNoYWRvd3MgUm9vdCB0aGF0IGNoYW5nZXMgaXRzIGFzc2ln
bmVkIG5vZGVzLiIpOworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7CisgIGNvbnN0IGRhdGEgPSBn
ZXREYXRhQ29sbGVjdGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Ns
b3RjaGFuZ2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMo
ZGF0YSk7CisKKyAgdFRyZWUuczEucmVtb3ZlKCk7CisKKyAgbGV0IGZha2VFdmVudCA9IG5ldyBF
dmVudCgnc2xvdGNoYW5nZScpOworICBmYWtlRXZlbnQuaXNGYWtlRXZlbnQgPSB0cnVlOworICB0
VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7CisKKyAgczFQcm9taXNlLnRoZW4odGVz
dC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQs
IDApOworCisgICAgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsK
KyAgICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUodFRyZWUuczEsIHRUcmVlLnMyKTsK
KworICAgIHRUcmVlLnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKKyAgICB0VHJlZS5zMi5k
aXNwYXRjaEV2ZW50KGZha2VFdmVudCk7CisKKyAgICBQcm9taXNlLmFsbChbczFQcm9taXNlLCBz
MlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgICAgYXNzZXJ0
X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMCk7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEu
czJFdmVudENvdW50LCAwKTsKKyAgICB9KSk7CisgIH0pKTsKKworfSwgIk5vIHNsb3RjaGFuZ2Ug
ZXZlbnQgd2hlbiBhZGRpbmcgb3IgcmVtb3ZpbmcgYW4gZW1wdHkgc2xvdC4iKTsKKworYXN5bmNf
dGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAg
bGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsK
KyAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisKKyAg
dFRyZWUuaG9zdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CisK
KyAgbGV0IGZha2VFdmVudCA9IG5ldyBFdmVudCgnc2xvdGNoYW5nZScpOworICBmYWtlRXZlbnQu
aXNGYWtlRXZlbnQgPSB0cnVlOworICB0VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7
CisgIHRUcmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKKworICBQcm9taXNlLmFsbChb
czFQcm9taXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBh
c3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRh
dGEuczJFdmVudENvdW50LCAwKTsKKworICAgIFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25p
dG9yU2xvdHMoZGF0YSk7CisgICAgdFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCB0VHJlZS5zMik7CisKKyAgICB0VHJlZS5zMS5kaXNw
YXRjaEV2ZW50KGZha2VFdmVudCk7CisgICAgdFRyZWUuczIuZGlzcGF0Y2hFdmVudChmYWtlRXZl
bnQpOworCisgICAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0
LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50
Q291bnQsIDApOworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMCk7Cisg
ICAgfSkpOworICB9KSk7CisKK30sICJObyBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYWRkaW5nIGFu
b3RoZXIgc2xvdGFibGUuIik7CisKKzwvc2NyaXB0PgorCis8ZGl2IGlkPSJ0ZXN0X25lc3RlZF9z
bG90Y2hhbmdlIj4KKyAgPGRpdj4KKyAgICA8dGVtcGxhdGUgZGF0YS1tb2RlPSJvcGVuIiBkYXRh
LXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KKyAgICAgIDxkaXY+CisgICAgICAgIDx0ZW1wbGF0
ZSBkYXRhLW1vZGU9Im9wZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJtYW51YWwiPgorICAgICAg
ICAgIDxzbG90IGlkPSJzMiI+PC9zbG90PgorICAgICAgICAgIDxzbG90IGlkPSJzMyI+PC9zbG90
PgorICAgICAgICA8L3RlbXBsYXRlPgorICAgICAgICA8c2xvdCBpZD0iczEiPjwvc2xvdD4KKyAg
ICAgIDwvZGl2PgorICAgIDwvdGVtcGxhdGU+CisgICAgPGRpdiBpZD0iYzEiPjwvZGl2PgorICA8
L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorYXN5bmNfdGVzdCgodGVzdCkgPT4geworICBjb25z
dCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dE
T00odGVzdF9uZXN0ZWRfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7CisgIGxldCBbczFQcm9taXNl
LCBzMlByb21pc2UsIHMzUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisKKyAgdFRyZWUu
czMuYXNzaWduKFt0VHJlZS5zMV0pOworCisgIHMzUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5j
KCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczNFdmVudENvdW50LCAxKTsKKyAgICBb
czFQcm9taXNlLCBzMlByb21pc2UsIHMzUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisK
KyAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7CisKKyAgICBQcm9taXNlLmFsbChbczFQ
cm9taXNlLCBzM1Byb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAg
ICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7CisgICAgICBhc3NlcnRfZXF1
YWxzKGRhdGEuczNFdmVudENvdW50LCAyKTsKKyAgICB9KSk7CisgIH0pKTsKK30sICJGaXJlIHNs
b3RjaGFuZ2UgZXZlbnQgd2hlbiBhc3NpZ24gbm9kZSB0byBuZXN0ZWQgc2xvdCwgZW5zdXJlIGV2
ZW50IGJ1YmJsZXMgdXBzLiIpOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2ltcGVyYXRpdmUtc2xvdC1hcGkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3NCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+U2hhZG93IERPTTogSW1wZXJhdGl2ZSBTbG90IEFQ
STwvdGl0bGU+Cis8bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJZdSBIYW4iIGhyZWY9Im1haWx0
bzp5dXpoZWhhbkBjaHJvbWl1bS5vcmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpz
Ij48L3NjcmlwdD4KKworPGRpdiBpZD0idGVzdF9iYXNpYyI+CisgIDxkaXYgaWQ9Imhvc3QxIj48
L2Rpdj4KKyAgPGRpdiBpZD0iaG9zdDIiPjwvZGl2PgorICA8ZGl2IGlkPSJob3N0MyI+PC9kaXY+
Cis8L2Rpdj4KKzxzY3JpcHQ+Cit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVz
dFRyZWUodGVzdF9iYXNpYyk7CisgIGFzc2VydF9ub3RfZXF1YWxzKHRUcmVlLmhvc3QxLmF0dGFj
aFNoYWRvdyh7IG1vZGU6ICdvcGVuJywgc2xvdEFzc2lnbm1lbnQ6ICdtYW51YWwnfSksCisgICAg
ICAgICAgICAgICAgICAgIG51bGwsICdzbG90IGFzc2lnbm1lbnQgbWFudWFsIHNob3VsZCB3b3Jr
Jyk7CisgIGFzc2VydF9ub3RfZXF1YWxzKHRUcmVlLmhvc3QyLmF0dGFjaFNoYWRvdyh7IG1vZGU6
ICdvcGVuJywgc2xvdEFzc2lnbm1lbnQ6ICduYW1lZCd9KSwKKyAgICAgICAgICAgICAgICAgICAg
bnVsbCwgJ3Nsb3QgYXNzaWdubWVudCBhdXRvIHNob3VsZCB3b3JrJyk7CisgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCAoKSA9PiB7CisgICAgdFRyZWUuaG9zdDMuYXR0YWNoU2hhZG93KHsg
bW9kZTogJ29wZW4nLCBzbG90QXNzaWdubWVudDogJ2V4Y2VwdGlvbmFsJyB9KX0sCisgICAgICAg
ICAgICAgICAgJ290aGVycyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uJyk7Cit9LCAnYXR0YWNoU2hh
ZG93IGNhbiB0YWtlIHNsb3RBc3NpZ25tZW50IHBhcmFtZXRlci4nKTsKKzwvc2NyaXB0PgorCis8
ZGl2IGlkPSJ0ZXN0X2Fzc2lnbiI+CisgIDxkaXYgaWQ9Imhvc3QiPgorICAgIDx0ZW1wbGF0ZSBp
ZD0ic2hhZG93X3Jvb3QiIGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1h
bnVhbCI+CisgICAgICA8c2xvdCBpZD0iczEiPjwvc2xvdD4KKyAgICAgIDxzbG90IGlkPSJzMiI+
PC9zbG90PgorICAgICAgPHNsb3QgaWQ9InMzIj48L3Nsb3Q+CisgICAgPC90ZW1wbGF0ZT4KKyAg
ICA8ZGl2IGlkPSJjMSI+PC9kaXY+CisgICAgPGRpdiBpZD0iYzIiPjwvZGl2PgorICAgIDxkaXYg
aWQ9ImMzIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJuZXN0ZWQiPgorICAgICAgIDxkaXYgaWQ9Im5z
MSI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGlkPSJjNCI+PC9kaXY+Cisg
IDxkaXYgaWQ9Imhvc3Q0Ij4KKyAgICA8dGVtcGxhdGUgaWQ9InNoYWRvd19yb290NCIgZGF0YS1t
b2RlPSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KKyAgICAgIDxzbG90IGlk
PSJzNCIgbmFtZT0iczQiPjwvc2xvdD4KKyAgICA8L3RlbXBsYXRlPgorICA8L2Rpdj4KKzwvZGl2
PgorPHNjcmlwdD4KK3Rlc3QoKCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0
ZXN0X2Fzc2lnbik7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWRFbGVt
ZW50cygpLCBbXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCBudWxs
KTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVh
bHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2VxdWFs
cyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKworICB0VHJlZS5zMi5hc3NpZ24o
W3RUcmVlLmMyLCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFz
c2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUu
czIuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRUcmVlLmMzXSk7Cit9LCAnSW1wZXJhdGl2
ZSBzbG90IEFQSSBjYW4gYXNzaWduIG5vZGVzIGluIG1hbnVhbCBzbG90IGFzc2lnbm1lbnQuJyk7
CisKK3Rlc3QoKCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2ln
bik7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSk7
CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUu
YzIsIHRUcmVlLmMzLCB0VHJlZS5jMV0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2ln
bmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xv
dCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRy
ZWUuczEpOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSk7CisgIGFz
c2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRU
cmVlLmMyXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5z
MSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Cisg
IGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCBudWxsKTsKKworICB0VHJlZS5z
MS5hc3NpZ24oW3RUcmVlLmMzLCB0VHJlZS5jMiwgdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2FycmF5
X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMywgdFRyZWUuYzIsIHRU
cmVlLmMxXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5z
MSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Cisg
IGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Cit9LCAnT3Jk
ZXIgb2Ygc2xvdHRhYmxlcyBpcyBwcmVzZXJ2ZWQgaW4gbWFudWFsIHNsb3QgYXNzaWdubWVudC4n
KTsKKwordGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNz
aWduKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFd
KTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJl
ZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSk7CisKKyAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5j
Ml0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RU
cmVlLmMzLCB0VHJlZS5jMV0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2ln
bmVkTm9kZXMoKSwgW3RUcmVlLmMyXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWdu
ZWRTbG90LCB0VHJlZS5zMSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90
LCB0VHJlZS5zMik7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJl
ZS5zMSk7CisKKyAgdFRyZWUuczMuYXNzaWduKFt0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7CisgIGFzc2VydF9h
cnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzJdKTsKKyAgYXNz
ZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMy5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jM10pOwor
ICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3Nl
cnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczIpOworICBhc3NlcnRfZXF1
YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczMpOworfSwgJ1ByZXZpb3VzbHkgYXNz
aWduZWQgc2xvdHRhYmxlIGlzIG1vdmVkIHRvIG5ldyBzbG90IHdoZW4gaXRcJ3MgcmVhc3NpZ25l
ZC4nKTsKKwordGVzdCgoKSA9PiB7CisgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9h
c3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKKyAgdFRyZWUuczIuYXNz
aWduKFt0VHJlZS5jMiwgdFRyZWUuYzFdKTsKKyAgdFRyZWUuczMuYXNzaWduKFt0VHJlZS5jMSwg
dFRyZWUuYzNdKTsKKworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9k
ZXMoKSwgW10pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMo
KSwgW3RUcmVlLmMyXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczMuYXNzaWduZWRO
b2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMzXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEu
YXNzaWduZWRTbG90LCB0VHJlZS5zMyk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWdu
ZWRTbG90LCB0VHJlZS5zMik7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90
LCB0VHJlZS5zMyk7Cit9LCAnT3JkZXIgYW5kIGFzc2lnbm1lbnQgb2Ygbm9kZXMgYXJlIHByZXNl
cnZlZCBkdXJpbmcgbXVsdGlwbGUgYXNzaWdubWVudCBpbiBhIHJvdy4nKTsKKwordGVzdCgoKSA9
PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICAvLyB0
VHJlZS5jNCBpcyBpbnZhbGlkIGZvciB0VHJlZS5ob3N0IHNsb3QgYXNzaWdubWVudC4KKyAgLy8g
Tm8gZXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24gaGVyZS4KKyAgdFRyZWUuczEuYXNzaWduKFt0
VHJlZS5jMSwgdFRyZWUuYzQsIHRUcmVlLmMyXSk7CisKKyAgLy8gQWxsIG9ic2VydmFibGUgYXNz
aWdubWVudHMgc2hvdWxkIHNraXAgYzQuCisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEu
YXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyXSk7CisgIGFzc2VydF9lcXVhbHMo
dFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUu
YzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzQuYXNz
aWduZWRTbG90LCBudWxsKTsKKworICAvLyBNb3ZpbmcgYzQgaW50byBwbGFjZSBzaG91bGQgcmV2
ZWFsIHRoZSBhc3NpZ25tZW50LgorICB0VHJlZS5ob3N0LmFwcGVuZCh0VHJlZS5jNCk7CisgIGFz
c2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRU
cmVlLmM0LCB0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xv
dCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRy
ZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmM0LmFzc2lnbmVkU2xvdCwgdFRyZWUuczEp
OworCisgIC8vIE1vdmluZyBjNCBpbnRvIGEgZGlmZmVyZW50IHNoYWRvdyBob3N0IGFuZCBiYWNr
IHNob3VsZAorICAvLyBhbHNvIG5vdCBicmVhayB0aGUgYXNzaWdubWVudC4KKyAgdFRyZWUuaG9z
dDQuYXBwZW5kKHRUcmVlLmM0KQorICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2ln
bmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVl
LmM0LmFzc2lnbmVkU2xvdCwgbnVsbCk7CisgIHRUcmVlLmhvc3QuYXBwZW5kKHRUcmVlLmM0KTsK
KyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5j
MSwgdFRyZWUuYzQsIHRUcmVlLmMyXSk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzQuYXNzaWdu
ZWRTbG90LCB0VHJlZS5zMSk7Cit9LCAnQXNzaWduaW5nIGludmFsaWQgbm9kZXMgc2hvdWxkIGJl
IGFsbG93ZWQuJyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJl
ZSh0ZXN0X2Fzc2lnbik7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIs
IHRUcmVlLmMzXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2Rl
cygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOworCisgIHRUcmVlLmhvc3Q0LmFw
cGVuZCh0VHJlZS5zMSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWRO
b2RlcygpLCBbXSk7Cit9LCAnTW92aW5nIGEgc2xvdCB0byBhIG5ldyBob3N0LCB0aGUgc2xvdCBs
b3NlcyBpdHMgcHJldmlvdXNseSBhc3NpZ25lZCBzbG90dGFibGVzLicpOworCit0ZXN0KCgpID0+
IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOworCisgIHRUcmVl
LnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwg
dFRyZWUuYzNdKTsKKworICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUodFRyZWUuczIs
IHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVz
KCksIFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7CisgIGFzc2VydF9hcnJheV9lcXVh
bHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbXSk7CisKKyAgdFRyZWUuc2hhZG93X3Jvb3Qu
aW5zZXJ0QmVmb3JlKHRUcmVlLnM0LCB0VHJlZS5zMSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMo
dFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10p
OworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnM0LmFzc2lnbmVkTm9kZXMoKSwgW10pOwor
CisgIHRUcmVlLm5zMS5hcHBlbmQodFRyZWUuczEpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRU
cmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW10pOworfSwgJ01vdmluZyBhIHNsb3RcJ3MgdHJlZSBv
cmRlciBwb3NpdGlvbiB3aXRoaW4gYSBzaGFkb3cgaG9zdCBoYXMgbm8gaW1wYWN0IG9uIGl0cyBh
c3NpZ25lZCBzbG90dGFibGVzLicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3Jl
YXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEs
IHRUcmVlLmMyLCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFz
c2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKworICB0VHJl
ZS5ob3N0NC5hcHBlbmQodFRyZWUuYzEpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMx
LmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyLCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKHRUcmVlLnM0LmFzc2lnbmVkTm9kZXMoKSwgW10pOworCisgIHRUcmVlLnM0LmFzc2ln
bihbdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zNC5hc3NpZ25lZE5v
ZGVzKCksIFt0VHJlZS5jMV0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xv
dCwgdFRyZWUuczQpOworfSwgJ0FwcGVuZGluZyBzbG90dGFibGUgdG8gZGlmZmVyZW50IGhvc3Qs
IGl0IGxvc2VzIHNsb3QgYXNzaWdubWVudC4gSXQgY2FuIGJlIHJlLWFzc2lnbmVkIHdpdGhpbiBh
IG5ldyBob3N0LicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRy
ZWUodGVzdF9hc3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKKyAgYXNz
ZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOwor
CisgIHRUcmVlLnNoYWRvd19yb290NC5pbnNlcnRCZWZvcmUodFRyZWUuczEsIHRUcmVlLnM0KTsK
KyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdKTsKKyAg
Ly8gVHJpZ2dlciBzbG90IGFzc2lnbm1lbnQgb24gcHJldmlvdXMgc2hhZG93IHJvb3QuCisgIGFz
c2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbXSk7CisKKyAgdFRy
ZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnMxLCB0VHJlZS5zMik7CisgIGFzc2Vy
dF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSk7Cit9LCAnUHJldmlv
dXNseSBhc3NpZ25lZCBub2RlIHNob3VsZCBub3QgYmUgYXNzaWduZWQgaWYgc2xvdCBtb3ZlZCB0
byBhIG5ldyBzaGFkb3cgcm9vdC4gVGhlIHNsb3QgcmVtYWlucyBlbXB0eSB3aGVuIG1vdmVkIGJh
Y2ssIHRyaWdnZXIgcmVjYWxjLicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3Jl
YXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEs
IHRUcmVlLmMxLCB0VHJlZS5jMV0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFz
c2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5j
MSwgdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jMiwgdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzJd
KTsKK30sICdBc3NpZ25tZW50IHdpdGggdGhlIHNhbWUgbm9kZSBpbiBwYXJhbWV0ZXJzIHNob3Vs
ZCBiZSBpZ25vcmVkLCBmaXJzdCBvbmUgd2lucy4nKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCB0
VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICB0VHJlZS5zMS5hc3NpZ24o
W3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKyAgdFRyZWUuczEucmVtb3ZlKCk7CisK
KyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIG51bGwpOworICBhc3NlcnRf
ZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgbnVsbCk7CisgIGFzc2VydF9lcXVhbHModFRy
ZWUuYzMuYXNzaWduZWRTbG90LCBudWxsKTsKK30sICdSZW1vdmluZyBhIHNsb3QgZnJvbSBET00g
cmVzZXRzIGl0cyBzbG90dGFibGVcJ3Mgc2xvdCBhc3NpZ25tZW50LicpOworCit0ZXN0KCgpID0+
IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOworCisgIGNvbnN0
IGlzb2xhdGVkRG9jTm9kZSA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1
bWVudCgiIikuYm9keTsKKyAgaXNvbGF0ZWREb2NOb2RlLmFwcGVuZENoaWxkKHRUcmVlLmMxKTsK
KyAgY29uc3QgaXNvbGF0ZWREb2NOb2RlMiA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0
ZUhUTUxEb2N1bWVudCgiIikuYm9keTsKKyAgaXNvbGF0ZWREb2NOb2RlMi5hcHBlbmRDaGlsZCh0
VHJlZS5zMSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKKyAg
YXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdLCAnczEgbm90
IGluc2lkZSBzaGFkb3cgcm9vdCcpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVk
U2xvdCwgbnVsbCk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCBudWxs
KTsKKworICB0VHJlZS5zaGFkb3dfcm9vdC5hcHBlbmRDaGlsZCh0VHJlZS5zMSk7CisgIHRUcmVl
Lmhvc3QuYXBwZW5kQ2hpbGQodFRyZWUuYzEpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVl
LnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1
YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRU
cmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworfSwgJ05vZGVzIGNhbiBiZSBhc3NpZ25l
ZCBldmVuIGlmIHNsb3RzIG9yIG5vZGVzIGFyZW5cJ3QgaW4gdGhlIHNhbWUgdHJlZS4nKTsKKwor
dGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsK
KworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMl0p
OworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBh
c3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworCisgIGNvbnN0
IGlzb2xhdGVkRG9jTm9kZSA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1
bWVudCgiIikuYm9keTsKKyAgaXNvbGF0ZWREb2NOb2RlLmFwcGVuZENoaWxkKHRUcmVlLmMxKTsK
KyAgY29uc3QgaXNvbGF0ZWREb2NOb2RlMiA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0
ZUhUTUxEb2N1bWVudCgiIikuYm9keTsKKyAgaXNvbGF0ZWREb2NOb2RlMi5hcHBlbmRDaGlsZCh0
VHJlZS5zMSk7CisKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVz
KCksIFtdLCAnczEgbm90IGluc2lkZSBzaGFkb3cgcm9vdCcpOworICBhc3NlcnRfZXF1YWxzKHRU
cmVlLmMxLmFzc2lnbmVkU2xvdCwgbnVsbCk7CisgIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNz
aWduZWRTbG90LCBudWxsKTsKKworICB0VHJlZS5zaGFkb3dfcm9vdC5hcHBlbmRDaGlsZCh0VHJl
ZS5zMSk7CisgIHRUcmVlLmhvc3QuYXBwZW5kQ2hpbGQodFRyZWUuYzEpOworICBhc3NlcnRfYXJy
YXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMl0p
OworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBh
c3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworfSwgJ1JlbW92
aW5nIGEgbm9kZSBmcm9tIHRoZSBkb2N1bWVudCBkb2VzIG5vdCBicmVhayBtYW51YWxseSBhc3Np
Z25lZCBzbG90IGxpbmthZ2UuJyk7CisKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92
ZS1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFz
aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUtY3Jh
c2gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBN
RVNTQUdFOiBTeW50YXhFcnJvcjogQ2Fubm90IGRlY2xhcmUgYSBjb25zdCB2YXJpYWJsZSB0d2lj
ZTogJ3Jvb3QnLgorQ09OU09MRSBNRVNTQUdFOiBOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJh
dGlvbiBpcyBub3Qgc3VwcG9ydGVkLgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgz
NApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQt
c2xvdC1yZW1vdmUtY3Jhc2guaHRtbAkocmV2aXNpb24gMjc2NTgxKQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJl
bW92ZS1jcmFzaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogPCFET0NUWVBF
IGh0bWw+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08bGluayByZWw9ImF1dGhvciIgdGl0bGU9
Ik1hc29uIEZyZWVkIiBocmVmPSJtYWlsdG86bWFzb25mcmVlZEBjaHJvbWl1bS5vcmciPgorPGxp
bmsgcmVsPSJhdXRob3IiIGhyZWY9Im1haWx0bzptYXNvbmZAY2hyb21pdW0ub3JnIj4KIDxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9jcmJ1Zy5jb20vMTE1OTMyOCI+CiA8bWV0YSBuYW1l
PSJhc3NlcnQiIGNvbnRlbnQ9IlRoZSByZW5kZXJlciBzaG91bGQgbm90IGNyYXNoLiI+CiAKQEAg
LTgsNyArOCw3IEBACiA8c3Bhbj5UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSByZW5kZXJlciBkb2Vz
IG5vdCBjcmFzaC48L3NwYW4+CiAKIDxzY3JpcHQ+Ci0gIGNvbnN0IHJvb3QgPSBob3N0LmF0dGFj
aFNoYWRvdyh7bW9kZToib3BlbiJ9KTsKKyAgbGV0IHJvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7
bW9kZToib3BlbiJ9KTsKICAgcm9vdC5pbm5lckhUTUwgPSBgCiAgICAgPHNsb3QgaWQ9b3V0ZXIx
IG5hbWU9b3V0ZXI+CiAgICAgICA8c2xvdCBpZD1pbm5lcjEgbmFtZT1pbm5lcj5GYWxsYmFjazwv
c2xvdD4KQEAgLTI3LDcgKzI3LDcgQEAKICAgLy8gVGhlIHJlbmRlcmVyIHNob3VsZCBub3QgY3Jh
c2ggaGVyZToKICAgcm9vdC5xdWVyeVNlbGVjdG9yKCIjb3V0ZXIyIikucmVtb3ZlKCk7CiAKLSAg
Y29uc3Qgcm9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiJvcGVuIn0pOworICByb290ID0g
aG9zdC5hdHRhY2hTaGFkb3coe21vZGU6Im9wZW4ifSk7CiAgIHJvb3QuaW5uZXJIVE1MID0gYAog
ICAgIDxzbG90IGlkPW91dGVyMz4KICAgICAgIDxzbG90IGlkPWlubmVyMz4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1p
bXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL3Nsb3RzLWltcGVyYXRpdmUtYXBpLXNsb3RjaGFuZ2UudGVudGF0aXZlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjc2NTgxKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWltcGVyYXRpdmUtYXBpLXNsb3RjaGFuZ2UudGVu
dGF0aXZlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDE0ICswLDAgQEAKLQotRkFJ
TCBzbG90Y2hhbmdlIGV2ZW50IG11c3Qgbm90IGZpcmUgc3luY2hyb25vdXNseS4gdFRyZWUuczEu
YXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFd
KScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgc2xvdGNoYW5nZSBldmVu
dCBzaG91bGQgbm90IGZpcmUgd2hlbiBhc3NpZ25tZW50cyBkbyBub3QgY2hhbmdlIGFzc2lnbmVk
Tm9kZXMuIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlvbiAiKCkgPT4geyB0VHJlZS5zMS5hc3Np
Z24oW3RUcmVlLmM0XSk7IH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0VHJlZS5zMS5hc3Np
Z24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jNF0pJywg
J3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRp
b24gTm90QWxsb3dlZEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVk
LCBleHBlY3RlZCAwCi1GQUlMIHNsb3RjaGFuZ2UgZXZlbnQgc2hvdWxkIG5vdCBmaXJlIHdoZW4g
c2FtZSBub2RlIGlzIGFzc2lnbmVkLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKScsICd0VHJlZS5zMS5h
c3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gc2xv
dCdzIGFzc2lnbmVkIG5vZGVzIGNoYW5nZXMuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWdu
JyBpcyB1bmRlZmluZWQpCi1GQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCBvbiBwcmV2aW91cyBz
bG90IGFuZCBuZXcgc2xvdCB3aGVuIG5vZGUgaXMgcmVhc3NpZ25lZC4gdFRyZWUuczEuYXNzaWdu
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0
VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgRmlyZSBzbG90Y2hhbmdlIGV2ZW50
IG9uIG5vZGUgYXNzaWdubWVudCBhbmQgd2hlbiBhc3NpZ25lZCBub2RlIGlzIHJlbW92ZWQuIHRU
cmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RU
cmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIEZpcmUgc2xv
dGNoYW5nZSBldmVudCB3aGVuIG9yZGVyIG9mIGFzc2lnbmVkIG5vZGVzIGNoYW5nZXMuIHRUcmVl
LnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVl
LmMxLCB0VHJlZS5jMl0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQotRkFJTCBG
aXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhc3NpZ25lZCBub2RlIGlzIHJlbW92ZWQuIHRUcmVl
LnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVl
LmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIEZpcmUgc2xvdGNo
YW5nZSBldmVudCB3aGVuIHJlbW92aW5nIGEgc2xvdCBmcm9tIFNoYWRvd3MgUm9vdCB0aGF0IGNo
YW5nZXMgaXRzIGFzc2lnbmVkIG5vZGVzLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicg
aXMgdW5kZWZpbmVkKQotRkFJTCBObyBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYWRkaW5nIG9yIHJl
bW92aW5nIGFuIGVtcHR5IHNsb3QuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAx
Ci1GQUlMIE5vIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhZGRpbmcgYW5vdGhlciBzbG90YWJsZS4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgMCBidXQgZ290IDEKLUZBSUwgRmlyZSBzbG90Y2hhbmdl
IGV2ZW50IHdoZW4gYXNzaWduIG5vZGUgdG8gbmVzdGVkIHNsb3QsIGVuc3VyZSBldmVudCBidWJi
bGVzIHVwcy4gdFRyZWUuczMuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMz
LmFzc2lnbihbdFRyZWUuczFdKScsICd0VHJlZS5zMy5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLQpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL3Nsb3RzLWltcGVyYXRpdmUtYXBpLXNsb3RjaGFuZ2UudGVudGF0aXZlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL3Nsb3RzLWltcGVyYXRpdmUtYXBpLXNsb3RjaGFuZ2UudGVudGF0aXZlLmh0bWwJKHJl
dmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRlbnRhdGl2
ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzU4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PHRpdGxlPlNoYWRvdyBET006IEltcGVyYXRpdmUgU2xvdCBBUEkgc2xvdGNoYW5nZSBldmVudDwv
dGl0bGU+Ci08bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJZdSBIYW4iIGhyZWY9Im1haWx0bzp5
dXpoZWhhbkBjaHJvbWl1bS5vcmciPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RvbS5zcGVj
LndoYXR3Zy5vcmcvI3NpZ25hbGluZy1zbG90LWNoYW5nZSI+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3NoYWRvdy1kb20uanMiPjwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0ZXN0X3Nsb3RjaGFuZ2Ui
PgotICA8ZGl2IGlkPSJob3N0Ij4KLSAgICA8dGVtcGxhdGUgaWQ9InNoYWRvd19yb290IiBkYXRh
LW1vZGU9Im9wZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJtYW51YWwiPgotICAgICAgPHNsb3Qg
aWQ9InMxIj48ZGl2IGlkPSJmYiI+ZmFsbGJhY2s8L2Rpdj48L3Nsb3Q+Ci0gICAgICA8c2xvdCBp
ZD0iczIiPjwvc2xvdD4KLSAgICAgIDxzbG90IGlkPSJzMyI+PC9zbG90PgotICAgIDwvdGVtcGxh
dGU+Ci0gICAgPGRpdiBpZD0iYzEiPjwvZGl2PgotICAgIDxkaXYgaWQ9ImMyIj48L2Rpdj4KLSAg
PC9kaXY+Ci0gIDxkaXYgaWQ9ImM0Ij48L2Rpdj4KLTwvZGl2PgotCi08c2NyaXB0PgotZnVuY3Rp
b24gZ2V0RGF0YUNvbGxlY3Rpb24oKSB7Ci0gIHJldHVybiB7Ci0gICAgczFFdmVudENvdW50OiAw
LAotICAgIHMyRXZlbnRDb3VudDogMCwKLSAgICBzM0V2ZW50Q291bnQ6IDAsCi0gICAgczFSZXNv
bHZlRm46IG51bGwsCi0gICAgczJSZXNvbHZlRm46IG51bGwsCi0gICAgczNSZXNvbHZlRm46IG51
bGwsCi0gIH0KLX0KLQotZnVuY3Rpb24gc2V0dXBTaGFkb3dET00oaWQsIHRlc3QsIGRhdGEpIHsK
LSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUoaWQpOwotICB0VHJlZS5zMS5hZGRFdmVudExp
c3RlbmVyKCdzbG90Y2hhbmdlJywgKGV2ZW50KSA9PiB7Ci0gICAgaWYgKCFldmVudC5pc0Zha2VF
dmVudCkgewotICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGV2ZW50LnR5cGUsICdzbG90Y2hhbmdlJywgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdHlw
ZSBtdXN0IGJlICJzbG90Y2hhbmdlIicpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQu
dGFyZ2V0LCB0VHJlZS5zMSwgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdGFyZ2V0IG11c3QgYmUgdGhl
IHNsb3QgZWxlbWVudCcpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQucmVsYXRlZFRh
cmdldCwgdW5kZWZpbmVkLCAnc2xvdGNoYW5nZSBtdXN0IG5vdCBzZXQgcmVsYXRlZFRhcmdldCcp
OwotICAgICAgfSk7Ci0gICAgICBkYXRhLnMxRXZlbnRDb3VudCsrOwotICAgIH0KLSAgICBkYXRh
LnMxUmVzb2x2ZUZuKCk7Ci0gIH0pOwotICB0VHJlZS5zMi5hZGRFdmVudExpc3RlbmVyKCdzbG90
Y2hhbmdlJywgKGV2ZW50KSA9PiB7Ci0gICAgaWYgKCFldmVudC5pc0Zha2VFdmVudCkgewotICAg
ICAgdGVzdC5zdGVwKGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50
LnR5cGUsICdzbG90Y2hhbmdlJywgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdHlwZSBtdXN0IGJlICJz
bG90Y2hhbmdlIicpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudGFyZ2V0LCB0VHJl
ZS5zMiwgJ3Nsb3RjaGFuZ2UgZXZlbnRcJ3MgdGFyZ2V0IG11c3QgYmUgdGhlIHNsb3QgZWxlbWVu
dCcpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQucmVsYXRlZFRhcmdldCwgdW5kZWZp
bmVkLCAnc2xvdGNoYW5nZSBtdXN0IG5vdCBzZXQgcmVsYXRlZFRhcmdldCcpOwotICAgICAgfSk7
Ci0gICAgICBkYXRhLnMyRXZlbnRDb3VudCsrOwotICAgIH0KLSAgICBkYXRhLnMyUmVzb2x2ZUZu
KCk7Ci0gIH0pOwotICB0VHJlZS5zMy5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgKGV2
ZW50KSA9PiB7Ci0gICAgaWYgKCFldmVudC5pc0Zha2VFdmVudCkgewotICAgICAgdGVzdC5zdGVw
KGZ1bmN0aW9uICgpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC50eXBlLCAnc2xvdGNo
YW5nZScsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHR5cGUgbXVzdCBiZSAic2xvdGNoYW5nZSInKTsK
LSAgICAgICAgLy8gbGlzdGVuIHRvIGJ1YmJsaW5nIGV2ZW50cy4KLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyhldmVudC5yZWxhdGVkVGFyZ2V0LCB1bmRlZmluZWQsICdzbG90Y2hhbmdlIG11c3Qgbm90
IHNldCByZWxhdGVkVGFyZ2V0Jyk7Ci0gICAgICB9KTsKLSAgICAgIGRhdGEuczNFdmVudENvdW50
Kys7Ci0gICAgfQotICAgIGRhdGEuczNSZXNvbHZlRm4oKTsKLSAgfSk7Ci0gIHJldHVybiB0VHJl
ZTsKLX0KLQotZnVuY3Rpb24gbW9uaXRvclNsb3RzKGRhdGEpIHsKLSAgICBjb25zdCBzMVByb21p
c2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICBkYXRhLnMxUmVz
b2x2ZUZuID0gcmVzb2x2ZTsKLSAgICB9KTsKLSAgICBjb25zdCBzMlByb21pc2UgPSBuZXcgUHJv
bWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICBkYXRhLnMyUmVzb2x2ZUZuID0gcmVz
b2x2ZTsKLSAgICB9KTsKLSAgICBjb25zdCBzM1Byb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICBkYXRhLnMzUmVzb2x2ZUZuID0gcmVzb2x2ZTsKLSAgICB9
KTsKLSAgICByZXR1cm4gW3MxUHJvbWlzZSwgczJQcm9taXNlLCBzM1Byb21pc2VdOwotfQotPC9z
Y3JpcHQ+Ci0KLTxzY3JpcHQ+Ci0vLyBUZXN0czoKLWFzeW5jX3Rlc3QoKHRlc3QpID0+IHsKLSAg
Y29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hh
ZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9taXNlLCBz
MlByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzFdKTsKLSAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pOwotCi0gIGFzc2VydF9lcXVh
bHMoZGF0YS5zMUV2ZW50Q291bnQsIDAsICdzbG90Y2hhbmdlIGV2ZW50IG11c3Qgbm90IGJlIGZp
cmVkIHN5bmNocm9ub3VzbHknKTsKLSAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwg
MCk7Ci0KLSAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0
ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50
LCAxKTsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAxKTsKLSAgfSkpOwot
fSwgJ3Nsb3RjaGFuZ2UgZXZlbnQgbXVzdCBub3QgZmlyZSBzeW5jaHJvbm91c2x5LicpOwotCi1h
c3luY190ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigp
OwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRh
dGEpOwotICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsK
LQotICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90QWxsb3dlZEVycm9yJywgKCkgPT4geyB0VHJlZS5z
MS5hc3NpZ24oW3RUcmVlLmM0XSk7IH0pOwotICB0VHJlZS5zMi5hc3NpZ24oW10pOwotICB0VHJl
ZS5ob3N0Lmluc2VydEJlZm9yZSh0VHJlZS5jNCwgdFRyZWUuYzEpOwotCi0gIFByb21pc2UuYWxs
KFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7
Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMCk7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMCk7Ci0gIH0pKTsKLQotICAvLyB1c2UgZmFrZSBldmVu
dCB0byB0cmlnZ2VyIGV2ZW50IGhhbmRsZXIuCi0gIGxldCBmYWtlRXZlbnQgPSBuZXcgRXZlbnQo
J3Nsb3RjaGFuZ2UnKTsKLSAgZmFrZUV2ZW50LmlzRmFrZUV2ZW50ID0gdHJ1ZTsKLSAgdFRyZWUu
czEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwotICB0VHJlZS5zMi5kaXNwYXRjaEV2ZW50KGZh
a2VFdmVudCk7Ci19LCAnc2xvdGNoYW5nZSBldmVudCBzaG91bGQgbm90IGZpcmUgd2hlbiBhc3Np
Z25tZW50cyBkbyBub3QgY2hhbmdlIGFzc2lnbmVkTm9kZXMuJyk7Ci0KLWFzeW5jX3Rlc3QoKHRl
c3QpID0+IHsKLSAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJl
ZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSx0ZXN0LCBkYXRhKTsKLSAgbGV0IFtz
MVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzEsIHRUcmVlLmMyXSk7Ci0KLSAgczFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkg
PT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOwotCi0gICAgW3Mx
UHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0gICAgdFRyZWUuczEuYXNzaWduKFt0VHJl
ZS5jMSwgdFRyZWUuYzJdKTsKLSAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5j
MSwgdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jMl0pOwotCi0gICAgczFQcm9taXNlLnRoZW4o
dGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFF
dmVudENvdW50LCAxKTsKLSAgICB9KSk7Ci0KLSAgICBsZXQgZmFrZUV2ZW50ID0gbmV3IEV2ZW50
KCdzbG90Y2hhbmdlJyk7Ci0gICAgZmFrZUV2ZW50LmlzRmFrZUV2ZW50ID0gdHJ1ZTsKLSAgICB0
VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7Ci0gIH0pKTsKLQotfSwgJ3Nsb3RjaGFu
Z2UgZXZlbnQgc2hvdWxkIG5vdCBmaXJlIHdoZW4gc2FtZSBub2RlIGlzIGFzc2lnbmVkLicpOwot
Ci1hc3luY190ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlv
bigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3Qs
IGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRh
KTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0gIHRUcmVlLnMyLmFzc2lnbihb
dFRyZWUuYzJdKTsKLQotICBQcm9taXNlLmFsbChbczFQcm9taXNlLCBzMlByb21pc2VdKS50aGVu
KHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2
ZW50Q291bnQsIDEpOwotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDEpOwot
ICB9KSk7Ci19LCAiRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gc2xvdCdzIGFzc2lnbmVkIG5v
ZGVzIGNoYW5nZXMuIik7Ci0KLWFzeW5jX3Rlc3QoKHRlc3QpID0+IHsKLSAgY29uc3QgZGF0YSA9
IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rf
c2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9taXNlLCBzMlByb21pc2VdID0g
bW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKLQot
ICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7Ci0KLSAgICBbczFQcm9taXNlLCBzMlByb21pc2VdID0g
bW9uaXRvclNsb3RzKGRhdGEpOwotICAgIHRUcmVlLnMyLmFzc2lnbihbdFRyZWUuYzFdKTsKLQot
ICAgIFByb21pc2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1
bmNfZG9uZSgoKSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAy
KTsKLSAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDEpOwotICAgIH0pKTsK
LSAgfSkpOwotfSwgIkZpcmUgc2xvdGNoYW5nZSBldmVudCBvbiBwcmV2aW91cyBzbG90IGFuZCBu
ZXcgc2xvdCB3aGVuIG5vZGUgaXMgcmVhc3NpZ25lZC4iKTsKLQotYXN5bmNfdGVzdCgodGVzdCkg
PT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKLSAgbGV0IHRUcmVlID0g
c2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKLSAgbGV0IFtzMVBy
b21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUu
YzFdKTsKLQotICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7Ci0KLSAgICBbczFQcm9taXNlXSA9IG1v
bml0b3JTbG90cyhkYXRhKTsKLSAgICB0VHJlZS5zMS5hc3NpZ24oW10pOwotCi0gICAgczFQcm9t
aXNlLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxz
KGRhdGEuczFFdmVudENvdW50LCAyKTsKLSAgICB9KSk7Ci0gIH0pKTsKLX0sICJGaXJlIHNsb3Rj
aGFuZ2UgZXZlbnQgb24gbm9kZSBhc3NpZ25tZW50IGFuZCB3aGVuIGFzc2lnbmVkIG5vZGUgaXMg
cmVtb3ZlZC4iKTsKLQotYXN5bmNfdGVzdCgodGVzdCkgPT4gewotICBjb25zdCBkYXRhID0gZ2V0
RGF0YUNvbGxlY3Rpb24oKTsKLSAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90
Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKLSAgbGV0IFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRh
dGEpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSk7Ci0KLSAgczFQ
cm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0
YS5zMUV2ZW50Q291bnQsIDEpOwotCi0gICAgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0
YSk7Ci0gICAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzFdKTsKLQotICAgIHMx
UHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgICAgYXNzZXJ0X2Vx
dWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMik7Ci0gICAgfSkpOwotICB9KSk7Ci19LCAiRmlyZSBz
bG90Y2hhbmdlIGV2ZW50IHdoZW4gb3JkZXIgb2YgYXNzaWduZWQgbm9kZXMgY2hhbmdlcy4iKTsK
LQotcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVj
dGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRl
c3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0KLSAg
dFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwotCi0gIHJldHVybiBzMVByb21pc2UudGhlbih0
ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3Vu
dCwgMSk7Ci0KLSAgICBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLSAgICB0VHJl
ZS5jMS5yZW1vdmUoKTsKLQotICAgIHJldHVybiBzMVByb21pc2U7Ci0gIH0pKQotICAudGhlbih0
ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENv
dW50LCAyKTsKLSAgfSkpOwotfSwgIkZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIGFzc2lnbmVk
IG5vZGUgaXMgcmVtb3ZlZC4iKTsKLQotcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0
IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RP
TSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOwotICBbczFQcm9taXNlXSA9IG1vbml0b3JT
bG90cyhkYXRhKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0KLSAgcmV0dXJu
IHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxz
KGRhdGEuczFFdmVudENvdW50LCAxKTsKLQotICAgIFtzMVByb21pc2VdID0gbW9uaXRvclNsb3Rz
KGRhdGEpOwotICAgIHRUcmVlLnMxLnJlbW92ZSgpOwotCi0gICAgcmV0dXJuIHMxUHJvbWlzZTsK
LSAgfSkpCi0gIC50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKLSAgICAgIGFzc2VydF9lcXVh
bHMoZGF0YS5zMUV2ZW50Q291bnQsIDIpOwotICB9KSk7Ci19LCAiRmlyZSBzbG90Y2hhbmdlIGV2
ZW50IHdoZW4gcmVtb3ZpbmcgYSBzbG90IGZyb20gU2hhZG93cyBSb290IHRoYXQgY2hhbmdlcyBp
dHMgYXNzaWduZWQgbm9kZXMuIik7Ci0KLWFzeW5jX3Rlc3QoKHRlc3QpID0+IHsKLSAgY29uc3Qg
ZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9N
KHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9taXNlXSA9IG1vbml0
b3JTbG90cyhkYXRhKTsKLQotICB0VHJlZS5zMS5yZW1vdmUoKTsKLQotICBsZXQgZmFrZUV2ZW50
ID0gbmV3IEV2ZW50KCdzbG90Y2hhbmdlJyk7Ci0gIGZha2VFdmVudC5pc0Zha2VFdmVudCA9IHRy
dWU7Ci0gIHRUcmVlLnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLQotICBzMVByb21pc2Uu
dGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZl
bnRDb3VudCwgMCk7Ci0KLSAgICBbczFQcm9taXNlLCBzMlByb21pc2VdID0gbW9uaXRvclNsb3Rz
KGRhdGEpOwotICAgIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9yZSh0VHJlZS5zMSwgdFRy
ZWUuczIpOwotCi0gICAgdFRyZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwotICAgIHRU
cmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLQotICAgIFByb21pc2UuYWxsKFtzMVBy
b21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAwKTsKLSAgICAgIGFzc2VydF9lcXVh
bHMoZGF0YS5zMkV2ZW50Q291bnQsIDApOwotICAgIH0pKTsKLSAgfSkpOwotCi19LCAiTm8gc2xv
dGNoYW5nZSBldmVudCB3aGVuIGFkZGluZyBvciByZW1vdmluZyBhbiBlbXB0eSBzbG90LiIpOwot
Ci1hc3luY190ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlv
bigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3Qs
IGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRh
KTsKLQotICB0VHJlZS5ob3N0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpKTsKLQotICBsZXQgZmFrZUV2ZW50ID0gbmV3IEV2ZW50KCdzbG90Y2hhbmdlJyk7Ci0gIGZh
a2VFdmVudC5pc0Zha2VFdmVudCA9IHRydWU7Ci0gIHRUcmVlLnMxLmRpc3BhdGNoRXZlbnQoZmFr
ZUV2ZW50KTsKLSAgdFRyZWUuczIuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwotCi0gIFByb21p
c2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4g
ewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDApOwotICAgIGFzc2VydF9l
cXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDApOwotCi0gICAgW3MxUHJvbWlzZSwgczJQcm9taXNl
XSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLSAgICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZv
cmUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksIHRUcmVlLnMyKTsKLQotICAgIHRUcmVl
LnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLSAgICB0VHJlZS5zMi5kaXNwYXRjaEV2ZW50
KGZha2VFdmVudCk7Ci0KLSAgICBQcm9taXNlLmFsbChbczFQcm9taXNlLCBzMlByb21pc2VdKS50
aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhkYXRh
LnMxRXZlbnRDb3VudCwgMCk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50
LCAwKTsKLSAgICB9KSk7Ci0gIH0pKTsKLQotfSwgIk5vIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBh
ZGRpbmcgYW5vdGhlciBzbG90YWJsZS4iKTsKLQotPC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9InRlc3Rf
bmVzdGVkX3Nsb3RjaGFuZ2UiPgotICA8ZGl2PgotICAgIDx0ZW1wbGF0ZSBkYXRhLW1vZGU9Im9w
ZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJtYW51YWwiPgotICAgICAgPGRpdj4KLSAgICAgICAg
PHRlbXBsYXRlIGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1hbnVhbCI+
Ci0gICAgICAgICAgPHNsb3QgaWQ9InMyIj48L3Nsb3Q+Ci0gICAgICAgICAgPHNsb3QgaWQ9InMz
Ij48L3Nsb3Q+Ci0gICAgICAgIDwvdGVtcGxhdGU+Ci0gICAgICAgIDxzbG90IGlkPSJzMSI+PC9z
bG90PgotICAgICAgPC9kaXY+Ci0gICAgPC90ZW1wbGF0ZT4KLSAgICA8ZGl2IGlkPSJjMSI+PC9k
aXY+Ci0gIDwvZGl2PgotPC9kaXY+Ci0KLTxzY3JpcHQ+Ci1hc3luY190ZXN0KCh0ZXN0KSA9PiB7
Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1
cFNoYWRvd0RPTSh0ZXN0X25lc3RlZF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKLSAgbGV0IFtz
MVByb21pc2UsIHMyUHJvbWlzZSwgczNQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLQot
ICB0VHJlZS5zMy5hc3NpZ24oW3RUcmVlLnMxXSk7Ci0KLSAgczNQcm9taXNlLnRoZW4odGVzdC5z
dGVwX2Z1bmMoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zM0V2ZW50Q291bnQsIDEp
OwotICAgIFtzMVByb21pc2UsIHMyUHJvbWlzZSwgczNQcm9taXNlXSA9IG1vbml0b3JTbG90cyhk
YXRhKTsKLQotICAgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKLQotICAgIFByb21pc2Uu
YWxsKFtzMVByb21pc2UsIHMzUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9
PiB7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKLSAgICAgIGFz
c2VydF9lcXVhbHMoZGF0YS5zM0V2ZW50Q291bnQsIDIpOwotICAgIH0pKTsKLSAgfSkpOwotfSwg
IkZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIGFzc2lnbiBub2RlIHRvIG5lc3RlZCBzbG90LCBl
bnN1cmUgZXZlbnQgYnViYmxlcyB1cHMuIik7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1pbXBlcmF0
aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWlt
cGVyYXRpdmUtc2xvdC1hcGkudGVudGF0aXZlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjc2NTgx
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL3Nsb3RzLWltcGVyYXRpdmUtc2xvdC1hcGkudGVudGF0aXZlLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDE5ICswLDAgQEAKLQotRkFJTCBhdHRhY2hTaGFkb3cgY2FuIHRha2Ug
c2xvdEFzc2lnbm1lbnQgcGFyYW1ldGVyLiBhc3NlcnRfdGhyb3dzX2pzOiBvdGhlcnMgc2hvdWxk
IHRocm93IGV4Y2VwdGlvbiBmdW5jdGlvbiAiKCkgPT4gewotICAgIHRUcmVlLmhvc3QzLmF0dGFj
aFNoYWRvdyh7IG1vZGU6ICdvcGVuJywgc2xvdEFzc2lnbm1lbnQ6ICdleGNlcHRpb25hbCcgfSl9
IiBkaWQgbm90IHRocm93Ci1GQUlMIEltcGVyYXRpdmUgc2xvdCBBUEkgdGhyb3dzIGV4Y2VwdGlv
biB3aGVuIG5vdCBzbG90QXNzaWdubWVudCAhPSAnbWFudWFsJy4gYXNzZXJ0X3Rocm93c19kb206
IGZ1bmN0aW9uICIoKSA9PiB7IHRUcmVlLnMxLmFzc2lnbihbXSk7IH0iIHRocmV3IG9iamVjdCAi
VHlwZUVycm9yOiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUu
czEuYXNzaWduKFtdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMg
bm90IGEgRE9NRXhjZXB0aW9uIE5vdEFsbG93ZWRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVx
dWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMAotRkFJTCBJbXBlcmF0aXZlIHNsb3QgQVBJIHRo
cm93cyBleGNlcHRpb24gd2hlbiBzbG90dGFibGUgcGFyZW50Tm9kZSAhPSBzbG90J3MgaG9zdC4g
YXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIoKSA9PiB7IHRUcmVlLnMyLmFzc2lnbihbdFRy
ZWUuYzJdKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IHRUcmVlLnMyLmFzc2lnbiBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMyXSknLCAndFRyZWUu
czIuYXNzaWduJyBpcyB1bmRlZmluZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBOb3RB
bGxvd2VkRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVj
dGVkIDAKLUZBSUwgSW1wZXJhdGl2ZSBzbG90IEFQSSBjYW4gYXNzaWduIG5vZGVzIGluIG1hbnVh
bCBzbG90IGFzc2lnbm1lbnQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBF
bGVtZW50IG5vZGUgPHNsb3QgaWQ9InMxIj48L3Nsb3Q+Ci1GQUlMIE9yZGVyIG9mIHNsb3R0YWJs
ZXMgaXMgcHJlc2VydmVkIGluIG1hbnVhbCBzbG90IGFzc2lnbm1lbnQuIHRUcmVlLnMxLmFzc2ln
biBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJl
ZS5jMywgdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwg
UHJldmlvdXNseSBhc3NpZ25lZCBzbG90dGFibGUgaXMgbW92ZWQgdG8gbmV3IHNsb3Qgd2hlbiBp
dCdzIHJlYXNzaWduZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0
VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKScsICd0VHJlZS5z
MS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgT3JkZXIgYW5kIGFzc2lnbm1lbnQgb2Ygbm9k
ZXMgYXJlIHByZXNlcnZlZCBkdXJpbmcgbXVsdGlwbGUgYXNzaWdubWVudCBpbiBhIHJvdy4gdFRy
ZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgQXNzaWduaW5n
IGludmFsaWQgbm9kZXMgY2F1c2VzIGV4Y2VwdGlvbiBhbmQgc2xvdCByZXR1cm5zIHRvIGl0cyBw
cmV2aW91cyBzdGF0ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5vdEFsbG93ZWRFcnJvciIg
YnV0IGdvdCAiVHlwZUVycm9yIgotRkFJTCBNb3ZpbmcgYSBzbG90IHRvIGEgbmV3IGhvc3QsIHRo
ZSBzbG90IGxvc2VzIGl0cyBwcmV2aW91c2x5IGFzc2lnbmVkIHNsb3R0YWJsZXMuIHRUcmVlLnMx
LmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMx
LCB0VHJlZS5jMiwgdFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkK
LUZBSUwgTW92aW5nIGEgc2xvdCdzIHRyZWUgb3JkZXIgcG9zaXRpb24gd2l0aGluIGEgc2hhZG93
IGhvc3QgaGFzIG5vIGltcGFjdCBvbiBpdHMgYXNzaWduZWQgc2xvdHRhYmxlcy4gdFRyZWUuczEu
YXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEs
IHRUcmVlLmMyLCB0VHJlZS5jM10pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQot
RkFJTCBBcHBlbmRpbmcgc2xvdHRhYmxlIHRvIGRpZmZlcmVudCBob3N0LCBpdCBsb3NlcyBzbG90
IGFzc2lnbm1lbnQuIEl0IGNhbiBiZSByZS1hc3NpZ25lZCB3aXRoaW4gYSBuZXcgaG9zdC4gdFRy
ZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZp
bmVkKQotRkFJTCBQcmV2aW91c2x5IGFzc2lnbmVkIG5vZGUgc2hvdWxkIG5vdCBiZSBhc3NpZ25l
ZCBpZiBzbG90IG1vdmVkIHRvIGEgbmV3IHNoYWRvdyByb290LiBUaGUgc2xvdCByZW1haW5zIGVt
cHR5IHdoZW4gbW92ZWQgYmFjaywgbm8gdHJpZ2dlciByZWNhbGMuIHRUcmVlLnMxLmFzc2lnbiBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRy
ZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIFByZXZpb3VzbHkgYXNzaWduZWQgbm9k
ZSBzaG91bGQgbm90IGJlIGFzc2lnbmVkIGlmIHNsb3QgbW92ZWQgdG8gYSBuZXcgc2hhZG93IHJv
b3QuIFRoZSBzbG90IHJlbWFpbnMgZW1wdHkgd2hlbiBtb3ZlZCBiYWNrLCB0cmlnZ2VyIHJlY2Fs
Yy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2ln
bihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgQXNz
aWdubWVudCB3aXRoIHRoZSBzYW1lIG5vZGUgaW4gcGFyYW1ldGVycyBzaG91bGQgYmUgaWdub3Jl
ZCwgbGFzdCBvbmUgd2lucy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMxLCB0VHJlZS5jMV0pJywgJ3RUcmVl
LnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQotRkFJTCBSZW1vdmluZyBhIHNsb3QgZnJvbSBET00g
cmVzZXRzIGl0cyBzbG90dGFibGUncyBzbG90IGFzc2lnbm1lbnQuIHRUcmVlLnMxLmFzc2lnbiBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5j
MiwgdFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgQSBz
bG90IHNob3VsZCBiZSBjbGVhcmVkIG9mIGFzc2lnbmVkIG5vZGVzIGV2ZW4gaWYgaXQncyByZS1p
bnNlcnRlZCBpbnRvIHRoZSBzYW1lIHNoYWRvdyByb290LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMx
LmFzc2lnbicgaXMgdW5kZWZpbmVkKQotCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMtaW1wZXJhdGl2ZS1zbG90LWFwaS50
ZW50YXRpdmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMtaW1wZXJhdGl2ZS1zbG90LWFwaS50ZW50
YXRpdmUuaHRtbAkocmV2aXNpb24gMjc2NTgxKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWltcGVyYXRpdmUtc2xvdC1hcGku
dGVudGF0aXZlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMDUgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08dGl0bGU+U2hhZG93IERPTTogSW1wZXJhdGl2ZSBTbG90IEFQSTwvdGl0bGU+Ci08
bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJZdSBIYW4iIGhyZWY9Im1haWx0bzp5dXpoZWhhbkBj
aHJvbWl1bS5vcmciPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4K
LQotPGRpdiBpZD0idGVzdF9iYXNpYyI+Ci0gIDxkaXYgaWQ9Imhvc3QxIj48L2Rpdj4KLSAgPGRp
diBpZD0iaG9zdDIiPjwvZGl2PgotICA8ZGl2IGlkPSJob3N0MyI+PC9kaXY+Ci08L2Rpdj4KLTxz
Y3JpcHQ+Ci10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9i
YXNpYyk7Ci0gIGFzc2VydF9ub3RfZXF1YWxzKHRUcmVlLmhvc3QxLmF0dGFjaFNoYWRvdyh7IG1v
ZGU6ICdvcGVuJywgc2xvdEFzc2lnbm1lbnQ6ICdtYW51YWwnfSksCi0gICAgICAgICAgICAgICAg
ICAgIG51bGwsICdzbG90IGFzc2lnbm1lbnQgbWFudWFsIHNob3VsZCB3b3JrJyk7Ci0gIGFzc2Vy
dF9ub3RfZXF1YWxzKHRUcmVlLmhvc3QyLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJywgc2xv
dEFzc2lnbm1lbnQ6ICduYW1lJ30pLAotICAgICAgICAgICAgICAgICAgICBudWxsLCAnc2xvdCBh
c3NpZ25tZW50IGF1dG8gc2hvdWxkIHdvcmsnKTsKLSAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJy
b3IsICgpID0+IHsKLSAgICB0VHJlZS5ob3N0My5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3Blbics
IHNsb3RBc3NpZ25tZW50OiAnZXhjZXB0aW9uYWwnIH0pfSwKLSAgICAgICAgICAgICAgICAnb3Ro
ZXJzIHNob3VsZCB0aHJvdyBleGNlcHRpb24nKTsKLX0sICdhdHRhY2hTaGFkb3cgY2FuIHRha2Ug
c2xvdEFzc2lnbm1lbnQgcGFyYW1ldGVyLicpOwotPC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9InRlc3Rf
ZXJyb3JzIj4KLSAgPGRpdiBpZD0iaG9zdDEiPgotICAgIDx0ZW1wbGF0ZSBkYXRhLW1vZGU9Im9w
ZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJuYW1lIj4KLSAgICAgIDxzbG90IGlkPSJzMSI+PC9z
bG90PgotICAgIDwvdGVtcGxhdGU+Ci0gICAgPGRpdiBpZD0iYzEiPjwvZGl2PgotICA8L2Rpdj4K
LSAgPGRpdiBpZD0iaG9zdDIiPgotICAgIDx0ZW1wbGF0ZSBkYXRhLW1vZGU9Im9wZW4iIGRhdGEt
c2xvdC1hc3NpZ25tZW50PSJtYW51YWwiPgotICAgICAgPHNsb3QgaWQ9InMyIj48L3Nsb3Q+Ci0g
ICAgPC90ZW1wbGF0ZT4KLSAgPC9kaXY+Ci0gIDxkaXYgaWQ9ImMyIj48L2Rpdj4KLTwvZGl2Pgot
PHNjcmlwdD4KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0
X2Vycm9ycyk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWRFbGVtZW50
cygpLCBbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3Qs
IHRUcmVlLnMxKTsKLQotICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90QWxsb3dlZEVycm9yJywgKCkg
PT4geyB0VHJlZS5zMS5hc3NpZ24oW10pOyB9KTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJl
ZS5zMS5hc3NpZ25lZEVsZW1lbnRzKCksIFt0VHJlZS5jMV0pOwotICBhc3NlcnRfZXF1YWxzKHRU
cmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotfSwgJ0ltcGVyYXRpdmUgc2xvdCBBUEkg
dGhyb3dzIGV4Y2VwdGlvbiB3aGVuIG5vdCBzbG90QXNzaWdubWVudCAhPSBcJ21hbnVhbFwnLicp
OwotCi10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9lcnJv
cnMpOwotICBhc3NlcnRfdGhyb3dzX2RvbSgnTm90QWxsb3dlZEVycm9yJywgKCkgPT4geyB0VHJl
ZS5zMi5hc3NpZ24oW3RUcmVlLmMyXSk7IH0pOwotCi0gIGFzc2VydF90aHJvd3NfZG9tKCdOb3RB
bGxvd2VkRXJyb3InLCAoKSA9PiB7IHRUcmVlLnMyLmFzc2lnbihbdFRyZWUuaG9zdDFdKTsgfSk7
Ci19LCAnSW1wZXJhdGl2ZSBzbG90IEFQSSB0aHJvd3MgZXhjZXB0aW9uIHdoZW4gc2xvdHRhYmxl
IHBhcmVudE5vZGUgIT0gc2xvdFwncyBob3N0LicpOwotPC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9InRl
c3RfYXNzaWduIj4KLSAgPGRpdiBpZD0iaG9zdCI+Ci0gICAgPHRlbXBsYXRlIGlkPSJzaGFkb3df
cm9vdCIgZGF0YS1tb2RlPSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KLSAg
ICAgIDxzbG90IGlkPSJzMSI+PC9zbG90PgotICAgICAgPHNsb3QgaWQ9InMyIj48L3Nsb3Q+Ci0g
ICAgICA8c2xvdCBpZD0iczMiPjwvc2xvdD4KLSAgICA8L3RlbXBsYXRlPgotICAgIDxkaXYgaWQ9
ImMxIj48L2Rpdj4KLSAgICA8ZGl2IGlkPSJjMiI+PC9kaXY+Ci0gICAgPGRpdiBpZD0iYzMiPjwv
ZGl2PgotICAgIDxkaXYgaWQ9Im5lc3RlZCI+Ci0gICAgICAgPGRpdiBpZD0ibnMxIj48L2Rpdj4K
LSAgICA8L2Rpdj4KLSAgPC9kaXY+Ci0gIDxkaXYgaWQ9ImM0Ij48L2Rpdj4KLSAgPGRpdiBpZD0i
aG9zdDQiPgotICAgIDx0ZW1wbGF0ZSBpZD0ic2hhZG93X3Jvb3Q0IiBkYXRhLW1vZGU9Im9wZW4i
IGRhdGEtc2xvdC1hc3NpZ25tZW50PSJtYW51YWwiPgotICAgICAgPHNsb3QgaWQ9InM0IiBuYW1l
PSJzNCI+PC9zbG90PgotICAgIDwvdGVtcGxhdGU+Ci0gIDwvZGl2PgotPC9kaXY+Ci08c2NyaXB0
PgotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWdu
KTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMi5hc3NpZ25lZEVsZW1lbnRzKCksIFtd
KTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIG51bGwpOwotCi0gIHRU
cmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5z
MS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMx
LmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotCi0gIHRUcmVlLnMyLmFzc2lnbihbdFRyZWUuYzIs
IHRUcmVlLmMzXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2Rl
cygpLCBbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMi5hc3NpZ25l
ZE5vZGVzKCksIFt0VHJlZS5jMiwgdFRyZWUuYzNdKTsKLX0sICdJbXBlcmF0aXZlIHNsb3QgQVBJ
IGNhbiBhc3NpZ24gbm9kZXMgaW4gbWFudWFsIHNsb3QgYXNzaWdubWVudC4nKTsKLQotdGVzdCgo
KSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKLQotICB0
VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKTsKLSAgYXNzZXJ0
X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMiwgdFRyZWUu
YzMsIHRUcmVlLmMxXSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0
VHJlZS5zMSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5z
MSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0K
LSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKLSAgYXNzZXJ0X2FycmF5
X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsK
LSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLSAgYXNz
ZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLSAgYXNzZXJ0X2Vx
dWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3QsIG51bGwpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzMsIHRUcmVlLmMyLCB0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRU
cmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMzLCB0VHJlZS5jMiwgdFRyZWUuYzFdKTsK
LSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLSAgYXNz
ZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLSAgYXNzZXJ0X2Vx
dWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLX0sICdPcmRlciBvZiBzbG90
dGFibGVzIGlzIHByZXNlcnZlZCBpbiBtYW51YWwgc2xvdCBhc3NpZ25tZW50LicpOwotCi10ZXN0
KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0g
IHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5jMV0pOwotICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyLCB0VHJl
ZS5jMywgdFRyZWUuYzFdKTsKLQotICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMyXSk7Ci0gIGFz
c2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzMsIHRU
cmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2Rlcygp
LCBbdFRyZWUuYzJdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRU
cmVlLnMxKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVlLnMy
KTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLQot
ICB0VHJlZS5zMy5hc3NpZ24oW3RUcmVlLmMzXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRy
ZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFs
cyh0VHJlZS5zMi5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMl0pOwotICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKHRUcmVlLnMzLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMzXSk7Ci0gIGFzc2VydF9l
cXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0gIGFzc2VydF9lcXVhbHMo
dFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMik7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUu
YzMuYXNzaWduZWRTbG90LCB0VHJlZS5zMyk7Ci19LCAnUHJldmlvdXNseSBhc3NpZ25lZCBzbG90
dGFibGUgaXMgbW92ZWQgdG8gbmV3IHNsb3Qgd2hlbiBpdFwncyByZWFzc2lnbmVkLicpOwotCi10
ZXN0KCgpID0+IHsKLSBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0K
LSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwotICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVl
LmMyLCB0VHJlZS5jMV0pOwotICB0VHJlZS5zMy5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jM10p
OwotCi0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSk7
Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbdFRyZWUu
YzJdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMy5hc3NpZ25lZE5vZGVzKCksIFt0
VHJlZS5jMSwgdFRyZWUuYzNdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNs
b3QsIHRUcmVlLnMzKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRU
cmVlLnMyKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3QsIHRUcmVlLnMz
KTsKLX0sICdPcmRlciBhbmQgYXNzaWdubWVudCBvZiBub2RlcyBhcmUgcHJlc2VydmVkIGR1cmlu
ZyBtdWx0aXBsZSBhc3NpZ25tZW50IGluIGEgcm93LicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0
IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIC8vIHRUcmVlLmM0IGlz
IGludmFsaWQgZm9yIHRUcmVlLmhvc3Qgc2xvdCBhc3NpZ25tZW50LgotICB0cnkgewotICAgIHRU
cmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jNF0pOwotICAgIGFzc2Vy
dF91bnJlYWNoZWQoJ2Fzc2lnbigpIHNob3VsZCBoYXZlIGZhaWxlZCkgJyk7Ci0gIH0gY2F0Y2gg
KGVycikgewotICAgIGFzc2VydF9lcXVhbHMoZXJyLm5hbWUsICdOb3RBbGxvd2VkRXJyb3InKTsK
LSAgfQotCi0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBb
XSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCBudWxsKTsKLSAgYXNz
ZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIG51bGwpOwotICBhc3NlcnRfZXF1YWxz
KHRUcmVlLmM0LmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJl
ZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUu
czEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5jMV0pOwotCi0g
IHRyeSB7Ci0gICAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jNF0pOwotICAgIGFzc2VydF91bnJl
YWNoZWQoJ2Fzc2lnbigpIHNob3VsZCBoYXZlIGZhaWxlZCkgJyk7Ci0gIH0gY2F0Y2ggKGVycikg
ewotICAgIGFzc2VydF9lcXVhbHMoZXJyLm5hbWUsICdOb3RBbGxvd2VkRXJyb3InKTsKLSAgfQot
Ci0gIC8vIFByZXZpb3VzIHN0YXRlIGlzIHByZXNlcnZlZC4KLSAgYXNzZXJ0X2FycmF5X2VxdWFs
cyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMx
XSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0g
IGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0gIGFzc2Vy
dF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci19LCAnQXNzaWduaW5n
IGludmFsaWQgbm9kZXMgY2F1c2VzIGV4Y2VwdGlvbiBhbmQgc2xvdCByZXR1cm5zIHRvIGl0cyBw
cmV2aW91cyBzdGF0ZS4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRl
c3RUcmVlKHRlc3RfYXNzaWduKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJl
ZS5jMiwgdFRyZWUuYzNdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25l
ZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7Ci0KLSAgdFRyZWUuaG9z
dDQuYXBwZW5kKHRUcmVlLnMxKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3Np
Z25lZE5vZGVzKCksIFtdKTsKLX0sICdNb3ZpbmcgYSBzbG90IHRvIGEgbmV3IGhvc3QsIHRoZSBz
bG90IGxvc2VzIGl0cyBwcmV2aW91c2x5IGFzc2lnbmVkIHNsb3R0YWJsZXMuJyk7Ci0KLXRlc3Qo
KCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0KLSAg
dFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7Ci0gIGFzc2Vy
dF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVl
LmMyLCB0VHJlZS5jM10pOwotCi0gIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9yZSh0VHJl
ZS5zMiwgdFRyZWUuczEpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVk
Tm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKLSAgYXNzZXJ0X2FycmF5
X2VxdWFscyh0VHJlZS5zMi5hc3NpZ25lZE5vZGVzKCksIFtdKTsKLQotICB0VHJlZS5zaGFkb3df
cm9vdC5pbnNlcnRCZWZvcmUodFRyZWUuczQsIHRUcmVlLnMxKTsKLSAgYXNzZXJ0X2FycmF5X2Vx
dWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVl
LmMzXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczQuYXNzaWduZWROb2RlcygpLCBb
XSk7Ci0KLSAgdFRyZWUubnMxLmFwcGVuZCh0VHJlZS5zMSk7Ci0gIGFzc2VydF9hcnJheV9lcXVh
bHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSk7Ci19LCAnTW92aW5nIGEgc2xvdFwncyB0
cmVlIG9yZGVyIHBvc2l0aW9uIHdpdGhpbiBhIHNoYWRvdyBob3N0IGhhcyBubyBpbXBhY3Qgb24g
aXRzIGFzc2lnbmVkIHNsb3R0YWJsZXMuJyk7Ci0KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUg
PSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJl
ZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUu
czEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOwotCi0g
IHRUcmVlLmhvc3Q0LmFwcGVuZCh0VHJlZS5jMSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRy
ZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRUcmVlLmMzXSk7Ci0gIGFzc2VydF9h
cnJheV9lcXVhbHModFRyZWUuczQuYXNzaWduZWROb2RlcygpLCBbXSk7Ci0KLSAgdFRyZWUuczQu
YXNzaWduKFt0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnM0LmFzc2ln
bmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWdu
ZWRTbG90LCB0VHJlZS5zNCk7Ci19LCAnQXBwZW5kaW5nIHNsb3R0YWJsZSB0byBkaWZmZXJlbnQg
aG9zdCwgaXQgbG9zZXMgc2xvdCBhc3NpZ25tZW50LiBJdCBjYW4gYmUgcmUtYXNzaWduZWQgd2l0
aGluIGEgbmV3IGhvc3QuJyk7Ci0KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVU
ZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwot
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMx
XSk7Ci0KLSAgdFRyZWUuc2hhZG93X3Jvb3Q0Lmluc2VydEJlZm9yZSh0VHJlZS5zMSwgdFRyZWUu
czQpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW10p
OwotICAvLyBEb24ndCB0cmlnZ2VyIHNsb3QgYXNzaWdubWVudCBvbiBwcmV2aW91cyBzaGFkb3cg
cm9vdC4KLSAgLy8gYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMi5hc3NpZ25lZE5vZGVzKCks
IFtdKTsKLQotICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUodFRyZWUuczEsIHRUcmVl
LnMyKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtd
KTsKLX0sICdQcmV2aW91c2x5IGFzc2lnbmVkIG5vZGUgc2hvdWxkIG5vdCBiZSBhc3NpZ25lZCBp
ZiBzbG90IG1vdmVkIHRvIGEgbmV3IHNoYWRvdyByb290LiBUaGUgc2xvdCByZW1haW5zIGVtcHR5
IHdoZW4gbW92ZWQgYmFjaywgbm8gdHJpZ2dlciByZWNhbGMuJyk7Ci0KLXRlc3QoKCkgPT4gewot
ICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0KLSAgdFRyZWUuczEu
YXNzaWduKFt0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2ln
bmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7Ci0KLSAgdFRyZWUuc2hhZG93X3Jvb3Q0Lmluc2VydEJl
Zm9yZSh0VHJlZS5zMSwgdFRyZWUuczQpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMx
LmFzc2lnbmVkTm9kZXMoKSwgW10pOwotICAvLyBUcmlnZ2VyIHNsb3QgYXNzaWdubWVudCBvbiBw
cmV2aW91cyBzaGFkb3cgcm9vdC4KLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMi5hc3Np
Z25lZE5vZGVzKCksIFtdKTsKLQotICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUodFRy
ZWUuczEsIHRUcmVlLnMyKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25l
ZE5vZGVzKCksIFtdKTsKLX0sICdQcmV2aW91c2x5IGFzc2lnbmVkIG5vZGUgc2hvdWxkIG5vdCBi
ZSBhc3NpZ25lZCBpZiBzbG90IG1vdmVkIHRvIGEgbmV3IHNoYWRvdyByb290LiBUaGUgc2xvdCBy
ZW1haW5zIGVtcHR5IHdoZW4gbW92ZWQgYmFjaywgdHJpZ2dlciByZWNhbGMuJyk7Ci0KLXRlc3Qo
KCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0KLSAg
dFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzEsIHRUcmVlLmMxXSk7Ci0gIGFzc2Vy
dF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKLQot
ICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMy
LCB0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9k
ZXMoKSwgW3RUcmVlLmMyLCB0VHJlZS5jMV0pOwotfSwgJ0Fzc2lnbm1lbnQgd2l0aCB0aGUgc2Ft
ZSBub2RlIGluIHBhcmFtZXRlcnMgc2hvdWxkIGJlIGlnbm9yZWQsIGxhc3Qgb25lIHdpbnMuJyk7
Ci0KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2ln
bik7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7
Ci0gIHRUcmVlLnMxLnJlbW92ZSgpOwotCi0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWdu
ZWRTbG90LCBudWxsKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIG51
bGwpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci19LCAn
UmVtb3ZpbmcgYSBzbG90IGZyb20gRE9NIHJlc2V0cyBpdHMgc2xvdHRhYmxlXCdzIHNsb3QgYXNz
aWdubWVudC4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVl
KHRlc3RfYXNzaWduKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0gIHRUcmVl
LnMyLmFzc2lnbihbdFRyZWUuYzJdKTsKLSAgdFRyZWUuczMuYXNzaWduKFt0VHJlZS5jM10pOwot
ICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUodFRyZWUuczIsIHRUcmVlLnMxKTsKLSAg
dFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnMzLCB0VHJlZS5zMSk7Ci0KLSAg
YXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0p
OwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW10pOwot
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMzLmFzc2lnbmVkTm9kZXMoKSwgW10pOwotICBh
c3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotICBhc3NlcnRf
ZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci0gIGFzc2VydF9lcXVhbHModFRy
ZWUuYzMuYXNzaWduZWRTbG90LCBudWxsKTsKLQotICB0VHJlZS5zMi5yZW1vdmUoKTsKLQotICBh
c3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7
Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczMuYXNzaWduZWROb2RlcygpLCBbXSk7Ci0g
IGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0gIGFzc2Vy
dF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCBudWxsKTsKLSAgYXNzZXJ0X2VxdWFscyh0
VHJlZS5jMy5hc3NpZ25lZFNsb3QsIG51bGwpOwotfSwgJ0Egc2xvdCBzaG91bGQgYmUgY2xlYXJl
ZCBvZiBhc3NpZ25lZCBub2RlcyBldmVuIGlmIGl0XCdzIHJlLWluc2VydGVkIGludG8gdGhlIHNh
bWUgc2hhZG93IHJvb3QuJyk7Ci08L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS93M2MtaW1wb3J0LmxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS93M2MtaW1wb3J0LmxvZwko
d29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9SYW5nZS1wcm90
b3R5cGUtaW5zZXJ0Tm9kZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL1NoYWRvd1Jvb3QtaW50ZXJmYWNlLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vU2xvdHRhYmxl
LW1peGluLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vYWNjZXNza2V5LnRlbnRhdGl2ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2NhcHR1cmluZy1hbmQtYnViYmxp
bmctZXZlbnQtbGlzdGVuZXJzLWFjcm9zcy1zaGFkb3ctdHJlZXMuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kaXJlY3Rpb25hbGl0
eS0wMDEudGVudGF0aXZlLWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9uYWxpdHktMDAxLnRlbnRhdGl2
ZS5odG1sCkBAIC00MSwxMSArNDIsMTUgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtZGlzcGF0Y2gt
b3JkZXIudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtaW5zaWRlLXNoYWRvdy10cmVlLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQt
aW5zaWRlLXNsb3R0ZWQtbm9kZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LW9uLXBzZXVkby1lbGVtZW50LWNyYXNoLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZXZlbnQtcG9zdC1kaXNwYXRjaC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LXdpdGgtcmVsYXRlZC10YXJnZXQuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb3JtLWNvbnRyb2wtZm9ybS1hdHRyaWJ1dGUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9nZXRFbGVtZW50QnlJZC1keW5hbWlj
LTAwMS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2hpc3RvcmljYWwuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
aW1wZXJhdGl2ZS1zbG90LWFwaS1zbG90Y2hhbmdlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2lubmVySFRNTC1zZXR0ZXIueGh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQtZWxlbWVudC1saXN0Lmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW5wdXQt
dHlwZS1yYWRpby5odG1sCkBAIC02MSw3ICs2Niw1IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RjaGFu
Z2UuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9zbG90cy1mYWxsYmFjay1pbi1kb2N1bWVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWZhbGxiYWNrLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vc2xvdHMtaW1wZXJhdGl2ZS1hcGktc2xvdGNoYW5nZS50ZW50YXRpdmUuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1p
bXBlcmF0aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLW91dHNpZGUtc2hhZG93LWRv
bS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL3Nsb3RzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1hZnRlci1hdHRh
Y2hzaGFkb3cudGVudGF0aXZlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0
aXZlLWFmdGVyLWF0dGFjaHNoYWRvdy50ZW50YXRpdmUuaHRtbAkocmV2aXNpb24gMjc2NTgxKQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLWFmdGVyLWF0dGFjaHNoYWRvdy50ZW50YXRpdmUuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIDwhRE9DVFlQRSBodG1sPgogPHRpdGxl
PkRlY2xhcmF0aXZlIFNoYWRvdyBET00gYWZ0ZXIgYXR0YWNoU2hhZG93PC90aXRsZT4KLTxsaW5r
IHJlbD0nYXV0aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzptYXNvbmZyZWVk
QGNocm9taXVtLm9yZyc+Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFpbHRvOm1hc29uZkBj
aHJvbWl1bS5vcmcnPgogPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5jb20v
d2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzJz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzJz48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9t
LWF0dGFjaG1lbnQudGVudGF0aXZlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xh
cmF0aXZlLXNoYWRvdy1kb20tYXR0YWNobWVudC50ZW50YXRpdmUuaHRtbAkocmV2aXNpb24gMjc2
NTgxKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tYXR0YWNobWVudC50ZW50
YXRpdmUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIDwhRE9DVFlQRSBodG1s
PgogPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET00gRWxlbWVudCBBdHRhY2htZW50PC90aXRs
ZT4KLTxsaW5rIHJlbD0nYXV0aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzpt
YXNvbmZyZWVkQGNocm9taXVtLm9yZyc+Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFpbHRv
Om1hc29uZkBjaHJvbWl1bS5vcmcnPgogPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dp
dGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1z
aGFkb3ctZG9tLWJhc2ljLnRlbnRhdGl2ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9k
ZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWJhc2ljLnRlbnRhdGl2ZS5odG1sCShyZXZpc2lvbiAyNzY1
ODEpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93LWRvbS1iYXNpYy50ZW50YXRpdmUu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPG1l
dGEgY2hhcnNldD0idXRmLTgiPgogPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET008L3RpdGxl
PgotPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNYXNvbiBGcmVlZCIgaHJlZj0ibWFpbHRvOm1h
c29uZnJlZWRAY2hyb21pdW0ub3JnIj4KKzxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJtYWlsdG86
bWFzb25mQGNocm9taXVtLm9yZyI+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZ2l0
aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84MzEiPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNo
YWRvdy1kb20tb3B0LWluLnRlbnRhdGl2ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9k
ZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLW9wdC1pbi50ZW50YXRpdmUuaHRtbAkocmV2aXNpb24gMjc2
NTgxKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tb3B0LWluLnRlbnRhdGl2
ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiA8dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93IERPTTwvdGl0
bGU+Ci08bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hc29uIEZyZWVkIiBocmVmPSJtYWlsdG86
bWFzb25mcmVlZEBjaHJvbWl1bS5vcmciPgorPGxpbmsgcmVsPSJhdXRob3IiIGhyZWY9Im1haWx0
bzptYXNvbmZAY2hyb21pdW0ub3JnIj4KIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9n
aXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUt
d2l0aC1kaXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
ZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtd2l0aC1kaXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtd2l0aC1k
aXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBEZWNsYXJhdGl2ZSBTaGFkb3cgRE9NOiBkZWNsYXJhdGl2ZSBz
aGFkb3cgc2hvdWxkIGZhaWwgaWYgYXR0YWNoU2hhZG93KCkgYWxyZWFkeSBjYWxsZWQKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS13aXRoLWRpc2FibGVkLXNo
YWRvdy50ZW50YXRpdmUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRp
dmUtd2l0aC1kaXNhYmxlZC1zaGFkb3cudGVudGF0aXZlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93
IERPTSB3aXRoIHNoYWRvdyBkaXNhYmxlZDwvdGl0bGU+Cis8bGluayByZWw9J2F1dGhvcicgaHJl
Zj0nbWFpbHRvOm1hc29uZkBjaHJvbWl1bS5vcmcnPgorPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdo
dHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KKzxzY3JpcHQgc3JjPScv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPScvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KKworPGJvZHk+Cis8c2NyaXB0Pgor
Y2xhc3MgU2hhZG93RGlzYWJsZWRFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICBzdGF0
aWMgZ2V0IGRpc2FibGVkRmVhdHVyZXMoKSB7CisgICAgcmV0dXJuIFsnc2hhZG93J107CisgIH0K
K30KK2N1c3RvbUVsZW1lbnRzLmRlZmluZSgnc2hhZG93LWRpc2FibGVkJyxTaGFkb3dEaXNhYmxl
ZEVsZW1lbnQpOworPC9zY3JpcHQ+CisKKzxzaGFkb3ctZGlzYWJsZWQ+CisgIDx0ZW1wbGF0ZSBz
aGFkb3dyb290PSJvcGVuIj48c3BhbiBpZD1pbnNpZGUvPjwvdGVtcGxhdGU+Cis8L3NoYWRvdy1k
aXNhYmxlZD4KKworPHNjcmlwdD4KK3Rlc3QodCA9PiB7CisgIGxldCBlbGVtZW50ID0gZG9jdW1l
bnQucXVlcnlTZWxlY3Rvcignc2hhZG93LWRpc2FibGVkJyk7CisgIGFzc2VydF90cnVlKGVsZW1l
bnQgaW5zdGFuY2VvZiBTaGFkb3dEaXNhYmxlZEVsZW1lbnQpOworICBsZXQgdGVtcGxhdGUgPSBl
bGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJyk7CisgIGFzc2VydF90cnVlKCEhdGVtcGxh
dGUsICdEZWNsYXJhdGl2ZSBzaGFkb3cgYXR0YWNoIHNob3VsZCBmYWlsLCBzaW5jZSBzaGFkb3ct
ZGlzYWJsZWQgaXMgdHJ1ZScpOworICBhc3NlcnRfdHJ1ZSghZWxlbWVudC5zaGFkb3dSb290LCAn
U2hhZG93IHJvb3Qgc2hvdWxkIG5vdCBiZSBwcmVzZW50IG9uIGN1c3RvbSBlbGVtZW50Jyk7Cit9
LCAnRGVjbGFyYXRpdmUgU2hhZG93IERPTTogZGVjbGFyYXRpdmUgc2hhZG93IHNob3VsZCBmYWls
IGlmIGF0dGFjaFNoYWRvdygpIGFscmVhZHkgY2FsbGVkJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9nZXRpbm5lcmh0bWwudGVudGF0aXZlLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2RlY2xhcmF0aXZlL2dldGlubmVyaHRtbC50ZW50YXRpdmUuaHRtbAkocmV2aXNpb24gMjc2NTgx
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2RlY2xhcmF0aXZlL2dldGlubmVyaHRtbC50ZW50YXRpdmUuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMSw2ICsxLDYgQEAKIDwhRE9DVFlQRSBodG1sPgogPHRpdGxlPmdldElubmVySFRNTCA8
L3RpdGxlPgotPGxpbmsgcmVsPSdhdXRob3InIHRpdGxlPSdNYXNvbiBGcmVlZCcgaHJlZj0nbWFp
bHRvOm1hc29uZnJlZWRAY2hyb21pdW0ub3JnJz4KKzxsaW5rIHJlbD0nYXV0aG9yJyBocmVmPSdt
YWlsdG86bWFzb25mQGNocm9taXVtLm9yZyc+CiA8bGluayByZWw9J2hlbHAnIGhyZWY9J2h0dHBz
Oi8vZ2l0aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84MzEnPgogPHNjcmlwdCBzcmM9Jy9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRt
bC1iZWZvcmUtY2xvc2luZy10YWcuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJo
dG1sLWJlZm9yZS1jbG9zaW5nLXRhZy5odG1sCShyZXZpc2lvbiAyNzY1ODEpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRp
dmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy5odG1sCShub25leGlzdGVudCkKQEAgLTEs
NDIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93IERP
TSBpbm5lckhUTUw8L3RpdGxlPgotPGxpbmsgcmVsPSdhdXRob3InIHRpdGxlPSdNYXNvbiBGcmVl
ZCcgaHJlZj0nbWFpbHRvOm1hc29uZnJlZWRAY2hyb21pdW0ub3JnJz4KLTxsaW5rIHJlbD0naGVs
cCcgaHJlZj0naHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSc+Ci08c2Ny
aXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0nL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyc+PC9zY3JpcHQ+Ci0KLTxib2R5Pgot
PHNjcmlwdD4KLWZ1bmN0aW9uIG15T2JzZXJ2ZXIobXV0YXRpb25zTGlzdCkgewotICBmb3IgKGxl
dCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7Ci0gICAgZm9yIChsZXQgbiBvZiBtdXRhdGlv
bi5hZGRlZE5vZGVzKSB7Ci0gICAgICBpZiAobi5pZCA9PT0gJ3NoYWRvdycpIHsKLSAgICAgICAg
bi5pbm5lckhUTUwgPSAiPHNwYW4gaWQ9cmVwbGFjZWQ+VGhpcyBzaG91bGQgYmUgaW4gJmx0O2Rp
dj4ncyBzaGFkb3cgcm9vdDwvc3Bhbj4iOwotICAgICAgfQotICAgIH0KLSAgfQotfQotdmFyIG9i
c2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIobXlPYnNlcnZlcik7Ci1vYnNlcnZlci5vYnNl
cnZlKGRvY3VtZW50LmJvZHksIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pOwot
PC9zY3JpcHQ+Ci0KLTxkaXYgaWQ9aG9zdD4KLSAgPHRlbXBsYXRlIGlkPXNoYWRvdyBzaGFkb3dy
b290PW9wZW4+Ci0gICAgPHNwYW4gaWQ9dG9yZXBsYWNlPlRoaXMgc2hvdWxkIGdldCByZW1vdmVk
PC9zcGFuPgotICAgIDxzY3JpcHQ+PC9zY3JpcHQ+IDwhLS0gRW5zdXJlIG9ic2VydmVyIHJ1bnMg
LS0+Ci0gIDwvdGVtcGxhdGU+Ci08L2Rpdj4KLQotPHNjcmlwdD4KLXRlc3QodCA9PiB7Ci0gIHQu
YWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsgfSk7Ci0gIGxl
dCBob3N0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2hvc3QnKTsKLSAgbGV0IHRlbXBsYXRl
ID0gaG9zdC5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpOwotICBhc3NlcnRfdHJ1ZSghdGVtcGxh
dGUsICdEZWNsYXJhdGl2ZSBzaGFkb3cgdGVtcGxhdGUgc2hvdWxkIG5vdCBiZSBsZWZ0IG92ZXIn
KTsKLSAgbGV0IHNoYWRvd3Jvb3QgPSBob3N0LnNoYWRvd1Jvb3Q7Ci0gIGFzc2VydF90cnVlKCEh
c2hhZG93cm9vdCwgJ1NoYWRvdyByb290IHNob3VsZCBiZSBwcmVzZW50Jyk7Ci0gIGFzc2VydF90
cnVlKCEhc2hhZG93cm9vdC5xdWVyeVNlbGVjdG9yKCcjcmVwbGFjZWQnKSwnVGhlIGlubmVySFRN
TCByZXBsYWNlbWVudCBjb250ZW50IHNob3VsZCBiZSBwcmVzZW50Jyk7Ci0gIGFzc2VydF90cnVl
KCFzaGFkb3dyb290LnF1ZXJ5U2VsZWN0b3IoJyN0b3JlcGxhY2UnKSwnVGhlIG9sZCByZXBsYWNl
ZCBjb250ZW50IHNob3VsZCBub3QgYmUgcHJlc2VudCcpOwotfSwgJ0RlY2xhcmF0aXZlIFNoYWRv
dyBET006IGlubmVySFRNTCBzaG91bGQgd29yayB3aGlsZSBwYXJzaW5nIGRlY2xhcmF0aXZlIHNo
YWRvdyByb290IDx0ZW1wbGF0ZT4nKTsKLTwvc2NyaXB0PgotPC9ib2R5PgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL2lubmVyaHRtbC1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwt
YmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK0ZBSUwgRGVjbGFyYXRpdmUgU2hhZG93IERPTTogaW5uZXJIVE1M
IHNob3VsZCB3b3JrIHdoaWxlIHBhcnNpbmcgZGVjbGFyYXRpdmUgc2hhZG93IHJvb3QgPHRlbXBs
YXRlPiBhc3NlcnRfdHJ1ZTogRGVjbGFyYXRpdmUgc2hhZG93IHRlbXBsYXRlIHNob3VsZCBub3Qg
YmUgbGVmdCBvdmVyIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9p
bm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9k
ZWNsYXJhdGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLnRl
bnRhdGl2ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET00gaW5uZXJIVE1MPC90aXRsZT4KKzxs
aW5rIHJlbD0nYXV0aG9yJyBocmVmPSdtYWlsdG86bWFzb25mQGNocm9taXVtLm9yZyc+Cis8bGlu
ayByZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84
MzEnPgorPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0Pgor
Cis8Ym9keT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBteU9ic2VydmVyKG11dGF0aW9uc0xpc3QpIHsK
KyAgZm9yIChsZXQgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkgeworICAgIGZvciAobGV0IG4g
b2YgbXV0YXRpb24uYWRkZWROb2RlcykgeworICAgICAgaWYgKG4uaWQgPT09ICdzaGFkb3cnKSB7
CisgICAgICAgIG4uaW5uZXJIVE1MID0gIjxzcGFuIGlkPXJlcGxhY2VkPlRoaXMgc2hvdWxkIGJl
IGluICZsdDtkaXY+J3Mgc2hhZG93IHJvb3Q8L3NwYW4+IjsKKyAgICAgIH0KKyAgICB9CisgIH0K
K30KK3ZhciBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKG15T2JzZXJ2ZXIpOworb2Jz
ZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTog
dHJ1ZSB9KTsKKzwvc2NyaXB0PgorCis8ZGl2IGlkPWhvc3Q+CisgIDx0ZW1wbGF0ZSBpZD1zaGFk
b3cgc2hhZG93cm9vdD1vcGVuPgorICAgIDxzcGFuIGlkPXRvcmVwbGFjZT5UaGlzIHNob3VsZCBn
ZXQgcmVtb3ZlZDwvc3Bhbj4KKyAgICA8c2NyaXB0Pjwvc2NyaXB0PiA8IS0tIEVuc3VyZSBvYnNl
cnZlciBydW5zIC0tPgorICA8L3RlbXBsYXRlPgorPC9kaXY+CisKKzxzY3JpcHQ+Cit0ZXN0KHQg
PT4geworICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBvYnNlcnZlci5kaXNjb25uZWN0KCk7
IH0pOworICBsZXQgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNob3N0Jyk7CisgIGxl
dCB0ZW1wbGF0ZSA9IGhvc3QucXVlcnlTZWxlY3RvcigndGVtcGxhdGUnKTsKKyAgYXNzZXJ0X3Ry
dWUoIXRlbXBsYXRlLCAnRGVjbGFyYXRpdmUgc2hhZG93IHRlbXBsYXRlIHNob3VsZCBub3QgYmUg
bGVmdCBvdmVyJyk7CisgIGxldCBzaGFkb3dyb290ID0gaG9zdC5zaGFkb3dSb290OworICBhc3Nl
cnRfdHJ1ZSghIXNoYWRvd3Jvb3QsICdTaGFkb3cgcm9vdCBzaG91bGQgYmUgcHJlc2VudCcpOwor
ICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QucXVlcnlTZWxlY3RvcignI3JlcGxhY2VkJyksJ1Ro
ZSBpbm5lckhUTUwgcmVwbGFjZW1lbnQgY29udGVudCBzaG91bGQgYmUgcHJlc2VudCcpOworICBh
c3NlcnRfdHJ1ZSghc2hhZG93cm9vdC5xdWVyeVNlbGVjdG9yKCcjdG9yZXBsYWNlJyksJ1RoZSBv
bGQgcmVwbGFjZWQgY29udGVudCBzaG91bGQgbm90IGJlIHByZXNlbnQnKTsKK30sICdEZWNsYXJh
dGl2ZSBTaGFkb3cgRE9NOiBpbm5lckhUTUwgc2hvdWxkIHdvcmsgd2hpbGUgcGFyc2luZyBkZWNs
YXJhdGl2ZSBzaGFkb3cgcm9vdCA8dGVtcGxhdGU+Jyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24tb3JkaW5hcnktdGVtcGxhdGUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRlbXBsYXRlLmh0bWwJKHJl
dmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24tb3JkaW5hcnktdGVtcGxh
dGUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET00gaW5uZXJIVE1MPC90aXRsZT4KLTxsaW5rIHJl
bD0nYXV0aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzptYXNvbmZyZWVkQGNo
cm9taXVtLm9yZyc+Ci08bGluayByZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS93
aGF0d2cvZG9tL2lzc3Vlcy84MzEnPgotPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMnPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMnPjwvc2NyaXB0PgotCi08Ym9keT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBteU9ic2VydmVy
KG11dGF0aW9uc0xpc3QpIHsKLSAgZm9yIChsZXQgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkg
ewotICAgIGZvciAobGV0IG4gb2YgbXV0YXRpb24uYWRkZWROb2RlcykgewotICAgICAgaWYgKG4u
aWQgPT09ICdoYXMtaW1wZXJhdGl2ZS1yb290JykgewotICAgICAgICBjb25zdCBzaGFkb3dSb290
ID0gbi5hdHRhY2hTaGFkb3coIHttb2RlOiAnb3Blbid9KTsKLSAgICAgIH0KLSAgICB9Ci0gIH0K
LX0KLXZhciBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKG15T2JzZXJ2ZXIpOwotb2Jz
ZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTog
dHJ1ZSB9KTsKLTwvc2NyaXB0PgotCi08ZGl2IGlkPSdoYXMtaW1wZXJhdGl2ZS1yb290Jz4KLSAg
PHNjcmlwdD48L3NjcmlwdD4gPCEtLSBFbnN1cmUgb2JzZXJ2ZXIgcnVucywgYXR0YWNoZXMgaW1w
ZXJhdGl2ZSBzaGFkb3cgcm9vdCAtLT4KLSAgPHRlbXBsYXRlIGlkPW9yZGluYXJ5dGVtcGxhdGUg
c2hhZG93cm9vdD1vcGVuPgotICAgIDxzcGFuIGlkPXRvcmVwbGFjZT5UaGlzIHNob3VsZCBnZXQg
cmVtb3ZlZDwvc3Bhbj4KLSAgPC90ZW1wbGF0ZT4KLSAgPHNjcmlwdD4KLSAgICBvcmRpbmFyeXRl
bXBsYXRlLmlubmVySFRNTCA9ICc8c3BhbiBpZD1yZXBsYWNlZD5UaGlzIHNob3VsZCByZXBsYWNl
IHRlbXBsYXRlIGNvbnRlbnRzPC9zcGFuPic7Ci0gIDwvc2NyaXB0PgotPC9kaXY+Ci0KLTxzY3Jp
cHQ+Ci10ZXN0KHQgPT4gewotICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBvYnNlcnZlci5k
aXNjb25uZWN0KCk7IH0pOwotICBsZXQgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNo
YXMtaW1wZXJhdGl2ZS1yb290Jyk7Ci0gIGxldCBzaGFkb3dyb290ID0gaG9zdC5zaGFkb3dSb290
OwotICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QsICdTaGFkb3cgcm9vdCBzaG91bGQgYmUgcHJl
c2VudCcpOwotICBhc3NlcnRfZmFsc2Uoc2hhZG93cm9vdC5oYXNDaGlsZE5vZGVzKCksICdTaGFk
b3cgcm9vdCBzaG91bGQgbm90IGNvbnRhaW4gYW55IGNoaWxkcmVuJyk7Ci0gIGxldCB0ZW1wbGF0
ZSA9IGhvc3QucXVlcnlTZWxlY3RvcigndGVtcGxhdGUjb3JkaW5hcnl0ZW1wbGF0ZScpOwotICBh
c3NlcnRfdHJ1ZSghIXRlbXBsYXRlLCAnU2luY2UgaG9zdCBoYXMgaW1wZXJhdGl2ZSByb290LCA8
dGVtcGxhdGU+IHNob3VsZCBiZSBsZWZ0IG92ZXInKTsKLSAgYXNzZXJ0X2ZhbHNlKHRlbXBsYXRl
Lmhhc0NoaWxkTm9kZXMoKSwndGVtcGxhdGUgc2hvdWxkIG5vdCBoYXZlIGRpcmVjdCBjaGlsZHJl
bicpOwotICBhc3NlcnRfdHJ1ZSghIXRlbXBsYXRlLmNvbnRlbnQucXVlcnlTZWxlY3RvcignI3Jl
cGxhY2VkJyksJ1RoZSBpbm5lckhUTUwgcmVwbGFjZW1lbnQgY29udGVudCBzaG91bGQgYmUgcHJl
c2VudCcpOwotICBhc3NlcnRfdHJ1ZSghdGVtcGxhdGUuY29udGVudC5xdWVyeVNlbGVjdG9yKCcj
dG9yZXBsYWNlJyksJ1RoZSBvbGQgcmVwbGFjZWQgY29udGVudCBzaG91bGQgbm90IGJlIHByZXNl
bnQnKTsKLX0sICdEZWNsYXJhdGl2ZSBTaGFkb3cgRE9NOiBpbm5lckhUTUwgc2hvdWxkIHdvcmsg
b24gPHRlbXBsYXRlIHNoYWRvd3Jvb3Q+IHRoYXQgaXMgbGVmdCBvdmVyJyk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24tb3JkaW5hcnktdGVtcGxhdGUu
dGVudGF0aXZlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1s
LW9uLW9yZGluYXJ5LXRlbXBsYXRlLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIERlY2xh
cmF0aXZlIFNoYWRvdyBET006IGlubmVySFRNTCBzaG91bGQgd29yayBvbiA8dGVtcGxhdGUgc2hh
ZG93cm9vdD4gdGhhdCBpcyBsZWZ0IG92ZXIKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1v
bi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRp
dmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRlbXBsYXRlLnRlbnRhdGl2ZS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24tb3JkaW5hcnktdGVtcGxhdGUudGVudGF0
aXZlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93IERPTSBpbm5lckhUTUw8L3RpdGxlPgorPGxpbmsg
cmVsPSdhdXRob3InIGhyZWY9J21haWx0bzptYXNvbmZAY2hyb21pdW0ub3JnJz4KKzxsaW5rIHJl
bD0naGVscCcgaHJlZj0naHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSc+
Cis8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyc+PC9zY3JpcHQ+CisKKzxi
b2R5PgorPHNjcmlwdD4KK2Z1bmN0aW9uIG15T2JzZXJ2ZXIobXV0YXRpb25zTGlzdCkgeworICBm
b3IgKGxldCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7CisgICAgZm9yIChsZXQgbiBvZiBt
dXRhdGlvbi5hZGRlZE5vZGVzKSB7CisgICAgICBpZiAobi5pZCA9PT0gJ2hhcy1pbXBlcmF0aXZl
LXJvb3QnKSB7CisgICAgICAgIGNvbnN0IHNoYWRvd1Jvb3QgPSBuLmF0dGFjaFNoYWRvdygge21v
ZGU6ICdvcGVuJ30pOworICAgICAgfQorICAgIH0KKyAgfQorfQordmFyIG9ic2VydmVyID0gbmV3
IE11dGF0aW9uT2JzZXJ2ZXIobXlPYnNlcnZlcik7CitvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50
LmJvZHksIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pOworPC9zY3JpcHQ+CisK
KzxkaXYgaWQ9J2hhcy1pbXBlcmF0aXZlLXJvb3QnPgorICA8c2NyaXB0Pjwvc2NyaXB0PiA8IS0t
IEVuc3VyZSBvYnNlcnZlciBydW5zLCBhdHRhY2hlcyBpbXBlcmF0aXZlIHNoYWRvdyByb290IC0t
PgorICA8dGVtcGxhdGUgaWQ9b3JkaW5hcnl0ZW1wbGF0ZSBzaGFkb3dyb290PW9wZW4+CisgICAg
PHNwYW4gaWQ9dG9yZXBsYWNlPlRoaXMgc2hvdWxkIGdldCByZW1vdmVkPC9zcGFuPgorICA8L3Rl
bXBsYXRlPgorICA8c2NyaXB0PgorICAgIG9yZGluYXJ5dGVtcGxhdGUuaW5uZXJIVE1MID0gJzxz
cGFuIGlkPXJlcGxhY2VkPlRoaXMgc2hvdWxkIHJlcGxhY2UgdGVtcGxhdGUgY29udGVudHM8L3Nw
YW4+JzsKKyAgPC9zY3JpcHQ+Cis8L2Rpdj4KKworPHNjcmlwdD4KK3Rlc3QodCA9PiB7CisgIHQu
YWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsgfSk7CisgIGxl
dCBob3N0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2hhcy1pbXBlcmF0aXZlLXJvb3QnKTsK
KyAgbGV0IHNoYWRvd3Jvb3QgPSBob3N0LnNoYWRvd1Jvb3Q7CisgIGFzc2VydF90cnVlKCEhc2hh
ZG93cm9vdCwgJ1NoYWRvdyByb290IHNob3VsZCBiZSBwcmVzZW50Jyk7CisgIGFzc2VydF9mYWxz
ZShzaGFkb3dyb290Lmhhc0NoaWxkTm9kZXMoKSwgJ1NoYWRvdyByb290IHNob3VsZCBub3QgY29u
dGFpbiBhbnkgY2hpbGRyZW4nKTsKKyAgbGV0IHRlbXBsYXRlID0gaG9zdC5xdWVyeVNlbGVjdG9y
KCd0ZW1wbGF0ZSNvcmRpbmFyeXRlbXBsYXRlJyk7CisgIGFzc2VydF90cnVlKCEhdGVtcGxhdGUs
ICdTaW5jZSBob3N0IGhhcyBpbXBlcmF0aXZlIHJvb3QsIDx0ZW1wbGF0ZT4gc2hvdWxkIGJlIGxl
ZnQgb3ZlcicpOworICBhc3NlcnRfZmFsc2UodGVtcGxhdGUuaGFzQ2hpbGROb2RlcygpLCd0ZW1w
bGF0ZSBzaG91bGQgbm90IGhhdmUgZGlyZWN0IGNoaWxkcmVuJyk7CisgIGFzc2VydF90cnVlKCEh
dGVtcGxhdGUuY29udGVudC5xdWVyeVNlbGVjdG9yKCcjcmVwbGFjZWQnKSwnVGhlIGlubmVySFRN
TCByZXBsYWNlbWVudCBjb250ZW50IHNob3VsZCBiZSBwcmVzZW50Jyk7CisgIGFzc2VydF90cnVl
KCF0ZW1wbGF0ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3IoJyN0b3JlcGxhY2UnKSwnVGhlIG9sZCBy
ZXBsYWNlZCBjb250ZW50IHNob3VsZCBub3QgYmUgcHJlc2VudCcpOworfSwgJ0RlY2xhcmF0aXZl
IFNoYWRvdyBET006IGlubmVySFRNTCBzaG91bGQgd29yayBvbiA8dGVtcGxhdGUgc2hhZG93cm9v
dD4gdGhhdCBpcyBsZWZ0IG92ZXInKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0
aXZlL21vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Rl
Y2xhcmF0aXZlL21vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLmh0bWwJKHJldmlzaW9u
IDI3NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy5o
dG1sCShub25leGlzdGVudCkKQEAgLTEsOTEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0
bGU+RGVjbGFyYXRpdmUgU2hhZG93IERPTTogbW92aW5nIHRoZSB0ZW1wbGF0ZSBkb2Vzbid0IGNo
YW5nZSBhdHRhY2htZW50IHBvaW50PC90aXRsZT4KLTxsaW5rIHJlbD0nYXV0aG9yJyB0aXRsZT0n
TWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzptYXNvbmZyZWVkQGNocm9taXVtLm9yZyc+Ci08bGlu
ayByZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84
MzEnPgotPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0Pgot
Ci08Ym9keT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBteU9ic2VydmVyKG11dGF0aW9uc0xpc3QsIG9i
c2VydmVyKSB7Ci0gIGZvciAobGV0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHsKLSAgICBm
b3IgKGxldCBuIG9mIG11dGF0aW9uLmFkZGVkTm9kZXMpIHsKLSAgICAgIGlmIChuLmNsYXNzTmFt
ZSA9PT0gJ3RlbXBsYXRlJyAmJiAhbi5hbHJlYWR5TW92ZWQpIHsKLSAgICAgICAgbi5hbHJlYWR5
TW92ZWQgPSB0cnVlOwotICAgICAgICBsZXQgdGVzdFdyYXBwZXIgPSBuLnBhcmVudEVsZW1lbnQu
cGFyZW50RWxlbWVudDsKLSAgICAgICAgbGV0IG5ld0hvc3QgPSB0ZXN0V3JhcHBlci5xdWVyeVNl
bGVjdG9yKCdkaXYubmV3LWhvc3QnKTsKLSAgICAgICAgbmV3SG9zdC5hcHBlbmRDaGlsZChuKTsK
LSAgICAgIH0KLSAgICB9Ci0gIH0KLX0KLShuZXcgTXV0YXRpb25PYnNlcnZlcihteU9ic2VydmVy
KSkub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1
ZSB9KTsKLQotZnVuY3Rpb24gcnVuVGVzdCh0ZXN0ZGl2KSB7Ci0gIGxldCBkZXNjcmlwdGlvbiA9
IHRlc3RkaXYuZ2V0QXR0cmlidXRlKCdkZXNjcmlwdGlvbicpOwotICBsZXQgc2hvdWxkQXR0YWNo
ID0gdGVzdGRpdi5nZXRBdHRyaWJ1dGUoJ3Nob3VsZGF0dGFjaCcpID09ICd0cnVlJzsKLSAgdGVz
dCh0ID0+IHsKLSAgICBsZXQgdGVtcGxhdGUgPSB0ZXN0ZGl2LnF1ZXJ5U2VsZWN0b3IoJy50ZW1w
bGF0ZScpOwotICAgIGxldCBvbGRIb3N0ID0gdGVzdGRpdi5xdWVyeVNlbGVjdG9yKCcub2xkLWhv
c3QnKTsKLSAgICBsZXQgbmV3SG9zdCA9IHRlc3RkaXYucXVlcnlTZWxlY3RvcignLm5ldy1ob3N0
Jyk7Ci0gICAgbGV0IHNoYWRvd3Jvb3QgPSBvbGRIb3N0LnNoYWRvd1Jvb3Q7Ci0gICAgaWYgKHNo
b3VsZEF0dGFjaCkgewotICAgICAgYXNzZXJ0X3RydWUoIXRlbXBsYXRlLCAnRGVjbGFyYXRpdmUg
c2hhZG93IHRlbXBsYXRlIHNob3VsZCBub3QgYmUgbGVmdCBvdmVyJyk7Ci0gICAgICBhc3NlcnRf
dHJ1ZSghb2xkSG9zdC5jaGlsZHJlbi5sZW5ndGgsICdPbGQgaG9zdCBzaG91bGQgbm90IGNvbnRh
aW4gY2hpbGRyZW4nKTsKLSAgICAgIGFzc2VydF90cnVlKCFuZXdIb3N0LmNoaWxkcmVuLmxlbmd0
aCwgJ05ldyBob3N0IHNob3VsZCBub3QgY29udGFpbiBhbnkgY2hpbGRyZW4nKTsKLSAgICAgIGFz
c2VydF90cnVlKCEhc2hhZG93cm9vdCwgJ1NoYWRvdyByb290IHNob3VsZCBiZSBwcmVzZW50Jyk7
Ci0gICAgICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QucXVlcnlTZWxlY3Rvcignc3Bhbi5jb250
ZW50cycpLCAnVGhlIHNoYWRvdyByb290IHNob3VsZCBjb250YWluIGEgc3BhbicpOwotICAgIH0g
ZWxzZSB7Ci0gICAgICBhc3NlcnRfdHJ1ZSghb2xkSG9zdC5jaGlsZHJlbi5sZW5ndGgsICdPbGQg
aG9zdCBzaG91bGQgbm90IGNvbnRhaW4gY2hpbGRyZW4nKTsKLSAgICAgIGFzc2VydF90cnVlKCEh
bmV3SG9zdC5jaGlsZHJlbi5sZW5ndGgsICdOZXcgaG9zdCBzaG91bGQgbm93IGNvbnRhaW4gdGhl
IHRlbXBsYXRlJyk7Ci0gICAgICBhc3NlcnRfdHJ1ZSghc2hhZG93cm9vdCwgJ1NoYWRvdyByb290
IHNob3VsZCBub3QgYmUgcHJlc2VudCcpOwotICAgICAgYXNzZXJ0X3RydWUoISF0ZW1wbGF0ZSwg
J0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgYmUgbGVmdCBvdmVyJyk7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKHRlbXBsYXRlLCBuZXdIb3N0LnF1ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0
ZScpLCAnRGVjbGFyYXRpdmUgc2hhZG93IHRlbXBsYXRlIHNob3VsZCBiZSBpbiB0aGUgbmV3IGhv
c3QnKTsKLSAgICAgIGFzc2VydF90cnVlKCEhdGVtcGxhdGUuY29udGVudC5xdWVyeVNlbGVjdG9y
KCdzcGFuLmNvbnRlbnRzJyksICdUaGUgdGVtcGxhdGUgc2hvdWxkIHN0aWxsIGNvbnRhaW4gaXRz
IGNvbnRlbnQnKTsKLSAgICB9Ci0gIH0sIGRlc2NyaXB0aW9uKTsKLX0KLTwvc2NyaXB0PgotCi08
c3R5bGU+Ci0gIGRpdi50ZXN0IHsKLSAgICBkaXNwbGF5OiBub25lOwotICB9Ci08L3N0eWxlPgot
Ci08ZGl2IGNsYXNzPXRlc3Qgc2hvdWxkYXR0YWNoPXRydWUgZGVzY3JpcHRpb249Ik1vdmluZyB0
aGUgdGVtcGxhdGUgbm9kZSBkdXJpbmcgcGFyc2luZyBzaG91bGQgYXR0YWNoIHRvIGluaXRpYWwg
cGFyZW50IChjb250ZW50IGJlZm9yZSBvYnNlcnZlcikiPgotICA8ZGl2IGNsYXNzPW5ldy1ob3N0
PjwvZGl2PgotICA8ZGl2IGNsYXNzPW9sZC1ob3N0PgotICAgIDx0ZW1wbGF0ZSBjbGFzcz0ndGVt
cGxhdGUnIHNoYWRvd3Jvb3Q9b3Blbj4KLSAgICAgIDxzcGFuIGNsYXNzPWNvbnRlbnRzPlRlbXBs
YXRlIGNvbnRlbnRzPC9zcGFuPgotICAgICAgPHNjcmlwdD48L3NjcmlwdD4gPCEtLSBPYnNlcnZl
ciBydW5zIGhlcmUsIG1vdmVzIDx0ZW1wbGF0ZT4gbm9kZSAtLT4KLSAgICA8L3RlbXBsYXRlPgot
ICA8L2Rpdj4KLTwvZGl2PgotCi08ZGl2IGNsYXNzPXRlc3Qgc2hvdWxkYXR0YWNoPXRydWUgZGVz
Y3JpcHRpb249Ik1vdmluZyB0aGUgdGVtcGxhdGUgbm9kZSBkdXJpbmcgcGFyc2luZyBzaG91bGQg
YXR0YWNoIHRvIGluaXRpYWwgcGFyZW50IChjb250ZW50IGFmdGVyIG9ic2VydmVyKSI+Ci0gIDxk
aXYgY2xhc3M9bmV3LWhvc3Q+PC9kaXY+Ci0gIDxkaXYgY2xhc3M9b2xkLWhvc3Q+Ci0gICAgPHRl
bXBsYXRlIGNsYXNzPSd0ZW1wbGF0ZScgc2hhZG93cm9vdD1vcGVuPgotICAgICAgPHNjcmlwdD48
L3NjcmlwdD4gPCEtLSBPYnNlcnZlciBydW5zIGhlcmUsIG1vdmVzIDx0ZW1wbGF0ZT4gbm9kZSAt
LT4KLSAgICAgIDxzcGFuIGNsYXNzPWNvbnRlbnRzPlRlbXBsYXRlIGNvbnRlbnRzPC9zcGFuPgot
ICAgIDwvdGVtcGxhdGU+Ci0gIDwvZGl2PgotPC9kaXY+Ci0KLTxkaXYgY2xhc3M9dGVzdCBzaG91
bGRhdHRhY2g9ZmFsc2UgZGVzY3JpcHRpb249Ik1vdmluZyB0aGUgdGVtcGxhdGUgbm9kZSBmcm9t
IGludmFsaWQgcGFyZW50IHRvIHZhbGlkIHBhcmVudCBzaG91bGQgc3RpbGwgbm90IGF0dGFjaCI+
Ci0gIDxkaXYgY2xhc3M9bmV3LWhvc3Q+PC9kaXY+Ci0gIDx2aWRlbyBjbGFzcz1vbGQtaG9zdD4K
LSAgICA8dGVtcGxhdGUgY2xhc3M9J3RlbXBsYXRlJyBzaGFkb3dyb290PW9wZW4+Ci0gICAgICA8
c3BhbiBjbGFzcz1jb250ZW50cz5UZW1wbGF0ZSBjb250ZW50czwvc3Bhbj4KLSAgICAgIDxzY3Jp
cHQ+PC9zY3JpcHQ+IDwhLS0gT2JzZXJ2ZXIgcnVucyBoZXJlLCBtb3ZlcyA8dGVtcGxhdGU+IG5v
ZGUgLS0+Ci0gICAgPC90ZW1wbGF0ZT4KLSAgPC92aWRlbz4KLTwvZGl2PgotCi08c2NyaXB0Pgot
ICBsZXQgdGVzdHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYudGVzdCcpOwotICBh
c3NlcnRfdHJ1ZSh0ZXN0cy5sZW5ndGggPiAwKTsKLSAgdGVzdHMuZm9yRWFjaCh0ID0+IHsgcnVu
VGVzdCh0KTsgfSk7Ci08L3NjcmlwdD4KLTwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRl
bXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRp
dmUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRl
LWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNSBAQAorCitGQUlMIE1vdmluZyB0aGUgdGVtcGxhdGUgbm9kZSBkdXJpbmcg
cGFyc2luZyBzaG91bGQgYXR0YWNoIHRvIGluaXRpYWwgcGFyZW50IChjb250ZW50IGJlZm9yZSBv
YnNlcnZlcikgYXNzZXJ0X3RydWU6IERlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQg
bm90IGJlIGxlZnQgb3ZlciBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBNb3ZpbmcgdGhl
IHRlbXBsYXRlIG5vZGUgZHVyaW5nIHBhcnNpbmcgc2hvdWxkIGF0dGFjaCB0byBpbml0aWFsIHBh
cmVudCAoY29udGVudCBhZnRlciBvYnNlcnZlcikgYXNzZXJ0X3RydWU6IERlY2xhcmF0aXZlIHNo
YWRvdyB0ZW1wbGF0ZSBzaG91bGQgbm90IGJlIGxlZnQgb3ZlciBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQorUEFTUyBNb3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUgZnJvbSBpbnZhbGlkIHBhcmVudCB0
byB2YWxpZCBwYXJlbnQgc2hvdWxkIHN0aWxsIG5vdCBhdHRhY2gKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZl
L21vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRp
dmUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0ZS1iZWZvcmUt
Y2xvc2luZy10YWcudGVudGF0aXZlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5MSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+RGVjbGFyYXRpdmUgU2hhZG93IERPTTogbW92aW5n
IHRoZSB0ZW1wbGF0ZSBkb2Vzbid0IGNoYW5nZSBhdHRhY2htZW50IHBvaW50PC90aXRsZT4KKzxs
aW5rIHJlbD0nYXV0aG9yJyBocmVmPSdtYWlsdG86bWFzb25mQGNocm9taXVtLm9yZyc+Cis8bGlu
ayByZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84
MzEnPgorPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0Pgor
Cis8Ym9keT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBteU9ic2VydmVyKG11dGF0aW9uc0xpc3QsIG9i
c2VydmVyKSB7CisgIGZvciAobGV0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHsKKyAgICBm
b3IgKGxldCBuIG9mIG11dGF0aW9uLmFkZGVkTm9kZXMpIHsKKyAgICAgIGlmIChuLmNsYXNzTmFt
ZSA9PT0gJ3RlbXBsYXRlJyAmJiAhbi5hbHJlYWR5TW92ZWQpIHsKKyAgICAgICAgbi5hbHJlYWR5
TW92ZWQgPSB0cnVlOworICAgICAgICBsZXQgdGVzdFdyYXBwZXIgPSBuLnBhcmVudEVsZW1lbnQu
cGFyZW50RWxlbWVudDsKKyAgICAgICAgbGV0IG5ld0hvc3QgPSB0ZXN0V3JhcHBlci5xdWVyeVNl
bGVjdG9yKCdkaXYubmV3LWhvc3QnKTsKKyAgICAgICAgbmV3SG9zdC5hcHBlbmRDaGlsZChuKTsK
KyAgICAgIH0KKyAgICB9CisgIH0KK30KKyhuZXcgTXV0YXRpb25PYnNlcnZlcihteU9ic2VydmVy
KSkub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1
ZSB9KTsKKworZnVuY3Rpb24gcnVuVGVzdCh0ZXN0ZGl2KSB7CisgIGxldCBkZXNjcmlwdGlvbiA9
IHRlc3RkaXYuZ2V0QXR0cmlidXRlKCdkZXNjcmlwdGlvbicpOworICBsZXQgc2hvdWxkQXR0YWNo
ID0gdGVzdGRpdi5nZXRBdHRyaWJ1dGUoJ3Nob3VsZGF0dGFjaCcpID09ICd0cnVlJzsKKyAgdGVz
dCh0ID0+IHsKKyAgICBsZXQgdGVtcGxhdGUgPSB0ZXN0ZGl2LnF1ZXJ5U2VsZWN0b3IoJy50ZW1w
bGF0ZScpOworICAgIGxldCBvbGRIb3N0ID0gdGVzdGRpdi5xdWVyeVNlbGVjdG9yKCcub2xkLWhv
c3QnKTsKKyAgICBsZXQgbmV3SG9zdCA9IHRlc3RkaXYucXVlcnlTZWxlY3RvcignLm5ldy1ob3N0
Jyk7CisgICAgbGV0IHNoYWRvd3Jvb3QgPSBvbGRIb3N0LnNoYWRvd1Jvb3Q7CisgICAgaWYgKHNo
b3VsZEF0dGFjaCkgeworICAgICAgYXNzZXJ0X3RydWUoIXRlbXBsYXRlLCAnRGVjbGFyYXRpdmUg
c2hhZG93IHRlbXBsYXRlIHNob3VsZCBub3QgYmUgbGVmdCBvdmVyJyk7CisgICAgICBhc3NlcnRf
dHJ1ZSghb2xkSG9zdC5jaGlsZHJlbi5sZW5ndGgsICdPbGQgaG9zdCBzaG91bGQgbm90IGNvbnRh
aW4gY2hpbGRyZW4nKTsKKyAgICAgIGFzc2VydF90cnVlKCFuZXdIb3N0LmNoaWxkcmVuLmxlbmd0
aCwgJ05ldyBob3N0IHNob3VsZCBub3QgY29udGFpbiBhbnkgY2hpbGRyZW4nKTsKKyAgICAgIGFz
c2VydF90cnVlKCEhc2hhZG93cm9vdCwgJ1NoYWRvdyByb290IHNob3VsZCBiZSBwcmVzZW50Jyk7
CisgICAgICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QucXVlcnlTZWxlY3Rvcignc3Bhbi5jb250
ZW50cycpLCAnVGhlIHNoYWRvdyByb290IHNob3VsZCBjb250YWluIGEgc3BhbicpOworICAgIH0g
ZWxzZSB7CisgICAgICBhc3NlcnRfdHJ1ZSghb2xkSG9zdC5jaGlsZHJlbi5sZW5ndGgsICdPbGQg
aG9zdCBzaG91bGQgbm90IGNvbnRhaW4gY2hpbGRyZW4nKTsKKyAgICAgIGFzc2VydF90cnVlKCEh
bmV3SG9zdC5jaGlsZHJlbi5sZW5ndGgsICdOZXcgaG9zdCBzaG91bGQgbm93IGNvbnRhaW4gdGhl
IHRlbXBsYXRlJyk7CisgICAgICBhc3NlcnRfdHJ1ZSghc2hhZG93cm9vdCwgJ1NoYWRvdyByb290
IHNob3VsZCBub3QgYmUgcHJlc2VudCcpOworICAgICAgYXNzZXJ0X3RydWUoISF0ZW1wbGF0ZSwg
J0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgYmUgbGVmdCBvdmVyJyk7CisgICAg
ICBhc3NlcnRfZXF1YWxzKHRlbXBsYXRlLCBuZXdIb3N0LnF1ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0
ZScpLCAnRGVjbGFyYXRpdmUgc2hhZG93IHRlbXBsYXRlIHNob3VsZCBiZSBpbiB0aGUgbmV3IGhv
c3QnKTsKKyAgICAgIGFzc2VydF90cnVlKCEhdGVtcGxhdGUuY29udGVudC5xdWVyeVNlbGVjdG9y
KCdzcGFuLmNvbnRlbnRzJyksICdUaGUgdGVtcGxhdGUgc2hvdWxkIHN0aWxsIGNvbnRhaW4gaXRz
IGNvbnRlbnQnKTsKKyAgICB9CisgIH0sIGRlc2NyaXB0aW9uKTsKK30KKzwvc2NyaXB0PgorCis8
c3R5bGU+CisgIGRpdi50ZXN0IHsKKyAgICBkaXNwbGF5OiBub25lOworICB9Cis8L3N0eWxlPgor
Cis8ZGl2IGNsYXNzPXRlc3Qgc2hvdWxkYXR0YWNoPXRydWUgZGVzY3JpcHRpb249Ik1vdmluZyB0
aGUgdGVtcGxhdGUgbm9kZSBkdXJpbmcgcGFyc2luZyBzaG91bGQgYXR0YWNoIHRvIGluaXRpYWwg
cGFyZW50IChjb250ZW50IGJlZm9yZSBvYnNlcnZlcikiPgorICA8ZGl2IGNsYXNzPW5ldy1ob3N0
PjwvZGl2PgorICA8ZGl2IGNsYXNzPW9sZC1ob3N0PgorICAgIDx0ZW1wbGF0ZSBjbGFzcz0ndGVt
cGxhdGUnIHNoYWRvd3Jvb3Q9b3Blbj4KKyAgICAgIDxzcGFuIGNsYXNzPWNvbnRlbnRzPlRlbXBs
YXRlIGNvbnRlbnRzPC9zcGFuPgorICAgICAgPHNjcmlwdD48L3NjcmlwdD4gPCEtLSBPYnNlcnZl
ciBydW5zIGhlcmUsIG1vdmVzIDx0ZW1wbGF0ZT4gbm9kZSAtLT4KKyAgICA8L3RlbXBsYXRlPgor
ICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPXRlc3Qgc2hvdWxkYXR0YWNoPXRydWUgZGVz
Y3JpcHRpb249Ik1vdmluZyB0aGUgdGVtcGxhdGUgbm9kZSBkdXJpbmcgcGFyc2luZyBzaG91bGQg
YXR0YWNoIHRvIGluaXRpYWwgcGFyZW50IChjb250ZW50IGFmdGVyIG9ic2VydmVyKSI+CisgIDxk
aXYgY2xhc3M9bmV3LWhvc3Q+PC9kaXY+CisgIDxkaXYgY2xhc3M9b2xkLWhvc3Q+CisgICAgPHRl
bXBsYXRlIGNsYXNzPSd0ZW1wbGF0ZScgc2hhZG93cm9vdD1vcGVuPgorICAgICAgPHNjcmlwdD48
L3NjcmlwdD4gPCEtLSBPYnNlcnZlciBydW5zIGhlcmUsIG1vdmVzIDx0ZW1wbGF0ZT4gbm9kZSAt
LT4KKyAgICAgIDxzcGFuIGNsYXNzPWNvbnRlbnRzPlRlbXBsYXRlIGNvbnRlbnRzPC9zcGFuPgor
ICAgIDwvdGVtcGxhdGU+CisgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9dGVzdCBzaG91
bGRhdHRhY2g9ZmFsc2UgZGVzY3JpcHRpb249Ik1vdmluZyB0aGUgdGVtcGxhdGUgbm9kZSBmcm9t
IGludmFsaWQgcGFyZW50IHRvIHZhbGlkIHBhcmVudCBzaG91bGQgc3RpbGwgbm90IGF0dGFjaCI+
CisgIDxkaXYgY2xhc3M9bmV3LWhvc3Q+PC9kaXY+CisgIDx2aWRlbyBjbGFzcz1vbGQtaG9zdD4K
KyAgICA8dGVtcGxhdGUgY2xhc3M9J3RlbXBsYXRlJyBzaGFkb3dyb290PW9wZW4+CisgICAgICA8
c3BhbiBjbGFzcz1jb250ZW50cz5UZW1wbGF0ZSBjb250ZW50czwvc3Bhbj4KKyAgICAgIDxzY3Jp
cHQ+PC9zY3JpcHQ+IDwhLS0gT2JzZXJ2ZXIgcnVucyBoZXJlLCBtb3ZlcyA8dGVtcGxhdGU+IG5v
ZGUgLS0+CisgICAgPC90ZW1wbGF0ZT4KKyAgPC92aWRlbz4KKzwvZGl2PgorCis8c2NyaXB0Pgor
ICBsZXQgdGVzdHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYudGVzdCcpOworICBh
c3NlcnRfdHJ1ZSh0ZXN0cy5sZW5ndGggPiAwKTsKKyAgdGVzdHMuZm9yRWFjaCh0ID0+IHsgcnVu
VGVzdCh0KTsgfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9zY3JpcHQt
YWNjZXNzLnRlbnRhdGl2ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9zY3JpcHQtYWNj
ZXNzLnRlbnRhdGl2ZS5odG1sCShyZXZpc2lvbiAyNzY1ODEpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvc2NyaXB0
LWFjY2Vzcy50ZW50YXRpdmUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIDwh
RE9DVFlQRSBodG1sPgogPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET008L3RpdGxlPgotPGxp
bmsgcmVsPSdhdXRob3InIHRpdGxlPSdNYXNvbiBGcmVlZCcgaHJlZj0nbWFpbHRvOm1hc29uZnJl
ZWRAY2hyb21pdW0ub3JnJz4KKzxsaW5rIHJlbD0nYXV0aG9yJyBocmVmPSdtYWlsdG86bWFzb25m
QGNocm9taXVtLm9yZyc+CiA8bGluayByZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNv
bS93aGF0d2cvZG9tL2lzc3Vlcy84MzEnPgogPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMnPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMnPjwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL3czYy1pbXBvcnQubG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kZWNsYXJhdGl2ZS93M2MtaW1wb3J0LmxvZwkocmV2aXNpb24gMjc2NTgxKQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Rl
Y2xhcmF0aXZlL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw4ICsxOCw5IEBA
IExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tYXR0YWNo
bWVudC50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWJh
c2ljLnRlbnRhdGl2ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tb3B0
LWluLnRlbnRhdGl2ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXdpdGgtZGlzYWJsZWQt
c2hhZG93LnRlbnRhdGl2ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2dldGlubmVyaHRtbC50ZW50YXRpdmUu
aHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFy
YXRpdmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRlbXBsYXRlLmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvbW92
ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwt
YmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1v
bi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBs
YXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9zY3JpcHQt
YWNjZXNzLnRlbnRhdGl2ZS5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvU2hhZG93Um9vdC1kZWxlZ2F0ZXNGb2N1
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL1NoYWRvd1Jvb3QtZGVsZWdhdGVzRm9j
dXMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRl
c0ZvY3VzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKKworRkFJ
TCBkZWZhdWx0IGRlbGVnYXRlc0ZvY3VzIHZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChi
b29sZWFuKSBmYWxzZSBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBkZWxlZ2F0
ZXNGb2N1cyBzZXQgdG8gZmFsc2UgaW4gaW5pdCBkaWN0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IChib29sZWFuKSBmYWxzZSBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBkZWxl
Z2F0ZXNGb2N1cyBzZXQgdG8gdHJ1ZSBpbiBpbml0IGRpY3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgKGJvb2xlYW4pIHRydWUgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Zv
Y3VzL1NoYWRvd1Jvb3QtZGVsZWdhdGVzRm9jdXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvU2hh
ZG93Um9vdC1kZWxlZ2F0ZXNGb2N1cy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9TaGFkb3dS
b290LWRlbGVnYXRlc0ZvY3VzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2hhZG93Um9v
dCdzICBkZWxlZ2F0ZXNGb2N1cyBhdHRyaWJ1dGU8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0iaG9zdDEiPjwvZGl2Pgor
PGRpdiBpZD0iaG9zdDIiPjwvZGl2PgorPGRpdiBpZD0iaG9zdDMiPjwvZGl2PgorPHNjcmlwdD4K
K3Rlc3QodCA9PiB7CisgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9z
dDEiKTsKKyAgY29uc3Qgc2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAiY2xv
c2VkIn0pOworICBhc3NlcnRfZXF1YWxzKHNoYWRvd1Jvb3QuZGVsZWdhdGVzRm9jdXMsIGZhbHNl
KTsKK30sICJkZWZhdWx0IGRlbGVnYXRlc0ZvY3VzIHZhbHVlIik7CisKK3Rlc3QodCA9PiB7Cisg
IGNvbnN0IGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdDIiKTsKKyAgY29uc3Qg
c2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAiY2xvc2VkIiwgZGVsZWdhdGVz
Rm9jdXM6IGZhbHNlfSk7CisgIGFzc2VydF9lcXVhbHMoc2hhZG93Um9vdC5kZWxlZ2F0ZXNGb2N1
cywgZmFsc2UpOworfSwgImRlbGVnYXRlc0ZvY3VzIHNldCB0byBmYWxzZSBpbiBpbml0IGRpY3Qi
KTsKKwordGVzdCh0ID0+IHsKKyAgY29uc3QgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJob3N0MyIpOworICBjb25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGU6
ICJjbG9zZWQiLCBkZWxlZ2F0ZXNGb2N1czogdHJ1ZX0pOworICBhc3NlcnRfZXF1YWxzKHNoYWRv
d1Jvb3QuZGVsZWdhdGVzRm9jdXMsIHRydWUpOworfSwgImRlbGVnYXRlc0ZvY3VzIHNldCB0byB0
cnVlIGluIGluaXQgZGljdCIpOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtc2VsZWN0b3It
ZGVsZWdhdGVzRm9jdXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvZm9jdXMtc2VsZWN0b3ItZGVs
ZWdhdGVzRm9jdXMuaHRtbAkocmV2aXNpb24gMjc2NTgxKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXNlbGVjdG9y
LWRlbGVnYXRlc0ZvY3VzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsOCArNyw2IEBACiAgIDxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBh
Z2Uvc2VtYW50aWNzLW90aGVyLmh0bWwjc2VsZWN0b3ItZm9jdXMiIC8+CiAgIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KICAgPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgogICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3NoYWRvdy11dGlscy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiAKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy93
M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9u
IDI3NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9mb2N1cy93M2MtaW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMTUsNiAr
MTUsNyBAQCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL0RvY3Vt
ZW50T3JTaGFkb3dSb290LWFjdGl2ZUVsZW1lbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9TaGFkb3dSb290LWRlbGVn
YXRlc0ZvY3VzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZm9jdXMvY2xpY2stZm9jdXMtZGVsZWdhdGVzRm9jdXMtY2xpY2stbWV0
aG9kLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZm9jdXMvY2xpY2stZm9jdXMtZGVsZWdhdGVzRm9jdXMtdGFiaW5kZXgtdmFyaWVz
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZm9jdXMvY2xpY2stZm9jdXMtZGVsZWdhdGVzRm9jdXMtdGFiaW5kZXgtemVyby5odG1s
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUtY3Jhc2gtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJl
bW92ZS1jcmFzaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi1D
T05TT0xFIE1FU1NBR0U6IFN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhIGNvbnN0IHZhcmlh
YmxlIHR3aWNlOiAncm9vdCcuCitDT05TT0xFIE1FU1NBR0U6IE5vdFN1cHBvcnRlZEVycm9yOiBU
aGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDM0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktY3Jhc2gtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1j
cmFzaC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZl
LXNsb3QtYXBpLWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEy
IEBACitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogc2xvdDEuYXNzaWduIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3Nsb3QxLmFzc2lnbihbY2hpbGQxXSknLCAnc2xvdDEuYXNzaWduJyBpcyB1
bmRlZmluZWQpCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDM2CisgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzNgorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDIwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXpl
IDc4NHgwCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDAKKyAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDIwCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIyNngxOQorICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDIyNjogIlRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3Qg
Y3Jhc2guIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jhc2gt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRv
LWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKKyAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDM0CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4MTgKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUg
Nzg0eDE4CisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyOTR4MTgK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyOTR4MTgKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI5NDogIlRoaXMgdGVzdCBwYXNzZXMgaWYg
dGhlIHJlbmRlcmVyIGRvZXMgbm90IGNyYXNoLiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxOCkgc2l6
ZSA3ODR4MAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427026</attachid>
            <date>2021-04-25 23:27:09 -0700</date>
            <delta_ts>2021-04-25 23:27:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225042-20210425232709.patch</filename>
            <type>text/plain</type>
            <size>112997</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA0LTI1ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlc3luYyBXUFQgc2hhZG93IERPTSB0ZXN0cyBh
cyBvZiAwMmYwY2MxMAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI1MDQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAg
ICAgICAgUmViYXNlbGluZWQgdGhlIHRlc3QgYW5kIGFkZGVkIHBsYXRmb3JtIHNwZWNpZmljIHJl
c3VsdHMgZm9yIHRoZSBjcmFzaCB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFw
aS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVs
ZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LW9uLXBzZXVk
by1lbGVtZW50LWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNs
b3QtcmVtb3ZlLWNyYXNoLWV4cGVjdGVkLnR4dDogUmViYXNlbGluZWQuCisKIDIwMjEtMDQtMjUg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlc2Qg
RVdTIGZpeGVzLgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NzY1ODEpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNDUgQEAKKzIwMjEtMDQtMjUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmVzeW5jIFdQVCBzaGFkb3cgRE9NIHRlc3RzIGFzIG9mIDAy
ZjBjYzEwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjUwNDIKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBS
ZXN5bmMnZWQgc2hhZG93IERPTSB0ZXN0cyBhcyBvZiAwMmYwY2MxMGM0ZTkyNjI3Y2NmZDhiMzBj
ZTAzZTA0Mjc4YWY1MjI0LgorCisgICAgICAgICogcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpz
b246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vYWNjZXNza2V5LnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2FjY2Vzc2tleS50ZW50YXRpdmUuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtYWZ0
ZXItYXR0YWNoc2hhZG93LnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tYXR0YWNo
bWVudC50ZW50YXRpdmUuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWJhc2ljLnRlbnRhdGl2ZS5o
dG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZl
L2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tb3B0LWluLnRlbnRhdGl2ZS5odG1sOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXdp
dGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZl
LXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9nZXRpbm5lcmh0bWwudGVu
dGF0aXZlLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVj
bGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNs
YXJhdGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sOiBSZW5h
bWVkIGZyb20gaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy5odG1sLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRp
bmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24tb3Jk
aW5hcnktdGVtcGxhdGUudGVudGF0aXZlLmh0bWw6IFJlbmFtZWQgZnJvbSBpbm5lcmh0bWwtb24t
b3JkaW5hcnktdGVtcGxhdGUuaHRtbC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50
ZW50YXRpdmUuaHRtbDogUmVuYW1lZCBmcm9tIG1vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3Npbmct
dGFnLmh0bWwuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFy
YXRpdmUvc2NyaXB0LWFjY2Vzcy50ZW50YXRpdmUuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1vbi1wc2V1ZG8tZWxlbWVudC1j
cmFzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRlc0ZvY3VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvU2hhZG93Um9vdC1k
ZWxlZ2F0ZXNGb2N1cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9mb2N1cy9mb2N1cy1zZWxlY3Rvci1kZWxlZ2F0ZXNGb2N1cy5odG1sOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL3czYy1pbXBvcnQubG9n
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xv
dC1hcGktY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1h
cGktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLXNsb3RjaGFuZ2UtZXhwZWN0ZWQudHh0OiBSZW5h
bWVkIGZyb20gc2xvdHMtaW1wZXJhdGl2ZS1hcGktc2xvdGNoYW5nZS50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRp
dmUtc2xvdC1hcGktc2xvdGNoYW5nZS5odG1sOiBSZW5hbWVkIGZyb20gc2xvdHMtaW1wZXJhdGl2
ZS1hcGktc2xvdGNoYW5nZS50ZW50YXRpdmUuaHRtbC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLmh0bWw6IFJlbmFtZWQgZnJvbSBz
bG90cy1pbXBlcmF0aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS5odG1sLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL25lc3RlZC1zbG90LXJlbW92ZS1jcmFzaC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNs
b3QtcmVtb3ZlLWNyYXNoLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vdzNjLWltcG9ydC5sb2c6CisKIDIwMjEtMDQtMjUgIEZlbGlwZSBFcmlhcyAgPGZlbGlw
ZWVyaWFzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1mbGV4Ym94XSBUYWJsZSBsYXlvdXQg
ZGlzcmVnYXJkcyBvdmVycmlkaW5nIHdpZHRoCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uCShyZXZpc2lvbiAy
NzY1ODEpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZp
bGVzLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDEwIEBACiAgICAgICAgICJjc3N3
Zy10ZXN0L1dPRkYyLVVzZXJBZ2VudC9UZXN0cy94aHRtbDEvc3VwcG9ydC9hdmFpbGFibGUtMDAx
YS54aHQiLAogICAgICAgICAiY3Nzd2ctdGVzdC9XT0ZGMi1Vc2VyQWdlbnQvVGVzdHMveGh0bWwx
L3N1cHBvcnQvYXZhaWxhYmxlLTAwMWIueGh0IiwKICAgICAgICAgImNzc3dnLXRlc3QvV09GRjIt
VXNlckFnZW50L1Rlc3RzL3hodG1sMS90ZXN0Y2FzZWluZGV4LnhodCIsCisgICAgICAgICJzaGFk
b3ctZG9tL2RlY2xhcmF0aXZlL3N1cHBvcnQvZGVjbGFyYXRpdmUtY2hpbGQtZnJhbWUuaHRtbCIs
CisgICAgICAgICJzaGFkb3ctZG9tL2V2ZW50LW9uLXBzZXVkby1lbGVtZW50LWNyYXNoLmh0bWwi
LAorICAgICAgICAic2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLmh0bWwiLAor
ICAgICAgICAic2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUtY3Jhc2guaHRtbCIsCiAgICAg
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9CbG9iVVJML3N1cHBvcnQvZmlsZV90ZXN0
My5odG1sIiwKICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL3N1cHBvcnQvZG9j
dW1lbnQtZG9tYWluLXNldHRlci5zdWIuaHRtbCIsCiAgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvRmlsZUFQSS9zdXBwb3J0L2luY3VtYmVudC5zdWIuaHRtbCIsCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vYWNjZXNza2V5LnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2FjY2Vzc2tleS50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9hY2Nlc3NrZXkudGVudGF0aXZlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworRkFJTCBidXR0b24gZWxlbWVudCB3
aXRoIGFjY2Vzc2tleSBpbiB0aGUgc2hhZG93IHRyZWUgb2Ygb3BlbiBtb2RlIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBhY3Rpb24iCitGQUlMIGJ1dHRvbiBlbGVtZW50IHdpdGgg
YWNjZXNza2V5IGluIHRoZSBzaGFkb3cgdHJlZSBvZiBjbG9zZWQgbW9kZSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogYWN0aW9uIgorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vYWNjZXNza2V5LnRlbnRhdGl2ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2hhZG93LWRvbS9hY2Nlc3NrZXkudGVudGF0aXZlLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9t
L2FjY2Vzc2tleS50ZW50YXRpdmUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+U2hhZG93IERPTTogYWNj
ZXNza2V5PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiIHN0
eWxlPSJwb3NpdGlvbjogcmVsYXRpdmUiPjwvZGl2PgorPHNjcmlwdD4KKworY29uc3QgY29udGFp
bmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOworCitmdW5jdGlvbiBw
cmVzc0FjY2Vzc0tleShhY2Nlc3NLZXkpeworICBsZXQgY29udHJvbEtleSA9ICdcdUUwMDknOyAv
LyBsZWZ0IENvbnRyb2wga2V5CisgIGxldCBhbHRLZXkgPSAnXHVFMDBBJzsgLy8gbGVmdCBBbHQg
a2V5CisgIGxldCBvcHRpb25LZXkgPSBhbHRLZXk7ICAvLyBsZWZ0IE9wdGlvbiBrZXkKKyAgbGV0
IHNoaWZ0S2V5ID0gJ1x1RTAwOCc7IC8vIGxlZnQgU2hpZnQga2V5CisgIC8vIFRoZXJlIGFyZSBk
aWZmZXJlbmNlcyBpbiB1c2luZyBhY2Nlc3NrZXkgYWNyb3NzIGJyb3dzZXJzIGFuZCBPUydzLgor
ICAvLyBTZWU6IC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2Vi
L0hUTUwvR2xvYmFsX2F0dHJpYnV0ZXMvYWNjZXNza2V5CisgIGxldCBpc01hY09TWCA9IG5hdmln
YXRvci51c2VyQWdlbnQuaW5kZXhPZigiTWFjIikgIT0gLTE7CisgIGxldCBvc0FjY2Vzc0tleSA9
IGlzTWFjT1NYID8gW2NvbnRyb2xLZXksIG9wdGlvbktleV0gOiBbc2hpZnRLZXksIGFsdEtleV07
CisgIGxldCBhY3Rpb25zID0gbmV3IHRlc3RfZHJpdmVyLkFjdGlvbnMoKTsKKyAgLy8gUHJlc3Mg
a2V5cy4KKyAgZm9yIChsZXQga2V5IG9mIG9zQWNjZXNzS2V5KSB7CisgICAgYWN0aW9ucyA9IGFj
dGlvbnMua2V5RG93bihrZXkpOworICB9CisgIGFjdGlvbnMgPSBhY3Rpb25zCisgICAgICAgICAg
ICAua2V5RG93bihhY2Nlc3NLZXkpCisgICAgICAgICAgICAuYWRkVGljaygpCisgICAgICAgICAg
ICAua2V5VXAoYWNjZXNzS2V5KTsKKyAgb3NBY2Nlc3NLZXkucmV2ZXJzZSgpOworICBmb3IgKGxl
dCBrZXkgb2Ygb3NBY2Nlc3NLZXkpIHsKKyAgICBhY3Rpb25zID0gYWN0aW9ucy5rZXlVcChrZXkp
OworICB9CisgIHJldHVybiBhY3Rpb25zLnNlbmQoKTsKK30KKworZnVuY3Rpb24gdGVzdEFjY2Vz
c2tleUluU2hhZG93VHJlZShtb2RlKSB7CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
ICBjb25zdCBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgY29udGFp
bmVyLmFwcGVuZENoaWxkKGhvc3QpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4gaG9zdC5yZW1v
dmUoKSk7CisKKyAgICBjb25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRhY2hTaGFkb3coe21vZGV9
KTsKKyAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICc8YnV0dG9uIGlkPSJidXR0b24iIGFjY2Vz
c2tleT0iZyI+Q2xpY2sgTWUgd2l0aCBTaGlmdCtBbHQrZyBvciBvbiBNYWMgd2l0aCBDb250cm9s
K09wdGlvbitnPC9idXR0b24+JzsKKworICAgIGxldCBlbCA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVu
dEJ5SWQoImJ1dHRvbiIpOworICAgIGxldCBldmVudFdhdGNoZXIgPSBuZXcgRXZlbnRXYXRjaGVy
KHQsIGVsLCBbJ2NsaWNrJ10pOworICAgIGxldCB3YWl0Rm9yQ2xpY2sgPSBldmVudFdhdGNoZXIu
d2FpdF9mb3IoJ2NsaWNrJyk7CisKKyAgICBhd2FpdCBwcmVzc0FjY2Vzc0tleSgiZyIpOworICAg
IGF3YWl0IHdhaXRGb3JDbGljazsKKyAgfSwgYGJ1dHRvbiBlbGVtZW50IHdpdGggYWNjZXNza2V5
IGluIHRoZSBzaGFkb3cgdHJlZSBvZiAke21vZGV9IG1vZGVgKTsKK30KKwordGVzdEFjY2Vzc2tl
eUluU2hhZG93VHJlZSgib3BlbiIpOwordGVzdEFjY2Vzc2tleUluU2hhZG93VHJlZSgiY2xvc2Vk
Iik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LW9uLXBzZXVkby1lbGVtZW50LWNy
YXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LW9uLXBzZXVkby1lbGVtZW50LWNyYXNoLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LW9uLXBzZXVkby1lbGVtZW50LWNyYXNoLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8bGluayByZWw9ImF1dGhvciIgaHJlZj0ibWFpbHRvOm1hc29uZkBjaHJvbWl1
bS5vcmciPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2NyYnVnLmNvbS8xMTgwMjg2
Ij4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iVGhlIHJlbmRlcmVyIHNob3VsZCBub3Qg
Y3Jhc2guIj4KKworPHNwYW4+VGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgcmVuZGVyZXIgZG9lcyBu
b3QgY3Jhc2guPC9zcGFuPgorCis8ZGl2PgorICA8b3B0aW9uPjwvb3B0aW9uPgorPC9kaXY+CisK
KzxzdHlsZT4KKyAgZGl2IHsKKyAgICBkaXJlY3Rpb246IHJ0bDsKKyAgICB6b29tOiAwLjAxOwor
ICB9CisgIG9wdGlvbiB7CisgICAgem9vbTogNTsKKyAgfQorICBvcHRpb246OmJlZm9yZSB7Cisg
ICAgZGlzcGxheTogdGFibGUtY2FwdGlvbjsKKyAgICBvdmVyZmxvdzogc2Nyb2xsOworICAgIGNv
bnRlbnQ6IG9wZW4tcXVvdGU7CisgICAgcGFkZGluZy1yaWdodDogMXB4OworICAgIC13ZWJraXQt
Y29sdW1uLXdpZHRoOiAxcHg7CisgIH0KKzwvc3R5bGU+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFw
aS1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktY3Jh
c2gtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNo
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyIEBACitDT05TT0xFIE1F
U1NBR0U6IFR5cGVFcnJvcjogc2xvdDEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Ns
b3QxLmFzc2lnbihbY2hpbGQxXSknLCAnc2xvdDEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDM0CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDgwMHgzNAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDE4CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgwCisgICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDAKKyAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDIyNngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDIyNjogIlRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guIgorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNs
b3QtYXBpLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktY3Jhc2gu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1jcmFzaC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGxpbmsgcmVsPSJh
dXRob3IiIGhyZWY9Im1haWx0bzptYXNvbmZAY2hyb21pdW0ub3JnIj4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2NyaXB0aW5n
Lmh0bWwjZG9tLXNsb3QtYXNzaWduIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9j
cmJ1Zy5jb20vMTIwMTQwMiI+CisKKzxkaXYgaWQ9Imhvc3QiPgorICA8ZGl2IGlkPSJjaGlsZDEi
PjwvZGl2PgorPC9kaXY+CitUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgor
PHNjcmlwdD4KKyAgY29uc3QgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNob3N0Iik7
CisgIGNvbnN0IGNoaWxkMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjaGlsZDEiKTsKKyAg
Y29uc3Qgc2hhZG93X3Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiwgc2xv
dEFzc2lnbm1lbnQ6ICJtYW51YWwiIH0pOworICB2YXIgc2xvdDEgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJzbG90Iik7CisgIHNsb3QxLmlkID0gImZpcnN0X3Nsb3QiOworICBzaGFkb3dfcm9v
dC5hcHBlbmRDaGlsZChzbG90MSk7CisgIHNsb3QxLmFzc2lnbihbY2hpbGQxXSk7CisgIHNsb3Qx
LnJlbW92ZSgpOworICBzbG90MSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNsb3QiKTsKKyAg
c2xvdDEuaWQgPSAic2Vjb25kX3Nsb3QiOworICBzaGFkb3dfcm9vdC5hcHBlbmRDaGlsZChzbG90
MSk7CisgIHNsb3QxLmFzc2lnbihbY2hpbGQxXSk7IC8vIFNob3VsZG4ndCBjcmFzaCBoZXJlCis8
L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vaW1wZXJhdGl2ZS1zbG90LWFwaS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVy
YXRpdmUtc2xvdC1hcGktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTcg
QEAKKworRkFJTCBhdHRhY2hTaGFkb3cgY2FuIHRha2Ugc2xvdEFzc2lnbm1lbnQgcGFyYW1ldGVy
LiBhc3NlcnRfdGhyb3dzX2pzOiBvdGhlcnMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbiBmdW5jdGlv
biAiKCkgPT4geworICAgIHRUcmVlLmhvc3QzLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJywg
c2xvdEFzc2lnbm1lbnQ6ICdleGNlcHRpb25hbCcgfSl9IiBkaWQgbm90IHRocm93CitGQUlMIElt
cGVyYXRpdmUgc2xvdCBBUEkgY2FuIGFzc2lnbiBub2RlcyBpbiBtYW51YWwgc2xvdCBhc3NpZ25t
ZW50LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxz
bG90IGlkPSJzMSI+PC9zbG90PgorRkFJTCBPcmRlciBvZiBzbG90dGFibGVzIGlzIHByZXNlcnZl
ZCBpbiBtYW51YWwgc2xvdCBhc3NpZ25tZW50LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMx
XSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIFByZXZpb3VzbHkgYXNz
aWduZWQgc2xvdHRhYmxlIGlzIG1vdmVkIHRvIG5ldyBzbG90IHdoZW4gaXQncyByZWFzc2lnbmVk
LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWdu
KFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1
bmRlZmluZWQpCitGQUlMIE9yZGVyIGFuZCBhc3NpZ25tZW50IG9mIG5vZGVzIGFyZSBwcmVzZXJ2
ZWQgZHVyaW5nIG11bHRpcGxlIGFzc2lnbm1lbnQgaW4gYSByb3cuIHRUcmVlLnMxLmFzc2lnbiBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRy
ZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIEFzc2lnbmluZyBpbnZhbGlkIG5vZGVz
IHNob3VsZCBiZSBhbGxvd2VkLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzQsIHRUcmVlLmMyXSknLCAndFRy
ZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIE1vdmluZyBhIHNsb3QgdG8gYSBuZXcg
aG9zdCwgdGhlIHNsb3QgbG9zZXMgaXRzIHByZXZpb3VzbHkgYXNzaWduZWQgc2xvdHRhYmxlcy4g
dFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5k
ZWZpbmVkKQorRkFJTCBNb3ZpbmcgYSBzbG90J3MgdHJlZSBvcmRlciBwb3NpdGlvbiB3aXRoaW4g
YSBzaGFkb3cgaG9zdCBoYXMgbm8gaW1wYWN0IG9uIGl0cyBhc3NpZ25lZCBzbG90dGFibGVzLiB0
VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0
VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEFwcGVuZGluZyBzbG90dGFibGUgdG8gZGlmZmVyZW50IGhvc3QsIGl0IGxv
c2VzIHNsb3QgYXNzaWdubWVudC4gSXQgY2FuIGJlIHJlLWFzc2lnbmVkIHdpdGhpbiBhIG5ldyBo
b3N0LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNz
aWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSknLCAndFRyZWUuczEuYXNzaWduJyBp
cyB1bmRlZmluZWQpCitGQUlMIFByZXZpb3VzbHkgYXNzaWduZWQgbm9kZSBzaG91bGQgbm90IGJl
IGFzc2lnbmVkIGlmIHNsb3QgbW92ZWQgdG8gYSBuZXcgc2hhZG93IHJvb3QuIFRoZSBzbG90IHJl
bWFpbnMgZW1wdHkgd2hlbiBtb3ZlZCBiYWNrLCB0cmlnZ2VyIHJlY2FsYy4gdFRyZWUuczEuYXNz
aWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScs
ICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQXNzaWdubWVudCB3aXRoIHRo
ZSBzYW1lIG5vZGUgaW4gcGFyYW1ldGVycyBzaG91bGQgYmUgaWdub3JlZCwgZmlyc3Qgb25lIHdp
bnMuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3Np
Z24oW3RUcmVlLmMxLCB0VHJlZS5jMSwgdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgUmVtb3ZpbmcgYSBzbG90IGZyb20gRE9NIHJlc2V0cyBpdHMgc2xv
dHRhYmxlJ3Mgc2xvdCBhc3NpZ25tZW50LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSkn
LCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlMIE5vZGVzIGNhbiBiZSBhc3Np
Z25lZCBldmVuIGlmIHNsb3RzIG9yIG5vZGVzIGFyZW4ndCBpbiB0aGUgc2FtZSB0cmVlLiB0VHJl
ZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJl
ZS5jMSwgdFRyZWUuYzJdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
UmVtb3ZpbmcgYSBub2RlIGZyb20gdGhlIGRvY3VtZW50IGRvZXMgbm90IGJyZWFrIG1hbnVhbGx5
IGFzc2lnbmVkIHNsb3QgbGlua2FnZS4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSknLCAndFRyZWUuczEu
YXNzaWduJyBpcyB1bmRlZmluZWQpCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLXNsb3RjaGFu
Z2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLXNsb3RjaGFu
Z2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLXNsb3Rj
aGFuZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKworRkFJ
TCBzbG90Y2hhbmdlIGV2ZW50IG11c3Qgbm90IGZpcmUgc3luY2hyb25vdXNseS4gdFRyZWUuczEu
YXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFd
KScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2xvdGNoYW5nZSBldmVu
dCBzaG91bGQgbm90IGZpcmUgd2hlbiBhc3NpZ25tZW50cyBkbyBub3QgY2hhbmdlIGFzc2lnbmVk
Tm9kZXMuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5h
c3NpZ24oW10pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBzbG90Y2hh
bmdlIGV2ZW50IHNob3VsZCBub3QgZmlyZSB3aGVuIHNhbWUgbm9kZSBpcyBhc3NpZ25lZC4gdFRy
ZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzEsIHRUcmVlLmMyXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitGQUlM
IEZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIHNsb3QncyBhc3NpZ25lZCBub2RlcyBjaGFuZ2Vz
LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWdu
KFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQorRkFJTCBGaXJl
IHNsb3RjaGFuZ2UgZXZlbnQgb24gcHJldmlvdXMgc2xvdCBhbmQgbmV3IHNsb3Qgd2hlbiBub2Rl
IGlzIHJlYXNzaWduZWQuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0
VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCBvbiBub2RlIGFzc2lnbm1lbnQgYW5kIHdo
ZW4gYXNzaWduZWQgbm9kZSBpcyByZW1vdmVkLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2ln
bicgaXMgdW5kZWZpbmVkKQorRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBvcmRlciBv
ZiBhc3NpZ25lZCBub2RlcyBjaGFuZ2VzLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKScsICd0VHJlZS5z
MS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4g
YXNzaWduZWQgbm9kZSBpcyByZW1vdmVkLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicg
aXMgdW5kZWZpbmVkKQorRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiByZW1vdmluZyBh
IHNsb3QgZnJvbSBTaGFkb3dzIFJvb3QgdGhhdCBjaGFuZ2VzIGl0cyBhc3NpZ25lZCBub2Rlcy4g
dFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKK0ZBSUwgTm8gc2xv
dGNoYW5nZSBldmVudCB3aGVuIGFkZGluZyBvciByZW1vdmluZyBhbiBlbXB0eSBzbG90LiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBnb3QgMQorRkFJTCBObyBzbG90Y2hhbmdlIGV2ZW50
IHdoZW4gYWRkaW5nIGFub3RoZXIgc2xvdGFibGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAg
YnV0IGdvdCAxCitGQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIGFzc2lnbiBub2RlIHRv
IG5lc3RlZCBzbG90LCBlbnN1cmUgZXZlbnQgYnViYmxlcyB1cHMuIHRUcmVlLnMzLmFzc2lnbiBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMy5hc3NpZ24oW3RUcmVlLnMxXSknLCAndFRy
ZWUuczMuYXNzaWduJyBpcyB1bmRlZmluZWQpCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLXNs
b3RjaGFuZ2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1zbG90Y2hhbmdl
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5nZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzU4IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRs
ZT5TaGFkb3cgRE9NOiBJbXBlcmF0aXZlIFNsb3QgQVBJIHNsb3RjaGFuZ2UgZXZlbnQ8L3RpdGxl
PgorPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iWXUgSGFuIiBocmVmPSJtYWlsdG86eXV6aGVo
YW5AY2hyb21pdW0ub3JnIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kb20uc3BlYy53aGF0
d2cub3JnLyNzaWduYWxpbmctc2xvdC1jaGFuZ2UiPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9z
aGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KKworPGRpdiBpZD0idGVzdF9zbG90Y2hhbmdlIj4KKyAg
PGRpdiBpZD0iaG9zdCI+CisgICAgPHRlbXBsYXRlIGlkPSJzaGFkb3dfcm9vdCIgZGF0YS1tb2Rl
PSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KKyAgICAgIDxzbG90IGlkPSJz
MSI+PGRpdiBpZD0iZmIiPmZhbGxiYWNrPC9kaXY+PC9zbG90PgorICAgICAgPHNsb3QgaWQ9InMy
Ij48L3Nsb3Q+CisgICAgICA8c2xvdCBpZD0iczMiPjwvc2xvdD4KKyAgICA8L3RlbXBsYXRlPgor
ICAgIDxkaXYgaWQ9ImMxIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjMiI+PC9kaXY+CisgIDwvZGl2
PgorICA8ZGl2IGlkPSJjNCI+PC9kaXY+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGdl
dERhdGFDb2xsZWN0aW9uKCkgeworICByZXR1cm4geworICAgIHMxRXZlbnRDb3VudDogMCwKKyAg
ICBzMkV2ZW50Q291bnQ6IDAsCisgICAgczNFdmVudENvdW50OiAwLAorICAgIHMxUmVzb2x2ZUZu
OiBudWxsLAorICAgIHMyUmVzb2x2ZUZuOiBudWxsLAorICAgIHMzUmVzb2x2ZUZuOiBudWxsLAor
ICB9Cit9CisKK2Z1bmN0aW9uIHNldHVwU2hhZG93RE9NKGlkLCB0ZXN0LCBkYXRhKSB7CisgIGxl
dCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKGlkKTsKKyAgdFRyZWUuczEuYWRkRXZlbnRMaXN0ZW5l
cignc2xvdGNoYW5nZScsIChldmVudCkgPT4geworICAgIGlmICghZXZlbnQuaXNGYWtlRXZlbnQp
IHsKKyAgICAgIHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhldmVudC50eXBlLCAnc2xvdGNoYW5nZScsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHR5cGUgbXVz
dCBiZSAic2xvdGNoYW5nZSInKTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnRhcmdl
dCwgdFRyZWUuczEsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHRhcmdldCBtdXN0IGJlIHRoZSBzbG90
IGVsZW1lbnQnKTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnJlbGF0ZWRUYXJnZXQs
IHVuZGVmaW5lZCwgJ3Nsb3RjaGFuZ2UgbXVzdCBub3Qgc2V0IHJlbGF0ZWRUYXJnZXQnKTsKKyAg
ICAgIH0pOworICAgICAgZGF0YS5zMUV2ZW50Q291bnQrKzsKKyAgICB9CisgICAgZGF0YS5zMVJl
c29sdmVGbigpOworICB9KTsKKyAgdFRyZWUuczIuYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5n
ZScsIChldmVudCkgPT4geworICAgIGlmICghZXZlbnQuaXNGYWtlRXZlbnQpIHsKKyAgICAgIHRl
c3Quc3RlcChmdW5jdGlvbiAoKSB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC50eXBl
LCAnc2xvdGNoYW5nZScsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHR5cGUgbXVzdCBiZSAic2xvdGNo
YW5nZSInKTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnRhcmdldCwgdFRyZWUuczIs
ICdzbG90Y2hhbmdlIGV2ZW50XCdzIHRhcmdldCBtdXN0IGJlIHRoZSBzbG90IGVsZW1lbnQnKTsK
KyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIHVuZGVmaW5lZCwg
J3Nsb3RjaGFuZ2UgbXVzdCBub3Qgc2V0IHJlbGF0ZWRUYXJnZXQnKTsKKyAgICAgIH0pOworICAg
ICAgZGF0YS5zMkV2ZW50Q291bnQrKzsKKyAgICB9CisgICAgZGF0YS5zMlJlc29sdmVGbigpOwor
ICB9KTsKKyAgdFRyZWUuczMuYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIChldmVudCkg
PT4geworICAgIGlmICghZXZlbnQuaXNGYWtlRXZlbnQpIHsKKyAgICAgIHRlc3Quc3RlcChmdW5j
dGlvbiAoKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudHlwZSwgJ3Nsb3RjaGFuZ2Un
LCAnc2xvdGNoYW5nZSBldmVudFwncyB0eXBlIG11c3QgYmUgInNsb3RjaGFuZ2UiJyk7CisgICAg
ICAgIC8vIGxpc3RlbiB0byBidWJibGluZyBldmVudHMuCisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZXZlbnQucmVsYXRlZFRhcmdldCwgdW5kZWZpbmVkLCAnc2xvdGNoYW5nZSBtdXN0IG5vdCBzZXQg
cmVsYXRlZFRhcmdldCcpOworICAgICAgfSk7CisgICAgICBkYXRhLnMzRXZlbnRDb3VudCsrOwor
ICAgIH0KKyAgICBkYXRhLnMzUmVzb2x2ZUZuKCk7CisgIH0pOworICByZXR1cm4gdFRyZWU7Cit9
CisKK2Z1bmN0aW9uIG1vbml0b3JTbG90cyhkYXRhKSB7CisgICAgY29uc3QgczFQcm9taXNlID0g
bmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgZGF0YS5zMVJlc29sdmVG
biA9IHJlc29sdmU7CisgICAgfSk7CisgICAgY29uc3QgczJQcm9taXNlID0gbmV3IFByb21pc2Uo
KHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgZGF0YS5zMlJlc29sdmVGbiA9IHJlc29sdmU7
CisgICAgfSk7CisgICAgY29uc3QgczNQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJl
amVjdCkgPT4geworICAgICAgZGF0YS5zM1Jlc29sdmVGbiA9IHJlc29sdmU7CisgICAgfSk7Cisg
ICAgcmV0dXJuIFtzMVByb21pc2UsIHMyUHJvbWlzZSwgczNQcm9taXNlXTsKK30KKzwvc2NyaXB0
PgorCis8c2NyaXB0PgorLy8gVGVzdHM6Cithc3luY190ZXN0KCh0ZXN0KSA9PiB7CisgIGNvbnN0
IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RP
TSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZSwgczJQcm9t
aXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMx
XSk7CisgIHRUcmVlLnMyLmFzc2lnbihbdFRyZWUuYzJdKTsKKworICBhc3NlcnRfZXF1YWxzKGRh
dGEuczFFdmVudENvdW50LCAwLCAnc2xvdGNoYW5nZSBldmVudCBtdXN0IG5vdCBiZSBmaXJlZCBz
eW5jaHJvbm91c2x5Jyk7CisgIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDApOwor
CisgIFByb21pc2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVzdC5zdGVwX2Z1
bmNfZG9uZSgoKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7
CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMSk7CisgIH0pKTsKK30sICdz
bG90Y2hhbmdlIGV2ZW50IG11c3Qgbm90IGZpcmUgc3luY2hyb25vdXNseS4nKTsKKworYXN5bmNf
dGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAg
bGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsK
KyAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisKKyAg
dFRyZWUuczEuYXNzaWduKFtdKTs7CisgIHRUcmVlLnMyLmFzc2lnbihbXSk7CisgIHRUcmVlLmhv
c3QuaW5zZXJ0QmVmb3JlKHRUcmVlLmM0LCB0VHJlZS5jMSk7CisKKyAgUHJvbWlzZS5hbGwoW3Mx
UHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAg
ICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAwKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGRhdGEuczJFdmVudENvdW50LCAwKTsKKyAgfSkpOworCisgIC8vIHVzZSBmYWtlIGV2ZW50IHRv
IHRyaWdnZXIgZXZlbnQgaGFuZGxlci4KKyAgbGV0IGZha2VFdmVudCA9IG5ldyBFdmVudCgnc2xv
dGNoYW5nZScpOworICBmYWtlRXZlbnQuaXNGYWtlRXZlbnQgPSB0cnVlOworICB0VHJlZS5zMS5k
aXNwYXRjaEV2ZW50KGZha2VFdmVudCk7CisgIHRUcmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFrZUV2
ZW50KTsKK30sICdzbG90Y2hhbmdlIGV2ZW50IHNob3VsZCBub3QgZmlyZSB3aGVuIGFzc2lnbm1l
bnRzIGRvIG5vdCBjaGFuZ2UgYXNzaWduZWROb2Rlcy4nKTsKKworYXN5bmNfdGVzdCgodGVzdCkg
PT4geworICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0g
c2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJv
bWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5j
MSwgdFRyZWUuYzJdKTsKKworICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7
CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7CisKKyAgICBbczFQcm9t
aXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKyAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMx
LCB0VHJlZS5jMl0pOworICAgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0
VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMyXSk7CisKKyAgICBzMVByb21pc2UudGhlbih0ZXN0
LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50
Q291bnQsIDEpOworICAgIH0pKTsKKworICAgIGxldCBmYWtlRXZlbnQgPSBuZXcgRXZlbnQoJ3Ns
b3RjaGFuZ2UnKTsKKyAgICBmYWtlRXZlbnQuaXNGYWtlRXZlbnQgPSB0cnVlOworICAgIHRUcmVl
LnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKKyAgfSkpOworCit9LCAnc2xvdGNoYW5nZSBl
dmVudCBzaG91bGQgbm90IGZpcmUgd2hlbiBzYW1lIG5vZGUgaXMgYXNzaWduZWQuJyk7CisKK2Fz
eW5jX3Rlc3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7
CisgIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0
YSk7CisgIGxldCBbczFQcm9taXNlLCBzMlByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwor
CisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKKyAgdFRyZWUuczIuYXNzaWduKFt0VHJl
ZS5jMl0pOworCisgIFByb21pc2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVz
dC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRD
b3VudCwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMSk7CisgIH0p
KTsKK30sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBzbG90J3MgYXNzaWduZWQgbm9kZXMg
Y2hhbmdlcy4iKTsKKworYXN5bmNfdGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRhID0gZ2V0
RGF0YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90
Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKKyAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25p
dG9yU2xvdHMoZGF0YSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOworCisgIHMx
UHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRh
dGEuczFFdmVudENvdW50LCAxKTsKKworICAgIFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25p
dG9yU2xvdHMoZGF0YSk7CisgICAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMV0pOworCisgICAg
UHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19k
b25lKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDIpOwor
ICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMSk7CisgICAgfSkpOworICB9
KSk7Cit9LCAiRmlyZSBzbG90Y2hhbmdlIGV2ZW50IG9uIHByZXZpb3VzIHNsb3QgYW5kIG5ldyBz
bG90IHdoZW4gbm9kZSBpcyByZWFzc2lnbmVkLiIpOworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7
CisgIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1
cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlz
ZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0p
OworCisgIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRf
ZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKKworICAgIFtzMVByb21pc2VdID0gbW9uaXRv
clNsb3RzKGRhdGEpOworICAgIHRUcmVlLnMxLmFzc2lnbihbXSk7CisKKyAgICBzMVByb21pc2Uu
dGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0
YS5zMUV2ZW50Q291bnQsIDIpOworICAgIH0pKTsKKyAgfSkpOworfSwgIkZpcmUgc2xvdGNoYW5n
ZSBldmVudCBvbiBub2RlIGFzc2lnbm1lbnQgYW5kIHdoZW4gYXNzaWduZWQgbm9kZSBpcyByZW1v
dmVkLiIpOworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7CisgIGNvbnN0IGRhdGEgPSBnZXREYXRh
Q29sbGVjdGlvbigpOworICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFu
Z2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7
CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKKworICBzMVByb21p
c2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMx
RXZlbnRDb3VudCwgMSk7CisKKyAgICBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsK
KyAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMV0pOworCisgICAgczFQcm9t
aXNlLnRoZW4odGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxz
KGRhdGEuczFFdmVudENvdW50LCAyKTsKKyAgICB9KSk7CisgIH0pKTsKK30sICJGaXJlIHNsb3Rj
aGFuZ2UgZXZlbnQgd2hlbiBvcmRlciBvZiBhc3NpZ25lZCBub2RlcyBjaGFuZ2VzLiIpOworCitw
cm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9u
KCk7CisgIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwg
ZGF0YSk7CisgIGxldCBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKKworICB0VHJl
ZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7CisKKyAgcmV0dXJuIHMxUHJvbWlzZS50aGVuKHRlc3Qu
c3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAx
KTsKKworICAgIFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworICAgIHRUcmVlLmMx
LnJlbW92ZSgpOworCisgICAgcmV0dXJuIHMxUHJvbWlzZTsKKyAgfSkpCisgIC50aGVuKHRlc3Qu
c3RlcF9mdW5jKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQs
IDIpOworICB9KSk7Cit9LCAiRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYXNzaWduZWQgbm9k
ZSBpcyByZW1vdmVkLiIpOworCitwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0
YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7CisgIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRl
c3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7CisgIFtzMVByb21pc2VdID0gbW9uaXRvclNsb3Rz
KGRhdGEpOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKKworICByZXR1cm4gczFQ
cm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZGF0
YS5zMUV2ZW50Q291bnQsIDEpOworCisgICAgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0
YSk7CisgICAgdFRyZWUuczEucmVtb3ZlKCk7CisKKyAgICByZXR1cm4gczFQcm9taXNlOworICB9
KSkKKyAgLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhk
YXRhLnMxRXZlbnRDb3VudCwgMik7CisgIH0pKTsKK30sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQg
d2hlbiByZW1vdmluZyBhIHNsb3QgZnJvbSBTaGFkb3dzIFJvb3QgdGhhdCBjaGFuZ2VzIGl0cyBh
c3NpZ25lZCBub2Rlcy4iKTsKKworYXN5bmNfdGVzdCgodGVzdCkgPT4geworICBjb25zdCBkYXRh
ID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKKyAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVz
dF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKKyAgbGV0IFtzMVByb21pc2VdID0gbW9uaXRvclNs
b3RzKGRhdGEpOworCisgIHRUcmVlLnMxLnJlbW92ZSgpOworCisgIGxldCBmYWtlRXZlbnQgPSBu
ZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnKTsKKyAgZmFrZUV2ZW50LmlzRmFrZUV2ZW50ID0gdHJ1ZTsK
KyAgdFRyZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOworCisgIHMxUHJvbWlzZS50aGVu
KHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENv
dW50LCAwKTsKKworICAgIFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0
YSk7CisgICAgdFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnMxLCB0VHJlZS5z
Mik7CisKKyAgICB0VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7CisgICAgdFRyZWUu
czIuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOworCisgICAgUHJvbWlzZS5hbGwoW3MxUHJvbWlz
ZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFz
c2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDApOworICAgICAgYXNzZXJ0X2VxdWFscyhk
YXRhLnMyRXZlbnRDb3VudCwgMCk7CisgICAgfSkpOworICB9KSk7CisKK30sICJObyBzbG90Y2hh
bmdlIGV2ZW50IHdoZW4gYWRkaW5nIG9yIHJlbW92aW5nIGFuIGVtcHR5IHNsb3QuIik7CisKK2Fz
eW5jX3Rlc3QoKHRlc3QpID0+IHsKKyAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7
CisgIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0
YSk7CisgIGxldCBbczFQcm9taXNlLCBzMlByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwor
CisgIHRUcmVlLmhvc3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikp
OworCisgIGxldCBmYWtlRXZlbnQgPSBuZXcgRXZlbnQoJ3Nsb3RjaGFuZ2UnKTsKKyAgZmFrZUV2
ZW50LmlzRmFrZUV2ZW50ID0gdHJ1ZTsKKyAgdFRyZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZl
bnQpOworICB0VHJlZS5zMi5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7CisKKyAgUHJvbWlzZS5h
bGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Cisg
ICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMCk7CisgICAgYXNzZXJ0X2VxdWFs
cyhkYXRhLnMyRXZlbnRDb3VudCwgMCk7CisKKyAgICBbczFQcm9taXNlLCBzMlByb21pc2VdID0g
bW9uaXRvclNsb3RzKGRhdGEpOworICAgIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9yZShk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSwgdFRyZWUuczIpOworCisgICAgdFRyZWUuczEu
ZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOworICAgIHRUcmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFr
ZUV2ZW50KTsKKworICAgIFByb21pc2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4o
dGVzdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFF
dmVudENvdW50LCAwKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDAp
OworICAgIH0pKTsKKyAgfSkpOworCit9LCAiTm8gc2xvdGNoYW5nZSBldmVudCB3aGVuIGFkZGlu
ZyBhbm90aGVyIHNsb3RhYmxlLiIpOworCis8L3NjcmlwdD4KKworPGRpdiBpZD0idGVzdF9uZXN0
ZWRfc2xvdGNoYW5nZSI+CisgIDxkaXY+CisgICAgPHRlbXBsYXRlIGRhdGEtbW9kZT0ib3BlbiIg
ZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1hbnVhbCI+CisgICAgICA8ZGl2PgorICAgICAgICA8dGVt
cGxhdGUgZGF0YS1tb2RlPSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KKyAg
ICAgICAgICA8c2xvdCBpZD0iczIiPjwvc2xvdD4KKyAgICAgICAgICA8c2xvdCBpZD0iczMiPjwv
c2xvdD4KKyAgICAgICAgPC90ZW1wbGF0ZT4KKyAgICAgICAgPHNsb3QgaWQ9InMxIj48L3Nsb3Q+
CisgICAgICA8L2Rpdj4KKyAgICA8L3RlbXBsYXRlPgorICAgIDxkaXYgaWQ9ImMxIj48L2Rpdj4K
KyAgPC9kaXY+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2FzeW5jX3Rlc3QoKHRlc3QpID0+IHsKKyAg
Y29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7CisgIGxldCB0VHJlZSA9IHNldHVwU2hh
ZG93RE9NKHRlc3RfbmVzdGVkX3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOworICBsZXQgW3MxUHJv
bWlzZSwgczJQcm9taXNlLCBzM1Byb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOworCisgIHRU
cmVlLnMzLmFzc2lnbihbdFRyZWUuczFdKTsKKworICBzM1Byb21pc2UudGhlbih0ZXN0LnN0ZXBf
ZnVuYygoKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMzRXZlbnRDb3VudCwgMSk7Cisg
ICAgW3MxUHJvbWlzZSwgczJQcm9taXNlLCBzM1Byb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEp
OworCisgICAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOworCisgICAgUHJvbWlzZS5hbGwo
W3MxUHJvbWlzZSwgczNQcm9taXNlXSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsK
KyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOworICAgICAgYXNzZXJ0
X2VxdWFscyhkYXRhLnMzRXZlbnRDb3VudCwgMik7CisgICAgfSkpOworICB9KSk7Cit9LCAiRmly
ZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYXNzaWduIG5vZGUgdG8gbmVzdGVkIHNsb3QsIGVuc3Vy
ZSBldmVudCBidWJibGVzIHVwcy4iKTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1h
cGkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
NzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlNoYWRvdyBET006IEltcGVyYXRpdmUgU2xv
dCBBUEk8L3RpdGxlPgorPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iWXUgSGFuIiBocmVmPSJt
YWlsdG86eXV6aGVoYW5AY2hyb21pdW0ub3JnIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LWRv
bS5qcyI+PC9zY3JpcHQ+CisKKzxkaXYgaWQ9InRlc3RfYmFzaWMiPgorICA8ZGl2IGlkPSJob3N0
MSI+PC9kaXY+CisgIDxkaXYgaWQ9Imhvc3QyIj48L2Rpdj4KKyAgPGRpdiBpZD0iaG9zdDMiPjwv
ZGl2PgorPC9kaXY+Cis8c2NyaXB0PgordGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0
ZVRlc3RUcmVlKHRlc3RfYmFzaWMpOworICBhc3NlcnRfbm90X2VxdWFscyh0VHJlZS5ob3N0MS5h
dHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicsIHNsb3RBc3NpZ25tZW50OiAnbWFudWFsJ30pLAor
ICAgICAgICAgICAgICAgICAgICBudWxsLCAnc2xvdCBhc3NpZ25tZW50IG1hbnVhbCBzaG91bGQg
d29yaycpOworICBhc3NlcnRfbm90X2VxdWFscyh0VHJlZS5ob3N0Mi5hdHRhY2hTaGFkb3coeyBt
b2RlOiAnb3BlbicsIHNsb3RBc3NpZ25tZW50OiAnbmFtZWQnfSksCisgICAgICAgICAgICAgICAg
ICAgIG51bGwsICdzbG90IGFzc2lnbm1lbnQgYXV0byBzaG91bGQgd29yaycpOworICBhc3NlcnRf
dGhyb3dzX2pzKFR5cGVFcnJvciwgKCkgPT4geworICAgIHRUcmVlLmhvc3QzLmF0dGFjaFNoYWRv
dyh7IG1vZGU6ICdvcGVuJywgc2xvdEFzc2lnbm1lbnQ6ICdleGNlcHRpb25hbCcgfSl9LAorICAg
ICAgICAgICAgICAgICdvdGhlcnMgc2hvdWxkIHRocm93IGV4Y2VwdGlvbicpOworfSwgJ2F0dGFj
aFNoYWRvdyBjYW4gdGFrZSBzbG90QXNzaWdubWVudCBwYXJhbWV0ZXIuJyk7Cis8L3NjcmlwdD4K
KworPGRpdiBpZD0idGVzdF9hc3NpZ24iPgorICA8ZGl2IGlkPSJob3N0Ij4KKyAgICA8dGVtcGxh
dGUgaWQ9InNoYWRvd19yb290IiBkYXRhLW1vZGU9Im9wZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50
PSJtYW51YWwiPgorICAgICAgPHNsb3QgaWQ9InMxIj48L3Nsb3Q+CisgICAgICA8c2xvdCBpZD0i
czIiPjwvc2xvdD4KKyAgICAgIDxzbG90IGlkPSJzMyI+PC9zbG90PgorICAgIDwvdGVtcGxhdGU+
CisgICAgPGRpdiBpZD0iYzEiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImMyIj48L2Rpdj4KKyAgICA8
ZGl2IGlkPSJjMyI+PC9kaXY+CisgICAgPGRpdiBpZD0ibmVzdGVkIj4KKyAgICAgICA8ZGl2IGlk
PSJuczEiPjwvZGl2PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBpZD0iYzQiPjwvZGl2
PgorICA8ZGl2IGlkPSJob3N0NCI+CisgICAgPHRlbXBsYXRlIGlkPSJzaGFkb3dfcm9vdDQiIGRh
dGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1hbnVhbCI+CisgICAgICA8c2xv
dCBpZD0iczQiIG5hbWU9InM0Ij48L3Nsb3Q+CisgICAgPC90ZW1wbGF0ZT4KKyAgPC9kaXY+Cis8
L2Rpdj4KKzxzY3JpcHQ+Cit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRy
ZWUodGVzdF9hc3NpZ24pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVk
RWxlbWVudHMoKSwgW10pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwg
bnVsbCk7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOworICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7CisgIGFzc2VydF9l
cXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7CisKKyAgdFRyZWUuczIuYXNz
aWduKFt0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5z
MS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRU
cmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyLCB0VHJlZS5jM10pOworfSwgJ0ltcGVy
YXRpdmUgc2xvdCBBUEkgY2FuIGFzc2lnbiBub2RlcyBpbiBtYW51YWwgc2xvdCBhc3NpZ25tZW50
LicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9h
c3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5j
MV0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RU
cmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5h
c3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25l
ZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3Qs
IHRUcmVlLnMxKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pOwor
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMx
LCB0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRy
ZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEp
OworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgbnVsbCk7CisKKyAgdFRy
ZWUuczEuYXNzaWduKFt0VHJlZS5jMywgdFRyZWUuYzIsIHRUcmVlLmMxXSk7CisgIGFzc2VydF9h
cnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzMsIHRUcmVlLmMy
LCB0VHJlZS5jMV0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRy
ZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEp
OworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworfSwg
J09yZGVyIG9mIHNsb3R0YWJsZXMgaXMgcHJlc2VydmVkIGluIG1hbnVhbCBzbG90IGFzc2lnbm1l
bnQuJyk7CisKK3Rlc3QoKCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0
X2Fzc2lnbik7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVl
LmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBb
dFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5jMV0pOworCisgIHRUcmVlLnMyLmFzc2lnbihbdFRy
ZWUuYzJdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCks
IFt0VHJlZS5jMywgdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMi5h
c3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFz
c2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVk
U2xvdCwgdFRyZWUuczIpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwg
dFRyZWUuczEpOworCisgIHRUcmVlLnMzLmFzc2lnbihbdFRyZWUuYzNdKTsKKyAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOworICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyXSk7Cisg
IGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczMuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzNd
KTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKyAg
YXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVlLnMyKTsKKyAgYXNzZXJ0
X2VxdWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3QsIHRUcmVlLnMzKTsKK30sICdQcmV2aW91c2x5
IGFzc2lnbmVkIHNsb3R0YWJsZSBpcyBtb3ZlZCB0byBuZXcgc2xvdCB3aGVuIGl0XCdzIHJlYXNz
aWduZWQuJyk7CisKK3Rlc3QoKCkgPT4geworIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRl
c3RfYXNzaWduKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7CisgIHRUcmVlLnMy
LmFzc2lnbihbdFRyZWUuYzIsIHRUcmVlLmMxXSk7CisgIHRUcmVlLnMzLmFzc2lnbihbdFRyZWUu
YzEsIHRUcmVlLmMzXSk7CisKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25l
ZE5vZGVzKCksIFtdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMi5hc3NpZ25lZE5v
ZGVzKCksIFt0VHJlZS5jMl0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMzLmFzc2ln
bmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jM10pOworICBhc3NlcnRfZXF1YWxzKHRUcmVl
LmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczMpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFz
c2lnbmVkU2xvdCwgdFRyZWUuczIpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVk
U2xvdCwgdFRyZWUuczMpOworfSwgJ09yZGVyIGFuZCBhc3NpZ25tZW50IG9mIG5vZGVzIGFyZSBw
cmVzZXJ2ZWQgZHVyaW5nIG11bHRpcGxlIGFzc2lnbm1lbnQgaW4gYSByb3cuJyk7CisKK3Rlc3Qo
KCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7CisKKyAg
Ly8gdFRyZWUuYzQgaXMgaW52YWxpZCBmb3IgdFRyZWUuaG9zdCBzbG90IGFzc2lnbm1lbnQuCisg
IC8vIE5vIGV4Y2VwdGlvbiBzaG91bGQgYmUgdGhyb3duIGhlcmUuCisgIHRUcmVlLnMxLmFzc2ln
bihbdFRyZWUuYzEsIHRUcmVlLmM0LCB0VHJlZS5jMl0pOworCisgIC8vIEFsbCBvYnNlcnZhYmxl
IGFzc2lnbm1lbnRzIHNob3VsZCBza2lwIGM0LgorICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVl
LnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1
YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRU
cmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmM0
LmFzc2lnbmVkU2xvdCwgbnVsbCk7CisKKyAgLy8gTW92aW5nIGM0IGludG8gcGxhY2Ugc2hvdWxk
IHJldmVhbCB0aGUgYXNzaWdubWVudC4KKyAgdFRyZWUuaG9zdC5hcHBlbmQodFRyZWUuYzQpOwor
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMx
LCB0VHJlZS5jNCwgdFRyZWUuYzJdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25l
ZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3Qs
IHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jNC5hc3NpZ25lZFNsb3QsIHRUcmVl
LnMxKTsKKworICAvLyBNb3ZpbmcgYzQgaW50byBhIGRpZmZlcmVudCBzaGFkb3cgaG9zdCBhbmQg
YmFjayBzaG91bGQKKyAgLy8gYWxzbyBub3QgYnJlYWsgdGhlIGFzc2lnbm1lbnQuCisgIHRUcmVl
Lmhvc3Q0LmFwcGVuZCh0VHJlZS5jNCkKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5h
c3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKKyAgYXNzZXJ0X2VxdWFscyh0
VHJlZS5jNC5hc3NpZ25lZFNsb3QsIG51bGwpOworICB0VHJlZS5ob3N0LmFwcGVuZCh0VHJlZS5j
NCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRy
ZWUuYzEsIHRUcmVlLmM0LCB0VHJlZS5jMl0pOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmM0LmFz
c2lnbmVkU2xvdCwgdFRyZWUuczEpOworfSwgJ0Fzc2lnbmluZyBpbnZhbGlkIG5vZGVzIHNob3Vs
ZCBiZSBhbGxvd2VkLicpOworCit0ZXN0KCgpID0+IHsKKyAgbGV0IHRUcmVlID0gY3JlYXRlVGVz
dFRyZWUodGVzdF9hc3NpZ24pOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVl
LmMyLCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVk
Tm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKworICB0VHJlZS5ob3N0
NC5hcHBlbmQodFRyZWUuczEpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2ln
bmVkTm9kZXMoKSwgW10pOworfSwgJ01vdmluZyBhIHNsb3QgdG8gYSBuZXcgaG9zdCwgdGhlIHNs
b3QgbG9zZXMgaXRzIHByZXZpb3VzbHkgYXNzaWduZWQgc2xvdHRhYmxlcy4nKTsKKwordGVzdCgo
KSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICB0
VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUu
YzIsIHRUcmVlLmMzXSk7CisKKyAgdFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVl
LnMyLCB0VHJlZS5zMSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWRO
b2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOworICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW10pOworCisgIHRUcmVlLnNoYWRvd19y
b290Lmluc2VydEJlZm9yZSh0VHJlZS5zNCwgdFRyZWUuczEpOworICBhc3NlcnRfYXJyYXlfZXF1
YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUu
YzNdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zNC5hc3NpZ25lZE5vZGVzKCksIFtd
KTsKKworICB0VHJlZS5uczEuYXBwZW5kKHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFs
cyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdKTsKK30sICdNb3ZpbmcgYSBzbG90XCdzIHRy
ZWUgb3JkZXIgcG9zaXRpb24gd2l0aGluIGEgc2hhZG93IGhvc3QgaGFzIG5vIGltcGFjdCBvbiBp
dHMgYXNzaWduZWQgc2xvdHRhYmxlcy4nKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9
IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVl
LmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5z
MS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7CisKKyAg
dFRyZWUuaG9zdDQuYXBwZW5kKHRUcmVlLmMxKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJl
ZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMiwgdFRyZWUuYzNdKTsKKyAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyh0VHJlZS5zNC5hc3NpZ25lZE5vZGVzKCksIFtdKTsKKworICB0VHJlZS5zNC5h
c3NpZ24oW3RUcmVlLmMxXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczQuYXNzaWdu
ZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25l
ZFNsb3QsIHRUcmVlLnM0KTsKK30sICdBcHBlbmRpbmcgc2xvdHRhYmxlIHRvIGRpZmZlcmVudCBo
b3N0LCBpdCBsb3NlcyBzbG90IGFzc2lnbm1lbnQuIEl0IGNhbiBiZSByZS1hc3NpZ25lZCB3aXRo
aW4gYSBuZXcgaG9zdC4nKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRl
c3RUcmVlKHRlc3RfYXNzaWduKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Cisg
IGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFd
KTsKKworICB0VHJlZS5zaGFkb3dfcm9vdDQuaW5zZXJ0QmVmb3JlKHRUcmVlLnMxLCB0VHJlZS5z
NCk7CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSk7
CisgIC8vIFRyaWdnZXIgc2xvdCBhc3NpZ25tZW50IG9uIHByZXZpb3VzIHNoYWRvdyByb290Lgor
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW10pOworCisg
IHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9yZSh0VHJlZS5zMSwgdFRyZWUuczIpOworICBh
c3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW10pOworfSwgJ1By
ZXZpb3VzbHkgYXNzaWduZWQgbm9kZSBzaG91bGQgbm90IGJlIGFzc2lnbmVkIGlmIHNsb3QgbW92
ZWQgdG8gYSBuZXcgc2hhZG93IHJvb3QuIFRoZSBzbG90IHJlbWFpbnMgZW1wdHkgd2hlbiBtb3Zl
ZCBiYWNrLCB0cmlnZ2VyIHJlY2FsYy4nKTsKKwordGVzdCgoKSA9PiB7CisgIGxldCB0VHJlZSA9
IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVl
LmMxLCB0VHJlZS5jMSwgdFRyZWUuYzFdKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5z
MS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRy
ZWUuYzEsIHRUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzIsIHRUcmVlLmMxXSk7CisgIGFzc2Vy
dF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVl
LmMyXSk7Cit9LCAnQXNzaWdubWVudCB3aXRoIHRoZSBzYW1lIG5vZGUgaW4gcGFyYW1ldGVycyBz
aG91bGQgYmUgaWdub3JlZCwgZmlyc3Qgb25lIHdpbnMuJyk7CisKK3Rlc3QoKCkgPT4geworICBs
ZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7CisKKyAgdFRyZWUuczEuYXNz
aWduKFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7CisgIHRUcmVlLnMxLnJlbW92ZSgp
OworCisgIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCBudWxsKTsKKyAgYXNz
ZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIG51bGwpOworICBhc3NlcnRfZXF1YWxz
KHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgbnVsbCk7Cit9LCAnUmVtb3ZpbmcgYSBzbG90IGZyb20g
RE9NIHJlc2V0cyBpdHMgc2xvdHRhYmxlXCdzIHNsb3QgYXNzaWdubWVudC4nKTsKKwordGVzdCgo
KSA9PiB7CisgIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKKworICBj
b25zdCBpc29sYXRlZERvY05vZGUgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1M
RG9jdW1lbnQoIiIpLmJvZHk7CisgIGlzb2xhdGVkRG9jTm9kZS5hcHBlbmRDaGlsZCh0VHJlZS5j
MSk7CisgIGNvbnN0IGlzb2xhdGVkRG9jTm9kZTIgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5j
cmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZHk7CisgIGlzb2xhdGVkRG9jTm9kZTIuYXBwZW5kQ2hp
bGQodFRyZWUuczEpOworCisgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSk7
CisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbXSwgJ3Mx
IG5vdCBpbnNpZGUgc2hhZG93IHJvb3QnKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3Np
Z25lZFNsb3QsIG51bGwpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwg
bnVsbCk7CisKKyAgdFRyZWUuc2hhZG93X3Jvb3QuYXBwZW5kQ2hpbGQodFRyZWUuczEpOworICB0
VHJlZS5ob3N0LmFwcGVuZENoaWxkKHRUcmVlLmMxKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyh0
VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKKyAgYXNzZXJ0
X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKyAgYXNzZXJ0X2VxdWFs
cyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKK30sICdOb2RlcyBjYW4gYmUgYXNz
aWduZWQgZXZlbiBpZiBzbG90cyBvciBub2RlcyBhcmVuXCd0IGluIHRoZSBzYW1lIHRyZWUuJyk7
CisKK3Rlc3QoKCkgPT4geworICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2ln
bik7CisKKyAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzJdKTsKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUu
YzJdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsK
KyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKKworICBj
b25zdCBpc29sYXRlZERvY05vZGUgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1M
RG9jdW1lbnQoIiIpLmJvZHk7CisgIGlzb2xhdGVkRG9jTm9kZS5hcHBlbmRDaGlsZCh0VHJlZS5j
MSk7CisgIGNvbnN0IGlzb2xhdGVkRG9jTm9kZTIgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5j
cmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZHk7CisgIGlzb2xhdGVkRG9jTm9kZTIuYXBwZW5kQ2hp
bGQodFRyZWUuczEpOworCisgIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWRO
b2RlcygpLCBbXSwgJ3MxIG5vdCBpbnNpZGUgc2hhZG93IHJvb3QnKTsKKyAgYXNzZXJ0X2VxdWFs
cyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIG51bGwpOworICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMy
LmFzc2lnbmVkU2xvdCwgbnVsbCk7CisKKyAgdFRyZWUuc2hhZG93X3Jvb3QuYXBwZW5kQ2hpbGQo
dFRyZWUuczEpOworICB0VHJlZS5ob3N0LmFwcGVuZENoaWxkKHRUcmVlLmMxKTsKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUu
YzJdKTsKKyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsK
KyAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKK30sICdS
ZW1vdmluZyBhIG5vZGUgZnJvbSB0aGUgZG9jdW1lbnQgZG9lcyBub3QgYnJlYWsgbWFudWFsbHkg
YXNzaWduZWQgc2xvdCBsaW5rYWdlLicpOworCis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1y
ZW1vdmUtY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUt
Y3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzY1ODEpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3QtcmVtb3Zl
LWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLUNPTlNP
TEUgTUVTU0FHRTogU3ludGF4RXJyb3I6IENhbm5vdCBkZWNsYXJlIGEgY29uc3QgdmFyaWFibGUg
dHdpY2U6ICdyb290Jy4KK0NPTlNPTEUgTUVTU0FHRTogTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBv
cGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4KIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4MzQKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVz
dGVkLXNsb3QtcmVtb3ZlLWNyYXNoLmh0bWwJKHJldmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xv
dC1yZW1vdmUtY3Jhc2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIDwhRE9D
VFlQRSBodG1sPgogPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPGxpbmsgcmVsPSJhdXRob3IiIHRp
dGxlPSJNYXNvbiBGcmVlZCIgaHJlZj0ibWFpbHRvOm1hc29uZnJlZWRAY2hyb21pdW0ub3JnIj4K
KzxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJtYWlsdG86bWFzb25mQGNocm9taXVtLm9yZyI+CiA8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vY3JidWcuY29tLzExNTkzMjgiPgogPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJUaGUgcmVuZGVyZXIgc2hvdWxkIG5vdCBjcmFzaC4iPgog
CkBAIC04LDcgKzgsNyBAQAogPHNwYW4+VGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgcmVuZGVyZXIg
ZG9lcyBub3QgY3Jhc2guPC9zcGFuPgogCiA8c2NyaXB0PgotICBjb25zdCByb290ID0gaG9zdC5h
dHRhY2hTaGFkb3coe21vZGU6Im9wZW4ifSk7CisgIGxldCByb290ID0gaG9zdC5hdHRhY2hTaGFk
b3coe21vZGU6Im9wZW4ifSk7CiAgIHJvb3QuaW5uZXJIVE1MID0gYAogICAgIDxzbG90IGlkPW91
dGVyMSBuYW1lPW91dGVyPgogICAgICAgPHNsb3QgaWQ9aW5uZXIxIG5hbWU9aW5uZXI+RmFsbGJh
Y2s8L3Nsb3Q+CkBAIC0yNyw3ICsyNyw3IEBACiAgIC8vIFRoZSByZW5kZXJlciBzaG91bGQgbm90
IGNyYXNoIGhlcmU6CiAgIHJvb3QucXVlcnlTZWxlY3RvcigiI291dGVyMiIpLnJlbW92ZSgpOwog
Ci0gIGNvbnN0IHJvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KTsKKyAgcm9v
dCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiJvcGVuIn0pOwogICByb290LmlubmVySFRNTCA9
IGAKICAgICA8c2xvdCBpZD1vdXRlcjM+CiAgICAgICA8c2xvdCBpZD1pbm5lcjM+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xv
dHMtaW1wZXJhdGl2ZS1hcGktc2xvdGNoYW5nZS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdl
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNCArMCwwIEBACi0K
LUZBSUwgc2xvdGNoYW5nZSBldmVudCBtdXN0IG5vdCBmaXJlIHN5bmNocm9ub3VzbHkuIHRUcmVl
LnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVl
LmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIHNsb3RjaGFuZ2Ug
ZXZlbnQgc2hvdWxkIG5vdCBmaXJlIHdoZW4gYXNzaWdubWVudHMgZG8gbm90IGNoYW5nZSBhc3Np
Z25lZE5vZGVzLiBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+IHsgdFRyZWUuczEu
YXNzaWduKFt0VHJlZS5jNF0pOyB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogdFRyZWUuczEu
YXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzRd
KScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhj
ZXB0aW9uIE5vdEFsbG93ZWRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVm
aW5lZCwgZXhwZWN0ZWQgMAotRkFJTCBzbG90Y2hhbmdlIGV2ZW50IHNob3VsZCBub3QgZmlyZSB3
aGVuIHNhbWUgbm9kZSBpcyBhc3NpZ25lZC4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSknLCAndFRyZWUu
czEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIEZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVu
IHNsb3QncyBhc3NpZ25lZCBub2RlcyBjaGFuZ2VzLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFz
c2lnbicgaXMgdW5kZWZpbmVkKQotRkFJTCBGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgb24gcHJldmlv
dXMgc2xvdCBhbmQgbmV3IHNsb3Qgd2hlbiBub2RlIGlzIHJlYXNzaWduZWQuIHRUcmVlLnMxLmFz
c2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSkn
LCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIEZpcmUgc2xvdGNoYW5nZSBl
dmVudCBvbiBub2RlIGFzc2lnbm1lbnQgYW5kIHdoZW4gYXNzaWduZWQgbm9kZSBpcyByZW1vdmVk
LiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWdu
KFt0VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQotRkFJTCBGaXJl
IHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBvcmRlciBvZiBhc3NpZ25lZCBub2RlcyBjaGFuZ2VzLiB0
VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0
VHJlZS5jMSwgdFRyZWUuYzJdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZB
SUwgRmlyZSBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYXNzaWduZWQgbm9kZSBpcyByZW1vdmVkLiB0
VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0
VHJlZS5jMV0pJywgJ3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQotRkFJTCBGaXJlIHNs
b3RjaGFuZ2UgZXZlbnQgd2hlbiByZW1vdmluZyBhIHNsb3QgZnJvbSBTaGFkb3dzIFJvb3QgdGhh
dCBjaGFuZ2VzIGl0cyBhc3NpZ25lZCBub2Rlcy4gdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJlZS5zMS5hc3Np
Z24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgTm8gc2xvdGNoYW5nZSBldmVudCB3aGVuIGFkZGluZyBv
ciByZW1vdmluZyBhbiBlbXB0eSBzbG90LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAwIGJ1dCBn
b3QgMQotRkFJTCBObyBzbG90Y2hhbmdlIGV2ZW50IHdoZW4gYWRkaW5nIGFub3RoZXIgc2xvdGFi
bGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDAgYnV0IGdvdCAxCi1GQUlMIEZpcmUgc2xvdGNo
YW5nZSBldmVudCB3aGVuIGFzc2lnbiBub2RlIHRvIG5lc3RlZCBzbG90LCBlbnN1cmUgZXZlbnQg
YnViYmxlcyB1cHMuIHRUcmVlLnMzLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJl
ZS5zMy5hc3NpZ24oW3RUcmVlLnMxXSknLCAndFRyZWUuczMuYXNzaWduJyBpcyB1bmRlZmluZWQp
Ci0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRlbnRhdGl2ZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLWFwaS1zbG90Y2hhbmdlLnRlbnRhdGl2ZS5odG1s
CShyZXZpc2lvbiAyNzY1ODEpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMtaW1wZXJhdGl2ZS1hcGktc2xvdGNoYW5nZS50ZW50
YXRpdmUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDM1OCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTx0aXRsZT5TaGFkb3cgRE9NOiBJbXBlcmF0aXZlIFNsb3QgQVBJIHNsb3RjaGFuZ2UgZXZl
bnQ8L3RpdGxlPgotPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iWXUgSGFuIiBocmVmPSJtYWls
dG86eXV6aGVoYW5AY2hyb21pdW0ub3JnIj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kb20u
c3BlYy53aGF0d2cub3JnLyNzaWduYWxpbmctc2xvdC1jaGFuZ2UiPgotPHNjcmlwdCBzcmM9InJl
c291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KLQotPGRpdiBpZD0idGVzdF9zbG90Y2hh
bmdlIj4KLSAgPGRpdiBpZD0iaG9zdCI+Ci0gICAgPHRlbXBsYXRlIGlkPSJzaGFkb3dfcm9vdCIg
ZGF0YS1tb2RlPSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KLSAgICAgIDxz
bG90IGlkPSJzMSI+PGRpdiBpZD0iZmIiPmZhbGxiYWNrPC9kaXY+PC9zbG90PgotICAgICAgPHNs
b3QgaWQ9InMyIj48L3Nsb3Q+Ci0gICAgICA8c2xvdCBpZD0iczMiPjwvc2xvdD4KLSAgICA8L3Rl
bXBsYXRlPgotICAgIDxkaXYgaWQ9ImMxIj48L2Rpdj4KLSAgICA8ZGl2IGlkPSJjMiI+PC9kaXY+
Ci0gIDwvZGl2PgotICA8ZGl2IGlkPSJjNCI+PC9kaXY+Ci08L2Rpdj4KLQotPHNjcmlwdD4KLWZ1
bmN0aW9uIGdldERhdGFDb2xsZWN0aW9uKCkgewotICByZXR1cm4gewotICAgIHMxRXZlbnRDb3Vu
dDogMCwKLSAgICBzMkV2ZW50Q291bnQ6IDAsCi0gICAgczNFdmVudENvdW50OiAwLAotICAgIHMx
UmVzb2x2ZUZuOiBudWxsLAotICAgIHMyUmVzb2x2ZUZuOiBudWxsLAotICAgIHMzUmVzb2x2ZUZu
OiBudWxsLAotICB9Ci19Ci0KLWZ1bmN0aW9uIHNldHVwU2hhZG93RE9NKGlkLCB0ZXN0LCBkYXRh
KSB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKGlkKTsKLSAgdFRyZWUuczEuYWRkRXZl
bnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIChldmVudCkgPT4gewotICAgIGlmICghZXZlbnQuaXNG
YWtlRXZlbnQpIHsKLSAgICAgIHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgYXNz
ZXJ0X2VxdWFscyhldmVudC50eXBlLCAnc2xvdGNoYW5nZScsICdzbG90Y2hhbmdlIGV2ZW50XCdz
IHR5cGUgbXVzdCBiZSAic2xvdGNoYW5nZSInKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2
ZW50LnRhcmdldCwgdFRyZWUuczEsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHRhcmdldCBtdXN0IGJl
IHRoZSBzbG90IGVsZW1lbnQnKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnJlbGF0
ZWRUYXJnZXQsIHVuZGVmaW5lZCwgJ3Nsb3RjaGFuZ2UgbXVzdCBub3Qgc2V0IHJlbGF0ZWRUYXJn
ZXQnKTsKLSAgICAgIH0pOwotICAgICAgZGF0YS5zMUV2ZW50Q291bnQrKzsKLSAgICB9Ci0gICAg
ZGF0YS5zMVJlc29sdmVGbigpOwotICB9KTsKLSAgdFRyZWUuczIuYWRkRXZlbnRMaXN0ZW5lcign
c2xvdGNoYW5nZScsIChldmVudCkgPT4gewotICAgIGlmICghZXZlbnQuaXNGYWtlRXZlbnQpIHsK
LSAgICAgIHRlc3Quc3RlcChmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscyhl
dmVudC50eXBlLCAnc2xvdGNoYW5nZScsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHR5cGUgbXVzdCBi
ZSAic2xvdGNoYW5nZSInKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnRhcmdldCwg
dFRyZWUuczIsICdzbG90Y2hhbmdlIGV2ZW50XCdzIHRhcmdldCBtdXN0IGJlIHRoZSBzbG90IGVs
ZW1lbnQnKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIHVu
ZGVmaW5lZCwgJ3Nsb3RjaGFuZ2UgbXVzdCBub3Qgc2V0IHJlbGF0ZWRUYXJnZXQnKTsKLSAgICAg
IH0pOwotICAgICAgZGF0YS5zMkV2ZW50Q291bnQrKzsKLSAgICB9Ci0gICAgZGF0YS5zMlJlc29s
dmVGbigpOwotICB9KTsKLSAgdFRyZWUuczMuYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScs
IChldmVudCkgPT4gewotICAgIGlmICghZXZlbnQuaXNGYWtlRXZlbnQpIHsKLSAgICAgIHRlc3Qu
c3RlcChmdW5jdGlvbiAoKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudHlwZSwgJ3Ns
b3RjaGFuZ2UnLCAnc2xvdGNoYW5nZSBldmVudFwncyB0eXBlIG11c3QgYmUgInNsb3RjaGFuZ2Ui
Jyk7Ci0gICAgICAgIC8vIGxpc3RlbiB0byBidWJibGluZyBldmVudHMuCi0gICAgICAgIGFzc2Vy
dF9lcXVhbHMoZXZlbnQucmVsYXRlZFRhcmdldCwgdW5kZWZpbmVkLCAnc2xvdGNoYW5nZSBtdXN0
IG5vdCBzZXQgcmVsYXRlZFRhcmdldCcpOwotICAgICAgfSk7Ci0gICAgICBkYXRhLnMzRXZlbnRD
b3VudCsrOwotICAgIH0KLSAgICBkYXRhLnMzUmVzb2x2ZUZuKCk7Ci0gIH0pOwotICByZXR1cm4g
dFRyZWU7Ci19Ci0KLWZ1bmN0aW9uIG1vbml0b3JTbG90cyhkYXRhKSB7Ci0gICAgY29uc3QgczFQ
cm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewotICAgICAgZGF0YS5z
MVJlc29sdmVGbiA9IHJlc29sdmU7Ci0gICAgfSk7Ci0gICAgY29uc3QgczJQcm9taXNlID0gbmV3
IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewotICAgICAgZGF0YS5zMlJlc29sdmVGbiA9
IHJlc29sdmU7Ci0gICAgfSk7Ci0gICAgY29uc3QgczNQcm9taXNlID0gbmV3IFByb21pc2UoKHJl
c29sdmUsIHJlamVjdCkgPT4gewotICAgICAgZGF0YS5zM1Jlc29sdmVGbiA9IHJlc29sdmU7Ci0g
ICAgfSk7Ci0gICAgcmV0dXJuIFtzMVByb21pc2UsIHMyUHJvbWlzZSwgczNQcm9taXNlXTsKLX0K
LTwvc2NyaXB0PgotCi08c2NyaXB0PgotLy8gVGVzdHM6Ci1hc3luY190ZXN0KCh0ZXN0KSA9PiB7
Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1
cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlz
ZSwgczJQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLQotICB0VHJlZS5zMS5hc3NpZ24o
W3RUcmVlLmMxXSk7Ci0gIHRUcmVlLnMyLmFzc2lnbihbdFRyZWUuYzJdKTsKLQotICBhc3NlcnRf
ZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAwLCAnc2xvdGNoYW5nZSBldmVudCBtdXN0IG5vdCBi
ZSBmaXJlZCBzeW5jaHJvbm91c2x5Jyk7Ci0gIGFzc2VydF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291
bnQsIDApOwotCi0gIFByb21pc2UuYWxsKFtzMVByb21pc2UsIHMyUHJvbWlzZV0pLnRoZW4odGVz
dC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRD
b3VudCwgMSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRDb3VudCwgMSk7Ci0gIH0p
KTsKLX0sICdzbG90Y2hhbmdlIGV2ZW50IG11c3Qgbm90IGZpcmUgc3luY2hyb25vdXNseS4nKTsK
LQotYXN5bmNfdGVzdCgodGVzdCkgPT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rp
b24oKTsKLSAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0
LCBkYXRhKTsKLSAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0
YSk7Ci0KLSAgYXNzZXJ0X3Rocm93c19kb20oJ05vdEFsbG93ZWRFcnJvcicsICgpID0+IHsgdFRy
ZWUuczEuYXNzaWduKFt0VHJlZS5jNF0pOyB9KTsKLSAgdFRyZWUuczIuYXNzaWduKFtdKTsKLSAg
dFRyZWUuaG9zdC5pbnNlcnRCZWZvcmUodFRyZWUuYzQsIHRUcmVlLmMxKTsKLQotICBQcm9taXNl
LmFsbChbczFQcm9taXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkg
PT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDApOwotICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5zMkV2ZW50Q291bnQsIDApOwotICB9KSk7Ci0KLSAgLy8gdXNlIGZha2Ug
ZXZlbnQgdG8gdHJpZ2dlciBldmVudCBoYW5kbGVyLgotICBsZXQgZmFrZUV2ZW50ID0gbmV3IEV2
ZW50KCdzbG90Y2hhbmdlJyk7Ci0gIGZha2VFdmVudC5pc0Zha2VFdmVudCA9IHRydWU7Ci0gIHRU
cmVlLnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLSAgdFRyZWUuczIuZGlzcGF0Y2hFdmVu
dChmYWtlRXZlbnQpOwotfSwgJ3Nsb3RjaGFuZ2UgZXZlbnQgc2hvdWxkIG5vdCBmaXJlIHdoZW4g
YXNzaWdubWVudHMgZG8gbm90IGNoYW5nZSBhc3NpZ25lZE5vZGVzLicpOwotCi1hc3luY190ZXN0
KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOwotICBsZXQg
dFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsdGVzdCwgZGF0YSk7Ci0gIGxl
dCBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLQotICB0VHJlZS5zMS5hc3NpZ24o
W3RUcmVlLmMxLCB0VHJlZS5jMl0pOwotCi0gIHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5j
KCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAxKTsKLQotICAg
IFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwotICAgIHRUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzEsIHRUcmVlLmMyXSk7Ci0gICAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRy
ZWUuYzEsIHRUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzJdKTsKLQotICAgIHMxUHJvbWlzZS50
aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhkYXRh
LnMxRXZlbnRDb3VudCwgMSk7Ci0gICAgfSkpOwotCi0gICAgbGV0IGZha2VFdmVudCA9IG5ldyBF
dmVudCgnc2xvdGNoYW5nZScpOwotICAgIGZha2VFdmVudC5pc0Zha2VFdmVudCA9IHRydWU7Ci0g
ICAgdFRyZWUuczEuZGlzcGF0Y2hFdmVudChmYWtlRXZlbnQpOwotICB9KSk7Ci0KLX0sICdzbG90
Y2hhbmdlIGV2ZW50IHNob3VsZCBub3QgZmlyZSB3aGVuIHNhbWUgbm9kZSBpcyBhc3NpZ25lZC4n
KTsKLQotYXN5bmNfdGVzdCgodGVzdCkgPT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxl
Y3Rpb24oKTsKLSAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0
ZXN0LCBkYXRhKTsKLSAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMo
ZGF0YSk7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwotICB0VHJlZS5zMi5hc3Np
Z24oW3RUcmVlLmMyXSk7Ci0KLSAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNlXSku
dGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEu
czFFdmVudENvdW50LCAxKTsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAx
KTsKLSAgfSkpOwotfSwgIkZpcmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIHNsb3QncyBhc3NpZ25l
ZCBub2RlcyBjaGFuZ2VzLiIpOwotCi1hc3luY190ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNvbnN0IGRh
dGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRvd0RPTSh0
ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZSwgczJQcm9taXNl
XSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7
Ci0KLSAgczFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4gewotICAgIGFzc2VydF9l
cXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOwotCi0gICAgW3MxUHJvbWlzZSwgczJQcm9taXNl
XSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLSAgICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMxXSk7
Ci0KLSAgICBQcm9taXNlLmFsbChbczFQcm9taXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Quc3Rl
cF9mdW5jX2RvbmUoKCkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3Vu
dCwgMik7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAxKTsKLSAgICB9
KSk7Ci0gIH0pKTsKLX0sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgb24gcHJldmlvdXMgc2xvdCBh
bmQgbmV3IHNsb3Qgd2hlbiBub2RlIGlzIHJlYXNzaWduZWQuIik7Ci0KLWFzeW5jX3Rlc3QoKHRl
c3QpID0+IHsKLSAgY29uc3QgZGF0YSA9IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJl
ZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBb
czFQcm9taXNlXSA9IG1vbml0b3JTbG90cyhkYXRhKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RU
cmVlLmMxXSk7Ci0KLSAgczFQcm9taXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4gewotICAg
IGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDEpOwotCi0gICAgW3MxUHJvbWlzZV0g
PSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0gICAgdFRyZWUuczEuYXNzaWduKFtdKTsKLQotICAgIHMx
UHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgICAgYXNzZXJ0X2Vx
dWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMik7Ci0gICAgfSkpOwotICB9KSk7Ci19LCAiRmlyZSBz
bG90Y2hhbmdlIGV2ZW50IG9uIG5vZGUgYXNzaWdubWVudCBhbmQgd2hlbiBhc3NpZ25lZCBub2Rl
IGlzIHJlbW92ZWQuIik7Ci0KLWFzeW5jX3Rlc3QoKHRlc3QpID0+IHsKLSAgY29uc3QgZGF0YSA9
IGdldERhdGFDb2xsZWN0aW9uKCk7Ci0gIGxldCB0VHJlZSA9IHNldHVwU2hhZG93RE9NKHRlc3Rf
c2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxldCBbczFQcm9taXNlXSA9IG1vbml0b3JTbG90
cyhkYXRhKTsKLQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMl0pOwotCi0g
IHMxUHJvbWlzZS50aGVuKHRlc3Quc3RlcF9mdW5jKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxz
KGRhdGEuczFFdmVudENvdW50LCAxKTsKLQotICAgIFtzMVByb21pc2VdID0gbW9uaXRvclNsb3Rz
KGRhdGEpOwotICAgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzIsIHRUcmVlLmMxXSk7Ci0KLSAg
ICBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5zMUV2ZW50Q291bnQsIDIpOwotICAgIH0pKTsKLSAgfSkpOwotfSwgIkZp
cmUgc2xvdGNoYW5nZSBldmVudCB3aGVuIG9yZGVyIG9mIGFzc2lnbmVkIG5vZGVzIGNoYW5nZXMu
Iik7Ci0KLXByb21pc2VfdGVzdCgodGVzdCkgPT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNv
bGxlY3Rpb24oKTsKLSAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdl
LCB0ZXN0LCBkYXRhKTsKLSAgbGV0IFtzMVByb21pc2VdID0gbW9uaXRvclNsb3RzKGRhdGEpOwot
Ci0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKLQotICByZXR1cm4gczFQcm9taXNlLnRo
ZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5zMUV2ZW50
Q291bnQsIDEpOwotCi0gICAgW3MxUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0gICAg
dFRyZWUuYzEucmVtb3ZlKCk7Ci0KLSAgICByZXR1cm4gczFQcm9taXNlOwotICB9KSkKLSAgLnRo
ZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZl
bnRDb3VudCwgMik7Ci0gIH0pKTsKLX0sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhc3Np
Z25lZCBub2RlIGlzIHJlbW92ZWQuIik7Ci0KLXByb21pc2VfdGVzdCgodGVzdCkgPT4gewotICBj
b25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKLSAgbGV0IHRUcmVlID0gc2V0dXBTaGFk
b3dET00odGVzdF9zbG90Y2hhbmdlLCB0ZXN0LCBkYXRhKTsKLSAgW3MxUHJvbWlzZV0gPSBtb25p
dG9yU2xvdHMoZGF0YSk7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwotCi0gIHJl
dHVybiBzMVByb21pc2UudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7Ci0KLSAgICBbczFQcm9taXNlXSA9IG1vbml0b3JT
bG90cyhkYXRhKTsKLSAgICB0VHJlZS5zMS5yZW1vdmUoKTsKLQotICAgIHJldHVybiBzMVByb21p
c2U7Ci0gIH0pKQotICAudGhlbih0ZXN0LnN0ZXBfZnVuYygoKSA9PiB7Ci0gICAgICBhc3NlcnRf
ZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAyKTsKLSAgfSkpOwotfSwgIkZpcmUgc2xvdGNoYW5n
ZSBldmVudCB3aGVuIHJlbW92aW5nIGEgc2xvdCBmcm9tIFNoYWRvd3MgUm9vdCB0aGF0IGNoYW5n
ZXMgaXRzIGFzc2lnbmVkIG5vZGVzLiIpOwotCi1hc3luY190ZXN0KCh0ZXN0KSA9PiB7Ci0gIGNv
bnN0IGRhdGEgPSBnZXREYXRhQ29sbGVjdGlvbigpOwotICBsZXQgdFRyZWUgPSBzZXR1cFNoYWRv
d0RPTSh0ZXN0X3Nsb3RjaGFuZ2UsIHRlc3QsIGRhdGEpOwotICBsZXQgW3MxUHJvbWlzZV0gPSBt
b25pdG9yU2xvdHMoZGF0YSk7Ci0KLSAgdFRyZWUuczEucmVtb3ZlKCk7Ci0KLSAgbGV0IGZha2VF
dmVudCA9IG5ldyBFdmVudCgnc2xvdGNoYW5nZScpOwotICBmYWtlRXZlbnQuaXNGYWtlRXZlbnQg
PSB0cnVlOwotICB0VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7Ci0KLSAgczFQcm9t
aXNlLnRoZW4odGVzdC5zdGVwX2Z1bmMoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZGF0YS5z
MkV2ZW50Q291bnQsIDApOwotCi0gICAgW3MxUHJvbWlzZSwgczJQcm9taXNlXSA9IG1vbml0b3JT
bG90cyhkYXRhKTsKLSAgICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUodFRyZWUuczEs
IHRUcmVlLnMyKTsKLQotICAgIHRUcmVlLnMxLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLSAg
ICB0VHJlZS5zMi5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7Ci0KLSAgICBQcm9taXNlLmFsbChb
czFQcm9taXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUoKCkgPT4gewot
ICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMCk7Ci0gICAgICBhc3NlcnRf
ZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAwKTsKLSAgICB9KSk7Ci0gIH0pKTsKLQotfSwgIk5v
IHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhZGRpbmcgb3IgcmVtb3ZpbmcgYW4gZW1wdHkgc2xvdC4i
KTsKLQotYXN5bmNfdGVzdCgodGVzdCkgPT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxl
Y3Rpb24oKTsKLSAgbGV0IHRUcmVlID0gc2V0dXBTaGFkb3dET00odGVzdF9zbG90Y2hhbmdlLCB0
ZXN0LCBkYXRhKTsKLSAgbGV0IFtzMVByb21pc2UsIHMyUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMo
ZGF0YSk7Ci0KLSAgdFRyZWUuaG9zdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKSk7Ci0KLSAgbGV0IGZha2VFdmVudCA9IG5ldyBFdmVudCgnc2xvdGNoYW5nZScpOwot
ICBmYWtlRXZlbnQuaXNGYWtlRXZlbnQgPSB0cnVlOwotICB0VHJlZS5zMS5kaXNwYXRjaEV2ZW50
KGZha2VFdmVudCk7Ci0gIHRUcmVlLnMyLmRpc3BhdGNoRXZlbnQoZmFrZUV2ZW50KTsKLQotICBQ
cm9taXNlLmFsbChbczFQcm9taXNlLCBzMlByb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jKCgp
ID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczFFdmVudENvdW50LCAwKTsKLSAgICBhc3Nl
cnRfZXF1YWxzKGRhdGEuczJFdmVudENvdW50LCAwKTsKLQotICAgIFtzMVByb21pc2UsIHMyUHJv
bWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7Ci0gICAgdFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0
QmVmb3JlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCB0VHJlZS5zMik7Ci0KLSAgICB0
VHJlZS5zMS5kaXNwYXRjaEV2ZW50KGZha2VFdmVudCk7Ci0gICAgdFRyZWUuczIuZGlzcGF0Y2hF
dmVudChmYWtlRXZlbnQpOwotCi0gICAgUHJvbWlzZS5hbGwoW3MxUHJvbWlzZSwgczJQcm9taXNl
XSkudGhlbih0ZXN0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICAgIGFzc2VydF9lcXVhbHMo
ZGF0YS5zMUV2ZW50Q291bnQsIDApOwotICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMyRXZlbnRD
b3VudCwgMCk7Ci0gICAgfSkpOwotICB9KSk7Ci0KLX0sICJObyBzbG90Y2hhbmdlIGV2ZW50IHdo
ZW4gYWRkaW5nIGFub3RoZXIgc2xvdGFibGUuIik7Ci0KLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0
ZXN0X25lc3RlZF9zbG90Y2hhbmdlIj4KLSAgPGRpdj4KLSAgICA8dGVtcGxhdGUgZGF0YS1tb2Rl
PSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KLSAgICAgIDxkaXY+Ci0gICAg
ICAgIDx0ZW1wbGF0ZSBkYXRhLW1vZGU9Im9wZW4iIGRhdGEtc2xvdC1hc3NpZ25tZW50PSJtYW51
YWwiPgotICAgICAgICAgIDxzbG90IGlkPSJzMiI+PC9zbG90PgotICAgICAgICAgIDxzbG90IGlk
PSJzMyI+PC9zbG90PgotICAgICAgICA8L3RlbXBsYXRlPgotICAgICAgICA8c2xvdCBpZD0iczEi
Pjwvc2xvdD4KLSAgICAgIDwvZGl2PgotICAgIDwvdGVtcGxhdGU+Ci0gICAgPGRpdiBpZD0iYzEi
PjwvZGl2PgotICA8L2Rpdj4KLTwvZGl2PgotCi08c2NyaXB0PgotYXN5bmNfdGVzdCgodGVzdCkg
PT4gewotICBjb25zdCBkYXRhID0gZ2V0RGF0YUNvbGxlY3Rpb24oKTsKLSAgbGV0IHRUcmVlID0g
c2V0dXBTaGFkb3dET00odGVzdF9uZXN0ZWRfc2xvdGNoYW5nZSwgdGVzdCwgZGF0YSk7Ci0gIGxl
dCBbczFQcm9taXNlLCBzMlByb21pc2UsIHMzUHJvbWlzZV0gPSBtb25pdG9yU2xvdHMoZGF0YSk7
Ci0KLSAgdFRyZWUuczMuYXNzaWduKFt0VHJlZS5zMV0pOwotCi0gIHMzUHJvbWlzZS50aGVuKHRl
c3Quc3RlcF9mdW5jKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGRhdGEuczNFdmVudENvdW50
LCAxKTsKLSAgICBbczFQcm9taXNlLCBzMlByb21pc2UsIHMzUHJvbWlzZV0gPSBtb25pdG9yU2xv
dHMoZGF0YSk7Ci0KLSAgICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0KLSAgICBQcm9t
aXNlLmFsbChbczFQcm9taXNlLCBzM1Byb21pc2VdKS50aGVuKHRlc3Quc3RlcF9mdW5jX2RvbmUo
KCkgPT4gewotICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnMxRXZlbnRDb3VudCwgMSk7Ci0gICAg
ICBhc3NlcnRfZXF1YWxzKGRhdGEuczNFdmVudENvdW50LCAyKTsKLSAgICB9KSk7Ci0gIH0pKTsK
LX0sICJGaXJlIHNsb3RjaGFuZ2UgZXZlbnQgd2hlbiBhc3NpZ24gbm9kZSB0byBuZXN0ZWQgc2xv
dCwgZW5zdXJlIGV2ZW50IGJ1YmJsZXMgdXBzLiIpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xvdHMtaW1w
ZXJhdGl2ZS1zbG90LWFwaS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90
cy1pbXBlcmF0aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI3
NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLXNsb3QtYXBpLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxOSArMCwwIEBACi0KLUZBSUwgYXR0YWNoU2hhZG93IGNhbiB0
YWtlIHNsb3RBc3NpZ25tZW50IHBhcmFtZXRlci4gYXNzZXJ0X3Rocm93c19qczogb3RoZXJzIHNo
b3VsZCB0aHJvdyBleGNlcHRpb24gZnVuY3Rpb24gIigpID0+IHsKLSAgICB0VHJlZS5ob3N0My5h
dHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicsIHNsb3RBc3NpZ25tZW50OiAnZXhjZXB0aW9uYWwn
IH0pfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbXBlcmF0aXZlIHNsb3QgQVBJIHRocm93cyBleGNl
cHRpb24gd2hlbiBub3Qgc2xvdEFzc2lnbm1lbnQgIT0gJ21hbnVhbCcuIGFzc2VydF90aHJvd3Nf
ZG9tOiBmdW5jdGlvbiAiKCkgPT4geyB0VHJlZS5zMS5hc3NpZ24oW10pOyB9IiB0aHJldyBvYmpl
Y3QgIlR5cGVFcnJvcjogdFRyZWUuczEuYXNzaWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RU
cmVlLnMxLmFzc2lnbihbXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpIiB0aGF0
IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBOb3RBbGxvd2VkRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBp
cyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDAKLUZBSUwgSW1wZXJhdGl2ZSBzbG90IEFQ
SSB0aHJvd3MgZXhjZXB0aW9uIHdoZW4gc2xvdHRhYmxlIHBhcmVudE5vZGUgIT0gc2xvdCdzIGhv
c3QuIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlvbiAiKCkgPT4geyB0VHJlZS5zMi5hc3NpZ24o
W3RUcmVlLmMyXSk7IH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0VHJlZS5zMi5hc3NpZ24g
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pJywgJ3RU
cmVlLnMyLmFzc2lnbicgaXMgdW5kZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24g
Tm90QWxsb3dlZEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBl
eHBlY3RlZCAwCi1GQUlMIEltcGVyYXRpdmUgc2xvdCBBUEkgY2FuIGFzc2lnbiBub2RlcyBpbiBt
YW51YWwgc2xvdCBhc3NpZ25tZW50LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBudWxsIGJ1dCBn
b3QgRWxlbWVudCBub2RlIDxzbG90IGlkPSJzMSI+PC9zbG90PgotRkFJTCBPcmRlciBvZiBzbG90
dGFibGVzIGlzIHByZXNlcnZlZCBpbiBtYW51YWwgc2xvdCBhc3NpZ25tZW50LiB0VHJlZS5zMS5h
c3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwg
dFRyZWUuYzMsIHRUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1G
QUlMIFByZXZpb3VzbHkgYXNzaWduZWQgc2xvdHRhYmxlIGlzIG1vdmVkIHRvIG5ldyBzbG90IHdo
ZW4gaXQncyByZWFzc2lnbmVkLiB0VHJlZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSknLCAndFRy
ZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIE9yZGVyIGFuZCBhc3NpZ25tZW50IG9m
IG5vZGVzIGFyZSBwcmVzZXJ2ZWQgZHVyaW5nIG11bHRpcGxlIGFzc2lnbm1lbnQgaW4gYSByb3cu
IHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24o
W3RUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlMIEFzc2ln
bmluZyBpbnZhbGlkIG5vZGVzIGNhdXNlcyBleGNlcHRpb24gYW5kIHNsb3QgcmV0dXJucyB0byBp
dHMgcHJldmlvdXMgc3RhdGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJOb3RBbGxvd2VkRXJy
b3IiIGJ1dCBnb3QgIlR5cGVFcnJvciIKLUZBSUwgTW92aW5nIGEgc2xvdCB0byBhIG5ldyBob3N0
LCB0aGUgc2xvdCBsb3NlcyBpdHMgcHJldmlvdXNseSBhc3NpZ25lZCBzbG90dGFibGVzLiB0VHJl
ZS5zMS5hc3NpZ24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJl
ZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIE1vdmluZyBhIHNsb3QncyB0cmVlIG9yZGVyIHBvc2l0aW9uIHdpdGhpbiBhIHNo
YWRvdyBob3N0IGhhcyBubyBpbXBhY3Qgb24gaXRzIGFzc2lnbmVkIHNsb3R0YWJsZXMuIHRUcmVl
LnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVl
LmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgQXBwZW5kaW5nIHNsb3R0YWJsZSB0byBkaWZmZXJlbnQgaG9zdCwgaXQgbG9zZXMg
c2xvdCBhc3NpZ25tZW50LiBJdCBjYW4gYmUgcmUtYXNzaWduZWQgd2l0aGluIGEgbmV3IGhvc3Qu
IHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5hc3NpZ24o
W3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKScsICd0VHJlZS5zMS5hc3NpZ24nIGlzIHVu
ZGVmaW5lZCkKLUZBSUwgUHJldmlvdXNseSBhc3NpZ25lZCBub2RlIHNob3VsZCBub3QgYmUgYXNz
aWduZWQgaWYgc2xvdCBtb3ZlZCB0byBhIG5ldyBzaGFkb3cgcm9vdC4gVGhlIHNsb3QgcmVtYWlu
cyBlbXB0eSB3aGVuIG1vdmVkIGJhY2ssIG5vIHRyaWdnZXIgcmVjYWxjLiB0VHJlZS5zMS5hc3Np
Z24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pJywg
J3RUcmVlLnMxLmFzc2lnbicgaXMgdW5kZWZpbmVkKQotRkFJTCBQcmV2aW91c2x5IGFzc2lnbmVk
IG5vZGUgc2hvdWxkIG5vdCBiZSBhc3NpZ25lZCBpZiBzbG90IG1vdmVkIHRvIGEgbmV3IHNoYWRv
dyByb290LiBUaGUgc2xvdCByZW1haW5zIGVtcHR5IHdoZW4gbW92ZWQgYmFjaywgdHJpZ2dlciBy
ZWNhbGMuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0VHJlZS5zMS5h
c3NpZ24oW3RUcmVlLmMxXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEFzc2lnbm1lbnQgd2l0aCB0aGUgc2FtZSBub2RlIGluIHBhcmFtZXRlcnMgc2hvdWxkIGJlIGln
bm9yZWQsIGxhc3Qgb25lIHdpbnMuIHRUcmVlLnMxLmFzc2lnbiBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMSwgdFRyZWUuYzFdKScsICd0
VHJlZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLUZBSUwgUmVtb3ZpbmcgYSBzbG90IGZyb20g
RE9NIHJlc2V0cyBpdHMgc2xvdHRhYmxlJ3Mgc2xvdCBhc3NpZ25tZW50LiB0VHJlZS5zMS5hc3Np
Z24gaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRy
ZWUuYzIsIHRUcmVlLmMzXSknLCAndFRyZWUuczEuYXNzaWduJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEEgc2xvdCBzaG91bGQgYmUgY2xlYXJlZCBvZiBhc3NpZ25lZCBub2RlcyBldmVuIGlmIGl0J3Mg
cmUtaW5zZXJ0ZWQgaW50byB0aGUgc2FtZSBzaGFkb3cgcm9vdC4gdFRyZWUuczEuYXNzaWduIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKScsICd0VHJl
ZS5zMS5hc3NpZ24nIGlzIHVuZGVmaW5lZCkKLQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWltcGVyYXRpdmUtc2xvdC1h
cGkudGVudGF0aXZlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL3Nsb3RzLWltcGVyYXRpdmUtc2xvdC1hcGku
dGVudGF0aXZlLmh0bWwJKHJldmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1pbXBlcmF0aXZlLXNsb3Qt
YXBpLnRlbnRhdGl2ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzA1ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPHRpdGxlPlNoYWRvdyBET006IEltcGVyYXRpdmUgU2xvdCBBUEk8L3RpdGxl
PgotPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iWXUgSGFuIiBocmVmPSJtYWlsdG86eXV6aGVo
YW5AY2hyb21pdW0ub3JnIj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3Jp
cHQ+Ci0KLTxkaXYgaWQ9InRlc3RfYmFzaWMiPgotICA8ZGl2IGlkPSJob3N0MSI+PC9kaXY+Ci0g
IDxkaXYgaWQ9Imhvc3QyIj48L2Rpdj4KLSAgPGRpdiBpZD0iaG9zdDMiPjwvZGl2PgotPC9kaXY+
Ci08c2NyaXB0PgotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRl
c3RfYmFzaWMpOwotICBhc3NlcnRfbm90X2VxdWFscyh0VHJlZS5ob3N0MS5hdHRhY2hTaGFkb3co
eyBtb2RlOiAnb3BlbicsIHNsb3RBc3NpZ25tZW50OiAnbWFudWFsJ30pLAotICAgICAgICAgICAg
ICAgICAgICBudWxsLCAnc2xvdCBhc3NpZ25tZW50IG1hbnVhbCBzaG91bGQgd29yaycpOwotICBh
c3NlcnRfbm90X2VxdWFscyh0VHJlZS5ob3N0Mi5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3Blbics
IHNsb3RBc3NpZ25tZW50OiAnbmFtZSd9KSwKLSAgICAgICAgICAgICAgICAgICAgbnVsbCwgJ3Ns
b3QgYXNzaWdubWVudCBhdXRvIHNob3VsZCB3b3JrJyk7Ci0gIGFzc2VydF90aHJvd3NfanMoVHlw
ZUVycm9yLCAoKSA9PiB7Ci0gICAgdFRyZWUuaG9zdDMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29w
ZW4nLCBzbG90QXNzaWdubWVudDogJ2V4Y2VwdGlvbmFsJyB9KX0sCi0gICAgICAgICAgICAgICAg
J290aGVycyBzaG91bGQgdGhyb3cgZXhjZXB0aW9uJyk7Ci19LCAnYXR0YWNoU2hhZG93IGNhbiB0
YWtlIHNsb3RBc3NpZ25tZW50IHBhcmFtZXRlci4nKTsKLTwvc2NyaXB0PgotCi08ZGl2IGlkPSJ0
ZXN0X2Vycm9ycyI+Ci0gIDxkaXYgaWQ9Imhvc3QxIj4KLSAgICA8dGVtcGxhdGUgZGF0YS1tb2Rl
PSJvcGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibmFtZSI+Ci0gICAgICA8c2xvdCBpZD0iczEi
Pjwvc2xvdD4KLSAgICA8L3RlbXBsYXRlPgotICAgIDxkaXYgaWQ9ImMxIj48L2Rpdj4KLSAgPC9k
aXY+Ci0gIDxkaXYgaWQ9Imhvc3QyIj4KLSAgICA8dGVtcGxhdGUgZGF0YS1tb2RlPSJvcGVuIiBk
YXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KLSAgICAgIDxzbG90IGlkPSJzMiI+PC9zbG90
PgotICAgIDwvdGVtcGxhdGU+Ci0gIDwvZGl2PgotICA8ZGl2IGlkPSJjMiI+PC9kaXY+Ci08L2Rp
dj4KLTxzY3JpcHQ+Ci10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUo
dGVzdF9lcnJvcnMpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkRWxl
bWVudHMoKSwgW3RUcmVlLmMxXSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRT
bG90LCB0VHJlZS5zMSk7Ci0KLSAgYXNzZXJ0X3Rocm93c19kb20oJ05vdEFsbG93ZWRFcnJvcics
ICgpID0+IHsgdFRyZWUuczEuYXNzaWduKFtdKTsgfSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHMo
dFRyZWUuczEuYXNzaWduZWRFbGVtZW50cygpLCBbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2VxdWFs
cyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLX0sICdJbXBlcmF0aXZlIHNsb3Qg
QVBJIHRocm93cyBleGNlcHRpb24gd2hlbiBub3Qgc2xvdEFzc2lnbm1lbnQgIT0gXCdtYW51YWxc
Jy4nKTsKLQotdGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3Rf
ZXJyb3JzKTsKLSAgYXNzZXJ0X3Rocm93c19kb20oJ05vdEFsbG93ZWRFcnJvcicsICgpID0+IHsg
dFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pOyB9KTsKLQotICBhc3NlcnRfdGhyb3dzX2RvbSgn
Tm90QWxsb3dlZEVycm9yJywgKCkgPT4geyB0VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmhvc3QxXSk7
IH0pOwotfSwgJ0ltcGVyYXRpdmUgc2xvdCBBUEkgdGhyb3dzIGV4Y2VwdGlvbiB3aGVuIHNsb3R0
YWJsZSBwYXJlbnROb2RlICE9IHNsb3RcJ3MgaG9zdC4nKTsKLTwvc2NyaXB0PgotCi08ZGl2IGlk
PSJ0ZXN0X2Fzc2lnbiI+Ci0gIDxkaXYgaWQ9Imhvc3QiPgotICAgIDx0ZW1wbGF0ZSBpZD0ic2hh
ZG93X3Jvb3QiIGRhdGEtbW9kZT0ib3BlbiIgZGF0YS1zbG90LWFzc2lnbm1lbnQ9Im1hbnVhbCI+
Ci0gICAgICA8c2xvdCBpZD0iczEiPjwvc2xvdD4KLSAgICAgIDxzbG90IGlkPSJzMiI+PC9zbG90
PgotICAgICAgPHNsb3QgaWQ9InMzIj48L3Nsb3Q+Ci0gICAgPC90ZW1wbGF0ZT4KLSAgICA8ZGl2
IGlkPSJjMSI+PC9kaXY+Ci0gICAgPGRpdiBpZD0iYzIiPjwvZGl2PgotICAgIDxkaXYgaWQ9ImMz
Ij48L2Rpdj4KLSAgICA8ZGl2IGlkPSJuZXN0ZWQiPgotICAgICAgIDxkaXYgaWQ9Im5zMSI+PC9k
aXY+Ci0gICAgPC9kaXY+Ci0gIDwvZGl2PgotICA8ZGl2IGlkPSJjNCI+PC9kaXY+Ci0gIDxkaXYg
aWQ9Imhvc3Q0Ij4KLSAgICA8dGVtcGxhdGUgaWQ9InNoYWRvd19yb290NCIgZGF0YS1tb2RlPSJv
cGVuIiBkYXRhLXNsb3QtYXNzaWdubWVudD0ibWFudWFsIj4KLSAgICAgIDxzbG90IGlkPSJzNCIg
bmFtZT0iczQiPjwvc2xvdD4KLSAgICA8L3RlbXBsYXRlPgotICA8L2Rpdj4KLTwvZGl2PgotPHNj
cmlwdD4KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fz
c2lnbik7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWRFbGVtZW50cygp
LCBbXSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCBudWxsKTsKLQot
ICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRy
ZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJl
ZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLQotICB0VHJlZS5zMi5hc3NpZ24oW3RUcmVl
LmMyLCB0VHJlZS5jM10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVk
Tm9kZXMoKSwgW3RUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNz
aWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRUcmVlLmMzXSk7Ci19LCAnSW1wZXJhdGl2ZSBzbG90
IEFQSSBjYW4gYXNzaWduIG5vZGVzIGluIG1hbnVhbCBzbG90IGFzc2lnbm1lbnQuJyk7Ci0KLXRl
c3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0K
LSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMiwgdFRyZWUuYzMsIHRUcmVlLmMxXSk7Ci0gIGFz
c2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRU
cmVlLmMzLCB0VHJlZS5jMV0pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xv
dCwgdFRyZWUuczEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRy
ZWUuczEpOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEp
OwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyXSk7Ci0gIGFzc2VydF9h
cnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMy
XSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0g
IGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0gIGFzc2Vy
dF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCBudWxsKTsKLQotICB0VHJlZS5zMS5hc3Np
Z24oW3RUcmVlLmMzLCB0VHJlZS5jMiwgdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFs
cyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMywgdFRyZWUuYzIsIHRUcmVlLmMx
XSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0g
IGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci0gIGFzc2Vy
dF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7Ci19LCAnT3JkZXIgb2Yg
c2xvdHRhYmxlcyBpcyBwcmVzZXJ2ZWQgaW4gbWFudWFsIHNsb3QgYXNzaWdubWVudC4nKTsKLQot
dGVzdCgoKSA9PiB7Ci0gIGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsK
LQotICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKTsKLSAg
YXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMiwg
dFRyZWUuYzMsIHRUcmVlLmMxXSk7Ci0KLSAgdFRyZWUuczIuYXNzaWduKFt0VHJlZS5jMl0pOwot
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMz
LCB0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9k
ZXMoKSwgW3RUcmVlLmMyXSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWduZWRTbG90
LCB0VHJlZS5zMSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCB0VHJl
ZS5zMik7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJlZS5zMSk7
Ci0KLSAgdFRyZWUuczMuYXNzaWduKFt0VHJlZS5jM10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7Ci0gIGFzc2VydF9hcnJheV9l
cXVhbHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzJdKTsKLSAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyh0VHJlZS5zMy5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jM10pOwotICBhc3Nl
cnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotICBhc3NlcnRfZXF1
YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczIpOwotICBhc3NlcnRfZXF1YWxzKHRU
cmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczMpOwotfSwgJ1ByZXZpb3VzbHkgYXNzaWduZWQg
c2xvdHRhYmxlIGlzIG1vdmVkIHRvIG5ldyBzbG90IHdoZW4gaXRcJ3MgcmVhc3NpZ25lZC4nKTsK
LQotdGVzdCgoKSA9PiB7Ci0gbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24p
OwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKLSAgdFRyZWUuczIuYXNzaWduKFt0
VHJlZS5jMiwgdFRyZWUuYzFdKTsKLSAgdFRyZWUuczMuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUu
YzNdKTsKLQotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwg
W10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMyLmFzc2lnbmVkTm9kZXMoKSwgW3RU
cmVlLmMyXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczMuYXNzaWduZWROb2Rlcygp
LCBbdFRyZWUuYzEsIHRUcmVlLmMzXSk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzEuYXNzaWdu
ZWRTbG90LCB0VHJlZS5zMyk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90
LCB0VHJlZS5zMik7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzMuYXNzaWduZWRTbG90LCB0VHJl
ZS5zMyk7Ci19LCAnT3JkZXIgYW5kIGFzc2lnbm1lbnQgb2Ygbm9kZXMgYXJlIHByZXNlcnZlZCBk
dXJpbmcgbXVsdGlwbGUgYXNzaWdubWVudCBpbiBhIHJvdy4nKTsKLQotdGVzdCgoKSA9PiB7Ci0g
IGxldCB0VHJlZSA9IGNyZWF0ZVRlc3RUcmVlKHRlc3RfYXNzaWduKTsKLQotICAvLyB0VHJlZS5j
NCBpcyBpbnZhbGlkIGZvciB0VHJlZS5ob3N0IHNsb3QgYXNzaWdubWVudC4KLSAgdHJ5IHsKLSAg
ICB0VHJlZS5zMS5hc3NpZ24oW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzRdKTsKLSAgICBh
c3NlcnRfdW5yZWFjaGVkKCdhc3NpZ24oKSBzaG91bGQgaGF2ZSBmYWlsZWQpICcpOwotICB9IGNh
dGNoIChlcnIpIHsKLSAgICBhc3NlcnRfZXF1YWxzKGVyci5uYW1lLCAnTm90QWxsb3dlZEVycm9y
Jyk7Ci0gIH0KLQotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMo
KSwgW10pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci0g
IGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90LCBudWxsKTsKLSAgYXNzZXJ0X2Vx
dWFscyh0VHJlZS5jNC5hc3NpZ25lZFNsb3QsIG51bGwpOwotCi0gIHRUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJlZS5jMV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRU
cmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyLCB0VHJlZS5jMywgdFRyZWUuYzFdKTsK
LQotICB0cnkgewotICAgIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzRdKTsKLSAgICBhc3NlcnRf
dW5yZWFjaGVkKCdhc3NpZ24oKSBzaG91bGQgaGF2ZSBmYWlsZWQpICcpOwotICB9IGNhdGNoIChl
cnIpIHsKLSAgICBhc3NlcnRfZXF1YWxzKGVyci5uYW1lLCAnTm90QWxsb3dlZEVycm9yJyk7Ci0g
IH0KLQotICAvLyBQcmV2aW91cyBzdGF0ZSBpcyBwcmVzZXJ2ZWQuCi0gIGFzc2VydF9hcnJheV9l
cXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzIsIHRUcmVlLmMzLCB0VHJl
ZS5jMV0pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEp
OwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotICBh
c3NlcnRfZXF1YWxzKHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotfSwgJ0Fzc2ln
bmluZyBpbnZhbGlkIG5vZGVzIGNhdXNlcyBleGNlcHRpb24gYW5kIHNsb3QgcmV0dXJucyB0byBp
dHMgcHJldmlvdXMgc3RhdGUuJyk7Ci0KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVh
dGVUZXN0VHJlZSh0ZXN0X2Fzc2lnbik7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwg
dFRyZWUuYzIsIHRUcmVlLmMzXSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNz
aWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOwotCi0gIHRUcmVl
Lmhvc3Q0LmFwcGVuZCh0VHJlZS5zMSk7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEu
YXNzaWduZWROb2RlcygpLCBbXSk7Ci19LCAnTW92aW5nIGEgc2xvdCB0byBhIG5ldyBob3N0LCB0
aGUgc2xvdCBsb3NlcyBpdHMgcHJldmlvdXNseSBhc3NpZ25lZCBzbG90dGFibGVzLicpOwotCi10
ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwot
Ci0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOwotICBh
c3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0
VHJlZS5jMiwgdFRyZWUuYzNdKTsKLQotICB0VHJlZS5zaGFkb3dfcm9vdC5pbnNlcnRCZWZvcmUo
dFRyZWUuczIsIHRUcmVlLnMxKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3Np
Z25lZE5vZGVzKCksIFt0VHJlZS5jMSwgdFRyZWUuYzIsIHRUcmVlLmMzXSk7Ci0gIGFzc2VydF9h
cnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2RlcygpLCBbXSk7Ci0KLSAgdFRyZWUuc2hh
ZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnM0LCB0VHJlZS5zMSk7Ci0gIGFzc2VydF9hcnJh
eV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUuYzEsIHRUcmVlLmMyLCB0
VHJlZS5jM10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnM0LmFzc2lnbmVkTm9kZXMo
KSwgW10pOwotCi0gIHRUcmVlLm5zMS5hcHBlbmQodFRyZWUuczEpOwotICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW10pOwotfSwgJ01vdmluZyBhIHNsb3Rc
J3MgdHJlZSBvcmRlciBwb3NpdGlvbiB3aXRoaW4gYSBzaGFkb3cgaG9zdCBoYXMgbm8gaW1wYWN0
IG9uIGl0cyBhc3NpZ25lZCBzbG90dGFibGVzLicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0IHRU
cmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihb
dFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5jM10pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRU
cmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxLCB0VHJlZS5jMiwgdFRyZWUuYzNdKTsK
LQotICB0VHJlZS5ob3N0NC5hcHBlbmQodFRyZWUuYzEpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxz
KHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMyLCB0VHJlZS5jM10pOwotICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKHRUcmVlLnM0LmFzc2lnbmVkTm9kZXMoKSwgW10pOwotCi0gIHRUcmVl
LnM0LmFzc2lnbihbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zNC5h
c3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFz
c2lnbmVkU2xvdCwgdFRyZWUuczQpOwotfSwgJ0FwcGVuZGluZyBzbG90dGFibGUgdG8gZGlmZmVy
ZW50IGhvc3QsIGl0IGxvc2VzIHNsb3QgYXNzaWdubWVudC4gSXQgY2FuIGJlIHJlLWFzc2lnbmVk
IHdpdGhpbiBhIG5ldyBob3N0LicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3Jl
YXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzFd
KTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJl
ZS5jMV0pOwotCi0gIHRUcmVlLnNoYWRvd19yb290NC5pbnNlcnRCZWZvcmUodFRyZWUuczEsIHRU
cmVlLnM0KTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCks
IFtdKTsKLSAgLy8gRG9uJ3QgdHJpZ2dlciBzbG90IGFzc2lnbm1lbnQgb24gcHJldmlvdXMgc2hh
ZG93IHJvb3QuCi0gIC8vIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIuYXNzaWduZWROb2Rl
cygpLCBbXSk7Ci0KLSAgdFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnMxLCB0
VHJlZS5zMik7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2Rlcygp
LCBbXSk7Ci19LCAnUHJldmlvdXNseSBhc3NpZ25lZCBub2RlIHNob3VsZCBub3QgYmUgYXNzaWdu
ZWQgaWYgc2xvdCBtb3ZlZCB0byBhIG5ldyBzaGFkb3cgcm9vdC4gVGhlIHNsb3QgcmVtYWlucyBl
bXB0eSB3aGVuIG1vdmVkIGJhY2ssIG5vIHRyaWdnZXIgcmVjYWxjLicpOwotCi10ZXN0KCgpID0+
IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwotCi0gIHRUcmVl
LnMxLmFzc2lnbihbdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5h
c3NpZ25lZE5vZGVzKCksIFt0VHJlZS5jMV0pOwotCi0gIHRUcmVlLnNoYWRvd19yb290NC5pbnNl
cnRCZWZvcmUodFRyZWUuczEsIHRUcmVlLnM0KTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJl
ZS5zMS5hc3NpZ25lZE5vZGVzKCksIFtdKTsKLSAgLy8gVHJpZ2dlciBzbG90IGFzc2lnbm1lbnQg
b24gcHJldmlvdXMgc2hhZG93IHJvb3QuCi0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczIu
YXNzaWduZWROb2RlcygpLCBbXSk7Ci0KLSAgdFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3Jl
KHRUcmVlLnMxLCB0VHJlZS5zMik7Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNz
aWduZWROb2RlcygpLCBbXSk7Ci19LCAnUHJldmlvdXNseSBhc3NpZ25lZCBub2RlIHNob3VsZCBu
b3QgYmUgYXNzaWduZWQgaWYgc2xvdCBtb3ZlZCB0byBhIG5ldyBzaGFkb3cgcm9vdC4gVGhlIHNs
b3QgcmVtYWlucyBlbXB0eSB3aGVuIG1vdmVkIGJhY2ssIHRyaWdnZXIgcmVjYWxjLicpOwotCi10
ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9hc3NpZ24pOwot
Ci0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMxLCB0VHJlZS5jMV0pOwotICBh
c3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMxLmFzc2lnbmVkTm9kZXMoKSwgW3RUcmVlLmMxXSk7
Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMSwgdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJl
ZS5jMiwgdFRyZWUuYzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25l
ZE5vZGVzKCksIFt0VHJlZS5jMiwgdFRyZWUuYzFdKTsKLX0sICdBc3NpZ25tZW50IHdpdGggdGhl
IHNhbWUgbm9kZSBpbiBwYXJhbWV0ZXJzIHNob3VsZCBiZSBpZ25vcmVkLCBsYXN0IG9uZSB3aW5z
LicpOwotCi10ZXN0KCgpID0+IHsKLSAgbGV0IHRUcmVlID0gY3JlYXRlVGVzdFRyZWUodGVzdF9h
c3NpZ24pOwotCi0gIHRUcmVlLnMxLmFzc2lnbihbdFRyZWUuYzEsIHRUcmVlLmMyLCB0VHJlZS5j
M10pOwotICB0VHJlZS5zMS5yZW1vdmUoKTsKLQotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFz
c2lnbmVkU2xvdCwgbnVsbCk7Ci0gIGFzc2VydF9lcXVhbHModFRyZWUuYzIuYXNzaWduZWRTbG90
LCBudWxsKTsKLSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMy5hc3NpZ25lZFNsb3QsIG51bGwpOwot
fSwgJ1JlbW92aW5nIGEgc2xvdCBmcm9tIERPTSByZXNldHMgaXRzIHNsb3R0YWJsZVwncyBzbG90
IGFzc2lnbm1lbnQuJyk7Ci0KLXRlc3QoKCkgPT4gewotICBsZXQgdFRyZWUgPSBjcmVhdGVUZXN0
VHJlZSh0ZXN0X2Fzc2lnbik7Ci0KLSAgdFRyZWUuczEuYXNzaWduKFt0VHJlZS5jMV0pOwotICB0
VHJlZS5zMi5hc3NpZ24oW3RUcmVlLmMyXSk7Ci0gIHRUcmVlLnMzLmFzc2lnbihbdFRyZWUuYzNd
KTsKLSAgdFRyZWUuc2hhZG93X3Jvb3QuaW5zZXJ0QmVmb3JlKHRUcmVlLnMyLCB0VHJlZS5zMSk7
Ci0gIHRUcmVlLnNoYWRvd19yb290Lmluc2VydEJlZm9yZSh0VHJlZS5zMywgdFRyZWUuczEpOwot
Ci0gIGFzc2VydF9hcnJheV9lcXVhbHModFRyZWUuczEuYXNzaWduZWROb2RlcygpLCBbdFRyZWUu
YzFdKTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMi5hc3NpZ25lZE5vZGVzKCksIFtd
KTsKLSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMy5hc3NpZ25lZE5vZGVzKCksIFtdKTsK
LSAgYXNzZXJ0X2VxdWFscyh0VHJlZS5jMS5hc3NpZ25lZFNsb3QsIHRUcmVlLnMxKTsKLSAgYXNz
ZXJ0X2VxdWFscyh0VHJlZS5jMi5hc3NpZ25lZFNsb3QsIG51bGwpOwotICBhc3NlcnRfZXF1YWxz
KHRUcmVlLmMzLmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci0KLSAgdFRyZWUuczIucmVtb3ZlKCk7Ci0K
LSAgYXNzZXJ0X2FycmF5X2VxdWFscyh0VHJlZS5zMS5hc3NpZ25lZE5vZGVzKCksIFt0VHJlZS5j
MV0pOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHRUcmVlLnMzLmFzc2lnbmVkTm9kZXMoKSwgW10p
OwotICBhc3NlcnRfZXF1YWxzKHRUcmVlLmMxLmFzc2lnbmVkU2xvdCwgdFRyZWUuczEpOwotICBh
c3NlcnRfZXF1YWxzKHRUcmVlLmMyLmFzc2lnbmVkU2xvdCwgbnVsbCk7Ci0gIGFzc2VydF9lcXVh
bHModFRyZWUuYzMuYXNzaWduZWRTbG90LCBudWxsKTsKLX0sICdBIHNsb3Qgc2hvdWxkIGJlIGNs
ZWFyZWQgb2YgYXNzaWduZWQgbm9kZXMgZXZlbiBpZiBpdFwncyByZS1pbnNlcnRlZCBpbnRvIHRo
ZSBzYW1lIHNoYWRvdyByb290LicpOwotPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vdzNjLWltcG9ydC5sb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL3czYy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNzY1ODEpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vdzNjLWltcG9ydC5s
b2cJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vUmFuZ2Ut
cHJvdG90eXBlLWluc2VydE5vZGUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9TaGFkb3dSb290LWludGVyZmFjZS5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL1Nsb3R0
YWJsZS1taXhpbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2FjY2Vzc2tleS50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9jYXB0dXJpbmctYW5kLWJ1
YmJsaW5nLWV2ZW50LWxpc3RlbmVycy1hY3Jvc3Mtc2hhZG93LXRyZWVzLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGlyZWN0aW9u
YWxpdHktMDAxLnRlbnRhdGl2ZS1leHBlY3RlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RpcmVjdGlvbmFsaXR5LTAwMS50ZW50
YXRpdmUuaHRtbApAQCAtNDEsMTEgKzQyLDE1IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LWRpc3Bh
dGNoLW9yZGVyLnRlbnRhdGl2ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2ZW50LWluc2lkZS1zaGFkb3ctdHJlZS5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2V2
ZW50LWluc2lkZS1zbG90dGVkLW5vZGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1vbi1wc2V1ZG8tZWxlbWVudC1jcmFz
aC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL2V2ZW50LXBvc3QtZGlzcGF0Y2guaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC13aXRoLXJlbGF0ZWQtdGFyZ2V0
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZm9ybS1jb250cm9sLWZvcm0tYXR0cmlidXRlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZ2V0RWxlbWVudEJ5SWQtZHlu
YW1pYy0wMDEuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2hhZG93LWRvbS9oaXN0b3JpY2FsLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJhdGl2ZS1zbG90LWFwaS1jcmFzaC5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2ltcGVyYXRpdmUtc2xvdC1hcGktc2xvdGNoYW5nZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xvdC1h
cGkuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9pbm5lckhUTUwtc2V0dGVyLnhodG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2lucHV0LWVsZW1lbnQtbGlzdC5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2lu
cHV0LXR5cGUtcmFkaW8uaHRtbApAQCAtNjEsNyArNjYsNSBAQCBMaXN0IG9mIGZpbGVzOgogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90
Y2hhbmdlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vc2xvdHMtZmFsbGJhY2staW4tZG9jdW1lbnQuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1mYWxsYmFj
ay5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL3Nsb3RzLWltcGVyYXRpdmUtYXBpLXNsb3RjaGFuZ2UudGVudGF0aXZlLmh0bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vc2xv
dHMtaW1wZXJhdGl2ZS1zbG90LWFwaS50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9zbG90cy1vdXRzaWRlLXNoYWRv
dy1kb20uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9zbG90cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtYWZ0ZXIt
YXR0YWNoc2hhZG93LnRlbnRhdGl2ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNs
YXJhdGl2ZS1hZnRlci1hdHRhY2hzaGFkb3cudGVudGF0aXZlLmh0bWwJKHJldmlzaW9uIDI3NjU4
MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1hZnRlci1hdHRhY2hzaGFkb3cudGVudGF0aXZl
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDx0
aXRsZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NIGFmdGVyIGF0dGFjaFNoYWRvdzwvdGl0bGU+Ci08
bGluayByZWw9J2F1dGhvcicgdGl0bGU9J01hc29uIEZyZWVkJyBocmVmPSdtYWlsdG86bWFzb25m
cmVlZEBjaHJvbWl1bS5vcmcnPgorPGxpbmsgcmVsPSdhdXRob3InIGhyZWY9J21haWx0bzptYXNv
bmZAY2hyb21pdW0ub3JnJz4KIDxsaW5rIHJlbD0naGVscCcgaHJlZj0naHR0cHM6Ly9naXRodWIu
Y29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSc+CiA8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyc+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyc+PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93
LWRvbS1hdHRhY2htZW50LnRlbnRhdGl2ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9k
ZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWF0dGFjaG1lbnQudGVudGF0aXZlLmh0bWwJKHJldmlzaW9u
IDI3NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWF0dGFjaG1lbnQu
dGVudGF0aXZlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiA8IURPQ1RZUEUg
aHRtbD4KIDx0aXRsZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NIEVsZW1lbnQgQXR0YWNobWVudDwv
dGl0bGU+Ci08bGluayByZWw9J2F1dGhvcicgdGl0bGU9J01hc29uIEZyZWVkJyBocmVmPSdtYWls
dG86bWFzb25mcmVlZEBjaHJvbWl1bS5vcmcnPgorPGxpbmsgcmVsPSdhdXRob3InIGhyZWY9J21h
aWx0bzptYXNvbmZAY2hyb21pdW0ub3JnJz4KIDxsaW5rIHJlbD0naGVscCcgaHJlZj0naHR0cHM6
Ly9naXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSc+CiA8c2NyaXB0IHNyYz0nL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyc+PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRp
dmUtc2hhZG93LWRvbS1iYXNpYy50ZW50YXRpdmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRp
dmUvZGVjbGFyYXRpdmUtc2hhZG93LWRvbS1iYXNpYy50ZW50YXRpdmUuaHRtbAkocmV2aXNpb24g
Mjc2NTgxKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXNoYWRvdy1kb20tYmFzaWMudGVudGF0
aXZlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4K
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KIDx0aXRsZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NPC90
aXRsZT4KLTxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWFzb24gRnJlZWQiIGhyZWY9Im1haWx0
bzptYXNvbmZyZWVkQGNocm9taXVtLm9yZyI+Cis8bGluayByZWw9ImF1dGhvciIgaHJlZj0ibWFp
bHRvOm1hc29uZkBjaHJvbWl1bS5vcmciPgogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2
ZS1zaGFkb3ctZG9tLW9wdC1pbi50ZW50YXRpdmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRp
dmUvZGVjbGFyYXRpdmUtc2hhZG93LWRvbS1vcHQtaW4udGVudGF0aXZlLmh0bWwJKHJldmlzaW9u
IDI3NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLW9wdC1pbi50ZW50
YXRpdmUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1s
PgogPG1ldGEgY2hhcnNldD0idXRmLTgiPgogPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET008
L3RpdGxlPgotPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNYXNvbiBGcmVlZCIgaHJlZj0ibWFp
bHRvOm1hc29uZnJlZWRAY2hyb21pdW0ub3JnIj4KKzxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJt
YWlsdG86bWFzb25mQGNocm9taXVtLm9yZyI+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vZ2l0aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84MzEiPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0
aXZlLXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ct
ZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2
ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xhcmF0aXZlLXdp
dGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRGVjbGFyYXRpdmUgU2hhZG93IERPTTogZGVjbGFyYXRp
dmUgc2hhZG93IHNob3VsZCBmYWlsIGlmIGF0dGFjaFNoYWRvdygpIGFscmVhZHkgY2FsbGVkCisK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS13aXRoLWRpc2FibGVkLXNoYWRvdy50ZW50YXRp
dmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtd2l0aC1kaXNhYmxl
ZC1zaGFkb3cudGVudGF0aXZlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2RlY2xh
cmF0aXZlLXdpdGgtZGlzYWJsZWQtc2hhZG93LnRlbnRhdGl2ZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkRlY2xhcmF0aXZlIFNo
YWRvdyBET00gd2l0aCBzaGFkb3cgZGlzYWJsZWQ8L3RpdGxlPgorPGxpbmsgcmVsPSdhdXRob3In
IGhyZWY9J21haWx0bzptYXNvbmZAY2hyb21pdW0ub3JnJz4KKzxsaW5rIHJlbD0naGVscCcgaHJl
Zj0naHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vaXNzdWVzLzgzMSc+Cis8c2NyaXB0IHNy
Yz0nL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0nL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyc+PC9zY3JpcHQ+CisKKzxib2R5PgorPHNjcmlw
dD4KK2NsYXNzIFNoYWRvd0Rpc2FibGVkRWxlbWVudCBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAg
c3RhdGljIGdldCBkaXNhYmxlZEZlYXR1cmVzKCkgeworICAgIHJldHVybiBbJ3NoYWRvdyddOwor
ICB9Cit9CitjdXN0b21FbGVtZW50cy5kZWZpbmUoJ3NoYWRvdy1kaXNhYmxlZCcsU2hhZG93RGlz
YWJsZWRFbGVtZW50KTsKKzwvc2NyaXB0PgorCis8c2hhZG93LWRpc2FibGVkPgorICA8dGVtcGxh
dGUgc2hhZG93cm9vdD0ib3BlbiI+PHNwYW4gaWQ9aW5zaWRlLz48L3RlbXBsYXRlPgorPC9zaGFk
b3ctZGlzYWJsZWQ+CisKKzxzY3JpcHQ+Cit0ZXN0KHQgPT4geworICBsZXQgZWxlbWVudCA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NoYWRvdy1kaXNhYmxlZCcpOworICBhc3NlcnRfdHJ1ZShl
bGVtZW50IGluc3RhbmNlb2YgU2hhZG93RGlzYWJsZWRFbGVtZW50KTsKKyAgbGV0IHRlbXBsYXRl
ID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZScpOworICBhc3NlcnRfdHJ1ZSghIXRl
bXBsYXRlLCAnRGVjbGFyYXRpdmUgc2hhZG93IGF0dGFjaCBzaG91bGQgZmFpbCwgc2luY2Ugc2hh
ZG93LWRpc2FibGVkIGlzIHRydWUnKTsKKyAgYXNzZXJ0X3RydWUoIWVsZW1lbnQuc2hhZG93Um9v
dCwgJ1NoYWRvdyByb290IHNob3VsZCBub3QgYmUgcHJlc2VudCBvbiBjdXN0b20gZWxlbWVudCcp
OworfSwgJ0RlY2xhcmF0aXZlIFNoYWRvdyBET006IGRlY2xhcmF0aXZlIHNoYWRvdyBzaG91bGQg
ZmFpbCBpZiBhdHRhY2hTaGFkb3coKSBhbHJlYWR5IGNhbGxlZCcpOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZGVjbGFyYXRpdmUvZ2V0aW5uZXJodG1sLnRlbnRhdGl2ZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9kZWNsYXJhdGl2ZS9nZXRpbm5lcmh0bWwudGVudGF0aXZlLmh0bWwJKHJldmlzaW9uIDI3
NjU4MSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kZWNsYXJhdGl2ZS9nZXRpbm5lcmh0bWwudGVudGF0aXZlLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDx0aXRsZT5nZXRJbm5lckhU
TUwgPC90aXRsZT4KLTxsaW5rIHJlbD0nYXV0aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9
J21haWx0bzptYXNvbmZyZWVkQGNocm9taXVtLm9yZyc+Cis8bGluayByZWw9J2F1dGhvcicgaHJl
Zj0nbWFpbHRvOm1hc29uZkBjaHJvbWl1bS5vcmcnPgogPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdo
dHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KIDxzY3JpcHQgc3JjPScv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5l
cmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lu
bmVyaHRtbC1iZWZvcmUtY2xvc2luZy10YWcuaHRtbAkocmV2aXNpb24gMjc2NTgxKQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xh
cmF0aXZlL2lubmVyaHRtbC1iZWZvcmUtY2xvc2luZy10YWcuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRv
dyBET00gaW5uZXJIVE1MPC90aXRsZT4KLTxsaW5rIHJlbD0nYXV0aG9yJyB0aXRsZT0nTWFzb24g
RnJlZWQnIGhyZWY9J21haWx0bzptYXNvbmZyZWVkQGNocm9taXVtLm9yZyc+Ci08bGluayByZWw9
J2hlbHAnIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84MzEnPgot
PHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0PgotCi08Ym9k
eT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBteU9ic2VydmVyKG11dGF0aW9uc0xpc3QpIHsKLSAgZm9y
IChsZXQgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkgewotICAgIGZvciAobGV0IG4gb2YgbXV0
YXRpb24uYWRkZWROb2RlcykgewotICAgICAgaWYgKG4uaWQgPT09ICdzaGFkb3cnKSB7Ci0gICAg
ICAgIG4uaW5uZXJIVE1MID0gIjxzcGFuIGlkPXJlcGxhY2VkPlRoaXMgc2hvdWxkIGJlIGluICZs
dDtkaXY+J3Mgc2hhZG93IHJvb3Q8L3NwYW4+IjsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLX0KLXZh
ciBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKG15T2JzZXJ2ZXIpOwotb2JzZXJ2ZXIu
b2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9
KTsKLTwvc2NyaXB0PgotCi08ZGl2IGlkPWhvc3Q+Ci0gIDx0ZW1wbGF0ZSBpZD1zaGFkb3cgc2hh
ZG93cm9vdD1vcGVuPgotICAgIDxzcGFuIGlkPXRvcmVwbGFjZT5UaGlzIHNob3VsZCBnZXQgcmVt
b3ZlZDwvc3Bhbj4KLSAgICA8c2NyaXB0Pjwvc2NyaXB0PiA8IS0tIEVuc3VyZSBvYnNlcnZlciBy
dW5zIC0tPgotICA8L3RlbXBsYXRlPgotPC9kaXY+Ci0KLTxzY3JpcHQ+Ci10ZXN0KHQgPT4gewot
ICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBvYnNlcnZlci5kaXNjb25uZWN0KCk7IH0pOwot
ICBsZXQgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNob3N0Jyk7Ci0gIGxldCB0ZW1w
bGF0ZSA9IGhvc3QucXVlcnlTZWxlY3RvcigndGVtcGxhdGUnKTsKLSAgYXNzZXJ0X3RydWUoIXRl
bXBsYXRlLCAnRGVjbGFyYXRpdmUgc2hhZG93IHRlbXBsYXRlIHNob3VsZCBub3QgYmUgbGVmdCBv
dmVyJyk7Ci0gIGxldCBzaGFkb3dyb290ID0gaG9zdC5zaGFkb3dSb290OwotICBhc3NlcnRfdHJ1
ZSghIXNoYWRvd3Jvb3QsICdTaGFkb3cgcm9vdCBzaG91bGQgYmUgcHJlc2VudCcpOwotICBhc3Nl
cnRfdHJ1ZSghIXNoYWRvd3Jvb3QucXVlcnlTZWxlY3RvcignI3JlcGxhY2VkJyksJ1RoZSBpbm5l
ckhUTUwgcmVwbGFjZW1lbnQgY29udGVudCBzaG91bGQgYmUgcHJlc2VudCcpOwotICBhc3NlcnRf
dHJ1ZSghc2hhZG93cm9vdC5xdWVyeVNlbGVjdG9yKCcjdG9yZXBsYWNlJyksJ1RoZSBvbGQgcmVw
bGFjZWQgY29udGVudCBzaG91bGQgbm90IGJlIHByZXNlbnQnKTsKLX0sICdEZWNsYXJhdGl2ZSBT
aGFkb3cgRE9NOiBpbm5lckhUTUwgc2hvdWxkIHdvcmsgd2hpbGUgcGFyc2luZyBkZWNsYXJhdGl2
ZSBzaGFkb3cgcm9vdCA8dGVtcGxhdGU+Jyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNs
YXJhdGl2ZS9pbm5lcmh0bWwtYmVmb3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1iZWZvcmUtY2xvc2luZy10YWcu
dGVudGF0aXZlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJo
dG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIERlY2xhcmF0aXZlIFNoYWRvdyBET006IGlubmVy
SFRNTCBzaG91bGQgd29yayB3aGlsZSBwYXJzaW5nIGRlY2xhcmF0aXZlIHNoYWRvdyByb290IDx0
ZW1wbGF0ZT4gYXNzZXJ0X3RydWU6IERlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQg
bm90IGJlIGxlZnQgb3ZlciBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRp
dmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1k
b20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRh
Zy50ZW50YXRpdmUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzx0aXRsZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NIGlubmVySFRNTDwvdGl0bGU+
Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFpbHRvOm1hc29uZkBjaHJvbWl1bS5vcmcnPgor
PGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1
ZXMvODMxJz4KKzxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3Njcmlw
dD4KKworPGJvZHk+Cis8c2NyaXB0PgorZnVuY3Rpb24gbXlPYnNlcnZlcihtdXRhdGlvbnNMaXN0
KSB7CisgIGZvciAobGV0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xpc3QpIHsKKyAgICBmb3IgKGxl
dCBuIG9mIG11dGF0aW9uLmFkZGVkTm9kZXMpIHsKKyAgICAgIGlmIChuLmlkID09PSAnc2hhZG93
JykgeworICAgICAgICBuLmlubmVySFRNTCA9ICI8c3BhbiBpZD1yZXBsYWNlZD5UaGlzIHNob3Vs
ZCBiZSBpbiAmbHQ7ZGl2PidzIHNoYWRvdyByb290PC9zcGFuPiI7CisgICAgICB9CisgICAgfQor
ICB9Cit9Cit2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihteU9ic2VydmVyKTsK
K29ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRy
ZWU6IHRydWUgfSk7Cis8L3NjcmlwdD4KKworPGRpdiBpZD1ob3N0PgorICA8dGVtcGxhdGUgaWQ9
c2hhZG93IHNoYWRvd3Jvb3Q9b3Blbj4KKyAgICA8c3BhbiBpZD10b3JlcGxhY2U+VGhpcyBzaG91
bGQgZ2V0IHJlbW92ZWQ8L3NwYW4+CisgICAgPHNjcmlwdD48L3NjcmlwdD4gPCEtLSBFbnN1cmUg
b2JzZXJ2ZXIgcnVucyAtLT4KKyAgPC90ZW1wbGF0ZT4KKzwvZGl2PgorCis8c2NyaXB0PgordGVz
dCh0ID0+IHsKKyAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgb2JzZXJ2ZXIuZGlzY29ubmVj
dCgpOyB9KTsKKyAgbGV0IGhvc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaG9zdCcpOwor
ICBsZXQgdGVtcGxhdGUgPSBob3N0LnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlJyk7CisgIGFzc2Vy
dF90cnVlKCF0ZW1wbGF0ZSwgJ0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgbm90
IGJlIGxlZnQgb3ZlcicpOworICBsZXQgc2hhZG93cm9vdCA9IGhvc3Quc2hhZG93Um9vdDsKKyAg
YXNzZXJ0X3RydWUoISFzaGFkb3dyb290LCAnU2hhZG93IHJvb3Qgc2hvdWxkIGJlIHByZXNlbnQn
KTsKKyAgYXNzZXJ0X3RydWUoISFzaGFkb3dyb290LnF1ZXJ5U2VsZWN0b3IoJyNyZXBsYWNlZCcp
LCdUaGUgaW5uZXJIVE1MIHJlcGxhY2VtZW50IGNvbnRlbnQgc2hvdWxkIGJlIHByZXNlbnQnKTsK
KyAgYXNzZXJ0X3RydWUoIXNoYWRvd3Jvb3QucXVlcnlTZWxlY3RvcignI3RvcmVwbGFjZScpLCdU
aGUgb2xkIHJlcGxhY2VkIGNvbnRlbnQgc2hvdWxkIG5vdCBiZSBwcmVzZW50Jyk7Cit9LCAnRGVj
bGFyYXRpdmUgU2hhZG93IERPTTogaW5uZXJIVE1MIHNob3VsZCB3b3JrIHdoaWxlIHBhcnNpbmcg
ZGVjbGFyYXRpdmUgc2hhZG93IHJvb3QgPHRlbXBsYXRlPicpOworPC9zY3JpcHQ+Cis8L2JvZHk+
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRv
dy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRlbXBsYXRlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS5odG1s
CShyZXZpc2lvbiAyNzY1ODEpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRl
bXBsYXRlLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NyArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTx0aXRsZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NIGlubmVySFRNTDwvdGl0bGU+Ci08bGlu
ayByZWw9J2F1dGhvcicgdGl0bGU9J01hc29uIEZyZWVkJyBocmVmPSdtYWlsdG86bWFzb25mcmVl
ZEBjaHJvbWl1bS5vcmcnPgotPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5j
b20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KLTxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzJz48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzJz48L3NjcmlwdD4KLQotPGJvZHk+Ci08c2NyaXB0PgotZnVuY3Rpb24gbXlPYnNl
cnZlcihtdXRhdGlvbnNMaXN0KSB7Ci0gIGZvciAobGV0IG11dGF0aW9uIG9mIG11dGF0aW9uc0xp
c3QpIHsKLSAgICBmb3IgKGxldCBuIG9mIG11dGF0aW9uLmFkZGVkTm9kZXMpIHsKLSAgICAgIGlm
IChuLmlkID09PSAnaGFzLWltcGVyYXRpdmUtcm9vdCcpIHsKLSAgICAgICAgY29uc3Qgc2hhZG93
Um9vdCA9IG4uYXR0YWNoU2hhZG93KCB7bW9kZTogJ29wZW4nfSk7Ci0gICAgICB9Ci0gICAgfQot
ICB9Ci19Ci12YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihteU9ic2VydmVyKTsK
LW9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRy
ZWU6IHRydWUgfSk7Ci08L3NjcmlwdD4KLQotPGRpdiBpZD0naGFzLWltcGVyYXRpdmUtcm9vdCc+
Ci0gIDxzY3JpcHQ+PC9zY3JpcHQ+IDwhLS0gRW5zdXJlIG9ic2VydmVyIHJ1bnMsIGF0dGFjaGVz
IGltcGVyYXRpdmUgc2hhZG93IHJvb3QgLS0+Ci0gIDx0ZW1wbGF0ZSBpZD1vcmRpbmFyeXRlbXBs
YXRlIHNoYWRvd3Jvb3Q9b3Blbj4KLSAgICA8c3BhbiBpZD10b3JlcGxhY2U+VGhpcyBzaG91bGQg
Z2V0IHJlbW92ZWQ8L3NwYW4+Ci0gIDwvdGVtcGxhdGU+Ci0gIDxzY3JpcHQ+Ci0gICAgb3JkaW5h
cnl0ZW1wbGF0ZS5pbm5lckhUTUwgPSAnPHNwYW4gaWQ9cmVwbGFjZWQ+VGhpcyBzaG91bGQgcmVw
bGFjZSB0ZW1wbGF0ZSBjb250ZW50czwvc3Bhbj4nOwotICA8L3NjcmlwdD4KLTwvZGl2PgotCi08
c2NyaXB0PgotdGVzdCh0ID0+IHsKLSAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsgb2JzZXJ2
ZXIuZGlzY29ubmVjdCgpOyB9KTsKLSAgbGV0IGhvc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCcjaGFzLWltcGVyYXRpdmUtcm9vdCcpOwotICBsZXQgc2hhZG93cm9vdCA9IGhvc3Quc2hhZG93
Um9vdDsKLSAgYXNzZXJ0X3RydWUoISFzaGFkb3dyb290LCAnU2hhZG93IHJvb3Qgc2hvdWxkIGJl
IHByZXNlbnQnKTsKLSAgYXNzZXJ0X2ZhbHNlKHNoYWRvd3Jvb3QuaGFzQ2hpbGROb2RlcygpLCAn
U2hhZG93IHJvb3Qgc2hvdWxkIG5vdCBjb250YWluIGFueSBjaGlsZHJlbicpOwotICBsZXQgdGVt
cGxhdGUgPSBob3N0LnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlI29yZGluYXJ5dGVtcGxhdGUnKTsK
LSAgYXNzZXJ0X3RydWUoISF0ZW1wbGF0ZSwgJ1NpbmNlIGhvc3QgaGFzIGltcGVyYXRpdmUgcm9v
dCwgPHRlbXBsYXRlPiBzaG91bGQgYmUgbGVmdCBvdmVyJyk7Ci0gIGFzc2VydF9mYWxzZSh0ZW1w
bGF0ZS5oYXNDaGlsZE5vZGVzKCksJ3RlbXBsYXRlIHNob3VsZCBub3QgaGF2ZSBkaXJlY3QgY2hp
bGRyZW4nKTsKLSAgYXNzZXJ0X3RydWUoISF0ZW1wbGF0ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3Io
JyNyZXBsYWNlZCcpLCdUaGUgaW5uZXJIVE1MIHJlcGxhY2VtZW50IGNvbnRlbnQgc2hvdWxkIGJl
IHByZXNlbnQnKTsKLSAgYXNzZXJ0X3RydWUoIXRlbXBsYXRlLmNvbnRlbnQucXVlcnlTZWxlY3Rv
cignI3RvcmVwbGFjZScpLCdUaGUgb2xkIHJlcGxhY2VkIGNvbnRlbnQgc2hvdWxkIG5vdCBiZSBw
cmVzZW50Jyk7Ci19LCAnRGVjbGFyYXRpdmUgU2hhZG93IERPTTogaW5uZXJIVE1MIHNob3VsZCB3
b3JrIG9uIDx0ZW1wbGF0ZSBzaGFkb3dyb290PiB0aGF0IGlzIGxlZnQgb3ZlcicpOwotPC9zY3Jp
cHQ+Ci08L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRlbXBs
YXRlLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL2lubmVy
aHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0bWwtb24tb3JkaW5hcnktdGVtcGxhdGUudGVudGF0
aXZlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBE
ZWNsYXJhdGl2ZSBTaGFkb3cgRE9NOiBpbm5lckhUTUwgc2hvdWxkIHdvcmsgb24gPHRlbXBsYXRl
IHNoYWRvd3Jvb3Q+IHRoYXQgaXMgbGVmdCBvdmVyCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0
bWwtb24tb3JkaW5hcnktdGVtcGxhdGUudGVudGF0aXZlLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xh
cmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS50ZW50YXRpdmUuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLW9uLW9yZGluYXJ5LXRlbXBsYXRlLnRl
bnRhdGl2ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET00gaW5uZXJIVE1MPC90aXRsZT4KKzxs
aW5rIHJlbD0nYXV0aG9yJyBocmVmPSdtYWlsdG86bWFzb25mQGNocm9taXVtLm9yZyc+Cis8bGlu
ayByZWw9J2hlbHAnIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZG9tL2lzc3Vlcy84
MzEnPgorPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMnPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0Pgor
Cis8Ym9keT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBteU9ic2VydmVyKG11dGF0aW9uc0xpc3QpIHsK
KyAgZm9yIChsZXQgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkgeworICAgIGZvciAobGV0IG4g
b2YgbXV0YXRpb24uYWRkZWROb2RlcykgeworICAgICAgaWYgKG4uaWQgPT09ICdoYXMtaW1wZXJh
dGl2ZS1yb290JykgeworICAgICAgICBjb25zdCBzaGFkb3dSb290ID0gbi5hdHRhY2hTaGFkb3co
IHttb2RlOiAnb3Blbid9KTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KK3ZhciBvYnNlcnZlciA9
IG5ldyBNdXRhdGlvbk9ic2VydmVyKG15T2JzZXJ2ZXIpOworb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1
bWVudC5ib2R5LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTsKKzwvc2NyaXB0
PgorCis8ZGl2IGlkPSdoYXMtaW1wZXJhdGl2ZS1yb290Jz4KKyAgPHNjcmlwdD48L3NjcmlwdD4g
PCEtLSBFbnN1cmUgb2JzZXJ2ZXIgcnVucywgYXR0YWNoZXMgaW1wZXJhdGl2ZSBzaGFkb3cgcm9v
dCAtLT4KKyAgPHRlbXBsYXRlIGlkPW9yZGluYXJ5dGVtcGxhdGUgc2hhZG93cm9vdD1vcGVuPgor
ICAgIDxzcGFuIGlkPXRvcmVwbGFjZT5UaGlzIHNob3VsZCBnZXQgcmVtb3ZlZDwvc3Bhbj4KKyAg
PC90ZW1wbGF0ZT4KKyAgPHNjcmlwdD4KKyAgICBvcmRpbmFyeXRlbXBsYXRlLmlubmVySFRNTCA9
ICc8c3BhbiBpZD1yZXBsYWNlZD5UaGlzIHNob3VsZCByZXBsYWNlIHRlbXBsYXRlIGNvbnRlbnRz
PC9zcGFuPic7CisgIDwvc2NyaXB0PgorPC9kaXY+CisKKzxzY3JpcHQ+Cit0ZXN0KHQgPT4gewor
ICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeyBvYnNlcnZlci5kaXNjb25uZWN0KCk7IH0pOwor
ICBsZXQgaG9zdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNoYXMtaW1wZXJhdGl2ZS1yb290
Jyk7CisgIGxldCBzaGFkb3dyb290ID0gaG9zdC5zaGFkb3dSb290OworICBhc3NlcnRfdHJ1ZSgh
IXNoYWRvd3Jvb3QsICdTaGFkb3cgcm9vdCBzaG91bGQgYmUgcHJlc2VudCcpOworICBhc3NlcnRf
ZmFsc2Uoc2hhZG93cm9vdC5oYXNDaGlsZE5vZGVzKCksICdTaGFkb3cgcm9vdCBzaG91bGQgbm90
IGNvbnRhaW4gYW55IGNoaWxkcmVuJyk7CisgIGxldCB0ZW1wbGF0ZSA9IGhvc3QucXVlcnlTZWxl
Y3RvcigndGVtcGxhdGUjb3JkaW5hcnl0ZW1wbGF0ZScpOworICBhc3NlcnRfdHJ1ZSghIXRlbXBs
YXRlLCAnU2luY2UgaG9zdCBoYXMgaW1wZXJhdGl2ZSByb290LCA8dGVtcGxhdGU+IHNob3VsZCBi
ZSBsZWZ0IG92ZXInKTsKKyAgYXNzZXJ0X2ZhbHNlKHRlbXBsYXRlLmhhc0NoaWxkTm9kZXMoKSwn
dGVtcGxhdGUgc2hvdWxkIG5vdCBoYXZlIGRpcmVjdCBjaGlsZHJlbicpOworICBhc3NlcnRfdHJ1
ZSghIXRlbXBsYXRlLmNvbnRlbnQucXVlcnlTZWxlY3RvcignI3JlcGxhY2VkJyksJ1RoZSBpbm5l
ckhUTUwgcmVwbGFjZW1lbnQgY29udGVudCBzaG91bGQgYmUgcHJlc2VudCcpOworICBhc3NlcnRf
dHJ1ZSghdGVtcGxhdGUuY29udGVudC5xdWVyeVNlbGVjdG9yKCcjdG9yZXBsYWNlJyksJ1RoZSBv
bGQgcmVwbGFjZWQgY29udGVudCBzaG91bGQgbm90IGJlIHByZXNlbnQnKTsKK30sICdEZWNsYXJh
dGl2ZSBTaGFkb3cgRE9NOiBpbm5lckhUTUwgc2hvdWxkIHdvcmsgb24gPHRlbXBsYXRlIHNoYWRv
d3Jvb3Q+IHRoYXQgaXMgbGVmdCBvdmVyJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNs
YXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9kZWNsYXJhdGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy5odG1sCShyZXZp
c2lvbiAyNzY1ODEpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10
YWcuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDkxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET006IG1vdmluZyB0aGUgdGVtcGxhdGUgZG9lc24n
dCBjaGFuZ2UgYXR0YWNobWVudCBwb2ludDwvdGl0bGU+Ci08bGluayByZWw9J2F1dGhvcicgdGl0
bGU9J01hc29uIEZyZWVkJyBocmVmPSdtYWlsdG86bWFzb25mcmVlZEBjaHJvbWl1bS5vcmcnPgot
PGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1
ZXMvODMxJz4KLTxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3Njcmlw
dD4KLQotPGJvZHk+Ci08c2NyaXB0PgotZnVuY3Rpb24gbXlPYnNlcnZlcihtdXRhdGlvbnNMaXN0
LCBvYnNlcnZlcikgewotICBmb3IgKGxldCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7Ci0g
ICAgZm9yIChsZXQgbiBvZiBtdXRhdGlvbi5hZGRlZE5vZGVzKSB7Ci0gICAgICBpZiAobi5jbGFz
c05hbWUgPT09ICd0ZW1wbGF0ZScgJiYgIW4uYWxyZWFkeU1vdmVkKSB7Ci0gICAgICAgIG4uYWxy
ZWFkeU1vdmVkID0gdHJ1ZTsKLSAgICAgICAgbGV0IHRlc3RXcmFwcGVyID0gbi5wYXJlbnRFbGVt
ZW50LnBhcmVudEVsZW1lbnQ7Ci0gICAgICAgIGxldCBuZXdIb3N0ID0gdGVzdFdyYXBwZXIucXVl
cnlTZWxlY3RvcignZGl2Lm5ldy1ob3N0Jyk7Ci0gICAgICAgIG5ld0hvc3QuYXBwZW5kQ2hpbGQo
bik7Ci0gICAgICB9Ci0gICAgfQotICB9Ci19Ci0obmV3IE11dGF0aW9uT2JzZXJ2ZXIobXlPYnNl
cnZlcikpLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6
IHRydWUgfSk7Ci0KLWZ1bmN0aW9uIHJ1blRlc3QodGVzdGRpdikgewotICBsZXQgZGVzY3JpcHRp
b24gPSB0ZXN0ZGl2LmdldEF0dHJpYnV0ZSgnZGVzY3JpcHRpb24nKTsKLSAgbGV0IHNob3VsZEF0
dGFjaCA9IHRlc3RkaXYuZ2V0QXR0cmlidXRlKCdzaG91bGRhdHRhY2gnKSA9PSAndHJ1ZSc7Ci0g
IHRlc3QodCA9PiB7Ci0gICAgbGV0IHRlbXBsYXRlID0gdGVzdGRpdi5xdWVyeVNlbGVjdG9yKCcu
dGVtcGxhdGUnKTsKLSAgICBsZXQgb2xkSG9zdCA9IHRlc3RkaXYucXVlcnlTZWxlY3RvcignLm9s
ZC1ob3N0Jyk7Ci0gICAgbGV0IG5ld0hvc3QgPSB0ZXN0ZGl2LnF1ZXJ5U2VsZWN0b3IoJy5uZXct
aG9zdCcpOwotICAgIGxldCBzaGFkb3dyb290ID0gb2xkSG9zdC5zaGFkb3dSb290OwotICAgIGlm
IChzaG91bGRBdHRhY2gpIHsKLSAgICAgIGFzc2VydF90cnVlKCF0ZW1wbGF0ZSwgJ0RlY2xhcmF0
aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgbm90IGJlIGxlZnQgb3ZlcicpOwotICAgICAgYXNz
ZXJ0X3RydWUoIW9sZEhvc3QuY2hpbGRyZW4ubGVuZ3RoLCAnT2xkIGhvc3Qgc2hvdWxkIG5vdCBj
b250YWluIGNoaWxkcmVuJyk7Ci0gICAgICBhc3NlcnRfdHJ1ZSghbmV3SG9zdC5jaGlsZHJlbi5s
ZW5ndGgsICdOZXcgaG9zdCBzaG91bGQgbm90IGNvbnRhaW4gYW55IGNoaWxkcmVuJyk7Ci0gICAg
ICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QsICdTaGFkb3cgcm9vdCBzaG91bGQgYmUgcHJlc2Vu
dCcpOwotICAgICAgYXNzZXJ0X3RydWUoISFzaGFkb3dyb290LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4u
Y29udGVudHMnKSwgJ1RoZSBzaGFkb3cgcm9vdCBzaG91bGQgY29udGFpbiBhIHNwYW4nKTsKLSAg
ICB9IGVsc2UgewotICAgICAgYXNzZXJ0X3RydWUoIW9sZEhvc3QuY2hpbGRyZW4ubGVuZ3RoLCAn
T2xkIGhvc3Qgc2hvdWxkIG5vdCBjb250YWluIGNoaWxkcmVuJyk7Ci0gICAgICBhc3NlcnRfdHJ1
ZSghIW5ld0hvc3QuY2hpbGRyZW4ubGVuZ3RoLCAnTmV3IGhvc3Qgc2hvdWxkIG5vdyBjb250YWlu
IHRoZSB0ZW1wbGF0ZScpOwotICAgICAgYXNzZXJ0X3RydWUoIXNoYWRvd3Jvb3QsICdTaGFkb3cg
cm9vdCBzaG91bGQgbm90IGJlIHByZXNlbnQnKTsKLSAgICAgIGFzc2VydF90cnVlKCEhdGVtcGxh
dGUsICdEZWNsYXJhdGl2ZSBzaGFkb3cgdGVtcGxhdGUgc2hvdWxkIGJlIGxlZnQgb3ZlcicpOwot
ICAgICAgYXNzZXJ0X2VxdWFscyh0ZW1wbGF0ZSwgbmV3SG9zdC5xdWVyeVNlbGVjdG9yKCcudGVt
cGxhdGUnKSwgJ0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgYmUgaW4gdGhlIG5l
dyBob3N0Jyk7Ci0gICAgICBhc3NlcnRfdHJ1ZSghIXRlbXBsYXRlLmNvbnRlbnQucXVlcnlTZWxl
Y3Rvcignc3Bhbi5jb250ZW50cycpLCAnVGhlIHRlbXBsYXRlIHNob3VsZCBzdGlsbCBjb250YWlu
IGl0cyBjb250ZW50Jyk7Ci0gICAgfQotICB9LCBkZXNjcmlwdGlvbik7Ci19Ci08L3NjcmlwdD4K
LQotPHN0eWxlPgotICBkaXYudGVzdCB7Ci0gICAgZGlzcGxheTogbm9uZTsKLSAgfQotPC9zdHls
ZT4KLQotPGRpdiBjbGFzcz10ZXN0IHNob3VsZGF0dGFjaD10cnVlIGRlc2NyaXB0aW9uPSJNb3Zp
bmcgdGhlIHRlbXBsYXRlIG5vZGUgZHVyaW5nIHBhcnNpbmcgc2hvdWxkIGF0dGFjaCB0byBpbml0
aWFsIHBhcmVudCAoY29udGVudCBiZWZvcmUgb2JzZXJ2ZXIpIj4KLSAgPGRpdiBjbGFzcz1uZXct
aG9zdD48L2Rpdj4KLSAgPGRpdiBjbGFzcz1vbGQtaG9zdD4KLSAgICA8dGVtcGxhdGUgY2xhc3M9
J3RlbXBsYXRlJyBzaGFkb3dyb290PW9wZW4+Ci0gICAgICA8c3BhbiBjbGFzcz1jb250ZW50cz5U
ZW1wbGF0ZSBjb250ZW50czwvc3Bhbj4KLSAgICAgIDxzY3JpcHQ+PC9zY3JpcHQ+IDwhLS0gT2Jz
ZXJ2ZXIgcnVucyBoZXJlLCBtb3ZlcyA8dGVtcGxhdGU+IG5vZGUgLS0+Ci0gICAgPC90ZW1wbGF0
ZT4KLSAgPC9kaXY+Ci08L2Rpdj4KLQotPGRpdiBjbGFzcz10ZXN0IHNob3VsZGF0dGFjaD10cnVl
IGRlc2NyaXB0aW9uPSJNb3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUgZHVyaW5nIHBhcnNpbmcgc2hv
dWxkIGF0dGFjaCB0byBpbml0aWFsIHBhcmVudCAoY29udGVudCBhZnRlciBvYnNlcnZlcikiPgot
ICA8ZGl2IGNsYXNzPW5ldy1ob3N0PjwvZGl2PgotICA8ZGl2IGNsYXNzPW9sZC1ob3N0PgotICAg
IDx0ZW1wbGF0ZSBjbGFzcz0ndGVtcGxhdGUnIHNoYWRvd3Jvb3Q9b3Blbj4KLSAgICAgIDxzY3Jp
cHQ+PC9zY3JpcHQ+IDwhLS0gT2JzZXJ2ZXIgcnVucyBoZXJlLCBtb3ZlcyA8dGVtcGxhdGU+IG5v
ZGUgLS0+Ci0gICAgICA8c3BhbiBjbGFzcz1jb250ZW50cz5UZW1wbGF0ZSBjb250ZW50czwvc3Bh
bj4KLSAgICA8L3RlbXBsYXRlPgotICA8L2Rpdj4KLTwvZGl2PgotCi08ZGl2IGNsYXNzPXRlc3Qg
c2hvdWxkYXR0YWNoPWZhbHNlIGRlc2NyaXB0aW9uPSJNb3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUg
ZnJvbSBpbnZhbGlkIHBhcmVudCB0byB2YWxpZCBwYXJlbnQgc2hvdWxkIHN0aWxsIG5vdCBhdHRh
Y2giPgotICA8ZGl2IGNsYXNzPW5ldy1ob3N0PjwvZGl2PgotICA8dmlkZW8gY2xhc3M9b2xkLWhv
c3Q+Ci0gICAgPHRlbXBsYXRlIGNsYXNzPSd0ZW1wbGF0ZScgc2hhZG93cm9vdD1vcGVuPgotICAg
ICAgPHNwYW4gY2xhc3M9Y29udGVudHM+VGVtcGxhdGUgY29udGVudHM8L3NwYW4+Ci0gICAgICA8
c2NyaXB0Pjwvc2NyaXB0PiA8IS0tIE9ic2VydmVyIHJ1bnMgaGVyZSwgbW92ZXMgPHRlbXBsYXRl
PiBub2RlIC0tPgotICAgIDwvdGVtcGxhdGU+Ci0gIDwvdmlkZW8+Ci08L2Rpdj4KLQotPHNjcmlw
dD4KLSAgbGV0IHRlc3RzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGl2LnRlc3QnKTsK
LSAgYXNzZXJ0X3RydWUodGVzdHMubGVuZ3RoID4gMCk7Ci0gIHRlc3RzLmZvckVhY2godCA9PiB7
IHJ1blRlc3QodCk7IH0pOwotPC9zY3JpcHQ+Ci08L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvbW92
ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcudGVu
dGF0aXZlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10ZW1w
bGF0ZS1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZlLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDUgQEAKKworRkFJTCBNb3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUgZHVy
aW5nIHBhcnNpbmcgc2hvdWxkIGF0dGFjaCB0byBpbml0aWFsIHBhcmVudCAoY29udGVudCBiZWZv
cmUgb2JzZXJ2ZXIpIGFzc2VydF90cnVlOiBEZWNsYXJhdGl2ZSBzaGFkb3cgdGVtcGxhdGUgc2hv
dWxkIG5vdCBiZSBsZWZ0IG92ZXIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgTW92aW5n
IHRoZSB0ZW1wbGF0ZSBub2RlIGR1cmluZyBwYXJzaW5nIHNob3VsZCBhdHRhY2ggdG8gaW5pdGlh
bCBwYXJlbnQgKGNvbnRlbnQgYWZ0ZXIgb2JzZXJ2ZXIpIGFzc2VydF90cnVlOiBEZWNsYXJhdGl2
ZSBzaGFkb3cgdGVtcGxhdGUgc2hvdWxkIG5vdCBiZSBsZWZ0IG92ZXIgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK1BBU1MgTW92aW5nIHRoZSB0ZW1wbGF0ZSBub2RlIGZyb20gaW52YWxpZCBwYXJl
bnQgdG8gdmFsaWQgcGFyZW50IHNob3VsZCBzdGlsbCBub3QgYXR0YWNoCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJh
dGl2ZS9tb3ZlLXRlbXBsYXRlLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcudGVu
dGF0aXZlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL21vdmUtdGVtcGxhdGUtYmVm
b3JlLWNsb3NpbmctdGFnLnRlbnRhdGl2ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
OTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkRlY2xhcmF0aXZlIFNoYWRvdyBET006IG1v
dmluZyB0aGUgdGVtcGxhdGUgZG9lc24ndCBjaGFuZ2UgYXR0YWNobWVudCBwb2ludDwvdGl0bGU+
Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFpbHRvOm1hc29uZkBjaHJvbWl1bS5vcmcnPgor
PGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1
ZXMvODMxJz4KKzxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3Njcmlw
dD4KKworPGJvZHk+Cis8c2NyaXB0PgorZnVuY3Rpb24gbXlPYnNlcnZlcihtdXRhdGlvbnNMaXN0
LCBvYnNlcnZlcikgeworICBmb3IgKGxldCBtdXRhdGlvbiBvZiBtdXRhdGlvbnNMaXN0KSB7Cisg
ICAgZm9yIChsZXQgbiBvZiBtdXRhdGlvbi5hZGRlZE5vZGVzKSB7CisgICAgICBpZiAobi5jbGFz
c05hbWUgPT09ICd0ZW1wbGF0ZScgJiYgIW4uYWxyZWFkeU1vdmVkKSB7CisgICAgICAgIG4uYWxy
ZWFkeU1vdmVkID0gdHJ1ZTsKKyAgICAgICAgbGV0IHRlc3RXcmFwcGVyID0gbi5wYXJlbnRFbGVt
ZW50LnBhcmVudEVsZW1lbnQ7CisgICAgICAgIGxldCBuZXdIb3N0ID0gdGVzdFdyYXBwZXIucXVl
cnlTZWxlY3RvcignZGl2Lm5ldy1ob3N0Jyk7CisgICAgICAgIG5ld0hvc3QuYXBwZW5kQ2hpbGQo
bik7CisgICAgICB9CisgICAgfQorICB9Cit9CisobmV3IE11dGF0aW9uT2JzZXJ2ZXIobXlPYnNl
cnZlcikpLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6
IHRydWUgfSk7CisKK2Z1bmN0aW9uIHJ1blRlc3QodGVzdGRpdikgeworICBsZXQgZGVzY3JpcHRp
b24gPSB0ZXN0ZGl2LmdldEF0dHJpYnV0ZSgnZGVzY3JpcHRpb24nKTsKKyAgbGV0IHNob3VsZEF0
dGFjaCA9IHRlc3RkaXYuZ2V0QXR0cmlidXRlKCdzaG91bGRhdHRhY2gnKSA9PSAndHJ1ZSc7Cisg
IHRlc3QodCA9PiB7CisgICAgbGV0IHRlbXBsYXRlID0gdGVzdGRpdi5xdWVyeVNlbGVjdG9yKCcu
dGVtcGxhdGUnKTsKKyAgICBsZXQgb2xkSG9zdCA9IHRlc3RkaXYucXVlcnlTZWxlY3RvcignLm9s
ZC1ob3N0Jyk7CisgICAgbGV0IG5ld0hvc3QgPSB0ZXN0ZGl2LnF1ZXJ5U2VsZWN0b3IoJy5uZXct
aG9zdCcpOworICAgIGxldCBzaGFkb3dyb290ID0gb2xkSG9zdC5zaGFkb3dSb290OworICAgIGlm
IChzaG91bGRBdHRhY2gpIHsKKyAgICAgIGFzc2VydF90cnVlKCF0ZW1wbGF0ZSwgJ0RlY2xhcmF0
aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgbm90IGJlIGxlZnQgb3ZlcicpOworICAgICAgYXNz
ZXJ0X3RydWUoIW9sZEhvc3QuY2hpbGRyZW4ubGVuZ3RoLCAnT2xkIGhvc3Qgc2hvdWxkIG5vdCBj
b250YWluIGNoaWxkcmVuJyk7CisgICAgICBhc3NlcnRfdHJ1ZSghbmV3SG9zdC5jaGlsZHJlbi5s
ZW5ndGgsICdOZXcgaG9zdCBzaG91bGQgbm90IGNvbnRhaW4gYW55IGNoaWxkcmVuJyk7CisgICAg
ICBhc3NlcnRfdHJ1ZSghIXNoYWRvd3Jvb3QsICdTaGFkb3cgcm9vdCBzaG91bGQgYmUgcHJlc2Vu
dCcpOworICAgICAgYXNzZXJ0X3RydWUoISFzaGFkb3dyb290LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4u
Y29udGVudHMnKSwgJ1RoZSBzaGFkb3cgcm9vdCBzaG91bGQgY29udGFpbiBhIHNwYW4nKTsKKyAg
ICB9IGVsc2UgeworICAgICAgYXNzZXJ0X3RydWUoIW9sZEhvc3QuY2hpbGRyZW4ubGVuZ3RoLCAn
T2xkIGhvc3Qgc2hvdWxkIG5vdCBjb250YWluIGNoaWxkcmVuJyk7CisgICAgICBhc3NlcnRfdHJ1
ZSghIW5ld0hvc3QuY2hpbGRyZW4ubGVuZ3RoLCAnTmV3IGhvc3Qgc2hvdWxkIG5vdyBjb250YWlu
IHRoZSB0ZW1wbGF0ZScpOworICAgICAgYXNzZXJ0X3RydWUoIXNoYWRvd3Jvb3QsICdTaGFkb3cg
cm9vdCBzaG91bGQgbm90IGJlIHByZXNlbnQnKTsKKyAgICAgIGFzc2VydF90cnVlKCEhdGVtcGxh
dGUsICdEZWNsYXJhdGl2ZSBzaGFkb3cgdGVtcGxhdGUgc2hvdWxkIGJlIGxlZnQgb3ZlcicpOwor
ICAgICAgYXNzZXJ0X2VxdWFscyh0ZW1wbGF0ZSwgbmV3SG9zdC5xdWVyeVNlbGVjdG9yKCcudGVt
cGxhdGUnKSwgJ0RlY2xhcmF0aXZlIHNoYWRvdyB0ZW1wbGF0ZSBzaG91bGQgYmUgaW4gdGhlIG5l
dyBob3N0Jyk7CisgICAgICBhc3NlcnRfdHJ1ZSghIXRlbXBsYXRlLmNvbnRlbnQucXVlcnlTZWxl
Y3Rvcignc3Bhbi5jb250ZW50cycpLCAnVGhlIHRlbXBsYXRlIHNob3VsZCBzdGlsbCBjb250YWlu
IGl0cyBjb250ZW50Jyk7CisgICAgfQorICB9LCBkZXNjcmlwdGlvbik7Cit9Cis8L3NjcmlwdD4K
KworPHN0eWxlPgorICBkaXYudGVzdCB7CisgICAgZGlzcGxheTogbm9uZTsKKyAgfQorPC9zdHls
ZT4KKworPGRpdiBjbGFzcz10ZXN0IHNob3VsZGF0dGFjaD10cnVlIGRlc2NyaXB0aW9uPSJNb3Zp
bmcgdGhlIHRlbXBsYXRlIG5vZGUgZHVyaW5nIHBhcnNpbmcgc2hvdWxkIGF0dGFjaCB0byBpbml0
aWFsIHBhcmVudCAoY29udGVudCBiZWZvcmUgb2JzZXJ2ZXIpIj4KKyAgPGRpdiBjbGFzcz1uZXct
aG9zdD48L2Rpdj4KKyAgPGRpdiBjbGFzcz1vbGQtaG9zdD4KKyAgICA8dGVtcGxhdGUgY2xhc3M9
J3RlbXBsYXRlJyBzaGFkb3dyb290PW9wZW4+CisgICAgICA8c3BhbiBjbGFzcz1jb250ZW50cz5U
ZW1wbGF0ZSBjb250ZW50czwvc3Bhbj4KKyAgICAgIDxzY3JpcHQ+PC9zY3JpcHQ+IDwhLS0gT2Jz
ZXJ2ZXIgcnVucyBoZXJlLCBtb3ZlcyA8dGVtcGxhdGU+IG5vZGUgLS0+CisgICAgPC90ZW1wbGF0
ZT4KKyAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz10ZXN0IHNob3VsZGF0dGFjaD10cnVl
IGRlc2NyaXB0aW9uPSJNb3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUgZHVyaW5nIHBhcnNpbmcgc2hv
dWxkIGF0dGFjaCB0byBpbml0aWFsIHBhcmVudCAoY29udGVudCBhZnRlciBvYnNlcnZlcikiPgor
ICA8ZGl2IGNsYXNzPW5ldy1ob3N0PjwvZGl2PgorICA8ZGl2IGNsYXNzPW9sZC1ob3N0PgorICAg
IDx0ZW1wbGF0ZSBjbGFzcz0ndGVtcGxhdGUnIHNoYWRvd3Jvb3Q9b3Blbj4KKyAgICAgIDxzY3Jp
cHQ+PC9zY3JpcHQ+IDwhLS0gT2JzZXJ2ZXIgcnVucyBoZXJlLCBtb3ZlcyA8dGVtcGxhdGU+IG5v
ZGUgLS0+CisgICAgICA8c3BhbiBjbGFzcz1jb250ZW50cz5UZW1wbGF0ZSBjb250ZW50czwvc3Bh
bj4KKyAgICA8L3RlbXBsYXRlPgorICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPXRlc3Qg
c2hvdWxkYXR0YWNoPWZhbHNlIGRlc2NyaXB0aW9uPSJNb3ZpbmcgdGhlIHRlbXBsYXRlIG5vZGUg
ZnJvbSBpbnZhbGlkIHBhcmVudCB0byB2YWxpZCBwYXJlbnQgc2hvdWxkIHN0aWxsIG5vdCBhdHRh
Y2giPgorICA8ZGl2IGNsYXNzPW5ldy1ob3N0PjwvZGl2PgorICA8dmlkZW8gY2xhc3M9b2xkLWhv
c3Q+CisgICAgPHRlbXBsYXRlIGNsYXNzPSd0ZW1wbGF0ZScgc2hhZG93cm9vdD1vcGVuPgorICAg
ICAgPHNwYW4gY2xhc3M9Y29udGVudHM+VGVtcGxhdGUgY29udGVudHM8L3NwYW4+CisgICAgICA8
c2NyaXB0Pjwvc2NyaXB0PiA8IS0tIE9ic2VydmVyIHJ1bnMgaGVyZSwgbW92ZXMgPHRlbXBsYXRl
PiBub2RlIC0tPgorICAgIDwvdGVtcGxhdGU+CisgIDwvdmlkZW8+Cis8L2Rpdj4KKworPHNjcmlw
dD4KKyAgbGV0IHRlc3RzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGl2LnRlc3QnKTsK
KyAgYXNzZXJ0X3RydWUodGVzdHMubGVuZ3RoID4gMCk7CisgIHRlc3RzLmZvckVhY2godCA9PiB7
IHJ1blRlc3QodCk7IH0pOworPC9zY3JpcHQ+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvc2Ny
aXB0LWFjY2Vzcy50ZW50YXRpdmUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvc2NyaXB0
LWFjY2Vzcy50ZW50YXRpdmUuaHRtbAkocmV2aXNpb24gMjc2NTgxKQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZlL3Nj
cmlwdC1hY2Nlc3MudGVudGF0aXZlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiA8IURPQ1RZUEUgaHRtbD4KIDx0aXRsZT5EZWNsYXJhdGl2ZSBTaGFkb3cgRE9NPC90aXRsZT4K
LTxsaW5rIHJlbD0nYXV0aG9yJyB0aXRsZT0nTWFzb24gRnJlZWQnIGhyZWY9J21haWx0bzptYXNv
bmZyZWVkQGNocm9taXVtLm9yZyc+Cis8bGluayByZWw9J2F1dGhvcicgaHJlZj0nbWFpbHRvOm1h
c29uZkBjaHJvbWl1bS5vcmcnPgogPGxpbmsgcmVsPSdoZWxwJyBocmVmPSdodHRwczovL2dpdGh1
Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvODMxJz4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS93M2MtaW1wb3J0LmxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvdzNjLWltcG9ydC5sb2cJKHJldmlzaW9uIDI3NjU4MSkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9kZWNsYXJhdGl2ZS93M2MtaW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMTgsOCArMTgs
OSBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9tLWF0
dGFjaG1lbnQudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvZGVjbGFyYXRpdmUtc2hhZG93LWRv
bS1iYXNpYy50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS1zaGFkb3ctZG9t
LW9wdC1pbi50ZW50YXRpdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9kZWNsYXJhdGl2ZS13aXRoLWRpc2Fi
bGVkLXNoYWRvdy50ZW50YXRpdmUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9nZXRpbm5lcmh0bWwudGVudGF0
aXZlLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3No
YWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJodG1sLWJlZm9yZS1jbG9zaW5nLXRhZy5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2Rl
Y2xhcmF0aXZlL2lubmVyaHRtbC1vbi1vcmRpbmFyeS10ZW1wbGF0ZS5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2RlY2xhcmF0aXZl
L21vdmUtdGVtcGxhdGUtYmVmb3JlLWNsb3NpbmctdGFnLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvaW5uZXJo
dG1sLWJlZm9yZS1jbG9zaW5nLXRhZy50ZW50YXRpdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9kZWNsYXJhdGl2ZS9pbm5lcmh0
bWwtb24tb3JkaW5hcnktdGVtcGxhdGUudGVudGF0aXZlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvbW92ZS10
ZW1wbGF0ZS1iZWZvcmUtY2xvc2luZy10YWcudGVudGF0aXZlLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZGVjbGFyYXRpdmUvc2Ny
aXB0LWFjY2Vzcy50ZW50YXRpdmUuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL1NoYWRvd1Jvb3QtZGVsZWdhdGVz
Rm9jdXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRl
c0ZvY3VzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvU2hhZG93Um9vdC1kZWxl
Z2F0ZXNGb2N1cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1IEBACisK
K0ZBSUwgZGVmYXVsdCBkZWxlZ2F0ZXNGb2N1cyB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAoYm9vbGVhbikgZmFsc2UgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgZGVs
ZWdhdGVzRm9jdXMgc2V0IHRvIGZhbHNlIGluIGluaXQgZGljdCBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAoYm9vbGVhbikgZmFsc2UgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwg
ZGVsZWdhdGVzRm9jdXMgc2V0IHRvIHRydWUgaW4gaW5pdCBkaWN0IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIChib29sZWFuKSB0cnVlIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9mb2N1cy9TaGFkb3dSb290LWRlbGVnYXRlc0ZvY3VzLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3Vz
L1NoYWRvd1Jvb3QtZGVsZWdhdGVzRm9jdXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvU2hh
ZG93Um9vdC1kZWxlZ2F0ZXNGb2N1cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjcg
QEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlNoYWRv
d1Jvb3QncyAgZGVsZWdhdGVzRm9jdXMgYXR0cmlidXRlPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Imhvc3QxIj48L2Rp
dj4KKzxkaXYgaWQ9Imhvc3QyIj48L2Rpdj4KKzxkaXYgaWQ9Imhvc3QzIj48L2Rpdj4KKzxzY3Jp
cHQ+Cit0ZXN0KHQgPT4geworICBjb25zdCBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Imhvc3QxIik7CisgIGNvbnN0IHNoYWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTog
ImNsb3NlZCJ9KTsKKyAgYXNzZXJ0X2VxdWFscyhzaGFkb3dSb290LmRlbGVnYXRlc0ZvY3VzLCBm
YWxzZSk7Cit9LCAiZGVmYXVsdCBkZWxlZ2F0ZXNGb2N1cyB2YWx1ZSIpOworCit0ZXN0KHQgPT4g
eworICBjb25zdCBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QyIik7CisgIGNv
bnN0IHNoYWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogImNsb3NlZCIsIGRlbGVn
YXRlc0ZvY3VzOiBmYWxzZX0pOworICBhc3NlcnRfZXF1YWxzKHNoYWRvd1Jvb3QuZGVsZWdhdGVz
Rm9jdXMsIGZhbHNlKTsKK30sICJkZWxlZ2F0ZXNGb2N1cyBzZXQgdG8gZmFsc2UgaW4gaW5pdCBk
aWN0Iik7CisKK3Rlc3QodCA9PiB7CisgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaG9zdDMiKTsKKyAgY29uc3Qgc2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHtt
b2RlOiAiY2xvc2VkIiwgZGVsZWdhdGVzRm9jdXM6IHRydWV9KTsKKyAgYXNzZXJ0X2VxdWFscyhz
aGFkb3dSb290LmRlbGVnYXRlc0ZvY3VzLCB0cnVlKTsKK30sICJkZWxlZ2F0ZXNGb2N1cyBzZXQg
dG8gdHJ1ZSBpbiBpbml0IGRpY3QiKTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXNlbGVj
dG9yLWRlbGVnYXRlc0ZvY3VzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2ZvY3VzLXNlbGVjdG9y
LWRlbGVnYXRlc0ZvY3VzLmh0bWwJKHJldmlzaW9uIDI3NjU4MSkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9mb2N1cy1zZWxl
Y3Rvci1kZWxlZ2F0ZXNGb2N1cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC03LDggKzcsNiBAQAog
ICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVs
dGlwYWdlL3NlbWFudGljcy1vdGhlci5odG1sI3NlbGVjdG9yLWZvY3VzIiAvPgogICA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiAgIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Ci0gIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KICAgPHNjcmlwdCBzcmM9
InJlc291cmNlcy9zaGFkb3ctdXRpbHMuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9j
dXMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL3czYy1pbXBvcnQubG9nCShyZXZp
c2lvbiAyNzY1ODEpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vZm9jdXMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTE1
LDYgKzE1LDcgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9mb2N1cy9E
b2N1bWVudE9yU2hhZG93Um9vdC1hY3RpdmVFbGVtZW50Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZm9jdXMvU2hhZG93Um9vdC1k
ZWxlZ2F0ZXNGb2N1cy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zaGFkb3ctZG9tL2ZvY3VzL2NsaWNrLWZvY3VzLWRlbGVnYXRlc0ZvY3VzLWNsaWNr
LW1ldGhvZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zaGFkb3ctZG9tL2ZvY3VzL2NsaWNrLWZvY3VzLWRlbGVnYXRlc0ZvY3VzLXRhYmluZGV4LXZh
cmllcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
aGFkb3ctZG9tL2ZvY3VzL2NsaWNrLWZvY3VzLWRlbGVnYXRlc0ZvY3VzLXRhYmluZGV4LXplcm8u
aHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vbmVzdGVkLXNsb3QtcmVtb3ZlLWNyYXNoLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xvdC1yZW1vdmUtY3Jhc2gt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzY1ODEpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
bGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9uZXN0ZWQtc2xv
dC1yZW1vdmUtY3Jhc2gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBA
QAotQ09OU09MRSBNRVNTQUdFOiBTeW50YXhFcnJvcjogQ2Fubm90IGRlY2xhcmUgYSBjb25zdCB2
YXJpYWJsZSB0d2ljZTogJ3Jvb3QnLgorQ09OU09MRSBNRVNTQUdFOiBOb3RTdXBwb3J0ZWRFcnJv
cjogVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCww
KSBzaXplIDgwMHgzNApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1vbi1wc2V1ZG8tZWxlbWVudC1j
cmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9ldmVudC1vbi1wc2V1
ZG8tZWxlbWVudC1jcmFzaC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRv
bS9ldmVudC1vbi1wc2V1ZG8tZWxlbWVudC1jcmFzaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNgor
ICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzYKKyAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgyMAorICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDAsMCkgc2l6ZSA3ODR4MjAKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAo
MCwwKSBzaXplIDI5NHgxOQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDI5NHgxOQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjk0OiAiVGhp
cyB0ZXN0IHBhc3NlcyBpZiB0aGUgcmVuZGVyZXIgZG9lcyBub3QgY3Jhc2guIgorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDIwKSBzaXplIDc4NHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL2ltcGVyYXRpdmUtc2xv
dC1hcGktY3Jhc2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vaW1wZXJh
dGl2ZS1zbG90LWFwaS1jcmFzaC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9pbXBlcmF0aXZlLXNsb3QtYXBpLWNyYXNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEyIEBACitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogc2xvdDEuYXNz
aWduIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Nsb3QxLmFzc2lnbihbY2hpbGQxXSknLCAnc2xv
dDEuYXNzaWduJyBpcyB1bmRlZmluZWQpCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDM2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzNgorICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDIwCisgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwwKSBzaXplIDc4NHgwCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDAp
IHNpemUgNzg0eDAKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUg
Nzg0eDIwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIyNngxOQor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyNjogIlRoaXMgdGVzdCBwYXNzZXMg
aWYgaXQgZG9lcyBub3QgY3Jhc2guIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jh
c2gtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vZXZlbnQtb24tcHNldWRv
LWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
ZXZlbnQtb24tcHNldWRvLWVsZW1lbnQtY3Jhc2gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQKKyAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDM0CisgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MTgKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDApIHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAs
MCkgc2l6ZSAyOTR4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAyOTR4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI5NDogIlRoaXMg
dGVzdCBwYXNzZXMgaWYgdGhlIHJlbmRlcmVyIGRvZXMgbm90IGNyYXNoLiIKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwxOCkgc2l6ZSA3ODR4MAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>