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
// // SPDX-License-Identifier: BSD-3-Clause // Copyright Contributors to the OpenEXR Project. // // // Algorithms applied to or in conjunction with Imath::Line class // #ifndef INCLUDED_IMATHLINEALGO_H #define INCLUDED_IMATHLINEALGO_H #include "ImathFun.h" #include "ImathLine.h" #include "ImathNamespace.h" #include "ImathVecAlgo.h" IMATH_INTERNAL_NAMESPACE_HEADER_ENTER /// /// Compute point1 and point2 such that point1 is on line1, point2 /// is on line2 and the distance between point1 and point2 is minimal. /// /// This function returns true if point1 and point2 can be computed, /// or false if line1 and line2 are parallel or nearly parallel. /// This function assumes that line1.dir and line2.dir are normalized. /// template IMATH_CONSTEXPR14 bool closestPoints ( const Line3& line1, const Line3& line2, Vec3& point1, Vec3& point2) IMATH_NOEXCEPT { Vec3 w = line1.pos - line2.pos; T d1w = line1.dir ^ w; T d2w = line2.dir ^ w; T d1d2 = line1.dir ^ line2.dir; T n1 = d1d2 * d2w - d1w; T n2 = d2w - d1d2 * d1w; T d = 1 - d1d2 * d1d2; T absD = abs (d); if ((absD > 1) || (abs (n1) < std::numeric_limits::max () * absD && abs (n2) < std::numeric_limits::max () * absD)) { point1 = line1 (n1 / d); point2 = line2 (n2 / d); return true; } else { return false; } } /// /// Given a line and a triangle (v0, v1, v2), the intersect() function /// finds the intersection of the line and the plane that contains the /// triangle. /// /// If the intersection point cannot be computed, either because the /// line and the triangle's plane are nearly parallel or because the /// triangle's area is very small, intersect() returns false. /// /// If the intersection point is outside the triangle, intersect /// returns false. /// /// If the intersection point, pt, is inside the triangle, intersect() /// computes a front-facing flag and the barycentric coordinates of /// the intersection point, and returns true. /// /// The front-facing flag is true if the dot product of the triangle's /// normal, (v2-v1)%(v1-v0), and the line's direction is negative. /// /// The barycentric coordinates have the following property: /// /// pt = v0 * barycentric.x + v1 * barycentric.y + v2 * barycentric.z /// template IMATH_CONSTEXPR14 bool intersect ( const Line3& line, const Vec3& v0, const Vec3& v1, const Vec3& v2, Vec3& pt, Vec3& barycentric, bool& front) IMATH_NOEXCEPT { Vec3 edge0 = v1 - v0; Vec3 edge1 = v2 - v1; Vec3 normal = edge1 % edge0; T l = normal.length (); if (l != 0) normal /= l; else return false; // zero-area triangle // // d is the distance of line.pos from the plane that contains the triangle. // The intersection point is at line.pos + (d/nd) * line.dir. // T d = normal ^ (v0 - line.pos); T nd = normal ^ line.dir; if (abs (nd) > 1 || abs (d) < std::numeric_limits::max () * abs (nd)) pt = line (d / nd); else return false; // line and plane are nearly parallel // // Compute the barycentric coordinates of the intersection point. // The intersection is inside the triangle if all three barycentric // coordinates are between zero and one. // { Vec3 en = edge0.normalized (); Vec3 a = pt - v0; Vec3 b = v2 - v0; Vec3 c = (a - en * (en ^ a)); Vec3 d = (b - en * (en ^ b)); T e = c ^ d; T f = d ^ d; if (e >= 0 && e <= f) barycentric.z = e / f; else return false; // outside } { Vec3 en = edge1.normalized (); Vec3 a = pt - v1; Vec3 b = v0 - v1; Vec3 c = (a - en * (en ^ a)); Vec3 d = (b - en * (en ^ b)); T e = c ^ d; T f = d ^ d; if (e >= 0 && e <= f) barycentric.x = e / f; else return false; // outside } barycentric.y = 1 - barycentric.x - barycentric.z; if (barycentric.y < 0) return false; // outside front = ((line.dir ^ normal) < 0); return true; } /// /// Return the vertex that is closest to the given line. The returned /// point is either v0, v1, or v2. /// template IMATH_CONSTEXPR14 Vec3 closestVertex ( const Vec3& v0, const Vec3& v1, const Vec3& v2, const Line3& l) IMATH_NOEXCEPT { Vec3 nearest = v0; T neardot = (v0 - l.closestPointTo (v0)).length2 (); T tmp = (v1 - l.closestPointTo (v1)).length2 (); if (tmp < neardot) { neardot = tmp; nearest = v1; } tmp = (v2 - l.closestPointTo (v2)).length2 (); if (tmp < neardot) { neardot = tmp; nearest = v2; } return nearest; } /// /// Rotate the point p around the line l by the given angle. /// template IMATH_CONSTEXPR14 Vec3 rotatePoint (const Vec3 p, Line3 l, T angle) IMATH_NOEXCEPT { // // Form a coordinate frame with . The rotation is the in xy // plane. // Vec3 q = l.closestPointTo (p); Vec3 x = p - q; T radius = x.length (); x.normalize (); Vec3 y = (x % l.dir).normalize (); T cosangle = std::cos (angle); T sinangle = std::sin (angle); Vec3 r = q + x * radius * cosangle + y * radius * sinangle; return r; } IMATH_INTERNAL_NAMESPACE_HEADER_EXIT #endif // INCLUDED_IMATHLINEALGO_H