1234567891011121314151617 |
- <?php
- $htmlCode = "PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+Cgk8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCB1c2VyLXNjYWxhYmxlPW5vLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIG1pbmltdW0tc2NhbGU9MS4wIj4KCTxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iaWU9ZWRnZSI+Cgk8dGl0bGU+PD9waHAgZWNobyAkbGFuZ1sn572R5YWz5L+u5aSN6KGl5LiBJ10/PjwvdGl0bGU+Cgk8c3R5bGU+CgkJYm9keXstLW1pbi13aWR0aDogOTAwcHg7LS1wcmltYXJ5LWNvbG9yOiAjMzY2MDkyO2Rpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjttYXJnaW46IDA7aGVpZ2h0OiAxMDB2aDttaW4td2lkdGg6IHZhcigtLW1pbi13aWR0aCk7b3ZlcmZsb3cteTogaGlkZGVuO30KCgkJLyog5qCH6aKY5aS06YOoICovCgkJLnRpdGxle2hlaWdodDogNDRweDtiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtjb2xvcjogI2ZmZjt0ZXh0LWFsaWduOiBjZW50ZXI7bGluZS1oZWlnaHQ6IDQ0cHg7Zm9udC1zaXplOiAxN3B4O2ZvbnQtd2VpZ2h0OiA3MDA7fQoKCQkvKiDkuLvkvZPlhoXlrrnljLogKi8KCQkubWFpbi1jb250ZW50e2ZsZXg6IDE7ZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uO3dpZHRoOiB2YXIoLS1taW4td2lkdGgpO21hcmdpbjogMCBhdXRvO292ZXJmbG93OiBoaWRkZW47bWF4LWhlaWdodDogNzAwcHh9CgkJLm1haW4tY29udGVudD4ubGlzdC1ib3h7ZmxleDogMTtkaXNwbGF5OiBmbGV4O3BhZGRpbmc6IDMwcHggMCAyMHB4O292ZXJmbG93OiBoaWRkZW47fQoJCS51bC13cmFwe2ZsZXg6IDE7ZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uO30KCgkJLyog572R5YWz5YiX6KGo5qCH6aKYICovCgkJLnVsLXdyYXA+LnVsLXRpdGxle21hcmdpbjogMDtwYWRkaW5nOiAxMHB4IDAgMTBweCAxNXB4O2JvcmRlcjogc29saWQgMXB4ICMzMzVkOGU7Ym9yZGVyLWJvdHRvbTogbm9uZTtjb2xvcjogI2ZmZjtiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTt9CgoJCS8qIOe9keWFs+WIl+ihqCAqLwoJCXVse2ZsZXg6IDE7bWFyZ2luOiAwO3BhZGRpbmc6IDAgMCAxOHB4IDA7Ym9yZGVyOiBzb2xpZCAxcHggI2NjYztvdmVyZmxvdy15OiBzY3JvbGw7fQoJCXVsPmxpe3Bvc2l0aW9uOiByZWxhdGl2ZTtsaXN0LXN0eWxlOiBub25lO3BhZGRpbmc6IDVweCAxNXB4IDVweCAxNXB4O2N1cnNvcjogcG9pbnRlcjt0cmFuc2l0aW9uOiAuMnN9CgkJdWw+bGk6YWZ0ZXJ7cG9zaXRpb246IGFic29sdXRlO2NvbnRlbnQ6ICcnO2xlZnQ6IDE1cHg7cmlnaHQ6IDA7Ym90dG9tOiAwO2hlaWdodDogMXB4O2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO30KCQl1bD5saT4ubmFtZXtmb250LXNpemU6IDEzcHg7bWFyZ2luOiA3cHggMDt9CgkJdWw+bGk+Lm5hbWU+c3Bhbntjb2xvcjogIzc3NztmbG9hdDogcmlnaHR9CgkJdWw+bGk+LmluZm97bWFyZ2luOiAwO2NvbG9yOiAjNzc3O30KCQl1bD5saT4uaW5mbz4uaXB7fQoJCXVsPmxpPi5pbmZvPi5tYWN7ZmxvYXQ6IHJpZ2h0O30KCgkJLyog572R5YWz5YiX6KGo6YCJ5Lit55qE6IOM5pmv6ImyICovCgkJdWw+bGkuYWN0aXZle2JhY2tncm91bmQ6ICNiYWNkZTY7fQoKCQkvKiDkuK3pl7TnmoTnrq3lpLTlm77moYggKi8KCQkuYXJyb3d7LS1oZWlnaHQ6IDIwcHg7cG9zaXRpb246IGFic29sdXRlO3RvcDogY2FsYyg1MCUgLSAodmFyKC0taGVpZ2h0KSAvIDIpKTt3aWR0aDogY2FsYygxMDAlIC0gMzVweCk7bWFyZ2luLWxlZnQ6IDE1cHg7aGVpZ2h0OiB2YXIoLS1oZWlnaHQpO2JvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS1wcmltYXJ5LWNvbG9yKTtib3JkZXItYm90dG9tOiBzb2xpZCAxcHggdmFyKC0tcHJpbWFyeS1jb2xvcik7fQoJCS5hcnJvdzpiZWZvcmUsIC5hcnJvdzphZnRlcntwb3NpdGlvbjogYWJzb2x1dGU7Y29udGVudDogJyc7cmlnaHQ6IC0xN3B4O2JvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS1wcmltYXJ5LWNvbG9yKTt3aWR0aDogNDBweDt9CgkJLmFycm93OmJlZm9yZXt0b3A6IC04cHg7dHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpO30KCQkuYXJyb3c6YWZ0ZXJ7Ym90dG9tOiAtOHB4O3RyYW5zZm9ybTogcm90YXRlKC02MGRlZyk7fQoKCQkvKiDkuIvmlrnmjInpkq4gKi8KCQkubWFpbi1jb250ZW50Pi5idG4tYm94IHtoZWlnaHQ6IDYwcHg7dGV4dC1hbGlnbjogY2VudGVyO30KCgkJLyog6buY6K6k5oyJ6ZKu5qC35byPICovCgkJLm1haW4tY29udGVudD4uYnRuLWJveD5idXR0b257cGFkZGluZzogOHB4IDIwcHg7Ym9yZGVyOiAycHggc29saWQgIzMzNWQ4ZTtiYWNrZ3JvdW5kOiAjNGE4ZGMxO2NvbG9yOiAjZmZmO21hcmdpbjogMCAyMHB4O2N1cnNvcjogcG9pbnRlcjt1c2VyLXNlbGVjdDogbm9uZTt9CgkJLm1haW4tY29udGVudD4uYnRuLWJveD5idXR0b246YWN0aXZle2JhY2tncm91bmQ6ICM0MTdiYTg7fQoKCQkvKiDliLfmlrDmjInpkq7moLflvI8gKi8KCQlidXR0b24jcmVmcmVzaC1idG57Ym9yZGVyLWNvbG9yOiAjM2Q2ZTNkO2JhY2tncm91bmQ6ICM1NTk3NTU7fQoJCWJ1dHRvbiNyZWZyZXNoLWJ0bjphY3RpdmV7YmFja2dyb3VuZDogIzQ5ODE0OTt9CgoJCS8qIOaBouWkjeWkh+S7veaMiemSruagt+W8jyAqLwoJCWJ1dHRvbiNyZXN0b3JlLWJ0bntib3JkZXItY29sb3I6ICNhMTU0MDg7YmFja2dyb3VuZDogI2UxNzUwYTt9CgkJYnV0dG9uI3Jlc3RvcmUtYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kOiAjYTE1NDA4O30KCgoJCS8qIOWKoOi9veeKtuaAgS3liqjmnaEgKi8KCQkubG9hZGluZy1ib3h7cG9zaXRpb246IGZpeGVkO3otaW5kZXg6IDk5OTk5O2xlZnQ6IDA7dG9wOiAwO3JpZ2h0OiAwO2JvdHRvbTogMDtiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4zKTtkaXNwbGF5OiBmbGV4O2FsaWduLWl0ZW1zOiBjZW50ZXI7fQoJCS5sb2FkaW5nLWJveCAud3JhcHtib3JkZXI6IDFweCBzb2xpZCAjMGFmO2JhY2tncm91bmQ6ICNmZmY7bWFyZ2luOiBhdXRvO3BhZGRpbmc6IDMwcHggNTBweDt9CgkJLmxvYWRpbmctYm94IC53cmFwIC5pdGVte3dpZHRoOiAzMDBweDt9CgkJLmxvYWRpbmctYm94IC53cmFwIC5pdGVtIC50aXB7Zm9udC1zaXplOiAxNXB4O21hcmdpbjogMDtwYWRkaW5nOiAwO3RleHQtYWxpZ246IGNlbnRlcjt9CgkJLmxvYWRpbmctYm94IC53cmFwIC5pdGVtIC5wcm9ncmVzcy1ib3h7cG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMjBweDtib3JkZXI6IHNvbGlkIDFweCAjMGFmO21hcmdpbi10b3A6IDEwcHg7b3ZlcmZsb3c6IGhpZGRlbjt9CgkJLmxvYWRpbmctYm94IC53cmFwIC5pdGVtIC5wcm9ncmVzcy1ib3ggLmJsb2Nre3Bvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDogMzBweDtoZWlnaHQ6IDEwMCU7YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IGJvdHRvbSwgIzUxYmRmOCwgIzBhNzdhOSk7YW5pbWF0aW9uLW5hbWU6IExvYWRpbmc7YW5pbWF0aW9uLWR1cmF0aW9uOiAyczthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO30KCQlAa2V5ZnJhbWVzIExvYWRpbmcgeyAwJXtsZWZ0OiAtMzBweDt9IDEwMCV7bGVmdDogMTAwJTt9IH0KCgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8ZGl2IGNsYXNzPSJ0aXRsZSI+Cgk8P3BocCBlY2hvICRsYW5nWyfnvZHlhbPkv67lpI3ooaXkuIEnXT8+Cgk8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjZjAwO21hcmdpbi1sZWZ0OiAxMHB4Ij48P3BocCBlY2hvICRsYW5nWycq5LuF6ZmQMi4wN+WPiuS7peS4i+ezu+e7n+S9v+eUqConXT8+PC9zcGFuPgo8L2Rpdj4KPGRpdiBjbGFzcz0ibWFpbi1jb250ZW50Ij4KCTxkaXYgY2xhc3M9Imxpc3QtYm94Ij4KCQk8ZGl2IGNsYXNzPSJ1bC13cmFwIj4KCQkJPGg0IGNsYXNzPSJ1bC10aXRsZSI+PD9waHAgZWNobyAkbGFuZ1sn5oGi5aSN5aSH5Lu95YmN55qE572R5YWz5YiX6KGoJ10/PjwvaDQ+CgkJCTx1bD48L3VsPgoJCTwvZGl2PgoKCQk8ZGl2IHN0eWxlPSJ3aWR0aDogOTBweDtwb3NpdGlvbjogcmVsYXRpdmUiPgoJCQk8ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+CgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9InVsLXdyYXAiPgoJCQk8aDQgY2xhc3M9InVsLXRpdGxlIj48P3BocCBlY2hvICRsYW5nWyfmgaLlpI3lpIfku73lkI7nmoTnvZHlhbPliJfooagnXT8+PC9oND4KCQkJPHVsPjwvdWw+CgkJPC9kaXY+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9ImJ0bi1ib3giPgoJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0icmVmcmVzaC1idG4iIG9uY2xpY2s9InJlZnJlc2hHYXRld2F5TGlzdCgpIj48P3BocCBlY2hvICRsYW5nWyfliLfmlrDliJfooagnXT8+PC9idXR0b24+CgkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJyZXN0b3JlLWJ0biIgb25jbGljaz0icmVzdG9yZSgpIj48P3BocCBlY2hvICRsYW5nWyfmgaLlpI3lpIfku70nXT8+PC9idXR0b24+CgkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJtZXJnZS1idG4iIG9uY2xpY2s9Im1lcmdlR2F0ZXdheURhdGEoKSI+PD9waHAgZWNobyAkbGFuZ1sn5L+u5aSNJ10/PjwvYnV0dG9uPgoJPC9kaXY+CjwvZGl2Pgo8L2JvZHk+CjxzY3JpcHQ+CglsZXQgTG9hZGluZyA9IHsKCQlnZXRTdGF0ZTogZnVuY3Rpb24gKCkgewoJCQlsZXQgc3RhdGUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJyZXF1ZXN0LWxvYWRpbmctc3RhdGUiKTsKCQkJcmV0dXJuIHN0YXRlID09IDEgPyB0cnVlIDogZmFsc2U7CgkJfSwKCQlzZXRTdGF0ZTogZnVuY3Rpb24gKHN0YXRlKSB7CgkJCXNlc3Npb25TdG9yYWdlLnNldEl0ZW0oInJlcXVlc3QtbG9hZGluZy1zdGF0ZSIsIHN0YXRlID8gMSA6IDApOwoJCX0sCgkJZ2V0TG9hZGluZ051bTogZnVuY3Rpb24gKCkgewoJCQlsZXQgbnVtID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgicmVxdWVzdC1sb2FkaW5nLW51bSIpOwoJCQlyZXR1cm4gbnVtID8gcGFyc2VJbnQobnVtKSA6IDA7CgkJfSwKCQlzZXRMb2FkaW5nTnVtOiBmdW5jdGlvbiAoYm9sKSB7CgkJCWlmIChib2wgPT09IGZhbHNlICYmIHRoaXMuZ2V0TG9hZGluZ051bSgpIDw9IDApIHsKCQkJCXJldHVybjsKCQkJfQoJCQlzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJyZXF1ZXN0LWxvYWRpbmctbnVtIiwgYm9sID8gdGhpcy5nZXRMb2FkaW5nTnVtKCkgKyAxIDogdGhpcy5nZXRMb2FkaW5nTnVtKCkgLSAxKTsKCQl9LAoJCWFkZExvYWRpbmc6IGZ1bmN0aW9uICh0aXApIHsKCQkJdGhpcy5zZXRMb2FkaW5nTnVtKHRydWUpOwoJCQlpZiAodGhpcy5nZXRTdGF0ZSgpID09PSBmYWxzZSkgewoJCQkJdGhpcy5zZXRTdGF0ZSh0cnVlKTsKCQkJCWlmIChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJsb2FkaW5nLWJveCIpLmxlbmd0aCA9PT0gMCkgewoJCQkJCWxldCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKQoJCQkJCWRpdi5jbGFzc05hbWUgPSAibG9hZGluZy1ib3giOwoJCQkJCWRpdi5pbm5lckhUTUwgPSBgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRpcCI+JHt0aXB9PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYm94Ij48c3BhbiBjbGFzcz0iYmxvY2siPjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+YAoJCQkJCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KQoJCQkJfSBlbHNlIHsKCQkJCQlpZiAodGlwICYmIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxvYWRpbmctYm94IikubGVuZ3RoICE9PSAwKSB7CgkJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxvYWRpbmctYm94IilbMF0uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgidGlwIilbMF0uaW5uZXJIVE1MID0gdGlwCgkJCQkJfQoJCQkJfQoJCQl9CgkJfSwKCQlyZW1Mb2FkaW5nOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMuc2V0TG9hZGluZ051bShmYWxzZSkKCQkJaWYgKHRoaXMuZ2V0TG9hZGluZ051bSgpID09PSAwKSB7CgkJCQl0aGlzLnNldFN0YXRlKGZhbHNlKQoJCQkJc2V0VGltZW91dCgoKSA9PiB7CgkJCQkJaWYgKHRoaXMuZ2V0U3RhdGUoKSA9PT0gZmFsc2UpIHsKCQkJCQkJaWYgKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxvYWRpbmctYm94IikubGVuZ3RoICE9PSAwKSB7CgkJCQkJCQlkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJsb2FkaW5nLWJveCIpWzBdLnJlbW92ZSgpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfSwgMTAwMCk7CgkJCX0KCQl9Cgl9Owo8L3NjcmlwdD4KPHNjcmlwdD4KCWNvbnN0IGFwaUxhbmd1YWdlID0gImpwbiI7CglyZWZyZXNoR2F0ZXdheUxpc3QoKTsKCgkvKioKCSAqIOWIt+aWsOe9keWFs+WIl+ihqAoJICovCglmdW5jdGlvbiByZWZyZXNoR2F0ZXdheUxpc3QoKXsKCQlwb3N0KHsKCQkJbG9hZGluZ1RpcDogIjw/cGhwIGVjaG8gJGxhbmdbJ+ato+WcqOWKoOi9vee9keWFs+WIl+ihqCddPz4iLAoJCQlkYXRhOiB7dHlwZTogImxpc3QifSwKCQkJc3VjY2VzczogKGNvZGUsIG1zZywgZGF0YSk9PnsKCQkJCWNsZWFyT2xkR2F0ZXdheUxpc3RFbGVtKCk7CgkJCQlmb3IgKGxldCBpIGluIGRhdGFbIm9sZExpc3QiXSl7CgkJCQkJbGV0IHJvdyA9IGRhdGFbIm9sZExpc3QiXVtpXTsKCQkJCQlhcHBlbmRPbGRHYXRld2F5TGlzdEVsZW0ocm93WyJpZCJdLCByb3dbIm5hbWUiXSwgcm93WyJpcCJdLCByb3dbIm1hYyJdKQoJCQkJfQoKCQkJCWNsZWFyTmV3R2F0ZXdheUxpc3RFbGVtKCk7CgkJCQlmb3IgKGxldCBpIGluIGRhdGFbIm5ld0xpc3QiXSl7CgkJCQkJbGV0IHJvdyA9IGRhdGFbIm5ld0xpc3QiXVtpXTsKCQkJCQlhcHBlbmROZXdHYXRld2F5TGlzdEVsZW0ocm93WyJpZCJdLCByb3dbIm5hbWUiXSwgcm93WyJpcCJdLCByb3dbIm1hYyJdKQoJCQkJfQoKCQkJCWlmKGRhdGEudmVyc2lvbiAmJiBkYXRhLnZlcnNpb24ubm93VmVyID49IDIuMTApewoJCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN0b3JlLWJ0biIpLnNldEF0dHJpYnV0ZSgic3R5bGUiLCAiZGlzcGxheTogbm9uZSIpOwoJCQkJfWVsc2V7CgkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3RvcmUtYnRuIikucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpOwoJCQkJfQoJCQl9CgkJfSkKCX0KCgkvKioKCSAqIOWQiOW5tue9keWFs+aVsOaNrgoJICovCglmdW5jdGlvbiBtZXJnZUdhdGV3YXlEYXRhKCl7CgkJcG9zdCh7CgkJCWxvYWRpbmdUaXA6ICI8P3BocCBlY2hvICRsYW5nWyfmraPlnKjkv67lpI3nvZHlhbMnXT8+IiwKCQkJZGF0YToge3R5cGU6ICJtZXJnZSJ9LAoJCQlzdWNjZXNzOiByZWZyZXNoR2F0ZXdheUxpc3QKCQl9KQoJfQoKCS8qKgoJICog5oGi5aSN5aSH5Lu9CgkgKi8KCWZ1bmN0aW9uIHJlc3RvcmUoKSB7CgkJbGV0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKQoJCWlucHV0LnNldEF0dHJpYnV0ZSgidHlwZSIsICJmaWxlIikKCQlpbnB1dC5zZXRBdHRyaWJ1dGUoImFjY2VwdCIsICIudGFyIikKCQlpbnB1dC5jbGljaygpOwoJCWlucHV0Lm9uY2hhbmdlID0gKCk9PnsKCQkJaWYoaW5wdXQuZmlsZXMubGVuZ3RoID09PSAwIHx8IGlucHV0LmZpbGVzWzBdLnNpemUgPT09IDApewoJCQkJYWxlcnQoIjw/cGhwIGVjaG8gJGxhbmdbJ+aWh+S7tuivu+WPlumUmeivr++8jOivt+mHjeaWsOmAieaLqeWkh+S7veaWh+S7tiddPz4iKQoJCQkJcmV0dXJuCgkJCX0KCQkJcG9zdCh7IC8vIOWkh+S7vee9keWFs+WIl+ihqAoJCQkJbG9hZGluZ1RpcDogIjw/cGhwIGVjaG8gJGxhbmdbJ+ato+WcqOWkh+S7vee9keWFs+WIl+ihqCddPz4iLAoJCQkJZGF0YToge3R5cGU6ICJiYWNrX2d3X2xpc3QifSwKCQkJCXN1Y2Nlc3M6ICgpPT57CgkJCQkJcG9zdCh7IC8vIOaBouWkjUFQUOWkh+S7vQoJCQkJCQlsb2FkaW5nVGlwOiAiPD9waHAgZWNobyAkbGFuZ1sn5q2j5Zyo5oGi5aSNYXBw5aSH5Lu9J10/PiIsCgkJCQkJCWRhdGE6IHt0eXBlOiAicmVzdG9yZSIsIGZpbGU6IGlucHV0LmZpbGVzWzBdfSwKCQkJCQkJc3VjY2VzczogKCk9PnsKCQkJCQkJCS8vIOWIt+aWsOe9keWFs+WIl+ihqAoJCQkJCQkJcmVmcmVzaEdhdGV3YXlMaXN0KCkKCQkJCQkJfSwKCQkJCQkJZmFpbDogKGNvZGUsIG1zZyk9PnsKCQkJCQkJCWFsZXJ0KG1zZykKCQkJCQkJfQoJCQkJCX0pCgkJCQl9LAoJCQkJZmFpbDogKGNvZGUsIG1zZyk9PnsKCQkJCQlhbGVydChtc2cpCgkJCQl9CgkJCX0pCgkJfQoJfQoKCgkvLyArLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIHwg5bel5YW35pa55rOVCgkvLyArLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgkvLyDojrflj5bnvZHlhbPliJfooahsaeWFg+e0oAoJZnVuY3Rpb24gZ2V0TGlFbGVtSHRtbChpZCwgbmFtZSwgaXAsIG1hYyl7CgkJcmV0dXJuIGAKCQk8bGk+CgkJCTxoNSBjbGFzcz0ibmFtZSI+JHtuYW1lfTxzcGFuPkd3SWQ6ICR7aWR9PC9zcGFuPjwvaDU+CgkJCTxwIGNsYXNzPSJpbmZvIj4KCQkJCTxzcGFuIGNsYXNzPSJpcCI+JHtpcH08L3NwYW4+CgkJCQk8c3BhbiBjbGFzcz0ibWFjIj4ke21hY308L3NwYW4+CgkJCTwvcD4KCQk8L2xpPmA7Cgl9CgoJLy8gb2xk572R5YWz5YiX6KGo5riF56m6CglmdW5jdGlvbiBjbGVhck9sZEdhdGV3YXlMaXN0RWxlbSgpe2RvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInVsLXdyYXAiKVswXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidWwiKVswXS5pbm5lckhUTUwgPSAiIn0KCS8vIG9sZOe9keWFs+WIl+ihqOi/veWKoAoJZnVuY3Rpb24gYXBwZW5kT2xkR2F0ZXdheUxpc3RFbGVtKGlkLCBuYW1lLCBpcCwgbWFjKXtkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ1bC13cmFwIilbMF0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInVsIilbMF0uaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLCBnZXRMaUVsZW1IdG1sKGlkLCBuYW1lLCBpcCwgbWFjKSl9CgoJLy8gbmV3572R5YWz5YiX6KGo5riF56m6CglmdW5jdGlvbiBjbGVhck5ld0dhdGV3YXlMaXN0RWxlbSgpe2RvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInVsLXdyYXAiKVsxXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidWwiKVswXS5pbm5lckhUTUwgPSAiIn0KCS8vIG5ld+e9keWFs+WIl+ihqOi/veWKoAoJZnVuY3Rpb24gYXBwZW5kTmV3R2F0ZXdheUxpc3RFbGVtKGlkLCBuYW1lLCBpcCwgbWFjKXtkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ1bC13cmFwIilbMV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInVsIilbMF0uaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLCBnZXRMaUVsZW1IdG1sKGlkLCBuYW1lLCBpcCwgbWFjKSl9CgoJLyoqCgkgKiBQT1NU6K+35rGCCgkgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMudXJsXSDor7fmsYLlnLDlnYAKCSAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9ucy5kYXRhXSDor7fmsYLmlbDmja4KCSAqIEBwYXJhbSB7c3RyaW5nfGJvb2xlYW59IFtvcHRpb25zLmxvYWRpbmdUaXBdIOivt+axguaPkOekugoJICogQHBhcmFtIHsoY29kZTogaW50LCBtc2c6IHN0cmluZywgZGF0YTogb2JqZWN0KT0+dm9pZH0gW29wdGlvbnMuY29tcGxldGVdIOWTjeW6lOWbnuiwgwoJICogQHBhcmFtIHsoY29kZTogaW50LCBtc2c6IHN0cmluZywgZGF0YTogb2JqZWN0KT0+dm9pZH0gW29wdGlvbnMuc3VjY2Vzc10g5oiQ5Yqf5ZON5bqU5Zue6LCDCgkgKiBAcGFyYW0geyhjb2RlOiBpbnQsIG1zZzogc3RyaW5nLCBkYXRhOiBvYmplY3QpPT52b2lkfSBbb3B0aW9ucy5mYWlsXSDlpLHotKXlk43lupTlm57osIMKCSAqLwoJZnVuY3Rpb24gcG9zdChvcHRpb25zKXsKCQlpZihvcHRpb25zLmxvYWRpbmdUaXAgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zLmxvYWRpbmdUaXAgIT09IGZhbHNlKXsKCQkJTG9hZGluZy5hZGRMb2FkaW5nKG9wdGlvbnMubG9hZGluZ1RpcD8gb3B0aW9ucy5sb2FkaW5nVGlwOiAi5aSE55CG5LitIikKCQl9CgoJCWxldCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCQl4aHIub3BlbigicG9zdCIsIG9wdGlvbnMudXJsPyBvcHRpb25zLnVybDogIiIsIHRydWUpOwoJCXhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSAoKSA9PiB7CgkJCWlmICh4aHIucmVhZHlTdGF0ZSA9PT0gNCl7CgkJCQlpZihvcHRpb25zLmxvYWRpbmdUaXAgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zLmxvYWRpbmdUaXAgIT09IGZhbHNlKXsKCQkJCQlMb2FkaW5nLnJlbUxvYWRpbmcoKQoJCQkJfQoJCQkJbGV0IGRhdGEgPSBKU09OLnBhcnNlKHhoci5yZXNwb25zZVRleHQpCgkJCQlpZihkYXRhLmNvZGUgPT09IDIwMCkgb3B0aW9ucy5zdWNjZXNzICYmIG9wdGlvbnMuc3VjY2VzcyhkYXRhWyJjb2RlIl0sIGRhdGFbIm1zZyJdLCBkYXRhWyJkYXRhIl0pOwoJCQkJZWxzZXsKCQkJCQlpZihvcHRpb25zLmZhaWwpewoJCQkJCQlvcHRpb25zLmZhaWwoZGF0YVsiY29kZSJdLCBkYXRhWyJtc2ciXSwgZGF0YVsiZGF0YSJdKQoJCQkJCX0KCQkJCQllbHNlewoJCQkJCQlzZXRUaW1lb3V0KCgpPT57CgkJCQkJCQlhbGVydChkYXRhWyJtc2ciXSk7CgkJCQkJCX0sIDExMDApCgkJCQkJfQoJCQkJfQoJCQkJb3B0aW9ucy5jb21wbGV0ZSAmJiBvcHRpb25zLmNvbXBsZXRlKGRhdGFbImNvZGUiXSwgZGF0YVsibXNnIl0sIGRhdGFbImRhdGEiXSk7CgkJCX0KCQl9CgkJbGV0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7CgkJZm9ybURhdGEuYXBwZW5kKCJsYW5nIiwgYXBpTGFuZ3VhZ2UpCgkJZm9yIChsZXQgaSBpbiBvcHRpb25zLmRhdGEpIGZvcm1EYXRhLmFwcGVuZChpLCBvcHRpb25zLmRhdGFbaV0pOwoJCXhoci5zZW5kKGZvcm1EYXRhKTsKCX0KPC9zY3JpcHQ+CjwvaHRtbD4K";
- $phpCode = "PD9waHAKCmNsYXNzIFBhdGNoQ2hhbmdlR1cgZXh0ZW5kcyBCYXNlCnsKCS8vIOaBouWkjeWkh+S7veWJjeeahOe9keWFs+WIl+ihqOWkh+S7veS/neWtmOaWh+S7tgoJY29uc3QgZ3dfYmFja19maWxlbmFtZSA9IF9fRElSX18uJy8uLi8uLi9sb2dzL29sZF9wYXRjaF9nd19iYWNrLmpzb24nOwoJY29uc3QgdmVyc2lvbl9maWxlbmFtZSA9IF9fRElSX18uJy8uLi8uLi92ZXInOwoKCXB1YmxpYyBmdW5jdGlvbiBpbmRleCgpCgl7CgoJCS8vIOi+k+WHumh0bWzpnZnmgIHpobXpnaIKCQlpZigkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSA9PSAnR0VUJyl7CgkJCSRsYW5nVGV4dFBvbmQgPSBbCgkJCQkn572R5YWz5L+u5aSN6KGl5LiBJwkJCQk9PiBbJ2VuJyA9PiAnQ2hhbmdlIEdhdGV3YXknLCAnamEnID0+ICfjgrLjg7zjg4jjgqbjgqfjgqTkuqTmj5snXSwKCQkJCScq5LuF6ZmQMi4wN+WPiuS7peS4i+ezu+e7n+S9v+eUqConCQk9PiBbJ2VuJyA9PiAnKFYxLjgzLVYyLjEwKScsICdqYScgPT4gJ++8iFYxLjgzLTIuMTDjgb7jgaflsILnlKjvvIknXSwKCQkJCSfmgaLlpI3lpIfku73liY3nmoTnvZHlhbPliJfooagnCQkJPT4gWydlbicgPT4gJ0dhdGV3YXkgRGF0YSBvZiBCZWZvcmUgUmVzdG9yZScsICdqYScgPT4gJ+ODquOCueODiOOCouWJjeOCsuODvOODiOOCpuOCp+OCpOODh+ODvOOCvyddLAoJCQkJJ+aBouWkjeWkh+S7veWQjueahOe9keWFs+WIl+ihqCcJCQk9PiBbJ2VuJyA9PiAnQ3VycmVudCBHYXRld2F5IERhdGEnLCAnamEnID0+ICfnj77lnKjjgrLjg7zjg4jjgqbjgqfjgqTjg4fjg7zjgr8nXSwKCQkJCSfliLfmlrDliJfooagnCQkJCQk9PiBbJ2VuJyA9PiAnUmVmcmVzaCcsICdqYScgPT4gJ+abtOaWsCddLAoJCQkJJ+aBouWkjeWkh+S7vScJCQkJCT0+IFsnZW4nID0+ICdSZXN0b3JlJywgJ2phJyA9PiAn44Oq44K544OI44KiJ10sCgkJCQkn5L+u5aSNJwkJCQkJCT0+IFsnZW4nID0+ICdDb3JyZWN0aW9uJywgJ2phJyA9PiAn5L+u5q2jJ10sCgkJCQkn5q2j5Zyo5Yqg6L29572R5YWz5YiX6KGoJwkJCQk9PiBbJ2VuJyA9PiAnR2F0ZXdheSBsaXN0IHVwZGF0ZScsICdqYScgPT4gJ+OCsuODvOODiOOCpuOCp+OCpOODquOCueODiOabtOaWsOS4rSddLAoJCQkJJ+ato+WcqOS/ruWkjee9keWFsycJCQkJPT4gWydlbicgPT4gJ0dhdGV3YXkgSUQgcmVwYWlyaW5nJywgJ2phJyA9PiAn44Ky44O844OI44Km44Kn44KkSUTkv67lvqnkuK0nXSwKCQkJCSfmlofku7bor7vlj5bplJnor6/vvIzor7fph43mlrDpgInmi6nlpIfku73mlofku7YnPT4gWydlbicgPT4gJ3Jlc3RvcmUgZmlsZSBlcnJvcicsICdqYScgPT4gJ+ODquOCueODiOOCouODleOCoeOCpOODq+eVsOW4uCddLAoJCQkJJ+ato+WcqOWkh+S7vee9keWFs+WIl+ihqCcJCQkJPT4gWydlbicgPT4gJ0dhdGV3YXkgbGlzdCBiYWNrdXAnLCAnamEnID0+ICfjgrLjg7zjg4jjgqbjgqfjgqTjg6rjgrnjg4jjg5Djg4Pjgq/jgqLjg4Pjg5fkuK0nXSwKCQkJCSfmraPlnKjmgaLlpI1hcHDlpIfku70nCQkJCT0+IFsnZW4nID0+ICdEdXJpbmcgQVBQIHJlc3RvcmUnLCAnamEnID0+ICdBUFDjg6rjgrnjg4jjgqLkuK0nXSwKCQkJXTsKCgkJCSRicm93c2VyX2xhbmdfcG9uZCA9IGV4cGxvZGUoJywnLCAkX1NFUlZFUlsnSFRUUF9BQ0NFUFRfTEFOR1VBR0UnXSk7CgkJCSRicm93c2VyX2xhbmd1YWdlID0gc3RydG9sb3dlcigkYnJvd3Nlcl9sYW5nX3BvbmRbMF0pOwoJCQkkaW5kZXggPSBzdHJwb3MoJGJyb3dzZXJfbGFuZ3VhZ2UsICctJykgIT09IGZhbHNlOwoJCQlpZigkaW5kZXggIT09IGZhbHNlKXsKCQkJCSRicm93c2VyX2xhbmd1YWdlID0gc3Vic3RyKCRicm93c2VyX2xhbmd1YWdlLCAwLCAkaW5kZXgrMSk7CgkJCX0KCgkJCSRsYW5nQXJyID0gW107CgkJCWZvcmVhY2ggKCRsYW5nVGV4dFBvbmQgYXMgJGs9PiR2KXsKCQkJCSRsYW5nQXJyWyRrXSA9ICFlbXB0eSgkdlskYnJvd3Nlcl9sYW5ndWFnZV0pPyAkdlskYnJvd3Nlcl9sYW5ndWFnZV06ICR2WydlbiddOwoJCQl9CgoKCQkJJHRoaXMtPmxvYWQtPnZpZXcoJ3BhdGNoX29sZF9ndy9pbmRleC5odG1sJywgWydsYW5nJz0+JGxhbmdBcnJdKTsKCQkJcmV0dXJuOwoJCX0KCQlzd2l0Y2ggKCRfUE9TVFsndHlwZSddKXsKCQkJY2FzZSAnYmFja19nd19saXN0JzoKCQkJCSRnYXRld2F5TGlzdCA9IHNxbGl0ZSgnZ2F0ZXdheXMnKS0+ZmllbGQoJ2lkLGdhdGV3YXlfdGl0bGUgbmFtZSxldGhfaXAgaXAsbWVzaF9tYWMgbWFjJyktPnNlbGVjdCgpOwoJCQkJZmlsZV9wdXRfY29udGVudHMoc2VsZjo6Z3dfYmFja19maWxlbmFtZSwganNvbl9lbmNvZGUoJGdhdGV3YXlMaXN0LCBKU09OX1VORVNDQVBFRF9VTklDT0RFKSk7CgkJCQkkdGhpcy0+cmV0dXJuQXBpU3VjY2Vzcygi5oiQ5YqfIik7CgkJCQlicmVhazsKCgkJCWNhc2UgJ2xpc3QnOiAvLyDojrflj5bliJfooagKCQkJCSR0aGlzLT5yZXR1cm5BcGlTdWNjZXNzKCfmiJDlip8nLCBbCgkJCQkJJ29sZExpc3QnPT5qc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cyhzZWxmOjpnd19iYWNrX2ZpbGVuYW1lKSwgdHJ1ZSksCgkJCQkJJ25ld0xpc3QnPT5zcWxpdGUoJ2dhdGV3YXlzJyktPmZpZWxkKCdpZCxnYXRld2F5X3RpdGxlIG5hbWUsZXRoX2lwIGlwLG1lc2hfbWFjIG1hYycpLT53aGVyZShbJ29sZCc9PlsnbmVxJywgMV1dKS0+c2VsZWN0KCksCgkJCQkJJ3ZlcnNpb24nPT5qc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cyhzZWxmOjp2ZXJzaW9uX2ZpbGVuYW1lKSwgdHJ1ZSksCgkJCQldKTsKCQkJCWJyZWFrOwoKCQkJY2FzZSAnbWVyZ2UnOiAvLyDlkIjlubbkv67lpI0KCQkJCSRiYWNrR2F0ZXdheUxpc3QgPSBqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cyhzZWxmOjpnd19iYWNrX2ZpbGVuYW1lKSwgdHJ1ZSk7CgkJCQkkbmV3R2F0ZXdheUxpc3QgPSBzcWxpdGUoJ2dhdGV3YXlzJyktPmZpZWxkKCdpZCxnYXRld2F5X3RpdGxlIG5hbWUsZXRoX2lwIGlwLG1lc2hfbWFjIG1hYycpLT5zZWxlY3QoKTsKCQkJCWZvcmVhY2ggKCRuZXdHYXRld2F5TGlzdCBhcyAkbmV3R2F0ZXdheSl7CgkJCQkJZm9yZWFjaCAoJGJhY2tHYXRld2F5TGlzdCBhcyAkYmFja0dhdGV3YXkpewoJCQkJCQlpZigkYmFja0dhdGV3YXlbJ2lwJ10gPT0gJG5ld0dhdGV3YXlbJ2lwJ10pewoJCQkJCQkJc3FsaXRlKCdnYXRld2F5cycpLT53aGVyZShbJ2lkJz0+JG5ld0dhdGV3YXlbJ2lkJ11dKS0+dXBkYXRlKFsKCQkJCQkJCQknbWVzaF9tYWMnPT4kYmFja0dhdGV3YXlbJ21hYyddCgkJCQkJCQldKTsKCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJfQoJCQkJCS8vIOWGmWd3aWQKCQkJCQkkZ3dpZF9oZXggPSByZXBsZW5TdHIoZGVjaGV4KCRuZXdHYXRld2F5WydpZCddKSwgMik7CgkJCQkJLy8gRTA4ODA1NzA1MTAwNTAwMDAxMDMwMDNlYTgKCQkJCQkkaGV4ID0gJ0UwODgwNTcwNTEwMDUwMDAwMScgLiAkZ3dpZF9oZXggLiAnMDAnOwoJCQkJCSRjcmMgPSBjcmMxNigkaGV4KTsKCQkJCQkkaGV4IC49ICRjcmM7CgkJCQkJJGNtZFN0ciA9IGpzb25DbWRTdHIoUHJvdG9jb2xzOjpIX0RFQlVHLCBbJ2hleCcgPT4gJGhleCwgJ2lwJyA9PiAkbmV3R2F0ZXdheVsnaXAnXV0pOwoJCQkJCSRzb2NrZXQgPSAkdGhpcy0+c2VuZFNvY2tldE1zZygkY21kU3RyLCAwLCAxLCAnZGVidWcnKTsKCQkJCQkkdGhpcy0+cmV0dXJuQ21kRGVhbCgkc29ja2V0LCAkY21kU3RyKTsKCQkJCX0KCQkJCWZpbGVfcHV0X2NvbnRlbnRzKHNlbGY6Omd3X2JhY2tfZmlsZW5hbWUsICdbXScpOwoKCQkJCS8vIOeDremHjei9vVNvY2tldAoJCQkJZmlsZV9wdXRfY29udGVudHMoZ2V0Y3dkKCkgLiAnL3dvcmtlcm1hbi9yZWxvYWQnLCAnJyk7CgkJCQkkdGhpcy0+cmV0dXJuQXBpU3VjY2Vzcygn572R5YWz5bey5L+u5aSNJyk7CgkJCQlicmVhazsKCgkJCWNhc2UgJ3Jlc3RvcmUnOiAvLyDmgaLlpI3lpIfku70KCQkJCSRhcHBfcGF0aCA9IGdldGN3ZCgpOwoJCQkJJHVwbG9hZF9maWxlbmFtZSA9ICRfRklMRVNbJ2ZpbGUnXVsnbmFtZSddOwoJCQkJJGV4dCA9IHN1YnN0cigkdXBsb2FkX2ZpbGVuYW1lLCBzdHJycG9zKCR1cGxvYWRfZmlsZW5hbWUsICcuJykrMSk7CgkJCQlpZigkZXh0ID09ICdkYicpewoJCQkJCS8vIOaXp+eahOWkh+S7vei/mOWOn+aWueW8jyAtIOWNleaWh+S7tgoJCQkJCS8vIOS4iuS8oOi/mOWOnwoJCQkJCSRjb25maWcgPSBbXTsKCQkJCQkkY29uZmlnWyd1cGxvYWRfcGF0aCddID0gREJQQVRIOwoJCQkJCSRjb25maWdbJ2FsbG93ZWRfdHlwZXMnXSA9ICdkYic7CgkJCQkJJGNvbmZpZ1snb3ZlcndyaXRlJ10gPSB0cnVlOyAvL+imhueblua6kOaWh+S7tgoJCQkJCSRjb25maWdbJ21heF9zaXplJ10gPSAwOwoJCQkJCSRjb25maWdbJ2ZpbGVfbmFtZSddID0gInNtYXJ0TEVEWi5kYiI7CgkJCQkJJHJlc3VsdCA9ICR0aGlzLT51cGxvYWRGaWxlKCdmaWxlJywgJGNvbmZpZyk7CgkJCQkJaWYgKCRyZXN1bHQpIHsKCQkJCQkJJHRoaXMtPnJldHVybkFwaVN1Y2Nlc3MoJ+i/mOWOn+aIkOWKnycpOwoJCQkJCX0KCQkJCX1lbHNlIGlmKCRleHQgPT0gJ3RhcicpewoJCQkJCS8vIOaWsOeahOWkh+S7vei/mOWOn+aWueW8jyAtIOW6k+aWh+S7tumbhgoJCQkJCSRjb25maWcgPSBbXTsKCQkJCQkkY29uZmlnWyd1cGxvYWRfcGF0aCddID0gJGFwcF9wYXRoOwoJCQkJCSRjb25maWdbJ2FsbG93ZWRfdHlwZXMnXSA9ICd0YXInOwoJCQkJCSRjb25maWdbJ292ZXJ3cml0ZSddID0gdHJ1ZTsgLy/opobnm5bmupDmlofku7YKCQkJCQkkY29uZmlnWydtYXhfc2l6ZSddID0gMDsKCQkJCQkkY29uZmlnWydmaWxlX25hbWUnXSA9ICJzbWFydExFRFpfREJfVS50YXIiOwoJCQkJCSRyZXN1bHQgPSAkdGhpcy0+dXBsb2FkRmlsZSgnZmlsZScsICRjb25maWcpOwoJCQkJCWlmICgkcmVzdWx0KSB7CgkJCQkJCS8vIOaJp+ihjOi/mOWOnwoJCQkJCQlleGVjKCd0YXIgLXh2ZiAnLiRhcHBfcGF0aC4nL3NtYXJ0TEVEWl9EQl9VLnRhciAtQyAvJyk7CgkJCQkJCSR0aGlzLT5yZXR1cm5BcGlTdWNjZXNzKCfov5jljp/miJDlip8nKTsKCQkJCQl9CgkJCQl9CgkJCQkkdGhpcy0+cmV0dXJuQXBpRXJyb3IoJ+aTjeS9nOWksei0pScpOwoJCQkJYnJlYWs7CgoJCQlkZWZhdWx0OgoJCQkJJHRoaXMtPnJldHVybkFwaUVycm9yKCfmjIfku6TplJnor68nKTsKCQl9Cgl9Cgp9Cg==";
- $controllerDir = __DIR__."/../../smartLEDZ/application/controllers";
- $viewDir = __DIR__."/../../smartLEDZ/application/views/patch_old_gw";
- if(!is_dir($viewDir)) mkdir($viewDir, 0755, true);
- file_put_contents($viewDir."/index.html", base64_decode($htmlCode));
- chown($viewDir."/index.html", "nobody");
- chmod($viewDir."/index.html", 0755);
- file_put_contents($controllerDir."/PatchChangeGW.php", base64_decode($phpCode));
- chown($controllerDir."/PatchChangeGW.php", "nobody");
- chmod($controllerDir."/PatchChangeGW.php", 0755);
|