FtzZXR0aW5ncyxzZXRTZXR0aW5nc109dXNlU3RhdGUoe3Jlc3RhdXJhbnRfbmFtZTonRm9y
a0hRJyxjdXJyZW5jeV9zeW1ib2w6J+KCuSd9KTsKCiAgdXNlRWZmZWN0KCgpPT57CiAgICBhcGku
c2V0dGluZ3MoKS50aGVuKHM9PnNldFNldHRpbmdzKHMpKS5jYXRjaCgoKT0+e30pOwogICAgd2lu
ZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmb3JraHE6cmVhZHknKSk7CiAgfSxbXSk7Cgog
IGNvbnN0IG5vdGlmeT0obXNnLHR5cGU9J29rJyk9PntzZXRUb2FzdCh7bXNnLHR5cGV9KTtzZXRU
aW1lb3V0KCgpPT5zZXRUb2FzdChudWxsKSwzNTAwKTt9OwogIGNvbnN0IGhhbmRsZVBhaWQ9aWQ9
Pntub3RpZnkoJ+KckyBQYXltZW50IGNvbXBsZXRlISBUYWJsZSBmcmVlZC4nKTtzZXRSZWZyZXNo
KHI9PnIrMSk7c2V0QmlsbE9yZGVyKG51bGwpO307CgogIGNvbnN0IE5BVj1bCiAgICB7aWQ6J3Bv
cycsICAgIGljb246J/CfkrMnLCBsYWJlbDonUE9TJ30sCiAgICB7aWQ6J29yZGVycycsIGljb246
J/Cfk4snLCBsYWJlbDonT3JkZXJzJ30sCiAgICB7aWQ6J2tpdGNoZW4nLGljb246J/CfkajigI3w
n42zJywgbGFiZWw6J0tpdGNoZW4nfSwKICAgIHtpZDonbWVudScsICAgaWNvbjon8J+Nve+4jycs
IGxhYmVsOidNZW51J30sCiAgICB7aWQ6J2FuYWx5dGljcycsaWNvbjon8J+TiicsbGFiZWw6J0Fu
YWx5dGljcyd9LAogICAge2lkOidzZXR0aW5ncycsaWNvbjon4pqZ77iPJyxsYWJlbDonU2V0dGlu
Z3MnfSwKICBdOwoKICBpZihzY3JlZW49PT0ncXInKSByZXR1cm4gPD48R1MvPjxRUlBhZ2UgdGFi
bGVOdW09e3FyVGFibGV9IG9uQmFjaz17KCk9PnNldFNjcmVlbigncG9zJyl9Lz48Lz47CgogIHJl
dHVybigKICAgIDxkaXYgc3R5bGU9e3tiYWNrZ3JvdW5kOlQuYmcsbWluSGVpZ2h0OicxMDB2aCcs
Y29sb3I6VC50eHR9fT4KICAgICAgPEdTLz4KICAgICAge3RvYXN0JiY8VG9hc3QgbXNnPXt0b2Fz
dC5tc2d9IHR5cGU9e3RvYXN0LnR5cGV9Lz59CiAgICAgIHtiaWxsT3JkZXImJigKICAgICAgICA8
TW9kYWwgdGl0bGU9e2BCaWxsIMK3ICR7YmlsbE9yZGVyLm9yZGVyX3JlZn0gwrcgVGFibGUgJHti
aWxsT3JkZXIudGFibGVfbnVtYmVyfWB9IG9uQ2xvc2U9eygpPT5zZXRCaWxsT3JkZXIobnVsbCl9
PgogICAgICAgICAgPEJpbGxWaWV3IG9yZGVyPXtiaWxsT3JkZXJ9IG9uQ2xvc2U9eygpPT5zZXRC
aWxsT3JkZXIobnVsbCl9IG9uUGFpZD17aGFuZGxlUGFpZH0gc2V0dGluZ3M9e3NldHRpbmdzfS8+
CiAgICAgICAgPC9Nb2RhbD4KICAgICAgKX0KCiAgICAgIHsvKiBUb3BiYXIgKi99CiAgICAgIDxk
aXYgc3R5bGU9e3toZWlnaHQ6NjAsYm9yZGVyQm90dG9tOmAxcHggc29saWQgJHtULmJvcmR9YCxk
aXNwbGF5OidmbGV4JyxhbGlnbkl0ZW1zOidjZW50ZXInLAogICAgICAgIGp1c3RpZnlDb250ZW50
OidzcGFjZS1iZXR3ZWVuJyxwYWRkaW5nOicwIDE0cHgnLHBvc2l0aW9uOidzdGlja3knLHRvcDow
LGJhY2tncm91bmQ6VC5zdXJmLHpJbmRleDo1MH19PgogICAgICAgIDxkaXYgc3R5bGU9e3tkaXNw
bGF5OidmbGV4JyxhbGlnbkl0ZW1zOidjZW50ZXInLGdhcDo4fX0+CiAgICAgICAgICA8c3BhbiBz
dHlsZT17e2ZvbnRTaXplOjI0fX0+8J+NtDwvc3Bhbj4KICAgICAgICAgIDxzcGFuIHN0eWxlPXt7
Zm9udFdlaWdodDo4MDAsZm9udFNpemU6MTh9fT5Gb3JrPHNwYW4gc3R5bGU9e3tjb2xvcjpULmFj
Y319PkhRPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgIDxzcGFuIHN0eWxlPXt7Zm9udFNpemU6MTEs
Y29sb3I6VC5kaW0sbWFyZ2luTGVmdDoyfX0+e3NldHRpbmdzLnJlc3RhdXJhbnRfbmFtZXx8Jyd9
PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9e3tkaXNwbGF5OidmbGV4
JyxnYXA6MyxvdmVyZmxvd1g6J2F1dG8nfX0+CiAgICAgICAgICB7TkFWLm1hcChuPT4oCiAgICAg
ICAgICAgIDxidXR0b24ga2V5PXtuLmlkfSBjbGFzc05hbWU9ImJ0biIgb25DbGljaz17KCk9PnNl
dFNjcmVlbihuLmlkKX0KICAgICAgICAgICAgICBzdHlsZT17e3BhZGRpbmc6JzdweCAxMnB4Jyxm
b250U2l6ZToxMixmb250V2VpZ2h0OjYwMCwKICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6c2Ny
ZWVuPT09bi5pZD9ULmFjYzondHJhbnNwYXJlbnQnLAogICAgICAgICAgICAgICAgY29sb3I6c2Ny
ZWVuPT09bi5pZD8nI2ZmZic6VC5tdXQsCiAgICAgICAgICAgICAgICBib3JkZXI6YDFweCBzb2xp
ZCAke3NjcmVlbj09PW4uaWQ/VC5hY2M6J3RyYW5zcGFyZW50J31gfX0+CiAgICAgICAgICAgICAg
PHNwYW4+e24uaWNvbn08L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3tkaXNwbGF5
OidpbmxpbmUnfX0+e24ubGFiZWx9PC9zcGFuPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAg
ICAgICkpfQogICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9ImJ0biBiZyIgc3R5bGU9e3tmb250
U2l6ZToxMixwYWRkaW5nOic3cHggMTJweCcsbWFyZ2luTGVmdDo0fX0KICAgICAgICAgICAgb25D
bGljaz17KCk9PntzZXRRclRhYmxlKE1hdGguY2VpbChNYXRoLnJhbmRvbSgpKjIwKSk7c2V0U2Ny
ZWVuKCdxcicpO319PgogICAgICAgICAgICDwn5OyIFFSCiAgICAgICAgICA8L2J1dHRvbj4KICAg
ICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPXt7Zm9udEZhbWlseTonSmV0QnJhaW5zIE1v
bm8nLGZvbnRTaXplOjEzLGNvbG9yOlQubXV0LGZsZXhTaHJpbms6MH19PgogICAgICAgICAge25l
dyBEYXRlKCkudG9Mb2NhbGVUaW1lU3RyaW5nKCdlbi1JTicse2hvdXI6JzItZGlnaXQnLG1pbnV0
ZTonMi1kaWdpdCd9KX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICB7c2NyZWVu
PT09J3BvcycgICAgICAmJiA8UE9TIG9uT3JkZXJQbGFjZWQ9eygpPT5zZXRSZWZyZXNoKHI9PnIr
MSl9IG5vdGlmeT17bm90aWZ5fSBzZXR0aW5ncz17c2V0dGluZ3N9Lz59CiAgICAgIHtzY3JlZW49
PT0nb3JkZXJzJyAgICYmIDxPcmRlcnMgb25CaWxsT3Blbj17c2V0QmlsbE9yZGVyfSBub3RpZnk9
e25vdGlmeX0gcmVmcmVzaEtleT17cmVmcmVzaH0vPn0KICAgICAge3NjcmVlbj09PSdraXRjaGVu
JyAgJiYgPEtpdGNoZW4vPn0KICAgICAge3NjcmVlbj09PSdtZW51JyAgICAgJiYgPE1lbnVNYW5h
Z2VyIG5vdGlmeT17bm90aWZ5fS8+fQogICAgICB7c2NyZWVuPT09J2FuYWx5dGljcycmJiA8QW5h
bHl0aWNzLz59CiAgICAgIHtzY3JlZW49PT0nc2V0dGluZ3MnICYmIDxTZXR0aW5ncyBub3RpZnk9
e25vdGlmeX0gb25TYXZlZD17cz0+c2V0U2V0dGluZ3Mocyl9Lz59CiAgICA8L2Rpdj4KICApOwp9
Cg==
