Bug #3806: bug report
http://redmine.ruby-lang.org/issues/show/3806

Author: cecco beppe
Status: Open, Priority: Normal
ruby -v: 1.9.2

>rubyw piramideMenu20100515.rbw
piramideMenu20100515.rbw: [BUG] Segmentation fault
ruby 1.9.2p0 (2010-08-18) [i386-mingw32]

-- control frame ----------
c:0001 p:0000 s:0002 b:0002 l:000f2c d:000f2c TOP   =

---------------------------
I make this little program on Ruby 1.8.xxx, o.s. is windows xp, gui is fx=
ruby, database mysql.
I installed Ruby 1.9.2 and running my program by Ruby 1.9.2 I have the fo=
llowing warning:


[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libra=
ries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html


This application has requested the Runtime to terminate it in an unusual =
way.
Please contact the application's support team for more information.
>Exit code: 3

Can you help me?


----------------------------------------
http://redmine.ruby-lang.org
IyEvdXNyL2Jpbi9lbnYgcnVieQ0KDQpyZXF1aXJlICdydWJ5Z2VtcycNCnJl
cXVpcmUgJ2ZveDE2Jw0KcmVxdWlyZSAnbXlzcWwnDQppbmNsdWRlIEZveA0K
DQpjbGFzcyBGaW5lc3RyYTAgPCBGWE1haW5XaW5kb3cNCgkkdmFyID0gW10N
CglkZWYgaW5pdGlhbGl6ZShhcHApDQoJCSMgSW5pdGlhbGl6ZSBiYXNlIGNs
YXNzDQoJCXN1cGVyKGFwcCwgIlBST0dSQU1NQSBQSVJBTUlERSIsIDpvcHRz
ID0+IERFQ09SX0FMTCwgOnggPT4gMjAsIDp5ID0+IDIwLCA6d2lkdGggPT4g
NjAwLCA6aGVpZ2h0ID0+IDQwMCkNCgkJIyBNZW51YmFyDQoJCW1lbnViYXIg
PSBGWE1lbnVCYXIubmV3KHNlbGYsIExBWU9VVF9TSURFX1RPUHxMQVlPVVRf
RklMTF9YKQ0KCQkjIEZpbGUgbWVudQ0KCQlmaWxlbWVudSA9IEZYTWVudVBh
bmUubmV3KHNlbGYpDQoJCWFyY2hpdml0YWJlbGxlbWVudSA9IEZYTWVudVBh
bmUubmV3KHNlbGYpDQoNCgkJRlhNZW51Q29tbWFuZC5uZXcoZmlsZW1lbnUs
ICJBcmNoaXZpIGUgVGFiZWxsZSIpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHsN
CgkJCWZpbmVzdHJhID0gRmluZXN0cmExLm5ldyhzZWxmKQ0KCQkJZmluZXN0
cmEuZXhlY3V0ZShQTEFDRU1FTlRfQ1VSU09SKQ0KCQkJfQ0KCQlGWE1lbnVD
b21tYW5kLm5ldyhmaWxlbWVudSwgIkdlc3Rpb25lIGRlZ2xpIEFjcXVpc3Rp
IikNCgkJRlhNZW51Q29tbWFuZC5uZXcoZmlsZW1lbnUsICJHZXN0aW9uZSBk
ZWwgTWFnYXp6aW5vIikNCgkJRlhNZW51Q29tbWFuZC5uZXcoZmlsZW1lbnUs
ICJHZXN0aW9uZSBkZWkgQ2VzcGl0aSBBbW1vcnRpenphYmlsaSIpDQoJCUZY
TWVudUNvbW1hbmQubmV3KGZpbGVtZW51LCAiR2VzdGlvbmUgZGVsbGEgUHJv
ZHV6aW9uZSIpDQoJCUZYTWVudUNvbW1hbmQubmV3KGZpbGVtZW51LCAiR2Vz
dGlvbmUgZGVsIFBlcnNvbmFsZSBEaXBlbmRlbnRlIGUgQ29sbGFib3JhdG9y
aSIpDQoJCUZYTWVudUNvbW1hbmQubmV3KGZpbGVtZW51LCAiR2VzdGlvbmUg
ZGVsbGUgVmVuZGl0ZSIpDQoNCgkJRlhNZW51Q29tbWFuZC5uZXcoZmlsZW1l
bnUsICJHZXN0aW9uZSBkZWxsXCdBbW1pbmlzdHJhemlvbmUiKS5jb25uZWN0
KFNFTF9DT01NQU5EKSB7DQoJCQlmaW5lc3RyYSA9IEZpbmVzdHJhOC5uZXco
c2VsZikNCgkJCWZpbmVzdHJhLmV4ZWN1dGUoUExBQ0VNRU5UX0NVUlNPUikN
CgkJCX0NCgkJRlhNZW51U2VwYXJhdG9yLm5ldyhmaWxlbWVudSkJCQ0KCQlG
WE1lbnVDb21tYW5kLm5ldyhmaWxlbWVudSwgIkNvbmZpZ3VyYXppb25lIGFt
YmllbnRlIG9wZXJhdGl2byIpDQoJCUZYTWVudUNvbW1hbmQubmV3KGZpbGVt
ZW51LCAiSW5mb3JtYXppb25pIikuY29ubmVjdChTRUxfQ09NTUFORCkgew0K
CQlGWE1lc3NhZ2VCb3guaW5mb3JtYXRpb24oc2VsZiwgTUJPWF9PSywNCiJQ
cm9ncmFtbWEgUElSQU1JREUiLA0KInZlcnNpb25lIDIwMTAuMDMuMzANCmF1
dG9yZTogR3VlcnJhIEFudG9uaW8NCmRhdGE6IG1hcnpvIDIwMTAiKQ0KCQl9
DQoJCUZYTWVudVNlcGFyYXRvci5uZXcoZmlsZW1lbnUpCQkNCgkJRlhNZW51
Q29tbWFuZC5uZXcoZmlsZW1lbnUsICJGaW5lIGxhdm9yb1x0Q3RsLVoiLCBu
aWwsIGdldEFwcCgpLCBGWEFwcDo6SURfUVVJVCkNCgkJRlhNZW51VGl0bGUu
bmV3KG1lbnViYXIsICJNZW51IFByaW5jaXBhbGUiLCBuaWwsIDpwb3B1cE1l
bnUgPT4gZmlsZW1lbnUpDQoJCUZYSG9yaXpvbnRhbFNlcGFyYXRvci5uZXco
c2VsZiwgTEFZT1VUX1NJREVfVE9QfFNFUEFSQVRPUl9HUk9PVkV8TEFZT1VU
X0ZJTExfWCkNCgllbmQNCgkjIFF1aXQNCglkZWYgb25DbWRRdWl0KHNlbmRl
ciwgc2VsLCBwdHIpDQoJCWdldEFwcC5leGl0KDApDQoJZW5kDQoNCgkjIFN0
YXJ0DQoJZGVmIGNyZWF0ZQ0KCQkjIENyZWF0ZSB3aW5kb3cNCgkJc3VwZXIN
CgkJIyBTaG93IHRoZSBtYWluIHdpbmRvdw0KCQlzaG93KFBMQUNFTUVOVF9T
Q1JFRU4pDQoJZW5kDQplbmQNCg0KY2xhc3MgRmluZXN0cmExIDwgRlhEaWFs
b2dCb3gNCgkjZGVmIGluaXRpYWxpemUoYXBwKQ0KCWRlZiBpbml0aWFsaXpl
KGFwcCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xhc3MNCgkJc3VwZXIoYXBw
LCAiUFJPR1JBTU1BIFBJUkFNSURFIiwgOm9wdHMgPT4gREVDT1JfQUxMLCA6
eCA9PiAyMCwgOnkgPT4gMjAsIDp3aWR0aCA9PiA2MDAsIDpoZWlnaHQgPT4g
NDAwKQ0KCQkjIE1lbnViYXINCgkJbWVudWJhcjEgPSBGWE1lbnVCYXIubmV3
KHNlbGYsIExBWU9VVF9TSURFX1RPUHxMQVlPVVRfRklMTF9YKQ0KCQkjIEZp
bGUgbWVudQ0KCQlmaWxlbWVudTEgPSBGWE1lbnVQYW5lLm5ldyhzZWxmKQ0K
CQlhcmNoaXZpdGFiZWxsZW1lbnUxID0gRlhNZW51UGFuZS5uZXcoc2VsZikN
CgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2aXRhYmVsbGVtZW51MSwgIkFy
Y2hpdmkgZSBUYWJlbGxlIENvbXVuaSIpDQoJCUZYTWVudUNvbW1hbmQubmV3
KGFyY2hpdml0YWJlbGxlbWVudTEsICJBcmNoaXZpIGUgVGFiZWxsZSBkZWds
aSBBY3F1aXN0aSIpDQoJCUZYTWVudUNvbW1hbmQubmV3KGFyY2hpdml0YWJl
bGxlbWVudTEsICJBcmNoaXZpIGUgVGFiZWxsZSBkZWwgTWFnYXp6aW5vIikN
CgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2aXRhYmVsbGVtZW51MSwgIkFy
Y2hpdmkgZSBUYWJlbGxlIGRlaSBDZXNwaXRpIEFtbW9ydGl6emFiaWxpIikN
CgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2aXRhYmVsbGVtZW51MSwgIkFy
Y2hpdmkgZSBUYWJlbGxlIGRlbGxhIFByb2R1emlvbmUiKQ0KCQlGWE1lbnVD
b21tYW5kLm5ldyhhcmNoaXZpdGFiZWxsZW1lbnUxLCAiQXJjaGl2aSBlIFRh
YmVsbGUgZGkgRGlwZW5lbnRpIGUgQ29sbGFib3JhdG9yaSIpDQoJCUZYTWVu
dUNvbW1hbmQubmV3KGFyY2hpdml0YWJlbGxlbWVudTEsICJBcmNoaXZpIGUg
VGFiZWxsZSBkZWxsZSBWZW5kaXRlIikNCgkJRlhNZW51Q29tbWFuZC5uZXco
YXJjaGl2aXRhYmVsbGVtZW51MSwgIkFyY2hpdmkgZSBUYWJlbGxlIGRlbGxc
J0FtbWluaXN0cmF6aW9uZSIpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHsNCgkJ
CWZpbmVzdHJhID0gRmluZXN0cmExMDgubmV3KHNlbGYpDQoJCQlmaW5lc3Ry
YS5leGVjdXRlKFBMQUNFTUVOVF9DVVJTT1IpDQoJCQl9DQoJCUZYTWVudVRp
dGxlLm5ldyhtZW51YmFyMSwgIkFyY2hpdmkgZSBUYWJlbGxlIiwgOnBvcHVw
TWVudSA9PiBhcmNoaXZpdGFiZWxsZW1lbnUxKQ0KCWVuZA0KZW5kDQoNCmNs
YXNzIEZpbmVzdHJhMTA4IDwgRlhEaWFsb2dCb3gNCgkjZGVmIGluaXRpYWxp
emUoYXBwKQ0KCWRlZiBpbml0aWFsaXplKGFwcCkNCgkJIyBJbml0aWFsaXpl
IGJhc2UgY2xhc3MNCgkJc3VwZXIoYXBwLCAiUFJPR1JBTU1BIFBJUkFNSURF
IiwgOm9wdHMgPT4gREVDT1JfQUxMLCA6eCA9PiAyMCwgOnkgPT4gMjAsIDp3
aWR0aCA9PiA2MDAsIDpoZWlnaHQgPT4gNDAwKQ0KCQkjIE1lbnViYXINCgkJ
bWVudWJhciA9IEZYTWVudUJhci5uZXcoc2VsZiwgTEFZT1VUX1NJREVfVE9Q
fExBWU9VVF9GSUxMX1gpDQoJCSMgRmlsZSBtZW51DQoJCWZpbGVtZW51ID0g
RlhNZW51UGFuZS5uZXcoc2VsZikNCgkJYXJjaGl2aXRhYmVsbGVtZW51ID0g
RlhNZW51UGFuZS5uZXcoc2VsZikNCgkJRlhNZW51Q29tbWFuZC5uZXcoYXJj
aGl2aXRhYmVsbGVtZW51LCAiQXJjaGl2aW8gZGVsIHBpYW5vIGRlaSBjb250
aSIpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHsNCgkJCWZpbmVzdHJhID0gRmlu
ZXN0cmExMDgwMS5uZXcoc2VsZikNCgkJCWZpbmVzdHJhLmV4ZWN1dGUoUExB
Q0VNRU5UX0NVUlNPUikNCgkJCX0NCgkJRlhNZW51Q29tbWFuZC5uZXcoYXJj
aGl2aXRhYmVsbGVtZW51LCAiQXJjaGl2aW8gZGVpIGNsaWVudGkiKS5jb25u
ZWN0KFNFTF9DT01NQU5EKSB7DQoJCQkjZmluZXN0cmEgPSBGaW5lc3RyYTEw
ODAyLm5ldyhzZWxmKQ0KCQkJZmluZXN0cmEgPSBGaW5lc3RyYTAwMDAxLm5l
dyhzZWxmKQ0KCQkJZmluZXN0cmEuZXhlY3V0ZShQTEFDRU1FTlRfQ1VSU09S
KQ0KCQkJfQ0KCQlGWE1lbnVDb21tYW5kLm5ldyhhcmNoaXZpdGFiZWxsZW1l
bnUsICJBcmNoaXZpbyBkZWkgZm9ybml0b3JpIikuY29ubmVjdChTRUxfQ09N
TUFORCkgew0KCQkJZmluZXN0cmEgPSBGaW5lc3RyYTEwODAzLm5ldyhzZWxm
KQ0KCQkJZmluZXN0cmEuZXhlY3V0ZShQTEFDRU1FTlRfQ1VSU09SKQ0KCQkJ
fQ0KCQlGWE1lbnVTZXBhcmF0b3IubmV3KGFyY2hpdml0YWJlbGxlbWVudSkJ
CQ0KCQlGWE1lbnVDb21tYW5kLm5ldyhhcmNoaXZpdGFiZWxsZW1lbnUsICJU
YWJlbGxhIGRlbGxlIGNvbmRpemlvbmkgZGkgcGFnYW1lbnRvIikuY29ubmVj
dChTRUxfQ09NTUFORCkgew0KCQkJZmluZXN0cmEgPSBGaW5lc3RyYTEwODA0
Lm5ldyhzZWxmKQ0KCQkJZmluZXN0cmEuZXhlY3V0ZShQTEFDRU1FTlRfQ1VS
U09SKQ0KCQkJfQ0KCQlGWE1lbnVDb21tYW5kLm5ldyhhcmNoaXZpdGFiZWxs
ZW1lbnUsICJUYWJlbGxhIGRlbGxlIGNhdXNhbGkgZGkgY29udGFiaWxpdGFc
JyBnZW5lcmFsZSIpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHsNCgkJCWZpbmVz
dHJhID0gRmluZXN0cmExMDgwNS5uZXcoc2VsZikNCgkJCWZpbmVzdHJhLmV4
ZWN1dGUoUExBQ0VNRU5UX0NVUlNPUikNCgkJCX0NCgkJRlhNZW51Q29tbWFu
ZC5uZXcoYXJjaGl2aXRhYmVsbGVtZW51LCAiVGFiZWxsYSBkZWxsZSBjYXVz
YWxpIGl2YSIpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHsNCgkJCWZpbmVzdHJh
ID0gRmluZXN0cmExMDgwNi5uZXcoc2VsZikNCgkJCWZpbmVzdHJhLmV4ZWN1
dGUoUExBQ0VNRU5UX0NVUlNPUikNCgkJCX0NCgkJRlhNZW51Q29tbWFuZC5u
ZXcoYXJjaGl2aXRhYmVsbGVtZW51LCAiVGFiZWxsYSBkZWkgbGlicmkgY29u
dGFiaWxpIikuY29ubmVjdChTRUxfQ09NTUFORCkgew0KCQkJZmluZXN0cmEg
PSBGaW5lc3RyYTEwODA3Lm5ldyhzZWxmKQ0KCQkJZmluZXN0cmEuZXhlY3V0
ZShQTEFDRU1FTlRfQ1VSU09SKQ0KCQkJfQ0KCQlGWE1lbnVDb21tYW5kLm5l
dyhhcmNoaXZpdGFiZWxsZW1lbnUsICJUYWJlbGxhIGRlaSB0aXBpIGRpIGRv
Y3VtZW50aSBpdmEiKS5jb25uZWN0KFNFTF9DT01NQU5EKSB7DQoJCQlmaW5l
c3RyYSA9IEZpbmVzdHJhMTA4MDkubmV3KHNlbGYpDQoJCQlmaW5lc3RyYS5l
eGVjdXRlKFBMQUNFTUVOVF9DVVJTT1IpDQoJCQl9DQoNCgkJRlhNZW51VGl0
bGUubmV3KG1lbnViYXIsICJBcmNoaXZpIGUgVGFiZWxsZSBkZWxsXCdBbW1p
bmlzdHJhemlvbmUiLCA6cG9wdXBNZW51ID0+IGFyY2hpdml0YWJlbGxlbWVu
dSkNCgllbmQNCmVuZA0KDQpjbGFzcyBGaW5lc3RyYTEwODAxIDwgRlhEaWFs
b2dCb3ggICNmaW5lc3RyYSBwZXIgbCdpbnNlcmltZW50byBkZWkgY29udGkg
ZGVsIHBpYW5vIGRlaSBjb250aQ0KCWRlZiBpbml0aWFsaXplKGFwcCkNCgkJ
IyBJbml0aWFsaXplIGJhc2UgY2xhc3MNCgkJQGNvbnRhdG9yZSA9IDANCgkJ
QHJpZ2EgPSBuaWwNCiNjYXJpY2EgaW4gbWVtb3JpYSB0dXR0byBpbCBwaWFu
byBkZWkgY29udGkNCgkJY2FyaWNhX2RhdGkNCiNkaXNlZ25hIGxhIGZpbmVz
dHJhICAgIA0KCQlzdXBlcihhcHAsICJQUk9HUkFNTUEgUElSQU1JREUiLCA6
b3B0cyA9PiBERUNPUl9BTEwsIDp4ID0+IDIwLCA6eSA9PiAyMCwgOndpZHRo
ID0+IDgwMCwgOmhlaWdodCA9PiA0MDApDQoNCgkJYXJlYSA9IEZYUGFja2Vy
Lm5ldyhzZWxmLCA6b3B0cyA9PiBMQVlPVVRfRklMTCwgOnZTcGFjaW5nID0+
IDMwLCA6aFNwYWNpbmcgPT4gNTApDQoNCgkJZ3J1cHBvMSA9IEZYR3JvdXBC
b3gubmV3KGFyZWEsICIiLCA6dlNwYWNpbmcgPT4gMCkNCgkJDQoJCXZUZXN0
YTAgPSBGWEhvcml6b250YWxGcmFtZS5uZXcoZ3J1cHBvMSwgOm9wdHMgPT4g
TEFZT1VUX1NJREVfVE9QfFBBQ0tfVU5JRk9STV9XSURUSCwgOnBhZEJvdHRv
bSA9PiAxMCkNCgkJRlhMYWJlbC5uZXcodlRlc3RhMCwgIkdFU1RJT05FIERF
TCBQSUFOTyBERUkgQ09OVEkiLCBuaWwsIEpVU1RJRllfQ0VOVEVSX1h8TEFZ
T1VUX0ZJTExfUk9XLCA6cGFkUmlnaHQgPT4gMTI4KQ0KDQoJCXZUZXN0YTEg
PSBGWEhvcml6b250YWxGcmFtZS5uZXcoZ3J1cHBvMSwgOm9wdHMgPT4gTEFZ
T1VUX1NJREVfVE9QfFBBQ0tfVU5JRk9STV9XSURUSCkNCgkJRlhCdXR0b24u
bmV3KHZUZXN0YTEsICdQcmltbyByZWNvcmQnLCA6cGFkTGVmdCA9PiA1LCA6
cGFkUmlnaHQgPT4gNSkuY29ubmVjdChTRUxfQ09NTUFORCkge3ByaW1vX3Jl
Y29yZCB9DQoJCUZYQnV0dG9uLm5ldyh2VGVzdGExLCAnUmVjb3JkIHByZWNl
ZGVudGUnLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSkuY29ubmVj
dChTRUxfQ09NTUFORCkge3ByZWNlZGVudGVfcmVjb3JkfQ0KCQlGWEJ1dHRv
bi5uZXcodlRlc3RhMSwgJ1JlY29yZCBzdWNjZXNzaXZvJywgOnBhZExlZnQg
PT4gNSwgOnBhZFJpZ2h0ID0+IDUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHtz
dWNjZXNzaXZvX3JlY29yZH0NCgkJRlhCdXR0b24ubmV3KHZUZXN0YTEsICdV
bHRpbW8gcmVjb3JkJywgOnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUp
LmNvbm5lY3QoU0VMX0NPTU1BTkQpIHt1bHRpbW9fcmVjb3JkfQ0KCQlGWEJ1
dHRvbi5uZXcodlRlc3RhMSwgJ051b3ZvIHJlY29yZCcsIDpwYWRMZWZ0ID0+
IDUsIDpwYWRSaWdodCA9PiA1KS5jb25uZWN0KFNFTF9DT01NQU5EKSB7bnVv
dm9fcmVjb3JkfQ0KDQoJCWdydXBwbzIgPSBGWEdyb3VwQm94Lm5ldyhhcmVh
LCAiIiwgOnZTcGFjaW5nID0+IDApDQoJCXZMaW5lYTEgPSBGWEhvcml6b250
YWxGcmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9Q
LCA6dlNwYWNpbmcgPT4gMCkNCgkJQGNvZGljZVRpcG9Db250byA9IEZYRGF0
YVRhcmdldC5uZXcoMCkNCgkJRlhCdXR0b24ubmV3KHZMaW5lYTEsICc/Jywg
OnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUsIDpwYWRUb3AgPT4wLCA6
cGFkQm90dG9tID0+IDApLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHsNCgkJCSR2
YXIgPSBbXQ0KCQkJcmljZXJjYSA9IEZpbmVzdHJhOTAwMDEubmV3KHNlbGYp
DQoJCQlyaWNlcmNhLmV4ZWN1dGUoUExBQ0VNRU5UX0NVUlNPUikNCgkJCUBj
b2RpY2VUaXBvQ29udG8udmFsdWUgPSAkdmFyWzBdDQoJCQlAZGVzY3Jpemlv
bmVUaXBvQ29udG8udmFsdWUgPSAkdmFyWzFdDQoJCQkkdmFyID0gW10NCgkJ
CX0NCgkJRlhMYWJlbC5uZXcodkxpbmVhMSwgIkNvZGljZSB0aXBvIGNvbnRv
IiwgbmlsLCBKVVNUSUZZX1JJR0hUfExBWU9VVF9GSUxMX1JPVywgOnBhZFJp
Z2h0ID0+IDEyOCkNCgkJRlhUZXh0RmllbGQubmV3KHZMaW5lYTEsIDEsIDp0
YXJnZXQgPT4gQGNvZGljZVRpcG9Db250bywgOnNlbGVjdG9yID0+IEZYRGF0
YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFN
RV9USElDS3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJRUxEX0xJTUlURUR8VEVY
VEZJRUxEX0lOVEVHRVIpDQoJCUBkZXNjcml6aW9uZVRpcG9Db250byA9IEZY
RGF0YVRhcmdldC5uZXcoIiIpDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWEx
LCAzMCwgOnRhcmdldCA9PiBAZGVzY3JpemlvbmVUaXBvQ29udG8sIDpzZWxl
Y3RvciA9PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBURVhU
RklFTERfUkVBRE9OTFl8VEVYVEZJRUxEX09WRVJTVFJJS0UpDQoNCgkJdkxp
bmVhMiA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8yLCA6b3B0cyA9
PiBMQVlPVVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAY29kaWNl
R3J1cHBvID0gRlhEYXRhVGFyZ2V0Lm5ldygwKQ0KCQlGWEJ1dHRvbi5uZXco
dkxpbmVhMiwgJz8nLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSwg
OnBhZFRvcCA9PjAsIDpwYWRCb3R0b20gPT4gMCkuY29ubmVjdChTRUxfQ09N
TUFORCkgew0KCQkJJHZhciA9IFtdDQoJCQlyaWNlcmNhID0gRmluZXN0cmE5
MDAwMy5uZXcoc2VsZikNCgkJCXJpY2VyY2EuZXhlY3V0ZShQTEFDRU1FTlRf
Q1VSU09SKQ0KCQkJQGNvZGljZUdydXBwby52YWx1ZSA9ICR2YXJbMF0NCgkJ
CUBkZXNjcml6aW9uZUdydXBwby52YWx1ZSA9ICR2YXJbMV0NCgkJCSR2YXIg
PSBbXQ0KCQkJdmFpX2FfcmVjb3JkDQoJCQl9DQoJCUZYTGFiZWwubmV3KHZM
aW5lYTIsICJDb2RpY2UgZ3J1cHBvIiwgbmlsLCBKVVNUSUZZX1JJR0hUfExB
WU9VVF9GSUxMX1JPVywgOnBhZFJpZ2h0ID0+IDEzMCkNCgkJZ3J1cHBvID0g
RlhUZXh0RmllbGQubmV3KHZMaW5lYTIsIDMsIDp0YXJnZXQgPT4gQGNvZGlj
ZUdydXBwbywgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUs
IDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklM
TF9ST1d8VEVYVEZJRUxEX0xJTUlURUR8VEVYVEZJRUxEX0lOVEVHRVJ8SlVT
VElGWV9SSUdIVCkNCgkJQGRlc2NyaXppb25lR3J1cHBvID0gRlhEYXRhVGFy
Z2V0Lm5ldygiIikNCgkJRlhUZXh0RmllbGQubmV3KHZMaW5lYTIsIDMwLCA6
dGFyZ2V0ID0+IEBkZXNjcml6aW9uZUdydXBwbywgOnNlbGVjdG9yID0+IEZY
RGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IFRFWFRGSUVMRF9SRUFE
T05MWXxURVhURklFTERfT1ZFUlNUUklLRSkNCg0KCQl2TGluZWEzID0gRlhI
b3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpvcHRzID0+IExBWU9VVF9T
SURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBjb2RpY2VDb250byA9IEZY
RGF0YVRhcmdldC5uZXcoMCkNCgkJQGRlc2NyaXppb25lQ29udG8gPSBGWERh
dGFUYXJnZXQubmV3KCIiKQ0KCQlGWEJ1dHRvbi5uZXcodkxpbmVhMywgJz8n
LCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSwgOnBhZFRvcCA9PjAs
IDpwYWRCb3R0b20gPT4gMCkuY29ubmVjdChTRUxfQ09NTUFORCkgew0KCQkJ
JHZhciA9IFtdDQoJCQkkdmFyID0gQGNvZGljZUdydXBwbw0KCQkJcmljZXJj
YSA9IEZpbmVzdHJhOTAwMDQubmV3KHNlbGYpDQoJCQlyaWNlcmNhLmV4ZWN1
dGUoUExBQ0VNRU5UX0NVUlNPUikNCgkJCUBjb2RpY2VDb250by52YWx1ZSA9
ICR2YXJbMF0NCgkJCUBkZXNjcml6aW9uZUNvbnRvLnZhbHVlID0gJHZhclsx
XQ0KCQkJJHZhciA9IFtdDQoJCQl2YWlfYV9yZWNvcmQNCgkJCX0NCgkJRlhM
YWJlbC5uZXcodkxpbmVhMywgIkNvZGljZSBjb250byIsIG5pbCwgSlVTVElG
WV9SSUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRSaWdodCA9PiAxMzgpDQoJ
CUZYVGV4dEZpZWxkLm5ldyh2TGluZWEzLCAzLCA6dGFyZ2V0ID0+IEBjb2Rp
Y2VDb250bywgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUs
IDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklM
TF9ST1d8VEVYVEZJRUxEX0xJTUlURUR8VEVYVEZJRUxEX0lOVEVHRVJ8SlVT
VElGWV9SSUdIVCkNCgkJRlhUZXh0RmllbGQubmV3KHZMaW5lYTMsIDMwLCA6
dGFyZ2V0ID0+IEBkZXNjcml6aW9uZUNvbnRvLCA6c2VsZWN0b3IgPT4gRlhE
YXRhVGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gVEVYVEZJRUxEX1JFQURP
TkxZfFRFWFRGSUVMRF9PVkVSU1RSSUtFKQ0KDQoJCXZMaW5lYTQgPSBGWEhv
cml6b250YWxGcmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJ
REVfVE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJQGNvZGljZVNvdHRvY29udG8g
PSBGWERhdGFUYXJnZXQubmV3KDApDQoJCUZYQnV0dG9uLm5ldyh2TGluZWE0
LCAnPycsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1LCA6cGFkVG9w
ID0+MCwgOnBhZEJvdHRvbSA9PiAwKS5jb25uZWN0KFNFTF9DT01NQU5EKSB7
DQoJCQkkdmFyID0gW10NCgkJCSR2YXJbMF0gPSBAY29kaWNlR3J1cHBvDQoJ
CQkkdmFyWzFdID0gQGNvZGljZUNvbnRvDQoJCQlyaWNlcmNhID0gRmluZXN0
cmE5MDAwNS5uZXcoc2VsZikNCgkJCXJpY2VyY2EuZXhlY3V0ZShQTEFDRU1F
TlRfQ1VSU09SKQ0KCQkJQGNvZGljZVNvdHRvY29udG8udmFsdWUgICAgICA9
ICR2YXJbMF0NCgkJCUBkZW5vbWluYXppb25lQ29udG8udmFsdWUgICA9ICR2
YXJbMV0NCgkJCUBjb2RpY2VOYXR1cmFDb250by52YWx1ZSAgICAgPSAkdmFy
WzJdDQoJCQlAaW5kaWNlLnZhbHVlICAgICAgICAgICAgICAgICAgICAgICA9
ICR2YXJbM10NCgkJCSR2YXIgPSBbXQ0KCQkJdmFpX2FfcmVjb3JkDQoJCQl9
DQoJCUZYTGFiZWwubmV3KHZMaW5lYTQsICJDb2RpY2Ugc290dG9jb250byIs
IG5pbCwgSlVTVElGWV9SSUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRSaWdo
dCA9PiA5NSkNCgkJRlhUZXh0RmllbGQubmV3KHZMaW5lYTQsIDYsIDp0YXJn
ZXQgPT4gQGNvZGljZVNvdHRvY29udG8sIDpzZWxlY3RvciA9PiBGWERhdGFU
YXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBGUkFNRV9TVU5LRU58RlJBTUVf
VEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRFWFRGSUVMRF9MSU1JVEVEfFRFWFRG
SUVMRF9JTlRFR0VSfEpVU1RJRllfUklHSFQpDQoNCgkJdkxpbmVhNSA9IEZY
SG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8yLCA6b3B0cyA9PiBMQVlPVVRf
U0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlGWEJ1dHRvbi5uZXcodkxp
bmVhNSwgJz8nLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSwgOnBh
ZFRvcCA9PjAsIDpwYWRCb3R0b20gPT4gMCkuY29ubmVjdChTRUxfQ09NTUFO
RCkgew0KCQkJJHZhciA9IFtdDQoJCQlpZiAkdmFyWzBdICE9IG5pbA0KCQkJ
CSR2YXJbMF0gPSBAZGVub21pbmF6aW9uZUNvbnRvLnZhbHVlLmdzdWIoL1xX
LywgJycpLnVwY2FzZQ0KCQkJCXJpY2VyY2EgPSBGaW5lc3RyYTkwMDA2Lm5l
dyhzZWxmKQ0KCQkJCXJpY2VyY2EuZXhlY3V0ZShQTEFDRU1FTlRfQ1VSU09S
KQ0KCQkJCUBpbmRpY2UudmFsdWUgPSAkdmFyWzBdDQoJCQkJJHZhciA9IFtd
DQoJCQkJaWYgQGluZGljZS52YWx1ZSAhPSBuaWwNCgkJCQkJaWYgQGluZGlj
ZS52YWx1ZSA+ICIwIg0KCQkJCQkJQGNvbnRhdG9yZSA9IDANCgkJCQkJCUBy
aWdhID0gQHNjZWx0YS5kYXRhX3NlZWsoQGNvbnRhdG9yZSkNCgkJCQkJCUBy
aWdhID0gQHNjZWx0YS5mZXRjaF9yb3cNCg0KCQkJCQkJdW50aWwgQGluZGlj
ZS52YWx1ZSA9PSBAcmlnYVs3XQ0KCQkJCQkJCUByaWdhID0gQHNjZWx0YS5k
YXRhX3NlZWsoQGNvbnRhdG9yZSkNCgkJCQkJCQlAcmlnYSA9IEBzY2VsdGEu
ZmV0Y2hfcm93DQoJCQkJCQkJQGNvbnRhdG9yZSA9IEBjb250YXRvcmUgKyAx
DQoJCQkJCQllbmQNCgkJCQkJCUBjb250YXRvcmUgPSBAY29udGF0b3JlIC0g
MQ0KCQkJCQkJYXNzZWduYV92YXJpYWJpbGkNCgkJCQkJZW5kDQoJCQkJZW5k
DQoJCQllbmQNCgkJCX0NCgkJRlhMYWJlbC5uZXcodkxpbmVhNSwgIkRlbm9t
aW5hemlvbmUgY29udG8iLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJ
TExfUk9XLCA6cGFkUmlnaHQgPT4gMTIyKQ0KCQlAZGVub21pbmF6aW9uZUNv
bnRvID0gRlhEYXRhVGFyZ2V0Lm5ldygiIikNCgkJRlhUZXh0RmllbGQubmV3
KHZMaW5lYTUsIDMwLCA6dGFyZ2V0ID0+IEBkZW5vbWluYXppb25lQ29udG8s
IDpzZWxlY3RvciA9PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9
PiBGUkFNRV9TVU5LRU58RlJBTUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRF
WFRGSUVMRF9MSU1JVEVEKQ0KDQoJCXZMaW5lYTYgPSBGWEhvcml6b250YWxG
cmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9QLCA6
dlNwYWNpbmcgPT4gMCkNCgkJRlhMYWJlbC5uZXcodkxpbmVhNiwgIkNvc3Rh
bnRlIGRlbCBjb250byIsIG5pbCwgSlVTVElGWV9SSUdIVHxMQVlPVVRfRklM
TF9ST1csIDpwYWRMZWZ0ID0+IDI1LCA6cGFkUmlnaHQgPT4gMTIwKQ0KCQlA
Y29zdGFudGVDb250byA9IEZYRGF0YVRhcmdldC5uZXcoIkEiKQ0KCQlGWFRl
eHRGaWVsZC5uZXcodkxpbmVhNiwgMSwgOnRhcmdldCA9PiBAY29zdGFudGVD
b250bywgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpv
cHRzID0+IFRFWFRGSUVMRF9SRUFET05MWXxURVhURklFTERfT1ZFUlNUUklL
RSkNCg0KCQl2TGluZWE3ID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBw
bzIsIDpvcHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDAp
DQoJCUBjb2RpY2VOYXR1cmFDb250byA9IEZYRGF0YVRhcmdldC5uZXcoMCkN
CgkJQGRlc2NyaXppb25lTmF0dXJhQ29udG8gPSBGWERhdGFUYXJnZXQubmV3
KCIiKQ0KCQlGWEJ1dHRvbi5uZXcodkxpbmVhNywgJz8nLCA6cGFkTGVmdCA9
PiA1LCA6cGFkUmlnaHQgPT4gNSwgOnBhZFRvcCA9PjAsIDpwYWRCb3R0b20g
PT4gMCkuY29ubmVjdChTRUxfQ09NTUFORCkgew0KCQkJJHZhciA9IFtdDQoJ
CQlyaWNlcmNhID0gRmluZXN0cmE5MDAwMi5uZXcoc2VsZikNCgkJCXJpY2Vy
Y2EuZXhlY3V0ZShQTEFDRU1FTlRfQ1VSU09SKQ0KCQkJQGNvZGljZU5hdHVy
YUNvbnRvLnZhbHVlICAgICAgID0gJHZhclswXQ0KCQkJQGRlc2NyaXppb25l
TmF0dXJhQ29udG8udmFsdWUgPSAkdmFyWzFdDQoJCQkkdmFyID0gW10NCgkJ
CX0NCgkJRlhMYWJlbC5uZXcodkxpbmVhNywgIkNvZGljZSBuYXR1cmEgY29u
dG8iLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFk
UmlnaHQgPT4gMTE1KQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVhNywgMSwg
OnRhcmdldCA9PiBAY29kaWNlTmF0dXJhQ29udG8sIDpzZWxlY3RvciA9PiBG
WERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBGUkFNRV9TVU5LRU58
RlJBTUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRFWFRGSUVMRF9MSU1JVEVE
fFRFWFRGSUVMRF9JTlRFR0VSKQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVh
NywgMzAsIDp0YXJnZXQgPT4gQGRlc2NyaXppb25lTmF0dXJhQ29udG8sIDpz
ZWxlY3RvciA9PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBU
RVhURklFTERfUkVBRE9OTFl8VEVYVEZJRUxEX09WRVJTVFJJS0UpDQoNCgkJ
QGluZGljZSA9IEZYRGF0YVRhcmdldC5uZXcoIiIpDQoNCgkJZ3J1cHBvNCA9
IEZYR3JvdXBCb3gubmV3KGFyZWEsICIiLCA6dlNwYWNpbmcgPT4gMCkNCgkJ
dkZvbmRvID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzQsIDpvcHRz
ID0+IExBWU9VVF9TSURFX0JPVFRPTXxQQUNLX1VOSUZPUk1fV0lEVEgpDQoJ
CUZYQnV0dG9uLm5ldyh2Rm9uZG8sICdDYW5jZWxsYScsIDpwYWRMZWZ0ID0+
IDI1LCA6cGFkUmlnaHQgPT4gMjUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHtj
YW5jZWxsYV9yZWNvcmR9DQoJCUZYQnV0dG9uLm5ldyh2Rm9uZG8sICdBbm51
bGxhJywgOnBhZExlZnQgPT4gMjUsIDpwYWRSaWdodCA9PiAyNSkuY29ubmVj
dChTRUxfQ09NTUFORCkge2F6emVyYV92YXJpYWJpbGl9DQoJCUZYQnV0dG9u
Lm5ldyh2Rm9uZG8sICdSZWdpc3RyYScsIDpwYWRMZWZ0ID0+IDI1LCA6cGFk
UmlnaHQgPT4gMjUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHtyZWdpc3RyYX0N
CgkJRlhCdXR0b24ubmV3KHZGb25kbywgJ0VzY2knLCA6dGFyZ2V0ID0+IHNl
bGYsIDpzZWxlY3RvciA9PiBGWERpYWxvZ0JveDo6SURfQ0FOQ0VMLCA6cGFk
TGVmdCA9PiAyNSwgOnBhZFJpZ2h0ID0+IDI1KQ0KCQlhenplcmFfdmFyaWFi
aWxpDQoJZW5kDQoNCglkZWYgcHJpbW9fcmVjb3JkDQoJCUBjb250YXRvcmUg
PSAwDQoJCUBzY2VsdGEubnVtX3Jvd3MgPT0gMCA/IGF6emVyYV92YXJpYWJp
bGkgOiBhc3NlZ25hX3ZhcmlhYmlsaQ0KCWVuZA0KDQoJZGVmIHByZWNlZGVu
dGVfcmVjb3JkDQoJCWlmIEBzY2VsdGEubnVtX3Jvd3MgPT0gMCB0aGVuCQkN
CgkJCUBjb250YXRvcmUgPSAwDQoJCQlhenplcmFfdmFyaWFiaWxpDQoJCWVs
c2UNCgkJCUBjb250YXRvcmUgLSAxIDwwID8gQGNvbnRhdG9yZSA9IDAgOiBA
Y29udGF0b3JlID0gQGNvbnRhdG9yZSAtMQ0KCQkJYXNzZWduYV92YXJpYWJp
bGkNCgkJZW5kDQoJZW5kDQoNCglkZWYgc3VjY2Vzc2l2b19yZWNvcmQNCgkJ
aWYgQHNjZWx0YS5udW1fcm93cyA9PSAwIHRoZW4JCQ0KCQkJQGNvbnRhdG9y
ZSA9IDANCgkJCWF6emVyYV92YXJpYWJpbGkNCgkJZWxzZQ0KCQkJQGNvbnRh
dG9yZSA+PSAoIiN7QHNjZWx0YS5udW1fcm93c30iLnRvX2kgLSAxKSA/IEBj
b250YXRvcmUgPSAoIiN7QHNjZWx0YS5udW1fcm93c30iLnRvX2kgLSAxKSA6
IEBjb250YXRvcmUgPSBAY29udGF0b3JlICsgMQ0KCQkJYXNzZWduYV92YXJp
YWJpbGkNCgkJZW5kDQoJZW5kDQoNCglkZWYgdWx0aW1vX3JlY29yZA0KCQlp
ZiBAc2NlbHRhLm51bV9yb3dzID09IDAgdGhlbgkJDQoJCQlAY29udGF0b3Jl
ID0gMA0KCQkJYXp6ZXJhX3ZhcmlhYmlsaQ0KCQllbHNlDQoJCQlAY29udGF0
b3JlID0gKCIje0BzY2VsdGEubnVtX3Jvd3N9Ii50b19pIC0gMSkNCgkJCWFz
c2VnbmFfdmFyaWFiaWxpDQoJCWVuZA0KCWVuZA0KDQoJZGVmIG51b3ZvX3Jl
Y29yZA0KCQlhenplcmFfdmFyaWFiaWxpDQoJCUBpbmRpY2UudmFsdWUgPSAw
DQoJZW5kDQoNCglkZWYgdmFpX2FfcmVjb3JkDQoJCWNvZGljZUdydXBwbyA9
IEBjb2RpY2VHcnVwcG8udmFsdWUudG9faQ0KCQljb2RpY2VDb250byA9IEBj
b2RpY2VDb250by52YWx1ZS50b19pDQoJCWNvZGljZVNvdHRvY29udG8gPSBA
Y29kaWNlU290dG9jb250by52YWx1ZS50b19pDQoJCUBpbmRpY2UudmFsdWUg
PSAoY29kaWNlR3J1cHBvICogMTAwMDAwMDAwMCArIGNvZGljZUNvbnRvICog
MTAwMDAwMCArIGNvZGljZVNvdHRvY29udG8pLnRvX3MNCg0KCQlpZiBAaW5k
aWNlLnZhbHVlID4gIjAiDQoJCQlAY29udGF0b3JlID0gMA0KCQkJQHJpZ2Eg
PSBAc2NlbHRhLmRhdGFfc2VlayhAY29udGF0b3JlKQ0KCQkJQHJpZ2EgPSBA
c2NlbHRhLmZldGNoX3Jvdw0KDQoJCQl1bnRpbCBAaW5kaWNlLnZhbHVlID09
IEByaWdhWzddDQoJCQkJQHJpZ2EgPSBAc2NlbHRhLmRhdGFfc2VlayhAY29u
dGF0b3JlKQ0KCQkJCUByaWdhID0gQHNjZWx0YS5mZXRjaF9yb3cNCgkJCQlA
Y29udGF0b3JlID0gQGNvbnRhdG9yZSArIDENCgkJCWVuZA0KCQkJQGNvbnRh
dG9yZSA9IEBjb250YXRvcmUgLSAxIGlmIEBjb250YXRvcmUgPjANCgkJCWFz
c2VnbmFfdmFyaWFiaWxpDQoJCWVuZA0KCWVuZA0KDQoJZGVmIHJlZ2lzdHJh
DQoJCXJlZ2lzdHJhID0gdHJ1ZQ0KDQoJCWlmIEBjb2RpY2VUaXBvQ29udG8u
dmFsdWUudG9faSA8IDEgb3IgQGNvZGljZVRpcG9Db250by52YWx1ZS50b19p
ID4gNA0KCQkJcmVnaXN0cmEgPSBmYWxzZQ0KCQkJRlhNZXNzYWdlQm94Lndh
cm5pbmcoc2VsZiwgTUJPWF9PSywgIkNvZGljZSBUaXBvIENvbnRvIiwgInZh
bG9yZSAnI3tAY29kaWNlVGlwb0NvbnRvLnZhbHVlfScgbm9uIGFtbWVzc28g
cGVyIHF1ZXN0byBjYW1wbyIpDQoJCWVuZA0KDQoJCWlmIEBjb2RpY2VUaXBv
Q29udG8udmFsdWUudG9faSA9PSAxIGFuZCAoQGNvZGljZUdydXBwby52YWx1
ZS50b19pID09IDAgb3IgQGNvZGljZUNvbnRvLnZhbHVlLnRvX2kgIT0gMCBv
ciBAY29kaWNlU290dG9jb250by52YWx1ZS50b19pICE9IDApDQoJCQkJcmVn
aXN0cmEgPSBmYWxzZQ0KCQkJCUZYTWVzc2FnZUJveC53YXJuaW5nKHNlbGYs
IE1CT1hfT0ssICJDb2RpY2UgVGlwbyBDb250byIsICJjb2RpY2kgY29udG8g
ZSBzb3R0b2NvbnRvIG5vbiBjb3JyZXR0aSIpDQoJCWVuZA0KDQoJCWlmIEBj
b2RpY2VUaXBvQ29udG8udmFsdWUudG9faSA9PSAyIGFuZCAoQGNvZGljZUdy
dXBwby52YWx1ZS50b19pID09IDAgb3IgQGNvZGljZUNvbnRvLnZhbHVlLnRv
X2kgPT0gMCBvciBAY29kaWNlU290dG9jb250by52YWx1ZS50b19pICE9IDAp
DQoJCQkJcmVnaXN0cmEgPSBmYWxzZQ0KCQkJCUZYTWVzc2FnZUJveC53YXJu
aW5nKHNlbGYsIE1CT1hfT0ssICJDb2RpY2UgVGlwbyBDb250byIsICJjb2Rp
Y2kgY29udG8gZSBzb3R0b2NvbnRvIG5vbiBjb3JyZXR0aSIpDQoJCWVuZA0K
DQoJCWlmIEBjb2RpY2VUaXBvQ29udG8udmFsdWUudG9faSA9PSAzIGFuZCAo
QGNvZGljZUdydXBwby52YWx1ZS50b19pID09IDAgb3IgQGNvZGljZUNvbnRv
LnZhbHVlLnRvX2kgPT0gMCBvciBAY29kaWNlU290dG9jb250by52YWx1ZS50
b19pID09IDApDQoJCQkJcmVnaXN0cmEgPSBmYWxzZQ0KCQkJCUZYTWVzc2Fn
ZUJveC53YXJuaW5nKHNlbGYsIE1CT1hfT0ssICJDb2RpY2UgVGlwbyBDb250
byIsICJjb2RpY2kgY29udG8gZSBzb3R0b2NvbnRvIG5vbiBjb3JyZXR0aSIp
DQoJCWVuZA0KDQoJCWlmIEBjb2RpY2VOYXR1cmFDb250by52YWx1ZS50b19p
IDwgMSBvciBAY29kaWNlTmF0dXJhQ29udG8udmFsdWUudG9faSA+IDQNCgkJ
CUZYTWVzc2FnZUJveC53YXJuaW5nKHNlbGYsIE1CT1hfT0ssICJDb2RpY2Ug
TmF0dXJhIENvbnRvIiwgInZhbG9yZSAnI3tAY29kaWNlTmF0dXJhQ29udG8u
dmFsdWV9JyBub24gY29ycmV0dG8gcGVyIHF1ZXN0byBjYW1wbyIpDQoJCQly
ZWdpc3RyYSA9IGZhbHNlDQoJCWVuZA0KDQoJCWlmIHJlZ2lzdHJhID09IHRy
dWUNCgkJCWluZGljZSA9IChAY29kaWNlR3J1cHBvLnZhbHVlLnRvX2kgKiAx
MDAwMDAwMDAwICsgQGNvZGljZUNvbnRvLnZhbHVlLnRvX2kgKiAxMDAwMDAw
ICsgQGNvZGljZVNvdHRvY29udG8udmFsdWUudG9faSkudG9fcw0KCQkJQGRl
bm9taW5hemlvbmVDb250by52YWx1ZSA9IEBjb25uLmVzY2FwZV9zdHJpbmco
QGRlbm9taW5hemlvbmVDb250by52YWx1ZSkudXBjYXNlDQoJCQlzaWdsYSA9
IEBkZW5vbWluYXppb25lQ29udG8udmFsdWUuZ3N1YigvXFcvLCAnJykudXBj
YXNlDQoJCQliZWdpbg0KCQkJCUBjb25uID0gTXlzcWwubmV3KCJsb2NhbGhv
c3QiLCAicm9vdCIsICJ4Y29saWJyaSIsICJwaXJhbWlkZSIpDQoJCQkJQGNv
bm4uYXV0b2NvbW1pdCgwKQ0KCQkJCUBjb25uLnF1ZXJ5KCJSRVBMQUNFIHBp
YW5vX2RlaV9jb250aSBWQUxVRVMgKCcje0Bjb2RpY2VUaXBvQ29udG8udmFs
dWUudG9fc30nLCcje0Bjb2RpY2VHcnVwcG8udmFsdWUudG9fc30nLCcje0Bj
b2RpY2VDb250by52YWx1ZS50b19zfScsJyN7QGNvZGljZVNvdHRvY29udG8u
dmFsdWUudG9fc30nLCcje0Bjb3N0YW50ZUNvbnRvLnZhbHVlfScsJyN7QGRl
bm9taW5hemlvbmVDb250by52YWx1ZX0nLCcje0Bjb2RpY2VOYXR1cmFDb250
by52YWx1ZS50b19zfScsICcje2luZGljZX0nLCAnI3tzaWdsYX0nKSIpDQoJ
CQkJQGNvbm4uY29tbWl0DQoJCQkJQGNvbm4uY2xvc2UNCgkJCXJlc2N1ZSBN
eXNxbEVycm9yID0+IGUNCgkJCQlAY29ubi5yb2xsYmFjaw0KCQkJCUBjb25u
LmNsb3NlDQoJCQkJcHJpbnQgImVycm9yIGNvZGU6ICIsIGUuZXJybm8sICJc
biINCgkJCQlwcmludCAiZXJyb3IgbWVzc2FnZTogIiwgZS5lcnJvciwgIlxu
Ig0KCQkJZW5kDQoJCQljYXJpY2FfZGF0aQ0KCQkJYXp6ZXJhX3ZhcmlhYmls
aQ0KCQllbmQNCgllbmQNCg0KCWRlZiBjYW5jZWxsYV9yZWNvcmQNCgkJaWYg
KEBjb250YXRvcmUgPD0gKCIje0BzY2VsdGEubnVtX3Jvd3N9Ii50b19pIC0g
MSkpIHRoZW4NCgkJCW1lc3NhZ2dpbyA9IEZYTWVzc2FnZUJveC5xdWVzdGlv
bigNCgkJCQlzZWxmLA0KCQkJCU1CT1hfWUVTX05PLA0KCQkJCSJBdHRlbnpp
b25lICEhISIsDQoJCQkJIlNpIHN0YW5ubyBjYW5jZWxsYW5kbyBkZWkgZGF0
aTogY29uZmVybWFyZSBsXCdvcGVyYXppb25lID8iKQ0KCQkJaWYgbWVzc2Fn
Z2lvID09IE1CT1hfQ0xJQ0tFRF9ZRVMNCgkJCQlAY29ubiA9IE15c3FsLm5l
dygibG9jYWxob3N0IiwgInJvb3QiLCAieGNvbGlicmkiLCAicGlyYW1pZGUi
KQ0KCQkJCUBjb25uLmF1dG9jb21taXQoMCkNCgkJCQlAY29ubi5xdWVyeSgi
REVMRVRFIEZST00gcGlhbm9fZGVpX2NvbnRpIFdIRVJFIGluZGljZSA9ICcj
e0BpbmRpY2UudmFsdWV9JyIpDQoJCQkJQGNvbm4uY29tbWl0DQoJCQkJQGNv
bm4uY2xvc2UNCgkJCQljYXJpY2FfZGF0aQ0KCQkJCWF6emVyYV92YXJpYWJp
bGkNCgkJCWVuZA0KCQllbmQNCgllbmQNCg0KCWRlZiBhenplcmFfdmFyaWFi
aWxpDQoJCUBjb250YXRvcmUgPSAwDQoJCWluZGljZSA9IDANCgkJQGNvZGlj
ZVRpcG9Db250by52YWx1ZSA9IDANCgkJQGRlc2NyaXppb25lVGlwb0NvbnRv
LnZhbHVlID0gIiINCgkJQGNvZGljZUdydXBwby52YWx1ZSA9IDANCgkJQGRl
c2NyaXppb25lR3J1cHBvLnZhbHVlID0gIiINCgkJQGNvZGljZUNvbnRvLnZh
bHVlID0gMA0KCQlAZGVzY3JpemlvbmVDb250by52YWx1ZSA9ICIiDQoJCUBj
b2RpY2VTb3R0b2NvbnRvLnZhbHVlID0gMA0KCQlAY29zdGFudGVDb250by52
YWx1ZSA9ICJBIg0KCQlAZGVub21pbmF6aW9uZUNvbnRvLnZhbHVlID0gIiIN
CgkJQGNvZGljZU5hdHVyYUNvbnRvLnZhbHVlID0gMA0KCQlAZGVzY3Jpemlv
bmVOYXR1cmFDb250by52YWx1ZSA9ICIiDQoJCUBpbmRpY2UgPSBGWERhdGFU
YXJnZXQubmV3KCIiKQ0KCWVuZA0KDQoJZGVmIGFzc2VnbmFfdmFyaWFiaWxp
DQoJCUByaWdhID0gQHNjZWx0YS5kYXRhX3NlZWsoQGNvbnRhdG9yZSkNCgkJ
QHJpZ2EgPSBAc2NlbHRhLmZldGNoX3Jvdw0KCQlAY29kaWNlVGlwb0NvbnRv
LnZhbHVlID0gQHJpZ2FbMF0udG9faSAgICAgIA0KCQlAY29kaWNlR3J1cHBv
LnZhbHVlID0gQHJpZ2FbMV0udG9faQ0KCQlAY29kaWNlQ29udG8udmFsdWUg
PSBAcmlnYVsyXS50b19pDQoJCUBjb2RpY2VTb3R0b2NvbnRvLnZhbHVlID0g
QHJpZ2FbM10udG9faQ0KCQlAY29zdGFudGVDb250by52YWx1ZSA9IEByaWdh
WzRdDQoJCUBkZW5vbWluYXppb25lQ29udG8udmFsdWUgPSBAcmlnYVs1XQ0K
CQlAY29kaWNlTmF0dXJhQ29udG8udmFsdWUgPSBAcmlnYVs2XS50b19pDQoJ
CUBpbmRpY2UudmFsdWUgPSBAcmlnYVs3XQ0KDQoJCXRpcG9Db250byA9IFsw
LCJHUlVQUE8iLCJDT05UTyIsIlNPVFRPQ09OVE8iXQ0KCQlAZGVzY3Jpemlv
bmVUaXBvQ29udG8udmFsdWUgPSB0aXBvQ29udG9bQGNvZGljZVRpcG9Db250
by52YWx1ZS50b19pXQ0KCQluYXR1cmFDb250byA9IFswLCJDT05UTyBESSBS
RURESVRPIiwiQ09OVE8gUEFUUklNT05JQUxFIiwiQ09OVE8gRFwnT1JESU5F
IiwiQ09OVE8gUklFUElMT0dBVElWTyJdDQoJCUBkZXNjcml6aW9uZU5hdHVy
YUNvbnRvLnZhbHVlID0gbmF0dXJhQ29udG9bQGNvZGljZU5hdHVyYUNvbnRv
LnZhbHVlLnRvX2ldDQogICAgDQoJCUBjb25uID0gTXlzcWwubmV3KCJsb2Nh
bGhvc3QiLCAicm9vdCIsICJ4Y29saWJyaSIsICJwaXJhbWlkZSIpDQoJCXNj
ZWx0YSA9IEBjb25uLnF1ZXJ5KCJTRUxFQ1QgKiBGUk9NIHBpYW5vX2RlaV9j
b250aSBXSEVSRSBpbmRpY2UgPSAoJyN7QGNvZGljZUdydXBwby52YWx1ZX0n
KjEwMDAwMDAwMDApIikNCgkJc2NlbHRhMSA9IEBjb25uLnF1ZXJ5KCJTRUxF
Q1QgKiBGUk9NIHBpYW5vX2RlaV9jb250aSBXSEVSRSBpbmRpY2UgPSAoJyN7
QGNvZGljZUdydXBwby52YWx1ZX0nKjEwMDAwMDAwMDAgKyAnI3tAY29kaWNl
Q29udG8udmFsdWV9JyoxMDAwMDAwKSIpCQkNCgkJDQoJCUBjb25uLmNsb3Nl
DQoNCgkJQGRlc2NyaXppb25lR3J1cHBvLnZhbHVlID0gIiINCgkJQGRlc2Ny
aXppb25lQ29udG8udmFsdWUgPSAiIg0KCQlpZiAiI3tzY2VsdGEubnVtX3Jv
d3N9Ii50b19pID4gMA0KCQkJcmlnYSA9IHNjZWx0YS5kYXRhX3NlZWsoMCkN
CgkJCXJpZ2EgPSBzY2VsdGEuZmV0Y2hfcm93DQoJCQlAZGVzY3JpemlvbmVH
cnVwcG8udmFsdWUgPSByaWdhWzVdDQoJCWVuZA0KDQoJCUBkZXNjcml6aW9u
ZUNvbnRvLnZhbHVlID0gJycNCgkJaWYgQGNvZGljZUNvbnRvLnZhbHVlICE9
ICIiDQoJCQlyaWdhID0gc2NlbHRhMS5kYXRhX3NlZWsoMCkNCgkJCXJpZ2Eg
PSBzY2VsdGExLmZldGNoX3Jvdw0KCQkJQGRlc2NyaXppb25lQ29udG8udmFs
dWUgPSByaWdhWzVdDQoJCWVuZA0KCWVuZA0KCQ0KCWRlZiBjYXJpY2FfZGF0
aQ0KCQliZWdpbg0KCQkJQGNvbm4gPSBNeXNxbC5uZXcoImxvY2FsaG9zdCIs
ICJyb290IiwgInhjb2xpYnJpIiwgInBpcmFtaWRlIikNCgkJCUBzY2VsdGEg
PSBAY29ubi5xdWVyeSgiU0VMRUNUICogRlJPTSBwaWFub19kZWlfY29udGki
KQ0KCQkJQGNvbnRhdG9yZSA9ICIje0BzY2VsdGEubnVtX3Jvd3N9Ii50b19p
DQoJCQlAY29ubi5jbG9zZQ0KCQlyZXNjdWUNCgkJCUBjb25uLmNsb3NlDQoJ
CQlwcmludCAiZXJyb3IgY29kZTogIiwgZS5lcnJubywgIi9uIg0KCQkJcHJp
bnQgIkVycm9yIG1lc3NhZ2U6ICIsIGUuZXJyb3IsICIvbiINCgkJZW5kDQoJ
ZW5kDQplbmQNCg0KY2xhc3MgRmluZXN0cmExMDgwMiA8IEZYRGlhbG9nQm94
DQoJI2RlZiBpbml0aWFsaXplKGFwcCkNCglkZWYgaW5pdGlhbGl6ZShhcHAp
DQoJCSMgSW5pdGlhbGl6ZSBiYXNlIGNsYXNzDQoJCXN1cGVyKGFwcCwgIlBS
T0dSQU1NQSBQSVJBTUlERSIsIDpvcHRzID0+IERFQ09SX0FMTCwgOnggPT4g
MjAsIDp5ID0+IDIwLCA6d2lkdGggPT4gNjAwLCA6aGVpZ2h0ID0+IDQwMCkN
CgllbmQNCmVuZA0KDQpjbGFzcyBGaW5lc3RyYTEwODAzIDwgRlhEaWFsb2dC
b3gNCgkjZGVmIGluaXRpYWxpemUoYXBwKQ0KCWRlZiBpbml0aWFsaXplKGFw
cCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xhc3MNCgkJc3VwZXIoYXBwLCAi
UFJPR1JBTU1BIFBJUkFNSURFIiwgOm9wdHMgPT4gREVDT1JfQUxMLCA6eCA9
PiAyMCwgOnkgPT4gMjAsIDp3aWR0aCA9PiA2MDAsIDpoZWlnaHQgPT4gNDAw
KQ0KCWVuZA0KZW5kDQoNCmNsYXNzIEZpbmVzdHJhMTA4MDQgPCBGWERpYWxv
Z0JveA0KCSNkZWYgaW5pdGlhbGl6ZShhcHApDQoJZGVmIGluaXRpYWxpemUo
YXBwKQ0KCQkjIEluaXRpYWxpemUgYmFzZSBjbGFzcw0KCQlzdXBlcihhcHAs
ICJQUk9HUkFNTUEgUElSQU1JREUiLCA6b3B0cyA9PiBERUNPUl9BTEwsIDp4
ID0+IDIwLCA6eSA9PiAyMCwgOndpZHRoID0+IDYwMCwgOmhlaWdodCA9PiA0
MDApDQoJZW5kDQplbmQNCg0KY2xhc3MgRmluZXN0cmExMDgwNSA8IEZYRGlh
bG9nQm94ICNjcmVhIGxhIGZpbmVzdHJhIHBlciBnZXN0aXJlIGxlIGNhdXNh
bGkgZGkgY29udGFiaWxpdGEnIGdlbmVyYWxlDQoJZGVmIGluaXRpYWxpemUo
YXBwKQ0KCQkjIEluaXRpYWxpemUgYmFzZSBjbGFzcw0KCQlAY29udGF0b3Jl
ID0gMA0KCQlAcmlnYSA9IG5pbA0KI2NhcmljYSBpbiBtZW1vcmlhIHR1dHRh
IGxhIHRhYmVsbGEgZGVsbGUgY2F1c2FsaSBkaSBjb250YWJpbGl0YScNCgkJ
Y2FyaWNhX2RhdGkNCiNkaXNlZ25hIGxhIGZpbmVzdHJhICAgIA0KCQlzdXBl
cihhcHAsICJQUk9HUkFNTUEgUElSQU1JREUiLCA6b3B0cyA9PiBERUNPUl9B
TEwsIDp4ID0+IDIwLCA6eSA9PiAyMCwgOndpZHRoID0+IDgwMCwgOmhlaWdo
dCA9PiA0NjApDQoNCgkJYXJlYSA9IEZYUGFja2VyLm5ldyhzZWxmLCA6b3B0
cyA9PiBMQVlPVVRfRklMTCwgOnZTcGFjaW5nID0+IDMwLCA6aFNwYWNpbmcg
PT4gNTApDQoNCgkJZ3J1cHBvMSA9IEZYR3JvdXBCb3gubmV3KGFyZWEsICIi
LCA6dlNwYWNpbmcgPT4gMCkNCgkJDQoJCXZUZXN0YTAgPSBGWEhvcml6b250
YWxGcmFtZS5uZXcoZ3J1cHBvMSwgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9Q
fFBBQ0tfVU5JRk9STV9XSURUSCwgOnBhZEJvdHRvbSA9PiAxMCkNCgkJRlhM
YWJlbC5uZXcodlRlc3RhMCwgIkdFU1RJT05FIERFTExFIENBVVNBTEkgREkg
Q09OVEFCSUxJVEFcJyBHRU5FUkFMRSIsIG5pbCwgSlVTVElGWV9DRU5URVJf
WHxMQVlPVVRfRklMTF9ST1csIDpwYWRSaWdodCA9PiAxMjgpDQoNCgkJdlRl
c3RhMSA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8xLCA6b3B0cyA9
PiBMQVlPVVRfU0lERV9UT1B8UEFDS19VTklGT1JNX1dJRFRIKQ0KCQlGWEJ1
dHRvbi5uZXcodlRlc3RhMSwgJ1ByaW1vIHJlY29yZCcsIDpwYWRMZWZ0ID0+
IDUsIDpwYWRSaWdodCA9PiA1KS5jb25uZWN0KFNFTF9DT01NQU5EKSB7cHJp
bW9fcmVjb3JkIH0NCgkJRlhCdXR0b24ubmV3KHZUZXN0YTEsICdSZWNvcmQg
cHJlY2VkZW50ZScsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1KS5j
b25uZWN0KFNFTF9DT01NQU5EKSB7cHJlY2VkZW50ZV9yZWNvcmR9DQoJCUZY
QnV0dG9uLm5ldyh2VGVzdGExLCAnUmVjb3JkIHN1Y2Nlc3Npdm8nLCA6cGFk
TGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSkuY29ubmVjdChTRUxfQ09NTUFO
RCkge3N1Y2Nlc3Npdm9fcmVjb3JkfQ0KCQlGWEJ1dHRvbi5uZXcodlRlc3Rh
MSwgJ1VsdGltbyByZWNvcmQnLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQg
PT4gNSkuY29ubmVjdChTRUxfQ09NTUFORCkge3VsdGltb19yZWNvcmR9DQoJ
CUZYQnV0dG9uLm5ldyh2VGVzdGExLCAnVmFpIGFsIHJlY29yZC4uLicsIDpw
YWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1KS5jb25uZWN0KFNFTF9DT01N
QU5EKSB7dmFpX2FfcmVjb3JkfQ0KCQlGWEJ1dHRvbi5uZXcodlRlc3RhMSwg
J051b3ZvIHJlY29yZCcsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1
KS5jb25uZWN0KFNFTF9DT01NQU5EKSB7bnVvdm9fcmVjb3JkfQ0KDQoJCWdy
dXBwbzIgPSBGWEdyb3VwQm94Lm5ldyhhcmVhLCAiIiwgOnZTcGFjaW5nID0+
IDApDQoNCgkJdkxpbmVhMSA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVw
cG8yLCA6b3B0cyA9PiBMQVlPVVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAw
KQ0KCQlAY29kaWNlID0gRlhEYXRhVGFyZ2V0Lm5ldygwKQ0KCQlGWEJ1dHRv
bi5uZXcodkxpbmVhMSwgJz8nLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQg
PT4gNSwgOnBhZFRvcCA9PjAsIDpwYWRCb3R0b20gPT4gMCkuY29ubmVjdChT
RUxfQ09NTUFORCkgew0KCQkJJHZhciA9IFtdDQoJCQlyaWNlcmNhID0gRmlu
ZXN0cmE5MDAxMS5uZXcoc2VsZikNCgkJCXJpY2VyY2EuZXhlY3V0ZShQTEFD
RU1FTlRfQ1VSU09SKQ0KCQkJQGNvZGljZS52YWx1ZSA9ICR2YXJbMF0NCgkJ
CXZhaV9hX3JlY29yZA0KCQkJY2VyY2FfZGVzY3JpemlvbmkNCgkJCSR2YXIg
PSBbXQ0KCQkJfQ0KDQoJCUZYTGFiZWwubmV3KHZMaW5lYTEsICJDb2RpY2Ug
Y2F1c2FsZSIsIG5pbCwgSlVTVElGWV9SSUdIVHxMQVlPVVRfRklMTF9ST1cs
IDpwYWRSaWdodCA9PiAxNTApDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWEx
LCAzLCA6dGFyZ2V0ID0+IEBjb2RpY2UsIDpzZWxlY3RvciA9PiBGWERhdGFU
YXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBGUkFNRV9TVU5LRU58RlJBTUVf
VEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRFWFRGSUVMRF9MSU1JVEVEfFRFWFRG
SUVMRF9JTlRFR0VSfEpVU1RJRllfUklHSFQpDQoNCgkJdkxpbmVhMiA9IEZY
SG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8yLCA6b3B0cyA9PiBMQVlPVVRf
U0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAZGVzY3JpemlvbmVDYXVz
YWxlID0gRlhEYXRhVGFyZ2V0Lm5ldygiIikNCgkJRlhCdXR0b24ubmV3KHZM
aW5lYTIsICc/JywgOnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUsIDpw
YWRUb3AgPT4wLCA6cGFkQm90dG9tID0+IDApLmNvbm5lY3QoU0VMX0NPTU1B
TkQpIHsNCgkJCSR2YXIgPSBbXQ0KCQkJJHZhclswXSA9IEBkZXNjcml6aW9u
ZUNhdXNhbGUudmFsdWUuZ3N1YigvXFcvLCAnJykudXBjYXNlDQoJCQlyaWNl
cmNhID0gRmluZXN0cmE5MDAxMi5uZXcoc2VsZikNCgkJCXJpY2VyY2EuZXhl
Y3V0ZShQTEFDRU1FTlRfQ1VSU09SKQ0KCQkJQGNvZGljZS52YWx1ZSA9ICR2
YXJbMF0NCgkJCXZhaV9hX3JlY29yZA0KCQkJY2VyY2FfZGVzY3JpemlvbmkN
CgkJCSR2YXIgPSBbXQ0KCQkJfQ0KCQlGWExhYmVsLm5ldyh2TGluZWEyLCAi
RGVzY3JpemlvbmUgZGVsbGEgY2F1c2FsZSIsIG5pbCwgSlVTVElGWV9SSUdI
VHxMQVlPVVRfRklMTF9ST1csIDpwYWRSaWdodCA9PiAxMDMpDQoJCUZYVGV4
dEZpZWxkLm5ldyh2TGluZWEyLCAyNSwgOnRhcmdldCA9PiBAZGVzY3Jpemlv
bmVDYXVzYWxlLCA6c2VsZWN0b3IgPT4gRlhEYXRhVGFyZ2V0OjpJRF9WQUxV
RSwgOm9wdHMgPT4gRlJBTUVfU1VOS0VOfEZSQU1FX1RISUNLfExBWU9VVF9G
SUxMX1JPV3xURVhURklFTERfTElNSVRFRHxKVVNUSUZZX0xFRlQpDQoNCgkJ
dkxpbmVhMyA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8yLCA6b3B0
cyA9PiBMQVlPVVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAc2Vn
bm8gPSBGWERhdGFUYXJnZXQubmV3KCIiKQ0KCQlGWExhYmVsLm5ldyh2TGlu
ZWEzLCAiU2Vnbm8gZGVsIG1vdmltZW50byAoRCwgQSwgJyAnKSIsIG5pbCwg
SlVTVElGWV9SSUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRMZWZ0ID0+IDI0
LCA6cGFkUmlnaHQgPT4gNzMpDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWEz
LCAxLCA6dGFyZ2V0ID0+IEBzZWdubywgOnNlbGVjdG9yID0+IEZYRGF0YVRh
cmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9U
SElDS3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJRUxEX0xJTUlURUR8SlVTVElG
WV9SSUdIVCkNCg0KCQl2TGluZWE0ID0gRlhIb3Jpem9udGFsRnJhbWUubmV3
KGdydXBwbzIsIDpvcHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5n
ID0+IDApDQoJCUBjb2RpY2VMaWJybyA9IEZYRGF0YVRhcmdldC5uZXcoMCkN
CgkJQGRlc2NyaXppb25lTGlicm8gPSBGWERhdGFUYXJnZXQubmV3KCIiKQ0K
CQlGWEJ1dHRvbi5uZXcodkxpbmVhNCwgJz8nLCA6cGFkTGVmdCA9PiA1LCA6
cGFkUmlnaHQgPT4gNSwgOnBhZFRvcCA9PjAsIDpwYWRCb3R0b20gPT4gMCku
Y29ubmVjdChTRUxfQ09NTUFORCkgew0KCQkJJHZhciA9IFtdDQoJCQkkdmFy
WzBdID0gQGNvZGljZUxpYnJvLnZhbHVlDQoJCQlyaWNlcmNhID0gRmluZXN0
cmE5MDAxMy5uZXcoc2VsZikNCgkJCXJpY2VyY2EuZXhlY3V0ZShQTEFDRU1F
TlRfQ1VSU09SKQ0KCQkJQGNvZGljZUxpYnJvLnZhbHVlID0gJHZhclswXQ0K
CQkJQGRlc2NyaXppb25lTGlicm8udmFsdWUgPSAkdmFyWzFdDQoJCQkkdmFy
ID0gW10NCgkJCX0NCgkJRlhMYWJlbC5uZXcodkxpbmVhNCwgIkNvZGljZSBk
ZWwgbGlicm8gZ2lvcm5hbGUiLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VU
X0ZJTExfUk9XLCA6cGFkUmlnaHQgPT4gMTA3KQ0KCQlGWFRleHRGaWVsZC5u
ZXcodkxpbmVhNCwgMywgOnRhcmdldCA9PiBAY29kaWNlTGlicm8sIDpzZWxl
Y3RvciA9PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBGUkFN
RV9TVU5LRU58RlJBTUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRFWFRGSUVM
RF9MSU1JVEVEfFRFWFRGSUVMRF9JTlRFR0VSfEpVU1RJRllfUklHSFQpDQoJ
CUZYVGV4dEZpZWxkLm5ldyh2TGluZWE0LCA4MCwgOnRhcmdldCA9PiBAZGVz
Y3JpemlvbmVMaWJybywgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURf
VkFMVUUsIDpvcHRzID0+IFRFWFRGSUVMRF9SRUFET05MWXxURVhURklFTERf
T1ZFUlNUUklLRSkNCg0KCQl2TGluZWE3ID0gRlhIb3Jpem9udGFsRnJhbWUu
bmV3KGdydXBwbzIsIDpvcHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZTcGFj
aW5nID0+IDApDQoJCUBwYXJ0aXRlID0gRlhEYXRhVGFyZ2V0Lm5ldygiIikN
CgkJRlhMYWJlbC5uZXcodkxpbmVhNywgIkdlc3Rpb25lIGRlbGxlIHBhcnRp
dGUgKFMvTikiLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9X
LCA6cGFkTGVmdCA9PiAyNCwgOnBhZFJpZ2h0ID0+IDg5KQ0KCQlGWFRleHRG
aWVsZC5uZXcodkxpbmVhNywgMSwgOnRhcmdldCA9PiBAcGFydGl0ZSwgOnNl
bGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZS
QU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJ
RUxEX0xJTUlURUR8SlVTVElGWV9SSUdIVCkNCg0KCQl2TGluZWE4ID0gRlhI
b3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpvcHRzID0+IExBWU9VVF9T
SURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBmaXNjYWxlID0gRlhEYXRh
VGFyZ2V0Lm5ldygiIikNCgkJRlhMYWJlbC5uZXcodkxpbmVhOCwgIkdlc3Rp
b25lIGRlbGxlIHJpdGVudXRlIGZpc2NhbGkgKFMvTikiLCBuaWwsIEpVU1RJ
RllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFkTGVmdCA9PiAyNCwgOnBh
ZFJpZ2h0ID0+IDU0KQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVhOCwgMSwg
OnRhcmdldCA9PiBAZmlzY2FsZSwgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdl
dDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElD
S3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJRUxEX0xJTUlURUR8SlVTVElGWV9S
SUdIVCkNCg0KCQl2TGluZWE5ID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdy
dXBwbzIsIDpvcHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+
IDApDQoJCUBzb2NpYWxlID0gRlhEYXRhVGFyZ2V0Lm5ldygiIikNCgkJRlhM
YWJlbC5uZXcodkxpbmVhOSwgIkdlc3Rpb25lIGRlbGxlIHJpdGVudXRlIHNv
Y2lhbGkgKFMvTikiLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExf
Uk9XLCA6cGFkTGVmdCA9PiAyNCwgOnBhZFJpZ2h0ID0+IDUyKQ0KCQlGWFRl
eHRGaWVsZC5uZXcodkxpbmVhOSwgMSwgOnRhcmdldCA9PiBAc29jaWFsZSwg
OnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+
IEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9ST1d8VEVY
VEZJRUxEX0xJTUlURUR8SlVTVElGWV9SSUdIVCkNCg0KCQl2TGluZWExMCA9
IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8yLCA6b3B0cyA9PiBMQVlP
VVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAcmV2ZXJzZUNoYXJn
ZSA9IEZYRGF0YVRhcmdldC5uZXcoIiIpDQoJCUZYTGFiZWwubmV3KHZMaW5l
YTEwLCAiUmVnaXN0cmF6aW9uZSByZXZlcnNlIGNoYXJnZSAoUy9OKSIsIG5p
bCwgSlVTVElGWV9SSUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRMZWZ0ID0+
IDI0LCA6cGFkUmlnaHQgPT4gNTApDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGlu
ZWExMCwgMSwgOnRhcmdldCA9PiBAcmV2ZXJzZUNoYXJnZSwgOnNlbGVjdG9y
ID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1FX1NV
TktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJRUxEX0xJ
TUlURUR8SlVTVElGWV9SSUdIVCkNCg0KCQl2TGluZWExMSA9IEZYSG9yaXpv
bnRhbEZyYW1lLm5ldyhncnVwcG8yLCA6b3B0cyA9PiBMQVlPVVRfU0lERV9U
T1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAc29sb0l2YSA9IEZYRGF0YVRhcmdl
dC5uZXcoIiIpDQoJCUZYTGFiZWwubmV3KHZMaW5lYTExLCAiUmVnaXN0cmF6
aW9uZSBzb2xvIHN1IHJlZ2lzdHJvIGl2YSAoUy9OKSIsIG5pbCwgSlVTVElG
WV9SSUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRMZWZ0ID0+IDI0LCA6cGFk
UmlnaHQgPT4gMzIpDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWExMSwgMSwg
OnRhcmdldCA9PiBAc29sb0l2YSwgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdl
dDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElD
S3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJRUxEX0xJTUlURUR8SlVTVElGWV9S
SUdIVCkNCg0KCQlncnVwcG80ID0gRlhHcm91cEJveC5uZXcoYXJlYSwgIiIs
IDp2U3BhY2luZyA9PiAwKQ0KCQl2Rm9uZG8gPSBGWEhvcml6b250YWxGcmFt
ZS5uZXcoZ3J1cHBvNCwgOm9wdHMgPT4gTEFZT1VUX1NJREVfQk9UVE9NfFBB
Q0tfVU5JRk9STV9XSURUSCkNCgkJRlhCdXR0b24ubmV3KHZGb25kbywgJ0Nh
bmNlbGxhJywgOnBhZExlZnQgPT4gMjUsIDpwYWRSaWdodCA9PiAyNSkuY29u
bmVjdChTRUxfQ09NTUFORCkge2NhbmNlbGxhX3JlY29yZH0NCgkJRlhCdXR0
b24ubmV3KHZGb25kbywgJ0FubnVsbGEnLCA6cGFkTGVmdCA9PiAyNSwgOnBh
ZFJpZ2h0ID0+IDI1KS5jb25uZWN0KFNFTF9DT01NQU5EKSB7YXp6ZXJhX3Zh
cmlhYmlsaX0NCgkJRlhCdXR0b24ubmV3KHZGb25kbywgJ1JlZ2lzdHJhJywg
OnBhZExlZnQgPT4gMjUsIDpwYWRSaWdodCA9PiAyNSkuY29ubmVjdChTRUxf
Q09NTUFORCkge3JlZ2lzdHJhfQ0KCQlGWEJ1dHRvbi5uZXcodkZvbmRvLCAn
RXNjaScsIDp0YXJnZXQgPT4gc2VsZiwgOnNlbGVjdG9yID0+IEZYRGlhbG9n
Qm94OjpJRF9DQU5DRUwsIDpwYWRMZWZ0ID0+IDI1LCA6cGFkUmlnaHQgPT4g
NDUpDQoJCWF6emVyYV92YXJpYWJpbGkNCgllbmQNCg0KCWRlZiBwcmltb19y
ZWNvcmQNCgkJQGNvbnRhdG9yZSA9IDANCgkJQHNjZWx0YS5udW1fcm93cyA9
PSAwID8gYXp6ZXJhX3ZhcmlhYmlsaSA6IGFzc2VnbmFfdmFyaWFiaWxpDQoJ
ZW5kDQoNCglkZWYgcHJlY2VkZW50ZV9yZWNvcmQNCgkJaWYgQHNjZWx0YS5u
dW1fcm93cyA9PSAwIHRoZW4JCQ0KCQkJQGNvbnRhdG9yZSA9IDANCgkJCWF6
emVyYV92YXJpYWJpbGkNCgkJZWxzZQ0KCQkJQGNvbnRhdG9yZSAtIDEgPDAg
PyBAY29udGF0b3JlID0gMCA6IEBjb250YXRvcmUgPSBAY29udGF0b3JlIC0x
DQoJCQlhc3NlZ25hX3ZhcmlhYmlsaQ0KCQllbmQNCgllbmQNCg0KCWRlZiBz
dWNjZXNzaXZvX3JlY29yZA0KCQlpZiBAc2NlbHRhLm51bV9yb3dzID09IDAg
dGhlbgkJDQoJCQlAY29udGF0b3JlID0gMA0KCQkJYXp6ZXJhX3ZhcmlhYmls
aQ0KCQllbHNlDQoJCQlAY29udGF0b3JlID49ICgiI3tAc2NlbHRhLm51bV9y
b3dzfSIudG9faSAtIDEpID8gQGNvbnRhdG9yZSA9ICgiI3tAc2NlbHRhLm51
bV9yb3dzfSIudG9faSAtIDEpIDogQGNvbnRhdG9yZSA9IEBjb250YXRvcmUg
KyAxDQoJCQlhc3NlZ25hX3ZhcmlhYmlsaQ0KCQllbmQNCgllbmQNCg0KCWRl
ZiB1bHRpbW9fcmVjb3JkDQoJCWlmIEBzY2VsdGEubnVtX3Jvd3MgPT0gMCB0
aGVuCQkNCgkJCUBjb250YXRvcmUgPSAwDQoJCQlhenplcmFfdmFyaWFiaWxp
DQoJCWVsc2UNCgkJCUBjb250YXRvcmUgPSAoIiN7QHNjZWx0YS5udW1fcm93
c30iLnRvX2kgLSAxKQ0KCQkJYXNzZWduYV92YXJpYWJpbGkNCgkJZW5kDQoJ
ZW5kDQoNCglkZWYgbnVvdm9fcmVjb3JkDQoJCWF6emVyYV92YXJpYWJpbGkN
CgkJQGNvZGljZS52YWx1ZSA9IDANCgllbmQNCg0KCWRlZiB2YWlfYV9yZWNv
cmQNCgkJaWYgQGNvZGljZS52YWx1ZS50b19pID4gMA0KCQkJQGNvbnRhdG9y
ZSA9IDANCgkJCUByaWdhID0gQHNjZWx0YS5kYXRhX3NlZWsoQGNvbnRhdG9y
ZSkNCgkJCUByaWdhID0gQHNjZWx0YS5mZXRjaF9yb3cNCgkJCXVudGlsIEBj
b2RpY2UudmFsdWUgPT0gQHJpZ2FbMF0NCgkJCQlAcmlnYSA9IEBzY2VsdGEu
ZGF0YV9zZWVrKEBjb250YXRvcmUpDQoJCQkJQHJpZ2EgPSBAc2NlbHRhLmZl
dGNoX3Jvdw0KCQkJCUBjb250YXRvcmUgPSBAY29udGF0b3JlICsgMQ0KCQkJ
ZW5kDQoJCQlAY29udGF0b3JlID0gQGNvbnRhdG9yZSAtIDEgaWYgQGNvbnRh
dG9yZSA+MA0KCQkJYXNzZWduYV92YXJpYWJpbGkNCgkJCSNlbmQNCgkJZW5k
DQoJZW5kDQoNCg0KCWRlZiByZWdpc3RyYQ0KI34gYWxsYSB2YXJpYWJpbGUg
cmVnaXN0cmEgc2kgYXNzZWduYSBpbCB2YWxvcmUgdmVyby4NCiN+IFVuIHJp
c3VsdGF0byBmYWxzbyBkaSB1biBxdWFsc2lhc2kgdGVzdCBuZSBjYW1iaWVy
YScgaWwgdmFsb3JlIGluIGZhbHNvLCBpbXBlZGVuZG8gbGEgcmVnaXN0cmF6
aW9uZSBkZWkgZGF0aSBpbiBtZW1vcmlhLg0KCQlyZWdpc3RyYSA9IHRydWUN
CgkJQHNlZ25vLnZhbHVlID0gQHNlZ25vLnZhbHVlLnVwY2FzZQ0KCQlAZGVz
Y3JpemlvbmVDYXVzYWxlLnZhbHVlID0gQGNvbm4uZXNjYXBlX3N0cmluZyhA
ZGVzY3JpemlvbmVDYXVzYWxlLnZhbHVlKS51cGNhc2UNCgkJc2lnbGEgPSBA
ZGVzY3JpemlvbmVDYXVzYWxlLnZhbHVlLmdzdWIoL1xXLywgJycpLnVwY2Fz
ZQ0KCQlAcGFydGl0ZS52YWx1ZSA9IEBwYXJ0aXRlLnZhbHVlLnRvX3MudXBj
YXNlDQoJCUBmaXNjYWxlLnZhbHVlID0gQGZpc2NhbGUudmFsdWUudG9fcy51
cGNhc2UNCgkJQHNvY2lhbGUudmFsdWUgPSBAc29jaWFsZS52YWx1ZS50b19z
LnVwY2FzZQ0KCQlAcmV2ZXJzZUNoYXJnZS52YWx1ZSA9IEByZXZlcnNlQ2hh
cmdlLnZhbHVlLnRvX3MudXBjYXNlDQoJCUBzb2xvSXZhLnZhbHVlID0gQHNv
bG9JdmEudmFsdWUudG9fcy51cGNhc2UNCgkJQHBhcnRpdGUudmFsdWUgPT0g
J1MnID8gQHBhcnRpdGUudmFsdWUgPSAxIDogQHBhcnRpdGUudmFsdWUgPSAw
DQoJCUBmaXNjYWxlLnZhbHVlID09ICdTJyA/IEBmaXNjYWxlLnZhbHVlID0g
MTogQGZpc2NhbGUudmFsdWUgPSAwDQoJCUBzb2NpYWxlLnZhbHVlID09ICdT
JyA/IEBzb2NpYWxlLnZhbHVlID0gMTogQHNvY2lhbGUudmFsdWUgPSAwDQoJ
CUByZXZlcnNlQ2hhcmdlLnZhbHVlID09ICdTJyA/IEByZXZlcnNlQ2hhcmdl
LnZhbHVlID0gMTogQHJldmVyc2VDaGFyZ2UudmFsdWUgPSAwDQoJCUBzb2xv
SXZhLnZhbHVlID09ICdTJyA/IEBzb2xvSXZhLnZhbHVlID0gMTogQHNvbG9J
dmEudmFsdWUgPSAwDQoNCgkJaWYgQGNvZGljZS52YWx1ZS50b19pID09IDAN
CgkJCXJlZ2lzdHJhID0gZmFsc2UNCgkJCUZYTWVzc2FnZUJveC53YXJuaW5n
KHNlbGYsIE1CT1hfT0ssICJDb2RpY2UgY2F1c2FsZSIsICJ2YWxvcmUgJyN7
QGNvZGljZS52YWx1ZX0nIG5vbiBhbW1lc3NvIHBlciBxdWVzdG8gY2FtcG8i
KQ0KCQllbmQNCgkJaWYgQGRlc2NyaXppb25lQ2F1c2FsZS52YWx1ZSA9PSAi
Ig0KCQkJcmVnaXN0cmEgPSBmYWxzZQ0KCQkJRlhNZXNzYWdlQm94Lndhcm5p
bmcoc2VsZiwgTUJPWF9PSywgIkRlc2NyaXppb25lIGNhdXNhbGUiLCAiTWFu
Y2EgbGEgZGVzY3JpemlvbmUgZGVsbGEgY2F1c2FsZSIpDQoJCWVuZA0KDQoJ
CWlmIChAc2Vnbm8udmFsdWUgIT0gIkQiIGFuZCBAc2Vnbm8udmFsdWUgIT0g
IkEiIGFuZCBAc2Vnbm8udmFsdWUgIT0gIiIpDQoJCQlyZWdpc3RyYSA9IGZh
bHNlDQoJCQlGWE1lc3NhZ2VCb3gud2FybmluZyhzZWxmLCBNQk9YX09LLCAi
U2Vnbm8gZGVsIG1vdmltZW50byIsICJJbCB2YWxvcmUgJyN7QHNlZ25vLnZh
bHVlfScgbm9uIGUnIGFtbWVzc28iKQ0KCQllbmQNCg0KCQlpZiByZWdpc3Ry
YSA9PSB0cnVlDQoJCQliZWdpbg0KCQkJCUBjb25uID0gTXlzcWwubmV3KCJs
b2NhbGhvc3QiLCAicm9vdCIsICJ4Y29saWJyaSIsICJwaXJhbWlkZSIpDQoJ
CQkJQGNvbm4uYXV0b2NvbW1pdCgwKQ0KCQkJCSN+IEBjb25uLnF1ZXJ5KCJS
RVBMQUNFIGNhdXNhbGlfY29nZSBWQUxVRVMgKCcje0Bjb2RpY2UudmFsdWUu
dG9fc30nLCcje0BkZXNjcml6aW9uZUNhdXNhbGUudmFsdWV9JywnI3tAc2Vn
bm8udmFsdWV9JywnI3tAY29kaWNlTGlicm8udmFsdWUudG9fc30nLCcje0Bj
b2RpY2VMaWJyb0l2YS52YWx1ZS50b19zfScsJyN7QGNvZGljZURvY3VtZW50
by52YWx1ZS50b19zfScsICcje0BwYXJ0aXRlLnZhbHVlfScsICcje0BmaXNj
YWxlLnZhbHVlfScsICcje0Bzb2NpYWxlLnZhbHVlfScsJyN7QHJldmVyc2VD
aGFyZ2UudmFsdWV9JywnI3tAc29sb0l2YS52YWx1ZX0nLCcje3NpZ2xhfScp
IikNCgkJCQlAY29ubi5xdWVyeSgiUkVQTEFDRSBjYXVzYWxpX2NvZ2UgVkFM
VUVTICgnI3tAY29kaWNlLnZhbHVlLnRvX3N9JywnI3tAZGVzY3JpemlvbmVD
YXVzYWxlLnZhbHVlfScsJyN7QHNlZ25vLnZhbHVlfScsJyN7QGNvZGljZUxp
YnJvLnZhbHVlLnRvX3N9JywgJyN7QHBhcnRpdGUudmFsdWV9JywgJyN7QGZp
c2NhbGUudmFsdWV9JywgJyN7QHNvY2lhbGUudmFsdWV9JywnI3tAcmV2ZXJz
ZUNoYXJnZS52YWx1ZX0nLCcje0Bzb2xvSXZhLnZhbHVlfScsJyN7c2lnbGF9
JykiKQ0KCQkJCUBjb25uLmNvbW1pdA0KCQkJCUBjb25uLmNsb3NlDQoJCQly
ZXNjdWUgTXlzcWxFcnJvciA9PiBlDQoJCQkJQGNvbm4ucm9sbGJhY2sNCgkJ
CQlAY29ubi5jbG9zZQ0KCQkJCXByaW50ICJlcnJvciBjb2RlOiAiLCBlLmVy
cm5vLCAiXG4iDQoJCQkJcHJpbnQgImVycm9yIG1lc3NhZ2U6ICIsIGUuZXJy
b3IsICJcbiINCgkJCWVuZA0KCQkJY2FyaWNhX2RhdGkNCgkJCWF6emVyYV92
YXJpYWJpbGkNCgkJZW5kDQoJZW5kDQoNCglkZWYgY2FuY2VsbGFfcmVjb3Jk
DQoJCWlmIChAY29udGF0b3JlIDw9ICgiI3tAc2NlbHRhLm51bV9yb3dzfSIu
dG9faSAtIDEpKQ0KCQkJbWVzc2FnZ2lvID0gRlhNZXNzYWdlQm94LnF1ZXN0
aW9uKA0KCQkJCXNlbGYsDQoJCQkJTUJPWF9ZRVNfTk8sDQoJCQkJIkF0dGVu
emlvbmUgISEhIiwNCgkJCQkiU2kgc3Rhbm5vIGNhbmNlbGxhbmRvIGRlaSBk
YXRpOiBjb25mZXJtYXJlIGxcJ29wZXJhemlvbmUgPyIpDQoJCQlpZiBtZXNz
YWdnaW8gPT0gTUJPWF9DTElDS0VEX1lFUw0KCQkJCUBjb25uID0gTXlzcWwu
bmV3KCJsb2NhbGhvc3QiLCAicm9vdCIsICJ4Y29saWJyaSIsICJwaXJhbWlk
ZSIpDQoJCQkJQGNvbm4uYXV0b2NvbW1pdCgwKQ0KCQkJCUBjb25uLnF1ZXJ5
KCJERUxFVEUgRlJPTSBjYXVzYWxpX2NvZ2UgV0hFUkUgY29kaWNlID0gJyN7
QGNvZGljZS52YWx1ZX0nIikNCgkJCQlAY29ubi5jb21taXQNCgkJCQlAY29u
bi5jbG9zZQ0KCQkJCWNhcmljYV9kYXRpDQoJCQkJYXp6ZXJhX3ZhcmlhYmls
aQ0KCQkJZW5kDQoJCWVuZA0KCWVuZA0KDQoJZGVmIGF6emVyYV92YXJpYWJp
bGkNCgkJQGNvbnRhdG9yZSA9IDANCgkJQGNvZGljZS52YWx1ZSA9IDANCgkJ
QGRlc2NyaXppb25lQ2F1c2FsZS52YWx1ZSA9ICIiDQoJCUBzZWduby52YWx1
ZSA9ICIiDQoJCUBjb2RpY2VMaWJyby52YWx1ZSA9IDANCgkJQGRlc2NyaXpp
b25lTGlicm8udmFsdWUgPSAiIg0KCQlAcGFydGl0ZS52YWx1ZSA9ICJOIg0K
CQlAZmlzY2FsZS52YWx1ZSA9ICJOIg0KCQlAc29jaWFsZS52YWx1ZSA9ICJO
Ig0KCQlAcmV2ZXJzZUNoYXJnZS52YWx1ZSA9ICJOIg0KCQlAc29sb0l2YS52
YWx1ZSA9ICJOIg0KCWVuZA0KDQoJZGVmIGFzc2VnbmFfdmFyaWFiaWxpDQoJ
CUByaWdhID0gQHNjZWx0YS5kYXRhX3NlZWsoQGNvbnRhdG9yZSkNCgkJQHJp
Z2EgPSBAc2NlbHRhLmZldGNoX3Jvdw0KCQlAY29kaWNlLnZhbHVlID0gQHJp
Z2FbMF0udG9faQ0KCQlAZGVzY3JpemlvbmVDYXVzYWxlLnZhbHVlID0gQHJp
Z2FbMV0gDQoJCUBzZWduby52YWx1ZSA9IEByaWdhWzJdIA0KCQlAY29kaWNl
TGlicm8udmFsdWUgPSBAcmlnYVszXS50b19pDQoJCUByaWdhWzRdID09ICcw
JyA/IEBwYXJ0aXRlLnZhbHVlID0gJ04nIDogQHBhcnRpdGUudmFsdWUgPSAn
UycgDQoJCUByaWdhWzVdID09ICcwJyA/IEBmaXNjYWxlLnZhbHVlID0gJ04n
IDogQGZpc2NhbGUudmFsdWUgPSAnUycNCgkJQHJpZ2FbNl0gPyBAc29jaWFs
ZS52YWx1ZSA9ICdOJyA6IEBzb2NpYWxlLnZhbHVlID0gJ1MnDQoJCUByaWdh
WzddID8gQHJldmVyc2VDaGFyZ2UudmFsdWUgPSAnTicgOiBAcmV2ZXJzZUNo
YXJnZS52YWx1ZSA9ICdTJw0KCQlAcmlnYVs4XSA/IEBzb2xvSXZhLnZhbHVl
ID0gJ04nIDogQHNvbG9JdmEudmFsdWUgPSAnUycNCgkJY2VyY2FfZGVzY3Jp
emlvbmkNCgllbmQNCg0KCWRlZiBjZXJjYV9kZXNjcml6aW9uaQ0KCQlAY29u
biA9IE15c3FsLm5ldygibG9jYWxob3N0IiwgInJvb3QiLCAieGNvbGlicmki
LCAicGlyYW1pZGUiKQ0KCQlzY2VsdGEgPSBAY29ubi5xdWVyeSgiU0VMRUNU
ICogRlJPTSBsaWJyb19jb250YWJpbGUgV0hFUkUgY29kaWNlID0gJyN7QGNv
ZGljZUxpYnJvLnZhbHVlfSciKQ0KCQlAY29ubi5jbG9zZQ0KDQoJCWlmICIj
e3NjZWx0YS5udW1fcm93c30iID4gJzAnDQoJCQlyaWdhID0gc2NlbHRhLmRh
dGFfc2VlaygwKQ0KCQkJcmlnYSA9IHNjZWx0YS5mZXRjaF9yb3cNCgkJCUBk
ZXNjcml6aW9uZUxpYnJvLnZhbHVlID0gcmlnYVsxXQ0KCQllbHNlDQoJCQlA
ZGVzY3JpemlvbmVMaWJyby52YWx1ZSA9ICIiDQoJCWVuZA0KCWVuZA0KDQoJ
ZGVmIGNhcmljYV9kYXRpDQoJCWJlZ2luDQoJCQlAY29ubiA9IE15c3FsLm5l
dygibG9jYWxob3N0IiwgInJvb3QiLCAieGNvbGlicmkiLCAicGlyYW1pZGUi
KQ0KCQkJQHNjZWx0YSA9IEBjb25uLnF1ZXJ5KCJTRUxFQ1QgKiBGUk9NIGNh
dXNhbGlfY29nZSIpDQoJCQlAY29udGF0b3JlID0gIiN7QHNjZWx0YS5udW1f
cm93c30iLnRvX2kNCgkJCUBjb25uLmNsb3NlDQoJCXJlc2N1ZSBNeXNxbEVy
cm9yID0+IGUNCgkJCUBjb25uLmNsb3NlDQoJCQlwcmludCAiZXJyb3IgY29k
ZTogIiwgZS5lcnJubywgIi9uIg0KCQkJcHJpbnQgIkVycm9yIG1lc3NhZ2U6
ICIsIGUuZXJyb3IsICIvbiINCgkJZW5kDQoJZW5kDQplbmQNCg0KY2xhc3Mg
RmluZXN0cmExMDgwNiA8IEZYRGlhbG9nQm94ICNmaW5lc3RyYSBwZXIgbCdp
bnNlcmltZW50byBkZWxsZSBjYXVzYWxpIGl2YQ0KCWRlZiBpbml0aWFsaXpl
KGFwcCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xhc3MNCgkJQGNvbnRhdG9y
ZSA9IDANCgkJQHJpZ2EgPSBuaWwNCiN+ICNjYXJpY2EgaW4gbWVtb3JpYSB0
dXR0byBpbCBwaWFubyBkZWkgY29udGkNCgkJY2FyaWNhX2RhdGkNCiN+ICNk
aXNlZ25hIGxhIGZpbmVzdHJhICAgIA0KCQlzdXBlcihhcHAsICJQUk9HUkFN
TUEgUElSQU1JREUiLCA6b3B0cyA9PiBERUNPUl9BTEwsIDp4ID0+IDIwLCA6
eSA9PiAyMCwgOndpZHRoID0+IDgwMCwgOmhlaWdodCA9PiA0NTApDQoNCgkJ
YXJlYSA9IEZYUGFja2VyLm5ldyhzZWxmLCA6b3B0cyA9PiBMQVlPVVRfRklM
TCwgOnZTcGFjaW5nID0+IDMwLCA6aFNwYWNpbmcgPT4gNTApDQoNCgkJZ3J1
cHBvMSA9IEZYR3JvdXBCb3gubmV3KGFyZWEsICIiLCA6dlNwYWNpbmcgPT4g
MCkNCgkJDQoJCXZUZXN0YTAgPSBGWEhvcml6b250YWxGcmFtZS5uZXcoZ3J1
cHBvMSwgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9QfFBBQ0tfVU5JRk9STV9X
SURUSCwgOnBhZEJvdHRvbSA9PiAxMCkNCgkJRlhMYWJlbC5uZXcodlRlc3Rh
MCwgIkdFU1RJT05FIFRBQkVMTEEgREVMTEUgQ0FVU0FMSSBJVkEiLCBuaWws
IEpVU1RJRllfQ0VOVEVSX1h8TEFZT1VUX0ZJTExfUk9XLCA6cGFkUmlnaHQg
PT4gMTI4KQ0KDQoJCXZUZXN0YTEgPSBGWEhvcml6b250YWxGcmFtZS5uZXco
Z3J1cHBvMSwgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9QfFBBQ0tfVU5JRk9S
TV9XSURUSCkNCgkJRlhCdXR0b24ubmV3KHZUZXN0YTEsICdQcmltbyByZWNv
cmQnLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSkuY29ubmVjdChT
RUxfQ09NTUFORCkge3ByaW1vX3JlY29yZCB9DQoJCUZYQnV0dG9uLm5ldyh2
VGVzdGExLCAnUmVjb3JkIHByZWNlZGVudGUnLCA6cGFkTGVmdCA9PiA1LCA6
cGFkUmlnaHQgPT4gNSkuY29ubmVjdChTRUxfQ09NTUFORCkge3ByZWNlZGVu
dGVfcmVjb3JkfQ0KCQlGWEJ1dHRvbi5uZXcodlRlc3RhMSwgJ1JlY29yZCBz
dWNjZXNzaXZvJywgOnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUpLmNv
bm5lY3QoU0VMX0NPTU1BTkQpIHtzdWNjZXNzaXZvX3JlY29yZH0NCgkJRlhC
dXR0b24ubmV3KHZUZXN0YTEsICdVbHRpbW8gcmVjb3JkJywgOnBhZExlZnQg
PT4gNSwgOnBhZFJpZ2h0ID0+IDUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHt1
bHRpbW9fcmVjb3JkfQ0KCQlGWEJ1dHRvbi5uZXcodlRlc3RhMSwgJ051b3Zv
IHJlY29yZCcsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1KS5jb25u
ZWN0KFNFTF9DT01NQU5EKSB7bnVvdm9fcmVjb3JkfQ0KDQoJCWdydXBwbzIg
PSBGWEdyb3VwQm94Lm5ldyhhcmVhLCAiIiwgOnZTcGFjaW5nID0+IDApDQoJ
CXZMaW5lYTEgPSBGWEhvcml6b250YWxGcmFtZS5uZXcoZ3J1cHBvMiwgOm9w
dHMgPT4gTEFZT1VUX1NJREVfVE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJQGNv
ZGljZSA9IEZYRGF0YVRhcmdldC5uZXcoMCkNCgkJRlhCdXR0b24ubmV3KHZM
aW5lYTEsICc/JywgOnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUsIDpw
YWRUb3AgPT4wLCA6cGFkQm90dG9tID0+IDApLmNvbm5lY3QoU0VMX0NPTU1B
TkQpIHsNCgkJCSR2YXIgPSBbXQ0KCQkJcmljZXJjYSA9IEZpbmVzdHJhOTAw
MTkubmV3KHNlbGYpDQoJCQlyaWNlcmNhLmV4ZWN1dGUoUExBQ0VNRU5UX0NV
UlNPUikNCgkJCUBjb2RpY2UudmFsdWUgPSAkdmFyWzBdDQoJCQlAZGVzY3Jp
emlvbmUudmFsdWUgPSAkdmFyWzFdDQoJCQkkdmFyID0gW10NCgkJCXZhaV9h
X3JlY29yZA0KCQkJfQ0KCQlGWExhYmVsLm5ldyh2TGluZWExLCAiQ29kaWNl
IGNhdXNhbGUiLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9X
LCA6cGFkUmlnaHQgPT4gMTI1KQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVh
MSwgMywgOnRhcmdldCA9PiBAY29kaWNlLCA6c2VsZWN0b3IgPT4gRlhEYXRh
VGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gRlJBTUVfU1VOS0VOfEZSQU1F
X1RISUNLfExBWU9VVF9GSUxMX1JPV3xURVhURklFTERfTElNSVRFRHxURVhU
RklFTERfSU5URUdFUnxKVVNUSUZZX1JJR0hUKQ0KDQoJCXZMaW5lYTIgPSBG
WEhvcml6b250YWxGcmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VU
X1NJREVfVE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJQGRlc2NyaXppb25lID0g
RlhEYXRhVGFyZ2V0Lm5ldygiIikNCgkJRlhCdXR0b24ubmV3KHZMaW5lYTIs
ICc/JywgOnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUsIDpwYWRUb3Ag
PT4wLCA6cGFkQm90dG9tID0+IDApLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHsN
CgkJCSR2YXIgPSBbXQ0KCQkJcmljZXJjYSA9IEZpbmVzdHJhOTAwMjAubmV3
KHNlbGYpDQoJCQlyaWNlcmNhLmV4ZWN1dGUoUExBQ0VNRU5UX0NVUlNPUikN
CgkJCUBjb2RpY2UudmFsdWUgPSAkdmFyWzBdDQoJCQlAZGVzY3JpemlvbmUu
dmFsdWUgPSAkdmFyWzFdDQoJCQkkdmFyID0gW10NCgkJCXZhaV9hX3JlY29y
ZA0KCQkJfQ0KCQlGWExhYmVsLm5ldyh2TGluZWEyLCAiRGVzY3JpemlvbmUg
ZGVsbGEgY2F1c2FsZSBpdmEiLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VU
X0ZJTExfUk9XLCA6cGFkUmlnaHQgPT4gNjIpIyA6cGFkTGVmdCA9PiAyNiwg
OnBhZFJpZ2h0ID0+IDM4KQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVhMiwg
MjAsIDp0YXJnZXQgPT4gQGRlc2NyaXppb25lLCA6c2VsZWN0b3IgPT4gRlhE
YXRhVGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gRlJBTUVfU1VOS0VOfEZS
QU1FX1RISUNLfExBWU9VVF9GSUxMX1JPV3xURVhURklFTERfTElNSVRFRCkN
Cg0KCQl2TGluZWEzID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIs
IDpvcHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJ
CUBsaWJyb0l2YSA9IEZYRGF0YVRhcmdldC5uZXcoMCkNCgkJRlhCdXR0b24u
bmV3KHZMaW5lYTMsICc/JywgOnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+
IDUsIDpwYWRUb3AgPT4wLCA6cGFkQm90dG9tID0+IDApLmNvbm5lY3QoU0VM
X0NPTU1BTkQpIHsNCgkJCSR2YXIgPSBbXQ0KCQkJcmljZXJjYSA9IEZpbmVz
dHJhOTAwMTYubmV3KHNlbGYpDQoJCQlyaWNlcmNhLmV4ZWN1dGUoUExBQ0VN
RU5UX0NVUlNPUikNCgkJCUBsaWJyb0l2YS52YWx1ZSA9ICR2YXJbMF0NCgkJ
CSR2YXIgPSBbXQ0KCQkJfQ0KCQlGWExhYmVsLm5ldyh2TGluZWEzLCAiQ29k
aWNlIGxpYnJvIGl2YSIsIG5pbCwgSlVTVElGWV9SSUdIVHxMQVlPVVRfRklM
TF9ST1csIDpwYWRSaWdodCA9PiAxMjQpDQoJCUZYVGV4dEZpZWxkLm5ldyh2
TGluZWEzLCAzLCA6dGFyZ2V0ID0+IEBsaWJyb0l2YSwgOnNlbGVjdG9yID0+
IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktF
TnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJRUxEX0xJTUlU
RUR8VEVYVEZJRUxEX0lOVEVHRVJ8SlVTVElGWV9SSUdIVCkNCg0KCQl2TGlu
ZWE0ID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpvcHRzID0+
IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBkb2N1bWVu
dG9JdmEgPSBGWERhdGFUYXJnZXQubmV3KDApDQoJCUZYQnV0dG9uLm5ldyh2
TGluZWE0LCAnPycsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1LCA6
cGFkVG9wID0+MCwgOnBhZEJvdHRvbSA9PiAwKS5jb25uZWN0KFNFTF9DT01N
QU5EKSB7DQoJCQkkdmFyID0gW10NCgkJCXJpY2VyY2EgPSBGaW5lc3RyYTkw
MDE3Lm5ldyhzZWxmKQ0KCQkJcmljZXJjYS5leGVjdXRlKFBMQUNFTUVOVF9D
VVJTT1IpDQoJCQlAZG9jdW1lbnRvSXZhLnZhbHVlID0gJHZhclswXQ0KCQkJ
JHZhciA9IFtdDQoJCQl9DQoJCUZYTGFiZWwubmV3KHZMaW5lYTQsICJDb2Rp
Y2UgZGVsIGRvY3VtZW50byBpdmEiLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZ
T1VUX0ZJTExfUk9XLCA6cGFkUmlnaHQgPT4gNzMpDQoJCUZYVGV4dEZpZWxk
Lm5ldyh2TGluZWE0LCAzLCA6dGFyZ2V0ID0+IEBkb2N1bWVudG9JdmEsIDpz
ZWxlY3RvciA9PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBG
UkFNRV9TVU5LRU58RlJBTUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRFWFRG
SUVMRF9MSU1JVEVEfFRFWFRGSUVMRF9JTlRFR0VSfEpVU1RJRllfUklHSFQp
DQoNCgkJdkxpbmVhNSA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8y
LCA6b3B0cyA9PiBMQVlPVVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0K
CQlAY29kaWNlT3BlcmF6aW9uZSA9IEZYRGF0YVRhcmdldC5uZXcoMCkNCgkJ
RlhCdXR0b24ubmV3KHZMaW5lYTUsICc/JywgOnBhZExlZnQgPT4gNSwgOnBh
ZFJpZ2h0ID0+IDUsIDpwYWRUb3AgPT4wLCA6cGFkQm90dG9tID0+IDApLmNv
bm5lY3QoU0VMX0NPTU1BTkQpIHsNCgkJCSR2YXIgPSBbXQ0KCQkJcmljZXJj
YSA9IEZpbmVzdHJhOTAwMTgubmV3KHNlbGYpDQoJCQlyaWNlcmNhLmV4ZWN1
dGUoUExBQ0VNRU5UX0NVUlNPUikNCgkJCUBjb2RpY2VPcGVyYXppb25lLnZh
bHVlID0gJHZhclswXQ0KCQkJJHZhciA9IFtdDQoJCQl9DQoJCUZYTGFiZWwu
bmV3KHZMaW5lYTUsICJDb2RpY2UgZGVsbGEgb3BlcmF6aW9uZSBpdmEiLCBu
aWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFkUmlnaHQg
PT4gNjUpDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWE1LCAzLCA6dGFyZ2V0
ID0+IEBjb2RpY2VPcGVyYXppb25lLCA6c2VsZWN0b3IgPT4gRlhEYXRhVGFy
Z2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gRlJBTUVfU1VOS0VOfEZSQU1FX1RI
SUNLfExBWU9VVF9GSUxMX1JPV3xURVhURklFTERfTElNSVRFRHxURVhURklF
TERfSU5URUdFUnxKVVNUSUZZX1JJR0hUKQ0KDQoJCXZMaW5lYTYgPSBGWEhv
cml6b250YWxGcmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJ
REVfVE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJQGFsaXF1b3RhSXZhID0gRlhE
YXRhVGFyZ2V0Lm5ldygwLjAwKQ0KCQlGWExhYmVsLm5ldyh2TGluZWE2LCAi
QWxpcXVvdGEgaXZhIiwgbmlsLCBKVVNUSUZZX1JJR0hUfExBWU9VVF9GSUxM
X1JPVywgOnBhZExlZnQgPT4gMjYsIDpwYWRSaWdodCA9PiAxMzgpDQoJCUZY
VGV4dEZpZWxkLm5ldyh2TGluZWE2LCA1LCA6dGFyZ2V0ID0+IEBhbGlxdW90
YUl2YSwgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpv
cHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9S
T1d8VEVYVEZJRUxEX1JFQUx8SlVTVElGWV9SSUdIVCkNCg0KCQl2TGluZWE3
ID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpvcHRzID0+IExB
WU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBpdmFJbmRlZHVj
aWJpbGUgPSBGWERhdGFUYXJnZXQubmV3KDAuMDApDQoJCUZYTGFiZWwubmV3
KHZMaW5lYTcsICJQZXJjZW50dWFsZSBkaSBpdmEgbm9uIGRlZHVjaWJpbGUi
LCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFkTGVm
dCA9PiAyNiwgOnBhZFJpZ2h0ID0+IDM3KQ0KCQlGWFRleHRGaWVsZC5uZXco
dkxpbmVhNywgNSwgOnRhcmdldCA9PiBAaXZhSW5kZWR1Y2liaWxlLCA6c2Vs
ZWN0b3IgPT4gRlhEYXRhVGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gRlJB
TUVfU1VOS0VOfEZSQU1FX1RISUNLfExBWU9VVF9GSUxMX1JPV3xURVhURklF
TERfUkVBTHxKVVNUSUZZX1JJR0hUKQ0KDQoJCXZMaW5lYTggPSBGWEhvcml6
b250YWxGcmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJREVf
VE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJQGNhbGNvbG9QbGFmb25kID0gRlhE
YXRhVGFyZ2V0Lm5ldygiIikNCgkJRlhMYWJlbC5uZXcodkxpbmVhOCwgIkNh
bGNvbG8gcGxhZm9uZCAoUy9OKSIsIG5pbCwgSlVTVElGWV9SSUdIVHxMQVlP
VVRfRklMTF9ST1csIDpwYWRMZWZ0ID0+IDI0LCA6cGFkUmlnaHQgPT4gMzIp
DQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWE4LCAxLCA6dGFyZ2V0ID0+IEBj
YWxjb2xvUGxhZm9uZCwgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURf
VkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlP
VVRfRklMTF9ST1d8VEVYVEZJRUxEX0xJTUlURUR8SlVTVElGWV9SSUdIVCkN
Cg0KDQoJCWdydXBwbzQgPSBGWEdyb3VwQm94Lm5ldyhhcmVhLCAiIiwgOnZT
cGFjaW5nID0+IDApDQoJCXZGb25kbyA9IEZYSG9yaXpvbnRhbEZyYW1lLm5l
dyhncnVwcG80LCA6b3B0cyA9PiBMQVlPVVRfU0lERV9CT1RUT018UEFDS19V
TklGT1JNX1dJRFRIKQ0KCQlGWEJ1dHRvbi5uZXcodkZvbmRvLCAnQ2FuY2Vs
bGEnLCA6cGFkTGVmdCA9PiAyNSwgOnBhZFJpZ2h0ID0+IDI1KS5jb25uZWN0
KFNFTF9DT01NQU5EKSB7Y2FuY2VsbGFfcmVjb3JkfQ0KCQlGWEJ1dHRvbi5u
ZXcodkZvbmRvLCAnQW5udWxsYScsIDpwYWRMZWZ0ID0+IDI1LCA6cGFkUmln
aHQgPT4gMjUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHthenplcmFfdmFyaWFi
aWxpfQ0KCQlGWEJ1dHRvbi5uZXcodkZvbmRvLCAnUmVnaXN0cmEnLCA6cGFk
TGVmdCA9PiAyNSwgOnBhZFJpZ2h0ID0+IDI1KS5jb25uZWN0KFNFTF9DT01N
QU5EKSB7cmVnaXN0cmF9DQoJCUZYQnV0dG9uLm5ldyh2Rm9uZG8sICdFc2Np
JywgOnRhcmdldCA9PiBzZWxmLCA6c2VsZWN0b3IgPT4gRlhEaWFsb2dCb3g6
OklEX0NBTkNFTCwgOnBhZExlZnQgPT4gMjUsIDpwYWRSaWdodCA9PiAyNSkN
CgkJYXp6ZXJhX3ZhcmlhYmlsaQ0KCWVuZA0KDQoJZGVmIHByaW1vX3JlY29y
ZA0KCQlAY29udGF0b3JlID0gMA0KCQlAc2NlbHRhLm51bV9yb3dzID09IDAg
PyBhenplcmFfdmFyaWFiaWxpIDogYXNzZWduYV92YXJpYWJpbGkNCgllbmQN
Cg0KCWRlZiBwcmVjZWRlbnRlX3JlY29yZA0KCQlpZiBAc2NlbHRhLm51bV9y
b3dzID09IDAgdGhlbgkJDQoJCQlAY29udGF0b3JlID0gMA0KCQkJYXp6ZXJh
X3ZhcmlhYmlsaQ0KCQllbHNlDQoJCQlAY29udGF0b3JlIC0gMSA8MCA/IEBj
b250YXRvcmUgPSAwIDogQGNvbnRhdG9yZSA9IEBjb250YXRvcmUgLTENCgkJ
CWFzc2VnbmFfdmFyaWFiaWxpDQoJCWVuZA0KCWVuZA0KDQoJZGVmIHN1Y2Nl
c3Npdm9fcmVjb3JkDQoJCWlmIEBzY2VsdGEubnVtX3Jvd3MgPT0gMCB0aGVu
CQkNCgkJCUBjb250YXRvcmUgPSAwDQoJCQlhenplcmFfdmFyaWFiaWxpDQoJ
CWVsc2UNCgkJCUBjb250YXRvcmUgPj0gKCIje0BzY2VsdGEubnVtX3Jvd3N9
Ii50b19pIC0gMSkgPyBAY29udGF0b3JlID0gKCIje0BzY2VsdGEubnVtX3Jv
d3N9Ii50b19pIC0gMSkgOiBAY29udGF0b3JlID0gQGNvbnRhdG9yZSArIDEN
CgkJCWFzc2VnbmFfdmFyaWFiaWxpDQoJCWVuZA0KCWVuZA0KDQoJZGVmIHVs
dGltb19yZWNvcmQNCgkJaWYgQHNjZWx0YS5udW1fcm93cyA9PSAwIHRoZW4J
CQ0KCQkJQGNvbnRhdG9yZSA9IDANCgkJCWF6emVyYV92YXJpYWJpbGkNCgkJ
ZWxzZQ0KCQkJQGNvbnRhdG9yZSA9ICgiI3tAc2NlbHRhLm51bV9yb3dzfSIu
dG9faSAtIDEpDQoJCQlhc3NlZ25hX3ZhcmlhYmlsaQ0KCQllbmQNCgllbmQN
Cg0KCWRlZiBudW92b19yZWNvcmQNCgkJYXp6ZXJhX3ZhcmlhYmlsaQ0KCWVu
ZA0KDQoJZGVmIHZhaV9hX3JlY29yZA0KCQlpZiBAY29kaWNlLnZhbHVlLnRv
X2kgICE9IDANCgkJCUBjb250YXRvcmUgPSAwDQoJCQlAcmlnYSA9IEBzY2Vs
dGEuZGF0YV9zZWVrKEBjb250YXRvcmUpDQoJCQlAcmlnYSA9IEBzY2VsdGEu
ZmV0Y2hfcm93DQoNCgkJCXVudGlsIEBjb2RpY2UudmFsdWUgPT0gQHJpZ2Fb
MF0NCgkJCQlAcmlnYSA9IEBzY2VsdGEuZGF0YV9zZWVrKEBjb250YXRvcmUp
DQoJCQkJQHJpZ2EgPSBAc2NlbHRhLmZldGNoX3Jvdw0KCQkJCUBjb250YXRv
cmUgPSBAY29udGF0b3JlICsgMQ0KCQkJZW5kDQoJCQlAY29udGF0b3JlID0g
QGNvbnRhdG9yZSAtIDEgaWYgQGNvbnRhdG9yZSA+MA0KCQkJYXNzZWduYV92
YXJpYWJpbGkNCgkJZW5kDQoJZW5kDQoNCg0KCWRlZiByZWdpc3RyYQ0KI34g
YWxsYSB2YXJpYWJpbGUgcmVnaXN0cmEgc2kgYXNzZWduYSBpbCB2YWxvcmUg
dmVyby4NCiN+IFVuIHJpc3VsdGF0byBmYWxzbyBkaSB1biBxdWFsc2lhc2kg
dGVzdCBuZSBjYW1iaWVyYScgaWwgdmFsb3JlIGluIGZhbHNvLCBpbXBlZGVu
ZG8gbGEgcmVnaXN0cmF6aW9uZSBkZWkgZGF0aSBpbiBtZW1vcmlhLg0KCQlA
ZGVzY3JpemlvbmUudmFsdWUgPSBAZGVzY3JpemlvbmUudmFsdWUudG9fcy51
cGNhc2UNCgkJQGNhbGNvbG9QbGFmb25kLnZhbHVlID0gQGNhbGNvbG9QbGFm
b25kLnZhbHVlLnRvX3MudXBjYXNlDQoJCUBjYWxjb2xvUGxhZm9uZC52YWx1
ZSA9PSAnUycgPyBAY2FsY29sb1BsYWZvbmQudmFsdWUgPSAxIDogQGNhbGNv
bG9QbGFmb25kLnZhbHVlID0gMA0KCQkNCgkJcmVnaXN0cmEgPSB0cnVlDQoJ
CWlmIEBjb2RpY2UudmFsdWUudG9faSA9PSAwIA0KCQkJcmVnaXN0cmEgPSBm
YWxzZQ0KCQkJRlhNZXNzYWdlQm94Lndhcm5pbmcoc2VsZiwgTUJPWF9PSywg
IkNvZGljZSBjYXVzYWxlIGl2YSIsICJ2YWxvcmUgJyN7QGNvZGljZS52YWx1
ZX0nIG5vbiBhbW1lc3NvIHBlciBxdWVzdG8gY2FtcG8iKQ0KCQllbmQNCg0K
CQlpZiByZWdpc3RyYSA9PSB0cnVlDQoJCQliZWdpbg0KCQkJCUBjb25uID0g
TXlzcWwubmV3KCJsb2NhbGhvc3QiLCAicm9vdCIsICJ4Y29saWJyaSIsICJw
aXJhbWlkZSIpDQoJCQkJQGNvbm4uYXV0b2NvbW1pdCgwKQ0KCQkJCUBjb25u
LnF1ZXJ5KCJSRVBMQUNFIGNhdXNhbGlfaXZhIFZBTFVFUyAoJyN7QGNvZGlj
ZS52YWx1ZS50b19zfScsJyN7QGRlc2NyaXppb25lLnZhbHVlfScsJyN7QGxp
YnJvSXZhLnZhbHVlLnRvX3N9JywnI3tAZG9jdW1lbnRvSXZhLnZhbHVlLnRv
X3N9JywnI3tAY29kaWNlT3BlcmF6aW9uZS52YWx1ZS50b19zfScsJyN7QGFs
aXF1b3RhSXZhLnZhbHVlfScsICcje0BpdmFJbmRlZHVjaWJpbGUudmFsdWV9
JywgJyN7QGNhbGNvbG9QbGFmb25kLnZhbHVlfScpIikNCgkJCQlAY29ubi5j
b21taXQNCgkJCQlAY29ubi5jbG9zZQ0KCQkJIHJlc2N1ZSBNeXNxbEVycm9y
ID0+IGUNCgkJCQlAY29ubi5yb2xsYmFjaw0KCQkJCUBjb25uLmNsb3NlDQoJ
CQkJcHJpbnQgImVycm9yIGNvZGU6ICIsIGUuZXJybm8sICJcbiINCgkJCQlw
cmludCAiZXJyb3IgbWVzc2FnZTogIiwgZS5lcnJvciwgIlxuIg0KCQkJZW5k
DQoJCQljYXJpY2FfZGF0aQ0KCQkJYXp6ZXJhX3ZhcmlhYmlsaQ0KCQllbmQN
CgllbmQNCg0KCWRlZiBjYW5jZWxsYV9yZWNvcmQNCgkJaWYgKEBjb250YXRv
cmUgPD0gKCIje0BzY2VsdGEubnVtX3Jvd3N9Ii50b19pIC0gMSkpDQoJCQlt
ZXNzYWdnaW8gPSBGWE1lc3NhZ2VCb3gucXVlc3Rpb24oDQoJCQkJc2VsZiwN
CgkJCQlNQk9YX1lFU19OTywNCgkJCQkiQXR0ZW56aW9uZSAhISEiLA0KCQkJ
CSJTaSBzdGFubm8gY2FuY2VsbGFuZG8gZGVpIGRhdGk6IGNvbmZlcm1hcmUg
bFwnb3BlcmF6aW9uZSA/IikNCgkJCWlmIG1lc3NhZ2dpbyA9PSBNQk9YX0NM
SUNLRURfWUVTDQoJCQkJQGNvbm4gPSBNeXNxbC5uZXcoImxvY2FsaG9zdCIs
ICJyb290IiwgInhjb2xpYnJpIiwgInBpcmFtaWRlIikNCgkJCQlAY29ubi5h
dXRvY29tbWl0KDApDQoJCQkJQGNvbm4ucXVlcnkoIkRFTEVURSBGUk9NIGxp
YnJvX2NvbnRhYmlsZSBXSEVSRSBjb2RpY2UgPSAnI3tAY29kaWNlLnZhbHVl
fSciKQ0KCQkJCUBjb25uLmNvbW1pdA0KCQkJCUBjb25uLmNsb3NlDQoJCQkJ
Y2FyaWNhX2RhdGkNCgkJCQlhenplcmFfdmFyaWFiaWxpDQoJCQllbmQNCgkJ
ZW5kDQoJZW5kDQoNCglkZWYgYXp6ZXJhX3ZhcmlhYmlsaQ0KCQlAY29udGF0
b3JlID0gMA0KCQlAY29kaWNlLnZhbHVlID0gMA0KCQlAZGVzY3JpemlvbmUu
dmFsdWUgPSAiIg0KCQlAbGlicm9JdmEudmFsdWUgPSAwDQoJCUBkb2N1bWVu
dG9JdmEudmFsdWUgPSAwDQoJCUBjb2RpY2VPcGVyYXppb25lLnZhbHVlID0g
MA0KCQlAYWxpcXVvdGFJdmEudmFsdWUgPSAwLjAwDQoJCUBpdmFJbmRlZHVj
aWJpbGUudmFsdWUgPSAwLjAwDQoJCUBjYWxjb2xvUGxhZm9uZC52YWx1ZSA9
ICJOIg0KCWVuZA0KDQoJZGVmIGFzc2VnbmFfdmFyaWFiaWxpDQoJCUByaWdh
ID0gQHNjZWx0YS5kYXRhX3NlZWsoQGNvbnRhdG9yZSkNCgkJQHJpZ2EgPSBA
c2NlbHRhLmZldGNoX3Jvdw0KCQlAY29kaWNlLnZhbHVlID0gQHJpZ2FbMF0u
dG9faQ0KCQlAZGVzY3JpemlvbmUudmFsdWUgPSBAcmlnYVsxXQ0KCQlAbGli
cm9JdmEudmFsdWUgPSBAcmlnYVsyXS50b19pDQoJCUBkb2N1bWVudG9JdmEu
dmFsdWUgPSBAcmlnYVszXS50b19pDQoJCUBjb2RpY2VPcGVyYXppb25lLnZh
bHVlID0gQHJpZ2FbNF0udG9faQ0KCQlAYWxpcXVvdGFJdmEudmFsdWUgPSBA
cmlnYVs1XQ0KCQlAaXZhSW5kZWR1Y2liaWxlLnZhbHVlID0gQHJpZ2FbNl0u
dG9faQ0KCQlAcmlnYVs3XSA9PSAnMCcgPyBAY2FsY29sb1BsYWZvbmQudmFs
dWUgPSAnTicgOiBAY2FsY29sb1BsYWZvbmQudmFsdWUgPSAnUycgDQoJZW5k
DQoJDQoJZGVmIGNhcmljYV9kYXRpDQoJCWJlZ2luDQoJCQlAY29ubiA9IE15
c3FsLm5ldygibG9jYWxob3N0IiwgInJvb3QiLCAieGNvbGlicmkiLCAicGly
YW1pZGUiKQ0KCQkJQHNjZWx0YSA9IEBjb25uLnF1ZXJ5KCJTRUxFQ1QgKiBG
Uk9NIGNhdXNhbGlfaXZhIikNCgkJCUBjb250YXRvcmUgPSAiI3tAc2NlbHRh
Lm51bV9yb3dzfSIudG9faQ0KCQkJQGNvbm4uY2xvc2UNCgkJcmVzY3VlDQoJ
CQlAY29ubi5jbG9zZQ0KCQkJcHJpbnQgImVycm9yIGNvZGU6ICIsIGUuZXJy
bm8sICIvbiINCgkJCXByaW50ICJFcnJvciBtZXNzYWdlOiAiLCBlLmVycm9y
LCAiL24iDQoJCWVuZA0KCWVuZA0KZW5kDQoNCmNsYXNzIEZpbmVzdHJhMTA4
MDcgPCBGWERpYWxvZ0JveCAjZmluZXN0cmEgcGVyIGwnaW5zZXJpbWVudG8g
ZGVpIHRpcGkgZGkgbGlicmkgY29udGFiaWxpDQoJZGVmIGluaXRpYWxpemUo
YXBwKQ0KCQkjIEluaXRpYWxpemUgYmFzZSBjbGFzcw0KCQlAY29udGF0b3Jl
ID0gMA0KCQlAcmlnYSA9IG5pbA0KI2NhcmljYSBpbiBtZW1vcmlhIHR1dHRv
IGlsIHBpYW5vIGRlaSBjb250aQ0KCQljYXJpY2FfZGF0aQ0KI2Rpc2VnbmEg
bGEgZmluZXN0cmEgICAgDQoJCXN1cGVyKGFwcCwgIlBST0dSQU1NQSBQSVJB
TUlERSIsIDpvcHRzID0+IERFQ09SX0FMTCwgOnggPT4gMjAsIDp5ID0+IDIw
LCA6d2lkdGggPT4gODAwLCA6aGVpZ2h0ID0+IDQ1MCkNCg0KCQlhcmVhID0g
RlhQYWNrZXIubmV3KHNlbGYsIDpvcHRzID0+IExBWU9VVF9GSUxMLCA6dlNw
YWNpbmcgPT4gMzAsIDpoU3BhY2luZyA9PiA1MCkNCg0KCQlncnVwcG8xID0g
RlhHcm91cEJveC5uZXcoYXJlYSwgIiIsIDp2U3BhY2luZyA9PiAwKQ0KCQkN
CgkJdlRlc3RhMCA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8xLCA6
b3B0cyA9PiBMQVlPVVRfU0lERV9UT1B8UEFDS19VTklGT1JNX1dJRFRILCA6
cGFkQm90dG9tID0+IDEwKQ0KCQlGWExhYmVsLm5ldyh2VGVzdGEwLCAiR0VT
VElPTkUgVEFCRUxMQSBERUkgTElCUkkgQ09OVEFCSUxJIiwgbmlsLCBKVVNU
SUZZX0NFTlRFUl9YfExBWU9VVF9GSUxMX1JPVywgOnBhZFJpZ2h0ID0+IDEy
OCkNCg0KCQl2VGVzdGExID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBw
bzEsIDpvcHRzID0+IExBWU9VVF9TSURFX1RPUHxQQUNLX1VOSUZPUk1fV0lE
VEgpDQoJCUZYQnV0dG9uLm5ldyh2VGVzdGExLCAnUHJpbW8gcmVjb3JkJywg
OnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUpLmNvbm5lY3QoU0VMX0NP
TU1BTkQpIHtwcmltb19yZWNvcmQgfQ0KCQlGWEJ1dHRvbi5uZXcodlRlc3Rh
MSwgJ1JlY29yZCBwcmVjZWRlbnRlJywgOnBhZExlZnQgPT4gNSwgOnBhZFJp
Z2h0ID0+IDUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHtwcmVjZWRlbnRlX3Jl
Y29yZH0NCgkJRlhCdXR0b24ubmV3KHZUZXN0YTEsICdSZWNvcmQgc3VjY2Vz
c2l2bycsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1KS5jb25uZWN0
KFNFTF9DT01NQU5EKSB7c3VjY2Vzc2l2b19yZWNvcmR9DQoJCUZYQnV0dG9u
Lm5ldyh2VGVzdGExLCAnVWx0aW1vIHJlY29yZCcsIDpwYWRMZWZ0ID0+IDUs
IDpwYWRSaWdodCA9PiA1KS5jb25uZWN0KFNFTF9DT01NQU5EKSB7dWx0aW1v
X3JlY29yZH0NCgkJRlhCdXR0b24ubmV3KHZUZXN0YTEsICdOdW92byByZWNv
cmQnLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSkuY29ubmVjdChT
RUxfQ09NTUFORCkge251b3ZvX3JlY29yZH0NCg0KCQlncnVwcG8yID0gRlhH
cm91cEJveC5uZXcoYXJlYSwgIiIsIDp2U3BhY2luZyA9PiAwKQ0KCQl2TGlu
ZWExID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpvcHRzID0+
IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBjb2RpY2Ug
PSBGWERhdGFUYXJnZXQubmV3KDApDQoJCUZYQnV0dG9uLm5ldyh2TGluZWEx
LCAnPycsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1LCA6cGFkVG9w
ID0+MCwgOnBhZEJvdHRvbSA9PiAwKS5jb25uZWN0KFNFTF9DT01NQU5EKSB7
DQoJCQkkdmFyID0gW10NCgkJCXJpY2VyY2EgPSBGaW5lc3RyYTkwMDE1Lm5l
dyhzZWxmKQ0KCQkJcmljZXJjYS5leGVjdXRlKFBMQUNFTUVOVF9DVVJTT1Ip
DQoJCQlAY29kaWNlLnZhbHVlID0gJHZhclswXQ0KCQkJQGRlc2NyaXppb25l
LnZhbHVlID0gJHZhclsxXQ0KCQkJJHZhciA9IFtdDQoJCQl2YWlfYV9yZWNv
cmQNCgkJCX0NCgkJRlhMYWJlbC5uZXcodkxpbmVhMSwgIkNvZGljZSBkZWwg
bGlicm8gY29udGFiaWxlIiwgbmlsLCBKVVNUSUZZX1JJR0hUfExBWU9VVF9G
SUxMX1JPVywgOnBhZFJpZ2h0ID0+IDEyOCkNCgkJRlhUZXh0RmllbGQubmV3
KHZMaW5lYTEsIDMsIDp0YXJnZXQgPT4gQGNvZGljZSwgOnNlbGVjdG9yID0+
IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktF
TnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJRUxEX0xJTUlU
RUR8VEVYVEZJRUxEX0lOVEVHRVJ8SlVTVElGWV9SSUdIVCkNCg0KCQl2TGlu
ZWEyID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpvcHRzID0+
IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBkZXNjcml6
aW9uZSA9IEZYRGF0YVRhcmdldC5uZXcoIiIpDQoJCUZYTGFiZWwubmV3KHZM
aW5lYTIsICJEZXNjcml6aW9uZSBkZWwgbGlicm8gY29udGFiaWxlIiwgbmls
LCBKVVNUSUZZX1JJR0hUfExBWU9VVF9GSUxMX1JPVywgOnBhZExlZnQgPT4g
MjYsIDpwYWRSaWdodCA9PiAxMDQpDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGlu
ZWEyLCA4MCwgOnRhcmdldCA9PiBAZGVzY3JpemlvbmUsIDpzZWxlY3RvciA9
PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBGUkFNRV9TVU5L
RU58RlJBTUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRFWFRGSUVMRF9MSU1J
VEVEKQ0KDQoJCXZMaW5lYTMgPSBGWEhvcml6b250YWxGcmFtZS5uZXcoZ3J1
cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9QLCA6dlNwYWNpbmcgPT4g
MCkNCgkJQHRpcG9MaWJybyA9IEZYRGF0YVRhcmdldC5uZXcoMCkNCgkJRlhC
dXR0b24ubmV3KHZMaW5lYTMsICc/JywgOnBhZExlZnQgPT4gNSwgOnBhZFJp
Z2h0ID0+IDUsIDpwYWRUb3AgPT4wLCA6cGFkQm90dG9tID0+IDApLmNvbm5l
Y3QoU0VMX0NPTU1BTkQpIHsNCgkJCSR2YXIgPSBbXQ0KCQkJIHJpY2VyY2Eg
PSBGaW5lc3RyYTkwMDE0Lm5ldyhzZWxmKQ0KCQkJcmljZXJjYS5leGVjdXRl
KFBMQUNFTUVOVF9DVVJTT1IpDQoJCQlAdGlwb0xpYnJvLnZhbHVlID0gJHZh
clswXQ0KCQkJJHZhciA9IFtdDQoJCQl9DQoJCUZYTGFiZWwubmV3KHZMaW5l
YTMsICJDb2RpY2UgdGlwbyBsaWJybyBjb250YWJpbGUiLCBuaWwsIEpVU1RJ
RllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFkUmlnaHQgPT4gMTI0KQ0K
CQlGWFRleHRGaWVsZC5uZXcodkxpbmVhMywgMSwgOnRhcmdldCA9PiBAdGlw
b0xpYnJvLCA6c2VsZWN0b3IgPT4gRlhEYXRhVGFyZ2V0OjpJRF9WQUxVRSwg
Om9wdHMgPT4gRlJBTUVfU1VOS0VOfEZSQU1FX1RISUNLfExBWU9VVF9GSUxM
X1JPV3xURVhURklFTERfTElNSVRFRHxURVhURklFTERfSU5URUdFUnxKVVNU
SUZZX1JJR0hUKQ0KDQoJCXZMaW5lYTQgPSBGWEhvcml6b250YWxGcmFtZS5u
ZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9QLCA6dlNwYWNp
bmcgPT4gMCkNCgkJQGRhdGFVbHRpbWFSZWdpc3RyYXppb25lID0gRlhEYXRh
VGFyZ2V0Lm5ldygwKQ0KCQlGWExhYmVsLm5ldyh2TGluZWE0LCAiRGF0YSB1
bHRpbWEgcmVnaXN0cmF6aW9uZSIsIG5pbCwgOm9wdHMgPT4gSlVTVElGWV9S
SUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRMZWZ0ID0+IDI1LCA6cGFkUmln
aHQgPT4gMTI4KQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVhNCwgMTAsIDp0
YXJnZXQgPT4gQGRhdGFVbHRpbWFSZWdpc3RyYXppb25lLCA6c2VsZWN0b3Ig
PT4gRlhEYXRhVGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gVEVYVEZJRUxE
X1JFQURPTkxZfFRFWFRGSUVMRF9PVkVSU1RSSUtFfEpVU1RJRllfUklHSFQp
DQoNCgkJdkxpbmVhNSA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8y
LCA6b3B0cyA9PiBMQVlPVVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0K
CQlAbnVtZXJvVWx0aW1hUmVnaXN0cmF6aW9uZSA9IEZYRGF0YVRhcmdldC5u
ZXcoMCkNCgkJRlhMYWJlbC5uZXcodkxpbmVhNSwgIk51bWVybyB1bHRpbWEg
cmVnaXN0cmF6aW9uZSIsIG5pbCwgOm9wdHMgPT4gSlVTVElGWV9SSUdIVHxM
QVlPVVRfRklMTF9ST1csIDpwYWRMZWZ0ID0+IDI1LCA6cGFkUmlnaHQgPT4g
MTE0KQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVhNSwgMTAsIDp0YXJnZXQg
PT4gQG51bWVyb1VsdGltYVJlZ2lzdHJhemlvbmUsIDpzZWxlY3RvciA9PiBG
WERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBURVhURklFTERfUkVB
RE9OTFl8VEVYVEZJRUxEX09WRVJTVFJJS0V8SlVTVElGWV9SSUdIVCkNCg0K
CQl2TGluZWE2ID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpv
cHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBk
YXRhVWx0aW1hU3RhbXBhID0gRlhEYXRhVGFyZ2V0Lm5ldygwKQ0KCQlGWExh
YmVsLm5ldyh2TGluZWE2LCAiRGF0YSB1bHRpbWEgc3RhbXBhIiwgbmlsLCA6
b3B0cyA9PiBKVVNUSUZZX1JJR0hUfExBWU9VVF9GSUxMX1JPVywgOnBhZExl
ZnQgPT4gMjUsIDpwYWRSaWdodCA9PiAxNTQpDQoJCUZYVGV4dEZpZWxkLm5l
dyh2TGluZWE2LCAxMCwgOnRhcmdldCA9PiBAZGF0YVVsdGltYVN0YW1wYSwg
OnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+
IFRFWFRGSUVMRF9SRUFET05MWXxURVhURklFTERfT1ZFUlNUUklLRXxKVVNU
SUZZX1JJR0hUKQ0KDQoJCXZMaW5lYTcgPSBGWEhvcml6b250YWxGcmFtZS5u
ZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9QLCA6dlNwYWNp
bmcgPT4gMCkNCgkJQG51bWVyb1VsdGltYVN0YW1wYSA9IEZYRGF0YVRhcmdl
dC5uZXcoMCkNCgkJRlhMYWJlbC5uZXcodkxpbmVhNywgIk51bWVybyB1bHRp
bWEgc3RhbXBhIiwgbmlsLCA6b3B0cyA9PiBKVVNUSUZZX1JJR0hUfExBWU9V
VF9GSUxMX1JPVywgOnBhZExlZnQgPT4gMjUsIDpwYWRSaWdodCA9PiAxNDEp
DQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWE3LCAxMCwgOnRhcmdldCA9PiBA
bnVtZXJvVWx0aW1hU3RhbXBhLCA6c2VsZWN0b3IgPT4gRlhEYXRhVGFyZ2V0
OjpJRF9WQUxVRSwgOm9wdHMgPT4gVEVYVEZJRUxEX1JFQURPTkxZfFRFWFRG
SUVMRF9PVkVSU1RSSUtFfEpVU1RJRllfUklHSFQpDQoNCgkJdkxpbmVhOCA9
IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8yLCA6b3B0cyA9PiBMQVlP
VVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAdWx0aW1vTnVtZXJv
UHJvZ3Jlc3Npdm8gPSBGWERhdGFUYXJnZXQubmV3KDApDQoJCUZYTGFiZWwu
bmV3KHZMaW5lYTgsICJVbHRpbW8gbnVtZXJvIHByb2dyZXNzaXZvIiwgbmls
LCA6b3B0cyA9PiBKVVNUSUZZX1JJR0hUfExBWU9VVF9GSUxMX1JPVywgOnBh
ZExlZnQgPT4gMjUsIDpwYWRSaWdodCA9PiAxMjApDQoJCUZYVGV4dEZpZWxk
Lm5ldyh2TGluZWE4LCAxMCwgOnRhcmdldCA9PiBAdWx0aW1vTnVtZXJvUHJv
Z3Jlc3Npdm8sIDpzZWxlY3RvciA9PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVF
LCA6b3B0cyA9PiBURVhURklFTERfUkVBRE9OTFl8VEVYVEZJRUxEX09WRVJT
VFJJS0V8SlVTVElGWV9SSUdIVCkNCg0KCQlncnVwcG80ID0gRlhHcm91cEJv
eC5uZXcoYXJlYSwgIiIsIDp2U3BhY2luZyA9PiAwKQ0KCQl2Rm9uZG8gPSBG
WEhvcml6b250YWxGcmFtZS5uZXcoZ3J1cHBvNCwgOm9wdHMgPT4gTEFZT1VU
X1NJREVfQk9UVE9NfFBBQ0tfVU5JRk9STV9XSURUSCkNCgkJRlhCdXR0b24u
bmV3KHZGb25kbywgJ0NhbmNlbGxhJywgOnBhZExlZnQgPT4gMjUsIDpwYWRS
aWdodCA9PiAyNSkuY29ubmVjdChTRUxfQ09NTUFORCkge2NhbmNlbGxhX3Jl
Y29yZH0NCgkJRlhCdXR0b24ubmV3KHZGb25kbywgJ0FubnVsbGEnLCA6cGFk
TGVmdCA9PiAyNSwgOnBhZFJpZ2h0ID0+IDI1KS5jb25uZWN0KFNFTF9DT01N
QU5EKSB7YXp6ZXJhX3ZhcmlhYmlsaX0NCgkJRlhCdXR0b24ubmV3KHZGb25k
bywgJ1JlZ2lzdHJhJywgOnBhZExlZnQgPT4gMjUsIDpwYWRSaWdodCA9PiAy
NSkuY29ubmVjdChTRUxfQ09NTUFORCkge3JlZ2lzdHJhfQ0KCQlGWEJ1dHRv
bi5uZXcodkZvbmRvLCAnRXNjaScsIDp0YXJnZXQgPT4gc2VsZiwgOnNlbGVj
dG9yID0+IEZYRGlhbG9nQm94OjpJRF9DQU5DRUwsIDpwYWRMZWZ0ID0+IDI1
LCA6cGFkUmlnaHQgPT4gMjUpDQoJCWF6emVyYV92YXJpYWJpbGkNCgllbmQN
Cg0KCWRlZiBwcmltb19yZWNvcmQNCgkJQGNvbnRhdG9yZSA9IDANCgkJQHNj
ZWx0YS5udW1fcm93cyA9PSAwID8gYXp6ZXJhX3ZhcmlhYmlsaSA6IGFzc2Vn
bmFfdmFyaWFiaWxpDQoJZW5kDQoNCglkZWYgcHJlY2VkZW50ZV9yZWNvcmQN
CgkJaWYgQHNjZWx0YS5udW1fcm93cyA9PSAwIHRoZW4JCQ0KCQkJQGNvbnRh
dG9yZSA9IDANCgkJCWF6emVyYV92YXJpYWJpbGkNCgkJZWxzZQ0KCQkJQGNv
bnRhdG9yZSAtIDEgPDAgPyBAY29udGF0b3JlID0gMCA6IEBjb250YXRvcmUg
PSBAY29udGF0b3JlIC0xDQoJCQlhc3NlZ25hX3ZhcmlhYmlsaQ0KCQllbmQN
CgllbmQNCg0KCWRlZiBzdWNjZXNzaXZvX3JlY29yZA0KCQlpZiBAc2NlbHRh
Lm51bV9yb3dzID09IDAgdGhlbgkJDQoJCQlAY29udGF0b3JlID0gMA0KCQkJ
YXp6ZXJhX3ZhcmlhYmlsaQ0KCQllbHNlDQoJCQlAY29udGF0b3JlID49ICgi
I3tAc2NlbHRhLm51bV9yb3dzfSIudG9faSAtIDEpID8gQGNvbnRhdG9yZSA9
ICgiI3tAc2NlbHRhLm51bV9yb3dzfSIudG9faSAtIDEpIDogQGNvbnRhdG9y
ZSA9IEBjb250YXRvcmUgKyAxDQoJCQlhc3NlZ25hX3ZhcmlhYmlsaQ0KCQll
bmQNCgllbmQNCg0KCWRlZiB1bHRpbW9fcmVjb3JkDQoJCWlmIEBzY2VsdGEu
bnVtX3Jvd3MgPT0gMCB0aGVuCQkNCgkJCUBjb250YXRvcmUgPSAwDQoJCQlh
enplcmFfdmFyaWFiaWxpDQoJCWVsc2UNCgkJCUBjb250YXRvcmUgPSAoIiN7
QHNjZWx0YS5udW1fcm93c30iLnRvX2kgLSAxKQ0KCQkJYXNzZWduYV92YXJp
YWJpbGkNCgkJZW5kDQoJZW5kDQoNCglkZWYgbnVvdm9fcmVjb3JkDQoJCWF6
emVyYV92YXJpYWJpbGkNCgllbmQNCg0KCWRlZiB2YWlfYV9yZWNvcmQNCgkJ
aWYgQGNvZGljZS52YWx1ZS50b19pICAhPSAwDQoJCQlAY29udGF0b3JlID0g
MA0KCQkJQHJpZ2EgPSBAc2NlbHRhLmRhdGFfc2VlayhAY29udGF0b3JlKQ0K
CQkJQHJpZ2EgPSBAc2NlbHRhLmZldGNoX3Jvdw0KDQoJCQl1bnRpbCBAY29k
aWNlLnZhbHVlID09IEByaWdhWzBdDQoJCQkJQHJpZ2EgPSBAc2NlbHRhLmRh
dGFfc2VlayhAY29udGF0b3JlKQ0KCQkJCUByaWdhID0gQHNjZWx0YS5mZXRj
aF9yb3cNCgkJCQlAY29udGF0b3JlID0gQGNvbnRhdG9yZSArIDENCgkJCWVu
ZA0KCQkJQGNvbnRhdG9yZSA9IEBjb250YXRvcmUgLSAxIGlmIEBjb250YXRv
cmUgPjANCgkJCWFzc2VnbmFfdmFyaWFiaWxpDQoJCWVuZA0KCWVuZA0KDQoN
CglkZWYgcmVnaXN0cmENCiN+IGFsbGEgdmFyaWFiaWxlIHJlZ2lzdHJhIHNp
IGFzc2VnbmEgaWwgdmFsb3JlIHZlcm8uDQojfiBVbiByaXN1bHRhdG8gZmFs
c28gZGkgdW4gcXVhbHNpYXNpIHRlc3QgbmUgY2FtYmllcmEnIGlsIHZhbG9y
ZSBpbiBmYWxzbywgaW1wZWRlbmRvIGxhIHJlZ2lzdHJhemlvbmUgZGVpIGRh
dGkgaW4gbWVtb3JpYS4NCgkJQGRhdGFVbHRpbWFSZWdpc3RyYXppb25lLnZh
bHVlID0gQGRhdGFVbHRpbWFSZWdpc3RyYXppb25lLnZhbHVlLnRvX2kgPT0g
MCA/IDAgOiBAZGF0YVVsdGltYVJlZ2lzdHJhemlvbmUudmFsdWUNCgkJQG51
bWVyb1VsdGltYVJlZ2lzdHJhemlvbmUudmFsdWUgPSBAbnVtZXJvVWx0aW1h
UmVnaXN0cmF6aW9uZS52YWx1ZS50b19zDQoJCUBkYXRhVWx0aW1hU3RhbXBh
LnZhbHVlID0gQGRhdGFVbHRpbWFTdGFtcGEudmFsdWUudG9faSA9PSAwID8g
MCA6IEBkYXRhVWx0aW1hU3RhbXBhLnZhbHVlDQoJCUBudW1lcm9VbHRpbWFT
dGFtcGEudmFsdWUgPSBAbnVtZXJvVWx0aW1hU3RhbXBhLnZhbHVlLnRvX3MN
CgkJQHVsdGltb051bWVyb1Byb2dyZXNzaXZvLnZhbHVlID0gQHVsdGltb051
bWVyb1Byb2dyZXNzaXZvLnRvX3MNCgkJQGRlc2NyaXppb25lLnZhbHVlID0g
QGRlc2NyaXppb25lLnZhbHVlLnRvX3MudXBjYXNlDQoNCgkJcmVnaXN0cmEg
PSB0cnVlDQoJCWlmIEBjb2RpY2UudmFsdWUudG9faSA9PSAwIA0KCQkJcmVn
aXN0cmEgPSBmYWxzZQ0KCQkJRlhNZXNzYWdlQm94Lndhcm5pbmcoc2VsZiwg
TUJPWF9PSywgIkNvZGljZSBsaWJybyBjb250YWJpbGUiLCAidmFsb3JlICcj
e0Bjb2RpY2UudmFsdWV9JyBub24gYW1tZXNzbyBwZXIgcXVlc3RvIGNhbXBv
IikNCgkJZW5kDQoNCgkJaWYgQHRpcG9MaWJyby52YWx1ZS50b19pID09IDAg
b3IgQHRpcG9MaWJyby52YWx1ZS50b19pID4gMw0KCQkJcmVnaXN0cmEgPSBm
YWxzZQ0KCQkJRlhNZXNzYWdlQm94Lndhcm5pbmcoc2VsZiwgTUJPWF9PSywg
IkNvZGljZSB0aXBvIGxpYnJvIGNvbnRhYmlsZSIsICJ2YWxvcmUgJyN7QHRp
cG9MaWJyby52YWx1ZX0nIG5vbiBhbW1lc3NvIHBlciBxdWVzdG8gY2FtcG8i
KQ0KCQllbmQNCg0KCQlpZiByZWdpc3RyYSA9PSB0cnVlDQoJCQliZWdpbg0K
CQkJCUBjb25uID0gTXlzcWwubmV3KCJsb2NhbGhvc3QiLCAicm9vdCIsICJ4
Y29saWJyaSIsICJwaXJhbWlkZSIpDQoJCQkJQGNvbm4uYXV0b2NvbW1pdCgw
KQ0KCQkJCUBjb25uLnF1ZXJ5KCJSRVBMQUNFIGxpYnJvX2NvbnRhYmlsZSBW
QUxVRVMgKCcje0Bjb2RpY2UudmFsdWUudG9fc30nLCcje0BkZXNjcml6aW9u
ZS52YWx1ZX0nLCcje0B0aXBvTGlicm8udmFsdWUudG9fc30nLCcje0BkYXRh
VWx0aW1hUmVnaXN0cmF6aW9uZS52YWx1ZSA9PSAwID8gJzAwMDAtMDAtMDAn
IDogQGRhdGFVbHRpbWFSZWdpc3RyYXppb25lLnZhbHVlfScsJyN7QG51bWVy
b1VsdGltYVJlZ2lzdHJhemlvbmUudmFsdWUudG9fc30nLCcje0BkYXRhVWx0
aW1hU3RhbXBhLnZhbHVlID09IDAgPyAnMDAwMC0wMC0wMCcgOiBAZGF0YVVs
dGltYVN0YW1wYS52YWx1ZX0nLCcje0BudW1lcm9VbHRpbWFTdGFtcGEudmFs
dWUudG9fc30nLCcje0B1bHRpbW9OdW1lcm9Qcm9ncmVzc2l2by52YWx1ZS50
b19zfScpIikNCgkJCQlAY29ubi5jb21taXQNCgkJCQlAY29ubi5jbG9zZQ0K
CQkJcmVzY3VlIE15c3FsRXJyb3IgPT4gZQ0KCQkJCUBjb25uLnJvbGxiYWNr
DQoJCQkJQGNvbm4uY2xvc2UNCgkJCQlwcmludCAiZXJyb3IgY29kZTogIiwg
ZS5lcnJubywgIlxuIg0KCQkJCXByaW50ICJlcnJvciBtZXNzYWdlOiAiLCBl
LmVycm9yLCAiXG4iDQoJCQllbmQNCgkJCWNhcmljYV9kYXRpDQoJCQlhenpl
cmFfdmFyaWFiaWxpDQoJCWVuZA0KCWVuZA0KDQoJZGVmIGNhbmNlbGxhX3Jl
Y29yZA0KCQlpZiAoQGNvbnRhdG9yZSA8PSAoIiN7QHNjZWx0YS5udW1fcm93
c30iLnRvX2kgLSAxKSkNCgkJCW1lc3NhZ2dpbyA9IEZYTWVzc2FnZUJveC5x
dWVzdGlvbigNCgkJCQlzZWxmLA0KCQkJCU1CT1hfWUVTX05PLA0KCQkJCSJB
dHRlbnppb25lICEhISIsDQoJCQkJIlNpIHN0YW5ubyBjYW5jZWxsYW5kbyBk
ZWkgZGF0aTogY29uZmVybWFyZSBsXCdvcGVyYXppb25lID8iKQ0KCQkJaWYg
bWVzc2FnZ2lvID09IE1CT1hfQ0xJQ0tFRF9ZRVMNCgkJCQlAY29ubiA9IE15
c3FsLm5ldygibG9jYWxob3N0IiwgInJvb3QiLCAieGNvbGlicmkiLCAicGly
YW1pZGUiKQ0KCQkJCUBjb25uLmF1dG9jb21taXQoMCkNCgkJCQlAY29ubi5x
dWVyeSgiREVMRVRFIEZST00gbGlicm9fY29udGFiaWxlIFdIRVJFIGNvZGlj
ZSA9ICcje0Bjb2RpY2UudmFsdWV9JyIpDQoJCQkJQGNvbm4uY29tbWl0DQoJ
CQkJQGNvbm4uY2xvc2UNCgkJCQljYXJpY2FfZGF0aQ0KCQkJCWF6emVyYV92
YXJpYWJpbGkNCgkJCWVuZA0KCQllbmQNCgllbmQNCg0KCWRlZiBhenplcmFf
dmFyaWFiaWxpDQoJCUBjb250YXRvcmUgPSAwDQoJCUBjb2RpY2UudmFsdWUg
PSAwDQoJCUBkZXNjcml6aW9uZS52YWx1ZSA9ICIiDQoJCUB0aXBvTGlicm8u
dmFsdWUgPSAwDQoJCUBkYXRhVWx0aW1hUmVnaXN0cmF6aW9uZS52YWx1ZSA9
IDANCgkJQG51bWVyb1VsdGltYVJlZ2lzdHJhemlvbmUudmFsdWUgPSAwDQoJ
CUBkYXRhVWx0aW1hU3RhbXBhLnZhbHVlID0gMA0KCQlAbnVtZXJvVWx0aW1h
U3RhbXBhLnZhbHVlID0gMA0KCQlAdWx0aW1vTnVtZXJvUHJvZ3Jlc3Npdm8u
dmFsdWUgPSAwDQoJZW5kDQoNCglkZWYgYXNzZWduYV92YXJpYWJpbGkNCgkJ
QHJpZ2EgPSBAc2NlbHRhLmRhdGFfc2VlayhAY29udGF0b3JlKQ0KCQlAcmln
YSA9IEBzY2VsdGEuZmV0Y2hfcm93DQoJCUBjb2RpY2UudmFsdWUgPSBAcmln
YVswXS50b19pDQoJCUBkZXNjcml6aW9uZS52YWx1ZSA9IEByaWdhWzFdDQoJ
CUB0aXBvTGlicm8udmFsdWUgPSBAcmlnYVsyXS50b19pDQoJCUBkYXRhVWx0
aW1hUmVnaXN0cmF6aW9uZS52YWx1ZSA9IEByaWdhWzNdDQoJCUBudW1lcm9V
bHRpbWFSZWdpc3RyYXppb25lLnZhbHVlID0gQHJpZ2FbNF0udG9faQ0KCQlA
ZGF0YVVsdGltYVN0YW1wYS52YWx1ZSA9IEByaWdhWzVdDQoJCUBudW1lcm9V
bHRpbWFTdGFtcGEudmFsdWUgPSBAcmlnYVs2XS50b19pDQoJCUB1bHRpbW9O
dW1lcm9Qcm9ncmVzc2l2by52YWx1ZSA9IEByaWdhWzddLnRvX2kNCgllbmQN
CgkNCglkZWYgY2FyaWNhX2RhdGkNCgkJYmVnaW4NCgkJCUBjb25uID0gTXlz
cWwubmV3KCJsb2NhbGhvc3QiLCAicm9vdCIsICJ4Y29saWJyaSIsICJwaXJh
bWlkZSIpDQoJCQlAc2NlbHRhID0gQGNvbm4ucXVlcnkoIlNFTEVDVCAqIEZS
T00gbGlicm9fY29udGFiaWxlIikNCgkJCUBjb250YXRvcmUgPSAiI3tAc2Nl
bHRhLm51bV9yb3dzfSIudG9faQ0KCQkJQGNvbm4uY2xvc2UNCgkJcmVzY3Vl
DQoJCQlAY29ubi5jbG9zZQ0KCQkJcHJpbnQgImVycm9yIGNvZGU6ICIsIGUu
ZXJybm8sICIvbiINCgkJCXByaW50ICJFcnJvciBtZXNzYWdlOiAiLCBlLmVy
cm9yLCAiL24iDQoJCWVuZA0KCWVuZA0KZW5kDQoNCmNsYXNzIEZpbmVzdHJh
MTA4MDkgPCBGWERpYWxvZ0JveCAjZmluZXN0cmEgcGVyIGwnaW5zZXJpbWVu
dG8gZGVpIHRpcGkgZGkgZG9jdW1lbnRpIGl2YQ0KCWRlZiBpbml0aWFsaXpl
KGFwcCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xhc3MNCgkJQGNvbnRhdG9y
ZSA9IDANCgkJQHJpZ2EgPSBuaWwNCiNjYXJpY2EgaW4gbWVtb3JpYSB0dXR0
byBpbCBwaWFubyBkZWkgY29udGkNCgkJY2FyaWNhX2RhdGkNCiNkaXNlZ25h
IGxhIGZpbmVzdHJhICAgIA0KCQlzdXBlcihhcHAsICJQUk9HUkFNTUEgUElS
QU1JREUiLCA6b3B0cyA9PiBERUNPUl9BTEwsIDp4ID0+IDIwLCA6eSA9PiAy
MCwgOndpZHRoID0+IDgwMCwgOmhlaWdodCA9PiAyNTApDQoJCWFyZWEgPSBG
WFBhY2tlci5uZXcoc2VsZiwgOm9wdHMgPT4gTEFZT1VUX0ZJTEwsIDp2U3Bh
Y2luZyA9PiAzMCwgOmhTcGFjaW5nID0+IDUwKQ0KCQlncnVwcG8xID0gRlhH
cm91cEJveC5uZXcoYXJlYSwgIiIsIDp2U3BhY2luZyA9PiAwKQ0KCQl2VGVz
dGEwID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzEsIDpvcHRzID0+
IExBWU9VVF9TSURFX1RPUHxQQUNLX1VOSUZPUk1fV0lEVEgsIDpwYWRCb3R0
b20gPT4gMTApDQoJCUZYTGFiZWwubmV3KHZUZXN0YTAsICJHRVNUSU9ORSBU
QUJFTExBIERFTExFIE9QRVJBWklPTkkgSVZBIiwgbmlsLCBKVVNUSUZZX0NF
TlRFUl9YfExBWU9VVF9GSUxMX1JPVywgOnBhZFJpZ2h0ID0+IDEyOCkNCg0K
CQl2VGVzdGExID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzEsIDpv
cHRzID0+IExBWU9VVF9TSURFX1RPUHxQQUNLX1VOSUZPUk1fV0lEVEgpDQoJ
CUZYQnV0dG9uLm5ldyh2VGVzdGExLCAnUHJpbW8gcmVjb3JkJywgOnBhZExl
ZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUpLmNvbm5lY3QoU0VMX0NPTU1BTkQp
IHtwcmltb19yZWNvcmQgfQ0KCQlGWEJ1dHRvbi5uZXcodlRlc3RhMSwgJ1Jl
Y29yZCBwcmVjZWRlbnRlJywgOnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+
IDUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHtwcmVjZWRlbnRlX3JlY29yZH0N
CgkJRlhCdXR0b24ubmV3KHZUZXN0YTEsICdSZWNvcmQgc3VjY2Vzc2l2bycs
IDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1KS5jb25uZWN0KFNFTF9D
T01NQU5EKSB7c3VjY2Vzc2l2b19yZWNvcmR9DQoJCUZYQnV0dG9uLm5ldyh2
VGVzdGExLCAnVWx0aW1vIHJlY29yZCcsIDpwYWRMZWZ0ID0+IDUsIDpwYWRS
aWdodCA9PiA1KS5jb25uZWN0KFNFTF9DT01NQU5EKSB7dWx0aW1vX3JlY29y
ZH0NCgkJRlhCdXR0b24ubmV3KHZUZXN0YTEsICdOdW92byByZWNvcmQnLCA6
cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSkuY29ubmVjdChTRUxfQ09N
TUFORCkge251b3ZvX3JlY29yZH0NCg0KCQlncnVwcG8yID0gRlhHcm91cEJv
eC5uZXcoYXJlYSwgIiIsIDp2U3BhY2luZyA9PiAwKQ0KCQl2TGluZWExID0g
RlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpvcHRzID0+IExBWU9V
VF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBjb2RpY2UgPSBGWERh
dGFUYXJnZXQubmV3KDApDQoJCUZYQnV0dG9uLm5ldyh2TGluZWExLCAnPycs
IDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1LCA6cGFkVG9wID0+MCwg
OnBhZEJvdHRvbSA9PiAwKS5jb25uZWN0KFNFTF9DT01NQU5EKSB7DQoJCQkk
dmFyID0gW10NCgkJCXJpY2VyY2EgPSBGaW5lc3RyYTkwMDE4Lm5ldyhzZWxm
KQ0KCQkJcmljZXJjYS5leGVjdXRlKFBMQUNFTUVOVF9DVVJTT1IpDQoJCQlA
Y29kaWNlLnZhbHVlID0gJHZhclswXQ0KCQkJQGRlc2NyaXppb25lLnZhbHVl
ID0gJHZhclsxXQ0KCQkJJHZhciA9IFtdDQoJCQl2YWlfYV9yZWNvcmQNCgkJ
CX0NCgkJRlhMYWJlbC5uZXcodkxpbmVhMSwgIkNvZGljZSBkZWwgdGlwbyBk
aSBvcGVyYXppb25lIGl2YSIsIG5pbCwgSlVTVElGWV9SSUdIVHxMQVlPVVRf
RklMTF9ST1csIDpwYWRSaWdodCA9PiAxMjgpDQoJCUZYVGV4dEZpZWxkLm5l
dyh2TGluZWExLCAzLCA6dGFyZ2V0ID0+IEBjb2RpY2UsIDpzZWxlY3RvciA9
PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBGUkFNRV9TVU5L
RU58RlJBTUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRFWFRGSUVMRF9MSU1J
VEVEfFRFWFRGSUVMRF9JTlRFR0VSfEpVU1RJRllfUklHSFQpDQoNCgkJdkxp
bmVhMiA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8yLCA6b3B0cyA9
PiBMQVlPVVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAZGVzY3Jp
emlvbmUgPSBGWERhdGFUYXJnZXQubmV3KCIiKQ0KCQlGWExhYmVsLm5ldyh2
TGluZWEyLCAiRGVzY3JpemlvbmUgZGVsIHRpcG8gZGkgb3BlcmF6aW9uZSBp
dmEiLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFk
TGVmdCA9PiAyNiwgOnBhZFJpZ2h0ID0+IDEwNCkNCgkJRlhUZXh0RmllbGQu
bmV3KHZMaW5lYTIsIDMwLCA6dGFyZ2V0ID0+IEBkZXNjcml6aW9uZSwgOnNl
bGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZS
QU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJ
RUxEX0xJTUlURUQpDQoNCgkJZ3J1cHBvNCA9IEZYR3JvdXBCb3gubmV3KGFy
ZWEsICIiLCA6dlNwYWNpbmcgPT4gMCkNCgkJdkZvbmRvID0gRlhIb3Jpem9u
dGFsRnJhbWUubmV3KGdydXBwbzQsIDpvcHRzID0+IExBWU9VVF9TSURFX0JP
VFRPTXxQQUNLX1VOSUZPUk1fV0lEVEgpDQoJCUZYQnV0dG9uLm5ldyh2Rm9u
ZG8sICdDYW5jZWxsYScsIDpwYWRMZWZ0ID0+IDI1LCA6cGFkUmlnaHQgPT4g
MjUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHtjYW5jZWxsYV9yZWNvcmR9DQoJ
CUZYQnV0dG9uLm5ldyh2Rm9uZG8sICdBbm51bGxhJywgOnBhZExlZnQgPT4g
MjUsIDpwYWRSaWdodCA9PiAyNSkuY29ubmVjdChTRUxfQ09NTUFORCkge2F6
emVyYV92YXJpYWJpbGl9DQoJCUZYQnV0dG9uLm5ldyh2Rm9uZG8sICdSZWdp
c3RyYScsIDpwYWRMZWZ0ID0+IDI1LCA6cGFkUmlnaHQgPT4gMjUpLmNvbm5l
Y3QoU0VMX0NPTU1BTkQpIHtyZWdpc3RyYX0NCgkJRlhCdXR0b24ubmV3KHZG
b25kbywgJ0VzY2knLCA6dGFyZ2V0ID0+IHNlbGYsIDpzZWxlY3RvciA9PiBG
WERpYWxvZ0JveDo6SURfQ0FOQ0VMLCA6cGFkTGVmdCA9PiAyNSwgOnBhZFJp
Z2h0ID0+IDI1KQ0KCQlhenplcmFfdmFyaWFiaWxpDQoJZW5kDQoNCglkZWYg
cHJpbW9fcmVjb3JkDQoJCUBjb250YXRvcmUgPSAwDQoJCUBzY2VsdGEubnVt
X3Jvd3MgPT0gMCA/IGF6emVyYV92YXJpYWJpbGkgOiBhc3NlZ25hX3Zhcmlh
YmlsaQ0KCWVuZA0KDQoJZGVmIHByZWNlZGVudGVfcmVjb3JkDQoJCWlmIEBz
Y2VsdGEubnVtX3Jvd3MgPT0gMCB0aGVuCQkNCgkJCUBjb250YXRvcmUgPSAw
DQoJCQlhenplcmFfdmFyaWFiaWxpDQoJCWVsc2UNCgkJCUBjb250YXRvcmUg
LSAxIDwwID8gQGNvbnRhdG9yZSA9IDAgOiBAY29udGF0b3JlID0gQGNvbnRh
dG9yZSAtMQ0KCQkJYXNzZWduYV92YXJpYWJpbGkNCgkJZW5kDQoJZW5kDQoN
CglkZWYgc3VjY2Vzc2l2b19yZWNvcmQNCgkJaWYgQHNjZWx0YS5udW1fcm93
cyA9PSAwCQkNCgkJCUBjb250YXRvcmUgPSAwDQoJCQlhenplcmFfdmFyaWFi
aWxpDQoJCWVsc2UNCgkJCUBjb250YXRvcmUgPj0gKCIje0BzY2VsdGEubnVt
X3Jvd3N9Ii50b19pIC0gMSkgPyBAY29udGF0b3JlID0gKCIje0BzY2VsdGEu
bnVtX3Jvd3N9Ii50b19pIC0gMSkgOiBAY29udGF0b3JlID0gQGNvbnRhdG9y
ZSArIDENCgkJCWFzc2VnbmFfdmFyaWFiaWxpDQoJCWVuZA0KCWVuZA0KDQoJ
ZGVmIHVsdGltb19yZWNvcmQNCgkJaWYgQHNjZWx0YS5udW1fcm93cyA9PSAw
IHRoZW4JCQ0KCQkJQGNvbnRhdG9yZSA9IDANCgkJCWF6emVyYV92YXJpYWJp
bGkNCgkJZWxzZQ0KCQkJQGNvbnRhdG9yZSA9ICgiI3tAc2NlbHRhLm51bV9y
b3dzfSIudG9faSAtIDEpDQoJCQlhc3NlZ25hX3ZhcmlhYmlsaQ0KCQllbmQN
CgllbmQNCg0KCWRlZiBudW92b19yZWNvcmQNCgkJYXp6ZXJhX3ZhcmlhYmls
aQ0KCWVuZA0KDQoJZGVmIHZhaV9hX3JlY29yZA0KCQlpZiBAY29kaWNlLnZh
bHVlLnRvX2kgICE9IDANCgkJCUBjb250YXRvcmUgPSAwDQoJCQlAcmlnYSA9
IEBzY2VsdGEuZGF0YV9zZWVrKEBjb250YXRvcmUpDQoJCQlAcmlnYSA9IEBz
Y2VsdGEuZmV0Y2hfcm93DQoNCgkJCXVudGlsIEBjb2RpY2UudmFsdWUgPT0g
QHJpZ2FbMF0NCgkJCQlAcmlnYSA9IEBzY2VsdGEuZGF0YV9zZWVrKEBjb250
YXRvcmUpDQoJCQkJQHJpZ2EgPSBAc2NlbHRhLmZldGNoX3Jvdw0KCQkJCUBj
b250YXRvcmUgPSBAY29udGF0b3JlICsgMQ0KCQkJZW5kDQoJCQlAY29udGF0
b3JlID0gQGNvbnRhdG9yZSAtIDEgaWYgQGNvbnRhdG9yZSA+MA0KCQkJYXNz
ZWduYV92YXJpYWJpbGkNCgkJZW5kDQoJZW5kDQoNCglkZWYgcmVnaXN0cmEN
CiN+IGFsbGEgdmFyaWFiaWxlIHJlZ2lzdHJhIHNpIGFzc2VnbmEgaWwgdmFs
b3JlIHZlcm8uDQojfiBVbiByaXN1bHRhdG8gZmFsc28gZGkgdW4gcXVhbHNp
YXNpIHRlc3QgbmUgY2FtYmllcmEnIGlsIHZhbG9yZSBpbiBmYWxzbywgaW1w
ZWRlbmRvIGxhIHJlZ2lzdHJhemlvbmUgZGVpIGRhdGkgaW4gbWVtb3JpYS4N
CgkJQGRlc2NyaXppb25lLnZhbHVlID0gQGRlc2NyaXppb25lLnZhbHVlLnRv
X3MudXBjYXNlDQoNCgkJcmVnaXN0cmEgPSB0cnVlDQoJCWlmIEBjb2RpY2Uu
dmFsdWUudG9faSA9PSAwIA0KCQkJcmVnaXN0cmEgPSBmYWxzZQ0KCQkJRlhN
ZXNzYWdlQm94Lndhcm5pbmcoc2VsZiwgTUJPWF9PSywgIkNvZGljZSBvcGVy
YXppb25lIGl2YSIsICJ2YWxvcmUgJyN7QGNvZGljZS52YWx1ZX0nIG5vbiBh
bW1lc3NvIHBlciBxdWVzdG8gY2FtcG8iKQ0KCQllbmQNCg0KCQlpZiByZWdp
c3RyYSA9PSB0cnVlDQoJCQliZWdpbg0KCQkJCUBjb25uID0gTXlzcWwubmV3
KCJsb2NhbGhvc3QiLCAicm9vdCIsICJ4Y29saWJyaSIsICJwaXJhbWlkZSIp
DQoJCQkJQGNvbm4uYXV0b2NvbW1pdCgwKQ0KCQkJCUBjb25uLnF1ZXJ5KCJS
RVBMQUNFIG9wZXJhemlvbmVfaXZhIFZBTFVFUyAoJyN7QGNvZGljZS52YWx1
ZS50b19zfScsJyN7QGRlc2NyaXppb25lLnZhbHVlfScpIikNCgkJCQlAY29u
bi5jb21taXQNCgkJCQlAY29ubi5jbG9zZQ0KCQkJcmVzY3VlIE15c3FsRXJy
b3IgPT4gZQ0KCQkJCUBjb25uLnJvbGxiYWNrDQoJCQkJQGNvbm4uY2xvc2UN
CgkJCQlwcmludCAiZXJyb3IgY29kZTogIiwgZS5lcnJubywgIlxuIg0KCQkJ
CXByaW50ICJlcnJvciBtZXNzYWdlOiAiLCBlLmVycm9yLCAiXG4iDQoJCQll
bmQNCgkJCWNhcmljYV9kYXRpDQoJCQlhenplcmFfdmFyaWFiaWxpDQoJCWVu
ZA0KCWVuZA0KDQoJZGVmIGNhbmNlbGxhX3JlY29yZA0KCQlpZiAoQGNvbnRh
dG9yZSA8PSAoIiN7QHNjZWx0YS5udW1fcm93c30iLnRvX2kgLSAxKSkNCgkJ
CW1lc3NhZ2dpbyA9IEZYTWVzc2FnZUJveC5xdWVzdGlvbigNCgkJCQlzZWxm
LA0KCQkJCU1CT1hfWUVTX05PLA0KCQkJCSJBdHRlbnppb25lICEhISIsDQoJ
CQkJIlNpIHN0YW5ubyBjYW5jZWxsYW5kbyBkZWkgZGF0aTogY29uZmVybWFy
ZSBsXCdvcGVyYXppb25lID8iKQ0KCQkJaWYgbWVzc2FnZ2lvID09IE1CT1hf
Q0xJQ0tFRF9ZRVMNCgkJCQlAY29ubiA9IE15c3FsLm5ldygibG9jYWxob3N0
IiwgInJvb3QiLCAieGNvbGlicmkiLCAicGlyYW1pZGUiKQ0KCQkJCUBjb25u
LmF1dG9jb21taXQoMCkNCgkJCQlAY29ubi5xdWVyeSgiREVMRVRFIEZST00g
b3BlcmF6aW9uZV9pdmEgV0hFUkUgY29kaWNlID0gJyN7QGNvZGljZS52YWx1
ZX0nIikNCgkJCQlAY29ubi5jb21taXQNCgkJCQlAY29ubi5jbG9zZQ0KCQkJ
CWNhcmljYV9kYXRpDQoJCQkJYXp6ZXJhX3ZhcmlhYmlsaQ0KCQkJZW5kDQoJ
CWVuZA0KCWVuZA0KDQoJZGVmIGF6emVyYV92YXJpYWJpbGkNCgkJQGNvbnRh
dG9yZSA9IDANCgkJQGNvZGljZS52YWx1ZSA9IDANCgkJQGRlc2NyaXppb25l
LnZhbHVlID0gIiINCgllbmQNCg0KCWRlZiBhc3NlZ25hX3ZhcmlhYmlsaQ0K
CQlAcmlnYSA9IEBzY2VsdGEuZGF0YV9zZWVrKEBjb250YXRvcmUpDQoJCUBy
aWdhID0gQHNjZWx0YS5mZXRjaF9yb3cNCgkJQGNvZGljZS52YWx1ZSA9IEBy
aWdhWzBdLnRvX2kNCgkJQGRlc2NyaXppb25lLnZhbHVlID0gQHJpZ2FbMV0N
CgllbmQNCgkNCglkZWYgY2FyaWNhX2RhdGkNCgkJYmVnaW4NCgkJCUBjb25u
ID0gTXlzcWwubmV3KCJsb2NhbGhvc3QiLCAicm9vdCIsICJ4Y29saWJyaSIs
ICJwaXJhbWlkZSIpDQoJCQlAc2NlbHRhID0gQGNvbm4ucXVlcnkoIlNFTEVD
VCAqIEZST00gb3BlcmF6aW9uZV9pdmEiKQ0KCQkJQGNvbnRhdG9yZSA9ICIj
e0BzY2VsdGEubnVtX3Jvd3N9Ii50b19pDQoJCQlAY29ubi5jbG9zZQ0KCQly
ZXNjdWUNCgkJCUBjb25uLmNsb3NlDQoJCQlwcmludCAiZXJyb3IgY29kZTog
IiwgZS5lcnJubywgIi9uIg0KCQkJcHJpbnQgIkVycm9yIG1lc3NhZ2U6ICIs
IGUuZXJyb3IsICIvbiINCgkJZW5kDQoJZW5kDQplbmQNCg0KY2xhc3MgRmlu
ZXN0cmE4IDwgRlhEaWFsb2dCb3gNCgkjZGVmIGluaXRpYWxpemUoYXBwKQ0K
CWRlZiBpbml0aWFsaXplKGFwcCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xh
c3MNCgkJc3VwZXIoYXBwLCAiUFJPR1JBTU1BIFBJUkFNSURFIiwgOm9wdHMg
PT4gREVDT1JfQUxMLCA6eCA9PiAyMCwgOnkgPT4gMjAsIDp3aWR0aCA9PiA2
MDAsIDpoZWlnaHQgPT4gNDAwKQ0KCQkjIE1lbnViYXINCgkJbWVudWJhcjEg
PSBGWE1lbnVCYXIubmV3KHNlbGYsIExBWU9VVF9TSURFX1RPUHxMQVlPVVRf
RklMTF9YKQ0KCQkjIEZpbGUgbWVudQ0KCQlmaWxlbWVudTEgPSBGWE1lbnVQ
YW5lLm5ldyhzZWxmKQ0KCQlhcmNoaXZpdGFiZWxsZW1lbnUxID0gRlhNZW51
UGFuZS5uZXcoc2VsZikNCgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2aXRh
YmVsbGVtZW51MSwgIlNjcml0dHVyZSBkaSBQcmltYSBOb3RhIikuY29ubmVj
dChTRUxfQ09NTUFORCkgew0KCQlmaW5lc3RyYSA9IEZpbmVzdHJhODAxLm5l
dyhzZWxmKQ0KCQlmaW5lc3RyYS5leGVjdXRlKFBMQUNFTUVOVF9DVVJTT1Ip
DQoJCX0NCgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2aXRhYmVsbGVtZW51
MSwgIkludGVycm9nYXppb25pIGUgU3RhbXBlIikuY29ubmVjdChTRUxfQ09N
TUFORCkgew0KCQkJZmluZXN0cmEgPSBGaW5lc3RyYTgwMi5uZXcoc2VsZikN
CgkJCWZpbmVzdHJhLmV4ZWN1dGUoUExBQ0VNRU5UX0NVUlNPUikNCgkJfQ0K
CQlGWE1lbnVDb21tYW5kLm5ldyhhcmNoaXZpdGFiZWxsZW1lbnUxLCAiQmls
YW5jaSBkaSBFc2VyY2l6aW8iKS5jb25uZWN0KFNFTF9DT01NQU5EKSB7DQoJ
CQlmaW5lc3RyYSA9IEZpbmVzdHJhODAzLm5ldyhzZWxmKQ0KCQkJZmluZXN0
cmEuZXhlY3V0ZShQTEFDRU1FTlRfQ1VSU09SKQ0KCQl9DQoJCUZYTWVudUNv
bW1hbmQubmV3KGFyY2hpdml0YWJlbGxlbWVudTEsICJTZXJ2aXppIEZpbmFu
emlhcmkgZWQgQW1taW5pc3RyYXRpdmkiKS5jb25uZWN0KFNFTF9DT01NQU5E
KSB7DQoJCQlmaW5lc3RyYSA9IEZpbmVzdHJhODA0Lm5ldyhzZWxmKQ0KCQkJ
ZmluZXN0cmEuZXhlY3V0ZShQTEFDRU1FTlRfQ1VSU09SKQ0KCQl9DQoJCUZY
TWVudUNvbW1hbmQubmV3KGFyY2hpdml0YWJlbGxlbWVudTEsICJDaGl1c3Vy
YS9BcGVydHVyYSBFc2VyY2l6aSIpLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHsN
CgkJCWZpbmVzdHJhID0gRmluZXN0cmE4MDUubmV3KHNlbGYpDQoJCQlmaW5l
c3RyYS5leGVjdXRlKFBMQUNFTUVOVF9DVVJTT1IpDQoJCX0NCgkJRlhNZW51
VGl0bGUubmV3KG1lbnViYXIxLCAiR2VzdGlvbmUgZGVsbFwnQW1taW5pc3Ry
YXppb25lIiwgOnBvcHVwTWVudSA9PiBhcmNoaXZpdGFiZWxsZW1lbnUxKQ0K
CQlGWEhvcml6b250YWxTZXBhcmF0b3IubmV3KHNlbGYsIExBWU9VVF9TSURF
X1RPUHxTRVBBUkFUT1JfR1JPT1ZFfExBWU9VVF9GSUxMX1gpDQoJZW5kDQpl
bmQNCg0KY2xhc3MgRmluZXN0cmE4MDEgPCBGWERpYWxvZ0JveA0KCSNkZWYg
aW5pdGlhbGl6ZShhcHApDQoJZGVmIGluaXRpYWxpemUoYXBwKQ0KCQkjIElu
aXRpYWxpemUgYmFzZSBjbGFzcw0KCQlzdXBlcihhcHAsICJQUk9HUkFNTUEg
UElSQU1JREUiLCA6b3B0cyA9PiBERUNPUl9BTEwsIDp4ID0+IDIwLCA6eSA9
PiAyMCwgOndpZHRoID0+IDYwMCwgOmhlaWdodCA9PiA0MDApDQoJCSMgTWVu
dWJhcg0KCQltZW51YmFyID0gRlhNZW51QmFyLm5ldyhzZWxmLCBMQVlPVVRf
U0lERV9UT1B8TEFZT1VUX0ZJTExfWCkNCgkJIyBGaWxlIG1lbnUNCgkJZmls
ZW1lbnUgPSBGWE1lbnVQYW5lLm5ldyhzZWxmKQ0KCQlhcmNoaXZpdGFiZWxs
ZW1lbnUgPSBGWE1lbnVQYW5lLm5ldyhzZWxmKQ0KCQlGWE1lbnVDb21tYW5k
Lm5ldyhhcmNoaXZpdGFiZWxsZW1lbnUsICJQcmltYSBOb3RhIGRpIENvbnRh
YmlsaXRhXCcgR2VuZXJhbGUiKS5jb25uZWN0KFNFTF9DT01NQU5EKSB7DQoJ
CQlmaW5lc3RyYSA9IEZpbmVzdHJhODAxMDEubmV3KHNlbGYpDQoJCQlmaW5l
c3RyYS5leGVjdXRlKFBMQUNFTUVOVF9DVVJTT1IpDQoJCQl9DQoJCUZYTWVu
dVNlcGFyYXRvci5uZXcoYXJjaGl2aXRhYmVsbGVtZW51KQ0KCQlGWE1lbnVD
b21tYW5kLm5ldyhhcmNoaXZpdGFiZWxsZW1lbnUsICJQcmltYSBOb3RhIEZv
cm5pdG9yaSIpDQoJCUZYTWVudUNvbW1hbmQubmV3KGFyY2hpdml0YWJlbGxl
bWVudSwgIkNvbnRyb2xsbyBGYXR0dXJlIC8gRG9jdW1lbnRpIGRpIFRyYXNw
b3J0byIpDQoJCUZYTWVudUNvbW1hbmQubmV3KGFyY2hpdml0YWJlbGxlbWVu
dSwgIlBhZ2FtZW50aSBhIEZvcm5pdG9yaSIpDQoJCUZYTWVudUNvbW1hbmQu
bmV3KGFyY2hpdml0YWJlbGxlbWVudSwgIkF2dmlzaSBkaSBQYWdhbWVudG8g
ZGEgRm9ybml0b3JpIikNCgkJRlhNZW51U2VwYXJhdG9yLm5ldyhhcmNoaXZp
dGFiZWxsZW1lbnUpDQoJCUZYTWVudUNvbW1hbmQubmV3KGFyY2hpdml0YWJl
bGxlbWVudSwgIlByaW1hIE5vdGEgQ2xpZW50aSIpDQoJCUZYTWVudUNvbW1h
bmQubmV3KGFyY2hpdml0YWJlbGxlbWVudSwgIkluY2Fzc2kgZGEgQ2xpZW50
aSIpDQoJCUZYTWVudUNvbW1hbmQubmV3KGFyY2hpdml0YWJlbGxlbWVudSwg
IkF2dmlzaSBkaSBQYWdhbWVudG8gYSBDbGllbnRpIikNCgkJRlhNZW51U2Vw
YXJhdG9yLm5ldyhhcmNoaXZpdGFiZWxsZW1lbnUpDQoJCUZYTWVudUNvbW1h
bmQubmV3KGFyY2hpdml0YWJlbGxlbWVudSwgIlByaW1hIE5vdGEgRmluYW56
aWFtZW50byBDcmVkaXRpIikNCgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2
aXRhYmVsbGVtZW51LCAiUHJpbWEgTm90YSBQb3J0YWZvZ2xpbyBSaS5CYS4i
KQ0KCQlGWE1lbnVDb21tYW5kLm5ldyhhcmNoaXZpdGFiZWxsZW1lbnUsICJQ
cmltYSBOb3RhIEZpZGVpdXNzaW9uaSIpDQoJCUZYTWVudVRpdGxlLm5ldyht
ZW51YmFyLCAiUHJpbWUgTm90ZSIsIDpwb3B1cE1lbnUgPT4gYXJjaGl2aXRh
YmVsbGVtZW51KQ0KCWVuZA0KZW5kDQoNCmNsYXNzIEZpbmVzdHJhODAxMDEg
PCBGWERpYWxvZ0JveA0KCSNkZWYgaW5pdGlhbGl6ZShhcHApDQoJZGVmIGlu
aXRpYWxpemUoYXBwKQ0KCQkjIEluaXRpYWxpemUgYmFzZSBjbGFzcw0KCQlz
dXBlcihhcHAsICJQUk9HUkFNTUEgUElSQU1JREUiLCA6b3B0cyA9PiBERUNP
Ul9BTEwsIDp4ID0+IDIwLCA6eSA9PiAyMCwgOndpZHRoID0+IDgwMCwgOmhl
aWdodCA9PiA3MDApDQoJICANCgkJYXJlYSA9IEZYUGFja2VyLm5ldyhzZWxm
LCA6b3B0cyA9PiBMQVlPVVRfRklMTCwgOnZTcGFjaW5nID0+IDEwLCA6aFNw
YWNpbmcgPT4gNTApDQoNCgkJZ3J1cHBvMSA9IEZYR3JvdXBCb3gubmV3KGFy
ZWEsICIiLCA6dlNwYWNpbmcgPT4gMCkNCgkJdlRlc3RhID0gRlhIb3Jpem9u
dGFsRnJhbWUubmV3KGdydXBwbzEsIDpvcHRzID0+IExBWU9VVF9TSURFX1RP
UHxQQUNLX1VOSUZPUk1fV0lEVEgpDQoJCUZYQnV0dG9uLm5ldyh2VGVzdGEs
ICdSaWNlcmNhIC4uLicsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1
KQ0KCQlGWEJ1dHRvbi5uZXcodlRlc3RhLCAnUHJpbW8gcmVjb3JkJywgOnBh
ZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUpDQoJCUZYQnV0dG9uLm5ldyh2
VGVzdGEsICdSZWNvcmQgcHJlY2VkZW50ZScsIDpwYWRMZWZ0ID0+IDUsIDpw
YWRSaWdodCA9PiA1KQ0KCQlGWEJ1dHRvbi5uZXcodlRlc3RhLCAnUmVjb3Jk
IHN1Y2Nlc3Npdm8nLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSkN
CgkJRlhCdXR0b24ubmV3KHZUZXN0YSwgJ1VsdGltbyByZWNvcmQnLCA6cGFk
TGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSkNCgkJRlhCdXR0b24ubmV3KHZU
ZXN0YSwgJ051b3ZvIHJlY29yZCcsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdo
dCA9PiA1KQ0KDQoJCWdydXBwbzIgPSBGWEdyb3VwQm94Lm5ldyhhcmVhLCAi
IiwgOnZTcGFjaW5nID0+IDApDQoJCUBkYXRhUmVnaXN0cmF6aW9uZSA9IEZY
RGF0YVRhcmdldC5uZXcoIiIpDQoJCXZMaW5lYTEgPSBGWEhvcml6b250YWxG
cmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9QLCA6
dlNwYWNpbmcgPT4gMCkNCgkJRlhMYWJlbC5uZXcodkxpbmVhMSwgIkRhdGEg
ZGkgcmVnaXN0cmF6aW9uZSIsIG5pbCwgOm9wdHMgPT4gSlVTVElGWV9SSUdI
VHxMQVlPVVRfRklMTF9ST1csIDpwYWRMZWZ0ID0+IDI1LCA6cGFkUmlnaHQg
PT4gMTAwKQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVhMSwgMTAsIDp0YXJn
ZXQgPT4gQGRhdGFSZWdpc3RyYXppb25lLCA6c2VsZWN0b3IgPT4gRlhEYXRh
VGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gRlJBTUVfU1VOS0VOfEZSQU1F
X1RISUNLfExBWU9VVF9GSUxMX1JPV3xURVhURklFTERfTElNSVRFRCkNCg0K
CQl2TGluZWEyID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpv
cHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBj
b2RpY2VDYXVzYWxlLCBAZGVzY3JpemlvbmVDYXVzYWxlID0gRlhEYXRhVGFy
Z2V0Lm5ldygiIikNCgkJRlhCdXR0b24ubmV3KHZMaW5lYTIsICc/JywgOnBh
ZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUsIDpwYWRUb3AgPT4wLCA6cGFk
Qm90dG9tID0+IDApDQoJCUZYTGFiZWwubmV3KHZMaW5lYTIsICJDb2RpY2Ug
Y2F1c2FsZSIsIG5pbCwgSlVTVElGWV9SSUdIVHxMQVlPVVRfRklMTF9ST1cs
IDpwYWRSaWdodCA9PiAxMjgpDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWEy
LCAzLCA6dGFyZ2V0ID0+IEBjb2RpY2VDYXVzYWxlLCA6c2VsZWN0b3IgPT4g
RlhEYXRhVGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT5GUkFNRV9TVU5LRU58
RlJBTUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRFWFRGSUVMRF9MSU1JVEVE
fFRFWFRGSUVMRF9JTlRFR0VSKQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVh
MiwgNTAsIEBkZXNjcml6aW9uZUNhdXNhbGUsIEZYRGF0YVRhcmdldDo6SURf
VkFMVUUsIEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9S
T1d8VEVYVEZJRUxEX1JFQURPTkxZKQ0KDQoJCXZMaW5lYTMgPSBGWEhvcml6
b250YWxGcmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJREVf
VE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJRlhMYWJlbC5uZXcodkxpbmVhMywg
IkVzdHJlbWkgZGVsIGRvY3VtZW50bzoiLCBuaWwsIEpVU1RJRllfUklHSFR8
TEFZT1VUX0ZJTExfUk9XLCA6cGFkTGVmdCA9PiAyNSkNCg0KCQl2TGluZWE0
ID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpvcHRzID0+IExB
WU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBudW1lcm9Eb2N1
bWVudG8gPSBGWERhdGFUYXJnZXQubmV3KCIiKQ0KCQlGWExhYmVsLm5ldyh2
TGluZWE0LCAiTnVtZXJvIiwgbmlsLCBKVVNUSUZZX1JJR0hUfExBWU9VVF9G
SUxMX1JPVywgOnBhZExlZnQgPT4gMTA1LCA6cGFkUmlnaHQgPT4gODUpDQoJ
CUZYVGV4dEZpZWxkLm5ldyh2TGluZWE0LCAxMCwgOnRhcmdldCA9PiBAbnVt
ZXJvRG9jdW1lbnRvLCA6c2VsZWN0b3IgPT4gRlhEYXRhVGFyZ2V0OjpJRF9W
QUxVRSwgOm9wdHMgPT4gRlJBTUVfU1VOS0VOfEZSQU1FX1RISUNLfExBWU9V
VF9GSUxMX1JPVykNCg0KCQl2TGluZWE1ID0gRlhIb3Jpem9udGFsRnJhbWUu
bmV3KGdydXBwbzIsIDpvcHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZTcGFj
aW5nID0+IDApDQoJCUBkYXRhRG9jdW1lbnRvID0gRlhEYXRhVGFyZ2V0Lm5l
dygiIikNCgkJRlhMYWJlbC5uZXcodkxpbmVhNSwgIkRhdGEiLCBuaWwsIEpV
U1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFkTGVmdCA9PiAxMDUs
IDpwYWRSaWdodCA9PiA5OCkNCgkJRlhUZXh0RmllbGQubmV3KHZMaW5lYTUs
IDEwLCA6dGFyZ2V0ID0+IEBkYXRhRG9jdW1lbnRvLCA6c2VsZWN0b3IgPT4g
RlhEYXRhVGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gRlJBTUVfU1VOS0VO
fEZSQU1FX1RISUNLfExBWU9VVF9GSUxMX1JPVykNCg0KCQlncnVwcG8zID0g
RlhHcm91cEJveC5uZXcoYXJlYSwgIiIsIDp2U3BhY2luZyA9PiAwKQ0KCQl2
TGluZWE2MSA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8zLCA6b3B0
cyA9PiBMQVlPVVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAY29k
aWNlR3J1cHBvID0gRlhEYXRhVGFyZ2V0Lm5ldygiIikNCgkJRlhCdXR0b24u
bmV3KHZMaW5lYTYxLCAnPycsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9
PiA1KQ0KCQlGWExhYmVsLm5ldyh2TGluZWE2MSwgIkNvZGljZSBncnVwcG8i
LCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFkUmln
aHQgPT4gMTMyKQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVhNjEsIDMsIDp0
YXJnZXQgPT4gQGNvZGljZUdydXBwbywgOnNlbGVjdG9yID0+IEZYRGF0YVRh
cmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9U
SElDS3xMQVlPVVRfRklMTF9ST1cpDQoNCgkJdkxpbmVhNjIgPSBGWEhvcml6
b250YWxGcmFtZS5uZXcoZ3J1cHBvMywgOm9wdHMgPT4gTEFZT1VUX1NJREVf
VE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJQGNvZGljZUNvbnRvID0gRlhEYXRh
VGFyZ2V0Lm5ldygiIikNCgkJRlhMYWJlbC5uZXcodkxpbmVhNjIsICJDb2Rp
Y2UgY29udG8iLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9X
LCA6cGFkTGVmdCA9PiAyNSwgOnBhZFJpZ2h0ID0+IDEzOCkNCgkJRlhUZXh0
RmllbGQubmV3KHZMaW5lYTYyLCAzLCA6dGFyZ2V0ID0+IEBjb2RpY2VDb250
bywgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRz
ID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9ST1cp
DQoNCgkJdkxpbmVhNjMgPSBGWEhvcml6b250YWxGcmFtZS5uZXcoZ3J1cHBv
MywgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9QLCA6dlNwYWNpbmcgPT4gMCkN
CgkJQGNvZGljZVNvdHRvY29udG8gPSBGWERhdGFUYXJnZXQubmV3KCIiKQ0K
CQlGWExhYmVsLm5ldyh2TGluZWE2MywgIkNvZGljZSBzb3R0b2NvbnRvIiwg
bmlsLCBKVVNUSUZZX1JJR0hUfExBWU9VVF9GSUxMX1JPVywgOnBhZExlZnQg
PT4gMjUsIDpwYWRSaWdodCA9PiAxMTIpDQoJCUZYVGV4dEZpZWxkLm5ldyh2
TGluZWE2MywgNiwgOnRhcmdldCA9PiBAY29kaWNlU290dG9jb250bywgOnNl
bGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZS
QU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9ST1cpDQoJCUZY
VGV4dEZpZWxkLm5ldyh2TGluZWE2MywgNjAsIDp0YXJnZXQgPT4gQGRlbm9t
aW5hemlvbmVDb250bywgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURf
VkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlP
VVRfRklMTF9ST1d8VEVYVEZJRUxEX1JFQURPTkxZKQ0KDQoJCXZMaW5lYTcg
PSBGWEhvcml6b250YWxGcmFtZS5uZXcoZ3J1cHBvMywgOm9wdHMgPT4gTEFZ
T1VUX1NJREVfVE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJQHNpZ2xhVmFsdXRh
LCBAdmFsdXRhID0gRlhEYXRhVGFyZ2V0Lm5ldygiIikNCgkJRlhCdXR0b24u
bmV3KHZMaW5lYTcsICc/JywgOnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+
IDUpDQoJCUZYTGFiZWwubmV3KHZMaW5lYTcsICJTaWdsYSB2YWx1dGEiLCBu
aWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFkUmlnaHQg
PT4gMTQ0KQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVhNywgMywgOnRhcmdl
dCA9PiBAc2lnbGFWYWx1dGEsIDpzZWxlY3RvciA9PiBGWERhdGFUYXJnZXQ6
OklEX1ZBTFVFLCA6b3B0cyA9PiBGUkFNRV9TVU5LRU58RlJBTUVfVEhJQ0t8
TEFZT1VUX0ZJTExfUk9XKQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVhNywg
NTAsIDp0YXJnZXQgPT4gQHZhbHV0YSwgOnNlbGVjdG9yID0+IEZYRGF0YVRh
cmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9U
SElDS3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJRUxEX1JFQURPTkxZKQ0KDQoJ
CXZMaW5lYTggPSBGWEhvcml6b250YWxGcmFtZS5uZXcoZ3J1cHBvMywgOm9w
dHMgPT4gTEFZT1VUX1NJREVfVE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJQGNh
bWJpb05hemlvbmFsZSA9IEZYRGF0YVRhcmdldC5uZXcoIiIpDQoJCUZYTGFi
ZWwubmV3KHZMaW5lYTgsICJDYW1iaW86IHZhbHV0YSBuYXppb25hbGUiLCBu
aWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFkTGVmdCA9
PiAyNSwgOnBhZFJpZ2h0ID0+IDgwKQ0KCQlGWFRleHRGaWVsZC5uZXcodkxp
bmVhOCwgMTAsIDp0YXJnZXQgPT4gQGNhbWJpb05hemlvbmFsZSwgOnNlbGVj
dG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1F
X1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9ST1cpDQoNCgkJdkxp
bmVhOSA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8zLCA6b3B0cyA9
PiBMQVlPVVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAY2FtYmlv
RXN0ZXJvID0gRlhEYXRhVGFyZ2V0Lm5ldygiIikNCgkJRlhMYWJlbC5uZXco
dkxpbmVhOSwgIkNhbWJpbzogdmFsdXRhIGVzdGVyYSIsIG5pbCwgSlVTVElG
WV9SSUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRMZWZ0ID0+IDI1LCA6cGFk
UmlnaHQgPT4gOTQpDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWE5LCAxMCwg
OnRhcmdldCA9PiBAY2FtYmlvRXN0ZXJvLCA6c2VsZWN0b3IgPT4gRlhEYXRh
VGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gRlJBTUVfU1VOS0VOfEZSQU1F
X1RISUNLfExBWU9VVF9GSUxMX1JPVykNCgkJdkxpbmVhMTAgPSBGWEhvcml6
b250YWxGcmFtZS5uZXcoZ3J1cHBvMywgOm9wdHMgPT4gTEFZT1VUX1NJREVf
VE9QKQ0KCQlGWExhYmVsLm5ldyh2TGluZWExMCwgIkltcG9ydG8gZGVsIG1v
dmltZW50byBpbiB2YWx1dGEiLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VU
X0ZJTExfUk9XLCA6cGFkTGVmdCA9PiAyNSwgOnBhZFJpZ2h0ID0+IDM1KQ0K
DQoJCXZMaW5lYTExID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzMs
IDpvcHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJ
CUB2YWx1dGFEYXJlID0gRlhEYXRhVGFyZ2V0Lm5ldygiIikNCgkJRlhMYWJl
bC5uZXcodkxpbmVhMTEsICJEQVJFIiwgbmlsLCBKVVNUSUZZX1JJR0hUfExB
WU9VVF9GSUxMX1JPVywgOnBhZExlZnQgPT4gMTI1LCA6cGFkUmlnaHQgPT4g
NzYpDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWExMSwgMTUsIDp0YXJnZXQg
PT4gQHZhbHV0YURhcmUsIDpzZWxlY3RvciA9PiBGWERhdGFUYXJnZXQ6OklE
X1ZBTFVFLCA6b3B0cyA9PiBGUkFNRV9TVU5LRU58RlJBTUVfVEhJQ0t8TEFZ
T1VUX0ZJTExfUk9XKQ0KDQoJCXZMaW5lYTEyID0gRlhIb3Jpem9udGFsRnJh
bWUubmV3KGdydXBwbzMsIDpvcHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZT
cGFjaW5nID0+IDApDQoJCUB2YWx1dGFBdmVyZSA9IEZYRGF0YVRhcmdldC5u
ZXcoIiIpDQoJCUZYTGFiZWwubmV3KHZMaW5lYTEyLCAiQVZFUkUiLCBuaWws
IEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6cGFkTGVmdCA9PiAx
MjUsIDpwYWRSaWdodCA9PiA3MCkNCgkJRlhUZXh0RmllbGQubmV3KHZMaW5l
YTEyLCAxNSwgOnRhcmdldCA9PiBAdmFsdXRhQXZlcmUsIDpzZWxlY3RvciA9
PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBGUkFNRV9TVU5L
RU58RlJBTUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9XKQ0KDQoJCXZMaW5lYTEz
ID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzMsIDpvcHRzID0+IExB
WU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUZYTGFiZWwubmV3
KHZMaW5lYTEzLCAiSW1wb3J0byBkZWwgbW92aW1lbnRvIGluIHZhbHV0YSBu
YXppb25hbGUiLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9X
LCA6cGFkTGVmdCA9PiAyNSwgOnBhZFJpZ2h0ID0+IDM1KQ0KCQl2TGluZWEx
MyA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhhcmVhLCA6b3B0cyA9PiBMQVlP
VVRfU0lERV9UT1ApDQoJICAgDQoJCXZMaW5lYTE0ID0gRlhIb3Jpem9udGFs
RnJhbWUubmV3KGdydXBwbzMsIDpvcHRzID0+IExBWU9VVF9TSURFX1RPUCwg
OnZTcGFjaW5nID0+IDApDQoJCUB2YWxvcmVEYXJlID0gRlhEYXRhVGFyZ2V0
Lm5ldygiIikNCgkJRlhMYWJlbC5uZXcodkxpbmVhMTQsICJEQVJFIiwgbmls
LCBKVVNUSUZZX1JJR0hUfExBWU9VVF9GSUxMX1JPVywgOnBhZFJpZ2h0ID0+
IDUzLCA6cGFkTGVmdCA9PiAxMjUsIDpwYWRSaWdodCA9PiA3NikNCgkJRlhU
ZXh0RmllbGQubmV3KHZMaW5lYTE0LCAxNSwgOnRhcmdldCA9PiBAdmFsb3Jl
RGFyZSwgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpv
cHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRfRklMTF9S
T1cpDQoNCgkJdkxpbmVhMTUgPSBGWEhvcml6b250YWxGcmFtZS5uZXcoZ3J1
cHBvMywgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9QLCA6dlNwYWNpbmcgPT4g
MCkNCgkJQHZhbG9yZUF2ZXJlID0gRlhEYXRhVGFyZ2V0Lm5ldygiIikNCgkJ
RlhMYWJlbC5uZXcodkxpbmVhMTUsICJBVkVSRSIsIG5pbCwgSlVTVElGWV9S
SUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRSaWdodCA9PiA1MiwgOnBhZExl
ZnQgPT4gMTI1LCA6cGFkUmlnaHQgPT4gNzApDQoJCUZYVGV4dEZpZWxkLm5l
dyh2TGluZWExNSwgMTUsIDp0YXJnZXQgPT4gQHZhbG9yZUF2ZXJlLCA6c2Vs
ZWN0b3IgPT4gRlhEYXRhVGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gRlJB
TUVfU1VOS0VOfEZSQU1FX1RISUNLfExBWU9VVF9GSUxMX1JPVykNCg0KCQl2
TGluZWExNiA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8zLCA6b3B0
cyA9PiBMQVlPVVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAZGVz
Y3J6aW9uZSA9IEZYRGF0YVRhcmdldC5uZXcoIiIpDQoJCUZYTGFiZWwubmV3
KHZMaW5lYTE2LCAiRGVzY3JpemlvbmUgYWdnaXVudGl2YSIsIG5pbCwgSlVT
VElGWV9SSUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRMZWZ0ID0+IDI1LCA6
cGFkUmlnaHQgPT4gOTIpDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWExNiwg
NTAsIDp0YXJnZXQgPT4gQGRlc2NyaXppb25lLCA6c2VsZWN0b3IgPT4gRlhE
YXRhVGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gRlJBTUVfU1VOS0VOfEZS
QU1FX1RISUNLfExBWU9VVF9GSUxMX1JPVykNCg0KCQlncnVwcG80ID0gRlhH
cm91cEJveC5uZXcoYXJlYSwgIiIsIDp2U3BhY2luZyA9PiAwKQ0KCQl2Rm9u
ZG8gPSBGWEhvcml6b250YWxGcmFtZS5uZXcoZ3J1cHBvNCwgOm9wdHMgPT4g
TEFZT1VUX1NJREVfQk9UVE9NfFBBQ0tfVU5JRk9STV9XSURUSCkNCgkJRlhC
dXR0b24ubmV3KHZGb25kbywgJ0NhbmNlbGxhJywgOnBhZExlZnQgPT4gMjUs
IDpwYWRSaWdodCA9PiAyNSkNCgkJRlhCdXR0b24ubmV3KHZGb25kbywgJ0Fu
bnVsbGEnLCA6cGFkTGVmdCA9PiAyNSwgOnBhZFJpZ2h0ID0+IDI1KQ0KCQlG
WEJ1dHRvbi5uZXcodkZvbmRvLCAnUmVnaXN0cmEnLCA6cGFkTGVmdCA9PiAy
NSwgOnBhZFJpZ2h0ID0+IDI1KQ0KCQlGWEJ1dHRvbi5uZXcodkZvbmRvLCAn
RXNjaScsIDp0YXJnZXQgPT4gc2VsZiwgOnNlbGVjdG9yID0+IEZYRGlhbG9n
Qm94OjpJRF9DQU5DRUwsIDpwYWRMZWZ0ID0+IDI1LCA6cGFkUmlnaHQgPT4g
MjUpDQoJZW5kDQplbmQNCg0KY2xhc3MgRmluZXN0cmE4MDIgPCBGWERpYWxv
Z0JveA0KCSNkZWYgaW5pdGlhbGl6ZShhcHApDQoJZGVmIGluaXRpYWxpemUo
YXBwKQ0KCQkjIEluaXRpYWxpemUgYmFzZSBjbGFzcw0KCQlzdXBlcihhcHAs
ICJQUk9HUkFNTUEgUElSQU1JREUiLCA6b3B0cyA9PiBERUNPUl9BTEwsIDp4
ID0+IDIwLCA6eSA9PiAyMCwgOndpZHRoID0+IDYwMCwgOmhlaWdodCA9PiA0
MDApDQoJCSMgTWVudWJhcg0KCQltZW51YmFyID0gRlhNZW51QmFyLm5ldyhz
ZWxmLCBMQVlPVVRfU0lERV9UT1B8TEFZT1VUX0ZJTExfWCkNCgkJIyBGaWxl
IG1lbnUNCgkJZmlsZW1lbnUgPSBGWE1lbnVQYW5lLm5ldyhzZWxmKQ0KCQlh
cmNoaXZpdGFiZWxsZW1lbnUgPSBGWE1lbnVQYW5lLm5ldyhzZWxmKQ0KCQlG
WE1lbnVDb21tYW5kLm5ldyhhcmNoaXZpdGFiZWxsZW1lbnUsICJJbnRlcnJv
Z2F6aW9uZS9TdGFtcGEgQ29udG8gZGkgTWFzdHJvIikNCgkJRlhNZW51U2Vw
YXJhdG9yLm5ldyhhcmNoaXZpdGFiZWxsZW1lbnUpDQoJCUZYTWVudUNvbW1h
bmQubmV3KGFyY2hpdml0YWJlbGxlbWVudSwgIkludGVycm9nYXppb25lL1N0
YW1wYSBFc3RyYXR0byBDb250byBDbGllbnRpL0Zvcm5pdG9yaSIpDQoJCUZY
TWVudUNvbW1hbmQubmV3KGFyY2hpdml0YWJlbGxlbWVudSwgIkludGVycm9n
YXppb25lL1N0YW1wYSBTY2FkZW56aWFyaW8iKQ0KCQlGWE1lbnVTZXBhcmF0
b3IubmV3KGFyY2hpdml0YWJlbGxlbWVudSkNCgkJRlhNZW51Q29tbWFuZC5u
ZXcoYXJjaGl2aXRhYmVsbGVtZW51LCAiSW50ZXJyb2dhemlvbmUvU3RhbXBh
IFByaW1hIE5vdGEiKQ0KCQlGWE1lbnVDb21tYW5kLm5ldyhhcmNoaXZpdGFi
ZWxsZW1lbnUsICJJbnRlcnJvZ2F6aW9uZS9TdGFtcGEgTGlicm8gR2lvcm5h
bGUiKQ0KCQlGWE1lbnVTZXBhcmF0b3IubmV3KGFyY2hpdml0YWJlbGxlbWVu
dSkNCgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2aXRhYmVsbGVtZW51LCAi
SW50ZXJyb2dhemlvbmUvU3RhbXBhIExpYnJpIEl2YSIpDQoJCUZYTWVudUNv
bW1hbmQubmV3KGFyY2hpdml0YWJlbGxlbWVudSwgIkludGVycm9nYXppb25l
L1N0YW1wYSBQcm9ncmVzc2l2aSBJdmEiKQ0KCQlGWE1lbnVUaXRsZS5uZXco
bWVudWJhciwgIkludGVycm9nYXppb25pIGUgU3RhbXBlIiwgOnBvcHVwTWVu
dSA9PiBhcmNoaXZpdGFiZWxsZW1lbnUpDQoJCUZYSG9yaXpvbnRhbFNlcGFy
YXRvci5uZXcoc2VsZiwgTEFZT1VUX1NJREVfVE9QfFNFUEFSQVRPUl9HUk9P
VkV8TEFZT1VUX0ZJTExfWCkNCgllbmQNCmVuZA0KDQpjbGFzcyBGaW5lc3Ry
YTgwMyA8IEZYRGlhbG9nQm94DQoJI2RlZiBpbml0aWFsaXplKGFwcCkNCglk
ZWYgaW5pdGlhbGl6ZShhcHApDQoJCSMgSW5pdGlhbGl6ZSBiYXNlIGNsYXNz
DQoJCXN1cGVyKGFwcCwgIlBST0dSQU1NQSBQSVJBTUlERSIsIDpvcHRzID0+
IERFQ09SX0FMTCwgOnggPT4gMjAsIDp5ID0+IDIwLCA6d2lkdGggPT4gNjAw
LCA6aGVpZ2h0ID0+IDQwMCkNCgkJIyBNZW51YmFyDQoJCW1lbnViYXIgPSBG
WE1lbnVCYXIubmV3KHNlbGYsIExBWU9VVF9TSURFX1RPUHxMQVlPVVRfRklM
TF9YKQ0KCQkjIEZpbGUgbWVudQ0KCQlmaWxlbWVudSA9IEZYTWVudVBhbmUu
bmV3KHNlbGYpDQoJCWFyY2hpdml0YWJlbGxlbWVudSA9IEZYTWVudVBhbmUu
bmV3KHNlbGYpDQoJCUZYTWVudUNvbW1hbmQubmV3KGFyY2hpdml0YWJlbGxl
bWVudSwgIkludGVycm9nYXppb25lL1N0YW1wYSBCaWxhbmNpbyBkaSBWZXJp
ZmljYSIpDQoJCUZYTWVudUNvbW1hbmQubmV3KGFyY2hpdml0YWJlbGxlbWVu
dSwgIkludGVycm9nYXppb25lL1N0YW1wYSBCaWxhbmNpbyBkaSBFc2VyY2l6
aW8iKQ0KCQlGWE1lbnVTZXBhcmF0b3IubmV3KGFyY2hpdml0YWJlbGxlbWVu
dSkNCgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2aXRhYmVsbGVtZW51LCAi
SW50ZXJyb2dhemlvbmUvU3RhbXBhIEJpbGFuY2lvIGRpIFZlcmlmaWNhIGRl
bCBDb250cm9sbG8gZGkgR2VzdGlvbmUiKQ0KCQlGWE1lbnVDb21tYW5kLm5l
dyhhcmNoaXZpdGFiZWxsZW1lbnUsICJJbnRlcnJvZ2F6aW9uZS9TdGFtcGEg
QmlsYW5jaW8gZGkgRXNlcmNpemlvIGRlbCBjb250cm9sbG8gZGkgR2VzdGlv
bmUiKQ0KCQlGWE1lbnVUaXRsZS5uZXcobWVudWJhciwgIkJpbGFuY2kgZGkg
RXNlcmNpemlvIiwgOnBvcHVwTWVudSA9PiBhcmNoaXZpdGFiZWxsZW1lbnUp
DQoJCUZYSG9yaXpvbnRhbFNlcGFyYXRvci5uZXcoc2VsZiwgTEFZT1VUX1NJ
REVfVE9QfFNFUEFSQVRPUl9HUk9PVkV8TEFZT1VUX0ZJTExfWCkNCgllbmQN
CmVuZA0KDQpjbGFzcyBGaW5lc3RyYTgwNCA8IEZYRGlhbG9nQm94DQoJI2Rl
ZiBpbml0aWFsaXplKGFwcCkNCglkZWYgaW5pdGlhbGl6ZShhcHApDQoJCSMg
SW5pdGlhbGl6ZSBiYXNlIGNsYXNzDQoJCXN1cGVyKGFwcCwgIlBST0dSQU1N
QSBQSVJBTUlERSIsIDpvcHRzID0+IERFQ09SX0FMTCwgOnggPT4gMjAsIDp5
ID0+IDIwLCA6d2lkdGggPT4gNjAwLCA6aGVpZ2h0ID0+IDQwMCkNCgkJIyBN
ZW51YmFyDQoJCW1lbnViYXIgPSBGWE1lbnVCYXIubmV3KHNlbGYsIExBWU9V
VF9TSURFX1RPUHxMQVlPVVRfRklMTF9YKQ0KCQkjIEZpbGUgbWVudQ0KCQlm
aWxlbWVudSA9IEZYTWVudVBhbmUubmV3KHNlbGYpDQoJCWFyY2hpdml0YWJl
bGxlbWVudSA9IEZYTWVudVBhbmUubmV3KHNlbGYpDQoJCUZYTWVudUNvbW1h
bmQubmV3KGFyY2hpdml0YWJlbGxlbWVudSwgIkdlc3Rpb25lIGRlbCBQb3J0
YWZvZ2xpbyBFZmZldHRpIikNCgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2
aXRhYmVsbGVtZW51LCAiR2VzdGlvbmUgZGVpIEZpbmFuemlhbWVudGkiKQ0K
CQlGWE1lbnVDb21tYW5kLm5ldyhhcmNoaXZpdGFiZWxsZW1lbnUsICJHZXN0
aW9uZSBkZWxsZSBGaWRlaXVzc2lvbmkiKQ0KCQlGWE1lbnVTZXBhcmF0b3Iu
bmV3KGFyY2hpdml0YWJlbGxlbWVudSkNCgkJRlhNZW51Q29tbWFuZC5uZXco
YXJjaGl2aXRhYmVsbGVtZW51LCAiR2VzdGlvbmUgQ29tdW5pY2F6aW9uaSBJ
bnN0cmFzdGF0IikNCgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2aXRhYmVs
bGVtZW51LCAiR2VzdGlvbmUgUml0ZW51dGUgRmlzY2FsaSIpDQoJCUZYTWVu
dUNvbW1hbmQubmV3KGFyY2hpdml0YWJlbGxlbWVudSwgIkdlc3Rpb25lIFJh
dGVpIGUgUmlzY29udGkiKQ0KCQlGWE1lbnVUaXRsZS5uZXcobWVudWJhciwg
IlNlcnZpemkgRmluYW56aWFyaSBlZCBBbW1pbmlzdHJhdGl2aSIsIDpwb3B1
cE1lbnUgPT4gYXJjaGl2aXRhYmVsbGVtZW51KQ0KCQlGWEhvcml6b250YWxT
ZXBhcmF0b3IubmV3KHNlbGYsIExBWU9VVF9TSURFX1RPUHxTRVBBUkFUT1Jf
R1JPT1ZFfExBWU9VVF9GSUxMX1gpDQoJZW5kDQplbmQNCg0KY2xhc3MgRmlu
ZXN0cmE4MDUgPCBGWERpYWxvZ0JveA0KCSNkZWYgaW5pdGlhbGl6ZShhcHAp
DQoJZGVmIGluaXRpYWxpemUoYXBwKQ0KCQkjIEluaXRpYWxpemUgYmFzZSBj
bGFzcw0KCQlzdXBlcihhcHAsICJQUk9HUkFNTUEgUElSQU1JREUiLCA6b3B0
cyA9PiBERUNPUl9BTEwsIDp4ID0+IDIwLCA6eSA9PiAyMCwgOndpZHRoID0+
IDYwMCwgOmhlaWdodCA9PiA0MDApDQoJCSMgTWVudWJhcg0KCQltZW51YmFy
ID0gRlhNZW51QmFyLm5ldyhzZWxmLCBMQVlPVVRfU0lERV9UT1B8TEFZT1VU
X0ZJTExfWCkNCgkJIyBGaWxlIG1lbnUNCgkJZmlsZW1lbnUgPSBGWE1lbnVQ
YW5lLm5ldyhzZWxmKQ0KCQlhcmNoaXZpdGFiZWxsZW1lbnUgPSBGWE1lbnVQ
YW5lLm5ldyhzZWxmKQ0KCQlGWE1lbnVDb21tYW5kLm5ldyhhcmNoaXZpdGFi
ZWxsZW1lbnUsICJJbnNlcmltZW50byBNYW51YWxlIGRlaSBNb3ZpbWVudGkg
ZGkgQXBlcnR1cmEvQ2hpdXN1cmEiKQ0KCQlGWE1lbnVDb21tYW5kLm5ldyhh
cmNoaXZpdGFiZWxsZW1lbnUsICJTY3JpdHR1cmUgZGkgUmV0dGlmaWNhIikN
CgkJRlhNZW51Q29tbWFuZC5uZXcoYXJjaGl2aXRhYmVsbGVtZW51LCAiR2Vu
ZXJhemlvbmUgQXV0b21hdGljYSBkZWxsYSBDaGl1c3VyYS9BcGVydHVyYSBk
aSBFc2VyY2l6aW8iKQ0KCQlGWE1lbnVDb21tYW5kLm5ldyhhcmNoaXZpdGFi
ZWxsZW1lbnUsICJDYW5jZWxsYXppb25lIE1vdmltZW50aSBFc2VyY2l6aSBQ
cmVjZWRlbnRpIikNCgkJRlhNZW51VGl0bGUubmV3KG1lbnViYXIsICJPcGVy
YXppb25pIGRpIENoaXVzdXJhL0FwZXJ0dXJhIGRlZ2xpIEVzZXJjaXppIiwg
OnBvcHVwTWVudSA9PiBhcmNoaXZpdGFiZWxsZW1lbnUpDQoJCUZYSG9yaXpv
bnRhbFNlcGFyYXRvci5uZXcoc2VsZiwgTEFZT1VUX1NJREVfVE9QfFNFUEFS
QVRPUl9HUk9PVkV8TEFZT1VUX0ZJTExfWCkNCgllbmQNCmVuZA0KDQpjbGFz
cyBGaW5lc3RyYTAwMDAxIDwgRlhEaWFsb2dCb3gNCiNmaW5lc3RyYSBwcm90
b3RpcG8gcGVyIGwnYWNxdWlzaXppb25lIGRlaSBkYXRpDQoJZGVmIGluaXRp
YWxpemUoYXBwKQ0KCQkjIEluaXRpYWxpemUgYmFzZSBjbGFzcw0KCQlAY29u
dGF0b3JlID0gMA0KCQlAcmlnYSA9IG5pbA0KI2NhcmljYSBpbiBtZW1vcmlh
IHR1dHRvIGlsIHBpYW5vIGRlaSBjb250aQ0KCQkjY2FyaWNhX2RhdGkNCiNk
aXNlZ25hIGxhIGZpbmVzdHJhICAgIA0KCQlzdXBlcihhcHAsICJQUk9HUkFN
TUEgUElSQU1JREUiLCA6b3B0cyA9PiBERUNPUl9BTEwsIDp4ID0+IDIwLCA6
eSA9PiAyMCwgOndpZHRoID0+IDgwMCwgOmhlaWdodCA9PiA0MDApDQoNCgkJ
I3NlbGYuYmFja0NvbG9yID0gIkZGLkZGLkZGIg0KCQlhcmVhID0gRlhQYWNr
ZXIubmV3KHNlbGYsIDpvcHRzID0+IExBWU9VVF9GSUxMLCA6dlNwYWNpbmcg
PT4gMzAsIDpoU3BhY2luZyA9PiA1MCkNCg0KCQlncnVwcG8xID0gRlhHcm91
cEJveC5uZXcoYXJlYSwgIiIsIDp2U3BhY2luZyA9PiAwKQ0KCQkNCgkJdlRl
c3RhMCA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8xLCA6b3B0cyA9
PiBMQVlPVVRfU0lERV9UT1B8UEFDS19VTklGT1JNX1dJRFRILCA6cGFkQm90
dG9tID0+IDEwKQ0KCQlGWExhYmVsLm5ldyh2VGVzdGEwLCAiRklORVNUUkEg
UFJPVE9USVBPIiwgbmlsLCBKVVNUSUZZX0NFTlRFUl9YfExBWU9VVF9GSUxM
X1JPVywgOnBhZFJpZ2h0ID0+IDEyOCkNCg0KCQl2VGVzdGExID0gRlhIb3Jp
em9udGFsRnJhbWUubmV3KGdydXBwbzEsIDpvcHRzID0+IExBWU9VVF9TSURF
X1RPUHxQQUNLX1VOSUZPUk1fV0lEVEgpDQoJCUZYQnV0dG9uLm5ldyh2VGVz
dGExLCAnUHJpbW8gcmVjb3JkJywgOnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0
ID0+IDUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpICN7cHJpbW9fcmVjb3JkIH0N
CgkJRlhCdXR0b24ubmV3KHZUZXN0YTEsICdSZWNvcmQgcHJlY2VkZW50ZScs
IDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1KS5jb25uZWN0KFNFTF9D
T01NQU5EKSAje3ByZWNlZGVudGVfcmVjb3JkfQ0KCQlGWEJ1dHRvbi5uZXco
dlRlc3RhMSwgJ1JlY29yZCBzdWNjZXNzaXZvJywgOnBhZExlZnQgPT4gNSwg
OnBhZFJpZ2h0ID0+IDUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpICN7c3VjY2Vz
c2l2b19yZWNvcmR9DQoJCUZYQnV0dG9uLm5ldyh2VGVzdGExLCAnVWx0aW1v
IHJlY29yZCcsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1KS5jb25u
ZWN0KFNFTF9DT01NQU5EKSAje3VsdGltb19yZWNvcmR9DQoJCUZYQnV0dG9u
Lm5ldyh2VGVzdGExLCAnTnVvdm8gcmVjb3JkJywgOnBhZExlZnQgPT4gNSwg
OnBhZFJpZ2h0ID0+IDUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpICN7bnVvdm9f
cmVjb3JkfQ0KPWJlZ2luDQoJCWdydXBwbzIgPSBGWEdyb3VwQm94Lm5ldyhh
cmVhLCAiIiwgOnZTcGFjaW5nID0+IDApDQoJCXZMaW5lYTEgPSBGWEhvcml6
b250YWxGcmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJREVf
VE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJQGNvZGljZVRpcG9Db250byA9IEZY
RGF0YVRhcmdldC5uZXcoMCkNCgkJRlhCdXR0b24ubmV3KHZMaW5lYTEsICc/
JywgOnBhZExlZnQgPT4gNSwgOnBhZFJpZ2h0ID0+IDUsIDpwYWRUb3AgPT4w
LCA6cGFkQm90dG9tID0+IDApLmNvbm5lY3QoU0VMX0NPTU1BTkQpIHsNCgkJ
CSR2YXIgPSBbXQ0KCQkJcmljZXJjYSA9IEZpbmVzdHJhOTAwMDEubmV3KHNl
bGYpDQoJCQlyaWNlcmNhLmV4ZWN1dGUoUExBQ0VNRU5UX0NVUlNPUikNCgkJ
CUBjb2RpY2VUaXBvQ29udG8udmFsdWUgPSAkdmFyWzBdDQoJCQlAZGVzY3Jp
emlvbmVUaXBvQ29udG8udmFsdWUgPSAkdmFyWzFdDQoJCQkkdmFyID0gW10N
CgkJCX0NCgkJRlhMYWJlbC5uZXcodkxpbmVhMSwgIkNvZGljZSB0aXBvIGNv
bnRvIiwgbmlsLCBKVVNUSUZZX1JJR0hUfExBWU9VVF9GSUxMX1JPVywgOnBh
ZFJpZ2h0ID0+IDEyOCkNCgkJRlhUZXh0RmllbGQubmV3KHZMaW5lYTEsIDEs
IDp0YXJnZXQgPT4gQGNvZGljZVRpcG9Db250bywgOnNlbGVjdG9yID0+IEZY
RGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxG
UkFNRV9USElDS3xMQVlPVVRfRklMTF9ST1d8VEVYVEZJRUxEX0xJTUlURUR8
VEVYVEZJRUxEX0lOVEVHRVIpDQoJCUBkZXNjcml6aW9uZVRpcG9Db250byA9
IEZYRGF0YVRhcmdldC5uZXcoIiIpDQoJCUZYVGV4dEZpZWxkLm5ldyh2TGlu
ZWExLCAzMCwgOnRhcmdldCA9PiBAZGVzY3JpemlvbmVUaXBvQ29udG8sIDpz
ZWxlY3RvciA9PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBU
RVhURklFTERfUkVBRE9OTFl8VEVYVEZJRUxEX09WRVJTVFJJS0UpDQoNCgkJ
dkxpbmVhMiA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8yLCA6b3B0
cyA9PiBMQVlPVVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlAY29k
aWNlR3J1cHBvID0gRlhEYXRhVGFyZ2V0Lm5ldygwKQ0KCQlGWEJ1dHRvbi5u
ZXcodkxpbmVhMiwgJz8nLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4g
NSwgOnBhZFRvcCA9PjAsIDpwYWRCb3R0b20gPT4gMCkuY29ubmVjdChTRUxf
Q09NTUFORCkgew0KCQkJJHZhciA9IFtdDQoJCQlyaWNlcmNhID0gRmluZXN0
cmE5MDAwMy5uZXcoc2VsZikNCgkJCXJpY2VyY2EuZXhlY3V0ZShQTEFDRU1F
TlRfQ1VSU09SKQ0KCQkJQGNvZGljZUdydXBwby52YWx1ZSA9ICR2YXJbMF0N
CgkJCUBkZXNjcml6aW9uZUdydXBwby52YWx1ZSA9ICR2YXJbMV0NCgkJCSR2
YXIgPSBbXQ0KCQkJdmFpX2FfcmVjb3JkDQoJCQl9DQoJCUZYTGFiZWwubmV3
KHZMaW5lYTIsICJDb2RpY2UgZ3J1cHBvIiwgbmlsLCBKVVNUSUZZX1JJR0hU
fExBWU9VVF9GSUxMX1JPVywgOnBhZFJpZ2h0ID0+IDEzMCkNCgkJZ3J1cHBv
ID0gRlhUZXh0RmllbGQubmV3KHZMaW5lYTIsIDMsIDp0YXJnZXQgPT4gQGNv
ZGljZUdydXBwbywgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFM
VUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRf
RklMTF9ST1d8VEVYVEZJRUxEX0xJTUlURUR8VEVYVEZJRUxEX0lOVEVHRVJ8
SlVTVElGWV9SSUdIVCkNCgkJQGRlc2NyaXppb25lR3J1cHBvID0gRlhEYXRh
VGFyZ2V0Lm5ldygiIikNCgkJRlhUZXh0RmllbGQubmV3KHZMaW5lYTIsIDMw
LCA6dGFyZ2V0ID0+IEBkZXNjcml6aW9uZUdydXBwbywgOnNlbGVjdG9yID0+
IEZYRGF0YVRhcmdldDo6SURfVkFMVUUsIDpvcHRzID0+IFRFWFRGSUVMRF9S
RUFET05MWXxURVhURklFTERfT1ZFUlNUUklLRSkNCg0KCQl2TGluZWEzID0g
RlhIb3Jpem9udGFsRnJhbWUubmV3KGdydXBwbzIsIDpvcHRzID0+IExBWU9V
VF9TSURFX1RPUCwgOnZTcGFjaW5nID0+IDApDQoJCUBjb2RpY2VDb250byA9
IEZYRGF0YVRhcmdldC5uZXcoMCkNCgkJQGRlc2NyaXppb25lQ29udG8gPSBG
WERhdGFUYXJnZXQubmV3KCIiKQ0KCQlGWEJ1dHRvbi5uZXcodkxpbmVhMywg
Jz8nLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSwgOnBhZFRvcCA9
PjAsIDpwYWRCb3R0b20gPT4gMCkuY29ubmVjdChTRUxfQ09NTUFORCkgew0K
CQkJJHZhciA9IFtdDQoJCQkkdmFyID0gQGNvZGljZUdydXBwbw0KCQkJcmlj
ZXJjYSA9IEZpbmVzdHJhOTAwMDQubmV3KHNlbGYpDQoJCQlyaWNlcmNhLmV4
ZWN1dGUoUExBQ0VNRU5UX0NVUlNPUikNCgkJCUBjb2RpY2VDb250by52YWx1
ZSA9ICR2YXJbMF0NCgkJCUBkZXNjcml6aW9uZUNvbnRvLnZhbHVlID0gJHZh
clsxXQ0KCQkJJHZhciA9IFtdDQoJCQl2YWlfYV9yZWNvcmQNCgkJCX0NCgkJ
RlhMYWJlbC5uZXcodkxpbmVhMywgIkNvZGljZSBjb250byIsIG5pbCwgSlVT
VElGWV9SSUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRSaWdodCA9PiAxMzgp
DQoJCUZYVGV4dEZpZWxkLm5ldyh2TGluZWEzLCAzLCA6dGFyZ2V0ID0+IEBj
b2RpY2VDb250bywgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFM
VUUsIDpvcHRzID0+IEZSQU1FX1NVTktFTnxGUkFNRV9USElDS3xMQVlPVVRf
RklMTF9ST1d8VEVYVEZJRUxEX0xJTUlURUR8VEVYVEZJRUxEX0lOVEVHRVJ8
SlVTVElGWV9SSUdIVCkNCgkJRlhUZXh0RmllbGQubmV3KHZMaW5lYTMsIDMw
LCA6dGFyZ2V0ID0+IEBkZXNjcml6aW9uZUNvbnRvLCA6c2VsZWN0b3IgPT4g
RlhEYXRhVGFyZ2V0OjpJRF9WQUxVRSwgOm9wdHMgPT4gVEVYVEZJRUxEX1JF
QURPTkxZfFRFWFRGSUVMRF9PVkVSU1RSSUtFKQ0KDQoJCXZMaW5lYTQgPSBG
WEhvcml6b250YWxGcmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VU
X1NJREVfVE9QLCA6dlNwYWNpbmcgPT4gMCkNCgkJQGNvZGljZVNvdHRvY29u
dG8gPSBGWERhdGFUYXJnZXQubmV3KDApDQoJCUZYQnV0dG9uLm5ldyh2TGlu
ZWE0LCAnPycsIDpwYWRMZWZ0ID0+IDUsIDpwYWRSaWdodCA9PiA1LCA6cGFk
VG9wID0+MCwgOnBhZEJvdHRvbSA9PiAwKS5jb25uZWN0KFNFTF9DT01NQU5E
KSB7DQoJCQkkdmFyID0gW10NCgkJCSR2YXJbMF0gPSBAY29kaWNlR3J1cHBv
DQoJCQkkdmFyWzFdID0gQGNvZGljZUNvbnRvDQoJCQlyaWNlcmNhID0gRmlu
ZXN0cmE5MDAwNS5uZXcoc2VsZikNCgkJCXJpY2VyY2EuZXhlY3V0ZShQTEFD
RU1FTlRfQ1VSU09SKQ0KCQkJQGNvZGljZVNvdHRvY29udG8udmFsdWUgICAg
ICA9ICR2YXJbMF0NCgkJCUBkZW5vbWluYXppb25lQ29udG8udmFsdWUgICA9
ICR2YXJbMV0NCgkJCUBjb2RpY2VOYXR1cmFDb250by52YWx1ZSAgICAgPSAk
dmFyWzJdDQoJCQlAaW5kaWNlLnZhbHVlICAgICAgICAgICAgICAgICAgICAg
ICA9ICR2YXJbM10NCgkJCSR2YXIgPSBbXQ0KCQkJdmFpX2FfcmVjb3JkDQoJ
CQl9DQoJCUZYTGFiZWwubmV3KHZMaW5lYTQsICJDb2RpY2Ugc290dG9jb250
byIsIG5pbCwgSlVTVElGWV9SSUdIVHxMQVlPVVRfRklMTF9ST1csIDpwYWRS
aWdodCA9PiA5NSkNCgkJRlhUZXh0RmllbGQubmV3KHZMaW5lYTQsIDYsIDp0
YXJnZXQgPT4gQGNvZGljZVNvdHRvY29udG8sIDpzZWxlY3RvciA9PiBGWERh
dGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBGUkFNRV9TVU5LRU58RlJB
TUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRFWFRGSUVMRF9MSU1JVEVEfFRF
WFRGSUVMRF9JTlRFR0VSfEpVU1RJRllfUklHSFQpDQoNCgkJdkxpbmVhNSA9
IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG8yLCA6b3B0cyA9PiBMQVlP
VVRfU0lERV9UT1AsIDp2U3BhY2luZyA9PiAwKQ0KCQlGWEJ1dHRvbi5uZXco
dkxpbmVhNSwgJz8nLCA6cGFkTGVmdCA9PiA1LCA6cGFkUmlnaHQgPT4gNSwg
OnBhZFRvcCA9PjAsIDpwYWRCb3R0b20gPT4gMCkuY29ubmVjdChTRUxfQ09N
TUFORCkgew0KCQkJJHZhciA9IFtdDQoJCQlpZiAkdmFyWzBdICE9IG5pbA0K
CQkJCSR2YXJbMF0gPSBAZGVub21pbmF6aW9uZUNvbnRvLnZhbHVlLmdzdWIo
L1xXLywgJycpLnVwY2FzZQ0KCQkJCXJpY2VyY2EgPSBGaW5lc3RyYTkwMDA2
Lm5ldyhzZWxmKQ0KCQkJCXJpY2VyY2EuZXhlY3V0ZShQTEFDRU1FTlRfQ1VS
U09SKQ0KCQkJCUBpbmRpY2UudmFsdWUgPSAkdmFyWzBdDQoJCQkJJHZhciA9
IFtdDQoJCQkJaWYgQGluZGljZS52YWx1ZSAhPSBuaWwNCgkJCQkJaWYgQGlu
ZGljZS52YWx1ZSA+ICIwIg0KCQkJCQkJQGNvbnRhdG9yZSA9IDANCgkJCQkJ
CUByaWdhID0gQHNjZWx0YS5kYXRhX3NlZWsoQGNvbnRhdG9yZSkNCgkJCQkJ
CUByaWdhID0gQHNjZWx0YS5mZXRjaF9yb3cNCg0KCQkJCQkJdW50aWwgQGlu
ZGljZS52YWx1ZSA9PSBAcmlnYVs3XQ0KCQkJCQkJCUByaWdhID0gQHNjZWx0
YS5kYXRhX3NlZWsoQGNvbnRhdG9yZSkNCgkJCQkJCQlAcmlnYSA9IEBzY2Vs
dGEuZmV0Y2hfcm93DQoJCQkJCQkJQGNvbnRhdG9yZSA9IEBjb250YXRvcmUg
KyAxDQoJCQkJCQllbmQNCgkJCQkJCUBjb250YXRvcmUgPSBAY29udGF0b3Jl
IC0gMQ0KCQkJCQkJYXNzZWduYV92YXJpYWJpbGkNCgkJCQkJZW5kDQoJCQkJ
ZW5kDQoJCQllbmQNCgkJCX0NCgkJRlhMYWJlbC5uZXcodkxpbmVhNSwgIkRl
bm9taW5hemlvbmUgY29udG8iLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VU
X0ZJTExfUk9XLCA6cGFkUmlnaHQgPT4gMTIyKQ0KCQlAZGVub21pbmF6aW9u
ZUNvbnRvID0gRlhEYXRhVGFyZ2V0Lm5ldygiIikNCgkJRlhUZXh0RmllbGQu
bmV3KHZMaW5lYTUsIDMwLCA6dGFyZ2V0ID0+IEBkZW5vbWluYXppb25lQ29u
dG8sIDpzZWxlY3RvciA9PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0
cyA9PiBGUkFNRV9TVU5LRU58RlJBTUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9X
fFRFWFRGSUVMRF9MSU1JVEVEKQ0KDQoJCXZMaW5lYTYgPSBGWEhvcml6b250
YWxGcmFtZS5uZXcoZ3J1cHBvMiwgOm9wdHMgPT4gTEFZT1VUX1NJREVfVE9Q
LCA6dlNwYWNpbmcgPT4gMCkNCgkJRlhMYWJlbC5uZXcodkxpbmVhNiwgIkNv
c3RhbnRlIGRlbCBjb250byIsIG5pbCwgSlVTVElGWV9SSUdIVHxMQVlPVVRf
RklMTF9ST1csIDpwYWRMZWZ0ID0+IDI1LCA6cGFkUmlnaHQgPT4gMTIwKQ0K
CQlAY29zdGFudGVDb250byA9IEZYRGF0YVRhcmdldC5uZXcoIkEiKQ0KCQlG
WFRleHRGaWVsZC5uZXcodkxpbmVhNiwgMSwgOnRhcmdldCA9PiBAY29zdGFu
dGVDb250bywgOnNlbGVjdG9yID0+IEZYRGF0YVRhcmdldDo6SURfVkFMVUUs
IDpvcHRzID0+IFRFWFRGSUVMRF9SRUFET05MWXxURVhURklFTERfT1ZFUlNU
UklLRSkNCg0KCQl2TGluZWE3ID0gRlhIb3Jpem9udGFsRnJhbWUubmV3KGdy
dXBwbzIsIDpvcHRzID0+IExBWU9VVF9TSURFX1RPUCwgOnZTcGFjaW5nID0+
IDApDQoJCUBjb2RpY2VOYXR1cmFDb250byA9IEZYRGF0YVRhcmdldC5uZXco
MCkNCgkJQGRlc2NyaXppb25lTmF0dXJhQ29udG8gPSBGWERhdGFUYXJnZXQu
bmV3KCIiKQ0KCQlGWEJ1dHRvbi5uZXcodkxpbmVhNywgJz8nLCA6cGFkTGVm
dCA9PiA1LCA6cGFkUmlnaHQgPT4gNSwgOnBhZFRvcCA9PjAsIDpwYWRCb3R0
b20gPT4gMCkuY29ubmVjdChTRUxfQ09NTUFORCkgew0KCQkJJHZhciA9IFtd
DQoJCQlyaWNlcmNhID0gRmluZXN0cmE5MDAwMi5uZXcoc2VsZikNCgkJCXJp
Y2VyY2EuZXhlY3V0ZShQTEFDRU1FTlRfQ1VSU09SKQ0KCQkJQGNvZGljZU5h
dHVyYUNvbnRvLnZhbHVlICAgICAgID0gJHZhclswXQ0KCQkJQGRlc2NyaXpp
b25lTmF0dXJhQ29udG8udmFsdWUgPSAkdmFyWzFdDQoJCQkkdmFyID0gW10N
CgkJCX0NCgkJRlhMYWJlbC5uZXcodkxpbmVhNywgIkNvZGljZSBuYXR1cmEg
Y29udG8iLCBuaWwsIEpVU1RJRllfUklHSFR8TEFZT1VUX0ZJTExfUk9XLCA6
cGFkUmlnaHQgPT4gMTE1KQ0KCQlGWFRleHRGaWVsZC5uZXcodkxpbmVhNywg
MSwgOnRhcmdldCA9PiBAY29kaWNlTmF0dXJhQ29udG8sIDpzZWxlY3RvciA9
PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9PiBGUkFNRV9TVU5L
RU58RlJBTUVfVEhJQ0t8TEFZT1VUX0ZJTExfUk9XfFRFWFRGSUVMRF9MSU1J
VEVEfFRFWFRGSUVMRF9JTlRFR0VSKQ0KCQlGWFRleHRGaWVsZC5uZXcodkxp
bmVhNywgMzAsIDp0YXJnZXQgPT4gQGRlc2NyaXppb25lTmF0dXJhQ29udG8s
IDpzZWxlY3RvciA9PiBGWERhdGFUYXJnZXQ6OklEX1ZBTFVFLCA6b3B0cyA9
PiBURVhURklFTERfUkVBRE9OTFl8VEVYVEZJRUxEX09WRVJTVFJJS0UpDQoN
CgkJQGluZGljZSA9IEZYRGF0YVRhcmdldC5uZXcoIiIpDQo9ZW5kDQoJCWdy
dXBwbzQgPSBGWEdyb3VwQm94Lm5ldyhhcmVhLCAiIiwgOnZTcGFjaW5nID0+
IDApDQoJCXZGb25kbyA9IEZYSG9yaXpvbnRhbEZyYW1lLm5ldyhncnVwcG80
LCA6b3B0cyA9PiBMQVlPVVRfU0lERV9CT1RUT018UEFDS19VTklGT1JNX1dJ
RFRIKQ0KCQlGWEJ1dHRvbi5uZXcodkZvbmRvLCAnQ2FuY2VsbGEnLCA6cGFk
TGVmdCA9PiAyNSwgOnBhZFJpZ2h0ID0+IDI1KS5jb25uZWN0KFNFTF9DT01N
QU5EKSAje2NhbmNlbGxhX3JlY29yZH0NCgkJRlhCdXR0b24ubmV3KHZGb25k
bywgJ0FubnVsbGEnLCA6cGFkTGVmdCA9PiAyNSwgOnBhZFJpZ2h0ID0+IDI1
KS5jb25uZWN0KFNFTF9DT01NQU5EKSAje2F6emVyYV92YXJpYWJpbGl9DQoJ
CUZYQnV0dG9uLm5ldyh2Rm9uZG8sICdSZWdpc3RyYScsIDpwYWRMZWZ0ID0+
IDI1LCA6cGFkUmlnaHQgPT4gMjUpLmNvbm5lY3QoU0VMX0NPTU1BTkQpICN7
cmVnaXN0cmF9DQoJCUZYQnV0dG9uLm5ldyh2Rm9uZG8sICdFc2NpJywgOnRh
cmdldCA9PiBzZWxmLCA6c2VsZWN0b3IgPT4gRlhEaWFsb2dCb3g6OklEX0NB
TkNFTCwgOnBhZExlZnQgPT4gMjUsIDpwYWRSaWdodCA9PiAyNSkNCgkJI2F6
emVyYV92YXJpYWJpbGkNCgllbmQNCmVuZA0KDQpjbGFzcyBGaW5lc3RyYTkw
MDAxIDwgRlhEaWFsb2dCb3gNCgkjZGVmIGluaXRpYWxpemUoYXBwKQ0KCWRl
ZiBpbml0aWFsaXplKGFwcCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xhc3MN
CgkJc3VwZXIoYXBwLCAiQ29kaWNlIGRlbCB0aXBvIGRpIGNvbnRvIiwgOm9w
dHMgPT4gREVDT1JfQUxMLCA6eCA9PiAyMCwgOnkgPT4gMjAsIDp3aWR0aCA9
PiA0MDAsIDpoZWlnaHQgPT4gMTAwKQ0KCQlsaXN0YSA9IEZYVGFibGUubmV3
KHNlbGYsIDpvcHRzID0+IExBWU9VVF9GSUxMfFRBQkxFX1JFQURPTkxZKQ0K
CQlsaXN0YS5zZXRUYWJsZVNpemUoMywgMikNCgkJbGlzdGEucm93SGVhZGVy
TW9kZSA9IExBWU9VVF9GSVhfV0lEVEgNCgkJbGlzdGEucm93SGVhZGVyV2lk
dGggPSAwDQoJCWxpc3RhLmNvbHVtbkhlYWRlck1vZGUgPSBMQVlPVVRfRklY
X0hFSUdIVA0KCQlsaXN0YS5jb2x1bW5IZWFkZXJIZWlnaHQgPSAwDQoJCWxp
c3RhLnNldENvbHVtbldpZHRoKDAsIDI1KQ0KCQlsaXN0YS5zZXRDb2x1bW5X
aWR0aCgxLCAyMDApDQoNCgkJbGlzdGEuc2V0SXRlbVRleHQoMCwgMCwgIjEi
KQ0KCQlsaXN0YS5zZXRJdGVtVGV4dCgwLCAxLCAiR1JVUFBPIikNCgkJbGlz
dGEuc2V0SXRlbUp1c3RpZnkoMCwgMSwgRlhUYWJsZUl0ZW06OkxFRlQpDQoJ
CWxpc3RhLnNldEl0ZW1UZXh0KDEsIDAsICIyIikNCgkJbGlzdGEuc2V0SXRl
bVRleHQoMSwgMSwgIkNPTlRPIikNCgkJbGlzdGEuc2V0SXRlbUp1c3RpZnko
MSwgMSwgRlhUYWJsZUl0ZW06OkxFRlQpDQoJCWxpc3RhLnNldEl0ZW1UZXh0
KDIsIDAsICIzIikNCgkJbGlzdGEuc2V0SXRlbVRleHQoMiwgMSwgIlNPVFRP
Q09OVE8iKQ0KCQlsaXN0YS5zZXRJdGVtSnVzdGlmeSgyLCAxLCBGWFRhYmxl
SXRlbTo6TEVGVCkNCg0KCQlsaXN0YS5jb25uZWN0KFNFTF9TRUxFQ1RFRCkg
ZG8gfCBzZW5kZXIsIHNlbCwgcG9zIHwNCgkJCSR2YXJbMF0gPSAoc2VuZGVy
LmdldEl0ZW0ocG9zLnJvdywgMCkpLnRvX3MNCgkJCSR2YXJbMV0gPSAoc2Vu
ZGVyLmdldEl0ZW0ocG9zLnJvdywgMSkpLnRvX3MNCgkJZW5kDQoJZW5kDQpl
bmQNCg0KY2xhc3MgRmluZXN0cmE5MDAwMiA8IEZYRGlhbG9nQm94DQoJI2Rl
ZiBpbml0aWFsaXplKGFwcCkNCglkZWYgaW5pdGlhbGl6ZShhcHApDQoJCSMg
SW5pdGlhbGl6ZSBiYXNlIGNsYXNzDQoJCXN1cGVyKGFwcCwgIkNvZGljZSBk
ZWxsYSBuYXR1cmEgZGVsIGNvbnRvIiwgOm9wdHMgPT4gREVDT1JfQUxMLCA6
eCA9PiAyMCwgOnkgPT4gMjAsIDp3aWR0aCA9PiA0MDAsIDpoZWlnaHQgPT4g
MTAwKQ0KCQlsaXN0YSA9IEZYVGFibGUubmV3KHNlbGYsIDpvcHRzID0+IExB
WU9VVF9GSUxMfFRBQkxFX1JFQURPTkxZKQ0KDQoJCWxpc3RhLnNldFRhYmxl
U2l6ZSg0LCAyKQ0KCQlsaXN0YS5yb3dIZWFkZXJNb2RlID0gTEFZT1VUX0ZJ
WF9XSURUSA0KCQlsaXN0YS5yb3dIZWFkZXJXaWR0aCA9IDANCgkJbGlzdGEu
Y29sdW1uSGVhZGVyTW9kZSA9IExBWU9VVF9GSVhfSEVJR0hUDQoJCWxpc3Rh
LmNvbHVtbkhlYWRlckhlaWdodCA9IDANCgkJbGlzdGEuc2V0Q29sdW1uV2lk
dGgoMCwgMjUpDQoJCWxpc3RhLnNldENvbHVtbldpZHRoKDEsIDIwMCkNCg0K
CQlsaXN0YS5zZXRJdGVtVGV4dCgwLCAwLCAiMSIpDQoJCWxpc3RhLnNldEl0
ZW1UZXh0KDAsIDEsICJDT05UTyBESSBSRURESVRPIikNCgkJbGlzdGEuc2V0
SXRlbUp1c3RpZnkoMCwgMSwgRlhUYWJsZUl0ZW06OkxFRlQpDQoJCWxpc3Rh
LnNldEl0ZW1UZXh0KDEsIDAsICIyIikNCgkJbGlzdGEuc2V0SXRlbVRleHQo
MSwgMSwgIkNPTlRPIFBBVFJJTU9OSUFMRSIpDQoJCWxpc3RhLnNldEl0ZW1K
dXN0aWZ5KDEsIDEsIEZYVGFibGVJdGVtOjpMRUZUKQ0KCQlsaXN0YS5zZXRJ
dGVtVGV4dCgyLCAwLCAiMyIpDQoJCWxpc3RhLnNldEl0ZW1UZXh0KDIsIDEs
ICJDT05UTyBEXCdPUkRJTkUiKQ0KCQlsaXN0YS5zZXRJdGVtSnVzdGlmeSgy
LCAxLCBGWFRhYmxlSXRlbTo6TEVGVCkNCgkJbGlzdGEuc2V0SXRlbVRleHQo
MywgMCwgIjQiKQ0KCQlsaXN0YS5zZXRJdGVtVGV4dCgzLCAxLCAiQ09OVE8g
UklFUElMT0dBVElWTyIpDQoJCWxpc3RhLnNldEl0ZW1KdXN0aWZ5KDMsIDEs
IEZYVGFibGVJdGVtOjpMRUZUKQ0KICAgIA0KCQlsaXN0YS5jb25uZWN0KFNF
TF9TRUxFQ1RFRCkgZG8gfCBzZW5kZXIsIHNlbCwgcG9zIHwNCgkJCSR2YXJb
MF0gPSAoc2VuZGVyLmdldEl0ZW0ocG9zLnJvdywgMCkpLnRvX3MNCgkJCSR2
YXJbMV0gPSAoc2VuZGVyLmdldEl0ZW0ocG9zLnJvdywgMSkpLnRvX3MNCgkJ
ZW5kDQoJZW5kDQplbmQNCg0KY2xhc3MgRmluZXN0cmE5MDAwMyA8IEZYRGlh
bG9nQm94DQoJI2RlZiBpbml0aWFsaXplKGFwcCkNCglkZWYgaW5pdGlhbGl6
ZShhcHApDQoJCSMgSW5pdGlhbGl6ZSBiYXNlIGNsYXNzDQoJCXN1cGVyKGFw
cCwgIlJpY2VyY2EgZGVsIGNvZGljZSBkZWwgZ3J1cHBvIiwgOm9wdHMgPT4g
REVDT1JfQUxMLCA6eCA9PiAyMCwgOnkgPT4gMjAsIDp3aWR0aCA9PiA0MDAs
IDpoZWlnaHQgPT4gMTAwKQ0KCQlsaXN0YSA9IEZYVGFibGUubmV3KHNlbGYs
IDpvcHRzID0+IExBWU9VVF9GSUxMfFRBQkxFX1JFQURPTkxZKQ0KDQoJCWJl
Z2luDQoJCQlAY29ubiA9IE15c3FsLm5ldygibG9jYWxob3N0IiwgInJvb3Qi
LCAieGNvbGlicmkiLCAicGlyYW1pZGUiKQ0KCQkJQHNjZWx0YSA9IEBjb25u
LnF1ZXJ5KCJTRUxFQ1QgKiBGUk9NIHBpYW5vX2RlaV9jb250aSBXSEVSRSBj
b2RpY2VfdGlwb19jb250byA9IDEiKQ0KCQkJQGNvbnRhdG9yZSA9ICIje0Bz
Y2VsdGEubnVtX3Jvd3N9Ii50b19pDQoJCQlAY29ubi5jbG9zZQ0KCQlyZXNj
dWUgTXlzcWxFcnJvciA9PiBlDQoJCQlAY29ubi5jbG9zZQ0KCQkJcHJpbnQg
ImVycm9yIGNvZGU6ICIsIGUuZXJybm8sICJcbiINCgkJCXByaW50ICJlcnJv
ciBtZXNzYWdlOiAiLCBlLmVycm9yLCAiXG4iDQoJCWVuZA0KDQoJCWxpc3Rh
LnRhYmxlU3R5bGUgfD0gVEFCTEVfQ09MX1NJWkFCTEUNCgkJbGlzdGEuc2V0
VGFibGVTaXplKDAsMikNCgkJbGlzdGEucm93SGVhZGVyTW9kZSA9IExBWU9V
VF9GSVhfV0lEVEgNCgkJbGlzdGEucm93SGVhZGVyV2lkdGggPSAwDQoJCWxp
c3RhLmNvbHVtbkhlYWRlck1vZGUgPSBMQVlPVVRfRklYX0hFSUdIVA0KCQls
aXN0YS5jb2x1bW5IZWFkZXJIZWlnaHQgPSAwDQoJCWxpc3RhLnNldENvbHVt
bldpZHRoKDAsIDI1KQ0KCQlsaXN0YS5zZXRDb2x1bW5XaWR0aCgxLCAyMDAp
DQoNCgkJaWR4ID0gMA0KCQl3aGlsZSBpZHggPCBAY29udGF0b3JlDQoJCQlA
cmlnYSA9IEBzY2VsdGEuZGF0YV9zZWVrKGlkeCkNCgkJCUByaWdhID0gQHNj
ZWx0YS5mZXRjaF9yb3cNCgkJCWxpc3RhLmluc2VydFJvd3MoaWR4KQ0KCQkJ
bGlzdGEuc2V0SXRlbVRleHQoaWR4LCAwLCBAcmlnYVsxXSkNCgkJCWxpc3Rh
LnNldEl0ZW1KdXN0aWZ5KGlkeCwgMCwgRlhUYWJsZUl0ZW06OkxFRlQpDQoJ
CQlsaXN0YS5zZXRJdGVtVGV4dChpZHgsIDEsIEByaWdhWzVdKQ0KCQkJbGlz
dGEuc2V0SXRlbUp1c3RpZnkoaWR4LCAxLCBGWFRhYmxlSXRlbTo6TEVGVCkN
CgkJCWlkeCA9IGlkeCArIDENCgkJZW5kDQoNCgkJbGlzdGEuY29ubmVjdChT
RUxfU0VMRUNURUQpIGRvIHwgc2VuZGVyLCBzZWwsIHBvcyB8DQoJCQkkdmFy
WzBdID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDApKS50b19zDQoJCQkk
dmFyWzFdID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDEpKS50b19zDQoJ
CWVuZA0KCWVuZA0KZW5kDQoNCmNsYXNzIEZpbmVzdHJhOTAwMDQgPCBGWERp
YWxvZ0JveA0KCSNkZWYgaW5pdGlhbGl6ZShhcHApDQoJZGVmIGluaXRpYWxp
emUoYXBwKQ0KCQkjIEluaXRpYWxpemUgYmFzZSBjbGFzcw0KCQlzdXBlcihh
cHAsICJSaWNlcmNhIGRlbCBjb2RpY2UgZGVsIGNvbnRvIiwgOm9wdHMgPT4g
REVDT1JfQUxMLCA6eCA9PiAyMCwgOnkgPT4gMjAsIDp3aWR0aCA9PiA0MDAs
IDpoZWlnaHQgPT4gMTAwKQ0KCQlsaXN0YSA9IEZYVGFibGUubmV3KHNlbGYs
IDpvcHRzID0+IExBWU9VVF9GSUxMfFRBQkxFX1JFQURPTkxZKQ0KDQoJCUBj
b25uID0gTXlzcWwubmV3KCJsb2NhbGhvc3QiLCAicm9vdCIsICJ4Y29saWJy
aSIsICJwaXJhbWlkZSIpDQoJCUBzY2VsdGEgPSBAY29ubi5xdWVyeSgiU0VM
RUNUICogRlJPTSBwaWFub19kZWlfY29udGkgV0hFUkUgY29kaWNlX3RpcG9f
Y29udG8gPSAyIEFORCBjb2RpY2VfZ3J1cHBvID0gJyN7JHZhcn0nIikNCgkJ
QGNvbnRhdG9yZSA9ICIje0BzY2VsdGEubnVtX3Jvd3N9Ii50b19pDQoJCUBj
b25uLmNsb3NlCQ0KCQkNCgkJbGlzdGEudGFibGVTdHlsZSB8PSBUQUJMRV9D
T0xfU0laQUJMRQ0KCQlsaXN0YS5zZXRUYWJsZVNpemUoMCwzKQ0KCQlsaXN0
YS5yb3dIZWFkZXJNb2RlID0gTEFZT1VUX0ZJWF9XSURUSA0KCQlsaXN0YS5y
b3dIZWFkZXJXaWR0aCA9IDANCgkJbGlzdGEuY29sdW1uSGVhZGVyTW9kZSA9
IExBWU9VVF9GSVhfSEVJR0hUDQoJCWxpc3RhLmNvbHVtbkhlYWRlckhlaWdo
dCA9IDANCgkJbGlzdGEuc2V0Q29sdW1uV2lkdGgoMCwgMjUpDQoJCWxpc3Rh
LnNldENvbHVtbldpZHRoKDEsIDI1KQ0KCQlsaXN0YS5zZXRDb2x1bW5XaWR0
aCgyLCAyMDApDQoNCgkJaWR4ID0gMA0KCQl3aGlsZSBpZHggPCBAY29udGF0
b3JlDQoJCQlAcmlnYSA9IEBzY2VsdGEuZGF0YV9zZWVrKGlkeCkNCgkJCUBy
aWdhID0gQHNjZWx0YS5mZXRjaF9yb3cNCgkJCWxpc3RhLmluc2VydFJvd3Mo
aWR4KQ0KCQkJbGlzdGEuc2V0SXRlbVRleHQoaWR4LCAwLCBAcmlnYVsxXSkN
CgkJCWxpc3RhLnNldEl0ZW1KdXN0aWZ5KGlkeCwgMCwgRlhUYWJsZUl0ZW06
OkxFRlQpDQoJCQlsaXN0YS5zZXRJdGVtVGV4dChpZHgsIDEsIEByaWdhWzJd
KQ0KCQkJbGlzdGEuc2V0SXRlbUp1c3RpZnkoaWR4LCAxLCBGWFRhYmxlSXRl
bTo6TEVGVCkNCgkJCWxpc3RhLnNldEl0ZW1UZXh0KGlkeCwgMiwgQHJpZ2Fb
NV0pDQoJCQlsaXN0YS5zZXRJdGVtSnVzdGlmeShpZHgsIDIsIEZYVGFibGVJ
dGVtOjpMRUZUKQ0KCQkJaWR4ID0gaWR4ICsgMQ0KCQllbmQNCgkJJHZhciA9
IFtdDQoJCWxpc3RhLmNvbm5lY3QoU0VMX1NFTEVDVEVEKSBkbyB8IHNlbmRl
ciwgc2VsLCBwb3MgfA0KCQkJJHZhclswXSA9IChzZW5kZXIuZ2V0SXRlbShw
b3Mucm93LCAxKSkudG9fcw0KCQkJJHZhclsxXSA9IChzZW5kZXIuZ2V0SXRl
bShwb3Mucm93LCAyKSkudG9fcw0KCQllbmQNCgllbmQNCmVuZA0KDQpjbGFz
cyBGaW5lc3RyYTkwMDA1IDwgRlhEaWFsb2dCb3gNCgkjZGVmIGluaXRpYWxp
emUoYXBwKQ0KCWRlZiBpbml0aWFsaXplKGFwcCkNCgkJIyBJbml0aWFsaXpl
IGJhc2UgY2xhc3MNCgkJc3VwZXIoYXBwLCAiUmljZXJjYSBkZWwgY29kaWNl
IGRpIHNvdHRvY29udG8iLCA6b3B0cyA9PiBERUNPUl9BTEwsIDp4ID0+IDIw
LCA6eSA9PiAyMCwgOndpZHRoID0+IDQwMCwgOmhlaWdodCA9PiAxMDApDQoJ
CWxpc3RhID0gRlhUYWJsZS5uZXcoc2VsZiwgOm9wdHMgPT4gTEFZT1VUX0ZJ
TEx8VEFCTEVfUkVBRE9OTFkpDQoNCgkJQGNvbm4gPSBNeXNxbC5uZXcoImxv
Y2FsaG9zdCIsICJyb290IiwgInhjb2xpYnJpIiwgInBpcmFtaWRlIikNCgkJ
QHNjZWx0YSA9IEBjb25uLnF1ZXJ5KCJTRUxFQ1QgKiBGUk9NIHBpYW5vX2Rl
aV9jb250aSBXSEVSRSBjb2RpY2VfdGlwb19jb250byA9IDMgQU5EIGNvZGlj
ZV9ncnVwcG8gPSAnI3skdmFyWzBdfScgQU5EIGNvZGljZV9jb250byA9ICcj
eyR2YXJbMV19JyIpDQoJCUBjb250YXRvcmUgPSAiI3tAc2NlbHRhLm51bV9y
b3dzfSIudG9faQ0KCQlAY29ubi5jbG9zZQkNCgkJDQoJCWxpc3RhLnRhYmxl
U3R5bGUgfD0gVEFCTEVfQ09MX1NJWkFCTEUNCgkJbGlzdGEuc2V0VGFibGVT
aXplKDAsNikNCgkJbGlzdGEucm93SGVhZGVyTW9kZSA9IExBWU9VVF9GSVhf
V0lEVEgNCgkJbGlzdGEucm93SGVhZGVyV2lkdGggPSAwDQoJCWxpc3RhLmNv
bHVtbkhlYWRlck1vZGUgPSBMQVlPVVRfRklYX0hFSUdIVA0KCQlsaXN0YS5j
b2x1bW5IZWFkZXJIZWlnaHQgPSAwDQoJCWxpc3RhLnNldENvbHVtbldpZHRo
KDAsIDI1KQ0KCQlsaXN0YS5zZXRDb2x1bW5XaWR0aCgxLCAyNSkNCgkJbGlz
dGEuc2V0Q29sdW1uV2lkdGgoMiwgNTApDQoJCWxpc3RhLnNldENvbHVtbldp
ZHRoKDMsIDIwMCkNCgkJbGlzdGEuc2V0Q29sdW1uV2lkdGgoNCwgMjUpDQoJ
CWxpc3RhLnNldENvbHVtbldpZHRoKDUsIDEwMCkNCgkJaWR4ID0gMA0KCQl3
aGlsZSBpZHggPCBAY29udGF0b3JlDQoJCQlAcmlnYSA9IEBzY2VsdGEuZGF0
YV9zZWVrKGlkeCkNCgkJCUByaWdhID0gQHNjZWx0YS5mZXRjaF9yb3cNCgkJ
CWxpc3RhLmluc2VydFJvd3MoaWR4KQ0KCQkJbGlzdGEuc2V0SXRlbVRleHQo
aWR4LCAwLCBAcmlnYVsxXSkNCgkJCWxpc3RhLnNldEl0ZW1KdXN0aWZ5KGlk
eCwgMCwgRlhUYWJsZUl0ZW06OkxFRlQpDQoJCQlsaXN0YS5zZXRJdGVtVGV4
dChpZHgsIDEsIEByaWdhWzJdKQ0KCQkJbGlzdGEuc2V0SXRlbUp1c3RpZnko
aWR4LCAxLCBGWFRhYmxlSXRlbTo6TEVGVCkNCgkJCWxpc3RhLnNldEl0ZW1U
ZXh0KGlkeCwgMiwgQHJpZ2FbM10pDQoJCQlsaXN0YS5zZXRJdGVtSnVzdGlm
eShpZHgsIDIsIEZYVGFibGVJdGVtOjpMRUZUKQ0KCQkJbGlzdGEuc2V0SXRl
bVRleHQoaWR4LCAzLCBAcmlnYVs1XSkNCgkJCWxpc3RhLnNldEl0ZW1KdXN0
aWZ5KGlkeCwgMywgRlhUYWJsZUl0ZW06OkxFRlQpDQoJCQlpZHggPSBpZHgg
KyAxDQoJCWVuZA0KCQkkdmFyID0gW10NCgkJbGlzdGEuY29ubmVjdChTRUxf
U0VMRUNURUQpIGRvIHwgc2VuZGVyLCBzZWwsIHBvcyB8DQoJCQkkdmFyWzBd
ID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDIpKS50b19zDQoJCQkkdmFy
WzFdID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDMpKS50b19zDQoJCQkk
dmFyWzJdID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDQpKS50b19zDQoJ
CQkkdmFyWzNdID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDUpKS50b19z
DQoJCWVuZA0KCWVuZA0KZW5kDQoNCmNsYXNzIEZpbmVzdHJhOTAwMDYgPCBG
WERpYWxvZ0JveA0KCSNkZWYgaW5pdGlhbGl6ZShhcHApDQoJZGVmIGluaXRp
YWxpemUoYXBwKQ0KCQkjIEluaXRpYWxpemUgYmFzZSBjbGFzcw0KCQlzdXBl
cihhcHAsICJSaWNlcmNhIGRpIGNvbnRvIHBlciBkZW5vbWluYXppb25lIiwg
Om9wdHMgPT4gREVDT1JfQUxMLCA6eCA9PiAyMCwgOnkgPT4gMjAsIDp3aWR0
aCA9PiA1MDAsIDpoZWlnaHQgPT4gMjAwKQ0KCQlsaXN0YSA9IEZYVGFibGUu
bmV3KHNlbGYsIDpvcHRzID0+IExBWU9VVF9GSUxMfFRBQkxFX1JFQURPTkxZ
KQ0KDQoJCUBjb25uID0gTXlzcWwubmV3KCJsb2NhbGhvc3QiLCAicm9vdCIs
ICJ4Y29saWJyaSIsICJwaXJhbWlkZSIpDQoJCUBzY2VsdGEgPSBAY29ubi5x
dWVyeSgiU0VMRUNUICogRlJPTSBwaWFub19kZWlfY29udGkgV0hFUkUgc2ln
bGEgTElLRSAnJSN7JHZhclswXX0lJyIpDQoJCUBjb250YXRvcmUgPSAiI3tA
c2NlbHRhLm51bV9yb3dzfSIudG9faQ0KCQlAY29ubi5jbG9zZQkNCgkJDQoJ
CWxpc3RhLnRhYmxlU3R5bGUgfD0gVEFCTEVfQ09MX1NJWkFCTEUNCgkJbGlz
dGEuc2V0VGFibGVTaXplKDAsMikNCgkJbGlzdGEucm93SGVhZGVyTW9kZSA9
IExBWU9VVF9GSVhfV0lEVEgNCgkJbGlzdGEucm93SGVhZGVyV2lkdGggPSAw
DQoJCWxpc3RhLmNvbHVtbkhlYWRlck1vZGUgPSBMQVlPVVRfRklYX0hFSUdI
VA0KCQlsaXN0YS5jb2x1bW5IZWFkZXJIZWlnaHQgPSAwDQoJCWxpc3RhLnNl
dENvbHVtbldpZHRoKDAsMTAwKQ0KCQlsaXN0YS5zZXRDb2x1bW5XaWR0aCgx
LDMwMCkNCgkJaWR4ID0gMA0KCQl3aGlsZSBpZHggPCBAY29udGF0b3JlDQoJ
CQlAcmlnYSA9IEBzY2VsdGEuZGF0YV9zZWVrKGlkeCkNCgkJCUByaWdhID0g
QHNjZWx0YS5mZXRjaF9yb3cNCgkJCWxpc3RhLmluc2VydFJvd3MoaWR4KQ0K
CQkJbGlzdGEuc2V0SXRlbVRleHQoaWR4LCAwLCBAcmlnYVs3XSkNCgkJCWxp
c3RhLnNldEl0ZW1KdXN0aWZ5KGlkeCwgMCwgRlhUYWJsZUl0ZW06OlJJR0hU
KQ0KCQkJbGlzdGEuc2V0SXRlbVRleHQoaWR4LCAxLCBAcmlnYVs1XSkNCgkJ
CWxpc3RhLnNldEl0ZW1KdXN0aWZ5KGlkeCwgMSwgRlhUYWJsZUl0ZW06OkxF
RlQpDQoJCQlpZHggPSBpZHggKyAxDQoJCWVuZA0KCQkkdmFyID0gW10NCgkJ
bGlzdGEuY29ubmVjdChTRUxfU0VMRUNURUQpIGRvIHwgc2VuZGVyLCBzZWws
IHBvcyB8DQoJCQkkdmFyWzBdID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3cs
IDApKS50b19zDQoJCWVuZA0KCWVuZA0KZW5kDQoNCmNsYXNzIEZpbmVzdHJh
OTAwMTEgPCBGWERpYWxvZ0JveCAgI2ZpbmVzdHJhIHBlciBsYSByaWNlcmNh
IGRlbGxlIGNhdXNhbGkgZGkgY29udGFiaWxpdGEnIGdlbmVyYWxlIHBlciBj
b2RpY2UNCgkjZGVmIGluaXRpYWxpemUoYXBwKQ0KCWRlZiBpbml0aWFsaXpl
KGFwcCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xhc3MNCgkJc3VwZXIoYXBw
LCAiUmljZXJjYSBkZWwgY29kaWNlIGRlbGxhIGNhdXNhbGUgaXZhIiwgOm9w
dHMgPT4gREVDT1JfQUxMLCA6eCA9PiAyMCwgOnkgPT4gMjAsIDp3aWR0aCA9
PiA0MDAsIDpoZWlnaHQgPT4gMTAwKQ0KCQlsaXN0YSA9IEZYVGFibGUubmV3
KHNlbGYsIDpvcHRzID0+IExBWU9VVF9GSUxMfFRBQkxFX1JFQURPTkxZKQ0K
DQoJCWJlZ2luDQoJCQlAY29ubiA9IE15c3FsLm5ldygibG9jYWxob3N0Iiwg
InJvb3QiLCAieGNvbGlicmkiLCAicGlyYW1pZGUiKQ0KCQkJQHNjZWx0YSA9
IEBjb25uLnF1ZXJ5KCJTRUxFQ1QgKiBGUk9NIGNhdXNhbGlfY29nZSIpDQoJ
CQlAY29udGF0b3JlID0gIiN7QHNjZWx0YS5udW1fcm93c30iLnRvX2kNCgkJ
CUBjb25uLmNsb3NlDQoJCXJlc2N1ZSBNeXNxbEVycm9yID0+IGUNCgkJCUBj
b25uLmNsb3NlDQoJCQlwcmludCAiZXJyb3IgY29kZTogIiwgZS5lcnJubywg
IlxuIg0KCQkJcHJpbnQgImVycm9yIG1lc3NhZ2U6ICIsIGUuZXJyb3IsICJc
biINCgkJZW5kDQoNCgkJbGlzdGEudGFibGVTdHlsZSB8PSBUQUJMRV9DT0xf
U0laQUJMRQ0KCQlsaXN0YS5zZXRUYWJsZVNpemUoMCwyKQ0KCQlsaXN0YS5y
b3dIZWFkZXJNb2RlID0gTEFZT1VUX0ZJWF9XSURUSA0KCQlsaXN0YS5yb3dI
ZWFkZXJXaWR0aCA9IDANCgkJbGlzdGEuY29sdW1uSGVhZGVyTW9kZSA9IExB
WU9VVF9GSVhfSEVJR0hUDQoJCWxpc3RhLmNvbHVtbkhlYWRlckhlaWdodCA9
IDANCgkJbGlzdGEuc2V0Q29sdW1uV2lkdGgoMCwgMjUpDQoJCWxpc3RhLnNl
dENvbHVtbldpZHRoKDEsIDIwMCkNCg0KCQlpZHggPSAwDQoJCXdoaWxlIGlk
eCA8IEBjb250YXRvcmUNCgkJCUByaWdhID0gQHNjZWx0YS5kYXRhX3NlZWso
aWR4KQ0KCQkJQHJpZ2EgPSBAc2NlbHRhLmZldGNoX3Jvdw0KCQkJbGlzdGEu
aW5zZXJ0Um93cyhpZHgpDQoJCQlsaXN0YS5zZXRJdGVtVGV4dChpZHgsIDAs
IEByaWdhWzBdKQ0KCQkJbGlzdGEuc2V0SXRlbUp1c3RpZnkoaWR4LCAwLCBG
WFRhYmxlSXRlbTo6TEVGVCkNCgkJCWxpc3RhLnNldEl0ZW1UZXh0KGlkeCwg
MSwgQHJpZ2FbMV0pDQoJCQlsaXN0YS5zZXRJdGVtSnVzdGlmeShpZHgsIDEs
IEZYVGFibGVJdGVtOjpMRUZUKQ0KCQkJaWR4ID0gaWR4ICsgMQ0KCQllbmQN
Cg0KCQlsaXN0YS5jb25uZWN0KFNFTF9TRUxFQ1RFRCkgZG8gfCBzZW5kZXIs
IHNlbCwgcG9zIHwNCgkJCSR2YXJbMF0gPSAoc2VuZGVyLmdldEl0ZW0ocG9z
LnJvdywgMCkpLnRvX3MNCgkJZW5kDQoJZW5kDQplbmQNCg0KY2xhc3MgRmlu
ZXN0cmE5MDAxMiA8IEZYRGlhbG9nQm94ICNmaW5lc3RyYSBwZXIgbGEgcmlj
ZXJjYSBkZWxsZSBjYXVzYWxpIGRpIGNvbnRhYmlsaXRhJyBnZW5lcmFsZSBw
ZXIgZGVzY3JpemlvbmUNCgkjZGVmIGluaXRpYWxpemUoYXBwKQ0KCWRlZiBp
bml0aWFsaXplKGFwcCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xhc3MNCgkJ
c3VwZXIoYXBwLCAiQ2F1c2FsZSBkaSBjb250YWJpbGl0YVwnIGdlbmVyYWxl
IiwgOm9wdHMgPT4gREVDT1JfQUxMLCA6eCA9PiAyMCwgOnkgPT4gMjAsIDp3
aWR0aCA9PiA0MDAsIDpoZWlnaHQgPT4gMTAwKQ0KCQlsaXN0YSA9IEZYVGFi
bGUubmV3KHNlbGYsIDpvcHRzID0+IExBWU9VVF9GSUxMfFRBQkxFX1JFQURP
TkxZKQ0KCQlsaXN0YS5zZXRUYWJsZVNpemUoMCwgMTEpDQoJCWxpc3RhLnJv
d0hlYWRlck1vZGUgPSBMQVlPVVRfRklYX1dJRFRIDQoJCWxpc3RhLnJvd0hl
YWRlcldpZHRoID0gMA0KCQlsaXN0YS5jb2x1bW5IZWFkZXJNb2RlID0gTEFZ
T1VUX0ZJWF9IRUlHSFQNCgkJbGlzdGEuY29sdW1uSGVhZGVySGVpZ2h0ID0g
MA0KCQlsaXN0YS5zZXRDb2x1bW5XaWR0aCgwLCAyNSkNCgkJbGlzdGEuc2V0
Q29sdW1uV2lkdGgoMSwgNDAwKQ0KCQlAY29ubiA9IE15c3FsLm5ldygibG9j
YWxob3N0IiwgInJvb3QiLCAieGNvbGlicmkiLCAicGlyYW1pZGUiKQ0KCQlA
c2NlbHRhID0gQGNvbm4ucXVlcnkoIlNFTEVDVCAqIEZST00gY2F1c2FsaV9j
b2dlIFdIRVJFIHNpZ2xhIExJS0UgJyUjeyR2YXJbMF19JSciKQ0KCQlAY29u
dGF0b3JlID0gIiN7QHNjZWx0YS5udW1fcm93c30iLnRvX2kNCgkJQGNvbm4u
Y2xvc2UNCg0KCQlpZHggPSAwDQoJCXdoaWxlIGlkeCA8IEBjb250YXRvcmUN
CgkJCUByaWdhID0gQHNjZWx0YS5kYXRhX3NlZWsoaWR4KQ0KCQkJQHJpZ2Eg
PSBAc2NlbHRhLmZldGNoX3Jvdw0KCQkJbGlzdGEuaW5zZXJ0Um93cyhpZHgp
DQoJCQlsaXN0YS5zZXRJdGVtVGV4dChpZHgsIDAsIEByaWdhWzBdKQ0KCQkJ
bGlzdGEuc2V0SXRlbUp1c3RpZnkoaWR4LCAwLCBGWFRhYmxlSXRlbTo6TEVG
VCkNCgkJCWxpc3RhLnNldEl0ZW1UZXh0KGlkeCwgMSwgQHJpZ2FbMV0pDQoJ
CQlsaXN0YS5zZXRJdGVtSnVzdGlmeShpZHgsIDEsIEZYVGFibGVJdGVtOjpM
RUZUKQ0KCQkJaWR4ID0gaWR4ICsgMQ0KCQllbmQNCg0KCQlsaXN0YS5jb25u
ZWN0KFNFTF9TRUxFQ1RFRCkgZG8gfCBzZW5kZXIsIHNlbCwgcG9zIHwNCgkJ
CSR2YXJbMF0gPSAoc2VuZGVyLmdldEl0ZW0ocG9zLnJvdywgMCkpLnRvX3MN
CgkJZW5kDQoJZW5kDQplbmQNCg0KY2xhc3MgRmluZXN0cmE5MDAxMyA8IEZY
RGlhbG9nQm94ICNmaW5lc3RyYSBwZXIgbGEgcmljZXJjYSBkZWkgbGlicmkg
Z2lvcm5hbGUNCgkjZGVmIGluaXRpYWxpemUoYXBwKQ0KCWRlZiBpbml0aWFs
aXplKGFwcCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xhc3MNCgkJc3VwZXIo
YXBwLCAiUmljZXJjYSBkZWwgbGlicm8gY29udGFiaWxlIiwgOm9wdHMgPT4g
REVDT1JfQUxMLCA6eCA9PiAyMCwgOnkgPT4gMjAsIDp3aWR0aCA9PiA0MDAs
IDpoZWlnaHQgPT4gMTAwKQ0KCQlsaXN0YSA9IEZYVGFibGUubmV3KHNlbGYs
IDpvcHRzID0+IExBWU9VVF9GSUxMfFRBQkxFX1JFQURPTkxZKQ0KCQlsaXN0
YS5zZXRUYWJsZVNpemUoMCwgMikNCgkJbGlzdGEucm93SGVhZGVyTW9kZSA9
IExBWU9VVF9GSVhfV0lEVEgNCgkJbGlzdGEucm93SGVhZGVyV2lkdGggPSAw
DQoJCWxpc3RhLmNvbHVtbkhlYWRlck1vZGUgPSBMQVlPVVRfRklYX0hFSUdI
VA0KCQlsaXN0YS5jb2x1bW5IZWFkZXJIZWlnaHQgPSAwDQoJCWxpc3RhLnNl
dENvbHVtbldpZHRoKDAsIDI1KQ0KCQlsaXN0YS5zZXRDb2x1bW5XaWR0aCgx
LCAyMDApDQoNCgkJQGNvbm4gPSBNeXNxbC5uZXcoImxvY2FsaG9zdCIsICJy
b290IiwgInhjb2xpYnJpIiwgInBpcmFtaWRlIikNCgkJQHNjZWx0YSA9IEBj
b25uLnF1ZXJ5KCJTRUxFQ1QgKiBGUk9NIGxpYnJvX2NvbnRhYmlsZSBXSEVS
RSB0aXBvX3JlZ2lzdHJvX2l2YSA9IDEiKQ0KCQlAY29udGF0b3JlID0gIiN7
QHNjZWx0YS5udW1fcm93c30iLnRvX2kNCgkJQGNvbm4uY2xvc2UNCg0KCQls
aXN0YS50YWJsZVN0eWxlIHw9IFRBQkxFX0NPTF9TSVpBQkxFDQoJCWxpc3Rh
LnNldFRhYmxlU2l6ZSgwLDIpDQoJCWxpc3RhLnJvd0hlYWRlck1vZGUgPSBM
QVlPVVRfRklYX1dJRFRIDQoJCWxpc3RhLnJvd0hlYWRlcldpZHRoID0gMA0K
CQlsaXN0YS5jb2x1bW5IZWFkZXJNb2RlID0gTEFZT1VUX0ZJWF9IRUlHSFQN
CgkJbGlzdGEuY29sdW1uSGVhZGVySGVpZ2h0ID0gMA0KCQlsaXN0YS5zZXRD
b2x1bW5XaWR0aCgwLCAyNSkNCgkJbGlzdGEuc2V0Q29sdW1uV2lkdGgoMSwg
MjAwKQ0KDQoJCWlkeCA9IDANCgkJd2hpbGUgaWR4IDwgQGNvbnRhdG9yZQ0K
CQkJQHJpZ2EgPSBAc2NlbHRhLmRhdGFfc2VlayhpZHgpDQoJCQlAcmlnYSA9
IEBzY2VsdGEuZmV0Y2hfcm93DQoJCQlsaXN0YS5pbnNlcnRSb3dzKGlkeCkN
CgkJCWxpc3RhLnNldEl0ZW1UZXh0KGlkeCwgMCwgQHJpZ2FbMF0pDQoJCQls
aXN0YS5zZXRJdGVtSnVzdGlmeShpZHgsIDAsIEZYVGFibGVJdGVtOjpMRUZU
KQ0KCQkJbGlzdGEuc2V0SXRlbVRleHQoaWR4LCAxLCBAcmlnYVsxXSkNCgkJ
CWxpc3RhLnNldEl0ZW1KdXN0aWZ5KGlkeCwgMSwgRlhUYWJsZUl0ZW06OkxF
RlQpDQoJCQlpZHggPSBpZHggKyAxDQoJCWVuZA0KDQoJCWxpc3RhLmNvbm5l
Y3QoU0VMX1NFTEVDVEVEKSBkbyB8IHNlbmRlciwgc2VsLCBwb3MgfA0KCQkJ
JHZhclswXSA9IChzZW5kZXIuZ2V0SXRlbShwb3Mucm93LCAwKSkudG9fcw0K
CQkJJHZhclsxXSA9IChzZW5kZXIuZ2V0SXRlbShwb3Mucm93LCAxKSkudG9f
cw0KCQllbmQNCgllbmQNCmVuZA0KDQpjbGFzcyBGaW5lc3RyYTkwMDE0IDwg
RlhEaWFsb2dCb3gNCgkjZGVmIGluaXRpYWxpemUoYXBwKQ0KCWRlZiBpbml0
aWFsaXplKGFwcCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xhc3MNCgkJc3Vw
ZXIoYXBwLCAiQ29kaWNlIGRlbCB0aXBvIGRpIGxpYnJvIGNvbnRhYmlsZSIs
IDpvcHRzID0+IERFQ09SX0FMTCwgOnggPT4gMjAsIDp5ID0+IDIwLCA6d2lk
dGggPT4gNDAwLCA6aGVpZ2h0ID0+IDIwMCkNCgkJbGlzdGEgPSBGWFRhYmxl
Lm5ldyhzZWxmLCA6b3B0cyA9PiBMQVlPVVRfRklMTHxUQUJMRV9SRUFET05M
WSkNCgkJbGlzdGEuc2V0VGFibGVTaXplKDMsIDIpDQoJCWxpc3RhLnJvd0hl
YWRlck1vZGUgPSBMQVlPVVRfRklYX1dJRFRIDQoJCWxpc3RhLnJvd0hlYWRl
cldpZHRoID0gMA0KCQlsaXN0YS5jb2x1bW5IZWFkZXJNb2RlID0gTEFZT1VU
X0ZJWF9IRUlHSFQNCgkJbGlzdGEuY29sdW1uSGVhZGVySGVpZ2h0ID0gMA0K
CQlsaXN0YS5zZXRDb2x1bW5XaWR0aCgwLCAyNSkNCgkJbGlzdGEuc2V0Q29s
dW1uV2lkdGgoMSwgNDAwKQ0KDQoJCWxpc3RhLnNldEl0ZW1UZXh0KDAsIDAs
ICIxIikNCgkJbGlzdGEuc2V0SXRlbVRleHQoMCwgMSwgIkxJQlJPIEdJT1JO
QUxFIikNCgkJbGlzdGEuc2V0SXRlbUp1c3RpZnkoMCwgMSwgRlhUYWJsZUl0
ZW06OkxFRlQpDQoJCWxpc3RhLnNldEl0ZW1UZXh0KDEsIDAsICIyIikNCgkJ
bGlzdGEuc2V0SXRlbVRleHQoMSwgMSwgIkxJQlJPIElWQSBBQ1FVSVNUSSIp
DQoJCWxpc3RhLnNldEl0ZW1KdXN0aWZ5KDEsIDEsIEZYVGFibGVJdGVtOjpM
RUZUKQ0KCQlsaXN0YS5zZXRJdGVtVGV4dCgyLCAwLCAiMyIpDQoJCWxpc3Rh
LnNldEl0ZW1UZXh0KDIsIDEsICJMSUJSTyBJVkEgVkVORElURSIpDQoJCWxp
c3RhLnNldEl0ZW1KdXN0aWZ5KDIsIDEsIEZYVGFibGVJdGVtOjpMRUZUKQ0K
DQoJCWxpc3RhLmNvbm5lY3QoU0VMX1NFTEVDVEVEKSBkbyB8IHNlbmRlciwg
c2VsLCBwb3MgfA0KCQkJJHZhclswXSA9IChzZW5kZXIuZ2V0SXRlbShwb3Mu
cm93LCAwKSkudG9fcw0KCQkJJHZhclsxXSA9IChzZW5kZXIuZ2V0SXRlbShw
b3Mucm93LCAxKSkudG9fcw0KCQllbmQNCgllbmQNCmVuZA0KDQpjbGFzcyBG
aW5lc3RyYTkwMDE1IDwgRlhEaWFsb2dCb3ggI2ZpbmVzdHJhIHBlciBsYSBy
aWNlcmNhIGRlaSBsaWJyaSBjb250YWJpbGkNCgkjZGVmIGluaXRpYWxpemUo
YXBwKQ0KCWRlZiBpbml0aWFsaXplKGFwcCkNCgkJIyBJbml0aWFsaXplIGJh
c2UgY2xhc3MNCgkJc3VwZXIoYXBwLCAiUmljZXJjYSBkZWwgbGlicm8gY29u
dGFiaWxlIiwgOm9wdHMgPT4gREVDT1JfQUxMLCA6eCA9PiAyMCwgOnkgPT4g
MjAsIDp3aWR0aCA9PiA0MDAsIDpoZWlnaHQgPT4gMjAwKQ0KCQlsaXN0YSA9
IEZYVGFibGUubmV3KHNlbGYsIDpvcHRzID0+IExBWU9VVF9GSUxMfFRBQkxF
X1JFQURPTkxZKQ0KDQoJCWJlZ2luDQoJCQlAY29ubiA9IE15c3FsLm5ldygi
bG9jYWxob3N0IiwgInJvb3QiLCAieGNvbGlicmkiLCAicGlyYW1pZGUiKQ0K
CQkJQHNjZWx0YSA9IEBjb25uLnF1ZXJ5KCJTRUxFQ1QgKiBGUk9NIGxpYnJv
X2NvbnRhYmlsZSIpDQoJCQlAY29udGF0b3JlID0gIiN7QHNjZWx0YS5udW1f
cm93c30iLnRvX2kNCgkJCUBjb25uLmNsb3NlDQoJCXJlc2N1ZSBNeXNxbEVy
cm9yID0+IGUNCgkJCUBjb25uLmNsb3NlDQoJCQlwcmludCAiZXJyb3IgY29k
ZTogIiwgZS5lcnJubywgIlxuIg0KCQkJcHJpbnQgImVycm9yIG1lc3NhZ2U6
ICIsIGUuZXJyb3IsICJcbiINCgkJZW5kDQoNCgkJbGlzdGEudGFibGVTdHls
ZSB8PSBUQUJMRV9DT0xfU0laQUJMRQ0KCQlsaXN0YS5zZXRUYWJsZVNpemUo
MCwyKQ0KCQlsaXN0YS5yb3dIZWFkZXJNb2RlID0gTEFZT1VUX0ZJWF9XSURU
SA0KCQlsaXN0YS5yb3dIZWFkZXJXaWR0aCA9IDANCgkJbGlzdGEuY29sdW1u
SGVhZGVyTW9kZSA9IExBWU9VVF9GSVhfSEVJR0hUDQoJCWxpc3RhLmNvbHVt
bkhlYWRlckhlaWdodCA9IDANCgkJbGlzdGEuc2V0Q29sdW1uV2lkdGgoMCwg
MjUpDQoJCWxpc3RhLnNldENvbHVtbldpZHRoKDEsIDQwMCkNCgkJaWR4ID0g
MA0KCQl3aGlsZSBpZHggPCBAY29udGF0b3JlDQoJCQlAcmlnYSA9IEBzY2Vs
dGEuZGF0YV9zZWVrKGlkeCkNCgkJCUByaWdhID0gQHNjZWx0YS5mZXRjaF9y
b3cNCgkJCWxpc3RhLmluc2VydFJvd3MoaWR4KQ0KCQkJbGlzdGEuc2V0SXRl
bVRleHQoaWR4LCAwLCBAcmlnYVswXSkNCgkJCWxpc3RhLnNldEl0ZW1KdXN0
aWZ5KGlkeCwgMCwgRlhUYWJsZUl0ZW06OkxFRlQpDQoJCQlsaXN0YS5zZXRJ
dGVtVGV4dChpZHgsIDEsIEByaWdhWzFdKQ0KCQkJbGlzdGEuc2V0SXRlbUp1
c3RpZnkoaWR4LCAxLCBGWFRhYmxlSXRlbTo6TEVGVCkNCgkJCWlkeCA9IGlk
eCArIDENCgkJZW5kDQoNCgkJbGlzdGEuY29ubmVjdChTRUxfU0VMRUNURUQp
IGRvIHwgc2VuZGVyLCBzZWwsIHBvcyB8DQoJCQkkdmFyWzBdID0gKHNlbmRl
ci5nZXRJdGVtKHBvcy5yb3csIDApKS50b19zDQoJCQkkdmFyWzFdID0gKHNl
bmRlci5nZXRJdGVtKHBvcy5yb3csIDEpKS50b19zDQoJCWVuZA0KCWVuZA0K
ZW5kDQoNCmNsYXNzIEZpbmVzdHJhOTAwMTYgPCBGWERpYWxvZ0JveCAjZmlu
ZXN0cmEgcGVyIGxhIHJpY2VyY2EgZGVpIGxpYnJpIGl2YQ0KCSNkZWYgaW5p
dGlhbGl6ZShhcHApDQoJZGVmIGluaXRpYWxpemUoYXBwKQ0KCQkjIEluaXRp
YWxpemUgYmFzZSBjbGFzcw0KCQlzdXBlcihhcHAsICJSaWNlcmNhIGRlbCBs
aWJybyBpdmEiLCA6b3B0cyA9PiBERUNPUl9BTEwsIDp4ID0+IDIwLCA6eSA9
PiAyMCwgOndpZHRoID0+IDQwMCwgOmhlaWdodCA9PiA1MDApDQoJCWxpc3Rh
ID0gRlhUYWJsZS5uZXcoc2VsZiwgOm9wdHMgPT4gTEFZT1VUX0ZJTEx8VEFC
TEVfUkVBRE9OTFkpDQoJCWxpc3RhLnNldFRhYmxlU2l6ZSgwLCAyKQ0KCQls
aXN0YS5yb3dIZWFkZXJNb2RlID0gTEFZT1VUX0ZJWF9XSURUSA0KCQlsaXN0
YS5yb3dIZWFkZXJXaWR0aCA9IDANCgkJbGlzdGEuY29sdW1uSGVhZGVyTW9k
ZSA9IExBWU9VVF9GSVhfSEVJR0hUDQoJCWxpc3RhLmNvbHVtbkhlYWRlckhl
aWdodCA9IDANCgkJbGlzdGEuc2V0Q29sdW1uV2lkdGgoMCwgMjUpDQoJCWxp
c3RhLnNldENvbHVtbldpZHRoKDEsIDQwMCkNCg0KCQlAY29ubiA9IE15c3Fs
Lm5ldygibG9jYWxob3N0IiwgInJvb3QiLCAieGNvbGlicmkiLCAicGlyYW1p
ZGUiKQ0KCQlAc2NlbHRhID0gQGNvbm4ucXVlcnkoIlNFTEVDVCAqIEZST00g
bGlicm9fY29udGFiaWxlIFdIRVJFIHRpcG9fcmVnaXN0cm9faXZhID4gMSIp
DQoJCUBjb250YXRvcmUgPSAiI3tAc2NlbHRhLm51bV9yb3dzfSIudG9faQ0K
CQlAY29ubi5jbG9zZQ0KDQoJCWxpc3RhLnRhYmxlU3R5bGUgfD0gVEFCTEVf
Q09MX1NJWkFCTEUNCgkJbGlzdGEuc2V0VGFibGVTaXplKDAsMikNCgkJbGlz
dGEucm93SGVhZGVyTW9kZSA9IExBWU9VVF9GSVhfV0lEVEgNCgkJbGlzdGEu
cm93SGVhZGVyV2lkdGggPSAwDQoJCWxpc3RhLmNvbHVtbkhlYWRlck1vZGUg
PSBMQVlPVVRfRklYX0hFSUdIVA0KCQlsaXN0YS5jb2x1bW5IZWFkZXJIZWln
aHQgPSAwDQoJCWxpc3RhLnNldENvbHVtbldpZHRoKDAsIDI1KQ0KCQlsaXN0
YS5zZXRDb2x1bW5XaWR0aCgxLCA0MDApDQoNCgkJaWR4ID0gMA0KCQl3aGls
ZSBpZHggPCBAY29udGF0b3JlDQoJCQlAcmlnYSA9IEBzY2VsdGEuZGF0YV9z
ZWVrKGlkeCkNCgkJCUByaWdhID0gQHNjZWx0YS5mZXRjaF9yb3cNCgkJCWxp
c3RhLmluc2VydFJvd3MoaWR4KQ0KCQkJbGlzdGEuc2V0SXRlbVRleHQoaWR4
LCAwLCBAcmlnYVswXSkNCgkJCWxpc3RhLnNldEl0ZW1KdXN0aWZ5KGlkeCwg
MCwgRlhUYWJsZUl0ZW06OkxFRlQpDQoJCQlsaXN0YS5zZXRJdGVtVGV4dChp
ZHgsIDEsIEByaWdhWzFdKQ0KCQkJbGlzdGEuc2V0SXRlbUp1c3RpZnkoaWR4
LCAxLCBGWFRhYmxlSXRlbTo6TEVGVCkNCgkJCWlkeCA9IGlkeCArIDENCgkJ
ZW5kDQoNCgkJbGlzdGEuY29ubmVjdChTRUxfU0VMRUNURUQpIGRvIHwgc2Vu
ZGVyLCBzZWwsIHBvcyB8DQoJCQkkdmFyWzBdID0gKHNlbmRlci5nZXRJdGVt
KHBvcy5yb3csIDApKS50b19zDQoJCQkkdmFyWzFdID0gKHNlbmRlci5nZXRJ
dGVtKHBvcy5yb3csIDEpKS50b19zDQoJCWVuZA0KCWVuZA0KZW5kDQoNCmNs
YXNzIEZpbmVzdHJhOTAwMTcgPCBGWERpYWxvZ0JveCAjZmluZXN0cmEgcGVy
IGxhIHJpY2VyY2EgZGVpIGRvY3VtZW50aSBpdmENCgkjZGVmIGluaXRpYWxp
emUoYXBwKQ0KCWRlZiBpbml0aWFsaXplKGFwcCkNCgkJIyBJbml0aWFsaXpl
IGJhc2UgY2xhc3MNCgkJc3VwZXIoYXBwLCAiUmljZXJjYSBkZWwgdGlwbyBk
aSBkb2N1bWVudG8gaXZhIiwgOm9wdHMgPT4gREVDT1JfQUxMLCA6eCA9PiAy
MCwgOnkgPT4gMjAsIDp3aWR0aCA9PiA0MDAsIDpoZWlnaHQgPT4gNTAwKQ0K
CQlsaXN0YSA9IEZYVGFibGUubmV3KHNlbGYsIDpvcHRzID0+IExBWU9VVF9G
SUxMfFRBQkxFX1JFQURPTkxZKQ0KCQlsaXN0YS5zZXRUYWJsZVNpemUoMCwg
MikNCgkJbGlzdGEucm93SGVhZGVyTW9kZSA9IExBWU9VVF9GSVhfV0lEVEgN
CgkJbGlzdGEucm93SGVhZGVyV2lkdGggPSAwDQoJCWxpc3RhLmNvbHVtbkhl
YWRlck1vZGUgPSBMQVlPVVRfRklYX0hFSUdIVA0KCQlsaXN0YS5jb2x1bW5I
ZWFkZXJIZWlnaHQgPSAwDQoJCWxpc3RhLnNldENvbHVtbldpZHRoKDAsIDI1
KQ0KCQlsaXN0YS5zZXRDb2x1bW5XaWR0aCgxLCAyMDApDQoNCgkJQGNvbm4g
PSBNeXNxbC5uZXcoImxvY2FsaG9zdCIsICJyb290IiwgInhjb2xpYnJpIiwg
InBpcmFtaWRlIikNCgkJQHNjZWx0YSA9IEBjb25uLnF1ZXJ5KCJTRUxFQ1Qg
KiBGUk9NIHRpcG9fZG9jdW1lbnRvX2l2YSIpDQoJCUBjb250YXRvcmUgPSAi
I3tAc2NlbHRhLm51bV9yb3dzfSIudG9faQ0KCQlAY29ubi5jbG9zZQ0KDQoJ
CWxpc3RhLnRhYmxlU3R5bGUgfD0gVEFCTEVfQ09MX1NJWkFCTEUNCgkJbGlz
dGEuc2V0VGFibGVTaXplKDAsMikNCgkJbGlzdGEucm93SGVhZGVyTW9kZSA9
IExBWU9VVF9GSVhfV0lEVEgNCgkJbGlzdGEucm93SGVhZGVyV2lkdGggPSAw
DQoJCWxpc3RhLmNvbHVtbkhlYWRlck1vZGUgPSBMQVlPVVRfRklYX0hFSUdI
VA0KCQlsaXN0YS5jb2x1bW5IZWFkZXJIZWlnaHQgPSAwDQoJCWxpc3RhLnNl
dENvbHVtbldpZHRoKDAsIDI1KQ0KCQlsaXN0YS5zZXRDb2x1bW5XaWR0aCgx
LCAyMDApDQoNCgkJaWR4ID0gMA0KCQl3aGlsZSBpZHggPCBAY29udGF0b3Jl
DQoJCQlAcmlnYSA9IEBzY2VsdGEuZGF0YV9zZWVrKGlkeCkNCgkJCUByaWdh
ID0gQHNjZWx0YS5mZXRjaF9yb3cNCgkJCWxpc3RhLmluc2VydFJvd3MoaWR4
KQ0KCQkJbGlzdGEuc2V0SXRlbVRleHQoaWR4LCAwLCBAcmlnYVswXSkNCgkJ
CWxpc3RhLnNldEl0ZW1KdXN0aWZ5KGlkeCwgMCwgRlhUYWJsZUl0ZW06OkxF
RlQpDQoJCQlsaXN0YS5zZXRJdGVtVGV4dChpZHgsIDEsIEByaWdhWzFdKQ0K
CQkJbGlzdGEuc2V0SXRlbUp1c3RpZnkoaWR4LCAxLCBGWFRhYmxlSXRlbTo6
TEVGVCkNCgkJCWlkeCA9IGlkeCArIDENCgkJZW5kDQoNCgkJbGlzdGEuY29u
bmVjdChTRUxfU0VMRUNURUQpIGRvIHwgc2VuZGVyLCBzZWwsIHBvcyB8DQoJ
CQkkdmFyWzBdID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDApKS50b19z
DQoJCQkkdmFyWzFdID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDEpKS50
b19zDQoJCWVuZA0KCWVuZA0KZW5kDQoNCmNsYXNzIEZpbmVzdHJhOTAwMTgg
PCBGWERpYWxvZ0JveCAjZmluZXN0cmEgcGVyIGxhIHJpY2VyY2EgZGVsbGUg
b3BlcmF6aW9uaSBpdmENCgkjZGVmIGluaXRpYWxpemUoYXBwKQ0KCWRlZiBp
bml0aWFsaXplKGFwcCkNCgkJIyBJbml0aWFsaXplIGJhc2UgY2xhc3MNCgkJ
c3VwZXIoYXBwLCAiUmljZXJjYSBkZWxsZSBvcGVyYXppb25pIGl2YSIsIDpv
cHRzID0+IERFQ09SX0FMTCwgOnggPT4gMjAsIDp5ID0+IDIwLCA6d2lkdGgg
PT4gNDAwLCA6aGVpZ2h0ID0+IDUwMCkNCgkJbGlzdGEgPSBGWFRhYmxlLm5l
dyhzZWxmLCA6b3B0cyA9PiBMQVlPVVRfRklMTHxUQUJMRV9SRUFET05MWSkN
CgkJbGlzdGEuc2V0VGFibGVTaXplKDAsIDIpDQoJCWxpc3RhLnJvd0hlYWRl
ck1vZGUgPSBMQVlPVVRfRklYX1dJRFRIDQoJCWxpc3RhLnJvd0hlYWRlcldp
ZHRoID0gMA0KCQlsaXN0YS5jb2x1bW5IZWFkZXJNb2RlID0gTEFZT1VUX0ZJ
WF9IRUlHSFQNCgkJbGlzdGEuY29sdW1uSGVhZGVySGVpZ2h0ID0gMA0KCQls
aXN0YS5zZXRDb2x1bW5XaWR0aCgwLCAyNSkNCgkJbGlzdGEuc2V0Q29sdW1u
V2lkdGgoMSwgMjAwKQ0KDQoJCUBjb25uID0gTXlzcWwubmV3KCJsb2NhbGhv
c3QiLCAicm9vdCIsICJ4Y29saWJyaSIsICJwaXJhbWlkZSIpDQoJCUBzY2Vs
dGEgPSBAY29ubi5xdWVyeSgiU0VMRUNUICogRlJPTSBvcGVyYXppb25lX2l2
YSIpDQoJCUBjb250YXRvcmUgPSAiI3tAc2NlbHRhLm51bV9yb3dzfSIudG9f
aQ0KCQlAY29ubi5jbG9zZQ0KDQoJCWxpc3RhLnRhYmxlU3R5bGUgfD0gVEFC
TEVfQ09MX1NJWkFCTEUNCgkJbGlzdGEuc2V0VGFibGVTaXplKDAsMikNCgkJ
bGlzdGEucm93SGVhZGVyTW9kZSA9IExBWU9VVF9GSVhfV0lEVEgNCgkJbGlz
dGEucm93SGVhZGVyV2lkdGggPSAwDQoJCWxpc3RhLmNvbHVtbkhlYWRlck1v
ZGUgPSBMQVlPVVRfRklYX0hFSUdIVA0KCQlsaXN0YS5jb2x1bW5IZWFkZXJI
ZWlnaHQgPSAwDQoJCWxpc3RhLnNldENvbHVtbldpZHRoKDAsIDI1KQ0KCQls
aXN0YS5zZXRDb2x1bW5XaWR0aCgxLCAyMDApDQoNCgkJaWR4ID0gMA0KCQl3
aGlsZSBpZHggPCBAY29udGF0b3JlDQoJCQlAcmlnYSA9IEBzY2VsdGEuZGF0
YV9zZWVrKGlkeCkNCgkJCUByaWdhID0gQHNjZWx0YS5mZXRjaF9yb3cNCgkJ
CWxpc3RhLmluc2VydFJvd3MoaWR4KQ0KCQkJbGlzdGEuc2V0SXRlbVRleHQo
aWR4LCAwLCBAcmlnYVswXSkNCgkJCWxpc3RhLnNldEl0ZW1KdXN0aWZ5KGlk
eCwgMCwgRlhUYWJsZUl0ZW06OkxFRlQpDQoJCQlsaXN0YS5zZXRJdGVtVGV4
dChpZHgsIDEsIEByaWdhWzFdKQ0KCQkJbGlzdGEuc2V0SXRlbUp1c3RpZnko
aWR4LCAxLCBGWFRhYmxlSXRlbTo6TEVGVCkNCgkJCWlkeCA9IGlkeCArIDEN
CgkJZW5kDQoNCgkJbGlzdGEuY29ubmVjdChTRUxfU0VMRUNURUQpIGRvIHwg
c2VuZGVyLCBzZWwsIHBvcyB8DQoJCQkkdmFyWzBdID0gKHNlbmRlci5nZXRJ
dGVtKHBvcy5yb3csIDApKS50b19zDQoJCQkkdmFyWzFdID0gKHNlbmRlci5n
ZXRJdGVtKHBvcy5yb3csIDEpKS50b19zDQoJCWVuZA0KCWVuZA0KZW5kDQoN
CmNsYXNzIEZpbmVzdHJhOTAwMTkgPCBGWERpYWxvZ0JveCAjZmluZXN0cmEg
cGVyIGxhIHJpY2VyY2EgZGkgY2F1c2FsaSBpdmENCgkjZGVmIGluaXRpYWxp
emUoYXBwKQ0KCWRlZiBpbml0aWFsaXplKGFwcCkNCgkJIyBJbml0aWFsaXpl
IGJhc2UgY2xhc3MNCgkJc3VwZXIoYXBwLCAiUmljZXJjYSBkZWxsZSBvcGVy
YXppb25pIGl2YSIsIDpvcHRzID0+IERFQ09SX0FMTCwgOnggPT4gMjAsIDp5
ID0+IDIwLCA6d2lkdGggPT4gNDAwLCA6aGVpZ2h0ID0+IDUwMCkNCgkJbGlz
dGEgPSBGWFRhYmxlLm5ldyhzZWxmLCA6b3B0cyA9PiBMQVlPVVRfRklMTHxU
QUJMRV9SRUFET05MWSkNCgkJbGlzdGEuc2V0VGFibGVTaXplKDAsIDIpDQoJ
CWxpc3RhLnJvd0hlYWRlck1vZGUgPSBMQVlPVVRfRklYX1dJRFRIDQoJCWxp
c3RhLnJvd0hlYWRlcldpZHRoID0gMA0KCQlsaXN0YS5jb2x1bW5IZWFkZXJN
b2RlID0gTEFZT1VUX0ZJWF9IRUlHSFQNCgkJbGlzdGEuY29sdW1uSGVhZGVy
SGVpZ2h0ID0gMA0KCQlsaXN0YS5zZXRDb2x1bW5XaWR0aCgwLCAyNSkNCgkJ
bGlzdGEuc2V0Q29sdW1uV2lkdGgoMSwgMjAwKQ0KDQoJCUBjb25uID0gTXlz
cWwubmV3KCJsb2NhbGhvc3QiLCAicm9vdCIsICJ4Y29saWJyaSIsICJwaXJh
bWlkZSIpDQoJCUBzY2VsdGEgPSBAY29ubi5xdWVyeSgiU0VMRUNUICogRlJP
TSBjYXVzYWxpX2l2YSIpDQoJCUBjb250YXRvcmUgPSAiI3tAc2NlbHRhLm51
bV9yb3dzfSIudG9faQ0KCQlAY29ubi5jbG9zZQ0KDQoJCWxpc3RhLnRhYmxl
U3R5bGUgfD0gVEFCTEVfQ09MX1NJWkFCTEUNCgkJbGlzdGEuc2V0VGFibGVT
aXplKDAsMikNCgkJbGlzdGEucm93SGVhZGVyTW9kZSA9IExBWU9VVF9GSVhf
V0lEVEgNCgkJbGlzdGEucm93SGVhZGVyV2lkdGggPSAwDQoJCWxpc3RhLmNv
bHVtbkhlYWRlck1vZGUgPSBMQVlPVVRfRklYX0hFSUdIVA0KCQlsaXN0YS5j
b2x1bW5IZWFkZXJIZWlnaHQgPSAwDQoJCWxpc3RhLnNldENvbHVtbldpZHRo
KDAsIDI1KQ0KCQlsaXN0YS5zZXRDb2x1bW5XaWR0aCgxLCAyMDApDQoNCgkJ
aWR4ID0gMA0KCQl3aGlsZSBpZHggPCBAY29udGF0b3JlDQoJCQlAcmlnYSA9
IEBzY2VsdGEuZGF0YV9zZWVrKGlkeCkNCgkJCUByaWdhID0gQHNjZWx0YS5m
ZXRjaF9yb3cNCgkJCWxpc3RhLmluc2VydFJvd3MoaWR4KQ0KCQkJbGlzdGEu
c2V0SXRlbVRleHQoaWR4LCAwLCBAcmlnYVswXSkNCgkJCWxpc3RhLnNldEl0
ZW1KdXN0aWZ5KGlkeCwgMCwgRlhUYWJsZUl0ZW06OkxFRlQpDQoJCQlsaXN0
YS5zZXRJdGVtVGV4dChpZHgsIDEsIEByaWdhWzFdKQ0KCQkJbGlzdGEuc2V0
SXRlbUp1c3RpZnkoaWR4LCAxLCBGWFRhYmxlSXRlbTo6TEVGVCkNCgkJCWlk
eCA9IGlkeCArIDENCgkJZW5kDQoNCgkJbGlzdGEuY29ubmVjdChTRUxfU0VM
RUNURUQpIGRvIHwgc2VuZGVyLCBzZWwsIHBvcyB8DQoJCQkkdmFyWzBdID0g
KHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDApKS50b19zDQoJCQkkdmFyWzFd
ID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDEpKS50b19zDQoJCWVuZA0K
CWVuZA0KZW5kDQoNCmNsYXNzIEZpbmVzdHJhOTAwMjAgPCBGWERpYWxvZ0Jv
eCAjZmluZXN0cmEgcGVyIGxhIHJpY2VyY2EgZGVsbGUgY2F1c2FsaSBpdmEg
cGVyIGRlc2NyaXppb25lDQoJI2RlZiBpbml0aWFsaXplKGFwcCkNCglkZWYg
aW5pdGlhbGl6ZShhcHApDQoJCSMgSW5pdGlhbGl6ZSBiYXNlIGNsYXNzDQoJ
CXN1cGVyKGFwcCwgIkNhdXNhbGUgZGkgY29udGFiaWxpdGFcJyBnZW5lcmFs
ZSIsIDpvcHRzID0+IERFQ09SX0FMTCwgOnggPT4gMjAsIDp5ID0+IDIwLCA6
d2lkdGggPT4gNDAwLCA6aGVpZ2h0ID0+IDUwMCkNCgkJbGlzdGEgPSBGWFRh
YmxlLm5ldyhzZWxmLCA6b3B0cyA9PiBMQVlPVVRfRklMTHxUQUJMRV9SRUFE
T05MWSkNCgkJbGlzdGEuc2V0VGFibGVTaXplKDAsIDExKQ0KCQlsaXN0YS5y
b3dIZWFkZXJNb2RlID0gTEFZT1VUX0ZJWF9XSURUSA0KCQlsaXN0YS5yb3dI
ZWFkZXJXaWR0aCA9IDANCgkJbGlzdGEuY29sdW1uSGVhZGVyTW9kZSA9IExB
WU9VVF9GSVhfSEVJR0hUDQoJCWxpc3RhLmNvbHVtbkhlYWRlckhlaWdodCA9
IDANCgkJbGlzdGEuc2V0Q29sdW1uV2lkdGgoMCwgMjUpDQoJCWxpc3RhLnNl
dENvbHVtbldpZHRoKDEsIDQwMCkNCgkJQGNvbm4gPSBNeXNxbC5uZXcoImxv
Y2FsaG9zdCIsICJyb290IiwgInhjb2xpYnJpIiwgInBpcmFtaWRlIikNCgkJ
QHNjZWx0YSA9IEBjb25uLnF1ZXJ5KCJTRUxFQ1QgKiBGUk9NIGNhdXNhbGlf
aXZhIFdIRVJFIGNvZGljZSBMSUtFICclI3skdmFyWzBdfSUnIikNCgkJQGNv
bnRhdG9yZSA9ICIje0BzY2VsdGEubnVtX3Jvd3N9Ii50b19pDQoJCUBjb25u
LmNsb3NlDQoNCgkJaWR4ID0gMA0KCQl3aGlsZSBpZHggPCBAY29udGF0b3Jl
DQoJCQlAcmlnYSA9IEBzY2VsdGEuZGF0YV9zZWVrKGlkeCkNCgkJCUByaWdh
ID0gQHNjZWx0YS5mZXRjaF9yb3cNCgkJCWxpc3RhLmluc2VydFJvd3MoaWR4
KQ0KCQkJbGlzdGEuc2V0SXRlbVRleHQoaWR4LCAwLCBAcmlnYVswXSkNCgkJ
CWxpc3RhLnNldEl0ZW1KdXN0aWZ5KGlkeCwgMCwgRlhUYWJsZUl0ZW06OkxF
RlQpDQoJCQlsaXN0YS5zZXRJdGVtVGV4dChpZHgsIDEsIEByaWdhWzFdKQ0K
CQkJbGlzdGEuc2V0SXRlbUp1c3RpZnkoaWR4LCAxLCBGWFRhYmxlSXRlbTo6
TEVGVCkNCgkJCWlkeCA9IGlkeCArIDENCgkJZW5kDQoNCgkJbGlzdGEuY29u
bmVjdChTRUxfU0VMRUNURUQpIGRvIHwgc2VuZGVyLCBzZWwsIHBvcyB8DQoJ
CQkkdmFyWzBdID0gKHNlbmRlci5nZXRJdGVtKHBvcy5yb3csIDApKS50b19z
DQoJCWVuZA0KCWVuZA0KZW5kDQoNCmlmIF9fRklMRV9fID09ICQwDQoJIyBN
YWtlIGFuIGFwcGxpY2F0aW9uDQoJYXBwbGljYXRpb24gPSBGWEFwcC5uZXco
IkRhdGFUYXJnZXQiLCAiRm94VGVzdCIpDQoJIyBDcmVhdGUgbWFpbiB3aW5k
b3cNCgl3aW5kb3cgPSBGaW5lc3RyYTAubmV3KGFwcGxpY2F0aW9uKQ0KCSMg
SGFuZGxlIGludGVycnVwdHMgdG8gcXVpdCBhcHBsaWNhdGlvbiBncmFjZWZ1
bGx5DQoJYXBwbGljYXRpb24uYWRkU2lnbmFsKCJTSUdJTlQiLCB3aW5kb3cu
bWV0aG9kKDpvbkNtZFF1aXQpKQ0KCSMgQ3JlYXRlIHRoZSBhcHBsaWNhdGlv
bg0KCWFwcGxpY2F0aW9uLmNyZWF0ZQ0KCSMgUnVuDQoJYXBwbGljYXRpb24u
cnVuDQplbmQ=