Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php @eval("?>".base64_decode("PD9waHANCg0KDQoNCmluY2x1ZGVfb25jZSgibWVyY2Fkb3BhZ28vbGliLn..
Decoded Output download
?>b'<?php
include_once("mercadopago/lib.php");
function mercadopago_config()
{
global $CONFIG;
$configarray = array(
"FriendlyName" => array(
"Type" => "System",
"Value" => "MercadoPago"
),
"links" => array(
"FriendlyName" => "Links Úteis",
"Description" => "| <a href=\'https://www.zeusphp.com.br\' target=\'_blank\'>Suporte Técnico</a> | <a href=\'https://zeushosting.com.br/clientarea.php\' target=\'_blank\'>Área de Cliente</a> | <a href=\'https://www.zeusphp.com.br\' target=\'_blank\'>Nosso Site</a> | ( Versão: 3.0 )"
),
"client_id" => array(
"FriendlyName" => "Client Id",
"Type" => "text",
"Size" => "40",
"Description" => "Você pode obter esta informação através do MercadoPago da <a href=\'https://www.mercadopago.com/mlb/account/credentials\' target=\'_blank\'>Argentina</a>, <a href=\'https://www.mercadopago.com/mlb/account/credentials\' target=\'_blank\'>Brasil</a>, <a href=\'https://www.mercadopago.com/mlb/account/credentials\' target=\'_blank\'>Colômbia</a>, <a href=\'https://www.mercadopago.com/mlb/account/credentials\' target=\'_blank\'>México</a> ou <a href=\'https://www.mercadopago.com/mlb/account/credentials\' target=\'_blank\'>Venezuela</a>."
),
"client_secret" => array(
"FriendlyName" => "Client Secret",
"Type" => "text",
"Size" => "40",
"Description" => "Você pode obter esta informação através do MercadoPago da <a href=\'https://www.mercadopago.com/mlb/account/credentials\' target=\'_blank\'>Argentina</a>, <a href=\'https://www.mercadopago.com/mlb/account/credentials\' target=\'_blank\'>Brasil</a>, <a href=\'https://www.mercadopago.com/mlb/account/credentials\' target=\'_blank\'>Colômbia</a>, <a href=\'https://www.mercadopago.com/mlb/account/credentials\' target=\'_blank\'>México</a> ou <a href=\'https://www.mercadopago.com/mlb/account/credentials\' target=\'_blank\'>Venezuela</a>."
),
"mp-mode" => array(
"FriendlyName" => "Modo de Abertura",
"Type" => "dropdown",
"Options" => "Mesma Janela,Nova Janela,Janela Lightbox,Janela Pop-up",
"Size" => "30",
"Description" => "Defina o modo para abrir o processo de pagamento conforme o tipo de janela que prefira para o seu site."
),
"auto_window" => array(
"FriendlyName" => "Abrir Janela de Pagamento",
"Type" => "yesno",
"Description" => "Abrir janela de pagamento automaticamente ao acessar a fatura."
),
"btn_pg_norec" => array(
"FriendlyName" => "Texto do Botão de Pagamento",
"Type" => "text",
"Size" => "30",
"Default" => "Pagar agora"
),
"taxa_percentual" => array(
"FriendlyName" => "Taxa Percentual (%)",
"Type" => "text",
"Size" => "10",
"Description" => "Taxa para adicionar à fatura. Ex: 5 (igual a 5%). O total será somando com a taxa auxiliar, se houver."
),
"taxa_auxiliar" => array(
"FriendlyName" => "Taxa Auxiliar",
"Type" => "text",
"Size" => "10",
"Description" => "Valor fixo adicional para a fatura. Ex: 0.50 ou 1.00"
),
"estilo" => array(
"FriendlyName" => "-- Opções de CSS",
"Description" => "(não altere se não tiver certeza.) --"
),
"btn_css" => array(
"FriendlyName" => "Classe CSS do Botão de Pagamento",
"Type" => "text",
"Size" => "30",
"Default" => "blue-s-rn-tr"
),
"custom_css" => array(
"FriendlyName" => "CSS Personalizado",
"Type" => "textarea",
"Rows" => "5"
),
"UsageNotes" => array(
"Type" => "System",
"Value" => "URL para notificação: <b>".$CONFIG["SystemURL"]."/modules/gateways/callback/mercadopago.php</b> - Insira a URL em sua conta MercadoPago da <a href=\'https://www.mercadopago.com.br/ipn-notifications\' target=\'_blank\'>Argentina</a>, <a href=\'https://www.mercadopago.com.br/ipn-notifications\' target=\'_blank\'>Brasil</a>, <a href=\'https://www.mercadopago.com.br/ipn-notifications\' target=\'_blank\'>Colômbia</a>, <a href=\'https://www.mercadopago.com.br/ipn-notifications\' target=\'_blank\'>México</a> ou <a href=\'https://www.mercadopago.com.br/ipn-notifications\' target=\'_blank\'>Venezuela</a>."
)
);
return $configarray;
}
function mercadopago_link($params)
{
$taxa_percentual = ( $params[\'amount\'] / 100) * $params[\'taxa_percentual\'];
$taxa_total = $taxa_percentual + $params[\'taxa_auxiliar\'];
$valor_total = $params[\'amount\'] + $taxa_total;
$valor_total = number_format($valor_total, 2, \'.\', \'\');
$dados = array( "sponsor_id" => "131701457", "external_reference" => $params["invoiceid"], "currency" => $params["currency"], "title" => $params["description"], "description" => $params["description"], "quantity" => 1, "image" => "https://www.mercadopago.com/org-img/MP3/home/logomp3.gif", "amount" => (double) $valor_total, "payment_firstname" => $params["clientdetails"]["firstname"], "payment_lastname" => $params["clientdetails"]["lastname"], "email" => $params["clientdetails"]["email"], "pending" => $params["systemurl"] . "/viewinvoice.php?id=" . $params["invoiceid"] . "&pending=true", "approved" => $params["systemurl"] . "/viewinvoice.php?id=" . $params["invoiceid"] . "&success=true" );
$exclude = "";
$type = "initpoint";
$pagamento = new mpCore($params["client_id"], $params["client_secret"]);
$retorno1 = $pagamento->GetCheckout($dados, $exclude, $type);
if( $params["mp-mode"] == "Janela Lightbox" ) $mp_mode = "modal";
if( $params["mp-mode"] == "Janela Pop-up" ) $mp_mode = "popup";
if( $params["mp-mode"] == "Nova Janela" ) $mp_mode = "blank";
if( $params["mp-mode"] == "Mesma Janela" ) $mp_mode = "redirect";
$recurrings = getRecurringBillingValues($params["invoiceid"]);
if( $recurrings && !isset($recurrings["firstpaymentamount"]) && $params["assinatura"] )
{
if( $recurrings["recurringcycleunits"] == "Years" )
{
$recurrings["recurringcycleunits"] = "months";
if( $recurrings["recurringcycleperiod"] == 1 )
{
$recurrings["recurringcycleperiod"] = 12;
}
else
{
if( $recurrings["recurringcycleperiod"] == 2 )
{
$recurrings["recurringcycleperiod"] = 24;
}
else
{
if( $recurrings["recurringcycleperiod"] == 3 )
{
$recurrings["recurringcycleperiod"] = 36;
}
}
}
}
$valor_recorrente = $recurrings["recurringamount"] + $taxa_total;
$valor_recorrente = number_format($valor_recorrente, 2, \'.\', \'\');
$preapproval_data = array( "sponsor_id" => "131701457", "payer_email" => $params["clientdetails"]["email"], "back_url" => $params["systemurl"] . "/viewinvoice.php?id=" . $params["invoiceid"] . "&success=true", "reason" => $params["description"], "external_reference" => $params["invoiceid"], "auto_recurring" => array( "frequency" => (int) $recurrings["recurringcycleperiod"], "frequency_type" => $recurrings["recurringcycleunits"], "transaction_amount" => (double) $valor_recorrente, "currency_id" => $params["currency"] ) );
$pagamento = new mpCore($params["client_id"], $params["client_secret"]);
$retorno2 = $pagamento->create_preapproval_payment($preapproval_data, "initpoint");
$code = "<a href=\"" . $retorno1 . "\" name=\"MP-payButton\" id=\"MP-payButton\" class=\"".$params["btn_css"]."\" mp-mode=\"".$mp_mode."\">".$params["btn_pg_norec"]."</a><a href=\"" . $retorno2 . "\" name=\"MP-payButton\" class=\"".$params["btn_css"]."\" mp-mode=\"".$mp_mode."\">".$params["btn_pg_rec"]."</a><script type=\"text/javascript\" src=\"https://www.mercadopago.com/org-img/jsapi/mptools/buttons/render.js\"></script><style>".$params["custom_css"]."</style>";
if ( $params[\'auto_window\'] && !$_GET["pending"] && !$_GET["success"] ) {
$code .= "<script type=\"text/javascript\">document.getElementById(\"MP-payButton\").click();</script>";
}
if ( $params[\'taxa_percentual\'] || $params[\'taxa_auxiliar\'] ) {
$code .= "<p>Taxa adicional: " . formatCurrency($taxa_total) . "</p>";
$code .= "<p>Valor total à pagar: " . formatCurrency($valor_total) . "</p>";
}
return $code;
}
$code = "<a href=\"" . $retorno1 . "\" name=\"MP-payButton\" id=\"MP-payButton\" class=\"".$params["btn_css"]."\" mp-mode=\"".$mp_mode."\">".$params["btn_pg_norec"]."</a><script type=\"text/javascript\" src=\"https://www.mercadopago.com/org-img/jsapi/mptools/buttons/render.js\"></script><style>".$params["custom_css"]."</style>";
if ( $params[\'auto_window\'] && !$_GET["pending"] && !$_GET["success"] ) {
$code .= "<script type=\"text/javascript\">document.getElementById(\"MP-payButton\").click();</script>";
}
if ( $params[\'taxa_percentual\'] || $params[\'taxa_auxiliar\'] ) {
$code .= "<p>Taxa adicional: " . formatCurrency($taxa_total) . "</p>";
$code .= "<p>Valor total à pagar: " . formatCurrency($valor_total) . "</p>";
}
return $code;
}
function template_refund($params)
{
$gatewayusername = $params["username"];
$gatewaytestmode = $params["testmode"];
$transid = $params["transid"];
$amount = $params["amount"];
$currency = $params["currency"];
$firstname = $params["clientdetails"]["firstname"];
$lastname = $params["clientdetails"]["lastname"];
$email = $params["clientdetails"]["email"];
$address1 = $params["clientdetails"]["address1"];
$address2 = $params["clientdetails"]["address2"];
$city = $params["clientdetails"]["city"];
$state = $params["clientdetails"]["state"];
$postcode = $params["clientdetails"]["postcode"];
$country = $params["clientdetails"]["country"];
$phone = $params["clientdetails"]["phonenumber"];
$cardtype = $params["cardtype"];
$cardnumber = $params["cardnum"];
$cardexpiry = $params["cardexp"];
$cardstart = $params["cardstart"];
$cardissuenum = $params["cardissuenum"];
$results = array( );
$results["status"] = "success";
$results["transid"] = "12345";
if( $results["status"] == "success" )
{
return array( "status" => "success", "transid" => $results["transid"], "rawdata" => $results );
}
if( $gatewayresult == "declined" )
{
return array( "status" => "declined", "rawdata" => $results );
}
return array( "status" => "error", "rawdata" => $results );
}
'
Did this file decode correctly?
Original Code
<?php @eval("?>".base64_decode("PD9waHANCg0KDQoNCmluY2x1ZGVfb25jZSgibWVyY2Fkb3BhZ28vbGliLnBocCIpOw0KDQpmdW5jdGlvbiBtZXJjYWRvcGFnb19jb25maWcoKQ0KDQp7DQoNCiAgICBnbG9iYWwgJENPTkZJRzsNCg0KICAgICRjb25maWdhcnJheSA9IGFycmF5KA0KDQogICAgICAgICJGcmllbmRseU5hbWUiID0+IGFycmF5KA0KDQogICAgICAgICAgICAiVHlwZSIgPT4gIlN5c3RlbSIsDQoNCiAgICAgICAgICAgICJWYWx1ZSIgPT4gIk1lcmNhZG9QYWdvIg0KDQogICAgICAgICksDQoNCiAgICAgICAgImxpbmtzIiA9PiBhcnJheSgNCiAgICAgICAgICAgICJGcmllbmRseU5hbWUiID0+ICJMaW5rcyAmVWFjdXRlO3RlaXMiLA0KICAgICAgICAgICAgIkRlc2NyaXB0aW9uIiA9PiAifCA8YSBocmVmPSdodHRwczovL3d3dy56ZXVzcGhwLmNvbS5icicgdGFyZ2V0PSdfYmxhbmsnPlN1cG9ydGUgVCZlYWN1dGU7Y25pY288L2E+IHwgPGEgaHJlZj0naHR0cHM6Ly96ZXVzaG9zdGluZy5jb20uYnIvY2xpZW50YXJlYS5waHAnIHRhcmdldD0nX2JsYW5rJz4mQWFjdXRlO3JlYSBkZSBDbGllbnRlPC9hPiB8IDxhIGhyZWY9J2h0dHBzOi8vd3d3LnpldXNwaHAuY29tLmJyJyB0YXJnZXQ9J19ibGFuayc+Tm9zc28gU2l0ZTwvYT4gIHwgKCBWZXJzJmF0aWxkZTtvOiAzLjAgKSINCiAgICAgICAgKSwNCg0KCSJjbGllbnRfaWQiID0+IGFycmF5KA0KDQogICAgICAgICAgICAiRnJpZW5kbHlOYW1lIiA9PiAiQ2xpZW50IElkIiwNCg0KICAgICAgICAgICAgIlR5cGUiID0+ICJ0ZXh0IiwNCg0KICAgICAgICAgICAgIlNpemUiID0+ICI0MCIsDQoNCiAgICAgICAgICAgICJEZXNjcmlwdGlvbiIgPT4gIlZvYyZlY2lyYzsgcG9kZSBvYnRlciBlc3RhIGluZm9ybWEmY2NlZGlsOyZhdGlsZGU7byBhdHJhdiZlYWN1dGU7cyBkbyBNZXJjYWRvUGFnbyBkYSA8YSBocmVmPSdodHRwczovL3d3dy5tZXJjYWRvcGFnby5jb20vbWxiL2FjY291bnQvY3JlZGVudGlhbHMnIHRhcmdldD0nX2JsYW5rJz5BcmdlbnRpbmE8L2E+LCA8YSBocmVmPSdodHRwczovL3d3dy5tZXJjYWRvcGFnby5jb20vbWxiL2FjY291bnQvY3JlZGVudGlhbHMnIHRhcmdldD0nX2JsYW5rJz5CcmFzaWw8L2E+LCA8YSBocmVmPSdodHRwczovL3d3dy5tZXJjYWRvcGFnby5jb20vbWxiL2FjY291bnQvY3JlZGVudGlhbHMnIHRhcmdldD0nX2JsYW5rJz5Db2wmb2NpcmM7bWJpYTwvYT4sIDxhIGhyZWY9J2h0dHBzOi8vd3d3Lm1lcmNhZG9wYWdvLmNvbS9tbGIvYWNjb3VudC9jcmVkZW50aWFscycgdGFyZ2V0PSdfYmxhbmsnPk0mZWFjdXRlO3hpY288L2E+IG91IDxhIGhyZWY9J2h0dHBzOi8vd3d3Lm1lcmNhZG9wYWdvLmNvbS9tbGIvYWNjb3VudC9jcmVkZW50aWFscycgdGFyZ2V0PSdfYmxhbmsnPlZlbmV6dWVsYTwvYT4uIg0KDQogICAgICAgICksDQoNCgkiY2xpZW50X3NlY3JldCIgPT4gYXJyYXkoDQoNCiAgICAgICAgICAgICJGcmllbmRseU5hbWUiID0+ICJDbGllbnQgU2VjcmV0IiwNCg0KICAgICAgICAgICAgIlR5cGUiID0+ICJ0ZXh0IiwNCg0KICAgICAgICAgICAgIlNpemUiID0+ICI0MCIsDQoNCiAgICAgICAgICAgICJEZXNjcmlwdGlvbiIgPT4gIlZvYyZlY2lyYzsgcG9kZSBvYnRlciBlc3RhIGluZm9ybWEmY2NlZGlsOyZhdGlsZGU7byBhdHJhdiZlYWN1dGU7cyBkbyBNZXJjYWRvUGFnbyBkYSA8YSBocmVmPSdodHRwczovL3d3dy5tZXJjYWRvcGFnby5jb20vbWxiL2FjY291bnQvY3JlZGVudGlhbHMnIHRhcmdldD0nX2JsYW5rJz5BcmdlbnRpbmE8L2E+LCA8YSBocmVmPSdodHRwczovL3d3dy5tZXJjYWRvcGFnby5jb20vbWxiL2FjY291bnQvY3JlZGVudGlhbHMnIHRhcmdldD0nX2JsYW5rJz5CcmFzaWw8L2E+LCA8YSBocmVmPSdodHRwczovL3d3dy5tZXJjYWRvcGFnby5jb20vbWxiL2FjY291bnQvY3JlZGVudGlhbHMnIHRhcmdldD0nX2JsYW5rJz5Db2wmb2NpcmM7bWJpYTwvYT4sIDxhIGhyZWY9J2h0dHBzOi8vd3d3Lm1lcmNhZG9wYWdvLmNvbS9tbGIvYWNjb3VudC9jcmVkZW50aWFscycgdGFyZ2V0PSdfYmxhbmsnPk0mZWFjdXRlO3hpY288L2E+IG91IDxhIGhyZWY9J2h0dHBzOi8vd3d3Lm1lcmNhZG9wYWdvLmNvbS9tbGIvYWNjb3VudC9jcmVkZW50aWFscycgdGFyZ2V0PSdfYmxhbmsnPlZlbmV6dWVsYTwvYT4uIg0KDQogICAgICAgICksDQoNCgkibXAtbW9kZSIgPT4gYXJyYXkoDQoNCiAgICAgICAgICAgICJGcmllbmRseU5hbWUiID0+ICJNb2RvIGRlIEFiZXJ0dXJhIiwNCg0KICAgICAgICAgICAgIlR5cGUiID0+ICJkcm9wZG93biIsDQoNCiAgICAgICAgICAgICJPcHRpb25zIiA9PiAiTWVzbWEgSmFuZWxhLE5vdmEgSmFuZWxhLEphbmVsYSBMaWdodGJveCxKYW5lbGEgUG9wLXVwIiwNCg0KICAgICAgICAgICAgIlNpemUiID0+ICIzMCIsDQoNCiAgICAgICAgICAgICJEZXNjcmlwdGlvbiIgPT4gIkRlZmluYSBvIG1vZG8gcGFyYSBhYnJpciBvIHByb2Nlc3NvIGRlIHBhZ2FtZW50byBjb25mb3JtZSBvIHRpcG8gZGUgamFuZWxhIHF1ZSBwcmVmaXJhIHBhcmEgbyBzZXUgc2l0ZS4iDQoNCiAgICAgICAgKSwNCg0KCSJhdXRvX3dpbmRvdyIgPT4gYXJyYXkoDQoNCiAgICAgICAgICAgICJGcmllbmRseU5hbWUiID0+ICJBYnJpciBKYW5lbGEgZGUgUGFnYW1lbnRvIiwNCg0KICAgICAgICAgICAgIlR5cGUiID0+ICJ5ZXNubyIsDQoNCiAgICAgICAgICAgICJEZXNjcmlwdGlvbiIgPT4gIkFicmlyIGphbmVsYSBkZSBwYWdhbWVudG8gYXV0b21hdGljYW1lbnRlIGFvIGFjZXNzYXIgYSBmYXR1cmEuIg0KDQogICAgICAgICksDQoNCgkiYnRuX3BnX25vcmVjIiA9PiBhcnJheSgNCg0KICAgICAgICAgICAgIkZyaWVuZGx5TmFtZSIgPT4gIlRleHRvIGRvIEJvdCZhdGlsZGU7byBkZSBQYWdhbWVudG8iLA0KDQogICAgICAgICAgICAiVHlwZSIgPT4gInRleHQiLA0KDQogICAgICAgICAgICAiU2l6ZSIgPT4gIjMwIiwNCg0KICAgICAgICAgICAgIkRlZmF1bHQiID0+ICJQYWdhciBhZ29yYSINCg0KICAgICAgICApLA0KDQoJInRheGFfcGVyY2VudHVhbCIgPT4gYXJyYXkoDQoNCiAgICAgICAgICAgICJGcmllbmRseU5hbWUiID0+ICJUYXhhIFBlcmNlbnR1YWwgKCUpIiwNCg0KICAgICAgICAgICAgIlR5cGUiID0+ICJ0ZXh0IiwNCg0KICAgICAgICAgICAgIlNpemUiID0+ICIxMCIsDQoNCiAgICAgICAgICAgICJEZXNjcmlwdGlvbiIgPT4gIlRheGEgcGFyYSBhZGljaW9uYXIgJmFncmF2ZTsgZmF0dXJhLiBFeDogNSAoaWd1YWwgYSA1JSkuIE8gdG90YWwgc2VyJmFhY3V0ZTsgc29tYW5kbyBjb20gYSB0YXhhIGF1eGlsaWFyLCBzZSBob3V2ZXIuIg0KDQogICAgICAgICksDQoNCgkidGF4YV9hdXhpbGlhciIgPT4gYXJyYXkoDQoNCiAgICAgICAgICAgICJGcmllbmRseU5hbWUiID0+ICJUYXhhIEF1eGlsaWFyIiwNCg0KICAgICAgICAgICAgIlR5cGUiID0+ICJ0ZXh0IiwNCg0KICAgICAgICAgICAgIlNpemUiID0+ICIxMCIsDQoNCiAgICAgICAgICAgICJEZXNjcmlwdGlvbiIgPT4gIlZhbG9yIGZpeG8gYWRpY2lvbmFsIHBhcmEgYSBmYXR1cmEuIEV4OiAwLjUwIG91IDEuMDAiDQoNCiAgICAgICAgKSwNCg0KCSJlc3RpbG8iID0+IGFycmF5KA0KDQogICAgICAgICAgICAiRnJpZW5kbHlOYW1lIiA9PiAiLS0gT3AmY2NlZGlsOyZvdGlsZGU7ZXMgZGUgQ1NTIiwNCg0KICAgICAgICAgICAgIkRlc2NyaXB0aW9uIiA9PiAiKG4mYXRpbGRlO28gYWx0ZXJlIHNlIG4mYXRpbGRlO28gdGl2ZXIgY2VydGV6YS4pIC0tIg0KDQogICAgICAgICksDQoNCgkiYnRuX2NzcyIgPT4gYXJyYXkoDQoNCiAgICAgICAgICAgICJGcmllbmRseU5hbWUiID0+ICJDbGFzc2UgQ1NTIGRvIEJvdCZhdGlsZGU7byBkZSBQYWdhbWVudG8iLA0KDQogICAgICAgICAgICAiVHlwZSIgPT4gInRleHQiLA0KDQogICAgICAgICAgICAiU2l6ZSIgPT4gIjMwIiwNCg0KICAgICAgICAgICAgIkRlZmF1bHQiID0+ICJibHVlLXMtcm4tdHIiDQoNCiAgICAgICAgKSwNCg0KCSJjdXN0b21fY3NzIiA9PiBhcnJheSgNCg0KICAgICAgICAgICAgIkZyaWVuZGx5TmFtZSIgPT4gIkNTUyBQZXJzb25hbGl6YWRvIiwNCg0KICAgICAgICAgICAgIlR5cGUiID0+ICJ0ZXh0YXJlYSIsDQoNCiAgICAgICAgICAgICJSb3dzIiA9PiAiNSINCg0KICAgICAgICApLA0KDQoJIlVzYWdlTm90ZXMiID0+IGFycmF5KA0KDQogICAgICAgICAgICAiVHlwZSIgPT4gIlN5c3RlbSIsDQoNCiAgICAgICAgICAgICJWYWx1ZSIgPT4gIlVSTCBwYXJhIG5vdGlmaWNhJmNjZWRpbDsmYXRpbGRlO286IDxiPiIuJENPTkZJR1siU3lzdGVtVVJMIl0uIi9tb2R1bGVzL2dhdGV3YXlzL2NhbGxiYWNrL21lcmNhZG9wYWdvLnBocDwvYj4gLSBJbnNpcmEgYSBVUkwgZW0gc3VhIGNvbnRhIE1lcmNhZG9QYWdvIGRhIDxhIGhyZWY9J2h0dHBzOi8vd3d3Lm1lcmNhZG9wYWdvLmNvbS5ici9pcG4tbm90aWZpY2F0aW9ucycgdGFyZ2V0PSdfYmxhbmsnPkFyZ2VudGluYTwvYT4sIDxhIGhyZWY9J2h0dHBzOi8vd3d3Lm1lcmNhZG9wYWdvLmNvbS5ici9pcG4tbm90aWZpY2F0aW9ucycgdGFyZ2V0PSdfYmxhbmsnPkJyYXNpbDwvYT4sIDxhIGhyZWY9J2h0dHBzOi8vd3d3Lm1lcmNhZG9wYWdvLmNvbS5ici9pcG4tbm90aWZpY2F0aW9ucycgdGFyZ2V0PSdfYmxhbmsnPkNvbCZvY2lyYzttYmlhPC9hPiwgPGEgaHJlZj0naHR0cHM6Ly93d3cubWVyY2Fkb3BhZ28uY29tLmJyL2lwbi1ub3RpZmljYXRpb25zJyB0YXJnZXQ9J19ibGFuayc+TSZlYWN1dGU7eGljbzwvYT4gb3UgPGEgaHJlZj0naHR0cHM6Ly93d3cubWVyY2Fkb3BhZ28uY29tLmJyL2lwbi1ub3RpZmljYXRpb25zJyB0YXJnZXQ9J19ibGFuayc+VmVuZXp1ZWxhPC9hPi4iDQoNCiAgICAgICAgKQ0KDQogICAgKTsNCg0KICAgIHJldHVybiAkY29uZmlnYXJyYXk7DQoNCn0NCg0KDQoNCmZ1bmN0aW9uIG1lcmNhZG9wYWdvX2xpbmsoJHBhcmFtcykNCg0Kew0KDQoNCg0KICAgICR0YXhhX3BlcmNlbnR1YWwgPSAoICRwYXJhbXNbJ2Ftb3VudCddIC8gMTAwKSAqICRwYXJhbXNbJ3RheGFfcGVyY2VudHVhbCddOw0KDQogICAgJHRheGFfdG90YWwgPSAkdGF4YV9wZXJjZW50dWFsICsgJHBhcmFtc1sndGF4YV9hdXhpbGlhciddOw0KDQogICAgJHZhbG9yX3RvdGFsID0gJHBhcmFtc1snYW1vdW50J10gKyAkdGF4YV90b3RhbDsNCg0KICAgICR2YWxvcl90b3RhbCA9IG51bWJlcl9mb3JtYXQoJHZhbG9yX3RvdGFsLCAyLCAnLicsICcnKTsNCg0KDQoNCiAgICAkZGFkb3MgPSBhcnJheSggInNwb25zb3JfaWQiID0+ICIxMzE3MDE0NTciLCAiZXh0ZXJuYWxfcmVmZXJlbmNlIiA9PiAkcGFyYW1zWyJpbnZvaWNlaWQiXSwgImN1cnJlbmN5IiA9PiAkcGFyYW1zWyJjdXJyZW5jeSJdLCAidGl0bGUiID0+ICRwYXJhbXNbImRlc2NyaXB0aW9uIl0sICJkZXNjcmlwdGlvbiIgPT4gJHBhcmFtc1siZGVzY3JpcHRpb24iXSwgInF1YW50aXR5IiA9PiAxLCAiaW1hZ2UiID0+ICJodHRwczovL3d3dy5tZXJjYWRvcGFnby5jb20vb3JnLWltZy9NUDMvaG9tZS9sb2dvbXAzLmdpZiIsICJhbW91bnQiID0+IChkb3VibGUpICR2YWxvcl90b3RhbCwgInBheW1lbnRfZmlyc3RuYW1lIiA9PiAkcGFyYW1zWyJjbGllbnRkZXRhaWxzIl1bImZpcnN0bmFtZSJdLCAicGF5bWVudF9sYXN0bmFtZSIgPT4gJHBhcmFtc1siY2xpZW50ZGV0YWlscyJdWyJsYXN0bmFtZSJdLCAiZW1haWwiID0+ICRwYXJhbXNbImNsaWVudGRldGFpbHMiXVsiZW1haWwiXSwgInBlbmRpbmciID0+ICRwYXJhbXNbInN5c3RlbXVybCJdIC4gIi92aWV3aW52b2ljZS5waHA/aWQ9IiAuICRwYXJhbXNbImludm9pY2VpZCJdIC4gIiZwZW5kaW5nPXRydWUiLCAiYXBwcm92ZWQiID0+ICRwYXJhbXNbInN5c3RlbXVybCJdIC4gIi92aWV3aW52b2ljZS5waHA/aWQ9IiAuICRwYXJhbXNbImludm9pY2VpZCJdIC4gIiZzdWNjZXNzPXRydWUiICk7DQoNCiAgICAkZXhjbHVkZSA9ICIiOw0KDQogICAgJHR5cGUgPSAiaW5pdHBvaW50IjsNCg0KICAgICRwYWdhbWVudG8gPSBuZXcgbXBDb3JlKCRwYXJhbXNbImNsaWVudF9pZCJdLCAkcGFyYW1zWyJjbGllbnRfc2VjcmV0Il0pOw0KDQogICAgJHJldG9ybm8xID0gJHBhZ2FtZW50by0+R2V0Q2hlY2tvdXQoJGRhZG9zLCAkZXhjbHVkZSwgJHR5cGUpOw0KDQoNCg0KICAgIGlmKCAkcGFyYW1zWyJtcC1tb2RlIl0gPT0gIkphbmVsYSBMaWdodGJveCIgKSAkbXBfbW9kZSA9ICJtb2RhbCI7DQoNCiAgICBpZiggJHBhcmFtc1sibXAtbW9kZSJdID09ICJKYW5lbGEgUG9wLXVwIiApICRtcF9tb2RlID0gInBvcHVwIjsNCg0KICAgIGlmKCAkcGFyYW1zWyJtcC1tb2RlIl0gPT0gIk5vdmEgSmFuZWxhIiApICRtcF9tb2RlID0gImJsYW5rIjsNCg0KICAgIGlmKCAkcGFyYW1zWyJtcC1tb2RlIl0gPT0gIk1lc21hIEphbmVsYSIgKSAkbXBfbW9kZSA9ICJyZWRpcmVjdCI7DQoNCg0KDQogICAgJHJlY3VycmluZ3MgPSBnZXRSZWN1cnJpbmdCaWxsaW5nVmFsdWVzKCRwYXJhbXNbImludm9pY2VpZCJdKTsNCg0KICAgIGlmKCAkcmVjdXJyaW5ncyAmJiAhaXNzZXQoJHJlY3VycmluZ3NbImZpcnN0cGF5bWVudGFtb3VudCJdKSAmJiAkcGFyYW1zWyJhc3NpbmF0dXJhIl0gKSANCg0KICAgIHsNCg0KICAgICAgICBpZiggJHJlY3VycmluZ3NbInJlY3VycmluZ2N5Y2xldW5pdHMiXSA9PSAiWWVhcnMiICkgDQoNCiAgICAgICAgew0KDQogICAgICAgICAgICAkcmVjdXJyaW5nc1sicmVjdXJyaW5nY3ljbGV1bml0cyJdID0gIm1vbnRocyI7DQoNCiAgICAgICAgICAgIGlmKCAkcmVjdXJyaW5nc1sicmVjdXJyaW5nY3ljbGVwZXJpb2QiXSA9PSAxICkgDQoNCiAgICAgICAgICAgIHsNCg0KICAgICAgICAgICAgICAgICRyZWN1cnJpbmdzWyJyZWN1cnJpbmdjeWNsZXBlcmlvZCJdID0gMTI7DQoNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZWxzZQ0KDQogICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICBpZiggJHJlY3VycmluZ3NbInJlY3VycmluZ2N5Y2xlcGVyaW9kIl0gPT0gMiApIA0KDQogICAgICAgICAgICAgICAgew0KDQogICAgICAgICAgICAgICAgICAgICRyZWN1cnJpbmdzWyJyZWN1cnJpbmdjeWNsZXBlcmlvZCJdID0gMjQ7DQoNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBlbHNlDQoNCiAgICAgICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYoICRyZWN1cnJpbmdzWyJyZWN1cnJpbmdjeWNsZXBlcmlvZCJdID09IDMgKSANCg0KICAgICAgICAgICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICRyZWN1cnJpbmdzWyJyZWN1cnJpbmdjeWNsZXBlcmlvZCJdID0gMzY7DQoNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQoNCg0KICAgICAgICAgICAgICAgIH0NCg0KDQoNCiAgICAgICAgICAgIH0NCg0KDQoNCiAgICAgICAgfQ0KDQoNCg0KICAgICAgICAkdmFsb3JfcmVjb3JyZW50ZSA9ICRyZWN1cnJpbmdzWyJyZWN1cnJpbmdhbW91bnQiXSArICR0YXhhX3RvdGFsOw0KDQogICAgICAgICR2YWxvcl9yZWNvcnJlbnRlID0gbnVtYmVyX2Zvcm1hdCgkdmFsb3JfcmVjb3JyZW50ZSwgMiwgJy4nLCAnJyk7DQoNCg0KDQogICAgICAgICRwcmVhcHByb3ZhbF9kYXRhID0gYXJyYXkoICJzcG9uc29yX2lkIiA9PiAiMTMxNzAxNDU3IiwgInBheWVyX2VtYWlsIiA9PiAkcGFyYW1zWyJjbGllbnRkZXRhaWxzIl1bImVtYWlsIl0sICJiYWNrX3VybCIgPT4gJHBhcmFtc1sic3lzdGVtdXJsIl0gLiAiL3ZpZXdpbnZvaWNlLnBocD9pZD0iIC4gJHBhcmFtc1siaW52b2ljZWlkIl0gLiAiJnN1Y2Nlc3M9dHJ1ZSIsICJyZWFzb24iID0+ICRwYXJhbXNbImRlc2NyaXB0aW9uIl0sICJleHRlcm5hbF9yZWZlcmVuY2UiID0+ICRwYXJhbXNbImludm9pY2VpZCJdLCAiYXV0b19yZWN1cnJpbmciID0+IGFycmF5KCAiZnJlcXVlbmN5IiA9PiAoaW50KSAkcmVjdXJyaW5nc1sicmVjdXJyaW5nY3ljbGVwZXJpb2QiXSwgImZyZXF1ZW5jeV90eXBlIiA9PiAkcmVjdXJyaW5nc1sicmVjdXJyaW5nY3ljbGV1bml0cyJdLCAidHJhbnNhY3Rpb25fYW1vdW50IiA9PiAoZG91YmxlKSAkdmFsb3JfcmVjb3JyZW50ZSwgImN1cnJlbmN5X2lkIiA9PiAkcGFyYW1zWyJjdXJyZW5jeSJdICkgKTsNCg0KICAgICAgICAkcGFnYW1lbnRvID0gbmV3IG1wQ29yZSgkcGFyYW1zWyJjbGllbnRfaWQiXSwgJHBhcmFtc1siY2xpZW50X3NlY3JldCJdKTsNCg0KICAgICAgICAkcmV0b3JubzIgPSAkcGFnYW1lbnRvLT5jcmVhdGVfcHJlYXBwcm92YWxfcGF5bWVudCgkcHJlYXBwcm92YWxfZGF0YSwgImluaXRwb2ludCIpOw0KDQoNCg0KICAgICAgICAkY29kZSA9ICI8YSBocmVmPVwiIiAuICRyZXRvcm5vMSAuICJcIiBuYW1lPVwiTVAtcGF5QnV0dG9uXCIgaWQ9XCJNUC1wYXlCdXR0b25cIiBjbGFzcz1cIiIuJHBhcmFtc1siYnRuX2NzcyJdLiJcIiBtcC1tb2RlPVwiIi4kbXBfbW9kZS4iXCI+Ii4kcGFyYW1zWyJidG5fcGdfbm9yZWMiXS4iPC9hPjxhIGhyZWY9XCIiIC4gJHJldG9ybm8yIC4gIlwiIG5hbWU9XCJNUC1wYXlCdXR0b25cIiBjbGFzcz1cIiIuJHBhcmFtc1siYnRuX2NzcyJdLiJcIiBtcC1tb2RlPVwiIi4kbXBfbW9kZS4iXCI+Ii4kcGFyYW1zWyJidG5fcGdfcmVjIl0uIjwvYT48c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIiBzcmM9XCJodHRwczovL3d3dy5tZXJjYWRvcGFnby5jb20vb3JnLWltZy9qc2FwaS9tcHRvb2xzL2J1dHRvbnMvcmVuZGVyLmpzXCI+PC9zY3JpcHQ+PHN0eWxlPiIuJHBhcmFtc1siY3VzdG9tX2NzcyJdLiI8L3N0eWxlPiI7DQoNCiAgICAgICAgaWYgKCAkcGFyYW1zWydhdXRvX3dpbmRvdyddICYmICEkX0dFVFsicGVuZGluZyJdICYmICEkX0dFVFsic3VjY2VzcyJdICkgew0KDQogICAgICAgICAgICAkY29kZSAuPSAiPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJNUC1wYXlCdXR0b25cIikuY2xpY2soKTs8L3NjcmlwdD4iOw0KDQogICAgICAgIH0NCg0KICAgICAgICBpZiAoICRwYXJhbXNbJ3RheGFfcGVyY2VudHVhbCddIHx8ICRwYXJhbXNbJ3RheGFfYXV4aWxpYXInXSApIHsNCg0KICAgICAgICAgICAgJGNvZGUgLj0gIjxwPlRheGEgYWRpY2lvbmFsOiAiIC4gZm9ybWF0Q3VycmVuY3koJHRheGFfdG90YWwpIC4gIjwvcD4iOw0KDQogICAgICAgICAgICAkY29kZSAuPSAiPHA+VmFsb3IgdG90YWwgJmFncmF2ZTsgcGFnYXI6ICIgLiBmb3JtYXRDdXJyZW5jeSgkdmFsb3JfdG90YWwpIC4gIjwvcD4iOw0KDQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gJGNvZGU7DQoNCiAgICB9DQoNCg0KDQogICAgJGNvZGUgPSAiPGEgaHJlZj1cIiIgLiAkcmV0b3JubzEgLiAiXCIgbmFtZT1cIk1QLXBheUJ1dHRvblwiIGlkPVwiTVAtcGF5QnV0dG9uXCIgY2xhc3M9XCIiLiRwYXJhbXNbImJ0bl9jc3MiXS4iXCIgbXAtbW9kZT1cIiIuJG1wX21vZGUuIlwiPiIuJHBhcmFtc1siYnRuX3BnX25vcmVjIl0uIjwvYT48c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIiBzcmM9XCJodHRwczovL3d3dy5tZXJjYWRvcGFnby5jb20vb3JnLWltZy9qc2FwaS9tcHRvb2xzL2J1dHRvbnMvcmVuZGVyLmpzXCI+PC9zY3JpcHQ+PHN0eWxlPiIuJHBhcmFtc1siY3VzdG9tX2NzcyJdLiI8L3N0eWxlPiI7DQoNCiAgICBpZiAoICRwYXJhbXNbJ2F1dG9fd2luZG93J10gJiYgISRfR0VUWyJwZW5kaW5nIl0gJiYgISRfR0VUWyJzdWNjZXNzIl0gKSB7DQoNCiAgICAgICAgJGNvZGUgLj0gIjxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiTVAtcGF5QnV0dG9uXCIpLmNsaWNrKCk7PC9zY3JpcHQ+IjsNCg0KICAgIH0NCg0KICAgIGlmICggJHBhcmFtc1sndGF4YV9wZXJjZW50dWFsJ10gfHwgJHBhcmFtc1sndGF4YV9hdXhpbGlhciddICkgew0KDQogICAgICAgICRjb2RlIC49ICI8cD5UYXhhIGFkaWNpb25hbDogIiAuIGZvcm1hdEN1cnJlbmN5KCR0YXhhX3RvdGFsKSAuICI8L3A+IjsNCg0KICAgICAgICAkY29kZSAuPSAiPHA+VmFsb3IgdG90YWwgJmFncmF2ZTsgcGFnYXI6ICIgLiBmb3JtYXRDdXJyZW5jeSgkdmFsb3JfdG90YWwpIC4gIjwvcD4iOw0KDQogICAgfQ0KDQogICAgcmV0dXJuICRjb2RlOw0KDQp9DQoNCg0KDQoNCg0KZnVuY3Rpb24gdGVtcGxhdGVfcmVmdW5kKCRwYXJhbXMpDQoNCnsNCg0KICAgICRnYXRld2F5dXNlcm5hbWUgPSAkcGFyYW1zWyJ1c2VybmFtZSJdOw0KDQogICAgJGdhdGV3YXl0ZXN0bW9kZSA9ICRwYXJhbXNbInRlc3Rtb2RlIl07DQoNCiAgICAkdHJhbnNpZCA9ICRwYXJhbXNbInRyYW5zaWQiXTsNCg0KICAgICRhbW91bnQgPSAkcGFyYW1zWyJhbW91bnQiXTsNCg0KICAgICRjdXJyZW5jeSA9ICRwYXJhbXNbImN1cnJlbmN5Il07DQoNCiAgICAkZmlyc3RuYW1lID0gJHBhcmFtc1siY2xpZW50ZGV0YWlscyJdWyJmaXJzdG5hbWUiXTsNCg0KICAgICRsYXN0bmFtZSA9ICRwYXJhbXNbImNsaWVudGRldGFpbHMiXVsibGFzdG5hbWUiXTsNCg0KICAgICRlbWFpbCA9ICRwYXJhbXNbImNsaWVudGRldGFpbHMiXVsiZW1haWwiXTsNCg0KICAgICRhZGRyZXNzMSA9ICRwYXJhbXNbImNsaWVudGRldGFpbHMiXVsiYWRkcmVzczEiXTsNCg0KICAgICRhZGRyZXNzMiA9ICRwYXJhbXNbImNsaWVudGRldGFpbHMiXVsiYWRkcmVzczIiXTsNCg0KICAgICRjaXR5ID0gJHBhcmFtc1siY2xpZW50ZGV0YWlscyJdWyJjaXR5Il07DQoNCiAgICAkc3RhdGUgPSAkcGFyYW1zWyJjbGllbnRkZXRhaWxzIl1bInN0YXRlIl07DQoNCiAgICAkcG9zdGNvZGUgPSAkcGFyYW1zWyJjbGllbnRkZXRhaWxzIl1bInBvc3Rjb2RlIl07DQoNCiAgICAkY291bnRyeSA9ICRwYXJhbXNbImNsaWVudGRldGFpbHMiXVsiY291bnRyeSJdOw0KDQogICAgJHBob25lID0gJHBhcmFtc1siY2xpZW50ZGV0YWlscyJdWyJwaG9uZW51bWJlciJdOw0KDQogICAgJGNhcmR0eXBlID0gJHBhcmFtc1siY2FyZHR5cGUiXTsNCg0KICAgICRjYXJkbnVtYmVyID0gJHBhcmFtc1siY2FyZG51bSJdOw0KDQogICAgJGNhcmRleHBpcnkgPSAkcGFyYW1zWyJjYXJkZXhwIl07DQoNCiAgICAkY2FyZHN0YXJ0ID0gJHBhcmFtc1siY2FyZHN0YXJ0Il07DQoNCiAgICAkY2FyZGlzc3VlbnVtID0gJHBhcmFtc1siY2FyZGlzc3VlbnVtIl07DQoNCiAgICAkcmVzdWx0cyA9IGFycmF5KCAgKTsNCg0KICAgICRyZXN1bHRzWyJzdGF0dXMiXSA9ICJzdWNjZXNzIjsNCg0KICAgICRyZXN1bHRzWyJ0cmFuc2lkIl0gPSAiMTIzNDUiOw0KDQogICAgaWYoICRyZXN1bHRzWyJzdGF0dXMiXSA9PSAic3VjY2VzcyIgKSANCg0KICAgIHsNCg0KICAgICAgICByZXR1cm4gYXJyYXkoICJzdGF0dXMiID0+ICJzdWNjZXNzIiwgInRyYW5zaWQiID0+ICRyZXN1bHRzWyJ0cmFuc2lkIl0sICJyYXdkYXRhIiA9PiAkcmVzdWx0cyApOw0KDQogICAgfQ0KDQoNCg0KICAgIGlmKCAkZ2F0ZXdheXJlc3VsdCA9PSAiZGVjbGluZWQiICkgDQoNCiAgICB7DQoNCiAgICAgICAgcmV0dXJuIGFycmF5KCAic3RhdHVzIiA9PiAiZGVjbGluZWQiLCAicmF3ZGF0YSIgPT4gJHJlc3VsdHMgKTsNCg0KICAgIH0NCg0KDQoNCiAgICByZXR1cm4gYXJyYXkoICJzdGF0dXMiID0+ICJlcnJvciIsICJyYXdkYXRhIiA9PiAkcmVzdWx0cyApOw0KDQp9DQo="));//Generated by Ampare PHP Encoder. For more security please use php protect before encode the php program
Function Calls
base64_decode | 1 |
Stats
MD5 | ee9cd279bf3240e009e16327a14126db |
Eval Count | 1 |
Decode Time | 204 ms |