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
/*! @file Defines `boost::hana::infix`. Copyright Louis Dionne 2013-2022 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) */ #ifndef BOOST_HANA_FUNCTIONAL_INFIX_HPP #define BOOST_HANA_FUNCTIONAL_INFIX_HPP #include #include #include #include #include #include namespace boost { namespace hana { //! @ingroup group-functional //! Return an equivalent function that can also be applied in infix //! notation. //! //! Specifically, `infix(f)` is an object such that: //! @code //! infix(f)(x1, ..., xn) == f(x1, ..., xn) //! x ^infix(f)^ y == f(x, y) //! @endcode //! //! Hence, the returned function can still be applied using the usual //! function call syntax, but it also gains the ability to be applied in //! infix notation. The infix syntax allows a great deal of expressiveness, //! especially when used in combination with some higher order algorithms. //! Since `operator^` is left-associative, `x ^infix(f)^ y` is actually //! parsed as `(x ^infix(f))^ y`. However, for flexibility, the order in //! which both arguments are applied in infix notation does not matter. //! Hence, it is always the case that //! @code //! (x ^ infix(f)) ^ y == x ^ (infix(f) ^ y) //! @endcode //! //! However, note that applying more than one argument in infix //! notation to the same side of the operator will result in a //! compile-time assertion: //! @code //! (infix(f) ^ x) ^ y; // compile-time assertion //! y ^ (x ^ infix(f)); // compile-time assertion //! @endcode //! //! Additionally, a function created with `infix` may be partially applied //! in infix notation. Specifically, //! @code //! (x ^ infix(f))(y1, ..., yn) == f(x, y1, ..., yn) //! (infix(f) ^ y)(x1, ..., xn) == f(x1, ..., xn, y) //! @endcode //! //! @internal //! ### Rationales //! 1. The `^` operator was chosen because it is left-associative and //! has a low enough priority so that most expressions will render //! the expected behavior. //! 2. The operator can't be customimzed because that would require more //! sophistication in the implementation; I want to keep it as simple //! as possible. There is also an advantage in having a uniform syntax //! for infix application. //! @endinternal //! //! @param f //! The function which gains the ability to be applied in infix notation. //! The function must be at least binary; a compile-time error will be //! triggered otherwise. //! //! ### Example //! @include example/functional/infix.cpp #ifdef BOOST_HANA_DOXYGEN_INVOKED constexpr auto infix = [](auto f) { return unspecified; }; #else namespace infix_detail { // This needs to be in the same namespace as `operator^` so it can be // found by ADL. template struct infix_t { F f; template constexpr decltype(auto) operator()(X&& ...x) const& { return f(static_cast(x)...); } template constexpr decltype(auto) operator()(X&& ...x) & { return f(static_cast(x)...); } template constexpr decltype(auto) operator()(X&& ...x) && { return std::move(f)(static_cast(x)...); } }; template struct make_infix { template constexpr infix_t::type> operator()(F&& f) const { return {static_cast(f)}; } }; template struct Infix; struct Object; template struct dispatch { using type = Object; }; template struct dispatch> { using type = Infix; }; template struct bind_infix; // infix(f) ^ y template <> struct bind_infix, Object> { template static constexpr decltype(auto) apply(F&& f, Y&& y) { return make_infix{}( hana::reverse_partial( static_cast(f), static_cast(y) ) ); } }; // (x^infix(f)) ^ y template <> struct bind_infix, Object> { template static constexpr decltype(auto) apply(F&& f, Y&& y) { return static_cast(f)(static_cast(y)); } }; // x ^ infix(f) template <> struct bind_infix> { template static constexpr decltype(auto) apply(X&& x, F&& f) { return make_infix{}( hana::partial(static_cast(f), static_cast(x)) ); } }; // x ^ (infix(f)^y) template <> struct bind_infix> { template static constexpr decltype(auto) apply(X&& x, F&& f) { return static_cast(f)(static_cast(x)); } }; template using strip = typename std::remove_cv< typename std::remove_reference::type >::type; template constexpr decltype(auto) operator^(X&& x, Y&& y) { return bind_infix< typename dispatch>::type, typename dispatch>::type >::apply(static_cast(x), static_cast(y)); } } // end namespace infix_detail BOOST_HANA_INLINE_VARIABLE constexpr infix_detail::make_infix infix{}; #endif }} // end namespace boost::hana #endif // !BOOST_HANA_FUNCTIONAL_INFIX_HPP