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
// // Copyright (c) 2023-2025 Ivica Siladic, Bruno Iljazovic, Korina Simicevic // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE or copy at http://www.boost.org/LICENSE_1_0.txt) // #ifndef BOOST_MQTT5_PROPERTY_TYPES_HPP #define BOOST_MQTT5_PROPERTY_TYPES_HPP #include #include #include #include #include #include #include #include #include namespace boost::mqtt5::prop { /// \cond internal enum property_type : uint8_t { payload_format_indicator_t = 0x01, message_expiry_interval_t = 0x02, content_type_t = 0x03, response_topic_t = 0x08, correlation_data_t = 0x09, subscription_identifier_t = 0x0b, session_expiry_interval_t = 0x11, assigned_client_identifier_t = 0x12, server_keep_alive_t = 0x13, authentication_method_t = 0x15, authentication_data_t = 0x16, request_problem_information_t = 0x17, will_delay_interval_t = 0x18, request_response_information_t = 0x19, response_information_t = 0x1a, server_reference_t = 0x1c, reason_string_t = 0x1f, receive_maximum_t = 0x21, topic_alias_maximum_t = 0x22, topic_alias_t = 0x23, maximum_qos_t = 0x24, retain_available_t = 0x25, user_property_t = 0x26, maximum_packet_size_t = 0x27, wildcard_subscription_available_t = 0x28, subscription_identifier_available_t = 0x29, shared_subscription_available_t = 0x2a }; /// \endcond /** * \brief A class holding any number of Subscription Identifiers. * * \details Subscription Identifier is an integer that can be set in \__SUBSCRIBE_PROPS\__ when subscribing to a Topic. * Broker will store the mapping between that Subscription and the Subscription Identifier. * When an incoming \__PUBLISH\__ message matches one or more Subscriptions, respective Subscription * Identifiers will be forwarded in the \__PUBLISH_PROPS\__ of the received message. */ class alignas(8) subscription_identifiers : public boost::container::small_vector { using base_type = boost::container::small_vector; public: using base_type::base_type; /// Constructs Subscription Identifiers with given parameters. subscription_identifiers(int32_t val) : base_type { val } {} /// \{ Checks whether there are any Subscription Identifiers. bool has_value() const noexcept { return !empty(); } explicit operator bool() const noexcept { return !empty(); } /// \} /// \{ Accesses the (first) Subscription Identifier. int32_t& operator*() noexcept { return front(); } int32_t operator*() const noexcept { return front(); } /// \} /// Sets or replaces the (first) Subscription Identifier. void emplace(int32_t val = 0) { *this = val; } /// Returns the first Subscription Identifier. int32_t value() const { return front(); } /// Returns the first Subscription Identifier if it exists, otherwise returns \p default_val int32_t value_or(int32_t default_val) const noexcept { return empty() ? default_val : front(); } /// Clears the Subscription Identifiers. void reset() noexcept { clear(); } }; template struct property_traits; using user_property_value_t = std::vector>; #define DEF_PROPERTY_TRAIT(Pname, Ptype) \ template <> \ struct property_traits { \ static constexpr std::string_view name = #Pname; \ using type = Ptype; \ }; \ constexpr std::integral_constant Pname {}; DEF_PROPERTY_TRAIT(payload_format_indicator, std::optional); DEF_PROPERTY_TRAIT(message_expiry_interval, std::optional); DEF_PROPERTY_TRAIT(content_type, std::optional); DEF_PROPERTY_TRAIT(response_topic, std::optional); DEF_PROPERTY_TRAIT(correlation_data, std::optional); DEF_PROPERTY_TRAIT(subscription_identifier, subscription_identifiers); DEF_PROPERTY_TRAIT(session_expiry_interval, std::optional); DEF_PROPERTY_TRAIT(assigned_client_identifier, std::optional); DEF_PROPERTY_TRAIT(server_keep_alive, std::optional); DEF_PROPERTY_TRAIT(authentication_method, std::optional); DEF_PROPERTY_TRAIT(authentication_data, std::optional); DEF_PROPERTY_TRAIT(request_problem_information, std::optional); DEF_PROPERTY_TRAIT(will_delay_interval, std::optional); DEF_PROPERTY_TRAIT(request_response_information, std::optional); DEF_PROPERTY_TRAIT(response_information, std::optional); DEF_PROPERTY_TRAIT(server_reference, std::optional); DEF_PROPERTY_TRAIT(reason_string, std::optional); DEF_PROPERTY_TRAIT(receive_maximum, std::optional); DEF_PROPERTY_TRAIT(topic_alias_maximum, std::optional); DEF_PROPERTY_TRAIT(topic_alias, std::optional); DEF_PROPERTY_TRAIT(maximum_qos, std::optional); DEF_PROPERTY_TRAIT(retain_available, std::optional); DEF_PROPERTY_TRAIT(user_property, user_property_value_t); DEF_PROPERTY_TRAIT(maximum_packet_size, std::optional); DEF_PROPERTY_TRAIT(wildcard_subscription_available, std::optional); DEF_PROPERTY_TRAIT(subscription_identifier_available, std::optional); DEF_PROPERTY_TRAIT(shared_subscription_available, std::optional); #undef DEF_PROPERTY_TRAIT template using value_type_t = typename property_traits

::type; template constexpr std::string_view name_v = property_traits

::name; /** * \brief Base class for different Property classes that contains common access and modification functions. */ template class properties { template struct property { using key = std::integral_constant; constexpr static std::string_view name = name_v

; value_type_t

value; }; std::tuple...> _props; public: /// \brief Accesses the value of a Property by its compile-time constant ID. template constexpr auto& operator[](std::integral_constant) noexcept { return std::get>(_props).value; } /// \copydoc operator[] template constexpr const auto& operator[](std::integral_constant) const noexcept { return std::get>(_props).value; } /// \cond internal template using is_apply_on = std::conjunction< std::is_invocable&>... >; template using is_nothrow_apply_on = std::conjunction< std::is_nothrow_invocable&>... >; /// \endcond /** * \brief Applies a function to a Property identified by its ID. * * This function iterates over all Properties and invokes the provided function * on the value of the Property that matches the given property ID. * * \param property_id The ID of the Property to apply the function on. * \param func The function to invoke on the Property value. * \return `true` if the function was applied to a Property and `false` otherwise. */ template < typename Func, std::enable_if_t::value, bool> = true > constexpr bool apply_on(uint8_t property_id, Func&& func) noexcept (is_nothrow_apply_on::value) { return std::apply( [&func, property_id](auto&... ptype) { auto pc = [&func, property_id](auto& px) { using ptype = std::remove_reference_t; constexpr typename ptype::key prop; if (prop.value == property_id) std::invoke(func, px.value); return prop.value == property_id; }; return (pc(ptype) || ...); }, _props ); } /// \cond internal template using is_visitor = std::conjunction< std::is_invocable_r&>... >; template using is_nothrow_visitor = std::conjunction< std::is_nothrow_invocable&>... >; /// \endcond /** * \brief Invokes a visitor function on each Property. * * This function iterates over Properties and invokes the provided function * on each Property, passing both the compile-time constant Property ID and its value. * The visitor function should return a boolean value that determines whether iteration continues. * * @param func The visitor function to invoke. It must accept two arguments: * a Property ID and the corresponding Property value. * @return `true` if the visitor function returns `true` for all Properties, * `false` otherwise. */ template < typename Func, std::enable_if_t::value, bool> = true > constexpr bool visit(Func&& func) const noexcept (is_nothrow_visitor::value) { return std::apply( [&func](const auto&... props) { auto pc = [&func](const auto& px) { using ptype = std::remove_reference_t; constexpr typename ptype::key prop; return std::invoke(func, prop, px.value); }; return (pc(props) && ...); }, _props ); } /// \copydoc visit template < typename Func, std::enable_if_t::value, bool> = true > constexpr bool visit(Func&& func) noexcept (is_nothrow_visitor::value) { return std::apply( [&func](auto&... props) { auto pc = [&func](auto& px) { using ptype = std::remove_reference_t; constexpr typename ptype::key prop; return std::invoke(func, prop, px.value); }; return (pc(props) && ...); }, _props ); } }; } // end namespace boost::mqtt5::prop #endif // !BOOST_MQTT5_PROPERTY_TYPES_HPP