Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

PD89ICR0aGlzLT5leHRlbmQoJ0xheW91dC9TdGFydGVyJykgPz4NCg0KPD89ICR0aGlzLT5zZWN0aW9uKCdjb250ZW..

Decoded Output download

<?  PD89ICR0aGlzLT5leHRlbmQoJ0xheW91dC9TdGFydGVyJykgPz4NCg0KPD89ICR0aGlzLT5zZWN0aW9uKCdjb250ZW50JykgPz4NCjxkaXYgY2xhc3M9InBhbmRhIj4NCiAgICA8YXVkaW8gc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiBjb250cm9scyBhdXRvcGxheSAgcHJlbG9hZD0iYXV0byI+DQogICAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSIvdW50aXRsZWQubXAzIj4NCjwvYXVkaW8+DQogPGRpdiBjbGFzcz0iY29sLXNtLTEyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQgZmFkZSBhbGVydC1zaW1wbGUgYWxlcnQtc3VjY2VzcyBhbGVydC1kaXNtaXNzaWJsZSB0ZXh0LWxlZnQgZm9udF9fZmFtaWx5LW1vbnRzZXJyYXQgZm9udF9fc2l6ZS0xNiBmb250X193ZWlnaHQtbGlnaHQgYnJrLWxpYnJhcnktcmVuZGVyZWQgcmVuZGVyZWQgc2hvdyI+DQogICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSBmb250X19zaXplLTE4IiBkYXRhLWRpc21pc3M9ImFsZXJ0Ij4NCgkJCQkJCQkJCTxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj48YT4NCiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXRpbWVzIGdyZWVuY3Jvc3MiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgPC9hPjwvc3Bhbj4NCgkJCQkJCQkJCTxzcGFuIGNsYXNzPSJzci1vbmx5Ij48L3NwYW4+IA0KCQkJCQkJCQk8L2J1dHRvbj4NCiAgICAgICAgICA8aSBjbGFzcz0ic3RhcnQtaWNvbiBmYXIgZmEtY2hlY2stY2lyY2xlIGZhYS10YWRhIGFuaW1hdGVkIj48L2k+DQogICAgICAgICAgPHN0cm9uZyBjbGFzcz0iZm9udF9fd2VpZ2h0LXNlbWlib2xkIj5IaSBXZWxjb21lPC9zdHJvbmc+PEI+IFBhbmVsIEVuY3J5cHRpb24gQlk6LSBQUklOQ0VBQUxZQU48L0I+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogIDxkaXYgY2xhc3M9ImVhciI+PC9kaXY+DQogIDxkaXYgY2xhc3M9ImZhY2UiPg0KICAgIDxkaXYgY2xhc3M9ImV5ZS1zaGFkZSI+PC9kaXY+DQogICAgPGRpdiBjbGFzcz0iZXllLXdoaXRlIj4NCiAgICAgIDxkaXYgY2xhc3M9ImV5ZS1iYWxsIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJleWUtc2hhZGUgcmd0Ij48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJleWUtd2hpdGUgcmd0Ij4NCiAgICAgIDxkaXYgY2xhc3M9ImV5ZS1iYWxsIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJub3NlIj48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJtb3V0aCI+PC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJib2R5Ij4gPC9kaXY+DQogIDxkaXYgY2xhc3M9ImZvb3QiPg0KICAgIDxkaXYgY2xhc3M9ImZpbmdlciI+PC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJmb290IHJndCI+DQogICAgPGRpdiBjbGFzcz0iZmluZ2VyIj48L2Rpdj4NCiAgICANCiAgPC9kaXY+DQo8L2Rpdj4NCg0KDQo8c3R5bGU+DQogICAgYWxlcnQ+LnN0YXJ0LWljb24gew0KICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICBtaW4td2lkdGg6IDIwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouYWxlcnQ+LnN0YXJ0LWljb24gew0KICAgIG1hcmdpbi1yaWdodDogNXB4Ow0KfQ0KDQouZ3JlZW5jcm9zcw0Kew0KICBmb250LXNpemU6MThweDsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIHRleHQtc2hhZG93OiBub25lOw0KfQ0KDQouYWxlcnQtc2ltcGxlLmFsZXJ0LXN1Y2Nlc3MNCnsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNiwgMjQxLCA2LCAwLjQ2KTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDE0OSwgNjYsIDAuMTIxNTY4NjI3NDUwOTgwMzkpOw0KICAgIGJveC1zaGFkb3c6IDBweCAwcHggMnB4ICMyNTljMDg7DQogICAgY29sb3I6ICNGRkZGRkY7DQogIHRleHQtc2hhZG93OiAycHggMXB4ICMwMDA0MGE7DQogIHRyYW5zaXRpb246MC41czsNCiAgY3Vyc29yOnBvaW50ZXI7DQp9DQouYWxlcnQtc3VjY2Vzczpob3ZlcnsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCAxNDksIDY2LCAwLjM1KTsNCiAgdHJhbnNpdGlvbjowLjVzOw0KfQ0KLmFsZXJ0LXNpbXBsZS5hbGVydC1pbmZvDQp7DQogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNiwgNDQsIDI0MSwgMC40Nik7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCA3MywgMTQ5LCAwLjEyMTU2ODYyNzQ1MDk4MDM5KTsNCiAgICBib3gtc2hhZG93OiAwcHggMHB4IDJweCAjMDM5NmZmOw0KICAgIGNvbG9yOiAjMDM5NmZmOw0KICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtaW5mbzpob3Zlcg0Ke3gNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCA3MywgMTQ5LCAwLjM1KTsNCiAgdHJhbnNpdGlvbjowLjVzOw0KfQ0KDQouYmx1ZS1jcm9zcw0Kew0KICBmb250LXNpemU6IDE4cHg7DQogICAgY29sb3I6ICMwYmQyZmY7DQogICAgdGV4dC1zaGFkb3c6IG5vbmU7DQp9DQoNCi5hbGVydC1zaW1wbGUuYWxlcnQtd2FybmluZw0Kew0KICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDEsIDE0MiwgNiwgMC44MSk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDEyOCwgMSwgMC4xNik7DQogICAgYm94LXNoYWRvdzogMHB4IDBweCAycHggI2ZmYjEwMzsNCiAgICBjb2xvcjogI2ZmYjEwMzsNCiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtd2FybmluZzpob3ZlcnsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDEyOCwgMSwgMC4zMyk7DQogIHRyYW5zaXRpb246MC41czsNCn0NCg0KLndhcm5pbmcNCnsNCiAgICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBjb2xvcjogI2ZmYjQwYjsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCn0NCg0KLmFsZXJ0LXNpbXBsZS5hbGVydC1kYW5nZXINCnsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDEsIDYsIDYsIDAuODEpOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCAxNywgMSwgMC4xNik7DQogICAgYm94LXNoYWRvdzogMHB4IDBweCAycHggI2ZmMDMwMzsNCiAgICBjb2xvcjogI2ZmMDMwMzsNCiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtZGFuZ2VyOmhvdmVyDQp7DQogICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCAxNywgMSwgMC4zMyk7DQogIHRyYW5zaXRpb246MC41czsNCn0NCg0KLmRhbmdlcg0Kew0KICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGNvbG9yOiAjZmYwMzAzOw0KICAgIHRleHQtc2hhZG93OiBub25lOw0KfQ0KDQouYWxlcnQtc2ltcGxlLmFsZXJ0LXByaW1hcnkNCnsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2LCAyNDEsIDIyNiwgMC44MSk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCAyMDQsIDIyMCwgMC4xNik7DQogICAgYm94LXNoYWRvdzogMHB4IDBweCAycHggIzAzZmZmNTsNCiAgICBjb2xvcjogIzAzZDBmZjsNCiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtcHJpbWFyeTpob3ZlcnsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCAyMDQsIDIyMCwgMC4zMyk7DQogICB0cmFuc2l0aW9uOjAuNXM7DQp9DQoNCi5hbGVydHByaW1hcnkNCnsNCiAgICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBjb2xvcjogIzAzZDBmZjsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCn0NCg0KLnNxdWFyZV9ib3ggew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0NXB4Ow0KICAgIG9wYWNpdHk6IDAuMzAyOw0KfQ0KDQouc3F1YXJlX2JveC5ib3hfdGhyZWUgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzI5MGE1OSAwJSwgIzNkNTdmNCAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMyOTBhNTkgMCUsICMzZDU3ZjQgMTAwJSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMyOTBhNTkgMCUsICMzZDU3ZjQgMTAwJSk7DQogICAgb3BhY2l0eTogMC4wNTk7DQogICAgbGVmdDogLTgwcHg7DQogICAgdG9wOiAtNjBweDsNCiAgICB3aWR0aDogNTAwcHg7DQogICAgaGVpZ2h0OiA1MDBweDsNCiAgICBib3JkZXItcmFkaXVzOiA0NXB4Ow0KfQ0KDQouc3F1YXJlX2JveC5ib3hfZm91ciB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTkwZGVnLCAjMjkwYTU5IDAlLCAjM2Q1N2Y0IDEwMCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzI5MGE1OSAwJSwgIzNkNTdmNCAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzI5MGE1OSAwJSwgIzNkNTdmNCAxMDAlKTsNCiAgICBvcGFjaXR5OiAwLjA1OTsNCiAgICBsZWZ0OiAxNTBweDsNCiAgICB0b3A6IC0yNXB4Ow0KICAgIHdpZHRoOiA1NTBweDsNCiAgICBoZWlnaHQ6IDU1MHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDQ1cHg7DQp9DQoNCi5hbGVydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICcnOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB3aWR0aDogMDsNCiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ0cHgpOw0KICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7DQogICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQ7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGxlZnQ6IDA7DQogICAgdG9wOiA1MCU7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKTsNCiAgICAgIGhlaWdodDogMjBweDsNCn0NCg0KLmZhLXRpbWVzDQp7DQotd2Via2l0LWFuaW1hdGlvbjogYmxpbmstMSAycyBpbmZpbml0ZSBib3RoOw0KCSAgICAgICAgYW5pbWF0aW9uOiBibGluay0xIDJzIGluZmluaXRlIGJvdGg7DQp9DQoNCg0KLyoqDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogKiBhbmltYXRpb24gYmxpbmstMQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICovDQpALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstMSB7DQogIDAlLA0KICA1MCUsDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgMjUlLA0KICA3NSUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCkBrZXlmcmFtZXMgYmxpbmstMSB7DQogIDAlLA0KICA1MCUsDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgMjUlLA0KICA3NSUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCjwvc3R5bGU+DQo8c3R5bGU+DQogIA0KQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PURhbmNpbmcrU2NyaXB0fFJvYm90byk7DQoqLCAqOmFmdGVyLCAqOmJlZm9yZSB7DQogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCmJvZHkgew0KICBiYWNrZ3JvdW5kOiAjMDBmZmZjOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCg0KfQ0KDQoucGFuZGEgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHdpZHRoOiAyMDBweDsNCiAgbWFyZ2luOiA1MHB4IGF1dG87DQp9DQoNCi5mYWNlIHsNCiAgd2lkdGg6IDIwMHB4Ow0KICBoZWlnaHQ6IDIwMHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICBtYXJnaW46IDUwcHggYXV0bzsNCiAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggDQogIHJnYmEoMCwgMCwgMCwgMC4xNSk7DQogIHotaW5kZXg6IDUwOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5lYXIsIC5lYXI6YWZ0ZXIgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdpZHRoOiA4MHB4Ow0KICBoZWlnaHQ6IDgwcHg7DQogIGJhY2tncm91bmQ6ICMwMDA7DQogIHotaW5kZXg6IDU7DQogIGJvcmRlcjogMTBweCBzb2xpZCAjZmZmOw0KICBsZWZ0OiAtMTVweDsNCiAgdG9wOiAtMTVweDsNCiAgYm9yZGVyLXJhZGl1czogMTAwJTsNCn0NCg0KLmVhcjphZnRlciB7DQogIGNvbnRlbnQ6ICcnOw0KICBsZWZ0OiAxMjVweDsNCn0NCg0KLmV5ZS1zaGFkZSB7DQogIGJhY2tncm91bmQ6ICMwMDA7DQogIHdpZHRoOiA1MHB4Ow0KICBoZWlnaHQ6IDgwcHg7DQogIG1hcmdpbjogMTBweDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDM1cHg7DQogIGxlZnQ6IDI1cHg7DQogIHRyYW5zZm9ybTogcm90YXRlKDIyMGRlZyk7DQogIGJvcmRlci1yYWRpdXM6IDI1cHgvMjBweCANCiAgMzBweCAzNXB4IDQwcHg7DQp9DQouZXllLXNoYWRlLnJndCB7DQogIHRyYW5zZm9ybTogcm90YXRlKDE0MGRlZyk7DQogIGxlZnQ6IDEwNXB4Ow0KfQ0KDQouZXllLXdoaXRlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB3aWR0aDogMzBweDsNCiAgaGVpZ2h0OiAzMHB4Ow0KICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICB6LWluZGV4OiA1MDA7DQogIGxlZnQ6IDQwcHg7dG9wOiA4MHB4Ow0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KDQouZXllLXdoaXRlLnJndCB7DQogIHJpZ2h0OiA0MHB4Ow0KICBsZWZ0OiBhdXRvOw0KfQ0KDQouZXllLWJhbGwgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdpZHRoOiAwcHg7DQogIGhlaWdodDogMHB4Ow0KICBsZWZ0OiAyMHB4O3RvcDogMjBweDsNCiAgbWF4LXdpZHRoOiAxMHB4Ow0KICBtYXgtaGVpZ2h0OiAxMHB4Ow0KICB0cmFuc2l0aW9uOiAwLjFzOw0KfQ0KDQouZXllLWJhbGw6YWZ0ZXIgew0KICBjb250ZW50OiAnJzsNCiAgYmFja2dyb3VuZDogIzAwMDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwcHg7DQogIHdpZHRoOiAyMHB4Ow0KICBoZWlnaHQ6IDIwcHg7DQp9DQoNCi5ub3NlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBoZWlnaHQ6IDIwcHg7DQogIHdpZHRoOiAzNXB4Ow0KICBib3R0b206IDQwcHg7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KICBtYXJnaW46IGF1dG87DQogIGJvcmRlci1yYWRpdXM6IDUwcHggMjBweC8zMHB4IDE1cHg7DQogIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsNCiAgYmFja2dyb3VuZDogIzAwMDsNCn0NCg0KLmJvZHkgew0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMjAwcHg7DQogIGxlZnQ6IC0yMHB4Ow0KICBib3JkZXItcmFkaXVzOiAxMDBweCAxMDBweCAxMDBweCAxMDBweC8xMjZweCAxMjZweCA5NnB4IDk2cHg7DQogIHdpZHRoOiAyNTBweDsNCiAgaGVpZ2h0OiAyODJweDsNCiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7DQp9DQoNCi5oYW5kLCAuaGFuZDphZnRlciwgLmhhbmQ6YmVmb3JlIHsNCiAgd2lkdGg6IDQwcHg7DQogIGhlaWdodDogMzBweDsNCiAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgYm94LXNoYWRvdzogMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7DQogIGJhY2tncm91bmQ6ICMwMDA7DQogIG1hcmdpbjogNXB4Ow0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogNzBweDsNCiAgbGVmdDogLTI1cHg7DQp9DQouaGFuZDphZnRlciwgLmhhbmQ6YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIGxlZnQ6IC01cHg7DQogIHRvcDogMTFweDsNCn0NCi5oYW5kOmJlZm9yZSB7DQogIHRvcDogMjZweDsNCn0NCi5oYW5kLnJndCwgLnJndC5oYW5kOmFmdGVyLCAucmd0LmhhbmQ6YmVmb3JlIHsNCiAgbGVmdDogYXV0bzsNCiAgcmlnaHQ6IC0yNXB4Ow0KfQ0KLmhhbmQucmd0OmFmdGVyLCAuaGFuZC5yZ3Q6YmVmb3JlIHsNCiAgbGVmdDogYXV0bzsNCiAgcmlnaHQ6IC01cHg7DQp9DQoNCi5mb290IHsNCiAgdG9wOiAzNjBweDsNCiAgbGVmdDogLTgwcHg7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYmFja2dyb3VuZDogIzAwMDsNCiAgei1pbmRleDogMTQwMDsNCiAgYm94LXNoYWRvdzogMCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsNCiAgYm9yZGVyLXJhZGl1czogNDBweCA0MHB4IDM5cHggNDBweC8yNnB4IDI2cHggNjNweCA2M3B4Ow0KICB3aWR0aDogODJweDsNCiAgaGVpZ2h0OiAxMjBweDsNCn0NCi5mb290OmFmdGVyIHsNCiAgY29udGVudDogJyc7DQogIHdpZHRoOiA1NXB4Ow0KICBoZWlnaHQ6IDY1cHg7DQogIGJhY2tncm91bmQ6ICMyMjI7DQogIGJvcmRlci1yYWRpdXM6IDEwMCU7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYm90dG9tOiAxMHB4Ow0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgbWFyZ2luOiBhdXRvOw0KfQ0KLmZvb3QgLmZpbmdlciwgLmZvb3QgLmZpbmdlcjphZnRlciwgLmZvb3QgLmZpbmdlcjpiZWZvcmUgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdpZHRoOiAyNXB4Ow0KICBoZWlnaHQ6IDM1cHg7DQogIGJhY2tncm91bmQ6ICMyMjI7DQogIGJvcmRlci1yYWRpdXM6IDEwMCU7DQogIHRvcDogMTBweDsNCiAgcmlnaHQ6IDVweDsNCn0NCi5mb290IC5maW5nZXI6YWZ0ZXIsIC5mb290IC5maW5nZXI6YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIHJpZ2h0OiAzMHB4Ow0KICB3aWR0aDogMjBweDsNCiAgdG9wOiAwOw0KfQ0KLmZvb3QgLmZpbmdlcjpiZWZvcmUgew0KICByaWdodDogNTVweDsNCiAgdG9wOiA1cHg7DQp9DQouZm9vdC5yZ3Qgew0KICBsZWZ0OiBhdXRvOw0KICByaWdodDogLTgwcHg7DQp9DQouZm9vdC5yZ3QgLmZpbmdlciwgLmZvb3Qucmd0IC5maW5nZXI6YWZ0ZXIsIC5mb290LnJndCAuZmluZ2VyOmJlZm9yZSB7DQogIGxlZnQ6IDVweDsNCiAgcmlnaHQ6IGF1dG87DQp9DQouZm9vdC5yZ3QgLmZpbmdlcjphZnRlciB7DQogIGxlZnQ6IDMwcHg7DQogIHJpZ2h0OiBhdXRvOw0KfQ0KLmZvb3Qucmd0IC5maW5nZXI6YmVmb3JlIHsNCiAgbGVmdDogNTVweDsNCiAgcmlnaHQ6IGF1dG87DQp9DQoNCi5mb3JtIHsNCiAgZGlzcGxheTogbm9uZTsNCiAgbWF4LXdpZHRoOiA0MDBweDsNCiAgcGFkZGluZzogMjBweCA0MHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBoZWlnaHQ6IDMwMHB4Ow0KICBtYXJnaW46IGF1dG87DQogIGRpc3BsYXk6IGJsb2NrOw0KICBib3gtc2hhZG93OiAwIDEwcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMTUpOw0KICB0cmFuc2l0aW9uOiAwLjNzOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpOw0KICB6LWluZGV4OiA1MDA7DQogIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7DQp9DQouZm9ybS51cCB7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTgwcHgpOw0KfQ0KDQpoMSB7DQogIGNvbG9yOiAjMDAwOw0KICBmb250LWZhbWlseTogJ0RhbmNpbmcgU2NyaXB0JywgY3Vyc2l2ZTsNCn0NCg0KLmJ0biB7DQogIGJhY2tncm91bmQ6ICNmZmY7DQogIHBhZGRpbmc6IDVweDsNCiAgd2lkdGg6IDE1MHB4Ow0KICBoZWlnaHQ6IDM1cHg7DQogIGJvcmRlcjogMXB4IHNvbGlkICMwMGZmZmM7DQogIG1hcmdpbi10b3A6IDI1cHg7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgdHJhbnNpdGlvbjogMC4zczsNCiAgYm94LXNoYWRvdzogMCA1MHB4ICMwMGZmZmMgaW5zZXQ7DQogIGNvbG9yOiAjMDAwOw0KICBmb250LXdlaWdodDogNzAwOw0KfQ0KLmJ0bjpob3ZlciB7DQogIGJveC1zaGFkb3c6IDAgMCAjMDBmZmZjIGluc2V0Ow0KICBjb2xvcjogIzAwMDsNCn0NCi5idG46Zm9jdXMgew0KICBvdXRsaW5lOiBub25lOw0KfQ0KDQouZm9ybS1ncm91cCB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgZm9udC1zaXplOiAxNXB4Ow0KICBjb2xvcjogIzY2NjsNCn0NCi5mb3JtLWdyb3VwICsgLmZvcm0tZ3JvdXAgew0KICBtYXJnaW4tdG9wOiAzMHB4Ow0KfQ0KLmZvcm0tZ3JvdXAgLmZvcm0tbGFiZWwgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IDE7DQogIGxlZnQ6IDA7DQogIHRvcDogNXB4Ow0KICB0cmFuc2l0aW9uOiAwLjNzOw0KfQ0KLmZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbCB7DQogIHdpZHRoOiAxMDAlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHotaW5kZXg6IDM7DQogIGhlaWdodDogMzVweDsNCiAgYmFja2dyb3VuZDogbm9uZTsNCiAgYm9yZGVyOiBub25lOw0KICBwYWRkaW5nOiA1cHggMDsNCiAgdHJhbnNpdGlvbjogMC4zczsNCiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3Nzc7DQogIGNvbG9yOiAjNTU1Ow0KfQ0KLmZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbDppbnZhbGlkIHsNCiAgb3V0bGluZTogbm9uZTsNCn0NCi5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6Zm9jdXMsIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6dmFsaWQgew0KICBvdXRsaW5lOiBub25lOw0KICBib3gtc2hhZG93OiAwIDFweCAjMDBmZmZjOw0KICBib3JkZXItY29sb3I6ICMwMGZmZmM7DQp9DQouZm9ybS1ncm91cCAuZm9ybS1jb250cm9sOmZvY3VzICsgLmZvcm0tbGFiZWwsIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6dmFsaWQgKyAuZm9ybS1sYWJlbCB7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgY29sb3I6ICMwMDA7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7DQp9DQoNCi5hbGVydCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgY29sb3I6ICNmMDA7DQogIGZvbnQtc2l6ZTogMTZweDsNCiAgcmlnaHQ6IC0xODBweDsNCiAgdG9wOiAtMzAwcHg7DQogIHotaW5kZXg6IDIwMDsNCiAgcGFkZGluZzogMzBweCAyNXB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpOw0KICBib3JkZXItcmFkaXVzOiA1MCU7DQogIG9wYWNpdHk6IDA7DQogIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7DQogIC1tb3otdHJhbnNpdGlvbjogbGluZWFyIDAuNHMgMC42czsNCiAgLW8tdHJhbnNpdGlvbjogbGluZWFyIDAuNHMgMC42czsNCiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsaW5lYXIgMC40czsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjZzOw0KICB0cmFuc2l0aW9uOiBsaW5lYXIgMC40cyAwLjZzOw0KfQ0KLmFsZXJ0OmFmdGVyLCAuYWxlcnQ6YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgd2lkdGg6IDI1cHg7DQogIGhlaWdodDogMjVweDsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCiAgbGVmdDogLTE5cHg7DQogIGJvdHRvbTogLThweDsNCiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsNCiAgYm9yZGVyLXJhZGl1czogNTAlOw0KfQ0KLmFsZXJ0OmJlZm9yZSB7DQogIHdpZHRoOiAxNXB4Ow0KICBoZWlnaHQ6IDE1cHg7DQogIGxlZnQ6IC0zNXB4Ow0KICBib3R0b206IC0yNXB4Ow0KfQ0KDQoud3JvbmctZW50cnkgew0KICAtd2Via2l0LWFuaW1hdGlvbjogd3JvbmctbG9nIDAuM3M7DQogIGFuaW1hdGlvbjogd3JvbmctbG9nIDAuM3M7DQp9DQoud3JvbmctZW50cnkgLmFsZXJ0IHsNCiAgb3BhY2l0eTogMTsNCiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBleWUtYmxpbmsgew0KICB0byB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICB9DQp9DQpAa2V5ZnJhbWVzIGV5ZS1ibGluayB7DQogIHRvIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogIH0NCn0NCkAtd2Via2l0LWtleWZyYW1lcyB3cm9uZy1sb2cgew0KICAwJSwgMTAwJSB7DQogICAgbGVmdDogMHB4Ow0KICB9DQogIDIwJSAsIDYwJSB7DQogICAgbGVmdDogMjBweDsNCiAgfQ0KICA0MCUgLCA4MCUgew0KICAgIGxlZnQ6IC0yMHB4Ow0KICB9DQp9DQpAa2V5ZnJhbWVzIHdyb25nLWxvZyB7DQogIDAlLCAxMDAlIHsNCiAgICBsZWZ0OiAwcHg7DQogIH0NCiAgMjAlICwgNjAlIHsNCiAgICBsZWZ0OiAyMHB4Ow0KICB9DQogIDQwJSAsIDgwJSB7DQogICAgbGVmdDogLTIwcHg7DQogIH0NCn0NCg0KDQoNCg0KICAgICAgICAvKiAtLSBFeHRlcm5hbCBTb2NpYWwgTGluayBDU1MgU3R5bGVzIC0tICovDQoNCiAgICAgICAgI3NvdXJjZS1saW5rIHsNCiAgICAgICAgICAgIHRvcDogMTIwcHg7DQogICAgICAgIH0NCg0KICAgICAgICAjc291cmNlLWxpbms+aSB7DQogICAgICAgICAgICBjb2xvcjogcmdiKDk0LCAxMDYsIDIxMCk7DQogICAgICAgIH0NCg0KICAgICAgICAjeXQtbGluayB7DQogICAgICAgICAgICB0b3A6IDY1cHg7DQogICAgICAgIH0NCg0KICAgICAgICAjeXQtbGluaz5pIHsNCiAgICAgICAgICAgIGNvbG9yOiByZ2IoMjE5LCAzMSwgMTA2KTsNCg0KICAgICAgICB9DQoNCiAgICAgICAgI0Z1bmQtbGluayB7DQogICAgICAgICAgICB0b3A6IDEwcHg7DQogICAgICAgIH0NCg0KICAgICAgICAjRnVuZC1saW5rPmkgew0KICAgICAgICAgICAgY29sb3I6IHJnYigyNTUsIDI1MSwgMCk7DQoNCiAgICAgICAgfQ0KDQogICAgICAgIC5tZXRhLWxpbmsgew0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4Ow0KICAgICAgICAgICAgZ2FwOiA1cHg7DQogICAgICAgICAgICBsZWZ0OiAxMHB4Ow0KICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4Ow0KICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOw0KICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA2MDBtcywgYm9yZGVyLWNvbG9yIDYwMG1zOw0KICAgICAgICAgICAgei1pbmRleDogMTAwMDA7DQogICAgICAgIH0NCg0KICAgICAgICAubWV0YS1saW5rOmhvdmVyIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5tZXRhLWxpbms+aSwNCiAgICAgICAgLm1ldGEtbGluaz5zcGFuIHsNCiAgICAgICAgICAgIGhlaWdodDogMjBweDsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgICAgICB9DQoNCiAgICAgICAgLm1ldGEtbGluaz5zcGFuIHsNCiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAiUnViaWsiLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgNjAwbXM7DQogICAgICAgIH0NCjwvc3R5bGU+DQoNCjxkaXYgY2xhc3M9ImZvcm0iPg0KICAgICAgPGRpdiBjbGFzcz0iaGFuZCI+PC9kaXY+PD89ICR0aGlzLT5pbmNsdWRlKCdMYXlvdXQvbXNnU3RhdHVzJykgPz4NCiAgICAgIDxkaXYgY2xhc3M9ImhhbmQgcmd0Ij48L2Rpdj4NCiAgICAgIDxoMT7wnZCP8J2QkfCdkIjwnZCN8J2QgvCdkIQg8J2Qj/CdkIDwnZCN8J2QhPCdkIs8L2gxPg0KICAgICAgPD89IGZvcm1fb3BlbigpID8+DQogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJ1c2VybmFtZSI+PC9sYWJlbD4NCiAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0idXNlcm5hbWUiIGlkPSJ1c2VybmFtZSIgYXJpYS1kZXNjcmliZWRieT0iaGVscC11c2VybmFtZSIgcGxhY2Vob2xkZXI9IllvdXIgdXNlcm5hbWUiIHJlcXVpcmVkIG1pbmxlbmd0aD0iNCI+DQogICAgICAgICAgPD9waHAgaWYgKCR2YWxpZGF0aW9uLT5oYXNFcnJvcigndXNlcm5hbWUnKSkgOiA/Pg0KICAgICAgICAgIDxzbWFsbCBpZD0iaGVscC11c2VybmFtZSIgY2xhc3M9ImZvcm0tdGV4dCB0ZXh0LWRhbmdlciI+PD89ICR2YWxpZGF0aW9uLT5nZXRFcnJvcigndXNlcm5hbWUnKSA/Pjwvc21hbGw+DQogICAgICAgICAgPD9waHAgZW5kaWY7ID8+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0icGFzc3dvcmQiPjwvbGFiZWw+DQogICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJwYXNzd29yZCIgaWQ9InBhc3N3b3JkIiBhcmlhLWRlc2NyaWJlZGJ5PSJoZWxwLXBhc3N3b3JkIiBwbGFjZWhvbGRlcj0iWW91ciBwYXNzd29yZCIgcmVxdWlyZWQgbWlubGVuZ3RoPSI2Ij4NCiAgICAgICAgICA8P3BocCBpZiAoJHZhbGlkYXRpb24tPmhhc0Vycm9yKCdwYXNzd29yZCcpKSA6ID8+DQogICAgICAgICAgPHNtYWxsIGlkPSJoZWxwLXBhc3N3b3JkIiBjbGFzcz0iZm9ybS10ZXh0IHRleHQtZGFuZ2VyIj48Pz0gJHZhbGlkYXRpb24tPmdldEVycm9yKCdwYXNzd29yZCcpID8+PC9zbWFsbD4NCiAgICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biI+PjxpIGNsYXNzPSJiaSBiaS1ib3gtYXJyb3ctaW4tcmlnaHQiID48L2k+IExvZyBpbjwvYnV0dG9uPg0KICAgICAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8cCBjbGFzcz0idGV4dC1jZW50ZXIgdGV4dC1kYXJrIGFmdGVyLWNhcmQiPg0KICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJiZy1kYXJrIHRleHQtd2hpdGUgcHgtYXV0byBwLTIgcm91bmRlZCI+DQogICAgICAgICAgICAgICAg8J2Qt/CdkZwg8J2Rm/CdkZzwnZGhIOKEjvCdkY7wnZGj8J2RkiDwnZGO8J2RmyDwnZC08J2RkPCdkZDwnZGc8J2RovCdkZvwnZGhIPCdkYzwnZGS8J2RoT8NCiAgICAgICAgICAgICAgICA8YSBocmVmPSI8Pz0gc2l0ZV91cmwoJ3JlZ2lzdGVyJykgPz4iIGNsYXNzPSJ0ZXh0LXdoaXRlIj7wnZG58J2ShvCdkojwnZKK8J2SlPCdkpXwnZKG8J2SkyDwnZGv8J2ShvCdkpPwnZKGPC9hPg0KICAgICAgICA8L3NtYWxsPg0KICAgICAgPC9wPg0KICAgICAgICAgICAgIDxkaXY+DQoNCiAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTk5cHg7IG1hcmdpbjogYXV0bzsiIGNsYXNzPSJidXR0b24tODUiIG9uY2xpY2s9ImJ1eSgpIiBzdHlsZT0ibWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzsiPvCdkIHwnZCU8J2QmCDwnZCR8J2QhPCdkIXwnZCE8J2QkfCdkIDwnZCLPC9kaXY+PC9wPg0KICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgIDxkaXY+ICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6IDE5OXB4OyBtYXJnaW46IGF1dG87IiBjbGFzcz0iYnV0dG9uLTg1IiBvbmNsaWNrPSJqb2luKCkiIHN0eWxlPSJtYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvOyI+8J2QifCdkI7wnZCI8J2QjSDwnZCT8J2QhPCdkIvwnZCE8J2QhvCdkJHwnZCA8J2QjDwvZGl2PiAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgPC9wPg0KICAgICAgICA8L2Rpdj4NCg0KDQo8c2NyaXB0Pg0KICAkKCcjcGFzc3dvcmQnKS5mb2N1c2luKGZ1bmN0aW9uKCl7DQogICAgICAkKCdmb3JtJykuYWRkQ2xhc3MoJ3VwJykNCiAgICB9KTsNCiAgICAkKCcjcGFzc3dvcmQnKS5mb2N1c291dChmdW5jdGlvbigpew0KICAgICAgJCgnZm9ybScpLnJlbW92ZUNsYXNzKCd1cCcpDQogICAgfSk7DQogICAgDQogICAgLy8gUGFuZGEgRXllIG1vdmUNCiAgICAkKGRvY3VtZW50KS5vbiggIm1vdXNlbW92ZSIsIGZ1bmN0aW9uKCBldmVudCApIHsNCiAgICAgIHZhciBkdyA9ICQoZG9jdW1lbnQpLndpZHRoKCkgLyAxNTsNCiAgICAgIHZhciBkaCA9ICQoZG9jdW1lbnQpLmhlaWdodCgpIC8gMTU7DQogICAgICB2YXIgeCA9IGV2ZW50LnBhZ2VYLyBkdzsNCiAgICAgIHZhciB5ID0gZXZlbnQucGFnZVkvIGRoOw0KICAgICAgJCgnLmV5ZS1iYWxsJykuY3NzKHsNCiAgICAgICAgd2lkdGggOiB4LA0KICAgICAgICBoZWlnaHQgOiB5DQogICAgICB9KTsNCiAgICB9KTsNCiAgICANCiAgICAvLyB2YWxpZGF0aW9uDQogICAgDQogICAgDQogICAgJCgnLmJ0bicpLmNsaWNrKGZ1bmN0aW9uKCl7DQogICAgICAkKCdmb3JtJykuYWRkQ2xhc3MoJ3dyb25nLWVudHJ5Jyk7DQogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgDQogICAgICAgICAgICQoJ2Zvcm0nKS5yZW1vdmVDbGFzcygnd3JvbmctZW50cnknKTsNCiAgICAgICAgIH0sMzAwMCApOw0KICAgIH0pOw0KICAgIA0KICAgIA0KICAgIA0KICAgIA0KICAgIDwvc2NyaXB0Pg0KDQoNCg0KPD89ICR0aGlzLT5lbmRTZWN0aW9uKCkgPz4= ?>

Did this file decode correctly?

Original Code

PD89ICR0aGlzLT5leHRlbmQoJ0xheW91dC9TdGFydGVyJykgPz4NCg0KPD89ICR0aGlzLT5zZWN0aW9uKCdjb250ZW50JykgPz4NCjxkaXYgY2xhc3M9InBhbmRhIj4NCiAgICA8YXVkaW8gc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiBjb250cm9scyBhdXRvcGxheSAgcHJlbG9hZD0iYXV0byI+DQogICAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSIvdW50aXRsZWQubXAzIj4NCjwvYXVkaW8+DQogPGRpdiBjbGFzcz0iY29sLXNtLTEyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQgZmFkZSBhbGVydC1zaW1wbGUgYWxlcnQtc3VjY2VzcyBhbGVydC1kaXNtaXNzaWJsZSB0ZXh0LWxlZnQgZm9udF9fZmFtaWx5LW1vbnRzZXJyYXQgZm9udF9fc2l6ZS0xNiBmb250X193ZWlnaHQtbGlnaHQgYnJrLWxpYnJhcnktcmVuZGVyZWQgcmVuZGVyZWQgc2hvdyI+DQogICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSBmb250X19zaXplLTE4IiBkYXRhLWRpc21pc3M9ImFsZXJ0Ij4NCgkJCQkJCQkJCTxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj48YT4NCiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXRpbWVzIGdyZWVuY3Jvc3MiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgPC9hPjwvc3Bhbj4NCgkJCQkJCQkJCTxzcGFuIGNsYXNzPSJzci1vbmx5Ij48L3NwYW4+IA0KCQkJCQkJCQk8L2J1dHRvbj4NCiAgICAgICAgICA8aSBjbGFzcz0ic3RhcnQtaWNvbiBmYXIgZmEtY2hlY2stY2lyY2xlIGZhYS10YWRhIGFuaW1hdGVkIj48L2k+DQogICAgICAgICAgPHN0cm9uZyBjbGFzcz0iZm9udF9fd2VpZ2h0LXNlbWlib2xkIj5IaSBXZWxjb21lPC9zdHJvbmc+PEI+IFBhbmVsIEVuY3J5cHRpb24gQlk6LSBQUklOQ0VBQUxZQU48L0I+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogIDxkaXYgY2xhc3M9ImVhciI+PC9kaXY+DQogIDxkaXYgY2xhc3M9ImZhY2UiPg0KICAgIDxkaXYgY2xhc3M9ImV5ZS1zaGFkZSI+PC9kaXY+DQogICAgPGRpdiBjbGFzcz0iZXllLXdoaXRlIj4NCiAgICAgIDxkaXYgY2xhc3M9ImV5ZS1iYWxsIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJleWUtc2hhZGUgcmd0Ij48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJleWUtd2hpdGUgcmd0Ij4NCiAgICAgIDxkaXYgY2xhc3M9ImV5ZS1iYWxsIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJub3NlIj48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJtb3V0aCI+PC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJib2R5Ij4gPC9kaXY+DQogIDxkaXYgY2xhc3M9ImZvb3QiPg0KICAgIDxkaXYgY2xhc3M9ImZpbmdlciI+PC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJmb290IHJndCI+DQogICAgPGRpdiBjbGFzcz0iZmluZ2VyIj48L2Rpdj4NCiAgICANCiAgPC9kaXY+DQo8L2Rpdj4NCg0KDQo8c3R5bGU+DQogICAgYWxlcnQ+LnN0YXJ0LWljb24gew0KICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICBtaW4td2lkdGg6IDIwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouYWxlcnQ+LnN0YXJ0LWljb24gew0KICAgIG1hcmdpbi1yaWdodDogNXB4Ow0KfQ0KDQouZ3JlZW5jcm9zcw0Kew0KICBmb250LXNpemU6MThweDsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIHRleHQtc2hhZG93OiBub25lOw0KfQ0KDQouYWxlcnQtc2ltcGxlLmFsZXJ0LXN1Y2Nlc3MNCnsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNiwgMjQxLCA2LCAwLjQ2KTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDE0OSwgNjYsIDAuMTIxNTY4NjI3NDUwOTgwMzkpOw0KICAgIGJveC1zaGFkb3c6IDBweCAwcHggMnB4ICMyNTljMDg7DQogICAgY29sb3I6ICNGRkZGRkY7DQogIHRleHQtc2hhZG93OiAycHggMXB4ICMwMDA0MGE7DQogIHRyYW5zaXRpb246MC41czsNCiAgY3Vyc29yOnBvaW50ZXI7DQp9DQouYWxlcnQtc3VjY2Vzczpob3ZlcnsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCAxNDksIDY2LCAwLjM1KTsNCiAgdHJhbnNpdGlvbjowLjVzOw0KfQ0KLmFsZXJ0LXNpbXBsZS5hbGVydC1pbmZvDQp7DQogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNiwgNDQsIDI0MSwgMC40Nik7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCA3MywgMTQ5LCAwLjEyMTU2ODYyNzQ1MDk4MDM5KTsNCiAgICBib3gtc2hhZG93OiAwcHggMHB4IDJweCAjMDM5NmZmOw0KICAgIGNvbG9yOiAjMDM5NmZmOw0KICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtaW5mbzpob3Zlcg0Ke3gNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCA3MywgMTQ5LCAwLjM1KTsNCiAgdHJhbnNpdGlvbjowLjVzOw0KfQ0KDQouYmx1ZS1jcm9zcw0Kew0KICBmb250LXNpemU6IDE4cHg7DQogICAgY29sb3I6ICMwYmQyZmY7DQogICAgdGV4dC1zaGFkb3c6IG5vbmU7DQp9DQoNCi5hbGVydC1zaW1wbGUuYWxlcnQtd2FybmluZw0Kew0KICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDEsIDE0MiwgNiwgMC44MSk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDEyOCwgMSwgMC4xNik7DQogICAgYm94LXNoYWRvdzogMHB4IDBweCAycHggI2ZmYjEwMzsNCiAgICBjb2xvcjogI2ZmYjEwMzsNCiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtd2FybmluZzpob3ZlcnsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDEyOCwgMSwgMC4zMyk7DQogIHRyYW5zaXRpb246MC41czsNCn0NCg0KLndhcm5pbmcNCnsNCiAgICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBjb2xvcjogI2ZmYjQwYjsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCn0NCg0KLmFsZXJ0LXNpbXBsZS5hbGVydC1kYW5nZXINCnsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDEsIDYsIDYsIDAuODEpOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCAxNywgMSwgMC4xNik7DQogICAgYm94LXNoYWRvdzogMHB4IDBweCAycHggI2ZmMDMwMzsNCiAgICBjb2xvcjogI2ZmMDMwMzsNCiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtZGFuZ2VyOmhvdmVyDQp7DQogICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCAxNywgMSwgMC4zMyk7DQogIHRyYW5zaXRpb246MC41czsNCn0NCg0KLmRhbmdlcg0Kew0KICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGNvbG9yOiAjZmYwMzAzOw0KICAgIHRleHQtc2hhZG93OiBub25lOw0KfQ0KDQouYWxlcnQtc2ltcGxlLmFsZXJ0LXByaW1hcnkNCnsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2LCAyNDEsIDIyNiwgMC44MSk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCAyMDQsIDIyMCwgMC4xNik7DQogICAgYm94LXNoYWRvdzogMHB4IDBweCAycHggIzAzZmZmNTsNCiAgICBjb2xvcjogIzAzZDBmZjsNCiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtcHJpbWFyeTpob3ZlcnsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCAyMDQsIDIyMCwgMC4zMyk7DQogICB0cmFuc2l0aW9uOjAuNXM7DQp9DQoNCi5hbGVydHByaW1hcnkNCnsNCiAgICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBjb2xvcjogIzAzZDBmZjsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCn0NCg0KLnNxdWFyZV9ib3ggew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0NXB4Ow0KICAgIG9wYWNpdHk6IDAuMzAyOw0KfQ0KDQouc3F1YXJlX2JveC5ib3hfdGhyZWUgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzI5MGE1OSAwJSwgIzNkNTdmNCAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMyOTBhNTkgMCUsICMzZDU3ZjQgMTAwJSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMyOTBhNTkgMCUsICMzZDU3ZjQgMTAwJSk7DQogICAgb3BhY2l0eTogMC4wNTk7DQogICAgbGVmdDogLTgwcHg7DQogICAgdG9wOiAtNjBweDsNCiAgICB3aWR0aDogNTAwcHg7DQogICAgaGVpZ2h0OiA1MDBweDsNCiAgICBib3JkZXItcmFkaXVzOiA0NXB4Ow0KfQ0KDQouc3F1YXJlX2JveC5ib3hfZm91ciB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTkwZGVnLCAjMjkwYTU5IDAlLCAjM2Q1N2Y0IDEwMCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzI5MGE1OSAwJSwgIzNkNTdmNCAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzI5MGE1OSAwJSwgIzNkNTdmNCAxMDAlKTsNCiAgICBvcGFjaXR5OiAwLjA1OTsNCiAgICBsZWZ0OiAxNTBweDsNCiAgICB0b3A6IC0yNXB4Ow0KICAgIHdpZHRoOiA1NTBweDsNCiAgICBoZWlnaHQ6IDU1MHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDQ1cHg7DQp9DQoNCi5hbGVydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICcnOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB3aWR0aDogMDsNCiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ0cHgpOw0KICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7DQogICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQ7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGxlZnQ6IDA7DQogICAgdG9wOiA1MCU7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKTsNCiAgICAgIGhlaWdodDogMjBweDsNCn0NCg0KLmZhLXRpbWVzDQp7DQotd2Via2l0LWFuaW1hdGlvbjogYmxpbmstMSAycyBpbmZpbml0ZSBib3RoOw0KCSAgICAgICAgYW5pbWF0aW9uOiBibGluay0xIDJzIGluZmluaXRlIGJvdGg7DQp9DQoNCg0KLyoqDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogKiBhbmltYXRpb24gYmxpbmstMQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICovDQpALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstMSB7DQogIDAlLA0KICA1MCUsDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgMjUlLA0KICA3NSUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCkBrZXlmcmFtZXMgYmxpbmstMSB7DQogIDAlLA0KICA1MCUsDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgMjUlLA0KICA3NSUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCjwvc3R5bGU+DQo8c3R5bGU+DQogIA0KQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PURhbmNpbmcrU2NyaXB0fFJvYm90byk7DQoqLCAqOmFmdGVyLCAqOmJlZm9yZSB7DQogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCmJvZHkgew0KICBiYWNrZ3JvdW5kOiAjMDBmZmZjOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCg0KfQ0KDQoucGFuZGEgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHdpZHRoOiAyMDBweDsNCiAgbWFyZ2luOiA1MHB4IGF1dG87DQp9DQoNCi5mYWNlIHsNCiAgd2lkdGg6IDIwMHB4Ow0KICBoZWlnaHQ6IDIwMHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICBtYXJnaW46IDUwcHggYXV0bzsNCiAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggDQogIHJnYmEoMCwgMCwgMCwgMC4xNSk7DQogIHotaW5kZXg6IDUwOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5lYXIsIC5lYXI6YWZ0ZXIgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdpZHRoOiA4MHB4Ow0KICBoZWlnaHQ6IDgwcHg7DQogIGJhY2tncm91bmQ6ICMwMDA7DQogIHotaW5kZXg6IDU7DQogIGJvcmRlcjogMTBweCBzb2xpZCAjZmZmOw0KICBsZWZ0OiAtMTVweDsNCiAgdG9wOiAtMTVweDsNCiAgYm9yZGVyLXJhZGl1czogMTAwJTsNCn0NCg0KLmVhcjphZnRlciB7DQogIGNvbnRlbnQ6ICcnOw0KICBsZWZ0OiAxMjVweDsNCn0NCg0KLmV5ZS1zaGFkZSB7DQogIGJhY2tncm91bmQ6ICMwMDA7DQogIHdpZHRoOiA1MHB4Ow0KICBoZWlnaHQ6IDgwcHg7DQogIG1hcmdpbjogMTBweDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDM1cHg7DQogIGxlZnQ6IDI1cHg7DQogIHRyYW5zZm9ybTogcm90YXRlKDIyMGRlZyk7DQogIGJvcmRlci1yYWRpdXM6IDI1cHgvMjBweCANCiAgMzBweCAzNXB4IDQwcHg7DQp9DQouZXllLXNoYWRlLnJndCB7DQogIHRyYW5zZm9ybTogcm90YXRlKDE0MGRlZyk7DQogIGxlZnQ6IDEwNXB4Ow0KfQ0KDQouZXllLXdoaXRlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB3aWR0aDogMzBweDsNCiAgaGVpZ2h0OiAzMHB4Ow0KICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICB6LWluZGV4OiA1MDA7DQogIGxlZnQ6IDQwcHg7dG9wOiA4MHB4Ow0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KDQouZXllLXdoaXRlLnJndCB7DQogIHJpZ2h0OiA0MHB4Ow0KICBsZWZ0OiBhdXRvOw0KfQ0KDQouZXllLWJhbGwgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdpZHRoOiAwcHg7DQogIGhlaWdodDogMHB4Ow0KICBsZWZ0OiAyMHB4O3RvcDogMjBweDsNCiAgbWF4LXdpZHRoOiAxMHB4Ow0KICBtYXgtaGVpZ2h0OiAxMHB4Ow0KICB0cmFuc2l0aW9uOiAwLjFzOw0KfQ0KDQouZXllLWJhbGw6YWZ0ZXIgew0KICBjb250ZW50OiAnJzsNCiAgYmFja2dyb3VuZDogIzAwMDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwcHg7DQogIHdpZHRoOiAyMHB4Ow0KICBoZWlnaHQ6IDIwcHg7DQp9DQoNCi5ub3NlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBoZWlnaHQ6IDIwcHg7DQogIHdpZHRoOiAzNXB4Ow0KICBib3R0b206IDQwcHg7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KICBtYXJnaW46IGF1dG87DQogIGJvcmRlci1yYWRpdXM6IDUwcHggMjBweC8zMHB4IDE1cHg7DQogIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsNCiAgYmFja2dyb3VuZDogIzAwMDsNCn0NCg0KLmJvZHkgew0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMjAwcHg7DQogIGxlZnQ6IC0yMHB4Ow0KICBib3JkZXItcmFkaXVzOiAxMDBweCAxMDBweCAxMDBweCAxMDBweC8xMjZweCAxMjZweCA5NnB4IDk2cHg7DQogIHdpZHRoOiAyNTBweDsNCiAgaGVpZ2h0OiAyODJweDsNCiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7DQp9DQoNCi5oYW5kLCAuaGFuZDphZnRlciwgLmhhbmQ6YmVmb3JlIHsNCiAgd2lkdGg6IDQwcHg7DQogIGhlaWdodDogMzBweDsNCiAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgYm94LXNoYWRvdzogMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7DQogIGJhY2tncm91bmQ6ICMwMDA7DQogIG1hcmdpbjogNXB4Ow0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogNzBweDsNCiAgbGVmdDogLTI1cHg7DQp9DQouaGFuZDphZnRlciwgLmhhbmQ6YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIGxlZnQ6IC01cHg7DQogIHRvcDogMTFweDsNCn0NCi5oYW5kOmJlZm9yZSB7DQogIHRvcDogMjZweDsNCn0NCi5oYW5kLnJndCwgLnJndC5oYW5kOmFmdGVyLCAucmd0LmhhbmQ6YmVmb3JlIHsNCiAgbGVmdDogYXV0bzsNCiAgcmlnaHQ6IC0yNXB4Ow0KfQ0KLmhhbmQucmd0OmFmdGVyLCAuaGFuZC5yZ3Q6YmVmb3JlIHsNCiAgbGVmdDogYXV0bzsNCiAgcmlnaHQ6IC01cHg7DQp9DQoNCi5mb290IHsNCiAgdG9wOiAzNjBweDsNCiAgbGVmdDogLTgwcHg7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYmFja2dyb3VuZDogIzAwMDsNCiAgei1pbmRleDogMTQwMDsNCiAgYm94LXNoYWRvdzogMCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsNCiAgYm9yZGVyLXJhZGl1czogNDBweCA0MHB4IDM5cHggNDBweC8yNnB4IDI2cHggNjNweCA2M3B4Ow0KICB3aWR0aDogODJweDsNCiAgaGVpZ2h0OiAxMjBweDsNCn0NCi5mb290OmFmdGVyIHsNCiAgY29udGVudDogJyc7DQogIHdpZHRoOiA1NXB4Ow0KICBoZWlnaHQ6IDY1cHg7DQogIGJhY2tncm91bmQ6ICMyMjI7DQogIGJvcmRlci1yYWRpdXM6IDEwMCU7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYm90dG9tOiAxMHB4Ow0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgbWFyZ2luOiBhdXRvOw0KfQ0KLmZvb3QgLmZpbmdlciwgLmZvb3QgLmZpbmdlcjphZnRlciwgLmZvb3QgLmZpbmdlcjpiZWZvcmUgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdpZHRoOiAyNXB4Ow0KICBoZWlnaHQ6IDM1cHg7DQogIGJhY2tncm91bmQ6ICMyMjI7DQogIGJvcmRlci1yYWRpdXM6IDEwMCU7DQogIHRvcDogMTBweDsNCiAgcmlnaHQ6IDVweDsNCn0NCi5mb290IC5maW5nZXI6YWZ0ZXIsIC5mb290IC5maW5nZXI6YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIHJpZ2h0OiAzMHB4Ow0KICB3aWR0aDogMjBweDsNCiAgdG9wOiAwOw0KfQ0KLmZvb3QgLmZpbmdlcjpiZWZvcmUgew0KICByaWdodDogNTVweDsNCiAgdG9wOiA1cHg7DQp9DQouZm9vdC5yZ3Qgew0KICBsZWZ0OiBhdXRvOw0KICByaWdodDogLTgwcHg7DQp9DQouZm9vdC5yZ3QgLmZpbmdlciwgLmZvb3Qucmd0IC5maW5nZXI6YWZ0ZXIsIC5mb290LnJndCAuZmluZ2VyOmJlZm9yZSB7DQogIGxlZnQ6IDVweDsNCiAgcmlnaHQ6IGF1dG87DQp9DQouZm9vdC5yZ3QgLmZpbmdlcjphZnRlciB7DQogIGxlZnQ6IDMwcHg7DQogIHJpZ2h0OiBhdXRvOw0KfQ0KLmZvb3Qucmd0IC5maW5nZXI6YmVmb3JlIHsNCiAgbGVmdDogNTVweDsNCiAgcmlnaHQ6IGF1dG87DQp9DQoNCi5mb3JtIHsNCiAgZGlzcGxheTogbm9uZTsNCiAgbWF4LXdpZHRoOiA0MDBweDsNCiAgcGFkZGluZzogMjBweCA0MHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBoZWlnaHQ6IDMwMHB4Ow0KICBtYXJnaW46IGF1dG87DQogIGRpc3BsYXk6IGJsb2NrOw0KICBib3gtc2hhZG93OiAwIDEwcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMTUpOw0KICB0cmFuc2l0aW9uOiAwLjNzOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpOw0KICB6LWluZGV4OiA1MDA7DQogIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7DQp9DQouZm9ybS51cCB7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTgwcHgpOw0KfQ0KDQpoMSB7DQogIGNvbG9yOiAjMDAwOw0KICBmb250LWZhbWlseTogJ0RhbmNpbmcgU2NyaXB0JywgY3Vyc2l2ZTsNCn0NCg0KLmJ0biB7DQogIGJhY2tncm91bmQ6ICNmZmY7DQogIHBhZGRpbmc6IDVweDsNCiAgd2lkdGg6IDE1MHB4Ow0KICBoZWlnaHQ6IDM1cHg7DQogIGJvcmRlcjogMXB4IHNvbGlkICMwMGZmZmM7DQogIG1hcmdpbi10b3A6IDI1cHg7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgdHJhbnNpdGlvbjogMC4zczsNCiAgYm94LXNoYWRvdzogMCA1MHB4ICMwMGZmZmMgaW5zZXQ7DQogIGNvbG9yOiAjMDAwOw0KICBmb250LXdlaWdodDogNzAwOw0KfQ0KLmJ0bjpob3ZlciB7DQogIGJveC1zaGFkb3c6IDAgMCAjMDBmZmZjIGluc2V0Ow0KICBjb2xvcjogIzAwMDsNCn0NCi5idG46Zm9jdXMgew0KICBvdXRsaW5lOiBub25lOw0KfQ0KDQouZm9ybS1ncm91cCB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgZm9udC1zaXplOiAxNXB4Ow0KICBjb2xvcjogIzY2NjsNCn0NCi5mb3JtLWdyb3VwICsgLmZvcm0tZ3JvdXAgew0KICBtYXJnaW4tdG9wOiAzMHB4Ow0KfQ0KLmZvcm0tZ3JvdXAgLmZvcm0tbGFiZWwgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IDE7DQogIGxlZnQ6IDA7DQogIHRvcDogNXB4Ow0KICB0cmFuc2l0aW9uOiAwLjNzOw0KfQ0KLmZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbCB7DQogIHdpZHRoOiAxMDAlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHotaW5kZXg6IDM7DQogIGhlaWdodDogMzVweDsNCiAgYmFja2dyb3VuZDogbm9uZTsNCiAgYm9yZGVyOiBub25lOw0KICBwYWRkaW5nOiA1cHggMDsNCiAgdHJhbnNpdGlvbjogMC4zczsNCiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3Nzc7DQogIGNvbG9yOiAjNTU1Ow0KfQ0KLmZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbDppbnZhbGlkIHsNCiAgb3V0bGluZTogbm9uZTsNCn0NCi5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6Zm9jdXMsIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6dmFsaWQgew0KICBvdXRsaW5lOiBub25lOw0KICBib3gtc2hhZG93OiAwIDFweCAjMDBmZmZjOw0KICBib3JkZXItY29sb3I6ICMwMGZmZmM7DQp9DQouZm9ybS1ncm91cCAuZm9ybS1jb250cm9sOmZvY3VzICsgLmZvcm0tbGFiZWwsIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6dmFsaWQgKyAuZm9ybS1sYWJlbCB7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgY29sb3I6ICMwMDA7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7DQp9DQoNCi5hbGVydCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgY29sb3I6ICNmMDA7DQogIGZvbnQtc2l6ZTogMTZweDsNCiAgcmlnaHQ6IC0xODBweDsNCiAgdG9wOiAtMzAwcHg7DQogIHotaW5kZXg6IDIwMDsNCiAgcGFkZGluZzogMzBweCAyNXB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpOw0KICBib3JkZXItcmFkaXVzOiA1MCU7DQogIG9wYWNpdHk6IDA7DQogIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7DQogIC1tb3otdHJhbnNpdGlvbjogbGluZWFyIDAuNHMgMC42czsNCiAgLW8tdHJhbnNpdGlvbjogbGluZWFyIDAuNHMgMC42czsNCiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsaW5lYXIgMC40czsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjZzOw0KICB0cmFuc2l0aW9uOiBsaW5lYXIgMC40cyAwLjZzOw0KfQ0KLmFsZXJ0OmFmdGVyLCAuYWxlcnQ6YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgd2lkdGg6IDI1cHg7DQogIGhlaWdodDogMjVweDsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCiAgbGVmdDogLTE5cHg7DQogIGJvdHRvbTogLThweDsNCiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsNCiAgYm9yZGVyLXJhZGl1czogNTAlOw0KfQ0KLmFsZXJ0OmJlZm9yZSB7DQogIHdpZHRoOiAxNXB4Ow0KICBoZWlnaHQ6IDE1cHg7DQogIGxlZnQ6IC0zNXB4Ow0KICBib3R0b206IC0yNXB4Ow0KfQ0KDQoud3JvbmctZW50cnkgew0KICAtd2Via2l0LWFuaW1hdGlvbjogd3JvbmctbG9nIDAuM3M7DQogIGFuaW1hdGlvbjogd3JvbmctbG9nIDAuM3M7DQp9DQoud3JvbmctZW50cnkgLmFsZXJ0IHsNCiAgb3BhY2l0eTogMTsNCiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBleWUtYmxpbmsgew0KICB0byB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICB9DQp9DQpAa2V5ZnJhbWVzIGV5ZS1ibGluayB7DQogIHRvIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogIH0NCn0NCkAtd2Via2l0LWtleWZyYW1lcyB3cm9uZy1sb2cgew0KICAwJSwgMTAwJSB7DQogICAgbGVmdDogMHB4Ow0KICB9DQogIDIwJSAsIDYwJSB7DQogICAgbGVmdDogMjBweDsNCiAgfQ0KICA0MCUgLCA4MCUgew0KICAgIGxlZnQ6IC0yMHB4Ow0KICB9DQp9DQpAa2V5ZnJhbWVzIHdyb25nLWxvZyB7DQogIDAlLCAxMDAlIHsNCiAgICBsZWZ0OiAwcHg7DQogIH0NCiAgMjAlICwgNjAlIHsNCiAgICBsZWZ0OiAyMHB4Ow0KICB9DQogIDQwJSAsIDgwJSB7DQogICAgbGVmdDogLTIwcHg7DQogIH0NCn0NCg0KDQoNCg0KICAgICAgICAvKiAtLSBFeHRlcm5hbCBTb2NpYWwgTGluayBDU1MgU3R5bGVzIC0tICovDQoNCiAgICAgICAgI3NvdXJjZS1saW5rIHsNCiAgICAgICAgICAgIHRvcDogMTIwcHg7DQogICAgICAgIH0NCg0KICAgICAgICAjc291cmNlLWxpbms+aSB7DQogICAgICAgICAgICBjb2xvcjogcmdiKDk0LCAxMDYsIDIxMCk7DQogICAgICAgIH0NCg0KICAgICAgICAjeXQtbGluayB7DQogICAgICAgICAgICB0b3A6IDY1cHg7DQogICAgICAgIH0NCg0KICAgICAgICAjeXQtbGluaz5pIHsNCiAgICAgICAgICAgIGNvbG9yOiByZ2IoMjE5LCAzMSwgMTA2KTsNCg0KICAgICAgICB9DQoNCiAgICAgICAgI0Z1bmQtbGluayB7DQogICAgICAgICAgICB0b3A6IDEwcHg7DQogICAgICAgIH0NCg0KICAgICAgICAjRnVuZC1saW5rPmkgew0KICAgICAgICAgICAgY29sb3I6IHJnYigyNTUsIDI1MSwgMCk7DQoNCiAgICAgICAgfQ0KDQogICAgICAgIC5tZXRhLWxpbmsgew0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4Ow0KICAgICAgICAgICAgZ2FwOiA1cHg7DQogICAgICAgICAgICBsZWZ0OiAxMHB4Ow0KICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4Ow0KICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOw0KICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA2MDBtcywgYm9yZGVyLWNvbG9yIDYwMG1zOw0KICAgICAgICAgICAgei1pbmRleDogMTAwMDA7DQogICAgICAgIH0NCg0KICAgICAgICAubWV0YS1saW5rOmhvdmVyIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5tZXRhLWxpbms+aSwNCiAgICAgICAgLm1ldGEtbGluaz5zcGFuIHsNCiAgICAgICAgICAgIGhlaWdodDogMjBweDsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgICAgICB9DQoNCiAgICAgICAgLm1ldGEtbGluaz5zcGFuIHsNCiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAiUnViaWsiLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgNjAwbXM7DQogICAgICAgIH0NCjwvc3R5bGU+DQoNCjxkaXYgY2xhc3M9ImZvcm0iPg0KICAgICAgPGRpdiBjbGFzcz0iaGFuZCI+PC9kaXY+PD89ICR0aGlzLT5pbmNsdWRlKCdMYXlvdXQvbXNnU3RhdHVzJykgPz4NCiAgICAgIDxkaXYgY2xhc3M9ImhhbmQgcmd0Ij48L2Rpdj4NCiAgICAgIDxoMT7wnZCP8J2QkfCdkIjwnZCN8J2QgvCdkIQg8J2Qj/CdkIDwnZCN8J2QhPCdkIs8L2gxPg0KICAgICAgPD89IGZvcm1fb3BlbigpID8+DQogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJ1c2VybmFtZSI+PC9sYWJlbD4NCiAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0idXNlcm5hbWUiIGlkPSJ1c2VybmFtZSIgYXJpYS1kZXNjcmliZWRieT0iaGVscC11c2VybmFtZSIgcGxhY2Vob2xkZXI9IllvdXIgdXNlcm5hbWUiIHJlcXVpcmVkIG1pbmxlbmd0aD0iNCI+DQogICAgICAgICAgPD9waHAgaWYgKCR2YWxpZGF0aW9uLT5oYXNFcnJvcigndXNlcm5hbWUnKSkgOiA/Pg0KICAgICAgICAgIDxzbWFsbCBpZD0iaGVscC11c2VybmFtZSIgY2xhc3M9ImZvcm0tdGV4dCB0ZXh0LWRhbmdlciI+PD89ICR2YWxpZGF0aW9uLT5nZXRFcnJvcigndXNlcm5hbWUnKSA/Pjwvc21hbGw+DQogICAgICAgICAgPD9waHAgZW5kaWY7ID8+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0icGFzc3dvcmQiPjwvbGFiZWw+DQogICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJwYXNzd29yZCIgaWQ9InBhc3N3b3JkIiBhcmlhLWRlc2NyaWJlZGJ5PSJoZWxwLXBhc3N3b3JkIiBwbGFjZWhvbGRlcj0iWW91ciBwYXNzd29yZCIgcmVxdWlyZWQgbWlubGVuZ3RoPSI2Ij4NCiAgICAgICAgICA8P3BocCBpZiAoJHZhbGlkYXRpb24tPmhhc0Vycm9yKCdwYXNzd29yZCcpKSA6ID8+DQogICAgICAgICAgPHNtYWxsIGlkPSJoZWxwLXBhc3N3b3JkIiBjbGFzcz0iZm9ybS10ZXh0IHRleHQtZGFuZ2VyIj48Pz0gJHZhbGlkYXRpb24tPmdldEVycm9yKCdwYXNzd29yZCcpID8+PC9zbWFsbD4NCiAgICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biI+PjxpIGNsYXNzPSJiaSBiaS1ib3gtYXJyb3ctaW4tcmlnaHQiID48L2k+IExvZyBpbjwvYnV0dG9uPg0KICAgICAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8cCBjbGFzcz0idGV4dC1jZW50ZXIgdGV4dC1kYXJrIGFmdGVyLWNhcmQiPg0KICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJiZy1kYXJrIHRleHQtd2hpdGUgcHgtYXV0byBwLTIgcm91bmRlZCI+DQogICAgICAgICAgICAgICAg8J2Qt/CdkZwg8J2Rm/CdkZzwnZGhIOKEjvCdkY7wnZGj8J2RkiDwnZGO8J2RmyDwnZC08J2RkPCdkZDwnZGc8J2RovCdkZvwnZGhIPCdkYzwnZGS8J2RoT8NCiAgICAgICAgICAgICAgICA8YSBocmVmPSI8Pz0gc2l0ZV91cmwoJ3JlZ2lzdGVyJykgPz4iIGNsYXNzPSJ0ZXh0LXdoaXRlIj7wnZG58J2ShvCdkojwnZKK8J2SlPCdkpXwnZKG8J2SkyDwnZGv8J2ShvCdkpPwnZKGPC9hPg0KICAgICAgICA8L3NtYWxsPg0KICAgICAgPC9wPg0KICAgICAgICAgICAgIDxkaXY+DQoNCiAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTk5cHg7IG1hcmdpbjogYXV0bzsiIGNsYXNzPSJidXR0b24tODUiIG9uY2xpY2s9ImJ1eSgpIiBzdHlsZT0ibWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzsiPvCdkIHwnZCU8J2QmCDwnZCR8J2QhPCdkIXwnZCE8J2QkfCdkIDwnZCLPC9kaXY+PC9wPg0KICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgIDxkaXY+ICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6IDE5OXB4OyBtYXJnaW46IGF1dG87IiBjbGFzcz0iYnV0dG9uLTg1IiBvbmNsaWNrPSJqb2luKCkiIHN0eWxlPSJtYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvOyI+8J2QifCdkI7wnZCI8J2QjSDwnZCT8J2QhPCdkIvwnZCE8J2QhvCdkJHwnZCA8J2QjDwvZGl2PiAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgPC9wPg0KICAgICAgICA8L2Rpdj4NCg0KDQo8c2NyaXB0Pg0KICAkKCcjcGFzc3dvcmQnKS5mb2N1c2luKGZ1bmN0aW9uKCl7DQogICAgICAkKCdmb3JtJykuYWRkQ2xhc3MoJ3VwJykNCiAgICB9KTsNCiAgICAkKCcjcGFzc3dvcmQnKS5mb2N1c291dChmdW5jdGlvbigpew0KICAgICAgJCgnZm9ybScpLnJlbW92ZUNsYXNzKCd1cCcpDQogICAgfSk7DQogICAgDQogICAgLy8gUGFuZGEgRXllIG1vdmUNCiAgICAkKGRvY3VtZW50KS5vbiggIm1vdXNlbW92ZSIsIGZ1bmN0aW9uKCBldmVudCApIHsNCiAgICAgIHZhciBkdyA9ICQoZG9jdW1lbnQpLndpZHRoKCkgLyAxNTsNCiAgICAgIHZhciBkaCA9ICQoZG9jdW1lbnQpLmhlaWdodCgpIC8gMTU7DQogICAgICB2YXIgeCA9IGV2ZW50LnBhZ2VYLyBkdzsNCiAgICAgIHZhciB5ID0gZXZlbnQucGFnZVkvIGRoOw0KICAgICAgJCgnLmV5ZS1iYWxsJykuY3NzKHsNCiAgICAgICAgd2lkdGggOiB4LA0KICAgICAgICBoZWlnaHQgOiB5DQogICAgICB9KTsNCiAgICB9KTsNCiAgICANCiAgICAvLyB2YWxpZGF0aW9uDQogICAgDQogICAgDQogICAgJCgnLmJ0bicpLmNsaWNrKGZ1bmN0aW9uKCl7DQogICAgICAkKCdmb3JtJykuYWRkQ2xhc3MoJ3dyb25nLWVudHJ5Jyk7DQogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgDQogICAgICAgICAgICQoJ2Zvcm0nKS5yZW1vdmVDbGFzcygnd3JvbmctZW50cnknKTsNCiAgICAgICAgIH0sMzAwMCApOw0KICAgIH0pOw0KICAgIA0KICAgIA0KICAgIA0KICAgIA0KICAgIDwvc2NyaXB0Pg0KDQoNCg0KPD89ICR0aGlzLT5lbmRTZWN0aW9uKCkgPz4=

Function Calls

None

Variables

None

Stats

MD5 a8d97fb6201da5655c1a77364eb32063
Eval Count 0
Decode Time 747 ms