B4BY.588
Home
Terminal
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
sportmx
/
public_html
/
wp-content
/
plugins
/
fakerpress
/
src
/
FakerPress
/
Admin
/
Filename :
Menu.php
back
Copy
<?php namespace FakerPress\Admin; use FakerPress\Admin\View\Factory as View_Factory; use function FakerPress\make; use FakerPress\Plugin; use FakerPress\Admin; /** * Class Menu * * @since 0.6.4 */ class Menu { /** * Variable holding the submenus objects * * @since 0.6.0 * * @var array */ protected static $items = []; /** * Determines if the list of menus needs sorting. * * @since 0.6.0 * * @var bool */ protected static $needs_sorting = false; /** * Creating submenus easier to be extent from outside * * @since 0.6.0 * * @param string $slug Translatable string for the title of the page * @param string $title Translatable string that will go on the menu * @param string $label Translatable string that will go on the menu * @param string $capability WordPress capability that will be required to access this view * @param integer $priority The priority to show this submenu * @param callable|null $callback A callback to render this menu item. * @param string|null $parent What is the parent menu. */ public static function add( string $slug, $title, $label, string $capability = 'manage_options', int $priority = 10, $callback = null, $parent = null ): void { $slug = sanitize_key( $slug ); static::$items[ $slug ] = $menu = (object) [ 'slug' => $slug, 'title' => esc_attr( $title ), 'hook' => null, // Will be set later from WP. 'label' => esc_attr( $label ), 'capability' => sanitize_key( $capability ), 'priority' => absint( $priority ), // Used to set up error page. 'callback' => $callback, // Used to set up error page. 'parent' => $parent, // Used to set up error page. ]; if ( ! is_callable( $menu->callback ) ) { $menu->callback = static function () use ( $menu ) { $menu = make( Menu::class )->get_current(); return make( Admin::class )->render( $menu->slug, [ 'view' => $menu ] ); }; } static::$needs_sorting = true; } /** * Given a slug updates that menu object with the new variables. * * @since 0.6.0 * * @param string $slug * @param array $update_with * * @return bool */ public function update( string $slug, array $update_with ) { $menu = $this->get( $slug ); if ( empty( $menu ) ) { return false; } $menu = (object) array_merge( (array) $menu, (array) $update_with ); static::$items[ $slug ] = $menu; return true; } /** * Gets all the menu items sorted by their priority. * * @since 0.6.0 * * @return array */ public function get_all(): array { if ( static::$needs_sorting ) { uasort( static::$items, 'FakerPress\sort_by_priority' ); static::$needs_sorting = false; } return static::$items; } /** * Gets a specific item from the menu, using its slug. * * @since 0.6.0 * * @param string $slug * * @return object|null */ public function get( string $slug ) { $all = $this->get_all(); return $all[ $slug ] ?? null; } /** * Filter the `$submenu_file` global right before WordPress builds the Administration Menu * * @since 0.6.0 * * @param string $submenu_file Which is the current submenu file. * * @return string */ public function filter_submenu_file( $submenu_file ) { if ( ! make( Admin::class )->is_active() ) { return $submenu_file; } $view = make( Admin\View\Factory::class )->get_current_view(); if ( 0 !== $view->get_menu_priority() ) { $submenu_file = Plugin::$slug . '&view=' . $view::get_slug(); } return $submenu_file; } /** * Method triggered to add the menu to WordPress administration * * @since 0.6.0 * * @uses \FakerPress\Plugin::$slug * @uses esc_attr__ * @uses add_menu_page * @uses add_submenu_page * @uses current_user_can * * @return null Actions do not return */ public function register_menus_to_wp() { foreach ( $this->get_all() as $menu ) { if ( ! current_user_can( $menu->capability ) ) { continue; } $update = []; if ( empty( $menu->parent ) ) { // Get the SVG icon data $icon_svg = $this->get_menu_icon_svg(); $update['hook'] = add_menu_page( $menu->title, $menu->label, $menu->capability, $menu->slug, $menu->callback, $icon_svg ); } else { $update['hook'] = add_submenu_page( $menu->parent, $menu->title, $menu->label, $menu->capability, "{$menu->parent}&view={$menu->slug}", $menu->callback // The submenus will likely never be called due to howe register. ); } $this->update( $menu->slug, $update ); } // Change the Default Submenu for FakerPress menus if ( ! empty( $GLOBALS['submenu'][ Plugin::$slug ] ) ) { $GLOBALS['submenu'][ Plugin::$slug ][0][0] = esc_attr__( 'Settings', 'fakerpress' ); } } /** * Properly sets the current screen, this is a hacky solution because of how poorly WordPress handles Admin menus not * using the page param. * * @since 0.6.4 * * @param \WP_Screen $screen Which screen are we in? * * @return void */ public function correctly_set_current_screen( $screen ) { $view = make( View_Factory::class )->get_current_view(); if ( ! $view ) { return; } if ( ! $view->has_menu() ) { return; } $menu = $view->get_menu(); set_current_screen( $menu->hook ); global $page_hook; $page_hook = $menu->hook; } /** * Get the SVG icon for the admin menu. * * @since TBD * * @return string Base64 encoded SVG icon. */ protected function get_menu_icon_svg() { // FakerPress icon from src/resources/img/fakerpress.svg $svg = '<svg viewBox="0 0 134 134" fill="white" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="m0-30.784-.03 1q.362.011.717.04h.001l.021.002.022.001h.001l.011.001.021.002h.002l.022.002H.79l.007.001h.002l.011.001h.002l.009.001h.002l.01.001h.046l.011.001h.003l.007.001h.004l.009.001H.95l.008.001h.026l.009.001h.033l.006.001h.026l.01.001h.015l.007.001h.015l.006.001h.005l.008.001h.003l.006.001h.004l.011.001h.013l.011.001h.012l.02.002h.013l.01.001h.014l.009.001h.014l.011.001h.002l.007.001h.004l.019.002h.003l.007.001h.002l.012.001h.002l.007.001h.003l.01.001h.013l.013.002h.011l.006.001H1.4l.009.001h.004l.005.001h.004l.01.001.004.001h.01l.01.001.003.001h.011l.005.001.008.001h.005l.005.001h.006l.005.001.006.001h.011l.006.001.007.001.006.001h.003l.006.001h.004l.009.001h.005l.006.001h.004l.009.001h.002l.008.001H1.6l.009.001h.002l.009.001h.002l.007.001h.002l.011.001h.003l.008.001h.002l.01.001h.002l.009.001h.002l.01.001h.001l.011.001h.002l.02.003h.001l.022.003.009.002h.002l.021.003.202.033.17-.985A29 29 0 0 0 0-30.784m4.208.728-.31.951q.536.175 1.061.394h.002l.009.003h.001l.009.004h.001l.01.003.009.004.036.015.007.004.004.001.007.003.004.001.006.002.004.002.007.002.004.002.005.002.004.002.006.002.005.002.005.001.01.004.289.127.021.009.021.009.011.005.009.004.103.047.003.001.008.003.002.001.007.004.004.001.007.003.003.001.007.003.004.001.007.003.009.005.004.001.007.003.003.001.007.003.004.001.007.003.004.001.005.003.004.001.008.003.002.001.008.004.002.001.01.004.009.004.011.004.034.017.435-.901a18 18 0 0 0-.679-.309c-.433-.17-.871-.334-1.306-.476m3.834 1.846-.549.836.004.002.003.003.004.002.004.003.007.004.004.003.003.003.005.003.003.002.008.005.002.001.005.004.004.002.006.003.003.002.007.005.003.002.007.004.002.001.006.004.001.001.009.005.002.001.007.004.002.001.008.005h.001l.007.005.002.001.007.004.002.001.008.006h.001l.008.005.001.001.018.011.001.001.006.005.002.001.018.012h.001l.009.005.017.012h.001l.019.012.008.005.018.012.009.006.017.012h.002l.025.018.026.019h.001l.043.031h.001l.043.031.098.069.024.019.044.031q.014.009.025.019l.018.012.008.006h.001q.01.006.016.012l.002.001.008.005.009.006.008.006.001.001.017.012.009.006.017.012.002.001.008.005v.001l.007.006.009.006.002.001.017.012v.001l.008.005.001.001.008.006.008.006.002.001.006.005.002.001.008.006q.006.002.007.005l.002.001.007.005.002.001.008.006.001.001q.004.002.006.005l.003.001.007.005h.002l.005.006.004.002.005.004.003.002.007.006.002.001.006.005.003.002.006.004.002.002q.002.003.007.005l.002.002.005.004.004.002.004.004.004.002.006.005.003.002.006.003.002.002.005.004.004.003.006.004.003.002.005.003.003.002.007.005.004.002.004.003.003.003.004.003.004.003.006.005.003.002.005.003.003.003.005.003c-.013.022-.012.023-.01.024l.004.003.004.003.004.003.004.003.004.003.005.005q.002.002.005.002l.004.003.003.002.008.006.002.002.006.003.002.002.004.003q.002 0 .003.002l.008.005.003.002.004.003.003.002.004.003.003.002.009.006.002.002.004.003v.009l.016.013.003.001.004.004.003.002.011.008q.004.001.004.004.002 0 .003.002l.004.004.002.001.01.008.001.001.005.004.002.001.017.014.006.004.002.001.016.013.002.001.006.004.011.009v.001l.006.004.002.001.018.015.006.004v.001l.017.014.001.001.006.004v.001l.017.014.002.001.016.014.002.001.005.004.002.002.016.013.002.001.004.004.001.001.012.009.005.004.002.001.005.004.001.001.011.008v.001l.006.004.001.001.016.013.002.001.005.004.002.001.016.014v.001l.006.005.011.009.002.001.005.004.002.002.004.004.002.001.009.008.002.002.004.004.003.002.009.008.002.001.004.003.003.002.005.003.002.002.008.006.001.002.004.003.004.003.004.003.004.003.006.005.004.003.003.003.005.003.002.003.007.005.002.003q.003 0 .002.002l.662-.75a18 18 0 0 0-1.71-1.287m3.199 2.829-.763.646q.44.522.833 1.088h.001l.019.025.012.019.005.006.013.019.001.001.012.018.001.001q0 .003.004.006v.001l.013.018.001.001.004.006.001.001.013.018v.001q.008.009.013.018v.001l.005.005.001.001.012.018.001.001.004.006v.001l.009.011v.001l.003.005.002.002q0 .003.004.005v.001l.007.01.002.002.003.005.002.002.012.017.002.002.002.005q.003.002.002.003l.005.009.002.002.004.005.002.003.003.005.002.003.005.008.003.003q-.005.01-.002.011l.002.004.003.004.003.004.005.007.002.003.004.004.002.003q0 .003.003.007.003.002.002.004l.004.004.003.004.002.004.004.005.003.005.003.005.003.004.003.004.003.003.004.007.002.003.003.005.002.003.004.005.002.002.005.008.002.003.003.005.002.003.005.007.001.002.004.006q.003.002.002.003.004.002.004.005l.002.003.005.008v.002l.004.006.003.003.004.006.001.002.006.008.001.002.004.007.001.002.01.015.847-.533a16 16 0 0 0-1.267-1.722m2.275 3.601-.909.417.043.094.001.001.004.01q.003 0 .002.002l.004.009.002.002q0 .005.004.009v.003l.003.009.004.007.003.006.003.007.002.003.003.008.002.003.003.008.001.002.004.009h.001l.062.144v.001l.005.009.001.001.004.009.001.003.003.008.005.011.005.01v.001l.004.009v.001q.004.005.004.009l.002.001.003.009v.001l.009.02.005.01v.001l.004.009.001.001.004.009v.001l.004.01.009.02v.001l.005.009v.001q0 .004.004.01v.001l.005.01.004.01.004.01h.001l.004.01v.001l.004.009.001.001.005.009v.001q0 .005.004.009v.001l.003.009v.001l.004.009v.002q.004.003.004.008l.002.002.003.008.001.002.004.008.001.002.003.008.001.002.003.008.001.002.003.008.001.002.005.008v.003l.004.007v.003l.003.006.002.005q0 .003.002.005 0 .003.002.005l.002.006.002.004.003.007.001.003.003.007.002.004.002.005.002.006.002.004.003.007.001.004.003.007q.003.002.002.004l.004.01v.001l.002.005.001.002q0 .005.004.009v.002l.004.009v.002l.005.01v.001q.197.506.355 1.021l.957-.29a16 16 0 0 0-.582-1.593c-.066-.123-.125-.258-.186-.39m1.233 4.084-.988.15q.016.1.029.199l.002.022v.001l.003.021v.002l.002.007.002.014v.01l.003.013v.001l.001.006v.003l.003.02v.002l.003.021v.002l.001.006v.001l.002.013v.003l.001.006v.002l.002.012v.002l.001.006v.003l.002.013v.006l.001.003.002.02.001.002v.006l.001.002q0 .006.002.011v.012q.003.005.002.01v.003l.002.006v.003l.002.012v.01l.002.02v.003l.001.006v.003l.002.011v.012l.002.011v.008q0 .002.002.003l.002.02v.003l.002.02v.003l.001.006v.001l.002.013v.002l.001.006v.002l.001.014.001.007v.001l.002.021.001.002.002.021v.002l.001.007.001.015v.001l.001.007.002.022v.001l.002.022.002.023q.052.567.058 1.144l1-.011a16 16 0 0 0-.173-2.119m-.944 4.137a14 14 0 0 1-.146.901v.002l-.005.021v.002l-.004.02-.001.002-.001.008v.002l-.003.012v.002l-.002.007v.003l-.004.019-.001.004-.001.006-.001.004-.003.01v.003q0 .003-.002.004v.006l-.002.007v.006l-.002.005v.005q-.003.002-.002.005l-.001.007v.004l-.002.007v.004l-.002.009v.003l-.002.007q0 .002-.002.003v.008l-.002.002-.002.01v.003l-.002.008-.001.002-.002.01v.002l-.002.008v.002l-.005.021v.002l-.005.021v.002l-.002.009v.001l-.003.011q-.003.005-.002.011l-.005.021q-.057.257-.124.509v.002l-.005.02v.001l-.006.021-.003.01v.002l-.003.011-.003.01v.001l-.003.011-.003.01v.002l-.003.009v.001l-.003.01v.003l-.003.006v.004l-.004.008v.005l-.002.006v.004l-.001.007q-.003.003-.002.005l-.002.006-.002.004v.004q-.003.005-.002.009l-.002.004.963.268c.19-.685.334-1.392.423-2.1zm-1.064 3.841q-.05.116-.104.232h-.001l-.009.022-.002.001-.001.007v.001l-.006.012-.002.002-.003.006-.001.002-.008.019-.002.003-.002.005-.001.002-.005.012-.002.003q-.003.003-.002.006-.003.002-.002.003l-.004.008-.001.005q-.003 0-.002.004l-.002.004-.002.006q-.003 0-.002.003l-.005.009-.002.004-.002.005-.002.005q-.002.001-.004.007l-.002.004-.002.004-.002.006-.003.005-.004.007-.002.004-.002.006-.001.003-.004.008-.002.004q0 .003-.002.005l-.002.004-.003.007-.001.002-.004.009-.002.002-.003.006-.001.004q-.003.004-.004.009l-.002.003-.004.006v.004l-.004.007-.002.002-.003.008-.002.004-.002.006q0 .002-.002.003 0 .004-.004.008l-.002.003-.003.008-.001.001-.004.008-.001.004-.003.006-.002.004-.004.007q0 .002-.002.002 0 .005-.004.009v.003l-.004.006-.001.002-.004.009v.004l-.004.006q0 .002-.002.003l-.004.009h-.001l-.004.008-.001.004-.004.007-.001.002-.004.009-.001.002-.004.007q0 .002-.002.003 0 .004-.004.009l-.003.009-.002.003-.004.008v.001l-.005.009-.001.002-.005.009-.004.009-.002.003-.003.007-.001.002-.005.009v.002q-.003.003-.004.007l-.002.002-.003.009v.001l-.006.009v.003l-.005.007-.001.003-.004.007-.001.002-.004.008-.001.003-.005.009-.004.009-.001.002q-.004.003-.004.008h-.002l-.003.01-.002.003-.002.007-.002.002-.005.009-.001.002-.004.006-.001.004-.004.006-.001.002-.004.01-.001.002-.004.007-.001.002-.006.008v.002l-.003.008-.002.002q0 .006-.004.01-.004.005-.004.009l-.002.003-.004.007-.001.002-.005.008-.001.002-.003.008-.002.002-.004.009-.001.002-.005.007v.003l-.004.006-.001.002-.004.009-.002.003-.004.007-.001.002-.004.009-.002.003-.003.004-.002.004-.004.009-.001.002-.004.007-.001.003-.004.007-.002.002q0 .004-.003.007l-.002.004-.002.006q-.002.001-.002.004l-.005.008-.002.003-.003.006-.002.003-.003.005-.002.006-.004.006-.002.003-.003.006-.002.003-.004.008-.002.004-.001.005q-.003 0-.002.004-.004.003-.004.006-.003.003-.002.005l-.004.005-.002.004-.003.005-.003.006-.003.005-.003.005-.004.008-.004.007-.004.005-.002.004-.002.005-.001.004-.004.006-.002.004q-.003.003-.002.006-.003 0-.003.004l-.004.007-.003.005-.002.004-.002.004-.003.006-.003.003-.003.006-.003.004-.002.006q-.003.002-.002.004l-.005.008-.002.004-.002.004-.002.003-.006.01-.001.002-.003.006-.001.003-.003.005-.002.003-.005.011-.002.001-.003.006-.002.002-.005.011v.001l-.004.006v.002l-.012.019h-.001l-.003.008h-.001l-.007.013v.001l-.003.006-.001.001-.011.018v.002l-.012.02v.001l-.004.007-.012.02-.012.021-.026.046-.121.206.858.513a17 17 0 0 0 .971-1.892zM10.685-6.3l-.204.248-.001.001-.007.007-.001.002-.007.008-.002.001-.005.006-.002.002q0 .003-.004.006l-.002.004-.006.006-.003.003-.005.005-.002.004-.005.005-.003.002q-.004.003-.004.006l-.004.004-.003.005-.004.004-.007.008-.003.004-.004.005-.004.005-.003.002-.005.006q-.002 0-.004.004l-.004.005-.002.003-.005.005-.002.004-.005.005-.003.003q-.002.004-.005.004l-.002.004-.005.006-.002.002-.006.006-.002.003-.005.006v.001l-.049.054v.002l-.007.006-.001.002-.006.006-.002.003-.006.007-.001.001-.007.007v.001l-.007.007v.001l-.006.008-.058.062v.001l-.007.007-.002.001-.006.007-.007.008-.007.008-.001.001-.007.008-.007.008h-.001l-.063.07-.007.008-.002.001-.006.007-.001.001q-.003.001-.006.007h-.002l-.006.008.004-.006-.006.006-.001.002-.006.007v.001q-.023.022-.043.045v.001l-.007.007-.002.001-.006.006-.001.002-.006.006-.002.002-.006.006-.002.003-.005.005-.002.003-.006.005-.003.003-.005.006-.002.002-.005.006q-.002 0-.003.002l-.006.006-.002.002-.025.027-.002.002-.005.004-.003.004q-.003.002-.004.005l-.004.003q-.004.002-.004.005l-.003.003-.004.005-.004.003-.005.005-.003.002-.004.006q-.003 0-.004.004l-.004.004-.004.004-.004.004-.003.004-.004.004-.004.004-.005.004-.004.005-.004.002-.004.006-.007.007-.004.004-.004.004-.003.005-.004.003q-.004.003-.004.005l-.005.003-.004.004-.004.004-.004.004q-.003.002-.004.005l-.005.004-.004.004-.003.004-.004.004-.004.004-.004.004-.004.004q-.003 0-.004.004l-.005.004-.003.004-.006.005-.002.003-.005.006-.002.002-.009.008-.007.007-.002.002-.005.004-.002.002-.007.007v.001q-.006.004-.007.008l-.002.001-.006.006-.002.001-.005.005-.002.002-.014.015-.002.002-.007.005v.002l-.007.006v.001l-.016.014v.002l-.007.006h-.001l-.015.016q-.003.004-.008.007v.001q-.13.126-.262.248l.68.733q.21-.194.41-.395c.369-.37.724-.764 1.053-1.171zM7.761-3.591q-.139.096-.281.189h-.002l-.005.004h-.001l-.011.008q-.002 0-.003.002l-.004.003-.004.002-.006.004-.005.003-.004.003-.004.003-.004.002-.007.003q0 .002-.003.004l-.006.002-.002.002-.007.004-.002.003-.008.005-.002.001-.007.005-.002.001-.017.011-.001.001-.027.017q-.47.301-.97.569l-.02.01-.01.006q-.009.006-.019.01l-.002.001-.008.005h-.001q-.005.002-.009.006h-.002l-.007.003-.002.002-.009.004h-.001l-.008.006h-.003l-.007.005-.002.001q-.006.002-.007.004l-.004.002-.006.003-.004.002-.012.006-.005.002-.005.003-.004.001q0 .002-.003.002l-.008.004-.005.004-.004.002-.005.002-.003.002-.011.005-.007.004-.002.002-.02.01H6.14q-.003.004-.007.004l-.021.01-.078.041.452.892A16 16 0 0 0 8.32-2.763zM4.206-1.783l-.006.002q-.006.004-.01.004-.002 0-.003.002l-.008.002h-.002l-.009.004h-.003l-.006.004-.004.001-.009.003-.003.001-.007.002-.003.002-.008.002-.001.001-.01.003-.004.001-.005.002-.004.002-.009.003h-.004l-.005.002-.004.002-.008.002-.005.002-.005.002q-.003 0-.005.002l-.007.002h-.004l-.007.004-.004.001-.005.002-.005.001-.008.003-.004.002-.006.001-.004.002-.005.002-.006.002-.006.002-.005.001-.005.003-.007.001-.007.002-.003.002h-.004q-.003.003-.006.002-.003.002-.008.002-.002.002-.005.002l-.004.002-.007.002h-.002l-.009.005-.004.001-.006.002-.003.001-.011.003-.002.001-.006.002-.004.001-.019.006-.003.001-.006.003h-.001l-.014.003h-.001l-.006.002-.002.002q-.007 0-.013.004h-.001l-.007.002h-.002l-.02.008h-.003l-.021.007h-.002l-.006.003h-.001l-.021.007h-.001l-.021.006-.03.01-.022.008-.023.007q-.67.205-1.361.34l.193.981a15 15 0 0 0 2.066-.563zm-5.91.741-.083.996a16 16 0 0 0 2.134.034l-.054-.999q-.249.013-.499.018l-.011.001h-.138l-.007.002h-.232l-.011-.002h-.137l-.006-.001h-.086L-.84-.995h-.03l-.005-.001h-.027l-.007-.001h-.026L-.94-.998h-.024l-.005-.001H-.99L-.996-1h-.014l-.022-.001h-.009l-.004-.001h-.02l-.006-.001h-.019l-.007-.001h-.013l-.007-.001h-.012l-.024-.001-.003-.001h-.017l-.003-.001h-.009l-.027-.001-.008-.001h-.011l-.008-.001h-.002l-.036-.002h-.009l-.002-.001h-.01l-.008-.001-.037-.002h-.001l-.008-.002h-.01l-.038-.002h-.01l-.009-.002a8 8 0 0 1-.285-.019m-3.884-.897-.361.933c.667.259 1.355.472 2.046.63l.225-.975-.088-.021-.021-.005-.001-.001-.021-.005h-.001l-.009-.002-.001-.001-.01-.002-.002-.001-.007-.001-.003-.001-.009-.003h-.002q-.003-.002-.007-.002l-.004-.002-.007-.002h-.003l-.007-.002h-.004l-.006-.002-.004-.002-.008-.002h-.004l-.005-.001h-.004l-.006-.003-.007-.002-.004-.001-.005-.001-.003-.001-.011-.003h-.002l-.006-.002-.003-.001-.013-.003-.006-.002h-.002l-.021-.006h-.001l-.029-.009a14 14 0 0 1-.964-.287l-.021-.008h-.001l-.021-.007-.007-.002-.001-.001-.021-.007-.002-.001-.02-.007-.002-.001-.006-.002h-.002l-.01-.005h-.003q-.003-.003-.005-.002-.001-.002-.004-.002l-.009-.004h-.003q-.003-.003-.006-.002-.002-.003-.003-.002l-.005-.001-.004-.002-.008-.003-.004-.001-.005-.002-.005-.002-.007-.002-.004-.002-.005-.002-.005-.002-.006-.002-.006-.002-.004-.002-.005-.002-.004-.002-.008-.002-.004-.002-.006-.002q-.002 0-.003-.002l-.009-.002-.002-.002-.007-.002-.003-.001-.007-.002-.002-.001-.009-.003-.003-.001-.007-.003-.002-.001-.009-.003-.002-.001-.008-.003-.002-.001-.01-.003v-.001l-.009-.003-.002-.002-.02-.006-.001-.002-.009-.002-.001-.002-.01-.001-.001-.002-.009-.003-.001-.001-.02-.007-.001-.001-.02-.007-.001-.001a1 1 0 0 1-.157-.049m-3.499-1.914-.594.806c.564.416 1.171.802 1.802 1.145l.479-.879a15 15 0 0 1-.751-.437l-.027-.018-.018-.011v-.001l-.009-.005-.018-.012h-.001l-.017-.012-.001-.002-.007-.004h-.001l-.008-.006h-.001l-.008-.005-.001-.001-.008-.006-.009-.005-.001-.001-.007-.005-.002-.002-.008-.006h-.001l-.007-.004-.002-.002q-.004 0-.007-.004l-.001-.001-.008-.005-.002-.002-.006-.004-.002-.001-.007-.005-.002-.001-.007-.006q-.002 0-.002-.002-.003 0-.006-.004h-.002l-.008-.006-.002-.001q-.003 0-.006-.004l-.003-.002-.006-.004-.002-.001-.007-.005-.003-.002-.005-.004-.003-.002-.007-.006h-.002l-.005-.004-.003-.002-.005-.004-.003-.001-.007-.005-.003-.003-.005-.003-.003-.002-.007-.005-.003-.002-.005-.003c-.012.004-.013.003-.014.002l-.005-.003-.003-.002-.007-.006q-.002 0-.003-.002l-.004-.002-.003-.004q-.004 0-.007-.002l-.005-.003-.005-.003-.003-.002-.005-.003-.003-.003-.007-.005-.004-.002-.004-.003-.004-.003-.004-.004-.005-.002q-.002-.003-.005-.004l-.004-.002-.004-.003-.003-.003-.007-.004-.003-.003-.005-.003-.003-.002-.005-.004-.003-.002-.007-.005-.003-.002-.005-.004-.003-.002-.007-.006h-.001l-.006-.004-.003-.002-.005-.004-.002-.002-.008-.005-.002-.002-.005-.004-.003-.002q-.003-.004-.007-.004l-.001-.002-.008-.006h-.002l-.006-.004-.002-.002-.008-.005-.002-.002-.006-.004-.002-.002-.008-.005-.008-.006-.002-.001-.007-.006h-.001l-.008-.006-.008-.005-.001-.002-.008-.005v-.001l-.008-.006h-.001l-.008-.006h-.001l-.017-.014h-.001l-.026-.018a4 4 0 0 1-.265-.183m-2.835-2.801-.798.603c.413.546.867 1.067 1.349 1.55l.062.062.703-.711-.017-.017-.005-.005v-.001l-.036-.035-.007-.007-.001-.002-.006-.006-.001-.001q-.004-.002-.007-.008l-.006-.006-.001-.002-.014-.014-.001-.001-.014-.016h-.001q-.645-.648-1.199-1.383m-1.952-3.479-.928.372q.072.178.147.355c.232.539.491 1.066.769 1.564l.873-.487a15 15 0 0 1-.38-.727l-.005-.01v-.002l-.024-.049-.004-.009-.001-.002-.004-.008-.001-.003-.004-.009-.001-.002-.004-.008-.019-.039-.001-.002-.004-.008-.001-.003-.003-.007-.001-.004-.003-.007-.001-.004q-.006 0-.007-.004v-.002l-.013-.026-.001-.003-.003-.008-.001-.004-.003-.005-.002-.005-.003-.007q-.004 0-.004-.003l-.003-.007-.002-.006-.003-.006-.002-.004-.006-.012-.002-.005-.003-.005-.002-.006-.002-.007-.002-.004-.002-.006-.002-.005-.003-.006-.002-.006-.002-.005-.003-.007-.002-.004q-.002-.007-.005-.009l-.002-.007-.003-.006-.002-.006-.002-.006-.002-.005-.002-.006-.002-.006q-.008.002-.008-.001l-.002-.006-.003-.006-.002-.005-.004-.009-.001-.002-.005-.012-.002-.003-.003-.008-.002-.004-.003-.007-.002-.005-.003-.008-.002-.004-.003-.005-.002-.006-.004-.006-.001-.003-.005-.011-.005-.012-.001-.003-.004-.008-.001-.004-.003-.008-.002-.004-.003-.008-.002-.004-.003-.007-.001-.004-.004-.009-.001-.002-.005-.013v-.002l-.004-.008-.001-.005-.003-.007-.002-.004-.003-.008-.002-.005-.003-.006-.002-.006-.003-.006-.002-.004-.004-.01v-.002l-.005-.011-.001-.004-.003-.007-.002-.005-.003-.007-.002-.005-.003-.007-.002-.004-.003-.008-.002-.004-.003-.008-.001-.003-.005-.012-.07-.166-.003-.01v-.002a1 1 0 0 1-.071-.149m-.94-3.873-.996.095c.068.712.188 1.423.355 2.111l.972-.234-.054-.233-.005-.021v-.001l-.005-.021v-.002l-.002-.01-.002-.011v-.001l-.002-.009v-.002l-.002-.01v-.002l-.002-.008v-.003l-.002-.009v-.001l-.002-.01v-.002l-.001-.008v-.004l-.002-.007v-.004l-.001-.008v-.003l-.002-.009v-.002l-.001-.008-.001-.004-.001-.007v-.003l-.002-.009v-.003l-.001-.007-.001-.004-.001-.008-.001-.004-.001-.006-.001-.004-.002-.009v-.004l-.001-.006v-.004l-.001-.006-.001-.006-.001-.006-.001-.005-.001-.005-.001-.005-.001-.008-.001-.006-.001-.004-.001-.005-.001-.007-.001-.006-.001-.004-.001-.007-.001-.004-.001-.008-.001-.004-.001-.006-.001-.004-.001-.006-.001-.007-.001-.006-.001-.004-.001-.005-.001-.005-.002-.009v-.004l-.001-.005-.001-.005-.001-.01-.001-.004-.001-.004-.001-.004-.001-.01-.001-.004-.001-.005v-.004l-.001-.006-.001-.005-.002-.008v-.004l-.001-.006-.001-.004-.001-.01-.001-.004-.001-.005v-.004l-.002-.01v-.003l-.001-.006-.001-.005-.001-.004v-.002l-.002-.012v-.004l-.001-.005-.001-.004-.001-.01v-.004l-.001-.006v-.004l-.002-.01v-.003l-.001-.006v-.003l-.003-.02v-.003l-.001-.006v-.003l-.002-.011v-.003l-.001-.006v-.004l-.001-.01v-.003l-.001-.006-.001-.004-.001-.006v-.002l-.001-.012-.001-.004-.001-.005v-.004l-.001-.009-.001-.004-.001-.007v-.004l-.001-.008v-.004l-.001-.006-.001-.004-.003-.019v-.004l-.001-.006v-.004l-.001-.009-.001-.004-.001-.006v-.004l-.001-.01v-.004l-.001-.005v-.004l-.003-.02v-.004l-.001-.006v-.002l-.001-.011v-.003l-.001-.006v-.003l-.002-.012v-.002l-.001-.006v-.004l-.002-.011v-.008l-.001-.004v-.01l-.001-.009-.001-.004v-.01l-.002-.01v-.01l-.001-.003-.001-.009-.001-.005v-.009l-.001-.007-.001-.004-.001-.008v-.005l-.001-.005v-.004l-.001-.009v-.006l-.001-.004v-.006l-.001-.005-.001-.007v-.01l-.001-.005-.001-.006-.001-.008v-.003l-.001-.006v-.005l-.001-.009v-.004l-.001-.006v-.004l-.001-.008-.001-.005v-.006l-.001-.004v-.01l-.001-.01v-.013l-.001-.009v-.011l-.001-.004-.001-.006v-.007l-.001-.005v-.01l-.001-.006-.001-.007v-.015l-.001-.009v-.015l-.001-.01v-.012l-.001-.006v-.003l-.001-.01v-.014l-.001-.01v-.013l-.001-.01v-.004l-.001-.006v-.013l-.001-.01v-.004l-.001-.006v-.004l-.001-.01v-.013l-.001-.012v-.011l-.001-.006v-.001l-.001-.013v-.004l-.001-.006v-.002l-.001-.013v-.011l-.001-.013v-.012l-.002-.02v-.009l-.001-.015v-.011l-.002-.021v-.002l-.002-.02v-.002l-.003-.03c-.074.02-.075.005-.076-.011m-.814-4.166c-.128.694-.208 1.41-.238 2.126l.999.042q.042-1.009.222-1.986zm1.358-4.04q-.202.408-.385.834c-.16.372-.306.754-.435 1.134l.947.32q.116-.343.251-.684l.004-.01.004-.01.008-.02v-.002l.003-.008v-.002l.008-.02v-.001l.003-.008.001-.003.003-.007.001-.002.008-.02.001-.002.003-.007.001-.003.003-.007.001-.002.004-.01v-.001l.003-.008.001-.003.003-.006.001-.003.003-.007.001-.002.004-.009.001-.003.003-.007.001-.003.002-.006.001-.004.003-.007.001-.002.004-.009.001-.003.002-.006.001-.003.002-.006.001-.003.004-.009.001-.002.003-.007.002-.004.002-.006.002-.004.002-.005.001-.004.004-.009.001-.002.003-.007.001-.004.002-.005.002-.004.002-.006.001-.003.004-.009.001-.003.002-.006.001-.003.003-.006.001-.003.004-.009.005-.012.001-.003.004-.009.001-.003.004-.009.001-.002.005-.011.017-.037q.155-.356.324-.698zm2.386-3.532a15 15 0 0 0-1.318 1.687l.83.558.003-.005.001-.002.003-.005.002-.002.007-.009.002-.003.002-.004.002-.003.003-.004.003-.005.004-.005.004-.006.002-.003.003-.005.001-.002.006-.008.001-.001.005-.008.001-.002.005-.007.001-.001.006-.008.006-.008v-.001a14 14 0 0 1 1.157-1.466zm3.289-2.724c-.611.376-1.197.794-1.74 1.243l.637.771.156-.127.001-.001.017-.014h.001l.004-.004.002-.002.015-.012.003-.002.004-.003.003-.002.006-.005.006-.005.003-.002.004-.003.003-.003.005-.004.004-.003.005-.005.003-.002.005-.003.003-.002.007-.006.002-.001.006-.005.002-.002.006-.005.001-.001.008-.006.001-.001.007-.005.001-.001.016-.012.001-.001.007-.005.001-.001.009-.007.008-.006.001-.001q.615-.477 1.29-.891zm3.888-1.73a15 15 0 0 0-1.76.631l-.244.108.408.913.003-.001.002-.001.006-.002.153-.067.003-.001.005-.002.005-.002.003-.001.009-.003.003-.001.007-.003.002-.001.009-.004h.001l.008-.004.002-.001.009-.004.01-.004.001-.001.01-.004h.001l.02-.008h.001q.354-.15.712-.281l.032-.011.021-.007h.001l.01-.003h.001l.02-.007.002-.001.009-.003h.001l.009-.003h.001l.009-.003.002-.001.009-.003.002-.001.007-.002.002-.001.008-.003.003-.001.008-.003.002-.001.007-.002.003-.001.008-.003.003-.001.006-.002.005-.001.006-.002.003-.001.007-.002.004-.001.005-.002.006-.002.005-.001.005-.002.006-.002.005-.002.003-.001.009-.003.003-.001.005-.001.003-.001.009-.003.003-.001.01-.003h.001l.006-.002h.001l.011-.003.002-.001.018-.006.012-.004h.001l.019-.006a18 18 0 0 1 .511-.159h.001l.01-.003h.002zm4.227-.594c-.718 0-1.436.049-2.132.146l.138.99a14 14 0 0 1 1.572-.131h.416v-1.005z" style="fill-rule:nonzero" transform="translate(68.667 129.367)scale(4.16667)"/><path d="M0-4.816q.992 0 1.695.704.706.703.705 1.696 0 .992-.705 1.704A2.3 2.3 0 0 1 0 0a2.3 2.3 0 0 1-1.696-.712A2.34 2.34 0 0 1-2.4-2.416q0-.993.704-1.696A2.3 2.3 0 0 1 0-4.816" style="fill-rule:nonzero" transform="translate(66.667 38.242)scale(4.16667)"/><path d="M0-14.603q0-.463 2.64-.768 2.64-.304 5.28-.384l2.641-.064q10.56.175 10.561 1.216 0 .465-1.793 1.024a31 31 0 0 1-3.584.896l-1.775.32.943 4.896q1.456 8.239.752 8.512-.272.111-.904-.703-.631-.817-1.328-2.057a97 97 0 0 1-1.352-2.496 81 81 0 0 1-1.088-2.152l-.432-.896-1.536 3.088Q6.193 1.301 5.473 1.044 5.2.821 5.265-.499q.063-1.322.368-3.344.305-2.024.648-3.912t.616-3.249l.272-1.36Q0-13.564 0-14.603" style="fill-rule:nonzero" transform="translate(22.663 110.754)scale(4.16667)"/></svg>'; // WordPress expects a base64 encoded data URI for SVG icons return 'data:image/svg+xml;base64,' . base64_encode( $svg ); } }