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: 175 $ * @link http://pear.php.net/package/PHP_UML * @link http://www.omg.org/mof/ * @since $Date: 2011-09-15 17:07:58 +0200 (jeu., 15 sept. 2011) $ * */ /** * A superstructure is a set composed of a UML model, a physical model, * and some stereotypes associated to the UML model. * * @category PHP * @package PHP_UML * @subpackage Metamodel * @author Baptiste Autin * @license http://www.gnu.org/licenses/lgpl.html LGPL License 3 */ class PHP_UML_Metamodel_Superstructure { const META_INTERFACE = 'PHP_UML_Metamodel_Interface'; const META_CLASS = 'PHP_UML_Metamodel_Class'; const META_DATATYPE = 'PHP_UML_Metamodel_Datatype'; const META_OPERATION = 'PHP_UML_Metamodel_Operation'; const META_PROPERTY = 'PHP_UML_Metamodel_Property'; const PHP_PROFILE_NAME = 'php'; const PHP_STEREOTYPE_DOCBLOCK = 'docblock'; /** * The root package for a logical UML model * * @var PHP_UML_Metamodel_Package */ public $packages; /** * The root package for a deployment (physical) model * * @var PHP_UML_Metamodel_Package */ public $deploymentPackages; /** * Stack of all stereotypes * TODO: when real stereotypes will be implemented, deleting that array, and * reading the stereotypes from the $packages instead * * @var array */ public $stereotypes = array(); /** * Constructor * */ public function __construct() { } /** * Adds the internal PHP metatypes, metaclasses, metainterfaces... * */ public function addInternalPhpTypes() { foreach (PHP_UML_Metamodel_Enumeration::$datatypes as $d) { $type = new PHP_UML_Metamodel_Datatype; $type->id = PHP_UML_SimpleUID::getUID(); $type->name = $d; $this->addRootType($type, 'Internal PHP type.'); } foreach (PHP_UML_Metamodel_Enumeration::$interfaces as $i) { $type = new PHP_UML_Metamodel_Interface; $type->id = PHP_UML_SimpleUID::getUID(); $type->name = $i; $this->addRootType($type, 'Internal PHP interface.'); } foreach (PHP_UML_Metamodel_Enumeration::$classes as $c) { $type = new PHP_UML_Metamodel_Class; $type->id = PHP_UML_SimpleUID::getUID(); $type->name = $c; $this->addRootType($type, 'Internal PHP class.'); } } private function addRootType(PHP_UML_Metamodel_NamedElement $type, $desc) { if (!PHP_UML_Metamodel_Helper::searchTypeIntoPackage($this->packages, $type->name)) { $this->packages->ownedType[] = $type; $this->addDocTags($type, $desc); } } /** * Creates a stereotype and the necessary Tag objects for a given element * * @param PHP_UML_Metamodel_NamedElement &$element The element to document * @param string $desc A textual description * @param array $docs An array containing docblocks */ public function addDocTags(PHP_UML_Metamodel_NamedElement &$element, $desc, array $docs = array()) { $stereotype = $this->createStereotype($element, self::PHP_PROFILE_NAME, self::PHP_STEREOTYPE_DOCBLOCK); if ($desc != '') { $tag = new PHP_UML_Metamodel_Tag; $tag->id = PHP_UML_SimpleUID::getUID();; $tag->name = 'description'; $tag->value = $desc; $stereotype->ownedAttribute[] = $tag; } foreach ($docs as $doc) { $tag = new PHP_UML_Metamodel_Tag; $tag->id = PHP_UML_SimpleUID::getUID();; $tag->name = $doc[1]; $tag->value = trim(implode(' ', array_slice($doc, 2))); $stereotype->ownedAttribute[] = $tag; } $element->description = $stereotype; } /** * Recursively replaces all the "named types" by a proper "reference" to a * typed element. This impacts: * - the extended classes and implemented classes (through their * EMOF-"superClass" and "implements" relations) * - the function parameters (through their EMOF-"type" attribute) * - the properties in classes (through their EMOF-"type" attribute) * * @param PHP_UML_Metamodel_Package &$ns Package to resolve the elements of * @param array &$_oDef Default packages to look for * orphaned elements */ private function resolveReferences(PHP_UML_Metamodel_Package &$ns, array &$_oDef) { if (!is_null($ns->nestedPackage)) { foreach ($ns->nestedPackage as $key => &$pkg) { $this->resolveReferences($pkg, $_oDef); } } if (!is_null($ns->ownedType)) foreach ($ns->ownedType as &$elt) { if (isset($elt->superClass) && !is_null($elt->superClass)) { foreach ($elt->superClass as &$className) { $this->resolveType($ns, $className, $_oDef, $elt); } } if (isset($elt->implements) && !is_null($elt->implements)) { foreach ($elt->implements as &$className) { $this->resolveType($ns, $className, $_oDef, $elt); } } if (isset($elt->ownedOperation)) { foreach ($elt->ownedOperation as &$function) { foreach ($function->ownedParameter as &$parameter) { $this->resolveType($ns, $parameter->type, $_oDef, $elt); } } } if (isset($elt->ownedAttribute)) { foreach ($elt->ownedAttribute as &$attribute) { $this->resolveType($ns, $attribute->type, $_oDef, $elt); } } } if (isset($ns->ownedOperation)) { foreach ($ns->ownedOperation as &$function) { foreach ($function->ownedParameter as &$parameter) { $this->resolveType($ns, $parameter->type, $_oDef, $function); } } } if (isset($ns->ownedAttribute)) { foreach ($ns->ownedAttribute as &$attribute) { $this->resolveType($ns, $attribute->type, $_oDef, $attribute); } } } /** * Retrieves the stereotype (named $name) associated to the element $element * If not found, returns null. * * @param PHP_UML_Metamodel_NamedElement $element Related object * @param string $profileName Profile name * @param string $stereotypeName Stereotype name * * @return PHP_UML_Metamodel_Stereotype */ public function getStereotype(PHP_UML_Metamodel_NamedElement $element, $profileName, $stereotypeName) { foreach ($this->stereotypes->getIterator() as $s) { if ($s->element == $element && $s->name == $stereotypeName && $s->profile == $profileName) { return $s; } } return null; } /** * Creates a stereotype in a given profile, and binds it to a given element * Returns the stereotype that was created * * @param PHP_UML_Metamodel_NamedElement &$element The element * @param string $profileName The profile name * @param string $stereotypeName The stereotype name * * @return PHP_UML_Metamodel_Stereotype */ public function createStereotype(PHP_UML_Metamodel_NamedElement &$element, $profileName, $stereotypeName) { $stereotype = new PHP_UML_Metamodel_Stereotype; $stereotype->profile = $profileName; $stereotype->name = $stereotypeName; $stereotype->element = $element; $this->stereotypes[] = $stereotype; return $stereotype; } /** * Finalizes the main object structure that the Parser has built. * Launches the resolution of the references for all stacks from the root pkg * * Every reference (a temporary string) is replaced by a PHP reference * to the corresponding type (that is, a class or a datatype) * Must be run once the model is complete (= once PHP parsing is done) * * @param bool $noEmptyPkg True to force removal of empty packages * @param array $defPkg Array of PHP_UML_Metamodel_Package where to look into, * in order to resolve the orphaned elements. * By default, it will look in the root package. This is, * by the way, where the PHP datatypes are. */ public function finalizeAll($noEmptyPkg = true, $defPkg = array()) { if ($noEmptyPkg) PHP_UML_Metamodel_Helper::deleteEmptyPackages($this->packages); $resolver = new PHP_UML_Metamodel_TypeResolverByName(); $resolver->package = $this->packages; if (empty($defPkg)) $defPkg = array($this->packages); else $defPkg[] = &$this->packages; $resolver->resolveReferences($this->packages, $defPkg); } /** * Initialize the structure before use (we just instantiate the top objects in * the logical and deployment models) * * @param string $modelName Model name */ public function initModel($modelName = 'default') { $this->packages = new PHP_UML_Metamodel_Package; $this->packages->name = $modelName; $this->packages->id = PHP_UML_SimpleUID::getUID(); $this->addInternalPhpTypes(); $this->deploymentPackages = new PHP_UML_Metamodel_Package; $this->deploymentPackages->name = 'Deployment View'; $this->deploymentPackages->id = PHP_UML_SimpleUID::getUID(); } } ?>