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
* @license http://www.gnu.org/licenses/lgpl.html LGPL License 3 * @version SVN: $Revision: 178 $ * @link http://pear.php.net/package/PHP_UML * @link http://www.baptisteautin.com/projects/PHP_UML/ * @since $Date: 2011-09-19 03:08:06 +0200 (lun., 19 sept. 2011) $ */ /** * Builder class to build a Superstructure from XMI 2.1.2 * * @category PHP * @package PHP_UML * @subpackage Input * @subpackage XMI * @author Baptiste Autin * @license http://www.gnu.org/licenses/lgpl.html LGPL License 3 * */ class PHP_UML_Input_XMI_Builder { /** * Current XPath object * * @var DOMXPath */ protected $xpath; /** * Package to build * * @var PHP_UML_Metamodel_Package */ protected $package; /** * Reference to a Superstructure. Needed when comments have to be added * through Tags and Stereotypes. * * @var PHP_UML_Metamodel_Superstructure */ protected $model; /** * Constructor * */ public function __construct() { } public function setModel(PHP_UML_Metamodel_Superstructure $model) { $this->model = $model; $this->package = &$model->packages; } public function getModel() { return $this->model; } /** * Retrieve an implementation of TypeResolver * * @return PHP_UML_Metamodel_TypeResolver */ public static function getResolver() { return new PHP_UML_Metamodel_TypeResolverById(); } /** * Set the initial package to build * * @param PHP_UML_Metamodel_Package $package Starting package */ public function setPackage(PHP_UML_Metamodel_Package $package) { $this->package = $package; } /** * Return the current package * * @return PHP_UML_Metamodel_Package */ public function getPackage() { return $this->package; } /** * Build the package from an XMI document, provided as a DOM document * * @param DOMDocument $doc DOM document to use as source for the build */ public function buildDom(DOMDocument $doc) { $this->xpath = new DOMXPath($doc); $this->xpath->registerNamespace('php', 'http://pear.php.net/package/PHP_UML'); // to avoid error "Undefined namespace prefix" when the ns declaration // is in the node uml:Model, we have to query like this: $entries = $this->xpath->query('//*[local-name()="Model"]'); foreach ($entries as $entry) { $this->package = $this->addPackage($entry); } } protected function addPackage(DOMElement $package, PHP_UML_Metamodel_Package &$nestingPackage = null) { $p = new PHP_UML_Metamodel_Package; $p->id = $package->getAttribute('xmi:id'); $p->name = $package->getAttribute('name'); $p->nestedPackage = array(); if (!is_null($nestingPackage)) $nestingPackage->nestedPackage[] = $p; $p->nestingPackage = $nestingPackage; $classifiers = $this->xpath->query('packagedElement[@xmi:type="uml:Class" or @xmi:type="uml:AssociationClass"]', $package); $this->addClasses($classifiers, $p); $classifiers = $this->xpath->query('packagedElement[@xmi:type="uml:Interface"]', $package); $this->addInterfaces($classifiers, $p); $classifiers = $this->xpath->query('packagedElement[@xmi:type="uml:DataType"]', $package); $this->addDatatypes($classifiers, $p); $this->addComment($package, $p); $packages = $this->xpath->query('packagedElement[@xmi:type="uml:Package"]', $package); foreach ($packages as $item) { $this->addPackage($item, $p); } return $p; } protected function addClasses(DOMNodeList $entries, PHP_UML_Metamodel_Package $package) { foreach ($entries as $entry) { $this->addClass($entry, $package); } } protected function addInterfaces(DOMNodeList $entries, PHP_UML_Metamodel_Package $package) { foreach ($entries as $entry) { $this->addInterface($entry, $package); } } protected function addDatatypes(DOMNodeList $element, PHP_UML_Metamodel_Package $package) { foreach ($element as $item) { $this->addDatatype($item, $package); } } protected function addDatatype(DOMElement $element, PHP_UML_Metamodel_Package $package) { $c = new PHP_UML_Metamodel_Datatype(); $c->name = $element->getAttribute('name'); $c->id = $element->getAttribute('xmi:id'); $c->package = $package; $package->ownedType[] = $c; } protected function addClass(DOMElement $element, PHP_UML_Metamodel_Package $package) { $c = new PHP_UML_Metamodel_Class(); $c->name = $element->getAttribute('name'); $c->id = $element->getAttribute('xmi:id'); $parameters = $this->xpath->query('//packagedElement[@xmi:type="uml:Realization" and @client="'.$c->id.'"]'); foreach ($parameters as $item) { $tgId = $item->getAttribute('realizingClassifier'); if (empty($tgId)) $tgId = $item->getAttribute('supplier'); if (!empty($tgId)) $c->implements[] = $tgId; } $this->addClassifierFeatures($element, $c); $this->addProperties($element, $c); $this->addOperations($element, $c); $this->addComment($element, $c); $c->package = $package; $package->ownedType[] = $c; } protected function addComment(DOMElement $element, PHP_UML_Metamodel_NamedElement $c) { $description = ''; $parameters = $this->xpath->query('ownedComment', $element); foreach ($parameters as $item) { $description = trim($item->getAttribute('body').$item->nodeValue); } if ($description=='') { $parameters = $this->xpath->query('//packagedComment[@annotatedElement="'.$c->id.'"]|//*[@xmi:type="uml:Comment" and @annotatedElement="'.$c->id.'"]'); foreach ($parameters as $item) { $description = trim($item->getAttribute('body').$item->nodeValue); } } $parameters = $this->xpath->query('//php:docblock[@base_Element="'.$c->id.'"]'); $docblocks = array(); foreach ($parameters as $item) { foreach ($item->childNodes as $item) { $docblock = array(); $nodeName = $item->nodeName; $pos = strpos($nodeName, ':'); $docblock[] = ($pos===false ? $nodeName : substr($nodeName, $pos+1)); $docblock[] = $docblock[0]; // see how tags were initially set in Parser $docblock[] = $item->nodeValue; $docblocks[] = $docblock; } } if ((!empty($description)) || count($docblocks)>0) { $this->model->addDocTags($c, $description, $docblocks); } } protected function addInterface(DOMElement $element, PHP_UML_Metamodel_Package $package) { $c = new PHP_UML_Metamodel_Interface(); $c->name = $element->getAttribute('name'); $c->id = $element->getAttribute('xmi:id'); $this->addClassifierFeatures($element, $c); $this->addProperties($element, $c); $this->addOperations($element, $c); $this->addComment($element, $c); $c->package = $package; $package->ownedType[] = $c; } protected function addProperties(DOMElement $element, PHP_UML_Metamodel_Classifier $class) { $attributes = $this->xpath->query('ownedAttribute', $element); foreach ($attributes as $item) { $this->addProperty($item, $class); } } protected function addOperations(DOMElement $element, PHP_UML_Metamodel_Classifier $class) { $operations = $this->xpath->query('ownedOperation', $element); foreach ($operations as $item) { $this->addOperation($item, $class); } } protected function addOperation(DOMElement $element, PHP_UML_Metamodel_Classifier $class) { $a = new PHP_UML_Metamodel_Operation; $a->name = $element->getAttribute('name'); $a->id = $element->getAttribute('xmi:id'); $parameters = $this->xpath->query('ownedParameter', $element); foreach ($parameters as $item) { $this->addParameter($item, $a); } $a->isInstantiable = !($element->getAttribute('isStatic') == 'true'); $a->isReadOnly = ($element->getAttribute('isReadOnly') == 'true'); $a->visibility = $element->getAttribute('visibility'); $this->addComment($element, $a); $a->class = $class; $class->ownedOperation[] = $a; } protected function addParameter(DOMElement $element, PHP_UML_Metamodel_Operation $o) { $a = new PHP_UML_Metamodel_Parameter(); $a->name = $element->getAttribute('name'); $a->id = $element->getAttribute('xmi:id'); $a->direction = $element->getAttribute('direction'); $this->addDefaultValueAndType($element, $a); $o->ownedParameter[] = $a; $a->operation = $o; } protected function addProperty(DOMElement $element, PHP_UML_Metamodel_Class $class) { $a = new PHP_UML_Metamodel_Property(); $a->name = $element->getAttribute('name'); if ($a->name=='') return; $a->id = $element->getAttribute('xmi:id'); $this->addDefaultValueAndType($element, $a); $a->isInstantiable = !($element->getAttribute('isStatic') == 'true'); $a->isReadOnly = ($element->getAttribute('isReadOnly') == 'true'); $a->visibility = $element->getAttribute('visibility'); $this->addComment($element, $a); $a->class = $class; $class->ownedAttribute[] = $a; } protected function addClassifierFeatures(DOMElement $element, PHP_UML_Metamodel_Classifier &$c) { $parameters = $this->xpath->query('generalization|*[@type="uml:Generalization"]', $element); foreach ($parameters as $item) { $c->superClass[] = $item->getAttribute('general'); } $c->isAbstract = ($element->getAttribute('isAbstract')=='true'); $c->isReadOnly = ($element->getAttribute('isReadOnly')=='true'); } protected function addDefaultValueAndType($element, PHP_UML_Metamodel_TypedElement $a) { $type = $this->xpath->query('type', $element); if ($type->length>0) { $a->type = $type->item(0)->getAttribute('xmi:idref'); if ($a->type=='') $a->type = $type->item(0)->getAttribute('href'); } $dv = $this->xpath->query('defaultValue', $element); if ($dv->length>0) { $v = $dv->item(0)->getAttribute('value'); if ($v=='') { $v = $dv->item(0)->nodeValue; } $a->default = $v; } } } ?>