<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>74998</bug_id>
          
          <creation_ts>2004-12-19 19:11 0000</creation_ts>
          <short_desc>dev-embedded/gpsim-lcd-0.2.1 ebuild</short_desc>
          <delta_ts>2005-03-25 12:48:19 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Ebuilds</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>74997</dependson>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>aris@0xbadc0de.be</reporter>
          <assigned_to>amd64@gentoo.org</assigned_to>
          <cc>dev-embedded@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>aris@0xbadc0de.be</who>
            <bug_when>2004-12-19 19:11:22 0000</bug_when>
            <thetext>this ebuild brings the new version of lcd and compiles under amd64. others should be tested

Reproducible: Always
Steps to Reproduce:
1.
2.
3.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>aris@0xbadc0de.be</who>
            <bug_when>2004-12-19 19:11:53 0000</bug_when>
            <thetext>Created an attachment (id=46391)
the ebuild
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>aris@0xbadc0de.be</who>
            <bug_when>2004-12-19 19:12:36 0000</bug_when>
            <thetext>Created an attachment (id=46392)
configure stuff patch
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dragonheart@gentoo.org</who>
            <bug_when>2005-01-02 16:36:38 0000</bug_when>
            <thetext>added gnuconfig update.

AMD64 people please keyword this one.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kingtaco@gentoo.org</who>
            <bug_when>2005-01-04 16:23:34 0000</bug_when>
            <thetext>fails for me:

 * Using GNU config files from /usr/share/libtool
 *  No config.sub found in /var/tmp/portage/gpsim-lcd-0.2.1/work/lcd-0.2.1, skipping..
 *  No config.guess found in /var/tmp/portage/gpsim-lcd-0.2.1/work/lcd-0.2.1, skipping..
&gt;&gt;&gt; Source unpacked.
./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=//usr/lib64
creating cache ./config.cache
configure: error: can not find install-sh or install.sh in . ./.. ./../..

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dragonheart@gentoo.org</who>
            <bug_when>2005-01-05 00:15:29 0000</bug_when>
            <thetext>I commited a autoconf/automake method. Hopefully that will work. Sorry for the initial stuff up.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>blubb@gentoo.org</who>
            <bug_when>2005-03-25 12:48:19 0000</bug_when>
            <thetext>finally ~amd64</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>46391</attachid>
            <date>2004-12-19 19:11 0000</date>
            <desc>the ebuild</desc>
            <filename>gpsim-lcd-0.2.1.ebuild</filename>
            <type>application/octet-stream</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA0IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1lbWJlZGRlZC9ncHNpbS1sY2QvZ3BzaW0t
bGNkLTAuMS4xLmVidWlsZCx2IDEuNyAyMDA0LzA2LzI5IDEzOjIzOjE2IHZhcGllciBFeHAgJAoK
aW5oZXJpdCBldXRpbHMKCk1ZX1BOPSIke1BOL2dwc2ltLX0iCk1ZX1A9IiR7TVlfUE59LSR7UFZ9
IgoKREVTQ1JJUFRJT049IjJ4MjAgTENEIGRpc3BsYXkgbW9kdWxlIGZvciBHUFNJTSIKSE9NRVBB
R0U9Imh0dHA6Ly93d3cuZGF0dGFsby5jb20vZ251cGljL2dwc2ltLmh0bWwjbW9kdWxlcyBodHRw
Oi8vd3d3LmRhdHRhbG8uY29tL2dudXBpYy9sY2QuaHRtbCIKU1JDX1VSST0iaHR0cDovL3d3dy5k
YXR0YWxvLmNvbS9nbnVwaWMvJHtNWV9QfS50YXIuZ3oiCgpMSUNFTlNFPSJHUEwtMiIKU0xPVD0i
MCIKS0VZV09SRFM9In54ODYgfmFtZDY0IgpJVVNFPSIiCgpERVBFTkQ9Ij49ZGV2LWVtYmVkZGVk
L2dwc2ltLTAuMjEqIgoKUz0ke1dPUktESVJ9LyR7TVlfUH0KCnNyY191bnBhY2soKSB7Cgl1bnBh
Y2sgJHtBfQoJZXBhdGNoICR7RklMRVNESVJ9LyR7UH0tY29uZmlnLnBhdGNoCn0KCnNyY19pbnN0
YWxsKCkgewoJZWluc3RhbGwgfHwgZGllCglkb2RvYyBBVVRIT1JTIENoYW5nZUxvZyBJTlNUQUxM
IE5FV1MgUkVBRE1FCgljcCAtcmEgJHtTfS9leGFtcGxlcyAke0R9L3Vzci9zaGFyZS9kb2MvJHtQ
Rn0KCWZpbmQgJHtEfS91c3Ivc2hhcmUvZG9jLyR7UEZ9IC1uYW1lICdNYWtlZmlsZSonIC1leGVj
IHJtIC1mIFx7fSBcOwp9Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46392</attachid>
            <date>2004-12-19 19:12 0000</date>
            <desc>configure stuff patch</desc>
            <filename>gpsim-lcd-0.2.1-config.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdXJOIGxjZC0wLjIuMS9jb25maWcuZ3Vlc3MgbGNkLTAuMi4xLW5ldy9jb25maWcuZ3Vl
c3MKLS0tIGxjZC0wLjIuMS9jb25maWcuZ3Vlc3MJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAw
MDAgKzAxMDAKKysrIGxjZC0wLjIuMS1uZXcvY29uZmlnLmd1ZXNzCTIwMDQtMTItMjAgMDQ6NTk6
MDMuODU1ODQ5MzIwICswMTAwCkBAIC0wLDAgKzEsMTMyMSBAQAorIyEgL2Jpbi9zaAorIyBBdHRl
bXB0IHRvIGd1ZXNzIGEgY2Fub25pY2FsIHN5c3RlbSBuYW1lLgorIyAgIENvcHlyaWdodCAoQykg
MTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwKKyMgICAyMDAw
LCAyMDAxLCAyMDAyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCit0aW1lc3RhbXA9
JzIwMDItMDMtMjAnCisKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMg
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorIyBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisjIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUg
dG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNl
IC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyMKKyMgQXMgYSBzcGVj
aWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGlmIHlvdQor
IyBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5z
IGEKKyMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5IEF1dG9jb25mLCB5b3UgbWF5
IGluY2x1ZGUgaXQgdW5kZXIKKyMgdGhlIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91
IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgorCisjIE9yaWdpbmFsbHkgd3JpdHRl
biBieSBQZXIgQm90aG5lciA8cGVyQGJvdGhuZXIuY29tPi4KKyMgUGxlYXNlIHNlbmQgcGF0Y2hl
cyB0byA8Y29uZmlnLXBhdGNoZXNAZ251Lm9yZz4uICBTdWJtaXQgYSBjb250ZXh0CisjIGRpZmYg
YW5kIGEgcHJvcGVybHkgZm9ybWF0dGVkIENoYW5nZUxvZyBlbnRyeS4KKyMKKyMgVGhpcyBzY3Jp
cHQgYXR0ZW1wdHMgdG8gZ3Vlc3MgYSBjYW5vbmljYWwgc3lzdGVtIG5hbWUgc2ltaWxhciB0bwor
IyBjb25maWcuc3ViLiAgSWYgaXQgc3VjY2VlZHMsIGl0IHByaW50cyB0aGUgc3lzdGVtIG5hbWUg
b24gc3Rkb3V0LCBhbmQKKyMgZXhpdHMgd2l0aCAwLiAgT3RoZXJ3aXNlLCBpdCBleGl0cyB3aXRo
IDEuCisjCisjIFRoZSBwbGFuIGlzIHRoYXQgdGhpcyBjYW4gYmUgY2FsbGVkIGJ5IGNvbmZpZ3Vy
ZSBzY3JpcHRzIGlmIHlvdQorIyBkb24ndCBzcGVjaWZ5IGFuIGV4cGxpY2l0IGJ1aWxkIHN5c3Rl
bSB0eXBlLgorCittZT1gZWNobyAiJDAiIHwgc2VkIC1lICdzLC4qLywsJ2AKKwordXNhZ2U9IlwK
K1VzYWdlOiAkMCBbT1BUSU9OXQorCitPdXRwdXQgdGhlIGNvbmZpZ3VyYXRpb24gbmFtZSBvZiB0
aGUgc3lzdGVtIFxgJG1lJyBpcyBydW4gb24uCisKK09wZXJhdGlvbiBtb2RlczoKKyAgLWgsIC0t
aGVscCAgICAgICAgIHByaW50IHRoaXMgaGVscCwgdGhlbiBleGl0CisgIC10LCAtLXRpbWUtc3Rh
bXAgICBwcmludCBkYXRlIG9mIGxhc3QgbW9kaWZpY2F0aW9uLCB0aGVuIGV4aXQKKyAgLXYsIC0t
dmVyc2lvbiAgICAgIHByaW50IHZlcnNpb24gbnVtYmVyLCB0aGVuIGV4aXQKKworUmVwb3J0IGJ1
Z3MgYW5kIHBhdGNoZXMgdG8gPGNvbmZpZy1wYXRjaGVzQGdudS5vcmc+LiIKKwordmVyc2lvbj0i
XAorR05VIGNvbmZpZy5ndWVzcyAoJHRpbWVzdGFtcCkKKworT3JpZ2luYWxseSB3cml0dGVuIGJ5
IFBlciBCb3RobmVyLgorQ29weXJpZ2h0IChDKSAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2
LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxCitGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4KKworVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWlu
ZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8KK3dhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiIKKworaGVscD0i
CitUcnkgXGAkbWUgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisKKyMgUGFyc2UgY29t
bWFuZCBsaW5lCit3aGlsZSB0ZXN0ICQjIC1ndCAwIDsgZG8KKyAgY2FzZSAkMSBpbgorICAgIC0t
dGltZS1zdGFtcCB8IC0tdGltZSogfCAtdCApCisgICAgICAgZWNobyAiJHRpbWVzdGFtcCIgOyBl
eGl0IDAgOzsKKyAgICAtLXZlcnNpb24gfCAtdiApCisgICAgICAgZWNobyAiJHZlcnNpb24iIDsg
ZXhpdCAwIDs7CisgICAgLS1oZWxwIHwgLS1oKiB8IC1oICkKKyAgICAgICBlY2hvICIkdXNhZ2Ui
OyBleGl0IDAgOzsKKyAgICAtLSApICAgICAjIFN0b3Agb3B0aW9uIHByb2Nlc3NpbmcKKyAgICAg
ICBzaGlmdDsgYnJlYWsgOzsKKyAgICAtICkJIyBVc2Ugc3RkaW4gYXMgaW5wdXQuCisgICAgICAg
YnJlYWsgOzsKKyAgICAtKiApCisgICAgICAgZWNobyAiJG1lOiBpbnZhbGlkIG9wdGlvbiAkMSRo
ZWxwIiA+JjIKKyAgICAgICBleGl0IDEgOzsKKyAgICAqICkKKyAgICAgICBicmVhayA7OworICBl
c2FjCitkb25lCisKK2lmIHRlc3QgJCMgIT0gMDsgdGhlbgorICBlY2hvICIkbWU6IHRvbyBtYW55
IGFyZ3VtZW50cyRoZWxwIiA+JjIKKyAgZXhpdCAxCitmaQorCisKK2R1bW15PWR1bW15LSQkCit0
cmFwICdybSAtZiAkZHVtbXkuYyAkZHVtbXkubyAkZHVtbXkucmVsICRkdW1teTsgZXhpdCAxJyAx
IDIgMTUKKworIyBDQ19GT1JfQlVJTEQgLS0gY29tcGlsZXIgdXNlZCBieSB0aGlzIHNjcmlwdC4K
KyMgSGlzdG9yaWNhbGx5LCBgQ0NfRk9SX0JVSUxEJyB1c2VkIHRvIGJlIG5hbWVkIGBIT1NUX0ND
Jy4gV2Ugc3RpbGwKKyMgdXNlIGBIT1NUX0NDJyBpZiBkZWZpbmVkLCBidXQgaXQgaXMgZGVwcmVj
YXRlZC4KKworc2V0X2NjX2Zvcl9idWlsZD0nY2FzZSAkQ0NfRk9SX0JVSUxELCRIT1NUX0NDLCRD
QyBpbgorICwsKSAgICBlY2hvICJpbnQgZHVtbXkoKXt9IiA+ICRkdW1teS5jIDsKKwlmb3IgYyBp
biBjYyBnY2MgYzg5IGM5OSA7IGRvCisJICAoJGMgJGR1bW15LmMgLWMgLW8gJGR1bW15Lm8pID4v
ZGV2L251bGwgMj4mMSA7CisJICBpZiB0ZXN0ICQ/ID0gMCA7IHRoZW4KKwkgICAgIENDX0ZPUl9C
VUlMRD0iJGMiOyBicmVhayA7CisJICBmaSA7CisJZG9uZSA7CisJcm0gLWYgJGR1bW15LmMgJGR1
bW15Lm8gJGR1bW15LnJlbCA7CisJaWYgdGVzdCB4IiRDQ19GT1JfQlVJTEQiID0geCA7IHRoZW4K
KwkgIENDX0ZPUl9CVUlMRD1ub19jb21waWxlcl9mb3VuZCA7CisJZmkKKwk7OworICwsKikgICBD
Q19GT1JfQlVJTEQ9JENDIDs7CisgLCosKikgIENDX0ZPUl9CVUlMRD0kSE9TVF9DQyA7OworZXNh
YycKKworIyBUaGlzIGlzIG5lZWRlZCB0byBmaW5kIHVuYW1lIG9uIGEgUHlyYW1pZCBPU3ggd2hl
biBydW4gaW4gdGhlIEJTRCB1bml2ZXJzZS4KKyMgKGdoYXppQG5vYy5ydXRnZXJzLmVkdSAxOTk0
LTA4LTI0KQoraWYgKHRlc3QgLWYgLy5hdHRiaW4vdW5hbWUpID4vZGV2L251bGwgMj4mMSA7IHRo
ZW4KKwlQQVRIPSRQQVRIOi8uYXR0YmluIDsgZXhwb3J0IFBBVEgKK2ZpCisKK1VOQU1FX01BQ0hJ
TkU9YCh1bmFtZSAtbSkgMj4vZGV2L251bGxgIHx8IFVOQU1FX01BQ0hJTkU9dW5rbm93bgorVU5B
TUVfUkVMRUFTRT1gKHVuYW1lIC1yKSAyPi9kZXYvbnVsbGAgfHwgVU5BTUVfUkVMRUFTRT11bmtu
b3duCitVTkFNRV9TWVNURU09YCh1bmFtZSAtcykgMj4vZGV2L251bGxgICB8fCBVTkFNRV9TWVNU
RU09dW5rbm93bgorVU5BTUVfVkVSU0lPTj1gKHVuYW1lIC12KSAyPi9kZXYvbnVsbGAgfHwgVU5B
TUVfVkVSU0lPTj11bmtub3duCisKKyMgTm90ZTogb3JkZXIgaXMgc2lnbmlmaWNhbnQgLSB0aGUg
Y2FzZSBicmFuY2hlcyBhcmUgbm90IGV4Y2x1c2l2ZS4KKworY2FzZSAiJHtVTkFNRV9NQUNISU5F
fToke1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJT059IiBpbgor
ICAgICo6TmV0QlNEOio6KikKKwkjIE5ldEJTRCAobmJzZCkgdGFyZ2V0cyBzaG91bGQgKHdoZXJl
IGFwcGxpY2FibGUpIG1hdGNoIG9uZSBvcgorCSMgbW9yZSBvZiB0aGUgdHVwcGxlczogKi0qLW5l
dGJzZGVsZiosICotKi1uZXRic2Rhb3V0KiwKKwkjICotKi1uZXRic2RlY29mZiogYW5kICotKi1u
ZXRic2QqLiAgRm9yIHRhcmdldHMgdGhhdCByZWNlbnRseQorCSMgc3dpdGNoZWQgdG8gRUxGLCAq
LSotbmV0YnNkKiB3b3VsZCBzZWxlY3QgdGhlIG9sZAorCSMgb2JqZWN0IGZpbGUgZm9ybWF0LiAg
VGhpcyBwcm92aWRlcyBib3RoIGZvcndhcmQKKwkjIGNvbXBhdGliaWxpdHkgYW5kIGEgY29uc2lz
dGVudCBtZWNoYW5pc20gZm9yIHNlbGVjdGluZyB0aGUKKwkjIG9iamVjdCBmaWxlIGZvcm1hdC4K
KwkjCisJIyBOb3RlOiBOZXRCU0QgZG9lc24ndCBwYXJ0aWN1bGFybHkgY2FyZSBhYm91dCB0aGUg
dmVuZG9yCisJIyBwb3J0aW9uIG9mIHRoZSBuYW1lLiAgV2UgYWx3YXlzIHNldCBpdCB0byAidW5r
bm93biIuCisJc3lzY3RsPSJzeXNjdGwgLW4gaHcubWFjaGluZV9hcmNoIgorCVVOQU1FX01BQ0hJ
TkVfQVJDSD1gKC9zYmluLyRzeXNjdGwgMj4vZGV2L251bGwgfHwgXAorCSAgICAvdXNyL3NiaW4v
JHN5c2N0bCAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd24pYAorCWNhc2UgIiR7VU5BTUVfTUFD
SElORV9BUkNIfSIgaW4KKwkgICAgYXJtKikgbWFjaGluZT1hcm0tdW5rbm93biA7OworCSAgICBz
aDNlbCkgbWFjaGluZT1zaGwtdW5rbm93biA7OworCSAgICBzaDNlYikgbWFjaGluZT1zaC11bmtu
b3duIDs7CisJICAgICopIG1hY2hpbmU9JHtVTkFNRV9NQUNISU5FX0FSQ0h9LXVua25vd24gOzsK
Kwllc2FjCisJIyBUaGUgT3BlcmF0aW5nIFN5c3RlbSBpbmNsdWRpbmcgb2JqZWN0IGZvcm1hdCwg
aWYgaXQgaGFzIHN3aXRjaGVkCisJIyB0byBFTEYgcmVjZW50bHksIG9yIHdpbGwgaW4gdGhlIGZ1
dHVyZS4KKwljYXNlICIke1VOQU1FX01BQ0hJTkVfQVJDSH0iIGluCisJICAgIGFybSp8aTM4Nnxt
NjhrfG5zMzJrfHNoMyp8c3BhcmN8dmF4KQorCQlldmFsICRzZXRfY2NfZm9yX2J1aWxkCisJCWlm
IGVjaG8gX19FTEZfXyB8ICRDQ19GT1JfQlVJTEQgLUUgLSAyPi9kZXYvbnVsbCBcCisJCQl8IGdy
ZXAgX19FTEZfXyA+L2Rldi9udWxsCisJCXRoZW4KKwkJICAgICMgT25jZSBhbGwgdXRpbGl0aWVz
IGNhbiBiZSBFQ09GRiAobmV0YnNkZWNvZmYpIG9yIGEub3V0IChuZXRic2Rhb3V0KS4KKwkJICAg
ICMgUmV0dXJuIG5ldGJzZCBmb3IgZWl0aGVyLiAgRklYPworCQkgICAgb3M9bmV0YnNkCisJCWVs
c2UKKwkJICAgIG9zPW5ldGJzZGVsZgorCQlmaQorCQk7OworCSAgICAqKQorCSAgICAgICAgb3M9
bmV0YnNkCisJCTs7CisJZXNhYworCSMgVGhlIE9TIHJlbGVhc2UKKwlyZWxlYXNlPWBlY2hvICR7
VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1stX10uKi9cLi8nYAorCSMgU2luY2UgQ1BVX1RZUEUt
TUFOVUZBQ1RVUkVSLUtFUk5FTC1PUEVSQVRJTkdfU1lTVEVNOgorCSMgY29udGFpbnMgcmVkdW5k
YW50IGluZm9ybWF0aW9uLCB0aGUgc2hvcnRlciBmb3JtOgorCSMgQ1BVX1RZUEUtTUFOVUZBQ1RV
UkVSLU9QRVJBVElOR19TWVNURU0gaXMgdXNlZC4KKwllY2hvICIke21hY2hpbmV9LSR7b3N9JHty
ZWxlYXNlfSIKKwlleGl0IDAgOzsKKyAgICBhbWlnYTpPcGVuQlNEOio6KikKKwllY2hvIG02OGst
dW5rbm93bi1vcGVuYnNkJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgMCA7OworICAgIGFyYzpPcGVu
QlNEOio6KikKKwllY2hvIG1pcHNlbC11bmtub3duLW9wZW5ic2Qke1VOQU1FX1JFTEVBU0V9CisJ
ZXhpdCAwIDs7CisgICAgaHAzMDA6T3BlbkJTRDoqOiopCisJZWNobyBtNjhrLXVua25vd24tb3Bl
bmJzZCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAgOzsKKyAgICBtYWM2OGs6T3BlbkJTRDoqOiop
CisJZWNobyBtNjhrLXVua25vd24tb3BlbmJzZCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAgOzsK
KyAgICBtYWNwcGM6T3BlbkJTRDoqOiopCisJZWNobyBwb3dlcnBjLXVua25vd24tb3BlbmJzZCR7
VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAgOzsKKyAgICBtdm1lNjhrOk9wZW5CU0Q6KjoqKQorCWVj
aG8gbTY4ay11bmtub3duLW9wZW5ic2Qke1VOQU1FX1JFTEVBU0V9CisJZXhpdCAwIDs7CisgICAg
bXZtZTg4azpPcGVuQlNEOio6KikKKwllY2hvIG04OGstdW5rbm93bi1vcGVuYnNkJHtVTkFNRV9S
RUxFQVNFfQorCWV4aXQgMCA7OworICAgIG12bWVwcGM6T3BlbkJTRDoqOiopCisJZWNobyBwb3dl
cnBjLXVua25vd24tb3BlbmJzZCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAgOzsKKyAgICBwbWF4
Ok9wZW5CU0Q6KjoqKQorCWVjaG8gbWlwc2VsLXVua25vd24tb3BlbmJzZCR7VU5BTUVfUkVMRUFT
RX0KKwlleGl0IDAgOzsKKyAgICBzZ2k6T3BlbkJTRDoqOiopCisJZWNobyBtaXBzZWItdW5rbm93
bi1vcGVuYnNkJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgMCA7OworICAgIHN1bjM6T3BlbkJTRDoq
OiopCisJZWNobyBtNjhrLXVua25vd24tb3BlbmJzZCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAg
OzsKKyAgICB3Z3Jpc2M6T3BlbkJTRDoqOiopCisJZWNobyBtaXBzZWwtdW5rbm93bi1vcGVuYnNk
JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgMCA7OworICAgICo6T3BlbkJTRDoqOiopCisJZWNobyAk
e1VOQU1FX01BQ0hJTkV9LXVua25vd24tb3BlbmJzZCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAg
OzsKKyAgICBhbHBoYTpPU0YxOio6KikKKwlpZiB0ZXN0ICRVTkFNRV9SRUxFQVNFID0gIlY0LjAi
OyB0aGVuCisJCVVOQU1FX1JFTEVBU0U9YC91c3Ivc2Jpbi9zaXplciAtdiB8IGF3ayAne3ByaW50
ICQzfSdgCisJZmkKKwkjIEEgVm4ubiB2ZXJzaW9uIGlzIGEgcmVsZWFzZWQgdmVyc2lvbi4KKwkj
IEEgVG4ubiB2ZXJzaW9uIGlzIGEgcmVsZWFzZWQgZmllbGQgdGVzdCB2ZXJzaW9uLgorCSMgQSBY
bi5uIHZlcnNpb24gaXMgYW4gdW5yZWxlYXNlZCBleHBlcmltZW50YWwgYmFzZWxldmVsLgorCSMg
MS4yIHVzZXMgIjEuMiIgZm9yIHVuYW1lIC1yLgorCWNhdCA8PEVPRiA+JGR1bW15LnMKKwkuZGF0
YQorXCRMZm9ybWF0OgorCS5ieXRlIDM3LDEwMCw0NSwzNywxMjAsMTAsMAkjICIlZC0leFxuIgor
CisJLnRleHQKKwkuZ2xvYmwgbWFpbgorCS5hbGlnbiA0CisJLmVudCBtYWluCittYWluOgorCS5m
cmFtZSBcJDMwLDE2LFwkMjYsMAorCWxkZ3AgXCQyOSwwKFwkMjcpCisJLnByb2xvZ3VlIDEKKwku
bG9uZyAweDQ3ZTAzZDgwICMgaW1wbHZlciBcJDAKKwlsZGEgXCQyLC0xCisJLmxvbmcgMHg0N2Uy
MGMyMSAjIGFtYXNrIFwkMixcJDEKKwlsZGEgXCQxNixcJExmb3JtYXQKKwltb3YgXCQwLFwkMTcK
Kwlub3QgXCQxLFwkMTgKKwlqc3IgXCQyNixwcmludGYKKwlsZGdwIFwkMjksMChcJDI2KQorCW1v
diAwLFwkMTYKKwlqc3IgXCQyNixleGl0CisJLmVuZCBtYWluCitFT0YKKwlldmFsICRzZXRfY2Nf
Zm9yX2J1aWxkCisJJENDX0ZPUl9CVUlMRCAkZHVtbXkucyAtbyAkZHVtbXkgMj4vZGV2L251bGwK
KwlpZiB0ZXN0ICIkPyIgPSAwIDsgdGhlbgorCQljYXNlIGAuLyRkdW1teWAgaW4KKwkJCTAtMCkK
KwkJCQlVTkFNRV9NQUNISU5FPSJhbHBoYSIKKwkJCQk7OworCQkJMS0wKQorCQkJCVVOQU1FX01B
Q0hJTkU9ImFscGhhZXY1IgorCQkJCTs7CisJCQkxLTEpCisJCQkJVU5BTUVfTUFDSElORT0iYWxw
aGFldjU2IgorCQkJCTs7CisJCQkxLTEwMSkKKwkJCQlVTkFNRV9NQUNISU5FPSJhbHBoYXBjYTU2
IgorCQkJCTs7CisJCQkyLTMwMykKKwkJCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NiIKKwkJCQk7
OworCQkJMi0zMDcpCisJCQkJVU5BTUVfTUFDSElORT0iYWxwaGFldjY3IgorCQkJCTs7CisJCQky
LTEzMDcpCisJCQkJVU5BTUVfTUFDSElORT0iYWxwaGFldjY4IgorCQkJCTs7CisJCWVzYWMKKwlm
aQorCXJtIC1mICRkdW1teS5zICRkdW1teQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1kZWMtb3Nm
YGVjaG8gJHtVTkFNRV9SRUxFQVNFfSB8IHNlZCAtZSAncy9eW1ZUWF0vLycgfCB0ciAnQUJDREVG
R0hJSktMTU5PUFFSU1RVVldYWVonICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eidgCisJZXhp
dCAwIDs7CisgICAgQWxwaGFcICo6V2luZG93c19OVCo6KikKKwkjIEhvdyBkbyB3ZSBrbm93IGl0
J3MgSW50ZXJpeCByYXRoZXIgdGhhbiB0aGUgZ2VuZXJpYyBQT1NJWCBzdWJzeXN0ZW0/CisJIyBT
aG91bGQgd2UgY2hhbmdlIFVOQU1FX01BQ0hJTkUgYmFzZWQgb24gdGhlIG91dHB1dCBvZiB1bmFt
ZSBpbnN0ZWFkCisJIyBvZiB0aGUgc3BlY2lmaWMgQWxwaGEgbW9kZWw/CisJZWNobyBhbHBoYS1w
Yy1pbnRlcml4CisJZXhpdCAwIDs7CisgICAgMjEwNjQ6V2luZG93c19OVDo1MDozKQorCWVjaG8g
YWxwaGEtZGVjLXdpbm50My41CisJZXhpdCAwIDs7CisgICAgQW1pZ2EqOlVOSVhfU3lzdGVtX1Y6
NC4wOiopCisJZWNobyBtNjhrLXVua25vd24tc3lzdjQKKwlleGl0IDA7OworICAgICo6W0FhXW1p
Z2FbT29dW1NzXToqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tYW1pZ2Fvcwor
CWV4aXQgMCA7OworICAgICo6W01tXW9ycGhbT29dW1NzXToqOiopCisJZWNobyAke1VOQU1FX01B
Q0hJTkV9LXVua25vd24tbW9ycGhvcworCWV4aXQgMCA7OworICAgICo6T1MvMzkwOio6KikKKwll
Y2hvIGkzNzAtaWJtLW9wZW5lZGl0aW9uCisJZXhpdCAwIDs7CisgICAgYXJtOlJJU0MqOjEuWzAx
Ml0qOip8YXJtOnJpc2NpeDoxLlswMTJdKjoqKQorCWVjaG8gYXJtLWFjb3JuLXJpc2NpeCR7VU5B
TUVfUkVMRUFTRX0KKwlleGl0IDA7OworICAgIFNSMj8wMTpISS1VWC9NUFA6KjoqIHwgU1I4MDAw
OkhJLVVYL01QUDoqOiopCisJZWNobyBocHBhMS4xLWhpdGFjaGktaGl1eG1wcAorCWV4aXQgMDs7
CisgICAgUHlyYW1pZCo6T1N4KjoqOiogfCBNSVMqOk9TeCo6KjoqIHwgTUlTKjpTTVBfREMtT1N4
KjoqOiopCisJIyBha2VlQHdwZGlzMDMud3BhZmIuYWYubWlsIChFYXJsZSBGLiBBa2UpIGNvbnRy
aWJ1dGVkIE1JUyBhbmQgTklMRS4KKwlpZiB0ZXN0ICJgKC9iaW4vdW5pdmVyc2UpIDI+L2Rldi9u
dWxsYCIgPSBhdHQgOyB0aGVuCisJCWVjaG8gcHlyYW1pZC1weXJhbWlkLXN5c3YzCisJZWxzZQor
CQllY2hvIHB5cmFtaWQtcHlyYW1pZC1ic2QKKwlmaQorCWV4aXQgMCA7OworICAgIE5JTEUqOio6
KjpkY29zeCkKKwllY2hvIHB5cmFtaWQtcHlyYW1pZC1zdnI0CisJZXhpdCAwIDs7CisgICAgc3Vu
NEg6U3VuT1M6NS4qOiopCisJZWNobyBzcGFyYy1oYWwtc29sYXJpczJgZWNobyAke1VOQU1FX1JF
TEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwlleGl0IDAgOzsKKyAgICBzdW40KjpTdW5PUzo1
Lio6KiB8IHRhZHBvbGUqOlN1bk9TOjUuKjoqKQorCWVjaG8gc3BhcmMtc3VuLXNvbGFyaXMyYGVj
aG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvW14uXSovLydgCisJZXhpdCAwIDs7CisgICAg
aTg2cGM6U3VuT1M6NS4qOiopCisJZWNobyBpMzg2LXBjLXNvbGFyaXMyYGVjaG8gJHtVTkFNRV9S
RUxFQVNFfXxzZWQgLWUgJ3MvW14uXSovLydgCisJZXhpdCAwIDs7CisgICAgc3VuNCo6U3VuT1M6
Nio6KikKKwkjIEFjY29yZGluZyB0byBjb25maWcuc3ViLCB0aGlzIGlzIHRoZSBwcm9wZXIgd2F5
IHRvIGNhbm9uaWNhbGl6ZQorCSMgU3VuT1M2LiAgSGFyZCB0byBndWVzcyBleGFjdGx5IHdoYXQg
U3VuT1M2IHdpbGwgYmUgbGlrZSwgYnV0CisJIyBpdCdzIGxpa2VseSB0byBiZSBtb3JlIGxpa2Ug
U29sYXJpcyB0aGFuIFN1bk9TNC4KKwllY2hvIHNwYXJjLXN1bi1zb2xhcmlzM2BlY2hvICR7VU5B
TUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLy8nYAorCWV4aXQgMCA7OworICAgIHN1bjQqOlN1
bk9TOio6KikKKwljYXNlICJgL3Vzci9iaW4vYXJjaCAta2AiIGluCisJICAgIFNlcmllcyp8UzQq
KQorCQlVTkFNRV9SRUxFQVNFPWB1bmFtZSAtdmAKKwkJOzsKKwllc2FjCisJIyBKYXBhbmVzZSBM
YW5ndWFnZSB2ZXJzaW9ucyBoYXZlIGEgdmVyc2lvbiBudW1iZXIgbGlrZSBgNC4xLjMtSkwnLgor
CWVjaG8gc3BhcmMtc3VuLXN1bm9zYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvLS9f
LydgCisJZXhpdCAwIDs7CisgICAgc3VuMyo6U3VuT1M6KjoqKQorCWVjaG8gbTY4ay1zdW4tc3Vu
b3Mke1VOQU1FX1JFTEVBU0V9CisJZXhpdCAwIDs7CisgICAgc3VuKjoqOjQuMkJTRDoqKQorCVVO
QU1FX1JFTEVBU0U9YChzZWQgMXEgL2V0Yy9tb3RkIHwgYXdrICd7cHJpbnQgc3Vic3RyKCQ1LDEs
Myl9JykgMj4vZGV2L251bGxgCisJdGVzdCAieCR7VU5BTUVfUkVMRUFTRX0iID0gIngiICYmIFVO
QU1FX1JFTEVBU0U9MworCWNhc2UgImAvYmluL2FyY2hgIiBpbgorCSAgICBzdW4zKQorCQllY2hv
IG02OGstc3VuLXN1bm9zJHtVTkFNRV9SRUxFQVNFfQorCQk7OworCSAgICBzdW40KQorCQllY2hv
IHNwYXJjLXN1bi1zdW5vcyR7VU5BTUVfUkVMRUFTRX0KKwkJOzsKKwllc2FjCisJZXhpdCAwIDs7
CisgICAgYXVzaHA6U3VuT1M6KjoqKQorCWVjaG8gc3BhcmMtYXVzcGV4LXN1bm9zJHtVTkFNRV9S
RUxFQVNFfQorCWV4aXQgMCA7OworICAgICMgVGhlIHNpdHVhdGlvbiBmb3IgTWlOVCBpcyBhIGxp
dHRsZSBjb25mdXNpbmcuICBUaGUgbWFjaGluZSBuYW1lCisgICAgIyBjYW4gYmUgdmlydHVhbGx5
IGV2ZXJ5dGhpbmcgKGV2ZXJ5dGhpbmcgd2hpY2ggaXMgbm90CisgICAgIyAiYXRhcmlzdCIgb3Ig
ImF0YXJpc3RlIiBhdCBsZWFzdCBzaG91bGQgaGF2ZSBhIHByb2Nlc3NvcgorICAgICMgPiBtNjgw
MDApLiAgVGhlIHN5c3RlbSBuYW1lIHJhbmdlcyBmcm9tICJNaU5UIiBvdmVyICJGcmVlTWlOVCIK
KyAgICAjIHRvIHRoZSBsb3dlcmNhc2UgdmVyc2lvbiAibWludCIgKG9yICJmcmVlbWludCIpLiAg
RmluYWxseQorICAgICMgdGhlIHN5c3RlbSBuYW1lICJUT1MiIGRlbm90ZXMgYSBzeXN0ZW0gd2hp
Y2ggaXMgYWN0dWFsbHkgbm90CisgICAgIyBNaU5ULiAgQnV0IE1pTlQgaXMgZG93bndhcmQgY29t
cGF0aWJsZSB0byBUT1MsIHNvIHRoaXMgc2hvdWxkCisgICAgIyBiZSBubyBwcm9ibGVtLgorICAg
IGF0YXJpc3RbZV06Kk1pTlQ6KjoqIHwgYXRhcmlzdFtlXToqbWludDoqOiogfCBhdGFyaXN0W2Vd
OipUT1M6KjoqKQorICAgICAgICBlY2hvIG02OGstYXRhcmktbWludCR7VU5BTUVfUkVMRUFTRX0K
KwlleGl0IDAgOzsKKyAgICBhdGFyaSo6Kk1pTlQ6KjoqIHwgYXRhcmkqOiptaW50Oio6KiB8IGF0
YXJpc3RbZV06KlRPUzoqOiopCisJZWNobyBtNjhrLWF0YXJpLW1pbnQke1VOQU1FX1JFTEVBU0V9
CisgICAgICAgIGV4aXQgMCA7OworICAgICpmYWxjb24qOipNaU5UOio6KiB8ICpmYWxjb24qOipt
aW50Oio6KiB8ICpmYWxjb24qOipUT1M6KjoqKQorICAgICAgICBlY2hvIG02OGstYXRhcmktbWlu
dCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAgOzsKKyAgICBtaWxhbio6Kk1pTlQ6KjoqIHwgbWls
YW4qOiptaW50Oio6KiB8ICptaWxhbio6KlRPUzoqOiopCisgICAgICAgIGVjaG8gbTY4ay1taWxh
bi1taW50JHtVTkFNRV9SRUxFQVNFfQorICAgICAgICBleGl0IDAgOzsKKyAgICBoYWRlcyo6Kk1p
TlQ6KjoqIHwgaGFkZXMqOiptaW50Oio6KiB8ICpoYWRlcyo6KlRPUzoqOiopCisgICAgICAgIGVj
aG8gbTY4ay1oYWRlcy1taW50JHtVTkFNRV9SRUxFQVNFfQorICAgICAgICBleGl0IDAgOzsKKyAg
ICAqOipNaU5UOio6KiB8ICo6Km1pbnQ6KjoqIHwgKjoqVE9TOio6KikKKyAgICAgICAgZWNobyBt
NjhrLXVua25vd24tbWludCR7VU5BTUVfUkVMRUFTRX0KKyAgICAgICAgZXhpdCAwIDs7CisgICAg
cG93ZXJwYzptYWNodGVuOio6KikKKwllY2hvIHBvd2VycGMtYXBwbGUtbWFjaHRlbiR7VU5BTUVf
UkVMRUFTRX0KKwlleGl0IDAgOzsKKyAgICBSSVNDKjpNYWNoOio6KikKKwllY2hvIG1pcHMtZGVj
LW1hY2hfYnNkNC4zCisJZXhpdCAwIDs7CisgICAgUklTQyo6VUxUUklYOio6KikKKwllY2hvIG1p
cHMtZGVjLXVsdHJpeCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAgOzsKKyAgICBWQVgqOlVMVFJJ
WCo6KjoqKQorCWVjaG8gdmF4LWRlYy11bHRyaXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCAwIDs7
CisgICAgMjAyMDpDTElYOio6KiB8IDI0MzA6Q0xJWDoqOiopCisJZWNobyBjbGlwcGVyLWludGVy
Z3JhcGgtY2xpeCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAgOzsKKyAgICBtaXBzOio6KjpVTUlQ
UyB8IG1pcHM6KjoqOlJJU0NvcykKKwlldmFsICRzZXRfY2NfZm9yX2J1aWxkCisJc2VkICdzL14J
Ly8nIDw8IEVPRiA+JGR1bW15LmMKKyNpZmRlZiBfX2NwbHVzcGx1cworI2luY2x1ZGUgPHN0ZGlv
Lmg+ICAvKiBmb3IgcHJpbnRmKCkgcHJvdG90eXBlICovCisJaW50IG1haW4gKGludCBhcmdjLCBj
aGFyICphcmd2W10pIHsKKyNlbHNlCisJaW50IG1haW4gKGFyZ2MsIGFyZ3YpIGludCBhcmdjOyBj
aGFyICphcmd2W107IHsKKyNlbmRpZgorCSNpZiBkZWZpbmVkIChob3N0X21pcHMpICYmIGRlZmlu
ZWQgKE1JUFNFQikKKwkjaWYgZGVmaW5lZCAoU1lTVFlQRV9TWVNWKQorCSAgcHJpbnRmICgibWlw
cy1taXBzLXJpc2NvcyVzc3lzdlxuIiwgYXJndlsxXSk7IGV4aXQgKDApOworCSNlbmRpZgorCSNp
ZiBkZWZpbmVkIChTWVNUWVBFX1NWUjQpCisJICBwcmludGYgKCJtaXBzLW1pcHMtcmlzY29zJXNz
dnI0XG4iLCBhcmd2WzFdKTsgZXhpdCAoMCk7CisJI2VuZGlmCisJI2lmIGRlZmluZWQgKFNZU1RZ
UEVfQlNENDMpIHx8IGRlZmluZWQoU1lTVFlQRV9CU0QpCisJICBwcmludGYgKCJtaXBzLW1pcHMt
cmlzY29zJXNic2RcbiIsIGFyZ3ZbMV0pOyBleGl0ICgwKTsKKwkjZW5kaWYKKwkjZW5kaWYKKwkg
IGV4aXQgKC0xKTsKKwl9CitFT0YKKwkkQ0NfRk9SX0JVSUxEICRkdW1teS5jIC1vICRkdW1teSBc
CisJICAmJiAuLyRkdW1teSBgZWNobyAiJHtVTkFNRV9SRUxFQVNFfSIgfCBzZWQgLW4gJ3MvXChb
MC05XSpcKS4qL1wxL3AnYCBcCisJICAmJiBybSAtZiAkZHVtbXkuYyAkZHVtbXkgJiYgZXhpdCAw
CisJcm0gLWYgJGR1bW15LmMgJGR1bW15CisJZWNobyBtaXBzLW1pcHMtcmlzY29zJHtVTkFNRV9S
RUxFQVNFfQorCWV4aXQgMCA7OworICAgIE1vdG9yb2xhOlBvd2VyTUFYX09TOio6KikKKwllY2hv
IHBvd2VycGMtbW90b3JvbGEtcG93ZXJtYXgKKwlleGl0IDAgOzsKKyAgICBOaWdodF9IYXdrOlBv
d2VyX1VOSVg6KjoqKQorCWVjaG8gcG93ZXJwYy1oYXJyaXMtcG93ZXJ1bml4CisJZXhpdCAwIDs7
CisgICAgbTg4azpDWC9VWDo3KjoqKQorCWVjaG8gbTg4ay1oYXJyaXMtY3h1eDcKKwlleGl0IDAg
OzsKKyAgICBtODhrOio6NCo6UjQqKQorCWVjaG8gbTg4ay1tb3Rvcm9sYS1zeXN2NAorCWV4aXQg
MCA7OworICAgIG04OGs6KjozKjpSMyopCisJZWNobyBtODhrLW1vdG9yb2xhLXN5c3YzCisJZXhp
dCAwIDs7CisgICAgQVZpaU9OOmRndXg6KjoqKQorICAgICAgICAjIERHL1VYIHJldHVybnMgQVZp
aU9OIGZvciBhbGwgYXJjaGl0ZWN0dXJlcworICAgICAgICBVTkFNRV9QUk9DRVNTT1I9YC91c3Iv
YmluL3VuYW1lIC1wYAorCWlmIFsgJFVOQU1FX1BST0NFU1NPUiA9IG1jODgxMDAgXSB8fCBbICRV
TkFNRV9QUk9DRVNTT1IgPSBtYzg4MTEwIF0KKwl0aGVuCisJICAgIGlmIFsgJHtUQVJHRVRfQklO
QVJZX0lOVEVSRkFDRX14ID0gbTg4a2RndXhlbGZ4IF0gfHwgXAorCSAgICAgICBbICR7VEFSR0VU
X0JJTkFSWV9JTlRFUkZBQ0V9eCA9IHggXQorCSAgICB0aGVuCisJCWVjaG8gbTg4ay1kZy1kZ3V4
JHtVTkFNRV9SRUxFQVNFfQorCSAgICBlbHNlCisJCWVjaG8gbTg4ay1kZy1kZ3V4YmNzJHtVTkFN
RV9SRUxFQVNFfQorCSAgICBmaQorCWVsc2UKKwkgICAgZWNobyBpNTg2LWRnLWRndXgke1VOQU1F
X1JFTEVBU0V9CisJZmkKKyAJZXhpdCAwIDs7CisgICAgTTg4KjpEb2xwaGluT1M6KjoqKQkjIERv
bHBoaW5PUyAoU1ZSMykKKwllY2hvIG04OGstZG9scGhpbi1zeXN2MworCWV4aXQgMCA7OworICAg
IE04OCo6KjpSMyo6KikKKwkjIERlbHRhIDg4ayBzeXN0ZW0gcnVubmluZyBTVlIzCisJZWNobyBt
ODhrLW1vdG9yb2xhLXN5c3YzCisJZXhpdCAwIDs7CisgICAgWEQ4OCo6KjoqOiopICMgVGVrdHJv
bml4IFhEODggc3lzdGVtIHJ1bm5pbmcgVVRla1YgKFNWUjMpCisJZWNobyBtODhrLXRla3Ryb25p
eC1zeXN2MworCWV4aXQgMCA7OworICAgIFRlazQzWzAtOV1bMC05XTpVVGVrOio6KikgIyBUZWt0
cm9uaXggNDMwMCBzeXN0ZW0gcnVubmluZyBVVGVrIChCU0QpCisJZWNobyBtNjhrLXRla3Ryb25p
eC1ic2QKKwlleGl0IDAgOzsKKyAgICAqOklSSVgqOio6KikKKwllY2hvIG1pcHMtc2dpLWlyaXhg
ZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy8tL18vZydgCisJZXhpdCAwIDs7CisgICAg
Pz8/Pz8/Pz86QUlYPzpbMTJdLjE6MikgICAjIEFJWCAyLjIuMSBvciBBSVggMi4xLjEgaXMgUlQv
UEMgQUlYLgorCWVjaG8gcm9tcC1pYm0tYWl4ICAgICAgIyB1bmFtZSAtbSBnaXZlcyBhbiA4IGhl
eC1jb2RlIENQVSBpZAorCWV4aXQgMCA7OyAgICAgICAgICAgICAgIyBOb3RlIHRoYXQ6IGVjaG8g
IidgdW5hbWUgLXNgJyIgZ2l2ZXMgJ0FJWCAnCisgICAgaSo4NjpBSVg6KjoqKQorCWVjaG8gaTM4
Ni1pYm0tYWl4CisJZXhpdCAwIDs7CisgICAgaWE2NDpBSVg6KjoqKQorCWlmIFsgLXggL3Vzci9i
aW4vb3NsZXZlbCBdIDsgdGhlbgorCQlJQk1fUkVWPWAvdXNyL2Jpbi9vc2xldmVsYAorCWVsc2UK
KwkJSUJNX1JFVj0ke1VOQU1FX1ZFUlNJT059LiR7VU5BTUVfUkVMRUFTRX0KKwlmaQorCWVjaG8g
JHtVTkFNRV9NQUNISU5FfS1pYm0tYWl4JHtJQk1fUkVWfQorCWV4aXQgMCA7OworICAgICo6QUlY
OjI6MykKKwlpZiBncmVwIGJvczMyNSAvdXNyL2luY2x1ZGUvc3RkaW8uaCA+L2Rldi9udWxsIDI+
JjE7IHRoZW4KKwkJZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAorCQlzZWQgJ3MvXgkJLy8nIDw8IEVP
RiA+JGR1bW15LmMKKwkJI2luY2x1ZGUgPHN5cy9zeXN0ZW1jZmcuaD4KKworCQltYWluKCkKKwkJ
CXsKKwkJCWlmICghX19wb3dlcl9wYygpKQorCQkJCWV4aXQoMSk7CisJCQlwdXRzKCJwb3dlcnBj
LWlibS1haXgzLjIuNSIpOworCQkJZXhpdCgwKTsKKwkJCX0KK0VPRgorCQkkQ0NfRk9SX0JVSUxE
ICRkdW1teS5jIC1vICRkdW1teSAmJiAuLyRkdW1teSAmJiBybSAtZiAkZHVtbXkuYyAkZHVtbXkg
JiYgZXhpdCAwCisJCXJtIC1mICRkdW1teS5jICRkdW1teQorCQllY2hvIHJzNjAwMC1pYm0tYWl4
My4yLjUKKwllbGlmIGdyZXAgYm9zMzI0IC91c3IvaW5jbHVkZS9zdGRpby5oID4vZGV2L251bGwg
Mj4mMTsgdGhlbgorCQllY2hvIHJzNjAwMC1pYm0tYWl4My4yLjQKKwllbHNlCisJCWVjaG8gcnM2
MDAwLWlibS1haXgzLjIKKwlmaQorCWV4aXQgMCA7OworICAgICo6QUlYOio6WzQ1XSkKKwlJQk1f
Q1BVX0lEPWAvdXNyL3NiaW4vbHNkZXYgLUMgLWMgcHJvY2Vzc29yIC1TIGF2YWlsYWJsZSB8IHNl
ZCAxcSB8IGF3ayAneyBwcmludCAkMSB9J2AKKwlpZiAvdXNyL3NiaW4vbHNhdHRyIC1FbCAke0lC
TV9DUFVfSUR9IHwgZ3JlcCAnIFBPV0VSJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwkJSUJNX0FS
Q0g9cnM2MDAwCisJZWxzZQorCQlJQk1fQVJDSD1wb3dlcnBjCisJZmkKKwlpZiBbIC14IC91c3Iv
YmluL29zbGV2ZWwgXSA7IHRoZW4KKwkJSUJNX1JFVj1gL3Vzci9iaW4vb3NsZXZlbGAKKwllbHNl
CisJCUlCTV9SRVY9JHtVTkFNRV9WRVJTSU9OfS4ke1VOQU1FX1JFTEVBU0V9CisJZmkKKwllY2hv
ICR7SUJNX0FSQ0h9LWlibS1haXgke0lCTV9SRVZ9CisJZXhpdCAwIDs7CisgICAgKjpBSVg6Kjoq
KQorCWVjaG8gcnM2MDAwLWlibS1haXgKKwlleGl0IDAgOzsKKyAgICBpYm1ydDo0LjRCU0Q6Knxy
b21wLWlibTpCU0Q6KikKKwllY2hvIHJvbXAtaWJtLWJzZDQuNAorCWV4aXQgMCA7OworICAgIGli
bXJ0OipCU0Q6Knxyb21wLWlibTpCU0Q6KikgICAgICAgICAgICAjIGNvdmVycyBSVC9QQyBCU0Qg
YW5kCisJZWNobyByb21wLWlibS1ic2Qke1VOQU1FX1JFTEVBU0V9ICAgIyA0LjMgd2l0aCB1bmFt
ZSBhZGRlZCB0bworCWV4aXQgMCA7OyAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcmVwb3J0
OiByb21wLWlibSBCU0QgNC4zCisgICAgKjpCT1NYOio6KikKKwllY2hvIHJzNjAwMC1idWxsLWJv
c3gKKwlleGl0IDAgOzsKKyAgICBEUFgvMj8wMDpCLk8uUy46KjoqKQorCWVjaG8gbTY4ay1idWxs
LXN5c3YzCisJZXhpdCAwIDs7CisgICAgOTAwMC9bMzRdPz86NC4zYnNkOjEuKjoqKQorCWVjaG8g
bTY4ay1ocC1ic2QKKwlleGl0IDAgOzsKKyAgICBocDMwMDo0LjRCU0Q6KjoqIHwgOTAwMC9bMzRd
Pz86NC4zYnNkOjIuKjoqKQorCWVjaG8gbTY4ay1ocC1ic2Q0LjQKKwlleGl0IDAgOzsKKyAgICA5
MDAwL1szNDY3OF0/PzpIUC1VWDoqOiopCisJSFBVWF9SRVY9YGVjaG8gJHtVTkFNRV9SRUxFQVNF
fXxzZWQgLWUgJ3MvW14uXSouWzBCXSovLydgCisJY2FzZSAiJHtVTkFNRV9NQUNISU5FfSIgaW4K
KwkgICAgOTAwMC8zMT8gKSAgICAgICAgICAgIEhQX0FSQ0g9bTY4MDAwIDs7CisJICAgIDkwMDAv
WzM0XT8/ICkgICAgICAgICBIUF9BUkNIPW02OGsgOzsKKwkgICAgOTAwMC9bNjc4XVswLTldWzAt
OV0pCisJCWlmIFsgLXggL3Vzci9iaW4vZ2V0Y29uZiBdOyB0aGVuCisJCSAgICBzY19jcHVfdmVy
c2lvbj1gL3Vzci9iaW4vZ2V0Y29uZiBTQ19DUFVfVkVSU0lPTiAyPi9kZXYvbnVsbGAKKyAgICAg
ICAgICAgICAgICAgICAgc2Nfa2VybmVsX2JpdHM9YC91c3IvYmluL2dldGNvbmYgU0NfS0VSTkVM
X0JJVFMgMj4vZGV2L251bGxgCisgICAgICAgICAgICAgICAgICAgIGNhc2UgIiR7c2NfY3B1X3Zl
cnNpb259IiBpbgorICAgICAgICAgICAgICAgICAgICAgIDUyMykgSFBfQVJDSD0iaHBwYTEuMCIg
OzsgIyBDUFVfUEFfUklTQzFfMAorICAgICAgICAgICAgICAgICAgICAgIDUyOCkgSFBfQVJDSD0i
aHBwYTEuMSIgOzsgIyBDUFVfUEFfUklTQzFfMQorICAgICAgICAgICAgICAgICAgICAgIDUzMikg
ICAgICAgICAgICAgICAgICAgICAgIyBDUFVfUEFfUklTQzJfMAorICAgICAgICAgICAgICAgICAg
ICAgICAgY2FzZSAiJHtzY19rZXJuZWxfYml0c30iIGluCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIDMyKSBIUF9BUkNIPSJocHBhMi4wbiIgOzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
NjQpIEhQX0FSQ0g9ImhwcGEyLjB3IiA7OworCQkJICAnJykgSFBfQVJDSD0iaHBwYTIuMCIgOzsg
ICAjIEhQLVVYIDEwLjIwCisgICAgICAgICAgICAgICAgICAgICAgICBlc2FjIDs7CisgICAgICAg
ICAgICAgICAgICAgIGVzYWMKKwkJZmkKKwkJaWYgWyAiJHtIUF9BUkNIfSIgPSAiIiBdOyB0aGVu
CisJCSAgICBldmFsICRzZXRfY2NfZm9yX2J1aWxkCisJCSAgICBzZWQgJ3MvXiAgICAgICAgICAg
ICAgLy8nIDw8IEVPRiA+JGR1bW15LmMKKworICAgICAgICAgICAgICAjZGVmaW5lIF9IUFVYX1NP
VVJDRQorICAgICAgICAgICAgICAjaW5jbHVkZSA8c3RkbGliLmg+CisgICAgICAgICAgICAgICNp
bmNsdWRlIDx1bmlzdGQuaD4KKworICAgICAgICAgICAgICBpbnQgbWFpbiAoKQorICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICNpZiBkZWZpbmVkKF9TQ19LRVJORUxfQklUUykKKyAgICAg
ICAgICAgICAgICAgIGxvbmcgYml0cyA9IHN5c2NvbmYoX1NDX0tFUk5FTF9CSVRTKTsKKyAgICAg
ICAgICAgICAgI2VuZGlmCisgICAgICAgICAgICAgICAgICBsb25nIGNwdSAgPSBzeXNjb25mIChf
U0NfQ1BVX1ZFUlNJT04pOworCisgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGNwdSkKKyAgICAg
ICAgICAgICAgCXsKKyAgICAgICAgICAgICAgCWNhc2UgQ1BVX1BBX1JJU0MxXzA6IHB1dHMgKCJo
cHBhMS4wIik7IGJyZWFrOworICAgICAgICAgICAgICAJY2FzZSBDUFVfUEFfUklTQzFfMTogcHV0
cyAoImhwcGExLjEiKTsgYnJlYWs7CisgICAgICAgICAgICAgIAljYXNlIENQVV9QQV9SSVNDMl8w
OgorICAgICAgICAgICAgICAjaWYgZGVmaW5lZChfU0NfS0VSTkVMX0JJVFMpCisgICAgICAgICAg
ICAgIAkgICAgc3dpdGNoIChiaXRzKQorICAgICAgICAgICAgICAJCXsKKyAgICAgICAgICAgICAg
CQljYXNlIDY0OiBwdXRzICgiaHBwYTIuMHciKTsgYnJlYWs7CisgICAgICAgICAgICAgIAkJY2Fz
ZSAzMjogcHV0cyAoImhwcGEyLjBuIik7IGJyZWFrOworICAgICAgICAgICAgICAJCWRlZmF1bHQ6
IHB1dHMgKCJocHBhMi4wIik7IGJyZWFrOworICAgICAgICAgICAgICAJCX0gYnJlYWs7CisgICAg
ICAgICAgICAgICNlbHNlICAvKiAhZGVmaW5lZChfU0NfS0VSTkVMX0JJVFMpICovCisgICAgICAg
ICAgICAgIAkgICAgcHV0cyAoImhwcGEyLjAiKTsgYnJlYWs7CisgICAgICAgICAgICAgICNlbmRp
ZgorICAgICAgICAgICAgICAJZGVmYXVsdDogcHV0cyAoImhwcGExLjAiKTsgYnJlYWs7CisgICAg
ICAgICAgICAgIAl9CisgICAgICAgICAgICAgICAgICBleGl0ICgwKTsKKyAgICAgICAgICAgICAg
fQorRU9GCisJCSAgICAoQ0NPUFRTPSAkQ0NfRk9SX0JVSUxEICRkdW1teS5jIC1vICRkdW1teSAy
Pi9kZXYvbnVsbCkgJiYgSFBfQVJDSD1gLi8kZHVtbXlgCisJCSAgICBpZiB0ZXN0IC16ICIkSFBf
QVJDSCI7IHRoZW4gSFBfQVJDSD1ocHBhOyBmaQorCQkgICAgcm0gLWYgJGR1bW15LmMgJGR1bW15
CisJCWZpIDs7CisJZXNhYworCWVjaG8gJHtIUF9BUkNIfS1ocC1ocHV4JHtIUFVYX1JFVn0KKwll
eGl0IDAgOzsKKyAgICBpYTY0OkhQLVVYOio6KikKKwlIUFVYX1JFVj1gZWNobyAke1VOQU1FX1JF
TEVBU0V9fHNlZCAtZSAncy9bXi5dKi5bMEJdKi8vJ2AKKwllY2hvIGlhNjQtaHAtaHB1eCR7SFBV
WF9SRVZ9CisJZXhpdCAwIDs7CisgICAgMzA1MCo6SEktVVg6KjoqKQorCWV2YWwgJHNldF9jY19m
b3JfYnVpbGQKKwlzZWQgJ3MvXgkvLycgPDwgRU9GID4kZHVtbXkuYworCSNpbmNsdWRlIDx1bmlz
dGQuaD4KKwlpbnQKKwltYWluICgpCisJeworCSAgbG9uZyBjcHUgPSBzeXNjb25mIChfU0NfQ1BV
X1ZFUlNJT04pOworCSAgLyogVGhlIG9yZGVyIG1hdHRlcnMsIGJlY2F1c2UgQ1BVX0lTX0hQX01D
NjhLIGVycm9uZW91c2x5IHJldHVybnMKKwkgICAgIHRydWUgZm9yIENQVV9QQV9SSVNDMV8wLiAg
Q1BVX0lTX1BBX1JJU0MgcmV0dXJucyBjb3JyZWN0CisJICAgICByZXN1bHRzLCBob3dldmVyLiAg
Ki8KKwkgIGlmIChDUFVfSVNfUEFfUklTQyAoY3B1KSkKKwkgICAgeworCSAgICAgIHN3aXRjaCAo
Y3B1KQorCQl7CisJCSAgY2FzZSBDUFVfUEFfUklTQzFfMDogcHV0cyAoImhwcGExLjAtaGl0YWNo
aS1oaXV4d2UyIik7IGJyZWFrOworCQkgIGNhc2UgQ1BVX1BBX1JJU0MxXzE6IHB1dHMgKCJocHBh
MS4xLWhpdGFjaGktaGl1eHdlMiIpOyBicmVhazsKKwkJICBjYXNlIENQVV9QQV9SSVNDMl8wOiBw
dXRzICgiaHBwYTIuMC1oaXRhY2hpLWhpdXh3ZTIiKTsgYnJlYWs7CisJCSAgZGVmYXVsdDogcHV0
cyAoImhwcGEtaGl0YWNoaS1oaXV4d2UyIik7IGJyZWFrOworCQl9CisJICAgIH0KKwkgIGVsc2Ug
aWYgKENQVV9JU19IUF9NQzY4SyAoY3B1KSkKKwkgICAgcHV0cyAoIm02OGstaGl0YWNoaS1oaXV4
d2UyIik7CisJICBlbHNlIHB1dHMgKCJ1bmtub3duLWhpdGFjaGktaGl1eHdlMiIpOworCSAgZXhp
dCAoMCk7CisJfQorRU9GCisJJENDX0ZPUl9CVUlMRCAkZHVtbXkuYyAtbyAkZHVtbXkgJiYgLi8k
ZHVtbXkgJiYgcm0gLWYgJGR1bW15LmMgJGR1bW15ICYmIGV4aXQgMAorCXJtIC1mICRkdW1teS5j
ICRkdW1teQorCWVjaG8gdW5rbm93bi1oaXRhY2hpLWhpdXh3ZTIKKwlleGl0IDAgOzsKKyAgICA5
MDAwLzc/Pzo0LjNic2Q6KjoqIHwgOTAwMC84P1s3OV06NC4zYnNkOio6KiApCisJZWNobyBocHBh
MS4xLWhwLWJzZAorCWV4aXQgMCA7OworICAgIDkwMDAvOD8/OjQuM2JzZDoqOiopCisJZWNobyBo
cHBhMS4wLWhwLWJzZAorCWV4aXQgMCA7OworICAgICo5Pz8qOk1QRS9pWDoqOiogfCAqMzAwMCo6
TVBFL2lYOio6KikKKwllY2hvIGhwcGExLjAtaHAtbXBlaXgKKwlleGl0IDAgOzsKKyAgICBocDc/
PzpPU0YxOio6KiB8IGhwOD9bNzldOk9TRjE6KjoqICkKKwllY2hvIGhwcGExLjEtaHAtb3NmCisJ
ZXhpdCAwIDs7CisgICAgaHA4Pz86T1NGMToqOiopCisJZWNobyBocHBhMS4wLWhwLW9zZgorCWV4
aXQgMCA7OworICAgIGkqODY6T1NGMToqOiopCisJaWYgWyAteCAvdXNyL3NiaW4vc3lzdmVyc2lv
biBdIDsgdGhlbgorCSAgICBlY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1vc2YxbWsKKwll
bHNlCisJICAgIGVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLW9zZjEKKwlmaQorCWV4aXQg
MCA7OworICAgIHBhcmlzYyo6TGl0ZXMqOio6KikKKwllY2hvIGhwcGExLjEtaHAtbGl0ZXMKKwll
eGl0IDAgOzsKKyAgICBDMSo6Q29udmV4T1M6KjoqIHwgY29udmV4OkNvbnZleE9TOkMxKjoqKQor
CWVjaG8gYzEtY29udmV4LWJzZAorICAgICAgICBleGl0IDAgOzsKKyAgICBDMio6Q29udmV4T1M6
KjoqIHwgY29udmV4OkNvbnZleE9TOkMyKjoqKQorCWlmIGdldHN5c2luZm8gLWYgc2NhbGFyX2Fj
YworCXRoZW4gZWNobyBjMzItY29udmV4LWJzZAorCWVsc2UgZWNobyBjMi1jb252ZXgtYnNkCisJ
ZmkKKyAgICAgICAgZXhpdCAwIDs7CisgICAgQzM0KjpDb252ZXhPUzoqOiogfCBjb252ZXg6Q29u
dmV4T1M6QzM0KjoqKQorCWVjaG8gYzM0LWNvbnZleC1ic2QKKyAgICAgICAgZXhpdCAwIDs7Cisg
ICAgQzM4KjpDb252ZXhPUzoqOiogfCBjb252ZXg6Q29udmV4T1M6QzM4KjoqKQorCWVjaG8gYzM4
LWNvbnZleC1ic2QKKyAgICAgICAgZXhpdCAwIDs7CisgICAgQzQqOkNvbnZleE9TOio6KiB8IGNv
bnZleDpDb252ZXhPUzpDNCo6KikKKwllY2hvIGM0LWNvbnZleC1ic2QKKyAgICAgICAgZXhpdCAw
IDs7CisgICAgQ1JBWSpZLU1QOio6KjoqKQorCWVjaG8geW1wLWNyYXktdW5pY29zJHtVTkFNRV9S
RUxFQVNFfSB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCisJZXhpdCAwIDs7CisgICAgQ1JBWSpb
QS1aXTkwOio6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1jcmF5LXVuaWNvcyR7VU5BTUVf
UkVMRUFTRX0gXAorCXwgc2VkIC1lICdzL0NSQVkuKlwoW0EtWl05MFwpL1wxLycgXAorCSAgICAg
IC1lIHkvQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVovYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4
eXovIFwKKwkgICAgICAtZSAncy9cLlteLl0qJC8uWC8nCisJZXhpdCAwIDs7CisgICAgQ1JBWSpU
UzoqOio6KikKKwllY2hvIHQ5MC1jcmF5LXVuaWNvcyR7VU5BTUVfUkVMRUFTRX0gfCBzZWQgLWUg
J3MvXC5bXi5dKiQvLlgvJworCWV4aXQgMCA7OworICAgIENSQVkqVDNEOio6KjoqKQorCWVjaG8g
YWxwaGEtY3JheS11bmljb3NtayR7VU5BTUVfUkVMRUFTRX0gfCBzZWQgLWUgJ3MvXC5bXi5dKiQv
LlgvJworCWV4aXQgMCA7OworICAgIENSQVkqVDNFOio6KjoqKQorCWVjaG8gYWxwaGFldjUtY3Jh
eS11bmljb3NtayR7VU5BTUVfUkVMRUFTRX0gfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJworCWV4
aXQgMCA7OworICAgIENSQVkqU1YxOio6KjoqKQorCWVjaG8gc3YxLWNyYXktdW5pY29zJHtVTkFN
RV9SRUxFQVNFfSB8IHNlZCAtZSAncy9cLlteLl0qJC8uWC8nCisJZXhpdCAwIDs7CisgICAgRjMw
WzAxXTpVTklYX1N5c3RlbV9WOio6KiB8IEY3MDA6VU5JWF9TeXN0ZW1fVjoqOiopCisJRlVKSVRT
VV9QUk9DPWB1bmFtZSAtbSB8IHRyICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicgJ2FiY2Rl
ZmdoaWprbG1ub3BxcnN0dXZ3eHl6J2AKKyAgICAgICAgRlVKSVRTVV9TWVM9YHVuYW1lIC1wIHwg
dHIgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4
eXonIHwgc2VkIC1lICdzL1wvLy8nYAorICAgICAgICBGVUpJVFNVX1JFTD1gZWNobyAke1VOQU1F
X1JFTEVBU0V9IHwgc2VkIC1lICdzLyAvXy8nYAorICAgICAgICBlY2hvICIke0ZVSklUU1VfUFJP
Q30tZnVqaXRzdS0ke0ZVSklUU1VfU1lTfSR7RlVKSVRTVV9SRUx9IgorICAgICAgICBleGl0IDAg
OzsKKyAgICBpKjg2OkJTRC8zODY6KjoqIHwgaSo4NjpCU0QvT1M6KjoqIHwgKjpBc2NlbmRcIEVt
YmVkZGVkL09TOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtYnNkaSR7VU5BTUVfUkVM
RUFTRX0KKwlleGl0IDAgOzsKKyAgICBzcGFyYyo6QlNEL09TOio6KikKKwllY2hvIHNwYXJjLXVu
a25vd24tYnNkaSR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAgOzsKKyAgICAqOkJTRC9PUzoqOiop
CisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tYnNkaSR7VU5BTUVfUkVMRUFTRX0KKwll
eGl0IDAgOzsKKyAgICAqOkZyZWVCU0Q6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtu
b3duLWZyZWVic2RgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLShdLiovLydgCisJ
ZXhpdCAwIDs7CisgICAgaSo6Q1lHV0lOKjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1j
eWd3aW4KKwlleGl0IDAgOzsKKyAgICBpKjpNSU5HVyo6KikKKwllY2hvICR7VU5BTUVfTUFDSElO
RX0tcGMtbWluZ3czMgorCWV4aXQgMCA7OworICAgIGkqOlBXKjoqKQorCWVjaG8gJHtVTkFNRV9N
QUNISU5FfS1wYy1wdzMyCisJZXhpdCAwIDs7CisgICAgeDg2OkludGVyaXgqOjMqKQorCWVjaG8g
aTM4Ni1wYy1pbnRlcml4MworCWV4aXQgMCA7OworICAgIGkqOldpbmRvd3NfTlQqOiogfCBQZW50
aXVtKjpXaW5kb3dzX05UKjoqKQorCSMgSG93IGRvIHdlIGtub3cgaXQncyBJbnRlcml4IHJhdGhl
ciB0aGFuIHRoZSBnZW5lcmljIFBPU0lYIHN1YnN5c3RlbT8KKwkjIEl0IGFsc28gY29uZmxpY3Rz
IHdpdGggcHJlLTIuMCB2ZXJzaW9ucyBvZiBBVCZUIFVXSU4uIFNob3VsZCB3ZQorCSMgVU5BTUVf
TUFDSElORSBiYXNlZCBvbiB0aGUgb3V0cHV0IG9mIHVuYW1lIGluc3RlYWQgb2YgaTM4Nj8KKwll
Y2hvIGkzODYtcGMtaW50ZXJpeAorCWV4aXQgMCA7OworICAgIGkqOlVXSU4qOiopCisJZWNobyAk
e1VOQU1FX01BQ0hJTkV9LXBjLXV3aW4KKwlleGl0IDAgOzsKKyAgICBwKjpDWUdXSU4qOiopCisJ
ZWNobyBwb3dlcnBjbGUtdW5rbm93bi1jeWd3aW4KKwlleGl0IDAgOzsKKyAgICBwcmVwKjpTdW5P
Uzo1Lio6KikKKwllY2hvIHBvd2VycGNsZS11bmtub3duLXNvbGFyaXMyYGVjaG8gJHtVTkFNRV9S
RUxFQVNFfXxzZWQgLWUgJ3MvW14uXSovLydgCisJZXhpdCAwIDs7CisgICAgKjpHTlU6KjoqKQor
CWVjaG8gYGVjaG8gJHtVTkFNRV9NQUNISU5FfXxzZWQgLWUgJ3MsWy0vXS4qJCwsJ2AtdW5rbm93
bi1nbnVgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncywvLiokLCwnYAorCWV4aXQgMCA7
OworICAgIGkqODY6TWluaXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1taW5peAor
CWV4aXQgMCA7OworICAgIGFybSo6TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11
bmtub3duLWxpbnV4LWdudQorCWV4aXQgMCA7OworICAgIGlhNjQ6TGludXg6KjoqKQorCWVjaG8g
JHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQgMCA7OworICAgIG02OCo6
TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4
aXQgMCA7OworICAgIG1pcHM6TGludXg6KjoqKQorCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlz
ZWQgJ3MvXgkvLycgPDwgRU9GID4kZHVtbXkuYworCSN1bmRlZiBDUFUKKwkjdW5kZWYgbWlwcwor
CSN1bmRlZiBtaXBzZWwKKwkjaWYgZGVmaW5lZChfX01JUFNFTF9fKSB8fCBkZWZpbmVkKF9fTUlQ
U0VMKSB8fCBkZWZpbmVkKF9NSVBTRUwpIHx8IGRlZmluZWQoTUlQU0VMKQorCUNQVT1taXBzZWwK
KwkjZWxzZQorCSNpZiBkZWZpbmVkKF9fTUlQU0VCX18pIHx8IGRlZmluZWQoX19NSVBTRUIpIHx8
IGRlZmluZWQoX01JUFNFQikgfHwgZGVmaW5lZChNSVBTRUIpCisJQ1BVPW1pcHMKKwkjZWxzZQor
CUNQVT0KKwkjZW5kaWYKKwkjZW5kaWYKK0VPRgorCWV2YWwgYCRDQ19GT1JfQlVJTEQgLUUgJGR1
bW15LmMgMj4vZGV2L251bGwgfCBncmVwIF5DUFU9YAorCXJtIC1mICRkdW1teS5jCisJdGVzdCB4
IiR7Q1BVfSIgIT0geCAmJiBlY2hvICIke0NQVX0tcGMtbGludXgtZ251IiAmJiBleGl0IDAKKwk7
OworICAgIHBwYzpMaW51eDoqOiopCisJZWNobyBwb3dlcnBjLXVua25vd24tbGludXgtZ251CisJ
ZXhpdCAwIDs7CisgICAgcHBjNjQ6TGludXg6KjoqKQorCWVjaG8gcG93ZXJwYzY0LXVua25vd24t
bGludXgtZ251CisJZXhpdCAwIDs7CisgICAgYWxwaGE6TGludXg6KjoqKQorCWNhc2UgYHNlZCAt
biAnL15jcHUgbW9kZWwvcy9eLio6IFwoLipcKS9cMS9wJyA8IC9wcm9jL2NwdWluZm9gIGluCisJ
ICBFVjUpICAgVU5BTUVfTUFDSElORT1hbHBoYWV2NSA7OworCSAgRVY1NikgIFVOQU1FX01BQ0hJ
TkU9YWxwaGFldjU2IDs7CisJICBQQ0E1NikgVU5BTUVfTUFDSElORT1hbHBoYXBjYTU2IDs7CisJ
ICBQQ0E1NykgVU5BTUVfTUFDSElORT1hbHBoYXBjYTU2IDs7CisJICBFVjYpICAgVU5BTUVfTUFD
SElORT1hbHBoYWV2NiA7OworCSAgRVY2NykgIFVOQU1FX01BQ0hJTkU9YWxwaGFldjY3IDs7CisJ
ICBFVjY4KikgVU5BTUVfTUFDSElORT1hbHBoYWV2NjggOzsKKyAgICAgICAgZXNhYworCW9iamR1
bXAgLS1wcml2YXRlLWhlYWRlcnMgL2Jpbi9zaCB8IGdyZXAgbGQuc28uMSA+L2Rldi9udWxsCisJ
aWYgdGVzdCAiJD8iID0gMCA7IHRoZW4gTElCQz0ibGliYzEiIDsgZWxzZSBMSUJDPSIiIDsgZmkK
KwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUke0xJQkN9CisJZXhpdCAw
IDs7CisgICAgcGFyaXNjOkxpbnV4Oio6KiB8IGhwcGE6TGludXg6KjoqKQorCSMgTG9vayBmb3Ig
Q1BVIGxldmVsCisJY2FzZSBgZ3JlcCAnXmNwdVteYS16XSo6JyAvcHJvYy9jcHVpbmZvIDI+L2Rl
di9udWxsIHwgY3V0IC1kJyAnIC1mMmAgaW4KKwkgIFBBNyopIGVjaG8gaHBwYTEuMS11bmtub3du
LWxpbnV4LWdudSA7OworCSAgUEE4KikgZWNobyBocHBhMi4wLXVua25vd24tbGludXgtZ251IDs7
CisJICAqKSAgICBlY2hvIGhwcGEtdW5rbm93bi1saW51eC1nbnUgOzsKKwllc2FjCisJZXhpdCAw
IDs7CisgICAgcGFyaXNjNjQ6TGludXg6KjoqIHwgaHBwYTY0OkxpbnV4Oio6KikKKwllY2hvIGhw
cGE2NC11bmtub3duLWxpbnV4LWdudQorCWV4aXQgMCA7OworICAgIHMzOTA6TGludXg6KjoqIHwg
czM5MHg6TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1pYm0tbGludXgKKwlleGl0
IDAgOzsKKyAgICBzaCo6TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3du
LWxpbnV4LWdudQorCWV4aXQgMCA7OworICAgIHNwYXJjOkxpbnV4Oio6KiB8IHNwYXJjNjQ6TGlu
dXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQg
MCA7OworICAgIHg4Nl82NDpMaW51eDoqOiopCisJZWNobyB4ODZfNjQtdW5rbm93bi1saW51eC1n
bnUKKwlleGl0IDAgOzsKKyAgICBpKjg2OkxpbnV4Oio6KikKKwkjIFRoZSBCRkQgbGlua2VyIGtu
b3dzIHdoYXQgdGhlIGRlZmF1bHQgb2JqZWN0IGZpbGUgZm9ybWF0IGlzLCBzbworCSMgZmlyc3Qg
c2VlIGlmIGl0IHdpbGwgdGVsbCB1cy4gY2QgdG8gdGhlIHJvb3QgZGlyZWN0b3J5IHRvIHByZXZl
bnQKKwkjIHByb2JsZW1zIHdpdGggb3RoZXIgcHJvZ3JhbXMgb3IgZGlyZWN0b3JpZXMgY2FsbGVk
IGBsZCcgaW4gdGhlIHBhdGguCisJIyBTZXQgTENfQUxMPUMgdG8gZW5zdXJlIGxkIG91dHB1dHMg
bWVzc2FnZXMgaW4gRW5nbGlzaC4KKwlsZF9zdXBwb3J0ZWRfdGFyZ2V0cz1gY2QgLzsgTENfQUxM
PUMgbGQgLS1oZWxwIDI+JjEgXAorCQkJIHwgc2VkIC1uZSAnL3N1cHBvcnRlZCB0YXJnZXRzOi8h
ZAorCQkJCSAgICBzL1sgCV1bIAldKi8gL2cKKwkJCQkgICAgcy8uKnN1cHBvcnRlZCB0YXJnZXRz
OiAqLy8KKwkJCQkgICAgcy8gLiovLworCQkJCSAgICBwJ2AKKyAgICAgICAgY2FzZSAiJGxkX3N1
cHBvcnRlZF90YXJnZXRzIiBpbgorCSAgZWxmMzItaTM4NikKKwkJVEVOVEFUSVZFPSIke1VOQU1F
X01BQ0hJTkV9LXBjLWxpbnV4LWdudSIKKwkJOzsKKwkgIGEub3V0LWkzODYtbGludXgpCisJCWVj
aG8gIiR7VU5BTUVfTUFDSElORX0tcGMtbGludXgtZ251YW91dCIKKwkJZXhpdCAwIDs7CQkKKwkg
IGNvZmYtaTM4NikKKwkJZWNobyAiJHtVTkFNRV9NQUNISU5FfS1wYy1saW51eC1nbnVjb2ZmIgor
CQlleGl0IDAgOzsKKwkgICIiKQorCQkjIEVpdGhlciBhIHByZS1CRkQgYS5vdXQgbGlua2VyIChs
aW51eC1nbnVvbGRsZCkgb3IKKwkJIyBvbmUgdGhhdCBkb2VzIG5vdCBnaXZlIHVzIHVzZWZ1bCAt
LWhlbHAuCisJCWVjaG8gIiR7VU5BTUVfTUFDSElORX0tcGMtbGludXgtZ251b2xkbGQiCisJCWV4
aXQgMCA7OworCWVzYWMKKwkjIERldGVybWluZSB3aGV0aGVyIHRoZSBkZWZhdWx0IGNvbXBpbGVy
IGlzIGEub3V0IG9yIGVsZgorCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlzZWQgJ3MvXgkvLycg
PDwgRU9GID4kZHVtbXkuYworCSNpbmNsdWRlIDxmZWF0dXJlcy5oPgorCSNpZmRlZiBfX0VMRl9f
CisJIyBpZmRlZiBfX0dMSUJDX18KKwkjICBpZiBfX0dMSUJDX18gPj0gMgorCUxJQkM9Z251CisJ
IyAgZWxzZQorCUxJQkM9Z251bGliYzEKKwkjICBlbmRpZgorCSMgZWxzZQorCUxJQkM9Z251bGli
YzEKKwkjIGVuZGlmCisJI2Vsc2UKKwkjaWZkZWYgX19JTlRFTF9DT01QSUxFUgorCUxJQkM9Z251
CisJI2Vsc2UKKwlMSUJDPWdudWFvdXQKKwkjZW5kaWYKKwkjZW5kaWYKK0VPRgorCWV2YWwgYCRD
Q19GT1JfQlVJTEQgLUUgJGR1bW15LmMgMj4vZGV2L251bGwgfCBncmVwIF5MSUJDPWAKKwlybSAt
ZiAkZHVtbXkuYworCXRlc3QgeCIke0xJQkN9IiAhPSB4ICYmIGVjaG8gIiR7VU5BTUVfTUFDSElO
RX0tcGMtbGludXgtJHtMSUJDfSIgJiYgZXhpdCAwCisJdGVzdCB4IiR7VEVOVEFUSVZFfSIgIT0g
eCAmJiBlY2hvICIke1RFTlRBVElWRX0iICYmIGV4aXQgMAorCTs7CisgICAgaSo4NjpEWU5JWC9w
dHg6NCo6KikKKwkjIHB0eCA0LjAgZG9lcyB1bmFtZSAtcyBjb3JyZWN0bHksIHdpdGggRFlOSVgv
cHR4IGluIHRoZXJlLgorCSMgZWFybGllciB2ZXJzaW9ucyBhcmUgbWVzc2VkIHVwIGFuZCBwdXQg
dGhlIG5vZGVuYW1lIGluIGJvdGgKKwkjIHN5c25hbWUgYW5kIG5vZGVuYW1lLgorCWVjaG8gaTM4
Ni1zZXF1ZW50LXN5c3Y0CisJZXhpdCAwIDs7CisgICAgaSo4NjpVTklYX1NWOjQuMk1QOjIuKikK
KyAgICAgICAgIyBVbml4d2FyZSBpcyBhbiBvZmZzaG9vdCBvZiBTVlI0LCBidXQgaXQgaGFzIGl0
cyBvd24gdmVyc2lvbgorICAgICAgICAjIG51bWJlciBzZXJpZXMgc3RhcnRpbmcgd2l0aCAyLi4u
CisgICAgICAgICMgSSBhbSBub3QgcG9zaXRpdmUgdGhhdCBvdGhlciBTVlI0IHN5c3RlbXMgd29u
J3QgbWF0Y2ggdGhpcywKKwkjIEkganVzdCBoYXZlIHRvIGhvcGUuICAtLSBybXMuCisgICAgICAg
ICMgVXNlIHN5c3Y0LjJ1dy4uLiBzbyB0aGF0IHN5c3Y0KiBtYXRjaGVzIGl0LgorCWVjaG8gJHtV
TkFNRV9NQUNISU5FfS1wYy1zeXN2NC4ydXcke1VOQU1FX1ZFUlNJT059CisJZXhpdCAwIDs7Cisg
ICAgaSo4NjoqOjQuKjoqIHwgaSo4NjpTWVNURU1fVjo0Lio6KikKKwlVTkFNRV9SRUw9YGVjaG8g
JHtVTkFNRV9SRUxFQVNFfSB8IHNlZCAncy9cL01QJC8vJ2AKKwlpZiBncmVwIE5vdmVsbCAvdXNy
L2luY2x1ZGUvbGluay5oID4vZGV2L251bGwgMj4vZGV2L251bGw7IHRoZW4KKwkJZWNobyAke1VO
QU1FX01BQ0hJTkV9LXVuaXZlbC1zeXN2JHtVTkFNRV9SRUx9CisJZWxzZQorCQllY2hvICR7VU5B
TUVfTUFDSElORX0tcGMtc3lzdiR7VU5BTUVfUkVMfQorCWZpCisJZXhpdCAwIDs7CisgICAgaSo4
NjoqOjU6Wzc4XSopCisJY2FzZSBgL2Jpbi91bmFtZSAtWCB8IGdyZXAgIl5NYWNoaW5lImAgaW4K
KwkgICAgKjQ4NiopCSAgICAgVU5BTUVfTUFDSElORT1pNDg2IDs7CisJICAgICpQZW50aXVtKQkg
ICAgIFVOQU1FX01BQ0hJTkU9aTU4NiA7OworCSAgICAqUGVudCp8KkNlbGVyb24pIFVOQU1FX01B
Q0hJTkU9aTY4NiA7OworCWVzYWMKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1zeXN2
JHtVTkFNRV9SRUxFQVNFfSR7VU5BTUVfU1lTVEVNfSR7VU5BTUVfVkVSU0lPTn0KKwlleGl0IDAg
OzsKKyAgICBpKjg2Oio6My4yOiopCisJaWYgdGVzdCAtZiAvdXNyL29wdGlvbnMvY2IubmFtZTsg
dGhlbgorCQlVTkFNRV9SRUw9YHNlZCAtbiAncy8uKlZlcnNpb24gLy9wJyA8L3Vzci9vcHRpb25z
L2NiLm5hbWVgCisJCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1pc2MkVU5BTUVfUkVMCisJZWxp
ZiAvYmluL3VuYW1lIC1YIDI+L2Rldi9udWxsID4vZGV2L251bGwgOyB0aGVuCisJCVVOQU1FX1JF
TD1gKC9iaW4vdW5hbWUgLVh8ZWdyZXAgUmVsZWFzZXxzZWQgLWUgJ3MvLio9IC8vJylgCisJCSgv
YmluL3VuYW1lIC1YfGVncmVwIGk4MDQ4NiA+L2Rldi9udWxsKSAmJiBVTkFNRV9NQUNISU5FPWk0
ODYKKwkJKC9iaW4vdW5hbWUgLVh8ZWdyZXAgJ15NYWNoaW5lLipQZW50aXVtJyA+L2Rldi9udWxs
KSBcCisJCQkmJiBVTkFNRV9NQUNISU5FPWk1ODYKKwkJKC9iaW4vdW5hbWUgLVh8ZWdyZXAgJ15N
YWNoaW5lLipQZW50ID9JSScgPi9kZXYvbnVsbCkgXAorCQkJJiYgVU5BTUVfTUFDSElORT1pNjg2
CisJCSgvYmluL3VuYW1lIC1YfGVncmVwICdeTWFjaGluZS4qUGVudGl1bSBQcm8nID4vZGV2L251
bGwpIFwKKwkJCSYmIFVOQU1FX01BQ0hJTkU9aTY4NgorCQllY2hvICR7VU5BTUVfTUFDSElORX0t
cGMtc2NvJFVOQU1FX1JFTAorCWVsc2UKKwkJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLXN5c3Yz
MgorCWZpCisJZXhpdCAwIDs7CisgICAgaSo4NjoqRE9TOio6KikKKwllY2hvICR7VU5BTUVfTUFD
SElORX0tcGMtbXNkb3NkamdwcAorCWV4aXQgMCA7OworICAgIHBjOio6KjoqKQorCSMgTGVmdCBo
ZXJlIGZvciBjb21wYXRpYmlsaXR5OgorICAgICAgICAjIHVuYW1lIC1tIHByaW50cyBmb3IgREpH
UFAgYWx3YXlzICdwYycsIGJ1dCBpdCBwcmludHMgbm90aGluZyBhYm91dAorICAgICAgICAjIHRo
ZSBwcm9jZXNzb3IsIHNvIHdlIHBsYXkgc2FmZSBieSBhc3N1bWluZyBpMzg2LgorCWVjaG8gaTM4
Ni1wYy1tc2Rvc2RqZ3BwCisgICAgICAgIGV4aXQgMCA7OworICAgIEludGVsOk1hY2g6Myo6KikK
KwllY2hvIGkzODYtcGMtbWFjaDMKKwlleGl0IDAgOzsKKyAgICBwYXJhZ29uOio6KjoqKQorCWVj
aG8gaTg2MC1pbnRlbC1vc2YxCisJZXhpdCAwIDs7CisgICAgaTg2MDoqOjQuKjoqKSAjIGk4NjAt
U1ZSNAorCWlmIGdyZXAgU3RhcmRlbnQgL3Vzci9pbmNsdWRlL3N5cy91YWRtaW4uaCA+L2Rldi9u
dWxsIDI+JjEgOyB0aGVuCisJICBlY2hvIGk4NjAtc3RhcmRlbnQtc3lzdiR7VU5BTUVfUkVMRUFT
RX0gIyBTdGFyZGVudCBWaXN0cmEgaTg2MC1TVlI0CisJZWxzZSAjIEFkZCBvdGhlciBpODYwLVNW
UjQgdmVuZG9ycyBiZWxvdyBhcyB0aGV5IGFyZSBkaXNjb3ZlcmVkLgorCSAgZWNobyBpODYwLXVu
a25vd24tc3lzdiR7VU5BTUVfUkVMRUFTRX0gICMgVW5rbm93biBpODYwLVNWUjQKKwlmaQorCWV4
aXQgMCA7OworICAgIG1pbmkqOkNUSVg6U1lTKjU6KikKKwkjICJtaW5pZnJhbWUiCisJZWNobyBt
NjgwMTAtY29udmVyZ2VudC1zeXN2CisJZXhpdCAwIDs7CisgICAgTTY4KjoqOlIzVls1NjddKjoq
KQorCXRlc3QgLXIgL3N5c1Y2OCAmJiBlY2hvICdtNjhrLW1vdG9yb2xhLXN5c3YnICYmIGV4aXQg
MCA7OworICAgIDNbMzRdPz86Kjo0LjA6My4wIHwgM1szNF0/P0E6Kjo0LjA6My4wIHwgM1szNF0/
PywqOio6NC4wOjMuMCB8IDNbMzRdPz8vKjoqOjQuMDozLjAgfCA0ODUwOio6NC4wOjMuMCB8IFNL
QTQwOio6NC4wOjMuMCkKKwlPU19SRUw9JycKKwl0ZXN0IC1yIC9ldGMvLnJlbGlkIFwKKwkmJiBP
U19SRUw9LmBzZWQgLW4gJ3MvW14gXSogW14gXSogXChbMC05XVswLTldXCkuKi9cMS9wJyA8IC9l
dGMvLnJlbGlkYAorCS9iaW4vdW5hbWUgLXAgMj4vZGV2L251bGwgfCBncmVwIDg2ID4vZGV2L251
bGwgXAorCSAgJiYgZWNobyBpNDg2LW5jci1zeXN2NC4zJHtPU19SRUx9ICYmIGV4aXQgMAorCS9i
aW4vdW5hbWUgLXAgMj4vZGV2L251bGwgfCAvYmluL2dyZXAgZW50aXVtID4vZGV2L251bGwgXAor
CSAgJiYgZWNobyBpNTg2LW5jci1zeXN2NC4zJHtPU19SRUx9ICYmIGV4aXQgMCA7OworICAgIDNb
MzRdPz86Kjo0LjA6KiB8IDNbMzRdPz8sKjoqOjQuMDoqKQorICAgICAgICAvYmluL3VuYW1lIC1w
IDI+L2Rldi9udWxsIHwgZ3JlcCA4NiA+L2Rldi9udWxsIFwKKyAgICAgICAgICAmJiBlY2hvIGk0
ODYtbmNyLXN5c3Y0ICYmIGV4aXQgMCA7OworICAgIG02OCo6THlueE9TOjIuKjoqIHwgbTY4KjpM
eW54T1M6My4wKjoqKQorCWVjaG8gbTY4ay11bmtub3duLWx5bnhvcyR7VU5BTUVfUkVMRUFTRX0K
KwlleGl0IDAgOzsKKyAgICBtYzY4MDMwOlVOSVhfU3lzdGVtX1Y6NC4qOiopCisJZWNobyBtNjhr
LWF0YXJpLXN5c3Y0CisJZXhpdCAwIDs7CisgICAgaSo4NjpMeW54T1M6Mi4qOiogfCBpKjg2Okx5
bnhPUzozLlswMV0qOiogfCBpKjg2Okx5bnhPUzo0LjAqOiopCisJZWNobyBpMzg2LXVua25vd24t
bHlueG9zJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgMCA7OworICAgIFRTVU5BTUk6THlueE9TOjIu
KjoqKQorCWVjaG8gc3BhcmMtdW5rbm93bi1seW54b3Mke1VOQU1FX1JFTEVBU0V9CisJZXhpdCAw
IDs7CisgICAgcnM2MDAwOkx5bnhPUzoyLio6KikKKwllY2hvIHJzNjAwMC11bmtub3duLWx5bnhv
cyR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDAgOzsKKyAgICBQb3dlclBDOkx5bnhPUzoyLio6KiB8
IFBvd2VyUEM6THlueE9TOjMuWzAxXSo6KiB8IFBvd2VyUEM6THlueE9TOjQuMCo6KikKKwllY2hv
IHBvd2VycGMtdW5rbm93bi1seW54b3Mke1VOQU1FX1JFTEVBU0V9CisJZXhpdCAwIDs7CisgICAg
U01bQkVdUzpVTklYX1NWOio6KikKKwllY2hvIG1pcHMtZGRlLXN5c3Yke1VOQU1FX1JFTEVBU0V9
CisJZXhpdCAwIDs7CisgICAgUk0qOlJlbGlhbnRVTklYLSo6KjoqKQorCWVjaG8gbWlwcy1zbmkt
c3lzdjQKKwlleGl0IDAgOzsKKyAgICBSTSo6U0lOSVgtKjoqOiopCisJZWNobyBtaXBzLXNuaS1z
eXN2NAorCWV4aXQgMCA7OworICAgICo6U0lOSVgtKjoqOiopCisJaWYgdW5hbWUgLXAgMj4vZGV2
L251bGwgPi9kZXYvbnVsbCA7IHRoZW4KKwkJVU5BTUVfTUFDSElORT1gKHVuYW1lIC1wKSAyPi9k
ZXYvbnVsbGAKKwkJZWNobyAke1VOQU1FX01BQ0hJTkV9LXNuaS1zeXN2NAorCWVsc2UKKwkJZWNo
byBuczMyay1zbmktc3lzdgorCWZpCisJZXhpdCAwIDs7CisgICAgUEVOVElVTToqOjQuMCo6Kikg
IyBVbmlzeXMgYENsZWFyUGF0aCBITVAgSVggNDAwMCcgU1ZSNC9NUCBlZmZvcnQKKyAgICAgICAg
ICAgICAgICAgICAgICAjIHNheXMgPFJpY2hhcmQuTS5CYXJ0ZWxAY2NNYWlsLkNlbnN1cy5HT1Y+
CisgICAgICAgIGVjaG8gaTU4Ni11bmlzeXMtc3lzdjQKKyAgICAgICAgZXhpdCAwIDs7CisgICAg
KjpVTklYX1N5c3RlbV9WOjQqOkZUWCopCisJIyBGcm9tIEdlcmFsZCBIZXdlcyA8aGV3ZXNAb3Bl
bm1hcmtldC5jb20+LgorCSMgSG93IGFib3V0IGRpZmZlcmVudGlhdGluZyBiZXR3ZWVuIHN0cmF0
dXMgYXJjaGl0ZWN0dXJlcz8gLWRqbQorCWVjaG8gaHBwYTEuMS1zdHJhdHVzLXN5c3Y0CisJZXhp
dCAwIDs7CisgICAgKjoqOio6RlRYKikKKwkjIEZyb20gc2VhbmZAc3dkYy5zdHJhdHVzLmNvbS4K
KwllY2hvIGk4NjAtc3RyYXR1cy1zeXN2NAorCWV4aXQgMCA7OworICAgICo6Vk9TOio6KikKKwkj
IEZyb20gUGF1bC5HcmVlbkBzdHJhdHVzLmNvbS4KKwllY2hvIGhwcGExLjEtc3RyYXR1cy12b3MK
KwlleGl0IDAgOzsKKyAgICBtYzY4KjpBL1VYOio6KikKKwllY2hvIG02OGstYXBwbGUtYXV4JHtV
TkFNRV9SRUxFQVNFfQorCWV4aXQgMCA7OworICAgIG5ld3MqOk5FV1MtT1M6Nio6KikKKwllY2hv
IG1pcHMtc29ueS1uZXdzb3M2CisJZXhpdCAwIDs7CisgICAgUlszNF0wMDA6KlN5c3RlbV9WKjoq
OiogfCBSNDAwMDpVTklYX1NZU1Y6KjoqIHwgUiowMDA6VU5JWF9TVjoqOiopCisJaWYgWyAtZCAv
dXNyL25lYyBdOyB0aGVuCisJICAgICAgICBlY2hvIG1pcHMtbmVjLXN5c3Yke1VOQU1FX1JFTEVB
U0V9CisJZWxzZQorCSAgICAgICAgZWNobyBtaXBzLXVua25vd24tc3lzdiR7VU5BTUVfUkVMRUFT
RX0KKwlmaQorICAgICAgICBleGl0IDAgOzsKKyAgICBCZUJveDpCZU9TOio6KikJIyBCZU9TIHJ1
bm5pbmcgb24gaGFyZHdhcmUgbWFkZSBieSBCZSwgUFBDIG9ubHkuCisJZWNobyBwb3dlcnBjLWJl
LWJlb3MKKwlleGl0IDAgOzsKKyAgICBCZU1hYzpCZU9TOio6KikJIyBCZU9TIHJ1bm5pbmcgb24g
TWFjIG9yIE1hYyBjbG9uZSwgUFBDIG9ubHkuCisJZWNobyBwb3dlcnBjLWFwcGxlLWJlb3MKKwll
eGl0IDAgOzsKKyAgICBCZVBDOkJlT1M6KjoqKQkjIEJlT1MgcnVubmluZyBvbiBJbnRlbCBQQyBj
b21wYXRpYmxlLgorCWVjaG8gaTU4Ni1wYy1iZW9zCisJZXhpdCAwIDs7CisgICAgU1gtNDpTVVBF
Ui1VWDoqOiopCisJZWNobyBzeDQtbmVjLXN1cGVydXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCAw
IDs7CisgICAgU1gtNTpTVVBFUi1VWDoqOiopCisJZWNobyBzeDUtbmVjLXN1cGVydXgke1VOQU1F
X1JFTEVBU0V9CisJZXhpdCAwIDs7CisgICAgUG93ZXIqOlJoYXBzb2R5Oio6KikKKwllY2hvIHBv
d2VycGMtYXBwbGUtcmhhcHNvZHkke1VOQU1FX1JFTEVBU0V9CisJZXhpdCAwIDs7CisgICAgKjpS
aGFwc29keToqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LWFwcGxlLXJoYXBzb2R5JHtVTkFN
RV9SRUxFQVNFfQorCWV4aXQgMCA7OworICAgICo6RGFyd2luOio6KikKKwllY2hvIGB1bmFtZSAt
cGAtYXBwbGUtZGFyd2luJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgMCA7OworICAgICo6cHJvY250
byo6KjoqIHwgKjpRTlg6WzAxMjM0NTY3ODldKjoqKQorCVVOQU1FX1BST0NFU1NPUj1gdW5hbWUg
LXBgCisJaWYgdGVzdCAiJFVOQU1FX1BST0NFU1NPUiIgPSAieDg2IjsgdGhlbgorCQlVTkFNRV9Q
Uk9DRVNTT1I9aTM4NgorCQlVTkFNRV9NQUNISU5FPXBjCisJZmkKKwllY2hvICR7VU5BTUVfUFJP
Q0VTU09SfS0ke1VOQU1FX01BQ0hJTkV9LW50by1xbngke1VOQU1FX1JFTEVBU0V9CisJZXhpdCAw
IDs7CisgICAgKjpRTlg6Kjo0KikKKwllY2hvIGkzODYtcGMtcW54CisJZXhpdCAwIDs7CisgICAg
TlNSLVtHS0xOUFRWV106Tk9OU1RPUF9LRVJORUw6KjoqKQorCWVjaG8gbnNyLXRhbmRlbS1uc2sk
e1VOQU1FX1JFTEVBU0V9CisJZXhpdCAwIDs7CisgICAgKjpOb25TdG9wLVVYOio6KikKKwllY2hv
IG1pcHMtY29tcGFxLW5vbnN0b3B1eAorCWV4aXQgMCA7OworICAgIEJTMjAwMDpQT1NJWCo6Kjoq
KQorCWVjaG8gYnMyMDAwLXNpZW1lbnMtc3lzdgorCWV4aXQgMCA7OworICAgIERTLyo6VU5JWF9T
eXN0ZW1fVjoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LSR7VU5BTUVfU1lTVEVNfS0ke1VO
QU1FX1JFTEVBU0V9CisJZXhpdCAwIDs7CisgICAgKjpQbGFuOToqOiopCisJIyAidW5hbWUgLW0i
IGlzIG5vdCBjb25zaXN0ZW50LCBzbyB1c2UgJGNwdXR5cGUgaW5zdGVhZC4gMzg2CisJIyBpcyBj
b252ZXJ0ZWQgdG8gaTM4NiBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciB4ODYKKwkjIG9wZXJh
dGluZyBzeXN0ZW1zLgorCWlmIHRlc3QgIiRjcHV0eXBlIiA9ICIzODYiOyB0aGVuCisJICAgIFVO
QU1FX01BQ0hJTkU9aTM4NgorCWVsc2UKKwkgICAgVU5BTUVfTUFDSElORT0iJGNwdXR5cGUiCisJ
ZmkKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1wbGFuOQorCWV4aXQgMCA7OworICAg
IGkqODY6T1MvMjoqOiopCisJIyBJZiB3ZSB3ZXJlIGFibGUgdG8gZmluZCBgdW5hbWUnLCB0aGVu
IEVNWCBVbml4IGNvbXBhdGliaWxpdHkKKwkjIGlzIHByb2JhYmx5IGluc3RhbGxlZC4KKwllY2hv
ICR7VU5BTUVfTUFDSElORX0tcGMtb3MyLWVteAorCWV4aXQgMCA7OworICAgICo6VE9QUy0xMDoq
OiopCisJZWNobyBwZHAxMC11bmtub3duLXRvcHMxMAorCWV4aXQgMCA7OworICAgICo6VEVORVg6
KjoqKQorCWVjaG8gcGRwMTAtdW5rbm93bi10ZW5leAorCWV4aXQgMCA7OworICAgIEtTMTA6VE9Q
Uy0yMDoqOiogfCBLTDEwOlRPUFMtMjA6KjoqIHwgVFlQRTQ6VE9QUy0yMDoqOiopCisJZWNobyBw
ZHAxMC1kZWMtdG9wczIwCisJZXhpdCAwIDs7CisgICAgWEtMLTE6VE9QUy0yMDoqOiogfCBUWVBF
NTpUT1BTLTIwOio6KikKKwllY2hvIHBkcDEwLXhrbC10b3BzMjAKKwlleGl0IDAgOzsKKyAgICAq
OlRPUFMtMjA6KjoqKQorCWVjaG8gcGRwMTAtdW5rbm93bi10b3BzMjAKKwlleGl0IDAgOzsKKyAg
ICAqOklUUzoqOiopCisJZWNobyBwZHAxMC11bmtub3duLWl0cworCWV4aXQgMCA7OworICAgIGkq
ODY6WFRTLTMwMDoqOlNUT1ApCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tc3RvcAor
CWV4aXQgMCA7OworICAgIGkqODY6YXRoZW9zOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0t
dW5rbm93bi1hdGhlb3MKKwlleGl0IDAgOzsKK2VzYWMKKworI2VjaG8gJyhObyB1bmFtZSBjb21t
YW5kIG9yIHVuYW1lIG91dHB1dCBub3QgcmVjb2duaXplZC4pJyAxPiYyCisjZWNobyAiJHtVTkFN
RV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJ
T059IiAxPiYyCisKK2V2YWwgJHNldF9jY19mb3JfYnVpbGQKK2NhdCA+JGR1bW15LmMgPDxFT0YK
KyNpZmRlZiBfU0VRVUVOVF8KKyMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjIGluY2x1ZGUgPHN5
cy91dHNuYW1lLmg+CisjZW5kaWYKK21haW4gKCkKK3sKKyNpZiBkZWZpbmVkIChzb255KQorI2lm
IGRlZmluZWQgKE1JUFNFQikKKyAgLyogQkZEIHdhbnRzICJic2QiIGluc3RlYWQgb2YgIm5ld3Nv
cyIuICBQZXJoYXBzIEJGRCBzaG91bGQgYmUgY2hhbmdlZCwKKyAgICAgSSBkb24ndCBrbm93Li4u
LiAgKi8KKyAgcHJpbnRmICgibWlwcy1zb255LWJzZFxuIik7IGV4aXQgKDApOworI2Vsc2UKKyNp
bmNsdWRlIDxzeXMvcGFyYW0uaD4KKyAgcHJpbnRmICgibTY4ay1zb255LW5ld3NvcyVzXG4iLAor
I2lmZGVmIE5FV1NPUzQKKyAgICAgICAgICAiNCIKKyNlbHNlCisJICAiIgorI2VuZGlmCisgICAg
ICAgICApOyBleGl0ICgwKTsKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChfX2FybSkg
JiYgZGVmaW5lZCAoX19hY29ybikgJiYgZGVmaW5lZCAoX191bml4KQorICBwcmludGYgKCJhcm0t
YWNvcm4tcmlzY2l4Iik7IGV4aXQgKDApOworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChocDMwMCkg
JiYgIWRlZmluZWQgKGhwdXgpCisgIHByaW50ZiAoIm02OGstaHAtYnNkXG4iKTsgZXhpdCAoMCk7
CisjZW5kaWYKKworI2lmIGRlZmluZWQgKE5lWFQpCisjaWYgIWRlZmluZWQgKF9fQVJDSElURUNU
VVJFX18pCisjZGVmaW5lIF9fQVJDSElURUNUVVJFX18gIm02OGsiCisjZW5kaWYKKyAgaW50IHZl
cnNpb247CisgIHZlcnNpb249YChob3N0aW5mbyB8IHNlZCAtbiAncy8uKk5lWFQgTWFjaCBcKFsw
LTldKlwpLiovXDEvcCcpIDI+L2Rldi9udWxsYDsKKyAgaWYgKHZlcnNpb24gPCA0KQorICAgIHBy
aW50ZiAoIiVzLW5leHQtbmV4dHN0ZXAlZFxuIiwgX19BUkNISVRFQ1RVUkVfXywgdmVyc2lvbik7
CisgIGVsc2UKKyAgICBwcmludGYgKCIlcy1uZXh0LW9wZW5zdGVwJWRcbiIsIF9fQVJDSElURUNU
VVJFX18sIHZlcnNpb24pOworICBleGl0ICgwKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoTVVM
VElNQVgpIHx8IGRlZmluZWQgKG4xNikKKyNpZiBkZWZpbmVkIChVTUFYVikKKyAgcHJpbnRmICgi
bnMzMmstZW5jb3JlLXN5c3ZcbiIpOyBleGl0ICgwKTsKKyNlbHNlCisjaWYgZGVmaW5lZCAoQ01V
KQorICBwcmludGYgKCJuczMyay1lbmNvcmUtbWFjaFxuIik7IGV4aXQgKDApOworI2Vsc2UKKyAg
cHJpbnRmICgibnMzMmstZW5jb3JlLWJzZFxuIik7IGV4aXQgKDApOworI2VuZGlmCisjZW5kaWYK
KyNlbmRpZgorCisjaWYgZGVmaW5lZCAoX18zODZCU0RfXykKKyAgcHJpbnRmICgiaTM4Ni1wYy1i
c2RcbiIpOyBleGl0ICgwKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoc2VxdWVudCkKKyNpZiBk
ZWZpbmVkIChpMzg2KQorICBwcmludGYgKCJpMzg2LXNlcXVlbnQtZHluaXhcbiIpOyBleGl0ICgw
KTsKKyNlbmRpZgorI2lmIGRlZmluZWQgKG5zMzIwMDApCisgIHByaW50ZiAoIm5zMzJrLXNlcXVl
bnQtZHluaXhcbiIpOyBleGl0ICgwKTsKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChf
U0VRVUVOVF8pCisgICAgc3RydWN0IHV0c25hbWUgdW47CisKKyAgICB1bmFtZSgmdW4pOworCisg
ICAgaWYgKHN0cm5jbXAodW4udmVyc2lvbiwgIlYyIiwgMikgPT0gMCkgeworCXByaW50ZiAoImkz
ODYtc2VxdWVudC1wdHgyXG4iKTsgZXhpdCAoMCk7CisgICAgfQorICAgIGlmIChzdHJuY21wKHVu
LnZlcnNpb24sICJWMSIsIDIpID09IDApIHsgLyogWFhYIGlzIFYxIGNvcnJlY3Q/ICovCisJcHJp
bnRmICgiaTM4Ni1zZXF1ZW50LXB0eDFcbiIpOyBleGl0ICgwKTsKKyAgICB9CisgICAgcHJpbnRm
ICgiaTM4Ni1zZXF1ZW50LXB0eFxuIik7IGV4aXQgKDApOworCisjZW5kaWYKKworI2lmIGRlZmlu
ZWQgKHZheCkKKyMgaWYgIWRlZmluZWQgKHVsdHJpeCkKKyMgIGluY2x1ZGUgPHN5cy9wYXJhbS5o
PgorIyAgaWYgZGVmaW5lZCAoQlNEKQorIyAgIGlmIEJTRCA9PSA0MworICAgICAgcHJpbnRmICgi
dmF4LWRlYy1ic2Q0LjNcbiIpOyBleGl0ICgwKTsKKyMgICBlbHNlCisjICAgIGlmIEJTRCA9PSAx
OTkwMDYKKyAgICAgIHByaW50ZiAoInZheC1kZWMtYnNkNC4zcmVub1xuIik7IGV4aXQgKDApOwor
IyAgICBlbHNlCisgICAgICBwcmludGYgKCJ2YXgtZGVjLWJzZFxuIik7IGV4aXQgKDApOworIyAg
ICBlbmRpZgorIyAgIGVuZGlmCisjICBlbHNlCisgICAgcHJpbnRmICgidmF4LWRlYy1ic2RcbiIp
OyBleGl0ICgwKTsKKyMgIGVuZGlmCisjIGVsc2UKKyAgICBwcmludGYgKCJ2YXgtZGVjLXVsdHJp
eFxuIik7IGV4aXQgKDApOworIyBlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChhbGxpYW50
KSAmJiBkZWZpbmVkIChpODYwKQorICBwcmludGYgKCJpODYwLWFsbGlhbnQtYnNkXG4iKTsgZXhp
dCAoMCk7CisjZW5kaWYKKworICBleGl0ICgxKTsKK30KK0VPRgorCiskQ0NfRk9SX0JVSUxEICRk
dW1teS5jIC1vICRkdW1teSAyPi9kZXYvbnVsbCAmJiAuLyRkdW1teSAmJiBybSAtZiAkZHVtbXku
YyAkZHVtbXkgJiYgZXhpdCAwCitybSAtZiAkZHVtbXkuYyAkZHVtbXkKKworIyBBcG9sbG9zIHB1
dCB0aGUgc3lzdGVtIHR5cGUgaW4gdGhlIGVudmlyb25tZW50LgorCit0ZXN0IC1kIC91c3IvYXBv
bGxvICYmIHsgZWNobyAke0lTUH0tYXBvbGxvLSR7U1lTVFlQRX07IGV4aXQgMDsgfQorCisjIENv
bnZleCB2ZXJzaW9ucyB0aGF0IHByZWRhdGUgdW5hbWUgY2FuIHVzZSBnZXRzeXNpbmZvKDEpCisK
K2lmIFsgLXggL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyBdCit0aGVuCisgICAgY2FzZSBgZ2V0c3lz
aW5mbyAtZiBjcHVfdHlwZWAgaW4KKyAgICBjMSopCisJZWNobyBjMS1jb252ZXgtYnNkCisJZXhp
dCAwIDs7CisgICAgYzIqKQorCWlmIGdldHN5c2luZm8gLWYgc2NhbGFyX2FjYworCXRoZW4gZWNo
byBjMzItY29udmV4LWJzZAorCWVsc2UgZWNobyBjMi1jb252ZXgtYnNkCisJZmkKKwlleGl0IDAg
OzsKKyAgICBjMzQqKQorCWVjaG8gYzM0LWNvbnZleC1ic2QKKwlleGl0IDAgOzsKKyAgICBjMzgq
KQorCWVjaG8gYzM4LWNvbnZleC1ic2QKKwlleGl0IDAgOzsKKyAgICBjNCopCisJZWNobyBjNC1j
b252ZXgtYnNkCisJZXhpdCAwIDs7CisgICAgZXNhYworZmkKKworY2F0ID4mMiA8PEVPRgorJDA6
IHVuYWJsZSB0byBndWVzcyBzeXN0ZW0gdHlwZQorCitUaGlzIHNjcmlwdCwgbGFzdCBtb2RpZmll
ZCAkdGltZXN0YW1wLCBoYXMgZmFpbGVkIHRvIHJlY29nbml6ZQordGhlIG9wZXJhdGluZyBzeXN0
ZW0geW91IGFyZSB1c2luZy4gSXQgaXMgYWR2aXNlZCB0aGF0IHlvdQorZG93bmxvYWQgdGhlIG1v
c3QgdXAgdG8gZGF0ZSB2ZXJzaW9uIG9mIHRoZSBjb25maWcgc2NyaXB0cyBmcm9tCisKKyAgICBm
dHA6Ly9mdHAuZ251Lm9yZy9wdWIvZ251L2NvbmZpZy8KKworSWYgdGhlIHZlcnNpb24geW91IHJ1
biAoJDApIGlzIGFscmVhZHkgdXAgdG8gZGF0ZSwgcGxlYXNlCitzZW5kIHRoZSBmb2xsb3dpbmcg
ZGF0YSBhbmQgYW55IGluZm9ybWF0aW9uIHlvdSB0aGluayBtaWdodCBiZQorcGVydGluZW50IHRv
IDxjb25maWctcGF0Y2hlc0BnbnUub3JnPiBpbiBvcmRlciB0byBwcm92aWRlIHRoZSBuZWVkZWQK
K2luZm9ybWF0aW9uIHRvIGhhbmRsZSB5b3VyIHN5c3RlbS4KKworY29uZmlnLmd1ZXNzIHRpbWVz
dGFtcCA9ICR0aW1lc3RhbXAKKwordW5hbWUgLW0gPSBgKHVuYW1lIC1tKSAyPi9kZXYvbnVsbCB8
fCBlY2hvIHVua25vd25gCit1bmFtZSAtciA9IGAodW5hbWUgLXIpIDI+L2Rldi9udWxsIHx8IGVj
aG8gdW5rbm93bmAKK3VuYW1lIC1zID0gYCh1bmFtZSAtcykgMj4vZGV2L251bGwgfHwgZWNobyB1
bmtub3duYAordW5hbWUgLXYgPSBgKHVuYW1lIC12KSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25v
d25gCisKKy91c3IvYmluL3VuYW1lIC1wID0gYCgvdXNyL2Jpbi91bmFtZSAtcCkgMj4vZGV2L251
bGxgCisvYmluL3VuYW1lIC1YICAgICA9IGAoL2Jpbi91bmFtZSAtWCkgMj4vZGV2L251bGxgCisK
K2hvc3RpbmZvICAgICAgICAgICAgICAgPSBgKGhvc3RpbmZvKSAyPi9kZXYvbnVsbGAKKy9iaW4v
dW5pdmVyc2UgICAgICAgICAgPSBgKC9iaW4vdW5pdmVyc2UpIDI+L2Rldi9udWxsYAorL3Vzci9i
aW4vYXJjaCAtayAgICAgICA9IGAoL3Vzci9iaW4vYXJjaCAtaykgMj4vZGV2L251bGxgCisvYmlu
L2FyY2ggICAgICAgICAgICAgID0gYCgvYmluL2FyY2gpIDI+L2Rldi9udWxsYAorL3Vzci9iaW4v
b3NsZXZlbCAgICAgICA9IGAoL3Vzci9iaW4vb3NsZXZlbCkgMj4vZGV2L251bGxgCisvdXNyL2Nv
bnZleC9nZXRzeXNpbmZvID0gYCgvdXNyL2NvbnZleC9nZXRzeXNpbmZvKSAyPi9kZXYvbnVsbGAK
KworVU5BTUVfTUFDSElORSA9ICR7VU5BTUVfTUFDSElORX0KK1VOQU1FX1JFTEVBU0UgPSAke1VO
QU1FX1JFTEVBU0V9CitVTkFNRV9TWVNURU0gID0gJHtVTkFNRV9TWVNURU19CitVTkFNRV9WRVJT
SU9OID0gJHtVTkFNRV9WRVJTSU9OfQorRU9GCisKK2V4aXQgMQorCisjIExvY2FsIHZhcmlhYmxl
czoKKyMgZXZhbDogKGFkZC1ob29rICd3cml0ZS1maWxlLWhvb2tzICd0aW1lLXN0YW1wKQorIyB0
aW1lLXN0YW1wLXN0YXJ0OiAidGltZXN0YW1wPSciCisjIHRpbWUtc3RhbXAtZm9ybWF0OiAiJTp5
LSUwMm0tJTAyZCIKKyMgdGltZS1zdGFtcC1lbmQ6ICInIgorIyBFbmQ6CmRpZmYgLXVyTiBsY2Qt
MC4yLjEvY29uZmlnLnN1YiBsY2QtMC4yLjEtbmV3L2NvbmZpZy5zdWIKLS0tIGxjZC0wLjIuMS9j
b25maWcuc3ViCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBsY2QtMC4y
LjEtbmV3L2NvbmZpZy5zdWIJMjAwNC0xMi0yMCAwNDo1OTowMC4yOTgzOTAxMzYgKzAxMDAKQEAg
LTAsMCArMSwxNDQzIEBACisjISAvYmluL3NoCisjIENvbmZpZ3VyYXRpb24gdmFsaWRhdGlvbiBz
dWJyb3V0aW5lIHNjcmlwdC4KKyMgICBDb3B5cmlnaHQgKEMpIDE5OTIsIDE5OTMsIDE5OTQsIDE5
OTUsIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksCisjICAgMjAwMCwgMjAwMSwgMjAwMiBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKwordGltZXN0YW1wPScyMDAyLTAzLTA3JworCisjIFRo
aXMgZmlsZSBpcyAoaW4gcHJpbmNpcGxlKSBjb21tb24gdG8gQUxMIEdOVSBzb2Z0d2FyZS4KKyMg
VGhlIHByZXNlbmNlIG9mIGEgbWFjaGluZSBpbiB0aGlzIGZpbGUgc3VnZ2VzdHMgdGhhdCBTT01F
IEdOVSBzb2Z0d2FyZQorIyBjYW4gaGFuZGxlIHRoYXQgbWFjaGluZS4gIEl0IGRvZXMgbm90IGlt
cGx5IEFMTCBHTlUgc29mdHdhcmUgY2FuLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor
IyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBU
aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsg
aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA1
OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisjIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNB
LgorCisjIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlLCBpZiB5b3UKKyMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dy
YW0gdGhhdCBjb250YWlucyBhCisjIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBB
dXRvY29uZiwgeW91IG1heSBpbmNsdWRlIGl0IHVuZGVyCisjIHRoZSBzYW1lIGRpc3RyaWJ1dGlv
biB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKworIyBQ
bGVhc2Ugc2VuZCBwYXRjaGVzIHRvIDxjb25maWctcGF0Y2hlc0BnbnUub3JnPi4gIFN1Ym1pdCBh
IGNvbnRleHQKKyMgZGlmZiBhbmQgYSBwcm9wZXJseSBmb3JtYXR0ZWQgQ2hhbmdlTG9nIGVudHJ5
LgorIworIyBDb25maWd1cmF0aW9uIHN1YnJvdXRpbmUgdG8gdmFsaWRhdGUgYW5kIGNhbm9uaWNh
bGl6ZSBhIGNvbmZpZ3VyYXRpb24gdHlwZS4KKyMgU3VwcGx5IHRoZSBzcGVjaWZpZWQgY29uZmln
dXJhdGlvbiB0eXBlIGFzIGFuIGFyZ3VtZW50LgorIyBJZiBpdCBpcyBpbnZhbGlkLCB3ZSBwcmlu
dCBhbiBlcnJvciBtZXNzYWdlIG9uIHN0ZGVyciBhbmQgZXhpdCB3aXRoIGNvZGUgMS4KKyMgT3Ro
ZXJ3aXNlLCB3ZSBwcmludCB0aGUgY2Fub25pY2FsIGNvbmZpZyB0eXBlIG9uIHN0ZG91dCBhbmQg
c3VjY2VlZC4KKworIyBUaGlzIGZpbGUgaXMgc3VwcG9zZWQgdG8gYmUgdGhlIHNhbWUgZm9yIGFs
bCBHTlUgcGFja2FnZXMKKyMgYW5kIHJlY29nbml6ZSBhbGwgdGhlIENQVSB0eXBlcywgc3lzdGVt
IHR5cGVzIGFuZCBhbGlhc2VzCisjIHRoYXQgYXJlIG1lYW5pbmdmdWwgd2l0aCAqYW55KiBHTlUg
c29mdHdhcmUuCisjIEVhY2ggcGFja2FnZSBpcyByZXNwb25zaWJsZSBmb3IgcmVwb3J0aW5nIHdo
aWNoIHZhbGlkIGNvbmZpZ3VyYXRpb25zCisjIGl0IGRvZXMgbm90IHN1cHBvcnQuICBUaGUgdXNl
ciBzaG91bGQgYmUgYWJsZSB0byBkaXN0aW5ndWlzaAorIyBhIGZhaWx1cmUgdG8gc3VwcG9ydCBh
IHZhbGlkIGNvbmZpZ3VyYXRpb24gZnJvbSBhIG1lYW5pbmdsZXNzCisjIGNvbmZpZ3VyYXRpb24u
CisKKyMgVGhlIGdvYWwgb2YgdGhpcyBmaWxlIGlzIHRvIG1hcCBhbGwgdGhlIHZhcmlvdXMgdmFy
aWF0aW9ucyBvZiBhIGdpdmVuCisjIG1hY2hpbmUgc3BlY2lmaWNhdGlvbiBpbnRvIGEgc2luZ2xl
IHNwZWNpZmljYXRpb24gaW4gdGhlIGZvcm06CisjCUNQVV9UWVBFLU1BTlVGQUNUVVJFUi1PUEVS
QVRJTkdfU1lTVEVNCisjIG9yIGluIHNvbWUgY2FzZXMsIHRoZSBuZXdlciBmb3VyLXBhcnQgZm9y
bToKKyMJQ1BVX1RZUEUtTUFOVUZBQ1RVUkVSLUtFUk5FTC1PUEVSQVRJTkdfU1lTVEVNCisjIEl0
IGlzIHdyb25nIHRvIGVjaG8gYW55IG90aGVyIHR5cGUgb2Ygc3BlY2lmaWNhdGlvbi4KKworbWU9
YGVjaG8gIiQwIiB8IHNlZCAtZSAncywuKi8sLCdgCisKK3VzYWdlPSJcCitVc2FnZTogJDAgW09Q
VElPTl0gQ1BVLU1GUi1PUFNZUworICAgICAgICQwIFtPUFRJT05dIEFMSUFTCisKK0Nhbm9uaWNh
bGl6ZSBhIGNvbmZpZ3VyYXRpb24gbmFtZS4KKworT3BlcmF0aW9uIG1vZGVzOgorICAtaCwgLS1o
ZWxwICAgICAgICAgcHJpbnQgdGhpcyBoZWxwLCB0aGVuIGV4aXQKKyAgLXQsIC0tdGltZS1zdGFt
cCAgIHByaW50IGRhdGUgb2YgbGFzdCBtb2RpZmljYXRpb24sIHRoZW4gZXhpdAorICAtdiwgLS12
ZXJzaW9uICAgICAgcHJpbnQgdmVyc2lvbiBudW1iZXIsIHRoZW4gZXhpdAorCitSZXBvcnQgYnVn
cyBhbmQgcGF0Y2hlcyB0byA8Y29uZmlnLXBhdGNoZXNAZ251Lm9yZz4uIgorCit2ZXJzaW9uPSJc
CitHTlUgY29uZmlnLnN1YiAoJHRpbWVzdGFtcCkKKworQ29weXJpZ2h0IChDKSAxOTkyLCAxOTkz
LCAxOTk0LCAxOTk1LCAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxCitGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhl
IHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8KK3dhcnJhbnR5OyBu
b3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiIKKworaGVscD0iCitUcnkgXGAkbWUgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlv
bi4iCisKKyMgUGFyc2UgY29tbWFuZCBsaW5lCit3aGlsZSB0ZXN0ICQjIC1ndCAwIDsgZG8KKyAg
Y2FzZSAkMSBpbgorICAgIC0tdGltZS1zdGFtcCB8IC0tdGltZSogfCAtdCApCisgICAgICAgZWNo
byAiJHRpbWVzdGFtcCIgOyBleGl0IDAgOzsKKyAgICAtLXZlcnNpb24gfCAtdiApCisgICAgICAg
ZWNobyAiJHZlcnNpb24iIDsgZXhpdCAwIDs7CisgICAgLS1oZWxwIHwgLS1oKiB8IC1oICkKKyAg
ICAgICBlY2hvICIkdXNhZ2UiOyBleGl0IDAgOzsKKyAgICAtLSApICAgICAjIFN0b3Agb3B0aW9u
IHByb2Nlc3NpbmcKKyAgICAgICBzaGlmdDsgYnJlYWsgOzsKKyAgICAtICkJIyBVc2Ugc3RkaW4g
YXMgaW5wdXQuCisgICAgICAgYnJlYWsgOzsKKyAgICAtKiApCisgICAgICAgZWNobyAiJG1lOiBp
bnZhbGlkIG9wdGlvbiAkMSRoZWxwIgorICAgICAgIGV4aXQgMSA7OworCisgICAgKmxvY2FsKikK
KyAgICAgICAjIEZpcnN0IHBhc3MgdGhyb3VnaCBhbnkgbG9jYWwgbWFjaGluZSB0eXBlcy4KKyAg
ICAgICBlY2hvICQxCisgICAgICAgZXhpdCAwOzsKKworICAgICogKQorICAgICAgIGJyZWFrIDs7
CisgIGVzYWMKK2RvbmUKKworY2FzZSAkIyBpbgorIDApIGVjaG8gIiRtZTogbWlzc2luZyBhcmd1
bWVudCRoZWxwIiA+JjIKKyAgICBleGl0IDE7OworIDEpIDs7CisgKikgZWNobyAiJG1lOiB0b28g
bWFueSBhcmd1bWVudHMkaGVscCIgPiYyCisgICAgZXhpdCAxOzsKK2VzYWMKKworIyBTZXBhcmF0
ZSB3aGF0IHRoZSB1c2VyIGdhdmUgaW50byBDUFUtQ09NUEFOWSBhbmQgT1Mgb3IgS0VSTkVMLU9T
IChpZiBhbnkpLgorIyBIZXJlIHdlIG11c3QgcmVjb2duaXplIGFsbCB0aGUgdmFsaWQgS0VSTkVM
LU9TIGNvbWJpbmF0aW9ucy4KK21heWJlX29zPWBlY2hvICQxIHwgc2VkICdzL15cKC4qXCktXChb
Xi1dKi1bXi1dKlwpJC9cMi8nYAorY2FzZSAkbWF5YmVfb3MgaW4KKyAgbnRvLXFueCogfCBsaW51
eC1nbnUqIHwgc3Rvcm0tY2hhb3MqIHwgb3MyLWVteCogfCB3aW5kb3dzMzItKiB8IHJ0bWstbm92
YSopCisgICAgb3M9LSRtYXliZV9vcworICAgIGJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQg
J3MvXlwoLipcKS1cKFteLV0qLVteLV0qXCkkL1wxLydgCisgICAgOzsKKyAgKikKKyAgICBiYXNp
Y19tYWNoaW5lPWBlY2hvICQxIHwgc2VkICdzLy1bXi1dKiQvLydgCisgICAgaWYgWyAkYmFzaWNf
bWFjaGluZSAhPSAkMSBdCisgICAgdGhlbiBvcz1gZWNobyAkMSB8IHNlZCAncy8uKi0vLS8nYAor
ICAgIGVsc2Ugb3M9OyBmaQorICAgIDs7Citlc2FjCisKKyMjIyBMZXQncyByZWNvZ25pemUgY29t
bW9uIG1hY2hpbmVzIGFzIG5vdCBiZWluZyBvcGVyYXRpbmcgc3lzdGVtcyBzbworIyMjIHRoYXQg
dGhpbmdzIGxpa2UgY29uZmlnLnN1YiBkZWNzdGF0aW9uLTMxMDAgd29yay4gIFdlIGFsc28KKyMj
IyByZWNvZ25pemUgc29tZSBtYW51ZmFjdHVyZXJzIGFzIG5vdCBiZWluZyBvcGVyYXRpbmcgc3lz
dGVtcywgc28gd2UKKyMjIyBjYW4gcHJvdmlkZSBkZWZhdWx0IG9wZXJhdGluZyBzeXN0ZW1zIGJl
bG93LgorY2FzZSAkb3MgaW4KKwktc3VuKm9zKikKKwkJIyBQcmV2ZW50IGZvbGxvd2luZyBjbGF1
c2UgZnJvbSBoYW5kbGluZyB0aGlzIGludmFsaWQgaW5wdXQuCisJCTs7CisJLWRlYyogfCAtbWlw
cyogfCAtc2VxdWVudCogfCAtZW5jb3JlKiB8IC1wYzUzMiogfCAtc2dpKiB8IC1zb255KiB8IFwK
KwktYXR0KiB8IC03MzAwKiB8IC0zMzAwKiB8IC1kZWx0YSogfCAtbW90b3JvbGEqIHwgLXN1blsy
MzRdKiB8IFwKKwktdW5pY29tKiB8IC1pYm0qIHwgLW5leHQgfCAtaHAgfCAtaXNpKiB8IC1hcG9s
bG8gfCAtYWx0b3MqIHwgXAorCS1jb252ZXJnZW50KiB8IC1uY3IqIHwgLW5ld3MgfCAtMzIqIHwg
LTM2MDAqIHwgLTMxMDAqIHwgLWhpdGFjaGkqIHxcCisJLWNbMTIzXSogfCAtY29udmV4KiB8IC1z
dW4gfCAtY3JkcyB8IC1vbXJvbiogfCAtZGcgfCAtdWx0cmEgfCAtdHRpKiB8IFwKKwktaGFycmlz
IHwgLWRvbHBoaW4gfCAtaGlnaGxldmVsIHwgLWdvdWxkIHwgLWNibSB8IC1ucyB8IC1tYXNzY29t
cCB8IFwKKwktYXBwbGUgfCAtYXhpcykKKwkJb3M9CisJCWJhc2ljX21hY2hpbmU9JDEKKwkJOzsK
Kwktc2ltIHwgLWNpc2NvIHwgLW9raSB8IC13ZWMgfCAtd2luYm9uZCkKKwkJb3M9CisJCWJhc2lj
X21hY2hpbmU9JDEKKwkJOzsKKwktc2NvdXQpCisJCTs7CisJLXdycykKKwkJb3M9LXZ4d29ya3MK
KwkJYmFzaWNfbWFjaGluZT0kMQorCQk7OworCS1jaG9ydXNvcyopCisJCW9zPS1jaG9ydXNvcwor
CQliYXNpY19tYWNoaW5lPSQxCisJCTs7CisgCS1jaG9ydXNyZGIpCisgCQlvcz0tY2hvcnVzcmRi
CisJCWJhc2ljX21hY2hpbmU9JDEKKyAJCTs7CisJLWhpdXgqKQorCQlvcz0taGl1eHdlMgorCQk7
OworCS1zY281KQorCQlvcz0tc2NvMy4ydjUKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNl
ZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS1zY280KQorCQlvcz0tc2NvMy4ydjQKKwkJ
YmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7Owor
CS1zY28zLjIuWzQtOV0qKQorCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3Mvc2NvMy4yLi9zY28z
LjJ2LydgCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMv
J2AKKwkJOzsKKwktc2NvMy4ydls0LTldKikKKwkJIyBEb24ndCBmb3JnZXQgdmVyc2lvbiBpZiBp
dCBpcyAzLjJ2NCBvciBuZXdlci4KKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAn
cy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS1zY28qKQorCQlvcz0tc2NvMy4ydjIKKwkJYmFzaWNf
bWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS11ZGsq
KQorCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LS4qLzg2LXBjLydgCisJ
CTs7CisJLWlzYykKKwkJb3M9LWlzYzIuMgorCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2Vk
IC1lICdzLzg2LS4qLzg2LXBjLydgCisJCTs7CisJLWNsaXgqKQorCQliYXNpY19tYWNoaW5lPWNs
aXBwZXItaW50ZXJncmFwaAorCQk7OworCS1pc2MqKQorCQliYXNpY19tYWNoaW5lPWBlY2hvICQx
IHwgc2VkIC1lICdzLzg2LS4qLzg2LXBjLydgCisJCTs7CisJLWx5bngqKQorCQlvcz0tbHlueG9z
CisJCTs7CisJLXB0eCopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYt
LiovODYtc2VxdWVudC8nYAorCQk7OworCS13aW5kb3dzbnQqKQorCQlvcz1gZWNobyAkb3MgfCBz
ZWQgLWUgJ3Mvd2luZG93c250L3dpbm50LydgCisJCTs7CisJLXBzb3MqKQorCQlvcz0tcHNvcwor
CQk7OworCS1taW50IHwgLW1pbnRbMC05XSopCisJCWJhc2ljX21hY2hpbmU9bTY4ay1hdGFyaQor
CQlvcz0tbWludAorCQk7OworZXNhYworCisjIERlY29kZSBhbGlhc2VzIGZvciBjZXJ0YWluIENQ
VS1DT01QQU5ZIGNvbWJpbmF0aW9ucy4KK2Nhc2UgJGJhc2ljX21hY2hpbmUgaW4KKwkjIFJlY29n
bml6ZSB0aGUgYmFzaWMgQ1BVIHR5cGVzIHdpdGhvdXQgY29tcGFueSBuYW1lLgorCSMgU29tZSBh
cmUgb21pdHRlZCBoZXJlIGJlY2F1c2UgdGhleSBoYXZlIHNwZWNpYWwgbWVhbmluZ3MgYmVsb3cu
CisJMTc1MGEgfCA1ODAgXAorCXwgYTI5ayBcCisJfCBhbHBoYSB8IGFscGhhZXZbNC04XSB8IGFs
cGhhZXY1NiB8IGFscGhhZXY2Wzc4XSB8IGFscGhhcGNhNVs2N10gXAorCXwgYWxwaGE2NCB8IGFs
cGhhNjRldls0LThdIHwgYWxwaGE2NGV2NTYgfCBhbHBoYTY0ZXY2Wzc4XSB8IGFscGhhNjRwY2E1
WzY3XSBcCisJfCBhcmMgfCBhcm0gfCBhcm1bYmxdZSB8IGFybWVbbGJdIHwgYXJtdlsyMzQ1XSB8
IGFybXZbMzQ1XVtsYl0gfCBhdnIgXAorCXwgYzR4IHwgY2xpcHBlciBcCisJfCBkMTB2IHwgZDMw
diB8IGRzcDE2eHggXAorCXwgZnIzMCBcCisJfCBoODMwMCB8IGg4NTAwIHwgaHBwYSB8IGhwcGEx
LlswMV0gfCBocHBhMi4wIHwgaHBwYTIuMFtud10gfCBocHBhNjQgXAorCXwgaTM3MCB8IGk4NjAg
fCBpOTYwIHwgaWE2NCBcCisJfCBtMzJyIHwgbTY4MDAwIHwgbTY4ayB8IG04OGsgfCBtY29yZSBc
CisJfCBtaXBzIHwgbWlwczE2IHwgbWlwczY0IHwgbWlwczY0ZWwgfCBtaXBzNjRvcmlvbiB8IG1p
cHM2NG9yaW9uZWwgXAorCXwgbWlwczY0dnI0MTAwIHwgbWlwczY0dnI0MTAwZWwgfCBtaXBzNjR2
cjQzMDAgXAorCXwgbWlwczY0dnI0MzAwZWwgfCBtaXBzNjR2cjUwMDAgfCBtaXBzNjR2cjUwMDBl
bCBcCisJfCBtaXBzYmUgfCBtaXBzZWIgfCBtaXBzZWwgfCBtaXBzbGUgfCBtaXBzdHgzOSB8IG1p
cHN0eDM5ZWwgXAorCXwgbWlwc2lzYTMyIHwgbWlwc2lzYTY0IFwKKwl8IG1uMTAyMDAgfCBtbjEw
MzAwIFwKKwl8IG5zMTZrIHwgbnMzMmsgXAorCXwgb3BlbnJpc2MgfCBvcjMyIFwKKwl8IHBkcDEw
IHwgcGRwMTEgfCBwaiB8IHBqbCBcCisJfCBwb3dlcnBjIHwgcG93ZXJwYzY0IHwgcG93ZXJwYzY0
bGUgfCBwb3dlcnBjbGUgfCBwcGNiZSBcCisJfCBweXJhbWlkIFwKKwl8IHNoIHwgc2hbMzRdIHwg
c2hbMzRdZWIgfCBzaGJlIHwgc2hsZSB8IHNoNjQgXAorCXwgc3BhcmMgfCBzcGFyYzY0IHwgc3Bh
cmM4NnggfCBzcGFyY2xldCB8IHNwYXJjbGl0ZSB8IHNwYXJjdjkgfCBzcGFyY3Y5YiBcCisJfCBz
dHJvbmdhcm0gXAorCXwgdGFob2UgfCB0aHVtYiB8IHRpYzgwIHwgdHJvbiBcCisJfCB2ODUwIHwg
djg1MGUgXAorCXwgd2UzMmsgXAorCXwgeDg2IHwgeHNjYWxlIHwgeHN0b3JteTE2IHwgeHRlbnNh
IFwKKwl8IHo4aykKKwkJYmFzaWNfbWFjaGluZT0kYmFzaWNfbWFjaGluZS11bmtub3duCisJCTs7
CisJbTY4MTEgfCBtNjhoYzExIHwgbTY4MTIgfCBtNjhoYzEyKQorCQkjIE1vdG9yb2xhIDY4SEMx
MS8xMi4KKwkJYmFzaWNfbWFjaGluZT0kYmFzaWNfbWFjaGluZS11bmtub3duCisJCW9zPS1ub25l
CisJCTs7CisJbTg4MTEwIHwgbTY4MFsxMjM0Nl0wIHwgbTY4Mz8yIHwgbTY4MzYwIHwgbTUyMDAg
fCB2NzAgfCB3NjUgfCB6OGspCisJCTs7CisKKwkjIFdlIHVzZSBgcGMnIHJhdGhlciB0aGFuIGB1
bmtub3duJworCSMgYmVjYXVzZSAoMSkgdGhhdCdzIHdoYXQgdGhleSBub3JtYWxseSBhcmUsIGFu
ZAorCSMgKDIpIHRoZSB3b3JkICJ1bmtub3duIiB0ZW5kcyB0byBjb25mdXNlIGJlZ2lubmluZyB1
c2Vycy4KKwlpKjg2IHwgeDg2XzY0KQorCSAgYmFzaWNfbWFjaGluZT0kYmFzaWNfbWFjaGluZS1w
YworCSAgOzsKKwkjIE9iamVjdCBpZiBtb3JlIHRoYW4gb25lIGNvbXBhbnkgbmFtZSB3b3JkLgor
CSotKi0qKQorCQllY2hvIEludmFsaWQgY29uZmlndXJhdGlvbiBcYCQxXCc6IG1hY2hpbmUgXGAk
YmFzaWNfbWFjaGluZVwnIG5vdCByZWNvZ25pemVkIDE+JjIKKwkJZXhpdCAxCisJCTs7CisJIyBS
ZWNvZ25pemUgdGhlIGJhc2ljIENQVSB0eXBlcyB3aXRoIGNvbXBhbnkgbmFtZS4KKwk1ODAtKiBc
CisJfCBhMjlrLSogXAorCXwgYWxwaGEtKiB8IGFscGhhZXZbNC04XS0qIHwgYWxwaGFldjU2LSog
fCBhbHBoYWV2Nls3OF0tKiBcCisJfCBhbHBoYTY0LSogfCBhbHBoYTY0ZXZbNC04XS0qIHwgYWxw
aGE2NGV2NTYtKiB8IGFscGhhNjRldjZbNzhdLSogXAorCXwgYWxwaGFwY2E1WzY3XS0qIHwgYWxw
aGE2NHBjYTVbNjddLSogfCBhcmMtKiBcCisJfCBhcm0tKiAgfCBhcm1iZS0qIHwgYXJtbGUtKiB8
IGFybXYqLSogXAorCXwgYXZyLSogXAorCXwgYnMyMDAwLSogXAorCXwgY1sxMjNdKiB8IGMzMC0q
IHwgW2NqdF05MC0qIHwgYzU0eC0qIFwKKwl8IGNsaXBwZXItKiB8IGN5ZHJhLSogXAorCXwgZDEw
di0qIHwgZDMwdi0qIFwKKwl8IGVseHNpLSogXAorCXwgZjMwWzAxXS0qIHwgZjcwMC0qIHwgZnIz
MC0qIHwgZng4MC0qIFwKKwl8IGg4MzAwLSogfCBoODUwMC0qIFwKKwl8IGhwcGEtKiB8IGhwcGEx
LlswMV0tKiB8IGhwcGEyLjAtKiB8IGhwcGEyLjBbbnddLSogfCBocHBhNjQtKiBcCisJfCBpKjg2
LSogfCBpODYwLSogfCBpOTYwLSogfCBpYTY0LSogXAorCXwgbTMyci0qIFwKKwl8IG02ODAwMC0q
IHwgbTY4MFswMTIzNDZdMC0qIHwgbTY4MzYwLSogfCBtNjgzPzItKiB8IG02OGstKiBcCisJfCBt
ODgxMTAtKiB8IG04OGstKiB8IG1jb3JlLSogXAorCXwgbWlwcy0qIHwgbWlwczE2LSogfCBtaXBz
NjQtKiB8IG1pcHM2NGVsLSogfCBtaXBzNjRvcmlvbi0qIFwKKwl8IG1pcHM2NG9yaW9uZWwtKiB8
IG1pcHM2NHZyNDEwMC0qIHwgbWlwczY0dnI0MTAwZWwtKiBcCisJfCBtaXBzNjR2cjQzMDAtKiB8
IG1pcHM2NHZyNDMwMGVsLSogfCBtaXBzYmUtKiB8IG1pcHNlYi0qIFwKKwl8IG1pcHNsZS0qIHwg
bWlwc2VsLSogfCBtaXBzdHgzOS0qIHwgbWlwc3R4MzllbC0qIFwKKwl8IG5vbmUtKiB8IG5wMS0q
IHwgbnMxNmstKiB8IG5zMzJrLSogXAorCXwgb3Jpb24tKiBcCisJfCBwZHAxMC0qIHwgcGRwMTEt
KiB8IHBqLSogfCBwamwtKiB8IHBuLSogfCBwb3dlci0qIFwKKwl8IHBvd2VycGMtKiB8IHBvd2Vy
cGM2NC0qIHwgcG93ZXJwYzY0bGUtKiB8IHBvd2VycGNsZS0qIHwgcHBjYmUtKiBcCisJfCBweXJh
bWlkLSogXAorCXwgcm9tcC0qIHwgcnM2MDAwLSogXAorCXwgc2gtKiB8IHNoWzM0XS0qIHwgc2hb
MzRdZWItKiB8IHNoYmUtKiB8IHNobGUtKiB8IHNoNjQtKiBcCisJfCBzcGFyYy0qIHwgc3BhcmM2
NC0qIHwgc3BhcmM4NngtKiB8IHNwYXJjbGV0LSogfCBzcGFyY2xpdGUtKiBcCisJfCBzcGFyY3Y5
LSogfCBzcGFyY3Y5Yi0qIHwgc3Ryb25nYXJtLSogfCBzdjEtKiB8IHN4Py0qIFwKKwl8IHRhaG9l
LSogfCB0aHVtYi0qIHwgdGljMzAtKiB8IHRpYzU0eC0qIHwgdGljODAtKiB8IHRyb24tKiBcCisJ
fCB2ODUwLSogfCB2ODUwZS0qIHwgdmF4LSogXAorCXwgd2UzMmstKiBcCisJfCB4ODYtKiB8IHg4
Nl82NC0qIHwgeHBzMTAwLSogfCB4c2NhbGUtKiB8IHhzdG9ybXkxNi0qIFwKKwl8IHh0ZW5zYS0q
IFwKKwl8IHltcC0qIFwKKwl8IHo4ay0qKQorCQk7OworCSMgUmVjb2duaXplIHRoZSB2YXJpb3Vz
IG1hY2hpbmUgbmFtZXMgYW5kIGFsaWFzZXMgd2hpY2ggc3RhbmQKKwkjIGZvciBhIENQVSB0eXBl
IGFuZCBhIGNvbXBhbnkgYW5kIHNvbWV0aW1lcyBldmVuIGFuIE9TLgorCTM4NmJzZCkKKwkJYmFz
aWNfbWFjaGluZT1pMzg2LXVua25vd24KKwkJb3M9LWJzZAorCQk7OworCTNiMSB8IDczMDAgfCA3
MzAwLWF0dCB8IGF0dC03MzAwIHwgcGM3MzAwIHwgc2FmYXJpIHwgdW5peHBjKQorCQliYXNpY19t
YWNoaW5lPW02ODAwMC1hdHQKKwkJOzsKKwkzYiopCisJCWJhc2ljX21hY2hpbmU9d2UzMmstYXR0
CisJCTs7CisJYTI5a2hpZikKKwkJYmFzaWNfbWFjaGluZT1hMjlrLWFtZAorCQlvcz0tdWRpCisJ
CTs7CisJYWRvYmU2OGspCisJCWJhc2ljX21hY2hpbmU9bTY4MDEwLWFkb2JlCisJCW9zPS1zY291
dAorCQk7OworCWFsbGlhbnQgfCBmeDgwKQorCQliYXNpY19tYWNoaW5lPWZ4ODAtYWxsaWFudAor
CQk7OworCWFsdG9zIHwgYWx0b3MzMDY4KQorCQliYXNpY19tYWNoaW5lPW02OGstYWx0b3MKKwkJ
OzsKKwlhbTI5aykKKwkJYmFzaWNfbWFjaGluZT1hMjlrLW5vbmUKKwkJb3M9LWJzZAorCQk7Owor
CWFtZGFobCkKKwkJYmFzaWNfbWFjaGluZT01ODAtYW1kYWhsCisJCW9zPS1zeXN2CisJCTs7CisJ
YW1pZ2EgfCBhbWlnYS0qKQorCQliYXNpY19tYWNoaW5lPW02OGstdW5rbm93bgorCQk7OworCWFt
aWdhb3MgfCBhbWlnYWRvcykKKwkJYmFzaWNfbWFjaGluZT1tNjhrLXVua25vd24KKwkJb3M9LWFt
aWdhb3MKKwkJOzsKKwlhbWlnYXVuaXggfCBhbWl4KQorCQliYXNpY19tYWNoaW5lPW02OGstdW5r
bm93bgorCQlvcz0tc3lzdjQKKwkJOzsKKwlhcG9sbG82OCkKKwkJYmFzaWNfbWFjaGluZT1tNjhr
LWFwb2xsbworCQlvcz0tc3lzdgorCQk7OworCWFwb2xsbzY4YnNkKQorCQliYXNpY19tYWNoaW5l
PW02OGstYXBvbGxvCisJCW9zPS1ic2QKKwkJOzsKKwlhdXgpCisJCWJhc2ljX21hY2hpbmU9bTY4
ay1hcHBsZQorCQlvcz0tYXV4CisJCTs7CisJYmFsYW5jZSkKKwkJYmFzaWNfbWFjaGluZT1uczMy
ay1zZXF1ZW50CisJCW9zPS1keW5peAorCQk7OworCWM5MCkKKwkJYmFzaWNfbWFjaGluZT1jOTAt
Y3JheQorCQlvcz0tdW5pY29zCisJCTs7CisJY29udmV4LWMxKQorCQliYXNpY19tYWNoaW5lPWMx
LWNvbnZleAorCQlvcz0tYnNkCisJCTs7CisJY29udmV4LWMyKQorCQliYXNpY19tYWNoaW5lPWMy
LWNvbnZleAorCQlvcz0tYnNkCisJCTs7CisJY29udmV4LWMzMikKKwkJYmFzaWNfbWFjaGluZT1j
MzItY29udmV4CisJCW9zPS1ic2QKKwkJOzsKKwljb252ZXgtYzM0KQorCQliYXNpY19tYWNoaW5l
PWMzNC1jb252ZXgKKwkJb3M9LWJzZAorCQk7OworCWNvbnZleC1jMzgpCisJCWJhc2ljX21hY2hp
bmU9YzM4LWNvbnZleAorCQlvcz0tYnNkCisJCTs7CisJY3JheSB8IGo5MCkKKwkJYmFzaWNfbWFj
aGluZT1qOTAtY3JheQorCQlvcz0tdW5pY29zCisJCTs7CisJY3JkcyB8IHVub3MpCisJCWJhc2lj
X21hY2hpbmU9bTY4ay1jcmRzCisJCTs7CisJY3JpcyB8IGNyaXMtKiB8IGV0cmF4KikKKwkJYmFz
aWNfbWFjaGluZT1jcmlzLWF4aXMKKwkJOzsKKwlkYTMwIHwgZGEzMC0qKQorCQliYXNpY19tYWNo
aW5lPW02OGstZGEzMAorCQk7OworCWRlY3N0YXRpb24gfCBkZWNzdGF0aW9uLTMxMDAgfCBwbWF4
IHwgcG1heC0qIHwgcG1pbiB8IGRlYzMxMDAgfCBkZWNzdGF0bikKKwkJYmFzaWNfbWFjaGluZT1t
aXBzLWRlYworCQk7OworCWRlY3N5c3RlbTEwKiB8IGRlYzEwKikKKwkJYmFzaWNfbWFjaGluZT1w
ZHAxMC1kZWMKKwkJb3M9LXRvcHMxMAorCQk7OworCWRlY3N5c3RlbTIwKiB8IGRlYzIwKikKKwkJ
YmFzaWNfbWFjaGluZT1wZHAxMC1kZWMKKwkJb3M9LXRvcHMyMAorCQk7OworCWRlbHRhIHwgMzMw
MCB8IG1vdG9yb2xhLTMzMDAgfCBtb3Rvcm9sYS1kZWx0YSBcCisJICAgICAgfCAzMzAwLW1vdG9y
b2xhIHwgZGVsdGEtbW90b3JvbGEpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1tb3Rvcm9sYQorCQk7
OworCWRlbHRhODgpCisJCWJhc2ljX21hY2hpbmU9bTg4ay1tb3Rvcm9sYQorCQlvcz0tc3lzdjMK
KwkJOzsKKwlkcHgyMCB8IGRweDIwLSopCisJCWJhc2ljX21hY2hpbmU9cnM2MDAwLWJ1bGwKKwkJ
b3M9LWJvc3gKKwkJOzsKKwlkcHgyKiB8IGRweDIqLWJ1bGwpCisJCWJhc2ljX21hY2hpbmU9bTY4
ay1idWxsCisJCW9zPS1zeXN2MworCQk7OworCWVibW9uMjlrKQorCQliYXNpY19tYWNoaW5lPWEy
OWstYW1kCisJCW9zPS1lYm1vbgorCQk7OworCWVseHNpKQorCQliYXNpY19tYWNoaW5lPWVseHNp
LWVseHNpCisJCW9zPS1ic2QKKwkJOzsKKwllbmNvcmUgfCB1bWF4IHwgbW1heCkKKwkJYmFzaWNf
bWFjaGluZT1uczMyay1lbmNvcmUKKwkJOzsKKwllczE4MDAgfCBPU0U2OGsgfCBvc2U2OGsgfCBv
c2UgfCBPU0UpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1lcmljc3NvbgorCQlvcz0tb3NlCisJCTs7
CisJZngyODAwKQorCQliYXNpY19tYWNoaW5lPWk4NjAtYWxsaWFudAorCQk7OworCWdlbml4KQor
CQliYXNpY19tYWNoaW5lPW5zMzJrLW5zCisJCTs7CisJZ21pY3JvKQorCQliYXNpY19tYWNoaW5l
PXRyb24tZ21pY3JvCisJCW9zPS1zeXN2CisJCTs7CisJZ28zMikKKwkJYmFzaWNfbWFjaGluZT1p
Mzg2LXBjCisJCW9zPS1nbzMyCisJCTs7CisJaDMwNTByKiB8IGhpdXgqKQorCQliYXNpY19tYWNo
aW5lPWhwcGExLjEtaGl0YWNoaQorCQlvcz0taGl1eHdlMgorCQk7OworCWg4MzAwaG1zKQorCQli
YXNpY19tYWNoaW5lPWg4MzAwLWhpdGFjaGkKKwkJb3M9LWhtcworCQk7OworCWg4MzAweHJheSkK
KwkJYmFzaWNfbWFjaGluZT1oODMwMC1oaXRhY2hpCisJCW9zPS14cmF5CisJCTs7CisJaDg1MDBo
bXMpCisJCWJhc2ljX21hY2hpbmU9aDg1MDAtaGl0YWNoaQorCQlvcz0taG1zCisJCTs7CisJaGFy
cmlzKQorCQliYXNpY19tYWNoaW5lPW04OGstaGFycmlzCisJCW9zPS1zeXN2MworCQk7OworCWhw
MzAwLSopCisJCWJhc2ljX21hY2hpbmU9bTY4ay1ocAorCQk7OworCWhwMzAwYnNkKQorCQliYXNp
Y19tYWNoaW5lPW02OGstaHAKKwkJb3M9LWJzZAorCQk7OworCWhwMzAwaHB1eCkKKwkJYmFzaWNf
bWFjaGluZT1tNjhrLWhwCisJCW9zPS1ocHV4CisJCTs7CisJaHAzazlbMC05XVswLTldIHwgaHA5
WzAtOV1bMC05XSkKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4wLWhwCisJCTs7CisJaHA5azJbMC05
XVswLTldIHwgaHA5azMxWzAtOV0pCisJCWJhc2ljX21hY2hpbmU9bTY4MDAwLWhwCisJCTs7CisJ
aHA5azNbMi05XVswLTldKQorCQliYXNpY19tYWNoaW5lPW02OGstaHAKKwkJOzsKKwlocDlrNlsw
LTldWzAtOV0gfCBocDZbMC05XVswLTldKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjAtaHAKKwkJ
OzsKKwlocDlrN1swLTc5XVswLTldIHwgaHA3WzAtNzldWzAtOV0pCisJCWJhc2ljX21hY2hpbmU9
aHBwYTEuMS1ocAorCQk7OworCWhwOWs3OFswLTldIHwgaHA3OFswLTldKQorCQkjIEZJWE1FOiBy
ZWFsbHkgaHBwYTIuMC1ocAorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtaHAKKwkJOzsKKwlocDlr
OFs2N10xIHwgaHA4WzY3XTEgfCBocDlrODBbMjRdIHwgaHA4MFsyNF0gfCBocDlrOFs3OF05IHwg
aHA4Wzc4XTkgfCBocDlrODkzIHwgaHA4OTMpCisJCSMgRklYTUU6IHJlYWxseSBocHBhMi4wLWhw
CisJCWJhc2ljX21hY2hpbmU9aHBwYTEuMS1ocAorCQk7OworCWhwOWs4WzAtOV1bMTM2NzldIHwg
aHA4WzAtOV1bMTM2NzldKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtaHAKKwkJOzsKKwlocDlr
OFswLTldWzAtOV0gfCBocDhbMC05XVswLTldKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjAtaHAK
KwkJOzsKKwlocHBhLW5leHQpCisJCW9zPS1uZXh0c3RlcDMKKwkJOzsKKwlocHBhb3NmKQorCQli
YXNpY19tYWNoaW5lPWhwcGExLjEtaHAKKwkJb3M9LW9zZgorCQk7OworCWhwcHJvKQorCQliYXNp
Y19tYWNoaW5lPWhwcGExLjEtaHAKKwkJb3M9LXByb2VsZgorCQk7OworCWkzNzAtaWJtKiB8IGli
bSopCisJCWJhc2ljX21hY2hpbmU9aTM3MC1pYm0KKwkJOzsKKyMgSSdtIG5vdCBzdXJlIHdoYXQg
IlN5c3YzMiIgbWVhbnMuICBTaG91bGQgdGhpcyBiZSBzeXN2My4yPworCWkqODZ2MzIpCisJCWJh
c2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYuKi84Ni1wYy8nYAorCQlvcz0tc3lz
djMyCisJCTs7CisJaSo4NnY0KikKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAn
cy84Ni4qLzg2LXBjLydgCisJCW9zPS1zeXN2NAorCQk7OworCWkqODZ2KQorCQliYXNpY19tYWNo
aW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LiovODYtcGMvJ2AKKwkJb3M9LXN5c3YKKwkJOzsK
KwlpKjg2c29sMikKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni4qLzg2
LXBjLydgCisJCW9zPS1zb2xhcmlzMgorCQk7OworCWkzODZtYWNoKQorCQliYXNpY19tYWNoaW5l
PWkzODYtbWFjaAorCQlvcz0tbWFjaAorCQk7OworCWkzODYtdnN0YSB8IHZzdGEpCisJCWJhc2lj
X21hY2hpbmU9aTM4Ni11bmtub3duCisJCW9zPS12c3RhCisJCTs7CisJaXJpcyB8IGlyaXM0ZCkK
KwkJYmFzaWNfbWFjaGluZT1taXBzLXNnaQorCQljYXNlICRvcyBpbgorCQkgICAgLWlyaXgqKQor
CQkJOzsKKwkJICAgICopCisJCQlvcz0taXJpeDQKKwkJCTs7CisJCWVzYWMKKwkJOzsKKwlpc2k2
OCB8IGlzaSkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWlzaQorCQlvcz0tc3lzdgorCQk7OworCW04
OGstb21yb24qKQorCQliYXNpY19tYWNoaW5lPW04OGstb21yb24KKwkJOzsKKwltYWdudW0gfCBt
MzIzMCkKKwkJYmFzaWNfbWFjaGluZT1taXBzLW1pcHMKKwkJb3M9LXN5c3YKKwkJOzsKKwltZXJs
aW4pCisJCWJhc2ljX21hY2hpbmU9bnMzMmstdXRlaworCQlvcz0tc3lzdgorCQk7OworCW1pbmd3
MzIpCisJCWJhc2ljX21hY2hpbmU9aTM4Ni1wYworCQlvcz0tbWluZ3czMgorCQk7OworCW1pbmlm
cmFtZSkKKwkJYmFzaWNfbWFjaGluZT1tNjgwMDAtY29udmVyZ2VudAorCQk7OworCSptaW50IHwg
LW1pbnRbMC05XSogfCAqTWlOVCB8ICpNaU5UWzAtOV0qKQorCQliYXNpY19tYWNoaW5lPW02OGst
YXRhcmkKKwkJb3M9LW1pbnQKKwkJOzsKKwltaXBzMyotKikKKwkJYmFzaWNfbWFjaGluZT1gZWNo
byAkYmFzaWNfbWFjaGluZSB8IHNlZCAtZSAncy9taXBzMy9taXBzNjQvJ2AKKwkJOzsKKwltaXBz
MyopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgLWUgJ3MvbWlw
czMvbWlwczY0LydgLXVua25vd24KKwkJOzsKKwltbWl4KikKKwkJYmFzaWNfbWFjaGluZT1tbWl4
LWtudXRoCisJCW9zPS1tbWl4d2FyZQorCQk7OworCW1vbml0b3IpCisJCWJhc2ljX21hY2hpbmU9
bTY4ay1yb202OGsKKwkJb3M9LWNvZmYKKwkJOzsKKwltb3JwaG9zKQorCQliYXNpY19tYWNoaW5l
PXBvd2VycGMtdW5rbm93bgorCQlvcz0tbW9ycGhvcworCQk7OworCW1zZG9zKQorCQliYXNpY19t
YWNoaW5lPWkzODYtcGMKKwkJb3M9LW1zZG9zCisJCTs7CisJbXZzKQorCQliYXNpY19tYWNoaW5l
PWkzNzAtaWJtCisJCW9zPS1tdnMKKwkJOzsKKwluY3IzMDAwKQorCQliYXNpY19tYWNoaW5lPWk0
ODYtbmNyCisJCW9zPS1zeXN2NAorCQk7OworCW5ldGJzZDM4NikKKwkJYmFzaWNfbWFjaGluZT1p
Mzg2LXVua25vd24KKwkJb3M9LW5ldGJzZAorCQk7OworCW5ldHdpbmRlcikKKwkJYmFzaWNfbWFj
aGluZT1hcm12NGwtcmViZWwKKwkJb3M9LWxpbnV4CisJCTs7CisJbmV3cyB8IG5ld3M3MDAgfCBu
ZXdzODAwIHwgbmV3czkwMCkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLXNvbnkKKwkJb3M9LW5ld3Nv
cworCQk7OworCW5ld3MxMDAwKQorCQliYXNpY19tYWNoaW5lPW02ODAzMC1zb255CisJCW9zPS1u
ZXdzb3MKKwkJOzsKKwluZXdzLTM2MDAgfCByaXNjLW5ld3MpCisJCWJhc2ljX21hY2hpbmU9bWlw
cy1zb255CisJCW9zPS1uZXdzb3MKKwkJOzsKKwluZWN2NzApCisJCWJhc2ljX21hY2hpbmU9djcw
LW5lYworCQlvcz0tc3lzdgorCQk7OworCW5leHQgfCBtKi1uZXh0ICkKKwkJYmFzaWNfbWFjaGlu
ZT1tNjhrLW5leHQKKwkJY2FzZSAkb3MgaW4KKwkJICAgIC1uZXh0c3RlcCogKQorCQkJOzsKKwkJ
ICAgIC1uczIqKQorCQkgICAgICBvcz0tbmV4dHN0ZXAyCisJCQk7OworCQkgICAgKikKKwkJICAg
ICAgb3M9LW5leHRzdGVwMworCQkJOzsKKwkJZXNhYworCQk7OworCW5oMzAwMCkKKwkJYmFzaWNf
bWFjaGluZT1tNjhrLWhhcnJpcworCQlvcz0tY3h1eAorCQk7OworCW5oWzQ1XTAwMCkKKwkJYmFz
aWNfbWFjaGluZT1tODhrLWhhcnJpcworCQlvcz0tY3h1eAorCQk7OworCW5pbmR5OTYwKQorCQli
YXNpY19tYWNoaW5lPWk5NjAtaW50ZWwKKwkJb3M9LW5pbmR5CisJCTs7CisJbW9uOTYwKQorCQli
YXNpY19tYWNoaW5lPWk5NjAtaW50ZWwKKwkJb3M9LW1vbjk2MAorCQk7OworCW5vbnN0b3B1eCkK
KwkJYmFzaWNfbWFjaGluZT1taXBzLWNvbXBhcQorCQlvcz0tbm9uc3RvcHV4CisJCTs7CisJbnAx
KQorCQliYXNpY19tYWNoaW5lPW5wMS1nb3VsZAorCQk7OworCW5zci10YW5kZW0pCisJCWJhc2lj
X21hY2hpbmU9bnNyLXRhbmRlbQorCQk7OworCW9wNTBuLSogfCBvcDYwYy0qKQorCQliYXNpY19t
YWNoaW5lPWhwcGExLjEtb2tpCisJCW9zPS1wcm9lbGYKKwkJOzsKKwlvcjMyIHwgb3IzMi0qKQor
CQliYXNpY19tYWNoaW5lPW9yMzItdW5rbm93bgorCQlvcz0tY29mZgorCQk7OworCU9TRTY4MDAw
IHwgb3NlNjgwMDApCisJCWJhc2ljX21hY2hpbmU9bTY4MDAwLWVyaWNzc29uCisJCW9zPS1vc2UK
KwkJOzsKKwlvczY4aykKKwkJYmFzaWNfbWFjaGluZT1tNjhrLW5vbmUKKwkJb3M9LW9zNjhrCisJ
CTs7CisJcGEtaGl0YWNoaSkKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhpdGFjaGkKKwkJb3M9
LWhpdXh3ZTIKKwkJOzsKKwlwYXJhZ29uKQorCQliYXNpY19tYWNoaW5lPWk4NjAtaW50ZWwKKwkJ
b3M9LW9zZgorCQk7OworCXBiZCkKKwkJYmFzaWNfbWFjaGluZT1zcGFyYy10dGkKKwkJOzsKKwlw
YmIpCisJCWJhc2ljX21hY2hpbmU9bTY4ay10dGkKKwkJOzsKKyAgICAgICAgcGM1MzIgfCBwYzUz
Mi0qKQorCQliYXNpY19tYWNoaW5lPW5zMzJrLXBjNTMyCisJCTs7CisJcGVudGl1bSB8IHA1IHwg
azUgfCBrNiB8IG5leGdlbiB8IHZpYWMzKQorCQliYXNpY19tYWNoaW5lPWk1ODYtcGMKKwkJOzsK
KwlwZW50aXVtcHJvIHwgcDYgfCA2eDg2IHwgYXRobG9uKQorCQliYXNpY19tYWNoaW5lPWk2ODYt
cGMKKwkJOzsKKwlwZW50aXVtaWkgfCBwZW50aXVtMikKKwkJYmFzaWNfbWFjaGluZT1pNjg2LXBj
CisJCTs7CisJcGVudGl1bS0qIHwgcDUtKiB8IGs1LSogfCBrNi0qIHwgbmV4Z2VuLSogfCB2aWFj
My0qKQorCQliYXNpY19tYWNoaW5lPWk1ODYtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3Mv
XlteLV0qLS8vJ2AKKwkJOzsKKwlwZW50aXVtcHJvLSogfCBwNi0qIHwgNng4Ni0qIHwgYXRobG9u
LSopCisJCWJhc2ljX21hY2hpbmU9aTY4Ni1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9e
W14tXSotLy8nYAorCQk7OworCXBlbnRpdW1paS0qIHwgcGVudGl1bTItKikKKwkJYmFzaWNfbWFj
aGluZT1pNjg2LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCTs7
CisJcG4pCisJCWJhc2ljX21hY2hpbmU9cG4tZ291bGQKKwkJOzsKKwlwb3dlcikJYmFzaWNfbWFj
aGluZT1wb3dlci1pYm0KKwkJOzsKKwlwcGMpCWJhc2ljX21hY2hpbmU9cG93ZXJwYy11bmtub3du
CisJICAgICAgICA7OworCXBwYy0qKQliYXNpY19tYWNoaW5lPXBvd2VycGMtYGVjaG8gJGJhc2lj
X21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJOzsKKwlwcGNsZSB8IHBvd2VycGNsaXR0
bGUgfCBwcGMtbGUgfCBwb3dlcnBjLWxpdHRsZSkKKwkJYmFzaWNfbWFjaGluZT1wb3dlcnBjbGUt
dW5rbm93bgorCSAgICAgICAgOzsKKwlwcGNsZS0qIHwgcG93ZXJwY2xpdHRsZS0qKQorCQliYXNp
Y19tYWNoaW5lPXBvd2VycGNsZS1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSot
Ly8nYAorCQk7OworCXBwYzY0KQliYXNpY19tYWNoaW5lPXBvd2VycGM2NC11bmtub3duCisJICAg
ICAgICA7OworCXBwYzY0LSopIGJhc2ljX21hY2hpbmU9cG93ZXJwYzY0LWBlY2hvICRiYXNpY19t
YWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCTs7CisJcHBjNjRsZSB8IHBvd2VycGM2NGxp
dHRsZSB8IHBwYzY0LWxlIHwgcG93ZXJwYzY0LWxpdHRsZSkKKwkJYmFzaWNfbWFjaGluZT1wb3dl
cnBjNjRsZS11bmtub3duCisJICAgICAgICA7OworCXBwYzY0bGUtKiB8IHBvd2VycGM2NGxpdHRs
ZS0qKQorCQliYXNpY19tYWNoaW5lPXBvd2VycGM2NGxlLWBlY2hvICRiYXNpY19tYWNoaW5lIHwg
c2VkICdzL15bXi1dKi0vLydgCisJCTs7CisJcHMyKQorCQliYXNpY19tYWNoaW5lPWkzODYtaWJt
CisJCTs7CisJcHczMikKKwkJYmFzaWNfbWFjaGluZT1pNTg2LXVua25vd24KKwkJb3M9LXB3MzIK
KwkJOzsKKwlyb202OGspCisJCWJhc2ljX21hY2hpbmU9bTY4ay1yb202OGsKKwkJb3M9LWNvZmYK
KwkJOzsKKwlybVs0Nl0wMCkKKwkJYmFzaWNfbWFjaGluZT1taXBzLXNpZW1lbnMKKwkJOzsKKwly
dHBjIHwgcnRwYy0qKQorCQliYXNpY19tYWNoaW5lPXJvbXAtaWJtCisJCTs7CisJczM5MCB8IHMz
OTAtKikKKwkJYmFzaWNfbWFjaGluZT1zMzkwLWlibQorCQk7OworCXMzOTB4IHwgczM5MHgtKikK
KwkJYmFzaWNfbWFjaGluZT1zMzkweC1pYm0KKwkJOzsKKwlzYTI5MjAwKQorCQliYXNpY19tYWNo
aW5lPWEyOWstYW1kCisJCW9zPS11ZGkKKwkJOzsKKwlzZXF1ZW50KQorCQliYXNpY19tYWNoaW5l
PWkzODYtc2VxdWVudAorCQk7OworCXNoKQorCQliYXNpY19tYWNoaW5lPXNoLWhpdGFjaGkKKwkJ
b3M9LWhtcworCQk7OworCXNwYXJjbGl0ZS13cnMgfCBzaW1zby13cnMpCisJCWJhc2ljX21hY2hp
bmU9c3BhcmNsaXRlLXdycworCQlvcz0tdnh3b3JrcworCQk7OworCXNwczcpCisJCWJhc2ljX21h
Y2hpbmU9bTY4ay1idWxsCisJCW9zPS1zeXN2MgorCQk7OworCXNwdXIpCisJCWJhc2ljX21hY2hp
bmU9c3B1ci11bmtub3duCisJCTs7CisJc3QyMDAwKQorCQliYXNpY19tYWNoaW5lPW02OGstdGFu
ZGVtCisJCTs7CisJc3RyYXR1cykKKwkJYmFzaWNfbWFjaGluZT1pODYwLXN0cmF0dXMKKwkJb3M9
LXN5c3Y0CisJCTs7CisJc3VuMikKKwkJYmFzaWNfbWFjaGluZT1tNjgwMDAtc3VuCisJCTs7CisJ
c3VuMm9zMykKKwkJYmFzaWNfbWFjaGluZT1tNjgwMDAtc3VuCisJCW9zPS1zdW5vczMKKwkJOzsK
KwlzdW4yb3M0KQorCQliYXNpY19tYWNoaW5lPW02ODAwMC1zdW4KKwkJb3M9LXN1bm9zNAorCQk7
OworCXN1bjNvczMpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1zdW4KKwkJb3M9LXN1bm9zMworCQk7
OworCXN1bjNvczQpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1zdW4KKwkJb3M9LXN1bm9zNAorCQk7
OworCXN1bjRvczMpCisJCWJhc2ljX21hY2hpbmU9c3BhcmMtc3VuCisJCW9zPS1zdW5vczMKKwkJ
OzsKKwlzdW40b3M0KQorCQliYXNpY19tYWNoaW5lPXNwYXJjLXN1bgorCQlvcz0tc3Vub3M0CisJ
CTs7CisJc3VuNHNvbDIpCisJCWJhc2ljX21hY2hpbmU9c3BhcmMtc3VuCisJCW9zPS1zb2xhcmlz
MgorCQk7OworCXN1bjMgfCBzdW4zLSopCisJCWJhc2ljX21hY2hpbmU9bTY4ay1zdW4KKwkJOzsK
KwlzdW40KQorCQliYXNpY19tYWNoaW5lPXNwYXJjLXN1bgorCQk7OworCXN1bjM4NiB8IHN1bjM4
NmkgfCByb2FkcnVubmVyKQorCQliYXNpY19tYWNoaW5lPWkzODYtc3VuCisJCTs7CisgICAgICAg
IHN2MSkKKwkJYmFzaWNfbWFjaGluZT1zdjEtY3JheQorCQlvcz0tdW5pY29zCisJCTs7CisJc3lt
bWV0cnkpCisJCWJhc2ljX21hY2hpbmU9aTM4Ni1zZXF1ZW50CisJCW9zPS1keW5peAorCQk7Owor
CXQzZCkKKwkJYmFzaWNfbWFjaGluZT1hbHBoYS1jcmF5CisJCW9zPS11bmljb3MKKwkJOzsKKwl0
M2UpCisJCWJhc2ljX21hY2hpbmU9YWxwaGFldjUtY3JheQorCQlvcz0tdW5pY29zCisJCTs7CisJ
dDkwKQorCQliYXNpY19tYWNoaW5lPXQ5MC1jcmF5CisJCW9zPS11bmljb3MKKwkJOzsKKwl0aWM1
NHggfCBjNTR4KikKKwkJYmFzaWNfbWFjaGluZT10aWM1NHgtdW5rbm93bgorCQlvcz0tY29mZgor
CQk7OworCXR4MzkpCisJCWJhc2ljX21hY2hpbmU9bWlwc3R4MzktdW5rbm93bgorCQk7OworCXR4
MzllbCkKKwkJYmFzaWNfbWFjaGluZT1taXBzdHgzOWVsLXVua25vd24KKwkJOzsKKwl0b2FkMSkK
KwkJYmFzaWNfbWFjaGluZT1wZHAxMC14a2wKKwkJb3M9LXRvcHMyMAorCQk7OworCXRvd2VyIHwg
dG93ZXItMzIpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1uY3IKKwkJOzsKKwl1ZGkyOWspCisJCWJh
c2ljX21hY2hpbmU9YTI5ay1hbWQKKwkJb3M9LXVkaQorCQk7OworCXVsdHJhMykKKwkJYmFzaWNf
bWFjaGluZT1hMjlrLW55dQorCQlvcz0tc3ltMQorCQk7OworCXY4MTAgfCBuZWN2ODEwKQorCQli
YXNpY19tYWNoaW5lPXY4MTAtbmVjCisJCW9zPS1ub25lCisJCTs7CisJdmF4dikKKwkJYmFzaWNf
bWFjaGluZT12YXgtZGVjCisJCW9zPS1zeXN2CisJCTs7CisJdm1zKQorCQliYXNpY19tYWNoaW5l
PXZheC1kZWMKKwkJb3M9LXZtcworCQk7OworCXZwcCp8dnh8dngtKikKKyAgICAgICAgICAgICAg
IGJhc2ljX21hY2hpbmU9ZjMwMS1mdWppdHN1CisgICAgICAgICAgICAgICA7OworCXZ4d29ya3M5
NjApCisJCWJhc2ljX21hY2hpbmU9aTk2MC13cnMKKwkJb3M9LXZ4d29ya3MKKwkJOzsKKwl2eHdv
cmtzNjgpCisJCWJhc2ljX21hY2hpbmU9bTY4ay13cnMKKwkJb3M9LXZ4d29ya3MKKwkJOzsKKwl2
eHdvcmtzMjlrKQorCQliYXNpY19tYWNoaW5lPWEyOWstd3JzCisJCW9zPS12eHdvcmtzCisJCTs7
CisJdzY1KikKKwkJYmFzaWNfbWFjaGluZT13NjUtd2RjCisJCW9zPS1ub25lCisJCTs7CisJdzg5
ay0qKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtd2luYm9uZAorCQlvcz0tcHJvZWxmCisJCTs7
CisJd2luZG93czMyKQorCQliYXNpY19tYWNoaW5lPWkzODYtcGMKKwkJb3M9LXdpbmRvd3MzMi1t
c3ZjcnQKKwkJOzsKKyAgICAgICAgeHBzIHwgeHBzMTAwKQorCQliYXNpY19tYWNoaW5lPXhwczEw
MC1ob25leXdlbGwKKwkJOzsKKwl5bXApCisJCWJhc2ljX21hY2hpbmU9eW1wLWNyYXkKKwkJb3M9
LXVuaWNvcworCQk7OworCXo4ay0qLWNvZmYpCisJCWJhc2ljX21hY2hpbmU9ejhrLXVua25vd24K
KwkJb3M9LXNpbQorCQk7OworCW5vbmUpCisJCWJhc2ljX21hY2hpbmU9bm9uZS1ub25lCisJCW9z
PS1ub25lCisJCTs7CisKKyMgSGVyZSB3ZSBoYW5kbGUgdGhlIGRlZmF1bHQgbWFudWZhY3R1cmVy
IG9mIGNlcnRhaW4gQ1BVIHR5cGVzLiAgSXQgaXMgaW4KKyMgc29tZSBjYXNlcyB0aGUgb25seSBt
YW51ZmFjdHVyZXIsIGluIG90aGVycywgaXQgaXMgdGhlIG1vc3QgcG9wdWxhci4KKwl3ODlrKQor
CQliYXNpY19tYWNoaW5lPWhwcGExLjEtd2luYm9uZAorCQk7OworCW9wNTBuKQorCQliYXNpY19t
YWNoaW5lPWhwcGExLjEtb2tpCisJCTs7CisJb3A2MGMpCisJCWJhc2ljX21hY2hpbmU9aHBwYTEu
MS1va2kKKwkJOzsKKwlyb21wKQorCQliYXNpY19tYWNoaW5lPXJvbXAtaWJtCisJCTs7CisJcnM2
MDAwKQorCQliYXNpY19tYWNoaW5lPXJzNjAwMC1pYm0KKwkJOzsKKwl2YXgpCisJCWJhc2ljX21h
Y2hpbmU9dmF4LWRlYworCQk7OworCXBkcDEwKQorCQkjIHRoZXJlIGFyZSBtYW55IGNsb25lcywg
c28gREVDIGlzIG5vdCBhIHNhZmUgYmV0CisJCWJhc2ljX21hY2hpbmU9cGRwMTAtdW5rbm93bgor
CQk7OworCXBkcDExKQorCQliYXNpY19tYWNoaW5lPXBkcDExLWRlYworCQk7OworCXdlMzJrKQor
CQliYXNpY19tYWNoaW5lPXdlMzJrLWF0dAorCQk7OworCXNoMyB8IHNoNCB8IHNoM2ViIHwgc2g0
ZWIpCisJCWJhc2ljX21hY2hpbmU9c2gtdW5rbm93bgorCQk7OworCXNoNjQpCisJCWJhc2ljX21h
Y2hpbmU9c2g2NC11bmtub3duCisJCTs7CisJc3BhcmMgfCBzcGFyY3Y5IHwgc3BhcmN2OWIpCisJ
CWJhc2ljX21hY2hpbmU9c3BhcmMtc3VuCisJCTs7CisgICAgICAgIGN5ZHJhKQorCQliYXNpY19t
YWNoaW5lPWN5ZHJhLWN5ZHJvbWUKKwkJOzsKKwlvcmlvbikKKwkJYmFzaWNfbWFjaGluZT1vcmlv
bi1oaWdobGV2ZWwKKwkJOzsKKwlvcmlvbjEwNSkKKwkJYmFzaWNfbWFjaGluZT1jbGlwcGVyLWhp
Z2hsZXZlbAorCQk7OworCW1hYyB8IG1wdyB8IG1hYy1tcHcpCisJCWJhc2ljX21hY2hpbmU9bTY4
ay1hcHBsZQorCQk7OworCXBtYWMgfCBwbWFjLW1wdykKKwkJYmFzaWNfbWFjaGluZT1wb3dlcnBj
LWFwcGxlCisJCTs7CisJYzR4KikKKwkJYmFzaWNfbWFjaGluZT1jNHgtbm9uZQorCQlvcz0tY29m
ZgorCQk7OworCSotdW5rbm93bikKKwkJIyBNYWtlIHN1cmUgdG8gbWF0Y2ggYW4gYWxyZWFkeS1j
YW5vbmljYWxpemVkIG1hY2hpbmUgbmFtZS4KKwkJOzsKKwkqKQorCQllY2hvIEludmFsaWQgY29u
ZmlndXJhdGlvbiBcYCQxXCc6IG1hY2hpbmUgXGAkYmFzaWNfbWFjaGluZVwnIG5vdCByZWNvZ25p
emVkIDE+JjIKKwkJZXhpdCAxCisJCTs7Citlc2FjCisKKyMgSGVyZSB3ZSBjYW5vbmljYWxpemUg
Y2VydGFpbiBhbGlhc2VzIGZvciBtYW51ZmFjdHVyZXJzLgorY2FzZSAkYmFzaWNfbWFjaGluZSBp
bgorCSotZGlnaXRhbCopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBz
ZWQgJ3MvZGlnaXRhbC4qL2RlYy8nYAorCQk7OworCSotY29tbW9kb3JlKikKKwkJYmFzaWNfbWFj
aGluZT1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9jb21tb2RvcmUuKi9jYm0vJ2AKKwkJ
OzsKKwkqKQorCQk7OworZXNhYworCisjIERlY29kZSBtYW51ZmFjdHVyZXItc3BlY2lmaWMgYWxp
YXNlcyBmb3IgY2VydGFpbiBvcGVyYXRpbmcgc3lzdGVtcy4KKworaWYgWyB4IiRvcyIgIT0geCIi
IF0KK3RoZW4KK2Nhc2UgJG9zIGluCisgICAgICAgICMgRmlyc3QgbWF0Y2ggc29tZSBzeXN0ZW0g
dHlwZSBhbGlhc2VzCisgICAgICAgICMgdGhhdCBtaWdodCBnZXQgY29uZnVzZWQgd2l0aCB2YWxp
ZCBzeXN0ZW0gdHlwZXMuCisJIyAtc29sYXJpcyogaXMgYSBiYXNpYyBzeXN0ZW0gdHlwZSwgd2l0
aCB0aGlzIG9uZSBleGNlcHRpb24uCisJLXNvbGFyaXMxIHwgLXNvbGFyaXMxLiopCisJCW9zPWBl
Y2hvICRvcyB8IHNlZCAtZSAnc3xzb2xhcmlzMXxzdW5vczR8J2AKKwkJOzsKKwktc29sYXJpcykK
KwkJb3M9LXNvbGFyaXMyCisJCTs7CisJLXN2cjQqKQorCQlvcz0tc3lzdjQKKwkJOzsKKwktdW5p
eHdhcmUqKQorCQlvcz0tc3lzdjQuMnV3CisJCTs7CisJLWdudS9saW51eCopCisJCW9zPWBlY2hv
ICRvcyB8IHNlZCAtZSAnc3xnbnUvbGludXh8bGludXgtZ251fCdgCisJCTs7CisJIyBGaXJzdCBh
Y2NlcHQgdGhlIGJhc2ljIHN5c3RlbSB0eXBlcy4KKwkjIFRoZSBwb3J0YWJsZSBzeXN0ZW1zIGNv
bWVzIGZpcnN0LgorCSMgRWFjaCBhbHRlcm5hdGl2ZSBNVVNUIEVORCBJTiBBICosIHRvIG1hdGNo
IGEgdmVyc2lvbiBudW1iZXIuCisJIyAtc3lzdiogaXMgbm90IGhlcmUgYmVjYXVzZSBpdCBjb21l
cyBsYXRlciwgYWZ0ZXIgc3lzdnI0LgorCS1nbnUqIHwgLWJzZCogfCAtbWFjaCogfCAtbWluaXgq
IHwgLWdlbml4KiB8IC11bHRyaXgqIHwgLWlyaXgqIFwKKwkgICAgICB8IC0qdm1zKiB8IC1zY28q
IHwgLWVzaXgqIHwgLWlzYyogfCAtYWl4KiB8IC1zdW5vcyB8IC1zdW5vc1szNF0qXAorCSAgICAg
IHwgLWhwdXgqIHwgLXVub3MqIHwgLW9zZiogfCAtbHVuYSogfCAtZGd1eCogfCAtc29sYXJpcyog
fCAtc3ltKiBcCisJICAgICAgfCAtYW1pZ2FvcyogfCAtYW1pZ2Fkb3MqIHwgLW1zZG9zKiB8IC1u
ZXdzb3MqIHwgLXVuaWNvcyogfCAtYW9mKiBcCisJICAgICAgfCAtYW9zKiBcCisJICAgICAgfCAt
bmluZHkqIHwgLXZ4c2ltKiB8IC12eHdvcmtzKiB8IC1lYm1vbiogfCAtaG1zKiB8IC1tdnMqIFwK
KwkgICAgICB8IC1jbGl4KiB8IC1yaXNjb3MqIHwgLXVuaXBsdXMqIHwgLWlyaXMqIHwgLXJ0dSog
fCAteGVuaXgqIFwKKwkgICAgICB8IC1oaXV4KiB8IC0zODZic2QqIHwgLW5ldGJzZCogfCAtb3Bl
bmJzZCogfCAtZnJlZWJzZCogfCAtcmlzY2l4KiBcCisJICAgICAgfCAtbHlueG9zKiB8IC1ib3N4
KiB8IC1uZXh0c3RlcCogfCAtY3h1eCogfCAtYW91dCogfCAtZWxmKiB8IC1vYWJpKiBcCisJICAg
ICAgfCAtcHR4KiB8IC1jb2ZmKiB8IC1lY29mZiogfCAtd2lubnQqIHwgLWRvbWFpbiogfCAtdnN0
YSogXAorCSAgICAgIHwgLXVkaSogfCAtZWFiaSogfCAtbGl0ZXMqIHwgLWllZWUqIHwgLWdvMzIq
IHwgLWF1eCogXAorCSAgICAgIHwgLWNob3J1c29zKiB8IC1jaG9ydXNyZGIqIFwKKwkgICAgICB8
IC1jeWd3aW4qIHwgLXBlKiB8IC1wc29zKiB8IC1tb3NzKiB8IC1wcm9lbGYqIHwgLXJ0ZW1zKiBc
CisJICAgICAgfCAtbWluZ3czMiogfCAtbGludXgtZ251KiB8IC11eHB2KiB8IC1iZW9zKiB8IC1t
cGVpeCogfCAtdWRrKiBcCisJICAgICAgfCAtaW50ZXJpeCogfCAtdXdpbiogfCAtcmhhcHNvZHkq
IHwgLWRhcndpbiogfCAtb3BlbmVkKiBcCisJICAgICAgfCAtb3BlbnN0ZXAqIHwgLW9za2l0KiB8
IC1jb25peCogfCAtcHczMiogfCAtbm9uc3RvcHV4KiBcCisJICAgICAgfCAtc3Rvcm0tY2hhb3Mq
IHwgLXRvcHMxMCogfCAtdGVuZXgqIHwgLXRvcHMyMCogfCAtaXRzKiBcCisJICAgICAgfCAtb3My
KiB8IC12b3MqIHwgLXBhbG1vcyogfCAtdWNsaW51eCogfCAtbnVjbGV1cyogXAorCSAgICAgIHwg
LW1vcnBob3MqIHwgLXN1cGVydXgqIHwgLXJ0bWsqIHwgLXJ0bWstbm92YSopCisJIyBSZW1lbWJl
ciwgZWFjaCBhbHRlcm5hdGl2ZSBNVVNUIEVORCBJTiAqLCB0byBtYXRjaCBhIHZlcnNpb24gbnVt
YmVyLgorCQk7OworCS1xbngqKQorCQljYXNlICRiYXNpY19tYWNoaW5lIGluCisJCSAgICB4ODYt
KiB8IGkqODYtKikKKwkJCTs7CisJCSAgICAqKQorCQkJb3M9LW50byRvcworCQkJOzsKKwkJZXNh
YworCQk7OworCS1udG8qKQorCQlvcz0tbnRvLXFueAorCQk7OworCS1zaW0gfCAtZXMxODAwKiB8
IC1obXMqIHwgLXhyYXkgfCAtb3M2OGsqIHwgLW5vbmUqIHwgLXY4OHIqIFwKKwkgICAgICB8IC13
aW5kb3dzKiB8IC1vc3ggfCAtYWJ1ZyB8IC1uZXR3YXJlKiB8IC1vczkqIHwgLWJlb3MqIFwKKwkg
ICAgICB8IC1tYWNvcyogfCAtbXB3KiB8IC1tYWdpYyogfCAtbW1peHdhcmUqIHwgLW1vbjk2MCog
fCAtbG5ld3MqKQorCQk7OworCS1tYWMqKQorCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3N8bWFj
fG1hY29zfCdgCisJCTs7CisJLWxpbnV4KikKKwkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfGxp
bnV4fGxpbnV4LWdudXwnYAorCQk7OworCS1zdW5vczUqKQorCQlvcz1gZWNobyAkb3MgfCBzZWQg
LWUgJ3N8c3Vub3M1fHNvbGFyaXMyfCdgCisJCTs7CisJLXN1bm9zNiopCisJCW9zPWBlY2hvICRv
cyB8IHNlZCAtZSAnc3xzdW5vczZ8c29sYXJpczN8J2AKKwkJOzsKKwktb3BlbmVkKikKKwkJb3M9
LW9wZW5lZGl0aW9uCisJCTs7CisJLXdpbmNlKikKKwkJb3M9LXdpbmNlCisJCTs7CisJLW9zZnJv
c2UqKQorCQlvcz0tb3Nmcm9zZQorCQk7OworCS1vc2YqKQorCQlvcz0tb3NmCisJCTs7CisJLXV0
ZWsqKQorCQlvcz0tYnNkCisJCTs7CisJLWR5bml4KikKKwkJb3M9LWJzZAorCQk7OworCS1hY2lz
KikKKwkJb3M9LWFvcworCQk7OworCS1hdGhlb3MqKQorCQlvcz0tYXRoZW9zCisJCTs7CisJLTM4
NmJzZCkKKwkJb3M9LWJzZAorCQk7OworCS1jdGl4KiB8IC11dHMqKQorCQlvcz0tc3lzdgorCQk7
OworCS1ub3ZhKikKKwkJb3M9LXJ0bWstbm92YQorCQk7OworCS1uczIgKQorCSAgICAgICAgb3M9
LW5leHRzdGVwMgorCQk7OworCS1uc2sqKQorCQlvcz0tbnNrCisJCTs7CisJIyBQcmVzZXJ2ZSB0
aGUgdmVyc2lvbiBudW1iZXIgb2Ygc2luaXg1LgorCS1zaW5peDUuKikKKwkJb3M9YGVjaG8gJG9z
IHwgc2VkIC1lICdzfHNpbml4fHN5c3Z8J2AKKwkJOzsKKwktc2luaXgqKQorCQlvcz0tc3lzdjQK
KwkJOzsKKwktdHJpdG9uKikKKwkJb3M9LXN5c3YzCisJCTs7CisJLW9zcyopCisJCW9zPS1zeXN2
MworCQk7OworCS1zdnI0KQorCQlvcz0tc3lzdjQKKwkJOzsKKwktc3ZyMykKKwkJb3M9LXN5c3Yz
CisJCTs7CisJLXN5c3ZyNCkKKwkJb3M9LXN5c3Y0CisJCTs7CisJIyBUaGlzIG11c3QgY29tZSBh
ZnRlciAtc3lzdnI0LgorCS1zeXN2KikKKwkJOzsKKwktb3NlKikKKwkJb3M9LW9zZQorCQk7Owor
CS1lczE4MDAqKQorCQlvcz0tb3NlCisJCTs7CisJLXhlbml4KQorCQlvcz0teGVuaXgKKwkJOzsK
KyAgICAgICAgLSptaW50IHwgLW1pbnRbMC05XSogfCAtKk1pTlQgfCAtTWlOVFswLTldKikKKwkg
ICAgICAgIG9zPS1taW50CisJCTs7CisJLW5vbmUpCisJCTs7CisJKikKKwkJIyBHZXQgcmlkIG9m
IHRoZSBgLScgYXQgdGhlIGJlZ2lubmluZyBvZiAkb3MuCisJCW9zPWBlY2hvICRvcyB8IHNlZCAn
cy9bXi1dKi0vLydgCisJCWVjaG8gSW52YWxpZCBjb25maWd1cmF0aW9uIFxgJDFcJzogc3lzdGVt
IFxgJG9zXCcgbm90IHJlY29nbml6ZWQgMT4mMgorCQlleGl0IDEKKwkJOzsKK2VzYWMKK2Vsc2UK
KworIyBIZXJlIHdlIGhhbmRsZSB0aGUgZGVmYXVsdCBvcGVyYXRpbmcgc3lzdGVtcyB0aGF0IGNv
bWUgd2l0aCB2YXJpb3VzIG1hY2hpbmVzLgorIyBUaGUgdmFsdWUgc2hvdWxkIGJlIHdoYXQgdGhl
IHZlbmRvciBjdXJyZW50bHkgc2hpcHMgb3V0IHRoZSBkb29yIHdpdGggdGhlaXIKKyMgbWFjaGlu
ZSBvciBwdXQgYW5vdGhlciB3YXksIHRoZSBtb3N0IHBvcHVsYXIgb3MgcHJvdmlkZWQgd2l0aCB0
aGUgbWFjaGluZS4KKworIyBOb3RlIHRoYXQgaWYgeW91J3JlIGdvaW5nIHRvIHRyeSB0byBtYXRj
aCAiLU1BTlVGQUNUVVJFUiIgaGVyZSAoc2F5LAorIyAiLXN1biIpLCB0aGVuIHlvdSBoYXZlIHRv
IHRlbGwgdGhlIGNhc2Ugc3RhdGVtZW50IHVwIHRvd2FyZHMgdGhlIHRvcAorIyB0aGF0IE1BTlVG
QUNUVVJFUiBpc24ndCBhbiBvcGVyYXRpbmcgc3lzdGVtLiAgT3RoZXJ3aXNlLCBjb2RlIGFib3Zl
CisjIHdpbGwgc2lnbmFsIGFuIGVycm9yIHNheWluZyB0aGF0IE1BTlVGQUNUVVJFUiBpc24ndCBh
biBvcGVyYXRpbmcKKyMgc3lzdGVtLCBhbmQgd2UnbGwgbmV2ZXIgZ2V0IHRvIHRoaXMgcG9pbnQu
CisKK2Nhc2UgJGJhc2ljX21hY2hpbmUgaW4KKwkqLWFjb3JuKQorCQlvcz0tcmlzY2l4MS4yCisJ
CTs7CisJYXJtKi1yZWJlbCkKKwkJb3M9LWxpbnV4CisJCTs7CisJYXJtKi1zZW1pKQorCQlvcz0t
YW91dAorCQk7OworCSMgVGhpcyBtdXN0IGNvbWUgYmVmb3JlIHRoZSAqLWRlYyBlbnRyeS4KKwlw
ZHAxMC0qKQorCQlvcz0tdG9wczIwCisJCTs7CisgICAgICAgIHBkcDExLSopCisJCW9zPS1ub25l
CisJCTs7CisJKi1kZWMgfCB2YXgtKikKKwkJb3M9LXVsdHJpeDQuMgorCQk7OworCW02OCotYXBv
bGxvKQorCQlvcz0tZG9tYWluCisJCTs7CisJaTM4Ni1zdW4pCisJCW9zPS1zdW5vczQuMC4yCisJ
CTs7CisJbTY4MDAwLXN1bikKKwkJb3M9LXN1bm9zMworCQkjIFRoaXMgYWxzbyBleGlzdHMgaW4g
dGhlIGNvbmZpZ3VyZSBwcm9ncmFtLCBidXQgd2FzIG5vdCB0aGUKKwkJIyBkZWZhdWx0LgorCQkj
IG9zPS1zdW5vczQKKwkJOzsKKwltNjgqLWNpc2NvKQorCQlvcz0tYW91dAorCQk7OworCW1pcHMq
LWNpc2NvKQorCQlvcz0tZWxmCisJCTs7CisJbWlwcyotKikKKwkJb3M9LWVsZgorCQk7OworCW9y
MzItKikKKwkJb3M9LWNvZmYKKwkJOzsKKwkqLXR0aSkJIyBtdXN0IGJlIGJlZm9yZSBzcGFyYyBl
bnRyeSBvciB3ZSBnZXQgdGhlIHdyb25nIG9zLgorCQlvcz0tc3lzdjMKKwkJOzsKKwlzcGFyYy0q
IHwgKi1zdW4pCisJCW9zPS1zdW5vczQuMS4xCisJCTs7CisJKi1iZSkKKwkJb3M9LWJlb3MKKwkJ
OzsKKwkqLWlibSkKKwkJb3M9LWFpeAorCQk7OworCSotd2VjKQorCQlvcz0tcHJvZWxmCisJCTs7
CisJKi13aW5ib25kKQorCQlvcz0tcHJvZWxmCisJCTs7CisJKi1va2kpCisJCW9zPS1wcm9lbGYK
KwkJOzsKKwkqLWhwKQorCQlvcz0taHB1eAorCQk7OworCSotaGl0YWNoaSkKKwkJb3M9LWhpdXgK
KwkJOzsKKwlpODYwLSogfCAqLWF0dCB8ICotbmNyIHwgKi1hbHRvcyB8ICotbW90b3JvbGEgfCAq
LWNvbnZlcmdlbnQpCisJCW9zPS1zeXN2CisJCTs7CisJKi1jYm0pCisJCW9zPS1hbWlnYW9zCisJ
CTs7CisJKi1kZykKKwkJb3M9LWRndXgKKwkJOzsKKwkqLWRvbHBoaW4pCisJCW9zPS1zeXN2Mwor
CQk7OworCW02OGstY2N1cikKKwkJb3M9LXJ0dQorCQk7OworCW04OGstb21yb24qKQorCQlvcz0t
bHVuYQorCQk7OworCSotbmV4dCApCisJCW9zPS1uZXh0c3RlcAorCQk7OworCSotc2VxdWVudCkK
KwkJb3M9LXB0eAorCQk7OworCSotY3JkcykKKwkJb3M9LXVub3MKKwkJOzsKKwkqLW5zKQorCQlv
cz0tZ2VuaXgKKwkJOzsKKwlpMzcwLSopCisJCW9zPS1tdnMKKwkJOzsKKwkqLW5leHQpCisJCW9z
PS1uZXh0c3RlcDMKKwkJOzsKKyAgICAgICAgKi1nb3VsZCkKKwkJb3M9LXN5c3YKKwkJOzsKKyAg
ICAgICAgKi1oaWdobGV2ZWwpCisJCW9zPS1ic2QKKwkJOzsKKwkqLWVuY29yZSkKKwkJb3M9LWJz
ZAorCQk7OworICAgICAgICAqLXNnaSkKKwkJb3M9LWlyaXgKKwkJOzsKKyAgICAgICAgKi1zaWVt
ZW5zKQorCQlvcz0tc3lzdjQKKwkJOzsKKwkqLW1hc3Njb21wKQorCQlvcz0tcnR1CisJCTs7CisJ
ZjMwWzAxXS1mdWppdHN1IHwgZjcwMC1mdWppdHN1KQorCQlvcz0tdXhwdgorCQk7OworCSotcm9t
NjhrKQorCQlvcz0tY29mZgorCQk7OworCSotKmJ1ZykKKwkJb3M9LWNvZmYKKwkJOzsKKwkqLWFw
cGxlKQorCQlvcz0tbWFjb3MKKwkJOzsKKwkqLWF0YXJpKikKKwkJb3M9LW1pbnQKKwkJOzsKKwkq
KQorCQlvcz0tbm9uZQorCQk7OworZXNhYworZmkKKworIyBIZXJlIHdlIGhhbmRsZSB0aGUgY2Fz
ZSB3aGVyZSB3ZSBrbm93IHRoZSBvcywgYW5kIHRoZSBDUFUgdHlwZSwgYnV0IG5vdCB0aGUKKyMg
bWFudWZhY3R1cmVyLiAgV2UgcGljayB0aGUgbG9naWNhbCBtYW51ZmFjdHVyZXIuCit2ZW5kb3I9
dW5rbm93bgorY2FzZSAkYmFzaWNfbWFjaGluZSBpbgorCSotdW5rbm93bikKKwkJY2FzZSAkb3Mg
aW4KKwkJCS1yaXNjaXgqKQorCQkJCXZlbmRvcj1hY29ybgorCQkJCTs7CisJCQktc3Vub3MqKQor
CQkJCXZlbmRvcj1zdW4KKwkJCQk7OworCQkJLWFpeCopCisJCQkJdmVuZG9yPWlibQorCQkJCTs7
CisJCQktYmVvcyopCisJCQkJdmVuZG9yPWJlCisJCQkJOzsKKwkJCS1ocHV4KikKKwkJCQl2ZW5k
b3I9aHAKKwkJCQk7OworCQkJLW1wZWl4KikKKwkJCQl2ZW5kb3I9aHAKKwkJCQk7OworCQkJLWhp
dXgqKQorCQkJCXZlbmRvcj1oaXRhY2hpCisJCQkJOzsKKwkJCS11bm9zKikKKwkJCQl2ZW5kb3I9
Y3JkcworCQkJCTs7CisJCQktZGd1eCopCisJCQkJdmVuZG9yPWRnCisJCQkJOzsKKwkJCS1sdW5h
KikKKwkJCQl2ZW5kb3I9b21yb24KKwkJCQk7OworCQkJLWdlbml4KikKKwkJCQl2ZW5kb3I9bnMK
KwkJCQk7OworCQkJLW12cyogfCAtb3BlbmVkKikKKwkJCQl2ZW5kb3I9aWJtCisJCQkJOzsKKwkJ
CS1wdHgqKQorCQkJCXZlbmRvcj1zZXF1ZW50CisJCQkJOzsKKwkJCS12eHNpbSogfCAtdnh3b3Jr
cyopCisJCQkJdmVuZG9yPXdycworCQkJCTs7CisJCQktYXV4KikKKwkJCQl2ZW5kb3I9YXBwbGUK
KwkJCQk7OworCQkJLWhtcyopCisJCQkJdmVuZG9yPWhpdGFjaGkKKwkJCQk7OworCQkJLW1wdyog
fCAtbWFjb3MqKQorCQkJCXZlbmRvcj1hcHBsZQorCQkJCTs7CisJCQktKm1pbnQgfCAtbWludFsw
LTldKiB8IC0qTWlOVCB8IC1NaU5UWzAtOV0qKQorCQkJCXZlbmRvcj1hdGFyaQorCQkJCTs7CisJ
CQktdm9zKikKKwkJCQl2ZW5kb3I9c3RyYXR1cworCQkJCTs7CisJCWVzYWMKKwkJYmFzaWNfbWFj
aGluZT1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAicy91bmtub3duLyR2ZW5kb3IvImAKKwkJ
OzsKK2VzYWMKKworZWNobyAkYmFzaWNfbWFjaGluZSRvcworZXhpdCAwCisKKyMgTG9jYWwgdmFy
aWFibGVzOgorIyBldmFsOiAoYWRkLWhvb2sgJ3dyaXRlLWZpbGUtaG9va3MgJ3RpbWUtc3RhbXAp
CisjIHRpbWUtc3RhbXAtc3RhcnQ6ICJ0aW1lc3RhbXA9JyIKKyMgdGltZS1zdGFtcC1mb3JtYXQ6
ICIlOnktJTAybS0lMDJkIgorIyB0aW1lLXN0YW1wLWVuZDogIiciCisjIEVuZDoKZGlmZiAtdXJO
IGxjZC0wLjIuMS9jb25maWd1cmUgbGNkLTAuMi4xLW5ldy9jb25maWd1cmUKLS0tIGxjZC0wLjIu
MS9jb25maWd1cmUJMjAwNC0wMi0wOCAyMDoxMzoxMi4wMDAwMDAwMDAgKzAxMDAKKysrIGxjZC0w
LjIuMS1uZXcvY29uZmlndXJlCTIwMDQtMTItMjAgMDQ6NTg6NDEuNjg0MjE5OTIwICswMTAwCkBA
IC0xNDQwLDU5ICsxNDQwLDggQEAKICAgZmkKIGZpCiAKLWZvciBhY19kZWNsYXJhdGlvbiBpbiBc
Ci0gICAnJ1wKLSAgICcjaW5jbHVkZSA8c3RkbGliLmg+JyBcCi0gICAnZXh0ZXJuICJDIiB2b2lk
IHN0ZDo6ZXhpdCAoaW50KSB0aHJvdyAoKTsgdXNpbmcgc3RkOjpleGl0OycgXAotICAgJ2V4dGVy
biAiQyIgdm9pZCBzdGQ6OmV4aXQgKGludCk7IHVzaW5nIHN0ZDo6ZXhpdDsnIFwKLSAgICdleHRl
cm4gIkMiIHZvaWQgZXhpdCAoaW50KSB0aHJvdyAoKTsnIFwKLSAgICdleHRlcm4gIkMiIHZvaWQg
ZXhpdCAoaW50KTsnIFwKLSAgICd2b2lkIGV4aXQgKGludCk7JwotZG8KLSAgY2F0ID4gY29uZnRl
c3QuJGFjX2V4dCA8PEVPRgotI2xpbmUgMTQ1NCAiY29uZmlndXJlIgotI2luY2x1ZGUgImNvbmZk
ZWZzLmgiCi0jaW5jbHVkZSA8c3RkbGliLmg+Ci0kYWNfZGVjbGFyYXRpb24KLWludCBtYWluKCkg
ewotZXhpdCAoNDIpOwotOyByZXR1cm4gMDsgfQotRU9GCi1pZiB7IChldmFsIGVjaG8gY29uZmln
dXJlOjE0NjI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7
IH07IHRoZW4KLSAgOgotZWxzZQotICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoiID4mNQotICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKLSAgcm0gLXJmIGNvbmZ0ZXN0Kgot
ICBjb250aW51ZQotZmkKLXJtIC1mIGNvbmZ0ZXN0KgotICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0
IDw8RU9GCi0jbGluZSAxNDcyICJjb25maWd1cmUiCi0jaW5jbHVkZSAiY29uZmRlZnMuaCIKLSRh
Y19kZWNsYXJhdGlvbgotaW50IG1haW4oKSB7Ci1leGl0ICg0Mik7Ci07IHJldHVybiAwOyB9Ci1F
T0YKLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ3OTogXCIkYWNfY29tcGlsZVwiKSAxPiY1
OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgotICBybSAtcmYgY29uZnRlc3QqCi0g
IGJyZWFrCi1lbHNlCi0gIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1
Ci0gIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQotZmkKLXJtIC1mIGNvbmZ0ZXN0KgotZG9uZQot
aWYgdGVzdCAtbiAiJGFjX2RlY2xhcmF0aW9uIjsgdGhlbgotICBlY2hvICcjaWZkZWYgX19jcGx1
c3BsdXMnID4+Y29uZmRlZnMuaAotICBlY2hvICRhY19kZWNsYXJhdGlvbiAgICAgID4+Y29uZmRl
ZnMuaAotICBlY2hvICcjZW5kaWYnICAgICAgICAgICAgID4+Y29uZmRlZnMuaAotZmkKLQotCiBl
Y2hvICRhY19uICJjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yIiIuLi4g
JGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZToxNDk2OiBjaGVja2luZyBob3cgdG8gcnVuIHRo
ZSBDKysgcHJlcHJvY2Vzc29yIiA+JjUKK2VjaG8gImNvbmZpZ3VyZToxNDQ1OiBjaGVja2luZyBo
b3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yIiA+JjUKIGlmIHRlc3QgLXogIiRDWFhDUFAi
OyB0aGVuCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19DWFhDUFAnK3Nl
dH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgpA
QCAtMTUwNSwxMiArMTQ1NCwxMiBAQAogY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9j
cm9zcwogICBDWFhDUFA9IiR7Q1hYLWcrK30gLUUiCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQg
PDxFT0YKLSNsaW5lIDE1MDkgImNvbmZpZ3VyZSIKKyNsaW5lIDE0NTggImNvbmZpZ3VyZSIKICNp
bmNsdWRlICJjb25mZGVmcy5oIgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogRU9GCiBhY190cnk9IiRh
Y19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0IgoteyAoZXZh
bCBlY2hvIGNvbmZpZ3VyZToxNTE0OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkg
Mj4mNTsgfQoreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDYzOiBcIiRhY190cnlcIikgMT4mNTsg
KGV2YWwgJGFjX3RyeSkgMj4mNTsgfQogYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5v
dXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYAogaWYgdGVzdCAteiAiJGFjX2Vy
ciI7IHRoZW4KICAgOgpAQCAtMTU0MSw3ICsxNDkwLDcgQEAKICMgRXh0cmFjdCB0aGUgZmlyc3Qg
d29yZCBvZiAiJGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdz
Lgogc2V0IGR1bW15ICRhY19wcm9nOyBhY193b3JkPSQyCiBlY2hvICRhY19uICJjaGVja2luZyBm
b3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjE1NDU6IGNoZWNr
aW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICJjb25maWd1cmU6MTQ5NDogY2hlY2tpbmcgZm9y
ICRhY193b3JkIiA+JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX0xF
WCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAx
PiY2CiBlbHNlCkBAIC0xNTc0LDcgKzE1MjMsNyBAQAogIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk
IG9mICJmbGV4Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KIHNldCBk
dW1teSBmbGV4OyBhY193b3JkPSQyCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQi
Ii4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjE1Nzg6IGNoZWNraW5nIGZvciAkYWNf
d29yZCIgPiY1CitlY2hvICJjb25maWd1cmU6MTUyNzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+
JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX0xFWCcrc2V0fSdgXCIg
PSBzZXQiOyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCkBA
IC0xNjA4LDcgKzE1NTcsNyBAQAogICAqKSBhY19saWI9bCA7OwogICBlc2FjCiAgIGVjaG8gJGFj
X24gImNoZWNraW5nIGZvciB5eXdyYXAgaW4gLWwkYWNfbGliIiIuLi4gJGFjX2MiIDE+JjYKLWVj
aG8gImNvbmZpZ3VyZToxNjEyOiBjaGVja2luZyBmb3IgeXl3cmFwIGluIC1sJGFjX2xpYiIgPiY1
CitlY2hvICJjb25maWd1cmU6MTU2MTogY2hlY2tpbmcgZm9yIHl5d3JhcCBpbiAtbCRhY19saWIi
ID4mNQogYWNfbGliX3Zhcj1gZWNobyAkYWNfbGliJ18neXl3cmFwIHwgc2VkICd5JS4vKy0lX19w
XyUnYAogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zhcicr
c2V0fSdgXCIgPSBzZXQiOyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2
CkBAIC0xNjE2LDcgKzE1NjUsNyBAQAogICBhY19zYXZlX0xJQlM9IiRMSUJTIgogTElCUz0iLWwk
YWNfbGliICAkTElCUyIKIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKLSNsaW5lIDE2MjAg
ImNvbmZpZ3VyZSIKKyNsaW5lIDE1NjkgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5o
IgogLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy
cm9yLiAgKi8KIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1
cm4gdHlwZSBvZiBhIGdjYzIKQEAgLTE2MjcsNyArMTU3Niw3IEBACiB5eXdyYXAoKQogOyByZXR1
cm4gMDsgfQogRU9GCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE2MzE6IFwiJGFjX2xpbmtc
IikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNf
ZXhlZXh0fTsgdGhlbgoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNTgwOiBcIiRhY19saW5r
XCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2Fj
X2V4ZWV4dH07IHRoZW4KICAgcm0gLXJmIGNvbmZ0ZXN0KgogICBldmFsICJhY19jdl9saWJfJGFj
X2xpYl92YXI9eWVzIgogZWxzZQpAQCAtMTY1MCw3ICsxNTk5LDcgQEAKIGZpCiAKIGVjaG8gJGFj
X24gImNoZWNraW5nIGxleCBvdXRwdXQgZmlsZSByb290IiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8g
ImNvbmZpZ3VyZToxNjU0OiBjaGVja2luZyBsZXggb3V0cHV0IGZpbGUgcm9vdCIgPiY1CitlY2hv
ICJjb25maWd1cmU6MTYwMzogY2hlY2tpbmcgbGV4IG91dHB1dCBmaWxlIHJvb3QiID4mNQogaWYg
ZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfbGV4X3Jvb3QnK3NldH0nYFwiID0g
c2V0IjsgdGhlbgogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgogZWxzZQpAQCAt
MTY3MSw3ICsxNjIwLDcgQEAKIExFWF9PVVRQVVRfUk9PVD0kYWNfY3ZfcHJvZ19sZXhfcm9vdAog
CiBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHl5dGV4dCBpcyBhIHBvaW50ZXIiIi4uLiAk
YWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjE2NzU6IGNoZWNraW5nIHdoZXRoZXIgeXl0ZXh0
IGlzIGEgcG9pbnRlciIgPiY1CitlY2hvICJjb25maWd1cmU6MTYyNDogY2hlY2tpbmcgd2hldGhl
ciB5eXRleHQgaXMgYSBwb2ludGVyIiA+JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydh
Y19jdl9wcm9nX2xleF95eXRleHRfcG9pbnRlcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCiAgIGVj
aG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCkBAIC0xNjgzLDE0ICsxNjMyLDE0
IEBACiBhY19zYXZlX0xJQlM9IiRMSUJTIgogTElCUz0iJExJQlMgJExFWExJQiIKIGNhdCA+IGNv
bmZ0ZXN0LiRhY19leHQgPDxFT0YKLSNsaW5lIDE2ODcgImNvbmZpZ3VyZSIKKyNsaW5lIDE2MzYg
ImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogYGNhdCAkTEVYX09VVFBVVF9ST09U
LmNgCiBpbnQgbWFpbigpIHsKIAogOyByZXR1cm4gMDsgfQogRU9GCi1pZiB7IChldmFsIGVjaG8g
Y29uZmlndXJlOjE2OTQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7
IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgoraWYgeyAoZXZhbCBlY2hv
IGNvbmZpZ3VyZToxNjQzOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1
OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KICAgcm0gLXJmIGNvbmZ0
ZXN0KgogICBhY19jdl9wcm9nX2xleF95eXRleHRfcG9pbnRlcj15ZXMKIGVsc2UKQEAgLTE3MjMs
NyArMTY3Miw3IEBACiAjIFNWUjQgL3Vzci91Y2IvaW5zdGFsbCwgd2hpY2ggdHJpZXMgdG8gdXNl
IHRoZSBub25leGlzdGVudCBncm91cCAic3RhZmYiCiAjIC4vaW5zdGFsbCwgd2hpY2ggY2FuIGJl
IGVycm9uZW91c2x5IGNyZWF0ZWQgYnkgbWFrZSBmcm9tIC4vaW5zdGFsbC5zaC4KIGVjaG8gJGFj
X24gImNoZWNraW5nIGZvciBhIEJTRCBjb21wYXRpYmxlIGluc3RhbGwiIi4uLiAkYWNfYyIgMT4m
NgotZWNobyAiY29uZmlndXJlOjE3Mjc6IGNoZWNraW5nIGZvciBhIEJTRCBjb21wYXRpYmxlIGlu
c3RhbGwiID4mNQorZWNobyAiY29uZmlndXJlOjE2NzY6IGNoZWNraW5nIGZvciBhIEJTRCBjb21w
YXRpYmxlIGluc3RhbGwiID4mNQogaWYgdGVzdCAteiAiJElOU1RBTEwiOyB0aGVuCiBpZiBldmFs
ICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcGF0aF9pbnN0YWxsJytzZXR9J2BcIiA9IHNldCI7
IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKQEAgLTE3NzYsNyArMTcy
NSw3IEBACiB0ZXN0IC16ICIkSU5TVEFMTF9EQVRBIiAmJiBJTlNUQUxMX0RBVEE9JyR7SU5TVEFM
TH0gLW0gNjQ0JwogCiBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyICR7TUFLRS1tYWtlfSBz
ZXRzIFwke01BS0V9IiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZToxNzgwOiBjaGVj
a2luZyB3aGV0aGVyICR7TUFLRS1tYWtlfSBzZXRzIFwke01BS0V9IiA+JjUKK2VjaG8gImNvbmZp
Z3VyZToxNzI5OiBjaGVja2luZyB3aGV0aGVyICR7TUFLRS1tYWtlfSBzZXRzIFwke01BS0V9IiA+
JjUKIHNldCBkdW1teSAke01BS0UtbWFrZX07IGFjX21ha2U9YGVjaG8gIiQyIiB8IHNlZCAneSUu
LystJV9fcF8lJ2AKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX21ha2Vf
JHthY19tYWtlfV9zZXQnK3NldH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRhY19uICIoY2Fj
aGVkKSAkYWNfYyIgMT4mNgpAQCAtMTgwNCwxMiArMTc1MywxMiBAQAogCiAKIGVjaG8gJGFjX24g
ImNoZWNraW5nIGZvciBDeWd3aW4gZW52aXJvbm1lbnQiIi4uLiAkYWNfYyIgMT4mNgotZWNobyAi
Y29uZmlndXJlOjE4MDg6IGNoZWNraW5nIGZvciBDeWd3aW4gZW52aXJvbm1lbnQiID4mNQorZWNo
byAiY29uZmlndXJlOjE3NTc6IGNoZWNraW5nIGZvciBDeWd3aW4gZW52aXJvbm1lbnQiID4mNQog
aWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2N5Z3dpbicrc2V0fSdgXCIgPSBzZXQi
OyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCiAgIGNhdCA+
IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKLSNsaW5lIDE4MTMgImNvbmZpZ3VyZSIKKyNsaW5lIDE3
NjIgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogCiBpbnQgbWFpbigpIHsKQEAg
LTE4MjAsNyArMTc2OSw3IEBACiByZXR1cm4gX19DWUdXSU5fXzsKIDsgcmV0dXJuIDA7IH0KIEVP
RgotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxODI0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7
IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCitpZiB7IChldmFsIGVjaG8gY29uZmln
dXJlOjE3NzM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7
IH07IHRoZW4KICAgcm0gLXJmIGNvbmZ0ZXN0KgogICBhY19jdl9jeWd3aW49eWVzCiBlbHNlCkBA
IC0xODM3LDE5ICsxNzg2LDE5IEBACiBDWUdXSU49CiB0ZXN0ICIkYWNfY3ZfY3lnd2luIiA9IHll
cyAmJiBDWUdXSU49eWVzCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbWluZ3czMiBlbnZpcm9u
bWVudCIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MTg0MTogY2hlY2tpbmcgZm9y
IG1pbmd3MzIgZW52aXJvbm1lbnQiID4mNQorZWNobyAiY29uZmlndXJlOjE3OTA6IGNoZWNraW5n
IGZvciBtaW5ndzMyIGVudmlyb25tZW50IiA+JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcn
eydhY19jdl9taW5ndzMyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNh
Y2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgot
I2xpbmUgMTg0NiAiY29uZmlndXJlIgorI2xpbmUgMTc5NSAiY29uZmlndXJlIgogI2luY2x1ZGUg
ImNvbmZkZWZzLmgiCiAKIGludCBtYWluKCkgewogcmV0dXJuIF9fTUlOR1czMl9fOwogOyByZXR1
cm4gMDsgfQogRU9GCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE4NTM6IFwiJGFjX2NvbXBp
bGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KK2lmIHsgKGV2YWwg
ZWNobyBjb25maWd1cmU6MTgwMjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29t
cGlsZSkgMj4mNTsgfTsgdGhlbgogICBybSAtcmYgY29uZnRlc3QqCiAgIGFjX2N2X21pbmd3MzI9
eWVzCiBlbHNlCkBAIC0xOTQxLDcgKzE4OTAsNyBAQAogZmkKIAogZWNobyAkYWNfbiAiY2hlY2tp
bmcgaG9zdCBzeXN0ZW0gdHlwZSIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MTk0
NTogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZSIgPiY1CitlY2hvICJjb25maWd1cmU6MTg5NDog
Y2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZSIgPiY1CiAKIGhvc3RfYWxpYXM9JGhvc3QKIGNhc2Ug
IiRob3N0X2FsaWFzIiBpbgpAQCAtMTk2Miw3ICsxOTExLDcgQEAKIGVjaG8gIiRhY190IiIkaG9z
dCIgMT4mNgogCiBlY2hvICRhY19uICJjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZSIiLi4uICRh
Y19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MTk2NjogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5
cGUiID4mNQorZWNobyAiY29uZmlndXJlOjE5MTU6IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBl
IiA+JjUKIAogYnVpbGRfYWxpYXM9JGJ1aWxkCiBjYXNlICIkYnVpbGRfYWxpYXMiIGluCkBAIC0x
OTkxLDcgKzE5NDAsNyBAQAogaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgIyBDaGVjayBp
ZiBnY2MgLXByaW50LXByb2ctbmFtZT1sZCBnaXZlcyBhIHBhdGguCiAgIGVjaG8gJGFjX24gImNo
ZWNraW5nIGZvciBsZCB1c2VkIGJ5IEdDQyIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1
cmU6MTk5NTogY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgR0NDIiA+JjUKK2VjaG8gImNvbmZpZ3Vy
ZToxOTQ0OiBjaGVja2luZyBmb3IgbGQgdXNlZCBieSBHQ0MiID4mNQogICBjYXNlICRob3N0IGlu
CiAgICotKi1taW5ndyopCiAgICAgIyBnY2MgbGVhdmVzIGEgdHJhaWxpbmcgY2FycmlhZ2UgcmV0
dXJuIHdoaWNoIHVwc2V0cyBtaW5ndwpAQCAtMjAyMSwxMCArMTk3MCwxMCBAQAogICBlc2FjCiBl
bGlmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSB5ZXM7IHRoZW4KICAgZWNobyAkYWNfbiAiY2hlY2tp
bmcgZm9yIEdOVSBsZCIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MjAyNTogY2hl
Y2tpbmcgZm9yIEdOVSBsZCIgPiY1CitlY2hvICJjb25maWd1cmU6MTk3NDogY2hlY2tpbmcgZm9y
IEdOVSBsZCIgPiY1CiBlbHNlCiAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBub24tR05VIGxk
IiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZToyMDI4OiBjaGVja2luZyBmb3Igbm9u
LUdOVSBsZCIgPiY1CitlY2hvICJjb25maWd1cmU6MTk3NzogY2hlY2tpbmcgZm9yIG5vbi1HTlUg
bGQiID4mNQogZmkKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydsdF9jdl9wYXRoX0xEJytz
ZXR9J2BcIiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYK
QEAgLTIwNTksNyArMjAwOCw3IEBACiBmaQogdGVzdCAteiAiJExEIiAmJiB7IGVjaG8gImNvbmZp
Z3VyZTogZXJyb3I6IG5vIGFjY2VwdGFibGUgbGQgZm91bmQgaW4gXCRQQVRIIiAxPiYyOyBleGl0
IDE7IH0KIGVjaG8gJGFjX24gImNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKCRMRCkgaXMgR05VIGxk
IiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZToyMDYzOiBjaGVja2luZyBpZiB0aGUg
bGlua2VyICgkTEQpIGlzIEdOVSBsZCIgPiY1CitlY2hvICJjb25maWd1cmU6MjAxMjogY2hlY2tp
bmcgaWYgdGhlIGxpbmtlciAoJExEKSBpcyBHTlUgbGQiID4mNQogaWYgZXZhbCAidGVzdCBcImBl
Y2hvICckJyd7J2x0X2N2X3Byb2dfZ251X2xkJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KICAgZWNo
byAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKQEAgLTIwNzYsNyArMjAyNSw3IEBA
CiAKIAogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRMRCBvcHRpb24gdG8gcmVsb2FkIG9iamVj
dCBmaWxlcyIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MjA4MDogY2hlY2tpbmcg
Zm9yICRMRCBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcyIgPiY1CitlY2hvICJjb25maWd1
cmU6MjAyOTogY2hlY2tpbmcgZm9yICRMRCBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcyIg
PiY1CiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snbHRfY3ZfbGRfcmVsb2FkX2ZsYWcnK3Nl
dH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgog
ZWxzZQpAQCAtMjA4OCw3ICsyMDM3LDcgQEAKIHRlc3QgLW4gIiRyZWxvYWRfZmxhZyIgJiYgcmVs
b2FkX2ZsYWc9IiAkcmVsb2FkX2ZsYWciCiAKIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBCU0Qt
Y29tcGF0aWJsZSBubSIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MjA5MjogY2hl
Y2tpbmcgZm9yIEJTRC1jb21wYXRpYmxlIG5tIiA+JjUKK2VjaG8gImNvbmZpZ3VyZToyMDQxOiBj
aGVja2luZyBmb3IgQlNELWNvbXBhdGlibGUgbm0iID4mNQogaWYgZXZhbCAidGVzdCBcImBlY2hv
ICckJyd7J2x0X2N2X3BhdGhfTk0nK3NldH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRhY19u
ICIoY2FjaGVkKSAkYWNfYyIgMT4mNgogZWxzZQpAQCAtMjEyNiw3ICsyMDc1LDcgQEAKIGVjaG8g
IiRhY190IiIkTk0iIDE+JjYKIAogZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3
b3JrcyIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MjEzMDogY2hlY2tpbmcgd2hl
dGhlciBsbiAtcyB3b3JrcyIgPiY1CitlY2hvICJjb25maWd1cmU6MjA3OTogY2hlY2tpbmcgd2hl
dGhlciBsbiAtcyB3b3JrcyIgPiY1CiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zf
cHJvZ19MTl9TJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkg
JGFjX2MiIDE+JjYKIGVsc2UKQEAgLTIxNDcsNyArMjA5Niw3IEBACiBmaQogCiBlY2hvICRhY19u
ICJjaGVja2luZyBob3cgdG8gcmVjb2duaXNlIGRlcGVuZGFudCBsaWJyYXJpZXMiIi4uLiAkYWNf
YyIgMT4mNgotZWNobyAiY29uZmlndXJlOjIxNTE6IGNoZWNraW5nIGhvdyB0byByZWNvZ25pc2Ug
ZGVwZW5kYW50IGxpYnJhcmllcyIgPiY1CitlY2hvICJjb25maWd1cmU6MjEwMDogY2hlY2tpbmcg
aG93IHRvIHJlY29nbmlzZSBkZXBlbmRhbnQgbGlicmFyaWVzIiA+JjUKIGlmIGV2YWwgInRlc3Qg
XCJgZWNobyAnJCcneydsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZCcrc2V0fSdgXCIgPSBzZXQi
OyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCkBAIC0yMzIw
LDEzICsyMjY5LDEzIEBACiBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfY3ZfZGVwbGlic19jaGVj
a19tZXRob2QKIAogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG9iamVjdCBzdWZmaXgiIi4uLiAk
YWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjIzMjQ6IGNoZWNraW5nIGZvciBvYmplY3Qgc3Vm
Zml4IiA+JjUKK2VjaG8gImNvbmZpZ3VyZToyMjczOiBjaGVja2luZyBmb3Igb2JqZWN0IHN1ZmZp
eCIgPiY1CiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zfb2JqZXh0JytzZXR9J2Bc
IiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UK
ICAgcm0gLWYgY29uZnRlc3QqCiBlY2hvICdpbnQgaSA9IDE7JyA+IGNvbmZ0ZXN0LiRhY19leHQK
LWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MjMzMDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAo
ZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3Vy
ZToyMjc5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9
OyB0aGVuCiAgIGZvciBhY19maWxlIGluIGNvbmZ0ZXN0Lio7IGRvCiAgICAgY2FzZSAkYWNfZmls
ZSBpbgogICAgICouYykgOzsKQEAgLTIzNDYsNyArMjI5NSw3IEBACiAKIAogZWNobyAkYWNfbiAi
Y2hlY2tpbmcgZm9yIGV4ZWN1dGFibGUgc3VmZml4IiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNv
bmZpZ3VyZToyMzUwOiBjaGVja2luZyBmb3IgZXhlY3V0YWJsZSBzdWZmaXgiID4mNQorZWNobyAi
Y29uZmlndXJlOjIyOTk6IGNoZWNraW5nIGZvciBleGVjdXRhYmxlIHN1ZmZpeCIgPiY1CiBpZiBl
dmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZXhlZXh0JytzZXR9J2BcIiA9IHNldCI7IHRo
ZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKQEAgLTIzNTYsNyAr
MjMwNSw3IEBACiAgIHJtIC1mIGNvbmZ0ZXN0KgogICBlY2hvICdpbnQgbWFpbiAoKSB7IHJldHVy
biAwOyB9JyA+IGNvbmZ0ZXN0LiRhY19leHQKICAgYWNfY3ZfZXhlZXh0PQotICBpZiB7IChldmFs
IGVjaG8gY29uZmlndXJlOjIzNjA6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmsp
IDI+JjU7IH07IHRoZW4KKyAgaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToyMzA5OiBcIiRhY19s
aW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9OyB0aGVuCiAgICAgZm9yIGZpbGUg
aW4gY29uZnRlc3QuKjsgZG8KICAgICAgIGNhc2UgJGZpbGUgaW4KICAgICAgICouYyB8ICoubyB8
ICoub2JqKSA7OwpAQCAtMjM4Nyw3ICsyMzM2LDcgQEAKIAogIyBDaGVjayBmb3IgY29tbWFuZCB0
byBncmFiIHRoZSByYXcgc3ltYm9sIG5hbWUgZm9sbG93ZWQgYnkgQyBzeW1ib2wgZnJvbSBubS4K
IGVjaG8gJGFjX24gImNoZWNraW5nIGNvbW1hbmQgdG8gcGFyc2UgJE5NIG91dHB1dCIiLi4uICRh
Y19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MjM5MTogY2hlY2tpbmcgY29tbWFuZCB0byBwYXJz
ZSAkTk0gb3V0cHV0IiA+JjUKK2VjaG8gImNvbmZpZ3VyZToyMzQwOiBjaGVja2luZyBjb21tYW5k
IHRvIHBhcnNlICROTSBvdXRwdXQiID4mNQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2x0
X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hv
ICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgogZWxzZQpAQCAtMjQ2MywxMCArMjQxMiwxMCBA
QAogaW50IG1haW4oKXtubV90ZXN0X3Zhcj0nYSc7bm1fdGVzdF9mdW5jKCk7cmV0dXJuKDApO30K
IEVPRgogCi0gIGlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MjQ2NzogXCIkYWNfY29tcGlsZVwi
KSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICBpZiB7IChldmFsIGVj
aG8gY29uZmlndXJlOjI0MTY6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBp
bGUpIDI+JjU7IH07IHRoZW4KICAgICAjIE5vdyB0cnkgdG8gZ3JhYiB0aGUgc3ltYm9scy4KICAg
ICBubGlzdD1jb25mdGVzdC5ubQotICAgIGlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MjQ3MDog
XCIkTk0gY29uZnRlc3QuJGFjX29iamV4dCBcfCAkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlw
ZSBcPiAkbmxpc3RcIikgMT4mNTsgKGV2YWwgJE5NIGNvbmZ0ZXN0LiRhY19vYmpleHQgXHwgJGx0
X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXD4gJG5saXN0KSAyPiY1OyB9ICYmIHRlc3QgLXMg
IiRubGlzdCI7IHRoZW4KKyAgICBpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjI0MTk6IFwiJE5N
IGNvbmZ0ZXN0LiRhY19vYmpleHQgXHwgJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXD4g
JG5saXN0XCIpIDE+JjU7IChldmFsICROTSBjb25mdGVzdC4kYWNfb2JqZXh0IFx8ICRsdF9jdl9z
eXNfZ2xvYmFsX3N5bWJvbF9waXBlIFw+ICRubGlzdCkgMj4mNTsgfSAmJiB0ZXN0IC1zICIkbmxp
c3QiOyB0aGVuCiAgICAgICAjIFRyeSBzb3J0aW5nIGFuZCB1bmlxdWlmeWluZyB0aGUgb3V0cHV0
LgogICAgICAgaWYgc29ydCAiJG5saXN0IiB8IHVuaXEgPiAiJG5saXN0IlQ7IHRoZW4KIAltdiAt
ZiAiJG5saXN0IlQgIiRubGlzdCIKQEAgLTI1MTcsNyArMjQ2Niw3IEBACiAJICBzYXZlX0NGTEFH
Uz0iJENGTEFHUyIKIAkgIExJQlM9ImNvbmZ0c3RtLiRhY19vYmpleHQiCiAJICBDRkxBR1M9IiRD
RkxBR1Mkbm9fYnVpbHRpbl9mbGFnIgotCSAgaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToyNTIx
OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMg
Y29uZnRlc3Q7IHRoZW4KKwkgIGlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MjQ3MDogXCIkYWNf
bGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0
OyB0aGVuCiAJICAgIHBpcGVfd29ya3M9eWVzCiAJICBmaQogCSAgTElCUz0iJHNhdmVfTElCUyIK
QEAgLTI1NjMsMTcgKzI1MTIsMTcgQEAKIGRvCiBhY19zYWZlPWBlY2hvICIkYWNfaGRyIiB8IHNl
ZCAneSUuLystJV9fcF8lJ2AKIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfaGRyIiIuLi4g
JGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZToyNTY3OiBjaGVja2luZyBmb3IgJGFjX2hkciIg
PiY1CitlY2hvICJjb25maWd1cmU6MjUxNjogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQogaWYg
ZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIg
PSBzZXQiOyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCiAg
IGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKLSNsaW5lIDI1NzIgImNvbmZpZ3VyZSIKKyNs
aW5lIDI1MjEgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogI2luY2x1ZGUgPCRh
Y19oZHI+CiBFT0YKIGFjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwg
Mj5jb25mdGVzdC5vdXQiCi17IChldmFsIGVjaG8gY29uZmlndXJlOjI1Nzc6IFwiJGFjX3RyeVwi
KSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9Cit7IChldmFsIGVjaG8gY29uZmlndXJlOjI1
MjY6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CiBhY19lcnI9YGdy
ZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1c
JCJgCiBpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgogICBybSAtcmYgY29uZnRlc3QqCkBAIC0y
NjA4LDcgKzI1NTcsNyBAQAogZmlsZV9tYWdpYyopCiAgIGlmIHRlc3QgIiRmaWxlX21hZ2ljX2Nt
ZCIgPSAnJE1BR0lDX0NNRCc7IHRoZW4KICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJHth
Y190b29sX3ByZWZpeH1maWxlIiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZToyNjEy
OiBjaGVja2luZyBmb3IgJHthY190b29sX3ByZWZpeH1maWxlIiA+JjUKK2VjaG8gImNvbmZpZ3Vy
ZToyNTYxOiBjaGVja2luZyBmb3IgJHthY190b29sX3ByZWZpeH1maWxlIiA+JjUKIGlmIGV2YWwg
InRlc3QgXCJgZWNobyAnJCcneydsdF9jdl9wYXRoX01BR0lDX0NNRCcrc2V0fSdgXCIgPSBzZXQi
OyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCkBAIC0yNjcw
LDcgKzI2MTksNyBAQAogaWYgdGVzdCAteiAiJGx0X2N2X3BhdGhfTUFHSUNfQ01EIjsgdGhlbgog
ICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCiAgICAgZWNobyAkYWNfbiAiY2hl
Y2tpbmcgZm9yIGZpbGUiIi4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjI2NzQ6IGNo
ZWNraW5nIGZvciBmaWxlIiA+JjUKK2VjaG8gImNvbmZpZ3VyZToyNjIzOiBjaGVja2luZyBmb3Ig
ZmlsZSIgPiY1CiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snbHRfY3ZfcGF0aF9NQUdJQ19D
TUQnK3NldH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIg
MT4mNgogZWxzZQpAQCAtMjc0MSw3ICsyNjkwLDcgQEAKICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29y
ZCBvZiAiJHthY190b29sX3ByZWZpeH1yYW5saWIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5h
bWUgd2l0aCBhcmdzLgogc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9cmFubGliOyBhY193b3Jk
PSQyCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgot
ZWNobyAiY29uZmlndXJlOjI3NDU6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICJj
b25maWd1cmU6MjY5NDogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKIGlmIGV2YWwgInRlc3Qg
XCJgZWNobyAnJCcneydhY19jdl9wcm9nX1JBTkxJQicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCiAg
IGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCkBAIC0yNzczLDcgKzI3MjIs
NyBAQAogICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInJhbmxpYiIsIHNvIGl0IGNhbiBi
ZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCiBzZXQgZHVtbXkgcmFubGliOyBhY193b3JkPSQy
CiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgotZWNo
byAiY29uZmlndXJlOjI3Nzc6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitlY2hvICJjb25m
aWd1cmU6MjcyNjogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKIGlmIGV2YWwgInRlc3QgXCJg
ZWNobyAnJCcneydhY19jdl9wcm9nX1JBTkxJQicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCiAgIGVj
aG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCkBAIC0yODA4LDcgKzI3NTcsNyBA
QAogIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXN0cmlwIiwg
c28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KIHNldCBkdW1teSAke2FjX3Rv
b2xfcHJlZml4fXN0cmlwOyBhY193b3JkPSQyCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFj
X3dvcmQiIi4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjI4MTI6IGNoZWNraW5nIGZv
ciAkYWNfd29yZCIgPiY1CitlY2hvICJjb25maWd1cmU6Mjc2MTogY2hlY2tpbmcgZm9yICRhY193
b3JkIiA+JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX1NUUklQJytz
ZXR9J2BcIiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYK
IGVsc2UKQEAgLTI4NDAsNyArMjc4OSw3IEBACiAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBv
ZiAic3RyaXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgogc2V0IGR1
bW15IHN0cmlwOyBhY193b3JkPSQyCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQi
Ii4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjI4NDQ6IGNoZWNraW5nIGZvciAkYWNf
d29yZCIgPiY1CitlY2hvICJjb25maWd1cmU6Mjc5MzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+
JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX1NUUklQJytzZXR9J2Bc
IiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UK
QEAgLTI4ODksOCArMjgzOCw4IEBACiBjYXNlICRob3N0IGluCiAqLSotaXJpeDYqKQogICAjIEZp
bmQgb3V0IHdoaWNoIEFCSSB3ZSBhcmUgdXNpbmcuCi0gIGVjaG8gJyNsaW5lIDI4OTMgImNvbmZp
Z3VyZSInID4gY29uZnRlc3QuJGFjX2V4dAotICBpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjI4
OTQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRo
ZW4KKyAgZWNobyAnI2xpbmUgMjg0MiAiY29uZmlndXJlIicgPiBjb25mdGVzdC4kYWNfZXh0Cisg
IGlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6Mjg0MzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAo
ZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgogICAgIGNhc2UgYC91c3IvYmluL2ZpbGUg
Y29uZnRlc3QuJGFjX29iamV4dGAgaW4KICAgICAqMzItYml0KikKICAgICAgIExEPSIke0xELWxk
fSAtMzIiCkBAIC0yOTExLDcgKzI4NjAsNyBAQAogICBTQVZFX0NGTEFHUz0iJENGTEFHUyIKICAg
Q0ZMQUdTPSIkQ0ZMQUdTIC1iZWxmIgogICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRo
ZSBDIGNvbXBpbGVyIG5lZWRzIC1iZWxmIiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3Vy
ZToyOTE1OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIG5lZWRzIC1iZWxmIiA+JjUK
K2VjaG8gImNvbmZpZ3VyZToyODY0OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIG5l
ZWRzIC1iZWxmIiA+JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydsdF9jdl9jY19uZWVk
c19iZWxmJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFj
X2MiIDE+JjYKIGVsc2UKQEAgLTI5MjQsMTQgKzI4NzMsMTQgQEAKIGNyb3NzX2NvbXBpbGluZz0k
YWNfY3ZfcHJvZ19jY19jcm9zcwogCiAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YK
LSNsaW5lIDI5MjggImNvbmZpZ3VyZSIKKyNsaW5lIDI4NzcgImNvbmZpZ3VyZSIKICNpbmNsdWRl
ICJjb25mZGVmcy5oIgogCiBpbnQgbWFpbigpIHsKIAogOyByZXR1cm4gMDsgfQogRU9GCi1pZiB7
IChldmFsIGVjaG8gY29uZmlndXJlOjI5MzU6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFj
X2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgoraWYg
eyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToyODg0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRh
Y19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KICAg
cm0gLXJmIGNvbmZ0ZXN0KgogICBsdF9jdl9jY19uZWVkc19iZWxmPXllcwogZWxzZQpAQCAtMzA0
NCw3ICsyOTkzLDcgQEAKIGNvbXBpbGVyPSIkMiIKIAogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9y
IG9iamRpciIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MzA0ODogY2hlY2tpbmcg
Zm9yIG9iamRpciIgPiY1CitlY2hvICJjb25maWd1cmU6Mjk5NzogY2hlY2tpbmcgZm9yIG9iamRp
ciIgPiY1CiBybSAtZiAubGlicyAyPi9kZXYvbnVsbAogbWtkaXIgLmxpYnMgMj4vZGV2L251bGwK
IGlmIHRlc3QgLWQgLmxpYnM7IHRoZW4KQEAgLTMwNzEsNyArMzAyMCw3IEBACiAjIGluIGlzb2xh
dGlvbiwgYW5kIHRoYXQgc2VlaW5nIGl0IHNldCAoZnJvbSB0aGUgY2FjaGUpIGluZGljYXRlcyB0
aGF0CiAjIHRoZSBhc3NvY2lhdGVkIHZhbHVlcyBhcmUgc2V0IChpbiB0aGUgY2FjaGUpIGNvcnJl
Y3RseSB0b28uCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBw
cm9kdWNlIFBJQyIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MzA3NTogY2hlY2tp
bmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMiID4mNQorZWNobyAiY29uZmln
dXJlOjMwMjQ6IGNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDIiA+
JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydsdF9jdl9wcm9nX2NjX3BpYycrc2V0fSdg
XCIgPSBzZXQiOyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNl
CkBAIC0zMjIzLDIxICszMTcyLDIxIEBACiAKICAgIyBDaGVjayB0byBtYWtlIHN1cmUgdGhlIHBp
Y19mbGFnIGFjdHVhbGx5IHdvcmtzLgogICBlY2hvICRhY19uICJjaGVja2luZyBpZiAkY29tcGls
ZXIgUElDIGZsYWcgJGx0X2N2X3Byb2dfY2NfcGljIHdvcmtzIiIuLi4gJGFjX2MiIDE+JjYKLWVj
aG8gImNvbmZpZ3VyZTozMjI3OiBjaGVja2luZyBpZiAkY29tcGlsZXIgUElDIGZsYWcgJGx0X2N2
X3Byb2dfY2NfcGljIHdvcmtzIiA+JjUKK2VjaG8gImNvbmZpZ3VyZTozMTc2OiBjaGVja2luZyBp
ZiAkY29tcGlsZXIgUElDIGZsYWcgJGx0X2N2X3Byb2dfY2NfcGljIHdvcmtzIiA+JjUKICAgaWYg
ZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2x0X2N2X3Byb2dfY2NfcGljX3dvcmtzJytzZXR9J2Bc
IiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UK
ICAgICAgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgogICAgIENGTEFHUz0iJENGTEFHUyAkbHRfY3Zf
cHJvZ19jY19waWMgLURQSUMiCiAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgotI2xp
bmUgMzIzNCAiY29uZmlndXJlIgorI2xpbmUgMzE4MyAiY29uZmlndXJlIgogI2luY2x1ZGUgImNv
bmZkZWZzLmgiCiAKIGludCBtYWluKCkgewogCiA7IHJldHVybiAwOyB9CiBFT0YKLWlmIHsgKGV2
YWwgZWNobyBjb25maWd1cmU6MzI0MTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNf
Y29tcGlsZSkgMj4mNTsgfTsgdGhlbgoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTozMTkwOiBc
IiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCiAg
IHJtIC1yZiBjb25mdGVzdCoKICAgICAgICAgY2FzZSAkaG9zdF9vcyBpbgogICAgICAgaHB1eDkq
IHwgaHB1eDEwKiB8IGhwdXgxMSopCkBAIC0zMjg5LDcgKzMyMzgsNyBAQAogZmkKIAogZWNobyAk
YWNfbiAiY2hlY2tpbmcgaWYgJGNvbXBpbGVyIHN0YXRpYyBmbGFnICRsdF9jdl9wcm9nX2NjX3N0
YXRpYyB3b3JrcyIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6MzI5MzogY2hlY2tp
bmcgaWYgJGNvbXBpbGVyIHN0YXRpYyBmbGFnICRsdF9jdl9wcm9nX2NjX3N0YXRpYyB3b3JrcyIg
PiY1CitlY2hvICJjb25maWd1cmU6MzI0MjogY2hlY2tpbmcgaWYgJGNvbXBpbGVyIHN0YXRpYyBm
bGFnICRsdF9jdl9wcm9nX2NjX3N0YXRpYyB3b3JrcyIgPiY1CiBpZiBldmFsICJ0ZXN0IFwiYGVj
aG8gJyQnJ3snbHRfY3ZfcHJvZ19jY19zdGF0aWNfd29ya3MnK3NldH0nYFwiID0gc2V0IjsgdGhl
bgogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgogZWxzZQpAQCAtMzI5NywxNCAr
MzI0NiwxNCBAQAogICBzYXZlX0xERkxBR1M9IiRMREZMQUdTIgogICBMREZMQUdTPSIkTERGTEFH
UyAkbHRfY3ZfcHJvZ19jY19zdGF0aWMiCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YK
LSNsaW5lIDMzMDEgImNvbmZpZ3VyZSIKKyNsaW5lIDMyNTAgImNvbmZpZ3VyZSIKICNpbmNsdWRl
ICJjb25mZGVmcy5oIgogCiBpbnQgbWFpbigpIHsKIAogOyByZXR1cm4gMDsgfQogRU9GCi1pZiB7
IChldmFsIGVjaG8gY29uZmlndXJlOjMzMDg6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFj
X2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgoraWYg
eyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTozMjU3OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRh
Y19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KICAg
cm0gLXJmIGNvbmZ0ZXN0KgogICBsdF9jdl9wcm9nX2NjX3N0YXRpY193b3Jrcz15ZXMKIGVsc2UK
QEAgLTMzMzEsNyArMzI4MCw3IEBACiAKICMgQ2hlY2sgdG8gc2VlIGlmIG9wdGlvbnMgLW8gYW5k
IC1jIGFyZSBzaW11bHRhbmVvdXNseSBzdXBwb3J0ZWQgYnkgY29tcGlsZXIKIGVjaG8gJGFjX24g
ImNoZWNraW5nIGlmICRjb21waWxlciBzdXBwb3J0cyAtYyAtbyBmaWxlLiRhY19vYmpleHQiIi4u
LiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjMzMzU6IGNoZWNraW5nIGlmICRjb21waWxl
ciBzdXBwb3J0cyAtYyAtbyBmaWxlLiRhY19vYmpleHQiID4mNQorZWNobyAiY29uZmlndXJlOjMy
ODQ6IGNoZWNraW5nIGlmICRjb21waWxlciBzdXBwb3J0cyAtYyAtbyBmaWxlLiRhY19vYmpleHQi
ID4mNQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2x0X2N2X2NvbXBpbGVyX2Nfbycrc2V0
fSdgXCIgPSBzZXQiOyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBl
bHNlCkBAIC0zMzUwLDcgKzMyOTksNyBAQAogc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCiBDRkxBR1M9
IiRDRkxBR1MgLW8gb3V0L2NvbmZ0ZXN0Mi4kYWNfb2JqZXh0IgogY29tcGlsZXJfY19vPW5vCi1p
ZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjMzNTQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2
YWwgJGFjX2NvbXBpbGUpIDI+b3V0L2NvbmZ0ZXN0LmVycjsgfSAmJiB0ZXN0IC1zIG91dC9jb25m
dGVzdDIuJGFjX29iamV4dDsgdGhlbgoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTozMzAzOiBc
IiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPm91dC9jb25mdGVzdC5l
cnI7IH0gJiYgdGVzdCAtcyBvdXQvY29uZnRlc3QyLiRhY19vYmpleHQ7IHRoZW4KICAgIyBUaGUg
Y29tcGlsZXIgY2FuIG9ubHkgd2FybiBhbmQgaWdub3JlIHRoZSBvcHRpb24gaWYgbm90IHJlY29n
bml6ZWQKICAgIyBTbyBzYXkgbm8gaWYgdGhlcmUgYXJlIHdhcm5pbmdzCiAgIGlmIHRlc3QgLXMg
b3V0L2NvbmZ0ZXN0LmVycjsgdGhlbgpAQCAtMzM3OSw3ICszMzI4LDcgQEAKIGlmIHRlc3QgeCIk
Y29tcGlsZXJfY19vIiA9IHgieWVzIjsgdGhlbgogICAjIENoZWNrIHRvIHNlZSBpZiB3ZSBjYW4g
d3JpdGUgdG8gYSAubG8KICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgaWYgJGNvbXBpbGVyIHN1cHBv
cnRzIC1jIC1vIGZpbGUubG8iIi4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjMzODM6
IGNoZWNraW5nIGlmICRjb21waWxlciBzdXBwb3J0cyAtYyAtbyBmaWxlLmxvIiA+JjUKK2VjaG8g
ImNvbmZpZ3VyZTozMzMyOiBjaGVja2luZyBpZiAkY29tcGlsZXIgc3VwcG9ydHMgLWMgLW8gZmls
ZS5sbyIgPiY1CiAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydsdF9jdl9jb21waWxlcl9v
X2xvJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2Mi
IDE+JjYKIGVsc2UKQEAgLTMzODgsMTQgKzMzMzcsMTQgQEAKICAgc2F2ZV9DRkxBR1M9IiRDRkxB
R1MiCiAgIENGTEFHUz0iJENGTEFHUyAtYyAtbyBjb25mdGVzdC5sbyIKICAgY2F0ID4gY29uZnRl
c3QuJGFjX2V4dCA8PEVPRgotI2xpbmUgMzM5MiAiY29uZmlndXJlIgorI2xpbmUgMzM0MSAiY29u
ZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAKIGludCBtYWluKCkgewogaW50IHNvbWVf
dmFyaWFibGUgPSAwOwogOyByZXR1cm4gMDsgfQogRU9GCi1pZiB7IChldmFsIGVjaG8gY29uZmln
dXJlOjMzOTk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7
IH07IHRoZW4KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MzM0ODogXCIkYWNfY29tcGlsZVwi
KSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgogICBybSAtcmYgY29uZnRl
c3QqCiAgICAgICAjIFRoZSBjb21waWxlciBjYW4gb25seSB3YXJuIGFuZCBpZ25vcmUgdGhlIG9w
dGlvbiBpZiBub3QgcmVjb2duaXplZAogICAgICMgU28gc2F5IG5vIGlmIHRoZXJlIGFyZSB3YXJu
aW5ncwpAQCAtMzQyNSw3ICszMzc0LDcgQEAKIGlmIHRlc3QgIiRjb21waWxlcl9jX28iID0gbm8g
JiYgdGVzdCAiJG5lZWRfbG9ja3MiICE9IG5vOyB0aGVuCiAgICMgZG8gbm90IG92ZXJ3cml0ZSB0
aGUgdmFsdWUgb2YgbmVlZF9sb2NrcyBwcm92aWRlZCBieSB0aGUgdXNlcgogICBlY2hvICRhY19u
ICJjaGVja2luZyBpZiB3ZSBjYW4gbG9jayB3aXRoIGhhcmQgbGlua3MiIi4uLiAkYWNfYyIgMT4m
NgotZWNobyAiY29uZmlndXJlOjM0Mjk6IGNoZWNraW5nIGlmIHdlIGNhbiBsb2NrIHdpdGggaGFy
ZCBsaW5rcyIgPiY1CitlY2hvICJjb25maWd1cmU6MzM3ODogY2hlY2tpbmcgaWYgd2UgY2FuIGxv
Y2sgd2l0aCBoYXJkIGxpbmtzIiA+JjUKICAgaGFyZF9saW5rcz15ZXMKICAgJHJtIGNvbmZ0ZXN0
KgogICBsbiBjb25mdGVzdC5hIGNvbmZ0ZXN0LmIgMj4vZGV2L251bGwgJiYgaGFyZF9saW5rcz1u
bwpAQCAtMzQ0NCwyMCArMzM5MywyMCBAQAogaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAg
IyBDaGVjayB0byBzZWUgaWYgb3B0aW9ucyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zIGFyZSBz
dXBwb3J0ZWQgYnkgY29tcGlsZXIKICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgaWYgJGNvbXBpbGVy
IHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMiIi4uLiAkYWNfYyIgMT4mNgotZWNo
byAiY29uZmlndXJlOjM0NDg6IGNoZWNraW5nIGlmICRjb21waWxlciBzdXBwb3J0cyAtZm5vLXJ0
dGkgLWZuby1leGNlcHRpb25zIiA+JjUKK2VjaG8gImNvbmZpZ3VyZTozMzk3OiBjaGVja2luZyBp
ZiAkY29tcGlsZXIgc3VwcG9ydHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyIgPiY1CiAgIGVj
aG8gImludCBzb21lX3ZhcmlhYmxlID0gMDsiID4gY29uZnRlc3QuJGFjX2V4dAogICBzYXZlX0NG
TEFHUz0iJENGTEFHUyIKICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlv
bnMgLWMgY29uZnRlc3QuJGFjX2V4dCIKICAgY29tcGlsZXJfcnR0aV9leGNlcHRpb25zPW5vCiAg
IGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKLSNsaW5lIDM0NTQgImNvbmZpZ3VyZSIKKyNs
aW5lIDM0MDMgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogCiBpbnQgbWFpbigp
IHsKIGludCBzb21lX3ZhcmlhYmxlID0gMDsKIDsgcmV0dXJuIDA7IH0KIEVPRgotaWYgeyAoZXZh
bCBlY2hvIGNvbmZpZ3VyZTozNDYxOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19j
b21waWxlKSAyPiY1OyB9OyB0aGVuCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjM0MTA6IFwi
JGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KICAg
cm0gLXJmIGNvbmZ0ZXN0KgogICAgICAgIyBUaGUgY29tcGlsZXIgY2FuIG9ubHkgd2FybiBhbmQg
aWdub3JlIHRoZSBvcHRpb24gaWYgbm90IHJlY29nbml6ZWQKICAgICAjIFNvIHNheSBubyBpZiB0
aGVyZSBhcmUgd2FybmluZ3MKQEAgLTM0ODQsNyArMzQzMyw3IEBACiAKICMgU2VlIGlmIHRoZSBs
aW5rZXIgc3VwcG9ydHMgYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KIGVjaG8gJGFjX24gImNo
ZWNraW5nIHdoZXRoZXIgdGhlIGxpbmtlciAoJExEKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVz
IiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZTozNDg4OiBjaGVja2luZyB3aGV0aGVy
IHRoZSBsaW5rZXIgKCRMRCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcyIgPiY1CitlY2hvICJj
b25maWd1cmU6MzQzNzogY2hlY2tpbmcgd2hldGhlciB0aGUgbGlua2VyICgkTEQpIHN1cHBvcnRz
IHNoYXJlZCBsaWJyYXJpZXMiID4mNQogCiBhbGxvd191bmRlZmluZWRfZmxhZz0KIG5vX3VuZGVm
aW5lZF9mbGFnPQpAQCAtNDEwMCw3ICs0MDQ5LDcgQEAKIAogIyBDaGVjayBoYXJkY29kaW5nIGF0
dHJpYnV0ZXMuCiBlY2hvICRhY19uICJjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBw
YXRocyBpbnRvIHByb2dyYW1zIiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZTo0MTA0
OiBjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zIiA+
JjUKK2VjaG8gImNvbmZpZ3VyZTo0MDUzOiBjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFy
eSBwYXRocyBpbnRvIHByb2dyYW1zIiA+JjUKIGhhcmRjb2RlX2FjdGlvbj0KIGlmIHRlc3QgLW4g
IiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIiB8fCBcCiAgICB0ZXN0IC1uICIkcnVucGF0aF92
YXIiOyB0aGVuCkBAIC00MTI4LDcgKzQwNzcsNyBAQAogc3RyaXBsaWI9CiBvbGRfc3RyaXBsaWI9
CiBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9z
c2libGUiIi4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjQxMzI6IGNoZWNraW5nIHdo
ZXRoZXIgc3RyaXBwaW5nIGxpYnJhcmllcyBpcyBwb3NzaWJsZSIgPiY1CitlY2hvICJjb25maWd1
cmU6NDA4MTogY2hlY2tpbmcgd2hldGhlciBzdHJpcHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxl
IiA+JjUKIGlmIHRlc3QgLW4gIiRTVFJJUCIgJiYgJFNUUklQIC1WIDI+JjEgfCBncmVwICJHTlUg
c3RyaXAiID4vZGV2L251bGw7IHRoZW4KICAgdGVzdCAteiAiJG9sZF9zdHJpcGxpYiIgJiYgb2xk
X3N0cmlwbGliPSIkU1RSSVAgLS1zdHJpcC1kZWJ1ZyIKICAgdGVzdCAteiAiJHN0cmlwbGliIiAm
JiBzdHJpcGxpYj0iJFNUUklQIC0tc3RyaXAtdW5uZWVkZWQiCkBAIC00MTQyLDcgKzQwOTEsNyBA
QAogCiAjIFBPUlRNRSBGaWxsIGluIHlvdXIgbGQuc28gY2hhcmFjdGVyaXN0aWNzCiBlY2hvICRh
Y19uICJjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MiIi4uLiAkYWNfYyIg
MT4mNgotZWNobyAiY29uZmlndXJlOjQxNDY6IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJh
Y3RlcmlzdGljcyIgPiY1CitlY2hvICJjb25maWd1cmU6NDA5NTogY2hlY2tpbmcgZHluYW1pYyBs
aW5rZXIgY2hhcmFjdGVyaXN0aWNzIiA+JjUKIGxpYnJhcnlfbmFtZXNfc3BlYz0KIGxpYm5hbWVf
c3BlYz0nbGliJG5hbWUnCiBzb25hbWVfc3BlYz0KQEAgLTQ1MjgsNyArNDQ3Nyw3IEBACiAKICMg
UmVwb3J0IHRoZSBmaW5hbCBjb25zZXF1ZW5jZXMuCiBlY2hvICRhY19uICJjaGVja2luZyBpZiBs
aWJ0b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMiIi4uLiAkYWNfYyIgMT4mNgotZWNobyAi
Y29uZmlndXJlOjQ1MzI6IGNoZWNraW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJh
cmllcyIgPiY1CitlY2hvICJjb25maWd1cmU6NDQ4MTogY2hlY2tpbmcgaWYgbGlidG9vbCBzdXBw
b3J0cyBzaGFyZWQgbGlicmFyaWVzIiA+JjUKIGVjaG8gIiRhY190IiIkY2FuX2J1aWxkX3NoYXJl
ZCIgMT4mNgogCiBpZiB0ZXN0ICIkaGFyZGNvZGVfYWN0aW9uIiA9IHJlbGluazsgdGhlbgpAQCAt
NDU2Nyw3ICs0NTE2LDcgQEAKIAogICAqKQogICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBk
bG9wZW4gaW4gLWxkbCIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6NDU3MTogY2hl
Y2tpbmcgZm9yIGRsb3BlbiBpbiAtbGRsIiA+JjUKK2VjaG8gImNvbmZpZ3VyZTo0NTIwOiBjaGVj
a2luZyBmb3IgZGxvcGVuIGluIC1sZGwiID4mNQogYWNfbGliX3Zhcj1gZWNobyBkbCdfJ2Rsb3Bl
biB8IHNlZCAneSUuLystJV9fcF8lJ2AKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19j
dl9saWJfJGFjX2xpYl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRhY19uICIo
Y2FjaGVkKSAkYWNfYyIgMT4mNgpAQCAtNDU3NSw3ICs0NTI0LDcgQEAKICAgYWNfc2F2ZV9MSUJT
PSIkTElCUyIKIExJQlM9Ii1sZGwgICRMSUJTIgogY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVP
RgotI2xpbmUgNDU3OSAiY29uZmlndXJlIgorI2xpbmUgNDUyOCAiY29uZmlndXJlIgogI2luY2x1
ZGUgImNvbmZkZWZzLmgiCiAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUg
dG8gYXZvaWQgYW4gZXJyb3IuICAqLwogLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg
bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgpAQCAtNDU4Niw3ICs0NTM1LDcgQEAKIGRs
b3BlbigpCiA7IHJldHVybiAwOyB9CiBFT0YKLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NDU5
MDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1z
IGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjQ1
Mzk6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAt
cyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgogICBybSAtcmYgY29uZnRlc3QqCiAgIGV2YWwg
ImFjX2N2X2xpYl8kYWNfbGliX3Zhcj15ZXMiCiBlbHNlCkBAIC00NjA1LDEyICs0NTU0LDEyIEBA
CiBlbHNlCiAgIGVjaG8gIiRhY190IiJubyIgMT4mNgogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9y
IGRsb3BlbiIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6NDYwOTogY2hlY2tpbmcg
Zm9yIGRsb3BlbiIgPiY1CitlY2hvICJjb25maWd1cmU6NDU1ODogY2hlY2tpbmcgZm9yIGRsb3Bl
biIgPiY1CiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY19kbG9wZW4nK3Nl
dH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgog
ZWxzZQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCi0jbGluZSA0NjE0ICJjb25maWd1
cmUiCisjbGluZSA0NTYzICJjb25maWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIC8qIFN5
c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJv
dG90eXBlcywKICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGRsb3BlbigpOyBiZWxv
dy4gICovCkBAIC00NjMzLDcgKzQ1ODIsNyBAQAogCiA7IHJldHVybiAwOyB9CiBFT0YKLWlmIHsg
KGV2YWwgZWNobyBjb25maWd1cmU6NDYzNzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNf
bGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCitpZiB7
IChldmFsIGVjaG8gY29uZmlndXJlOjQ1ODY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFj
X2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgogICBy
bSAtcmYgY29uZnRlc3QqCiAgIGV2YWwgImFjX2N2X2Z1bmNfZGxvcGVuPXllcyIKIGVsc2UKQEAg
LTQ2NTEsMTIgKzQ2MDAsMTIgQEAKIGVsc2UKICAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CiBlY2hv
ICRhY19uICJjaGVja2luZyBmb3Igc2hsX2xvYWQiIi4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29u
ZmlndXJlOjQ2NTU6IGNoZWNraW5nIGZvciBzaGxfbG9hZCIgPiY1CitlY2hvICJjb25maWd1cmU6
NDYwNDogY2hlY2tpbmcgZm9yIHNobF9sb2FkIiA+JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAn
JCcneydhY19jdl9mdW5jX3NobF9sb2FkJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KICAgZWNobyAk
YWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4
dCA8PEVPRgotI2xpbmUgNDY2MCAiY29uZmlndXJlIgorI2xpbmUgNDYwOSAiY29uZmlndXJlIgog
I2luY2x1ZGUgImNvbmZkZWZzLmgiCiAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg
bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICAgd2hpY2ggY2FuIGNvbmZs
aWN0IHdpdGggY2hhciBzaGxfbG9hZCgpOyBiZWxvdy4gICovCkBAIC00Njc5LDcgKzQ2MjgsNyBA
QAogCiA7IHJldHVybiAwOyB9CiBFT0YKLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NDY4Mzog
XCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNv
bmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjQ2MzI6
IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBj
b25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgogICBybSAtcmYgY29uZnRlc3QqCiAgIGV2YWwgImFj
X2N2X2Z1bmNfc2hsX2xvYWQ9eWVzIgogZWxzZQpAQCAtNDY5Nyw3ICs0NjQ2LDcgQEAKIGVsc2UK
ICAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgZGxvcGVu
IGluIC1sc3ZsZCIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6NDcwMTogY2hlY2tp
bmcgZm9yIGRsb3BlbiBpbiAtbHN2bGQiID4mNQorZWNobyAiY29uZmlndXJlOjQ2NTA6IGNoZWNr
aW5nIGZvciBkbG9wZW4gaW4gLWxzdmxkIiA+JjUKIGFjX2xpYl92YXI9YGVjaG8gc3ZsZCdfJ2Rs
b3BlbiB8IHNlZCAneSUuLystJV9fcF8lJ2AKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydh
Y19jdl9saWJfJGFjX2xpYl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRhY19u
ICIoY2FjaGVkKSAkYWNfYyIgMT4mNgpAQCAtNDcwNSw3ICs0NjU0LDcgQEAKICAgYWNfc2F2ZV9M
SUJTPSIkTElCUyIKIExJQlM9Ii1sc3ZsZCAgJExJQlMiCiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0
IDw8RU9GCi0jbGluZSA0NzA5ICJjb25maWd1cmUiCisjbGluZSA0NjU4ICJjb25maWd1cmUiCiAj
aW5jbHVkZSAiY29uZmRlZnMuaCIKIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3Rv
dHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCiAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBt
aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCkBAIC00NzE2LDcgKzQ2NjUsNyBA
QAogZGxvcGVuKCkKIDsgcmV0dXJuIDA7IH0KIEVPRgotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3Vy
ZTo0NzIwOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRl
c3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1
cmU6NDY2OTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0
ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCiAgIHJtIC1yZiBjb25mdGVzdCoKICAg
ZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyIKIGVsc2UKQEAgLTQ3MzUsNyArNDY4NCw3
IEBACiBlbHNlCiAgIGVjaG8gIiRhY190IiJubyIgMT4mNgogZWNobyAkYWNfbiAiY2hlY2tpbmcg
Zm9yIHNobF9sb2FkIGluIC1sZGxkIiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZTo0
NzM5OiBjaGVja2luZyBmb3Igc2hsX2xvYWQgaW4gLWxkbGQiID4mNQorZWNobyAiY29uZmlndXJl
OjQ2ODg6IGNoZWNraW5nIGZvciBzaGxfbG9hZCBpbiAtbGRsZCIgPiY1CiBhY19saWJfdmFyPWBl
Y2hvIGRsZCdfJ3NobF9sb2FkIHwgc2VkICd5JS4vKy0lX19wXyUnYAogaWYgZXZhbCAidGVzdCBc
ImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zhcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVu
CiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CkBAIC00NzQzLDcgKzQ2OTIsNyBA
QAogICBhY19zYXZlX0xJQlM9IiRMSUJTIgogTElCUz0iLWxkbGQgICRMSUJTIgogY2F0ID4gY29u
ZnRlc3QuJGFjX2V4dCA8PEVPRgotI2xpbmUgNDc0NyAiY29uZmlndXJlIgorI2xpbmUgNDY5NiAi
Y29uZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAvKiBPdmVycmlkZSBhbnkgZ2NjMiBp
bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwogLyogV2UgdXNlIGNoYXIg
YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgpAQCAtNDc1
NCw3ICs0NzAzLDcgQEAKIHNobF9sb2FkKCkKIDsgcmV0dXJuIDA7IH0KIEVPRgotaWYgeyAoZXZh
bCBlY2hvIGNvbmZpZ3VyZTo0NzU4OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5r
KSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KK2lmIHsgKGV2
YWwgZWNobyBjb25maWd1cmU6NDcwNzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGlu
aykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCiAgIHJtIC1y
ZiBjb25mdGVzdCoKICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyIKIGVsc2UKQEAg
LTQ4MDcsNyArNDc1Niw3IEBACiAgICAgTElCUz0iJGx0X2N2X2Rsb3Blbl9saWJzICRMSUJTIgog
CiAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciBhIHByb2dyYW0gY2FuIGRsb3BlbiBp
dHNlbGYiIi4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjQ4MTE6IGNoZWNraW5nIHdo
ZXRoZXIgYSBwcm9ncmFtIGNhbiBkbG9wZW4gaXRzZWxmIiA+JjUKK2VjaG8gImNvbmZpZ3VyZTo0
NzYwOiBjaGVja2luZyB3aGV0aGVyIGEgcHJvZ3JhbSBjYW4gZGxvcGVuIGl0c2VsZiIgPiY1CiBp
ZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snbHRfY3ZfZGxvcGVuX3NlbGYnK3NldH0nYFwiID0g
c2V0IjsgdGhlbgogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgogZWxzZQpAQCAt
NDgxNyw3ICs0NzY2LDcgQEAKICAgICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsg
bHRfZGxuZWVkX3VzY29yZT0yCiAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgIGNhdCA+IGNv
bmZ0ZXN0LiRhY19leHQgPDxFT0YKLSNsaW5lIDQ4MjEgImNvbmZpZ3VyZSIKKyNsaW5lIDQ3NzAg
ImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogCiAjaWYgSEFWRV9ETEZDTl9ICkBA
IC00ODc4LDcgKzQ4MjcsNyBAQAogICAgIGV4aXQgKHN0YXR1cyk7CiB9CiBFT0YKLSAgaWYgeyAo
ZXZhbCBlY2hvIGNvbmZpZ3VyZTo0ODgyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19s
aW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gMj4vZGV2L251bGw7
IHRoZW4KKyAgaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo0ODMxOiBcIiRhY19saW5rXCIpIDE+
JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4
dH0gMj4vZGV2L251bGw7IHRoZW4KICAgICAoLi9jb25mdGVzdDsgZXhpdDsgKSAyPi9kZXYvbnVs
bAogICAgIGx0X3N0YXR1cz0kPwogICAgIGNhc2UgeCRsdF9zdGF0dXMgaW4KQEAgLTQ5MDEsNyAr
NDg1MCw3IEBACiAgICAgaWYgdGVzdCAieCRsdF9jdl9kbG9wZW5fc2VsZiIgPSB4eWVzOyB0aGVu
CiAgICAgICBMREZMQUdTPSIkTERGTEFHUyAkbGlua19zdGF0aWNfZmxhZyIKICAgICAgIGVjaG8g
JGFjX24gImNoZWNraW5nIHdoZXRoZXIgYSBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtIGNhbiBk
bG9wZW4gaXRzZWxmIiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZTo0OTA1OiBjaGVj
a2luZyB3aGV0aGVyIGEgc3RhdGljYWxseSBsaW5rZWQgcHJvZ3JhbSBjYW4gZGxvcGVuIGl0c2Vs
ZiIgPiY1CitlY2hvICJjb25maWd1cmU6NDg1NDogY2hlY2tpbmcgd2hldGhlciBhIHN0YXRpY2Fs
bHkgbGlua2VkIHByb2dyYW0gY2FuIGRsb3BlbiBpdHNlbGYiID4mNQogaWYgZXZhbCAidGVzdCBc
ImBlY2hvICckJyd7J2x0X2N2X2Rsb3Blbl9zZWxmX3N0YXRpYycrc2V0fSdgXCIgPSBzZXQiOyB0
aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCkBAIC00OTExLDcg
KzQ4NjAsNyBAQAogICAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5l
ZWRfdXNjb3JlPTIKICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgY2F0ID4gY29uZnRlc3Qu
JGFjX2V4dCA8PEVPRgotI2xpbmUgNDkxNSAiY29uZmlndXJlIgorI2xpbmUgNDg2NCAiY29uZmln
dXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAKICNpZiBIQVZFX0RMRkNOX0gKQEAgLTQ5NzIs
NyArNDkyMSw3IEBACiAgICAgZXhpdCAoc3RhdHVzKTsKIH0KIEVPRgotICBpZiB7IChldmFsIGVj
aG8gY29uZmlndXJlOjQ5NzY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+
JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAyPi9kZXYvbnVsbDsgdGhlbgor
ICBpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjQ5MjU6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2
YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAyPi9k
ZXYvbnVsbDsgdGhlbgogICAgICguL2NvbmZ0ZXN0OyBleGl0OyApIDI+L2Rldi9udWxsCiAgICAg
bHRfc3RhdHVzPSQ/CiAgICAgY2FzZSB4JGx0X3N0YXR1cyBpbgpAQCAtNTAyMSwxNCArNDk3MCwx
NCBAQAogICAgICMgc3lzdGVtcywgLWxnY2MgaGFzIHRvIGNvbWUgYmVmb3JlIC1sYy4gSWYgZ2Nj
IGFscmVhZHkgcGFzc2VzIC1sYwogICAgICMgdG8gbGQsIGRvbid0IGFkZCAtbGMgYmVmb3JlIC1s
Z2NjLgogICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgLWxjIHNob3VsZCBiZSBleHBs
aWNpdGx5IGxpbmtlZCBpbiIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6NTAyNTog
Y2hlY2tpbmcgd2hldGhlciAtbGMgc2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2VkIGluIiA+JjUK
K2VjaG8gImNvbmZpZ3VyZTo0OTc0OiBjaGVja2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhw
bGljaXRseSBsaW5rZWQgaW4iID4mNQogICAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneyds
dF9jdl9hcmNoaXZlX2NtZHNfbmVlZF9sYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCiAgIGVjaG8g
JGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCiAgICRybSBjb25mdGVzdCoKICAgICBl
Y2hvICdzdGF0aWMgaW50IGR1bW15OycgPiBjb25mdGVzdC4kYWNfZXh0CiAKLSAgICBpZiB7IChl
dmFsIGVjaG8gY29uZmlndXJlOjUwMzI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFj
X2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgICBpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjQ5
ODE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRo
ZW4KICAgICAgIHNvbmFtZT1jb25mdGVzdAogICAgICAgbGliPWNvbmZ0ZXN0CiAgICAgICBsaWJv
YmpzPWNvbmZ0ZXN0LiRhY19vYmpleHQKQEAgLTUwNDEsNyArNDk5MCw3IEBACiAgICAgICBsaWJu
YW1lPWNvbmZ0ZXN0CiAgICAgICBzYXZlX2FsbG93X3VuZGVmaW5lZF9mbGFnPSRhbGxvd191bmRl
ZmluZWRfZmxhZwogICAgICAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9Ci0gICAgICBpZiB7IChldmFs
IGVjaG8gY29uZmlndXJlOjUwNDU6IFwiJGFyY2hpdmVfY21kcyAyXD5cJjEgXHwgZ3JlcCBcIiAt
bGMgXCIgXD4vZGV2L251bGwgMlw+XCYxXCIpIDE+JjU7IChldmFsICRhcmNoaXZlX2NtZHMgMlw+
XCYxIFx8IGdyZXAgXCIgLWxjIFwiIFw+L2Rldi9udWxsIDJcPlwmMSkgMj4mNTsgfQorICAgICAg
aWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo0OTk0OiBcIiRhcmNoaXZlX2NtZHMgMlw+XCYxIFx8
IGdyZXAgXCIgLWxjIFwiIFw+L2Rldi9udWxsIDJcPlwmMVwiKSAxPiY1OyAoZXZhbCAkYXJjaGl2
ZV9jbWRzIDJcPlwmMSBcfCBncmVwIFwiIC1sYyBcIiBcPi9kZXYvbnVsbCAyXD5cJjEpIDI+JjU7
IH0KICAgICAgIHRoZW4KIAlsdF9jdl9hcmNoaXZlX2NtZHNfbmVlZF9sYz1ubwogICAgICAgZWxz
ZQpAQCAtNTYyMSw3ICs1NTcwLDcgQEAKIAogCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbWFp
biBpbiAtbGZsIiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZTo1NjI1OiBjaGVja2lu
ZyBmb3IgbWFpbiBpbiAtbGZsIiA+JjUKK2VjaG8gImNvbmZpZ3VyZTo1NTc0OiBjaGVja2luZyBm
b3IgbWFpbiBpbiAtbGZsIiA+JjUKIGFjX2xpYl92YXI9YGVjaG8gZmwnXydtYWluIHwgc2VkICd5
JS4vKy0lX19wXyUnYAogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNf
bGliX3Zhcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRh
Y19jIiAxPiY2CkBAIC01NjI5LDE0ICs1NTc4LDE0IEBACiAgIGFjX3NhdmVfTElCUz0iJExJQlMi
CiBMSUJTPSItbGZsICAkTElCUyIKIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKLSNsaW5l
IDU2MzMgImNvbmZpZ3VyZSIKKyNsaW5lIDU1ODIgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25m
ZGVmcy5oIgogCiBpbnQgbWFpbigpIHsKIG1haW4oKQogOyByZXR1cm4gMDsgfQogRU9GCi1pZiB7
IChldmFsIGVjaG8gY29uZmlndXJlOjU2NDA6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFj
X2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgoraWYg
eyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo1NTg5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRh
Y19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KICAg
cm0gLXJmIGNvbmZ0ZXN0KgogICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIgogZWxz
ZQpAQCAtNTY2OCw3ICs1NjE3LDcgQEAKICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiZ3Rr
LWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCiBzZXQgZHVt
bXkgZ3RrLWNvbmZpZzsgYWNfd29yZD0kMgogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193
b3JkIiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZTo1NjcyOiBjaGVja2luZyBmb3Ig
JGFjX3dvcmQiID4mNQorZWNobyAiY29uZmlndXJlOjU2MjE6IGNoZWNraW5nIGZvciAkYWNfd29y
ZCIgPiY1CiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcGF0aF9HVEtDT05GSUcn
K3NldH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4m
NgogZWxzZQpAQCAtNTcyNCwxMiArNTY3MywxMiBAQAogCiAKIGVjaG8gJGFjX24gImNoZWNraW5n
IGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzIiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3Vy
ZTo1NzI4OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIgPiY1CitlY2hvICJjb25m
aWd1cmU6NTY3NzogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMiID4mNQogaWYgZXZh
bCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl9zdGRjJytzZXR9J2BcIiA9IHNldCI7
IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKICAgY2F0ID4g
Y29uZnRlc3QuJGFjX2V4dCA8PEVPRgotI2xpbmUgNTczMyAiY29uZmlndXJlIgorI2xpbmUgNTY4
MiAiY29uZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAjaW5jbHVkZSA8c3RkbGliLmg+
CiAjaW5jbHVkZSA8c3RkYXJnLmg+CkBAIC01NzM3LDcgKzU2ODYsNyBAQAogI2luY2x1ZGUgPGZs
b2F0Lmg+CiBFT0YKIGFjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwg
Mj5jb25mdGVzdC5vdXQiCi17IChldmFsIGVjaG8gY29uZmlndXJlOjU3NDE6IFwiJGFjX3RyeVwi
KSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9Cit7IChldmFsIGVjaG8gY29uZmlndXJlOjU2
OTA6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CiBhY19lcnI9YGdy
ZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1c
JCJgCiBpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgogICBybSAtcmYgY29uZnRlc3QqCkBAIC01
NzU0LDcgKzU3MDMsNyBAQAogaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0ZGMgPSB5ZXM7IHRoZW4K
ICAgIyBTdW5PUyA0Lnggc3RyaW5nLmggZG9lcyBub3QgZGVjbGFyZSBtZW0qLCBjb250cmFyeSB0
byBBTlNJLgogY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgotI2xpbmUgNTc1OCAiY29uZmln
dXJlIgorI2xpbmUgNTcwNyAiY29uZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAjaW5j
bHVkZSA8c3RyaW5nLmg+CiBFT0YKQEAgLTU3NzIsNyArNTcyMSw3IEBACiBpZiB0ZXN0ICRhY19j
dl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbgogICAjIElTQyAyLjAuMiBzdGRsaWIuaCBkb2VzIG5v
dCBkZWNsYXJlIGZyZWUsIGNvbnRyYXJ5IHRvIEFOU0kuCiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0
IDw8RU9GCi0jbGluZSA1Nzc2ICJjb25maWd1cmUiCisjbGluZSA1NzI1ICJjb25maWd1cmUiCiAj
aW5jbHVkZSAiY29uZmRlZnMuaCIKICNpbmNsdWRlIDxzdGRsaWIuaD4KIEVPRgpAQCAtNTc5Myw3
ICs1NzQyLDcgQEAKICAgOgogZWxzZQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCi0j
bGluZSA1Nzk3ICJjb25maWd1cmUiCisjbGluZSA1NzQ2ICJjb25maWd1cmUiCiAjaW5jbHVkZSAi
Y29uZmRlZnMuaCIKICNpbmNsdWRlIDxjdHlwZS5oPgogI2RlZmluZSBJU0xPV0VSKGMpICgnYScg
PD0gKGMpICYmIChjKSA8PSAneicpCkBAIC01ODA0LDcgKzU3NTMsNyBAQAogZXhpdCAoMCk7IH0K
IAogRU9GCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjU4MDg6IFwiJGFjX2xpbmtcIikgMT4m
NTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0
fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKK2lmIHsgKGV2YWwgZWNobyBjb25m
aWd1cmU6NTc1NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAm
JiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9k
ZXYvbnVsbAogdGhlbgogICA6CiBlbHNlCkBAIC01ODM4LDEyICs1Nzg3LDEyIEBACiAKIAogZWNo
byAkYWNfbiAiY2hlY2tpbmcgZm9yIHdvcmtpbmcgY29uc3QiIi4uLiAkYWNfYyIgMT4mNgotZWNo
byAiY29uZmlndXJlOjU4NDI6IGNoZWNraW5nIGZvciB3b3JraW5nIGNvbnN0IiA+JjUKK2VjaG8g
ImNvbmZpZ3VyZTo1NzkxOiBjaGVja2luZyBmb3Igd29ya2luZyBjb25zdCIgPiY1CiBpZiBldmFs
ICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfY19jb25zdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVu
CiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCiAgIGNhdCA+IGNvbmZ0
ZXN0LiRhY19leHQgPDxFT0YKLSNsaW5lIDU4NDcgImNvbmZpZ3VyZSIKKyNsaW5lIDU3OTYgImNv
bmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogCiBpbnQgbWFpbigpIHsKQEAgLTU4OTIs
NyArNTg0MSw3IEBACiAKIDsgcmV0dXJuIDA7IH0KIEVPRgotaWYgeyAoZXZhbCBlY2hvIGNvbmZp
Z3VyZTo1ODk2OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1
OyB9OyB0aGVuCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjU4NDU6IFwiJGFjX2NvbXBpbGVc
IikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KICAgcm0gLXJmIGNvbmZ0
ZXN0KgogICBhY19jdl9jX2NvbnN0PXllcwogZWxzZQpAQCAtNTkxMywyMSArNTg2MiwyMSBAQAog
ZmkKIAogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGlubGluZSIiLi4uICRhY19jIiAxPiY2Ci1l
Y2hvICJjb25maWd1cmU6NTkxNzogY2hlY2tpbmcgZm9yIGlubGluZSIgPiY1CitlY2hvICJjb25m
aWd1cmU6NTg2NjogY2hlY2tpbmcgZm9yIGlubGluZSIgPiY1CiBpZiBldmFsICJ0ZXN0IFwiYGVj
aG8gJyQnJ3snYWNfY3ZfY19pbmxpbmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRh
Y19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgogZWxzZQogICBhY19jdl9jX2lubGluZT1ubwogZm9y
IGFjX2t3IGluIGlubGluZSBfX2lubGluZV9fIF9faW5saW5lOyBkbwogICBjYXQgPiBjb25mdGVz
dC4kYWNfZXh0IDw8RU9GCi0jbGluZSA1OTI0ICJjb25maWd1cmUiCisjbGluZSA1ODczICJjb25m
aWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAogaW50IG1haW4oKSB7CiB9ICRhY19rdyBm
b28oKSB7CiA7IHJldHVybiAwOyB9CiBFT0YKLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NTkz
MTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhl
bgoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo1ODgwOiBcIiRhY19jb21waWxlXCIpIDE+JjU7
IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCiAgIHJtIC1yZiBjb25mdGVzdCoKICAg
YWNfY3ZfY19pbmxpbmU9JGFjX2t3OyBicmVhawogZWxzZQpAQCAtNTk1MywxMiArNTkwMiwxMiBA
QAogZXNhYwogCiBlY2hvICRhY19uICJjaGVja2luZyBmb3Igc2l6ZV90IiIuLi4gJGFjX2MiIDE+
JjYKLWVjaG8gImNvbmZpZ3VyZTo1OTU3OiBjaGVja2luZyBmb3Igc2l6ZV90IiA+JjUKK2VjaG8g
ImNvbmZpZ3VyZTo1OTA2OiBjaGVja2luZyBmb3Igc2l6ZV90IiA+JjUKIGlmIGV2YWwgInRlc3Qg
XCJgZWNobyAnJCcneydhY19jdl90eXBlX3NpemVfdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCiAg
IGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CiBlbHNlCiAgIGNhdCA+IGNvbmZ0ZXN0
LiRhY19leHQgPDxFT0YKLSNsaW5lIDU5NjIgImNvbmZpZ3VyZSIKKyNsaW5lIDU5MTEgImNvbmZp
Z3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2lm
IFNURENfSEVBREVSUwpAQCAtNTk4OSwxOSArNTkzOCwxOSBAQAogIyBUaGUgVWx0cml4IDQuMiBt
aXBzIGJ1aWx0aW4gYWxsb2NhIGRlY2xhcmVkIGJ5IGFsbG9jYS5oIG9ubHkgd29ya3MKICMgZm9y
IGNvbnN0YW50IGFyZ3VtZW50cy4gIFVzZWxlc3MhCiBlY2hvICRhY19uICJjaGVja2luZyBmb3Ig
d29ya2luZyBhbGxvY2EuaCIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6NTk5Mzog
Y2hlY2tpbmcgZm9yIHdvcmtpbmcgYWxsb2NhLmgiID4mNQorZWNobyAiY29uZmlndXJlOjU5NDI6
IGNoZWNraW5nIGZvciB3b3JraW5nIGFsbG9jYS5oIiA+JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNo
byAnJCcneydhY19jdl9oZWFkZXJfYWxsb2NhX2gnK3NldH0nYFwiID0gc2V0IjsgdGhlbgogICBl
Y2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgogZWxzZQogICBjYXQgPiBjb25mdGVzdC4k
YWNfZXh0IDw8RU9GCi0jbGluZSA1OTk4ICJjb25maWd1cmUiCisjbGluZSA1OTQ3ICJjb25maWd1
cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKICNpbmNsdWRlIDxhbGxvY2EuaD4KIGludCBtYWlu
KCkgewogY2hhciAqcCA9IGFsbG9jYSgyICogc2l6ZW9mKGludCkpOwogOyByZXR1cm4gMDsgfQog
RU9GCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYwMDU6IFwiJGFjX2xpbmtcIikgMT4mNTsg
KGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsg
dGhlbgoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo1OTU0OiBcIiRhY19saW5rXCIpIDE+JjU7
IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07
IHRoZW4KICAgcm0gLXJmIGNvbmZ0ZXN0KgogICBhY19jdl9oZWFkZXJfYWxsb2NhX2g9eWVzCiBl
bHNlCkBAIC02MDIyLDEyICs1OTcxLDEyIEBACiBmaQogCiBlY2hvICRhY19uICJjaGVja2luZyBm
b3IgYWxsb2NhIiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZTo2MDI2OiBjaGVja2lu
ZyBmb3IgYWxsb2NhIiA+JjUKK2VjaG8gImNvbmZpZ3VyZTo1OTc1OiBjaGVja2luZyBmb3IgYWxs
b2NhIiA+JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jX2FsbG9jYV93
b3Jrcycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19j
IiAxPiY2CiBlbHNlCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKLSNsaW5lIDYwMzEg
ImNvbmZpZ3VyZSIKKyNsaW5lIDU5ODAgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5o
IgogCiAjaWZkZWYgX19HTlVDX18KQEAgLTYwNTUsNyArNjAwNCw3IEBACiBjaGFyICpwID0gKGNo
YXIgKikgYWxsb2NhKDEpOwogOyByZXR1cm4gMDsgfQogRU9GCi1pZiB7IChldmFsIGVjaG8gY29u
ZmlndXJlOjYwNTk6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0g
JiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgoraWYgeyAoZXZhbCBlY2hvIGNv
bmZpZ3VyZTo2MDA4OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9
ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KICAgcm0gLXJmIGNvbmZ0ZXN0
KgogICBhY19jdl9mdW5jX2FsbG9jYV93b3Jrcz15ZXMKIGVsc2UKQEAgLTYwODcsMTIgKzYwMzYs
MTIgQEAKIAogCiBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIGFsbG9jYSBuZWVkcyBDcmF5
IGhvb2tzIiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZTo2MDkxOiBjaGVja2luZyB3
aGV0aGVyIGFsbG9jYSBuZWVkcyBDcmF5IGhvb2tzIiA+JjUKK2VjaG8gImNvbmZpZ3VyZTo2MDQw
OiBjaGVja2luZyB3aGV0aGVyIGFsbG9jYSBuZWVkcyBDcmF5IGhvb2tzIiA+JjUKIGlmIGV2YWwg
InRlc3QgXCJgZWNobyAnJCcneydhY19jdl9vc19jcmF5JytzZXR9J2BcIiA9IHNldCI7IHRoZW4K
ICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKICAgY2F0ID4gY29uZnRl
c3QuJGFjX2V4dCA8PEVPRgotI2xpbmUgNjA5NiAiY29uZmlndXJlIgorI2xpbmUgNjA0NSAiY29u
ZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAjaWYgZGVmaW5lZChDUkFZKSAmJiAhIGRl
ZmluZWQoQ1JBWTIpCiB3ZWJlY3JheQpAQCAtNjExNywxMiArNjA2NiwxMiBAQAogaWYgdGVzdCAk
YWNfY3Zfb3NfY3JheSA9IHllczsgdGhlbgogZm9yIGFjX2Z1bmMgaW4gX2dldGI2NyBHRVRCNjcg
Z2V0YjY3OyBkbwogICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2Z1bmMiIi4uLiAkYWNf
YyIgMT4mNgotZWNobyAiY29uZmlndXJlOjYxMjE6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1
CitlY2hvICJjb25maWd1cmU6NjA3MDogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKIGlmIGV2
YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jXyRhY19mdW5jJytzZXR9J2BcIiA9IHNl
dCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKICAgY2F0
ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgotI2xpbmUgNjEyNiAiY29uZmlndXJlIgorI2xpbmUg
NjA3NSAiY29uZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAvKiBTeXN0ZW0gaGVhZGVy
IHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAg
ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkYWNfZnVuYygpOyBiZWxvdy4gICovCkBA
IC02MTQ4LDcgKzYwOTcsNyBAQAogCiA7IHJldHVybiAwOyB9CiBFT0YKLWlmIHsgKGV2YWwgZWNo
byBjb25maWd1cmU6NjE1MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4m
NTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCitpZiB7IChldmFsIGVj
aG8gY29uZmlndXJlOjYxMDE6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+
JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgogICBybSAtcmYgY29u
ZnRlc3QqCiAgIGV2YWwgImFjX2N2X2Z1bmNfJGFjX2Z1bmM9eWVzIgogZWxzZQpAQCAtNjE3NSw3
ICs2MTI0LDcgQEAKIGZpCiAKIGVjaG8gJGFjX24gImNoZWNraW5nIHN0YWNrIGRpcmVjdGlvbiBm
b3IgQyBhbGxvY2EiIi4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjYxNzk6IGNoZWNr
aW5nIHN0YWNrIGRpcmVjdGlvbiBmb3IgQyBhbGxvY2EiID4mNQorZWNobyAiY29uZmlndXJlOjYx
Mjg6IGNoZWNraW5nIHN0YWNrIGRpcmVjdGlvbiBmb3IgQyBhbGxvY2EiID4mNQogaWYgZXZhbCAi
dGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Nfc3RhY2tfZGlyZWN0aW9uJytzZXR9J2BcIiA9IHNl
dCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKQEAgLTYx
ODMsOCArNjEzMiwxMSBAQAogICBhY19jdl9jX3N0YWNrX2RpcmVjdGlvbj0wCiBlbHNlCiAgIGNh
dCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKLSNsaW5lIDYxODcgImNvbmZpZ3VyZSIKKyNsaW5l
IDYxMzYgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgorI2lmZGVmIF9fY3BsdXNw
bHVzCitleHRlcm4gIkMiIHZvaWQgZXhpdChpbnQpOworI2VuZGlmCiBmaW5kX3N0YWNrX2RpcmVj
dGlvbiAoKQogewogICBzdGF0aWMgY2hhciAqYWRkciA9IDA7CkBAIC02MjAyLDcgKzYxNTQsNyBA
QAogICBleGl0IChmaW5kX3N0YWNrX2RpcmVjdGlvbigpIDwgMCk7CiB9CiBFT0YKLWlmIHsgKGV2
YWwgZWNobyBjb25maWd1cmU6NjIwNjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGlu
aykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0
OyBleGl0KSAyPi9kZXYvbnVsbAoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2MTU4OiBcIiRh
Y19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRl
c3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCiB0aGVuCiAg
IGFjX2N2X2Nfc3RhY2tfZGlyZWN0aW9uPTEKIGVsc2UKQEAgLTYyMjQsMTIgKzYxNzYsMTIgQEAK
IGZpCiAKIGVjaG8gJGFjX24gImNoZWNraW5nIHJldHVybiB0eXBlIG9mIHNpZ25hbCBoYW5kbGVy
cyIiLi4uICRhY19jIiAxPiY2Ci1lY2hvICJjb25maWd1cmU6NjIyODogY2hlY2tpbmcgcmV0dXJu
IHR5cGUgb2Ygc2lnbmFsIGhhbmRsZXJzIiA+JjUKK2VjaG8gImNvbmZpZ3VyZTo2MTgwOiBjaGVj
a2luZyByZXR1cm4gdHlwZSBvZiBzaWduYWwgaGFuZGxlcnMiID4mNQogaWYgZXZhbCAidGVzdCBc
ImBlY2hvICckJyd7J2FjX2N2X3R5cGVfc2lnbmFsJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KICAg
ZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKICAgY2F0ID4gY29uZnRlc3Qu
JGFjX2V4dCA8PEVPRgotI2xpbmUgNjIzMyAiY29uZmlndXJlIgorI2xpbmUgNjE4NSAiY29uZmln
dXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5j
bHVkZSA8c2lnbmFsLmg+CkBAIC02MjQ2LDcgKzYxOTgsNyBAQAogaW50IGk7CiA7IHJldHVybiAw
OyB9CiBFT0YKLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjI1MDogXCIkYWNfY29tcGlsZVwi
KSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgoraWYgeyAoZXZhbCBlY2hv
IGNvbmZpZ3VyZTo2MjAyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxl
KSAyPiY1OyB9OyB0aGVuCiAgIHJtIC1yZiBjb25mdGVzdCoKICAgYWNfY3ZfdHlwZV9zaWduYWw9
dm9pZAogZWxzZQpAQCAtNjI2NywxMiArNjIxOSwxMiBAQAogZm9yIGFjX2Z1bmMgaW4gc3RyZHVw
IHN0cnN0ciBzdHJ0b2Qgc3RydG9sIHN0cnRvdWwKIGRvCiBlY2hvICRhY19uICJjaGVja2luZyBm
b3IgJGFjX2Z1bmMiIi4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjYyNzE6IGNoZWNr
aW5nIGZvciAkYWNfZnVuYyIgPiY1CitlY2hvICJjb25maWd1cmU6NjIyMzogY2hlY2tpbmcgZm9y
ICRhY19mdW5jIiA+JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jXyRh
Y19mdW5jJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFj
X2MiIDE+JjYKIGVsc2UKICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgotI2xpbmUgNjI3
NiAiY29uZmlndXJlIgorI2xpbmUgNjIyOCAiY29uZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZz
LmgiCiAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs
bHkgZmV3IHByb3RvdHlwZXMsCiAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkYWNf
ZnVuYygpOyBiZWxvdy4gICovCkBAIC02Mjk4LDcgKzYyNTAsNyBAQAogCiA7IHJldHVybiAwOyB9
CiBFT0YKLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjMwMjogXCIkYWNfbGlua1wiKSAxPiY1
OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9
OyB0aGVuCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYyNTQ6IFwiJGFjX2xpbmtcIikgMT4m
NTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0
fTsgdGhlbgogICBybSAtcmYgY29uZnRlc3QqCiAgIGV2YWwgImFjX2N2X2Z1bmNfJGFjX2Z1bmM9
eWVzIgogZWxzZQpkaWZmIC11ck4gbGNkLTAuMi4xL2V4YW1wbGVzL01ha2VmaWxlLmluIGxjZC0w
LjIuMS1uZXcvZXhhbXBsZXMvTWFrZWZpbGUuaW4KLS0tIGxjZC0wLjIuMS9leGFtcGxlcy9NYWtl
ZmlsZS5pbgkyMDA0LTAyLTA4IDIwOjEzOjIxLjAwMDAwMDAwMCArMDEwMAorKysgbGNkLTAuMi4x
LW5ldy9leGFtcGxlcy9NYWtlZmlsZS5pbgkyMDA0LTEyLTIwIDA1OjA4OjM0LjU0ODA5MDkxMiAr
MDEwMApAQCAtMSw0ICsxLDQgQEAKLSMgTWFrZWZpbGUuaW4gZ2VuZXJhdGVkIGF1dG9tYXRpY2Fs
bHkgYnkgYXV0b21ha2UgMS40LXA1IGZyb20gTWFrZWZpbGUuYW0KKyMgTWFrZWZpbGUuaW4gZ2Vu
ZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgYXV0b21ha2UgMS40LXA2IGZyb20gTWFrZWZpbGUuYW0K
IAogIyBDb3B5cmlnaHQgKEMpIDE5OTQsIDE5OTUtOCwgMTk5OSwgMjAwMSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4KICMgVGhpcyBNYWtlZmlsZS5pbiBpcyBmcmVlIHNvZnR3YXJlOyB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCkBAIC04OSwxOCArODksMTQgQEAKIFhfTERGTEFH
UyA9IEBYX0xERkxBR1NACiBZQUNDID0gQFlBQ0NACiAKLUVYVFJBX0RJU1QgPSBsY2RfbW9kLmFz
bSBsY2RfbW9kLnN0YyBcCi0JbGNkLmFzbSBsY2QuaW5jIFwKLQlzY3JlZW4uYXNtIHNjcmVlbi5p
bmMgXAotCXAxNmM2NC5pbmMgXAotCVJFQURNRQorRVhUUkFfRElTVCA9IGxjZF9tb2QuYXNtIGxj
ZF9tb2Quc3RjIAlsY2QuYXNtIGxjZC5pbmMgCXNjcmVlbi5hc20gc2NyZWVuLmluYyAJcDE2YzY0
LmluYyAJUkVBRE1FCiAKIAogTU9TVExZQ0xFQU5GSUxFUyA9ICouaGV4ICouY29kICoubHN0ICp+
CiBDTEVBTkZJTEVTID0gKi5oZXggKi5jb2QgKi5sc3QgKn4KIERJU1RDTEVBTkZJTEVTID0gKi5o
ZXggKi5jb2QgKi5sc3QgKn4KIE1BSU5UQUlORVJDTEVBTkZJTEVTID0gKi5oZXggKi5jb2QgKi5s
c3QgKn4KLW1raW5zdGFsbGRpcnMgPSAkKFNIRUxMKSAkKHRvcF9zcmNkaXIpLy4uLy4uL21raW5z
dGFsbGRpcnMKK21raW5zdGFsbGRpcnMgPSAkKFNIRUxMKSAkKHRvcF9zcmNkaXIpL21raW5zdGFs
bGRpcnMKIENPTkZJR19IRUFERVIgPSAuLi9jb25maWcuaAogQ09ORklHX0NMRUFOX0ZJTEVTID0g
CiBESVNUX0NPTU1PTiA9ICBSRUFETUUgTWFrZWZpbGUuYW0gTWFrZWZpbGUuaW4KQEAgLTEwOCwx
NCArMTA0LDE0IEBACiAKIERJU1RGSUxFUyA9ICQoRElTVF9DT01NT04pICQoU09VUkNFUykgJChI
RUFERVJTKSAkKFRFWElORk9TKSAkKEVYVFJBX0RJU1QpCiAKLVRBUiA9IGd0YXIKK1RBUiA9IHRh
cgogR1pJUF9FTlYgPSAtLWJlc3QKIGFsbDogYWxsLXJlZGlyZWN0CiAuU1VGRklYRVM6CiAkKHNy
Y2RpcikvTWFrZWZpbGUuaW46IE1ha2VmaWxlLmFtICQodG9wX3NyY2RpcikvY29uZmlndXJlLmlu
ICQoQUNMT0NBTF9NNCkgCi0JY2QgJCh0b3Bfc3JjZGlyKSAmJiAkKEFVVE9NQUtFKSAtLWdudSAt
LWluY2x1ZGUtZGVwcyBleGFtcGxlcy9NYWtlZmlsZQorCWNkICQodG9wX3NyY2RpcikgJiYgJChB
VVRPTUFLRSkgLS1nbnUgZXhhbXBsZXMvTWFrZWZpbGUKIAotTWFrZWZpbGU6ICQoc3JjZGlyKS9N
YWtlZmlsZS5pbiAgJCh0b3BfYnVpbGRkaXIpL2NvbmZpZy5zdGF0dXMKK01ha2VmaWxlOiAkKHNy
Y2RpcikvTWFrZWZpbGUuaW4gICQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzICQoQlVJTFRf
U09VUkNFUykKIAljZCAkKHRvcF9idWlsZGRpcikgXAogCSAgJiYgQ09ORklHX0ZJTEVTPSQoc3Vi
ZGlyKS8kQCBDT05GSUdfSEVBREVSUz0gJChTSEVMTCkgLi9jb25maWcuc3RhdHVzCiAKQEAgLTEy
OCw2ICsxMjQsMTEgQEAKIHN1YmRpciA9IGV4YW1wbGVzCiAKIGRpc3RkaXI6ICQoRElTVEZJTEVT
KQorCWhlcmU9YGNkICQodG9wX2J1aWxkZGlyKSAmJiBwd2RgOyBcCisJdG9wX2Rpc3RkaXI9YGNk
ICQodG9wX2Rpc3RkaXIpICYmIHB3ZGA7IFwKKwlkaXN0ZGlyPWBjZCAkKGRpc3RkaXIpICYmIHB3
ZGA7IFwKKwljZCAkKHRvcF9zcmNkaXIpIFwKKwkgICYmICQoQVVUT01BS0UpIC0taW5jbHVkZS1k
ZXBzIC0tYnVpbGQtZGlyPSQkaGVyZSAtLXNyY2Rpci1uYW1lPSQodG9wX3NyY2RpcikgLS1vdXRw
dXQtZGlyPSQkdG9wX2Rpc3RkaXIgLS1nbnUgZXhhbXBsZXMvTWFrZWZpbGUKIAlAZm9yIGZpbGUg
aW4gJChESVNURklMRVMpOyBkbyBcCiAJICBkPSQoc3JjZGlyKTsgXAogCSAgaWYgdGVzdCAtZCAk
JGQvJCRmaWxlOyB0aGVuIFwKZGlmZiAtdXJOIGxjZC0wLjIuMS9pbnN0YWxsLXNoIGxjZC0wLjIu
MS1uZXcvaW5zdGFsbC1zaAotLS0gbGNkLTAuMi4xL2luc3RhbGwtc2gJMTk3MC0wMS0wMSAwMTow
MDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIGxjZC0wLjIuMS1uZXcvaW5zdGFsbC1zaAkyMDA0LTEy
LTIwIDA0OjU4OjUwLjk5NzgwNDA0MCArMDEwMApAQCAtMCwwICsxLDIzOCBAQAorIyEgL2Jpbi9z
aAorIworIyBpbnN0YWxsIC0gaW5zdGFsbCBhIHByb2dyYW0sIHNjcmlwdCwgb3IgZGF0YWZpbGUK
KyMgVGhpcyBjb21lcyBmcm9tIFgxMVI1LgorIworIyBDYWxsaW5nIHRoaXMgc2NyaXB0IGluc3Rh
bGwtc2ggaXMgcHJlZmVycmVkIG92ZXIgaW5zdGFsbC5zaCwgdG8gcHJldmVudAorIyBgbWFrZScg
aW1wbGljaXQgcnVsZXMgZnJvbSBjcmVhdGluZyBhIGZpbGUgY2FsbGVkIGluc3RhbGwgZnJvbSBp
dAorIyB3aGVuIHRoZXJlIGlzIG5vIE1ha2VmaWxlLgorIworIyBUaGlzIHNjcmlwdCBpcyBjb21w
YXRpYmxlIHdpdGggdGhlIEJTRCBpbnN0YWxsIHNjcmlwdCwgYnV0IHdhcyB3cml0dGVuCisjIGZy
b20gc2NyYXRjaC4KKyMKKworCisjIHNldCBET0lUUFJPRyB0byBlY2hvIHRvIHRlc3QgdGhpcyBz
Y3JpcHQKKworIyBEb24ndCB1c2UgOi0gc2luY2UgNC4zQlNEIGFuZCBlYXJsaWVyIHNoZWxscyBk
b24ndCBsaWtlIGl0LgorZG9pdD0iJHtET0lUUFJPRy19IgorCisKKyMgcHV0IGluIGFic29sdXRl
IHBhdGhzIGlmIHlvdSBkb24ndCBoYXZlIHRoZW0gaW4geW91ciBwYXRoOyBvciB1c2UgZW52LiB2
YXJzLgorCittdnByb2c9IiR7TVZQUk9HLW12fSIKK2NwcHJvZz0iJHtDUFBST0ctY3B9IgorY2ht
b2Rwcm9nPSIke0NITU9EUFJPRy1jaG1vZH0iCitjaG93bnByb2c9IiR7Q0hPV05QUk9HLWNob3du
fSIKK2NoZ3JwcHJvZz0iJHtDSEdSUFBST0ctY2hncnB9Igorc3RyaXBwcm9nPSIke1NUUklQUFJP
Ry1zdHJpcH0iCitybXByb2c9IiR7Uk1QUk9HLXJtfSIKK21rZGlycHJvZz0iJHtNS0RJUlBST0ct
bWtkaXJ9IgorCit0cmFuZm9ybWJhc2VuYW1lPSIiCit0cmFuc2Zvcm1fYXJnPSIiCitpbnN0Y21k
PSIkbXZwcm9nIgorY2htb2RjbWQ9IiRjaG1vZHByb2cgMDc1NSIKK2Nob3duY21kPSIiCitjaGdy
cGNtZD0iIgorc3RyaXBjbWQ9IiIKK3JtY21kPSIkcm1wcm9nIC1mIgorbXZjbWQ9IiRtdnByb2ci
CitzcmM9IiIKK2RzdD0iIgorZGlyX2FyZz0iIgorCit3aGlsZSBbIHgiJDEiICE9IHggXTsgZG8K
KyAgICBjYXNlICQxIGluCisJLWMpIGluc3RjbWQ9IiRjcHByb2ciCisJICAgIHNoaWZ0CisJICAg
IGNvbnRpbnVlOzsKKworCS1kKSBkaXJfYXJnPXRydWUKKwkgICAgc2hpZnQKKwkgICAgY29udGlu
dWU7OworCisJLW0pIGNobW9kY21kPSIkY2htb2Rwcm9nICQyIgorCSAgICBzaGlmdAorCSAgICBz
aGlmdAorCSAgICBjb250aW51ZTs7CisKKwktbykgY2hvd25jbWQ9IiRjaG93bnByb2cgJDIiCisJ
ICAgIHNoaWZ0CisJICAgIHNoaWZ0CisJICAgIGNvbnRpbnVlOzsKKworCS1nKSBjaGdycGNtZD0i
JGNoZ3JwcHJvZyAkMiIKKwkgICAgc2hpZnQKKwkgICAgc2hpZnQKKwkgICAgY29udGludWU7Owor
CisJLXMpIHN0cmlwY21kPSIkc3RyaXBwcm9nIgorCSAgICBzaGlmdAorCSAgICBjb250aW51ZTs7
CisKKwktdD0qKSB0cmFuc2Zvcm1hcmc9YGVjaG8gJDEgfCBzZWQgJ3MvLXQ9Ly8nYAorCSAgICBz
aGlmdAorCSAgICBjb250aW51ZTs7CisKKwktYj0qKSB0cmFuc2Zvcm1iYXNlbmFtZT1gZWNobyAk
MSB8IHNlZCAncy8tYj0vLydgCisJICAgIHNoaWZ0CisJICAgIGNvbnRpbnVlOzsKKworCSopICBp
ZiBbIHgiJHNyYyIgPSB4IF0KKwkgICAgdGhlbgorCQlzcmM9JDEKKwkgICAgZWxzZQorCQkjIHRo
aXMgY29sb24gaXMgdG8gd29yayBhcm91bmQgYSAzODZCU0QgL2Jpbi9zaCBidWcKKwkJOgorCQlk
c3Q9JDEKKwkgICAgZmkKKwkgICAgc2hpZnQKKwkgICAgY29udGludWU7OworICAgIGVzYWMKK2Rv
bmUKKworaWYgWyB4IiRzcmMiID0geCBdCit0aGVuCisJZWNobyAiaW5zdGFsbDoJbm8gaW5wdXQg
ZmlsZSBzcGVjaWZpZWQiCisJZXhpdCAxCitlbHNlCisJdHJ1ZQorZmkKKworaWYgWyB4IiRkaXJf
YXJnIiAhPSB4IF07IHRoZW4KKwlkc3Q9JHNyYworCXNyYz0iIgorCQorCWlmIFsgLWQgJGRzdCBd
OyB0aGVuCisJCWluc3RjbWQ9OgorCWVsc2UKKwkJaW5zdGNtZD1ta2RpcgorCWZpCitlbHNlCisK
KyMgV2FpdGluZyBmb3IgdGhpcyB0byBiZSBkZXRlY3RlZCBieSB0aGUgIiRpbnN0Y21kICRzcmMg
JGRzdHRtcCIgY29tbWFuZAorIyBtaWdodCBjYXVzZSBkaXJlY3RvcmllcyB0byBiZSBjcmVhdGVk
LCB3aGljaCB3b3VsZCBiZSBlc3BlY2lhbGx5IGJhZCAKKyMgaWYgJHNyYyAoYW5kIHRodXMgJGRz
dHRtcCkgY29udGFpbnMgJyonLgorCisJaWYgWyAtZiAkc3JjIC1vIC1kICRzcmMgXQorCXRoZW4K
KwkJdHJ1ZQorCWVsc2UKKwkJZWNobyAiaW5zdGFsbDogICRzcmMgZG9lcyBub3QgZXhpc3QiCisJ
CWV4aXQgMQorCWZpCisJCisJaWYgWyB4IiRkc3QiID0geCBdCisJdGhlbgorCQllY2hvICJpbnN0
YWxsOglubyBkZXN0aW5hdGlvbiBzcGVjaWZpZWQiCisJCWV4aXQgMQorCWVsc2UKKwkJdHJ1ZQor
CWZpCisKKyMgSWYgZGVzdGluYXRpb24gaXMgYSBkaXJlY3RvcnksIGFwcGVuZCB0aGUgaW5wdXQg
ZmlsZW5hbWU7IGlmIHlvdXIgc3lzdGVtCisjIGRvZXMgbm90IGxpa2UgZG91YmxlIHNsYXNoZXMg
aW4gZmlsZW5hbWVzLCB5b3UgbWF5IG5lZWQgdG8gYWRkIHNvbWUgbG9naWMKKworCWlmIFsgLWQg
JGRzdCBdCisJdGhlbgorCQlkc3Q9IiRkc3QiL2BiYXNlbmFtZSAkc3JjYAorCWVsc2UKKwkJdHJ1
ZQorCWZpCitmaQorCisjIyB0aGlzIHNlZCBjb21tYW5kIGVtdWxhdGVzIHRoZSBkaXJuYW1lIGNv
bW1hbmQKK2RzdGRpcj1gZWNobyAkZHN0IHwgc2VkIC1lICdzLFteL10qJCwsO3MsLyQsLDtzLF4k
LC4sJ2AKKworIyBNYWtlIHN1cmUgdGhhdCB0aGUgZGVzdGluYXRpb24gZGlyZWN0b3J5IGV4aXN0
cy4KKyMgIHRoaXMgcGFydCBpcyB0YWtlbiBmcm9tIE5vYWggRnJpZWRtYW4ncyBta2luc3RhbGxk
aXJzIHNjcmlwdAorCisjIFNraXAgbG90cyBvZiBzdGF0IGNhbGxzIGluIHRoZSB1c3VhbCBjYXNl
LgoraWYgWyAhIC1kICIkZHN0ZGlyIiBdOyB0aGVuCitkZWZhdWx0SUZTPScJCisnCitJRlM9IiR7
SUZTLSR7ZGVmYXVsdElGU319IgorCitvSUZTPSIke0lGU30iCisjIFNvbWUgc2gncyBjYW4ndCBo
YW5kbGUgSUZTPS8gZm9yIHNvbWUgcmVhc29uLgorSUZTPSclJworc2V0IC0gYGVjaG8gJHtkc3Rk
aXJ9IHwgc2VkIC1lICdzQC9AJUBnJyAtZSAnc0BeJUAvQCdgCitJRlM9IiR7b0lGU30iCisKK3Bh
dGhjb21wPScnCisKK3doaWxlIFsgJCMgLW5lIDAgXSA7IGRvCisJcGF0aGNvbXA9IiR7cGF0aGNv
bXB9JHsxfSIKKwlzaGlmdAorCisJaWYgWyAhIC1kICIke3BhdGhjb21wfSIgXSA7CisgICAgICAg
IHRoZW4KKwkJJG1rZGlycHJvZyAiJHtwYXRoY29tcH0iCisJZWxzZQorCQl0cnVlCisJZmkKKwor
CXBhdGhjb21wPSIke3BhdGhjb21wfS8iCitkb25lCitmaQorCitpZiBbIHgiJGRpcl9hcmciICE9
IHggXQordGhlbgorCSRkb2l0ICRpbnN0Y21kICRkc3QgJiYKKworCWlmIFsgeCIkY2hvd25jbWQi
ICE9IHggXTsgdGhlbiAkZG9pdCAkY2hvd25jbWQgJGRzdDsgZWxzZSB0cnVlIDsgZmkgJiYKKwlp
ZiBbIHgiJGNoZ3JwY21kIiAhPSB4IF07IHRoZW4gJGRvaXQgJGNoZ3JwY21kICRkc3Q7IGVsc2Ug
dHJ1ZSA7IGZpICYmCisJaWYgWyB4IiRzdHJpcGNtZCIgIT0geCBdOyB0aGVuICRkb2l0ICRzdHJp
cGNtZCAkZHN0OyBlbHNlIHRydWUgOyBmaSAmJgorCWlmIFsgeCIkY2htb2RjbWQiICE9IHggXTsg
dGhlbiAkZG9pdCAkY2htb2RjbWQgJGRzdDsgZWxzZSB0cnVlIDsgZmkKK2Vsc2UKKworIyBJZiB3
ZSdyZSBnb2luZyB0byByZW5hbWUgdGhlIGZpbmFsIGV4ZWN1dGFibGUsIGRldGVybWluZSB0aGUg
bmFtZSBub3cuCisKKwlpZiBbIHgiJHRyYW5zZm9ybWFyZyIgPSB4IF0gCisJdGhlbgorCQlkc3Rm
aWxlPWBiYXNlbmFtZSAkZHN0YAorCWVsc2UKKwkJZHN0ZmlsZT1gYmFzZW5hbWUgJGRzdCAkdHJh
bnNmb3JtYmFzZW5hbWUgfCAKKwkJCXNlZCAkdHJhbnNmb3JtYXJnYCR0cmFuc2Zvcm1iYXNlbmFt
ZQorCWZpCisKKyMgZG9uJ3QgYWxsb3cgdGhlIHNlZCBjb21tYW5kIHRvIGNvbXBsZXRlbHkgZWxp
bWluYXRlIHRoZSBmaWxlbmFtZQorCisJaWYgWyB4IiRkc3RmaWxlIiA9IHggXSAKKwl0aGVuCisJ
CWRzdGZpbGU9YGJhc2VuYW1lICRkc3RgCisJZWxzZQorCQl0cnVlCisJZmkKKworIyBNYWtlIGEg
dGVtcCBmaWxlIG5hbWUgaW4gdGhlIHByb3BlciBkaXJlY3RvcnkuCisKKwlkc3R0bXA9JGRzdGRp
ci8jaW5zdC4kJCMKKworIyBNb3ZlIG9yIGNvcHkgdGhlIGZpbGUgbmFtZSB0byB0aGUgdGVtcCBu
YW1lCisKKwkkZG9pdCAkaW5zdGNtZCAkc3JjICRkc3R0bXAgJiYKKworCXRyYXAgInJtIC1mICR7
ZHN0dG1wfSIgMCAmJgorCisjIGFuZCBzZXQgYW55IG9wdGlvbnM7IGRvIGNobW9kIGxhc3QgdG8g
cHJlc2VydmUgc2V0dWlkIGJpdHMKKworIyBJZiBhbnkgb2YgdGhlc2UgZmFpbCwgd2UgYWJvcnQg
dGhlIHdob2xlIHRoaW5nLiAgSWYgd2Ugd2FudCB0bworIyBpZ25vcmUgZXJyb3JzIGZyb20gYW55
IG9mIHRoZXNlLCBqdXN0IG1ha2Ugc3VyZSBub3QgdG8gaWdub3JlCisjIGVycm9ycyBmcm9tIHRo
ZSBhYm92ZSAiJGRvaXQgJGluc3RjbWQgJHNyYyAkZHN0dG1wIiBjb21tYW5kLgorCisJaWYgWyB4
IiRjaG93bmNtZCIgIT0geCBdOyB0aGVuICRkb2l0ICRjaG93bmNtZCAkZHN0dG1wOyBlbHNlIHRy
dWU7ZmkgJiYKKwlpZiBbIHgiJGNoZ3JwY21kIiAhPSB4IF07IHRoZW4gJGRvaXQgJGNoZ3JwY21k
ICRkc3R0bXA7IGVsc2UgdHJ1ZTtmaSAmJgorCWlmIFsgeCIkc3RyaXBjbWQiICE9IHggXTsgdGhl
biAkZG9pdCAkc3RyaXBjbWQgJGRzdHRtcDsgZWxzZSB0cnVlO2ZpICYmCisJaWYgWyB4IiRjaG1v
ZGNtZCIgIT0geCBdOyB0aGVuICRkb2l0ICRjaG1vZGNtZCAkZHN0dG1wOyBlbHNlIHRydWU7Zmkg
JiYKKworIyBOb3cgcmVuYW1lIHRoZSBmaWxlIHRvIHRoZSByZWFsIGRlc3RpbmF0aW9uLgorCisJ
JGRvaXQgJHJtY21kIC1mICRkc3RkaXIvJGRzdGZpbGUgJiYKKwkkZG9pdCAkbXZjbWQgJGRzdHRt
cCAkZHN0ZGlyLyRkc3RmaWxlIAorCitmaSAmJgorCisKK2V4aXQgMApkaWZmIC11ck4gbGNkLTAu
Mi4xL2x0Y29uZmlnIGxjZC0wLjIuMS1uZXcvbHRjb25maWcKLS0tIGxjZC0wLjIuMS9sdGNvbmZp
ZwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgbGNkLTAuMi4xLW5ldy9s
dGNvbmZpZwkyMDA0LTEyLTIwIDA1OjAxOjQyLjYwMTcxNjI4MCArMDEwMApAQCAtMCwwICsxLDI4
MjIgQEAKKyMhIC9iaW4vc2gKKworIyBsdGNvbmZpZyAtIENyZWF0ZSBhIHN5c3RlbS1zcGVjaWZp
YyBsaWJ0b29sLgorIyBDb3B5cmlnaHQgKEMpIDE5OTYtMTk5OSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4KKyMgR29yZG9uIE1hdHppZ2tlaXQgPGdvcmRAZ251LmFpLm1pdC5lZHU+LCAx
OTk2CisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisjIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBG
cmVlIFNvZnR3YXJlCisjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRl
IDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisjCisjIEFzIGEgc3BlY2lhbCBleGNl
cHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpZiB5b3UKKyMgZGlzdHJp
YnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBjb250YWlucyBhCisjIGNv
bmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91IG1heSBpbmNsdWRl
IGl0IHVuZGVyCisjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9y
IHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKworIyBBIGxvdCBvZiB0aGlzIHNjcmlwdCBpcyB0
YWtlbiBmcm9tIGF1dG9jb25mLTIuMTAuCisKKyMgQ2hlY2sgdGhhdCB3ZSBhcmUgcnVubmluZyB1
bmRlciB0aGUgY29ycmVjdCBzaGVsbC4KK1NIRUxMPSR7Q09ORklHX1NIRUxMLS9iaW4vc2h9Citl
Y2hvPWVjaG8KK2lmIHRlc3QgIlgkMSIgPSBYLS1uby1yZWV4ZWM7IHRoZW4KKyAgIyBEaXNjYXJk
IHRoZSAtLW5vLXJlZXhlYyBmbGFnLCBhbmQgY29udGludWUuCisgIHNoaWZ0CitlbGlmIHRlc3Qg
IlgkMSIgPSBYLS1mYWxsYmFjay1lY2hvOyB0aGVuCisgICMgdXNlZCBhcyBmYWxsYmFjayBlY2hv
CisgIHNoaWZ0CisgIGNhdCA8PEVPRgorJCoKK0VPRgorICBleGl0IDAKK2VsaWYgdGVzdCAiWGAo
JGVjaG8gJ1x0JykgMj4vZGV2L251bGxgIiA9ICdYXHQnOyB0aGVuCisgICMgWWlwcGVlLCAkZWNo
byB3b3JrcyEKKyAgOgorZWxzZQorICAjIFJlc3RhcnQgdW5kZXIgdGhlIGNvcnJlY3Qgc2hlbGwu
CisgIGV4ZWMgIiRTSEVMTCIgIiQwIiAtLW5vLXJlZXhlYyAkezErIiRAIn0KK2ZpCisKKyMgRmlu
ZCB0aGUgY29ycmVjdCBQQVRIIHNlcGFyYXRvci4gIFVzdWFsbHkgdGhpcyBpcyBgOicsIGJ1dAor
IyBESkdQUCB1c2VzIGA7JyBsaWtlIERPUy4KK2lmIHRlc3QgIlgke1BBVEhfU0VQQVJBVE9SK3Nl
dH0iICE9ICJYc2V0IjsgdGhlbgorICBVTkFNRT0ke1VOQU1FLWB1bmFtZSAyPi9kZXYvbnVsbGB9
CisgIGNhc2UgWCRVTkFNRSBpbgorICAgICotRE9TKSBQQVRIX1NFUEFSQVRPUj0nOycgOzsKKyAg
ICAqKSAgICAgUEFUSF9TRVBBUkFUT1I9JzonIDs7CisgIGVzYWMKK2ZpCisKKyMgVGhlIEhQLVVY
IGtzaCBhbmQgUE9TSVggc2hlbGwgcHJpbnQgdGhlIHRhcmdldCBkaXJlY3RvcnkgdG8gc3Rkb3V0
CisjIGlmIENEUEFUSCBpcyBzZXQuCitpZiB0ZXN0ICIke0NEUEFUSCtzZXR9IiA9IHNldDsgdGhl
biBDRFBBVEg9OyBleHBvcnQgQ0RQQVRIOyBmaQorCitpZiB0ZXN0ICJYJHtlY2hvX3Rlc3Rfc3Ry
aW5nK3NldH0iICE9ICJYc2V0IjsgdGhlbgorICAjIGZpbmQgYSBzdHJpbmcgYXMgbGFyZ2UgYXMg
cG9zc2libGUsIGFzIGxvbmcgYXMgdGhlIHNoZWxsIGNhbiBjb3BlIHdpdGggaXQKKyAgZm9yIGNt
ZCBpbiAnc2VkIDUwcSAiJDAiJyAnc2VkIDIwcSAiJDAiJyAnc2VkIDEwcSAiJDAiJyAnc2VkIDJx
ICIkMCInICdlY2hvIHRlc3QnOyBkbworICAgICMgZXhwZWN0ZWQgc2l6ZXM6IGxlc3MgdGhhbiAy
S2IsIDFLYiwgNTEyIGJ5dGVzLCAxNiBieXRlcywgLi4uCisgICAgaWYgKGVjaG9fdGVzdF9zdHJp
bmc9ImBldmFsICRjbWRgIikgMj4vZGV2L251bGwgJiYKKyAgICAgICBlY2hvX3Rlc3Rfc3RyaW5n
PSJgZXZhbCAkY21kYCIgJiYKKyAgICAgICAodGVzdCAiWCRlY2hvX3Rlc3Rfc3RyaW5nIiA9ICJY
JGVjaG9fdGVzdF9zdHJpbmciKSAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAgYnJlYWsKKyAgICBm
aQorICBkb25lCitmaQorCitpZiB0ZXN0ICJYYCgkZWNobyAnXHQnKSAyPi9kZXYvbnVsbGAiICE9
ICdYXHQnIHx8CisgICB0ZXN0ICJYYCgkZWNobyAiJGVjaG9fdGVzdF9zdHJpbmciKSAyPi9kZXYv
bnVsbGAiICE9IFgiJGVjaG9fdGVzdF9zdHJpbmciOyB0aGVuCisgICMgVGhlIFNvbGFyaXMsIEFJ
WCwgYW5kIERpZ2l0YWwgVW5peCBkZWZhdWx0IGVjaG8gcHJvZ3JhbXMgdW5xdW90ZQorICAjIGJh
Y2tzbGFzaGVzLiAgVGhpcyBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIHF1b3RlIGJhY2tzbGFzaGVz
IHVzaW5nCisgICMgICBlY2hvICIkc29tZXRoaW5nIiB8IHNlZCAncy9cXC9cXFxcL2cnCisgICMK
KyAgIyBTbywgZmlyc3Qgd2UgbG9vayBmb3IgYSB3b3JraW5nIGVjaG8gaW4gdGhlIHVzZXIncyBQ
QVRILgorCisgIElGUz0iJHtJRlM9IAl9Ijsgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSR7
UEFUSF9TRVBBUkFUT1J9IgorICBmb3IgZGlyIGluICRQQVRIIC91c3IvdWNiOyBkbworICAgIGlm
IHRlc3QgLWYgJGRpci9lY2hvICYmCisgICAgICAgdGVzdCAiWGAoJGRpci9lY2hvICdcdCcpIDI+
L2Rldi9udWxsYCIgPSAnWFx0JyAmJgorICAgICAgIHRlc3QgIlhgKCRkaXIvZWNobyAiJGVjaG9f
dGVzdF9zdHJpbmciKSAyPi9kZXYvbnVsbGAiID0gWCIkZWNob190ZXN0X3N0cmluZyI7IHRoZW4K
KyAgICAgIGVjaG89IiRkaXIvZWNobyIKKyAgICAgIGJyZWFrCisgICAgZmkKKyAgZG9uZQorICBJ
RlM9IiRzYXZlX2lmcyIKKworICBpZiB0ZXN0ICJYJGVjaG8iID0gWGVjaG87IHRoZW4KKyAgICAj
IFdlIGRpZG4ndCBmaW5kIGEgYmV0dGVyIGVjaG8sIHNvIGxvb2sgZm9yIGFsdGVybmF0aXZlcy4K
KyAgICBpZiB0ZXN0ICJYYChwcmludCAtciAnXHQnKSAyPi9kZXYvbnVsbGAiID0gJ1hcdCcgJiYK
KyAgICAgICB0ZXN0ICJYYChwcmludCAtciAiJGVjaG9fdGVzdF9zdHJpbmciKSAyPi9kZXYvbnVs
bGAiID0gWCIkZWNob190ZXN0X3N0cmluZyI7IHRoZW4KKyAgICAgICMgVGhpcyBzaGVsbCBoYXMg
YSBidWlsdGluIHByaW50IC1yIHRoYXQgZG9lcyB0aGUgdHJpY2suCisgICAgICBlY2hvPSdwcmlu
dCAtcicKKyAgICBlbGlmIHRlc3QgLWYgL2Jpbi9rc2ggJiYgdGVzdCAiWCRDT05GSUdfU0hFTEwi
ICE9IFgvYmluL2tzaDsgdGhlbgorICAgICAgIyBJZiB3ZSBoYXZlIGtzaCwgdHJ5IHJ1bm5pbmcg
bHRjb25maWcgYWdhaW4gd2l0aCBpdC4KKyAgICAgIE9SSUdJTkFMX0NPTkZJR19TSEVMTD0iJHtD
T05GSUdfU0hFTEwtL2Jpbi9zaH0iCisgICAgICBleHBvcnQgT1JJR0lOQUxfQ09ORklHX1NIRUxM
CisgICAgICBDT05GSUdfU0hFTEw9L2Jpbi9rc2gKKyAgICAgIGV4cG9ydCBDT05GSUdfU0hFTEwK
KyAgICAgIGV4ZWMgIiRDT05GSUdfU0hFTEwiICIkMCIgLS1uby1yZWV4ZWMgJHsxKyIkQCJ9Cisg
ICAgZWxzZQorICAgICAgIyBUcnkgdXNpbmcgcHJpbnRmLgorICAgICAgZWNobz0ncHJpbnRmICIl
c1xuIicKKyAgICAgIGlmIHRlc3QgIlhgKCRlY2hvICdcdCcpIDI+L2Rldi9udWxsYCIgPSAnWFx0
JyAmJgorCSB0ZXN0ICJYYCgkZWNobyAiJGVjaG9fdGVzdF9zdHJpbmciKSAyPi9kZXYvbnVsbGAi
ID0gWCIkZWNob190ZXN0X3N0cmluZyI7IHRoZW4KKwkjIENvb2wsIHByaW50ZiB3b3JrcworCToK
KyAgICAgIGVsaWYgdGVzdCAiWGAoIiRPUklHSU5BTF9DT05GSUdfU0hFTEwiICIkMCIgLS1mYWxs
YmFjay1lY2hvICdcdCcpIDI+L2Rldi9udWxsYCIgPSAnWFx0JyAmJgorCSAgIHRlc3QgIlhgKCIk
T1JJR0lOQUxfQ09ORklHX1NIRUxMIiAiJDAiIC0tZmFsbGJhY2stZWNobyAiJGVjaG9fdGVzdF9z
dHJpbmciKSAyPi9kZXYvbnVsbGAiID0gWCIkZWNob190ZXN0X3N0cmluZyI7IHRoZW4KKwlDT05G
SUdfU0hFTEw9IiRPUklHSU5BTF9DT05GSUdfU0hFTEwiCisJZXhwb3J0IENPTkZJR19TSEVMTAor
CVNIRUxMPSIkQ09ORklHX1NIRUxMIgorCWV4cG9ydCBTSEVMTAorCWVjaG89IiRDT05GSUdfU0hF
TEwgJDAgLS1mYWxsYmFjay1lY2hvIgorICAgICAgZWxpZiB0ZXN0ICJYYCgiJENPTkZJR19TSEVM
TCIgIiQwIiAtLWZhbGxiYWNrLWVjaG8gJ1x0JykgMj4vZGV2L251bGxgIiA9ICdYXHQnICYmCisJ
ICAgdGVzdCAiWGAoIiRDT05GSUdfU0hFTEwiICIkMCIgLS1mYWxsYmFjay1lY2hvICIkZWNob190
ZXN0X3N0cmluZyIpIDI+L2Rldi9udWxsYCIgPSBYIiRlY2hvX3Rlc3Rfc3RyaW5nIjsgdGhlbgor
CWVjaG89IiRDT05GSUdfU0hFTEwgJDAgLS1mYWxsYmFjay1lY2hvIgorICAgICAgZWxzZQorCSMg
bWF5YmUgd2l0aCBhIHNtYWxsZXIgc3RyaW5nLi4uCisJcHJldj06CisKKwlmb3IgY21kIGluICdl
Y2hvIHRlc3QnICdzZWQgMnEgIiQwIicgJ3NlZCAxMHEgIiQwIicgJ3NlZCAyMHEgIiQwIicgJ3Nl
ZCA1MHEgIiQwIic7IGRvCisJICBpZiAodGVzdCAiWCRlY2hvX3Rlc3Rfc3RyaW5nIiA9ICJYYGV2
YWwgJGNtZGAiKSAyPi9kZXYvbnVsbDsgdGhlbgorCSAgICBicmVhaworCSAgZmkKKwkgIHByZXY9
IiRjbWQiCisJZG9uZQorCisJaWYgdGVzdCAiJHByZXYiICE9ICdzZWQgNTBxICIkMCInOyB0aGVu
CisJICBlY2hvX3Rlc3Rfc3RyaW5nPWBldmFsICRwcmV2YAorCSAgZXhwb3J0IGVjaG9fdGVzdF9z
dHJpbmcKKwkgIGV4ZWMgIiR7T1JJR0lOQUxfQ09ORklHX1NIRUxMfSIgIiQwIiAkezErIiRAIn0K
KwllbHNlCisJICAjIE9vcHMuICBXZSBsb3N0IGNvbXBsZXRlbHksIHNvIGp1c3Qgc3RpY2sgd2l0
aCBlY2hvLgorCSAgZWNobz1lY2hvCisJZmkKKyAgICAgIGZpCisgICAgZmkKKyAgZmkKK2ZpCisK
KyMgU2VkIHN1YnN0aXR1dGlvbiB0aGF0IGhlbHBzIHVzIGRvIHJvYnVzdCBxdW90aW5nLiAgSXQg
YmFja3NsYXNoaWZpZXMKKyMgbWV0YWNoYXJhY3RlcnMgdGhhdCBhcmUgc3RpbGwgYWN0aXZlIHdp
dGhpbiBkb3VibGUtcXVvdGVkIHN0cmluZ3MuCitYc2VkPSdzZWQgLWUgcy9eWC8vJworc2VkX3F1
b3RlX3N1YnN0PSdzL1woW1xcIlxcYCRcXFxcXVwpL1xcXDEvZycKKworIyBTYW1lIGFzIGFib3Zl
LCBidXQgZG8gbm90IHF1b3RlIHZhcmlhYmxlIHJlZmVyZW5jZXMuCitkb3VibGVfcXVvdGVfc3Vi
c3Q9J3MvXChbXFwiXFxgXFxcXF1cKS9cXFwxL2cnCisKKyMgU2VkIHN1YnN0aXR1dGlvbiB0byBk
ZWxheSBleHBhbnNpb24gb2YgYW4gZXNjYXBlZCBzaGVsbCB2YXJpYWJsZSBpbiBhCisjIGRvdWJs
ZV9xdW90ZV9zdWJzdCdlZCBzdHJpbmcuCitkZWxheV92YXJpYWJsZV9zdWJzdD0ncy9cXFxcXFxc
XFxcXCQvXFxcXFxcJC9nJworCisjIFRoZSBuYW1lIG9mIHRoaXMgcHJvZ3JhbS4KK3Byb2duYW1l
PWAkZWNobyAiWCQwIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCisKKyMgQ29uc3RhbnRzOgorUFJP
R1JBTT1sdGNvbmZpZworUEFDS0FHRT1saWJ0b29sCitWRVJTSU9OPTEuMmYKK1RJTUVTVEFNUD0i
ICgxLjM4NSAxOTk5LzAzLzE1IDE3OjI0OjU0KSIKK2FjX2NvbXBpbGU9JyR7Q0MtY2N9IC1jICRD
RkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LmMgMT4mNScKK2FjX2xpbms9JyR7Q0MtY2N9IC1vIGNv
bmZ0ZXN0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LmMgJExJQlMgMT4mNScK
K3JtPSJybSAtZiIKKworaGVscD0iVHJ5IFxgJHByb2duYW1lIC0taGVscCcgZm9yIG1vcmUgaW5m
b3JtYXRpb24uIgorCisjIEdsb2JhbCB2YXJpYWJsZXM6CitkZWZhdWx0X29maWxlPWxpYnRvb2wK
K2Nhbl9idWlsZF9zaGFyZWQ9eWVzCitlbmFibGVfc2hhcmVkPXllcworIyBBbGwga25vd24gbGlu
a2VycyByZXF1aXJlIGEgYC5hJyBhcmNoaXZlIGZvciBzdGF0aWMgbGlua2luZy4KK2VuYWJsZV9z
dGF0aWM9eWVzCitlbmFibGVfZmFzdF9pbnN0YWxsPXllcworZW5hYmxlX2Rsb3Blbj11bmtub3du
CitsdG1haW49CitzaWxlbnQ9CitzcmNkaXI9CithY19jb25maWdfZ3Vlc3M9CithY19jb25maWdf
c3ViPQoraG9zdD0KK25vbm9wdD0KK29maWxlPSIkZGVmYXVsdF9vZmlsZSIKK3ZlcmlmeV9ob3N0
PXllcword2l0aF9nY2M9bm8KK3dpdGhfZ251X2xkPW5vCituZWVkX2xvY2tzPXllcworYWNfZXh0
PWMKK29iamV4dD1vCitsaWJleHQ9YQorY2FjaGVfZmlsZT0KKworb2xkX0FSPSIkQVIiCitvbGRf
Q0M9IiRDQyIKK29sZF9DRkxBR1M9IiRDRkxBR1MiCitvbGRfQ1BQRkxBR1M9IiRDUFBGTEFHUyIK
K29sZF9MRD0iJExEIgorb2xkX0xOX1M9IiRMTl9TIgorb2xkX05NPSIkTk0iCitvbGRfUkFOTElC
PSIkUkFOTElCIgorb2xkX0RMTFRPT0w9IiRETExUT09MIgorb2xkX0FTPSIkQVMiCisKKyMgUGFy
c2UgdGhlIGNvbW1hbmQgbGluZSBvcHRpb25zLgorYXJncz0KK3ByZXY9Citmb3Igb3B0aW9uCitk
bworICBjYXNlICIkb3B0aW9uIiBpbgorICAtKj0qKSBvcHRhcmc9YGVjaG8gIiRvcHRpb24iIHwg
c2VkICdzL1stX2EtekEtWjAtOV0qPS8vJ2AgOzsKKyAgKikgb3B0YXJnPSA7OworICBlc2FjCisK
KyAgIyBJZiB0aGUgcHJldmlvdXMgb3B0aW9uIG5lZWRzIGFuIGFyZ3VtZW50LCBhc3NpZ24gaXQu
CisgIGlmIHRlc3QgLW4gIiRwcmV2IjsgdGhlbgorICAgIGV2YWwgIiRwcmV2PVwkb3B0aW9uIgor
ICAgIHByZXY9CisgICAgY29udGludWUKKyAgZmkKKworICBjYXNlICIkb3B0aW9uIiBpbgorICAt
LWhlbHApIGNhdCA8PEVPTQorVXNhZ2U6ICRwcm9nbmFtZSBbT1BUSU9OXS4uLiBbSE9TVCBbTFRN
QUlOXV0KKworR2VuZXJhdGUgYSBzeXN0ZW0tc3BlY2lmaWMgbGlidG9vbCBzY3JpcHQuCisKKyAg
ICAtLWRlYnVnICAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIHNoZWxsIHRyYWNpbmcKKyAg
ICAtLWRpc2FibGUtc2hhcmVkICAgICAgIGRvIG5vdCBidWlsZCBzaGFyZWQgbGlicmFyaWVzCisg
ICAgLS1kaXNhYmxlLXN0YXRpYyAgICAgICBkbyBub3QgYnVpbGQgc3RhdGljIGxpYnJhcmllcwor
ICAgIC0tZGlzYWJsZS1mYXN0LWluc3RhbGwgZG8gbm90IG9wdGltaXplIGZvciBmYXN0IGluc3Rh
bGxhdGlvbgorICAgIC0tZW5hYmxlLWRsb3BlbiAgICAgICAgZW5hYmxlIGRsb3BlbiBzdXBwb3J0
CisgICAgLS1lbmFibGUtZGxvcGVuLXNlbGYgICBlbmFibGUgc3VwcG9ydCBmb3IgZGxvcGVuaW5n
IHByb2dyYW1zCisgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBh
bmQgZXhpdAorICAgIC0tbm8tdmVyaWZ5ICAgICAgICAgICAgZG8gbm90IHZlcmlmeSB0aGF0IEhP
U1QgaXMgYSB2YWxpZCBob3N0IHR5cGUKKy1vLCAtLW91dHB1dD1GSUxFICAgICAgICAgIHNwZWNp
ZnkgdGhlIG91dHB1dCBmaWxlIFtkZWZhdWx0PSRkZWZhdWx0X29maWxlXQorICAgIC0tcXVpZXQg
ICAgICAgICAgICAgICAgc2FtZSBhcyBcYC0tc2lsZW50JworICAgIC0tc2lsZW50ICAgICAgICAg
ICAgICAgZG8gbm90IHByaW50IGluZm9ybWF0aW9uYWwgbWVzc2FnZXMKKyAgICAtLXNyY2Rpcj1E
SVIgICAgICAgICAgIGZpbmQgXGBjb25maWcuZ3Vlc3MnIGluIERJUgorICAgIC0tdmVyc2lvbiAg
ICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQKKyAgICAtLXdp
dGgtZ2NjICAgICAgICAgICAgIGFzc3VtZSB0aGF0IHRoZSBHTlUgQyBjb21waWxlciB3aWxsIGJl
IHVzZWQKKyAgICAtLXdpdGgtZ251LWxkICAgICAgICAgIGFzc3VtZSB0aGF0IHRoZSBDIGNvbXBp
bGVyIHVzZXMgdGhlIEdOVSBsaW5rZXIKKyAgICAtLWRpc2FibGUtbG9jayAgICAgICAgIGRpc2Fi
bGUgZmlsZSBsb2NraW5nCisgICAgLS1jYWNoZS1maWxlPUZJTEUgICAgICBjb25maWd1cmUgY2Fj
aGUgZmlsZQorCitMVE1BSU4gaXMgdGhlIFxgbHRtYWluLnNoJyBzaGVsbCBzY3JpcHQgZnJhZ21l
bnQgb3IgXGBsdG1haW4uYycgcHJvZ3JhbQordGhhdCBwcm92aWRlcyBiYXNpYyBsaWJ0b29sIGZ1
bmN0aW9uYWxpdHkuCisKK0hPU1QgaXMgdGhlIGNhbm9uaWNhbCBob3N0IHN5c3RlbSBuYW1lIFtk
ZWZhdWx0PWd1ZXNzZWRdLgorRU9NCisgIGV4aXQgMAorICA7OworCisgIC0tZGVidWcpCisgICAg
ZWNobyAiJHByb2duYW1lOiBlbmFibGluZyBzaGVsbCB0cmFjZSBtb2RlIgorICAgIHNldCAteAor
ICAgIDs7CisKKyAgLS1kaXNhYmxlLXNoYXJlZCkgZW5hYmxlX3NoYXJlZD1ubyA7OworCisgIC0t
ZGlzYWJsZS1zdGF0aWMpIGVuYWJsZV9zdGF0aWM9bm8gOzsKKworICAtLWRpc2FibGUtZmFzdC1p
bnN0YWxsKSBlbmFibGVfZmFzdF9pbnN0YWxsPW5vIDs7CisKKyAgLS1lbmFibGUtZGxvcGVuKSBl
bmFibGVfZGxvcGVuPXllcyA7OworCisgIC0tcXVpZXQgfCAtLXNpbGVudCkgc2lsZW50PXllcyA7
OworCisgIC0tc3JjZGlyKSBwcmV2PXNyY2RpciA7OworICAtLXNyY2Rpcj0qKSBzcmNkaXI9IiRv
cHRhcmciIDs7CisKKyAgLS1uby12ZXJpZnkpIHZlcmlmeV9ob3N0PW5vIDs7CisKKyAgLS1vdXRw
dXQgfCAtbykgcHJldj1vZmlsZSA7OworICAtLW91dHB1dD0qKSBvZmlsZT0iJG9wdGFyZyIgOzsK
KworICAtLXZlcnNpb24pIGVjaG8gIiRQUk9HUkFNIChHTlUgJFBBQ0tBR0UpICRWRVJTSU9OJFRJ
TUVTVEFNUCI7IGV4aXQgMCA7OworCisgIC0td2l0aC1nY2MpIHdpdGhfZ2NjPXllcyA7OworICAt
LXdpdGgtZ251LWxkKSB3aXRoX2dudV9sZD15ZXMgOzsKKworICAtLWRpc2FibGUtbG9jaykgbmVl
ZF9sb2Nrcz1ubyA7OworCisgIC0tY2FjaGUtZmlsZT0qKSBjYWNoZV9maWxlPSIkb3B0YXJnIiA7
OworCisgIC0qKQorICAgIGVjaG8gIiRwcm9nbmFtZTogdW5yZWNvZ25pemVkIG9wdGlvbiBcYCRv
cHRpb24nIiAxPiYyCisgICAgZWNobyAiJGhlbHAiIDE+JjIKKyAgICBleGl0IDEKKyAgICA7Owor
CisgICopCisgICAgaWYgdGVzdCAteiAiJGx0bWFpbiI7IHRoZW4KKyAgICAgIGx0bWFpbj0iJG9w
dGlvbiIKKyAgICBlbGlmIHRlc3QgLXogIiRob3N0IjsgdGhlbgorIyBUaGlzIGdlbmVyYXRlcyBh
biB1bm5lY2Vzc2FyeSB3YXJuaW5nIGZvciBzcGFyYy1zdW4tc29sYXJpczQuMS4zX1UxCisjICAg
ICAgaWYgdGVzdCAtbiAiYGVjaG8gJG9wdGlvbnwgc2VkICdzL1stYS16MC05Ll0vL2cnYCI7IHRo
ZW4KKyMgICAgICAgIGVjaG8gIiRwcm9nbmFtZTogd2FybmluZyBcYCRvcHRpb24nIGlzIG5vdCBh
IHZhbGlkIGhvc3QgdHlwZSIgMT4mMgorIyAgICAgIGZpCisgICAgICBob3N0PSIkb3B0aW9uIgor
ICAgIGVsc2UKKyAgICAgIGVjaG8gIiRwcm9nbmFtZTogdG9vIG1hbnkgYXJndW1lbnRzIiAxPiYy
CisgICAgICBlY2hvICIkaGVscCIgMT4mMgorICAgICAgZXhpdCAxCisgICAgZmkgOzsKKyAgZXNh
YworZG9uZQorCitpZiB0ZXN0IC16ICIkbHRtYWluIjsgdGhlbgorICBlY2hvICIkcHJvZ25hbWU6
IHlvdSBtdXN0IHNwZWNpZnkgYSBMVE1BSU4gZmlsZSIgMT4mMgorICBlY2hvICIkaGVscCIgMT4m
MgorICBleGl0IDEKK2ZpCisKK2lmIHRlc3QgISAtZiAiJGx0bWFpbiI7IHRoZW4KKyAgZWNobyAi
JHByb2duYW1lOiBcYCRsdG1haW4nIGRvZXMgbm90IGV4aXN0IiAxPiYyCisgIGVjaG8gIiRoZWxw
IiAxPiYyCisgIGV4aXQgMQorZmkKKworIyBRdW90ZSBhbnkgYXJncyBjb250YWluaW5nIHNoZWxs
IG1ldGFjaGFyYWN0ZXJzLgorbHRjb25maWdfYXJncz0KK2ZvciBhcmcKK2RvCisgIGNhc2UgIiRh
cmciIGluCisgICoiICIqfCoiCSIqfCpbXFtcXVx+XCNcJFxeXCZcKlwoXClce1x9XFxcfFw7XDxc
Plw/XSopCisgIGx0Y29uZmlnX2FyZ3M9IiRsdGNvbmZpZ19hcmdzICckYXJnJyIgOzsKKyAgKikg
bHRjb25maWdfYXJncz0iJGx0Y29uZmlnX2FyZ3MgJGFyZyIgOzsKKyAgZXNhYworZG9uZQorCisj
IEEgcmVsZXZhbnQgc3Vic2V0IG9mIEFDX0lOSVQuCisKKyMgRmlsZSBkZXNjcmlwdG9yIHVzYWdl
OgorIyAwIHN0YW5kYXJkIGlucHV0CisjIDEgZmlsZSBjcmVhdGlvbgorIyAyIGVycm9ycyBhbmQg
d2FybmluZ3MKKyMgMyBzb21lIHN5c3RlbXMgbWF5IG9wZW4gaXQgdG8gL2Rldi90dHkKKyMgNCB1
c2VkIG9uIHRoZSBLdWJvdGEgVGl0YW4KKyMgNSBjb21waWxlciBtZXNzYWdlcyBzYXZlZCBpbiBj
b25maWcubG9nCisjIDYgY2hlY2tpbmcgZm9yLi4uIG1lc3NhZ2VzIGFuZCByZXN1bHRzCitpZiB0
ZXN0ICIkc2lsZW50IiA9IHllczsgdGhlbgorICBleGVjIDY+L2Rldi9udWxsCitlbHNlCisgIGV4
ZWMgNj4mMQorZmkKK2V4ZWMgNT4+Li9jb25maWcubG9nCisKKyMgTkxTIG51aXNhbmNlcy4KKyMg
T25seSBzZXQgTEFORyBhbmQgTENfQUxMIHRvIEMgaWYgYWxyZWFkeSBzZXQuCisjIFRoZXNlIG11
c3Qgbm90IGJlIHNldCB1bmNvbmRpdGlvbmFsbHkgYmVjYXVzZSBub3QgYWxsIHN5c3RlbXMgdW5k
ZXJzdGFuZAorIyBlLmcuIExBTkc9QyAobm90YWJseSBTQ08pLgoraWYgdGVzdCAiJHtMQ19BTEwr
c2V0fSIgPSBzZXQ7IHRoZW4gTENfQUxMPUM7IGV4cG9ydCBMQ19BTEw7IGZpCitpZiB0ZXN0ICIk
e0xBTkcrc2V0fSIgICA9IHNldDsgdGhlbiBMQU5HPUM7ICAgZXhwb3J0IExBTkc7ICAgZmkKKwor
aWYgdGVzdCAtbiAiJGNhY2hlX2ZpbGUiICYmIHRlc3QgLXIgIiRjYWNoZV9maWxlIjsgdGhlbgor
ICBlY2hvICJsb2FkaW5nIGNhY2hlICRjYWNoZV9maWxlIHdpdGhpbiBsdGNvbmZpZyIKKyAgLiAk
Y2FjaGVfZmlsZQorZmkKKworaWYgKGVjaG8gInRlc3RpbmdcYyI7IGVjaG8gMSwyLDMpIHwgZ3Jl
cCBjID4vZGV2L251bGw7IHRoZW4KKyAgIyBTdGFyZGVudCBWaXN0cmEgU1ZSNCBncmVwIGxhY2tz
IC1lLCBzYXlzIGdoYXppQGNhaXAucnV0Z2Vycy5lZHUuCisgIGlmIChlY2hvIC1uIHRlc3Rpbmc7
IGVjaG8gMSwyLDMpIHwgc2VkIHMvLW4veG4vIHwgZ3JlcCB4biA+L2Rldi9udWxsOyB0aGVuCisg
ICAgYWNfbj0gYWNfYz0nCisnIGFjX3Q9JwknCisgIGVsc2UKKyAgICBhY19uPS1uIGFjX2M9IGFj
X3Q9CisgIGZpCitlbHNlCisgIGFjX249IGFjX2M9J1xjJyBhY190PQorZmkKKworaWYgdGVzdCAt
eiAiJHNyY2RpciI7IHRoZW4KKyAgIyBBc3N1bWUgdGhlIHNvdXJjZSBkaXJlY3RvcnkgaXMgdGhl
IHNhbWUgb25lIGFzIHRoZSBwYXRoIHRvIExUTUFJTi4KKyAgc3JjZGlyPWAkZWNobyAiWCRsdG1h
aW4iIHwgJFhzZWQgLWUgJ3MlL1teL10qJCUlJ2AKKyAgdGVzdCAiJHNyY2RpciIgPSAiJGx0bWFp
biIgJiYgc3JjZGlyPS4KK2ZpCisKK3RyYXAgIiRybSBjb25mdGVzdCo7IGV4aXQgMSIgMSAyIDE1
CitpZiB0ZXN0ICIkdmVyaWZ5X2hvc3QiID0geWVzOyB0aGVuCisgICMgQ2hlY2sgZm9yIGNvbmZp
Zy5ndWVzcyBhbmQgY29uZmlnLnN1Yi4KKyAgYWNfYXV4X2Rpcj0KKyAgZm9yIGFjX2RpciBpbiAk
c3JjZGlyICRzcmNkaXIvLi4gJHNyY2Rpci8uLi8uLjsgZG8KKyAgICBpZiB0ZXN0IC1mICRhY19k
aXIvY29uZmlnLmd1ZXNzOyB0aGVuCisgICAgICBhY19hdXhfZGlyPSRhY19kaXIKKyAgICAgIGJy
ZWFrCisgICAgZmkKKyAgZG9uZQorICBpZiB0ZXN0IC16ICIkYWNfYXV4X2RpciI7IHRoZW4KKyAg
ICBlY2hvICIkcHJvZ25hbWU6IGNhbm5vdCBmaW5kIGNvbmZpZy5ndWVzcyBpbiAkc3JjZGlyICRz
cmNkaXIvLi4gJHNyY2Rpci8uLi8uLiIgMT4mMgorICAgIGVjaG8gIiRoZWxwIiAxPiYyCisgICAg
ZXhpdCAxCisgIGZpCisgIGFjX2NvbmZpZ19ndWVzcz0kYWNfYXV4X2Rpci9jb25maWcuZ3Vlc3MK
KyAgYWNfY29uZmlnX3N1Yj0kYWNfYXV4X2Rpci9jb25maWcuc3ViCisKKyAgIyBNYWtlIHN1cmUg
d2UgY2FuIHJ1biBjb25maWcuc3ViLgorICBpZiAkU0hFTEwgJGFjX2NvbmZpZ19zdWIgc3VuNCA+
L2Rldi9udWxsIDI+JjE7IHRoZW4gOgorICBlbHNlCisgICAgZWNobyAiJHByb2duYW1lOiBjYW5u
b3QgcnVuICRhY19jb25maWdfc3ViIiAxPiYyCisgICAgZWNobyAiJGhlbHAiIDE+JjIKKyAgICBl
eGl0IDEKKyAgZmkKKworICBlY2hvICRhY19uICJjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlIiIu
Li4gJGFjX2MiIDE+JjYKKworICBob3N0X2FsaWFzPSRob3N0CisgIGNhc2UgIiRob3N0X2FsaWFz
IiBpbgorICAiIikKKyAgICBpZiBob3N0X2FsaWFzPWAkU0hFTEwgJGFjX2NvbmZpZ19ndWVzc2A7
IHRoZW4gOgorICAgIGVsc2UKKyAgICAgIGVjaG8gIiRwcm9nbmFtZTogY2Fubm90IGd1ZXNzIGhv
c3QgdHlwZTsgeW91IG11c3Qgc3BlY2lmeSBvbmUiIDE+JjIKKyAgICAgIGVjaG8gIiRoZWxwIiAx
PiYyCisgICAgICBleGl0IDEKKyAgICBmaSA7OworICBlc2FjCisgIGhvc3Q9YCRTSEVMTCAkYWNf
Y29uZmlnX3N1YiAkaG9zdF9hbGlhc2AKKyAgZWNobyAiJGFjX3QkaG9zdCIgMT4mNgorCisgICMg
TWFrZSBzdXJlIHRoZSBob3N0IHZlcmlmaWVkLgorICB0ZXN0IC16ICIkaG9zdCIgJiYgZXhpdCAx
CisKK2VsaWYgdGVzdCAteiAiJGhvc3QiOyB0aGVuCisgIGVjaG8gIiRwcm9nbmFtZTogeW91IG11
c3Qgc3BlY2lmeSBhIGhvc3QgdHlwZSBpZiB5b3UgdXNlIFxgLS1uby12ZXJpZnknIiAxPiYyCisg
IGVjaG8gIiRoZWxwIiAxPiYyCisgIGV4aXQgMQorZWxzZQorICBob3N0X2FsaWFzPSRob3N0Citm
aQorCisjIFRyYW5zZm9ybSBsaW51eCogdG8gKi0qLWxpbnV4LWdudSosIHRvIHN1cHBvcnQgb2xk
IGNvbmZpZ3VyZSBzY3JpcHRzLgorY2FzZSAiJGhvc3Rfb3MiIGluCitsaW51eC1nbnUqKSA7Owor
bGludXgqKSBob3N0PWBlY2hvICRob3N0IHwgc2VkICdzL15cKC4qLS4qLWxpbnV4XClcKC4qXCkk
L1wxLWdudVwyLydgCitlc2FjCisKK2hvc3RfY3B1PWBlY2hvICRob3N0IHwgc2VkICdzL15cKFte
LV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDEvJ2AKK2hvc3RfdmVuZG9yPWBlY2hvICRob3N0IHwg
c2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDIvJ2AKK2hvc3Rfb3M9YGVjaG8g
JGhvc3QgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMy8nYAorCitjYXNl
ICIkaG9zdF9vcyIgaW4KK2FpeDMqKQorICAjIEFJWCBzb21ldGltZXMgaGFzIHByb2JsZW1zIHdp
dGggdGhlIEdDQyBjb2xsZWN0MiBwcm9ncmFtLiAgRm9yIHNvbWUKKyAgIyByZWFzb24sIGlmIHdl
IHNldCB0aGUgQ09MTEVDVF9OQU1FUyBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHByb2JsZW1z
CisgICMgdmFuaXNoIGluIGEgcHVmZiBvZiBzbW9rZS4KKyAgaWYgdGVzdCAiJHtDT0xMRUNUX05B
TUVTK3NldH0iICE9IHNldDsgdGhlbgorICAgIENPTExFQ1RfTkFNRVM9CisgICAgZXhwb3J0IENP
TExFQ1RfTkFNRVMKKyAgZmkKKyAgOzsKK2VzYWMKKworIyBEZXRlcm1pbmUgY29tbWFuZHMgdG8g
Y3JlYXRlIG9sZC1zdHlsZSBzdGF0aWMgYXJjaGl2ZXMuCitvbGRfYXJjaGl2ZV9jbWRzPSckQVIg
Y3J1ICRvbGRsaWIkb2xkb2JqcycKK29sZF9wb3N0aW5zdGFsbF9jbWRzPSdjaG1vZCA2NDQgJG9s
ZGxpYicKK29sZF9wb3N0dW5pbnN0YWxsX2NtZHM9CisKKyMgU2V0IGEgc2FuZSBkZWZhdWx0IGZv
ciBgQVInLgordGVzdCAteiAiJEFSIiAmJiBBUj1hcgorCisjIElmIFJBTkxJQiBpcyBub3Qgc2V0
LCB0aGVuIHJ1biB0aGUgdGVzdC4KK2lmIHRlc3QgIiR7UkFOTElCK3NldH0iICE9ICJzZXQiOyB0
aGVuCisgIHJlc3VsdD1ubworCisgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciByYW5saWIuLi4g
JGFjX2MiIDE+JjYKKyAgSUZTPSIke0lGUz0gCX0iOyBzYXZlX2lmcz0iJElGUyI7IElGUz0iJHtJ
RlN9JHtQQVRIX1NFUEFSQVRPUn0iCisgIGZvciBkaXIgaW4gJFBBVEg7IGRvCisgICAgdGVzdCAt
eiAiJGRpciIgJiYgZGlyPS4KKyAgICBpZiB0ZXN0IC1mICRkaXIvcmFubGliOyB0aGVuCisgICAg
ICBSQU5MSUI9InJhbmxpYiIKKyAgICAgIHJlc3VsdD0icmFubGliIgorICAgICAgYnJlYWsKKyAg
ICBmaQorICBkb25lCisgIElGUz0iJHNhdmVfaWZzIgorCisgIGVjaG8gIiRhY190JHJlc3VsdCIg
MT4mNgorZmkKKworaWYgdGVzdCAtbiAiJFJBTkxJQiI7IHRoZW4KKyAgb2xkX2FyY2hpdmVfY21k
cz0iJG9sZF9hcmNoaXZlX2NtZHN+XCRSQU5MSUIgXCRvbGRsaWIiCisgIG9sZF9wb3N0aW5zdGFs
bF9jbWRzPSJcJFJBTkxJQiBcJG9sZGxpYn4kb2xkX3Bvc3RpbnN0YWxsX2NtZHMiCitmaQorCisj
IFNldCBzYW5lIGRlZmF1bHRzIGZvciBgRExMVE9PTCcgYW5kIGBBUycsIHVzZWQgb24gY3lnd2lu
LgordGVzdCAteiAiJERMTFRPT0wiICYmIERMTFRPT0w9ZGxsdG9vbAordGVzdCAteiAiJEFTIiAm
JiBBUz1hcworCisjIENoZWNrIHRvIHNlZSBpZiB3ZSBhcmUgdXNpbmcgR0NDLgoraWYgdGVzdCAi
JHdpdGhfZ2NjIiAhPSB5ZXMgfHwgdGVzdCAteiAiJENDIjsgdGhlbgorICAjIElmIENDIGlzIG5v
dCBzZXQsIHRoZW4gdHJ5IHRvIGZpbmQgR0NDIG9yIGEgdXNhYmxlIENDLgorICBpZiB0ZXN0IC16
ICIkQ0MiOyB0aGVuCisgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGdjYy4uLiAkYWNfYyIg
MT4mNgorICAgIElGUz0iJHtJRlM9IAl9Ijsgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IiR7SUZTfSR7
UEFUSF9TRVBBUkFUT1J9IgorICAgIGZvciBkaXIgaW4gJFBBVEg7IGRvCisgICAgICBJRlM9IiRz
YXZlX2lmcyIKKyAgICAgIHRlc3QgLXogIiRkaXIiICYmIGRpcj0uCisgICAgICBpZiB0ZXN0IC1m
ICRkaXIvZ2NjOyB0aGVuCisJQ0M9ImdjYyIKKwlicmVhaworICAgICAgZmkKKyAgICBkb25lCisg
ICAgSUZTPSIkc2F2ZV9pZnMiCisKKyAgICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgICAgICBl
Y2hvICIkYWNfdCRDQyIgMT4mNgorICAgIGVsc2UKKyAgICAgIGVjaG8gIiRhY190Im5vIDE+JjYK
KyAgICBmaQorICBmaQorCisgICMgTm90ICJnY2MiLCBzbyB0cnkgImNjIiwgcmVqZWN0aW5nICIv
dXNyL3VjYi9jYyIuCisgIGlmIHRlc3QgLXogIiRDQyI7IHRoZW4KKyAgICBlY2hvICRhY19uICJj
aGVja2luZyBmb3IgY2MuLi4gJGFjX2MiIDE+JjYKKyAgICBJRlM9IiR7SUZTPSAJfSI7IHNhdmVf
aWZzPSIkSUZTIjsgSUZTPSIke0lGU30ke1BBVEhfU0VQQVJBVE9SfSIKKyAgICBjY19yZWplY3Rl
ZD1ubworICAgIGZvciBkaXIgaW4gJFBBVEg7IGRvCisgICAgICB0ZXN0IC16ICIkZGlyIiAmJiBk
aXI9LgorICAgICAgaWYgdGVzdCAtZiAkZGlyL2NjOyB0aGVuCisJaWYgdGVzdCAiJGRpci9jYyIg
PSAiL3Vzci91Y2IvY2MiOyB0aGVuCisJICBjY19yZWplY3RlZD15ZXMKKwkgIGNvbnRpbnVlCisJ
ZmkKKwlDQz0iY2MiCisJYnJlYWsKKyAgICAgIGZpCisgICAgZG9uZQorICAgIElGUz0iJHNhdmVf
aWZzIgorICAgIGlmIHRlc3QgJGNjX3JlamVjdGVkID0geWVzOyB0aGVuCisgICAgICAjIFdlIGZv
dW5kIGEgYm9nb24gaW4gdGhlIHBhdGgsIHNvIG1ha2Ugc3VyZSB3ZSBuZXZlciB1c2UgaXQuCisg
ICAgICBzZXQgZHVtbXkgJENDCisgICAgICBzaGlmdAorICAgICAgaWYgdGVzdCAkIyAtZ3QgMDsg
dGhlbgorCSMgV2UgY2hvc2UgYSBkaWZmZXJlbnQgY29tcGlsZXIgZnJvbSB0aGUgYm9ndXMgb25l
LgorCSMgSG93ZXZlciwgaXQgaGFzIHRoZSBzYW1lIG5hbWUsIHNvIHRoZSBib2dvbiB3aWxsIGJl
IGNob3NlbgorCSMgZmlyc3QgaWYgd2Ugc2V0IENDIHRvIGp1c3QgdGhlIG5hbWU7IHVzZSB0aGUg
ZnVsbCBmaWxlIG5hbWUuCisJc2hpZnQKKwlzZXQgZHVtbXkgIiRkaXIvY2MiICIkQCIKKwlzaGlm
dAorCUNDPSIkQCIKKyAgICAgIGZpCisgICAgZmkKKworICAgIGlmIHRlc3QgLW4gIiRDQyI7IHRo
ZW4KKyAgICAgIGVjaG8gIiRhY190JENDIiAxPiY2CisgICAgZWxzZQorICAgICAgZWNobyAiJGFj
X3Qibm8gMT4mNgorICAgIGZpCisKKyAgICBpZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCisgICAgICBl
Y2hvICIkcHJvZ25hbWU6IGVycm9yOiBubyBhY2NlcHRhYmxlIGNjIGZvdW5kIGluIFwkUEFUSCIg
MT4mMgorICAgICAgZXhpdCAxCisgICAgZmkKKyAgZmkKKworICAjIE5vdyBzZWUgaWYgdGhlIGNv
bXBpbGVyIGlzIHJlYWxseSBHQ0MuCisgIHdpdGhfZ2NjPW5vCisgIGVjaG8gJGFjX24gImNoZWNr
aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDLi4uICRhY19jIiAxPiY2CisgIGVjaG8gIiRw
cm9nbmFtZTo1NjQ6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDIiA+JjUKKwor
ICAkcm0gY29uZnRlc3QuYworICBjYXQgPiBjb25mdGVzdC5jIDw8RU9GCisjaWZkZWYgX19HTlVD
X18KKyAgeWVzOworI2VuZGlmCitFT0YKKyAgaWYgeyBhY190cnk9JyR7Q0MtY2N9IC1FIGNvbmZ0
ZXN0LmMnOyB7IChldmFsIGVjaG8gJHByb2duYW1lOjU3MjogXCIkYWNfdHJ5XCIpIDE+JjU7IChl
dmFsICRhY190cnkpIDI+JjU7IH07IH0gfCBlZ3JlcCB5ZXMgPi9kZXYvbnVsbCAyPiYxOyB0aGVu
CisgICAgd2l0aF9nY2M9eWVzCisgIGZpCisgICRybSBjb25mdGVzdC5jCisgIGVjaG8gIiRhY190
JHdpdGhfZ2NjIiAxPiY2CitmaQorCisjIEFsbG93IENDIHRvIGJlIGEgcHJvZ3JhbSBuYW1lIHdp
dGggYXJndW1lbnRzLgorc2V0IGR1bW15ICRDQworY29tcGlsZXI9IiQyIgorCitlY2hvICRhY19u
ICJjaGVja2luZyBmb3Igb2JqZWN0IHN1ZmZpeC4uLiAkYWNfYyIgMT4mNgorJHJtIGNvbmZ0ZXN0
KgorZWNobyAnaW50IGkgPSAxOycgPiBjb25mdGVzdC5jCitlY2hvICIkcHJvZ25hbWU6NTg2OiBj
aGVja2luZyBmb3Igb2JqZWN0IHN1ZmZpeCIgPiYgNQoraWYgeyAoZXZhbCBlY2hvICRwcm9nbmFt
ZTo1ODc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29uZnRl
c3QuZXJyOyB9OyB0aGVuCisgICMgQXBwZW5kIGFueSB3YXJuaW5ncyB0byB0aGUgY29uZmlnLmxv
Zy4KKyAgY2F0IGNvbmZ0ZXN0LmVyciAxPiY1CisKKyAgZm9yIGFjX2ZpbGUgaW4gY29uZnRlc3Qu
KjsgZG8KKyAgICBjYXNlICRhY19maWxlIGluCisgICAgKi5jKSA7OworICAgICopIG9iamV4dD1g
ZWNobyAkYWNfZmlsZSB8IHNlZCAtZSBzL2NvbmZ0ZXN0Li8vYCA7OworICAgIGVzYWMKKyAgZG9u
ZQorZWxzZQorICBjYXQgY29uZnRlc3QuZXJyIDE+JjUKKyAgZWNobyAiJHByb2duYW1lOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKyAgY2F0IGNvbmZ0ZXN0LmMgPiY1CitmaQorJHJtIGNvbmZ0
ZXN0KgorZWNobyAiJGFjX3Qkb2JqZXh0IiAxPiY2CisKK2VjaG8gJGFjX24gImNoZWNraW5nIGZv
ciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICRhY19jIiAxPiY2CitwaWNfZmxh
Zz0KK3NwZWNpYWxfc2hsaWJfY29tcGlsZV9mbGFncz0KK3dsPQorbGlua19zdGF0aWNfZmxhZz0K
K25vX2J1aWx0aW5fZmxhZz0KKworaWYgdGVzdCAiJHdpdGhfZ2NjIiA9IHllczsgdGhlbgorICB3
bD0nLVdsLCcKKyAgbGlua19zdGF0aWNfZmxhZz0nLXN0YXRpYycKKworICBjYXNlICIkaG9zdF9v
cyIgaW4KKyAgYmVvcyogfCBpcml4NSogfCBpcml4NiogfCBvc2YzKiB8IG9zZjQqKQorICAgICMg
UElDIGlzIHRoZSBkZWZhdWx0IGZvciB0aGVzZSBPU2VzLgorICAgIDs7CisgIGFpeCopCisgICAg
IyBCZWxvdyB0aGVyZSBpcyBhIGRpcnR5IGhhY2sgdG8gZm9yY2Ugbm9ybWFsIHN0YXRpYyBsaW5r
aW5nIHdpdGggLWxkbAorICAgICMgVGhlIHByb2JsZW0gaXMgYmVjYXVzZSBsaWJkbCBkeW5hbWlj
YWxseSBsaW5rZWQgd2l0aCBib3RoIGxpYmMgYW5kCisgICAgIyBsaWJDIChBSVggQysrIGxpYnJh
cnkpLCB3aGljaCBvYnZpb3VzbHkgZG9lc24ndCBpbmNsdWRlZCBpbiBsaWJyYXJpZXMKKyAgICAj
IGxpc3QgYnkgZ2NjLiBUaGlzIGNhdXNlIHVuZGVmaW5lZCBzeW1ib2xzIHdpdGggLXN0YXRpYyBm
bGFncy4KKyAgICAjIFRoaXMgaGFjayBhbGxvd3MgQyBwcm9ncmFtcyB0byBiZSBsaW5rZWQgd2l0
aCAiLXN0YXRpYyAtbGRsIiwgYnV0CisgICAgIyB3ZSBub3Qgc3VyZSBhYm91dCBDKysgcHJvZ3Jh
bXMuCisgICAgbGlua19zdGF0aWNfZmxhZz0iJGxpbmtfc3RhdGljX2ZsYWcgJHt3bH0tbEMiCisg
ICAgOzsKKyAgY3lnd2luKiB8IG1pbmd3KiB8IG9zMiopCisgICAgIyBXZSBjYW4gYnVpbGQgRExM
cyBmcm9tIG5vbi1QSUMuCisgICAgOzsKKyAgYW1pZ2FvcyopCisgICAgIyBGSVhNRTogd2UgbmVl
ZCBhdCBsZWFzdCA2ODAyMCBjb2RlIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMsIGJ1dAorICAg
ICMgYWRkaW5nIHRoZSBgLW02ODAyMCcgZmxhZyB0byBHQ0MgcHJldmVudHMgYnVpbGRpbmcgYW55
dGhpbmcgYmV0dGVyLAorICAgICMgbGlrZSBgLW02ODA0MCcuCisgICAgcGljX2ZsYWc9Jy1tNjgw
MjAgLXJlc2lkZW50MzIgLW1hbHdheXMtcmVzdG9yZS1hNCcKKyAgICA7OworICAqKQorICAgIHBp
Y19mbGFnPSctZlBJQycKKyAgICA7OworICBlc2FjCitlbHNlCisgICMgUE9SVE1FIENoZWNrIGZv
ciBQSUMgZmxhZ3MgZm9yIHRoZSBzeXN0ZW0gY29tcGlsZXIuCisgIGNhc2UgIiRob3N0X29zIiBp
bgorICBhaXgzKiB8IGFpeDQqKQorICAgICMgQWxsIEFJWCBjb2RlIGlzIFBJQy4KKyAgICBsaW5r
X3N0YXRpY19mbGFnPSctYm5zbyAtYkk6L2xpYi9zeXNjYWxscy5leHAnCisgICAgOzsKKworICBo
cHV4OSogfCBocHV4MTAqIHwgaHB1eDExKikKKyAgICAjIElzIHRoZXJlIGEgYmV0dGVyIGxpbmtf
c3RhdGljX2ZsYWcgdGhhdCB3b3JrcyB3aXRoIHRoZSBidW5kbGVkIENDPworICAgIHdsPSctV2ws
JworICAgIGxpbmtfc3RhdGljX2ZsYWc9IiR7d2x9LWEgJHt3bH1hcmNoaXZlIgorICAgIHBpY19m
bGFnPScrWicKKyAgICA7OworCisgIGlyaXg1KiB8IGlyaXg2KikKKyAgICB3bD0nLVdsLCcKKyAg
ICBsaW5rX3N0YXRpY19mbGFnPSctbm9uX3NoYXJlZCcKKyAgICAjIFBJQyAod2l0aCAtS1BJQykg
aXMgdGhlIGRlZmF1bHQuCisgICAgOzsKKworICBjeWd3aW4qIHwgbWluZ3cqIHwgb3MyKikKKyAg
ICAjIFdlIGNhbiBidWlsZCBETExzIGZyb20gbm9uLVBJQy4KKyAgICA7OworCisgIG9zZjMqIHwg
b3NmNCopCisgICAgIyBBbGwgT1NGLzEgY29kZSBpcyBQSUMuCisgICAgd2w9Jy1XbCwnCisgICAg
bGlua19zdGF0aWNfZmxhZz0nLW5vbl9zaGFyZWQnCisgICAgOzsKKworICBzY28zLjJ2NSopCisg
ICAgcGljX2ZsYWc9Jy1LcGljJworICAgIGxpbmtfc3RhdGljX2ZsYWc9Jy1kbicKKyAgICBzcGVj
aWFsX3NobGliX2NvbXBpbGVfZmxhZ3M9Jy1iZWxmJworICAgIDs7CisKKyAgc29sYXJpcyopCisg
ICAgcGljX2ZsYWc9Jy1LUElDJworICAgIGxpbmtfc3RhdGljX2ZsYWc9Jy1Cc3RhdGljJworICAg
IHdsPSctV2wsJworICAgIDs7CisKKyAgc3Vub3M0KikKKyAgICBwaWNfZmxhZz0nLVBJQycKKyAg
ICBsaW5rX3N0YXRpY19mbGFnPSctQnN0YXRpYycKKyAgICB3bD0nLVFvcHRpb24gbGQgJworICAg
IDs7CisKKyAgc3lzdjQuMnV3MiogfCBzeXN2NC4zKiB8IHN5c3Y1KikKKyAgICBwaWNfZmxhZz0n
LUtQSUMnCisgICAgbGlua19zdGF0aWNfZmxhZz0nLUJzdGF0aWMnCisgICAgd2w9Jy1XbCwnCisg
ICAgOzsKKworICB1dHM0KikKKyAgICBwaWNfZmxhZz0nLXBpYycKKyAgICBsaW5rX3N0YXRpY19m
bGFnPSctQnN0YXRpYycKKyAgICA7OworCisgICopCisgICAgY2FuX2J1aWxkX3NoYXJlZD1ubwor
ICAgIDs7CisgIGVzYWMKK2ZpCisKK2lmIHRlc3QgLW4gIiRwaWNfZmxhZyI7IHRoZW4KKyAgZWNo
byAiJGFjX3QkcGljX2ZsYWciIDE+JjYKKworICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGlj
X2ZsYWcgYWN0dWFsbHkgd29ya3MuCisgIGVjaG8gJGFjX24gImNoZWNraW5nIGlmICRjb21waWxl
ciBQSUMgZmxhZyAkcGljX2ZsYWcgd29ya3MuLi4gJGFjX2MiIDE+JjYKKyAgJHJtIGNvbmZ0ZXN0
KgorICBlY2hvICJpbnQgc29tZV92YXJpYWJsZSA9IDA7IiA+IGNvbmZ0ZXN0LmMKKyAgc2F2ZV9D
RkxBR1M9IiRDRkxBR1MiCisgIENGTEFHUz0iJENGTEFHUyAkcGljX2ZsYWcgLURQSUMiCisgIGVj
aG8gIiRwcm9nbmFtZTo3MTc6IGNoZWNraW5nIGlmICRjb21waWxlciBQSUMgZmxhZyAkcGljX2Zs
YWcgd29ya3MiID4mNQorICBpZiB7IChldmFsIGVjaG8gJHByb2duYW1lOjcxODogXCIkYWNfY29t
cGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25mdGVzdC5lcnI7IH0gJiYgdGVz
dCAtcyBjb25mdGVzdC4kb2JqZXh0OyB0aGVuCisgICAgIyBBcHBlbmQgYW55IHdhcm5pbmdzIHRv
IHRoZSBjb25maWcubG9nLgorICAgIGNhdCBjb25mdGVzdC5lcnIgMT4mNQorICAgIAorICAgIGNh
c2UgIiRob3N0X29zIiBpbgorICAgIGhwdXg5KiB8IGhwdXgxMCogfCBocHV4MTEqKQorICAgICAg
IyBPbiBIUC1VWCwgYm90aCBDQyBhbmQgR0NDIG9ubHkgd2FybiB0aGF0IFBJQyBpcyBzdXBwb3J0
ZWQuLi4gdGhlbiB0aGV5CisgICAgICAjIGNyZWF0ZSBub24tUElDIG9iamVjdHMuICBTbywgaWYg
dGhlcmUgd2VyZSBhbnkgd2FybmluZ3MsIHdlIGFzc3VtZSB0aGF0CisgICAgICAjIFBJQyBpcyBu
b3Qgc3VwcG9ydGVkLgorICAgICAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKwllY2hv
ICIkYWNfdCJubyAxPiY2CisJY2FuX2J1aWxkX3NoYXJlZD1ubworCXBpY19mbGFnPQorICAgICAg
ZWxzZQorCWVjaG8gIiRhY190InllcyAxPiY2CisJcGljX2ZsYWc9IiAkcGljX2ZsYWciCisgICAg
ICBmaQorICAgICAgOzsKKyAgICAqKQorICAgICAgZWNobyAiJGFjX3QieWVzIDE+JjYKKyAgICAg
IHBpY19mbGFnPSIgJHBpY19mbGFnIgorICAgICAgOzsKKyAgICBlc2FjCisgIGVsc2UKKyAgICAj
IEFwcGVuZCBhbnkgZXJyb3JzIHRvIHRoZSBjb25maWcubG9nLgorICAgIGNhdCBjb25mdGVzdC5l
cnIgMT4mNQorICAgIGNhbl9idWlsZF9zaGFyZWQ9bm8KKyAgICBwaWNfZmxhZz0KKyAgICBlY2hv
ICIkYWNfdCJubyAxPiY2CisgIGZpCisgIENGTEFHUz0iJHNhdmVfQ0ZMQUdTIgorICAkcm0gY29u
ZnRlc3QqCitlbHNlCisgIGVjaG8gIiRhY190Im5vbmUgMT4mNgorZmkKKworIyBDaGVjayB0byBz
ZWUgaWYgb3B0aW9ucyAtbyBhbmQgLWMgYXJlIHNpbXVsdGFuZW91c2x5IHN1cHBvcnRlZCBieSBj
b21waWxlcgorZWNobyAkYWNfbiAiY2hlY2tpbmcgaWYgJGNvbXBpbGVyIHN1cHBvcnRzIC1jIC1v
IGZpbGUuby4uLiAkYWNfYyIgMT4mNgorJHJtIGNvbmZ0ZXN0KgorZWNobyAiaW50IHNvbWVfdmFy
aWFibGUgPSAwOyIgPiBjb25mdGVzdC5jCitzYXZlX0NGTEFHUz0iJENGTEFHUyIKK0NGTEFHUz0i
JENGTEFHUyAtYyAtbyBjb25mdGVzdDIubyIKK2VjaG8gIiRwcm9nbmFtZTo3NjA6IGNoZWNraW5n
IGlmICRjb21waWxlciBzdXBwb3J0cyAtYyAtbyBmaWxlLm8iID4mNQoraWYgeyAoZXZhbCBlY2hv
ICRwcm9nbmFtZTo3NjE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUp
IDI+Y29uZnRlc3QuZXJyOyB9ICYmIHRlc3QgLXMgY29uZnRlc3QyLm87IHRoZW4KKworICAjIFRo
ZSBjb21waWxlciBjYW4gb25seSB3YXJuIGFuZCBpZ25vcmUgdGhlIG9wdGlvbiBpZiBub3QgcmVj
b2duaXplZAorICAjIFNvIHNheSBubyBpZiB0aGVyZSBhcmUgd2FybmluZ3MKKyAgICBpZiB0ZXN0
IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgorICAgICAgZWNobyAiJGFjX3Qibm8gMT4mNgorICAgICAg
Y29tcGlsZXJfY19vPW5vCisgICAgZWxzZQorICAgICAgZWNobyAiJGFjX3QieWVzIDE+JjYKKyAg
ICAgIGNvbXBpbGVyX2Nfbz15ZXMKKyAgICBmaQorZWxzZQorICAjIEFwcGVuZCBhbnkgZXJyb3Jz
IHRvIHRoZSBjb25maWcubG9nLgorICBjYXQgY29uZnRlc3QuZXJyIDE+JjUKKyAgY29tcGlsZXJf
Y19vPW5vCisgIGVjaG8gIiRhY190Im5vIDE+JjYKK2ZpCitDRkxBR1M9IiRzYXZlX0NGTEFHUyIK
KyRybSBjb25mdGVzdCoKKworaWYgdGVzdCB4IiRjb21waWxlcl9jX28iID0geCJ5ZXMiOyB0aGVu
CisgICMgQ2hlY2sgdG8gc2VlIGlmIHdlIGNhbiB3cml0ZSB0byBhIC5sbworICBlY2hvICRhY19u
ICJjaGVja2luZyBpZiAkY29tcGlsZXIgc3VwcG9ydHMgLWMgLW8gZmlsZS5sby4uLiAkYWNfYyIg
MT4mNgorICAkcm0gY29uZnRlc3QqCisgIGVjaG8gImludCBzb21lX3ZhcmlhYmxlID0gMDsiID4g
Y29uZnRlc3QuYworICBzYXZlX0NGTEFHUz0iJENGTEFHUyIKKyAgQ0ZMQUdTPSIkQ0ZMQUdTIC1j
IC1vIGNvbmZ0ZXN0LmxvIgorICBlY2hvICIkcHJvZ25hbWU6Nzg4OiBjaGVja2luZyBpZiAkY29t
cGlsZXIgc3VwcG9ydHMgLWMgLW8gZmlsZS5sbyIgPiY1CitpZiB7IChldmFsIGVjaG8gJHByb2du
YW1lOjc4OTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj5jb25m
dGVzdC5lcnI7IH0gJiYgdGVzdCAtcyBjb25mdGVzdC5sbzsgdGhlbgorCisgICAgIyBUaGUgY29t
cGlsZXIgY2FuIG9ubHkgd2FybiBhbmQgaWdub3JlIHRoZSBvcHRpb24gaWYgbm90IHJlY29nbml6
ZWQKKyAgICAjIFNvIHNheSBubyBpZiB0aGVyZSBhcmUgd2FybmluZ3MKKyAgICAgIGlmIHRlc3Qg
LXMgY29uZnRlc3QuZXJyOyB0aGVuCisJZWNobyAiJGFjX3Qibm8gMT4mNgorCWNvbXBpbGVyX29f
bG89bm8KKyAgICAgIGVsc2UKKwllY2hvICIkYWNfdCJ5ZXMgMT4mNgorCWNvbXBpbGVyX29fbG89
eWVzCisgICAgICBmaQorICBlbHNlCisgICAgIyBBcHBlbmQgYW55IGVycm9ycyB0byB0aGUgY29u
ZmlnLmxvZy4KKyAgICBjYXQgY29uZnRlc3QuZXJyIDE+JjUKKyAgICBjb21waWxlcl9vX2xvPW5v
CisgICAgZWNobyAiJGFjX3Qibm8gMT4mNgorICBmaQorICBDRkxBR1M9IiRzYXZlX0NGTEFHUyIK
KyAgJHJtIGNvbmZ0ZXN0KgorZWxzZQorICBjb21waWxlcl9vX2xvPW5vCitmaQorCisjIENoZWNr
IHRvIHNlZSBpZiB3ZSBjYW4gZG8gaGFyZCBsaW5rcyB0byBsb2NrIHNvbWUgZmlsZXMgaWYgbmVl
ZGVkCitoYXJkX2xpbmtzPSJub3R0ZXN0ZWQiCitpZiB0ZXN0ICIkY29tcGlsZXJfY19vIiA9IG5v
ICYmIHRlc3QgIiRuZWVkX2xvY2tzIiAhPSBubzsgdGhlbgorICAjIGRvIG5vdCBvdmVyd3JpdGUg
dGhlIHZhbHVlIG9mIG5lZWRfbG9ja3MgcHJvdmlkZWQgYnkgdGhlIHVzZXIKKyAgZWNobyAkYWNf
biAiY2hlY2tpbmcgaWYgd2UgY2FuIGxvY2sgd2l0aCBoYXJkIGxpbmtzLi4uICRhY19jIiAxPiY2
CisgIGhhcmRfbGlua3M9eWVzCisgICRybSBjb25mdGVzdCoKKyAgbG4gY29uZnRlc3QuYSBjb25m
dGVzdC5iIDI+L2Rldi9udWxsICYmIGhhcmRfbGlua3M9bm8KKyAgdG91Y2ggY29uZnRlc3QuYQor
ICBsbiBjb25mdGVzdC5hIGNvbmZ0ZXN0LmIgMj4mNSB8fCBoYXJkX2xpbmtzPW5vCisgIGxuIGNv
bmZ0ZXN0LmEgY29uZnRlc3QuYiAyPi9kZXYvbnVsbCAmJiBoYXJkX2xpbmtzPW5vCisgIGVjaG8g
IiRhY190JGhhcmRfbGlua3MiIDE+JjYKKyAgJHJtIGNvbmZ0ZXN0KgorICBpZiB0ZXN0ICIkaGFy
ZF9saW5rcyIgPSBubzsgdGhlbgorICAgIGVjaG8gIioqKiBXQVJOSU5HOiBcYCRDQycgZG9lcyBu
b3Qgc3VwcG9ydCBcYC1jIC1vJywgc28gXGBtYWtlIC1qJyBtYXkgYmUgdW5zYWZlIiA+JjIKKyAg
ICBuZWVkX2xvY2tzPXdhcm4KKyAgZmkKK2Vsc2UKKyAgbmVlZF9sb2Nrcz1ubworZmkKKworaWYg
dGVzdCAiJHdpdGhfZ2NjIiA9IHllczsgdGhlbgorICAjIENoZWNrIHRvIHNlZSBpZiBvcHRpb25z
IC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMgYXJlIHN1cHBvcnRlZCBieSBjb21waWxlcgorICBl
Y2hvICRhY19uICJjaGVja2luZyBpZiAkY29tcGlsZXIgc3VwcG9ydHMgLWZuby1ydHRpIC1mbm8t
ZXhjZXB0aW9ucyAuLi4gJGFjX2MiIDE+JjYKKyAgJHJtIGNvbmZ0ZXN0KgorICBlY2hvICJpbnQg
c29tZV92YXJpYWJsZSA9IDA7IiA+IGNvbmZ0ZXN0LmMKKyAgc2F2ZV9DRkxBR1M9IiRDRkxBR1Mi
CisgIENGTEFHUz0iJENGTEFHUyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zIC1jIGNvbmZ0ZXN0
LmMiCisgIGVjaG8gIiRwcm9nbmFtZTo4NDA6IGNoZWNraW5nIGlmICRjb21waWxlciBzdXBwb3J0
cyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zIiA+JjUKKyAgaWYgeyAoZXZhbCBlY2hvICRwcm9n
bmFtZTo4NDE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+Y29u
ZnRlc3QuZXJyOyB9ICYmIHRlc3QgLXMgY29uZnRlc3QubzsgdGhlbgorCisgICAgIyBUaGUgY29t
cGlsZXIgY2FuIG9ubHkgd2FybiBhbmQgaWdub3JlIHRoZSBvcHRpb24gaWYgbm90IHJlY29nbml6
ZWQKKyAgICAjIFNvIHNheSBubyBpZiB0aGVyZSBhcmUgd2FybmluZ3MKKyAgICAgIGlmIHRlc3Qg
LXMgY29uZnRlc3QuZXJyOyB0aGVuCisJZWNobyAiJGFjX3Qibm8gMT4mNgorCWNvbXBpbGVyX3J0
dGlfZXhjZXB0aW9ucz1ubworICAgICAgZWxzZQorCWVjaG8gIiRhY190InllcyAxPiY2CisJY29t
cGlsZXJfcnR0aV9leGNlcHRpb25zPXllcworICAgICAgZmkKKyAgZWxzZQorICAgICMgQXBwZW5k
IGFueSBlcnJvcnMgdG8gdGhlIGNvbmZpZy5sb2cuCisgICAgY2F0IGNvbmZ0ZXN0LmVyciAxPiY1
CisgICAgY29tcGlsZXJfcnR0aV9leGNlcHRpb25zPW5vCisgICAgZWNobyAiJGFjX3Qibm8gMT4m
NgorICBmaQorICBDRkxBR1M9IiRzYXZlX0NGTEFHUyIKKyAgJHJtIGNvbmZ0ZXN0KgorCisgIGlm
IHRlc3QgIiRjb21waWxlcl9ydHRpX2V4Y2VwdGlvbnMiID0gInllcyI7IHRoZW4KKyAgICBub19i
dWlsdGluX2ZsYWc9JyAtZm5vLWJ1aWx0aW4gLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucycKKyAg
ZWxzZQorICAgIG5vX2J1aWx0aW5fZmxhZz0nIC1mbm8tYnVpbHRpbicKKyAgZmkKKyAgCitmaQor
CisjIENoZWNrIGZvciBhbnkgc3BlY2lhbCBzaGFyZWQgbGlicmFyeSBjb21waWxhdGlvbiBmbGFn
cy4KK2lmIHRlc3QgLW4gIiRzcGVjaWFsX3NobGliX2NvbXBpbGVfZmxhZ3MiOyB0aGVuCisgIGVj
aG8gIiRwcm9nbmFtZTogd2FybmluZzogXGAkQ0MnIHJlcXVpcmVzIFxgJHNwZWNpYWxfc2hsaWJf
Y29tcGlsZV9mbGFncycgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcyIgMT4mMgorICBpZiBlY2hv
ICIkb2xkX0NDICRvbGRfQ0ZMQUdTICIgfCBlZ3JlcCAtZSAiWyAJXSRzcGVjaWFsX3NobGliX2Nv
bXBpbGVfZmxhZ3NbIAldIiA+L2Rldi9udWxsOyB0aGVuIDoKKyAgZWxzZQorICAgIGVjaG8gIiRw
cm9nbmFtZTogYWRkIFxgJHNwZWNpYWxfc2hsaWJfY29tcGlsZV9mbGFncycgdG8gdGhlIENDIG9y
IENGTEFHUyBlbnYgdmFyaWFibGUgYW5kIHJlY29uZmlndXJlIiAxPiYyCisgICAgY2FuX2J1aWxk
X3NoYXJlZD1ubworICBmaQorZmkKKworZWNobyAkYWNfbiAiY2hlY2tpbmcgaWYgJGNvbXBpbGVy
IHN0YXRpYyBmbGFnICRsaW5rX3N0YXRpY19mbGFnIHdvcmtzLi4uICRhY19jIiAxPiY2Ciskcm0g
Y29uZnRlc3QqCitlY2hvICdtYWluKCl7cmV0dXJuKDApO30nID4gY29uZnRlc3QuYworc2F2ZV9M
REZMQUdTPSIkTERGTEFHUyIKK0xERkxBR1M9IiRMREZMQUdTICRsaW5rX3N0YXRpY19mbGFnIgor
ZWNobyAiJHByb2duYW1lOjg4NDogY2hlY2tpbmcgaWYgJGNvbXBpbGVyIHN0YXRpYyBmbGFnICRs
aW5rX3N0YXRpY19mbGFnIHdvcmtzIiA+JjUKK2lmIHsgKGV2YWwgZWNobyAkcHJvZ25hbWU6ODg1
OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMg
Y29uZnRlc3Q7IHRoZW4KKyAgZWNobyAiJGFjX3QkbGlua19zdGF0aWNfZmxhZyIgMT4mNgorZWxz
ZQorICBlY2hvICIkYWNfdCJub25lIDE+JjYKKyAgbGlua19zdGF0aWNfZmxhZz0KK2ZpCitMREZM
QUdTPSIkc2F2ZV9MREZMQUdTIgorJHJtIGNvbmZ0ZXN0KgorCitpZiB0ZXN0IC16ICIkTE5fUyI7
IHRoZW4KKyAgIyBDaGVjayB0byBzZWUgaWYgd2UgY2FuIHVzZSBsbiAtcywgb3Igd2UgbmVlZCBo
YXJkIGxpbmtzLgorICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzLi4u
ICRhY19jIiAxPiY2CisgICRybSBjb25mdGVzdGRhdGEKKyAgaWYgbG4gLXMgWCBjb25mdGVzdGRh
dGEgMj4vZGV2L251bGw7IHRoZW4KKyAgICAkcm0gY29uZnRlc3RkYXRhCisgICAgTE5fUz0ibG4g
LXMiCisgIGVsc2UKKyAgICBMTl9TPWxuCisgIGZpCisgIGlmIHRlc3QgIiRMTl9TIiA9ICJsbiAt
cyI7IHRoZW4KKyAgICBlY2hvICIkYWNfdCJ5ZXMgMT4mNgorICBlbHNlCisgICAgZWNobyAiJGFj
X3Qibm8gMT4mNgorICBmaQorZmkKKworIyBNYWtlIHN1cmUgTEQgaXMgYW4gYWJzb2x1dGUgcGF0
aC4KK2lmIHRlc3QgLXogIiRMRCI7IHRoZW4KKyAgYWNfcHJvZz1sZAorICBpZiB0ZXN0ICIkd2l0
aF9nY2MiID0geWVzOyB0aGVuCisgICAgIyBDaGVjayBpZiBnY2MgLXByaW50LXByb2ctbmFtZT1s
ZCBnaXZlcyBhIHBhdGguCisgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkg
R0NDLi4uICRhY19jIiAxPiY2CisgICAgZWNobyAiJHByb2duYW1lOjkxNzogY2hlY2tpbmcgZm9y
IGxkIHVzZWQgYnkgR0NDIiA+JjUKKyAgICBhY19wcm9nPWAoJENDIC1wcmludC1wcm9nLW5hbWU9
bGQpIDI+JjVgCisgICAgY2FzZSAiJGFjX3Byb2ciIGluCisgICAgIyBBY2NlcHQgYWJzb2x1dGUg
cGF0aHMuCisgICAgLyogfCBbQS1aYS16XTpbXFwvXSopCisgICAgICByZV9kaXJlbHQ9Jy9bXi9d
W14vXSovXC5cLi8nCisgICAgICAjIENhbm9uaWNhbGl6ZSB0aGUgcGF0aCBvZiBsZAorICAgICAg
YWNfcHJvZz1gZWNobyAkYWNfcHJvZ3wgc2VkICdzJVxcXFwlLyVnJ2AKKyAgICAgIHdoaWxlIGVj
aG8gJGFjX3Byb2cgfCBncmVwICIkcmVfZGlyZWx0IiA+IC9kZXYvbnVsbCAyPiYxOyBkbworCWFj
X3Byb2c9YGVjaG8gJGFjX3Byb2d8IHNlZCAicyUkcmVfZGlyZWx0JS8lImAKKyAgICAgIGRvbmUK
KyAgICAgIHRlc3QgLXogIiRMRCIgJiYgTEQ9IiRhY19wcm9nIgorICAgICAgOzsKKyAgICAiIikK
KyAgICAgICMgSWYgaXQgZmFpbHMsIHRoZW4gcHJldGVuZCB3ZSBhcmUgbm90IHVzaW5nIEdDQy4K
KyAgICAgIGFjX3Byb2c9bGQKKyAgICAgIDs7CisgICAgKikKKyAgICAgICMgSWYgaXQgaXMgcmVs
YXRpdmUsIHRoZW4gc2VhcmNoIGZvciB0aGUgZmlyc3QgbGQgaW4gUEFUSC4KKyAgICAgIHdpdGhf
Z251X2xkPXVua25vd24KKyAgICAgIDs7CisgICAgZXNhYworICBlbGlmIHRlc3QgIiR3aXRoX2du
dV9sZCIgPSB5ZXM7IHRoZW4KKyAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgR05VIGxkLi4u
ICRhY19jIiAxPiY2CisgICAgZWNobyAiJHByb2duYW1lOjk0MTogY2hlY2tpbmcgZm9yIEdOVSBs
ZCIgPiY1CisgIGVsc2UKKyAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3Igbm9uLUdOVSBsZCIi
Li4uICRhY19jIiAxPiY2CisgICAgZWNobyAiJHByb2duYW1lOjk0NDogY2hlY2tpbmcgZm9yIG5v
bi1HTlUgbGQiID4mNQorICBmaQorCisgIGlmIHRlc3QgLXogIiRMRCI7IHRoZW4KKyAgICBJRlM9
IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSIke0lGU30ke1BBVEhfU0VQQVJB
VE9SfSIKKyAgICBmb3IgYWNfZGlyIGluICRQQVRIOyBkbworICAgICAgdGVzdCAteiAiJGFjX2Rp
ciIgJiYgYWNfZGlyPS4KKyAgICAgIGlmIHRlc3QgLWYgIiRhY19kaXIvJGFjX3Byb2ciOyB0aGVu
CisJTEQ9IiRhY19kaXIvJGFjX3Byb2ciCisJIyBDaGVjayB0byBzZWUgaWYgdGhlIHByb2dyYW0g
aXMgR05VIGxkLiAgSSdkIHJhdGhlciB1c2UgLS12ZXJzaW9uLAorCSMgYnV0IGFwcGFyZW50bHkg
c29tZSBHTlUgbGQncyBvbmx5IGFjY2VwdCAtdi4KKwkjIEJyZWFrIG9ubHkgaWYgaXQgd2FzIHRo
ZSBHTlUvbm9uLUdOVSBsZCB0aGF0IHdlIHByZWZlci4KKwlpZiAiJExEIiAtdiAyPiYxIDwgL2Rl
di9udWxsIHwgZWdyZXAgJyhHTlV8d2l0aCBCRkQpJyA+IC9kZXYvbnVsbDsgdGhlbgorCSAgdGVz
dCAiJHdpdGhfZ251X2xkIiAhPSBubyAmJiBicmVhaworCWVsc2UKKwkgIHRlc3QgIiR3aXRoX2du
dV9sZCIgIT0geWVzICYmIGJyZWFrCisJZmkKKyAgICAgIGZpCisgICAgZG9uZQorICAgIElGUz0i
JGFjX3NhdmVfaWZzIgorICBmaQorCisgIGlmIHRlc3QgLW4gIiRMRCI7IHRoZW4KKyAgICBlY2hv
ICIkYWNfdCRMRCIgMT4mNgorICBlbHNlCisgICAgZWNobyAiJGFjX3Qibm8gMT4mNgorICBmaQor
CisgIGlmIHRlc3QgLXogIiRMRCI7IHRoZW4KKyAgICBlY2hvICIkcHJvZ25hbWU6IGVycm9yOiBu
byBhY2NlcHRhYmxlIGxkIGZvdW5kIGluIFwkUEFUSCIgMT4mMgorICAgIGV4aXQgMQorICBmaQor
ZmkKKworIyBDaGVjayB0byBzZWUgaWYgaXQgcmVhbGx5IGlzIG9yIGlzIG5vdCBHTlUgbGQuCitl
Y2hvICRhY19uICJjaGVja2luZyBpZiB0aGUgbGlua2VyICgkTEQpIGlzIEdOVSBsZC4uLiAkYWNf
YyIgMT4mNgorIyBJJ2QgcmF0aGVyIHVzZSAtLXZlcnNpb24gaGVyZSwgYnV0IGFwcGFyZW50bHkg
c29tZSBHTlUgbGQncyBvbmx5IGFjY2VwdCAtdi4KK2lmICRMRCAtdiAyPiYxIDwvZGV2L251bGwg
fCBlZ3JlcCAnKEdOVXx3aXRoIEJGRCknIDE+JjU7IHRoZW4KKyAgd2l0aF9nbnVfbGQ9eWVzCitl
bHNlCisgIHdpdGhfZ251X2xkPW5vCitmaQorZWNobyAiJGFjX3Qkd2l0aF9nbnVfbGQiIDE+JjYK
KworIyBTZWUgaWYgdGhlIGxpbmtlciBzdXBwb3J0cyBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVz
LgorZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgbGlua2VyICgkTEQpIHN1cHBvcnRz
IHNoYXJlZCBsaWJyYXJpZXMuLi4gJGFjX2MiIDE+JjYKKworYWxsb3dfdW5kZWZpbmVkX2ZsYWc9
Citub191bmRlZmluZWRfZmxhZz0KK25lZWRfbGliX3ByZWZpeD11bmtub3duCituZWVkX3ZlcnNp
b249dW5rbm93bgorIyB3aGVuIHlvdSBzZXQgbmVlZF92ZXJzaW9uIHRvIG5vLCBtYWtlIHN1cmUg
aXQgZG9lcyBub3QgY2F1c2UgLXNldF92ZXJzaW9uCisjIGZsYWdzIHRvIGJlIGxlZnQgd2l0aG91
dCBhcmd1bWVudHMKK2FyY2hpdmVfY21kcz0KK2FyY2hpdmVfZXhwc3ltX2NtZHM9CitvbGRfYXJj
aGl2ZV9mcm9tX25ld19jbWRzPQorZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPQord2hvbGVfYXJj
aGl2ZV9mbGFnX3NwZWM9Cit0aHJlYWRfc2FmZV9mbGFnX3NwZWM9CitoYXJkY29kZV9saWJkaXJf
ZmxhZ19zcGVjPQoraGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcj0KK2hhcmRjb2RlX2RpcmVjdD1u
bworaGFyZGNvZGVfbWludXNfTD1ubworaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj11bnN1cHBvcnRl
ZAorcnVucGF0aF92YXI9CithbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KK2V4cG9ydF9zeW1ib2xz
X2NtZHM9JyROTSAkbGlib2JqcyB8ICRnbG9iYWxfc3ltYm9sX3BpcGUgfCBzZWQgJ1wnJ3MvLiog
Ly8nXCcnIHwgc29ydCB8IHVuaXEgPiAkZXhwb3J0X3N5bWJvbHMnCisjIGluY2x1ZGVfZXhwc3lt
cyBzaG91bGQgYmUgYSBsaXN0IG9mIHNwYWNlLXNlcGFyYXRlZCBzeW1ib2xzIHRvIGJlICphbHdh
eXMqCisjIGluY2x1ZGVkIGluIHRoZSBzeW1ib2wgbGlzdAoraW5jbHVkZV9leHBzeW1zPQorIyBl
eGNsdWRlX2V4cHN5bXMgY2FuIGJlIGFuIGVncmVwIHJlZ3VsYXIgZXhwcmVzc2lvbiBvZiBzeW1i
b2xzIHRvIGV4Y2x1ZGUKKyMgaXQgd2lsbCBiZSB3cmFwcGVkIGJ5IGAgKCcgYW5kIGApJCcsIHNv
IG9uZSBtdXN0IG5vdCBtYXRjaCBiZWdpbm5pbmcgb3IKKyMgZW5kIG9mIGxpbmUuICBFeGFtcGxl
OiBgYXxiY3wuKmQuKicgd2lsbCBleGNsdWRlIHRoZSBzeW1ib2xzIGBhJyBhbmQgYGJjJywKKyMg
YXMgd2VsbCBhcyBhbnkgc3ltYm9sIHRoYXQgY29udGFpbnMgYGQnLgorZXhjbHVkZV9leHBzeW1z
PQorCitjYXNlICIkaG9zdF9vcyIgaW4KK2N5Z3dpbiogfCBtaW5ndyopCisgICMgRklYTUU6IHRo
ZSBNU1ZDKysgcG9ydCBoYXNuJ3QgYmVlbiB0ZXN0ZWQgaW4gYSBsb29vb25nIHRpbWUKKyAgIyBX
aGVuIG5vdCB1c2luZyBnY2MsIHdlIGN1cnJlbnRseSBhc3N1bWUgdGhhdCB3ZSBhcmUgdXNpbmcK
KyAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KKyAgaWYgdGVzdCAiJHdpdGhfZ2NjIiAhPSB5ZXM7
IHRoZW4KKyAgICB3aXRoX2dudV9sZD1ubworICBmaQorICA7OworCitmcmVlYnNkMiogfCBzdW5v
czQqKQorICBleGNsdWRlX2V4cHN5bXM9Il9HTE9CQUxfT0ZGU0VUX1RBQkxFXyIKKyAgOzsKKwor
ZXNhYworCitsZF9zaGxpYnM9eWVzCitpZiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0geWVzOyB0aGVu
CisgICMgSWYgYXJjaGl2ZV9jbWRzIHJ1bnMgTEQsIG5vdCBDQywgd2xhcmMgc2hvdWxkIGJlIGVt
cHR5CisgIHdsYXJjPScke3dsfScKKworICAjIFNlZSBpZiBHTlUgbGQgc3VwcG9ydHMgc2hhcmVk
IGxpYnJhcmllcy4KKyAgY2FzZSAiJGhvc3Rfb3MiIGluCisgIGFpeDMqIHwgYWl4NCopCisgICAg
IyBPbiBBSVgsIHRoZSBHTlUgbGlua2VyIGlzIHZlcnkgYnJva2VuCisgICAgbGRfc2hsaWJzPW5v
CisgICAgY2F0IDw8RU9GIDE+JjIKKworKioqIFdhcm5pbmc6IHRoZSBHTlUgbGlua2VyLCBhdCBs
ZWFzdCB1cCB0byByZWxlYXNlIDIuOS4xLCBpcyByZXBvcnRlZAorKioqIHRvIGJlIHVuYWJsZSB0
byByZWxpYWJseSBjcmVhdGUgc2hhcmVkIGxpYnJhcmllcyBvbiBBSVguCisqKiogVGhlcmVmb3Jl
LCBsaWJ0b29sIGlzIGRpc2FibGluZyBzaGFyZWQgbGlicmFyaWVzIHN1cHBvcnQuICBJZiB5b3UK
KyoqKiByZWFsbHkgY2FyZSBmb3Igc2hhcmVkIGxpYnJhcmllcywgeW91IG1heSB3YW50IHRvIG1v
ZGlmeSB5b3VyIFBBVEgKKyoqKiBzbyB0aGF0IGEgbm9uLUdOVSBsaW5rZXIgaXMgZm91bmQsIGFu
ZCB0aGVuIHJlc3RhcnQuCisKK0VPRgorICAgIDs7CisKKyAgYW1pZ2FvcyopCisgICAgYXJjaGl2
ZV9jbWRzPSckcm0gJG9iamRpci9hMml4bGlicmFyeS5kYXRhfiRlY2hvICIjZGVmaW5lIE5BTUUg
JGxpYm5hbWUiID4gJG9iamRpci9hMml4bGlicmFyeS5kYXRhfiRlY2hvICIjZGVmaW5lIExJQlJB
UllfSUQgMSIgPj4gJG9iamRpci9hMml4bGlicmFyeS5kYXRhfiRlY2hvICIjZGVmaW5lIFZFUlNJ
T04gJG1ham9yIiA+PiAkb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JGVjaG8gIiNkZWZpbmUgUkVW
SVNJT04gJHJldmlzaW9uIiA+PiAkb2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JEFSIGNydSAkbGli
ICRsaWJvYmpzfiRSQU5MSUIgJGxpYn4oY2QgJG9iamRpciAmJiBhMml4bGlicmFyeSAtMzIpJwor
ICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1MJGxpYmRpcicKKyAgICBoYXJkY29kZV9t
aW51c19MPXllcworICAgIDs7CisKKyAgc3Vub3M0KikKKyAgICBhcmNoaXZlX2NtZHM9JyRMRCAt
YXNzZXJ0IHB1cmUtdGV4dCAtQnN0YXRpYyAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5r
b3B0cycKKyAgICB3bGFyYz0KKyAgICBoYXJkY29kZV9kaXJlY3Q9eWVzCisgICAgaGFyZGNvZGVf
bWludXNfTD15ZXMKKyAgICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPW5vCisgICAgOzsKKworICBi
ZW9zKikKKyAgICBpZiAkTEQgLS1oZWxwIDI+JjEgfCBlZ3JlcCAnOiBzdXBwb3J0ZWQgdGFyZ2V0
czouKiBlbGYnID4gL2Rldi9udWxsOyB0aGVuCisgICAgICBhcmNoaXZlX2NtZHM9JyRDQyAtbm9z
dGFydCAkbGlib2JqcyAkZGVwbGlicyAkbGlua29wdHMgJHt3bH0tc29uYW1lICR3bCRzb25hbWUg
LW8gJGxpYicKKyAgICBlbHNlCisgICAgICBsZF9zaGxpYnM9bm8KKyAgICBmaQorICAgIDs7CisK
KyAgY3lnd2luKiB8IG1pbmd3KikKKyAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMg
YWN0dWFsbHkgbWVhbmluZ2xlc3MsIGFzIHRoZXJlIGlzCisgICAgIyBubyBzZWFyY2ggcGF0aCBm
b3IgRExMcy4KKyAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCisgICAg
YWxsb3dfdW5kZWZpbmVkX2ZsYWc9dW5zdXBwb3J0ZWQKKyAgICBhbHdheXNfZXhwb3J0X3N5bWJv
bHM9eWVzCisKKyAgICAjIEV4dHJhY3QgdGhlIHN5bWJvbCBleHBvcnQgbGlzdCBmcm9tIGFuIGAt
LWV4cG9ydC1hbGwnIGRlZiBmaWxlLAorICAgICMgdGhlbiByZWdlbmVyYXRlIHRoZSBkZWYgZmls
ZSBmcm9tIHRoZSBzeW1ib2wgZXhwb3J0IGxpc3QsIHNvIHRoYXQKKyAgICAjIHRoZSBjb21waWxl
ZCBkbGwgb25seSBleHBvcnRzIHRoZSBzeW1ib2wgZXhwb3J0IGxpc3QuCisgICAgZXhwb3J0X3N5
bWJvbHNfY21kcz0ncm0gLWYgJG9iamRpci8kc29uYW1lLWx0ZGxsLmN+CisgICAgICBzZWQgLWUg
Ii9eIyBcL1wqIGx0ZGxsLmMgc3RhcnRzIGhlcmUgXCpcLy8sL14jIFwvXCogbHRkbGwuYyBlbmRz
IGhlcmUgXCpcLy8geyBzL14jIC8vOyBwOyB9IiAtZSBkIDwgJDAgPiAkb2JqZGlyLyRzb25hbWUt
bHRkbGwuY34KKyAgICAgIChjZCAkb2JqZGlyICYmICRDQyAtYyAkc29uYW1lLWx0ZGxsLmMpfgor
ICAgICAgJERMTFRPT0wgLS1leHBvcnQtYWxsIC0tZXhjbHVkZS1zeW1ib2xzIERsbE1haW5AMTIs
X2N5Z3dpbl9kbGxfZW50cnlAMTIsX2N5Z3dpbl9ub25jeWd3aW5fZGxsX2VudHJ5QDEyIC0tb3V0
cHV0LWRlZiAkb2JqZGlyLyRzb25hbWUtZGVmICAkb2JqZGlyLyRzb25hbWUtbHRkbGwuJG9iamV4
dCAkbGlib2Jqc34KKyAgICAgIHNlZCAtZSAiMSwvRVhQT1JUUy9kIiAtZSAicy8gQCBbMC05XSog
OyAqLy8iIDwgJG9iamRpci8kc29uYW1lLWRlZiA+ICRleHBvcnRfc3ltYm9scycKKworICAgIGFy
Y2hpdmVfZXhwc3ltX2NtZHM9J2VjaG8gRVhQT1JUUyA+ICRvYmpkaXIvJHNvbmFtZS1kZWZ+Cisg
ICAgICBfbHRfaGludD0xOworICAgICAgZm9yIHN5bWJvbCBpbiBgY2F0ICRleHBvcnRfc3ltYm9s
c2A7IGRvCisgICAgICAgIGVjaG8gIglcJHN5bWJvbCBAIFwkX2x0X2hpbnQgOyAiID4+ICRvYmpk
aXIvJHNvbmFtZS1kZWY7CisJX2x0X2hpbnQ9YGV4cHIgMSArIFwkX2x0X2hpbnRgOworICAgICAg
ZG9uZX4KKyAgICAgICRDQyAtV2wsLS1iYXNlLWZpbGUsJG9iamRpci8kc29uYW1lLWJhc2UgLVds
LC0tZGxsIC1ub3N0YXJ0ZmlsZXMgLVdsLC1lLF9fY3lnd2luX2RsbF9lbnRyeUAxMiAtbyAkbGli
ICRvYmpkaXIvJHNvbmFtZS1sdGRsbC4kb2JqZXh0ICRsaWJvYmpzICRkZXBsaWJzICRsaW5rb3B0
c34KKyAgICAgICRETExUT09MIC0tYXM9JEFTIC0tZGxsbmFtZSAkc29uYW1lIC0tZXhjbHVkZS1z
eW1ib2xzIERsbE1haW5AMTIsX2N5Z3dpbl9kbGxfZW50cnlAMTIsX2N5Z3dpbl9ub25jeWd3aW5f
ZGxsX2VudHJ5QDEyIC0tZGVmICRvYmpkaXIvJHNvbmFtZS1kZWYgLS1iYXNlLWZpbGUgJG9iamRp
ci8kc29uYW1lLWJhc2UgLS1vdXRwdXQtZXhwICRvYmpkaXIvJHNvbmFtZS1leHB+CisgICAgICAk
Q0MgLVdsLC0tYmFzZS1maWxlLCRvYmpkaXIvJHNvbmFtZS1iYXNlICRvYmpkaXIvJHNvbmFtZS1l
eHAgLVdsLC0tZGxsIC1ub3N0YXJ0ZmlsZXMgLVdsLC1lLF9fY3lnd2luX2RsbF9lbnRyeUAxMiAt
byAkbGliICRvYmpkaXIvJHNvbmFtZS1sdGRsbC4kb2JqZXh0ICRsaWJvYmpzICRkZXBsaWJzICRs
aW5rb3B0c34KKyAgICAgICRETExUT09MIC0tYXM9JEFTIC0tZGxsbmFtZSAkc29uYW1lIC0tZXhj
bHVkZS1zeW1ib2xzIERsbE1haW5AMTIsX2N5Z3dpbl9kbGxfZW50cnlAMTIsX2N5Z3dpbl9ub25j
eWd3aW5fZGxsX2VudHJ5QDEyIC0tZGVmICRvYmpkaXIvJHNvbmFtZS1kZWYgLS1iYXNlLWZpbGUg
JG9iamRpci8kc29uYW1lLWJhc2UgLS1vdXRwdXQtZXhwICRvYmpkaXIvJHNvbmFtZS1leHB+Cisg
ICAgICAkQ0MgJG9iamRpci8kc29uYW1lLWV4cCAtV2wsLS1kbGwgLW5vc3RhcnRmaWxlcyAtV2ws
LWUsX19jeWd3aW5fZGxsX2VudHJ5QDEyIC1vICRsaWIgJG9iamRpci8kc29uYW1lLWx0ZGxsLiRv
YmpleHQgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtvcHRzJworCisgICAgICBvbGRfYXJjaGl2ZV9m
cm9tX25ld19jbWRzPSckRExMVE9PTCAtLWFzPSRBUyAtLWRsbG5hbWUgJHNvbmFtZSAtLWRlZiAk
b2JqZGlyLyRzb25hbWUtZGVmIC0tb3V0cHV0LWxpYiAkb2JqZGlyLyRsaWJuYW1lLmEnCisgICAg
OzsKKworICAqKQorICAgIGlmICRMRCAtLWhlbHAgMj4mMSB8IGVncmVwICc6IHN1cHBvcnRlZCB0
YXJnZXRzOi4qIGVsZicgPiAvZGV2L251bGw7IHRoZW4KKyAgICAgIGFyY2hpdmVfY21kcz0nJEND
IC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtvcHRzICR7d2x9LXNvbmFtZSAkd2wkc29u
YW1lIC1vICRsaWInCisgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLXNoYXJlZCAkbGli
b2JqcyAkZGVwbGlicyAkbGlua29wdHMgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgJHt3bH0tcmV0
YWluLXN5bWJvbHMtZmlsZSAkd2wkZXhwb3J0X3N5bWJvbHMgLW8gJGxpYicKKyAgICBlbHNlCisg
ICAgICBsZF9zaGxpYnM9bm8KKyAgICBmaQorICAgIDs7CisgIGVzYWMKKworICBpZiB0ZXN0ICIk
bGRfc2hsaWJzIiA9IHllczsgdGhlbgorICAgIHJ1bnBhdGhfdmFyPUxEX1JVTl9QQVRICisgICAg
aGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tLXJwYXRoICR7d2x9JGxpYmRpcicKKyAg
ICBleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9JyR7d2x9LS1leHBvcnQtZHluYW1pYycKKyAgICB3
aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0iJHdsYXJjIictLXdob2xlLWFyY2hpdmUkY29udmVuaWVu
Y2UgJyIkd2xhcmMiJy0tbm8td2hvbGUtYXJjaGl2ZScKKyAgZmkKK2Vsc2UKKyAgIyBQT1JUTUUg
ZmlsbCBpbiBhIGRlc2NyaXB0aW9uIG9mIHlvdXIgc3lzdGVtJ3MgbGlua2VyIChub3QgR05VIGxk
KQorICBjYXNlICIkaG9zdF9vcyIgaW4KKyAgYWl4MyopCisgICAgYWxsb3dfdW5kZWZpbmVkX2Zs
YWc9dW5zdXBwb3J0ZWQKKyAgICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9eWVzCisgICAgYXJjaGl2
ZV9leHBzeW1fY21kcz0nJExEIC1vICRvYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAk
bGlua29wdHMgLWJFOiRleHBvcnRfc3ltYm9scyAtVDUxMiAtSDUxMiAtYk06U1JFfiRBUiBjcnUg
JGxpYiAkb2JqZGlyLyRzb25hbWUnCisgICAgIyBOb3RlOiB0aGlzIGxpbmtlciBoYXJkY29kZXMg
dGhlIGRpcmVjdG9yaWVzIGluIExJQlBBVEggaWYgdGhlcmUKKyAgICAjIGFyZSBubyBkaXJlY3Rv
cmllcyBzcGVjaWZpZWQgYnkgLUwuCisgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKKyAgICBpZiB0
ZXN0ICIkd2l0aF9nY2MiID0geWVzICYmIHRlc3QgLXogIiRsaW5rX3N0YXRpY19mbGFnIjsgdGhl
bgorICAgICAgIyBOZWl0aGVyIGRpcmVjdCBoYXJkY29kaW5nIG5vciBzdGF0aWMgbGlua2luZyBp
cyBzdXBwb3J0ZWQgd2l0aCBhCisgICAgICAjIGJyb2tlbiBjb2xsZWN0Mi4KKyAgICAgIGhhcmRj
b2RlX2RpcmVjdD11bnN1cHBvcnRlZAorICAgIGZpCisgICAgOzsKKworICBhaXg0KikKKyAgICBh
bGxvd191bmRlZmluZWRfZmxhZz0KKyAgICBpZiB0ZXN0ICIkd2l0aF9nY2MiID0geWVzOyB0aGVu
CisgICAgICBpZiBzdHJpbmdzIGAke0NDfSAtcHJpbnQtcHJvZy1uYW1lPWNvbGxlY3QyYCB8IFwK
KwkgZ3JlcCByZXNvbHZlX2xpYl9uYW1lID4vZGV2L251bGwKKyAgICAgIHRoZW4KKwkjIFdlIGhh
dmUgcmV3b3JrZWQgY29sbGVjdDIKKwloYXJkY29kZV9kaXJlY3Q9eWVzCisgICAgICBlbHNlCisJ
IyBXZSBoYXZlIG9sZCBjb2xsZWN0MgorCWhhcmRjb2RlX2RpcmVjdD11bnN1cHBvcnRlZAorICAg
ICAgZmkKKyAgICAgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJHt3bH0tYm5vZW50cnkgLW8g
JG9iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICRsaW5rb3B0cycKKyAgICBlbHNlCisg
ICAgICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9eWVzCisgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRz
PSckQ0MgLW8gJG9iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICRsaW5rb3B0cyAke3ds
fS1iRTokZXhwb3J0X3N5bWJvbHMgJHt3bH0tYk06U1JFICR7d2x9LWJub2VudHJ5JworICAgICAg
aGFyZGNvZGVfZGlyZWN0PXllcworICAgIGZpCisgICAgaGFyZGNvZGVfbWludXNfTD15ZXMKKyAg
ICAjIFRob3VnaCBMSUJQQVRIIHZhcmlhYmxlIGhhcmRjb2RlcyBzaGxpYnBhdGggaW50byBleGVj
dXRhYmxlLAorICAgICMgaXQgZG9lc24ndCBhZmZlY3Qgc2VhcmNoaW5nIGZvciAtbCogbGlicmFy
aWVzOyB0aGlzIGNvbmZ1c2VzCisgICAgIyB0ZXN0cyBpbiBtZGVtby4KKyAgICBoYXJkY29kZV9z
aGxpYnBhdGhfdmFyPXVuc3VwcG9ydGVkCisgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0n
LUwkbGliZGlyJworICAgOzsKKworICBhbWlnYW9zKikKKyAgICBhcmNoaXZlX2NtZHM9JyRybSAk
b2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JGVjaG8gIiNkZWZpbmUgTkFNRSAkbGlibmFtZSIgPiAk
b2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JGVjaG8gIiNkZWZpbmUgTElCUkFSWV9JRCAxIiA+PiAk
b2JqZGlyL2EyaXhsaWJyYXJ5LmRhdGF+JGVjaG8gIiNkZWZpbmUgVkVSU0lPTiAkbWFqb3IiID4+
ICRvYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kZWNobyAiI2RlZmluZSBSRVZJU0lPTiAkcmV2aXNp
b24iID4+ICRvYmpkaXIvYTJpeGxpYnJhcnkuZGF0YX4kQVIgY3J1ICRsaWIgJGxpYm9ianN+JFJB
TkxJQiAkbGlifihjZCAkb2JqZGlyICYmIGEyaXhsaWJyYXJ5IC0zMiknCisgICAgaGFyZGNvZGVf
bGliZGlyX2ZsYWdfc3BlYz0nLUwkbGliZGlyJworICAgIGhhcmRjb2RlX21pbnVzX0w9eWVzCisg
ICAgOzsKKworICBjeWd3aW4qIHwgbWluZ3cqKQorICAgICMgV2hlbiBub3QgdXNpbmcgZ2NjLCB3
ZSBjdXJyZW50bHkgYXNzdW1lIHRoYXQgd2UgYXJlIHVzaW5nCisgICAgIyBNaWNyb3NvZnQgVmlz
dWFsIEMrKy4KKyAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMgYWN0dWFsbHkgbWVh
bmluZ2xlc3MsIGFzIHRoZXJlIGlzCisgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KKyAg
ICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScgJworICAgIGFsbG93X3VuZGVmaW5lZF9mbGFn
PXVuc3VwcG9ydGVkCisgICAgIyBUZWxsIGx0bWFpbiB0byBtYWtlIC5saWIgZmlsZXMsIG5vdCAu
YSBmaWxlcy4KKyAgICBsaWJleHQ9bGliCisgICAgIyBGSVhNRTogU2V0dGluZyBsaW5rbmFtZXMg
aGVyZSBpcyBhIGJhZCBoYWNrLgorICAgIGFyY2hpdmVfY21kcz0nJENDIC1vICRsaWIgJGxpYm9i
anMgJGxpbmtvcHRzIGBlY2hvICIkZGVwbGlicyIgfCBzZWQgLWUgJ1wnJ3MvIC1sYyQvLydcJydg
IC1saW5rIC1kbGx+bGlua25hbWVzPScKKyAgICAjIFRoZSBsaW5rZXIgd2lsbCBhdXRvbWF0aWNh
bGx5IGJ1aWxkIGEgLmxpYiBmaWxlIGlmIHdlIGJ1aWxkIGEgRExMLgorICAgIG9sZF9hcmNoaXZl
X2Zyb21fbmV3X2NtZHM9J3RydWUnCisgICAgIyBGSVhNRTogU2hvdWxkIGxldCB0aGUgdXNlciBz
cGVjaWZ5IHRoZSBsaWIgcHJvZ3JhbS4KKyAgICBvbGRfYXJjaGl2ZV9jbWRzPSdsaWIgL09VVDok
b2xkbGliJG9sZG9ianMnCisgICAgZml4X3NyY2ZpbGVfcGF0aD0nYGN5Z3BhdGggLXcgJHNyY2Zp
bGVgJworICAgIDs7CisKKyAgZnJlZWJzZDEqKQorICAgIGxkX3NobGlicz1ubworICAgIGNhbl9i
dWlsZF9zaGFyZWQ9bm8KKyAgICA7OworCisgICMgRnJlZUJTRCAyLjIuWzAxMl0gYWxsb3dzIHVz
IHRvIGluY2x1ZGUgYysrcnQwLm8gdG8gZ2V0IEMrKyBjb25zdHJ1Y3RvcgorICAjIHN1cHBvcnQu
ICBGdXR1cmUgdmVyc2lvbnMgZG8gdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgYW4gZXhwbGljaXQg
YysrcnQwLm8KKyAgIyBkb2VzIG5vdCBicmVhayBhbnl0aGluZywgYW5kIGhlbHBzIHNpZ25pZmlj
YW50bHkgKGF0IHRoZSBjb3N0IG9mIGEgbGl0dGxlCisgICMgZXh0cmEgc3BhY2UpLgorICBmcmVl
YnNkMi4yKikKKyAgICBhcmNoaXZlX2NtZHM9JyRMRCAtQnNoYXJlYWJsZSAtbyAkbGliICRsaWJv
YmpzICRkZXBsaWJzICRsaW5rb3B0cyAvdXNyL2xpYi9jKytydDAubycKKyAgICBoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCisgICAgaGFyZGNvZGVfZGlyZWN0PXllcworICAg
IGhhcmRjb2RlX21pbnVzX0w9bm8gIyB2ZXJpZmllZCBvbiAyLjIuNgorICAgIGhhcmRjb2RlX3No
bGlicGF0aF92YXI9bm8KKyAgICA7OworCisgICMgVW5mb3J0dW5hdGVseSwgb2xkZXIgdmVyc2lv
bnMgb2YgRnJlZUJTRCAyIGRvIG5vdCBoYXZlIHRoaXMgZmVhdHVyZS4KKyAgZnJlZWJzZDIqKQor
ICAgIGFyY2hpdmVfY21kcz0nJExEIC1Cc2hhcmVhYmxlIC1vICRsaWIgJGxpYm9ianMgJGRlcGxp
YnMgJGxpbmtvcHRzJworICAgIGhhcmRjb2RlX2RpcmVjdD15ZXMKKyAgICBoYXJkY29kZV9taW51
c19MPXllcworICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KKyAgICA7OworCisgICMgRnJl
ZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmll
cy4KKyAgZnJlZWJzZCopCisgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAtbyAkbGliICRs
aWJvYmpzICRkZXBsaWJzICRsaW5rb3B0cycKKyAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
PSctUiRsaWJkaXInCisgICAgaGFyZGNvZGVfZGlyZWN0PXllcworICAgIGhhcmRjb2RlX21pbnVz
X0w9bm8KKyAgICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPW5vCisgICAgOzsKKworICBocHV4OSop
CisgICAgYXJjaGl2ZV9jbWRzPSckcm0gJG9iamRpci8kc29uYW1lfiRMRCAtYiArcyArYiAkaW5z
dGFsbF9saWJkaXIgLW8gJG9iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICRsaW5rb3B0
c350ZXN0ICRvYmpkaXIvJHNvbmFtZSA9ICRsaWIgfHwgbXYgJG9iamRpci8kc29uYW1lICRsaWIn
CisgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0rYiAke3dsfSRsaWJkaXInCisg
ICAgaGFyZGNvZGVfZGlyZWN0PXllcworICAgIGhhcmRjb2RlX21pbnVzX0w9eWVzCisgICAgZXhw
b3J0X2R5bmFtaWNfZmxhZ19zcGVjPScke3dsfS1FJworICAgIDs7CisKKyAgaHB1eDEwKiB8IGhw
dXgxMSopCisgICAgYXJjaGl2ZV9jbWRzPSckTEQgLWIgK2ggJHNvbmFtZSArcyArYiAkaW5zdGFs
bF9saWJkaXIgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua29wdHMnCisgICAgaGFyZGNv
ZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0rYiAke3dsfSRsaWJkaXInCisgICAgaGFyZGNvZGVf
ZGlyZWN0PXllcworICAgIGhhcmRjb2RlX21pbnVzX0w9eWVzCisgICAgZXhwb3J0X2R5bmFtaWNf
ZmxhZ19zcGVjPScke3dsfS1FJworICAgIDs7CisKKyAgaXJpeDUqIHwgaXJpeDYqKQorICAgIGlm
IHRlc3QgIiR3aXRoX2djYyIgPSB5ZXM7IHRoZW4KKyAgICAgIGFyY2hpdmVfY21kcz0nJENDIC1z
aGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtvcHRzICR7d2x9LXNvbmFtZSAke3dsfSRzb25h
bWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGVjaG8gJHt3bH0tc2V0X3ZlcnNpb24gJHt3bH0k
dmVyc3RyaW5nYCAtbyAkbGliJworICAgIGVsc2UKKyAgICAgIGFyY2hpdmVfY21kcz0nJExEIC1z
aGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtvcHRzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAt
biAiJHZlcnN0cmluZyIgJiYgZWNobyAtc2V0X3ZlcnNpb24gJHZlcnN0cmluZ2AgLW8gJGxpYicK
KyAgICBmaQorICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9
JGxpYmRpcicKKyAgICBoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yPToKKyAgICA7OworCisgIG5l
dGJzZCopCisgICAgaWYgZWNobyBfX0VMRl9fIHwgJENDIC1FIC0gfCBncmVwIF9fRUxGX18gPi9k
ZXYvbnVsbDsgdGhlbgorICAgICAgYXJjaGl2ZV9jbWRzPSckTEQgLUJzaGFyZWFibGUgLW8gJGxp
YiAkbGlib2JqcyAkZGVwbGlicyAkbGlua29wdHMnICAjIGEub3V0CisgICAgZWxzZQorICAgICAg
YXJjaGl2ZV9jbWRzPSckTEQgLXNoYXJlZCAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5r
b3B0cycgICAgICAjIEVMRgorICAgIGZpCisgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0n
JHt3bH0tUiRsaWJkaXInCisgICAgaGFyZGNvZGVfZGlyZWN0PXllcworICAgIGhhcmRjb2RlX3No
bGlicGF0aF92YXI9bm8KKyAgICA7OworCisgIG9wZW5ic2QqKQorICAgIGFyY2hpdmVfY21kcz0n
JExEIC1Cc2hhcmVhYmxlIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtvcHRzJworICAg
IGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1SJGxpYmRpcicKKyAgICBoYXJkY29kZV9kaXJl
Y3Q9eWVzCisgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubworICAgIDs7CisKKyAgb3MyKikK
KyAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCisgICAgaGFyZGNvZGVf
bWludXNfTD15ZXMKKyAgICBhbGxvd191bmRlZmluZWRfZmxhZz11bnN1cHBvcnRlZAorICAgIGFy
Y2hpdmVfY21kcz0nJGVjaG8gIkxJQlJBUlkgJGxpYm5hbWUgSU5JVElOU1RBTkNFIiA+ICRvYmpk
aXIvJGxpYm5hbWUuZGVmfiRlY2hvICJERVNDUklQVElPTiBcIiRsaWJuYW1lXCIiID4+ICRvYmpk
aXIvJGxpYm5hbWUuZGVmfiRlY2hvIERBVEEgPj4gJG9iamRpci8kbGlibmFtZS5kZWZ+JGVjaG8g
IiBTSU5HTEUgTk9OU0hBUkVEIiA+PiAkb2JqZGlyLyRsaWJuYW1lLmRlZn4kZWNobyBFWFBPUlRT
ID4+ICRvYmpkaXIvJGxpYm5hbWUuZGVmfmVteGV4cCAkbGlib2JqcyA+PiAkb2JqZGlyLyRsaWJu
YW1lLmRlZn4kQ0MgLVpkbGwgLVpjcnRkbGwgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlu
a29wdHMgJG9iamRpci8kbGlibmFtZS5kZWYnCisgICAgb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21k
cz0nZW14aW1wIC1vICRvYmpkaXIvJGxpYm5hbWUuYSAkb2JqZGlyLyRsaWJuYW1lLmRlZicKKyAg
ICA7OworCisgIG9zZjMqIHwgb3NmNCopCisgICAgaWYgdGVzdCAiJHdpdGhfZ2NjIiA9IHllczsg
dGhlbgorICAgICAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAke3dsfS1leHBlY3RfdW5yZXNvbHZl
ZCAke3dsfVwqJworICAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCR7YWxsb3dfdW5kZWZp
bmVkX2ZsYWd9ICRsaWJvYmpzICRkZXBsaWJzICRsaW5rb3B0cyAke3dsfS1zb25hbWUgJHt3bH0k
c29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBlY2hvICR7d2x9LXNldF92ZXJzaW9uICR7
d2x9JHZlcnN0cmluZ2AgLW8gJGxpYicKKyAgICBlbHNlCisgICAgICBhbGxvd191bmRlZmluZWRf
ZmxhZz0nIC1leHBlY3RfdW5yZXNvbHZlZCBcKicKKyAgICAgIGFyY2hpdmVfY21kcz0nJExEIC1z
aGFyZWQke2FsbG93X3VuZGVmaW5lZF9mbGFnfSAkbGlib2JqcyAkZGVwbGlicyAkbGlua29wdHMg
LXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBlY2hvIC1zZXRfdmVyc2lv
biAkdmVyc3RyaW5nYCAtbyAkbGliJworICAgIGZpCisgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdf
c3BlYz0nJHt3bH0tcnBhdGggJHt3bH0kbGliZGlyJworICAgIGhhcmRjb2RlX2xpYmRpcl9zZXBh
cmF0b3I9OgorICAgIDs7CisKKyAgc2NvMy4ydjUqKQorICAgIGFyY2hpdmVfY21kcz0nJExEIC1H
IC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtvcHRzJworICAgIGhhcmRjb2RlX2RpcmVj
dD15ZXMKKyAgICA7OworCisgIHNvbGFyaXMqKQorICAgIG5vX3VuZGVmaW5lZF9mbGFnPScgLXog
dGV4dCcKKyAgICAjICRDQyAtc2hhcmVkIHdpdGhvdXQgR05VIGxkIHdpbGwgbm90IGNyZWF0ZSBh
IGxpYnJhcnkgZnJvbSBDKysKKyAgICAjIG9iamVjdCBmaWxlcyBhbmQgYSBzdGF0aWMgbGlic3Rk
YysrLCBiZXR0ZXIgYXZvaWQgaXQgYnkgbm93CisgICAgYXJjaGl2ZV9jbWRzPSckTEQgLUcke2Fs
bG93X3VuZGVmaW5lZF9mbGFnfSAtaCAkc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMg
JGxpbmtvcHRzJworICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRlY2hvICJ7IGdsb2JhbDoiID4g
JGxpYi5leHB+Y2F0ICRleHBvcnRfc3ltYm9scyB8IHNlZCAtZSAicy9cKC4qXCkvXDE7LyIgPj4g
JGxpYi5leHB+JGVjaG8gImxvY2FsOiAqOyB9OyIgPj4gJGxpYi5leHB+CisJCSRMRCAtRyR7YWxs
b3dfdW5kZWZpbmVkX2ZsYWd9IC1NICRsaWIuZXhwIC1oICRzb25hbWUgLW8gJGxpYiAkbGlib2Jq
cyAkZGVwbGlicyAkbGlua29wdHN+JHJtICRsaWIuZXhwJworICAgIGhhcmRjb2RlX2xpYmRpcl9m
bGFnX3NwZWM9Jy1SJGxpYmRpcicKKyAgICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPW5vCisgICAg
OzsKKworICBzdW5vczQqKQorICAgICMgV2h5IGRvIHdlIG5lZWQgLUJzdGF0aWM/ICBUbyBhdm9p
ZCBpbnRlci1saWJyYXJ5IGRlcGVuZGVuY2llcywgbWF5YmUuLi4KKyAgICBpZiB0ZXN0ICIkd2l0
aF9nY2MiID0geWVzOyB0aGVuCisgICAgICAjIFVzZSAtZlBJQyBoZXJlIGJlY2F1c2UgbGliZ2Nj
IGlzIG11bHRpbGliYmVkCisgICAgICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9LUJz
dGF0aWMgLWZQSUMgLW8gJGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua29wdHMnCisgICAgZWxz
ZQorICAgICAgYXJjaGl2ZV9jbWRzPSckTEQgLWFzc2VydCBwdXJlLXRleHQgLUJzdGF0aWMgLW8g
JGxpYiAkbGlib2JqcyAkZGVwbGlicyAkbGlua29wdHMnCisgICAgZmkKKyAgICBoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCisgICAgaGFyZGNvZGVfZGlyZWN0PXllcworICAg
IGhhcmRjb2RlX21pbnVzX0w9eWVzCisgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubworICAg
IDs7CisKKyAgc3lzdjQuMyopCisgICAgYXJjaGl2ZV9jbWRzPSckTEQgLUcgLWggJHNvbmFtZSAt
byAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rb3B0cycKKyAgICBoYXJkY29kZV9kaXJlY3Q9
bm8KKyAgICBoYXJkY29kZV9taW51c19MPW5vCisgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1u
bworICAgIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0nLUJleHBvcnQnCisgICAgOzsKKworICB1
dHM0KikKKyAgICBhcmNoaXZlX2NtZHM9JyRMRCAtRyAtaCAkc29uYW1lIC1vICRsaWIgJGxpYm9i
anMgJGRlcGxpYnMgJGxpbmtvcHRzJworICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Jy1M
JGxpYmRpcicKKyAgICBoYXJkY29kZV9kaXJlY3Q9bm8KKyAgICBoYXJkY29kZV9taW51c19MPW5v
CisgICAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj1ubworICAgIDs7CisKKyAgZGd1eCopCisgICAg
YXJjaGl2ZV9jbWRzPSckTEQgLUcgLWggJHNvbmFtZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJz
ICRsaW5rb3B0cycKKyAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctTCRsaWJkaXInCisg
ICAgaGFyZGNvZGVfZGlyZWN0PW5vCisgICAgaGFyZGNvZGVfbWludXNfTD1ubworICAgIGhhcmRj
b2RlX3NobGlicGF0aF92YXI9bm8KKyAgICA7OworCisgICopCisgICAgbGRfc2hsaWJzPW5vCisg
ICAgY2FuX2J1aWxkX3NoYXJlZD1ubworICAgIDs7CisgIGVzYWMKK2ZpCitlY2hvICIkYWNfdCRs
ZF9zaGxpYnMiIDE+JjYKKworaWYgdGVzdCAteiAiJE5NIjsgdGhlbgorICBlY2hvICRhY19uICJj
aGVja2luZyBmb3IgQlNELWNvbXBhdGlibGUgbm0uLi4gJGFjX2MiIDE+JjYKKyAgY2FzZSAiJE5N
IiBpbgorICAvKiB8IFtBLVphLXpdOlsvXFxdKikgOzsgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUg
dGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgICopCisgICAgSUZTPSIke0lGUz0gCX0iOyBhY19zYXZl
X2lmcz0iJElGUyI7IElGUz0iJHtJRlN9JHtQQVRIX1NFUEFSQVRPUn0iCisgICAgZm9yIGFjX2Rp
ciBpbiAkUEFUSCAvdXNyL3VjYiAvdXNyL2Njcy9iaW4gL2JpbjsgZG8KKyAgICAgIHRlc3QgLXog
IiRhY19kaXIiICYmIGFjX2Rpcj0uCisgICAgICBpZiB0ZXN0IC1mICRhY19kaXIvbm07IHRoZW4K
KwkjIENoZWNrIHRvIHNlZSBpZiB0aGUgbm0gYWNjZXB0cyBhIEJTRC1jb21wYXQgZmxhZy4KKwkj
IEFkZGluZyB0aGUgYHNlZCAxcScgcHJldmVudHMgZmFsc2UgcG9zaXRpdmVzIG9uIEhQLVVYLCB3
aGljaCBzYXlzOgorCSMgICBubTogdW5rbm93biBvcHRpb24gIkIiIGlnbm9yZWQKKwlpZiAoJGFj
X2Rpci9ubSAtQiAvZGV2L251bGwgMj4mMSB8IHNlZCAnMXEnOyBleGl0IDApIHwgZWdyZXAgL2Rl
di9udWxsID4vZGV2L251bGw7IHRoZW4KKwkgIE5NPSIkYWNfZGlyL25tIC1CIgorCSAgYnJlYWsK
KwllbGlmICgkYWNfZGlyL25tIC1wIC9kZXYvbnVsbCAyPiYxIHwgc2VkICcxcSc7IGV4aXQgMCkg
fCBlZ3JlcCAvZGV2L251bGwgPi9kZXYvbnVsbDsgdGhlbgorCSAgTk09IiRhY19kaXIvbm0gLXAi
CisJICBicmVhaworCWVsc2UKKwkgIE5NPSR7Tk09IiRhY19kaXIvbm0ifSAjIGtlZXAgdGhlIGZp
cnN0IG1hdGNoLCBidXQKKwkgIGNvbnRpbnVlICMgc28gdGhhdCB3ZSBjYW4gdHJ5IHRvIGZpbmQg
b25lIHRoYXQgc3VwcG9ydHMgQlNEIGZsYWdzCisJZmkKKyAgICAgIGZpCisgICAgZG9uZQorICAg
IElGUz0iJGFjX3NhdmVfaWZzIgorICAgIHRlc3QgLXogIiROTSIgJiYgTk09bm0KKyAgICA7Owor
ICBlc2FjCisgIGVjaG8gIiRhY190JE5NIiAxPiY2CitmaQorCisjIENoZWNrIGZvciBjb21tYW5k
IHRvIGdyYWIgdGhlIHJhdyBzeW1ib2wgbmFtZSBmb2xsb3dlZCBieSBDIHN5bWJvbCBmcm9tIG5t
LgorZWNobyAkYWNfbiAiY2hlY2tpbmcgY29tbWFuZCB0byBwYXJzZSAkTk0gb3V0cHV0Li4uICRh
Y19jIiAxPiY2CisKKyMgVGhlc2UgYXJlIHNhbmUgZGVmYXVsdHMgdGhhdCB3b3JrIG9uIGF0IGxl
YXN0IGEgZmV3IG9sZCBzeXN0ZW1zLgorIyBbVGhleSBjb21lIGZyb20gVWx0cml4LiAgV2hhdCBj
b3VsZCBiZSBvbGRlciB0aGFuIFVsdHJpeD8hISA7KV0KKworIyBDaGFyYWN0ZXIgY2xhc3MgZGVz
Y3JpYmluZyBOTSBnbG9iYWwgc3ltYm9sIGNvZGVzLgorc3ltY29kZT0nW0JDREVHUlNUXScKKwor
IyBSZWdleHAgdG8gbWF0Y2ggc3ltYm9scyB0aGF0IGNhbiBiZSBhY2Nlc3NlZCBkaXJlY3RseSBm
cm9tIEMuCitzeW1wYXQ9J1woW19BLVphLXpdW19BLVphLXowLTldKlwpJworCisjIFRyYW5zZm9y
bSB0aGUgYWJvdmUgaW50byBhIHJhdyBzeW1ib2wgYW5kIGEgQyBzeW1ib2wuCitzeW14ZnJtPSdc
MSBcMlwzIFwzJworCisjIFRyYW5zZm9ybSBhbiBleHRyYWN0ZWQgc3ltYm9sIGxpbmUgaW50byBh
IHByb3BlciBDIGRlY2xhcmF0aW9uCitnbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSJzZWQgLW4gLWUg
J3MvXi4gLiogXCguKlwpJC9leHRlcm4gY2hhciBcMTsvcCciCisKKyMgRGVmaW5lIHN5c3RlbS1z
cGVjaWZpYyB2YXJpYWJsZXMuCitjYXNlICIkaG9zdF9vcyIgaW4KK2FpeCopCisgIHN5bWNvZGU9
J1tCQ0RUXScKKyAgOzsKK2N5Z3dpbiogfCBtaW5ndyopCisgIHN5bWNvZGU9J1tBQkNER0lTVFdd
JworICA7OworaHB1eCopICMgSXRzIGxpbmtlciBkaXN0aW5ndWlzaGVzIGRhdGEgZnJvbSBjb2Rl
IHN5bWJvbHMKKyAgZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFwo
LipcKSQvZXh0ZXJuIGNoYXIgXDEoKTsvcCcgLWUgJ3MvXi4gLiogXCguKlwpJC9leHRlcm4gY2hh
ciBcMTsvcCciCisgIDs7Citpcml4KikKKyAgc3ltY29kZT0nW0JDREVHUlNUXScKKyAgOzsKK3Nv
bGFyaXMqKQorICBzeW1jb2RlPSdbQkRUXScKKyAgOzsKK2VzYWMKKworIyBJZiB3ZSdyZSB1c2lu
ZyBHTlUgbm0sIHRoZW4gdXNlIGl0cyBzdGFuZGFyZCBzeW1ib2wgY29kZXMuCitpZiAkTk0gLVYg
Mj4mMSB8IGVncmVwICcoR05VfHdpdGggQkZEKScgPiAvZGV2L251bGw7IHRoZW4KKyAgc3ltY29k
ZT0nW0FCQ0RHSVNUV10nCitmaQorCisjIFRyeSB3aXRob3V0IGEgcHJlZml4IHVuZGVyY29yZSwg
dGhlbiB3aXRoIGl0LgorZm9yIGFjX3N5bXByZnggaW4gIiIgIl8iOyBkbworCisgICMgV3JpdGUg
dGhlIHJhdyBhbmQgQyBpZGVudGlmaWVycy4KKyAgZ2xvYmFsX3N5bWJvbF9waXBlPSJzZWQgLW4g
LWUgJ3MvXi4qWyAJXVwoJHN5bWNvZGVcKVsgCV1bIAldKlwoJGFjX3N5bXByZnhcKSRzeW1wYXQk
LyRzeW14ZnJtL3AnIgorCisgICMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhlIHBpcGUgd29ya3MgY29y
cmVjdGx5LgorICBwaXBlX3dvcmtzPW5vCisgICRybSBjb25mdGVzdCoKKyAgY2F0ID4gY29uZnRl
c3QuYyA8PEVPRgorI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorY2hh
ciBubV90ZXN0X3ZhcjsKK3ZvaWQgbm1fdGVzdF9mdW5jKCl7fQorI2lmZGVmIF9fY3BsdXNwbHVz
Cit9CisjZW5kaWYKK21haW4oKXtubV90ZXN0X3Zhcj0nYSc7bm1fdGVzdF9mdW5jKCk7cmV0dXJu
KDApO30KK0VPRgorCisgIGVjaG8gIiRwcm9nbmFtZToxNDQ3OiBjaGVja2luZyBpZiBnbG9iYWxf
c3ltYm9sX3BpcGUgd29ya3MiID4mNQorICBpZiB7IChldmFsIGVjaG8gJHByb2duYW1lOjE0NDg6
IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH0gJiYgdGVz
dCAtcyBjb25mdGVzdC4kb2JqZXh0OyB0aGVuCisgICAgIyBOb3cgdHJ5IHRvIGdyYWIgdGhlIHN5
bWJvbHMuCisgICAgbmxpc3Q9Y29uZnRlc3Qubm0KKyAgICBpZiB7IGVjaG8gIiRwcm9nbmFtZTox
NDUxOiBldmFsIFwiJE5NIGNvbmZ0ZXN0LiRvYmpleHQgfCAkZ2xvYmFsX3N5bWJvbF9waXBlID4g
JG5saXN0XCIiID4mNTsgZXZhbCAiJE5NIGNvbmZ0ZXN0LiRvYmpleHQgfCAkZ2xvYmFsX3N5bWJv
bF9waXBlID4gJG5saXN0IDI+JjUiOyB9ICYmIHRlc3QgLXMgIiRubGlzdCI7IHRoZW4KKworICAg
ICAgIyBUcnkgc29ydGluZyBhbmQgdW5pcXVpZnlpbmcgdGhlIG91dHB1dC4KKyAgICAgIGlmIHNv
cnQgIiRubGlzdCIgfCB1bmlxID4gIiRubGlzdCJUOyB0aGVuCisJbXYgLWYgIiRubGlzdCJUICIk
bmxpc3QiCisgICAgICBlbHNlCisJcm0gLWYgIiRubGlzdCJUCisgICAgICBmaQorCisgICAgICAj
IE1ha2Ugc3VyZSB0aGF0IHdlIHNuYWdnZWQgYWxsIHRoZSBzeW1ib2xzIHdlIG5lZWQuCisgICAg
ICBpZiBlZ3JlcCAnIG5tX3Rlc3RfdmFyJCcgIiRubGlzdCIgPi9kZXYvbnVsbDsgdGhlbgorCWlm
IGVncmVwICcgbm1fdGVzdF9mdW5jJCcgIiRubGlzdCIgPi9kZXYvbnVsbDsgdGhlbgorCSAgY2F0
IDw8RU9GID4gY29uZnRlc3QuYworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNl
bmRpZgorCitFT0YKKwkgICMgTm93IGdlbmVyYXRlIHRoZSBzeW1ib2wgZmlsZS4KKwkgIGV2YWwg
IiRnbG9iYWxfc3ltYm9sX3RvX2NkZWNsIicgPCAiJG5saXN0IiA+PiBjb25mdGVzdC5jJworCisJ
ICBjYXQgPDxFT0YgPj4gY29uZnRlc3QuYworI2lmIGRlZmluZWQgKF9fU1REQ19fKSAmJiBfX1NU
RENfXworIyBkZWZpbmUgbHRfcHRyX3Qgdm9pZCAqCisjZWxzZQorIyBkZWZpbmUgbHRfcHRyX3Qg
Y2hhciAqCisjIGRlZmluZSBjb25zdAorI2VuZGlmCisKKy8qIFRoZSBtYXBwaW5nIGJldHdlZW4g
c3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAqLworY29uc3Qgc3RydWN0IHsKKyAgY29uc3QgY2hh
ciAqbmFtZTsKKyAgbHRfcHRyX3QgYWRkcmVzczsKK30KK2x0X3ByZWxvYWRlZF9zeW1ib2xzW10g
PQoreworRU9GCisJICBzZWQgJ3MvXi4gXCguKlwpIFwoLipcKSQvICB7IlwyIiwgKGx0X3B0cl90
KSBcJlwyfSwvJyA8ICIkbmxpc3QiID4+IGNvbmZ0ZXN0LmMKKwkgIGNhdCA8PFxFT0YgPj4gY29u
ZnRlc3QuYworICB7MCwgKGx0X3B0cl90KSAwfQorfTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9
CisjZW5kaWYKK0VPRgorCSAgIyBOb3cgdHJ5IGxpbmtpbmcgdGhlIHR3byBmaWxlcy4KKwkgIG12
IGNvbmZ0ZXN0LiRvYmpleHQgY29uZnRlc3RtLiRvYmpleHQKKwkgIHNhdmVfTElCUz0iJExJQlMi
CisJICBzYXZlX0NGTEFHUz0iJENGTEFHUyIKKwkgIExJQlM9ImNvbmZ0ZXN0bS4kb2JqZXh0Igor
CSAgQ0ZMQUdTPSIkQ0ZMQUdTJG5vX2J1aWx0aW5fZmxhZyIKKwkgIGlmIHsgKGV2YWwgZWNobyAk
cHJvZ25hbWU6MTUwMzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsg
fSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0OyB0aGVuCisJICAgIHBpcGVfd29ya3M9eWVzCisJICBlbHNl
CisJICAgIGVjaG8gIiRwcm9nbmFtZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisJICAgIGNh
dCBjb25mdGVzdC5jID4mNQorCSAgZmkKKwkgIExJQlM9IiRzYXZlX0xJQlMiCisJZWxzZQorCSAg
ZWNobyAiY2Fubm90IGZpbmQgbm1fdGVzdF9mdW5jIGluICRubGlzdCIgPiY1CisJZmkKKyAgICAg
IGVsc2UKKwllY2hvICJjYW5ub3QgZmluZCBubV90ZXN0X3ZhciBpbiAkbmxpc3QiID4mNQorICAg
ICAgZmkKKyAgICBlbHNlCisgICAgICBlY2hvICJjYW5ub3QgcnVuICRnbG9iYWxfc3ltYm9sX3Bp
cGUiID4mNQorICAgIGZpCisgIGVsc2UKKyAgICBlY2hvICIkcHJvZ25hbWU6IGZhaWxlZCBwcm9n
cmFtIHdhczoiID4mNQorICAgIGNhdCBjb25mdGVzdC5jID4mNQorICBmaQorICAkcm0gY29uZnRl
c3QqCisKKyAgIyBEbyBub3QgdXNlIHRoZSBnbG9iYWxfc3ltYm9sX3BpcGUgdW5sZXNzIGl0IHdv
cmtzLgorICBpZiB0ZXN0ICIkcGlwZV93b3JrcyIgPSB5ZXM7IHRoZW4KKyAgICBicmVhaworICBl
bHNlCisgICAgZ2xvYmFsX3N5bWJvbF9waXBlPQorICBmaQorZG9uZQorZWNobyAiJGFjX3QkcGlw
ZV93b3JrcyIgMT4mNgorCitpZiB0ZXN0IC16ICIkZ2xvYmFsX3N5bWJvbF9waXBlIjsgdGhlbgor
ICBnbG9iYWxfc3ltYm9sX3RvX2NkZWNsPQorZmkKKworIyBDaGVjayBoYXJkY29kaW5nIGF0dHJp
YnV0ZXMuCitlY2hvICRhY19uICJjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRo
cyBpbnRvIHByb2dyYW1zLi4uICRhY19jIiAxPiY2CitoYXJkY29kZV9hY3Rpb249CitpZiB0ZXN0
IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyIgfHwgXAorICAgdGVzdCAtbiAiJHJ1bnBh
dGhfdmFyIjsgdGhlbgorCisgICMgV2UgY2FuIGhhcmRjb2RlIG5vbi1leGlzdGFudCBkaXJlY3Rv
cmllcy4KKyAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgIT0gbm8gJiYgXAorICAgICB0ZXN0
ICIkaGFyZGNvZGVfbWludXNfTCIgIT0gbm8gJiYgXAorICAgICB0ZXN0ICIkaGFyZGNvZGVfc2hs
aWJwYXRoX3ZhciIgIT0gbm87IHRoZW4KKworICAgICMgTGlua2luZyBhbHdheXMgaGFyZGNvZGVz
IHRoZSB0ZW1wb3JhcnkgbGlicmFyeSBkaXJlY3RvcnkuCisgICAgaGFyZGNvZGVfYWN0aW9uPXJl
bGluaworICBlbHNlCisgICAgIyBXZSBjYW4gbGluayB3aXRob3V0IGhhcmRjb2RpbmcsIGFuZCB3
ZSBjYW4gaGFyZGNvZGUgbm9uZXhpc3RpbmcgZGlycy4KKyAgICBoYXJkY29kZV9hY3Rpb249aW1t
ZWRpYXRlCisgIGZpCitlbHNlCisgICMgV2UgY2Fubm90IGhhcmRjb2RlIGFueXRoaW5nLCBvciBl
bHNlIHdlIGNhbiBvbmx5IGhhcmRjb2RlIGV4aXN0aW5nCisgICMgZGlyZWN0b3JpZXMuCisgIGhh
cmRjb2RlX2FjdGlvbj11bnN1cHBvcnRlZAorZmkKK2VjaG8gIiRhY190JGhhcmRjb2RlX2FjdGlv
biIgMT4mNgorCisKK3JlbG9hZF9mbGFnPQorcmVsb2FkX2NtZHM9JyRMRCRyZWxvYWRfZmxhZyAt
byAkb3V0cHV0JHJlbG9hZF9vYmpzJworZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRMRCBvcHRp
b24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcy4uLiAkYWNfYyIgMT4mNgorIyBQT1JUTUUgU29tZSBs
aW5rZXJzIG1heSBuZWVkIGEgZGlmZmVyZW50IHJlbG9hZCBmbGFnLgorcmVsb2FkX2ZsYWc9Jy1y
JworZWNobyAiJGFjX3QkcmVsb2FkX2ZsYWciIDE+JjYKK3Rlc3QgLW4gIiRyZWxvYWRfZmxhZyIg
JiYgcmVsb2FkX2ZsYWc9IiAkcmVsb2FkX2ZsYWciCisKKyMgUE9SVE1FIEZpbGwgaW4geW91ciBs
ZC5zbyBjaGFyYWN0ZXJpc3RpY3MKK2xpYnJhcnlfbmFtZXNfc3BlYz0KK2xpYm5hbWVfc3BlYz0n
bGliJG5hbWUnCitzb25hbWVfc3BlYz0KK3Bvc3RpbnN0YWxsX2NtZHM9Citwb3N0dW5pbnN0YWxs
X2NtZHM9CitmaW5pc2hfY21kcz0KK2ZpbmlzaF9ldmFsPQorc2hsaWJwYXRoX3Zhcj0KK3NobGli
cGF0aF9vdmVycmlkZXNfcnVucGF0aD11bmtub3duCit2ZXJzaW9uX3R5cGU9bm9uZQorZHluYW1p
Y19saW5rZXI9IiRob3N0X29zIGxkLnNvIgorc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9Ii9s
aWIgL3Vzci9saWIiCitzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Ii9saWIgL3Vzci9saWIgL3Vz
ci9sb2NhbC9saWIiCitmaWxlX21hZ2ljX2NtZD0KK2ZpbGVfbWFnaWNfdGVzdF9maWxlPQorZGVw
bGlic19jaGVja19tZXRob2Q9J3Vua25vd24nCisjIE5lZWQgdG8gc2V0IHRoZSBwcmVjZWRpbmcg
dmFyaWFibGUgb24gYWxsIHBsYXRmb3JtcyB0aGF0IHN1cHBvcnQKKyMgaW50ZXJsaWJyYXJ5IGRl
cGVuZGVuY2llcy4KKyMgJ25vbmUnIC0tIGRlcGVuZGVuY2llcyBub3Qgc3VwcG9ydGVkLgorIyBg
dW5rbm93bicgLS0gc2FtZSBhcyBub25lLCBidXQgZG9jdW1lbnRzIHRoYXQgd2UgcmVhbGx5IGRv
bid0IGtub3cuCisjICdwYXNzX2FsbCcgLS0gYWxsIGRlcGVuZGVuY2llcyBwYXNzZWQgd2l0aCBu
byBjaGVja3MuCisjICd0ZXN0X2NvbXBpbGUnIC0tIGNoZWNrIGJ5IG1ha2luZyB0ZXN0IHByb2dy
YW0uCisjICdmaWxlX21hZ2ljIFtyZWdleF0nIC0tIGNoZWNrIGJ5IGxvb2tpbmcgZm9yIGZpbGVz
IGluIGxpYnJhcnkgcGF0aAorIyB3aGljaCByZXNwb25kcyB0byB0aGUgJGZpbGVfbWFnaWNfY21k
IHdpdGggYSBnaXZlbiBlZ3JlcCByZWdleC4KKyMgSWYgeW91IGhhdmUgYGZpbGUnIG9yIGVxdWl2
YWxlbnQgb24geW91ciBzeXN0ZW0gYW5kIHlvdSdyZSBub3Qgc3VyZQorIyB3aGV0aGVyIGBwYXNz
X2FsbCcgd2lsbCAqYWx3YXlzKiB3b3JrLCB5b3UgcHJvYmFibHkgd2FudCB0aGlzIG9uZS4KK2Vj
aG8gJGFjX24gImNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4uLiAkYWNf
YyIgMT4mNgorY2FzZSAiJGhvc3Rfb3MiIGluCithaXgzKikKKyAgdmVyc2lvbl90eXBlPWxpbnV4
CisgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc28kdmVyc3VmZml4
ICRsaWJuYW1lLmEnCisgIHNobGlicGF0aF92YXI9TElCUEFUSAorCisgICMgQUlYIGhhcyBubyB2
ZXJzaW9uaW5nIHN1cHBvcnQsIHNvIHdlIGFwcGVuZCBhIG1ham9yIHZlcnNpb24gdG8gdGhlIG5h
bWUuCisgIHNvbmFtZV9zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfS5zbyRtYWpvcicKKyAgOzsK
KworYWl4NCopCisgIHZlcnNpb25fdHlwZT1saW51eAorICAjIEFJWCBoYXMgbm8gdmVyc2lvbmlu
ZyBzdXBwb3J0LCBzbyBjdXJyZW50bHkgd2UgY2FuIG5vdCBoYXJkY29kZSBjb3JyZWN0CisgICMg
c29uYW1lIGludG8gZXhlY3V0YWJsZS4gUHJvYmFibHkgd2UgY2FuIGFkZCB2ZXJzaW9uaW5nIHN1
cHBvcnQgdG8KKyAgIyBjb2xsZWN0Miwgc28gYWRkaXRpb25hbCBsaW5rcyBjYW4gYmUgdXNlZnVs
IGluIGZ1dHVyZS4KKyAgIyBXZSBwcmVzZXJ2ZSAuYSBhcyBleHRlbnNpb24gZm9yIHNoYXJlZCBs
aWJyYXJpZXMgdGhvdWdoIEFJWDQuMgorICAjIGFuZCBsYXRlciBsaW5rZXIgc3VwcG9ydHMgLnNv
CisgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc28kdmVyc3VmZml4
ICR7bGlibmFtZX0ke3JlbGVhc2V9LnNvJG1ham9yICRsaWJuYW1lLmEnCisgIHNobGlicGF0aF92
YXI9TElCUEFUSAorICBkZXBsaWJzX2NoZWNrX21ldGhvZD1wYXNzX2FsbAorICA7OworCithbWln
YW9zKikKKyAgbGlicmFyeV9uYW1lc19zcGVjPSckbGlibmFtZS5peGxpYnJhcnkgJGxpYm5hbWUu
YScKKyAgIyBDcmVhdGUgJHtsaWJuYW1lfV9peGxpYnJhcnkuYSBlbnRyaWVzIGluIC9zeXMvbGli
cy4KKyAgZmluaXNoX2V2YWw9J2ZvciBsaWIgaW4gYGxzICRsaWJkaXIvKi5peGxpYnJhcnkgMj4v
ZGV2L251bGxgOyBkbyBsaWJuYW1lPWAkZWNobyAiWCRsaWIiIHwgJFhzZWQgLWUgJ1wnJ3MlXi4q
L1woW14vXSpcKVwuaXhsaWJyYXJ5JCVcMSUnXCcnYDsgdGVzdCAkcm0gL3N5cy9saWJzLyR7bGli
bmFtZX1faXhsaWJyYXJ5LmE7ICRzaG93ICIoY2QgL3N5cy9saWJzICYmICRMTl9TICRsaWIgJHts
aWJuYW1lfV9peGxpYnJhcnkuYSkiOyAoY2QgL3N5cy9saWJzICYmICRMTl9TICRsaWIgJHtsaWJu
YW1lfV9peGxpYnJhcnkuYSkgfHwgZXhpdCAxOyBkb25lJworICA7OworCitiZW9zKikKKyAgbGli
cmFyeV9uYW1lc19zcGVjPScke2xpYm5hbWV9LnNvJworICBkeW5hbWljX2xpbmtlcj0iJGhvc3Rf
b3MgbGQuc28iCisgIHNobGlicGF0aF92YXI9TElCUkFSWV9QQVRICisgIDs7CisKK2JzZGk0KikK
KyAgdmVyc2lvbl90eXBlPWxpbnV4CisgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfS5z
byRtYWpvciAke2xpYm5hbWV9LnNvJworICBzb25hbWVfc3BlYz0nJHtsaWJuYW1lfS5zbycKKyAg
ZmluaXNoX2NtZHM9J1BBVEg9IiRQQVRIOi9zYmluIiBsZGNvbmZpZyAkbGliZGlyJworICBzaGxp
YnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAorICBkZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9t
YWdpYyBFTEYgMzItYml0IExTQiBzaGFyZWQgb2JqZWN0JworICBmaWxlX21hZ2ljX2NtZD0vdXNy
L2Jpbi9maWxlCisgIGZpbGVfbWFnaWNfdGVzdF9maWxlPS9zaGxpYi9saWJjLnNvCisgIHN5c19s
aWJfc2VhcmNoX3BhdGhfc3BlYz0iL3NobGliIC91c3IvbGliIC91c3IvWDExL2xpYiAvdXNyL2Nv
bnRyaWIvbGliIC9saWIgL3Vzci9sb2NhbC9saWIiCisgIHN5c19saWJfZGxzZWFyY2hfcGF0aF9z
cGVjPSIvc2hsaWIgL3Vzci9saWIgL3Vzci9sb2NhbC9saWIiCisgICMgdGhlIGRlZmF1bHQgbGQu
c28uY29uZiBhbHNvIGNvbnRhaW5zIC91c3IvY29udHJpYi9saWIgYW5kCisgICMgL3Vzci9YMTFS
Ni9saWIgKC91c3IvWDExIGlzIGEgbGluayB0byAvdXNyL1gxMVI2KSwgYnV0IGxldCB1cyBhbGxv
dworICAjIGxpYnRvb2wgdG8gaGFyZC1jb2RlIHRoZXNlIGludG8gcHJvZ3JhbXMKKyAgOzsKKwor
Y3lnd2luKiB8IG1pbmd3KikKKyAgdmVyc2lvbl90eXBlPXdpbmRvd3MKKyAgaWYgdGVzdCAiJHdp
dGhfZ2NjIiA9IHllczsgdGhlbgorICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfWBl
Y2hvICR7cmVsZWFzZX0gfCBzZWQgLWUgJ3MvWy5dLy0vZydgJHt2ZXJzdWZmaXh9LmRsbCAkbGli
bmFtZS5hJworICBlbHNlCisgICAgbGlicmFyeV9uYW1lc19zcGVjPScke2xpYm5hbWV9YGVjaG8g
JHtyZWxlYXNlfSB8IHNlZCAtZSAncy9bLl0vLS9nJ2Ake3ZlcnN1ZmZpeH0uZGxsICRsaWJuYW1l
LmxpYicKKyAgZmkKKyAgZHluYW1pY19saW5rZXI9J1dpbjMyIGxkLmV4ZScKKyAgZGVwbGlic19j
aGVja19tZXRob2Q9J2ZpbGVfbWFnaWMgZmlsZSBmb3JtYXQgcGVpKi1pMzg2LiphcmNoaXRlY3R1
cmU6IGkzODYnCisgIGZpbGVfbWFnaWNfY21kPSdvYmpkdW1wIC1mJworICBuZWVkX2xpYl9wcmVm
aXg9bm8KKyAgIyBGSVhNRTogZmlyc3Qgd2Ugc2hvdWxkIHNlYXJjaCAuIGFuZCB0aGUgZGlyZWN0
b3J5IHRoZSBleGVjdXRhYmxlIGlzIGluCisgIHNobGlicGF0aF92YXI9UEFUSAorICA7OworCitm
cmVlYnNkMSopCisgIGR5bmFtaWNfbGlua2VyPW5vCisgIDs7CisgIAorZnJlZWJzZCopCisgIG9i
amZvcm1hdD1gdGVzdCAteCAvdXNyL2Jpbi9vYmpmb3JtYXQgJiYgL3Vzci9iaW4vb2JqZm9ybWF0
IHx8IGVjaG8gYW91dGAKKyAgdmVyc2lvbl90eXBlPWZyZWVic2QtJG9iamZvcm1hdAorICBjYXNl
ICIkdmVyc2lvbl90eXBlIiBpbgorICAgIGZyZWVic2QtZWxmKikKKyAgICAgIGRlcGxpYnNfY2hl
Y2tfbWV0aG9kPSdmaWxlX21hZ2ljIEVMRiBbMC05XVswLTldKi1iaXQgW0xNXVNCIHNoYXJlZCBv
YmplY3QnCisgICAgICBmaWxlX21hZ2ljX2NtZD0vdXNyL2Jpbi9maWxlCisgICAgICBmaWxlX21h
Z2ljX3Rlc3RfZmlsZT1gZWNobyAvdXNyL2xpYi9saWJjLnNvKmAKKyAgICAgIGxpYnJhcnlfbmFt
ZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc28kdmVyc3VmZml4ICR7bGlibmFtZX0ke3Jl
bGVhc2V9LnNvICRsaWJuYW1lLnNvJworICAgICAgbmVlZF92ZXJzaW9uPW5vCisgICAgICBuZWVk
X2xpYl9wcmVmaXg9bm8KKyAgICAgIDs7CisgICAgZnJlZWJzZC0qKQorICAgICAgZGVwbGlic19j
aGVja19tZXRob2Q9dW5rbm93bgorICAgICAgbGlicmFyeV9uYW1lc19zcGVjPScke2xpYm5hbWV9
JHtyZWxlYXNlfS5zbyR2ZXJzdWZmaXggJGxpYm5hbWUuc28kdmVyc3VmZml4JworICAgICAgbmVl
ZF92ZXJzaW9uPXllcworICAgICAgOzsKKyAgZXNhYworICBmaW5pc2hfY21kcz0nUEFUSD0iJFBB
VEg6L3NiaW4iIE9CSkZPUk1BVD0iJyIkb2JqZm9ybWF0IiciIGxkY29uZmlnIC1tICRsaWJkaXIn
CisgIHNobGlicGF0aF92YXI9TERfTElCUkFSWV9QQVRICisgIDs7CisKK2dudSopCisgIHZlcnNp
b25fdHlwZT1saW51eAorICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9
LnNvJHZlcnN1ZmZpeCAke2xpYm5hbWV9LnNvJworICBzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllf
UEFUSAorICA7OworCitocHV4OSogfCBocHV4MTAqIHwgaHB1eDExKikKKyAgIyBHaXZlIGEgc29u
YW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG1ham9yIHZlcnNpb24gc28gdGhhdCBkbGQuc2wgcmVm
dXNlcyB0bworICAjIGxpbmsgYWdhaW5zdCBvdGhlciB2ZXJzaW9ucy4KKyAgZHluYW1pY19saW5r
ZXI9IiRob3N0X29zIGRsZC5zbCIKKyAgdmVyc2lvbl90eXBlPXN1bm9zCisgIG5lZWRfbGliX3By
ZWZpeD1ubworICBuZWVkX3ZlcnNpb249bm8KKyAgc2hsaWJwYXRoX3Zhcj1TSExJQl9QQVRICisg
IGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc2wkdmVyc3VmZml4ICR7
bGlibmFtZX0ke3JlbGVhc2V9LnNsJG1ham9yICRsaWJuYW1lLnNsJworICBzb25hbWVfc3BlYz0n
JHtsaWJuYW1lfSR7cmVsZWFzZX0uc2wkbWFqb3InCisgICMgSFAtVVggcnVucyAqcmVhbGx5KiBz
bG93bHkgdW5sZXNzIHNoYXJlZCBsaWJyYXJpZXMgYXJlIG1vZGUgNTU1LgorICBwb3N0aW5zdGFs
bF9jbWRzPSdjaG1vZCA1NTUgJGxpYicKKyAgOzsKKworaXJpeDUqKQorICB2ZXJzaW9uX3R5cGU9
aXJpeAorICBzb25hbWVfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc28nCisgIGxpYnJhcnlf
bmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc28kdmVyc3VmZml4ICR7bGlibmFtZX0k
e3JlbGVhc2V9LnNvICRsaWJuYW1lLnNvJworICBzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFU
SAorICBkZXBsaWJzX2NoZWNrX21ldGhvZD0iZmlsZV9tYWdpYyBFTEYgMzItYml0IE1TQiBkeW5h
bWljIGxpYiBNSVBTIC0gdmVyc2lvbiAxIiAjIG9yIHNob3VsZCBpdCBiZSBwYXNzX2FsbD8KKyAg
ZmlsZV9tYWdpY19jbWQ9L3Vzci9iaW4vZmlsZQorICBmaWxlX21hZ2ljX3Rlc3RfZmlsZT1gZWNo
byAvbGliL2xpYmMuc28qYAorICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9bm8KKyAgOzsK
KworaXJpeDYqKQorICB2ZXJzaW9uX3R5cGU9aXJpeAorICBuZWVkX2xpYl9wcmVmaXg9bm8KKyAg
bmVlZF92ZXJzaW9uPW5vCisgIHNvbmFtZV9zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfS5zbycK
KyAgbGlicmFyeV9uYW1lc19zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfS5zbyR2ZXJzdWZmaXgg
JHtsaWJuYW1lfSR7cmVsZWFzZX0uc28gJGxpYm5hbWUuc28nCisgIGNhc2UgIiRMRCIgaW4gIyBs
aWJ0b29sLm00IHdpbGwgYWRkIG9uZSBvZiB0aGVzZSBzd2l0Y2hlcyB0byBMRAorICAqLTMyfCoi
LTMyICIpIGxpYnN1ZmY9IHNobGlic3VmZj0gbGlibWFnaWM9MzItYml0OzsKKyAgKi1uMzJ8KiIt
bjMyICIpIGxpYnN1ZmY9MzIgc2hsaWJzdWZmPU4zMiBsaWJtYWdpYz1OMzI7OworICAqLTY0fCoi
LTY0ICIpIGxpYnN1ZmY9NjQgc2hsaWJzdWZmPTY0IGxpYm1hZ2ljPTY0LWJpdDs7CisgICopIGxp
YnN1ZmY9IHNobGlic3VmZj0gbGlibWFnaWM9bmV2ZXItbWF0Y2g7OworICBlc2FjCisgIHNobGli
cGF0aF92YXI9TERfTElCUkFSWSR7c2hsaWJzdWZmfV9QQVRICisgIHNobGlicGF0aF9vdmVycmlk
ZXNfcnVucGF0aD1ubworICAjIGV2ZW4gdGhvdWdoIC91c3IvbG9jYWwvbGliIGlzIGFsd2F5cyBz
ZWFyY2hlZCwgdGhlIG1hbi1wYWdlIHNheXMKKyAgIyBzaGFyZWQgbGlicmFyaWVzIHNob3VsZCBu
b3QgYmUgaW5zdGFsbGVkIHRoZXJlIGlmIHRoZXkgdXNlIGFuIEFCSQorICAjIGRpZmZlcmVudCBm
cm9tIC0zMiwgc28gd2UnZCBiZXR0ZXIgbm90IHNlYXJjaCBmb3Igc2hhcmVkIGxpYnJhcmllcwor
ICAjIHRoZXJlIGVpdGhlcgorICBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9Ii9saWIke2xpYnN1
ZmZ9IC91c3IvbGliJHtsaWJzdWZmfSAvdXNyL2xvY2FsL2xpYiR7bGlic3VmZn0iCisgIHN5c19s
aWJfZGxzZWFyY2hfcGF0aF9zcGVjPSIvbGliJHtsaWJzdWZmfSAvdXNyL2xpYiR7bGlic3VmZn0g
L3Vzci9sb2NhbC9saWIke2xpYnN1ZmZ9IgorICBkZXBsaWJzX2NoZWNrX21ldGhvZD0iZmlsZV9t
YWdpYyBFTEYgJHtsaWJtYWdpY30gTVNCIG1pcHMtWzEyMzRdIGR5bmFtaWMgbGliIE1JUFMgLSB2
ZXJzaW9uIDEiICMgb3Igc2hvdWxkIGl0IGJlIHBhc3NfYWxsPworICBmaWxlX21hZ2ljX2NtZD0v
dXNyL2Jpbi9maWxlCisgIGZpbGVfbWFnaWNfdGVzdF9maWxlPWBlY2hvIC9saWIke2xpYnN1ZmZ9
L2xpYmMuc28qYAorICA7OworCisjIE5vIHNoYXJlZCBsaWIgc3VwcG9ydCBmb3IgTGludXggb2xk
bGQsIGFvdXQsIG9yIGNvZmYuCitsaW51eC1nbnVvbGRsZCogfCBsaW51eC1nbnVhb3V0KiB8IGxp
bnV4LWdudWNvZmYqKQorICBkeW5hbWljX2xpbmtlcj1ubworICA7OworCisjIFRoaXMgbXVzdCBi
ZSBMaW51eCBFTEYuCitsaW51eC1nbnUqKQorICB2ZXJzaW9uX3R5cGU9bGludXgKKyAgbmVlZF9s
aWJfcHJlZml4PW5vCisgIG5lZWRfdmVyc2lvbj1ubworICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7
bGlibmFtZX0ke3JlbGVhc2V9LnNvJHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfS5zbyRt
YWpvciAkbGlibmFtZS5zbycKKyAgc29uYW1lX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9LnNv
JG1ham9yJworICBmaW5pc2hfY21kcz0nUEFUSD0iJFBBVEg6L3NiaW4iIGxkY29uZmlnIC1uICRs
aWJkaXInCisgIHNobGlicGF0aF92YXI9TERfTElCUkFSWV9QQVRICisgIHNobGlicGF0aF9vdmVy
cmlkZXNfcnVucGF0aD1ubworICBkZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBFTEYg
WzAtOV1bMC05XSotYml0IFtMTV1TQiAoc2hhcmVkIG9iamVjdHxkeW5hbWljIGxpYiApJworICBm
aWxlX21hZ2ljX2NtZD0vdXNyL2Jpbi9maWxlCisgIGZpbGVfbWFnaWNfdGVzdF9maWxlPWBlY2hv
IC9saWIvbGliYy5zbyogL2xpYi9saWJjLSouc29gCisKKyAgaWYgdGVzdCAtZiAvbGliL2xkLnNv
LjE7IHRoZW4KKyAgICBkeW5hbWljX2xpbmtlcj0nR05VIGxkLnNvJworICBlbHNlCisgICAgIyBP
bmx5IHRoZSBHTlUgbGQuc28gc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcyBvbiBNa0xpbnV4Lgor
ICAgIGNhc2UgIiRob3N0X2NwdSIgaW4KKyAgICBwb3dlcnBjKikgZHluYW1pY19saW5rZXI9bm8g
OzsKKyAgICAqKSBkeW5hbWljX2xpbmtlcj0nTGludXggbGQuc28nIDs7CisgICAgZXNhYworICBm
aQorICA7OworCituZXRic2QqKQorICB2ZXJzaW9uX3R5cGU9c3Vub3MKKyAgaWYgZWNobyBfX0VM
Rl9fIHwgJENDIC1FIC0gfCBncmVwIF9fRUxGX18gPi9kZXYvbnVsbDsgdGhlbgorICAgIGxpYnJh
cnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc28kdmVyc3VmZml4ICR7bGlibmFt
ZX0uc28kdmVyc3VmZml4JworICAgIGZpbmlzaF9jbWRzPSdQQVRIPSIkUEFUSDovc2JpbiIgbGRj
b25maWcgLW0gJGxpYmRpcicKKyAgICBkeW5hbWljX2xpbmtlcj0nTmV0QlNEIChhLm91dCkgbGQu
c28nCisgIGVsc2UKKyAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9
LnNvJHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfS5zbyRtYWpvciAke2xpYm5hbWV9JHty
ZWxlYXNlfS5zbyAke2xpYm5hbWV9LnNvJworICAgIHNvbmFtZV9zcGVjPScke2xpYm5hbWV9JHty
ZWxlYXNlfS5zbyRtYWpvcicKKyAgICBkeW5hbWljX2xpbmtlcj0nTmV0QlNEIGxkLmVsZl9zbycK
KyAgZmkKKyAgc2hsaWJwYXRoX3Zhcj1MRF9MSUJSQVJZX1BBVEgKKyAgOzsKKworb3BlbmJzZCop
CisgIHZlcnNpb25fdHlwZT1zdW5vcworICBpZiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0geWVzOyB0
aGVuCisgICAgbmVlZF9saWJfcHJlZml4PW5vCisgICAgbmVlZF92ZXJzaW9uPW5vCisgIGZpCisg
IGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc28kdmVyc3VmZml4ICR7
bGlibmFtZX0uc28kdmVyc3VmZml4JworICBmaW5pc2hfY21kcz0nUEFUSD0iXCRQQVRIOi9zYmlu
IiBsZGNvbmZpZyAtbSAkbGliZGlyJworICBzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAor
ICA7OworCitvczIqKQorICBsaWJuYW1lX3NwZWM9JyRuYW1lJworICBuZWVkX2xpYl9wcmVmaXg9
bm8KKyAgbGlicmFyeV9uYW1lc19zcGVjPSckbGlibmFtZS5kbGwgJGxpYm5hbWUuYScKKyAgZHlu
YW1pY19saW5rZXI9J09TLzIgbGQuZXhlJworICBzaGxpYnBhdGhfdmFyPUxJQlBBVEgKKyAgOzsK
Kworb3NmMyogfCBvc2Y0KikKKyAgdmVyc2lvbl90eXBlPW9zZgorICBzb25hbWVfc3BlYz0nJHts
aWJuYW1lfSR7cmVsZWFzZX0uc28nCisgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7
cmVsZWFzZX0uc28kdmVyc3VmZml4ICR7bGlibmFtZX0ke3JlbGVhc2V9LnNvICRsaWJuYW1lLnNv
JworICBzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAorICAjIGRlcGxpYnNfY2hlY2tfbWV0
aG9kPSdwYXNzX2FsbCcKKyAgIyBBbHRob3VnaCBwYXNzX2FsbCBhcHBlYXJzIHRvIHdvcmssIGl0
IGNvcGllcyBzeW1ib2xzIGZyb20gc3RhdGljIGxpYnJhcmllcworICAjIGludG8gc2hhcmVkIG9u
ZXMgYW5kIGV4cG9ydHMgdGhlbS4gIFNvLCB3aGVuIGEgcHJvZ3JhbSBpcyBsaW5rZWQgd2l0aCB0
d28KKyAgIyBvciBtb3JlIGxpYnJhcmllcyB0aGF0IGhhdmUgZ290IGNvcGllcyBvZiB0aGUgc2Ft
ZSBzeW1ib2xzLCBsaW5rIGZhaWxzCisgICMgVGhpcyB3YXMgb25seSB0ZXN0ZWQgb24gb3NmNDoK
KyAgZGVwbGlic19jaGVja19tZXRob2Q9J2ZpbGVfbWFnaWMgQ09GRiBmb3JtYXQgYWxwaGEgc2hh
cmVkIGxpYnJhcnknCisgIGZpbGVfbWFnaWNfY21kPS91c3IvYmluL2ZpbGUKKyAgZmlsZV9tYWdp
Y190ZXN0X2ZpbGU9L3NobGliL2xpYmMuc28KKyAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIv
dXNyL3NobGliIC91c3IvY2NzL2xpYiAvdXNyL2xpYi9jbXBscnMvY2MgL3Vzci9saWIgL3Vzci9s
b2NhbC9saWIgL3Zhci9zaGxpYiIKKyAgc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9IiRzeXNf
bGliX3NlYXJjaF9wYXRoX3NwZWMiCisgIDs7CisKK3NjbzMuMnY1KikKKyAgdmVyc2lvbl90eXBl
PW9zZgorICBzb25hbWVfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc28kbWFqb3InCisgIGxp
YnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc28kdmVyc3VmZml4ICR7bGli
bmFtZX0ke3JlbGVhc2V9LnNvJG1ham9yICRsaWJuYW1lLnNvJworICBzaGxpYnBhdGhfdmFyPUxE
X0xJQlJBUllfUEFUSAorICA7OworCitzb2xhcmlzKikKKyAgdmVyc2lvbl90eXBlPWxpbnV4Cisg
IG5lZWRfbGliX3ByZWZpeD1ubworICBuZWVkX3ZlcnNpb249bm8KKyAgbGlicmFyeV9uYW1lc19z
cGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfS5zbyR2ZXJzdWZmaXggJHtsaWJuYW1lfSR7cmVsZWFz
ZX0uc28kbWFqb3IgJGxpYm5hbWUuc28nCisgIHNvbmFtZV9zcGVjPScke2xpYm5hbWV9JHtyZWxl
YXNlfS5zbyRtYWpvcicKKyAgc2hsaWJwYXRoX3Zhcj1MRF9MSUJSQVJZX1BBVEgKKyAgc2hsaWJw
YXRoX292ZXJyaWRlc19ydW5wYXRoPXllcworICAjIGxkZCBjb21wbGFpbnMgdW5sZXNzIGxpYnJh
cmllcyBhcmUgZXhlY3V0YWJsZQorICBwb3N0aW5zdGFsbF9jbWRzPSdjaG1vZCAreCAkbGliJwor
ICBkZXBsaWJzX2NoZWNrX21ldGhvZD0iZmlsZV9tYWdpYyBFTEYgWzAtOV1bMC05XS1iaXQgW0xN
XVNCIGR5bmFtaWMgbGliIgorICBmaWxlX21hZ2ljX2NtZD0vdXNyL2Jpbi9maWxlCisgIGZpbGVf
bWFnaWNfdGVzdF9maWxlPS9saWIvbGliYy5zbworICA7OworCitzdW5vczQqKQorICB2ZXJzaW9u
X3R5cGU9c3Vub3MKKyAgbGlicmFyeV9uYW1lc19zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfS5z
byR2ZXJzdWZmaXggJHtsaWJuYW1lfS5zbyR2ZXJzdWZmaXgnCisgIGZpbmlzaF9jbWRzPSdQQVRI
PSJcJFBBVEg6L3Vzci9ldGMiIGxkY29uZmlnICRsaWJkaXInCisgIHNobGlicGF0aF92YXI9TERf
TElCUkFSWV9QQVRICisgIHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD15ZXMKKyAgaWYgdGVz
dCAiJHdpdGhfZ251X2xkIiA9IHllczsgdGhlbgorICAgIG5lZWRfbGliX3ByZWZpeD1ubworICBm
aQorICBuZWVkX3ZlcnNpb249eWVzCisgIDs7CisKK3N5c3Y0LjJ1dzIqIHwgc3lzdjQuMyogfCBz
eXN2NSopCisgIHZlcnNpb25fdHlwZT1saW51eAorICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGli
bmFtZX0ke3JlbGVhc2V9LnNvJHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfS5zbyRtYWpv
ciAkbGlibmFtZS5zbycKKyAgc29uYW1lX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9LnNvJG1h
am9yJworICBzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAorICBjYXNlICIkaG9zdF92ZW5k
b3IiIGluCisgICAgbmNyKQorICAgICAgZGVwbGlic19jaGVja19tZXRob2Q9J3Bhc3NfYWxsJwor
ICAgICAgOzsKKyAgZXNhYworICA7OworCit1dHM0KikKKyAgdmVyc2lvbl90eXBlPWxpbnV4Cisg
IGxpYnJhcnlfbmFtZXNfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0uc28kdmVyc3VmZml4ICR7
bGlibmFtZX0ke3JlbGVhc2V9LnNvJG1ham9yICRsaWJuYW1lLnNvJworICBzb25hbWVfc3BlYz0n
JHtsaWJuYW1lfSR7cmVsZWFzZX0uc28kbWFqb3InCisgIHNobGlicGF0aF92YXI9TERfTElCUkFS
WV9QQVRICisgIDs7CisKK2RndXgqKQorICB2ZXJzaW9uX3R5cGU9bGludXgKKyAgbmVlZF9saWJf
cHJlZml4PW5vCisgIG5lZWRfdmVyc2lvbj1ubworICBsaWJyYXJ5X25hbWVzX3NwZWM9JyR7bGli
bmFtZX0ke3JlbGVhc2V9LnNvJHZlcnN1ZmZpeCAke2xpYm5hbWV9JHtyZWxlYXNlfS5zbyRtYWpv
ciAkbGlibmFtZS5zbycKKyAgc29uYW1lX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9LnNvJG1h
am9yJworICBzaGxpYnBhdGhfdmFyPUxEX0xJQlJBUllfUEFUSAorICA7OworCisqKQorICBkeW5h
bWljX2xpbmtlcj1ubworICA7OworZXNhYworZWNobyAiJGFjX3QkZHluYW1pY19saW5rZXIiIDE+
JjYKK3Rlc3QgIiRkeW5hbWljX2xpbmtlciIgPSBubyAmJiBjYW5fYnVpbGRfc2hhcmVkPW5vCisK
KyMgUmVwb3J0IHRoZSBmaW5hbCBjb25zZXF1ZW5jZXMuCitlY2hvICJjaGVja2luZyBpZiBsaWJ0
b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4gJGNhbl9idWlsZF9zaGFyZWQiIDE+JjYK
KworaWYgdGVzdCAtbiAiJGZpbGVfbWFnaWNfdGVzdF9maWxlIiAmJiB0ZXN0IC1uICIkZmlsZV9t
YWdpY19jbWQiOyB0aGVuCisgIGNhc2UgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgaW4KKyAgImZp
bGVfbWFnaWMgIiopCisgICAgZmlsZV9tYWdpY19yZWdleD0iYGV4cHIgXCIkZGVwbGlic19jaGVj
a19tZXRob2RcIiA6IFwiZmlsZV9tYWdpYyBcKC4qXClcImAiCisgICAgaWYgZXZhbCAkZmlsZV9t
YWdpY19jbWQgXCRmaWxlX21hZ2ljX3Rlc3RfZmlsZSAyPiAvZGV2L251bGwgfAorICAgICAgIGVn
cmVwICIkZmlsZV9tYWdpY19yZWdleCIgPiAvZGV2L251bGw7IHRoZW4KKyAgICAgIDoKKyAgICBl
bHNlCisgICAgICBjYXQgPDxFT0YgMT4mMgorCisqKiogV2FybmluZzogdGhlIGNvbW1hbmQgbGli
dG9vbCB1c2VzIHRvIGRldGVjdCBzaGFyZWQgbGlicmFyaWVzLAorKioqICRmaWxlX21hZ2ljX2Nt
ZCwgcHJvZHVjZXMgb3V0cHV0IHRoYXQgbGlidG9vbCBjYW5ub3QgcmVjb2duaXplLgorKioqIFRo
ZSByZXN1bHQgaXMgdGhhdCBsaWJ0b29sIG1heSBmYWlsIHRvIHJlY29nbml6ZSBzaGFyZWQgbGli
cmFyaWVzCisqKiogYXMgc3VjaC4gIFRoaXMgd2lsbCBhZmZlY3QgdGhlIGNyZWF0aW9uIG9mIGxp
YnRvb2wgbGlicmFyaWVzIHRoYXQKKyoqKiBkZXBlbmQgb24gc2hhcmVkIGxpYnJhcmllcywgYnV0
IHByb2dyYW1zIGxpbmtlZCB3aXRoIHN1Y2ggbGlidG9vbAorKioqIGxpYnJhcmllcyB3aWxsIHdv
cmsgcmVnYXJkbGVzcyBvZiB0aGlzIHByb2JsZW0uICBOZXZlcnRoZWxlc3MsIHlvdQorKioqIG1h
eSB3YW50IHRvIHJlcG9ydCB0aGUgcHJvYmxlbSB0byB5b3VyIHN5c3RlbSBtYW5hZ2VyIGFuZC9v
ciB0bworKioqIGJ1Zy1saWJ0b29sQGdudS5vcmcKKworRU9GCisgICAgZmkgOzsKKyAgZXNhYwor
ZmkKKworZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFy
aWVzLi4uICRhY19jIiAxPiY2Cit0ZXN0ICIkY2FuX2J1aWxkX3NoYXJlZCIgPSAibm8iICYmIGVu
YWJsZV9zaGFyZWQ9bm8KKworIyBPbiBBSVgsIHNoYXJlZCBsaWJyYXJpZXMgYW5kIHN0YXRpYyBs
aWJyYXJpZXMgdXNlIHRoZSBzYW1lIG5hbWVzcGFjZSwgYW5kCisjIGFyZSBhbGwgYnVpbHQgZnJv
bSBQSUMuCitjYXNlICIkaG9zdF9vcyIgaW4KK2FpeDMqKQorICB0ZXN0ICIkZW5hYmxlX3NoYXJl
ZCIgPSB5ZXMgJiYgZW5hYmxlX3N0YXRpYz1ubworICBpZiB0ZXN0IC1uICIkUkFOTElCIjsgdGhl
bgorICAgIGFyY2hpdmVfY21kcz0iJGFyY2hpdmVfY21kc35cJFJBTkxJQiBcJGxpYiIKKyAgICBw
b3N0aW5zdGFsbF9jbWRzPSckUkFOTElCICRsaWInCisgIGZpCisgIDs7CisKK2FpeDQqKQorICB0
ZXN0ICIkZW5hYmxlX3NoYXJlZCIgPSB5ZXMgJiYgZW5hYmxlX3N0YXRpYz1ubworICA7OworZXNh
YworCitlY2hvICIkYWNfdCRlbmFibGVfc2hhcmVkIiAxPiY2CisKKyMgTWFrZSBzdXJlIGVpdGhl
ciBlbmFibGVfc2hhcmVkIG9yIGVuYWJsZV9zdGF0aWMgaXMgeWVzLgordGVzdCAiJGVuYWJsZV9z
aGFyZWQiID0geWVzIHx8IGVuYWJsZV9zdGF0aWM9eWVzCisKK2VjaG8gImNoZWNraW5nIHdoZXRo
ZXIgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmllcy4uLiAkZW5hYmxlX3N0YXRpYyIgMT4mNgorCitp
ZiB0ZXN0ICIkaGFyZGNvZGVfYWN0aW9uIiA9IHJlbGluazsgdGhlbgorICAjIEZhc3QgaW5zdGFs
bGF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQKKyAgZW5hYmxlX2Zhc3RfaW5zdGFsbD1ubworZWxpZiB0
ZXN0ICIkc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoIiA9IHllcyB8fAorICAgICB0ZXN0ICIk
ZW5hYmxlX3NoYXJlZCIgPSBubzsgdGhlbgorICAjIEZhc3QgaW5zdGFsbGF0aW9uIGlzIG5vdCBu
ZWNlc3NhcnkKKyAgZW5hYmxlX2Zhc3RfaW5zdGFsbD1uZWVkbGVzcworZmkKKworZWNobyAkYWNf
biAiY2hlY2tpbmcgZm9yIG9iamRpci4uLiAkYWNfYyIgMT4mNgorcm0gLWYgLmxpYnMgMj4vZGV2
L251bGwKK21rZGlyIC5saWJzIDI+L2Rldi9udWxsCitpZiB0ZXN0IC1kIC5saWJzOyB0aGVuCisg
IG9iamRpcj0ubGlicworZWxzZQorICAjIE1TLURPUyBkb2VzIG5vdCBhbGxvdyBmaWxlbmFtZXMg
dGhhdCBiZWdpbiB3aXRoIGEgZG90LgorICBvYmpkaXI9X2xpYnMKK2ZpCitybWRpciAubGlicyAy
Pi9kZXYvbnVsbAorZWNobyAiJGFjX3Qkb2JqZGlyIiAxPiY2CisKK2lmIHRlc3QgIngkZW5hYmxl
X2Rsb3BlbiIgIT0geHllczsgdGhlbgorICBlbmFibGVfZGxvcGVuPXVua25vd24KKyAgZW5hYmxl
X2Rsb3Blbl9zZWxmPXVua25vd24KKyAgZW5hYmxlX2Rsb3Blbl9zZWxmX3N0YXRpYz11bmtub3du
CitlbHNlCitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snbHRfY3ZfZGxvcGVuJytzZXR9J2Bc
IiAhPSBzZXQiOyB0aGVuCisgIGx0X2N2X2Rsb3Blbj1ubyBsdF9jdl9kbG9wZW5fbGlicz0KK2Vj
aG8gJGFjX24gImNoZWNraW5nIGZvciBkbG9wZW4iIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiJHBy
b2duYW1lOjE5Nzc6IGNoZWNraW5nIGZvciBkbG9wZW4iID4mNQoraWYgZXZhbCAidGVzdCBcImBl
Y2hvICckJyd7J2FjX2N2X2Z1bmNfZGxvcGVuJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNo
byAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgY2F0ID4gY29uZnRlc3QuJGFj
X2V4dCA8PEVPRgorI2xpbmUgMTk4MiAibHRjb25maWciCisvKiBTeXN0ZW0gaGVhZGVyIHRvIGRl
ZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCisgICAgd2hp
Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBkbG9wZW4oKTsgYmVsb3cuICAqLworI2luY2x1ZGUg
PGFzc2VydC5oPgorLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2
b2lkIGFuIGVycm9yLiAgKi8KKy8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNo
IHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKKyAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1
bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLworY2hhciBkbG9wZW4oKTsKKwor
aW50IG1haW4oKSB7CisKKy8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu
Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKKyAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ
Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAorICAgIHNvbWV0aGluZyBzdGFy
dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLworI2lmIGRl
ZmluZWQgKF9fc3R1Yl9kbG9wZW4pIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2Rsb3BlbikKK2Nob2tl
IG1lCisjZWxzZQorZGxvcGVuKCk7CisjZW5kaWYKKworOyByZXR1cm4gMDsgfQorRU9GCitpZiB7
IChldmFsIGVjaG8gJHByb2duYW1lOjIwMDQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFj
X2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICBy
bSAtcmYgY29uZnRlc3QqCisgIGV2YWwgImFjX2N2X2Z1bmNfZGxvcGVuPXllcyIKK2Vsc2UKKyAg
ZWNobyAiJHByb2duYW1lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKyAgY2F0IGNvbmZ0ZXN0
LiRhY19leHQgPiY1CisgIHJtIC1yZiBjb25mdGVzdCoKKyAgZXZhbCAiYWNfY3ZfZnVuY19kbG9w
ZW49bm8iCitmaQorcm0gLWYgY29uZnRlc3QqCitmaQorCitpZiBldmFsICJ0ZXN0IFwiYGVjaG8g
JyRhY19jdl9mdW5jXydkbG9wZW5gXCIgPSB5ZXMiOyB0aGVuCisgIGVjaG8gIiRhY190IiJ5ZXMi
IDE+JjYKKyAgbHRfY3ZfZGxvcGVuPSJkbG9wZW4iCitlbHNlCisgIGVjaG8gIiRhY190IiJubyIg
MT4mNgorZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGRsb3BlbiBpbiAtbGRsIiIuLi4gJGFjX2Mi
IDE+JjYKK2VjaG8gIiRwcm9nbmFtZToyMDIyOiBjaGVja2luZyBmb3IgZGxvcGVuIGluIC1sZGwi
ID4mNQorYWNfbGliX3Zhcj1gZWNobyBkbCdfJ2Rsb3BlbiB8IHNlZCAneSUuLystJV9fcF8lJ2AK
K2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXInK3NldH0n
YFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxz
ZQorICBhY19zYXZlX0xJQlM9IiRMSUJTIgorTElCUz0iLWxkbCAgJExJQlMiCitjYXQgPiBjb25m
dGVzdC4kYWNfZXh0IDw8RU9GCisjbGluZSAyMDMwICJsdGNvbmZpZyIKKy8qIE92ZXJyaWRlIGFu
eSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCisvKiBXZSB1
c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My
CisgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs
IGFwcGx5LiAgKi8KK2NoYXIgZGxvcGVuKCk7CisKK2ludCBtYWluKCkgeworZGxvcGVuKCkKKzsg
cmV0dXJuIDA7IH0KK0VPRgoraWYgeyAoZXZhbCBlY2hvICRwcm9nbmFtZToyMDQwOiBcIiRhY19s
aW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qk
e2FjX2V4ZWV4dH07IHRoZW4KKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICBldmFsICJhY19jdl9saWJf
JGFjX2xpYl92YXI9eWVzIgorZWxzZQorICBlY2hvICIkcHJvZ25hbWU6IGZhaWxlZCBwcm9ncmFt
IHdhczoiID4mNQorICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKyAgcm0gLXJmIGNvbmZ0ZXN0
KgorICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9bm8iCitmaQorcm0gLWYgY29uZnRlc3Qq
CitMSUJTPSIkYWNfc2F2ZV9MSUJTIgorCitmaQoraWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNf
Y3ZfbGliXyckYWNfbGliX3ZhcmBcIiA9IHllcyI7IHRoZW4KKyAgZWNobyAiJGFjX3QiInllcyIg
MT4mNgorICBsdF9jdl9kbG9wZW49ImRsb3BlbiIgbHRfY3ZfZGxvcGVuX2xpYnM9Ii1sZGwiCitl
bHNlCisgIGVjaG8gIiRhY190IiJubyIgMT4mNgorZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGRs
ZF9saW5rIGluIC1sZGxkIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gIiRwcm9nbmFtZToyMDU5OiBj
aGVja2luZyBmb3IgZGxkX2xpbmsgaW4gLWxkbGQiID4mNQorYWNfbGliX3Zhcj1gZWNobyBkbGQn
XydkbGRfbGluayB8IHNlZCAneSUuLystJV9fcF8lJ2AKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAn
JCcneydhY19jdl9saWJfJGFjX2xpYl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hv
ICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICBhY19zYXZlX0xJQlM9IiRMSUJT
IgorTElCUz0iLWxkbGQgICRMSUJTIgorY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorI2xp
bmUgMjA2NyAibHRjb25maWciCisvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5
cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln
aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorICAgIGJ1aWx0aW4gYW5kIHRoZW4g
aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCitjaGFyIGRsZF9s
aW5rKCk7CisKK2ludCBtYWluKCkgeworZGxkX2xpbmsoKQorOyByZXR1cm4gMDsgfQorRU9GCitp
ZiB7IChldmFsIGVjaG8gJHByb2duYW1lOjIwNzc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwg
JGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgor
ICBybSAtcmYgY29uZnRlc3QqCisgIGV2YWwgImFjX2N2X2xpYl8kYWNfbGliX3Zhcj15ZXMiCitl
bHNlCisgIGVjaG8gIiRwcm9nbmFtZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisgIGNhdCBj
b25mdGVzdC4kYWNfZXh0ID4mNQorICBybSAtcmYgY29uZnRlc3QqCisgIGV2YWwgImFjX2N2X2xp
Yl8kYWNfbGliX3Zhcj1ubyIKK2ZpCitybSAtZiBjb25mdGVzdCoKK0xJQlM9IiRhY19zYXZlX0xJ
QlMiCisKK2ZpCitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9saWJfJyRhY19saWJfdmFy
YFwiID0geWVzIjsgdGhlbgorICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgIGx0X2N2X2Rsb3Bl
bj0iZGxkX2xpbmsiIGx0X2N2X2Rsb3Blbl9saWJzPSItbGRsZCIKK2Vsc2UKKyAgZWNobyAiJGFj
X3QiIm5vIiAxPiY2CitlY2hvICRhY19uICJjaGVja2luZyBmb3Igc2hsX2xvYWQiIi4uLiAkYWNf
YyIgMT4mNgorZWNobyAiJHByb2duYW1lOjIwOTY6IGNoZWNraW5nIGZvciBzaGxfbG9hZCIgPiY1
CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY19zaGxfbG9hZCcrc2V0fSdg
XCIgPSBzZXQiOyB0aGVuCisgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitlbHNl
CisgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKyNsaW5lIDIxMDEgImx0Y29uZmlnIgor
LyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZl
dyBwcm90b3R5cGVzLAorICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc2hsX2xvYWQo
KTsgYmVsb3cuICAqLworI2luY2x1ZGUgPGFzc2VydC5oPgorLyogT3ZlcnJpZGUgYW55IGdjYzIg
aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KKy8qIFdlIHVzZSBjaGFy
IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKKyAgICBi
dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku
ICAqLworY2hhciBzaGxfbG9hZCgpOworCitpbnQgbWFpbigpIHsKKworLyogVGhlIEdOVSBDIGxp
YnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cworICAg
IHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5
IG5hbWVkCisgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt
ZSBpcyBhbiBhbGlhcy4gICovCisjaWYgZGVmaW5lZCAoX19zdHViX3NobF9sb2FkKSB8fCBkZWZp
bmVkIChfX3N0dWJfX19zaGxfbG9hZCkKK2Nob2tlIG1lCisjZWxzZQorc2hsX2xvYWQoKTsKKyNl
bmRpZgorCis7IHJldHVybiAwOyB9CitFT0YKK2lmIHsgKGV2YWwgZWNobyAkcHJvZ25hbWU6MjEy
MzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1z
IGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgIHJtIC1yZiBjb25mdGVzdCoKKyAgZXZhbCAi
YWNfY3ZfZnVuY19zaGxfbG9hZD15ZXMiCitlbHNlCisgIGVjaG8gIiRwcm9nbmFtZTogZmFpbGVk
IHByb2dyYW0gd2FzOiIgPiY1CisgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorICBybSAtcmYg
Y29uZnRlc3QqCisgIGV2YWwgImFjX2N2X2Z1bmNfc2hsX2xvYWQ9bm8iCitmaQorcm0gLWYgY29u
ZnRlc3QqCitmaQorCitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9mdW5jXydzaGxfbG9h
ZGBcIiA9IHllcyI7IHRoZW4KKyAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorICBsdF9jdl9kbG9w
ZW49InNobF9sb2FkIgorZWxzZQorICBlY2hvICIkYWNfdCIibm8iIDE+JjYKK2VjaG8gJGFjX24g
ImNoZWNraW5nIGZvciBMb2FkTGlicmFyeSIiLi4uICRhY19jIiAxPiY2CitlY2hvICIkcHJvZ25h
bWU6MjE0MTogY2hlY2tpbmcgZm9yIExvYWRMaWJyYXJ5IiA+JjUKK2lmIGV2YWwgInRlc3QgXCJg
ZWNobyAnJCcneydhY19jdl9mdW5jX0xvYWRMaWJyYXJ5JytzZXR9J2BcIiA9IHNldCI7IHRoZW4K
KyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgY2F0ID4gY29uZnRl
c3QuJGFjX2V4dCA8PEVPRgorI2xpbmUgMjE0NiAibHRjb25maWciCisvKiBTeXN0ZW0gaGVhZGVy
IHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCisg
ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBMb2FkTGlicmFyeSgpOyBiZWxvdy4gICov
CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90
b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQg
bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorICAgIGJ1aWx0aW4gYW5kIHRo
ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCitjaGFyIExv
YWRMaWJyYXJ5KCk7CisKK2ludCBtYWluKCkgeworCisvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZp
bmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCisgICAgdG8gYWx3YXlz
IGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKKyAg
ICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFs
aWFzLiAgKi8KKyNpZiBkZWZpbmVkIChfX3N0dWJfTG9hZExpYnJhcnkpIHx8IGRlZmluZWQgKF9f
c3R1Yl9fX0xvYWRMaWJyYXJ5KQorY2hva2UgbWUKKyNlbHNlCitMb2FkTGlicmFyeSgpOworI2Vu
ZGlmCisKKzsgcmV0dXJuIDA7IH0KK0VPRgoraWYgeyAoZXZhbCBlY2hvICRwcm9nbmFtZToyMTY4
OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMg
Y29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICBldmFsICJh
Y19jdl9mdW5jX0xvYWRMaWJyYXJ5PXllcyIKK2Vsc2UKKyAgZWNobyAiJHByb2duYW1lOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisgIHJtIC1y
ZiBjb25mdGVzdCoKKyAgZXZhbCAiYWNfY3ZfZnVuY19Mb2FkTGlicmFyeT1ubyIKK2ZpCitybSAt
ZiBjb25mdGVzdCoKK2ZpCisKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJGFjX2N2X2Z1bmNfJ0xv
YWRMaWJyYXJ5YFwiID0geWVzIjsgdGhlbgorICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgIGx0
X2N2X2Rsb3Blbj0iTG9hZExpYnJhcnkiCitlbHNlCisgIGVjaG8gIiRhY190IiJubyIgMT4mNgor
ZmkKKworICAgICAgCitmaQorCisgICAgCitmaQorCisgIAorZmkKKworCitmaQorCitmaQorCisg
IGlmIHRlc3QgIngkbHRfY3ZfZGxvcGVuIiAhPSB4bm87IHRoZW4KKyAgICBlbmFibGVfZGxvcGVu
PXllcworICBmaQorCisgIGNhc2UgIiRsdF9jdl9kbG9wZW4iIGluCisgIGRsb3BlbikKK2ZvciBh
Y19oZHIgaW4gZGxmY24uaDsgZG8KK2FjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4v
Ky0lX19wXyUnYAorZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIg
MT4mNgorZWNobyAiJHByb2duYW1lOjIyMTA6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKK2lm
IGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwi
ID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQor
ICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisjbGluZSAyMjE1ICJsdGNvbmZpZyIKKyNp
bmNsdWRlIDwkYWNfaGRyPgoraW50IGZub3JkID0gMDsKK0VPRgorYWNfdHJ5PSIkYWNfY29tcGls
ZSBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiCit7IChldmFsIGVj
aG8gJHByb2duYW1lOjIyMjA6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1
OyB9CithY19lcnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25m
dGVzdC4ke2FjX2V4dH1cJCJgCitpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorICBybSAtcmYg
Y29uZnRlc3QqCisgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCitlbHNlCisgIGVj
aG8gIiRhY19lcnIiID4mNQorICBlY2hvICIkcHJvZ25hbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoi
ID4mNQorICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICBl
dmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9bm8iCitmaQorcm0gLWYgY29uZnRlc3QqCitmaQor
aWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNfY3ZfaGVhZGVyXyckYWNfc2FmZWBcIiA9IHllcyI7
IHRoZW4KKyAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorZWxzZQorICBlY2hvICIkYWNfdCIibm8i
IDE+JjYKK2ZpCitkb25lCisKKyAgICBpZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9kbGZjbl9oIiA9
IHh5ZXM7IHRoZW4KKyAgICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgLURIQVZFX0RMRkNOX0giCisg
ICAgZmkKKyAgICBldmFsIExERkxBR1M9XCJcJExERkxBR1MgJGV4cG9ydF9keW5hbWljX2ZsYWdf
c3BlY1wiCisgICAgTElCUz0iJGx0X2N2X2Rsb3Blbl9saWJzICRMSUJTIgorCisgIGVjaG8gJGFj
X24gImNoZWNraW5nIHdoZXRoZXIgYSBwcm9ncmFtIGNhbiBkbG9wZW4gaXRzZWxmIiIuLi4gJGFj
X2MiIDE+JjYKK2VjaG8gIiRwcm9nbmFtZToyMjQ4OiBjaGVja2luZyB3aGV0aGVyIGEgcHJvZ3Jh
bSBjYW4gZGxvcGVuIGl0c2VsZiIgPiY1CitpZiB0ZXN0ICIke2x0X2N2X2Rsb3Blbl9zZWxmK3Nl
dH0iID0gc2V0OyB0aGVuCisgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitlbHNl
CisgIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuCisgICAgbHRfY3ZfZGxv
cGVuX3NlbGY9Y3Jvc3MKKyAgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LmMgPDxFT0YKKyNsaW5l
IDIyNTYgImx0Y29uZmlnIgorCisjaWYgSEFWRV9ETEZDTl9ICisjaW5jbHVkZSA8ZGxmY24uaD4K
KyNlbmRpZgorCisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2lmZGVmIFJUTERfR0xPQkFMCisjIGRl
ZmluZSBMVERMX0dMT0JBTAlSVExEX0dMT0JBTAorI2Vsc2UKKyMgaWZkZWYgRExfR0xPQkFMCisj
ICBkZWZpbmUgTFRETF9HTE9CQUwJRExfR0xPQkFMCisjIGVsc2UKKyMgIGRlZmluZSBMVERMX0dM
T0JBTAkwCisjIGVuZGlmCisjZW5kaWYKKworLyogV2UgbWF5IGhhdmUgdG8gZGVmaW5lIExURExf
TEFaWV9PUl9OT1cgaW4gdGhlIGNvbW1hbmQgbGluZSBpZiB3ZQorICAgZmluZCBvdXQgaXQgZG9l
cyBub3Qgd29yayBpbiBzb21lIHBsYXRmb3JtLiAqLworI2lmbmRlZiBMVERMX0xBWllfT1JfTk9X
CisjIGlmZGVmIFJUTERfTEFaWQorIyAgZGVmaW5lIExURExfTEFaWV9PUl9OT1cJUlRMRF9MQVpZ
CisjIGVsc2UKKyMgIGlmZGVmIERMX0xBWlkKKyMgICBkZWZpbmUgTFRETF9MQVpZX09SX05PVwlE
TF9MQVpZCisjICBlbHNlCisjICAgaWZkZWYgUlRMRF9OT1cKKyMgICAgZGVmaW5lIExURExfTEFa
WV9PUl9OT1cJUlRMRF9OT1cKKyMgICBlbHNlCisjICAgIGlmZGVmIERMX05PVworIyAgICAgZGVm
aW5lIExURExfTEFaWV9PUl9OT1cJRExfTk9XCisjICAgIGVsc2UKKyMgICAgIGRlZmluZSBMVERM
X0xBWllfT1JfTk9XCTAKKyMgICAgZW5kaWYKKyMgICBlbmRpZgorIyAgZW5kaWYKKyMgZW5kaWYK
KyNlbmRpZgorCitmbm9yZCgpIHsgaW50IGk9NDI7fQorbWFpbigpIHsgdm9pZCAqc2VsZiwgKnB0
cjEsICpwdHIyOyBzZWxmPWRsb3BlbigwLExURExfR0xPQkFMfExURExfTEFaWV9PUl9OT1cpOwor
ICAgIGlmKHNlbGYpIHsgcHRyMT1kbHN5bShzZWxmLCJmbm9yZCIpOyBwdHIyPWRsc3ltKHNlbGYs
Il9mbm9yZCIpOworCSAgICAgICBpZihwdHIxIHx8IHB0cjIpIGV4aXQoMCk7IH0gZXhpdCgxKTsg
fSAKKworRU9GCitpZiB7IChldmFsIGVjaG8gJHByb2duYW1lOjIzMDI6IFwiJGFjX2xpbmtcIikg
MT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCAmJiAoLi9j
b25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKK3RoZW4KKyAgbHRfY3ZfZGxvcGVuX3NlbGY9eWVz
CitlbHNlCisgIGVjaG8gIiRwcm9nbmFtZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisgIGNh
dCBjb25mdGVzdC4kYWNfZXh0ID4mNQorICBybSAtZnIgY29uZnRlc3QqCisgIGx0X2N2X2Rsb3Bl
bl9zZWxmPW5vCitmaQorcm0gLWZyIGNvbmZ0ZXN0KgorZmkKKworZmkKKworZWNobyAiJGFjX3Qi
IiRsdF9jdl9kbG9wZW5fc2VsZiIgMT4mNgorCisgIGlmIHRlc3QgIiRsdF9jdl9kbG9wZW5fc2Vs
ZiIgPSB5ZXM7IHRoZW4KKyAgICBMREZMQUdTPSIkTERGTEFHUyAkbGlua19zdGF0aWNfZmxhZyIK
KyAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciBhIHN0YXRpY2FsbHkgbGlua2VkIHByb2dy
YW0gY2FuIGRsb3BlbiBpdHNlbGYiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiJHByb2duYW1lOjIz
MjE6IGNoZWNraW5nIHdoZXRoZXIgYSBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtIGNhbiBkbG9w
ZW4gaXRzZWxmIiA+JjUKK2lmIHRlc3QgIiR7bHRfY3ZfZGxvcGVuX3NlbGZfc3RhdGljK3NldH0i
ID0gc2V0OyB0aGVuCisgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitlbHNlCisg
IGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuCisgICAgbHRfY3ZfZGxvcGVu
X3NlbGZfc3RhdGljPWNyb3NzCisgIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC5jIDw8RU9GCisj
bGluZSAyMzI5ICJsdGNvbmZpZyIKKworI2lmIEhBVkVfRExGQ05fSAorI2luY2x1ZGUgPGRsZmNu
Lmg+CisjZW5kaWYKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNpZmRlZiBSVExEX0dMT0JBTAor
IyBkZWZpbmUgTFRETF9HTE9CQUwJUlRMRF9HTE9CQUwKKyNlbHNlCisjIGlmZGVmIERMX0dMT0JB
TAorIyAgZGVmaW5lIExURExfR0xPQkFMCURMX0dMT0JBTAorIyBlbHNlCisjICBkZWZpbmUgTFRE
TF9HTE9CQUwJMAorIyBlbmRpZgorI2VuZGlmCisKKy8qIFdlIG1heSBoYXZlIHRvIGRlZmluZSBM
VERMX0xBWllfT1JfTk9XIGluIHRoZSBjb21tYW5kIGxpbmUgaWYgd2UKKyAgIGZpbmQgb3V0IGl0
IGRvZXMgbm90IHdvcmsgaW4gc29tZSBwbGF0Zm9ybS4gKi8KKyNpZm5kZWYgTFRETF9MQVpZX09S
X05PVworIyBpZmRlZiBSVExEX0xBWlkKKyMgIGRlZmluZSBMVERMX0xBWllfT1JfTk9XCVJUTERf
TEFaWQorIyBlbHNlCisjICBpZmRlZiBETF9MQVpZCisjICAgZGVmaW5lIExURExfTEFaWV9PUl9O
T1cJRExfTEFaWQorIyAgZWxzZQorIyAgIGlmZGVmIFJUTERfTk9XCisjICAgIGRlZmluZSBMVERM
X0xBWllfT1JfTk9XCVJUTERfTk9XCisjICAgZWxzZQorIyAgICBpZmRlZiBETF9OT1cKKyMgICAg
IGRlZmluZSBMVERMX0xBWllfT1JfTk9XCURMX05PVworIyAgICBlbHNlCisjICAgICBkZWZpbmUg
TFRETF9MQVpZX09SX05PVwkwCisjICAgIGVuZGlmCisjICAgZW5kaWYKKyMgIGVuZGlmCisjIGVu
ZGlmCisjZW5kaWYKKworZm5vcmQoKSB7IGludCBpPTQyO30KK21haW4oKSB7IHZvaWQgKnNlbGYs
ICpwdHIxLCAqcHRyMjsgc2VsZj1kbG9wZW4oMCxMVERMX0dMT0JBTHxMVERMX0xBWllfT1JfTk9X
KTsKKyAgICBpZihzZWxmKSB7IHB0cjE9ZGxzeW0oc2VsZiwiZm5vcmQiKTsgcHRyMj1kbHN5bShz
ZWxmLCJfZm5vcmQiKTsKKyAgICBpZihwdHIxIHx8IHB0cjIpIGV4aXQoMCk7IH0gZXhpdCgxKTsg
fSAKKworRU9GCitpZiB7IChldmFsIGVjaG8gJHByb2duYW1lOjIzNzU6IFwiJGFjX2xpbmtcIikg
MT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCAmJiAoLi9j
b25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKK3RoZW4KKyAgbHRfY3ZfZGxvcGVuX3NlbGZfc3Rh
dGljPXllcworZWxzZQorICBlY2hvICIkcHJvZ25hbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4m
NQorICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKyAgcm0gLWZyIGNvbmZ0ZXN0KgorICBsdF9j
dl9kbG9wZW5fc2VsZl9zdGF0aWM9bm8KK2ZpCitybSAtZnIgY29uZnRlc3QqCitmaQorCitmaQor
CitlY2hvICIkYWNfdCIiJGx0X2N2X2Rsb3Blbl9zZWxmX3N0YXRpYyIgMT4mNgorZmkKKyAgICA7
OworICBlc2FjCisKKyAgY2FzZSAiJGx0X2N2X2Rsb3Blbl9zZWxmIiBpbgorICB5ZXN8bm8pIGVu
YWJsZV9kbG9wZW5fc2VsZj0kbHRfY3ZfZGxvcGVuX3NlbGYgOzsKKyAgKikgZW5hYmxlX2Rsb3Bl
bl9zZWxmPXVua25vd24gOzsKKyAgZXNhYworCisgIGNhc2UgIiRsdF9jdl9kbG9wZW5fc2VsZl9z
dGF0aWMiIGluCisgIHllc3xubykgZW5hYmxlX2Rsb3Blbl9zZWxmX3N0YXRpYz0kbHRfY3ZfZGxv
cGVuX3NlbGZfc3RhdGljIDs7CisgICopIGVuYWJsZV9kbG9wZW5fc2VsZl9zdGF0aWM9dW5rbm93
biA7OworICBlc2FjCitmaQorCisjIENvcHkgZWNobyBhbmQgcXVvdGUgdGhlIGNvcHksIGluc3Rl
YWQgb2YgdGhlIG9yaWdpbmFsLCBiZWNhdXNlIGl0IGlzCisjIHVzZWQgbGF0ZXIuCitsdGVjaG89
IiRlY2hvIgoraWYgdGVzdCAiWCRsdGVjaG8iID0gIlgkQ09ORklHX1NIRUxMICQwIC0tZmFsbGJh
Y2stZWNobyI7IHRoZW4KKyAgIGx0ZWNobz0iJENPTkZJR19TSEVMTCBcJDAgLS1mYWxsYmFjay1l
Y2hvIgorZmkKK0xUU0hFTEw9IiRTSEVMTCIKKworTFRDT05GSUdfVkVSU0lPTj0iJFZFUlNJT04i
CisKKyMgT25seSBxdW90ZSB2YXJpYWJsZXMgaWYgd2UncmUgdXNpbmcgbHRtYWluLnNoLgorY2Fz
ZSAiJGx0bWFpbiIgaW4KKyouc2gpCisgICMgTm93IHF1b3RlIGFsbCB0aGUgdGhpbmdzIHRoYXQg
bWF5IGNvbnRhaW4gbWV0YWNoYXJhY3RlcnMuCisgIGZvciB2YXIgaW4gbHRlY2hvIG9sZF9DQyBv
bGRfQ0ZMQUdTIG9sZF9DUFBGTEFHUyBvbGRfTEQgb2xkX05NIG9sZF9SQU5MSUIgXAorICAgIG9s
ZF9MTl9TIG9sZF9ETExUT09MIG9sZF9BUyBBUiBDQyBMRCBMTl9TIE5NIExUU0hFTEwgTFRDT05G
SUdfVkVSU0lPTiBcCisgICAgcmVsb2FkX2ZsYWcgcmVsb2FkX2NtZHMgd2wgXAorICAgIHBpY19m
bGFnIGxpbmtfc3RhdGljX2ZsYWcgbm9fYnVpbHRpbl9mbGFnIGV4cG9ydF9keW5hbWljX2ZsYWdf
c3BlYyBcCisgICAgdGhyZWFkX3NhZmVfZmxhZ19zcGVjIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVj
IGxpYm5hbWVfc3BlYyBcCisgICAgbGlicmFyeV9uYW1lc19zcGVjIHNvbmFtZV9zcGVjIFwKKyAg
ICBSQU5MSUIgb2xkX2FyY2hpdmVfY21kcyBvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzIG9sZF9w
b3N0aW5zdGFsbF9jbWRzIFwKKyAgICBvbGRfcG9zdHVuaW5zdGFsbF9jbWRzIGFyY2hpdmVfY21k
cyBhcmNoaXZlX2V4cHN5bV9jbWRzIHBvc3RpbnN0YWxsX2NtZHMgcG9zdHVuaW5zdGFsbF9jbWRz
IFwKKyAgICBmaWxlX21hZ2ljX2NtZCBleHBvcnRfc3ltYm9sc19jbWRzIGRlcGxpYnNfY2hlY2tf
bWV0aG9kIGFsbG93X3VuZGVmaW5lZF9mbGFnIG5vX3VuZGVmaW5lZF9mbGFnIFwKKyAgICBmaW5p
c2hfY21kcyBmaW5pc2hfZXZhbCBnbG9iYWxfc3ltYm9sX3BpcGUgZ2xvYmFsX3N5bWJvbF90b19j
ZGVjbCBcCisgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBoYXJkY29kZV9saWJkaXJfc2Vw
YXJhdG9yICBcCisgICAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjIHN5c19saWJfZGxzZWFyY2hf
cGF0aF9zcGVjIFwKKyAgICBjb21waWxlcl9jX28gY29tcGlsZXJfb19sbyBuZWVkX2xvY2tzIGV4
Y2x1ZGVfZXhwc3ltcyBpbmNsdWRlX2V4cHN5bXM7IGRvCisKKyAgICBjYXNlICIkdmFyIiBpbgor
ICAgIHJlbG9hZF9jbWRzIHwgb2xkX2FyY2hpdmVfY21kcyB8IG9sZF9hcmNoaXZlX2Zyb21fbmV3
X2NtZHMgfCBcCisgICAgb2xkX3Bvc3RpbnN0YWxsX2NtZHMgfCBvbGRfcG9zdHVuaW5zdGFsbF9j
bWRzIHwgXAorICAgIGV4cG9ydF9zeW1ib2xzX2NtZHMgfCBhcmNoaXZlX2NtZHMgfCBhcmNoaXZl
X2V4cHN5bV9jbWRzIHwgXAorICAgIHBvc3RpbnN0YWxsX2NtZHMgfCBwb3N0dW5pbnN0YWxsX2Nt
ZHMgfCBcCisgICAgZmluaXNoX2NtZHMgfCBzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWMgfCBzeXNf
bGliX2Rsc2VhcmNoX3BhdGhfc3BlYykKKyAgICAgICMgRG91YmxlLXF1b3RlIGRvdWJsZS1ldmFs
ZWQgc3RyaW5ncy4KKyAgICAgIGV2YWwgIiR2YXI9XFxcIlxgXCRlY2hvIFwiWFwkJHZhclwiIHwg
XCRYc2VkIC1lIFwiXCRkb3VibGVfcXVvdGVfc3Vic3RcIiAtZSBcIlwkc2VkX3F1b3RlX3N1YnN0
XCIgLWUgXCJcJGRlbGF5X3ZhcmlhYmxlX3N1YnN0XCJcYFxcXCIiCisgICAgICA7OworICAgICop
CisgICAgICBldmFsICIkdmFyPVxcXCJcYFwkZWNobyBcIlhcJCR2YXJcIiB8IFwkWHNlZCAtZSBc
Ilwkc2VkX3F1b3RlX3N1YnN0XCJcYFxcXCIiCisgICAgICA7OworICAgIGVzYWMKKyAgZG9uZQor
CisgIGNhc2UgIiRsdGVjaG8iIGluCisgIConXCQwIC0tZmFsbGJhY2stZWNobyInKQorICAgIGx0
ZWNobz1gJGVjaG8gIlgkbHRlY2hvIiB8ICRYc2VkIC1lICdzL1xcXFxcXFwkMCAtLWZhbGxiYWNr
LWVjaG8iJC8kMCAtLWZhbGxiYWNrLWVjaG8iLydgCisgICAgOzsKKyAgZXNhYworCisgIHRyYXAg
IiRybSBcIiRvZmlsZVwiOyBleGl0IDEiIDEgMiAxNQorICBlY2hvICJjcmVhdGluZyAkb2ZpbGUi
CisgICRybSAiJG9maWxlIgorICBjYXQgPDxFT0YgPiAiJG9maWxlIgorIyEgJFNIRUxMCisKKyMg
YCRlY2hvICIkb2ZpbGUiIHwgc2VkICdzJV4uKi8lJSdgIC0gUHJvdmlkZSBnZW5lcmFsaXplZCBs
aWJyYXJ5LWJ1aWxkaW5nIHN1cHBvcnQgc2VydmljZXMuCisjIEdlbmVyYXRlZCBhdXRvbWF0aWNh
bGx5IGJ5ICRQUk9HUkFNIChHTlUgJFBBQ0tBR0UgJFZFUlNJT04kVElNRVNUQU1QKQorIyBOT1RF
OiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdGNvbmZp
ZyBvciBsdG1haW4uc2guCisjCisjIENvcHlyaWdodCAoQykgMTk5Ni0xOTk5IEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLgorIyBHb3Jkb24gTWF0emlna2VpdCA8Z29yZEBnbnUuYWkubWl0
LmVkdT4sIDE5OTYKKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IK
KyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFt
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAor
IyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisjIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3Jp
dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBs
YWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyMKKyMgQXMgYSBz
cGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGlmIHlv
dQorIyBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSB0aGF0IGNvbnRh
aW5zIGEKKyMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5IEF1dG9jb25mLCB5b3Ug
bWF5IGluY2x1ZGUgaXQgdW5kZXIKKyMgdGhlIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQg
eW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgorCisjIFNlZCB0aGF0IGhlbHBz
IHVzIGF2b2lkIGFjY2lkZW50YWxseSB0cmlnZ2VyaW5nIGVjaG8oMSkgb3B0aW9ucyBsaWtlIC1u
LgorWHNlZD0ic2VkIC1lIHMvXlgvLyIKKworIyBUaGUgSFAtVVgga3NoIGFuZCBQT1NJWCBzaGVs
bCBwcmludCB0aGUgdGFyZ2V0IGRpcmVjdG9yeSB0byBzdGRvdXQKKyMgaWYgQ0RQQVRIIGlzIHNl
dC4KK2lmIHRlc3QgIlwke0NEUEFUSCtzZXR9IiA9IHNldDsgdGhlbiBDRFBBVEg9OyBleHBvcnQg
Q0RQQVRIOyBmaQorCisjIyMgQkVHSU4gTElCVE9PTCBDT05GSUcKK0VPRgorICBjZmdmaWxlPSIk
b2ZpbGUiCisgIDs7CisKKyopCisgICMgRG91YmxlLXF1b3RlIHRoZSB2YXJpYWJsZXMgdGhhdCBu
ZWVkIGl0IChmb3IgYWVzdGhldGljcykuCisgIGZvciB2YXIgaW4gb2xkX0NDIG9sZF9DRkxBR1Mg
b2xkX0NQUEZMQUdTIG9sZF9MRCBvbGRfTk0gb2xkX1JBTkxJQiBcCisgICAgb2xkX0xOX1Mgb2xk
X0RMTFRPT0wgb2xkX0FTOyBkbworICAgIGV2YWwgIiR2YXI9XFxcIlwkdmFyXFxcIiIKKyAgZG9u
ZQorCisgICMgSnVzdCBjcmVhdGUgYSBjb25maWcgZmlsZS4KKyAgY2ZnZmlsZT0iJG9maWxlLmNm
ZyIKKyAgdHJhcCAiJHJtIFwiJGNmZ2ZpbGVcIjsgZXhpdCAxIiAxIDIgMTUKKyAgZWNobyAiY3Jl
YXRpbmcgJGNmZ2ZpbGUiCisgICRybSAiJGNmZ2ZpbGUiCisgIGNhdCA8PEVPRiA+ICIkY2ZnZmls
ZSIKKyMgYCRlY2hvICIkY2ZnZmlsZSIgfCBzZWQgJ3MlXi4qLyUlJ2AgLSBMaWJ0b29sIGNvbmZp
Z3VyYXRpb24gZmlsZS4KKyMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgJFBST0dSQU0gKEdO
VSAkUEFDS0FHRSAkVkVSU0lPTiRUSU1FU1RBTVApCitFT0YKKyAgOzsKK2VzYWMKKworY2F0IDw8
RU9GID4+ICIkY2ZnZmlsZSIKKyMgTGlidG9vbCB3YXMgY29uZmlndXJlZCBhcyBmb2xsb3dzLCBv
biBob3N0IGAoaG9zdG5hbWUgfHwgdW5hbWUgLW4pIDI+L2Rldi9udWxsIHwgc2VkIDFxYDoKKyMK
KyMgQ0M9JG9sZF9DQyBDRkxBR1M9JG9sZF9DRkxBR1MgQ1BQRkxBR1M9JG9sZF9DUFBGTEFHUyBc
XAorIyBMRD0kb2xkX0xEIE5NPSRvbGRfTk0gUkFOTElCPSRvbGRfUkFOTElCIExOX1M9JG9sZF9M
Tl9TIFxcCisjIERMTFRPT0w9IiRvbGRfRExMVE9PTCIgQVM9IiRvbGRfQVMiIFxcCisjICAgJDAk
bHRjb25maWdfYXJncworIworIyBDb21waWxlciBhbmQgb3RoZXIgdGVzdCBvdXRwdXQgcHJvZHVj
ZWQgYnkgJHByb2duYW1lLCB1c2VmdWwgZm9yCisjIGRlYnVnZ2luZyAkcHJvZ25hbWUsIGlzIGlu
IC4vY29uZmlnLmxvZyBpZiBpdCBleGlzdHMuCisKKyMgVGhlIHZlcnNpb24gb2YgJHByb2duYW1l
IHRoYXQgZ2VuZXJhdGVkIHRoaXMgc2NyaXB0LgorTFRDT05GSUdfVkVSU0lPTj0kTFRDT05GSUdf
VkVSU0lPTgorCisjIFNoZWxsIHRvIHVzZSB3aGVuIGludm9raW5nIHNoZWxsIHNjcmlwdHMuCitT
SEVMTD0kTFRTSEVMTAorCisjIFdoZXRoZXIgb3Igbm90IHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJp
ZXMuCitidWlsZF9saWJ0b29sX2xpYnM9JGVuYWJsZV9zaGFyZWQKKworIyBXaGV0aGVyIG9yIG5v
dCB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzLgorYnVpbGRfb2xkX2xpYnM9JGVuYWJsZV9zdGF0
aWMKKworIyBXaGV0aGVyIG9yIG5vdCB0byBvcHRpbWl6ZSBmb3IgZmFzdCBpbnN0YWxsYXRpb24u
CitmYXN0X2luc3RhbGw9JGVuYWJsZV9mYXN0X2luc3RhbGwKKworIyBUaGUgaG9zdCBzeXN0ZW0u
Citob3N0X2FsaWFzPSRob3N0X2FsaWFzCitob3N0PSRob3N0CisKKyMgQW4gZWNobyBwcm9ncmFt
IHRoYXQgZG9lcyBub3QgaW50ZXJwcmV0IGJhY2tzbGFzaGVzLgorZWNobz0kbHRlY2hvCisKKyMg
VGhlIGFyY2hpdmVyLgorQVI9JEFSCisKKyMgVGhlIGRlZmF1bHQgQyBjb21waWxlci4KK0NDPSRD
QworCisjIFRoZSBsaW5rZXIgdXNlZCB0byBidWlsZCBsaWJyYXJpZXMuCitMRD0kTEQKKworIyBX
aGV0aGVyIHdlIG5lZWQgaGFyZCBvciBzb2Z0IGxpbmtzLgorTE5fUz0kTE5fUworCisjIEEgQlNE
LWNvbXBhdGlibGUgbm0gcHJvZ3JhbS4KK05NPSROTQorCisjIFVzZWQgb24gY3lnd2luOiBETEwg
Y3JlYXRpb24gcHJvZ3JhbS4KK0RMTFRPT0w9IiRETExUT09MIgorCisjIFVzZWQgb24gY3lnd2lu
OiBhc3NlbWJsZXIuCitBUz0iJEFTIgorCisjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhh
dCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4KK29iamRpcj0kb2JqZGlyCisKKyMg
SG93IHRvIGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KK3JlbG9hZF9mbGFnPSRyZWxv
YWRfZmxhZworcmVsb2FkX2NtZHM9JHJlbG9hZF9jbWRzCisKKyMgSG93IHRvIHBhc3MgYSBsaW5r
ZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxlci4KK3dsPSR3bAorCisjIE9iamVjdCBmaWxlIHN1
ZmZpeCAobm9ybWFsbHkgIm8iKS4KK29iamV4dD0iJG9iamV4dCIKKworIyBPbGQgYXJjaGl2ZSBz
dWZmaXggKG5vcm1hbGx5ICJhIikuCitsaWJleHQ9IiRsaWJleHQiCisKKyMgQWRkaXRpb25hbCBj
b21waWxlciBmbGFncyBmb3IgYnVpbGRpbmcgbGlicmFyeSBvYmplY3RzLgorcGljX2ZsYWc9JHBp
Y19mbGFnCisKKyMgRG9lcyBjb21waWxlciBzaW11bHRhbmVvdXNseSBzdXBwb3J0IC1jIGFuZCAt
byBvcHRpb25zCitjb21waWxlcl9jX289JGNvbXBpbGVyX2NfbworCisjIENhbiB3ZSB3cml0ZSBk
aXJlY3RseSB0byBhIC5sbyA/Citjb21waWxlcl9vX2xvPSRjb21waWxlcl9vX2xvCisKKyMgTXVz
dCB3ZSBsb2NrIGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24gPworbmVlZF9sb2Nrcz0kbmVl
ZF9sb2NrcworCisjIERvIHdlIG5lZWQgdGhlIGxpYiBwcmVmaXggZm9yIG1vZHVsZXM/CituZWVk
X2xpYl9wcmVmaXg9JG5lZWRfbGliX3ByZWZpeAorCisjIERvIHdlIG5lZWQgYSB2ZXJzaW9uIGZv
ciBsaWJyYXJpZXM/CituZWVkX3ZlcnNpb249JG5lZWRfdmVyc2lvbgorCisjIFdoZXRoZXIgZGxv
cGVuIGlzIHN1cHBvcnRlZC4KK2Rsb3Blbj0kZW5hYmxlX2Rsb3BlbgorCisjIFdoZXRoZXIgZGxv
cGVuIG9mIHByb2dyYW1zIGlzIHN1cHBvcnRlZC4KK2Rsb3Blbl9zZWxmPSRlbmFibGVfZGxvcGVu
X3NlbGYKKworIyBXaGV0aGVyIGRsb3BlbiBvZiBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtcyBp
cyBzdXBwb3J0ZWQuCitkbG9wZW5fc2VsZl9zdGF0aWM9JGVuYWJsZV9kbG9wZW5fc2VsZl9zdGF0
aWMKKworIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgorbGlua19z
dGF0aWNfZmxhZz0kbGlua19zdGF0aWNfZmxhZworCisjIENvbXBpbGVyIGZsYWcgdG8gdHVybiBv
ZmYgYnVpbHRpbiBmdW5jdGlvbnMuCitub19idWlsdGluX2ZsYWc9JG5vX2J1aWx0aW5fZmxhZwor
CisjIENvbXBpbGVyIGZsYWcgdG8gYWxsb3cgcmVmbGV4aXZlIGRsb3BlbnMuCitleHBvcnRfZHlu
YW1pY19mbGFnX3NwZWM9JGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYworCisjIENvbXBpbGVyIGZs
YWcgdG8gZ2VuZXJhdGUgc2hhcmVkIG9iamVjdHMgZGlyZWN0bHkgZnJvbSBhcmNoaXZlcy4KK3do
b2xlX2FyY2hpdmVfZmxhZ19zcGVjPSR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYworCisjIENvbXBp
bGVyIGZsYWcgdG8gZ2VuZXJhdGUgdGhyZWFkLXNhZmUgb2JqZWN0cy4KK3RocmVhZF9zYWZlX2Zs
YWdfc3BlYz0kdGhyZWFkX3NhZmVfZmxhZ19zcGVjCisKKyMgTGlicmFyeSB2ZXJzaW9uaW5nIHR5
cGUuCit2ZXJzaW9uX3R5cGU9JHZlcnNpb25fdHlwZQorCisjIEZvcm1hdCBvZiBsaWJyYXJ5IG5h
bWUgcHJlZml4LgorbGlibmFtZV9zcGVjPSRsaWJuYW1lX3NwZWMKKworIyBMaXN0IG9mIGFyY2hp
dmUgbmFtZXMuICBGaXJzdCBuYW1lIGlzIHRoZSByZWFsIG9uZSwgdGhlIHJlc3QgYXJlIGxpbmtz
LgorIyBUaGUgbGFzdCBuYW1lIGlzIHRoZSBvbmUgdGhhdCB0aGUgbGlua2VyIGZpbmRzIHdpdGgg
LWxOQU1FLgorbGlicmFyeV9uYW1lc19zcGVjPSRsaWJyYXJ5X25hbWVzX3NwZWMKKworIyBUaGUg
Y29kZWQgbmFtZSBvZiB0aGUgbGlicmFyeSwgaWYgZGlmZmVyZW50IGZyb20gdGhlIHJlYWwgbmFt
ZS4KK3NvbmFtZV9zcGVjPSRzb25hbWVfc3BlYworCisjIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQg
YW5kIGluc3RhbGwgYW4gb2xkLXN0eWxlIGFyY2hpdmUuCitSQU5MSUI9JFJBTkxJQgorb2xkX2Fy
Y2hpdmVfY21kcz0kb2xkX2FyY2hpdmVfY21kcworb2xkX3Bvc3RpbnN0YWxsX2NtZHM9JG9sZF9w
b3N0aW5zdGFsbF9jbWRzCitvbGRfcG9zdHVuaW5zdGFsbF9jbWRzPSRvbGRfcG9zdHVuaW5zdGFs
bF9jbWRzCisKKyMgQ3JlYXRlIGFuIG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBzaGFyZWQgYXJj
aGl2ZS4KK29sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9JG9sZF9hcmNoaXZlX2Zyb21fbmV3X2Nt
ZHMKKworIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIGEgc2hhcmVkIGFyY2hp
dmUuCithcmNoaXZlX2NtZHM9JGFyY2hpdmVfY21kcworYXJjaGl2ZV9leHBzeW1fY21kcz0kYXJj
aGl2ZV9leHBzeW1fY21kcworcG9zdGluc3RhbGxfY21kcz0kcG9zdGluc3RhbGxfY21kcworcG9z
dHVuaW5zdGFsbF9jbWRzPSRwb3N0dW5pbnN0YWxsX2NtZHMKKworIyBNZXRob2QgdG8gY2hlY2sg
d2hldGhlciBkZXBlbmRlbnQgbGlicmFyaWVzIGFyZSBzaGFyZWQgb2JqZWN0cy4KK2RlcGxpYnNf
Y2hlY2tfbWV0aG9kPSRkZXBsaWJzX2NoZWNrX21ldGhvZAorCisjIENvbW1hbmQgdG8gdXNlIHdo
ZW4gZGVwbGlic19jaGVja19tZXRob2QgPT0gZmlsZV9tYWdpYworZmlsZV9tYWdpY19jbWQ9JGZp
bGVfbWFnaWNfY21kCisKKyMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQgbGlicmFyaWVzIHdpdGgg
dW5kZWZpbmVkIHN5bWJvbHMgdG8gYmUgYnVpbHQuCithbGxvd191bmRlZmluZWRfZmxhZz0kYWxs
b3dfdW5kZWZpbmVkX2ZsYWcKKworIyBGbGFnIHRoYXQgZm9yY2VzIG5vIHVuZGVmaW5lZCBzeW1i
b2xzLgorbm9fdW5kZWZpbmVkX2ZsYWc9JG5vX3VuZGVmaW5lZF9mbGFnCisKKyMgQ29tbWFuZHMg
dXNlZCB0byBmaW5pc2ggYSBsaWJ0b29sIGxpYnJhcnkgaW5zdGFsbGF0aW9uIGluIGEgZGlyZWN0
b3J5LgorZmluaXNoX2NtZHM9JGZpbmlzaF9jbWRzCisKKyMgU2FtZSBhcyBhYm92ZSwgYnV0IGEg
c2luZ2xlIHNjcmlwdCBmcmFnbWVudCB0byBiZSBldmFsZWQgYnV0IG5vdCBzaG93bi4KK2Zpbmlz
aF9ldmFsPSRmaW5pc2hfZXZhbAorCisjIFRha2UgdGhlIG91dHB1dCBvZiBubSBhbmQgcHJvZHVj
ZSBhIGxpc3Rpbmcgb2YgcmF3IHN5bWJvbHMgYW5kIEMgbmFtZXMuCitnbG9iYWxfc3ltYm9sX3Bp
cGU9JGdsb2JhbF9zeW1ib2xfcGlwZQorCisjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGlu
IGEgcHJvcGVyIEMgZGVjbGFyYXRpb24KK2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9JGdsb2JhbF9z
eW1ib2xfdG9fY2RlY2wKKworIyBUaGlzIGlzIHRoZSBzaGFyZWQgbGlicmFyeSBydW50aW1lIHBh
dGggdmFyaWFibGUuCitydW5wYXRoX3Zhcj0kcnVucGF0aF92YXIKKworIyBUaGlzIGlzIHRoZSBz
aGFyZWQgbGlicmFyeSBwYXRoIHZhcmlhYmxlLgorc2hsaWJwYXRoX3Zhcj0kc2hsaWJwYXRoX3Zh
cgorCisjIElzIHNobGlicGF0aCBzZWFyY2hlZCBiZWZvcmUgdGhlIGhhcmQtY29kZWQgbGlicmFy
eSBzZWFyY2ggcGF0aD8KK3NobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD0kc2hsaWJwYXRoX292
ZXJyaWRlc19ydW5wYXRoCisKKyMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0
aCBpbnRvIGFuIGV4ZWN1dGFibGUuCitoYXJkY29kZV9hY3Rpb249JGhhcmRjb2RlX2FjdGlvbgor
CisjIEZsYWcgdG8gaGFyZGNvZGUgXCRsaWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2lu
Zy4KKyMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiBcJGxpYmRpciBkb2VzIG5vdCBleGlzdC4KK2hh
cmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMKKworIyBX
aGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUgLXJwYXRoIGZsYWcgd2l0aCBhIHNlcGFyYXRlZCBhcmd1
bWVudC4KK2hhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9JGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0
b3IKKworIyBTZXQgdG8geWVzIGlmIHVzaW5nIERJUi9saWJOQU1FLnNvIGR1cmluZyBsaW5raW5n
IGhhcmRjb2RlcyBESVIgaW50byB0aGUKKyMgcmVzdWx0aW5nIGJpbmFyeS4KK2hhcmRjb2RlX2Rp
cmVjdD0kaGFyZGNvZGVfZGlyZWN0CisKKyMgU2V0IHRvIHllcyBpZiB1c2luZyB0aGUgLUxESVIg
ZmxhZyBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSIGludG8gdGhlCisjIHJlc3VsdGluZyBi
aW5hcnkuCitoYXJkY29kZV9taW51c19MPSRoYXJkY29kZV9taW51c19MCisKKyMgU2V0IHRvIHll
cyBpZiB1c2luZyBTSExJQlBBVEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElS
IGludG8KKyMgdGhlIHJlc3VsdGluZyBiaW5hcnkuCitoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSRo
YXJkY29kZV9zaGxpYnBhdGhfdmFyCisKKyMgQ29tcGlsZS10aW1lIHN5c3RlbSBzZWFyY2ggcGF0
aCBmb3IgbGlicmFyaWVzCitzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWM9JHN5c19saWJfc2VhcmNo
X3BhdGhfc3BlYworCisjIFJ1bi10aW1lIHN5c3RlbSBzZWFyY2ggcGF0aCBmb3IgbGlicmFyaWVz
CitzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0kc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWMK
KworIyBGaXggdGhlIHNoZWxsIHZhcmlhYmxlIFwkc3JjZmlsZSBmb3IgdGhlIGNvbXBpbGVyLgor
Zml4X3NyY2ZpbGVfcGF0aD0iJGZpeF9zcmNmaWxlX3BhdGgiCisKKyMgU2V0IHRvIHllcyBpZiBl
eHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZAorYWx3YXlzX2V4cG9ydF9zeW1ib2xzPSRhbHdh
eXNfZXhwb3J0X3N5bWJvbHMKKworIyBUaGUgY29tbWFuZCB0byBleHRyYWN0IGV4cG9ydGVkIHN5
bWJvbHMKK2V4cG9ydF9zeW1ib2xzX2NtZHM9JGV4cG9ydF9zeW1ib2xzX2NtZHMKKworIyBTeW1i
b2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzCitl
eGNsdWRlX2V4cHN5bXM9JGV4Y2x1ZGVfZXhwc3ltcworCisjIFN5bWJvbHMgdGhhdCBtdXN0IGFs
d2F5cyBiZSBleHBvcnRlZAoraW5jbHVkZV9leHBzeW1zPSRpbmNsdWRlX2V4cHN5bXMKKworRU9G
CisKK2Nhc2UgIiRsdG1haW4iIGluCisqLnNoKQorICBlY2hvICcjIyMgRU5EIExJQlRPT0wgQ09O
RklHJyA+PiAiJG9maWxlIgorICBlY2hvID4+ICIkb2ZpbGUiCisgIGNhc2UgIiRob3N0X29zIiBp
bgorICBhaXgzKikKKyAgICBjYXQgPDxcRU9GID4+ICIkb2ZpbGUiCisKKyMgQUlYIHNvbWV0aW1l
cyBoYXMgcHJvYmxlbXMgd2l0aCB0aGUgR0NDIGNvbGxlY3QyIHByb2dyYW0uICBGb3Igc29tZQor
IyByZWFzb24sIGlmIHdlIHNldCB0aGUgQ09MTEVDVF9OQU1FUyBlbnZpcm9ubWVudCB2YXJpYWJs
ZSwgdGhlIHByb2JsZW1zCisjIHZhbmlzaCBpbiBhIHB1ZmYgb2Ygc21va2UuCitpZiB0ZXN0ICIk
e0NPTExFQ1RfTkFNRVMrc2V0fSIgIT0gc2V0OyB0aGVuCisgIENPTExFQ1RfTkFNRVM9CisgIGV4
cG9ydCBDT0xMRUNUX05BTUVTCitmaQorRU9GCisgICAgOzsKKyAgZXNhYworCisgICMgQXBwZW5k
IHRoZSBsdG1haW4uc2ggc2NyaXB0LgorICBjYXQgIiRsdG1haW4iID4+ICIkb2ZpbGUiIHx8IChy
bSAtZiAiJG9maWxlIjsgZXhpdCAxKQorCisgIGNobW9kICt4ICIkb2ZpbGUiCisgIDs7CisKKyop
CisgICMgQ29tcGlsZSB0aGUgbGlidG9vbCBwcm9ncmFtLgorICBlY2hvICJGSVhNRTogd291bGQg
Y29tcGlsZSAkbHRtYWluIgorICA7OworZXNhYworCit0ZXN0IC1uICIkY2FjaGVfZmlsZSIgfHwg
ZXhpdCAwCisKKyMgQUNfQ0FDSEVfU0FWRQordHJhcCAnJyAxIDIgMTUKK2NhdCA+IGNvbmZjYWNo
ZSA8PFxFT0YKKyMgVGhpcyBmaWxlIGlzIGEgc2hlbGwgc2NyaXB0IHRoYXQgY2FjaGVzIHRoZSBy
ZXN1bHRzIG9mIGNvbmZpZ3VyZQorIyB0ZXN0cyBydW4gb24gdGhpcyBzeXN0ZW0gc28gdGhleSBj
YW4gYmUgc2hhcmVkIGJldHdlZW4gY29uZmlndXJlCisjIHNjcmlwdHMgYW5kIGNvbmZpZ3VyZSBy
dW5zLiAgSXQgaXMgbm90IHVzZWZ1bCBvbiBvdGhlciBzeXN0ZW1zLgorIyBJZiBpdCBjb250YWlu
cyByZXN1bHRzIHlvdSBkb24ndCB3YW50IHRvIGtlZXAsIHlvdSBtYXkgcmVtb3ZlIG9yIGVkaXQg
aXQuCisjCisjIEJ5IGRlZmF1bHQsIGNvbmZpZ3VyZSB1c2VzIC4vY29uZmlnLmNhY2hlIGFzIHRo
ZSBjYWNoZSBmaWxlLAorIyBjcmVhdGluZyBpdCBpZiBpdCBkb2VzIG5vdCBleGlzdCBhbHJlYWR5
LiAgWW91IGNhbiBnaXZlIGNvbmZpZ3VyZQorIyB0aGUgLS1jYWNoZS1maWxlPUZJTEUgb3B0aW9u
IHRvIHVzZSBhIGRpZmZlcmVudCBjYWNoZSBmaWxlOyB0aGF0IGlzCisjIHdoYXQgY29uZmlndXJl
IGRvZXMgd2hlbiBpdCBjYWxscyBjb25maWd1cmUgc2NyaXB0cyBpbgorIyBzdWJkaXJlY3Rvcmll
cywgc28gdGhleSBzaGFyZSB0aGUgY2FjaGUuCisjIEdpdmluZyAtLWNhY2hlLWZpbGU9L2Rldi9u
dWxsIGRpc2FibGVzIGNhY2hpbmcsIGZvciBkZWJ1Z2dpbmcgY29uZmlndXJlLgorIyBjb25maWcu
c3RhdHVzIG9ubHkgcGF5cyBhdHRlbnRpb24gdG8gdGhlIGNhY2hlIGZpbGUgaWYgeW91IGdpdmUg
aXQgdGhlCisjIC0tcmVjaGVjayBvcHRpb24gdG8gcmVydW4gY29uZmlndXJlLgorIworRU9GCisj
IFRoZSBmb2xsb3dpbmcgd2F5IG9mIHdyaXRpbmcgdGhlIGNhY2hlIG1pc2hhbmRsZXMgbmV3bGlu
ZXMgaW4gdmFsdWVzLAorIyBidXQgd2Uga25vdyBvZiBubyB3b3JrYXJvdW5kIHRoYXQgaXMgc2lt
cGxlLCBwb3J0YWJsZSwgYW5kIGVmZmljaWVudC4KKyMgU28sIGRvbid0IHB1dCBuZXdsaW5lcyBp
biBjYWNoZSB2YXJpYWJsZXMnIHZhbHVlcy4KKyMgVWx0cml4IHNoIHNldCB3cml0ZXMgdG8gc3Rk
ZXJyIGFuZCBjYW4ndCBiZSByZWRpcmVjdGVkIGRpcmVjdGx5LAorIyBhbmQgc2V0cyB0aGUgaGln
aCBiaXQgaW4gdGhlIGNhY2hlIGZpbGUgdW5sZXNzIHdlIGFzc2lnbiB0byB0aGUgdmFycy4KKyhz
ZXQpIDI+JjEgfAorICBjYXNlIGAoYWNfc3BhY2U9JyAnOyBzZXQgfCBncmVwIGFjX3NwYWNlKSAy
PiYxYCBpbgorICAqYWNfc3BhY2U9XCAqKQorICAgICMgYHNldCcgZG9lcyBub3QgcXVvdGUgY29y
cmVjdGx5LCBzbyBhZGQgcXVvdGVzIChkb3VibGUtcXVvdGUgc3Vic3RpdHV0aW9uCisgICAgIyB0
dXJucyBcXFxcIGludG8gXFwsIGFuZCBzZWQgdHVybnMgXFwgaW50byBcKS4KKyAgICBzZWQgLW4g
XAorICAgICAgLWUgInMvJy8nXFxcXCcnL2ciIFwKKyAgICAgIC1lICJzL15cXChbYS16QS1aMC05
X10qX2N2X1thLXpBLVowLTlfXSpcXCk9XFwoLipcXCkvXFwxPVwke1xcMT0nXFwyJ30vcCIKKyAg
ICA7OworICAqKQorICAgICMgYHNldCcgcXVvdGVzIGNvcnJlY3RseSBhcyByZXF1aXJlZCBieSBQ
T1NJWCwgc28gZG8gbm90IGFkZCBxdW90ZXMuCisgICAgc2VkIC1uIC1lICdzL15cKFthLXpBLVow
LTlfXSpfY3ZfW2EtekEtWjAtOV9dKlwpPVwoLipcKS9cMT0ke1wxPVwyfS9wJworICAgIDs7Cisg
IGVzYWMgPj4gY29uZmNhY2hlCitpZiBjbXAgLXMgJGNhY2hlX2ZpbGUgY29uZmNhY2hlOyB0aGVu
CisgIDoKK2Vsc2UKKyAgaWYgdGVzdCAtdyAkY2FjaGVfZmlsZTsgdGhlbgorICAgIGVjaG8gInVw
ZGF0aW5nIGNhY2hlICRjYWNoZV9maWxlIgorICAgIGNhdCBjb25mY2FjaGUgPiAkY2FjaGVfZmls
ZQorICBlbHNlCisgICAgZWNobyAibm90IHVwZGF0aW5nIHVud3JpdGFibGUgY2FjaGUgJGNhY2hl
X2ZpbGUiCisgIGZpCitmaQorcm0gLWYgY29uZmNhY2hlCisKK2V4aXQgMAorCisjIExvY2FsIFZh
cmlhYmxlczoKKyMgbW9kZTpzaGVsbC1zY3JpcHQKKyMgc2gtaW5kZW50YXRpb246MgorIyBFbmQ6
CmRpZmYgLXVyTiBsY2QtMC4yLjEvbHRtYWluLnNoIGxjZC0wLjIuMS1uZXcvbHRtYWluLnNoCi0t
LSBsY2QtMC4yLjEvbHRtYWluLnNoCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAw
CisrKyBsY2QtMC4yLjEtbmV3L2x0bWFpbi5zaAkyMDA0LTEyLTIwIDA1OjAxOjQyLjYwNzcxNTM2
OCArMDEwMApAQCAtMCwwICsxLDQ5NDYgQEAKKyMgbHRtYWluLnNoIC0gUHJvdmlkZSBnZW5lcmFs
aXplZCBsaWJyYXJ5LWJ1aWxkaW5nIHN1cHBvcnQgc2VydmljZXMuCisjIE5PVEU6IENoYW5naW5n
IHRoaXMgZmlsZSB3aWxsIG5vdCBhZmZlY3QgYW55dGhpbmcgdW50aWwgeW91IHJlcnVuIGNvbmZp
Z3VyZS4KKyMKKyMgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAy
MDAxCisjIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBPcmlnaW5hbGx5IGJ5IEdv
cmRvbiBNYXR6aWdrZWl0IDxnb3JkQGdudS5haS5taXQuZWR1PiwgMTk5NgorIworIyBUaGlzIHBy
b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v
ZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9u
ZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQor
IyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3Rvbiwg
TUEgMDIxMTEtMTMwNywgVVNBLgorIworIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91CisjIGRpc3RyaWJ1dGUgdGhpcyBmaWxl
IGFzIHBhcnQgb2YgYSBwcm9ncmFtIHRoYXQgY29udGFpbnMgYQorIyBjb25maWd1cmF0aW9uIHNj
cmlwdCBnZW5lcmF0ZWQgYnkgQXV0b2NvbmYsIHlvdSBtYXkgaW5jbHVkZSBpdCB1bmRlcgorIyB0
aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBvZiB0
aGF0IHByb2dyYW0uCisKKyMgQ2hlY2sgdGhhdCB3ZSBoYXZlIGEgd29ya2luZyAkZWNoby4KK2lm
IHRlc3QgIlgkMSIgPSBYLS1uby1yZWV4ZWM7IHRoZW4KKyAgIyBEaXNjYXJkIHRoZSAtLW5vLXJl
ZXhlYyBmbGFnLCBhbmQgY29udGludWUuCisgIHNoaWZ0CitlbGlmIHRlc3QgIlgkMSIgPSBYLS1m
YWxsYmFjay1lY2hvOyB0aGVuCisgICMgQXZvaWQgaW5saW5lIGRvY3VtZW50IGhlcmUsIGl0IG1h
eSBiZSBsZWZ0IG92ZXIKKyAgOgorZWxpZiB0ZXN0ICJYYCgkZWNobyAnXHQnKSAyPi9kZXYvbnVs
bGAiID0gJ1hcdCc7IHRoZW4KKyAgIyBZaXBwZWUsICRlY2hvIHdvcmtzIQorICA6CitlbHNlCisg
ICMgUmVzdGFydCB1bmRlciB0aGUgY29ycmVjdCBzaGVsbCwgYW5kIHRoZW4gbWF5YmUgJGVjaG8g
d2lsbCB3b3JrLgorICBleGVjICRTSEVMTCAiJDAiIC0tbm8tcmVleGVjICR7MSsiJEAifQorZmkK
KworaWYgdGVzdCAiWCQxIiA9IFgtLWZhbGxiYWNrLWVjaG87IHRoZW4KKyAgIyB1c2VkIGFzIGZh
bGxiYWNrIGVjaG8KKyAgc2hpZnQKKyAgY2F0IDw8RU9GCiskKgorRU9GCisgIGV4aXQgMAorZmkK
KworIyBUaGUgbmFtZSBvZiB0aGlzIHByb2dyYW0uCitwcm9nbmFtZT1gJGVjaG8gIiQwIiB8IHNl
ZCAncyVeLiovJSUnYAorbW9kZW5hbWU9IiRwcm9nbmFtZSIKKworIyBDb25zdGFudHMuCitQUk9H
UkFNPWx0bWFpbi5zaAorUEFDS0FHRT1saWJ0b29sCitWRVJTSU9OPTEuNAorVElNRVNUQU1QPSIg
KDEuOTIwIDIwMDEvMDQvMjQgMjM6MjY6MTgpIgorCitkZWZhdWx0X21vZGU9CitoZWxwPSJUcnkg
XGAkcHJvZ25hbWUgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittYWdpYz0iJSUlTUFH
SUMgdmFyaWFibGUlJSUiCitta2Rpcj0ibWtkaXIiCittdj0ibXYgLWYiCitybT0icm0gLWYiCisK
KyMgU2VkIHN1YnN0aXR1dGlvbiB0aGF0IGhlbHBzIHVzIGRvIHJvYnVzdCBxdW90aW5nLiAgSXQg
YmFja3NsYXNoaWZpZXMKKyMgbWV0YWNoYXJhY3RlcnMgdGhhdCBhcmUgc3RpbGwgYWN0aXZlIHdp
dGhpbiBkb3VibGUtcXVvdGVkIHN0cmluZ3MuCitYc2VkPSdzZWQgLWUgMXMvXlgvLycKK3NlZF9x
dW90ZV9zdWJzdD0ncy9cKFtcXGBcXCIkXFxcXF1cKS9cXFwxL2cnCitTUDJOTD0ndHIgXDA0MCBc
MDEyJworTkwyU1A9J3RyIFwwMTVcMDEyIFwwNDBcMDQwJworCisjIE5MUyBudWlzYW5jZXMuCisj
IE9ubHkgc2V0IExBTkcgYW5kIExDX0FMTCB0byBDIGlmIGFscmVhZHkgc2V0LgorIyBUaGVzZSBt
dXN0IG5vdCBiZSBzZXQgdW5jb25kaXRpb25hbGx5IGJlY2F1c2Ugbm90IGFsbCBzeXN0ZW1zIHVu
ZGVyc3RhbmQKKyMgZS5nLiBMQU5HPUMgKG5vdGFibHkgU0NPKS4KKyMgV2Ugc2F2ZSB0aGUgb2xk
IHZhbHVlcyB0byByZXN0b3JlIGR1cmluZyBleGVjdXRlIG1vZGUuCitpZiB0ZXN0ICIke0xDX0FM
TCtzZXR9IiA9IHNldDsgdGhlbgorICBzYXZlX0xDX0FMTD0iJExDX0FMTCI7IExDX0FMTD1DOyBl
eHBvcnQgTENfQUxMCitmaQoraWYgdGVzdCAiJHtMQU5HK3NldH0iID0gc2V0OyB0aGVuCisgIHNh
dmVfTEFORz0iJExBTkciOyBMQU5HPUM7IGV4cG9ydCBMQU5HCitmaQorCitpZiB0ZXN0ICIkYnVp
bGRfbGlidG9vbF9saWJzIiAhPSB5ZXMgJiYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiAhPSB5ZXM7
IHRoZW4KKyAgZWNobyAiJG1vZGVuYW1lOiBub3QgY29uZmlndXJlZCB0byBidWlsZCBhbnkga2lu
ZCBvZiBsaWJyYXJ5IiAxPiYyCisgIGVjaG8gIkZhdGFsIGNvbmZpZ3VyYXRpb24gZXJyb3IuICBT
ZWUgdGhlICRQQUNLQUdFIGRvY3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiAxPiYyCisgIGV4aXQg
MQorZmkKKworIyBHbG9iYWwgdmFyaWFibGVzLgorbW9kZT0kZGVmYXVsdF9tb2RlCitub25vcHQ9
CitwcmV2PQorcHJldm9wdD0KK3J1bj0KK3Nob3c9IiRlY2hvIgorc2hvd19oZWxwPQorZXhlY3V0
ZV9kbGZpbGVzPQorbG8ybz0icy9cXC5sb1wkLy4ke29iamV4dH0vIgorbzJsbz0icy9cXC4ke29i
amV4dH1cJC8ubG8vIgorCisjIFBhcnNlIG91ciBjb21tYW5kIGxpbmUgb3B0aW9ucyBvbmNlLCB0
aG9yb3VnaGx5Lgord2hpbGUgdGVzdCAkIyAtZ3QgMAorZG8KKyAgYXJnPSIkMSIKKyAgc2hpZnQK
KworICBjYXNlICRhcmcgaW4KKyAgLSo9Kikgb3B0YXJnPWAkZWNobyAiWCRhcmciIHwgJFhzZWQg
LWUgJ3MvWy1fYS16QS1aMC05XSo9Ly8nYCA7OworICAqKSBvcHRhcmc9IDs7CisgIGVzYWMKKwor
ICAjIElmIHRoZSBwcmV2aW91cyBvcHRpb24gbmVlZHMgYW4gYXJndW1lbnQsIGFzc2lnbiBpdC4K
KyAgaWYgdGVzdCAtbiAiJHByZXYiOyB0aGVuCisgICAgY2FzZSAkcHJldiBpbgorICAgIGV4ZWN1
dGVfZGxmaWxlcykKKyAgICAgIGV4ZWN1dGVfZGxmaWxlcz0iJGV4ZWN1dGVfZGxmaWxlcyAkYXJn
IgorICAgICAgOzsKKyAgICAqKQorICAgICAgZXZhbCAiJHByZXY9XCRhcmciCisgICAgICA7Owor
ICAgIGVzYWMKKworICAgIHByZXY9CisgICAgcHJldm9wdD0KKyAgICBjb250aW51ZQorICBmaQor
CisgICMgSGF2ZSB3ZSBzZWVuIGEgbm9uLW9wdGlvbmFsIGFyZ3VtZW50IHlldD8KKyAgY2FzZSAk
YXJnIGluCisgIC0taGVscCkKKyAgICBzaG93X2hlbHA9eWVzCisgICAgOzsKKworICAtLXZlcnNp
b24pCisgICAgZWNobyAiJFBST0dSQU0gKEdOVSAkUEFDS0FHRSkgJFZFUlNJT04kVElNRVNUQU1Q
IgorICAgIGV4aXQgMAorICAgIDs7CisKKyAgLS1jb25maWcpCisgICAgc2VkIC1lICcxLC9eIyAj
IyMgQkVHSU4gTElCVE9PTCBDT05GSUcvZCcgLWUgJy9eIyAjIyMgRU5EIExJQlRPT0wgQ09ORklH
LywkZCcgJDAKKyAgICBleGl0IDAKKyAgICA7OworCisgIC0tZGVidWcpCisgICAgZWNobyAiJHBy
b2duYW1lOiBlbmFibGluZyBzaGVsbCB0cmFjZSBtb2RlIgorICAgIHNldCAteAorICAgIDs7CisK
KyAgLS1kcnktcnVuIHwgLW4pCisgICAgcnVuPToKKyAgICA7OworCisgIC0tZmVhdHVyZXMpCisg
ICAgZWNobyAiaG9zdDogJGhvc3QiCisgICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIg
PSB5ZXM7IHRoZW4KKyAgICAgIGVjaG8gImVuYWJsZSBzaGFyZWQgbGlicmFyaWVzIgorICAgIGVs
c2UKKyAgICAgIGVjaG8gImRpc2FibGUgc2hhcmVkIGxpYnJhcmllcyIKKyAgICBmaQorICAgIGlm
IHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KKyAgICAgIGVjaG8gImVuYWJsZSBz
dGF0aWMgbGlicmFyaWVzIgorICAgIGVsc2UKKyAgICAgIGVjaG8gImRpc2FibGUgc3RhdGljIGxp
YnJhcmllcyIKKyAgICBmaQorICAgIGV4aXQgMAorICAgIDs7CisKKyAgLS1maW5pc2gpIG1vZGU9
ImZpbmlzaCIgOzsKKworICAtLW1vZGUpIHByZXZvcHQ9Ii0tbW9kZSIgcHJldj1tb2RlIDs7Cisg
IC0tbW9kZT0qKSBtb2RlPSIkb3B0YXJnIiA7OworCisgIC0tcXVpZXQgfCAtLXNpbGVudCkKKyAg
ICBzaG93PToKKyAgICA7OworCisgIC1kbG9wZW4pCisgICAgcHJldm9wdD0iLWRsb3BlbiIKKyAg
ICBwcmV2PWV4ZWN1dGVfZGxmaWxlcworICAgIDs7CisKKyAgLSopCisgICAgJGVjaG8gIiRtb2Rl
bmFtZTogdW5yZWNvZ25pemVkIG9wdGlvbiBcYCRhcmcnIiAxPiYyCisgICAgJGVjaG8gIiRoZWxw
IiAxPiYyCisgICAgZXhpdCAxCisgICAgOzsKKworICAqKQorICAgIG5vbm9wdD0iJGFyZyIKKyAg
ICBicmVhaworICAgIDs7CisgIGVzYWMKK2RvbmUKKworaWYgdGVzdCAtbiAiJHByZXZvcHQiOyB0
aGVuCisgICRlY2hvICIkbW9kZW5hbWU6IG9wdGlvbiBcYCRwcmV2b3B0JyByZXF1aXJlcyBhbiBh
cmd1bWVudCIgMT4mMgorICAkZWNobyAiJGhlbHAiIDE+JjIKKyAgZXhpdCAxCitmaQorCitpZiB0
ZXN0IC16ICIkc2hvd19oZWxwIjsgdGhlbgorCisgICMgSW5mZXIgdGhlIG9wZXJhdGlvbiBtb2Rl
LgorICBpZiB0ZXN0IC16ICIkbW9kZSI7IHRoZW4KKyAgICBjYXNlICRub25vcHQgaW4KKyAgICAq
Y2MgfCAqKysgfCBnY2MqIHwgKi1nY2MqKQorICAgICAgbW9kZT1saW5rCisgICAgICBmb3IgYXJn
CisgICAgICBkbworCWNhc2UgJGFyZyBpbgorCS1jKQorCSAgIG1vZGU9Y29tcGlsZQorCSAgIGJy
ZWFrCisJICAgOzsKKwllc2FjCisgICAgICBkb25lCisgICAgICA7OworICAgICpkYiB8ICpkYngg
fCAqc3RyYWNlIHwgKnRydXNzKQorICAgICAgbW9kZT1leGVjdXRlCisgICAgICA7OworICAgICpp
bnN0YWxsKnxjcHxtdikKKyAgICAgIG1vZGU9aW5zdGFsbAorICAgICAgOzsKKyAgICAqcm0pCisg
ICAgICBtb2RlPXVuaW5zdGFsbAorICAgICAgOzsKKyAgICAqKQorICAgICAgIyBJZiB3ZSBoYXZl
IG5vIG1vZGUsIGJ1dCBkbGZpbGVzIHdlcmUgc3BlY2lmaWVkLCB0aGVuIGRvIGV4ZWN1dGUgbW9k
ZS4KKyAgICAgIHRlc3QgLW4gIiRleGVjdXRlX2RsZmlsZXMiICYmIG1vZGU9ZXhlY3V0ZQorCisg
ICAgICAjIEp1c3QgdXNlIHRoZSBkZWZhdWx0IG9wZXJhdGlvbiBtb2RlLgorICAgICAgaWYgdGVz
dCAteiAiJG1vZGUiOyB0aGVuCisJaWYgdGVzdCAtbiAiJG5vbm9wdCI7IHRoZW4KKwkgICRlY2hv
ICIkbW9kZW5hbWU6IHdhcm5pbmc6IGNhbm5vdCBpbmZlciBvcGVyYXRpb24gbW9kZSBmcm9tIFxg
JG5vbm9wdCciIDE+JjIKKwllbHNlCisJICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBjYW5u
b3QgaW5mZXIgb3BlcmF0aW9uIG1vZGUgd2l0aG91dCBNT0RFLUFSR1MiIDE+JjIKKwlmaQorICAg
ICAgZmkKKyAgICAgIDs7CisgICAgZXNhYworICBmaQorCisgICMgT25seSBleGVjdXRlIG1vZGUg
aXMgYWxsb3dlZCB0byBoYXZlIC1kbG9wZW4gZmxhZ3MuCisgIGlmIHRlc3QgLW4gIiRleGVjdXRl
X2RsZmlsZXMiICYmIHRlc3QgIiRtb2RlIiAhPSBleGVjdXRlOyB0aGVuCisgICAgJGVjaG8gIiRt
b2RlbmFtZTogdW5yZWNvZ25pemVkIG9wdGlvbiBcYC1kbG9wZW4nIiAxPiYyCisgICAgJGVjaG8g
IiRoZWxwIiAxPiYyCisgICAgZXhpdCAxCisgIGZpCisKKyAgIyBDaGFuZ2UgdGhlIGhlbHAgbWVz
c2FnZSB0byBhIG1vZGUtc3BlY2lmaWMgb25lLgorICBnZW5lcmljX2hlbHA9IiRoZWxwIgorICBo
ZWxwPSJUcnkgXGAkbW9kZW5hbWUgLS1oZWxwIC0tbW9kZT0kbW9kZScgZm9yIG1vcmUgaW5mb3Jt
YXRpb24uIgorCisgICMgVGhlc2UgbW9kZXMgYXJlIGluIG9yZGVyIG9mIGV4ZWN1dGlvbiBmcmVx
dWVuY3kgc28gdGhhdCB0aGV5IHJ1biBxdWlja2x5LgorICBjYXNlICRtb2RlIGluCisgICMgbGli
dG9vbCBjb21waWxlIG1vZGUKKyAgY29tcGlsZSkKKyAgICBtb2RlbmFtZT0iJG1vZGVuYW1lOiBj
b21waWxlIgorICAgICMgR2V0IHRoZSBjb21waWxhdGlvbiBjb21tYW5kIGFuZCB0aGUgc291cmNl
IGZpbGUuCisgICAgYmFzZV9jb21waWxlPQorICAgIHByZXY9CisgICAgbGFzdGFyZz0KKyAgICBz
cmNmaWxlPSIkbm9ub3B0IgorICAgIHN1cHByZXNzX291dHB1dD0KKworICAgIHVzZXJfdGFyZ2V0
PW5vCisgICAgZm9yIGFyZworICAgIGRvCisgICAgICBjYXNlICRwcmV2IGluCisgICAgICAiIikg
OzsKKyAgICAgIHhjb21waWxlcikKKwkjIEFlc3RoZXRpY2FsbHkgcXVvdGUgdGhlIHByZXZpb3Vz
IGFyZ3VtZW50LgorCXByZXY9CisJbGFzdGFyZz1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICIk
c2VkX3F1b3RlX3N1YnN0ImAKKworCWNhc2UgJGFyZyBpbgorCSMgRG91YmxlLXF1b3RlIGFyZ3Mg
Y29udGFpbmluZyBvdGhlciBzaGVsbCBtZXRhY2hhcmFjdGVycy4KKwkjIE1hbnkgQm91cm5lIHNo
ZWxscyBjYW5ub3QgaGFuZGxlIGNsb3NlIGJyYWNrZXRzIGNvcnJlY3RseQorCSMgaW4gc2NhbiBz
ZXRzLCBzbyB3ZSBzcGVjaWZ5IGl0IHNlcGFyYXRlbHkuCisJKltcW1x+XCNcXlwmXCpcKFwpXHtc
fVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCisJICBhcmc9IlwiJGFyZ1wiIgorCSAgOzsKKwll
c2FjCisKKwkjIEFkZCB0aGUgcHJldmlvdXMgYXJndW1lbnQgdG8gYmFzZV9jb21waWxlLgorCWlm
IHRlc3QgLXogIiRiYXNlX2NvbXBpbGUiOyB0aGVuCisJICBiYXNlX2NvbXBpbGU9IiRsYXN0YXJn
IgorCWVsc2UKKwkgIGJhc2VfY29tcGlsZT0iJGJhc2VfY29tcGlsZSAkbGFzdGFyZyIKKwlmaQor
CWNvbnRpbnVlCisJOzsKKyAgICAgIGVzYWMKKworICAgICAgIyBBY2NlcHQgYW55IGNvbW1hbmQt
bGluZSBvcHRpb25zLgorICAgICAgY2FzZSAkYXJnIGluCisgICAgICAtbykKKwlpZiB0ZXN0ICIk
dXNlcl90YXJnZXQiICE9ICJubyI7IHRoZW4KKwkgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBjYW5u
b3Qgc3BlY2lmeSBcYC1vJyBtb3JlIHRoYW4gb25jZSIgMT4mMgorCSAgZXhpdCAxCisJZmkKKwl1
c2VyX3RhcmdldD1uZXh0CisJOzsKKworICAgICAgLXN0YXRpYykKKwlidWlsZF9vbGRfbGlicz15
ZXMKKwljb250aW51ZQorCTs7CisKKyAgICAgIC1wcmVmZXItcGljKQorCXBpY19tb2RlPXllcwor
CWNvbnRpbnVlCisJOzsKKworICAgICAgLXByZWZlci1ub24tcGljKQorCXBpY19tb2RlPW5vCisJ
Y29udGludWUKKwk7OworCisgICAgICAtWGNvbXBpbGVyKQorCXByZXY9eGNvbXBpbGVyCisJY29u
dGludWUKKwk7OworCisgICAgICAtV2MsKikKKwlhcmdzPWAkZWNobyAiWCRhcmciIHwgJFhzZWQg
LWUgInMvXi1XYywvLyJgCisJbGFzdGFyZz0KKwlJRlM9IiR7SUZTPSAJfSI7IHNhdmVfaWZzPSIk
SUZTIjsgSUZTPScsJworCWZvciBhcmcgaW4gJGFyZ3M7IGRvCisJICBJRlM9IiRzYXZlX2lmcyIK
KworCSAgIyBEb3VibGUtcXVvdGUgYXJncyBjb250YWluaW5nIG90aGVyIHNoZWxsIG1ldGFjaGFy
YWN0ZXJzLgorCSAgIyBNYW55IEJvdXJuZSBzaGVsbHMgY2Fubm90IGhhbmRsZSBjbG9zZSBicmFj
a2V0cyBjb3JyZWN0bHkKKwkgICMgaW4gc2NhbiBzZXRzLCBzbyB3ZSBzcGVjaWZ5IGl0IHNlcGFy
YXRlbHkuCisJICBjYXNlICRhcmcgaW4KKwkgICAgKltcW1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtc
PFw+XD9cJ1wgXAldKnwqXSp8IiIpCisJICAgIGFyZz0iXCIkYXJnXCIiCisJICAgIDs7CisJICBl
c2FjCisJICBsYXN0YXJnPSIkbGFzdGFyZyAkYXJnIgorCWRvbmUKKwlJRlM9IiRzYXZlX2lmcyIK
KwlsYXN0YXJnPWAkZWNobyAiWCRsYXN0YXJnIiB8ICRYc2VkIC1lICJzL14gLy8iYAorCisJIyBB
ZGQgdGhlIGFyZ3VtZW50cyB0byBiYXNlX2NvbXBpbGUuCisJaWYgdGVzdCAteiAiJGJhc2VfY29t
cGlsZSI7IHRoZW4KKwkgIGJhc2VfY29tcGlsZT0iJGxhc3RhcmciCisJZWxzZQorCSAgYmFzZV9j
b21waWxlPSIkYmFzZV9jb21waWxlICRsYXN0YXJnIgorCWZpCisJY29udGludWUKKwk7OworICAg
ICAgZXNhYworCisgICAgICBjYXNlICR1c2VyX3RhcmdldCBpbgorICAgICAgbmV4dCkKKwkjIFRo
ZSBuZXh0IG9uZSBpcyB0aGUgLW8gdGFyZ2V0IG5hbWUKKwl1c2VyX3RhcmdldD15ZXMKKwljb250
aW51ZQorCTs7CisgICAgICB5ZXMpCisJIyBXZSBnb3QgdGhlIG91dHB1dCBmaWxlCisJdXNlcl90
YXJnZXQ9c2V0CisJbGlib2JqPSIkYXJnIgorCWNvbnRpbnVlCisJOzsKKyAgICAgIGVzYWMKKwor
ICAgICAgIyBBY2NlcHQgdGhlIGN1cnJlbnQgYXJndW1lbnQgYXMgdGhlIHNvdXJjZSBmaWxlLgor
ICAgICAgbGFzdGFyZz0iJHNyY2ZpbGUiCisgICAgICBzcmNmaWxlPSIkYXJnIgorCisgICAgICAj
IEFlc3RoZXRpY2FsbHkgcXVvdGUgdGhlIHByZXZpb3VzIGFyZ3VtZW50LgorCisgICAgICAjIEJh
Y2tzbGFzaGlmeSBhbnkgYmFja3NsYXNoZXMsIGRvdWJsZSBxdW90ZXMsIGFuZCBkb2xsYXIgc2ln
bnMuCisgICAgICAjIFRoZXNlIGFyZSB0aGUgb25seSBjaGFyYWN0ZXJzIHRoYXQgYXJlIHN0aWxs
IHNwZWNpYWxseQorICAgICAgIyBpbnRlcnByZXRlZCBpbnNpZGUgb2YgZG91YmxlLXF1b3RlZCBz
Y3JpbmdzLgorICAgICAgbGFzdGFyZz1gJGVjaG8gIlgkbGFzdGFyZyIgfCAkWHNlZCAtZSAiJHNl
ZF9xdW90ZV9zdWJzdCJgCisKKyAgICAgICMgRG91YmxlLXF1b3RlIGFyZ3MgY29udGFpbmluZyBv
dGhlciBzaGVsbCBtZXRhY2hhcmFjdGVycy4KKyAgICAgICMgTWFueSBCb3VybmUgc2hlbGxzIGNh
bm5vdCBoYW5kbGUgY2xvc2UgYnJhY2tldHMgY29ycmVjdGx5CisgICAgICAjIGluIHNjYW4gc2V0
cywgc28gd2Ugc3BlY2lmeSBpdCBzZXBhcmF0ZWx5LgorICAgICAgY2FzZSAkbGFzdGFyZyBpbgor
ICAgICAgKltcW1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCisJ
bGFzdGFyZz0iXCIkbGFzdGFyZ1wiIgorCTs7CisgICAgICBlc2FjCisKKyAgICAgICMgQWRkIHRo
ZSBwcmV2aW91cyBhcmd1bWVudCB0byBiYXNlX2NvbXBpbGUuCisgICAgICBpZiB0ZXN0IC16ICIk
YmFzZV9jb21waWxlIjsgdGhlbgorCWJhc2VfY29tcGlsZT0iJGxhc3RhcmciCisgICAgICBlbHNl
CisJYmFzZV9jb21waWxlPSIkYmFzZV9jb21waWxlICRsYXN0YXJnIgorICAgICAgZmkKKyAgICBk
b25lCisKKyAgICBjYXNlICR1c2VyX3RhcmdldCBpbgorICAgIHNldCkKKyAgICAgIDs7CisgICAg
bm8pCisgICAgICAjIEdldCB0aGUgbmFtZSBvZiB0aGUgbGlicmFyeSBvYmplY3QuCisgICAgICBs
aWJvYmo9YCRlY2hvICJYJHNyY2ZpbGUiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKKyAgICAgIDs7
CisgICAgKikKKyAgICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0IHNwZWNpZnkgYSB0YXJn
ZXQgd2l0aCBcYC1vJyIgMT4mMgorICAgICAgZXhpdCAxCisgICAgICA7OworICAgIGVzYWMKKwor
ICAgICMgUmVjb2duaXplIHNldmVyYWwgZGlmZmVyZW50IGZpbGUgc3VmZml4ZXMuCisgICAgIyBJ
ZiB0aGUgdXNlciBzcGVjaWZpZXMgLW8gZmlsZS5vLCBpdCBpcyByZXBsYWNlZCB3aXRoIGZpbGUu
bG8KKyAgICB4Zm9ybT0nW2NDRlNmbXNvXScKKyAgICBjYXNlICRsaWJvYmogaW4KKyAgICAqLmFk
YSkgeGZvcm09YWRhIDs7CisgICAgKi5hZGIpIHhmb3JtPWFkYiA7OworICAgICouYWRzKSB4Zm9y
bT1hZHMgOzsKKyAgICAqLmFzbSkgeGZvcm09YXNtIDs7CisgICAgKi5jKyspIHhmb3JtPWMrKyA7
OworICAgICouY2MpIHhmb3JtPWNjIDs7CisgICAgKi5jcHApIHhmb3JtPWNwcCA7OworICAgICou
Y3h4KSB4Zm9ybT1jeHggOzsKKyAgICAqLmY5MCkgeGZvcm09ZjkwIDs7CisgICAgKi5mb3IpIHhm
b3JtPWZvciA7OworICAgIGVzYWMKKworICAgIGxpYm9iaj1gJGVjaG8gIlgkbGlib2JqIiB8ICRY
c2VkIC1lICJzL1wuJHhmb3JtJC8ubG8vImAKKworICAgIGNhc2UgJGxpYm9iaiBpbgorICAgICou
bG8pIG9iaj1gJGVjaG8gIlgkbGlib2JqIiB8ICRYc2VkIC1lICIkbG8ybyJgIDs7CisgICAgKikK
KyAgICAgICRlY2hvICIkbW9kZW5hbWU6IGNhbm5vdCBkZXRlcm1pbmUgbmFtZSBvZiBsaWJyYXJ5
IG9iamVjdCBmcm9tIFxgJGxpYm9iaiciIDE+JjIKKyAgICAgIGV4aXQgMQorICAgICAgOzsKKyAg
ICBlc2FjCisKKyAgICBpZiB0ZXN0IC16ICIkYmFzZV9jb21waWxlIjsgdGhlbgorICAgICAgJGVj
aG8gIiRtb2RlbmFtZTogeW91IG11c3Qgc3BlY2lmeSBhIGNvbXBpbGF0aW9uIGNvbW1hbmQiIDE+
JjIKKyAgICAgICRlY2hvICIkaGVscCIgMT4mMgorICAgICAgZXhpdCAxCisgICAgZmkKKworICAg
ICMgRGVsZXRlIGFueSBsZWZ0b3ZlciBsaWJyYXJ5IG9iamVjdHMuCisgICAgaWYgdGVzdCAiJGJ1
aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgorICAgICAgcmVtb3ZlbGlzdD0iJG9iaiAkbGlib2Jq
IgorICAgIGVsc2UKKyAgICAgIHJlbW92ZWxpc3Q9IiRsaWJvYmoiCisgICAgZmkKKworICAgICRy
dW4gJHJtICRyZW1vdmVsaXN0CisgICAgdHJhcCAiJHJ1biAkcm0gJHJlbW92ZWxpc3Q7IGV4aXQg
MSIgMSAyIDE1CisKKyAgICAjIE9uIEN5Z3dpbiB0aGVyZSdzIG5vICJyZWFsIiBQSUMgZmxhZyBz
byB3ZSBtdXN0IGJ1aWxkIGJvdGggb2JqZWN0IHR5cGVzCisgICAgY2FzZSAkaG9zdF9vcyBpbgor
ICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IG9zMiopCisgICAgICBwaWNfbW9kZT1kZWZh
dWx0CisgICAgICA7OworICAgIGVzYWMKKyAgICBpZiB0ZXN0ICIkcGljX21vZGUiID0gbm8gJiYg
dGVzdCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAhPSBwYXNzX2FsbDsgdGhlbgorICAgICAgIyBu
b24tUElDIGNvZGUgaW4gc2hhcmVkIGxpYnJhcmllcyBpcyBub3Qgc3VwcG9ydGVkCisgICAgICBw
aWNfbW9kZT1kZWZhdWx0CisgICAgZmkKKworICAgICMgQ2FsY3VsYXRlIHRoZSBmaWxlbmFtZSBv
ZiB0aGUgb3V0cHV0IG9iamVjdCBpZiBjb21waWxlciBkb2VzCisgICAgIyBub3Qgc3VwcG9ydCAt
byB3aXRoIC1jCisgICAgaWYgdGVzdCAiJGNvbXBpbGVyX2NfbyIgPSBubzsgdGhlbgorICAgICAg
b3V0cHV0X29iaj1gJGVjaG8gIlgkc3JjZmlsZSIgfCAkWHNlZCAtZSAncyVeLiovJSUnIC1lICdz
JVwuW14uXSokJSUnYC4ke29iamV4dH0KKyAgICAgIGxvY2tmaWxlPSIkb3V0cHV0X29iai5sb2Nr
IgorICAgICAgcmVtb3ZlbGlzdD0iJHJlbW92ZWxpc3QgJG91dHB1dF9vYmogJGxvY2tmaWxlIgor
ICAgICAgdHJhcCAiJHJ1biAkcm0gJHJlbW92ZWxpc3Q7IGV4aXQgMSIgMSAyIDE1CisgICAgZWxz
ZQorICAgICAgbmVlZF9sb2Nrcz1ubworICAgICAgbG9ja2ZpbGU9CisgICAgZmkKKworICAgICMg
TG9jayB0aGlzIGNyaXRpY2FsIHNlY3Rpb24gaWYgaXQgaXMgbmVlZGVkCisgICAgIyBXZSB1c2Ug
dGhpcyBzY3JpcHQgZmlsZSB0byBtYWtlIHRoZSBsaW5rLCBpdCBhdm9pZHMgY3JlYXRpbmcgYSBu
ZXcgZmlsZQorICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHllczsgdGhlbgorICAgICAgdW50
aWwgJHJ1biBsbiAiJDAiICIkbG9ja2ZpbGUiIDI+L2Rldi9udWxsOyBkbworCSRzaG93ICJXYWl0
aW5nIGZvciAkbG9ja2ZpbGUgdG8gYmUgcmVtb3ZlZCIKKwlzbGVlcCAyCisgICAgICBkb25lCisg
ICAgZWxpZiB0ZXN0ICIkbmVlZF9sb2NrcyIgPSB3YXJuOyB0aGVuCisgICAgICBpZiB0ZXN0IC1m
ICIkbG9ja2ZpbGUiOyB0aGVuCisJZWNobyAiXAorKioqIEVSUk9SLCAkbG9ja2ZpbGUgZXhpc3Rz
IGFuZCBjb250YWluczoKK2BjYXQgJGxvY2tmaWxlIDI+L2Rldi9udWxsYAorCitUaGlzIGluZGlj
YXRlcyB0aGF0IGFub3RoZXIgcHJvY2VzcyBpcyB0cnlpbmcgdG8gdXNlIHRoZSBzYW1lCit0ZW1w
b3Jhcnkgb2JqZWN0IGZpbGUsIGFuZCBsaWJ0b29sIGNvdWxkIG5vdCB3b3JrIGFyb3VuZCBpdCBi
ZWNhdXNlCit5b3VyIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQgXGAtYycgYW5kIFxgLW8nIHRv
Z2V0aGVyLiAgSWYgeW91CityZXBlYXQgdGhpcyBjb21waWxhdGlvbiwgaXQgbWF5IHN1Y2NlZWQs
IGJ5IGNoYW5jZSwgYnV0IHlvdSBoYWQgYmV0dGVyCithdm9pZCBwYXJhbGxlbCBidWlsZHMgKG1h
a2UgLWopIGluIHRoaXMgcGxhdGZvcm0sIG9yIGdldCBhIGJldHRlcgorY29tcGlsZXIuIgorCisJ
JHJ1biAkcm0gJHJlbW92ZWxpc3QKKwlleGl0IDEKKyAgICAgIGZpCisgICAgICBlY2hvICRzcmNm
aWxlID4gIiRsb2NrZmlsZSIKKyAgICBmaQorCisgICAgaWYgdGVzdCAtbiAiJGZpeF9zcmNmaWxl
X3BhdGgiOyB0aGVuCisgICAgICBldmFsIHNyY2ZpbGU9XCIkZml4X3NyY2ZpbGVfcGF0aFwiCisg
ICAgZmkKKworICAgICMgT25seSBidWlsZCBhIFBJQyBvYmplY3QgaWYgd2UgYXJlIGJ1aWxkaW5n
IGxpYnRvb2wgbGlicmFyaWVzLgorICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0g
eWVzOyB0aGVuCisgICAgICAjIFdpdGhvdXQgdGhpcyBhc3NpZ25tZW50LCBiYXNlX2NvbXBpbGUg
Z2V0cyBlbXB0aWVkLgorICAgICAgZmJzZF9oaWRlb3VzX3NoX2J1Zz0kYmFzZV9jb21waWxlCisK
KyAgICAgIGlmIHRlc3QgIiRwaWNfbW9kZSIgIT0gbm87IHRoZW4KKwkjIEFsbCBwbGF0Zm9ybXMg
dXNlIC1EUElDLCB0byBub3RpZnkgcHJlcHJvY2Vzc2VkIGFzc2VtYmxlciBjb2RlLgorCWNvbW1h
bmQ9IiRiYXNlX2NvbXBpbGUgJHNyY2ZpbGUgJHBpY19mbGFnIC1EUElDIgorICAgICAgZWxzZQor
CSMgRG9uJ3QgYnVpbGQgUElDIGNvZGUKKwljb21tYW5kPSIkYmFzZV9jb21waWxlICRzcmNmaWxl
IgorICAgICAgZmkKKyAgICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4K
Kwlsb19saWJvYmo9IiRsaWJvYmoiCisJZGlyPWAkZWNobyAiWCRsaWJvYmoiIHwgJFhzZWQgLWUg
J3MlL1teL10qJCUlJ2AKKwlpZiB0ZXN0ICJYJGRpciIgPSAiWCRsaWJvYmoiOyB0aGVuCisJICBk
aXI9IiRvYmpkaXIiCisJZWxzZQorCSAgZGlyPSIkZGlyLyRvYmpkaXIiCisJZmkKKwlsaWJvYmo9
IiRkaXIvImAkZWNobyAiWCRsaWJvYmoiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKKworCWlmIHRl
c3QgLWQgIiRkaXIiOyB0aGVuCisJICAkc2hvdyAiJHJtICRsaWJvYmoiCisJICAkcnVuICRybSAk
bGlib2JqCisJZWxzZQorCSAgJHNob3cgIiRta2RpciAkZGlyIgorCSAgJHJ1biAkbWtkaXIgJGRp
cgorCSAgc3RhdHVzPSQ/CisJICBpZiB0ZXN0ICRzdGF0dXMgLW5lIDAgJiYgdGVzdCAhIC1kICRk
aXI7IHRoZW4KKwkgICAgZXhpdCAkc3RhdHVzCisJICBmaQorCWZpCisgICAgICBmaQorICAgICAg
aWYgdGVzdCAiJGNvbXBpbGVyX29fbG8iID0geWVzOyB0aGVuCisJb3V0cHV0X29iaj0iJGxpYm9i
aiIKKwljb21tYW5kPSIkY29tbWFuZCAtbyAkb3V0cHV0X29iaiIKKyAgICAgIGVsaWYgdGVzdCAi
JGNvbXBpbGVyX2NfbyIgPSB5ZXM7IHRoZW4KKwlvdXRwdXRfb2JqPSIkb2JqIgorCWNvbW1hbmQ9
IiRjb21tYW5kIC1vICRvdXRwdXRfb2JqIgorICAgICAgZmkKKworICAgICAgJHJ1biAkcm0gIiRv
dXRwdXRfb2JqIgorICAgICAgJHNob3cgIiRjb21tYW5kIgorICAgICAgaWYgJHJ1biBldmFsICIk
Y29tbWFuZCI7IHRoZW4gOgorICAgICAgZWxzZQorCXRlc3QgLW4gIiRvdXRwdXRfb2JqIiAmJiAk
cnVuICRybSAkcmVtb3ZlbGlzdAorCWV4aXQgMQorICAgICAgZmkKKworICAgICAgaWYgdGVzdCAi
JG5lZWRfbG9ja3MiID0gd2FybiAmJgorCSB0ZXN0IHgiYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251
bGxgIiAhPSB4IiRzcmNmaWxlIjsgdGhlbgorCWVjaG8gIlwKKyoqKiBFUlJPUiwgJGxvY2tmaWxl
IGNvbnRhaW5zOgorYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgCisKK2J1dCBpdCBzaG91bGQg
Y29udGFpbjoKKyRzcmNmaWxlCisKK1RoaXMgaW5kaWNhdGVzIHRoYXQgYW5vdGhlciBwcm9jZXNz
IGlzIHRyeWluZyB0byB1c2UgdGhlIHNhbWUKK3RlbXBvcmFyeSBvYmplY3QgZmlsZSwgYW5kIGxp
YnRvb2wgY291bGQgbm90IHdvcmsgYXJvdW5kIGl0IGJlY2F1c2UKK3lvdXIgY29tcGlsZXIgZG9l
cyBub3Qgc3VwcG9ydCBcYC1jJyBhbmQgXGAtbycgdG9nZXRoZXIuICBJZiB5b3UKK3JlcGVhdCB0
aGlzIGNvbXBpbGF0aW9uLCBpdCBtYXkgc3VjY2VlZCwgYnkgY2hhbmNlLCBidXQgeW91IGhhZCBi
ZXR0ZXIKK2F2b2lkIHBhcmFsbGVsIGJ1aWxkcyAobWFrZSAtaikgaW4gdGhpcyBwbGF0Zm9ybSwg
b3IgZ2V0IGEgYmV0dGVyCitjb21waWxlci4iCisKKwkkcnVuICRybSAkcmVtb3ZlbGlzdAorCWV4
aXQgMQorICAgICAgZmkKKworICAgICAgIyBKdXN0IG1vdmUgdGhlIG9iamVjdCBpZiBuZWVkZWQs
IHRoZW4gZ28gb24gdG8gY29tcGlsZSB0aGUgbmV4dCBvbmUKKyAgICAgIGlmIHRlc3QgeCIkb3V0
cHV0X29iaiIgIT0geCIkbGlib2JqIjsgdGhlbgorCSRzaG93ICIkbXYgJG91dHB1dF9vYmogJGxp
Ym9iaiIKKwlpZiAkcnVuICRtdiAkb3V0cHV0X29iaiAkbGlib2JqOyB0aGVuIDoKKwllbHNlCisJ
ICBlcnJvcj0kPworCSAgJHJ1biAkcm0gJHJlbW92ZWxpc3QKKwkgIGV4aXQgJGVycm9yCisJZmkK
KyAgICAgIGZpCisKKyAgICAgICMgSWYgd2UgaGF2ZSBubyBwaWNfZmxhZywgdGhlbiBjb3B5IHRo
ZSBvYmplY3QgaW50byBwbGFjZSBhbmQgZmluaXNoLgorICAgICAgaWYgKHRlc3QgLXogIiRwaWNf
ZmxhZyIgfHwgdGVzdCAiJHBpY19tb2RlIiAhPSBkZWZhdWx0KSAmJgorCSB0ZXN0ICIkYnVpbGRf
b2xkX2xpYnMiID0geWVzOyB0aGVuCisJIyBSZW5hbWUgdGhlIC5sbyBmcm9tIHdpdGhpbiBvYmpk
aXIgdG8gb2JqCisJaWYgdGVzdCAtZiAkb2JqOyB0aGVuCisJICAkc2hvdyAkcm0gJG9iagorCSAg
JHJ1biAkcm0gJG9iagorCWZpCisKKwkkc2hvdyAiJG12ICRsaWJvYmogJG9iaiIKKwlpZiAkcnVu
ICRtdiAkbGlib2JqICRvYmo7IHRoZW4gOgorCWVsc2UKKwkgIGVycm9yPSQ/CisJICAkcnVuICRy
bSAkcmVtb3ZlbGlzdAorCSAgZXhpdCAkZXJyb3IKKwlmaQorCisJeGRpcj1gJGVjaG8gIlgkb2Jq
IiB8ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgCisJaWYgdGVzdCAiWCR4ZGlyIiA9ICJYJG9iaiI7
IHRoZW4KKwkgIHhkaXI9Ii4iCisJZWxzZQorCSAgeGRpcj0iJHhkaXIiCisJZmkKKwliYXNlb2Jq
PWAkZWNobyAiWCRvYmoiIHwgJFhzZWQgLWUgInMlLiovJSUiYAorCWxpYm9iaj1gJGVjaG8gIlgk
YmFzZW9iaiIgfCAkWHNlZCAtZSAiJG8ybG8iYAorCSMgTm93IGFycmFuZ2UgdGhhdCBvYmogYW5k
IGxvX2xpYm9iaiBiZWNvbWUgdGhlIHNhbWUgZmlsZQorCSRzaG93ICIoY2QgJHhkaXIgJiYgJExO
X1MgJGJhc2VvYmogJGxpYm9iaikiCisJaWYgJHJ1biBldmFsICcoY2QgJHhkaXIgJiYgJExOX1Mg
JGJhc2VvYmogJGxpYm9iaiknOyB0aGVuCisJICBleGl0IDAKKwllbHNlCisJICBlcnJvcj0kPwor
CSAgJHJ1biAkcm0gJHJlbW92ZWxpc3QKKwkgIGV4aXQgJGVycm9yCisJZmkKKyAgICAgIGZpCisK
KyAgICAgICMgQWxsb3cgZXJyb3IgbWVzc2FnZXMgb25seSBmcm9tIHRoZSBmaXJzdCBjb21waWxh
dGlvbi4KKyAgICAgIHN1cHByZXNzX291dHB1dD0nID4vZGV2L251bGwgMj4mMScKKyAgICBmaQor
CisgICAgIyBPbmx5IGJ1aWxkIGEgcG9zaXRpb24tZGVwZW5kZW50IG9iamVjdCBpZiB3ZSBidWls
ZCBvbGQgbGlicmFyaWVzLgorICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRo
ZW4KKyAgICAgIGlmIHRlc3QgIiRwaWNfbW9kZSIgIT0geWVzOyB0aGVuCisJIyBEb24ndCBidWls
ZCBQSUMgY29kZQorCWNvbW1hbmQ9IiRiYXNlX2NvbXBpbGUgJHNyY2ZpbGUiCisgICAgICBlbHNl
CisJIyBBbGwgcGxhdGZvcm1zIHVzZSAtRFBJQywgdG8gbm90aWZ5IHByZXByb2Nlc3NlZCBhc3Nl
bWJsZXIgY29kZS4KKwljb21tYW5kPSIkYmFzZV9jb21waWxlICRzcmNmaWxlICRwaWNfZmxhZyAt
RFBJQyIKKyAgICAgIGZpCisgICAgICBpZiB0ZXN0ICIkY29tcGlsZXJfY19vIiA9IHllczsgdGhl
bgorCWNvbW1hbmQ9IiRjb21tYW5kIC1vICRvYmoiCisJb3V0cHV0X29iaj0iJG9iaiIKKyAgICAg
IGZpCisKKyAgICAgICMgU3VwcHJlc3MgY29tcGlsZXIgb3V0cHV0IGlmIHdlIGFscmVhZHkgZGlk
IGEgUElDIGNvbXBpbGF0aW9uLgorICAgICAgY29tbWFuZD0iJGNvbW1hbmQkc3VwcHJlc3Nfb3V0
cHV0IgorICAgICAgJHJ1biAkcm0gIiRvdXRwdXRfb2JqIgorICAgICAgJHNob3cgIiRjb21tYW5k
IgorICAgICAgaWYgJHJ1biBldmFsICIkY29tbWFuZCI7IHRoZW4gOgorICAgICAgZWxzZQorCSRy
dW4gJHJtICRyZW1vdmVsaXN0CisJZXhpdCAxCisgICAgICBmaQorCisgICAgICBpZiB0ZXN0ICIk
bmVlZF9sb2NrcyIgPSB3YXJuICYmCisJIHRlc3QgeCJgY2F0ICRsb2NrZmlsZSAyPi9kZXYvbnVs
bGAiICE9IHgiJHNyY2ZpbGUiOyB0aGVuCisJZWNobyAiXAorKioqIEVSUk9SLCAkbG9ja2ZpbGUg
Y29udGFpbnM6CitgY2F0ICRsb2NrZmlsZSAyPi9kZXYvbnVsbGAKKworYnV0IGl0IHNob3VsZCBj
b250YWluOgorJHNyY2ZpbGUKKworVGhpcyBpbmRpY2F0ZXMgdGhhdCBhbm90aGVyIHByb2Nlc3Mg
aXMgdHJ5aW5nIHRvIHVzZSB0aGUgc2FtZQordGVtcG9yYXJ5IG9iamVjdCBmaWxlLCBhbmQgbGli
dG9vbCBjb3VsZCBub3Qgd29yayBhcm91bmQgaXQgYmVjYXVzZQoreW91ciBjb21waWxlciBkb2Vz
IG5vdCBzdXBwb3J0IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQorcmVwZWF0IHRo
aXMgY29tcGlsYXRpb24sIGl0IG1heSBzdWNjZWVkLCBieSBjaGFuY2UsIGJ1dCB5b3UgaGFkIGJl
dHRlcgorYXZvaWQgcGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0aGlzIHBsYXRmb3JtLCBv
ciBnZXQgYSBiZXR0ZXIKK2NvbXBpbGVyLiIKKworCSRydW4gJHJtICRyZW1vdmVsaXN0CisJZXhp
dCAxCisgICAgICBmaQorCisgICAgICAjIEp1c3QgbW92ZSB0aGUgb2JqZWN0IGlmIG5lZWRlZAor
ICAgICAgaWYgdGVzdCB4IiRvdXRwdXRfb2JqIiAhPSB4IiRvYmoiOyB0aGVuCisJJHNob3cgIiRt
diAkb3V0cHV0X29iaiAkb2JqIgorCWlmICRydW4gJG12ICRvdXRwdXRfb2JqICRvYmo7IHRoZW4g
OgorCWVsc2UKKwkgIGVycm9yPSQ/CisJICAkcnVuICRybSAkcmVtb3ZlbGlzdAorCSAgZXhpdCAk
ZXJyb3IKKwlmaQorICAgICAgZmkKKworICAgICAgIyBDcmVhdGUgYW4gaW52YWxpZCBsaWJ0b29s
IG9iamVjdCBpZiBubyBQSUMsIHNvIHRoYXQgd2UgZG8gbm90CisgICAgICAjIGFjY2lkZW50YWxs
eSBsaW5rIGl0IGludG8gYSBwcm9ncmFtLgorICAgICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xf
bGlicyIgIT0geWVzOyB0aGVuCisJJHNob3cgImVjaG8gdGltZXN0YW1wID4gJGxpYm9iaiIKKwkk
cnVuIGV2YWwgImVjaG8gdGltZXN0YW1wID4gXCRsaWJvYmoiIHx8IGV4aXQgJD8KKyAgICAgIGVs
c2UKKwkjIE1vdmUgdGhlIC5sbyBmcm9tIHdpdGhpbiBvYmpkaXIKKwkkc2hvdyAiJG12ICRsaWJv
YmogJGxvX2xpYm9iaiIKKwlpZiAkcnVuICRtdiAkbGlib2JqICRsb19saWJvYmo7IHRoZW4gOgor
CWVsc2UKKwkgIGVycm9yPSQ/CisJICAkcnVuICRybSAkcmVtb3ZlbGlzdAorCSAgZXhpdCAkZXJy
b3IKKwlmaQorICAgICAgZmkKKyAgICBmaQorCisgICAgIyBVbmxvY2sgdGhlIGNyaXRpY2FsIHNl
Y3Rpb24gaWYgaXQgd2FzIGxvY2tlZAorICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiAhPSBubzsg
dGhlbgorICAgICAgJHJ1biAkcm0gIiRsb2NrZmlsZSIKKyAgICBmaQorCisgICAgZXhpdCAwCisg
ICAgOzsKKworICAjIGxpYnRvb2wgbGluayBtb2RlCisgIGxpbmsgfCByZWxpbmspCisgICAgbW9k
ZW5hbWU9IiRtb2RlbmFtZTogbGluayIKKyAgICBjYXNlICRob3N0IGluCisgICAgKi0qLWN5Z3dp
biogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiopCisgICAgICAjIEl0IGlzIGlt
cG9zc2libGUgdG8gbGluayBhIGRsbCB3aXRob3V0IHRoaXMgc2V0dGluZywgYW5kCisgICAgICAj
IHdlIHNob3VsZG4ndCBmb3JjZSB0aGUgbWFrZWZpbGUgbWFpbnRhaW5lciB0byBmaWd1cmUgb3V0
CisgICAgICAjIHdoaWNoIHN5c3RlbSB3ZSBhcmUgY29tcGlsaW5nIGZvciBpbiBvcmRlciB0byBw
YXNzIGFuIGV4dHJhCisgICAgICAjIGZsYWcgZm9yIGV2ZXJ5IGxpYnRvb2wgaW52b2thdGlvbi4K
KyAgICAgICMgYWxsb3dfdW5kZWZpbmVkPW5vCisKKyAgICAgICMgRklYTUU6IFVuZm9ydHVuYXRl
bHksIHRoZXJlIGFyZSBwcm9ibGVtcyB3aXRoIHRoZSBhYm92ZSB3aGVuIHRyeWluZworICAgICAg
IyB0byBtYWtlIGEgZGxsIHdoaWNoIGhhcyB1bmRlZmluZWQgc3ltYm9scywgaW4gd2hpY2ggY2Fz
ZSBub3QKKyAgICAgICMgZXZlbiBhIHN0YXRpYyBsaWJyYXJ5IGlzIGJ1aWx0LiAgRm9yIG5vdywg
d2UgbmVlZCB0byBzcGVjaWZ5CisgICAgICAjIC1uby11bmRlZmluZWQgb24gdGhlIGxpYnRvb2wg
bGluayBsaW5lIHdoZW4gd2UgY2FuIGJlIGNlcnRhaW4KKyAgICAgICMgdGhhdCBhbGwgc3ltYm9s
cyBhcmUgc2F0aXNmaWVkLCBvdGhlcndpc2Ugd2UgZ2V0IGEgc3RhdGljIGxpYnJhcnkuCisgICAg
ICBhbGxvd191bmRlZmluZWQ9eWVzCisgICAgICA7OworICAgICopCisgICAgICBhbGxvd191bmRl
ZmluZWQ9eWVzCisgICAgICA7OworICAgIGVzYWMKKyAgICBsaWJ0b29sX2FyZ3M9IiRub25vcHQi
CisgICAgY29tcGlsZV9jb21tYW5kPSIkbm9ub3B0IgorICAgIGZpbmFsaXplX2NvbW1hbmQ9IiRu
b25vcHQiCisKKyAgICBjb21waWxlX3JwYXRoPQorICAgIGZpbmFsaXplX3JwYXRoPQorICAgIGNv
bXBpbGVfc2hsaWJwYXRoPQorICAgIGZpbmFsaXplX3NobGlicGF0aD0KKyAgICBjb252ZW5pZW5j
ZT0KKyAgICBvbGRfY29udmVuaWVuY2U9CisgICAgZGVwbGlicz0KKyAgICBvbGRfZGVwbGlicz0K
KyAgICBjb21waWxlcl9mbGFncz0KKyAgICBsaW5rZXJfZmxhZ3M9CisgICAgZGxsc2VhcmNocGF0
aD0KKyAgICBsaWJfc2VhcmNoX3BhdGg9YHB3ZGAKKworICAgIGF2b2lkX3ZlcnNpb249bm8KKyAg
ICBkbGZpbGVzPQorICAgIGRscHJlZmlsZXM9CisgICAgZGxzZWxmPW5vCisgICAgZXhwb3J0X2R5
bmFtaWM9bm8KKyAgICBleHBvcnRfc3ltYm9scz0KKyAgICBleHBvcnRfc3ltYm9sc19yZWdleD0K
KyAgICBnZW5lcmF0ZWQ9CisgICAgbGlib2Jqcz0KKyAgICBsdGxpYnM9CisgICAgbW9kdWxlPW5v
CisgICAgbm9faW5zdGFsbD1ubworICAgIG9ianM9CisgICAgcHJlZmVyX3N0YXRpY19saWJzPW5v
CisgICAgcHJlbG9hZD1ubworICAgIHByZXY9CisgICAgcHJldmFyZz0KKyAgICByZWxlYXNlPQor
ICAgIHJwYXRoPQorICAgIHhycGF0aD0KKyAgICBwZXJtX3JwYXRoPQorICAgIHRlbXBfcnBhdGg9
CisgICAgdGhyZWFkX3NhZmU9bm8KKyAgICB2aW5mbz0KKworICAgICMgV2UgbmVlZCB0byBrbm93
IC1zdGF0aWMsIHRvIGdldCB0aGUgcmlnaHQgb3V0cHV0IGZpbGVuYW1lcy4KKyAgICBmb3IgYXJn
CisgICAgZG8KKyAgICAgIGNhc2UgJGFyZyBpbgorICAgICAgLWFsbC1zdGF0aWMgfCAtc3RhdGlj
KQorCWlmIHRlc3QgIlgkYXJnIiA9ICJYLWFsbC1zdGF0aWMiOyB0aGVuCisJICBpZiB0ZXN0ICIk
YnVpbGRfbGlidG9vbF9saWJzIiA9IHllcyAmJiB0ZXN0IC16ICIkbGlua19zdGF0aWNfZmxhZyI7
IHRoZW4KKwkgICAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogY29tcGxldGUgc3RhdGljIGxp
bmtpbmcgaXMgaW1wb3NzaWJsZSBpbiB0aGlzIGNvbmZpZ3VyYXRpb24iIDE+JjIKKwkgIGZpCisJ
ICBpZiB0ZXN0IC1uICIkbGlua19zdGF0aWNfZmxhZyI7IHRoZW4KKwkgICAgZGxvcGVuX3NlbGY9
JGRsb3Blbl9zZWxmX3N0YXRpYworCSAgZmkKKwllbHNlCisJICBpZiB0ZXN0IC16ICIkcGljX2Zs
YWciICYmIHRlc3QgLW4gIiRsaW5rX3N0YXRpY19mbGFnIjsgdGhlbgorCSAgICBkbG9wZW5fc2Vs
Zj0kZGxvcGVuX3NlbGZfc3RhdGljCisJICBmaQorCWZpCisJYnVpbGRfbGlidG9vbF9saWJzPW5v
CisJYnVpbGRfb2xkX2xpYnM9eWVzCisJcHJlZmVyX3N0YXRpY19saWJzPXllcworCWJyZWFrCisJ
OzsKKyAgICAgIGVzYWMKKyAgICBkb25lCisKKyAgICAjIFNlZSBpZiBvdXIgc2hhcmVkIGFyY2hp
dmVzIGRlcGVuZCBvbiBzdGF0aWMgYXJjaGl2ZXMuCisgICAgdGVzdCAtbiAiJG9sZF9hcmNoaXZl
X2Zyb21fbmV3X2NtZHMiICYmIGJ1aWxkX29sZF9saWJzPXllcworCisgICAgIyBHbyB0aHJvdWdo
IHRoZSBhcmd1bWVudHMsIHRyYW5zZm9ybWluZyB0aGVtIG9uIHRoZSB3YXkuCisgICAgd2hpbGUg
dGVzdCAkIyAtZ3QgMDsgZG8KKyAgICAgIGFyZz0iJDEiCisgICAgICBzaGlmdAorICAgICAgY2Fz
ZSAkYXJnIGluCisgICAgICAqW1xbXH5cI1xeXCZcKlwoXClce1x9XHxcO1w8XD5cP1wnXCBcCV0q
fCpdKnwiIikKKwlxYXJnPVwiYCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9z
dWJzdCJgXCIgIyMjIHRlc3RzdWl0ZTogc2tpcCBuZXN0ZWQgcXVvdGluZyB0ZXN0CisJOzsKKyAg
ICAgICopIHFhcmc9JGFyZyA7OworICAgICAgZXNhYworICAgICAgbGlidG9vbF9hcmdzPSIkbGli
dG9vbF9hcmdzICRxYXJnIgorCisgICAgICAjIElmIHRoZSBwcmV2aW91cyBvcHRpb24gbmVlZHMg
YW4gYXJndW1lbnQsIGFzc2lnbiBpdC4KKyAgICAgIGlmIHRlc3QgLW4gIiRwcmV2IjsgdGhlbgor
CWNhc2UgJHByZXYgaW4KKwlvdXRwdXQpCisJICBjb21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2Nv
bW1hbmQgQE9VVFBVVEAiCisJICBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCBA
T1VUUFVUQCIKKwkgIDs7CisJZXNhYworCisJY2FzZSAkcHJldiBpbgorCWRsZmlsZXN8ZGxwcmVm
aWxlcykKKwkgIGlmIHRlc3QgIiRwcmVsb2FkIiA9IG5vOyB0aGVuCisJICAgICMgQWRkIHRoZSBz
eW1ib2wgb2JqZWN0IGludG8gdGhlIGxpbmtpbmcgY29tbWFuZHMuCisJICAgIGNvbXBpbGVfY29t
bWFuZD0iJGNvbXBpbGVfY29tbWFuZCBAU1lNRklMRUAiCisJICAgIGZpbmFsaXplX2NvbW1hbmQ9
IiRmaW5hbGl6ZV9jb21tYW5kIEBTWU1GSUxFQCIKKwkgICAgcHJlbG9hZD15ZXMKKwkgIGZpCisJ
ICBjYXNlICRhcmcgaW4KKwkgICoubGEgfCAqLmxvKSA7OyAgIyBXZSBoYW5kbGUgdGhlc2UgY2Fz
ZXMgYmVsb3cuCisJICBmb3JjZSkKKwkgICAgaWYgdGVzdCAiJGRsc2VsZiIgPSBubzsgdGhlbgor
CSAgICAgIGRsc2VsZj1uZWVkbGVzcworCSAgICAgIGV4cG9ydF9keW5hbWljPXllcworCSAgICBm
aQorCSAgICBwcmV2PQorCSAgICBjb250aW51ZQorCSAgICA7OworCSAgc2VsZikKKwkgICAgaWYg
dGVzdCAiJHByZXYiID0gZGxwcmVmaWxlczsgdGhlbgorCSAgICAgIGRsc2VsZj15ZXMKKwkgICAg
ZWxpZiB0ZXN0ICIkcHJldiIgPSBkbGZpbGVzICYmIHRlc3QgIiRkbG9wZW5fc2VsZiIgIT0geWVz
OyB0aGVuCisJICAgICAgZGxzZWxmPXllcworCSAgICBlbHNlCisJICAgICAgZGxzZWxmPW5lZWRs
ZXNzCisJICAgICAgZXhwb3J0X2R5bmFtaWM9eWVzCisJICAgIGZpCisJICAgIHByZXY9CisJICAg
IGNvbnRpbnVlCisJICAgIDs7CisJICAqKQorCSAgICBpZiB0ZXN0ICIkcHJldiIgPSBkbGZpbGVz
OyB0aGVuCisJICAgICAgZGxmaWxlcz0iJGRsZmlsZXMgJGFyZyIKKwkgICAgZWxzZQorCSAgICAg
IGRscHJlZmlsZXM9IiRkbHByZWZpbGVzICRhcmciCisJICAgIGZpCisJICAgIHByZXY9CisJICAg
IGNvbnRpbnVlCisJICAgIDs7CisJICBlc2FjCisJICA7OworCWV4cHN5bXMpCisJICBleHBvcnRf
c3ltYm9scz0iJGFyZyIKKwkgIGlmIHRlc3QgISAtZiAiJGFyZyI7IHRoZW4KKwkgICAgJGVjaG8g
IiRtb2RlbmFtZTogc3ltYm9sIGZpbGUgXGAkYXJnJyBkb2VzIG5vdCBleGlzdCIKKwkgICAgZXhp
dCAxCisJICBmaQorCSAgcHJldj0KKwkgIGNvbnRpbnVlCisJICA7OworCWV4cHN5bXNfcmVnZXgp
CisJICBleHBvcnRfc3ltYm9sc19yZWdleD0iJGFyZyIKKwkgIHByZXY9CisJICBjb250aW51ZQor
CSAgOzsKKwlyZWxlYXNlKQorCSAgcmVsZWFzZT0iLSRhcmciCisJICBwcmV2PQorCSAgY29udGlu
dWUKKwkgIDs7CisJcnBhdGggfCB4cnBhdGgpCisJICAjIFdlIG5lZWQgYW4gYWJzb2x1dGUgcGF0
aC4KKwkgIGNhc2UgJGFyZyBpbgorCSAgW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSA7OworCSAg
KikKKwkgICAgJGVjaG8gIiRtb2RlbmFtZTogb25seSBhYnNvbHV0ZSBydW4tcGF0aHMgYXJlIGFs
bG93ZWQiIDE+JjIKKwkgICAgZXhpdCAxCisJICAgIDs7CisJICBlc2FjCisJICBpZiB0ZXN0ICIk
cHJldiIgPSBycGF0aDsgdGhlbgorCSAgICBjYXNlICIkcnBhdGggIiBpbgorCSAgICAqIiAkYXJn
ICIqKSA7OworCSAgICAqKSBycGF0aD0iJHJwYXRoICRhcmciIDs7CisJICAgIGVzYWMKKwkgIGVs
c2UKKwkgICAgY2FzZSAiJHhycGF0aCAiIGluCisJICAgICoiICRhcmcgIiopIDs7CisJICAgICop
IHhycGF0aD0iJHhycGF0aCAkYXJnIiA7OworCSAgICBlc2FjCisJICBmaQorCSAgcHJldj0KKwkg
IGNvbnRpbnVlCisJICA7OworCXhjb21waWxlcikKKwkgIGNvbXBpbGVyX2ZsYWdzPSIkY29tcGls
ZXJfZmxhZ3MgJHFhcmciCisJICBwcmV2PQorCSAgY29tcGlsZV9jb21tYW5kPSIkY29tcGlsZV9j
b21tYW5kICRxYXJnIgorCSAgZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQgJHFh
cmciCisJICBjb250aW51ZQorCSAgOzsKKwl4bGlua2VyKQorCSAgbGlua2VyX2ZsYWdzPSIkbGlu
a2VyX2ZsYWdzICRxYXJnIgorCSAgY29tcGlsZXJfZmxhZ3M9IiRjb21waWxlcl9mbGFncyAkd2wk
cWFyZyIKKwkgIHByZXY9CisJICBjb21waWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgJHds
JHFhcmciCisJICBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAkd2wkcWFyZyIK
KwkgIGNvbnRpbnVlCisJICA7OworCSopCisJICBldmFsICIkcHJldj1cIlwkYXJnXCIiCisJICBw
cmV2PQorCSAgY29udGludWUKKwkgIDs7CisJZXNhYworICAgICAgZmkgIyB0ZXN0IC1uICRwcmV2
CisKKyAgICAgIHByZXZhcmc9IiRhcmciCisKKyAgICAgIGNhc2UgJGFyZyBpbgorICAgICAgLWFs
bC1zdGF0aWMpCisJaWYgdGVzdCAtbiAiJGxpbmtfc3RhdGljX2ZsYWciOyB0aGVuCisJICBjb21w
aWxlX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQgJGxpbmtfc3RhdGljX2ZsYWciCisJICBmaW5h
bGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAkbGlua19zdGF0aWNfZmxhZyIKKwlmaQor
CWNvbnRpbnVlCisJOzsKKworICAgICAgLWFsbG93LXVuZGVmaW5lZCkKKwkjIEZJWE1FOiByZW1v
dmUgdGhpcyBmbGFnIHNvbWV0aW1lIGluIHRoZSBmdXR1cmUuCisJJGVjaG8gIiRtb2RlbmFtZTog
XGAtYWxsb3ctdW5kZWZpbmVkJyBpcyBkZXByZWNhdGVkIGJlY2F1c2UgaXQgaXMgdGhlIGRlZmF1
bHQiIDE+JjIKKwljb250aW51ZQorCTs7CisKKyAgICAgIC1hdm9pZC12ZXJzaW9uKQorCWF2b2lk
X3ZlcnNpb249eWVzCisJY29udGludWUKKwk7OworCisgICAgICAtZGxvcGVuKQorCXByZXY9ZGxm
aWxlcworCWNvbnRpbnVlCisJOzsKKworICAgICAgLWRscHJlb3BlbikKKwlwcmV2PWRscHJlZmls
ZXMKKwljb250aW51ZQorCTs7CisKKyAgICAgIC1leHBvcnQtZHluYW1pYykKKwlleHBvcnRfZHlu
YW1pYz15ZXMKKwljb250aW51ZQorCTs7CisKKyAgICAgIC1leHBvcnQtc3ltYm9scyB8IC1leHBv
cnQtc3ltYm9scy1yZWdleCkKKwlpZiB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHMiIHx8IHRlc3Qg
LW4gIiRleHBvcnRfc3ltYm9sc19yZWdleCI7IHRoZW4KKwkgICRlY2hvICIkbW9kZW5hbWU6IG1v
cmUgdGhhbiBvbmUgLWV4cG9ydGVkLXN5bWJvbHMgYXJndW1lbnQgaXMgbm90IGFsbG93ZWQiCisJ
ICBleGl0IDEKKwlmaQorCWlmIHRlc3QgIlgkYXJnIiA9ICJYLWV4cG9ydC1zeW1ib2xzIjsgdGhl
bgorCSAgcHJldj1leHBzeW1zCisJZWxzZQorCSAgcHJldj1leHBzeW1zX3JlZ2V4CisJZmkKKwlj
b250aW51ZQorCTs7CisKKyAgICAgICMgVGhlIG5hdGl2ZSBJUklYIGxpbmtlciB1bmRlcnN0YW5k
cyAtTEFORzoqLCAtTElTVDoqIGFuZCAtTE5POioKKyAgICAgICMgc28sIGlmIHdlIHNlZSB0aGVz
ZSBmbGFncyBiZSBjYXJlZnVsIG5vdCB0byB0cmVhdCB0aGVtIGxpa2UgLUwKKyAgICAgIC1MW0Et
Wl1bQS1aXSo6KikKKwljYXNlICR3aXRoX2djYy8kaG9zdCBpbgorCW5vLyotKi1pcml4KikKKwkg
IGNvbXBpbGVfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCAkYXJnIgorCSAgZmluYWxpemVfY29t
bWFuZD0iJGZpbmFsaXplX2NvbW1hbmQgJGFyZyIKKwkgIDs7CisJZXNhYworCWNvbnRpbnVlCisJ
OzsKKworICAgICAgLUwqKQorCWRpcj1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICdzL14tTC8v
J2AKKwkjIFdlIG5lZWQgYW4gYWJzb2x1dGUgcGF0aC4KKwljYXNlICRkaXIgaW4KKwlbXFwvXSog
fCBbQS1aYS16XTpbXFwvXSopIDs7CisJKikKKwkgIGFic2Rpcj1gY2QgIiRkaXIiICYmIHB3ZGAK
KwkgIGlmIHRlc3QgLXogIiRhYnNkaXIiOyB0aGVuCisJICAgICRlY2hvICIkbW9kZW5hbWU6IGNh
bm5vdCBkZXRlcm1pbmUgYWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUgb2YgXGAkZGlyJyIgMT4mMgor
CSAgICBleGl0IDEKKwkgIGZpCisJICBkaXI9IiRhYnNkaXIiCisJICA7OworCWVzYWMKKwljYXNl
ICIkZGVwbGlicyAiIGluCisJKiIgLUwkZGlyICIqKSA7OworCSopCisJICBkZXBsaWJzPSIkZGVw
bGlicyAtTCRkaXIiCisJICBsaWJfc2VhcmNoX3BhdGg9IiRsaWJfc2VhcmNoX3BhdGggJGRpciIK
KwkgIDs7CisJZXNhYworCWNhc2UgJGhvc3QgaW4KKwkqLSotY3lnd2luKiB8ICotKi1taW5ndyog
fCAqLSotcHczMiogfCAqLSotb3MyKikKKwkgIGNhc2UgOiRkbGxzZWFyY2hwYXRoOiBpbgorCSAg
KiI6JGRpcjoiKikgOzsKKwkgICopIGRsbHNlYXJjaHBhdGg9IiRkbGxzZWFyY2hwYXRoOiRkaXIi
OzsKKwkgIGVzYWMKKwkgIDs7CisJZXNhYworCWNvbnRpbnVlCisJOzsKKworICAgICAgLWwqKQor
CWlmIHRlc3QgIlgkYXJnIiA9ICJYLWxjIiB8fCB0ZXN0ICJYJGFyZyIgPSAiWC1sbSI7IHRoZW4K
KwkgIGNhc2UgJGhvc3QgaW4KKwkgICotKi1jeWd3aW4qIHwgKi0qLXB3MzIqIHwgKi0qLWJlb3Mq
KQorCSAgICAjIFRoZXNlIHN5c3RlbXMgZG9uJ3QgYWN0dWFsbHkgaGF2ZSBhIEMgb3IgbWF0aCBs
aWJyYXJ5IChhcyBzdWNoKQorCSAgICBjb250aW51ZQorCSAgICA7OworCSAgKi0qLW1pbmd3KiB8
ICotKi1vczIqKQorCSAgICAjIFRoZXNlIHN5c3RlbXMgZG9uJ3QgYWN0dWFsbHkgaGF2ZSBhIEMg
bGlicmFyeSAoYXMgc3VjaCkKKwkgICAgdGVzdCAiWCRhcmciID0gIlgtbGMiICYmIGNvbnRpbnVl
CisJICAgIDs7CisJICBlc2FjCisJZmkKKwlkZXBsaWJzPSIkZGVwbGlicyAkYXJnIgorCWNvbnRp
bnVlCisJOzsKKworICAgICAgLW1vZHVsZSkKKwltb2R1bGU9eWVzCisJY29udGludWUKKwk7Owor
CisgICAgICAtbm8tZmFzdC1pbnN0YWxsKQorCWZhc3RfaW5zdGFsbD1ubworCWNvbnRpbnVlCisJ
OzsKKworICAgICAgLW5vLWluc3RhbGwpCisJY2FzZSAkaG9zdCBpbgorCSotKi1jeWd3aW4qIHwg
Ki0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICotKi1vczIqKQorCSAgIyBUaGUgUEFUSCBoYWNrZXJ5
IGluIHdyYXBwZXIgc2NyaXB0cyBpcyByZXF1aXJlZCBvbiBXaW5kb3dzCisJICAjIGluIG9yZGVy
IGZvciB0aGUgbG9hZGVyIHRvIGZpbmQgYW55IGRsbHMgaXQgbmVlZHMuCisJICAkZWNobyAiJG1v
ZGVuYW1lOiB3YXJuaW5nOiBcYC1uby1pbnN0YWxsJyBpcyBpZ25vcmVkIGZvciAkaG9zdCIgMT4m
MgorCSAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogYXNzdW1pbmcgXGAtbm8tZmFzdC1pbnN0
YWxsJyBpbnN0ZWFkIiAxPiYyCisJICBmYXN0X2luc3RhbGw9bm8KKwkgIDs7CisJKikgbm9faW5z
dGFsbD15ZXMgOzsKKwllc2FjCisJY29udGludWUKKwk7OworCisgICAgICAtbm8tdW5kZWZpbmVk
KQorCWFsbG93X3VuZGVmaW5lZD1ubworCWNvbnRpbnVlCisJOzsKKworICAgICAgLW8pIHByZXY9
b3V0cHV0IDs7CisKKyAgICAgIC1yZWxlYXNlKQorCXByZXY9cmVsZWFzZQorCWNvbnRpbnVlCisJ
OzsKKworICAgICAgLXJwYXRoKQorCXByZXY9cnBhdGgKKwljb250aW51ZQorCTs7CisKKyAgICAg
IC1SKQorCXByZXY9eHJwYXRoCisJY29udGludWUKKwk7OworCisgICAgICAtUiopCisJZGlyPWAk
ZWNobyAiWCRhcmciIHwgJFhzZWQgLWUgJ3MvXi1SLy8nYAorCSMgV2UgbmVlZCBhbiBhYnNvbHV0
ZSBwYXRoLgorCWNhc2UgJGRpciBpbgorCVtcXC9dKiB8IFtBLVphLXpdOltcXC9dKikgOzsKKwkq
KQorCSAgJGVjaG8gIiRtb2RlbmFtZTogb25seSBhYnNvbHV0ZSBydW4tcGF0aHMgYXJlIGFsbG93
ZWQiIDE+JjIKKwkgIGV4aXQgMQorCSAgOzsKKwllc2FjCisJY2FzZSAiJHhycGF0aCAiIGluCisJ
KiIgJGRpciAiKikgOzsKKwkqKSB4cnBhdGg9IiR4cnBhdGggJGRpciIgOzsKKwllc2FjCisJY29u
dGludWUKKwk7OworCisgICAgICAtc3RhdGljKQorCSMgVGhlIGVmZmVjdHMgb2YgLXN0YXRpYyBh
cmUgZGVmaW5lZCBpbiBhIHByZXZpb3VzIGxvb3AuCisJIyBXZSB1c2VkIHRvIGRvIHRoZSBzYW1l
IGFzIC1hbGwtc3RhdGljIG9uIHBsYXRmb3JtcyB0aGF0CisJIyBkaWRuJ3QgaGF2ZSBhIFBJQyBm
bGFnLCBidXQgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgZWZmZWN0cworCSMgd291bGQgYmUgZXF1
aXZhbGVudCB3YXMgd3JvbmcuICBJdCB3b3VsZCBicmVhayBvbiBhdCBsZWFzdAorCSMgRGlnaXRh
bCBVbml4IGFuZCBBSVguCisJY29udGludWUKKwk7OworCisgICAgICAtdGhyZWFkLXNhZmUpCisJ
dGhyZWFkX3NhZmU9eWVzCisJY29udGludWUKKwk7OworCisgICAgICAtdmVyc2lvbi1pbmZvKQor
CXByZXY9dmluZm8KKwljb250aW51ZQorCTs7CisKKyAgICAgIC1XYywqKQorCWFyZ3M9YCRlY2hv
ICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCIgLWUgJ3MvXi1XYywvLydgCisJ
YXJnPQorCUlGUz0iJHtJRlM9IAl9Ijsgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9JywnCisJZm9yIGZs
YWcgaW4gJGFyZ3M7IGRvCisJICBJRlM9IiRzYXZlX2lmcyIKKwkgIGNhc2UgJGZsYWcgaW4KKwkg
ICAgKltcW1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCisJICAg
IGZsYWc9IlwiJGZsYWdcIiIKKwkgICAgOzsKKwkgIGVzYWMKKwkgIGFyZz0iJGFyZyAkd2wkZmxh
ZyIKKwkgIGNvbXBpbGVyX2ZsYWdzPSIkY29tcGlsZXJfZmxhZ3MgJGZsYWciCisJZG9uZQorCUlG
Uz0iJHNhdmVfaWZzIgorCWFyZz1gJGVjaG8gIlgkYXJnIiB8ICRYc2VkIC1lICJzL14gLy8iYAor
CTs7CisKKyAgICAgIC1XbCwqKQorCWFyZ3M9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNl
ZF9xdW90ZV9zdWJzdCIgLWUgJ3MvXi1XbCwvLydgCisJYXJnPQorCUlGUz0iJHtJRlM9IAl9Ijsg
c2F2ZV9pZnM9IiRJRlMiOyBJRlM9JywnCisJZm9yIGZsYWcgaW4gJGFyZ3M7IGRvCisJICBJRlM9
IiRzYXZlX2lmcyIKKwkgIGNhc2UgJGZsYWcgaW4KKwkgICAgKltcW1x+XCNcXlwmXCpcKFwpXHtc
fVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCisJICAgIGZsYWc9IlwiJGZsYWdcIiIKKwkgICAg
OzsKKwkgIGVzYWMKKwkgIGFyZz0iJGFyZyAkd2wkZmxhZyIKKwkgIGNvbXBpbGVyX2ZsYWdzPSIk
Y29tcGlsZXJfZmxhZ3MgJHdsJGZsYWciCisJICBsaW5rZXJfZmxhZ3M9IiRsaW5rZXJfZmxhZ3Mg
JGZsYWciCisJZG9uZQorCUlGUz0iJHNhdmVfaWZzIgorCWFyZz1gJGVjaG8gIlgkYXJnIiB8ICRY
c2VkIC1lICJzL14gLy8iYAorCTs7CisKKyAgICAgIC1YY29tcGlsZXIpCisJcHJldj14Y29tcGls
ZXIKKwljb250aW51ZQorCTs7CisKKyAgICAgIC1YbGlua2VyKQorCXByZXY9eGxpbmtlcgorCWNv
bnRpbnVlCisJOzsKKworICAgICAgIyBTb21lIG90aGVyIGNvbXBpbGVyIGZsYWcuCisgICAgICAt
KiB8ICsqKQorCSMgVW5rbm93biBhcmd1bWVudHMgaW4gYm90aCBmaW5hbGl6ZV9jb21tYW5kIGFu
ZCBjb21waWxlX2NvbW1hbmQgbmVlZAorCSMgdG8gYmUgYWVzdGhldGljYWxseSBxdW90ZWQgYmVj
YXVzZSB0aGV5IGFyZSBldmFsZWQgbGF0ZXIuCisJYXJnPWAkZWNobyAiWCRhcmciIHwgJFhzZWQg
LWUgIiRzZWRfcXVvdGVfc3Vic3QiYAorCWNhc2UgJGFyZyBpbgorCSpbXFtcflwjXF5cJlwqXChc
KVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qfCIiKQorCSAgYXJnPSJcIiRhcmdcIiIKKwkgIDs7
CisJZXNhYworCTs7CisKKyAgICAgICoubG8gfCAqLiRvYmpleHQpCisJIyBBIGxpYnJhcnkgb3Ig
c3RhbmRhcmQgb2JqZWN0LgorCWlmIHRlc3QgIiRwcmV2IiA9IGRsZmlsZXM7IHRoZW4KKwkgICMg
VGhpcyBmaWxlIHdhcyBzcGVjaWZpZWQgd2l0aCAtZGxvcGVuLgorCSAgaWYgdGVzdCAiJGJ1aWxk
X2xpYnRvb2xfbGlicyIgPSB5ZXMgJiYgdGVzdCAiJGRsb3Blbl9zdXBwb3J0IiA9IHllczsgdGhl
bgorCSAgICBkbGZpbGVzPSIkZGxmaWxlcyAkYXJnIgorCSAgICBwcmV2PQorCSAgICBjb250aW51
ZQorCSAgZWxzZQorCSAgICAjIElmIGxpYnRvb2wgb2JqZWN0cyBhcmUgdW5zdXBwb3J0ZWQsIHRo
ZW4gd2UgbmVlZCB0byBwcmVsb2FkLgorCSAgICBwcmV2PWRscHJlZmlsZXMKKwkgIGZpCisJZmkK
KworCWlmIHRlc3QgIiRwcmV2IiA9IGRscHJlZmlsZXM7IHRoZW4KKwkgICMgUHJlbG9hZCB0aGUg
b2xkLXN0eWxlIG9iamVjdC4KKwkgIGRscHJlZmlsZXM9IiRkbHByZWZpbGVzICJgJGVjaG8gIlgk
YXJnIiB8ICRYc2VkIC1lICIkbG8ybyJgCisJICBwcmV2PQorCWVsc2UKKwkgIGNhc2UgJGFyZyBp
bgorCSAgKi5sbykgbGlib2Jqcz0iJGxpYm9ianMgJGFyZyIgOzsKKwkgICopIG9ianM9IiRvYmpz
ICRhcmciIDs7CisJICBlc2FjCisJZmkKKwk7OworCisgICAgICAqLiRsaWJleHQpCisJIyBBbiBh
cmNoaXZlLgorCWRlcGxpYnM9IiRkZXBsaWJzICRhcmciCisJb2xkX2RlcGxpYnM9IiRvbGRfZGVw
bGlicyAkYXJnIgorCWNvbnRpbnVlCisJOzsKKworICAgICAgKi5sYSkKKwkjIEEgbGlidG9vbC1j
b250cm9sbGVkIGxpYnJhcnkuCisKKwlpZiB0ZXN0ICIkcHJldiIgPSBkbGZpbGVzOyB0aGVuCisJ
ICAjIFRoaXMgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRsb3Blbi4KKwkgIGRsZmlsZXM9
IiRkbGZpbGVzICRhcmciCisJICBwcmV2PQorCWVsaWYgdGVzdCAiJHByZXYiID0gZGxwcmVmaWxl
czsgdGhlbgorCSAgIyBUaGUgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRscHJlb3Blbi4K
KwkgIGRscHJlZmlsZXM9IiRkbHByZWZpbGVzICRhcmciCisJICBwcmV2PQorCWVsc2UKKwkgIGRl
cGxpYnM9IiRkZXBsaWJzICRhcmciCisJZmkKKwljb250aW51ZQorCTs7CisKKyAgICAgICMgU29t
ZSBvdGhlciBjb21waWxlciBhcmd1bWVudC4KKyAgICAgICopCisJIyBVbmtub3duIGFyZ3VtZW50
cyBpbiBib3RoIGZpbmFsaXplX2NvbW1hbmQgYW5kIGNvbXBpbGVfY29tbWFuZCBuZWVkCisJIyB0
byBiZSBhZXN0aGV0aWNhbGx5IHF1b3RlZCBiZWNhdXNlIHRoZXkgYXJlIGV2YWxlZCBsYXRlci4K
Kwlhcmc9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCisJY2Fz
ZSAkYXJnIGluCisJKltcW1x+XCNcXlwmXCpcKFwpXHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8
IiIpCisJICBhcmc9IlwiJGFyZ1wiIgorCSAgOzsKKwllc2FjCisJOzsKKyAgICAgIGVzYWMgIyBh
cmcKKworICAgICAgIyBOb3cgYWN0dWFsbHkgc3Vic3RpdHV0ZSB0aGUgYXJndW1lbnQgaW50byB0
aGUgY29tbWFuZHMuCisgICAgICBpZiB0ZXN0IC1uICIkYXJnIjsgdGhlbgorCWNvbXBpbGVfY29t
bWFuZD0iJGNvbXBpbGVfY29tbWFuZCAkYXJnIgorCWZpbmFsaXplX2NvbW1hbmQ9IiRmaW5hbGl6
ZV9jb21tYW5kICRhcmciCisgICAgICBmaQorICAgIGRvbmUgIyBhcmd1bWVudCBwYXJzaW5nIGxv
b3AKKworICAgIGlmIHRlc3QgLW4gIiRwcmV2IjsgdGhlbgorICAgICAgJGVjaG8gIiRtb2RlbmFt
ZTogdGhlIFxgJHByZXZhcmcnIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIgMT4mMgorICAg
ICAgJGVjaG8gIiRoZWxwIiAxPiYyCisgICAgICBleGl0IDEKKyAgICBmaQorCisgICAgaWYgdGVz
dCAiJGV4cG9ydF9keW5hbWljIiA9IHllcyAmJiB0ZXN0IC1uICIkZXhwb3J0X2R5bmFtaWNfZmxh
Z19zcGVjIjsgdGhlbgorICAgICAgZXZhbCBhcmc9XCIkZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVj
XCIKKyAgICAgIGNvbXBpbGVfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCAkYXJnIgorICAgICAg
ZmluYWxpemVfY29tbWFuZD0iJGZpbmFsaXplX2NvbW1hbmQgJGFyZyIKKyAgICBmaQorCisgICAg
IyBjYWxjdWxhdGUgdGhlIG5hbWUgb2YgdGhlIGZpbGUsIHdpdGhvdXQgaXRzIGRpcmVjdG9yeQor
ICAgIG91dHB1dG5hbWU9YCRlY2hvICJYJG91dHB1dCIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAor
ICAgIGxpYm9ianNfc2F2ZT0iJGxpYm9ianMiCisKKyAgICBpZiB0ZXN0IC1uICIkc2hsaWJwYXRo
X3ZhciI7IHRoZW4KKyAgICAgICMgZ2V0IHRoZSBkaXJlY3RvcmllcyBsaXN0ZWQgaW4gJHNobGli
cGF0aF92YXIKKyAgICAgIGV2YWwgc2hsaWJfc2VhcmNoX3BhdGg9XGBcJGVjaG8gXCJYXCR7JHNo
bGlicGF0aF92YXJ9XCIgXHwgXCRYc2VkIC1lIFwncy86LyAvZ1wnXGAKKyAgICBlbHNlCisgICAg
ICBzaGxpYl9zZWFyY2hfcGF0aD0KKyAgICBmaQorICAgIGV2YWwgc3lzX2xpYl9zZWFyY2hfcGF0
aD1cIiRzeXNfbGliX3NlYXJjaF9wYXRoX3NwZWNcIgorICAgIGV2YWwgc3lzX2xpYl9kbHNlYXJj
aF9wYXRoPVwiJHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjXCIKKworICAgIG91dHB1dF9vYmpk
aXI9YCRlY2hvICJYJG91dHB1dCIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAorICAgIGlmIHRl
c3QgIlgkb3V0cHV0X29iamRpciIgPSAiWCRvdXRwdXQiOyB0aGVuCisgICAgICBvdXRwdXRfb2Jq
ZGlyPSIkb2JqZGlyIgorICAgIGVsc2UKKyAgICAgIG91dHB1dF9vYmpkaXI9IiRvdXRwdXRfb2Jq
ZGlyLyRvYmpkaXIiCisgICAgZmkKKyAgICAjIENyZWF0ZSB0aGUgb2JqZWN0IGRpcmVjdG9yeS4K
KyAgICBpZiB0ZXN0ICEgLWQgJG91dHB1dF9vYmpkaXI7IHRoZW4KKyAgICAgICRzaG93ICIkbWtk
aXIgJG91dHB1dF9vYmpkaXIiCisgICAgICAkcnVuICRta2RpciAkb3V0cHV0X29iamRpcgorICAg
ICAgc3RhdHVzPSQ/CisgICAgICBpZiB0ZXN0ICRzdGF0dXMgLW5lIDAgJiYgdGVzdCAhIC1kICRv
dXRwdXRfb2JqZGlyOyB0aGVuCisJZXhpdCAkc3RhdHVzCisgICAgICBmaQorICAgIGZpCisKKyAg
ICAjIERldGVybWluZSB0aGUgdHlwZSBvZiBvdXRwdXQKKyAgICBjYXNlICRvdXRwdXQgaW4KKyAg
ICAiIikKKyAgICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0IHNwZWNpZnkgYW4gb3V0cHV0
IGZpbGUiIDE+JjIKKyAgICAgICRlY2hvICIkaGVscCIgMT4mMgorICAgICAgZXhpdCAxCisgICAg
ICA7OworICAgICouJGxpYmV4dCkgbGlua21vZGU9b2xkbGliIDs7CisgICAgKi5sbyB8ICouJG9i
amV4dCkgbGlua21vZGU9b2JqIDs7CisgICAgKi5sYSkgbGlua21vZGU9bGliIDs7CisgICAgKikg
bGlua21vZGU9cHJvZyA7OyAjIEFueXRoaW5nIGVsc2Ugc2hvdWxkIGJlIGEgcHJvZ3JhbS4KKyAg
ICBlc2FjCisKKyAgICBzcGVjaWFsZGVwbGlicz0KKyAgICBsaWJzPQorICAgICMgRmluZCBhbGwg
aW50ZXJkZXBlbmRlbnQgZGVwbGlicyBieSBzZWFyY2hpbmcgZm9yIGxpYnJhcmllcworICAgICMg
dGhhdCBhcmUgbGlua2VkIG1vcmUgdGhhbiBvbmNlIChlLmcuIC1sYSAtbGIgLWxhKQorICAgIGZv
ciBkZXBsaWIgaW4gJGRlcGxpYnM7IGRvCisgICAgICBjYXNlICIkbGlicyAiIGluCisgICAgICAq
IiAkZGVwbGliICIqKSBzcGVjaWFsZGVwbGlicz0iJHNwZWNpYWxkZXBsaWJzICRkZXBsaWIiIDs7
CisgICAgICBlc2FjCisgICAgICBsaWJzPSIkbGlicyAkZGVwbGliIgorICAgIGRvbmUKKyAgICBk
ZXBsaWJzPQorICAgIG5ld2RlcGVuZGVuY3lfbGlicz0KKyAgICBuZXdsaWJfc2VhcmNoX3BhdGg9
CisgICAgbmVlZF9yZWxpbms9bm8gIyB3aGV0aGVyIHdlJ3JlIGxpbmtpbmcgYW55IHVuaW5zdGFs
bGVkIGxpYnRvb2wgbGlicmFyaWVzCisgICAgbm90aW5zdF9kZXBsaWJzPSAjIG5vdC1pbnN0YWxs
ZWQgbGlidG9vbCBsaWJyYXJpZXMKKyAgICBub3RpbnN0X3BhdGg9ICMgcGF0aHMgdGhhdCBjb250
YWluIG5vdC1pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMKKyAgICBjYXNlICRsaW5rbW9kZSBp
bgorICAgIGxpYikKKwlwYXNzZXM9ImNvbnYgbGluayIKKwlmb3IgZmlsZSBpbiAkZGxmaWxlcyAk
ZGxwcmVmaWxlczsgZG8KKwkgIGNhc2UgJGZpbGUgaW4KKwkgICoubGEpIDs7CisJICAqKQorCSAg
ICAkZWNobyAiJG1vZGVuYW1lOiBsaWJyYXJpZXMgY2FuIFxgLWRsb3Blbicgb25seSBsaWJ0b29s
IGxpYnJhcmllczogJGZpbGUiIDE+JjIKKwkgICAgZXhpdCAxCisJICAgIDs7CisJICBlc2FjCisJ
ZG9uZQorCTs7CisgICAgcHJvZykKKwljb21waWxlX2RlcGxpYnM9CisJZmluYWxpemVfZGVwbGli
cz0KKwlhbGxkZXBsaWJzPW5vCisJbmV3ZGxmaWxlcz0KKwluZXdkbHByZWZpbGVzPQorCXBhc3Nl
cz0iY29udiBzY2FuIGRsb3BlbiBkbHByZW9wZW4gbGluayIKKwk7OworICAgICopICBwYXNzZXM9
ImNvbnYiCisJOzsKKyAgICBlc2FjCisgICAgZm9yIHBhc3MgaW4gJHBhc3NlczsgZG8KKyAgICAg
IGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVuCisJIyBEZXRlcm1pbmUgd2hpY2ggZmls
ZXMgdG8gcHJvY2VzcworCWNhc2UgJHBhc3MgaW4KKwlkbG9wZW4pCisJICBsaWJzPSIkZGxmaWxl
cyIKKwkgIHNhdmVfZGVwbGlicz0iJGRlcGxpYnMiICMgQ29sbGVjdCBkbHByZW9wZW5lZCBsaWJy
YXJpZXMKKwkgIGRlcGxpYnM9CisJICA7OworCWRscHJlb3BlbikgbGlicz0iJGRscHJlZmlsZXMi
IDs7CisJbGluaykgbGlicz0iJGRlcGxpYnMgJURFUExJQlMlICRkZXBlbmRlbmN5X2xpYnMiIDs7
CisJZXNhYworICAgICAgZmkKKyAgICAgIGZvciBkZXBsaWIgaW4gJGxpYnM7IGRvCisJbGliPQor
CWZvdW5kPW5vCisJY2FzZSAkZGVwbGliIGluCisJLWwqKQorCSAgaWYgdGVzdCAiJGxpbmttb2Rl
IiA9IG9sZGxpYiAmJiB0ZXN0ICIkbGlua21vZGUiID0gb2JqOyB0aGVuCisJICAgICRlY2hvICIk
bW9kZW5hbWU6IHdhcm5pbmc6IFxgLWwnIGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzL29iamVjdHM6
ICRkZXBsaWIiIDE+JjIKKwkgICAgY29udGludWUKKwkgIGZpCisJICBpZiB0ZXN0ICIkcGFzcyIg
PSBjb252OyB0aGVuCisJICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCisJICAgIGNvbnRp
bnVlCisJICBmaQorCSAgbmFtZT1gJGVjaG8gIlgkZGVwbGliIiB8ICRYc2VkIC1lICdzL14tbC8v
J2AKKwkgIGZvciBzZWFyY2hkaXIgaW4gJG5ld2xpYl9zZWFyY2hfcGF0aCAkbGliX3NlYXJjaF9w
YXRoICRzeXNfbGliX3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0aDsgZG8KKwkgICAgIyBT
ZWFyY2ggdGhlIGxpYnRvb2wgbGlicmFyeQorCSAgICBsaWI9IiRzZWFyY2hkaXIvbGliJHtuYW1l
fS5sYSIKKwkgICAgaWYgdGVzdCAtZiAiJGxpYiI7IHRoZW4KKwkgICAgICBmb3VuZD15ZXMKKwkg
ICAgICBicmVhaworCSAgICBmaQorCSAgZG9uZQorCSAgaWYgdGVzdCAiJGZvdW5kIiAhPSB5ZXM7
IHRoZW4KKwkgICAgIyBkZXBsaWIgZG9lc24ndCBzZWVtIHRvIGJlIGEgbGlidG9vbCBsaWJyYXJ5
CisJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxsaW5rIjsgdGhlbgorCSAg
ICAgIGNvbXBpbGVfZGVwbGlicz0iJGRlcGxpYiAkY29tcGlsZV9kZXBsaWJzIgorCSAgICAgIGZp
bmFsaXplX2RlcGxpYnM9IiRkZXBsaWIgJGZpbmFsaXplX2RlcGxpYnMiCisJICAgIGVsc2UKKwkg
ICAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgorCSAgICAgIHRlc3QgIiRsaW5rbW9kZSIg
PSBsaWIgJiYgbmV3ZGVwZW5kZW5jeV9saWJzPSIkZGVwbGliICRuZXdkZXBlbmRlbmN5X2xpYnMi
CisJICAgIGZpCisJICAgIGNvbnRpbnVlCisJICBmaQorCSAgOzsgIyAtbAorCS1MKikKKwkgIGNh
c2UgJGxpbmttb2RlIGluCisJICBsaWIpCisJICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMi
CisJICAgIHRlc3QgIiRwYXNzIiA9IGNvbnYgJiYgY29udGludWUKKwkgICAgbmV3ZGVwZW5kZW5j
eV9saWJzPSIkZGVwbGliICRuZXdkZXBlbmRlbmN5X2xpYnMiCisJICAgIG5ld2xpYl9zZWFyY2hf
cGF0aD0iJG5ld2xpYl9zZWFyY2hfcGF0aCAiYCRlY2hvICJYJGRlcGxpYiIgfCAkWHNlZCAtZSAn
cy9eLUwvLydgCisJICAgIDs7CisJICBwcm9nKQorCSAgICBpZiB0ZXN0ICIkcGFzcyIgPSBjb252
OyB0aGVuCisJICAgICAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKKwkgICAgICBjb250aW51
ZQorCSAgICBmaQorCSAgICBpZiB0ZXN0ICIkcGFzcyIgPSBzY2FuOyB0aGVuCisJICAgICAgZGVw
bGlicz0iJGRlcGxpYiAkZGVwbGlicyIKKwkgICAgICBuZXdsaWJfc2VhcmNoX3BhdGg9IiRuZXds
aWJfc2VhcmNoX3BhdGggImAkZWNobyAiWCRkZXBsaWIiIHwgJFhzZWQgLWUgJ3MvXi1MLy8nYAor
CSAgICBlbHNlCisJICAgICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRjb21waWxlX2RlcGxp
YnMiCisJICAgICAgZmluYWxpemVfZGVwbGlicz0iJGRlcGxpYiAkZmluYWxpemVfZGVwbGlicyIK
KwkgICAgZmkKKwkgICAgOzsKKwkgICopCisJICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6
IFxgLUwnIGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzL29iamVjdHM6ICRkZXBsaWIiIDE+JjIKKwkg
ICAgOzsKKwkgIGVzYWMgIyBsaW5rbW9kZQorCSAgY29udGludWUKKwkgIDs7ICMgLUwKKwktUiop
CisJICBpZiB0ZXN0ICIkcGFzcyIgPSBsaW5rOyB0aGVuCisJICAgIGRpcj1gJGVjaG8gIlgkZGVw
bGliIiB8ICRYc2VkIC1lICdzL14tUi8vJ2AKKwkgICAgIyBNYWtlIHN1cmUgdGhlIHhycGF0aCBj
b250YWlucyBvbmx5IHVuaXF1ZSBkaXJlY3Rvcmllcy4KKwkgICAgY2FzZSAiJHhycGF0aCAiIGlu
CisJICAgICoiICRkaXIgIiopIDs7CisJICAgICopIHhycGF0aD0iJHhycGF0aCAkZGlyIiA7Owor
CSAgICBlc2FjCisJICBmaQorCSAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKKwkgIGNvbnRp
bnVlCisJICA7OworCSoubGEpIGxpYj0iJGRlcGxpYiIgOzsKKwkqLiRsaWJleHQpCisJICBpZiB0
ZXN0ICIkcGFzcyIgPSBjb252OyB0aGVuCisJICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMi
CisJICAgIGNvbnRpbnVlCisJICBmaQorCSAgY2FzZSAkbGlua21vZGUgaW4KKwkgIGxpYikKKwkg
ICAgaWYgdGVzdCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAhPSBwYXNzX2FsbDsgdGhlbgorCSAg
ICAgIGVjaG8KKwkgICAgICBlY2hvICIqKiogV2FybmluZzogVGhpcyBsaWJyYXJ5IG5lZWRzIHNv
bWUgZnVuY3Rpb25hbGl0eSBwcm92aWRlZCBieSAkZGVwbGliLiIKKwkgICAgICBlY2hvICIqKiog
SSBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIG1ha2UgdGhhdCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkg
bGluayBpbiB3aGVuIgorCSAgICAgIGVjaG8gIioqKiB5b3UgbGluayB0byB0aGlzIGxpYnJhcnku
ICBCdXQgSSBjYW4gb25seSBkbyB0aGlzIGlmIHlvdSBoYXZlIGEiCisJICAgICAgZWNobyAiKioq
IHNoYXJlZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCB3aGljaCB5b3UgZG8gbm90IGFwcGVhciB0
byBoYXZlLiIKKwkgICAgZWxzZQorCSAgICAgIGVjaG8KKwkgICAgICBlY2hvICIqKiogV2Fybmlu
ZzogTGlua2luZyB0aGUgc2hhcmVkIGxpYnJhcnkgJG91dHB1dCBhZ2FpbnN0IHRoZSIKKwkgICAg
ICBlY2hvICIqKiogc3RhdGljIGxpYnJhcnkgJGRlcGxpYiBpcyBub3QgcG9ydGFibGUhIgorCSAg
ICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCisJICAgIGZpCisJICAgIGNvbnRpbnVlCisJ
ICAgIDs7CisJICBwcm9nKQorCSAgICBpZiB0ZXN0ICIkcGFzcyIgIT0gbGluazsgdGhlbgorCSAg
ICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCisJICAgIGVsc2UKKwkgICAgICBjb21waWxl
X2RlcGxpYnM9IiRkZXBsaWIgJGNvbXBpbGVfZGVwbGlicyIKKwkgICAgICBmaW5hbGl6ZV9kZXBs
aWJzPSIkZGVwbGliICRmaW5hbGl6ZV9kZXBsaWJzIgorCSAgICBmaQorCSAgICBjb250aW51ZQor
CSAgICA7OworCSAgZXNhYyAjIGxpbmttb2RlCisJICA7OyAjICouJGxpYmV4dAorCSoubG8gfCAq
LiRvYmpleHQpCisJICBpZiB0ZXN0ICIkcGFzcyIgPSBkbHByZW9wZW4gfHwgdGVzdCAiJGRsb3Bl
bl9zdXBwb3J0IiAhPSB5ZXMgfHwgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBubzsgdGhl
bgorCSAgICAjIElmIHRoZXJlIGlzIG5vIGRsb3BlbiBzdXBwb3J0IG9yIHdlJ3JlIGxpbmtpbmcg
c3RhdGljYWxseSwKKwkgICAgIyB3ZSBuZWVkIHRvIHByZWxvYWQuCisJICAgIG5ld2RscHJlZmls
ZXM9IiRuZXdkbHByZWZpbGVzICRkZXBsaWIiCisJICAgIGNvbXBpbGVfZGVwbGlicz0iJGRlcGxp
YiAkY29tcGlsZV9kZXBsaWJzIgorCSAgICBmaW5hbGl6ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5h
bGl6ZV9kZXBsaWJzIgorCSAgZWxzZQorCSAgICBuZXdkbGZpbGVzPSIkbmV3ZGxmaWxlcyAkZGVw
bGliIgorCSAgZmkKKwkgIGNvbnRpbnVlCisJICA7OworCSVERVBMSUJTJSkKKwkgIGFsbGRlcGxp
YnM9eWVzCisJICBjb250aW51ZQorCSAgOzsKKwllc2FjICMgY2FzZSAkZGVwbGliCisJaWYgdGVz
dCAkZm91bmQgPSB5ZXMgfHwgdGVzdCAtZiAiJGxpYiI7IHRoZW4gOgorCWVsc2UKKwkgICRlY2hv
ICIkbW9kZW5hbWU6IGNhbm5vdCBmaW5kIHRoZSBsaWJyYXJ5IFxgJGxpYiciIDE+JjIKKwkgIGV4
aXQgMQorCWZpCisKKwkjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEgbGlidG9v
bCBhcmNoaXZlLgorCWlmIChzZWQgLWUgJzJxJyAkbGliIHwgZWdyZXAgIl4jIEdlbmVyYXRlZCBi
eSAuKiRQQUNLQUdFIikgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDoKKwllbHNlCisJICAkZWNobyAi
JG1vZGVuYW1lOiBcYCRsaWInIGlzIG5vdCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIgMT4mMgor
CSAgZXhpdCAxCisJZmkKKworCWxhZGlyPWAkZWNobyAiWCRsaWIiIHwgJFhzZWQgLWUgJ3MlL1te
L10qJCUlJ2AKKwl0ZXN0ICJYJGxhZGlyIiA9ICJYJGxpYiIgJiYgbGFkaXI9Ii4iCisKKwlkbG5h
bWU9CisJZGxvcGVuPQorCWRscHJlb3Blbj0KKwlsaWJkaXI9CisJbGlicmFyeV9uYW1lcz0KKwlv
bGRfbGlicmFyeT0KKwkjIElmIHRoZSBsaWJyYXJ5IHdhcyBpbnN0YWxsZWQgd2l0aCBhbiBvbGQg
cmVsZWFzZSBvZiBsaWJ0b29sLAorCSMgaXQgd2lsbCBub3QgcmVkZWZpbmUgdmFyaWFibGUgaW5z
dGFsbGVkLgorCWluc3RhbGxlZD15ZXMKKworCSMgUmVhZCB0aGUgLmxhIGZpbGUKKwljYXNlICRs
aWIgaW4KKwkqLyogfCAqXFwqKSAuICRsaWIgOzsKKwkqKSAuIC4vJGxpYiA7OworCWVzYWMKKwor
CWlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAibGliLGxpbmsiIHx8CisJICAgdGVzdCAiJGxp
bmttb2RlLCRwYXNzIiA9ICJwcm9nLHNjYW4iIHx8CisJICAgeyB0ZXN0ICIkbGlua21vZGUiID0g
b2xkbGliICYmIHRlc3QgIiRsaW5rbW9kZSIgPSBvYmo7IH07IHRoZW4KKwkgICAjIEFkZCBkbFtw
cmVdb3BlbmVkIGZpbGVzIG9mIGRlcGxpYgorCSAgdGVzdCAtbiAiJGRsb3BlbiIgJiYgZGxmaWxl
cz0iJGRsZmlsZXMgJGRsb3BlbiIKKwkgIHRlc3QgLW4gIiRkbHByZW9wZW4iICYmIGRscHJlZmls
ZXM9IiRkbHByZWZpbGVzICRkbHByZW9wZW4iCisJZmkKKworCWlmIHRlc3QgIiRwYXNzIiA9IGNv
bnY7IHRoZW4KKwkgICMgT25seSBjaGVjayBmb3IgY29udmVuaWVuY2UgbGlicmFyaWVzCisJICBk
ZXBsaWJzPSIkbGliICRkZXBsaWJzIgorCSAgaWYgdGVzdCAteiAiJGxpYmRpciI7IHRoZW4KKwkg
ICAgaWYgdGVzdCAteiAiJG9sZF9saWJyYXJ5IjsgdGhlbgorCSAgICAgICRlY2hvICIkbW9kZW5h
bWU6IGNhbm5vdCBmaW5kIG5hbWUgb2YgbGluayBsaWJyYXJ5IGZvciBcYCRsaWInIiAxPiYyCisJ
ICAgICAgZXhpdCAxCisJICAgIGZpCisJICAgICMgSXQgaXMgYSBsaWJ0b29sIGNvbnZlbmllbmNl
IGxpYnJhcnksIHNvIGFkZCBpbiBpdHMgb2JqZWN0cy4KKwkgICAgY29udmVuaWVuY2U9IiRjb252
ZW5pZW5jZSAkbGFkaXIvJG9iamRpci8kb2xkX2xpYnJhcnkiCisJICAgIG9sZF9jb252ZW5pZW5j
ZT0iJG9sZF9jb252ZW5pZW5jZSAkbGFkaXIvJG9iamRpci8kb2xkX2xpYnJhcnkiCisJICAgIHRt
cF9saWJzPQorCSAgICBmb3IgZGVwbGliIGluICRkZXBlbmRlbmN5X2xpYnM7IGRvCisJICAgICAg
ZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKKwkgICAgICBjYXNlICIkdG1wX2xpYnMgIiBpbgor
CSAgICAgICoiICRkZXBsaWIgIiopIHNwZWNpYWxkZXBsaWJzPSIkc3BlY2lhbGRlcGxpYnMgJGRl
cGxpYiIgOzsKKwkgICAgICBlc2FjCisJICAgICAgdG1wX2xpYnM9IiR0bXBfbGlicyAkZGVwbGli
IgorCSAgICBkb25lCisJICBlbGlmIHRlc3QgIiRsaW5rbW9kZSIgIT0gcHJvZyAmJiB0ZXN0ICIk
bGlua21vZGUiICE9IGxpYjsgdGhlbgorCSAgICAkZWNobyAiJG1vZGVuYW1lOiBcYCRsaWInIGlz
IG5vdCBhIGNvbnZlbmllbmNlIGxpYnJhcnkiIDE+JjIKKwkgICAgZXhpdCAxCisJICBmaQorCSAg
Y29udGludWUKKwlmaSAjICRwYXNzID0gY29udgorCisJIyBHZXQgdGhlIG5hbWUgb2YgdGhlIGxp
YnJhcnkgd2UgbGluayBhZ2FpbnN0LgorCWxpbmtsaWI9CisJZm9yIGwgaW4gJG9sZF9saWJyYXJ5
ICRsaWJyYXJ5X25hbWVzOyBkbworCSAgbGlua2xpYj0iJGwiCisJZG9uZQorCWlmIHRlc3QgLXog
IiRsaW5rbGliIjsgdGhlbgorCSAgJGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGZpbmQgbmFtZSBv
ZiBsaW5rIGxpYnJhcnkgZm9yIFxgJGxpYiciIDE+JjIKKwkgIGV4aXQgMQorCWZpCisKKwkjIFRo
aXMgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRsb3Blbi4KKwlpZiB0ZXN0ICIkcGFzcyIg
PSBkbG9wZW47IHRoZW4KKwkgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCisJICAgICRlY2hv
ICIkbW9kZW5hbWU6IGNhbm5vdCAtZGxvcGVuIGEgY29udmVuaWVuY2UgbGlicmFyeTogXGAkbGli
JyIgMT4mMgorCSAgICBleGl0IDEKKwkgIGZpCisJICBpZiB0ZXN0IC16ICIkZGxuYW1lIiB8fCB0
ZXN0ICIkZGxvcGVuX3N1cHBvcnQiICE9IHllcyB8fCB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJz
IiA9IG5vOyB0aGVuCisJICAgICMgSWYgdGhlcmUgaXMgbm8gZGxuYW1lLCBubyBkbG9wZW4gc3Vw
cG9ydCBvciB3ZSdyZSBsaW5raW5nCisJICAgICMgc3RhdGljYWxseSwgd2UgbmVlZCB0byBwcmVs
b2FkLgorCSAgICBkbHByZWZpbGVzPSIkZGxwcmVmaWxlcyAkbGliIgorCSAgZWxzZQorCSAgICBu
ZXdkbGZpbGVzPSIkbmV3ZGxmaWxlcyAkbGliIgorCSAgZmkKKwkgIGNvbnRpbnVlCisJZmkgIyAk
cGFzcyA9IGRsb3BlbgorCisJIyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGguCisJY2FzZSAkbGFk
aXIgaW4KKwlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIGFic19sYWRpcj0iJGxhZGlyIiA7Owor
CSopCisJICBhYnNfbGFkaXI9YGNkICIkbGFkaXIiICYmIHB3ZGAKKwkgIGlmIHRlc3QgLXogIiRh
YnNfbGFkaXIiOyB0aGVuCisJICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IGNhbm5vdCBk
ZXRlcm1pbmUgYWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUgb2YgXGAkbGFkaXInIiAxPiYyCisJICAg
ICRlY2hvICIkbW9kZW5hbWU6IHBhc3NpbmcgaXQgbGl0ZXJhbGx5IHRvIHRoZSBsaW5rZXIsIGFs
dGhvdWdoIGl0IG1pZ2h0IGZhaWwiIDE+JjIKKwkgICAgYWJzX2xhZGlyPSIkbGFkaXIiCisJICBm
aQorCSAgOzsKKwllc2FjCisJbGFuYW1lPWAkZWNobyAiWCRsaWIiIHwgJFhzZWQgLWUgJ3MlXi4q
LyUlJ2AKKworCSMgRmluZCB0aGUgcmVsZXZhbnQgb2JqZWN0IGRpcmVjdG9yeSBhbmQgbGlicmFy
eSBuYW1lLgorCWlmIHRlc3QgIlgkaW5zdGFsbGVkIiA9IFh5ZXM7IHRoZW4KKwkgIGlmIHRlc3Qg
ISAtZiAiJGxpYmRpci8kbGlua2xpYiIgJiYgdGVzdCAtZiAiJGFic19sYWRpci8kbGlua2xpYiI7
IHRoZW4KKwkgICAgJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogbGlicmFyeSBcYCRsaWInIHdh
cyBtb3ZlZC4iIDE+JjIKKwkgICAgZGlyPSIkbGFkaXIiCisJICAgIGFic2Rpcj0iJGFic19sYWRp
ciIKKwkgICAgbGliZGlyPSIkYWJzX2xhZGlyIgorCSAgZWxzZQorCSAgICBkaXI9IiRsaWJkaXIi
CisJICAgIGFic2Rpcj0iJGxpYmRpciIKKwkgIGZpCisJZWxzZQorCSAgZGlyPSIkbGFkaXIvJG9i
amRpciIKKwkgIGFic2Rpcj0iJGFic19sYWRpci8kb2JqZGlyIgorCSAgIyBSZW1vdmUgdGhpcyBz
ZWFyY2ggcGF0aCBsYXRlcgorCSAgbm90aW5zdF9wYXRoPSIkbm90aW5zdF9wYXRoICRhYnNfbGFk
aXIiCisJZmkgIyAkaW5zdGFsbGVkID0geWVzCisJbmFtZT1gJGVjaG8gIlgkbGFuYW1lIiB8ICRY
c2VkIC1lICdzL1wubGEkLy8nIC1lICdzL15saWIvLydgCisKKwkjIFRoaXMgbGlicmFyeSB3YXMg
c3BlY2lmaWVkIHdpdGggLWRscHJlb3Blbi4KKwlpZiB0ZXN0ICIkcGFzcyIgPSBkbHByZW9wZW47
IHRoZW4KKwkgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCisJICAgICRlY2hvICIkbW9kZW5h
bWU6IGNhbm5vdCAtZGxwcmVvcGVuIGEgY29udmVuaWVuY2UgbGlicmFyeTogXGAkbGliJyIgMT4m
MgorCSAgICBleGl0IDEKKwkgIGZpCisJICAjIFByZWZlciB1c2luZyBhIHN0YXRpYyBsaWJyYXJ5
IChzbyB0aGF0IG5vIHNpbGx5IF9EWU5BTUlDIHN5bWJvbHMKKwkgICMgYXJlIHJlcXVpcmVkIHRv
IGxpbmspLgorCSAgaWYgdGVzdCAtbiAiJG9sZF9saWJyYXJ5IjsgdGhlbgorCSAgICBuZXdkbHBy
ZWZpbGVzPSIkbmV3ZGxwcmVmaWxlcyAkZGlyLyRvbGRfbGlicmFyeSIKKwkgICMgT3RoZXJ3aXNl
LCB1c2UgdGhlIGRsbmFtZSwgc28gdGhhdCBsdF9kbG9wZW4gZmluZHMgaXQuCisJICBlbGlmIHRl
c3QgLW4gIiRkbG5hbWUiOyB0aGVuCisJICAgIG5ld2RscHJlZmlsZXM9IiRuZXdkbHByZWZpbGVz
ICRkaXIvJGRsbmFtZSIKKwkgIGVsc2UKKwkgICAgbmV3ZGxwcmVmaWxlcz0iJG5ld2RscHJlZmls
ZXMgJGRpci8kbGlua2xpYiIKKwkgIGZpCisJZmkgIyAkcGFzcyA9IGRscHJlb3BlbgorCisJaWYg
dGVzdCAteiAiJGxpYmRpciI7IHRoZW4KKwkgICMgTGluayB0aGUgY29udmVuaWVuY2UgbGlicmFy
eQorCSAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYjsgdGhlbgorCSAgICBkZXBsaWJzPSIkZGly
LyRvbGRfbGlicmFyeSAkZGVwbGlicyIKKwkgIGVsaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9
ICJwcm9nLGxpbmsiOyB0aGVuCisJICAgIGNvbXBpbGVfZGVwbGlicz0iJGRpci8kb2xkX2xpYnJh
cnkgJGNvbXBpbGVfZGVwbGlicyIKKwkgICAgZmluYWxpemVfZGVwbGlicz0iJGRpci8kb2xkX2xp
YnJhcnkgJGZpbmFsaXplX2RlcGxpYnMiCisJICBlbHNlCisJICAgIGRlcGxpYnM9IiRsaWIgJGRl
cGxpYnMiCisJICBmaQorCSAgY29udGludWUKKwlmaQorCisJaWYgdGVzdCAiJGxpbmttb2RlIiA9
IHByb2cgJiYgdGVzdCAiJHBhc3MiICE9IGxpbms7IHRoZW4KKwkgIG5ld2xpYl9zZWFyY2hfcGF0
aD0iJG5ld2xpYl9zZWFyY2hfcGF0aCAkbGFkaXIiCisJICBkZXBsaWJzPSIkbGliICRkZXBsaWJz
IgorCisJICBsaW5rYWxsZGVwbGlicz1ubworCSAgaWYgdGVzdCAiJGxpbmtfYWxsX2RlcGxpYnMi
ICE9IG5vIHx8IHRlc3QgLXogIiRsaWJyYXJ5X25hbWVzIiB8fAorCSAgICAgdGVzdCAiJGJ1aWxk
X2xpYnRvb2xfbGlicyIgPSBubzsgdGhlbgorCSAgICBsaW5rYWxsZGVwbGlicz15ZXMKKwkgIGZp
CisKKwkgIHRtcF9saWJzPQorCSAgZm9yIGRlcGxpYiBpbiAkZGVwZW5kZW5jeV9saWJzOyBkbwor
CSAgICBjYXNlICRkZXBsaWIgaW4KKwkgICAgLUwqKSBuZXdsaWJfc2VhcmNoX3BhdGg9IiRuZXds
aWJfc2VhcmNoX3BhdGggImAkZWNobyAiWCRkZXBsaWIiIHwgJFhzZWQgLWUgJ3MvXi1MLy8nYDs7
ICMjIyB0ZXN0c3VpdGU6IHNraXAgbmVzdGVkIHF1b3RpbmcgdGVzdAorCSAgICBlc2FjCisJICAg
ICMgTmVlZCB0byBsaW5rIGFnYWluc3QgYWxsIGRlcGVuZGVuY3lfbGlicz8KKwkgICAgaWYgdGVz
dCAkbGlua2FsbGRlcGxpYnMgPSB5ZXM7IHRoZW4KKwkgICAgICBkZXBsaWJzPSIkZGVwbGliICRk
ZXBsaWJzIgorCSAgICBlbHNlCisJICAgICAgIyBOZWVkIHRvIGhhcmRjb2RlIHNoYXJlZCBsaWJy
YXJ5IHBhdGhzCisJICAgICAgIyBvci9hbmQgbGluayBhZ2FpbnN0IHN0YXRpYyBsaWJyYXJpZXMK
KwkgICAgICBuZXdkZXBlbmRlbmN5X2xpYnM9IiRkZXBsaWIgJG5ld2RlcGVuZGVuY3lfbGlicyIK
KwkgICAgZmkKKwkgICAgY2FzZSAiJHRtcF9saWJzICIgaW4KKwkgICAgKiIgJGRlcGxpYiAiKikg
c3BlY2lhbGRlcGxpYnM9IiRzcGVjaWFsZGVwbGlicyAkZGVwbGliIiA7OworCSAgICBlc2FjCisJ
ICAgIHRtcF9saWJzPSIkdG1wX2xpYnMgJGRlcGxpYiIKKwkgIGRvbmUgIyBmb3IgZGVwbGliCisJ
ICBjb250aW51ZQorCWZpICMgJGxpbmttb2RlID0gcHJvZy4uLgorCisJbGlua19zdGF0aWM9bm8g
IyBXaGV0aGVyIHRoZSBkZXBsaWIgd2lsbCBiZSBsaW5rZWQgc3RhdGljYWxseQorCWlmIHRlc3Qg
LW4gIiRsaWJyYXJ5X25hbWVzIiAmJgorCSAgIHsgdGVzdCAiJHByZWZlcl9zdGF0aWNfbGlicyIg
PSBubyB8fCB0ZXN0IC16ICIkb2xkX2xpYnJhcnkiOyB9OyB0aGVuCisJICAjIExpbmsgYWdhaW5z
dCB0aGlzIHNoYXJlZCBsaWJyYXJ5CisKKwkgIGlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAi
cHJvZyxsaW5rIiB8fAorCSAgIHsgdGVzdCAiJGxpbmttb2RlIiA9IGxpYiAmJiB0ZXN0ICIkaGFy
ZGNvZGVfaW50b19saWJzIiA9IHllczsgfTsgdGhlbgorCSAgICAjIEhhcmRjb2RlIHRoZSBsaWJy
YXJ5IHBhdGguCisJICAgICMgU2tpcCBkaXJlY3RvcmllcyB0aGF0IGFyZSBpbiB0aGUgc3lzdGVt
IGRlZmF1bHQgcnVuLXRpbWUKKwkgICAgIyBzZWFyY2ggcGF0aC4KKwkgICAgY2FzZSAiICRzeXNf
bGliX2Rsc2VhcmNoX3BhdGggIiBpbgorCSAgICAqIiAkYWJzZGlyICIqKSA7OworCSAgICAqKQor
CSAgICAgIGNhc2UgIiRjb21waWxlX3JwYXRoICIgaW4KKwkgICAgICAqIiAkYWJzZGlyICIqKSA7
OworCSAgICAgICopIGNvbXBpbGVfcnBhdGg9IiRjb21waWxlX3JwYXRoICRhYnNkaXIiCisJICAg
ICAgZXNhYworCSAgICAgIDs7CisJICAgIGVzYWMKKwkgICAgY2FzZSAiICRzeXNfbGliX2Rsc2Vh
cmNoX3BhdGggIiBpbgorCSAgICAqIiAkbGliZGlyICIqKSA7OworCSAgICAqKQorCSAgICAgIGNh
c2UgIiRmaW5hbGl6ZV9ycGF0aCAiIGluCisJICAgICAgKiIgJGxpYmRpciAiKikgOzsKKwkgICAg
ICAqKSBmaW5hbGl6ZV9ycGF0aD0iJGZpbmFsaXplX3JwYXRoICRsaWJkaXIiCisJICAgICAgZXNh
YworCSAgICAgIDs7CisJICAgIGVzYWMKKwkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2c7
IHRoZW4KKwkgICAgICAjIFdlIG5lZWQgdG8gaGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0aAorCSAg
ICAgIGlmIHRlc3QgLW4gIiRzaGxpYnBhdGhfdmFyIjsgdGhlbgorCQkjIE1ha2Ugc3VyZSB0aGUg
cnBhdGggY29udGFpbnMgb25seSB1bmlxdWUgZGlyZWN0b3JpZXMuCisJCWNhc2UgIiR0ZW1wX3Jw
YXRoICIgaW4KKwkJKiIgJGRpciAiKikgOzsKKwkJKiIgJGFic2RpciAiKikgOzsKKwkJKikgdGVt
cF9ycGF0aD0iJHRlbXBfcnBhdGggJGRpciIgOzsKKwkJZXNhYworCSAgICAgIGZpCisJICAgIGZp
CisJICBmaSAjICRsaW5rbW9kZSwkcGFzcyA9IHByb2csbGluay4uLgorCisJICBpZiB0ZXN0ICIk
YWxsZGVwbGlicyIgPSB5ZXMgJiYKKwkgICAgIHsgdGVzdCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9k
IiA9IHBhc3NfYWxsIHx8CisJICAgICAgIHsgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5
ZXMgJiYKKwkJIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIjsgfTsgfTsgdGhlbgorCSAgICAjIFdl
IG9ubHkgbmVlZCB0byBzZWFyY2ggZm9yIHN0YXRpYyBsaWJyYXJpZXMKKwkgICAgY29udGludWUK
KwkgIGZpCisKKwkgIGlmIHRlc3QgIiRpbnN0YWxsZWQiID0gbm87IHRoZW4KKwkgICAgbm90aW5z
dF9kZXBsaWJzPSIkbm90aW5zdF9kZXBsaWJzICRsaWIiCisJICAgIG5lZWRfcmVsaW5rPXllcwor
CSAgZmkKKworCSAgaWYgdGVzdCAtbiAiJG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzIjsg
dGhlbgorCSAgICAjIGZpZ3VyZSBvdXQgdGhlIHNvbmFtZQorCSAgICBzZXQgZHVtbXkgJGxpYnJh
cnlfbmFtZXMKKwkgICAgcmVhbG5hbWU9IiQyIgorCSAgICBzaGlmdDsgc2hpZnQKKwkgICAgbGli
bmFtZT1gZXZhbCBcXCRlY2hvIFwiJGxpYm5hbWVfc3BlY1wiYAorCSAgICAjIHVzZSBkbG5hbWUg
aWYgd2UgZ290IGl0LiBpdCdzIHBlcmZlY3RseSBnb29kLCBubz8KKwkgICAgaWYgdGVzdCAtbiAi
JGRsbmFtZSI7IHRoZW4KKwkgICAgICBzb25hbWU9IiRkbG5hbWUiCisJICAgIGVsaWYgdGVzdCAt
biAiJHNvbmFtZV9zcGVjIjsgdGhlbgorCSAgICAgICMgYmxlaCB3aW5kb3dzCisJICAgICAgY2Fz
ZSAkaG9zdCBpbgorCSAgICAgICpjeWd3aW4qKQorCQltYWpvcj1gZXhwciAkY3VycmVudCAtICRh
Z2VgCisJCXZlcnN1ZmZpeD0iLSRtYWpvciIKKwkJOzsKKwkgICAgICBlc2FjCisJICAgICAgZXZh
bCBzb25hbWU9XCIkc29uYW1lX3NwZWNcIgorCSAgICBlbHNlCisJICAgICAgc29uYW1lPSIkcmVh
bG5hbWUiCisJICAgIGZpCisKKwkgICAgIyBNYWtlIGEgbmV3IG5hbWUgZm9yIHRoZSBleHRyYWN0
X2V4cHN5bXNfY21kcyB0byB1c2UKKwkgICAgc29yb290PSIkc29uYW1lIgorCSAgICBzb25hbWU9
YGVjaG8gJHNvcm9vdCB8IHNlZCAtZSAncy9eLipcLy8vJ2AKKwkgICAgbmV3bGliPSJsaWJpbXAt
YGVjaG8gJHNvbmFtZSB8IHNlZCAncy9ebGliLy87cy9cLmRsbCQvLydgLmEiCisKKwkgICAgIyBJ
ZiB0aGUgbGlicmFyeSBoYXMgbm8gZXhwb3J0IGxpc3QsIHRoZW4gY3JlYXRlIG9uZSBub3cKKwkg
ICAgaWYgdGVzdCAtZiAiJG91dHB1dF9vYmpkaXIvJHNvbmFtZS1kZWYiOyB0aGVuIDoKKwkgICAg
ZWxzZQorCSAgICAgICRzaG93ICJleHRyYWN0aW5nIGV4cG9ydGVkIHN5bWJvbCBsaXN0IGZyb20g
XGAkc29uYW1lJyIKKwkgICAgICBJRlM9IiR7SUZTPSAJfSI7IHNhdmVfaWZzPSIkSUZTIjsgSUZT
PSd+JworCSAgICAgIGV2YWwgY21kcz1cIiRleHRyYWN0X2V4cHN5bXNfY21kc1wiCisJICAgICAg
Zm9yIGNtZCBpbiAkY21kczsgZG8KKwkJSUZTPSIkc2F2ZV9pZnMiCisJCSRzaG93ICIkY21kIgor
CQkkcnVuIGV2YWwgIiRjbWQiIHx8IGV4aXQgJD8KKwkgICAgICBkb25lCisJICAgICAgSUZTPSIk
c2F2ZV9pZnMiCisJICAgIGZpCisKKwkgICAgIyBDcmVhdGUgJG5ld2xpYgorCSAgICBpZiB0ZXN0
IC1mICIkb3V0cHV0X29iamRpci8kbmV3bGliIjsgdGhlbiA6OyBlbHNlCisJICAgICAgJHNob3cg
ImdlbmVyYXRpbmcgaW1wb3J0IGxpYnJhcnkgZm9yIFxgJHNvbmFtZSciCisJICAgICAgSUZTPSIk
e0lGUz0gCX0iOyBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKKwkgICAgICBldmFsIGNtZHM9XCIk
b2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHNcIgorCSAgICAgIGZvciBjbWQgaW4gJGNtZHM7
IGRvCisJCUlGUz0iJHNhdmVfaWZzIgorCQkkc2hvdyAiJGNtZCIKKwkJJHJ1biBldmFsICIkY21k
IiB8fCBleGl0ICQ/CisJICAgICAgZG9uZQorCSAgICAgIElGUz0iJHNhdmVfaWZzIgorCSAgICBm
aQorCSAgICAjIG1ha2Ugc3VyZSB0aGUgbGlicmFyeSB2YXJpYWJsZXMgYXJlIHBvaW50aW5nIHRv
IHRoZSBuZXcgbGlicmFyeQorCSAgICBkaXI9JG91dHB1dF9vYmpkaXIKKwkgICAgbGlua2xpYj0k
bmV3bGliCisJICBmaSAjIHRlc3QgLW4gJG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzCisK
KwkgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nIHx8IHRlc3QgIiRtb2RlIiAhPSByZWxpbms7
IHRoZW4KKwkgICAgYWRkX3NobGlicGF0aD0KKwkgICAgYWRkX2Rpcj0KKwkgICAgYWRkPQorCSAg
ICBsaWJfbGlua2VkPXllcworCSAgICBjYXNlICRoYXJkY29kZV9hY3Rpb24gaW4KKwkgICAgaW1t
ZWRpYXRlIHwgdW5zdXBwb3J0ZWQpCisJICAgICAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIg
PSBubzsgdGhlbgorCQlhZGQ9IiRkaXIvJGxpbmtsaWIiCisJICAgICAgZWxpZiB0ZXN0ICIkaGFy
ZGNvZGVfbWludXNfTCIgPSBubzsgdGhlbgorCQljYXNlICRob3N0IGluCisJCSotKi1zdW5vcyop
IGFkZF9zaGxpYnBhdGg9IiRkaXIiIDs7CisJCWVzYWMKKwkJYWRkX2Rpcj0iLUwkZGlyIgorCQlh
ZGQ9Ii1sJG5hbWUiCisJICAgICAgZWxpZiB0ZXN0ICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIg
PSBubzsgdGhlbgorCQlhZGRfc2hsaWJwYXRoPSIkZGlyIgorCQlhZGQ9Ii1sJG5hbWUiCisJICAg
ICAgZWxzZQorCQlsaWJfbGlua2VkPW5vCisJICAgICAgZmkKKwkgICAgICA7OworCSAgICByZWxp
bmspCisJICAgICAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgPSB5ZXM7IHRoZW4KKwkJYWRk
PSIkZGlyLyRsaW5rbGliIgorCSAgICAgIGVsaWYgdGVzdCAiJGhhcmRjb2RlX21pbnVzX0wiID0g
eWVzOyB0aGVuCisJCWFkZF9kaXI9Ii1MJGRpciIKKwkJYWRkPSItbCRuYW1lIgorCSAgICAgIGVs
aWYgdGVzdCAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiID0geWVzOyB0aGVuCisJCWFkZF9zaGxp
YnBhdGg9IiRkaXIiCisJCWFkZD0iLWwkbmFtZSIKKwkgICAgICBlbHNlCisJCWxpYl9saW5rZWQ9
bm8KKwkgICAgICBmaQorCSAgICAgIDs7CisJICAgICopIGxpYl9saW5rZWQ9bm8gOzsKKwkgICAg
ZXNhYworCisJICAgIGlmIHRlc3QgIiRsaWJfbGlua2VkIiAhPSB5ZXM7IHRoZW4KKwkgICAgICAk
ZWNobyAiJG1vZGVuYW1lOiBjb25maWd1cmF0aW9uIGVycm9yOiB1bnN1cHBvcnRlZCBoYXJkY29k
ZSBwcm9wZXJ0aWVzIgorCSAgICAgIGV4aXQgMQorCSAgICBmaQorCisJICAgIGlmIHRlc3QgLW4g
IiRhZGRfc2hsaWJwYXRoIjsgdGhlbgorCSAgICAgIGNhc2UgOiRjb21waWxlX3NobGlicGF0aDog
aW4KKwkgICAgICAqIjokYWRkX3NobGlicGF0aDoiKikgOzsKKwkgICAgICAqKSBjb21waWxlX3No
bGlicGF0aD0iJGNvbXBpbGVfc2hsaWJwYXRoJGFkZF9zaGxpYnBhdGg6IiA7OworCSAgICAgIGVz
YWMKKwkgICAgZmkKKwkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2c7IHRoZW4KKwkgICAg
ICB0ZXN0IC1uICIkYWRkX2RpciIgJiYgY29tcGlsZV9kZXBsaWJzPSIkYWRkX2RpciAkY29tcGls
ZV9kZXBsaWJzIgorCSAgICAgIHRlc3QgLW4gIiRhZGQiICYmIGNvbXBpbGVfZGVwbGlicz0iJGFk
ZCAkY29tcGlsZV9kZXBsaWJzIgorCSAgICBlbHNlCisJICAgICAgdGVzdCAtbiAiJGFkZF9kaXIi
ICYmIGRlcGxpYnM9IiRhZGRfZGlyICRkZXBsaWJzIgorCSAgICAgIHRlc3QgLW4gIiRhZGQiICYm
IGRlcGxpYnM9IiRhZGQgJGRlcGxpYnMiCisJICAgICAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVj
dCIgIT0geWVzICYmIFwKKwkJIHRlc3QgIiRoYXJkY29kZV9taW51c19MIiAhPSB5ZXMgJiYgXAor
CQkgdGVzdCAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiID0geWVzOyB0aGVuCisJCWNhc2UgOiRm
aW5hbGl6ZV9zaGxpYnBhdGg6IGluCisJCSoiOiRsaWJkaXI6IiopIDs7CisJCSopIGZpbmFsaXpl
X3NobGlicGF0aD0iJGZpbmFsaXplX3NobGlicGF0aCRsaWJkaXI6IiA7OworCQllc2FjCisJICAg
ICAgZmkKKwkgICAgZmkKKwkgIGZpCisKKwkgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nIHx8
IHRlc3QgIiRtb2RlIiA9IHJlbGluazsgdGhlbgorCSAgICBhZGRfc2hsaWJwYXRoPQorCSAgICBh
ZGRfZGlyPQorCSAgICBhZGQ9CisJICAgICMgRmluYWxpemUgY29tbWFuZCBmb3IgYm90aCBpcyBz
aW1wbGU6IGp1c3QgaGFyZGNvZGUgaXQuCisJICAgIGlmIHRlc3QgIiRoYXJkY29kZV9kaXJlY3Qi
ID0geWVzOyB0aGVuCisJICAgICAgYWRkPSIkbGliZGlyLyRsaW5rbGliIgorCSAgICBlbGlmIHRl
c3QgIiRoYXJkY29kZV9taW51c19MIiA9IHllczsgdGhlbgorCSAgICAgIGFkZF9kaXI9Ii1MJGxp
YmRpciIKKwkgICAgICBhZGQ9Ii1sJG5hbWUiCisJICAgIGVsaWYgdGVzdCAiJGhhcmRjb2RlX3No
bGlicGF0aF92YXIiID0geWVzOyB0aGVuCisJICAgICAgY2FzZSA6JGZpbmFsaXplX3NobGlicGF0
aDogaW4KKwkgICAgICAqIjokbGliZGlyOiIqKSA7OworCSAgICAgICopIGZpbmFsaXplX3NobGli
cGF0aD0iJGZpbmFsaXplX3NobGlicGF0aCRsaWJkaXI6IiA7OworCSAgICAgIGVzYWMKKwkgICAg
ICBhZGQ9Ii1sJG5hbWUiCisJICAgIGVsc2UKKwkgICAgICAjIFdlIGNhbm5vdCBzZWVtIHRvIGhh
cmRjb2RlIGl0LCBndWVzcyB3ZSdsbCBmYWtlIGl0LgorCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRp
ciIKKwkgICAgICBhZGQ9Ii1sJG5hbWUiCisJICAgIGZpCisKKwkgICAgaWYgdGVzdCAiJGxpbmtt
b2RlIiA9IHByb2c7IHRoZW4KKwkgICAgICB0ZXN0IC1uICIkYWRkX2RpciIgJiYgZmluYWxpemVf
ZGVwbGlicz0iJGFkZF9kaXIgJGZpbmFsaXplX2RlcGxpYnMiCisJICAgICAgdGVzdCAtbiAiJGFk
ZCIgJiYgZmluYWxpemVfZGVwbGlicz0iJGFkZCAkZmluYWxpemVfZGVwbGlicyIKKwkgICAgZWxz
ZQorCSAgICAgIHRlc3QgLW4gIiRhZGRfZGlyIiAmJiBkZXBsaWJzPSIkYWRkX2RpciAkZGVwbGli
cyIKKwkgICAgICB0ZXN0IC1uICIkYWRkIiAmJiBkZXBsaWJzPSIkYWRkICRkZXBsaWJzIgorCSAg
ICBmaQorCSAgZmkKKwllbGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVuCisJICBpZiB0
ZXN0ICIkYWxsZGVwbGlicyIgPSB5ZXMgJiYKKwkgICAgIHsgdGVzdCAiJGRlcGxpYnNfY2hlY2tf
bWV0aG9kIiA9IHBhc3NfYWxsIHx8CisJICAgICAgIHsgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGli
cyIgPSB5ZXMgJiYKKwkJIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIjsgfTsgfTsgdGhlbgorCSAg
ICAjIFdlIG9ubHkgbmVlZCB0byBzZWFyY2ggZm9yIHN0YXRpYyBsaWJyYXJpZXMKKwkgICAgY29u
dGludWUKKwkgIGZpCisKKwkgICMgVHJ5IHRvIGxpbmsgdGhlIHN0YXRpYyBsaWJyYXJ5CisJICAj
IEhlcmUgd2UgYXNzdW1lIHRoYXQgb25lIG9mIGhhcmRjb2RlX2RpcmVjdCBvciBoYXJkY29kZV9t
aW51c19MCisJICAjIGlzIG5vdCB1bnN1cHBvcnRlZC4gIFRoaXMgaXMgdmFsaWQgb24gYWxsIGtu
b3duIHN0YXRpYyBhbmQKKwkgICMgc2hhcmVkIHBsYXRmb3Jtcy4KKwkgIGlmIHRlc3QgIiRoYXJk
Y29kZV9kaXJlY3QiICE9IHVuc3VwcG9ydGVkOyB0aGVuCisJICAgIHRlc3QgLW4gIiRvbGRfbGli
cmFyeSIgJiYgbGlua2xpYj0iJG9sZF9saWJyYXJ5IgorCSAgICBjb21waWxlX2RlcGxpYnM9IiRk
aXIvJGxpbmtsaWIgJGNvbXBpbGVfZGVwbGlicyIKKwkgICAgZmluYWxpemVfZGVwbGlicz0iJGRp
ci8kbGlua2xpYiAkZmluYWxpemVfZGVwbGlicyIKKwkgIGVsc2UKKwkgICAgY29tcGlsZV9kZXBs
aWJzPSItbCRuYW1lIC1MJGRpciAkY29tcGlsZV9kZXBsaWJzIgorCSAgICBmaW5hbGl6ZV9kZXBs
aWJzPSItbCRuYW1lIC1MJGRpciAkZmluYWxpemVfZGVwbGlicyIKKwkgIGZpCisJZWxpZiB0ZXN0
ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhlbgorCSAgIyBOb3QgYSBzaGFyZWQgbGli
cmFyeQorCSAgaWYgdGVzdCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAhPSBwYXNzX2FsbDsgdGhl
bgorCSAgICAjIFdlJ3JlIHRyeWluZyBsaW5rIGEgc2hhcmVkIGxpYnJhcnkgYWdhaW5zdCBhIHN0
YXRpYyBvbmUKKwkgICAgIyBidXQgdGhlIHN5c3RlbSBkb2Vzbid0IHN1cHBvcnQgaXQuCisKKwkg
ICAgIyBKdXN0IHByaW50IGEgd2FybmluZyBhbmQgYWRkIHRoZSBsaWJyYXJ5IHRvIGRlcGVuZGVu
Y3lfbGlicyBzbworCSAgICAjIHRoYXQgdGhlIHByb2dyYW0gY2FuIGJlIGxpbmtlZCBhZ2FpbnN0
IHRoZSBzdGF0aWMgbGlicmFyeS4KKwkgICAgZWNobworCSAgICBlY2hvICIqKiogV2FybmluZzog
VGhpcyBsaWJyYXJ5IG5lZWRzIHNvbWUgZnVuY3Rpb25hbGl0eSBwcm92aWRlZCBieSAkbGliLiIK
KwkgICAgZWNobyAiKioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBtYWtlIHRoYXQgbGlicmFy
eSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIKKwkgICAgZWNobyAiKioqIHlvdSBsaW5rIHRv
IHRoaXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKKwkg
ICAgZWNobyAiKioqIHNoYXJlZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCB3aGljaCB5b3UgZG8g
bm90IGFwcGVhciB0byBoYXZlLiIKKwkgICAgaWYgdGVzdCAiJG1vZHVsZSIgPSB5ZXM7IHRoZW4K
KwkgICAgICBlY2hvICIqKiogVGhlcmVmb3JlLCBsaWJ0b29sIHdpbGwgY3JlYXRlIGEgc3RhdGlj
IG1vZHVsZSwgdGhhdCBzaG91bGQgd29yayAiCisJICAgICAgZWNobyAiKioqIGFzIGxvbmcgYXMg
dGhlIGRsb3BlbmluZyBhcHBsaWNhdGlvbiBpcyBsaW5rZWQgd2l0aCB0aGUgLWRsb3BlbiBmbGFn
LiIKKwkgICAgICBpZiB0ZXN0IC16ICIkZ2xvYmFsX3N5bWJvbF9waXBlIjsgdGhlbgorCSAgICAg
ICAgZWNobworCSAgICAgICAgZWNobyAiKioqIEhvd2V2ZXIsIHRoaXMgd291bGQgb25seSB3b3Jr
IGlmIGxpYnRvb2wgd2FzIGFibGUgdG8gZXh0cmFjdCBzeW1ib2wiCisJICAgICAgICBlY2hvICIq
KiogbGlzdHMgZnJvbSBhIHByb2dyYW0sIHVzaW5nIFxgbm0nIG9yIGVxdWl2YWxlbnQsIGJ1dCBs
aWJ0b29sIGNvdWxkIgorCSAgICAgICAgZWNobyAiKioqIG5vdCBmaW5kIHN1Y2ggYSBwcm9ncmFt
LiAgU28sIHRoaXMgbW9kdWxlIGlzIHByb2JhYmx5IHVzZWxlc3MuIgorCSAgICAgICAgZWNobyAi
KioqIFxgbm0nIGZyb20gR05VIGJpbnV0aWxzIGFuZCBhIGZ1bGwgcmVidWlsZCBtYXkgaGVscC4i
CisJICAgICAgZmkKKwkgICAgICBpZiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0gbm87IHRoZW4K
KwkgICAgICAgIGJ1aWxkX2xpYnRvb2xfbGlicz1tb2R1bGUKKwkgICAgICAgIGJ1aWxkX29sZF9s
aWJzPXllcworCSAgICAgIGVsc2UKKwkgICAgICAgIGJ1aWxkX2xpYnRvb2xfbGlicz1ubworCSAg
ICAgIGZpCisJICAgIGZpCisJICBlbHNlCisJICAgIGNvbnZlbmllbmNlPSIkY29udmVuaWVuY2Ug
JGRpci8kb2xkX2xpYnJhcnkiCisJICAgIG9sZF9jb252ZW5pZW5jZT0iJG9sZF9jb252ZW5pZW5j
ZSAkZGlyLyRvbGRfbGlicmFyeSIKKwkgICAgZGVwbGlicz0iJGRpci8kb2xkX2xpYnJhcnkgJGRl
cGxpYnMiCisJICAgIGxpbmtfc3RhdGljPXllcworCSAgZmkKKwlmaSAjIGxpbmsgc2hhcmVkL3N0
YXRpYyBsaWJyYXJ5PworCisJaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYjsgdGhlbgorCSAgaWYg
dGVzdCAtbiAiJGRlcGVuZGVuY3lfbGlicyIgJiYKKwkgICAgIHsgdGVzdCAiJGhhcmRjb2RlX2lu
dG9fbGlicyIgIT0geWVzIHx8IHRlc3QgJGJ1aWxkX29sZF9saWJzID0geWVzIHx8CisJICAgICAg
IHRlc3QgJGxpbmtfc3RhdGljID0geWVzOyB9OyB0aGVuCisJICAgICMgRXh0cmFjdCAtUiBmcm9t
IGRlcGVuZGVuY3lfbGlicworCSAgICB0ZW1wX2RlcGxpYnM9CisJICAgIGZvciBsaWJkaXIgaW4g
JGRlcGVuZGVuY3lfbGliczsgZG8KKwkgICAgICBjYXNlICRsaWJkaXIgaW4KKwkgICAgICAtUiop
IHRlbXBfeHJwYXRoPWAkZWNobyAiWCRsaWJkaXIiIHwgJFhzZWQgLWUgJ3MvXi1SLy8nYAorCQkg
ICBjYXNlICIgJHhycGF0aCAiIGluCisJCSAgICoiICR0ZW1wX3hycGF0aCAiKikgOzsKKwkJICAg
KikgeHJwYXRoPSIkeHJwYXRoICR0ZW1wX3hycGF0aCI7OworCQkgICBlc2FjOzsKKwkgICAgICAq
KSB0ZW1wX2RlcGxpYnM9IiR0ZW1wX2RlcGxpYnMgJGxpYmRpciI7OworCSAgICAgIGVzYWMKKwkg
ICAgZG9uZQorCSAgICBkZXBlbmRlbmN5X2xpYnM9IiR0ZW1wX2RlcGxpYnMiCisJICBmaQorCisJ
ICBuZXdsaWJfc2VhcmNoX3BhdGg9IiRuZXdsaWJfc2VhcmNoX3BhdGggJGFic2RpciIKKwkgICMg
TGluayBhZ2FpbnN0IHRoaXMgbGlicmFyeQorCSAgdGVzdCAiJGxpbmtfc3RhdGljIiA9IG5vICYm
IG5ld2RlcGVuZGVuY3lfbGlicz0iJGFic19sYWRpci8kbGFuYW1lICRuZXdkZXBlbmRlbmN5X2xp
YnMiCisJICAjIC4uLiBhbmQgaXRzIGRlcGVuZGVuY3lfbGlicworCSAgdG1wX2xpYnM9CisJICBm
b3IgZGVwbGliIGluICRkZXBlbmRlbmN5X2xpYnM7IGRvCisJICAgIG5ld2RlcGVuZGVuY3lfbGli
cz0iJGRlcGxpYiAkbmV3ZGVwZW5kZW5jeV9saWJzIgorCSAgICBjYXNlICIkdG1wX2xpYnMgIiBp
bgorCSAgICAqIiAkZGVwbGliICIqKSBzcGVjaWFsZGVwbGlicz0iJHNwZWNpYWxkZXBsaWJzICRk
ZXBsaWIiIDs7CisJICAgIGVzYWMKKwkgICAgdG1wX2xpYnM9IiR0bXBfbGlicyAkZGVwbGliIgor
CSAgZG9uZQorCisJICBpZiB0ZXN0ICIkbGlua19hbGxfZGVwbGlicyIgIT0gbm87IHRoZW4KKwkg
ICAgIyBBZGQgdGhlIHNlYXJjaCBwYXRocyBvZiBhbGwgZGVwZW5kZW5jeSBsaWJyYXJpZXMKKwkg
ICAgZm9yIGRlcGxpYiBpbiAkZGVwZW5kZW5jeV9saWJzOyBkbworCSAgICAgIGNhc2UgJGRlcGxp
YiBpbgorCSAgICAgIC1MKikgcGF0aD0iJGRlcGxpYiIgOzsKKwkgICAgICAqLmxhKQorCQlkaXI9
YCRlY2hvICJYJGRlcGxpYiIgfCAkWHNlZCAtZSAncyUvW14vXSokJSUnYAorCQl0ZXN0ICJYJGRp
ciIgPSAiWCRkZXBsaWIiICYmIGRpcj0iLiIKKwkJIyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGgu
CisJCWNhc2UgJGRpciBpbgorCQlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIGFic2Rpcj0iJGRp
ciIgOzsKKwkJKikKKwkJICBhYnNkaXI9YGNkICIkZGlyIiAmJiBwd2RgCisJCSAgaWYgdGVzdCAt
eiAiJGFic2RpciI7IHRoZW4KKwkJICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IGNhbm5v
dCBkZXRlcm1pbmUgYWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUgb2YgXGAkZGlyJyIgMT4mMgorCQkg
ICAgYWJzZGlyPSIkZGlyIgorCQkgIGZpCisJCSAgOzsKKwkJZXNhYworCQlpZiBncmVwICJeaW5z
dGFsbGVkPW5vIiAkZGVwbGliID4gL2Rldi9udWxsOyB0aGVuCisJCSAgcGF0aD0iLUwkYWJzZGly
LyRvYmpkaXIiCisJCWVsc2UKKwkJICBldmFsIGxpYmRpcj1gc2VkIC1uIC1lICdzL15saWJkaXI9
XCguKlwpJC9cMS9wJyAkZGVwbGliYAorCQkgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCisJ
CSAgICAkZWNobyAiJG1vZGVuYW1lOiBcYCRkZXBsaWInIGlzIG5vdCBhIHZhbGlkIGxpYnRvb2wg
YXJjaGl2ZSIgMT4mMgorCQkgICAgZXhpdCAxCisJCSAgZmkKKwkJICBpZiB0ZXN0ICIkYWJzZGly
IiAhPSAiJGxpYmRpciI7IHRoZW4KKwkJICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxg
JGRlcGxpYicgc2VlbXMgdG8gYmUgbW92ZWQiIDE+JjIKKwkJICBmaQorCQkgIHBhdGg9Ii1MJGFi
c2RpciIKKwkJZmkKKwkJOzsKKwkgICAgICAqKSBjb250aW51ZSA7OworCSAgICAgIGVzYWMKKwkg
ICAgICBjYXNlICIgJGRlcGxpYnMgIiBpbgorCSAgICAgICoiICRwYXRoICIqKSA7OworCSAgICAg
ICopIGRlcGxpYnM9IiRkZXBsaWJzICRwYXRoIiA7OworCSAgICAgIGVzYWMKKwkgICAgZG9uZQor
CSAgZmkgIyBsaW5rX2FsbF9kZXBsaWJzICE9IG5vCisJZmkgIyBsaW5rbW9kZSA9IGxpYgorICAg
ICAgZG9uZSAjIGZvciBkZXBsaWIgaW4gJGxpYnMKKyAgICAgIGlmIHRlc3QgIiRwYXNzIiA9IGRs
cHJlb3BlbjsgdGhlbgorCSMgTGluayB0aGUgZGxwcmVvcGVuZWQgbGlicmFyaWVzIGJlZm9yZSBv
dGhlciBsaWJyYXJpZXMKKwlmb3IgZGVwbGliIGluICRzYXZlX2RlcGxpYnM7IGRvCisJICBkZXBs
aWJzPSIkZGVwbGliICRkZXBsaWJzIgorCWRvbmUKKyAgICAgIGZpCisgICAgICBpZiB0ZXN0ICIk
cGFzcyIgIT0gZGxvcGVuOyB0aGVuCisJdGVzdCAiJHBhc3MiICE9IHNjYW4gJiYgZGVwZW5kZW5j
eV9saWJzPSIkbmV3ZGVwZW5kZW5jeV9saWJzIgorCWlmIHRlc3QgIiRwYXNzIiAhPSBjb252OyB0
aGVuCisJICAjIE1ha2Ugc3VyZSBsaWJfc2VhcmNoX3BhdGggY29udGFpbnMgb25seSB1bmlxdWUg
ZGlyZWN0b3JpZXMuCisJICBsaWJfc2VhcmNoX3BhdGg9CisJICBmb3IgZGlyIGluICRuZXdsaWJf
c2VhcmNoX3BhdGg7IGRvCisJICAgIGNhc2UgIiRsaWJfc2VhcmNoX3BhdGggIiBpbgorCSAgICAq
IiAkZGlyICIqKSA7OworCSAgICAqKSBsaWJfc2VhcmNoX3BhdGg9IiRsaWJfc2VhcmNoX3BhdGgg
JGRpciIgOzsKKwkgICAgZXNhYworCSAgZG9uZQorCSAgbmV3bGliX3NlYXJjaF9wYXRoPQorCWZp
CisKKwlpZiB0ZXN0ICIkbGlua21vZGUsJHBhc3MiICE9ICJwcm9nLGxpbmsiOyB0aGVuCisJICB2
YXJzPSJkZXBsaWJzIgorCWVsc2UKKwkgIHZhcnM9ImNvbXBpbGVfZGVwbGlicyBmaW5hbGl6ZV9k
ZXBsaWJzIgorCWZpCisJZm9yIHZhciBpbiAkdmFycyBkZXBlbmRlbmN5X2xpYnM7IGRvCisJICAj
IEFkZCBsaWJyYXJpZXMgdG8gJHZhciBpbiByZXZlcnNlIG9yZGVyCisJICBldmFsIHRtcF9saWJz
PVwiXCQkdmFyXCIKKwkgIG5ld19saWJzPQorCSAgZm9yIGRlcGxpYiBpbiAkdG1wX2xpYnM7IGRv
CisJICAgIGNhc2UgJGRlcGxpYiBpbgorCSAgICAtTCopIG5ld19saWJzPSIkZGVwbGliICRuZXdf
bGlicyIgOzsKKwkgICAgKikKKwkgICAgICBjYXNlICIgJHNwZWNpYWxkZXBsaWJzICIgaW4KKwkg
ICAgICAqIiAkZGVwbGliICIqKSBuZXdfbGlicz0iJGRlcGxpYiAkbmV3X2xpYnMiIDs7CisJICAg
ICAgKikKKwkJY2FzZSAiICRuZXdfbGlicyAiIGluCisJCSoiICRkZXBsaWIgIiopIDs7CisJCSop
IG5ld19saWJzPSIkZGVwbGliICRuZXdfbGlicyIgOzsKKwkJZXNhYworCQk7OworCSAgICAgIGVz
YWMKKwkgICAgICA7OworCSAgICBlc2FjCisJICBkb25lCisJICB0bXBfbGlicz0KKwkgIGZvciBk
ZXBsaWIgaW4gJG5ld19saWJzOyBkbworCSAgICBjYXNlICRkZXBsaWIgaW4KKwkgICAgLUwqKQor
CSAgICAgIGNhc2UgIiAkdG1wX2xpYnMgIiBpbgorCSAgICAgICoiICRkZXBsaWIgIiopIDs7CisJ
ICAgICAgKikgdG1wX2xpYnM9IiR0bXBfbGlicyAkZGVwbGliIiA7OworCSAgICAgIGVzYWMKKwkg
ICAgICA7OworCSAgICAqKSB0bXBfbGlicz0iJHRtcF9saWJzICRkZXBsaWIiIDs7CisJICAgIGVz
YWMKKwkgIGRvbmUKKwkgIGV2YWwgJHZhcj1cIiR0bXBfbGlic1wiCisJZG9uZSAjIGZvciB2YXIK
KyAgICAgIGZpCisgICAgICBpZiB0ZXN0ICIkcGFzcyIgPSAiY29udiIgJiYKKyAgICAgICB7IHRl
c3QgIiRsaW5rbW9kZSIgPSAibGliIiB8fCB0ZXN0ICIkbGlua21vZGUiID0gInByb2ciOyB9OyB0
aGVuCisJbGlicz0iJGRlcGxpYnMiICMgcmVzZXQgbGlicworCWRlcGxpYnM9CisgICAgICBmaQor
ICAgIGRvbmUgIyBmb3IgcGFzcworICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVu
CisgICAgICBkbGZpbGVzPSIkbmV3ZGxmaWxlcyIKKyAgICAgIGRscHJlZmlsZXM9IiRuZXdkbHBy
ZWZpbGVzIgorICAgIGZpCisKKyAgICBjYXNlICRsaW5rbW9kZSBpbgorICAgIG9sZGxpYikKKyAg
ICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVzJGRscHJlZmlsZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9
IG5vOyB0aGVuCisJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtZGxvcGVuJyBpcyBpZ25v
cmVkIGZvciBhcmNoaXZlcyIgMT4mMgorICAgICAgZmkKKworICAgICAgaWYgdGVzdCAtbiAiJHJw
YXRoIjsgdGhlbgorCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXJwYXRoJyBpcyBpZ25v
cmVkIGZvciBhcmNoaXZlcyIgMT4mMgorICAgICAgZmkKKworICAgICAgaWYgdGVzdCAtbiAiJHhy
cGF0aCI7IHRoZW4KKwkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1SJyBpcyBpZ25vcmVk
IGZvciBhcmNoaXZlcyIgMT4mMgorICAgICAgZmkKKworICAgICAgaWYgdGVzdCAtbiAiJHZpbmZv
IjsgdGhlbgorCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXZlcnNpb24taW5mbycgaXMg
aWdub3JlZCBmb3IgYXJjaGl2ZXMiIDE+JjIKKyAgICAgIGZpCisKKyAgICAgIGlmIHRlc3QgLW4g
IiRyZWxlYXNlIjsgdGhlbgorCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXJlbGVhc2Un
IGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzIiAxPiYyCisgICAgICBmaQorCisgICAgICBpZiB0ZXN0
IC1uICIkZXhwb3J0X3N5bWJvbHMiIHx8IHRlc3QgLW4gIiRleHBvcnRfc3ltYm9sc19yZWdleCI7
IHRoZW4KKwkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBcYC1leHBvcnQtc3ltYm9scycgaXMg
aWdub3JlZCBmb3IgYXJjaGl2ZXMiIDE+JjIKKyAgICAgIGZpCisKKyAgICAgICMgTm93IHNldCB0
aGUgdmFyaWFibGVzIGZvciBidWlsZGluZyBvbGQgbGlicmFyaWVzLgorICAgICAgYnVpbGRfbGli
dG9vbF9saWJzPW5vCisgICAgICBvbGRsaWJzPSIkb3V0cHV0IgorICAgICAgb2Jqcz0iJG9ianMk
b2xkX2RlcGxpYnMiCisgICAgICA7OworCisgICAgbGliKQorICAgICAgIyBNYWtlIHN1cmUgd2Ug
b25seSBnZW5lcmF0ZSBsaWJyYXJpZXMgb2YgdGhlIGZvcm0gYGxpYk5BTUUubGEnLgorICAgICAg
Y2FzZSAkb3V0cHV0bmFtZSBpbgorICAgICAgbGliKikKKwluYW1lPWAkZWNobyAiWCRvdXRwdXRu
YW1lIiB8ICRYc2VkIC1lICdzL1wubGEkLy8nIC1lICdzL15saWIvLydgCisJZXZhbCBsaWJuYW1l
PVwiJGxpYm5hbWVfc3BlY1wiCisJOzsKKyAgICAgICopCisJaWYgdGVzdCAiJG1vZHVsZSIgPSBu
bzsgdGhlbgorCSAgJGVjaG8gIiRtb2RlbmFtZTogbGlidG9vbCBsaWJyYXJ5IFxgJG91dHB1dCcg
bXVzdCBiZWdpbiB3aXRoIFxgbGliJyIgMT4mMgorCSAgJGVjaG8gIiRoZWxwIiAxPiYyCisJICBl
eGl0IDEKKwlmaQorCWlmIHRlc3QgIiRuZWVkX2xpYl9wcmVmaXgiICE9IG5vOyB0aGVuCisJICAj
IEFkZCB0aGUgImxpYiIgcHJlZml4IGZvciBtb2R1bGVzIGlmIHJlcXVpcmVkCisJICBuYW1lPWAk
ZWNobyAiWCRvdXRwdXRuYW1lIiB8ICRYc2VkIC1lICdzL1wubGEkLy8nYAorCSAgZXZhbCBsaWJu
YW1lPVwiJGxpYm5hbWVfc3BlY1wiCisJZWxzZQorCSAgbGlibmFtZT1gJGVjaG8gIlgkb3V0cHV0
bmFtZSIgfCAkWHNlZCAtZSAncy9cLmxhJC8vJ2AKKwlmaQorCTs7CisgICAgICBlc2FjCisKKyAg
ICAgIGlmIHRlc3QgLW4gIiRvYmpzIjsgdGhlbgorCWlmIHRlc3QgIiRkZXBsaWJzX2NoZWNrX21l
dGhvZCIgIT0gcGFzc19hbGw7IHRoZW4KKwkgICRlY2hvICIkbW9kZW5hbWU6IGNhbm5vdCBidWls
ZCBsaWJ0b29sIGxpYnJhcnkgXGAkb3V0cHV0JyBmcm9tIG5vbi1saWJ0b29sIG9iamVjdHMgb24g
dGhpcyBob3N0OiRvYmpzIiAyPiYxCisJICBleGl0IDEKKwllbHNlCisJICBlY2hvCisJICBlY2hv
ICIqKiogV2FybmluZzogTGlua2luZyB0aGUgc2hhcmVkIGxpYnJhcnkgJG91dHB1dCBhZ2FpbnN0
IHRoZSBub24tbGlidG9vbCIKKwkgIGVjaG8gIioqKiBvYmplY3RzICRvYmpzIGlzIG5vdCBwb3J0
YWJsZSEiCisJICBsaWJvYmpzPSIkbGlib2JqcyAkb2JqcyIKKwlmaQorICAgICAgZmkKKworICAg
ICAgaWYgdGVzdCAiJGRsc2VsZiIgIT0gbm87IHRoZW4KKwkkZWNobyAiJG1vZGVuYW1lOiB3YXJu
aW5nOiBcYC1kbG9wZW4gc2VsZicgaXMgaWdub3JlZCBmb3IgbGlidG9vbCBsaWJyYXJpZXMiIDE+
JjIKKyAgICAgIGZpCisKKyAgICAgIHNldCBkdW1teSAkcnBhdGgKKyAgICAgIGlmIHRlc3QgJCMg
LWd0IDI7IHRoZW4KKwkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nOiBpZ25vcmluZyBtdWx0aXBs
ZSBcYC1ycGF0aCdzIGZvciBhIGxpYnRvb2wgbGlicmFyeSIgMT4mMgorICAgICAgZmkKKyAgICAg
IGluc3RhbGxfbGliZGlyPSIkMiIKKworICAgICAgb2xkbGlicz0KKyAgICAgIGlmIHRlc3QgLXog
IiRycGF0aCI7IHRoZW4KKwlpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhl
bgorCSAgIyBCdWlsZGluZyBhIGxpYnRvb2wgY29udmVuaWVuY2UgbGlicmFyeS4KKwkgIGxpYmV4
dD1hbAorCSAgb2xkbGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCAkb2xkbGli
cyIKKwkgIGJ1aWxkX2xpYnRvb2xfbGlicz1jb252ZW5pZW5jZQorCSAgYnVpbGRfb2xkX2xpYnM9
eWVzCisJZmkKKworCWlmIHRlc3QgLW4gIiR2aW5mbyI7IHRoZW4KKwkgICRlY2hvICIkbW9kZW5h
bWU6IHdhcm5pbmc6IFxgLXZlcnNpb24taW5mbycgaXMgaWdub3JlZCBmb3IgY29udmVuaWVuY2Ug
bGlicmFyaWVzIiAxPiYyCisJZmkKKworCWlmIHRlc3QgLW4gIiRyZWxlYXNlIjsgdGhlbgorCSAg
JGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtcmVsZWFzZScgaXMgaWdub3JlZCBmb3IgY29u
dmVuaWVuY2UgbGlicmFyaWVzIiAxPiYyCisJZmkKKyAgICAgIGVsc2UKKworCSMgUGFyc2UgdGhl
IHZlcnNpb24gaW5mb3JtYXRpb24gYXJndW1lbnQuCisJSUZTPSIke0lGUz0gCX0iOyBzYXZlX2lm
cz0iJElGUyI7IElGUz0nOicKKwlzZXQgZHVtbXkgJHZpbmZvIDAgMCAwCisJSUZTPSIkc2F2ZV9p
ZnMiCisKKwlpZiB0ZXN0IC1uICIkOCI7IHRoZW4KKwkgICRlY2hvICIkbW9kZW5hbWU6IHRvbyBt
YW55IHBhcmFtZXRlcnMgdG8gXGAtdmVyc2lvbi1pbmZvJyIgMT4mMgorCSAgJGVjaG8gIiRoZWxw
IiAxPiYyCisJICBleGl0IDEKKwlmaQorCisJY3VycmVudD0iJDIiCisJcmV2aXNpb249IiQzIgor
CWFnZT0iJDQiCisKKwkjIENoZWNrIHRoYXQgZWFjaCBvZiB0aGUgdGhpbmdzIGFyZSB2YWxpZCBu
dW1iZXJzLgorCWNhc2UgJGN1cnJlbnQgaW4KKwkwIHwgWzEtOV0gfCBbMS05XVswLTldIHwgWzEt
OV1bMC05XVswLTldKSA7OworCSopCisJICAkZWNobyAiJG1vZGVuYW1lOiBDVVJSRU5UIFxgJGN1
cnJlbnQnIGlzIG5vdCBhIG5vbm5lZ2F0aXZlIGludGVnZXIiIDE+JjIKKwkgICRlY2hvICIkbW9k
ZW5hbWU6IFxgJHZpbmZvJyBpcyBub3QgdmFsaWQgdmVyc2lvbiBpbmZvcm1hdGlvbiIgMT4mMgor
CSAgZXhpdCAxCisJICA7OworCWVzYWMKKworCWNhc2UgJHJldmlzaW9uIGluCisJMCB8IFsxLTld
IHwgWzEtOV1bMC05XSB8IFsxLTldWzAtOV1bMC05XSkgOzsKKwkqKQorCSAgJGVjaG8gIiRtb2Rl
bmFtZTogUkVWSVNJT04gXGAkcmV2aXNpb24nIGlzIG5vdCBhIG5vbm5lZ2F0aXZlIGludGVnZXIi
IDE+JjIKKwkgICRlY2hvICIkbW9kZW5hbWU6IFxgJHZpbmZvJyBpcyBub3QgdmFsaWQgdmVyc2lv
biBpbmZvcm1hdGlvbiIgMT4mMgorCSAgZXhpdCAxCisJICA7OworCWVzYWMKKworCWNhc2UgJGFn
ZSBpbgorCTAgfCBbMS05XSB8IFsxLTldWzAtOV0gfCBbMS05XVswLTldWzAtOV0pIDs7CisJKikK
KwkgICRlY2hvICIkbW9kZW5hbWU6IEFHRSBcYCRhZ2UnIGlzIG5vdCBhIG5vbm5lZ2F0aXZlIGlu
dGVnZXIiIDE+JjIKKwkgICRlY2hvICIkbW9kZW5hbWU6IFxgJHZpbmZvJyBpcyBub3QgdmFsaWQg
dmVyc2lvbiBpbmZvcm1hdGlvbiIgMT4mMgorCSAgZXhpdCAxCisJICA7OworCWVzYWMKKworCWlm
IHRlc3QgJGFnZSAtZ3QgJGN1cnJlbnQ7IHRoZW4KKwkgICRlY2hvICIkbW9kZW5hbWU6IEFHRSBc
YCRhZ2UnIGlzIGdyZWF0ZXIgdGhhbiB0aGUgY3VycmVudCBpbnRlcmZhY2UgbnVtYmVyIFxgJGN1
cnJlbnQnIiAxPiYyCisJICAkZWNobyAiJG1vZGVuYW1lOiBcYCR2aW5mbycgaXMgbm90IHZhbGlk
IHZlcnNpb24gaW5mb3JtYXRpb24iIDE+JjIKKwkgIGV4aXQgMQorCWZpCisKKwkjIENhbGN1bGF0
ZSB0aGUgdmVyc2lvbiB2YXJpYWJsZXMuCisJbWFqb3I9CisJdmVyc3VmZml4PQorCXZlcnN0cmlu
Zz0KKwljYXNlICR2ZXJzaW9uX3R5cGUgaW4KKwlub25lKSA7OworCisJZGFyd2luKQorCSAgIyBM
aWtlIExpbnV4LCBidXQgd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uIGF2YWlsYWJsZSBpbgorCSAg
IyB2ZXJzdHJpbmcgZm9yIGNvZGluZyBpdCBpbnRvIHRoZSBsaWJyYXJ5IGhlYWRlcgorCSAgbWFq
b3I9LmBleHByICRjdXJyZW50IC0gJGFnZWAKKwkgIHZlcnN1ZmZpeD0iJG1ham9yLiRhZ2UuJHJl
dmlzaW9uIgorCSAgIyBEYXJ3aW4gbGQgZG9lc24ndCBsaWtlIDAgZm9yIHRoZXNlIG9wdGlvbnMu
Li4KKwkgIG1pbm9yX2N1cnJlbnQ9YGV4cHIgJGN1cnJlbnQgKyAxYAorCSAgdmVyc3RyaW5nPSIt
Y29tcGF0aWJpbGl0eV92ZXJzaW9uICRtaW5vcl9jdXJyZW50IC1jdXJyZW50X3ZlcnNpb24gJG1p
bm9yX2N1cnJlbnQuJHJldmlzaW9uIgorCSAgOzsKKworCWZyZWVic2QtYW91dCkKKwkgIG1ham9y
PSIuJGN1cnJlbnQiCisJICB2ZXJzdWZmaXg9Ii4kY3VycmVudC4kcmV2aXNpb24iOworCSAgOzsK
KworCWZyZWVic2QtZWxmKQorCSAgbWFqb3I9Ii4kY3VycmVudCIKKwkgIHZlcnN1ZmZpeD0iLiRj
dXJyZW50IjsKKwkgIDs7CisKKwlpcml4KQorCSAgbWFqb3I9YGV4cHIgJGN1cnJlbnQgLSAkYWdl
ICsgMWAKKwkgIHZlcnN0cmluZz0ic2dpJG1ham9yLiRyZXZpc2lvbiIKKworCSAgIyBBZGQgaW4g
YWxsIHRoZSBpbnRlcmZhY2VzIHRoYXQgd2UgYXJlIGNvbXBhdGlibGUgd2l0aC4KKwkgIGxvb3A9
JHJldmlzaW9uCisJICB3aGlsZSB0ZXN0ICRsb29wICE9IDA7IGRvCisJICAgIGlmYWNlPWBleHBy
ICRyZXZpc2lvbiAtICRsb29wYAorCSAgICBsb29wPWBleHByICRsb29wIC0gMWAKKwkgICAgdmVy
c3RyaW5nPSJzZ2kkbWFqb3IuJGlmYWNlOiR2ZXJzdHJpbmciCisJICBkb25lCisKKwkgICMgQmVm
b3JlIHRoaXMgcG9pbnQsICRtYWpvciBtdXN0IG5vdCBjb250YWluIGAuJy4KKwkgIG1ham9yPS4k
bWFqb3IKKwkgIHZlcnN1ZmZpeD0iJG1ham9yLiRyZXZpc2lvbiIKKwkgIDs7CisKKwlsaW51eCkK
KwkgIG1ham9yPS5gZXhwciAkY3VycmVudCAtICRhZ2VgCisJICB2ZXJzdWZmaXg9IiRtYWpvci4k
YWdlLiRyZXZpc2lvbiIKKwkgIDs7CisKKwlvc2YpCisJICBtYWpvcj1gZXhwciAkY3VycmVudCAt
ICRhZ2VgCisJICB2ZXJzdWZmaXg9Ii4kY3VycmVudC4kYWdlLiRyZXZpc2lvbiIKKwkgIHZlcnN0
cmluZz0iJGN1cnJlbnQuJGFnZS4kcmV2aXNpb24iCisKKwkgICMgQWRkIGluIGFsbCB0aGUgaW50
ZXJmYWNlcyB0aGF0IHdlIGFyZSBjb21wYXRpYmxlIHdpdGguCisJICBsb29wPSRhZ2UKKwkgIHdo
aWxlIHRlc3QgJGxvb3AgIT0gMDsgZG8KKwkgICAgaWZhY2U9YGV4cHIgJGN1cnJlbnQgLSAkbG9v
cGAKKwkgICAgbG9vcD1gZXhwciAkbG9vcCAtIDFgCisJICAgIHZlcnN0cmluZz0iJHZlcnN0cmlu
Zzoke2lmYWNlfS4wIgorCSAgZG9uZQorCisJICAjIE1ha2UgZXhlY3V0YWJsZXMgZGVwZW5kIG9u
IG91ciBjdXJyZW50IHZlcnNpb24uCisJICB2ZXJzdHJpbmc9IiR2ZXJzdHJpbmc6JHtjdXJyZW50
fS4wIgorCSAgOzsKKworCXN1bm9zKQorCSAgbWFqb3I9Ii4kY3VycmVudCIKKwkgIHZlcnN1ZmZp
eD0iLiRjdXJyZW50LiRyZXZpc2lvbiIKKwkgIDs7CisKKwl3aW5kb3dzKQorCSAgIyBVc2UgJy0n
IHJhdGhlciB0aGFuICcuJywgc2luY2Ugd2Ugb25seSB3YW50IG9uZQorCSAgIyBleHRlbnNpb24g
b24gRE9TIDguMyBmaWxlc3lzdGVtcy4KKwkgIG1ham9yPWBleHByICRjdXJyZW50IC0gJGFnZWAK
KwkgIHZlcnN1ZmZpeD0iLSRtYWpvciIKKwkgIDs7CisKKwkqKQorCSAgJGVjaG8gIiRtb2RlbmFt
ZTogdW5rbm93biBsaWJyYXJ5IHZlcnNpb24gdHlwZSBcYCR2ZXJzaW9uX3R5cGUnIiAxPiYyCisJ
ICBlY2hvICJGYXRhbCBjb25maWd1cmF0aW9uIGVycm9yLiAgU2VlIHRoZSAkUEFDS0FHRSBkb2Nz
IGZvciBtb3JlIGluZm9ybWF0aW9uLiIgMT4mMgorCSAgZXhpdCAxCisJICA7OworCWVzYWMKKwor
CSMgQ2xlYXIgdGhlIHZlcnNpb24gaW5mbyBpZiB3ZSBkZWZhdWx0ZWQsIGFuZCB0aGV5IHNwZWNp
ZmllZCBhIHJlbGVhc2UuCisJaWYgdGVzdCAteiAiJHZpbmZvIiAmJiB0ZXN0IC1uICIkcmVsZWFz
ZSI7IHRoZW4KKwkgIG1ham9yPQorCSAgdmVyc3RyaW5nPSIwLjAiCisJICBpZiB0ZXN0ICIkbmVl
ZF92ZXJzaW9uIiA9IG5vOyB0aGVuCisJICAgIHZlcnN1ZmZpeD0KKwkgIGVsc2UKKwkgICAgdmVy
c3VmZml4PSIuMC4wIgorCSAgZmkKKwlmaQorCisJIyBSZW1vdmUgdmVyc2lvbiBpbmZvIGZyb20g
bmFtZSBpZiB2ZXJzaW9uaW5nIHNob3VsZCBiZSBhdm9pZGVkCisJaWYgdGVzdCAiJGF2b2lkX3Zl
cnNpb24iID0geWVzICYmIHRlc3QgIiRuZWVkX3ZlcnNpb24iID0gbm87IHRoZW4KKwkgIG1ham9y
PQorCSAgdmVyc3VmZml4PQorCSAgdmVyc3RyaW5nPSIiCisJZmkKKworCSMgQ2hlY2sgdG8gc2Vl
IGlmIHRoZSBhcmNoaXZlIHdpbGwgaGF2ZSB1bmRlZmluZWQgc3ltYm9scy4KKwlpZiB0ZXN0ICIk
YWxsb3dfdW5kZWZpbmVkIiA9IHllczsgdGhlbgorCSAgaWYgdGVzdCAiJGFsbG93X3VuZGVmaW5l
ZF9mbGFnIiA9IHVuc3VwcG9ydGVkOyB0aGVuCisJICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5p
bmc6IHVuZGVmaW5lZCBzeW1ib2xzIG5vdCBhbGxvd2VkIGluICRob3N0IHNoYXJlZCBsaWJyYXJp
ZXMiIDE+JjIKKwkgICAgYnVpbGRfbGlidG9vbF9saWJzPW5vCisJICAgIGJ1aWxkX29sZF9saWJz
PXllcworCSAgZmkKKwllbHNlCisJICAjIERvbid0IGFsbG93IHVuZGVmaW5lZCBzeW1ib2xzLgor
CSAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiRub191bmRlZmluZWRfZmxhZyIKKwlmaQorICAgICAg
ZmkKKworICAgICAgaWYgdGVzdCAiJG1vZGUiICE9IHJlbGluazsgdGhlbgorCSMgUmVtb3ZlIG91
ciBvdXRwdXRzLgorCSRzaG93ICIke3JtfXIgJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUgJG91
dHB1dF9vYmpkaXIvJGxpYm5hbWUuKiAkb3V0cHV0X29iamRpci8ke2xpYm5hbWV9JHtyZWxlYXNl
fS4qIgorCSRydW4gJHtybX1yICRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lICRvdXRwdXRfb2Jq
ZGlyLyRsaWJuYW1lLiogJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfSR7cmVsZWFzZX0uKgorICAg
ICAgZmkKKworICAgICAgIyBOb3cgc2V0IHRoZSB2YXJpYWJsZXMgZm9yIGJ1aWxkaW5nIG9sZCBs
aWJyYXJpZXMuCisgICAgICBpZiB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzICYmIHRlc3Qg
IiRidWlsZF9saWJ0b29sX2xpYnMiICE9IGNvbnZlbmllbmNlIDsgdGhlbgorCW9sZGxpYnM9IiRv
bGRsaWJzICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLiRsaWJleHQiCisKKwkjIFRyYW5zZm9ybSAu
bG8gZmlsZXMgdG8gLm8gZmlsZXMuCisJb2xkb2Jqcz0iJG9ianMgImAkZWNobyAiWCRsaWJvYmpz
IiB8ICRTUDJOTCB8ICRYc2VkIC1lICcvXC4nJHtsaWJleHR9JyQvZCcgLWUgIiRsbzJvIiB8ICRO
TDJTUGAKKyAgICAgIGZpCisKKyAgICAgICMgRWxpbWluYXRlIGFsbCB0ZW1wb3JhcnkgZGlyZWN0
b3JpZXMuCisgICAgICBmb3IgcGF0aCBpbiAkbm90aW5zdF9wYXRoOyBkbworCWxpYl9zZWFyY2hf
cGF0aD1gZWNobyAiJGxpYl9zZWFyY2hfcGF0aCAiIHwgc2VkIC1lICdzJSAkcGF0aCAlICVnJ2AK
KwlkZXBsaWJzPWBlY2hvICIkZGVwbGlicyAiIHwgc2VkIC1lICdzJSAtTCRwYXRoICUgJWcnYAor
CWRlcGVuZGVuY3lfbGlicz1gZWNobyAiJGRlcGVuZGVuY3lfbGlicyAiIHwgc2VkIC1lICdzJSAt
TCRwYXRoICUgJWcnYAorICAgICAgZG9uZQorCisgICAgICBpZiB0ZXN0IC1uICIkeHJwYXRoIjsg
dGhlbgorCSMgSWYgdGhlIHVzZXIgc3BlY2lmaWVkIGFueSBycGF0aCBmbGFncywgdGhlbiBhZGQg
dGhlbS4KKwl0ZW1wX3hycGF0aD0KKwlmb3IgbGliZGlyIGluICR4cnBhdGg7IGRvCisJICB0ZW1w
X3hycGF0aD0iJHRlbXBfeHJwYXRoIC1SJGxpYmRpciIKKwkgIGNhc2UgIiRmaW5hbGl6ZV9ycGF0
aCAiIGluCisJICAqIiAkbGliZGlyICIqKSA7OworCSAgKikgZmluYWxpemVfcnBhdGg9IiRmaW5h
bGl6ZV9ycGF0aCAkbGliZGlyIiA7OworCSAgZXNhYworCWRvbmUKKwlpZiB0ZXN0ICRoYXJkY29k
ZV9pbnRvX2xpYnMgIT0geWVzIHx8IHRlc3QgJGJ1aWxkX29sZF9saWJzID0geWVzOyB0aGVuCisJ
ICBkZXBlbmRlbmN5X2xpYnM9IiR0ZW1wX3hycGF0aCAkZGVwZW5kZW5jeV9saWJzIgorCWZpCisg
ICAgICBmaQorCisgICAgICAjIE1ha2Ugc3VyZSBkbGZpbGVzIGNvbnRhaW5zIG9ubHkgdW5pcXVl
IGZpbGVzIHRoYXQgd29uJ3QgYmUgZGxwcmVvcGVuZWQKKyAgICAgIG9sZF9kbGZpbGVzPSIkZGxm
aWxlcyIKKyAgICAgIGRsZmlsZXM9CisgICAgICBmb3IgbGliIGluICRvbGRfZGxmaWxlczsgZG8K
KwljYXNlICIgJGRscHJlZmlsZXMgJGRsZmlsZXMgIiBpbgorCSoiICRsaWIgIiopIDs7CisJKikg
ZGxmaWxlcz0iJGRsZmlsZXMgJGxpYiIgOzsKKwllc2FjCisgICAgICBkb25lCisKKyAgICAgICMg
TWFrZSBzdXJlIGRscHJlZmlsZXMgY29udGFpbnMgb25seSB1bmlxdWUgZmlsZXMKKyAgICAgIG9s
ZF9kbHByZWZpbGVzPSIkZGxwcmVmaWxlcyIKKyAgICAgIGRscHJlZmlsZXM9CisgICAgICBmb3Ig
bGliIGluICRvbGRfZGxwcmVmaWxlczsgZG8KKwljYXNlICIkZGxwcmVmaWxlcyAiIGluCisJKiIg
JGxpYiAiKikgOzsKKwkqKSBkbHByZWZpbGVzPSIkZGxwcmVmaWxlcyAkbGliIiA7OworCWVzYWMK
KyAgICAgIGRvbmUKKworICAgICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7
IHRoZW4KKwlpZiB0ZXN0IC1uICIkcnBhdGgiOyB0aGVuCisJICBjYXNlICRob3N0IGluCisJICAq
LSotY3lnd2luKiB8ICotKi1taW5ndyogfCAqLSotcHczMiogfCAqLSotb3MyKiB8ICotKi1iZW9z
KikKKwkgICAgIyB0aGVzZSBzeXN0ZW1zIGRvbid0IGFjdHVhbGx5IGhhdmUgYSBjIGxpYnJhcnkg
KGFzIHN1Y2gpIQorCSAgICA7OworCSAgKi0qLXJoYXBzb2R5KiB8ICotKi1kYXJ3aW4xLlswMTJd
KQorCSAgICAjIFJoYXBzb2R5IEMgbGlicmFyeSBpcyBpbiB0aGUgU3lzdGVtIGZyYW1ld29yawor
CSAgICBkZXBsaWJzPSIkZGVwbGlicyAtZnJhbWV3b3JrIFN5c3RlbSIKKwkgICAgOzsKKwkgICot
Ki1uZXRic2QqKQorCSAgICAjIERvbid0IGxpbmsgd2l0aCBsaWJjIHVudGlsIHRoZSBhLm91dCBs
ZC5zbyBpcyBmaXhlZC4KKwkgICAgOzsKKwkgICopCisJICAgICMgQWRkIGxpYmMgdG8gZGVwbGli
cyBvbiBhbGwgb3RoZXIgc3lzdGVtcyBpZiBuZWNlc3NhcnkuCisJICAgIGlmIHRlc3QgIiRidWls
ZF9saWJ0b29sX25lZWRfbGMiID0gInllcyI7IHRoZW4KKwkgICAgICBkZXBsaWJzPSIkZGVwbGli
cyAtbGMiCisJICAgIGZpCisJICAgIDs7CisJICBlc2FjCisJZmkKKworCSMgVHJhbnNmb3JtIGRl
cGxpYnMgaW50byBvbmx5IGRlcGxpYnMgdGhhdCBjYW4gYmUgbGlua2VkIGluIHNoYXJlZC4KKwlu
YW1lX3NhdmU9JG5hbWUKKwlsaWJuYW1lX3NhdmU9JGxpYm5hbWUKKwlyZWxlYXNlX3NhdmU9JHJl
bGVhc2UKKwl2ZXJzdWZmaXhfc2F2ZT0kdmVyc3VmZml4CisJbWFqb3Jfc2F2ZT0kbWFqb3IKKwkj
IEknbSBub3Qgc3VyZSBpZiBJJ20gdHJlYXRpbmcgdGhlIHJlbGVhc2UgY29ycmVjdGx5LiAgSSB0
aGluaworCSMgcmVsZWFzZSBzaG91bGQgc2hvdyB1cCBpbiB0aGUgLWwgKGllIC1sZ21wNSkgc28g
d2UgZG9uJ3Qgd2FudCB0bworCSMgYWRkIGl0IGluIHR3aWNlLiAgSXMgdGhhdCBjb3JyZWN0Pwor
CXJlbGVhc2U9IiIKKwl2ZXJzdWZmaXg9IiIKKwltYWpvcj0iIgorCW5ld2RlcGxpYnM9CisJZHJv
cHBlZGRlcHM9bm8KKwljYXNlICRkZXBsaWJzX2NoZWNrX21ldGhvZCBpbgorCXBhc3NfYWxsKQor
CSAgIyBEb24ndCBjaGVjayBmb3Igc2hhcmVkL3N0YXRpYy4gIEV2ZXJ5dGhpbmcgd29ya3MuCisJ
ICAjIFRoaXMgbWlnaHQgYmUgYSBsaXR0bGUgbmFpdmUuICBXZSBtaWdodCB3YW50IHRvIGNoZWNr
CisJICAjIHdoZXRoZXIgdGhlIGxpYnJhcnkgZXhpc3RzIG9yIG5vdC4gIEJ1dCB0aGlzIGlzIG9u
CisJICAjIG9zZjMgJiBvc2Y0IGFuZCBJJ20gbm90IHJlYWxseSBzdXJlLi4uIEp1c3QKKwkgICMg
aW1wbGVtZW50aW5nIHdoYXQgd2FzIGFscmVhZHkgdGhlIGJlaGF2aW91ci4KKwkgIG5ld2RlcGxp
YnM9JGRlcGxpYnMKKwkgIDs7CisJdGVzdF9jb21waWxlKQorCSAgIyBUaGlzIGNvZGUgc3RyZXNz
ZXMgdGhlICJsaWJyYXJpZXMgYXJlIHByb2dyYW1zIiBwYXJhZGlnbSB0byBpdHMKKwkgICMgbGlt
aXRzLiBNYXliZSBldmVuIGJyZWFrcyBpdC4gIFdlIGNvbXBpbGUgYSBwcm9ncmFtLCBsaW5raW5n
IGl0CisJICAjIGFnYWluc3QgdGhlIGRlcGxpYnMgYXMgYSBwcm94eSBmb3IgdGhlIGxpYnJhcnku
ICBUaGVuIHdlIGNhbiBjaGVjaworCSAgIyB3aGV0aGVyIHRoZXkgbGlua2VkIGluIHN0YXRpY2Fs
bHkgb3IgZHluYW1pY2FsbHkgd2l0aCBsZGQuCisJICAkcm0gY29uZnRlc3QuYworCSAgY2F0ID4g
Y29uZnRlc3QuYyA8PEVPRgorCSAgaW50IG1haW4oKSB7IHJldHVybiAwOyB9CitFT0YKKwkgICRy
bSBjb25mdGVzdAorCSAgJENDIC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgJGRlcGxpYnMKKwkgIGlm
IHRlc3QgJD8gLWVxIDAgOyB0aGVuCisJICAgIGxkZF9vdXRwdXQ9YGxkZCBjb25mdGVzdGAKKwkg
ICAgZm9yIGkgaW4gJGRlcGxpYnM7IGRvCisJICAgICAgbmFtZT0iYGV4cHIgJGkgOiAnLWxcKC4q
XCknYCIKKwkgICAgICAjIElmICRuYW1lIGlzIGVtcHR5IHdlIGFyZSBvcGVyYXRpbmcgb24gYSAt
TCBhcmd1bWVudC4KKwkgICAgICBpZiB0ZXN0IC1uICIkbmFtZSIgJiYgdGVzdCAiJG5hbWUiICE9
ICIwIjsgdGhlbgorCQlsaWJuYW1lPWBldmFsIFxcJGVjaG8gXCIkbGlibmFtZV9zcGVjXCJgCisJ
CWRlcGxpYl9tYXRjaGVzPWBldmFsIFxcJGVjaG8gXCIkbGlicmFyeV9uYW1lc19zcGVjXCJgCisJ
CXNldCBkdW1teSAkZGVwbGliX21hdGNoZXMKKwkJZGVwbGliX21hdGNoPSQyCisJCWlmIHRlc3Qg
YGV4cHIgIiRsZGRfb3V0cHV0IiA6ICIuKiRkZXBsaWJfbWF0Y2giYCAtbmUgMCA7IHRoZW4KKwkJ
ICBuZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkaSIKKwkJZWxzZQorCQkgIGRyb3BwZWRkZXBzPXll
cworCQkgIGVjaG8KKwkJICBlY2hvICIqKiogV2FybmluZzogVGhpcyBsaWJyYXJ5IG5lZWRzIHNv
bWUgZnVuY3Rpb25hbGl0eSBwcm92aWRlZCBieSAkaS4iCisJCSAgZWNobyAiKioqIEkgaGF2ZSB0
aGUgY2FwYWJpbGl0eSB0byBtYWtlIHRoYXQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4g
d2hlbiIKKwkJICBlY2hvICIqKiogeW91IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0IEkgY2Fu
IG9ubHkgZG8gdGhpcyBpZiB5b3UgaGF2ZSBhIgorCQkgIGVjaG8gIioqKiBzaGFyZWQgdmVyc2lv
biBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRvIG5vdCBhcHBlYXIgdG8gaGF2ZS4iCisJCWZp
CisJICAgICAgZWxzZQorCQluZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkaSIKKwkgICAgICBmaQor
CSAgICBkb25lCisJICBlbHNlCisJICAgICMgRXJyb3Igb2NjdXJlZCBpbiB0aGUgZmlyc3QgY29t
cGlsZS4gIExldCdzIHRyeSB0byBzYWx2YWdlIHRoZSBzaXR1YXRpb246CisJICAgICMgQ29tcGls
ZSBhIHNlcGVyYXRlIHByb2dyYW0gZm9yIGVhY2ggbGlicmFyeS4KKwkgICAgZm9yIGkgaW4gJGRl
cGxpYnM7IGRvCisJICAgICAgbmFtZT0iYGV4cHIgJGkgOiAnLWxcKC4qXCknYCIKKwkgICAgICMg
SWYgJG5hbWUgaXMgZW1wdHkgd2UgYXJlIG9wZXJhdGluZyBvbiBhIC1MIGFyZ3VtZW50LgorCSAg
ICAgIGlmIHRlc3QgLW4gIiRuYW1lIiAmJiB0ZXN0ICIkbmFtZSIgIT0gIjAiOyB0aGVuCisJCSRy
bSBjb25mdGVzdAorCQkkQ0MgLW8gY29uZnRlc3QgY29uZnRlc3QuYyAkaQorCQkjIERpZCBpdCB3
b3JrPworCQlpZiB0ZXN0ICQ/IC1lcSAwIDsgdGhlbgorCQkgIGxkZF9vdXRwdXQ9YGxkZCBjb25m
dGVzdGAKKwkJICBsaWJuYW1lPWBldmFsIFxcJGVjaG8gXCIkbGlibmFtZV9zcGVjXCJgCisJCSAg
ZGVwbGliX21hdGNoZXM9YGV2YWwgXFwkZWNobyBcIiRsaWJyYXJ5X25hbWVzX3NwZWNcImAKKwkJ
ICBzZXQgZHVtbXkgJGRlcGxpYl9tYXRjaGVzCisJCSAgZGVwbGliX21hdGNoPSQyCisJCSAgaWYg
dGVzdCBgZXhwciAiJGxkZF9vdXRwdXQiIDogIi4qJGRlcGxpYl9tYXRjaCJgIC1uZSAwIDsgdGhl
bgorCQkgICAgbmV3ZGVwbGlicz0iJG5ld2RlcGxpYnMgJGkiCisJCSAgZWxzZQorCQkgICAgZHJv
cHBlZGRlcHM9eWVzCisJCSAgICBlY2hvCisJCSAgICBlY2hvICIqKiogV2FybmluZzogVGhpcyBs
aWJyYXJ5IG5lZWRzIHNvbWUgZnVuY3Rpb25hbGl0eSBwcm92aWRlZCBieSAkaS4iCisJCSAgICBl
Y2hvICIqKiogSSBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIG1ha2UgdGhhdCBsaWJyYXJ5IGF1dG9t
YXRpY2FsbHkgbGluayBpbiB3aGVuIgorCQkgICAgZWNobyAiKioqIHlvdSBsaW5rIHRvIHRoaXMg
bGlicmFyeS4gIEJ1dCBJIGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKKwkJICAgIGVj
aG8gIioqKiBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRvIG5vdCBh
cHBlYXIgdG8gaGF2ZS4iCisJCSAgZmkKKwkJZWxzZQorCQkgIGRyb3BwZWRkZXBzPXllcworCQkg
IGVjaG8KKwkJICBlY2hvICIqKiogV2FybmluZyEgIExpYnJhcnkgJGkgaXMgbmVlZGVkIGJ5IHRo
aXMgbGlicmFyeSBidXQgSSB3YXMgbm90IGFibGUgdG8iCisJCSAgZWNobyAiKioqICBtYWtlIGl0
IGxpbmsgaW4hICBZb3Ugd2lsbCBwcm9iYWJseSBuZWVkIHRvIGluc3RhbGwgaXQgb3Igc29tZSIK
KwkJICBlY2hvICIqKiogbGlicmFyeSB0aGF0IGl0IGRlcGVuZHMgb24gYmVmb3JlIHRoaXMgbGli
cmFyeSB3aWxsIGJlIGZ1bGx5IgorCQkgIGVjaG8gIioqKiBmdW5jdGlvbmFsLiAgSW5zdGFsbGlu
ZyBpdCBiZWZvcmUgY29udGludWluZyB3b3VsZCBiZSBldmVuIGJldHRlci4iCisJCWZpCisJICAg
ICAgZWxzZQorCQluZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkaSIKKwkgICAgICBmaQorCSAgICBk
b25lCisJICBmaQorCSAgOzsKKwlmaWxlX21hZ2ljKikKKwkgIHNldCBkdW1teSAkZGVwbGlic19j
aGVja19tZXRob2QKKwkgIGZpbGVfbWFnaWNfcmVnZXg9YGV4cHIgIiRkZXBsaWJzX2NoZWNrX21l
dGhvZCIgOiAiJDIgXCguKlwpImAKKwkgIGZvciBhX2RlcGxpYiBpbiAkZGVwbGliczsgZG8KKwkg
ICAgbmFtZT0iYGV4cHIgJGFfZGVwbGliIDogJy1sXCguKlwpJ2AiCisJICAgICMgSWYgJG5hbWUg
aXMgZW1wdHkgd2UgYXJlIG9wZXJhdGluZyBvbiBhIC1MIGFyZ3VtZW50LgorCSAgICBpZiB0ZXN0
IC1uICIkbmFtZSIgJiYgdGVzdCAiJG5hbWUiICE9ICIwIjsgdGhlbgorCSAgICAgIGxpYm5hbWU9
YGV2YWwgXFwkZWNobyBcIiRsaWJuYW1lX3NwZWNcImAKKwkgICAgICBmb3IgaSBpbiAkbGliX3Nl
YXJjaF9wYXRoICRzeXNfbGliX3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0aDsgZG8KKwkJ
ICAgIHBvdGVudGlhbF9saWJzPWBscyAkaS8kbGlibmFtZVsuLV0qIDI+L2Rldi9udWxsYAorCQkg
ICAgZm9yIHBvdGVudF9saWIgaW4gJHBvdGVudGlhbF9saWJzOyBkbworCQkgICAgICAjIEZvbGxv
dyBzb2Z0IGxpbmtzLgorCQkgICAgICBpZiBscyAtbExkICIkcG90ZW50X2xpYiIgMj4vZGV2L251
bGwgXAorCQkJIHwgZ3JlcCAiIC0+ICIgPi9kZXYvbnVsbDsgdGhlbgorCQkJY29udGludWUKKwkJ
ICAgICAgZmkKKwkJICAgICAgIyBUaGUgc3RhdGVtZW50IGFib3ZlIHRyaWVzIHRvIGF2b2lkIGVu
dGVyaW5nIGFuCisJCSAgICAgICMgZW5kbGVzcyBsb29wIGJlbG93LCBpbiBjYXNlIG9mIGN5Y2xp
YyBsaW5rcy4KKwkJICAgICAgIyBXZSBtaWdodCBzdGlsbCBlbnRlciBhbiBlbmRsZXNzIGxvb3As
IHNpbmNlIGEgbGluaworCQkgICAgICAjIGxvb3AgY2FuIGJlIGNsb3NlZCB3aGlsZSB3ZSBmb2xs
b3cgbGlua3MsCisJCSAgICAgICMgYnV0IHNvIHdoYXQ/CisJCSAgICAgIHBvdGxpYj0iJHBvdGVu
dF9saWIiCisJCSAgICAgIHdoaWxlIHRlc3QgLWggIiRwb3RsaWIiIDI+L2Rldi9udWxsOyBkbwor
CQkJcG90bGlibGluaz1gbHMgLWxkICRwb3RsaWIgfCBzZWQgJ3MvLiogLT4gLy8nYAorCQkJY2Fz
ZSAkcG90bGlibGluayBpbgorCQkJW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSBwb3RsaWI9IiRw
b3RsaWJsaW5rIjs7CisJCQkqKSBwb3RsaWI9YCRlY2hvICJYJHBvdGxpYiIgfCAkWHNlZCAtZSAn
cyxbXi9dKiQsLCdgIiRwb3RsaWJsaW5rIjs7CisJCQllc2FjCisJCSAgICAgIGRvbmUKKwkJICAg
ICAgaWYgZXZhbCAkZmlsZV9tYWdpY19jbWQgXCJcJHBvdGxpYlwiIDI+L2Rldi9udWxsIFwKKwkJ
CSB8IHNlZCAxMHEgXAorCQkJIHwgZWdyZXAgIiRmaWxlX21hZ2ljX3JlZ2V4IiA+IC9kZXYvbnVs
bDsgdGhlbgorCQkJbmV3ZGVwbGlicz0iJG5ld2RlcGxpYnMgJGFfZGVwbGliIgorCQkJYV9kZXBs
aWI9IiIKKwkJCWJyZWFrIDIKKwkJICAgICAgZmkKKwkJICAgIGRvbmUKKwkgICAgICBkb25lCisJ
ICAgICAgaWYgdGVzdCAtbiAiJGFfZGVwbGliIiA7IHRoZW4KKwkJZHJvcHBlZGRlcHM9eWVzCisJ
CWVjaG8KKwkJZWNobyAiKioqIFdhcm5pbmc6IFRoaXMgbGlicmFyeSBuZWVkcyBzb21lIGZ1bmN0
aW9uYWxpdHkgcHJvdmlkZWQgYnkgJGFfZGVwbGliLiIKKwkJZWNobyAiKioqIEkgaGF2ZSB0aGUg
Y2FwYWJpbGl0eSB0byBtYWtlIHRoYXQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hl
biIKKwkJZWNobyAiKioqIHlvdSBsaW5rIHRvIHRoaXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBvbmx5
IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKKwkJZWNobyAiKioqIHNoYXJlZCB2ZXJzaW9uIG9mIHRo
ZSBsaWJyYXJ5LCB3aGljaCB5b3UgZG8gbm90IGFwcGVhciB0byBoYXZlLiIKKwkgICAgICBmaQor
CSAgICBlbHNlCisJICAgICAgIyBBZGQgYSAtTCBhcmd1bWVudC4KKwkgICAgICBuZXdkZXBsaWJz
PSIkbmV3ZGVwbGlicyAkYV9kZXBsaWIiCisJICAgIGZpCisJICBkb25lICMgR29uZSB0aHJvdWdo
IGFsbCBkZXBsaWJzLgorCSAgOzsKKwltYXRjaF9wYXR0ZXJuKikKKwkgIHNldCBkdW1teSAkZGVw
bGlic19jaGVja19tZXRob2QKKwkgIG1hdGNoX3BhdHRlcm5fcmVnZXg9YGV4cHIgIiRkZXBsaWJz
X2NoZWNrX21ldGhvZCIgOiAiJDIgXCguKlwpImAKKwkgIGZvciBhX2RlcGxpYiBpbiAkZGVwbGli
czsgZG8KKwkgICAgbmFtZT0iYGV4cHIgJGFfZGVwbGliIDogJy1sXCguKlwpJ2AiCisJICAgICMg
SWYgJG5hbWUgaXMgZW1wdHkgd2UgYXJlIG9wZXJhdGluZyBvbiBhIC1MIGFyZ3VtZW50LgorCSAg
ICBpZiB0ZXN0IC1uICIkbmFtZSIgJiYgdGVzdCAiJG5hbWUiICE9ICIwIjsgdGhlbgorCSAgICAg
IGxpYm5hbWU9YGV2YWwgXFwkZWNobyBcIiRsaWJuYW1lX3NwZWNcImAKKwkgICAgICBmb3IgaSBp
biAkbGliX3NlYXJjaF9wYXRoICRzeXNfbGliX3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0
aDsgZG8KKwkJcG90ZW50aWFsX2xpYnM9YGxzICRpLyRsaWJuYW1lWy4tXSogMj4vZGV2L251bGxg
CisJCWZvciBwb3RlbnRfbGliIGluICRwb3RlbnRpYWxfbGliczsgZG8KKwkJICBpZiBldmFsIGVj
aG8gXCIkcG90ZW50X2xpYlwiIDI+L2Rldi9udWxsIFwKKwkJICAgICAgfCBzZWQgMTBxIFwKKwkJ
ICAgICAgfCBlZ3JlcCAiJG1hdGNoX3BhdHRlcm5fcmVnZXgiID4gL2Rldi9udWxsOyB0aGVuCisJ
CSAgICBuZXdkZXBsaWJzPSIkbmV3ZGVwbGlicyAkYV9kZXBsaWIiCisJCSAgICBhX2RlcGxpYj0i
IgorCQkgICAgYnJlYWsgMgorCQkgIGZpCisJCWRvbmUKKwkgICAgICBkb25lCisJICAgICAgaWYg
dGVzdCAtbiAiJGFfZGVwbGliIiA7IHRoZW4KKwkJZHJvcHBlZGRlcHM9eWVzCisJCWVjaG8KKwkJ
ZWNobyAiKioqIFdhcm5pbmc6IFRoaXMgbGlicmFyeSBuZWVkcyBzb21lIGZ1bmN0aW9uYWxpdHkg
cHJvdmlkZWQgYnkgJGFfZGVwbGliLiIKKwkJZWNobyAiKioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0
eSB0byBtYWtlIHRoYXQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIKKwkJZWNo
byAiKioqIHlvdSBsaW5rIHRvIHRoaXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBvbmx5IGRvIHRoaXMg
aWYgeW91IGhhdmUgYSIKKwkJZWNobyAiKioqIHNoYXJlZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5
LCB3aGljaCB5b3UgZG8gbm90IGFwcGVhciB0byBoYXZlLiIKKwkgICAgICBmaQorCSAgICBlbHNl
CisJICAgICAgIyBBZGQgYSAtTCBhcmd1bWVudC4KKwkgICAgICBuZXdkZXBsaWJzPSIkbmV3ZGVw
bGlicyAkYV9kZXBsaWIiCisJICAgIGZpCisJICBkb25lICMgR29uZSB0aHJvdWdoIGFsbCBkZXBs
aWJzLgorCSAgOzsKKwlub25lIHwgdW5rbm93biB8ICopCisJICBuZXdkZXBsaWJzPSIiCisJICBp
ZiAkZWNobyAiWCAkZGVwbGlicyIgfCAkWHNlZCAtZSAncy8gLWxjJC8vJyBcCisJICAgICAgIC1l
ICdzLyAtW0xSXVteIF0qLy9nJyAtZSAncy9bIAldLy9nJyB8CisJICAgICBncmVwIC4gPi9kZXYv
bnVsbDsgdGhlbgorCSAgICBlY2hvCisJICAgIGlmIHRlc3QgIlgkZGVwbGlic19jaGVja19tZXRo
b2QiID0gIlhub25lIjsgdGhlbgorCSAgICAgIGVjaG8gIioqKiBXYXJuaW5nOiBpbnRlci1saWJy
YXJ5IGRlcGVuZGVuY2llcyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGlzIHBsYXRmb3JtLiIKKwkg
ICAgZWxzZQorCSAgICAgIGVjaG8gIioqKiBXYXJuaW5nOiBpbnRlci1saWJyYXJ5IGRlcGVuZGVu
Y2llcyBhcmUgbm90IGtub3duIHRvIGJlIHN1cHBvcnRlZC4iCisJICAgIGZpCisJICAgIGVjaG8g
IioqKiBBbGwgZGVjbGFyZWQgaW50ZXItbGlicmFyeSBkZXBlbmRlbmNpZXMgYXJlIGJlaW5nIGRy
b3BwZWQuIgorCSAgICBkcm9wcGVkZGVwcz15ZXMKKwkgIGZpCisJICA7OworCWVzYWMKKwl2ZXJz
dWZmaXg9JHZlcnN1ZmZpeF9zYXZlCisJbWFqb3I9JG1ham9yX3NhdmUKKwlyZWxlYXNlPSRyZWxl
YXNlX3NhdmUKKwlsaWJuYW1lPSRsaWJuYW1lX3NhdmUKKwluYW1lPSRuYW1lX3NhdmUKKworCWNh
c2UgJGhvc3QgaW4KKwkqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAxMl0pCisJICAjIE9u
IFJoYXBzb2R5IHJlcGxhY2UgdGhlIEMgbGlicmFyeSBpcyB0aGUgU3lzdGVtIGZyYW1ld29yawor
CSAgbmV3ZGVwbGlicz1gJGVjaG8gIlggJG5ld2RlcGxpYnMiIHwgJFhzZWQgLWUgJ3MvIC1sYyAv
IC1mcmFtZXdvcmsgU3lzdGVtIC8nYAorCSAgOzsKKwllc2FjCisKKwlpZiB0ZXN0ICIkZHJvcHBl
ZGRlcHMiID0geWVzOyB0aGVuCisJICBpZiB0ZXN0ICIkbW9kdWxlIiA9IHllczsgdGhlbgorCSAg
ICBlY2hvCisJICAgIGVjaG8gIioqKiBXYXJuaW5nOiBsaWJ0b29sIGNvdWxkIG5vdCBzYXRpc2Z5
IGFsbCBkZWNsYXJlZCBpbnRlci1saWJyYXJ5IgorCSAgICBlY2hvICIqKiogZGVwZW5kZW5jaWVz
IG9mIG1vZHVsZSAkbGlibmFtZS4gIFRoZXJlZm9yZSwgbGlidG9vbCB3aWxsIGNyZWF0ZSIKKwkg
ICAgZWNobyAiKioqIGEgc3RhdGljIG1vZHVsZSwgdGhhdCBzaG91bGQgd29yayBhcyBsb25nIGFz
IHRoZSBkbG9wZW5pbmciCisJICAgIGVjaG8gIioqKiBhcHBsaWNhdGlvbiBpcyBsaW5rZWQgd2l0
aCB0aGUgLWRsb3BlbiBmbGFnLiIKKwkgICAgaWYgdGVzdCAteiAiJGdsb2JhbF9zeW1ib2xfcGlw
ZSI7IHRoZW4KKwkgICAgICBlY2hvCisJICAgICAgZWNobyAiKioqIEhvd2V2ZXIsIHRoaXMgd291
bGQgb25seSB3b3JrIGlmIGxpYnRvb2wgd2FzIGFibGUgdG8gZXh0cmFjdCBzeW1ib2wiCisJICAg
ICAgZWNobyAiKioqIGxpc3RzIGZyb20gYSBwcm9ncmFtLCB1c2luZyBcYG5tJyBvciBlcXVpdmFs
ZW50LCBidXQgbGlidG9vbCBjb3VsZCIKKwkgICAgICBlY2hvICIqKiogbm90IGZpbmQgc3VjaCBh
IHByb2dyYW0uICBTbywgdGhpcyBtb2R1bGUgaXMgcHJvYmFibHkgdXNlbGVzcy4iCisJICAgICAg
ZWNobyAiKioqIFxgbm0nIGZyb20gR05VIGJpbnV0aWxzIGFuZCBhIGZ1bGwgcmVidWlsZCBtYXkg
aGVscC4iCisJICAgIGZpCisJICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSBubzsgdGhl
bgorCSAgICAgIG9sZGxpYnM9IiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLiRsaWJleHQiCisJICAg
ICAgYnVpbGRfbGlidG9vbF9saWJzPW1vZHVsZQorCSAgICAgIGJ1aWxkX29sZF9saWJzPXllcwor
CSAgICBlbHNlCisJICAgICAgYnVpbGRfbGlidG9vbF9saWJzPW5vCisJICAgIGZpCisJICBlbHNl
CisJICAgIGVjaG8gIioqKiBUaGUgaW50ZXItbGlicmFyeSBkZXBlbmRlbmNpZXMgdGhhdCBoYXZl
IGJlZW4gZHJvcHBlZCBoZXJlIHdpbGwgYmUiCisJICAgIGVjaG8gIioqKiBhdXRvbWF0aWNhbGx5
IGFkZGVkIHdoZW5ldmVyIGEgcHJvZ3JhbSBpcyBsaW5rZWQgd2l0aCB0aGlzIGxpYnJhcnkiCisJ
ICAgIGVjaG8gIioqKiBvciBpcyBkZWNsYXJlZCB0byAtZGxvcGVuIGl0LiIKKworCSAgICBpZiB0
ZXN0ICRhbGxvd191bmRlZmluZWQgPSBubzsgdGhlbgorCSAgICAgIGVjaG8KKwkgICAgICBlY2hv
ICIqKiogU2luY2UgdGhpcyBsaWJyYXJ5IG11c3Qgbm90IGNvbnRhaW4gdW5kZWZpbmVkIHN5bWJv
bHMsIgorCSAgICAgIGVjaG8gIioqKiBiZWNhdXNlIGVpdGhlciB0aGUgcGxhdGZvcm0gZG9lcyBu
b3Qgc3VwcG9ydCB0aGVtIG9yIgorCSAgICAgIGVjaG8gIioqKiBpdCB3YXMgZXhwbGljaXRseSBy
ZXF1ZXN0ZWQgd2l0aCAtbm8tdW5kZWZpbmVkLCIKKwkgICAgICBlY2hvICIqKiogbGlidG9vbCB3
aWxsIG9ubHkgY3JlYXRlIGEgc3RhdGljIHZlcnNpb24gb2YgaXQuIgorCSAgICAgIGlmIHRlc3Qg
IiRidWlsZF9vbGRfbGlicyIgPSBubzsgdGhlbgorCQlvbGRsaWJzPSIkb3V0cHV0X29iamRpci8k
bGlibmFtZS4kbGliZXh0IgorCQlidWlsZF9saWJ0b29sX2xpYnM9bW9kdWxlCisJCWJ1aWxkX29s
ZF9saWJzPXllcworCSAgICAgIGVsc2UKKwkJYnVpbGRfbGlidG9vbF9saWJzPW5vCisJICAgICAg
ZmkKKwkgICAgZmkKKwkgIGZpCisJZmkKKwkjIERvbmUgY2hlY2tpbmcgZGVwbGlicyEKKwlkZXBs
aWJzPSRuZXdkZXBsaWJzCisgICAgICBmaQorCisgICAgICAjIEFsbCB0aGUgbGlicmFyeS1zcGVj
aWZpYyB2YXJpYWJsZXMgKGluc3RhbGxfbGliZGlyIGlzIHNldCBhYm92ZSkuCisgICAgICBsaWJy
YXJ5X25hbWVzPQorICAgICAgb2xkX2xpYnJhcnk9CisgICAgICBkbG5hbWU9CisKKyAgICAgICMg
VGVzdCBhZ2Fpbiwgd2UgbWF5IGhhdmUgZGVjaWRlZCBub3QgdG8gYnVpbGQgaXQgYW55IG1vcmUK
KyAgICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCisJaWYgdGVz
dCAiJGhhcmRjb2RlX2ludG9fbGlicyIgPSB5ZXM7IHRoZW4KKwkgICMgSGFyZGNvZGUgdGhlIGxp
YnJhcnkgcGF0aHMKKwkgIGhhcmRjb2RlX2xpYmRpcnM9CisJICBkZXBfcnBhdGg9CisJICBycGF0
aD0iJGZpbmFsaXplX3JwYXRoIgorCSAgdGVzdCAiJG1vZGUiICE9IHJlbGluayAmJiBycGF0aD0i
JGNvbXBpbGVfcnBhdGgkcnBhdGgiCisJICBmb3IgbGliZGlyIGluICRycGF0aDsgZG8KKwkgICAg
aWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCisJICAgICAgaWYg
dGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCisJCWlmIHRlc3QgLXog
IiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgorCQkgIGhhcmRjb2RlX2xpYmRpcnM9IiRsaWJkaXIi
CisJCWVsc2UKKwkJICAjIEp1c3QgYWNjdW11bGF0ZSB0aGUgdW5pcXVlIGxpYmRpcnMuCisJCSAg
Y2FzZSAkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRoYXJkY29kZV9saWJkaXJzJGhhcmRjb2Rl
X2xpYmRpcl9zZXBhcmF0b3IgaW4KKwkJICAqIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yJGxp
YmRpciRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIiopCisJCSAgICA7OworCQkgICopCisJCSAg
ICBoYXJkY29kZV9saWJkaXJzPSIkaGFyZGNvZGVfbGliZGlycyRoYXJkY29kZV9saWJkaXJfc2Vw
YXJhdG9yJGxpYmRpciIKKwkJICAgIDs7CisJCSAgZXNhYworCQlmaQorCSAgICAgIGVsc2UKKwkJ
ZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgorCQlkZXBfcnBhdGg9IiRk
ZXBfcnBhdGggJGZsYWciCisJICAgICAgZmkKKwkgICAgZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92
YXIiOyB0aGVuCisJICAgICAgY2FzZSAiJHBlcm1fcnBhdGggIiBpbgorCSAgICAgICoiICRsaWJk
aXIgIiopIDs7CisJICAgICAgKikgcGVybV9ycGF0aD0iJHBlcm1fcnBhdGggJGxpYmRpciIgOzsK
KwkgICAgICBlc2FjCisJICAgIGZpCisJICBkb25lCisJICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRj
b2RlZCBsaWJkaXJzIGludG8gdGhlIHJwYXRoLgorCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xp
YmRpcl9zZXBhcmF0b3IiICYmCisJICAgICB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlycyI7IHRo
ZW4KKwkgICAgbGliZGlyPSIkaGFyZGNvZGVfbGliZGlycyIKKwkgICAgZXZhbCBkZXBfcnBhdGg9
XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCisJICBmaQorCSAgaWYgdGVzdCAtbiAiJHJ1
bnBhdGhfdmFyIiAmJiB0ZXN0IC1uICIkcGVybV9ycGF0aCI7IHRoZW4KKwkgICAgIyBXZSBzaG91
bGQgc2V0IHRoZSBydW5wYXRoX3Zhci4KKwkgICAgcnBhdGg9CisJICAgIGZvciBkaXIgaW4gJHBl
cm1fcnBhdGg7IGRvCisJICAgICAgcnBhdGg9IiRycGF0aCRkaXI6IgorCSAgICBkb25lCisJICAg
IGV2YWwgIiRydW5wYXRoX3Zhcj0nJHJwYXRoXCQkcnVucGF0aF92YXInOyBleHBvcnQgJHJ1bnBh
dGhfdmFyIgorCSAgZmkKKwkgIHRlc3QgLW4gIiRkZXBfcnBhdGgiICYmIGRlcGxpYnM9IiRkZXBf
cnBhdGggJGRlcGxpYnMiCisJZmkKKworCXNobGlicGF0aD0iJGZpbmFsaXplX3NobGlicGF0aCIK
Kwl0ZXN0ICIkbW9kZSIgIT0gcmVsaW5rICYmIHNobGlicGF0aD0iJGNvbXBpbGVfc2hsaWJwYXRo
JHNobGlicGF0aCIKKwlpZiB0ZXN0IC1uICIkc2hsaWJwYXRoIjsgdGhlbgorCSAgZXZhbCAiJHNo
bGlicGF0aF92YXI9JyRzaGxpYnBhdGhcJCRzaGxpYnBhdGhfdmFyJzsgZXhwb3J0ICRzaGxpYnBh
dGhfdmFyIgorCWZpCisKKwkjIEdldCB0aGUgcmVhbCBhbmQgbGluayBuYW1lcyBvZiB0aGUgbGli
cmFyeS4KKwlldmFsIGxpYnJhcnlfbmFtZXM9XCIkbGlicmFyeV9uYW1lc19zcGVjXCIKKwlzZXQg
ZHVtbXkgJGxpYnJhcnlfbmFtZXMKKwlyZWFsbmFtZT0iJDIiCisJc2hpZnQ7IHNoaWZ0CisKKwlp
ZiB0ZXN0IC1uICIkc29uYW1lX3NwZWMiOyB0aGVuCisJICBldmFsIHNvbmFtZT1cIiRzb25hbWVf
c3BlY1wiCisJZWxzZQorCSAgc29uYW1lPSIkcmVhbG5hbWUiCisJZmkKKwl0ZXN0IC16ICIkZGxu
YW1lIiAmJiBkbG5hbWU9JHNvbmFtZQorCisJbGliPSIkb3V0cHV0X29iamRpci8kcmVhbG5hbWUi
CisJZm9yIGxpbmsKKwlkbworCSAgbGlua25hbWVzPSIkbGlua25hbWVzICRsaW5rIgorCWRvbmUK
KworCSMgRW5zdXJlIHRoYXQgd2UgaGF2ZSAubyBvYmplY3RzIGZvciBsaW5rZXJzIHdoaWNoIGRp
c2xpa2UgLmxvCisJIyAoZS5nLiBhaXgpIGluIGNhc2Ugd2UgYXJlIHJ1bm5pbmcgLS1kaXNhYmxl
LXN0YXRpYworCWZvciBvYmogaW4gJGxpYm9ianM7IGRvCisJICB4ZGlyPWAkZWNobyAiWCRvYmoi
IHwgJFhzZWQgLWUgJ3MlL1teL10qJCUlJ2AKKwkgIGlmIHRlc3QgIlgkeGRpciIgPSAiWCRvYmoi
OyB0aGVuCisJICAgIHhkaXI9Ii4iCisJICBlbHNlCisJICAgIHhkaXI9IiR4ZGlyIgorCSAgZmkK
KwkgIGJhc2VvYmo9YCRlY2hvICJYJG9iaiIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAorCSAgb2xk
b2JqPWAkZWNobyAiWCRiYXNlb2JqIiB8ICRYc2VkIC1lICIkbG8ybyJgCisJICBpZiB0ZXN0ICEg
LWYgJHhkaXIvJG9sZG9iajsgdGhlbgorCSAgICAkc2hvdyAiKGNkICR4ZGlyICYmICR7TE5fU30g
JGJhc2VvYmogJG9sZG9iaikiCisJICAgICRydW4gZXZhbCAnKGNkICR4ZGlyICYmICR7TE5fU30g
JGJhc2VvYmogJG9sZG9iaiknIHx8IGV4aXQgJD8KKwkgIGZpCisJZG9uZQorCisJIyBVc2Ugc3Rh
bmRhcmQgb2JqZWN0cyBpZiB0aGV5IGFyZSBwaWMKKwl0ZXN0IC16ICIkcGljX2ZsYWciICYmIGxp
Ym9ianM9YCRlY2hvICJYJGxpYm9ianMiIHwgJFNQMk5MIHwgJFhzZWQgLWUgIiRsbzJvIiB8ICRO
TDJTUGAKKworCSMgUHJlcGFyZSB0aGUgbGlzdCBvZiBleHBvcnRlZCBzeW1ib2xzCisJaWYgdGVz
dCAteiAiJGV4cG9ydF9zeW1ib2xzIjsgdGhlbgorCSAgaWYgdGVzdCAiJGFsd2F5c19leHBvcnRf
c3ltYm9scyIgPSB5ZXMgfHwgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzX3JlZ2V4IjsgdGhlbgor
CSAgICAkc2hvdyAiZ2VuZXJhdGluZyBzeW1ib2wgbGlzdCBmb3IgXGAkbGlibmFtZS5sYSciCisJ
ICAgIGV4cG9ydF9zeW1ib2xzPSIkb3V0cHV0X29iamRpci8kbGlibmFtZS5leHAiCisJICAgICRy
dW4gJHJtICRleHBvcnRfc3ltYm9scworCSAgICBldmFsIGNtZHM9XCIkZXhwb3J0X3N5bWJvbHNf
Y21kc1wiCisJICAgIElGUz0iJHtJRlM9IAl9Ijsgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCisJ
ICAgIGZvciBjbWQgaW4gJGNtZHM7IGRvCisJICAgICAgSUZTPSIkc2F2ZV9pZnMiCisJICAgICAg
JHNob3cgIiRjbWQiCisJICAgICAgJHJ1biBldmFsICIkY21kIiB8fCBleGl0ICQ/CisJICAgIGRv
bmUKKwkgICAgSUZTPSIkc2F2ZV9pZnMiCisJICAgIGlmIHRlc3QgLW4gIiRleHBvcnRfc3ltYm9s
c19yZWdleCI7IHRoZW4KKwkgICAgICAkc2hvdyAiZWdyZXAgLWUgXCIkZXhwb3J0X3N5bWJvbHNf
cmVnZXhcIiBcIiRleHBvcnRfc3ltYm9sc1wiID4gXCIke2V4cG9ydF9zeW1ib2xzfVRcIiIKKwkg
ICAgICAkcnVuIGV2YWwgJ2VncmVwIC1lICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgiICIkZXhwb3J0
X3N5bWJvbHMiID4gIiR7ZXhwb3J0X3N5bWJvbHN9VCInCisJICAgICAgJHNob3cgIiRtdiBcIiR7
ZXhwb3J0X3N5bWJvbHN9VFwiIFwiJGV4cG9ydF9zeW1ib2xzXCIiCisJICAgICAgJHJ1biBldmFs
ICckbXYgIiR7ZXhwb3J0X3N5bWJvbHN9VCIgIiRleHBvcnRfc3ltYm9scyInCisJICAgIGZpCisJ
ICBmaQorCWZpCisKKwlpZiB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRp
bmNsdWRlX2V4cHN5bXMiOyB0aGVuCisJICAkcnVuIGV2YWwgJyRlY2hvICJYJGluY2x1ZGVfZXhw
c3ltcyIgfCAkU1AyTkwgPj4gIiRleHBvcnRfc3ltYm9scyInCisJZmkKKworCWlmIHRlc3QgLW4g
IiRjb252ZW5pZW5jZSI7IHRoZW4KKwkgIGlmIHRlc3QgLW4gIiR3aG9sZV9hcmNoaXZlX2ZsYWdf
c3BlYyI7IHRoZW4KKwkgICAgZXZhbCBsaWJvYmpzPVwiXCRsaWJvYmpzICR3aG9sZV9hcmNoaXZl
X2ZsYWdfc3BlY1wiCisJICBlbHNlCisJICAgIGdlbnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvdXRw
dXRuYW1lfXgiCisJICAgICRzaG93ICIke3JtfXIgJGdlbnRvcCIKKwkgICAgJHJ1biAke3JtfXIg
IiRnZW50b3AiCisJICAgICRzaG93ICJta2RpciAkZ2VudG9wIgorCSAgICAkcnVuIG1rZGlyICIk
Z2VudG9wIgorCSAgICBzdGF0dXM9JD8KKwkgICAgaWYgdGVzdCAkc3RhdHVzIC1uZSAwICYmIHRl
c3QgISAtZCAiJGdlbnRvcCI7IHRoZW4KKwkgICAgICBleGl0ICRzdGF0dXMKKwkgICAgZmkKKwkg
ICAgZ2VuZXJhdGVkPSIkZ2VuZXJhdGVkICRnZW50b3AiCisKKwkgICAgZm9yIHhsaWIgaW4gJGNv
bnZlbmllbmNlOyBkbworCSAgICAgICMgRXh0cmFjdCB0aGUgb2JqZWN0cy4KKwkgICAgICBjYXNl
ICR4bGliIGluCisJICAgICAgW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSB4YWJzPSIkeGxpYiIg
OzsKKwkgICAgICAqKSB4YWJzPWBwd2RgIi8keGxpYiIgOzsKKwkgICAgICBlc2FjCisJICAgICAg
eGxpYj1gJGVjaG8gIlgkeGxpYiIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAorCSAgICAgIHhkaXI9
IiRnZW50b3AvJHhsaWIiCisKKwkgICAgICAkc2hvdyAiJHtybX1yICR4ZGlyIgorCSAgICAgICRy
dW4gJHtybX1yICIkeGRpciIKKwkgICAgICAkc2hvdyAibWtkaXIgJHhkaXIiCisJICAgICAgJHJ1
biBta2RpciAiJHhkaXIiCisJICAgICAgc3RhdHVzPSQ/CisJICAgICAgaWYgdGVzdCAkc3RhdHVz
IC1uZSAwICYmIHRlc3QgISAtZCAiJHhkaXIiOyB0aGVuCisJCWV4aXQgJHN0YXR1cworCSAgICAg
IGZpCisJICAgICAgJHNob3cgIihjZCAkeGRpciAmJiAkQVIgeCAkeGFicykiCisJICAgICAgJHJ1
biBldmFsICIoY2QgXCR4ZGlyICYmICRBUiB4IFwkeGFicykiIHx8IGV4aXQgJD8KKworCSAgICAg
IGxpYm9ianM9IiRsaWJvYmpzICJgZmluZCAkeGRpciAtbmFtZSBcKi5vIC1wcmludCAtbyAtbmFt
ZSBcKi5sbyAtcHJpbnQgfCAkTkwyU1BgCisJICAgIGRvbmUKKwkgIGZpCisJZmkKKworCWlmIHRl
c3QgIiR0aHJlYWRfc2FmZSIgPSB5ZXMgJiYgdGVzdCAtbiAiJHRocmVhZF9zYWZlX2ZsYWdfc3Bl
YyI7IHRoZW4KKwkgIGV2YWwgZmxhZz1cIiR0aHJlYWRfc2FmZV9mbGFnX3NwZWNcIgorCSAgbGlu
a2VyX2ZsYWdzPSIkbGlua2VyX2ZsYWdzICRmbGFnIgorCWZpCisKKwkjIE1ha2UgYSBiYWNrdXAg
b2YgdGhlIHVuaW5zdGFsbGVkIGxpYnJhcnkgd2hlbiByZWxpbmtpbmcKKwlpZiB0ZXN0ICIkbW9k
ZSIgPSByZWxpbms7IHRoZW4KKwkgICRydW4gZXZhbCAnKGNkICRvdXRwdXRfb2JqZGlyICYmICRy
bSAke3JlYWxuYW1lfVUgJiYgJG12ICRyZWFsbmFtZSAke3JlYWxuYW1lfVUpJyB8fCBleGl0ICQ/
CisJZmkKKworCSMgRG8gZWFjaCBvZiB0aGUgYXJjaGl2ZSBjb21tYW5kcy4KKwlpZiB0ZXN0IC1u
ICIkZXhwb3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRhcmNoaXZlX2V4cHN5bV9jbWRzIjsgdGhl
bgorCSAgZXZhbCBjbWRzPVwiJGFyY2hpdmVfZXhwc3ltX2NtZHNcIgorCWVsc2UKKwkgIGV2YWwg
Y21kcz1cIiRhcmNoaXZlX2NtZHNcIgorCWZpCisJSUZTPSIke0lGUz0gCX0iOyBzYXZlX2lmcz0i
JElGUyI7IElGUz0nficKKwlmb3IgY21kIGluICRjbWRzOyBkbworCSAgSUZTPSIkc2F2ZV9pZnMi
CisJICAkc2hvdyAiJGNtZCIKKwkgICRydW4gZXZhbCAiJGNtZCIgfHwgZXhpdCAkPworCWRvbmUK
KwlJRlM9IiRzYXZlX2lmcyIKKworCSMgUmVzdG9yZSB0aGUgdW5pbnN0YWxsZWQgbGlicmFyeSBh
bmQgZXhpdAorCWlmIHRlc3QgIiRtb2RlIiA9IHJlbGluazsgdGhlbgorCSAgJHJ1biBldmFsICco
Y2QgJG91dHB1dF9vYmpkaXIgJiYgJHJtICR7cmVhbG5hbWV9VCAmJiAkbXYgJHJlYWxuYW1lICR7
cmVhbG5hbWV9VCAmJiAkbXYgIiRyZWFsbmFtZSJVICRyZWFsbmFtZSknIHx8IGV4aXQgJD8KKwkg
IGV4aXQgMAorCWZpCisKKwkjIENyZWF0ZSBsaW5rcyB0byB0aGUgcmVhbCBsaWJyYXJ5LgorCWZv
ciBsaW5rbmFtZSBpbiAkbGlua25hbWVzOyBkbworCSAgaWYgdGVzdCAiJHJlYWxuYW1lIiAhPSAi
JGxpbmtuYW1lIjsgdGhlbgorCSAgICAkc2hvdyAiKGNkICRvdXRwdXRfb2JqZGlyICYmICRybSAk
bGlua25hbWUgJiYgJExOX1MgJHJlYWxuYW1lICRsaW5rbmFtZSkiCisJICAgICRydW4gZXZhbCAn
KGNkICRvdXRwdXRfb2JqZGlyICYmICRybSAkbGlua25hbWUgJiYgJExOX1MgJHJlYWxuYW1lICRs
aW5rbmFtZSknIHx8IGV4aXQgJD8KKwkgIGZpCisJZG9uZQorCisJIyBJZiAtbW9kdWxlIG9yIC1l
eHBvcnQtZHluYW1pYyB3YXMgc3BlY2lmaWVkLCBzZXQgdGhlIGRsbmFtZS4KKwlpZiB0ZXN0ICIk
bW9kdWxlIiA9IHllcyB8fCB0ZXN0ICIkZXhwb3J0X2R5bmFtaWMiID0geWVzOyB0aGVuCisJICAj
IE9uIGFsbCBrbm93biBvcGVyYXRpbmcgc3lzdGVtcywgdGhlc2UgYXJlIGlkZW50aWNhbC4KKwkg
IGRsbmFtZT0iJHNvbmFtZSIKKwlmaQorICAgICAgZmkKKyAgICAgIDs7CisKKyAgICBvYmopCisg
ICAgICBpZiB0ZXN0IC1uICIkZGVwbGlicyI7IHRoZW4KKwkkZWNobyAiJG1vZGVuYW1lOiB3YXJu
aW5nOiBcYC1sJyBhbmQgXGAtTCcgYXJlIGlnbm9yZWQgZm9yIG9iamVjdHMiIDE+JjIKKyAgICAg
IGZpCisKKyAgICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVzJGRscHJlZmlsZXMiIHx8IHRlc3QgIiRk
bHNlbGYiICE9IG5vOyB0aGVuCisJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtZGxvcGVu
JyBpcyBpZ25vcmVkIGZvciBvYmplY3RzIiAxPiYyCisgICAgICBmaQorCisgICAgICBpZiB0ZXN0
IC1uICIkcnBhdGgiOyB0aGVuCisJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtcnBhdGgn
IGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiIDE+JjIKKyAgICAgIGZpCisKKyAgICAgIGlmIHRlc3Qg
LW4gIiR4cnBhdGgiOyB0aGVuCisJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtUicgaXMg
aWdub3JlZCBmb3Igb2JqZWN0cyIgMT4mMgorICAgICAgZmkKKworICAgICAgaWYgdGVzdCAtbiAi
JHZpbmZvIjsgdGhlbgorCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXZlcnNpb24taW5m
bycgaXMgaWdub3JlZCBmb3Igb2JqZWN0cyIgMT4mMgorICAgICAgZmkKKworICAgICAgaWYgdGVz
dCAtbiAiJHJlbGVhc2UiOyB0aGVuCisJJGVjaG8gIiRtb2RlbmFtZTogd2FybmluZzogXGAtcmVs
ZWFzZScgaXMgaWdub3JlZCBmb3Igb2JqZWN0cyIgMT4mMgorICAgICAgZmkKKworICAgICAgY2Fz
ZSAkb3V0cHV0IGluCisgICAgICAqLmxvKQorCWlmIHRlc3QgLW4gIiRvYmpzJG9sZF9kZXBsaWJz
IjsgdGhlbgorCSAgJGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGJ1aWxkIGxpYnJhcnkgb2JqZWN0
IFxgJG91dHB1dCcgZnJvbSBub24tbGlidG9vbCBvYmplY3RzIiAxPiYyCisJICBleGl0IDEKKwlm
aQorCWxpYm9iaj0iJG91dHB1dCIKKwlvYmo9YCRlY2hvICJYJG91dHB1dCIgfCAkWHNlZCAtZSAi
JGxvMm8iYAorCTs7CisgICAgICAqKQorCWxpYm9iaj0KKwlvYmo9IiRvdXRwdXQiCisJOzsKKyAg
ICAgIGVzYWMKKworICAgICAgIyBEZWxldGUgdGhlIG9sZCBvYmplY3RzLgorICAgICAgJHJ1biAk
cm0gJG9iaiAkbGlib2JqCisKKyAgICAgICMgT2JqZWN0cyBmcm9tIGNvbnZlbmllbmNlIGxpYnJh
cmllcy4gIFRoaXMgYXNzdW1lcworICAgICAgIyBzaW5nbGUtdmVyc2lvbiBjb252ZW5pZW5jZSBs
aWJyYXJpZXMuICBXaGVuZXZlciB3ZSBjcmVhdGUKKyAgICAgICMgZGlmZmVyZW50IG9uZXMgZm9y
IFBJQy9ub24tUElDLCB0aGlzIHdlJ2xsIGhhdmUgdG8gZHVwbGljYXRlCisgICAgICAjIHRoZSBl
eHRyYWN0aW9uLgorICAgICAgcmVsb2FkX2NvbnZfb2Jqcz0KKyAgICAgIGdlbnRvcD0KKyAgICAg
ICMgcmVsb2FkX2NtZHMgcnVucyAkTEQgZGlyZWN0bHksIHNvIGxldCB1cyBnZXQgcmlkIG9mCisg
ICAgICAjIC1XbCBmcm9tIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjCisgICAgICB3bD0KKworICAg
ICAgaWYgdGVzdCAtbiAiJGNvbnZlbmllbmNlIjsgdGhlbgorCWlmIHRlc3QgLW4gIiR3aG9sZV9h
cmNoaXZlX2ZsYWdfc3BlYyI7IHRoZW4KKwkgIGV2YWwgcmVsb2FkX2NvbnZfb2Jqcz1cIlwkcmVs
b2FkX29ianMgJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjXCIKKwllbHNlCisJICBnZW50b3A9IiRv
dXRwdXRfb2JqZGlyLyR7b2JqfXgiCisJICAkc2hvdyAiJHtybX1yICRnZW50b3AiCisJICAkcnVu
ICR7cm19ciAiJGdlbnRvcCIKKwkgICRzaG93ICJta2RpciAkZ2VudG9wIgorCSAgJHJ1biBta2Rp
ciAiJGdlbnRvcCIKKwkgIHN0YXR1cz0kPworCSAgaWYgdGVzdCAkc3RhdHVzIC1uZSAwICYmIHRl
c3QgISAtZCAiJGdlbnRvcCI7IHRoZW4KKwkgICAgZXhpdCAkc3RhdHVzCisJICBmaQorCSAgZ2Vu
ZXJhdGVkPSIkZ2VuZXJhdGVkICRnZW50b3AiCisKKwkgIGZvciB4bGliIGluICRjb252ZW5pZW5j
ZTsgZG8KKwkgICAgIyBFeHRyYWN0IHRoZSBvYmplY3RzLgorCSAgICBjYXNlICR4bGliIGluCisJ
ICAgIFtcXC9dKiB8IFtBLVphLXpdOltcXC9dKikgeGFicz0iJHhsaWIiIDs7CisJICAgICopIHhh
YnM9YHB3ZGAiLyR4bGliIiA7OworCSAgICBlc2FjCisJICAgIHhsaWI9YCRlY2hvICJYJHhsaWIi
IHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKKwkgICAgeGRpcj0iJGdlbnRvcC8keGxpYiIKKworCSAg
ICAkc2hvdyAiJHtybX1yICR4ZGlyIgorCSAgICAkcnVuICR7cm19ciAiJHhkaXIiCisJICAgICRz
aG93ICJta2RpciAkeGRpciIKKwkgICAgJHJ1biBta2RpciAiJHhkaXIiCisJICAgIHN0YXR1cz0k
PworCSAgICBpZiB0ZXN0ICRzdGF0dXMgLW5lIDAgJiYgdGVzdCAhIC1kICIkeGRpciI7IHRoZW4K
KwkgICAgICBleGl0ICRzdGF0dXMKKwkgICAgZmkKKwkgICAgJHNob3cgIihjZCAkeGRpciAmJiAk
QVIgeCAkeGFicykiCisJICAgICRydW4gZXZhbCAiKGNkIFwkeGRpciAmJiAkQVIgeCBcJHhhYnMp
IiB8fCBleGl0ICQ/CisKKwkgICAgcmVsb2FkX2NvbnZfb2Jqcz0iJHJlbG9hZF9vYmpzICJgZmlu
ZCAkeGRpciAtbmFtZSBcKi5vIC1wcmludCAtbyAtbmFtZSBcKi5sbyAtcHJpbnQgfCAkTkwyU1Bg
CisJICBkb25lCisJZmkKKyAgICAgIGZpCisKKyAgICAgICMgQ3JlYXRlIHRoZSBvbGQtc3R5bGUg
b2JqZWN0LgorICAgICAgcmVsb2FkX29ianM9IiRvYmpzJG9sZF9kZXBsaWJzICJgJGVjaG8gIlgk
bGlib2JqcyIgfCAkU1AyTkwgfCAkWHNlZCAtZSAnL1wuJyR7bGliZXh0fSQnL2QnIC1lICcvXC5s
aWIkL2QnIC1lICIkbG8ybyIgfCAkTkwyU1BgIiAkcmVsb2FkX2NvbnZfb2JqcyIgIyMjIHRlc3Rz
dWl0ZTogc2tpcCBuZXN0ZWQgcXVvdGluZyB0ZXN0CisKKyAgICAgIG91dHB1dD0iJG9iaiIKKyAg
ICAgIGV2YWwgY21kcz1cIiRyZWxvYWRfY21kc1wiCisgICAgICBJRlM9IiR7SUZTPSAJfSI7IHNh
dmVfaWZzPSIkSUZTIjsgSUZTPSd+JworICAgICAgZm9yIGNtZCBpbiAkY21kczsgZG8KKwlJRlM9
IiRzYXZlX2lmcyIKKwkkc2hvdyAiJGNtZCIKKwkkcnVuIGV2YWwgIiRjbWQiIHx8IGV4aXQgJD8K
KyAgICAgIGRvbmUKKyAgICAgIElGUz0iJHNhdmVfaWZzIgorCisgICAgICAjIEV4aXQgaWYgd2Ug
YXJlbid0IGRvaW5nIGEgbGlicmFyeSBvYmplY3QgZmlsZS4KKyAgICAgIGlmIHRlc3QgLXogIiRs
aWJvYmoiOyB0aGVuCisJaWYgdGVzdCAtbiAiJGdlbnRvcCI7IHRoZW4KKwkgICRzaG93ICIke3Jt
fXIgJGdlbnRvcCIKKwkgICRydW4gJHtybX1yICRnZW50b3AKKwlmaQorCisJZXhpdCAwCisgICAg
ICBmaQorCisgICAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXM7IHRoZW4K
KwlpZiB0ZXN0IC1uICIkZ2VudG9wIjsgdGhlbgorCSAgJHNob3cgIiR7cm19ciAkZ2VudG9wIgor
CSAgJHJ1biAke3JtfXIgJGdlbnRvcAorCWZpCisKKwkjIENyZWF0ZSBhbiBpbnZhbGlkIGxpYnRv
b2wgb2JqZWN0IGlmIG5vIFBJQywgc28gdGhhdCB3ZSBkb24ndAorCSMgYWNjaWRlbnRhbGx5IGxp
bmsgaXQgaW50byBhIHByb2dyYW0uCisJJHNob3cgImVjaG8gdGltZXN0YW1wID4gJGxpYm9iaiIK
KwkkcnVuIGV2YWwgImVjaG8gdGltZXN0YW1wID4gJGxpYm9iaiIgfHwgZXhpdCAkPworCWV4aXQg
MAorICAgICAgZmkKKworICAgICAgaWYgdGVzdCAtbiAiJHBpY19mbGFnIiB8fCB0ZXN0ICIkcGlj
X21vZGUiICE9IGRlZmF1bHQ7IHRoZW4KKwkjIE9ubHkgZG8gY29tbWFuZHMgaWYgd2UgcmVhbGx5
IGhhdmUgZGlmZmVyZW50IFBJQyBvYmplY3RzLgorCXJlbG9hZF9vYmpzPSIkbGlib2JqcyAkcmVs
b2FkX2NvbnZfb2JqcyIKKwlvdXRwdXQ9IiRsaWJvYmoiCisJZXZhbCBjbWRzPVwiJHJlbG9hZF9j
bWRzXCIKKwlJRlM9IiR7SUZTPSAJfSI7IHNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JworCWZvciBj
bWQgaW4gJGNtZHM7IGRvCisJICBJRlM9IiRzYXZlX2lmcyIKKwkgICRzaG93ICIkY21kIgorCSAg
JHJ1biBldmFsICIkY21kIiB8fCBleGl0ICQ/CisJZG9uZQorCUlGUz0iJHNhdmVfaWZzIgorICAg
ICAgZWxzZQorCSMgSnVzdCBjcmVhdGUgYSBzeW1saW5rLgorCSRzaG93ICRybSAkbGlib2JqCisJ
JHJ1biAkcm0gJGxpYm9iagorCXhkaXI9YCRlY2hvICJYJGxpYm9iaiIgfCAkWHNlZCAtZSAncyUv
W14vXSokJSUnYAorCWlmIHRlc3QgIlgkeGRpciIgPSAiWCRsaWJvYmoiOyB0aGVuCisJICB4ZGly
PSIuIgorCWVsc2UKKwkgIHhkaXI9IiR4ZGlyIgorCWZpCisJYmFzZW9iaj1gJGVjaG8gIlgkbGli
b2JqIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCisJb2xkb2JqPWAkZWNobyAiWCRiYXNlb2JqIiB8
ICRYc2VkIC1lICIkbG8ybyJgCisJJHNob3cgIihjZCAkeGRpciAmJiAkTE5fUyAkb2xkb2JqICRi
YXNlb2JqKSIKKwkkcnVuIGV2YWwgJyhjZCAkeGRpciAmJiAkTE5fUyAkb2xkb2JqICRiYXNlb2Jq
KScgfHwgZXhpdCAkPworICAgICAgZmkKKworICAgICAgaWYgdGVzdCAtbiAiJGdlbnRvcCI7IHRo
ZW4KKwkkc2hvdyAiJHtybX1yICRnZW50b3AiCisJJHJ1biAke3JtfXIgJGdlbnRvcAorICAgICAg
ZmkKKworICAgICAgZXhpdCAwCisgICAgICA7OworCisgICAgcHJvZykKKyAgICAgIGNhc2UgJGhv
c3QgaW4KKwkqY3lnd2luKikgb3V0cHV0PWBlY2hvICRvdXRwdXQgfCBzZWQgLWUgJ3MsLmV4ZSQs
LDtzLCQsLmV4ZSwnYCA7OworICAgICAgZXNhYworICAgICAgaWYgdGVzdCAtbiAiJHZpbmZvIjsg
dGhlbgorCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXZlcnNpb24taW5mbycgaXMgaWdu
b3JlZCBmb3IgcHJvZ3JhbXMiIDE+JjIKKyAgICAgIGZpCisKKyAgICAgIGlmIHRlc3QgLW4gIiRy
ZWxlYXNlIjsgdGhlbgorCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IFxgLXJlbGVhc2UnIGlz
IGlnbm9yZWQgZm9yIHByb2dyYW1zIiAxPiYyCisgICAgICBmaQorCisgICAgICBpZiB0ZXN0ICIk
cHJlbG9hZCIgPSB5ZXM7IHRoZW4KKwlpZiB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiID0gdW5rbm93
biAmJiB0ZXN0ICIkZGxvcGVuX3NlbGYiID0gdW5rbm93biAmJgorCSAgIHRlc3QgIiRkbG9wZW5f
c2VsZl9zdGF0aWMiID0gdW5rbm93bjsgdGhlbgorCSAgJGVjaG8gIiRtb2RlbmFtZTogd2Fybmlu
ZzogXGBBQ19MSUJUT09MX0RMT1BFTicgbm90IHVzZWQuIEFzc3VtaW5nIG5vIGRsb3BlbiBzdXBw
b3J0LiIKKwlmaQorICAgICAgZmkKKworICAgICAgY2FzZSAkaG9zdCBpbgorICAgICAgKi0qLXJo
YXBzb2R5KiB8ICotKi1kYXJ3aW4xLlswMTJdKQorCSMgT24gUmhhcHNvZHkgcmVwbGFjZSB0aGUg
QyBsaWJyYXJ5IGlzIHRoZSBTeXN0ZW0gZnJhbWV3b3JrCisJY29tcGlsZV9kZXBsaWJzPWAkZWNo
byAiWCAkY29tcGlsZV9kZXBsaWJzIiB8ICRYc2VkIC1lICdzLyAtbGMgLyAtZnJhbWV3b3JrIFN5
c3RlbSAvJ2AKKwlmaW5hbGl6ZV9kZXBsaWJzPWAkZWNobyAiWCAkZmluYWxpemVfZGVwbGlicyIg
fCAkWHNlZCAtZSAncy8gLWxjIC8gLWZyYW1ld29yayBTeXN0ZW0gLydgCisJOzsKKyAgICAgIGVz
YWMKKworICAgICAgY29tcGlsZV9jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kICRjb21waWxlX2Rl
cGxpYnMiCisgICAgICBmaW5hbGl6ZV9jb21tYW5kPSIkZmluYWxpemVfY29tbWFuZCAkZmluYWxp
emVfZGVwbGlicyIKKworICAgICAgaWYgdGVzdCAtbiAiJHJwYXRoJHhycGF0aCI7IHRoZW4KKwkj
IElmIHRoZSB1c2VyIHNwZWNpZmllZCBhbnkgcnBhdGggZmxhZ3MsIHRoZW4gYWRkIHRoZW0uCisJ
Zm9yIGxpYmRpciBpbiAkcnBhdGggJHhycGF0aDsgZG8KKwkgICMgVGhpcyBpcyB0aGUgbWFnaWMg
dG8gdXNlIC1ycGF0aC4KKwkgIGNhc2UgIiRmaW5hbGl6ZV9ycGF0aCAiIGluCisJICAqIiAkbGli
ZGlyICIqKSA7OworCSAgKikgZmluYWxpemVfcnBhdGg9IiRmaW5hbGl6ZV9ycGF0aCAkbGliZGly
IiA7OworCSAgZXNhYworCWRvbmUKKyAgICAgIGZpCisKKyAgICAgICMgTm93IGhhcmRjb2RlIHRo
ZSBsaWJyYXJ5IHBhdGhzCisgICAgICBycGF0aD0KKyAgICAgIGhhcmRjb2RlX2xpYmRpcnM9Cisg
ICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3JwYXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KKwlp
ZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KKwkgIGlmIHRlc3Qg
LW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgorCSAgICBpZiB0ZXN0IC16ICIk
aGFyZGNvZGVfbGliZGlycyI7IHRoZW4KKwkgICAgICBoYXJkY29kZV9saWJkaXJzPSIkbGliZGly
IgorCSAgICBlbHNlCisJICAgICAgIyBKdXN0IGFjY3VtdWxhdGUgdGhlIHVuaXF1ZSBsaWJkaXJz
LgorCSAgICAgIGNhc2UgJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkaGFyZGNvZGVfbGliZGly
cyRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIGluCisJICAgICAgKiIkaGFyZGNvZGVfbGliZGly
X3NlcGFyYXRvciRsaWJkaXIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIqKQorCQk7OworCSAg
ICAgICopCisJCWhhcmRjb2RlX2xpYmRpcnM9IiRoYXJkY29kZV9saWJkaXJzJGhhcmRjb2RlX2xp
YmRpcl9zZXBhcmF0b3IkbGliZGlyIgorCQk7OworCSAgICAgIGVzYWMKKwkgICAgZmkKKwkgIGVs
c2UKKwkgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgorCSAgICBy
cGF0aD0iJHJwYXRoICRmbGFnIgorCSAgZmkKKwllbGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7
IHRoZW4KKwkgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4KKwkgICoiICRsaWJkaXIgIiopIDs7CisJ
ICAqKSBwZXJtX3JwYXRoPSIkcGVybV9ycGF0aCAkbGliZGlyIiA7OworCSAgZXNhYworCWZpCisJ
Y2FzZSAkaG9zdCBpbgorCSotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8ICot
Ki1vczIqKQorCSAgY2FzZSA6JGRsbHNlYXJjaHBhdGg6IGluCisJICAqIjokbGliZGlyOiIqKSA7
OworCSAgKikgZGxsc2VhcmNocGF0aD0iJGRsbHNlYXJjaHBhdGg6JGxpYmRpciI7OworCSAgZXNh
YworCSAgOzsKKwllc2FjCisgICAgICBkb25lCisgICAgICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRj
b2RlZCBsaWJkaXJzIGludG8gdGhlIHJwYXRoLgorICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2Rl
X2xpYmRpcl9zZXBhcmF0b3IiICYmCisJIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJzIjsgdGhl
bgorCWxpYmRpcj0iJGhhcmRjb2RlX2xpYmRpcnMiCisJZXZhbCBycGF0aD1cIiAkaGFyZGNvZGVf
bGliZGlyX2ZsYWdfc3BlY1wiCisgICAgICBmaQorICAgICAgY29tcGlsZV9ycGF0aD0iJHJwYXRo
IgorCisgICAgICBycGF0aD0KKyAgICAgIGhhcmRjb2RlX2xpYmRpcnM9CisgICAgICBmb3IgbGli
ZGlyIGluICRmaW5hbGl6ZV9ycGF0aDsgZG8KKwlpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGly
X2ZsYWdfc3BlYyI7IHRoZW4KKwkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJh
dG9yIjsgdGhlbgorCSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KKwkg
ICAgICBoYXJkY29kZV9saWJkaXJzPSIkbGliZGlyIgorCSAgICBlbHNlCisJICAgICAgIyBKdXN0
IGFjY3VtdWxhdGUgdGhlIHVuaXF1ZSBsaWJkaXJzLgorCSAgICAgIGNhc2UgJGhhcmRjb2RlX2xp
YmRpcl9zZXBhcmF0b3IkaGFyZGNvZGVfbGliZGlycyRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9y
IGluCisJICAgICAgKiIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRsaWJkaXIkaGFyZGNvZGVf
bGliZGlyX3NlcGFyYXRvciIqKQorCQk7OworCSAgICAgICopCisJCWhhcmRjb2RlX2xpYmRpcnM9
IiRoYXJkY29kZV9saWJkaXJzJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGlyIgorCQk7
OworCSAgICAgIGVzYWMKKwkgICAgZmkKKwkgIGVsc2UKKwkgICAgZXZhbCBmbGFnPVwiJGhhcmRj
b2RlX2xpYmRpcl9mbGFnX3NwZWNcIgorCSAgICBycGF0aD0iJHJwYXRoICRmbGFnIgorCSAgZmkK
KwllbGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRoZW4KKwkgIGNhc2UgIiRmaW5hbGl6ZV9w
ZXJtX3JwYXRoICIgaW4KKwkgICoiICRsaWJkaXIgIiopIDs7CisJICAqKSBmaW5hbGl6ZV9wZXJt
X3JwYXRoPSIkZmluYWxpemVfcGVybV9ycGF0aCAkbGliZGlyIiA7OworCSAgZXNhYworCWZpCisg
ICAgICBkb25lCisgICAgICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRjb2RlZCBsaWJkaXJzIGludG8g
dGhlIHJwYXRoLgorICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3Ii
ICYmCisJIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgorCWxpYmRpcj0iJGhhcmRj
b2RlX2xpYmRpcnMiCisJZXZhbCBycGF0aD1cIiAkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wi
CisgICAgICBmaQorICAgICAgZmluYWxpemVfcnBhdGg9IiRycGF0aCIKKworICAgICAgaWYgdGVz
dCAtbiAiJGxpYm9ianMiICYmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KKwkj
IFRyYW5zZm9ybSBhbGwgdGhlIGxpYnJhcnkgb2JqZWN0cyBpbnRvIHN0YW5kYXJkIG9iamVjdHMu
CisJY29tcGlsZV9jb21tYW5kPWAkZWNobyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFNQMk5MIHwg
JFhzZWQgLWUgIiRsbzJvIiB8ICROTDJTUGAKKwlmaW5hbGl6ZV9jb21tYW5kPWAkZWNobyAiWCRm
aW5hbGl6ZV9jb21tYW5kIiB8ICRTUDJOTCB8ICRYc2VkIC1lICIkbG8ybyIgfCAkTkwyU1BgCisg
ICAgICBmaQorCisgICAgICBkbHN5bXM9CisgICAgICBpZiB0ZXN0IC1uICIkZGxmaWxlcyRkbHBy
ZWZpbGVzIiB8fCB0ZXN0ICIkZGxzZWxmIiAhPSBubzsgdGhlbgorCWlmIHRlc3QgLW4gIiROTSIg
JiYgdGVzdCAtbiAiJGdsb2JhbF9zeW1ib2xfcGlwZSI7IHRoZW4KKwkgIGRsc3ltcz0iJHtvdXRw
dXRuYW1lfVMuYyIKKwllbHNlCisJICAkZWNobyAiJG1vZGVuYW1lOiBub3QgY29uZmlndXJlZCB0
byBleHRyYWN0IGdsb2JhbCBzeW1ib2xzIGZyb20gZGxwcmVvcGVuZWQgZmlsZXMiIDE+JjIKKwlm
aQorICAgICAgZmkKKworICAgICAgaWYgdGVzdCAtbiAiJGRsc3ltcyI7IHRoZW4KKwljYXNlICRk
bHN5bXMgaW4KKwkiIikgOzsKKwkqLmMpCisJICAjIERpc2NvdmVyIHRoZSBubGlzdCBvZiBlYWNo
IG9mIHRoZSBkbGZpbGVzLgorCSAgbmxpc3Q9IiRvdXRwdXRfb2JqZGlyLyR7b3V0cHV0bmFtZX0u
bm0iCisKKwkgICRzaG93ICIkcm0gJG5saXN0ICR7bmxpc3R9UyAke25saXN0fVQiCisJICAkcnVu
ICRybSAiJG5saXN0IiAiJHtubGlzdH1TIiAiJHtubGlzdH1UIgorCisJICAjIFBhcnNlIHRoZSBu
YW1lIGxpc3QgaW50byBhIHNvdXJjZSBmaWxlLgorCSAgJHNob3cgImNyZWF0aW5nICRvdXRwdXRf
b2JqZGlyLyRkbHN5bXMiCisKKwkgIHRlc3QgLXogIiRydW4iICYmICRlY2hvID4gIiRvdXRwdXRf
b2JqZGlyLyRkbHN5bXMiICJcCisvKiAkZGxzeW1zIC0gc3ltYm9sIHJlc29sdXRpb24gdGFibGUg
Zm9yIFxgJG91dHB1dG5hbWUnIGRsc3ltIGVtdWxhdGlvbi4gKi8KKy8qIEdlbmVyYXRlZCBieSAk
UFJPR1JBTSAtIEdOVSAkUEFDS0FHRSAkVkVSU0lPTiRUSU1FU1RBTVAgKi8KKworI2lmZGVmIF9f
Y3BsdXNwbHVzCitleHRlcm4gXCJDXCIgeworI2VuZGlmCisKKy8qIFByZXZlbnQgdGhlIG9ubHkg
a2luZCBvZiBkZWNsYXJhdGlvbiBjb25mbGljdHMgd2UgY2FuIG1ha2UuICovCisjZGVmaW5lIGx0
X3ByZWxvYWRlZF9zeW1ib2xzIHNvbWVfb3RoZXJfc3ltYm9sCisKKy8qIEV4dGVybmFsIHN5bWJv
bCBkZWNsYXJhdGlvbnMgZm9yIHRoZSBjb21waWxlci4gKi9cCisiCisKKwkgIGlmIHRlc3QgIiRk
bHNlbGYiID0geWVzOyB0aGVuCisJICAgICRzaG93ICJnZW5lcmF0aW5nIHN5bWJvbCBsaXN0IGZv
ciBcYCRvdXRwdXQnIgorCisJICAgIHRlc3QgLXogIiRydW4iICYmICRlY2hvICc6IEBQUk9HUkFN
QCAnID4gIiRubGlzdCIKKworCSAgICAjIEFkZCBvdXIgb3duIHByb2dyYW0gb2JqZWN0cyB0byB0
aGUgc3ltYm9sIGxpc3QuCisJICAgIHByb2dmaWxlcz1gJGVjaG8gIlgkb2JqcyRvbGRfZGVwbGli
cyIgfCAkU1AyTkwgfCAkWHNlZCAtZSAiJGxvMm8iIHwgJE5MMlNQYAorCSAgICBmb3IgYXJnIGlu
ICRwcm9nZmlsZXM7IGRvCisJICAgICAgJHNob3cgImV4dHJhY3RpbmcgZ2xvYmFsIEMgc3ltYm9s
cyBmcm9tIFxgJGFyZyciCisJICAgICAgJHJ1biBldmFsICIkTk0gJGFyZyB8ICRnbG9iYWxfc3lt
Ym9sX3BpcGUgPj4gJyRubGlzdCciCisJICAgIGRvbmUKKworCSAgICBpZiB0ZXN0IC1uICIkZXhj
bHVkZV9leHBzeW1zIjsgdGhlbgorCSAgICAgICRydW4gZXZhbCAnZWdyZXAgLXYgIiAoJGV4Y2x1
ZGVfZXhwc3ltcykkIiAiJG5saXN0IiA+ICIkbmxpc3QiVCcKKwkgICAgICAkcnVuIGV2YWwgJyRt
diAiJG5saXN0IlQgIiRubGlzdCInCisJICAgIGZpCisKKwkgICAgaWYgdGVzdCAtbiAiJGV4cG9y
dF9zeW1ib2xzX3JlZ2V4IjsgdGhlbgorCSAgICAgICRydW4gZXZhbCAnZWdyZXAgLWUgIiRleHBv
cnRfc3ltYm9sc19yZWdleCIgIiRubGlzdCIgPiAiJG5saXN0IlQnCisJICAgICAgJHJ1biBldmFs
ICckbXYgIiRubGlzdCJUICIkbmxpc3QiJworCSAgICBmaQorCisJICAgICMgUHJlcGFyZSB0aGUg
bGlzdCBvZiBleHBvcnRlZCBzeW1ib2xzCisJICAgIGlmIHRlc3QgLXogIiRleHBvcnRfc3ltYm9s
cyI7IHRoZW4KKwkgICAgICBleHBvcnRfc3ltYm9scz0iJG91dHB1dF9vYmpkaXIvJG91dHB1dC5l
eHAiCisJICAgICAgJHJ1biAkcm0gJGV4cG9ydF9zeW1ib2xzCisJICAgICAgJHJ1biBldmFsICJz
ZWQgLW4gLWUgJy9eOiBAUFJPR1JBTUAkL2QnIC1lICdzL14uKiBcKC4qXCkkL1wxL3AnICInPCAi
JG5saXN0IiA+ICIkZXhwb3J0X3N5bWJvbHMiJworCSAgICBlbHNlCisJICAgICAgJHJ1biBldmFs
ICJzZWQgLWUgJ3MvXChbXVsuKl4kXVwpL1xcXDEvZycgLWUgJ3MvXi8gLycgLWUgJ3MvJC8kLyci
JyA8ICIkZXhwb3J0X3N5bWJvbHMiID4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXQuZXhwIicKKwkg
ICAgICAkcnVuIGV2YWwgJ2dyZXAgLWYgIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXQuZXhwIiA8ICIk
bmxpc3QiID4gIiRubGlzdCJUJworCSAgICAgICRydW4gZXZhbCAnbXYgIiRubGlzdCJUICIkbmxp
c3QiJworCSAgICBmaQorCSAgZmkKKworCSAgZm9yIGFyZyBpbiAkZGxwcmVmaWxlczsgZG8KKwkg
ICAgJHNob3cgImV4dHJhY3RpbmcgZ2xvYmFsIEMgc3ltYm9scyBmcm9tIFxgJGFyZyciCisJICAg
IG5hbWU9YGVjaG8gIiRhcmciIHwgc2VkIC1lICdzJV4uKi8lJSdgCisJICAgICRydW4gZXZhbCAn
ZWNobyAiOiAkbmFtZSAiID4+ICIkbmxpc3QiJworCSAgICAkcnVuIGV2YWwgIiROTSAkYXJnIHwg
JGdsb2JhbF9zeW1ib2xfcGlwZSA+PiAnJG5saXN0JyIKKwkgIGRvbmUKKworCSAgaWYgdGVzdCAt
eiAiJHJ1biI7IHRoZW4KKwkgICAgIyBNYWtlIHN1cmUgd2UgaGF2ZSBhdCBsZWFzdCBhbiBlbXB0
eSBmaWxlLgorCSAgICB0ZXN0IC1mICIkbmxpc3QiIHx8IDogPiAiJG5saXN0IgorCisJICAgIGlm
IHRlc3QgLW4gIiRleGNsdWRlX2V4cHN5bXMiOyB0aGVuCisJICAgICAgZWdyZXAgLXYgIiAoJGV4
Y2x1ZGVfZXhwc3ltcykkIiAiJG5saXN0IiA+ICIkbmxpc3QiVAorCSAgICAgICRtdiAiJG5saXN0
IlQgIiRubGlzdCIKKwkgICAgZmkKKworCSAgICAjIFRyeSBzb3J0aW5nIGFuZCB1bmlxdWlmeWlu
ZyB0aGUgb3V0cHV0LgorCSAgICBpZiBncmVwIC12ICJeOiAiIDwgIiRubGlzdCIgfCBzb3J0ICsy
IHwgdW5pcSA+ICIkbmxpc3QiUzsgdGhlbgorCSAgICAgIDoKKwkgICAgZWxzZQorCSAgICAgIGdy
ZXAgLXYgIl46ICIgPCAiJG5saXN0IiA+ICIkbmxpc3QiUworCSAgICBmaQorCisJICAgIGlmIHRl
c3QgLWYgIiRubGlzdCJTOyB0aGVuCisJICAgICAgZXZhbCAiJGdsb2JhbF9zeW1ib2xfdG9fY2Rl
Y2wiJyA8ICIkbmxpc3QiUyA+PiAiJG91dHB1dF9vYmpkaXIvJGRsc3ltcyInCisJICAgIGVsc2UK
KwkgICAgICBlY2hvICcvKiBOT05FICovJyA+PiAiJG91dHB1dF9vYmpkaXIvJGRsc3ltcyIKKwkg
ICAgZmkKKworCSAgICAkZWNobyA+PiAiJG91dHB1dF9vYmpkaXIvJGRsc3ltcyIgIlwKKworI3Vu
ZGVmIGx0X3ByZWxvYWRlZF9zeW1ib2xzCisKKyNpZiBkZWZpbmVkIChfX1NURENfXykgJiYgX19T
VERDX18KKyMgZGVmaW5lIGx0X3B0cl90IHZvaWQgKgorI2Vsc2UKKyMgZGVmaW5lIGx0X3B0cl90
IGNoYXIgKgorIyBkZWZpbmUgY29uc3QKKyNlbmRpZgorCisvKiBUaGUgbWFwcGluZyBiZXR3ZWVu
IHN5bWJvbCBuYW1lcyBhbmQgc3ltYm9scy4gKi8KK2NvbnN0IHN0cnVjdCB7CisgIGNvbnN0IGNo
YXIgKm5hbWU7CisgIGx0X3B0cl90IGFkZHJlc3M7Cit9CitsdF9wcmVsb2FkZWRfc3ltYm9sc1td
ID0KK3tcCisiCisKKwkgICAgc2VkIC1uIC1lICdzL146IFwoW14gXSpcKSAkLyAge1wiXDFcIiwg
KGx0X3B0cl90KSAwfSwvcCcgXAorCQktZSAncy9eLiBcKFteIF0qXCkgXChbXiBdKlwpJC8gIHsi
XDIiLCAobHRfcHRyX3QpIFwmXDJ9LC9wJyBcCisJCSAgPCAiJG5saXN0IiA+PiAiJG91dHB1dF9v
YmpkaXIvJGRsc3ltcyIKKworCSAgICAkZWNobyA+PiAiJG91dHB1dF9vYmpkaXIvJGRsc3ltcyIg
IlwKKyAgezAsIChsdF9wdHJfdCkgMH0KK307CisKKy8qIFRoaXMgd29ya3MgYXJvdW5kIGEgcHJv
YmxlbSBpbiBGcmVlQlNEIGxpbmtlciAqLworI2lmZGVmIEZSRUVCU0RfV09SS0FST1VORAorc3Rh
dGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpIHsKKyAgcmV0dXJuIGx0X3ByZWxv
YWRlZF9zeW1ib2xzOworfQorI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlm
XAorIgorCSAgZmkKKworCSAgcGljX2ZsYWdfZm9yX3N5bXRhYmxlPQorCSAgY2FzZSAkaG9zdCBp
bgorCSAgIyBjb21waWxpbmcgdGhlIHN5bWJvbCB0YWJsZSBmaWxlIHdpdGggcGljX2ZsYWcgd29y
a3MgYXJvdW5kCisJICAjIGEgRnJlZUJTRCBidWcgdGhhdCBjYXVzZXMgcHJvZ3JhbXMgdG8gY3Jh
c2ggd2hlbiAtbG0gaXMKKwkgICMgbGlua2VkIGJlZm9yZSBhbnkgb3RoZXIgUElDIG9iamVjdC4g
IEJ1dCB3ZSBtdXN0IG5vdCB1c2UKKwkgICMgcGljX2ZsYWcgd2hlbiBsaW5raW5nIHdpdGggLXN0
YXRpYy4gIFRoZSBwcm9ibGVtIGV4aXN0cyBpbgorCSAgIyBGcmVlQlNEIDIuMi42IGFuZCBpcyBm
aXhlZCBpbiBGcmVlQlNEIDMuMS4KKwkgICotKi1mcmVlYnNkMip8Ki0qLWZyZWVic2QzLjAqfCot
Ki1mcmVlYnNkZWxmMy4wKikKKwkgICAgY2FzZSAiJGNvbXBpbGVfY29tbWFuZCAiIGluCisJICAg
ICoiIC1zdGF0aWMgIiopIDs7CisJICAgICopIHBpY19mbGFnX2Zvcl9zeW10YWJsZT0iICRwaWNf
ZmxhZyAtRFBJQyAtREZSRUVCU0RfV09SS0FST1VORCI7OworCSAgICBlc2FjOzsKKwkgICotKi1o
cHV4KikKKwkgICAgY2FzZSAiJGNvbXBpbGVfY29tbWFuZCAiIGluCisJICAgICoiIC1zdGF0aWMg
IiopIDs7CisJICAgICopIHBpY19mbGFnX2Zvcl9zeW10YWJsZT0iICRwaWNfZmxhZyAtRFBJQyI7
OworCSAgICBlc2FjCisJICBlc2FjCisKKwkgICMgTm93IGNvbXBpbGUgdGhlIGR5bmFtaWMgc3lt
Ym9sIGZpbGUuCisJICAkc2hvdyAiKGNkICRvdXRwdXRfb2JqZGlyICYmICRDQyAtYyRub19idWls
dGluX2ZsYWckcGljX2ZsYWdfZm9yX3N5bXRhYmxlIFwiJGRsc3ltc1wiKSIKKwkgICRydW4gZXZh
bCAnKGNkICRvdXRwdXRfb2JqZGlyICYmICRDQyAtYyRub19idWlsdGluX2ZsYWckcGljX2ZsYWdf
Zm9yX3N5bXRhYmxlICIkZGxzeW1zIiknIHx8IGV4aXQgJD8KKworCSAgIyBDbGVhbiB1cCB0aGUg
Z2VuZXJhdGVkIGZpbGVzLgorCSAgJHNob3cgIiRybSAkb3V0cHV0X29iamRpci8kZGxzeW1zICRu
bGlzdCAke25saXN0fVMgJHtubGlzdH1UIgorCSAgJHJ1biAkcm0gIiRvdXRwdXRfb2JqZGlyLyRk
bHN5bXMiICIkbmxpc3QiICIke25saXN0fVMiICIke25saXN0fVQiCisKKwkgICMgVHJhbnNmb3Jt
IHRoZSBzeW1ib2wgZmlsZSBpbnRvIHRoZSBjb3JyZWN0IG5hbWUuCisJICBjb21waWxlX2NvbW1h
bmQ9YCRlY2hvICJYJGNvbXBpbGVfY29tbWFuZCIgfCAkWHNlZCAtZSAicyVAU1lNRklMRUAlJG91
dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfVMuJHtvYmpleHR9JSJgCisJICBmaW5hbGl6ZV9jb21t
YW5kPWAkZWNobyAiWCRmaW5hbGl6ZV9jb21tYW5kIiB8ICRYc2VkIC1lICJzJUBTWU1GSUxFQCUk
b3V0cHV0X29iamRpci8ke291dHB1dG5hbWV9Uy4ke29iamV4dH0lImAKKwkgIDs7CisJKikKKwkg
ICRlY2hvICIkbW9kZW5hbWU6IHVua25vd24gc3VmZml4IGZvciBcYCRkbHN5bXMnIiAxPiYyCisJ
ICBleGl0IDEKKwkgIDs7CisJZXNhYworICAgICAgZWxzZQorCSMgV2Uga2VlcCBnb2luZyBqdXN0
IGluIGNhc2UgdGhlIHVzZXIgZGlkbid0IHJlZmVyIHRvCisJIyBsdF9wcmVsb2FkZWRfc3ltYm9s
cy4gIFRoZSBsaW5rZXIgd2lsbCBmYWlsIGlmIGdsb2JhbF9zeW1ib2xfcGlwZQorCSMgcmVhbGx5
IHdhcyByZXF1aXJlZC4KKworCSMgTnVsbGlmeSB0aGUgc3ltYm9sIGZpbGUuCisJY29tcGlsZV9j
b21tYW5kPWAkZWNobyAiWCRjb21waWxlX2NvbW1hbmQiIHwgJFhzZWQgLWUgInMlIEBTWU1GSUxF
QCUlImAKKwlmaW5hbGl6ZV9jb21tYW5kPWAkZWNobyAiWCRmaW5hbGl6ZV9jb21tYW5kIiB8ICRY
c2VkIC1lICJzJSBAU1lNRklMRUAlJSJgCisgICAgICBmaQorCisgICAgICBpZiB0ZXN0ICRuZWVk
X3JlbGluayA9IG5vIHx8IHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiICE9IHllczsgdGhlbgor
CSMgUmVwbGFjZSB0aGUgb3V0cHV0IGZpbGUgc3BlY2lmaWNhdGlvbi4KKwljb21waWxlX2NvbW1h
bmQ9YCRlY2hvICJYJGNvbXBpbGVfY29tbWFuZCIgfCAkWHNlZCAtZSAncyVAT1VUUFVUQCUnIiRv
dXRwdXQiJyVnJ2AKKwlsaW5rX2NvbW1hbmQ9IiRjb21waWxlX2NvbW1hbmQkY29tcGlsZV9ycGF0
aCIKKworCSMgV2UgaGF2ZSBubyB1bmluc3RhbGxlZCBsaWJyYXJ5IGRlcGVuZGVuY2llcywgc28g
ZmluYWxpemUgcmlnaHQgbm93LgorCSRzaG93ICIkbGlua19jb21tYW5kIgorCSRydW4gZXZhbCAi
JGxpbmtfY29tbWFuZCIKKwlzdGF0dXM9JD8KKworCSMgRGVsZXRlIHRoZSBnZW5lcmF0ZWQgZmls
ZXMuCisJaWYgdGVzdCAtbiAiJGRsc3ltcyI7IHRoZW4KKwkgICRzaG93ICIkcm0gJG91dHB1dF9v
YmpkaXIvJHtvdXRwdXRuYW1lfVMuJHtvYmpleHR9IgorCSAgJHJ1biAkcm0gIiRvdXRwdXRfb2Jq
ZGlyLyR7b3V0cHV0bmFtZX1TLiR7b2JqZXh0fSIKKwlmaQorCisJZXhpdCAkc3RhdHVzCisgICAg
ICBmaQorCisgICAgICBpZiB0ZXN0IC1uICIkc2hsaWJwYXRoX3ZhciI7IHRoZW4KKwkjIFdlIHNo
b3VsZCBzZXQgdGhlIHNobGlicGF0aF92YXIKKwlycGF0aD0KKwlmb3IgZGlyIGluICR0ZW1wX3Jw
YXRoOyBkbworCSAgY2FzZSAkZGlyIGluCisJICBbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopCisJ
ICAgICMgQWJzb2x1dGUgcGF0aC4KKwkgICAgcnBhdGg9IiRycGF0aCRkaXI6IgorCSAgICA7Owor
CSAgKikKKwkgICAgIyBSZWxhdGl2ZSBwYXRoOiBhZGQgYSB0aGlzZGlyIGVudHJ5LgorCSAgICBy
cGF0aD0iJHJwYXRoXCR0aGlzZGlyLyRkaXI6IgorCSAgICA7OworCSAgZXNhYworCWRvbmUKKwl0
ZW1wX3JwYXRoPSIkcnBhdGgiCisgICAgICBmaQorCisgICAgICBpZiB0ZXN0IC1uICIkY29tcGls
ZV9zaGxpYnBhdGgkZmluYWxpemVfc2hsaWJwYXRoIjsgdGhlbgorCWNvbXBpbGVfY29tbWFuZD0i
JHNobGlicGF0aF92YXI9XCIkY29tcGlsZV9zaGxpYnBhdGgkZmluYWxpemVfc2hsaWJwYXRoXCQk
c2hsaWJwYXRoX3ZhclwiICRjb21waWxlX2NvbW1hbmQiCisgICAgICBmaQorICAgICAgaWYgdGVz
dCAtbiAiJGZpbmFsaXplX3NobGlicGF0aCI7IHRoZW4KKwlmaW5hbGl6ZV9jb21tYW5kPSIkc2hs
aWJwYXRoX3Zhcj1cIiRmaW5hbGl6ZV9zaGxpYnBhdGhcJCRzaGxpYnBhdGhfdmFyXCIgJGZpbmFs
aXplX2NvbW1hbmQiCisgICAgICBmaQorCisgICAgICBjb21waWxlX3Zhcj0KKyAgICAgIGZpbmFs
aXplX3Zhcj0KKyAgICAgIGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRoZW4KKwlpZiB0ZXN0
IC1uICIkcGVybV9ycGF0aCI7IHRoZW4KKwkgICMgV2Ugc2hvdWxkIHNldCB0aGUgcnVucGF0aF92
YXIuCisJICBycGF0aD0KKwkgIGZvciBkaXIgaW4gJHBlcm1fcnBhdGg7IGRvCisJICAgIHJwYXRo
PSIkcnBhdGgkZGlyOiIKKwkgIGRvbmUKKwkgIGNvbXBpbGVfdmFyPSIkcnVucGF0aF92YXI9XCIk
cnBhdGhcJCRydW5wYXRoX3ZhclwiICIKKwlmaQorCWlmIHRlc3QgLW4gIiRmaW5hbGl6ZV9wZXJt
X3JwYXRoIjsgdGhlbgorCSAgIyBXZSBzaG91bGQgc2V0IHRoZSBydW5wYXRoX3Zhci4KKwkgIHJw
YXRoPQorCSAgZm9yIGRpciBpbiAkZmluYWxpemVfcGVybV9ycGF0aDsgZG8KKwkgICAgcnBhdGg9
IiRycGF0aCRkaXI6IgorCSAgZG9uZQorCSAgZmluYWxpemVfdmFyPSIkcnVucGF0aF92YXI9XCIk
cnBhdGhcJCRydW5wYXRoX3ZhclwiICIKKwlmaQorICAgICAgZmkKKworICAgICAgaWYgdGVzdCAi
JG5vX2luc3RhbGwiID0geWVzOyB0aGVuCisJIyBXZSBkb24ndCBuZWVkIHRvIGNyZWF0ZSBhIHdy
YXBwZXIgc2NyaXB0LgorCWxpbmtfY29tbWFuZD0iJGNvbXBpbGVfdmFyJGNvbXBpbGVfY29tbWFu
ZCRjb21waWxlX3JwYXRoIgorCSMgUmVwbGFjZSB0aGUgb3V0cHV0IGZpbGUgc3BlY2lmaWNhdGlv
bi4KKwlsaW5rX2NvbW1hbmQ9YCRlY2hvICJYJGxpbmtfY29tbWFuZCIgfCAkWHNlZCAtZSAncyVA
T1VUUFVUQCUnIiRvdXRwdXQiJyVnJ2AKKwkjIERlbGV0ZSB0aGUgb2xkIG91dHB1dCBmaWxlLgor
CSRydW4gJHJtICRvdXRwdXQKKwkjIExpbmsgdGhlIGV4ZWN1dGFibGUgYW5kIGV4aXQKKwkkc2hv
dyAiJGxpbmtfY29tbWFuZCIKKwkkcnVuIGV2YWwgIiRsaW5rX2NvbW1hbmQiIHx8IGV4aXQgJD8K
KwlleGl0IDAKKyAgICAgIGZpCisKKyAgICAgIGlmIHRlc3QgIiRoYXJkY29kZV9hY3Rpb24iID0g
cmVsaW5rOyB0aGVuCisJIyBGYXN0IGluc3RhbGxhdGlvbiBpcyBub3Qgc3VwcG9ydGVkCisJbGlu
a19jb21tYW5kPSIkY29tcGlsZV92YXIkY29tcGlsZV9jb21tYW5kJGNvbXBpbGVfcnBhdGgiCisJ
cmVsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6ZV92YXIkZmluYWxpemVfY29tbWFuZCRmaW5hbGl6ZV9y
cGF0aCIKKworCSRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IHRoaXMgcGxhdGZvcm0gZG9lcyBu
b3QgbGlrZSB1bmluc3RhbGxlZCBzaGFyZWQgbGlicmFyaWVzIiAxPiYyCisJJGVjaG8gIiRtb2Rl
bmFtZTogXGAkb3V0cHV0JyB3aWxsIGJlIHJlbGlua2VkIGR1cmluZyBpbnN0YWxsYXRpb24iIDE+
JjIKKyAgICAgIGVsc2UKKwlpZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiAhPSBubzsgdGhlbgorCSAg
bGlua19jb21tYW5kPSIkZmluYWxpemVfdmFyJGNvbXBpbGVfY29tbWFuZCRmaW5hbGl6ZV9ycGF0
aCIKKwkgIGlmIHRlc3QgIiRmYXN0X2luc3RhbGwiID0geWVzOyB0aGVuCisJICAgIHJlbGlua19j
b21tYW5kPWAkZWNobyAiWCRjb21waWxlX3ZhciRjb21waWxlX2NvbW1hbmQkY29tcGlsZV9ycGF0
aCIgfCAkWHNlZCAtZSAncyVAT1VUUFVUQCVcJHByb2dkaXIvXCRmaWxlJWcnYAorCSAgZWxzZQor
CSAgICAjIGZhc3RfaW5zdGFsbCBpcyBzZXQgdG8gbmVlZGxlc3MKKwkgICAgcmVsaW5rX2NvbW1h
bmQ9CisJICBmaQorCWVsc2UKKwkgIGxpbmtfY29tbWFuZD0iJGNvbXBpbGVfdmFyJGNvbXBpbGVf
Y29tbWFuZCRjb21waWxlX3JwYXRoIgorCSAgcmVsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6ZV92YXIk
ZmluYWxpemVfY29tbWFuZCRmaW5hbGl6ZV9ycGF0aCIKKwlmaQorICAgICAgZmkKKworICAgICAg
IyBSZXBsYWNlIHRoZSBvdXRwdXQgZmlsZSBzcGVjaWZpY2F0aW9uLgorICAgICAgbGlua19jb21t
YW5kPWAkZWNobyAiWCRsaW5rX2NvbW1hbmQiIHwgJFhzZWQgLWUgJ3MlQE9VVFBVVEAlJyIkb3V0
cHV0X29iamRpci8kb3V0cHV0bmFtZSInJWcnYAorCisgICAgICAjIERlbGV0ZSB0aGUgb2xkIG91
dHB1dCBmaWxlcy4KKyAgICAgICRydW4gJHJtICRvdXRwdXQgJG91dHB1dF9vYmpkaXIvJG91dHB1
dG5hbWUgJG91dHB1dF9vYmpkaXIvbHQtJG91dHB1dG5hbWUKKworICAgICAgJHNob3cgIiRsaW5r
X2NvbW1hbmQiCisgICAgICAkcnVuIGV2YWwgIiRsaW5rX2NvbW1hbmQiIHx8IGV4aXQgJD8KKwor
ICAgICAgIyBOb3cgY3JlYXRlIHRoZSB3cmFwcGVyIHNjcmlwdC4KKyAgICAgICRzaG93ICJjcmVh
dGluZyAkb3V0cHV0IgorCisgICAgICAjIFF1b3RlIHRoZSByZWxpbmsgY29tbWFuZCBmb3Igc2hp
cHBpbmcuCisgICAgICBpZiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCisJIyBQcmVz
ZXJ2ZSBhbnkgdmFyaWFibGVzIHRoYXQgbWF5IGFmZmVjdCBjb21waWxlciBiZWhhdmlvcgorCWZv
ciB2YXIgaW4gJHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rOyBkbworCSAgaWYgZXZhbCB0ZXN0
IC16IFwiXCR7JHZhcitzZXR9XCI7IHRoZW4KKwkgICAgcmVsaW5rX2NvbW1hbmQ9InsgdGVzdCAt
eiBcIlwkeyR2YXIrc2V0fVwiIHx8IHVuc2V0ICR2YXIgfHwgeyAkdmFyPTsgZXhwb3J0ICR2YXI7
IH07IH07ICRyZWxpbmtfY29tbWFuZCIKKwkgIGVsaWYgZXZhbCB2YXJfdmFsdWU9XCQkdmFyOyB0
ZXN0IC16ICIkdmFyX3ZhbHVlIjsgdGhlbgorCSAgICByZWxpbmtfY29tbWFuZD0iJHZhcj07IGV4
cG9ydCAkdmFyOyAkcmVsaW5rX2NvbW1hbmQiCisJICBlbHNlCisJICAgIHZhcl92YWx1ZT1gJGVj
aG8gIlgkdmFyX3ZhbHVlIiB8ICRYc2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0ImAKKwkgICAgcmVs
aW5rX2NvbW1hbmQ9IiR2YXI9XCIkdmFyX3ZhbHVlXCI7IGV4cG9ydCAkdmFyOyAkcmVsaW5rX2Nv
bW1hbmQiCisJICBmaQorCWRvbmUKKwlyZWxpbmtfY29tbWFuZD0iY2QgYHB3ZGA7ICRyZWxpbmtf
Y29tbWFuZCIKKwlyZWxpbmtfY29tbWFuZD1gJGVjaG8gIlgkcmVsaW5rX2NvbW1hbmQiIHwgJFhz
ZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAorICAgICAgZmkKKworICAgICAgIyBRdW90ZSAkZWNo
byBmb3Igc2hpcHBpbmcuCisgICAgICBpZiB0ZXN0ICJYJGVjaG8iID0gIlgkU0hFTEwgJDAgLS1m
YWxsYmFjay1lY2hvIjsgdGhlbgorCWNhc2UgJDAgaW4KKwlbXFwvXSogfCBbQS1aYS16XTpbXFwv
XSopIHFlY2hvPSIkU0hFTEwgJDAgLS1mYWxsYmFjay1lY2hvIjs7CisJKikgcWVjaG89IiRTSEVM
TCBgcHdkYC8kMCAtLWZhbGxiYWNrLWVjaG8iOzsKKwllc2FjCisJcWVjaG89YCRlY2hvICJYJHFl
Y2hvIiB8ICRYc2VkIC1lICIkc2VkX3F1b3RlX3N1YnN0ImAKKyAgICAgIGVsc2UKKwlxZWNobz1g
JGVjaG8gIlgkZWNobyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCisgICAgICBmaQor
CisgICAgICAjIE9ubHkgYWN0dWFsbHkgZG8gdGhpbmdzIGlmIG91ciBydW4gY29tbWFuZCBpcyBu
b24tbnVsbC4KKyAgICAgIGlmIHRlc3QgLXogIiRydW4iOyB0aGVuCisJIyB3aW4zMiB3aWxsIHRo
aW5rIHRoZSBzY3JpcHQgaXMgYSBiaW5hcnkgaWYgaXQgaGFzCisJIyBhIC5leGUgc3VmZml4LCBz
byB3ZSBzdHJpcCBpdCBvZmYgaGVyZS4KKwljYXNlICRvdXRwdXQgaW4KKwkgICouZXhlKSBvdXRw
dXQ9YGVjaG8gJG91dHB1dHxzZWQgJ3MsLmV4ZSQsLCdgIDs7CisJZXNhYworCSMgdGVzdCBmb3Ig
Y3lnd2luIGJlY2F1c2UgbXYgZmFpbHMgdy9vIC5leGUgZXh0ZW5zaW9ucworCWNhc2UgJGhvc3Qg
aW4KKwkgICpjeWd3aW4qKSBleGVleHQ9LmV4ZSA7OworCSAgKikgZXhlZXh0PSA7OworCWVzYWMK
Kwkkcm0gJG91dHB1dAorCXRyYXAgIiRybSAkb3V0cHV0OyBleGl0IDEiIDEgMiAxNQorCisJJGVj
aG8gPiAkb3V0cHV0ICJcCisjISAkU0hFTEwKKworIyAkb3V0cHV0IC0gdGVtcG9yYXJ5IHdyYXBw
ZXIgc2NyaXB0IGZvciAkb2JqZGlyLyRvdXRwdXRuYW1lCisjIEdlbmVyYXRlZCBieSAkUFJPR1JB
TSAtIEdOVSAkUEFDS0FHRSAkVkVSU0lPTiRUSU1FU1RBTVAKKyMKKyMgVGhlICRvdXRwdXQgcHJv
Z3JhbSBjYW5ub3QgYmUgZGlyZWN0bHkgZXhlY3V0ZWQgdW50aWwgYWxsIHRoZSBsaWJ0b29sCisj
IGxpYnJhcmllcyB0aGF0IGl0IGRlcGVuZHMgb24gYXJlIGluc3RhbGxlZC4KKyMKKyMgVGhpcyB3
cmFwcGVyIHNjcmlwdCBzaG91bGQgbmV2ZXIgYmUgbW92ZWQgb3V0IG9mIHRoZSBidWlsZCBkaXJl
Y3RvcnkuCisjIElmIGl0IGlzLCBpdCB3aWxsIG5vdCBvcGVyYXRlIGNvcnJlY3RseS4KKworIyBT
ZWQgc3Vic3RpdHV0aW9uIHRoYXQgaGVscHMgdXMgZG8gcm9idXN0IHF1b3RpbmcuICBJdCBiYWNr
c2xhc2hpZmllcworIyBtZXRhY2hhcmFjdGVycyB0aGF0IGFyZSBzdGlsbCBhY3RpdmUgd2l0aGlu
IGRvdWJsZS1xdW90ZWQgc3RyaW5ncy4KK1hzZWQ9J3NlZCAtZSAxcy9eWC8vJworc2VkX3F1b3Rl
X3N1YnN0PSckc2VkX3F1b3RlX3N1YnN0JworCisjIFRoZSBIUC1VWCBrc2ggYW5kIFBPU0lYIHNo
ZWxsIHByaW50IHRoZSB0YXJnZXQgZGlyZWN0b3J5IHRvIHN0ZG91dAorIyBpZiBDRFBBVEggaXMg
c2V0LgoraWYgdGVzdCBcIlwke0NEUEFUSCtzZXR9XCIgPSBzZXQ7IHRoZW4gQ0RQQVRIPTo7IGV4
cG9ydCBDRFBBVEg7IGZpCisKK3JlbGlua19jb21tYW5kPVwiJHJlbGlua19jb21tYW5kXCIKKwor
IyBUaGlzIGVudmlyb25tZW50IHZhcmlhYmxlIGRldGVybWluZXMgb3VyIG9wZXJhdGlvbiBtb2Rl
LgoraWYgdGVzdCBcIlwkbGlidG9vbF9pbnN0YWxsX21hZ2ljXCIgPSBcIiRtYWdpY1wiOyB0aGVu
CisgICMgaW5zdGFsbCBtb2RlIG5lZWRzIHRoZSBmb2xsb3dpbmcgdmFyaWFibGU6CisgIG5vdGlu
c3RfZGVwbGlicz0nJG5vdGluc3RfZGVwbGlicycKK2Vsc2UKKyAgIyBXaGVuIHdlIGFyZSBzb3Vy
Y2VkIGluIGV4ZWN1dGUgbW9kZSwgXCRmaWxlIGFuZCBcJGVjaG8gYXJlIGFscmVhZHkgc2V0Lgor
ICBpZiB0ZXN0IFwiXCRsaWJ0b29sX2V4ZWN1dGVfbWFnaWNcIiAhPSBcIiRtYWdpY1wiOyB0aGVu
CisgICAgZWNobz1cIiRxZWNob1wiCisgICAgZmlsZT1cIlwkMFwiCisgICAgIyBNYWtlIHN1cmUg
ZWNobyB3b3Jrcy4KKyAgICBpZiB0ZXN0IFwiWFwkMVwiID0gWC0tbm8tcmVleGVjOyB0aGVuCisg
ICAgICAjIERpc2NhcmQgdGhlIC0tbm8tcmVleGVjIGZsYWcsIGFuZCBjb250aW51ZS4KKyAgICAg
IHNoaWZ0CisgICAgZWxpZiB0ZXN0IFwiWFxgKFwkZWNobyAnXHQnKSAyPi9kZXYvbnVsbFxgXCIg
PSAnWFx0JzsgdGhlbgorICAgICAgIyBZaXBwZWUsIFwkZWNobyB3b3JrcyEKKyAgICAgIDoKKyAg
ICBlbHNlCisgICAgICAjIFJlc3RhcnQgdW5kZXIgdGhlIGNvcnJlY3Qgc2hlbGwsIGFuZCB0aGVu
IG1heWJlIFwkZWNobyB3aWxsIHdvcmsuCisgICAgICBleGVjICRTSEVMTCBcIlwkMFwiIC0tbm8t
cmVleGVjIFwkezErXCJcJEBcIn0KKyAgICBmaQorICBmaVwKKyIKKwkkZWNobyA+PiAkb3V0cHV0
ICJcCisKKyAgIyBGaW5kIHRoZSBkaXJlY3RvcnkgdGhhdCB0aGlzIHNjcmlwdCBsaXZlcyBpbi4K
KyAgdGhpc2Rpcj1cYFwkZWNobyBcIlhcJGZpbGVcIiB8IFwkWHNlZCAtZSAncyUvW14vXSokJSUn
XGAKKyAgdGVzdCBcInhcJHRoaXNkaXJcIiA9IFwieFwkZmlsZVwiICYmIHRoaXNkaXI9LgorCisg
ICMgRm9sbG93IHN5bWJvbGljIGxpbmtzIHVudGlsIHdlIGdldCB0byB0aGUgcmVhbCB0aGlzZGly
LgorICBmaWxlPVxgbHMgLWxkIFwiXCRmaWxlXCIgfCBzZWQgLW4gJ3MvLiotPiAvL3AnXGAKKyAg
d2hpbGUgdGVzdCAtbiBcIlwkZmlsZVwiOyBkbworICAgIGRlc3RkaXI9XGBcJGVjaG8gXCJYXCRm
aWxlXCIgfCBcJFhzZWQgLWUgJ3MlL1teL10qXCQlJSdcYAorCisgICAgIyBJZiB0aGVyZSB3YXMg
YSBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGNoYW5nZSB0aGlzZGlyLgorICAgIGlmIHRlc3Qg
XCJ4XCRkZXN0ZGlyXCIgIT0gXCJ4XCRmaWxlXCI7IHRoZW4KKyAgICAgIGNhc2UgXCJcJGRlc3Rk
aXJcIiBpbgorICAgICAgW1xcXFwvXSogfCBbQS1aYS16XTpbXFxcXC9dKikgdGhpc2Rpcj1cIlwk
ZGVzdGRpclwiIDs7CisgICAgICAqKSB0aGlzZGlyPVwiXCR0aGlzZGlyL1wkZGVzdGRpclwiIDs7
CisgICAgICBlc2FjCisgICAgZmkKKworICAgIGZpbGU9XGBcJGVjaG8gXCJYXCRmaWxlXCIgfCBc
JFhzZWQgLWUgJ3MlXi4qLyUlJ1xgCisgICAgZmlsZT1cYGxzIC1sZCBcIlwkdGhpc2Rpci9cJGZp
bGVcIiB8IHNlZCAtbiAncy8uKi0+IC8vcCdcYAorICBkb25lCisKKyAgIyBUcnkgdG8gZ2V0IHRo
ZSBhYnNvbHV0ZSBkaXJlY3RvcnkgbmFtZS4KKyAgYWJzZGlyPVxgY2QgXCJcJHRoaXNkaXJcIiAm
JiBwd2RcYAorICB0ZXN0IC1uIFwiXCRhYnNkaXJcIiAmJiB0aGlzZGlyPVwiXCRhYnNkaXJcIgor
IgorCisJaWYgdGVzdCAiJGZhc3RfaW5zdGFsbCIgPSB5ZXM7IHRoZW4KKwkgIGVjaG8gPj4gJG91
dHB1dCAiXAorICBwcm9ncmFtPWx0LSckb3V0cHV0bmFtZSckZXhlZXh0CisgIHByb2dkaXI9XCJc
JHRoaXNkaXIvJG9iamRpclwiCisKKyAgaWYgdGVzdCAhIC1mIFwiXCRwcm9nZGlyL1wkcHJvZ3Jh
bVwiIHx8IFxcCisgICAgIHsgZmlsZT1cYGxzIC0xZHQgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCIg
XCJcJHByb2dkaXIvLi4vXCRwcm9ncmFtXCIgMj4vZGV2L251bGwgfCBzZWQgMXFcYDsgXFwKKyAg
ICAgICB0ZXN0IFwiWFwkZmlsZVwiICE9IFwiWFwkcHJvZ2Rpci9cJHByb2dyYW1cIjsgfTsgdGhl
bgorCisgICAgZmlsZT1cIlwkXCQtXCRwcm9ncmFtXCIKKworICAgIGlmIHRlc3QgISAtZCBcIlwk
cHJvZ2RpclwiOyB0aGVuCisgICAgICAkbWtkaXIgXCJcJHByb2dkaXJcIgorICAgIGVsc2UKKyAg
ICAgICRybSBcIlwkcHJvZ2Rpci9cJGZpbGVcIgorICAgIGZpIgorCisJICBlY2hvID4+ICRvdXRw
dXQgIlwKKworICAgICMgcmVsaW5rIGV4ZWN1dGFibGUgaWYgbmVjZXNzYXJ5CisgICAgaWYgdGVz
dCAtbiBcIlwkcmVsaW5rX2NvbW1hbmRcIjsgdGhlbgorICAgICAgaWYgKGV2YWwgXCRyZWxpbmtf
Y29tbWFuZCk7IHRoZW4gOgorICAgICAgZWxzZQorCSRybSBcIlwkcHJvZ2Rpci9cJGZpbGVcIgor
CWV4aXQgMQorICAgICAgZmkKKyAgICBmaQorCisgICAgJG12IFwiXCRwcm9nZGlyL1wkZmlsZVwi
IFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiIDI+L2Rldi9udWxsIHx8CisgICAgeyAkcm0gXCJcJHBy
b2dkaXIvXCRwcm9ncmFtXCI7CisgICAgICAkbXYgXCJcJHByb2dkaXIvXCRmaWxlXCIgXCJcJHBy
b2dkaXIvXCRwcm9ncmFtXCI7IH0KKyAgICAkcm0gXCJcJHByb2dkaXIvXCRmaWxlXCIKKyAgZmki
CisJZWxzZQorCSAgZWNobyA+PiAkb3V0cHV0ICJcCisgIHByb2dyYW09JyRvdXRwdXRuYW1lJwor
ICBwcm9nZGlyPVwiXCR0aGlzZGlyLyRvYmpkaXJcIgorIgorCWZpCisKKwllY2hvID4+ICRvdXRw
dXQgIlwKKworICBpZiB0ZXN0IC1mIFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiOyB0aGVuIgorCisJ
IyBFeHBvcnQgb3VyIHNobGlicGF0aF92YXIgaWYgd2UgaGF2ZSBvbmUuCisJaWYgdGVzdCAiJHNo
bGlicGF0aF9vdmVycmlkZXNfcnVucGF0aCIgPSB5ZXMgJiYgdGVzdCAtbiAiJHNobGlicGF0aF92
YXIiICYmIHRlc3QgLW4gIiR0ZW1wX3JwYXRoIjsgdGhlbgorCSAgJGVjaG8gPj4gJG91dHB1dCAi
XAorICAgICMgQWRkIG91ciBvd24gbGlicmFyeSBwYXRoIHRvICRzaGxpYnBhdGhfdmFyCisgICAg
JHNobGlicGF0aF92YXI9XCIkdGVtcF9ycGF0aFwkJHNobGlicGF0aF92YXJcIgorCisgICAgIyBT
b21lIHN5c3RlbXMgY2Fubm90IGNvcGUgd2l0aCBjb2xvbi10ZXJtaW5hdGVkICRzaGxpYnBhdGhf
dmFyCisgICAgIyBUaGUgc2Vjb25kIGNvbG9uIGlzIGEgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4g
QmVPUyBSNCBzZWQKKyAgICAkc2hsaWJwYXRoX3Zhcj1cYFwkZWNobyBcIlhcJCRzaGxpYnBhdGhf
dmFyXCIgfCBcJFhzZWQgLWUgJ3MvOjoqXCQvLydcYAorCisgICAgZXhwb3J0ICRzaGxpYnBhdGhf
dmFyCisiCisJZmkKKworCSMgZml4dXAgdGhlIGRsbCBzZWFyY2hwYXRoIGlmIHdlIG5lZWQgdG8u
CisJaWYgdGVzdCAtbiAiJGRsbHNlYXJjaHBhdGgiOyB0aGVuCisJICAkZWNobyA+PiAkb3V0cHV0
ICJcCisgICAgIyBBZGQgdGhlIGRsbCBzZWFyY2ggcGF0aCBjb21wb25lbnRzIHRvIHRoZSBleGVj
dXRhYmxlIFBBVEgKKyAgICBQQVRIPSRkbGxzZWFyY2hwYXRoOlwkUEFUSAorIgorCWZpCisKKwkk
ZWNobyA+PiAkb3V0cHV0ICJcCisgICAgaWYgdGVzdCBcIlwkbGlidG9vbF9leGVjdXRlX21hZ2lj
XCIgIT0gXCIkbWFnaWNcIjsgdGhlbgorICAgICAgIyBSdW4gdGhlIGFjdHVhbCBwcm9ncmFtIHdp
dGggb3VyIGFyZ3VtZW50cy4KKyIKKwljYXNlICRob3N0IGluCisJIyB3aW4zMiBzeXN0ZW1zIG5l
ZWQgdG8gdXNlIHRoZSBwcm9nIHBhdGggZm9yIGRsbAorCSMgbG9va3VwIHRvIHdvcmsKKwkqLSot
Y3lnd2luKiB8ICotKi1wdzMyKikKKwkgICRlY2hvID4+ICRvdXRwdXQgIlwKKyAgICAgIGV4ZWMg
XCRwcm9nZGlyL1wkcHJvZ3JhbSBcJHsxK1wiXCRAXCJ9CisiCisJICA7OworCisJIyBCYWNrc2xh
c2hlcyBzZXBhcmF0ZSBkaXJlY3RvcmllcyBvbiBwbGFpbiB3aW5kb3dzCisJKi0qLW1pbmd3IHwg
Ki0qLW9zMiopCisJICAkZWNobyA+PiAkb3V0cHV0ICJcCisgICAgICBleGVjIFwkcHJvZ2Rpclxc
XFxcJHByb2dyYW0gXCR7MStcIlwkQFwifQorIgorCSAgOzsKKworCSopCisJICAkZWNobyA+PiAk
b3V0cHV0ICJcCisgICAgICAjIEV4cG9ydCB0aGUgcGF0aCB0byB0aGUgcHJvZ3JhbS4KKyAgICAg
IFBBVEg9XCJcJHByb2dkaXI6XCRQQVRIXCIKKyAgICAgIGV4cG9ydCBQQVRICisKKyAgICAgIGV4
ZWMgXCRwcm9ncmFtIFwkezErXCJcJEBcIn0KKyIKKwkgIDs7CisJZXNhYworCSRlY2hvID4+ICRv
dXRwdXQgIlwKKyAgICAgIFwkZWNobyBcIlwkMDogY2Fubm90IGV4ZWMgXCRwcm9ncmFtIFwkezEr
XCJcJEBcIn1cIgorICAgICAgZXhpdCAxCisgICAgZmkKKyAgZWxzZQorICAgICMgVGhlIHByb2dy
YW0gZG9lc24ndCBleGlzdC4KKyAgICBcJGVjaG8gXCJcJDA6IGVycm9yOiBcJHByb2dkaXIvXCRw
cm9ncmFtIGRvZXMgbm90IGV4aXN0XCIgMT4mMgorICAgIFwkZWNobyBcIlRoaXMgc2NyaXB0IGlz
IGp1c3QgYSB3cmFwcGVyIGZvciBcJHByb2dyYW0uXCIgMT4mMgorICAgIGVjaG8gXCJTZWUgdGhl
ICRQQUNLQUdFIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uXCIgMT4mMgorICAg
IGV4aXQgMQorICBmaQorZmlcCisiCisJY2htb2QgK3ggJG91dHB1dAorICAgICAgZmkKKyAgICAg
IGV4aXQgMAorICAgICAgOzsKKyAgICBlc2FjCisKKyAgICAjIFNlZSBpZiB3ZSBuZWVkIHRvIGJ1
aWxkIGFuIG9sZC1mYXNoaW9uZWQgYXJjaGl2ZS4KKyAgICBmb3Igb2xkbGliIGluICRvbGRsaWJz
OyBkbworCisgICAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IGNvbnZlbmllbmNl
OyB0aGVuCisJb2xkb2Jqcz0iJGxpYm9ianNfc2F2ZSIKKwlhZGRsaWJzPSIkY29udmVuaWVuY2Ui
CisJYnVpbGRfbGlidG9vbF9saWJzPW5vCisgICAgICBlbHNlCisJaWYgdGVzdCAiJGJ1aWxkX2xp
YnRvb2xfbGlicyIgPSBtb2R1bGU7IHRoZW4KKwkgIG9sZG9ianM9IiRsaWJvYmpzX3NhdmUiCisJ
ICBidWlsZF9saWJ0b29sX2xpYnM9bm8KKwllbHNlCisJICBvbGRvYmpzPSIkb2JqcyRvbGRfZGVw
bGlicyAiYCRlY2hvICJYJGxpYm9ianNfc2F2ZSIgfCAkU1AyTkwgfCAkWHNlZCAtZSAnL1wuJyR7
bGliZXh0fSckL2QnIC1lICcvXC5saWIkL2QnIC1lICIkbG8ybyIgfCAkTkwyU1BgCisJZmkKKwlh
ZGRsaWJzPSIkb2xkX2NvbnZlbmllbmNlIgorICAgICAgZmkKKworICAgICAgaWYgdGVzdCAtbiAi
JGFkZGxpYnMiOyB0aGVuCisJZ2VudG9wPSIkb3V0cHV0X29iamRpci8ke291dHB1dG5hbWV9eCIK
Kwkkc2hvdyAiJHtybX1yICRnZW50b3AiCisJJHJ1biAke3JtfXIgIiRnZW50b3AiCisJJHNob3cg
Im1rZGlyICRnZW50b3AiCisJJHJ1biBta2RpciAiJGdlbnRvcCIKKwlzdGF0dXM9JD8KKwlpZiB0
ZXN0ICRzdGF0dXMgLW5lIDAgJiYgdGVzdCAhIC1kICIkZ2VudG9wIjsgdGhlbgorCSAgZXhpdCAk
c3RhdHVzCisJZmkKKwlnZW5lcmF0ZWQ9IiRnZW5lcmF0ZWQgJGdlbnRvcCIKKworCSMgQWRkIGlu
IG1lbWJlcnMgZnJvbSBjb252ZW5pZW5jZSBhcmNoaXZlcy4KKwlmb3IgeGxpYiBpbiAkYWRkbGli
czsgZG8KKwkgICMgRXh0cmFjdCB0aGUgb2JqZWN0cy4KKwkgIGNhc2UgJHhsaWIgaW4KKwkgIFtc
XC9dKiB8IFtBLVphLXpdOltcXC9dKikgeGFicz0iJHhsaWIiIDs7CisJICAqKSB4YWJzPWBwd2Rg
Ii8keGxpYiIgOzsKKwkgIGVzYWMKKwkgIHhsaWI9YCRlY2hvICJYJHhsaWIiIHwgJFhzZWQgLWUg
J3MlXi4qLyUlJ2AKKwkgIHhkaXI9IiRnZW50b3AvJHhsaWIiCisKKwkgICRzaG93ICIke3JtfXIg
JHhkaXIiCisJICAkcnVuICR7cm19ciAiJHhkaXIiCisJICAkc2hvdyAibWtkaXIgJHhkaXIiCisJ
ICAkcnVuIG1rZGlyICIkeGRpciIKKwkgIHN0YXR1cz0kPworCSAgaWYgdGVzdCAkc3RhdHVzIC1u
ZSAwICYmIHRlc3QgISAtZCAiJHhkaXIiOyB0aGVuCisJICAgIGV4aXQgJHN0YXR1cworCSAgZmkK
KwkgICRzaG93ICIoY2QgJHhkaXIgJiYgJEFSIHggJHhhYnMpIgorCSAgJHJ1biBldmFsICIoY2Qg
XCR4ZGlyICYmICRBUiB4IFwkeGFicykiIHx8IGV4aXQgJD8KKworCSAgb2xkb2Jqcz0iJG9sZG9i
anMgImBmaW5kICR4ZGlyIC1uYW1lIFwqLiR7b2JqZXh0fSAtcHJpbnQgLW8gLW5hbWUgXCoubG8g
LXByaW50IHwgJE5MMlNQYAorCWRvbmUKKyAgICAgIGZpCisKKyAgICAgICMgRG8gZWFjaCBjb21t
YW5kIGluIHRoZSBhcmNoaXZlIGNvbW1hbmRzLgorICAgICAgaWYgdGVzdCAtbiAiJG9sZF9hcmNo
aXZlX2Zyb21fbmV3X2NtZHMiICYmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0
aGVuCisJZXZhbCBjbWRzPVwiJG9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHNcIgorICAgICAgZWxz
ZQorCSMgRW5zdXJlIHRoYXQgd2UgaGF2ZSAubyBvYmplY3RzIGluIHBsYWNlIGluIGNhc2Ugd2Ug
ZGVjaWRlZAorCSMgbm90IHRvIGJ1aWxkIGEgc2hhcmVkIGxpYnJhcnksIGFuZCBoYXZlIGZhbGxl
biBiYWNrIHRvIGJ1aWxkaW5nCisJIyBzdGF0aWMgbGlicyBldmVuIHRob3VnaCAtLWRpc2FibGUt
c3RhdGljIHdhcyBwYXNzZWQhCisJZm9yIG9sZG9iaiBpbiAkb2xkb2JqczsgZG8KKwkgIGlmIHRl
c3QgISAtZiAkb2xkb2JqOyB0aGVuCisJICAgIHhkaXI9YCRlY2hvICJYJG9sZG9iaiIgfCAkWHNl
ZCAtZSAncyUvW14vXSokJSUnYAorCSAgICBpZiB0ZXN0ICJYJHhkaXIiID0gIlgkb2xkb2JqIjsg
dGhlbgorCSAgICAgIHhkaXI9Ii4iCisJICAgIGVsc2UKKwkgICAgICB4ZGlyPSIkeGRpciIKKwkg
ICAgZmkKKwkgICAgYmFzZW9iaj1gJGVjaG8gIlgkb2xkb2JqIiB8ICRYc2VkIC1lICdzJV4uKi8l
JSdgCisJICAgIG9iaj1gJGVjaG8gIlgkYmFzZW9iaiIgfCAkWHNlZCAtZSAiJG8ybG8iYAorCSAg
ICAkc2hvdyAiKGNkICR4ZGlyICYmICR7TE5fU30gJG9iaiAkYmFzZW9iaikiCisJICAgICRydW4g
ZXZhbCAnKGNkICR4ZGlyICYmICR7TE5fU30gJG9iaiAkYmFzZW9iaiknIHx8IGV4aXQgJD8KKwkg
IGZpCisJZG9uZQorCisJZXZhbCBjbWRzPVwiJG9sZF9hcmNoaXZlX2NtZHNcIgorICAgICAgZmkK
KyAgICAgIElGUz0iJHtJRlM9IAl9Ijsgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCisgICAgICBm
b3IgY21kIGluICRjbWRzOyBkbworCUlGUz0iJHNhdmVfaWZzIgorCSRzaG93ICIkY21kIgorCSRy
dW4gZXZhbCAiJGNtZCIgfHwgZXhpdCAkPworICAgICAgZG9uZQorICAgICAgSUZTPSIkc2F2ZV9p
ZnMiCisgICAgZG9uZQorCisgICAgaWYgdGVzdCAtbiAiJGdlbmVyYXRlZCI7IHRoZW4KKyAgICAg
ICRzaG93ICIke3JtfXIkZ2VuZXJhdGVkIgorICAgICAgJHJ1biAke3JtfXIkZ2VuZXJhdGVkCisg
ICAgZmkKKworICAgICMgTm93IGNyZWF0ZSB0aGUgbGlidG9vbCBhcmNoaXZlLgorICAgIGNhc2Ug
JG91dHB1dCBpbgorICAgICoubGEpCisgICAgICBvbGRfbGlicmFyeT0KKyAgICAgIHRlc3QgIiRi
dWlsZF9vbGRfbGlicyIgPSB5ZXMgJiYgb2xkX2xpYnJhcnk9IiRsaWJuYW1lLiRsaWJleHQiCisg
ICAgICAkc2hvdyAiY3JlYXRpbmcgJG91dHB1dCIKKworICAgICAgIyBQcmVzZXJ2ZSBhbnkgdmFy
aWFibGVzIHRoYXQgbWF5IGFmZmVjdCBjb21waWxlciBiZWhhdmlvcgorICAgICAgZm9yIHZhciBp
biAkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms7IGRvCisJaWYgZXZhbCB0ZXN0IC16IFwiXCR7
JHZhcitzZXR9XCI7IHRoZW4KKwkgIHJlbGlua19jb21tYW5kPSJ7IHRlc3QgLXogXCJcJHskdmFy
K3NldH1cIiB8fCB1bnNldCAkdmFyIHx8IHsgJHZhcj07IGV4cG9ydCAkdmFyOyB9OyB9OyAkcmVs
aW5rX2NvbW1hbmQiCisJZWxpZiBldmFsIHZhcl92YWx1ZT1cJCR2YXI7IHRlc3QgLXogIiR2YXJf
dmFsdWUiOyB0aGVuCisJICByZWxpbmtfY29tbWFuZD0iJHZhcj07IGV4cG9ydCAkdmFyOyAkcmVs
aW5rX2NvbW1hbmQiCisJZWxzZQorCSAgdmFyX3ZhbHVlPWAkZWNobyAiWCR2YXJfdmFsdWUiIHwg
JFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAorCSAgcmVsaW5rX2NvbW1hbmQ9IiR2YXI9XCIk
dmFyX3ZhbHVlXCI7IGV4cG9ydCAkdmFyOyAkcmVsaW5rX2NvbW1hbmQiCisJZmkKKyAgICAgIGRv
bmUKKyAgICAgICMgUXVvdGUgdGhlIGxpbmsgY29tbWFuZCBmb3Igc2hpcHBpbmcuCisgICAgICBy
ZWxpbmtfY29tbWFuZD0iY2QgYHB3ZGA7ICRTSEVMTCAkMCAtLW1vZGU9cmVsaW5rICRsaWJ0b29s
X2FyZ3MiCisgICAgICByZWxpbmtfY29tbWFuZD1gJGVjaG8gIlgkcmVsaW5rX2NvbW1hbmQiIHwg
JFhzZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAorCisgICAgICAjIE9ubHkgY3JlYXRlIHRoZSBv
dXRwdXQgaWYgbm90IGEgZHJ5IHJ1bi4KKyAgICAgIGlmIHRlc3QgLXogIiRydW4iOyB0aGVuCisJ
Zm9yIGluc3RhbGxlZCBpbiBubyB5ZXM7IGRvCisJICBpZiB0ZXN0ICIkaW5zdGFsbGVkIiA9IHll
czsgdGhlbgorCSAgICBpZiB0ZXN0IC16ICIkaW5zdGFsbF9saWJkaXIiOyB0aGVuCisJICAgICAg
YnJlYWsKKwkgICAgZmkKKwkgICAgb3V0cHV0PSIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFtZSJp
CisJICAgICMgUmVwbGFjZSBhbGwgdW5pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMgd2l0aCB0
aGUgaW5zdGFsbGVkIG9uZXMKKwkgICAgbmV3ZGVwZW5kZW5jeV9saWJzPQorCSAgICBmb3IgZGVw
bGliIGluICRkZXBlbmRlbmN5X2xpYnM7IGRvCisJICAgICAgY2FzZSAkZGVwbGliIGluCisJICAg
ICAgKi5sYSkKKwkJbmFtZT1gJGVjaG8gIlgkZGVwbGliIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdg
CisJCWV2YWwgbGliZGlyPWBzZWQgLW4gLWUgJ3MvXmxpYmRpcj1cKC4qXCkkL1wxL3AnICRkZXBs
aWJgCisJCWlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCisJCSAgJGVjaG8gIiRtb2RlbmFtZTog
XGAkZGVwbGliJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hpdmUiIDE+JjIKKwkJICBleGl0
IDEKKwkJZmkKKwkJbmV3ZGVwZW5kZW5jeV9saWJzPSIkbmV3ZGVwZW5kZW5jeV9saWJzICRsaWJk
aXIvJG5hbWUiCisJCTs7CisJICAgICAgKikgbmV3ZGVwZW5kZW5jeV9saWJzPSIkbmV3ZGVwZW5k
ZW5jeV9saWJzICRkZXBsaWIiIDs7CisJICAgICAgZXNhYworCSAgICBkb25lCisJICAgIGRlcGVu
ZGVuY3lfbGlicz0iJG5ld2RlcGVuZGVuY3lfbGlicyIKKwkgICAgbmV3ZGxmaWxlcz0KKwkgICAg
Zm9yIGxpYiBpbiAkZGxmaWxlczsgZG8KKwkgICAgICBuYW1lPWAkZWNobyAiWCRsaWIiIHwgJFhz
ZWQgLWUgJ3MlXi4qLyUlJ2AKKwkgICAgICBldmFsIGxpYmRpcj1gc2VkIC1uIC1lICdzL15saWJk
aXI9XCguKlwpJC9cMS9wJyAkbGliYAorCSAgICAgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVu
CisJCSRlY2hvICIkbW9kZW5hbWU6IFxgJGxpYicgaXMgbm90IGEgdmFsaWQgbGlidG9vbCBhcmNo
aXZlIiAxPiYyCisJCWV4aXQgMQorCSAgICAgIGZpCisJICAgICAgbmV3ZGxmaWxlcz0iJG5ld2Rs
ZmlsZXMgJGxpYmRpci8kbmFtZSIKKwkgICAgZG9uZQorCSAgICBkbGZpbGVzPSIkbmV3ZGxmaWxl
cyIKKwkgICAgbmV3ZGxwcmVmaWxlcz0KKwkgICAgZm9yIGxpYiBpbiAkZGxwcmVmaWxlczsgZG8K
KwkgICAgICBuYW1lPWAkZWNobyAiWCRsaWIiIHwgJFhzZWQgLWUgJ3MlXi4qLyUlJ2AKKwkgICAg
ICBldmFsIGxpYmRpcj1gc2VkIC1uIC1lICdzL15saWJkaXI9XCguKlwpJC9cMS9wJyAkbGliYAor
CSAgICAgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCisJCSRlY2hvICIkbW9kZW5hbWU6IFxg
JGxpYicgaXMgbm90IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIiAxPiYyCisJCWV4aXQgMQorCSAg
ICAgIGZpCisJICAgICAgbmV3ZGxwcmVmaWxlcz0iJG5ld2RscHJlZmlsZXMgJGxpYmRpci8kbmFt
ZSIKKwkgICAgZG9uZQorCSAgICBkbHByZWZpbGVzPSIkbmV3ZGxwcmVmaWxlcyIKKwkgIGZpCisJ
ICAkcm0gJG91dHB1dAorCSAgIyBwbGFjZSBkbG5hbWUgaW4gY29ycmVjdCBwb3NpdGlvbiBmb3Ig
Y3lnd2luCisJICB0ZGxuYW1lPSRkbG5hbWUKKwkgIGNhc2UgJGhvc3QsJG91dHB1dCwkaW5zdGFs
bGVkLCRtb2R1bGUsJGRsbmFtZSBpbgorCSAgICAqY3lnd2luKiwqbGFpLHllcyxubywqLmRsbCkg
dGRsbmFtZT0uLi9iaW4vJGRsbmFtZSA7OworCSAgZXNhYworCSAgJGVjaG8gPiAkb3V0cHV0ICJc
CisjICRvdXRwdXRuYW1lIC0gYSBsaWJ0b29sIGxpYnJhcnkgZmlsZQorIyBHZW5lcmF0ZWQgYnkg
JFBST0dSQU0gLSBHTlUgJFBBQ0tBR0UgJFZFUlNJT04kVElNRVNUQU1QCisjCisjIFBsZWFzZSBE
TyBOT1QgZGVsZXRlIHRoaXMgZmlsZSEKKyMgSXQgaXMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHRo
ZSBsaWJyYXJ5LgorCisjIFRoZSBuYW1lIHRoYXQgd2UgY2FuIGRsb3BlbigzKS4KK2RsbmFtZT0n
JHRkbG5hbWUnCisKKyMgTmFtZXMgb2YgdGhpcyBsaWJyYXJ5LgorbGlicmFyeV9uYW1lcz0nJGxp
YnJhcnlfbmFtZXMnCisKKyMgVGhlIG5hbWUgb2YgdGhlIHN0YXRpYyBhcmNoaXZlLgorb2xkX2xp
YnJhcnk9JyRvbGRfbGlicmFyeScKKworIyBMaWJyYXJpZXMgdGhhdCB0aGlzIG9uZSBkZXBlbmRz
IHVwb24uCitkZXBlbmRlbmN5X2xpYnM9JyRkZXBlbmRlbmN5X2xpYnMnCisKKyMgVmVyc2lvbiBp
bmZvcm1hdGlvbiBmb3IgJGxpYm5hbWUuCitjdXJyZW50PSRjdXJyZW50CithZ2U9JGFnZQorcmV2
aXNpb249JHJldmlzaW9uCisKKyMgSXMgdGhpcyBhbiBhbHJlYWR5IGluc3RhbGxlZCBsaWJyYXJ5
PworaW5zdGFsbGVkPSRpbnN0YWxsZWQKKworIyBGaWxlcyB0byBkbG9wZW4vZGxwcmVvcGVuCitk
bG9wZW49JyRkbGZpbGVzJworZGxwcmVvcGVuPSckZGxwcmVmaWxlcycKKworIyBEaXJlY3Rvcnkg
dGhhdCB0aGlzIGxpYnJhcnkgbmVlZHMgdG8gYmUgaW5zdGFsbGVkIGluOgorbGliZGlyPSckaW5z
dGFsbF9saWJkaXInIgorCSAgaWYgdGVzdCAiJGluc3RhbGxlZCIgPSBubyAmJiB0ZXN0ICRuZWVk
X3JlbGluayA9IHllczsgdGhlbgorCSAgICAkZWNobyA+PiAkb3V0cHV0ICJcCityZWxpbmtfY29t
bWFuZD1cIiRyZWxpbmtfY29tbWFuZFwiIgorCSAgZmkKKwlkb25lCisgICAgICBmaQorCisgICAg
ICAjIERvIGEgc3ltYm9saWMgbGluayBzbyB0aGF0IHRoZSBsaWJ0b29sIGFyY2hpdmUgY2FuIGJl
IGZvdW5kIGluCisgICAgICAjIExEX0xJQlJBUllfUEFUSCBiZWZvcmUgdGhlIHByb2dyYW0gaXMg
aW5zdGFsbGVkLgorICAgICAgJHNob3cgIihjZCAkb3V0cHV0X29iamRpciAmJiAkcm0gJG91dHB1
dG5hbWUgJiYgJExOX1MgLi4vJG91dHB1dG5hbWUgJG91dHB1dG5hbWUpIgorICAgICAgJHJ1biBl
dmFsICcoY2QgJG91dHB1dF9vYmpkaXIgJiYgJHJtICRvdXRwdXRuYW1lICYmICRMTl9TIC4uLyRv
dXRwdXRuYW1lICRvdXRwdXRuYW1lKScgfHwgZXhpdCAkPworICAgICAgOzsKKyAgICBlc2FjCisg
ICAgZXhpdCAwCisgICAgOzsKKworICAjIGxpYnRvb2wgaW5zdGFsbCBtb2RlCisgIGluc3RhbGwp
CisgICAgbW9kZW5hbWU9IiRtb2RlbmFtZTogaW5zdGFsbCIKKworICAgICMgVGhlcmUgbWF5IGJl
IGFuIG9wdGlvbmFsIHNoKDEpIGFyZ3VtZW50IGF0IHRoZSBiZWdpbm5pbmcgb2YKKyAgICAjIGlu
c3RhbGxfcHJvZyAoZXNwZWNpYWxseSBvbiBXaW5kb3dzIE5UKS4KKyAgICBpZiB0ZXN0ICIkbm9u
b3B0IiA9ICIkU0hFTEwiIHx8IHRlc3QgIiRub25vcHQiID0gL2Jpbi9zaCB8fAorICAgICAgICMg
QWxsb3cgdGhlIHVzZSBvZiBHTlUgc2h0b29sJ3MgaW5zdGFsbCBjb21tYW5kLgorICAgICAgICRl
Y2hvICJYJG5vbm9wdCIgfCAkWHNlZCB8IGdyZXAgc2h0b29sID4gL2Rldi9udWxsOyB0aGVuCisg
ICAgICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgaXQuCisgICAgICBhcmc9YCRlY2hvICJYJG5vbm9w
dCIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCisgICAgICBjYXNlICRhcmcgaW4KKyAg
ICAgICpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qKQorCWFyZz0i
XCIkYXJnXCIiCisJOzsKKyAgICAgIGVzYWMKKyAgICAgIGluc3RhbGxfcHJvZz0iJGFyZyAiCisg
ICAgICBhcmc9IiQxIgorICAgICAgc2hpZnQKKyAgICBlbHNlCisgICAgICBpbnN0YWxsX3Byb2c9
CisgICAgICBhcmc9IiRub25vcHQiCisgICAgZmkKKworICAgICMgVGhlIHJlYWwgZmlyc3QgYXJn
dW1lbnQgc2hvdWxkIGJlIHRoZSBuYW1lIG9mIHRoZSBpbnN0YWxsYXRpb24gcHJvZ3JhbS4KKyAg
ICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgaXQuCisgICAgYXJnPWAkZWNobyAiWCRhcmciIHwgJFhz
ZWQgLWUgIiRzZWRfcXVvdGVfc3Vic3QiYAorICAgIGNhc2UgJGFyZyBpbgorICAgICpbXFtcflwj
XF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0qKQorICAgICAgYXJnPSJcIiRhcmdc
IiIKKyAgICAgIDs7CisgICAgZXNhYworICAgIGluc3RhbGxfcHJvZz0iJGluc3RhbGxfcHJvZyRh
cmciCisKKyAgICAjIFdlIG5lZWQgdG8gYWNjZXB0IGF0IGxlYXN0IGFsbCB0aGUgQlNEIGluc3Rh
bGwgZmxhZ3MuCisgICAgZGVzdD0KKyAgICBmaWxlcz0KKyAgICBvcHRzPQorICAgIHByZXY9Cisg
ICAgaW5zdGFsbF90eXBlPQorICAgIGlzZGlyPW5vCisgICAgc3RyaXBtZT0KKyAgICBmb3IgYXJn
CisgICAgZG8KKyAgICAgIGlmIHRlc3QgLW4gIiRkZXN0IjsgdGhlbgorCWZpbGVzPSIkZmlsZXMg
JGRlc3QiCisJZGVzdD0iJGFyZyIKKwljb250aW51ZQorICAgICAgZmkKKworICAgICAgY2FzZSAk
YXJnIGluCisgICAgICAtZCkgaXNkaXI9eWVzIDs7CisgICAgICAtZikgcHJldj0iLWYiIDs7Cisg
ICAgICAtZykgcHJldj0iLWciIDs7CisgICAgICAtbSkgcHJldj0iLW0iIDs7CisgICAgICAtbykg
cHJldj0iLW8iIDs7CisgICAgICAtcykKKwlzdHJpcG1lPSIgLXMiCisJY29udGludWUKKwk7Owor
ICAgICAgLSopIDs7CisKKyAgICAgICopCisJIyBJZiB0aGUgcHJldmlvdXMgb3B0aW9uIG5lZWRl
ZCBhbiBhcmd1bWVudCwgdGhlbiBza2lwIGl0LgorCWlmIHRlc3QgLW4gIiRwcmV2IjsgdGhlbgor
CSAgcHJldj0KKwllbHNlCisJICBkZXN0PSIkYXJnIgorCSAgY29udGludWUKKwlmaQorCTs7Cisg
ICAgICBlc2FjCisKKyAgICAgICMgQWVzdGhldGljYWxseSBxdW90ZSB0aGUgYXJndW1lbnQuCisg
ICAgICBhcmc9YCRlY2hvICJYJGFyZyIgfCAkWHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCisg
ICAgICBjYXNlICRhcmcgaW4KKyAgICAgICpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/
XCdcIFwJXSp8Kl0qKQorCWFyZz0iXCIkYXJnXCIiCisJOzsKKyAgICAgIGVzYWMKKyAgICAgIGlu
c3RhbGxfcHJvZz0iJGluc3RhbGxfcHJvZyAkYXJnIgorICAgIGRvbmUKKworICAgIGlmIHRlc3Qg
LXogIiRpbnN0YWxsX3Byb2ciOyB0aGVuCisgICAgICAkZWNobyAiJG1vZGVuYW1lOiB5b3UgbXVz
dCBzcGVjaWZ5IGFuIGluc3RhbGwgcHJvZ3JhbSIgMT4mMgorICAgICAgJGVjaG8gIiRoZWxwIiAx
PiYyCisgICAgICBleGl0IDEKKyAgICBmaQorCisgICAgaWYgdGVzdCAtbiAiJHByZXYiOyB0aGVu
CisgICAgICAkZWNobyAiJG1vZGVuYW1lOiB0aGUgXGAkcHJldicgb3B0aW9uIHJlcXVpcmVzIGFu
IGFyZ3VtZW50IiAxPiYyCisgICAgICAkZWNobyAiJGhlbHAiIDE+JjIKKyAgICAgIGV4aXQgMQor
ICAgIGZpCisKKyAgICBpZiB0ZXN0IC16ICIkZmlsZXMiOyB0aGVuCisgICAgICBpZiB0ZXN0IC16
ICIkZGVzdCI7IHRoZW4KKwkkZWNobyAiJG1vZGVuYW1lOiBubyBmaWxlIG9yIGRlc3RpbmF0aW9u
IHNwZWNpZmllZCIgMT4mMgorICAgICAgZWxzZQorCSRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0
IHNwZWNpZnkgYSBkZXN0aW5hdGlvbiIgMT4mMgorICAgICAgZmkKKyAgICAgICRlY2hvICIkaGVs
cCIgMT4mMgorICAgICAgZXhpdCAxCisgICAgZmkKKworICAgICMgU3RyaXAgYW55IHRyYWlsaW5n
IHNsYXNoIGZyb20gdGhlIGRlc3RpbmF0aW9uLgorICAgIGRlc3Q9YCRlY2hvICJYJGRlc3QiIHwg
JFhzZWQgLWUgJ3MlLyQlJSdgCisKKyAgICAjIENoZWNrIHRvIHNlZSB0aGF0IHRoZSBkZXN0aW5h
dGlvbiBpcyBhIGRpcmVjdG9yeS4KKyAgICB0ZXN0IC1kICIkZGVzdCIgJiYgaXNkaXI9eWVzCisg
ICAgaWYgdGVzdCAiJGlzZGlyIiA9IHllczsgdGhlbgorICAgICAgZGVzdGRpcj0iJGRlc3QiCisg
ICAgICBkZXN0bmFtZT0KKyAgICBlbHNlCisgICAgICBkZXN0ZGlyPWAkZWNobyAiWCRkZXN0IiB8
ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgCisgICAgICB0ZXN0ICJYJGRlc3RkaXIiID0gIlgkZGVz
dCIgJiYgZGVzdGRpcj0uCisgICAgICBkZXN0bmFtZT1gJGVjaG8gIlgkZGVzdCIgfCAkWHNlZCAt
ZSAncyVeLiovJSUnYAorCisgICAgICAjIE5vdCBhIGRpcmVjdG9yeSwgc28gY2hlY2sgdG8gc2Vl
IHRoYXQgdGhlcmUgaXMgb25seSBvbmUgZmlsZSBzcGVjaWZpZWQuCisgICAgICBzZXQgZHVtbXkg
JGZpbGVzCisgICAgICBpZiB0ZXN0ICQjIC1ndCAyOyB0aGVuCisJJGVjaG8gIiRtb2RlbmFtZTog
XGAkZGVzdCcgaXMgbm90IGEgZGlyZWN0b3J5IiAxPiYyCisJJGVjaG8gIiRoZWxwIiAxPiYyCisJ
ZXhpdCAxCisgICAgICBmaQorICAgIGZpCisgICAgY2FzZSAkZGVzdGRpciBpbgorICAgIFtcXC9d
KiB8IFtBLVphLXpdOltcXC9dKikgOzsKKyAgICAqKQorICAgICAgZm9yIGZpbGUgaW4gJGZpbGVz
OyBkbworCWNhc2UgJGZpbGUgaW4KKwkqLmxvKSA7OworCSopCisJICAkZWNobyAiJG1vZGVuYW1l
OiBcYCRkZXN0ZGlyJyBtdXN0IGJlIGFuIGFic29sdXRlIGRpcmVjdG9yeSBuYW1lIiAxPiYyCisJ
ICAkZWNobyAiJGhlbHAiIDE+JjIKKwkgIGV4aXQgMQorCSAgOzsKKwllc2FjCisgICAgICBkb25l
CisgICAgICA7OworICAgIGVzYWMKKworICAgICMgVGhpcyB2YXJpYWJsZSB0ZWxscyB3cmFwcGVy
IHNjcmlwdHMganVzdCB0byBzZXQgdmFyaWFibGVzIHJhdGhlcgorICAgICMgdGhhbiBydW5uaW5n
IHRoZWlyIHByb2dyYW1zLgorICAgIGxpYnRvb2xfaW5zdGFsbF9tYWdpYz0iJG1hZ2ljIgorCisg
ICAgc3RhdGljbGlicz0KKyAgICBmdXR1cmVfbGliZGlycz0KKyAgICBjdXJyZW50X2xpYmRpcnM9
CisgICAgZm9yIGZpbGUgaW4gJGZpbGVzOyBkbworCisgICAgICAjIERvIGVhY2ggaW5zdGFsbGF0
aW9uLgorICAgICAgY2FzZSAkZmlsZSBpbgorICAgICAgKi4kbGliZXh0KQorCSMgRG8gdGhlIHN0
YXRpYyBsaWJyYXJpZXMgbGF0ZXIuCisJc3RhdGljbGlicz0iJHN0YXRpY2xpYnMgJGZpbGUiCisJ
OzsKKworICAgICAgKi5sYSkKKwkjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEg
bGlidG9vbCBhcmNoaXZlLgorCWlmIChzZWQgLWUgJzJxJyAkZmlsZSB8IGVncmVwICJeIyBHZW5l
cmF0ZWQgYnkgLiokUEFDS0FHRSIpID4vZGV2L251bGwgMj4mMTsgdGhlbiA6CisJZWxzZQorCSAg
JGVjaG8gIiRtb2RlbmFtZTogXGAkZmlsZScgaXMgbm90IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZl
IiAxPiYyCisJICAkZWNobyAiJGhlbHAiIDE+JjIKKwkgIGV4aXQgMQorCWZpCisKKwlsaWJyYXJ5
X25hbWVzPQorCW9sZF9saWJyYXJ5PQorCXJlbGlua19jb21tYW5kPQorCSMgSWYgdGhlcmUgaXMg
bm8gZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25lLgorCWNhc2UgJGZpbGUgaW4KKwkq
LyogfCAqXFwqKSAuICRmaWxlIDs7CisJKikgLiAuLyRmaWxlIDs7CisJZXNhYworCisJIyBBZGQg
dGhlIGxpYmRpciB0byBjdXJyZW50X2xpYmRpcnMgaWYgaXQgaXMgdGhlIGRlc3RpbmF0aW9uLgor
CWlmIHRlc3QgIlgkZGVzdGRpciIgPSAiWCRsaWJkaXIiOyB0aGVuCisJICBjYXNlICIkY3VycmVu
dF9saWJkaXJzICIgaW4KKwkgICoiICRsaWJkaXIgIiopIDs7CisJICAqKSBjdXJyZW50X2xpYmRp
cnM9IiRjdXJyZW50X2xpYmRpcnMgJGxpYmRpciIgOzsKKwkgIGVzYWMKKwllbHNlCisJICAjIE5v
dGUgdGhlIGxpYmRpciBhcyBhIGZ1dHVyZSBsaWJkaXIuCisJICBjYXNlICIkZnV0dXJlX2xpYmRp
cnMgIiBpbgorCSAgKiIgJGxpYmRpciAiKikgOzsKKwkgICopIGZ1dHVyZV9saWJkaXJzPSIkZnV0
dXJlX2xpYmRpcnMgJGxpYmRpciIgOzsKKwkgIGVzYWMKKwlmaQorCisJZGlyPWAkZWNobyAiWCRm
aWxlIiB8ICRYc2VkIC1lICdzJS9bXi9dKiQlJSdgLworCXRlc3QgIlgkZGlyIiA9ICJYJGZpbGUv
IiAmJiBkaXI9CisJZGlyPSIkZGlyJG9iamRpciIKKworCWlmIHRlc3QgLW4gIiRyZWxpbmtfY29t
bWFuZCI7IHRoZW4KKwkgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6IHJlbGlua2luZyBcYCRm
aWxlJyIgMT4mMgorCSAgJHNob3cgIiRyZWxpbmtfY29tbWFuZCIKKwkgIGlmICRydW4gZXZhbCAi
JHJlbGlua19jb21tYW5kIjsgdGhlbiA6CisJICBlbHNlCisJICAgICRlY2hvICIkbW9kZW5hbWU6
IGVycm9yOiByZWxpbmsgXGAkZmlsZScgd2l0aCB0aGUgYWJvdmUgY29tbWFuZCBiZWZvcmUgaW5z
dGFsbGluZyBpdCIgMT4mMgorCSAgICBjb250aW51ZQorCSAgZmkKKwlmaQorCisJIyBTZWUgdGhl
IG5hbWVzIG9mIHRoZSBzaGFyZWQgbGlicmFyeS4KKwlzZXQgZHVtbXkgJGxpYnJhcnlfbmFtZXMK
KwlpZiB0ZXN0IC1uICIkMiI7IHRoZW4KKwkgIHJlYWxuYW1lPSIkMiIKKwkgIHNoaWZ0CisJICBz
aGlmdAorCisJICBzcmNuYW1lPSIkcmVhbG5hbWUiCisJICB0ZXN0IC1uICIkcmVsaW5rX2NvbW1h
bmQiICYmIHNyY25hbWU9IiRyZWFsbmFtZSJUCisKKwkgICMgSW5zdGFsbCB0aGUgc2hhcmVkIGxp
YnJhcnkgYW5kIGJ1aWxkIHRoZSBzeW1saW5rcy4KKwkgICRzaG93ICIkaW5zdGFsbF9wcm9nICRk
aXIvJHNyY25hbWUgJGRlc3RkaXIvJHJlYWxuYW1lIgorCSAgJHJ1biBldmFsICIkaW5zdGFsbF9w
cm9nICRkaXIvJHNyY25hbWUgJGRlc3RkaXIvJHJlYWxuYW1lIiB8fCBleGl0ICQ/CisJICBpZiB0
ZXN0IC1uICIkc3RyaXBtZSIgJiYgdGVzdCAtbiAiJHN0cmlwbGliIjsgdGhlbgorCSAgICAkc2hv
dyAiJHN0cmlwbGliICRkZXN0ZGlyLyRyZWFsbmFtZSIKKwkgICAgJHJ1biBldmFsICIkc3RyaXBs
aWIgJGRlc3RkaXIvJHJlYWxuYW1lIiB8fCBleGl0ICQ/CisJICBmaQorCisJICBpZiB0ZXN0ICQj
IC1ndCAwOyB0aGVuCisJICAgICMgRGVsZXRlIHRoZSBvbGQgc3ltbGlua3MsIGFuZCBjcmVhdGUg
bmV3IG9uZXMuCisJICAgIGZvciBsaW5rbmFtZQorCSAgICBkbworCSAgICAgIGlmIHRlc3QgIiRs
aW5rbmFtZSIgIT0gIiRyZWFsbmFtZSI7IHRoZW4KKwkJJHNob3cgIihjZCAkZGVzdGRpciAmJiAk
cm0gJGxpbmtuYW1lICYmICRMTl9TICRyZWFsbmFtZSAkbGlua25hbWUpIgorCQkkcnVuIGV2YWwg
IihjZCAkZGVzdGRpciAmJiAkcm0gJGxpbmtuYW1lICYmICRMTl9TICRyZWFsbmFtZSAkbGlua25h
bWUpIgorCSAgICAgIGZpCisJICAgIGRvbmUKKwkgIGZpCisKKwkgICMgRG8gZWFjaCBjb21tYW5k
IGluIHRoZSBwb3N0aW5zdGFsbCBjb21tYW5kcy4KKwkgIGxpYj0iJGRlc3RkaXIvJHJlYWxuYW1l
IgorCSAgZXZhbCBjbWRzPVwiJHBvc3RpbnN0YWxsX2NtZHNcIgorCSAgSUZTPSIke0lGUz0gCX0i
OyBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKKwkgIGZvciBjbWQgaW4gJGNtZHM7IGRvCisJICAg
IElGUz0iJHNhdmVfaWZzIgorCSAgICAkc2hvdyAiJGNtZCIKKwkgICAgJHJ1biBldmFsICIkY21k
IiB8fCBleGl0ICQ/CisJICBkb25lCisJICBJRlM9IiRzYXZlX2lmcyIKKwlmaQorCisJIyBJbnN0
YWxsIHRoZSBwc2V1ZG8tbGlicmFyeSBmb3IgaW5mb3JtYXRpb24gcHVycG9zZXMuCisJbmFtZT1g
JGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAorCWluc3RuYW1lPSIkZGlyLyRu
YW1lImkKKwkkc2hvdyAiJGluc3RhbGxfcHJvZyAkaW5zdG5hbWUgJGRlc3RkaXIvJG5hbWUiCisJ
JHJ1biBldmFsICIkaW5zdGFsbF9wcm9nICRpbnN0bmFtZSAkZGVzdGRpci8kbmFtZSIgfHwgZXhp
dCAkPworCisJIyBNYXliZSBpbnN0YWxsIHRoZSBzdGF0aWMgbGlicmFyeSwgdG9vLgorCXRlc3Qg
LW4gIiRvbGRfbGlicmFyeSIgJiYgc3RhdGljbGlicz0iJHN0YXRpY2xpYnMgJGRpci8kb2xkX2xp
YnJhcnkiCisJOzsKKworICAgICAgKi5sbykKKwkjIEluc3RhbGwgKGkuZS4gY29weSkgYSBsaWJ0
b29sIG9iamVjdC4KKworCSMgRmlndXJlIG91dCBkZXN0aW5hdGlvbiBmaWxlIG5hbWUsIGlmIGl0
IHdhc24ndCBhbHJlYWR5IHNwZWNpZmllZC4KKwlpZiB0ZXN0IC1uICIkZGVzdG5hbWUiOyB0aGVu
CisJICBkZXN0ZmlsZT0iJGRlc3RkaXIvJGRlc3RuYW1lIgorCWVsc2UKKwkgIGRlc3RmaWxlPWAk
ZWNobyAiWCRmaWxlIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCisJICBkZXN0ZmlsZT0iJGRlc3Rk
aXIvJGRlc3RmaWxlIgorCWZpCisKKwkjIERlZHVjZSB0aGUgbmFtZSBvZiB0aGUgZGVzdGluYXRp
b24gb2xkLXN0eWxlIG9iamVjdCBmaWxlLgorCWNhc2UgJGRlc3RmaWxlIGluCisJKi5sbykKKwkg
IHN0YXRpY2Rlc3Q9YCRlY2hvICJYJGRlc3RmaWxlIiB8ICRYc2VkIC1lICIkbG8ybyJgCisJICA7
OworCSouJG9iamV4dCkKKwkgIHN0YXRpY2Rlc3Q9IiRkZXN0ZmlsZSIKKwkgIGRlc3RmaWxlPQor
CSAgOzsKKwkqKQorCSAgJGVjaG8gIiRtb2RlbmFtZTogY2Fubm90IGNvcHkgYSBsaWJ0b29sIG9i
amVjdCB0byBcYCRkZXN0ZmlsZSciIDE+JjIKKwkgICRlY2hvICIkaGVscCIgMT4mMgorCSAgZXhp
dCAxCisJICA7OworCWVzYWMKKworCSMgSW5zdGFsbCB0aGUgbGlidG9vbCBvYmplY3QgaWYgcmVx
dWVzdGVkLgorCWlmIHRlc3QgLW4gIiRkZXN0ZmlsZSI7IHRoZW4KKwkgICRzaG93ICIkaW5zdGFs
bF9wcm9nICRmaWxlICRkZXN0ZmlsZSIKKwkgICRydW4gZXZhbCAiJGluc3RhbGxfcHJvZyAkZmls
ZSAkZGVzdGZpbGUiIHx8IGV4aXQgJD8KKwlmaQorCisJIyBJbnN0YWxsIHRoZSBvbGQgb2JqZWN0
IGlmIGVuYWJsZWQuCisJaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgorCSAg
IyBEZWR1Y2UgdGhlIG5hbWUgb2YgdGhlIG9sZC1zdHlsZSBvYmplY3QgZmlsZS4KKwkgIHN0YXRp
Y29iaj1gJGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAiJGxvMm8iYAorCisJICAkc2hvdyAiJGlu
c3RhbGxfcHJvZyAkc3RhdGljb2JqICRzdGF0aWNkZXN0IgorCSAgJHJ1biBldmFsICIkaW5zdGFs
bF9wcm9nIFwkc3RhdGljb2JqIFwkc3RhdGljZGVzdCIgfHwgZXhpdCAkPworCWZpCisJZXhpdCAw
CisJOzsKKworICAgICAgKikKKwkjIEZpZ3VyZSBvdXQgZGVzdGluYXRpb24gZmlsZSBuYW1lLCBp
ZiBpdCB3YXNuJ3QgYWxyZWFkeSBzcGVjaWZpZWQuCisJaWYgdGVzdCAtbiAiJGRlc3RuYW1lIjsg
dGhlbgorCSAgZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0bmFtZSIKKwllbHNlCisJICBkZXN0Zmls
ZT1gJGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAorCSAgZGVzdGZpbGU9IiRk
ZXN0ZGlyLyRkZXN0ZmlsZSIKKwlmaQorCisJIyBEbyBhIHRlc3QgdG8gc2VlIGlmIHRoaXMgaXMg
cmVhbGx5IGEgbGlidG9vbCBwcm9ncmFtLgorCWlmIChzZWQgLWUgJzRxJyAkZmlsZSB8IGVncmVw
ICJeIyBHZW5lcmF0ZWQgYnkgLiokUEFDS0FHRSIpID4vZGV2L251bGwgMj4mMTsgdGhlbgorCSAg
bm90aW5zdF9kZXBsaWJzPQorCSAgcmVsaW5rX2NvbW1hbmQ9CisKKwkgICMgSWYgdGhlcmUgaXMg
bm8gZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25lLgorCSAgY2FzZSAkZmlsZSBpbgor
CSAgKi8qIHwgKlxcKikgLiAkZmlsZSA7OworCSAgKikgLiAuLyRmaWxlIDs7CisJICBlc2FjCisK
KwkgICMgQ2hlY2sgdGhlIHZhcmlhYmxlcyB0aGF0IHNob3VsZCBoYXZlIGJlZW4gc2V0LgorCSAg
aWYgdGVzdCAteiAiJG5vdGluc3RfZGVwbGlicyI7IHRoZW4KKwkgICAgJGVjaG8gIiRtb2RlbmFt
ZTogaW52YWxpZCBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0IFxgJGZpbGUnIiAxPiYyCisJICAgIGV4
aXQgMQorCSAgZmkKKworCSAgZmluYWxpemU9eWVzCisJICBmb3IgbGliIGluICRub3RpbnN0X2Rl
cGxpYnM7IGRvCisJICAgICMgQ2hlY2sgdG8gc2VlIHRoYXQgZWFjaCBsaWJyYXJ5IGlzIGluc3Rh
bGxlZC4KKwkgICAgbGliZGlyPQorCSAgICBpZiB0ZXN0IC1mICIkbGliIjsgdGhlbgorCSAgICAg
ICMgSWYgdGhlcmUgaXMgbm8gZGlyZWN0b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25lLgorCSAg
ICAgIGNhc2UgJGxpYiBpbgorCSAgICAgICovKiB8ICpcXCopIC4gJGxpYiA7OworCSAgICAgICop
IC4gLi8kbGliIDs7CisJICAgICAgZXNhYworCSAgICBmaQorCSAgICBsaWJmaWxlPSIkbGliZGly
LyJgJGVjaG8gIlgkbGliIiB8ICRYc2VkIC1lICdzJV4uKi8lJWcnYCAjIyMgdGVzdHN1aXRlOiBz
a2lwIG5lc3RlZCBxdW90aW5nIHRlc3QKKwkgICAgaWYgdGVzdCAtbiAiJGxpYmRpciIgJiYgdGVz
dCAhIC1mICIkbGliZmlsZSI7IHRoZW4KKwkgICAgICAkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5n
OiBcYCRsaWInIGhhcyBub3QgYmVlbiBpbnN0YWxsZWQgaW4gXGAkbGliZGlyJyIgMT4mMgorCSAg
ICAgIGZpbmFsaXplPW5vCisJICAgIGZpCisJICBkb25lCisKKwkgIHJlbGlua19jb21tYW5kPQor
CSAgIyBJZiB0aGVyZSBpcyBubyBkaXJlY3RvcnkgY29tcG9uZW50LCB0aGVuIGFkZCBvbmUuCisJ
ICBjYXNlICRmaWxlIGluCisJICAqLyogfCAqXFwqKSAuICRmaWxlIDs7CisJICAqKSAuIC4vJGZp
bGUgOzsKKwkgIGVzYWMKKworCSAgb3V0cHV0bmFtZT0KKwkgIGlmIHRlc3QgIiRmYXN0X2luc3Rh
bGwiID0gbm8gJiYgdGVzdCAtbiAiJHJlbGlua19jb21tYW5kIjsgdGhlbgorCSAgICBpZiB0ZXN0
ICIkZmluYWxpemUiID0geWVzICYmIHRlc3QgLXogIiRydW4iOyB0aGVuCisJICAgICAgdG1wZGly
PSIvdG1wIgorCSAgICAgIHRlc3QgLW4gIiRUTVBESVIiICYmIHRtcGRpcj0iJFRNUERJUiIKKwkg
ICAgICB0bXBkaXI9IiR0bXBkaXIvbGlidG9vbC0kJCIKKwkgICAgICBpZiAkbWtkaXIgLXAgIiR0
bXBkaXIiICYmIGNobW9kIDcwMCAiJHRtcGRpciI7IHRoZW4gOgorCSAgICAgIGVsc2UKKwkJJGVj
aG8gIiRtb2RlbmFtZTogZXJyb3I6IGNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGRpcmVjdG9yeSBc
YCR0bXBkaXInIiAxPiYyCisJCWNvbnRpbnVlCisJICAgICAgZmkKKwkgICAgICBmaWxlPWAkZWNo
byAiWCRmaWxlIiB8ICRYc2VkIC1lICdzJV4uKi8lJSdgCisJICAgICAgb3V0cHV0bmFtZT0iJHRt
cGRpci8kZmlsZSIKKwkgICAgICAjIFJlcGxhY2UgdGhlIG91dHB1dCBmaWxlIHNwZWNpZmljYXRp
b24uCisJICAgICAgcmVsaW5rX2NvbW1hbmQ9YCRlY2hvICJYJHJlbGlua19jb21tYW5kIiB8ICRY
c2VkIC1lICdzJUBPVVRQVVRAJSciJG91dHB1dG5hbWUiJyVnJ2AKKworCSAgICAgICRzaG93ICIk
cmVsaW5rX2NvbW1hbmQiCisJICAgICAgaWYgJHJ1biBldmFsICIkcmVsaW5rX2NvbW1hbmQiOyB0
aGVuIDoKKwkgICAgICBlbHNlCisJCSRlY2hvICIkbW9kZW5hbWU6IGVycm9yOiByZWxpbmsgXGAk
ZmlsZScgd2l0aCB0aGUgYWJvdmUgY29tbWFuZCBiZWZvcmUgaW5zdGFsbGluZyBpdCIgMT4mMgor
CQkke3JtfXIgIiR0bXBkaXIiCisJCWNvbnRpbnVlCisJICAgICAgZmkKKwkgICAgICBmaWxlPSIk
b3V0cHV0bmFtZSIKKwkgICAgZWxzZQorCSAgICAgICRlY2hvICIkbW9kZW5hbWU6IHdhcm5pbmc6
IGNhbm5vdCByZWxpbmsgXGAkZmlsZSciIDE+JjIKKwkgICAgZmkKKwkgIGVsc2UKKwkgICAgIyBJ
bnN0YWxsIHRoZSBiaW5hcnkgdGhhdCB3ZSBjb21waWxlZCBlYXJsaWVyLgorCSAgICBmaWxlPWAk
ZWNobyAiWCRmaWxlIiB8ICRYc2VkIC1lICJzJVwoW14vXSpcKSQlJG9iamRpci9cMSUiYAorCSAg
ZmkKKwlmaQorCisJIyByZW1vdmUgLmV4ZSBzaW5jZSBjeWd3aW4gL3Vzci9iaW4vaW5zdGFsbCB3
aWxsIGFwcGVuZCBhbm90aGVyCisJIyBvbmUgYW55d2F5cworCWNhc2UgJGluc3RhbGxfcHJvZywk
aG9zdCBpbgorCS91c3IvYmluL2luc3RhbGwqLCpjeWd3aW4qKQorCSAgY2FzZSAkZmlsZTokZGVz
dGZpbGUgaW4KKwkgICouZXhlOiouZXhlKQorCSAgICAjIHRoaXMgaXMgb2sKKwkgICAgOzsKKwkg
ICouZXhlOiopCisJICAgIGRlc3RmaWxlPSRkZXN0ZmlsZS5leGUKKwkgICAgOzsKKwkgICo6Ki5l
eGUpCisJICAgIGRlc3RmaWxlPWBlY2hvICRkZXN0ZmlsZSB8IHNlZCAtZSAncywuZXhlJCwsJ2AK
KwkgICAgOzsKKwkgIGVzYWMKKwkgIDs7CisJZXNhYworCSRzaG93ICIkaW5zdGFsbF9wcm9nJHN0
cmlwbWUgJGZpbGUgJGRlc3RmaWxlIgorCSRydW4gZXZhbCAiJGluc3RhbGxfcHJvZ1wkc3RyaXBt
ZSBcJGZpbGUgXCRkZXN0ZmlsZSIgfHwgZXhpdCAkPworCXRlc3QgLW4gIiRvdXRwdXRuYW1lIiAm
JiAke3JtfXIgIiR0bXBkaXIiCisJOzsKKyAgICAgIGVzYWMKKyAgICBkb25lCisKKyAgICBmb3Ig
ZmlsZSBpbiAkc3RhdGljbGliczsgZG8KKyAgICAgIG5hbWU9YCRlY2hvICJYJGZpbGUiIHwgJFhz
ZWQgLWUgJ3MlXi4qLyUlJ2AKKworICAgICAgIyBTZXQgdXAgdGhlIHJhbmxpYiBwYXJhbWV0ZXJz
LgorICAgICAgb2xkbGliPSIkZGVzdGRpci8kbmFtZSIKKworICAgICAgJHNob3cgIiRpbnN0YWxs
X3Byb2cgJGZpbGUgJG9sZGxpYiIKKyAgICAgICRydW4gZXZhbCAiJGluc3RhbGxfcHJvZyBcJGZp
bGUgXCRvbGRsaWIiIHx8IGV4aXQgJD8KKworICAgICAgaWYgdGVzdCAtbiAiJHN0cmlwbWUiICYm
IHRlc3QgLW4gIiRzdHJpcGxpYiI7IHRoZW4KKwkkc2hvdyAiJG9sZF9zdHJpcGxpYiAkb2xkbGli
IgorCSRydW4gZXZhbCAiJG9sZF9zdHJpcGxpYiAkb2xkbGliIiB8fCBleGl0ICQ/CisgICAgICBm
aQorCisgICAgICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUgcG9zdGluc3RhbGwgY29tbWFuZHMu
CisgICAgICBldmFsIGNtZHM9XCIkb2xkX3Bvc3RpbnN0YWxsX2NtZHNcIgorICAgICAgSUZTPSIk
e0lGUz0gCX0iOyBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKKyAgICAgIGZvciBjbWQgaW4gJGNt
ZHM7IGRvCisJSUZTPSIkc2F2ZV9pZnMiCisJJHNob3cgIiRjbWQiCisJJHJ1biBldmFsICIkY21k
IiB8fCBleGl0ICQ/CisgICAgICBkb25lCisgICAgICBJRlM9IiRzYXZlX2lmcyIKKyAgICBkb25l
CisKKyAgICBpZiB0ZXN0IC1uICIkZnV0dXJlX2xpYmRpcnMiOyB0aGVuCisgICAgICAkZWNobyAi
JG1vZGVuYW1lOiB3YXJuaW5nOiByZW1lbWJlciB0byBydW4gXGAkcHJvZ25hbWUgLS1maW5pc2gk
ZnV0dXJlX2xpYmRpcnMnIiAxPiYyCisgICAgZmkKKworICAgIGlmIHRlc3QgLW4gIiRjdXJyZW50
X2xpYmRpcnMiOyB0aGVuCisgICAgICAjIE1heWJlIGp1c3QgZG8gYSBkcnkgcnVuLgorICAgICAg
dGVzdCAtbiAiJHJ1biIgJiYgY3VycmVudF9saWJkaXJzPSIgLW4kY3VycmVudF9saWJkaXJzIgor
ICAgICAgZXhlYyAkU0hFTEwgJDAgLS1maW5pc2gkY3VycmVudF9saWJkaXJzCisgICAgICBleGl0
IDEKKyAgICBmaQorCisgICAgZXhpdCAwCisgICAgOzsKKworICAjIGxpYnRvb2wgZmluaXNoIG1v
ZGUKKyAgZmluaXNoKQorICAgIG1vZGVuYW1lPSIkbW9kZW5hbWU6IGZpbmlzaCIKKyAgICBsaWJk
aXJzPSIkbm9ub3B0IgorICAgIGFkbWluY21kcz0KKworICAgIGlmIHRlc3QgLW4gIiRmaW5pc2hf
Y21kcyRmaW5pc2hfZXZhbCIgJiYgdGVzdCAtbiAiJGxpYmRpcnMiOyB0aGVuCisgICAgICBmb3Ig
ZGlyCisgICAgICBkbworCWxpYmRpcnM9IiRsaWJkaXJzICRkaXIiCisgICAgICBkb25lCisKKyAg
ICAgIGZvciBsaWJkaXIgaW4gJGxpYmRpcnM7IGRvCisJaWYgdGVzdCAtbiAiJGZpbmlzaF9jbWRz
IjsgdGhlbgorCSAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIGZpbmlzaCBjb21tYW5kcy4KKwkg
IGV2YWwgY21kcz1cIiRmaW5pc2hfY21kc1wiCisJICBJRlM9IiR7SUZTPSAJfSI7IHNhdmVfaWZz
PSIkSUZTIjsgSUZTPSd+JworCSAgZm9yIGNtZCBpbiAkY21kczsgZG8KKwkgICAgSUZTPSIkc2F2
ZV9pZnMiCisJICAgICRzaG93ICIkY21kIgorCSAgICAkcnVuIGV2YWwgIiRjbWQiIHx8IGFkbWlu
Y21kcz0iJGFkbWluY21kcworICAgICAgICRjbWQiCisJICBkb25lCisJICBJRlM9IiRzYXZlX2lm
cyIKKwlmaQorCWlmIHRlc3QgLW4gIiRmaW5pc2hfZXZhbCI7IHRoZW4KKwkgICMgRG8gdGhlIHNp
bmdsZSBmaW5pc2hfZXZhbC4KKwkgIGV2YWwgY21kcz1cIiRmaW5pc2hfZXZhbFwiCisJICAkcnVu
IGV2YWwgIiRjbWRzIiB8fCBhZG1pbmNtZHM9IiRhZG1pbmNtZHMKKyAgICAgICAkY21kcyIKKwlm
aQorICAgICAgZG9uZQorICAgIGZpCisKKyAgICAjIEV4aXQgaGVyZSBpZiB0aGV5IHdhbnRlZCBz
aWxlbnQgbW9kZS4KKyAgICB0ZXN0ICIkc2hvdyIgPSAiOiIgJiYgZXhpdCAwCisKKyAgICBlY2hv
ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tIgorICAgIGVjaG8gIkxpYnJhcmllcyBoYXZlIGJlZW4gaW5zdGFsbGVk
IGluOiIKKyAgICBmb3IgbGliZGlyIGluICRsaWJkaXJzOyBkbworICAgICAgZWNobyAiICAgJGxp
YmRpciIKKyAgICBkb25lCisgICAgZWNobworICAgIGVjaG8gIklmIHlvdSBldmVyIGhhcHBlbiB0
byB3YW50IHRvIGxpbmsgYWdhaW5zdCBpbnN0YWxsZWQgbGlicmFyaWVzIgorICAgIGVjaG8gImlu
IGEgZ2l2ZW4gZGlyZWN0b3J5LCBMSUJESVIsIHlvdSBtdXN0IGVpdGhlciB1c2UgbGlidG9vbCwg
YW5kIgorICAgIGVjaG8gInNwZWNpZnkgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGxpYnJhcnks
IG9yIHVzZSB0aGUgXGAtTExJQkRJUiciCisgICAgZWNobyAiZmxhZyBkdXJpbmcgbGlua2luZyBh
bmQgZG8gYXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3dpbmc6IgorICAgIGlmIHRlc3QgLW4gIiRz
aGxpYnBhdGhfdmFyIjsgdGhlbgorICAgICAgZWNobyAiICAgLSBhZGQgTElCRElSIHRvIHRoZSBc
YCRzaGxpYnBhdGhfdmFyJyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKKyAgICAgIGVjaG8gIiAgICAg
ZHVyaW5nIGV4ZWN1dGlvbiIKKyAgICBmaQorICAgIGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7
IHRoZW4KKyAgICAgIGVjaG8gIiAgIC0gYWRkIExJQkRJUiB0byB0aGUgXGAkcnVucGF0aF92YXIn
IGVudmlyb25tZW50IHZhcmlhYmxlIgorICAgICAgZWNobyAiICAgICBkdXJpbmcgbGlua2luZyIK
KyAgICBmaQorICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhl
bgorICAgICAgbGliZGlyPUxJQkRJUgorICAgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRp
cl9mbGFnX3NwZWNcIgorCisgICAgICBlY2hvICIgICAtIHVzZSB0aGUgXGAkZmxhZycgbGlua2Vy
IGZsYWciCisgICAgZmkKKyAgICBpZiB0ZXN0IC1uICIkYWRtaW5jbWRzIjsgdGhlbgorICAgICAg
ZWNobyAiICAgLSBoYXZlIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IgcnVuIHRoZXNlIGNvbW1h
bmRzOiRhZG1pbmNtZHMiCisgICAgZmkKKyAgICBpZiB0ZXN0IC1mIC9ldGMvbGQuc28uY29uZjsg
dGhlbgorICAgICAgZWNobyAiICAgLSBoYXZlIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IgYWRk
IExJQkRJUiB0byBcYC9ldGMvbGQuc28uY29uZiciCisgICAgZmkKKyAgICBlY2hvCisgICAgZWNo
byAiU2VlIGFueSBvcGVyYXRpbmcgc3lzdGVtIGRvY3VtZW50YXRpb24gYWJvdXQgc2hhcmVkIGxp
YnJhcmllcyBmb3IiCisgICAgZWNobyAibW9yZSBpbmZvcm1hdGlvbiwgc3VjaCBhcyB0aGUgbGQo
MSkgYW5kIGxkLnNvKDgpIG1hbnVhbCBwYWdlcy4iCisgICAgZWNobyAiLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIK
KyAgICBleGl0IDAKKyAgICA7OworCisgICMgbGlidG9vbCBleGVjdXRlIG1vZGUKKyAgZXhlY3V0
ZSkKKyAgICBtb2RlbmFtZT0iJG1vZGVuYW1lOiBleGVjdXRlIgorCisgICAgIyBUaGUgZmlyc3Qg
YXJndW1lbnQgaXMgdGhlIGNvbW1hbmQgbmFtZS4KKyAgICBjbWQ9IiRub25vcHQiCisgICAgaWYg
dGVzdCAteiAiJGNtZCI7IHRoZW4KKyAgICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBtdXN0IHNw
ZWNpZnkgYSBDT01NQU5EIiAxPiYyCisgICAgICAkZWNobyAiJGhlbHAiCisgICAgICBleGl0IDEK
KyAgICBmaQorCisgICAgIyBIYW5kbGUgLWRsb3BlbiBmbGFncyBpbW1lZGlhdGVseS4KKyAgICBm
b3IgZmlsZSBpbiAkZXhlY3V0ZV9kbGZpbGVzOyBkbworICAgICAgaWYgdGVzdCAhIC1mICIkZmls
ZSI7IHRoZW4KKwkkZWNobyAiJG1vZGVuYW1lOiBcYCRmaWxlJyBpcyBub3QgYSBmaWxlIiAxPiYy
CisJJGVjaG8gIiRoZWxwIiAxPiYyCisJZXhpdCAxCisgICAgICBmaQorCisgICAgICBkaXI9Cisg
ICAgICBjYXNlICRmaWxlIGluCisgICAgICAqLmxhKQorCSMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhp
cyByZWFsbHkgaXMgYSBsaWJ0b29sIGFyY2hpdmUuCisJaWYgKHNlZCAtZSAnMnEnICRmaWxlIHwg
ZWdyZXAgIl4jIEdlbmVyYXRlZCBieSAuKiRQQUNLQUdFIikgPi9kZXYvbnVsbCAyPiYxOyB0aGVu
IDoKKwllbHNlCisJICAkZWNobyAiJG1vZGVuYW1lOiBcYCRsaWInIGlzIG5vdCBhIHZhbGlkIGxp
YnRvb2wgYXJjaGl2ZSIgMT4mMgorCSAgJGVjaG8gIiRoZWxwIiAxPiYyCisJICBleGl0IDEKKwlm
aQorCisJIyBSZWFkIHRoZSBsaWJ0b29sIGxpYnJhcnkuCisJZGxuYW1lPQorCWxpYnJhcnlfbmFt
ZXM9CisKKwkjIElmIHRoZXJlIGlzIG5vIGRpcmVjdG9yeSBjb21wb25lbnQsIHRoZW4gYWRkIG9u
ZS4KKwljYXNlICRmaWxlIGluCisJKi8qIHwgKlxcKikgLiAkZmlsZSA7OworCSopIC4gLi8kZmls
ZSA7OworCWVzYWMKKworCSMgU2tpcCB0aGlzIGxpYnJhcnkgaWYgaXQgY2Fubm90IGJlIGRsb3Bl
bmVkLgorCWlmIHRlc3QgLXogIiRkbG5hbWUiOyB0aGVuCisJICAjIFdhcm4gaWYgaXQgd2FzIGEg
c2hhcmVkIGxpYnJhcnkuCisJICB0ZXN0IC1uICIkbGlicmFyeV9uYW1lcyIgJiYgJGVjaG8gIiRt
b2RlbmFtZTogd2FybmluZzogXGAkZmlsZScgd2FzIG5vdCBsaW5rZWQgd2l0aCBcYC1leHBvcnQt
ZHluYW1pYyciCisJICBjb250aW51ZQorCWZpCisKKwlkaXI9YCRlY2hvICJYJGZpbGUiIHwgJFhz
ZWQgLWUgJ3MlL1teL10qJCUlJ2AKKwl0ZXN0ICJYJGRpciIgPSAiWCRmaWxlIiAmJiBkaXI9Lgor
CisJaWYgdGVzdCAtZiAiJGRpci8kb2JqZGlyLyRkbG5hbWUiOyB0aGVuCisJICBkaXI9IiRkaXIv
JG9iamRpciIKKwllbHNlCisJICAkZWNobyAiJG1vZGVuYW1lOiBjYW5ub3QgZmluZCBcYCRkbG5h
bWUnIGluIFxgJGRpcicgb3IgXGAkZGlyLyRvYmpkaXInIiAxPiYyCisJICBleGl0IDEKKwlmaQor
CTs7CisKKyAgICAgICoubG8pCisJIyBKdXN0IGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcg
dGhlIC5sbyBmaWxlLgorCWRpcj1gJGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAncyUvW14vXSok
JSUnYAorCXRlc3QgIlgkZGlyIiA9ICJYJGZpbGUiICYmIGRpcj0uCisJOzsKKworICAgICAgKikK
KwkkZWNobyAiJG1vZGVuYW1lOiB3YXJuaW5nIFxgLWRsb3BlbicgaXMgaWdub3JlZCBmb3Igbm9u
LWxpYnRvb2wgbGlicmFyaWVzIGFuZCBvYmplY3RzIiAxPiYyCisJY29udGludWUKKwk7OworICAg
ICAgZXNhYworCisgICAgICAjIEdldCB0aGUgYWJzb2x1dGUgcGF0aG5hbWUuCisgICAgICBhYnNk
aXI9YGNkICIkZGlyIiAmJiBwd2RgCisgICAgICB0ZXN0IC1uICIkYWJzZGlyIiAmJiBkaXI9IiRh
YnNkaXIiCisKKyAgICAgICMgTm93IGFkZCB0aGUgZGlyZWN0b3J5IHRvIHNobGlicGF0aF92YXIu
CisgICAgICBpZiBldmFsICJ0ZXN0IC16IFwiXCQkc2hsaWJwYXRoX3ZhclwiIjsgdGhlbgorCWV2
YWwgIiRzaGxpYnBhdGhfdmFyPVwiXCRkaXJcIiIKKyAgICAgIGVsc2UKKwlldmFsICIkc2hsaWJw
YXRoX3Zhcj1cIlwkZGlyOlwkJHNobGlicGF0aF92YXJcIiIKKyAgICAgIGZpCisgICAgZG9uZQor
CisgICAgIyBUaGlzIHZhcmlhYmxlIHRlbGxzIHdyYXBwZXIgc2NyaXB0cyBqdXN0IHRvIHNldCBz
aGxpYnBhdGhfdmFyCisgICAgIyByYXRoZXIgdGhhbiBydW5uaW5nIHRoZWlyIHByb2dyYW1zLgor
ICAgIGxpYnRvb2xfZXhlY3V0ZV9tYWdpYz0iJG1hZ2ljIgorCisgICAgIyBDaGVjayBpZiBhbnkg
b2YgdGhlIGFyZ3VtZW50cyBpcyBhIHdyYXBwZXIgc2NyaXB0LgorICAgIGFyZ3M9CisgICAgZm9y
IGZpbGUKKyAgICBkbworICAgICAgY2FzZSAkZmlsZSBpbgorICAgICAgLSopIDs7CisgICAgICAq
KQorCSMgRG8gYSB0ZXN0IHRvIHNlZSBpZiB0aGlzIGlzIHJlYWxseSBhIGxpYnRvb2wgcHJvZ3Jh
bS4KKwlpZiAoc2VkIC1lICc0cScgJGZpbGUgfCBlZ3JlcCAiXiMgR2VuZXJhdGVkIGJ5IC4qJFBB
Q0tBR0UiKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwkgICMgSWYgdGhlcmUgaXMgbm8gZGlyZWN0
b3J5IGNvbXBvbmVudCwgdGhlbiBhZGQgb25lLgorCSAgY2FzZSAkZmlsZSBpbgorCSAgKi8qIHwg
KlxcKikgLiAkZmlsZSA7OworCSAgKikgLiAuLyRmaWxlIDs7CisJICBlc2FjCisKKwkgICMgVHJh
bnNmb3JtIGFyZyB0byB3cmFwcGVkIG5hbWUuCisJICBmaWxlPSIkcHJvZ2Rpci8kcHJvZ3JhbSIK
KwlmaQorCTs7CisgICAgICBlc2FjCisgICAgICAjIFF1b3RlIGFyZ3VtZW50cyAodG8gcHJlc2Vy
dmUgc2hlbGwgbWV0YWNoYXJhY3RlcnMpLgorICAgICAgZmlsZT1gJGVjaG8gIlgkZmlsZSIgfCAk
WHNlZCAtZSAiJHNlZF9xdW90ZV9zdWJzdCJgCisgICAgICBhcmdzPSIkYXJncyBcIiRmaWxlXCIi
CisgICAgZG9uZQorCisgICAgaWYgdGVzdCAteiAiJHJ1biI7IHRoZW4KKyAgICAgIGlmIHRlc3Qg
LW4gIiRzaGxpYnBhdGhfdmFyIjsgdGhlbgorCSMgRXhwb3J0IHRoZSBzaGxpYnBhdGhfdmFyLgor
CWV2YWwgImV4cG9ydCAkc2hsaWJwYXRoX3ZhciIKKyAgICAgIGZpCisKKyAgICAgICMgUmVzdG9y
ZSBzYXZlZCBlbnZpcm9tZW50IHZhcmlhYmxlcworICAgICAgaWYgdGVzdCAiJHtzYXZlX0xDX0FM
TCtzZXR9IiA9IHNldDsgdGhlbgorCUxDX0FMTD0iJHNhdmVfTENfQUxMIjsgZXhwb3J0IExDX0FM
TAorICAgICAgZmkKKyAgICAgIGlmIHRlc3QgIiR7c2F2ZV9MQU5HK3NldH0iID0gc2V0OyB0aGVu
CisJTEFORz0iJHNhdmVfTEFORyI7IGV4cG9ydCBMQU5HCisgICAgICBmaQorCisgICAgICAjIE5v
dyBhY3R1YWxseSBleGVjIHRoZSBjb21tYW5kLgorICAgICAgZXZhbCAiZXhlYyBcJGNtZCRhcmdz
IgorCisgICAgICAkZWNobyAiJG1vZGVuYW1lOiBjYW5ub3QgZXhlYyBcJGNtZCRhcmdzIgorICAg
ICAgZXhpdCAxCisgICAgZWxzZQorICAgICAgIyBEaXNwbGF5IHdoYXQgd291bGQgYmUgZG9uZS4K
KyAgICAgIGlmIHRlc3QgLW4gIiRzaGxpYnBhdGhfdmFyIjsgdGhlbgorCWV2YWwgIlwkZWNobyBc
Ilwkc2hsaWJwYXRoX3Zhcj1cJCRzaGxpYnBhdGhfdmFyXCIiCisJJGVjaG8gImV4cG9ydCAkc2hs
aWJwYXRoX3ZhciIKKyAgICAgIGZpCisgICAgICAkZWNobyAiJGNtZCRhcmdzIgorICAgICAgZXhp
dCAwCisgICAgZmkKKyAgICA7OworCisgICMgbGlidG9vbCBjbGVhbiBhbmQgdW5pbnN0YWxsIG1v
ZGUKKyAgY2xlYW4gfCB1bmluc3RhbGwpCisgICAgbW9kZW5hbWU9IiRtb2RlbmFtZTogJG1vZGUi
CisgICAgcm09IiRub25vcHQiCisgICAgZmlsZXM9CisgICAgcm1mb3JjZT0KKyAgICBleGl0X3N0
YXR1cz0wCisKKyAgICAjIFRoaXMgdmFyaWFibGUgdGVsbHMgd3JhcHBlciBzY3JpcHRzIGp1c3Qg
dG8gc2V0IHZhcmlhYmxlcyByYXRoZXIKKyAgICAjIHRoYW4gcnVubmluZyB0aGVpciBwcm9ncmFt
cy4KKyAgICBsaWJ0b29sX2luc3RhbGxfbWFnaWM9IiRtYWdpYyIKKworICAgIGZvciBhcmcKKyAg
ICBkbworICAgICAgY2FzZSAkYXJnIGluCisgICAgICAtZikgcm09IiRybSAkYXJnIjsgcm1mb3Jj
ZT15ZXMgOzsKKyAgICAgIC0qKSBybT0iJHJtICRhcmciIDs7CisgICAgICAqKSBmaWxlcz0iJGZp
bGVzICRhcmciIDs7CisgICAgICBlc2FjCisgICAgZG9uZQorCisgICAgaWYgdGVzdCAteiAiJHJt
IjsgdGhlbgorICAgICAgJGVjaG8gIiRtb2RlbmFtZTogeW91IG11c3Qgc3BlY2lmeSBhbiBSTSBw
cm9ncmFtIiAxPiYyCisgICAgICAkZWNobyAiJGhlbHAiIDE+JjIKKyAgICAgIGV4aXQgMQorICAg
IGZpCisKKyAgICBybWRpcnM9CisKKyAgICBmb3IgZmlsZSBpbiAkZmlsZXM7IGRvCisgICAgICBk
aXI9YCRlY2hvICJYJGZpbGUiIHwgJFhzZWQgLWUgJ3MlL1teL10qJCUlJ2AKKyAgICAgIGlmIHRl
c3QgIlgkZGlyIiA9ICJYJGZpbGUiOyB0aGVuCisJZGlyPS4KKwlvYmpkaXI9IiRvYmpkaXIiCisg
ICAgICBlbHNlCisJb2JqZGlyPSIkZGlyLyRvYmpkaXIiCisgICAgICBmaQorICAgICAgbmFtZT1g
JGVjaG8gIlgkZmlsZSIgfCAkWHNlZCAtZSAncyVeLiovJSUnYAorICAgICAgdGVzdCAkbW9kZSA9
IHVuaW5zdGFsbCAmJiBvYmpkaXI9IiRkaXIiCisKKyAgICAgICMgUmVtZW1iZXIgb2JqZGlyIGZv
ciByZW1vdmFsIGxhdGVyLCBiZWluZyBjYXJlZnVsIHRvIGF2b2lkIGR1cGxpY2F0ZXMKKyAgICAg
IGlmIHRlc3QgJG1vZGUgPSBjbGVhbjsgdGhlbgorCWNhc2UgIiAkcm1kaXJzICIgaW4KKwkgICoi
ICRvYmpkaXIgIiopIDs7CisJICAqKSBybWRpcnM9IiRybWRpcnMgJG9iamRpciIgOzsKKwllc2Fj
CisgICAgICBmaQorCisgICAgICAjIERvbid0IGVycm9yIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhp
c3QgYW5kIHJtIC1mIHdhcyB1c2VkLgorICAgICAgaWYgKHRlc3QgLUwgIiRmaWxlIikgPi9kZXYv
bnVsbCAyPiYxIFwKKyAgICAgICAgfHwgKHRlc3QgLWggIiRmaWxlIikgPi9kZXYvbnVsbCAyPiYx
IFwKKwl8fCB0ZXN0IC1mICIkZmlsZSI7IHRoZW4KKyAgICAgICAgOgorICAgICAgZWxpZiB0ZXN0
IC1kICIkZmlsZSI7IHRoZW4KKyAgICAgICAgZXhpdF9zdGF0dXM9MQorCWNvbnRpbnVlCisgICAg
ICBlbGlmIHRlc3QgIiRybWZvcmNlIiA9IHllczsgdGhlbgorICAgICAgICBjb250aW51ZQorICAg
ICAgZmkKKworICAgICAgcm1maWxlcz0iJGZpbGUiCisKKyAgICAgIGNhc2UgJG5hbWUgaW4KKyAg
ICAgICoubGEpCisJIyBQb3NzaWJseSBhIGxpYnRvb2wgYXJjaGl2ZSwgc28gdmVyaWZ5IGl0Lgor
CWlmIChzZWQgLWUgJzJxJyAkZmlsZSB8IGVncmVwICJeIyBHZW5lcmF0ZWQgYnkgLiokUEFDS0FH
RSIpID4vZGV2L251bGwgMj4mMTsgdGhlbgorCSAgLiAkZGlyLyRuYW1lCisKKwkgICMgRGVsZXRl
IHRoZSBsaWJ0b29sIGxpYnJhcmllcyBhbmQgc3ltbGlua3MuCisJICBmb3IgbiBpbiAkbGlicmFy
eV9uYW1lczsgZG8KKwkgICAgcm1maWxlcz0iJHJtZmlsZXMgJG9iamRpci8kbiIKKwkgIGRvbmUK
KwkgIHRlc3QgLW4gIiRvbGRfbGlicmFyeSIgJiYgcm1maWxlcz0iJHJtZmlsZXMgJG9iamRpci8k
b2xkX2xpYnJhcnkiCisJICB0ZXN0ICRtb2RlID0gY2xlYW4gJiYgcm1maWxlcz0iJHJtZmlsZXMg
JG9iamRpci8kbmFtZSAkb2JqZGlyLyR7bmFtZX1pIgorCisJICBpZiB0ZXN0ICRtb2RlID0gdW5p
bnN0YWxsOyB0aGVuCisJICAgIGlmIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIjsgdGhlbgorCSAg
ICAgICMgRG8gZWFjaCBjb21tYW5kIGluIHRoZSBwb3N0dW5pbnN0YWxsIGNvbW1hbmRzLgorCSAg
ICAgIGV2YWwgY21kcz1cIiRwb3N0dW5pbnN0YWxsX2NtZHNcIgorCSAgICAgIElGUz0iJHtJRlM9
IAl9Ijsgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCisJICAgICAgZm9yIGNtZCBpbiAkY21kczsg
ZG8KKwkJSUZTPSIkc2F2ZV9pZnMiCisJCSRzaG93ICIkY21kIgorCQkkcnVuIGV2YWwgIiRjbWQi
CisJCWlmIHRlc3QgJD8gIT0gMCAmJiB0ZXN0ICIkcm1mb3JjZSIgIT0geWVzOyB0aGVuCisJCSAg
ZXhpdF9zdGF0dXM9MQorCQlmaQorCSAgICAgIGRvbmUKKwkgICAgICBJRlM9IiRzYXZlX2lmcyIK
KwkgICAgZmkKKworCSAgICBpZiB0ZXN0IC1uICIkb2xkX2xpYnJhcnkiOyB0aGVuCisJICAgICAg
IyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIG9sZF9wb3N0dW5pbnN0YWxsIGNvbW1hbmRzLgorCSAg
ICAgIGV2YWwgY21kcz1cIiRvbGRfcG9zdHVuaW5zdGFsbF9jbWRzXCIKKwkgICAgICBJRlM9IiR7
SUZTPSAJfSI7IHNhdmVfaWZzPSIkSUZTIjsgSUZTPSd+JworCSAgICAgIGZvciBjbWQgaW4gJGNt
ZHM7IGRvCisJCUlGUz0iJHNhdmVfaWZzIgorCQkkc2hvdyAiJGNtZCIKKwkJJHJ1biBldmFsICIk
Y21kIgorCQlpZiB0ZXN0ICQ/ICE9IDAgJiYgdGVzdCAiJHJtZm9yY2UiICE9IHllczsgdGhlbgor
CQkgIGV4aXRfc3RhdHVzPTEKKwkJZmkKKwkgICAgICBkb25lCisJICAgICAgSUZTPSIkc2F2ZV9p
ZnMiCisJICAgIGZpCisJICAgICMgRklYTUU6IHNob3VsZCByZWluc3RhbGwgdGhlIGJlc3QgcmVt
YWluaW5nIHNoYXJlZCBsaWJyYXJ5LgorCSAgZmkKKwlmaQorCTs7CisKKyAgICAgICoubG8pCisJ
aWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgorCSAgb2xkb2JqPWAkZWNobyAi
WCRuYW1lIiB8ICRYc2VkIC1lICIkbG8ybyJgCisJICBybWZpbGVzPSIkcm1maWxlcyAkZGlyLyRv
bGRvYmoiCisJZmkKKwk7OworCisgICAgICAqKQorCSMgRG8gYSB0ZXN0IHRvIHNlZSBpZiB0aGlz
IGlzIGEgbGlidG9vbCBwcm9ncmFtLgorCWlmIHRlc3QgJG1vZGUgPSBjbGVhbiAmJgorCSAgIChz
ZWQgLWUgJzRxJyAkZmlsZSB8IGVncmVwICJeIyBHZW5lcmF0ZWQgYnkgLiokUEFDS0FHRSIpID4v
ZGV2L251bGwgMj4mMTsgdGhlbgorCSAgcmVsaW5rX2NvbW1hbmQ9CisJICAuICRkaXIvJGZpbGUK
KworCSAgcm1maWxlcz0iJHJtZmlsZXMgJG9iamRpci8kbmFtZSAkb2JqZGlyLyR7bmFtZX1TLiR7
b2JqZXh0fSIKKwkgIGlmIHRlc3QgIiRmYXN0X2luc3RhbGwiID0geWVzICYmIHRlc3QgLW4gIiRy
ZWxpbmtfY29tbWFuZCI7IHRoZW4KKwkgICAgcm1maWxlcz0iJHJtZmlsZXMgJG9iamRpci9sdC0k
bmFtZSIKKwkgIGZpCisJZmkKKwk7OworICAgICAgZXNhYworICAgICAgJHNob3cgIiRybSAkcm1m
aWxlcyIKKyAgICAgICRydW4gJHJtICRybWZpbGVzIHx8IGV4aXRfc3RhdHVzPTEKKyAgICBkb25l
CisKKyAgICAjIFRyeSB0byByZW1vdmUgdGhlICR7b2JqZGlyfXMgaW4gdGhlIGRpcmVjdG9yaWVz
IHdoZXJlIHdlIGRlbGV0ZWQgZmlsZXMKKyAgICBmb3IgZGlyIGluICRybWRpcnM7IGRvCisgICAg
ICBpZiB0ZXN0IC1kICIkZGlyIjsgdGhlbgorCSRzaG93ICJybWRpciAkZGlyIgorCSRydW4gcm1k
aXIgJGRpciA+L2Rldi9udWxsIDI+JjEKKyAgICAgIGZpCisgICAgZG9uZQorCisgICAgZXhpdCAk
ZXhpdF9zdGF0dXMKKyAgICA7OworCisgICIiKQorICAgICRlY2hvICIkbW9kZW5hbWU6IHlvdSBt
dXN0IHNwZWNpZnkgYSBNT0RFIiAxPiYyCisgICAgJGVjaG8gIiRnZW5lcmljX2hlbHAiIDE+JjIK
KyAgICBleGl0IDEKKyAgICA7OworICBlc2FjCisKKyAgJGVjaG8gIiRtb2RlbmFtZTogaW52YWxp
ZCBvcGVyYXRpb24gbW9kZSBcYCRtb2RlJyIgMT4mMgorICAkZWNobyAiJGdlbmVyaWNfaGVscCIg
MT4mMgorICBleGl0IDEKK2ZpICMgdGVzdCAteiAiJHNob3dfaGVscCIKKworIyBXZSBuZWVkIHRv
IGRpc3BsYXkgaGVscCBmb3IgZWFjaCBvZiB0aGUgbW9kZXMuCitjYXNlICRtb2RlIGluCisiIikg
JGVjaG8gXAorIlVzYWdlOiAkbW9kZW5hbWUgW09QVElPTl0uLi4gW01PREUtQVJHXS4uLgorCitQ
cm92aWRlIGdlbmVyYWxpemVkIGxpYnJhcnktYnVpbGRpbmcgc3VwcG9ydCBzZXJ2aWNlcy4KKwor
ICAgIC0tY29uZmlnICAgICAgICAgIHNob3cgYWxsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCisg
ICAgLS1kZWJ1ZyAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugc2hlbGwgdHJhY2luZworLW4sIC0t
ZHJ5LXJ1biAgICAgICAgIGRpc3BsYXkgY29tbWFuZHMgd2l0aG91dCBtb2RpZnlpbmcgYW55IGZp
bGVzCisgICAgLS1mZWF0dXJlcyAgICAgICAgZGlzcGxheSBiYXNpYyBjb25maWd1cmF0aW9uIGlu
Zm9ybWF0aW9uIGFuZCBleGl0CisgICAgLS1maW5pc2ggICAgICAgICAgc2FtZSBhcyBcYC0tbW9k
ZT1maW5pc2gnCisgICAgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgbWVzc2Fn
ZSBhbmQgZXhpdAorICAgIC0tbW9kZT1NT0RFICAgICAgIHVzZSBvcGVyYXRpb24gbW9kZSBNT0RF
IFtkZWZhdWx0PWluZmVycmVkIGZyb20gTU9ERS1BUkdTXQorICAgIC0tcXVpZXQgICAgICAgICAg
IHNhbWUgYXMgXGAtLXNpbGVudCcKKyAgICAtLXNpbGVudCAgICAgICAgICBkb24ndCBwcmludCBp
bmZvcm1hdGlvbmFsIG1lc3NhZ2VzCisgICAgLS12ZXJzaW9uICAgICAgICAgcHJpbnQgdmVyc2lv
biBpbmZvcm1hdGlvbgorCitNT0RFIG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6CisKKyAg
ICAgIGNsZWFuICAgICAgICAgICByZW1vdmUgZmlsZXMgZnJvbSB0aGUgYnVpbGQgZGlyZWN0b3J5
CisgICAgICBjb21waWxlICAgICAgICAgY29tcGlsZSBhIHNvdXJjZSBmaWxlIGludG8gYSBsaWJ0
b29sIG9iamVjdAorICAgICAgZXhlY3V0ZSAgICAgICAgIGF1dG9tYXRpY2FsbHkgc2V0IGxpYnJh
cnkgcGF0aCwgdGhlbiBydW4gYSBwcm9ncmFtCisgICAgICBmaW5pc2ggICAgICAgICAgY29tcGxl
dGUgdGhlIGluc3RhbGxhdGlvbiBvZiBsaWJ0b29sIGxpYnJhcmllcworICAgICAgaW5zdGFsbCAg
ICAgICAgIGluc3RhbGwgbGlicmFyaWVzIG9yIGV4ZWN1dGFibGVzCisgICAgICBsaW5rICAgICAg
ICAgICAgY3JlYXRlIGEgbGlicmFyeSBvciBhbiBleGVjdXRhYmxlCisgICAgICB1bmluc3RhbGwg
ICAgICAgcmVtb3ZlIGxpYnJhcmllcyBmcm9tIGFuIGluc3RhbGxlZCBkaXJlY3RvcnkKKworTU9E
RS1BUkdTIHZhcnkgZGVwZW5kaW5nIG9uIHRoZSBNT0RFLiAgVHJ5IFxgJG1vZGVuYW1lIC0taGVs
cCAtLW1vZGU9TU9ERScgZm9yCithIG1vcmUgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgTU9ERS4i
CisgIGV4aXQgMAorICA7OworCitjbGVhbikKKyAgJGVjaG8gXAorIlVzYWdlOiAkbW9kZW5hbWUg
W09QVElPTl0uLi4gLS1tb2RlPWNsZWFuIFJNIFtSTS1PUFRJT05dLi4uIEZJTEUuLi4KKworUmVt
b3ZlIGZpbGVzIGZyb20gdGhlIGJ1aWxkIGRpcmVjdG9yeS4KKworUk0gaXMgdGhlIG5hbWUgb2Yg
dGhlIHByb2dyYW0gdG8gdXNlIHRvIGRlbGV0ZSBmaWxlcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBG
SUxFCisodHlwaWNhbGx5IFxgL2Jpbi9ybScpLiAgUk0tT1BUSU9OUyBhcmUgb3B0aW9ucyAoc3Vj
aCBhcyBcYC1mJykgdG8gYmUgcGFzc2VkCit0byBSTS4KKworSWYgRklMRSBpcyBhIGxpYnRvb2wg
bGlicmFyeSwgb2JqZWN0IG9yIHByb2dyYW0sIGFsbCB0aGUgZmlsZXMgYXNzb2NpYXRlZAord2l0
aCBpdCBhcmUgZGVsZXRlZC4gT3RoZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlzIGRlbGV0ZWQg
dXNpbmcgUk0uIgorICA7OworCitjb21waWxlKQorICAkZWNobyBcCisiVXNhZ2U6ICRtb2RlbmFt
ZSBbT1BUSU9OXS4uLiAtLW1vZGU9Y29tcGlsZSBDT01QSUxFLUNPTU1BTkQuLi4gU09VUkNFRklM
RQorCitDb21waWxlIGEgc291cmNlIGZpbGUgaW50byBhIGxpYnRvb2wgbGlicmFyeSBvYmplY3Qu
CisKK1RoaXMgbW9kZSBhY2NlcHRzIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBvcHRpb25zOgor
CisgIC1vIE9VVFBVVC1GSUxFICAgIHNldCB0aGUgb3V0cHV0IGZpbGUgbmFtZSB0byBPVVRQVVQt
RklMRQorICAtcHJlZmVyLXBpYyAgICAgICB0cnkgdG8gYnVpbGRpbmcgUElDIG9iamVjdHMgb25s
eQorICAtcHJlZmVyLW5vbi1waWMgICB0cnkgdG8gYnVpbGRpbmcgbm9uLVBJQyBvYmplY3RzIG9u
bHkKKyAgLXN0YXRpYyAgICAgICAgICAgYWx3YXlzIGJ1aWxkIGEgXGAubycgZmlsZSBzdWl0YWJs
ZSBmb3Igc3RhdGljIGxpbmtpbmcKKworQ09NUElMRS1DT01NQU5EIGlzIGEgY29tbWFuZCB0byBi
ZSB1c2VkIGluIGNyZWF0aW5nIGEgXGBzdGFuZGFyZCcgb2JqZWN0IGZpbGUKK2Zyb20gdGhlIGdp
dmVuIFNPVVJDRUZJTEUuCisKK1RoZSBvdXRwdXQgZmlsZSBuYW1lIGlzIGRldGVybWluZWQgYnkg
cmVtb3ZpbmcgdGhlIGRpcmVjdG9yeSBjb21wb25lbnQgZnJvbQorU09VUkNFRklMRSwgdGhlbiBz
dWJzdGl0dXRpbmcgdGhlIEMgc291cmNlIGNvZGUgc3VmZml4IFxgLmMnIHdpdGggdGhlCitsaWJy
YXJ5IG9iamVjdCBzdWZmaXgsIFxgLmxvJy4iCisgIDs7CisKK2V4ZWN1dGUpCisgICRlY2hvIFwK
KyJVc2FnZTogJG1vZGVuYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1leGVjdXRlIENPTU1BTkQgW0FS
R1NdLi4uCisKK0F1dG9tYXRpY2FsbHkgc2V0IGxpYnJhcnkgcGF0aCwgdGhlbiBydW4gYSBwcm9n
cmFtLgorCitUaGlzIG1vZGUgYWNjZXB0cyB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgb3B0aW9u
czoKKworICAtZGxvcGVuIEZJTEUgICAgICBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIEZJ
TEUgdG8gdGhlIGxpYnJhcnkgcGF0aAorCitUaGlzIG1vZGUgc2V0cyB0aGUgbGlicmFyeSBwYXRo
IGVudmlyb25tZW50IHZhcmlhYmxlIGFjY29yZGluZyB0byBcYC1kbG9wZW4nCitmbGFncy4KKwor
SWYgYW55IG9mIHRoZSBBUkdTIGFyZSBsaWJ0b29sIGV4ZWN1dGFibGUgd3JhcHBlcnMsIHRoZW4g
dGhleSBhcmUgdHJhbnNsYXRlZAoraW50byB0aGVpciBjb3JyZXNwb25kaW5nIHVuaW5zdGFsbGVk
IGJpbmFyeSwgYW5kIGFueSBvZiB0aGVpciByZXF1aXJlZCBsaWJyYXJ5CitkaXJlY3RvcmllcyBh
cmUgYWRkZWQgdG8gdGhlIGxpYnJhcnkgcGF0aC4KKworVGhlbiwgQ09NTUFORCBpcyBleGVjdXRl
ZCwgd2l0aCBBUkdTIGFzIGFyZ3VtZW50cy4iCisgIDs7CisKK2ZpbmlzaCkKKyAgJGVjaG8gXAor
IlVzYWdlOiAkbW9kZW5hbWUgW09QVElPTl0uLi4gLS1tb2RlPWZpbmlzaCBbTElCRElSXS4uLgor
CitDb21wbGV0ZSB0aGUgaW5zdGFsbGF0aW9uIG9mIGxpYnRvb2wgbGlicmFyaWVzLgorCitFYWNo
IExJQkRJUiBpcyBhIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIGxpYnRvb2wgbGlicmFyaWVzLgor
CitUaGUgY29tbWFuZHMgdGhhdCB0aGlzIG1vZGUgZXhlY3V0ZXMgbWF5IHJlcXVpcmUgc3VwZXJ1
c2VyIHByaXZpbGVnZXMuICBVc2UKK3RoZSBcYC0tZHJ5LXJ1bicgb3B0aW9uIGlmIHlvdSBqdXN0
IHdhbnQgdG8gc2VlIHdoYXQgd291bGQgYmUgZXhlY3V0ZWQuIgorICA7OworCitpbnN0YWxsKQor
ICAkZWNobyBcCisiVXNhZ2U6ICRtb2RlbmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9aW5zdGFsbCBJ
TlNUQUxMLUNPTU1BTkQuLi4KKworSW5zdGFsbCBleGVjdXRhYmxlcyBvciBsaWJyYXJpZXMuCisK
K0lOU1RBTEwtQ09NTUFORCBpcyB0aGUgaW5zdGFsbGF0aW9uIGNvbW1hbmQuICBUaGUgZmlyc3Qg
Y29tcG9uZW50IHNob3VsZCBiZQorZWl0aGVyIHRoZSBcYGluc3RhbGwnIG9yIFxgY3AnIHByb2dy
YW0uCisKK1RoZSByZXN0IG9mIHRoZSBjb21wb25lbnRzIGFyZSBpbnRlcnByZXRlZCBhcyBhcmd1
bWVudHMgdG8gdGhhdCBjb21tYW5kIChvbmx5CitCU0QtY29tcGF0aWJsZSBpbnN0YWxsIG9wdGlv
bnMgYXJlIHJlY29nbml6ZWQpLiIKKyAgOzsKKworbGluaykKKyAgJGVjaG8gXAorIlVzYWdlOiAk
bW9kZW5hbWUgW09QVElPTl0uLi4gLS1tb2RlPWxpbmsgTElOSy1DT01NQU5ELi4uCisKK0xpbmsg
b2JqZWN0IGZpbGVzIG9yIGxpYnJhcmllcyB0b2dldGhlciB0byBmb3JtIGFub3RoZXIgbGlicmFy
eSwgb3IgdG8KK2NyZWF0ZSBhbiBleGVjdXRhYmxlIHByb2dyYW0uCisKK0xJTkstQ09NTUFORCBp
cyBhIGNvbW1hbmQgdXNpbmcgdGhlIEMgY29tcGlsZXIgdGhhdCB5b3Ugd291bGQgdXNlIHRvIGNy
ZWF0ZQorYSBwcm9ncmFtIGZyb20gc2V2ZXJhbCBvYmplY3QgZmlsZXMuCisKK1RoZSBmb2xsb3dp
bmcgY29tcG9uZW50cyBvZiBMSU5LLUNPTU1BTkQgYXJlIHRyZWF0ZWQgc3BlY2lhbGx5OgorCisg
IC1hbGwtc3RhdGljICAgICAgIGRvIG5vdCBkbyBhbnkgZHluYW1pYyBsaW5raW5nIGF0IGFsbAor
ICAtYXZvaWQtdmVyc2lvbiAgICBkbyBub3QgYWRkIGEgdmVyc2lvbiBzdWZmaXggaWYgcG9zc2li
bGUKKyAgLWRsb3BlbiBGSUxFICAgICAgXGAtZGxwcmVvcGVuJyBGSUxFIGlmIGl0IGNhbm5vdCBi
ZSBkbG9wZW5lZCBhdCBydW50aW1lCisgIC1kbHByZW9wZW4gRklMRSAgIGxpbmsgaW4gRklMRSBh
bmQgYWRkIGl0cyBzeW1ib2xzIHRvIGx0X3ByZWxvYWRlZF9zeW1ib2xzCisgIC1leHBvcnQtZHlu
YW1pYyAgIGFsbG93IHN5bWJvbHMgZnJvbSBPVVRQVVQtRklMRSB0byBiZSByZXNvbHZlZCB3aXRo
IGRsc3ltKDMpCisgIC1leHBvcnQtc3ltYm9scyBTWU1GSUxFCisJCSAgICB0cnkgdG8gZXhwb3J0
IG9ubHkgdGhlIHN5bWJvbHMgbGlzdGVkIGluIFNZTUZJTEUKKyAgLWV4cG9ydC1zeW1ib2xzLXJl
Z2V4IFJFR0VYCisJCSAgICB0cnkgdG8gZXhwb3J0IG9ubHkgdGhlIHN5bWJvbHMgbWF0Y2hpbmcg
UkVHRVgKKyAgLUxMSUJESVIgICAgICAgICAgc2VhcmNoIExJQkRJUiBmb3IgcmVxdWlyZWQgaW5z
dGFsbGVkIGxpYnJhcmllcworICAtbE5BTUUgICAgICAgICAgICBPVVRQVVQtRklMRSByZXF1aXJl
cyB0aGUgaW5zdGFsbGVkIGxpYnJhcnkgbGliTkFNRQorICAtbW9kdWxlICAgICAgICAgICBidWls
ZCBhIGxpYnJhcnkgdGhhdCBjYW4gZGxvcGVuZWQKKyAgLW5vLWZhc3QtaW5zdGFsbCAgZGlzYWJs
ZSB0aGUgZmFzdC1pbnN0YWxsIG1vZGUKKyAgLW5vLWluc3RhbGwgICAgICAgbGluayBhIG5vdC1p
bnN0YWxsYWJsZSBleGVjdXRhYmxlCisgIC1uby11bmRlZmluZWQgICAgIGRlY2xhcmUgdGhhdCBh
IGxpYnJhcnkgZG9lcyBub3QgcmVmZXIgdG8gZXh0ZXJuYWwgc3ltYm9scworICAtbyBPVVRQVVQt
RklMRSAgICBjcmVhdGUgT1VUUFVULUZJTEUgZnJvbSB0aGUgc3BlY2lmaWVkIG9iamVjdHMKKyAg
LXJlbGVhc2UgUkVMRUFTRSAgc3BlY2lmeSBwYWNrYWdlIHJlbGVhc2UgaW5mb3JtYXRpb24KKyAg
LXJwYXRoIExJQkRJUiAgICAgdGhlIGNyZWF0ZWQgbGlicmFyeSB3aWxsIGV2ZW50dWFsbHkgYmUg
aW5zdGFsbGVkIGluIExJQkRJUgorICAtUlsgXUxJQkRJUiAgICAgICBhZGQgTElCRElSIHRvIHRo
ZSBydW50aW1lIHBhdGggb2YgcHJvZ3JhbXMgYW5kIGxpYnJhcmllcworICAtc3RhdGljICAgICAg
ICAgICBkbyBub3QgZG8gYW55IGR5bmFtaWMgbGlua2luZyBvZiBsaWJ0b29sIGxpYnJhcmllcwor
ICAtdmVyc2lvbi1pbmZvIENVUlJFTlRbOlJFVklTSU9OWzpBR0VdXQorCQkgICAgc3BlY2lmeSBs
aWJyYXJ5IHZlcnNpb24gaW5mbyBbZWFjaCB2YXJpYWJsZSBkZWZhdWx0cyB0byAwXQorCitBbGwg
b3RoZXIgb3B0aW9ucyAoYXJndW1lbnRzIGJlZ2lubmluZyB3aXRoIFxgLScpIGFyZSBpZ25vcmVk
LgorCitFdmVyeSBvdGhlciBhcmd1bWVudCBpcyB0cmVhdGVkIGFzIGEgZmlsZW5hbWUuICBGaWxl
cyBlbmRpbmcgaW4gXGAubGEnIGFyZQordHJlYXRlZCBhcyB1bmluc3RhbGxlZCBsaWJ0b29sIGxp
YnJhcmllcywgb3RoZXIgZmlsZXMgYXJlIHN0YW5kYXJkIG9yIGxpYnJhcnkKK29iamVjdCBmaWxl
cy4KKworSWYgdGhlIE9VVFBVVC1GSUxFIGVuZHMgaW4gXGAubGEnLCB0aGVuIGEgbGlidG9vbCBs
aWJyYXJ5IGlzIGNyZWF0ZWQsCitvbmx5IGxpYnJhcnkgb2JqZWN0cyAoXGAubG8nIGZpbGVzKSBt
YXkgYmUgc3BlY2lmaWVkLCBhbmQgXGAtcnBhdGgnIGlzCityZXF1aXJlZCwgZXhjZXB0IHdoZW4g
Y3JlYXRpbmcgYSBjb252ZW5pZW5jZSBsaWJyYXJ5LgorCitJZiBPVVRQVVQtRklMRSBlbmRzIGlu
IFxgLmEnIG9yIFxgLmxpYicsIHRoZW4gYSBzdGFuZGFyZCBsaWJyYXJ5IGlzIGNyZWF0ZWQKK3Vz
aW5nIFxgYXInIGFuZCBcYHJhbmxpYicsIG9yIG9uIFdpbmRvd3MgdXNpbmcgXGBsaWInLgorCitJ
ZiBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmxvJyBvciBcYC4ke29iamV4dH0nLCB0aGVuIGEgcmVs
b2FkYWJsZSBvYmplY3QgZmlsZQoraXMgY3JlYXRlZCwgb3RoZXJ3aXNlIGFuIGV4ZWN1dGFibGUg
cHJvZ3JhbSBpcyBjcmVhdGVkLiIKKyAgOzsKKwordW5pbnN0YWxsKQorICAkZWNobyBcCisiVXNh
Z2U6ICRtb2RlbmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9dW5pbnN0YWxsIFJNIFtSTS1PUFRJT05d
Li4uIEZJTEUuLi4KKworUmVtb3ZlIGxpYnJhcmllcyBmcm9tIGFuIGluc3RhbGxhdGlvbiBkaXJl
Y3RvcnkuCisKK1JNIGlzIHRoZSBuYW1lIG9mIHRoZSBwcm9ncmFtIHRvIHVzZSB0byBkZWxldGUg
ZmlsZXMgYXNzb2NpYXRlZCB3aXRoIGVhY2ggRklMRQorKHR5cGljYWxseSBcYC9iaW4vcm0nKS4g
IFJNLU9QVElPTlMgYXJlIG9wdGlvbnMgKHN1Y2ggYXMgXGAtZicpIHRvIGJlIHBhc3NlZAordG8g
Uk0uCisKK0lmIEZJTEUgaXMgYSBsaWJ0b29sIGxpYnJhcnksIGFsbCB0aGUgZmlsZXMgYXNzb2Np
YXRlZCB3aXRoIGl0IGFyZSBkZWxldGVkLgorT3RoZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlz
IGRlbGV0ZWQgdXNpbmcgUk0uIgorICA7OworCisqKQorICAkZWNobyAiJG1vZGVuYW1lOiBpbnZh
bGlkIG9wZXJhdGlvbiBtb2RlIFxgJG1vZGUnIiAxPiYyCisgICRlY2hvICIkaGVscCIgMT4mMgor
ICBleGl0IDEKKyAgOzsKK2VzYWMKKworZWNobworJGVjaG8gIlRyeSBcYCRtb2RlbmFtZSAtLWhl
bHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IG90aGVyIG1vZGVzLiIKKworZXhpdCAwCisK
KyMgTG9jYWwgVmFyaWFibGVzOgorIyBtb2RlOnNoZWxsLXNjcmlwdAorIyBzaC1pbmRlbnRhdGlv
bjoyCisjIEVuZDoKZGlmZiAtdXJOIGxjZC0wLjIuMS9NYWtlZmlsZS5pbiBsY2QtMC4yLjEtbmV3
L01ha2VmaWxlLmluCi0tLSBsY2QtMC4yLjEvTWFrZWZpbGUuaW4JMjAwNC0wMi0wOCAyMDoxMzox
OS4wMDAwMDAwMDAgKzAxMDAKKysrIGxjZC0wLjIuMS1uZXcvTWFrZWZpbGUuaW4JMjAwNC0xMi0y
MCAwNTowODozNC41NDAwOTIxMjggKzAxMDAKQEAgLTEsNCArMSw0IEBACi0jIE1ha2VmaWxlLmlu
IGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IGF1dG9tYWtlIDEuNC1wNSBmcm9tIE1ha2VmaWxl
LmFtCisjIE1ha2VmaWxlLmluIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IGF1dG9tYWtlIDEu
NC1wNiBmcm9tIE1ha2VmaWxlLmFtCiAKICMgQ29weXJpZ2h0IChDKSAxOTk0LCAxOTk1LTgsIDE5
OTksIDIwMDEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjIFRoaXMgTWFrZWZpbGUu
aW4gaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgpAQCAtMTAw
LDggKzEwMCw3IEBACiAKIGxpYl9MVExJQlJBUklFUyA9IGxpYmdwc2ltX2xjZC5sYQogCi1saWJn
cHNpbV9sY2RfbGFfU09VUkNFUyA9IFwKLQlsY2RndWkuY2MgbW9kdWxlX21hbmFnZXIuY2MgbGNk
LmNjIGxjZGVuZ2luZS5jYworbGliZ3BzaW1fbGNkX2xhX1NPVVJDRVMgPSAgCWxjZGd1aS5jYyBt
b2R1bGVfbWFuYWdlci5jYyBsY2QuY2MgbGNkZW5naW5lLmNjCiAKIAogbGliZ3BzaW1fbGNkX2xh
X0xERkxBR1MgPSBAWF9MREZMQUdTQApAQCAtMTEyLDcgKzExMSw3IEBACiAKIENGTEFHUyA9IEBD
RkxBR1NACiBBQ0xPQ0FMX000ID0gJCh0b3Bfc3JjZGlyKS9hY2xvY2FsLm00Ci1ta2luc3RhbGxk
aXJzID0gJChTSEVMTCkgJCh0b3Bfc3JjZGlyKS8uLi8uLi9ta2luc3RhbGxkaXJzCitta2luc3Rh
bGxkaXJzID0gJChTSEVMTCkgJCh0b3Bfc3JjZGlyKS9ta2luc3RhbGxkaXJzCiBDT05GSUdfSEVB
REVSID0gY29uZmlnLmgKIENPTkZJR19DTEVBTl9GSUxFUyA9IAogTFRMSUJSQVJJRVMgPSAgJChs
aWJfTFRMSUJSQVJJRVMpCkBAIC0xMzEsMTQgKzEzMCwxNyBAQAogQ1hYTEQgPSAkKENYWCkKIENY
WExJTksgPSAkKExJQlRPT0wpIC0tbW9kZT1saW5rICQoQ1hYTEQpICQoQU1fQ1hYRkxBR1MpICQo
Q1hYRkxBR1MpICQoTERGTEFHUykgLW8gJEAKIERJU1RfQ09NTU9OID0gIFJFQURNRSAuL3N0YW1w
LWguaW4gQVVUSE9SUyBDT1BZSU5HIENoYW5nZUxvZyBJTlNUQUxMIFwKLU1ha2VmaWxlLmFtIE1h
a2VmaWxlLmluIE5FV1MgYWNsb2NhbC5tNCBjb25maWcuaC5pbiBjb25maWd1cmUgXAotY29uZmln
dXJlLmluCitNYWtlZmlsZS5hbSBNYWtlZmlsZS5pbiBORVdTIGFjbG9jYWwubTQgY29uZmlnLmd1
ZXNzIGNvbmZpZy5oLmluIFwKK2NvbmZpZy5zdWIgY29uZmlndXJlIGNvbmZpZ3VyZS5pbiBpbnN0
YWxsLXNoIGx0Y29uZmlnIGx0bWFpbi5zaCBtaXNzaW5nIFwKK21raW5zdGFsbGRpcnMKIAogCiBE
SVNURklMRVMgPSAkKERJU1RfQ09NTU9OKSAkKFNPVVJDRVMpICQoSEVBREVSUykgJChURVhJTkZP
UykgJChFWFRSQV9ESVNUKQogCi1UQVIgPSBndGFyCitUQVIgPSB0YXIKIEdaSVBfRU5WID0gLS1i
ZXN0CitERVBfRklMRVMgPSAgLmRlcHMvbGNkLlAgLmRlcHMvbGNkZW5naW5lLlAgLmRlcHMvbGNk
Z3VpLlAgXAorLmRlcHMvbW9kdWxlX21hbmFnZXIuUAogU09VUkNFUyA9ICQobGliZ3BzaW1fbGNk
X2xhX1NPVVJDRVMpCiBPQkpFQ1RTID0gJChsaWJncHNpbV9sY2RfbGFfT0JKRUNUUykKIApAQCAt
MTQ2LDkgKzE0OCw5IEBACiAuU1VGRklYRVM6CiAuU1VGRklYRVM6IC5TIC5jIC5jYyAubG8gLm8g
Lm9iaiAucwogJChzcmNkaXIpL01ha2VmaWxlLmluOiBNYWtlZmlsZS5hbSAkKHRvcF9zcmNkaXIp
L2NvbmZpZ3VyZS5pbiAkKEFDTE9DQUxfTTQpIAotCWNkICQodG9wX3NyY2RpcikgJiYgJChBVVRP
TUFLRSkgLS1nbnUgLS1pbmNsdWRlLWRlcHMgTWFrZWZpbGUKKwljZCAkKHRvcF9zcmNkaXIpICYm
ICQoQVVUT01BS0UpIC0tZ251IE1ha2VmaWxlCiAKLU1ha2VmaWxlOiAkKHNyY2RpcikvTWFrZWZp
bGUuaW4gICQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzCitNYWtlZmlsZTogJChzcmNkaXIp
L01ha2VmaWxlLmluICAkKHRvcF9idWlsZGRpcikvY29uZmlnLnN0YXR1cyAkKEJVSUxUX1NPVVJD
RVMpCiAJY2QgJCh0b3BfYnVpbGRkaXIpIFwKIAkgICYmIENPTkZJR19GSUxFUz0kQCBDT05GSUdf
SEVBREVSUz0gJChTSEVMTCkgLi9jb25maWcuc3RhdHVzCiAKQEAgLTIxMyw5ICsyMTUsNiBAQAog
CSAgJChMSUJUT09MKSAgLS1tb2RlPXVuaW5zdGFsbCBybSAtZiAkKERFU1RESVIpJChsaWJkaXIp
LyQkcDsgXAogCWRvbmUKIAotLmMubzoKLQkkKENPTVBJTEUpIC1jICQ8Ci0KICMgRklYTUU6IFdl
IHNob3VsZCBvbmx5IHVzZSBjeWdwYXRoIHdoZW4gYnVpbGRpbmcgb24gV2luZG93cywKICMgYW5k
IG9ubHkgaWYgaXQgaXMgYXZhaWxhYmxlLgogLmMub2JqOgpAQCAtMjM4LDkgKzIzNyw2IEBACiAK
IG1haW50YWluZXItY2xlYW4tY29tcGlsZToKIAotLmMubG86Ci0JJChMSUJUT09MKSAtLW1vZGU9
Y29tcGlsZSAkKENPTVBJTEUpIC1jICQ8Ci0KIC5zLmxvOgogCSQoTElCVE9PTCkgLS1tb2RlPWNv
bXBpbGUgJChDT01QSUxFKSAtYyAkPAogCkBAIC0zOTMsNiArMzg5LDExIEBACiAJLXJtIC1yZiAk
KGRpc3RkaXIpCiAJbWtkaXIgJChkaXN0ZGlyKQogCS1jaG1vZCA3NzcgJChkaXN0ZGlyKQorCWhl
cmU9YGNkICQodG9wX2J1aWxkZGlyKSAmJiBwd2RgOyBcCisJdG9wX2Rpc3RkaXI9YGNkICQoZGlz
dGRpcikgJiYgcHdkYDsgXAorCWRpc3RkaXI9YGNkICQoZGlzdGRpcikgJiYgcHdkYDsgXAorCWNk
ICQodG9wX3NyY2RpcikgXAorCSAgJiYgJChBVVRPTUFLRSkgLS1pbmNsdWRlLWRlcHMgLS1idWls
ZC1kaXI9JCRoZXJlIC0tc3JjZGlyLW5hbWU9JCh0b3Bfc3JjZGlyKSAtLW91dHB1dC1kaXI9JCR0
b3BfZGlzdGRpciAtLWdudSBNYWtlZmlsZQogCUBmb3IgZmlsZSBpbiAkKERJU1RGSUxFUyk7IGRv
IFwKIAkgIGQ9JChzcmNkaXIpOyBcCiAJICBpZiB0ZXN0IC1kICQkZC8kJGZpbGU7IHRoZW4gXApA
QCAtNDEzLDExICs0MTQsNTcgQEAKIAkgICAgICB8fCBleGl0IDE7IFwKIAkgIGZpOyBcCiAJZG9u
ZQotbGNkLmxvIGxjZC5vIDogbGNkLmNjIGxjZC5oCi1sY2RlbmdpbmUubG8gbGNkZW5naW5lLm8g
OiBsY2RlbmdpbmUuY2MgbGNkLmgKLWxjZGd1aS5sbyBsY2RndWkubyA6IGxjZGd1aS5jYyBsY2Rm
b250LmggbGNkLmgKLW1vZHVsZV9tYW5hZ2VyLmxvIG1vZHVsZV9tYW5hZ2VyLm8gOiBtb2R1bGVf
bWFuYWdlci5jYyBsY2QuaAogCitERVBTX01BR0lDIDo9ICQoc2hlbGwgbWtkaXIgLmRlcHMgPiAv
ZGV2L251bGwgMj4mMSB8fCA6KQorCistaW5jbHVkZSAkKERFUF9GSUxFUykKKworbW9zdGx5Y2xl
YW4tZGVwZW5kOgorCitjbGVhbi1kZXBlbmQ6CisKK2Rpc3RjbGVhbi1kZXBlbmQ6CisJLXJtIC1y
ZiAuZGVwcworCittYWludGFpbmVyLWNsZWFuLWRlcGVuZDoKKworJS5vOiAlLmMKKwlAZWNobyAn
JChDT01QSUxFKSAtYyAkPCc7IFwKKwkkKENPTVBJTEUpIC1XcCwtTUQsLmRlcHMvJCgqRikucHAg
LWMgJDwKKwlALWNwIC5kZXBzLyQoKkYpLnBwIC5kZXBzLyQoKkYpLlA7IFwKKwl0ciAnICcgJ1ww
MTInIDwgLmRlcHMvJCgqRikucHAgXAorCSAgfCBzZWQgLWUgJ3MvXlxcJCQvLycgLWUgJy9eJCQv
IGQnIC1lICcvOiQkLyBkJyAtZSAncy8kJC8gOi8nIFwKKwkgICAgPj4gLmRlcHMvJCgqRikuUDsg
XAorCXJtIC5kZXBzLyQoKkYpLnBwCisKKyUubG86ICUuYworCUBlY2hvICckKExUQ09NUElMRSkg
LWMgJDwnOyBcCisJJChMVENPTVBJTEUpIC1XcCwtTUQsLmRlcHMvJCgqRikucHAgLWMgJDwKKwlA
LXNlZCAtZSAncy9eXChbXjpdKlwpXC5vWyAJXSo6L1wxLmxvIFwxLm8gOi8nIFwKKwkgIDwgLmRl
cHMvJCgqRikucHAgPiAuZGVwcy8kKCpGKS5QOyBcCisJdHIgJyAnICdcMDEyJyA8IC5kZXBzLyQo
KkYpLnBwIFwKKwkgIHwgc2VkIC1lICdzL15cXCQkLy8nIC1lICcvXiQkLyBkJyAtZSAnLzokJC8g
ZCcgLWUgJ3MvJCQvIDovJyBcCisJICAgID4+IC5kZXBzLyQoKkYpLlA7IFwKKwlybSAtZiAuZGVw
cy8kKCpGKS5wcAorCislLm86ICUuY2MKKwlAZWNobyAnJChDWFhDT01QSUxFKSAtYyAkPCc7IFwK
KwkkKENYWENPTVBJTEUpIC1XcCwtTUQsLmRlcHMvJCgqRikucHAgLWMgJDwKKwlALWNwIC5kZXBz
LyQoKkYpLnBwIC5kZXBzLyQoKkYpLlA7IFwKKwl0ciAnICcgJ1wwMTInIDwgLmRlcHMvJCgqRiku
cHAgXAorCSAgfCBzZWQgLWUgJ3MvXlxcJCQvLycgLWUgJy9eJCQvIGQnIC1lICcvOiQkLyBkJyAt
ZSAncy8kJC8gOi8nIFwKKwkgICAgPj4gLmRlcHMvJCgqRikuUDsgXAorCXJtIC5kZXBzLyQoKkYp
LnBwCisKKyUubG86ICUuY2MKKwlAZWNobyAnJChMVENYWENPTVBJTEUpIC1jICQ8JzsgXAorCSQo
TFRDWFhDT01QSUxFKSAtV3AsLU1ELC5kZXBzLyQoKkYpLnBwIC1jICQ8CisJQC1zZWQgLWUgJ3Mv
XlwoW146XSpcKVwub1sgCV0qOi9cMS5sbyBcMS5vIDovJyBcCisJICA8IC5kZXBzLyQoKkYpLnBw
ID4gLmRlcHMvJCgqRikuUDsgXAorCXRyICcgJyAnXDAxMicgPCAuZGVwcy8kKCpGKS5wcCBcCisJ
ICB8IHNlZCAtZSAncy9eXFwkJC8vJyAtZSAnL14kJC8gZCcgLWUgJy86JCQvIGQnIC1lICdzLyQk
LyA6LycgXAorCSAgICA+PiAuZGVwcy8kKCpGKS5QOyBcCisJcm0gLWYgLmRlcHMvJCgqRikucHAK
IGluZm8tYW06CiBpbmZvOiBpbmZvLXJlY3Vyc2l2ZQogZHZpLWFtOgpAQCAtNDYwLDE4ICs1MDcs
MTggQEAKIG1haW50YWluZXItY2xlYW4tZ2VuZXJpYzoKIG1vc3RseWNsZWFuLWFtOiAgbW9zdGx5
Y2xlYW4taGRyIG1vc3RseWNsZWFuLWxpYkxUTElCUkFSSUVTIFwKIAkJbW9zdGx5Y2xlYW4tY29t
cGlsZSBtb3N0bHljbGVhbi1saWJ0b29sIFwKLQkJbW9zdGx5Y2xlYW4tdGFncyBtb3N0bHljbGVh
bi1nZW5lcmljCisJCW1vc3RseWNsZWFuLXRhZ3MgbW9zdGx5Y2xlYW4tZGVwZW5kIG1vc3RseWNs
ZWFuLWdlbmVyaWMKIAogbW9zdGx5Y2xlYW46IG1vc3RseWNsZWFuLXJlY3Vyc2l2ZQogCiBjbGVh
bi1hbTogIGNsZWFuLWhkciBjbGVhbi1saWJMVExJQlJBUklFUyBjbGVhbi1jb21waWxlIGNsZWFu
LWxpYnRvb2wgXAotCQljbGVhbi10YWdzIGNsZWFuLWdlbmVyaWMgbW9zdGx5Y2xlYW4tYW0KKwkJ
Y2xlYW4tdGFncyBjbGVhbi1kZXBlbmQgY2xlYW4tZ2VuZXJpYyBtb3N0bHljbGVhbi1hbQogCiBj
bGVhbjogY2xlYW4tcmVjdXJzaXZlCiAKIGRpc3RjbGVhbi1hbTogIGRpc3RjbGVhbi1oZHIgZGlz
dGNsZWFuLWxpYkxUTElCUkFSSUVTIGRpc3RjbGVhbi1jb21waWxlIFwKLQkJZGlzdGNsZWFuLWxp
YnRvb2wgZGlzdGNsZWFuLXRhZ3MgZGlzdGNsZWFuLWdlbmVyaWMgXAotCQljbGVhbi1hbQorCQlk
aXN0Y2xlYW4tbGlidG9vbCBkaXN0Y2xlYW4tdGFncyBkaXN0Y2xlYW4tZGVwZW5kIFwKKwkJZGlz
dGNsZWFuLWdlbmVyaWMgY2xlYW4tYW0KIAktcm0gLWYgbGlidG9vbAogCiBkaXN0Y2xlYW46IGRp
c3RjbGVhbi1yZWN1cnNpdmUKQEAgLTQ4MCw4ICs1MjcsOCBAQAogbWFpbnRhaW5lci1jbGVhbi1h
bTogIG1haW50YWluZXItY2xlYW4taGRyIFwKIAkJbWFpbnRhaW5lci1jbGVhbi1saWJMVExJQlJB
UklFUyBcCiAJCW1haW50YWluZXItY2xlYW4tY29tcGlsZSBtYWludGFpbmVyLWNsZWFuLWxpYnRv
b2wgXAotCQltYWludGFpbmVyLWNsZWFuLXRhZ3MgbWFpbnRhaW5lci1jbGVhbi1nZW5lcmljIFwK
LQkJZGlzdGNsZWFuLWFtCisJCW1haW50YWluZXItY2xlYW4tdGFncyBtYWludGFpbmVyLWNsZWFu
LWRlcGVuZCBcCisJCW1haW50YWluZXItY2xlYW4tZ2VuZXJpYyBkaXN0Y2xlYW4tYW0KIAlAZWNo
byAiVGhpcyBjb21tYW5kIGlzIGludGVuZGVkIGZvciBtYWludGFpbmVycyB0byB1c2U7IgogCUBl
Y2hvICJpdCBkZWxldGVzIGZpbGVzIHRoYXQgbWF5IHJlcXVpcmUgc3BlY2lhbCB0b29scyB0byBy
ZWJ1aWxkLiIKIApAQCAtNTAwLDEwICs1NDcsMTIgQEAKIGFsbC1yZWN1cnNpdmUgY2hlY2stcmVj
dXJzaXZlIGluc3RhbGxjaGVjay1yZWN1cnNpdmUgaW5mby1yZWN1cnNpdmUgXAogZHZpLXJlY3Vy
c2l2ZSBtb3N0bHljbGVhbi1yZWN1cnNpdmUgZGlzdGNsZWFuLXJlY3Vyc2l2ZSBjbGVhbi1yZWN1
cnNpdmUgXAogbWFpbnRhaW5lci1jbGVhbi1yZWN1cnNpdmUgdGFncyB0YWdzLXJlY3Vyc2l2ZSBt
b3N0bHljbGVhbi10YWdzIFwKLWRpc3RjbGVhbi10YWdzIGNsZWFuLXRhZ3MgbWFpbnRhaW5lci1j
bGVhbi10YWdzIGRpc3RkaXIgaW5mby1hbSBpbmZvIFwKLWR2aS1hbSBkdmkgY2hlY2sgY2hlY2st
YW0gaW5zdGFsbGNoZWNrLWFtIGluc3RhbGxjaGVjayBhbGwtcmVjdXJzaXZlLWFtIFwKLWluc3Rh
bGwtZXhlYy1hbSBpbnN0YWxsLWV4ZWMgaW5zdGFsbC1kYXRhLWFtIGluc3RhbGwtZGF0YSBpbnN0
YWxsLWFtIFwKLWluc3RhbGwgdW5pbnN0YWxsLWFtIHVuaW5zdGFsbCBhbGwtcmVkaXJlY3QgYWxs
LWFtIGFsbCBpbnN0YWxsZGlycy1hbSBcCitkaXN0Y2xlYW4tdGFncyBjbGVhbi10YWdzIG1haW50
YWluZXItY2xlYW4tdGFncyBkaXN0ZGlyIFwKK21vc3RseWNsZWFuLWRlcGVuZCBkaXN0Y2xlYW4t
ZGVwZW5kIGNsZWFuLWRlcGVuZCBcCittYWludGFpbmVyLWNsZWFuLWRlcGVuZCBpbmZvLWFtIGlu
Zm8gZHZpLWFtIGR2aSBjaGVjayBjaGVjay1hbSBcCitpbnN0YWxsY2hlY2stYW0gaW5zdGFsbGNo
ZWNrIGFsbC1yZWN1cnNpdmUtYW0gaW5zdGFsbC1leGVjLWFtIFwKK2luc3RhbGwtZXhlYyBpbnN0
YWxsLWRhdGEtYW0gaW5zdGFsbC1kYXRhIGluc3RhbGwtYW0gaW5zdGFsbCBcCit1bmluc3RhbGwt
YW0gdW5pbnN0YWxsIGFsbC1yZWRpcmVjdCBhbGwtYW0gYWxsIGluc3RhbGxkaXJzLWFtIFwKIGlu
c3RhbGxkaXJzIG1vc3RseWNsZWFuLWdlbmVyaWMgZGlzdGNsZWFuLWdlbmVyaWMgY2xlYW4tZ2Vu
ZXJpYyBcCiBtYWludGFpbmVyLWNsZWFuLWdlbmVyaWMgY2xlYW4gbW9zdGx5Y2xlYW4gZGlzdGNs
ZWFuIG1haW50YWluZXItY2xlYW4KIApkaWZmIC11ck4gbGNkLTAuMi4xL21pc3NpbmcgbGNkLTAu
Mi4xLW5ldy9taXNzaW5nCi0tLSBsY2QtMC4yLjEvbWlzc2luZwkxOTcwLTAxLTAxIDAxOjAwOjAw
LjAwMDAwMDAwMCArMDEwMAorKysgbGNkLTAuMi4xLW5ldy9taXNzaW5nCTIwMDQtMTItMjAgMDU6
MDg6MzMuMjcwMjg1MTY4ICswMTAwCkBAIC0wLDAgKzEsMTg4IEBACisjISAvYmluL3NoCisjIENv
bW1vbiBzdHViIGZvciBhIGZldyBtaXNzaW5nIEdOVSBwcm9ncmFtcyB3aGlsZSBpbnN0YWxsaW5n
LgorIyBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuCisjIEZyYW5jLG9pcyBQaW5hcmQgPHBpbmFyZEBpcm8udW1vbnRyZWFsLmNhPiwgMTk5Ni4K
KworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisjIGFueSBsYXRl
ciB2ZXJzaW9uLgorCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyMgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0
aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91
bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BCisj
IDAyMTExLTEzMDcsIFVTQS4KKworaWYgdGVzdCAkIyAtZXEgMDsgdGhlbgorICBlY2hvIDE+JjIg
IlRyeSBcYCQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24iCisgIGV4aXQgMQorZmkKKwor
Y2FzZSAiJDEiIGluCisKKyAgLWh8LS1ofC0taGV8LS1oZWx8LS1oZWxwKQorICAgIGVjaG8gIlwK
KyQwIFtPUFRJT05dLi4uIFBST0dSQU0gW0FSR1VNRU5UXS4uLgorCitIYW5kbGUgXGBQUk9HUkFN
IFtBUkdVTUVOVF0uLi4nIGZvciB3aGVuIFBST0dSQU0gaXMgbWlzc2luZywgb3IgcmV0dXJuIGFu
CitlcnJvciBzdGF0dXMgaWYgdGhlcmUgaXMgbm8ga25vd24gaGFuZGxpbmcgZm9yIFBST0dSQU0u
CisKK09wdGlvbnM6CisgIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhp
dAorICAtdiwgLS12ZXJzaW9uICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQK
KworU3VwcG9ydGVkIFBST0dSQU0gdmFsdWVzOgorICBhY2xvY2FsICAgICAgdG91Y2ggZmlsZSBc
YGFjbG9jYWwubTQnCisgIGF1dG9jb25mICAgICB0b3VjaCBmaWxlIFxgY29uZmlndXJlJworICBh
dXRvaGVhZGVyICAgdG91Y2ggZmlsZSBcYGNvbmZpZy5oLmluJworICBhdXRvbWFrZSAgICAgdG91
Y2ggYWxsIFxgTWFrZWZpbGUuaW4nIGZpbGVzCisgIGJpc29uICAgICAgICBjcmVhdGUgXGB5LnRh
Yi5bY2hdJywgaWYgcG9zc2libGUsIGZyb20gZXhpc3RpbmcgLltjaF0KKyAgZmxleCAgICAgICAg
IGNyZWF0ZSBcYGxleC55eS5jJywgaWYgcG9zc2libGUsIGZyb20gZXhpc3RpbmcgLmMKKyAgbGV4
ICAgICAgICAgIGNyZWF0ZSBcYGxleC55eS5jJywgaWYgcG9zc2libGUsIGZyb20gZXhpc3Rpbmcg
LmMKKyAgbWFrZWluZm8gICAgIHRvdWNoIHRoZSBvdXRwdXQgZmlsZQorICB5YWNjICAgICAgICAg
Y3JlYXRlIFxgeS50YWIuW2NoXScsIGlmIHBvc3NpYmxlLCBmcm9tIGV4aXN0aW5nIC5bY2hdIgor
ICAgIDs7CisKKyAgLXZ8LS12fC0tdmV8LS12ZXJ8LS12ZXJzfC0tdmVyc2l8LS12ZXJzaW98LS12
ZXJzaW9uKQorICAgIGVjaG8gIm1pc3NpbmcgLSBHTlUgbGliaXQgMC4wIgorICAgIDs7CisKKyAg
LSopCisgICAgZWNobyAxPiYyICIkMDogVW5rbm93biBcYCQxJyBvcHRpb24iCisgICAgZWNobyAx
PiYyICJUcnkgXGAkMCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIgorICAgIGV4aXQgMQor
ICAgIDs7CisKKyAgYWNsb2NhbCkKKyAgICBlY2hvIDE+JjIgIlwKK1dBUk5JTkc6IFxgJDEnIGlz
IG1pc3Npbmcgb24geW91ciBzeXN0ZW0uICBZb3Ugc2hvdWxkIG9ubHkgbmVlZCBpdCBpZgorICAg
ICAgICAgeW91IG1vZGlmaWVkIFxgYWNpbmNsdWRlLm00JyBvciBcYGNvbmZpZ3VyZS5pbicuICBZ
b3UgbWlnaHQgd2FudAorICAgICAgICAgdG8gaW5zdGFsbCB0aGUgXGBBdXRvbWFrZScgYW5kIFxg
UGVybCcgcGFja2FnZXMuICBHcmFiIHRoZW0gZnJvbQorICAgICAgICAgYW55IEdOVSBhcmNoaXZl
IHNpdGUuIgorICAgIHRvdWNoIGFjbG9jYWwubTQKKyAgICA7OworCisgIGF1dG9jb25mKQorICAg
IGVjaG8gMT4mMiAiXAorV0FSTklORzogXGAkMScgaXMgbWlzc2luZyBvbiB5b3VyIHN5c3RlbS4g
IFlvdSBzaG91bGQgb25seSBuZWVkIGl0IGlmCisgICAgICAgICB5b3UgbW9kaWZpZWQgXGBjb25m
aWd1cmUuaW4nLiAgWW91IG1pZ2h0IHdhbnQgdG8gaW5zdGFsbCB0aGUKKyAgICAgICAgIFxgQXV0
b2NvbmYnIGFuZCBcYEdOVSBtNCcgcGFja2FnZXMuICBHcmFiIHRoZW0gZnJvbSBhbnkgR05VCisg
ICAgICAgICBhcmNoaXZlIHNpdGUuIgorICAgIHRvdWNoIGNvbmZpZ3VyZQorICAgIDs7CisKKyAg
YXV0b2hlYWRlcikKKyAgICBlY2hvIDE+JjIgIlwKK1dBUk5JTkc6IFxgJDEnIGlzIG1pc3Npbmcg
b24geW91ciBzeXN0ZW0uICBZb3Ugc2hvdWxkIG9ubHkgbmVlZCBpdCBpZgorICAgICAgICAgeW91
IG1vZGlmaWVkIFxgYWNjb25maWcuaCcgb3IgXGBjb25maWd1cmUuaW4nLiAgWW91IG1pZ2h0IHdh
bnQKKyAgICAgICAgIHRvIGluc3RhbGwgdGhlIFxgQXV0b2NvbmYnIGFuZCBcYEdOVSBtNCcgcGFj
a2FnZXMuICBHcmFiIHRoZW0KKyAgICAgICAgIGZyb20gYW55IEdOVSBhcmNoaXZlIHNpdGUuIgor
ICAgIGZpbGVzPWBzZWQgLW4gJ3MvXlsgXSpBW0NNXV9DT05GSUdfSEVBREVSKFteKTpdKjpcKFte
KV0qXCkpLiovXDEvcCcgY29uZmlndXJlLmluYAorICAgIGlmIHRlc3QgLXogIiRmaWxlcyI7IHRo
ZW4KKyAgICAgIGZpbGVzPWBzZWQgLW4gJ3MvXlsgXSpBW0NNXV9DT05GSUdfSEVBREVSKFwoW14p
Ol0qXCkpLiovXDEvcCcgY29uZmlndXJlLmluYAorICAgICAgdGVzdCAteiAiJGZpbGVzIiB8fCBm
aWxlcz0iJGZpbGVzLmluIgorICAgIGVsc2UKKyAgICAgIGZpbGVzPWBlY2hvICIkZmlsZXMiIHwg
c2VkIC1lICdzLzovIC9nJ2AKKyAgICBmaQorICAgIHRlc3QgLXogIiRmaWxlcyIgJiYgZmlsZXM9
ImNvbmZpZy5oLmluIgorICAgIHRvdWNoICRmaWxlcworICAgIDs7CisKKyAgYXV0b21ha2UpCisg
ICAgZWNobyAxPiYyICJcCitXQVJOSU5HOiBcYCQxJyBpcyBtaXNzaW5nIG9uIHlvdXIgc3lzdGVt
LiAgWW91IHNob3VsZCBvbmx5IG5lZWQgaXQgaWYKKyAgICAgICAgIHlvdSBtb2RpZmllZCBcYE1h
a2VmaWxlLmFtJywgXGBhY2luY2x1ZGUubTQnIG9yIFxgY29uZmlndXJlLmluJy4KKyAgICAgICAg
IFlvdSBtaWdodCB3YW50IHRvIGluc3RhbGwgdGhlIFxgQXV0b21ha2UnIGFuZCBcYFBlcmwnIHBh
Y2thZ2VzLgorICAgICAgICAgR3JhYiB0aGVtIGZyb20gYW55IEdOVSBhcmNoaXZlIHNpdGUuIgor
ICAgIGZpbmQgLiAtdHlwZSBmIC1uYW1lIE1ha2VmaWxlLmFtIC1wcmludCBcCisgICAgICB8IHNl
ZCAncy9eXCguKlwpLmFtJC90b3VjaCBcMS5pbi8nIFwKKyAgICAgIHwgc2gKKyAgICA7OworCisg
IGJpc29ufHlhY2MpCisgICAgZWNobyAxPiYyICJcCitXQVJOSU5HOiBcYCQxJyBpcyBtaXNzaW5n
IG9uIHlvdXIgc3lzdGVtLiAgWW91IHNob3VsZCBvbmx5IG5lZWQgaXQgaWYKKyAgICAgICAgIHlv
dSBtb2RpZmllZCBhIFxgLnknIGZpbGUuICBZb3UgbWF5IG5lZWQgdGhlIFxgQmlzb24nIHBhY2th
Z2UKKyAgICAgICAgIGluIG9yZGVyIGZvciB0aG9zZSBtb2RpZmljYXRpb25zIHRvIHRha2UgZWZm
ZWN0LiAgWW91IGNhbiBnZXQKKyAgICAgICAgIFxgQmlzb24nIGZyb20gYW55IEdOVSBhcmNoaXZl
IHNpdGUuIgorICAgIHJtIC1mIHkudGFiLmMgeS50YWIuaAorICAgIGlmIFsgJCMgLW5lIDEgXTsg
dGhlbgorICAgICAgICBldmFsIExBU1RBUkc9IlwkeyQjfSIKKwljYXNlICIkTEFTVEFSRyIgaW4K
KwkqLnkpCisJICAgIFNSQ0ZJTEU9YGVjaG8gIiRMQVNUQVJHIiB8IHNlZCAncy95JC9jLydgCisJ
ICAgIGlmIFsgLWYgIiRTUkNGSUxFIiBdOyB0aGVuCisJICAgICAgICAgY3AgIiRTUkNGSUxFIiB5
LnRhYi5jCisJICAgIGZpCisJICAgIFNSQ0ZJTEU9YGVjaG8gIiRMQVNUQVJHIiB8IHNlZCAncy95
JC9oLydgCisJICAgIGlmIFsgLWYgIiRTUkNGSUxFIiBdOyB0aGVuCisJICAgICAgICAgY3AgIiRT
UkNGSUxFIiB5LnRhYi5oCisJICAgIGZpCisJICA7OworCWVzYWMKKyAgICBmaQorICAgIGlmIFsg
ISAtZiB5LnRhYi5oIF07IHRoZW4KKwllY2hvID55LnRhYi5oCisgICAgZmkKKyAgICBpZiBbICEg
LWYgeS50YWIuYyBdOyB0aGVuCisJZWNobyAnbWFpbigpIHsgcmV0dXJuIDA7IH0nID55LnRhYi5j
CisgICAgZmkKKyAgICA7OworCisgIGxleHxmbGV4KQorICAgIGVjaG8gMT4mMiAiXAorV0FSTklO
RzogXGAkMScgaXMgbWlzc2luZyBvbiB5b3VyIHN5c3RlbS4gIFlvdSBzaG91bGQgb25seSBuZWVk
IGl0IGlmCisgICAgICAgICB5b3UgbW9kaWZpZWQgYSBcYC5sJyBmaWxlLiAgWW91IG1heSBuZWVk
IHRoZSBcYEZsZXgnIHBhY2thZ2UKKyAgICAgICAgIGluIG9yZGVyIGZvciB0aG9zZSBtb2RpZmlj
YXRpb25zIHRvIHRha2UgZWZmZWN0LiAgWW91IGNhbiBnZXQKKyAgICAgICAgIFxgRmxleCcgZnJv
bSBhbnkgR05VIGFyY2hpdmUgc2l0ZS4iCisgICAgcm0gLWYgbGV4Lnl5LmMKKyAgICBpZiBbICQj
IC1uZSAxIF07IHRoZW4KKyAgICAgICAgZXZhbCBMQVNUQVJHPSJcJHskI30iCisJY2FzZSAiJExB
U1RBUkciIGluCisJKi5sKQorCSAgICBTUkNGSUxFPWBlY2hvICIkTEFTVEFSRyIgfCBzZWQgJ3Mv
bCQvYy8nYAorCSAgICBpZiBbIC1mICIkU1JDRklMRSIgXTsgdGhlbgorCSAgICAgICAgIGNwICIk
U1JDRklMRSIgbGV4Lnl5LmMKKwkgICAgZmkKKwkgIDs7CisJZXNhYworICAgIGZpCisgICAgaWYg
WyAhIC1mIGxleC55eS5jIF07IHRoZW4KKwllY2hvICdtYWluKCkgeyByZXR1cm4gMDsgfScgPmxl
eC55eS5jCisgICAgZmkKKyAgICA7OworCisgIG1ha2VpbmZvKQorICAgIGVjaG8gMT4mMiAiXAor
V0FSTklORzogXGAkMScgaXMgbWlzc2luZyBvbiB5b3VyIHN5c3RlbS4gIFlvdSBzaG91bGQgb25s
eSBuZWVkIGl0IGlmCisgICAgICAgICB5b3UgbW9kaWZpZWQgYSBcYC50ZXhpJyBvciBcYC50ZXhp
bmZvJyBmaWxlLCBvciBhbnkgb3RoZXIgZmlsZQorICAgICAgICAgaW5kaXJlY3RseSBhZmZlY3Rp
bmcgdGhlIGFzcGVjdCBvZiB0aGUgbWFudWFsLiAgVGhlIHNwdXJpb3VzCisgICAgICAgICBjYWxs
IG1pZ2h0IGFsc28gYmUgdGhlIGNvbnNlcXVlbmNlIG9mIHVzaW5nIGEgYnVnZ3kgXGBtYWtlJyAo
QUlYLAorICAgICAgICAgRFUsIElSSVgpLiAgWW91IG1pZ2h0IHdhbnQgdG8gaW5zdGFsbCB0aGUg
XGBUZXhpbmZvJyBwYWNrYWdlIG9yCisgICAgICAgICB0aGUgXGBHTlUgbWFrZScgcGFja2FnZS4g
IEdyYWIgZWl0aGVyIGZyb20gYW55IEdOVSBhcmNoaXZlIHNpdGUuIgorICAgIGZpbGU9YGVjaG8g
IiQqIiB8IHNlZCAtbiAncy8uKi1vIFwoW14gXSpcKS4qL1wxL3AnYAorICAgIGlmIHRlc3QgLXog
IiRmaWxlIjsgdGhlbgorICAgICAgZmlsZT1gZWNobyAiJCoiIHwgc2VkICdzLy4qIFwoW14gXSpc
KSAqJC9cMS8nYAorICAgICAgZmlsZT1gc2VkIC1uICcvXkBzZXRmaWxlbmFtZS8geyBzLy4qIFwo
W14gXSpcKSAqJC9cMS87IHA7IHE7IH0nICRmaWxlYAorICAgIGZpCisgICAgdG91Y2ggJGZpbGUK
KyAgICA7OworCisgICopCisgICAgZWNobyAxPiYyICJcCitXQVJOSU5HOiBcYCQxJyBpcyBuZWVk
ZWQsIGFuZCB5b3UgZG8gbm90IHNlZW0gdG8gaGF2ZSBpdCBoYW5keSBvbiB5b3VyCisgICAgICAg
ICBzeXN0ZW0uICBZb3UgbWlnaHQgaGF2ZSBtb2RpZmllZCBzb21lIGZpbGVzIHdpdGhvdXQgaGF2
aW5nIHRoZQorICAgICAgICAgcHJvcGVyIHRvb2xzIGZvciBmdXJ0aGVyIGhhbmRsaW5nIHRoZW0u
ICBDaGVjayB0aGUgXGBSRUFETUUnIGZpbGUsCisgICAgICAgICBpdCBvZnRlbiB0ZWxscyB5b3Ug
YWJvdXQgdGhlIG5lZWRlZCBwcmVyZXF1aXJlbWVudHMgZm9yIGluc3RhbGxpbmcKKyAgICAgICAg
IHRoaXMgcGFja2FnZS4gIFlvdSBtYXkgYWxzbyBwZWVrIGF0IGFueSBHTlUgYXJjaGl2ZSBzaXRl
LCBpbiBjYXNlCisgICAgICAgICBzb21lIG90aGVyIHBhY2thZ2Ugd291bGQgY29udGFpbiB0aGlz
IG1pc3NpbmcgXGAkMScgcHJvZ3JhbS4iCisgICAgZXhpdCAxCisgICAgOzsKK2VzYWMKKworZXhp
dCAwCmRpZmYgLXVyTiBsY2QtMC4yLjEvbWtpbnN0YWxsZGlycyBsY2QtMC4yLjEtbmV3L21raW5z
dGFsbGRpcnMKLS0tIGxjZC0wLjIuMS9ta2luc3RhbGxkaXJzCTE5NzAtMDEtMDEgMDE6MDA6MDAu
MDAwMDAwMDAwICswMTAwCisrKyBsY2QtMC4yLjEtbmV3L21raW5zdGFsbGRpcnMJMjAwNC0xMi0y
MCAwNTowNDo1Ni41ODkyMjU2OTYgKzAxMDAKQEAgLTAsMCArMSw0MCBAQAorIyEgL2Jpbi9zaAor
IyBta2luc3RhbGxkaXJzIC0tLSBtYWtlIGRpcmVjdG9yeSBoaWVyYXJjaHkKKyMgQXV0aG9yOiBO
b2FoIEZyaWVkbWFuIDxmcmllZG1hbkBwcmVwLmFpLm1pdC5lZHU+CisjIENyZWF0ZWQ6IDE5OTMt
MDUtMTYKKyMgUHVibGljIGRvbWFpbgorCisjICRJZDogbWtpbnN0YWxsZGlycyx2IDEuMTAgMTk5
Ni8wNS8wMyAwNzozNzo1MiBmcmllZG1hbiBFeHAgJAorCitlcnJzdGF0dXM9MAorCitmb3IgZmls
ZQorZG8KKyAgIHNldCBmbm9yZCBgZWNobyAiOiRmaWxlIiB8IHNlZCAtbmUgJ3MvXjpcLy8jLztz
L146Ly87cy9cLy8gL2c7cy9eIy9cLy87cCdgCisgICBzaGlmdAorCisgICBwYXRoY29tcD0KKyAg
IGZvciBkCisgICBkbworICAgICBwYXRoY29tcD0iJHBhdGhjb21wJGQiCisgICAgIGNhc2UgIiRw
YXRoY29tcCIgaW4KKyAgICAgICAtKiApIHBhdGhjb21wPS4vJHBhdGhjb21wIDs7CisgICAgIGVz
YWMKKworICAgICBpZiB0ZXN0ICEgLWQgIiRwYXRoY29tcCI7IHRoZW4KKyAgICAgICAgZWNobyAi
bWtkaXIgJHBhdGhjb21wIiAxPiYyCisKKyAgICAgICAgbWtkaXIgIiRwYXRoY29tcCIgfHwgbGFz
dGVycj0kPworCisgICAgICAgIGlmIHRlc3QgISAtZCAiJHBhdGhjb21wIjsgdGhlbgorICAJICBl
cnJzdGF0dXM9JGxhc3RlcnIKKyAgICAgICAgZmkKKyAgICAgZmkKKworICAgICBwYXRoY29tcD0i
JHBhdGhjb21wLyIKKyAgIGRvbmUKK2RvbmUKKworZXhpdCAkZXJyc3RhdHVzCisKKyMgbWtpbnN0
YWxsZGlycyBlbmRzIGhlcmUK
</data>        

          </attachment>
    </bug>

</bugzilla>