[kaffe] Update to xprofiling...

Jukka Santala jsantala@tml.hut.fi
Tue, 28 May 2002 16:21:54 +0300 (EEST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-342241519-1022592102=:21598
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.SOL.4.10.10205281621511.21598@morphine.tml.hut.fi>

Includes same patch I posted earlier to configure.in, but doesn't appear
to have been applied in yet. This time accompanied by re-generated
configure-script to make it seem bigger. For some reason my system changed
some of the compile-tests aesthetically (main() vs. int main(), return vs.
exit) as well, even though I should have same autoconf version in use.
Regenerate configure if required.

Additional patch: Modifications to kaffexprof script to work with the new
directory-structure & changes to nm output.

 -Jukka Santala

---559023410-342241519-1022592102=:21598
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="xprof-270502.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.10.10205281621420.21598@morphine.tml.hut.fi>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="xprof-270502.patch"

SW5kZXg6IGNvbmZpZ3VyZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT
IGZpbGU6IC9jdnMva2FmZmUva2FmZmUvY29uZmlndXJlLHYNCnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xODINCmRpZmYgLXUgLXIxLjE4MiBjb25maWd1cmUN
Ci0tLSBjb25maWd1cmUJMTEgTWF5IDIwMDIgMTc6MDM6MTcgLTAwMDAJMS4x
ODINCisrKyBjb25maWd1cmUJMjcgTWF5IDIwMDIgMDk6MTk6NDkgLTAwMDAN
CkBAIC01NjcwLDYgKzU2NzAsMTUgQEANCiAgIEVOQUJMRV9YUFJPRl9GQUxT
RT0NCiBmaQ0KIA0KK2lmIHRlc3QgeCIkZW5hYmxlX3hwcm9maWxpbmciID0g
eCJ5ZXMiOyB0aGVuDQorICBpZiB0ZXN0IC1mICIkc3JjZGlyL2NvbmZpZy8k
S2hvc3RfY3B1LyRLaG9zdF9vcy94cHJvZmlsZS1tZC5oIjsgdGhlbg0KKyAg
ICBDT05GSUdfWFBST0ZJTEVfTURfSD0iXCQodG9wX3NyY2RpcikvY29uZmln
LyRLaG9zdF9jcHUvJEtob3N0X29zL3hwcm9maWxlLW1kLmgiDQorICAgIA0K
KyAgZWxzZQ0KKyAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IFByb2Zp
bGluZyBub3Qgc3VwcG9ydGVkIGluICRLaG9zdF9jcHUtJEtob3N0X29zIiAx
PiYyOyBleGl0IDE7IH0NCisgIGZpDQorZmkNCisNCiANCiAjIENoZWNrIHdo
ZXRoZXIgLS1lbmFibGUteGRlYnVnZ2luZyBvciAtLWRpc2FibGUteGRlYnVn
Z2luZyB3YXMgZ2l2ZW4uDQogaWYgdGVzdCAiJHtlbmFibGVfeGRlYnVnZ2lu
ZytzZXR9IiA9IHNldDsgdGhlbg0KQEAgLTU3MTUsNyArNTcyNCw3IEBADQog
DQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZ3Byb2YoNCkgcHJvZmlsaW5n
IHN1cHBvcnQiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo1
NzE5OiBjaGVja2luZyBncHJvZig0KSBwcm9maWxpbmcgc3VwcG9ydCIgPiY1
DQorZWNobyAiY29uZmlndXJlOjU3Mjg6IGNoZWNraW5nIGdwcm9mKDQpIHBy
b2ZpbGluZyBzdXBwb3J0IiA+JjUNCiBpZiB0ZXN0IHgiJHt3aXRoX3Byb2Zp
bGluZ30iID0geCJ5ZXMiIDsgdGhlbg0KIAlDRkxBR1M9IiRDRkxBR1MgLXBn
Ig0KIAlDUFBGTEFHUz0iJENQUEZMQUdTIC1ES0FGRkVfQ1BST0ZJTEVSIg0K
QEAgLTU3MzIsNyArNTc0MSw3IEBADQogZmkNCiANCiBlY2hvICRhY19uICJj
aGVja2luZyBzdW4gY29tcGF0aWJpbGl0eSBtb2RlIiIuLi4gJGFjX2MiIDE+
JjYNCi1lY2hvICJjb25maWd1cmU6NTczNjogY2hlY2tpbmcgc3VuIGNvbXBh
dGliaWxpdHkgbW9kZSIgPiY1DQorZWNobyAiY29uZmlndXJlOjU3NDU6IGNo
ZWNraW5nIHN1biBjb21wYXRpYmlsaXR5IG1vZGUiID4mNQ0KIGlmIHRlc3Qg
eCIke3dpdGhfc3VuY29tcGF0K3NldH0iICE9IHgic2V0IiA7IHRoZW4NCiAJ
d2l0aF9zdW5jb21wYXQ9eWVzDQogZmkNCkBAIC01NzU1LDcgKzU3NjQsNyBA
QA0KIGZpDQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgdGhyZWFkIHN5c3Rl
bSIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjU3NTk6IGNo
ZWNraW5nIHRocmVhZCBzeXN0ZW0iID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo1
NzY4OiBjaGVja2luZyB0aHJlYWQgc3lzdGVtIiA+JjUNCiBpZiB0ZXN0IHgi
JHdpdGhfdGhyZWFkcyIgPSB4IiIgOyB0aGVuDQogCXdpdGhfdGhyZWFkcz11
bml4LWp0aHJlYWRzDQogZmkNCkBAIC01NzcxLDcgKzU3ODAsNyBAQA0KIEtB
RkZFVk1fVFJBTVBPTElORVNfQz0NCiBpZiB0ZXN0ICIkd2l0aF9lbmdpbmUi
ICE9ICJpbnRycCIgOyB0aGVuDQogCWVjaG8gJGFjX24gImNoZWNraW5nIGZv
ciB0cmFtcG9saW5lcyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmln
dXJlOjU3NzU6IGNoZWNraW5nIGZvciB0cmFtcG9saW5lcyIgPiY1DQorZWNo
byAiY29uZmlndXJlOjU3ODQ6IGNoZWNraW5nIGZvciB0cmFtcG9saW5lcyIg
PiY1DQogCWlmIHRlc3QgLWYgJHNyY2Rpci9jb25maWcvJEtob3N0X2NwdS90
cmFtcG9saW5lcy5jIDsgdGhlbg0KIAkJS0FGRkVWTV9UUkFNUE9MSU5FU19D
PSJcJCh0b3Bfc3JjZGlyKS9jb25maWcvJEtob3N0X2NwdS90cmFtcG9saW5l
cy5jIg0KIAkJDQpAQCAtNTgyMyw3ICs1ODMyLDcgQEANCiAjIFNWUjQgL3Vz
ci91Y2IvaW5zdGFsbCwgd2hpY2ggdHJpZXMgdG8gdXNlIHRoZSBub25leGlz
dGVudCBncm91cCAic3RhZmYiDQogIyAuL2luc3RhbGwsIHdoaWNoIGNhbiBi
ZSBlcnJvbmVvdXNseSBjcmVhdGVkIGJ5IG1ha2UgZnJvbSAuL2luc3RhbGwu
c2guDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGli
bGUgaW5zdGFsbCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJl
OjU4Mjc6IGNoZWNraW5nIGZvciBhIEJTRCBjb21wYXRpYmxlIGluc3RhbGwi
ID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo1ODM2OiBjaGVja2luZyBmb3IgYSBC
U0QgY29tcGF0aWJsZSBpbnN0YWxsIiA+JjUNCiBpZiB0ZXN0IC16ICIkSU5T
VEFMTCI7IHRoZW4NCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNf
Y3ZfcGF0aF9pbnN0YWxsJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVj
aG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpAQCAtNTg3Niw3ICs1
ODg1LDcgQEANCiB0ZXN0IC16ICIkSU5TVEFMTF9EQVRBIiAmJiBJTlNUQUxM
X0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0Jw0KIA0KIGVjaG8gJGFjX24gImNo
ZWNraW5nIHdoZXRoZXIgJHtNQUtFLW1ha2V9IHNldHMgXCR7TUFLRX0iIi4u
LiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo1ODgwOiBjaGVja2lu
ZyB3aGV0aGVyICR7TUFLRS1tYWtlfSBzZXRzIFwke01BS0V9IiA+JjUNCitl
Y2hvICJjb25maWd1cmU6NTg4OTogY2hlY2tpbmcgd2hldGhlciAke01BS0Ut
bWFrZX0gc2V0cyBcJHtNQUtFfSIgPiY1DQogc2V0IGR1bW15ICR7TUFLRS1t
YWtlfTsgYWNfbWFrZT1gZWNobyAiJDIiIHwgc2VkICd5JS4vKy0lX19wXyUn
YA0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX21h
a2VfJHthY19tYWtlfV9zZXQnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAg
ZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCkBAIC01OTA1LDcg
KzU5MTQsNyBAQA0KICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiamlr
ZXMiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLg0K
IHNldCBkdW1teSBqaWtlczsgYWNfd29yZD0kMg0KIGVjaG8gJGFjX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAi
Y29uZmlndXJlOjU5MDk6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1DQor
ZWNobyAiY29uZmlndXJlOjU5MTg6IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2df
SklLRVMnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAi
KGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQpAQCAtNTkzNCw3ICs1OTQz
LDcgQEANCiAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInppcCIsIHNv
IGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuDQogc2V0IGR1
bW15IHppcDsgYWNfd29yZD0kMg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZv
ciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJl
OjU5Mzg6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1DQorZWNobyAiY29u
ZmlndXJlOjU5NDc6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1DQogaWYg
ZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfWklQJytzZXR9
J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRh
Y19jIiAxPiY2DQogZWxzZQ0KQEAgLTU5NjMsNyArNTk3Miw3IEBADQogDQog
aWYgdGVzdCAiJExOX1MiID0gIiIgOyB0aGVuDQogCWVjaG8gJGFjX24gImNo
ZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MiIi4uLiAkYWNfYyIgMT4mNg0K
LWVjaG8gImNvbmZpZ3VyZTo1OTY3OiBjaGVja2luZyB3aGV0aGVyIGxuIC1z
IHdvcmtzIiA+JjUNCitlY2hvICJjb25maWd1cmU6NTk3NjogY2hlY2tpbmcg
d2hldGhlciBsbiAtcyB3b3JrcyIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBl
Y2hvICckJyd7J2FjX2N2X3Byb2dfTE5fUycrc2V0fSdgXCIgPSBzZXQiOyB0
aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVs
c2UNCkBAIC01OTk0LDcgKzYwMDMsNyBAQA0KIA0KIA0KIGVjaG8gJGFjX24g
ImNoZWNraW5nIHNpemUgb2Ygc2hvcnQiIi4uLiAkYWNfYyIgMT4mNg0KLWVj
aG8gImNvbmZpZ3VyZTo1OTk4OiBjaGVja2luZyBzaXplIG9mIHNob3J0IiA+
JjUNCitlY2hvICJjb25maWd1cmU6NjAwNzogY2hlY2tpbmcgc2l6ZSBvZiBz
aG9ydCIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2
X3NpemVvZl9zaG9ydCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hv
ICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCkBAIC02MDAy
LDE4ICs2MDExLDE4IEBADQogICBhY19jdl9zaXplb2Zfc2hvcnQ9MA0KIGVs
c2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA2
MDA2ICJjb25maWd1cmUiDQorI2xpbmUgNjAxNSAiY29uZmlndXJlIg0KICNp
bmNsdWRlICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxzdGRpby5oPg0KLWlu
dCBtYWluKCkNCittYWluKCkNCiB7DQogICBGSUxFICpmPWZvcGVuKCJjb25m
dGVzdHZhbCIsICJ3Iik7DQotICBpZiAoIWYpIHJldHVybigxKTsNCisgIGlm
ICghZikgZXhpdCgxKTsNCiAgIGZwcmludGYoZiwgIiVkXG4iLCBzaXplb2Yo
c2hvcnQpKTsNCi0gIHJldHVybigwKTsNCisgIGV4aXQoMCk7DQogfQ0KIEVP
Rg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjAxNzogXCIkYWNfbGlu
a1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1z
IGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAy
Pi9kZXYvbnVsbA0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjAyNjog
XCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAm
JiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0
OyBleGl0KSAyPi9kZXYvbnVsbA0KIHRoZW4NCiAgIGFjX2N2X3NpemVvZl9z
aG9ydD1gY2F0IGNvbmZ0ZXN0dmFsYA0KIGVsc2UNCkBAIC02MDMzLDcgKzYw
NDIsNyBAQA0KIA0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIHNpemUgb2Yg
aW50IiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6NjAzNzog
Y2hlY2tpbmcgc2l6ZSBvZiBpbnQiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo2
MDQ2OiBjaGVja2luZyBzaXplIG9mIGludCIgPiY1DQogaWYgZXZhbCAidGVz
dCBcImBlY2hvICckJyd7J2FjX2N2X3NpemVvZl9pbnQnK3NldH0nYFwiID0g
c2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+
JjYNCiBlbHNlDQpAQCAtNjA0MSwxOCArNjA1MCwxOCBAQA0KICAgYWNfY3Zf
c2l6ZW9mX2ludD0wDQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4
dCA8PEVPRg0KLSNsaW5lIDYwNDUgImNvbmZpZ3VyZSINCisjbGluZSA2MDU0
ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1
ZGUgPHN0ZGlvLmg+DQotaW50IG1haW4oKQ0KK21haW4oKQ0KIHsNCiAgIEZJ
TEUgKmY9Zm9wZW4oImNvbmZ0ZXN0dmFsIiwgInciKTsNCi0gIGlmICghZikg
cmV0dXJuKDEpOw0KKyAgaWYgKCFmKSBleGl0KDEpOw0KICAgZnByaW50Zihm
LCAiJWRcbiIsIHNpemVvZihpbnQpKTsNCi0gIHJldHVybigwKTsNCisgIGV4
aXQoMCk7DQogfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6
NjA1NjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4m
NTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2Nv
bmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0KK2lmIHsgKGV2YWwgZWNobyBj
b25maWd1cmU6NjA2NTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNf
bGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9
ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0KIHRoZW4NCiAg
IGFjX2N2X3NpemVvZl9pbnQ9YGNhdCBjb25mdGVzdHZhbGANCiBlbHNlDQpA
QCAtNjA3Miw3ICs2MDgxLDcgQEANCiANCiANCiBlY2hvICRhY19uICJjaGVj
a2luZyBzaXplIG9mIGxvbmciIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNv
bmZpZ3VyZTo2MDc2OiBjaGVja2luZyBzaXplIG9mIGxvbmciID4mNQ0KK2Vj
aG8gImNvbmZpZ3VyZTo2MDg1OiBjaGVja2luZyBzaXplIG9mIGxvbmciID4m
NQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9zaXplb2Zf
bG9uZycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIo
Y2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCkBAIC02MDgwLDE4ICs2MDg5
LDE4IEBADQogICBhY19jdl9zaXplb2ZfbG9uZz0wDQogZWxzZQ0KICAgY2F0
ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDYwODQgImNvbmZp
Z3VyZSINCisjbGluZSA2MDkzICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNv
bmZkZWZzLmgiDQogI2luY2x1ZGUgPHN0ZGlvLmg+DQotaW50IG1haW4oKQ0K
K21haW4oKQ0KIHsNCiAgIEZJTEUgKmY9Zm9wZW4oImNvbmZ0ZXN0dmFsIiwg
InciKTsNCi0gIGlmICghZikgcmV0dXJuKDEpOw0KKyAgaWYgKCFmKSBleGl0
KDEpOw0KICAgZnByaW50ZihmLCAiJWRcbiIsIHNpemVvZihsb25nKSk7DQot
ICByZXR1cm4oMCk7DQorICBleGl0KDApOw0KIH0NCiBFT0YNCi1pZiB7IChl
dmFsIGVjaG8gY29uZmlndXJlOjYwOTU6IFwiJGFjX2xpbmtcIikgMT4mNTsg
KGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7
YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwN
CitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYxMDQ6IFwiJGFjX2xpbmtc
IikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBj
b25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4v
ZGV2L251bGwNCiB0aGVuDQogICBhY19jdl9zaXplb2ZfbG9uZz1gY2F0IGNv
bmZ0ZXN0dmFsYA0KIGVsc2UNCkBAIC02MTExLDcgKzYxMjAsNyBAQA0KIA0K
IA0KIGVjaG8gJGFjX24gImNoZWNraW5nIHNpemUgb2YgbG9uZyBsb25nIiIu
Li4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6NjExNTogY2hlY2tp
bmcgc2l6ZSBvZiBsb25nIGxvbmciID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo2
MTI0OiBjaGVja2luZyBzaXplIG9mIGxvbmcgbG9uZyIgPiY1DQogaWYgZXZh
bCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3NpemVvZl9sb25nX2xvbmcn
K3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hl
ZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQpAQCAtNjExOSwxOCArNjEyOCwxOCBA
QA0KICAgYWNfY3Zfc2l6ZW9mX2xvbmdfbG9uZz0wDQogZWxzZQ0KICAgY2F0
ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDYxMjMgImNvbmZp
Z3VyZSINCisjbGluZSA2MTMyICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNv
bmZkZWZzLmgiDQogI2luY2x1ZGUgPHN0ZGlvLmg+DQotaW50IG1haW4oKQ0K
K21haW4oKQ0KIHsNCiAgIEZJTEUgKmY9Zm9wZW4oImNvbmZ0ZXN0dmFsIiwg
InciKTsNCi0gIGlmICghZikgcmV0dXJuKDEpOw0KKyAgaWYgKCFmKSBleGl0
KDEpOw0KICAgZnByaW50ZihmLCAiJWRcbiIsIHNpemVvZihsb25nIGxvbmcp
KTsNCi0gIHJldHVybigwKTsNCisgIGV4aXQoMCk7DQogfQ0KIEVPRg0KLWlm
IHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjEzNDogXCIkYWNfbGlua1wiKSAx
PiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0
ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYv
bnVsbA0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjE0MzogXCIkYWNf
bGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0
IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0
KSAyPi9kZXYvbnVsbA0KIHRoZW4NCiAgIGFjX2N2X3NpemVvZl9sb25nX2xv
bmc9YGNhdCBjb25mdGVzdHZhbGANCiBlbHNlDQpAQCAtNjE1MCw3ICs2MTU5
LDcgQEANCiANCiANCiBlY2hvICRhY19uICJjaGVja2luZyBzaXplIG9mIF9f
aW50NjQiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo2MTU0
OiBjaGVja2luZyBzaXplIG9mIF9faW50NjQiID4mNQ0KK2VjaG8gImNvbmZp
Z3VyZTo2MTYzOiBjaGVja2luZyBzaXplIG9mIF9faW50NjQiID4mNQ0KIGlm
IGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9zaXplb2ZfX19pbnQ2
NCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2Fj
aGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCkBAIC02MTU4LDE4ICs2MTY3LDE4
IEBADQogICBhY19jdl9zaXplb2ZfX19pbnQ2ND0wDQogZWxzZQ0KICAgY2F0
ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDYxNjIgImNvbmZp
Z3VyZSINCisjbGluZSA2MTcxICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNv
bmZkZWZzLmgiDQogI2luY2x1ZGUgPHN0ZGlvLmg+DQotaW50IG1haW4oKQ0K
K21haW4oKQ0KIHsNCiAgIEZJTEUgKmY9Zm9wZW4oImNvbmZ0ZXN0dmFsIiwg
InciKTsNCi0gIGlmICghZikgcmV0dXJuKDEpOw0KKyAgaWYgKCFmKSBleGl0
KDEpOw0KICAgZnByaW50ZihmLCAiJWRcbiIsIHNpemVvZihfX2ludDY0KSk7
DQotICByZXR1cm4oMCk7DQorICBleGl0KDApOw0KIH0NCiBFT0YNCi1pZiB7
IChldmFsIGVjaG8gY29uZmlndXJlOjYxNzM6IFwiJGFjX2xpbmtcIikgMT4m
NTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVz
dCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251
bGwNCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYxODI6IFwiJGFjX2xp
bmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAt
cyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkg
Mj4vZGV2L251bGwNCiB0aGVuDQogICBhY19jdl9zaXplb2ZfX19pbnQ2ND1g
Y2F0IGNvbmZ0ZXN0dmFsYA0KIGVsc2UNCkBAIC02MTg5LDcgKzYxOTgsNyBA
QA0KIA0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIHNpemUgb2Ygdm9pZCoi
Ii4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo2MTkzOiBjaGVj
a2luZyBzaXplIG9mIHZvaWQqIiA+JjUNCitlY2hvICJjb25maWd1cmU6NjIw
MjogY2hlY2tpbmcgc2l6ZSBvZiB2b2lkKiIgPiY1DQogaWYgZXZhbCAidGVz
dCBcImBlY2hvICckJyd7J2FjX2N2X3NpemVvZl92b2lkcCcrc2V0fSdgXCIg
PSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIg
MT4mNg0KIGVsc2UNCkBAIC02MTk3LDE4ICs2MjA2LDE4IEBADQogICBhY19j
dl9zaXplb2Zfdm9pZHA9MA0KIGVsc2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRh
Y19leHQgPDxFT0YNCi0jbGluZSA2MjAxICJjb25maWd1cmUiDQorI2xpbmUg
NjIxMCAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KICNp
bmNsdWRlIDxzdGRpby5oPg0KLWludCBtYWluKCkNCittYWluKCkNCiB7DQog
ICBGSUxFICpmPWZvcGVuKCJjb25mdGVzdHZhbCIsICJ3Iik7DQotICBpZiAo
IWYpIHJldHVybigxKTsNCisgIGlmICghZikgZXhpdCgxKTsNCiAgIGZwcmlu
dGYoZiwgIiVkXG4iLCBzaXplb2Yodm9pZCopKTsNCi0gIHJldHVybigwKTsN
CisgIGV4aXQoMCk7DQogfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25m
aWd1cmU6NjIxMjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGlu
aykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYm
ICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0KK2lmIHsgKGV2YWwg
ZWNobyBjb25maWd1cmU6NjIyMTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZh
bCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19l
eGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0KIHRo
ZW4NCiAgIGFjX2N2X3NpemVvZl92b2lkcD1gY2F0IGNvbmZ0ZXN0dmFsYA0K
IGVsc2UNCkBAIC02MjMwLDcgKzYyMzksNyBAQA0KIA0KIA0KIGVjaG8gJGFj
X24gImNoZWNraW5nIGFsaWdubWVudCBvZiB2b2lkKiIiLi4uICRhY19jIiAx
PiY2DQotZWNobyAiY29uZmlndXJlOjYyMzQ6IGNoZWNraW5nIGFsaWdubWVu
dCBvZiB2b2lkKiIgPiY1DQorZWNobyAiY29uZmlndXJlOjYyNDM6IGNoZWNr
aW5nIGFsaWdubWVudCBvZiB2b2lkKiIgPiY1DQogaWYgZXZhbCAidGVzdCBc
ImBlY2hvICckJyd7J2FjX2N2X2FsaWdubWVudG9mX3ZvaWRwJytzZXR9J2Bc
IiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19j
IiAxPiY2DQogZWxzZQ0KQEAgLTYyMzgsNyArNjI0Nyw3IEBADQogICBhY19j
dl9hbGlnbm1lbnRvZl92b2lkcD0kYWNfY3Zfc2l6ZW9mX3ZvaWRwDQogZWxz
ZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDYy
NDIgImNvbmZpZ3VyZSINCisjbGluZSA2MjUxICJjb25maWd1cmUiDQogI2lu
Y2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPHN0ZGlvLmg+DQogbWFp
bigpIHsgc3RydWN0IHsgY2hhciBjOyB2b2lkICpwOyB9IHQ7IEZJTEUgKmY7
DQpAQCAtNjI0OCw3ICs2MjU3LDcgQEANCiAgIGZwcmludGYgKGYsICIlZCIs
ICgoY2hhciopICZ0LnApLSgoY2hhciopICZ0KSk7DQogICBmY2xvc2UoZik7
IGV4aXQgKDApOyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3Vy
ZTo2MjUyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAy
PiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4v
Y29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsDQoraWYgeyAoZXZhbCBlY2hv
IGNvbmZpZ3VyZTo2MjYxOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRh
Y19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4
dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsDQogdGhlbg0K
ICAgYWNfY3ZfYWxpZ25tZW50b2Zfdm9pZHA9YGNhdCBjb25mdGVzdGRhdGFg
DQogZWxzZQ0KQEAgLTYyNzAsMTIgKzYyNzksMTIgQEANCiANCiANCiBlY2hv
ICRhY19uICJjaGVja2luZyByZXR1cm4gdHlwZSBvZiBzaWduYWwgaGFuZGxl
cnMiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo2Mjc0OiBj
aGVja2luZyByZXR1cm4gdHlwZSBvZiBzaWduYWwgaGFuZGxlcnMiID4mNQ0K
K2VjaG8gImNvbmZpZ3VyZTo2MjgzOiBjaGVja2luZyByZXR1cm4gdHlwZSBv
ZiBzaWduYWwgaGFuZGxlcnMiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNo
byAnJCcneydhY19jdl90eXBlX3NpZ25hbCcrc2V0fSdgXCIgPSBzZXQiOyB0
aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVs
c2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA2
Mjc5ICJjb25maWd1cmUiDQorI2xpbmUgNjI4OCAiY29uZmlndXJlIg0KICNp
bmNsdWRlICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4N
CiAjaW5jbHVkZSA8c2lnbmFsLmg+DQpAQCAtNjI5Miw3ICs2MzAxLDcgQEAN
CiBpbnQgaTsNCiA7IHJldHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZhbCBl
Y2hvIGNvbmZpZ3VyZTo2Mjk2OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChl
dmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuDQoraWYgeyAoZXZhbCBl
Y2hvIGNvbmZpZ3VyZTo2MzA1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChl
dmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuDQogICBybSAtcmYgY29u
ZnRlc3QqDQogICBhY19jdl90eXBlX3NpZ25hbD12b2lkDQogZWxzZQ0KQEAg
LTYzMTIsNyArNjMyMSw3IEBADQogDQogDQogZWNobyAkYWNfbiAiY2hlY2tp
bmcgd2hldGhlciBzaWduYWwgaGFuZGxlcnMgYXJlIG9uZS1zaG90IiIuLi4g
JGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6NjMxNjogY2hlY2tpbmcg
d2hldGhlciBzaWduYWwgaGFuZGxlcnMgYXJlIG9uZS1zaG90IiA+JjUNCitl
Y2hvICJjb25maWd1cmU6NjMyNTogY2hlY2tpbmcgd2hldGhlciBzaWduYWwg
aGFuZGxlcnMgYXJlIG9uZS1zaG90IiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwi
YGVjaG8gJyQnJ3sna2FmZmVfY3Zfc2lnbmFsX29uZV9zaG90JytzZXR9J2Bc
IiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19j
IiAxPiY2DQogZWxzZQ0KQEAgLTYzMjAsNyArNjMyOSw3IEBADQogICBrYWZm
ZV9jdl9zaWduYWxfb25lX3Nob3Q9Y3Jvc3MNCiBlbHNlDQogICBjYXQgPiBj
b25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgNjMyNCAiY29uZmlndXJl
Ig0KKyNsaW5lIDYzMzMgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRl
ZnMuaCINCiANCiAjaW5jbHVkZSA8c2lnbmFsLmg+DQpAQCAtNjMzOSw3ICs2
MzQ4LDcgQEANCiB9DQogDQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZp
Z3VyZTo2MzQzOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5r
KSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYg
KC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsDQoraWYgeyAoZXZhbCBl
Y2hvIGNvbmZpZ3VyZTo2MzUyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFs
ICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4
ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsDQogdGhl
bg0KICAga2FmZmVfY3Zfc2lnbmFsX29uZV9zaG90PW5vDQogZWxzZQ0KQEAg
LTYzNjMsMTIgKzYzNzIsMTIgQEANCiBmaQ0KIA0KIGVjaG8gJGFjX24gImNo
ZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzIiIuLi4gJGFjX2MiIDE+
JjYNCi1lY2hvICJjb25maWd1cmU6NjM2NzogY2hlY2tpbmcgZm9yIEFOU0kg
QyBoZWFkZXIgZmlsZXMiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo2Mzc2OiBj
aGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIgPiY1DQogaWYgZXZh
bCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl9zdGRjJytzZXR9
J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRh
Y19jIiAxPiY2DQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8
PEVPRg0KLSNsaW5lIDYzNzIgImNvbmZpZ3VyZSINCisjbGluZSA2MzgxICJj
b25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUg
PHN0ZGxpYi5oPg0KICNpbmNsdWRlIDxzdGRhcmcuaD4NCkBAIC02Mzc2LDcg
KzYzODUsNyBAQA0KICNpbmNsdWRlIDxmbG9hdC5oPg0KIEVPRg0KIGFjX3Ry
eT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25m
dGVzdC5vdXQiDQoteyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2MzgwOiBcIiRh
Y190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQ0KK3sgKGV2
YWwgZWNobyBjb25maWd1cmU6NjM4OTogXCIkYWNfdHJ5XCIpIDE+JjU7IChl
dmFsICRhY190cnkpIDI+JjU7IH0NCiBhY19lcnI9YGdyZXAgLXYgJ14gKisn
IGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1c
JCJgDQogaWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4NCiAgIHJtIC1yZiBj
b25mdGVzdCoNCkBAIC02MzkzLDcgKzY0MDIsNyBAQA0KIGlmIHRlc3QgJGFj
X2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuDQogICAjIFN1bk9TIDQueCBz
dHJpbmcuaCBkb2VzIG5vdCBkZWNsYXJlIG1lbSosIGNvbnRyYXJ5IHRvIEFO
U0kuDQogY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDYz
OTcgImNvbmZpZ3VyZSINCisjbGluZSA2NDA2ICJjb25maWd1cmUiDQogI2lu
Y2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPHN0cmluZy5oPg0KIEVP
Rg0KQEAgLTY0MTEsNyArNjQyMCw3IEBADQogaWYgdGVzdCAkYWNfY3ZfaGVh
ZGVyX3N0ZGMgPSB5ZXM7IHRoZW4NCiAgICMgSVNDIDIuMC4yIHN0ZGxpYi5o
IGRvZXMgbm90IGRlY2xhcmUgZnJlZSwgY29udHJhcnkgdG8gQU5TSS4NCiBj
YXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgNjQxNSAiY29u
ZmlndXJlIg0KKyNsaW5lIDY0MjQgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAi
Y29uZmRlZnMuaCINCiAjaW5jbHVkZSA8c3RkbGliLmg+DQogRU9GDQpAQCAt
NjQzMiw3ICs2NDQxLDcgQEANCiAgIDoNCiBlbHNlDQogICBjYXQgPiBjb25m
dGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgNjQzNiAiY29uZmlndXJlIg0K
KyNsaW5lIDY0NDUgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMu
aCINCiAjaW5jbHVkZSA8Y3R5cGUuaD4NCiAjZGVmaW5lIElTTE9XRVIoYykg
KCdhJyA8PSAoYykgJiYgKGMpIDw9ICd6JykNCkBAIC02NDQzLDcgKzY0NTIs
NyBAQA0KIGV4aXQgKDApOyB9DQogDQogRU9GDQotaWYgeyAoZXZhbCBlY2hv
IGNvbmZpZ3VyZTo2NDQ3OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRh
Y19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4
dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsDQoraWYgeyAo
ZXZhbCBlY2hvIGNvbmZpZ3VyZTo2NDU2OiBcIiRhY19saW5rXCIpIDE+JjU7
IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qk
e2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxs
DQogdGhlbg0KICAgOg0KIGVsc2UNCkBAIC02NDY3LDEyICs2NDc2LDEyIEBA
DQogZmkNCiANCiBlY2hvICRhY19uICJjaGVja2luZyBmb3Igc2l6ZV90IiIu
Li4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6NjQ3MTogY2hlY2tp
bmcgZm9yIHNpemVfdCIgPiY1DQorZWNobyAiY29uZmlndXJlOjY0ODA6IGNo
ZWNraW5nIGZvciBzaXplX3QiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNo
byAnJCcneydhY19jdl90eXBlX3NpemVfdCcrc2V0fSdgXCIgPSBzZXQiOyB0
aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVs
c2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA2
NDc2ICJjb25maWd1cmUiDQorI2xpbmUgNjQ4NSAiY29uZmlndXJlIg0KICNp
bmNsdWRlICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4N
CiAjaWYgU1REQ19IRUFERVJTDQpAQCAtNjUwMiwxMiArNjUxMSwxMiBAQA0K
IA0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBzc2l6ZV90IiIuLi4g
JGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6NjUwNjogY2hlY2tpbmcg
Zm9yIHNzaXplX3QiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo2NTE1OiBjaGVj
a2luZyBmb3Igc3NpemVfdCIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hv
ICckJyd7J2FjX2N2X3R5cGVfc3NpemVfdCcrc2V0fSdgXCIgPSBzZXQiOyB0
aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVs
c2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA2
NTExICJjb25maWd1cmUiDQorI2xpbmUgNjUyMCAiY29uZmlndXJlIg0KICNp
bmNsdWRlICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4N
CiAjaWYgU1REQ19IRUFERVJTDQpAQCAtNjU0OSw3ICs2NTU4LDcgQEANCiBL
U0FWRV9MSUJTPSIkTElCUyINCiBMSUJTPSIkTV9MSUJTICRLU0FWRV9MSUJT
Ig0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBfbXd2YWxpZGNoZWNrbCBp
biAtbG13IiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6NjU1
MzogY2hlY2tpbmcgZm9yIF9td3ZhbGlkY2hlY2tsIGluIC1sbXciID4mNQ0K
K2VjaG8gImNvbmZpZ3VyZTo2NTYyOiBjaGVja2luZyBmb3IgX213dmFsaWRj
aGVja2wgaW4gLWxtdyIgPiY1DQogYWNfbGliX3Zhcj1gZWNobyBtdydfJ19t
d3ZhbGlkY2hlY2tsIHwgc2VkICd5JS4vKy0lX19wXyUnYA0KIGlmIGV2YWwg
InRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXInK3Nl
dH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkg
JGFjX2MiIDE+JjYNCkBAIC02NTU3LDcgKzY1NjYsNyBAQA0KICAgYWNfc2F2
ZV9MSUJTPSIkTElCUyINCiBMSUJTPSItbG13ICAkTElCUyINCiBjYXQgPiBj
b25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgNjU2MSAiY29uZmlndXJl
Ig0KKyNsaW5lIDY1NzAgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRl
ZnMuaCINCiAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5
cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KIC8qIFdlIHVzZSBjaGFyIGJl
Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdj
YzINCkBAIC02NTY4LDcgKzY1NzcsNyBAQA0KIF9td3ZhbGlkY2hlY2tsKCkN
CiA7IHJldHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZp
Z3VyZTo2NTcyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5r
KSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRo
ZW4NCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY1ODE6IFwiJGFjX2xp
bmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAt
cyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0
ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyINCiBl
bHNlDQpAQCAtNjYwMSw3ICs2NjEwLDcgQEANCiBLU0FWRV9MSUJTPSIkTElC
UyINCiBMSUJTPSIkTV9MSUJTICRLU0FWRV9MSUJTIg0KIGVjaG8gJGFjX24g
ImNoZWNraW5nIGZvciBzaW4gaW4gLWxtIiIuLi4gJGFjX2MiIDE+JjYNCi1l
Y2hvICJjb25maWd1cmU6NjYwNTogY2hlY2tpbmcgZm9yIHNpbiBpbiAtbG0i
ID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo2NjE0OiBjaGVja2luZyBmb3Igc2lu
IGluIC1sbSIgPiY1DQogYWNfbGliX3Zhcj1gZWNobyBtJ18nc2luIHwgc2Vk
ICd5JS4vKy0lX19wXyUnYA0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcn
eydhY19jdl9saWJfJGFjX2xpYl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhl
bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCkBAIC02
NjA5LDcgKzY2MTgsNyBAQA0KICAgYWNfc2F2ZV9MSUJTPSIkTElCUyINCiBM
SUJTPSItbG0gICRMSUJTIg0KIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxF
T0YNCi0jbGluZSA2NjEzICJjb25maWd1cmUiDQorI2xpbmUgNjYyMiAiY29u
ZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KIC8qIE92ZXJyaWRl
IGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv
ci4gICovDQogLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0
Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KQEAgLTY2MjAsNyArNjYy
OSw3IEBADQogc2luKCkNCiA7IHJldHVybiAwOyB9DQogRU9GDQotaWYgeyAo
ZXZhbCBlY2hvIGNvbmZpZ3VyZTo2NjI0OiBcIiRhY19saW5rXCIpIDE+JjU7
IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qk
e2FjX2V4ZWV4dH07IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJl
OjY2MzM6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+
JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0K
ICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfbGliXyRhY19s
aWJfdmFyPXllcyINCiBlbHNlDQpAQCAtNjY2NCw3ICs2NjczLDcgQEANCiAJ
S1NBVkVfTElCUz0iJExJQlMiDQogTElCUz0iJFZNX0xJQlMgJEtTQVZFX0xJ
QlMiDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGZmaV9jYWxsIGluIC1s
ZmZpIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6NjY2ODog
Y2hlY2tpbmcgZm9yIGZmaV9jYWxsIGluIC1sZmZpIiA+JjUNCitlY2hvICJj
b25maWd1cmU6NjY3NzogY2hlY2tpbmcgZm9yIGZmaV9jYWxsIGluIC1sZmZp
IiA+JjUNCiBhY19saWJfdmFyPWBlY2hvIGZmaSdfJ2ZmaV9jYWxsIHwgc2Vk
ICd5JS4vKy0lX19wXyUnYA0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcn
eydhY19jdl9saWJfJGFjX2xpYl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhl
bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCkBAIC02
NjcyLDcgKzY2ODEsNyBAQA0KICAgYWNfc2F2ZV9MSUJTPSIkTElCUyINCiBM
SUJTPSItbGZmaSAgJExJQlMiDQogY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8
PEVPRg0KLSNsaW5lIDY2NzYgImNvbmZpZ3VyZSINCisjbGluZSA2Njg1ICJj
b25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogLyogT3ZlcnJp
ZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy
cm9yLiAgKi8NCiAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt
YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyDQpAQCAtNjY4Myw3ICs2
NjkyLDcgQEANCiBmZmlfY2FsbCgpDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0K
LWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjY4NzogXCIkYWNfbGlua1wi
KSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNv
bmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNv
bmZpZ3VyZTo2Njk2OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19s
aW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07
IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVzdCoNCiAgIGV2YWwgImFjX2N2X2xp
Yl8kYWNfbGliX3Zhcj15ZXMiDQogZWxzZQ0KQEAgLTY3MjQsNyArNjczMyw3
IEBADQogCUtTQVZFX0xJQlM9IiRMSUJTIg0KIExJQlM9IiRWTV9MSUJTICRL
U0FWRV9MSUJTIg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBfX21vZGRp
MyBpbiAtbGdjYyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJl
OjY3Mjg6IGNoZWNraW5nIGZvciBfX21vZGRpMyBpbiAtbGdjYyIgPiY1DQor
ZWNobyAiY29uZmlndXJlOjY3Mzc6IGNoZWNraW5nIGZvciBfX21vZGRpMyBp
biAtbGdjYyIgPiY1DQogYWNfbGliX3Zhcj1gZWNobyBnY2MnXydfX21vZGRp
MyB8IHNlZCAneSUuLystJV9fcF8lJ2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVj
aG8gJyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNl
dCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2
DQpAQCAtNjczMiw3ICs2NzQxLDcgQEANCiAgIGFjX3NhdmVfTElCUz0iJExJ
QlMiDQogTElCUz0iLWxnY2MgICRMSUJTIg0KIGNhdCA+IGNvbmZ0ZXN0LiRh
Y19leHQgPDxFT0YNCi0jbGluZSA2NzM2ICJjb25maWd1cmUiDQorI2xpbmUg
Njc0NSAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KIC8q
IE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p
ZCBhbiBlcnJvci4gICovDQogLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQg
bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KQEAgLTY3
NDMsNyArNjc1Miw3IEBADQogX19tb2RkaTMoKQ0KIDsgcmV0dXJuIDA7IH0N
CiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY3NDc6IFwiJGFj
X2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVz
dCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwg
ZWNobyBjb25maWd1cmU6Njc1NjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZh
bCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19l
eGVleHR9OyB0aGVuDQogICBybSAtcmYgY29uZnRlc3QqDQogICBldmFsICJh
Y19jdl9saWJfJGFjX2xpYl92YXI9eWVzIg0KIGVsc2UNCkBAIC02Nzc5LDEy
ICs2Nzg4LDEyIEBADQogDQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9y
IGdldGhvc3RuYW1lIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1
cmU6Njc4MzogY2hlY2tpbmcgZm9yIGdldGhvc3RuYW1lIiA+JjUNCitlY2hv
ICJjb25maWd1cmU6Njc5MjogY2hlY2tpbmcgZm9yIGdldGhvc3RuYW1lIiA+
JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY19n
ZXRob3N0bmFtZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRh
Y19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNhdCA+IGNv
bmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA2Nzg4ICJjb25maWd1cmUi
DQorI2xpbmUgNjc5NyAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVm
cy5oIg0KIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNy
b3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICAgd2hpY2gg
Y2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRob3N0bmFtZSgpOyBiZWxvdy4g
ICovDQpAQCAtNjgwNyw3ICs2ODE2LDcgQEANCiANCiA7IHJldHVybiAwOyB9
DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2ODExOiBcIiRh
Y19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRl
c3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCitpZiB7IChldmFs
IGVjaG8gY29uZmlndXJlOjY4MjA6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2
YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNf
ZXhlZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAi
YWNfY3ZfZnVuY19nZXRob3N0bmFtZT15ZXMiDQogZWxzZQ0KQEAgLTY4MzAs
NyArNjgzOSw3IEBADQogICAgICAgS1NBVkVfTElCUz0iJExJQlMiDQogTElC
Uz0iJE5FVF9MSUJTICRLU0FWRV9MSUJTIg0KIGVjaG8gJGFjX24gImNoZWNr
aW5nIGZvciBnZXRob3N0bmFtZSBpbiAtbG5zbCIiLi4uICRhY19jIiAxPiY2
DQotZWNobyAiY29uZmlndXJlOjY4MzQ6IGNoZWNraW5nIGZvciBnZXRob3N0
bmFtZSBpbiAtbG5zbCIgPiY1DQorZWNobyAiY29uZmlndXJlOjY4NDM6IGNo
ZWNraW5nIGZvciBnZXRob3N0bmFtZSBpbiAtbG5zbCIgPiY1DQogYWNfbGli
X3Zhcj1gZWNobyBuc2wnXydnZXRob3N0bmFtZSB8IHNlZCAneSUuLystJV9f
cF8lJ2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGli
XyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8g
JGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpAQCAtNjgzOCw3ICs2ODQ3
LDcgQEANCiAgIGFjX3NhdmVfTElCUz0iJExJQlMiDQogTElCUz0iLWxuc2wg
ICRMSUJTIg0KIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGlu
ZSA2ODQyICJjb25maWd1cmUiDQorI2xpbmUgNjg1MSAiY29uZmlndXJlIg0K
ICNpbmNsdWRlICJjb25mZGVmcy5oIg0KIC8qIE92ZXJyaWRlIGFueSBnY2My
IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQog
LyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl
dHVybiB0eXBlIG9mIGEgZ2NjMg0KQEAgLTY4NDksNyArNjg1OCw3IEBADQog
Z2V0aG9zdG5hbWUoKQ0KIDsgcmV0dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChl
dmFsIGVjaG8gY29uZmlndXJlOjY4NTM6IFwiJGFjX2xpbmtcIikgMT4mNTsg
KGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7
YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6
Njg2MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4m
NTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQog
ICBybSAtcmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9saWJfJGFjX2xp
Yl92YXI9eWVzIg0KIGVsc2UNCkBAIC02ODgxLDEyICs2ODkwLDEyIEBADQog
DQogZmkNCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFt
ZSIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjY4ODU6IGNo
ZWNraW5nIGZvciBnZXRob3N0YnluYW1lIiA+JjUNCitlY2hvICJjb25maWd1
cmU6Njg5NDogY2hlY2tpbmcgZm9yIGdldGhvc3RieW5hbWUiID4mNQ0KIGlm
IGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jX2dldGhvc3Ri
eW5hbWUnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAi
KGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQogICBjYXQgPiBjb25mdGVz
dC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgNjg5MCAiY29uZmlndXJlIg0KKyNs
aW5lIDY4OTkgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIN
CiAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFu
ZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQogICAgIHdoaWNoIGNhbiBj
b25mbGljdCB3aXRoIGNoYXIgZ2V0aG9zdGJ5bmFtZSgpOyBiZWxvdy4gICov
DQpAQCAtNjkwOSw3ICs2OTE4LDcgQEANCiANCiA7IHJldHVybiAwOyB9DQog
RU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2OTEzOiBcIiRhY19s
aW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3Qg
LXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCitpZiB7IChldmFsIGVj
aG8gY29uZmlndXJlOjY5MjI6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwg
JGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhl
ZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNf
Y3ZfZnVuY19nZXRob3N0YnluYW1lPXllcyINCiBlbHNlDQpAQCAtNjkzMiw3
ICs2OTQxLDcgQEANCiAgICAgICBLU0FWRV9MSUJTPSIkTElCUyINCiBMSUJT
PSIkTkVUX0xJQlMgJEtTQVZFX0xJQlMiDQogZWNobyAkYWNfbiAiY2hlY2tp
bmcgZm9yIGdldGhvc3RieW5hbWUgaW4gLWxuc2wiIi4uLiAkYWNfYyIgMT4m
Ng0KLWVjaG8gImNvbmZpZ3VyZTo2OTM2OiBjaGVja2luZyBmb3IgZ2V0aG9z
dGJ5bmFtZSBpbiAtbG5zbCIgPiY1DQorZWNobyAiY29uZmlndXJlOjY5NDU6
IGNoZWNraW5nIGZvciBnZXRob3N0YnluYW1lIGluIC1sbnNsIiA+JjUNCiBh
Y19saWJfdmFyPWBlY2hvIG5zbCdfJ2dldGhvc3RieW5hbWUgfCBzZWQgJ3kl
Li8rLSVfX3BfJSdgDQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2Fj
X2N2X2xpYl8kYWNfbGliX3Zhcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQog
ICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KQEAgLTY5NDAs
NyArNjk0OSw3IEBADQogICBhY19zYXZlX0xJQlM9IiRMSUJTIg0KIExJQlM9
Ii1sbnNsICAkTElCUyINCiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9G
DQotI2xpbmUgNjk0NCAiY29uZmlndXJlIg0KKyNsaW5lIDY5NTMgImNvbmZp
Z3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAvKiBPdmVycmlkZSBh
bnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
ICAqLw0KIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNo
IHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCkBAIC02OTUxLDcgKzY5NjAs
NyBAQA0KIGdldGhvc3RieW5hbWUoKQ0KIDsgcmV0dXJuIDA7IH0NCiBFT0YN
Ci1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY5NTU6IFwiJGFjX2xpbmtc
IikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBj
b25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBj
b25maWd1cmU6Njk2NDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNf
bGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9
OyB0aGVuDQogICBybSAtcmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9s
aWJfJGFjX2xpYl92YXI9eWVzIg0KIGVsc2UNCkBAIC02OTgzLDEyICs2OTky
LDEyIEBADQogDQogZmkNCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgY29u
bmVjdCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjY5ODc6
IGNoZWNraW5nIGZvciBjb25uZWN0IiA+JjUNCitlY2hvICJjb25maWd1cmU6
Njk5NjogY2hlY2tpbmcgZm9yIGNvbm5lY3QiID4mNQ0KIGlmIGV2YWwgInRl
c3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jX2Nvbm5lY3QnK3NldH0nYFwi
ID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2Mi
IDE+JjYNCiBlbHNlDQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9G
DQotI2xpbmUgNjk5MiAiY29uZmlndXJlIg0KKyNsaW5lIDcwMDEgImNvbmZp
Z3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAvKiBTeXN0ZW0gaGVh
ZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3
IHByb3RvdHlwZXMsDQogICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo
YXIgY29ubmVjdCgpOyBiZWxvdy4gICovDQpAQCAtNzAxMSw3ICs3MDIwLDcg
QEANCiANCiA7IHJldHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hv
IGNvbmZpZ3VyZTo3MDE1OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRh
Y19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4
dH07IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjcwMjQ6IFwi
JGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYg
dGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0gLXJm
IGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfZnVuY19jb25uZWN0PXllcyIN
CiBlbHNlDQpAQCAtNzAzNCw3ICs3MDQzLDcgQEANCiAgIEtTQVZFX0xJQlM9
IiRMSUJTIg0KIExJQlM9IiRORVRfTElCUyAkS1NBVkVfTElCUyINCiBlY2hv
ICRhY19uICJjaGVja2luZyBmb3IgY29ubmVjdCBpbiAtbHNvY2tldCIiLi4u
ICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjcwMzg6IGNoZWNraW5n
IGZvciBjb25uZWN0IGluIC1sc29ja2V0IiA+JjUNCitlY2hvICJjb25maWd1
cmU6NzA0NzogY2hlY2tpbmcgZm9yIGNvbm5lY3QgaW4gLWxzb2NrZXQiID4m
NQ0KIGFjX2xpYl92YXI9YGVjaG8gc29ja2V0J18nY29ubmVjdCB8IHNlZCAn
eSUuLystJV9fcF8lJ2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3sn
YWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4N
CiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpAQCAtNzA0
Miw3ICs3MDUxLDcgQEANCiAgIGFjX3NhdmVfTElCUz0iJExJQlMiDQogTElC
Uz0iLWxzb2NrZXQgICRMSUJTIg0KIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQg
PDxFT0YNCi0jbGluZSA3MDQ2ICJjb25maWd1cmUiDQorI2xpbmUgNzA1NSAi
Y29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KIC8qIE92ZXJy
aWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl
cnJvci4gICovDQogLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg
bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KQEAgLTcwNTMsNyAr
NzA2Miw3IEBADQogY29ubmVjdCgpDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0K
LWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzA1NzogXCIkYWNfbGlua1wi
KSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNv
bmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNv
bmZpZ3VyZTo3MDY2OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19s
aW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07
IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVzdCoNCiAgIGV2YWwgImFjX2N2X2xp
Yl8kYWNfbGliX3Zhcj15ZXMiDQogZWxzZQ0KQEAgLTcwODksNyArNzA5OCw3
IEBADQogS1NBVkVfTElCUz0iJExJQlMiDQogTElCUz0iJFpJUF9MSUJTICRL
U0FWRV9MSUJTIg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBkZWZsYXRl
IGluIC1seiIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjcw
OTM6IGNoZWNraW5nIGZvciBkZWZsYXRlIGluIC1seiIgPiY1DQorZWNobyAi
Y29uZmlndXJlOjcxMDI6IGNoZWNraW5nIGZvciBkZWZsYXRlIGluIC1seiIg
PiY1DQogYWNfbGliX3Zhcj1gZWNobyB6J18nZGVmbGF0ZSB8IHNlZCAneSUu
LystJV9fcF8lJ2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNf
Y3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAg
IGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpAQCAtNzA5Nyw3
ICs3MTA2LDcgQEANCiAgIGFjX3NhdmVfTElCUz0iJExJQlMiDQogTElCUz0i
LWx6ICAkTElCUyINCiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQot
I2xpbmUgNzEwMSAiY29uZmlndXJlIg0KKyNsaW5lIDcxMTAgImNvbmZpZ3Vy
ZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAvKiBPdmVycmlkZSBhbnkg
Z2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAq
Lw0KIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo
ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCkBAIC03MTA4LDcgKzcxMTcsNyBA
QA0KIGRlZmxhdGUoKQ0KIDsgcmV0dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChl
dmFsIGVjaG8gY29uZmlndXJlOjcxMTI6IFwiJGFjX2xpbmtcIikgMT4mNTsg
KGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7
YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6
NzEyMTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4m
NTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQog
ICBybSAtcmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9saWJfJGFjX2xp
Yl92YXI9eWVzIg0KIGVsc2UNCkBAIC03MTQ0LDcgKzcxNTMsNyBAQA0KIEtT
QVZFX0xJQlM9IiRMSUJTIg0KIExJQlM9IiRNQVRIX0xJQlMgJEtTQVZFX0xJ
QlMiDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG1wel9nZXRfZCBpbiAt
bGdtcCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjcxNDg6
IGNoZWNraW5nIGZvciBtcHpfZ2V0X2QgaW4gLWxnbXAiID4mNQ0KK2VjaG8g
ImNvbmZpZ3VyZTo3MTU3OiBjaGVja2luZyBmb3IgbXB6X2dldF9kIGluIC1s
Z21wIiA+JjUNCiBhY19saWJfdmFyPWBlY2hvIGdtcCdfJ21wel9nZXRfZCB8
IHNlZCAneSUuLystJV9fcF8lJ2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8g
JyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7
IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpA
QCAtNzE1Miw3ICs3MTYxLDcgQEANCiAgIGFjX3NhdmVfTElCUz0iJExJQlMi
DQogTElCUz0iLWxnbXAgICRMSUJTIg0KIGNhdCA+IGNvbmZ0ZXN0LiRhY19l
eHQgPDxFT0YNCi0jbGluZSA3MTU2ICJjb25maWd1cmUiDQorI2xpbmUgNzE2
NSAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KIC8qIE92
ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
biBlcnJvci4gICovDQogLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln
aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KQEAgLTcxNjMs
NyArNzE3Miw3IEBADQogbXB6X2dldF9kKCkNCiA7IHJldHVybiAwOyB9DQog
RU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3MTY3OiBcIiRhY19s
aW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3Qg
LXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCitpZiB7IChldmFsIGVj
aG8gY29uZmlndXJlOjcxNzY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwg
JGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhl
ZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNf
Y3ZfbGliXyRhY19saWJfdmFyPXllcyINCiBlbHNlDQpAQCAtNzE5Nyw3ICs3
MjA2LDcgQEANCiAgICAgS1NBVkVfTElCUz0iJExJQlMiDQogTElCUz0iJE1B
VEhfTElCUyAkS1NBVkVfTElCUyINCiBlY2hvICRhY19uICJjaGVja2luZyBm
b3IgX19nbXB6X2dldF9kIGluIC1sZ21wIiIuLi4gJGFjX2MiIDE+JjYNCi1l
Y2hvICJjb25maWd1cmU6NzIwMTogY2hlY2tpbmcgZm9yIF9fZ21wel9nZXRf
ZCBpbiAtbGdtcCIgPiY1DQorZWNobyAiY29uZmlndXJlOjcyMTA6IGNoZWNr
aW5nIGZvciBfX2dtcHpfZ2V0X2QgaW4gLWxnbXAiID4mNQ0KIGFjX2xpYl92
YXI9YGVjaG8gZ21wJ18nX19nbXB6X2dldF9kIHwgc2VkICd5JS4vKy0lX19w
XyUnYA0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJf
JGFjX2xpYl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAk
YWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCkBAIC03MjA1LDcgKzcyMTQs
NyBAQA0KICAgYWNfc2F2ZV9MSUJTPSIkTElCUyINCiBMSUJTPSItbGdtcCAg
JExJQlMiDQogY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5l
IDcyMDkgImNvbmZpZ3VyZSINCisjbGluZSA3MjE4ICJjb25maWd1cmUiDQog
I2luY2x1ZGUgImNvbmZkZWZzLmgiDQogLyogT3ZlcnJpZGUgYW55IGdjYzIg
aW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiAv
KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0
dXJuIHR5cGUgb2YgYSBnY2MyDQpAQCAtNzIxNiw3ICs3MjI1LDcgQEANCiBf
X2dtcHpfZ2V0X2QoKQ0KIDsgcmV0dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChl
dmFsIGVjaG8gY29uZmlndXJlOjcyMjA6IFwiJGFjX2xpbmtcIikgMT4mNTsg
KGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7
YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6
NzIyOTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4m
NTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQog
ICBybSAtcmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9saWJfJGFjX2xp
Yl92YXI9eWVzIg0KIGVsc2UNCkBAIC03MjUzLDEyICs3MjYyLDEyIEBADQog
Zm9yIGFjX2Z1bmMgaW4gTUQySW5pdCBNRDRJbml0IE1ENUluaXQNCiBkbw0K
IGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfZnVuYyIiLi4uICRhY19j
IiAxPiY2DQotZWNobyAiY29uZmlndXJlOjcyNTc6IGNoZWNraW5nIGZvciAk
YWNfZnVuYyIgPiY1DQorZWNobyAiY29uZmlndXJlOjcyNjY6IGNoZWNraW5n
IGZvciAkYWNfZnVuYyIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICck
Jyd7J2FjX2N2X2Z1bmNfJGFjX2Z1bmMnK3NldH0nYFwiID0gc2V0IjsgdGhl
bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNl
DQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgNzI2
MiAiY29uZmlndXJlIg0KKyNsaW5lIDcyNzEgImNvbmZpZ3VyZSINCiAjaW5j
bHVkZSAiY29uZmRlZnMuaCINCiAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu
ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMs
DQogICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgJGFjX2Z1bmMo
KTsgYmVsb3cuICAqLw0KQEAgLTcyODEsNyArNzI5MCw3IEBADQogDQogOyBy
ZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6
NzI4NTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4m
NTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQor
aWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3Mjk0OiBcIiRhY19saW5rXCIp
IDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29u
ZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVzdCoN
CiAgIGV2YWwgImFjX2N2X2Z1bmNfJGFjX2Z1bmM9eWVzIg0KIGVsc2UNCkBA
IC03MzA5LDcgKzczMTgsNyBAQA0KICAgS1NBVkVfTElCUz0iJExJQlMiDQog
TElCUz0iJFNFQ1VSSVRZX0xJQlMgJEtTQVZFX0xJQlMiDQogZWNobyAkYWNf
biAiY2hlY2tpbmcgZm9yIE1ENUluaXQgaW4gLWxtZCIiLi4uICRhY19jIiAx
PiY2DQotZWNobyAiY29uZmlndXJlOjczMTM6IGNoZWNraW5nIGZvciBNRDVJ
bml0IGluIC1sbWQiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo3MzIyOiBjaGVj
a2luZyBmb3IgTUQ1SW5pdCBpbiAtbG1kIiA+JjUNCiBhY19saWJfdmFyPWBl
Y2hvIG1kJ18nTUQ1SW5pdCB8IHNlZCAneSUuLystJV9fcF8lJ2ANCiBpZiBl
dmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFy
JytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNo
ZWQpICRhY19jIiAxPiY2DQpAQCAtNzMxNyw3ICs3MzI2LDcgQEANCiAgIGFj
X3NhdmVfTElCUz0iJExJQlMiDQogTElCUz0iLWxtZCAgJExJQlMiDQogY2F0
ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDczMjEgImNvbmZp
Z3VyZSINCisjbGluZSA3MzMwICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNv
bmZkZWZzLmgiDQogLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiAvKiBXZSB1c2UgY2hh
ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg
YSBnY2MyDQpAQCAtNzMyOCw3ICs3MzM3LDcgQEANCiBNRDVJbml0KCkNCiA7
IHJldHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3Vy
ZTo3MzMyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAy
PiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4N
CitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjczNDE6IFwiJGFjX2xpbmtc
IikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBj
b25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0
Kg0KICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyINCiBlbHNl
DQpAQCAtNzM2Niw3ICs3Mzc1LDcgQEANCiAJS1NBVkVfTElCUz0iJExJQlMi
DQogTElCUz0iJFZNX0xJQlMgJEtTQVZFX0xJQlMiDQogZWNobyAkYWNfbiAi
Y2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1scHRocmVhZCIiLi4u
ICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjczNzA6IGNoZWNraW5n
IGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWQiID4mNQ0KK2VjaG8g
ImNvbmZpZ3VyZTo3Mzc5OiBjaGVja2luZyBmb3IgcHRocmVhZF9jcmVhdGUg
aW4gLWxwdGhyZWFkIiA+JjUNCiBhY19saWJfdmFyPWBlY2hvIHB0aHJlYWQn
XydwdGhyZWFkX2NyZWF0ZSB8IHNlZCAneSUuLystJV9fcF8lJ2ANCiBpZiBl
dmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFy
JytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNo
ZWQpICRhY19jIiAxPiY2DQpAQCAtNzM3NCw3ICs3MzgzLDcgQEANCiAgIGFj
X3NhdmVfTElCUz0iJExJQlMiDQogTElCUz0iLWxwdGhyZWFkICAkTElCUyIN
CiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgNzM3OCAi
Y29uZmlndXJlIg0KKyNsaW5lIDczODcgImNvbmZpZ3VyZSINCiAjaW5jbHVk
ZSAiY29uZmRlZnMuaCINCiAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h
bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KIC8qIFdlIHVz
ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw
ZSBvZiBhIGdjYzINCkBAIC03Mzg1LDcgKzczOTQsNyBAQA0KIHB0aHJlYWRf
Y3JlYXRlKCkNCiA7IHJldHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZhbCBl
Y2hvIGNvbmZpZ3VyZTo3Mzg5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFs
ICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4
ZWV4dH07IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjczOTg6
IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0g
JiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0g
LXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFy
PXllcyINCiBlbHNlDQpAQCAtNzQyNSw3ICs3NDM0LDcgQEANCiAjIFVzZXMg
YWNfIHZhcnMgYXMgdGVtcHMgdG8gYWxsb3cgY29tbWFuZCBsaW5lIHRvIG92
ZXJyaWRlIGNhY2hlIGFuZCBjaGVja3MuDQogIyAtLXdpdGhvdXQteCBvdmVy
cmlkZXMgZXZlcnl0aGluZyBlbHNlLCBidXQgZG9lcyBub3QgdG91Y2ggdGhl
IGNhY2hlLg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBYIiIuLi4gJGFj
X2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6NzQyOTogY2hlY2tpbmcgZm9y
IFgiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo3NDM4OiBjaGVja2luZyBmb3Ig
WCIgPiY1DQogDQogIyBDaGVjayB3aGV0aGVyIC0td2l0aC14IG9yIC0td2l0
aG91dC14IHdhcyBnaXZlbi4NCiBpZiB0ZXN0ICIke3dpdGhfeCtzZXR9IiA9
IHNldDsgdGhlbg0KQEAgLTc0ODcsMTIgKzc0OTYsMTIgQEANCiANCiAgICMg
Rmlyc3QsIHRyeSB1c2luZyB0aGF0IGZpbGUgd2l0aCBubyBzcGVjaWFsIGRp
cmVjdG9yeSBzcGVjaWZpZWQuDQogY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8
PEVPRg0KLSNsaW5lIDc0OTEgImNvbmZpZ3VyZSINCisjbGluZSA3NTAwICJj
b25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUg
PCR4X2RpcmVjdF90ZXN0X2luY2x1ZGU+DQogRU9GDQogYWNfdHJ5PSIkYWNf
Y3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91
dCINCi17IChldmFsIGVjaG8gY29uZmlndXJlOjc0OTY6IFwiJGFjX3RyeVwi
KSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQoreyAoZXZhbCBlY2hv
IGNvbmZpZ3VyZTo3NTA1OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFj
X3RyeSkgMj4mNTsgfQ0KIGFjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRl
c3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImANCiBp
ZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0
Kg0KQEAgLTc1NjEsMTQgKzc1NzAsMTQgQEANCiAgIGFjX3NhdmVfTElCUz0i
JExJQlMiDQogICBMSUJTPSItbCR4X2RpcmVjdF90ZXN0X2xpYnJhcnkgJExJ
QlMiDQogY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDc1
NjUgImNvbmZpZ3VyZSINCisjbGluZSA3NTc0ICJjb25maWd1cmUiDQogI2lu
Y2x1ZGUgImNvbmZkZWZzLmgiDQogDQogaW50IG1haW4oKSB7DQogJHt4X2Rp
cmVjdF90ZXN0X2Z1bmN0aW9ufSgpDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0K
LWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzU3MjogXCIkYWNfbGlua1wi
KSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNv
bmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNv
bmZpZ3VyZTo3NTgxOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19s
aW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07
IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVzdCoNCiAgIExJQlM9IiRhY19zYXZl
X0xJQlMiDQogIyBXZSBjYW4gbGluayBYIHByb2dyYW1zIHdpdGggbm8gc3Bl
Y2lhbCBsaWJyYXJ5IHBhdGguDQpAQCAtNzY3NCwxNyArNzY4MywxNyBAQA0K
ICAgICBjYXNlICJgKHVuYW1lIC1zcikgMj4vZGV2L251bGxgIiBpbg0KICAg
ICAiU3VuT1MgNSIqKQ0KICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdo
ZXRoZXIgLVIgbXVzdCBiZSBmb2xsb3dlZCBieSBhIHNwYWNlIiIuLi4gJGFj
X2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6NzY3ODogY2hlY2tpbmcgd2hl
dGhlciAtUiBtdXN0IGJlIGZvbGxvd2VkIGJ5IGEgc3BhY2UiID4mNQ0KK2Vj
aG8gImNvbmZpZ3VyZTo3Njg3OiBjaGVja2luZyB3aGV0aGVyIC1SIG11c3Qg
YmUgZm9sbG93ZWQgYnkgYSBzcGFjZSIgPiY1DQogICAgICAgYWNfeHNhdmVf
TElCUz0iJExJQlMiOyBMSUJTPSIkTElCUyAtUiR4X2xpYnJhcmllcyINCiAg
ICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgNzY4
MSAiY29uZmlndXJlIg0KKyNsaW5lIDc2OTAgImNvbmZpZ3VyZSINCiAjaW5j
bHVkZSAiY29uZmRlZnMuaCINCiANCiBpbnQgbWFpbigpIHsNCiANCiA7IHJl
dHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3
Njg4OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1
OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCitp
ZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjc2OTc6IFwiJGFjX2xpbmtcIikg
MT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25m
dGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0K
ICAgYWNfUl9ub3NwYWNlPXllcw0KIGVsc2UNCkBAIC03NzAwLDE0ICs3NzA5
LDE0IEBADQogICAgICAgZWxzZQ0KIAlMSUJTPSIkYWNfeHNhdmVfTElCUyAt
UiAkeF9saWJyYXJpZXMiDQogCWNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxF
T0YNCi0jbGluZSA3NzA0ICJjb25maWd1cmUiDQorI2xpbmUgNzcxMyAiY29u
ZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KIA0KIGludCBtYWlu
KCkgew0KIA0KIDsgcmV0dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChldmFsIGVj
aG8gY29uZmlndXJlOjc3MTE6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwg
JGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhl
ZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzcyMDog
XCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAm
JiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQogICBybSAt
cmYgY29uZnRlc3QqDQogICBhY19SX3NwYWNlPXllcw0KIGVsc2UNCkBAIC03
NzM5LDcgKzc3NDgsNyBAQA0KICAgICAjIGxpYnJhcmllcyB3ZXJlIGJ1aWx0
IHdpdGggREVDbmV0IHN1cHBvcnQuICBBbmQga2FybEBjcy51bWIuZWR1IHNh
eXMNCiAgICAgIyB0aGUgQWxwaGEgbmVlZHMgZG5ldF9zdHViIChkbmV0IGRv
ZXMgbm90IGV4aXN0KS4NCiAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9y
IGRuZXRfbnRvYSBpbiAtbGRuZXQiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8g
ImNvbmZpZ3VyZTo3NzQzOiBjaGVja2luZyBmb3IgZG5ldF9udG9hIGluIC1s
ZG5ldCIgPiY1DQorZWNobyAiY29uZmlndXJlOjc3NTI6IGNoZWNraW5nIGZv
ciBkbmV0X250b2EgaW4gLWxkbmV0IiA+JjUNCiBhY19saWJfdmFyPWBlY2hv
IGRuZXQnXydkbmV0X250b2EgfCBzZWQgJ3klLi8rLSVfX3BfJSdgDQogaWYg
ZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zh
cicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2Fj
aGVkKSAkYWNfYyIgMT4mNg0KQEAgLTc3NDcsNyArNzc1Niw3IEBADQogICBh
Y19zYXZlX0xJQlM9IiRMSUJTIg0KIExJQlM9Ii1sZG5ldCAgJExJQlMiDQog
Y2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDc3NTEgImNv
bmZpZ3VyZSINCisjbGluZSA3NzYwICJjb25maWd1cmUiDQogI2luY2x1ZGUg
ImNvbmZkZWZzLmgiDQogLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwg
cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiAvKiBXZSB1c2Ug
Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg
b2YgYSBnY2MyDQpAQCAtNzc1OCw3ICs3NzY3LDcgQEANCiBkbmV0X250b2Eo
KQ0KIDsgcmV0dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29u
ZmlndXJlOjc3NjI6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xp
bmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsg
dGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6Nzc3MTogXCIkYWNf
bGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0
IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQogICBybSAtcmYgY29u
ZnRlc3QqDQogICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIg0K
IGVsc2UNCkBAIC03NzgwLDcgKzc3ODksNyBAQA0KIA0KICAgICBpZiB0ZXN0
ICRhY19jdl9saWJfZG5ldF9kbmV0X250b2EgPSBubzsgdGhlbg0KICAgICAg
IGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBkbmV0X250b2EgaW4gLWxkbmV0
X3N0dWIiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo3Nzg0
OiBjaGVja2luZyBmb3IgZG5ldF9udG9hIGluIC1sZG5ldF9zdHViIiA+JjUN
CitlY2hvICJjb25maWd1cmU6Nzc5MzogY2hlY2tpbmcgZm9yIGRuZXRfbnRv
YSBpbiAtbGRuZXRfc3R1YiIgPiY1DQogYWNfbGliX3Zhcj1gZWNobyBkbmV0
X3N0dWInXydkbmV0X250b2EgfCBzZWQgJ3klLi8rLSVfX3BfJSdgDQogaWYg
ZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zh
cicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2Fj
aGVkKSAkYWNfYyIgMT4mNg0KQEAgLTc3ODgsNyArNzc5Nyw3IEBADQogICBh
Y19zYXZlX0xJQlM9IiRMSUJTIg0KIExJQlM9Ii1sZG5ldF9zdHViICAkTElC
UyINCiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgNzc5
MiAiY29uZmlndXJlIg0KKyNsaW5lIDc4MDEgImNvbmZpZ3VyZSINCiAjaW5j
bHVkZSAiY29uZmRlZnMuaCINCiAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl
cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KIC8qIFdl
IHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g
dHlwZSBvZiBhIGdjYzINCkBAIC03Nzk5LDcgKzc4MDgsNyBAQA0KIGRuZXRf
bnRvYSgpDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNo
byBjb25maWd1cmU6NzgwMzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAk
YWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVl
eHR9OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3ODEyOiBc
IiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYm
IHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCiAgIHJtIC1y
ZiBjb25mdGVzdCoNCiAgIGV2YWwgImFjX2N2X2xpYl8kYWNfbGliX3Zhcj15
ZXMiDQogZWxzZQ0KQEAgLTc4MjgsMTIgKzc4MzcsMTIgQEANCiAgICAgIyBU
aGUgbnNsIGxpYnJhcnkgcHJldmVudHMgcHJvZ3JhbXMgZnJvbSBvcGVuaW5n
IHRoZSBYIGRpc3BsYXkNCiAgICAgIyBvbiBJcml4IDUuMiwgYWNjb3JkaW5n
IHRvIGRpY2tleUBjbGFyay5uZXQuDQogICAgIGVjaG8gJGFjX24gImNoZWNr
aW5nIGZvciBnZXRob3N0YnluYW1lIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hv
ICJjb25maWd1cmU6NzgzMjogY2hlY2tpbmcgZm9yIGdldGhvc3RieW5hbWUi
ID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo3ODQxOiBjaGVja2luZyBmb3IgZ2V0
aG9zdGJ5bmFtZSIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7
J2FjX2N2X2Z1bmNfZ2V0aG9zdGJ5bmFtZScrc2V0fSdgXCIgPSBzZXQiOyB0
aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVs
c2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA3
ODM3ICJjb25maWd1cmUiDQorI2xpbmUgNzg0NiAiY29uZmlndXJlIg0KICNp
bmNsdWRlICJjb25mZGVmcy5oIg0KIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm
aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl
cywNCiAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRob3N0
YnluYW1lKCk7IGJlbG93LiAgKi8NCkBAIC03ODU2LDcgKzc4NjUsNyBAQA0K
IA0KIDsgcmV0dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29u
ZmlndXJlOjc4NjA6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xp
bmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsg
dGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6Nzg2OTogXCIkYWNf
bGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0
IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQogICBybSAtcmYgY29u
ZnRlc3QqDQogICBldmFsICJhY19jdl9mdW5jX2dldGhvc3RieW5hbWU9eWVz
Ig0KIGVsc2UNCkBAIC03ODc3LDcgKzc4ODYsNyBAQA0KIA0KICAgICBpZiB0
ZXN0ICRhY19jdl9mdW5jX2dldGhvc3RieW5hbWUgPSBubzsgdGhlbg0KICAg
ICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBnZXRob3N0YnluYW1lIGlu
IC1sbnNsIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6Nzg4
MTogY2hlY2tpbmcgZm9yIGdldGhvc3RieW5hbWUgaW4gLWxuc2wiID4mNQ0K
K2VjaG8gImNvbmZpZ3VyZTo3ODkwOiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5
bmFtZSBpbiAtbG5zbCIgPiY1DQogYWNfbGliX3Zhcj1gZWNobyBuc2wnXydn
ZXRob3N0YnluYW1lIHwgc2VkICd5JS4vKy0lX19wXyUnYA0KIGlmIGV2YWwg
InRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXInK3Nl
dH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkg
JGFjX2MiIDE+JjYNCkBAIC03ODg1LDcgKzc4OTQsNyBAQA0KICAgYWNfc2F2
ZV9MSUJTPSIkTElCUyINCiBMSUJTPSItbG5zbCAgJExJQlMiDQogY2F0ID4g
Y29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDc4ODkgImNvbmZpZ3Vy
ZSINCisjbGluZSA3ODk4ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZk
ZWZzLmgiDQogLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90
eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiAvKiBXZSB1c2UgY2hhciBi
ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBn
Y2MyDQpAQCAtNzg5Niw3ICs3OTA1LDcgQEANCiBnZXRob3N0YnluYW1lKCkN
CiA7IHJldHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZp
Z3VyZTo3OTAwOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5r
KSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRo
ZW4NCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjc5MDk6IFwiJGFjX2xp
bmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAt
cyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0
ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyINCiBl
bHNlDQpAQCAtNzkyNiwxMiArNzkzNSwxMiBAQA0KICAgICAjIC1sc29ja2V0
IG11c3QgYmUgZ2l2ZW4gYmVmb3JlIC1sbnNsIGlmIGJvdGggYXJlIG5lZWRl
ZC4NCiAgICAgIyBXZSBhc3N1bWUgdGhhdCBpZiBjb25uZWN0IG5lZWRzIC1s
bnNsLCBzbyBkb2VzIGdldGhvc3RieW5hbWUuDQogICAgIGVjaG8gJGFjX24g
ImNoZWNraW5nIGZvciBjb25uZWN0IiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hv
ICJjb25maWd1cmU6NzkzMDogY2hlY2tpbmcgZm9yIGNvbm5lY3QiID4mNQ0K
K2VjaG8gImNvbmZpZ3VyZTo3OTM5OiBjaGVja2luZyBmb3IgY29ubmVjdCIg
PiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNf
Y29ubmVjdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19u
ICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNhdCA+IGNvbmZ0
ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA3OTM1ICJjb25maWd1cmUiDQor
I2xpbmUgNzk0NCAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5o
Ig0KIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg
YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICAgd2hpY2ggY2Fu
IGNvbmZsaWN0IHdpdGggY2hhciBjb25uZWN0KCk7IGJlbG93LiAgKi8NCkBA
IC03OTU0LDcgKzc5NjMsNyBAQA0KIA0KIDsgcmV0dXJuIDA7IH0NCiBFT0YN
Ci1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjc5NTg6IFwiJGFjX2xpbmtc
IikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBj
b25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBj
b25maWd1cmU6Nzk2NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNf
bGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9
OyB0aGVuDQogICBybSAtcmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9m
dW5jX2Nvbm5lY3Q9eWVzIg0KIGVsc2UNCkBAIC03OTc1LDcgKzc5ODQsNyBA
QA0KIA0KICAgICBpZiB0ZXN0ICRhY19jdl9mdW5jX2Nvbm5lY3QgPSBubzsg
dGhlbg0KICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBjb25uZWN0
IGluIC1sc29ja2V0IiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1
cmU6Nzk3OTogY2hlY2tpbmcgZm9yIGNvbm5lY3QgaW4gLWxzb2NrZXQiID4m
NQ0KK2VjaG8gImNvbmZpZ3VyZTo3OTg4OiBjaGVja2luZyBmb3IgY29ubmVj
dCBpbiAtbHNvY2tldCIgPiY1DQogYWNfbGliX3Zhcj1gZWNobyBzb2NrZXQn
Xydjb25uZWN0IHwgc2VkICd5JS4vKy0lX19wXyUnYA0KIGlmIGV2YWwgInRl
c3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXInK3NldH0n
YFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFj
X2MiIDE+JjYNCkBAIC03OTgzLDcgKzc5OTIsNyBAQA0KICAgYWNfc2F2ZV9M
SUJTPSIkTElCUyINCiBMSUJTPSItbHNvY2tldCAkWF9FWFRSQV9MSUJTICRM
SUJTIg0KIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA3
OTg3ICJjb25maWd1cmUiDQorI2xpbmUgNzk5NiAiY29uZmlndXJlIg0KICNp
bmNsdWRlICJjb25mZGVmcy5oIg0KIC8qIE92ZXJyaWRlIGFueSBnY2MyIGlu
dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQogLyog
V2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVy
biB0eXBlIG9mIGEgZ2NjMg0KQEAgLTc5OTQsNyArODAwMyw3IEBADQogY29u
bmVjdCgpDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNo
byBjb25maWd1cmU6Nzk5ODogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAk
YWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVl
eHR9OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MDA3OiBc
IiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYm
IHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCiAgIHJtIC1y
ZiBjb25mdGVzdCoNCiAgIGV2YWwgImFjX2N2X2xpYl8kYWNfbGliX3Zhcj15
ZXMiDQogZWxzZQ0KQEAgLTgwMTgsMTIgKzgwMjcsMTIgQEANCiANCiAgICAg
IyBnb21lekBtaS51bmktZXJsYW5nZW4uZGUgc2F5cyAtbHBvc2l4IGlzIG5l
Y2Vzc2FyeSBvbiBBL1VYLg0KICAgICBlY2hvICRhY19uICJjaGVja2luZyBm
b3IgcmVtb3ZlIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6
ODAyMjogY2hlY2tpbmcgZm9yIHJlbW92ZSIgPiY1DQorZWNobyAiY29uZmln
dXJlOjgwMzE6IGNoZWNraW5nIGZvciByZW1vdmUiID4mNQ0KIGlmIGV2YWwg
InRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jX3JlbW92ZScrc2V0fSdg
XCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNf
YyIgMT4mNg0KIGVsc2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxF
T0YNCi0jbGluZSA4MDI3ICJjb25maWd1cmUiDQorI2xpbmUgODAzNiAiY29u
ZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KIC8qIFN5c3RlbSBo
ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBm
ZXcgcHJvdG90eXBlcywNCiAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGgg
Y2hhciByZW1vdmUoKTsgYmVsb3cuICAqLw0KQEAgLTgwNDYsNyArODA1NSw3
IEBADQogDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNo
byBjb25maWd1cmU6ODA1MDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAk
YWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVl
eHR9OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MDU5OiBc
IiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYm
IHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCiAgIHJtIC1y
ZiBjb25mdGVzdCoNCiAgIGV2YWwgImFjX2N2X2Z1bmNfcmVtb3ZlPXllcyIN
CiBlbHNlDQpAQCAtODA2Nyw3ICs4MDc2LDcgQEANCiANCiAgICAgaWYgdGVz
dCAkYWNfY3ZfZnVuY19yZW1vdmUgPSBubzsgdGhlbg0KICAgICAgIGVjaG8g
JGFjX24gImNoZWNraW5nIGZvciByZW1vdmUgaW4gLWxwb3NpeCIiLi4uICRh
Y19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjgwNzE6IGNoZWNraW5nIGZv
ciByZW1vdmUgaW4gLWxwb3NpeCIgPiY1DQorZWNobyAiY29uZmlndXJlOjgw
ODA6IGNoZWNraW5nIGZvciByZW1vdmUgaW4gLWxwb3NpeCIgPiY1DQogYWNf
bGliX3Zhcj1gZWNobyBwb3NpeCdfJ3JlbW92ZSB8IHNlZCAneSUuLystJV9f
cF8lJ2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGli
XyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8g
JGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpAQCAtODA3NSw3ICs4MDg0
LDcgQEANCiAgIGFjX3NhdmVfTElCUz0iJExJQlMiDQogTElCUz0iLWxwb3Np
eCAgJExJQlMiDQogY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNs
aW5lIDgwNzkgImNvbmZpZ3VyZSINCisjbGluZSA4MDg4ICJjb25maWd1cmUi
DQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogLyogT3ZlcnJpZGUgYW55IGdj
YzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8N
CiAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg
cmV0dXJuIHR5cGUgb2YgYSBnY2MyDQpAQCAtODA4Niw3ICs4MDk1LDcgQEAN
CiByZW1vdmUoKQ0KIDsgcmV0dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChldmFs
IGVjaG8gY29uZmlndXJlOjgwOTA6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2
YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNf
ZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODA5
OTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsg
fSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQogICBy
bSAtcmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92
YXI9eWVzIg0KIGVsc2UNCkBAIC04MTEwLDEyICs4MTE5LDEyIEBADQogDQog
ICAgICMgQlNESSBCU0QvT1MgMi4xIG5lZWRzIC1saXBjIGZvciBYT3BlbkRp
c3BsYXkuDQogICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBzaG1hdCIi
Li4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjgxMTQ6IGNoZWNr
aW5nIGZvciBzaG1hdCIgPiY1DQorZWNobyAiY29uZmlndXJlOjgxMjM6IGNo
ZWNraW5nIGZvciBzaG1hdCIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hv
ICckJyd7J2FjX2N2X2Z1bmNfc2htYXQnK3NldH0nYFwiID0gc2V0IjsgdGhl
bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNl
DQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgODEx
OSAiY29uZmlndXJlIg0KKyNsaW5lIDgxMjggImNvbmZpZ3VyZSINCiAjaW5j
bHVkZSAiY29uZmRlZnMuaCINCiAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu
ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMs
DQogICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc2htYXQoKTsg
YmVsb3cuICAqLw0KQEAgLTgxMzgsNyArODE0Nyw3IEBADQogDQogOyByZXR1
cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODE0
MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsg
fSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQoraWYg
eyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MTUxOiBcIiRhY19saW5rXCIpIDE+
JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRl
c3Qke2FjX2V4ZWV4dH07IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVzdCoNCiAg
IGV2YWwgImFjX2N2X2Z1bmNfc2htYXQ9eWVzIg0KIGVsc2UNCkBAIC04MTU5
LDcgKzgxNjgsNyBAQA0KIA0KICAgICBpZiB0ZXN0ICRhY19jdl9mdW5jX3No
bWF0ID0gbm87IHRoZW4NCiAgICAgICBlY2hvICRhY19uICJjaGVja2luZyBm
b3Igc2htYXQgaW4gLWxpcGMiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNv
bmZpZ3VyZTo4MTYzOiBjaGVja2luZyBmb3Igc2htYXQgaW4gLWxpcGMiID4m
NQ0KK2VjaG8gImNvbmZpZ3VyZTo4MTcyOiBjaGVja2luZyBmb3Igc2htYXQg
aW4gLWxpcGMiID4mNQ0KIGFjX2xpYl92YXI9YGVjaG8gaXBjJ18nc2htYXQg
fCBzZWQgJ3klLi8rLSVfX3BfJSdgDQogaWYgZXZhbCAidGVzdCBcImBlY2hv
ICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zhcicrc2V0fSdgXCIgPSBzZXQi
OyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0K
QEAgLTgxNjcsNyArODE3Niw3IEBADQogICBhY19zYXZlX0xJQlM9IiRMSUJT
Ig0KIExJQlM9Ii1saXBjICAkTElCUyINCiBjYXQgPiBjb25mdGVzdC4kYWNf
ZXh0IDw8RU9GDQotI2xpbmUgODE3MSAiY29uZmlndXJlIg0KKyNsaW5lIDgx
ODAgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAvKiBP
dmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg
YW4gZXJyb3IuICAqLw0KIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1p
Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCkBAIC04MTc4
LDcgKzgxODcsNyBAQA0KIHNobWF0KCkNCiA7IHJldHVybiAwOyB9DQogRU9G
DQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MTgyOiBcIiRhY19saW5r
XCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMg
Y29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCitpZiB7IChldmFsIGVjaG8g
Y29uZmlndXJlOjgxOTE6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFj
X2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0
fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3Zf
bGliXyRhY19saWJfdmFyPXllcyINCiBlbHNlDQpAQCAtODIxMSw3ICs4MjIw
LDcgQEANCiAgICMgbGlicmFyaWVzIHdlIGNoZWNrIGZvciBiZWxvdywgc28g
dXNlIGEgZGlmZmVyZW50IHZhcmlhYmxlLg0KICAgIyAgLS1pbnRlcnJhbkB1
bHVydS5TdGFuZm9yZC5FRFUsIGtiQGNzLnVtYi5lZHUuDQogICBlY2hvICRh
Y19uICJjaGVja2luZyBmb3IgSWNlQ29ubmVjdGlvbk51bWJlciBpbiAtbElD
RSIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjgyMTU6IGNo
ZWNraW5nIGZvciBJY2VDb25uZWN0aW9uTnVtYmVyIGluIC1sSUNFIiA+JjUN
CitlY2hvICJjb25maWd1cmU6ODIyNDogY2hlY2tpbmcgZm9yIEljZUNvbm5l
Y3Rpb25OdW1iZXIgaW4gLWxJQ0UiID4mNQ0KIGFjX2xpYl92YXI9YGVjaG8g
SUNFJ18nSWNlQ29ubmVjdGlvbk51bWJlciB8IHNlZCAneSUuLystJV9fcF8l
J2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGliXyRh
Y19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFj
X24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpAQCAtODIxOSw3ICs4MjI4LDcg
QEANCiAgIGFjX3NhdmVfTElCUz0iJExJQlMiDQogTElCUz0iLWxJQ0UgJFhf
RVhUUkFfTElCUyAkTElCUyINCiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8
RU9GDQotI2xpbmUgODIyMyAiY29uZmlndXJlIg0KKyNsaW5lIDgyMzIgImNv
bmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAvKiBPdmVycmlk
ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy
b3IuICAqLw0KIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h
dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCkBAIC04MjMwLDcgKzgy
MzksNyBAQA0KIEljZUNvbm5lY3Rpb25OdW1iZXIoKQ0KIDsgcmV0dXJuIDA7
IH0NCiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjgyMzQ6IFwi
JGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYg
dGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2
YWwgZWNobyBjb25maWd1cmU6ODI0MzogXCIkYWNfbGlua1wiKSAxPiY1OyAo
ZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHth
Y19leGVleHR9OyB0aGVuDQogICBybSAtcmYgY29uZnRlc3QqDQogICBldmFs
ICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIg0KIGVsc2UNCkBAIC04MjYw
LDcgKzgyNjksNyBAQA0KICAgICAgIEtTQVZFX0xJQlM9IiRMSUJTIg0KIExJ
QlM9IiRYX0xJQlMgJEtTQVZFX0xJQlMiDQogZWNobyAkYWNfbiAiY2hlY2tp
bmcgZm9yIF9fVF85X19ub3Rocm93IGluIC1sQ3N1cCIiLi4uICRhY19jIiAx
PiY2DQotZWNobyAiY29uZmlndXJlOjgyNjQ6IGNoZWNraW5nIGZvciBfX1Rf
OV9fbm90aHJvdyBpbiAtbENzdXAiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZTo4
MjczOiBjaGVja2luZyBmb3IgX19UXzlfX25vdGhyb3cgaW4gLWxDc3VwIiA+
JjUNCiBhY19saWJfdmFyPWBlY2hvIENzdXAnXydfX1RfOV9fbm90aHJvdyB8
IHNlZCAneSUuLystJV9fcF8lJ2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8g
JyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7
IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpA
QCAtODI2OCw3ICs4Mjc3LDcgQEANCiAgIGFjX3NhdmVfTElCUz0iJExJQlMi
DQogTElCUz0iLWxDc3VwICAkTElCUyINCiBjYXQgPiBjb25mdGVzdC4kYWNf
ZXh0IDw8RU9GDQotI2xpbmUgODI3MiAiY29uZmlndXJlIg0KKyNsaW5lIDgy
ODEgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAvKiBP
dmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg
YW4gZXJyb3IuICAqLw0KIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1p
Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCkBAIC04Mjc5
LDcgKzgyODgsNyBAQA0KIF9fVF85X19ub3Rocm93KCkNCiA7IHJldHVybiAw
OyB9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MjgzOiBc
IiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYm
IHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCitpZiB7IChl
dmFsIGVjaG8gY29uZmlndXJlOjgyOTI6IFwiJGFjX2xpbmtcIikgMT4mNTsg
KGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7
YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZh
bCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyINCiBlbHNlDQpAQCAtODMx
NCw3ICs4MzIzLDcgQEANCiAgIEtTQVZFX0xJQlM9IiRMSUJTIg0KIExJQlM9
IiRYX1BSRV9MSUJTICRLU0FWRV9MSUJTIg0KIGVjaG8gJGFjX24gImNoZWNr
aW5nIGZvciBYU2htUXVlcnlFeHRlbnNpb24gaW4gLWxYZXh0IiIuLi4gJGFj
X2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6ODMxODogY2hlY2tpbmcgZm9y
IFhTaG1RdWVyeUV4dGVuc2lvbiBpbiAtbFhleHQiID4mNQ0KK2VjaG8gImNv
bmZpZ3VyZTo4MzI3OiBjaGVja2luZyBmb3IgWFNobVF1ZXJ5RXh0ZW5zaW9u
IGluIC1sWGV4dCIgPiY1DQogYWNfbGliX3Zhcj1gZWNobyBYZXh0J18nWFNo
bVF1ZXJ5RXh0ZW5zaW9uIHwgc2VkICd5JS4vKy0lX19wXyUnYA0KIGlmIGV2
YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXIn
K3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hl
ZCkgJGFjX2MiIDE+JjYNCkBAIC04MzIyLDcgKzgzMzEsNyBAQA0KICAgYWNf
c2F2ZV9MSUJTPSIkTElCUyINCiBMSUJTPSItbFhleHQgICRMSUJTIg0KIGNh
dCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA4MzI2ICJjb25m
aWd1cmUiDQorI2xpbmUgODMzNSAiY29uZmlndXJlIg0KICNpbmNsdWRlICJj
b25mZGVmcy5oIg0KIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHBy
b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovDQogLyogV2UgdXNlIGNo
YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m
IGEgZ2NjMg0KQEAgLTgzMzMsNyArODM0Miw3IEBADQogWFNobVF1ZXJ5RXh0
ZW5zaW9uKCkNCiA7IHJldHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZhbCBl
Y2hvIGNvbmZpZ3VyZTo4MzM3OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFs
ICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4
ZWV4dH07IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjgzNDY6
IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0g
JiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0g
LXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFy
PXllcyINCiBlbHNlDQpAQCAtODM2OSwxNyArODM3OCwxNyBAQA0KIGRvDQog
YWNfc2FmZT1gZWNobyAiJGFjX2hkciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdg
DQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNf
YyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo4MzczOiBjaGVja2luZyBmb3Ig
JGFjX2hkciIgPiY1DQorZWNobyAiY29uZmlndXJlOjgzODI6IGNoZWNraW5n
IGZvciAkYWNfaGRyIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQn
J3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRo
ZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxz
ZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDgz
NzggImNvbmZpZ3VyZSINCisjbGluZSA4Mzg3ICJjb25maWd1cmUiDQogI2lu
Y2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPCRhY19oZHI+DQogRU9G
DQogYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVs
bCAyPmNvbmZ0ZXN0Lm91dCINCi17IChldmFsIGVjaG8gY29uZmlndXJlOjgz
ODM6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9
DQoreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MzkyOiBcIiRhY190cnlcIikg
MT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQ0KIGFjX2Vycj1gZ3JlcCAt
diAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7
YWNfZXh0fVwkImANCiBpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbg0KICAg
cm0gLXJmIGNvbmZ0ZXN0Kg0KQEAgLTg0MTAsNyArODQxOSw3IEBADQogICBL
U0FWRV9MSUJTPSIkTElCUyINCiBMSUJTPSIkSlBFR19MSUJTICRLU0FWRV9M
SUJTIg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBqcGVnX3JlYWRfaGVh
ZGVyIGluIC1sanBlZyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmln
dXJlOjg0MTQ6IGNoZWNraW5nIGZvciBqcGVnX3JlYWRfaGVhZGVyIGluIC1s
anBlZyIgPiY1DQorZWNobyAiY29uZmlndXJlOjg0MjM6IGNoZWNraW5nIGZv
ciBqcGVnX3JlYWRfaGVhZGVyIGluIC1sanBlZyIgPiY1DQogYWNfbGliX3Zh
cj1gZWNobyBqcGVnJ18nanBlZ19yZWFkX2hlYWRlciB8IHNlZCAneSUuLyst
JV9fcF8lJ2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zf
bGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVj
aG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpAQCAtODQxOCw3ICs4
NDI3LDcgQEANCiAgIGFjX3NhdmVfTElCUz0iJExJQlMiDQogTElCUz0iLWxq
cGVnICAkTElCUyINCiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQot
I2xpbmUgODQyMiAiY29uZmlndXJlIg0KKyNsaW5lIDg0MzEgImNvbmZpZ3Vy
ZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAvKiBPdmVycmlkZSBhbnkg
Z2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAq
Lw0KIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo
ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzINCkBAIC04NDI5LDcgKzg0MzgsNyBA
QA0KIGpwZWdfcmVhZF9oZWFkZXIoKQ0KIDsgcmV0dXJuIDA7IH0NCiBFT0YN
Ci1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg0MzM6IFwiJGFjX2xpbmtc
IikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBj
b25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBj
b25maWd1cmU6ODQ0MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNf
bGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9
OyB0aGVuDQogICBybSAtcmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9s
aWJfJGFjX2xpYl92YXI9eWVzIg0KIGVsc2UNCkBAIC04NDYyLDcgKzg0NzEs
NyBAQA0KICAgS1NBVkVfTElCUz0iJExJQlMiDQogTElCUz0iJFBOR19MSUJT
ICRLU0FWRV9MSUJTIg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBwbmdf
Y3JlYXRlX2luZm9fc3RydWN0IGluIC1scG5nIiIuLi4gJGFjX2MiIDE+JjYN
Ci1lY2hvICJjb25maWd1cmU6ODQ2NjogY2hlY2tpbmcgZm9yIHBuZ19jcmVh
dGVfaW5mb19zdHJ1Y3QgaW4gLWxwbmciID4mNQ0KK2VjaG8gImNvbmZpZ3Vy
ZTo4NDc1OiBjaGVja2luZyBmb3IgcG5nX2NyZWF0ZV9pbmZvX3N0cnVjdCBp
biAtbHBuZyIgPiY1DQogYWNfbGliX3Zhcj1gZWNobyBwbmcnXydwbmdfY3Jl
YXRlX2luZm9fc3RydWN0IHwgc2VkICd5JS4vKy0lX19wXyUnYA0KIGlmIGV2
YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXIn
K3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hl
ZCkgJGFjX2MiIDE+JjYNCkBAIC04NDcwLDcgKzg0NzksNyBAQA0KICAgYWNf
c2F2ZV9MSUJTPSIkTElCUyINCiBMSUJTPSItbHBuZyAgJExJQlMiDQogY2F0
ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDg0NzQgImNvbmZp
Z3VyZSINCisjbGluZSA4NDgzICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNv
bmZkZWZzLmgiDQogLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiAvKiBXZSB1c2UgY2hh
ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg
YSBnY2MyDQpAQCAtODQ4MSw3ICs4NDkwLDcgQEANCiBwbmdfY3JlYXRlX2lu
Zm9fc3RydWN0KCkNCiA7IHJldHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZh
bCBlY2hvIGNvbmZpZ3VyZTo4NDg1OiBcIiRhY19saW5rXCIpIDE+JjU7IChl
dmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2Fj
X2V4ZWV4dH07IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg0
OTQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7
IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAg
cm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJf
dmFyPXllcyINCiBlbHNlDQpAQCAtODUxMiwxMiArODUyMSwxMiBAQA0KIExJ
QlM9IiRLU0FWRV9MSUJTIg0KIA0KICAgZWNobyAkYWNfbiAiY2hlY2tpbmcg
Zm9yIGEgdXNhYmxlIHZlcnNpb24gb2YgZ2lmX2xpYi5oIiIuLi4gJGFjX2Mi
IDE+JjYNCi1lY2hvICJjb25maWd1cmU6ODUxNjogY2hlY2tpbmcgZm9yIGEg
dXNhYmxlIHZlcnNpb24gb2YgZ2lmX2xpYi5oIiA+JjUNCitlY2hvICJjb25m
aWd1cmU6ODUyNTogY2hlY2tpbmcgZm9yIGEgdXNhYmxlIHZlcnNpb24gb2Yg
Z2lmX2xpYi5oIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3sn
a2FmZmVfY3ZfZ2lmX2xpYl92ZXJzaW9uJytzZXR9J2BcIiA9IHNldCI7IHRo
ZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxz
ZQ0KICAgCWNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA4
NTIxICJjb25maWd1cmUiDQorI2xpbmUgODUzMCAiY29uZmlndXJlIg0KICNp
bmNsdWRlICJjb25mZGVmcy5oIg0KIA0KICNpbmNsdWRlIDxnaWZfbGliLmg+
DQpAQCAtODUyOCw3ICs4NTM3LDcgQEANCiANCiA7IHJldHVybiAwOyB9DQog
RU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NTMyOiBcIiRhY19j
b21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0
aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NTQxOiBcIiRhY19j
b21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0
aGVuDQogICBybSAtcmYgY29uZnRlc3QqDQogICBrYWZmZV9jdl9naWZfbGli
X3ZlcnNpb249eWVzDQogZWxzZQ0KQEAgLTg1NDksNyArODU1OCw3IEBADQog
ICAgIEtTQVZFX0xJQlM9IiRMSUJTIg0KIExJQlM9IiRHSUZfTElCUyAkS1NB
VkVfTElCUyINCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgREdpZk9wZW4g
aW4gLWx1bmdpZiIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJl
Ojg1NTM6IGNoZWNraW5nIGZvciBER2lmT3BlbiBpbiAtbHVuZ2lmIiA+JjUN
CitlY2hvICJjb25maWd1cmU6ODU2MjogY2hlY2tpbmcgZm9yIERHaWZPcGVu
IGluIC1sdW5naWYiID4mNQ0KIGFjX2xpYl92YXI9YGVjaG8gdW5naWYnXydE
R2lmT3BlbiB8IHNlZCAneSUuLystJV9fcF8lJ2ANCiBpZiBldmFsICJ0ZXN0
IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2Bc
IiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19j
IiAxPiY2DQpAQCAtODU1Nyw3ICs4NTY2LDcgQEANCiAgIGFjX3NhdmVfTElC
Uz0iJExJQlMiDQogTElCUz0iLWx1bmdpZiAgJExJQlMiDQogY2F0ID4gY29u
ZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDg1NjEgImNvbmZpZ3VyZSIN
CisjbGluZSA4NTcwICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZz
LmgiDQogLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl
IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiAvKiBXZSB1c2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My
DQpAQCAtODU2OCw3ICs4NTc3LDcgQEANCiBER2lmT3BlbigpDQogOyByZXR1
cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODU3
MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsg
fSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQoraWYg
eyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NTgxOiBcIiRhY19saW5rXCIpIDE+
JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRl
c3Qke2FjX2V4ZWV4dH07IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVzdCoNCiAg
IGV2YWwgImFjX2N2X2xpYl8kYWNfbGliX3Zhcj15ZXMiDQogZWxzZQ0KQEAg
LTg2MjUsMTIgKzg2MzQsMTIgQEANCiANCiANCiBlY2hvICRhY19uICJjaGVj
a2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIiLi4uICRhY19jIiAxPiY2
DQotZWNobyAiY29uZmlndXJlOjg2Mjk6IGNoZWNraW5nIGZvciBBTlNJIEMg
aGVhZGVyIGZpbGVzIiA+JjUNCitlY2hvICJjb25maWd1cmU6ODYzODogY2hl
Y2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMiID4mNQ0KIGlmIGV2YWwg
InRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfc3RkYycrc2V0fSdg
XCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNf
YyIgMT4mNg0KIGVsc2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxF
T0YNCi0jbGluZSA4NjM0ICJjb25maWd1cmUiDQorI2xpbmUgODY0MyAiY29u
ZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxz
dGRsaWIuaD4NCiAjaW5jbHVkZSA8c3RkYXJnLmg+DQpAQCAtODYzOCw3ICs4
NjQ3LDcgQEANCiAjaW5jbHVkZSA8ZmxvYXQuaD4NCiBFT0YNCiBhY190cnk9
IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRl
c3Qub3V0Ig0KLXsgKGV2YWwgZWNobyBjb25maWd1cmU6ODY0MjogXCIkYWNf
dHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0NCit7IChldmFs
IGVjaG8gY29uZmlndXJlOjg2NTE6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZh
bCAkYWNfdHJ5KSAyPiY1OyB9DQogYWNfZXJyPWBncmVwIC12ICdeICorJyBj
b25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQi
YA0KIGlmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuDQogICBybSAtcmYgY29u
ZnRlc3QqDQpAQCAtODY1NSw3ICs4NjY0LDcgQEANCiBpZiB0ZXN0ICRhY19j
dl9oZWFkZXJfc3RkYyA9IHllczsgdGhlbg0KICAgIyBTdW5PUyA0Lnggc3Ry
aW5nLmggZG9lcyBub3QgZGVjbGFyZSBtZW0qLCBjb250cmFyeSB0byBBTlNJ
Lg0KIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA4NjU5
ICJjb25maWd1cmUiDQorI2xpbmUgODY2OCAiY29uZmlndXJlIg0KICNpbmNs
dWRlICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxzdHJpbmcuaD4NCiBFT0YN
CkBAIC04NjczLDcgKzg2ODIsNyBAQA0KIGlmIHRlc3QgJGFjX2N2X2hlYWRl
cl9zdGRjID0geWVzOyB0aGVuDQogICAjIElTQyAyLjAuMiBzdGRsaWIuaCBk
b2VzIG5vdCBkZWNsYXJlIGZyZWUsIGNvbnRyYXJ5IHRvIEFOU0kuDQogY2F0
ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDg2NzcgImNvbmZp
Z3VyZSINCisjbGluZSA4Njg2ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNv
bmZkZWZzLmgiDQogI2luY2x1ZGUgPHN0ZGxpYi5oPg0KIEVPRg0KQEAgLTg2
OTQsNyArODcwMyw3IEBADQogICA6DQogZWxzZQ0KICAgY2F0ID4gY29uZnRl
c3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDg2OTggImNvbmZpZ3VyZSINCisj
bGluZSA4NzA3ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgi
DQogI2luY2x1ZGUgPGN0eXBlLmg+DQogI2RlZmluZSBJU0xPV0VSKGMpICgn
YScgPD0gKGMpICYmIChjKSA8PSAneicpDQpAQCAtODcwNSw3ICs4NzE0LDcg
QEANCiBleGl0ICgwKTsgfQ0KIA0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBj
b25maWd1cmU6ODcwOTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNf
bGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9
ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0KK2lmIHsgKGV2
YWwgZWNobyBjb25maWd1cmU6ODcxODogXCIkYWNfbGlua1wiKSAxPiY1OyAo
ZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHth
Y19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0K
IHRoZW4NCiAgIDoNCiBlbHNlDQpAQCAtODc3MywxNyArODc4MiwxNyBAQA0K
IGRvDQogYWNfc2FmZT1gZWNobyAiJGFjX2hkciIgfCBzZWQgJ3klLi8rLSVf
X3BfJSdgDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4u
LiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo4Nzc3OiBjaGVja2lu
ZyBmb3IgJGFjX2hkciIgPiY1DQorZWNobyAiY29uZmlndXJlOjg3ODY6IGNo
ZWNraW5nIGZvciAkYWNfaGRyIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVj
aG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNl
dCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2
DQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNs
aW5lIDg3ODIgImNvbmZpZ3VyZSINCisjbGluZSA4NzkxICJjb25maWd1cmUi
DQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPCRhY19oZHI+
DQogRU9GDQogYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9k
ZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCINCi17IChldmFsIGVjaG8gY29uZmln
dXJlOjg3ODc6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAy
PiY1OyB9DQoreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4Nzk2OiBcIiRhY190
cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQ0KIGFjX2Vycj1g
Z3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0
ZXN0LiR7YWNfZXh0fVwkImANCiBpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhl
bg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KQEAgLTg4MTUsMTIgKzg4MjQsMTIg
QEANCiBkbw0KIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4v
Ky0lX19wXyUnYA0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfaGRy
IHRoYXQgZGVmaW5lcyBESVIiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNv
bmZpZ3VyZTo4ODE5OiBjaGVja2luZyBmb3IgJGFjX2hkciB0aGF0IGRlZmlu
ZXMgRElSIiA+JjUNCitlY2hvICJjb25maWd1cmU6ODgyODogY2hlY2tpbmcg
Zm9yICRhY19oZHIgdGhhdCBkZWZpbmVzIERJUiIgPiY1DQogaWYgZXZhbCAi
dGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl9kaXJlbnRfJGFjX3Nh
ZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNh
Y2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQogICBjYXQgPiBjb25mdGVzdC4k
YWNfZXh0IDw8RU9GDQotI2xpbmUgODgyNCAiY29uZmlndXJlIg0KKyNsaW5l
IDg4MzMgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAj
aW5jbHVkZSA8c3lzL3R5cGVzLmg+DQogI2luY2x1ZGUgPCRhY19oZHI+DQpA
QCAtODgyOCw3ICs4ODM3LDcgQEANCiBESVIgKmRpcnAgPSAwOw0KIDsgcmV0
dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg4
MzI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUp
IDI+JjU7IH07IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg4
NDE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUp
IDI+JjU7IH07IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVzdCoNCiAgIGV2YWwg
ImFjX2N2X2hlYWRlcl9kaXJlbnRfJGFjX3NhZmU9eWVzIg0KIGVsc2UNCkBA
IC04ODUzLDcgKzg4NjIsNyBAQA0KICMgVHdvIHZlcnNpb25zIG9mIG9wZW5k
aXIgZXQgYWwuIGFyZSBpbiAtbGRpciBhbmQgLWx4IG9uIFNDTyBYZW5peC4N
CiBpZiB0ZXN0ICRhY19oZWFkZXJfZGlyZW50ID0gZGlyZW50Lmg7IHRoZW4N
CiBlY2hvICRhY19uICJjaGVja2luZyBmb3Igb3BlbmRpciBpbiAtbGRpciIi
Li4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjg4NTc6IGNoZWNr
aW5nIGZvciBvcGVuZGlyIGluIC1sZGlyIiA+JjUNCitlY2hvICJjb25maWd1
cmU6ODg2NjogY2hlY2tpbmcgZm9yIG9wZW5kaXIgaW4gLWxkaXIiID4mNQ0K
IGFjX2xpYl92YXI9YGVjaG8gZGlyJ18nb3BlbmRpciB8IHNlZCAneSUuLyst
JV9fcF8lJ2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zf
bGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVj
aG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpAQCAtODg2MSw3ICs4
ODcwLDcgQEANCiAgIGFjX3NhdmVfTElCUz0iJExJQlMiDQogTElCUz0iLWxk
aXIgICRMSUJTIg0KIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0j
bGluZSA4ODY1ICJjb25maWd1cmUiDQorI2xpbmUgODg3NCAiY29uZmlndXJl
Ig0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KIC8qIE92ZXJyaWRlIGFueSBn
Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICov
DQogLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl
IHJldHVybiB0eXBlIG9mIGEgZ2NjMg0KQEAgLTg4NzIsNyArODg4MSw3IEBA
DQogb3BlbmRpcigpDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2
YWwgZWNobyBjb25maWd1cmU6ODg3NjogXCIkYWNfbGlua1wiKSAxPiY1OyAo
ZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHth
Y19leGVleHR9OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4
ODg1OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1
OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCiAg
IHJtIC1yZiBjb25mdGVzdCoNCiAgIGV2YWwgImFjX2N2X2xpYl8kYWNfbGli
X3Zhcj15ZXMiDQogZWxzZQ0KQEAgLTg4OTQsNyArODkwMyw3IEBADQogDQog
ZWxzZQ0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1s
eCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjg4OTg6IGNo
ZWNraW5nIGZvciBvcGVuZGlyIGluIC1seCIgPiY1DQorZWNobyAiY29uZmln
dXJlOjg5MDc6IGNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1seCIgPiY1DQog
YWNfbGliX3Zhcj1gZWNobyB4J18nb3BlbmRpciB8IHNlZCAneSUuLystJV9f
cF8lJ2ANCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGli
XyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8g
JGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQpAQCAtODkwMiw3ICs4OTEx
LDcgQEANCiAgIGFjX3NhdmVfTElCUz0iJExJQlMiDQogTElCUz0iLWx4ICAk
TElCUyINCiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUg
ODkwNiAiY29uZmlndXJlIg0KKyNsaW5lIDg5MTUgImNvbmZpZ3VyZSINCiAj
aW5jbHVkZSAiY29uZmRlZnMuaCINCiAvKiBPdmVycmlkZSBhbnkgZ2NjMiBp
bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLw0KIC8q
IFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1
cm4gdHlwZSBvZiBhIGdjYzINCkBAIC04OTEzLDcgKzg5MjIsNyBAQA0KIG9w
ZW5kaXIoKQ0KIDsgcmV0dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChldmFsIGVj
aG8gY29uZmlndXJlOjg5MTc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwg
JGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhl
ZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODkyNjog
XCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAm
JiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQogICBybSAt
cmYgY29uZnRlc3QqDQogICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9
eWVzIg0KIGVsc2UNCkBAIC04OTQxLDE3ICs4OTUwLDE3IEBADQogZG8NCiBh
Y19zYWZlPWBlY2hvICIkYWNfaGRyIiB8IHNlZCAneSUuLystJV9fcF8lJ2AN
CiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2hkciIiLi4uICRhY19j
IiAxPiY2DQotZWNobyAiY29uZmlndXJlOjg5NDU6IGNoZWNraW5nIGZvciAk
YWNfaGRyIiA+JjUNCitlY2hvICJjb25maWd1cmU6ODk1NDogY2hlY2tpbmcg
Zm9yICRhY19oZHIiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcn
eydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhl
bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNl
DQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgODk1
MCAiY29uZmlndXJlIg0KKyNsaW5lIDg5NTkgImNvbmZpZ3VyZSINCiAjaW5j
bHVkZSAiY29uZmRlZnMuaCINCiAjaW5jbHVkZSA8JGFjX2hkcj4NCiBFT0YN
CiBhY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxs
IDI+Y29uZnRlc3Qub3V0Ig0KLXsgKGV2YWwgZWNobyBjb25maWd1cmU6ODk1
NTogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0N
Cit7IChldmFsIGVjaG8gY29uZmlndXJlOjg5NjQ6IFwiJGFjX3RyeVwiKSAx
PiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQogYWNfZXJyPWBncmVwIC12
ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHth
Y19leHR9XCQiYA0KIGlmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuDQogICBy
bSAtcmYgY29uZnRlc3QqDQpAQCAtODk3NCwxMiArODk4MywxMiBAQA0KICBm
b3IgYWNfZnVuYyBpbiBnZXRydXNhZ2UNCiBkbw0KIGVjaG8gJGFjX24gImNo
ZWNraW5nIGZvciAkYWNfZnVuYyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAi
Y29uZmlndXJlOjg5Nzg6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1DQor
ZWNobyAiY29uZmlndXJlOjg5ODc6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIg
PiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNf
JGFjX2Z1bmMnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNf
biAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQogICBjYXQgPiBjb25m
dGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgODk4MyAiY29uZmlndXJlIg0K
KyNsaW5lIDg5OTIgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMu
aCINCiAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z
IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsDQogICAgIHdoaWNoIGNh
biBjb25mbGljdCB3aXRoIGNoYXIgJGFjX2Z1bmMoKTsgYmVsb3cuICAqLw0K
QEAgLTkwMDIsNyArOTAxMSw3IEBADQogDQogOyByZXR1cm4gMDsgfQ0KIEVP
Rg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTAwNjogXCIkYWNfbGlu
a1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1z
IGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hv
IGNvbmZpZ3VyZTo5MDE1OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRh
Y19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4
dH07IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVzdCoNCiAgIGV2YWwgImFjX2N2
X2Z1bmNfJGFjX2Z1bmM9eWVzIg0KIGVsc2UNCkBAIC05MDYwLDEyICs5MDY5
LDEyIEBADQogICBmb3IgYWNfZnVuYyBpbiBfX3Rocm93IF9fdGVybWluYXRl
X2Z1bmMgX19nZXRfZWhfaW5mbw0KIGRvDQogZWNobyAkYWNfbiAiY2hlY2tp
bmcgZm9yICRhY19mdW5jIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25m
aWd1cmU6OTA2NDogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUNCitlY2hv
ICJjb25maWd1cmU6OTA3MzogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUN
CiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY18kYWNf
ZnVuYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIo
Y2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNhdCA+IGNvbmZ0ZXN0
LiRhY19leHQgPDxFT0YNCi0jbGluZSA5MDY5ICJjb25maWd1cmUiDQorI2xp
bmUgOTA3OCAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0K
IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5k
IGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywNCiAgICAgd2hpY2ggY2FuIGNv
bmZsaWN0IHdpdGggY2hhciAkYWNfZnVuYygpOyBiZWxvdy4gICovDQpAQCAt
OTA4OCw3ICs5MDk3LDcgQEANCiANCiA7IHJldHVybiAwOyB9DQogRU9GDQot
aWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5MDkyOiBcIiRhY19saW5rXCIp
IDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29u
ZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29u
ZmlndXJlOjkxMDE6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xp
bmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsg
dGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfZnVu
Y18kYWNfZnVuYz15ZXMiDQogZWxzZQ0KQEAgLTkxMTksNyArOTEyOCw3IEBA
DQogIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkYWNfcHJvZyIsIHNv
IGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuDQogc2V0IGR1
bW15ICRhY19wcm9nOyBhY193b3JkPSQyDQogZWNobyAkYWNfbiAiY2hlY2tp
bmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25m
aWd1cmU6OTEyMzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUNCitlY2hv
ICJjb25maWd1cmU6OTEzMjogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUN
CiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19DWFgn
K3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hl
ZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQpAQCAtOTE1MSw3ICs5MTYwLDcgQEAN
CiANCiANCiBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDKysg
Y29tcGlsZXIgKCRDWFggJENYWEZMQUdTICRMREZMQUdTKSB3b3JrcyIiLi4u
ICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjkxNTU6IGNoZWNraW5n
IHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciAoJENYWCAkQ1hYRkxBR1MgJExE
RkxBR1MpIHdvcmtzIiA+JjUNCitlY2hvICJjb25maWd1cmU6OTE2NDogY2hl
Y2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyICgkQ1hYICRDWFhGTEFH
UyAkTERGTEFHUykgd29ya3MiID4mNQ0KIA0KIGFjX2V4dD1DDQogIyBDWFhG
TEFHUyBpcyBub3QgaW4gYWNfY3BwIGJlY2F1c2UgLWcsIC1PLCBldGMuIGFy
ZSBub3QgdmFsaWQgY3BwIG9wdGlvbnMuDQpAQCAtOTE2MiwxMiArOTE3MSwx
MiBAQA0KIA0KIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDwgRU9GDQogDQot
I2xpbmUgOTE2NiAiY29uZmlndXJlIg0KKyNsaW5lIDkxNzUgImNvbmZpZ3Vy
ZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiANCiBpbnQgbWFpbigpe3Jl
dHVybigwKTt9DQogRU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5
MTcxOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1
OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCitp
ZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkxODA6IFwiJGFjX2xpbmtcIikg
MT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25m
dGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgYWNfY3ZfcHJvZ19jeHhfd29y
a3M9eWVzDQogICAjIElmIHdlIGNhbid0IHJ1biBhIHRyaXZpYWwgcHJvZ3Jh
bSwgd2UgYXJlIHByb2JhYmx5IHVzaW5nIGEgY3Jvc3MgY29tcGlsZXIuDQog
ICBpZiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGw7IHRoZW4NCkBA
IC05MTkzLDEyICs5MjAyLDEyIEBADQogICBoYXZlX3JlY2VudF9nY2M9bm8N
CiBmaQ0KIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBj
b21waWxlciAoJENYWCAkQ1hYRkxBR1MgJExERkxBR1MpIGlzIGEgY3Jvc3Mt
Y29tcGlsZXIiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTo5
MTk3OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKCRDWFgg
JENYWEZMQUdTICRMREZMQUdTKSBpcyBhIGNyb3NzLWNvbXBpbGVyIiA+JjUN
CitlY2hvICJjb25maWd1cmU6OTIwNjogY2hlY2tpbmcgd2hldGhlciB0aGUg
QysrIGNvbXBpbGVyICgkQ1hYICRDWFhGTEFHUyAkTERGTEFHUykgaXMgYSBj
cm9zcy1jb21waWxlciIgPiY1DQogZWNobyAiJGFjX3QiIiRhY19jdl9wcm9n
X2N4eF9jcm9zcyIgMT4mNg0KIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJv
Z19jeHhfY3Jvc3MNCiANCiBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVy
IHdlIGFyZSB1c2luZyBHTlUgQysrIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hv
ICJjb25maWd1cmU6OTIwMjogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp
bmcgR05VIEMrKyIgPiY1DQorZWNobyAiY29uZmlndXJlOjkyMTE6IGNoZWNr
aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDKysiID4mNQ0KIGlmIGV2
YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX2d4eCcrc2V0fSdg
XCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNf
YyIgMT4mNg0KIGVsc2UNCkBAIC05MjA3LDcgKzkyMTYsNyBAQA0KICAgeWVz
Ow0KICNlbmRpZg0KIEVPRg0KLWlmIHsgYWNfdHJ5PScke0NYWC1nKyt9IC1F
IGNvbmZ0ZXN0LkMnOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjkyMTE6IFwi
JGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9IHwg
ZWdyZXAgeWVzID4vZGV2L251bGwgMj4mMTsgdGhlbg0KK2lmIHsgYWNfdHJ5
PScke0NYWC1nKyt9IC1FIGNvbmZ0ZXN0LkMnOyB7IChldmFsIGVjaG8gY29u
ZmlndXJlOjkyMjA6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5
KSAyPiY1OyB9OyB9IHwgZWdyZXAgeWVzID4vZGV2L251bGwgMj4mMTsgdGhl
bg0KICAgYWNfY3ZfcHJvZ19neHg9eWVzDQogZWxzZQ0KICAgYWNfY3ZfcHJv
Z19neHg9bm8NCkBAIC05MjI2LDcgKzkyMzUsNyBAQA0KIGFjX3NhdmVfQ1hY
RkxBR1M9IiRDWFhGTEFHUyINCiBDWFhGTEFHUz0NCiBlY2hvICRhY19uICJj
aGVja2luZyB3aGV0aGVyICR7Q1hYLWcrK30gYWNjZXB0cyAtZyIiLi4uICRh
Y19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjkyMzA6IGNoZWNraW5nIHdo
ZXRoZXIgJHtDWFgtZysrfSBhY2NlcHRzIC1nIiA+JjUNCitlY2hvICJjb25m
aWd1cmU6OTIzOTogY2hlY2tpbmcgd2hldGhlciAke0NYWC1nKyt9IGFjY2Vw
dHMgLWciID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19j
dl9wcm9nX2N4eF9nJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8g
JGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxzZQ0KQEAgLTkyNTcs
NTcgKzkyNjYsNiBAQA0KICAgZmkNCiBmaQ0KIA0KLWZvciBhY19kZWNsYXJh
dGlvbiBpbiBcDQotICAgJydcDQotICAgJyNpbmNsdWRlIDxzdGRsaWIuaD4n
IFwNCi0gICAnZXh0ZXJuICJDIiB2b2lkIHN0ZDo6ZXhpdCAoaW50KSB0aHJv
dyAoKTsgdXNpbmcgc3RkOjpleGl0OycgXA0KLSAgICdleHRlcm4gIkMiIHZv
aWQgc3RkOjpleGl0IChpbnQpOyB1c2luZyBzdGQ6OmV4aXQ7JyBcDQotICAg
J2V4dGVybiAiQyIgdm9pZCBleGl0IChpbnQpIHRocm93ICgpOycgXA0KLSAg
ICdleHRlcm4gIkMiIHZvaWQgZXhpdCAoaW50KTsnIFwNCi0gICAndm9pZCBl
eGl0IChpbnQpOycNCi1kbw0KLSAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8
PEVPRg0KLSNsaW5lIDkyNzEgImNvbmZpZ3VyZSINCi0jaW5jbHVkZSAiY29u
ZmRlZnMuaCINCi0jaW5jbHVkZSA8c3RkbGliLmg+DQotJGFjX2RlY2xhcmF0
aW9uDQotaW50IG1haW4oKSB7DQotZXhpdCAoNDIpOw0KLTsgcmV0dXJuIDA7
IH0NCi1FT0YNCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkyNzk6IFwi
JGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7
IH07IHRoZW4NCi0gIDoNCi1lbHNlDQotICBlY2hvICJjb25maWd1cmU6IGZh
aWxlZCBwcm9ncmFtIHdhczoiID4mNQ0KLSAgY2F0IGNvbmZ0ZXN0LiRhY19l
eHQgPiY1DQotICBybSAtcmYgY29uZnRlc3QqDQotICBjb250aW51ZQ0KLWZp
DQotcm0gLWYgY29uZnRlc3QqDQotICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0
IDw8RU9GDQotI2xpbmUgOTI4OSAiY29uZmlndXJlIg0KLSNpbmNsdWRlICJj
b25mZGVmcy5oIg0KLSRhY19kZWNsYXJhdGlvbg0KLWludCBtYWluKCkgew0K
LWV4aXQgKDQyKTsNCi07IHJldHVybiAwOyB9DQotRU9GDQotaWYgeyAoZXZh
bCBlY2hvIGNvbmZpZ3VyZTo5Mjk2OiBcIiRhY19jb21waWxlXCIpIDE+JjU7
IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuDQotICBybSAtcmYg
Y29uZnRlc3QqDQotICBicmVhaw0KLWVsc2UNCi0gIGVjaG8gImNvbmZpZ3Vy
ZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1DQotICBjYXQgY29uZnRlc3Qu
JGFjX2V4dCA+JjUNCi1maQ0KLXJtIC1mIGNvbmZ0ZXN0Kg0KLWRvbmUNCi1p
ZiB0ZXN0IC1uICIkYWNfZGVjbGFyYXRpb24iOyB0aGVuDQotICBlY2hvICcj
aWZkZWYgX19jcGx1c3BsdXMnID4+Y29uZmRlZnMuaA0KLSAgZWNobyAkYWNf
ZGVjbGFyYXRpb24gICAgICA+PmNvbmZkZWZzLmgNCi0gIGVjaG8gJyNlbmRp
ZicgICAgICAgICAgICAgPj5jb25mZGVmcy5oDQotZmkNCi0NCi0NCiAgIA0K
IA0KICAgaWYgdGVzdCAieCRoYXZlX3JlY2VudF9nY2MiID0geHllczsgdGhl
bg0KQEAgLTkzMjAsNyArOTI3OCw3IEBADQogY3Jvc3NfY29tcGlsaW5nPSRh
Y19jdl9wcm9nX2N4eF9jcm9zcw0KIA0KICAgICBlY2hvICRhY19uICJjaGVj
a2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yIiIuLi4gJGFj
X2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6OTMyNDogY2hlY2tpbmcgaG93
IHRvIHJ1biB0aGUgQysrIHByZXByb2Nlc3NvciIgPiY1DQorZWNobyAiY29u
ZmlndXJlOjkyODI6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMrKyBwcmVw
cm9jZXNzb3IiID4mNQ0KIGlmIHRlc3QgLXogIiRDWFhDUFAiOyB0aGVuDQog
aWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfQ1hYQ1BQ
JytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNo
ZWQpICRhY19jIiAxPiY2DQpAQCAtOTMzMywxMiArOTI5MSwxMiBAQA0KIGNy
b3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jeHhfY3Jvc3MNCiAgIENYWENQ
UD0iJHtDWFgtZysrfSAtRSINCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQg
PDxFT0YNCi0jbGluZSA5MzM3ICJjb25maWd1cmUiDQorI2xpbmUgOTI5NSAi
Y29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KICNpbmNsdWRl
IDxzdGRsaWIuaD4NCiBFT0YNCiBhY190cnk9IiRhY19jcHAgY29uZnRlc3Qu
JGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0Ig0KLXsgKGV2YWwg
ZWNobyBjb25maWd1cmU6OTM0MjogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFs
ICRhY190cnkpIDI+JjU7IH0NCit7IChldmFsIGVjaG8gY29uZmlndXJlOjkz
MDA6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9
DQogYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVw
IC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYA0KIGlmIHRlc3QgLXogIiRh
Y19lcnIiOyB0aGVuDQogICA6DQpAQCAtOTM2NCwxNyArOTMyMiwxNyBAQA0K
IA0KIGFjX3NhZmU9YGVjaG8gImphdmEvbGFuZy9DbGFzcy5oIiB8IHNlZCAn
eSUuLystJV9fcF8lJ2ANCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgamF2
YS9sYW5nL0NsYXNzLmgiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZp
Z3VyZTo5MzY4OiBjaGVja2luZyBmb3IgamF2YS9sYW5nL0NsYXNzLmgiID4m
NQ0KK2VjaG8gImNvbmZpZ3VyZTo5MzI2OiBjaGVja2luZyBmb3IgamF2YS9s
YW5nL0NsYXNzLmgiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcn
eydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhl
bg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNl
DQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgOTM3
MyAiY29uZmlndXJlIg0KKyNsaW5lIDkzMzEgImNvbmZpZ3VyZSINCiAjaW5j
bHVkZSAiY29uZmRlZnMuaCINCiAjaW5jbHVkZSA8amF2YS9sYW5nL0NsYXNz
Lmg+DQogRU9GDQogYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQg
Pi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCINCi17IChldmFsIGVjaG8gY29u
ZmlndXJlOjkzNzg6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5
KSAyPiY1OyB9DQoreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5MzM2OiBcIiRh
Y190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQ0KIGFjX2Vy
cj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNv
bmZ0ZXN0LiR7YWNfZXh0fVwkImANCiBpZiB0ZXN0IC16ICIkYWNfZXJyIjsg
dGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KQEAgLTk0MjIsNyArOTM4MCw3
IEBADQogZmkNCiANCiBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRv
IGVuYWJsZSBHQ0ogc3VwcG9ydCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAi
Y29uZmlndXJlOjk0MjY6IGNoZWNraW5nIHdoZXRoZXIgdG8gZW5hYmxlIEdD
SiBzdXBwb3J0IiA+JjUNCitlY2hvICJjb25maWd1cmU6OTM4NDogY2hlY2tp
bmcgd2hldGhlciB0byBlbmFibGUgR0NKIHN1cHBvcnQiID4mNQ0KIGVjaG8g
IiRhY190IiIkZW5hYmxlX2djaiIgMT4mNg0KIA0KIA0KQEAgLTk0NDMsNyAr
OTQwMSw3IEBADQogZmkNCiANCiBlY2hvICRhY19uICJjaGVja2luZyB3aGV0
aGVyIHRvIGVuYWJsZSBNSVBTIElJIGluc3RydWN0aW9ucyIiLi4uICRhY19j
IiAxPiY2DQotZWNobyAiY29uZmlndXJlOjk0NDc6IGNoZWNraW5nIHdoZXRo
ZXIgdG8gZW5hYmxlIE1JUFMgSUkgaW5zdHJ1Y3Rpb25zIiA+JjUNCitlY2hv
ICJjb25maWd1cmU6OTQwNTogY2hlY2tpbmcgd2hldGhlciB0byBlbmFibGUg
TUlQUyBJSSBpbnN0cnVjdGlvbnMiID4mNQ0KIGlmIHRlc3QgIngkZW5hYmxl
X21pcHMyIiAhPSAieG5vIjsgdGhlbg0KICAgICBjYXQgPj4gY29uZmRlZnMu
aCA8PFxFT0YNCiAjZGVmaW5lIEhBVkVfTUlQU0lJX0lOU1RSVUNUSU9OUyAx
DQpAQCAtOTQ1NSwxMiArOTQxMywxMiBAQA0KIA0KIA0KIGVjaG8gJGFjX24g
ImNoZWNraW5nIHdoZXRoZXIgdGltZS5oIGFuZCBzeXMvdGltZS5oIG1heSBi
b3RoIGJlIGluY2x1ZGVkIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25m
aWd1cmU6OTQ1OTogY2hlY2tpbmcgd2hldGhlciB0aW1lLmggYW5kIHN5cy90
aW1lLmggbWF5IGJvdGggYmUgaW5jbHVkZWQiID4mNQ0KK2VjaG8gImNvbmZp
Z3VyZTo5NDE3OiBjaGVja2luZyB3aGV0aGVyIHRpbWUuaCBhbmQgc3lzL3Rp
bWUuaCBtYXkgYm90aCBiZSBpbmNsdWRlZCIgPiY1DQogaWYgZXZhbCAidGVz
dCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl90aW1lJytzZXR9J2BcIiA9
IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAx
PiY2DQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0K
LSNsaW5lIDk0NjQgImNvbmZpZ3VyZSINCisjbGluZSA5NDIyICJjb25maWd1
cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPHN5cy90
eXBlcy5oPg0KICNpbmNsdWRlIDxzeXMvdGltZS5oPg0KQEAgLTk0NjksNyAr
OTQyNyw3IEBADQogc3RydWN0IHRtICp0cDsNCiA7IHJldHVybiAwOyB9DQog
RU9GDQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5NDczOiBcIiRhY19j
b21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0
aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5NDMxOiBcIiRhY19j
b21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0
aGVuDQogICBybSAtcmYgY29uZnRlc3QqDQogICBhY19jdl9oZWFkZXJfdGlt
ZT15ZXMNCiBlbHNlDQpAQCAtOTQ5MCwxMiArOTQ0OCwxMiBAQA0KIGZpDQog
DQogZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciBzdHJ1Y3QgdG0gaXMg
aW4gc3lzL3RpbWUuaCBvciB0aW1lLmgiIi4uLiAkYWNfYyIgMT4mNg0KLWVj
aG8gImNvbmZpZ3VyZTo5NDk0OiBjaGVja2luZyB3aGV0aGVyIHN0cnVjdCB0
bSBpcyBpbiBzeXMvdGltZS5oIG9yIHRpbWUuaCIgPiY1DQorZWNobyAiY29u
ZmlndXJlOjk0NTI6IGNoZWNraW5nIHdoZXRoZXIgc3RydWN0IHRtIGlzIGlu
IHN5cy90aW1lLmggb3IgdGltZS5oIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwi
YGVjaG8gJyQnJ3snYWNfY3Zfc3RydWN0X3RtJytzZXR9J2BcIiA9IHNldCI7
IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQog
ZWxzZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5l
IDk0OTkgImNvbmZpZ3VyZSINCisjbGluZSA5NDU3ICJjb25maWd1cmUiDQog
I2luY2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPHN5cy90eXBlcy5o
Pg0KICNpbmNsdWRlIDx0aW1lLmg+DQpAQCAtOTUwMyw3ICs5NDYxLDcgQEAN
CiBzdHJ1Y3QgdG0gKnRwOyB0cC0+dG1fc2VjOw0KIDsgcmV0dXJuIDA7IH0N
CiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk1MDc6IFwiJGFj
X2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07
IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk0NjU6IFwiJGFj
X2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07
IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVzdCoNCiAgIGFjX2N2X3N0cnVjdF90
bT10aW1lLmgNCiBlbHNlDQpAQCAtOTUyNCwxMiArOTQ4MiwxMiBAQA0KIGZp
DQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHRtX3pvbmUgaW4gc3Ry
dWN0IHRtIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6OTUy
ODogY2hlY2tpbmcgZm9yIHRtX3pvbmUgaW4gc3RydWN0IHRtIiA+JjUNCitl
Y2hvICJjb25maWd1cmU6OTQ4NjogY2hlY2tpbmcgZm9yIHRtX3pvbmUgaW4g
c3RydWN0IHRtIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3sn
YWNfY3Zfc3RydWN0X3RtX3pvbmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0K
ICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQog
ICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgOTUzMyAi
Y29uZmlndXJlIg0KKyNsaW5lIDk0OTEgImNvbmZpZ3VyZSINCiAjaW5jbHVk
ZSAiY29uZmRlZnMuaCINCiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQogI2lu
Y2x1ZGUgPCRhY19jdl9zdHJ1Y3RfdG0+DQpAQCAtOTUzNyw3ICs5NDk1LDcg
QEANCiBzdHJ1Y3QgdG0gdG07IHRtLnRtX3pvbmU7DQogOyByZXR1cm4gMDsg
fQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTU0MTogXCIk
YWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsg
fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTQ5OTogXCIk
YWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsg
fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgYWNfY3Zfc3RydWN0
X3RtX3pvbmU9eWVzDQogZWxzZQ0KQEAgLTk1NTcsMTIgKzk1MTUsMTIgQEAN
CiANCiBlbHNlDQogICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdHpuYW1l
IiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6OTU2MTogY2hl
Y2tpbmcgZm9yIHR6bmFtZSIgPiY1DQorZWNobyAiY29uZmlndXJlOjk1MTk6
IGNoZWNraW5nIGZvciB0em5hbWUiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJg
ZWNobyAnJCcneydhY19jdl92YXJfdHpuYW1lJytzZXR9J2BcIiA9IHNldCI7
IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQog
ZWxzZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5l
IDk1NjYgImNvbmZpZ3VyZSINCisjbGluZSA5NTI0ICJjb25maWd1cmUiDQog
I2luY2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPHRpbWUuaD4NCiAj
aWZuZGVmIHR6bmFtZSAvKiBGb3IgU0dJLiAgKi8NCkBAIC05NTcyLDcgKzk1
MzAsNyBAQA0KIGF0b2koKnR6bmFtZSk7DQogOyByZXR1cm4gMDsgfQ0KIEVP
Rg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTU3NjogXCIkYWNfbGlu
a1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1z
IGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hv
IGNvbmZpZ3VyZTo5NTM0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRh
Y19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4
dH07IHRoZW4NCiAgIHJtIC1yZiBjb25mdGVzdCoNCiAgIGFjX2N2X3Zhcl90
em5hbWU9eWVzDQogZWxzZQ0KQEAgLTk1OTQsMTQgKzk1NTIsMTQgQEANCiBm
aQ0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgYnl0ZSBvcmRl
cmluZyBpcyBiaWdlbmRpYW4iIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNv
bmZpZ3VyZTo5NTk4OiBjaGVja2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcg
aXMgYmlnZW5kaWFuIiA+JjUNCitlY2hvICJjb25maWd1cmU6OTU1NjogY2hl
Y2tpbmcgd2hldGhlciBieXRlIG9yZGVyaW5nIGlzIGJpZ2VuZGlhbiIgPiY1
DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2NfYmlnZW5k
aWFuJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihj
YWNoZWQpICRhY19jIiAxPiY2DQogZWxzZQ0KICAgYWNfY3ZfY19iaWdlbmRp
YW49dW5rbm93bg0KICMgU2VlIGlmIHN5cy9wYXJhbS5oIGRlZmluZXMgdGhl
IEJZVEVfT1JERVIgbWFjcm8uDQogY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8
PEVPRg0KLSNsaW5lIDk2MDUgImNvbmZpZ3VyZSINCisjbGluZSA5NTYzICJj
b25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogI2luY2x1ZGUg
PHN5cy90eXBlcy5oPg0KICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4NCkBAIC05
NjEyLDExICs5NTcwLDExIEBADQogI2VuZGlmDQogOyByZXR1cm4gMDsgfQ0K
IEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTYxNjogXCIkYWNf
Y29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsg
dGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTU3NDogXCIkYWNf
Y29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsg
dGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgIyBJdCBkb2VzOyBub3cg
c2VlIHdoZXRoZXIgaXQgZGVmaW5lZCB0byBCSUdfRU5ESUFOIG9yIG5vdC4N
CiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgOTYyMCAi
Y29uZmlndXJlIg0KKyNsaW5lIDk1NzggImNvbmZpZ3VyZSINCiAjaW5jbHVk
ZSAiY29uZmRlZnMuaCINCiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQogI2lu
Y2x1ZGUgPHN5cy9wYXJhbS5oPg0KQEAgLTk2MjcsNyArOTU4NSw3IEBADQog
I2VuZGlmDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNo
byBjb25maWd1cmU6OTYzMTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZh
bCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNo
byBjb25maWd1cmU6OTU4OTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZh
bCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0
ZXN0Kg0KICAgYWNfY3ZfY19iaWdlbmRpYW49eWVzDQogZWxzZQ0KQEAgLTk2
NDcsNyArOTYwNSw3IEBADQogICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJv
cjogY2FuIG5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBp
bGluZyIgMT4mMjsgZXhpdCAxOyB9DQogZWxzZQ0KICAgY2F0ID4gY29uZnRl
c3QuJGFjX2V4dCA8PEVPRg0KLSNsaW5lIDk2NTEgImNvbmZpZ3VyZSINCisj
bGluZSA5NjA5ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgi
DQogbWFpbiAoKSB7DQogICAvKiBBcmUgd2UgbGl0dGxlIG9yIGJpZyBlbmRp
YW4/ICBGcm9tIEhhcmJpc29uJlN0ZWVsZS4gICovDQpAQCAtOTY2MCw3ICs5
NjE4LDcgQEANCiAgIGV4aXQgKHUuY1tzaXplb2YgKGxvbmcpIC0gMV0gPT0g
MSk7DQogfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTY2
NDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsg
fSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0
ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0KK2lmIHsgKGV2YWwgZWNobyBjb25m
aWd1cmU6OTYyMjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGlu
aykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYm
ICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbA0KIHRoZW4NCiAgIGFj
X2N2X2NfYmlnZW5kaWFuPW5vDQogZWxzZQ0KQEAgLTk2ODQsMTQgKzk2NDIs
MTQgQEANCiBmaQ0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIg
Y2hhciBpcyB1bnNpZ25lZCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29u
ZmlndXJlOjk2ODg6IGNoZWNraW5nIHdoZXRoZXIgY2hhciBpcyB1bnNpZ25l
ZCIgPiY1DQorZWNobyAiY29uZmlndXJlOjk2NDY6IGNoZWNraW5nIHdoZXRo
ZXIgY2hhciBpcyB1bnNpZ25lZCIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBl
Y2hvICckJyd7J2FjX2N2X2NfY2hhcl91bnNpZ25lZCcrc2V0fSdgXCIgPSBz
ZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4m
Ng0KIGVsc2UNCiAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuDQogICAj
IEdDQyBwcmVkZWZpbmVzIHRoaXMgc3ltYm9sIG9uIHN5c3RlbXMgd2hlcmUg
aXQgYXBwbGllcy4NCiBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQot
I2xpbmUgOTY5NSAiY29uZmlndXJlIg0KKyNsaW5lIDk2NTMgImNvbmZpZ3Vy
ZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAjaWZkZWYgX19DSEFSX1VO
U0lHTkVEX18NCiAgIHllcw0KQEAgLTk3MTMsNyArOTY3MSw3IEBADQogICAg
IHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2FuIG5vdCBydW4gdGVzdCBw
cm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZyIgMT4mMjsgZXhpdCAxOyB9
DQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNs
aW5lIDk3MTcgImNvbmZpZ3VyZSINCisjbGluZSA5Njc1ICJjb25maWd1cmUi
DQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogLyogdm9sYXRpbGUgcHJldmVu
dHMgZ2NjMiBmcm9tIG9wdGltaXppbmcgdGhlIHRlc3QgYXdheSBvbiBzcGFy
Y3MuICAqLw0KICNpZiAhZGVmaW5lZChfX1NURENfXykgfHwgX19TVERDX18g
IT0gMQ0KQEAgLTk3MjMsNyArOTY4MSw3IEBADQogICB2b2xhdGlsZSBjaGFy
IGMgPSAyNTU7IGV4aXQoYyA8IDApOw0KIH0NCiBFT0YNCi1pZiB7IChldmFs
IGVjaG8gY29uZmlndXJlOjk3Mjc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2
YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNf
ZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwNCitp
ZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk2ODU6IFwiJGFjX2xpbmtcIikg
MT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25m
dGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2
L251bGwNCiB0aGVuDQogICBhY19jdl9jX2NoYXJfdW5zaWduZWQ9eWVzDQog
ZWxzZQ0KQEAgLTk3NDcsMjEgKzk3MDUsMjEgQEANCiBmaQ0KIA0KIGVjaG8g
JGFjX24gImNoZWNraW5nIGZvciBpbmxpbmUiIi4uLiAkYWNfYyIgMT4mNg0K
LWVjaG8gImNvbmZpZ3VyZTo5NzUxOiBjaGVja2luZyBmb3IgaW5saW5lIiA+
JjUNCitlY2hvICJjb25maWd1cmU6OTcwOTogY2hlY2tpbmcgZm9yIGlubGlu
ZSIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Nf
aW5saW5lJytzZXR9J2BcIiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24g
IihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxzZQ0KICAgYWNfY3ZfY19pbmxp
bmU9bm8NCiBmb3IgYWNfa3cgaW4gaW5saW5lIF9faW5saW5lX18gX19pbmxp
bmU7IGRvDQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GDQotI2xp
bmUgOTc1OCAiY29uZmlndXJlIg0KKyNsaW5lIDk3MTYgImNvbmZpZ3VyZSIN
CiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiANCiBpbnQgbWFpbigpIHsNCiB9
ICRhY19rdyBmb28oKSB7DQogOyByZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsg
KGV2YWwgZWNobyBjb25maWd1cmU6OTc2NTogXCIkYWNfY29tcGlsZVwiKSAx
PiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbg0KK2lmIHsg
KGV2YWwgZWNobyBjb25maWd1cmU6OTcyMzogXCIkYWNfY29tcGlsZVwiKSAx
PiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbg0KICAgcm0g
LXJmIGNvbmZ0ZXN0Kg0KICAgYWNfY3ZfY19pbmxpbmU9JGFjX2t3OyBicmVh
aw0KIGVsc2UNCkBAIC05ODUzLDEyICs5ODExLDEyIEBADQogDQogDQogZWNo
byAkYWNfbiAiY2hlY2tpbmcgZm9yIHN0cnVjdCBzaWdjb250ZXh0IiIuLi4g
JGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6OTg1NzogY2hlY2tpbmcg
Zm9yIHN0cnVjdCBzaWdjb250ZXh0IiA+JjUNCitlY2hvICJjb25maWd1cmU6
OTgxNTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzaWdjb250ZXh0IiA+JjUNCiBp
ZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zfc3RydWN0X3NpZ2Nv
bnRleHQnK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAi
KGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQogICBjYXQgPiBjb25mdGVz
dC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgOTg2MiAiY29uZmlndXJlIg0KKyNs
aW5lIDk4MjAgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIN
CiAjaW5jbHVkZSA8YXNtL3NpZ25hbC5oPg0KICNpbmNsdWRlIDxhc20vc2ln
Y29udGV4dC5oPg0KQEAgLTk4NjYsNyArOTgyNCw3IEBADQogc3RydWN0IHNp
Z2NvbnRleHQgdDsNCiA7IHJldHVybiAwOyB9DQogRU9GDQotaWYgeyAoZXZh
bCBlY2hvIGNvbmZpZ3VyZTo5ODcwOiBcIiRhY19jb21waWxlXCIpIDE+JjU7
IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuDQoraWYgeyAoZXZh
bCBlY2hvIGNvbmZpZ3VyZTo5ODI4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7
IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuDQogICBybSAtcmYg
Y29uZnRlc3QqDQogICBhY19jdl9zdHJ1Y3Rfc2lnY29udGV4dD15ZXMNCiBl
bHNlDQpAQCAtOTg4OCwxOSArOTg0NiwxOSBAQA0KIA0KIA0KIGVjaG8gJGFj
X24gImNoZWNraW5nIGZvciBzdHJ1Y3Qgc2lnY29udGV4dF9zdHJ1Y3QgKHdp
dGhvdXQgYXNtL3NpZ2NvbnRleHQuaCkiIi4uLiAkYWNfYyIgMT4mNg0KLWVj
aG8gImNvbmZpZ3VyZTo5ODkyOiBjaGVja2luZyBmb3Igc3RydWN0IHNpZ2Nv
bnRleHRfc3RydWN0ICh3aXRob3V0IGFzbS9zaWdjb250ZXh0LmgpIiA+JjUN
CitlY2hvICJjb25maWd1cmU6OTg1MDogY2hlY2tpbmcgZm9yIHN0cnVjdCBz
aWdjb250ZXh0X3N0cnVjdCAod2l0aG91dCBhc20vc2lnY29udGV4dC5oKSIg
PiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3N0cnVj
dF9zaWdjb250ZXh0X3N0cnVjdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQog
ICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAg
IGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA5ODk3ICJj
b25maWd1cmUiDQorI2xpbmUgOTg1NSAiY29uZmlndXJlIg0KICNpbmNsdWRl
ICJjb25mZGVmcy5oIg0KICNpbmNsdWRlIDxhc20vc2lnbmFsLmg+DQogaW50
IG1haW4oKSB7DQogc3RydWN0IHNpZ2NvbnRleHRfc3RydWN0IHQ7DQogOyBy
ZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6
OTkwNDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGls
ZSkgMj4mNTsgfTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6
OTg2MjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGls
ZSkgMj4mNTsgfTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgYWNf
Y3Zfc3RydWN0X3NpZ2NvbnRleHRfc3RydWN0PXllcw0KIGVsc2UNCkBAIC05
OTE1LDEyICs5ODczLDEyIEBADQogZWNobyAiJGFjX3QiIiRhY19jdl9zdHJ1
Y3Rfc2lnY29udGV4dF9zdHJ1Y3QiIDE+JjYNCiANCiBlY2hvICRhY19uICJj
aGVja2luZyBmb3Igc3RydWN0IHNpZ2NvbnRleHRfc3RydWN0ICh3aXRoIGFz
bS9zaWdjb250ZXh0LmgpIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25m
aWd1cmU6OTkxOTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzaWdjb250ZXh0X3N0
cnVjdCAod2l0aCBhc20vc2lnY29udGV4dC5oKSIgPiY1DQorZWNobyAiY29u
ZmlndXJlOjk4Nzc6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc2lnY29udGV4dF9z
dHJ1Y3QgKHdpdGggYXNtL3NpZ2NvbnRleHQuaCkiID4mNQ0KIGlmIGV2YWwg
InRlc3QgXCJgZWNobyAnJCcneydhY19jdl9zdHJ1Y3Rfc2lnY29udGV4dF9z
dHJ1Y3Rfd2l0aCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRh
Y19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNhdCA+IGNv
bmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSA5OTI0ICJjb25maWd1cmUi
DQorI2xpbmUgOTg4MiAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVm
cy5oIg0KICNpbmNsdWRlIDxhc20vc2lnbmFsLmg+DQogI2luY2x1ZGUgPGFz
bS9zaWdjb250ZXh0Lmg+DQpAQCAtOTkyOCw3ICs5ODg2LDcgQEANCiBzdHJ1
Y3Qgc2lnY29udGV4dF9zdHJ1Y3QgdDsNCiA7IHJldHVybiAwOyB9DQogRU9G
DQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5OTMyOiBcIiRhY19jb21w
aWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVu
DQoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5ODkwOiBcIiRhY19jb21w
aWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVu
DQogICBybSAtcmYgY29uZnRlc3QqDQogICBhY19jdl9zdHJ1Y3Rfc2lnY29u
dGV4dF9zdHJ1Y3Rfd2l0aD15ZXMNCiBlbHNlDQpAQCAtOTk1MiwxMiArOTkx
MCwxMiBAQA0KIA0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBzdHJm
dGltZSIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjk5NTY6
IGNoZWNraW5nIGZvciBzdHJmdGltZSIgPiY1DQorZWNobyAiY29uZmlndXJl
Ojk5MTQ6IGNoZWNraW5nIGZvciBzdHJmdGltZSIgPiY1DQogaWYgZXZhbCAi
dGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNfc3RyZnRpbWUnK3NldH0n
YFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFj
X2MiIDE+JjYNCiBlbHNlDQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8
RU9GDQotI2xpbmUgOTk2MSAiY29uZmlndXJlIg0KKyNsaW5lIDk5MTkgImNv
bmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiAvKiBTeXN0ZW0g
aGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg
ZmV3IHByb3RvdHlwZXMsDQogICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRo
IGNoYXIgc3RyZnRpbWUoKTsgYmVsb3cuICAqLw0KQEAgLTk5ODAsNyArOTkz
OCw3IEBADQogDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwg
ZWNobyBjb25maWd1cmU6OTk4NDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZh
bCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19l
eGVleHR9OyB0aGVuDQoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5OTQy
OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9
ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCiAgIHJt
IC1yZiBjb25mdGVzdCoNCiAgIGV2YWwgImFjX2N2X2Z1bmNfc3RyZnRpbWU9
eWVzIg0KIGVsc2UNCkBAIC0xMDAwMiw3ICs5OTYwLDcgQEANCiAgIGVjaG8g
IiRhY190IiJubyIgMT4mNg0KICMgc3RyZnRpbWUgaXMgaW4gLWxpbnRsIG9u
IFNDTyBVTklYLg0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBzdHJmdGlt
ZSBpbiAtbGludGwiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3Vy
ZToxMDAwNjogY2hlY2tpbmcgZm9yIHN0cmZ0aW1lIGluIC1saW50bCIgPiY1
DQorZWNobyAiY29uZmlndXJlOjk5NjQ6IGNoZWNraW5nIGZvciBzdHJmdGlt
ZSBpbiAtbGludGwiID4mNQ0KIGFjX2xpYl92YXI9YGVjaG8gaW50bCdfJ3N0
cmZ0aW1lIHwgc2VkICd5JS4vKy0lX19wXyUnYA0KIGlmIGV2YWwgInRlc3Qg
XCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXInK3NldH0nYFwi
ID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2Mi
IDE+JjYNCkBAIC0xMDAxMCw3ICs5OTY4LDcgQEANCiAgIGFjX3NhdmVfTElC
Uz0iJExJQlMiDQogTElCUz0iLWxpbnRsICAkTElCUyINCiBjYXQgPiBjb25m
dGVzdC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTAwMTQgImNvbmZpZ3VyZSIN
CisjbGluZSA5OTcyICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZz
LmgiDQogLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl
IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8NCiAvKiBXZSB1c2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My
DQpAQCAtMTAwMjEsNyArOTk3OSw3IEBADQogc3RyZnRpbWUoKQ0KIDsgcmV0
dXJuIDA7IH0NCiBFT0YNCi1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEw
MDI1OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1
OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4NCitp
ZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk5ODM6IFwiJGFjX2xpbmtcIikg
MT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25m
dGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0K
ICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyINCiBlbHNlDQpA
QCAtMTAwNDcsMjEgKzEwMDA1LDIxIEBADQogDQogZmkNCiANCi1mb3IgYWNf
aGRyIGluIHN0ZGxpYi5oIHVuaXN0ZC5oIHN5cy9zdGF0Lmggc3lzL3R5cGVz
LmgNCitmb3IgYWNfaGRyIGluIHVuaXN0ZC5oDQogZG8NCiBhY19zYWZlPWBl
Y2hvICIkYWNfaGRyIiB8IHNlZCAneSUuLystJV9fcF8lJ2ANCiBlY2hvICRh
Y19uICJjaGVja2luZyBmb3IgJGFjX2hkciIiLi4uICRhY19jIiAxPiY2DQot
ZWNobyAiY29uZmlndXJlOjEwMDU1OiBjaGVja2luZyBmb3IgJGFjX2hkciIg
PiY1DQorZWNobyAiY29uZmlndXJlOjEwMDEzOiBjaGVja2luZyBmb3IgJGFj
X2hkciIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2
X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBl
Y2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNh
dCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMDA2MCAiY29u
ZmlndXJlIg0KKyNsaW5lIDEwMDE4ICJjb25maWd1cmUiDQogI2luY2x1ZGUg
ImNvbmZkZWZzLmgiDQogI2luY2x1ZGUgPCRhY19oZHI+DQogRU9GDQogYWNf
dHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNv
bmZ0ZXN0Lm91dCINCi17IChldmFsIGVjaG8gY29uZmlndXJlOjEwMDY1OiBc
IiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQ0KK3sg
KGV2YWwgZWNobyBjb25maWd1cmU6MTAwMjM6IFwiJGFjX3RyeVwiKSAxPiY1
OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9DQogYWNfZXJyPWBncmVwIC12ICde
ICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19l
eHR9XCQiYA0KIGlmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuDQogICBybSAt
cmYgY29uZnRlc3QqDQpAQCAtMTAwOTAsMTIgKzEwMDQ4LDEyIEBADQogZm9y
IGFjX2Z1bmMgaW4gZ2V0cGFnZXNpemUNCiBkbw0KIGVjaG8gJGFjX24gImNo
ZWNraW5nIGZvciAkYWNfZnVuYyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAi
Y29uZmlndXJlOjEwMDk0OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQ0K
K2VjaG8gImNvbmZpZ3VyZToxMDA1MjogY2hlY2tpbmcgZm9yICRhY19mdW5j
IiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVu
Y18kYWNfZnVuYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRh
Y19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNhdCA+IGNv
bmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMDA5OSAiY29uZmlndXJl
Ig0KKyNsaW5lIDEwMDU3ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZk
ZWZzLmgiDQogLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1h
Y3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAgICB3aGlj
aCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyICRhY19mdW5jKCk7IGJlbG93LiAg
Ki8NCkBAIC0xMDExOCw3ICsxMDA3Niw3IEBADQogDQogOyByZXR1cm4gMDsg
fQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAxMjI6IFwi
JGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYg
dGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2
YWwgZWNobyBjb25maWd1cmU6MTAwODA6IFwiJGFjX2xpbmtcIikgMT4mNTsg
KGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7
YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZh
bCAiYWNfY3ZfZnVuY18kYWNfZnVuYz15ZXMiDQogZWxzZQ0KQEAgLTEwMTQz
LDcgKzEwMTAxLDcgQEANCiBkb25lDQogDQogZWNobyAkYWNfbiAiY2hlY2tp
bmcgZm9yIHdvcmtpbmcgbW1hcCIiLi4uICRhY19jIiAxPiY2DQotZWNobyAi
Y29uZmlndXJlOjEwMTQ3OiBjaGVja2luZyBmb3Igd29ya2luZyBtbWFwIiA+
JjUNCitlY2hvICJjb25maWd1cmU6MTAxMDU6IGNoZWNraW5nIGZvciB3b3Jr
aW5nIG1tYXAiID4mNQ0KIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydh
Y19jdl9mdW5jX21tYXBfZml4ZWRfbWFwcGVkJytzZXR9J2BcIiA9IHNldCI7
IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQog
ZWxzZQ0KQEAgLTEwMTUxLDcgKzEwMTA5LDcgQEANCiAgIGFjX2N2X2Z1bmNf
bW1hcF9maXhlZF9tYXBwZWQ9bm8NCiBlbHNlDQogICBjYXQgPiBjb25mdGVz
dC4kYWNfZXh0IDw8RU9GDQotI2xpbmUgMTAxNTUgImNvbmZpZ3VyZSINCisj
bGluZSAxMDExMyAiY29uZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5o
Ig0KIA0KIC8qIFRoYW5rcyB0byBNaWtlIEhhZXJ0ZWwgYW5kIEppbSBBdmVy
YSBmb3IgdGhpcyB0ZXN0Lg0KQEAgLTEwMTc5LDI0ICsxMDEzNywxMSBAQA0K
ICNpbmNsdWRlIDxmY250bC5oPg0KICNpbmNsdWRlIDxzeXMvbW1hbi5oPg0K
IA0KLSNpZiBIQVZFX1NZU19UWVBFU19IDQotIyBpbmNsdWRlIDxzeXMvdHlw
ZXMuaD4NCi0jZW5kaWYNCi0NCi0jaWYgSEFWRV9TVERMSUJfSA0KLSMgaW5j
bHVkZSA8c3RkbGliLmg+DQotI2VuZGlmDQotDQotI2lmIEhBVkVfU1lTX1NU
QVRfSA0KLSMgaW5jbHVkZSA8c3lzL3N0YXQuaD4NCi0jZW5kaWYNCi0NCi0j
aWYgSEFWRV9VTklTVERfSA0KLSMgaW5jbHVkZSA8dW5pc3RkLmg+DQotI2Vu
ZGlmDQotDQogLyogVGhpcyBtZXNzIHdhcyBjb3BpZWQgZnJvbSB0aGUgR05V
IGdldHBhZ2VzaXplLmguICAqLw0KICNpZm5kZWYgSEFWRV9HRVRQQUdFU0la
RQ0KKyMgaWZkZWYgSEFWRV9VTklTVERfSA0KKyMgIGluY2x1ZGUgPHVuaXN0
ZC5oPg0KKyMgZW5kaWYNCiANCiAvKiBBc3N1bWUgdGhhdCBhbGwgc3lzdGVt
cyB0aGF0IGNhbiBydW4gY29uZmlndXJlIGhhdmUgc3lzL3BhcmFtLmguICAq
Lw0KICMgaWZuZGVmIEhBVkVfU1lTX1BBUkFNX0gNCkBAIC0xMDMwNCw3ICsx
MDI0OSw3IEBADQogfQ0KIA0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25m
aWd1cmU6MTAzMDg6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xp
bmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAm
JiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwNCitpZiB7IChldmFs
IGVjaG8gY29uZmlndXJlOjEwMjUzOiBcIiRhY19saW5rXCIpIDE+JjU7IChl
dmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2Fj
X2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsDQog
dGhlbg0KICAgYWNfY3ZfZnVuY19tbWFwX2ZpeGVkX21hcHBlZD15ZXMNCiBl
bHNlDQpAQCAtMTAzMjksMTIgKzEwMjc0LDEyIEBADQogZm9yIGFjX2Z1bmMg
aW4gc2VsZWN0IHNvY2tldCBnZXRzb2NrbmFtZSBnZXRwYWdlc2l6ZSBtZW1j
cHkgbWVtbW92ZSBta2RpciBnZXRjd2QgY2hkaXIgZ2V0d2QgZ2V0dGltZW9m
ZGF5IGZ0aW1lIHRpbWUgdW5hbWUgZ2V0dWlkIGxvY2FsdGltZSBpY29udiAN
CiBkbw0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfZnVuYyIiLi4u
ICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjEwMzMzOiBjaGVja2lu
ZyBmb3IgJGFjX2Z1bmMiID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxMDI3ODog
Y2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwi
YGVjaG8gJyQnJ3snYWNfY3ZfZnVuY18kYWNfZnVuYycrc2V0fSdgXCIgPSBz
ZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4m
Ng0KIGVsc2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0j
bGluZSAxMDMzOCAiY29uZmlndXJlIg0KKyNsaW5lIDEwMjgzICJjb25maWd1
cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogLyogU3lzdGVtIGhlYWRl
ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw
cm90b3R5cGVzLA0KICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFy
ICRhY19mdW5jKCk7IGJlbG93LiAgKi8NCkBAIC0xMDM1Nyw3ICsxMDMwMiw3
IEBADQogDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNo
byBjb25maWd1cmU6MTAzNjE6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwg
JGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhl
ZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAzMDY6
IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0g
JiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0g
LXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfZnVuY18kYWNfZnVuYz15
ZXMiDQogZWxzZQ0KQEAgLTEwMzg3LDEyICsxMDMzMiwxMiBAQA0KIGZvciBh
Y19mdW5jIGluIHJlbWFpbmRlciByZW1haW5kZXJmIGZtb2QgZm1vZGYgZHJl
bSByaW50IGZsb29yIGNlaWwgZmluaXRlIGlzaW5mIGlzbmFuIHN0cnRvZCBt
ZXJnZXNvcnQNCiBkbw0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNf
ZnVuYyIiLi4uICRhY19jIiAxPiY2DQotZWNobyAiY29uZmlndXJlOjEwMzkx
OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQ0KK2VjaG8gImNvbmZpZ3Vy
ZToxMDMzNjogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUNCiBpZiBldmFs
ICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY18kYWNfZnVuYycrc2V0
fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAk
YWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQg
PDxFT0YNCi0jbGluZSAxMDM5NiAiY29uZmlndXJlIg0KKyNsaW5lIDEwMzQx
ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogLyogU3lz
dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1
bGx5IGZldyBwcm90b3R5cGVzLA0KICAgICB3aGljaCBjYW4gY29uZmxpY3Qg
d2l0aCBjaGFyICRhY19mdW5jKCk7IGJlbG93LiAgKi8NCkBAIC0xMDQxNSw3
ICsxMDM2MCw3IEBADQogDQogOyByZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsg
KGV2YWwgZWNobyBjb25maWd1cmU6MTA0MTk6IFwiJGFjX2xpbmtcIikgMT4m
NTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVz
dCR7YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1
cmU6MTAzNjQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmsp
IDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhl
bg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgZXZhbCAiYWNfY3ZfZnVuY18k
YWNfZnVuYz15ZXMiDQogZWxzZQ0KQEAgLTEwNDQyLDcgKzEwMzg3LDcgQEAN
CiBMSUJTPSIkS1NBVkVfTElCUyINCiANCiBlY2hvICRhY19uICJjaGVja2lu
ZyB3aGV0aGVyIGxvbmcgZGl2aXNpb24gaXMgYnJva2VuIiIuLi4gJGFjX2Mi
IDE+JjYNCi1lY2hvICJjb25maWd1cmU6MTA0NDY6IGNoZWNraW5nIHdoZXRo
ZXIgbG9uZyBkaXZpc2lvbiBpcyBicm9rZW4iID4mNQ0KK2VjaG8gImNvbmZp
Z3VyZToxMDM5MTogY2hlY2tpbmcgd2hldGhlciBsb25nIGRpdmlzaW9uIGlz
IGJyb2tlbiIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2Fj
X2N2X2xvbmdfZGl2aXNpb25fYnJva2VuJytzZXR9J2BcIiA9IHNldCI7IHRo
ZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxz
ZQ0KQEAgLTEwNDUwLDcgKzEwMzk1LDcgQEANCiAgIGFjX2N2X2xvbmdfZGl2
aXNpb25fYnJva2VuPWNyb3NzDQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3Qu
JGFjX2V4dCA8PEVPRg0KLSNsaW5lIDEwNDU0ICJjb25maWd1cmUiDQorI2xp
bmUgMTAzOTkgImNvbmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIN
CiANCiAjaW5jbHVkZSA8bGltaXRzLmg+DQpAQCAtMTA0NjMsNyArMTA0MDgs
NyBAQA0KIFQgZm9vKFQgaSwgVCBqKSB7IHJldHVybiBpIC8gajsgfQ0KIA0K
IEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA0Njc6IFwiJGFj
X2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVz
dCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhp
dCkgMj4vZGV2L251bGwNCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEw
NDEyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1
OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29u
ZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsDQogdGhlbg0KICAgYWNfY3ZfbG9u
Z19kaXZpc2lvbl9icm9rZW49bm8NCiBlbHNlDQpAQCAtMTA0ODYsNyArMTA0
MzEsNyBAQA0KIGZpDQogDQogZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhl
ciBsb25nIG1vZHVsbyBpcyBicm9rZW4iIi4uLiAkYWNfYyIgMT4mNg0KLWVj
aG8gImNvbmZpZ3VyZToxMDQ5MDogY2hlY2tpbmcgd2hldGhlciBsb25nIG1v
ZHVsbyBpcyBicm9rZW4iID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxMDQzNTog
Y2hlY2tpbmcgd2hldGhlciBsb25nIG1vZHVsbyBpcyBicm9rZW4iID4mNQ0K
IGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9sb25nX21vZHVs
b19icm9rZW4nK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNf
biAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQpAQCAtMTA0OTQsNyAr
MTA0MzksNyBAQA0KICAgYWNfY3ZfbG9uZ19tb2R1bG9fYnJva2VuPWNyb3Nz
DQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRg0KLSNs
aW5lIDEwNDk4ICJjb25maWd1cmUiDQorI2xpbmUgMTA0NDMgImNvbmZpZ3Vy
ZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiANCiAjaW5jbHVkZSA8bGlt
aXRzLmg+DQpAQCAtMTA1MDcsNyArMTA0NTIsNyBAQA0KIFQgZm9vKFQgaSwg
VCBqKSB7IHJldHVybiBpICUgajsgfQ0KIA0KIEVPRg0KLWlmIHsgKGV2YWwg
ZWNobyBjb25maWd1cmU6MTA1MTE6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2
YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNf
ZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwNCitp
ZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwNDU2OiBcIiRhY19saW5rXCIp
IDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29u
ZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rl
di9udWxsDQogdGhlbg0KICAgYWNfY3ZfbG9uZ19tb2R1bG9fYnJva2VuPW5v
DQogZWxzZQ0KQEAgLTEwNTMwLDcgKzEwNDc1LDcgQEANCiBmaQ0KIA0KIGVj
aG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgbG9uZyBsb25nIG1vZHVsbyBp
cyBicm9rZW4iIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZTox
MDUzNDogY2hlY2tpbmcgd2hldGhlciBsb25nIGxvbmcgbW9kdWxvIGlzIGJy
b2tlbiIgPiY1DQorZWNobyAiY29uZmlndXJlOjEwNDc5OiBjaGVja2luZyB3
aGV0aGVyIGxvbmcgbG9uZyBtb2R1bG8gaXMgYnJva2VuIiA+JjUNCiBpZiBl
dmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbG9uZ19sb25nX21vZHVs
b19icm9rZW4nK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNf
biAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQpAQCAtMTA1MzgsNyAr
MTA0ODMsNyBAQA0KICAgYWNfY3ZfbG9uZ19sb25nX21vZHVsb19icm9rZW49
Y3Jvc3MNCiBlbHNlDQogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9G
DQotI2xpbmUgMTA1NDIgImNvbmZpZ3VyZSINCisjbGluZSAxMDQ4NyAiY29u
ZmlndXJlIg0KICNpbmNsdWRlICJjb25mZGVmcy5oIg0KIA0KICNpbmNsdWRl
IDxsaW1pdHMuaD4NCkBAIC0xMDU1MSw3ICsxMDQ5Niw3IEBADQogVCBmb28o
VCBpLCBUIGopIHsgcmV0dXJuIGkgJSBqOyB9DQogDQogRU9GDQotaWYgeyAo
ZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDU1NTogXCIkYWNfbGlua1wiKSAxPiY1
OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0
JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVs
bA0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA1MDA6IFwiJGFjX2xp
bmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAt
cyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkg
Mj4vZGV2L251bGwNCiB0aGVuDQogICBhY19jdl9sb25nX2xvbmdfbW9kdWxv
X2Jyb2tlbj1ubw0KIGVsc2UNCkBAIC0xMDU3NCw3ICsxMDUxOSw3IEBADQog
ZmkNCiANCiBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHN0cnRvZChc
Ii0wLjBcIikgaXMgYnJva2VuIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJj
b25maWd1cmU6MTA1Nzg6IGNoZWNraW5nIHdoZXRoZXIgc3RydG9kKFwiLTAu
MFwiKSBpcyBicm9rZW4iID4mNQ0KK2VjaG8gImNvbmZpZ3VyZToxMDUyMzog
Y2hlY2tpbmcgd2hldGhlciBzdHJ0b2QoXCItMC4wXCIpIGlzIGJyb2tlbiIg
PiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3N0cnRv
ZF9tMF9icm9rZW4nK3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAk
YWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQpAQCAtMTA1ODIs
NyArMTA1MjcsNyBAQA0KICAgYWNfY3Zfc3RydG9kX20wX2Jyb2tlbj1jcm9z
cw0KIGVsc2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0j
bGluZSAxMDU4NiAiY29uZmlndXJlIg0KKyNsaW5lIDEwNTMxICJjb25maWd1
cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogDQogI2luY2x1ZGUgPHN0
ZGxpYi5oPg0KQEAgLTEwNjMxLDcgKzEwNTc2LDcgQEANCiB9DQogDQogRU9G
DQotaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDYzNTogXCIkYWNfbGlu
a1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1z
IGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAy
Pi9kZXYvbnVsbA0KK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA1ODA6
IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0g
JiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVz
dDsgZXhpdCkgMj4vZGV2L251bGwNCiB0aGVuDQogICBhY19jdl9zdHJ0b2Rf
bTBfYnJva2VuPW5vDQogZWxzZQ0KQEAgLTEwNjU2LDEyICsxMDYwMSwxMiBA
QA0KIGZvciBhY19mdW5jIGluIHN0cmVycm9yIGhzdHJlcnJvciBmY250bCBp
b2N0bCBhbGFybSBzZXRpdGltZXIgc2lncHJvY21hc2sgc2lnc2V0bWFzayBz
aWdlbXB0eXNldCBzaWdhZGRzZXQgc2lnbmFsIHNpZ2FjdGlvbiBzYnJrIHZh
bGxvYyBtZW1hbGlnbiBtYWxsb3B0IG1wcm90ZWN0IG1hZHZpc2Ugd2FpdHBp
ZCBraWxsIGZvcmsgZXhlY3ZlIGV4ZWN2cCBzeW5jIGZzeW5jIGF0ZXhpdCBv
bl9leGl0IHZzbnByaW50ZiBzbnByaW50ZiANCiBkbw0KIGVjaG8gJGFjX24g
ImNoZWNraW5nIGZvciAkYWNfZnVuYyIiLi4uICRhY19jIiAxPiY2DQotZWNo
byAiY29uZmlndXJlOjEwNjYwOiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4m
NQ0KK2VjaG8gImNvbmZpZ3VyZToxMDYwNTogY2hlY2tpbmcgZm9yICRhY19m
dW5jIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zf
ZnVuY18kYWNfZnVuYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hv
ICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNhdCA+
IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMDY2NSAiY29uZmln
dXJlIg0KKyNsaW5lIDEwNjEwICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNv
bmZkZWZzLmgiDQogLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi
IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KICAgICB3
aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyICRhY19mdW5jKCk7IGJlbG93
LiAgKi8NCkBAIC0xMDY4NCw3ICsxMDYyOSw3IEBADQogDQogOyByZXR1cm4g
MDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA2ODg6
IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0g
JiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbg0KK2lmIHsg
KGV2YWwgZWNobyBjb25maWd1cmU6MTA2MzM6IFwiJGFjX2xpbmtcIikgMT4m
NTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVz
dCR7YWNfZXhlZXh0fTsgdGhlbg0KICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAg
ZXZhbCAiYWNfY3ZfZnVuY18kYWNfZnVuYz15ZXMiDQogZWxzZQ0KQEAgLTEw
NzExLDE5ICsxMDY1NiwxOSBAQA0KIA0KIGlmIHRlc3QgIiRLaG9zdF9jcHUi
ID0gImFscGhhIiA7IHRoZW4NCiAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZv
ciBhbHBoYSBzdXBwb3J0IG9mIGFtYXNrIGluc3RydWN0aW9uIiIuLi4gJGFj
X2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6MTA3MTU6IGNoZWNraW5nIGZv
ciBhbHBoYSBzdXBwb3J0IG9mIGFtYXNrIGluc3RydWN0aW9uIiA+JjUNCitl
Y2hvICJjb25maWd1cmU6MTA2NjA6IGNoZWNraW5nIGZvciBhbHBoYSBzdXBw
b3J0IG9mIGFtYXNrIGluc3RydWN0aW9uIiA+JjUNCiBpZiBldmFsICJ0ZXN0
IFwiYGVjaG8gJyQnJ3snYWNfY3ZfYWxwaGFfYXNtX2FtYXNrJytzZXR9J2Bc
IiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19j
IiAxPiY2DQogZWxzZQ0KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVP
Rg0KLSNsaW5lIDEwNzIwICJjb25maWd1cmUiDQorI2xpbmUgMTA2NjUgImNv
bmZpZ3VyZSINCiAjaW5jbHVkZSAiY29uZmRlZnMuaCINCiANCiBpbnQgbWFp
bigpIHsNCiAgbG9uZyByOyBfX2FzbV9fKCJhbWFzayAxLCUwIiA6ICI9ciIo
cikpOyByZXR1cm4gIXI7IA0KIDsgcmV0dXJuIDA7IH0NCiBFT0YNCi1pZiB7
IChldmFsIGVjaG8gY29uZmlndXJlOjEwNzI3OiBcIiRhY19jb21waWxlXCIp
IDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuDQoraWYg
eyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDY3MjogXCIkYWNfY29tcGlsZVwi
KSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbg0KICAg
cm0gLXJmIGNvbmZ0ZXN0Kg0KICAgYWNfY3ZfYWxwaGFfYXNtX2FtYXNrPXll
cw0KIGVsc2UNCkBAIC0xMDc0OCwxMiArMTA2OTMsMTIgQEANCiANCiANCiBl
Y2hvICRhY19uICJjaGVja2luZyBmb3IgZGVjbGFyYXRpb24gb2Ygc2VsZWN0
IiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6MTA3NTI6IGNo
ZWNraW5nIGZvciBkZWNsYXJhdGlvbiBvZiBzZWxlY3QiID4mNQ0KK2VjaG8g
ImNvbmZpZ3VyZToxMDY5NzogY2hlY2tpbmcgZm9yIGRlY2xhcmF0aW9uIG9m
IHNlbGVjdCIgPiY1DQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2Fj
X2N2X2RlY2xhcmVkX3NlbGVjdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuDQog
ICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNg0KIGVsc2UNCiAg
IGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YNCi0jbGluZSAxMDc1NyAi
Y29uZmlndXJlIg0KKyNsaW5lIDEwNzAyICJjb25maWd1cmUiDQogI2luY2x1
ZGUgImNvbmZkZWZzLmgiDQogDQogI2lmZGVmIEhBVkVfVU5JU1REX0gNCkBA
IC0xMDc3MCw3ICsxMDcxNSw3IEBADQogIHZvaWQgKmZvbyA9IHNlbGVjdDsg
DQogOyByZXR1cm4gMDsgfQ0KIEVPRg0KLWlmIHsgKGV2YWwgZWNobyBjb25m
aWd1cmU6MTA3NzQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFj
X2NvbXBpbGUpIDI+JjU7IH07IHRoZW4NCitpZiB7IChldmFsIGVjaG8gY29u
ZmlndXJlOjEwNzE5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRh
Y19jb21waWxlKSAyPiY1OyB9OyB0aGVuDQogICBybSAtcmYgY29uZnRlc3Qq
DQogICBhY19jdl9kZWNsYXJlZF9zZWxlY3Q9eWVzDQogZWxzZQ0KQEAgLTEw
NzkzLDEyICsxMDczOCwxMiBAQA0KIA0KIA0KIGVjaG8gJGFjX24gImNoZWNr
aW5nIGZvciBkZWNsYXJhdGlvbiBvZiBzd2FiIiIuLi4gJGFjX2MiIDE+JjYN
Ci1lY2hvICJjb25maWd1cmU6MTA3OTc6IGNoZWNraW5nIGZvciBkZWNsYXJh
dGlvbiBvZiBzd2FiIiA+JjUNCitlY2hvICJjb25maWd1cmU6MTA3NDI6IGNo
ZWNraW5nIGZvciBkZWNsYXJhdGlvbiBvZiBzd2FiIiA+JjUNCiBpZiBldmFs
ICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZGVjbGFyZWRfc3dhYicrc2V0
fSdgXCIgPSBzZXQiOyB0aGVuDQogICBlY2hvICRhY19uICIoY2FjaGVkKSAk
YWNfYyIgMT4mNg0KIGVsc2UNCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQg
PDxFT0YNCi0jbGluZSAxMDgwMiAiY29uZmlndXJlIg0KKyNsaW5lIDEwNzQ3
ICJjb25maWd1cmUiDQogI2luY2x1ZGUgImNvbmZkZWZzLmgiDQogDQogI2lm
ZGVmIEhBVkVfVU5JU1REX0gNCkBAIC0xMDgxMiw3ICsxMDc1Nyw3IEBADQog
IHZvaWQgKmZvbyA9IHN3YWI7IA0KIDsgcmV0dXJuIDA7IH0NCiBFT0YNCi1p
ZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwODE2OiBcIiRhY19jb21waWxl
XCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuDQor
aWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDc2MTogXCIkYWNfY29tcGls
ZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbg0K
ICAgcm0gLXJmIGNvbmZ0ZXN0Kg0KICAgYWNfY3ZfZGVjbGFyZWRfc3dhYj15
ZXMNCiBlbHNlDQpAQCAtMTA4OTgsNyArMTA4NDMsNyBAQA0KICAgIyBFeHRy
YWN0IHRoZSBmaXJzdCB3b3JkIG9mICJrYWZmZWgiLCBzbyBpdCBjYW4gYmUg
YSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLg0KIHNldCBkdW1teSBrYWZmZWg7
IGFjX3dvcmQ9JDINCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dv
cmQiIi4uLiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZToxMDkwMjog
Y2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUNCitlY2hvICJjb25maWd1cmU6
MTA4NDc6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1DQogaWYgZXZhbCAi
dGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3BhdGhfS0FGRkVIJytzZXR9J2Bc
IiA9IHNldCI7IHRoZW4NCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19j
IiAxPiY2DQogZWxzZQ0KQEAgLTEwOTc1LDcgKzEwOTIwLDcgQEANCiANCiAN
CiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgcGF0aCBzZXBhcmF0b3IiIi4u
LiAkYWNfYyIgMT4mNg0KLWVjaG8gImNvbmZpZ3VyZToxMDk3OTogY2hlY2tp
bmcgZm9yIHBhdGggc2VwYXJhdG9yIiA+JjUNCitlY2hvICJjb25maWd1cmU6
MTA5MjQ6IGNoZWNraW5nIGZvciBwYXRoIHNlcGFyYXRvciIgPiY1DQogaWYg
ZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2thZmZlX3BhdGhzZXAn
K3NldH0nYFwiID0gc2V0IjsgdGhlbg0KICAgZWNobyAkYWNfbiAiKGNhY2hl
ZCkgJGFjX2MiIDE+JjYNCiBlbHNlDQpAQCAtMTA5OTIsNyArMTA5MzcsNyBA
QA0KIA0KIA0KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBkaXJlY3Rvcnkg
c2VwYXJhdG9yIiIuLi4gJGFjX2MiIDE+JjYNCi1lY2hvICJjb25maWd1cmU6
MTA5OTY6IGNoZWNraW5nIGZvciBkaXJlY3Rvcnkgc2VwYXJhdG9yIiA+JjUN
CitlY2hvICJjb25maWd1cmU6MTA5NDE6IGNoZWNraW5nIGZvciBkaXJlY3Rv
cnkgc2VwYXJhdG9yIiA+JjUNCiBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQn
J3snYWNfY3Zfa2FmZmVfZGlyc2VwJytzZXR9J2BcIiA9IHNldCI7IHRoZW4N
CiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2DQogZWxzZQ0K
QEAgLTExMjkwLDYgKzExMjM1LDcgQEANCiBzJUBlbmdpbmVfZnJhZ0AlJWcN
CiBzJUBFTkFCTEVfWFBST0ZfVFJVRUAlJEVOQUJMRV9YUFJPRl9UUlVFJWcN
CiBzJUBFTkFCTEVfWFBST0ZfRkFMU0VAJSRFTkFCTEVfWFBST0ZfRkFMU0Ul
Zw0KK3MlQENPTkZJR19YUFJPRklMRV9NRF9IQCUkQ09ORklHX1hQUk9GSUxF
X01EX0glZw0KIHMlQE5FRURfTElCWFBST0ZfVFJVRUAlJE5FRURfTElCWFBS
T0ZfVFJVRSVnDQogcyVATkVFRF9MSUJYUFJPRl9GQUxTRUAlJE5FRURfTElC
WFBST0ZfRkFMU0UlZw0KIHMlQFNVTl9DT01QQVRfVFJVRUAlJFNVTl9DT01Q
QVRfVFJVRSVnDQpJbmRleDogY29uZmlndXJlLmluDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQpSQ1MgZmlsZTogL2N2cy9rYWZmZS9rYWZmZS9jb25maWd1
cmUuaW4sdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjE1OQ0KZGlmZiAtdSAt
cjEuMTU5IGNvbmZpZ3VyZS5pbg0KLS0tIGNvbmZpZ3VyZS5pbgkxMSBNYXkg
MjAwMiAxNzowMzoxNyAtMDAwMAkxLjE1OQ0KKysrIGNvbmZpZ3VyZS5pbgky
NyBNYXkgMjAwMiAwOToxOTo0OSAtMDAwMA0KQEAgLTM0Niw2ICszNDYsMTUg
QEANCiBkbmwgRU5BQkxFX1hQUk9GIGNvbnRyb2xzIGluc3RhbGxhdGlvbiBv
ZiB4cHJvZiBzY3JpcHRzIGluIGthZmZlL3NjcmlwdHMvTWFrZWZpbGUuYW0N
CiBBTV9DT05ESVRJT05BTChFTkFCTEVfWFBST0YsIHRlc3QgeCIkZW5hYmxl
X3hwcm9maWxpbmciID0geCJ5ZXMiKQ0KIA0KK2lmIHRlc3QgeCIkZW5hYmxl
X3hwcm9maWxpbmciID0geCJ5ZXMiOyB0aGVuDQorICBpZiB0ZXN0IC1mICIk
c3JjZGlyL2NvbmZpZy8kS2hvc3RfY3B1LyRLaG9zdF9vcy94cHJvZmlsZS1t
ZC5oIjsgdGhlbg0KKyAgICBDT05GSUdfWFBST0ZJTEVfTURfSD0iXCQodG9w
X3NyY2RpcikvY29uZmlnLyRLaG9zdF9jcHUvJEtob3N0X29zL3hwcm9maWxl
LW1kLmgiDQorICAgIEFDX1NVQlNUKENPTkZJR19YUFJPRklMRV9NRF9IKQ0K
KyAgZWxzZQ0KKyAgICBBQ19NU0dfRVJST1IoUHJvZmlsaW5nIG5vdCBzdXBw
b3J0ZWQgaW4gJEtob3N0X2NwdS0kS2hvc3Rfb3MpDQorICBmaQ0KK2ZpDQor
DQogZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiBkbmwgQWxs
b3cgc3VwcG9ydCBmb3IgZGVidWdnaW5nIG9mIEMvaml0dGVkIGNvZGUNCiBk
bmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KSW5kZXg6IGthZmZl
L3NjcmlwdHMva2FmZmV4cHJvZi5pbg0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KUkNTIGZpbGU6IC9jdnMva2FmZmUva2FmZmUva2FmZmUvc2NyaXB0cy9r
YWZmZXhwcm9mLmluLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xDQpkaWZm
IC11IC1yMS4xIGthZmZleHByb2YuaW4NCi0tLSBrYWZmZS9zY3JpcHRzL2th
ZmZleHByb2YuaW4JMjMgTWF5IDIwMDAgMTc6NTU6MzcgLTAwMDAJMS4xDQor
Kysga2FmZmUvc2NyaXB0cy9rYWZmZXhwcm9mLmluCTI3IE1heSAyMDAyIDA5
OjE5OjUzIC0wMDAwDQpAQCAtMjAsNyArMjAsNyBAQA0KIGV4ZWNfcHJlZml4
PSJAZXhlY19wcmVmaXhAIg0KIA0KIGlmIHRlc3QgLWYgIiQxLnMiOyB0aGVu
DQotICAgICROTSAtbiBAbGliZXhlY2RpckAvQEthZmZlX1RSQU5TRkAgfCAk
QVdLIC1mIEBiaW5kaXJAL25tMmFzLmF3ayB8IGNhdCAtICQxLnMgfCAkQVMg
LSAtbyAkMQ0KKyAgICAkTk0gLW4gQGpyZWJpbmRpckAvQEthZmZlX1RSQU5T
RkAgfCAkQVdLIC1mIEBiaW5kaXJAL25tMmFzLmF3ayB8IGNhdCAtICQxLnMg
fCAkQVMgLSAtbyAkMQ0KICAgICAkR1BST0YgJDEgJDINCiBlbHNlDQogICAg
IGVjaG8gIkNhbid0IGZpbmQgYXNzZW1ibGVyIGZpbGUgJDEucyINCkluZGV4
OiBrYWZmZS9zY3JpcHRzL25tMmFzLmF3aw0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KUkNTIGZpbGU6IC9jdnMva2FmZmUva2FmZmUva2FmZmUvc2NyaXB0
cy9ubTJhcy5hd2ssdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjENCmRpZmYg
LXUgLXIxLjEgbm0yYXMuYXdrDQotLS0ga2FmZmUvc2NyaXB0cy9ubTJhcy5h
d2sJMjMgTWF5IDIwMDAgMTc6NTU6MzcgLTAwMDAJMS4xDQorKysga2FmZmUv
c2NyaXB0cy9ubTJhcy5hd2sJMjcgTWF5IDIwMDIgMDk6MTk6NTMgLTAwMDAN
CkBAIC03LDcgKzcsNyBAQA0KIH0NCiANCiAvWzAtOV0vIHsNCi0JaWYoICQx
ICE9ICJVIiApDQorCWlmKCAkMSAhPSAiVSIgJiYgJDEgIT0gInciICkNCiAJ
ew0KIAkJcHJpbnRmKCIud2VhayAlc1xuIiwgJDMpOw0KIAkJcHJpbnRmKCIl
cyA9IDB4JXNcbiIsICQzLCAkMSk7DQo=
---559023410-342241519-1022592102=:21598--