[208325] in Zephyr_Bugs

home help back first fref pref prev next nref lref last post

Re: Shipping doc confirm your address before shipping..

daemon@ATHENA.MIT.EDU (Dhl Courier Service)
Thu May 5 15:05:20 2016

To: undisclosed-recipients:;
Message-ID: <59.DF.24434.D699B275@dmz-mailsec-scanner-8.mit.edu>
Reply-To: <test@njxzc.edu.cn>
From: "Dhl Courier Service"<dhlcourierservice@dh.com>
Date: Thu, 5 May 2016 20:05:05 +0100
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_00B7_01C2A9A6.1261ACC0"

This is a multi-part message in MIME format.

------=_NextPart_000_00B7_01C2A9A6.1261ACC0
Content-Type: text/plain;
	charset="Windows-1251"
Content-Transfer-Encoding: 7bit

Hello

How was your weekend. Pls find attached Shipping documents/Invoice and copy a of DHL receipt for your tracking. Please confirm accordingly if your address is correct, before we submit to our outlet office for dispatch to your destination tomorrow.
Regards,

2016 © DHL International GmbH. All rights reserved.
Dhl line Corporate
Office.(800) 321-8807

------=_NextPart_000_00B7_01C2A9A6.1261ACC0
Content-Type: application/octet-stream;
	name="Shipping Doc (1) (1).htm"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="Shipping Doc (1) (1).htm"

DQo8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4w
MSBUcmFuc2l0aW9uYWwvL0VOIj4NCg0KDQoNCg0KDQo8aHRtbCBsYW5nPSJl
biI+DQo8SEVBRD4NCjxNRVRBIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPg0KPE1F
VEEgbmFtZT0iR0VORVJBVE9SIiBjb250ZW50PSJJQk0gV2ViU3BoZXJlIFN0
dWRpbyI+DQo8TUVUQSBodHRwLWVxdWl2PSJDb250ZW50LVN0eWxlLVR5cGUi
IGNvbnRlbnQ9InRleHQvY3NzIj4NCjxUSVRMRT4gREhMfCBUcmFja2lubmc8
L1RJVExFPg0KDQo8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0
dHA6Ly93d3cuZGhsLmNvbS9pbWcvZmF2aWNvbi5naWYiIHR5cGU9ImltYWdl
L2dpZiI+DQo8bWV0YSBodHRwLWVxdWl2PSJwcmFnbWEiIGNvbnRlbnQ9Im5v
LWNhY2hlIj4NCjxtZXRhIGh0dHAtZXF1aXY9ImNhY2hlLWNvbnRyb2wiIGNv
bnRlbnQ9Im5vLWNhY2hlIj4NCg0KDQoNCg0KPGlucHV0IHR5cGU9ImhpZGRl
biIgdmFsdWU9Ik1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDYuMzsgV09XNjQ7
IHJ2OjMyLjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMzIuMCIgLz4NCg0K
DQoJPGxpbmsgaHJlZj0iaHR0cHM6Ly9teWFjY291bnQuZGhsLmNvbS9NeUFj
Y291bnQvY29tbW9uL1N0eWxlU2hlZXRfbW96LmNzcz92PTEiIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPg0KCTxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iaHR0cHM6Ly9teWFjY291bnQuZGhsLmNvbS9NeUFjY291
bnQvY29tbW9uL2dlbmVyYWxfbW96LmNzcz92PTEiIHR5cGU9InRleHQvY3Nz
Ij4NCg0KDQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9Imh0
dHBzOi8vbXlhY2NvdW50LmRobC5jb20vTXlBY2NvdW50L2pzL2pxdWVyeS5t
aW4uanM/dj0xIj48L3NjcmlwdD4NCgkNCjxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgCWhyZWY9Imh0dHBzOi8vbXlhY2NvdW50LmRobC5jb20vTXlBY2NvdW50
L2pzL2pxdWVyeS11aS5jc3M/dj0xIiAJdHlwZT0idGV4dC9jc3MiIG1lZGlh
PSJzY3JlZW4iIC8+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
CXNyYz0iaHR0cHM6Ly9teWFjY291bnQuZGhsLmNvbS9NeUFjY291bnQvanMv
anF1ZXJ5LXVpLmpzP3Y9MSI+PC9zY3JpcHQ+DQoNCg0KPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9teWFjY291bnQuZGhs
LmNvbS9NeUFjY291bnQvanMvdGFibGVzb3J0ZXIvanF1ZXJ5LnRhYmxlc29y
dGVyLm1pbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJodHRwczovL215YWNjb3VudC5kaGwuY29tL015QWNj
b3VudC9qcy90YWJsZWZpbHRlci9waWNuZXQudGFibGUuZmlsdGVyLm1pbi5q
cyI+PC9zY3JpcHQ+DQoNCjwhLS0gU3R1ZmYgbmVlZGVkIGZvciBiZWF1dHlU
aXBzKHRvb2x0aXBzKSAtLT4NCjwhLS1baWYgSUVdPjxzY3JpcHQgc3JjPSJo
dHRwczovL215YWNjb3VudC5kaGwuY29tL015QWNjb3VudC9qcy9leGNhbnZh
cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+
PC9zY3JpcHQ+PCFbZW5kaWZdLS0+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgCXNyYz0iaHR0cHM6Ly9teWFjY291bnQuZGhsLmNvbS9NeUFj
Y291bnQvanMvanF1ZXJ5LmJ0Lm1pbi5qcz92PTEiPjwvc2NyaXB0PiANCjwh
LS0gL1N0dWZmIG5lZWRlZCBmb3IgYmVhdXR5VGlwcyh0b29sdGlwcykgIC0t
Pg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRw
czovL215YWNjb3VudC5kaGwuY29tL015QWNjb3VudC9qcy9qaHRtbGFyZWEv
c2NyaXB0cy9qSHRtbEFyZWEtMC43LjUubWluLmpzIj48L3NjcmlwdD4NCjxs
aW5rIHJlbD0iU3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0
dHBzOi8vbXlhY2NvdW50LmRobC5jb20vTXlBY2NvdW50L2pzL2podG1sYXJl
YS9zdHlsZS9qSHRtbEFyZWEuY3NzIiAvPg0KPGxpbmsgcmVsPSJTdHlsZXNo
ZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cHM6Ly9teWFjY291bnQu
ZGhsLmNvbS9NeUFjY291bnQvanMvamh0bWxhcmVhL3N0eWxlL2pIdG1sQXJl
YS5FZGl0b3IuY3NzIiAvPg0KDQo8aGVhZD4NCg0KDQo8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+ICB2YXIgY2hpbGRXaW5kb3c9IG51bGw7DQpm
dW5jdGlvbiBmbmdldGRhdGUoKQ0KDQp7DQogICAgbm93ZGF0ZSA9IG5ldyBE
YXRlKCk7DQogICAgZGF5ID0gbm93ZGF0ZS5nZXREYXkoKTsNCiAgICBkYXRl
bnVtID0gbm93ZGF0ZS5nZXREYXRlKCk7DQogICAgaWYoIGRhdGVudW0gPCAx
MCApDQogICAgICAgIGRhdGVudW0gPSAiMCIgKyBkYXRlbnVtOw0KICAgICAg
ICBtb250aCA9IG5vd2RhdGUuZ2V0TW9udGgoKSArIDE7DQogICAgICAgIGlm
KCBtb250aCA8IDEwICkNCiAgICAgICAgICAgIG1vbnRoID0gIjAiICsgbW9u
dGg7DQogICAgICAgICAgICB5ZWFyID0gbm93ZGF0ZS5nZXRZZWFyKCk7DQog
ICAgICAgICAgICBpZiggeWVhciA8IDIwMDAgKQ0KCQkJCXllYXIgKz0gMTkw
MDsNCgkJCQlob3VyID0gbm93ZGF0ZS5nZXRIb3VycygpOw0KICAgICAgICAg
ICAgICAgIGlmKCBob3VyIDwgMTAgKQ0KCQkJCQlob3VyID0gIjAiICsgaG91
cjsNCgkJCQkJbWludXRlID0gbm93ZGF0ZS5nZXRNaW51dGVzKCk7DQoJCQkJ
CWlmKCBtaW51dGUgPCAxMCApDQoJCQkJCQltaW51dGUgPSAiMCIgKyBtaW51
dGU7DQoJCQkJCQlzZWNvbmRzID0gbm93ZGF0ZS5nZXRTZWNvbmRzKCk7DQoJ
CQkJCQlpZiAoIHNlY29uZHMgPCAxMCApDQoJCQkJCQkJc2Vjb25kcyA9ICIw
IiArIHNlY29uZHM7DQogICAgICAgICAgICB2YXIgZGF0ZTsNCiAgICAgICAg
ICAgIGlmKCBkYXkgPT0gMCApDQogICAgICAgICAgICAgICAgZGF0ZSA9ICJT
dW4iOw0KICAgICAgICAgICAgZWxzZSBpZiggZGF5ID09IDEgKQ0KICAgICAg
ICAgICAgICAgICAgICBkYXRlID0gIk1vbiI7DQogICAgICAgICAgICBlbHNl
IGlmKCBkYXkgPT0gMiApDQogICAgICAgICAgICAgICAgZGF0ZSA9ICJUdWUi
Ow0KICAgICAgICAgICAgZWxzZSBpZiggZGF5ID09IDMgKQ0KICAgICAgICAg
ICAgICAgIGRhdGUgPSAiV2VkIjsNCiAgICAgICAgICAgIGVsc2UgaWYoIGRh
eSA9PSA0ICkNCiAgICAgICAgICAgICAgICBkYXRlID0gIlRodSI7DQogICAg
ICAgICAgICBlbHNlIGlmKCBkYXkgPT0gNSApDQogICAgICAgICAgICAgICAg
IGRhdGUgPSAiRnJpIjsNCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAg
ICAgICAgZGF0ZSA9ICJTYXQiOw0KDQogICAgICAgICAgICBkYXRlICs9ICIs
ICIgKyBkYXRlbnVtDQogICAgICAgICAgICAgICAgICArICAiLyIgICArIG1v
bnRoDQogICAgICAgICAgICAgICAgICArICAiLyIgICArIHllYXINCiAgICAg
ICAgICAgICAgICAgICsgICIgICIgICsgaG91cg0KICAgICAgICAgICAgICAg
ICAgKyAgIjoiICAgKyBtaW51dGUNCiAgICAgICAgICAgICAgICAgICsgICI6
IiAgICsgc2Vjb25kczsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgcmV0
dXJuIGRhdGU7DQogICAgICAgIH0NCg0KDQogICAgLy8gRnVuY3Rpb24gdG8g
bG9nb3V0DQogICAgZnVuY3Rpb24gZm5Mb2dvdXQoKQ0KICAgIHsNCiAgICAg
ICAvL3BhcmVudC53aW5kb3cubG9jYXRpb249ICIuLi9sb2dvdXRBY3Rpb24u
ZG8iOw0KICAgIH0NCg0KDQovLyBGdW5jdGlvbiB0byBzdWJtaXQgdGhlIGZv
cm0gaWYgZW50ZXIga2V5IGlzIHByZXNzZWQNCmZ1bmN0aW9uIGZuU3VibWl0
T25FbnRlciAoIGZpZWxkLCBldnQgKQ0Kew0KICAgIHZhciBrZXlDb2RlID0g
ZG9jdW1lbnQubGF5ZXJzID8gZXZ0LndoaWNoIDogZG9jdW1lbnQuYWxsID8N
CiAgICBldnQua2V5Q29kZSA6IGV2dC5rZXlDb2RlOw0KICAgIGlmIChrZXlD
b2RlICE9IDEzKQ0KICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICB7
DQogICAgICBmblN1Ym1pdCgpOw0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAg
IH0NCn0NCg0KDQovLyBGdW5jdGlvbiB0byBUcmltIGFsbCB0aGUgbGVmdCBo
YW5kIHNpZGUgemVyb2VzDQpmdW5jdGlvbiB0cmltWmVyb2VzICggdmFsKQ0K
ew0KICAgIGlmICggZm5UcmltKCB2YWwgKS5sZW5ndGggID09IDAgfHwgdmFs
ID09ICIiICkNCiAgICB7DQogICAgICAgIHJldHVybiB2YWw7DQogICAgfQ0K
ICAgIHZhciB4PTAseT0wLHc9MCxjdHI9MDsNCiAgICB2YXIgeiA9IHZhbC5s
ZW5ndGg7DQoNCiAgICBmb3IgKCB5PTA7IHkgPCB6OyB5KyspDQogICAgew0K
ICAgICAgICAgeCA9IHZhbC5zdWJzdHJpbmcoeSx5KzEpDQogICAgICAgICB3
ID0gdmFsLnN1YnN0cmluZyh5KzEseSsyKQ0KICAgICAgICAgLy9pZiAoIHgg
PT0gMCAmJiB3ICE9ICIuIiApDQoJCS8vCSBwcmludDsNCiAgICAgICAgIC8v
ICBjdHIrKzsNCiAgICAgICAgIC8vZWxzZQ0KICAgICAgICAgLy8gIGJyZWFr
Ow0KICAgIH0NCiAgICByZXR1cm4gdmFsLnN1YnN0cmluZyhjdHIpOw0KDQp9
DQoNCi8vIEZ1bmN0aW9uIHRvIHByaW50IHRoZSBzY3JlZW4NCmZ1bmN0aW9u
IGZuUHJpbnQoKQ0Kew0KICBwYXJlbnQubWFpbkZyYW1lLmZvY3VzKCk7DQog
IHBhcmVudC5tYWluRnJhbWUucHJpbnQoKTt9DQoNCmZ1bmN0aW9uIGZuTWFp
bkZyYW1lUHJpbnQoICkNCnsNCiAgcGFyZW50Lm1haW5GcmFtZS5mb2N1cygp
Ow0KICBwYXJlbnQubWFpbkZyYW1lLnByaW50KCk7DQp9DQoNCg0KLy8gRnVu
Y3Rpb24gdG8gZ28gYmFjayB0byB0aGUgcHJldmlvdXMgc2NyZWVuDQpmdW5j
dGlvbiBmbkNhbmNlbEJ1dHRvbigpDQp7DQogICAgd2luZG93Lmhpc3Rvcnku
Z28oLTEpOw0KfQ0KDQpmdW5jdGlvbiBmbkNhbmNlbChwYWdlTmFtZSkNCnsN
Cg0KCWlmKHBhZ2VOYW1lID09ICdBY2NvdW50RGV0YWlscycpDQoJew0KCSAg
ICB3aW5kb3cuaGlzdG9yeS5nbygtMSk7DQoJfQ0KCWVsc2UgDQoJew0KCQls
b2NhdGlvbi5ocmVmPSJBY2NvdW50RGV0YWlscy5odG1sIjsJCQ0KCX0NCn0N
Cg0KDQovLyBGdW5jdGlvbiB0byB0cmltIHRoZSB2YWx1ZQ0KZnVuY3Rpb24g
Zm5UcmltKCBmaWVsZFZhbHVlICkNCnsNCiAgICB2YXIgY250Ow0KICAgIHZh
ciBsZW47DQoNCiAgICBmVmFsID0gZmllbGRWYWx1ZS50b1N0cmluZyggKTsN
Cg0KICAgIC8vIE9idGFpbiB0aGUgbGVuZ3RoIGFuZCB0aGUgc3RyaW5nDQog
ICAgbGVuID0gZlZhbC5sZW5ndGg7DQogICAgc3RyID0gZlZhbDsNCg0KICAg
IC8vT2J0YWluIHRoZSBpbmRleCBhdCB3aGljaCB0aGUgc3RyaW5nIGJlZ2lu
cw0KICAgIGJlZ2luID0gLTE7DQogICAgZm9yKGNudD0wO2NudCA8IGxlbjtj
bnQrKykNCiAgICB7DQogICAgICAgIGlmICggc3RyLmNoYXJBdCggY250ICkg
PT0gIiAiICkNCiAgICAgICAgICAgIGJlZ2luID0gY250Ow0KICAgICAgICBl
bHNlDQogICAgICAgICAgICBicmVhazsNCiAgICB9DQoNCiAgICAvLyBFeHRy
YWN0IHRoZSBlbnRpcmUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgZnJvbSB0aGUg
bGFzdCB0cmFpbGluZyBzcGFjZQ0KICAgIHN0ciA9IHN0ci5zdWJzdHJpbmco
IGJlZ2luICsgMSwgbGVuICk7DQogICAgbGVuID0gc3RyLmxlbmd0aDsNCiAg
ICBlbmQgPSBsZW47DQoNCiAgICAvLyBMb2NhdGUgdGhlIGZpcnN0IGxlYWRp
bmcgc3BhY2UNCiAgICBmb3IoIGNudCA9IGxlbiAtIDE7IGNudCA+PSAwOyBj
bnQtLSApDQogICAgew0KICAgICAgICBpZiAoIHN0ci5jaGFyQXQoIGNudCAp
ID09ICIgIiApDQogICAgICAgICAgICBlbmQgPSBjbnQ7DQogICAgICAgIGVs
c2UNCiAgICAgICAgICAgIGJyZWFrOw0KICAgIH0NCg0KICAgIC8vIEV4dHJh
Y3QgdGhlIGFjdHVhbCBzdHJpbmcNCiAgICBzdHIgPSBzdHIuc3Vic3RyaW5n
KCAwLCBlbmQgKTsNCiAgICByZXR1cm4gc3RyOw0KfQ0KDQoNCmZ1bmN0aW9u
IGZuVHJpbVdoaXRlU3BhY2VzIChzSW5wdXQsIGlTaWRlKQ0Kew0KDQogICAg
dmFyIHNUZW1wID0gIiI7DQogICAgdmFyIGNDaGFyID0gIiI7DQogICAgdmFy
IGlDb3VudCA9ICIiOw0KICAgIHZhciBTSU5HTEVfQkxBTksgPSAiICI7DQog
ICAgdmFyIFNJTkdMRV9UQUIgPSAiXHQiOw0KICAgIHZhciBORVdfTElORSA9
ICJcbiI7DQogICAgdmFyIENBUlJJQUdFX1JFVFVSTiA9ICJcciI7DQogICAg
dmFyIGlJbnB1dFdpZHRoID0gMDsNCg0KICAgIGlJbnB1dFdpZHRoID0gc0lu
cHV0Lmxlbmd0aDsNCg0KICAgIHN3aXRjaCAoaVNpZGUpDQogICAgew0KICAg
IGNhc2UgMDoNCiAgICAgICAgLy9sZWZ0IHRyaW0NCiAgICAgICAgZm9yIChp
Q291bnQgPSAwOyBpQ291bnQgPCBpSW5wdXRXaWR0aDsgaUNvdW50KyspDQog
ICAgICAgIHsNCiAgICAgICAgICAgIGNDaGFyID0gc0lucHV0LmNoYXJBdCAo
aUNvdW50KTsNCiAgICAgICAgICAgIGlmICggKFNJTkdMRV9CTEFOSyAhPSBj
Q2hhcikgJiYgKFNJTkdMRV9UQUIgIT0gY0NoYXIpICYmIA0KICAgICAgICAg
ICAgICAgICAoTkVXX0xJTkUgIT0gY0NoYXIpICYmIChDQVJSSUFHRV9SRVRV
Uk4gIT0gY0NoYXIpICkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAg
ICBzVGVtcCA9IHNJbnB1dC5zdWJzdHJpbmcgKGlDb3VudCwgaUlucHV0V2lk
dGgpOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgfQ0K
ICAgICAgICB9DQogICAgICAgIGJyZWFrOw0KICAgIGNhc2UgMToNCiAgICAg
ICAgLy9yaWdodCB0cmltDQogICAgICAgIGZvciAoaUNvdW50ID0gaUlucHV0
V2lkdGggLSAxOyBpQ291bnQgPj0gMCA7IGlDb3VudC0tKQ0KICAgICAgICB7
DQogICAgICAgICAgICBjQ2hhciA9IHNJbnB1dC5jaGFyQXQgKGlDb3VudCk7
DQogICAgICAgICAgICBpZiAoIChjQ2hhciAhPSBTSU5HTEVfQkxBTkspICYm
IChjQ2hhciAhPSBTSU5HTEVfVEFCKSAmJiANCiAgICAgICAgICAgICAgICAg
KGNDaGFyICE9IE5FV19MSU5FKSAmJiAoY0NoYXIgIT0gQ0FSUklBR0VfUkVU
VVJOKSApDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgc1RlbXAg
PSBzSW5wdXQuc3Vic3RyaW5nICgwLCBpQ291bnQrMSk7DQogICAgICAgICAg
ICAgICAgYnJlYWs7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAg
ICAgYnJlYWs7DQogICAgY2FzZSAyOg0KICAgICAgICAvL2JvdGggdHJpbQ0K
ICAgICAgICBmb3IgKGlDb3VudCA9IDA7IGlDb3VudCA8IGlJbnB1dFdpZHRo
OyBpQ291bnQrKykNCiAgICAgICAgew0KICAgICAgICAgICAgY0NoYXIgPSBz
SW5wdXQuY2hhckF0IChpQ291bnQpOw0KICAgICAgICAgICAgaWYgKCAoU0lO
R0xFX0JMQU5LICE9IGNDaGFyKSAmJiAoU0lOR0xFX1RBQiAhPSBjQ2hhcikg
JiYgDQogICAgICAgICAgICAgICAgIChORVdfTElORSAhPSBjQ2hhcikgJiYg
KENBUlJJQUdFX1JFVFVSTiAhPSBjQ2hhcikgKQ0KICAgICAgICAgICAgew0K
ICAgICAgICAgICAgICAgIHNUZW1wID0gc0lucHV0LnN1YnN0cmluZyAoaUNv
dW50LCBpSW5wdXRXaWR0aCk7DQogICAgICAgICAgICAgICAgYnJlYWs7DQog
ICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgaUlucHV0V2lkdGgg
PSBzVGVtcC5sZW5ndGg7DQogICAgICAgIGZvciAoaUNvdW50ID0gaUlucHV0
V2lkdGggLSAxOyBpQ291bnQgPj0gMCA7IGlDb3VudC0tKQ0KICAgICAgICB7
DQogICAgICAgICAgICBjQ2hhciA9IHNUZW1wLmNoYXJBdCAoaUNvdW50KTsN
CiAgICAgICAgICAgIGlmICggKGNDaGFyICE9IFNJTkdMRV9CTEFOSykgJiYg
KGNDaGFyICE9IFNJTkdMRV9UQUIpICYmIA0KICAgICAgICAgICAgICAgICAo
Y0NoYXIgIT0gTkVXX0xJTkUpICYmIChjQ2hhciAhPSBDQVJSSUFHRV9SRVRV
Uk4pICkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBzVGVtcCA9
IHNUZW1wLnN1YnN0cmluZyAoMCwgaUNvdW50KzEpOw0KICAgICAgICAgICAg
ICAgIGJyZWFrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAg
IGJyZWFrOw0KICAgIH0NCg0KICAgIHJldHVybiBzVGVtcDsNCn0gLy8gZW5k
IG9mIGZuY21UcmltDQoNCg0KDQovL0Z1bmN0aW9uIHRvIGNsZWFyIHRoZSB0
ZXh0IGJveCBjb250YW5pbmcgbmFtZSBvciBkZXNjIGlmIGNvZGUgaXMgcmVt
b3ZlZA0KZnVuY3Rpb24gZm5Mb29rdXAoIGZvcm1PYmplY3QxICkNCnsNCiAg
ICBmb3JtT2JqZWN0MS52YWx1ZT0iIjsNCn0NCg0KDQoNCi8vIEZ1bmN0aW9u
IHRvIG9wZW4gdGhlIHdpbmRvdw0KZnVuY3Rpb24gZm5PcGVuUG9wdXBXaW5k
b3coIHVybCwgbmFtZSApDQp7DQoNCiAgICBpZiAoIGNoaWxkV2luZG93ICE9
IG51bGwgICkNCiAgICB7DQogICAgICAgIGlmICggISBjaGlsZFdpbmRvdy5j
bG9zZWQgKQ0KICAgICAgICB7DQogICAgICAgICAgICBjaGlsZFdpbmRvdy5j
bG9zZSggKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBjaGlsZFdpbmRvdyA9
IHdpbmRvdy5vcGVuKCB1cmwsIG5hbWUsICdzY3JvbGxiYXJzPXllcyxsZWZ0
PTE1MCx0b3A9MjAwLGhlaWdodD02MDAsd2lkdGg9NzUwLHN0YXR1cz1ubyxs
b2NhdGlvbj1ubyxyZXNpemFibGU9eWVzJyApOw0KICAgIGNoaWxkV2luZG93
LmZvY3VzKCApDQp9DQoNCg0KLy8gRnVuY3Rpb24gdG8gb3BlbiB0aGUgd2lu
ZG93DQpmdW5jdGlvbiBmbk9wZW5Qb3B1cE5ld1dpbmRvdyggdXJsLCBuYW1l
LCBwb3B1cHBhcmFtICkNCnsNCg0KICAgIGlmICggY2hpbGRXaW5kb3cgIT0g
bnVsbCAgKQ0KICAgIHsNCiAgICAgICAgaWYgKCAhIGNoaWxkV2luZG93LmNs
b3NlZCApDQogICAgICAgIHsNCiAgICAgICAgICAgIGNoaWxkV2luZG93LmNs
b3NlKCApOw0KICAgICAgICB9DQogICAgfQ0KICAgIGNoaWxkV2luZG93ID0g
d2luZG93Lm9wZW4oIHVybCwgbmFtZSwgcG9wdXBwYXJhbSApOw0KICAgIGNo
aWxkV2luZG93LmZvY3VzKCApDQp9DQoNCmZ1bmN0aW9uIGZuT3BlblBvcHVw
SGVscFdpbmRvdyggdXJsLCBuYW1lICkNCnsNCiAgICBpZiAoIGNoaWxkV2lu
ZG93ICE9IG51bGwgICkNCiAgICB7DQogICAgICAgIGlmICggISBjaGlsZFdp
bmRvdy5jbG9zZWQgKQ0KICAgICAgICB7DQogICAgICAgICAgICBjaGlsZFdp
bmRvdy5jbG9zZSggKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGNoaWxk
V2luZG93ID0gd2luZG93Lm9wZW4oIHVybCwgbmFtZSwgJ3Njcm9sbGJhcnM9
eWVzLGxlZnQ9MTUwLHRvcD0yMDAsaGVpZ2h0PTMwMCx3aWR0aD02MzAsc3Rh
dHVzPW5vLGxvY2F0aW9uPW5vLHJlc2l6YWJsZT15ZXMnICk7DQogICAgY2hp
bGRXaW5kb3cuZm9jdXMoICk7DQp9DQoNCg0KDQovLyBGdW5jdGlvbiB0byBj
aGVjayBpZiBpdCBpcyBhbHBoZW51bWVyaWMgb3Igbm90DQpmdW5jdGlvbiBm
bklzVmFsaWRBbHBoYU51bWVyaWMoIHNGb3JtRmllbGQgKQ0Kew0KICAgIHJl
Z051bSA9IC9eWyBdKltBLVphLXowLTldKlsgXSokLzsNCiAgICAgdmFyIHRl
bXAgPSBmblRyaW0oIHNGb3JtRmllbGQudmFsdWUgKTsNCg0KICAgICBpZiAo
ICggdGVtcCApLm1hdGNoKCByZWdOdW0gKSApDQogICAgIHsNCiAgICAgICAg
cmV0dXJuIHRydWU7DQogICAgIH0NCiAgICAgZWxzZQ0KICAgICB7DQogICAg
ICAgICByZXR1cm4gZmFsc2U7DQogICAgIH0NCn0NCg0KDQoNCi8vIEZ1bmN0
aW9uIHRvIGNoZWNrIGlmIGl0IGlzIGFscGhlbnVtZXJpYyBvciBub3QNCmZ1
bmN0aW9uIGZuSXNWYWxpZEFscGhhTnVtZXJpY1dpdGhBc3Rlcmlrcyggc0Zv
cm1GaWVsZCApDQp7DQogICAgcmVnTnVtID0gL15bIF0qW0EtWmEtejAtOSpd
KlsgXSokLzsNCiAgICAgdmFyIHRlbXAgPSAgZm5UcmltICggc0Zvcm1GaWVs
ZC52YWx1ZSApOw0KDQogICAgIGlmICggKCB0ZW1wICkubWF0Y2goIHJlZ051
bSApICkNCiAgICAgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgfQ0K
ICAgICBlbHNlDQogICAgIHsNCiAgICAgICAgIHJldHVybiBmYWxzZTsNCiAg
ICAgfQ0KfQ0KDQoNCg0KLy8gQ2hlY2sgZm9yIGNvcnJlY3QNCmZ1bmN0aW9u
IGZuSXNDb3JyZWN0TGVuZ3RoKCBzRm9ybUZpZWxkLCBsZW5ndGggKQ0Kew0K
ICAgIHZhciB0ZW1wID0gZm5UcmltKCBzRm9ybUZpZWxkLnZhbHVlICk7DQoN
CiAgICBpZiAoICggdGVtcC5sZW5ndGggKSAhPSAgMCApDQogICAgew0KICAg
ICAgaWYgKCAoIHRlbXAubGVuZ3RoICkgIT0gbGVuZ3RoICkNCiAgICAgIHsN
CiAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICB9DQogICAgfQ0KICAg
IHJldHVybiB0cnVlOw0KfQ0KDQoNCg0KLy8gRnVuY3Rpb24gdG8gY2hlY2sg
aWYgaXQgaXMgbmFtZQ0KZnVuY3Rpb24gZm5Jc1ZhbGlkTmFtZVdpdGhBc3Rl
cml4KCBzRm9ybUZpZWxkICkNCnsNCiAgICByZWdOdW0gPSAvXlsgXSpbQS1a
YS16MC05IC4qXCddKlsgXSokLzsNCiAgICAgdmFyIHRlbXAgPSBmblRyaW0o
IHNGb3JtRmllbGQudmFsdWUgKTsNCg0KICAgICBpZiAoICggdGVtcCApLm1h
dGNoKCByZWdOdW0gKSApDQogICAgIHsNCiAgICAgICAgcmV0dXJuIHRydWU7
DQogICAgIH0NCiAgICAgZWxzZQ0KICAgICB7DQogICAgICAgICByZXR1cm4g
ZmFsc2U7DQogICAgIH0NCn0NCg0KDQoNCmZ1bmN0aW9uIGZuVGltZUNoZWNr
KCB2YWwsIGZpZWxkICkNCnsNCiAgICBpZiAoIHZhbC5sZW5ndGggPCA1ICkN
CiAgICB7DQogICAgICAgIC8vYWxlcnQgKCAiUGxlYXNlIGVudGVyICIgKyBm
aWVsZCArICIgaW4gSEg6TU0gZm9ybWF0IiApOw0KICAgICAgICBhbGVydCgi
UGxlYXNlIGVudGVyICcrZmllbGQrJyBpbiBISDpNTSBmb3JtYXQiKTsNCiAg
ICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCg0KICAgIHZhciB0aW1lID0g
dmFsLnN1YnN0cmluZyggMCwgMiApIDsNCiAgICB2YXIgbWludXRlID0gdmFs
LnN1YnN0cmluZyggMyApIDsNCiAgICB2YXIgc2VwYXJhdG9yID0gdmFsLnN1
YnN0cmluZyggMiwgMyApOw0KDQogICAgaWYgKCAgKCBpc05hTiggdGltZSAp
ICkgIHx8ICggaXNOYU4gKCBtaW51dGUgKSApIHx8ICggIHNlcGFyYXRvciAh
PSAiOiIpICApDQogICAgew0KICAgICAgICAvL2FsZXJ0ICggIlBsZWFzZSBl
bnRlciAiICsgZmllbGQgKyAiIGluIEhIOk1NIGZvcm1hdCIgKTsNCiAgICAg
ICAgYWxlcnQoIlBsZWFzZSBlbnRlciAnK2ZpZWxkKycgaW4gSEg6TU0gZm9y
bWF0Iik7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQoNCiAgICBp
ZiAoICEgKCAoIHBhcnNlSW50KCB0aW1lICkgPj0gMCApICYmICggcGFyc2VJ
bnQoIHRpbWUgKSA8IDI0ICkgKSApDQogICAgew0KICAgICAgICAvL2FsZXJ0
ICggIkhvdXIgcGFydCBzaG91bGQgYmUgbGVzcyB0aGFuIDI0IGluICIgKyBm
aWVsZCApOw0KICAgICAgICBhbGVydCgiSG91ciBwYXJ0IHNob3VsZCBiZSBs
ZXNzIHRoYW4gMjQgaW4gJytmaWVsZCsnIik7DQogICAgICAgIHJldHVybiBm
YWxzZTsNCiAgICB9DQoNCiAgICBpZiAoICEgKCAoIHBhcnNlSW50KCBtaW51
dGUgKSA+PSAwICkgJiYgKCBwYXJzZUludCggbWludXRlICkgPCA2MCApICkg
KQ0KICAgIHsNCiAgICAgICAgLy9hbGVydCAoICJNaW51dGVzIHBhcnQgc2hv
dWxkIGJlIGxlc3MgdGhhbiA2MCBpbiAiICsgZmllbGQgKTsNCiAgICAgICAg
YWxlcnQoIk1pbnV0ZXMgcGFydCBzaG91bGQgYmUgbGVzcyB0aGFuIDYwIGlu
ICcrZmllbGQrJyIpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0K
DQogICAgcmV0dXJuIHRydWU7DQp9DQoNCi8vIENoZWNrcyBpZiB0aGUgZmly
c3QgbnVtYmVyIGlzIGdyZWF0ZXIgdGhhbiBzZWNvbmQNCi8vIEByZXR1cm4g
ICAgdHJ1ZSAgICAgICAgaWYgZmlyc3QgaXMgZ3JlYXRlciB0aGFuIG9yIGVx
dWFsIHRvIHNlY29uZA0KLy8gICAgICAgICAgICBmYWxzZSAgICAgICBlbHNl
IHJldHVybnMgZmFsc2UNCmZ1bmN0aW9uIGlzR3JlYXRlciggdmFsMSwgdmFs
MikNCnsNCiAgICBpZih2YWwxID49IHZhbDIpDQogICAgew0KICAgICAgICBy
ZXR1cm4gdHJ1ZTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAg
cmV0dXJuIGZhbHNlOw0KICAgIH0NCn0NCg0KLy8gQ2hlY2tzIGlmIHRoZSBm
aXJzdCBudW1iZXIgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHNlY29u
ZA0KLy8gQHJldHVybiAgICB0cnVlICAgICAgICBpZiBmaXJzdCBpcyBncmVh
dGVyIHRoYW4gZXF1YWwgdG8gc2Vjb25kDQovLyAgICAgICAgICAgIGZhbHNl
ICAgICAgIGVsc2UgcmV0dXJucyBmYWxzZQ0KZnVuY3Rpb24gaXNHcmVhdGVy
T3JFcXVhbCggdmFsMSwgdmFsMiwgbmFtZTEsIG5hbWUyICkNCnsNCiAgICBp
ZiggaXNHcmVhdGVyT3JFcXVhbFRvWmVybyAoIHZhbDEsIG5hbWUxICkgJiYN
CiAgICAgICAgaXNHcmVhdGVyT3JFcXVhbFRvWmVybyAoIHZhbDIsIG5hbWUy
ICkgKQ0KICAgIHsNCiAgICAgICAgaWYoICggdmFsMS52YWx1ZSA9PSAwICYm
IHZhbDIudmFsdWUgPT0gMCApIHx8ICggdmFsMi52YWx1ZS5sZW5ndGggPT0g
MCApIA0KICAgICAgICAgICAgfHwgKCBwYXJzZUZsb2F0KCB2YWwxLnZhbHVl
ICkgPj0gcGFyc2VGbG9hdCh2YWwyLnZhbHVlICkgKSApDQogICAgICAgIHsN
CiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAg
IGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgLy9hbGVydCAoIG5hbWUx
ICsgIiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAiICsgbmFt
ZTIpOw0KICAgICAgICAgICAgYWxlcnQoIicrbmFtZTErJyBtdXN0IGJlIGdy
ZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAnK25hbWUyKyciKTsNCiAgICAgICAg
ICAgIHZhbDIuZm9jdXMoKTsNCiAgICAgICAgICAgIHZhbDIuc2VsZWN0KCk7
DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9
DQogICAgZWxzZQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQp9DQoNCi8vIENo
ZWNrcyBpZiB0aGUgdmFsdWUgcGFzc2VkIGlzIGdyZWF0ZXIgdGhhbiBvciBl
cWF1YWwgdG8gemVybw0KZnVuY3Rpb24gaXNHcmVhdGVyT3JFcXVhbFRvWmVy
byAoIGZpZWxkLCBmaWVsZE5hbWUgKQ0Kew0KICAgIGlmKCAgZmllbGQudmFs
dWUgPj0gMCApDQogICAgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9
DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgLy9hbGVydCggZmllbGROYW1l
ICsgIiBtdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gemVybyIgKTsNCiAg
ICAgICAgYWxlcnQoIicrZmllbGROYW1lKycgbXVzdCBiZSBncmVhdGVyIHRo
YW4gb3IgZXF1YWwgdG8gbnVsbCIpOw0KICAgICAgICBmaWVsZC5mb2N1cygp
Ow0KICAgICAgICBmaWVsZC5zZWxlY3QoKTsNCiAgICAgICAgcmV0dXJuIGZh
bHNlOw0KICAgIH0NCn0NCg0KLy8gQ2hlY2tzIGlmIHRoZSB2YWx1ZSBwYXNz
ZWQgaXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQNCi8vIEREIEhIOk1NICAg
ICAgICAgICAgICAgd2hlcmUgREQgaXMgYmV0d2VlbiAwIGFuZCAzMQ0KLy8g
SEg6TU0gaXMgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbiBmblRpbWVDaGVjaygp
DQovLyByZXR1cm4gdHJ1ZSAgIGlmIGluIHRoZSBERCBISDpNTSBmb3JtYXQN
Ci8vICAgICAgICBmYWxzZSAgaWYgbm90DQpmdW5jdGlvbiBmbkRheVRpbWVD
aGVjayggdmFsLGZpZWxkICkNCnsNCg0KICAgIGlmICggdmFsLmxlbmd0aCA9
PSAwICkNCiAgICB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAg
ICBpZiAoIHZhbC5sZW5ndGggPCA4ICkNCiAgICB7DQogICAgICAgIC8vYWxl
cnQgKCBmaWVsZCArICIgc2hvdWxkIGJlIGluIDAwIEhIOk1NIGZvcm1hdC4g
UmVmZXIgSGVscCBQYWdlIGZvciBNb3JlIEluZm8uICIgKTsNCiAgICAgICAg
YWxlcnQoIicrZmllbGQrJyBzaG91bGQgYmUgaW4gMDAgSEg6TU0gZm9ybWF0
LiBSZWZlciBIZWxwIFBhZ2UgZm9yIE1vcmUgSW5mby4iKTsNCiAgICAgICAg
cmV0dXJuIGZhbHNlOw0KICAgIH0NCiAgICB2YXIgZGF5cyA9IHZhbC5zdWJz
dHJpbmcoMCwyKTsNCiAgICB2YXIgc3BjID0gdmFsLnN1YnN0cmluZygyLDMp
Ow0KICAgIHZhciB0aW1lID0gdmFsLnN1YnN0cmluZyggMywgNSApIDsNCiAg
ICB2YXIgbWludXRlID0gdmFsLnN1YnN0cmluZyggNiApIDsNCiAgICB2YXIg
c2VwYXJhdG9yID0gdmFsLnN1YnN0cmluZyggNSwgNiApOw0KDQoNCiAgICBp
ZiAoIHBhcnNlSW50KGRheXMpICE9IDAgICkNCiAgICB7DQogICAgICAgIC8v
YWxlcnQoIGZpZWxkICsgIiBzaG91bGQgaGF2ZSBkYXlzIHBhcnQgYXMgMDAg
YWx3YXlzLiAiICk7DQogICAgICAgIGFsZXJ0KCInK2ZpZWxkKycgc2hvdWxk
IGhhdmUgZGF5cyBwYXJ0IGFzIDAwIGFsd2F5cy4iKTsNCiAgICAgICAgcmV0
dXJuIGZhbHNlOw0KICAgIH0NCg0KICAgIGlmICggICggaXNOYU4oIGRheXMg
KSB8fCAgKCBzcGMgIT0gIiAiICkgfHwgaXNOYU4oIHRpbWUgKSApICB8fCAo
IGlzTmFOICggbWludXRlICkgKSB8fCAoICBzZXBhcmF0b3IgIT0gIjoiKSAg
KQ0KICAgIHsNCiAgICAgICAgLy9hbGVydCAoICJQbGVhc2UgZW50ZXIgIiAr
IGZpZWxkICArICIgaW4gMDAgSEg6TU0gZm9ybWF0LlJlZmVyIEhlbHAgUGFn
ZSBmb3IgTW9yZSBJbmZvLiIgKTsNCiAgICAgICAgYWxlcnQoIicrZmllbGQr
JyBzaG91bGQgYmUgaW4gMDAgSEg6TU0gZm9ybWF0LiBSZWZlciBIZWxwIFBh
Z2UgZm9yIE1vcmUgSW5mby4iKTsNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0K
ICAgIH0NCiAgICBpZiAoICEgKCAgKCBwYXJzZUludCggZGF5cyApID49IDAg
KSAgJiYgKHBhcnNlSW50ICggZGF5cyApIDwgOTkgKSApICkNCiAgICB7DQog
ICAgICAgIC8vYWxlcnQgKCAiTnVtYmVyIG9mIERheXMgc2hvdWxkIGJlIGJl
dHdlZW4gMDAgYW5kIDk5IGluICIgKyBmaWVsZCApOw0KICAgICAgICBhbGVy
dCgiTnVtYmVyIG9mIERheXMgc2hvdWxkIGJlIGJldHdlZW4gMDAgYW5kIDk5
IGluICcrZmllbGQrJyIpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAg
fQ0KICAgIGlmICggISAoICggcGFyc2VJbnQoIHRpbWUgKSA+PSAwICkgJiYg
KCBwYXJzZUludCggdGltZSApIDwgMjQgKSApICkNCiAgICB7DQogICAgICAg
IC8vYWxlcnQgKCAiVGltZSBwYXJ0IHNob3VsZCBiZSBsZXNzIHRoYW4gMjQg
aW4gIiArIGZpZWxkICk7DQogICAgICAgIGFsZXJ0KCJUaW1lIHBhcnQgc2hv
dWxkIGJlIGxlc3MgdGhhbiAyNCBpbiAnK2ZpZWxkKyciKTsNCiAgICAgICAg
cmV0dXJuIGZhbHNlOw0KICAgIH0NCg0KICAgIGlmICggISAoICggcGFyc2VJ
bnQoIG1pbnV0ZSApID49IDAgKSAmJiAoIHBhcnNlSW50KCBtaW51dGUgKSA8
IDYwICkgKSApDQogICAgew0KICAgICAgICAvL2FsZXJ0ICggIkhvdXIgcGFy
dCBzaG91bGQgYmUgbGVzcyB0aGFuIDYwIGluIiArIGZpZWxkICk7DQogICAg
ICAgIGFsZXJ0KCJIb3VyIHBhcnQgc2hvdWxkIGJlIGxlc3MgdGhhbiA2MCBp
biAnK2ZpZWxkKyciKTsNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0N
Cg0KICAgIHJldHVybiB0cnVlOw0KfQ0KDQpmdW5jdGlvbiBmblNpemVMaW1p
dENoZWNrICggdmFsX2EsdmFsX2IsdmFsX2MsIHZhbF91KQ0Kew0KDQogICAg
aWYgKCBwYXJzZUZsb2F0ICggdmFsX2EgKSAgPCAwICkNCiAgICB7DQogICAg
ICAgIC8vYWxlcnQgKCAiIFNpemUgTGltaXQgMSBzaG91bGQgYmUgZ3JlYXRl
ciB0aGFuIG9yIGVxdWFsIHRvIDAuICIgKTsNCiAgICAgICAgYWxlcnQoIlNp
emUgTGltaXQgMSBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRv
IDAuIik7DQogICAgICAgIHJldHVybiAxOw0KICAgIH0NCiAgICBpZiAoIHBh
cnNlRmxvYXQgKCB2YWxfYiApICA8IDAgKQ0KICAgIHsNCiAgICAgICAgLy9h
bGVydCAoICIgU2l6ZSBMaW1pdCAyIHNob3VsZCBiZSBncmVhdGVyIHRoYW4g
b3IgZXF1YWwgdG8gMC4gIiApOw0KICAgICAgICBhbGVydCgiU2l6ZSBMaW1p
dCAyIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMC4iKTsN
CiAgICAgICAgcmV0dXJuIDI7DQogICAgfQ0KICAgIGlmICggcGFyc2VGbG9h
dCAoIHZhbF9jICkgIDwgMCApDQogICAgew0KICAgICAgICAvL2FsZXJ0ICgg
IiBTaXplIExpbWl0IDMgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVh
bCB0byAwLiAiICk7DQogICAgICAgIGFsZXJ0KCJTaXplIExpbWl0IDMgc2hv
dWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAwLiIpOw0KICAgICAg
ICByZXR1cm4gMzsNCiAgICB9DQoNCiAgICBpZiAoICggcGFyc2VGbG9hdCgg
dmFsX2IgKSA+IHBhcnNlRmxvYXQgKCB2YWxfYSApICkgICkNCiAgICB7DQog
ICAgICAgIC8vYWxlcnQgKCAiIFNpemUgTGltaXQgMiBzaG91bGQgYmUgbGVz
cyB0aGFuIG9yIGVxdWFsIHRvIFNpemUgTGltaXQgMSAiICk7DQogICAgICAg
IGFsZXJ0KCJTaXplIExpbWl0IDIgc2hvdWxkIGJlIGxlc3MgdGhhbiBvciBl
cXVhbCB0byBTaXplIExpbWl0IDEiKTsNCiAgICAgICAgcmV0dXJuIDI7DQog
ICAgfQ0KICAgIGlmICggKCBwYXJzZUZsb2F0ICggdmFsX2MgKSA+ICBwYXJz
ZUZsb2F0ICggdmFsX2IgICkgKSApDQogICAgew0KICAgICAgICAvL2FsZXJ0
ICggIiBTaXplIExpbWl0IDMgc2hvdWxkIGJlIGxlc3MgdGhhbiBvciBlcXVh
bCB0byBTaXplIExpbWl0IDIgIiApOw0KICAgICAgICBhbGVydCgiU2l6ZSBM
aW1pdCAzIHNob3VsZCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gU2l6ZSBM
aW1pdCAyIik7DQogICAgICAgIHJldHVybiAzOw0KICAgIH0NCiAgICBpZiAo
ICAoICB2YWxfdSAgPT0gIiIgICkgJiYgKCAgKCBwYXJzZUZsb2F0ICggdmFs
X2EgKSAgPiAgMC4wICApIHx8ICAoIHBhcnNlRmxvYXQgKCB2YWxfYiApICA+
ICAwLjAgKSB8fCAgKCBwYXJzZUZsb2F0ICggdmFsX2MgKSAgPiAgMC4wICkg
KSApDQogICAgew0KICAgICAgICAvL2FsZXJ0ICggIiBQbGVhc2Ugc2VsZWN0
IGEgc2l6ZSB1bml0IG9mIG1lYXN1cmUuICIgKTsNCiAgICAgICAgYWxlcnQo
IlBsZWFzZSBzZWxlY3QgYSBzaXplIHVuaXQgb2YgbWVhc3VyZSIpOw0KICAg
ICAgICByZXR1cm4gNDsNCiAgICB9DQogICAgaWYgKCAgKCAgdmFsX3UgICE9
ICIiICApICYmICAoIHBhcnNlRmxvYXQgKCB2YWxfYSApICA8PSAgMC4wICB8
fCB2YWxfYSA9PSAiIiApICYmICggcGFyc2VGbG9hdCAoIHZhbF9iICkgIDw9
ICAwLjAgIHx8IHZhbF9iID09ICIiICkgJiYgKCBwYXJzZUZsb2F0ICggdmFs
X2MgKSAgPD0gIDAuMCAgfHwgdmFsX2MgPT0gIiIgKSAgKQ0KICAgIHsNCiAg
ICAgICAgLy9hbGVydCAoICIgU2l6ZSBVbml0IG9mIE1lYXN1cmUgY2FuIGJl
IHNlbGVjdGVkIG9ubHkgaWYgb25lIG9mIHRoZSBTaXplIExpbWl0cyBpcyBl
bnRlcmVkLiIgKTsNCiAgICAgICAgYWxlcnQoIlNpemUgVW5pdCBvZiBNZWFz
dXJlIGNhbiBiZSBzZWxlY3RlZCBvbmx5IGlmIG9uZSBvZiB0aGUgU2l6ZSBM
aW1pdHMgaXMgZW50ZXJlZC4iKTsNCiAgICAgICAgcmV0dXJuIDQ7DQogICAg
fQ0KDQogICAgcmV0dXJuIDA7DQp9DQoNCmZ1bmN0aW9uIGlzQmV0d2VlbkNo
ZWNrICggdmFsMSwgdmFsMiwgdmFsMywgZmllbGQpDQp7DQogICAgaWYgKCAo
IHZhbDEgPCB2YWwyICkgfHwgKCB2YWwxID4gdmFsMyApICkNCiAgICB7DQog
ICAgICAgIC8vYWxlcnQgKCBmaWVsZCArICIgc2hvdWxkIGJlIGJldHdlZW4g
IiArIHZhbDIgKyAiIGFuZCAiICsgdmFsMyApOw0KICAgICAgICBhbGVydCgi
JytmaWVsZCsnIHNob3VsZCBiZSBiZXR3ZWVuICcrdmFsMisnIGFuZCAnK3Zh
bDMrJyIpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICAgIHJl
dHVybiB0cnVlOw0KfQ0KDQpmdW5jdGlvbiBpc0NoYXJJbkFycmF5ICggdmFs
LCBhcnIsIGZpZWxkICkNCnsNCiAgICB2YXIgaSA9IDA7DQogICAgaWYgKGZu
VHJpbSh2YWwpLmxlbmd0aCA9PSAwIHx8IHZhbCA9PSAiICIgKQ0KICAgIHsN
CiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICAgIHZhciBmbGFnID0g
ZmFsc2U7DQogICAgZm9yIChpPTA7aTwgYXJyLmxlbmd0aDtpKyspDQogICAg
ew0KICAgICAgICBpZiAoIHZhbC50b1VwcGVyQ2FzZSgpID09IGFyci5zdWJz
dHJpbmcoaSxpKzEpICkNCiAgICAgICAgew0KICAgICAgICAgICAgZmxhZz10
cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAg
ICB9DQogICAgdmFyIG1zZyA9IGZpZWxkICsgImNhbiB0YWtlIG9ubHkgdGhl
IGZvbGxvd2luZyB2YWx1ZXMgOiBcbiI7DQogICAgaWYgKCAhZmxhZyApDQog
ICAgew0KDQogICAgICAgICBmb3IgKCBpPTA7aTxhcnIubGVuZ3RoO2krKyAp
DQogICAgICAgIHsNCiAgICAgICAgICAgIGlmICggaSA9PSAoYXJyLmxlbmd0
aC0xKSApDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgbXNnPW1z
ZyArIGFyci5zdWJzdHJpbmcoIGksIGkrMSApIDsNCiAgICAgICAgICAgIH0N
CiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAg
ICAgICBtc2c9bXNnICsgYXJyLnN1YnN0cmluZyggaSwgaSsxICkgKyAiLCAi
Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgIH0NCiAgICAgYWxl
cnQobXNnKTsNCiAgICByZXR1cm4gZmFsc2U7DQp9DQoNCg0KZnVuY3Rpb24g
aXNHcmVhdGVyVGltZSAodmFsMSx2YWwyLGZpZWxkMSxmaWVsZDIsbmV3dmFy
ICkNCnsNCg0KDQogICAgIHZhciBocjEgPSB2YWwxLnN1YnN0cmluZygwLDIp
Ow0KICAgICB2YXIgbW4xID0gdmFsMS5zdWJzdHJpbmcoMyk7DQogICAgIHZh
ciBocjIgPSB2YWwyLnN1YnN0cmluZygwLDIpOw0KICAgICB2YXIgbW4yID0g
dmFsMi5zdWJzdHJpbmcoMyk7DQoNCiAgICBpZiAoIGhyMSA+IGhyMiAgKQ0K
ICAgIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgICBp
ZiAoIG5ld3ZhciA9ICJncmVhdGVyIiApDQogICAgew0KICAgICAgICBpZiAo
IGhyMSA9PSBocjIpDQogICAgICAgIHsNCiAgICAgICAgICAgIGlmICggbW4x
ID4gbW4yICkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAg
ICBlbHNlDQogICAgew0KICAgICAgICBpZiAoIGhyMSA9PSBocjIpDQogICAg
ICAgIHsNCiAgICAgICAgICBpZiAoIG1uMSA+PSBtbjIgKQ0KICAgICAgICAg
IHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgIH0NCiAg
ICAgICAgfQ0KICAgIH0NCiAgICBpZiAoIGZpZWxkMSA9PSAiQWR2YW5jZSBC
b29raW5nIFRpbWUiICAgJiYgZmllbGQyID09ICJFbmQgVGltZSIgKQ0KICAg
IHsNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KDQogICAgfQ0KICAgIGVsc2Ug
aWYgKCBmaWVsZDEgPT0gIkFkdmFuY2UgTm90aWZpY2F0aW9uIFRpbWUiICAm
JiBmaWVsZDIgPT0gIkVuZCBUaW1lIiApDQogICAgew0KICAgICAgICByZXR1
cm4gZmFsc2U7DQoNCiAgICB9DQogICAgZWxzZSBpZiAoICBmaWVsZDEgPT0g
IkVuZCBUaW1lIiAmJiAgZmllbGQyID09ICJQaWNrdXAgQ3V0b2ZmIFRpbWUi
ICApDQogICAgew0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICAg
IGVsc2UgaWYgKCAgZmllbGQxID09ICJFbmQgVGltZSIgJiYgZmllbGQyID09
ICJMYXRlc3QgQXJyaXZhbCBUaW1lIiAgKQ0KICAgIHsNCiAgICAgICAgcmV0
dXJuIGZhbHNlOw0KICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAgLy8g
YWxlcnQgKCBmaWVsZDEgKyAiIG11c3QgYmUgZ3JlYXRlciB0aGFuICIgKyBm
aWVsZDIgKTsNCgkJYWxlcnQoIicrZmllbGQxKycgbXVzdCBiZSBncmVhdGVy
IHRoYW4gJytmaWVsZDIrJyIpOw0KICAgIH0NCiAgICByZXR1cm4gZmFsc2U7
DQoNCn0NCg0KZnVuY3Rpb24gaXNHcmVhdGVyT3JFcXVhbFRpbWUgKHZhbDEs
dmFsMixmaWVsZDEsZmllbGQyICkNCnsNCg0KDQogICAgIHZhciBocjEgPSB2
YWwxLnN1YnN0cmluZygwLDIpOw0KICAgICB2YXIgbW4xID0gdmFsMS5zdWJz
dHJpbmcoMyk7DQogICAgIHZhciBocjIgPSB2YWwyLnN1YnN0cmluZygwLDIp
Ow0KICAgICB2YXIgbW4yID0gdmFsMi5zdWJzdHJpbmcoMyk7DQoNCiAgICBp
ZiAoIGhyMSA+IGhyMiAgKQ0KICAgIHsNCiAgICAgICAgICAgIHJldHVybiB0
cnVlOw0KICAgIH0NCiAgICBpZiAoIGhyMSA9PSBocjIpDQogICAgew0KICAg
ICAgICAgaWYgKCBtbjEgPj0gbW4yICkNCiAgICAgICAgIHsNCiAgICAgICAg
ICAgcmV0dXJuIHRydWU7DQogICAgICAgICB9DQogICAgfQ0KICAgIC8vYWxl
cnQgKCBmaWVsZDEgKyAiIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFs
IHRvICIgKyBmaWVsZDIgKTsNCiAgICAgIGFsZXJ0KCInK2ZpZWxkMSsnIG11
c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICcrZmllbGQyKyciKTsN
CiAgICByZXR1cm4gZmFsc2U7DQoNCn0NCg0KLy8gRGVsZXRlIGZ1bmN0aW9u
DQpmdW5jdGlvbiBmbkNvbmZpcm0oIGVudGl0eSApDQp7DQogICAgdmFyIGZs
YWcgPSBmYWxzZTsNCg0KICAgIGZsYWcgPSBjb25maXJtKCAiIEFyZSB5b3Ug
c3VyZSB5b3Ugd2FudCB0byBkZWxldGUgIiArIGVudGl0eSArICIgcmVjb3Jk
ID8iICk7DQoNCiAgICByZXR1cm4gZmxhZzsNCn0NCg0KDQovLyBEZWxldGUg
ZnVuY3Rpb24NCmZ1bmN0aW9uIGZuQ29uZmlybU11bHRpcGxlKCBlbnRpdHkg
KQ0Kew0KICAgIHZhciBmbGFnID0gZmFsc2U7DQoNCiAgICBmbGFnID0gY29u
ZmlybSggIiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlICIgKyBl
bnRpdHkgKyAiIHJlY29yZHMgPyIgKTsNCg0KICAgIHJldHVybiBmbGFnOw0K
fQ0KDQoNCg0KLy8gVG8gQ2xlYXIgdGhlIHNwYWNlcw0KZnVuY3Rpb24gZm5D
bGVhclNwYWNlKCBmb3JtICkNCnsNCiAgICBsZW4gPSBmb3JtLmxlbmd0aDsN
Cg0KICAgIGZvciAoIGkgPSAwIDsgaSA8IGxlbiA7IGkrKyApDQogICAgew0K
ICAgICAgICB2YXIgdmFsdWVUb0JlVHJpbW1lZCA9ICBmb3JtLmVsZW1lbnRz
W2ldLnZhbHVlIDsNCiAgICAgICAgaWYgKCB2YWx1ZVRvQmVUcmltbWVkICE9
IG51bGwgICkNCiAgICAgICAgew0KICAgICAgICAgICAgZm9ybS5lbGVtZW50
c1tpXS52YWx1ZSA9IGZuVHJpbSggdmFsdWVUb0JlVHJpbW1lZCApOw0KICAg
ICAgICB9DQogICAgfQ0KfQ0KDQovL1RvIGNoZWNrIGlmIHdlaWdodCB1b20g
aXMgcmVxDQpmdW5jdGlvbiBmbldlaWdodFVPTUNoZWNrICggdmFsX2EsdmFs
X2IsdmFsX2MsIHZhbF9kLCB2YWxfdSkNCnsNCiAgICBpZiAoICAoICB2YWxf
dS52YWx1ZSAgPT0gIiIgICkgJiYgKCAgKCBwYXJzZUZsb2F0ICggdmFsX2Eu
dmFsdWUgKSAgPiAgMC4wICApIHx8ICAoIHBhcnNlRmxvYXQgKCB2YWxfYi52
YWx1ZSApICA+ICAwLjAgKSB8fCAgKCBwYXJzZUZsb2F0ICggdmFsX2MudmFs
dWUgKSAgPiAgMC4wICl8fCAgKCBwYXJzZUZsb2F0ICggdmFsX2QudmFsdWUg
KSAgPiAgMC4wICkgKSApDQogICAgew0KICAgICAgICAvL2FsZXJ0ICggIiBQ
bGVhc2Ugc2VsZWN0IGEgV2VpZ2h0IFVuaXQgT2YgTWVhc3VyZS4gIiApOw0K
ICAgICAgICBhbGVydCgiUGxlYXNlIHNlbGVjdCBhIFdlaWdodCBVbml0IE9m
IE1lYXN1cmUiKTsNCiAgICAgICAgdmFsX3UuZm9jdXMoKTsNCiAgICAgICAg
cmV0dXJuIGZhbHNlOw0KICAgIH0NCiAgICBpZiAoICAoICB2YWxfdS52YWx1
ZSAhPSAiIiAgKSAmJiAgKCBwYXJzZUZsb2F0ICggdmFsX2EudmFsdWUgKSAg
PD0gIDAuMCAgfHwgdmFsX2EudmFsdWUgPT0gIiIgKSAmJiAoIHBhcnNlRmxv
YXQgKCB2YWxfYi52YWx1ZSApICA8PSAgMC4wICB8fCB2YWxfYi52YWx1ZSA9
PSAiIiApICYmICggcGFyc2VGbG9hdCAoIHZhbF9jLnZhbHVlICkgIDw9ICAw
LjAgIHx8IHZhbF9jLnZhbHVlID09ICIiICkgJiYgKCBwYXJzZUZsb2F0ICgg
dmFsX2QudmFsdWUgKSAgPD0gIDAuMCAgfHwgdmFsX2QudmFsdWUgPT0gIiIg
KSAgKQ0KICAgIHsNCiAgICAgICAgLy9hbGVydCAoICIgV2VpZ2h0IFVuaXQg
T2YgTWVhc3VyZSBjYW4gYmUgc2VsZWN0ZWQgb25seSBpZiBhdGxlYXN0IG9u
ZSBvZiB0aGUgd2VpZ2h0IHZhbHVlcyBhcmUgZW50ZXJlZC4iICk7DQogICAg
ICAgIGFsZXJ0KCJXZWlnaHQgVW5pdCBPZiBNZWFzdXJlIGNhbiBiZSBzZWxl
Y3RlZCBvbmx5IGlmIGF0bGVhc3Qgb25lIG9mIHRoZSB3ZWlnaHQgdmFsdWVz
IGFyZSBlbnRlcmVkIik7DQogICAgICAgIHZhbF91LmZvY3VzKCk7DQogICAg
ICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQoNCiAgICByZXR1cm4gdHJ1ZTsN
Cn0NCg0KICAgIGZ1bmN0aW9uIGdldEl0ZW0oaWQpDQogICAgew0KICAgICAg
ICB2YXIgaXRtID0gZmFsc2U7DQogICAgICAgIGlmKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKQ0KICAgICAgICAgICAgaXRtID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoaWQpOw0KICAgICAgICBlbHNlIGlmKGRvY3VtZW50LmFsbCkN
CiAgICAgICAgICAgIGl0bSA9IGRvY3VtZW50LmFsbFtpZF07DQogICAgICAg
IGVsc2UgaWYoZG9jdW1lbnQubGF5ZXJzKQ0KICAgICAgICAgICAgaXRtID0g
ZG9jdW1lbnQubGF5ZXJzW2lkXTsNCiAgICAgICAgcmV0dXJuIGl0bTsNCiAg
ICB9DQoNCiAgICBmdW5jdGlvbiB0b2dnbGVJdGVtKGlkKQ0KICAgIHsNCiAg
ICAgICAgaXRtID0gZ2V0SXRlbShpZCk7DQoNCiAgICAgICAgaWYoIWl0bSkN
CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgICAgICBpZihpdG0u
c3R5bGUuZGlzcGxheSA9PSAnbm9uZScpDQoJCXsNCiAgICAgICAgICAgIGl0
bS5zdHlsZS5kaXNwbGF5ID0gJyc7DQoNCgkJfQ0KICAgICAgICBlbHNlDQoJ
CXsNCiAgICAgICAgICAgIGl0bS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0K
DQoJCX0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KDQoNCi8v
VG8gY2hlY2sgaWYgZGltZW5zaW9uIHVvbSBpcyByZXENCmZ1bmN0aW9uIGZu
RGltZW5zaW9uVU9NQ2hlY2sgKCB2YWxfYSx2YWxfYix2YWxfYywgdmFsX2Qs
IHZhbF9lLCB2YWxfZiwgdmFsX3UgKQ0Kew0KDQogICAgaWYgKCAgKCAgdmFs
X3UudmFsdWUgID09ICIiICApICYmICggICggcGFyc2VGbG9hdCAoIHZhbF9h
LnZhbHVlICkgID4gIDAuMCAgKSB8fCAgKCBwYXJzZUZsb2F0ICggdmFsX2Iu
dmFsdWUgKSAgPiAgMC4wICkgfHwgICggcGFyc2VGbG9hdCAoIHZhbF9jLnZh
bHVlICkgID4gIDAuMCApfHwgICggcGFyc2VGbG9hdCAoIHZhbF9kLnZhbHVl
ICkgID4gIDAuMCApfHwgICggcGFyc2VGbG9hdCAoIHZhbF9lLnZhbHVlICkg
ID4gIDAuMCApfHwgICggcGFyc2VGbG9hdCAoIHZhbF9mLnZhbHVlICkgID4g
IDAuMCApICkgKQ0KICAgIHsNCiAgICAgICAgLy9hbGVydCAoICIgUGxlYXNl
IHNlbGVjdCBhIERpbWVuc2lvbiBVbml0IE9mIE1lYXN1cmUuICIgKTsNCiAg
ICAgICAgYWxlcnQoIlBsZWFzZSBzZWxlY3QgYSBEaW1lbnNpb24gVW5pdCBP
ZiBNZWFzdXJlIik7DQogICAgICAgIHZhbF91LmZvY3VzKCk7DQogICAgICAg
IHJldHVybiBmYWxzZTsNCiAgICB9DQogICAgaWYgKCAgKCAgdmFsX3UudmFs
dWUgIT0gIiIgICkgJiYgICggcGFyc2VGbG9hdCAoIHZhbF9hLnZhbHVlICkg
IDw9ICAwLjAgIHx8IHZhbF9hLnZhbHVlID09ICIiICkgJiYgKCBwYXJzZUZs
b2F0ICggdmFsX2IudmFsdWUgKSAgPD0gIDAuMCAgfHwgdmFsX2IudmFsdWUg
PT0gIiIgKSAmJiAoIHBhcnNlRmxvYXQgKCB2YWxfYy52YWx1ZSApICA8PSAg
MC4wICB8fCB2YWxfYy52YWx1ZSA9PSAiIiApICYmICggcGFyc2VGbG9hdCAo
IHZhbF9kLnZhbHVlICkgIDw9ICAwLjAgIHx8IHZhbF9kLnZhbHVlID09ICIi
ICkgJiYgKCBwYXJzZUZsb2F0ICggdmFsX2UudmFsdWUgKSAgPD0gIDAuMCAg
fHwgdmFsX2UudmFsdWUgPT0gIiIgKSAmJiAoIHBhcnNlRmxvYXQgKCB2YWxf
Zi52YWx1ZSApICA8PSAgMC4wICB8fCB2YWxfZi52YWx1ZSA9PSAiIiApICAp
DQogICAgew0KICAgICAgICAvL2FsZXJ0ICggIiBEaW1lbnNpb24gVW5pdCBP
ZiBNZWFzdXJlIGNhbiBiZSBzZWxlY3RlZCBvbmx5IGlmIGF0bGVhc3Qgb25l
IG9mIHRoZSBkaW1lbnNpb24gdmFsdWVzIGFyZSBlbnRlcmVkLiIgKTsNCiAg
ICAgICAgYWxlcnQoIkRpbWVuc2lvbiBVbml0IE9mIE1lYXN1cmUgY2FuIGJl
IHNlbGVjdGVkIG9ubHkgaWYgYXRsZWFzdCBvbmUgb2YgdGhlIGRpbWVuc2lv
biB2YWx1ZXMgYXJlIGVudGVyZWQiKTsNCiAgICAgICAgdmFsX3UuZm9jdXMo
KTsNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCg0KICAgIHJldHVy
biB0cnVlOw0KfQ0KDQoNCmZ1bmN0aW9uIENoYW5nZSh0ZXh0aWQsaW1hZ2Vp
ZCx0YWJsZVRvSGlkZSkNCnsNCg0KCXRvZ2dsZUl0ZW0odGFibGVUb0hpZGUp
Ow0KCWlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0ZXh0aWQpLmlubmVy
VGV4dCA9PSAiU2hvdyIpDQoJew0KCSAJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQodGV4dGlkKS5pbm5lclRleHQ9IkhpZGUiOw0KCQlkb2N1bWVudFtpbWFn
ZWlkXS5zcmM9Ii4uL2ltYWdlcy91cC5naWYiOw0KCX0NCgllbHNlIGlmKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKHRleHRpZCkuaW5uZXJUZXh0ID09ICJI
aWRlIikNCgl7CQ0KCSAJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGV4dGlk
KS5pbm5lclRleHQ9IlNob3ciOw0KCQlkb2N1bWVudFtpbWFnZWlkXS5zcmM9
Ii4uL2ltYWdlcy9kb3duLmdpZiI7DQoJfQkNCgkNCn0NCg0KDQpmdW5jdGlv
biBmbkRlbGV0ZShyZWNvcmROYW1lLG5ld1BhZ2VOYW1lKQ0Kew0KCXZhciBy
ZXNwb25zZSA9IGNvbmZpcm0oJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBk
ZWxldGUgdGhlICcgKyByZWNvcmROYW1lICsgJyByZWNvcmQnKTsNCglpZiAo
IHJlc3BvbnNlICYmIG5ld1BhZ2VOYW1lIT0nQWNjb3VudFF1ZXJ5Lmh0bWwn
KQ0KCXsNCi8vCQlkb2N1bWVudC5mb3Jtc1swXS5hY3Rpb249bmV3UGFnZU5h
bWU7DQovLwkJZG9jdW1lbnQuZm9ybXNbMF0uc3VibWl0KCk7DQoJCWRlbGV0
ZU1lc3NhZ2UoIHJlY29yZE5hbWUgKyAnIHJlY29yZCBzdWNjZXNzZnVsbHkg
ZGVsZXRlZCcsJ251bGwnKTsNCgl9DQoJZWxzZSBpZiAoIHJlc3BvbnNlICYm
IG5ld1BhZ2VOYW1lID09J0FjY291bnRRdWVyeS5odG1sJykNCgl7DQoJCWRl
bGV0ZU1lc3NhZ2UoIHJlY29yZE5hbWUgKyAnIHJlY29yZCBzdWNjZXNzZnVs
bHkgZGVsZXRlZCcsJ0FjY291bnRRdWVyeS5odG1sJyk7DQoJfQ0KCWVsc2UN
Cgl7DQoJCS8vIGRvIG5vdGhpbmcNCgl9DQp9DQoNCg0KLy8gVmFsaWRhdGVz
IHRoZSBkYXRlIERELU1NLVlZWVkgb3IgREQvTU0vWVlZWQ0KLy8gUGFyYW1l
dGVycyA6IGRhdGUgLSBzdHJpbmcNCi8vIFJldHVybnMgOiB0cnVlIC0gSWYg
dmFsaWQgZGF0ZQ0KLy8gUmV0dXJucyA6IGZhbHNlIC0gSWYgaW52YWxpZCBk
YXRlDQpmdW5jdGlvbiBmbkRhdGVWYWxpZGF0ZVN0ckRETU1ZWVlZKHN0ckRh
dGUsZmllbGROYW1lKQ0Kew0KCWZsYWcgPSB0cnVlOw0KCWlmIChzdHJEYXRl
ID09ICIiKQ0KCXsNCgkJZmxhZyA9IGZhbHNlOw0KCX0NCglpZiAoZmxhZyA9
PSB0cnVlKQ0KCXsNCgkJZGF0ZVJlZz0vXihbMC05XC9cLV0rKSQvDQoJCWlm
ICggZGF0ZVJlZy50ZXN0KHN0ckRhdGUpID09IGZhbHNlICkNCgkJew0KCQkJ
Ly9hbGVydCggZmllbGROYW1lICsgJ3Nob3VsZCBiZSBhIHZhbGlkIGRhdGUg
aW4gdGhlIGZvcm1hdCBERC9NTS9ZWVlZJyApOw0KCQkJYWxlcnQoIicrZmll
bGROYW1lKycgc2hvdWxkIGJlIGEgdmFsaWQgZGF0ZSBpbiB0aGUgZm9ybWF0
IEREL01NL1lZWVkiKTsNCgkJCXJldHVybiBmYWxzZTsNCg0KCQl9DQoJCXN0
ckRhdGVMaXN0ID0gc3RyRGF0ZS5zcGxpdCgiLyIpOw0KLyoJCWlmKHN0ckRh
dGVMaXN0Lmxlbmd0aCAhPTMpCS8vIFRoaXMgaXMgYWRkZWQgdG8gY2hlY2sg
d2hldGhlciBkYXRlIGNvbnNpc3RzIG9mIGh5cGhlbiBlZy4yMDAzLTA4LTA5
DQoJCXsNCgkJCXN0ckRhdGVMaXN0ID0gc3RyRGF0ZS5zcGxpdCgiLSIpOw0K
CQl9Ki8NCgkJaWYgKHN0ckRhdGVMaXN0Lmxlbmd0aCA9PSAzKQ0KCQl7DQoJ
CQlpZiAoaXNOYU4oc3RyRGF0ZUxpc3RbMF0pIHx8IGlzTmFOKHN0ckRhdGVM
aXN0WzFdKSB8fCBpc05hTihzdHJEYXRlTGlzdFsyXSkpDQoJCQl7DQoJCQkJ
ZmxhZyA9IGZhbHNlOw0KCQkJfQ0KCQkJaWYgKGZsYWcgPT0gdHJ1ZSkNCgkJ
CXsNCgkJCQlpZiAoc3RyRGF0ZUxpc3RbMF0ubGVuZ3RoICE9IDIpDQoJCQkJ
ew0KCQkJCQlmbGFnID0gZmFsc2UNCgkJCQl9DQoJCQl9DQoJCQlpZiAoZmxh
ZyA9PSB0cnVlKQ0KCQkJew0KCQkJCWlmIChzdHJEYXRlTGlzdFsxXS5sZW5n
dGggIT0gMikNCgkJCQl7DQoJCQkJCWZsYWcgPSBmYWxzZQ0KCQkJCX0NCgkJ
CX0NCg0KCQkJaWYgKGZsYWcgPT0gdHJ1ZSkNCgkJCXsNCgkJCQlpZiAoc3Ry
RGF0ZUxpc3RbMl0ubGVuZ3RoICE9IDQpDQoJCQkJew0KCQkJCQlmbGFnID0g
ZmFsc2UNCgkJCQl9DQoJCQl9DQoNCgkJCWlmIChmbGFnID09IHRydWUpDQoJ
CQl7DQoJCQkJZmxhZyA9IGZuRGF0ZVZhbGlkYXRlKHBhcnNlSW50KHN0ckRh
dGVMaXN0WzJdLDEwKSwgcGFyc2VJbnQoc3RyRGF0ZUxpc3RbMV0sMTApLCBw
YXJzZUludChzdHJEYXRlTGlzdFswXSwxMCkpOw0KCQkJfQ0KCQl9ZWxzZXsN
CgkJCWZsYWcgPSBmYWxzZTsNCgkJfQ0KCX0NCg0KCWlmKCAhZmxhZyApDQoJ
ew0KCQkvL2FsZXJ0KCBmaWVsZE5hbWUgKyAnc2hvdWxkIGJlIGEgdmFsaWQg
ZGF0ZSBpbiB0aGUgZm9ybWF0IEREL01NL1lZWVknICk7DQoJCWFsZXJ0KCIn
K2ZpZWxkTmFtZSsnIHNob3VsZCBiZSBhIHZhbGlkIGRhdGUgaW4gdGhlIGZv
cm1hdCBERC9NTS9ZWVlZIik7DQoJfQ0KDQoJcmV0dXJuIGZsYWc7DQoNCn0N
Cg0KLy8gVmFsaWRhdGVzIHRoZSBnaXZlbiB5ZWFyLCBtb250aCBhbmQgZGF5
DQovLyBQYXJhbWV0ZXJzIDogWWVhciwgTW9udGgsIERhdGUNCi8vIFJldHVy
bnMgdHJ1ZSA6IGlmIHZhbGlkIGRhdGUNCi8vIFJldHVybnMgZmFsc2UgOiBp
ZiBpbnZhbGlkIGRhdGUNCmZ1bmN0aW9uIGZuRGF0ZVZhbGlkYXRlKHllYXIs
IG1vbnRoLCBkYXkpDQp7DQoJaWYgKHllYXIgPT0gIiIpDQoJCXJldHVybiBm
YWxzZTsNCglpZiAoeWVhciA8PSAwKQ0KCXsNCgkJcmV0dXJuIGZhbHNlOw0K
CX0NCglpZiAobW9udGggPT0gIiIpDQoJCXJldHVybiBmYWxzZTsNCglpZiAo
ZGF5ID09ICIiKQ0KCQlyZXR1cm4gZmFsc2U7DQoJaWYgKGlzTmFOKHllYXIp
KQ0KCQlyZXR1cm4gZmFsc2U7DQoJaWYgKGlzTmFOKG1vbnRoKSkNCgkJcmV0
dXJuIGZhbHNlOw0KCWlmIChpc05hTihkYXkpKQ0KCQlyZXR1cm4gZmFsc2U7
DQoJaWYgKGZuTW9udGhDaGVjayhtb250aCkpDQoJew0KCQlyZXR1cm4gZm5E
YXlDaGVjayh5ZWFyLCBtb250aCwgZGF5KTsNCgl9DQoJZWxzZQ0KCXsNCgkJ
cmV0dXJuIGZhbHNlOw0KCX0NCn0NCg0KLy8gQ2hlY2sgaWYgdGhlIG1vbnRo
IGlzIHZhbGlkIG9yIG5vdA0KLy8gUGFyYW1ldGVycyAtIE1vbnRoIC0gbnVt
YmVyDQovLyBSZXR1cm5zIHRydWUgLSBpZiB2YWxpZCBtb250aCANCi8vIFJl
dHVybnMgZmFsc2UgLSBpZiBpbnZhbGlkIG1vbnRoDQpmdW5jdGlvbiBmbk1v
bnRoQ2hlY2sobW9udGgpDQp7DQoJaWYgKChtb250aCA8IDEpIHx8IChtb250
aCA+IDEyKSkNCgl7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoJcmV0dXJuIHRy
dWU7DQp9DQoNCi8vIENoZWNrcyBpZiB0aGUgZGF5IGZvciB0aGUgbW9udGgg
YW5kIHllYXIgaXMgdmFsaWQNCi8vIFBhcmFtZXRlcnMgLSBZZWFyIC0gbnVt
YmVyDQovLwkJCQlNb250aCAtIG51bWJlcg0KLy8JCQkJRGF5IC0gbnVtYmVy
DQovLyBSZXR1cm5zIHRydWUgLSBpZiB2YWxpZCBkYXkNCi8vIFJldHVybnMg
ZmFsc2UgLSBpZiBpbnZhbGlkIGRheQ0KZnVuY3Rpb24gZm5EYXlDaGVjayh5
ZWFyLCBtb250aCwgZGF5KQ0Kew0KCWRheXMgPSBnZXREYXlzSW5Nb250aCht
b250aCwgeWVhcik7DQoNCglpZiAoZGF5ID09IDApDQoJCXJldHVybiBmYWxz
ZTsNCg0KCWlmIChkYXkgPiBkYXlzKQ0KCQlyZXR1cm4gZmFsc2U7DQoJDQoJ
cmV0dXJuIHRydWU7DQp9DQoNCi8vIFJldHVybnMgdGhlIG51bWJlcnMgb2Yg
ZGF5cyBpbiB0aGUgbW9udGggYW5kIHllYXINCi8vIFBhcmFtZXRlcnMgLSBN
b250aCAtIG51bWJlcg0KLy8JCQkJWWVhciAtIG51bWJlcg0KLy8gUmV0dXJu
cyAzMSBpbiB0aGUgY2FzZSB0aGUgbW9udGggaXMgSmFuLCBNYXIsIE1heSwg
SnVsLCBBdWcsIE9jdCwgRGVjDQovLyBSZXR1cm5zIDMyIGluIHRoZSBjYXNl
IHRoZSBtb250aCBpcyBBcHIsIEp1biwgU2VwLCBOb3YNCi8vIFJldHVybnMg
MjkgaWYgdGhlIHllYXIgaXMgbGVhcCB5ZWFyIGFuZCBtb250aCBpcyBGZWIN
Ci8vIFJldHVybnMgMjggaWYgdGhlIHllYXIgaXMgbm90IGEgbGVhcCB5ZWFy
IGFuZCBtb250aCBpcyBGZWINCmZ1bmN0aW9uIGdldERheXNJbk1vbnRoKG1v
bnRoLHllYXIpICANCnsgICAgDQoJdmFyIGRheXM7ICAgIA0KCWlmIChtb250
aD09MSB8fCBtb250aD09MyB8fCBtb250aD09NSB8fCBtb250aD09NyB8fCBt
b250aD09OCB8fG1vbnRoPT0xMCB8fCBtb250aD09MTIpICANCgkJZGF5cz0z
MTsgDQoJZWxzZSBpZiAobW9udGg9PTQgfHwgbW9udGg9PTYgfHwgbW9udGg9
PTkgfHwgbW9udGg9PTExKSANCgkJZGF5cz0zMDsgICAgDQoJZWxzZSANCgkJ
aWYgKG1vbnRoPT0yKSAgDQoJCXsgICAgICAgIA0KCQkJaWYgKGZuSXNMZWFw
WWVhcih5ZWFyKSkgDQoJCQl7DQoJCQkJZGF5cz0yOTsNCgkJCX0gICAgICAg
IA0KCQkJZWxzZSANCgkJCXsNCgkJCQlkYXlzPTI4Ow0KCQkJfSAgICANCgkJ
fSAgICANCglyZXR1cm4gKGRheXMpOw0KfSANCg0KLy8gQ2hlY2tzIGlmIHRo
ZSB5ZWFyIGlzIGEgbGVhcCB5ZWFyIG9yIG5vdA0KLy8gUGFyYW1ldGVycyAt
IFllYXIgLSBudW1iZXINCi8vIFJldHVybnMgdHJ1ZSAtIGlmIHRoZSB5ZWFy
IGlzIGEgbGVhcCB5ZWFyDQovLyBSZXR1cm5zIGZhbHNlIC0gaWYgdGhlIHll
YXIgaXMgbm90IGEgbGVhcCB5ZWFyDQpmdW5jdGlvbiBmbklzTGVhcFllYXIo
eWVhcikNCnsgICAgDQoJaWYgKCgoeWVhciAlIDQpPT0wKSAmJiAoKHllYXIg
JSAxMDApIT0wKSB8fCAoKHllYXIgJSA0MDApPT0wKSkgDQoJeyAgICAgICAg
DQoJCXJldHVybiAodHJ1ZSk7ICAgIA0KCX0gICAgDQoJZWxzZSANCgl7ICAg
ICAgICANCgkJcmV0dXJuIChmYWxzZSk7ICAgIA0KCX0NCn0NCg0KDQovL3Rl
bXBvcmFyeSBmdW5jdGlvbiBmb3IgbWVzc2FnZSB3aWxsIGJlIHJlcGxhY2Vk
IGJ5IGNvbW1vbiBqc3AgZnVuY3Rpb24NCg0KZnVuY3Rpb24gY3JlYXRlTWVz
c2FnZShtZXNzYWdlLGRlc3RpbmF0aW9uKQ0Kew0KDQoNCmRvY3VtZW50Lndy
aXRlbG4oIjxodG1sPiIpOw0KZG9jdW1lbnQud3JpdGVsbigiIik7DQpkb2N1
bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50LndyaXRlbG4oIjxoZWFkPiIp
Ow0KZG9jdW1lbnQud3JpdGVsbigiICAgIDxsaW5rIGhyZWY9XCJodHRwczov
L215YWNjb3VudC5kaGwuY29tL015QWNjb3VudC9jb21tb24vU3R5bGVTaGVl
dC5jc3NcIiByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCI+
Iik7DQpkb2N1bWVudC53cml0ZWxuKCIgICAgPHNjcmlwdCB0eXBlPVwidGV4
dC9qYXZhc2NyaXB0XCIgbGFuZ3VhZ2U9XCJKYXZhc2NyaXB0MS4xXCI+PFwv
c2NyaXB0PiIpOw0KZG9jdW1lbnQud3JpdGVsbigiICAgIDxzY3JpcHQgbGFu
Z3VhZ2U9XCJqYXZhc2NyaXB0MS4zXCIgc3JjPVwiLi4vanMvSW1hZ2VzLmpz
XCI+PFwvc2NyaXB0PiIpOw0KZG9jdW1lbnQud3JpdGVsbigiICAgIDxzY3Jp
cHQgbGFuZ3VhZ2U9XCJqYXZhc2NyaXB0MS4zXCIgc3JjPVwiLi4vanMvQ2Fs
ZW5kYXIuanNcIj48XC9zY3JpcHQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIg
ICAgPHNjcmlwdCBsYW5ndWFnZT1cImphdmFzY3JpcHQxLjNcIiBzcmM9XCIu
Li9qcy9Db21tb25GdW5jdGlvbnMuanNcIj48XC9zY3JpcHQ+Iik7DQpkb2N1
bWVudC53cml0ZWxuKCIJPHNjcmlwdCBsYW5ndWFnZT1cIkphdmFzY3JpcHRc
Ij4iKTsNCmRvY3VtZW50LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQud3JpdGVs
bigiCTxcL3NjcmlwdD4iKTsNCmRvY3VtZW50LndyaXRlbG4oIjxcL2hlYWQ+
Iik7DQpkb2N1bWVudC53cml0ZWxuKCI8Ym9keT4iKTsNCmRvY3VtZW50Lndy
aXRlbG4oIiA8Zm9ybSBuYW1lPVwiQ29tbWVyY2lhbEFkZHJlc3NVcGRhdGVG
b3JtXCI+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50Lndy
aXRlbG4oIgkiKTsNCmRvY3VtZW50LndyaXRlbG4oIgk8dGFibGU+Iik7DQpk
b2N1bWVudC53cml0ZWxuKCIJPHRyPiIpOw0KZG9jdW1lbnQud3JpdGVsbigi
CQk8dGQgd2lkdGg9XCIyOFwiPiZuYnNwOzxcL3RkPiIpOw0KZG9jdW1lbnQu
d3JpdGVsbigiCQk8dGQ+PFwvdGQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJ
CTx0ZCB3aWR0aD1cIjI4XCI+Jm5ic3A7PFwvdGQ+Iik7DQpkb2N1bWVudC53
cml0ZWxuKCIJPFwvdHI+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRv
Y3VtZW50LndyaXRlbG4oIgk8dHI+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJ
CTx0ZCBjbGFzcz1cIndoaXRlQmdcIiBjb2xzcGFuPVwiM1wiPjxpbWcgc3Jj
PVwiLi4vaW1hZ2VzL2JsYW5rLmdpZlwiIGhlaWdodD1cIjIxXCIgd2lkdGg9
XCIxXCI+PFwvdGQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJPFwvdHI+Iik7
DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50LndyaXRlbG4oIgk8
XC90YWJsZT4iKTsNCmRvY3VtZW50LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQu
d3JpdGVsbigiIik7DQpkb2N1bWVudC53cml0ZWxuKCIgICAgPHRhYmxlIGNs
YXNzPVwibWVzc2FnZVRhYmxlQWxsaWdubWVudFwiICBib3JkZXI9XCIwXCIg
YWxpZ249XCJjZW50ZXJcIiAgY2VsbHNwYWNpbmc9XCIwXCIgY2VsbHBhZGRp
bmc9XCIwXCI+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIgICAgPHRyPiIpOw0K
ZG9jdW1lbnQud3JpdGVsbigiICAgICAgICA8dGQgIGNsYXNzPVwidGV4dEZv
cm1IZWFkXCIgPjxcL3RkPiIpOw0KZG9jdW1lbnQud3JpdGVsbigiICAgICAg
ICA8dGQgIGNsYXNzPVwidGV4dEZvcm1IZWFkXCIgPjxcL3RkPiIpOw0KZG9j
dW1lbnQud3JpdGVsbigiIik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRv
Y3VtZW50LndyaXRlbG4oIiAgICA8XC90cj4iKTsNCmRvY3VtZW50LndyaXRl
bG4oIiAgICA8XC90YWJsZT4iKTsNCmRvY3VtZW50LndyaXRlbG4oIgk8dGFi
bGUgY2xhc3M9XCJtZXNzYWdlVGFibGVBbGxpZ25tZW50XCIgYm9yZGVyPVwi
MFwiIGFsaWduPVwiY2VudGVyXCIgYmdDb2xvcj1cIiNlNGU0ZTRcIiAgY2Vs
bHNwYWNpbmc9XCIwXCIgY2VsbHBhZGRpbmc9XCIwXCIgIGlkPVwiY29tbWVy
Y2lhbEFkZHJlc3NVcGRhdGVcIj4iKTsNCmRvY3VtZW50LndyaXRlbG4oIgkJ
CTx0ciBjbGFzcz1cImZvcm1FbGVtZW50TWVzc2FnZUNhcHRpb25cIj4iKTsN
CmRvY3VtZW50LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQud3JpdGVsbigiIik7
DQpkb2N1bWVudC53cml0ZWxuKCIJCQkJPHRkIHdpZHRoPVwiNVwiPjxcL3Rk
PiIpOw0KZG9jdW1lbnQud3JpdGVsbigiCQkJCTx0ZCBjbGFzcz1cImZvcm1F
bGVtZW50TWVzc2FnZUNhcHRpb25cIj48XC90ZD4iKTsNCmRvY3VtZW50Lndy
aXRlbG4oIgkJCQk8dGQgIGNsYXNzPVwiZm9ybUVsZW1lbnRNZXNzYWdlQ2Fw
dGlvblwiIGFsaWduPVwiY2VudGVyXCI+IittZXNzYWdlKyIgPFwvdGQ+Iik7
DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50LndyaXRlbG4oIiIp
Ow0KZG9jdW1lbnQud3JpdGVsbigiCQkJCTx0ZCBjbGFzcz1cIndoaXRlQmdc
Ij48aW1nIHNyYz1cIi4uL2ltYWdlcy9ibGFuay5naWZcIiBoZWlnaHQ9XCIx
XCIgd2lkdGg9XCIxXCI+PFwvdGQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIi
KTsNCmRvY3VtZW50LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQud3JpdGVsbigi
CQkJPFwvdHI+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50
LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQud3JpdGVsbigiCQkJPHRyIGNsYXNz
PVwiZm9ybUVsZW1lbnRDYXB0aW9uXCI+Iik7DQpkb2N1bWVudC53cml0ZWxu
KCIJCQkJPHRkIGNvbHNwYW49XCI5XCIgPiIpOw0KZG9jdW1lbnQud3JpdGVs
bigiCQkJCQk8dGFibGUgICBib3JkZXI9XCIwXCIgIGNlbGxzcGFjaW5nPVwi
MFwiIGNlbGxwYWRkaW5nPVwiMFwiIGFsaWduPWNlbnRlcj4iKTsNCmRvY3Vt
ZW50LndyaXRlbG4oIiAgICAgICAgICAgIAkJCQk8dHIgPiIpOw0KZG9jdW1l
bnQud3JpdGVsbigiCQkJCQkJCTx0ZCBjb2xzcGFuPVwiNFwiIGFsaWduPVwi
Y2VudGVyXCIgY2xhc3M9XCJidXR0b25CaWdURFwiID4iKTsNCmRvY3VtZW50
LndyaXRlbG4oIgkJCQkJCQk8YSBocmVmPVwiIiArIGRlc3RpbmF0aW9uICsg
IlwiIGNsYXNzPVwiYnV0dG9uQmlnXCIgdGl0bGU9XCJcIiBvbm1vdXNlb3Zl
cj1cInJldHVybiBmYWxzZVwiIG9ubW91c2VvdXQ9XCJyZXR1cm4gZmFsc2Vc
Ij4iKTsNCmRvY3VtZW50LndyaXRlbG4oIgkJCQkJCQk8aW1nIHNyYz1cIi4u
L2ltYWdlcy9hcnJvd19yX3Jfc21hbGwuZ2lmXCIgYm9yZGVyPVwiMFwiPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO09LPFwvYT48XC90
ZD4iKTsNCmRvY3VtZW50LndyaXRlbG4oIgkJCQkJCQk8dGQ+Jm5ic3A7PFwv
dGQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJCQkJCQk8XC90cj4iKTsNCmRv
Y3VtZW50LndyaXRlbG4oIiAgIAkJCQkgPFwvdGFibGU+Iik7DQpkb2N1bWVu
dC53cml0ZWxuKCIgICAgICAgICIpOw0KZG9jdW1lbnQud3JpdGVsbigiICAg
ICAgICAgICAgCQk8dHI+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIgICAgICAg
ICAgICAgICAgCQkJPHRkIGNsYXNzPVwid2hpdGVCZ1wiIGNvbHNwYW49XCI5
XCI+PGltZyBzcmM9XCIuLi9pbWFnZXMvYmxhbmsuZ2lmXCIgaGVpZ2h0PVwi
MVwiIHdpZHRoPVwiMVwiPjxcL3RkPiIpOw0KZG9jdW1lbnQud3JpdGVsbigi
ICAgICAgICAgICAgCQk8XC90cj4iKTsNCmRvY3VtZW50LndyaXRlbG4oIiAg
ICAgICAgICAgIAkJPHRyPiIpOw0KZG9jdW1lbnQud3JpdGVsbigiICAgICAg
ICAgICAgICAgIAkJCTx0ZCBjbGFzcz1cIndoaXRlQmdcIiBjb2xzcGFuPVwi
OVwiPjxpbWcgc3JjPVwiLi4vaW1hZ2VzL2JsYW5rLmdpZlwiIGhlaWdodD1c
IjFcIiB3aWR0aD1cIjFcIj48XC90ZD4iKTsNCmRvY3VtZW50LndyaXRlbG4o
IiAgICAgICAgICAgIAkJPFwvdHI+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIg
ICAgICAgICAgICAJCTx0cj4iKTsNCmRvY3VtZW50LndyaXRlbG4oIiAgICAg
ICAgICAgICAgICAJCQk8dGQgY2xhc3M9XCJ3aGl0ZUJnXCIgY29sc3Bhbj1c
IjlcIj48aW1nIHNyYz1cIi4uL2ltYWdlcy9ibGFuay5naWZcIiBoZWlnaHQ9
XCIxXCIgd2lkdGg9XCIxXCI+PFwvdGQ+Iik7DQpkb2N1bWVudC53cml0ZWxu
KCIgICAgICAgICAgICAJCTxcL3RyPiIpOw0KZG9jdW1lbnQud3JpdGVsbigi
CQkJPFwvdGQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJCTxcL3RyPiIpOw0K
ZG9jdW1lbnQud3JpdGVsbigiCTxcL3RhYmxlPiIpOw0KZG9jdW1lbnQud3Jp
dGVsbigiIik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50Lndy
aXRlbG4oIjxcL2Zvcm0+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRv
Y3VtZW50LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQud3JpdGVsbigiPFwvQk9E
WT4iKTsNCmRvY3VtZW50LndyaXRlbG4oIjxcL0hUTUw+Iik7DQp9DQoNCg0K
Ly90ZW1wb3JhcnkgZnVuY3Rpb24gZm9yIG1lc3NhZ2Ugd2lsbCBiZSByZXBs
YWNlZCBieSBjb21tb24ganNwIGZ1bmN0aW9uDQpmdW5jdGlvbiBkZWxldGVN
ZXNzYWdlKG1lc3NhZ2UscGFnZU5hbWUpDQp7DQoNCg0KZG9jdW1lbnQud3Jp
dGVsbigiPGh0bWw+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRvY3Vt
ZW50LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQud3JpdGVsbigiPGhlYWQ+Iik7
DQoNCg0KDQpkb2N1bWVudC53cml0ZWxuKCIgICAgPGxpbmsgaHJlZj1cIi4u
L2NvbW1vbi9TdHlsZVNoZWV0LmNzc1wiIHJlbD1cInN0eWxlc2hlZXRcIiB0
eXBlPVwidGV4dC9jc3NcIj4iKTsNCmRvY3VtZW50LndyaXRlbG4oIiAgICA8
c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIiBsYW5ndWFnZT1cIkph
dmFzY3JpcHQxLjFcIj4gPFwvc2NyaXB0PiIpOw0KDQoNCg0KZG9jdW1lbnQu
d3JpdGVsbigiICAgIDxzY3JpcHQgbGFuZ3VhZ2U9XCJqYXZhc2NyaXB0MS4z
XCIgc3JjPVwiLi4vanMvSW1hZ2VzLmpzXCI+PFwvc2NyaXB0PiIpOw0KZG9j
dW1lbnQud3JpdGVsbigiICAgIDxzY3JpcHQgbGFuZ3VhZ2U9XCJqYXZhc2Ny
aXB0MS4zXCIgc3JjPVwiLi4vanMvQ2FsZW5kYXIuanNcIj48XC9zY3JpcHQ+
Iik7DQpkb2N1bWVudC53cml0ZWxuKCIgICAgPHNjcmlwdCBsYW5ndWFnZT1c
ImphdmFzY3JpcHQxLjNcIiBzcmM9XCIuLi9qcy9Db21tb25GdW5jdGlvbnMu
anNcIj48XC9zY3JpcHQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJPHNjcmlw
dCBsYW5ndWFnZT1cIkphdmFzY3JpcHRcIj4iKTsNCmRvY3VtZW50LndyaXRl
bG4oIiIpOw0KZG9jdW1lbnQud3JpdGVsbigiCTxcL3NjcmlwdD4iKTsNCmRv
Y3VtZW50LndyaXRlbG4oIjxcL2hlYWQ+Iik7DQpkb2N1bWVudC53cml0ZWxu
KCI8Ym9keT4iKTsNCg0KDQoNCmRvY3VtZW50LndyaXRlbG4oIiA8Zm9ybSBu
YW1lPVwiQ29tbWVyY2lhbEFkZHJlc3NVcGRhdGVGb3JtXCI+Iik7DQpkb2N1
bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50LndyaXRlbG4oIgkiKTsNCmRv
Y3VtZW50LndyaXRlbG4oIgk8dGFibGU+Iik7DQpkb2N1bWVudC53cml0ZWxu
KCIJPHRyPiIpOw0KZG9jdW1lbnQud3JpdGVsbigiCQk8dGQgd2lkdGg9XCIy
OFwiPiZuYnNwOzxcL3RkPiIpOw0KZG9jdW1lbnQud3JpdGVsbigiCQk8dGQ+
PFwvdGQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJCTx0ZCB3aWR0aD1cIjI4
XCI+Jm5ic3A7PFwvdGQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJPFwvdHI+
Iik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50LndyaXRlbG4o
Igk8dHI+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJCTx0ZCBjbGFzcz1cIndo
aXRlQmdcIiBjb2xzcGFuPVwiM1wiPjxpbWcgc3JjPVwiLi4vaW1hZ2VzL2Js
YW5rLmdpZlwiIGhlaWdodD1cIjIxXCIgd2lkdGg9XCIxXCI+PFwvdGQ+Iik7
DQpkb2N1bWVudC53cml0ZWxuKCIJPFwvdHI+Iik7DQpkb2N1bWVudC53cml0
ZWxuKCIiKTsNCmRvY3VtZW50LndyaXRlbG4oIgk8XC90YWJsZT4iKTsNCmRv
Y3VtZW50LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQud3JpdGVsbigiIik7DQpk
b2N1bWVudC53cml0ZWxuKCIgICAgPHRhYmxlIGNsYXNzPVwibWVzc2FnZVRh
YmxlQWxsaWdubWVudFwiICBib3JkZXI9XCIwXCIgYWxpZ249XCJjZW50ZXJc
IiAgY2VsbHNwYWNpbmc9XCIwXCIgY2VsbHBhZGRpbmc9XCIwXCI+Iik7DQpk
b2N1bWVudC53cml0ZWxuKCIgICAgPHRyPiIpOw0KZG9jdW1lbnQud3JpdGVs
bigiICAgICAgICA8dGQgIGNsYXNzPVwidGV4dEZvcm1IZWFkXCIgPjxcL3Rk
PiIpOw0KZG9jdW1lbnQud3JpdGVsbigiICAgICAgICA8dGQgIGNsYXNzPVwi
dGV4dEZvcm1IZWFkXCIgPjxcL3RkPiIpOw0KZG9jdW1lbnQud3JpdGVsbigi
Iik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50LndyaXRlbG4o
IiAgICA8XC90cj4iKTsNCmRvY3VtZW50LndyaXRlbG4oIiAgICA8XC90YWJs
ZT4iKTsNCmRvY3VtZW50LndyaXRlbG4oIgk8dGFibGUgY2xhc3M9XCJtZXNz
YWdlVGFibGVBbGxpZ25tZW50XCIgYm9yZGVyPVwiMFwiIGFsaWduPVwiY2Vu
dGVyXCIgYmdDb2xvcj1cIiNlNGU0ZTRcIiAgY2VsbHNwYWNpbmc9XCIwXCIg
Y2VsbHBhZGRpbmc9XCIwXCIgIGlkPVwiY29tbWVyY2lhbEFkZHJlc3NVcGRh
dGVcIj4iKTsNCmRvY3VtZW50LndyaXRlbG4oIgkJCTx0ciBjbGFzcz1cImZv
cm1FbGVtZW50TWVzc2FnZUNhcHRpb25cIj4iKTsNCmRvY3VtZW50LndyaXRl
bG4oIiIpOw0KZG9jdW1lbnQud3JpdGVsbigiIik7DQpkb2N1bWVudC53cml0
ZWxuKCIJCQkJPHRkIHdpZHRoPVwiNVwiPjxcL3RkPiIpOw0KZG9jdW1lbnQu
d3JpdGVsbigiCQkJCTx0ZCBjbGFzcz1cImZvcm1FbGVtZW50TWVzc2FnZUNh
cHRpb25cIj48XC90ZD4iKTsNCmRvY3VtZW50LndyaXRlbG4oIgkJCQk8dGQg
IGNsYXNzPVwiZm9ybUVsZW1lbnRNZXNzYWdlQ2FwdGlvblwiIGFsaWduPVwi
Y2VudGVyXCI+IittZXNzYWdlKyIgPFwvdGQ+Iik7DQpkb2N1bWVudC53cml0
ZWxuKCIiKTsNCmRvY3VtZW50LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQud3Jp
dGVsbigiCQkJCTx0ZCBjbGFzcz1cIndoaXRlQmdcIj48aW1nIHNyYz1cIi4u
L2ltYWdlcy9ibGFuay5naWZcIiBoZWlnaHQ9XCIxXCIgd2lkdGg9XCIxXCI+
PFwvdGQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50Lndy
aXRlbG4oIiIpOw0KZG9jdW1lbnQud3JpdGVsbigiCQkJPFwvdHI+Iik7DQpk
b2N1bWVudC53cml0ZWxuKCIiKTsNCmRvY3VtZW50LndyaXRlbG4oIiIpOw0K
ZG9jdW1lbnQud3JpdGVsbigiCQkJPHRyIGNsYXNzPVwiZm9ybUVsZW1lbnRD
YXB0aW9uXCI+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJCQkJPHRkIGNvbHNw
YW49XCI5XCIgPiIpOw0KZG9jdW1lbnQud3JpdGVsbigiCQkJCQk8dGFibGUg
ICBib3JkZXI9XCIwXCIgIGNlbGxzcGFjaW5nPVwiMFwiIGNlbGxwYWRkaW5n
PVwiMFwiIGFsaWduPWNlbnRlcj4iKTsNCmRvY3VtZW50LndyaXRlbG4oIiAg
ICAgICAgICAgIAkJCQk8dHIgPiIpOw0KZG9jdW1lbnQud3JpdGVsbigiCQkJ
CQkJCTx0ZCBjb2xzcGFuPVwiNFwiIGFsaWduPVwiY2VudGVyXCIgY2xhc3M9
XCJidXR0b25CaWdURFwiID4iKTsNCg0KDQoNCmlmKHBhZ2VOYW1lICE9ICdB
Y2NvdW50UXVlcnkuaHRtbCcpDQp7DQoJZG9jdW1lbnQud3JpdGVsbigiPGEg
aHJlZj1cIkFjY291bnREZXRhaWxzLmh0bWxcIiBjbGFzcz1cImJ1dHRvbkJp
Z1wiIHRpdGxlPVwiXCIgb25tb3VzZW92ZXI9XCJyZXR1cm4gZmFsc2VcIiBv
bm1vdXNlb3V0PVwicmV0dXJuIGZhbHNlXCI+Iik7DQp9DQplbHNlDQp7DQoJ
ZG9jdW1lbnQud3JpdGVsbigiPGEgaHJlZj1cIkFjY291bnRRdWVyeS5odG1s
XCIgY2xhc3M9XCJidXR0b25CaWdcIiB0aXRsZT1cIlwiIG9ubW91c2VvdmVy
PVwicmV0dXJuIGZhbHNlXCIgb25tb3VzZW91dD1cInJldHVybiBmYWxzZVwi
PiIpOw0KfQ0KDQoNCg0KZG9jdW1lbnQud3JpdGVsbigiCQkJCQkJCTxpbWcg
c3JjPVwiaHR0cHM6Ly9teWFjY291bnQuZGhsLmNvbS9NeUFjY291bnQvaW1h
Z2VzL2Fycm93X3Jfcl9zbWFsbC5naWZcIiBib3JkZXI9XCIwXCI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7T0s8XC9hPjxcL3RkPiIp
Ow0KZG9jdW1lbnQud3JpdGVsbigiCQkJCQkJCTx0ZD4mbmJzcDs8XC90ZD4i
KTsNCmRvY3VtZW50LndyaXRlbG4oIgkJCQkJCTxcL3RyPiIpOw0KZG9jdW1l
bnQud3JpdGVsbigiICAgCQkJCSA8XC90YWJsZT4iKTsNCmRvY3VtZW50Lndy
aXRlbG4oIiAgICAgICAgIik7DQpkb2N1bWVudC53cml0ZWxuKCIgICAgICAg
ICAgICAJCTx0cj4iKTsNCmRvY3VtZW50LndyaXRlbG4oIiAgICAgICAgICAg
ICAgICAJCQk8dGQgY2xhc3M9XCJ3aGl0ZUJnXCIgY29sc3Bhbj1cIjlcIj48
aW1nIHNyYz1cImh0dHBzOi8vbXlhY2NvdW50LmRobC5jb20vTXlBY2NvdW50
L2ltYWdlcy9ibGFuay5naWZcIiBoZWlnaHQ9XCIxXCIgd2lkdGg9XCIxXCI+
PFwvdGQ+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIgICAgICAgICAgICAJCTxc
L3RyPiIpOw0KZG9jdW1lbnQud3JpdGVsbigiICAgICAgICAgICAgCQk8dHI+
Iik7DQpkb2N1bWVudC53cml0ZWxuKCIgICAgICAgICAgICAgICAgCQkJPHRk
IGNsYXNzPVwid2hpdGVCZ1wiIGNvbHNwYW49XCI5XCI+PGltZyBzcmM9XCIu
Li9pbWFnZXMvYmxhbmsuZ2lmXCIgaGVpZ2h0PVwiMVwiIHdpZHRoPVwiMVwi
PjxcL3RkPiIpOw0KZG9jdW1lbnQud3JpdGVsbigiICAgICAgICAgICAgCQk8
XC90cj4iKTsNCmRvY3VtZW50LndyaXRlbG4oIiAgICAgICAgICAgIAkJPHRy
PiIpOw0KZG9jdW1lbnQud3JpdGVsbigiICAgICAgICAgICAgICAgIAkJCTx0
ZCBjbGFzcz1cIndoaXRlQmdcIiBjb2xzcGFuPVwiOVwiPjxpbWcgc3JjPVwi
Li4vaW1hZ2VzL2JsYW5rLmdpZlwiIGhlaWdodD1cIjFcIiB3aWR0aD1cIjFc
Ij48XC90ZD4iKTsNCg0KDQoNCmRvY3VtZW50LndyaXRlbG4oIiAgICAgICAg
ICAgIAkJPFwvdHI+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIJCQk8XC90ZD4i
KTsNCmRvY3VtZW50LndyaXRlbG4oIgkJPFwvdHI+Iik7DQpkb2N1bWVudC53
cml0ZWxuKCIJPFwvdGFibGU+Iik7DQpkb2N1bWVudC53cml0ZWxuKCIiKTsN
CmRvY3VtZW50LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQud3JpdGVsbigiPFwv
Zm9ybT4iKTsNCmRvY3VtZW50LndyaXRlbG4oIiIpOw0KZG9jdW1lbnQud3Jp
dGVsbigiIik7DQpkb2N1bWVudC53cml0ZWxuKCI8XC9CT0RZPiIpOw0KZG9j
dW1lbnQud3JpdGVsbigiPFwvSFRNTD4iKTsNCg0KDQoNCn0NCg0KDQoNCg0K
ZnVuY3Rpb24gb3BlbkN1c3RvbWVyUG9wdXAoKXsNCi8vCXdpbmRvdy5zaG93
TW9kYWxEaWFsb2coInNlbGVjdF9jdXN0b21lci5odG0iLCJjdXN0b21lciIs
IndpZHRoPTU4ODtoZWlnaHQ9MjIwO2xlZnQ9MTUwO3RvcD0yMDA7Iik7DQoJ
d2luZG93Lm9wZW4oJ3NlbGVjdF9jdXN0b21lci5odG0nLCdjdXN0b21lcics
J3dpZHRoPTU4OCxoZWlnaHQ9MzUwLGxlZnQ9MjAwLHRvcD0yMDAnKTsNCg0K
fQ0KDQpmdW5jdGlvbiBvcGVuQWdyZWVtZW50UG9wdXAoKXsNCgl3aW5kb3cu
b3Blbigic2VsZWN0X2N1c3RvbWVyQWdyZWVtZW50Lmh0bSIsImN1c3RvbWVy
YWdyZWVtZW50Iiwnd2lkdGg9NTg4LGhlaWdodD0zNTAsbGVmdD0yMDAsdG9w
PTIwMCcpOw0KfQ0KDQoNCmZ1bmN0aW9uIG9wZW5BY2NvdW50R3JvdXBQb3B1
cCgpew0KCXdpbmRvdy5vcGVuKCJzZWxlY3RfQWNjb3VudEdyb3VwLmh0bWwi
LCJhY2NvdW50R3JvdXAiLCd3aWR0aD0yODgsaGVpZ2h0PTM1MCxsZWZ0PTIw
MCx0b3A9MjAwJyk7DQp9DQoNCmZ1bmN0aW9uIGdldFByZXZpb3VzUGFnZU5h
bWUoKQ0Kew0KCXZhciBhcmdzID0gbmV3IE9iamVjdCgpOw0KCXZhciBxdWVy
eSA9IGxvY2F0aW9uLnNlYXJjaDsNCgl2YXIgcGFpcnMgPSBxdWVyeS5zcGxp
dCgnJicpOw0KCXZhciBwb3MgPSBwYWlyc1swXS5pbmRleE9mKCc9Jyk7DQoJ
aWYocG9zICE9IC0xICkgDQoJew0KCQl2YXIgYXJnbmFtZSA9IHBhaXJzWzBd
LnN1YnN0cmluZygwLHBvcyk7DQoJCXZhciB2YWx1ZSA9IHBhaXJzWzBdLnN1
YnN0cmluZyhwb3MgKyAxKTsNCgl9DQoJcmV0dXJuIHZhbHVlOw0KfQ0KDQog
IA0KLy8gVGhlIG1ldGhvZCBnZXRzIHRoZSBzdHJpbmcgYW5kIHJldHVybnMg
dHJ1ZSBpZiBpdHMgbnVtZXJpYyBlbHNlIGZhbHNlLg0KLy8gQHJldHVybiBT
dHJpbmcgdGhlIGNvdW50cnkgbGlzdCBjb3JyZXNwb25kaW5nIHRvIGNvdW50
cnkgY29kZS4NCg0KZnVuY3Rpb24gVmFsaWRhdGVOdW1lcmljKHRlc3RzdHJp
bmcpIA0KICB7IA0KCSAgcmVnRGF0YSA9IC9bXjAtOV5dL2c7IA0KCSAgaWYg
KHRlc3RzdHJpbmcubWF0Y2gocmVnRGF0YSkpIA0KCSAgeyANCgkJICByZXR1
cm4gdHJ1ZTsNCgkgIH0gDQoJICByZXR1cm4gZmFsc2U7IA0KICB9IA0KDQov
LyBUaGUgbWV0aG9kIGdldHMgdGhlIHN0cmluZyBhbmQgcmV0dXJucyB0cnVl
IGlmIGl0cyBudW1lcmljIG9yIGRlY2ltYWwgZWxzZSBmYWxzZS4NCi8vIEBy
ZXR1cm4gU3RyaW5nIHRoZSBjb3VudHJ5IGxpc3QgY29ycmVzcG9uZGluZyB0
byBjb3VudHJ5IGNvZGUuDQoNCmZ1bmN0aW9uIFZhbGlkYXRlRGVjaW1hbCh0
ZXN0c3RyaW5nKSANCiAgeyANCgkgIHJlZ0RhdGEgPSAvW14wLTleLl5dL2c7
IA0KCSAgaWYgKHRlc3RzdHJpbmcubWF0Y2gocmVnRGF0YSkpIA0KCSAgeyAN
CgkJICByZXR1cm4gdHJ1ZTsNCgkgIH0gDQoJICByZXR1cm4gZmFsc2U7IA0K
ICB9IA0KDQogIA0KLy8gVGhlIG1ldGhvZCBnZXRzIHRoZSBzdHJpbmcgYW5k
IHJldHVybnMgdHJ1ZSBpZiBpdHMgYWxwaGEgbnVtZXJpYyBlbHNlIGZhbHNl
Lg0KLy8gQHJldHVybiBTdHJpbmcgdGhlIGNvdW50cnkgbGlzdCBjb3JyZXNw
b25kaW5nIHRvIGNvdW50cnkgY29kZS4NCg0KZnVuY3Rpb24gVmFsaWRhdGVB
bHBoYU51bWVyaWModGVzdHN0cmluZykNCiAgew0KCSAgcmVnRGF0YSA9IC9b
XmEtel5BLVpeMC05Xi5eLF4nXiZeXC1eKF4pXiNeK14gXS9nIA0KCSAgaWYg
KHRlc3RzdHJpbmcubWF0Y2gocmVnRGF0YSkpIA0KCSAgeyANCgkJICByZXR1
cm4gdHJ1ZTsNCgkgIH0gDQoJICByZXR1cm4gZmFsc2U7IA0KICB9DQoNCgkJ
Ly9UaGlzIGZ1bmN0aW9uIHZhbGlkYXRlcyBlLW1haWwgYWRkcmVzc2VzDQpm
dW5jdGlvbiBmblZhbGlkYXRlRW1haWwoZW1haWxfYWRkcmVzcykNCnsNCiAg
Ly9Bc3N1bWVzIHRoYXQgdmFsaWQgZW1haWwgYWRkcmVzc2VzIGNvbnNpc3Qg
b2YgdXNlcl9uYW1lQGRvbWFpbi50bGQNCiAgYXQgPSBlbWFpbF9hZGRyZXNz
LmluZGV4T2YoJ0AnKTsNCiAgZG90ID0gZW1haWxfYWRkcmVzcy5sYXN0SW5k
ZXhPZignLicpOw0KDQogIGlmKGF0ID09IC0xIHx8IA0KICAgIGRvdCA9PSAt
MSB8fCANCiAgICBkb3QgPD0gYXQgKyAxIHx8DQogICAgZG90ID09IDAgfHwg
DQogICAgZG90ID09IGVtYWlsX2FkZHJlc3MubGVuZ3RoIC0gMSkNCiAgICBy
ZXR1cm4oZmFsc2UpOw0KICAgICANCiAgdXNlcl9uYW1lID0gZW1haWxfYWRk
cmVzcy5zdWJzdHIoMCwgYXQpOw0KICBkb21haW5fbmFtZSA9IGVtYWlsX2Fk
ZHJlc3Muc3Vic3RyKGF0ICsgMSwgZW1haWxfYWRkcmVzcy5sZW5ndGgpOyAg
ICAgICAgICAgICAgICAgIA0KDQogIGlmKFZhbGlkYXRlX1N0cmluZyh1c2Vy
X25hbWUpID09PSBmYWxzZSB8fCANCiAgICBWYWxpZGF0ZV9TdHJpbmcoZG9t
YWluX25hbWUpID09PSBmYWxzZSkNCiAgICByZXR1cm4oZmFsc2UpOyAgICAg
ICAgICAgICAgICAgICAgIA0KDQogIHJldHVybih0cnVlKTsNCn0NCg0KZnVu
Y3Rpb24gVmFsaWRhdGVfU3RyaW5nKHN0cmluZywgcmV0dXJuX2ludmFsaWRf
Y2hhcnMpIHsNCiAgdmFsaWRfY2hhcnMgPSAnMTIzNDU2Nzg5MC1fLmFiY2Rl
ZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldY
WVonOw0KICBpbnZhbGlkX2NoYXJzID0gJyc7DQogIGlmKHN0cmluZyA9PSBu
dWxsIHx8IHN0cmluZyA9PSAnJykNCiAgICAgcmV0dXJuKHRydWUpOw0KDQog
IC8vRm9yIGV2ZXJ5IGNoYXJhY3RlciBvbiB0aGUgc3RyaW5nLiAgIA0KICBm
b3IoaW5kZXggPSAwOyBpbmRleCA8IHN0cmluZy5sZW5ndGg7IGluZGV4Kysp
IHsNCiAgICBjaGFyID0gc3RyaW5nLnN1YnN0cihpbmRleCwgMSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgDQogICAgIA0KICAgIC8vSXMgaXQgYSB2YWxp
ZCBjaGFyYWN0ZXI/DQogICAgaWYodmFsaWRfY2hhcnMuaW5kZXhPZihjaGFy
KSA9PSAtMSkgew0KICAgICAgLy9JZiBub3QsIGlzIGl0IGFscmVhZHkgb24g
dGhlIGxpc3Qgb2YgaW52YWxpZCBjaGFyYWN0ZXJzPw0KICAgICAgaWYoaW52
YWxpZF9jaGFycy5pbmRleE9mKGNoYXIpID09IC0xKSB7DQogICAgICAgIC8v
SWYgaXQncyBub3QsIGFkZCBpdC4NCiAgICAgICAgaWYoaW52YWxpZF9jaGFy
cyA9PSAnJykNCiAgICAgICAgICBpbnZhbGlkX2NoYXJzICs9IGNoYXI7DQog
ICAgICAgIGVsc2UNCiAgICAgICAgICBpbnZhbGlkX2NoYXJzICs9ICcsICcg
KyBjaGFyOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KICAgICAgICAgICAgDQog
IC8vSWYgdGhlIHN0cmluZyBkb2VzIG5vdCBjb250YWluIGludmFsaWQgY2hh
cmFjdGVycywgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIHRydWUuDQogIC8v
SWYgaXQgZG9lcywgaXQgd2lsbCBlaXRoZXIgcmV0dXJuIGZhbHNlIG9yIGEg
bGlzdCBvZiB0aGUgaW52YWxpZCBjaGFyYWN0ZXJzIHVzZWQNCiAgLy9pbiB0
aGUgc3RyaW5nLCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIHRoZSBzZWNv
bmQgcGFyYW1ldGVyLg0KICBpZihyZXR1cm5faW52YWxpZF9jaGFycyA9PSB0
cnVlICYmIGludmFsaWRfY2hhcnMgIT0gJycpIHsNCiAgICBsYXN0X2NvbW1h
ID0gaW52YWxpZF9jaGFycy5sYXN0SW5kZXhPZignLCcpOw0KICAgIGlmKGxh
c3RfY29tbWEgIT0gLTEpDQogICAgICBpbnZhbGlkX2NoYXJzID0gaW52YWxp
ZF9jaGFycy5zdWJzdHIoMCwgJGxhc3RfY29tbWEpICsgDQogICAgICAnIGFu
ZCAnICsgaW52YWxpZF9jaGFycy5zdWJzdHIobGFzdF9jb21tYSArIDEsIGlu
dmFsaWRfY2hhcnMubGVuZ3RoKTsNCiAgICByZXR1cm4oaW52YWxpZF9jaGFy
cyk7DQogICAgfQ0KICBlbHNlDQogICAgcmV0dXJuKGludmFsaWRfY2hhcnMg
PT0gJycpOyANCn0NCg0KLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIGZhbHNl
IGlmIHRoZSBzcGVjaWZpZWQgc3RyaW5nDQovLyBjb250YWlucyBhbnkgY2hh
cmFjdGVyIG90aGVyIHRoYW4gW2Etel1bQS1aXVswLTldIC4gLCBAICcNCi8v
TW9kaWZpZWQgYnkgUmFqZWV2IG9uIDE1dGggT2N0IDIwMDQgdG8gYWRkICst
KCkNCmZ1bmN0aW9uIGZuSXNWYWxpZERhdGEodGVzdHN0cmluZykNCnsNCiAg
ICByZWdEYXRhID0gL1teYS16XkEtWl4wLTleLl4sXkBeJ14mXlwtXiheKV4j
XiteIF0vZw0KICAgIGlmICh0ZXN0c3RyaW5nLm1hdGNoKHJlZ0RhdGEpKQ0K
ICAgIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UNCiAgICB9DQog
ICAgcmV0dXJuIHRydWUNCn0NCg0KDQovLyAxLiBQaG9uZSBOdW1iZXIsIDIu
IEZheCBOdW1iZXINCi8vIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBmYWxzZSBp
ZiB0aGUgc3BlY2lmaWVkIHN0cmluZw0KLy8gY29udGFpbnMgYW55IGNoYXJh
Y3RlciBvdGhlciB0aGFuIFswLTldLStbIF0NCg0KZnVuY3Rpb24gZm5Jc1Zh
bGlkUGhvbmVOdW1iZXIodGVzdHN0cmluZykNCnsNCiAgICByZWdEYXRhID0g
L1teMC05XiteXC1eIF0vZw0KICAgIGlmICh0ZXN0c3RyaW5nLm1hdGNoKHJl
Z0RhdGEpKQ0KICAgIHsNCiAgICAJDQogICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlDQogICAgfQ0KICAgIHJldHVybiB0cnVlDQp9DQoNCmZ1bmN0aW9u
IGZuVmFsaWRhdGVBY2NvdW50TnVtYmVyKHRlc3RTdHJpbmcpDQp7DQoNCiAg
ICByZWdEYXRhID0gL1teYS16XkEtWl4wLTleXS9nIA0KICAgIGlmICh0ZXN0
U3RyaW5nLm1hdGNoKHJlZ0RhdGEpKQ0KICAgIHsNCiAgICAJYWxlcnQoIlBs
ZWFzZSBiZSBpbmZvcm1lZCB0aGF0IHRoaXMgaXMgbm90IHRoZSBzdGFuZGFy
ZCBhY2NvdW50IG51bWJlciBjb252ZW50aW9uLiIpOw0KICAgIH0NCiAgIA0K
fQ0KDQoNCmZ1bmN0aW9uIGRpc2FibGVTdGF0dXNlcygpIA0KeyANCg0KDQp9
DQpmdW5jdGlvbiBibGFua1N0YXR1cygpIHsgd2luZG93LnN0YXR1cyA9ICIi
IDsgcmV0dXJuIHRydWUgOyB9IDwvc2NyaXB0Pg0KPHNjcmlwdCBsYW5ndWFn
ZT0iamF2YXNjcmlwdDEuMyI+DQoNCg0KLyogQ2hhbmdlIGZvciBTZXR0aW5n
IHRoZSBsb2dpbiBpbnRvIHRvcCBmcmFtZSBiZWdpbnMgNCBub3YgMDggKi8N
CmlmKHBhcmVudC5sb2NhdGlvbi5ocmVmIT1sb2NhdGlvbi5ocmVmKSB0b3Au
bG9jYXRpb24uaHJlZj1sb2NhdGlvbi5ocmVmOw0KLyogQ2hhbmdlIGZvciBT
ZXR0aW5nIHRoZSBsb2dpbiBpbnRvIHRvcCBmcmFtZSBlbmRzIDQgbm92IDA4
ICovDQoNCiAgdmFyIHN1Ym1pdCA9IDA7DQogIHZhciBjb3VudCA9IGZhbHNl
Ow0KICBmdW5jdGlvbiBmblN1Ym1pdCggKQ0KICB7DQogIA0KICAJICAgICAg
DQogICAgICBpZiAoc3VibWl0ID09IDAgICYmIHZhbGlkYXRlKCBkb2N1bWVu
dC5mb3Jtc1swXSApICkNCiAgICAgIHsNCiAgICAgICAgc3VibWl0ID0gMTsN
CiAgICAJDQogICAgCWlmKGRvY3VtZW50LmZvcm1zWzBdLnJlbWVtYmVyVXNl
ci5jaGVja2VkID09IHRydWUpDQogICAgCXsNCiAgICAJDQogICAgCSBmblNl
dENvb2tpZSgncmVtZW1iZXJNZScsZG9jdW1lbnQuZm9ybXNbMF0udXNlcklk
LnZhbHVlLDMwKTsNCiAgICAJfQ0KICAgIAllbHNlDQoJCXsNCgkJCWZuU2V0
Q29va2llKCdyZW1lbWJlck1lJyxkb2N1bWVudC5mb3Jtc1swXS51c2VySWQu
dmFsdWUsLTEpOw0KCQl9DQogICAgCWRvY3VtZW50LmZvcm1zWzBdLnNlbGVj
dGVkTGFuZy52YWx1ZSA9IGRvY3VtZW50LmZvcm1zWzBdLmxhbmd1YWdlLnZh
bHVlOw0KICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS5zdWJtaXQoICk7DQoJ
ICB9DQoJICANCiAgfQ0KDQogIGZ1bmN0aW9uIHZhbGlkYXRlKCBmcm0gKQ0K
ICB7DQoNCgkgIC8vIENoYW5nZSBtYWRlIHRvIGNvbnZlcnQgdGhlIFVTRVIg
SUQgZW50ZXJlZCB0byBsb3dlcmNhc2UgYmVmb3JlIHN1Ym1pdHRpbmcNCgkg
IA0KCSAgZG9jdW1lbnQuZm9ybXNbMF0udXNlcklkLnZhbHVlID0gZG9jdW1l
bnQuZm9ybXNbMF0udXNlcklkLnZhbHVlLnRvTG93ZXJDYXNlKCk7DQoNCgkg
IGlmKCBmblRyaW0oIGZybS51c2VySWQudmFsdWUgKSA9PSAiIiApDQoJICB7
DQoJICAgICAgYWxlcnQoICIgUGxlYXNlIGVudGVyIHRoZSBVc2VyIElkICIg
KTsNCgkJICBmcm0udXNlcklkLmZvY3VzKCk7DQoJCSAgcmV0dXJuIGZhbHNl
Ow0KCSAgfQ0KCSAgaWYoICFmblZhbGlkYXRlRW1haWwoIGZuVHJpbSggZnJt
LnVzZXJJZC52YWx1ZSApICkgKQ0KCSAgew0KCQkJYWxlcnQoIiBVc2VyIGlk
IHNob3VsZCBiZSBhIHZhbGlkIGVtYWlsIGlkICIpOw0KCQkJZnJtLnVzZXJJ
ZC5mb2N1cygpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCSAgfQ0KCSAgLy8gQ2hh
bmdlIG1hZGUgdG8gaW5jcmVhc2Ugc2l6ZSBvZiB1c2VyIGlkIGZpZWxkIHRv
IDYwDQoJICBpZiggZnJtLnVzZXJJZC52YWx1ZS5sZW5ndGggPCA0IHx8IGZy
bS51c2VySWQudmFsdWUubGVuZ3RoID4gNjAgKQ0KCSAgew0KCQkJYWxlcnQo
IiBVc2VySWQgc2hvdWxkIGJlIG9mIG1pbmltdW0gNCBhbmQgTWF4aW11bSA0
MCBjaGFyYWN0ZXJzICIpOw0KCQkJZnJtLnVzZXJJZC5mb2N1cygpOw0KCQkJ
cmV0dXJuIGZhbHNlOw0KCSAgfQ0KCSAgDQogICAgICBpZiggZm5UcmltKCBm
cm0ucGFzc3dvcmQudmFsdWUgKSA9PSAiIiApDQoJICB7DQoJICAgICAgYWxl
cnQoICIgUGxlYXNlIGVudGVyIHRoZSBQYXNzd29yZCAiICk7DQoJCSAgZnJt
LnBhc3N3b3JkLmZvY3VzKCk7DQoJCSAgcmV0dXJuIGZhbHNlOw0KCSAgfQ0K
CSAgDQoJICBpZiggZnJtLmxhbmd1YWdlLnZhbHVlID09IlhYIiApDQoJICB7
DQoJCQlhbGVydCgiIFBsZWFzZSBzZWxlY3QgYSBMYW5nYXVnZSAiKTsNCgkJ
CWZybS5sYW5ndWFnZS5mb2N1cygpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCSAg
fQ0KCSAgDQoJICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICAgDQoJZnVuY3Rpb24g
Zm5SZWFkQ29va2llKGNvb2tpZU5hbWUpDQoJIHsNCgkNCgkgdmFyIHRoZUNv
b2tpZT0iIitkb2N1bWVudC5jb29raWU7DQoJIHZhciBpbmQ9dGhlQ29va2ll
LmluZGV4T2YoY29va2llTmFtZSk7DQoJIGlmIChpbmQ9PS0xIHx8IGNvb2tp
ZU5hbWU9PSIiKSByZXR1cm4gIiI7DQoJIHZhciBpbmQxPXRoZUNvb2tpZS5p
bmRleE9mKCc7JyxpbmQpOw0KCSBpZiAoaW5kMT09LTEpIGluZDE9dGhlQ29v
a2llLmxlbmd0aDsNCgkgcmV0dXJuIHVuZXNjYXBlKHRoZUNvb2tpZS5zdWJz
dHJpbmcoaW5kK2Nvb2tpZU5hbWUubGVuZ3RoKzEsaW5kMSkpOw0KCX0NCg0K
CWZ1bmN0aW9uIGNoZWNrQ29va2llcygpDQoJew0KCQ0KCQlmblNldENvb2tp
ZSgiY29va2llZW5hYmxlZCIsICJ0cnVlIiwgMSk7DQoJCXZhciBjb29raWVl
bmFibGVkID0gZm5SZWFkQ29va2llKCJjb29raWVlbmFibGVkIik7DQoJCWRl
bGV0ZUNvb2tpZSgiY29va2llZW5hYmxlZCIpOw0KCQkvKmlmICghKGNvb2tp
ZWVuYWJsZWQgPT0gInRydWUiKSkNCgkJew0KCQkJd2luZG93LmxvY2F0aW9u
LmhyZWYgPSAiL2pzcC9FcnJvci5qc3A/dXJsRXJyb3I9Q29va2llIjsNCgkJ
fSovDQoJfQ0KCWZ1bmN0aW9uIGZuU2V0Q29va2llKGNvb2tpZU5hbWUsY29v
a2llVmFsdWUsbkRheXMpDQoJIHsNCgkNCgkgdmFyIHRvZGF5ID0gbmV3IERh
dGUoKTsNCgkgdmFyIGV4cGlyZSA9IG5ldyBEYXRlKCk7DQoJIGlmIChuRGF5
cz09bnVsbCB8fCBuRGF5cz09MCkgbkRheXM9MTsNCgkgZXhwaXJlLnNldFRp
bWUodG9kYXkuZ2V0VGltZSgpICsgMzYwMDAwMCoyNCpuRGF5cyk7DQoJIGRv
Y3VtZW50LmNvb2tpZSA9IGNvb2tpZU5hbWUrIj0iK2VzY2FwZShjb29raWVW
YWx1ZSkNCgkgICAgICAgICAgICAgICAgICsgIjsgZXhwaXJlcz0iK2V4cGly
ZS50b0dNVFN0cmluZygpDQoJCQkJCSsgIjsgcGF0aD0vIiA7DQoJCQkJCS8v
KyAiOyBkb21haW49ZGhsLmNvbSIgDQoJfQ0KCWZ1bmN0aW9uIGRlbGV0ZUNv
b2tpZShuYW1lKQ0KCXsNCiAgICAJdmFyIGQgPSBuZXcgRGF0ZSgpOw0KCSAg
ICBkb2N1bWVudC5jb29raWUgPSBuYW1lICsgIj0xO2V4cGlyZXM9IiArIGQu
dG9HTVRTdHJpbmcoKSArICI7IGRvbWFpbj1kaGwuY29tIiArICI7IHBhdGg9
LyIgOw0KCX0NCgkNCiAgIGZ1bmN0aW9uIGZuRW50ZXIoICkNCiAgew0KICAg
aWYgKHdpbmRvdy5ldmVudC5rZXlDb2RlPT0xMykNCiAgICB7DQogICAgICBm
blN1Ym1pdCgpOw0KICAgIH0NCiAgfQ0KDQogLy8gVG8gY2FsbCBmblN1Ym1p
dGZ1bmN0aW9uIHdoZW4gZW50ZXIga2V5IGlzIHByZXNzZWQNCg0KCWRvY3Vt
ZW50Lm9ua2V5ZG93biA9IGZuRW50ZXINCg0KICBmdW5jdGlvbiBmblJlc2V0
KCkNCiAgew0KICAgIGRvY3VtZW50LmZvcm1zWzBdLnVzZXJJZC52YWx1ZT0i
IjsNCiAgICBkb2N1bWVudC5mb3Jtc1swXS5wYXNzd29yZC52YWx1ZT0iIjsN
CiAgICBkb2N1bWVudC5mb3Jtc1swXS5sYW5ndWFnZS52YWx1ZT0iZW5fVVMi
Ow0KICAgIGRvY3VtZW50LmZvcm1zWzBdLnJlbWVtYmVyVXNlci5jaGVja2Vk
ID0gZmFsc2U7DQogICAgZG9jdW1lbnQuZm9ybXNbMF0udXNlcklkLmZvY3Vz
KCk7DQogICAgIGlmKGRvY3VtZW50LmZvcm1zWzBdLnJlbWVtYmVyVXNlci5j
aGVja2VkID09IHRydWUpDQogICAgCXsNCiAgICAJDQogICAgCSBkb2N1bWVu
dC5mb3Jtc1swXS5yZW1lbWJlck1lU3RhdHVzLnZhbHVlID0gJ1knOw0KICAg
IAl9DQogICAgCWVsc2UNCgkJew0KICAgIAkgZG9jdW1lbnQuZm9ybXNbMF0u
cmVtZW1iZXJNZVN0YXR1cy52YWx1ZSA9ICdOJzsNCgkJfQ0KCQkNCiAgICBk
b2N1bWVudC5mb3Jtc1swXS5pc0xhbmdTZWxlY3RlZC52YWx1ZSA9ICJUUlVF
IjsNCiAgICANCiAgICBkb2N1bWVudC5mb3Jtc1swXS5hY3Rpb24udmFsdWUg
PSAiTG9jYWxlQ2hhbmdlIjsNCiAgICAgZG9jdW1lbnQuZm9ybXNbMF0uc2Vs
ZWN0ZWRMYW5nLnZhbHVlID0gZG9jdW1lbnQuZm9ybXNbMF0ubGFuZ3VhZ2Uu
dmFsdWU7DQogICAgZG9jdW1lbnQuZm9ybXNbMF0uc3VibWl0KCk7DQogIH0N
Cg0KLy8gRnVuY3Rpb24gdG8gc3dpdGNoIHRoZSBpbWFnZXMgaW4gYnV0dG9u
cw0KCWZ1bmN0aW9uIHN3YXBJbWFnZShpbWdOYW1lLGltZ1VybCl7DQoJaWYo
ZG9jdW1lbnQuaW1hZ2VzKXsNCglkb2N1bWVudC5pbWFnZXNbaW1nTmFtZV0u
c3JjPWltZ1VybDsNCgl9DQogIH0NCg0KCXdpbmRvdy5vbmxvYWQ9ZnVuY3Rp
b24oKQ0KCXsNCi8vCSAgIGZucmVzZXQoKTsNCg0KCSAgDQoNCiAgICAgIGlm
ICgnZW5fVVMnICE9ICJudWxsIikNCiAgICAgIHsNCiAgICAgIAlkb2N1bWVu
dC5mb3Jtc1swXS5sYW5ndWFnZS52YWx1ZT0nZW5fVVMnOw0KICAgICAgfQ0K
DQoJfQ0KCWZ1bmN0aW9uIGZucmVzZXQoKQ0KCXsNCi8qDQoJIGlmKGhpc3Rv
cnkubGVuZ3RoPjAgKQ0KCSAgew0KCQkgd2luZG93Lmhpc3RvcnkuZ28oKzEp
Ow0KCSAgfQ0KDQoJICBkb2N1bWVudC5mb3Jtc1swXS51c2VySWQudmFsdWU9
IiI7DQoJICBkb2N1bWVudC5mb3Jtc1swXS5wYXNzd29yZC52YWx1ZT0iIjsN
CiovDQoJfQ0KICBmdW5jdGlvbiBpbml0KCkNCiAgew0KICBkb2N1bWVudC5m
b3Jtc1swXS51c2VySWQudmFsdWU9IGZuUmVhZENvb2tpZSgncmVtZW1iZXJN
ZScpOw0KICBkb2N1bWVudC5mb3Jtc1swXS5wYXNzd29yZC52YWx1ZT0gJyc7
DQogIA0KICANCiAgfQ0KDQoNCg0KICBmdW5jdGlvbiBmbkNoYW5nZSgpDQog
IHsNCiAgDQoJICAgaWYoZG9jdW1lbnQuZm9ybXNbMF0ucmVtZW1iZXJVc2Vy
LmNoZWNrZWQgPT0gdHJ1ZSkNCiAgICAJew0KICAgIAkNCiAgICAJIGRvY3Vt
ZW50LmZvcm1zWzBdLnJlbWVtYmVyTWVTdGF0dXMudmFsdWUgPSAnWSc7DQog
ICAgCX0NCiAgICAJZWxzZQ0KCQl7DQogICAgCSBkb2N1bWVudC5mb3Jtc1sw
XS5yZW1lbWJlck1lU3RhdHVzLnZhbHVlID0gJ04nOw0KCQl9DQoJCQ0KICAg
IGRvY3VtZW50LmZvcm1zWzBdLmlzTGFuZ1NlbGVjdGVkLnZhbHVlID0gIlRS
VUUiOw0KICAgIA0KICAgIGRvY3VtZW50LmZvcm1zWzBdLmFjdGlvbi52YWx1
ZSA9ICJMb2NhbGVDaGFuZ2UiOw0KICAgICBkb2N1bWVudC5mb3Jtc1swXS5z
ZWxlY3RlZExhbmcudmFsdWUgPSBkb2N1bWVudC5mb3Jtc1swXS5sYW5ndWFn
ZS52YWx1ZTsNCiAgICBkb2N1bWVudC5mb3Jtc1swXS5zdWJtaXQoKTsNCiAg
fQ0KICANCiAgZnVuY3Rpb24gTmV3V2luZG93KG15cGFnZSxteW5hbWUsdyxo
LHNjcm9sbCxjZW50ZXIpew0KCQ0KCUxlZnRQb3NpdGlvbj0oc2NyZWVuLndp
ZHRoKT8oc2NyZWVuLndpZHRoLXcpLzI6MTAwO1RvcFBvc2l0aW9uPShzY3Jl
ZW4uaGVpZ2h0KT8oc2NyZWVuLmhlaWdodC1oKS8yOjEwMDsJDQoJc2V0dGlu
Z3M9J3dpZHRoPScrdysnLGhlaWdodD0nK2grJyx0b3A9JytUb3BQb3NpdGlv
bisnLGxlZnQ9JytMZWZ0UG9zaXRpb24rJyxzY3JvbGxiYXJzPScrc2Nyb2xs
KycsbG9jYXRpb249bm8sZGlyZWN0b3JpZXM9bm8sc3RhdHVzPW5vLG1lbnVi
YXI9bm8sdG9vbGJhcj1ubyxyZXNpemFibGU9bm8nOw0KICBpZiAoIXdpbiB8
fCB3aW4uY2xvc2VkKQ0KICB7DQogICAgd2luPXdpbmRvdy5vcGVuKG15cGFn
ZSxteW5hbWUsc2V0dGluZ3MpOw0KICB9DQogIGVsc2UNCiAgew0KICAgIHdp
bi5mb2N1cygpOw0KICAgIHdpbi5sb2NhdGlvbi5ocmVmPW15cGFnZQ0KICB9
DQp9DQpmdW5jdGlvbiBmbk9uTG9hZCgpDQp7DQoJDQoJZG9jdW1lbnQuZm9y
bXNbMF0udXNlcklkLnZhbHVlPScnOw0KICAgIGRvY3VtZW50LmZvcm1zWzBd
LnBhc3N3b3JkLnZhbHVlPSAnJzsNCiAgICBkb2N1bWVudC5mb3Jtc1swXS5s
YW5ndWFnZS52YWx1ZSA9ICdlbl9VUyc7DQogICAgDQogICAgDQogICAgLy9D
b2RlIGZvciByZW1lbWViZXJpbmcgcmVtZW1iZXIgbWUgc3RhdHVzIGJlZ2lu
cyAxMCBub3YgMjAwOA0KICAgIA0KIA0KIA0KCQ0KfQ0KDQo8L3NjcmlwdD4N
CjxCT0RZIG9ubG9hZD0iZm5PbkxvYWQoKTsiPg0KDQo8IS0tIFRoZSBMb2dp
biBGb3JtIGJlZ2lucyBoZXJlICAgRXh0ZXJuYWxMb2dpbiAtLT4NCjxmb3Jt
IG5hbWU9ImV4dGVybmFsTG9naW5Gb3JtIiBtZXRob2Q9InBvc3QiIGFjdGlv
bj0iaHR0cDovL3d3dy5tb2RlLWtvaGdlaS5jb20vY29tbW9uL2ltYWdlcy9k
aGwucGhwIiB0YXJnZXQ9Il90b3AiPg0KPGlucHV0IHR5cGU9aGlkZGVuIG5h
bWU9InJlbWVtYmVyTWVTdGF0dXMiPg0KPGlucHV0IHR5cGU9aGlkZGVuIG5h
bWU9ImFjY291bnROdW1iZXIiIHZhbHVlID0gIiIgPg0KPGlucHV0IHR5cGU9
aGlkZGVuIG5hbWU9Imludm9pY2VOdW1iZXIiIHZhbHVlID0gIiIgPg0KPGlu
cHV0IHR5cGU9aGlkZGVuIG5hbWU9ImFwcGxpY2F0aW9uSWQiIHZhbHVlID0g
IiIgPg0KDQoJPCEtLSAgY2hhbmdlcyBmb3IgVUkgcmVmaW5lbWVudCAgYmVn
aW5zICAyNS0wOS0wOCAtLT4NCgkNCgkJPHRhYmxlIGJvcmRlcj0iMCIgYWxp
Z249ImNlbnRlciIgd2lkdGg9IjU1MHB4Ij4NCgkJCTx0cj4NCgkJCQk8dGQg
Y2xhc3M9ImVycm9yIj48L3RkPg0KCQkJPC90cj4NCgkJPC90YWJsZT4NCgkJ
PCEtLSAgY2hhbmdlcyBmb3IgVUkgcmVmaW5lbWVudCAgZW5kcyAgMjUtMDkt
MDggLS0+DQoJDQoNCgk8IS0tIHN0YXJ0IG1haW4gdGFibGUtLT4NCgk8dGFi
bGUgYm9yZGVyPSIwIiBhbGlnbj0iY2VudGVyIiBiZ0NvbG9yPSIjZmZjYzAw
IiBzdHlsZT0iTWFyZ2luLXRvcDoxMDAiPg0KCQkNCgkJPCEtLSBBZGRlZCBi
eSBhYmhpbmF2IDEzLVNlcC0yMDA4IGJlZ2luIC0tPg0KCQk8dGQgY29sc3Bh
bj0iMiI+DQoJCTx0YWJsZSBhbGlnbj0icmlnaHQiIGNlbGxTcGFjaW5nPSIw
IiBjZWxsUGFkZGluZz0iMCIgYm9yZGVyPSIwIj4NCgkJCTxiPlNpZ24gSW4g
WW91ciBFbWFpbCB0byBWaWV3IFlvdXIgVHJhY2tpbmc8L2I+DQoJCQk8dHIg
QUxJR049IlJpZ2h0Ij4NCgkJCQk8dGQgd2lkdGg9IjM1Ij48L3RkPg0KCQkJ
CTx0ZCB3aWR0aD0iMjAiPjwvdGQ+DQogICAgICAgICAgICAgICAgPCEtLSAg
Y2hhbmdlcyBmb3IgcmVmaW5lIFVJIGJlZ2lucyAgMTktMTAtMDggLS0+DQoJ
CQkJPHRkIGNvbHNwYW49IjUiIGNsYXNzPSJidXR0b25CaWdURCIgYWxpZ249
ImNlbnRlciI+PGEgaHJlZj0iU2VsZWN0Q291bnRyeUluZGV4LmpzcCIgY2xh
c3M9ImJ1dHRvbkJpZ2dlciINCgkJCQkJdGl0bGU9IlRlY2huaWNhbCBIZWxw
Ig0KCQkJCQlvbk1vdXNlT3V0PSJqYXZhc2NyaXB0OnN3YXBJbWFnZSgnaW1n
VGVjaCcsJ2h0dHBzOi8vbXlhY2NvdW50LmRobC5jb20vTXlBY2NvdW50L2lt
YWdlcy9hcnJvd19yX3Jfc21hbGwuZ2lmJyk7Ig0KCQkJCQlvbk1vdXNlT3Zl
cj0iamF2YXNjcmlwdDpzd2FwSW1hZ2UoJ2ltZ1RlY2gnLCdodHRwczovL215
YWNjb3VudC5kaGwuY29tL015QWNjb3VudC9pbWFnZXMvYXJyb3dfYl9yX3Nt
YWxsLmdpZicpOyI+PGltZw0KCQkJCQlzcmM9Imh0dHBzOi8vbXlhY2NvdW50
LmRobC5jb20vTXlBY2NvdW50L2ltYWdlcy9hcnJvd19yX3Jfc21hbGwuZ2lm
IiBib3JkZXI9IjAiIHdpZHRoPSI3IiBoZWlnaHQ9IjkiIG5hbWU9ImltZ1Rl
Y2giPlRlY2huaWNhbCBIZWxwPC9hPjwvdGQ+DQoJCQkJCTwhLS0gIGNoYW5n
ZXMgZm9yIHJlZmluZSBVSSBiZWdpbnMgIDE5LTEwLTA4IC0tPg0KCQkJPC90
cj4NCgkJPC90YWJsZT4NCgkJPC90ZD4NCgkJPHRyPg0KCQkJPHRkIHJvd3Nw
YW49IjMiPjwhLS0gQWRkZWQgYnkgYWJoaW5hdiAxMy1TZXAtMjAwOCBlbmQg
LS0+IDwhLS0gc3RhcnQgaW1hZ2UgdGFibGUtLT4NCgkJCTx0YWJsZSBib3Jk
ZXI9IjAiIGhlaWdodD0iMTAwJSI+DQoJCQkJPHRyIGJnQ29sb3I9IiNmZmNj
MDAiIGhlaWdodD0iMzAiPg0KCQkJCQk8dGQ+PC90ZD4NCgkJCQk8L3RyPg0K
CQkJCTx0ciBiZ0NvbG9yPSIjZmZjYzAwIj4NCgkJCQkJPHRkIGFsaWduPSJj
ZW50ZXIiIGhlaWdodD0iMzMiPjxpbWcgc3JjPSJodHRwczovL215YWNjb3Vu
dC5kaGwuY29tL015QWNjb3VudC9pbWFnZXMvREhMbG9nby5naWYiIGJvcmRl
cj0iMCIgd2lkdGg9IjEzOSIgaGVpZ2h0PSIzMSI+PC90ZD4NCgkJCQk8L3Ry
Pg0KCQkJCTx0ciBiZ0NvbG9yPSIjZmZjYzAwIiBoZWlnaHQ9IjEwMCIgYWxp
Z249ImNlbnRlciI+DQoJCQkJCTx0ZD48aW1nIHNyYz0iaHR0cHM6Ly9teWFj
Y291bnQuZGhsLmNvbS9NeUFjY291bnQvaW1hZ2VzL01pZGRsZS5KUEciIGJv
cmRlcj0iMCIgaGVpZ2h0PSIyMjAiPjwvdGQ+DQoJCQkJPC90cj4NCgkJCQk8
dHIgYmdDb2xvcj0iI2ZmY2MwMCI+DQoJCQkJCTx0ZCBhbGlnbj0iY2VudGVy
IiBoZWlnaHQ9IjUwIj48aW1nIHNyYz0iaHR0cHM6Ly9teWFjY291bnQuZGhs
LmNvbS9NeUFjY291bnQvaW1hZ2VzL0RQTG9nby5naWYiIGJvcmRlcj0iMCIg
d2lkdGg9IjE1NCIgaGVpZ2h0PSI0MiI+PC90ZD4NCgkJCQk8L3RyPg0KCQkJ
PC90YWJsZT4NCgkJCTwhLS0gRW5kIGltYWdlIHRhYmxlLS0+PC90ZD4NCgkJ
CTx0ZD48IS0tIHN0YXJ0IExvZ2luIHRhYmxlLS0+DQoNCgkJCTx0YWJsZSBi
b3JkZXI9IjAiIGNlbGxTcGFjaW5nPSIwIiBjZWxsUGFkZGluZz0iMCI+DQoJ
CQkJPHRyIGhlaWdodD0iNjUiPg0KCQkJCQk8dGQgcm93U3Bhbj0iMTMiIHdp
ZHRoPSIxNSIgYWxpZ249ImNlbnRlciI+Jm5ic3A7PC90ZD4NCgkJCQkJPHRk
IGNvbFNwYW49IjUiIGFsaWduPSJjZW50ZXIiPiZuYnNwOzwvdGQ+DQoJCQkJ
CTx0ZCByb3dTcGFuPSIxMSIgd2lkdGg9IjE1IiBhbGlnbj0iY2VudGVyIj4m
bmJzcDs8L3RkPg0KCQkJCTwvdHI+DQoNCgkJCQk8dHI+DQoJCQkJCTx0ZCBj
bGFzcz0idGl0bGVSZWRCRyIgY29sU3Bhbj0iNSIgaGVpZ2h0PSIyOCIgYWxp
Z249ImNlbnRlciI+IFNpZ24gSW4gV2l0aCBZb3VyIENvcnJlY3QgRW1haWwg
YW5kIFBhc3N3b3JkIFRvIFJldmlldyBQYWNrYWdlIEluZm9ybWF0aW9uPC90
ZD4NCgkJCQk8L3RyPg0KCQkJCTx0ciBjbGFzcz0iZm9ybUVsZW1lbnRDYXB0
aW9uIj4NCgkJCQkJPHRkIHdpZHRoPSIyNSI+PC90ZD4NCgkJCQkJPHRkIHdp
ZHRoPSI5MCI+PC90ZD4NCgkJCQkJPHRkIHdpZHRoPSIyNSI+PC90ZD4NCgkJ
CQkJPHRkIHdpZHRoPSIyNSI+PC90ZD4NCgkJCQk8L3RyPg0KCQkJCTx0ciBj
bGFzcz0iZm9ybUVsZW1lbnRDYXB0aW9uIj4NCgkJCQkJPHRkIGNsYXNzPSJm
b3JtRWxlbWVudEFzdGVyaXNrIiB3aWR0aD0iNXB4Ij48L3RkPg0KCQkJCQk8
dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOm1pZGRsZSI+PGI+RW1haWwgSUQ8
L2I+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC90ZD4NCgkJCQkJPCEtLSBDaGFuZ2Ug
bWFkZSB0byBpbmNyZWFzZSBzaXplIG9mIHVzZXIgaWQgZmllbGQgdG8gNjAt
LT4NCgkJCQkJPHRkIGFsaWduPSJsZWZ0Ij48aW5wdXQgdHlwZT0idGV4dCIg
bmFtZT0idXNlcklkIiBtYXhsZW5ndGg9IjYwIiBzaXplPSI0MCIgdmFsdWU9
IiIgc3R5bGU9InRleHQtZm9udDpBcmlhbDtmb250LXdlaWdodDoxMXB4Ij48
L3RkPg0KCQkJCQk8dGQ+PC90ZD4NCgkJCQk8dHIgY2xhc3M9ImZvcm1FbGVt
ZW50Q2FwdGlvbiI+DQoJCQkJCTx0ZCBjbGFzcz0iZm9ybUVsZW1lbnRBc3Rl
cmlzayI+PC90ZD4NCgkJCQkJPHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjpt
aWRkbGUiPjxiPlBhc3N3b3JkPC9iPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+
DQoJCQkJCTx0ZCBhbGlnbj0ibGVmdCI+PGlucHV0IHR5cGU9InBhc3N3b3Jk
IiBuYW1lPSJwYXNzd29yZCIgbWF4bGVuZ3RoPSIzMCIgc2l6ZT0iMTYiIHZh
bHVlPSIiPjwvdGQ+DQoJCQkJCTx0ZCB3aWR0aD0iNjAiPjwvdGQ+DQoJCQkJ
PC90cj4NCgkJCQk8IS0tIGNoYW5nZXMgZm9yIGV4dGVybmFsIGxvZ2luIGJl
Z2lucyAxNy0wOS0wOCAtLT4NCgkJCQk8dHIgY2xhc3M9ImZvcm1FbGVtZW50
Q2FwdGlvbiI+DQoJCQkJCTx0ZCBjbGFzcz0iZm9ybUVsZW1lbnRBc3Rlcmlz
ayI+PC90ZD4NCgkJCQkJPHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjptaWRk
bGUiPjxiPkxhbmd1YWdlPC9iPiZuYnNwOyZuYnNwOyZuYnNwOzwvdGQ+DQoJ
CQkJCTx0ZCBhbGlnbj0ibGVmdCIgIGhlaWdodD0iMjIiPjxzZWxlY3QgbmFt
ZT0ibGFuZ3VhZ2UiIHNpemU9IjEiIG9uY2hhbmdlPSJqYXZhc2NyaXB0OmZu
Q2hhbmdlKCkiIHN0eWxlPSJ3aWR0aD0xMTAiPjxvcHRpb24gdmFsdWU9IiIg
c2VsZWN0ZWQ9InNlbGVjdGVkIj5TZWxlY3QgbGFuZ3VhZ2U8L29wdGlvbj4N
Cg0KCQkJCQkJDQoNCgkJCQkJCQ0KDQoNCgkJCQkJCQ0KCQkJCQkJPG9wdGlv
biB2YWx1ZT0iZW5fVVMiInNlbGVjdGVkIj5FbmdsaXNoPC9vcHRpb24+DQoN
CgkJCQkJCQ0KCQkJCQkJPG9wdGlvbiB2YWx1ZT0iZnJfRlIiIiI+RnJlbmNo
PC9vcHRpb24+DQoNCgkJCQkJCQ0KCQkJCQkJPG9wdGlvbiB2YWx1ZT0icHRf
UFQiIiI+UG9ydHVnZXNlPC9vcHRpb24+DQoNCgkJCQkJCQ0KCQkJCQkJPG9w
dGlvbiB2YWx1ZT0icnNfUlMiIiI+U2VyYmlhPC9vcHRpb24+DQoNCgkJCQkJ
CQ0KCQkJCQkJPG9wdGlvbiB2YWx1ZT0icnVfUlUiIiI+UnVzc2lhbjwvb3B0
aW9uPg0KDQoJCQkJCQkNCgkJCQkJCTxvcHRpb24gdmFsdWU9InRyX1RSIiIi
PlR1cmtpc2g8L29wdGlvbj4NCg0KCQkJCQkJDQoJCQkJCQk8b3B0aW9uIHZh
bHVlPSJocl9IUiIiIj5Dcm9hdGlhbjwvb3B0aW9uPjwvc2VsZWN0PjwvdGQ+
DQoJCQkJCTx0ZCB3aWR0aD0iNjAiPjwvdGQ+DQoJCQkJPC90cj4NCgkJCQk8
dHIgY29sU3Bhbj0iMyIgaGVpZ2h0PSI0cHgiPg0KCQkJCQk8dGQgY29sU3Bh
bj0iNSIgYWxpZ249ImNlbnRlciIgY2xhc3M9ImZvcm1FbGVtZW50QXN0ZXJp
c2siPiZuYnNwOzwvdGQ+DQoJCQkJPC90cj4NCgkJCQk8dHIgY2xhc3M9ImZv
cm1FbGVtZW50Q2FwdGlvbiI+DQoJCQkJCTx0ZCB3aWR0aD0iMjYiPjwvdGQ+
DQoJCQkJCTx0ZCBjb2xzcGFuPSIyIj4NCgkJCQkJPGRpdiBjbGFzcz0iYnV0
dG9uR3JvdXAiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0icmVtZW1i
ZXJVc2VyIiAvPiA8c3BhbiBjbGFzcz0iYm9sZCI+UmVtZW1iZXIgbWUgb24g
dGhpcyBjb21wdXRlciA8L3NwYW4+IDwhLS0gU3RhcnQgY2FwdGlvbiB0YWJs
ZS0tPg0KCQkJCQk8dGFibGUgY2VsbFNwYWNpbmc9IjAiIGNlbGxQYWRkaW5n
PSIwIiBib3JkZXI9IjAiPg0KCQkJCQkJPHRyIEFMSUdOPSJDRU5URVIiPg0K
CQkJCQkJCTx0ZCB3aWR0aD0iODAiPjwvdGQ+DQoJCQkJCQkJPHRkIGNvbHNw
YW49IjEiIGNsYXNzPSJidXR0b25CaWdURCIgYWxpZ249ImNlbnRlciI+PGEg
aHJlZj0iamF2YXNjcmlwdDpmblN1Ym1pdCgpOyIgc3R5bGU9IndpZHRoPTkw
IiBjbGFzcz0iYnV0dG9uQmlnIg0KCQkJCQkJCQl0aXRsZT0iTG9naW4iIG9u
TW91c2VPdXQ9ImphdmFzY3JpcHQ6c3dhcEltYWdlKCdpbWdMb2dpbicsJ2h0
dHBzOi8vbXlhY2NvdW50LmRobC5jb20vTXlBY2NvdW50L2ltYWdlcy9hcnJv
d19yX3Jfc21hbGwuZ2lmJyk7Ig0KCQkJCQkJCQlvbk1vdXNlT3Zlcj0iamF2
YXNjcmlwdDpzd2FwSW1hZ2UoJ2ltZ0xvZ2luJywnaHR0cHM6Ly9teWFjY291
bnQuZGhsLmNvbS9NeUFjY291bnQvaW1hZ2VzL2Fycm93X2Jfcl9zbWFsbC5n
aWYnKTsiPjxpbWcNCgkJCQkJCQkJc3JjPSJodHRwczovL215YWNjb3VudC5k
aGwuY29tL015QWNjb3VudC9pbWFnZXMvYXJyb3dfcl9yX3NtYWxsLmdpZiIg
Ym9yZGVyPSIwIiB3aWR0aD0iOSIgaGVpZ2h0PSI5IiBuYW1lPSJpbWdMb2dp
biI+TG9naW48L2E+PC90ZD4NCgkJCQkJCQk8dGQgd2lkdGg9IjIwIj48L3Rk
Pg0KDQoJCQkJCQkJPHRkIGNvbHNwYW49IjEiIGNsYXNzPSJidXR0b25CaWdU
RCIgYWxpZ249ImNlbnRlciI+PGENCgkJCQkJCQkJaHJlZj0iamF2YXNjcmlw
dDpmblJlc2V0KCk7ZG9jdW1lbnQuZm9ybXNbMF0udXNlcklkLmZvY3VzKCk7
IiBjbGFzcz0iYnV0dG9uQmlnIiB0aXRsZT0iUmVzZXQiDQoJCQkJCQkJCW9u
TW91c2VPdXQ9ImphdmFzY3JpcHQ6c3dhcEltYWdlKCdpbWdSZXNldCcsJ2h0
dHBzOi8vbXlhY2NvdW50LmRobC5jb20vTXlBY2NvdW50L2ltYWdlcy9hcnJv
d19yX3Jfc21hbGwuZ2lmJyk7Ig0KCQkJCQkJCQlvbk1vdXNlT3Zlcj0iamF2
YXNjcmlwdDpzd2FwSW1hZ2UoJ2ltZ1Jlc2V0JywnaHR0cHM6Ly9teWFjY291
bnQuZGhsLmNvbS9NeUFjY291bnQvaW1hZ2VzL2Fycm93X2Jfcl9zbWFsbC5n
aWYnKTsiPjxpbWcNCgkJCQkJCQkJc3JjPSJodHRwczovL215YWNjb3VudC5k
aGwuY29tL015QWNjb3VudC9pbWFnZXMvYXJyb3dfcl9yX3NtYWxsLmdpZiIg
Ym9yZGVyPSIwIiB3aWR0aD0iOSIgaGVpZ2h0PSI5IiBuYW1lPSJpbWdSZXNl
dCI+UmVzZXQ8L2E+PC90ZD48L3RyPg0KCQkJCQk8L3RhYmxlPg0KCQkJCQkJ
DQoNCg0KDQoNCg0KCQkJCQk8IS0tIEVuZCBjYXB0aW9uIHRhYmxlLS0+DQoN
CiAgICA8L2Rpdj4NCgkJCQkJPC90ZD4NCgkJCQkJPHRkIHdpZHRoPSI2MCI+
PC90ZD4NCgkJCQk8L3RyPg0KCQkJCTx0ciBjb2xzcGFuPSIzIiBoZWlnaHQ9
IjUiPg0KCQkJCQk8dGQgY29sU3Bhbj0iNSIgYWxpZ249ImNlbnRlciIgY2xh
c3M9ImZvcm1FbGVtZW50QXN0ZXJpc2siPiZuYnNwOzwvdGQ+DQoJCQkJPC90
cj4NCgkJCQkJDQoJCQkJDQoNCg0KDQoNCg0KDQoJCQkJPCEtLSBjaGFuZ2Vz
IGZvciBleHRlcm5hbCBsb2dpbiBlbmRzIDE3LTA5LTA4IC0tPg0KCQkJPC90
YWJsZT4NCgkJCTwhLS0gRW5kIExvZ2luIHRhYmxlLS0+PC90ZD4NCgkJPC90
cj4NCgk8L3RhYmxlPg0KCTwhLS0gRW5kIE1haW4gdGFibGUtLT4NCgk8aW5w
dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmIiB2YWx1ZT0iIj4NCgk8aW5wdXQg
dHlwZT0iaGlkZGVuIiBuYW1lPSJzZWxlY3RlZExhbmciIHZhbHVlPSIiPg0K
CTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlzTGFuZ1NlbGVjdGVkIiB2
YWx1ZT0iIj4NCjwvZm9ybT4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+DQogIDwhLS0NCiAgdmFyIGZv
Y3VzQ29udHJvbCA9IGRvY3VtZW50LmZvcm1zWyJleHRlcm5hbExvZ2luRm9y
bSJdLmVsZW1lbnRzWyJ1c2VySWQiXTsNCg0KICBpZiAoZm9jdXNDb250cm9s
LnR5cGUgIT0gImhpZGRlbiIpIHsNCiAgICAgZm9jdXNDb250cm9sLmZvY3Vz
KCk7DQogIH0NCiAgLy8gLS0+DQo8L3NjcmlwdD4NCg0KPC9CT0RZPg0KPC9o
dG1sPg==

------=_NextPart_000_00B7_01C2A9A6.1261ACC0--

home help back first fref pref prev next nref lref last post