Permalink Manager Lite - Version 2.2.14

Version Description

(October 20, 2021) = * Enhancement - Improvements for Gutenberg Editor * Dev - Tippy.js (by atomiks) updated to version 6.3.2 * Fix - From now on, the user role selected in URI Editor role capability is respected in Quick Edit box hooks (reported by @lozeone) * Dev - Further security improvements inside WP-Admin dashboard (reported by Vlad Vector)

Download this release

Release Info

Developer mbis
Plugin Icon 128x128 Permalink Manager Lite
Version 2.2.14
Comparing to
See all releases

Code changes from version 2.2.12 to 2.2.14

README.txt CHANGED
@@ -6,48 +6,41 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html
6
  Tags: permalinks, custom permalinks, url editor, permalinks, woocommerce permalinks
7
  Requires at least: 4.4.0
8
  Requires PHP: 5.4
9
- Tested up to: 5.8
10
- Stable tag: 2.2.12
11
 
12
- Permalink Manager allows to easily change full URL addresses of posts, pages, custom post types, terms and WooCommerce links. You can also set different permalink formats per language or bulk change the URLs.
13
 
14
  == Description ==
 
 
15
 
16
- Permalink Manager is a most advanced and highly rated Wordpress permalink editor that helps Wordpress users to control the URL addresses of all posts, pages, custom post type elements (taxonomies are supported in Pro version). To avoid 404 or duplicated content errors after the new custom permalink is defined, the visitors trying to access the old permalink will be automatically redirected to the new custom URL.
17
 
18
- The plugin supports all custom post types & custom taxonomies and popular 3rd party plugins including WooCommerce, Yoast SEO, WPML, and Polylang. To improve SEO performance even more, the plugin settings provide a possibility to disable the canonical redirect (used natively by Wordpress) and control the trailing slashes settings.
19
 
20
- <a href="https://permalinkmanager.pro/docs/?utm_source=wordpressorg">Documentation</a> | <a href="https://permalinkmanager.pro/buy-permalink-manager-pro/?utm_source=wordpressorg">Permalink Manager Pro</a>
21
 
22
- = All features =
23
 
24
- * **Edit full permalinks**<br/>A completely custom permalink can be set for each post, page and public custom post type individually *(categories, tags & custom taxonomies terms permalinks can be edited in Permalink Manager Pro)*
25
- * **Custom post types support**<br/>It is also possible to exclude specific post types & taxonomies to stop Permalink Manager from filtering their permalinks.
26
- * **Custom permastructures**<br/>The plugin allows to specify how the custom permalinks should be formatted by default (when the new post/term is added or after the permalinks are regenerated)
27
- * **Translate permalinks**<br/>Permalink Manager allows to translate and set different permalink format/structure per language when WPML or Polylang plugin is enabled.
28
- * **Auto-redirect**<br/>Old (native) permalinks are redirected to new (custom) permalinks (in 301 or 302 mode) to prevent 404 error (SEO friendly).
29
- * **Canonical redirects**<br/>Possibility to disable native canonical redirects.
30
- * **Bulk editors**<br/>"Regenerate/Reset" + "Find and replace" tools that allow to bulk/mass change the permalinks (or native slugs).
31
- * **Trailing slashes settings**<br/>They can be forced or removed from all permalinks.
32
-
33
- = Need additional features & priority support? =
34
- Buy <a href="https://permalinkmanager.pro?utm_source=wordpress">Permalink Manager Pro here</a>.
35
-
36
- https://www.youtube.com/watch?v=KMOtAK5c7t8
37
 
38
  = Additional features available in Permalink Manager Pro =
39
 
40
- * **Taxonomies**<br/>Full support for taxonomies (categories, tags & custom taxonomies).
41
- * **WooCommerce**<br/>Full support for WooCommerce (products, product tags, product categories). Permalink Manager allows to remove /product-category and /product from WooCommerce permalinks.
42
- * **WooCommerce coupon URLs**<br/>Coupon codes may have their public URLs (eg. http://shop.com/BLACKFRIDAY) that will automatically apply the discount to the cart.
43
- * **Custom fields**<br/>Custom fields can be used inside permalinks (compatible with Advanced Custom Fields).
44
- * **Extra internal redirects**<br/>Multiple URLs can lead to a single post/term (they could be defined individually for each element).
45
- * **External URL redirect**<br/>Posts/terms can redirect the visitors to external websites (the URLs could be defined individually for each element).
46
- * **"Stop-words"**<br/>User-defined words can be automatically removed from default permalinks.
47
- * **Custom Permalinks**<br/>Import custom permalinks saved with that plugin.
48
- * **Priority support**<br/>All the support requests from Permalink Manager Pro users are handled in the first place.
49
 
50
- Buy <a href="https://permalinkmanager.pro?utm_source=wordpress">Permalink Manager Pro here</a>.
 
 
 
 
 
51
 
52
  = Translators =
53
  * Japanese - Shinsaku Ikeda
@@ -70,25 +63,22 @@ To display the URI editor metabox click on gray "Permalink Editor" button displa
70
 
71
  == Frequently Asked Questions ==
72
 
73
- = Can I define different permalink formats per each language.
74
- Yes, it is possible if you are using either WPML or Polylang. You can find <a href="https://permalinkmanager.pro/docs/tutorials/how-to-translate-permalinks/">the full instructions here</a>.
75
-
76
  = Can I use Permalink Manager to change the terms permalinks (eg. post or product categories)?
77
  This feature is available only in Permalink Manager Pro.
78
 
 
 
 
79
  = Will the old permalink automatically redirect the new custom ones?
80
  Yes, Permalink Manager will automatically redirect the native permalinks (used when the plugin is disabled or before it was activated) to the actual, custom permalinks.
81
 
82
- = Can I add custom fields to the permalinks?
83
- This feature is available in paid version of plugin. Please go <a href="https://permalinkmanager.pro/docs/tutorials/how-to-use-custom-fields-inside-wordpress-permalinks/">here for more details</a>.
84
-
85
  = Does this plugin support Buddypress?
86
  Currently there is no 100% guarantee that Permalink Manager will work correctly with Buddypress.
87
 
88
  = Can I delete/disable Permalink Manager after the permalinks are updated? =
89
  Yes, if you used Permalink Manager only to regenerate the slugs (native post names). Please note that if you use custom permalinks (that differ from the native ones), they will no longer be used after the plugin is disabled.
90
 
91
- It is because Permalink Manager overwrites one of the core Wordpress functionalities to bypass the rewrite rules ("regular expressions" to detect the posts/pages/taxonomies/etc. and another parameters from the URL) by using the array of custom permalinks (you can check them in "Debug" tab) that are used only by my plugin.
92
 
93
  == Screenshots ==
94
 
@@ -103,10 +93,23 @@ It is because Permalink Manager overwrites one of the core Wordpress functionali
103
 
104
  == Changelog ==
105
 
106
- = 2.2.12 (June 29, 2021) =
 
 
 
 
 
 
 
 
 
 
 
 
107
  * Dev - New filters added - 'permalink_manager_excluded_post_ids' & 'permalink_manager_excluded_term_ids'
108
  * Dev - Additional minor changes in the codebase
109
  * Fix - Canonical permalinks for blog pagination is now correctly filtered (if Yoast SEO is used)
 
110
 
111
  = 2.2.11 (June 24, 2021) =
112
  * Fix - The function that automatically removes the broken URIs is no longer triggered when WP Rocket is turned on and non-logged-in user tries to access the broken URL.
6
  Tags: permalinks, custom permalinks, url editor, permalinks, woocommerce permalinks
7
  Requires at least: 4.4.0
8
  Requires PHP: 5.4
9
+ Tested up to: 5.8.3
10
+ Stable tag: 2.2.14
11
 
12
+ Permalink Manager lets you customize the complete URL addresses of your posts, pages, custom post types, terms, and WooCommerce links with ease without touching any core files.
13
 
14
  == Description ==
15
+
16
+ Permalink Manager is a highly rated WordPress permalink editor that allows users to customize post, page, and custom post type URLs (taxonomies are supported in Pro version).
17
 
18
+ If you want your website to be optimized for search engines, you must give careful consideration to the structure of your URLs. When you use Permalink Manager, it is a piece of cake as **you have complete control over your WordPress permalinks!**
19
 
20
+ The plugin works with all custom post types and taxonomies, as well as many popular third-party plugins like as WooCommerce, Yoast SEO, WPML, and Polylang. To improve user experience and eliminate 404 or duplicated content errors, the original permalinks will automatically redirect your visitors to the new customized URL. What is more, using the plugin options you can modify the redirect and trailing slashes functions, which further improves SEO performance.
21
 
22
+ <a href="https://permalinkmanager.pro/docs/?utm_source=wordpressorg">Documentation</a> | <a href="https://permalinkmanager.pro/buy-permalink-manager-pro/?utm_source=wordpressorg">Buy Permalink Manager Pro</a>
23
 
24
+ = Features =
25
 
26
+ * **Edit the individual permalinks as you choose!**<br/>Every post, page, and public custom post type on your site may have its permalink customized to your liking. *Categories, tags & custom taxonomies terms permalinks can be edited in Permalink Manager Pro.*
27
+ * **Edit URLs in bulk using permalink formats**<br/>In order to speed up the process of bulk URL modification, the plugin allows you to choose the default format for custom URLs using "Permastructures" settings. The new format will be applied automatically when a new post/term is added or once the old permalinks are regenerated.
28
+ * **Custom post types support**<br/>The plugin may be configured to process and filter just specified post types and taxonomies, ignoring the rest of your content if necessary. You may easily remove post type rewrite (base) slugs from your WordPress permalinks, for example.
29
+ * **Translate permalinks & slugs**<br/>If you have the WPML or Polylang plugins installed on your website, Permalink Manager allows you to translate the slug and specify different permalink format/structure for each language.
30
+ * **Remove parent slugs**<br/>Looking for a simple solution to shorten lengthy, hierarchical URL addresses? The plugin may be used to <a href="https://permalinkmanager.pro/docs/tutorials/remove-parent-slugs-from-wordpress-permalinks/">remove parent slugs from WordPress permalinks</a>.
31
+ * **Add category slug to post permalinks**<br/>Do you want to <a href="https://permalinkmanager.pro/docs/tutorials/add-category-slug-wordpress-permalinks/">add category slugs in your post permalinks</a>? Permalink Manager may be the most convenient way to create a silo structure for your URL addresses.
32
+ * **Auto-redirect old URLs**<br/>An old (original) URL is automatically forwarded to an updated URL to avoid the 404 error and to improve the user experience.
 
 
 
 
 
 
33
 
34
  = Additional features available in Permalink Manager Pro =
35
 
36
+ The free version covers all of the necessary functions, while the premium version adds a few handy functionalities that can improve the process of updating WordPress permalinks. Click here for additional information and to purchase <a href="https://permalinkmanager.pro?utm_source=wordpress">Permalink Manager Pro</a>.
 
 
 
 
 
 
 
 
37
 
38
+ * **Taxonomies support**<br/>Taxonomies are fully supported in the premium version (categories, tags & custom taxonomies). You may adjust individual term permalinks or change them all at once using "Permastructures".
39
+ * **WooCommerce support**<br/>Permalink Manager Pro may be used to change the URL addresses of WooCommerce products, tags, categories, and attributes. For example, you may use the plugin to <a href="https://permalinkmanager.pro/docs/tutorials/woocommerce-permalinks-manager/">remove the /product-category and /product from WooCommerce permalinks</a>.
40
+ * **Custom fields support**<br/>Only Permalink Manager makes it possible to <a href="https://permalinkmanager.pro/docs/tutorials/how-to-use-custom-fields-inside-wordpress-permalinks/">add custom fields to WordPress permalinks</a> without the need for any technical skills on the part of the user.
41
+ * **Extra redirects**<br/>You can define extra 301 redirects (aliases) for any post, page, or term. Additionally, you may assign a redirect URL to each post/term, which will take users to any external URL address. For each element, the redirect URLs might be specified separately.
42
+
43
+ https://www.youtube.com/watch?v=KMOtAK5c7t8
44
 
45
  = Translators =
46
  * Japanese - Shinsaku Ikeda
63
 
64
  == Frequently Asked Questions ==
65
 
 
 
 
66
  = Can I use Permalink Manager to change the terms permalinks (eg. post or product categories)?
67
  This feature is available only in Permalink Manager Pro.
68
 
69
+ = Can I define different permalink formats per each language.
70
+ Yes, it is possible if you are using either WPML or Polylang. You can find <a href="https://permalinkmanager.pro/docs/tutorials/how-to-translate-permalinks/">the full instructions here</a>.
71
+
72
  = Will the old permalink automatically redirect the new custom ones?
73
  Yes, Permalink Manager will automatically redirect the native permalinks (used when the plugin is disabled or before it was activated) to the actual, custom permalinks.
74
 
 
 
 
75
  = Does this plugin support Buddypress?
76
  Currently there is no 100% guarantee that Permalink Manager will work correctly with Buddypress.
77
 
78
  = Can I delete/disable Permalink Manager after the permalinks are updated? =
79
  Yes, if you used Permalink Manager only to regenerate the slugs (native post names). Please note that if you use custom permalinks (that differ from the native ones), they will no longer be used after the plugin is disabled.
80
 
81
+ It is because Permalink Manager overwrites one of the core Wordpress functionalities to bypass the rewrite rules ("regular expressions" to detect the posts/pages/taxonomies/etc. and another parameters from the URL) by using the array of custom permalinks (you can check them in "Debug" tab) that are used only by the plugin.
82
 
83
  == Screenshots ==
84
 
93
 
94
  == Changelog ==
95
 
96
+ = 2.2.14 (October 20, 2021) =
97
+ * Enhancement - Improvements for Gutenberg Editor
98
+ * Dev - Tippy.js (by atomiks) updated to version 6.3.2
99
+ * Fix - From now on, the user role selected in “URI Editor role capability” is respected in “Quick Edit” box hooks (reported by @lozeone)
100
+ * Dev - Further security improvements inside WP-Admin dashboard (reported by Vlad Vector)
101
+
102
+ = 2.2.13.1 (September 20, 2021) =
103
+ * Dev - Minor security improvements inside WP-Admin dashboard
104
+ * Fix - Allow canonical redirect for default language if "Hide URL language information for default language" is turned on in Polylang settings
105
+ * Enhancement - New settings field - "Primary category support"
106
+ * Enhancement - "Force 404 on non-existing pagination pages" works now with archive pages
107
+
108
+ = 2.2.12 (August 17, 2021) =
109
  * Dev - New filters added - 'permalink_manager_excluded_post_ids' & 'permalink_manager_excluded_term_ids'
110
  * Dev - Additional minor changes in the codebase
111
  * Fix - Canonical permalinks for blog pagination is now correctly filtered (if Yoast SEO is used)
112
+ * Fix - Better support for 'private' posts & pages
113
 
114
  = 2.2.11 (June 24, 2021) =
115
  * Fix - The function that automatically removes the broken URIs is no longer triggered when WP Rocket is turned on and non-logged-in user tries to access the broken URL.
includes/core/permalink-manager-actions.php CHANGED
@@ -239,10 +239,6 @@ class Permalink_Manager_Actions extends Permalink_Manager_Class {
239
 
240
  // Reload URI Editor & clean post cache
241
  clean_post_cache($element_id);
242
- $element = get_post($element_id);
243
- $html = Permalink_Manager_Admin_Functions::display_uri_box($element, true);
244
-
245
- echo $html;
246
  die();
247
  }
248
  }
239
 
240
  // Reload URI Editor & clean post cache
241
  clean_post_cache($element_id);
 
 
 
 
242
  die();
243
  }
244
  }
includes/core/permalink-manager-admin-functions.php CHANGED
@@ -71,9 +71,9 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
71
  // 1. Get current section
72
  if(isset($_GET['page']) && $_GET['page'] == PERMALINK_MANAGER_PLUGIN_SLUG) {
73
  if(isset($_POST['section'])) {
74
- $this->active_section = $_POST['section'];
75
  } else if(isset($_GET['section'])) {
76
- $this->active_section = $_GET['section'];
77
  } else {
78
  $sections_names = array_keys($this->sections);
79
  $this->active_section = $sections_names[0];
@@ -83,9 +83,9 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
83
  // 2. Get current subsection
84
  if($this->active_section && isset($this->sections[$this->active_section]['subsections'])) {
85
  if(isset($_POST['subsection'])) {
86
- $this->active_subsection = $_POST['subsection'];
87
  } else if(isset($_GET['subsection'])) {
88
- $this->active_subsection = $_GET['subsection'];
89
  } else {
90
  $subsections_names = array_keys($this->sections[$this->active_section]['subsections']);
91
  $this->active_subsection = $subsections_names[0];
@@ -764,10 +764,26 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
764
  }
765
  }
766
 
 
 
 
 
 
 
 
 
 
 
 
767
  /**
768
  * "Quick Edit" Box
769
  */
770
  public static function quick_edit_column_form($is_taxonomy = false) {
 
 
 
 
 
771
  $html = self::generate_option_field('permalink-manager-quick-edit', array('value' => true, 'type' => 'hidden'));
772
  $html .= "<fieldset class=\"inline-edit-permalink\">";
773
  $html .= sprintf("<legend class=\"inline-edit-legend\">%s</legend>", __("Permalink Manager", "permalink-manager"));
@@ -803,8 +819,7 @@ class Permalink_Manager_Admin_Functions extends Permalink_Manager_Class {
803
  global $permalink_manager_options, $permalink_manager_uris;
804
 
805
  // Check the user capabilities
806
- $edit_uris_cap = (!empty($permalink_manager_options['general']['edit_uris_cap'])) ? $permalink_manager_options['general']['edit_uris_cap'] : 'publish_posts';
807
- if(!current_user_can($edit_uris_cap)) {
808
  return;
809
  }
810
 
71
  // 1. Get current section
72
  if(isset($_GET['page']) && $_GET['page'] == PERMALINK_MANAGER_PLUGIN_SLUG) {
73
  if(isset($_POST['section'])) {
74
+ $this->active_section = sanitize_title_with_dashes($_POST['section']);
75
  } else if(isset($_GET['section'])) {
76
+ $this->active_section = sanitize_title_with_dashes($_GET['section']);
77
  } else {
78
  $sections_names = array_keys($this->sections);
79
  $this->active_section = $sections_names[0];
83
  // 2. Get current subsection
84
  if($this->active_section && isset($this->sections[$this->active_section]['subsections'])) {
85
  if(isset($_POST['subsection'])) {
86
+ $this->active_subsection = sanitize_title_with_dashes($_POST['subsection']);
87
  } else if(isset($_GET['subsection'])) {
88
+ $this->active_subsection = sanitize_title_with_dashes($_GET['subsection']);
89
  } else {
90
  $subsections_names = array_keys($this->sections[$this->active_section]['subsections']);
91
  $this->active_subsection = $subsections_names[0];
764
  }
765
  }
766
 
767
+ /**
768
+ * Check if URI Editors should be displayed for current user
769
+ */
770
+ public static function current_user_can_edit_uris() {
771
+ global $permalink_manager_options;
772
+
773
+ $edit_uris_cap = (!empty($permalink_manager_options['general']['edit_uris_cap'])) ? $permalink_manager_options['general']['edit_uris_cap'] : 'publish_posts';
774
+
775
+ return current_user_can($edit_uris_cap);
776
+ }
777
+
778
  /**
779
  * "Quick Edit" Box
780
  */
781
  public static function quick_edit_column_form($is_taxonomy = false) {
782
+ // Check the user capabilities
783
+ if(self::current_user_can_edit_uris() === false) {
784
+ return;
785
+ }
786
+
787
  $html = self::generate_option_field('permalink-manager-quick-edit', array('value' => true, 'type' => 'hidden'));
788
  $html .= "<fieldset class=\"inline-edit-permalink\">";
789
  $html .= sprintf("<legend class=\"inline-edit-legend\">%s</legend>", __("Permalink Manager", "permalink-manager"));
819
  global $permalink_manager_options, $permalink_manager_uris;
820
 
821
  // Check the user capabilities
822
+ if(self::current_user_can_edit_uris() === false) {
 
823
  return;
824
  }
825
 
includes/core/permalink-manager-core-functions.php CHANGED
@@ -155,15 +155,17 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
155
  }
156
 
157
  // Exclude draft posts
158
- /*$exclude_drafts = apply_filters('permalink_manager_exclude_drafts', false);
159
- if($exclude_drafts !== false) {
 
 
160
  $post_ids = $wpdb->get_col("SELECT DISTINCT ID FROM {$wpdb->posts} AS p WHERE p.post_status = 'draft' ORDER BY ID DESC");
161
  if(!empty($post_ids)) {
162
  foreach($post_ids as $post_id) {
163
  unset($permalink_manager_uris[$post_id]);
164
  }
165
  }
166
- }*/
167
 
168
  // Flip array for better performance
169
  $all_uris = array_flip($all_uris);
@@ -298,8 +300,11 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
298
  }
299
  }
300
 
301
- // Alter query parameters + support drafts URLs
302
- if($post_to_load->post_status == 'draft' || empty($final_uri)) {
 
 
 
303
  if(is_user_logged_in()) {
304
  if($post_type == 'page') {
305
  $query['page_id'] = $element_id;
@@ -495,13 +500,14 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
495
  $post = get_queried_object();
496
 
497
  // 2. Check if post object is defined
498
- if(!empty($post->post_type) && !empty($post->post_content)) {
499
  // 2A. Check if pagination is detected
500
  $current_page = (!empty($wp_query->query_vars['page'])) ? $wp_query->query_vars['page'] : 1;
501
  $current_page = (empty($wp_query->query_vars['page']) && !empty($wp_query->query_vars['paged'])) ? $wp_query->query_vars['paged'] : $current_page;
502
 
503
  // 2B. Count post pages
504
- $num_pages = (is_home() || is_archive()) ? $wp_query->max_num_pages : substr_count(strtolower($post->post_content), '<!--nextpage-->') + 1;
 
505
 
506
  $is_404 = ($current_page > 1 && ($current_page > $num_pages)) ? true : false;
507
  }
@@ -516,15 +522,11 @@ class Permalink_Manager_Core_Functions extends Permalink_Manager_Class {
516
 
517
  // 5. Block non-existent pages (Force 404 error)
518
  if(!empty($is_404)) {
519
- $wp_query->is_404 = true;
520
  $wp_query->query = $wp_query->queried_object = $wp_query->queried_object_id = null;
521
  $wp_query->set_404();
522
-
523
  status_header(404);
524
  nocache_headers();
525
- include(get_query_template('404'));
526
-
527
- die();
528
  }
529
  }
530
 
155
  }
156
 
157
  // Exclude draft posts
158
+ $exclude_drafts = (isset($permalink_manager_options['general']['ignore_drafts'])) ? $permalink_manager_options['general']['ignore_drafts'] : false;
159
+ $exclude_drafts = apply_filters('permalink_manager_exclude_drafts', $exclude_drafts);
160
+
161
+ if($exclude_drafts) {
162
  $post_ids = $wpdb->get_col("SELECT DISTINCT ID FROM {$wpdb->posts} AS p WHERE p.post_status = 'draft' ORDER BY ID DESC");
163
  if(!empty($post_ids)) {
164
  foreach($post_ids as $post_id) {
165
  unset($permalink_manager_uris[$post_id]);
166
  }
167
  }
168
+ }
169
 
170
  // Flip array for better performance
171
  $all_uris = array_flip($all_uris);
300
  }
301
  }
302
 
303
+ // Alter the final query array
304
+ if($post_to_load->post_status == 'private' && (!is_user_logged_in() || current_user_can('read_private_posts', $element_id) !== true)) {
305
+ $element_id = null;
306
+ $query = $old_query;
307
+ } else if($post_to_load->post_status == 'draft' || empty($final_uri)) {
308
  if(is_user_logged_in()) {
309
  if($post_type == 'page') {
310
  $query['page_id'] = $element_id;
500
  $post = get_queried_object();
501
 
502
  // 2. Check if post object is defined
503
+ if((!empty($post->post_type) && !empty($post->post_content)) || (!empty($wp_query->max_num_pages))) {
504
  // 2A. Check if pagination is detected
505
  $current_page = (!empty($wp_query->query_vars['page'])) ? $wp_query->query_vars['page'] : 1;
506
  $current_page = (empty($wp_query->query_vars['page']) && !empty($wp_query->query_vars['paged'])) ? $wp_query->query_vars['paged'] : $current_page;
507
 
508
  // 2B. Count post pages
509
+ $post_content = (!empty($post->post_content)) ? $post->post_content : '';
510
+ $num_pages = (is_home() || is_archive()) ? $wp_query->max_num_pages : substr_count(strtolower($post_content), '<!--nextpage-->') + 1;
511
 
512
  $is_404 = ($current_page > 1 && ($current_page > $num_pages)) ? true : false;
513
  }
522
 
523
  // 5. Block non-existent pages (Force 404 error)
524
  if(!empty($is_404)) {
 
525
  $wp_query->query = $wp_query->queried_object = $wp_query->queried_object_id = null;
526
  $wp_query->set_404();
 
527
  status_header(404);
528
  nocache_headers();
529
+ $pm_query = '';
 
 
530
  }
531
  }
532
 
includes/core/permalink-manager-gutenberg.php CHANGED
@@ -8,8 +8,8 @@ class Permalink_Manager_Gutenberg extends Permalink_Manager_Class {
8
  public function __construct() {
9
  add_action('enqueue_block_editor_assets', array($this, 'init'));
10
 
11
- // add_action('wp_ajax_pm_get_uri_editor', array($this, 'get_uri_editor'));
12
- // add_action('wp_ajax_nopriv_pm_get_uri_editor', array($this, 'get_uri_editor'));
13
  }
14
 
15
  public function init() {
@@ -37,12 +37,16 @@ class Permalink_Manager_Gutenberg extends Permalink_Manager_Class {
37
  public function get_uri_editor($post = null) {
38
  if(empty($post->ID) && empty($_REQUEST['post_id'])) {
39
  return '';
40
- } else if(!empty($_REQUEST['post_id'])) {
41
  $post = get_post($_REQUEST['post_id']);
42
  }
43
 
44
  // Display URI Editor
45
- echo Permalink_Manager_Admin_Functions::display_uri_box($post, true);
 
 
 
 
46
  }
47
 
48
  }
8
  public function __construct() {
9
  add_action('enqueue_block_editor_assets', array($this, 'init'));
10
 
11
+ add_action('wp_ajax_pm_get_uri_editor', array($this, 'get_uri_editor'));
12
+ add_action('wp_ajax_nopriv_pm_get_uri_editor', array($this, 'get_uri_editor'));
13
  }
14
 
15
  public function init() {
37
  public function get_uri_editor($post = null) {
38
  if(empty($post->ID) && empty($_REQUEST['post_id'])) {
39
  return '';
40
+ } else if(!empty($_REQUEST['post_id']) && is_numeric($_REQUEST['post_id'])) {
41
  $post = get_post($_REQUEST['post_id']);
42
  }
43
 
44
  // Display URI Editor
45
+ echo ($post) ? Permalink_Manager_Admin_Functions::display_uri_box($post, true) : '';
46
+
47
+ if(wp_doing_ajax()) {
48
+ die();
49
+ }
50
  }
51
 
52
  }
includes/core/permalink-manager-helper-functions.php CHANGED
@@ -45,7 +45,8 @@ class Permalink_Manager_Helper_Functions extends Permalink_Manager_Class {
45
  static function get_primary_term($post_id, $taxonomy, $slug_only = true) {
46
  global $permalink_manager_options;
47
 
48
- $primary_term_enabled = apply_filters('permalink_manager_primary_term', true);
 
49
 
50
  if(!$primary_term_enabled) { return; }
51
 
45
  static function get_primary_term($post_id, $taxonomy, $slug_only = true) {
46
  global $permalink_manager_options;
47
 
48
+ $primary_term_enabled = (isset($permalink_manager_options['general']['primary_category'])) ? (bool) $permalink_manager_options['general']['primary_category'] : true;
49
+ $primary_term_enabled = apply_filters('permalink_manager_primary_term', $primary_term_enabled);
50
 
51
  if(!$primary_term_enabled) { return; }
52
 
includes/core/permalink-manager-language-plugins.php CHANGED
@@ -93,6 +93,11 @@ class Permalink_Manager_Language_Plugins extends Permalink_Manager_Class {
93
  }
94
 
95
  add_action('icl_make_duplicate', array($this, 'wpml_duplicate_uri'), 999, 4);
 
 
 
 
 
96
  }
97
  }
98
 
@@ -503,10 +508,12 @@ class Permalink_Manager_Language_Plugins extends Permalink_Manager_Class {
503
  global $permalink_manager_uris;
504
 
505
  // Get the default custom permalink based on a permastructure set with Permalink Manager
506
- $permalink_manager_uris[$post_id] = Permalink_Manager_URI_Functions_Post::get_default_post_uri($post_id);
 
507
 
508
- // Save the update
509
- update_option('permalink-manager-uris', $permalink_manager_uris);
 
510
  }
511
 
512
  /**
@@ -585,4 +592,22 @@ class Permalink_Manager_Language_Plugins extends Permalink_Manager_Class {
585
  update_option('permalink-manager-uris', $permalink_manager_uris);
586
  }
587
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
588
  }
93
  }
94
 
95
  add_action('icl_make_duplicate', array($this, 'wpml_duplicate_uri'), 999, 4);
96
+
97
+ // Allow canonical redirect for default language if "Hide URL language information for default language" is turned on in Polylang settings
98
+ if(!empty($polylang) && !empty($polylang->links_model) && !empty($polylang->links_model->options['hide_default'])) {
99
+ add_filter('permalink_manager_filter_query', array($this, 'pl_allow_canonical_redirect'), 3, 5);
100
+ }
101
  }
102
  }
103
 
508
  global $permalink_manager_uris;
509
 
510
  // Get the default custom permalink based on a permastructure set with Permalink Manager
511
+ if(empty($permalink_manager_uris[$post_id])) {
512
+ $permalink_manager_uris[$post_id] = Permalink_Manager_URI_Functions_Post::get_default_post_uri($post_id);
513
 
514
+ // Save the update
515
+ update_option('permalink-manager-uris', $permalink_manager_uris);
516
+ }
517
  }
518
 
519
  /**
592
  update_option('permalink-manager-uris', $permalink_manager_uris);
593
  }
594
 
595
+ function pl_allow_canonical_redirect($query, $old_query, $uri_parts, $pm_query, $content_type) {
596
+ global $polylang;
597
+
598
+ // Run only if "Hide URL language information for default language" is turned on in Polylang settings
599
+ if(!empty($pm_query['id']) && !empty($pm_query['lang'])) {
600
+ $url_lang = $polylang->links_model->get_language_from_url();
601
+ $def_lang = pll_default_language('slug');
602
+
603
+ // Check if the slug of default language is present in the requested URL
604
+ if($url_lang == $def_lang) {
605
+ // Allow canonical redirect
606
+ unset($query['do_not_redirect']);
607
+ }
608
+ }
609
+
610
+ return $query;
611
+ }
612
+
613
  }
includes/core/permalink-manager-uri-functions-post.php CHANGED
@@ -597,7 +597,7 @@ class Permalink_Manager_URI_Functions_Post extends Permalink_Manager_Class {
597
  $old_uri = isset($old_uris[$id]) ? trim($old_uris[$id], "/") : "";
598
 
599
  // Process new values - empty entries will be treated as default values
600
- $new_uri = preg_replace('/\s+/', '', $new_uri);
601
  $new_uri = (!empty($new_uri)) ? trim($new_uri, "/") : $default_uri;
602
  $new_slug = (strpos($new_uri, '/') !== false) ? substr($new_uri, strrpos($new_uri, '/') + 1) : $new_uri;
603
 
597
  $old_uri = isset($old_uris[$id]) ? trim($old_uris[$id], "/") : "";
598
 
599
  // Process new values - empty entries will be treated as default values
600
+ $new_uri = Permalink_Manager_Helper_Functions::sanitize_title($new_uri);
601
  $new_uri = (!empty($new_uri)) ? trim($new_uri, "/") : $default_uri;
602
  $new_slug = (strpos($new_uri, '/') !== false) ? substr($new_uri, strrpos($new_uri, '/') + 1) : $new_uri;
603
 
includes/views/permalink-manager-settings.php CHANGED
@@ -201,7 +201,13 @@ class Permalink_Manager_Settings extends Permalink_Manager_Class {
201
  'label' => __('Breadcrumbs support', 'permalink-manager'),
202
  'input_class' => '',
203
  'description' => __('If enabled, the HTML breadcrumbs will be filtered by Permalink Manager to mimic the current URL structure.<br />Works with: <strong>WooCommerce, Yoast SEO, Slim Seo, RankMath and SEOPress</strong> breadcrumbs.', 'permalink-manager')
204
- )
 
 
 
 
 
 
205
  )
206
  ),
207
  'advanced' => array(
201
  'label' => __('Breadcrumbs support', 'permalink-manager'),
202
  'input_class' => '',
203
  'description' => __('If enabled, the HTML breadcrumbs will be filtered by Permalink Manager to mimic the current URL structure.<br />Works with: <strong>WooCommerce, Yoast SEO, Slim Seo, RankMath and SEOPress</strong> breadcrumbs.', 'permalink-manager')
204
+ ),
205
+ 'primary_category' => array(
206
+ 'type' => 'single_checkbox',
207
+ 'label' => __('"Primary category" support', 'permalink-manager'),
208
+ 'input_class' => '',
209
+ 'description' => __('If enabled, Permalink Manager will use the "primary category" for the default post permalinks.<br />Works with: <strong>Yoast SEO, The SEO Framework, RankMath and SEOPress</strong>.', 'permalink-manager')
210
+ ),
211
  )
212
  ),
213
  'advanced' => array(
includes/views/permalink-manager-uri-editor-post.php CHANGED
@@ -133,8 +133,8 @@ class Permalink_Manager_URI_Editor_Post extends WP_List_Table {
133
  */
134
  private function sort_data($a, $b) {
135
  // Set defaults
136
- $orderby = (!empty($_GET['orderby'])) ? $_GET['orderby'] : 'post_title';
137
- $order = (!empty($_GET['order'])) ? $_GET['order'] : 'asc';
138
  $result = strnatcasecmp( $a[$orderby], $b[$orderby] );
139
 
140
  return ($order === 'asc') ? $result : -$result;
@@ -193,7 +193,7 @@ class Permalink_Manager_URI_Editor_Post extends WP_List_Table {
193
  * Search box
194
  */
195
  public function search_box($text = '', $input_id = '') {
196
- $search_query = (!empty($_REQUEST['s'])) ? esc_attr(wp_unslash($_REQUEST['s'])) : "";
197
 
198
  $output = "<p class=\"search-box\">";
199
  $output .= "<label class=\"screen-reader-text\" for=\"{$input_id}\">{$text}:</label>";
@@ -219,8 +219,8 @@ class Permalink_Manager_URI_Editor_Post extends WP_List_Table {
219
  $per_page = $permalink_manager_options['screen-options']['per_page'];
220
 
221
  // SQL query parameters
222
- $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('asc', 'desc'))) ? $_REQUEST['order'] : 'desc';
223
- $orderby = (isset($_REQUEST['orderby'])) ? $_REQUEST['orderby'] : 'ID';
224
  $offset = ($current_page - 1) * $per_page;
225
  $search_query = (!empty($_REQUEST['s'])) ? esc_sql($_REQUEST['s']) : "";
226
 
133
  */
134
  private function sort_data($a, $b) {
135
  // Set defaults
136
+ $orderby = (!empty($_GET['orderby'])) ? sanitize_sql_orderby($_GET['orderby']) : 'post_title';
137
+ $order = (!empty($_GET['order'])) ? sanitize_sql_orderby($_GET['order']) : 'asc';
138
  $result = strnatcasecmp( $a[$orderby], $b[$orderby] );
139
 
140
  return ($order === 'asc') ? $result : -$result;
193
  * Search box
194
  */
195
  public function search_box($text = '', $input_id = '') {
196
+ $search_query = (!empty($_REQUEST['s'])) ? esc_attr($_REQUEST['s']) : "";
197
 
198
  $output = "<p class=\"search-box\">";
199
  $output .= "<label class=\"screen-reader-text\" for=\"{$input_id}\">{$text}:</label>";
219
  $per_page = $permalink_manager_options['screen-options']['per_page'];
220
 
221
  // SQL query parameters
222
+ $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('asc', 'desc'))) ? sanitize_sql_orderby($_REQUEST['order']) : 'desc';
223
+ $orderby = (isset($_REQUEST['orderby'])) ? sanitize_sql_orderby($_REQUEST['orderby']) : 'ID';
224
  $offset = ($current_page - 1) * $per_page;
225
  $search_query = (!empty($_REQUEST['s'])) ? esc_sql($_REQUEST['s']) : "";
226
 
languages/permalink-manager-ja.mo CHANGED
Binary file
languages/permalink-manager-ja.po CHANGED
@@ -3,7 +3,7 @@ msgstr ""
3
  "Project-Id-Version: Permalink Manager Lite\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: 2020-11-23 20:44+0000\n"
6
- "PO-Revision-Date: 2021-06-24 23:59+0000\n"
7
  "Last-Translator: admin\n"
8
  "Language-Team: Japanese\n"
9
  "Language: ja\n"
@@ -26,6 +26,10 @@ msgstr ""
26
  msgid "\"Custom Permalinks\" URIs were imported!"
27
  msgstr "「カスタム パーマリンク」URIは、インポートされました!"
28
 
 
 
 
 
29
  #: includes/views/permalink-manager-pro-addons.php:180
30
  msgid "\"Stop words\" list"
31
  msgstr "「使用禁止の単語」リスト"
@@ -158,7 +162,7 @@ msgstr "リストから単語を追加する"
158
  msgid "Add trailing slashes"
159
  msgstr "末尾のスラッシュを追加する"
160
 
161
- #: includes/views/permalink-manager-settings.php:238
162
  msgid "Administrator (edit_theme_options)"
163
  msgstr "管理者 (edit_theme_options)"
164
 
@@ -168,7 +172,7 @@ msgid ""
168
  "included), slugs and permastructures (WooCommerce compatible)."
169
  msgstr "有償版では、スラッグやパーマ構造(WooCommerceとの互換性あり)、カスタム パーマリンク(一括編集も含む)の設定が可能です。"
170
 
171
- #: includes/views/permalink-manager-settings.php:208
172
  msgid "Advanced settings"
173
  msgstr "詳細設定"
174
 
@@ -196,7 +200,7 @@ msgstr "以下で指定された全てのURIは、訪問者を上記の「現在
196
  msgid "Apply"
197
  msgstr "適用"
198
 
199
- #: includes/core/permalink-manager-pro-functions.php:195
200
  msgid "Arabic"
201
  msgstr "アラビア語"
202
 
@@ -224,7 +228,7 @@ msgstr "本プラグイン内で使用中の設定での配列"
224
  msgid "Array with URIs"
225
  msgstr "URIでの配列"
226
 
227
- #: includes/views/permalink-manager-settings.php:238
228
  msgid "Author (publish_posts)"
229
  msgstr "投稿者 (publish_posts)"
230
 
@@ -240,7 +244,7 @@ msgstr "パーマリンクの自動更新"
240
  msgid "Automatic redirect for native URI enabled:"
241
  msgstr "ネイティブURIの自動リダイレクトを有効にする:"
242
 
243
- #: includes/views/permalink-manager-settings.php:243
244
  msgid "Automatically fix broken URIs"
245
  msgstr "壊れたURIを自動的に修正する"
246
 
@@ -252,7 +256,7 @@ msgstr "パンくずリスト サポート"
252
  msgid "Broken redirects were removed successfully!"
253
  msgstr "リンク切れリダイレクトは、無事削除されました!"
254
 
255
- #: includes/views/permalink-manager-settings.php:245
256
  msgid "Bulk fix all URIs (once a day, in the background)"
257
  msgstr "全てのURIを一括修正する(1日1回、バックグラウンド)"
258
 
@@ -268,11 +272,11 @@ msgstr "by Maciej Bis"
268
  msgid "Canonical redirect"
269
  msgstr "正規リダイレクト"
270
 
271
- #: includes/core/permalink-manager-pro-functions.php:196
272
  msgid "Chinese"
273
  msgstr "中国語"
274
 
275
- #: includes/core/permalink-manager-uri-functions-tax.php:498
276
  msgid "Clear/leave the field empty to use the default permalink."
277
  msgstr "デフォルトのパーマリンクを使用するため、フィールドを空のままにする / クリアする"
278
 
@@ -284,11 +288,11 @@ msgstr "閉じる:"
284
  msgid "Congratulations! No duplicated URIs or Redirects found!"
285
  msgstr "おめでとうございます!重複したURI・リダイレクトは、見つかりませんでした!"
286
 
287
- #: includes/views/permalink-manager-settings.php:238
288
  msgid "Contributor (edit_posts)"
289
  msgstr "寄稿者 (edit_posts)"
290
 
291
- #: includes/views/permalink-manager-settings.php:230
292
  msgid "Convert accented letters"
293
  msgstr "アクセント付き文字の変換"
294
 
@@ -296,20 +300,20 @@ msgstr "アクセント付き文字の変換"
296
  msgid "Count"
297
  msgstr "カウント"
298
 
299
- #: includes/core/permalink-manager-pro-functions.php:540
300
  msgid "Coupon Full URL"
301
  msgstr "クーポン フル URL"
302
 
303
- #: includes/core/permalink-manager-pro-functions.php:507
304
  msgid "Coupon Link"
305
  msgstr "クーポンリンク"
306
 
307
- #: includes/core/permalink-manager-pro-functions.php:528
308
  msgid "Coupon URI"
309
  msgstr "クーポンURI"
310
 
311
- #: includes/core/permalink-manager-uri-functions-post.php:694
312
- #: includes/core/permalink-manager-uri-functions-tax.php:530
313
  #: includes/core/permalink-manager-admin-functions.php:777
314
  #: includes/core/permalink-manager-admin-functions.php:878
315
  msgid "Current URI"
@@ -330,8 +334,8 @@ msgstr "カスタム リダイレクト"
330
 
331
  #: includes/views/permalink-manager-tools.php:70
332
  #: includes/core/permalink-manager-third-parties.php:476
333
- #: includes/core/permalink-manager-third-parties.php:810
334
- #: includes/core/permalink-manager-uri-functions-tax.php:497
335
  msgid "Custom URI"
336
  msgstr "カスタム URI"
337
 
@@ -339,7 +343,7 @@ msgstr "カスタム URI"
339
  msgid "Custom URIs"
340
  msgstr "カスタム URI"
341
 
342
- #: includes/core/permalink-manager-pro-functions.php:197
343
  msgid "Danish"
344
  msgstr "デンマーク語"
345
 
@@ -363,7 +367,7 @@ msgstr "デフォルト パーマ構造"
363
  msgid "Default URI"
364
  msgstr "デフォルト URI"
365
 
366
- #: includes/views/permalink-manager-settings.php:245
367
  msgid "Disable"
368
  msgstr "無効"
369
 
@@ -383,7 +387,7 @@ msgstr "ドキュメント"
383
  msgid "Donate"
384
  msgstr "寄付"
385
 
386
- #: includes/core/permalink-manager-pro-functions.php:198
387
  msgid "Dutch"
388
  msgstr "オランダ語"
389
 
@@ -407,7 +411,7 @@ msgstr "投稿の編集"
407
  msgid "Edit term"
408
  msgstr "タームの編集"
409
 
410
- #: includes/views/permalink-manager-settings.php:238
411
  msgid "Editor (publish_pages)"
412
  msgstr "編集者 (publish_pages)"
413
 
@@ -415,13 +419,13 @@ msgstr "編集者 (publish_pages)"
415
  msgid "Enable \"stop words\""
416
  msgstr "「使用禁止の単語」を有効にする"
417
 
418
- #: includes/views/permalink-manager-settings.php:247
419
  msgid ""
420
  "Enable this option if you would like to automatically remove redundant "
421
  "permalinks & duplicated redirects."
422
  msgstr "冗長なパーマリンクと重複したリダイレクトを自動的に削除したい場合は、このオプションを有効にします。"
423
 
424
- #: includes/core/permalink-manager-pro-functions.php:199
425
  msgid "English"
426
  msgstr "英語"
427
 
@@ -441,7 +445,7 @@ msgstr "除外する投稿タイプ"
441
  msgid "Exclude drafts"
442
  msgstr ""
443
 
444
- #: includes/core/permalink-manager-pro-functions.php:158
445
  msgid ""
446
  "Expiration date could not be downloaded at this moment. Please try again in "
447
  "a few minutes."
@@ -476,7 +480,7 @@ msgstr "検索"
476
  msgid "Find and replace"
477
  msgstr "検索&置換"
478
 
479
- #: includes/core/permalink-manager-pro-functions.php:200
480
  msgid "Finnish"
481
  msgstr "フィンランド語"
482
 
@@ -484,11 +488,11 @@ msgstr "フィンランド語"
484
  msgid "Fix custom permalinks & redirects"
485
  msgstr "カスタム パーマリンク&リダイレクトを修正する"
486
 
487
- #: includes/views/permalink-manager-settings.php:245
488
  msgid "Fix URIs individually (during page load)"
489
  msgstr "個々にURLを修正する(ページ読込時)"
490
 
491
- #: includes/views/permalink-manager-settings.php:218
492
  msgid "Force 404 on non-existing pagination pages"
493
  msgstr "実在しないページネーションのページに404を強制表示する"
494
 
@@ -496,7 +500,7 @@ msgstr "実在しないページネーションのページに404を強制表示
496
  msgid "Force HTTPS/WWW"
497
  msgstr "HTTPS/WWW 強制"
498
 
499
- #: includes/core/permalink-manager-pro-functions.php:201
500
  msgid "French"
501
  msgstr "フランス語"
502
 
@@ -509,11 +513,11 @@ msgstr "全ての URIとパーマリンク"
509
  msgid "General settings"
510
  msgstr "一般設定"
511
 
512
- #: includes/core/permalink-manager-pro-functions.php:202
513
  msgid "German"
514
  msgstr "ドイツ語"
515
 
516
- #: permalink-manager.php:211
517
  #, php-format
518
  msgid ""
519
  "Get access to extra features: full taxonomy and WooCommerce support, "
@@ -529,11 +533,11 @@ msgstr ""
529
  msgid "Get license information"
530
  msgstr ""
531
 
532
- #: includes/core/permalink-manager-pro-functions.php:203
533
  msgid "Hebrew"
534
  msgstr "ヘブライ語"
535
 
536
- #: includes/core/permalink-manager-pro-functions.php:204
537
  msgid "Hindi"
538
  msgstr "ヒンディー語"
539
 
@@ -563,7 +567,7 @@ msgid ""
563
  "the posts imported with WP All Import plugin."
564
  msgstr ""
565
 
566
- #: includes/core/permalink-manager-third-parties.php:811
567
  #, php-format
568
  msgid ""
569
  "If empty, a default permalink based on your current <a href=\"%s\" "
@@ -572,7 +576,7 @@ msgstr ""
572
  "空の場合、現在の<a href=\"%s\" target=\"_blank\">パーマ構造 設定</a>"
573
  "に基づいたデフォルトのパーマリンクが適用されます。"
574
 
575
- #: includes/views/permalink-manager-settings.php:226
576
  msgid ""
577
  "If enabled only alphanumeric characters, underscores and dashes will be "
578
  "allowed for post/term slugs."
@@ -584,7 +588,7 @@ msgid ""
584
  "default URIs."
585
  msgstr "有効にすると、選択された全ての「使用禁止の単語」はデフォルトのURIから、自動的に削除されます。"
586
 
587
- #: includes/views/permalink-manager-settings.php:233
588
  msgid ""
589
  "If enabled, all the accented letters will be replaced with their non-"
590
  "accented equivalent (eg. Å => A, Æ => AE, Ø => O, Ć => C)."
@@ -618,6 +622,13 @@ msgstr ""
618
  "有効にすると、Permalink Managerは、変更後(例:URIエディターまたは再生成・リセットツールを使用)に、以前のバージョンのカスタム "
619
  "パーマリンクのリダイレクトを追加します。"
620
 
 
 
 
 
 
 
 
621
  #: includes/core/permalink-manager-admin-functions.php:888
622
  msgid ""
623
  "If enabled, the 'Current URI' field will be automatically changed to "
@@ -635,7 +646,7 @@ msgid ""
635
  "SEO, Slim Seo, RankMath and SEOPress</strong> breadcrumbs."
636
  msgstr ""
637
 
638
- #: includes/views/permalink-manager-settings.php:219
639
  msgid ""
640
  "If enabled, the non-existing pagination pages (for single posts) will return "
641
  "404 (\"Not Found\") error.<br /><strong>Please disable it, if you encounter "
@@ -726,15 +737,15 @@ msgstr "親のスラッグを継承する"
726
  msgid "Instructions"
727
  msgstr "手順"
728
 
729
- #: includes/core/permalink-manager-pro-functions.php:205
730
  msgid "Italian"
731
  msgstr "イタリア語"
732
 
733
- #: includes/core/permalink-manager-pro-functions.php:206
734
  msgid "Japanese"
735
  msgstr "日本語"
736
 
737
- #: includes/core/permalink-manager-pro-functions.php:207
738
  msgid "Korean"
739
  msgstr "韓国語"
740
 
@@ -826,15 +837,15 @@ msgstr "カスタムURIもしくはカスタム リダイレクトは、削除
826
  msgid "No custom URIs to import"
827
  msgstr "インポートするカスタムURIはありません"
828
 
829
- #: includes/views/permalink-manager-settings.php:232
830
  msgid "No, keep accented letters in the slugs"
831
  msgstr "いいえ、スラッグにアクセント付き文字を保持します。"
832
 
833
- #: includes/views/permalink-manager-settings.php:225
834
  msgid "No, keep special characters (.,|_+) in the slugs"
835
  msgstr "いいえ、スラッグに特殊文字(.,|_+)を保持します。"
836
 
837
- #: includes/core/permalink-manager-pro-functions.php:208
838
  msgid "Norwegian"
839
  msgstr "ノルウェー語"
840
 
@@ -852,7 +863,7 @@ msgstr "古いスラッグ リダイレクト"
852
  msgid "Old URI"
853
  msgstr "古いURI"
854
 
855
- #: includes/views/permalink-manager-settings.php:239
856
  #, php-format
857
  msgid ""
858
  "Only the users who have selected capability will be able to access URI "
@@ -870,8 +881,8 @@ msgstr "ページ毎"
870
  msgid "Permalink Duplicates"
871
  msgstr "重複したパーマリンク"
872
 
873
- #: includes/core/permalink-manager-third-parties.php:806
874
- #: includes/core/permalink-manager-third-parties.php:951
875
  #: includes/core/permalink-manager-gutenberg.php:33
876
  #: includes/core/permalink-manager-admin-functions.php:111
877
  #: includes/core/permalink-manager-admin-functions.php:111
@@ -930,7 +941,7 @@ msgstr "パーマ構造 翻訳"
930
  msgid "Permastructures"
931
  msgstr "パーマ構造"
932
 
933
- #: includes/core/permalink-manager-pro-functions.php:209
934
  msgid "Persian"
935
  msgstr "ペルシア語"
936
 
@@ -968,7 +979,7 @@ msgid ""
968
  "(aliases)\" option is turned on above."
969
  msgstr ""
970
 
971
- #: includes/core/permalink-manager-pro-functions.php:133
972
  #, php-format
973
  msgid ""
974
  "Please paste the licence key to access all Permalink Manager Pro updates & "
@@ -977,11 +988,11 @@ msgstr ""
977
  "<a href=\"%s\" target=\"_blank\">コチラのページ</a>にて、ライセンスキーを設定して全てのPermalink "
978
  "Manager Pro のアップデート&機能をご利用下さい。"
979
 
980
- #: includes/core/permalink-manager-pro-functions.php:210
981
  msgid "Polish"
982
  msgstr "ポーランド語"
983
 
984
- #: includes/core/permalink-manager-pro-functions.php:211
985
  msgid "Portuguese"
986
  msgstr "ポルトガル語"
987
 
@@ -1085,7 +1096,7 @@ msgstr "デフォルトのパーマ構造を復元する"
1085
  msgid "Restore Default URI"
1086
  msgstr "デフォルトのURIを復元する"
1087
 
1088
- #: includes/core/permalink-manager-pro-functions.php:212
1089
  msgid "Russian"
1090
  msgstr "ロシア語"
1091
 
@@ -1119,7 +1130,7 @@ msgstr "パーマリンクを保存する"
1119
  msgid "Save permastructures"
1120
  msgstr "パーマ構造を保存する"
1121
 
1122
- #: includes/views/permalink-manager-settings.php:254
1123
  msgid "Save settings"
1124
  msgstr "設定を保存する"
1125
 
@@ -1162,7 +1173,7 @@ msgstr "タクソノミーを選択する"
1162
  msgid "Settings"
1163
  msgstr "設定"
1164
 
1165
- #: includes/views/permalink-manager-settings.php:214
1166
  msgid "Show \"Native slug\" field in URI Editor"
1167
  msgstr ""
1168
 
@@ -1187,7 +1198,7 @@ msgstr "スラッグ"
1187
  msgid "Slugs mode"
1188
  msgstr "スラッグ モード"
1189
 
1190
- #: includes/core/permalink-manager-pro-functions.php:213
1191
  msgid "Spanish"
1192
  msgstr "スペイン語"
1193
 
@@ -1195,7 +1206,7 @@ msgstr "スペイン語"
1195
  msgid "Stop Words"
1196
  msgstr "使用禁止の単語"
1197
 
1198
- #: includes/views/permalink-manager-settings.php:223
1199
  msgid "Strip special characters"
1200
  msgstr "特殊文字を取り除く"
1201
 
@@ -1207,7 +1218,7 @@ msgstr "ご意見 / フィードバック"
1207
  msgid "Support"
1208
  msgstr "サポート"
1209
 
1210
- #: includes/core/permalink-manager-pro-functions.php:214
1211
  msgid "Swedish"
1212
  msgstr "スウェーデン語"
1213
 
@@ -1263,7 +1274,7 @@ msgstr "リダイレクトは、無事削除されました!"
1263
  msgid "The settings are saved!"
1264
  msgstr "設定は、保存されました!"
1265
 
1266
- #: includes/core/permalink-manager-pro-functions.php:529
1267
  msgid ""
1268
  "The URIs are case-insensitive, eg. <strong>BLACKFRIDAY</strong> and <strong>"
1269
  "blackfriday</strong> are equivalent."
@@ -1354,7 +1365,7 @@ msgstr "末尾のスラッシュ"
1354
  msgid "Trailing slashes redirect"
1355
  msgstr "末尾のスラッシュリダイレクト"
1356
 
1357
- #: includes/core/permalink-manager-pro-functions.php:215
1358
  msgid "Turkish"
1359
  msgstr "トルコ語"
1360
 
@@ -1397,7 +1408,7 @@ msgstr "URIエディター"
1397
  msgid "URI editor"
1398
  msgstr "URIエディター"
1399
 
1400
- #: includes/views/permalink-manager-settings.php:237
1401
  msgid "URI Editor role capability"
1402
  msgstr "URIエディター 種類と権限"
1403
 
@@ -1455,8 +1466,8 @@ msgstr "WPML / Polylang 言語 不一致"
1455
  msgid "Yes"
1456
  msgstr "はい"
1457
 
1458
- #: includes/views/permalink-manager-settings.php:225
1459
- #: includes/views/permalink-manager-settings.php:232
1460
  msgid "Yes, use native settings"
1461
  msgstr "はい、ネイティブ 設定を使います。"
1462
 
@@ -1476,11 +1487,11 @@ msgid ""
1476
  "redirects, eg. Yoast SEO Premium or Redirection."
1477
  msgstr ""
1478
 
1479
- #: includes/core/permalink-manager-pro-functions.php:148
1480
  msgid "You own a lifetime licence key."
1481
  msgstr "あなたは、永久ライセンスキーをお持ちです。"
1482
 
1483
- #: includes/core/permalink-manager-pro-functions.php:153
1484
  #, php-format
1485
  msgid ""
1486
  "Your licence key is valid until %s.<br />To prolong it please go to <a "
@@ -1489,7 +1500,7 @@ msgstr ""
1489
  "あなたのライセンスキーは、%s まで有効です。<br />延長するには、<a href=\"%s\" target=\"_blank\">"
1490
  "コチラのページ</a>にアクセスして詳細を確認して下さい。"
1491
 
1492
- #: includes/core/permalink-manager-pro-functions.php:143
1493
  #, php-format
1494
  msgid ""
1495
  "Your Permalink Manager Pro licence key expired! To restore access to plugin "
@@ -1499,6 +1510,6 @@ msgstr ""
1499
  "あなたのライセンスキーは有効期限が切れました!プラグインのアップデートのアクセスやテクニカルサポートを受けたい場合は、<a href=\"%s\" "
1500
  "target=\"_blank\">コチラのページ</a>にアクセスして、復元して下さい。"
1501
 
1502
- #: includes/core/permalink-manager-pro-functions.php:138
1503
  msgid "Your Permalink Manager Pro licence key is invalid!"
1504
  msgstr "あなたのライセンスキーは、無効です!"
3
  "Project-Id-Version: Permalink Manager Lite\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: 2020-11-23 20:44+0000\n"
6
+ "PO-Revision-Date: 2021-08-19 18:52+0000\n"
7
  "Last-Translator: admin\n"
8
  "Language-Team: Japanese\n"
9
  "Language: ja\n"
26
  msgid "\"Custom Permalinks\" URIs were imported!"
27
  msgstr "「カスタム パーマリンク」URIは、インポートされました!"
28
 
29
+ #: includes/views/permalink-manager-settings.php:207
30
+ msgid "\"Primary category\" support"
31
+ msgstr ""
32
+
33
  #: includes/views/permalink-manager-pro-addons.php:180
34
  msgid "\"Stop words\" list"
35
  msgstr "「使用禁止の単語」リスト"
162
  msgid "Add trailing slashes"
163
  msgstr "末尾のスラッシュを追加する"
164
 
165
+ #: includes/views/permalink-manager-settings.php:244
166
  msgid "Administrator (edit_theme_options)"
167
  msgstr "管理者 (edit_theme_options)"
168
 
172
  "included), slugs and permastructures (WooCommerce compatible)."
173
  msgstr "有償版では、スラッグやパーマ構造(WooCommerceとの互換性あり)、カスタム パーマリンク(一括編集も含む)の設定が可能です。"
174
 
175
+ #: includes/views/permalink-manager-settings.php:214
176
  msgid "Advanced settings"
177
  msgstr "詳細設定"
178
 
200
  msgid "Apply"
201
  msgstr "適用"
202
 
203
+ #: includes/core/permalink-manager-pro-functions.php:192
204
  msgid "Arabic"
205
  msgstr "アラビア語"
206
 
228
  msgid "Array with URIs"
229
  msgstr "URIでの配列"
230
 
231
+ #: includes/views/permalink-manager-settings.php:244
232
  msgid "Author (publish_posts)"
233
  msgstr "投稿者 (publish_posts)"
234
 
244
  msgid "Automatic redirect for native URI enabled:"
245
  msgstr "ネイティブURIの自動リダイレクトを有効にする:"
246
 
247
+ #: includes/views/permalink-manager-settings.php:249
248
  msgid "Automatically fix broken URIs"
249
  msgstr "壊れたURIを自動的に修正する"
250
 
256
  msgid "Broken redirects were removed successfully!"
257
  msgstr "リンク切れリダイレクトは、無事削除されました!"
258
 
259
+ #: includes/views/permalink-manager-settings.php:251
260
  msgid "Bulk fix all URIs (once a day, in the background)"
261
  msgstr "全てのURIを一括修正する(1日1回、バックグラウンド)"
262
 
272
  msgid "Canonical redirect"
273
  msgstr "正規リダイレクト"
274
 
275
+ #: includes/core/permalink-manager-pro-functions.php:193
276
  msgid "Chinese"
277
  msgstr "中国語"
278
 
279
+ #: includes/core/permalink-manager-uri-functions-tax.php:504
280
  msgid "Clear/leave the field empty to use the default permalink."
281
  msgstr "デフォルトのパーマリンクを使用するため、フィールドを空のままにする / クリアする"
282
 
288
  msgid "Congratulations! No duplicated URIs or Redirects found!"
289
  msgstr "おめでとうございます!重複したURI・リダイレクトは、見つかりませんでした!"
290
 
291
+ #: includes/views/permalink-manager-settings.php:244
292
  msgid "Contributor (edit_posts)"
293
  msgstr "寄稿者 (edit_posts)"
294
 
295
+ #: includes/views/permalink-manager-settings.php:236
296
  msgid "Convert accented letters"
297
  msgstr "アクセント付き文字の変換"
298
 
300
  msgid "Count"
301
  msgstr "カウント"
302
 
303
+ #: includes/core/permalink-manager-pro-functions.php:537
304
  msgid "Coupon Full URL"
305
  msgstr "クーポン フル URL"
306
 
307
+ #: includes/core/permalink-manager-pro-functions.php:504
308
  msgid "Coupon Link"
309
  msgstr "クーポンリンク"
310
 
311
+ #: includes/core/permalink-manager-pro-functions.php:525
312
  msgid "Coupon URI"
313
  msgstr "クーポンURI"
314
 
315
+ #: includes/core/permalink-manager-uri-functions-post.php:700
316
+ #: includes/core/permalink-manager-uri-functions-tax.php:536
317
  #: includes/core/permalink-manager-admin-functions.php:777
318
  #: includes/core/permalink-manager-admin-functions.php:878
319
  msgid "Current URI"
334
 
335
  #: includes/views/permalink-manager-tools.php:70
336
  #: includes/core/permalink-manager-third-parties.php:476
337
+ #: includes/core/permalink-manager-third-parties.php:813
338
+ #: includes/core/permalink-manager-uri-functions-tax.php:503
339
  msgid "Custom URI"
340
  msgstr "カスタム URI"
341
 
343
  msgid "Custom URIs"
344
  msgstr "カスタム URI"
345
 
346
+ #: includes/core/permalink-manager-pro-functions.php:194
347
  msgid "Danish"
348
  msgstr "デンマーク語"
349
 
367
  msgid "Default URI"
368
  msgstr "デフォルト URI"
369
 
370
+ #: includes/views/permalink-manager-settings.php:251
371
  msgid "Disable"
372
  msgstr "無効"
373
 
387
  msgid "Donate"
388
  msgstr "寄付"
389
 
390
+ #: includes/core/permalink-manager-pro-functions.php:195
391
  msgid "Dutch"
392
  msgstr "オランダ語"
393
 
411
  msgid "Edit term"
412
  msgstr "タームの編集"
413
 
414
+ #: includes/views/permalink-manager-settings.php:244
415
  msgid "Editor (publish_pages)"
416
  msgstr "編集者 (publish_pages)"
417
 
419
  msgid "Enable \"stop words\""
420
  msgstr "「使用禁止の単語」を有効にする"
421
 
422
+ #: includes/views/permalink-manager-settings.php:253
423
  msgid ""
424
  "Enable this option if you would like to automatically remove redundant "
425
  "permalinks & duplicated redirects."
426
  msgstr "冗長なパーマリンクと重複したリダイレクトを自動的に削除したい場合は、このオプションを有効にします。"
427
 
428
+ #: includes/core/permalink-manager-pro-functions.php:196
429
  msgid "English"
430
  msgstr "英語"
431
 
445
  msgid "Exclude drafts"
446
  msgstr ""
447
 
448
+ #: includes/core/permalink-manager-pro-functions.php:155
449
  msgid ""
450
  "Expiration date could not be downloaded at this moment. Please try again in "
451
  "a few minutes."
480
  msgid "Find and replace"
481
  msgstr "検索&置換"
482
 
483
+ #: includes/core/permalink-manager-pro-functions.php:197
484
  msgid "Finnish"
485
  msgstr "フィンランド語"
486
 
488
  msgid "Fix custom permalinks & redirects"
489
  msgstr "カスタム パーマリンク&リダイレクトを修正する"
490
 
491
+ #: includes/views/permalink-manager-settings.php:251
492
  msgid "Fix URIs individually (during page load)"
493
  msgstr "個々にURLを修正する(ページ読込時)"
494
 
495
+ #: includes/views/permalink-manager-settings.php:224
496
  msgid "Force 404 on non-existing pagination pages"
497
  msgstr "実在しないページネーションのページに404を強制表示する"
498
 
500
  msgid "Force HTTPS/WWW"
501
  msgstr "HTTPS/WWW 強制"
502
 
503
+ #: includes/core/permalink-manager-pro-functions.php:198
504
  msgid "French"
505
  msgstr "フランス語"
506
 
513
  msgid "General settings"
514
  msgstr "一般設定"
515
 
516
+ #: includes/core/permalink-manager-pro-functions.php:199
517
  msgid "German"
518
  msgstr "ドイツ語"
519
 
520
+ #: permalink-manager.php:212
521
  #, php-format
522
  msgid ""
523
  "Get access to extra features: full taxonomy and WooCommerce support, "
533
  msgid "Get license information"
534
  msgstr ""
535
 
536
+ #: includes/core/permalink-manager-pro-functions.php:200
537
  msgid "Hebrew"
538
  msgstr "ヘブライ語"
539
 
540
+ #: includes/core/permalink-manager-pro-functions.php:201
541
  msgid "Hindi"
542
  msgstr "ヒンディー語"
543
 
567
  "the posts imported with WP All Import plugin."
568
  msgstr ""
569
 
570
+ #: includes/core/permalink-manager-third-parties.php:814
571
  #, php-format
572
  msgid ""
573
  "If empty, a default permalink based on your current <a href=\"%s\" "
576
  "空の場合、現在の<a href=\"%s\" target=\"_blank\">パーマ構造 設定</a>"
577
  "に基づいたデフォルトのパーマリンクが適用されます。"
578
 
579
+ #: includes/views/permalink-manager-settings.php:232
580
  msgid ""
581
  "If enabled only alphanumeric characters, underscores and dashes will be "
582
  "allowed for post/term slugs."
588
  "default URIs."
589
  msgstr "有効にすると、選択された全ての「使用禁止の単語」はデフォルトのURIから、自動的に削除されます。"
590
 
591
+ #: includes/views/permalink-manager-settings.php:239
592
  msgid ""
593
  "If enabled, all the accented letters will be replaced with their non-"
594
  "accented equivalent (eg. Å => A, Æ => AE, Ø => O, Ć => C)."
622
  "有効にすると、Permalink Managerは、変更後(例:URIエディターまたは再生成・リセットツールを使用)に、以前のバージョンのカスタム "
623
  "パーマリンクのリダイレクトを追加します。"
624
 
625
+ #: includes/views/permalink-manager-settings.php:209
626
+ msgid ""
627
+ "If enabled, Permalink Manager will use the \"primary category\" for the "
628
+ "default post permalinks.<br />Works with: <strong>Yoast SEO, The SEO "
629
+ "Framework, RankMath and SEOPress</strong> breadcrumbs."
630
+ msgstr ""
631
+
632
  #: includes/core/permalink-manager-admin-functions.php:888
633
  msgid ""
634
  "If enabled, the 'Current URI' field will be automatically changed to "
646
  "SEO, Slim Seo, RankMath and SEOPress</strong> breadcrumbs."
647
  msgstr ""
648
 
649
+ #: includes/views/permalink-manager-settings.php:225
650
  msgid ""
651
  "If enabled, the non-existing pagination pages (for single posts) will return "
652
  "404 (\"Not Found\") error.<br /><strong>Please disable it, if you encounter "
737
  msgid "Instructions"
738
  msgstr "手順"
739
 
740
+ #: includes/core/permalink-manager-pro-functions.php:202
741
  msgid "Italian"
742
  msgstr "イタリア語"
743
 
744
+ #: includes/core/permalink-manager-pro-functions.php:203
745
  msgid "Japanese"
746
  msgstr "日本語"
747
 
748
+ #: includes/core/permalink-manager-pro-functions.php:204
749
  msgid "Korean"
750
  msgstr "韓国語"
751
 
837
  msgid "No custom URIs to import"
838
  msgstr "インポートするカスタムURIはありません"
839
 
840
+ #: includes/views/permalink-manager-settings.php:238
841
  msgid "No, keep accented letters in the slugs"
842
  msgstr "いいえ、スラッグにアクセント付き文字を保持します。"
843
 
844
+ #: includes/views/permalink-manager-settings.php:231
845
  msgid "No, keep special characters (.,|_+) in the slugs"
846
  msgstr "いいえ、スラッグに特殊文字(.,|_+)を保持します。"
847
 
848
+ #: includes/core/permalink-manager-pro-functions.php:205
849
  msgid "Norwegian"
850
  msgstr "ノルウェー語"
851
 
863
  msgid "Old URI"
864
  msgstr "古いURI"
865
 
866
+ #: includes/views/permalink-manager-settings.php:245
867
  #, php-format
868
  msgid ""
869
  "Only the users who have selected capability will be able to access URI "
881
  msgid "Permalink Duplicates"
882
  msgstr "重複したパーマリンク"
883
 
884
+ #: includes/core/permalink-manager-third-parties.php:809
885
+ #: includes/core/permalink-manager-third-parties.php:954
886
  #: includes/core/permalink-manager-gutenberg.php:33
887
  #: includes/core/permalink-manager-admin-functions.php:111
888
  #: includes/core/permalink-manager-admin-functions.php:111
941
  msgid "Permastructures"
942
  msgstr "パーマ構造"
943
 
944
+ #: includes/core/permalink-manager-pro-functions.php:206
945
  msgid "Persian"
946
  msgstr "ペルシア語"
947
 
979
  "(aliases)\" option is turned on above."
980
  msgstr ""
981
 
982
+ #: includes/core/permalink-manager-pro-functions.php:130
983
  #, php-format
984
  msgid ""
985
  "Please paste the licence key to access all Permalink Manager Pro updates & "
988
  "<a href=\"%s\" target=\"_blank\">コチラのページ</a>にて、ライセンスキーを設定して全てのPermalink "
989
  "Manager Pro のアップデート&機能をご利用下さい。"
990
 
991
+ #: includes/core/permalink-manager-pro-functions.php:207
992
  msgid "Polish"
993
  msgstr "ポーランド語"
994
 
995
+ #: includes/core/permalink-manager-pro-functions.php:208
996
  msgid "Portuguese"
997
  msgstr "ポルトガル語"
998
 
1096
  msgid "Restore Default URI"
1097
  msgstr "デフォルトのURIを復元する"
1098
 
1099
+ #: includes/core/permalink-manager-pro-functions.php:209
1100
  msgid "Russian"
1101
  msgstr "ロシア語"
1102
 
1130
  msgid "Save permastructures"
1131
  msgstr "パーマ構造を保存する"
1132
 
1133
+ #: includes/views/permalink-manager-settings.php:260
1134
  msgid "Save settings"
1135
  msgstr "設定を保存する"
1136
 
1173
  msgid "Settings"
1174
  msgstr "設定"
1175
 
1176
+ #: includes/views/permalink-manager-settings.php:220
1177
  msgid "Show \"Native slug\" field in URI Editor"
1178
  msgstr ""
1179
 
1198
  msgid "Slugs mode"
1199
  msgstr "スラッグ モード"
1200
 
1201
+ #: includes/core/permalink-manager-pro-functions.php:210
1202
  msgid "Spanish"
1203
  msgstr "スペイン語"
1204
 
1206
  msgid "Stop Words"
1207
  msgstr "使用禁止の単語"
1208
 
1209
+ #: includes/views/permalink-manager-settings.php:229
1210
  msgid "Strip special characters"
1211
  msgstr "特殊文字を取り除く"
1212
 
1218
  msgid "Support"
1219
  msgstr "サポート"
1220
 
1221
+ #: includes/core/permalink-manager-pro-functions.php:211
1222
  msgid "Swedish"
1223
  msgstr "スウェーデン語"
1224
 
1274
  msgid "The settings are saved!"
1275
  msgstr "設定は、保存されました!"
1276
 
1277
+ #: includes/core/permalink-manager-pro-functions.php:526
1278
  msgid ""
1279
  "The URIs are case-insensitive, eg. <strong>BLACKFRIDAY</strong> and <strong>"
1280
  "blackfriday</strong> are equivalent."
1365
  msgid "Trailing slashes redirect"
1366
  msgstr "末尾のスラッシュリダイレクト"
1367
 
1368
+ #: includes/core/permalink-manager-pro-functions.php:212
1369
  msgid "Turkish"
1370
  msgstr "トルコ語"
1371
 
1408
  msgid "URI editor"
1409
  msgstr "URIエディター"
1410
 
1411
+ #: includes/views/permalink-manager-settings.php:243
1412
  msgid "URI Editor role capability"
1413
  msgstr "URIエディター 種類と権限"
1414
 
1466
  msgid "Yes"
1467
  msgstr "はい"
1468
 
1469
+ #: includes/views/permalink-manager-settings.php:231
1470
+ #: includes/views/permalink-manager-settings.php:238
1471
  msgid "Yes, use native settings"
1472
  msgstr "はい、ネイティブ 設定を使います。"
1473
 
1487
  "redirects, eg. Yoast SEO Premium or Redirection."
1488
  msgstr ""
1489
 
1490
+ #: includes/core/permalink-manager-pro-functions.php:145
1491
  msgid "You own a lifetime licence key."
1492
  msgstr "あなたは、永久ライセンスキーをお持ちです。"
1493
 
1494
+ #: includes/core/permalink-manager-pro-functions.php:150
1495
  #, php-format
1496
  msgid ""
1497
  "Your licence key is valid until %s.<br />To prolong it please go to <a "
1500
  "あなたのライセンスキーは、%s まで有効です。<br />延長するには、<a href=\"%s\" target=\"_blank\">"
1501
  "コチラのページ</a>にアクセスして詳細を確認して下さい。"
1502
 
1503
+ #: includes/core/permalink-manager-pro-functions.php:140
1504
  #, php-format
1505
  msgid ""
1506
  "Your Permalink Manager Pro licence key expired! To restore access to plugin "
1510
  "あなたのライセンスキーは有効期限が切れました!プラグインのアップデートのアクセスやテクニカルサポートを受けたい場合は、<a href=\"%s\" "
1511
  "target=\"_blank\">コチラのページ</a>にアクセスして、復元して下さい。"
1512
 
1513
+ #: includes/core/permalink-manager-pro-functions.php:135
1514
  msgid "Your Permalink Manager Pro licence key is invalid!"
1515
  msgstr "あなたのライセンスキーは、無効です!"
languages/permalink-manager.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: PACKAGE VERSION\n"
5
  "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2021-06-24 23:58+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
@@ -24,6 +24,10 @@ msgstr ""
24
  msgid "\"Custom Permalinks\" URIs were imported!"
25
  msgstr ""
26
 
 
 
 
 
27
  #: includes/views/permalink-manager-pro-addons.php:180
28
  msgid "\"Stop words\" list"
29
  msgstr ""
@@ -142,7 +146,7 @@ msgstr ""
142
  msgid "Add trailing slashes"
143
  msgstr ""
144
 
145
- #: includes/views/permalink-manager-settings.php:238
146
  msgid "Administrator (edit_theme_options)"
147
  msgstr ""
148
 
@@ -152,7 +156,7 @@ msgid ""
152
  "included), slugs and permastructures (WooCommerce compatible)."
153
  msgstr ""
154
 
155
- #: includes/views/permalink-manager-settings.php:208
156
  msgid "Advanced settings"
157
  msgstr ""
158
 
@@ -178,7 +182,7 @@ msgstr ""
178
  msgid "Apply"
179
  msgstr ""
180
 
181
- #: includes/core/permalink-manager-pro-functions.php:195
182
  msgid "Arabic"
183
  msgstr ""
184
 
@@ -206,7 +210,7 @@ msgstr ""
206
  msgid "Array with URIs"
207
  msgstr ""
208
 
209
- #: includes/views/permalink-manager-settings.php:238
210
  msgid "Author (publish_posts)"
211
  msgstr ""
212
 
@@ -222,7 +226,7 @@ msgstr ""
222
  msgid "Automatic redirect for native URI enabled:"
223
  msgstr ""
224
 
225
- #: includes/views/permalink-manager-settings.php:243
226
  msgid "Automatically fix broken URIs"
227
  msgstr ""
228
 
@@ -234,7 +238,7 @@ msgstr ""
234
  msgid "Broken redirects were removed successfully!"
235
  msgstr ""
236
 
237
- #: includes/views/permalink-manager-settings.php:245
238
  msgid "Bulk fix all URIs (once a day, in the background)"
239
  msgstr ""
240
 
@@ -250,11 +254,11 @@ msgstr ""
250
  msgid "Canonical redirect"
251
  msgstr ""
252
 
253
- #: includes/core/permalink-manager-pro-functions.php:196
254
  msgid "Chinese"
255
  msgstr ""
256
 
257
- #: includes/core/permalink-manager-uri-functions-tax.php:498
258
  msgid "Clear/leave the field empty to use the default permalink."
259
  msgstr ""
260
 
@@ -266,11 +270,11 @@ msgstr ""
266
  msgid "Congratulations! No duplicated URIs or Redirects found!"
267
  msgstr ""
268
 
269
- #: includes/views/permalink-manager-settings.php:238
270
  msgid "Contributor (edit_posts)"
271
  msgstr ""
272
 
273
- #: includes/views/permalink-manager-settings.php:230
274
  msgid "Convert accented letters"
275
  msgstr ""
276
 
@@ -278,20 +282,20 @@ msgstr ""
278
  msgid "Count"
279
  msgstr ""
280
 
281
- #: includes/core/permalink-manager-pro-functions.php:540
282
  msgid "Coupon Full URL"
283
  msgstr ""
284
 
285
- #: includes/core/permalink-manager-pro-functions.php:507
286
  msgid "Coupon Link"
287
  msgstr ""
288
 
289
- #: includes/core/permalink-manager-pro-functions.php:528
290
  msgid "Coupon URI"
291
  msgstr ""
292
 
293
- #: includes/core/permalink-manager-uri-functions-post.php:694
294
- #: includes/core/permalink-manager-uri-functions-tax.php:530
295
  #: includes/core/permalink-manager-admin-functions.php:777
296
  #: includes/core/permalink-manager-admin-functions.php:878
297
  msgid "Current URI"
@@ -312,8 +316,8 @@ msgstr ""
312
 
313
  #: includes/views/permalink-manager-tools.php:70
314
  #: includes/core/permalink-manager-third-parties.php:476
315
- #: includes/core/permalink-manager-third-parties.php:810
316
- #: includes/core/permalink-manager-uri-functions-tax.php:497
317
  msgid "Custom URI"
318
  msgstr ""
319
 
@@ -321,7 +325,7 @@ msgstr ""
321
  msgid "Custom URIs"
322
  msgstr ""
323
 
324
- #: includes/core/permalink-manager-pro-functions.php:197
325
  msgid "Danish"
326
  msgstr ""
327
 
@@ -345,7 +349,7 @@ msgstr ""
345
  msgid "Default URI"
346
  msgstr ""
347
 
348
- #: includes/views/permalink-manager-settings.php:245
349
  msgid "Disable"
350
  msgstr ""
351
 
@@ -365,7 +369,7 @@ msgstr ""
365
  msgid "Donate"
366
  msgstr ""
367
 
368
- #: includes/core/permalink-manager-pro-functions.php:198
369
  msgid "Dutch"
370
  msgstr ""
371
 
@@ -389,7 +393,7 @@ msgstr ""
389
  msgid "Edit term"
390
  msgstr ""
391
 
392
- #: includes/views/permalink-manager-settings.php:238
393
  msgid "Editor (publish_pages)"
394
  msgstr ""
395
 
@@ -397,13 +401,13 @@ msgstr ""
397
  msgid "Enable \"stop words\""
398
  msgstr ""
399
 
400
- #: includes/views/permalink-manager-settings.php:247
401
  msgid ""
402
  "Enable this option if you would like to automatically remove redundant "
403
  "permalinks & duplicated redirects."
404
  msgstr ""
405
 
406
- #: includes/core/permalink-manager-pro-functions.php:199
407
  msgid "English"
408
  msgstr ""
409
 
@@ -422,7 +426,7 @@ msgstr ""
422
  msgid "Exclude drafts"
423
  msgstr ""
424
 
425
- #: includes/core/permalink-manager-pro-functions.php:158
426
  msgid ""
427
  "Expiration date could not be downloaded at this moment. Please try again in "
428
  "a few minutes."
@@ -457,7 +461,7 @@ msgstr ""
457
  msgid "Find and replace"
458
  msgstr ""
459
 
460
- #: includes/core/permalink-manager-pro-functions.php:200
461
  msgid "Finnish"
462
  msgstr ""
463
 
@@ -465,11 +469,11 @@ msgstr ""
465
  msgid "Fix custom permalinks & redirects"
466
  msgstr ""
467
 
468
- #: includes/views/permalink-manager-settings.php:245
469
  msgid "Fix URIs individually (during page load)"
470
  msgstr ""
471
 
472
- #: includes/views/permalink-manager-settings.php:218
473
  msgid "Force 404 on non-existing pagination pages"
474
  msgstr ""
475
 
@@ -477,7 +481,7 @@ msgstr ""
477
  msgid "Force HTTPS/WWW"
478
  msgstr ""
479
 
480
- #: includes/core/permalink-manager-pro-functions.php:201
481
  msgid "French"
482
  msgstr ""
483
 
@@ -490,11 +494,11 @@ msgstr ""
490
  msgid "General settings"
491
  msgstr ""
492
 
493
- #: includes/core/permalink-manager-pro-functions.php:202
494
  msgid "German"
495
  msgstr ""
496
 
497
- #: permalink-manager.php:211
498
  #, php-format
499
  msgid ""
500
  "Get access to extra features: full taxonomy and WooCommerce support, "
@@ -507,11 +511,11 @@ msgstr ""
507
  msgid "Get license information"
508
  msgstr ""
509
 
510
- #: includes/core/permalink-manager-pro-functions.php:203
511
  msgid "Hebrew"
512
  msgstr ""
513
 
514
- #: includes/core/permalink-manager-pro-functions.php:204
515
  msgid "Hindi"
516
  msgstr ""
517
 
@@ -540,14 +544,14 @@ msgid ""
540
  "the posts imported with WP All Import plugin."
541
  msgstr ""
542
 
543
- #: includes/core/permalink-manager-third-parties.php:811
544
  #, php-format
545
  msgid ""
546
  "If empty, a default permalink based on your current <a href=\"%s\" "
547
  "target=\"_blank\">permastructure settings</a> will be used."
548
  msgstr ""
549
 
550
- #: includes/views/permalink-manager-settings.php:226
551
  msgid ""
552
  "If enabled only alphanumeric characters, underscores and dashes will be "
553
  "allowed for post/term slugs."
@@ -559,7 +563,7 @@ msgid ""
559
  "default URIs."
560
  msgstr ""
561
 
562
- #: includes/views/permalink-manager-settings.php:233
563
  msgid ""
564
  "If enabled, all the accented letters will be replaced with their non-"
565
  "accented equivalent (eg. Å => A, Æ => AE, Ø => O, Ć => C)."
@@ -584,6 +588,13 @@ msgid ""
584
  "Regenerate/reset tool)."
585
  msgstr ""
586
 
 
 
 
 
 
 
 
587
  #: includes/core/permalink-manager-admin-functions.php:888
588
  msgid ""
589
  "If enabled, the 'Current URI' field will be automatically changed to "
@@ -601,7 +612,7 @@ msgid ""
601
  "SEO, Slim Seo, RankMath and SEOPress</strong> breadcrumbs."
602
  msgstr ""
603
 
604
- #: includes/views/permalink-manager-settings.php:219
605
  msgid ""
606
  "If enabled, the non-existing pagination pages (for single posts) will return "
607
  "404 (\"Not Found\") error.<br /><strong>Please disable it, if you encounter "
@@ -684,15 +695,15 @@ msgstr ""
684
  msgid "Instructions"
685
  msgstr ""
686
 
687
- #: includes/core/permalink-manager-pro-functions.php:205
688
  msgid "Italian"
689
  msgstr ""
690
 
691
- #: includes/core/permalink-manager-pro-functions.php:206
692
  msgid "Japanese"
693
  msgstr ""
694
 
695
- #: includes/core/permalink-manager-pro-functions.php:207
696
  msgid "Korean"
697
  msgstr ""
698
 
@@ -784,15 +795,15 @@ msgstr ""
784
  msgid "No custom URIs to import"
785
  msgstr ""
786
 
787
- #: includes/views/permalink-manager-settings.php:232
788
  msgid "No, keep accented letters in the slugs"
789
  msgstr ""
790
 
791
- #: includes/views/permalink-manager-settings.php:225
792
  msgid "No, keep special characters (.,|_+) in the slugs"
793
  msgstr ""
794
 
795
- #: includes/core/permalink-manager-pro-functions.php:208
796
  msgid "Norwegian"
797
  msgstr ""
798
 
@@ -810,7 +821,7 @@ msgstr ""
810
  msgid "Old URI"
811
  msgstr ""
812
 
813
- #: includes/views/permalink-manager-settings.php:239
814
  #, php-format
815
  msgid ""
816
  "Only the users who have selected capability will be able to access URI "
@@ -826,8 +837,8 @@ msgstr ""
826
  msgid "Permalink Duplicates"
827
  msgstr ""
828
 
829
- #: includes/core/permalink-manager-third-parties.php:806
830
- #: includes/core/permalink-manager-third-parties.php:951
831
  #: includes/core/permalink-manager-gutenberg.php:33
832
  #: includes/core/permalink-manager-admin-functions.php:111
833
  #: includes/core/permalink-manager-admin-functions.php:111
@@ -878,7 +889,7 @@ msgstr ""
878
  msgid "Permastructures"
879
  msgstr ""
880
 
881
- #: includes/core/permalink-manager-pro-functions.php:209
882
  msgid "Persian"
883
  msgstr ""
884
 
@@ -916,18 +927,18 @@ msgid ""
916
  "(aliases)\" option is turned on above."
917
  msgstr ""
918
 
919
- #: includes/core/permalink-manager-pro-functions.php:133
920
  #, php-format
921
  msgid ""
922
  "Please paste the licence key to access all Permalink Manager Pro updates & "
923
  "features <a href=\"%s\" target=\"_blank\">on this page</a>."
924
  msgstr ""
925
 
926
- #: includes/core/permalink-manager-pro-functions.php:210
927
  msgid "Polish"
928
  msgstr ""
929
 
930
- #: includes/core/permalink-manager-pro-functions.php:211
931
  msgid "Portuguese"
932
  msgstr ""
933
 
@@ -1031,7 +1042,7 @@ msgstr ""
1031
  msgid "Restore Default URI"
1032
  msgstr ""
1033
 
1034
- #: includes/core/permalink-manager-pro-functions.php:212
1035
  msgid "Russian"
1036
  msgstr ""
1037
 
@@ -1065,7 +1076,7 @@ msgstr ""
1065
  msgid "Save permastructures"
1066
  msgstr ""
1067
 
1068
- #: includes/views/permalink-manager-settings.php:254
1069
  msgid "Save settings"
1070
  msgstr ""
1071
 
@@ -1108,7 +1119,7 @@ msgstr ""
1108
  msgid "Settings"
1109
  msgstr ""
1110
 
1111
- #: includes/views/permalink-manager-settings.php:214
1112
  msgid "Show \"Native slug\" field in URI Editor"
1113
  msgstr ""
1114
 
@@ -1133,7 +1144,7 @@ msgstr ""
1133
  msgid "Slugs mode"
1134
  msgstr ""
1135
 
1136
- #: includes/core/permalink-manager-pro-functions.php:213
1137
  msgid "Spanish"
1138
  msgstr ""
1139
 
@@ -1141,7 +1152,7 @@ msgstr ""
1141
  msgid "Stop Words"
1142
  msgstr ""
1143
 
1144
- #: includes/views/permalink-manager-settings.php:223
1145
  msgid "Strip special characters"
1146
  msgstr ""
1147
 
@@ -1153,7 +1164,7 @@ msgstr ""
1153
  msgid "Support"
1154
  msgstr ""
1155
 
1156
- #: includes/core/permalink-manager-pro-functions.php:214
1157
  msgid "Swedish"
1158
  msgstr ""
1159
 
@@ -1208,7 +1219,7 @@ msgstr ""
1208
  msgid "The settings are saved!"
1209
  msgstr ""
1210
 
1211
- #: includes/core/permalink-manager-pro-functions.php:529
1212
  msgid ""
1213
  "The URIs are case-insensitive, eg. <strong>BLACKFRIDAY</strong> and <strong>"
1214
  "blackfriday</strong> are equivalent."
@@ -1289,7 +1300,7 @@ msgstr ""
1289
  msgid "Trailing slashes redirect"
1290
  msgstr ""
1291
 
1292
- #: includes/core/permalink-manager-pro-functions.php:215
1293
  msgid "Turkish"
1294
  msgstr ""
1295
 
@@ -1332,7 +1343,7 @@ msgstr ""
1332
  msgid "URI editor"
1333
  msgstr ""
1334
 
1335
- #: includes/views/permalink-manager-settings.php:237
1336
  msgid "URI Editor role capability"
1337
  msgstr ""
1338
 
@@ -1390,8 +1401,8 @@ msgstr ""
1390
  msgid "Yes"
1391
  msgstr ""
1392
 
1393
- #: includes/views/permalink-manager-settings.php:225
1394
- #: includes/views/permalink-manager-settings.php:232
1395
  msgid "Yes, use native settings"
1396
  msgstr ""
1397
 
@@ -1411,18 +1422,18 @@ msgid ""
1411
  "redirects, eg. Yoast SEO Premium or Redirection."
1412
  msgstr ""
1413
 
1414
- #: includes/core/permalink-manager-pro-functions.php:148
1415
  msgid "You own a lifetime licence key."
1416
  msgstr ""
1417
 
1418
- #: includes/core/permalink-manager-pro-functions.php:153
1419
  #, php-format
1420
  msgid ""
1421
  "Your licence key is valid until %s.<br />To prolong it please go to <a "
1422
  "href=\"%s\" target=\"_blank\">this page</a> for more information."
1423
  msgstr ""
1424
 
1425
- #: includes/core/permalink-manager-pro-functions.php:143
1426
  #, php-format
1427
  msgid ""
1428
  "Your Permalink Manager Pro licence key expired! To restore access to plugin "
@@ -1430,6 +1441,6 @@ msgid ""
1430
  "this page</a>."
1431
  msgstr ""
1432
 
1433
- #: includes/core/permalink-manager-pro-functions.php:138
1434
  msgid "Your Permalink Manager Pro licence key is invalid!"
1435
  msgstr ""
3
  msgstr ""
4
  "Project-Id-Version: PACKAGE VERSION\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2021-08-19 18:52+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
24
  msgid "\"Custom Permalinks\" URIs were imported!"
25
  msgstr ""
26
 
27
+ #: includes/views/permalink-manager-settings.php:207
28
+ msgid "\"Primary category\" support"
29
+ msgstr ""
30
+
31
  #: includes/views/permalink-manager-pro-addons.php:180
32
  msgid "\"Stop words\" list"
33
  msgstr ""
146
  msgid "Add trailing slashes"
147
  msgstr ""
148
 
149
+ #: includes/views/permalink-manager-settings.php:244
150
  msgid "Administrator (edit_theme_options)"
151
  msgstr ""
152
 
156
  "included), slugs and permastructures (WooCommerce compatible)."
157
  msgstr ""
158
 
159
+ #: includes/views/permalink-manager-settings.php:214
160
  msgid "Advanced settings"
161
  msgstr ""
162
 
182
  msgid "Apply"
183
  msgstr ""
184
 
185
+ #: includes/core/permalink-manager-pro-functions.php:192
186
  msgid "Arabic"
187
  msgstr ""
188
 
210
  msgid "Array with URIs"
211
  msgstr ""
212
 
213
+ #: includes/views/permalink-manager-settings.php:244
214
  msgid "Author (publish_posts)"
215
  msgstr ""
216
 
226
  msgid "Automatic redirect for native URI enabled:"
227
  msgstr ""
228
 
229
+ #: includes/views/permalink-manager-settings.php:249
230
  msgid "Automatically fix broken URIs"
231
  msgstr ""
232
 
238
  msgid "Broken redirects were removed successfully!"
239
  msgstr ""
240
 
241
+ #: includes/views/permalink-manager-settings.php:251
242
  msgid "Bulk fix all URIs (once a day, in the background)"
243
  msgstr ""
244
 
254
  msgid "Canonical redirect"
255
  msgstr ""
256
 
257
+ #: includes/core/permalink-manager-pro-functions.php:193
258
  msgid "Chinese"
259
  msgstr ""
260
 
261
+ #: includes/core/permalink-manager-uri-functions-tax.php:504
262
  msgid "Clear/leave the field empty to use the default permalink."
263
  msgstr ""
264
 
270
  msgid "Congratulations! No duplicated URIs or Redirects found!"
271
  msgstr ""
272
 
273
+ #: includes/views/permalink-manager-settings.php:244
274
  msgid "Contributor (edit_posts)"
275
  msgstr ""
276
 
277
+ #: includes/views/permalink-manager-settings.php:236
278
  msgid "Convert accented letters"
279
  msgstr ""
280
 
282
  msgid "Count"
283
  msgstr ""
284
 
285
+ #: includes/core/permalink-manager-pro-functions.php:537
286
  msgid "Coupon Full URL"
287
  msgstr ""
288
 
289
+ #: includes/core/permalink-manager-pro-functions.php:504
290
  msgid "Coupon Link"
291
  msgstr ""
292
 
293
+ #: includes/core/permalink-manager-pro-functions.php:525
294
  msgid "Coupon URI"
295
  msgstr ""
296
 
297
+ #: includes/core/permalink-manager-uri-functions-post.php:700
298
+ #: includes/core/permalink-manager-uri-functions-tax.php:536
299
  #: includes/core/permalink-manager-admin-functions.php:777
300
  #: includes/core/permalink-manager-admin-functions.php:878
301
  msgid "Current URI"
316
 
317
  #: includes/views/permalink-manager-tools.php:70
318
  #: includes/core/permalink-manager-third-parties.php:476
319
+ #: includes/core/permalink-manager-third-parties.php:813
320
+ #: includes/core/permalink-manager-uri-functions-tax.php:503
321
  msgid "Custom URI"
322
  msgstr ""
323
 
325
  msgid "Custom URIs"
326
  msgstr ""
327
 
328
+ #: includes/core/permalink-manager-pro-functions.php:194
329
  msgid "Danish"
330
  msgstr ""
331
 
349
  msgid "Default URI"
350
  msgstr ""
351
 
352
+ #: includes/views/permalink-manager-settings.php:251
353
  msgid "Disable"
354
  msgstr ""
355
 
369
  msgid "Donate"
370
  msgstr ""
371
 
372
+ #: includes/core/permalink-manager-pro-functions.php:195
373
  msgid "Dutch"
374
  msgstr ""
375
 
393
  msgid "Edit term"
394
  msgstr ""
395
 
396
+ #: includes/views/permalink-manager-settings.php:244
397
  msgid "Editor (publish_pages)"
398
  msgstr ""
399
 
401
  msgid "Enable \"stop words\""
402
  msgstr ""
403
 
404
+ #: includes/views/permalink-manager-settings.php:253
405
  msgid ""
406
  "Enable this option if you would like to automatically remove redundant "
407
  "permalinks & duplicated redirects."
408
  msgstr ""
409
 
410
+ #: includes/core/permalink-manager-pro-functions.php:196
411
  msgid "English"
412
  msgstr ""
413
 
426
  msgid "Exclude drafts"
427
  msgstr ""
428
 
429
+ #: includes/core/permalink-manager-pro-functions.php:155
430
  msgid ""
431
  "Expiration date could not be downloaded at this moment. Please try again in "
432
  "a few minutes."
461
  msgid "Find and replace"
462
  msgstr ""
463
 
464
+ #: includes/core/permalink-manager-pro-functions.php:197
465
  msgid "Finnish"
466
  msgstr ""
467
 
469
  msgid "Fix custom permalinks & redirects"
470
  msgstr ""
471
 
472
+ #: includes/views/permalink-manager-settings.php:251
473
  msgid "Fix URIs individually (during page load)"
474
  msgstr ""
475
 
476
+ #: includes/views/permalink-manager-settings.php:224
477
  msgid "Force 404 on non-existing pagination pages"
478
  msgstr ""
479
 
481
  msgid "Force HTTPS/WWW"
482
  msgstr ""
483
 
484
+ #: includes/core/permalink-manager-pro-functions.php:198
485
  msgid "French"
486
  msgstr ""
487
 
494
  msgid "General settings"
495
  msgstr ""
496
 
497
+ #: includes/core/permalink-manager-pro-functions.php:199
498
  msgid "German"
499
  msgstr ""
500
 
501
+ #: permalink-manager.php:212
502
  #, php-format
503
  msgid ""
504
  "Get access to extra features: full taxonomy and WooCommerce support, "
511
  msgid "Get license information"
512
  msgstr ""
513
 
514
+ #: includes/core/permalink-manager-pro-functions.php:200
515
  msgid "Hebrew"
516
  msgstr ""
517
 
518
+ #: includes/core/permalink-manager-pro-functions.php:201
519
  msgid "Hindi"
520
  msgstr ""
521
 
544
  "the posts imported with WP All Import plugin."
545
  msgstr ""
546
 
547
+ #: includes/core/permalink-manager-third-parties.php:814
548
  #, php-format
549
  msgid ""
550
  "If empty, a default permalink based on your current <a href=\"%s\" "
551
  "target=\"_blank\">permastructure settings</a> will be used."
552
  msgstr ""
553
 
554
+ #: includes/views/permalink-manager-settings.php:232
555
  msgid ""
556
  "If enabled only alphanumeric characters, underscores and dashes will be "
557
  "allowed for post/term slugs."
563
  "default URIs."
564
  msgstr ""
565
 
566
+ #: includes/views/permalink-manager-settings.php:239
567
  msgid ""
568
  "If enabled, all the accented letters will be replaced with their non-"
569
  "accented equivalent (eg. Å => A, Æ => AE, Ø => O, Ć => C)."
588
  "Regenerate/reset tool)."
589
  msgstr ""
590
 
591
+ #: includes/views/permalink-manager-settings.php:209
592
+ msgid ""
593
+ "If enabled, Permalink Manager will use the \"primary category\" for the "
594
+ "default post permalinks.<br />Works with: <strong>Yoast SEO, The SEO "
595
+ "Framework, RankMath and SEOPress</strong> breadcrumbs."
596
+ msgstr ""
597
+
598
  #: includes/core/permalink-manager-admin-functions.php:888
599
  msgid ""
600
  "If enabled, the 'Current URI' field will be automatically changed to "
612
  "SEO, Slim Seo, RankMath and SEOPress</strong> breadcrumbs."
613
  msgstr ""
614
 
615
+ #: includes/views/permalink-manager-settings.php:225
616
  msgid ""
617
  "If enabled, the non-existing pagination pages (for single posts) will return "
618
  "404 (\"Not Found\") error.<br /><strong>Please disable it, if you encounter "
695
  msgid "Instructions"
696
  msgstr ""
697
 
698
+ #: includes/core/permalink-manager-pro-functions.php:202
699
  msgid "Italian"
700
  msgstr ""
701
 
702
+ #: includes/core/permalink-manager-pro-functions.php:203
703
  msgid "Japanese"
704
  msgstr ""
705
 
706
+ #: includes/core/permalink-manager-pro-functions.php:204
707
  msgid "Korean"
708
  msgstr ""
709
 
795
  msgid "No custom URIs to import"
796
  msgstr ""
797
 
798
+ #: includes/views/permalink-manager-settings.php:238
799
  msgid "No, keep accented letters in the slugs"
800
  msgstr ""
801
 
802
+ #: includes/views/permalink-manager-settings.php:231
803
  msgid "No, keep special characters (.,|_+) in the slugs"
804
  msgstr ""
805
 
806
+ #: includes/core/permalink-manager-pro-functions.php:205
807
  msgid "Norwegian"
808
  msgstr ""
809
 
821
  msgid "Old URI"
822
  msgstr ""
823
 
824
+ #: includes/views/permalink-manager-settings.php:245
825
  #, php-format
826
  msgid ""
827
  "Only the users who have selected capability will be able to access URI "
837
  msgid "Permalink Duplicates"
838
  msgstr ""
839
 
840
+ #: includes/core/permalink-manager-third-parties.php:809
841
+ #: includes/core/permalink-manager-third-parties.php:954
842
  #: includes/core/permalink-manager-gutenberg.php:33
843
  #: includes/core/permalink-manager-admin-functions.php:111
844
  #: includes/core/permalink-manager-admin-functions.php:111
889
  msgid "Permastructures"
890
  msgstr ""
891
 
892
+ #: includes/core/permalink-manager-pro-functions.php:206
893
  msgid "Persian"
894
  msgstr ""
895
 
927
  "(aliases)\" option is turned on above."
928
  msgstr ""
929
 
930
+ #: includes/core/permalink-manager-pro-functions.php:130
931
  #, php-format
932
  msgid ""
933
  "Please paste the licence key to access all Permalink Manager Pro updates & "
934
  "features <a href=\"%s\" target=\"_blank\">on this page</a>."
935
  msgstr ""
936
 
937
+ #: includes/core/permalink-manager-pro-functions.php:207
938
  msgid "Polish"
939
  msgstr ""
940
 
941
+ #: includes/core/permalink-manager-pro-functions.php:208
942
  msgid "Portuguese"
943
  msgstr ""
944
 
1042
  msgid "Restore Default URI"
1043
  msgstr ""
1044
 
1045
+ #: includes/core/permalink-manager-pro-functions.php:209
1046
  msgid "Russian"
1047
  msgstr ""
1048
 
1076
  msgid "Save permastructures"
1077
  msgstr ""
1078
 
1079
+ #: includes/views/permalink-manager-settings.php:260
1080
  msgid "Save settings"
1081
  msgstr ""
1082
 
1119
  msgid "Settings"
1120
  msgstr ""
1121
 
1122
+ #: includes/views/permalink-manager-settings.php:220
1123
  msgid "Show \"Native slug\" field in URI Editor"
1124
  msgstr ""
1125
 
1144
  msgid "Slugs mode"
1145
  msgstr ""
1146
 
1147
+ #: includes/core/permalink-manager-pro-functions.php:210
1148
  msgid "Spanish"
1149
  msgstr ""
1150
 
1152
  msgid "Stop Words"
1153
  msgstr ""
1154
 
1155
+ #: includes/views/permalink-manager-settings.php:229
1156
  msgid "Strip special characters"
1157
  msgstr ""
1158
 
1164
  msgid "Support"
1165
  msgstr ""
1166
 
1167
+ #: includes/core/permalink-manager-pro-functions.php:211
1168
  msgid "Swedish"
1169
  msgstr ""
1170
 
1219
  msgid "The settings are saved!"
1220
  msgstr ""
1221
 
1222
+ #: includes/core/permalink-manager-pro-functions.php:526
1223
  msgid ""
1224
  "The URIs are case-insensitive, eg. <strong>BLACKFRIDAY</strong> and <strong>"
1225
  "blackfriday</strong> are equivalent."
1300
  msgid "Trailing slashes redirect"
1301
  msgstr ""
1302
 
1303
+ #: includes/core/permalink-manager-pro-functions.php:212
1304
  msgid "Turkish"
1305
  msgstr ""
1306
 
1343
  msgid "URI editor"
1344
  msgstr ""
1345
 
1346
+ #: includes/views/permalink-manager-settings.php:243
1347
  msgid "URI Editor role capability"
1348
  msgstr ""
1349
 
1401
  msgid "Yes"
1402
  msgstr ""
1403
 
1404
+ #: includes/views/permalink-manager-settings.php:231
1405
+ #: includes/views/permalink-manager-settings.php:238
1406
  msgid "Yes, use native settings"
1407
  msgstr ""
1408
 
1422
  "redirects, eg. Yoast SEO Premium or Redirection."
1423
  msgstr ""
1424
 
1425
+ #: includes/core/permalink-manager-pro-functions.php:145
1426
  msgid "You own a lifetime licence key."
1427
  msgstr ""
1428
 
1429
+ #: includes/core/permalink-manager-pro-functions.php:150
1430
  #, php-format
1431
  msgid ""
1432
  "Your licence key is valid until %s.<br />To prolong it please go to <a "
1433
  "href=\"%s\" target=\"_blank\">this page</a> for more information."
1434
  msgstr ""
1435
 
1436
+ #: includes/core/permalink-manager-pro-functions.php:140
1437
  #, php-format
1438
  msgid ""
1439
  "Your Permalink Manager Pro licence key expired! To restore access to plugin "
1441
  "this page</a>."
1442
  msgstr ""
1443
 
1444
+ #: includes/core/permalink-manager-pro-functions.php:135
1445
  msgid "Your Permalink Manager Pro licence key is invalid!"
1446
  msgstr ""
out/permalink-manager-admin.js CHANGED
@@ -289,8 +289,6 @@ jQuery(document).ready(function() {
289
  } else {
290
  rel_field_container.addClass('hidden');
291
  }
292
-
293
- console.log(is_checked);
294
  }).trigger("change");
295
 
296
  /**
@@ -312,72 +310,65 @@ jQuery(document).ready(function() {
312
  * Save permalinks from Gutenberg with AJAX
313
  */
314
  jQuery('#permalink-manager .save-row.hidden').removeClass('hidden');
315
- jQuery('#permalink-manager').on('click', '#permalink-manager-save-button', function() {
316
- pm_reload_gutenberg_uri_editor();
317
- return false;
318
- });
319
 
320
- var pm_reload_pending = false;
321
- function pm_reload_gutenberg_uri_editor() {
322
  var pm_container = jQuery('#permalink-manager.postbox');
323
- var pm_fields = jQuery(pm_container).find("input, select");
324
- var pm_data = jQuery(pm_fields).serialize() + '&action=' + 'pm_save_permalink';
325
 
326
- // Do not duplicate AJAX requests
327
- if(!pm_reload_pending) {
328
- // console.log(pm_data);
 
 
 
 
 
 
 
 
 
 
 
329
 
330
- jQuery.ajax({
331
- type: 'POST',
332
- url: permalink_manager.ajax_url,
333
- data: pm_data,
334
- beforeSend: function() {
335
- pm_reload_pending = true;
336
-
337
- jQuery(pm_container).LoadingOverlay("show", {
338
- background : "rgba(0, 0, 0, 0.1)",
339
- });
340
- },
341
- success: function(html) {
342
- jQuery(pm_container).find('.permalink-manager-gutenberg').replaceWith(html);
343
- jQuery(pm_container).LoadingOverlay("hide");
344
 
345
- jQuery(pm_container).find('select[name="auto_update_uri"]').trigger("change");
346
- pm_help_tooltips();
 
347
 
348
- if(wp && wp.data !== 'undefined') {
349
- wp.data.dispatch('core/editor').savePost();
350
- }
 
 
 
351
 
352
- pm_reload_pending = false;
353
- }
354
- });
355
- }
356
  }
357
 
358
  /**
359
  * Reload the URI Editor in Gutenberg after the post is published or the title/slug is changed
360
  */
361
  if(typeof wp !== 'undefined' && typeof wp.data !== 'undefined' && typeof wp.data.select !== 'undefined' && typeof wp.blocks !== 'undefined' && typeof wp.data.subscribe !== 'undefined' && wp.data.select('core/editor') !== 'undefined' && wp.data.select('core/editor') !== null) {
362
- wp.data.subscribe(function() {
 
 
363
  var isSavingPost = wp.data.select('core/editor').isSavingPost();
364
  var isAutosavingPost = wp.data.select('core/editor').isAutosavingPost();
 
365
 
366
- if(isSavingPost && !isAutosavingPost) {
367
- old_status = wp.data.select('core/editor').getCurrentPostAttribute('status');
368
- new_status = wp.data.select('core/editor').getEditedPostAttribute('status');
369
-
370
- old_title = wp.data.select('core/editor').getCurrentPostAttribute('title');
371
- new_title = wp.data.select('core/editor').getEditedPostAttribute('title');
372
 
373
- old_slug = wp.data.select('core/editor').getCurrentPostAttribute('slug');
374
- new_slug = wp.data.select('core/editor').getEditedPostAttribute('slug');
375
-
376
- if((old_status !== new_status && new_status == 'publish') || (old_title !== new_title) || (old_slug !== new_slug)) {
377
- setTimeout(function() {
378
- pm_reload_gutenberg_uri_editor();
379
- }, 1500);
380
- }
381
  }
382
  });
383
  }
@@ -387,11 +378,15 @@ jQuery(document).ready(function() {
387
  */
388
  function pm_help_tooltips() {
389
  if(jQuery('#permalink-manager .help_tooltip').length > 0) {
390
- tippy('#permalink-manager .help_tooltip', {
391
- position: 'top-start',
392
- arrow: true,
393
- theme: 'tippy-pm',
394
- distance: 20,
 
 
 
 
395
  });
396
  }
397
  }
@@ -454,7 +449,6 @@ jQuery(document).ready(function() {
454
  },
455
  success: function(data) {
456
  var table_dom = jQuery('#permalink-manager .updated-slugs-table');
457
- // console.log(data);
458
 
459
  // Display the table
460
  if(data.hasOwnProperty('html')) {
289
  } else {
290
  rel_field_container.addClass('hidden');
291
  }
 
 
292
  }).trigger("change");
293
 
294
  /**
310
  * Save permalinks from Gutenberg with AJAX
311
  */
312
  jQuery('#permalink-manager .save-row.hidden').removeClass('hidden');
313
+ jQuery('#permalink-manager').on('click', '#permalink-manager-save-button', pm_gutenberg_save_uri);
 
 
 
314
 
315
+ function pm_gutenberg_reload() {
 
316
  var pm_container = jQuery('#permalink-manager.postbox');
317
+ var pm_post_id = jQuery('input[name="permalink-manager-edit-uri-element-id"]').val();
 
318
 
319
+ jQuery.ajax({
320
+ type: 'GET',
321
+ url: permalink_manager.ajax_url + '?action=pm_get_uri_editor',
322
+ data: {
323
+ 'post_id': pm_post_id
324
+ },
325
+ beforeSend: function() {
326
+ jQuery(pm_container).LoadingOverlay("show", {
327
+ background : "rgba(0, 0, 0, 0.1)",
328
+ });
329
+ },
330
+ success: function(html) {
331
+ jQuery(pm_container).find('.permalink-manager-gutenberg').replaceWith(html);
332
+ jQuery(pm_container).LoadingOverlay("hide");
333
 
334
+ jQuery(pm_container).find('select[name="auto_update_uri"]').trigger("change");
335
+ pm_help_tooltips();
336
+ }
337
+ });
338
+ }
 
 
 
 
 
 
 
 
 
339
 
340
+ function pm_gutenberg_save_uri() {
341
+ var pm_container = jQuery('#permalink-manager.postbox');
342
+ var pm_fields = jQuery(pm_container).find("input, select");
343
 
344
+ jQuery.ajax({
345
+ type: 'POST',
346
+ url: permalink_manager.ajax_url,
347
+ data: jQuery(pm_fields).serialize() + '&action=pm_save_permalink',
348
+ success: pm_gutenberg_reload
349
+ });
350
 
351
+ return false;
 
 
 
352
  }
353
 
354
  /**
355
  * Reload the URI Editor in Gutenberg after the post is published or the title/slug is changed
356
  */
357
  if(typeof wp !== 'undefined' && typeof wp.data !== 'undefined' && typeof wp.data.select !== 'undefined' && typeof wp.blocks !== 'undefined' && typeof wp.data.subscribe !== 'undefined' && wp.data.select('core/editor') !== 'undefined' && wp.data.select('core/editor') !== null) {
358
+ var pm_gutenberg_reload_in_progress = 0;
359
+
360
+ const pm_unsubscribe = wp.data.subscribe(function() {
361
  var isSavingPost = wp.data.select('core/editor').isSavingPost();
362
  var isAutosavingPost = wp.data.select('core/editor').isAutosavingPost();
363
+ var didPostSaveRequestSucceed = wp.data.select('core/editor').didPostSaveRequestSucceed();
364
 
365
+ // Wait until the last occurence is called
366
+ if(isSavingPost && !isAutosavingPost && didPostSaveRequestSucceed) {
367
+ clearTimeout(pm_gutenberg_reload_in_progress);
 
 
 
368
 
369
+ pm_gutenberg_reload_in_progress = setTimeout(function(){
370
+ pm_gutenberg_reload();
371
+ }, 1500);
 
 
 
 
 
372
  }
373
  });
374
  }
378
  */
379
  function pm_help_tooltips() {
380
  if(jQuery('#permalink-manager .help_tooltip').length > 0) {
381
+ jQuery('#permalink-manager .help_tooltip').each(function() {
382
+ var helpTooltip = this;
383
+
384
+ tippy(helpTooltip, {
385
+ position: 'top-start',
386
+ arrow: true,
387
+ content: jQuery(helpTooltip).attr('title'),
388
+ distance: 20
389
+ });
390
  });
391
  }
392
  }
449
  },
450
  success: function(data) {
451
  var table_dom = jQuery('#permalink-manager .updated-slugs-table');
 
452
 
453
  // Display the table
454
  if(data.hasOwnProperty('html')) {
out/permalink-manager-plugins.js CHANGED
@@ -1,10 +1,20 @@
1
  /**!
2
- * tippy.js (v2.5.4)
 
 
 
 
 
 
 
 
 
3
  * https://atomiks.github.io/tippyjs/
4
- * Copyright (c) 2017 atomiks (Tippy) & FezVrasta (Popper)
5
  * @license MIT
 
6
  */
7
- (function(t,e){'object'==typeof exports&&'undefined'!=typeof module?module.exports=e():'function'==typeof define&&define.amd?define(e):t.tippy=e()})(this,function(){'use strict';function t(t){return'[object Object]'==={}.toString.call(t)}function a(t){return[].slice.call(t)}function o(e){if(e instanceof Element||t(e))return[e];if(e instanceof NodeList)return a(e);if(Array.isArray(e))return e;try{return a(document.querySelectorAll(e))}catch(t){return[]}}function r(t){t.refObj=!0,t.attributes=t.attributes||{},t.setAttribute=function(e,a){t.attributes[e]=a},t.getAttribute=function(e){return t.attributes[e]},t.removeAttribute=function(e){delete t.attributes[e]},t.hasAttribute=function(e){return e in t.attributes},t.addEventListener=function(){},t.removeEventListener=function(){},t.classList={classNames:{},add:function(e){return t.classList.classNames[e]=!0},remove:function(e){return delete t.classList.classNames[e],!0},contains:function(e){return e in t.classList.classNames}}}function p(t){for(var e=['','webkit'],a=t.charAt(0).toUpperCase()+t.slice(1),o=0;o<e.length;o++){var i=e[o],r=i?i+a:t;if('undefined'!=typeof document.body.style[r])return r}return null}function n(){return document.createElement('div')}function s(t,e,a){var i=n();i.setAttribute('class','tippy-popper'),i.setAttribute('role','tooltip'),i.setAttribute('id','tippy-'+t),i.style.zIndex=a.zIndex,i.style.maxWidth=a.maxWidth;var o=n();o.setAttribute('class','tippy-tooltip'),o.setAttribute('data-size',a.size),o.setAttribute('data-animation',a.animation),o.setAttribute('data-state','hidden'),a.theme.split(' ').forEach(function(e){o.classList.add(e+'-theme')});var r=n();if(r.setAttribute('class','tippy-content'),a.arrow){var s=n();s.style[p('transform')]=a.arrowTransform,'round'===a.arrowType?(s.classList.add('tippy-roundarrow'),s.innerHTML='<svg viewBox="0 0 24 8" xmlns="http://www.w3.org/2000/svg"><path d="M3 8s2.021-.015 5.253-4.218C9.584 2.051 10.797 1.007 12 1c1.203-.007 2.416 1.035 3.761 2.782C19.012 8.005 21 8 21 8H3z"/></svg>'):s.classList.add('tippy-arrow'),o.appendChild(s)}if(a.animateFill){o.setAttribute('data-animatefill','');var l=n();l.classList.add('tippy-backdrop'),l.setAttribute('data-state','hidden'),o.appendChild(l)}a.inertia&&o.setAttribute('data-inertia',''),a.interactive&&o.setAttribute('data-interactive','');var d=a.html;if(d){var c;d instanceof Element?(r.appendChild(d),c='#'+(d.id||'tippy-html-template')):(r.innerHTML=document.querySelector(d).innerHTML,c=d),i.setAttribute('data-html',''),o.setAttribute('data-template-id',c),a.interactive&&i.setAttribute('tabindex','-1')}else r[a.allowTitleHTML?'innerHTML':'textContent']=e;return o.appendChild(r),i.appendChild(o),i}function l(t,e,a,i){var o=a.onTrigger,r=a.onMouseLeave,p=a.onBlur,n=a.onDelegateShow,s=a.onDelegateHide,l=[];if('manual'===t)return l;var d=function(t,a){e.addEventListener(t,a),l.push({event:t,handler:a})};return i.target?(qt.supportsTouch&&i.touchHold&&(d('touchstart',n),d('touchend',s)),'mouseenter'===t&&(d('mouseover',n),d('mouseout',s)),'focus'===t&&(d('focusin',n),d('focusout',s)),'click'===t&&d('click',n)):(d(t,o),qt.supportsTouch&&i.touchHold&&(d('touchstart',o),d('touchend',r)),'mouseenter'===t&&d('mouseleave',r),'focus'===t&&d(Ft?'focusout':'blur',p)),l}function d(t,e){var a=Gt.reduce(function(a,i){var o=t.getAttribute('data-tippy-'+i.toLowerCase())||e[i];return'false'===o&&(o=!1),'true'===o&&(o=!0),isFinite(o)&&!isNaN(parseFloat(o))&&(o=parseFloat(o)),'target'!==i&&'string'==typeof o&&'['===o.trim().charAt(0)&&(o=JSON.parse(o)),a[i]=o,a},{});return Jt({},e,a)}function c(t,e){return e.arrow&&(e.animateFill=!1),e.appendTo&&'function'==typeof e.appendTo&&(e.appendTo=e.appendTo()),'function'==typeof e.html&&(e.html=e.html(t)),e}function m(t){var e=function(e){return t.querySelector(e)};return{tooltip:e(jt.TOOLTIP),backdrop:e(jt.BACKDROP),content:e(jt.CONTENT),arrow:e(jt.ARROW)||e(jt.ROUND_ARROW)}}function f(t){var e=t.getAttribute('title');e&&t.setAttribute('data-original-title',e),t.removeAttribute('title')}function h(t){return t&&'[object Function]'==={}.toString.call(t)}function b(t,e){if(1!==t.nodeType)return[];var a=getComputedStyle(t,null);return e?a[e]:a}function u(t){return'HTML'===t.nodeName?t:t.parentNode||t.host}function y(t){if(!t)return document.body;switch(t.nodeName){case'HTML':case'BODY':return t.ownerDocument.body;case'#document':return t.body;}var e=b(t),a=e.overflow,i=e.overflowX,o=e.overflowY;return /(auto|scroll|overlay)/.test(a+o+i)?t:y(u(t))}function g(t){return 11===t?ie:10===t?oe:ie||oe}function w(t){if(!t)return document.documentElement;for(var e=g(10)?document.body:null,a=t.offsetParent;a===e&&t.nextElementSibling;)a=(t=t.nextElementSibling).offsetParent;var i=a&&a.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(a.nodeName)&&'static'===b(a,'position')?w(a):a:t?t.ownerDocument.documentElement:document.documentElement}function x(t){var e=t.nodeName;return'BODY'!==e&&('HTML'===e||w(t.firstElementChild)===t)}function v(t){return null===t.parentNode?t:v(t.parentNode)}function k(t,e){if(!t||!t.nodeType||!e||!e.nodeType)return document.documentElement;var a=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=a?t:e,o=a?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var p=r.commonAncestorContainer;if(t!==p&&e!==p||i.contains(o))return x(p)?p:w(p);var n=v(t);return n.host?k(n.host,e):k(t,v(e).host)}function E(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',a='top'===e?'scrollTop':'scrollLeft',i=t.nodeName;if('BODY'===i||'HTML'===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[a]}return t[a]}function T(t,e){var a=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],i=E(e,'top'),o=E(e,'left'),r=a?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function L(t,e){var a='x'===e?'Left':'Top',i='Left'===a?'Right':'Bottom';return parseFloat(t['border'+a+'Width'],10)+parseFloat(t['border'+i+'Width'],10)}function O(t,e,a,i){return Ut(e['offset'+t],e['scroll'+t],a['client'+t],a['offset'+t],a['scroll'+t],g(10)?a['offset'+t]+i['margin'+('Height'===t?'Top':'Left')]+i['margin'+('Height'===t?'Bottom':'Right')]:0)}function A(){var t=document.body,e=document.documentElement,a=g(10)&&getComputedStyle(e);return{height:O('Height',t,e,a),width:O('Width',t,e,a)}}function C(t){return se({},t,{right:t.left+t.width,bottom:t.top+t.height})}function S(t){var e={};try{if(g(10)){e=t.getBoundingClientRect();var a=E(t,'top'),i=E(t,'left');e.top+=a,e.left+=i,e.bottom+=a,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r='HTML'===t.nodeName?A():{},p=r.width||t.clientWidth||o.right-o.left,n=r.height||t.clientHeight||o.bottom-o.top,s=t.offsetWidth-p,l=t.offsetHeight-n;if(s||l){var d=b(t);s-=L(d,'x'),l-=L(d,'y'),o.width-=s,o.height-=l}return C(o)}function Y(t,e){var a=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],i=g(10),o='HTML'===e.nodeName,r=S(t),p=S(e),n=y(t),s=b(e),l=parseFloat(s.borderTopWidth,10),d=parseFloat(s.borderLeftWidth,10);a&&'HTML'===e.nodeName&&(p.top=Ut(p.top,0),p.left=Ut(p.left,0));var c=C({top:r.top-p.top-l,left:r.left-p.left-d,width:r.width,height:r.height});if(c.marginTop=0,c.marginLeft=0,!i&&o){var m=parseFloat(s.marginTop,10),f=parseFloat(s.marginLeft,10);c.top-=l-m,c.bottom-=l-m,c.left-=d-f,c.right-=d-f,c.marginTop=m,c.marginLeft=f}return(i&&!a?e.contains(n):e===n&&'BODY'!==n.nodeName)&&(c=T(c,e)),c}function P(t){var e=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1],a=t.ownerDocument.documentElement,i=Y(t,a),o=Ut(a.clientWidth,window.innerWidth||0),r=Ut(a.clientHeight,window.innerHeight||0),p=e?0:E(a),n=e?0:E(a,'left'),s={top:p-i.top+i.marginTop,left:n-i.left+i.marginLeft,width:o,height:r};return C(s)}function X(t){var e=t.nodeName;return'BODY'!==e&&'HTML'!==e&&('fixed'===b(t,'position')||X(u(t)))}function I(t){if(!t||!t.parentElement||g())return document.documentElement;for(var e=t.parentElement;e&&'none'===b(e,'transform');)e=e.parentElement;return e||document.documentElement}function D(t,e,a,i){var o=!!(4<arguments.length&&void 0!==arguments[4])&&arguments[4],r={top:0,left:0},p=o?I(t):k(t,e);if('viewport'===i)r=P(p,o);else{var n;'scrollParent'===i?(n=y(u(e)),'BODY'===n.nodeName&&(n=t.ownerDocument.documentElement)):'window'===i?n=t.ownerDocument.documentElement:n=i;var s=Y(n,p,o);if('HTML'===n.nodeName&&!X(p)){var l=A(),d=l.height,c=l.width;r.top+=s.top-s.marginTop,r.bottom=d+s.top,r.left+=s.left-s.marginLeft,r.right=c+s.left}else r=s}return r.left+=a,r.top+=a,r.right-=a,r.bottom-=a,r}function _(t){var e=t.width,a=t.height;return e*a}function R(t,e,a,i,o){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf('auto'))return t;var p=D(a,i,r,o),n={top:{width:p.width,height:e.top-p.top},right:{width:p.right-e.right,height:p.height},bottom:{width:p.width,height:p.bottom-e.bottom},left:{width:e.left-p.left,height:p.height}},s=Object.keys(n).map(function(t){return se({key:t},n[t],{area:_(n[t])})}).sort(function(t,e){return e.area-t.area}),l=s.filter(function(t){var e=t.width,i=t.height;return e>=a.clientWidth&&i>=a.clientHeight}),d=0<l.length?l[0].key:s[0].key,c=t.split('-')[1];return d+(c?'-'+c:'')}function N(t,e,a){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,o=i?I(e):k(e,a);return Y(a,o,i)}function H(t){var e=getComputedStyle(t),a=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight),o={width:t.offsetWidth+i,height:t.offsetHeight+a};return o}function M(t){var e={left:'right',right:'left',bottom:'top',top:'bottom'};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function B(t,e,a){a=a.split('-')[0];var i=H(t),o={width:i.width,height:i.height},r=-1!==['right','left'].indexOf(a),p=r?'top':'left',n=r?'left':'top',s=r?'height':'width',l=r?'width':'height';return o[p]=e[p]+e[s]/2-i[s]/2,o[n]=a===n?e[n]-i[l]:e[M(n)],o}function W(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function U(t,e,a){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===a});var i=W(t,function(t){return t[e]===a});return t.indexOf(i)}function z(t,e,a){var i=void 0===a?t:t.slice(0,U(t,'name',a));return i.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var a=t['function']||t.fn;t.enabled&&h(a)&&(e.offsets.popper=C(e.offsets.popper),e.offsets.reference=C(e.offsets.reference),e=a(e,t))}),e}function F(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=N(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=R(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=B(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',t=z(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function q(t,e){return t.some(function(t){var a=t.name,i=t.enabled;return i&&a===e})}function j(t){for(var e=[!1,'ms','Webkit','Moz','O'],a=t.charAt(0).toUpperCase()+t.slice(1),o=0;o<e.length;o++){var i=e[o],r=i?''+i+a:t;if('undefined'!=typeof document.body.style[r])return r}return null}function K(){return this.state.isDestroyed=!0,q(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[j('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function G(t){var e=t.ownerDocument;return e?e.defaultView:window}function V(t,e,a,i){var o='BODY'===t.nodeName,r=o?t.ownerDocument.defaultView:t;r.addEventListener(e,a,{passive:!0}),o||V(y(r.parentNode),e,a,i),i.push(r)}function Q(t,e,a,i){a.updateBound=i,G(t).addEventListener('resize',a.updateBound,{passive:!0});var o=y(t);return V(o,'scroll',a.updateBound,a.scrollParents),a.scrollElement=o,a.eventsEnabled=!0,a}function J(){this.state.eventsEnabled||(this.state=Q(this.reference,this.options,this.state,this.scheduleUpdate))}function Z(t,e){return G(t).removeEventListener('resize',e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener('scroll',e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e}function $(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=Z(this.reference,this.state))}function tt(t){return''!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function et(t,e){Object.keys(e).forEach(function(a){var i='';-1!==['width','height','top','right','bottom','left'].indexOf(a)&&tt(e[a])&&(i='px'),t.style[a]=e[a]+i})}function at(t,e){Object.keys(e).forEach(function(a){var i=e[a];!1===i?t.removeAttribute(a):t.setAttribute(a,e[a])})}function it(t,e,a){var i=W(t,function(t){var a=t.name;return a===e}),o=!!i&&t.some(function(t){return t.name===a&&t.enabled&&t.order<i.order});if(!o){var r='`'+e+'`';console.warn('`'+a+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return o}function ot(t){return'end'===t?'start':'start'===t?'end':t}function rt(t){var e=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1],a=de.indexOf(t),i=de.slice(a+1).concat(de.slice(0,a));return e?i.reverse():i}function pt(t,e,a,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],p=o[2];if(!r)return t;if(0===p.indexOf('%')){var n;switch(p){case'%p':n=a;break;case'%':case'%r':default:n=i;}var s=C(n);return s[e]/100*r}if('vh'===p||'vw'===p){var l;return l='vh'===p?Ut(document.documentElement.clientHeight,window.innerHeight||0):Ut(document.documentElement.clientWidth,window.innerWidth||0),l/100*r}return r}function nt(t,e,a,i){var o=[0,0],r=-1!==['right','left'].indexOf(i),p=t.split(/(\+|\-)/).map(function(t){return t.trim()}),n=p.indexOf(W(p,function(t){return-1!==t.search(/,|\s/)}));p[n]&&-1===p[n].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var s=/\s*,\s*|\s+/,l=-1===n?[p]:[p.slice(0,n).concat([p[n].split(s)[0]]),[p[n].split(s)[1]].concat(p.slice(n+1))];return l=l.map(function(t,i){var o=(1===i?!r:r)?'height':'width',p=!1;return t.reduce(function(t,e){return''===t[t.length-1]&&-1!==['+','-'].indexOf(e)?(t[t.length-1]=e,p=!0,t):p?(t[t.length-1]+=e,p=!1,t):t.concat(e)},[]).map(function(t){return pt(t,o,e,a)})}),l.forEach(function(t,e){t.forEach(function(a,i){tt(a)&&(o[e]+=a*('-'===t[i-1]?-1:1))})}),o}function st(t,e){var a=e.offset,i=t.placement,o=t.offsets,r=o.popper,p=o.reference,n=i.split('-')[0],s=void 0;return s=tt(+a)?[+a,0]:nt(a,r,p,n),'left'===n?(r.top+=s[0],r.left-=s[1]):'right'===n?(r.top+=s[0],r.left+=s[1]):'top'===n?(r.left+=s[0],r.top-=s[1]):'bottom'===n&&(r.left+=s[0],r.top+=s[1]),t.popper=r,t}function lt(t){void t.offsetHeight}function dt(t,e,a){var i=t.popper,o=t.options,r=o.onCreate,p=o.onUpdate;o.onCreate=o.onUpdate=function(){lt(i),e&&e(),p(),o.onCreate=r,o.onUpdate=p},a||t.scheduleUpdate()}function ct(t){return t.getAttribute('x-placement').replace(/-.+/,'')}function mt(t,e,a){if(!e.getAttribute('x-placement'))return!0;var i=t.clientX,o=t.clientY,r=a.interactiveBorder,p=a.distance,n=e.getBoundingClientRect(),s=ct(e),l=r+p,d={top:n.top-o>r,bottom:o-n.bottom>r,left:n.left-i>r,right:i-n.right>r};return'top'===s?d.top=n.top-o>l:'bottom'===s?d.bottom=o-n.bottom>l:'left'===s?d.left=n.left-i>l:'right'===s?d.right=i-n.right>l:void 0,d.top||d.bottom||d.left||d.right}function ft(t,e,a,i){if(!e.length)return'';var o={scale:function(){return 1===e.length?''+e[0]:a?e[0]+', '+e[1]:e[1]+', '+e[0]}(),translate:function(){return 1===e.length?i?-e[0]+'px':e[0]+'px':a?i?e[0]+'px, '+-e[1]+'px':e[0]+'px, '+e[1]+'px':i?-e[1]+'px, '+e[0]+'px':e[1]+'px, '+e[0]+'px'}()};return o[t]}function ht(t,e){if(!t)return'';return e?t:{X:'Y',Y:'X'}[t]}function bt(t,e,a){var i=ct(t),o='top'===i||'bottom'===i,r='right'===i||'bottom'===i,n=function(t){var e=a.match(t);return e?e[1]:''},s=function(t){var e=a.match(t);return e?e[1].split(',').map(parseFloat):[]},l={translate:/translateX?Y?\(([^)]+)\)/,scale:/scaleX?Y?\(([^)]+)\)/},d={translate:{axis:n(/translate([XY])/),numbers:s(l.translate)},scale:{axis:n(/scale([XY])/),numbers:s(l.scale)}},c=a.replace(l.translate,'translate'+ht(d.translate.axis,o)+'('+ft('translate',d.translate.numbers,o,r)+')').replace(l.scale,'scale'+ht(d.scale.axis,o)+'('+ft('scale',d.scale.numbers,o,r)+')');e.style[p('transform')]=c}function ut(t){return-(t-Kt.distance)+'px'}function yt(t){requestAnimationFrame(function(){setTimeout(t,1)})}function gt(t,a){var i=Element.prototype.closest||function(t){for(var a=this;a;){if(e.call(a,t))return a;a=a.parentElement}};return i.call(t,a)}function wt(t,e){return Array.isArray(t)?t[e]:t}function xt(t,e){t.forEach(function(t){t&&t.setAttribute('data-state',e)})}function vt(t,e){t.filter(Boolean).forEach(function(t){t.style[p('transitionDuration')]=e+'ms'})}function kt(t){var e=window.scrollX||window.pageXOffset,a=window.scrollY||window.pageYOffset;t.focus(),scroll(e,a)}function Et(){var t=this._(be).lastTriggerEvent;return this.options.followCursor&&!qt.usingTouch&&t&&'focus'!==t.type}function Tt(t){var e=gt(t.target,this.options.target);if(e&&!e._tippy){var a=e.getAttribute('title')||this.title;a&&(e.setAttribute('title',a),Ht(e,Jt({},this.options,{target:null})),Lt.call(e._tippy,t))}}function Lt(t){var e=this,a=this.options;if(Yt.call(this),!this.state.visible){if(a.target)return void Tt.call(this,t);if(this._(be).isPreparingToShow=!0,a.wait)return void a.wait.call(this.popper,this.show.bind(this),t);if(Et.call(this)){this._(be).followCursorListener||Pt.call(this);var i=m(this.popper),o=i.arrow;o&&(o.style.margin='0'),document.addEventListener('mousemove',this._(be).followCursorListener)}var r=wt(a.delay,0);r?this._(be).showTimeout=setTimeout(function(){e.show()},r):this.show()}}function Ot(){var t=this;if(Yt.call(this),!!this.state.visible){this._(be).isPreparingToShow=!1;var e=wt(this.options.delay,1);e?this._(be).hideTimeout=setTimeout(function(){t.state.visible&&t.hide()},e):this.hide()}}function At(){var t=this;return{onTrigger:function(e){if(t.state.enabled){var a=qt.supportsTouch&&qt.usingTouch&&-1<['mouseenter','mouseover','focus'].indexOf(e.type);a&&t.options.touchHold||(t._(be).lastTriggerEvent=e,'click'===e.type&&'persistent'!==t.options.hideOnClick&&t.state.visible?Ot.call(t):Lt.call(t,e))}},onMouseLeave:function(e){if(!(-1<['mouseleave','mouseout'].indexOf(e.type)&&qt.supportsTouch&&qt.usingTouch&&t.options.touchHold)){if(t.options.interactive){var a=Ot.bind(t),i=function e(i){var o=gt(i.target,jt.REFERENCE),r=gt(i.target,jt.POPPER)===t.popper,p=o===t.reference;r||p||mt(i,t.popper,t.options)&&(document.body.removeEventListener('mouseleave',a),document.removeEventListener('mousemove',e),Ot.call(t,e))};return document.body.addEventListener('mouseleave',a),void document.addEventListener('mousemove',i)}Ot.call(t)}},onBlur:function(e){if(!(e.target!==t.reference||qt.usingTouch)){if(t.options.interactive){if(!e.relatedTarget)return;if(gt(e.relatedTarget,jt.POPPER))return}Ot.call(t)}},onDelegateShow:function(e){gt(e.target,t.options.target)&&Lt.call(t,e)},onDelegateHide:function(e){gt(e.target,t.options.target)&&Ot.call(t)}}}function Ct(){var t=this,e=this.popper,a=this.reference,i=this.options,o=m(e),r=o.tooltip,p=i.popperOptions,n='round'===i.arrowType?jt.ROUND_ARROW:jt.ARROW,s=r.querySelector(n),l=Jt({placement:i.placement},p||{},{modifiers:Jt({},p?p.modifiers:{},{arrow:Jt({element:n},p&&p.modifiers?p.modifiers.arrow:{}),flip:Jt({enabled:i.flip,padding:i.distance+5,behavior:i.flipBehavior},p&&p.modifiers?p.modifiers.flip:{}),offset:Jt({offset:i.offset},p&&p.modifiers?p.modifiers.offset:{})}),onCreate:function(){r.style[ct(e)]=ut(i.distance),s&&i.arrowTransform&&bt(e,s,i.arrowTransform)},onUpdate:function(){var t=r.style;t.top='',t.bottom='',t.left='',t.right='',t[ct(e)]=ut(i.distance),s&&i.arrowTransform&&bt(e,s,i.arrowTransform)}});return It.call(this,{target:e,callback:function(){t.popperInstance.update()},options:{childList:!0,subtree:!0,characterData:!0}}),new me(a,e,l)}function St(t){var e=this.options;if(this.popperInstance?(this.popperInstance.scheduleUpdate(),e.livePlacement&&!Et.call(this)&&this.popperInstance.enableEventListeners()):(this.popperInstance=Ct.call(this),!e.livePlacement&&this.popperInstance.disableEventListeners()),!Et.call(this)){var a=m(this.popper),i=a.arrow;i&&(i.style.margin=''),this.popperInstance.reference=this.reference}dt(this.popperInstance,t,!0),e.appendTo.contains(this.popper)||e.appendTo.appendChild(this.popper)}function Yt(){var t=this._(be),e=t.showTimeout,a=t.hideTimeout;clearTimeout(e),clearTimeout(a)}function Pt(){var t=this;this._(be).followCursorListener=function(e){var a=t._(be).lastMouseMoveEvent=e,i=a.clientX,o=a.clientY;t.popperInstance&&(t.popperInstance.reference={getBoundingClientRect:function(){return{width:0,height:0,top:o,left:i,right:i,bottom:o}},clientWidth:0,clientHeight:0},t.popperInstance.scheduleUpdate())}}function Xt(){var t=this,e=function(){t.popper.style[p('transitionDuration')]=t.options.updateDuration+'ms'},a=function(){t.popper.style[p('transitionDuration')]=''};(function i(){t.popperInstance&&t.popperInstance.update(),e(),t.state.visible?requestAnimationFrame(i):a()})()}function It(t){var e=t.target,a=t.callback,i=t.options;if(window.MutationObserver){var o=new MutationObserver(a);o.observe(e,i),this._(be).mutationObservers.push(o)}}function Dt(t,a){if(!t)return a();var e=m(this.popper),i=e.tooltip,o=function(t,e){e&&i[t+'EventListener']('transition'in document.body.style?'transitionend':'webkitTransitionEnd',e)},r=function t(r){r.target===i&&(o('remove',t),a())};o('remove',this._(be).transitionendListener),o('add',r),this._(be).transitionendListener=r}function _t(t,e){return t.reduce(function(t,a){var i=ge,o=c(a,e.performance?e:d(a,e)),r=a.getAttribute('title');if(!r&&!o.target&&!o.html&&!o.dynamicTitle)return t;a.setAttribute(o.target?'data-tippy-delegate':'data-tippy',''),f(a);var p=s(i,r,o),n=new ye({id:i,reference:a,popper:p,options:o,title:r,popperInstance:null});o.createPopperInstanceOnInit&&(n.popperInstance=Ct.call(n),n.popperInstance.disableEventListeners());var h=At.call(n);return n.listeners=o.trigger.trim().split(' ').reduce(function(t,e){return t.concat(l(e,a,h,o))},[]),o.dynamicTitle&&It.call(n,{target:a,callback:function(){var t=m(p),e=t.content,i=a.getAttribute('title');i&&(e[o.allowTitleHTML?'innerHTML':'textContent']=n.title=i,f(a))},options:{attributes:!0}}),a._tippy=n,p._tippy=n,p._reference=a,t.push(n),ge++,t},[])}function Rt(t){var e=a(document.querySelectorAll(jt.POPPER));e.forEach(function(e){var a=e._tippy;if(a){var i=a.options;(!0===i.hideOnClick||-1<i.trigger.indexOf('focus'))&&(!t||e!==t.popper)&&a.hide()}})}function Nt(){var t=function(){qt.usingTouch||(qt.usingTouch=!0,qt.iOS&&document.body.classList.add('tippy-touch'),qt.dynamicInputDetection&&window.performance&&document.addEventListener('mousemove',i),qt.onUserInputChange('touch'))},i=function(){var t;return function(){var e=performance.now();20>e-t&&(qt.usingTouch=!1,document.removeEventListener('mousemove',i),!qt.iOS&&document.body.classList.remove('tippy-touch'),qt.onUserInputChange('mouse')),t=e}}();document.addEventListener('click',function(t){if(!(t.target instanceof Element))return Rt();var e=gt(t.target,jt.REFERENCE),a=gt(t.target,jt.POPPER);if(!(a&&a._tippy&&a._tippy.options.interactive)){if(e&&e._tippy){var i=e._tippy.options,o=-1<i.trigger.indexOf('click'),r=i.multiple;if(!r&&qt.usingTouch||!r&&o)return Rt(e._tippy);if(!0!==i.hideOnClick||o)return}Rt()}}),document.addEventListener('touchstart',t),window.addEventListener('blur',function(){var t=document,a=t.activeElement;a&&a.blur&&e.call(a,jt.REFERENCE)&&a.blur()}),window.addEventListener('resize',function(){a(document.querySelectorAll(jt.POPPER)).forEach(function(t){var e=t._tippy;e&&!e.options.livePlacement&&e.popperInstance.scheduleUpdate()})}),!qt.supportsTouch&&(navigator.maxTouchPoints||navigator.msMaxTouchPoints)&&document.addEventListener('pointerdown',t)}function Ht(e,a,i){qt.supported&&!we&&(Nt(),we=!0),t(e)&&r(e),a=Jt({},Kt,a);var p=o(e),n=p[0];return{selector:e,options:a,tooltips:qt.supported?_t(i&&n?[n]:p,a):[],destroyAll:function(){this.tooltips.forEach(function(t){return t.destroy()}),this.tooltips=[]}}}var Mt=Math.min,Bt=Math.round,Wt=Math.floor,Ut=Math.max,zt='undefined'!=typeof window,Ft=zt&&/MSIE |Trident\//.test(navigator.userAgent),qt={};zt&&(qt.supported='requestAnimationFrame'in window,qt.supportsTouch='ontouchstart'in window,qt.usingTouch=!1,qt.dynamicInputDetection=!0,qt.iOS=/iPhone|iPad|iPod/.test(navigator.platform)&&!window.MSStream,qt.onUserInputChange=function(){});for(var jt={POPPER:'.tippy-popper',TOOLTIP:'.tippy-tooltip',CONTENT:'.tippy-content',BACKDROP:'.tippy-backdrop',ARROW:'.tippy-arrow',ROUND_ARROW:'.tippy-roundarrow',REFERENCE:'[data-tippy]'},Kt={placement:'top',livePlacement:!0,trigger:'mouseenter focus',animation:'shift-away',html:!1,animateFill:!0,arrow:!1,delay:0,duration:[350,300],interactive:!1,interactiveBorder:2,theme:'dark',size:'regular',distance:10,offset:0,hideOnClick:!0,multiple:!1,followCursor:!1,inertia:!1,updateDuration:350,sticky:!1,appendTo:function(){return document.body},zIndex:9999,touchHold:!1,performance:!1,dynamicTitle:!1,flip:!0,flipBehavior:'flip',arrowType:'sharp',arrowTransform:'',maxWidth:'',target:null,allowTitleHTML:!0,popperOptions:{},createPopperInstanceOnInit:!1,onShow:function(){},onShown:function(){},onHide:function(){},onHidden:function(){}},Gt=qt.supported&&Object.keys(Kt),Vt=function(t,e){if(!(t instanceof e))throw new TypeError('Cannot call a class as a function')},Qt=function(){function t(t,e){for(var a,o=0;o<e.length;o++)a=e[o],a.enumerable=a.enumerable||!1,a.configurable=!0,('value'in a)&&(a.writable=!0),Object.defineProperty(t,a.key,a)}return function(e,a,i){return a&&t(e.prototype,a),i&&t(e,i),e}}(),Jt=Object.assign||function(t){for(var e,a=1;a<arguments.length;a++)for(var i in e=arguments[a],e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},Zt='undefined'!=typeof window&&'undefined'!=typeof document,$t=['Edge','Trident','Firefox'],te=0,ee=0;ee<$t.length;ee+=1)if(Zt&&0<=navigator.userAgent.indexOf($t[ee])){te=1;break}var i=Zt&&window.Promise,ae=i?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},te))}},ie=Zt&&!!(window.MSInputMethodContext&&document.documentMode),oe=Zt&&/MSIE 10/.test(navigator.userAgent),re=function(t,e){if(!(t instanceof e))throw new TypeError('Cannot call a class as a function')},pe=function(){function t(t,e){for(var a,o=0;o<e.length;o++)a=e[o],a.enumerable=a.enumerable||!1,a.configurable=!0,'value'in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}return function(e,a,i){return a&&t(e.prototype,a),i&&t(e,i),e}}(),ne=function(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t},se=Object.assign||function(t){for(var e,a=1;a<arguments.length;a++)for(var i in e=arguments[a],e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},le=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],de=le.slice(3),ce={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},me=function(){function t(e,a){var i=this,o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};re(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=ae(this.update.bind(this)),this.options=se({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=a&&a.jquery?a[0]:a,this.options.modifiers={},Object.keys(se({},t.Defaults.modifiers,o.modifiers)).forEach(function(e){i.options.modifiers[e]=se({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return se({name:t},i.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&h(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return pe(t,[{key:'update',value:function(){return F.call(this)}},{key:'destroy',value:function(){return K.call(this)}},{key:'enableEventListeners',value:function(){return J.call(this)}},{key:'disableEventListeners',value:function(){return $.call(this)}}]),t}();me.Utils=('undefined'==typeof window?global:window).PopperUtils,me.placements=le,me.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,a=e.split('-')[0],i=e.split('-')[1];if(i){var o=t.offsets,r=o.reference,p=o.popper,n=-1!==['bottom','top'].indexOf(a),s=n?'left':'top',l=n?'width':'height',d={start:ne({},s,r[s]),end:ne({},s,r[s]+r[l]-p[l])};t.offsets.popper=se({},p,d[i])}return t}},offset:{order:200,enabled:!0,fn:st,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var a=e.boundariesElement||w(t.instance.popper);t.instance.reference===a&&(a=w(a));var i=j('transform'),o=t.instance.popper.style,r=o.top,p=o.left,n=o[i];o.top='',o.left='',o[i]='';var s=D(t.instance.popper,t.instance.reference,e.padding,a,t.positionFixed);o.top=r,o.left=p,o[i]=n,e.boundaries=s;var l=e.priority,d=t.offsets.popper,c={primary:function(t){var a=d[t];return d[t]<s[t]&&!e.escapeWithReference&&(a=Ut(d[t],s[t])),ne({},t,a)},secondary:function(t){var a='right'===t?'left':'top',i=d[a];return d[t]>s[t]&&!e.escapeWithReference&&(i=Mt(d[a],s[t]-('right'===t?d.width:d.height))),ne({},a,i)}};return l.forEach(function(t){var e=-1===['left','top'].indexOf(t)?'secondary':'primary';d=se({},d,c[e](t))}),t.offsets.popper=d,t},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,a=e.popper,i=e.reference,o=t.placement.split('-')[0],r=Wt,p=-1!==['top','bottom'].indexOf(o),n=p?'right':'bottom',s=p?'left':'top',l=p?'width':'height';return a[n]<r(i[s])&&(t.offsets.popper[s]=r(i[s])-a[l]),a[s]>r(i[n])&&(t.offsets.popper[s]=r(i[n])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var a;if(!it(t.instance.modifiers,'arrow','keepTogether'))return t;var i=e.element;if('string'==typeof i){if(i=t.instance.popper.querySelector(i),!i)return t;}else if(!t.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),t;var o=t.placement.split('-')[0],r=t.offsets,p=r.popper,n=r.reference,s=-1!==['left','right'].indexOf(o),l=s?'height':'width',d=s?'Top':'Left',c=d.toLowerCase(),m=s?'left':'top',f=s?'bottom':'right',h=H(i)[l];n[f]-h<p[c]&&(t.offsets.popper[c]-=p[c]-(n[f]-h)),n[c]+h>p[f]&&(t.offsets.popper[c]+=n[c]+h-p[f]),t.offsets.popper=C(t.offsets.popper);var u=n[c]+n[l]/2-h/2,y=b(t.instance.popper),g=parseFloat(y['margin'+d],10),w=parseFloat(y['border'+d+'Width'],10),x=u-t.offsets.popper[c]-g-w;return x=Ut(Mt(p[l]-h,x),0),t.arrowElement=i,t.offsets.arrow=(a={},ne(a,c,Bt(x)),ne(a,m,''),a),t},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(t,e){if(q(t.instance.modifiers,'inner'))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var a=D(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split('-')[0],o=M(i),r=t.placement.split('-')[1]||'',p=[];switch(e.behavior){case ce.FLIP:p=[i,o];break;case ce.CLOCKWISE:p=rt(i);break;case ce.COUNTERCLOCKWISE:p=rt(i,!0);break;default:p=e.behavior;}return p.forEach(function(n,s){if(i!==n||p.length===s+1)return t;i=t.placement.split('-')[0],o=M(i);var l=t.offsets.popper,d=t.offsets.reference,c=Wt,m='left'===i&&c(l.right)>c(d.left)||'right'===i&&c(l.left)<c(d.right)||'top'===i&&c(l.bottom)>c(d.top)||'bottom'===i&&c(l.top)<c(d.bottom),f=c(l.left)<c(a.left),h=c(l.right)>c(a.right),b=c(l.top)<c(a.top),u=c(l.bottom)>c(a.bottom),y='left'===i&&f||'right'===i&&h||'top'===i&&b||'bottom'===i&&u,g=-1!==['top','bottom'].indexOf(i),w=!!e.flipVariations&&(g&&'start'===r&&f||g&&'end'===r&&h||!g&&'start'===r&&b||!g&&'end'===r&&u);(m||y||w)&&(t.flipped=!0,(m||y)&&(i=p[s+1]),w&&(r=ot(r)),t.placement=i+(r?'-'+r:''),t.offsets.popper=se({},t.offsets.popper,B(t.instance.popper,t.offsets.reference,t.placement)),t=z(t.instance.modifiers,t,'flip'))}),t},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,a=e.split('-')[0],i=t.offsets,o=i.popper,r=i.reference,p=-1!==['left','right'].indexOf(a),n=-1===['top','left'].indexOf(a);return o[p?'left':'top']=r[a]-(n?o[p?'width':'height']:0),t.placement=M(e),t.offsets.popper=C(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!it(t.instance.modifiers,'hide','preventOverflow'))return t;var e=t.offsets.reference,a=W(t.instance.modifiers,function(t){return'preventOverflow'===t.name}).boundaries;if(e.bottom<a.top||e.left>a.right||e.top>a.bottom||e.right<a.left){if(!0===t.hide)return t;t.hide=!0,t.attributes['x-out-of-boundaries']=''}else{if(!1===t.hide)return t;t.hide=!1,t.attributes['x-out-of-boundaries']=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var a=e.x,i=e.y,o=t.offsets.popper,r=W(t.instance.modifiers,function(t){return'applyStyle'===t.name}).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var p=void 0===r?e.gpuAcceleration:r,n=w(t.instance.popper),s=S(n),l={position:o.position},d={left:Wt(o.left),top:Bt(o.top),bottom:Bt(o.bottom),right:Wt(o.right)},c='bottom'===a?'top':'bottom',m='right'===i?'left':'right',f=j('transform'),h=void 0,b=void 0;if(b='bottom'==c?-s.height+d.bottom:d.top,h='right'==m?-s.width+d.right:d.left,p&&f)l[f]='translate3d('+h+'px, '+b+'px, 0)',l[c]=0,l[m]=0,l.willChange='transform';else{var u='bottom'==c?-1:1,y='right'==m?-1:1;l[c]=b*u,l[m]=h*y,l.willChange=c+', '+m}var g={"x-placement":t.placement};return t.attributes=se({},g,t.attributes),t.styles=se({},l,t.styles),t.arrowStyles=se({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(t){return et(t.instance.popper,t.styles),at(t.instance.popper,t.attributes),t.arrowElement&&Object.keys(t.arrowStyles).length&&et(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,a,i,o){var r=N(o,e,t,a.positionFixed),p=R(a.placement,r,e,t,a.modifiers.flip.boundariesElement,a.modifiers.flip.padding);return e.setAttribute('x-placement',p),et(e,{position:a.positionFixed?'fixed':'absolute'}),a},gpuAcceleration:void 0}}};var fe={};if(zt){var he=Element.prototype;fe=he.matches||he.matchesSelector||he.webkitMatchesSelector||he.mozMatchesSelector||he.msMatchesSelector||function(t){for(var e=(this.document||this.ownerDocument).querySelectorAll(t),a=e.length;0<=--a&&e.item(a)!==this;);return-1<a}}var e=fe,be={},ue=function(t){return function(e){return e===be&&t}},ye=function(){function t(e){for(var a in Vt(this,t),e)this[a]=e[a];this.state={destroyed:!1,visible:!1,enabled:!0},this._=ue({mutationObservers:[]})}return Qt(t,[{key:'enable',value:function(){this.state.enabled=!0}},{key:'disable',value:function(){this.state.enabled=!1}},{key:'show',value:function(t){var e=this;if(!this.state.destroyed&&this.state.enabled){var a=this.popper,i=this.reference,o=this.options,r=m(a),n=r.tooltip,s=r.backdrop,l=r.content;return o.dynamicTitle&&!i.getAttribute('data-original-title')||i.hasAttribute('disabled')?void 0:i.refObj||document.documentElement.contains(i)?void(o.onShow.call(a,this),t=wt(void 0===t?o.duration:t,0),vt([a,n,s],0),a.style.visibility='visible',this.state.visible=!0,St.call(this,function(){if(e.state.visible){if(Et.call(e)||e.popperInstance.scheduleUpdate(),Et.call(e)){e.popperInstance.disableEventListeners();var r=wt(o.delay,0),d=e._(be).lastTriggerEvent;d&&e._(be).followCursorListener(r&&e._(be).lastMouseMoveEvent?e._(be).lastMouseMoveEvent:d)}vt([n,s,s?l:null],t),s&&getComputedStyle(s)[p('transform')],o.interactive&&i.classList.add('tippy-active'),o.sticky&&Xt.call(e),xt([n,s],'visible'),Dt.call(e,t,function(){o.updateDuration||n.classList.add('tippy-notransition'),o.interactive&&kt(a),i.setAttribute('aria-describedby','tippy-'+e.id),o.onShown.call(a,e)})}})):void this.destroy()}}},{key:'hide',value:function(t){var e=this;if(!this.state.destroyed&&this.state.enabled){var a=this.popper,i=this.reference,o=this.options,r=m(a),p=r.tooltip,n=r.backdrop,s=r.content;o.onHide.call(a,this),t=wt(void 0===t?o.duration:t,1),o.updateDuration||p.classList.remove('tippy-notransition'),o.interactive&&i.classList.remove('tippy-active'),a.style.visibility='hidden',this.state.visible=!1,vt([p,n,n?s:null],t),xt([p,n],'hidden'),o.interactive&&-1<o.trigger.indexOf('click')&&kt(i),yt(function(){Dt.call(e,t,function(){e.state.visible||!o.appendTo.contains(a)||(!e._(be).isPreparingToShow&&(document.removeEventListener('mousemove',e._(be).followCursorListener),e._(be).lastMouseMoveEvent=null),e.popperInstance&&e.popperInstance.disableEventListeners(),i.removeAttribute('aria-describedby'),o.appendTo.removeChild(a),o.onHidden.call(a,e))})})}}},{key:'destroy',value:function(){var t=this,e=!(0<arguments.length&&void 0!==arguments[0])||arguments[0];if(!this.state.destroyed){this.state.visible&&this.hide(0),this.listeners.forEach(function(e){t.reference.removeEventListener(e.event,e.handler)}),this.title&&this.reference.setAttribute('title',this.title),delete this.reference._tippy;['data-original-title','data-tippy','data-tippy-delegate'].forEach(function(e){t.reference.removeAttribute(e)}),this.options.target&&e&&a(this.reference.querySelectorAll(this.options.target)).forEach(function(t){return t._tippy&&t._tippy.destroy()}),this.popperInstance&&this.popperInstance.destroy(),this._(be).mutationObservers.forEach(function(t){t.disconnect()}),this.state.destroyed=!0}}}]),t}(),ge=1,we=!1;return Ht.version='2.5.4',Ht.browser=qt,Ht.defaults=Kt,Ht.one=function(t,e){return Ht(t,e,!0).tooltips[0]},Ht.disableAnimations=function(){Kt.updateDuration=Kt.duration=0,Kt.animateFill=!1},function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:'';if(zt&&qt.supported){var e=document.head||document.querySelector('head'),a=document.createElement('style');a.type='text/css',e.insertBefore(a,e.firstChild),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}}('.tippy-touch{cursor:pointer!important}.tippy-notransition{transition:none!important}.tippy-popper{max-width:350px;-webkit-perspective:700px;perspective:700px;z-index:9999;outline:0;transition-timing-function:cubic-bezier(.165,.84,.44,1);pointer-events:none;line-height:1.4}.tippy-popper[data-html]{max-width:96%;max-width:calc(100% - 20px)}.tippy-popper[x-placement^=top] .tippy-backdrop{border-radius:40% 40% 0 0}.tippy-popper[x-placement^=top] .tippy-roundarrow{bottom:-8px;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=top] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.tippy-popper[x-placement^=top] .tippy-arrow{border-top:7px solid #333;border-right:7px solid transparent;border-left:7px solid transparent;bottom:-7px;margin:0 6px;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=top] .tippy-backdrop{-webkit-transform-origin:0 90%;transform-origin:0 90%}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(6) translate(-50%,25%);transform:scale(6) translate(-50%,25%);opacity:1}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(1) translate(-50%,25%);transform:scale(1) translate(-50%,25%);opacity:0}.tippy-popper[x-placement^=top] [data-animation=shift-toward][data-state=visible]{opacity:1;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}.tippy-popper[x-placement^=top] [data-animation=perspective]{-webkit-transform-origin:bottom;transform-origin:bottom}.tippy-popper[x-placement^=top] [data-animation=perspective][data-state=visible]{opacity:1;-webkit-transform:translateY(-10px) rotateX(0);transform:translateY(-10px) rotateX(0)}.tippy-popper[x-placement^=top] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) rotateX(90deg);transform:translateY(0) rotateX(90deg)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=visible]{opacity:1;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=visible]{opacity:1;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=visible]{opacity:1;-webkit-transform:translateY(-10px) scale(1);transform:translateY(-10px) scale(1)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) scale(0);transform:translateY(0) scale(0)}.tippy-popper[x-placement^=bottom] .tippy-backdrop{border-radius:0 0 30% 30%}.tippy-popper[x-placement^=bottom] .tippy-roundarrow{top:-8px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.tippy-popper[x-placement^=bottom] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(0);transform:rotate(0)}.tippy-popper[x-placement^=bottom] .tippy-arrow{border-bottom:7px solid #333;border-right:7px solid transparent;border-left:7px solid transparent;top:-7px;margin:0 6px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.tippy-popper[x-placement^=bottom] .tippy-backdrop{-webkit-transform-origin:0 -90%;transform-origin:0 -90%}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(6) translate(-50%,-125%);transform:scale(6) translate(-50%,-125%);opacity:1}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(1) translate(-50%,-125%);transform:scale(1) translate(-50%,-125%);opacity:0}.tippy-popper[x-placement^=bottom] [data-animation=shift-toward][data-state=visible]{opacity:1;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}.tippy-popper[x-placement^=bottom] [data-animation=perspective]{-webkit-transform-origin:top;transform-origin:top}.tippy-popper[x-placement^=bottom] [data-animation=perspective][data-state=visible]{opacity:1;-webkit-transform:translateY(10px) rotateX(0);transform:translateY(10px) rotateX(0)}.tippy-popper[x-placement^=bottom] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) rotateX(-90deg);transform:translateY(0) rotateX(-90deg)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=visible]{opacity:1;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=visible]{opacity:1;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=visible]{opacity:1;-webkit-transform:translateY(10px) scale(1);transform:translateY(10px) scale(1)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) scale(0);transform:translateY(0) scale(0)}.tippy-popper[x-placement^=left] .tippy-backdrop{border-radius:50% 0 0 50%}.tippy-popper[x-placement^=left] .tippy-roundarrow{right:-16px;-webkit-transform-origin:33.33333333% 50%;transform-origin:33.33333333% 50%}.tippy-popper[x-placement^=left] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tippy-popper[x-placement^=left] .tippy-arrow{border-left:7px solid #333;border-top:7px solid transparent;border-bottom:7px solid transparent;right:-7px;margin:3px 0;-webkit-transform-origin:0 50%;transform-origin:0 50%}.tippy-popper[x-placement^=left] .tippy-backdrop{-webkit-transform-origin:100% 0;transform-origin:100% 0}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(6) translate(40%,-50%);transform:scale(6) translate(40%,-50%);opacity:1}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(1.5) translate(40%,-50%);transform:scale(1.5) translate(40%,-50%);opacity:0}.tippy-popper[x-placement^=left] [data-animation=shift-toward][data-state=visible]{opacity:1;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}.tippy-popper[x-placement^=left] [data-animation=perspective]{-webkit-transform-origin:right;transform-origin:right}.tippy-popper[x-placement^=left] [data-animation=perspective][data-state=visible]{opacity:1;-webkit-transform:translateX(-10px) rotateY(0);transform:translateX(-10px) rotateY(0)}.tippy-popper[x-placement^=left] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) rotateY(-90deg);transform:translateX(0) rotateY(-90deg)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=visible]{opacity:1;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=visible]{opacity:1;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=visible]{opacity:1;-webkit-transform:translateX(-10px) scale(1);transform:translateX(-10px) scale(1)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) scale(0);transform:translateX(0) scale(0)}.tippy-popper[x-placement^=right] .tippy-backdrop{border-radius:0 50% 50% 0}.tippy-popper[x-placement^=right] .tippy-roundarrow{left:-16px;-webkit-transform-origin:66.66666666% 50%;transform-origin:66.66666666% 50%}.tippy-popper[x-placement^=right] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tippy-popper[x-placement^=right] .tippy-arrow{border-right:7px solid #333;border-top:7px solid transparent;border-bottom:7px solid transparent;left:-7px;margin:3px 0;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.tippy-popper[x-placement^=right] .tippy-backdrop{-webkit-transform-origin:-100% 0;transform-origin:-100% 0}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(6) translate(-140%,-50%);transform:scale(6) translate(-140%,-50%);opacity:1}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(1.5) translate(-140%,-50%);transform:scale(1.5) translate(-140%,-50%);opacity:0}.tippy-popper[x-placement^=right] [data-animation=shift-toward][data-state=visible]{opacity:1;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}.tippy-popper[x-placement^=right] [data-animation=perspective]{-webkit-transform-origin:left;transform-origin:left}.tippy-popper[x-placement^=right] [data-animation=perspective][data-state=visible]{opacity:1;-webkit-transform:translateX(10px) rotateY(0);transform:translateX(10px) rotateY(0)}.tippy-popper[x-placement^=right] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) rotateY(90deg);transform:translateX(0) rotateY(90deg)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=visible]{opacity:1;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=visible]{opacity:1;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=visible]{opacity:1;-webkit-transform:translateX(10px) scale(1);transform:translateX(10px) scale(1)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) scale(0);transform:translateX(0) scale(0)}.tippy-tooltip{position:relative;color:#fff;border-radius:4px;font-size:.9rem;padding:.3rem .6rem;text-align:center;will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#333}.tippy-tooltip[data-size=small]{padding:.2rem .4rem;font-size:.75rem}.tippy-tooltip[data-size=large]{padding:.4rem .8rem;font-size:1rem}.tippy-tooltip[data-animatefill]{overflow:hidden;background-color:transparent}.tippy-tooltip[data-animatefill] .tippy-content{transition:-webkit-clip-path cubic-bezier(.46,.1,.52,.98);transition:clip-path cubic-bezier(.46,.1,.52,.98);transition:clip-path cubic-bezier(.46,.1,.52,.98),-webkit-clip-path cubic-bezier(.46,.1,.52,.98)}.tippy-tooltip[data-interactive],.tippy-tooltip[data-interactive] path{pointer-events:auto}.tippy-tooltip[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.53,2,.36,.85)}.tippy-tooltip[data-inertia][data-state=hidden]{transition-timing-function:ease}.tippy-arrow,.tippy-roundarrow{position:absolute;width:0;height:0}.tippy-roundarrow{width:24px;height:8px;fill:#333;pointer-events:none}.tippy-backdrop{position:absolute;will-change:transform;background-color:#333;border-radius:50%;width:26%;left:50%;top:50%;z-index:-1;transition:all cubic-bezier(.46,.1,.52,.98);-webkit-backface-visibility:hidden;backface-visibility:hidden}.tippy-backdrop:after{content:"";float:left;padding-top:100%}body:not(.tippy-touch) .tippy-tooltip[data-animatefill][data-state=visible] .tippy-content{-webkit-clip-path:ellipse(100% 100% at 50% 50%);clip-path:ellipse(100% 100% at 50% 50%)}body:not(.tippy-touch) .tippy-tooltip[data-animatefill][data-state=hidden] .tippy-content{-webkit-clip-path:ellipse(5% 50% at 50% 50%);clip-path:ellipse(5% 50% at 50% 50%)}body:not(.tippy-touch) .tippy-popper[x-placement=right] .tippy-tooltip[data-animatefill][data-state=visible] .tippy-content{-webkit-clip-path:ellipse(135% 100% at 0 50%);clip-path:ellipse(135% 100% at 0 50%)}body:not(.tippy-touch) .tippy-popper[x-placement=right] .tippy-tooltip[data-animatefill][data-state=hidden] .tippy-content{-webkit-clip-path:ellipse(40% 100% at 0 50%);clip-path:ellipse(40% 100% at 0 50%)}body:not(.tippy-touch) .tippy-popper[x-placement=left] .tippy-tooltip[data-animatefill][data-state=visible] .tippy-content{-webkit-clip-path:ellipse(135% 100% at 100% 50%);clip-path:ellipse(135% 100% at 100% 50%)}body:not(.tippy-touch) .tippy-popper[x-placement=left] .tippy-tooltip[data-animatefill][data-state=hidden] .tippy-content{-webkit-clip-path:ellipse(40% 100% at 100% 50%);clip-path:ellipse(40% 100% at 100% 50%)}@media (max-width:360px){.tippy-popper{max-width:96%;max-width:calc(100% - 20px)}}'),Ht});
8
 
9
  /**
10
  * Simplest Tags Input Beautifier
1
  /**!
2
+ * popper.js
3
+ * https://popper.js.org/
4
+ * Copyright (c) atomiks
5
+ * @license MIT
6
+ * @version v2.10.2
7
+ */
8
+ "use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){function t(e,t){return{width:(e=e.getBoundingClientRect()).width/1,height:e.height/1,top:e.top/1,right:e.right/1,bottom:e.bottom/1,left:e.left/1,x:e.left/1,y:e.top/1}}function n(e){return null==e?window:"[object Window]"!==e.toString()?(e=e.ownerDocument)&&e.defaultView||window:e}function o(e){return{scrollLeft:(e=n(e)).pageXOffset,scrollTop:e.pageYOffset}}function r(e){return e instanceof n(e).Element||e instanceof Element}function i(e){return e instanceof n(e).HTMLElement||e instanceof HTMLElement}function a(e){return"undefined"!=typeof ShadowRoot&&(e instanceof n(e).ShadowRoot||e instanceof ShadowRoot)}function s(e){return e?(e.nodeName||"").toLowerCase():null}function f(e){return((r(e)?e.ownerDocument:e.document)||window.document).documentElement}function p(e){return t(f(e)).left+o(e).scrollLeft}function c(e){return n(e).getComputedStyle(e)}function l(e){return e=c(e),/auto|scroll|overlay|hidden/.test(e.overflow+e.overflowY+e.overflowX)}function u(e,r,a){void 0===a&&(a=!1);var c=i(r);i(r)&&r.getBoundingClientRect();var u=f(r);e=t(e);var d={scrollLeft:0,scrollTop:0},m={x:0,y:0};return(c||!c&&!a)&&(("body"!==s(r)||l(u))&&(d=r!==n(r)&&i(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:o(r)),i(r)?((m=t(r)).x+=r.clientLeft,m.y+=r.clientTop):u&&(m.x=p(u))),{x:e.left+d.scrollLeft-m.x,y:e.top+d.scrollTop-m.y,width:e.width,height:e.height}}function d(e){var n=t(e),o=e.offsetWidth,r=e.offsetHeight;return 1>=Math.abs(n.width-o)&&(o=n.width),1>=Math.abs(n.height-r)&&(r=n.height),{x:e.offsetLeft,y:e.offsetTop,width:o,height:r}}function m(e){return"html"===s(e)?e:e.assignedSlot||e.parentNode||(a(e)?e.host:null)||f(e)}function h(e){return 0<=["html","body","#document"].indexOf(s(e))?e.ownerDocument.body:i(e)&&l(e)?e:h(m(e))}function v(e,t){var o;void 0===t&&(t=[]);var r=h(e);return e=r===(null==(o=e.ownerDocument)?void 0:o.body),o=n(r),r=e?[o].concat(o.visualViewport||[],l(r)?r:[]):r,t=t.concat(r),e?t:t.concat(v(m(r)))}function g(e){return i(e)&&"fixed"!==c(e).position?e.offsetParent:null}function b(e){for(var t=n(e),o=g(e);o&&0<=["table","td","th"].indexOf(s(o))&&"static"===c(o).position;)o=g(o);if(o&&("html"===s(o)||"body"===s(o)&&"static"===c(o).position))return t;if(!o)e:{if(o=-1!==navigator.userAgent.toLowerCase().indexOf("firefox"),-1===navigator.userAgent.indexOf("Trident")||!i(e)||"fixed"!==c(e).position)for(e=m(e);i(e)&&0>["html","body"].indexOf(s(e));){var r=c(e);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||o&&"filter"===r.willChange||o&&r.filter&&"none"!==r.filter){o=e;break e}e=e.parentNode}o=null}return o||t}function y(e){function t(e){o.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){o.has(e)||(e=n.get(e))&&t(e)})),r.push(e)}var n=new Map,o=new Set,r=[];return e.forEach((function(e){n.set(e.name,e)})),e.forEach((function(e){o.has(e.name)||t(e)})),r}function w(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function x(e){return e.split("-")[0]}function O(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&a(n))do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function j(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function E(e,r){if("viewport"===r){r=n(e);var a=f(e);r=r.visualViewport;var s=a.clientWidth;a=a.clientHeight;var l=0,u=0;r&&(s=r.width,a=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(l=r.offsetLeft,u=r.offsetTop)),e=j(e={width:s,height:a,x:l+p(e),y:u})}else i(r)?((e=t(r)).top+=r.clientTop,e.left+=r.clientLeft,e.bottom=e.top+r.clientHeight,e.right=e.left+r.clientWidth,e.width=r.clientWidth,e.height=r.clientHeight,e.x=e.left,e.y=e.top):(u=f(e),e=f(u),s=o(u),r=null==(a=u.ownerDocument)?void 0:a.body,a=U(e.scrollWidth,e.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),l=U(e.scrollHeight,e.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),u=-s.scrollLeft+p(u),s=-s.scrollTop,"rtl"===c(r||e).direction&&(u+=U(e.clientWidth,r?r.clientWidth:0)-a),e=j({width:a,height:l,x:u,y:s}));return e}function D(e,t,n){return t="clippingParents"===t?function(e){var t=v(m(e)),n=0<=["absolute","fixed"].indexOf(c(e).position)&&i(e)?b(e):e;return r(n)?t.filter((function(e){return r(e)&&O(e,n)&&"body"!==s(e)})):[]}(e):[].concat(t),(n=(n=[].concat(t,[n])).reduce((function(t,n){return n=E(e,n),t.top=U(n.top,t.top),t.right=z(n.right,t.right),t.bottom=z(n.bottom,t.bottom),t.left=U(n.left,t.left),t}),E(e,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}function L(e){return e.split("-")[1]}function P(e){return 0<=["top","bottom"].indexOf(e)?"x":"y"}function M(e){var t=e.reference,n=e.element,o=(e=e.placement)?x(e):null;e=e?L(e):null;var r=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2;switch(o){case"top":r={x:r,y:t.y-n.height};break;case"bottom":r={x:r,y:t.y+t.height};break;case"right":r={x:t.x+t.width,y:i};break;case"left":r={x:t.x-n.width,y:i};break;default:r={x:t.x,y:t.y}}if(null!=(o=o?P(o):null))switch(i="y"===o?"height":"width",e){case"start":r[o]-=t[i]/2-n[i]/2;break;case"end":r[o]+=t[i]/2-n[i]/2}return r}function k(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function A(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function B(e,n){void 0===n&&(n={});var o=n;n=void 0===(n=o.placement)?e.placement:n;var i=o.boundary,a=void 0===i?"clippingParents":i,s=void 0===(i=o.rootBoundary)?"viewport":i;i=void 0===(i=o.elementContext)?"popper":i;var p=o.altBoundary,c=void 0!==p&&p;o=k("number"!=typeof(o=void 0===(o=o.padding)?0:o)?o:A(o,N)),p=e.rects.popper,a=D(r(c=e.elements[c?"popper"===i?"reference":"popper":i])?c:c.contextElement||f(e.elements.popper),a,s),c=M({reference:s=t(e.elements.reference),element:p,strategy:"absolute",placement:n}),p=j(Object.assign({},p,c)),s="popper"===i?p:s;var l={top:a.top-s.top+o.top,bottom:s.bottom-a.bottom+o.bottom,left:a.left-s.left+o.left,right:s.right-a.right+o.right};if(e=e.modifiersData.offset,"popper"===i&&e){var u=e[n];Object.keys(l).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,n=0<=["top","bottom"].indexOf(e)?"y":"x";l[e]+=u[n]*t}))}return l}function W(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"==typeof e.getBoundingClientRect)}))}function T(e){void 0===e&&(e={});var t=e.defaultModifiers,n=void 0===t?[]:t,o=void 0===(e=e.defaultOptions)?X:e;return function(e,t,i){function a(){f.forEach((function(e){return e()})),f=[]}void 0===i&&(i=o);var s={placement:"bottom",orderedModifiers:[],options:Object.assign({},X,o),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},f=[],p=!1,c={state:s,setOptions:function(i){return i="function"==typeof i?i(s.options):i,a(),s.options=Object.assign({},o,s.options,i),s.scrollParents={reference:r(e)?v(e):e.contextElement?v(e.contextElement):[],popper:v(t)},i=function(e){var t=y(e);return _.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}(function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}([].concat(n,s.options.modifiers))),s.orderedModifiers=i.filter((function(e){return e.enabled})),s.orderedModifiers.forEach((function(e){var t=e.name,n=e.options;n=void 0===n?{}:n,"function"==typeof(e=e.effect)&&(t=e({state:s,name:t,instance:c,options:n}),f.push(t||function(){}))})),c.update()},forceUpdate:function(){if(!p){var e=s.elements,t=e.reference;if(W(t,e=e.popper))for(s.rects={reference:u(t,b(e),"fixed"===s.options.strategy),popper:d(e)},s.reset=!1,s.placement=s.options.placement,s.orderedModifiers.forEach((function(e){return s.modifiersData[e.name]=Object.assign({},e.data)})),t=0;t<s.orderedModifiers.length;t++)if(!0===s.reset)s.reset=!1,t=-1;else{var n=s.orderedModifiers[t];e=n.fn;var o=n.options;o=void 0===o?{}:o,n=n.name,"function"==typeof e&&(s=e({state:s,options:o,name:n,instance:c})||s)}}},update:w((function(){return new Promise((function(e){c.forceUpdate(),e(s)}))})),destroy:function(){a(),p=!0}};return W(e,t)?(c.setOptions(i).then((function(e){!p&&i.onFirstUpdate&&i.onFirstUpdate(e)})),c):c}}function R(e){var t,o=e.popper,r=e.popperRect,i=e.placement,a=e.variation,s=e.offsets,p=e.position,l=e.gpuAcceleration,u=e.adaptive;if(!0===(e=e.roundOffsets)){e=s.y;var d=window.devicePixelRatio||1;e={x:F(F(s.x*d)/d)||0,y:F(F(e*d)/d)||0}}else e="function"==typeof e?e(s):s;e=void 0===(e=(d=e).x)?0:e,d=void 0===(d=d.y)?0:d;var m=s.hasOwnProperty("x");s=s.hasOwnProperty("y");var h,v="left",g="top",y=window;if(u){var w=b(o),x="clientHeight",O="clientWidth";w===n(o)&&("static"!==c(w=f(o)).position&&"absolute"===p&&(x="scrollHeight",O="scrollWidth")),"top"!==i&&("left"!==i&&"right"!==i||"end"!==a)||(g="bottom",d-=w[x]-r.height,d*=l?1:-1),"left"!==i&&("top"!==i&&"bottom"!==i||"end"!==a)||(v="right",e-=w[O]-r.width,e*=l?1:-1)}return o=Object.assign({position:p},u&&K),l?Object.assign({},o,((h={})[g]=s?"0":"",h[v]=m?"0":"",h.transform=1>=(y.devicePixelRatio||1)?"translate("+e+"px, "+d+"px)":"translate3d("+e+"px, "+d+"px, 0)",h)):Object.assign({},o,((t={})[g]=s?d+"px":"",t[v]=m?e+"px":"",t.transform="",t))}function H(e){return e.replace(/left|right|bottom|top/g,(function(e){return ee[e]}))}function S(e){return e.replace(/start|end/g,(function(e){return te[e]}))}function C(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function q(e){return["top","right","bottom","left"].some((function(t){return 0<=e[t]}))}var N=["top","bottom","right","left"],V=N.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),I=[].concat(N,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),_="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),U=Math.max,z=Math.min,F=Math.round,X={placement:"bottom",modifiers:[],strategy:"absolute"},Y={passive:!0},G={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,o=e.instance,r=(e=e.options).scroll,i=void 0===r||r,a=void 0===(e=e.resize)||e,s=n(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",o.update,Y)})),a&&s.addEventListener("resize",o.update,Y),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",o.update,Y)})),a&&s.removeEventListener("resize",o.update,Y)}},data:{}},J={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=M({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},K={top:"auto",right:"auto",bottom:"auto",left:"auto"},Q={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options;e=void 0===(e=n.gpuAcceleration)||e;var o=n.adaptive;o=void 0===o||o,n=void 0===(n=n.roundOffsets)||n,e={placement:x(t.placement),variation:L(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,R(Object.assign({},e,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:n})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,R(Object.assign({},e,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:n})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},Z={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},r=t.elements[e];i(r)&&s(r)&&(Object.assign(r.style,n),Object.keys(o).forEach((function(e){var t=o[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var o=t.elements[e],r=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{}),i(o)&&s(o)&&(Object.assign(o.style,e),Object.keys(r).forEach((function(e){o.removeAttribute(e)})))}))}},requires:["computeStyles"]},$={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.name,o=void 0===(e=e.options.offset)?[0,0]:e,r=(e=I.reduce((function(e,n){var r=t.rects,i=x(n),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof o?o(Object.assign({},r,{placement:n})):o;return r=(r=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:r}:{x:r,y:s},e[n]=i,e}),{}))[t.placement],i=r.x;r=r.y,null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=i,t.modifiersData.popperOffsets.y+=r),t.modifiersData[n]=e}},ee={left:"right",right:"left",bottom:"top",top:"bottom"},te={start:"end",end:"start"},ne={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;if(e=e.name,!t.modifiersData[e]._skip){var o=n.mainAxis;o=void 0===o||o;var r=n.altAxis;r=void 0===r||r;var i=n.fallbackPlacements,a=n.padding,s=n.boundary,f=n.rootBoundary,p=n.altBoundary,c=n.flipVariations,l=void 0===c||c,u=n.allowedAutoPlacements;c=x(n=t.options.placement),i=i||(c!==n&&l?function(e){if("auto"===x(e))return[];var t=H(e);return[S(e),t,S(t)]}(n):[H(n)]);var d=[n].concat(i).reduce((function(e,n){return e.concat("auto"===x(n)?function(e,t){void 0===t&&(t={});var n=t.boundary,o=t.rootBoundary,r=t.padding,i=t.flipVariations,a=t.allowedAutoPlacements,s=void 0===a?I:a,f=L(t.placement);0===(i=(t=f?i?V:V.filter((function(e){return L(e)===f})):N).filter((function(e){return 0<=s.indexOf(e)}))).length&&(i=t);var p=i.reduce((function(t,i){return t[i]=B(e,{placement:i,boundary:n,rootBoundary:o,padding:r})[x(i)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:s,rootBoundary:f,padding:a,flipVariations:l,allowedAutoPlacements:u}):n)}),[]);n=t.rects.reference,i=t.rects.popper;var m=new Map;c=!0;for(var h=d[0],v=0;v<d.length;v++){var g=d[v],b=x(g),y="start"===L(g),w=0<=["top","bottom"].indexOf(b),O=w?"width":"height",j=B(t,{placement:g,boundary:s,rootBoundary:f,altBoundary:p,padding:a});if(y=w?y?"right":"left":y?"bottom":"top",n[O]>i[O]&&(y=H(y)),O=H(y),w=[],o&&w.push(0>=j[b]),r&&w.push(0>=j[y],0>=j[O]),w.every((function(e){return e}))){h=g,c=!1;break}m.set(g,w)}if(c)for(o=function(e){var t=d.find((function(t){if(t=m.get(t))return t.slice(0,e).every((function(e){return e}))}));if(t)return h=t,"break"},r=l?3:1;0<r&&"break"!==o(r);r--);t.placement!==h&&(t.modifiersData[e]._skip=!0,t.placement=h,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},oe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;e=e.name;var o=n.mainAxis,r=void 0===o||o,i=void 0!==(o=n.altAxis)&&o;o=void 0===(o=n.tether)||o;var a=n.tetherOffset,s=void 0===a?0:a,f=B(t,{boundary:n.boundary,rootBoundary:n.rootBoundary,padding:n.padding,altBoundary:n.altBoundary});n=x(t.placement);var p=L(t.placement),c=!p,l=P(n);n="x"===l?"y":"x",a=t.modifiersData.popperOffsets;var u=t.rects.reference,m=t.rects.popper,h="function"==typeof s?s(Object.assign({},t.rects,{placement:t.placement})):s;if(s={x:0,y:0},a){if(r||i){var v="y"===l?"top":"left",g="y"===l?"bottom":"right",y="y"===l?"height":"width",w=a[l],O=a[l]+f[v],j=a[l]-f[g],E=o?-m[y]/2:0,D="start"===p?u[y]:m[y];p="start"===p?-m[y]:-u[y],m=t.elements.arrow,m=o&&m?d(m):{width:0,height:0};var M=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0};v=M[v],g=M[g],m=U(0,z(u[y],m[y])),D=c?u[y]/2-E-m-v-h:D-m-v-h,u=c?-u[y]/2+E+m+g+h:p+m+g+h,c=t.elements.arrow&&b(t.elements.arrow),h=t.modifiersData.offset?t.modifiersData.offset[t.placement][l]:0,c=a[l]+D-h-(c?"y"===l?c.clientTop||0:c.clientLeft||0:0),u=a[l]+u-h,r&&(r=o?z(O,c):O,j=o?U(j,u):j,r=U(r,z(w,j)),a[l]=r,s[l]=r-w),i&&(r=(i=a[n])+f["x"===l?"top":"left"],f=i-f["x"===l?"bottom":"right"],r=o?z(r,c):r,o=o?U(f,u):f,o=U(r,z(i,o)),a[n]=o,s[n]=o-i)}t.modifiersData[e]=s}},requiresIfExists:["offset"]},re={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,o=e.name,r=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=x(n.placement);if(e=P(s),s=0<=["left","right"].indexOf(s)?"height":"width",i&&a){r=k("number"!=typeof(r="function"==typeof(r=r.padding)?r(Object.assign({},n.rects,{placement:n.placement})):r)?r:A(r,N));var f=d(i),p="y"===e?"top":"left",c="y"===e?"bottom":"right",l=n.rects.reference[s]+n.rects.reference[e]-a[e]-n.rects.popper[s];a=a[e]-n.rects.reference[e],a=(i=(i=b(i))?"y"===e?i.clientHeight||0:i.clientWidth||0:0)/2-f[s]/2+(l/2-a/2),s=U(r[p],z(a,i-f[s]-r[c])),n.modifiersData[o]=((t={})[e]=s,t.centerOffset=s-a,t)}},effect:function(e){var t=e.state;if(null!=(e=void 0===(e=e.options.element)?"[data-popper-arrow]":e)){if("string"==typeof e&&!(e=t.elements.popper.querySelector(e)))return;O(t.elements.popper,e)&&(t.elements.arrow=e)}},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},ie={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state;e=e.name;var n=t.rects.reference,o=t.rects.popper,r=t.modifiersData.preventOverflow,i=B(t,{elementContext:"reference"}),a=B(t,{altBoundary:!0});n=C(i,n),o=C(a,o,r),r=q(n),a=q(o),t.modifiersData[e]={referenceClippingOffsets:n,popperEscapeOffsets:o,isReferenceHidden:r,hasPopperEscaped:a},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":r,"data-popper-escaped":a})}},ae=T({defaultModifiers:[G,J,Q,Z]}),se=[G,J,Q,Z,$,ne,oe,re,ie],fe=T({defaultModifiers:se});e.applyStyles=Z,e.arrow=re,e.computeStyles=Q,e.createPopper=fe,e.createPopperLite=ae,e.defaultModifiers=se,e.detectOverflow=B,e.eventListeners=G,e.flip=ne,e.hide=ie,e.offset=$,e.popperGenerator=T,e.popperOffsets=J,e.preventOverflow=oe,Object.defineProperty(e,"__esModule",{value:!0})}));
9
+
10
+ /**!
11
+ * tippy.js
12
  * https://atomiks.github.io/tippyjs/
13
+ * Copyright (c) atomiks
14
  * @license MIT
15
+ * @version v6.3.2
16
  */
17
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t=t||self).tippy=e(t.Popper)}(this,(function(t){"use strict";var e="undefined"!=typeof window&&"undefined"!=typeof document,n=!!e&&!!window.msCrypto,r={passive:!0,capture:!0},o=function(){return document.body};function i(t,e,n){if(Array.isArray(t)){var r=t[e];return null==r?Array.isArray(n)?n[e]:n:r}return t}function a(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function s(t,e){return"function"==typeof t?t.apply(void 0,e):t}function u(t,e){return 0===e?t:function(r){clearTimeout(n),n=setTimeout((function(){t(r)}),e)};var n}function p(t,e){var n=Object.assign({},t);return e.forEach((function(t){delete n[t]})),n}function c(t){return[].concat(t)}function f(t,e){-1===t.indexOf(e)&&t.push(e)}function l(t){return t.split("-")[0]}function d(t){return[].slice.call(t)}function v(){return document.createElement("div")}function m(t){return["Element","Fragment"].some((function(e){return a(t,e)}))}function h(t){return a(t,"MouseEvent")}function g(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function b(t){return m(t)?[t]:function(t){return a(t,"NodeList")}(t)?d(t):Array.isArray(t)?t:d(document.querySelectorAll(t))}function y(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function w(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function x(t){var e,n=c(t)[0];return(null==n||null==(e=n.ownerDocument)?void 0:e.body)?n.ownerDocument:document}function E(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[r](e,n)}))}function O(t,e){for(var n=e;n;){var r;if(t.contains(n))return!0;n=null==(r=null==n.getRootNode?void 0:n.getRootNode())?void 0:r.host}return!1}var C={isTouch:!1},T=0;function A(){C.isTouch||(C.isTouch=!0,window.performance&&document.addEventListener("mousemove",L))}function L(){var t=performance.now();t-T<20&&(C.isTouch=!1,document.removeEventListener("mousemove",L)),T=t}function D(){var t=document.activeElement;if(g(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}var k=Object.assign({appendTo:o,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),R=Object.keys(k);function P(t){var e=(t.plugins||[]).reduce((function(e,n){var r,o=n.name,i=n.defaultValue;o&&(e[o]=void 0!==t[o]?t[o]:null!=(r=k[o])?r:i);return e}),{});return Object.assign({},t,{},e)}function j(t,e){var n=Object.assign({},e,{content:s(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(P(Object.assign({},k,{plugins:e}))):R).reduce((function(e,n){var r=(t.getAttribute("data-tippy-"+n)||"").trim();if(!r)return e;if("content"===n)e[n]=r;else try{e[n]=JSON.parse(r)}catch(t){e[n]=r}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},k.aria,{},n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}function M(t,e){t.innerHTML=e}function V(t){var e=v();return!0===t?e.className="tippy-arrow":(e.className="tippy-svg-arrow",m(t)?e.appendChild(t):M(e,t)),e}function I(t,e){m(e.content)?(M(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?M(t,e.content):t.textContent=e.content)}function S(t){var e=t.firstElementChild,n=d(e.children);return{box:e,content:n.find((function(t){return t.classList.contains("tippy-content")})),arrow:n.find((function(t){return t.classList.contains("tippy-arrow")||t.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(t){return t.classList.contains("tippy-backdrop")}))}}function B(t){var e=v(),n=v();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=v();function o(n,r){var o=S(e),i=o.box,a=o.content,s=o.arrow;r.theme?i.setAttribute("data-theme",r.theme):i.removeAttribute("data-theme"),"string"==typeof r.animation?i.setAttribute("data-animation",r.animation):i.removeAttribute("data-animation"),r.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?i.setAttribute("role",r.role):i.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||I(a,t.props),r.arrow?s?n.arrow!==r.arrow&&(i.removeChild(s),i.appendChild(V(r.arrow))):i.appendChild(V(r.arrow)):s&&i.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),I(r,t.props),e.appendChild(n),n.appendChild(r),o(t.props,t.props),{popper:e,onUpdate:o}}B.$$tippy=!0;var N=1,H=[],U=[];function _(e,a){var p,m,g,b,T,A,L,D,R,M=j(e,Object.assign({},k,{},P((p=a,Object.keys(p).reduce((function(t,e){return void 0!==p[e]&&(t[e]=p[e]),t}),{}))))),V=!1,I=!1,B=!1,_=!1,z=[],F=u(wt,M.interactiveDebounce),W=N++,X=(R=M.plugins).filter((function(t,e){return R.indexOf(t)===e})),Y={id:W,reference:e,popper:v(),popperInstance:null,props:M,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:X,clearDelayTimeouts:function(){clearTimeout(m),clearTimeout(g),cancelAnimationFrame(b)},setProps:function(t){if(Y.state.isDestroyed)return;at("onBeforeUpdate",[Y,t]),bt();var n=Y.props,r=j(e,Object.assign({},Y.props,{},t,{ignoreAttributes:!0}));Y.props=r,gt(),n.interactiveDebounce!==r.interactiveDebounce&&(pt(),F=u(wt,r.interactiveDebounce));n.triggerTarget&&!r.triggerTarget?c(n.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):r.triggerTarget&&e.removeAttribute("aria-expanded");ut(),it(),J&&J(n,r);Y.popperInstance&&(Ct(),At().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));at("onAfterUpdate",[Y,t])},setContent:function(t){Y.setProps({content:t})},show:function(){var t=Y.state.isVisible,e=Y.state.isDestroyed,n=!Y.state.isEnabled,r=C.isTouch&&!Y.props.touch,a=i(Y.props.duration,0,k.duration);if(t||e||n||r)return;if(et().hasAttribute("disabled"))return;if(at("onShow",[Y],!1),!1===Y.props.onShow(Y))return;Y.state.isVisible=!0,tt()&&($.style.visibility="visible");it(),dt(),Y.state.isMounted||($.style.transition="none");if(tt()){var u=rt(),p=u.box,c=u.content;y([p,c],0)}L=function(){var t;if(Y.state.isVisible&&!_){if(_=!0,$.offsetHeight,$.style.transition=Y.props.moveTransition,tt()&&Y.props.animation){var e=rt(),n=e.box,r=e.content;y([n,r],a),w([n,r],"visible")}st(),ut(),f(U,Y),null==(t=Y.popperInstance)||t.forceUpdate(),Y.state.isMounted=!0,at("onMount",[Y]),Y.props.animation&&tt()&&function(t,e){mt(t,e)}(a,(function(){Y.state.isShown=!0,at("onShown",[Y])}))}},function(){var t,e=Y.props.appendTo,n=et();t=Y.props.interactive&&e===o||"parent"===e?n.parentNode:s(e,[n]);t.contains($)||t.appendChild($);Ct()}()},hide:function(){var t=!Y.state.isVisible,e=Y.state.isDestroyed,n=!Y.state.isEnabled,r=i(Y.props.duration,1,k.duration);if(t||e||n)return;if(at("onHide",[Y],!1),!1===Y.props.onHide(Y))return;Y.state.isVisible=!1,Y.state.isShown=!1,_=!1,V=!1,tt()&&($.style.visibility="hidden");if(pt(),vt(),it(),tt()){var o=rt(),a=o.box,s=o.content;Y.props.animation&&(y([a,s],r),w([a,s],"hidden"))}st(),ut(),Y.props.animation?tt()&&function(t,e){mt(t,(function(){!Y.state.isVisible&&$.parentNode&&$.parentNode.contains($)&&e()}))}(r,Y.unmount):Y.unmount()},hideWithInteractivity:function(t){nt().addEventListener("mousemove",F),f(H,F),F(t)},enable:function(){Y.state.isEnabled=!0},disable:function(){Y.hide(),Y.state.isEnabled=!1},unmount:function(){Y.state.isVisible&&Y.hide();if(!Y.state.isMounted)return;Tt(),At().forEach((function(t){t._tippy.unmount()})),$.parentNode&&$.parentNode.removeChild($);U=U.filter((function(t){return t!==Y})),Y.state.isMounted=!1,at("onHidden",[Y])},destroy:function(){if(Y.state.isDestroyed)return;Y.clearDelayTimeouts(),Y.unmount(),bt(),delete e._tippy,Y.state.isDestroyed=!0,at("onDestroy",[Y])}};if(!M.render)return Y;var q=M.render(Y),$=q.popper,J=q.onUpdate;$.setAttribute("data-tippy-root",""),$.id="tippy-"+Y.id,Y.popper=$,e._tippy=Y,$._tippy=Y;var G=X.map((function(t){return t.fn(Y)})),K=e.hasAttribute("aria-expanded");return gt(),ut(),it(),at("onCreate",[Y]),M.showOnCreate&&Lt(),$.addEventListener("mouseenter",(function(){Y.props.interactive&&Y.state.isVisible&&Y.clearDelayTimeouts()})),$.addEventListener("mouseleave",(function(t){Y.props.interactive&&Y.props.trigger.indexOf("mouseenter")>=0&&(nt().addEventListener("mousemove",F),F(t))})),Y;function Q(){var t=Y.props.touch;return Array.isArray(t)?t:[t,0]}function Z(){return"hold"===Q()[0]}function tt(){var t;return!!(null==(t=Y.props.render)?void 0:t.$$tippy)}function et(){return D||e}function nt(){var t=et().parentNode;return t?x(t):document}function rt(){return S($)}function ot(t){return Y.state.isMounted&&!Y.state.isVisible||C.isTouch||T&&"focus"===T.type?0:i(Y.props.delay,t?0:1,k.delay)}function it(){$.style.pointerEvents=Y.props.interactive&&Y.state.isVisible?"":"none",$.style.zIndex=""+Y.props.zIndex}function at(t,e,n){var r;(void 0===n&&(n=!0),G.forEach((function(n){n[t]&&n[t].apply(void 0,e)})),n)&&(r=Y.props)[t].apply(r,e)}function st(){var t=Y.props.aria;if(t.content){var n="aria-"+t.content,r=$.id;c(Y.props.triggerTarget||e).forEach((function(t){var e=t.getAttribute(n);if(Y.state.isVisible)t.setAttribute(n,e?e+" "+r:r);else{var o=e&&e.replace(r,"").trim();o?t.setAttribute(n,o):t.removeAttribute(n)}}))}}function ut(){!K&&Y.props.aria.expanded&&c(Y.props.triggerTarget||e).forEach((function(t){Y.props.interactive?t.setAttribute("aria-expanded",Y.state.isVisible&&t===et()?"true":"false"):t.removeAttribute("aria-expanded")}))}function pt(){nt().removeEventListener("mousemove",F),H=H.filter((function(t){return t!==F}))}function ct(t){if(!C.isTouch||!B&&"mousedown"!==t.type){var e=t.composedPath&&t.composedPath()[0]||t.target;if(!Y.props.interactive||!O($,e)){if(O(et(),e)){if(C.isTouch)return;if(Y.state.isVisible&&Y.props.trigger.indexOf("click")>=0)return}else at("onClickOutside",[Y,t]);!0===Y.props.hideOnClick&&(Y.clearDelayTimeouts(),Y.hide(),I=!0,setTimeout((function(){I=!1})),Y.state.isMounted||vt())}}}function ft(){B=!0}function lt(){B=!1}function dt(){var t=nt();t.addEventListener("mousedown",ct,!0),t.addEventListener("touchend",ct,r),t.addEventListener("touchstart",lt,r),t.addEventListener("touchmove",ft,r)}function vt(){var t=nt();t.removeEventListener("mousedown",ct,!0),t.removeEventListener("touchend",ct,r),t.removeEventListener("touchstart",lt,r),t.removeEventListener("touchmove",ft,r)}function mt(t,e){var n=rt().box;function r(t){t.target===n&&(E(n,"remove",r),e())}if(0===t)return e();E(n,"remove",A),E(n,"add",r),A=r}function ht(t,n,r){void 0===r&&(r=!1),c(Y.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,r),z.push({node:e,eventType:t,handler:n,options:r})}))}function gt(){var t;Z()&&(ht("touchstart",yt,{passive:!0}),ht("touchend",xt,{passive:!0})),(t=Y.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(ht(t,yt),t){case"mouseenter":ht("mouseleave",xt);break;case"focus":ht(n?"focusout":"blur",Et);break;case"focusin":ht("focusout",Et)}}))}function bt(){z.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,o=t.options;e.removeEventListener(n,r,o)})),z=[]}function yt(t){var e,n=!1;if(Y.state.isEnabled&&!Ot(t)&&!I){var r="focus"===(null==(e=T)?void 0:e.type);T=t,D=t.currentTarget,ut(),!Y.state.isVisible&&h(t)&&H.forEach((function(e){return e(t)})),"click"===t.type&&(Y.props.trigger.indexOf("mouseenter")<0||V)&&!1!==Y.props.hideOnClick&&Y.state.isVisible?n=!0:Lt(t),"click"===t.type&&(V=!n),n&&!r&&Dt(t)}}function wt(t){var e=t.target,n=et().contains(e)||$.contains(e);"mousemove"===t.type&&n||function(t,e){var n=e.clientX,r=e.clientY;return t.every((function(t){var e=t.popperRect,o=t.popperState,i=t.props.interactiveBorder,a=l(o.placement),s=o.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,p="top"===a?s.bottom.y:0,c="right"===a?s.left.x:0,f="left"===a?s.right.x:0,d=e.top-r+u>i,v=r-e.bottom-p>i,m=e.left-n+c>i,h=n-e.right-f>i;return d||v||m||h}))}(At().concat($).map((function(t){var e,n=null==(e=t._tippy.popperInstance)?void 0:e.state;return n?{popperRect:t.getBoundingClientRect(),popperState:n,props:M}:null})).filter(Boolean),t)&&(pt(),Dt(t))}function xt(t){Ot(t)||Y.props.trigger.indexOf("click")>=0&&V||(Y.props.interactive?Y.hideWithInteractivity(t):Dt(t))}function Et(t){Y.props.trigger.indexOf("focusin")<0&&t.target!==et()||Y.props.interactive&&t.relatedTarget&&$.contains(t.relatedTarget)||Dt(t)}function Ot(t){return!!C.isTouch&&Z()!==t.type.indexOf("touch")>=0}function Ct(){Tt();var n=Y.props,r=n.popperOptions,o=n.placement,i=n.offset,a=n.getReferenceClientRect,s=n.moveTransition,u=tt()?S($).arrow:null,p=a?{getBoundingClientRect:a,contextElement:a.contextElement||et()}:e,c=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(tt()){var n=rt().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?n.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?n.setAttribute("data-"+t,""):n.removeAttribute("data-"+t)})),e.attributes.popper={}}}}];tt()&&u&&c.push({name:"arrow",options:{element:u,padding:3}}),c.push.apply(c,(null==r?void 0:r.modifiers)||[]),Y.popperInstance=t.createPopper(p,$,Object.assign({},r,{placement:o,onFirstUpdate:L,modifiers:c}))}function Tt(){Y.popperInstance&&(Y.popperInstance.destroy(),Y.popperInstance=null)}function At(){return d($.querySelectorAll("[data-tippy-root]"))}function Lt(t){Y.clearDelayTimeouts(),t&&at("onTrigger",[Y,t]),dt();var e=ot(!0),n=Q(),r=n[0],o=n[1];C.isTouch&&"hold"===r&&o&&(e=o),e?m=setTimeout((function(){Y.show()}),e):Y.show()}function Dt(t){if(Y.clearDelayTimeouts(),at("onUntrigger",[Y,t]),Y.state.isVisible){if(!(Y.props.trigger.indexOf("mouseenter")>=0&&Y.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&V)){var e=ot(!1);e?g=setTimeout((function(){Y.state.isVisible&&Y.hide()}),e):b=requestAnimationFrame((function(){Y.hide()}))}}else vt()}}function z(t,e){void 0===e&&(e={});var n=k.plugins.concat(e.plugins||[]);document.addEventListener("touchstart",A,r),window.addEventListener("blur",D);var o=Object.assign({},e,{plugins:n}),i=b(t).reduce((function(t,e){var n=e&&_(e,o);return n&&t.push(n),t}),[]);return m(t)?i[0]:i}z.defaultProps=k,z.setDefaultProps=function(t){Object.keys(t).forEach((function(e){k[e]=t[e]}))},z.currentInput=C;var F=Object.assign({},t.applyStyles,{effect:function(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow)}}),W={mouseover:"mouseenter",focusin:"focus",click:"click"};var X={name:"animateFill",defaultValue:!1,fn:function(t){var e;if(!(null==(e=t.props.render)?void 0:e.$$tippy))return{};var n=S(t.popper),r=n.box,o=n.content,i=t.props.animateFill?function(){var t=v();return t.className="tippy-backdrop",w([t],"hidden"),t}():null;return{onCreate:function(){i&&(r.insertBefore(i,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",t.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(i){var t=r.style.transitionDuration,e=Number(t.replace("ms",""));o.style.transitionDelay=Math.round(e/10)+"ms",i.style.transitionDuration=t,w([i],"visible")}},onShow:function(){i&&(i.style.transitionDuration="0ms")},onHide:function(){i&&w([i],"hidden")}}}};var Y={clientX:0,clientY:0},q=[];function $(t){var e=t.clientX,n=t.clientY;Y={clientX:e,clientY:n}}var J={name:"followCursor",defaultValue:!1,fn:function(t){var e=t.reference,n=x(t.props.triggerTarget||e),r=!1,o=!1,i=!0,a=t.props;function s(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){n.addEventListener("mousemove",f)}function p(){n.removeEventListener("mousemove",f)}function c(){r=!0,t.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||e.contains(n.target),o=t.props.followCursor,i=n.clientX,a=n.clientY,s=e.getBoundingClientRect(),u=i-s.left,p=a-s.top;!r&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=e.getBoundingClientRect(),n=i,r=a;"initial"===o&&(n=t.left+u,r=t.top+p);var s="horizontal"===o?t.top:r,c="vertical"===o?t.right:n,f="horizontal"===o?t.bottom:r,l="vertical"===o?t.left:n;return{width:c-l,height:f-s,top:s,right:c,bottom:f,left:l}}})}function l(){t.props.followCursor&&(q.push({instance:t,doc:n}),function(t){t.addEventListener("mousemove",$)}(n))}function d(){0===(q=q.filter((function(e){return e.instance!==t}))).filter((function(t){return t.doc===n})).length&&function(t){t.removeEventListener("mousemove",$)}(n)}return{onCreate:l,onDestroy:d,onBeforeUpdate:function(){a=t.props},onAfterUpdate:function(e,n){var i=n.followCursor;r||void 0!==i&&a.followCursor!==i&&(d(),i?(l(),!t.state.isMounted||o||s()||u()):(p(),c()))},onMount:function(){t.props.followCursor&&!o&&(i&&(f(Y),i=!1),s()||u())},onTrigger:function(t,e){h(e)&&(Y={clientX:e.clientX,clientY:e.clientY}),o="focus"===e.type},onHidden:function(){t.props.followCursor&&(c(),p(),i=!0)}}}};var G={name:"inlinePositioning",defaultValue:!1,fn:function(t){var e,n=t.reference;var r=-1,o=!1,i={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(o){var i=o.state;t.props.inlinePositioning&&(e!==i.placement&&t.setProps({getReferenceClientRect:function(){return function(t){return function(t,e,n,r){if(n.length<2||null===t)return e;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||e;switch(t){case"top":case"bottom":var o=n[0],i=n[n.length-1],a="top"===t,s=o.top,u=i.bottom,p=a?o.left:i.left,c=a?o.right:i.right;return{top:s,bottom:u,left:p,right:c,width:c-p,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(t){return t.left}))),l=Math.max.apply(Math,n.map((function(t){return t.right}))),d=n.filter((function(e){return"left"===t?e.left===f:e.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return e}}(l(t),n.getBoundingClientRect(),d(n.getClientRects()),r)}(i.placement)}}),e=i.placement)}};function a(){var e;o||(e=function(t,e){var n;return{popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat(((null==(n=t.popperOptions)?void 0:n.modifiers)||[]).filter((function(t){return t.name!==e.name})),[e])})}}(t.props,i),o=!0,t.setProps(e),o=!1)}return{onCreate:a,onAfterUpdate:a,onTrigger:function(e,n){if(h(n)){var o=d(t.reference.getClientRects()),i=o.find((function(t){return t.left-2<=n.clientX&&t.right+2>=n.clientX&&t.top-2<=n.clientY&&t.bottom+2>=n.clientY})),a=o.indexOf(i);r=a>-1?a:r}},onHidden:function(){r=-1}}}};var K={name:"sticky",defaultValue:!1,fn:function(t){var e=t.reference,n=t.popper;function r(e){return!0===t.props.sticky||t.props.sticky===e}var o=null,i=null;function a(){var s=r("reference")?(t.popperInstance?t.popperInstance.state.elements.reference:e).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&Q(o,s)||u&&Q(i,u))&&t.popperInstance&&t.popperInstance.update(),o=s,i=u,t.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){t.props.sticky&&a()}}}};function Q(t,e){return!t||!e||(t.top!==e.top||t.right!==e.right||t.bottom!==e.bottom||t.left!==e.left)}return e&&function(t){var e=document.createElement("style");e.textContent=t,e.setAttribute("data-tippy-stylesheet","");var n=document.head,r=document.querySelector("head>style,head>link");r?n.insertBefore(e,r):n.appendChild(e)}('.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}'),z.setDefaultProps({plugins:[X,J,G,K],render:B}),z.createSingleton=function(t,e){var n;void 0===e&&(e={});var r,o=t,i=[],a=e.overrides,s=[],u=!1;function c(){i=o.map((function(t){return t.reference}))}function f(t){o.forEach((function(e){t?e.enable():e.disable()}))}function l(t){return o.map((function(e){var n=e.setProps;return e.setProps=function(o){n(o),e.reference===r&&t.setProps(o)},function(){e.setProps=n}}))}function d(t,e){var n=i.indexOf(e);if(e!==r){r=e;var s=(a||[]).concat("content").reduce((function(t,e){return t[e]=o[n].props[e],t}),{});t.setProps(Object.assign({},s,{getReferenceClientRect:"function"==typeof s.getReferenceClientRect?s.getReferenceClientRect:function(){return e.getBoundingClientRect()}}))}}f(!1),c();var m={fn:function(){return{onDestroy:function(){f(!0)},onHidden:function(){r=null},onClickOutside:function(t){t.props.showOnCreate&&!u&&(u=!0,r=null)},onShow:function(t){t.props.showOnCreate&&!u&&(u=!0,d(t,i[0]))},onTrigger:function(t,e){d(t,e.currentTarget)}}}},h=z(v(),Object.assign({},p(e,["overrides"]),{plugins:[m].concat(e.plugins||[]),triggerTarget:i,popperOptions:Object.assign({},e.popperOptions,{modifiers:[].concat((null==(n=e.popperOptions)?void 0:n.modifiers)||[],[F])})})),g=h.show;h.show=function(t){if(g(),!r&&null==t)return d(h,i[0]);if(!r||null!=t){if("number"==typeof t)return i[t]&&d(h,i[t]);if(o.indexOf(t)>=0){var e=t.reference;return d(h,e)}return i.indexOf(t)>=0?d(h,t):void 0}},h.showNext=function(){var t=i[0];if(!r)return h.show(0);var e=i.indexOf(r);h.show(i[e+1]||t)},h.showPrevious=function(){var t=i[i.length-1];if(!r)return h.show(t);var e=i.indexOf(r),n=i[e-1]||t;h.show(n)};var b=h.setProps;return h.setProps=function(t){a=t.overrides||a,b(t)},h.setInstances=function(t){f(!0),s.forEach((function(t){return t()})),o=t,f(!1),c(),l(h),h.setProps({triggerTarget:i})},s=l(h),h},z.delegate=function(t,e){var n=[],o=[],i=!1,a=e.target,s=p(e,["target"]),u=Object.assign({},s,{trigger:"manual",touch:!1}),f=Object.assign({},s,{showOnCreate:!0}),l=z(t,u);function d(t){if(t.target&&!i){var n=t.target.closest(a);if(n){var r=n.getAttribute("data-tippy-trigger")||e.trigger||k.trigger;if(!n._tippy&&!("touchstart"===t.type&&"boolean"==typeof f.touch||"touchstart"!==t.type&&r.indexOf(W[t.type])<0)){var s=z(n,f);s&&(o=o.concat(s))}}}}function v(t,e,r,o){void 0===o&&(o=!1),t.addEventListener(e,r,o),n.push({node:t,eventType:e,handler:r,options:o})}return c(l).forEach((function(t){var e=t.destroy,a=t.enable,s=t.disable;t.destroy=function(t){void 0===t&&(t=!0),t&&o.forEach((function(t){t.destroy()})),o=[],n.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,o=t.options;e.removeEventListener(n,r,o)})),n=[],e()},t.enable=function(){a(),o.forEach((function(t){return t.enable()})),i=!1},t.disable=function(){s(),o.forEach((function(t){return t.disable()})),i=!0},function(t){var e=t.reference;v(e,"touchstart",d,r),v(e,"mouseover",d),v(e,"focusin",d),v(e,"click",d)}(t)})),l},z.hideAll=function(t){var e=void 0===t?{}:t,n=e.exclude,r=e.duration;U.forEach((function(t){var e=!1;if(n&&(e=g(n)?t.reference===n:t.popper===n.popper),!e){var o=t.props.duration;t.setProps({duration:r}),t.hide(),t.state.isDestroyed||t.setProps({duration:o})}}))},z.roundArrow='<svg width="16" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z"></svg>',z}));
18
 
19
  /**
20
  * Simplest Tags Input Beautifier
permalink-manager.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Permalink Manager Lite
5
  * Plugin URI: https://permalinkmanager.pro?utm_source=plugin
6
  * Description: Advanced plugin that allows to set-up custom permalinks (bulk editors included), slugs and permastructures (WooCommerce compatible).
7
- * Version: 2.2.12
8
  * Author: Maciej Bis
9
  * Author URI: http://maciejbis.net/
10
  * License: GPL-2.0+
@@ -12,7 +12,7 @@
12
  * Text Domain: permalink-manager
13
  * Domain Path: /languages
14
  * WC requires at least: 3.0.0
15
- * WC tested up to: 5.5.2
16
  */
17
 
18
  // If this file is called directly or plugin is already defined, abort.
@@ -25,7 +25,7 @@ if(!class_exists('Permalink_Manager_Class')) {
25
  // Define the directories used to load plugin files.
26
  define( 'PERMALINK_MANAGER_PLUGIN_NAME', 'Permalink Manager' );
27
  define( 'PERMALINK_MANAGER_PLUGIN_SLUG', 'permalink-manager' );
28
- define( 'PERMALINK_MANAGER_VERSION', '2.2.12' );
29
  define( 'PERMALINK_MANAGER_FILE', __FILE__ );
30
  define( 'PERMALINK_MANAGER_DIR', untrailingslashit(dirname(__FILE__)) );
31
  define( 'PERMALINK_MANAGER_BASENAME', plugin_basename(__FILE__));
@@ -134,11 +134,11 @@ if(!class_exists('Permalink_Manager_Class')) {
134
  // 1. Globals with data stored in DB
135
  global $permalink_manager_options, $permalink_manager_uris, $permalink_manager_permastructs, $permalink_manager_redirects, $permalink_manager_external_redirects;
136
 
137
- $this->permalink_manager_options = $permalink_manager_options = (array) apply_filters('permalink_manager_options', get_option('permalink-manager', null));
138
- $this->permalink_manager_uris = $permalink_manager_uris = (array) apply_filters('permalink_manager_uris', get_option('permalink-manager-uris', null));
139
- $this->permalink_manager_permastructs = $permalink_manager_permastructs = (array) apply_filters('permalink_manager_permastructs', get_option('permalink-manager-permastructs', null));
140
- $this->permalink_manager_redirects = $permalink_manager_redirects = (array) apply_filters('permalink_manager_redirects', get_option('permalink-manager-redirects', null));
141
- $this->permalink_manager_external_redirects = $permalink_manager_external_redirects = (array) apply_filters('permalink_manager_external_redirects', get_option('permalink-manager-external-redirects', null));
142
 
143
  // 2. Globals used to display additional content (eg. alerts)
144
  global $permalink_manager_alerts, $permalink_manager_before_sections_html, $permalink_manager_after_sections_html;
@@ -176,6 +176,7 @@ if(!class_exists('Permalink_Manager_Class')) {
176
  'pmxi_support' => 1,
177
  'um_support' => 1,
178
  'yoast_breadcrumbs' => 0,
 
179
  'force_custom_slugs' => 0,
180
  'disable_slug_sanitization' => 0,
181
  'keep_accents' => 0,
@@ -183,7 +184,7 @@ if(!class_exists('Permalink_Manager_Class')) {
183
  'post_types' => array('attachment', 'tribe_events')
184
  ),
185
  'deep_detect' => 1,
186
- 'ignore_drafts' => 0,
187
  'edit_uris_cap' => 'publish_posts',
188
  ),
189
  'licence' => array()
4
  * Plugin Name: Permalink Manager Lite
5
  * Plugin URI: https://permalinkmanager.pro?utm_source=plugin
6
  * Description: Advanced plugin that allows to set-up custom permalinks (bulk editors included), slugs and permastructures (WooCommerce compatible).
7
+ * Version: 2.2.14
8
  * Author: Maciej Bis
9
  * Author URI: http://maciejbis.net/
10
  * License: GPL-2.0+
12
  * Text Domain: permalink-manager
13
  * Domain Path: /languages
14
  * WC requires at least: 3.0.0
15
+ * WC tested up to: 5.6.0
16
  */
17
 
18
  // If this file is called directly or plugin is already defined, abort.
25
  // Define the directories used to load plugin files.
26
  define( 'PERMALINK_MANAGER_PLUGIN_NAME', 'Permalink Manager' );
27
  define( 'PERMALINK_MANAGER_PLUGIN_SLUG', 'permalink-manager' );
28
+ define( 'PERMALINK_MANAGER_VERSION', '2.2.14' );
29
  define( 'PERMALINK_MANAGER_FILE', __FILE__ );
30
  define( 'PERMALINK_MANAGER_DIR', untrailingslashit(dirname(__FILE__)) );
31
  define( 'PERMALINK_MANAGER_BASENAME', plugin_basename(__FILE__));
134
  // 1. Globals with data stored in DB
135
  global $permalink_manager_options, $permalink_manager_uris, $permalink_manager_permastructs, $permalink_manager_redirects, $permalink_manager_external_redirects;
136
 
137
+ $this->permalink_manager_options = $permalink_manager_options = (array) apply_filters('permalink_manager_options', get_option('permalink-manager', array()));
138
+ $this->permalink_manager_uris = $permalink_manager_uris = (array) apply_filters('permalink_manager_uris', get_option('permalink-manager-uris', array()));
139
+ $this->permalink_manager_permastructs = $permalink_manager_permastructs = (array) apply_filters('permalink_manager_permastructs', get_option('permalink-manager-permastructs', array()));
140
+ $this->permalink_manager_redirects = $permalink_manager_redirects = (array) apply_filters('permalink_manager_redirects', get_option('permalink-manager-redirects', array()));
141
+ $this->permalink_manager_external_redirects = $permalink_manager_external_redirects = (array) apply_filters('permalink_manager_external_redirects', get_option('permalink-manager-external-redirects', array()));
142
 
143
  // 2. Globals used to display additional content (eg. alerts)
144
  global $permalink_manager_alerts, $permalink_manager_before_sections_html, $permalink_manager_after_sections_html;
176
  'pmxi_support' => 1,
177
  'um_support' => 1,
178
  'yoast_breadcrumbs' => 0,
179
+ 'primary_category' => 1,
180
  'force_custom_slugs' => 0,
181
  'disable_slug_sanitization' => 0,
182
  'keep_accents' => 0,
184
  'post_types' => array('attachment', 'tribe_events')
185
  ),
186
  'deep_detect' => 1,
187
+ 'ignore_drafts' => 1,
188
  'edit_uris_cap' => 'publish_posts',
189
  ),
190
  'licence' => array()