���� 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*!PKx\Y??sidebar-presenter.phpnuW+A post = $post; $this->meta_fields = WPSEO_Meta::get_meta_field_defs( $field_group, $post_type ); } /** * Presents the Meta Fields. * * @return string The styled Alert. */ public function present() { $output = ''; foreach ( $this->meta_fields as $key => $meta_field ) { $form_key = \esc_attr( WPSEO_Meta::$form_prefix . $key ); $meta_value = WPSEO_Meta::get_value( $key, $this->post->ID ); $default = ''; if ( isset( $meta_field['default'] ) ) { $default = \sprintf( ' data-default="%s"', \esc_attr( $meta_field['default'] ) ); } $output .= '' . "\n"; } return $output; } } PKx\( ( notice-presenter.phpnuW+Atitle = $title; $this->content = $content; $this->image_filename = $image_filename; $this->button = $button; $this->is_dismissible = $is_dismissible; $this->id = $id; if ( ! $this->asset_manager ) { $this->asset_manager = new WPSEO_Admin_Asset_Manager(); } $this->asset_manager->enqueue_style( 'notifications' ); } /** * Presents the Notice. * * @return string The styled Notice. */ public function present() { $dismissible = ( $this->is_dismissible ) ? ' is-dismissible' : ''; $id = ( $this->id ) ? ' id="' . $this->id . '"' : ''; // WordPress admin notice. $out = ''; $out .= '
'; // Header. $out .= '
'; $out .= '
'; $out .= ''; $out .= \sprintf( '

%s

', \esc_html( $this->title ) ); $out .= '
'; $out .= '
'; $out .= '

' . $this->content . '

'; if ( $this->button !== null ) { $out .= '

' . $this->button . '

'; } $out .= '
'; $out .= '
'; if ( $this->image_filename !== null ) { $out .= ''; } $out .= '
'; $out .= ''; return $out; } } PKx\>33indexing-error-presenter.phpnuW+Ashort_link_helper = $short_link_helper; $this->product_helper = $product_helper; $this->addon_manager = $addon_manager; } /** * Generates the first paragraph of the error message to show when indexing failed. * * The contents of the paragraph varies based on whether WordPress SEO Premium has a valid, activated subscription or not. * * @param bool $is_premium Whether WordPress SEO Premium is currently active. * @param bool $has_valid_premium_subscription Whether WordPress SEO Premium currently has a valid subscription. * * @return string */ protected function generate_first_paragraph( $is_premium, $has_valid_premium_subscription ) { $message = \__( 'Oops, something has gone wrong and we couldn\'t complete the optimization of your SEO data. Please click the button again to re-start the process. ', 'wordpress-seo' ); if ( $is_premium ) { if ( $has_valid_premium_subscription ) { $message .= \__( 'If the problem persists, please contact support.', 'wordpress-seo' ); } else { $message = \sprintf( /* translators: %1$s expands to an opening anchor tag for a link leading to the Premium installation page, %2$s expands to a closing anchor tag. */ \__( 'Oops, something has gone wrong and we couldn\'t complete the optimization of your SEO data. Please make sure to activate your subscription in MyYoast by completing %1$sthese steps%2$s.', 'wordpress-seo' ), '', '' ); } } return $message; } /** * Generates the second paragraph of the error message to show when indexing failed. * * The error message varies based on whether WordPress SEO Premium has a valid, activated subscription or not. * * @param bool $is_premium Whether WordPress SEO Premium is currently active. * @param bool $has_valid_premium_subscription Whether WordPress SEO Premium currently has a valid subscription. * * @return string The second paragraph of the error message. */ protected function generate_second_paragraph( $is_premium, $has_valid_premium_subscription ) { return \sprintf( /* translators: %1$s expands to an opening anchor tag for a link leading to the Premium installation page, %2$s expands to a closing anchor tag. */ \__( 'Below are the technical details for the error. See %1$sthis page%2$s for a more detailed explanation.', 'wordpress-seo' ), '', '' ); } /** * Presents the error message to show if SEO optimization failed. * * The error message varies based on whether WordPress SEO Premium has a valid, activated subscription or not. * * @return string The error message to show. */ public function present() { $is_premium = $this->product_helper->is_premium(); $has_valid_premium_subscription = $this->addon_manager->has_valid_subscription( WPSEO_Addon_Manager::PREMIUM_SLUG ); $output = '

' . $this->generate_first_paragraph( $is_premium, $has_valid_premium_subscription ) . '

'; $output .= '

' . $this->generate_second_paragraph( $is_premium, $has_valid_premium_subscription ) . '

'; return $output; } } PKx\ badge-presenter.phpnuW+Aid = $id; $this->link = $link; $this->group = $group; if ( ! $badge_group_names instanceof Badge_Group_Names ) { $badge_group_names = new Badge_Group_Names(); } $this->badge_group_names = $badge_group_names; } /** * Presents the New Badge. If a link has been passed, the badge is presented with the link. * Otherwise a static badge is presented. * * @return string The styled New Badge. */ public function present() { if ( ! $this->is_group_still_new() ) { return ''; } if ( $this->link !== '' ) { return \sprintf( '%3$s', \esc_attr( $this->id ), \esc_url( $this->link ), \esc_html__( 'New', 'wordpress-seo' ) ); } return \sprintf( '%2$s', \esc_attr( $this->id ), \esc_html__( 'New', 'wordpress-seo' ) ); } /** * Check whether the new badge should be shown according to the group it is in. * * @return bool True if still new. */ public function is_group_still_new() { // If there's no group configured, the new badge is always active. if ( ! $this->group ) { return true; } return $this->badge_group_names->is_still_eligible_for_new_badge( $this->group ); } } PKx\8 *indexing-failed-notification-presenter.phpnuW+Aclass_addon_manager = $class_addon_manager; $this->short_link_helper = $short_link_helper; $this->product_helper = $product_helper; } /** * Returns the notification as an HTML string. * * @return string The notification in an HTML string representation. */ public function present() { $notification_text = \sprintf( /* Translators: %1$s expands to an opening anchor tag for a link leading to the Yoast SEO tools page, %2$s expands to a closing anchor tag. */ \esc_html__( 'Something has gone wrong and we couldn\'t complete the optimization of your SEO data. Please %1$sre-start the process%2$s.', 'wordpress-seo' ), '', '' ); if ( $this->product_helper->is_premium() ) { if ( $this->has_valid_premium_subscription() ) { // Add a support message for premium customers. $notification_text .= ' '; $notification_text .= \esc_html__( 'If the problem persists, please contact support.', 'wordpress-seo' ); } else { // Premium plugin with inactive addon; overwrite the entire error message. $notification_text = \sprintf( /* Translators: %1$s expands to an opening anchor tag for a link leading to the Premium installation page, %2$s expands to a closing anchor tag. */ \esc_html__( 'Oops, something has gone wrong and we couldn\'t complete the optimization of your SEO data. Please make sure to activate your subscription in MyYoast by completing %1$sthese steps%2$s.', 'wordpress-seo' ), '', '' ); } } return '

' . $notification_text . '

'; } /** * Determines if the site has a valid Premium subscription. * * @return bool */ protected function has_valid_premium_subscription() { return $this->class_addon_manager->has_valid_subscription( WPSEO_Addon_Manager::PREMIUM_SLUG ); } } PKx\^=q%woocommerce-beta-editor-presenter.phpnuW+Ashort_link_helper = $short_link_helper; } /** * Returns the notification as an HTML string. * * @return string The notification in an HTML string representation. */ public function present() { $notification_text = '

'; $notification_text .= $this->get_message(); $notification_text .= '

'; return $notification_text; } /** * Returns the message to show. * * @return string The message. */ protected function get_message() { return \sprintf( '%1$s %2$s', \esc_html__( 'Compatibility issue: Yoast SEO is incompatible with the beta WooCommerce product editor.', 'wordpress-seo' ), \sprintf( /* translators: 1: Yoast SEO, 2: Link start tag to the Learn more link, 3: Link closing tag. */ \esc_html__( 'The %1$s interface is currently unavailable in the beta WooCommerce product editor. To resolve any issues, please disable the beta editor. %2$sLearn how to disable the beta WooCommerce product editor.%3$s', 'wordpress-seo' ), 'Yoast SEO', '', '' ) ); } } PKx\9*aa#indexing-notification-presenter.phpnuW+Ashort_link_helper = $short_link_helper; $this->total_unindexed = $total_unindexed; $this->reason = $reason; } /** * Returns the notification as an HTML string. * * @return string The HTML string representation of the notification. */ public function present() { $notification_text = '

' . $this->get_message( $this->reason ); $notification_text .= $this->get_time_estimate( $this->total_unindexed ) . '

'; $notification_text .= ''; $notification_text .= \esc_html__( 'Start SEO data optimization', 'wordpress-seo' ); $notification_text .= ''; return $notification_text; } /** * Determines the message to show in the indexing notification. * * @param string $reason The reason identifier. * * @return string The message to show in the notification. */ protected function get_message( $reason ) { switch ( $reason ) { case Indexing_Reasons::REASON_PERMALINK_SETTINGS: $text = \esc_html__( 'Because of a change in your permalink structure, some of your SEO data needs to be reprocessed.', 'wordpress-seo' ); break; case Indexing_Reasons::REASON_HOME_URL_OPTION: $text = \esc_html__( 'Because of a change in your home URL setting, some of your SEO data needs to be reprocessed.', 'wordpress-seo' ); break; case Indexing_Reasons::REASON_CATEGORY_BASE_PREFIX: $text = \esc_html__( 'Because of a change in your category base setting, some of your SEO data needs to be reprocessed.', 'wordpress-seo' ); break; case Indexing_Reasons::REASON_TAG_BASE_PREFIX: $text = \esc_html__( 'Because of a change in your tag base setting, some of your SEO data needs to be reprocessed.', 'wordpress-seo' ); break; case Indexing_Reasons::REASON_POST_TYPE_MADE_PUBLIC: $text = \esc_html__( 'We need to re-analyze some of your SEO data because of a change in the visibility of your post types. Please help us do that by running the SEO data optimization.', 'wordpress-seo' ); break; case Indexing_Reasons::REASON_TAXONOMY_MADE_PUBLIC: $text = \esc_html__( 'We need to re-analyze some of your SEO data because of a change in the visibility of your taxonomies. Please help us do that by running the SEO data optimization.', 'wordpress-seo' ); break; case Indexing_Reasons::REASON_ATTACHMENTS_MADE_ENABLED: $text = \esc_html__( 'It looks like you\'ve enabled media pages. We recommend that you help us to re-analyze your site by running the SEO data optimization.', 'wordpress-seo' ); break; default: $text = \esc_html__( 'You can speed up your site and get insight into your internal linking structure by letting us perform a few optimizations to the way SEO data is stored.', 'wordpress-seo' ); } /** * Filter: 'wpseo_indexables_indexation_alert' - Allow developers to filter the reason of the indexation * * @param string $text The text to show as reason. * @param string $reason The reason value. */ return (string) \apply_filters( 'wpseo_indexables_indexation_alert', $text, $reason ); } /** * Creates a time estimate based on the total number on unindexed objects. * * @param int $total_unindexed The total number of unindexed objects. * * @return string The time estimate as a HTML string. */ protected function get_time_estimate( $total_unindexed ) { if ( $total_unindexed < 400 ) { return \esc_html__( ' We estimate this will take less than a minute.', 'wordpress-seo' ); } if ( $total_unindexed < 2500 ) { return \esc_html__( ' We estimate this will take a couple of minutes.', 'wordpress-seo' ); } $estimate = \esc_html__( ' We estimate this could take a long time, due to the size of your site. As an alternative to waiting, you could:', 'wordpress-seo' ); $estimate .= ''; return $estimate; } } PKx\ var = $variable; $this->label = $label; $this->buttons = $buttons; $this->name = $name; $this->value = $value; $this->reverse = $reverse; $this->help = $help; $this->strong = $strong; $this->disabled_attribute = $disabled_attribute; } /** * Presents the light switch toggle. * * @return string The light switch's HTML. */ public function present() { if ( empty( $this->buttons ) ) { $this->buttons = [ \__( 'Disabled', 'wordpress-seo' ), \__( 'Enabled', 'wordpress-seo' ) ]; } list( $off_button, $on_button ) = $this->buttons; $class = 'switch-light switch-candy switch-yoast-seo'; if ( $this->reverse ) { $class .= ' switch-yoast-seo-reverse'; } $help_class = ! empty( $this->help ) ? ' switch-container__has-help' : ''; $strong_class = ( $this->strong ) ? ' switch-light-visual-label__strong' : ''; $output = ''; return $output; } } PKx\D${   indexing-list-item-presenter.phpnuW+Ashort_link_helper = $short_link_helper; } /** * Presents the list item for the tools menu. * * @return string The list item HTML. */ public function present() { $output = \sprintf( '
  • %s
    ', \esc_html__( 'Optimize SEO Data', 'wordpress-seo' ) ); $output .= \sprintf( '%1$s %3$s', \esc_html__( 'You can speed up your site and get insight into your internal linking structure by letting us perform a few optimizations to the way SEO data is stored. If you have a lot of content it might take a while, but trust us, it\'s worth it.', 'wordpress-seo' ), \esc_url( $this->short_link_helper->get( 'https://yoa.st/3-z' ) ), \esc_html__( 'Learn more about the benefits of optimized SEO data.', 'wordpress-seo' ) ); $output .= '
    '; $output .= '
  • '; return $output; } } PKx\7lj(search-engines-discouraged-presenter.phpnuW+A'; $notification_text .= $this->get_message(); $notification_text .= '

    '; return $notification_text; } /** * Returns the message to show. * * @return string The message. */ protected function get_message() { return \sprintf( '%1$s %2$s ', \esc_html__( 'Huge SEO Issue: You\'re blocking access to robots.', 'wordpress-seo' ), \sprintf( /* translators: 1: Link start tag to the WordPress Reading Settings page, 2: Link closing tag. */ \esc_html__( 'If you want search engines to show this site in their results, you must %1$sgo to your Reading Settings%2$s and uncheck the box for Search Engine Visibility.', 'wordpress-seo' ), '', '' ), \esc_js( \wp_create_nonce( 'wpseo-ignore' ) ), \esc_html__( 'I don\'t want this site to show in the search results.', 'wordpress-seo' ) ); } } PKx\migration-error-presenter.phpnuW+Amigration_error = $migration_error; } /** * Presents the migration error that occurred. * * @return string The error HTML. */ public function present() { $header = \sprintf( /* translators: %s: Yoast SEO. */ \esc_html__( '%s is unable to create database tables', 'wordpress-seo' ), 'Yoast SEO' ); $message = \sprintf( /* translators: %s: Yoast SEO. */ \esc_html__( '%s had problems creating the database tables needed to speed up your site.', 'wordpress-seo' ), 'Yoast SEO' ); $support = \sprintf( /* translators: %1$s: link to help article about solving table issue. %2$s: is anchor closing. */ \esc_html__( 'Please read %1$sthis help article%2$s to find out how to resolve this problem.', 'wordpress-seo' ), '', '' ); $reassurance = \sprintf( /* translators: %s: Yoast SEO. */ \esc_html__( 'Your site will continue to work normally, but won\'t take full advantage of %s.', 'wordpress-seo' ), 'Yoast SEO' ); $debug_info = \sprintf( '
    %1$s

    %2$s

    ', \esc_html__( 'Show debug information', 'wordpress-seo' ), \esc_html( $this->migration_error['message'] ) ); return \sprintf( '

    %1$s

    %2$s

    %3$s

    %4$s

    %5$s
    ', $header, $message, $support, $reassurance, $debug_info ); } } PKx\csAHHpremium-badge-presenter.phpnuW+Aid = $id; $this->link = $link; } /** * Presents the Premium Badge. If a link has been passed, the badge is presented with the link. * Otherwise a static badge is presented. * * @return string The styled Premium Badge. */ public function present() { if ( $this->link !== '' ) { return \sprintf( '%3$s', \esc_attr( $this->id ), \esc_url( $this->link ), 'Premium' // We don't want this string to be translatable. ); } return \sprintf( '%2$s', \esc_attr( $this->id ), 'Premium' // We don't want this string to be translatable. ); } } PKx\d{QQhelp-link-presenter.phpnuW+Alink = $link; $this->link_text = $link_text; $this->opens_in_new_browser_tab = $opens_in_new_browser_tab; if ( ! $this->asset_manager ) { $this->asset_manager = new WPSEO_Admin_Asset_Manager(); } $this->asset_manager->enqueue_style( 'admin-global' ); } /** * Presents the Help link. * * @return string The styled Help link. */ public function present() { if ( $this->link === '' || $this->link_text === '' ) { return; } $target_blank_attribute = ''; $new_tab_message = ''; if ( $this->opens_in_new_browser_tab ) { $target_blank_attribute = ' target="_blank"'; /* translators: Hidden accessibility text. */ $new_tab_message = ' ' . \__( '(Opens in a new browser tab)', 'wordpress-seo' ); } return \sprintf( '%3$s', \esc_url( $this->link ), $target_blank_attribute, \esc_html( $this->link_text . $new_tab_message ) ); } } PKx\ =''beta-badge-presenter.phpnuW+Aid = $id; $this->link = $link; } /** * Presents the Beta Badge. If a link has been passed, the badge is presented with the link. * Otherwise a static badge is presented. * * @return string The styled Beta Badge. */ public function present() { if ( $this->link !== '' ) { return \sprintf( '%3$s', \esc_attr( $this->id ), \esc_url( $this->link ), 'Beta' // We don't want this string to be translatable. ); } return \sprintf( '%2$s', \esc_attr( $this->id ), 'Beta' // We don't want this string to be translatable. ); } } PKx\Y??sidebar-presenter.phpnuW+APKx\(5@@meta-fields-presenter.phpnuW+APKx\( (  notice-presenter.phpnuW+APKx\>33y-indexing-error-presenter.phpnuW+APKx\ >badge-presenter.phpnuW+APKx\8 *Iindexing-failed-notification-presenter.phpnuW+APKx\^=q%Vwoocommerce-beta-editor-presenter.phpnuW+APKx\9*aa#_]indexing-notification-presenter.phpnuW+APKx\