Online PHP and Javascript Decoder decode hidden script to uncover its real functionality


Show other level

namespace Bitrix\Main\Security\W\Rules;
$GLOBALS['____1841531192']= array(base64_decode('aXNfc3RyaW5n'),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('aXNfc3RyaW5n'),base64_decode('Z3pkZWNvZGU='),base64_decode('YmFzZTY0X2RlY29kZQ=='),base64_decode('dXJsZGVjb2Rl'),base64_decode('YXJyYXlfcmV2ZXJzZQ=='),base64_decode('Z3plbmNvZGU='),base64_decode('YmFzZTY0X2VuY29kZQ=='),base64_decode('dXJsZW5jb2Rl'),base64_decode('YmluMmhleA=='),base64_decode('aXNfYXJyYXk='),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('am9pbg=='),base64_decode('Zm5tYXRjaA=='),base64_decode('cmF3dXJsZGVjb2Rl'),base64_decode('c3Vic3Ry'),base64_decode('c3Vic3Ry'),base64_decode('c3RyX3JlcGxhY2U='),base64_decode('cHJlZ19xdW90ZQ=='),base64_decode('cHJlZ19tYXRjaA=='));
	if(!function_exists(__NAMESPACE__.'\\___363043466')){
		function ___363043466($_914849509){
		static $_905777800= false;
		 if($_905777800 == false) $_905777800=array('YWN0aW9u','aW50dmFs','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cHJlZ19yZXBsYWNl','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cHJlZ19tYXRjaA==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cG9zdF9hY3Rpb24=','Y2hlY2tfY3NyZg==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','cG9zdF9hY3Rpb24=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','Z3o=','YmFzZTY0','dXJs','aGV4','Lg==','Lw==','aW5kZXgucGhw','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','fg==','fl4=','fg==','XH4=','JH4=');
		return base64_decode($_905777800[$_914849509]);
	}
};
 use Bitrix\Main\IO\Path;
 use Bitrix\Main\Web\Uri;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
	 abstract class Rule{
	 protected $_1809156439;
	 protected $_112344166;
	 protected $_1067844124;
	 protected $_423630808;
	 protected $_1751553586;
		 public static function make(array $_648585750):?static{
		 $_648585750= static::prepareRuleParameters($_648585750);
			 return match($_648585750[___363043466(0)]){
			 ___363043466(1) => new IntvalRule( $_648585750[___363043466(2)], $_648585750[___363043466(3)], $_648585750[___363043466(4)], $_648585750[___363043466(5)], $_648585750[___363043466(6)]), ___363043466(7) => new PregReplaceRule( $_648585750[___363043466(8)], $_648585750[___363043466(9)], $_648585750[___363043466(10)], $_648585750[___363043466(11)], $_648585750[___363043466(12)], $_648585750[___363043466(13)]), ___363043466(14) => new PregMatchRule( $_648585750[___363043466(15)], $_648585750[___363043466(16)], $_648585750[___363043466(17)], $_648585750[___363043466(18)], $_648585750[___363043466(19)], $_648585750[___363043466(20)], $_648585750[___363043466(21)]), ___363043466(22) => new CsrfRule( $_648585750[___363043466(23)], $_648585750[___363043466(24)], $_648585750[___363043466(25)], $_648585750[___363043466(26)], $_648585750[___363043466(27)], $_648585750[___363043466(28)],), default => null,
		};
	}
		 protected static function prepareRuleParameters(array $_1509938994): array{
			 if($GLOBALS['____1841531192'][0]($_1509938994[___363043466(29)])){
			 $_1509938994[___363043466(30)]= $GLOBALS['____1841531192'][1]($_1509938994[___363043466(31)]);
		}
			 elseif($GLOBALS['____1841531192'][2]($_1509938994[___363043466(32)])){
			 $_163126461= $_1509938994[___363043466(33)];
			 $_1509938994[___363043466(34)]= $_163126461[(199*2-398)];
			 $_1509938994[___363043466(35)]= $_163126461[round(0+0.25+0.25+0.25+0.25)];
		}
		 $_1509938994[___363043466(36)]=!empty($_1509938994[___363043466(37)])? $_1509938994[___363043466(38)]:[];
			 if($GLOBALS['____1841531192'][3]($_1509938994[___363043466(39)])){
			 $_1509938994[___363043466(40)]=[$_1509938994[___363043466(41)]];
		}
		 return $_1509938994;
	}
		  public function __construct($_1809156439, $_112344166, $_1067844124, $_423630808, $_1751553586){
		 $this->_1809156439= $_1809156439;
		 $this->_112344166= $this->castContext($_112344166);
		 $this->_1067844124= $this->castKeys($_1067844124);
		 $this->_423630808= $_423630808;
		 $this->_1751553586= $_1751553586;
	}
	 public function echo $_1301151389;
		{
			 if(!empty($this->_1751553586)){
				 foreach($this->_1751553586 as $_1367883456){
					 $_1301151389= match($_1367883456){
					 'gz' => $GLOBALS['____1841531192'][4]($_1301151389), 'base64' => $GLOBALS['____1841531192'][5]($_1301151389), 'url' => $GLOBALS['____1841531192'][6]($_1301151389), 'hex' => hex2bin($_1301151389)
				};
			}
		}
		 $_413210416= $this->evaluate($_1301151389);
			 if(!empty($this->_1751553586) && $_413210416 instanceof ModifyResult){
			 $_2030217543= $_413210416->getCleanValue();
				 foreach($GLOBALS['____1841531192'][7]($this->_1751553586) as $_1367883456){
					 $_2030217543= match($_1367883456){
					 ___363043466(42) => $GLOBALS['____1841531192'][8]($_2030217543), ___363043466(43) => $GLOBALS['____1841531192'][9]($_2030217543), ___363043466(44) => $GLOBALS['____1841531192'][10]($_2030217543), ___363043466(45) => $GLOBALS['____1841531192'][11]($_2030217543)
				};
			}
			 $_413210416= new ModifyResult($_2030217543);
		}
		 return $_413210416;
	}
	 abstract public function evaluate($_1301151389);
		 protected function castContext($_112344166){
			 if(!$GLOBALS['____1841531192'][12]($_112344166)){
			 $_112344166=[$_112344166];
		}
			 foreach($_112344166 as $_1454091067 => $_586465028){
			 $_112344166[$_1454091067]= $GLOBALS['____1841531192'][13]($_586465028);
		}
		 return $_112344166;
	}
		 protected function castKeys($_1067844124){
			 if(!$GLOBALS['____1841531192'][14]($_1067844124)){
			 $_1067844124=[$_1067844124];
		}
		 return $_1067844124;
	}
		 public function matchKey(array $_493034326): bool{
		 $_493034326= $GLOBALS['____1841531192'][15](___363043466(46), $_493034326);
			 foreach($this->_1067844124 as $_1761340059){
				   if($GLOBALS['____1841531192'][16]($_1761340059, $_493034326)){
				 return true;
			}
		}
		 return false;
	}
		  public function matchPath($_825226955){
			 if($this->_1809156439 === '*'){
			 return true;
		}
		  $_923074265= new Uri($_825226955);
		 $_227829276= $_923074265->getPath();
		 $_227829276= $GLOBALS['____1841531192'][17]($_227829276);
			      if(str_ends_with($_227829276, ___363043466(47))){
			 $_227829276 .= ___363043466(48);
		}
		 $_227829276= Path::normalize($_227829276);
		  $_906737981[]= $_227829276;
			 if(str_ends_with($_227829276, ___363043466(49))){
			 $_906737981[]= $GLOBALS['____1841531192'][18]($_227829276,(990-2*495),-round(0+1.8+1.8+1.8+1.8+1.8));
		}
			 elseif(str_ends_with($_SERVER[___363043466(50)], ___363043466(51))){
			 $_906737981[]= $GLOBALS['____1841531192'][19]($_SERVER[___363043466(52)],(774-2*387),-round(0+2.25+2.25+2.25+2.25));
		}
			 if($_227829276 !== $_SERVER[___363043466(53)]){
			 $_906737981[]= $_SERVER[___363043466(54)];
		}
			  if(str_starts_with($this->_1809156439, ___363043466(55))){
			 $_724968969= $this->_1809156439;
		}
			 else{
			 $_724968969= ___363043466(56). $GLOBALS['____1841531192'][20](___363043466(57), ___363043466(58), $GLOBALS['____1841531192'][21]($this->_1809156439)). ___363043466(59);
		}
			 foreach($_906737981 as $_1357864219){
				 if($this->_1809156439 === $_1357864219 || $GLOBALS['____1841531192'][22]($_724968969, $_1357864219)){
				 return true;
			}
		}
		 return false;
	}
		  public function getPath(){
		 return $this->_1809156439;
	}
		  public function getContext(){
		 return $this->_112344166;
	}
		  public function getKeys(){
		 return $this->_1067844124;
	}
		  public function getProcess(){
		 return $this->_423630808;
	}
}

namespace Bitrix\Main\Security\W\Rules;
$GLOBALS['____1841531192']= array(base64_decode('aXNfc3RyaW5n'),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('aXNfc3RyaW5n'),base64_decode('Z3pkZWNvZGU='),base64_decode('YmFzZTY0X2RlY29kZQ=='),base64_decode('dXJsZGVjb2Rl'),base64_decode('YXJyYXlfcmV2ZXJzZQ=='),base64_decode('Z3plbmNvZGU='),base64_decode('YmFzZTY0X2VuY29kZQ=='),base64_decode('dXJsZW5jb2Rl'),base64_decode('YmluMmhleA=='),base64_decode('aXNfYXJyYXk='),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('am9pbg=='),base64_decode('Zm5tYXRjaA=='),base64_decode('cmF3dXJsZGVjb2Rl'),base64_decode('c3Vic3Ry'),base64_decode('c3Vic3Ry'),base64_decode('c3RyX3JlcGxhY2U='),base64_decode('cHJlZ19xdW90ZQ=='),base64_decode('cHJlZ19tYXRjaA=='));
	if(!function_exists(__NAMESPACE__.'\\___363043466')){
		function ___363043466($_914849509){
		static $_905777800= false;
		 if($_905777800 == false) $_905777800=array('YWN0aW9u','aW50dmFs','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cHJlZ19yZXBsYWNl','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cHJlZ19tYXRjaA==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cG9zdF9hY3Rpb24=','Y2hlY2tfY3NyZg==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','cG9zdF9hY3Rpb24=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','Z3o=','YmFzZTY0','dXJs','aGV4','Lg==','Lw==','aW5kZXgucGhw','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','fg==','fl4=','fg==','XH4=','JH4=');
		return base64_decode($_905777800[$_914849509]);
	}
};
 use Bitrix\Main\IO\Path;
 use Bitrix\Main\Web\Uri;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
	 abstract class Rule{
	 protected $_1809156439;
	 protected $_112344166;
	 protected $_1067844124;
	 protected $_423630808;
	 protected $_1751553586;
		 public static function make(array $_648585750):?static{
		 $_648585750= static::prepareRuleParameters($_648585750);
			 return match($_648585750[___363043466(0)]){
			 ___363043466(1) => new IntvalRule( $_648585750[___363043466(2)], $_648585750[___363043466(3)], $_648585750[___363043466(4)], $_648585750[___363043466(5)], $_648585750[___363043466(6)]), ___363043466(7) => new PregReplaceRule( $_648585750[___363043466(8)], $_648585750[___363043466(9)], $_648585750[___363043466(10)], $_648585750[___363043466(11)], $_648585750[___363043466(12)], $_648585750[___363043466(13)]), ___363043466(14) => new PregMatchRule( $_648585750[___363043466(15)], $_648585750[___363043466(16)], $_648585750[___363043466(17)], $_648585750[___363043466(18)], $_648585750[___363043466(19)], $_648585750[___363043466(20)], $_648585750[___363043466(21)]), ___363043466(22) => new CsrfRule( $_648585750[___363043466(23)], $_648585750[___363043466(24)], $_648585750[___363043466(25)], $_648585750[___363043466(26)], $_648585750[___363043466(27)], $_648585750[___363043466(28)],), default => null,
		};
	}
		 protected static function prepareRuleParameters(array $_1509938994): array{
			 if($GLOBALS['____1841531192'][0]($_1509938994[___363043466(29)])){
			 $_1509938994[___363043466(30)]= $GLOBALS['____1841531192'][1]($_1509938994[___363043466(31)]);
		}
			 elseif($GLOBALS['____1841531192'][2]($_1509938994[___363043466(32)])){
			 $_163126461= $_1509938994[___363043466(33)];
			 $_1509938994[___363043466(34)]= $_163126461[(199*2-398)];
			 $_1509938994[___363043466(35)]= $_163126461[round(0+0.25+0.25+0.25+0.25)];
		}
		 $_1509938994[___363043466(36)]=!empty($_1509938994[___363043466(37)])? $_1509938994[___363043466(38)]:[];
			 if($GLOBALS['____1841531192'][3]($_1509938994[___363043466(39)])){
			 $_1509938994[___363043466(40)]=[$_1509938994[___363043466(41)]];
		}
		 return $_1509938994;
	}
		  public function __construct($_1809156439, $_112344166, $_1067844124, $_423630808, $_1751553586){
		 $this->_1809156439= $_1809156439;
		 $this->_112344166= $this->castContext($_112344166);
		 $this->_1067844124= $this->castKeys($_1067844124);
		 $this->_423630808= $_423630808;
		 $this->_1751553586= $_1751553586;
	}
	 public function echo $_1301151389;
		{
			 if(!empty($this->_1751553586)){
				 foreach($this->_1751553586 as $_1367883456){
					 $_1301151389= match($_1367883456){
					 'gz' => $GLOBALS['____1841531192'][4]($_1301151389), 'base64' => $GLOBALS['____1841531192'][5]($_1301151389), 'url' => $GLOBALS['____1841531192'][6]($_1301151389), 'hex' => hex2bin($_1301151389)
				};
			}
		}
		 $_413210416= $this->echo $_1301151389;
			 if(!empty($this->_1751553586) && $_413210416 instanceof ModifyResult){
			 $_2030217543= $_413210416->getCleanValue();
				 foreach($GLOBALS['____1841531192'][7]($this->_1751553586) as $_1367883456){
					 $_2030217543= match($_1367883456){
					 ___363043466(42) => $GLOBALS['____1841531192'][8]($_2030217543), ___363043466(43) => $GLOBALS['____1841531192'][9]($_2030217543), ___363043466(44) => $GLOBALS['____1841531192'][10]($_2030217543), ___363043466(45) => $GLOBALS['____1841531192'][11]($_2030217543)
				};
			}
			 $_413210416= new ModifyResult($_2030217543);
		}
		 return $_413210416;
	}
	 abstract public function evaluate($_1301151389);
		 protected function castContext($_112344166){
			 if(!$GLOBALS['____1841531192'][12]($_112344166)){
			 $_112344166=[$_112344166];
		}
			 foreach($_112344166 as $_1454091067 => $_586465028){
			 $_112344166[$_1454091067]= $GLOBALS['____1841531192'][13]($_586465028);
		}
		 return $_112344166;
	}
		 protected function castKeys($_1067844124){
			 if(!$GLOBALS['____1841531192'][14]($_1067844124)){
			 $_1067844124=[$_1067844124];
		}
		 return $_1067844124;
	}
		 public function matchKey(array $_493034326): bool{
		 $_493034326= $GLOBALS['____1841531192'][15](___363043466(46), $_493034326);
			 foreach($this->_1067844124 as $_1761340059){
				   if($GLOBALS['____1841531192'][16]($_1761340059, $_493034326)){
				 return true;
			}
		}
		 return false;
	}
		  public function matchPath($_825226955){
			 if($this->_1809156439 === '*'){
			 return true;
		}
		  $_923074265= new Uri($_825226955);
		 $_227829276= $_923074265->getPath();
		 $_227829276= $GLOBALS['____1841531192'][17]($_227829276);
			      if(str_ends_with($_227829276, ___363043466(47))){
			 $_227829276 .= ___363043466(48);
		}
		 $_227829276= Path::normalize($_227829276);
		  $_906737981[]= $_227829276;
			 if(str_ends_with($_227829276, ___363043466(49))){
			 $_906737981[]= $GLOBALS['____1841531192'][18]($_227829276,(990-2*495),-round(0+1.8+1.8+1.8+1.8+1.8));
		}
			 elseif(str_ends_with($_SERVER[___363043466(50)], ___363043466(51))){
			 $_906737981[]= $GLOBALS['____1841531192'][19]($_SERVER[___363043466(52)],(774-2*387),-round(0+2.25+2.25+2.25+2.25));
		}
			 if($_227829276 !== $_SERVER[___363043466(53)]){
			 $_906737981[]= $_SERVER[___363043466(54)];
		}
			  if(str_starts_with($this->_1809156439, ___363043466(55))){
			 $_724968969= $this->_1809156439;
		}
			 else{
			 $_724968969= ___363043466(56). $GLOBALS['____1841531192'][20](___363043466(57), ___363043466(58), $GLOBALS['____1841531192'][21]($this->_1809156439)). ___363043466(59);
		}
			 foreach($_906737981 as $_1357864219){
				 if($this->_1809156439 === $_1357864219 || $GLOBALS['____1841531192'][22]($_724968969, $_1357864219)){
				 return true;
			}
		}
		 return false;
	}
		  public function getPath(){
		 return $this->_1809156439;
	}
		  public function getContext(){
		 return $this->_112344166;
	}
		  public function getKeys(){
		 return $this->_1067844124;
	}
		  public function getProcess(){
		 return $this->_423630808;
	}
}

namespace Bitrix\Main\Security\W\Rules;
$GLOBALS['____1841531192']= array(base64_decode('aXNfc3RyaW5n'),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('aXNfc3RyaW5n'),base64_decode('Z3pkZWNvZGU='),base64_decode('YmFzZTY0X2RlY29kZQ=='),base64_decode('dXJsZGVjb2Rl'),base64_decode('YXJyYXlfcmV2ZXJzZQ=='),base64_decode('Z3plbmNvZGU='),base64_decode('YmFzZTY0X2VuY29kZQ=='),base64_decode('dXJsZW5jb2Rl'),base64_decode('YmluMmhleA=='),base64_decode('aXNfYXJyYXk='),base64_decode('c3RydG9sb3dlcg=='),base64_decode('aXNfYXJyYXk='),base64_decode('am9pbg=='),base64_decode('Zm5tYXRjaA=='),base64_decode('cmF3dXJsZGVjb2Rl'),base64_decode('c3Vic3Ry'),base64_decode('c3Vic3Ry'),base64_decode('c3RyX3JlcGxhY2U='),base64_decode('cHJlZ19xdW90ZQ=='),base64_decode('cHJlZ19tYXRjaA=='));
	if(!function_exists(__NAMESPACE__.'\\___363043466')){
		function ___363043466($_914849509){
		static $_905777800= false;
		 if($_905777800 == false) $_905777800=array('YWN0aW9u','aW50dmFs','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cHJlZ19yZXBsYWNl','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cHJlZ19tYXRjaA==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cG9zdF9hY3Rpb24=','Y2hlY2tfY3NyZg==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','cG9zdF9hY3Rpb24=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','Z3o=','YmFzZTY0','dXJs','aGV4','Lg==','Lw==','aW5kZXgucGhw','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','fg==','fl4=','fg==','XH4=','JH4=');
		return base64_decode($_905777800[$_914849509]);
	}
};
 use Bitrix\Main\IO\Path;
 use Bitrix\Main\Web\Uri;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
	 abstract class Rule{
	 protected $_1809156439;
	 protected $_112344166;
	 protected $_1067844124;
	 protected $_423630808;
	 protected $_1751553586;
		 public static function make(array $_648585750):?static{
		 $_648585750= static::prepareRuleParameters($_648585750);
			 return match($_648585750[___363043466(0)]){
			 ___363043466(1) => new IntvalRule( $_648585750[___363043466(2)], $_648585750[___363043466(3)], $_648585750[___363043466(4)], $_648585750[___363043466(5)], $_648585750[___363043466(6)]), ___363043466(7) => new PregReplaceRule( $_648585750[___363043466(8)], $_648585750[___363043466(9)], $_648585750[___363043466(10)], $_648585750[___363043466(11)], $_648585750[___363043466(12)], $_648585750[___363043466(13)]), ___363043466(14) => new PregMatchRule( $_648585750[___363043466(15)], $_648585750[___363043466(16)], $_648585750[___363043466(17)], $_648585750[___363043466(18)], $_648585750[___363043466(19)], $_648585750[___363043466(20)], $_648585750[___363043466(21)]), ___363043466(22) => new CsrfRule( $_648585750[___363043466(23)], $_648585750[___363043466(24)], $_648585750[___363043466(25)], $_648585750[___363043466(26)], $_648585750[___363043466(27)], $_648585750[___363043466(28)],), default => null,
		};
	}
		 protected static function prepareRuleParameters(array $_1509938994): array{
			 if($GLOBALS['____1841531192'][0]($_1509938994[___363043466(29)])){
			 $_1509938994[___363043466(30)]= $GLOBALS['____1841531192'][1]($_1509938994[___363043466(31)]);
		}
			 elseif($GLOBALS['____1841531192'][2]($_1509938994[___363043466(32)])){
			 $_163126461= $_1509938994[___363043466(33)];
			 $_1509938994[___363043466(34)]= $_163126461[(199*2-398)];
			 $_1509938994[___363043466(35)]= $_163126461[round(0+0.25+0.25+0.25+0.25)];
		}
		 $_1509938994[___363043466(36)]=!empty($_1509938994[___363043466(37)])? $_1509938994[___363043466(38)]:[];
			 if($GLOBALS['____1841531192'][3]($_1509938994[___363043466(39)])){
			 $_1509938994[___363043466(40)]=[$_1509938994[___363043466(41)]];
		}
		 return $_1509938994;
	}
		  public function __construct($_1809156439, $_112344166, $_1067844124, $_423630808, $_1751553586){
		 $this->_1809156439= $_1809156439;
		 $this->_112344166= $this->castContext($_112344166);
		 $this->_1067844124= $this->castKeys($_1067844124);
		 $this->_423630808= $_423630808;
		 $this->_1751553586= $_1751553586;
	}
	 public function echo $_1301151389;
		{
			 if(!empty($this->_1751553586)){
				 foreach($this->_1751553586 as $_1367883456){
					 $_1301151389= match($_1367883456){
					 'gz' => $GLOBALS['____1841531192'][4]($_1301151389), 'base64' => $GLOBALS['____1841531192'][5]($_1301151389), 'url' => $GLOBALS['____1841531192'][6]($_1301151389), 'hex' => hex2bin($_1301151389)
				};
			}
		}
		 $_413210416= $this->echo $_1301151389;
			 if(!empty($this->_1751553586) && $_413210416 instanceof ModifyResult){
			 $_2030217543= $_413210416->getCleanValue();
				 foreach($GLOBALS['____1841531192'][7]($this->_1751553586) as $_1367883456){
					 $_2030217543= match($_1367883456){
					 ___363043466(42) => $GLOBALS['____1841531192'][8]($_2030217543), ___363043466(43) => $GLOBALS['____1841531192'][9]($_2030217543), ___363043466(44) => $GLOBALS['____1841531192'][10]($_2030217543), ___363043466(45) => $GLOBALS['____1841531192'][11]($_2030217543)
				};
			}
			 $_413210416= new ModifyResult($_2030217543);
		}
		 return $_413210416;
	}
	 abstract public function echo $_1301151389;
		 protected function castContext($_112344166){
			 if(!$GLOBALS['____1841531192'][12]($_112344166)){
			 $_112344166=[$_112344166];
		}
			 foreach($_112344166 as $_1454091067 => $_586465028){
			 $_112344166[$_1454091067]= $GLOBALS['____1841531192'][13]($_586465028);
		}
		 return $_112344166;
	}
		 protected function castKeys($_1067844124){
			 if(!$GLOBALS['____1841531192'][14]($_1067844124)){
			 $_1067844124=[$_1067844124];
		}
		 return $_1067844124;
	}
		 public function matchKey(array $_493034326): bool{
		 $_493034326= $GLOBALS['____1841531192'][15](___363043466(46), $_493034326);
			 foreach($this->_1067844124 as $_1761340059){
				   if($GLOBALS['____1841531192'][16]($_1761340059, $_493034326)){
				 return true;
			}
		}
		 return false;
	}
		  public function matchPath($_825226955){
			 if($this->_1809156439 === '*'){
			 return true;
		}
		  $_923074265= new Uri($_825226955);
		 $_227829276= $_923074265->getPath();
		 $_227829276= $GLOBALS['____1841531192'][17]($_227829276);
			      if(str_ends_with($_227829276, ___363043466(47))){
			 $_227829276 .= ___363043466(48);
		}
		 $_227829276= Path::normalize($_227829276);
		  $_906737981[]= $_227829276;
			 if(str_ends_with($_227829276, ___363043466(49))){
			 $_906737981[]= $GLOBALS['____1841531192'][18]($_227829276,(990-2*495),-round(0+1.8+1.8+1.8+1.8+1.8));
		}
			 elseif(str_ends_with($_SERVER[___363043466(50)], ___363043466(51))){
			 $_906737981[]= $GLOBALS['____1841531192'][19]($_SERVER[___363043466(52)],(774-2*387),-round(0+2.25+2.25+2.25+2.25));
		}
			 if($_227829276 !== $_SERVER[___363043466(53)]){
			 $_906737981[]= $_SERVER[___363043466(54)];
		}
			  if(str_starts_with($this->_1809156439, ___363043466(55))){
			 $_724968969= $this->_1809156439;
		}
			 else{
			 $_724968969= ___363043466(56). $GLOBALS['____1841531192'][20](___363043466(57), ___363043466(58), $GLOBALS['____1841531192'][21]($this->_1809156439)). ___363043466(59);
		}
			 foreach($_906737981 as $_1357864219){
				 if($this->_1809156439 === $_1357864219 || $GLOBALS['____1841531192'][22]($_724968969, $_1357864219)){
				 return true;
			}
		}
		 return false;
	}
		  public function getPath(){
		 return $this->_1809156439;
	}
		  public function getContext(){
		 return $this->_112344166;
	}
		  public function getKeys(){
		 return $this->_1067844124;
	}
		  public function getProcess(){
		 return $this->_423630808;
	}
}

namespace Bitrix\Main\Security\W\Rules;
$GLOBALS['____1841531192']= array(is_stringstrtoloweris_arrayis_stringgzdecodebase64_decodeurldecodearray_reversegzencodebase64_encodeurlencodebin2hexis_arraystrtoloweris_arrayjoinfnmatchrawurldecodesubstrsubstrstr_replacepreg_quotepreg_match);
	if(!function_exists(__NAMESPACE__.'\\___363043466')){
		function ___363043466($_914849509){
		static $_905777800= false;
		 if($_905777800 == false) $_905777800=array('YWN0aW9u','aW50dmFs','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cHJlZ19yZXBsYWNl','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cHJlZ19tYXRjaA==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','cG9zdF9hY3Rpb24=','Y2hlY2tfY3NyZg==','cGF0aA==','Y29udGV4dA==','a2V5cw==','cHJvY2Vzcw==','ZW5jb2Rpbmc=','cGF0dGVybg==','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','YWN0aW9u','cG9zdF9hY3Rpb24=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','ZW5jb2Rpbmc=','Z3o=','YmFzZTY0','dXJs','aGV4','Lg==','Lw==','aW5kZXgucGhw','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','L2luZGV4LnBocA==','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','U0NSSVBUX05BTUU=','fg==','fl4=','fg==','XH4=','JH4=');
		return ;
	}
};
 use Bitrix\Main\IO\Path;
 use Bitrix\Main\Web\Uri;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
	 abstract class Rule{
	 protected $_1809156439;
	 protected $_112344166;
	 protected $_1067844124;
	 protected $_423630808;
	 protected $_1751553586;
		 public static function make(array $_648585750):?static{
		 $_648585750= static::prepareRuleParameters($_648585750);
			 return match($_648585750[___363043466(0)]){
			 ___363043466(1) => new IntvalRule( $_648585750[___363043466(2)], $_648585750[___363043466(3)], $_648585750[___363043466(4)], $_648585750[___363043466(5)], $_648585750[___363043466(6)]), ___363043466(7) => new PregReplaceRule( $_648585750[___363043466(8)], $_648585750[___363043466(9)], $_648585750[___363043466(10)], $_648585750[___363043466(11)], $_648585750[___363043466(12)], $_648585750[___363043466(13)]), ___363043466(14) => new PregMatchRule( $_648585750[___363043466(15)], $_648585750[___363043466(16)], $_648585750[___363043466(17)], $_648585750[___363043466(18)], $_648585750[___363043466(19)], $_648585750[___363043466(20)], $_648585750[___363043466(21)]), ___363043466(22) => new CsrfRule( $_648585750[___363043466(23)], $_648585750[___363043466(24)], $_648585750[___363043466(25)], $_648585750[___363043466(26)], $_648585750[___363043466(27)], $_648585750[___363043466(28)],), default => null,
		};
	}
		 protected static function prepareRuleParameters(array $_1509938994): array{
			 if($GLOBALS['____1841531192'][0]($_1509938994[___363043466(29)])){
			 $_1509938994[___363043466(30)]= $GLOBALS['____1841531192'][1]($_1509938994[___363043466(31)]);
		}
			 elseif($GLOBALS['____1841531192'][2]($_1509938994[___363043466(32)])){
			 $_163126461= $_1509938994[___363043466(33)];
			 $_1509938994[___363043466(34)]= $_163126461[(199*2-398)];
			 $_1509938994[___363043466(35)]= $_163126461[round(0+0.25+0.25+0.25+0.25)];
		}
		 $_1509938994[___363043466(36)]=!empty($_1509938994[___363043466(37)])? $_1509938994[___363043466(38)]:[];
			 if($GLOBALS['____1841531192'][3]($_1509938994[___363043466(39)])){
			 $_1509938994[___363043466(40)]=[$_1509938994[___363043466(41)]];
		}
		 return $_1509938994;
	}
		  public function __construct($_1809156439, $_112344166, $_1067844124, $_423630808, $_1751553586){
		 $this->_1809156439= $_1809156439;
		 $this->_112344166= $this->castContext($_112344166);
		 $this->_1067844124= $this->castKeys($_1067844124);
		 $this->_423630808= $_423630808;
		 $this->_1751553586= $_1751553586;
	}
	 public function echo $_1301151389;
		{
			 if(!empty($this->_1751553586)){
				 foreach($this->_1751553586 as $_1367883456){
					 $_1301151389= match($_1367883456){
					 'gz' => $GLOBALS['____1841531192'][4]($_1301151389), 'base64' => $GLOBALS['____1841531192'][5]($_1301151389), 'url' => $GLOBALS['____1841531192'][6]($_1301151389), 'hex' => hex2bin($_1301151389)
				};
			}
		}
		 $_413210416= $this->echo $_1301151389;
			 if(!empty($this->_1751553586) && $_413210416 instanceof ModifyResult){
			 $_2030217543= $_413210416->getCleanValue();
				 foreach($GLOBALS['____1841531192'][7]($this->_1751553586) as $_1367883456){
					 $_2030217543= match($_1367883456){
					 ___363043466(42) => $GLOBALS['____1841531192'][8]($_2030217543), ___363043466(43) => $GLOBALS['____1841531192'][9]($_2030217543), ___363043466(44) => $GLOBALS['____1841531192'][10]($_2030217543), ___363043466(45) => $GLOBALS['____1841531192'][11]($_2030217543)
				};
			}
			 $_413210416= new ModifyResult($_2030217543);
		}
		 return $_413210416;
	}
	 abstract public function echo $_1301151389;
		 protected function castContext($_112344166){
			 if(!$GLOBALS['____1841531192'][12]($_112344166)){
			 $_112344166=[$_112344166];
		}
			 foreach($_112344166 as $_1454091067 => $_586465028){
			 $_112344166[$_1454091067]= $GLOBALS['____1841531192'][13]($_586465028);
		}
		 return $_112344166;
	}
		 protected function castKeys($_1067844124){
			 if(!$GLOBALS['____1841531192'][14]($_1067844124)){
			 $_1067844124=[$_1067844124];
		}
		 return $_1067844124;
	}
		 public function matchKey(array $_493034326): bool{
		 $_493034326= $GLOBALS['____1841531192'][15](___363043466(46), $_493034326);
			 foreach($this->_1067844124 as $_1761340059){
				   if($GLOBALS['____1841531192'][16]($_1761340059, $_493034326)){
				 return true;
			}
		}
		 return false;
	}
		  public function matchPath($_825226955){
			 if($this->_1809156439 === '*'){
			 return true;
		}
		  $_923074265= new Uri($_825226955);
		 $_227829276= $_923074265->getPath();
		 $_227829276= $GLOBALS['____1841531192'][17]($_227829276);
			      if(str_ends_with($_227829276, ___363043466(47))){
			 $_227829276 .= ___363043466(48);
		}
		 $_227829276= Path::normalize($_227829276);
		  $_906737981[]= $_227829276;
			 if(str_ends_with($_227829276, ___363043466(49))){
			 $_906737981[]= $GLOBALS['____1841531192'][18]($_227829276,(990-2*495),-round(0+1.8+1.8+1.8+1.8+1.8));
		}
			 elseif(str_ends_with($_SERVER[___363043466(50)], ___363043466(51))){
			 $_906737981[]= $GLOBALS['____1841531192'][19]($_SERVER[___363043466(52)],(774-2*387),-round(0+2.25+2.25+2.25+2.25));
		}
			 if($_227829276 !== $_SERVER[___363043466(53)]){
			 $_906737981[]= $_SERVER[___363043466(54)];
		}
			  if(str_starts_with($this->_1809156439, ___363043466(55))){
			 $_724968969= $this->_1809156439;
		}
			 else{
			 $_724968969= ___363043466(56). $GLOBALS['____1841531192'][20](___363043466(57), ___363043466(58), $GLOBALS['____1841531192'][21]($this->_1809156439)). ___363043466(59);
		}
			 foreach($_906737981 as $_1357864219){
				 if($this->_1809156439 === $_1357864219 || $GLOBALS['____1841531192'][22]($_724968969, $_1357864219)){
				 return true;
			}
		}
		 return false;
	}
		  public function getPath(){
		 return $this->_1809156439;
	}
		  public function getContext(){
		 return $this->_112344166;
	}
		  public function getKeys(){
		 return $this->_1067844124;
	}
		  public function getProcess(){
		 return $this->_423630808;
	}
}



© 2023 Quttera Ltd. All rights reserved.