1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
* @author Marc McIntyre * @copyright 2006-2011 Squiz Pty Ltd (ABN 77 084 670 600) * @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence * @link http://pear.php.net/package/PHP_CodeSniffer */ if (interface_exists('PHP_CodeSniffer_CommentParser_DocElement', true) === false) { $error = 'Interface PHP_CodeSniffer_CommentParser_DocElement not found'; throw new PHP_CodeSniffer_Exception($error); } /** * A class to handle most of the parsing operations of a doc comment element. * * Extending classes should implement the getSubElements method to return * a list of elements that the doc comment element contains, in the order that * they appear in the element. For example a function parameter element has a * type, a variable name and a comment. It should therefore implement the method * as follows: * * * protected function getSubElements() * { * return array( * 'type', * 'variable', * 'comment', * ); * } * * * The processSubElement will be called for each of the sub elements to allow * the extending class to process them. So for the parameter element we would * have: * * * protected function processSubElement($name, $content, $whitespaceBefore) * { * if ($name === 'type') { * echo 'The name of the variable was '.$content; * } * // Process other tags. * } * * * @category PHP * @package PHP_CodeSniffer * @author Greg Sherwood * @author Marc McIntyre * @copyright 2006-2011 Squiz Pty Ltd (ABN 77 084 670 600) * @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence * @version Release: 1.3.3 * @link http://pear.php.net/package/PHP_CodeSniffer */ abstract class PHP_CodeSniffer_CommentParser_AbstractDocElement implements PHP_CodeSniffer_CommentParser_DocElement { /** * The element previous to this element. * * @var PHP_CodeSniffer_CommentParser_DocElement */ protected $previousElement = null; /** * The element proceeding this element. * * @var PHP_CodeSniffer_CommentParser_DocElement */ protected $nextElement = null; /** * The whitespace the occurs after this element and its sub elements. * * @var string */ protected $afterWhitespace = ''; /** * The tokens that comprise this element. * * @var array(string) */ protected $tokens = array(); /** * The file this element is in. * * @var array(string) */ protected $phpcsFile = null; /** * The tag that this element represents (omiting the @ symbol). * * @var string */ protected $tag = ''; /** * Constructs a Doc Element. * * @param PHP_CodeSniffer_CommentParser_DocElement $previousElement The element * that ocurred * before this. * @param array $tokens The tokens of * this element. * @param string $tag The doc * element tag * this element * represents. * @param PHP_CodeSniffer_File $phpcsFile The file that * this element * is in. * * @throws Exception If $previousElement in not a DocElement or if * getSubElements() does not return an array. */ public function __construct( $previousElement, array $tokens, $tag, PHP_CodeSniffer_File $phpcsFile ) { if ($previousElement !== null && ($previousElement instanceof PHP_CodeSniffer_CommentParser_DocElement) === false ) { $error = '$previousElement must be an instance of DocElement'; throw new Exception($error); } $this->phpcsFile = $phpcsFile; $this->previousElement = $previousElement; if ($previousElement !== null) { $this->previousElement->nextElement = $this; } $this->tag = $tag; $this->tokens = $tokens; $subElements = $this->getSubElements(); if (is_array($subElements) === false) { throw new Exception('getSubElements() must return an array'); } $whitespace = ''; $currElem = 0; $lastElement = ''; $lastElementWhitespace = null; $numSubElements = count($subElements); foreach ($this->tokens as $token) { if (trim($token) === '') { $whitespace .= $token; } else { if ($currElem < ($numSubElements - 1)) { $element = $subElements[$currElem]; $this->processSubElement($element, $token, $whitespace); $whitespace = ''; $currElem++; } else { if ($lastElementWhitespace === null) { $lastElementWhitespace = $whitespace; } $lastElement .= $whitespace.$token; $whitespace = ''; } } }//end foreach $lastElement = ltrim($lastElement); $lastElementName = $subElements[($numSubElements - 1)]; // Process the last element in this tag. $this->processSubElement( $lastElementName, $lastElement, $lastElementWhitespace ); $this->afterWhitespace = $whitespace; }//end __construct() /** * Returns the element that exists before this. * * @return PHP_CodeSniffer_CommentParser_DocElement */ public function getPreviousElement() { return $this->previousElement; }//end getPreviousElement() /** * Returns the element that exists after this. * * @return PHP_CodeSniffer_CommentParser_DocElement */ public function getNextElement() { return $this->nextElement; }//end getNextElement() /** * Returns the whitespace that exists before this element. * * @return string */ public function getWhitespaceBefore() { if ($this->previousElement !== null) { return $this->previousElement->getWhitespaceAfter(); } return ''; }//end getWhitespaceBefore() /** * Returns the whitespace that exists after this element. * * @return string */ public function getWhitespaceAfter() { return $this->afterWhitespace; }//end getWhitespaceAfter() /** * Returns the order that this element appears in the comment. * * @return int */ public function getOrder() { if ($this->previousElement === null) { return 1; } else { return ($this->previousElement->getOrder() + 1); } }//end getOrder() /** * Returns the tag that this element represents, ommiting the @ symbol. * * @return string */ public function getTag() { return $this->tag; }//end getTag() /** * Returns the raw content of this element, ommiting the tag. * * @return string */ public function getRawContent() { return implode('', $this->tokens); }//end getRawContent() /** * Returns the comment tokens. * * @return array */ public function getTokens() { return $this->tokens; }//end getTokens() /** * Returns the line in which this element first occured. * * @return int */ public function getLine() { if ($this->previousElement === null) { // First element is on line one. return 1; } else { $previousContent = $this->previousElement->getRawContent(); $previousLine = $this->previousElement->getLine(); return ($previousLine + substr_count($previousContent, $this->phpcsFile->eolChar)); } }//end getLine() /** * Returns the sub element names that make up this element in the order they * appear in the element. * * @return array(string) * @see processSubElement() */ abstract protected function getSubElements(); /** * Called to process each sub element as sepcified in the return value * of getSubElements(). * * @param string $name The name of the element to process. * @param string $content The content of the the element. * @param string $whitespaceBefore The whitespace found before this element. * * @return void * @see getSubElements() */ abstract protected function processSubElement( $name, $content, $whitespaceBefore ); }//end class ?>