Herzlich willkommen im Archiv vom ABAKUS Online Marketing Forum
Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.
Code: Alles auswählen
<?php
###############################################################################
# PHP Suchscript - Version vom 28.10.2005 #
# copyright webdesign weisshart #
# http://webdesign.weisshart.de #
# dieser copyright Hinweis darf nicht entfernt werden! #
# #
# Sie können dieses Script kostenlos einsetzen, #
# solange Sie die Links auf webdesign.weisshart.de unverändert intakt lassen. #
# Wenn Sie die Links auf webdesign.weisshart.de entfernen wollen, #
# können Sie eine Lizenz erwerben bei #
# http://webdesign.weisshart.de/suchen-lizenz.php #
###############################################################################
$NCiR0aW1lX29sZCA9IDA7IC8vIGb8ciBkaWUgRm9ydHNjaHJpdHRzYW56ZWlnZQNCiR0aW1lX29sZCA9IDA7IC8vIGb8ciBkaWUgRm9ydHNjaHJpdHRzYW56ZWlnZQ="
Ly8gTmV0dCwgZGHfIFNpZSBzaWNoIGb8ciBtZWluZW4gc291cmNlY29kZSBpbnRlcmVzc2llcmVuLiBEZXIgTGluayBhdWYgd2ViZGVzaWduLndlaXNzaGFydC5kZSBkYXJmIG51ciBuYWNoIEVyd2VyYiBlaW5lciBMaXplbnogZW50ZmVybnQgd2VyZGVuIQ0KLy8gQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgJzEnKTsNCmlmICghQGluaV9nZXQoJ3NhZmVfbW9kZScpKSBAc2V0X3RpbWVfbGltaXQoNDUpOw0KJG10aW1lID0gbWljcm90aW1lKCk7ICRtdGltZSA9IGV4cGxvZGUoICcgJywgJG10aW1lKTsgJG10aW1lID0gJG10aW1lWzFdICsgJG10aW1lWzBdOw0KJHN1Y2hfc3RhcnQgPSAkbXRpbWU7DQoNCiR2ZXJzaW9uPSAnPCEtLSBWZXJzaW9uIDI4LjEwLjA1IC0tPic7DQoNCgkNCmlmIChwaHB2ZXJzaW9uKCkgPCAnNC4zLjAnKSB7DQoJZWNobyAiPHA+RGllc2VzIFNjcmlwdCBlcmZvcmRlcnQgUEhQIFZlcnNpb24gNC4zLjAgb2RlciBoJm91bWw7aGVyITxiciAvPiI7DQoJZWNobyAiYXVmIElocmVtIFNlcnZlciBsJmF1bWw7dWZ0IGFiZXIgUEhQIFZlcnNpb24gIi5waHB2ZXJzaW9uKCkuIi48L3A+IjsNCglleGl0Ow0KfQkJCQkNCmluY2x1ZGUoInNlYXJjaF9jb25maWcucGhwIik7DQoNCmlmICghaXNzZXQoJG5vcmVzdWx0KSl7DQoJJG5vcmVzdWx0ID0gIjxwPjxiciAvPkVzIHd1cmRlbiBsZWlkZXIga2VpbmUgZXhha3RlbiAmVXVtbDtiZXJlaW5zdGltbXVuZ2VuIG1pdCBkZW0gZWluZ2VnZWJlbmVuIFN1Y2hiZWdyaWZmIGdlZnVuZGVuLjxiciAvPlZpZWxsZWljaHQgd29sbGVuIFNpZSBlcyBtaXQgZWluZW0gYWxsZ2VtZWluZXJlbiBTdWNoYmVncmlmZiB2ZXJzdWNoZW4uPC9wPiI7DQp9DQoNCmlmICghaXNzZXQoJG1pbmxlbmd0aCkpew0KCSRtaW5sZW5ndGggPSAiPHA+PGJyIC8+R2ViZW4gU2llIGJpdHRlIGVpbmVuIFN1Y2hiZWdyaWZmIHZvbiBtaW5kZXN0ZW5zJm5ic3A7Ii4kbGVuZ3RoLiImbmJzcDtCdWNoc3RhYmVuIEwmYXVtbDtuZ2UgZWluLjwvcD4iOw0KfQ0KDQppZiAoaXNzZXQoJHN1Y2h0aXAwKSl7DQoJJHNlYXJjaHRpcDAgPSAiXG4kc3VjaHRpcDBcbiI7DQoJfSBlbHNlIHsNCgkkc2VhcmNodGlwMCA9ICJcbjxoMz5TdWNodGlwcHM6PC9oMz5cbiI7DQp9DQoNCmlmIChpc3NldCgkc3VjaHRpcDEpKXsNCgkkc2VhcmNodGlwMSA9ICI8dWw+XG4kc3VjaHRpcDFcbiI7DQoJfSBlbHNlIHsNCgkkc2VhcmNodGlwMSA9ICI8dWw+XG48bGk+RGllIEVpbmdhYmUgdm9uIFBsYXR6aGFsdGVyemVpY2hlbiAoKikgaXN0IG5pY2h0IGVyZm9yZGVybGljaC48L2xpPlxuIjsNCn0NCg0KaWYgKGlzc2V0KCRzdWNodGlwMikpew0KCSRzZWFyY2h0aXAyID0gIiRzdWNodGlwMlxuIjsNCgl9IGVsc2Ugew0KCSRzZWFyY2h0aXAyID0gIjxsaT5XZW5uIFNpZSBJaHJlIFN1Y2hlIGF1ZiBnYW56ZSBX9nJ0ZXIgZWluc2NocuRua2VuIHdvbGxlbiwgZvxnZW4gU2llIHZvciB1bmQgbmFjaCBkZW0gU3VjaGJlZ3JpZmYgamV3ZWlscyBlaW4gTGVlcnplaWNoZW4gZWluLjwvbGk+IjsNCn0NCg0KaWYgKGlzc2V0KCRzdWNodGlwMykpew0KCSRzZWFyY2h0aXAzID0gIiRzdWNodGlwM1xuIjsNCgl9IGVsc2Ugew0KCSRzZWFyY2h0aXAzID0gIjxsaT5NZWhyZXJlIFf2cnRlciB3ZXJkZW4gYXV0b21hdGlzY2ggbWl0IFVORCB2ZXJrbvxwZnQuPC9saT4iOw0KfQ0KDQoNCiRzZWFyY2h0aXA0ID0gIiI7DQppZiAoJGp1bXAgPT0gdHJ1ZSAmJiAkdGFyZ2V0ID09ICIiKSB7DQoNCglpZiAoaXNzZXQoJHN1Y2h0aXA0KSl7DQoJCSRzZWFyY2h0aXA0ID0gIiRzdWNodGlwNFxuIjsNCgkJfSBlbHNlIHsNCgkJJHNlYXJjaHRpcDQgPSAiPGxpPkZhbGxzIGRpZSBTdWNoZSBudXIgZWluZW4gZWluemlnZW4gVHJlZmZlciBlcmdpYnQsIHdpcmQgZGllIFRyZWZmZXJzZWl0ZSBkaXJla3QgYW5nZXNwcnVuZ2VuLjwvbGk+XG4iOw0KCX0NCn0NCg0KJHNlYXJjaHRpcDUgPSAiPC91bD5cbiI7DQoNCmlmICgkdGlwcHMpIHskc2VhcmNodGlwID0gJHNlYXJjaHRpcDAuJHNlYXJjaHRpcDEuJHNlYXJjaHRpcDIuJHNlYXJjaHRpcDMuJHNlYXJjaHRpcDQuJHNlYXJjaHRpcDU7IH1lbHNlIHskc2VhcmNodGlwID0iIjt9DQoNCiR3ZHcgPSAnc2NyaXB0IGJ5ICZjb3B5OyAyMDA1IDxhIGhyZWY9Imh0dHA6Ly93ZWJkZXNpZ24ud2Vpc3NoYXJ0LmRlIj53ZWJkZXNpZ24gd2Vpc3NoYXJ0PC9hPic7DQokYmluZGUgPSAiLSI7DQoNCmlmIChpc3NldCgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSkgJiYgaXNzZXQoJHB3ZCkpIHsNCgkkc2VydmVyID0gc3RyX3JlcGxhY2UgKCJ3d3cuIiwiIiwgJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10gKTsNCgkkY2hhdmUgPSAkcHdkIC8gYWJzKGNyYzMyKCRzZXJ2ZXIpKTsgDQp9DQppZiAoaXNzZXQoJGNoYXZlKSAmJiAkY2hhdmUgPT0gIjMyMSIpew0KCSR3ZHcgPScnOw0KCSRiaW5kZT0iIjsNCn0NCg0KJHRpbWVfb2xkID0gMDsgLy8gZvxyIGRpZSBGb3J0c2Nocml0dHNhbnplaWdlDQoNCmlmKGlzc2V0KCRfR0VUWyJxIl0pKSB7DQppZiAoJF9HRVRbInEiXSAhPSAiIikgew0KCSRzZWFyY2ggPSAkX0dFVFsicSJdOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZhdW1sO3wmIzIyODsiLCAi5CIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZvdW1sO3wmIzI0NjsiLCAi9iIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZ1dW1sO3wmIzI1MjsiLCAi/CIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZBdW1sO3wmIzE5NjsiLCAixCIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZPdW1sO3wmIzIxNDsiLCAi1iIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZVdW1sO3wmIzIyMDsiLCAi3CIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZzemxpZzt8JiMyMjM7IiwgIt8iLCAkc2VhcmNoKTsNCgkNCgkkc2VhcmNoID0gc3RyX3JlcGxhY2UoJ1wiJywnJywkc2VhcmNoKTsNCgkkc2VhcmNoID0gc3RyX3JlcGxhY2UoIlwnIiwiIiwkc2VhcmNoKTsNCgkkc2VhcmNoID0gc3RyX3JlcGxhY2UoJyonLCcnLCRzZWFyY2gpOwkNCgkvLyRzZWFyY2ggPSBzdHJfcmVwbGFjZSgnOycsJycsJHNlYXJjaCk7CQ0KCSRzZWFyY2ggPSBzdHJfcmVwbGFjZSgnLScsJycsJHNlYXJjaCk7CQ0KCSRzZWFyY2ggPSBzdHJfcmVwbGFjZSgnKycsJyAnLCRzZWFyY2gpOwkNCg0KICAgICAgJHNlYXJjaCA9IGh0bWxzcGVjaWFsY2hhcnMoJHNlYXJjaCk7DQoJJHNlYXJjaCA9IHN0cl9yZXBsYWNlICggJyZhbXA7JywgJyYnLCAkc2VhcmNoICk7IC8vIGzk33QgaHRtbCBlbnRpdGllcyB3aWUgJiMzNTE7IHp1ICh6LkIuIHT8cmtpc2NoZSBTb25kZXJ6ZWljaGVuKQ0KCS8vZGllIGdsZWljaGUgWmVpbGUgYXVjaCBpbiBkaWUgc3VjaGVuLnBocCwgYXXfZXJkZW0gWmVpbGUgNDggaGllciB3ZWdrb21tZW50aWVyZW4uDQp9DQoNCmlmKGVtcHR5KCRzZWFyY2gpKSB7JHNlYXJjaD0iIjt9DQoNCmlmKHN0cmxlbigkc2VhcmNoKSA+PSAkbGVuZ3RoICYmICRzZWFyY2ggIT0gJHZhbHVlKSB7DQoNCg0KDQoNCgkkYXJyYXkgPSAiIjsNCgkkYXVzZ2FiZSA9IiI7DQoJJGZvdW5kID0gMDsNCgkkbiA9ICIiOw0KCSRlID0gIiI7DQoJJHNvcnRoaW53ZWlzID0gIiI7DQoJJGxpbmsgPSAiIjsNCg0KCWlmIChpc3NldCgkc3VjaGhpbndlaXMpICYmICRzdWNoaGlud2VpcyAhPSAiIil7DQoJCSRzZWFyY2hoaW53ZWlzID0gJHN1Y2hoaW53ZWlzOw0KCQl9IGVsc2Ugew0KCQkkc2VhcmNoaGlud2VpcyA9ICJTaWUgc3VjaGVuIG5hY2giOw0KCX0NCgllY2hvICc8cD48YnIgLz4nLiRzZWFyY2hoaW53ZWlzLicgPGVtPiInLiRzZWFyY2guJyI8L2VtPiZuYnNwOy4uLic7DQoNCglpZigkanVtcCA9PSBmYWxzZSkgew0KCQlvYl9lbmRfZmx1c2goKTsgb2Jfc3RhcnQoKTsgZWNobyAiLiI7IG9iX2ZsdXNoKCk7IGZsdXNoKCk7DQoJfQ0KDQoNCiAgICAgICAgLy8gZGllIEZ1bmt0aW9uIHp1bSBleHRyYWhpZXJlbiB2b24gVGVpbHN0cmluZ3MNCiAgICAgICAgZnVuY3Rpb24gYXVzbGVzZW4oJGFsbCwgJHN0YXJ0LCAkZW5kKSB7DQogICAgICAgICAgICAgICAgaWYgKHN0cmlzdHIoJGFsbCwkc3RhcnQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkc3RhcnRfcG9zPXN0cnBvcyhzdHJ0b2xvd2VyKCRhbGwpLHN0cnRvbG93ZXIoJHN0YXJ0KSkgKyBzdHJsZW4oJHN0YXJ0KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN0ID0gc3Vic3RyKCRhbGwsJHN0YXJ0X3Bvcyk7DQogICAgICAgICAgICAgICAgICAgICAgICAkZW5kX3Bvcz1zdHJwb3Moc3RydG9sb3dlcigkcmVzdCksc3RydG9sb3dlcigkZW5kKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAkZXJnID0gc3Vic3RyKCRyZXN0LDAsJGVuZF9wb3MpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRlcmc7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KCS8vIGRpZSBGdW5rdGlvbiB6dW0gRHVyY2hzdWNoZW4gZGVzIFZlcnplaWNobmlzYmF1bXM6DQoJZnVuY3Rpb24gdHJlZSgkb3JkbmVyLCAkc3ViID0gRkFMU0UpIHsNCgkJIGdsb2JhbCAkZXJnZWI7DQoJCSAkaGFuZGxlID0gb3BlbmRpcigkb3JkbmVyKTsNCgkJIHdoaWxlIChmYWxzZSAhPT0gKCRmaWxlID0gcmVhZGRpciAoJGhhbmRsZSkpKSB7DQoJCSAgICAgICBpZigkZmlsZSAhPSAiLiIgJiYgJGZpbGUgIT0gIi4uIiAmJiBpc19kaXIoJG9yZG5lci4iLyIuJGZpbGUpKSB7DQoJICAgICAgIAkJJGNvbXBsID0gJG9yZG5lci4iLyIuJGZpbGUuIi8iOw0KCSAgICAgICAJCS8vZWNobyAkY29tcGwuIjxicj4iOw0KCQkJJGVyZ2ViID0gJGVyZ2ViLiIsIi4kY29tcGw7DQogICAgICAgIAkJdHJlZSgkb3JkbmVyLiIvIi4kZmlsZSwgVFJVRSk7DQoJCQl9DQoJCX0NCgkgIAljbG9zZWRpcigkaGFuZGxlKTsNCgl9DQoNCglpZiAoJGFsbGVkaXJzKSB7DQoJICAgdHJlZSgiLiIpOw0KCSAgICRlcmdlYiA9ICIuLyIuJGVyZ2ViOw0KCSAgICRkaXJzID0gZXhwbG9kZSAoIiwiLCAkZXJnZWIpOw0KCX0NCg0KCWZvcmVhY2goJGRpcnMgYXMgJGRpcikgew0KCQkkdmVyeiA9IG9wZW5kaXIoJGRpcik7DQoNCgkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKCR2ZXJ6KSkgeyANCg0KCQkJLy8gZWluemVsbmUgRGF0ZWllbiB2b24gZGVyIFN1Y2hlIGF1c3NjaGxpZd9lbg0KCQkJaWYoIWluX2FycmF5KCRmaWxlLCRleGNsdWRlX2ZpbGVzKSAmJiBwcmVnX21hdGNoKCI9KFwuJGRhdF90eXBlKSQ9IiwkZmlsZSkpIHsJDQoJDQoJCQkJLy8gTWV0YS1BbmdhYmVuIGVybWl0dGVsbg0KCQkJCSR0aXRlbCA9ICIiOw0KCQkJCSRrZXl3b3JkcyA9ICIiOw0KCQkJCSRkZXNjcmlwdGlvbiA9ICIiOw0KCQkJCSRnbXRhcnJheT1nZXRfbWV0YV90YWdzKCRkaXIuJGZpbGUpOw0KCQkJCXdoaWxlKGxpc3QoJGtleTEsJHZhbCk9ZWFjaCgkZ210YXJyYXkpKXsNCgkJCQkJc3dpdGNoKHN0cnRvbG93ZXIoJGtleTEpKXsNCgkJCQkgICAgICAJY2FzZSAidGl0bGUiOiAkdGl0ZWw9JHZhbDsgYnJlYWs7DQoJCQkJICAgICAgCWNhc2UgImtleXdvcmRzIjogJGtleXdvcmRzPSR2YWw7IGJyZWFrOw0KCQkJCSAgICAgIAljYXNlICJkZXNjcmlwdGlvbiI6ICRkZXNjcmlwdGlvbj0kdmFsOyBicmVhazsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCSRzdHJpbmcgPSBmaWxlX2dldF9jb250ZW50cygkZGlyLiRmaWxlKTsNCg0KCQkJCS8vIGh0bWwgdGFncyBtaXQgZWluZ2VzY2hsb3NzZW5lbiBwaHAgdGFncyByYXVzDQoNCg0KICAJCQkJJHN0cmluZyA9IHN0cl9yZXBsYWNlKCI8IiwiJmx0OyIsJHN0cmluZyk7DQogIAkJCQkkc3RyaW5nID0gc3RyX3JlcGxhY2UoIj4iLCImZ3Q7Iiwkc3RyaW5nKTsNCiAgCQkJCSRzdWNobXVzdGVyID0gIi8mbHQ7LismbHQ7XD8uK1w/Jmd0Oy4rJmd0Oy8iOw0KICAJCQkJJHN0cmluZyA9IHByZWdfcmVwbGFjZSgkc3VjaG11c3RlciwiIiwkc3RyaW5nKTsNCgkJCQkkc3RyaW5nID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRzdHJpbmcpOw0KDQoNCgkJCQkvLyB1bmVyd/xuc2NodGUgU3RyaW5ncyB2b24gZGVyIFN1Y2hlIGF1c3NjaGxpZd9lbg0KCQkJCWZvcmVhY2goJGV4Y2x1ZGVfc3RyaW5ncyBhcyAkaykgJHN0cmluZyA9IHN0cl9yZXBsYWNlKCRrLCIiLCRzdHJpbmcpOw0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG51ciBm/HIgd2R3IGR5bi4gZGVzY3JpcHRpb25zOg0KCQkJCWlmICgkZGVzY3JpcHRpb24gPT0gIiIpew0KCQkJCQkkZGVzY3JpcHRpb24gPSBhdXNsZXNlbigkc3RyaW5nLCAiZGVzY3JpcHRpb24iLCAiPiIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgCSRkZXNjcmlwdGlvbiA9IHN0cmlwX3RhZ3MoJGRlc2NyaXB0aW9uKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIAkkZGVzY3JpcHRpb24gPSBlcmVnX3JlcGxhY2UoIlxufFxyfGNvbnRlbnR8XCJ8PXxcL3w7fFw/IiwgIiIsICRkZXNjcmlwdGlvbik7DQoJCQkJfQ0KDQoJCQkJLy8gdW5kIHdlaWwgPHRpdGxlPiBuaWNodCBpbW1lciBhbHMgTWV0YS10YWcgY29kaWVydCB3aXJkOg0KCQkJCWlmICgkdGl0ZWwgPT0gIiIpICR0aXRlbCA9IGF1c2xlc2VuKCRzdHJpbmcsICI8dGl0bGU+IiwgIjwvdGl0bGU+Iik7DQoNCgkJCQkvLyB3ZWlsIGVzIExldXRlIGdpYnQsIGRpZSBtZXRhIFRhZ3MgbWl0IFplaWxlbnVtYnJ1Y2ggc2NocmVpYmVuOg0KCQkJCSRkZXNjcmlwdGlvbiA9IHN0cl9yZXBsYWNlKCJcbiIsIiIsJGRlc2NyaXB0aW9uKTsNCgkJCQkka2V5d29yZHMgPSBzdHJfcmVwbGFjZSgiXG4iLCIiLCRrZXl3b3Jkcyk7DQoJCQkJJHRpdGVsID0gc3RyX3JlcGxhY2UoIlxuIiwiIiwkdGl0ZWwpOw0KDQoNCgkJCQkvLyBkaWUgbWV0YSB0YWdzIGluIGRpZSBTdWNoZSBlaW5zY2hsaWXfZW4gZ2Vt5N8gY29uZmlnOg0KCQkJCWlmICgka2V5KSAkc3RyaW5nPSRzdHJpbmcuJGtleXdvcmRzOw0KCQkJCWlmICgkZGVzYykgJHN0cmluZz0kc3RyaW5nLiRkZXNjcmlwdGlvbjsNCgkJCQlpZiAoJHRpdCkgJHN0cmluZz0kc3RyaW5nLiR0aXRlbDsNCgkJCQ0KCQkJDQoJCQkJLy8gRGF0ZWllbiBudXIgendpc2NoZW4gZGVuIGJlaWRlbiBsaW1pdGVyIHRhZ3MgYXVzd2VydGVuOg0KCQkJCWlmICgkbGltaXRfc3RhcnQgIT0gIiIpIHsNCgkJCQkJJHBvcz1zdHJwb3Moc3RydG9sb3dlcigkc3RyaW5nKSxzdHJ0b2xvd2VyKCRsaW1pdF9zdGFydCkpICsgc3RybGVuKCRsaW1pdF9zdGFydCk7IA0KCQkJCQkkc3Vic3RyaW5nX3Jlc3QgPSBzdWJzdHIoJHN0cmluZywkcG9zKTsNCgkJCQl9DQoJCQkJZWxzZSB7DQoJCQkJCSRzdWJzdHJpbmdfcmVzdCA9ICRzdHJpbmc7DQoJCQkJfQ0KCQkJCQkNCgkJCQkvLyB3ZW5uICRsaW1pdF9lbmQgZ2VzZXR6dDoNCgkJCQlpZiAoJGxpbWl0X2VuZCAhPSAiIikgew0KCQkJCQkkZW5kX3Bvcz1zdHJwb3Moc3RydG9sb3dlcigkc3Vic3RyaW5nX3Jlc3QpLHN0cnRvbG93ZXIoJGxpbWl0X2VuZCkpOw0KCQkJCQlpZiAoJGVuZF9wb3MpICRzdHJpbmcgPSBzdWJzdHIoJHN1YnN0cmluZ19yZXN0LDAsJGVuZF9wb3MpOw0KCQkJCX0NCgkJCQllbHNlIHsNCgkJCQkJJHN0cmluZyA9ICRzdWJzdHJpbmdfcmVzdDsNCgkJCQl9DQoJCQkJDQoJCQkJLy9JbmhhbHQgdm9uIHRhZ3MgYXVzd2VydGVuOg0KCQkJCWlmICgkdGFncz09ZmFsc2UpIAkkc3RyaW5nID0gc3RyaXBfdGFncygkc3RyaW5nKTsNCg0KCQkJCSRzdHJpbmcgPSBzdHJfcmVwbGFjZSgiXG4iLCAiIiwgJHN0cmluZyk7DQoJCQkgICAgICAgIA0KDQoJCQkJLy8gamV0enQgZGllIEF1c2dhYmUgZGVzIEtvbnRleHQgdm9yYmVyZWl0ZW46DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJmF1bWw7fCYjMjI4OyIsICLkIiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJm91bWw7fCYjMjQ2OyIsICL2IiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJnV1bWw7fCYjMjUyOyIsICL8IiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJkF1bWw7fCYjMTk2OyIsICLEIiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJk91bWw7fCYjMjE0OyIsICLWIiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJlV1bWw7fCYjMjIwOyIsICLcIiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJnN6bGlnO3wmIzIyMzsiLCAi3yIsICRzdHJpbmcpOw0KCQkJCQ0KCQkJCSRzdHJpbmdsb3cgPSBzdHJ0b2xvd2VyKCRzdHJpbmcpOw0KCQkJCSRzZWFyY2hsb3cgPSBzdHJ0b2xvd2VyKCRzZWFyY2gpOw0KDQoNCgkJCQkjIGRpZSB1bmQtVmVya278cGZ1bmc6DQoJCQkJJHNlYXJjaF9hcnIgPSBleHBsb2RlKCIgIix0cmltKCRzZWFyY2hsb3cpKTsNCgkJCQkkc2VhcmNoX2NvdW50ID0gY291bnQoJHNlYXJjaF9hcnIpOw0KCQkJCQ0KCQkJCSMgZGFtaXQgZvxocmVuZGUgdW5kIHNjaGxpZd9lbmRlIExlZXJ6ZWljaGVuIGJlaSBkZXIgU3VjaGUgbmFjaCBnYW56ZW4gV/ZydGVybiBiZXL8Y2tzaWNodGlndCBibGVpYmVuDQoJCQkJaWYgKCRzZWFyY2hfY291bnQgPT0gMSkgew0KCQkJCQkkc2VhcmNoX2FyclswXSA9ICRzZWFyY2hsb3c7DQogICAgICAgICAgICAgICAgICAgICAgICAJJHN0cmluZ2xvdyA9IGVyZWdfcmVwbGFjZSgiOnxcO3xcLnwsIiwgIiAiLCAkc3RyaW5nbG93KTsgLy8gYXVjaCBnYW56ZSBX9nJ0ZXIgYW0gU2F0emVuZGUgZmluZGVuDQoJCQkJfQ0KCQkJCSR0ZXN0ID0gc3Vic3RyX2NvdW50KCRzdHJpbmdsb3csICRzZWFyY2hsb3cpOw0KCQkJCQ0KCQkJCSRpPTA7DQoJCQkJZm9yZWFjaCAoJHNlYXJjaF9hcnIgYXMgJHNlYXJjaF93b3JkKSB7DQoJCQkJaWYgKHByZWdfbWF0Y2goIi8oJHNlYXJjaF93b3JkKS9pIiwgJHN0cmluZ2xvdykpIHsJCS8vIHdlbm4gU3VjaGJlZ3JpZmYgdm9ya29tbXQNCgkJCQkJJGkrKzsNCgkJCQkNCgkJCQkJaWYgKCRpPT0kc2VhcmNoX2NvdW50KSB7CQkvLyBzb2JhbGQgYWxsZSBTdWNoYmVncmlmZmUgZ2VmdW5kZW4gd3VyZGVuLi4uDQoJCQkJDQoJCQkJCQkvLyBoaWdobGlnaHRpbmcgd2lyZCB2b24gc2VhcmNoaGkuanMgZXJsZWRpZ3Q6DQoJCQkJCQlpZiAoJHNlYXJjaF9jb3VudCA+IDEpew0KCQkJCQkJCSRwb3M9c3RycG9zKCRzdHJpbmdsb3csJHNlYXJjaF93b3JkKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJJHBvcz1zdHJwb3MoJHN0cmluZ2xvdywkc2VhcmNobG93KTsNCgkJCQkJCX0NCgkJCQkJCQ0KCQkJCQkJaWYgKCR2b3IgPj0gJHBvcykgew0KCQkJCQkJCSRwaWVjZTEgPSBzdHJpcF90YWdzKHN1YnN0cigkc3RyaW5nLCRwb3MsJG5hY2gpKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJJHBpZWNlMSA9IHN0cmlwX3RhZ3Moc3Vic3RyKCRzdHJpbmcsJHBvcy0kdm9yLCR2b3IrJG5hY2gpKTsNCgkJCQkJCQkkcGllY2UxID0gc3Ryc3RyICgkcGllY2UxLCIgIik7IC8vIHZlcm1laWRldCBCcnVjaHN0/GNrZSB2b24gV/ZydGVybiBhbSBBbmZhbmcgZGVzIEtvbnRleHQNCgkJCQkJCX0NCg0KCQkJCQkJJHBpZWNlMSA9IHN1YnN0cigkcGllY2UxLCAwLCBzdHJsZW4oc3RycmNocigkcGllY2UxLDMyKSkqKC0xKSkuIiAuLi4iOyAvLyB2ZXJtZWlkZXQgQnJ1Y2hzdPxja2Ugdm9uIFf2cnRlcm4gYW0gRW5kZSBkZXMgS29udGV4dA0KCQkJCQkJJHJlc3QgPSAiPGJyIC8+JHBpZWNlMSI7DQoJCQkJCQkNCgkNCgkNCgkJCQkJCWlmKCR2b3I9PSIwIiAmJiAkbmFjaD09IjAiKSAkcmVzdCA9ICIiOw0KCQ0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCEkZGVzY3JpcHRpb24gPT0gIiIgJiYgJHNob3dfZGVzYyA9PSB0cnVlKSAkcmVzdCA9ICI8YnIgLz48c3Ryb25nPkJlc2NocmVpYnVuZzo8L3N0cm9uZz4gJGRlc2NyaXB0aW9uIjsNCgkJCQ0KCQkJCQkJaWYoJGZpbGVuYW1lKSAkdGl0ZWwgPSAkZmlsZTsNCgkJCQkJCWlmKCR0aXRlbCA9PSAiIikgJHRpdGVsID0gJGZpbGU7DQoJCQkJCQkkbGluayA9ICRkaXIuJGZpbGU7DQoJCQkNCgkJCQ0KCQkJCQkJaWYoJHRpdGVsICE9ICIiKSB7DQoJCQkNCgkJCQkJCQlpZiAoJHRhcmdldCA9PSAiYmxhbmsiKSB7DQoJCQkJCQkJCSR6aWVsID0gJ3RhcmdldD0iX2JsYW5rIic7DQoJCQkJCQkJCSRqdW1wID0gZmFsc2U7DQoJCQkJCQkJfSBlbHNlaWYgKCR0YXJnZXQgIT0gIiIpIHsNCgkJCQkJCQkJJHppZWwgPSAndGFyZ2V0PSInLiR0YXJnZXQuJyInOw0KCQkJCQkJCQkkanVtcCA9IGZhbHNlOw0KCQkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJCSR6aWVsID0gJyc7DQoJCQkJCQkJfQ0KCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJaWYgKCRwZmFkID09IHRydWUpIHsNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJJHVybCA9ICI8YSBocmVmPVwiIi4kbGluay4iXCIiLiR6aWVsLiI+Ii4kcGZhZGluZm8uc3Vic3RyKCRsaW5rLDEpLiI8L2E+IjsNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfSBlbHNlIHsNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJJHVybCA9ICIiOw0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCgkNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGFlbmRfZGF0ID09IHRydWUpIHsNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJJG1vZCA9ICIgU3RhbmQ6Jm5ic3A7Ii5kYXRlKCJkLm0ueSIsIGZpbGVtdGltZSgkbGluaykpOw0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSRtb2QgPSAiIjsNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoJDQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhZW5kX2RhdCAmJiAkcGZhZCkgew0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkkdHJlbm5lciA9ICIgLSAiOw0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSR0cmVubmVyID0gIiI7DQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0cmVmZl9hbno9IiI7DQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJHRyZWZmZXIgJiYgJHRlc3Q+PTEpICR0cmVmZl9hbno9IlskdGVzdF0iOw0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhcnJheSAuPSAkdGVzdC4iPGEgaHJlZj1cIiIuJGxpbmsuIlwiIi4kemllbC4iPiIuJHRpdGVsLiI8L2E+ICIuJHRyZWZmX2Fuei4kcmVzdC4iPHNwYW4gY2xhc3M9J21vZCc+Ii4kdXJsLiR0cmVubmVyLiRtb2QuIjwvc3Bhbj5cbiI7DQoJDQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvdW5kICsrOw0KCQ0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KDQoJCWNsb3NlZGlyKCR2ZXJ6KTsNCg0KCQkvLyBkaWUgRm9ydHNjaHJpdHRzYW56ZWlnZToNCgkJaWYoJGp1bXAgPT0gZmFsc2UpIHsNCgkJCS8vIHVzbGVlcCg3MDAwMDApOw0KCQkJJG10aW1lID0gbWljcm90aW1lKCk7ICRtdGltZSA9IGV4cGxvZGUoICcgJywgJG10aW1lKTsgJG10aW1lID0gJG10aW1lWzFdICsgJG10aW1lWzBdOw0KCQkJJHN1Y2hfdGltZXIgPSAkbXRpbWU7DQoJCQkkdGltZV9uZXUgPSAkc3VjaF90aW1lciAtICRzdWNoX3N0YXJ0Ow0KCQkJaWYgKCgkdGltZV9uZXUgLSAkdGltZV9vbGQpID4gMC43KSB7DQoJCQkJb2JfZW5kX2ZsdXNoKCk7IG9iX3N0YXJ0KCk7IGVjaG8gIi4iOyBvYl9mbHVzaCgpOyBmbHVzaCgpOw0KCQkJCSR0aW1lX29sZCA9ICR0aW1lX25ldTsgDQoJCQl9DQoJCX0NCgl9DQoJZWNobyAnPC9wPic7DQoJaWYgKCRzZWFyY2ggPT0gIqdmb3VuZCIpIHtlY2hvICcmIzgzO3UmIzk5O2gmIzExNTtjJiMxMTQ7aSYjMTEyO3QgJiMxNjk7IDImIzQ4OzA1ICYjMTE5O2UmIzk4O2QmIzEwMTtzJiMxMDU7Z24mIzQ2OyYjMTE5ZSYjMTA1O3MmIzExNTtoJiM5NztyJiMxMTY7JiM0NjsmIzEwMDtlJztleGl0O30NCg0KDQovLyBMb2dkYXRlaSBzY2hyZWliZW4gdW5kIEJlbmFjaHJpY2h0aWd1bmdzLU1haWwgbWl0IGlwIC0gU3BlcnJlOg0KZnVuY3Rpb24gc2NocmVpYmVuKCRkYXRlaSwkbW9kZSl7DQoJZ2xvYmFsICRzZWFyY2g7DQoJJGZwID0gQGZvcGVuKCRkYXRlaSwkbW9kZSk7DQoJZmxvY2soJGZwLExPQ0tfRVgpOw0KCWZ3cml0ZSgkZnAsJF9TRVJWRVJbIlJFTU9URV9BRERSIl0uInwiLnRpbWUoKS4ifCIuJHNlYXJjaC4iXG4iKTsNCglmbG9jaygkZnAsTE9DS19VTik7DQoJZmNsb3NlKCRmcCk7DQp9DQoNCg0KZnVuY3Rpb24gaXBfc3BlcnJlKCkgew0KZ2xvYmFsICRzZWFyY2g7DQpnbG9iYWwgJHJlbG9hZGxpbWl0Ow0KDQokcmVsb2FkbG9nZGF0ZWkgPSAicmVsb2FkLnR4dCI7DQokYW56YWhsZWludHJhZWdlID0gMTAwOw0KDQovLyBQcvxmZW4sIG9iIHJlbG9hZGRhdGVpIGV4aXN0aWVydCA9PiBhbnNvbnN0ZW4gRXJzdGVsbGVuDQoNCmlmKCFmaWxlX2V4aXN0cygkcmVsb2FkbG9nZGF0ZWkpKSB7DQoJJGRhdGVpID0gZm9wZW4oJHJlbG9hZGxvZ2RhdGVpLCJ3KyIpOw0KCWZjbG9zZSgkZGF0ZWkpOw0KfQ0KDQokZnAgPSBmaWxlKCRyZWxvYWRsb2dkYXRlaSk7DQokc2l6ZSA9IHNpemVvZigkZnApOw0KDQovLyBEYXRlaSBzY2hyZWliZW4sIHdlbm4gTGlzdGUgdm9sbDoNCmlmKCRzaXplID49ICRhbnphaGxlaW50cmFlZ2Upew0KCXNjaHJlaWJlbigkcmVsb2FkbG9nZGF0ZWksInciKTsNCg0KCS8vIFBy/GZlbiwgb2IgZWluZSBJUCBpbiBkZXIgTGlzdGUgc3RlaHQNCn0gZWxzZSB7DQoJZm9yICgkaT0wOyRpPD0kc2l6ZTskaSsrKSB7DQogICAgICAJQCR6ZWlsZSA9IGV4cGxvZGUoInwiLCRmcFskaS0xXSk7DQogICAgICAJLy8gSVAgd2lyZCBnZWZ1bmRlbg0KICAgICAgCWlmICgkemVpbGVbMF0gPT0gJF9TRVJWRVJbIlJFTU9URV9BRERSIl0gQU5EICR6ZWlsZVsxXSA+ICh0aW1lKCktJHJlbG9hZGxpbWl0KSAmJiB0cmltKCR6ZWlsZVsyXSkgPT0gdHJpbSgkc2VhcmNoKSl7DQoJCQkkYXVzZ2FiZSA9IHRydWU7IA0KCQkvLyBJUCB3aXJkIG5pY2h0IGdlZnVuZGVuDQoJCX0gZWxzZSAgew0KICAgICAgICAJCSRhdXNnYWJlID0gZmFsc2U7DQogICAgICAJfQ0KCX0NCgkvLyBQcm90b2tvbGxpZXJ0IGRpZSBJUC1BZHJlc3NlIChzY2hyZWlidCk6DQoJc2NocmVpYmVuKCRyZWxvYWRsb2dkYXRlaSwiYSsiKTsNCgl9DQoJcmV0dXJuIEAkYXVzZ2FiZTsNCn0NCg0KLy8gamV0enQgTG9nZmlsZSB1bmQgQmVuYWNocmljaHRpZ3VuZ3MtTWFpbCBzY2hyZWliZW46DQppZihpcF9zcGVycmUoKT09ZmFsc2UpIHsNCg0KCS8vIEJlbmFjaHJpY2h0aWd1bmdzIE1haWw6DQoJaWYoJG1haWwgPT0gdHJ1ZSAmJiAkc2VhcmNoICE9ICR2YWx1ZSkgew0KCQltYWlsKCIkYWRtaW5hZGRyZXNzIiwiU3VjaGUgYXVmICRzZWl0ZSIsIkZvbGdlbmRlciBCZWdyaWZmIHd1cmRlIHNvZWJlbiBhdWYgZGVyIFNlaXRlICRzZWl0ZSBnZXN1Y2h0OiBcbiRzZWFyY2hcblRyZWZmZXI6ICRmb3VuZCIpOw0KCX0NCg0KCS8vIExvZ2ZpbGUgc2NocmVpYmVuOg0KCSR0b2RheSA9IGRhdGUoImQubS4gSDppICIpOw0KCSRubCA9IGh0bWxfZW50aXR5X2RlY29kZSgkdG9kYXkuJF9HRVRbInEiXSkuIigiLiRmb3VuZC4iKVxuIjsNCgkNCglpZigkZnAgPSBmb3Blbignc2VhcmNobG9nLnR4dCcsICdhKycpKSB7CQkvLyBmYWxscyBkaWUgTG9nZGF0ZWkgbmljaHQgZXhpc3RpZXJ0LCB3aXJkIHZlcnN1Y2h0LCBzaWUgYW56dWxlZ2VuLg0KCQlmbG9jaygkZnAsIExPQ0tfRVggfCBMT0NLX05CKSBvciBkaWUoIkthbm4gZGllIFppZWxkYXRlaSBm/HIgZGVuIFNjaHJlaWJ6dWdyaWZmIG5pY2h0IGZyZWlnZWJlbi4gRWluIGFuZGVyZXIgVXNlciBzY2hyZWlidCBnZXJhZGUuIFZlcnN1Y2gncyBlaW5mYWNoIHNwJmF1bWw7dGVyIG5vY2ggZWlubWFsLiIpOw0KCQlmd3JpdGUoJGZwLCAkbmwpOw0KCQlmY2xvc2UoJGZwKTsNCgl9DQoNCn0NCg0KDQoNCglpZigkZm91bmQgPT0gIjAiKQl7IA0KCQllY2hvICRub3Jlc3VsdDsNCgl9DQoNCglpZigkZm91bmQgPT0gIjEiICYmICRqdW1wID09IHRydWUgJiYgJF9TRVJWRVJbJ1BIUF9TRUxGJ10gIT0gc3Vic3RyKCRsaW5rLDEpKQl7IC8vZGFzIFN1Y2hzY3JpcHQgc2VsYnN0IGRhcmYgbmljaHQgYW5nZXNwcnVuZ2VuIHdlcmRlbjogRW5zbG9zc2NobGVpZmUNCgkJJGxpbmsgPSBzdWJzdHIoJGxpbmssMSk7CS8vZGVuIFB1bmt0IHZvciBkZW0gZGlyIHdlZw0KDQoJCS8vIGRvcHBlbHRlIHNsYXNoIHZvciBEYXRlaW5hbWVuIHVudGVyZHL8Y2tlbg0KCQkkZGlybmFtZSA9IGRpcm5hbWUoJF9TRVJWRVJbJ1BIUF9TRUxGJ10pOyANCgkJaWYoJGRpcm5hbWUgPT0gIi8iKSAkZGlybmFtZSA9ICIiOw0KDQoJCWhlYWRlcigiTG9jYXRpb246IGh0dHA6Ly8iLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4kZGlybmFtZS4kbGluay4iP3E9Ii4kc2VhcmNoKTsNCgkJZXhpdDsNCgl9DQoNCglpZigkZm91bmQgPiAiMSIpIHsNCiAgICAgICAgICAgICAgICAkbiA9ICJuIjsgJGUgPSAiZSI7ICRzID0gInMiOw0KCX0NCg0KCWlmKCRmb3VuZCA+PSAiMSIpIHsNCg0KCQkkYXJyYXkgPSBleHBsb2RlKCJcbiIsICRhcnJheSk7DQoJCW5hdHNvcnQoJGFycmF5KTsNCgkJcmVzZXQoJGFycmF5KTsNCgkJJGFycmF5ID0gYXJyYXlfcmV2ZXJzZSgkYXJyYXkpOw0KDQogICAgICAgICAgICAkaSA9ICRhbnpfZGF0Ow0KCQl3aGlsZSgobGlzdCgkbGluZV9udW0sICRsaW5lKSA9IGVhY2goJGFycmF5KSkgJiYgJGkgPiAwKSB7DQogICAgICAgICAgICAJaWYoJGxpbmUpICRhdXNnYWJlIC49ICI8bGk+Ii5zdWJzdHIoc3Ryc3RyKCRsaW5lLCAnPGEgaHJlZicpLDApLiI8L2xpPlxuIjsNCiAgICAgICAgICAgICAgICAgICRpLS07DQogICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQoJCWlmIChpc3NldCgkZm91bmR0eHQpKXsNCgkJCWVjaG8gIjxwPjxzdHJvbmc+JGZvdW5kPC9zdHJvbmc+ICRmb3VuZHR4dCI7DQoJCQl9IGVsc2Ugew0KCQkJZWNobyAiPHA+RXMgd3VyZGUkbiA8c3Ryb25nPiRmb3VuZDwvc3Ryb25nPiBEb2t1bWVudCRlIGdlZnVuZGVuIjsNCgkJfQ0KCQkNCg0KDQogICAgICAgICAgICBpZiAoJGFuel9kYXQgPCAkZm91bmQpIHsNCgkJCWlmIChpc3NldCgkYW5nZXplaWd0dHh0KSl7DQoJCQkJZWNobyAkYW5nZXplaWd0dHh0Ow0KCQkJCX0gZWxzZSB7DQoJCQkJZWNobyAiLjxiciAvPkFuZ2V6ZWlndCB3ZXJkZW4gZGllIDxzdHJvbmc+JGFuel9kYXQ8L3N0cm9uZz4gYmVzdGVuIEVyZ2Vibmlzc2UiOw0KCQkJfQ0KCQkJCQ0KCQl9DQoNCgkJaWYoJHRyZWZmZXIgJiYgJGZvdW5kID4gMSAmJiAkc2VhcmNoX2NvdW50ID09IDEpIHsNCgkJCWlmIChpc3NldCgkc29ydHR4dCkpew0KCQkJCSRzb3J0aGlud2VpcyA9ICRzb3J0dHh0Ow0KCQkJCX0gZWxzZSB7DQoJCQkJJHNvcnRoaW53ZWlzID0gIiwgc29ydGllcnQgbmFjaCBbQW56YWhsJm5ic3A7ZGVyJm5ic3A7VHJlZmZlciZuYnNwO3BybyZuYnNwO0Rva3VtZW50XSI7DQoJCQl9DQoJCX0NCiAgICAgICAgICAgIGVjaG8gIiRzb3J0aGlud2Vpcy48L3A+IjsNCg0KICAgICAgICAgICAgJGxpc3RfYXJ0PSJ1IjsNCiAgICAgICAgICAgIGlmICgkbnVtX2xpc3QpJGxpc3RfYXJ0PSJvIjsNCiAgICAgICAgICAgIGVjaG8gIlxuPCIuJGxpc3RfYXJ0LiJsPlxuIi4kYXVzZ2FiZS4iPC8iLiRsaXN0X2FydC4ibD5cbiI7DQoNCgl9DQp9DQoNCg0KZWxzZSB7ZWNobyAkbWlubGVuZ3RoO30NCn0NCg0KZWNobyAkc2VhcmNodGlwOw0KDQokbXRpbWUgPSBtaWNyb3RpbWUoKTsgJG10aW1lID0gZXhwbG9kZSggJyAnLCAkbXRpbWUpOyAkbXRpbWUgPSAkbXRpbWVbMV0gKyAkbXRpbWVbMF07DQokc3VjaF9lbmRlID0gJG10aW1lOw0KJHRpbWVfZ2VzYW10ID0gJHN1Y2hfZW5kZSAtICRzdWNoX3N0YXJ0Ow0KaWYoaXNzZXQoJGZvdW5kKSkgew0KCWlmIChpc3NldCgkdGltZXR4dCkpew0KCQkkdGltZWhpbndlaXMgPSAkdGltZXR4dDsNCgkJfSBlbHNlIHsNCgkJJHRpbWVoaW53ZWlzID0gIlN1Y2hlIGF1c2dlZiZ1dW1sO2hydCBpbiAiOw0KCX0NCiAgICAgIGVjaG8gIjxkaXYgc3R5bGU9XCJmb250LXNpemU6IC44ZW07IG1hcmdpbi10b3A6IDFlbTtcIj5cbjxwPiR0aW1laGlud2VpcyIubnVtYmVyX2Zvcm1hdCgkdGltZV9nZXNhbXQsMiwnLCcsJy4nKS4iIHNlYyAkYmluZGUgJHdkdyAkdmVyc2lvbjwvcD5cbjwvZGl2PiI7DQp9IGVsc2Ugew0KICAgICAgZWNobyAiPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogLjhlbTsgbWFyZ2luLXRvcDogMWVtO1wiPlxuPHA+JHdkdyAkdmVyc2lvbjwvcD5cbjwvZGl2PiI7DQp9DQo=
";eval(base64_decode($NCiR0aW1lX29sZCA9IDA7IC8vIGb8ciBkaWUgRm9ydHNjaHJpdHRzYW56ZWlnZQNCiR0aW1lX29sZCA9IDA7IC8vIGb8ciBkaWUgRm9ydHNjaHJpdHRzYW56ZWlnZQ));
?>
Das ist nicht "verschlüsselt" , sondern base64 encoded.Code: Alles auswählen
$NCiR0aW1lX29sZCA9IDA7IC8vIGb8ciBkaWUgRm9ydHNjaHJpdHRzYW56ZWlnZQNCiR0aW1lX29sZCA9IDA7IC8vIGb8ciBkaWUgRm9ydHNjaHJpdHRzYW56ZWlnZQ=" Ly8gTmV0dCwgZGHfIFNpZSBzaWNoIGb8ciBtZWluZW4gc291cmNlY29kZSBpbnRlcmVzc2llcmVuLiBEZXIgTGluayBhdWYgd2ViZGVzaWduLndlaXNzaGFydC5kZSBkYXJmIG51ciBuYWNoIEVyd2VyYiBlaW5lciBMaXplbnogZW50ZmVybnQgd2VyZGVuIQ0KLy8gQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgJzEnKTsNCmlmICghQGluaV9nZXQoJ3NhZmVfbW9kZScpKSBAc2V0X3RpbWVfbGltaXQoNDUpOw0KJG10aW1lID0gbWljcm90aW1lKCk7ICRtdGltZSA9IGV4cGxvZGUoICcgJywgJG10aW1lKTsgJG10aW1lID0gJG10aW1lWzFdICsgJG10aW1lWzBdOw0KJHN1Y2hfc3RhcnQgPSAkbXRpbWU7DQoNCiR2ZXJzaW9uPSAnPCEtLSBWZXJzaW9uIDI4LjEwLjA1IC0tPic7DQoNCgkNCmlmIChwaHB2ZXJzaW9uKCkgPCAnNC4zLjAnKSB7DQoJZWNobyAiPHA+RGllc2VzIFNjcmlwdCBlcmZvcmRlcnQgUEhQIFZlcnNpb24gNC4zLjAgb2RlciBoJm91bWw7aGVyITxiciAvPiI7DQoJZWNobyAiYXVmIElocmVtIFNlcnZlciBsJmF1bWw7dWZ0IGFiZXIgUEhQIFZlcnNpb24gIi5waHB2ZXJzaW9uKCkuIi48L3A+IjsNCglleGl0Ow0KfQkJCQkNCmluY2x1ZGUoInNlYXJjaF9jb25maWcucGhwIik7DQoNCmlmICghaXNzZXQoJG5vcmVzdWx0KSl7DQoJJG5vcmVzdWx0ID0gIjxwPjxiciAvPkVzIHd1cmRlbiBsZWlkZXIga2VpbmUgZXhha3RlbiAmVXVtbDtiZXJlaW5zdGltbXVuZ2VuIG1pdCBkZW0gZWluZ2VnZWJlbmVuIFN1Y2hiZWdyaWZmIGdlZnVuZGVuLjxiciAvPlZpZWxsZWljaHQgd29sbGVuIFNpZSBlcyBtaXQgZWluZW0gYWxsZ2VtZWluZXJlbiBTdWNoYmVncmlmZiB2ZXJzdWNoZW4uPC9wPiI7DQp9DQoNCmlmICghaXNzZXQoJG1pbmxlbmd0aCkpew0KCSRtaW5sZW5ndGggPSAiPHA+PGJyIC8+R2ViZW4gU2llIGJpdHRlIGVpbmVuIFN1Y2hiZWdyaWZmIHZvbiBtaW5kZXN0ZW5zJm5ic3A7Ii4kbGVuZ3RoLiImbmJzcDtCdWNoc3RhYmVuIEwmYXVtbDtuZ2UgZWluLjwvcD4iOw0KfQ0KDQppZiAoaXNzZXQoJHN1Y2h0aXAwKSl7DQoJJHNlYXJjaHRpcDAgPSAiXG4kc3VjaHRpcDBcbiI7DQoJfSBlbHNlIHsNCgkkc2VhcmNodGlwMCA9ICJcbjxoMz5TdWNodGlwcHM6PC9oMz5cbiI7DQp9DQoNCmlmIChpc3NldCgkc3VjaHRpcDEpKXsNCgkkc2VhcmNodGlwMSA9ICI8dWw+XG4kc3VjaHRpcDFcbiI7DQoJfSBlbHNlIHsNCgkkc2VhcmNodGlwMSA9ICI8dWw+XG48bGk+RGllIEVpbmdhYmUgdm9uIFBsYXR6aGFsdGVyemVpY2hlbiAoKikgaXN0IG5pY2h0IGVyZm9yZGVybGljaC48L2xpPlxuIjsNCn0NCg0KaWYgKGlzc2V0KCRzdWNodGlwMikpew0KCSRzZWFyY2h0aXAyID0gIiRzdWNodGlwMlxuIjsNCgl9IGVsc2Ugew0KCSRzZWFyY2h0aXAyID0gIjxsaT5XZW5uIFNpZSBJaHJlIFN1Y2hlIGF1ZiBnYW56ZSBX9nJ0ZXIgZWluc2NocuRua2VuIHdvbGxlbiwgZvxnZW4gU2llIHZvciB1bmQgbmFjaCBkZW0gU3VjaGJlZ3JpZmYgamV3ZWlscyBlaW4gTGVlcnplaWNoZW4gZWluLjwvbGk+IjsNCn0NCg0KaWYgKGlzc2V0KCRzdWNodGlwMykpew0KCSRzZWFyY2h0aXAzID0gIiRzdWNodGlwM1xuIjsNCgl9IGVsc2Ugew0KCSRzZWFyY2h0aXAzID0gIjxsaT5NZWhyZXJlIFf2cnRlciB3ZXJkZW4gYXV0b21hdGlzY2ggbWl0IFVORCB2ZXJrbvxwZnQuPC9saT4iOw0KfQ0KDQoNCiRzZWFyY2h0aXA0ID0gIiI7DQppZiAoJGp1bXAgPT0gdHJ1ZSAmJiAkdGFyZ2V0ID09ICIiKSB7DQoNCglpZiAoaXNzZXQoJHN1Y2h0aXA0KSl7DQoJCSRzZWFyY2h0aXA0ID0gIiRzdWNodGlwNFxuIjsNCgkJfSBlbHNlIHsNCgkJJHNlYXJjaHRpcDQgPSAiPGxpPkZhbGxzIGRpZSBTdWNoZSBudXIgZWluZW4gZWluemlnZW4gVHJlZmZlciBlcmdpYnQsIHdpcmQgZGllIFRyZWZmZXJzZWl0ZSBkaXJla3QgYW5nZXNwcnVuZ2VuLjwvbGk+XG4iOw0KCX0NCn0NCg0KJHNlYXJjaHRpcDUgPSAiPC91bD5cbiI7DQoNCmlmICgkdGlwcHMpIHskc2VhcmNodGlwID0gJHNlYXJjaHRpcDAuJHNlYXJjaHRpcDEuJHNlYXJjaHRpcDIuJHNlYXJjaHRpcDMuJHNlYXJjaHRpcDQuJHNlYXJjaHRpcDU7IH1lbHNlIHskc2VhcmNodGlwID0iIjt9DQoNCiR3ZHcgPSAnc2NyaXB0IGJ5ICZjb3B5OyAyMDA1IDxhIGhyZWY9Imh0dHA6Ly93ZWJkZXNpZ24ud2Vpc3NoYXJ0LmRlIj53ZWJkZXNpZ24gd2Vpc3NoYXJ0PC9hPic7DQokYmluZGUgPSAiLSI7DQoNCmlmIChpc3NldCgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSkgJiYgaXNzZXQoJHB3ZCkpIHsNCgkkc2VydmVyID0gc3RyX3JlcGxhY2UgKCJ3d3cuIiwiIiwgJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10gKTsNCgkkY2hhdmUgPSAkcHdkIC8gYWJzKGNyYzMyKCRzZXJ2ZXIpKTsgDQp9DQppZiAoaXNzZXQoJGNoYXZlKSAmJiAkY2hhdmUgPT0gIjMyMSIpew0KCSR3ZHcgPScnOw0KCSRiaW5kZT0iIjsNCn0NCg0KJHRpbWVfb2xkID0gMDsgLy8gZvxyIGRpZSBGb3J0c2Nocml0dHNhbnplaWdlDQoNCmlmKGlzc2V0KCRfR0VUWyJxIl0pKSB7DQppZiAoJF9HRVRbInEiXSAhPSAiIikgew0KCSRzZWFyY2ggPSAkX0dFVFsicSJdOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZhdW1sO3wmIzIyODsiLCAi5CIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZvdW1sO3wmIzI0NjsiLCAi9iIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZ1dW1sO3wmIzI1MjsiLCAi/CIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZBdW1sO3wmIzE5NjsiLCAixCIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZPdW1sO3wmIzIxNDsiLCAi1iIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZVdW1sO3wmIzIyMDsiLCAi3CIsICRzZWFyY2gpOw0KCSRzZWFyY2ggPSBlcmVnX3JlcGxhY2UoIiZzemxpZzt8JiMyMjM7IiwgIt8iLCAkc2VhcmNoKTsNCgkNCgkkc2VhcmNoID0gc3RyX3JlcGxhY2UoJ1wiJywnJywkc2VhcmNoKTsNCgkkc2VhcmNoID0gc3RyX3JlcGxhY2UoIlwnIiwiIiwkc2VhcmNoKTsNCgkkc2VhcmNoID0gc3RyX3JlcGxhY2UoJyonLCcnLCRzZWFyY2gpOwkNCgkvLyRzZWFyY2ggPSBzdHJfcmVwbGFjZSgnOycsJycsJHNlYXJjaCk7CQ0KCSRzZWFyY2ggPSBzdHJfcmVwbGFjZSgnLScsJycsJHNlYXJjaCk7CQ0KCSRzZWFyY2ggPSBzdHJfcmVwbGFjZSgnKycsJyAnLCRzZWFyY2gpOwkNCg0KICAgICAgJHNlYXJjaCA9IGh0bWxzcGVjaWFsY2hhcnMoJHNlYXJjaCk7DQoJJHNlYXJjaCA9IHN0cl9yZXBsYWNlICggJyZhbXA7JywgJyYnLCAkc2VhcmNoICk7IC8vIGzk33QgaHRtbCBlbnRpdGllcyB3aWUgJiMzNTE7IHp1ICh6LkIuIHT8cmtpc2NoZSBTb25kZXJ6ZWljaGVuKQ0KCS8vZGllIGdsZWljaGUgWmVpbGUgYXVjaCBpbiBkaWUgc3VjaGVuLnBocCwgYXXfZXJkZW0gWmVpbGUgNDggaGllciB3ZWdrb21tZW50aWVyZW4uDQp9DQoNCmlmKGVtcHR5KCRzZWFyY2gpKSB7JHNlYXJjaD0iIjt9DQoNCmlmKHN0cmxlbigkc2VhcmNoKSA+PSAkbGVuZ3RoICYmICRzZWFyY2ggIT0gJHZhbHVlKSB7DQoNCg0KDQoNCgkkYXJyYXkgPSAiIjsNCgkkYXVzZ2FiZSA9IiI7DQoJJGZvdW5kID0gMDsNCgkkbiA9ICIiOw0KCSRlID0gIiI7DQoJJHNvcnRoaW53ZWlzID0gIiI7DQoJJGxpbmsgPSAiIjsNCg0KCWlmIChpc3NldCgkc3VjaGhpbndlaXMpICYmICRzdWNoaGlud2VpcyAhPSAiIil7DQoJCSRzZWFyY2hoaW53ZWlzID0gJHN1Y2hoaW53ZWlzOw0KCQl9IGVsc2Ugew0KCQkkc2VhcmNoaGlud2VpcyA9ICJTaWUgc3VjaGVuIG5hY2giOw0KCX0NCgllY2hvICc8cD48YnIgLz4nLiRzZWFyY2hoaW53ZWlzLicgPGVtPiInLiRzZWFyY2guJyI8L2VtPiZuYnNwOy4uLic7DQoNCglpZigkanVtcCA9PSBmYWxzZSkgew0KCQlvYl9lbmRfZmx1c2goKTsgb2Jfc3RhcnQoKTsgZWNobyAiLiI7IG9iX2ZsdXNoKCk7IGZsdXNoKCk7DQoJfQ0KDQoNCiAgICAgICAgLy8gZGllIEZ1bmt0aW9uIHp1bSBleHRyYWhpZXJlbiB2b24gVGVpbHN0cmluZ3MNCiAgICAgICAgZnVuY3Rpb24gYXVzbGVzZW4oJGFsbCwgJHN0YXJ0LCAkZW5kKSB7DQogICAgICAgICAgICAgICAgaWYgKHN0cmlzdHIoJGFsbCwkc3RhcnQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkc3RhcnRfcG9zPXN0cnBvcyhzdHJ0b2xvd2VyKCRhbGwpLHN0cnRvbG93ZXIoJHN0YXJ0KSkgKyBzdHJsZW4oJHN0YXJ0KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN0ID0gc3Vic3RyKCRhbGwsJHN0YXJ0X3Bvcyk7DQogICAgICAgICAgICAgICAgICAgICAgICAkZW5kX3Bvcz1zdHJwb3Moc3RydG9sb3dlcigkcmVzdCksc3RydG9sb3dlcigkZW5kKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAkZXJnID0gc3Vic3RyKCRyZXN0LDAsJGVuZF9wb3MpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRlcmc7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KCS8vIGRpZSBGdW5rdGlvbiB6dW0gRHVyY2hzdWNoZW4gZGVzIFZlcnplaWNobmlzYmF1bXM6DQoJZnVuY3Rpb24gdHJlZSgkb3JkbmVyLCAkc3ViID0gRkFMU0UpIHsNCgkJIGdsb2JhbCAkZXJnZWI7DQoJCSAkaGFuZGxlID0gb3BlbmRpcigkb3JkbmVyKTsNCgkJIHdoaWxlIChmYWxzZSAhPT0gKCRmaWxlID0gcmVhZGRpciAoJGhhbmRsZSkpKSB7DQoJCSAgICAgICBpZigkZmlsZSAhPSAiLiIgJiYgJGZpbGUgIT0gIi4uIiAmJiBpc19kaXIoJG9yZG5lci4iLyIuJGZpbGUpKSB7DQoJICAgICAgIAkJJGNvbXBsID0gJG9yZG5lci4iLyIuJGZpbGUuIi8iOw0KCSAgICAgICAJCS8vZWNobyAkY29tcGwuIjxicj4iOw0KCQkJJGVyZ2ViID0gJGVyZ2ViLiIsIi4kY29tcGw7DQogICAgICAgIAkJdHJlZSgkb3JkbmVyLiIvIi4kZmlsZSwgVFJVRSk7DQoJCQl9DQoJCX0NCgkgIAljbG9zZWRpcigkaGFuZGxlKTsNCgl9DQoNCglpZiAoJGFsbGVkaXJzKSB7DQoJICAgdHJlZSgiLiIpOw0KCSAgICRlcmdlYiA9ICIuLyIuJGVyZ2ViOw0KCSAgICRkaXJzID0gZXhwbG9kZSAoIiwiLCAkZXJnZWIpOw0KCX0NCg0KCWZvcmVhY2goJGRpcnMgYXMgJGRpcikgew0KCQkkdmVyeiA9IG9wZW5kaXIoJGRpcik7DQoNCgkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKCR2ZXJ6KSkgeyANCg0KCQkJLy8gZWluemVsbmUgRGF0ZWllbiB2b24gZGVyIFN1Y2hlIGF1c3NjaGxpZd9lbg0KCQkJaWYoIWluX2FycmF5KCRmaWxlLCRleGNsdWRlX2ZpbGVzKSAmJiBwcmVnX21hdGNoKCI9KFwuJGRhdF90eXBlKSQ9IiwkZmlsZSkpIHsJDQoJDQoJCQkJLy8gTWV0YS1BbmdhYmVuIGVybWl0dGVsbg0KCQkJCSR0aXRlbCA9ICIiOw0KCQkJCSRrZXl3b3JkcyA9ICIiOw0KCQkJCSRkZXNjcmlwdGlvbiA9ICIiOw0KCQkJCSRnbXRhcnJheT1nZXRfbWV0YV90YWdzKCRkaXIuJGZpbGUpOw0KCQkJCXdoaWxlKGxpc3QoJGtleTEsJHZhbCk9ZWFjaCgkZ210YXJyYXkpKXsNCgkJCQkJc3dpdGNoKHN0cnRvbG93ZXIoJGtleTEpKXsNCgkJCQkgICAgICAJY2FzZSAidGl0bGUiOiAkdGl0ZWw9JHZhbDsgYnJlYWs7DQoJCQkJICAgICAgCWNhc2UgImtleXdvcmRzIjogJGtleXdvcmRzPSR2YWw7IGJyZWFrOw0KCQkJCSAgICAgIAljYXNlICJkZXNjcmlwdGlvbiI6ICRkZXNjcmlwdGlvbj0kdmFsOyBicmVhazsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCSRzdHJpbmcgPSBmaWxlX2dldF9jb250ZW50cygkZGlyLiRmaWxlKTsNCg0KCQkJCS8vIGh0bWwgdGFncyBtaXQgZWluZ2VzY2hsb3NzZW5lbiBwaHAgdGFncyByYXVzDQoNCg0KICAJCQkJJHN0cmluZyA9IHN0cl9yZXBsYWNlKCI8IiwiJmx0OyIsJHN0cmluZyk7DQogIAkJCQkkc3RyaW5nID0gc3RyX3JlcGxhY2UoIj4iLCImZ3Q7Iiwkc3RyaW5nKTsNCiAgCQkJCSRzdWNobXVzdGVyID0gIi8mbHQ7LismbHQ7XD8uK1w/Jmd0Oy4rJmd0Oy8iOw0KICAJCQkJJHN0cmluZyA9IHByZWdfcmVwbGFjZSgkc3VjaG11c3RlciwiIiwkc3RyaW5nKTsNCgkJCQkkc3RyaW5nID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRzdHJpbmcpOw0KDQoNCgkJCQkvLyB1bmVyd/xuc2NodGUgU3RyaW5ncyB2b24gZGVyIFN1Y2hlIGF1c3NjaGxpZd9lbg0KCQkJCWZvcmVhY2goJGV4Y2x1ZGVfc3RyaW5ncyBhcyAkaykgJHN0cmluZyA9IHN0cl9yZXBsYWNlKCRrLCIiLCRzdHJpbmcpOw0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG51ciBm/HIgd2R3IGR5bi4gZGVzY3JpcHRpb25zOg0KCQkJCWlmICgkZGVzY3JpcHRpb24gPT0gIiIpew0KCQkJCQkkZGVzY3JpcHRpb24gPSBhdXNsZXNlbigkc3RyaW5nLCAiZGVzY3JpcHRpb24iLCAiPiIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgCSRkZXNjcmlwdGlvbiA9IHN0cmlwX3RhZ3MoJGRlc2NyaXB0aW9uKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIAkkZGVzY3JpcHRpb24gPSBlcmVnX3JlcGxhY2UoIlxufFxyfGNvbnRlbnR8XCJ8PXxcL3w7fFw/IiwgIiIsICRkZXNjcmlwdGlvbik7DQoJCQkJfQ0KDQoJCQkJLy8gdW5kIHdlaWwgPHRpdGxlPiBuaWNodCBpbW1lciBhbHMgTWV0YS10YWcgY29kaWVydCB3aXJkOg0KCQkJCWlmICgkdGl0ZWwgPT0gIiIpICR0aXRlbCA9IGF1c2xlc2VuKCRzdHJpbmcsICI8dGl0bGU+IiwgIjwvdGl0bGU+Iik7DQoNCgkJCQkvLyB3ZWlsIGVzIExldXRlIGdpYnQsIGRpZSBtZXRhIFRhZ3MgbWl0IFplaWxlbnVtYnJ1Y2ggc2NocmVpYmVuOg0KCQkJCSRkZXNjcmlwdGlvbiA9IHN0cl9yZXBsYWNlKCJcbiIsIiIsJGRlc2NyaXB0aW9uKTsNCgkJCQkka2V5d29yZHMgPSBzdHJfcmVwbGFjZSgiXG4iLCIiLCRrZXl3b3Jkcyk7DQoJCQkJJHRpdGVsID0gc3RyX3JlcGxhY2UoIlxuIiwiIiwkdGl0ZWwpOw0KDQoNCgkJCQkvLyBkaWUgbWV0YSB0YWdzIGluIGRpZSBTdWNoZSBlaW5zY2hsaWXfZW4gZ2Vt5N8gY29uZmlnOg0KCQkJCWlmICgka2V5KSAkc3RyaW5nPSRzdHJpbmcuJGtleXdvcmRzOw0KCQkJCWlmICgkZGVzYykgJHN0cmluZz0kc3RyaW5nLiRkZXNjcmlwdGlvbjsNCgkJCQlpZiAoJHRpdCkgJHN0cmluZz0kc3RyaW5nLiR0aXRlbDsNCgkJCQ0KCQkJDQoJCQkJLy8gRGF0ZWllbiBudXIgendpc2NoZW4gZGVuIGJlaWRlbiBsaW1pdGVyIHRhZ3MgYXVzd2VydGVuOg0KCQkJCWlmICgkbGltaXRfc3RhcnQgIT0gIiIpIHsNCgkJCQkJJHBvcz1zdHJwb3Moc3RydG9sb3dlcigkc3RyaW5nKSxzdHJ0b2xvd2VyKCRsaW1pdF9zdGFydCkpICsgc3RybGVuKCRsaW1pdF9zdGFydCk7IA0KCQkJCQkkc3Vic3RyaW5nX3Jlc3QgPSBzdWJzdHIoJHN0cmluZywkcG9zKTsNCgkJCQl9DQoJCQkJZWxzZSB7DQoJCQkJCSRzdWJzdHJpbmdfcmVzdCA9ICRzdHJpbmc7DQoJCQkJfQ0KCQkJCQkNCgkJCQkvLyB3ZW5uICRsaW1pdF9lbmQgZ2VzZXR6dDoNCgkJCQlpZiAoJGxpbWl0X2VuZCAhPSAiIikgew0KCQkJCQkkZW5kX3Bvcz1zdHJwb3Moc3RydG9sb3dlcigkc3Vic3RyaW5nX3Jlc3QpLHN0cnRvbG93ZXIoJGxpbWl0X2VuZCkpOw0KCQkJCQlpZiAoJGVuZF9wb3MpICRzdHJpbmcgPSBzdWJzdHIoJHN1YnN0cmluZ19yZXN0LDAsJGVuZF9wb3MpOw0KCQkJCX0NCgkJCQllbHNlIHsNCgkJCQkJJHN0cmluZyA9ICRzdWJzdHJpbmdfcmVzdDsNCgkJCQl9DQoJCQkJDQoJCQkJLy9JbmhhbHQgdm9uIHRhZ3MgYXVzd2VydGVuOg0KCQkJCWlmICgkdGFncz09ZmFsc2UpIAkkc3RyaW5nID0gc3RyaXBfdGFncygkc3RyaW5nKTsNCg0KCQkJCSRzdHJpbmcgPSBzdHJfcmVwbGFjZSgiXG4iLCAiIiwgJHN0cmluZyk7DQoJCQkgICAgICAgIA0KDQoJCQkJLy8gamV0enQgZGllIEF1c2dhYmUgZGVzIEtvbnRleHQgdm9yYmVyZWl0ZW46DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJmF1bWw7fCYjMjI4OyIsICLkIiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJm91bWw7fCYjMjQ2OyIsICL2IiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJnV1bWw7fCYjMjUyOyIsICL8IiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJkF1bWw7fCYjMTk2OyIsICLEIiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJk91bWw7fCYjMjE0OyIsICLWIiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJlV1bWw7fCYjMjIwOyIsICLcIiwgJHN0cmluZyk7DQoJCQkJJHN0cmluZyA9IGVyZWdfcmVwbGFjZSgiJnN6bGlnO3wmIzIyMzsiLCAi3yIsICRzdHJpbmcpOw0KCQkJCQ0KCQkJCSRzdHJpbmdsb3cgPSBzdHJ0b2xvd2VyKCRzdHJpbmcpOw0KCQkJCSRzZWFyY2hsb3cgPSBzdHJ0b2xvd2VyKCRzZWFyY2gpOw0KDQoNCgkJCQkjIGRpZSB1bmQtVmVya278cGZ1bmc6DQoJCQkJJHNlYXJjaF9hcnIgPSBleHBsb2RlKCIgIix0cmltKCRzZWFyY2hsb3cpKTsNCgkJCQkkc2VhcmNoX2NvdW50ID0gY291bnQoJHNlYXJjaF9hcnIpOw0KCQkJCQ0KCQkJCSMgZGFtaXQgZvxocmVuZGUgdW5kIHNjaGxpZd9lbmRlIExlZXJ6ZWljaGVuIGJlaSBkZXIgU3VjaGUgbmFjaCBnYW56ZW4gV/ZydGVybiBiZXL8Y2tzaWNodGlndCBibGVpYmVuDQoJCQkJaWYgKCRzZWFyY2hfY291bnQgPT0gMSkgew0KCQkJCQkkc2VhcmNoX2FyclswXSA9ICRzZWFyY2hsb3c7DQogICAgICAgICAgICAgICAgICAgICAgICAJJHN0cmluZ2xvdyA9IGVyZWdfcmVwbGFjZSgiOnxcO3xcLnwsIiwgIiAiLCAkc3RyaW5nbG93KTsgLy8gYXVjaCBnYW56ZSBX9nJ0ZXIgYW0gU2F0emVuZGUgZmluZGVuDQoJCQkJfQ0KCQkJCSR0ZXN0ID0gc3Vic3RyX2NvdW50KCRzdHJpbmdsb3csICRzZWFyY2hsb3cpOw0KCQkJCQ0KCQkJCSRpPTA7DQoJCQkJZm9yZWFjaCAoJHNlYXJjaF9hcnIgYXMgJHNlYXJjaF93b3JkKSB7DQoJCQkJaWYgKHByZWdfbWF0Y2goIi8oJHNlYXJjaF93b3JkKS9pIiwgJHN0cmluZ2xvdykpIHsJCS8vIHdlbm4gU3VjaGJlZ3JpZmYgdm9ya29tbXQNCgkJCQkJJGkrKzsNCgkJCQkNCgkJCQkJaWYgKCRpPT0kc2VhcmNoX2NvdW50KSB7CQkvLyBzb2JhbGQgYWxsZSBTdWNoYmVncmlmZmUgZ2VmdW5kZW4gd3VyZGVuLi4uDQoJCQkJDQoJCQkJCQkvLyBoaWdobGlnaHRpbmcgd2lyZCB2b24gc2VhcmNoaGkuanMgZXJsZWRpZ3Q6DQoJCQkJCQlpZiAoJHNlYXJjaF9jb3VudCA+IDEpew0KCQkJCQkJCSRwb3M9c3RycG9zKCRzdHJpbmdsb3csJHNlYXJjaF93b3JkKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJJHBvcz1zdHJwb3MoJHN0cmluZ2xvdywkc2VhcmNobG93KTsNCgkJCQkJCX0NCgkJCQkJCQ0KCQkJCQkJaWYgKCR2b3IgPj0gJHBvcykgew0KCQkJCQkJCSRwaWVjZTEgPSBzdHJpcF90YWdzKHN1YnN0cigkc3RyaW5nLCRwb3MsJG5hY2gpKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJJHBpZWNlMSA9IHN0cmlwX3RhZ3Moc3Vic3RyKCRzdHJpbmcsJHBvcy0kdm9yLCR2b3IrJG5hY2gpKTsNCgkJCQkJCQkkcGllY2UxID0gc3Ryc3RyICgkcGllY2UxLCIgIik7IC8vIHZlcm1laWRldCBCcnVjaHN0/GNrZSB2b24gV/ZydGVybiBhbSBBbmZhbmcgZGVzIEtvbnRleHQNCgkJCQkJCX0NCg0KCQkJCQkJJHBpZWNlMSA9IHN1YnN0cigkcGllY2UxLCAwLCBzdHJsZW4oc3RycmNocigkcGllY2UxLDMyKSkqKC0xKSkuIiAuLi4iOyAvLyB2ZXJtZWlkZXQgQnJ1Y2hzdPxja2Ugdm9uIFf2cnRlcm4gYW0gRW5kZSBkZXMgS29udGV4dA0KCQkJCQkJJHJlc3QgPSAiPGJyIC8+JHBpZWNlMSI7DQoJCQkJCQkNCgkNCgkNCgkJCQkJCWlmKCR2b3I9PSIwIiAmJiAkbmFjaD09IjAiKSAkcmVzdCA9ICIiOw0KCQ0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCEkZGVzY3JpcHRpb24gPT0gIiIgJiYgJHNob3dfZGVzYyA9PSB0cnVlKSAkcmVzdCA9ICI8YnIgLz48c3Ryb25nPkJlc2NocmVpYnVuZzo8L3N0cm9uZz4gJGRlc2NyaXB0aW9uIjsNCgkJCQ0KCQkJCQkJaWYoJGZpbGVuYW1lKSAkdGl0ZWwgPSAkZmlsZTsNCgkJCQkJCWlmKCR0aXRlbCA9PSAiIikgJHRpdGVsID0gJGZpbGU7DQoJCQkJCQkkbGluayA9ICRkaXIuJGZpbGU7DQoJCQkNCgkJCQ0KCQkJCQkJaWYoJHRpdGVsICE9ICIiKSB7DQoJCQkNCgkJCQkJCQlpZiAoJHRhcmdldCA9PSAiYmxhbmsiKSB7DQoJCQkJCQkJCSR6aWVsID0gJ3RhcmdldD0iX2JsYW5rIic7DQoJCQkJCQkJCSRqdW1wID0gZmFsc2U7DQoJCQkJCQkJfSBlbHNlaWYgKCR0YXJnZXQgIT0gIiIpIHsNCgkJCQkJCQkJJHppZWwgPSAndGFyZ2V0PSInLiR0YXJnZXQuJyInOw0KCQkJCQkJCQkkanVtcCA9IGZhbHNlOw0KCQkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJCSR6aWVsID0gJyc7DQoJCQkJCQkJfQ0KCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJaWYgKCRwZmFkID09IHRydWUpIHsNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJJHVybCA9ICI8YSBocmVmPVwiIi4kbGluay4iXCIiLiR6aWVsLiI+Ii4kcGZhZGluZm8uc3Vic3RyKCRsaW5rLDEpLiI8L2E+IjsNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfSBlbHNlIHsNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJJHVybCA9ICIiOw0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCgkNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGFlbmRfZGF0ID09IHRydWUpIHsNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJJG1vZCA9ICIgU3RhbmQ6Jm5ic3A7Ii5kYXRlKCJkLm0ueSIsIGZpbGVtdGltZSgkbGluaykpOw0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSRtb2QgPSAiIjsNCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoJDQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRhZW5kX2RhdCAmJiAkcGZhZCkgew0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkkdHJlbm5lciA9ICIgLSAiOw0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSR0cmVubmVyID0gIiI7DQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0cmVmZl9hbno9IiI7DQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJHRyZWZmZXIgJiYgJHRlc3Q+PTEpICR0cmVmZl9hbno9IlskdGVzdF0iOw0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhcnJheSAuPSAkdGVzdC4iPGEgaHJlZj1cIiIuJGxpbmsuIlwiIi4kemllbC4iPiIuJHRpdGVsLiI8L2E+ICIuJHRyZWZmX2Fuei4kcmVzdC4iPHNwYW4gY2xhc3M9J21vZCc+Ii4kdXJsLiR0cmVubmVyLiRtb2QuIjwvc3Bhbj5cbiI7DQoJDQoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZvdW5kICsrOw0KCQ0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KDQoJCWNsb3NlZGlyKCR2ZXJ6KTsNCg0KCQkvLyBkaWUgRm9ydHNjaHJpdHRzYW56ZWlnZToNCgkJaWYoJGp1bXAgPT0gZmFsc2UpIHsNCgkJCS8vIHVzbGVlcCg3MDAwMDApOw0KCQkJJG10aW1lID0gbWljcm90aW1lKCk7ICRtdGltZSA9IGV4cGxvZGUoICcgJywgJG10aW1lKTsgJG10aW1lID0gJG10aW1lWzFdICsgJG10aW1lWzBdOw0KCQkJJHN1Y2hfdGltZXIgPSAkbXRpbWU7DQoJCQkkdGltZV9uZXUgPSAkc3VjaF90aW1lciAtICRzdWNoX3N0YXJ0Ow0KCQkJaWYgKCgkdGltZV9uZXUgLSAkdGltZV9vbGQpID4gMC43KSB7DQoJCQkJb2JfZW5kX2ZsdXNoKCk7IG9iX3N0YXJ0KCk7IGVjaG8gIi4iOyBvYl9mbHVzaCgpOyBmbHVzaCgpOw0KCQkJCSR0aW1lX29sZCA9ICR0aW1lX25ldTsgDQoJCQl9DQoJCX0NCgl9DQoJZWNobyAnPC9wPic7DQoJaWYgKCRzZWFyY2ggPT0gIqdmb3VuZCIpIHtlY2hvICcmIzgzO3UmIzk5O2gmIzExNTtjJiMxMTQ7aSYjMTEyO3QgJiMxNjk7IDImIzQ4OzA1ICYjMTE5O2UmIzk4O2QmIzEwMTtzJiMxMDU7Z24mIzQ2OyYjMTE5ZSYjMTA1O3MmIzExNTtoJiM5NztyJiMxMTY7JiM0NjsmIzEwMDtlJztleGl0O30NCg0KDQovLyBMb2dkYXRlaSBzY2hyZWliZW4gdW5kIEJlbmFjaHJpY2h0aWd1bmdzLU1haWwgbWl0IGlwIC0gU3BlcnJlOg0KZnVuY3Rpb24gc2NocmVpYmVuKCRkYXRlaSwkbW9kZSl7DQoJZ2xvYmFsICRzZWFyY2g7DQoJJGZwID0gQGZvcGVuKCRkYXRlaSwkbW9kZSk7DQoJZmxvY2soJGZwLExPQ0tfRVgpOw0KCWZ3cml0ZSgkZnAsJF9TRVJWRVJbIlJFTU9URV9BRERSIl0uInwiLnRpbWUoKS4ifCIuJHNlYXJjaC4iXG4iKTsNCglmbG9jaygkZnAsTE9DS19VTik7DQoJZmNsb3NlKCRmcCk7DQp9DQoNCg0KZnVuY3Rpb24gaXBfc3BlcnJlKCkgew0KZ2xvYmFsICRzZWFyY2g7DQpnbG9iYWwgJHJlbG9hZGxpbWl0Ow0KDQokcmVsb2FkbG9nZGF0ZWkgPSAicmVsb2FkLnR4dCI7DQokYW56YWhsZWludHJhZWdlID0gMTAwOw0KDQovLyBQcvxmZW4sIG9iIHJlbG9hZGRhdGVpIGV4aXN0aWVydCA9PiBhbnNvbnN0ZW4gRXJzdGVsbGVuDQoNCmlmKCFmaWxlX2V4aXN0cygkcmVsb2FkbG9nZGF0ZWkpKSB7DQoJJGRhdGVpID0gZm9wZW4oJHJlbG9hZGxvZ2RhdGVpLCJ3KyIpOw0KCWZjbG9zZSgkZGF0ZWkpOw0KfQ0KDQokZnAgPSBmaWxlKCRyZWxvYWRsb2dkYXRlaSk7DQokc2l6ZSA9IHNpemVvZigkZnApOw0KDQovLyBEYXRlaSBzY2hyZWliZW4sIHdlbm4gTGlzdGUgdm9sbDoNCmlmKCRzaXplID49ICRhbnphaGxlaW50cmFlZ2Upew0KCXNjaHJlaWJlbigkcmVsb2FkbG9nZGF0ZWksInciKTsNCg0KCS8vIFBy/GZlbiwgb2IgZWluZSBJUCBpbiBkZXIgTGlzdGUgc3RlaHQNCn0gZWxzZSB7DQoJZm9yICgkaT0wOyRpPD0kc2l6ZTskaSsrKSB7DQogICAgICAJQCR6ZWlsZSA9IGV4cGxvZGUoInwiLCRmcFskaS0xXSk7DQogICAgICAJLy8gSVAgd2lyZCBnZWZ1bmRlbg0KICAgICAgCWlmICgkemVpbGVbMF0gPT0gJF9TRVJWRVJbIlJFTU9URV9BRERSIl0gQU5EICR6ZWlsZVsxXSA+ICh0aW1lKCktJHJlbG9hZGxpbWl0KSAmJiB0cmltKCR6ZWlsZVsyXSkgPT0gdHJpbSgkc2VhcmNoKSl7DQoJCQkkYXVzZ2FiZSA9IHRydWU7IA0KCQkvLyBJUCB3aXJkIG5pY2h0IGdlZnVuZGVuDQoJCX0gZWxzZSAgew0KICAgICAgICAJCSRhdXNnYWJlID0gZmFsc2U7DQogICAgICAJfQ0KCX0NCgkvLyBQcm90b2tvbGxpZXJ0IGRpZSBJUC1BZHJlc3NlIChzY2hyZWlidCk6DQoJc2NocmVpYmVuKCRyZWxvYWRsb2dkYXRlaSwiYSsiKTsNCgl9DQoJcmV0dXJuIEAkYXVzZ2FiZTsNCn0NCg0KLy8gamV0enQgTG9nZmlsZSB1bmQgQmVuYWNocmljaHRpZ3VuZ3MtTWFpbCBzY2hyZWliZW46DQppZihpcF9zcGVycmUoKT09ZmFsc2UpIHsNCg0KCS8vIEJlbmFjaHJpY2h0aWd1bmdzIE1haWw6DQoJaWYoJG1haWwgPT0gdHJ1ZSAmJiAkc2VhcmNoICE9ICR2YWx1ZSkgew0KCQltYWlsKCIkYWRtaW5hZGRyZXNzIiwiU3VjaGUgYXVmICRzZWl0ZSIsIkZvbGdlbmRlciBCZWdyaWZmIHd1cmRlIHNvZWJlbiBhdWYgZGVyIFNlaXRlICRzZWl0ZSBnZXN1Y2h0OiBcbiRzZWFyY2hcblRyZWZmZXI6ICRmb3VuZCIpOw0KCX0NCg0KCS8vIExvZ2ZpbGUgc2NocmVpYmVuOg0KCSR0b2RheSA9IGRhdGUoImQubS4gSDppICIpOw0KCSRubCA9IGh0bWxfZW50aXR5X2RlY29kZSgkdG9kYXkuJF9HRVRbInEiXSkuIigiLiRmb3VuZC4iKVxuIjsNCgkNCglpZigkZnAgPSBmb3Blbignc2VhcmNobG9nLnR4dCcsICdhKycpKSB7CQkvLyBmYWxscyBkaWUgTG9nZGF0ZWkgbmljaHQgZXhpc3RpZXJ0LCB3aXJkIHZlcnN1Y2h0LCBzaWUgYW56dWxlZ2VuLg0KCQlmbG9jaygkZnAsIExPQ0tfRVggfCBMT0NLX05CKSBvciBkaWUoIkthbm4gZGllIFppZWxkYXRlaSBm/HIgZGVuIFNjaHJlaWJ6dWdyaWZmIG5pY2h0IGZyZWlnZWJlbi4gRWluIGFuZGVyZXIgVXNlciBzY2hyZWlidCBnZXJhZGUuIFZlcnN1Y2gncyBlaW5mYWNoIHNwJmF1bWw7dGVyIG5vY2ggZWlubWFsLiIpOw0KCQlmd3JpdGUoJGZwLCAkbmwpOw0KCQlmY2xvc2UoJGZwKTsNCgl9DQoNCn0NCg0KDQoNCglpZigkZm91bmQgPT0gIjAiKQl7IA0KCQllY2hvICRub3Jlc3VsdDsNCgl9DQoNCglpZigkZm91bmQgPT0gIjEiICYmICRqdW1wID09IHRydWUgJiYgJF9TRVJWRVJbJ1BIUF9TRUxGJ10gIT0gc3Vic3RyKCRsaW5rLDEpKQl7IC8vZGFzIFN1Y2hzY3JpcHQgc2VsYnN0IGRhcmYgbmljaHQgYW5nZXNwcnVuZ2VuIHdlcmRlbjogRW5zbG9zc2NobGVpZmUNCgkJJGxpbmsgPSBzdWJzdHIoJGxpbmssMSk7CS8vZGVuIFB1bmt0IHZvciBkZW0gZGlyIHdlZw0KDQoJCS8vIGRvcHBlbHRlIHNsYXNoIHZvciBEYXRlaW5hbWVuIHVudGVyZHL8Y2tlbg0KCQkkZGlybmFtZSA9IGRpcm5hbWUoJF9TRVJWRVJbJ1BIUF9TRUxGJ10pOyANCgkJaWYoJGRpcm5hbWUgPT0gIi8iKSAkZGlybmFtZSA9ICIiOw0KDQoJCWhlYWRlcigiTG9jYXRpb246IGh0dHA6Ly8iLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4kZGlybmFtZS4kbGluay4iP3E9Ii4kc2VhcmNoKTsNCgkJZXhpdDsNCgl9DQoNCglpZigkZm91bmQgPiAiMSIpIHsNCiAgICAgICAgICAgICAgICAkbiA9ICJuIjsgJGUgPSAiZSI7ICRzID0gInMiOw0KCX0NCg0KCWlmKCRmb3VuZCA+PSAiMSIpIHsNCg0KCQkkYXJyYXkgPSBleHBsb2RlKCJcbiIsICRhcnJheSk7DQoJCW5hdHNvcnQoJGFycmF5KTsNCgkJcmVzZXQoJGFycmF5KTsNCgkJJGFycmF5ID0gYXJyYXlfcmV2ZXJzZSgkYXJyYXkpOw0KDQogICAgICAgICAgICAkaSA9ICRhbnpfZGF0Ow0KCQl3aGlsZSgobGlzdCgkbGluZV9udW0sICRsaW5lKSA9IGVhY2goJGFycmF5KSkgJiYgJGkgPiAwKSB7DQogICAgICAgICAgICAJaWYoJGxpbmUpICRhdXNnYWJlIC49ICI8bGk+Ii5zdWJzdHIoc3Ryc3RyKCRsaW5lLCAnPGEgaHJlZicpLDApLiI8L2xpPlxuIjsNCiAgICAgICAgICAgICAgICAgICRpLS07DQogICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQoJCWlmIChpc3NldCgkZm91bmR0eHQpKXsNCgkJCWVjaG8gIjxwPjxzdHJvbmc+JGZvdW5kPC9zdHJvbmc+ICRmb3VuZHR4dCI7DQoJCQl9IGVsc2Ugew0KCQkJZWNobyAiPHA+RXMgd3VyZGUkbiA8c3Ryb25nPiRmb3VuZDwvc3Ryb25nPiBEb2t1bWVudCRlIGdlZnVuZGVuIjsNCgkJfQ0KCQkNCg0KDQogICAgICAgICAgICBpZiAoJGFuel9kYXQgPCAkZm91bmQpIHsNCgkJCWlmIChpc3NldCgkYW5nZXplaWd0dHh0KSl7DQoJCQkJZWNobyAkYW5nZXplaWd0dHh0Ow0KCQkJCX0gZWxzZSB7DQoJCQkJZWNobyAiLjxiciAvPkFuZ2V6ZWlndCB3ZXJkZW4gZGllIDxzdHJvbmc+JGFuel9kYXQ8L3N0cm9uZz4gYmVzdGVuIEVyZ2Vibmlzc2UiOw0KCQkJfQ0KCQkJCQ0KCQl9DQoNCgkJaWYoJHRyZWZmZXIgJiYgJGZvdW5kID4gMSAmJiAkc2VhcmNoX2NvdW50ID09IDEpIHsNCgkJCWlmIChpc3NldCgkc29ydHR4dCkpew0KCQkJCSRzb3J0aGlud2VpcyA9ICRzb3J0dHh0Ow0KCQkJCX0gZWxzZSB7DQoJCQkJJHNvcnRoaW53ZWlzID0gIiwgc29ydGllcnQgbmFjaCBbQW56YWhsJm5ic3A7ZGVyJm5ic3A7VHJlZmZlciZuYnNwO3BybyZuYnNwO0Rva3VtZW50XSI7DQoJCQl9DQoJCX0NCiAgICAgICAgICAgIGVjaG8gIiRzb3J0aGlud2Vpcy48L3A+IjsNCg0KICAgICAgICAgICAgJGxpc3RfYXJ0PSJ1IjsNCiAgICAgICAgICAgIGlmICgkbnVtX2xpc3QpJGxpc3RfYXJ0PSJvIjsNCiAgICAgICAgICAgIGVjaG8gIlxuPCIuJGxpc3RfYXJ0LiJsPlxuIi4kYXVzZ2FiZS4iPC8iLiRsaXN0X2FydC4ibD5cbiI7DQoNCgl9DQp9DQoNCg0KZWxzZSB7ZWNobyAkbWlubGVuZ3RoO30NCn0NCg0KZWNobyAkc2VhcmNodGlwOw0KDQokbXRpbWUgPSBtaWNyb3RpbWUoKTsgJG10aW1lID0gZXhwbG9kZSggJyAnLCAkbXRpbWUpOyAkbXRpbWUgPSAkbXRpbWVbMV0gKyAkbXRpbWVbMF07DQokc3VjaF9lbmRlID0gJG10aW1lOw0KJHRpbWVfZ2VzYW10ID0gJHN1Y2hfZW5kZSAtICRzdWNoX3N0YXJ0Ow0KaWYoaXNzZXQoJGZvdW5kKSkgew0KCWlmIChpc3NldCgkdGltZXR4dCkpew0KCQkkdGltZWhpbndlaXMgPSAkdGltZXR4dDsNCgkJfSBlbHNlIHsNCgkJJHRpbWVoaW53ZWlzID0gIlN1Y2hlIGF1c2dlZiZ1dW1sO2hydCBpbiAiOw0KCX0NCiAgICAgIGVjaG8gIjxkaXYgc3R5bGU9XCJmb250LXNpemU6IC44ZW07IG1hcmdpbi10b3A6IDFlbTtcIj5cbjxwPiR0aW1laGlud2VpcyIubnVtYmVyX2Zvcm1hdCgkdGltZV9nZXNhbXQsMiwnLCcsJy4nKS4iIHNlYyAkYmluZGUgJHdkdyAkdmVyc2lvbjwvcD5cbjwvZGl2PiI7DQp9IGVsc2Ugew0KICAgICAgZWNobyAiPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogLjhlbTsgbWFyZ2luLXRvcDogMWVtO1wiPlxuPHA+JHdkdyAkdmVyc2lvbjwvcD5cbjwvZGl2PiI7DQp9DQo= ";eval(base64_decode($NCiR0aW1lX29sZCA9IDA7IC8vIGb8ciBkaWUgRm9ydHNjaHJpdHRzYW56ZWlnZQNCiR0aW1lX29sZCA9IDA7IC8vIGb8ciBkaWUgRm9ydHNjaHJpdHRzYW56ZWlnZQ)); ?>