Yoast SEO - Version 9.0

Version Description

Download this release

Release Info

Developer Yoast
Plugin Icon 128x128 Yoast SEO
Version 9.0
Comparing to
See all releases

Code changes from version 8.4 to 9.0

Files changed (174) hide show
  1. admin/ajax.php +1 -2
  2. admin/class-add-keyword-modal.php +5 -3
  3. admin/class-admin-asset-analysis-worker-location.php +3 -2
  4. admin/class-admin-asset-manager.php +5 -6
  5. admin/class-admin-asset-yoast-components-l10n.php +3 -2
  6. admin/class-admin-gutenberg-compatibility-notification.php +3 -3
  7. admin/class-admin-init.php +6 -4
  8. admin/class-admin-utils.php +3 -0
  9. admin/class-admin.php +24 -19
  10. admin/class-asset.php +15 -8
  11. admin/class-cornerstone.php +0 -94
  12. admin/class-customizer.php +7 -7
  13. admin/class-database-proxy.php +2 -2
  14. admin/class-expose-shortlinks.php +17 -14
  15. admin/class-gutenberg-compatibility.php +2 -2
  16. admin/class-help-center.php +3 -0
  17. admin/class-keyword-synonyms-modal.php +2 -2
  18. admin/class-meta-columns.php +2 -2
  19. admin/class-meta-storage.php +2 -1
  20. admin/class-meta-table-accessible.php +3 -0
  21. admin/class-multiple-keywords-modal.php +2 -2
  22. admin/class-paper-presenter.php +1 -1
  23. admin/class-plugin-availability.php +2 -1
  24. admin/class-premium-popup.php +2 -2
  25. admin/class-premium-upsell-admin-block.php +1 -1
  26. admin/class-primary-term-admin.php +1 -0
  27. admin/class-product-upsell-notice.php +1 -1
  28. admin/class-recalculate-scores.php +1 -1
  29. admin/class-social-admin.php +2 -1
  30. admin/class-yoast-form.php +151 -52
  31. admin/class-yoast-network-admin.php +7 -4
  32. admin/class-yoast-network-settings-api.php +3 -2
  33. admin/config-ui/class-configuration-options-adapter.php +19 -16
  34. admin/config-ui/class-configuration-page.php +18 -15
  35. admin/config-ui/components/class-component-suggestions.php +34 -6
  36. admin/config-ui/fields/class-field-google-search-console-intro.php +1 -1
  37. admin/config-ui/fields/class-field-success-message.php +2 -2
  38. admin/config-ui/fields/class-field-suggestions.php +5 -6
  39. admin/endpoints/class-endpoint-indexable.php +26 -16
  40. admin/filters/class-cornerstone-filter.php +19 -3
  41. admin/formatter/class-metabox-formatter.php +38 -37
  42. admin/google_search_console/class-gsc-marker.php +1 -1
  43. admin/google_search_console/class-gsc-modal.php +1 -1
  44. admin/import/class-import-settings.php +1 -1
  45. admin/links/class-link-installer.php +1 -1
  46. admin/links/class-link-reindex-dashboard.php +36 -33
  47. admin/links/class-link-table-accessible.php +3 -0
  48. admin/metabox/class-metabox-keyword-synonyms-config.php +2 -2
  49. admin/metabox/class-metabox-multiple-keywords-config.php +3 -3
  50. admin/metabox/class-metabox-section-react.php +1 -1
  51. admin/metabox/class-metabox.php +24 -4
  52. admin/notifiers/class-configuration-notifier.php +2 -1
  53. admin/notifiers/class-post-type-archive-notification-handler.php +3 -3
  54. admin/onpage/class-ryte-service.php +1 -1
  55. admin/pages/network.php +1 -0
  56. admin/services/class-indexable-post-provider.php +166 -50
  57. admin/services/class-indexable-provider.php +36 -0
  58. admin/services/class-indexable-term-provider.php +119 -55
  59. admin/services/class-indexable.php +53 -25
  60. admin/services/interface-indexable-provider.php +12 -1
  61. admin/statistics/class-statistics-service.php +1 -1
  62. admin/taxonomy/class-taxonomy-fields-presenter.php +22 -2
  63. admin/taxonomy/class-taxonomy-metabox.php +3 -3
  64. admin/taxonomy/class-taxonomy-social-fields.php +5 -0
  65. admin/taxonomy/class-taxonomy.php +3 -0
  66. admin/views/class-yoast-feature-toggle.php +105 -0
  67. admin/views/class-yoast-feature-toggles.php +179 -0
  68. admin/views/licenses.php +4 -4
  69. admin/views/sidebar.php +10 -10
  70. admin/views/tabs/dashboard/features.php +4 -101
  71. admin/views/tabs/metas/paper-content/breadcrumbs-content.php +1 -1
  72. admin/views/tabs/metas/paper-content/date-archives-settings.php +29 -29
  73. admin/views/tabs/network/features.php +65 -0
  74. admin/views/tabs/social/facebook.php +1 -1
  75. admin/views/tool-file-editor.php +1 -1
  76. admin/views/user-profile.php +2 -2
  77. admin/watchers/class-slug-change-watcher.php +1 -1
  78. css/dist/admin-global-840-rtl.min.css +0 -1
  79. css/dist/admin-global-840.min.css +0 -1
  80. css/dist/admin-global-900-rtl.min.css +1 -0
  81. css/dist/admin-global-900.min.css +1 -0
  82. css/dist/{adminbar-840-rtl.min.css → adminbar-900-rtl.min.css} +0 -0
  83. css/dist/{adminbar-840.min.css → adminbar-900.min.css} +0 -0
  84. css/dist/{alerts-840-rtl.min.css → alerts-900-rtl.min.css} +0 -0
  85. css/dist/{alerts-840.min.css → alerts-900.min.css} +0 -0
  86. css/dist/{dashboard-840-rtl.min.css → dashboard-900-rtl.min.css} +0 -0
  87. css/dist/{dashboard-840.min.css → dashboard-900.min.css} +0 -0
  88. css/dist/{edit-page-840-rtl.min.css → edit-page-900-rtl.min.css} +0 -0
  89. css/dist/{edit-page-840.min.css → edit-page-900.min.css} +0 -0
  90. css/dist/{featured-image-840-rtl.min.css → featured-image-900-rtl.min.css} +0 -0
  91. css/dist/{featured-image-840.min.css → featured-image-900.min.css} +0 -0
  92. css/dist/{filter-explanation-840-rtl.min.css → filter-explanation-900-rtl.min.css} +0 -0
  93. css/dist/{filter-explanation-840.min.css → filter-explanation-900.min.css} +0 -0
  94. css/dist/{inside-editor-840-rtl.min.css → inside-editor-900-rtl.min.css} +0 -0
  95. css/dist/{inside-editor-840.min.css → inside-editor-900.min.css} +0 -0
  96. css/dist/{metabox-840-rtl.min.css → metabox-900-rtl.min.css} +0 -0
  97. css/dist/{metabox-840.min.css → metabox-900.min.css} +0 -0
  98. css/dist/{metabox-primary-category-840-rtl.min.css → metabox-primary-category-900-rtl.min.css} +0 -0
  99. css/dist/{metabox-primary-category-840.min.css → metabox-primary-category-900.min.css} +0 -0
  100. css/dist/{search-appearance-840-rtl.min.css → search-appearance-900-rtl.min.css} +0 -0
  101. css/dist/{search-appearance-840.min.css → search-appearance-900.min.css} +0 -0
  102. css/dist/structured-data-blocks-840-rtl.min.css +0 -1
  103. css/dist/structured-data-blocks-840.min.css +0 -1
  104. css/dist/structured-data-blocks-900-rtl.min.css +1 -0
  105. css/dist/structured-data-blocks-900.min.css +1 -0
  106. css/dist/toggle-switch-840-rtl.min.css +0 -1
  107. css/dist/toggle-switch-840.min.css +0 -1
  108. css/dist/toggle-switch-900-rtl.min.css +1 -0
  109. css/dist/toggle-switch-900.min.css +1 -0
  110. css/dist/{wpseo-dismissible-840-rtl.min.css → wpseo-dismissible-900-rtl.min.css} +0 -0
  111. css/dist/{wpseo-dismissible-840.min.css → wpseo-dismissible-900.min.css} +0 -0
  112. css/dist/{yoast-components-840-rtl.min.css → yoast-components-900-rtl.min.css} +0 -0
  113. css/dist/{yoast-components-840.min.css → yoast-components-900.min.css} +0 -0
  114. css/dist/yoast-extensions-840-rtl.min.css +0 -1
  115. css/dist/yoast-extensions-840.min.css +0 -1
  116. css/dist/yoast-extensions-900-rtl.min.css +1 -0
  117. css/dist/yoast-extensions-900.min.css +1 -0
  118. css/dist/{yst_plugin_tools-840-rtl.min.css → yst_plugin_tools-900-rtl.min.css} +1 -1
  119. css/dist/{yst_plugin_tools-840.min.css → yst_plugin_tools-900.min.css} +1 -1
  120. css/dist/{yst_seo_score-840-rtl.min.css → yst_seo_score-900-rtl.min.css} +0 -0
  121. css/dist/{yst_seo_score-840.min.css → yst_seo_score-900.min.css} +0 -0
  122. deprecated/class-cornerstone.php +51 -0
  123. frontend/class-breadcrumbs.php +3 -3
  124. frontend/class-frontend.php +50 -42
  125. frontend/class-opengraph-image.php +118 -48
  126. frontend/class-opengraph.php +2 -0
  127. frontend/class-twitter.php +13 -19
  128. images/exclamation-triangle.svg +1 -0
  129. inc/class-upgrade.php +22 -1
  130. inc/class-wpseo-admin-bar-menu.php +7 -7
  131. inc/class-wpseo-content-images.php +16 -13
  132. inc/class-wpseo-custom-taxonomies.php +2 -2
  133. inc/class-wpseo-endpoint-factory.php +173 -0
  134. inc/class-wpseo-image-utils.php +2 -2
  135. inc/class-wpseo-meta.php +1 -13
  136. inc/class-wpseo-rank.php +1 -1
  137. inc/class-wpseo-replace-vars.php +1 -1
  138. inc/class-wpseo-shortlinker.php +30 -13
  139. inc/class-wpseo-utils.php +36 -36
  140. inc/class-wpseo-validator.php +72 -0
  141. inc/exceptions/class-invalid-argument-exception.php +153 -0
  142. inc/exceptions/class-invalid-indexable-exception.php +46 -0
  143. inc/exceptions/class-rest-request-exception.php +31 -0
  144. inc/indexables/class-indexable.php +124 -0
  145. inc/indexables/class-object-type.php +104 -0
  146. inc/indexables/class-post-indexable.php +101 -0
  147. inc/indexables/class-post-object-type.php +31 -0
  148. inc/indexables/class-term-indexable.php +124 -0
  149. inc/indexables/class-term-object-type.php +31 -0
  150. inc/indexables/validators/class-endpoint-validator.php +21 -0
  151. inc/indexables/validators/class-keyword-validator.php +29 -0
  152. inc/indexables/validators/class-link-validator.php +29 -0
  153. inc/indexables/validators/class-meta-values-validator.php +51 -0
  154. inc/indexables/validators/class-object-type-validator.php +66 -0
  155. inc/indexables/validators/class-opengraph-validator.php +35 -0
  156. inc/indexables/validators/class-robots-validator.php +44 -0
  157. inc/indexables/validators/class-twitter-validator.php +35 -0
  158. inc/options/class-wpseo-option-ms.php +15 -4
  159. inc/options/class-wpseo-option-social.php +29 -18
  160. inc/options/class-wpseo-option-titles.php +56 -73
  161. inc/options/class-wpseo-option-wpseo.php +121 -0
  162. inc/options/class-wpseo-option.php +80 -6
  163. inc/options/class-wpseo-options.php +10 -1
  164. inc/options/class-wpseo-taxonomy-meta.php +2 -2
  165. inc/sitemaps/class-post-type-sitemap-provider.php +12 -9
  166. inc/sitemaps/class-sitemap-image-parser.php +1 -1
  167. inc/sitemaps/class-sitemaps-admin.php +4 -6
  168. inc/sitemaps/class-sitemaps-cache.php +14 -4
  169. inc/sitemaps/class-sitemaps.php +7 -1
  170. inc/sitemaps/class-taxonomy-sitemap-provider.php +12 -9
  171. inc/structured-data-blocks/class-faq-block.php +2 -1
  172. inc/structured-data-blocks/class-how-to-block.php +2 -1
  173. inc/wpseo-non-ajax-functions.php +12 -4
  174. js/dist/analysis-840.min.js +0 -13
admin/ajax.php CHANGED
@@ -362,8 +362,7 @@ new WPSEO_Taxonomy_Columns();
362
  // Setting the notice for the recalculate the posts.
363
  new Yoast_Dismissable_Notice_Ajax( 'recalculate', Yoast_Dismissable_Notice_Ajax::FOR_SITE );
364
 
365
- /********************** DEPRECATED METHODS **********************/
366
-
367
 
368
  /**
369
  * Removes stopword from the sample permalink that is generated in an AJAX request
362
  // Setting the notice for the recalculate the posts.
363
  new Yoast_Dismissable_Notice_Ajax( 'recalculate', Yoast_Dismissable_Notice_Ajax::FOR_SITE );
364
 
365
+ /* ********************* DEPRECATED FUNCTIONS ********************* */
 
366
 
367
  /**
368
  * Removes stopword from the sample permalink that is generated in an AJAX request
admin/class-add-keyword-modal.php CHANGED
@@ -18,7 +18,7 @@ class WPSEO_Add_Keyword_Modal {
18
  */
19
  public function get_translations() {
20
  return array(
21
- 'title' => __( 'Would you like to add more than one keyword?', 'wordpress-seo' ),
22
  'intro' => sprintf(
23
  /* translators: %1$s expands to a 'Yoast SEO Premium' text linked to the yoast.com website. */
24
  __( 'Great news: you can, with %1$s!', 'wordpress-seo' ),
@@ -27,12 +27,14 @@ class WPSEO_Add_Keyword_Modal {
27
  'link' => WPSEO_Shortlinker::get( 'https://yoa.st/pe-premium-page' ),
28
  'other' => sprintf(
29
  /* translators: %s expands to 'Yoast SEO Premium'. */
30
- __( 'Other benefits of %s for you:', 'wordpress-seo' ), 'Yoast SEO Premium'
 
31
  ),
32
  'buylink' => WPSEO_Shortlinker::get( 'https://yoa.st/add-keywords-popup' ),
33
  'buy' => sprintf(
34
  /* translators: %s expands to 'Yoast SEO Premium'. */
35
- __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium'
 
36
  ),
37
  'small' => __( '1 year free updates and upgrades included!', 'wordpress-seo' ),
38
  'a11yNotice.opensInNewTab' => __( '(Opens in a new browser tab)', 'wordpress-seo' ),
18
  */
19
  public function get_translations() {
20
  return array(
21
+ 'title' => __( 'Would you like to add more than one keyphrase?', 'wordpress-seo' ),
22
  'intro' => sprintf(
23
  /* translators: %1$s expands to a 'Yoast SEO Premium' text linked to the yoast.com website. */
24
  __( 'Great news: you can, with %1$s!', 'wordpress-seo' ),
27
  'link' => WPSEO_Shortlinker::get( 'https://yoa.st/pe-premium-page' ),
28
  'other' => sprintf(
29
  /* translators: %s expands to 'Yoast SEO Premium'. */
30
+ __( 'Other benefits of %s for you:', 'wordpress-seo' ),
31
+ 'Yoast SEO Premium'
32
  ),
33
  'buylink' => WPSEO_Shortlinker::get( 'https://yoa.st/add-keywords-popup' ),
34
  'buy' => sprintf(
35
  /* translators: %s expands to 'Yoast SEO Premium'. */
36
+ __( 'Get %s', 'wordpress-seo' ),
37
+ 'Yoast SEO Premium'
38
  ),
39
  'small' => __( '1 year free updates and upgrades included!', 'wordpress-seo' ),
40
  'a11yNotice.opensInNewTab' => __( '(Opens in a new browser tab)', 'wordpress-seo' ),
admin/class-admin-asset-analysis-worker-location.php CHANGED
@@ -33,10 +33,11 @@ final class WPSEO_Admin_Asset_Analysis_Worker_Location implements WPSEO_Admin_As
33
  }
34
 
35
  $this->asset_location = WPSEO_Admin_Asset_Manager::create_default_location();
36
- $this->asset = new WPSEO_Admin_Asset( array(
37
  'name' => $name,
38
  'src' => 'wp-seo-' . $name . '-' . $flat_version,
39
- ) );
 
40
  }
41
 
42
  /**
33
  }
34
 
35
  $this->asset_location = WPSEO_Admin_Asset_Manager::create_default_location();
36
+ $asset_arguments = array(
37
  'name' => $name,
38
  'src' => 'wp-seo-' . $name . '-' . $flat_version,
39
+ );
40
+ $this->asset = new WPSEO_Admin_Asset( $asset_arguments );
41
  }
42
 
43
  /**
admin/class-admin-asset-manager.php CHANGED
@@ -127,13 +127,12 @@ class WPSEO_Admin_Asset_Manager {
127
  */
128
  public function special_styles() {
129
  $flat_version = $this->flatten_version( WPSEO_VERSION );
130
-
131
- return array(
132
- 'inside-editor' => new WPSEO_Admin_Asset( array(
133
- 'name' => 'inside-editor',
134
- 'src' => 'inside-editor-' . $flat_version,
135
- ) ),
136
  );
 
 
137
  }
138
 
139
  /**
127
  */
128
  public function special_styles() {
129
  $flat_version = $this->flatten_version( WPSEO_VERSION );
130
+ $asset_args = array(
131
+ 'name' => 'inside-editor',
132
+ 'src' => 'inside-editor-' . $flat_version,
 
 
 
133
  );
134
+
135
+ return array( 'inside-editor' => new WPSEO_Admin_Asset( $asset_args ) );
136
  }
137
 
138
  /**
admin/class-admin-asset-yoast-components-l10n.php CHANGED
@@ -16,10 +16,11 @@ final class WPSEO_Admin_Asset_Yoast_Components_L10n {
16
  * @return void
17
  */
18
  public function localize_script( $script_handle ) {
19
- wp_localize_script( $script_handle, 'wpseoYoastJSL10n', array(
20
  'yoast-components' => $this->get_translations( 'yoast-components' ),
21
  'wordpress-seo' => $this->get_translations( 'wordpress-seojs' ),
22
- ) );
 
23
  }
24
 
25
  /**
16
  * @return void
17
  */
18
  public function localize_script( $script_handle ) {
19
+ $translations = array(
20
  'yoast-components' => $this->get_translations( 'yoast-components' ),
21
  'wordpress-seo' => $this->get_translations( 'wordpress-seojs' ),
22
+ );
23
+ wp_localize_script( $script_handle, 'wpseoYoastJSL10n', $translations );
24
  }
25
 
26
  /**
admin/class-admin-gutenberg-compatibility-notification.php CHANGED
@@ -68,7 +68,7 @@ class WPSEO_Admin_Gutenberg_Compatibility_Notification implements WPSEO_WordPres
68
  $level = $this->compatibility_checker->is_below_minimum() ? Yoast_Notification::ERROR : Yoast_Notification::WARNING;
69
 
70
  $message = sprintf(
71
- /* translators: %1$s expands to Yoast SEO, %2$s expands to the installed version, %3$s expands to Gutenberg */
72
  __( '%1$s detected you are using version %2$s of %3$s, please update to the latest version to prevent compatibility issues.', 'wordpress-seo' ),
73
  'Yoast SEO',
74
  $this->compatibility_checker->get_installed_version(),
@@ -78,8 +78,8 @@ class WPSEO_Admin_Gutenberg_Compatibility_Notification implements WPSEO_WordPres
78
  $notification = new Yoast_Notification(
79
  $message,
80
  array(
81
- 'id' => $this->notification_id,
82
- 'type' => $level,
83
  'priority' => 1,
84
  )
85
  );
68
  $level = $this->compatibility_checker->is_below_minimum() ? Yoast_Notification::ERROR : Yoast_Notification::WARNING;
69
 
70
  $message = sprintf(
71
+ /* translators: %1$s expands to Yoast SEO, %2$s expands to the installed version, %3$s expands to Gutenberg */
72
  __( '%1$s detected you are using version %2$s of %3$s, please update to the latest version to prevent compatibility issues.', 'wordpress-seo' ),
73
  'Yoast SEO',
74
  $this->compatibility_checker->get_installed_version(),
78
  $notification = new Yoast_Notification(
79
  $message,
80
  array(
81
+ 'id' => $this->notification_id,
82
+ 'type' => $level,
83
  'priority' => 1,
84
  )
85
  );
admin/class-admin-init.php CHANGED
@@ -109,10 +109,11 @@ class WPSEO_Admin_Init {
109
 
110
  $current_url = ( is_ssl() ? 'https://' : 'http://' );
111
  $current_url .= sanitize_text_field( $_SERVER['SERVER_NAME'] ) . sanitize_text_field( $_SERVER['REQUEST_URI'] );
112
- $customize_url = add_query_arg( array(
113
  'autofocus[control]' => 'blogdescription',
114
  'url' => urlencode( $current_url ),
115
- ), wp_customize_url() );
 
116
 
117
  $info_message = sprintf(
118
  /* translators: 1: link open tag; 2: link close tag. */
@@ -212,7 +213,7 @@ class WPSEO_Admin_Init {
212
 
213
  // We are checking against the WordPress internal translation.
214
  // @codingStandardsIgnoreLine
215
- $translated_blog_description = __( 'Just another WordPress site' );
216
 
217
  return $translated_blog_description === $blog_description || $default_blog_description === $blog_description;
218
  }
@@ -567,7 +568,8 @@ class WPSEO_Admin_Init {
567
  'textdomain' => 'wordpress-seo',
568
  'plugin_name' => 'Yoast SEO',
569
  'hook' => 'wpseo_admin_promo_footer',
570
- ), false
 
571
  );
572
 
573
  $message = $i18n_module->get_promo_message();
109
 
110
  $current_url = ( is_ssl() ? 'https://' : 'http://' );
111
  $current_url .= sanitize_text_field( $_SERVER['SERVER_NAME'] ) . sanitize_text_field( $_SERVER['REQUEST_URI'] );
112
+ $query_args = array(
113
  'autofocus[control]' => 'blogdescription',
114
  'url' => urlencode( $current_url ),
115
+ );
116
+ $customize_url = add_query_arg( $query_args, wp_customize_url() );
117
 
118
  $info_message = sprintf(
119
  /* translators: 1: link open tag; 2: link close tag. */
213
 
214
  // We are checking against the WordPress internal translation.
215
  // @codingStandardsIgnoreLine
216
+ $translated_blog_description = __( 'Just another WordPress site', 'default' );
217
 
218
  return $translated_blog_description === $blog_description || $default_blog_description === $blog_description;
219
  }
568
  'textdomain' => 'wordpress-seo',
569
  'plugin_name' => 'Yoast SEO',
570
  'hook' => 'wpseo_admin_promo_footer',
571
+ ),
572
+ false
573
  );
574
 
575
  $message = $i18n_module->get_promo_message();
admin/class-admin-utils.php CHANGED
@@ -67,10 +67,13 @@ class WPSEO_Admin_Utils {
67
  );
68
  }
69
 
 
 
70
  /**
71
  * Determines whether or not the user has an invalid version of PHP installed.
72
  *
73
  * @deprecated 8.1
 
74
  *
75
  * @return bool Whether or not PHP 5.2 or lower is installed.
76
  */
67
  );
68
  }
69
 
70
+ /* ********************* DEPRECATED METHODS ********************* */
71
+
72
  /**
73
  * Determines whether or not the user has an invalid version of PHP installed.
74
  *
75
  * @deprecated 8.1
76
+ * @codeCoverageIgnore
77
  *
78
  * @return bool Whether or not PHP 5.2 or lower is installed.
79
  */
admin/class-admin.php CHANGED
@@ -48,7 +48,7 @@ class WPSEO_Admin {
48
  );
49
 
50
  if ( WPSEO_Metabox::is_post_overview( $pagenow ) || WPSEO_Metabox::is_post_edit( $pagenow ) ) {
51
- $this->admin_features['primary_category'] = new WPSEO_Primary_Term_Admin();
52
  }
53
 
54
  if ( filter_input( INPUT_GET, 'page' ) === 'wpseo_tools' && filter_input( INPUT_GET, 'tool' ) === null ) {
@@ -318,17 +318,6 @@ class WPSEO_Admin {
318
  $upsell->initialize();
319
  }
320
 
321
- /**
322
- * Initializes Whip to show a notice for outdated PHP versions.
323
- *
324
- * @deprecated 8.1
325
- *
326
- * @return void
327
- */
328
- public function check_php_version() {
329
- // Intentionally left empty.
330
- }
331
-
332
  /**
333
  * Whether we are on the admin dashboard page.
334
  *
@@ -346,9 +335,6 @@ class WPSEO_Admin {
346
  return;
347
  }
348
 
349
- $cornerstone = new WPSEO_Cornerstone();
350
- $cornerstone->register_hooks();
351
-
352
  $cornerstone_filter = new WPSEO_Cornerstone_Filter();
353
  $cornerstone_filter->register_hooks();
354
  }
@@ -408,13 +394,13 @@ class WPSEO_Admin {
408
  return $integrations;
409
  }
410
 
411
- /********************** DEPRECATED METHODS **********************/
412
 
413
- // @codeCoverageIgnoreStart
414
  /**
415
  * Register the menu item and its sub menu's.
416
  *
417
  * @deprecated 5.5
 
418
  */
419
  public function register_settings_page() {
420
  _deprecated_function( __METHOD__, 'WPSEO 5.5.0' );
@@ -424,6 +410,7 @@ class WPSEO_Admin {
424
  * Register the settings page for the Network settings.
425
  *
426
  * @deprecated 5.5
 
427
  */
428
  public function register_network_settings_page() {
429
  _deprecated_function( __METHOD__, 'WPSEO 5.5.0' );
@@ -433,6 +420,7 @@ class WPSEO_Admin {
433
  * Load the form for a WPSEO admin page.
434
  *
435
  * @deprecated 5.5
 
436
  */
437
  public function load_page() {
438
  _deprecated_function( __METHOD__, 'WPSEO 5.5.0' );
@@ -442,6 +430,7 @@ class WPSEO_Admin {
442
  * Loads the form for the network configuration page.
443
  *
444
  * @deprecated 5.5
 
445
  */
446
  public function network_config_page() {
447
  _deprecated_function( __METHOD__, 'WPSEO 5.5.0' );
@@ -451,6 +440,8 @@ class WPSEO_Admin {
451
  * Filters all advanced settings pages from the given pages.
452
  *
453
  * @deprecated 5.5
 
 
454
  * @param array $pages The pages to filter.
455
  */
456
  public function filter_settings_pages( array $pages ) {
@@ -461,6 +452,7 @@ class WPSEO_Admin {
461
  * Cleans stopwords out of the slug, if the slug hasn't been set yet.
462
  *
463
  * @deprecated 7.0
 
464
  *
465
  * @return void
466
  */
@@ -472,6 +464,7 @@ class WPSEO_Admin {
472
  * Filter the stopwords from the slug.
473
  *
474
  * @deprecated 7.0
 
475
  *
476
  * @return void
477
  */
@@ -483,13 +476,15 @@ class WPSEO_Admin {
483
  * Adds contextual help to the titles & metas page.
484
  *
485
  * @deprecated 5.6.0
 
486
  */
487
  public function title_metas_help_tab() {
488
  _deprecated_function( __METHOD__, '5.6.0' );
489
 
490
  $screen = get_current_screen();
491
 
492
- $screen->set_help_sidebar( '
 
493
  <p><strong>' . __( 'For more information:', 'wordpress-seo' ) . '</strong></p>
494
  <p><a target="_blank" href="https://yoast.com/wordpress-seo/#titles">' . __( 'Title optimization', 'wordpress-seo' ) . '</a></p>
495
  <p><a target="_blank" href="https://yoast.com/google-page-title/">' . __( 'Why Google won\'t display the right page title', 'wordpress-seo' ) . '</a></p>'
@@ -526,5 +521,15 @@ class WPSEO_Admin {
526
  );
527
  }
528
 
529
- // @codeCoverageIgnoreEnd
 
 
 
 
 
 
 
 
 
 
530
  }
48
  );
49
 
50
  if ( WPSEO_Metabox::is_post_overview( $pagenow ) || WPSEO_Metabox::is_post_edit( $pagenow ) ) {
51
+ $this->admin_features['primary_category'] = new WPSEO_Primary_Term_Admin();
52
  }
53
 
54
  if ( filter_input( INPUT_GET, 'page' ) === 'wpseo_tools' && filter_input( INPUT_GET, 'tool' ) === null ) {
318
  $upsell->initialize();
319
  }
320
 
 
 
 
 
 
 
 
 
 
 
 
321
  /**
322
  * Whether we are on the admin dashboard page.
323
  *
335
  return;
336
  }
337
 
 
 
 
338
  $cornerstone_filter = new WPSEO_Cornerstone_Filter();
339
  $cornerstone_filter->register_hooks();
340
  }
394
  return $integrations;
395
  }
396
 
397
+ /* ********************* DEPRECATED METHODS ********************* */
398
 
 
399
  /**
400
  * Register the menu item and its sub menu's.
401
  *
402
  * @deprecated 5.5
403
+ * @codeCoverageIgnore
404
  */
405
  public function register_settings_page() {
406
  _deprecated_function( __METHOD__, 'WPSEO 5.5.0' );
410
  * Register the settings page for the Network settings.
411
  *
412
  * @deprecated 5.5
413
+ * @codeCoverageIgnore
414
  */
415
  public function register_network_settings_page() {
416
  _deprecated_function( __METHOD__, 'WPSEO 5.5.0' );
420
  * Load the form for a WPSEO admin page.
421
  *
422
  * @deprecated 5.5
423
+ * @codeCoverageIgnore
424
  */
425
  public function load_page() {
426
  _deprecated_function( __METHOD__, 'WPSEO 5.5.0' );
430
  * Loads the form for the network configuration page.
431
  *
432
  * @deprecated 5.5
433
+ * @codeCoverageIgnore
434
  */
435
  public function network_config_page() {
436
  _deprecated_function( __METHOD__, 'WPSEO 5.5.0' );
440
  * Filters all advanced settings pages from the given pages.
441
  *
442
  * @deprecated 5.5
443
+ * @codeCoverageIgnore
444
+ *
445
  * @param array $pages The pages to filter.
446
  */
447
  public function filter_settings_pages( array $pages ) {
452
  * Cleans stopwords out of the slug, if the slug hasn't been set yet.
453
  *
454
  * @deprecated 7.0
455
+ * @codeCoverageIgnore
456
  *
457
  * @return void
458
  */
464
  * Filter the stopwords from the slug.
465
  *
466
  * @deprecated 7.0
467
+ * @codeCoverageIgnore
468
  *
469
  * @return void
470
  */
476
  * Adds contextual help to the titles & metas page.
477
  *
478
  * @deprecated 5.6.0
479
+ * @codeCoverageIgnore
480
  */
481
  public function title_metas_help_tab() {
482
  _deprecated_function( __METHOD__, '5.6.0' );
483
 
484
  $screen = get_current_screen();
485
 
486
+ $screen->set_help_sidebar(
487
+ '
488
  <p><strong>' . __( 'For more information:', 'wordpress-seo' ) . '</strong></p>
489
  <p><a target="_blank" href="https://yoast.com/wordpress-seo/#titles">' . __( 'Title optimization', 'wordpress-seo' ) . '</a></p>
490
  <p><a target="_blank" href="https://yoast.com/google-page-title/">' . __( 'Why Google won\'t display the right page title', 'wordpress-seo' ) . '</a></p>'
521
  );
522
  }
523
 
524
+ /**
525
+ * Initializes Whip to show a notice for outdated PHP versions.
526
+ *
527
+ * @deprecated 8.1
528
+ * @codeCoverageIgnore
529
+ *
530
+ * @return void
531
+ */
532
+ public function check_php_version() {
533
+ // Intentionally left empty.
534
+ }
535
  }
admin/class-asset.php CHANGED
@@ -65,6 +65,20 @@ class WPSEO_Admin_Asset {
65
  */
66
  protected $suffix;
67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  /**
69
  * @param array $args The arguments for this asset.
70
  *
@@ -79,14 +93,7 @@ class WPSEO_Admin_Asset {
79
  throw new InvalidArgumentException( 'src is a required argument' );
80
  }
81
 
82
- $args = array_merge( array(
83
- 'deps' => array(),
84
- 'version' => WPSEO_VERSION,
85
- 'in_footer' => true,
86
- 'rtl' => true,
87
- 'media' => 'all',
88
- 'suffix' => WPSEO_CSSJS_SUFFIX,
89
- ), $args );
90
 
91
  $this->name = $args['name'];
92
  $this->src = $args['src'];
65
  */
66
  protected $suffix;
67
 
68
+ /**
69
+ * Default asset arguments.
70
+ *
71
+ * @var array
72
+ */
73
+ private $defaults = array(
74
+ 'deps' => array(),
75
+ 'version' => WPSEO_VERSION,
76
+ 'in_footer' => true,
77
+ 'rtl' => true,
78
+ 'media' => 'all',
79
+ 'suffix' => WPSEO_CSSJS_SUFFIX,
80
+ );
81
+
82
  /**
83
  * @param array $args The arguments for this asset.
84
  *
93
  throw new InvalidArgumentException( 'src is a required argument' );
94
  }
95
 
96
+ $args = array_merge( $this->defaults, $args );
 
 
 
 
 
 
 
97
 
98
  $this->name = $args['name'];
99
  $this->src = $args['src'];
admin/class-cornerstone.php DELETED
@@ -1,94 +0,0 @@
1
- <?php
2
- /**
3
- * WPSEO plugin file.
4
- *
5
- * @package WPSEO\Admin
6
- */
7
-
8
- /**
9
- * Represents the yoast cornerstone content.
10
- */
11
- class WPSEO_Cornerstone {
12
-
13
- const META_NAME = 'is_cornerstone';
14
-
15
- const FIELD_NAME = 'yoast_wpseo_is_cornerstone';
16
-
17
- /**
18
- * Registers the hooks.
19
- *
20
- * @return void
21
- */
22
- public function register_hooks() {
23
- global $pagenow;
24
-
25
- if ( ! $this->page_contains_cornerstone_content_field( $pagenow ) ) {
26
- return;
27
- }
28
-
29
- add_action( 'save_post', array( $this, 'save_meta_value' ) );
30
- add_filter( 'wpseo_cornerstone_post_types', array( 'WPSEO_Post_Type', 'filter_attachment_post_type' ) );
31
- }
32
-
33
- /**
34
- * Saves the meta value to the database.
35
- *
36
- * @param int $post_id The post id to save the meta value for.
37
- *
38
- * @return void
39
- */
40
- public function save_meta_value( $post_id ) {
41
- $is_cornerstone_content = $this->is_cornerstone_content();
42
-
43
- if ( $is_cornerstone_content ) {
44
- $this->update_meta( $post_id, $is_cornerstone_content );
45
-
46
- return;
47
- }
48
-
49
- $this->delete_meta( $post_id );
50
- }
51
-
52
- /**
53
- * Returns the result of the cornerstone content checkbox.
54
- *
55
- * @return bool True when checkbox is checked.
56
- */
57
- protected function is_cornerstone_content() {
58
- return filter_input( INPUT_POST, self::FIELD_NAME ) === 'true';
59
- }
60
-
61
- /**
62
- * Checks if the current page matches one of the pages that contains the cornerstone content field.
63
- *
64
- * @param string $page The page to check.
65
- *
66
- * @return bool True when the page contains the cornerstone content field.
67
- */
68
- protected function page_contains_cornerstone_content_field( $page ) {
69
- return WPSEO_Metabox::is_post_edit( $page );
70
- }
71
-
72
- /**
73
- * Updates the cornerstone content post meta with the given cornerstone content value.
74
- *
75
- * @param int $post_id The post id to save the meta value for.
76
- * @param bool $is_cornerstone_content Whether or not the post should be considered to be cornerstone content.
77
- *
78
- * @return void
79
- */
80
- protected function update_meta( $post_id, $is_cornerstone_content ) {
81
- WPSEO_Meta::set_value( self::META_NAME, $is_cornerstone_content, $post_id );
82
- }
83
-
84
- /**
85
- * Deletes the cornerstone content post meta for the given post id.
86
- *
87
- * @param int $post_id The post id to delete the cornerstone content meta value for..
88
- *
89
- * @return void
90
- */
91
- protected function delete_meta( $post_id ) {
92
- WPSEO_Meta::delete( self::META_NAME, $post_id );
93
- }
94
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/class-customizer.php CHANGED
@@ -48,14 +48,14 @@ class WPSEO_Customizer {
48
  * Add the breadcrumbs section to the customizer
49
  */
50
  private function breadcrumbs_section() {
51
- $this->wp_customize->add_section(
52
- 'wpseo_breadcrumbs_customizer_section', array(
53
- /* translators: %s is the name of the plugin */
54
- 'title' => sprintf( __( '%s Breadcrumbs', 'wordpress-seo' ), 'Yoast SEO' ),
55
- 'priority' => 999,
56
- 'active_callback' => array( $this, 'breadcrumbs_active_callback' ),
57
- )
58
  );
 
 
59
  }
60
 
61
  /**
48
  * Add the breadcrumbs section to the customizer
49
  */
50
  private function breadcrumbs_section() {
51
+ $section_args = array(
52
+ /* translators: %s is the name of the plugin */
53
+ 'title' => sprintf( __( '%s Breadcrumbs', 'wordpress-seo' ), 'Yoast SEO' ),
54
+ 'priority' => 999,
55
+ 'active_callback' => array( $this, 'breadcrumbs_active_callback' ),
 
 
56
  );
57
+
58
+ $this->wp_customize->add_section( 'wpseo_breadcrumbs_customizer_section', $section_args );
59
  }
60
 
61
  /**
admin/class-database-proxy.php CHANGED
@@ -179,8 +179,8 @@ class WPSEO_Database_Proxy {
179
  * @return bool True when creation is successful.
180
  */
181
  public function create_table( array $columns, array $indexes = array() ) {
182
- $create_table = sprintf( '
183
- CREATE TABLE IF NOT EXISTS %1$s ( %2$s ) %3$s',
184
  $this->get_table_name(),
185
  implode( ',', array_merge( $columns, $indexes ) ),
186
  $this->database->get_charset_collate()
179
  * @return bool True when creation is successful.
180
  */
181
  public function create_table( array $columns, array $indexes = array() ) {
182
+ $create_table = sprintf(
183
+ 'CREATE TABLE IF NOT EXISTS %1$s ( %2$s ) %3$s',
184
  $this->get_table_name(),
185
  implode( ',', array_merge( $columns, $indexes ) ),
186
  $this->database->get_charset_collate()
admin/class-expose-shortlinks.php CHANGED
@@ -14,23 +14,24 @@ class WPSEO_Expose_Shortlinks implements WPSEO_WordPress_Integration {
14
  * @var array Array containing the keys and shortlinks.
15
  */
16
  private $shortlinks = array(
17
- 'shortlinks.focus_keyword_info' => 'https://yoa.st/focus-keyword',
18
- 'shortlinks.snippet_preview_info' => 'https://yoa.st/snippet-preview',
19
- 'shortlinks.cornerstone_content_info' => 'https://yoa.st/1i9',
20
- 'shortlinks.upsell.sidebar.focus_keyword_synonyms_link' => 'https://yoa.st/textlink-synonyms-popup-sidebar',
21
- 'shortlinks.upsell.sidebar.focus_keyword_synonyms_button' => 'https://yoa.st/keyword-synonyms-popup-sidebar',
22
- 'shortlinks.upsell.sidebar.focus_keyword_additional_link' => 'https://yoa.st/textlink-keywords-popup-sidebar',
23
  'shortlinks.upsell.sidebar.focus_keyword_additional_button' => 'https://yoa.st/add-keywords-popup-sidebar',
24
- 'shortlinks.upsell.sidebar.additional_link' => 'https://yoa.st/textlink-keywords-sidebar',
25
- 'shortlinks.upsell.sidebar.additional_button' => 'https://yoa.st/add-keywords-sidebar',
26
- 'shortlinks.upsell.metabox.go_premium' => 'https://yoa.st/pe-premium-page',
27
- 'shortlinks.upsell.metabox.focus_keyword_synonyms_link' => 'https://yoa.st/textlink-synonyms-popup-metabox',
28
- 'shortlinks.upsell.metabox.focus_keyword_synonyms_button' => 'https://yoa.st/keyword-synonyms-popup',
29
- 'shortlinks.upsell.metabox.focus_keyword_additional_link' => 'https://yoa.st/textlink-keywords-popup-metabox',
30
  'shortlinks.upsell.metabox.focus_keyword_additional_button' => 'https://yoa.st/add-keywords-popup',
31
- 'shortlinks.upsell.metabox.additional_link' => 'https://yoa.st/textlink-keywords-metabox',
32
- 'shortlinks.upsell.metabox.additional_button' => 'https://yoa.st/add-keywords-metabox',
33
  'shortlinks.readability_analysis_info' => 'https://yoa.st/readability-analysis',
 
34
  );
35
 
36
  /**
@@ -54,6 +55,8 @@ class WPSEO_Expose_Shortlinks implements WPSEO_WordPress_Integration {
54
  $input[ $key ] = WPSEO_Shortlinker::get( $shortlink );
55
  }
56
 
 
 
57
  return $input;
58
  }
59
  }
14
  * @var array Array containing the keys and shortlinks.
15
  */
16
  private $shortlinks = array(
17
+ 'shortlinks.focus_keyword_info' => 'https://yoa.st/focus-keyword',
18
+ 'shortlinks.snippet_preview_info' => 'https://yoa.st/snippet-preview',
19
+ 'shortlinks.cornerstone_content_info' => 'https://yoa.st/1i9',
20
+ 'shortlinks.upsell.sidebar.focus_keyword_synonyms_link' => 'https://yoa.st/textlink-synonyms-popup-sidebar',
21
+ 'shortlinks.upsell.sidebar.focus_keyword_synonyms_button' => 'https://yoa.st/keyword-synonyms-popup-sidebar',
22
+ 'shortlinks.upsell.sidebar.focus_keyword_additional_link' => 'https://yoa.st/textlink-keywords-popup-sidebar',
23
  'shortlinks.upsell.sidebar.focus_keyword_additional_button' => 'https://yoa.st/add-keywords-popup-sidebar',
24
+ 'shortlinks.upsell.sidebar.additional_link' => 'https://yoa.st/textlink-keywords-sidebar',
25
+ 'shortlinks.upsell.sidebar.additional_button' => 'https://yoa.st/add-keywords-sidebar',
26
+ 'shortlinks.upsell.metabox.go_premium' => 'https://yoa.st/pe-premium-page',
27
+ 'shortlinks.upsell.metabox.focus_keyword_synonyms_link' => 'https://yoa.st/textlink-synonyms-popup-metabox',
28
+ 'shortlinks.upsell.metabox.focus_keyword_synonyms_button' => 'https://yoa.st/keyword-synonyms-popup',
29
+ 'shortlinks.upsell.metabox.focus_keyword_additional_link' => 'https://yoa.st/textlink-keywords-popup-metabox',
30
  'shortlinks.upsell.metabox.focus_keyword_additional_button' => 'https://yoa.st/add-keywords-popup',
31
+ 'shortlinks.upsell.metabox.additional_link' => 'https://yoa.st/textlink-keywords-metabox',
32
+ 'shortlinks.upsell.metabox.additional_button' => 'https://yoa.st/add-keywords-metabox',
33
  'shortlinks.readability_analysis_info' => 'https://yoa.st/readability-analysis',
34
+ 'shortlinks.activate_premium_info' => 'https://yoa.st/activate-subscription',
35
  );
36
 
37
  /**
55
  $input[ $key ] = WPSEO_Shortlinker::get( $shortlink );
56
  }
57
 
58
+ $input['default_query_params'] = WPSEO_Shortlinker::get_query_params();
59
+
60
  return $input;
61
  }
62
  }
admin/class-gutenberg-compatibility.php CHANGED
@@ -13,12 +13,12 @@ class WPSEO_Gutenberg_Compatibility {
13
  /**
14
  * The currently released version of Gutenberg.
15
  */
16
- const CURRENT_RELEASE = '3.9.0';
17
 
18
  /**
19
  * The minimally supported version of Gutenberg by the plugin.
20
  */
21
- const MINIMUM_SUPPORTED = '3.9.0';
22
 
23
  /**
24
  * @var string
13
  /**
14
  * The currently released version of Gutenberg.
15
  */
16
+ const CURRENT_RELEASE = '4.0.0';
17
 
18
  /**
19
  * The minimally supported version of Gutenberg by the plugin.
20
  */
21
+ const MINIMUM_SUPPORTED = '4.0.0';
22
 
23
  /**
24
  * @var string
admin/class-help-center.php CHANGED
@@ -266,10 +266,13 @@ class WPSEO_Help_Center {
266
  );
267
  }
268
 
 
 
269
  /**
270
  * Outputs the help center.
271
  *
272
  * @deprecated 5.6
 
273
  */
274
  public function output_help_center() {
275
  _deprecated_function( 'WPSEO_Help_Center::output_help_center', 'WPSEO 5.6.0', 'WPSEO_Help_Center::mount()' );
266
  );
267
  }
268
 
269
+ /* ********************* DEPRECATED METHODS ********************* */
270
+
271
  /**
272
  * Outputs the help center.
273
  *
274
  * @deprecated 5.6
275
+ * @codeCoverageIgnore
276
  */
277
  public function output_help_center() {
278
  _deprecated_function( 'WPSEO_Help_Center::output_help_center', 'WPSEO 5.6.0', 'WPSEO_Help_Center::mount()' );
admin/class-keyword-synonyms-modal.php CHANGED
@@ -18,7 +18,7 @@ class WPSEO_Keyword_Synonyms_Modal {
18
  */
19
  public function get_translations() {
20
  return array(
21
- 'title' => __( 'Would you like to add keyword synonyms?', 'wordpress-seo' ),
22
  'intro' => sprintf(
23
  /* translators: %1$s expands to a 'Yoast SEO Premium' text linked to the yoast.com website. */
24
  __( 'Great news: you can, with %1$s!', 'wordpress-seo' ),
@@ -33,7 +33,7 @@ class WPSEO_Keyword_Synonyms_Modal {
33
  'buylink' => WPSEO_Shortlinker::get( 'https://yoa.st/keyword-synonyms-popup' ),
34
  'buy' => sprintf(
35
  /* translators: %s expands to 'Yoast SEO Premium'. */
36
- __( 'Get %s now!', 'wordpress-seo' ),
37
  'Yoast SEO Premium'
38
  ),
39
  'small' => __( '1 year free updates and upgrades included!', 'wordpress-seo' ),
18
  */
19
  public function get_translations() {
20
  return array(
21
+ 'title' => __( 'Would you like to add keyphrase synonyms?', 'wordpress-seo' ),
22
  'intro' => sprintf(
23
  /* translators: %1$s expands to a 'Yoast SEO Premium' text linked to the yoast.com website. */
24
  __( 'Great news: you can, with %1$s!', 'wordpress-seo' ),
33
  'buylink' => WPSEO_Shortlinker::get( 'https://yoa.st/keyword-synonyms-popup' ),
34
  'buy' => sprintf(
35
  /* translators: %s expands to 'Yoast SEO Premium'. */
36
+ __( 'Get %s', 'wordpress-seo' ),
37
  'Yoast SEO Premium'
38
  ),
39
  'small' => __( '1 year free updates and upgrades included!', 'wordpress-seo' ),
admin/class-meta-columns.php CHANGED
@@ -129,7 +129,7 @@ class WPSEO_Meta_Columns {
129
 
130
  if ( '' === $focuskw_val ) {
131
  echo '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">',
132
- esc_html__( 'Focus keyword not set.', 'wordpress-seo' ),
133
  '</span>';
134
  return;
135
  }
@@ -613,7 +613,7 @@ class WPSEO_Meta_Columns {
613
 
614
  if ( WPSEO_Meta::get_value( 'focuskw', $post_id ) === '' ) {
615
  $rank = new WPSEO_Rank( WPSEO_Rank::NO_FOCUS );
616
- $title = __( 'Focus keyword not set.', 'wordpress-seo' );
617
 
618
  return $this->render_score_indicator( $rank, $title );
619
  }
129
 
130
  if ( '' === $focuskw_val ) {
131
  echo '<span aria-hidden="true">&#8212;</span><span class="screen-reader-text">',
132
+ esc_html__( 'Focus keyphrase not set.', 'wordpress-seo' ),
133
  '</span>';
134
  return;
135
  }
613
 
614
  if ( WPSEO_Meta::get_value( 'focuskw', $post_id ) === '' ) {
615
  $rank = new WPSEO_Rank( WPSEO_Rank::NO_FOCUS );
616
+ $title = __( 'Focus keyphrase not set.', 'wordpress-seo' );
617
 
618
  return $this->render_score_indicator( $rank, $title );
619
  }
admin/class-meta-storage.php CHANGED
@@ -86,7 +86,8 @@ class WPSEO_Meta_Storage implements WPSEO_Installable {
86
  public function update_incoming_link_count( array $post_ids, WPSEO_Link_Storage $storage ) {
87
  global $wpdb;
88
 
89
- $query = $wpdb->prepare( '
 
90
  SELECT COUNT( id ) AS incoming, target_post_id AS post_id
91
  FROM ' . $storage->get_table_name() . '
92
  WHERE target_post_id IN(' . implode( ',', array_fill( 0, count( $post_ids ), '%d' ) ) . ')
86
  public function update_incoming_link_count( array $post_ids, WPSEO_Link_Storage $storage ) {
87
  global $wpdb;
88
 
89
+ $query = $wpdb->prepare(
90
+ '
91
  SELECT COUNT( id ) AS incoming, target_post_id AS post_id
92
  FROM ' . $storage->get_table_name() . '
93
  WHERE target_post_id IN(' . implode( ',', array_fill( 0, count( $post_ids ), '%d' ) ) . ')
admin/class-meta-table-accessible.php CHANGED
@@ -90,10 +90,13 @@ class WPSEO_Meta_Table_Accessible {
90
  return 'wpseo_meta_table_inaccessible';
91
  }
92
 
 
 
93
  /**
94
  * Checks if the table exists if not, set the transient to indicate the inaccessible table.
95
  *
96
  * @deprecated 6.0
 
97
  *
98
  * @return bool True if table is accessible.
99
  */
90
  return 'wpseo_meta_table_inaccessible';
91
  }
92
 
93
+ /* ********************* DEPRECATED METHODS ********************* */
94
+
95
  /**
96
  * Checks if the table exists if not, set the transient to indicate the inaccessible table.
97
  *
98
  * @deprecated 6.0
99
+ * @codeCoverageIgnore
100
  *
101
  * @return bool True if table is accessible.
102
  */
admin/class-multiple-keywords-modal.php CHANGED
@@ -18,7 +18,7 @@ class WPSEO_Multiple_Keywords_Modal {
18
  */
19
  public function get_translations() {
20
  return array(
21
- 'title' => __( 'Would you like to add another keyword?', 'wordpress-seo' ),
22
  'intro' => sprintf(
23
  /* translators: %1$s expands to a 'Yoast SEO Premium' text linked to the yoast.com website. */
24
  __( 'Great news: you can, with %1$s!', 'wordpress-seo' ),
@@ -33,7 +33,7 @@ class WPSEO_Multiple_Keywords_Modal {
33
  'buylink' => WPSEO_Shortlinker::get( 'https://yoa.st/add-keywords-popup' ),
34
  'buy' => sprintf(
35
  /* translators: %s expands to 'Yoast SEO Premium'. */
36
- __( 'Get %s now!', 'wordpress-seo' ),
37
  'Yoast SEO Premium'
38
  ),
39
  'small' => __( '1 year free updates and upgrades included!', 'wordpress-seo' ),
18
  */
19
  public function get_translations() {
20
  return array(
21
+ 'title' => __( 'Would you like to add another keyphrase?', 'wordpress-seo' ),
22
  'intro' => sprintf(
23
  /* translators: %1$s expands to a 'Yoast SEO Premium' text linked to the yoast.com website. */
24
  __( 'Great news: you can, with %1$s!', 'wordpress-seo' ),
33
  'buylink' => WPSEO_Shortlinker::get( 'https://yoa.st/add-keywords-popup' ),
34
  'buy' => sprintf(
35
  /* translators: %s expands to 'Yoast SEO Premium'. */
36
+ __( 'Get %s', 'wordpress-seo' ),
37
  'Yoast SEO Premium'
38
  ),
39
  'small' => __( '1 year free updates and upgrades included!', 'wordpress-seo' ),
admin/class-paper-presenter.php CHANGED
@@ -55,7 +55,7 @@ class WPSEO_Paper_Presenter {
55
  extract( $this->get_view_variables(), EXTR_SKIP );
56
 
57
  ob_start();
58
- require WPSEO_PATH . 'admin/views/paper-collapsible.php' ;
59
  $rendered_output = ob_get_clean();
60
 
61
  return $rendered_output;
55
  extract( $this->get_view_variables(), EXTR_SKIP );
56
 
57
  ob_start();
58
+ require WPSEO_PATH . 'admin/views/paper-collapsible.php';
59
  $rendered_output = ob_get_clean();
60
 
61
  return $rendered_output;
admin/class-plugin-availability.php CHANGED
@@ -115,7 +115,8 @@ class WPSEO_Plugin_Availability {
115
  'title' => 'Yoast SEO AMP Glue',
116
  'description' => sprintf(
117
  /* translators: %1$s expands to Yoast SEO */
118
- __( 'Seamlessly integrate %1$s into your AMP pages!', 'wordpress-seo' ), 'Yoast SEO'
 
119
  ),
120
  'installed' => false,
121
  'slug' => 'glue-for-yoast-seo-amp/yoastseo-amp.php',
115
  'title' => 'Yoast SEO AMP Glue',
116
  'description' => sprintf(
117
  /* translators: %1$s expands to Yoast SEO */
118
+ __( 'Seamlessly integrate %1$s into your AMP pages!', 'wordpress-seo' ),
119
+ 'Yoast SEO'
120
  ),
121
  'installed' => false,
122
  'slug' => 'glue-for-yoast-seo-amp/yoastseo-amp.php',
admin/class-premium-popup.php CHANGED
@@ -77,7 +77,7 @@ class WPSEO_Premium_Popup {
77
  $assets_uri = trailingslashit( plugin_dir_url( WPSEO_FILE ) );
78
 
79
  /* translators: %s expands to Yoast SEO Premium */
80
- $cta_text = sprintf( __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium' );
81
  $classes = '';
82
  if ( $popup ) {
83
  $classes = ' hidden';
@@ -89,7 +89,7 @@ class WPSEO_Premium_Popup {
89
  <img class="alignright wpseo-premium-popup-icon" src="{$assets_uri}images/Yoast_SEO_Icon.svg" width="150" height="150" alt="Yoast SEO"/>
90
  <{$this->heading_level} id="wpseo-contact-support-popup-title" class="wpseo-premium-popup-title">{$this->title}</{$this->heading_level}>
91
  {$this->content}
92
- <a id="wpseo-{$this->identifier}-popup-button" class="button button-primary" href="{$this->url}" target="_blank" rel="noreferrer noopener">{$cta_text}</a><br/>
93
  <small>{$micro_copy}</small>
94
  </div>
95
  EO_POPUP;
77
  $assets_uri = trailingslashit( plugin_dir_url( WPSEO_FILE ) );
78
 
79
  /* translators: %s expands to Yoast SEO Premium */
80
+ $cta_text = sprintf( __( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium' );
81
  $classes = '';
82
  if ( $popup ) {
83
  $classes = ' hidden';
89
  <img class="alignright wpseo-premium-popup-icon" src="{$assets_uri}images/Yoast_SEO_Icon.svg" width="150" height="150" alt="Yoast SEO"/>
90
  <{$this->heading_level} id="wpseo-contact-support-popup-title" class="wpseo-premium-popup-title">{$this->title}</{$this->heading_level}>
91
  {$this->content}
92
+ <a id="wpseo-{$this->identifier}-popup-button" class="yoast-button-upsell" href="{$this->url}" target="_blank" rel="noreferrer noopener">{$cta_text}</a><br/>
93
  <small>{$micro_copy}</small>
94
  </div>
95
  EO_POPUP;
admin/class-premium-upsell-admin-block.php CHANGED
@@ -44,7 +44,7 @@ class WPSEO_Premium_Upsell_Admin_Block {
44
  $url = WPSEO_Shortlinker::get( 'https://yoa.st/17h' );
45
 
46
  $arguments = array(
47
- '<strong>' . esc_html__( 'Multiple keywords', 'wordpress-seo' ) . '</strong>: ' . esc_html__( 'Increase your SEO reach', 'wordpress-seo' ),
48
  '<strong>' . esc_html__( 'No more dead links', 'wordpress-seo' ) . '</strong>: ' . esc_html__( 'Easy redirect manager', 'wordpress-seo' ),
49
  '<strong>' . esc_html__( 'Superfast internal linking suggestions', 'wordpress-seo' ) . '</strong>',
50
  '<strong>' . esc_html__( 'Social media preview', 'wordpress-seo' ) . '</strong>: ' . esc_html__( 'Facebook & Twitter', 'wordpress-seo' ),
44
  $url = WPSEO_Shortlinker::get( 'https://yoa.st/17h' );
45
 
46
  $arguments = array(
47
+ '<strong>' . esc_html__( 'Multiple keyphrases', 'wordpress-seo' ) . '</strong>: ' . esc_html__( 'Increase your SEO reach', 'wordpress-seo' ),
48
  '<strong>' . esc_html__( 'No more dead links', 'wordpress-seo' ) . '</strong>: ' . esc_html__( 'Easy redirect manager', 'wordpress-seo' ),
49
  '<strong>' . esc_html__( 'Superfast internal linking suggestions', 'wordpress-seo' ) . '</strong>',
50
  '<strong>' . esc_html__( 'Social media preview', 'wordpress-seo' ) . '</strong>: ' . esc_html__( 'Facebook & Twitter', 'wordpress-seo' ),
admin/class-primary-term-admin.php CHANGED
@@ -9,6 +9,7 @@
9
  * Adds the UI to change the primary term for a post.
10
  */
11
  class WPSEO_Primary_Term_Admin {
 
12
  /**
13
  * Constructor.
14
  */
9
  * Adds the UI to change the primary term for a post.
10
  */
11
  class WPSEO_Primary_Term_Admin {
12
+
13
  /**
14
  * Constructor.
15
  */
admin/class-product-upsell-notice.php CHANGED
@@ -117,7 +117,7 @@ class WPSEO_Product_Upsell_Notice {
117
  if ( $features->is_free() ) {
118
  return sprintf(
119
  /* translators: %1$s expands anchor to premium plugin page, %2$s expands to </a> */
120
- __( 'By the way, did you know we also have a %1$sPremium plugin%2$s? It offers advanced features, like a redirect manager and support for multiple keywords. It also comes with 24/7 personal support.', 'wordpress-seo' ),
121
  "<a href='" . WPSEO_Shortlinker::get( 'https://yoa.st/premium-notification' ) . "'>",
122
  '</a>'
123
  );
117
  if ( $features->is_free() ) {
118
  return sprintf(
119
  /* translators: %1$s expands anchor to premium plugin page, %2$s expands to </a> */
120
+ __( 'By the way, did you know we also have a %1$sPremium plugin%2$s? It offers advanced features, like a redirect manager and support for multiple keyphrases. It also comes with 24/7 personal support.', 'wordpress-seo' ),
121
  "<a href='" . WPSEO_Shortlinker::get( 'https://yoa.st/premium-notification' ) . "'>",
122
  '</a>'
123
  );
admin/class-recalculate-scores.php CHANGED
@@ -44,7 +44,7 @@ class WPSEO_Recalculate_Scores {
44
 
45
  ?>
46
  <div id="wpseo_recalculate" class="hidden">
47
- <p><?php esc_html_e( 'Recalculating SEO scores for all pieces of content with a focus keyword.', 'wordpress-seo' ); ?></p>
48
 
49
  <div id="wpseo_progressbar"></div>
50
  <p><?php echo $progress; ?></p>
44
 
45
  ?>
46
  <div id="wpseo_recalculate" class="hidden">
47
+ <p><?php esc_html_e( 'Recalculating SEO scores for all pieces of content with a focus keyphrase.', 'wordpress-seo' ); ?></p>
48
 
49
  <div id="wpseo_progressbar"></div>
50
  <p><?php echo $progress; ?></p>
admin/class-social-admin.php CHANGED
@@ -33,7 +33,7 @@ class WPSEO_Social_Admin extends WPSEO_Metabox {
33
  $description_text = __( 'If you don\'t want to use the meta description for sharing the post on %s but want another description there, write it here.', 'wordpress-seo' );
34
 
35
  /* translators: %s expands to the social network's name. */
36
- $image_text = __( 'If you want to override the image used on %s for this post, upload / choose an image or add the URL here.', 'wordpress-seo' );
37
 
38
  /* translators: %1$s expands to the social network, %2$s to the recommended image size. */
39
  $image_size_text = __( 'The recommended image size for %1$s is %2$s pixels.', 'wordpress-seo' );
@@ -136,6 +136,7 @@ class WPSEO_Social_Admin extends WPSEO_Metabox {
136
  $medium . '-title',
137
  $medium . '-description',
138
  $medium . '-image',
 
139
  );
140
 
141
  $tab_content = $this->get_premium_notice( $medium );
33
  $description_text = __( 'If you don\'t want to use the meta description for sharing the post on %s but want another description there, write it here.', 'wordpress-seo' );
34
 
35
  /* translators: %s expands to the social network's name. */
36
+ $image_text = __( 'If you want to override the image used on %s for this post, upload / choose an image here.', 'wordpress-seo' );
37
 
38
  /* translators: %1$s expands to the social network, %2$s to the recommended image size. */
39
  $image_size_text = __( 'The recommended image size for %1$s is %2$s pixels.', 'wordpress-seo' );
136
  $medium . '-title',
137
  $medium . '-description',
138
  $medium . '-image',
139
+ $medium . '-image-id',
140
  );
141
 
142
  $tab_content = $this->get_premium_notice( $medium );
admin/class-yoast-form.php CHANGED
@@ -28,7 +28,15 @@ class Yoast_Form {
28
  * @var array
29
  * @since 2.0
30
  */
31
- public $options;
 
 
 
 
 
 
 
 
32
 
33
  /**
34
  * Get the singleton instance of this class
@@ -102,7 +110,16 @@ class Yoast_Form {
102
  */
103
  public function set_option( $option_name ) {
104
  $this->option_name = $option_name;
105
- $this->options = $this->get_option();
 
 
 
 
 
 
 
 
 
106
  }
107
 
108
  /**
@@ -120,22 +137,6 @@ class Yoast_Form {
120
  }
121
  }
122
 
123
- /**
124
- * Retrieve options based on whether we're on multisite or not.
125
- *
126
- * @since 1.2.4
127
- * @since 2.0 Moved to this class.
128
- *
129
- * @return array
130
- */
131
- public function get_option() {
132
- if ( is_network_admin() ) {
133
- return get_site_option( $this->option_name );
134
- }
135
-
136
- return get_option( $this->option_name );
137
- }
138
-
139
  /**
140
  * Generates the footer for admin pages
141
  *
@@ -206,12 +207,13 @@ class Yoast_Form {
206
  * @param array $attr HTML attributes set.
207
  */
208
  public function label( $text, $attr ) {
209
- $attr = wp_parse_args( $attr, array(
210
- 'class' => 'checkbox',
211
- 'close' => true,
212
- 'for' => '',
213
- )
214
  );
 
 
215
  echo "<label class='" . esc_attr( $attr['class'] ) . "' for='" . esc_attr( $attr['for'] ) . "'>$text";
216
  if ( $attr['close'] ) {
217
  echo '</label>';
@@ -227,11 +229,11 @@ class Yoast_Form {
227
  * @param array $attr HTML attributes set.
228
  */
229
  public function legend( $text, $attr ) {
230
- $attr = wp_parse_args( $attr, array(
231
- 'id' => '',
232
- 'class' => '',
233
- )
234
  );
 
235
 
236
  $id = ( '' === $attr['id'] ) ? '' : ' id="' . esc_attr( $attr['id'] ) . '"';
237
  echo '<legend class="yoast-form-legend ' . esc_attr( $attr['class'] ) . '"' . $id . '>' . $text . '</legend>';
@@ -266,7 +268,7 @@ class Yoast_Form {
266
  $class = 'double';
267
  }
268
 
269
- echo '<input class="checkbox ', esc_attr( $class ), '" type="checkbox" id="', esc_attr( $var ), '" name="', esc_attr( $this->option_name ), '[', esc_attr( $var ), ']" value="on"', checked( $this->options[ $var ], 'on', false ), '/>';
270
 
271
  if ( ! empty( $label ) ) {
272
  $this->label( $label, array( 'for' => $var ) );
@@ -317,7 +319,7 @@ class Yoast_Form {
317
  echo "<div class='switch-container$help_class'>",
318
  "<span class='switch-light-visual-label'>{$label}</span>" . $help,
319
  '<label class="', $class, '"><b class="switch-yoast-seo-jaws-a11y">&nbsp;</b>',
320
- '<input type="checkbox" aria-labelledby="', $aria_labelledby, '" id="', esc_attr( $var ), '" name="', esc_attr( $this->option_name ), '[', esc_attr( $var ), ']" value="on"', checked( $this->options[ $var ], 'on', false ), '/>',
321
  "<b class='label-text screen-reader-text' id='{$aria_labelledby}'>{$label}</b>",
322
  '<span aria-hidden="true">
323
  <span>', esc_html( $off_button ) ,'</span>
@@ -343,11 +345,13 @@ class Yoast_Form {
343
  'class' => $attr,
344
  );
345
  }
346
- $attr = wp_parse_args( $attr, array(
 
347
  'placeholder' => '',
348
  'class' => '',
349
- ) );
350
- $val = ( isset( $this->options[ $var ] ) ) ? $this->options[ $var ] : '';
 
351
 
352
  $this->label(
353
  $label . ':',
@@ -356,7 +360,7 @@ class Yoast_Form {
356
  'class' => 'textinput',
357
  )
358
  );
359
- echo '<input class="textinput ' . esc_attr( $attr['class'] ) . ' " placeholder="' . esc_attr( $attr['placeholder'] ) . '" type="text" id="', esc_attr( $var ), '" name="', esc_attr( $this->option_name ), '[', esc_attr( $var ), ']" value="', esc_attr( $val ), '"/>', '<br class="clear" />';
360
  }
361
 
362
  /**
@@ -374,12 +378,14 @@ class Yoast_Form {
374
  'class' => $attr,
375
  );
376
  }
377
- $attr = wp_parse_args( $attr, array(
 
378
  'cols' => '',
379
  'rows' => '',
380
  'class' => '',
381
- ) );
382
- $val = ( isset( $this->options[ $var ] ) ) ? $this->options[ $var ] : '';
 
383
 
384
  $this->label(
385
  $label . ':',
@@ -388,7 +394,7 @@ class Yoast_Form {
388
  'class' => 'textinput',
389
  )
390
  );
391
- echo '<textarea cols="' . esc_attr( $attr['cols'] ) . '" rows="' . esc_attr( $attr['rows'] ) . '" class="textinput ' . esc_attr( $attr['class'] ) . '" id="' . esc_attr( $var ) . '" name="' . esc_attr( $this->option_name ) . '[' . esc_attr( $var ) . ']">' . esc_textarea( $val ) . '</textarea><br class="clear" />';
392
  }
393
 
394
  /**
@@ -417,11 +423,11 @@ class Yoast_Form {
417
  *
418
  * @since 2.0
419
  *
420
- * @param string $field_name The variable within the option to create the select for.
421
  * @param string $label The label to show for the variable.
422
  * @param array $select_options The select options to choose from.
423
  */
424
- public function select( $field_name, $label, array $select_options ) {
425
 
426
  if ( empty( $select_options ) ) {
427
  return;
@@ -430,16 +436,19 @@ class Yoast_Form {
430
  $this->label(
431
  $label . ':',
432
  array(
433
- 'for' => $field_name,
434
  'class' => 'select',
435
  )
436
  );
437
 
438
- $select_name = esc_attr( $this->option_name ) . '[' . esc_attr( $field_name ) . ']';
439
- $active_option = ( isset( $this->options[ $field_name ] ) ) ? $this->options[ $field_name ] : '';
440
 
441
- $select = new Yoast_Input_Select( $field_name, $select_name, $select_options, $active_option );
442
  $select->add_attribute( 'class', 'select' );
 
 
 
443
  $select->output_html();
444
 
445
  echo '<br class="clear"/>';
@@ -467,7 +476,7 @@ class Yoast_Form {
467
  'class' => 'select',
468
  )
469
  );
470
- echo '<input type="file" value="' . esc_attr( $val ) . '" class="textinput" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" id="' . $var_esc . '"/>';
471
 
472
  // Need to save separate array items in hidden inputs, because empty file inputs type will be deleted by settings API.
473
  if ( ! empty( $this->options[ $var ] ) ) {
@@ -492,6 +501,11 @@ class Yoast_Form {
492
  $val = $this->options[ $var ];
493
  }
494
 
 
 
 
 
 
495
  $var_esc = esc_attr( $var );
496
 
497
  $this->label(
@@ -501,8 +515,39 @@ class Yoast_Form {
501
  'class' => 'select',
502
  )
503
  );
504
- echo '<input class="textinput" id="wpseo_', $var_esc, '" type="text" size="36" name="', esc_attr( $this->option_name ), '[', $var_esc, ']" value="', esc_attr( $val ), '" />';
505
- echo '<input id="wpseo_', $var_esc, '_button" class="wpseo_image_upload_button button" type="button" value="', esc_attr__( 'Upload Image', 'wordpress-seo' ), '" />';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
506
  echo '<br class="clear"/>';
507
  }
508
 
@@ -530,17 +575,18 @@ class Yoast_Form {
530
 
531
  if ( is_string( $legend ) && '' !== $legend ) {
532
 
533
- $legend_attr = wp_parse_args( $legend_attr, array(
534
  'id' => '',
535
  'class' => 'radiogroup',
536
- ) );
 
537
 
538
  $this->legend( $legend, $legend_attr );
539
  }
540
 
541
  foreach ( $values as $key => $value ) {
542
  $key_esc = esc_attr( $key );
543
- echo '<input type="radio" class="radio" id="' . $var_esc . '-' . $key_esc . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $this->options[ $var ], $key_esc, false ) . ' />';
544
  $this->label(
545
  $value,
546
  array(
@@ -583,8 +629,9 @@ class Yoast_Form {
583
  $var_esc = esc_attr( $var );
584
 
585
  printf( '<div class="%s">', esc_attr( 'switch-container' . $help_class ) );
586
- echo '<fieldset id="', $var_esc, '" class="fieldset-switch-toggle"><legend>', $label, '</legend>', $help,
587
- '<div class="switch-toggle switch-candy switch-yoast-seo">';
 
588
 
589
  foreach ( $values as $key => $value ) {
590
  $screen_reader_text = '';
@@ -598,7 +645,7 @@ class Yoast_Form {
598
 
599
  $key_esc = esc_attr( $key );
600
  $for = $var_esc . '-' . $key_esc;
601
- echo '<input type="radio" id="' . $for . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $this->options[ $var ], $key_esc, false ) . ' />',
602
  '<label for="', $for, '">', esc_html( $value ), $screen_reader_text_html,'</label>';
603
  }
604
 
@@ -653,4 +700,56 @@ class Yoast_Form {
653
 
654
  $this->toggle_switch( $var, $show_hide_switch, $label, $help );
655
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
656
  }
28
  * @var array
29
  * @since 2.0
30
  */
31
+ public $options = array();
32
+
33
+ /**
34
+ * Option instance.
35
+ *
36
+ * @since 8.4
37
+ * @var WPSEO_Option|null
38
+ */
39
+ protected $option_instance = null;
40
 
41
  /**
42
  * Get the singleton instance of this class
110
  */
111
  public function set_option( $option_name ) {
112
  $this->option_name = $option_name;
113
+
114
+ $this->options = WPSEO_Options::get_option( $option_name );
115
+ if ( $this->options === null ) {
116
+ $this->options = (array) get_option( $option_name, array() );
117
+ }
118
+
119
+ $this->option_instance = WPSEO_Options::get_option_instance( $option_name );
120
+ if ( ! $this->option_instance ) {
121
+ $this->option_instance = null;
122
+ }
123
  }
124
 
125
  /**
137
  }
138
  }
139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  /**
141
  * Generates the footer for admin pages
142
  *
207
  * @param array $attr HTML attributes set.
208
  */
209
  public function label( $text, $attr ) {
210
+ $defaults = array(
211
+ 'class' => 'checkbox',
212
+ 'close' => true,
213
+ 'for' => '',
 
214
  );
215
+ $attr = wp_parse_args( $attr, $defaults );
216
+
217
  echo "<label class='" . esc_attr( $attr['class'] ) . "' for='" . esc_attr( $attr['for'] ) . "'>$text";
218
  if ( $attr['close'] ) {
219
  echo '</label>';
229
  * @param array $attr HTML attributes set.
230
  */
231
  public function legend( $text, $attr ) {
232
+ $defaults = array(
233
+ 'id' => '',
234
+ 'class' => '',
 
235
  );
236
+ $attr = wp_parse_args( $attr, $defaults );
237
 
238
  $id = ( '' === $attr['id'] ) ? '' : ' id="' . esc_attr( $attr['id'] ) . '"';
239
  echo '<legend class="yoast-form-legend ' . esc_attr( $attr['class'] ) . '"' . $id . '>' . $text . '</legend>';
268
  $class = 'double';
269
  }
270
 
271
+ echo '<input class="checkbox ', esc_attr( $class ), '" type="checkbox" id="', esc_attr( $var ), '" name="', esc_attr( $this->option_name ), '[', esc_attr( $var ), ']" value="on"', checked( $this->options[ $var ], 'on', false ), disabled( $this->is_control_disabled( $var ), true, false ), '/>';
272
 
273
  if ( ! empty( $label ) ) {
274
  $this->label( $label, array( 'for' => $var ) );
319
  echo "<div class='switch-container$help_class'>",
320
  "<span class='switch-light-visual-label'>{$label}</span>" . $help,
321
  '<label class="', $class, '"><b class="switch-yoast-seo-jaws-a11y">&nbsp;</b>',
322
+ '<input type="checkbox" aria-labelledby="', $aria_labelledby, '" id="', esc_attr( $var ), '" name="', esc_attr( $this->option_name ), '[', esc_attr( $var ), ']" value="on"', checked( $this->options[ $var ], 'on', false ), disabled( $this->is_control_disabled( $var ), true, false ), '/>',
323
  "<b class='label-text screen-reader-text' id='{$aria_labelledby}'>{$label}</b>",
324
  '<span aria-hidden="true">
325
  <span>', esc_html( $off_button ) ,'</span>
345
  'class' => $attr,
346
  );
347
  }
348
+
349
+ $defaults = array(
350
  'placeholder' => '',
351
  'class' => '',
352
+ );
353
+ $attr = wp_parse_args( $attr, $defaults );
354
+ $val = ( isset( $this->options[ $var ] ) ) ? $this->options[ $var ] : '';
355
 
356
  $this->label(
357
  $label . ':',
360
  'class' => 'textinput',
361
  )
362
  );
363
+ echo '<input class="textinput ' . esc_attr( $attr['class'] ) . ' " placeholder="' . esc_attr( $attr['placeholder'] ) . '" type="text" id="', esc_attr( $var ), '" name="', esc_attr( $this->option_name ), '[', esc_attr( $var ), ']" value="', esc_attr( $val ), '"', disabled( $this->is_control_disabled( $var ), true, false ), '/>', '<br class="clear" />';
364
  }
365
 
366
  /**
378
  'class' => $attr,
379
  );
380
  }
381
+
382
+ $defaults = array(
383
  'cols' => '',
384
  'rows' => '',
385
  'class' => '',
386
+ );
387
+ $attr = wp_parse_args( $attr, $defaults );
388
+ $val = ( isset( $this->options[ $var ] ) ) ? $this->options[ $var ] : '';
389
 
390
  $this->label(
391
  $label . ':',
394
  'class' => 'textinput',
395
  )
396
  );
397
+ echo '<textarea cols="' . esc_attr( $attr['cols'] ) . '" rows="' . esc_attr( $attr['rows'] ) . '" class="textinput ' . esc_attr( $attr['class'] ) . '" id="' . esc_attr( $var ) . '" name="' . esc_attr( $this->option_name ) . '[' . esc_attr( $var ) . ']"', disabled( $this->is_control_disabled( $var ), true, false ), '>' . esc_textarea( $val ) . '</textarea><br class="clear" />';
398
  }
399
 
400
  /**
423
  *
424
  * @since 2.0
425
  *
426
+ * @param string $var The variable within the option to create the select for.
427
  * @param string $label The label to show for the variable.
428
  * @param array $select_options The select options to choose from.
429
  */
430
+ public function select( $var, $label, array $select_options ) {
431
 
432
  if ( empty( $select_options ) ) {
433
  return;
436
  $this->label(
437
  $label . ':',
438
  array(
439
+ 'for' => $var,
440
  'class' => 'select',
441
  )
442
  );
443
 
444
+ $select_name = esc_attr( $this->option_name ) . '[' . esc_attr( $var ) . ']';
445
+ $active_option = ( isset( $this->options[ $var ] ) ) ? $this->options[ $var ] : '';
446
 
447
+ $select = new Yoast_Input_Select( $var, $select_name, $select_options, $active_option );
448
  $select->add_attribute( 'class', 'select' );
449
+ if ( $this->is_control_disabled( $var ) ) {
450
+ $select->add_attribute( 'disabled', 'disabled' );
451
+ }
452
  $select->output_html();
453
 
454
  echo '<br class="clear"/>';
476
  'class' => 'select',
477
  )
478
  );
479
+ echo '<input type="file" value="' . esc_attr( $val ) . '" class="textinput" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" id="' . $var_esc . '"', disabled( $this->is_control_disabled( $var ), true, false ), '/>';
480
 
481
  // Need to save separate array items in hidden inputs, because empty file inputs type will be deleted by settings API.
482
  if ( ! empty( $this->options[ $var ] ) ) {
501
  $val = $this->options[ $var ];
502
  }
503
 
504
+ $id_value = '';
505
+ if ( isset( $this->options[ $var . '_id' ] ) ) {
506
+ $id_value = $this->options[ $var . '_id' ];
507
+ }
508
+
509
  $var_esc = esc_attr( $var );
510
 
511
  $this->label(
515
  'class' => 'select',
516
  )
517
  );
518
+
519
+ $id_field_id = 'wpseo_' . $var_esc . '_id';
520
+
521
+ echo '<span>';
522
+ echo '<input',
523
+ ' class="textinput"',
524
+ ' id="wpseo_', $var_esc, '"',
525
+ ' type="text" size="36"',
526
+ ' name="', esc_attr( $this->option_name ), '[', $var_esc, ']"',
527
+ ' value="', esc_attr( $val ), '"',
528
+ ' readonly="readonly"',
529
+ ' /> ';
530
+ echo '<input',
531
+ ' id="wpseo_', $var_esc, '_button"',
532
+ ' class="wpseo_image_upload_button button"',
533
+ ' type="button"',
534
+ ' value="', esc_attr__( 'Upload Image', 'wordpress-seo' ), '"',
535
+ ' data-target-id="', esc_attr( $id_field_id ), '"',
536
+ disabled( $this->is_control_disabled( $var ), true, false ),
537
+ ' /> ';
538
+ echo '<input',
539
+ ' class="wpseo_image_remove_button button"',
540
+ ' type="button"',
541
+ ' value="', esc_attr__( 'Clear Image', 'wordpress-seo' ), '"',
542
+ disabled( $this->is_control_disabled( $var ), true, false ),
543
+ ' />';
544
+ echo '<input',
545
+ ' type="hidden"',
546
+ ' id="', esc_attr( $id_field_id ), '"',
547
+ ' name="', esc_attr( $this->option_name ), '[', $var_esc, '_id]"',
548
+ ' value="', esc_attr( $id_value ), '"',
549
+ ' />';
550
+ echo '</span>';
551
  echo '<br class="clear"/>';
552
  }
553
 
575
 
576
  if ( is_string( $legend ) && '' !== $legend ) {
577
 
578
+ $defaults = array(
579
  'id' => '',
580
  'class' => 'radiogroup',
581
+ );
582
+ $legend_attr = wp_parse_args( $legend_attr, $defaults );
583
 
584
  $this->legend( $legend, $legend_attr );
585
  }
586
 
587
  foreach ( $values as $key => $value ) {
588
  $key_esc = esc_attr( $key );
589
+ echo '<input type="radio" class="radio" id="' . $var_esc . '-' . $key_esc . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $this->options[ $var ], $key_esc, false ) . disabled( $this->is_control_disabled( $var ), true, false ) . ' />';
590
  $this->label(
591
  $value,
592
  array(
629
  $var_esc = esc_attr( $var );
630
 
631
  printf( '<div class="%s">', esc_attr( 'switch-container' . $help_class ) );
632
+ echo '<fieldset id="', $var_esc, '" class="fieldset-switch-toggle"><legend>', $label, '</legend>', $help;
633
+ echo $this->get_disabled_note( $var );
634
+ echo '<div class="switch-toggle switch-candy switch-yoast-seo">';
635
 
636
  foreach ( $values as $key => $value ) {
637
  $screen_reader_text = '';
645
 
646
  $key_esc = esc_attr( $key );
647
  $for = $var_esc . '-' . $key_esc;
648
+ echo '<input type="radio" id="' . $for . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $this->options[ $var ], $key_esc, false ) . disabled( $this->is_control_disabled( $var ), true, false ) . ' />',
649
  '<label for="', $for, '">', esc_html( $value ), $screen_reader_text_html,'</label>';
650
  }
651
 
700
 
701
  $this->toggle_switch( $var, $show_hide_switch, $label, $help );
702
  }
703
+
704
+ /**
705
+ * Checks whether a given control should be disabled.
706
+ *
707
+ * @param string $var The variable within the option to check whether its control should be disabled.
708
+ *
709
+ * @return bool True if control should be disabled, false otherwise.
710
+ */
711
+ protected function is_control_disabled( $var ) {
712
+ if ( $this->option_instance === null ) {
713
+ return false;
714
+ }
715
+
716
+ return $this->option_instance->is_disabled( $var );
717
+ }
718
+
719
+ /**
720
+ * Gets the explanation note to print if a given control is disabled.
721
+ *
722
+ * @param string $var The variable within the option to print a disabled note for.
723
+ *
724
+ * @return string Explanation note HTML string, or empty string if no note necessary.
725
+ */
726
+ protected function get_disabled_note( $var ) {
727
+ if ( ! $this->is_control_disabled( $var ) ) {
728
+ return '';
729
+ }
730
+
731
+ return '<p class="disabled-note">' . esc_html__( 'This feature has been disabled by the network admin.', 'wordpress-seo' ) . '</p>';
732
+ }
733
+
734
+ /* ********************* DEPRECATED METHODS ********************* */
735
+
736
+ /**
737
+ * Retrieve options based on whether we're on multisite or not.
738
+ *
739
+ * @since 1.2.4
740
+ * @since 2.0 Moved to this class.
741
+ * @deprecated 8.4
742
+ * @codeCoverageIgnore
743
+ *
744
+ * @return array The option's value.
745
+ */
746
+ public function get_option() {
747
+ _deprecated_function( __METHOD__, 'WPSEO 8.4' );
748
+
749
+ if ( is_network_admin() ) {
750
+ return get_site_option( $this->option_name );
751
+ }
752
+
753
+ return get_option( $this->option_name );
754
+ }
755
  }
admin/class-yoast-network-admin.php CHANGED
@@ -181,14 +181,17 @@ class Yoast_Network_Admin implements WPSEO_WordPress_Integration, WPSEO_WordPres
181
  $asset_manager = new WPSEO_Admin_Asset_Manager();
182
  $asset_manager->enqueue_script( 'network-admin-script' );
183
 
184
- wp_localize_script( WPSEO_Admin_Asset_Manager::PREFIX . 'network-admin-script', 'wpseoNetworkAdminGlobalL10n', array(
185
-
186
  /* translators: %s: success message */
187
  'success_prefix' => __( 'Success: %s', 'wordpress-seo' ),
188
-
189
  /* translators: %s: error message */
190
  'error_prefix' => __( 'Error: %s', 'wordpress-seo' ),
191
- ) );
 
 
 
 
 
192
  }
193
 
194
  /**
181
  $asset_manager = new WPSEO_Admin_Asset_Manager();
182
  $asset_manager->enqueue_script( 'network-admin-script' );
183
 
184
+ $translations = array(
 
185
  /* translators: %s: success message */
186
  'success_prefix' => __( 'Success: %s', 'wordpress-seo' ),
 
187
  /* translators: %s: error message */
188
  'error_prefix' => __( 'Error: %s', 'wordpress-seo' ),
189
+ );
190
+ wp_localize_script(
191
+ WPSEO_Admin_Asset_Manager::PREFIX . 'network-admin-script',
192
+ 'wpseoNetworkAdminGlobalL10n',
193
+ $translations
194
+ );
195
  }
196
 
197
  /**
admin/class-yoast-network-settings-api.php CHANGED
@@ -41,10 +41,11 @@ class Yoast_Network_Settings_API {
41
  */
42
  public function register_setting( $option_group, $option_name, $args = array() ) {
43
 
44
- $args = wp_parse_args( $args, array(
45
  'group' => $option_group,
46
  'sanitize_callback' => null,
47
- ) );
 
48
 
49
  if ( ! isset( $this->whitelist_options[ $option_group ] ) ) {
50
  $this->whitelist_options[ $option_group ] = array();
41
  */
42
  public function register_setting( $option_group, $option_name, $args = array() ) {
43
 
44
+ $defaults = array(
45
  'group' => $option_group,
46
  'sanitize_callback' => null,
47
+ );
48
+ $args = wp_parse_args( $args, $defaults );
49
 
50
  if ( ! isset( $this->whitelist_options[ $option_group ] ) ) {
51
  $this->whitelist_options[ $option_group ] = array();
admin/config-ui/class-configuration-options-adapter.php CHANGED
@@ -57,22 +57,6 @@ class WPSEO_Configuration_Options_Adapter {
57
  $this->add_lookup( $class_name, self::OPTION_TYPE_YOAST, $key );
58
  }
59
 
60
- /**
61
- * Add a lookup for a Yoast option
62
- *
63
- * @param string $class_name Class to bind to the lookup.
64
- * @param string $option Option group to use.
65
- * @param string $key Key in the option group to bind to.
66
- *
67
- * @deprecated 7.0
68
- *
69
- * @throws InvalidArgumentException Thrown when invalid input is provided.
70
- */
71
- public function add_yoast_lookup( $class_name, $option, $key ) {
72
- _deprecated_function( __METHOD__, 'WPSEO 7.0', 'WPSEO_Configuration_Options_Adapter::add_option_lookup' );
73
- $this->add_option_lookup( $class_name, $key );
74
- }
75
-
76
  /**
77
  * Add a lookup for a custom implementation
78
  *
@@ -196,4 +180,23 @@ class WPSEO_Configuration_Options_Adapter {
196
 
197
  return $this->lookup[ $class_name ]['option'];
198
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  }
57
  $this->add_lookup( $class_name, self::OPTION_TYPE_YOAST, $key );
58
  }
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  /**
61
  * Add a lookup for a custom implementation
62
  *
180
 
181
  return $this->lookup[ $class_name ]['option'];
182
  }
183
+
184
+ /* ********************* DEPRECATED METHODS ********************* */
185
+
186
+ /**
187
+ * Add a lookup for a Yoast option
188
+ *
189
+ * @deprecated 7.0
190
+ * @codeCoverageIgnore
191
+ *
192
+ * @param string $class_name Class to bind to the lookup.
193
+ * @param string $option Option group to use.
194
+ * @param string $key Key in the option group to bind to.
195
+ *
196
+ * @throws InvalidArgumentException Thrown when invalid input is provided.
197
+ */
198
+ public function add_yoast_lookup( $class_name, $option, $key ) {
199
+ _deprecated_function( __METHOD__, 'WPSEO 7.0', 'WPSEO_Configuration_Options_Adapter::add_option_lookup' );
200
+ $this->add_option_lookup( $class_name, $key );
201
+ }
202
  }
admin/config-ui/class-configuration-page.php CHANGED
@@ -190,21 +190,6 @@ class WPSEO_Configuration_Page {
190
  return ( filter_input( INPUT_GET, 'page' ) === self::PAGE_IDENTIFIER );
191
  }
192
 
193
- /**
194
- * Returns the translations necessary for the configuration wizard.
195
- *
196
- * @deprecated 4.9
197
- *
198
- * @returns array The translations for the configuration wizard.
199
- */
200
- public function get_translations() {
201
- _deprecated_function( __METHOD__, 'WPSEO 4.9', 'WPSEO_' );
202
-
203
- $translations = new WPSEO_Configuration_Translations( WPSEO_Utils::get_user_locale() );
204
-
205
- return $translations->retrieve();
206
- }
207
-
208
  /**
209
  * Adds a notification to the notification center.
210
  */
@@ -265,4 +250,22 @@ class WPSEO_Configuration_Page {
265
  private function remove_notification_option() {
266
  WPSEO_Options::set( 'show_onboarding_notice', false );
267
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
268
  }
190
  return ( filter_input( INPUT_GET, 'page' ) === self::PAGE_IDENTIFIER );
191
  }
192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  /**
194
  * Adds a notification to the notification center.
195
  */
250
  private function remove_notification_option() {
251
  WPSEO_Options::set( 'show_onboarding_notice', false );
252
  }
253
+
254
+ /* ********************* DEPRECATED METHODS ********************* */
255
+
256
+ /**
257
+ * Returns the translations necessary for the configuration wizard.
258
+ *
259
+ * @deprecated 4.9
260
+ * @codeCoverageIgnore
261
+ *
262
+ * @returns array The translations for the configuration wizard.
263
+ */
264
+ public function get_translations() {
265
+ _deprecated_function( __METHOD__, 'WPSEO 4.9', 'WPSEO_' );
266
+
267
+ $translations = new WPSEO_Configuration_Translations( WPSEO_Utils::get_user_locale() );
268
+
269
+ return $translations->retrieve();
270
+ }
271
  }
admin/config-ui/components/class-component-suggestions.php CHANGED
@@ -33,13 +33,20 @@ class WPSEO_Config_Component_Suggestions implements WPSEO_Config_Component {
33
  /* translators: %s resolves to Yoast SEO Premium */
34
  sprintf( __( 'Outrank the competition with %s', 'wordpress-seo' ), 'Yoast SEO Premium' ),
35
  /* translators: %1$s resolves to Yoast SEO Premium */
36
- sprintf( __( 'Do you want to outrank your competition? %1$s gives you awesome additional features that\'ll help you to set up your SEO strategy like a professional. Use the multiple focus keywords functionality, the redirect manager and our internal linking tool. %1$s will also give you access to premium support.', 'wordpress-seo' ), 'Yoast SEO Premium' ),
37
  array(
38
  'label' => __( 'Upgrade to Premium', 'wordpress-seo' ),
39
  'type' => 'primary',
40
  'url' => WPSEO_Shortlinker::get( 'https://yoa.st/wizard-suggestion-premium' ),
41
  ),
42
- WPSEO_Shortlinker::get( 'https://yoa.st/video-yoast-seo-premium' )
 
 
 
 
 
 
 
43
  );
44
  }
45
 
@@ -60,7 +67,14 @@ class WPSEO_Config_Component_Suggestions implements WPSEO_Config_Component {
60
  'type' => 'link',
61
  'url' => WPSEO_Shortlinker::get( 'https://yoa.st/2up' ),
62
  ),
63
- WPSEO_Shortlinker::get( 'https://yoa.st/2v0' )
 
 
 
 
 
 
 
64
  );
65
 
66
  $field->add_suggestion(
@@ -73,13 +87,20 @@ class WPSEO_Config_Component_Suggestions implements WPSEO_Config_Component {
73
  'type' => 'link',
74
  'url' => WPSEO_Shortlinker::get( 'https://yoa.st/wizard-suggestion-plugin-course' ),
75
  ),
76
- WPSEO_Shortlinker::get( 'https://yoa.st/video-plugin-course' )
 
 
 
 
 
 
 
77
  );
78
 
79
  // When we are running in Yoast SEO Premium and don't have Local SEO installed, show Local SEO as suggestion.
80
  if ( WPSEO_Utils::is_yoast_seo_premium() && ! defined( 'WPSEO_LOCAL_FILE' ) ) {
81
  $field->add_suggestion(
82
- sprintf( __( 'Attract more customers near you', 'wordpress-seo' ), 'Yoast SEO', 'Yoast SEO plugin training' ),
83
  /* translators: %1$s resolves to Local SEO */
84
  sprintf( __( 'If you want to outrank the competition in a specific town or region, check out our %1$s plugin! You’ll be able to easily insert Google maps, opening hours, contact information and a store locator. Besides that %1$s helps you to improve the usability of your contact page.', 'wordpress-seo' ), 'Local SEO' ),
85
  array(
@@ -87,7 +108,14 @@ class WPSEO_Config_Component_Suggestions implements WPSEO_Config_Component {
87
  'type' => 'link',
88
  'url' => WPSEO_Shortlinker::get( 'https://yoa.st/wizard-suggestion-localseo' ),
89
  ),
90
- WPSEO_Shortlinker::get( 'https://yoa.st/video-localseo' )
 
 
 
 
 
 
 
91
  );
92
  }
93
 
33
  /* translators: %s resolves to Yoast SEO Premium */
34
  sprintf( __( 'Outrank the competition with %s', 'wordpress-seo' ), 'Yoast SEO Premium' ),
35
  /* translators: %1$s resolves to Yoast SEO Premium */
36
+ sprintf( __( 'Do you want to outrank your competition? %1$s gives you awesome additional features that\'ll help you to set up your SEO strategy like a professional. Add synonyms and related keywords, use our Premium SEO analysis, the redirect manager and our internal linking tool. %1$s will also give you access to premium support.', 'wordpress-seo' ), 'Yoast SEO Premium' ),
37
  array(
38
  'label' => __( 'Upgrade to Premium', 'wordpress-seo' ),
39
  'type' => 'primary',
40
  'url' => WPSEO_Shortlinker::get( 'https://yoa.st/wizard-suggestion-premium' ),
41
  ),
42
+ array(
43
+ 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/video-yoast-seo-premium' ),
44
+ 'title' => sprintf(
45
+ /* translators: %1$s expands to Yoast SEO Premium. */
46
+ __( '%1$s video', 'wordpress-seo' ),
47
+ 'Yoast SEO Premium'
48
+ ),
49
+ )
50
  );
51
  }
52
 
67
  'type' => 'link',
68
  'url' => WPSEO_Shortlinker::get( 'https://yoa.st/2up' ),
69
  ),
70
+ array(
71
+ 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/2v0' ),
72
+ 'title' => sprintf(
73
+ /* translators: %1$s expands to Basic SEO training. */
74
+ __( '%1$s video', 'wordpress-seo' ),
75
+ 'Basic SEO training'
76
+ ),
77
+ )
78
  );
79
 
80
  $field->add_suggestion(
87
  'type' => 'link',
88
  'url' => WPSEO_Shortlinker::get( 'https://yoa.st/wizard-suggestion-plugin-course' ),
89
  ),
90
+ array(
91
+ 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/video-plugin-course' ),
92
+ 'title' => sprintf(
93
+ /* translators: %1$s expands to Yoast SEO plugin training. */
94
+ __( '%1$s video', 'wordpress-seo' ),
95
+ 'Yoast SEO plugin training'
96
+ ),
97
+ )
98
  );
99
 
100
  // When we are running in Yoast SEO Premium and don't have Local SEO installed, show Local SEO as suggestion.
101
  if ( WPSEO_Utils::is_yoast_seo_premium() && ! defined( 'WPSEO_LOCAL_FILE' ) ) {
102
  $field->add_suggestion(
103
+ __( 'Attract more customers near you', 'wordpress-seo' ),
104
  /* translators: %1$s resolves to Local SEO */
105
  sprintf( __( 'If you want to outrank the competition in a specific town or region, check out our %1$s plugin! You’ll be able to easily insert Google maps, opening hours, contact information and a store locator. Besides that %1$s helps you to improve the usability of your contact page.', 'wordpress-seo' ), 'Local SEO' ),
106
  array(
108
  'type' => 'link',
109
  'url' => WPSEO_Shortlinker::get( 'https://yoa.st/wizard-suggestion-localseo' ),
110
  ),
111
+ array(
112
+ 'url' => WPSEO_Shortlinker::get( 'https://yoa.st/video-localseo' ),
113
+ 'title' => sprintf(
114
+ /* translators: %1$s expands to Local SEO. */
115
+ __( '%1$s video', 'wordpress-seo' ),
116
+ 'Local SEO'
117
+ ),
118
+ )
119
  );
120
  }
121
 
admin/config-ui/fields/class-field-google-search-console-intro.php CHANGED
@@ -26,7 +26,7 @@ class WPSEO_Config_Field_Google_Search_Console_Intro extends WPSEO_Config_Field
26
  'wordpress-seo'
27
  ),
28
  'Yoast SEO',
29
- '<a href="' . esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/1ex' ) ) . '">',
30
  '</a>'
31
  );
32
 
26
  'wordpress-seo'
27
  ),
28
  'Yoast SEO',
29
+ '<a href="' . esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/1ex' ) ) . '" target="_blank">',
30
  '</a>'
31
  );
32
 
admin/config-ui/fields/class-field-success-message.php CHANGED
@@ -18,7 +18,7 @@ class WPSEO_Config_Field_Success_Message extends WPSEO_Config_Field {
18
 
19
  $success_message = sprintf(
20
  /* translators: %1$s expands to Yoast SEO. */
21
- __( '%1$s will now take care of all the needed technical optimization of your site. To really improve your site\'s performance in the search results, it\'s important to start creating content that ranks well for keywords you care about. Check out this video in which we explain how to use the %1$s metabox when you edit posts or pages.', 'wordpress-seo' ),
22
  'Yoast SEO'
23
  );
24
 
@@ -27,7 +27,7 @@ class WPSEO_Config_Field_Success_Message extends WPSEO_Config_Field {
27
  $this->set_property( 'video', array(
28
  'url' => WPSEO_Shortlinker::get( 'https://yoa.st/metabox-screencast' ),
29
  'title' => sprintf(
30
- /* translators: %1$s expands to Yoast SEO. */
31
  __( '%1$s video tutorial', 'wordpress-seo' ),
32
  'Yoast SEO'
33
  ),
18
 
19
  $success_message = sprintf(
20
  /* translators: %1$s expands to Yoast SEO. */
21
+ __( '%1$s will now take care of all the needed technical optimization of your site. To really improve your site\'s performance in the search results, it\'s important to start creating content that ranks well for keyphrases you care about. Check out this video in which we explain how to use the %1$s metabox when you edit posts or pages.', 'wordpress-seo' ),
22
  'Yoast SEO'
23
  );
24
 
27
  $this->set_property( 'video', array(
28
  'url' => WPSEO_Shortlinker::get( 'https://yoa.st/metabox-screencast' ),
29
  'title' => sprintf(
30
+ /* translators: %1$s expands to Yoast SEO. */
31
  __( '%1$s video tutorial', 'wordpress-seo' ),
32
  'Yoast SEO'
33
  ),
admin/config-ui/fields/class-field-suggestions.php CHANGED
@@ -22,12 +22,12 @@ class WPSEO_Config_Field_Suggestions extends WPSEO_Config_Field {
22
  /**
23
  * Adds a suggestion to the properties
24
  *
25
- * @param string $title The title of the choice.
26
- * @param string $copy The text explaining the choice.
27
- * @param array $button The button details.
28
- * @param null|string $video The video accompanying the choice.
29
  */
30
- public function add_suggestion( $title, $copy, $button, $video = null ) {
31
  $suggestion = array(
32
  'title' => $title,
33
  'copy' => $copy,
@@ -41,4 +41,3 @@ class WPSEO_Config_Field_Suggestions extends WPSEO_Config_Field {
41
  $this->properties['suggestions'][] = $suggestion;
42
  }
43
  }
44
-
22
  /**
23
  * Adds a suggestion to the properties
24
  *
25
+ * @param string $title The title of the choice.
26
+ * @param string $copy The text explaining the choice.
27
+ * @param array $button The button details.
28
+ * @param array $video URL and title of the video accompanying the choice.
29
  */
30
+ public function add_suggestion( $title, $copy, $button, array $video = array() ) {
31
  $suggestion = array(
32
  'title' => $title,
33
  'copy' => $copy,
41
  $this->properties['suggestions'][] = $suggestion;
42
  }
43
  }
 
admin/endpoints/class-endpoint-indexable.php CHANGED
@@ -10,13 +10,15 @@
10
  */
11
  class WPSEO_Endpoint_Indexable implements WPSEO_Endpoint, WPSEO_Endpoint_Storable {
12
 
13
- const REST_NAMESPACE = 'yoast/v1';
14
- const ENDPOINT_SINGULAR = 'indexables/(?P<object_type>.*)/(?P<object_id>\d+)';
15
 
16
  const CAPABILITY_RETRIEVE = 'manage_options';
17
- const CAPABILITY_STORE = 'manage_options';
18
 
19
- /** @var WPSEO_Indexable_Service */
 
 
20
  private $service;
21
 
22
  /**
@@ -34,18 +36,26 @@ class WPSEO_Endpoint_Indexable implements WPSEO_Endpoint, WPSEO_Endpoint_Storabl
34
  * @return void
35
  */
36
  public function register() {
37
- // Register fetch config.
38
- register_rest_route( self::REST_NAMESPACE, self::ENDPOINT_SINGULAR, array(
39
- 'methods' => 'GET',
40
- 'callback' => array(
41
- $this->service,
42
- 'get_indexable',
43
- ),
44
- 'permission_callback' => array(
45
- $this,
46
- 'can_retrieve_data',
47
- ),
48
- ) );
 
 
 
 
 
 
 
 
49
  }
50
 
51
  /**
10
  */
11
  class WPSEO_Endpoint_Indexable implements WPSEO_Endpoint, WPSEO_Endpoint_Storable {
12
 
13
+ const REST_NAMESPACE = 'yoast/v1';
14
+ const ENDPOINT_SINGULAR = 'indexables/(?P<object_type>\w+)/(?P<object_id>\d+)';
15
 
16
  const CAPABILITY_RETRIEVE = 'manage_options';
17
+ const CAPABILITY_STORE = 'manage_options';
18
 
19
+ /**
20
+ * @var WPSEO_Indexable_Service The indexable service.
21
+ */
22
  private $service;
23
 
24
  /**
36
  * @return void
37
  */
38
  public function register() {
39
+ $endpoints = array();
40
+
41
+ $endpoints[] = new WPSEO_Endpoint_Factory(
42
+ self::REST_NAMESPACE,
43
+ self::ENDPOINT_SINGULAR,
44
+ array( $this->service, 'get_indexable' ),
45
+ array( $this, 'can_retrieve_data' )
46
+ );
47
+
48
+ $endpoints[] = new WPSEO_Endpoint_Factory(
49
+ self::REST_NAMESPACE,
50
+ self::ENDPOINT_SINGULAR,
51
+ array( $this->service, 'patch_indexable' ),
52
+ array( $this, 'can_store_data' ),
53
+ 'PATCH'
54
+ );
55
+
56
+ foreach ( $endpoints as $endpoint ) {
57
+ $endpoint->register();
58
+ }
59
  }
60
 
61
  /**
admin/filters/class-cornerstone-filter.php CHANGED
@@ -10,10 +10,26 @@
10
  */
11
  class WPSEO_Cornerstone_Filter extends WPSEO_Abstract_Post_Filter {
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  /**
14
  * Returns the query value this filter uses.
15
  *
16
- * @return {string} The query value this filter uses.
17
  */
18
  public function get_query_val() {
19
  return 'cornerstone';
@@ -32,7 +48,7 @@ class WPSEO_Cornerstone_Filter extends WPSEO_Abstract_Post_Filter {
32
 
33
  $where .= sprintf(
34
  ' AND ' . $wpdb->posts . '.ID IN( SELECT post_id FROM ' . $wpdb->postmeta . ' WHERE meta_key = "%s" AND meta_value = "1" ) ',
35
- WPSEO_Meta::$meta_prefix . WPSEO_Cornerstone::META_NAME
36
  );
37
  }
38
 
@@ -85,7 +101,7 @@ class WPSEO_Cornerstone_Filter extends WPSEO_Abstract_Post_Filter {
85
  meta_value = "1" AND meta_key = %s
86
  ',
87
  $this->get_current_post_type(),
88
- WPSEO_Meta::$meta_prefix . WPSEO_Cornerstone::META_NAME
89
  )
90
  );
91
  }
10
  */
11
  class WPSEO_Cornerstone_Filter extends WPSEO_Abstract_Post_Filter {
12
 
13
+ /**
14
+ * Name of the meta value.
15
+ */
16
+ const META_NAME = 'is_cornerstone';
17
+
18
+ /**
19
+ * Registers the hooks.
20
+ *
21
+ * @return void
22
+ */
23
+ public function register_hooks() {
24
+ parent::register_hooks();
25
+
26
+ add_filter( 'wpseo_cornerstone_post_types', array( 'WPSEO_Post_Type', 'filter_attachment_post_type' ) );
27
+ }
28
+
29
  /**
30
  * Returns the query value this filter uses.
31
  *
32
+ * @return string The query value this filter uses.
33
  */
34
  public function get_query_val() {
35
  return 'cornerstone';
48
 
49
  $where .= sprintf(
50
  ' AND ' . $wpdb->posts . '.ID IN( SELECT post_id FROM ' . $wpdb->postmeta . ' WHERE meta_key = "%s" AND meta_value = "1" ) ',
51
+ WPSEO_Meta::$meta_prefix . self::META_NAME
52
  );
53
  }
54
 
101
  meta_value = "1" AND meta_key = %s
102
  ',
103
  $this->get_current_post_type(),
104
+ WPSEO_Meta::$meta_prefix . self::META_NAME
105
  )
106
  );
107
  }
admin/formatter/class-metabox-formatter.php CHANGED
@@ -46,26 +46,27 @@ class WPSEO_Metabox_Formatter {
46
  $analysis_readability = new WPSEO_Metabox_Analysis_Readability();
47
 
48
  return array(
49
- 'language' => WPSEO_Language_Utils::get_site_language_name(),
50
- 'settings_link' => $this->get_settings_link(),
51
- 'search_url' => '',
52
- 'post_edit_url' => '',
53
- 'base_url' => '',
54
- 'contentTab' => __( 'Readability', 'wordpress-seo' ),
55
- 'keywordTab' => __( 'Keyword:', 'wordpress-seo' ),
56
- 'removeKeyword' => __( 'Remove keyword', 'wordpress-seo' ),
57
- 'contentLocale' => get_locale(),
58
- 'userLocale' => WPSEO_Utils::get_user_locale(),
59
- 'translations' => $this->get_translations(),
60
- 'keyword_usage' => array(),
61
- 'title_template' => '',
62
- 'metadesc_template' => '',
63
- 'contentAnalysisActive' => $analysis_readability->is_enabled() ? 1 : 0,
64
- 'keywordAnalysisActive' => $analysis_seo->is_enabled() ? 1 : 0,
65
- 'cornerstoneActive' => WPSEO_Options::get( 'enable_cornerstone_content', false ) ? 1 : 0,
66
- 'intl' => $this->get_content_analysis_component_translations(),
67
- 'isRtl' => is_rtl(),
68
- 'addKeywordUpsell' => $this->get_add_keyword_upsell_translations(),
 
69
 
70
  /**
71
  * Filter to determine if the markers should be enabled or not.
@@ -156,19 +157,19 @@ class WPSEO_Metabox_Formatter {
156
  private function get_content_analysis_component_translations() {
157
  // Esc_html is not needed because React already handles HTML in the (translations of) these strings.
158
  return array(
159
- 'locale' => WPSEO_Utils::get_user_locale(),
160
- 'content-analysis.language-notice-link' => __( 'Change language', 'wordpress-seo' ),
161
- 'content-analysis.errors' => __( 'Errors', 'wordpress-seo' ),
162
- 'content-analysis.problems' => __( 'Problems', 'wordpress-seo' ),
163
- 'content-analysis.improvements' => __( 'Improvements', 'wordpress-seo' ),
164
- 'content-analysis.considerations' => __( 'Considerations', 'wordpress-seo' ),
165
- 'content-analysis.good' => __( 'Good results', 'wordpress-seo' ),
166
- 'content-analysis.language-notice' => __( 'Your site language is set to {language}.', 'wordpress-seo' ),
167
  'content-analysis.language-notice-contact-admin' => __( 'Your site language is set to {language}. If this is not correct, contact your site administrator.', 'wordpress-seo' ),
168
- 'content-analysis.highlight' => __( 'Highlight this result in the text', 'wordpress-seo' ),
169
- 'content-analysis.nohighlight' => __( 'Remove highlight from the text', 'wordpress-seo' ),
170
- 'content-analysis.disabledButton' => __( 'Marks are disabled in current view', 'wordpress-seo' ),
171
- 'a11yNotice.opensInNewTab' => __( '(Opens in a new browser tab)', 'wordpress-seo' ),
172
  );
173
  }
174
 
@@ -182,21 +183,21 @@ class WPSEO_Metabox_Formatter {
182
  */
183
  public function get_add_keyword_upsell_translations() {
184
  return array(
185
- 'title' => __( 'Would you like to add more than one keyword?', 'wordpress-seo' ),
186
  'intro' => sprintf(
187
- /* translators: %1$s expands to a 'Yoast SEO Premium' text linked to the yoast.com website. */
188
  __( 'Great news: you can, with %1$s!', 'wordpress-seo' ),
189
  '{{link}}Yoast SEO Premium{{/link}}'
190
  ),
191
  'link' => WPSEO_Shortlinker::get( 'https://yoa.st/pe-premium-page' ),
192
  'other' => sprintf(
193
- /* translators: %s expands to 'Yoast SEO Premium'. */
194
  __( 'Other benefits of %s for you:', 'wordpress-seo' ), 'Yoast SEO Premium'
195
  ),
196
  'buylink' => WPSEO_Shortlinker::get( 'https://yoa.st/add-keywords-popup' ),
197
  'buy' => sprintf(
198
- /* translators: %s expands to 'Yoast SEO Premium'. */
199
- __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium'
200
  ),
201
  'small' => __( '1 year free updates and upgrades included!', 'wordpress-seo' ),
202
  'a11yNotice.opensInNewTab' => __( '(Opens in a new browser tab)', 'wordpress-seo' ),
46
  $analysis_readability = new WPSEO_Metabox_Analysis_Readability();
47
 
48
  return array(
49
+ 'language' => WPSEO_Language_Utils::get_site_language_name(),
50
+ 'settings_link' => $this->get_settings_link(),
51
+ 'search_url' => '',
52
+ 'post_edit_url' => '',
53
+ 'base_url' => '',
54
+ 'contentTab' => __( 'Readability', 'wordpress-seo' ),
55
+ 'keywordTab' => __( 'Keyphrase:', 'wordpress-seo' ),
56
+ 'removeKeyword' => __( 'Remove keyphrase', 'wordpress-seo' ),
57
+ 'contentLocale' => get_locale(),
58
+ 'userLocale' => WPSEO_Utils::get_user_locale(),
59
+ 'translations' => $this->get_translations(),
60
+ 'keyword_usage' => array(),
61
+ 'title_template' => '',
62
+ 'metadesc_template' => '',
63
+ 'contentAnalysisActive' => $analysis_readability->is_enabled() ? 1 : 0,
64
+ 'keywordAnalysisActive' => $analysis_seo->is_enabled() ? 1 : 0,
65
+ 'cornerstoneActive' => WPSEO_Options::get( 'enable_cornerstone_content', false ) ? 1 : 0,
66
+ 'intl' => $this->get_content_analysis_component_translations(),
67
+ 'isRtl' => is_rtl(),
68
+ 'addKeywordUpsell' => $this->get_add_keyword_upsell_translations(),
69
+ 'wordFormRecognitionActive' => ( WPSEO_Utils::get_language( get_locale() ) === 'en' ),
70
 
71
  /**
72
  * Filter to determine if the markers should be enabled or not.
157
  private function get_content_analysis_component_translations() {
158
  // Esc_html is not needed because React already handles HTML in the (translations of) these strings.
159
  return array(
160
+ 'locale' => WPSEO_Utils::get_user_locale(),
161
+ 'content-analysis.language-notice-link' => __( 'Change language', 'wordpress-seo' ),
162
+ 'content-analysis.errors' => __( 'Errors', 'wordpress-seo' ),
163
+ 'content-analysis.problems' => __( 'Problems', 'wordpress-seo' ),
164
+ 'content-analysis.improvements' => __( 'Improvements', 'wordpress-seo' ),
165
+ 'content-analysis.considerations' => __( 'Considerations', 'wordpress-seo' ),
166
+ 'content-analysis.good' => __( 'Good results', 'wordpress-seo' ),
167
+ 'content-analysis.language-notice' => __( 'Your site language is set to {language}.', 'wordpress-seo' ),
168
  'content-analysis.language-notice-contact-admin' => __( 'Your site language is set to {language}. If this is not correct, contact your site administrator.', 'wordpress-seo' ),
169
+ 'content-analysis.highlight' => __( 'Highlight this result in the text', 'wordpress-seo' ),
170
+ 'content-analysis.nohighlight' => __( 'Remove highlight from the text', 'wordpress-seo' ),
171
+ 'content-analysis.disabledButton' => __( 'Marks are disabled in current view', 'wordpress-seo' ),
172
+ 'a11yNotice.opensInNewTab' => __( '(Opens in a new browser tab)', 'wordpress-seo' ),
173
  );
174
  }
175
 
183
  */
184
  public function get_add_keyword_upsell_translations() {
185
  return array(
186
+ 'title' => __( 'Would you like to add more than one keyphrase?', 'wordpress-seo' ),
187
  'intro' => sprintf(
188
+ /* translators: %1$s expands to a 'Yoast SEO Premium' text linked to the yoast.com website. */
189
  __( 'Great news: you can, with %1$s!', 'wordpress-seo' ),
190
  '{{link}}Yoast SEO Premium{{/link}}'
191
  ),
192
  'link' => WPSEO_Shortlinker::get( 'https://yoa.st/pe-premium-page' ),
193
  'other' => sprintf(
194
+ /* translators: %s expands to 'Yoast SEO Premium'. */
195
  __( 'Other benefits of %s for you:', 'wordpress-seo' ), 'Yoast SEO Premium'
196
  ),
197
  'buylink' => WPSEO_Shortlinker::get( 'https://yoa.st/add-keywords-popup' ),
198
  'buy' => sprintf(
199
+ /* translators: %s expands to 'Yoast SEO Premium'. */
200
+ __( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium'
201
  ),
202
  'small' => __( '1 year free updates and upgrades included!', 'wordpress-seo' ),
203
  'a11yNotice.opensInNewTab' => __( '(Opens in a new browser tab)', 'wordpress-seo' ),
admin/google_search_console/class-gsc-marker.php CHANGED
@@ -137,7 +137,7 @@ class WPSEO_GSC_Marker {
137
  $total_issues = $counts->get_issue_count( $this->platform, $this->category );
138
 
139
  // Lower the current count with 1.
140
- $total_issues = ( $total_issues - 1 );
141
 
142
  // And update the count.
143
  $counts->update_issue_count( $this->platform, $this->category, $total_issues );
137
  $total_issues = $counts->get_issue_count( $this->platform, $this->category );
138
 
139
  // Lower the current count with 1.
140
+ --$total_issues;
141
 
142
  // And update the count.
143
  $counts->update_issue_count( $this->platform, $this->category, $total_issues );
admin/google_search_console/class-gsc-modal.php CHANGED
@@ -13,7 +13,7 @@ class WPSEO_GSC_Modal {
13
  /** @var string */
14
  protected $view;
15
 
16
- /** @var int */
17
  protected $height;
18
 
19
  /** @var array */
13
  /** @var string */
14
  protected $view;
15
 
16
+ /** @var int */
17
  protected $height;
18
 
19
  /** @var array */
admin/import/class-import-settings.php CHANGED
@@ -105,7 +105,7 @@ class WPSEO_Import_Settings {
105
  $this->path = $this->upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'wpseo-import' . DIRECTORY_SEPARATOR;
106
 
107
  if ( ! isset( $GLOBALS['wp_filesystem'] ) || ! is_object( $GLOBALS['wp_filesystem'] ) ) {
108
- $url = wp_nonce_url(
109
  self_admin_url( 'admin.php?page=wpseo_tools&tool=import-export' ),
110
  'wpseo-import'
111
  );
105
  $this->path = $this->upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'wpseo-import' . DIRECTORY_SEPARATOR;
106
 
107
  if ( ! isset( $GLOBALS['wp_filesystem'] ) || ! is_object( $GLOBALS['wp_filesystem'] ) ) {
108
+ $url = wp_nonce_url(
109
  self_admin_url( 'admin.php?page=wpseo_tools&tool=import-export' ),
110
  'wpseo-import'
111
  );
admin/links/class-link-installer.php CHANGED
@@ -10,7 +10,7 @@
10
  */
11
  class WPSEO_Link_Installer {
12
 
13
- /** @var WPSEO_Installable[] */
14
  protected $installables = array();
15
 
16
  /**
10
  */
11
  class WPSEO_Link_Installer {
12
 
13
+ /** @var WPSEO_Installable[] */
14
  protected $installables = array();
15
 
16
  /**
admin/links/class-link-reindex-dashboard.php CHANGED
@@ -66,39 +66,6 @@ class WPSEO_Link_Reindex_Dashboard {
66
  echo '</li>';
67
  }
68
 
69
- /**
70
- * Add the indexing interface for links to the dashboard.
71
- *
72
- * @deprecated 7.0
73
- *
74
- * @return void
75
- */
76
- public function add_link_index_interface() {
77
- _deprecated_function( __METHOD__, 'WPSEO 7.0' );
78
-
79
- $html = '';
80
- $html .= '<h2>' . esc_html__( 'Text link counter', 'wordpress-seo' ) . '</h2>';
81
- $html .= '<p>' . sprintf(
82
- /* translators: 1: link to yoast.com post about internal linking suggestion. 4: is Yoast.com 3: is anchor closing. */
83
- __( 'The links in all your public texts need to be counted. This will provide insights of which texts need more links to them. If you want to know more about the why and how of internal linking, check out %1$sthe article about internal linking on %2$s%3$s.', 'wordpress-seo' ),
84
- '<a href="' . WPSEO_Shortlinker::get( 'https://yoa.st/15n' ) . '" target="_blank">',
85
- 'Yoast.com',
86
- '</a>'
87
- ) . '</p>';
88
-
89
- if ( ! $this->has_unprocessed() ) {
90
- $html .= '<p>' . $this->message_already_indexed() . '</p>';
91
- }
92
-
93
- if ( $this->has_unprocessed() ) {
94
- $html .= '<p id="reindexLinks">' . $this->message_start_indexing() . '</p>';
95
- }
96
-
97
- $html .= '<br />';
98
-
99
- echo $html;
100
- }
101
-
102
  /**
103
  * Generates the model box.
104
  *
@@ -221,4 +188,40 @@ class WPSEO_Link_Reindex_Dashboard {
221
  esc_attr__( 'Count links in your texts', 'wordpress-seo' )
222
  );
223
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  }
66
  echo '</li>';
67
  }
68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  /**
70
  * Generates the model box.
71
  *
188
  esc_attr__( 'Count links in your texts', 'wordpress-seo' )
189
  );
190
  }
191
+
192
+ /* ********************* DEPRECATED METHODS ********************* */
193
+
194
+ /**
195
+ * Add the indexing interface for links to the dashboard.
196
+ *
197
+ * @deprecated 7.0
198
+ * @codeCoverageIgnore
199
+ *
200
+ * @return void
201
+ */
202
+ public function add_link_index_interface() {
203
+ _deprecated_function( __METHOD__, 'WPSEO 7.0' );
204
+
205
+ $html = '';
206
+ $html .= '<h2>' . esc_html__( 'Text link counter', 'wordpress-seo' ) . '</h2>';
207
+ $html .= '<p>' . sprintf(
208
+ /* translators: 1: link to yoast.com post about internal linking suggestion. 4: is Yoast.com 3: is anchor closing. */
209
+ __( 'The links in all your public texts need to be counted. This will provide insights of which texts need more links to them. If you want to know more about the why and how of internal linking, check out %1$sthe article about internal linking on %2$s%3$s.', 'wordpress-seo' ),
210
+ '<a href="' . WPSEO_Shortlinker::get( 'https://yoa.st/15n' ) . '" target="_blank">',
211
+ 'Yoast.com',
212
+ '</a>'
213
+ ) . '</p>';
214
+
215
+ if ( ! $this->has_unprocessed() ) {
216
+ $html .= '<p>' . $this->message_already_indexed() . '</p>';
217
+ }
218
+
219
+ if ( $this->has_unprocessed() ) {
220
+ $html .= '<p id="reindexLinks">' . $this->message_start_indexing() . '</p>';
221
+ }
222
+
223
+ $html .= '<br />';
224
+
225
+ echo $html;
226
+ }
227
  }
admin/links/class-link-table-accessible.php CHANGED
@@ -90,10 +90,13 @@ class WPSEO_Link_Table_Accessible {
90
  return 'wpseo_link_table_inaccessible';
91
  }
92
 
 
 
93
  /**
94
  * Checks if the table exists if not, set the transient to indicate the inaccessible table.
95
  *
96
  * @deprecated 6.0
 
97
  *
98
  * @return bool True if table is accessible.
99
  */
90
  return 'wpseo_link_table_inaccessible';
91
  }
92
 
93
+ /* ********************* DEPRECATED METHODS ********************* */
94
+
95
  /**
96
  * Checks if the table exists if not, set the transient to indicate the inaccessible table.
97
  *
98
  * @deprecated 6.0
99
+ * @codeCoverageIgnore
100
  *
101
  * @return bool True if table is accessible.
102
  */
admin/metabox/class-metabox-keyword-synonyms-config.php CHANGED
@@ -22,10 +22,10 @@ class WPSEO_Metabox_Keyword_Synonyms_Config {
22
  'open' => '+ ' . __( 'Add synonyms', 'wordpress-seo' ),
23
  'modalAriaLabel' =>
24
  /* translators: %s expands to 'Yoast SEO Premium'. */
25
- sprintf( __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium' ),
26
  'heading' =>
27
  /* translators: %s expands to 'Yoast SEO Premium'. */
28
- sprintf( __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium' ),
29
  ),
30
  'classes' => array(
31
  'openButton' => 'wpseo-keyword-synonyms button-link',
22
  'open' => '+ ' . __( 'Add synonyms', 'wordpress-seo' ),
23
  'modalAriaLabel' =>
24
  /* translators: %s expands to 'Yoast SEO Premium'. */
25
+ sprintf( __( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium' ),
26
  'heading' =>
27
  /* translators: %s expands to 'Yoast SEO Premium'. */
28
+ sprintf( __( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium' ),
29
  ),
30
  'classes' => array(
31
  'openButton' => 'wpseo-keyword-synonyms button-link',
admin/metabox/class-metabox-multiple-keywords-config.php CHANGED
@@ -19,13 +19,13 @@ class WPSEO_Metabox_Multiple_Keywords_Config {
19
  $multiple_keywords_modal_config = array(
20
  'openButtonIcon' => '',
21
  'intl' => array(
22
- 'open' => '+ ' . __( 'Add additional keyword', 'wordpress-seo' ),
23
  'modalAriaLabel' =>
24
  /* translators: %s expands to 'Yoast SEO Premium'. */
25
- sprintf( __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium' ),
26
  'heading' =>
27
  /* translators: %s expands to 'Yoast SEO Premium'. */
28
- sprintf( __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium' ),
29
  ),
30
  'classes' => array(
31
  'openButton' => 'wpseo-multiple-keywords button-link',
19
  $multiple_keywords_modal_config = array(
20
  'openButtonIcon' => '',
21
  'intl' => array(
22
+ 'open' => '+ ' . __( 'Add related keyphrase', 'wordpress-seo' ),
23
  'modalAriaLabel' =>
24
  /* translators: %s expands to 'Yoast SEO Premium'. */
25
+ sprintf( __( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium' ),
26
  'heading' =>
27
  /* translators: %s expands to 'Yoast SEO Premium'. */
28
+ sprintf( __( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium' ),
29
  ),
30
  'classes' => array(
31
  'openButton' => 'wpseo-multiple-keywords button-link',
admin/metabox/class-metabox-section-react.php CHANGED
@@ -53,7 +53,7 @@ class WPSEO_Metabox_Section_React implements WPSEO_Metabox_Section {
53
  * @param array $options Optional link attributes.
54
  */
55
  public function __construct( $name, $link_content, $content = '', array $options = array() ) {
56
- $this->name = $name;
57
  $this->content = $content;
58
 
59
  $default_options = array(
53
  * @param array $options Optional link attributes.
54
  */
55
  public function __construct( $name, $link_content, $content = '', array $options = array() ) {
56
+ $this->name = $name;
57
  $this->content = $content;
58
 
59
  $default_options = array(
admin/metabox/class-metabox.php CHANGED
@@ -140,7 +140,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
140
  $score = self::get_value( 'linkdex', $post->ID );
141
  if ( $score === '' ) {
142
  $score_label = 'na';
143
- $title = __( 'No focus keyword set.', 'wordpress-seo' );
144
  }
145
  else {
146
  $score_label = WPSEO_Utils::translate_score( $score );
@@ -231,7 +231,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
231
  new WPSEO_Post_Metabox_Formatter( $post, array(), $permalink )
232
  );
233
 
234
- $values = $post_formatter->get_values();
235
 
236
  /** This filter is documented in admin/filters/class-cornerstone-filter.php */
237
  $post_types = apply_filters( 'wpseo_cornerstone_post_types', WPSEO_Post_Type::get_accessible_post_types() );
@@ -608,8 +608,28 @@ class WPSEO_Metabox extends WPSEO_Meta {
608
  break;
609
 
610
  case 'upload':
611
- $content .= '<input id="' . $esc_form_key . '" type="text" size="36" class="' . $class . '" name="' . $esc_form_key . '" value="' . esc_attr( $meta_value ) . '"' . $aria_describedby . ' />';
612
- $content .= '<input id="' . $esc_form_key . '_button" class="wpseo_image_upload_button button" type="button" value="' . esc_attr__( 'Upload Image', 'wordpress-seo' ) . '" />';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
613
  break;
614
  }
615
 
140
  $score = self::get_value( 'linkdex', $post->ID );
141
  if ( $score === '' ) {
142
  $score_label = 'na';
143
+ $title = __( 'No focus keyphrase set.', 'wordpress-seo' );
144
  }
145
  else {
146
  $score_label = WPSEO_Utils::translate_score( $score );
231
  new WPSEO_Post_Metabox_Formatter( $post, array(), $permalink )
232
  );
233
 
234
+ $values = $post_formatter->get_values();
235
 
236
  /** This filter is documented in admin/filters/class-cornerstone-filter.php */
237
  $post_types = apply_filters( 'wpseo_cornerstone_post_types', WPSEO_Post_Type::get_accessible_post_types() );
608
  break;
609
 
610
  case 'upload':
611
+ $content .= '<input' .
612
+ ' id="' . $esc_form_key . '"' .
613
+ ' type="text"' .
614
+ ' size="36"' .
615
+ ' class="' . $class . '"' .
616
+ ' name="' . $esc_form_key . '"' .
617
+ ' value="' . esc_attr( $meta_value ) . '"' . $aria_describedby .
618
+ ' readonly="readonly"' .
619
+ ' />';
620
+ $content .= '<input' .
621
+ ' id="' . esc_attr( $esc_form_key ) . '_button"' .
622
+ ' class="wpseo_image_upload_button button"' .
623
+ ' data-target="' . esc_attr( $esc_form_key ) . '"' .
624
+ ' data-target-id="' . esc_attr( $esc_form_key ) . '-id"' .
625
+ ' type="button"' .
626
+ ' value="' . esc_attr__( 'Upload Image', 'wordpress-seo' ) . '"' .
627
+ ' /> ';
628
+ $content .= '<input' .
629
+ ' class="wpseo_image_remove_button button"' .
630
+ ' type="button"' .
631
+ ' value="' . esc_attr__( 'Clear Image', 'wordpress-seo' ) . '"' .
632
+ ' />';
633
  break;
634
  }
635
 
admin/notifiers/class-configuration-notifier.php CHANGED
@@ -11,6 +11,7 @@
11
  class WPSEO_Configuration_Notifier implements WPSEO_Listener {
12
  const META_NAME = 'wpseo-dismiss-configuration-notice';
13
  const META_VALUE = 'yes';
 
14
  /** @var bool */
15
  protected $show_notification;
16
 
@@ -129,7 +130,7 @@ class WPSEO_Configuration_Notifier implements WPSEO_Listener {
129
  private function notification( $title, $content, $show_dismissal = false ) {
130
  $notification = '<div class="yoast-container yoast-container__configuration-wizard">';
131
  $notification .= sprintf(
132
- '<img src="%1$s" height="%2$s" width="%3$d" />',
133
  esc_url( plugin_dir_url( WPSEO_FILE ) . 'images/new-to-configuration-notice.svg' ),
134
  60,
135
  60
11
  class WPSEO_Configuration_Notifier implements WPSEO_Listener {
12
  const META_NAME = 'wpseo-dismiss-configuration-notice';
13
  const META_VALUE = 'yes';
14
+
15
  /** @var bool */
16
  protected $show_notification;
17
 
130
  private function notification( $title, $content, $show_dismissal = false ) {
131
  $notification = '<div class="yoast-container yoast-container__configuration-wizard">';
132
  $notification .= sprintf(
133
+ '<img src="%1$s" height="%2$s" width="%3$d" />',
134
  esc_url( plugin_dir_url( WPSEO_FILE ) . 'images/new-to-configuration-notice.svg' ),
135
  60,
136
  60
admin/notifiers/class-post-type-archive-notification-handler.php CHANGED
@@ -61,7 +61,7 @@ class WPSEO_Post_Type_Archive_Notification_Handler implements WPSEO_Listener, WP
61
  *
62
  * @return string The listener value.
63
  *
64
- * @coveCoverageIgnore
65
  */
66
  protected function get_listener_value() {
67
  return filter_input( INPUT_GET, 'yoast_dismiss' );
@@ -72,7 +72,7 @@ class WPSEO_Post_Type_Archive_Notification_Handler implements WPSEO_Listener, WP
72
  *
73
  * @return void
74
  *
75
- * @coveCoverageIgnore
76
  */
77
  protected function redirect_to_dashboard() {
78
  wp_safe_redirect( admin_url( 'admin.php?page=wpseo_dashboard' ) );
@@ -108,7 +108,7 @@ class WPSEO_Post_Type_Archive_Notification_Handler implements WPSEO_Listener, WP
108
  );
109
  $message .= PHP_EOL . PHP_EOL;
110
  $message .= sprintf(
111
- /* translators: %1$s is the notification dismissal link start tag, %2$s is the link closing tag. */
112
  __( '%1$sRemove this message%2$s', 'wordpress-seo' ),
113
  '<a class="button" href="' . admin_url( '?page=' . WPSEO_Admin::PAGE_IDENTIFIER . '&yoast_dismiss=' . $this->notification_identifier ) . '">',
114
  '</a>'
61
  *
62
  * @return string The listener value.
63
  *
64
+ * @codeCoverageIgnore
65
  */
66
  protected function get_listener_value() {
67
  return filter_input( INPUT_GET, 'yoast_dismiss' );
72
  *
73
  * @return void
74
  *
75
+ * @codeCoverageIgnore
76
  */
77
  protected function redirect_to_dashboard() {
78
  wp_safe_redirect( admin_url( 'admin.php?page=wpseo_dashboard' ) );
108
  );
109
  $message .= PHP_EOL . PHP_EOL;
110
  $message .= sprintf(
111
+ /* translators: %1$s is the notification dismissal link start tag, %2$s is the link closing tag. */
112
  __( '%1$sRemove this message%2$s', 'wordpress-seo' ),
113
  '<a class="button" href="' . admin_url( '?page=' . WPSEO_Admin::PAGE_IDENTIFIER . '&yoast_dismiss=' . $this->notification_identifier ) . '">',
114
  '</a>'
admin/onpage/class-ryte-service.php CHANGED
@@ -88,7 +88,7 @@ class WPSEO_Ryte_Service {
88
  return array(
89
  'score' => 'na',
90
  'label' => esc_html( sprintf(
91
- /* translators: %1$s: expands to Yoast SEO, %2$s: expands to Ryte. */
92
  __( '%1$s has not fetched your site\'s indexability status yet from %2$s', 'wordpress-seo' ),
93
  'Yoast SEO',
94
  'Ryte'
88
  return array(
89
  'score' => 'na',
90
  'label' => esc_html( sprintf(
91
+ /* translators: %1$s: expands to Yoast SEO, %2$s: expands to Ryte. */
92
  __( '%1$s has not fetched your site\'s indexability status yet from %2$s', 'wordpress-seo' ),
93
  'Yoast SEO',
94
  'Ryte'
admin/pages/network.php CHANGED
@@ -16,6 +16,7 @@ $yform->admin_header( true, 'wpseo_ms' );
16
 
17
  $tabs = new WPSEO_Option_Tabs( 'network' );
18
  $tabs->add_tab( new WPSEO_Option_Tab( 'general', __( 'General', 'wordpress-seo' ) ) );
 
19
  $tabs->add_tab( new WPSEO_Option_Tab( 'restore-site', __( 'Restore Site', 'wordpress-seo' ), array( 'save_button' => false ) ) );
20
  $tabs->display( $yform );
21
 
16
 
17
  $tabs = new WPSEO_Option_Tabs( 'network' );
18
  $tabs->add_tab( new WPSEO_Option_Tab( 'general', __( 'General', 'wordpress-seo' ) ) );
19
+ $tabs->add_tab( new WPSEO_Option_Tab( 'features', __( 'Features', 'wordpress-seo' ), array( 'video_url' => WPSEO_Shortlinker::get( 'https://yoa.st/screencast-features' ) ) ) );
20
  $tabs->add_tab( new WPSEO_Option_Tab( 'restore-site', __( 'Restore Site', 'wordpress-seo' ), array( 'save_button' => false ) ) );
21
  $tabs->display( $yform );
22
 
admin/services/class-indexable-post-provider.php CHANGED
@@ -8,53 +8,95 @@
8
  /**
9
  * Represents the indexable post service.
10
  */
11
- class WPSEO_Indexable_Service_Post_Provider implements WPSEO_Indexable_Service_Provider {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  /**
14
  * Returns an array with data for the target object.
15
  *
16
  * @param integer $object_id The target object id.
 
17
  *
18
- * @return array The retrieved data.
 
 
19
  */
20
- public function get( $object_id ) {
21
-
22
  if ( ! $this->is_indexable( $object_id ) ) {
23
  return array();
24
  }
25
 
26
- $link_count = new WPSEO_Link_Column_Count();
27
- $link_count->set( array( $object_id ) );
28
-
29
- return array(
30
- 'object_id' => (int) $object_id,
31
- 'object_type' => 'post',
32
- 'object_subtype' => get_post_type( $object_id ),
33
- 'permalink' => get_permalink( $object_id ),
34
- 'canonical' => $this->get_meta_value( 'canonical', $object_id ),
35
- 'title' => $this->get_meta_value( 'title', $object_id ),
36
- 'description' => $this->get_meta_value( 'metadesc', $object_id ),
37
- 'breadcrumb_title' => $this->get_meta_value( 'bctitle', $object_id ),
38
- 'og_title' => $this->get_meta_value( 'opengraph-title', $object_id ),
39
- 'og_description' => $this->get_meta_value( 'opengraph-description', $object_id ),
40
- 'og_image' => $this->get_meta_value( 'opengraph-image', $object_id ),
41
- 'twitter_title' => $this->get_meta_value( 'twitter-title', $object_id ),
42
- 'twitter_description' => $this->get_meta_value( 'twitter-description', $object_id ),
43
- 'twitter_image' => $this->get_meta_value( 'twitter-image', $object_id ),
44
- 'is_robots_noindex' => $this->get_robots_noindex_value( $this->get_meta_value( 'meta-robots-noindex', $object_id ) ),
45
- 'is_robots_nofollow' => $this->get_meta_value( 'meta-robots-nofollow', $object_id ) === '1',
46
- 'is_robots_noarchive' => strpos( $this->get_meta_value( 'meta-robots-adv', $object_id ), 'noarchive' ) !== false,
47
- 'is_robots_noimageindex' => strpos( $this->get_meta_value( 'meta-robots-adv', $object_id ), 'noimageindex' ) !== false,
48
- 'is_robots_nosnippet' => strpos( $this->get_meta_value( 'meta-robots-adv', $object_id ), 'nosnippet' ) !== false,
49
- 'primary_focus_keyword' => $this->get_meta_value( 'focuskw', $object_id ),
50
- 'primary_focus_keyword_score' => (int) $this->get_meta_value( 'linkdex', $object_id ),
51
- 'readability_score' => (int) $this->get_meta_value( 'content_score', $object_id ),
52
- 'is_cornerstone' => $this->get_meta_value( 'is_cornerstone', $object_id ) === '1',
53
- 'link_count' => (int) $link_count->get( $object_id ),
54
- 'incoming_link_count' => (int) $link_count->get( $object_id, 'incoming_link_count' ),
55
- 'created_at' => null,
56
- 'updated_at' => null,
57
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  }
59
 
60
  /**
@@ -81,33 +123,107 @@ class WPSEO_Indexable_Service_Post_Provider implements WPSEO_Indexable_Service_P
81
  }
82
 
83
  /**
84
- * Translates the meta value to a boolean value.
85
  *
86
- * @param string $value The value to translate.
87
  *
88
- * @return bool|null The translated value.
89
  */
90
- protected function get_robots_noindex_value( $value ) {
91
- if ( $value === '1' ) {
92
- return true;
93
  }
94
 
95
- if ( $value === '2' ) {
96
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  }
98
 
99
  return null;
100
  }
101
 
102
  /**
103
- * Returns the needed post meta field.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  *
105
- * @param string $field The requested field.
106
- * @param int $post_id The post id.
107
  *
108
- * @return bool|mixed The value of the requested field.
109
  */
110
- protected function get_meta_value( $field, $post_id ) {
111
- return WPSEO_Meta::get_value( $field, $post_id );
 
 
 
 
 
 
 
 
112
  }
113
  }
8
  /**
9
  * Represents the indexable post service.
10
  */
11
+ class WPSEO_Indexable_Service_Post_Provider extends WPSEO_Indexable_Provider {
12
+
13
+ /**
14
+ * @var array List of fields that need to be renamed.
15
+ */
16
+ protected $renameable_fields = array(
17
+ 'description' => 'metadesc',
18
+ 'breadcrumb_title' => 'bctitle',
19
+ 'og_title' => 'opengraph-title',
20
+ 'og_description' => 'opengraph-description',
21
+ 'og_image' => 'opengraph-image',
22
+ 'twitter_title' => 'twitter-title',
23
+ 'twitter_description' => 'twitter-description',
24
+ 'twitter_image' => 'twitter-image',
25
+ 'is_robots_noindex' => 'meta-robots-noindex',
26
+ 'is_robots_nofollow' => 'meta-robots-nofollow',
27
+ 'primary_focus_keyword' => 'focuskw',
28
+ 'primary_focus_keyword_score' => 'linkdex',
29
+ 'readability_score' => 'content_score',
30
+ );
31
 
32
  /**
33
  * Returns an array with data for the target object.
34
  *
35
  * @param integer $object_id The target object id.
36
+ * @param bool $as_object Optional. Whether or not to return the indexable as an object. Defaults to false.
37
  *
38
+ * @return array|WPSEO_Post_Indexable The retrieved data. Defaults to an array format.
39
+ *
40
+ * @throws WPSEO_Invalid_Argument_Exception The invalid argument exception.
41
  */
42
+ public function get( $object_id, $as_object = false ) {
 
43
  if ( ! $this->is_indexable( $object_id ) ) {
44
  return array();
45
  }
46
 
47
+ $indexable = WPSEO_Post_Indexable::from_object( $object_id );
48
+
49
+ if ( $as_object === true ) {
50
+ return $indexable;
51
+ }
52
+
53
+ return $indexable->to_array();
54
+ }
55
+
56
+ /**
57
+ * Handles the patching of values for an existing indexable.
58
+ *
59
+ * @param int $object_id The ID of the object.
60
+ * @param array $requestdata The request data to store.
61
+ *
62
+ * @return array The patched indexable.
63
+ *
64
+ * @throws WPSEO_Invalid_Indexable_Exception The invalid argument exception.
65
+ * @throws WPSEO_REST_Request_Exception Exception that is thrown if patching the object has failed.
66
+ */
67
+ public function patch( $object_id, $requestdata ) {
68
+ $indexable = $this->get( $object_id, true );
69
+
70
+ if ( $indexable === array() ) {
71
+ throw WPSEO_Invalid_Indexable_Exception::non_existing_indexable( $object_id );
72
+ }
73
+
74
+ $new_indexable = $indexable->update( $requestdata );
75
+ $stored_indexable = $this->store_indexable( $new_indexable );
76
+
77
+ if ( $stored_indexable === true ) {
78
+ return $new_indexable->to_array();
79
+ }
80
+
81
+ throw WPSEO_REST_Request_Exception::patch( 'Post', $object_id );
82
+ }
83
+
84
+ /**
85
+ * Stores the indexable object.
86
+ *
87
+ * @param WPSEO_Indexable $indexable The indexable object to store.
88
+ *
89
+ * @return bool True if saving was successful.
90
+ */
91
+ protected function store_indexable( WPSEO_Indexable $indexable ) {
92
+ $values = $this->convert_indexable_data( $indexable->to_array() );
93
+ $renamed_values = $this->rename_indexable_data( $values );
94
+
95
+ foreach ( $renamed_values as $key => $item ) {
96
+ WPSEO_Meta::set_value( $key, $item, $values['object_id'] );
97
+ }
98
+
99
+ return true;
100
  }
101
 
102
  /**
123
  }
124
 
125
  /**
126
+ * Converts some of the indexable data to its database variant.
127
  *
128
+ * @param array $indexable_data The indexable data to convert.
129
  *
130
+ * @return array The converted indexable data.
131
  */
132
+ protected function convert_indexable_data( $indexable_data ) {
133
+ if ( WPSEO_Validator::key_exists( $indexable_data, 'is_robots_nofollow' ) ) {
134
+ $indexable_data['is_robots_nofollow'] = $this->convert_nofollow( $indexable_data['is_robots_nofollow'] );
135
  }
136
 
137
+ if ( WPSEO_Validator::key_exists( $indexable_data, 'is_robots_noindex' ) ) {
138
+ $indexable_data['is_robots_noindex'] = $this->convert_noindex( $indexable_data['is_robots_noindex'] );
139
+ }
140
+
141
+ if ( WPSEO_Validator::key_exists( $indexable_data, 'is_cornerstone' ) ) {
142
+ $indexable_data['is_cornerstone'] = $this->convert_cornerstone( $indexable_data['is_cornerstone'] );
143
+ }
144
+
145
+ $indexable_data['meta-robots-adv'] = $this->convert_advanced( $indexable_data );
146
+
147
+ return $indexable_data;
148
+ }
149
+
150
+ /**
151
+ * Converts the cornerstone value to its database variant.
152
+ *
153
+ * @param string $cornerstone_value The cornerstone value.
154
+ *
155
+ * @return string The converted indexable cornerstone value.
156
+ */
157
+ protected function convert_cornerstone( $cornerstone_value ) {
158
+ if ( $cornerstone_value === 'true' ) {
159
+ return '1';
160
  }
161
 
162
  return null;
163
  }
164
 
165
  /**
166
+ * Converts the advanced meta settings to its database variant.
167
+ *
168
+ * @param array $indexable_data The indeaxable data to convert the advanced meta settings from.
169
+ *
170
+ * @return string The converted advanced meta settings.
171
+ */
172
+ protected function convert_advanced( &$indexable_data ) {
173
+ $translated_advanced_data = array();
174
+
175
+ if ( WPSEO_Validator::key_exists( $indexable_data, 'is_robots_nosnippet' ) && (bool) $indexable_data['is_robots_nosnippet'] === true ) {
176
+ $translated_advanced_data[] = 'nosnippet';
177
+
178
+ unset( $indexable_data['is_robots_nosnippet'] );
179
+ }
180
+
181
+ if ( WPSEO_Validator::key_exists( $indexable_data, 'is_robots_noarchive' ) && (bool) $indexable_data['is_robots_noarchive'] === true ) {
182
+ $translated_advanced_data[] = 'noarchive';
183
+
184
+ unset( $indexable_data['is_robots_noarchive'] );
185
+ }
186
+
187
+ if ( WPSEO_Validator::key_exists( $indexable_data, 'is_robots_noimageindex' ) && (bool) $indexable_data['is_robots_noimageindex'] === true ) {
188
+ $translated_advanced_data[] = 'noimageindex';
189
+
190
+ unset( $indexable_data['is_robots_noimageindex'] );
191
+ }
192
+
193
+ return implode( ',', $translated_advanced_data );
194
+ }
195
+
196
+ /**
197
+ * Converts the nofollow value to a database compatible one.
198
+ *
199
+ * @param bool $nofollow The current nofollow value.
200
+ *
201
+ * @return string The converted value.
202
+ */
203
+ protected function convert_nofollow( $nofollow ) {
204
+ if ( $nofollow === 'true' ) {
205
+ return '1';
206
+ }
207
+
208
+ return '0';
209
+ }
210
+
211
+ /**
212
+ * Converts the noindex value to a database compatible one.
213
  *
214
+ * @param string $noindex The current noindex value.
 
215
  *
216
+ * @return string|null The converted value.
217
  */
218
+ protected function convert_noindex( $noindex ) {
219
+ if ( $noindex === 'false' ) {
220
+ return '2';
221
+ }
222
+
223
+ if ( $noindex === 'true' ) {
224
+ return '1';
225
+ }
226
+
227
+ return null;
228
  }
229
  }
admin/services/class-indexable-provider.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Admin\Services
6
+ */
7
+
8
+ /**
9
+ * Represents the indexable service.
10
+ */
11
+ abstract class WPSEO_Indexable_Provider implements WPSEO_Indexable_Service_Provider {
12
+
13
+ /**
14
+ * @var array List of fields that need to be renamed.
15
+ */
16
+ protected $renameable_fields = array();
17
+
18
+ /**
19
+ * Renames and converts some of the indexable data to its database variant.
20
+ *
21
+ * @param array $indexable_data The indexable data to rename and convert.
22
+ *
23
+ * @return array The renamed and converted indexable data.
24
+ */
25
+ protected function rename_indexable_data( &$indexable_data ) {
26
+ foreach ( $this->renameable_fields as $old_key => $new_key ) {
27
+ if ( WPSEO_Validator::key_exists( $indexable_data, $old_key ) ) {
28
+ $indexable_data[ $new_key ] = $indexable_data[ $old_key ];
29
+
30
+ unset( $indexable_data[ $old_key ] );
31
+ }
32
+ }
33
+
34
+ return $indexable_data;
35
+ }
36
+ }
admin/services/class-indexable-term-provider.php CHANGED
@@ -8,94 +8,158 @@
8
  /**
9
  * Represents the indexable term service.
10
  */
11
- class WPSEO_Indexable_Service_Term_Provider implements WPSEO_Indexable_Service_Provider {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  /**
14
  * Returns an array with data for the target object.
15
  *
16
  * @param integer $object_id The target object id.
 
17
  *
18
- * @return array The retrieved data.
19
  */
20
- public function get( $object_id ) {
21
- $term = get_term( $object_id );
22
-
23
  if ( ! $this->is_indexable( $object_id ) ) {
24
  return array();
25
  }
26
 
27
- return array(
28
- 'object_id' => (int) $object_id,
29
- 'object_type' => 'term',
30
- 'object_subtype' => $term->taxonomy,
31
- 'permalink' => get_term_link( $term ),
32
- 'canonical' => $this->get_meta_value( 'canonical', $term ),
33
- 'title' => $this->get_meta_value( 'title', $term ),
34
- 'description' => $this->get_meta_value( 'desc', $term ),
35
- 'breadcrumb_title' => $this->get_meta_value( 'bctitle', $term ),
36
- 'og_title' => $this->get_meta_value( 'opengraph-title', $term ),
37
- 'og_description' => $this->get_meta_value( 'opengraph-description', $term ),
38
- 'og_image' => $this->get_meta_value( 'opengraph-image', $term ),
39
- 'twitter_title' => $this->get_meta_value( 'twitter-title', $term ),
40
- 'twitter_description' => $this->get_meta_value( 'twitter-description', $term ),
41
- 'twitter_image' => $this->get_meta_value( 'twitter-image', $term ),
42
- 'is_robots_noindex' => $this->get_robots_noindex_value( $this->get_meta_value( 'noindex', $term ) ),
43
- 'is_robots_nofollow' => null,
44
- 'is_robots_noarchive' => null,
45
- 'is_robots_noimageindex' => null,
46
- 'is_robots_nosnippet' => null,
47
- 'primary_focus_keyword' => $this->get_meta_value( 'focuskw', $term ),
48
- 'primary_focus_keyword_score' => (int) $this->get_meta_value( 'linkdex', $term ),
49
- 'readability_score' => (int) $this->get_meta_value( 'content_score', $term ),
50
- 'is_cornerstone' => false,
51
- 'link_count' => null,
52
- 'incoming_link_count' => null,
53
- 'created_at' => null,
54
- 'updated_at' => null,
55
- );
56
  }
57
 
58
  /**
59
- * Checks if the given object id belongs to an indexable.
60
  *
61
- * @param int $object_id The object id.
 
62
  *
63
- * @return bool Whether the object id is indexable.
 
 
 
64
  */
65
- public function is_indexable( $object_id ) {
66
- $term = get_term( $object_id );
67
 
68
- return ( $term !== null && ! is_wp_error( $term ) );
 
 
 
 
 
 
 
 
 
 
 
69
  }
70
 
71
  /**
72
- * Translates the meta value to a boolean value.
73
  *
74
- * @param string $value The value to translate.
75
  *
76
- * @return bool|null The translated value.
77
  */
78
- protected function get_robots_noindex_value( $value ) {
79
- if ( $value === 'noindex' ) {
80
- return true;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  }
82
 
83
- if ( $value === 'index' ) {
84
- return false;
 
 
 
 
 
 
 
 
 
 
 
85
  }
86
 
87
- return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  }
89
 
90
  /**
91
- * Returns the needed term meta field.
92
  *
93
- * @param string $field The requested field.
94
- * @param mixed $term The term object.
95
  *
96
- * @return bool|mixed The value of the requested field.
97
  */
98
- protected function get_meta_value( $field, $term ) {
99
- return WPSEO_Taxonomy_Meta::get_term_meta( $term, $term->taxonomy, $field );
 
 
 
 
 
 
 
 
100
  }
101
  }
8
  /**
9
  * Represents the indexable term service.
10
  */
11
+ class WPSEO_Indexable_Service_Term_Provider extends WPSEO_Indexable_Provider {
12
+
13
+ /**
14
+ * @var array List of fields that need to be renamed.
15
+ */
16
+ protected $renameable_fields = array(
17
+ 'description' => 'desc',
18
+ 'breadcrumb_title' => 'bctitle',
19
+ 'og_title' => 'opengraph-title',
20
+ 'og_description' => 'opengraph-description',
21
+ 'og_image' => 'opengraph-image',
22
+ 'twitter_title' => 'twitter-title',
23
+ 'twitter_description' => 'twitter-description',
24
+ 'twitter_image' => 'twitter-image',
25
+ 'is_robots_noindex' => 'noindex',
26
+ 'primary_focus_keyword' => 'focuskw',
27
+ 'primary_focus_keyword_score' => 'linkdex',
28
+ 'readability_score' => 'content_score',
29
+ );
30
 
31
  /**
32
  * Returns an array with data for the target object.
33
  *
34
  * @param integer $object_id The target object id.
35
+ * @param bool $as_object Optional. Whether or not to return the indexable as an object. Defaults to false.
36
  *
37
+ * @return array|WPSEO_Term_Indexable The retrieved data. Defaults to an array format.
38
  */
39
+ public function get( $object_id, $as_object = false ) {
 
 
40
  if ( ! $this->is_indexable( $object_id ) ) {
41
  return array();
42
  }
43
 
44
+ $indexable = WPSEO_Term_Indexable::from_object( $object_id );
45
+
46
+ if ( $as_object === true ) {
47
+ return $indexable;
48
+ }
49
+
50
+ return $indexable->to_array();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  }
52
 
53
  /**
54
+ * Handles the patching of values for an existing indexable.
55
  *
56
+ * @param int $object_id The ID of the object.
57
+ * @param array $requestdata The request data to store.
58
  *
59
+ * @return array The patched indexable.
60
+ *
61
+ * @throws WPSEO_Invalid_Indexable_Exception The indexable exception.
62
+ * @throws WPSEO_REST_Request_Exception Exception that is thrown if patching the object has failed.
63
  */
64
+ public function patch( $object_id, $requestdata ) {
65
+ $indexable = $this->get( $object_id, true );
66
 
67
+ if ( $indexable === array() ) {
68
+ throw WPSEO_Invalid_Indexable_Exception::non_existing_indexable( $object_id );
69
+ }
70
+
71
+ $new_indexable = $indexable->update( $requestdata );
72
+ $stored_indexable = $this->store_indexable( $new_indexable );
73
+
74
+ if ( $stored_indexable === true ) {
75
+ return $new_indexable->to_array();
76
+ }
77
+
78
+ throw WPSEO_REST_Request_Exception::patch( 'Term', $object_id );
79
  }
80
 
81
  /**
82
+ * Stores the indexable object.
83
  *
84
+ * @param WPSEO_Indexable $indexable The indexable object to store.
85
  *
86
+ * @return bool True if the indexable object was successfully stored.
87
  */
88
+ protected function store_indexable( WPSEO_Indexable $indexable ) {
89
+ $values = $this->convert_indexable_data( $indexable->to_array() );
90
+ $renamed_values = $this->rename_indexable_data( $values );
91
+ $prefixed_values = $this->prefix_indexable_data( $renamed_values );
92
+
93
+ WPSEO_Taxonomy_Meta::set_values( $values['object_id'], $values['object_subtype'], $prefixed_values );
94
+
95
+ return true;
96
+ }
97
+
98
+ /**
99
+ * Prefixes the indexable data to make it compatible with the database.
100
+ *
101
+ * @param array $indexable_data The indexable data to prefix.
102
+ *
103
+ * @return array The compatible indexable data.
104
+ */
105
+ protected function prefix_indexable_data( $indexable_data ) {
106
+ $converted_data = array();
107
+
108
+ foreach ( $indexable_data as $key => $item ) {
109
+ if ( substr( strtolower( $key ), 0, 6 ) !== 'wpseo_' ) {
110
+ $key = 'wpseo_' . $key;
111
+ }
112
+
113
+ $converted_data[ $key ] = $item;
114
  }
115
 
116
+ return $converted_data;
117
+ }
118
+
119
+ /**
120
+ * Converts the indexable data to make it compatible with the database.
121
+ *
122
+ * @param array $indexable_data The indexable data to prepare.
123
+ *
124
+ * @return array The converted indexable data.
125
+ */
126
+ protected function convert_indexable_data( $indexable_data ) {
127
+ if ( WPSEO_Validator::key_exists( $indexable_data, 'is_robots_noindex' ) ) {
128
+ $indexable_data['is_robots_noindex'] = $this->convert_noindex( $indexable_data['is_robots_noindex'] );
129
  }
130
 
131
+ return $indexable_data;
132
+ }
133
+
134
+ /**
135
+ * Checks if the given object id belongs to an indexable.
136
+ *
137
+ * @param int $object_id The object id.
138
+ *
139
+ * @return bool Whether the object id is indexable.
140
+ */
141
+ public function is_indexable( $object_id ) {
142
+ $term = get_term( $object_id );
143
+
144
+ return ( $term !== null && ! is_wp_error( $term ) );
145
  }
146
 
147
  /**
148
+ * Converts the noindex value to a database compatible one.
149
  *
150
+ * @param bool $noindex The current noindex value.
 
151
  *
152
+ * @return string|null The converted value.
153
  */
154
+ protected function convert_noindex( $noindex ) {
155
+ if ( $noindex === 'false' ) {
156
+ return 'index';
157
+ }
158
+
159
+ if ( $noindex === 'true' ) {
160
+ return 'noindex';
161
+ }
162
+
163
+ return 'default';
164
  }
165
  }
admin/services/class-indexable.php CHANGED
@@ -19,33 +19,39 @@ class WPSEO_Indexable_Service {
19
  */
20
  public function get_indexable( WP_REST_Request $request ) {
21
  $object_type = $request->get_param( 'object_type' );
22
- $provider = $this->get_provider( strtolower( $object_type ) );
23
 
24
- if ( $provider === null ) {
25
- return new WP_REST_Response(
26
- sprintf(
27
- /* translators: %1$s expands to the requested indexable type */
28
- __( 'Unknown type %1$s', 'wordpress-seo' ),
29
- $object_type
30
- ),
31
- 400
32
- );
33
- }
34
 
35
- $object_id = $request->get_param( 'object_id' );
36
- if ( ! $provider->is_indexable( $object_id ) ) {
37
- return new WP_REST_Response(
38
- sprintf(
39
- /* translators: %1$s expands to the requested indexable type. %2$s expands to the request id */
40
- __( 'Object %1$s with id %2$s not found', 'wordpress-seo' ),
41
- $object_type,
42
- $object_id
43
- ),
44
- 404
45
- );
46
  }
 
47
 
48
- return new WP_REST_Response( $provider->get( $object_id ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  }
50
 
51
  /**
@@ -53,9 +59,13 @@ class WPSEO_Indexable_Service {
53
  *
54
  * @param string $object_type The object type to get the provider for.
55
  *
56
- * @return null|WPSEO_Indexable_Service_Provider Instance of the service provider.
 
 
57
  */
58
  protected function get_provider( $object_type ) {
 
 
59
  if ( $object_type === 'post' ) {
60
  return new WPSEO_Indexable_Service_Post_Provider();
61
  }
@@ -65,6 +75,24 @@ class WPSEO_Indexable_Service {
65
 
66
  }
67
 
68
- return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  }
70
  }
19
  */
20
  public function get_indexable( WP_REST_Request $request ) {
21
  $object_type = $request->get_param( 'object_type' );
22
+ $object_id = $request->get_param( 'object_id' );
23
 
24
+ try {
25
+ $provider = $this->get_provider( $object_type );
26
+ $indexable = $provider->get( $object_id );
 
 
 
 
 
 
 
27
 
28
+ return new WP_REST_Response( $indexable );
29
+ }
30
+ catch ( Exception $exception ) {
31
+ return new WP_REST_Response( $exception->getMessage(), 500 );
 
 
 
 
 
 
 
32
  }
33
+ }
34
 
35
+ /**
36
+ * Patches an indexable with the request parameters.
37
+ *
38
+ * @param WP_REST_Request $request The REST API request to process.
39
+ *
40
+ * @return WP_REST_Response The REST response.
41
+ */
42
+ public function patch_indexable( WP_REST_Request $request ) {
43
+ $object_type = $request->get_param( 'object_type' );
44
+ $object_id = $request->get_param( 'object_id' );
45
+
46
+ try {
47
+ $provider = $this->get_provider( $object_type );
48
+ $patched_result = $provider->patch( $object_id, $request->get_params() );
49
+
50
+ return new WP_REST_Response( $patched_result );
51
+ }
52
+ catch ( Exception $exception ) {
53
+ return new WP_REST_Response( $exception->getMessage(), 500 );
54
+ }
55
  }
56
 
57
  /**
59
  *
60
  * @param string $object_type The object type to get the provider for.
61
  *
62
+ * @return WPSEO_Indexable_Service_Provider Instance of the service provider.
63
+ *
64
+ * @throws WPSEO_Invalid_Argument_Exception The invalid argument exception.
65
  */
66
  protected function get_provider( $object_type ) {
67
+ $object_type = strtolower( $object_type );
68
+
69
  if ( $object_type === 'post' ) {
70
  return new WPSEO_Indexable_Service_Post_Provider();
71
  }
75
 
76
  }
77
 
78
+ throw WPSEO_Invalid_Argument_Exception::invalid_callable_parameter( $object_type, 'provider' );
79
+ }
80
+
81
+ /**
82
+ * Handles the situation when the object type is unknown.
83
+ *
84
+ * @param string $object_type The unknown object type.
85
+ *
86
+ * @return WP_REST_Response The response.
87
+ */
88
+ protected function handle_unknown_object_type( $object_type ) {
89
+ return new WP_REST_Response(
90
+ sprintf(
91
+ /* translators: %1$s expands to the requested indexable type */
92
+ __( 'Unknown type %1$s', 'wordpress-seo' ),
93
+ $object_type
94
+ ),
95
+ 400
96
+ );
97
  }
98
  }
admin/services/interface-indexable-provider.php CHANGED
@@ -14,10 +14,21 @@ interface WPSEO_Indexable_Service_Provider {
14
  * Returns an array with data for the target object.
15
  *
16
  * @param integer $object_id The target object id.
 
17
  *
18
  * @return array The retrieved data.
19
  */
20
- public function get( $object_id );
 
 
 
 
 
 
 
 
 
 
21
 
22
  /**
23
  * Checks if the given object id belongs to an indexable.
14
  * Returns an array with data for the target object.
15
  *
16
  * @param integer $object_id The target object id.
17
+ * @param bool $as_object Optional. Whether or not to return the indexable as an object. Defaults to false.
18
  *
19
  * @return array The retrieved data.
20
  */
21
+ public function get( $object_id, $as_object = false );
22
+
23
+ /**
24
+ * Handles the patching of values for an existing indexable.
25
+ *
26
+ * @param int $object_id The ID of the object.
27
+ * @param array $requestdata The request data to store.
28
+ *
29
+ * @return array The patched indexable.
30
+ */
31
+ public function patch( $object_id, $requestdata );
32
 
33
  /**
34
  * Checks if the given object id belongs to an indexable.
admin/statistics/class-statistics-service.php CHANGED
@@ -194,7 +194,7 @@ class WPSEO_Statistics_Service {
194
  private function labels() {
195
  return array(
196
  /* translators: %1$s expands to an opening strong tag, %2$s expands to a closing strong tag */
197
- WPSEO_Rank::NO_FOCUS => sprintf( __( 'Posts %1$swithout%2$s a focus keyword', 'wordpress-seo' ), '<strong>', '</strong>' ),
198
  /* translators: %1$s expands to an opening strong tag, %2$s expands to a closing strong tag */
199
  WPSEO_Rank::BAD => sprintf( __( 'Posts with the SEO score: %1$sneeds improvement%2$s', 'wordpress-seo' ), '<strong>', '</strong>' ),
200
  /* translators: %1$s expands to an opening strong tag, %2$s expands to a closing strong tag */
194
  private function labels() {
195
  return array(
196
  /* translators: %1$s expands to an opening strong tag, %2$s expands to a closing strong tag */
197
+ WPSEO_Rank::NO_FOCUS => sprintf( __( 'Posts %1$swithout%2$s a focus keyphrase', 'wordpress-seo' ), '<strong>', '</strong>' ),
198
  /* translators: %1$s expands to an opening strong tag, %2$s expands to a closing strong tag */
199
  WPSEO_Rank::BAD => sprintf( __( 'Posts with the SEO score: %1$sneeds improvement%2$s', 'wordpress-seo' ), '<strong>', '</strong>' ),
200
  /* translators: %1$s expands to an opening strong tag, %2$s expands to a closing strong tag */
admin/taxonomy/class-taxonomy-fields-presenter.php CHANGED
@@ -102,8 +102,28 @@ class WPSEO_Taxonomy_Fields_Presenter {
102
  $field .= '<textarea class="large-text" rows="' . esc_attr( $rows ) . '" id="' . $field_name . '" name="' . $field_name . '"' . $aria_describedby . '>' . esc_textarea( $field_value ) . '</textarea>';
103
  break;
104
  case 'upload':
105
- $field .= '<input id="' . $field_name . '" type="text" size="36" name="' . $field_name . '" value="' . esc_attr( $field_value ) . '"' . $aria_describedby . ' />';
106
- $field .= '<input id="' . $field_name . '_button" class="wpseo_image_upload_button button" type="button" value="' . esc_attr__( 'Upload Image', 'wordpress-seo' ) . '" />';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  break;
108
  case 'select':
109
  if ( is_array( $options ) && $options !== array() ) {
102
  $field .= '<textarea class="large-text" rows="' . esc_attr( $rows ) . '" id="' . $field_name . '" name="' . $field_name . '"' . $aria_describedby . '>' . esc_textarea( $field_value ) . '</textarea>';
103
  break;
104
  case 'upload':
105
+ $field .= '<input' .
106
+ ' id="' . $field_name . '"' .
107
+ ' type="text"' .
108
+ ' size="36"' .
109
+ ' name="' . $field_name . '"' .
110
+ ' value="' . esc_attr( $field_value ) . '"' . $aria_describedby . '' .
111
+ ' readonly="readonly"' .
112
+ ' /> ';
113
+ $field .= '<input' .
114
+ ' id="' . esc_attr( $field_name ) . '_button"' .
115
+ ' class="wpseo_image_upload_button button"' .
116
+ ' data-target="' . esc_attr( $field_name ) . '"' .
117
+ ' data-target-id="hidden_' . esc_attr( $field_name ) . '-id"' .
118
+ ' type="button"' .
119
+ ' value="' . esc_attr__( 'Upload Image', 'wordpress-seo' ) . '"' .
120
+ ' /> ';
121
+ $field .= '<input' .
122
+ ' id="' . esc_attr( $field_name ) . '_button"' .
123
+ ' class="wpseo_image_remove_button button"' .
124
+ ' type="button"' .
125
+ ' value="' . esc_attr__( 'Clear Image', 'wordpress-seo' ) . '"' .
126
+ ' />';
127
  break;
128
  case 'select':
129
  if ( is_array( $options ) && $options !== array() ) {
admin/taxonomy/class-taxonomy-metabox.php CHANGED
@@ -279,15 +279,15 @@ class WPSEO_Taxonomy_Metabox {
279
  sprintf( __( 'You\'re not getting the benefits of %1$s yet. If you had %1$s, you could use its awesome features:', 'wordpress-seo' ), 'Yoast SEO Premium' ),
280
  __( 'Redirect manager', 'wordpress-seo' ),
281
  __( 'Create and manage redirects within your WordPress install.', 'wordpress-seo' ),
282
- __( 'Multiple focus keywords', 'wordpress-seo' ),
283
- __( 'Optimize a single post for up to 5 keywords.', 'wordpress-seo' ),
284
  __( 'Social Previews', 'wordpress-seo' ),
285
  __( 'Check what your Facebook or Twitter post will look like.', 'wordpress-seo' ),
286
  __( 'Premium support', 'wordpress-seo' ),
287
  __( 'Gain access to our 24/7 support team.', 'wordpress-seo' ),
288
  WPSEO_Shortlinker::get( 'https://yoa.st/pe-buy-premium' ),
289
  /* translators: %s expands to Yoast SEO Premium. */
290
- sprintf( __( 'Get %s now!', 'wordpress-seo' ), 'Yoast SEO Premium' ),
291
  WPSEO_Shortlinker::get( 'https://yoa.st/pe-premium-page' ),
292
  __( 'More info', 'wordpress-seo' )
293
  );
279
  sprintf( __( 'You\'re not getting the benefits of %1$s yet. If you had %1$s, you could use its awesome features:', 'wordpress-seo' ), 'Yoast SEO Premium' ),
280
  __( 'Redirect manager', 'wordpress-seo' ),
281
  __( 'Create and manage redirects within your WordPress install.', 'wordpress-seo' ),
282
+ __( 'Synonyms & related keyphrases', 'wordpress-seo' ),
283
+ __( 'Optimize a single post for synonyms and related keyphrases.', 'wordpress-seo' ),
284
  __( 'Social Previews', 'wordpress-seo' ),
285
  __( 'Check what your Facebook or Twitter post will look like.', 'wordpress-seo' ),
286
  __( 'Premium support', 'wordpress-seo' ),
287
  __( 'Gain access to our 24/7 support team.', 'wordpress-seo' ),
288
  WPSEO_Shortlinker::get( 'https://yoa.st/pe-buy-premium' ),
289
  /* translators: %s expands to Yoast SEO Premium. */
290
+ sprintf( __( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium' ),
291
  WPSEO_Shortlinker::get( 'https://yoa.st/pe-premium-page' ),
292
  __( 'More info', 'wordpress-seo' )
293
  );
admin/taxonomy/class-taxonomy-social-fields.php CHANGED
@@ -67,6 +67,11 @@ class WPSEO_Taxonomy_Social_Fields extends WPSEO_Taxonomy_Fields {
67
  sprintf( __( 'The recommended image size for %1$s is %2$s pixels.', 'wordpress-seo' ), $settings['label'], $settings['size'] ),
68
  'upload'
69
  ),
 
 
 
 
 
70
  );
71
  }
72
 
67
  sprintf( __( 'The recommended image size for %1$s is %2$s pixels.', 'wordpress-seo' ), $settings['label'], $settings['size'] ),
68
  'upload'
69
  ),
70
+ $settings['network'] . '-image-id' => $this->get_field_config(
71
+ '',
72
+ '',
73
+ 'hidden'
74
+ ),
75
  );
76
  }
77
 
admin/taxonomy/class-taxonomy.php CHANGED
@@ -358,10 +358,13 @@ class WPSEO_Taxonomy {
358
  add_action( "{$this->taxonomy}_term_edit_form_top", array( $this, 'custom_category_description_editor' ) );
359
  }
360
 
 
 
361
  /**
362
  * Adds shortcode support to category descriptions.
363
  *
364
  * @deprecated 7.9.0
 
365
  *
366
  * @param string $desc String to add shortcodes in.
367
  *
358
  add_action( "{$this->taxonomy}_term_edit_form_top", array( $this, 'custom_category_description_editor' ) );
359
  }
360
 
361
+ /* ********************* DEPRECATED METHODS ********************* */
362
+
363
  /**
364
  * Adds shortcode support to category descriptions.
365
  *
366
  * @deprecated 7.9.0
367
+ * @codeCoverageIgnore
368
  *
369
  * @param string $desc String to add shortcodes in.
370
  *
admin/views/class-yoast-feature-toggle.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Admin
6
+ */
7
+
8
+ /**
9
+ * Class representing a feature toggle.
10
+ */
11
+ class Yoast_Feature_Toggle {
12
+
13
+ /** @var string Feature toggle identifier. */
14
+ protected $name = '';
15
+
16
+ /** @var string Name of the setting the feature toggle is associated with. */
17
+ protected $setting = '';
18
+
19
+ /** @var string Feature toggle label. */
20
+ protected $label = '';
21
+
22
+ /** @var string URL to learn more about the feature. */
23
+ protected $read_more_url = '';
24
+
25
+ /** @var string Label for the learn more link. */
26
+ protected $read_more_label = '';
27
+
28
+ /** @var string Additional help content for the feature. */
29
+ protected $extra = '';
30
+
31
+ /** @var string Value to specify the feature toggle order. */
32
+ protected $order = 100;
33
+
34
+ /**
35
+ * Constructor.
36
+ *
37
+ * Sets the feature toggle arguments.
38
+ *
39
+ * @param array $args {
40
+ * Feature toggle arguments.
41
+ *
42
+ * @type string $name Required. Feature toggle identifier.
43
+ * @type string $setting Required. Name of the setting the feature toggle is associated with.
44
+ * @type string $label Required. Feature toggle label.
45
+ * @type string $read_more_url URL to learn more about the feature. Default empty string.
46
+ * @type string $read_more_label Label for the learn more link. Default empty string.
47
+ * @type string $extra Additional help content for the feature. Default empty string.
48
+ * @type int $order Value to specify the feature toggle order. A lower value indicates
49
+ * a higher priority. Default 100.
50
+ * }
51
+ *
52
+ * @throws InvalidArgumentException Thrown when a required argument is missing.
53
+ */
54
+ public function __construct( array $args ) {
55
+ $required_keys = array( 'name', 'setting', 'label' );
56
+
57
+ foreach ( $required_keys as $key ) {
58
+ if ( empty( $args[ $key ] ) ) {
59
+ /* translators: %s: argument name */
60
+ throw new InvalidArgumentException( sprintf( __( '%s is a required feature toggle argument.', 'wordpress-seo' ), $key ) );
61
+ }
62
+ }
63
+
64
+ foreach ( $args as $key => $value ) {
65
+ if ( property_exists( $this, $key ) ) {
66
+ $this->$key = $value;
67
+ }
68
+ }
69
+ }
70
+
71
+ /**
72
+ * Magic isset-er.
73
+ *
74
+ * @param string $key Key to check whether a value for it is set.
75
+ *
76
+ * @return bool True if set, false otherwise.
77
+ */
78
+ public function __isset( $key ) {
79
+ return isset( $this->$key );
80
+ }
81
+
82
+ /**
83
+ * Magic getter.
84
+ *
85
+ * @param string $key Key to get the value for.
86
+ *
87
+ * @return mixed Value for the key, or null if not set.
88
+ */
89
+ public function __get( $key ) {
90
+ if ( isset( $this->$key ) ) {
91
+ return $this->$key;
92
+ }
93
+
94
+ return null;
95
+ }
96
+
97
+ /**
98
+ * Checks whether the feature for this toggle is enabled.
99
+ *
100
+ * @return bool True if the feature is enabled, false otherwise.
101
+ */
102
+ public function is_enabled() {
103
+ return (bool) WPSEO_Options::get( $this->setting );
104
+ }
105
+ }
admin/views/class-yoast-feature-toggles.php ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Admin
6
+ */
7
+
8
+ /**
9
+ * Class for managing feature toggles.
10
+ */
11
+ class Yoast_Feature_Toggles {
12
+
13
+ /** @var array Available feature toggles. */
14
+ protected $toggles;
15
+
16
+ /** @var self|null Instance holder. */
17
+ protected static $instance = null;
18
+
19
+ /**
20
+ * Gets the main feature toggles manager instance used.
21
+ *
22
+ * This essentially works like a Singleton, but for its drawbacks does not restrict
23
+ * instantiation otherwise.
24
+ *
25
+ * @return self Main instance.
26
+ */
27
+ public static function instance() {
28
+ if ( self::$instance === null ) {
29
+ self::$instance = new self();
30
+ }
31
+
32
+ return self::$instance;
33
+ }
34
+
35
+ /**
36
+ * Gets all available feature toggles.
37
+ *
38
+ * @return array List of sorted Yoast_Feature_Toggle instances.
39
+ */
40
+ public function get_all() {
41
+ if ( $this->toggles === null ) {
42
+ $this->toggles = $this->load_toggles();
43
+ }
44
+
45
+ return $this->toggles;
46
+ }
47
+
48
+ /**
49
+ * Loads the available feature toggles.
50
+ *
51
+ * Also ensures that the toggles are all Yoast_Feature_Toggle instances and sorted by their order value.
52
+ *
53
+ * @return array List of sorted Yoast_Feature_Toggle instances.
54
+ */
55
+ protected function load_toggles() {
56
+ $xml_sitemap_extra = false;
57
+ if ( WPSEO_Options::get( 'enable_xml_sitemap' ) ) {
58
+ $xml_sitemap_extra = '<a href="' . esc_url( WPSEO_Sitemaps_Router::get_base_url( 'sitemap_index.xml' ) )
59
+ . '" target="_blank">' . esc_html__( 'See the XML sitemap.', 'wordpress-seo' ) . '</a>';
60
+ }
61
+
62
+ $feature_toggles = array(
63
+ (object) array(
64
+ 'name' => __( 'SEO analysis', 'wordpress-seo' ),
65
+ 'setting' => 'keyword_analysis_active',
66
+ 'label' => __( 'The SEO analysis offers suggestions to improve the SEO of your text.', 'wordpress-seo' ),
67
+ 'read_more_label' => __( 'Learn how the SEO analysis can help you rank.', 'wordpress-seo' ),
68
+ 'read_more_url' => 'https://yoa.st/2ak',
69
+ 'order' => 10,
70
+ ),
71
+ (object) array(
72
+ 'name' => __( 'Readability analysis', 'wordpress-seo' ),
73
+ 'setting' => 'content_analysis_active',
74
+ 'label' => __( 'The readability analysis offers suggestions to improve the structure and style of your text.', 'wordpress-seo' ),
75
+ 'read_more_label' => __( 'Discover why readability is important for SEO.', 'wordpress-seo' ),
76
+ 'read_more_url' => 'https://yoa.st/2ao',
77
+ 'order' => 20,
78
+ ),
79
+ (object) array(
80
+ 'name' => __( 'Cornerstone content', 'wordpress-seo' ),
81
+ 'setting' => 'enable_cornerstone_content',
82
+ 'label' => __( 'The cornerstone content feature lets you to mark and filter cornerstone content on your website.', 'wordpress-seo' ),
83
+ 'read_more_label' => __( 'Find out how cornerstone content can help you improve your site structure.', 'wordpress-seo' ),
84
+ 'read_more_url' => 'https://yoa.st/dashboard-help-cornerstone',
85
+ 'order' => 30,
86
+ ),
87
+ (object) array(
88
+ 'name' => __( 'Text link counter', 'wordpress-seo' ),
89
+ 'setting' => 'enable_text_link_counter',
90
+ 'label' => __( 'The text link counter helps you improve your site structure.', 'wordpress-seo' ),
91
+ 'read_more_label' => __( 'Find out how the text link counter can enhance your SEO.', 'wordpress-seo' ),
92
+ 'read_more_url' => 'https://yoa.st/2aj',
93
+ 'order' => 40,
94
+ ),
95
+ (object) array(
96
+ 'name' => __( 'XML sitemaps', 'wordpress-seo' ),
97
+ 'setting' => 'enable_xml_sitemap',
98
+ /* translators: %s: Yoast SEO */
99
+ 'label' => sprintf( __( 'Enable the XML sitemaps that %s generates.', 'wordpress-seo' ), 'Yoast SEO' ),
100
+ 'read_more_label' => __( 'Read why XML Sitemaps are important for your site.', 'wordpress-seo' ),
101
+ 'read_more_url' => 'https://yoa.st/2a-',
102
+ 'extra' => $xml_sitemap_extra,
103
+ 'order' => 60,
104
+ ),
105
+ (object) array(
106
+ /* translators: %s: Ryte */
107
+ 'name' => sprintf( __( '%s integration', 'wordpress-seo' ), 'Ryte' ),
108
+ 'setting' => 'onpage_indexability',
109
+ /* translators: 1: Ryte */
110
+ 'label' => sprintf( __( '%1$s will check weekly if your site is still indexable by search engines and Yoast SEO will notify you when this is not the case.', 'wordpress-seo' ), 'Ryte' ),
111
+ /* translators: %s: Ryte */
112
+ 'read_more_label' => sprintf( __( 'Read more about how %s works.', 'wordpress-seo' ), 'Ryte ' ),
113
+ 'read_more_url' => 'https://yoa.st/2an',
114
+ 'order' => 70,
115
+ ),
116
+ (object) array(
117
+ 'name' => __( 'Admin bar menu', 'wordpress-seo' ),
118
+ 'setting' => 'enable_admin_bar_menu',
119
+ /* translators: 1: Yoast SEO */
120
+ 'label' => sprintf( __( 'The %1$s admin bar menu contains useful links to third-party tools for analyzing pages and makes it easy to see if you have new notifications.', 'wordpress-seo' ), 'Yoast SEO' ),
121
+ 'order' => 80,
122
+ ),
123
+ (object) array(
124
+ 'name' => __( 'Security: no advanced settings for authors', 'wordpress-seo' ),
125
+ 'setting' => 'disableadvanced_meta',
126
+ 'label' => sprintf(
127
+ /* translators: 1: Yoast SEO, 2: translated version of "Off" */
128
+ __( 'The advanced section of the %1$s meta box allows a user to remove posts from the search results or change the canonical. These are things you might not want any author to do. That\'s why, by default, only editors and administrators can do this. Setting to "%2$s" allows all users to change these settings.', 'wordpress-seo' ),
129
+ 'Yoast SEO',
130
+ __( 'Off', 'wordpress-seo' )
131
+ ),
132
+ 'order' => 90,
133
+ ),
134
+ );
135
+
136
+ /**
137
+ * Filter to add feature toggles from add-ons.
138
+ *
139
+ * @param array $feature_toggles Array with feature toggle objects where each object should have a `name`, `setting` and `label` property.
140
+ */
141
+ $feature_toggles = apply_filters( 'wpseo_feature_toggles', $feature_toggles );
142
+
143
+ $feature_toggles = array_map( array( $this, 'ensure_toggle' ), $feature_toggles );
144
+ usort( $feature_toggles, array( $this, 'sort_toggles_callback' ) );
145
+
146
+ return $feature_toggles;
147
+ }
148
+
149
+ /**
150
+ * Ensures that the passed value is a Yoast_Feature_Toggle.
151
+ *
152
+ * @param Yoast_Feature_Toggle|object|array $toggle_data Feature toggle instance, or raw object or array
153
+ * containing feature toggle data.
154
+ * @return Yoast_Feature_Toggle Feature toggle instance based on $toggle_data.
155
+ */
156
+ protected function ensure_toggle( $toggle_data ) {
157
+ if ( $toggle_data instanceof Yoast_Feature_Toggle ) {
158
+ return $toggle_data;
159
+ }
160
+
161
+ if ( is_object( $toggle_data ) ) {
162
+ $toggle_data = get_object_vars( $toggle_data );
163
+ }
164
+
165
+ return new Yoast_Feature_Toggle( $toggle_data );
166
+ }
167
+
168
+ /**
169
+ * Callback for sorting feature toggles by their order.
170
+ *
171
+ * @param Yoast_Feature_Toggle $feature_a Feature A.
172
+ * @param Yoast_Feature_Toggle $feature_b Feature B.
173
+ *
174
+ * @return bool Whether order for feature A is bigger than for feature B.
175
+ */
176
+ protected function sort_toggles_callback( Yoast_Feature_Toggle $feature_a, Yoast_Feature_Toggle $feature_b ) {
177
+ return ( $feature_a->order > $feature_b->order );
178
+ }
179
+ }
admin/views/licenses.php CHANGED
@@ -170,8 +170,8 @@ $wpseo_extensions_header = sprintf( __( '%1$s Extensions', 'wordpress-seo' ), 'Y
170
  <span class="yoast-seo-premium-benefits__description"><?php esc_html_e( 'create and manage redirects from within your WordPress install.', 'wordpress-seo' ); ?></span>
171
  </li>
172
  <li class="yoast-seo-premium-benefits__item">
173
- <span class="yoast-seo-premium-benefits__title"><?php esc_html_e( 'Multiple focus keywords', 'wordpress-seo' ); ?></span>
174
- <span class="yoast-seo-premium-benefits__description"><?php esc_html_e( 'optimize a single post for up to 5 keywords.', 'wordpress-seo' ); ?></span>
175
  </li>
176
  <li class="yoast-seo-premium-benefits__item">
177
  <span class="yoast-seo-premium-benefits__title"><?php esc_html_e( 'Social previews', 'wordpress-seo' ); ?></span>
@@ -197,7 +197,7 @@ $wpseo_extensions_header = sprintf( __( '%1$s Extensions', 'wordpress-seo' ), 'Y
197
 
198
  <?php else : ?>
199
 
200
- <a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/zz' ); ?>" class="yoast-button yoast-button--noarrow yoast-button-go-to yoast-button--extension yoast-button--extension-buy">
201
  <?php
202
  /* translators: $1$s expands to Yoast SEO Premium */
203
  printf( __( 'Buy %1$s', 'wordpress-seo' ), $extension->get_title() );
@@ -252,7 +252,7 @@ $wpseo_extensions_header = sprintf( __( '%1$s Extensions', 'wordpress-seo' ), 'Y
252
  <a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/13i' ); ?>" class="yoast-link--license"><?php esc_html_e( 'Activate your site on My Yoast', 'wordpress-seo' ); ?></a>
253
  <?php endif; ?>
254
  <?php else : ?>
255
- <a target="_blank" class="yoast-button yoast-button--noarrow yoast-button-go-to yoast-button--extension yoast-button--extension-buy" href="<?php echo esc_url( $extension->get_buy_url() ); ?>">
256
  <?php /* translators: %s expands to the product name */ ?>
257
  <?php printf( __( 'Buy %s', 'wordpress-seo' ), $extension->get_buy_button() ); ?>
258
  </a>
170
  <span class="yoast-seo-premium-benefits__description"><?php esc_html_e( 'create and manage redirects from within your WordPress install.', 'wordpress-seo' ); ?></span>
171
  </li>
172
  <li class="yoast-seo-premium-benefits__item">
173
+ <span class="yoast-seo-premium-benefits__title"><?php esc_html_e( 'Synonyms & related keyphrases', 'wordpress-seo' ); ?></span>
174
+ <span class="yoast-seo-premium-benefits__description"><?php esc_html_e( 'optimize a single post for synonyms and related keyphrases.', 'wordpress-seo' ); ?></span>
175
  </li>
176
  <li class="yoast-seo-premium-benefits__item">
177
  <span class="yoast-seo-premium-benefits__title"><?php esc_html_e( 'Social previews', 'wordpress-seo' ); ?></span>
197
 
198
  <?php else : ?>
199
 
200
+ <a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/zz' ); ?>" class="yoast-button yoast-button--noarrow yoast-button--extension yoast-button--extension-buy">
201
  <?php
202
  /* translators: $1$s expands to Yoast SEO Premium */
203
  printf( __( 'Buy %1$s', 'wordpress-seo' ), $extension->get_title() );
252
  <a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/13i' ); ?>" class="yoast-link--license"><?php esc_html_e( 'Activate your site on My Yoast', 'wordpress-seo' ); ?></a>
253
  <?php endif; ?>
254
  <?php else : ?>
255
+ <a target="_blank" class="yoast-button yoast-button--noarrow yoast-button--extension yoast-button--extension-buy" href="<?php echo esc_url( $extension->get_buy_url() ); ?>">
256
  <?php /* translators: %s expands to the product name */ ?>
257
  <?php printf( __( 'Buy %s', 'wordpress-seo' ), $extension->get_buy_button() ); ?>
258
  </a>
admin/views/sidebar.php CHANGED
@@ -24,7 +24,7 @@ $wpseo_plugin_dir_url = plugin_dir_url( WPSEO_FILE );
24
  ?>
25
  </h2>
26
  <ul>
27
- <li><strong><?php esc_html_e( 'Rank for up to 5 focus keywords per page', 'wordpress-seo' ); ?></strong></li>
28
  <li><strong><?php esc_html_e( 'Preview your page in Facebook and Twitter', 'wordpress-seo' ); ?></strong></li>
29
  <li><strong><?php esc_html_e( 'Get real-time suggestions for internal links', 'wordpress-seo' ); ?></strong></li>
30
  <li><strong><?php esc_html_e( 'No more dead links a.k.a. 404 pages', 'wordpress-seo' ); ?></strong></li>
@@ -32,26 +32,26 @@ $wpseo_plugin_dir_url = plugin_dir_url( WPSEO_FILE );
32
  <li><strong><?php esc_html_e( 'No ads', 'wordpress-seo' ); ?></strong></li>
33
  </ul>
34
 
35
- <a id="wpseo-premium-button" class="button button-primary" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jj' ); ?>" target="_blank">
36
  <?php
37
  /* translators: %s is replaced by the plugin name */
38
- printf( esc_html__( 'Get %s now', 'wordpress-seo' ), 'Yoast SEO Premium' );
39
  ?>
40
  </a><br>
41
  </div>
42
  <div class="yoast-sidebar_section">
43
  <h2><?php esc_html_e( 'Improve your SEO skills', 'wordpress-seo' ); ?></h2>
44
  <div>
45
- <a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/2oi' ) ?>" target="_blank" rel="noopener noreferrer"><img src="<?php echo esc_url( $wpseo_plugin_dir_url . 'images/SEO_for_beginners.svg' ); ?>" alt=""></a>
46
  <p>
47
  <strong>
48
  <?php
49
- printf(
50
- /* translators: %1$s and %2$s convert to anchors. */
51
- esc_html__( 'Free: %1$sSEO for Beginners course%2$s', 'wordpress-seo' ),
52
- '<a target="_blank" rel="noopener noreferrer" href="' . esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/2oi' ) ) . '">',
53
- '</a>'
54
- );
55
  ?>
56
  </strong><br>
57
  <?php esc_html_e( 'Get quick wins to make your site rank higher in search engines.', 'wordpress-seo' ); ?>
24
  ?>
25
  </h2>
26
  <ul>
27
+ <li><strong><?php esc_html_e( 'Rank better with synonyms & related keyphrases', 'wordpress-seo' ); ?></strong></li>
28
  <li><strong><?php esc_html_e( 'Preview your page in Facebook and Twitter', 'wordpress-seo' ); ?></strong></li>
29
  <li><strong><?php esc_html_e( 'Get real-time suggestions for internal links', 'wordpress-seo' ); ?></strong></li>
30
  <li><strong><?php esc_html_e( 'No more dead links a.k.a. 404 pages', 'wordpress-seo' ); ?></strong></li>
32
  <li><strong><?php esc_html_e( 'No ads', 'wordpress-seo' ); ?></strong></li>
33
  </ul>
34
 
35
+ <a id="wpseo-premium-button" class="yoast-button-upsell" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jj' ); ?>" target="_blank">
36
  <?php
37
  /* translators: %s is replaced by the plugin name */
38
+ printf( esc_html__( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium' );
39
  ?>
40
  </a><br>
41
  </div>
42
  <div class="yoast-sidebar_section">
43
  <h2><?php esc_html_e( 'Improve your SEO skills', 'wordpress-seo' ); ?></h2>
44
  <div>
45
+ <a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/2oi' ); ?>" target="_blank" rel="noopener noreferrer"><img src="<?php echo esc_url( $wpseo_plugin_dir_url . 'images/SEO_for_beginners.svg' ); ?>" alt=""></a>
46
  <p>
47
  <strong>
48
  <?php
49
+ printf(
50
+ /* translators: %1$s and %2$s convert to anchors. */
51
+ esc_html__( 'Free: %1$sSEO for Beginners course%2$s', 'wordpress-seo' ),
52
+ '<a target="_blank" rel="noopener noreferrer" href="' . esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/2oi' ) ) . '">',
53
+ '</a>'
54
+ );
55
  ?>
56
  </strong><br>
57
  <?php esc_html_e( 'Get quick wins to make your site rank higher in search engines.', 'wordpress-seo' ); ?>
admin/views/tabs/dashboard/features.php CHANGED
@@ -15,95 +15,11 @@ if ( ! defined( 'WPSEO_VERSION' ) ) {
15
  exit();
16
  }
17
 
18
- $xml_sitemap_extra = false;
19
- if ( WPSEO_Options::get( 'enable_xml_sitemap' ) ) {
20
- $xml_sitemap_extra = '<a href="' . esc_url( WPSEO_Sitemaps_Router::get_base_url( 'sitemap_index.xml' ) )
21
- . '" target="_blank">' . esc_html__( 'See the XML sitemap.', 'wordpress-seo' ) . '</a>';
22
- }
23
- $feature_toggles = array(
24
- (object) array(
25
- 'name' => __( 'SEO analysis', 'wordpress-seo' ),
26
- 'setting' => 'keyword_analysis_active',
27
- 'label' => __( 'The SEO analysis offers suggestions to improve the SEO of your text.', 'wordpress-seo' ),
28
- 'read_more_label' => __( 'Learn how the SEO analysis can help you rank.', 'wordpress-seo' ),
29
- 'read_more_url' => 'https://yoa.st/2ak',
30
- 'order' => 10,
31
- ),
32
- (object) array(
33
- 'name' => __( 'Readability analysis', 'wordpress-seo' ),
34
- 'setting' => 'content_analysis_active',
35
- 'label' => __( 'The readability analysis offers suggestions to improve the structure and style of your text.', 'wordpress-seo' ),
36
- 'read_more_label' => __( 'Discover why readability is important for SEO.', 'wordpress-seo' ),
37
- 'read_more_url' => 'https://yoa.st/2ao',
38
- 'order' => 20,
39
- ),
40
- (object) array(
41
- 'name' => __( 'Cornerstone content', 'wordpress-seo' ),
42
- 'setting' => 'enable_cornerstone_content',
43
- 'label' => __( 'The cornerstone content feature lets you to mark and filter cornerstone content on your website.', 'wordpress-seo' ),
44
- 'read_more_label' => __( 'Find out how cornerstone content can help you improve your site structure.', 'wordpress-seo' ),
45
- 'read_more_url' => 'https://yoa.st/dashboard-help-cornerstone',
46
- 'order' => 30,
47
- ),
48
- (object) array(
49
- 'name' => __( 'Text link counter', 'wordpress-seo' ),
50
- 'setting' => 'enable_text_link_counter',
51
- 'label' => __( 'The text link counter helps you improve your site structure.', 'wordpress-seo' ),
52
- 'read_more_label' => __( 'Find out how the text link counter can enhance your SEO.', 'wordpress-seo' ),
53
- 'read_more_url' => 'https://yoa.st/2aj',
54
- 'order' => 40,
55
- ),
56
- (object) array(
57
- 'name' => __( 'XML sitemaps', 'wordpress-seo' ),
58
- 'setting' => 'enable_xml_sitemap',
59
- /* translators: %s expands to Yoast SEO */
60
- 'label' => sprintf( __( 'Enable the XML sitemaps that %s generates.', 'wordpress-seo' ), 'Yoast SEO' ),
61
- 'read_more_label' => __( 'Read why XML Sitemaps are important for your site.', 'wordpress-seo' ),
62
- 'read_more_url' => 'https://yoa.st/2a-',
63
- 'extra' => $xml_sitemap_extra,
64
- 'order' => 60,
65
- ),
66
- (object) array(
67
- /* translators: %s expands to Ryte. */
68
- 'name' => sprintf( __( '%s integration', 'wordpress-seo' ), 'Ryte' ),
69
- 'setting' => 'onpage_indexability',
70
- /* translators: %1$s expands to Ryte. */
71
- 'label' => sprintf( __( '%1$s will check weekly if your site is still indexable by search engines and Yoast SEO will notify you when this is not the case.', 'wordpress-seo' ), 'Ryte' ),
72
- /* translators: %s expands to Ryte. */
73
- 'read_more_label' => sprintf( __( 'Read more about how %s works.', 'wordpress-seo' ), 'Ryte ' ),
74
- 'read_more_url' => 'https://yoa.st/2an',
75
- 'order' => 70,
76
- ),
77
- (object) array(
78
- 'name' => __( 'Admin bar menu', 'wordpress-seo' ),
79
- 'setting' => 'enable_admin_bar_menu',
80
- /* translators: %1$s expands to Yoast SEO */
81
- 'label' => sprintf( __( 'The %1$s admin bar menu contains useful links to third-party tools for analyzing pages and makes it easy to see if you have new notifications.', 'wordpress-seo' ), 'Yoast SEO' ),
82
- 'order' => 80,
83
- ),
84
- (object) array(
85
- 'name' => __( 'Security: no advanced settings for authors', 'wordpress-seo' ),
86
- 'setting' => 'disableadvanced_meta',
87
- 'label' => sprintf(
88
- /* translators: %1$s expands to Yoast SEO, %2$s expands to the translated version of "Off" */
89
- __( 'The advanced section of the %1$s meta box allows a user to remove posts from the search results or change the canonical. These are things you might not want any author to do. That\'s why, by default, only editors and administrators can do this. Setting to "%2$s" allows all users to change these settings.', 'wordpress-seo' ),
90
- 'Yoast SEO',
91
- __( 'Off', 'wordpress-seo' )
92
- ),
93
- 'order' => 90,
94
- ),
95
- );
96
-
97
- /**
98
- * Filter to add feature toggles from add-ons.
99
- *
100
- * @param array $feature_toggles Array with feature toggle objects where each object should have a `name`, `setting` and `label` property.
101
- */
102
- $feature_toggles = apply_filters( 'wpseo_feature_toggles', $feature_toggles );
103
 
104
  ?>
105
  <h2><?php esc_html_e( 'Features', 'wordpress-seo' ); ?></h2>
106
- <div style="max-width:600px">
107
  <?php
108
  echo sprintf(
109
  /* translators: %1$s expands to Yoast SEO */
@@ -111,20 +27,6 @@ $feature_toggles = apply_filters( 'wpseo_feature_toggles', $feature_toggles );
111
  'Yoast SEO'
112
  );
113
 
114
- /**
115
- * Simple sorting function used for usort straight below.
116
- *
117
- * @param object $feature_a Feature A.
118
- * @param object $feature_b Feature B.
119
- *
120
- * @return bool Whether order for feature A is bigger than for feature B.
121
- */
122
- function wpseo_cmp_order( $feature_a, $feature_b ) {
123
- return ( $feature_a->order > $feature_b->order );
124
- }
125
-
126
- usort( $feature_toggles, 'wpseo_cmp_order' );
127
-
128
  foreach ( $feature_toggles as $feature ) {
129
  $help_text = esc_html( $feature->label );
130
  if ( ! empty( $feature->extra ) ) {
@@ -152,7 +54,8 @@ $feature_toggles = apply_filters( 'wpseo_feature_toggles', $feature_toggles );
152
  'on' => __( 'On', 'wordpress-seo' ),
153
  'off' => __( 'Off', 'wordpress-seo' ),
154
  ),
155
- '<strong>' . $feature->name . $feature_help->get_button_html() . '</strong>' . $feature_help->get_panel_html()
 
156
  );
157
  }
158
  ?>
15
  exit();
16
  }
17
 
18
+ $feature_toggles = Yoast_Feature_Toggles::instance()->get_all();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
  ?>
21
  <h2><?php esc_html_e( 'Features', 'wordpress-seo' ); ?></h2>
22
+ <div class="yoast-measure">
23
  <?php
24
  echo sprintf(
25
  /* translators: %1$s expands to Yoast SEO */
27
  'Yoast SEO'
28
  );
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  foreach ( $feature_toggles as $feature ) {
31
  $help_text = esc_html( $feature->label );
32
  if ( ! empty( $feature->extra ) ) {
54
  'on' => __( 'On', 'wordpress-seo' ),
55
  'off' => __( 'Off', 'wordpress-seo' ),
56
  ),
57
+ '<strong>' . $feature->name . '</strong>',
58
+ $feature_help->get_button_html() . $feature_help->get_panel_html()
59
  );
60
  }
61
  ?>
admin/views/tabs/metas/paper-content/breadcrumbs-content.php CHANGED
@@ -99,7 +99,7 @@ unset( $taxonomies, $post_types );
99
  <p>
100
  <?php
101
  printf(
102
- /* translators: %1$s / %2$s: links to the breadcrumbs implementation page on the Yoast knowledgebase */
103
  esc_html__( 'Usage of this breadcrumbs feature is explained in %1$sour knowledge-base article on breadcrumbs implementation%2$s.', 'wordpress-seo' ),
104
  '<a href="' . esc_url( WPSEO_Shortlinker::get( 'http://yoa.st/breadcrumbs' ) ) . '" target="_blank">',
105
  '</a>'
99
  <p>
100
  <?php
101
  printf(
102
+ /* translators: %1$s / %2$s: links to the breadcrumbs implementation page on the Yoast knowledgebase */
103
  esc_html__( 'Usage of this breadcrumbs feature is explained in %1$sour knowledge-base article on breadcrumbs implementation%2$s.', 'wordpress-seo' ),
104
  '<a href="' . esc_url( WPSEO_Shortlinker::get( 'http://yoa.st/breadcrumbs' ) ) . '" target="_blank">',
105
  '</a>'
admin/views/tabs/metas/paper-content/date-archives-settings.php CHANGED
@@ -21,37 +21,37 @@ $yform->toggle_switch(
21
  ?>
22
  <div id='date-archives-titles-metas-content' class='archives-titles-metas-content'>
23
  <?php
24
- $date_archives_help = new WPSEO_Admin_Help_Panel(
25
- 'noindex-archive-wpseo',
26
- esc_html__( 'Help on the date archives search results setting', 'wordpress-seo' ),
27
- sprintf(
28
- /* translators: 1: expands to <code>noindex</code>; 2: link open tag; 3: link close tag. */
29
- esc_html__( 'Not showing the date archives in the search results technically means those will have a %1$s robots meta and will be excluded from XML sitemaps. %2$sMore info on the search results settings%3$s.', 'wordpress-seo' ),
30
- '<code>noindex</code>',
31
- '<a href="' . esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/show-x' ) ) . '" target="_blank" rel="noopener noreferrer">',
32
- '</a>'
33
- )
34
- );
35
 
36
- $yform->index_switch(
37
- 'noindex-archive-wpseo',
38
- __( 'date archives', 'wordpress-seo' ),
39
- $date_archives_help->get_button_html() . $date_archives_help->get_panel_html()
40
- );
41
 
42
- $recommended_replace_vars = new WPSEO_Admin_Recommended_Replace_Vars();
43
- $editor_specific_replace_vars = new WPSEO_Admin_Editor_Specific_Replace_Vars();
44
 
45
- $editor = new WPSEO_Replacevar_Editor(
46
- $yform,
47
- array(
48
- 'title' => 'title-archive-wpseo',
49
- 'description' => 'metadesc-archive-wpseo',
50
- 'page_type_recommended' => $recommended_replace_vars->determine_for_archive( 'date' ),
51
- 'page_type_specific' => $editor_specific_replace_vars->determine_for_archive( 'date' ),
52
- 'paper_style' => false,
53
- )
54
- );
55
- $editor->render();
56
  ?>
57
  </div>
21
  ?>
22
  <div id='date-archives-titles-metas-content' class='archives-titles-metas-content'>
23
  <?php
24
+ $date_archives_help = new WPSEO_Admin_Help_Panel(
25
+ 'noindex-archive-wpseo',
26
+ esc_html__( 'Help on the date archives search results setting', 'wordpress-seo' ),
27
+ sprintf(
28
+ /* translators: 1: expands to <code>noindex</code>; 2: link open tag; 3: link close tag. */
29
+ esc_html__( 'Not showing the date archives in the search results technically means those will have a %1$s robots meta and will be excluded from XML sitemaps. %2$sMore info on the search results settings%3$s.', 'wordpress-seo' ),
30
+ '<code>noindex</code>',
31
+ '<a href="' . esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/show-x' ) ) . '" target="_blank" rel="noopener noreferrer">',
32
+ '</a>'
33
+ )
34
+ );
35
 
36
+ $yform->index_switch(
37
+ 'noindex-archive-wpseo',
38
+ __( 'date archives', 'wordpress-seo' ),
39
+ $date_archives_help->get_button_html() . $date_archives_help->get_panel_html()
40
+ );
41
 
42
+ $recommended_replace_vars = new WPSEO_Admin_Recommended_Replace_Vars();
43
+ $editor_specific_replace_vars = new WPSEO_Admin_Editor_Specific_Replace_Vars();
44
 
45
+ $editor = new WPSEO_Replacevar_Editor(
46
+ $yform,
47
+ array(
48
+ 'title' => 'title-archive-wpseo',
49
+ 'description' => 'metadesc-archive-wpseo',
50
+ 'page_type_recommended' => $recommended_replace_vars->determine_for_archive( 'date' ),
51
+ 'page_type_specific' => $editor_specific_replace_vars->determine_for_archive( 'date' ),
52
+ 'paper_style' => false,
53
+ )
54
+ );
55
+ $editor->render();
56
  ?>
57
  </div>
admin/views/tabs/network/features.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Admin\Views
6
+ */
7
+
8
+ /**
9
+ * @var Yoast_Form $yform
10
+ */
11
+
12
+ if ( ! defined( 'WPSEO_VERSION' ) ) {
13
+ header( 'Status: 403 Forbidden' );
14
+ header( 'HTTP/1.1 403 Forbidden' );
15
+ exit();
16
+ }
17
+
18
+ $feature_toggles = Yoast_Feature_Toggles::instance()->get_all();
19
+
20
+ ?>
21
+ <h2><?php esc_html_e( 'Features', 'wordpress-seo' ); ?></h2>
22
+ <div class="yoast-measure">
23
+ <?php
24
+ echo sprintf(
25
+ /* translators: %s expands to Yoast SEO */
26
+ esc_html__( 'This tab allows you to selectively disable %s features for all sites in the network. By default all features are enabled, which allows site admins to choose for themselves if they want to toggle a feature on or off for their site. When you disable a feature here, site admins will not be able to use that feature at all.', 'wordpress-seo' ),
27
+ 'Yoast SEO'
28
+ );
29
+
30
+ foreach ( $feature_toggles as $feature ) {
31
+ $help_text = esc_html( $feature->label );
32
+ if ( ! empty( $feature->extra ) ) {
33
+ $help_text .= ' ' . $feature->extra;
34
+ }
35
+ if ( ! empty( $feature->read_more_label ) ) {
36
+ $help_text .= ' ';
37
+ $help_text .= sprintf(
38
+ '<a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s</a>',
39
+ esc_url( WPSEO_Shortlinker::get( $feature->read_more_url ) ),
40
+ esc_html( $feature->read_more_label )
41
+ );
42
+ }
43
+
44
+ $feature_help = new WPSEO_Admin_Help_Panel(
45
+ WPSEO_Option::ALLOW_KEY_PREFIX . $feature->setting,
46
+ /* translators: %s expands to a feature's name */
47
+ sprintf( esc_html__( 'Help on: %s', 'wordpress-seo' ), esc_html( $feature->name ) ),
48
+ $help_text
49
+ );
50
+
51
+ $yform->toggle_switch(
52
+ WPSEO_Option::ALLOW_KEY_PREFIX . $feature->setting,
53
+ array(
54
+ 'on' => __( 'Allow Control', 'wordpress-seo' ),
55
+ 'off' => __( 'Disable', 'wordpress-seo' ),
56
+ ),
57
+ '<strong>' . $feature->name . '</strong>',
58
+ $feature_help->get_button_html() . $feature_help->get_panel_html()
59
+ );
60
+ }
61
+ ?>
62
+ </div>
63
+ <?php
64
+ // Required to prevent our settings framework from saving the default because the field isn't explicitly set when saving the Dashboard page.
65
+ $yform->hidden( 'show_onboarding_notice', 'wpseo_show_onboarding_notice' );
admin/views/tabs/social/facebook.php CHANGED
@@ -61,7 +61,7 @@ if ( 'posts' === get_option( 'show_on_front' ) ) {
61
  )
62
  );
63
 
64
- echo '<input type="hidden" id="meta_description" value="', $homepage_meta_description, '" />';
65
  echo '<div class="label desc copy-home-meta-description">' .
66
  '<button type="button" id="copy-home-meta-description" class="button">', $copy_home_description_button_label, '</button>' .
67
  $copy_home_meta_desc_help->get_button_html() .
61
  )
62
  );
63
 
64
+ echo '<input type="hidden" id="meta_description" value="', esc_attr( $homepage_meta_description ), '" />';
65
  echo '<div class="label desc copy-home-meta-description">' .
66
  '<button type="button" id="copy-home-meta-description" class="button">', $copy_home_description_button_label, '</button>' .
67
  $copy_home_meta_desc_help->get_button_html() .
admin/views/tool-file-editor.php CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'WPSEO_VERSION' ) ) {
11
  exit();
12
  }
13
 
14
- $yform = Yoast_Form::get_instance();
15
  $robots_file = get_home_path() . 'robots.txt';
16
  $ht_access_file = get_home_path() . '.htaccess';
17
 
11
  exit();
12
  }
13
 
14
+ $yform = Yoast_Form::get_instance();
15
  $robots_file = get_home_path() . 'robots.txt';
16
  $ht_access_file = get_home_path() . '.htaccess';
17
 
admin/views/user-profile.php CHANGED
@@ -41,7 +41,7 @@ $wpseo_no_index_author_label = sprintf(
41
  for="wpseo_keyword_analysis_disable"><?php esc_html_e( 'Disable SEO analysis', 'wordpress-seo' ); ?></label>
42
  <br>
43
  <p class="description" id="wpseo_keyword_analysis_disable_desc">
44
- <?php esc_html_e( 'Removes the keyword tab from the metabox and disables all SEO-related suggestions.', 'wordpress-seo' ); ?>
45
  </p>
46
  <?php endif; ?>
47
 
@@ -53,7 +53,7 @@ $wpseo_no_index_author_label = sprintf(
53
  for="wpseo_content_analysis_disable"><?php esc_html_e( 'Disable readability analysis', 'wordpress-seo' ); ?></label>
54
  <br>
55
  <p class="description" id="wpseo_content_analysis_disable_desc">
56
- <?php esc_html_e( 'Removes the readability tab from the metabox and disables all readability-related suggestions.', 'wordpress-seo' ); ?>
57
  </p>
58
  <?php endif; ?>
59
  </div>
41
  for="wpseo_keyword_analysis_disable"><?php esc_html_e( 'Disable SEO analysis', 'wordpress-seo' ); ?></label>
42
  <br>
43
  <p class="description" id="wpseo_keyword_analysis_disable_desc">
44
+ <?php esc_html_e( 'Removes the focus keyphrase section from the metabox and disables all SEO-related suggestions.', 'wordpress-seo' ); ?>
45
  </p>
46
  <?php endif; ?>
47
 
53
  for="wpseo_content_analysis_disable"><?php esc_html_e( 'Disable readability analysis', 'wordpress-seo' ); ?></label>
54
  <br>
55
  <p class="description" id="wpseo_content_analysis_disable_desc">
56
+ <?php esc_html_e( 'Removes the readability analysis section from the metabox and disables all readability-related suggestions.', 'wordpress-seo' ); ?>
57
  </p>
58
  <?php endif; ?>
59
  </div>
admin/watchers/class-slug-change-watcher.php CHANGED
@@ -217,7 +217,7 @@ class WPSEO_Slug_Change_Watcher implements WPSEO_WordPress_Integration {
217
  . ' ' . __( 'You should create a redirect to ensure your visitors do not get a 404 error when they click on the no longer working URL.', 'wordpress-seo' )
218
  . ' ' . __( 'With Yoast SEO Premium, you can easily create such redirects.', 'wordpress-seo' )
219
  . '</p>'
220
- . '<p><a class="button-primary" href="' . WPSEO_Shortlinker::get( 'https://yoa.st/1d0' ) . '" target="_blank">' . __( 'Get Yoast SEO Premium', 'wordpress-seo' ) . '</a></p>';
221
  }
222
 
223
  /**
217
  . ' ' . __( 'You should create a redirect to ensure your visitors do not get a 404 error when they click on the no longer working URL.', 'wordpress-seo' )
218
  . ' ' . __( 'With Yoast SEO Premium, you can easily create such redirects.', 'wordpress-seo' )
219
  . '</p>'
220
+ . '<p><a class="yoast-button-upsell" href="' . WPSEO_Shortlinker::get( 'https://yoa.st/1d0' ) . '" target="_blank">' . __( 'Get Yoast SEO Premium', 'wordpress-seo' ) . '</a></p>';
221
  }
222
 
223
  /**
css/dist/admin-global-840-rtl.min.css DELETED
@@ -1 +0,0 @@
1
- .wpseo-premium-indicator{display:inline-block;width:1px;height:1px}#adminmenu .wpseo-premium-indicator{margin:-2px 2px -3px 0;color:inherit}.wpseo-premium-indicator svg{display:none;width:auto;height:100%}.yoast-tooltip{position:relative}.yoast-tooltip::after,.yoast-tooltip::before{display:none;position:absolute;opacity:0;pointer-events:none}button.yoast-tooltip{overflow:visible}.yoast-tooltip::after{z-index:1000000;padding:6px 8px 5px;border-radius:3px;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt::after{content:attr(data-label)}.yoast-tooltip::before{z-index:1000001;width:0;height:0;border:5px solid transparent;color:rgba(0,0,0,.8);content:"\00a0"}@keyframes yoast-tooltip-appear{from{opacity:0}to{opacity:1}}.yoast-tooltip:active::after,.yoast-tooltip:active::before,.yoast-tooltip:focus::after,.yoast-tooltip:focus::before,.yoast-tooltip:hover::after,.yoast-tooltip:hover::before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active::after,.yoast-tooltip-no-delay:active::before,.yoast-tooltip-no-delay:focus::after,.yoast-tooltip-no-delay:focus::before,.yoast-tooltip-no-delay:hover::after,.yoast-tooltip-no-delay:hover::before{opacity:1;animation:none}.yoast-tooltip-multiline:active::after,.yoast-tooltip-multiline:focus::after,.yoast-tooltip-multiline:hover::after{display:table-cell}.yoast-tooltip-s::after,.yoast-tooltip-se::after,.yoast-tooltip-sw::after{top:100%;left:50%;margin-top:5px}.yoast-tooltip-s::before,.yoast-tooltip-se::before,.yoast-tooltip-sw::before{top:auto;left:50%;bottom:-5px;margin-left:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se::after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-sw::after{margin-left:-15px}.yoast-tooltip-n::after,.yoast-tooltip-ne::after,.yoast-tooltip-nw::after{left:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n::before,.yoast-tooltip-ne::before,.yoast-tooltip-nw::before{top:-5px;left:50%;bottom:auto;margin-left:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne::after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-nw::after{margin-left:-15px}.yoast-tooltip-n::after,.yoast-tooltip-s::after{-ms-transform:translateX(-50%);transform:translateX(-50%)}.yoast-tooltip-w::after{left:100%;bottom:50%;margin-left:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-w::before{top:50%;bottom:50%;right:-5px;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-e::after{bottom:50%;right:100%;margin-right:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-e::before{top:50%;left:-5px;bottom:50%;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline::after{width:250px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;border-collapse:separate;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n::after,.yoast-tooltip-multiline.yoast-tooltip-s::after{left:auto;right:50%;-ms-transform:translateX(50%);transform:translateX(50%)}.yoast-tooltip-multiline.yoast-tooltip-e::after,.yoast-tooltip-multiline.yoast-tooltip-w::after{left:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline::after{width:250px}}.yoast-tooltip-sticky::after,.yoast-tooltip-sticky::before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline::after{display:table-cell}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-moz-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.yoast-tooltip-w::after{margin-left:4.5px}}.yoast-tooltip.yoast-tooltip-hidden::after,.yoast-tooltip.yoast-tooltip-hidden::before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 0 0 10px;font-size:14px;font-weight:600}.wpseo-help-center-sub-title,.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-search__field{margin:0}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{overflow:hidden;position:relative;height:0;padding-bottom:56.25%}.yoast-video-container iframe{position:absolute;top:0;right:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-right:220px}.yoast-settings h2{margin-bottom:0;margin-right:-220px}.yoast-settings label{display:inline-block;width:200px;margin-left:6px;margin-right:-220px;padding-top:4px;padding-left:10px;color:#23282d;font-size:14px;font-weight:600;line-height:1.3;vertical-align:top}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio,.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{position:relative;top:1px;vertical-align:top}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 0 10px 4px}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;max-width:calc(100% - 25px);margin-left:0;margin-right:0;padding:0}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{color:#23282d;font-size:14px;font-weight:600}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-right:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{display:inline-block;overflow:visible;padding:8px 0;vertical-align:middle}th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline::after{width:999px;max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline::after{width:999px;max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{display:inline-block;width:20px;height:20px;padding:0;color:#444;vertical-align:top;text-decoration:none!important;content:""}.manage-column .yoast-linked-to:before{background:url(../../images/link-out-icon.svg) 100% 0 no-repeat;background-size:20px}.manage-column .yoast-linked-from:before{background:url(../../images/link-in-icon.svg) 100% 0 no-repeat;background-size:20px}.manage-column .yoast-column-seo-score:before{background:url(../../images/Yoast_SEO_negative_icon.svg) 100% 0 no-repeat;background-size:20px}.manage-column .yoast-column-readability:before{background:url(../../images/readability-icon.svg) 100% 0 no-repeat;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}#screen-meta .yoast-column-header-has-tooltip .screen-reader-text{visibility:visible;position:static;width:auto;height:auto}@media screen and (max-width:782px){.yoast-settings{padding-right:0}.yoast-settings h2{margin-right:0}.yoast-settings label{width:auto;margin-left:0;margin-right:0;padding:0}.yoast .yoast-settings__radio,.yoast-settings__radio+label{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;box-sizing:border-box;width:100%;max-width:none;margin-top:0;margin-bottom:0;padding:7px 10px;line-height:1.5}}#yoast-help-center-container{margin:16px 0 24px}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.yoast-help-center-open #sidebar-container{display:none}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{padding-right:1.5em;list-style:disc}.yoast_help.yoast-help-button{overflow:visible;position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:0;color:#72777c;background:0 0;box-shadow:none;vertical-align:top;cursor:pointer}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{float:left;margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-left:6px}.yoast_help .yoast-help-icon::before{position:absolute;top:0;right:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon::before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:right;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 85px 0 0}
 
css/dist/admin-global-840.min.css DELETED
@@ -1 +0,0 @@
1
- .wpseo-premium-indicator{display:inline-block;width:1px;height:1px}#adminmenu .wpseo-premium-indicator{margin:-2px 0 -3px 2px;color:inherit}.wpseo-premium-indicator svg{display:none;width:auto;height:100%}.yoast-tooltip{position:relative}.yoast-tooltip::after,.yoast-tooltip::before{display:none;position:absolute;opacity:0;pointer-events:none}button.yoast-tooltip{overflow:visible}.yoast-tooltip::after{z-index:1000000;padding:6px 8px 5px;border-radius:3px;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt::after{content:attr(data-label)}.yoast-tooltip::before{z-index:1000001;width:0;height:0;border:5px solid transparent;color:rgba(0,0,0,.8);content:"\00a0"}@keyframes yoast-tooltip-appear{from{opacity:0}to{opacity:1}}.yoast-tooltip:active::after,.yoast-tooltip:active::before,.yoast-tooltip:focus::after,.yoast-tooltip:focus::before,.yoast-tooltip:hover::after,.yoast-tooltip:hover::before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active::after,.yoast-tooltip-no-delay:active::before,.yoast-tooltip-no-delay:focus::after,.yoast-tooltip-no-delay:focus::before,.yoast-tooltip-no-delay:hover::after,.yoast-tooltip-no-delay:hover::before{opacity:1;animation:none}.yoast-tooltip-multiline:active::after,.yoast-tooltip-multiline:focus::after,.yoast-tooltip-multiline:hover::after{display:table-cell}.yoast-tooltip-s::after,.yoast-tooltip-se::after,.yoast-tooltip-sw::after{top:100%;right:50%;margin-top:5px}.yoast-tooltip-s::before,.yoast-tooltip-se::before,.yoast-tooltip-sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se::after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-sw::after{margin-right:-15px}.yoast-tooltip-n::after,.yoast-tooltip-ne::after,.yoast-tooltip-nw::after{right:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n::before,.yoast-tooltip-ne::before,.yoast-tooltip-nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne::after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-nw::after{margin-right:-15px}.yoast-tooltip-n::after,.yoast-tooltip-s::after{-ms-transform:translateX(50%);transform:translateX(50%)}.yoast-tooltip-w::after{right:100%;bottom:50%;margin-right:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-e::after{bottom:50%;left:100%;margin-left:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline::after{width:250px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;border-collapse:separate;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n::after,.yoast-tooltip-multiline.yoast-tooltip-s::after{right:auto;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%)}.yoast-tooltip-multiline.yoast-tooltip-e::after,.yoast-tooltip-multiline.yoast-tooltip-w::after{right:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline::after{width:250px}}.yoast-tooltip-sticky::after,.yoast-tooltip-sticky::before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline::after{display:table-cell}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-moz-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.yoast-tooltip-w::after{margin-right:4.5px}}.yoast-tooltip.yoast-tooltip-hidden::after,.yoast-tooltip.yoast-tooltip-hidden::before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 10px 0 0;font-size:14px;font-weight:600}.wpseo-help-center-sub-title,.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-search__field{margin:0}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{overflow:hidden;position:relative;height:0;padding-bottom:56.25%}.yoast-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-left:220px}.yoast-settings h2{margin-bottom:0;margin-left:-220px}.yoast-settings label{display:inline-block;width:200px;margin-right:6px;margin-left:-220px;padding-top:4px;padding-right:10px;color:#23282d;font-size:14px;font-weight:600;line-height:1.3;vertical-align:top}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio,.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{position:relative;top:1px;vertical-align:top}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 4px 10px 0}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;max-width:calc(100% - 25px);margin-right:0;margin-left:0;padding:0}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{color:#23282d;font-size:14px;font-weight:600}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-left:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{display:inline-block;overflow:visible;padding:8px 0;vertical-align:middle}th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline::after{width:999px;max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline::after{width:999px;max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{display:inline-block;width:20px;height:20px;padding:0;color:#444;vertical-align:top;text-decoration:none!important;content:""}.manage-column .yoast-linked-to:before{background:url(../../images/link-out-icon.svg) no-repeat;background-size:20px}.manage-column .yoast-linked-from:before{background:url(../../images/link-in-icon.svg) no-repeat;background-size:20px}.manage-column .yoast-column-seo-score:before{background:url(../../images/Yoast_SEO_negative_icon.svg) no-repeat;background-size:20px}.manage-column .yoast-column-readability:before{background:url(../../images/readability-icon.svg) no-repeat;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}#screen-meta .yoast-column-header-has-tooltip .screen-reader-text{visibility:visible;position:static;width:auto;height:auto}@media screen and (max-width:782px){.yoast-settings{padding-left:0}.yoast-settings h2{margin-left:0}.yoast-settings label{width:auto;margin-right:0;margin-left:0;padding:0}.yoast .yoast-settings__radio,.yoast-settings__radio+label{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;box-sizing:border-box;width:100%;max-width:none;margin-top:0;margin-bottom:0;padding:7px 10px;line-height:1.5}}#yoast-help-center-container{margin:16px 0 24px}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.yoast-help-center-open #sidebar-container{display:none}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{padding-left:1.5em;list-style:disc}.yoast_help.yoast-help-button{overflow:visible;position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:0;color:#72777c;background:0 0;box-shadow:none;vertical-align:top;cursor:pointer}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{float:right;margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-right:6px}.yoast_help .yoast-help-icon::before{position:absolute;top:0;left:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon::before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:left;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 0 0 85px}
 
css/dist/admin-global-900-rtl.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .wpseo-premium-indicator{display:inline-block;width:1px;height:1px}#adminmenu .wpseo-premium-indicator{margin:-2px 2px -3px 0;color:inherit}.wpseo-premium-indicator svg{display:none;width:auto;height:100%}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip::after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt::after{content:attr(data-label)}.yoast-tooltip::before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{from{opacity:0}to{opacity:1}}.yoast-tooltip:active::after,.yoast-tooltip:active::before,.yoast-tooltip:focus::after,.yoast-tooltip:focus::before,.yoast-tooltip:hover::after,.yoast-tooltip:hover::before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active::after,.yoast-tooltip-no-delay:active::before,.yoast-tooltip-no-delay:focus::after,.yoast-tooltip-no-delay:focus::before,.yoast-tooltip-no-delay:hover::after,.yoast-tooltip-no-delay:hover::before{opacity:1;animation:none}.yoast-tooltip-multiline:active::after,.yoast-tooltip-multiline:focus::after,.yoast-tooltip-multiline:hover::after{display:table-cell}.yoast-tooltip-s::after,.yoast-tooltip-se::after,.yoast-tooltip-sw::after{top:100%;left:50%;margin-top:5px}.yoast-tooltip-s::before,.yoast-tooltip-se::before,.yoast-tooltip-sw::before{top:auto;left:50%;bottom:-5px;margin-left:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se::after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-sw::after{margin-left:-15px}.yoast-tooltip-n::after,.yoast-tooltip-ne::after,.yoast-tooltip-nw::after{left:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n::before,.yoast-tooltip-ne::before,.yoast-tooltip-nw::before{top:-5px;left:50%;bottom:auto;margin-left:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne::after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-nw::after{margin-left:-15px}.yoast-tooltip-n::after,.yoast-tooltip-s::after{-ms-transform:translateX(-50%);transform:translateX(-50%)}.yoast-tooltip-w::after{left:100%;bottom:50%;margin-left:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-w::before{top:50%;bottom:50%;right:-5px;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-e::after{bottom:50%;right:100%;margin-right:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-e::before{top:50%;left:-5px;bottom:50%;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline::after{width:250px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;border-collapse:separate;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n::after,.yoast-tooltip-multiline.yoast-tooltip-s::after{left:auto;right:50%;-ms-transform:translateX(50%);transform:translateX(50%)}.yoast-tooltip-multiline.yoast-tooltip-e::after,.yoast-tooltip-multiline.yoast-tooltip-w::after{left:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline::after{width:250px}}.yoast-tooltip-sticky::after,.yoast-tooltip-sticky::before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline::after{display:table-cell}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-moz-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.yoast-tooltip-w::after{margin-left:4.5px}}.yoast-tooltip.yoast-tooltip-hidden::after,.yoast-tooltip.yoast-tooltip-hidden::before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 0 0 10px;font-size:14px;font-weight:600}.wpseo-help-center-sub-title,.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-search__field{margin:0}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{overflow:hidden;position:relative;height:0;padding-bottom:56.25%}.yoast-video-container iframe{position:absolute;top:0;right:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-right:220px}.yoast-settings h2{margin-bottom:0;margin-right:-220px}.yoast-settings label{display:inline-block;width:200px;margin-left:6px;margin-right:-220px;padding-top:4px;padding-left:10px;color:#23282d;font-size:14px;font-weight:600;line-height:1.3;vertical-align:top}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio,.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{position:relative;top:1px;vertical-align:top}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 0 10px 4px}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;max-width:calc(100% - 25px);margin-left:0;margin-right:0;padding:0}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{color:#23282d;font-size:14px;font-weight:600}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-right:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{display:inline-block;overflow:visible;padding:8px 0;vertical-align:middle}th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline::after{width:999px;max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline::after{width:999px;max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{display:inline-block;width:20px;height:20px;padding:0;color:#444;vertical-align:top;text-decoration:none!important;content:""}.manage-column .yoast-linked-to:before{background:url(../../images/link-out-icon.svg) 100% 0 no-repeat;background-size:20px}.manage-column .yoast-linked-from:before{background:url(../../images/link-in-icon.svg) 100% 0 no-repeat;background-size:20px}.manage-column .yoast-column-seo-score:before{background:url(../../images/Yoast_SEO_negative_icon.svg) 100% 0 no-repeat;background-size:20px}.manage-column .yoast-column-readability:before{background:url(../../images/readability-icon.svg) 100% 0 no-repeat;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}#screen-meta .yoast-column-header-has-tooltip .screen-reader-text{visibility:visible;position:static;width:auto;height:auto}@media screen and (max-width:782px){.yoast-settings{padding-right:0}.yoast-settings h2{margin-right:0}.yoast-settings label{width:auto;margin-left:0;margin-right:0;padding:0}.yoast .yoast-settings__radio,.yoast-settings__radio+label{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;box-sizing:border-box;width:100%;max-width:none;margin-top:0;margin-bottom:0;padding:7px 10px;line-height:1.5}}#yoast-help-center-container{margin:16px 0 24px}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.yoast-help-center-open #sidebar-container{display:none}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{padding-right:1.5em;list-style:disc}.yoast_help.yoast-help-button{overflow:visible;position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:0;color:#72777c;background:0 0;box-shadow:none;vertical-align:top;cursor:pointer}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{float:left;margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-left:6px}.yoast_help .yoast-help-icon::before{position:absolute;top:0;right:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon::before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:right;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 85px 0 0}.yoast-button-upsell{display:inline-block;box-sizing:border-box;min-height:48px;padding:9px 1em 9px 1.5em;border-radius:4px;color:#000;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 3% 45% no-repeat #fec228;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);font-family:"Open Sans",Arial,sans-serif;font-size:16px;line-height:24px;text-decoration:none;text-transform:initial;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .2))}.yoast-button-upsell:active,.yoast-button-upsell:focus,.yoast-button-upsell:hover{color:#000;background-color:#f2ae01}.yoast-button-upsell:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button-upsell:active{box-shadow:none;-ms-transform:translateY(1px);transform:translateY(1px);filter:none}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.yoast-button-upsell ::after{display:inline-block;min-height:32px;content:""}}.yoast-button-upsell#wpseo-premium-button{color:#000}
css/dist/admin-global-900.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .wpseo-premium-indicator{display:inline-block;width:1px;height:1px}#adminmenu .wpseo-premium-indicator{margin:-2px 0 -3px 2px;color:inherit}.wpseo-premium-indicator svg{display:none;width:auto;height:100%}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip::after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt::after{content:attr(data-label)}.yoast-tooltip::before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{from{opacity:0}to{opacity:1}}.yoast-tooltip:active::after,.yoast-tooltip:active::before,.yoast-tooltip:focus::after,.yoast-tooltip:focus::before,.yoast-tooltip:hover::after,.yoast-tooltip:hover::before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active::after,.yoast-tooltip-no-delay:active::before,.yoast-tooltip-no-delay:focus::after,.yoast-tooltip-no-delay:focus::before,.yoast-tooltip-no-delay:hover::after,.yoast-tooltip-no-delay:hover::before{opacity:1;animation:none}.yoast-tooltip-multiline:active::after,.yoast-tooltip-multiline:focus::after,.yoast-tooltip-multiline:hover::after{display:table-cell}.yoast-tooltip-s::after,.yoast-tooltip-se::after,.yoast-tooltip-sw::after{top:100%;right:50%;margin-top:5px}.yoast-tooltip-s::before,.yoast-tooltip-se::before,.yoast-tooltip-sw::before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se::after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-sw::after{margin-right:-15px}.yoast-tooltip-n::after,.yoast-tooltip-ne::after,.yoast-tooltip-nw::after{right:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n::before,.yoast-tooltip-ne::before,.yoast-tooltip-nw::before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne::after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-nw::after{margin-right:-15px}.yoast-tooltip-n::after,.yoast-tooltip-s::after{-ms-transform:translateX(50%);transform:translateX(50%)}.yoast-tooltip-w::after{right:100%;bottom:50%;margin-right:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-w::before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-e::after{bottom:50%;left:100%;margin-left:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-e::before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline::after{width:250px;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;border-collapse:separate;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n::after,.yoast-tooltip-multiline.yoast-tooltip-s::after{right:auto;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%)}.yoast-tooltip-multiline.yoast-tooltip-e::after,.yoast-tooltip-multiline.yoast-tooltip-w::after{right:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline::after{width:250px}}.yoast-tooltip-sticky::after,.yoast-tooltip-sticky::before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline::after{display:table-cell}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-moz-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.yoast-tooltip-w::after{margin-right:4.5px}}.yoast-tooltip.yoast-tooltip-hidden::after,.yoast-tooltip.yoast-tooltip-hidden::before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 10px 0 0;font-size:14px;font-weight:600}.wpseo-help-center-sub-title,.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-search__field{margin:0}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{overflow:hidden;position:relative;height:0;padding-bottom:56.25%}.yoast-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-left:220px}.yoast-settings h2{margin-bottom:0;margin-left:-220px}.yoast-settings label{display:inline-block;width:200px;margin-right:6px;margin-left:-220px;padding-top:4px;padding-right:10px;color:#23282d;font-size:14px;font-weight:600;line-height:1.3;vertical-align:top}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio,.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{position:relative;top:1px;vertical-align:top}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 4px 10px 0}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;max-width:calc(100% - 25px);margin-right:0;margin-left:0;padding:0}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{color:#23282d;font-size:14px;font-weight:600}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-left:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{display:inline-block;overflow:visible;padding:8px 0;vertical-align:middle}th.column-wpseo-score .yoast-tooltip,th.column-wpseo-score-readability .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline::after{width:999px;max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline::after{width:999px;max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{display:inline-block;width:20px;height:20px;padding:0;color:#444;vertical-align:top;text-decoration:none!important;content:""}.manage-column .yoast-linked-to:before{background:url(../../images/link-out-icon.svg) no-repeat;background-size:20px}.manage-column .yoast-linked-from:before{background:url(../../images/link-in-icon.svg) no-repeat;background-size:20px}.manage-column .yoast-column-seo-score:before{background:url(../../images/Yoast_SEO_negative_icon.svg) no-repeat;background-size:20px}.manage-column .yoast-column-readability:before{background:url(../../images/readability-icon.svg) no-repeat;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}#screen-meta .yoast-column-header-has-tooltip .screen-reader-text{visibility:visible;position:static;width:auto;height:auto}@media screen and (max-width:782px){.yoast-settings{padding-left:0}.yoast-settings h2{margin-left:0}.yoast-settings label{width:auto;margin-right:0;margin-left:0;padding:0}.yoast .yoast-settings__radio,.yoast-settings__radio+label{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;box-sizing:border-box;width:100%;max-width:none;margin-top:0;margin-bottom:0;padding:7px 10px;line-height:1.5}}#yoast-help-center-container{margin:16px 0 24px}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.yoast-help-center-open #sidebar-container{display:none}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{padding-left:1.5em;list-style:disc}.yoast_help.yoast-help-button{overflow:visible;position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:0;color:#72777c;background:0 0;box-shadow:none;vertical-align:top;cursor:pointer}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{float:right;margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-right:6px}.yoast_help .yoast-help-icon::before{position:absolute;top:0;left:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon::before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:left;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 0 0 85px}.yoast-button-upsell{display:inline-block;box-sizing:border-box;min-height:48px;padding:9px 1.5em 9px 1em;border-radius:4px;color:#000;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 97% 45% no-repeat #fec228;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);font-family:"Open Sans",Arial,sans-serif;font-size:16px;line-height:24px;text-decoration:none;text-transform:initial;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .2))}.yoast-button-upsell:active,.yoast-button-upsell:focus,.yoast-button-upsell:hover{color:#000;background-color:#f2ae01}.yoast-button-upsell:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button-upsell:active{box-shadow:none;-ms-transform:translateY(1px);transform:translateY(1px);filter:none}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.yoast-button-upsell ::after{display:inline-block;min-height:32px;content:""}}.yoast-button-upsell#wpseo-premium-button{color:#000}
css/dist/{adminbar-840-rtl.min.css → adminbar-900-rtl.min.css} RENAMED
File without changes
css/dist/{adminbar-840.min.css → adminbar-900.min.css} RENAMED
File without changes
css/dist/{alerts-840-rtl.min.css → alerts-900-rtl.min.css} RENAMED
File without changes
css/dist/{alerts-840.min.css → alerts-900.min.css} RENAMED
File without changes
css/dist/{dashboard-840-rtl.min.css → dashboard-900-rtl.min.css} RENAMED
File without changes
css/dist/{dashboard-840.min.css → dashboard-900.min.css} RENAMED
File without changes
css/dist/{edit-page-840-rtl.min.css → edit-page-900-rtl.min.css} RENAMED
File without changes
css/dist/{edit-page-840.min.css → edit-page-900.min.css} RENAMED
File without changes
css/dist/{featured-image-840-rtl.min.css → featured-image-900-rtl.min.css} RENAMED
File without changes
css/dist/{featured-image-840.min.css → featured-image-900.min.css} RENAMED
File without changes
css/dist/{filter-explanation-840-rtl.min.css → filter-explanation-900-rtl.min.css} RENAMED
File without changes
css/dist/{filter-explanation-840.min.css → filter-explanation-900.min.css} RENAMED
File without changes
css/dist/{inside-editor-840-rtl.min.css → inside-editor-900-rtl.min.css} RENAMED
File without changes
css/dist/{inside-editor-840.min.css → inside-editor-900.min.css} RENAMED
File without changes
css/dist/{metabox-840-rtl.min.css → metabox-900-rtl.min.css} RENAMED
File without changes
css/dist/{metabox-840.min.css → metabox-900.min.css} RENAMED
File without changes
css/dist/{metabox-primary-category-840-rtl.min.css → metabox-primary-category-900-rtl.min.css} RENAMED
File without changes
css/dist/{metabox-primary-category-840.min.css → metabox-primary-category-900.min.css} RENAMED
File without changes
css/dist/{search-appearance-840-rtl.min.css → search-appearance-900-rtl.min.css} RENAMED
File without changes
css/dist/{search-appearance-840.min.css → search-appearance-900.min.css} RENAMED
File without changes
css/dist/structured-data-blocks-840-rtl.min.css DELETED
@@ -1 +0,0 @@
1
- .schema-faq-section-button-container .schema-faq-section-add-media,.schema-how-to-step-button-container .schema-how-to-step-add-media{float:right}.schema-faq-buttons button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-faq-section-button-container button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-how-to-buttons button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-how-to-step-button-container button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,button.schema-how-to-duration-button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#007cba;box-shadow:none}.schema-how-to-duration .schema-how-to-duration-input[type=number]{width:40px;margin:0 2px;padding:6px 4px;text-align:center;-moz-appearance:textfield}.schema-how-to-duration .schema-how-to-duration-input[type=number]::-webkit-inner-spin-button,.schema-how-to-duration .schema-how-to-duration-input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.schema-how-to-duration-time-input{white-space:nowrap}.schema-how-to-buttons{text-align:center}.schema-faq-section-button-container,.schema-how-to-step-button-container{text-align:left}button.schema-how-to-duration-button.components-icon-button{position:relative;top:5px;padding:8px 0}input+button.schema-how-to-duration-button.components-icon-button{padding:8px}.schema-faq-section,.schema-how-to-step{padding:8px 32px 8px 4px;border:1px solid #d3d3d3;list-style-type:none}.schema-how-to-description{margin:8px 0}legend.schema-how-to-duration-legend{float:right;margin-top:8px;margin-left:4px}.schema-how-to-step{position:relative;margin:4px 0}.schema-how-to-step-mover{position:absolute;top:0;right:-29px}.schema-how-to-step-button{margin:0}.schema-how-to-step-number{position:absolute;right:4px;width:24px;text-align:left}.schema-faq-question,.schema-how-to-step-name{font-weight:600}.schema-faq-answer,.schema-faq-question,.schema-how-to-description,.schema-how-to-step-name,.schema-how-to-step-text{line-height:inherit}#schema-how-to-duration-days{margin-left:8px}.schema-faq-section{position:relative;margin:4px 0}.schema-faq-section-mover{position:absolute;top:0;right:-29px}.schema-faq-buttons{text-align:center}
 
css/dist/structured-data-blocks-840.min.css DELETED
@@ -1 +0,0 @@
1
- .schema-faq-section-button-container .schema-faq-section-add-media,.schema-how-to-step-button-container .schema-how-to-step-add-media{float:left}.schema-faq-buttons button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-faq-section-button-container button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-how-to-buttons button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-how-to-step-button-container button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,button.schema-how-to-duration-button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#007cba;box-shadow:none}.schema-how-to-duration .schema-how-to-duration-input[type=number]{width:40px;margin:0 2px;padding:6px 4px;text-align:center;-moz-appearance:textfield}.schema-how-to-duration .schema-how-to-duration-input[type=number]::-webkit-inner-spin-button,.schema-how-to-duration .schema-how-to-duration-input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.schema-how-to-duration-time-input{white-space:nowrap}.schema-how-to-buttons{text-align:center}.schema-faq-section-button-container,.schema-how-to-step-button-container{text-align:right}button.schema-how-to-duration-button.components-icon-button{position:relative;top:5px;padding:8px 0}input+button.schema-how-to-duration-button.components-icon-button{padding:8px}.schema-faq-section,.schema-how-to-step{padding:8px 4px 8px 32px;border:1px solid #d3d3d3;list-style-type:none}.schema-how-to-description{margin:8px 0}legend.schema-how-to-duration-legend{float:left;margin-top:8px;margin-right:4px}.schema-how-to-step{position:relative;margin:4px 0}.schema-how-to-step-mover{position:absolute;top:0;left:-29px}.schema-how-to-step-button{margin:0}.schema-how-to-step-number{position:absolute;left:4px;width:24px;text-align:right}.schema-faq-question,.schema-how-to-step-name{font-weight:600}.schema-faq-answer,.schema-faq-question,.schema-how-to-description,.schema-how-to-step-name,.schema-how-to-step-text{line-height:inherit}#schema-how-to-duration-days{margin-right:8px}.schema-faq-section{position:relative;margin:4px 0}.schema-faq-section-mover{position:absolute;top:0;left:-29px}.schema-faq-buttons{text-align:center}
 
css/dist/structured-data-blocks-900-rtl.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .schema-faq-section-button-container,.schema-faq-section-mover,.schema-how-to-step-mover{display:inline-block}.schema-faq-section-button-container .schema-faq-section-add-media,.schema-how-to-step-button-container .schema-how-to-step-add-media{float:right}.schema-faq-buttons button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-faq-section-button-container button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-how-to-buttons button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-how-to-step-button-container button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,button.schema-how-to-duration-button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#007cba;box-shadow:none}.schema-how-to-duration .schema-how-to-duration-input[type=number]{width:40px;margin:0 2px;padding:6px 4px;text-align:center;-moz-appearance:textfield}.schema-how-to-duration .schema-how-to-duration-input[type=number]::-webkit-inner-spin-button,.schema-how-to-duration .schema-how-to-duration-input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.schema-how-to-duration-time-input{white-space:nowrap}.schema-how-to-buttons{text-align:center}button.schema-how-to-duration-button.components-icon-button{position:relative;top:5px;padding:8px 0}input+button.schema-how-to-duration-button.components-icon-button{padding:8px}.schema-faq-section,.schema-how-to-step{padding:8px 32px 8px 4px;border:1px solid #d3d3d3;list-style-type:none}.schema-how-to-description{margin:8px 0}legend.schema-how-to-duration-legend{float:right;margin-top:8px;margin-left:4px}.schema-how-to-step{position:relative;margin:4px 0}.schema-how-to-step-button{margin:0}.schema-how-to-step-number{position:absolute;right:4px;width:24px;text-align:left}.schema-faq-question,.schema-how-to-step-name{font-weight:600}.schema-faq-answer,.schema-faq-question,.schema-how-to-description,.schema-how-to-step-name,.schema-how-to-step-text{line-height:inherit}.schema-how-to-step-button-container{display:inline-block;text-align:left}#schema-how-to-duration-days{margin-left:8px}.schema-faq-section{position:relative;margin:4px 0}.schema-faq-section-button-container{text-align:left}.schema-faq-buttons{text-align:center}.schema-faq-section-mover .editor-block-mover__control,.schema-how-to-step-mover .editor-block-mover__control{display:-ms-inline-flexbox;display:inline-flex;width:36px;height:36px}.schema-faq-section-controls-container,.schema-how-to-step-controls-container{margin-right:-28px;text-align:left}.schema-faq-section-controls-container .dashicons-arrow-up-alt2,.schema-how-to-step-controls-container .dashicons-arrow-up-alt2{position:relative;top:-1px}
css/dist/structured-data-blocks-900.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .schema-faq-section-button-container,.schema-faq-section-mover,.schema-how-to-step-mover{display:inline-block}.schema-faq-section-button-container .schema-faq-section-add-media,.schema-how-to-step-button-container .schema-how-to-step-add-media{float:left}.schema-faq-buttons button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-faq-section-button-container button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-how-to-buttons button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,.schema-how-to-step-button-container button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover,button.schema-how-to-duration-button.components-icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{color:#007cba;box-shadow:none}.schema-how-to-duration .schema-how-to-duration-input[type=number]{width:40px;margin:0 2px;padding:6px 4px;text-align:center;-moz-appearance:textfield}.schema-how-to-duration .schema-how-to-duration-input[type=number]::-webkit-inner-spin-button,.schema-how-to-duration .schema-how-to-duration-input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.schema-how-to-duration-time-input{white-space:nowrap}.schema-how-to-buttons{text-align:center}button.schema-how-to-duration-button.components-icon-button{position:relative;top:5px;padding:8px 0}input+button.schema-how-to-duration-button.components-icon-button{padding:8px}.schema-faq-section,.schema-how-to-step{padding:8px 4px 8px 32px;border:1px solid #d3d3d3;list-style-type:none}.schema-how-to-description{margin:8px 0}legend.schema-how-to-duration-legend{float:left;margin-top:8px;margin-right:4px}.schema-how-to-step{position:relative;margin:4px 0}.schema-how-to-step-button{margin:0}.schema-how-to-step-number{position:absolute;left:4px;width:24px;text-align:right}.schema-faq-question,.schema-how-to-step-name{font-weight:600}.schema-faq-answer,.schema-faq-question,.schema-how-to-description,.schema-how-to-step-name,.schema-how-to-step-text{line-height:inherit}.schema-how-to-step-button-container{display:inline-block;text-align:right}#schema-how-to-duration-days{margin-right:8px}.schema-faq-section{position:relative;margin:4px 0}.schema-faq-section-button-container{text-align:right}.schema-faq-buttons{text-align:center}.schema-faq-section-mover .editor-block-mover__control,.schema-how-to-step-mover .editor-block-mover__control{display:-ms-inline-flexbox;display:inline-flex;width:36px;height:36px}.schema-faq-section-controls-container,.schema-how-to-step-controls-container{margin-left:-28px;text-align:right}.schema-faq-section-controls-container .dashicons-arrow-up-alt2,.schema-how-to-step-controls-container .dashicons-arrow-up-alt2{position:relative;top:-1px}
css/dist/toggle-switch-840-rtl.min.css DELETED
@@ -1 +0,0 @@
1
- @charset "UTF-8";.switch-light span span,.switch-toggle a{display:none}@media only screen{.switch-light,.switch-toggle{display:block;position:relative;padding:0!important}.switch-light::after,.switch-toggle::after{display:table;clear:both;content:""}.switch-light *,.switch-light :after,.switch-light :before,.switch-toggle *,.switch-toggle :after,.switch-toggle :before{box-sizing:border-box}.switch-light a,.switch-toggle a{display:block;transition:all .2s ease-out}.switch-light label,.switch-light-visual-label,.switch-light>span,.switch-toggle label,.switch-toggle>span{line-height:2;vertical-align:middle}.switch-light input{position:absolute;z-index:3;opacity:0}.switch-light input:checked~span a{left:0}.switch-light strong{font-weight:inherit}.switch-light>span{position:relative;min-height:2em;padding:0;text-align:right}.switch-light span span{display:block;float:right;position:relative;z-index:2;width:50%;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-light a{display:block;position:absolute;z-index:1;top:0;left:50%;width:50%;height:100%;padding:0}.switch-toggle input{position:absolute;right:0;opacity:0}.switch-toggle input+label{display:block;float:right;position:relative;z-index:2;margin:0;padding:0 .5em;text-align:center}.switch-toggle a{position:absolute;z-index:1;top:0;right:0;width:10px;height:100%;padding:0}.switch-toggle label:nth-child(2):nth-last-child(4),.switch-toggle label:nth-child(2):nth-last-child(4)~a,.switch-toggle label:nth-child(2):nth-last-child(4)~label{width:50%}.switch-toggle label:nth-child(2):nth-last-child(4)~input:checked:nth-child(3)+label~a{right:50%}.switch-toggle label:nth-child(2):nth-last-child(6),.switch-toggle label:nth-child(2):nth-last-child(6)~a,.switch-toggle label:nth-child(2):nth-last-child(6)~label{width:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(3)+label~a{right:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(5)+label~a{right:66.66%}.switch-toggle label:nth-child(2):nth-last-child(8),.switch-toggle label:nth-child(2):nth-last-child(8)~a,.switch-toggle label:nth-child(2):nth-last-child(8)~label{width:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(3)+label~a{right:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(5)+label~a{right:50%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(7)+label~a{right:75%}.switch-toggle label:nth-child(2):nth-last-child(10),.switch-toggle label:nth-child(2):nth-last-child(10)~a,.switch-toggle label:nth-child(2):nth-last-child(10)~label{width:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(3)+label~a{right:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(5)+label~a{right:40%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(7)+label~a{right:60%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(9)+label~a{right:80%}.switch-toggle label:nth-child(2):nth-last-child(12),.switch-toggle label:nth-child(2):nth-last-child(12)~a,.switch-toggle label:nth-child(2):nth-last-child(12)~label{width:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(3)+label~a{right:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(5)+label~a{right:33.2%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(7)+label~a{right:49.8%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(9)+label~a{right:66.4%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(11)+label~a{right:83%}.switch-candy a{box-shadow:0 1px 1px rgba(0,0,0,.2),inset 0 1px 1px rgba(255,255,255,.45)}}@media only screen and (-webkit-max-device-pixel-ratio:2) and (max-device-width:80em){.switch-light,.switch-toggle{-webkit-animation:webkitSiblingBugfix infinite 1s}}.fieldset-switch-toggle label{float:none}@media only screen{.fieldset-switch-toggle legend{float:right;box-sizing:border-box;min-width:200px;margin:8px 0;padding-left:16px;line-height:2;vertical-align:middle}.switch-container__has-help .switch-light-visual-label,.switch-container__has-help legend{float:right;min-width:0;padding-left:0}.switch-container__has-help .yoast_help.yoast-help-button{margin:8px 4px 0 0}.switch-light.switch-yoast-seo>span,.switch-toggle.switch-yoast-seo{width:250px;border:1px solid #ccc;border-radius:.5em;background-color:#dcdcdc;box-shadow:inset 0 2px 4px rgba(0,0,0,.15)}.switch-light.switch-yoast-seo,.switch-toggle.switch-yoast-seo{float:right;clear:both}.switch-light.switch-yoast-seo>span{display:inline-block;overflow:visible}.switch-light.switch-yoast-seo a,.switch-toggle.switch-yoast-seo a{border:1px solid #b5b5b5;border-radius:.5em;background:#a4286a}.switch-light.switch-yoast-seo input:focus+label,.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus+label,.switch-toggle.switch-yoast-seo input:focus~span a{outline:0}.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus~a{border-color:#5b9dd9!important;box-shadow:0 0 2px rgba(0,115,170,.8)!important}.switch-light.switch-yoast-seo input:checked~span a,.switch-toggle.switch-yoast-seo input:checked~span a{border:1px solid #b5b5b5;background:#a4286a}.switch-light.switch-yoast-seo input:checked~span span:first-child,.switch-light.switch-yoast-seo span span,.switch-toggle.switch-yoast-seo label{color:#333;text-shadow:none;font-weight:inherit}.switch-candy.switch-yoast-seo input:checked+label,.switch-candy.switch-yoast-seo input:checked~span span:nth-child(2),.switch-candy.switch-yoast-seo input~span span:first-child{color:#fff;text-shadow:none}.switch-light.switch-yoast-seo-reverse input:checked~span a{right:0}.switch-light.switch-yoast-seo-reverse a{right:50%}.switch-light.switch-yoast-seo-reverse span span{float:left}.switch-toggle.switch-yoast-seo label,label.switch-light.switch-yoast-seo{margin-right:0;cursor:pointer}.switch-yoast-seo .switch-yoast-seo-jaws-a11y{display:block;overflow:hidden;height:1px;margin-bottom:-1px}.switch-light.switch-yoast-seo label code,.switch-toggle.switch-yoast-seo label code{background-color:inherit;vertical-align:top}.switch-container .label-text,.switch-light-visual-label{display:block;margin:8px 0;font-weight:400;line-height:2}.switch-container{clear:both;margin:0 0 .8em}.switch-container+.switch-container{margin-top:8px}.switch-container+p{margin:-8px 0 16px}}
 
css/dist/toggle-switch-840.min.css DELETED
@@ -1 +0,0 @@
1
- @charset "UTF-8";.switch-light span span,.switch-toggle a{display:none}@media only screen{.switch-light,.switch-toggle{display:block;position:relative;padding:0!important}.switch-light::after,.switch-toggle::after{display:table;clear:both;content:""}.switch-light *,.switch-light :after,.switch-light :before,.switch-toggle *,.switch-toggle :after,.switch-toggle :before{box-sizing:border-box}.switch-light a,.switch-toggle a{display:block;transition:all .2s ease-out}.switch-light label,.switch-light-visual-label,.switch-light>span,.switch-toggle label,.switch-toggle>span{line-height:2;vertical-align:middle}.switch-light input{position:absolute;z-index:3;opacity:0}.switch-light input:checked~span a{right:0}.switch-light strong{font-weight:inherit}.switch-light>span{position:relative;min-height:2em;padding:0;text-align:left}.switch-light span span{display:block;float:left;position:relative;z-index:2;width:50%;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-light a{display:block;position:absolute;z-index:1;top:0;right:50%;width:50%;height:100%;padding:0}.switch-toggle input{position:absolute;left:0;opacity:0}.switch-toggle input+label{display:block;float:left;position:relative;z-index:2;margin:0;padding:0 .5em;text-align:center}.switch-toggle a{position:absolute;z-index:1;top:0;left:0;width:10px;height:100%;padding:0}.switch-toggle label:nth-child(2):nth-last-child(4),.switch-toggle label:nth-child(2):nth-last-child(4)~a,.switch-toggle label:nth-child(2):nth-last-child(4)~label{width:50%}.switch-toggle label:nth-child(2):nth-last-child(4)~input:checked:nth-child(3)+label~a{left:50%}.switch-toggle label:nth-child(2):nth-last-child(6),.switch-toggle label:nth-child(2):nth-last-child(6)~a,.switch-toggle label:nth-child(2):nth-last-child(6)~label{width:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(3)+label~a{left:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(5)+label~a{left:66.66%}.switch-toggle label:nth-child(2):nth-last-child(8),.switch-toggle label:nth-child(2):nth-last-child(8)~a,.switch-toggle label:nth-child(2):nth-last-child(8)~label{width:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(3)+label~a{left:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(5)+label~a{left:50%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(7)+label~a{left:75%}.switch-toggle label:nth-child(2):nth-last-child(10),.switch-toggle label:nth-child(2):nth-last-child(10)~a,.switch-toggle label:nth-child(2):nth-last-child(10)~label{width:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(3)+label~a{left:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(5)+label~a{left:40%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(7)+label~a{left:60%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(9)+label~a{left:80%}.switch-toggle label:nth-child(2):nth-last-child(12),.switch-toggle label:nth-child(2):nth-last-child(12)~a,.switch-toggle label:nth-child(2):nth-last-child(12)~label{width:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(3)+label~a{left:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(5)+label~a{left:33.2%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(7)+label~a{left:49.8%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(9)+label~a{left:66.4%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(11)+label~a{left:83%}.switch-candy a{box-shadow:0 1px 1px rgba(0,0,0,.2),inset 0 1px 1px rgba(255,255,255,.45)}}@media only screen and (-webkit-max-device-pixel-ratio:2) and (max-device-width:80em){.switch-light,.switch-toggle{-webkit-animation:webkitSiblingBugfix infinite 1s}}.fieldset-switch-toggle label{float:none}@media only screen{.fieldset-switch-toggle legend{float:left;box-sizing:border-box;min-width:200px;margin:8px 0;padding-right:16px;line-height:2;vertical-align:middle}.switch-container__has-help .switch-light-visual-label,.switch-container__has-help legend{float:left;min-width:0;padding-right:0}.switch-container__has-help .yoast_help.yoast-help-button{margin:8px 0 0 4px}.switch-light.switch-yoast-seo>span,.switch-toggle.switch-yoast-seo{width:250px;border:1px solid #ccc;border-radius:.5em;background-color:#dcdcdc;box-shadow:inset 0 2px 4px rgba(0,0,0,.15)}.switch-light.switch-yoast-seo,.switch-toggle.switch-yoast-seo{float:left;clear:both}.switch-light.switch-yoast-seo>span{display:inline-block;overflow:visible}.switch-light.switch-yoast-seo a,.switch-toggle.switch-yoast-seo a{border:1px solid #b5b5b5;border-radius:.5em;background:#a4286a}.switch-light.switch-yoast-seo input:focus+label,.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus+label,.switch-toggle.switch-yoast-seo input:focus~span a{outline:0}.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus~a{border-color:#5b9dd9!important;box-shadow:0 0 2px rgba(0,115,170,.8)!important}.switch-light.switch-yoast-seo input:checked~span a,.switch-toggle.switch-yoast-seo input:checked~span a{border:1px solid #b5b5b5;background:#a4286a}.switch-light.switch-yoast-seo input:checked~span span:first-child,.switch-light.switch-yoast-seo span span,.switch-toggle.switch-yoast-seo label{color:#333;text-shadow:none;font-weight:inherit}.switch-candy.switch-yoast-seo input:checked+label,.switch-candy.switch-yoast-seo input:checked~span span:nth-child(2),.switch-candy.switch-yoast-seo input~span span:first-child{color:#fff;text-shadow:none}.switch-light.switch-yoast-seo-reverse input:checked~span a{left:0}.switch-light.switch-yoast-seo-reverse a{left:50%}.switch-light.switch-yoast-seo-reverse span span{float:right}.switch-toggle.switch-yoast-seo label,label.switch-light.switch-yoast-seo{margin-left:0;cursor:pointer}.switch-yoast-seo .switch-yoast-seo-jaws-a11y{display:block;overflow:hidden;height:1px;margin-bottom:-1px}.switch-light.switch-yoast-seo label code,.switch-toggle.switch-yoast-seo label code{background-color:inherit;vertical-align:top}.switch-container .label-text,.switch-light-visual-label{display:block;margin:8px 0;font-weight:400;line-height:2}.switch-container{clear:both;margin:0 0 .8em}.switch-container+.switch-container{margin-top:8px}.switch-container+p{margin:-8px 0 16px}}
 
css/dist/toggle-switch-900-rtl.min.css ADDED
@@ -0,0 +1 @@
 
1
+ @charset "UTF-8";.switch-light span span,.switch-toggle a{display:none}@media only screen{.switch-light input,.switch-light input[type=radio].disabled,.switch-light input[type=radio].disabled:checked:before,.switch-light input[type=radio]:disabled,.switch-light input[type=radio]:disabled:checked:before,.switch-toggle input[type=radio].disabled,.switch-toggle input[type=radio].disabled:checked:before,.switch-toggle input[type=radio]:disabled,.switch-toggle input[type=radio]:disabled:checked:before{opacity:0}.switch-light,.switch-toggle{display:block;position:relative;padding:0!important}.switch-light::after,.switch-toggle::after{display:table;clear:both;content:""}.switch-light *,.switch-light :after,.switch-light :before,.switch-toggle *,.switch-toggle :after,.switch-toggle :before{box-sizing:border-box}.switch-light a,.switch-toggle a{display:block;transition:all .2s ease-out}.switch-light label,.switch-light-visual-label,.switch-light>span,.switch-toggle label,.switch-toggle>span{line-height:2;vertical-align:middle}.switch-light input{position:absolute;z-index:3}.switch-light input:checked~span a{left:0}.switch-light strong{font-weight:inherit}.switch-light>span{position:relative;min-height:2em;padding:0;text-align:right}.switch-light span span{display:block;float:right;position:relative;z-index:2;width:50%;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-light a{display:block;position:absolute;z-index:1;top:0;left:50%;width:50%;height:100%;padding:0}.switch-toggle input{position:absolute;right:0;opacity:0}.switch-toggle input+label{display:block;float:right;position:relative;z-index:2;margin:0;padding:0 .5em;text-align:center}.switch-toggle a{position:absolute;z-index:1;top:0;right:0;width:10px;height:100%;padding:0}.switch-toggle label:nth-child(2):nth-last-child(4),.switch-toggle label:nth-child(2):nth-last-child(4)~a,.switch-toggle label:nth-child(2):nth-last-child(4)~label{width:50%}.switch-toggle label:nth-child(2):nth-last-child(4)~input:checked:nth-child(3)+label~a{right:50%}.switch-toggle label:nth-child(2):nth-last-child(6),.switch-toggle label:nth-child(2):nth-last-child(6)~a,.switch-toggle label:nth-child(2):nth-last-child(6)~label{width:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(3)+label~a{right:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(5)+label~a{right:66.66%}.switch-toggle label:nth-child(2):nth-last-child(8),.switch-toggle label:nth-child(2):nth-last-child(8)~a,.switch-toggle label:nth-child(2):nth-last-child(8)~label{width:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(3)+label~a{right:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(5)+label~a{right:50%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(7)+label~a{right:75%}.switch-toggle label:nth-child(2):nth-last-child(10),.switch-toggle label:nth-child(2):nth-last-child(10)~a,.switch-toggle label:nth-child(2):nth-last-child(10)~label{width:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(3)+label~a{right:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(5)+label~a{right:40%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(7)+label~a{right:60%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(9)+label~a{right:80%}.switch-toggle label:nth-child(2):nth-last-child(12),.switch-toggle label:nth-child(2):nth-last-child(12)~a,.switch-toggle label:nth-child(2):nth-last-child(12)~label{width:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(3)+label~a{right:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(5)+label~a{right:33.2%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(7)+label~a{right:49.8%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(9)+label~a{right:66.4%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(11)+label~a{right:83%}.switch-candy a{box-shadow:0 1px 1px rgba(0,0,0,.2),inset 0 1px 1px rgba(255,255,255,.45)}}@media only screen and (-webkit-max-device-pixel-ratio:2) and (max-device-width:80em){.switch-light,.switch-toggle{-webkit-animation:webkitSiblingBugfix infinite 1s}}.fieldset-switch-toggle label{float:none}@media only screen{.fieldset-switch-toggle legend{float:right;box-sizing:border-box;min-width:200px;margin:8px 0;padding-left:16px;line-height:2;vertical-align:middle}.fieldset-switch-toggle .disabled-note{clear:both}.switch-container__has-help .switch-light-visual-label,.switch-container__has-help legend{float:right;min-width:0;padding-left:0}.switch-container__has-help .yoast_help.yoast-help-button{margin:8px 4px 0 0}.switch-light.switch-yoast-seo>span,.switch-toggle.switch-yoast-seo{width:250px;border:1px solid #ccc;border-radius:.5em;background-color:#dcdcdc;box-shadow:inset 0 2px 4px rgba(0,0,0,.15)}.switch-light.switch-yoast-seo,.switch-toggle.switch-yoast-seo{float:right;clear:both}.switch-light.switch-yoast-seo>span{display:inline-block;overflow:visible}.switch-light.switch-yoast-seo a,.switch-toggle.switch-yoast-seo a{border:1px solid #b5b5b5;border-radius:.5em;background:#a4286a}.switch-toggle.switch-yoast-seo input.disabled+a,.switch-toggle.switch-yoast-seo input.disabled~a,.switch-toggle.switch-yoast-seo input:disabled+a,.switch-toggle.switch-yoast-seo input:disabled~a{border:0;background:#9b9b9b}.switch-light.switch-yoast-seo input:focus+label,.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus+label,.switch-toggle.switch-yoast-seo input:focus~span a{outline:0}.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus~a{border-color:#5b9dd9!important;box-shadow:0 0 2px rgba(0,115,170,.8)!important}.switch-light.switch-yoast-seo input:checked~span a,.switch-toggle.switch-yoast-seo input:checked~span a{border:1px solid #b5b5b5;background:#a4286a}.switch-light.switch-yoast-seo input:checked~span span:first-child,.switch-light.switch-yoast-seo span span,.switch-toggle.switch-yoast-seo label{color:#333;text-shadow:none;font-weight:inherit}.switch-candy.switch-yoast-seo input:checked+label,.switch-candy.switch-yoast-seo input:checked~span span:nth-child(2),.switch-candy.switch-yoast-seo input~span span:first-child{color:#fff;text-shadow:none}.switch-light.switch-yoast-seo-reverse input:checked~span a{right:0}.switch-light.switch-yoast-seo-reverse a{right:50%}.switch-light.switch-yoast-seo-reverse span span{float:left}.switch-toggle.switch-yoast-seo label,label.switch-light.switch-yoast-seo{margin-right:0;cursor:pointer}.switch-toggle.switch-yoast-seo input.disabled+label,.switch-toggle.switch-yoast-seo input:disabled+label{cursor:not-allowed}.switch-yoast-seo .switch-yoast-seo-jaws-a11y{display:block;overflow:hidden;height:1px;margin-bottom:-1px}.switch-light.switch-yoast-seo label code,.switch-toggle.switch-yoast-seo label code{background-color:inherit;vertical-align:top}.switch-container .label-text,.switch-light-visual-label{display:block;margin:8px 0;font-weight:400;line-height:2}.switch-container{clear:both;margin:0 0 .8em}.switch-container+.switch-container{margin-top:8px}.switch-container+p{margin:-8px 0 16px}}
css/dist/toggle-switch-900.min.css ADDED
@@ -0,0 +1 @@
 
1
+ @charset "UTF-8";.switch-light span span,.switch-toggle a{display:none}@media only screen{.switch-light input,.switch-light input[type=radio].disabled,.switch-light input[type=radio].disabled:checked:before,.switch-light input[type=radio]:disabled,.switch-light input[type=radio]:disabled:checked:before,.switch-toggle input[type=radio].disabled,.switch-toggle input[type=radio].disabled:checked:before,.switch-toggle input[type=radio]:disabled,.switch-toggle input[type=radio]:disabled:checked:before{opacity:0}.switch-light,.switch-toggle{display:block;position:relative;padding:0!important}.switch-light::after,.switch-toggle::after{display:table;clear:both;content:""}.switch-light *,.switch-light :after,.switch-light :before,.switch-toggle *,.switch-toggle :after,.switch-toggle :before{box-sizing:border-box}.switch-light a,.switch-toggle a{display:block;transition:all .2s ease-out}.switch-light label,.switch-light-visual-label,.switch-light>span,.switch-toggle label,.switch-toggle>span{line-height:2;vertical-align:middle}.switch-light input{position:absolute;z-index:3}.switch-light input:checked~span a{right:0}.switch-light strong{font-weight:inherit}.switch-light>span{position:relative;min-height:2em;padding:0;text-align:left}.switch-light span span{display:block;float:left;position:relative;z-index:2;width:50%;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-light a{display:block;position:absolute;z-index:1;top:0;right:50%;width:50%;height:100%;padding:0}.switch-toggle input{position:absolute;left:0;opacity:0}.switch-toggle input+label{display:block;float:left;position:relative;z-index:2;margin:0;padding:0 .5em;text-align:center}.switch-toggle a{position:absolute;z-index:1;top:0;left:0;width:10px;height:100%;padding:0}.switch-toggle label:nth-child(2):nth-last-child(4),.switch-toggle label:nth-child(2):nth-last-child(4)~a,.switch-toggle label:nth-child(2):nth-last-child(4)~label{width:50%}.switch-toggle label:nth-child(2):nth-last-child(4)~input:checked:nth-child(3)+label~a{left:50%}.switch-toggle label:nth-child(2):nth-last-child(6),.switch-toggle label:nth-child(2):nth-last-child(6)~a,.switch-toggle label:nth-child(2):nth-last-child(6)~label{width:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(3)+label~a{left:33.33%}.switch-toggle label:nth-child(2):nth-last-child(6)~input:checked:nth-child(5)+label~a{left:66.66%}.switch-toggle label:nth-child(2):nth-last-child(8),.switch-toggle label:nth-child(2):nth-last-child(8)~a,.switch-toggle label:nth-child(2):nth-last-child(8)~label{width:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(3)+label~a{left:25%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(5)+label~a{left:50%}.switch-toggle label:nth-child(2):nth-last-child(8)~input:checked:nth-child(7)+label~a{left:75%}.switch-toggle label:nth-child(2):nth-last-child(10),.switch-toggle label:nth-child(2):nth-last-child(10)~a,.switch-toggle label:nth-child(2):nth-last-child(10)~label{width:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(3)+label~a{left:20%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(5)+label~a{left:40%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(7)+label~a{left:60%}.switch-toggle label:nth-child(2):nth-last-child(10)~input:checked:nth-child(9)+label~a{left:80%}.switch-toggle label:nth-child(2):nth-last-child(12),.switch-toggle label:nth-child(2):nth-last-child(12)~a,.switch-toggle label:nth-child(2):nth-last-child(12)~label{width:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(3)+label~a{left:16.6%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(5)+label~a{left:33.2%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(7)+label~a{left:49.8%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(9)+label~a{left:66.4%}.switch-toggle label:nth-child(2):nth-last-child(12)~input:checked:nth-child(11)+label~a{left:83%}.switch-candy a{box-shadow:0 1px 1px rgba(0,0,0,.2),inset 0 1px 1px rgba(255,255,255,.45)}}@media only screen and (-webkit-max-device-pixel-ratio:2) and (max-device-width:80em){.switch-light,.switch-toggle{-webkit-animation:webkitSiblingBugfix infinite 1s}}.fieldset-switch-toggle label{float:none}@media only screen{.fieldset-switch-toggle legend{float:left;box-sizing:border-box;min-width:200px;margin:8px 0;padding-right:16px;line-height:2;vertical-align:middle}.fieldset-switch-toggle .disabled-note{clear:both}.switch-container__has-help .switch-light-visual-label,.switch-container__has-help legend{float:left;min-width:0;padding-right:0}.switch-container__has-help .yoast_help.yoast-help-button{margin:8px 0 0 4px}.switch-light.switch-yoast-seo>span,.switch-toggle.switch-yoast-seo{width:250px;border:1px solid #ccc;border-radius:.5em;background-color:#dcdcdc;box-shadow:inset 0 2px 4px rgba(0,0,0,.15)}.switch-light.switch-yoast-seo,.switch-toggle.switch-yoast-seo{float:left;clear:both}.switch-light.switch-yoast-seo>span{display:inline-block;overflow:visible}.switch-light.switch-yoast-seo a,.switch-toggle.switch-yoast-seo a{border:1px solid #b5b5b5;border-radius:.5em;background:#a4286a}.switch-toggle.switch-yoast-seo input.disabled+a,.switch-toggle.switch-yoast-seo input.disabled~a,.switch-toggle.switch-yoast-seo input:disabled+a,.switch-toggle.switch-yoast-seo input:disabled~a{border:0;background:#9b9b9b}.switch-light.switch-yoast-seo input:focus+label,.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus+label,.switch-toggle.switch-yoast-seo input:focus~span a{outline:0}.switch-light.switch-yoast-seo input:focus~span a,.switch-toggle.switch-yoast-seo input:focus~a{border-color:#5b9dd9!important;box-shadow:0 0 2px rgba(0,115,170,.8)!important}.switch-light.switch-yoast-seo input:checked~span a,.switch-toggle.switch-yoast-seo input:checked~span a{border:1px solid #b5b5b5;background:#a4286a}.switch-light.switch-yoast-seo input:checked~span span:first-child,.switch-light.switch-yoast-seo span span,.switch-toggle.switch-yoast-seo label{color:#333;text-shadow:none;font-weight:inherit}.switch-candy.switch-yoast-seo input:checked+label,.switch-candy.switch-yoast-seo input:checked~span span:nth-child(2),.switch-candy.switch-yoast-seo input~span span:first-child{color:#fff;text-shadow:none}.switch-light.switch-yoast-seo-reverse input:checked~span a{left:0}.switch-light.switch-yoast-seo-reverse a{left:50%}.switch-light.switch-yoast-seo-reverse span span{float:right}.switch-toggle.switch-yoast-seo label,label.switch-light.switch-yoast-seo{margin-left:0;cursor:pointer}.switch-toggle.switch-yoast-seo input.disabled+label,.switch-toggle.switch-yoast-seo input:disabled+label{cursor:not-allowed}.switch-yoast-seo .switch-yoast-seo-jaws-a11y{display:block;overflow:hidden;height:1px;margin-bottom:-1px}.switch-light.switch-yoast-seo label code,.switch-toggle.switch-yoast-seo label code{background-color:inherit;vertical-align:top}.switch-container .label-text,.switch-light-visual-label{display:block;margin:8px 0;font-weight:400;line-height:2}.switch-container{clear:both;margin:0 0 .8em}.switch-container+.switch-container{margin-top:8px}.switch-container+p{margin:-8px 0 16px}}
css/dist/{wpseo-dismissible-840-rtl.min.css → wpseo-dismissible-900-rtl.min.css} RENAMED
File without changes
css/dist/{wpseo-dismissible-840.min.css → wpseo-dismissible-900.min.css} RENAMED
File without changes
css/dist/{yoast-components-840-rtl.min.css → yoast-components-900-rtl.min.css} RENAMED
File without changes
css/dist/{yoast-components-840.min.css → yoast-components-900.min.css} RENAMED
File without changes
css/dist/yoast-extensions-840-rtl.min.css DELETED
@@ -1 +0,0 @@
1
- @charset "UTF-8";.yoast-list--usp{margin-bottom:1em;padding:0;font-family:"Open Sans",Arial,sans-serif}.yoast-list--usp li{position:relative;padding-right:1.2533333333rem;list-style:none!important}.yoast-list--usp li::before{position:absolute;top:0;right:0;color:#77b227;font-family:FontAwesome,"Open Sans",Arial,sans-serif;content:"\f00c\0020"}.yoast .h1,.yoast .h2,.yoast .h3,.yoast .h4,.yoast .h5,.yoast .h6,.yoast h1,.yoast h2,.yoast h3,.yoast h4,.yoast h5,.yoast h6{display:block;margin-top:0;font-family:"Open Sans",Arial,sans-serif;font-weight:300}.yoast .h1,.yoast h1{margin-bottom:1.35rem;font-size:2.5em;line-height:3.68rem;letter-spacing:normal}@media only screen and (min-width:30rem){.yoast .h1,.yoast h1{font-size:2.75em}}.yoast .h2,.yoast h2{margin-bottom:1.2rem;font-size:1.88em;line-height:2.5rem}.yoast .h2.tight,.yoast h2.tight{margin-bottom:.6rem}.yoast .h3,.yoast h3{margin-bottom:.8rem;font-size:1.25em;line-height:1.88rem}.yoast .h3.tight,.yoast h3.tight{margin-bottom:.4rem}@media only screen and (min-width:30rem){.yoast .h3,.yoast h3{font-size:1.375em}}@media only screen and (min-width:50rem){.yoast .h3,.yoast h3{font-size:1.5em}}.yoast .h4,.yoast .h5,.yoast .h6,.yoast h4,.yoast h5,.yoast h6{margin-bottom:.2rem;font-size:1.13em;font-weight:400;line-height:1.88rem}.yoast-button{display:inline-block;position:relative;width:100%;padding:.345em 1em .345em 1.5em;border:0;color:#dc5c04;background-color:#dc5c04;font-family:"Open Sans",Arial,sans-serif;font-size:1.1em;text-decoration:none;cursor:pointer}@media only screen and (min-width:30rem){.yoast-button{width:auto;max-height:2.86rem;margin-left:1.36rem}.yoast-button.left::before,.yoast-button::after{position:absolute;top:0;width:0;height:0;border-top:1.43rem solid transparent;border-bottom:1.44rem solid transparent}.yoast-button::after{left:-1.36rem;border-left:0;border-right:1.43rem solid #dc5c04;content:""}.yoast-button.left{margin-left:0;margin-right:1.36rem}.yoast-button.left::after{content:none}.yoast-button.left::before{right:-1.36rem;border-left:1.43rem solid #dc5c04;border-right:0;content:""}}.yoast-button--full::after,.yoast-button--naked::after,.yoast-button--noarrow::after{content:none}.yoast-button.alignleft{margin:1rem 0 0 2.5rem!important}.yoast-button .arrow{display:none}.yoast-button+.yoast-button{margin-top:1em;margin-right:1.88rem}.yoast-button--full{width:100%}.yoast-button.default{color:#fff;background-color:#dc5c04}.yoast-button.default::after{border-right-color:#dc5c04}.yoast-button.default::before{border-left-color:#dc5c04}.yoast-button a:focus,.yoast-button:hover{color:#fff;background-color:#f58223;text-decoration:underline}.yoast-button a:focus::after,.yoast-button:hover::after{border-right-color:#f58223}.yoast-button a:focus::before,.yoast-button:hover::before{border-left-color:#f58223}.yoast-button.academy{color:#fff;background-color:#5d237a}.yoast-button.academy::after{border-right-color:#5d237a}.yoast-button.academy::before{border-left-color:#5d237a}@media only screen and (max-width:20rem){.yoast-button.academy{background-color:#5d237a}.yoast-button.academy--secondary{background-color:#a4286a}}.yoast-button.academy--secondary{color:#fff;background-color:#a4286a}.yoast-button.academy--secondary::after{border-right-color:#a4286a}.yoast-button.academy--secondary::before{border-left-color:#a4286a}.yoast-button.software{color:#fff;background-color:#0075b3}.yoast-button.software::after{border-right-color:#0075b3}.yoast-button.software::before{border-left-color:#0075b3}.yoast-button.review{color:#fff;background-color:#009288}.yoast-button.about,.yoast_academy .yoast-button{background-color:#d93f69;color:#fff}.yoast-button.review::after{border-right-color:#009288}.yoast-button.about::after,.yoast_academy .yoast-button::after{border-right-color:#d93f69}.yoast-button.review::before{border-left-color:#009288}.yoast-button.about::before,.yoast_academy .yoast-button::before{border-left-color:#d93f69}.yoast_academy .yoast-button a:focus,.yoast_academy .yoast-button:hover{color:#fff;background-color:#d42a59;text-decoration:underline}.yoast_academy .yoast-button a:focus::after,.yoast_academy .yoast-button:hover::after{border-right-color:#d42a59}.yoast_academy .yoast-button a:focus::before,.yoast_academy .yoast-button:hover::before{border-left-color:#d42a59}.yoast_academy .yoast-button.dimmed,body .yoast-button.dimmed{color:#646464;background-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::after,body .yoast-button.dimmed::after{border-right-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::before,body .yoast-button.dimmed::before{border-left-color:#dcdcdc}.yoast_academy .yoast-button.dimmed a:focus,.yoast_academy .yoast-button.dimmed:hover,body .yoast-button.dimmed a:focus,body .yoast-button.dimmed:hover{color:#646464;background-color:#cdcdcd;text-decoration:underline}.yoast_academy .yoast-button.dimmed a:focus::after,.yoast_academy .yoast-button.dimmed:hover::after,body .yoast-button.dimmed a:focus::after,body .yoast-button.dimmed:hover::after{border-right-color:#cdcdcd}.yoast_academy .yoast-button.dimmed a:focus:before,.yoast_academy .yoast-button.dimmed:hover:before,body .yoast-button.dimmed a:focus:before,body .yoast-button.dimmed:hover:before{border-left-color:#cdcdcd}.yoast-button--naked{padding:0;border:none;background-color:transparent}.yoast-button i.fa{margin:4px 0 0 10px;font-size:140%}.theme-academy .yoast-promoblock{border-color:#5d237a}.theme-academy--secondary .yoast-promoblock{border-color:#a4286a}.theme-software .yoast-promoblock{border-color:#0075b3}.theme-review .yoast-promoblock{border-color:#009288}.theme-about .yoast-promoblock,.theme-home .yoast-promoblock{border-color:#d93f69}.theme-academy.yoast-promoblock{border-color:#5d237a}.theme-academy--secondary.yoast-promoblock{border-color:#a4286a}.theme-software.yoast-promoblock{border-color:#0075b3}.theme-review.yoast-promoblock,.theme-software--secondary.yoast-promoblock{border-color:#009288}.theme-review--secondary.yoast-promoblock{border-color:#77b227}.theme-about.yoast-promoblock{border-color:#d93f69}.theme-about--secondary.yoast-promoblock{border-color:#a4286a}.cta.yoast-promoblock,.link.yoast-promoblock{border-color:#dc5c04}.link.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.cta.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.yoast-promoblock{display:block;position:relative;margin-bottom:1.88rem;padding:20px;border:1px solid;border-radius:30px 30px 30px 0;background-color:#fff;font-family:Merriweather,Georgia,serif}.yoast-promoblock p{color:#000}.yoast-promoblock p:last-of-type{margin-bottom:0}.yoast-promoblock i.blockicon{position:absolute;left:10px;bottom:10px;padding:0 .5em 0 0;font-size:2.25em}.yoast-promoblock a img{border:1px solid #dcdcdc}.yoast-promoblock p a{font-weight:600!important;text-decoration:underline}.yoast-button--extension-activated:hover,.yoast-button--extension-installed:hover,.yoast-button--extension-not-activated:hover,a.promoblock,a.promoblock:hover{text-decoration:none}.yoast-promoblock form a{font-family:"Open Sans",Arial,sans-serif;font-weight:400!important;text-decoration:none}.yoast-heading-highlight,.yoast-link--license,.yoast-link--more-info{font-weight:600;color:#a4286a}.yoast-promoblock .h4,.yoast-promoblock h4{margin-bottom:.7rem}.yoast-promoblock.link{border-color:#dc5c04}.yoast-promoblock.link a,.yoast-promoblock.link a:hover{color:#dc5c04}.yoast-promoblock--white{border-color:#fff!important}.yoast-promoblock.theme-academy a{color:#5d237a!important}.yoast-promoblock.theme-academy.secondary a{color:#a4286a!important}.yoast-promoblock.theme-software a{color:#0075b3!important}.yoast-promoblock.theme-review a{color:#009288!important}.yoast-promoblock.theme-review.secondary a{color:#77b227!important}.yoast-promoblock.theme-about a{color:#d93f69!important}.product .yoast-promoblock{overflow:hidden}.yoast-promoblock--hometitle{display:-ms-flexbox;display:flex;max-width:16em;height:11em;margin:1rem auto 2rem;border-color:#fff!important;background-color:rgba(217,63,105,.25);font-size:16px;font-size:1rem;line-height:1;-webkit-box-pack:center;-ms-flex-align:center;-ms-flex-line-pack:center;-ms-flex-pack:justify}.old-ie .yoast-promoblock--hometitle{text-align:justify}.old-ie .yoast-promoblock--hometitle::after{display:inline-block;width:100%;content:""}.old-ie .yoast-promoblock--hometitle>*{display:inline-block;text-align:right}@media only screen and (max-width:30rem){.yoast-promoblock--hometitle::after{content:none!important}}.yoast-promoblock--imageholder{margin-bottom:0;padding:0}.yoast-promoblock--imageholdersmall{position:absolute}.yoast-promoblock--imageholdersmall:first-child{right:4rem}.yoast-promoblock--imageholdersmall:last-child{top:4rem}@media only screen and (max-width:50rem){.yoast-promoblock h2{margin-bottom:0}}a.promoblock{color:#000}.promoblockimage__holder{position:relative;width:240px;height:295px}@media only screen and (min-width:50rem){[class*=promoblock--icon]::before{position:absolute;left:.47rem;bottom:.47rem;font-family:FontAwesome,"Open Sans",Arial,sans-serif;font-size:2.2rem;line-height:1}body.theme-about [class*=promoblock--icon]::before{color:#d93f69}body.theme-about .promoblock a.color-cta{color:#009288!important}body.theme-academy [class*=promoblock--icon]::before{color:#5d237a}body.theme-software [class*=promoblock--icon]::before{color:#0075b3}.promoblock--icon-academy::before{content:"\f19d"}.promoblock--icon-blog::before{content:"\f1ea"}.promoblock--icon-book::before{content:"\f02d"}.promoblock--icon-calendar::before{content:"\f073"}.promoblock--icon-check::before{content:"\f046"}.promoblock--icon-drupal::before{content:"\f1a9"}.promoblock--icon-gears::before{content:"\f085"}.promoblock--icon-pencil::before{content:"\f040"}.promoblock--icon-plug::before{content:"\f1e6"}.promoblock--icon-video::before{content:"\f008"}.promoblock--icon-wordpress::before{content:"\f19a"}}.yoast,.yoast-link--license,.yoast-link--more-info{font-family:"Open Sans",Arial,sans-serif}.yoast{color:#000;font-size:1rem;line-height:1.88;letter-spacing:.01em}.yoast-button--extension-buy:visited,.yoast-promo-extension .yoast-button--installed{color:#fff}.yoast *,.yoast :after,.yoast :before{box-sizing:border-box}.yoast-hr{position:relative;margin:0;padding-bottom:1.88rem;border:0;border-top:1px solid #a4286a}.yoast-list--usp li:before{width:1em;height:100%;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") right .4em no-repeat;background-size:contain;content:""}.yoast-button--purple{background-color:#5d237a}.yoast-button-go-to:after{position:static;top:auto;left:auto;width:auto;height:auto;border:none;content:" \00BB"}.yoast-button--extension{padding-left:.8em;padding-right:.8em;color:#fff;text-transform:uppercase}.yoast-button--extension+.yoast-button--extension-activated,.yoast-button--extension+.yoast-button--extension-not-activated{margin-right:0}.yoast-button--extension-buy,.yoast-button--extension-buy:hover{background-color:#a4286a}.yoast-button--extension-installed{margin-left:.2rem}.yoast-button--extension-installed,.yoast-button--extension-installed:hover{background-color:#008a00}.yoast-button--extension-not-activated,.yoast-button--extension-not-activated:hover{background-color:#dc3232}.yoast-button--extension-activated,.yoast-button--extension-activated:hover{background-color:#008a00}.yoast-promo-extensions{display:-ms-flexbox;display:flex;margin-right:-24px;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast-promo-extensions>h2{width:100%;margin-bottom:32px;margin-right:32px}.yoast-promo-extension{max-width:340px;margin-right:32px;padding-bottom:120px;border-color:#a4286a;background-color:transparent}.yoast-promo-extension:first-child{margin-right:0}.yoast-promo-extension img{width:100%;height:auto;margin-bottom:.8rem}.yoast-promo-extension .yoast-button-container{position:absolute;left:20px;bottom:20px;right:20px}.yoast-promo-extension .yoast-button-container div.yoast-button--extension{cursor:default}.yoast-promo-extension .yoast-button{width:100%;max-height:none;font-size:.9rem}.yoast-promo-extension .yoast-button--extension{margin-top:0;font-size:.9rem;text-align:center}.yoast-promo-extension .yoast-button--extension-installed{width:48%;margin:0 0 0 2%}.yoast-promo-extension .yoast-button--extension-activated,.yoast-promo-extension .yoast-button--extension-not-activated{width:48%;margin-left:0;margin-right:0}.yoast-promo-extension h3{color:#a4286a}@media screen and (max-width:900px){.yoast-promo-extension img{display:none}.yoast-promo-extension{width:100%;max-width:none}}.yoast-seo-premium-extension{margin:2em .5em 1.5em}.yoast-seo-premium-extension:after,.yoast-seo-premium-extension:before{display:table;content:""}.yoast-seo-premium-extension:after{clear:both}.yoast-seo-premium-benefits__title{font-weight:600}.yoast-seo-premium-benefits__description:before{content:"– "}.yoast-link--license:after,.yoast-link--more-info:after{content:" \00BB"}.yoast-link--license{margin:1em 0 0}.yoast-promo-extension .yoast-link--license{display:block;margin:1em 0 0}.yoast-link--more-info{padding-right:calc(1em + 5px);background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23A4286A%22%20d%3D%22M1152%201376v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D96v%2D512q0%2D14%2D9%2D23t%2D23%2D9h%2D320q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h96v320h%2D96q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h448q14%200%2023%2D9t9%2D23zm%2D128%2D896v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D192q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h192q14%200%2023%2D9t9%2D23zm640%20416q0%20209%2D103%20385%2E5t%2D279%2E5%20279%2E5%2D385%2E5%20103%2D385%2E5%2D103%2D279%2E5%2D279%2E5%2D103%2D385%2E5%20103%2D385%2E5%20279%2E5%2D279%2E5%20385%2E5%2D103%20385%2E5%20103%20279%2E5%20279%2E5%20103%20385%2E5z%22%2F%3E%3C%2Fsvg%3E") right .2em no-repeat;background-size:1em}.yoast-promo-extension .yoast-link--more-info{display:block;margin:1em 0 0;background-position:right .4em}.yoast-money-back-guarantee{font-size:1.1em;font-style:italic}.yoast-license-status-active{padding:3px 6px;color:#fff;background:#008a00}.yoast-license-status-inactive{padding:3px 6px;color:#fff;background:#dc3232}
 
css/dist/yoast-extensions-840.min.css DELETED
@@ -1 +0,0 @@
1
- @charset "UTF-8";.yoast-list--usp{margin-bottom:1em;padding:0;font-family:"Open Sans",Arial,sans-serif}.yoast-list--usp li{position:relative;padding-left:1.2533333333rem;list-style:none!important}.yoast-list--usp li::before{position:absolute;top:0;left:0;color:#77b227;font-family:FontAwesome,"Open Sans",Arial,sans-serif;content:"\f00c\0020"}.yoast .h1,.yoast .h2,.yoast .h3,.yoast .h4,.yoast .h5,.yoast .h6,.yoast h1,.yoast h2,.yoast h3,.yoast h4,.yoast h5,.yoast h6{display:block;margin-top:0;font-family:"Open Sans",Arial,sans-serif;font-weight:300}.yoast .h1,.yoast h1{margin-bottom:1.35rem;font-size:2.5em;line-height:3.68rem;letter-spacing:normal}@media only screen and (min-width:30rem){.yoast .h1,.yoast h1{font-size:2.75em}}.yoast .h2,.yoast h2{margin-bottom:1.2rem;font-size:1.88em;line-height:2.5rem}.yoast .h2.tight,.yoast h2.tight{margin-bottom:.6rem}.yoast .h3,.yoast h3{margin-bottom:.8rem;font-size:1.25em;line-height:1.88rem}.yoast .h3.tight,.yoast h3.tight{margin-bottom:.4rem}@media only screen and (min-width:30rem){.yoast .h3,.yoast h3{font-size:1.375em}}@media only screen and (min-width:50rem){.yoast .h3,.yoast h3{font-size:1.5em}}.yoast .h4,.yoast .h5,.yoast .h6,.yoast h4,.yoast h5,.yoast h6{margin-bottom:.2rem;font-size:1.13em;font-weight:400;line-height:1.88rem}.yoast-button{display:inline-block;position:relative;width:100%;padding:.345em 1.5em .345em 1em;border:0;color:#dc5c04;background-color:#dc5c04;font-family:"Open Sans",Arial,sans-serif;font-size:1.1em;text-decoration:none;cursor:pointer}@media only screen and (min-width:30rem){.yoast-button{width:auto;max-height:2.86rem;margin-right:1.36rem}.yoast-button.left::before,.yoast-button::after{position:absolute;top:0;width:0;height:0;border-top:1.43rem solid transparent;border-bottom:1.44rem solid transparent}.yoast-button::after{right:-1.36rem;border-right:0;border-left:1.43rem solid #dc5c04;content:""}.yoast-button.left{margin-right:0;margin-left:1.36rem}.yoast-button.left::after{content:none}.yoast-button.left::before{left:-1.36rem;border-right:1.43rem solid #dc5c04;border-left:0;content:""}}.yoast-button--full::after,.yoast-button--naked::after,.yoast-button--noarrow::after{content:none}.yoast-button.alignleft{margin:1rem 2.5rem 0 0!important}.yoast-button .arrow{display:none}.yoast-button+.yoast-button{margin-top:1em;margin-left:1.88rem}.yoast-button--full{width:100%}.yoast-button.default{color:#fff;background-color:#dc5c04}.yoast-button.default::after{border-left-color:#dc5c04}.yoast-button.default::before{border-right-color:#dc5c04}.yoast-button a:focus,.yoast-button:hover{color:#fff;background-color:#f58223;text-decoration:underline}.yoast-button a:focus::after,.yoast-button:hover::after{border-left-color:#f58223}.yoast-button a:focus::before,.yoast-button:hover::before{border-right-color:#f58223}.yoast-button.academy{color:#fff;background-color:#5d237a}.yoast-button.academy::after{border-left-color:#5d237a}.yoast-button.academy::before{border-right-color:#5d237a}@media only screen and (max-width:20rem){.yoast-button.academy{background-color:#5d237a}.yoast-button.academy--secondary{background-color:#a4286a}}.yoast-button.academy--secondary{color:#fff;background-color:#a4286a}.yoast-button.academy--secondary::after{border-left-color:#a4286a}.yoast-button.academy--secondary::before{border-right-color:#a4286a}.yoast-button.software{color:#fff;background-color:#0075b3}.yoast-button.software::after{border-left-color:#0075b3}.yoast-button.software::before{border-right-color:#0075b3}.yoast-button.review{color:#fff;background-color:#009288}.yoast-button.about,.yoast_academy .yoast-button{background-color:#d93f69;color:#fff}.yoast-button.review::after{border-left-color:#009288}.yoast-button.about::after,.yoast_academy .yoast-button::after{border-left-color:#d93f69}.yoast-button.review::before{border-right-color:#009288}.yoast-button.about::before,.yoast_academy .yoast-button::before{border-right-color:#d93f69}.yoast_academy .yoast-button a:focus,.yoast_academy .yoast-button:hover{color:#fff;background-color:#d42a59;text-decoration:underline}.yoast_academy .yoast-button a:focus::after,.yoast_academy .yoast-button:hover::after{border-left-color:#d42a59}.yoast_academy .yoast-button a:focus::before,.yoast_academy .yoast-button:hover::before{border-right-color:#d42a59}.yoast_academy .yoast-button.dimmed,body .yoast-button.dimmed{color:#646464;background-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::after,body .yoast-button.dimmed::after{border-left-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::before,body .yoast-button.dimmed::before{border-right-color:#dcdcdc}.yoast_academy .yoast-button.dimmed a:focus,.yoast_academy .yoast-button.dimmed:hover,body .yoast-button.dimmed a:focus,body .yoast-button.dimmed:hover{color:#646464;background-color:#cdcdcd;text-decoration:underline}.yoast_academy .yoast-button.dimmed a:focus::after,.yoast_academy .yoast-button.dimmed:hover::after,body .yoast-button.dimmed a:focus::after,body .yoast-button.dimmed:hover::after{border-left-color:#cdcdcd}.yoast_academy .yoast-button.dimmed a:focus:before,.yoast_academy .yoast-button.dimmed:hover:before,body .yoast-button.dimmed a:focus:before,body .yoast-button.dimmed:hover:before{border-right-color:#cdcdcd}.yoast-button--naked{padding:0;border:none;background-color:transparent}.yoast-button i.fa{margin:4px 10px 0 0;font-size:140%}.theme-academy .yoast-promoblock{border-color:#5d237a}.theme-academy--secondary .yoast-promoblock{border-color:#a4286a}.theme-software .yoast-promoblock{border-color:#0075b3}.theme-review .yoast-promoblock{border-color:#009288}.theme-about .yoast-promoblock,.theme-home .yoast-promoblock{border-color:#d93f69}.theme-academy.yoast-promoblock{border-color:#5d237a}.theme-academy--secondary.yoast-promoblock{border-color:#a4286a}.theme-software.yoast-promoblock{border-color:#0075b3}.theme-review.yoast-promoblock,.theme-software--secondary.yoast-promoblock{border-color:#009288}.theme-review--secondary.yoast-promoblock{border-color:#77b227}.theme-about.yoast-promoblock{border-color:#d93f69}.theme-about--secondary.yoast-promoblock{border-color:#a4286a}.cta.yoast-promoblock,.link.yoast-promoblock{border-color:#dc5c04}.link.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.cta.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.yoast-promoblock{display:block;position:relative;margin-bottom:1.88rem;padding:20px;border:1px solid;border-radius:30px 30px 0;background-color:#fff;font-family:Merriweather,Georgia,serif}.yoast-promoblock p{color:#000}.yoast-promoblock p:last-of-type{margin-bottom:0}.yoast-promoblock i.blockicon{position:absolute;right:10px;bottom:10px;padding:0 0 0 .5em;font-size:2.25em}.yoast-promoblock a img{border:1px solid #dcdcdc}.yoast-promoblock p a{font-weight:600!important;text-decoration:underline}.yoast-button--extension-activated:hover,.yoast-button--extension-installed:hover,.yoast-button--extension-not-activated:hover,a.promoblock,a.promoblock:hover{text-decoration:none}.yoast-promoblock form a{font-family:"Open Sans",Arial,sans-serif;font-weight:400!important;text-decoration:none}.yoast-heading-highlight,.yoast-link--license,.yoast-link--more-info{font-weight:600;color:#a4286a}.yoast-promoblock .h4,.yoast-promoblock h4{margin-bottom:.7rem}.yoast-promoblock.link{border-color:#dc5c04}.yoast-promoblock.link a,.yoast-promoblock.link a:hover{color:#dc5c04}.yoast-promoblock--white{border-color:#fff!important}.yoast-promoblock.theme-academy a{color:#5d237a!important}.yoast-promoblock.theme-academy.secondary a{color:#a4286a!important}.yoast-promoblock.theme-software a{color:#0075b3!important}.yoast-promoblock.theme-review a{color:#009288!important}.yoast-promoblock.theme-review.secondary a{color:#77b227!important}.yoast-promoblock.theme-about a{color:#d93f69!important}.product .yoast-promoblock{overflow:hidden}.yoast-promoblock--hometitle{display:-ms-flexbox;display:flex;max-width:16em;height:11em;margin:1rem auto 2rem;border-color:#fff!important;background-color:rgba(217,63,105,.25);font-size:16px;font-size:1rem;line-height:1;-webkit-box-pack:center;-ms-flex-align:center;-ms-flex-line-pack:center;-ms-flex-pack:justify}.old-ie .yoast-promoblock--hometitle{text-align:justify}.old-ie .yoast-promoblock--hometitle::after{display:inline-block;width:100%;content:""}.old-ie .yoast-promoblock--hometitle>*{display:inline-block;text-align:left}@media only screen and (max-width:30rem){.yoast-promoblock--hometitle::after{content:none!important}}.yoast-promoblock--imageholder{margin-bottom:0;padding:0}.yoast-promoblock--imageholdersmall{position:absolute}.yoast-promoblock--imageholdersmall:first-child{left:4rem}.yoast-promoblock--imageholdersmall:last-child{top:4rem}@media only screen and (max-width:50rem){.yoast-promoblock h2{margin-bottom:0}}a.promoblock{color:#000}.promoblockimage__holder{position:relative;width:240px;height:295px}@media only screen and (min-width:50rem){[class*=promoblock--icon]::before{position:absolute;right:.47rem;bottom:.47rem;font-family:FontAwesome,"Open Sans",Arial,sans-serif;font-size:2.2rem;line-height:1}body.theme-about [class*=promoblock--icon]::before{color:#d93f69}body.theme-about .promoblock a.color-cta{color:#009288!important}body.theme-academy [class*=promoblock--icon]::before{color:#5d237a}body.theme-software [class*=promoblock--icon]::before{color:#0075b3}.promoblock--icon-academy::before{content:"\f19d"}.promoblock--icon-blog::before{content:"\f1ea"}.promoblock--icon-book::before{content:"\f02d"}.promoblock--icon-calendar::before{content:"\f073"}.promoblock--icon-check::before{content:"\f046"}.promoblock--icon-drupal::before{content:"\f1a9"}.promoblock--icon-gears::before{content:"\f085"}.promoblock--icon-pencil::before{content:"\f040"}.promoblock--icon-plug::before{content:"\f1e6"}.promoblock--icon-video::before{content:"\f008"}.promoblock--icon-wordpress::before{content:"\f19a"}}.yoast,.yoast-link--license,.yoast-link--more-info{font-family:"Open Sans",Arial,sans-serif}.yoast{color:#000;font-size:1rem;line-height:1.88;letter-spacing:.01em}.yoast-button--extension-buy:visited,.yoast-promo-extension .yoast-button--installed{color:#fff}.yoast *,.yoast :after,.yoast :before{box-sizing:border-box}.yoast-hr{position:relative;margin:0;padding-bottom:1.88rem;border:0;border-top:1px solid #a4286a}.yoast-list--usp li:before{width:1em;height:100%;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") left .4em no-repeat;background-size:contain;content:""}.yoast-button--purple{background-color:#5d237a}.yoast-button-go-to:after{position:static;top:auto;right:auto;width:auto;height:auto;border:none;content:" \00BB"}.yoast-button--extension{padding-right:.8em;padding-left:.8em;color:#fff;text-transform:uppercase}.yoast-button--extension+.yoast-button--extension-activated,.yoast-button--extension+.yoast-button--extension-not-activated{margin-left:0}.yoast-button--extension-buy,.yoast-button--extension-buy:hover{background-color:#a4286a}.yoast-button--extension-installed{margin-right:.2rem}.yoast-button--extension-installed,.yoast-button--extension-installed:hover{background-color:#008a00}.yoast-button--extension-not-activated,.yoast-button--extension-not-activated:hover{background-color:#dc3232}.yoast-button--extension-activated,.yoast-button--extension-activated:hover{background-color:#008a00}.yoast-promo-extensions{display:-ms-flexbox;display:flex;margin-left:-24px;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast-promo-extensions>h2{width:100%;margin-bottom:32px;margin-left:32px}.yoast-promo-extension{max-width:340px;margin-left:32px;padding-bottom:120px;border-color:#a4286a;background-color:transparent}.yoast-promo-extension:first-child{margin-left:0}.yoast-promo-extension img{width:100%;height:auto;margin-bottom:.8rem}.yoast-promo-extension .yoast-button-container{position:absolute;right:20px;bottom:20px;left:20px}.yoast-promo-extension .yoast-button-container div.yoast-button--extension{cursor:default}.yoast-promo-extension .yoast-button{width:100%;max-height:none;font-size:.9rem}.yoast-promo-extension .yoast-button--extension{margin-top:0;font-size:.9rem;text-align:center}.yoast-promo-extension .yoast-button--extension-installed{width:48%;margin:0 2% 0 0}.yoast-promo-extension .yoast-button--extension-activated,.yoast-promo-extension .yoast-button--extension-not-activated{width:48%;margin-right:0;margin-left:0}.yoast-promo-extension h3{color:#a4286a}@media screen and (max-width:900px){.yoast-promo-extension img{display:none}.yoast-promo-extension{width:100%;max-width:none}}.yoast-seo-premium-extension{margin:2em .5em 1.5em}.yoast-seo-premium-extension:after,.yoast-seo-premium-extension:before{display:table;content:""}.yoast-seo-premium-extension:after{clear:both}.yoast-seo-premium-benefits__title{font-weight:600}.yoast-seo-premium-benefits__description:before{content:"– "}.yoast-link--license:after,.yoast-link--more-info:after{content:" \00BB"}.yoast-link--license{margin:1em 0 0}.yoast-promo-extension .yoast-link--license{display:block;margin:1em 0 0}.yoast-link--more-info{padding-left:calc(1em + 5px);background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23A4286A%22%20d%3D%22M1152%201376v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D96v%2D512q0%2D14%2D9%2D23t%2D23%2D9h%2D320q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h96v320h%2D96q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h448q14%200%2023%2D9t9%2D23zm%2D128%2D896v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D192q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h192q14%200%2023%2D9t9%2D23zm640%20416q0%20209%2D103%20385%2E5t%2D279%2E5%20279%2E5%2D385%2E5%20103%2D385%2E5%2D103%2D279%2E5%2D279%2E5%2D103%2D385%2E5%20103%2D385%2E5%20279%2E5%2D279%2E5%20385%2E5%2D103%20385%2E5%20103%20279%2E5%20279%2E5%20103%20385%2E5z%22%2F%3E%3C%2Fsvg%3E") left .2em no-repeat;background-size:1em}.yoast-promo-extension .yoast-link--more-info{display:block;margin:1em 0 0;background-position:left .4em}.yoast-money-back-guarantee{font-size:1.1em;font-style:italic}.yoast-license-status-active{padding:3px 6px;color:#fff;background:#008a00}.yoast-license-status-inactive{padding:3px 6px;color:#fff;background:#dc3232}
 
css/dist/yoast-extensions-900-rtl.min.css ADDED
@@ -0,0 +1 @@
 
1
+ @charset "UTF-8";.yoast-list--usp{margin-bottom:1em;padding:0;font-family:"Open Sans",Arial,sans-serif}.yoast-list--usp li{position:relative;padding-right:1.2533333333rem;list-style:none!important}.yoast-list--usp li::before{position:absolute;top:0;right:0;color:#77b227;font-family:FontAwesome,"Open Sans",Arial,sans-serif;content:"\f00c\0020"}.yoast .h1,.yoast .h2,.yoast .h3,.yoast .h4,.yoast .h5,.yoast .h6,.yoast h1,.yoast h2,.yoast h3,.yoast h4,.yoast h5,.yoast h6{display:block;margin-top:0;font-family:"Open Sans",Arial,sans-serif;font-weight:300}.yoast .h1,.yoast h1{margin-bottom:1.35rem;font-size:2.5em;line-height:3.68rem;letter-spacing:normal}@media only screen and (min-width:30rem){.yoast .h1,.yoast h1{font-size:2.75em}}.yoast .h2,.yoast h2{margin-bottom:1.2rem;font-size:1.88em;line-height:2.5rem}.yoast .h2.tight,.yoast h2.tight{margin-bottom:.6rem}.yoast .h3,.yoast h3{margin-bottom:.8rem;font-size:1.25em;line-height:1.88rem}.yoast .h3.tight,.yoast h3.tight{margin-bottom:.4rem}@media only screen and (min-width:30rem){.yoast .h3,.yoast h3{font-size:1.375em}}@media only screen and (min-width:50rem){.yoast .h3,.yoast h3{font-size:1.5em}}.yoast .h4,.yoast .h5,.yoast .h6,.yoast h4,.yoast h5,.yoast h6{margin-bottom:.2rem;font-size:1.13em;font-weight:400;line-height:1.88rem}.yoast-button{display:inline-block;position:relative;width:100%;padding:.345em 1em .345em 1.5em;border:0;color:#dc5c04;background-color:#dc5c04;font-family:"Open Sans",Arial,sans-serif;font-size:1.1em;text-decoration:none;cursor:pointer}@media only screen and (min-width:30rem){.yoast-button{width:auto;max-height:2.86rem;margin-left:1.36rem}.yoast-button.left::before,.yoast-button::after{position:absolute;top:0;width:0;height:0;border-top:1.43rem solid transparent;border-bottom:1.44rem solid transparent}.yoast-button::after{left:-1.36rem;border-left:0;border-right:1.43rem solid #dc5c04;content:""}.yoast-button.left{margin-left:0;margin-right:1.36rem}.yoast-button.left::after{content:none}.yoast-button.left::before{right:-1.36rem;border-left:1.43rem solid #dc5c04;border-right:0;content:""}}.yoast-button--full::after,.yoast-button--naked::after,.yoast-button--noarrow::after{content:none}.yoast-button.alignleft{margin:1rem 0 0 2.5rem!important}.yoast-button .arrow{display:none}.yoast-button+.yoast-button{margin-top:1em;margin-right:1.88rem}.yoast-button--full{width:100%}.yoast-button.default{color:#fff;background-color:#dc5c04}.yoast-button.default::after{border-right-color:#dc5c04}.yoast-button.default::before{border-left-color:#dc5c04}.yoast-button a:focus,.yoast-button:hover{color:#fff;background-color:#f58223;text-decoration:underline}.yoast-button a:focus::after,.yoast-button:hover::after{border-right-color:#f58223}.yoast-button a:focus::before,.yoast-button:hover::before{border-left-color:#f58223}.yoast-button.academy{color:#fff;background-color:#5d237a}.yoast-button.academy::after{border-right-color:#5d237a}.yoast-button.academy::before{border-left-color:#5d237a}@media only screen and (max-width:20rem){.yoast-button.academy{background-color:#5d237a}.yoast-button.academy--secondary{background-color:#a4286a}}.yoast-button.academy--secondary{color:#fff;background-color:#a4286a}.yoast-button.academy--secondary::after{border-right-color:#a4286a}.yoast-button.academy--secondary::before{border-left-color:#a4286a}.yoast-button.software{color:#fff;background-color:#0075b3}.yoast-button.software::after{border-right-color:#0075b3}.yoast-button.software::before{border-left-color:#0075b3}.yoast-button.review{color:#fff;background-color:#009288}.yoast-button.about,.yoast_academy .yoast-button{background-color:#d93f69;color:#fff}.yoast-button.review::after{border-right-color:#009288}.yoast-button.about::after,.yoast_academy .yoast-button::after{border-right-color:#d93f69}.yoast-button.review::before{border-left-color:#009288}.yoast-button.about::before,.yoast_academy .yoast-button::before{border-left-color:#d93f69}.yoast_academy .yoast-button a:focus,.yoast_academy .yoast-button:hover{color:#fff;background-color:#d42a59;text-decoration:underline}.yoast_academy .yoast-button a:focus::after,.yoast_academy .yoast-button:hover::after{border-right-color:#d42a59}.yoast_academy .yoast-button a:focus::before,.yoast_academy .yoast-button:hover::before{border-left-color:#d42a59}.yoast_academy .yoast-button.dimmed,body .yoast-button.dimmed{color:#646464;background-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::after,body .yoast-button.dimmed::after{border-right-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::before,body .yoast-button.dimmed::before{border-left-color:#dcdcdc}.yoast_academy .yoast-button.dimmed a:focus,.yoast_academy .yoast-button.dimmed:hover,body .yoast-button.dimmed a:focus,body .yoast-button.dimmed:hover{color:#646464;background-color:#cdcdcd;text-decoration:underline}.yoast_academy .yoast-button.dimmed a:focus::after,.yoast_academy .yoast-button.dimmed:hover::after,body .yoast-button.dimmed a:focus::after,body .yoast-button.dimmed:hover::after{border-right-color:#cdcdcd}.yoast_academy .yoast-button.dimmed a:focus:before,.yoast_academy .yoast-button.dimmed:hover:before,body .yoast-button.dimmed a:focus:before,body .yoast-button.dimmed:hover:before{border-left-color:#cdcdcd}.yoast-button--naked{padding:0;border:none;background-color:transparent}.yoast-button i.fa{margin:4px 0 0 10px;font-size:140%}.theme-academy .yoast-promoblock{border-color:#5d237a}.theme-academy--secondary .yoast-promoblock{border-color:#a4286a}.theme-software .yoast-promoblock{border-color:#0075b3}.theme-review .yoast-promoblock{border-color:#009288}.theme-about .yoast-promoblock,.theme-home .yoast-promoblock{border-color:#d93f69}.theme-academy.yoast-promoblock{border-color:#5d237a}.theme-academy--secondary.yoast-promoblock{border-color:#a4286a}.theme-software.yoast-promoblock{border-color:#0075b3}.theme-review.yoast-promoblock,.theme-software--secondary.yoast-promoblock{border-color:#009288}.theme-review--secondary.yoast-promoblock{border-color:#77b227}.theme-about.yoast-promoblock{border-color:#d93f69}.theme-about--secondary.yoast-promoblock{border-color:#a4286a}.cta.yoast-promoblock,.link.yoast-promoblock{border-color:#dc5c04}.link.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.cta.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.yoast-promoblock{display:block;position:relative;margin-bottom:1.88rem;padding:20px;border:1px solid;border-radius:30px 30px 30px 0;background-color:#fff;font-family:Merriweather,Georgia,serif}.yoast-promoblock p{color:#000}.yoast-promoblock p:last-of-type{margin-bottom:0}.yoast-promoblock i.blockicon{position:absolute;left:10px;bottom:10px;padding:0 .5em 0 0;font-size:2.25em}.yoast-promoblock a img{border:1px solid #dcdcdc}.yoast-promoblock p a{font-weight:600!important;text-decoration:underline}.yoast-button--extension-activated:hover,.yoast-button--extension-installed:hover,.yoast-button--extension-not-activated:hover,.yoast-promoblock form a,a.promoblock,a.promoblock:hover{text-decoration:none}.yoast-promoblock form a{font-family:"Open Sans",Arial,sans-serif;font-weight:400!important}.yoast-heading-highlight,.yoast-link--license,.yoast-link--more-info{font-weight:600;color:#a4286a}.yoast-promoblock .h4,.yoast-promoblock h4{margin-bottom:.7rem}.yoast-promoblock.link{border-color:#dc5c04}.yoast-promoblock.link a,.yoast-promoblock.link a:hover{color:#dc5c04}.yoast-promoblock--white{border-color:#fff!important}.yoast-promoblock.theme-academy a{color:#5d237a!important}.yoast-promoblock.theme-academy.secondary a{color:#a4286a!important}.yoast-promoblock.theme-software a{color:#0075b3!important}.yoast-promoblock.theme-review a{color:#009288!important}.yoast-promoblock.theme-review.secondary a{color:#77b227!important}.yoast-promoblock.theme-about a{color:#d93f69!important}.product .yoast-promoblock{overflow:hidden}.yoast-promoblock--hometitle{display:-ms-flexbox;display:flex;max-width:16em;height:11em;margin:1rem auto 2rem;border-color:#fff!important;background-color:rgba(217,63,105,.25);font-size:16px;font-size:1rem;line-height:1;-webkit-box-pack:center;-ms-flex-align:center;-ms-flex-line-pack:center;-ms-flex-pack:justify}.old-ie .yoast-promoblock--hometitle{text-align:justify}.old-ie .yoast-promoblock--hometitle::after{display:inline-block;width:100%;content:""}.old-ie .yoast-promoblock--hometitle>*{display:inline-block;text-align:right}@media only screen and (max-width:30rem){.yoast-promoblock--hometitle::after{content:none!important}}.yoast-promoblock--imageholder{margin-bottom:0;padding:0}.yoast-promoblock--imageholdersmall{position:absolute}.yoast-promoblock--imageholdersmall:first-child{right:4rem}.yoast-promoblock--imageholdersmall:last-child{top:4rem}@media only screen and (max-width:50rem){.yoast-promoblock h2{margin-bottom:0}}a.promoblock{color:#000}.promoblockimage__holder{position:relative;width:240px;height:295px}@media only screen and (min-width:50rem){[class*=promoblock--icon]::before{position:absolute;left:.47rem;bottom:.47rem;font-family:FontAwesome,"Open Sans",Arial,sans-serif;font-size:2.2rem;line-height:1}body.theme-about [class*=promoblock--icon]::before{color:#d93f69}body.theme-about .promoblock a.color-cta{color:#009288!important}body.theme-academy [class*=promoblock--icon]::before{color:#5d237a}body.theme-software [class*=promoblock--icon]::before{color:#0075b3}.promoblock--icon-academy::before{content:"\f19d"}.promoblock--icon-blog::before{content:"\f1ea"}.promoblock--icon-book::before{content:"\f02d"}.promoblock--icon-calendar::before{content:"\f073"}.promoblock--icon-check::before{content:"\f046"}.promoblock--icon-drupal::before{content:"\f1a9"}.promoblock--icon-gears::before{content:"\f085"}.promoblock--icon-pencil::before{content:"\f040"}.promoblock--icon-plug::before{content:"\f1e6"}.promoblock--icon-video::before{content:"\f008"}.promoblock--icon-wordpress::before{content:"\f19a"}}.yoast,.yoast-link--license,.yoast-link--more-info{font-family:"Open Sans",Arial,sans-serif}.yoast{color:#000;font-size:1rem;line-height:1.88;letter-spacing:.01em}.yoast *,.yoast :after,.yoast :before{box-sizing:border-box}.yoast-hr{position:relative;margin:0;padding-bottom:1.88rem;border:0;border-top:1px solid #a4286a}.yoast-list--usp li:before{width:1em;height:100%;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") right .4em no-repeat;background-size:contain;content:""}.yoast-button--purple{background-color:#5d237a}.yoast-button-go-to:after{position:static;top:auto;left:auto;width:auto;height:auto;border:none;content:" \00BB"}.yoast-button--extension{padding-left:.8em;padding-right:.8em;color:#fff;text-transform:uppercase}.yoast-button--extension+.yoast-button--extension-activated,.yoast-button--extension+.yoast-button--extension-not-activated{margin-right:0}.yoast-button--extension-buy{min-height:48px;padding-left:1.5em;padding-right:1em;border-radius:4px;color:#000;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 3% 45% no-repeat #fec228;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);font-size:16px;text-transform:initial;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .2))}.yoast-button--extension-buy:active,.yoast-button--extension-buy:focus,.yoast-button--extension-buy:hover{color:#000;background-color:#f2ae01;text-decoration:none}.yoast-button--extension-buy:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button--extension-buy:active{box-shadow:none;-ms-transform:translateY(1px);transform:translateY(1px);filter:none}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.yoast-button--extension-buy ::after{display:inline-block;min-height:32px;content:""}}.yoast-button--extension-installed{margin-left:.2rem}.yoast-button--extension-installed,.yoast-button--extension-installed:hover{background-color:#008a00}.yoast-button--extension-not-activated,.yoast-button--extension-not-activated:hover{background-color:#dc3232}.yoast-button--extension-activated,.yoast-button--extension-activated:hover{background-color:#008a00}.yoast-promo-extensions{display:-ms-flexbox;display:flex;margin-right:-24px;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast-promo-extensions>h2{width:100%;margin-bottom:32px;margin-right:32px}.yoast-promo-extensions .yoast-button.yoast-button--extension-buy{font-size:16px}.yoast-promo-extension{max-width:340px;margin-right:32px;padding-bottom:120px;border-color:#a4286a;background-color:transparent}.yoast-promo-extension:first-child{margin-right:0}.yoast-promo-extension img{width:100%;height:auto;margin-bottom:.8rem}.yoast-promo-extension .yoast-button-container{position:absolute;left:20px;bottom:20px;right:20px}.yoast-promo-extension .yoast-button-container div.yoast-button--extension{cursor:default}.yoast-promo-extension .yoast-button{width:100%;max-height:none;font-size:.9rem}.yoast-promo-extension .yoast-button--installed{color:#fff}.yoast-promo-extension .yoast-button--extension{margin-top:0;font-size:.9rem;text-align:center}.yoast-promo-extension .yoast-button--extension-installed{width:48%;margin:0 0 0 2%}.yoast-promo-extension .yoast-button--extension-activated,.yoast-promo-extension .yoast-button--extension-not-activated{width:48%;margin-left:0;margin-right:0}.yoast-promo-extension h3{color:#a4286a}@media screen and (max-width:900px){.yoast-promo-extension img{display:none}.yoast-promo-extension{width:100%;max-width:none}}.yoast-seo-premium-extension{margin:2em .5em 1.5em}.yoast-seo-premium-extension:after,.yoast-seo-premium-extension:before{display:table;content:""}.yoast-seo-premium-extension:after{clear:both}.yoast-seo-premium-benefits__title{font-weight:600}.yoast-seo-premium-benefits__description:before{content:"– "}.yoast-link--license:after,.yoast-link--more-info:after{content:" \00BB"}.yoast-link--license{margin:1em 0 0}.yoast-promo-extension .yoast-link--license{display:block;margin:1em 0 0}.yoast-link--more-info{padding-right:calc(1em + 5px);background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23A4286A%22%20d%3D%22M1152%201376v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D96v%2D512q0%2D14%2D9%2D23t%2D23%2D9h%2D320q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h96v320h%2D96q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h448q14%200%2023%2D9t9%2D23zm%2D128%2D896v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D192q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h192q14%200%2023%2D9t9%2D23zm640%20416q0%20209%2D103%20385%2E5t%2D279%2E5%20279%2E5%2D385%2E5%20103%2D385%2E5%2D103%2D279%2E5%2D279%2E5%2D103%2D385%2E5%20103%2D385%2E5%20279%2E5%2D279%2E5%20385%2E5%2D103%20385%2E5%20103%20279%2E5%20279%2E5%20103%20385%2E5z%22%2F%3E%3C%2Fsvg%3E") right .2em no-repeat;background-size:1em}.yoast-promo-extension .yoast-link--more-info{display:block;margin:1em 0 0;background-position:right .4em}.yoast-money-back-guarantee{font-size:1.1em;font-style:italic}.yoast-license-status-active{padding:3px 6px;color:#fff;background:#008a00}.yoast-license-status-inactive{padding:3px 6px;color:#fff;background:#dc3232}
css/dist/yoast-extensions-900.min.css ADDED
@@ -0,0 +1 @@
 
1
+ @charset "UTF-8";.yoast-list--usp{margin-bottom:1em;padding:0;font-family:"Open Sans",Arial,sans-serif}.yoast-list--usp li{position:relative;padding-left:1.2533333333rem;list-style:none!important}.yoast-list--usp li::before{position:absolute;top:0;left:0;color:#77b227;font-family:FontAwesome,"Open Sans",Arial,sans-serif;content:"\f00c\0020"}.yoast .h1,.yoast .h2,.yoast .h3,.yoast .h4,.yoast .h5,.yoast .h6,.yoast h1,.yoast h2,.yoast h3,.yoast h4,.yoast h5,.yoast h6{display:block;margin-top:0;font-family:"Open Sans",Arial,sans-serif;font-weight:300}.yoast .h1,.yoast h1{margin-bottom:1.35rem;font-size:2.5em;line-height:3.68rem;letter-spacing:normal}@media only screen and (min-width:30rem){.yoast .h1,.yoast h1{font-size:2.75em}}.yoast .h2,.yoast h2{margin-bottom:1.2rem;font-size:1.88em;line-height:2.5rem}.yoast .h2.tight,.yoast h2.tight{margin-bottom:.6rem}.yoast .h3,.yoast h3{margin-bottom:.8rem;font-size:1.25em;line-height:1.88rem}.yoast .h3.tight,.yoast h3.tight{margin-bottom:.4rem}@media only screen and (min-width:30rem){.yoast .h3,.yoast h3{font-size:1.375em}}@media only screen and (min-width:50rem){.yoast .h3,.yoast h3{font-size:1.5em}}.yoast .h4,.yoast .h5,.yoast .h6,.yoast h4,.yoast h5,.yoast h6{margin-bottom:.2rem;font-size:1.13em;font-weight:400;line-height:1.88rem}.yoast-button{display:inline-block;position:relative;width:100%;padding:.345em 1.5em .345em 1em;border:0;color:#dc5c04;background-color:#dc5c04;font-family:"Open Sans",Arial,sans-serif;font-size:1.1em;text-decoration:none;cursor:pointer}@media only screen and (min-width:30rem){.yoast-button{width:auto;max-height:2.86rem;margin-right:1.36rem}.yoast-button.left::before,.yoast-button::after{position:absolute;top:0;width:0;height:0;border-top:1.43rem solid transparent;border-bottom:1.44rem solid transparent}.yoast-button::after{right:-1.36rem;border-right:0;border-left:1.43rem solid #dc5c04;content:""}.yoast-button.left{margin-right:0;margin-left:1.36rem}.yoast-button.left::after{content:none}.yoast-button.left::before{left:-1.36rem;border-right:1.43rem solid #dc5c04;border-left:0;content:""}}.yoast-button--full::after,.yoast-button--naked::after,.yoast-button--noarrow::after{content:none}.yoast-button.alignleft{margin:1rem 2.5rem 0 0!important}.yoast-button .arrow{display:none}.yoast-button+.yoast-button{margin-top:1em;margin-left:1.88rem}.yoast-button--full{width:100%}.yoast-button.default{color:#fff;background-color:#dc5c04}.yoast-button.default::after{border-left-color:#dc5c04}.yoast-button.default::before{border-right-color:#dc5c04}.yoast-button a:focus,.yoast-button:hover{color:#fff;background-color:#f58223;text-decoration:underline}.yoast-button a:focus::after,.yoast-button:hover::after{border-left-color:#f58223}.yoast-button a:focus::before,.yoast-button:hover::before{border-right-color:#f58223}.yoast-button.academy{color:#fff;background-color:#5d237a}.yoast-button.academy::after{border-left-color:#5d237a}.yoast-button.academy::before{border-right-color:#5d237a}@media only screen and (max-width:20rem){.yoast-button.academy{background-color:#5d237a}.yoast-button.academy--secondary{background-color:#a4286a}}.yoast-button.academy--secondary{color:#fff;background-color:#a4286a}.yoast-button.academy--secondary::after{border-left-color:#a4286a}.yoast-button.academy--secondary::before{border-right-color:#a4286a}.yoast-button.software{color:#fff;background-color:#0075b3}.yoast-button.software::after{border-left-color:#0075b3}.yoast-button.software::before{border-right-color:#0075b3}.yoast-button.review{color:#fff;background-color:#009288}.yoast-button.about,.yoast_academy .yoast-button{background-color:#d93f69;color:#fff}.yoast-button.review::after{border-left-color:#009288}.yoast-button.about::after,.yoast_academy .yoast-button::after{border-left-color:#d93f69}.yoast-button.review::before{border-right-color:#009288}.yoast-button.about::before,.yoast_academy .yoast-button::before{border-right-color:#d93f69}.yoast_academy .yoast-button a:focus,.yoast_academy .yoast-button:hover{color:#fff;background-color:#d42a59;text-decoration:underline}.yoast_academy .yoast-button a:focus::after,.yoast_academy .yoast-button:hover::after{border-left-color:#d42a59}.yoast_academy .yoast-button a:focus::before,.yoast_academy .yoast-button:hover::before{border-right-color:#d42a59}.yoast_academy .yoast-button.dimmed,body .yoast-button.dimmed{color:#646464;background-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::after,body .yoast-button.dimmed::after{border-left-color:#dcdcdc}.yoast_academy .yoast-button.dimmed::before,body .yoast-button.dimmed::before{border-right-color:#dcdcdc}.yoast_academy .yoast-button.dimmed a:focus,.yoast_academy .yoast-button.dimmed:hover,body .yoast-button.dimmed a:focus,body .yoast-button.dimmed:hover{color:#646464;background-color:#cdcdcd;text-decoration:underline}.yoast_academy .yoast-button.dimmed a:focus::after,.yoast_academy .yoast-button.dimmed:hover::after,body .yoast-button.dimmed a:focus::after,body .yoast-button.dimmed:hover::after{border-left-color:#cdcdcd}.yoast_academy .yoast-button.dimmed a:focus:before,.yoast_academy .yoast-button.dimmed:hover:before,body .yoast-button.dimmed a:focus:before,body .yoast-button.dimmed:hover:before{border-right-color:#cdcdcd}.yoast-button--naked{padding:0;border:none;background-color:transparent}.yoast-button i.fa{margin:4px 10px 0 0;font-size:140%}.theme-academy .yoast-promoblock{border-color:#5d237a}.theme-academy--secondary .yoast-promoblock{border-color:#a4286a}.theme-software .yoast-promoblock{border-color:#0075b3}.theme-review .yoast-promoblock{border-color:#009288}.theme-about .yoast-promoblock,.theme-home .yoast-promoblock{border-color:#d93f69}.theme-academy.yoast-promoblock{border-color:#5d237a}.theme-academy--secondary.yoast-promoblock{border-color:#a4286a}.theme-software.yoast-promoblock{border-color:#0075b3}.theme-review.yoast-promoblock,.theme-software--secondary.yoast-promoblock{border-color:#009288}.theme-review--secondary.yoast-promoblock{border-color:#77b227}.theme-about.yoast-promoblock{border-color:#d93f69}.theme-about--secondary.yoast-promoblock{border-color:#a4286a}.cta.yoast-promoblock,.link.yoast-promoblock{border-color:#dc5c04}.link.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.cta.yoast-promoblock::after{-moz-filter:drop-shadow(1px 0 0 #dc5c04);-ms-filter:drop-shadow(1px 0 0 #dc5c04);-o-filter:drop-shadow(1px 0 0 #dc5c04);filter:drop-shadow(1px 0 0 #dc5c04)}.yoast-promoblock{display:block;position:relative;margin-bottom:1.88rem;padding:20px;border:1px solid;border-radius:30px 30px 0;background-color:#fff;font-family:Merriweather,Georgia,serif}.yoast-promoblock p{color:#000}.yoast-promoblock p:last-of-type{margin-bottom:0}.yoast-promoblock i.blockicon{position:absolute;right:10px;bottom:10px;padding:0 0 0 .5em;font-size:2.25em}.yoast-promoblock a img{border:1px solid #dcdcdc}.yoast-promoblock p a{font-weight:600!important;text-decoration:underline}.yoast-button--extension-activated:hover,.yoast-button--extension-installed:hover,.yoast-button--extension-not-activated:hover,.yoast-promoblock form a,a.promoblock,a.promoblock:hover{text-decoration:none}.yoast-promoblock form a{font-family:"Open Sans",Arial,sans-serif;font-weight:400!important}.yoast-heading-highlight,.yoast-link--license,.yoast-link--more-info{font-weight:600;color:#a4286a}.yoast-promoblock .h4,.yoast-promoblock h4{margin-bottom:.7rem}.yoast-promoblock.link{border-color:#dc5c04}.yoast-promoblock.link a,.yoast-promoblock.link a:hover{color:#dc5c04}.yoast-promoblock--white{border-color:#fff!important}.yoast-promoblock.theme-academy a{color:#5d237a!important}.yoast-promoblock.theme-academy.secondary a{color:#a4286a!important}.yoast-promoblock.theme-software a{color:#0075b3!important}.yoast-promoblock.theme-review a{color:#009288!important}.yoast-promoblock.theme-review.secondary a{color:#77b227!important}.yoast-promoblock.theme-about a{color:#d93f69!important}.product .yoast-promoblock{overflow:hidden}.yoast-promoblock--hometitle{display:-ms-flexbox;display:flex;max-width:16em;height:11em;margin:1rem auto 2rem;border-color:#fff!important;background-color:rgba(217,63,105,.25);font-size:16px;font-size:1rem;line-height:1;-webkit-box-pack:center;-ms-flex-align:center;-ms-flex-line-pack:center;-ms-flex-pack:justify}.old-ie .yoast-promoblock--hometitle{text-align:justify}.old-ie .yoast-promoblock--hometitle::after{display:inline-block;width:100%;content:""}.old-ie .yoast-promoblock--hometitle>*{display:inline-block;text-align:left}@media only screen and (max-width:30rem){.yoast-promoblock--hometitle::after{content:none!important}}.yoast-promoblock--imageholder{margin-bottom:0;padding:0}.yoast-promoblock--imageholdersmall{position:absolute}.yoast-promoblock--imageholdersmall:first-child{left:4rem}.yoast-promoblock--imageholdersmall:last-child{top:4rem}@media only screen and (max-width:50rem){.yoast-promoblock h2{margin-bottom:0}}a.promoblock{color:#000}.promoblockimage__holder{position:relative;width:240px;height:295px}@media only screen and (min-width:50rem){[class*=promoblock--icon]::before{position:absolute;right:.47rem;bottom:.47rem;font-family:FontAwesome,"Open Sans",Arial,sans-serif;font-size:2.2rem;line-height:1}body.theme-about [class*=promoblock--icon]::before{color:#d93f69}body.theme-about .promoblock a.color-cta{color:#009288!important}body.theme-academy [class*=promoblock--icon]::before{color:#5d237a}body.theme-software [class*=promoblock--icon]::before{color:#0075b3}.promoblock--icon-academy::before{content:"\f19d"}.promoblock--icon-blog::before{content:"\f1ea"}.promoblock--icon-book::before{content:"\f02d"}.promoblock--icon-calendar::before{content:"\f073"}.promoblock--icon-check::before{content:"\f046"}.promoblock--icon-drupal::before{content:"\f1a9"}.promoblock--icon-gears::before{content:"\f085"}.promoblock--icon-pencil::before{content:"\f040"}.promoblock--icon-plug::before{content:"\f1e6"}.promoblock--icon-video::before{content:"\f008"}.promoblock--icon-wordpress::before{content:"\f19a"}}.yoast,.yoast-link--license,.yoast-link--more-info{font-family:"Open Sans",Arial,sans-serif}.yoast{color:#000;font-size:1rem;line-height:1.88;letter-spacing:.01em}.yoast *,.yoast :after,.yoast :before{box-sizing:border-box}.yoast-hr{position:relative;margin:0;padding-bottom:1.88rem;border:0;border-top:1px solid #a4286a}.yoast-list--usp li:before{width:1em;height:100%;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") left .4em no-repeat;background-size:contain;content:""}.yoast-button--purple{background-color:#5d237a}.yoast-button-go-to:after{position:static;top:auto;right:auto;width:auto;height:auto;border:none;content:" \00BB"}.yoast-button--extension{padding-right:.8em;padding-left:.8em;color:#fff;text-transform:uppercase}.yoast-button--extension+.yoast-button--extension-activated,.yoast-button--extension+.yoast-button--extension-not-activated{margin-left:0}.yoast-button--extension-buy{min-height:48px;padding-right:1.5em;padding-left:1em;border-radius:4px;color:#000;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 97% 45% no-repeat #fec228;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);font-size:16px;text-transform:initial;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .2))}.yoast-button--extension-buy:active,.yoast-button--extension-buy:focus,.yoast-button--extension-buy:hover{color:#000;background-color:#f2ae01;text-decoration:none}.yoast-button--extension-buy:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button--extension-buy:active{box-shadow:none;-ms-transform:translateY(1px);transform:translateY(1px);filter:none}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.yoast-button--extension-buy ::after{display:inline-block;min-height:32px;content:""}}.yoast-button--extension-installed{margin-right:.2rem}.yoast-button--extension-installed,.yoast-button--extension-installed:hover{background-color:#008a00}.yoast-button--extension-not-activated,.yoast-button--extension-not-activated:hover{background-color:#dc3232}.yoast-button--extension-activated,.yoast-button--extension-activated:hover{background-color:#008a00}.yoast-promo-extensions{display:-ms-flexbox;display:flex;margin-left:-24px;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast-promo-extensions>h2{width:100%;margin-bottom:32px;margin-left:32px}.yoast-promo-extensions .yoast-button.yoast-button--extension-buy{font-size:16px}.yoast-promo-extension{max-width:340px;margin-left:32px;padding-bottom:120px;border-color:#a4286a;background-color:transparent}.yoast-promo-extension:first-child{margin-left:0}.yoast-promo-extension img{width:100%;height:auto;margin-bottom:.8rem}.yoast-promo-extension .yoast-button-container{position:absolute;right:20px;bottom:20px;left:20px}.yoast-promo-extension .yoast-button-container div.yoast-button--extension{cursor:default}.yoast-promo-extension .yoast-button{width:100%;max-height:none;font-size:.9rem}.yoast-promo-extension .yoast-button--installed{color:#fff}.yoast-promo-extension .yoast-button--extension{margin-top:0;font-size:.9rem;text-align:center}.yoast-promo-extension .yoast-button--extension-installed{width:48%;margin:0 2% 0 0}.yoast-promo-extension .yoast-button--extension-activated,.yoast-promo-extension .yoast-button--extension-not-activated{width:48%;margin-right:0;margin-left:0}.yoast-promo-extension h3{color:#a4286a}@media screen and (max-width:900px){.yoast-promo-extension img{display:none}.yoast-promo-extension{width:100%;max-width:none}}.yoast-seo-premium-extension{margin:2em .5em 1.5em}.yoast-seo-premium-extension:after,.yoast-seo-premium-extension:before{display:table;content:""}.yoast-seo-premium-extension:after{clear:both}.yoast-seo-premium-benefits__title{font-weight:600}.yoast-seo-premium-benefits__description:before{content:"– "}.yoast-link--license:after,.yoast-link--more-info:after{content:" \00BB"}.yoast-link--license{margin:1em 0 0}.yoast-promo-extension .yoast-link--license{display:block;margin:1em 0 0}.yoast-link--more-info{padding-left:calc(1em + 5px);background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23A4286A%22%20d%3D%22M1152%201376v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D96v%2D512q0%2D14%2D9%2D23t%2D23%2D9h%2D320q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h96v320h%2D96q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h448q14%200%2023%2D9t9%2D23zm%2D128%2D896v%2D160q0%2D14%2D9%2D23t%2D23%2D9h%2D192q%2D14%200%2D23%209t%2D9%2023v160q0%2014%209%2023t23%209h192q14%200%2023%2D9t9%2D23zm640%20416q0%20209%2D103%20385%2E5t%2D279%2E5%20279%2E5%2D385%2E5%20103%2D385%2E5%2D103%2D279%2E5%2D279%2E5%2D103%2D385%2E5%20103%2D385%2E5%20279%2E5%2D279%2E5%20385%2E5%2D103%20385%2E5%20103%20279%2E5%20279%2E5%20103%20385%2E5z%22%2F%3E%3C%2Fsvg%3E") left .2em no-repeat;background-size:1em}.yoast-promo-extension .yoast-link--more-info{display:block;margin:1em 0 0;background-position:left .4em}.yoast-money-back-guarantee{font-size:1.1em;font-style:italic}.yoast-license-status-active{padding:3px 6px;color:#fff;background:#008a00}.yoast-license-status-inactive{padding:3px 6px;color:#fff;background:#dc3232}
css/dist/{yst_plugin_tools-840-rtl.min.css → yst_plugin_tools-900-rtl.min.css} RENAMED
@@ -1 +1 @@
1
- .yoast-variable-desc,table.yoast_help .yoast-variable-desc{min-width:300px}.yoast-sidebar__title,.yoast-table-scrollable,.yoast-table-scrollable td,.yoast-table-scrollable th{box-sizing:border-box}.wpseo_content_wrapper{display:table;width:100%;table-layout:fixed}.wpseo_content_cell{display:table-cell;height:500px;margin:0;padding:0;vertical-align:top}#wpseo_content_top{width:100%}tr.yst_row{margin:5px 0 0;padding:5px 0 0}#sidebar-container{width:261px;padding:0 19px 0 0}tr.yst_row.even{background-color:#f6f6f6}.wpseo_content_wrapper label.select,.wpseo_content_wrapper label.textinput{float:right;width:200px;margin:5px 0}.wpseo_content_wrapper .yoast-inline-label{float:none;margin:0}.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper select,.wpseo_content_wrapper textarea{width:400px}.wpseo_content_wrapper input.large-text,.wpseo_content_wrapper textarea.large-text{width:99%}.wpseo_content_wrapper .select2-container,.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper select.select,.wpseo_content_wrapper textarea.textinput{margin:0 0 15px}.wpseo_content_wrapper input.checkbox,.wpseo_content_wrapper input.checkbox.double,.wpseo_content_wrapper input.radio{margin:6px 0 6px 10px}.wpseo_content_wrapper .textinput.metadesc{height:50px}.wpseo_content_wrapper textarea.import{width:500px;height:100px}.wpseo_content_wrapper p.desc{margin:6px 0 10px;padding:0 25px 8px 0}.wpseo_content_wrapper div.desc.label,.wpseo_content_wrapper p.desc.label{margin:0 0 20px;padding:0 200px 10px 0}.wpseo_content_wrapper h4{clear:both;margin:1.2em 0 .5em}.wpseo_content_wrapper .postbox{margin:10px 0 0 10px}.wpseo_content_wrapper .postbox form{line-height:150%}.wpseo_content_wrapper .text{width:250px}.wpseo_content_wrapper .correct{padding:5px;color:#fff;background-color:green}.wpseo_content_wrapper .wrong{padding:5px;color:#fff;background-color:#dc3232}.wpseo_content_wrapper .wrong code{padding:3px 8px;color:#000}.wpseo_content_wrapper .button.fixit{float:left;margin:0 5px}.wpseo_content_wrapper .button.checkit{float:left;margin:0 5px;padding:5px 8px}.wpseo_content_wrapper #separator{margin:1.5em 0 .5em}.wpseo_content_wrapper #separator input.radio{position:absolute;right:-9999em;width:1px;height:1px}.wpseo_content_wrapper #separator input.radio+label{float:right;width:30px!important;margin:0 0 .5em 5px!important;padding:9px 6px;border:1px solid #ccc;font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:24px;text-align:center;cursor:pointer}.wpseo_content_wrapper #separator input.radio:checked+label{border:1px solid #a4286a;background-color:#fff;box-shadow:inset 0 0 0 2px #a4286a}.wpseo_content_wrapper #separator input.radio:checked+label,.wpseo_content_wrapper #separator input.radio:focus+label{border-radius:10px 10px 10px 0}.wpseo_content_wrapper .svg-container{text-align:center}.wpseo_content_wrapper .svg-container .dashicons{width:200px;height:100px;font-size:100px}.wpseo_content_wrapper .paper.tab-block{max-width:600px;padding:8px 20px;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.wpseo_content_wrapper .toggleable-container-trigger{overflow:visible;width:100%;height:20px;padding:0;border:0;background:0 0;text-align:right;cursor:pointer}.wpseo_content_wrapper .toggleable-container-icon{float:left;position:relative;width:20px;height:20px}.wpseo_content_wrapper .toggleable-container-trigger .toggleable-container-icon::after{display:block;position:absolute;top:-4px;right:-4px;padding:14px;content:""}.wpseo_content_wrapper .toggleable-container-hidden,.wpseotab{display:none}.wpseo_content_wrapper .toggleable-container-trigger:focus{outline:0}.wpseo_content_wrapper .toggleable-container-trigger:focus .toggleable-container-icon::after{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wpseo-gsc-reload-crawl-issues-form{position:relative;top:9px}.wp-core-ui .button.wpseo-gsc-save-profile{margin-right:200px}.wpseo_content_wrapper h3{margin:1em 0 .5em;font-size:1.15em}.wpseo_content_wrapper li,.wpseo_content_wrapper p{max-width:600px}.wpseo_content_wrapper .notice p,.wpseo_content_wrapper .yoast-blocking-files-error p,.yoast .search-box,.yoast-alert p,.yoast-container .container{max-width:none}table.wpseo th{text-align:right}#wpseo-tabs+.notice{margin-top:1.5em}.wpseo-variable-warning-element{border:1px solid #c62d2d!important}.wpseo-variable-warning{clear:both;margin:5px 0 0;padding:5px;color:#c62d2d}.wpseo-variable-warning code{color:#b02828}.wpseo-variable-warning a{color:#c62d2d}.wpseo_content_wrapper h1.wpseo-redirect-url-title{margin:1em 0 .5em;font-size:1.3em}table.yoast_help{width:100%;border-collapse:collapse}table.yoast_help,table.yoast_help td,table.yoast_help th{border:1px solid #ddd;color:#444}table.yoast_help td,table.yoast_help th{padding:5px 10px;text-align:right;vertical-align:top}table.yoast_help tr{background-color:#f1f1f1}table.yoast_help tr:nth-child(2n){background-color:#fbfbfe}table.yoast_help tr:hover{background-color:#ddd}#wpseo-debug-info,table.yoast_help thead tr,table.yoast_help thead tr:hover{background-color:#fff}table.yoast_help .yoast-variable-name{font-weight:600;white-space:nowrap}.yoast-notice-blocking-files code{color:#000;line-height:2}.yoast-notice-blocking-files .button{margin:.5em 0}.wpseotab.active{display:block}.wpseotab p.expl{margin-right:6px}.wpseotab .tab-block{display:block;margin:30px 0}.wpseotab p.expl strong{font-size:115%}#wpseo-debug-info{clear:both;margin:20px 0 0;padding:20px 20px 0;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}#wpseo-debug-info h2{margin:0;cursor:auto}#wpseo-debug-info .wpseo-debug-heading{font-size:1em}#wpseo-debug-info .wpseo-debug{display:inline-block;padding-right:20px;color:#c00}input.wpseo-new-title,textarea.wpseo-new-metadesc{width:100%;max-width:100%}body.toplevel_page_wpseo_dashboard .wp-badge{background:url(../../images/Yoast_SEO_Icon.svg) 50% 10px no-repeat;background-size:140px 140px;box-shadow:none}#wpseo_progressbar .ui-progressbar-value,.wpseo-progressbar .ui-progressbar-value{height:25px;background:#006691}#wpseo_progressbar{height:25px;border:1px solid #006691}.wpseo-progressbar-wrapper{display:inline;width:100%}.wpseo-progressbar{display:block;width:100%;height:25px;border:1px solid #006691}.archives-titles-metas-content{padding-top:1em}.yoast-sidebar__title{width:100%;margin:5px 0;padding:10px 0;border-bottom:1px solid #a4286a;color:#a4286a;line-height:19px;text-align:right}.yoast-sidebar_section{padding:20px 0;border-bottom:1px solid #ddd}.yoast-sidebar_section a,.yoast-sidebar_section h2{color:#a4286a}.yoast-sidebar_section h2{margin-top:0}.yoast-sidebar_section ul{position:relative}.yoast-sidebar_section li{margin-right:20px;list-style:none}.yoast-sidebar_section li::before{position:absolute;right:0;font-weight:700;content:"+"}.yoast-sidebar_section div{position:relative;margin:10px 0}.yoast-sidebar_section div a{color:#0085ba}.yoast-sidebar_section div img,.yoast-sidebar_section div p{float:right}.yoast-sidebar_section div img{width:40px;height:40px}.yoast-sidebar_section div p{width:200px;margin:0 10px 0 0}.yoast-sidebar_section div .clear{clear:both}.wpseo-banner__link{display:inline-block}.wpseo-banner__image{vertical-align:top}.yoast_premium_upsell_admin_block{overflow:hidden;max-width:640px;margin-top:2em;padding:10px;border:1px solid #ccc;background-color:#fff}.yoast_premium_upsell_admin_block--close{padding:1px 4px;border:1px solid #ccc;color:#333;font-size:16px;font-weight:700;text-decoration:none}.yoast_premium_upsell_admin_block--header{margin-top:.3em;font-size:1.7em;font-weight:700}.yoast_premium_upsell_admin_block--motivation{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast_premium_upsell_admin_block--motivation li{list-style:none;-ms-flex:0 0 50%;flex:0 0 50%}.yoast_premium_upsell_admin_block--argument{padding:0 20px 0 8px}.yoast_premium_upsell_admin_block--argument::before{position:relative;top:-1px;right:-16px;margin-left:-10px;font-weight:700;content:"+"}@media screen and (max-width:480px){.yoast_premium_upsell_admin_block--motivation{display:block}}.yoast-table-scrollable__container.yoast-has-scroll{overflow:hidden;position:relative}.yoast-table-scrollable__container.yoast-has-scroll:after{position:absolute;top:0;right:100%;width:50px;height:calc(100% - 16px);border-radius:0 10px 10px 0/0 50% 50% 0;box-shadow:5px 0 10px rgba(0,0,0,.25);content:""}.yoast-table-scrollable__container.yoast-has-scroll .yoast-table-scrollable__inner{overflow-x:scroll;padding-bottom:16px}.yoast-table-scrollable__hintwrapper{display:none}.yoast-table-scrollable__hintwrapper.yoast-has-scroll{display:block;margin:1em 0;text-align:center}.yoast-has-scroll .yoast-table-scrollable__hint{display:inline-block}.yoast-has-scroll .yoast-table-scrollable__hint:before{display:inline-block;margin-left:10px;font-size:20px;line-height:inherit;vertical-align:text-top;content:"\21c4"}@media screen and (max-width:1024px){.wpseo_content_cell,.wpseo_content_wrapper{display:block;height:auto}#wpseo_content_top{width:auto}#sidebar-container{width:auto;padding:0}.yoast-sidebar__spot{float:right;width:50%;border:none;text-align:center}.yoast-sidebar__spot>strong:first-child{display:block;max-width:261px;margin:0 auto;text-align:right}.yoast-sidebar__spot p,.yoast-sidebar__spot ul{max-width:261px;margin:1em auto;text-align:right}}@media screen and (max-width:782px){.wpseo_content_wrapper label.select,.wpseo_content_wrapper label.textinput{display:inline-block;float:none;width:auto}.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper textarea,.wpseo_content_wrapper textarea.textinput{display:block;width:100%}.wpseo_content_wrapper .select2-container,.wpseo_content_wrapper select,.wpseo_content_wrapper select.select{display:block;max-width:100%;margin:0 0 5px}.wpseo_content_wrapper div.desc.label,.wpseo_content_wrapper p.desc.label{padding-right:0}.wp-core-ui .button.wpseo-gsc-save-profile{margin-right:0}.wpseo-gsc-reload-crawl-issues-form{top:0;margin:1em 0}.wpseo-gsc-reload-crawl-issues-form .alignright{float:none}}@media screen and (max-width:600px){.wpseo-gsc-reload-crawl-issues-form{margin-bottom:0}.yoast-sidebar__spot{float:none;width:261px;margin:0 auto;border-bottom:1px solid #ddd}}@media screen and (max-width:500px){body.toplevel_page_wpseo_dashboard .wp-badge{padding-top:80px;background-color:#a4286a;background-size:100px 100px;box-shadow:0 1px 3px rgba(0,0,0,.2)}}.wpseo-checkmark-ok-icon{float:right;width:18px;height:18px;margin-left:5px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") no-repeat;background-size:18px;vertical-align:top}
1
+ .yoast-variable-desc,table.yoast_help .yoast-variable-desc{min-width:300px}.yoast-sidebar__title,.yoast-table-scrollable,.yoast-table-scrollable td,.yoast-table-scrollable th{box-sizing:border-box}.wpseo_content_wrapper{display:table;width:100%;table-layout:fixed}.wpseo_content_cell{display:table-cell;height:500px;margin:0;padding:0;vertical-align:top}#wpseo_content_top{width:100%}tr.yst_row{margin:5px 0 0;padding:5px 0 0}#sidebar-container{width:261px;padding:0 19px 0 0}tr.yst_row.even{background-color:#f6f6f6}.wpseo_content_wrapper label.select,.wpseo_content_wrapper label.textinput{float:right;width:200px;margin:5px 0}.wpseo_content_wrapper .yoast-inline-label{float:none;margin:0}.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper select,.wpseo_content_wrapper textarea{width:400px}.wpseo_content_wrapper input.large-text,.wpseo_content_wrapper textarea.large-text{width:99%}.wpseo_content_wrapper .select2-container,.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper select.select,.wpseo_content_wrapper textarea.textinput{margin:0 0 15px}.wpseo_content_wrapper input.checkbox,.wpseo_content_wrapper input.checkbox.double,.wpseo_content_wrapper input.radio{margin:6px 0 6px 10px}.wpseo_content_wrapper .textinput.metadesc{height:50px}.wpseo_content_wrapper textarea.import{width:500px;height:100px}.wpseo_content_wrapper p.desc{margin:6px 0 10px;padding:0 25px 8px 0}.wpseo_content_wrapper div.desc.label,.wpseo_content_wrapper p.desc.label{margin:0 0 20px;padding:0 200px 10px 0}.wpseo_content_wrapper h4{clear:both;margin:1.2em 0 .5em}.wpseo_content_wrapper .postbox{margin:10px 0 0 10px}.wpseo_content_wrapper .postbox form{line-height:150%}.wpseo_content_wrapper .text{width:250px}.wpseo_content_wrapper .correct{padding:5px;color:#fff;background-color:green}.wpseo_content_wrapper .wrong{padding:5px;color:#fff;background-color:#dc3232}.wpseo_content_wrapper .wrong code{padding:3px 8px;color:#000}.wpseo_content_wrapper .button.fixit{float:left;margin:0 5px}.wpseo_content_wrapper .button.checkit{float:left;margin:0 5px;padding:5px 8px}.wpseo_content_wrapper .disabled-note{margin:0 0 8px;color:#888}.wpseo_content_wrapper #separator{margin:1.5em 0 .5em}.wpseo_content_wrapper #separator input.radio{position:absolute;right:-9999em;width:1px;height:1px}.wpseo_content_wrapper #separator input.radio+label{float:right;width:30px!important;margin:0 0 .5em 5px!important;padding:9px 6px;border:1px solid #ccc;font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:24px;text-align:center;cursor:pointer}.wpseo_content_wrapper #separator input.radio:checked+label{border:1px solid #a4286a;background-color:#fff;box-shadow:inset 0 0 0 2px #a4286a}.wpseo_content_wrapper #separator input.radio:checked+label,.wpseo_content_wrapper #separator input.radio:focus+label{border-radius:10px 10px 10px 0}.wpseo_content_wrapper .svg-container{text-align:center}.wpseo_content_wrapper .svg-container .dashicons{width:200px;height:100px;font-size:100px}.wpseo_content_wrapper .paper.tab-block{max-width:600px;padding:8px 20px;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.wpseo_content_wrapper .toggleable-container-trigger{overflow:visible;width:100%;height:20px;padding:0;border:0;background:0 0;text-align:right;cursor:pointer}.wpseo_content_wrapper .toggleable-container-icon{float:left;position:relative;width:20px;height:20px}.wpseo_content_wrapper .toggleable-container-trigger .toggleable-container-icon::after{display:block;position:absolute;top:-4px;right:-4px;padding:14px;content:""}.wpseo_content_wrapper .toggleable-container-hidden,.wpseotab{display:none}.wpseo_content_wrapper .toggleable-container-trigger:focus{outline:0}.wpseo_content_wrapper .toggleable-container-trigger:focus .toggleable-container-icon::after{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wpseo-gsc-reload-crawl-issues-form{position:relative;top:9px}.wp-core-ui .button.wpseo-gsc-save-profile{margin-right:200px}.wpseo_content_wrapper h3{margin:1em 0 .5em;font-size:1.15em}.wpseo_content_wrapper li,.wpseo_content_wrapper p{max-width:600px}.wpseo_content_wrapper .notice p,.wpseo_content_wrapper .yoast-blocking-files-error p,.yoast .search-box,.yoast-alert p,.yoast-container .container{max-width:none}table.wpseo th{text-align:right}#wpseo-tabs+.notice{margin-top:1.5em}.wpseo-variable-warning-element{border:1px solid #c62d2d!important}.wpseo-variable-warning{clear:both;margin:5px 0 0;padding:5px;color:#c62d2d}.wpseo-variable-warning code{color:#b02828}.wpseo-variable-warning a{color:#c62d2d}.wpseo_content_wrapper h1.wpseo-redirect-url-title{margin:1em 0 .5em;font-size:1.3em}table.yoast_help{width:100%;border-collapse:collapse}table.yoast_help,table.yoast_help td,table.yoast_help th{border:1px solid #ddd;color:#444}table.yoast_help td,table.yoast_help th{padding:5px 10px;text-align:right;vertical-align:top}table.yoast_help tr{background-color:#f1f1f1}table.yoast_help tr:nth-child(2n){background-color:#fbfbfe}table.yoast_help tr:hover{background-color:#ddd}#wpseo-debug-info,table.yoast_help thead tr,table.yoast_help thead tr:hover{background-color:#fff}table.yoast_help .yoast-variable-name{font-weight:600;white-space:nowrap}.yoast-notice-blocking-files code{color:#000;line-height:2}.yoast-notice-blocking-files .button{margin:.5em 0}.wpseotab.active{display:block}.wpseotab p.expl{margin-right:6px}.wpseotab .tab-block{display:block;margin:30px 0}.wpseotab p.expl strong{font-size:115%}#wpseo-debug-info{clear:both;margin:20px 0 0;padding:20px 20px 0;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}#wpseo-debug-info h2{margin:0;cursor:auto}#wpseo-debug-info .wpseo-debug-heading{font-size:1em}#wpseo-debug-info .wpseo-debug{display:inline-block;padding-right:20px;color:#c00}input.wpseo-new-title,textarea.wpseo-new-metadesc{width:100%;max-width:100%}body.toplevel_page_wpseo_dashboard .wp-badge{background:url(../../images/Yoast_SEO_Icon.svg) 50% 10px no-repeat;background-size:140px 140px;box-shadow:none}#wpseo_progressbar .ui-progressbar-value,.wpseo-progressbar .ui-progressbar-value{height:25px;background:#006691}#wpseo_progressbar{height:25px;border:1px solid #006691}.wpseo-progressbar-wrapper{display:inline;width:100%}.wpseo-progressbar{display:block;width:100%;height:25px;border:1px solid #006691}.archives-titles-metas-content{padding-top:1em}.yoast-sidebar__title{width:100%;margin:5px 0;padding:10px 0;border-bottom:1px solid #a4286a;color:#a4286a;line-height:19px;text-align:right}.yoast-sidebar_section{padding:20px 0;border-bottom:1px solid #ddd}.yoast-sidebar_section a,.yoast-sidebar_section h2{color:#a4286a}.yoast-sidebar_section h2{margin-top:0}.yoast-sidebar_section ul{position:relative}.yoast-sidebar_section li{margin-right:20px;list-style:none}.yoast-sidebar_section li::before{position:absolute;right:0;font-weight:700;content:"+"}.yoast-sidebar_section div{position:relative;margin:10px 0}.yoast-sidebar_section div a{color:#0085ba}.yoast-sidebar_section div img,.yoast-sidebar_section div p{float:right}.yoast-sidebar_section div img{width:40px;height:40px}.yoast-sidebar_section div p{width:200px;margin:0 10px 0 0}.yoast-sidebar_section div .clear{clear:both}.wpseo-banner__link{display:inline-block}.wpseo-banner__image{vertical-align:top}.yoast_premium_upsell_admin_block{overflow:hidden;max-width:640px;margin-top:2em;padding:10px;border:1px solid #ccc;background-color:#fff}.yoast_premium_upsell_admin_block--close{padding:1px 4px;border:1px solid #ccc;color:#333;font-size:16px;font-weight:700;text-decoration:none}.yoast_premium_upsell_admin_block--header{margin-top:.3em;font-size:1.7em;font-weight:700}.yoast_premium_upsell_admin_block--motivation{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast_premium_upsell_admin_block--motivation li{list-style:none;-ms-flex:0 0 50%;flex:0 0 50%}.yoast_premium_upsell_admin_block--argument{padding:0 20px 0 8px}.yoast_premium_upsell_admin_block--argument::before{position:relative;top:-1px;right:-16px;margin-left:-10px;font-weight:700;content:"+"}@media screen and (max-width:480px){.yoast_premium_upsell_admin_block--motivation{display:block}}.yoast-table-scrollable__container.yoast-has-scroll{overflow:hidden;position:relative}.yoast-table-scrollable__container.yoast-has-scroll:after{position:absolute;top:0;right:100%;width:50px;height:calc(100% - 16px);border-radius:0 10px 10px 0/0 50% 50% 0;box-shadow:5px 0 10px rgba(0,0,0,.25);content:""}.yoast-table-scrollable__container.yoast-has-scroll .yoast-table-scrollable__inner{overflow-x:scroll;padding-bottom:16px}.yoast-table-scrollable__hintwrapper{display:none}.yoast-table-scrollable__hintwrapper.yoast-has-scroll{display:block;margin:1em 0;text-align:center}.yoast-has-scroll .yoast-table-scrollable__hint{display:inline-block}.yoast-has-scroll .yoast-table-scrollable__hint:before{display:inline-block;margin-left:10px;font-size:20px;line-height:inherit;vertical-align:text-top;content:"\21c4"}@media screen and (max-width:1024px){.wpseo_content_cell,.wpseo_content_wrapper{display:block;height:auto}#wpseo_content_top{width:auto}#sidebar-container{width:auto;padding:0}.yoast-sidebar__spot{float:right;width:50%;border:none;text-align:center}.yoast-sidebar__spot>strong:first-child{display:block;max-width:261px;margin:0 auto;text-align:right}.yoast-sidebar__spot p,.yoast-sidebar__spot ul{max-width:261px;margin:1em auto;text-align:right}}@media screen and (max-width:782px){.wpseo_content_wrapper label.select,.wpseo_content_wrapper label.textinput{display:inline-block;float:none;width:auto}.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper textarea,.wpseo_content_wrapper textarea.textinput{display:block;width:100%}.wpseo_content_wrapper .select2-container,.wpseo_content_wrapper select,.wpseo_content_wrapper select.select{display:block;max-width:100%;margin:0 0 5px}.wpseo_content_wrapper div.desc.label,.wpseo_content_wrapper p.desc.label{padding-right:0}.wp-core-ui .button.wpseo-gsc-save-profile{margin-right:0}.wpseo-gsc-reload-crawl-issues-form{top:0;margin:1em 0}.wpseo-gsc-reload-crawl-issues-form .alignright{float:none}}@media screen and (max-width:600px){.wpseo-gsc-reload-crawl-issues-form{margin-bottom:0}.yoast-sidebar__spot{float:none;width:261px;margin:0 auto;border-bottom:1px solid #ddd}}@media screen and (max-width:500px){body.toplevel_page_wpseo_dashboard .wp-badge{padding-top:80px;background-color:#a4286a;background-size:100px 100px;box-shadow:0 1px 3px rgba(0,0,0,.2)}}.wpseo-checkmark-ok-icon{float:right;width:18px;height:18px;margin-left:5px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") no-repeat;background-size:18px;vertical-align:top}
css/dist/{yst_plugin_tools-840.min.css → yst_plugin_tools-900.min.css} RENAMED
@@ -1 +1 @@
1
- .yoast-variable-desc,table.yoast_help .yoast-variable-desc{min-width:300px}.yoast-sidebar__title,.yoast-table-scrollable,.yoast-table-scrollable td,.yoast-table-scrollable th{box-sizing:border-box}.wpseo_content_wrapper{display:table;width:100%;table-layout:fixed}.wpseo_content_cell{display:table-cell;height:500px;margin:0;padding:0;vertical-align:top}#wpseo_content_top{width:100%}tr.yst_row{margin:5px 0 0;padding:5px 0 0}#sidebar-container{width:261px;padding:0 0 0 19px}tr.yst_row.even{background-color:#f6f6f6}.wpseo_content_wrapper label.select,.wpseo_content_wrapper label.textinput{float:left;width:200px;margin:5px 0}.wpseo_content_wrapper .yoast-inline-label{float:none;margin:0}.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper select,.wpseo_content_wrapper textarea{width:400px}.wpseo_content_wrapper input.large-text,.wpseo_content_wrapper textarea.large-text{width:99%}.wpseo_content_wrapper .select2-container,.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper select.select,.wpseo_content_wrapper textarea.textinput{margin:0 0 15px}.wpseo_content_wrapper input.checkbox,.wpseo_content_wrapper input.checkbox.double,.wpseo_content_wrapper input.radio{margin:6px 10px 6px 0}.wpseo_content_wrapper .textinput.metadesc{height:50px}.wpseo_content_wrapper textarea.import{width:500px;height:100px}.wpseo_content_wrapper p.desc{margin:6px 0 10px;padding:0 0 8px 25px}.wpseo_content_wrapper div.desc.label,.wpseo_content_wrapper p.desc.label{margin:0 0 20px;padding:0 0 10px 200px}.wpseo_content_wrapper h4{clear:both;margin:1.2em 0 .5em}.wpseo_content_wrapper .postbox{margin:10px 10px 0 0}.wpseo_content_wrapper .postbox form{line-height:150%}.wpseo_content_wrapper .text{width:250px}.wpseo_content_wrapper .correct{padding:5px;color:#fff;background-color:green}.wpseo_content_wrapper .wrong{padding:5px;color:#fff;background-color:#dc3232}.wpseo_content_wrapper .wrong code{padding:3px 8px;color:#000}.wpseo_content_wrapper .button.fixit{float:right;margin:0 5px}.wpseo_content_wrapper .button.checkit{float:right;margin:0 5px;padding:5px 8px}.wpseo_content_wrapper #separator{margin:1.5em 0 .5em}.wpseo_content_wrapper #separator input.radio{position:absolute;left:-9999em;width:1px;height:1px}.wpseo_content_wrapper #separator input.radio+label{float:left;width:30px!important;margin:0 5px .5em 0!important;padding:9px 6px;border:1px solid #ccc;font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:24px;text-align:center;cursor:pointer}.wpseo_content_wrapper #separator input.radio:checked+label{border:1px solid #a4286a;background-color:#fff;box-shadow:inset 0 0 0 2px #a4286a}.wpseo_content_wrapper #separator input.radio:checked+label,.wpseo_content_wrapper #separator input.radio:focus+label{border-radius:10px 10px 0}.wpseo_content_wrapper .svg-container{text-align:center}.wpseo_content_wrapper .svg-container .dashicons{width:200px;height:100px;font-size:100px}.wpseo_content_wrapper .paper.tab-block{max-width:600px;padding:8px 20px;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.wpseo_content_wrapper .toggleable-container-trigger{overflow:visible;width:100%;height:20px;padding:0;border:0;background:0 0;text-align:left;cursor:pointer}.wpseo_content_wrapper .toggleable-container-icon{float:right;position:relative;width:20px;height:20px}.wpseo_content_wrapper .toggleable-container-trigger .toggleable-container-icon::after{display:block;position:absolute;top:-4px;left:-4px;padding:14px;content:""}.wpseo_content_wrapper .toggleable-container-hidden,.wpseotab{display:none}.wpseo_content_wrapper .toggleable-container-trigger:focus{outline:0}.wpseo_content_wrapper .toggleable-container-trigger:focus .toggleable-container-icon::after{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wpseo-gsc-reload-crawl-issues-form{position:relative;top:9px}.wp-core-ui .button.wpseo-gsc-save-profile{margin-left:200px}.wpseo_content_wrapper h3{margin:1em 0 .5em;font-size:1.15em}.wpseo_content_wrapper li,.wpseo_content_wrapper p{max-width:600px}.wpseo_content_wrapper .notice p,.wpseo_content_wrapper .yoast-blocking-files-error p,.yoast .search-box,.yoast-alert p,.yoast-container .container{max-width:none}table.wpseo th{text-align:left}#wpseo-tabs+.notice{margin-top:1.5em}.wpseo-variable-warning-element{border:1px solid #c62d2d!important}.wpseo-variable-warning{clear:both;margin:5px 0 0;padding:5px;color:#c62d2d}.wpseo-variable-warning code{color:#b02828}.wpseo-variable-warning a{color:#c62d2d}.wpseo_content_wrapper h1.wpseo-redirect-url-title{margin:1em 0 .5em;font-size:1.3em}table.yoast_help{width:100%;border-collapse:collapse}table.yoast_help,table.yoast_help td,table.yoast_help th{border:1px solid #ddd;color:#444}table.yoast_help td,table.yoast_help th{padding:5px 10px;text-align:left;vertical-align:top}table.yoast_help tr{background-color:#f1f1f1}table.yoast_help tr:nth-child(2n){background-color:#fbfbfe}table.yoast_help tr:hover{background-color:#ddd}#wpseo-debug-info,table.yoast_help thead tr,table.yoast_help thead tr:hover{background-color:#fff}table.yoast_help .yoast-variable-name{font-weight:600;white-space:nowrap}.yoast-notice-blocking-files code{color:#000;line-height:2}.yoast-notice-blocking-files .button{margin:.5em 0}.wpseotab.active{display:block}.wpseotab p.expl{margin-left:6px}.wpseotab .tab-block{display:block;margin:30px 0}.wpseotab p.expl strong{font-size:115%}#wpseo-debug-info{clear:both;margin:20px 0 0;padding:20px 20px 0;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}#wpseo-debug-info h2{margin:0;cursor:auto}#wpseo-debug-info .wpseo-debug-heading{font-size:1em}#wpseo-debug-info .wpseo-debug{display:inline-block;padding-left:20px;color:#c00}input.wpseo-new-title,textarea.wpseo-new-metadesc{width:100%;max-width:100%}body.toplevel_page_wpseo_dashboard .wp-badge{background:url(../../images/Yoast_SEO_Icon.svg) 50% 10px no-repeat;background-size:140px 140px;box-shadow:none}#wpseo_progressbar .ui-progressbar-value,.wpseo-progressbar .ui-progressbar-value{height:25px;background:#006691}#wpseo_progressbar{height:25px;border:1px solid #006691}.wpseo-progressbar-wrapper{display:inline;width:100%}.wpseo-progressbar{display:block;width:100%;height:25px;border:1px solid #006691}.archives-titles-metas-content{padding-top:1em}.yoast-sidebar__title{width:100%;margin:5px 0;padding:10px 0;border-bottom:1px solid #a4286a;color:#a4286a;line-height:19px;text-align:left}.yoast-sidebar_section{padding:20px 0;border-bottom:1px solid #ddd}.yoast-sidebar_section a,.yoast-sidebar_section h2{color:#a4286a}.yoast-sidebar_section h2{margin-top:0}.yoast-sidebar_section ul{position:relative}.yoast-sidebar_section li{margin-left:20px;list-style:none}.yoast-sidebar_section li::before{position:absolute;left:0;font-weight:700;content:"+"}.yoast-sidebar_section div{position:relative;margin:10px 0}.yoast-sidebar_section div a{color:#0085ba}.yoast-sidebar_section div img,.yoast-sidebar_section div p{float:left}.yoast-sidebar_section div img{width:40px;height:40px}.yoast-sidebar_section div p{width:200px;margin:0 0 0 10px}.yoast-sidebar_section div .clear{clear:both}.wpseo-banner__link{display:inline-block}.wpseo-banner__image{vertical-align:top}.yoast_premium_upsell_admin_block{overflow:hidden;max-width:640px;margin-top:2em;padding:10px;border:1px solid #ccc;background-color:#fff}.yoast_premium_upsell_admin_block--close{padding:1px 4px;border:1px solid #ccc;color:#333;font-size:16px;font-weight:700;text-decoration:none}.yoast_premium_upsell_admin_block--header{margin-top:.3em;font-size:1.7em;font-weight:700}.yoast_premium_upsell_admin_block--motivation{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast_premium_upsell_admin_block--motivation li{list-style:none;-ms-flex:0 0 50%;flex:0 0 50%}.yoast_premium_upsell_admin_block--argument{padding:0 8px 0 20px}.yoast_premium_upsell_admin_block--argument::before{position:relative;top:-1px;left:-16px;margin-right:-10px;font-weight:700;content:"+"}@media screen and (max-width:480px){.yoast_premium_upsell_admin_block--motivation{display:block}}.yoast-table-scrollable__container.yoast-has-scroll{overflow:hidden;position:relative}.yoast-table-scrollable__container.yoast-has-scroll:after{position:absolute;top:0;left:100%;width:50px;height:calc(100% - 16px);border-radius:10px 0 0 10px/50% 0 0 50%;box-shadow:-5px 0 10px rgba(0,0,0,.25);content:""}.yoast-table-scrollable__container.yoast-has-scroll .yoast-table-scrollable__inner{overflow-x:scroll;padding-bottom:16px}.yoast-table-scrollable__hintwrapper{display:none}.yoast-table-scrollable__hintwrapper.yoast-has-scroll{display:block;margin:1em 0;text-align:center}.yoast-has-scroll .yoast-table-scrollable__hint{display:inline-block}.yoast-has-scroll .yoast-table-scrollable__hint:before{display:inline-block;margin-right:10px;font-size:20px;line-height:inherit;vertical-align:text-top;content:"\21c4"}@media screen and (max-width:1024px){.wpseo_content_cell,.wpseo_content_wrapper{display:block;height:auto}#wpseo_content_top{width:auto}#sidebar-container{width:auto;padding:0}.yoast-sidebar__spot{float:left;width:50%;border:none;text-align:center}.yoast-sidebar__spot>strong:first-child{display:block;max-width:261px;margin:0 auto;text-align:left}.yoast-sidebar__spot p,.yoast-sidebar__spot ul{max-width:261px;margin:1em auto;text-align:left}}@media screen and (max-width:782px){.wpseo_content_wrapper label.select,.wpseo_content_wrapper label.textinput{display:inline-block;float:none;width:auto}.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper textarea,.wpseo_content_wrapper textarea.textinput{display:block;width:100%}.wpseo_content_wrapper .select2-container,.wpseo_content_wrapper select,.wpseo_content_wrapper select.select{display:block;max-width:100%;margin:0 0 5px}.wpseo_content_wrapper div.desc.label,.wpseo_content_wrapper p.desc.label{padding-left:0}.wp-core-ui .button.wpseo-gsc-save-profile{margin-left:0}.wpseo-gsc-reload-crawl-issues-form{top:0;margin:1em 0}.wpseo-gsc-reload-crawl-issues-form .alignright{float:none}}@media screen and (max-width:600px){.wpseo-gsc-reload-crawl-issues-form{margin-bottom:0}.yoast-sidebar__spot{float:none;width:261px;margin:0 auto;border-bottom:1px solid #ddd}}@media screen and (max-width:500px){body.toplevel_page_wpseo_dashboard .wp-badge{padding-top:80px;background-color:#a4286a;background-size:100px 100px;box-shadow:0 1px 3px rgba(0,0,0,.2)}}.wpseo-checkmark-ok-icon{float:left;width:18px;height:18px;margin-right:5px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") no-repeat;background-size:18px;vertical-align:top}
1
+ .yoast-variable-desc,table.yoast_help .yoast-variable-desc{min-width:300px}.yoast-sidebar__title,.yoast-table-scrollable,.yoast-table-scrollable td,.yoast-table-scrollable th{box-sizing:border-box}.wpseo_content_wrapper{display:table;width:100%;table-layout:fixed}.wpseo_content_cell{display:table-cell;height:500px;margin:0;padding:0;vertical-align:top}#wpseo_content_top{width:100%}tr.yst_row{margin:5px 0 0;padding:5px 0 0}#sidebar-container{width:261px;padding:0 0 0 19px}tr.yst_row.even{background-color:#f6f6f6}.wpseo_content_wrapper label.select,.wpseo_content_wrapper label.textinput{float:left;width:200px;margin:5px 0}.wpseo_content_wrapper .yoast-inline-label{float:none;margin:0}.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper select,.wpseo_content_wrapper textarea{width:400px}.wpseo_content_wrapper input.large-text,.wpseo_content_wrapper textarea.large-text{width:99%}.wpseo_content_wrapper .select2-container,.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper select.select,.wpseo_content_wrapper textarea.textinput{margin:0 0 15px}.wpseo_content_wrapper input.checkbox,.wpseo_content_wrapper input.checkbox.double,.wpseo_content_wrapper input.radio{margin:6px 10px 6px 0}.wpseo_content_wrapper .textinput.metadesc{height:50px}.wpseo_content_wrapper textarea.import{width:500px;height:100px}.wpseo_content_wrapper p.desc{margin:6px 0 10px;padding:0 0 8px 25px}.wpseo_content_wrapper div.desc.label,.wpseo_content_wrapper p.desc.label{margin:0 0 20px;padding:0 0 10px 200px}.wpseo_content_wrapper h4{clear:both;margin:1.2em 0 .5em}.wpseo_content_wrapper .postbox{margin:10px 10px 0 0}.wpseo_content_wrapper .postbox form{line-height:150%}.wpseo_content_wrapper .text{width:250px}.wpseo_content_wrapper .correct{padding:5px;color:#fff;background-color:green}.wpseo_content_wrapper .wrong{padding:5px;color:#fff;background-color:#dc3232}.wpseo_content_wrapper .wrong code{padding:3px 8px;color:#000}.wpseo_content_wrapper .button.fixit{float:right;margin:0 5px}.wpseo_content_wrapper .button.checkit{float:right;margin:0 5px;padding:5px 8px}.wpseo_content_wrapper .disabled-note{margin:0 0 8px;color:#888}.wpseo_content_wrapper #separator{margin:1.5em 0 .5em}.wpseo_content_wrapper #separator input.radio{position:absolute;left:-9999em;width:1px;height:1px}.wpseo_content_wrapper #separator input.radio+label{float:left;width:30px!important;margin:0 5px .5em 0!important;padding:9px 6px;border:1px solid #ccc;font-family:Arial,Helvetica,sans-serif!important;font-size:18px!important;line-height:24px;text-align:center;cursor:pointer}.wpseo_content_wrapper #separator input.radio:checked+label{border:1px solid #a4286a;background-color:#fff;box-shadow:inset 0 0 0 2px #a4286a}.wpseo_content_wrapper #separator input.radio:checked+label,.wpseo_content_wrapper #separator input.radio:focus+label{border-radius:10px 10px 0}.wpseo_content_wrapper .svg-container{text-align:center}.wpseo_content_wrapper .svg-container .dashicons{width:200px;height:100px;font-size:100px}.wpseo_content_wrapper .paper.tab-block{max-width:600px;padding:8px 20px;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.wpseo_content_wrapper .toggleable-container-trigger{overflow:visible;width:100%;height:20px;padding:0;border:0;background:0 0;text-align:left;cursor:pointer}.wpseo_content_wrapper .toggleable-container-icon{float:right;position:relative;width:20px;height:20px}.wpseo_content_wrapper .toggleable-container-trigger .toggleable-container-icon::after{display:block;position:absolute;top:-4px;left:-4px;padding:14px;content:""}.wpseo_content_wrapper .toggleable-container-hidden,.wpseotab{display:none}.wpseo_content_wrapper .toggleable-container-trigger:focus{outline:0}.wpseo_content_wrapper .toggleable-container-trigger:focus .toggleable-container-icon::after{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wpseo-gsc-reload-crawl-issues-form{position:relative;top:9px}.wp-core-ui .button.wpseo-gsc-save-profile{margin-left:200px}.wpseo_content_wrapper h3{margin:1em 0 .5em;font-size:1.15em}.wpseo_content_wrapper li,.wpseo_content_wrapper p{max-width:600px}.wpseo_content_wrapper .notice p,.wpseo_content_wrapper .yoast-blocking-files-error p,.yoast .search-box,.yoast-alert p,.yoast-container .container{max-width:none}table.wpseo th{text-align:left}#wpseo-tabs+.notice{margin-top:1.5em}.wpseo-variable-warning-element{border:1px solid #c62d2d!important}.wpseo-variable-warning{clear:both;margin:5px 0 0;padding:5px;color:#c62d2d}.wpseo-variable-warning code{color:#b02828}.wpseo-variable-warning a{color:#c62d2d}.wpseo_content_wrapper h1.wpseo-redirect-url-title{margin:1em 0 .5em;font-size:1.3em}table.yoast_help{width:100%;border-collapse:collapse}table.yoast_help,table.yoast_help td,table.yoast_help th{border:1px solid #ddd;color:#444}table.yoast_help td,table.yoast_help th{padding:5px 10px;text-align:left;vertical-align:top}table.yoast_help tr{background-color:#f1f1f1}table.yoast_help tr:nth-child(2n){background-color:#fbfbfe}table.yoast_help tr:hover{background-color:#ddd}#wpseo-debug-info,table.yoast_help thead tr,table.yoast_help thead tr:hover{background-color:#fff}table.yoast_help .yoast-variable-name{font-weight:600;white-space:nowrap}.yoast-notice-blocking-files code{color:#000;line-height:2}.yoast-notice-blocking-files .button{margin:.5em 0}.wpseotab.active{display:block}.wpseotab p.expl{margin-left:6px}.wpseotab .tab-block{display:block;margin:30px 0}.wpseotab p.expl strong{font-size:115%}#wpseo-debug-info{clear:both;margin:20px 0 0;padding:20px 20px 0;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04)}#wpseo-debug-info h2{margin:0;cursor:auto}#wpseo-debug-info .wpseo-debug-heading{font-size:1em}#wpseo-debug-info .wpseo-debug{display:inline-block;padding-left:20px;color:#c00}input.wpseo-new-title,textarea.wpseo-new-metadesc{width:100%;max-width:100%}body.toplevel_page_wpseo_dashboard .wp-badge{background:url(../../images/Yoast_SEO_Icon.svg) 50% 10px no-repeat;background-size:140px 140px;box-shadow:none}#wpseo_progressbar .ui-progressbar-value,.wpseo-progressbar .ui-progressbar-value{height:25px;background:#006691}#wpseo_progressbar{height:25px;border:1px solid #006691}.wpseo-progressbar-wrapper{display:inline;width:100%}.wpseo-progressbar{display:block;width:100%;height:25px;border:1px solid #006691}.archives-titles-metas-content{padding-top:1em}.yoast-sidebar__title{width:100%;margin:5px 0;padding:10px 0;border-bottom:1px solid #a4286a;color:#a4286a;line-height:19px;text-align:left}.yoast-sidebar_section{padding:20px 0;border-bottom:1px solid #ddd}.yoast-sidebar_section a,.yoast-sidebar_section h2{color:#a4286a}.yoast-sidebar_section h2{margin-top:0}.yoast-sidebar_section ul{position:relative}.yoast-sidebar_section li{margin-left:20px;list-style:none}.yoast-sidebar_section li::before{position:absolute;left:0;font-weight:700;content:"+"}.yoast-sidebar_section div{position:relative;margin:10px 0}.yoast-sidebar_section div a{color:#0085ba}.yoast-sidebar_section div img,.yoast-sidebar_section div p{float:left}.yoast-sidebar_section div img{width:40px;height:40px}.yoast-sidebar_section div p{width:200px;margin:0 0 0 10px}.yoast-sidebar_section div .clear{clear:both}.wpseo-banner__link{display:inline-block}.wpseo-banner__image{vertical-align:top}.yoast_premium_upsell_admin_block{overflow:hidden;max-width:640px;margin-top:2em;padding:10px;border:1px solid #ccc;background-color:#fff}.yoast_premium_upsell_admin_block--close{padding:1px 4px;border:1px solid #ccc;color:#333;font-size:16px;font-weight:700;text-decoration:none}.yoast_premium_upsell_admin_block--header{margin-top:.3em;font-size:1.7em;font-weight:700}.yoast_premium_upsell_admin_block--motivation{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.yoast_premium_upsell_admin_block--motivation li{list-style:none;-ms-flex:0 0 50%;flex:0 0 50%}.yoast_premium_upsell_admin_block--argument{padding:0 8px 0 20px}.yoast_premium_upsell_admin_block--argument::before{position:relative;top:-1px;left:-16px;margin-right:-10px;font-weight:700;content:"+"}@media screen and (max-width:480px){.yoast_premium_upsell_admin_block--motivation{display:block}}.yoast-table-scrollable__container.yoast-has-scroll{overflow:hidden;position:relative}.yoast-table-scrollable__container.yoast-has-scroll:after{position:absolute;top:0;left:100%;width:50px;height:calc(100% - 16px);border-radius:10px 0 0 10px/50% 0 0 50%;box-shadow:-5px 0 10px rgba(0,0,0,.25);content:""}.yoast-table-scrollable__container.yoast-has-scroll .yoast-table-scrollable__inner{overflow-x:scroll;padding-bottom:16px}.yoast-table-scrollable__hintwrapper{display:none}.yoast-table-scrollable__hintwrapper.yoast-has-scroll{display:block;margin:1em 0;text-align:center}.yoast-has-scroll .yoast-table-scrollable__hint{display:inline-block}.yoast-has-scroll .yoast-table-scrollable__hint:before{display:inline-block;margin-right:10px;font-size:20px;line-height:inherit;vertical-align:text-top;content:"\21c4"}@media screen and (max-width:1024px){.wpseo_content_cell,.wpseo_content_wrapper{display:block;height:auto}#wpseo_content_top{width:auto}#sidebar-container{width:auto;padding:0}.yoast-sidebar__spot{float:left;width:50%;border:none;text-align:center}.yoast-sidebar__spot>strong:first-child{display:block;max-width:261px;margin:0 auto;text-align:left}.yoast-sidebar__spot p,.yoast-sidebar__spot ul{max-width:261px;margin:1em auto;text-align:left}}@media screen and (max-width:782px){.wpseo_content_wrapper label.select,.wpseo_content_wrapper label.textinput{display:inline-block;float:none;width:auto}.wpseo_content_wrapper input.textinput,.wpseo_content_wrapper textarea,.wpseo_content_wrapper textarea.textinput{display:block;width:100%}.wpseo_content_wrapper .select2-container,.wpseo_content_wrapper select,.wpseo_content_wrapper select.select{display:block;max-width:100%;margin:0 0 5px}.wpseo_content_wrapper div.desc.label,.wpseo_content_wrapper p.desc.label{padding-left:0}.wp-core-ui .button.wpseo-gsc-save-profile{margin-left:0}.wpseo-gsc-reload-crawl-issues-form{top:0;margin:1em 0}.wpseo-gsc-reload-crawl-issues-form .alignright{float:none}}@media screen and (max-width:600px){.wpseo-gsc-reload-crawl-issues-form{margin-bottom:0}.yoast-sidebar__spot{float:none;width:261px;margin:0 auto;border-bottom:1px solid #ddd}}@media screen and (max-width:500px){body.toplevel_page_wpseo_dashboard .wp-badge{padding-top:80px;background-color:#a4286a;background-size:100px 100px;box-shadow:0 1px 3px rgba(0,0,0,.2)}}.wpseo-checkmark-ok-icon{float:left;width:18px;height:18px;margin-right:5px;background:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E") no-repeat;background-size:18px;vertical-align:top}
css/dist/{yst_seo_score-840-rtl.min.css → yst_seo_score-900-rtl.min.css} RENAMED
File without changes
css/dist/{yst_seo_score-840.min.css → yst_seo_score-900.min.css} RENAMED
File without changes
deprecated/class-cornerstone.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Admin
6
+ */
7
+
8
+ /**
9
+ * Represents the yoast cornerstone content.
10
+ *
11
+ * @deprecated 8.4
12
+ */
13
+ class WPSEO_Cornerstone {
14
+
15
+ const META_NAME = 'is_cornerstone';
16
+
17
+ const FIELD_NAME = 'yoast_wpseo_is_cornerstone';
18
+
19
+ /**
20
+ * WPSEO_Cornerstone constructor.
21
+ *
22
+ * @deprecated 8.4
23
+ */
24
+ public function __construct() {
25
+ _deprecated_constructor( 'WPSEO_Cornerstone', '8.4' );
26
+ }
27
+
28
+ /**
29
+ * Registers the hooks.
30
+ *
31
+ * @deprecated 8.4
32
+ *
33
+ * @return void
34
+ */
35
+ public function register_hooks() {
36
+ _deprecated_function( 'WPSEO_Cornerstone::register_hooks', '8.4' );
37
+ }
38
+
39
+ /**
40
+ * Saves the meta value to the database.
41
+ *
42
+ * @deprecated 8.4
43
+ *
44
+ * @param int $post_id The post id to save the meta value for.
45
+ *
46
+ * @return void
47
+ */
48
+ public function save_meta_value( $post_id ) {
49
+ _deprecated_function( 'WPSEO_Cornerstone::save_meta_value', '8.4' );
50
+ }
51
+ }
frontend/class-breadcrumbs.php CHANGED
@@ -91,9 +91,9 @@ class WPSEO_Breadcrumbs {
91
  * Create the breadcrumb.
92
  */
93
  protected function __construct() {
94
- $this->post = ( isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : null );
95
- $this->show_on_front = get_option( 'show_on_front' );
96
- $this->page_for_posts = get_option( 'page_for_posts' );
97
  $this->woocommerce_shop_page = new WPSEO_WooCommerce_Shop_Page();
98
 
99
  $this->filter_element();
91
  * Create the breadcrumb.
92
  */
93
  protected function __construct() {
94
+ $this->post = ( isset( $GLOBALS['post'] ) ? $GLOBALS['post'] : null );
95
+ $this->show_on_front = get_option( 'show_on_front' );
96
+ $this->page_for_posts = get_option( 'page_for_posts' );
97
  $this->woocommerce_shop_page = new WPSEO_WooCommerce_Shop_Page();
98
 
99
  $this->filter_element();
frontend/class-frontend.php CHANGED
@@ -194,45 +194,6 @@ class WPSEO_Frontend {
194
  return $this->title( $title );
195
  }
196
 
197
- /**
198
- * Determine whether this is the homepage and shows posts.
199
- *
200
- * @deprecated 7.7
201
- *
202
- * @return bool Whether or not the current page is the homepage that displays posts.
203
- */
204
- public function is_home_posts_page() {
205
- _deprecated_function( __FUNCTION__, '7.7', 'WPSEO_Frontend_Page_Type::is_home_posts_page' );
206
-
207
- return $this->frontend_page_type->is_home_posts_page();
208
- }
209
-
210
- /**
211
- * Determine whether the this is the static frontpage.
212
- *
213
- * @deprecated 7.7
214
- *
215
- * @return bool Whether or not the current page is a static frontpage.
216
- */
217
- public function is_home_static_page() {
218
- _deprecated_function( __FUNCTION__, '7.7', 'WPSEO_Frontend_Page_Type::is_home_static_page' );
219
-
220
- return $this->frontend_page_type->is_home_static_page();
221
- }
222
-
223
- /**
224
- * Determine whether this is the posts page, when it's not the frontpage.
225
- *
226
- * @deprecated 7.7
227
- *
228
- * @return bool Whether or not it's a non-frontpage, posts page.
229
- */
230
- public function is_posts_page() {
231
- _deprecated_function( __FUNCTION__, '7.7', 'WPSEO_Frontend_Page_Type::is_posts_page' );
232
-
233
- return $this->frontend_page_type->is_posts_page();
234
- }
235
-
236
  /**
237
  * Used for static home and posts pages as well as singular titles.
238
  *
@@ -1823,12 +1784,13 @@ class WPSEO_Frontend {
1823
  return $desc;
1824
  }
1825
 
1826
- /** Deprecated functions */
1827
- // @codeCoverageIgnoreStart
1828
  /**
1829
  * Outputs or returns the debug marker, which is also used for title replacement when force rewrite is active.
1830
  *
1831
  * @deprecated 4.4
 
1832
  *
1833
  * @param bool $echo Whether or not to echo the debug marker.
1834
  *
@@ -1846,6 +1808,7 @@ class WPSEO_Frontend {
1846
  * Outputs the meta keywords element.
1847
  *
1848
  * @deprecated 6.3
 
1849
  *
1850
  * @return void
1851
  */
@@ -1859,6 +1822,7 @@ class WPSEO_Frontend {
1859
  * Removes unneeded query variables from the URL.
1860
  *
1861
  * @deprecated 7.0
 
1862
  *
1863
  * @return void
1864
  */
@@ -1873,6 +1837,7 @@ class WPSEO_Frontend {
1873
  * Trailing slashes for everything except is_single().
1874
  *
1875
  * @deprecated 7.0
 
1876
  */
1877
  public function add_trailingslash() {
1878
  // As this is a frontend method, we want to make sure it is not displayed for non-logged in users.
@@ -1885,6 +1850,7 @@ class WPSEO_Frontend {
1885
  * Removes the ?replytocom variable from the link, replacing it with a #comment-<number> anchor.
1886
  *
1887
  * @deprecated 7.0
 
1888
  *
1889
  * @param string $link The comment link as a string.
1890
  *
@@ -1901,6 +1867,7 @@ class WPSEO_Frontend {
1901
  * Redirects out the ?replytocom variables.
1902
  *
1903
  * @deprecated 7.0
 
1904
  *
1905
  * @return boolean True when redirect has been done.
1906
  */
@@ -1910,5 +1877,46 @@ class WPSEO_Frontend {
1910
  $remove_replytocom = new WPSEO_Remove_Reply_To_Com();
1911
  return $remove_replytocom->replytocom_redirect();
1912
  }
1913
- // @codeCoverageIgnoreEnd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1914
  }
194
  return $this->title( $title );
195
  }
196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  /**
198
  * Used for static home and posts pages as well as singular titles.
199
  *
1784
  return $desc;
1785
  }
1786
 
1787
+ /* ********************* DEPRECATED METHODS ********************* */
1788
+
1789
  /**
1790
  * Outputs or returns the debug marker, which is also used for title replacement when force rewrite is active.
1791
  *
1792
  * @deprecated 4.4
1793
+ * @codeCoverageIgnore
1794
  *
1795
  * @param bool $echo Whether or not to echo the debug marker.
1796
  *
1808
  * Outputs the meta keywords element.
1809
  *
1810
  * @deprecated 6.3
1811
+ * @codeCoverageIgnore
1812
  *
1813
  * @return void
1814
  */
1822
  * Removes unneeded query variables from the URL.
1823
  *
1824
  * @deprecated 7.0
1825
+ * @codeCoverageIgnore
1826
  *
1827
  * @return void
1828
  */
1837
  * Trailing slashes for everything except is_single().
1838
  *
1839
  * @deprecated 7.0
1840
+ * @codeCoverageIgnore
1841
  */
1842
  public function add_trailingslash() {
1843
  // As this is a frontend method, we want to make sure it is not displayed for non-logged in users.
1850
  * Removes the ?replytocom variable from the link, replacing it with a #comment-<number> anchor.
1851
  *
1852
  * @deprecated 7.0
1853
+ * @codeCoverageIgnore
1854
  *
1855
  * @param string $link The comment link as a string.
1856
  *
1867
  * Redirects out the ?replytocom variables.
1868
  *
1869
  * @deprecated 7.0
1870
+ * @codeCoverageIgnore
1871
  *
1872
  * @return boolean True when redirect has been done.
1873
  */
1877
  $remove_replytocom = new WPSEO_Remove_Reply_To_Com();
1878
  return $remove_replytocom->replytocom_redirect();
1879
  }
1880
+
1881
+ /**
1882
+ * Determine whether this is the homepage and shows posts.
1883
+ *
1884
+ * @deprecated 7.7
1885
+ * @codeCoverageIgnore
1886
+ *
1887
+ * @return bool Whether or not the current page is the homepage that displays posts.
1888
+ */
1889
+ public function is_home_posts_page() {
1890
+ _deprecated_function( __FUNCTION__, '7.7', 'WPSEO_Frontend_Page_Type::is_home_posts_page' );
1891
+
1892
+ return $this->frontend_page_type->is_home_posts_page();
1893
+ }
1894
+
1895
+ /**
1896
+ * Determine whether the this is the static frontpage.
1897
+ *
1898
+ * @deprecated 7.7
1899
+ * @codeCoverageIgnore
1900
+ *
1901
+ * @return bool Whether or not the current page is a static frontpage.
1902
+ */
1903
+ public function is_home_static_page() {
1904
+ _deprecated_function( __FUNCTION__, '7.7', 'WPSEO_Frontend_Page_Type::is_home_static_page' );
1905
+
1906
+ return $this->frontend_page_type->is_home_static_page();
1907
+ }
1908
+
1909
+ /**
1910
+ * Determine whether this is the posts page, when it's not the frontpage.
1911
+ *
1912
+ * @deprecated 7.7
1913
+ * @codeCoverageIgnore
1914
+ *
1915
+ * @return bool Whether or not it's a non-frontpage, posts page.
1916
+ */
1917
+ public function is_posts_page() {
1918
+ _deprecated_function( __FUNCTION__, '7.7', 'WPSEO_Frontend_Page_Type::is_posts_page' );
1919
+
1920
+ return $this->frontend_page_type->is_posts_page();
1921
+ }
1922
  }
frontend/class-opengraph-image.php CHANGED
@@ -9,6 +9,8 @@
9
  * Class WPSEO_OpenGraph_Image
10
  */
11
  class WPSEO_OpenGraph_Image {
 
 
12
  /**
13
  * Holds the images that have been put out as OG image.
14
  *
@@ -194,6 +196,49 @@ class WPSEO_OpenGraph_Image {
194
  $this->images[ $image_url ] = $attachment;
195
  }
196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  /**
198
  * If the frontpage image exists, call add_image.
199
  *
@@ -207,7 +252,11 @@ class WPSEO_OpenGraph_Image {
207
  return;
208
  }
209
 
210
- $this->add_image_by_url( WPSEO_Options::get( 'og_frontpage_image', '' ) );
 
 
 
 
211
  }
212
 
213
  /**
@@ -269,15 +318,48 @@ class WPSEO_OpenGraph_Image {
269
  $this->set_featured_image( $post_id );
270
  }
271
 
 
 
 
 
 
 
 
 
 
 
 
272
  /**
273
  * Get default image and call add_image.
274
  *
275
  * @return void
276
  */
277
  private function maybe_set_default_image() {
278
- if ( ! $this->has_images() && WPSEO_Options::get( 'og_default_image', '' ) !== '' ) {
279
- $this->add_image_by_url( WPSEO_Options::get( 'og_default_image' ) );
 
 
 
 
 
 
 
280
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281
  }
282
 
283
  /**
@@ -288,8 +370,10 @@ class WPSEO_OpenGraph_Image {
288
  * @return void
289
  */
290
  private function set_image_post_meta( $post_id = 0 ) {
 
291
  $image_url = WPSEO_Meta::get_value( 'opengraph-image', $post_id );
292
- $this->add_image_by_url( $image_url );
 
293
  }
294
 
295
  /**
@@ -328,59 +412,28 @@ class WPSEO_OpenGraph_Image {
328
  }
329
  }
330
 
331
- /**
332
- * Adds the first usable attachment image from the post content.
333
- *
334
- * @param object $post The post object.
335
- *
336
- * @return void
337
- */
338
- private function add_first_usable_content_image( $post ) {
339
- $image_finder = new WPSEO_Content_Images();
340
- $images = $image_finder->get_images( $post->ID, $post );
341
-
342
- if ( ! is_array( $images ) || $images === array() ) {
343
- return;
344
- }
345
-
346
- foreach ( $images as $image_url ) {
347
- $attachment_id = WPSEO_Image_Utils::get_attachment_by_url( $image_url );
348
-
349
- // If image is hosted externally, skip it and continue to the next image.
350
- if ( $attachment_id === 0 ) {
351
- continue;
352
- }
353
-
354
- // If locally hosted image meets the requirements, add it as OG image.
355
- $this->add_image_by_id( $attachment_id );
356
-
357
- // If an image has been added, we're done.
358
- if ( $this->has_images() ) {
359
- return;
360
- }
361
- }
362
- }
363
-
364
  /**
365
  * Adds an image based on a given URL, and attempts to be smart about it.
366
  *
367
  * @param string $url The given URL.
368
  *
369
- * @return void
370
  */
371
  public function add_image_by_url( $url ) {
372
  if ( empty( $url ) ) {
373
- return;
374
  }
375
 
376
  $attachment_id = WPSEO_Image_Utils::get_attachment_by_url( $url );
377
 
378
  if ( $attachment_id > 0 ) {
379
  $this->add_image_by_id( $attachment_id );
380
- return;
381
  }
382
 
383
  $this->add_image( array( 'url' => $url ) );
 
 
384
  }
385
 
386
  /**
@@ -470,7 +523,7 @@ class WPSEO_OpenGraph_Image {
470
  *
471
  * @return void
472
  */
473
- private function set_images() {
474
  /**
475
  * Filter: wpseo_add_opengraph_images - Allow developers to add images to the OpenGraph tags.
476
  *
@@ -560,13 +613,7 @@ class WPSEO_OpenGraph_Image {
560
  * @return string The path of the image URL. Returns an empty string if URL parsing fails.
561
  */
562
  protected function get_image_url_path( $url ) {
563
- $parsed_url = wp_parse_url( $url );
564
-
565
- if ( $parsed_url === false ) {
566
- return '';
567
- }
568
-
569
- return $parsed_url['path'];
570
  }
571
 
572
  /**
@@ -601,4 +648,27 @@ class WPSEO_OpenGraph_Image {
601
  protected function get_queried_object_id() {
602
  return get_queried_object_id();
603
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
604
  }
9
  * Class WPSEO_OpenGraph_Image
10
  */
11
  class WPSEO_OpenGraph_Image {
12
+ const EXTERNAL_IMAGE_ID = '-1';
13
+
14
  /**
15
  * Holds the images that have been put out as OG image.
16
  *
196
  $this->images[ $image_url ] = $attachment;
197
  }
198
 
199
+ /**
200
+ * Adds an image by ID if possible and by URL if the ID isn't present.
201
+ *
202
+ * @param string $image_id The image ID as set in the database.
203
+ * @param string $image_url The saved URL for the image.
204
+ * @param callable $on_save_id Function to call to save the ID if it needs to be saved.
205
+ *
206
+ * @return void
207
+ */
208
+ private function add_image_by_id_or_url( $image_id, $image_url, $on_save_id ) {
209
+ switch ( $image_id ) {
210
+ case self::EXTERNAL_IMAGE_ID:
211
+ // Add image by URL, but skip attachment_to_id call. We already know this is an external image.
212
+ $this->add_image( array( 'url' => $image_url ) );
213
+ break;
214
+
215
+ case '':
216
+ // Add image by URL, try to save the ID afterwards. So we can use the ID the next time.
217
+ $attachment_id = $this->add_image_by_url( $image_url );
218
+
219
+ if ( $attachment_id !== null ) {
220
+ call_user_func( $on_save_id, $attachment_id );
221
+ }
222
+ break;
223
+
224
+ default:
225
+ // Add the image by ID. This is our ideal scenario.
226
+ $this->add_image_by_id( $image_id );
227
+ break;
228
+ }
229
+ }
230
+
231
+ /**
232
+ * Saves the ID to the frontpage Open Graph image ID.
233
+ *
234
+ * @param string $attachment_id The ID to save.
235
+ *
236
+ * @return void
237
+ */
238
+ private function save_frontpage_image_id( $attachment_id ) {
239
+ WPSEO_Options::set( 'og_frontpage_image_id', $attachment_id );
240
+ }
241
+
242
  /**
243
  * If the frontpage image exists, call add_image.
244
  *
252
  return;
253
  }
254
 
255
+
256
+ $frontpage_image_url = WPSEO_Options::get( 'og_frontpage_image' );
257
+ $frontpage_image_id = WPSEO_Options::get( 'og_frontpage_image_id' );
258
+
259
+ $this->add_image_by_id_or_url( $frontpage_image_id, $frontpage_image_url, array( $this, 'save_frontpage_image_id' ) );
260
  }
261
 
262
  /**
318
  $this->set_featured_image( $post_id );
319
  }
320
 
321
+ /**
322
+ * Saves the default image ID for Open Graph images to the database.
323
+ *
324
+ * @param string $attachment_id The ID to save.
325
+ *
326
+ * @return void
327
+ */
328
+ private function save_default_image_id( $attachment_id ) {
329
+ WPSEO_Options::set( 'og_default_image_id', $attachment_id );
330
+ }
331
+
332
  /**
333
  * Get default image and call add_image.
334
  *
335
  * @return void
336
  */
337
  private function maybe_set_default_image() {
338
+ if ( $this->has_images() ) {
339
+ return;
340
+ }
341
+
342
+ $default_image_url = WPSEO_Options::get( 'og_default_image', '' );
343
+ $default_image_id = WPSEO_Options::get( 'og_default_image_id', '' );
344
+
345
+ if ( $default_image_url === '' && $default_image_id === '' ) {
346
+ return;
347
  }
348
+
349
+ $this->add_image_by_id_or_url( $default_image_id, $default_image_url, array( $this, 'save_default_image_id' ) );
350
+ }
351
+
352
+ /**
353
+ * Saves the Open Graph image meta to the database for the current post.
354
+ *
355
+ * @param string $attachment_id The ID to save.
356
+ *
357
+ * @return void
358
+ */
359
+ private function save_opengraph_image_id_meta( $attachment_id ) {
360
+ $post_id = $this->get_queried_object_id();
361
+
362
+ WPSEO_Meta::set_value( 'opengraph-image-id', (string) $attachment_id, $post_id );
363
  }
364
 
365
  /**
370
  * @return void
371
  */
372
  private function set_image_post_meta( $post_id = 0 ) {
373
+ $image_id = WPSEO_Meta::get_value( 'opengraph-image-id', $post_id );
374
  $image_url = WPSEO_Meta::get_value( 'opengraph-image', $post_id );
375
+
376
+ $this->add_image_by_id_or_url( $image_id, $image_url, array( $this, 'save_opengraph_image_id_meta' ) );
377
  }
378
 
379
  /**
412
  }
413
  }
414
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
415
  /**
416
  * Adds an image based on a given URL, and attempts to be smart about it.
417
  *
418
  * @param string $url The given URL.
419
  *
420
+ * @return null|number Returns the found attachment ID if it exists. Otherwise -1. If the URL is empty we return null.
421
  */
422
  public function add_image_by_url( $url ) {
423
  if ( empty( $url ) ) {
424
+ return null;
425
  }
426
 
427
  $attachment_id = WPSEO_Image_Utils::get_attachment_by_url( $url );
428
 
429
  if ( $attachment_id > 0 ) {
430
  $this->add_image_by_id( $attachment_id );
431
+ return $attachment_id;
432
  }
433
 
434
  $this->add_image( array( 'url' => $url ) );
435
+
436
+ return -1;
437
  }
438
 
439
  /**
523
  *
524
  * @return void
525
  */
526
+ protected function set_images() {
527
  /**
528
  * Filter: wpseo_add_opengraph_images - Allow developers to add images to the OpenGraph tags.
529
  *
613
  * @return string The path of the image URL. Returns an empty string if URL parsing fails.
614
  */
615
  protected function get_image_url_path( $url ) {
616
+ return (string) wp_parse_url( $url, PHP_URL_PATH );
 
 
 
 
 
 
617
  }
618
 
619
  /**
648
  protected function get_queried_object_id() {
649
  return get_queried_object_id();
650
  }
651
+
652
+ /**
653
+ * Adds the first usable attachment image from the post content.
654
+ *
655
+ * @param WP_Post $post The post object.
656
+ *
657
+ * @return void
658
+ */
659
+ private function add_first_usable_content_image( $post ) {
660
+ $image_finder = new WPSEO_Content_Images();
661
+ $images = $image_finder->get_images( $post->ID, $post );
662
+
663
+ if ( ! is_array( $images ) || $images === array() ) {
664
+ return;
665
+ }
666
+
667
+ $image_url = reset( $images );
668
+ if ( ! $image_url ) {
669
+ return;
670
+ }
671
+
672
+ $this->add_image( array( 'url' => $image_url ) );
673
+ }
674
  }
frontend/class-opengraph.php CHANGED
@@ -752,6 +752,8 @@ class WPSEO_OpenGraph {
752
  }
753
  }
754
 
 
 
755
  /**
756
  * Outputs the site owner.
757
  *
752
  }
753
  }
754
 
755
+ /* ********************* DEPRECATED METHODS ********************* */
756
+
757
  /**
758
  * Outputs the site owner.
759
  *
frontend/class-twitter.php CHANGED
@@ -599,34 +599,28 @@ class WPSEO_Twitter {
599
  }
600
 
601
  /**
602
- * Retrieve the image from the content
603
  *
604
  * @param int $post_id The post id to extract the images from.
605
  *
606
- * @return bool
607
  */
608
  private function image_from_content_output( $post_id ) {
609
- /**
610
- * Filter: 'wpseo_pre_analysis_post_content' - Allow filtering the content before analysis
611
- *
612
- * @api string $post_content The Post content string
613
- *
614
- * @param object $post - The post object.
615
- */
616
- $post = get_post( $post_id );
617
- $content = apply_filters( 'wpseo_pre_analysis_post_content', $post->post_content, $post );
618
 
619
- if ( preg_match_all( '`<img [^>]+>`', $content, $matches ) ) {
620
- foreach ( $matches[0] as $img ) {
621
- if ( preg_match( '`src=(["\'])(.*?)\1`', $img, $match ) ) {
622
- $this->image_output( $match[2] );
623
 
624
- return true;
625
- }
626
- }
627
  }
628
 
629
- return false;
 
 
630
  }
631
 
632
  /**
599
  }
600
 
601
  /**
602
+ * Retrieve the image from the content.
603
  *
604
  * @param int $post_id The post id to extract the images from.
605
  *
606
+ * @return bool True when images output succeeded.
607
  */
608
  private function image_from_content_output( $post_id ) {
609
+ $image_finder = new WPSEO_Content_Images();
610
+ $images = $image_finder->get_images( $post_id );
 
 
 
 
 
 
 
611
 
612
+ if ( ! is_array( $images ) || $images === array() ) {
613
+ return false;
614
+ }
 
615
 
616
+ $image_url = reset( $images );
617
+ if ( ! $image_url ) {
618
+ return false;
619
  }
620
 
621
+ $this->image_output( $image_url );
622
+
623
+ return true;
624
  }
625
 
626
  /**
images/exclamation-triangle.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1024 1375v-190q0-14-9.5-23.5T992 1152H800q-13 0-22.5 9.5T768 1185v190q0 14 9.5 23.5t22.5 9.5h192q13 0 22.5-9.5t9.5-23.5zm-2-374l18-459q0-12-10-19-13-11-24-11H786q-11 0-24 11-10 7-10 21l17 457q0 10 10 16.5t24 6.5h185q14 0 23.5-6.5t10.5-16.5zm-14-934l768 1408q35 63-2 126-17 29-46.5 46t-63.5 17H128q-34 0-63.5-17T18 1601q-37-63-2-126L784 67q17-31 47-49t65-18 65 18 47 49z"/></svg>
inc/class-upgrade.php CHANGED
@@ -120,6 +120,10 @@ class WPSEO_Upgrade {
120
  $this->upgrade_772();
121
  }
122
 
 
 
 
 
123
  // Since 3.7.
124
  $upsell_notice = new WPSEO_Product_Upsell_Notice();
125
  $upsell_notice->set_upgrade_notice();
@@ -303,7 +307,7 @@ class WPSEO_Upgrade {
303
  $wpdb->query(
304
  $wpdb->prepare(
305
  'UPDATE ' . $wpdb->postmeta . ' SET meta_key = %s WHERE meta_key = "yst_is_cornerstone"',
306
- WPSEO_Cornerstone::META_NAME
307
  )
308
  );
309
  }
@@ -608,6 +612,23 @@ class WPSEO_Upgrade {
608
  }
609
  }
610
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
611
  /**
612
  * Removes the post meta fields for a given meta key.
613
  *
120
  $this->upgrade_772();
121
  }
122
 
123
+ if ( version_compare( $version, '9.0-RC0', '<' ) ) {
124
+ $this->upgrade90();
125
+ }
126
+
127
  // Since 3.7.
128
  $upsell_notice = new WPSEO_Product_Upsell_Notice();
129
  $upsell_notice->set_upgrade_notice();
307
  $wpdb->query(
308
  $wpdb->prepare(
309
  'UPDATE ' . $wpdb->postmeta . ' SET meta_key = %s WHERE meta_key = "yst_is_cornerstone"',
310
+ WPSEO_Cornerstone_Filter::META_NAME
311
  )
312
  );
313
  }
612
  }
613
  }
614
 
615
+ /**
616
+ * Performs the 9.0 upgrade.
617
+ *
618
+ * @return void
619
+ */
620
+ private function upgrade90() {
621
+ global $wpdb;
622
+
623
+ // Invalidate all sitemap cache transients.
624
+ WPSEO_Sitemaps_Cache_Validator::cleanup_database();
625
+
626
+ // Removes all scheduled tasks for hitting the sitemap index.
627
+ wp_clear_scheduled_hook( 'wpseo_hit_sitemap_index' );
628
+
629
+ $wpdb->query( 'DELETE FROM ' . $wpdb->options . ' WHERE option_name LIKE "wpseo_sitemap_%"' );
630
+ }
631
+
632
  /**
633
  * Removes the post meta fields for a given meta key.
634
  *
inc/class-wpseo-admin-bar-menu.php CHANGED
@@ -134,10 +134,10 @@ class WPSEO_Admin_Bar_Menu implements WPSEO_WordPress_Integration {
134
  protected function add_root_menu( WP_Admin_Bar $wp_admin_bar ) {
135
  $title = $this->get_title();
136
 
137
- $score = '';
138
- $settings_url = '';
139
- $counter = '';
140
- $alert_popup = '';
141
 
142
  $post = $this->get_singular_post();
143
  if ( $post ) {
@@ -172,8 +172,8 @@ class WPSEO_Admin_Bar_Menu implements WPSEO_WordPress_Integration {
172
  'parent' => self::MENU_IDENTIFIER,
173
  'id' => 'wpseo-notifications',
174
  'title' => __( 'Notifications', 'wordpress-seo' ) . $counter,
175
- 'href' => $settings_url,
176
- 'meta' => array( 'tabindex' => ! empty( $settings_url ) ? false : '0' ),
177
  ) );
178
  }
179
 
@@ -281,7 +281,7 @@ class WPSEO_Admin_Bar_Menu implements WPSEO_WordPress_Integration {
281
  $wp_admin_bar->add_menu( array(
282
  'parent' => self::ANALYSIS_SUBMENU_IDENTIFIER,
283
  'id' => 'wpseo-kwdensity',
284
- 'title' => __( 'Check Keyword Density', 'wordpress-seo' ),
285
  // HTTPS not available.
286
  'href' => 'http://www.zippy.co.uk/keyworddensity/index.php?url=' . urlencode( $url ) . '&keyword=' . urlencode( $focus_keyword ),
287
  'meta' => array( 'target' => '_blank' ),
134
  protected function add_root_menu( WP_Admin_Bar $wp_admin_bar ) {
135
  $title = $this->get_title();
136
 
137
+ $score = '';
138
+ $settings_url = '';
139
+ $counter = '';
140
+ $alert_popup = '';
141
 
142
  $post = $this->get_singular_post();
143
  if ( $post ) {
172
  'parent' => self::MENU_IDENTIFIER,
173
  'id' => 'wpseo-notifications',
174
  'title' => __( 'Notifications', 'wordpress-seo' ) . $counter,
175
+ 'href' => $settings_url,
176
+ 'meta' => array( 'tabindex' => ! empty( $settings_url ) ? false : '0' ),
177
  ) );
178
  }
179
 
281
  $wp_admin_bar->add_menu( array(
282
  'parent' => self::ANALYSIS_SUBMENU_IDENTIFIER,
283
  'id' => 'wpseo-kwdensity',
284
+ 'title' => __( 'Check Keyphrase Density', 'wordpress-seo' ),
285
  // HTTPS not available.
286
  'href' => 'http://www.zippy.co.uk/keyworddensity/index.php?url=' . urlencode( $url ) . '&keyword=' . urlencode( $focus_keyword ),
287
  'meta' => array( 'target' => '_blank' ),
inc/class-wpseo-content-images.php CHANGED
@@ -18,19 +18,6 @@ class WPSEO_Content_Images implements WPSEO_WordPress_Integration {
18
  public function register_hooks() {
19
  }
20
 
21
- /**
22
- * Removes the cached images on post save.
23
- *
24
- * @deprecated 7.7
25
- *
26
- * @param int $post_id The post id to remove the images from.
27
- *
28
- * @return void
29
- */
30
- public function clear_cached_images( $post_id ) {
31
- _deprecated_function( __METHOD__, '7.7.0' );
32
- }
33
-
34
  /**
35
  * Retrieves images from the post content.
36
  *
@@ -124,4 +111,20 @@ class WPSEO_Content_Images implements WPSEO_WordPress_Integration {
124
 
125
  return $content;
126
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
  }
18
  public function register_hooks() {
19
  }
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  /**
22
  * Retrieves images from the post content.
23
  *
111
 
112
  return $content;
113
  }
114
+
115
+ /* ********************* DEPRECATED METHODS ********************* */
116
+
117
+ /**
118
+ * Removes the cached images on post save.
119
+ *
120
+ * @deprecated 7.7
121
+ * @codeCoverageIgnore
122
+ *
123
+ * @param int $post_id The post id to remove the images from.
124
+ *
125
+ * @return void
126
+ */
127
+ public function clear_cached_images( $post_id ) {
128
+ _deprecated_function( __METHOD__, '7.7.0' );
129
+ }
130
  }
inc/class-wpseo-custom-taxonomies.php CHANGED
@@ -26,11 +26,11 @@ class WPSEO_Custom_Taxonomies {
26
  }
27
 
28
  self::$custom_taxonomies = array();
29
- $args = array(
30
  'public' => true,
31
  '_builtin' => false,
32
  );
33
- $custom_taxonomies = get_taxonomies( $args, 'names', 'and' );
34
 
35
  if ( is_array( $custom_taxonomies ) ) {
36
  foreach ( $custom_taxonomies as $custom_taxonomy ) {
26
  }
27
 
28
  self::$custom_taxonomies = array();
29
+ $args = array(
30
  'public' => true,
31
  '_builtin' => false,
32
  );
33
+ $custom_taxonomies = get_taxonomies( $args, 'names', 'and' );
34
 
35
  if ( is_array( $custom_taxonomies ) ) {
36
  foreach ( $custom_taxonomies as $custom_taxonomy ) {
inc/class-wpseo-endpoint-factory.php ADDED
@@ -0,0 +1,173 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Internals
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Endpoint_Factory
10
+ */
11
+ class WPSEO_Endpoint_Factory {
12
+
13
+ /**
14
+ * @var array The valid HTTP methods.
15
+ */
16
+ private $valid_http_methods = array(
17
+ 'GET',
18
+ 'PATCH',
19
+ 'POST',
20
+ 'PUT',
21
+ 'DELETE',
22
+ );
23
+
24
+ /**
25
+ * @var array The arguments.
26
+ */
27
+ protected $args = array();
28
+
29
+ /**
30
+ * @var string The namespace.
31
+ */
32
+ private $namespace;
33
+
34
+ /**
35
+ * @var string The endpoint URL.
36
+ */
37
+ private $endpoint;
38
+
39
+ /**
40
+ * @var callable The callback to execute if the endpoint is called.
41
+ */
42
+ private $callback;
43
+
44
+ /**
45
+ * @var callable The permission callback to execute to determine permissions.
46
+ */
47
+ private $permission_callback;
48
+
49
+ /**
50
+ * @var string The HTTP method to use.
51
+ */
52
+ private $method;
53
+
54
+ /**
55
+ * WPSEO_Endpoint_Factory constructor.
56
+ *
57
+ * @param string $namespace The endpoint's namespace.
58
+ * @param string $endpoint The endpoint's URL.
59
+ * @param callable $callback The callback function to execute.
60
+ * @param callable $permission_callback The permission callback to execute to determine permissions.
61
+ * @param string $method The HTTP method to use. Defaults to GET.
62
+ *
63
+ * @throws WPSEO_Invalid_Argument_Exception The invalid argument exception.
64
+ */
65
+ public function __construct( $namespace, $endpoint, $callback, $permission_callback, $method = WP_REST_Server::READABLE ) {
66
+ if ( ! WPSEO_Validator::is_string( $namespace ) ) {
67
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $namespace, 'namespace' );
68
+ }
69
+
70
+ $this->namespace = $namespace;
71
+
72
+ if ( ! WPSEO_Validator::is_string( $endpoint ) ) {
73
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $endpoint, 'endpoint' );
74
+ }
75
+
76
+ $this->endpoint = $endpoint;
77
+
78
+ if ( ! is_callable( $callback ) ) {
79
+ throw WPSEO_Invalid_Argument_Exception::invalid_callable_parameter( $callback, 'callback' );
80
+ }
81
+
82
+ $this->callback = $callback;
83
+
84
+ if ( ! is_callable( $permission_callback ) ) {
85
+ throw WPSEO_Invalid_Argument_Exception::invalid_callable_parameter( $permission_callback, 'callback' );
86
+ }
87
+
88
+ $this->permission_callback = $permission_callback;
89
+
90
+ $this->method = $this->validate_method( $method );
91
+ }
92
+
93
+ /**
94
+ * Gets the associated arguments.
95
+ *
96
+ * @return array The arguments.
97
+ */
98
+ public function get_arguments() {
99
+ return $this->args;
100
+ }
101
+
102
+ /**
103
+ * Determines whether or not there are any arguments present.
104
+ *
105
+ * @return bool Whether or not any arguments are present.
106
+ */
107
+ public function has_arguments() {
108
+ return count( $this->args ) > 0;
109
+ }
110
+
111
+ /**
112
+ * Registers the endpoint with WordPress.
113
+ *
114
+ * @return void
115
+ */
116
+ public function register() {
117
+ $config = array(
118
+ 'methods' => $this->method,
119
+ 'callback' => $this->callback,
120
+ 'permission_callback' => $this->permission_callback,
121
+ );
122
+
123
+ if ( $this->has_arguments() ) {
124
+ $config['args'] = $this->args;
125
+ }
126
+
127
+ register_rest_route( $this->namespace, $this->endpoint, $config );
128
+ }
129
+
130
+ /**
131
+ * Validates the method parameter.
132
+ *
133
+ * @param string $method The set method parameter.
134
+ *
135
+ * @return string The validated method.
136
+ *
137
+ * @throws WPSEO_Invalid_Argument_Exception The invalid argument exception.
138
+ * @throws InvalidArgumentException The invalid argument exception.
139
+ */
140
+ protected function validate_method( $method ) {
141
+ if ( ! WPSEO_Validator::is_string( $method ) ) {
142
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $method, 'method' );
143
+ }
144
+
145
+ if ( ! in_array( $method, $this->valid_http_methods, true ) ) {
146
+ throw new InvalidArgumentException( sprintf( '%s is not a valid HTTP method', $method ) );
147
+ }
148
+
149
+ return $method;
150
+ }
151
+
152
+ /**
153
+ * Adds an argument to the endpoint.
154
+ *
155
+ * @param string $name The name of the argument.
156
+ * @param string $description The description associated with the argument.
157
+ * @param string $type The type of value that can be assigned to the argument.
158
+ * @param bool $required Whether or not it's a required argument. Defaults to true.
159
+ *
160
+ * @return void
161
+ */
162
+ protected function add_argument( $name, $description, $type, $required = true ) {
163
+ if ( in_array( $name, array_keys( $this->args ), true ) ) {
164
+ return;
165
+ }
166
+
167
+ $this->args[ $name ] = array(
168
+ 'description' => $description,
169
+ 'type' => $type,
170
+ 'required' => $required,
171
+ );
172
+ }
173
+ }
inc/class-wpseo-image-utils.php CHANGED
@@ -56,12 +56,12 @@ class WPSEO_Image_Utils {
56
  $id = attachment_url_to_postid( $url );
57
 
58
  if ( empty( $id ) ) {
59
- wp_cache_set( $cache_key, 'not_found', '', ( 12 * HOUR_IN_SECONDS + mt_rand( 0, ( 4 * HOUR_IN_SECONDS ) ) ) );
60
  return 0;
61
  }
62
 
63
  // We have the Post ID, but it's not in the cache yet. We do that here and return.
64
- wp_cache_set( $cache_key, $id, '', ( 24 * HOUR_IN_SECONDS + mt_rand( 0, ( 12 * HOUR_IN_SECONDS ) ) ) );
65
  return $id;
66
  }
67
 
56
  $id = attachment_url_to_postid( $url );
57
 
58
  if ( empty( $id ) ) {
59
+ wp_cache_set( $cache_key, 'not_found', '', ( 12 * HOUR_IN_SECONDS + wp_rand( 0, ( 4 * HOUR_IN_SECONDS ) ) ) );
60
  return 0;
61
  }
62
 
63
  // We have the Post ID, but it's not in the cache yet. We do that here and return.
64
+ wp_cache_set( $cache_key, $id, '', ( 24 * HOUR_IN_SECONDS + wp_rand( 0, ( 12 * HOUR_IN_SECONDS ) ) ) );
65
  return $id;
66
  }
67
 
inc/class-wpseo-meta.php CHANGED
@@ -238,6 +238,7 @@ class WPSEO_Meta {
238
  'title' => 'text',
239
  'description' => 'textarea',
240
  'image' => 'upload',
 
241
  );
242
 
243
  /**
@@ -492,19 +493,6 @@ class WPSEO_Meta {
492
  $clean = WPSEO_Utils::sanitize_text_field( trim( $meta_value ) );
493
  }
494
 
495
- if ( $meta_key === self::$meta_prefix . 'focuskw' ) {
496
- $clean = str_replace( array(
497
- '&lt;',
498
- '&gt;',
499
- '&quot',
500
- '&#96',
501
- '<',
502
- '>',
503
- '"',
504
- '`',
505
- ), '', $clean );
506
- }
507
-
508
  break;
509
  }
510
 
238
  'title' => 'text',
239
  'description' => 'textarea',
240
  'image' => 'upload',
241
+ 'image-id' => 'hidden',
242
  );
243
 
244
  /**
493
  $clean = WPSEO_Utils::sanitize_text_field( trim( $meta_value ) );
494
  }
495
 
 
 
 
 
 
 
 
 
 
 
 
 
 
496
  break;
497
  }
498
 
inc/class-wpseo-rank.php CHANGED
@@ -117,7 +117,7 @@ class WPSEO_Rank {
117
  */
118
  public function get_drop_down_label() {
119
  $labels = array(
120
- self::NO_FOCUS => __( 'SEO: No Focus Keyword', 'wordpress-seo' ),
121
  self::BAD => __( 'SEO: Needs improvement', 'wordpress-seo' ),
122
  self::OK => __( 'SEO: OK', 'wordpress-seo' ),
123
  self::GOOD => __( 'SEO: Good', 'wordpress-seo' ),
117
  */
118
  public function get_drop_down_label() {
119
  $labels = array(
120
+ self::NO_FOCUS => __( 'SEO: No Focus Keyphrase', 'wordpress-seo' ),
121
  self::BAD => __( 'SEO: Needs improvement', 'wordpress-seo' ),
122
  self::OK => __( 'SEO: OK', 'wordpress-seo' ),
123
  self::GOOD => __( 'SEO: Good', 'wordpress-seo' ),
inc/class-wpseo-replace-vars.php CHANGED
@@ -1340,7 +1340,7 @@ class WPSEO_Replace_Vars {
1340
  new WPSEO_Replacement_Variable( 'pagetotal', __( 'Pagetotal', 'wordpress-seo' ), __( 'Replaced with the current page total', 'wordpress-seo' ) ),
1341
  new WPSEO_Replacement_Variable( 'pagenumber', __( 'Pagenumber', 'wordpress-seo' ), __( 'Replaced with the current page number', 'wordpress-seo' ) ),
1342
  new WPSEO_Replacement_Variable( 'caption', __( 'Caption', 'wordpress-seo' ), __( 'Attachment caption', 'wordpress-seo' ) ),
1343
- new WPSEO_Replacement_Variable( 'focuskw', __( 'Focus keyword', 'wordpress-seo' ), __( 'Replaced with the posts focus keyword', 'wordpress-seo' ) ),
1344
  new WPSEO_Replacement_Variable( 'term404', __( 'Term404', 'wordpress-seo' ), __( 'Replaced with the slug which caused the 404', 'wordpress-seo' ) ),
1345
  new WPSEO_Replacement_Variable( 'cf_<custom-field-name>', '<custom-field-name> ' . __( '(custom field)', 'wordpress-seo' ), __( 'Replaced with a posts custom field value', 'wordpress-seo' ) ),
1346
  new WPSEO_Replacement_Variable( 'ct_<custom-tax-name>', '<custom-tax-name> ' . __( '(custom taxonomy)', 'wordpress-seo' ), __( 'Replaced with a posts custom taxonomies, comma separated.', 'wordpress-seo' ) ),
1340
  new WPSEO_Replacement_Variable( 'pagetotal', __( 'Pagetotal', 'wordpress-seo' ), __( 'Replaced with the current page total', 'wordpress-seo' ) ),
1341
  new WPSEO_Replacement_Variable( 'pagenumber', __( 'Pagenumber', 'wordpress-seo' ), __( 'Replaced with the current page number', 'wordpress-seo' ) ),
1342
  new WPSEO_Replacement_Variable( 'caption', __( 'Caption', 'wordpress-seo' ), __( 'Attachment caption', 'wordpress-seo' ) ),
1343
+ new WPSEO_Replacement_Variable( 'focuskw', __( 'Focus keyword', 'wordpress-seo' ), __( 'Replaced with the posts focus keyphrase', 'wordpress-seo' ) ),
1344
  new WPSEO_Replacement_Variable( 'term404', __( 'Term404', 'wordpress-seo' ), __( 'Replaced with the slug which caused the 404', 'wordpress-seo' ) ),
1345
  new WPSEO_Replacement_Variable( 'cf_<custom-field-name>', '<custom-field-name> ' . __( '(custom field)', 'wordpress-seo' ), __( 'Replaced with a posts custom field value', 'wordpress-seo' ) ),
1346
  new WPSEO_Replacement_Variable( 'ct_<custom-tax-name>', '<custom-tax-name> ' . __( '(custom taxonomy)', 'wordpress-seo' ), __( 'Replaced with a posts custom taxonomies, comma separated.', 'wordpress-seo' ) ),
inc/class-wpseo-shortlinker.php CHANGED
@@ -10,6 +10,23 @@
10
  */
11
  class WPSEO_Shortlinker {
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  /**
14
  * Builds a URL to use in the plugin as shortlink.
15
  *
@@ -18,18 +35,7 @@ class WPSEO_Shortlinker {
18
  * @return string The final URL.
19
  */
20
  public function build_shortlink( $url ) {
21
- return add_query_arg(
22
- array(
23
- 'php_version' => $this->get_php_version(),
24
- 'platform' => 'wordpress',
25
- 'platform_version' => $GLOBALS['wp_version'],
26
- 'software' => $this->get_software(),
27
- 'software_version' => WPSEO_VERSION,
28
- 'role' => $this->get_filtered_user_role(),
29
- 'days_active' => $this->get_days_active(),
30
- ),
31
- $url
32
- );
33
  }
34
 
35
  /**
@@ -40,7 +46,7 @@ class WPSEO_Shortlinker {
40
  * @return string The final URL.
41
  */
42
  public static function get( $url ) {
43
- $shortlinker = new WPSEO_Shortlinker();
44
 
45
  return $shortlinker->build_shortlink( $url );
46
  }
@@ -54,6 +60,17 @@ class WPSEO_Shortlinker {
54
  echo esc_url( self::get( $url ) );
55
  }
56
 
 
 
 
 
 
 
 
 
 
 
 
57
  /**
58
  * Gets the current site's PHP version, without the extra info.
59
  *
10
  */
11
  class WPSEO_Shortlinker {
12
 
13
+ /**
14
+ * Collects the additional data necessary for the shortlink.
15
+ *
16
+ * @return array The shortlink data.
17
+ */
18
+ protected function collect_additional_shortlink_data() {
19
+ return array(
20
+ 'php_version' => $this->get_php_version(),
21
+ 'platform' => 'wordpress',
22
+ 'platform_version' => $GLOBALS['wp_version'],
23
+ 'software' => $this->get_software(),
24
+ 'software_version' => WPSEO_VERSION,
25
+ 'role' => $this->get_filtered_user_role(),
26
+ 'days_active' => $this->get_days_active(),
27
+ );
28
+ }
29
+
30
  /**
31
  * Builds a URL to use in the plugin as shortlink.
32
  *
35
  * @return string The final URL.
36
  */
37
  public function build_shortlink( $url ) {
38
+ return add_query_arg( $this->collect_additional_shortlink_data(), $url );
 
 
 
 
 
 
 
 
 
 
 
39
  }
40
 
41
  /**
46
  * @return string The final URL.
47
  */
48
  public static function get( $url ) {
49
+ $shortlinker = new self();
50
 
51
  return $shortlinker->build_shortlink( $url );
52
  }
60
  echo esc_url( self::get( $url ) );
61
  }
62
 
63
+ /**
64
+ * Gets the shortlink's query params.
65
+ *
66
+ * @return array The shortlink's query params.
67
+ */
68
+ public static function get_query_params() {
69
+ $shortlinker = new self();
70
+
71
+ return $shortlinker->collect_additional_shortlink_data();
72
+ }
73
+
74
  /**
75
  * Gets the current site's PHP version, without the extra info.
76
  *
inc/class-wpseo-utils.php CHANGED
@@ -998,42 +998,6 @@ SVG;
998
  && version_compare( REST_API_VERSION, $minimum_version, '>=' ) );
999
  }
1000
 
1001
- /********************** DEPRECATED METHODS **********************/
1002
-
1003
- /**
1004
- * Returns the language part of a given locale, defaults to english when the $locale is empty.
1005
- *
1006
- * @see WPSEO_Language_Utils::get_language()
1007
- *
1008
- * @since 3.4
1009
- *
1010
- * @param string $locale The locale to get the language of.
1011
- *
1012
- * @returns string The language part of the locale.
1013
- */
1014
- public static function get_language( $locale ) {
1015
- return WPSEO_Language_Utils::get_language( $locale );
1016
- }
1017
-
1018
- /**
1019
- * Returns the user locale for the language to be used in the admin.
1020
- *
1021
- * WordPress 4.7 introduced the ability for users to specify an Admin language
1022
- * different from the language used on the front end. This checks if the feature
1023
- * is available and returns the user's language, with a fallback to the site's language.
1024
- * Can be removed when support for WordPress 4.6 will be dropped, in favor
1025
- * of WordPress get_user_locale() that already fallbacks to the site's locale.
1026
- *
1027
- * @see WPSEO_Language_Utils::get_user_locale()
1028
- *
1029
- * @since 4.1
1030
- *
1031
- * @returns string The locale.
1032
- */
1033
- public static function get_user_locale() {
1034
- return WPSEO_Language_Utils::get_user_locale();
1035
- }
1036
-
1037
  /**
1038
  * Determine whether or not the metabox should be displayed for a post type.
1039
  *
@@ -1139,4 +1103,40 @@ SVG;
1139
 
1140
  return $wpseo_admin_l10n;
1141
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1142
  }
998
  && version_compare( REST_API_VERSION, $minimum_version, '>=' ) );
999
  }
1000
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1001
  /**
1002
  * Determine whether or not the metabox should be displayed for a post type.
1003
  *
1103
 
1104
  return $wpseo_admin_l10n;
1105
  }
1106
+
1107
+ /* ********************* DEPRECATED METHODS ********************* */
1108
+
1109
+ /**
1110
+ * Returns the language part of a given locale, defaults to english when the $locale is empty.
1111
+ *
1112
+ * @see WPSEO_Language_Utils::get_language()
1113
+ *
1114
+ * @since 3.4
1115
+ *
1116
+ * @param string $locale The locale to get the language of.
1117
+ *
1118
+ * @returns string The language part of the locale.
1119
+ */
1120
+ public static function get_language( $locale ) {
1121
+ return WPSEO_Language_Utils::get_language( $locale );
1122
+ }
1123
+
1124
+ /**
1125
+ * Returns the user locale for the language to be used in the admin.
1126
+ *
1127
+ * WordPress 4.7 introduced the ability for users to specify an Admin language
1128
+ * different from the language used on the front end. This checks if the feature
1129
+ * is available and returns the user's language, with a fallback to the site's language.
1130
+ * Can be removed when support for WordPress 4.6 will be dropped, in favor
1131
+ * of WordPress get_user_locale() that already fallbacks to the site's locale.
1132
+ *
1133
+ * @see WPSEO_Language_Utils::get_user_locale()
1134
+ *
1135
+ * @since 4.1
1136
+ *
1137
+ * @returns string The locale.
1138
+ */
1139
+ public static function get_user_locale() {
1140
+ return WPSEO_Language_Utils::get_user_locale();
1141
+ }
1142
  }
inc/class-wpseo-validator.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Internals
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Validator
10
+ */
11
+ class WPSEO_Validator {
12
+
13
+ /**
14
+ * Validates whether the passed variable is a boolean.
15
+ *
16
+ * @param mixed $variable The variable to validate.
17
+ *
18
+ * @return bool Whether or not the passed variable is a valid boolean.
19
+ */
20
+ public static function is_boolean( $variable ) {
21
+ if ( is_bool( $variable ) ) {
22
+ return true;
23
+ }
24
+
25
+ return filter_var( $variable, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE ) !== null;
26
+ }
27
+
28
+ /**
29
+ * Validates whether the passed variable is a string.
30
+ *
31
+ * @param mixed $variable The variable to validate.
32
+ *
33
+ * @return bool Whether or not the passed variable is a string.
34
+ */
35
+ public static function is_string( $variable ) {
36
+ return is_string( $variable );
37
+ }
38
+
39
+ /**
40
+ * Validates whether the passed variable is a non-empty string.
41
+ *
42
+ * @param mixed $variable The variable to validate.
43
+ *
44
+ * @return bool Whether or not the passed value is a non-empty string.
45
+ */
46
+ public static function is_non_empty_string( $variable ) {
47
+ return self::is_string( $variable ) && $variable !== '';
48
+ }
49
+
50
+ /**
51
+ * Validates whether the passed variable is an integer.
52
+ *
53
+ * @param mixed $variable The variable to validate.
54
+ *
55
+ * @return bool Whether or not the passed variable is an integer.
56
+ */
57
+ public static function is_integer( $variable ) {
58
+ return filter_var( $variable, FILTER_VALIDATE_INT ) || filter_var( $variable, FILTER_VALIDATE_INT ) === 0;
59
+ }
60
+
61
+ /**
62
+ * Determines whether a particular key exists within the passed dataset.
63
+ *
64
+ * @param array $data The dataset to search through.
65
+ * @param string $key The key to search for.
66
+ *
67
+ * @return bool Whether or not the key exists.
68
+ */
69
+ public static function key_exists( array $data, $key ) {
70
+ return array_key_exists( $key, $data );
71
+ }
72
+ }
inc/exceptions/class-invalid-argument-exception.php ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Internals
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Invalid_Argument_Exception
10
+ */
11
+ class WPSEO_Invalid_Argument_Exception extends InvalidArgumentException {
12
+
13
+ /**
14
+ * Creates an invalid empty parameter exeception.
15
+ *
16
+ * @param string $name The name of the parameter.
17
+ *
18
+ * @return WPSEO_Invalid_Argument_Exception The exception.
19
+ */
20
+ public static function empty_parameter( $name ) {
21
+ return new self(
22
+ sprintf(
23
+ /* translators: %1$s expands to the parameter name. */
24
+ __( 'The parameter `%1$s` cannot be empty.', 'wordpress-seo' ),
25
+ $name
26
+ )
27
+ );
28
+ }
29
+
30
+ /**
31
+ * Creates an invalid parameter exception.
32
+ *
33
+ * @param mixed $parameter The parameter value of the field.
34
+ * @param string $name The name of the field.
35
+ * @param string $expected The expected type.
36
+ *
37
+ * @return WPSEO_Invalid_Argument_Exception The exception.
38
+ */
39
+ public static function invalid_parameter_type( $parameter, $name, $expected ) {
40
+ return new self(
41
+ sprintf(
42
+ /* translators: %1$s expands to the parameter name. %2$s expands to the expected type and %3$s expands to the expected type. */
43
+ __( 'Invalid type for parameter `%1$s` passed. Expected `%2$s`, but got `%3$s`', 'wordpress-seo' ),
44
+ $name,
45
+ $expected,
46
+ gettype( $parameter )
47
+ )
48
+ );
49
+ }
50
+
51
+ /**
52
+ * Creates an invalid integer parameter exception.
53
+ *
54
+ * @param mixed $parameter The parameter value of the field.
55
+ * @param string $name The name of the field.
56
+ *
57
+ * @return WPSEO_Invalid_Argument_Exception The exception.
58
+ */
59
+ public static function invalid_integer_parameter( $parameter, $name ) {
60
+ return self::invalid_parameter_type( $parameter, $name, 'integer' );
61
+ }
62
+
63
+ /**
64
+ * Creates an invalid string parameter exception.
65
+ *
66
+ * @param mixed $parameter The parameter value of the field.
67
+ * @param string $name The name of the field.
68
+ *
69
+ * @return WPSEO_Invalid_Argument_Exception The exception.
70
+ */
71
+ public static function invalid_string_parameter( $parameter, $name ) {
72
+ return self::invalid_parameter_type( $parameter, $name, 'string' );
73
+ }
74
+
75
+ /**
76
+ * Creates an invalid boolean parameter exception.
77
+ *
78
+ * @param mixed $parameter The parameter value of the field.
79
+ * @param string $name The name of the field.
80
+ *
81
+ * @return WPSEO_Invalid_Argument_Exception The exception.
82
+ */
83
+ public static function invalid_boolean_parameter( $parameter, $name ) {
84
+ return self::invalid_parameter_type( $parameter, $name, 'boolean' );
85
+ }
86
+
87
+ /**
88
+ * Creates an invalid callable parameter exception.
89
+ *
90
+ * @param mixed $parameter The parameter value of the field.
91
+ * @param string $name The name of the field.
92
+ *
93
+ * @return WPSEO_Invalid_Argument_Exception The exception.
94
+ */
95
+ public static function invalid_callable_parameter( $parameter, $name ) {
96
+ return self::invalid_parameter_type( $parameter, $name, 'callable' );
97
+ }
98
+
99
+ /**
100
+ * Creates an invalid object type exception.
101
+ *
102
+ * @param string $type The type of the field.
103
+ *
104
+ * @return WPSEO_Invalid_Argument_Exception The exception.
105
+ */
106
+ public static function invalid_type( $type ) {
107
+ return new self(
108
+ sprintf(
109
+ /* translators: %1$s expands to the object type. */
110
+ __( 'The object type `%1$s` is invalid', 'wordpress-seo' ),
111
+ $type
112
+ )
113
+ );
114
+ }
115
+
116
+ /**
117
+ * Creates an invalid object subtype exception.
118
+ *
119
+ * @param string $subtype The invalid subtype.
120
+ * @param string $type The parent type of the subtype.
121
+ *
122
+ * @return WPSEO_Invalid_Argument_Exception The exception.
123
+ */
124
+ public static function invalid_subtype( $subtype, $type ) {
125
+ return new self(
126
+ sprintf(
127
+ /* translators: %1$s expands to the object subtype. %2$s resolved to the object type. */
128
+ __( '`%1$s` is not a valid subtype of `%2$s`', 'wordpress-seo' ),
129
+ $subtype,
130
+ $type
131
+ )
132
+ );
133
+ }
134
+
135
+ /**
136
+ * Creates an unknown object exception.
137
+ *
138
+ * @param int $id The ID that was searched for.
139
+ * @param string $type The type of object that was being searched for.
140
+ *
141
+ * @return WPSEO_Invalid_Argument_Exception The exception.
142
+ */
143
+ public static function unknown_object( $id, $type ) {
144
+ return new self(
145
+ sprintf(
146
+ /* translators: %1$s expands to the object ID. %2$s resolved to the object type. */
147
+ __( 'No object with ID %1$s and %2$s could be found', 'wordpress-seo' ),
148
+ $id,
149
+ $type
150
+ )
151
+ );
152
+ }
153
+ }
inc/exceptions/class-invalid-indexable-exception.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Internals
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Invalid_Indexable_Exception
10
+ */
11
+ class WPSEO_Invalid_Indexable_Exception extends InvalidArgumentException {
12
+
13
+ /**
14
+ * Creates an invalid indexable exception.
15
+ *
16
+ * @param int $id The ID that was passed.
17
+ *
18
+ * @return WPSEO_Invalid_Indexable_Exception The exception.
19
+ */
20
+ public static function non_existing_indexable( $id ) {
21
+ return new self(
22
+ sprintf(
23
+ /* translators: %1$s expands to the indexable's ID. */
24
+ __( 'Indexable with ID `%1$s` does not exist', 'wordpress-seo' ),
25
+ $id
26
+ )
27
+ );
28
+ }
29
+
30
+ /**
31
+ * Creates an invalid POST request exception.
32
+ *
33
+ * @param int $id The ID that was passed.
34
+ *
35
+ * @return WPSEO_Invalid_Indexable_Exception The exception.
36
+ */
37
+ public static function invalid_post_request( $id ) {
38
+ return new self(
39
+ sprintf(
40
+ /* translators: %1$s expands to the indexable's ID. */
41
+ __( 'Invalid POST request. Meta values already exist for object with ID %1$s.', 'wordpress-seo' ),
42
+ $id
43
+ )
44
+ );
45
+ }
46
+ }
inc/exceptions/class-rest-request-exception.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Internals
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_REST_Request_Exception
10
+ */
11
+ class WPSEO_REST_Request_Exception extends Exception {
12
+
13
+ /**
14
+ * Creates a patch failure exception.
15
+ *
16
+ * @param string $object_type The name of the parameter.
17
+ * @param string $object_id The ID of the parameter.
18
+ *
19
+ * @return WPSEO_REST_Request_Exception The exception.
20
+ */
21
+ public static function patch( $object_type, $object_id ) {
22
+ return new self(
23
+ sprintf(
24
+ /* translators: %1$s expands to object type. %2$s expands to the object ID. */
25
+ __( '%1$s with ID %2$s couldn\'t be patched', 'wordpress-seo' ),
26
+ $object_type,
27
+ $object_id
28
+ )
29
+ );
30
+ }
31
+ }
inc/indexables/class-indexable.php ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Indexable
10
+ */
11
+ abstract class WPSEO_Indexable {
12
+
13
+ /**
14
+ * @var array The updateable fields.
15
+ */
16
+ protected $updateable_fields = array();
17
+
18
+ /**
19
+ * @var array The indexable's data.
20
+ */
21
+ protected $data;
22
+
23
+ /**
24
+ * @var array The available validators to run.
25
+ */
26
+ protected $validators = array(
27
+ 'WPSEO_Object_Type_Validator',
28
+ 'WPSEO_Link_Validator',
29
+ 'WPSEO_Keyword_Validator',
30
+ 'WPSEO_Meta_Values_Validator',
31
+ 'WPSEO_OpenGraph_Validator',
32
+ 'WPSEO_Robots_Validator',
33
+ 'WPSEO_Twitter_Validator',
34
+ );
35
+
36
+ /**
37
+ * Indexable constructor.
38
+ *
39
+ * @param array $data The data to use to construct the indexable.
40
+ */
41
+ public function __construct( $data ) {
42
+ $this->validate_data( $data );
43
+
44
+ $this->data = $data;
45
+ }
46
+
47
+ /**
48
+ * Converts the meta value to a boolean value.
49
+ *
50
+ * @param string $value The value to convert.
51
+ *
52
+ * @return bool|null The converted value.
53
+ */
54
+ protected static function get_robots_noindex_value( $value ) {
55
+ if ( $value === '1' ) {
56
+ return true;
57
+ }
58
+
59
+ if ( $value === '2' ) {
60
+ return false;
61
+ }
62
+
63
+ return null;
64
+ }
65
+
66
+ /**
67
+ * Determines whether the advanced robot metas value contains the passed value.
68
+ *
69
+ * @param int $object_id The ID of the object to check.
70
+ * @param string $value The name of the advanced robots meta value to look for.
71
+ *
72
+ * @return bool Whether or not the advanced robots meta values contains the passed string.
73
+ */
74
+ protected static function has_advanced_meta_value( $object_id, $value ) {
75
+ return strpos( WPSEO_Meta::get_value( 'meta-robots-adv', $object_id ), $value ) !== false;
76
+ }
77
+
78
+ /**
79
+ * Validates the data.
80
+ *
81
+ * @param array $data The data to validate.
82
+ *
83
+ * @return bool True if all validators have successfully validated.
84
+ */
85
+ protected function validate_data( $data ) {
86
+ foreach ( $this->validators as $validator ) {
87
+ // This is necessary to run under PHP 5.2.
88
+ $validator_instance = new $validator();
89
+
90
+ $validator_instance->validate( $data );
91
+ }
92
+
93
+ return true;
94
+ }
95
+
96
+ /**
97
+ * Updates the data and returns a new instance.
98
+ *
99
+ * @param array $data The data to update into a new instance.
100
+ *
101
+ * @return WPSEO_Indexable A new instance with the updated data.
102
+ */
103
+ abstract public function update( $data );
104
+
105
+ /**
106
+ * Filters out data that isn't considered updateable and returns a valid dataset.
107
+ *
108
+ * @param array $data The dataset to filter.
109
+ *
110
+ * @return array The updateable dataset.
111
+ */
112
+ public function filter_updateable_data( $data ) {
113
+ return array_intersect_key( $data, array_flip( $this->updateable_fields ) );
114
+ }
115
+
116
+ /**
117
+ * Returns the data as an array.
118
+ *
119
+ * @return array The data as an array.
120
+ */
121
+ public function to_array() {
122
+ return $this->data;
123
+ }
124
+ }
inc/indexables/class-object-type.php ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Post_Indexable
10
+ */
11
+ abstract class WPSEO_Object_Type {
12
+ /**
13
+ * @var int The ID of the object.
14
+ */
15
+ protected $id;
16
+
17
+ /**
18
+ * @var string The type of the object.
19
+ */
20
+ protected $type;
21
+
22
+ /**
23
+ * @var string The subtype of the object.
24
+ */
25
+ protected $sub_type;
26
+
27
+ /**
28
+ * @var string The permalink of the object.
29
+ */
30
+ protected $permalink;
31
+
32
+ /**
33
+ * WPSEO_Object_Type constructor.
34
+ *
35
+ * @param int $id The ID of the object.
36
+ * @param string $type The type of object.
37
+ * @param string $subtype The subtype of the object.
38
+ * @param string $permalink The permalink of the object.
39
+ */
40
+ public function __construct( $id, $type, $subtype, $permalink ) {
41
+ $this->id = (int) $id;
42
+ $this->type = $type;
43
+ $this->sub_type = $subtype;
44
+ $this->permalink = $permalink;
45
+ }
46
+
47
+ /**
48
+ * Gets the ID.
49
+ *
50
+ * @return int The ID.
51
+ */
52
+ public function get_id() {
53
+ return $this->id;
54
+ }
55
+
56
+ /**
57
+ * Gets the type.
58
+ *
59
+ * @return string The type.
60
+ */
61
+ public function get_type() {
62
+ return $this->type;
63
+ }
64
+
65
+ /**
66
+ * Gets the subtype.
67
+ *
68
+ * @return string The subtype.
69
+ */
70
+ public function get_subtype() {
71
+ return $this->sub_type;
72
+ }
73
+
74
+ /**
75
+ * Gets the permalink.
76
+ *
77
+ * @return string The permalink.
78
+ */
79
+ public function get_permalink() {
80
+ return $this->permalink;
81
+ }
82
+
83
+ /**
84
+ * Determines whether the passed type is equal to the object's type.
85
+ *
86
+ * @param string $type The type to check.
87
+ *
88
+ * @return bool Whether or not the passed type is equal.
89
+ */
90
+ public function is_type( $type ) {
91
+ return $this->type === $type;
92
+ }
93
+
94
+ /**
95
+ * Determines whether the passed subtype is equal to the object's subtype.
96
+ *
97
+ * @param string $sub_type The subtype to check.
98
+ *
99
+ * @return bool Whether or not the passed subtype is equal.
100
+ */
101
+ public function is_subtype( $sub_type ) {
102
+ return $this->sub_type === $sub_type;
103
+ }
104
+ }
inc/indexables/class-post-indexable.php ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Post_Indexable
10
+ */
11
+ class WPSEO_Post_Indexable extends WPSEO_Indexable {
12
+
13
+ /**
14
+ * @var array The updateable fields.
15
+ */
16
+ protected $updateable_fields = array(
17
+ 'canonical',
18
+ 'title',
19
+ 'description',
20
+ 'breadcrumb_title',
21
+ 'og_title',
22
+ 'og_description',
23
+ 'og_image',
24
+ 'twitter_title',
25
+ 'twitter_description',
26
+ 'twitter_image',
27
+ 'is_robots_noindex',
28
+ 'is_robots_nofollow',
29
+ 'is_robots_noarchive',
30
+ 'is_robots_noimageindex',
31
+ 'is_robots_nosnippet',
32
+ 'primary_focus_keyword',
33
+ 'primary_focus_keyword',
34
+ 'primary_focus_keyword_score',
35
+ 'readability_score',
36
+ 'is_cornerstone',
37
+ );
38
+
39
+ /**
40
+ * Creates a new Indexable from a passed object.
41
+ *
42
+ * @param int $object_id The object id to create the object for.
43
+ *
44
+ * @return WPSEO_Indexable The indexable.
45
+ *
46
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if the passed ID is not for an object of type 'post'.
47
+ */
48
+ public static function from_object( $object_id ) {
49
+ $post = WPSEO_Post_Object_Type::from_object( $object_id );
50
+
51
+ $link_count = new WPSEO_Link_Column_Count();
52
+ $link_count->set( array( $object_id ) );
53
+
54
+ $post_object_id = $post->get_id();
55
+
56
+ return new self(
57
+ array(
58
+ 'object_id' => $post_object_id,
59
+ 'object_type' => $post->get_type(),
60
+ 'object_subtype' => $post->get_subtype(),
61
+ 'permalink' => $post->get_permalink(),
62
+ 'canonical' => WPSEO_Meta::get_value( 'canonical', $post_object_id ),
63
+ 'title' => WPSEO_Meta::get_value( 'title', $post_object_id ),
64
+ 'description' => WPSEO_Meta::get_value( 'metadesc', $post_object_id ),
65
+ 'breadcrumb_title' => WPSEO_Meta::get_value( 'bctitle', $post_object_id ),
66
+ 'og_title' => WPSEO_Meta::get_value( 'opengraph-title', $post_object_id ),
67
+ 'og_description' => WPSEO_Meta::get_value( 'opengraph-description', $post_object_id ),
68
+ 'og_image' => WPSEO_Meta::get_value( 'opengraph-image', $post_object_id ),
69
+ 'twitter_title' => WPSEO_Meta::get_value( 'twitter-title', $post_object_id ),
70
+ 'twitter_description' => WPSEO_Meta::get_value( 'twitter-description', $post_object_id ),
71
+ 'twitter_image' => WPSEO_Meta::get_value( 'twitter-image', $post_object_id ),
72
+ 'is_robots_noindex' => self::get_robots_noindex_value( WPSEO_Meta::get_value( 'meta-robots-noindex', $post_object_id ) ),
73
+ 'is_robots_nofollow' => WPSEO_Meta::get_value( 'meta-robots-nofollow', $post_object_id ) === '1',
74
+ 'is_robots_noarchive' => self::has_advanced_meta_value( $post_object_id, 'noarchive' ),
75
+ 'is_robots_noimageindex' => self::has_advanced_meta_value( $post_object_id, 'noimageindex' ),
76
+ 'is_robots_nosnippet' => self::has_advanced_meta_value( $post_object_id, 'nosnippet' ),
77
+ 'primary_focus_keyword' => WPSEO_Meta::get_value( 'focuskw', $post_object_id ),
78
+ 'primary_focus_keyword_score' => (int) WPSEO_Meta::get_value( 'linkdex', $post_object_id ),
79
+ 'readability_score' => (int) WPSEO_Meta::get_value( 'content_score', $post_object_id ),
80
+ 'is_cornerstone' => WPSEO_Meta::get_value( 'is_cornerstone', $post_object_id ) === '1',
81
+ 'link_count' => (int) $link_count->get( $post_object_id ),
82
+ 'incoming_link_count' => (int) $link_count->get( $post_object_id, 'incoming_link_count' ),
83
+ 'created_at' => null,
84
+ 'updated_at' => null,
85
+ )
86
+ );
87
+ }
88
+
89
+ /**
90
+ * Updates the data and returns a new instance.
91
+ *
92
+ * @param array $data The data to update into a new instance.
93
+ *
94
+ * @return WPSEO_Indexable A new instance with the updated data.
95
+ */
96
+ public function update( $data ) {
97
+ $data = array_merge( $this->data, $this->filter_updateable_data( $data ) );
98
+
99
+ return new self( $data );
100
+ }
101
+ }
inc/indexables/class-post-object-type.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Post_Object_Type
10
+ */
11
+ class WPSEO_Post_Object_Type extends WPSEO_Object_Type {
12
+
13
+ /**
14
+ * Creates a new instance based on the passed object ID.
15
+ *
16
+ * @param int $object_id The object ID to base the object on.
17
+ *
18
+ * @return WPSEO_Post_Object_Type The class instance.
19
+ *
20
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if the post is null.
21
+ */
22
+ public static function from_object( $object_id ) {
23
+ $post = get_post( $object_id );
24
+
25
+ if ( $post === null ) {
26
+ throw WPSEO_Invalid_Argument_Exception::unknown_object( $object_id, 'post' );
27
+ }
28
+
29
+ return new self( $object_id, 'post', get_post_type( $object_id ), get_permalink( $object_id ) );
30
+ }
31
+ }
inc/indexables/class-term-indexable.php ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Term_Indexable
10
+ */
11
+ class WPSEO_Term_Indexable extends WPSEO_Indexable {
12
+
13
+ /**
14
+ * @var array The updateable fields.
15
+ */
16
+ protected $updateable_fields = array(
17
+ 'canonical',
18
+ 'title',
19
+ 'description',
20
+ 'breadcrumb_title',
21
+ 'og_title',
22
+ 'og_description',
23
+ 'og_image',
24
+ 'twitter_title',
25
+ 'twitter_description',
26
+ 'twitter_image',
27
+ 'is_robots_noindex',
28
+ 'primary_focus_keyword',
29
+ 'primary_focus_keyword',
30
+ 'primary_focus_keyword_score',
31
+ 'readability_score',
32
+ );
33
+
34
+ /**
35
+ * Creates a new Indexable from a passed object.
36
+ *
37
+ * @param int $object_id The object id to create the object for.
38
+ *
39
+ * @return WPSEO_Indexable The indexable.
40
+ *
41
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if the passed ID is not for an object of type 'term'.
42
+ */
43
+ public static function from_object( $object_id ) {
44
+ $term = WPSEO_Term_Object_Type::from_object( $object_id );
45
+
46
+ $term_object_id = $term->get_id();
47
+
48
+ return new self(
49
+ array(
50
+ 'object_id' => $term_object_id,
51
+ 'object_type' => $term->get_type(),
52
+ 'object_subtype' => $term->get_subtype(),
53
+ 'permalink' => $term->get_permalink(),
54
+ 'canonical' => self::get_meta_value( 'canonical', $term ),
55
+ 'title' => self::get_meta_value( 'title', $term ),
56
+ 'description' => self::get_meta_value( 'desc', $term ),
57
+ 'breadcrumb_title' => self::get_meta_value( 'bctitle', $term ),
58
+ 'og_title' => self::get_meta_value( 'opengraph-title', $term ),
59
+ 'og_description' => self::get_meta_value( 'opengraph-description', $term ),
60
+ 'og_image' => self::get_meta_value( 'opengraph-image', $term ),
61
+ 'twitter_title' => self::get_meta_value( 'twitter-title', $term ),
62
+ 'twitter_description' => self::get_meta_value( 'twitter-description', $term ),
63
+ 'twitter_image' => self::get_meta_value( 'twitter-image', $term ),
64
+ 'is_robots_noindex' => self::get_robots_noindex_value( self::get_meta_value( 'noindex', $term ) ),
65
+ 'is_robots_nofollow' => null,
66
+ 'is_robots_noarchive' => null,
67
+ 'is_robots_noimageindex' => null,
68
+ 'is_robots_nosnippet' => null,
69
+ 'primary_focus_keyword' => self::get_meta_value( 'focuskw', $term ),
70
+ 'primary_focus_keyword_score' => (int) self::get_meta_value( 'linkdex', $term ),
71
+ 'readability_score' => (int) self::get_meta_value( 'content_score', $term ),
72
+ 'is_cornerstone' => false,
73
+ 'link_count' => null,
74
+ 'incoming_link_count' => null,
75
+ 'created_at' => null,
76
+ 'updated_at' => null,
77
+ )
78
+ );
79
+ }
80
+
81
+ /**
82
+ * Updates the data and returns a new instance.
83
+ *
84
+ * @param array $data The data to update into a new instance.
85
+ *
86
+ * @return WPSEO_Indexable A new instance with the updated data.
87
+ */
88
+ public function update( $data ) {
89
+ $data = array_merge( $this->data, $this->filter_updateable_data( $data ) );
90
+
91
+ return new self( $data );
92
+ }
93
+
94
+ /**
95
+ * Returns the needed term meta field.
96
+ *
97
+ * @param string $field The requested field.
98
+ * @param WPSEO_Term_Object_Type $term The term object.
99
+ *
100
+ * @return bool|mixed The value of the requested field.
101
+ */
102
+ protected static function get_meta_value( $field, $term ) {
103
+ return WPSEO_Taxonomy_Meta::get_term_meta( $term->get_id(), $term->get_subtype(), $field );
104
+ }
105
+
106
+ /**
107
+ * Converts the meta value to a boolean value.
108
+ *
109
+ * @param string $value The value to convert.
110
+ *
111
+ * @return bool|null The converted value.
112
+ */
113
+ protected static function get_robots_noindex_value( $value ) {
114
+ if ( $value === 'noindex' ) {
115
+ return true;
116
+ }
117
+
118
+ if ( $value === 'index' ) {
119
+ return false;
120
+ }
121
+
122
+ return null;
123
+ }
124
+ }
inc/indexables/class-term-object-type.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Term_Object_Type
10
+ */
11
+ class WPSEO_Term_Object_Type extends WPSEO_Object_Type {
12
+
13
+ /**
14
+ * Creates a new instance based on the passed object ID.
15
+ *
16
+ * @param int $object_id The object ID to base the object on.
17
+ *
18
+ * @return WPSEO_Term_Object_Type The class instance.
19
+ *
20
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if the term is null or if a WordPress error is thrown.
21
+ */
22
+ public static function from_object( $object_id ) {
23
+ $term = get_term( $object_id );
24
+
25
+ if ( $term === null || is_wp_error( $term ) ) {
26
+ throw WPSEO_Invalid_Argument_Exception::unknown_object( $object_id, 'term' );
27
+ }
28
+
29
+ return new self( $object_id, 'term', $term->taxonomy, get_term_link( $term ) );
30
+ }
31
+ }
inc/indexables/validators/class-endpoint-validator.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO interface file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Interface WPSEO_Endpoint_Validator
10
+ */
11
+ interface WPSEO_Endpoint_Validator {
12
+
13
+ /**
14
+ * Validates the passed request data.
15
+ *
16
+ * @param array $request_data The request data to validate.
17
+ *
18
+ * @return void
19
+ */
20
+ public function validate( $request_data );
21
+ }
inc/indexables/validators/class-keyword-validator.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Keyword_Validator
10
+ */
11
+ class WPSEO_Keyword_Validator implements WPSEO_Endpoint_Validator {
12
+
13
+ /**
14
+ * Validates the keyword-related data.
15
+ *
16
+ * @param array $request_data The request data to validate.
17
+ *
18
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if the keyword or the score is of an invalid value type.
19
+ */
20
+ public function validate( $request_data ) {
21
+ if ( WPSEO_Validator::key_exists( $request_data, 'keyword' ) && ! WPSEO_Validator::is_string( $request_data['keyword'] ) ) {
22
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['keyword'], 'keyword' );
23
+ }
24
+
25
+ if ( WPSEO_Validator::key_exists( $request_data, 'score' ) && ! WPSEO_Validator::is_integer( $request_data['score'] ) ) {
26
+ throw WPSEO_Invalid_Argument_Exception::invalid_integer_parameter( $request_data['score'], 'score' );
27
+ }
28
+ }
29
+ }
inc/indexables/validators/class-link-validator.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Link_Validator
10
+ */
11
+ class WPSEO_Link_Validator implements WPSEO_Endpoint_Validator {
12
+
13
+ /**
14
+ * Validates the link-related data.
15
+ *
16
+ * @param array $request_data The request data to validate.
17
+ *
18
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if the link-data count or incoming count is of an invalid value type.
19
+ */
20
+ public function validate( $request_data ) {
21
+ if ( WPSEO_Validator::key_exists( $request_data, 'count' ) && ! WPSEO_Validator::is_integer( $request_data['count'] ) ) {
22
+ throw WPSEO_Invalid_Argument_Exception::invalid_integer_parameter( $request_data['count'], 'count' );
23
+ }
24
+
25
+ if ( WPSEO_Validator::key_exists( $request_data, 'incoming_count' ) && ! WPSEO_Validator::is_integer( $request_data['incoming_count'] ) ) {
26
+ throw WPSEO_Invalid_Argument_Exception::invalid_integer_parameter( $request_data['incoming_count'], 'incoming_count' );
27
+ }
28
+ }
29
+ }
inc/indexables/validators/class-meta-values-validator.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Meta_Values_Validator
10
+ */
11
+ class WPSEO_Meta_Values_Validator implements WPSEO_Endpoint_Validator {
12
+
13
+ /**
14
+ * Validates the meta values data.
15
+ *
16
+ * @param array $request_data The request data to validate.
17
+ *
18
+ * @return void
19
+ *
20
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if a field from the request data is of an invalid value type.
21
+ */
22
+ public function validate( $request_data ) {
23
+ if ( WPSEO_Validator::key_exists( $request_data, 'title' ) && ! WPSEO_Validator::is_string( $request_data['title'] ) ) {
24
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['title'], 'title' );
25
+ }
26
+
27
+ if ( WPSEO_Validator::key_exists( $request_data, 'metadesc' ) && ! WPSEO_Validator::is_string( $request_data['metadesc'] ) ) {
28
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['metadesc'], 'metadesc' );
29
+ }
30
+
31
+ if ( WPSEO_Validator::key_exists( $request_data, 'permalink' ) && ! WPSEO_Validator::is_string( $request_data['permalink'] ) ) {
32
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['permalink'], 'permalink' );
33
+ }
34
+
35
+ if ( WPSEO_Validator::key_exists( $request_data, 'readability_score' ) && ! WPSEO_Validator::is_integer( $request_data['readability_score'] ) ) {
36
+ throw WPSEO_Invalid_Argument_Exception::invalid_integer_parameter( $request_data['readability_score'], 'readability_score' );
37
+ }
38
+
39
+ if ( WPSEO_Validator::key_exists( $request_data, 'is_cornerstone' ) && ! WPSEO_Validator::is_boolean( $request_data['is_cornerstone'] ) ) {
40
+ throw WPSEO_Invalid_Argument_Exception::invalid_boolean_parameter( $request_data['is_cornerstone'], 'is_cornerstone' );
41
+ }
42
+
43
+ if ( WPSEO_Validator::key_exists( $request_data, 'canonical' ) && ! WPSEO_Validator::is_string( $request_data['canonical'] ) ) {
44
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['canonical'], 'canonical' );
45
+ }
46
+
47
+ if ( WPSEO_Validator::key_exists( $request_data, 'breadcrumb_title' ) && ! WPSEO_Validator::is_string( $request_data['breadcrumb_title'] ) ) {
48
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['breadcrumb_title'], 'breadcrumb_title' );
49
+ }
50
+ }
51
+ }
inc/indexables/validators/class-object-type-validator.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Object_Type_Validator
10
+ */
11
+ class WPSEO_Object_Type_Validator implements WPSEO_Endpoint_Validator {
12
+
13
+ /**
14
+ * Validates the object_type parameter.
15
+ *
16
+ * @param string $object_type The object type to validate.
17
+ *
18
+ * @return void
19
+ *
20
+ * @throws WPSEO_Invalid_Argument_Exception Thrown is the object type is invalid.
21
+ */
22
+ private static function validate_type( $object_type ) {
23
+ if ( ! in_array( $object_type, array( 'post', 'term' ), true ) ) {
24
+ throw WPSEO_Invalid_Argument_Exception::invalid_type( $object_type );
25
+ }
26
+ }
27
+
28
+ /**
29
+ * Validates whether the passed subtype is valid or not.
30
+ *
31
+ * @param string $type The type to validate.
32
+ * @param string $subtype The subtype to validate.
33
+ *
34
+ * @return void
35
+ *
36
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if the subtype doesn't exist for the given type.
37
+ */
38
+ private static function validate_subtype( $type, $subtype ) {
39
+ if ( $type === 'post' && ! post_type_exists( $subtype ) ) {
40
+ throw WPSEO_Invalid_Argument_Exception::invalid_subtype( $subtype, $type );
41
+ }
42
+
43
+ if ( $type === 'term' && ! taxonomy_exists( $subtype ) ) {
44
+ throw WPSEO_Invalid_Argument_Exception::invalid_subtype( $subtype, $type );
45
+ }
46
+ }
47
+
48
+ /**
49
+ * Validates the object type-related data.
50
+ *
51
+ * @param array $request_data The request data to validate.
52
+ *
53
+ * @return void
54
+ *
55
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if the type or subtype are invalid.
56
+ */
57
+ public function validate( $request_data ) {
58
+ if ( WPSEO_Validator::key_exists( $request_data, 'object_type' ) ) {
59
+ self::validate_type( $request_data['object_type'] );
60
+ }
61
+
62
+ if ( WPSEO_Validator::key_exists( $request_data, 'object_subtype' ) ) {
63
+ self::validate_subtype( $request_data['object_type'], $request_data['object_subtype'] );
64
+ }
65
+ }
66
+ }
inc/indexables/validators/class-opengraph-validator.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_OpenGraph_Validator
10
+ */
11
+ class WPSEO_OpenGraph_Validator implements WPSEO_Endpoint_Validator {
12
+
13
+ /**
14
+ * Validates the OpenGraph-related data.
15
+ *
16
+ * @param array $request_data The request data to validate.
17
+ *
18
+ * @return void
19
+ *
20
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if one of the OpenGraph properties is of an invalid value type.
21
+ */
22
+ public function validate( $request_data ) {
23
+ if ( WPSEO_Validator::key_exists( $request_data, 'og_title' ) && ! WPSEO_Validator::is_string( $request_data['og_title'] ) ) {
24
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['og_title'], 'og_title' );
25
+ }
26
+
27
+ if ( WPSEO_Validator::key_exists( $request_data, 'og_description' ) && ! WPSEO_Validator::is_string( $request_data['og_description'] ) ) {
28
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['og_description'], 'og_description' );
29
+ }
30
+
31
+ if ( WPSEO_Validator::key_exists( $request_data, 'og_image' ) && ! WPSEO_Validator::is_string( $request_data['og_image'] ) ) {
32
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['og_image'], 'og_image' );
33
+ }
34
+ }
35
+ }
inc/indexables/validators/class-robots-validator.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Robots_Validator
10
+ */
11
+ class WPSEO_Robots_Validator implements WPSEO_Endpoint_Validator {
12
+
13
+ /**
14
+ * @var array The robots keys to validate.
15
+ */
16
+ private $robots_to_validate = array(
17
+ 'is_robots_nofollow',
18
+ 'is_robots_noarchive',
19
+ 'is_robots_noimageindex',
20
+ 'is_robots_nosnippet',
21
+ 'is_robots_noindex',
22
+ );
23
+
24
+ /**
25
+ * Validates the passed request data.
26
+ *
27
+ * @param array $request_data The request data to validate.
28
+ *
29
+ * @return void
30
+ *
31
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if the robots values are not a boolean type.
32
+ */
33
+ public function validate( $request_data ) {
34
+ foreach ( $this->robots_to_validate as $item ) {
35
+ if ( ! WPSEO_Validator::key_exists( $request_data, $item ) ) {
36
+ continue;
37
+ }
38
+
39
+ if ( ! is_null( $request_data[ $item ] ) && ! WPSEO_Validator::is_boolean( $request_data[ $item ] ) ) {
40
+ throw WPSEO_Invalid_Argument_Exception::invalid_boolean_parameter( $request_data[ $item ], $item );
41
+ }
42
+ }
43
+ }
44
+ }
inc/indexables/validators/class-twitter-validator.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPSEO plugin file.
4
+ *
5
+ * @package WPSEO\Indexables
6
+ */
7
+
8
+ /**
9
+ * Class WPSEO_Twitter_Validator
10
+ */
11
+ class WPSEO_Twitter_Validator implements WPSEO_Endpoint_Validator {
12
+
13
+ /**
14
+ * Validates the Twitter-related data.
15
+ *
16
+ * @param array $request_data The request data to validate.
17
+ *
18
+ * @return void
19
+ *
20
+ * @throws WPSEO_Invalid_Argument_Exception Thrown if one of the Twitter properties is of an invalid value type.
21
+ */
22
+ public function validate( $request_data ) {
23
+ if ( WPSEO_Validator::key_exists( $request_data, 'twitter_title' ) && ! WPSEO_Validator::is_string( $request_data['twitter_title'] ) ) {
24
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['twitter_title'], 'twitter_title' );
25
+ }
26
+
27
+ if ( WPSEO_Validator::key_exists( $request_data, 'twitter_description' ) && ! WPSEO_Validator::is_string( $request_data['twitter_description'] ) ) {
28
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['twitter_description'], 'twitter_description' );
29
+ }
30
+
31
+ if ( WPSEO_Validator::key_exists( $request_data, 'twitter_image' ) && ! WPSEO_Validator::is_string( $request_data['twitter_image'] ) ) {
32
+ throw WPSEO_Invalid_Argument_Exception::invalid_string_parameter( $request_data['twitter_image'], 'twitter_image' );
33
+ }
34
+ }
35
+ }
inc/options/class-wpseo-option-ms.php CHANGED
@@ -37,10 +37,7 @@ class WPSEO_Option_MS extends WPSEO_Option {
37
  * @var array Array of defaults for the option
38
  * Shouldn't be requested directly, use $this->get_defaults();
39
  */
40
- protected $defaults = array(
41
- 'access' => 'admin',
42
- 'defaultblog' => '', // Numeric blog ID or empty.
43
- );
44
 
45
  /**
46
  * @var array $allowed_access_options Available options for the 'access' setting
@@ -74,6 +71,20 @@ class WPSEO_Option_MS extends WPSEO_Option {
74
  * Only run parent constructor in multisite context.
75
  */
76
  public function __construct() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  if ( is_multisite() ) {
78
  parent::__construct();
79
  }
37
  * @var array Array of defaults for the option
38
  * Shouldn't be requested directly, use $this->get_defaults();
39
  */
40
+ protected $defaults = array();
 
 
 
41
 
42
  /**
43
  * @var array $allowed_access_options Available options for the 'access' setting
71
  * Only run parent constructor in multisite context.
72
  */
73
  public function __construct() {
74
+ $allow_prefix = self::ALLOW_KEY_PREFIX;
75
+ $this->defaults = array(
76
+ 'access' => 'admin',
77
+ 'defaultblog' => '', // Numeric blog ID or empty.
78
+ "{$allow_prefix}disableadvanced_meta" => true,
79
+ "{$allow_prefix}onpage_indexability" => true,
80
+ "{$allow_prefix}content_analysis_active" => true,
81
+ "{$allow_prefix}keyword_analysis_active" => true,
82
+ "{$allow_prefix}enable_admin_bar_menu" => true,
83
+ "{$allow_prefix}enable_cornerstone_content" => true,
84
+ "{$allow_prefix}enable_xml_sitemap" => true,
85
+ "{$allow_prefix}enable_text_link_counter" => true,
86
+ );
87
+
88
  if ( is_multisite() ) {
89
  parent::__construct();
90
  }
inc/options/class-wpseo-option-social.php CHANGED
@@ -21,25 +21,27 @@ class WPSEO_Option_Social extends WPSEO_Option {
21
  */
22
  protected $defaults = array(
23
  // Form fields.
24
- 'facebook_site' => '', // Text field.
25
- 'instagram_url' => '',
26
- 'linkedin_url' => '',
27
- 'myspace_url' => '',
28
- 'og_default_image' => '', // Text field.
29
- 'og_frontpage_title' => '', // Text field.
30
- 'og_frontpage_desc' => '', // Text field.
31
- 'og_frontpage_image' => '', // Text field.
32
- 'opengraph' => true,
33
- 'pinterest_url' => '',
34
- 'pinterestverify' => '',
35
- 'plus-publisher' => '', // Text field.
36
- 'twitter' => true,
37
- 'twitter_site' => '', // Text field.
38
- 'twitter_card_type' => 'summary_large_image',
39
- 'youtube_url' => '',
40
- 'google_plus_url' => '',
 
 
41
  // Form field, but not always available.
42
- 'fbadminapp' => '', // Facebook app ID.
43
  );
44
 
45
  /**
@@ -114,6 +116,15 @@ class WPSEO_Option_Social extends WPSEO_Option {
114
  }
115
  break;
116
 
 
 
 
 
 
 
 
 
 
117
 
118
  /* URL text fields - no ftp allowed. */
119
  case 'facebook_site':
21
  */
22
  protected $defaults = array(
23
  // Form fields.
24
+ 'facebook_site' => '', // Text field.
25
+ 'instagram_url' => '',
26
+ 'linkedin_url' => '',
27
+ 'myspace_url' => '',
28
+ 'og_default_image' => '', // Text field.
29
+ 'og_default_image_id' => '',
30
+ 'og_frontpage_title' => '', // Text field.
31
+ 'og_frontpage_desc' => '', // Text field.
32
+ 'og_frontpage_image' => '', // Text field.
33
+ 'og_frontpage_image_id' => '',
34
+ 'opengraph' => true,
35
+ 'pinterest_url' => '',
36
+ 'pinterestverify' => '',
37
+ 'plus-publisher' => '', // Text field.
38
+ 'twitter' => true,
39
+ 'twitter_site' => '', // Text field.
40
+ 'twitter_card_type' => 'summary_large_image',
41
+ 'youtube_url' => '',
42
+ 'google_plus_url' => '',
43
  // Form field, but not always available.
44
+ 'fbadminapp' => '', // Facebook app ID.
45
  );
46
 
47
  /**
116
  }
117
  break;
118
 
119
+ case 'og_default_image_id':
120
+ case 'og_frontpage_image_id':
121
+ $clean[ $key ] = intval( $dirty[ $key ] );
122
+
123
+ if ( $dirty[ $key ] === '' ) {
124
+ $clean[ $key ] = $dirty[ $key ];
125
+ }
126
+ break;
127
+
128
 
129
  /* URL text fields - no ftp allowed. */
130
  case 'facebook_site':
inc/options/class-wpseo-option-titles.php CHANGED
@@ -144,6 +144,11 @@ class WPSEO_Option_Titles extends WPSEO_Option {
144
  parent::__construct();
145
  add_action( 'update_option_' . $this->option_name, array( 'WPSEO_Utils', 'clear_cache' ) );
146
  add_action( 'init', array( $this, 'end_of_init' ), 999 );
 
 
 
 
 
147
  }
148
 
149
  /**
@@ -214,101 +219,79 @@ class WPSEO_Option_Titles extends WPSEO_Option {
214
  * @return void
215
  */
216
  public function enrich_defaults() {
 
 
 
 
 
 
 
 
 
 
217
  /*
218
  * Retrieve all the relevant post type and taxonomy arrays.
219
  *
220
  * WPSEO_Post_Type::get_accessible_post_types() should *not* be used here.
221
  * These are the defaults and can be prepared for any public post type.
222
  */
223
- $post_type_names = get_post_types( array( 'public' => true ), 'names' );
224
-
225
- $post_type_objects_custom = get_post_types(
226
- array(
227
- 'public' => true,
228
- '_builtin' => false,
229
- ),
230
- 'objects'
231
- );
232
-
233
- $taxonomy_names = get_taxonomies( array( 'public' => true ), 'names' );
234
 
235
-
236
- if ( $post_type_names !== array() ) {
237
- foreach ( $post_type_names as $pt ) {
238
- $this->defaults[ 'title-' . $pt ] = '%%title%% %%page%% %%sep%% %%sitename%%'; // Text field.
239
- $this->defaults[ 'metadesc-' . $pt ] = ''; // Text area.
240
- $this->defaults[ 'noindex-' . $pt ] = false;
241
- $this->defaults[ 'showdate-' . $pt ] = false;
242
- $this->defaults[ 'display-metabox-pt-' . $pt ] = true;
243
- }
244
- unset( $pt );
245
- }
246
-
247
- if ( $post_type_objects_custom !== array() ) {
248
  /* translators: %s expands to the name of a post type (plural). */
249
  $archive = sprintf( __( '%s Archive', 'wordpress-seo' ), '%%pt_plural%%' );
250
- foreach ( $post_type_objects_custom as $pt ) {
251
- if ( ! WPSEO_Post_Type::has_archive( $pt ) ) {
252
- continue;
253
- }
254
 
255
- $this->defaults[ 'title-ptarchive-' . $pt->name ] = $archive . ' %%page%% %%sep%% %%sitename%%'; // Text field.
256
- $this->defaults[ 'metadesc-ptarchive-' . $pt->name ] = ''; // Text area.
257
- $this->defaults[ 'bctitle-ptarchive-' . $pt->name ] = ''; // Text field.
258
- $this->defaults[ 'noindex-ptarchive-' . $pt->name ] = false;
 
 
 
 
 
 
 
 
 
 
259
  }
260
- unset( $pt );
261
  }
262
 
263
- if ( $taxonomy_names !== array() ) {
 
 
264
  /* translators: %s expands to the variable used for term title. */
265
  $archives = sprintf( __( '%s Archives', 'wordpress-seo' ), '%%term_title%%' );
266
- foreach ( $taxonomy_names as $tax ) {
267
- $this->defaults[ 'title-tax-' . $tax ] = $archives . ' %%page%% %%sep%% %%sitename%%'; // Text field.
268
- $this->defaults[ 'metadesc-tax-' . $tax ] = ''; // Text area.
269
- $this->defaults[ 'display-metabox-tax-' . $tax ] = true;
270
 
271
- if ( $tax !== 'post_format' ) {
272
- $this->defaults[ 'noindex-tax-' . $tax ] = false;
273
- }
274
- else {
275
- $this->defaults[ 'noindex-tax-' . $tax ] = true;
276
- }
277
- }
278
- unset( $tax );
279
- }
280
 
281
- /*
282
- * Retrieve all the relevant post type and taxonomy arrays.
283
- *
284
- * WPSEO_Post_Type::get_accessible_post_types() should *not* be used here.
285
- */
286
- $post_type_names = get_post_types( array( 'public' => true ), 'names' );
287
- $taxonomy_names_custom = get_taxonomies(
288
- array(
289
- 'public' => true,
290
- '_builtin' => false,
291
- ),
292
- 'names'
293
- );
294
 
295
- if ( $post_type_names !== array() ) {
296
- foreach ( $post_type_names as $pt ) {
297
- $pto_taxonomies = get_object_taxonomies( $pt, 'names' );
298
- if ( $pto_taxonomies !== array() ) {
299
- $this->defaults[ 'post_types-' . $pt . '-maintax' ] = 0; // Select box.
300
  }
301
- unset( $pto_taxonomies );
302
  }
303
- unset( $pt );
304
  }
305
 
306
- if ( $taxonomy_names_custom !== array() ) {
307
- foreach ( $taxonomy_names_custom as $tax ) {
308
- $this->defaults[ 'taxonomy-' . $tax . '-ptparent' ] = 0; // Select box;.
309
- }
310
- unset( $tax );
311
- }
 
 
 
 
 
 
 
 
 
312
  }
313
 
314
  /**
144
  parent::__construct();
145
  add_action( 'update_option_' . $this->option_name, array( 'WPSEO_Utils', 'clear_cache' ) );
146
  add_action( 'init', array( $this, 'end_of_init' ), 999 );
147
+
148
+ add_action( 'registered_post_type', array( $this, 'invalidate_enrich_defaults_cache' ) );
149
+ add_action( 'unregistered_post_type', array( $this, 'invalidate_enrich_defaults_cache' ) );
150
+ add_action( 'registered_taxonomy', array( $this, 'invalidate_enrich_defaults_cache' ) );
151
+ add_action( 'unregistered_taxonomy', array( $this, 'invalidate_enrich_defaults_cache' ) );
152
  }
153
 
154
  /**
219
  * @return void
220
  */
221
  public function enrich_defaults() {
222
+ $cache_key = 'yoast_titles_rich_defaults_' . $this->option_name;
223
+
224
+ $enriched_defaults = wp_cache_get( $cache_key );
225
+ if ( false !== $enriched_defaults ) {
226
+ $this->defaults += $enriched_defaults;
227
+ return;
228
+ }
229
+
230
+ $enriched_defaults = array();
231
+
232
  /*
233
  * Retrieve all the relevant post type and taxonomy arrays.
234
  *
235
  * WPSEO_Post_Type::get_accessible_post_types() should *not* be used here.
236
  * These are the defaults and can be prepared for any public post type.
237
  */
238
+ $post_type_objects = get_post_types( array( 'public' => true ), 'objects' );
 
 
 
 
 
 
 
 
 
 
239
 
240
+ if ( $post_type_objects ) {
 
 
 
 
 
 
 
 
 
 
 
 
241
  /* translators: %s expands to the name of a post type (plural). */
242
  $archive = sprintf( __( '%s Archive', 'wordpress-seo' ), '%%pt_plural%%' );
 
 
 
 
243
 
244
+ foreach ( $post_type_objects as $pt ) {
245
+ $enriched_defaults[ 'title-' . $pt->name ] = '%%title%% %%page%% %%sep%% %%sitename%%'; // Text field.
246
+ $enriched_defaults[ 'metadesc-' . $pt->name ] = ''; // Text area.
247
+ $enriched_defaults[ 'noindex-' . $pt->name ] = false;
248
+ $enriched_defaults[ 'showdate-' . $pt->name ] = false;
249
+ $enriched_defaults[ 'display-metabox-pt-' . $pt->name ] = true;
250
+ $enriched_defaults[ 'post_types-' . $pt->name . '-maintax' ] = 0; // Select box.
251
+
252
+ if ( ! $pt->_builtin && WPSEO_Post_Type::has_archive( $pt ) ) {
253
+ $enriched_defaults[ 'title-ptarchive-' . $pt->name ] = $archive . ' %%page%% %%sep%% %%sitename%%'; // Text field.
254
+ $enriched_defaults[ 'metadesc-ptarchive-' . $pt->name ] = ''; // Text area.
255
+ $enriched_defaults[ 'bctitle-ptarchive-' . $pt->name ] = ''; // Text field.
256
+ $enriched_defaults[ 'noindex-ptarchive-' . $pt->name ] = false;
257
+ }
258
  }
 
259
  }
260
 
261
+ $taxonomy_objects = get_taxonomies( array( 'public' => true ), 'object' );
262
+
263
+ if ( $taxonomy_objects ) {
264
  /* translators: %s expands to the variable used for term title. */
265
  $archives = sprintf( __( '%s Archives', 'wordpress-seo' ), '%%term_title%%' );
 
 
 
 
266
 
267
+ foreach ( $taxonomy_objects as $tax ) {
268
+ $enriched_defaults[ 'title-tax-' . $tax->name ] = $archives . ' %%page%% %%sep%% %%sitename%%'; // Text field.
269
+ $enriched_defaults[ 'metadesc-tax-' . $tax->name ] = ''; // Text area.
270
+ $enriched_defaults[ 'display-metabox-tax-' . $tax->name ] = true;
 
 
 
 
 
271
 
272
+ $enriched_defaults[ 'noindex-tax-' . $tax->name ] = ( $tax->name === 'post_format' );
 
 
 
 
 
 
 
 
 
 
 
 
273
 
274
+ if ( ! $tax->_builtin ) {
275
+ $enriched_defaults[ 'taxonomy-' . $tax->name . '-ptparent' ] = 0; // Select box;.
 
 
 
276
  }
 
277
  }
 
278
  }
279
 
280
+ wp_cache_set( $cache_key, $enriched_defaults );
281
+ $this->defaults += $enriched_defaults;
282
+ }
283
+
284
+ /**
285
+ * Invalidates enrich_defaults() cache.
286
+ *
287
+ * Called from actions:
288
+ * (un)registered_post_type
289
+ * (un)registered_taxonomy
290
+ *
291
+ * @return void
292
+ */
293
+ public function invalidate_enrich_defaults_cache() {
294
+ wp_cache_delete( 'yoast_titles_rich_defaults_' . $this->option_name );
295
  }
296
 
297
  /**
inc/options/class-wpseo-option-wpseo.php CHANGED
@@ -82,6 +82,11 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
82
  false,
83
  );
84
 
 
 
 
 
 
85
  /**
86
  * Add the actions and filters for the option.
87
  *
@@ -119,6 +124,64 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
119
  return self::$instance;
120
  }
121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  /**
123
  * Validate the option.
124
  *
@@ -206,6 +269,64 @@ class WPSEO_Option_Wpseo extends WPSEO_Option {
206
  return $clean;
207
  }
208
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  /**
210
  * Clean a given option value.
211
  *
82
  false,
83
  );
84
 
85
+ /**
86
+ * @var string Name for an option higher in the hierarchy to override setting access.
87
+ */
88
+ protected $override_option_name = 'wpseo_ms';
89
+
90
  /**
91
  * Add the actions and filters for the option.
92
  *
124
  return self::$instance;
125
  }
126
 
127
+ /**
128
+ * Add filters to make sure that the option is merged with its defaults before being returned.
129
+ *
130
+ * @return void
131
+ */
132
+ public function add_option_filters() {
133
+ parent::add_option_filters();
134
+
135
+ list( $hookname, $callback, $priority ) = $this->get_verify_features_option_filter_hook();
136
+
137
+ if ( has_filter( $hookname, $callback ) === false ) {
138
+ add_filter( $hookname, $callback, $priority );
139
+ }
140
+ }
141
+
142
+ /**
143
+ * Remove the option filters.
144
+ * Called from the clean_up methods to make sure we retrieve the original old option.
145
+ *
146
+ * @return void
147
+ */
148
+ public function remove_option_filters() {
149
+ parent::remove_option_filters();
150
+
151
+ list( $hookname, $callback, $priority ) = $this->get_verify_features_option_filter_hook();
152
+
153
+ remove_filter( $hookname, $callback, $priority );
154
+ }
155
+
156
+ /**
157
+ * Add filters to make sure that the option default is returned if the option is not set.
158
+ *
159
+ * @return void
160
+ */
161
+ public function add_default_filters() {
162
+ parent::add_default_filters();
163
+
164
+ list( $hookname, $callback, $priority ) = $this->get_verify_features_default_option_filter_hook();
165
+
166
+ if ( has_filter( $hookname, $callback ) === false ) {
167
+ add_filter( $hookname, $callback, $priority );
168
+ }
169
+ }
170
+
171
+ /**
172
+ * Remove the default filters.
173
+ * Called from the validate() method to prevent failure to add new options.
174
+ *
175
+ * @return void
176
+ */
177
+ public function remove_default_filters() {
178
+ parent::remove_default_filters();
179
+
180
+ list( $hookname, $callback, $priority ) = $this->get_verify_features_default_option_filter_hook();
181
+
182
+ remove_filter( $hookname, $callback, $priority );
183
+ }
184
+
185
  /**
186
  * Validate the option.
187
  *
269
  return $clean;
270
  }
271
 
272
+ /**
273
+ * Verifies that the feature variables are turned off if the network is configured so.
274
+ *
275
+ * @param mixed $options Value of the option to be returned. Typically an array.
276
+ *
277
+ * @return mixed Filtered $options value.
278
+ */
279
+ public function verify_features_against_network( $options = array() ) {
280
+ if ( ! is_array( $options ) || empty( $options ) ) {
281
+ return $options;
282
+ }
283
+
284
+ // For the feature variables, set their values to off in case they are disabled.
285
+ $feature_vars = array(
286
+ 'disableadvanced_meta' => false,
287
+ 'onpage_indexability' => false,
288
+ 'content_analysis_active' => false,
289
+ 'keyword_analysis_active' => false,
290
+ 'enable_admin_bar_menu' => false,
291
+ 'enable_cornerstone_content' => false,
292
+ 'enable_xml_sitemap' => false,
293
+ 'enable_text_link_counter' => false,
294
+ );
295
+
296
+ // We can reuse this logic from the base class with the above defaults to parse with the correct feature values.
297
+ $options = $this->prevent_disabled_options_update( $options, $feature_vars );
298
+
299
+ return $options;
300
+ }
301
+
302
+ /**
303
+ * Gets the filter hook name and callback for adjusting the retrieved option value against the network-allowed features.
304
+ *
305
+ * @return array Array where the first item is the hook name, the second is the hook callback,
306
+ * and the third is the hook priority.
307
+ */
308
+ protected function get_verify_features_option_filter_hook() {
309
+ return array(
310
+ "option_{$this->option_name}",
311
+ array( $this, 'verify_features_against_network' ),
312
+ 11,
313
+ );
314
+ }
315
+
316
+ /**
317
+ * Gets the filter hook name and callback for adjusting the default option value against the network-allowed features.
318
+ *
319
+ * @return array Array where the first item is the hook name, the second is the hook callback,
320
+ * and the third is the hook priority.
321
+ */
322
+ protected function get_verify_features_default_option_filter_hook() {
323
+ return array(
324
+ "default_option_{$this->option_name}",
325
+ array( $this, 'verify_features_against_network' ),
326
+ 11,
327
+ );
328
+ }
329
+
330
  /**
331
  * Clean a given option value.
332
  *
inc/options/class-wpseo-option.php CHANGED
@@ -57,6 +57,11 @@
57
  */
58
  abstract class WPSEO_Option {
59
 
 
 
 
 
 
60
  /**
61
  * @var string Option name - MUST be set in concrete class and set to public.
62
  */
@@ -99,6 +104,11 @@ abstract class WPSEO_Option {
99
  */
100
  public $ms_exclude = array();
101
 
 
 
 
 
 
102
  /**
103
  * @var object Instance of this class.
104
  */
@@ -439,16 +449,19 @@ abstract class WPSEO_Option {
439
  return $clean;
440
  }
441
 
442
-
443
  $option_value = array_map( array( 'WPSEO_Utils', 'trim_recursive' ), $option_value );
444
- if ( $this->multisite_only !== true ) {
445
- $old = get_option( $this->option_name );
446
- }
447
- else {
448
- $old = get_site_option( $this->option_name );
449
  }
 
 
450
  $clean = $this->validate_option( $option_value, $clean, $old );
451
 
 
 
 
452
  /* Retain the values for variable array keys even when the post type/taxonomy is not yet registered. */
453
  if ( isset( $this->variable_array_key_patterns ) ) {
454
  $clean = $this->retain_variable_keys( $option_value, $clean );
@@ -459,6 +472,24 @@ abstract class WPSEO_Option {
459
  return $clean;
460
  }
461
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
462
  /**
463
  * All concrete classes must contain a validate_option() method which validates all
464
  * values within the option.
@@ -647,6 +678,49 @@ abstract class WPSEO_Option {
647
  return $filtered;
648
  }
649
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
650
  /**
651
  * Make sure that any set option values relating to post_types and/or taxonomies are retained,
652
  * even when that post_type or taxonomy may not yet have been registered.
57
  */
58
  abstract class WPSEO_Option {
59
 
60
+ /**
61
+ * Prefix for override option keys that allow or disallow the option key of the same name.
62
+ */
63
+ const ALLOW_KEY_PREFIX = 'allow_';
64
+
65
  /**
66
  * @var string Option name - MUST be set in concrete class and set to public.
67
  */
104
  */
105
  public $ms_exclude = array();
106
 
107
+ /**
108
+ * @var string Name for an option higher in the hierarchy to override setting access.
109
+ */
110
+ protected $override_option_name;
111
+
112
  /**
113
  * @var object Instance of this class.
114
  */
449
  return $clean;
450
  }
451
 
 
452
  $option_value = array_map( array( 'WPSEO_Utils', 'trim_recursive' ), $option_value );
453
+
454
+ $old = $this->get_original_option();
455
+ if ( ! is_array( $old ) ) {
456
+ $old = array();
 
457
  }
458
+ $old = array_merge( $clean, $old );
459
+
460
  $clean = $this->validate_option( $option_value, $clean, $old );
461
 
462
+ // Prevent updates to variables that are disabled via the override option.
463
+ $clean = $this->prevent_disabled_options_update( $clean, $old );
464
+
465
  /* Retain the values for variable array keys even when the post type/taxonomy is not yet registered. */
466
  if ( isset( $this->variable_array_key_patterns ) ) {
467
  $clean = $this->retain_variable_keys( $option_value, $clean );
472
  return $clean;
473
  }
474
 
475
+ /**
476
+ * Checks whether a specific option key is disabled.
477
+ *
478
+ * This is determined by whether an override option is available with a key that equals the given key prefixed
479
+ * with 'allow_'.
480
+ *
481
+ * @param string $key Option key.
482
+ * @return bool True if option key is disabled, false otherwise.
483
+ */
484
+ public function is_disabled( $key ) {
485
+ $override_option = $this->get_override_option();
486
+ if ( empty( $override_option ) ) {
487
+ return false;
488
+ }
489
+
490
+ return isset( $override_option[ self::ALLOW_KEY_PREFIX . $key ] ) && ! $override_option[ self::ALLOW_KEY_PREFIX . $key ];
491
+ }
492
+
493
  /**
494
  * All concrete classes must contain a validate_option() method which validates all
495
  * values within the option.
678
  return $filtered;
679
  }
680
 
681
+ /**
682
+ * Sets updated values for variables that are disabled via the override option back to their previous values.
683
+ *
684
+ * @param array $updated Updated option value.
685
+ * @param array $old Old option value.
686
+ *
687
+ * @return array Updated option value, with all disabled variables set to their old values.
688
+ */
689
+ protected function prevent_disabled_options_update( $updated, $old ) {
690
+ $override_option = $this->get_override_option();
691
+ if ( empty( $override_option ) ) {
692
+ return $updated;
693
+ }
694
+
695
+ // This loop could as well call `is_disabled( $key )` for each iteration, however this would be worse performance-wise.
696
+ foreach ( $old as $key => $value ) {
697
+ if ( isset( $override_option[ self::ALLOW_KEY_PREFIX . $key ] ) && ! $override_option[ self::ALLOW_KEY_PREFIX . $key ] ) {
698
+ $updated[ $key ] = $old[ $key ];
699
+ }
700
+ }
701
+
702
+ return $updated;
703
+ }
704
+
705
+ /**
706
+ * Retrieves the value of the override option, if available.
707
+ *
708
+ * An override option contains values that may determine access to certain sub-variables
709
+ * of this option.
710
+ *
711
+ * Only regular options in multisite can have override options, which in that case
712
+ * would be network options.
713
+ *
714
+ * @return array Override option value, or empty array if unavailable.
715
+ */
716
+ protected function get_override_option() {
717
+ if ( empty( $this->override_option_name ) || $this->multisite_only === true || ! is_multisite() ) {
718
+ return array();
719
+ }
720
+
721
+ return get_site_option( $this->override_option_name, array() );
722
+ }
723
+
724
  /**
725
  * Make sure that any set option values relating to post_types and/or taxonomies are retained,
726
  * even when that post_type or taxonomy may not yet have been registered.
inc/options/class-wpseo-options.php CHANGED
@@ -446,7 +446,13 @@ class WPSEO_Options {
446
  public static function save_option( $wpseo_options_group_name, $option_name, $option_value ) {
447
  $options = self::get_option( $wpseo_options_group_name );
448
  $options[ $option_name ] = $option_value;
449
- update_option( $wpseo_options_group_name, $options );
 
 
 
 
 
 
450
 
451
  // Check if everything got saved properly.
452
  $saved_option = self::get_option( $wpseo_options_group_name );
@@ -511,12 +517,15 @@ class WPSEO_Options {
511
  return $pattern_table;
512
  }
513
 
 
 
514
  /**
515
  * Correct the inadvertent removal of the fallback to default values from the breadcrumbs.
516
  *
517
  * @since 1.5.2.3
518
  *
519
  * @deprecated 7.0
 
520
  */
521
  public static function bring_back_breadcrumb_defaults() {
522
  _deprecated_function( __METHOD__, 'WPSEO 7.0' );
446
  public static function save_option( $wpseo_options_group_name, $option_name, $option_value ) {
447
  $options = self::get_option( $wpseo_options_group_name );
448
  $options[ $option_name ] = $option_value;
449
+
450
+ if ( isset( self::$option_instances[ $wpseo_options_group_name ] ) && self::$option_instances[ $wpseo_options_group_name ]->multisite_only === true ) {
451
+ self::update_site_option( $wpseo_options_group_name, $options );
452
+ }
453
+ else {
454
+ update_option( $wpseo_options_group_name, $options );
455
+ }
456
 
457
  // Check if everything got saved properly.
458
  $saved_option = self::get_option( $wpseo_options_group_name );
517
  return $pattern_table;
518
  }
519
 
520
+ /* ********************* DEPRECATED METHODS ********************* */
521
+
522
  /**
523
  * Correct the inadvertent removal of the fallback to default values from the breadcrumbs.
524
  *
525
  * @since 1.5.2.3
526
  *
527
  * @deprecated 7.0
528
+ * @codeCoverageIgnore
529
  */
530
  public static function bring_back_breadcrumb_defaults() {
531
  _deprecated_function( __METHOD__, 'WPSEO 7.0' );
inc/options/class-wpseo-taxonomy-meta.php CHANGED
@@ -31,7 +31,6 @@ class WPSEO_Taxonomy_Meta extends WPSEO_Option {
31
  */
32
  protected $defaults = array();
33
 
34
-
35
  /**
36
  * @var string Option name - same as $option_name property, but now also available to static methods.
37
  * @static
@@ -56,9 +55,11 @@ class WPSEO_Taxonomy_Meta extends WPSEO_Option {
56
  'wpseo_opengraph-title' => '',
57
  'wpseo_opengraph-description' => '',
58
  'wpseo_opengraph-image' => '',
 
59
  'wpseo_twitter-title' => '',
60
  'wpseo_twitter-description' => '',
61
  'wpseo_twitter-image' => '',
 
62
  );
63
 
64
  /**
@@ -193,7 +194,6 @@ class WPSEO_Taxonomy_Meta extends WPSEO_Option {
193
  return $dirty;
194
  }
195
 
196
-
197
  foreach ( $dirty as $taxonomy => $terms ) {
198
  /* Don't validate taxonomy - may not be registered yet and we don't want to remove valid ones. */
199
  if ( is_array( $terms ) && $terms !== array() ) {
31
  */
32
  protected $defaults = array();
33
 
 
34
  /**
35
  * @var string Option name - same as $option_name property, but now also available to static methods.
36
  * @static
55
  'wpseo_opengraph-title' => '',
56
  'wpseo_opengraph-description' => '',
57
  'wpseo_opengraph-image' => '',
58
+ 'wpseo_opengraph-image-id' => '',
59
  'wpseo_twitter-title' => '',
60
  'wpseo_twitter-description' => '',
61
  'wpseo_twitter-image' => '',
62
+ 'wpseo_twitter-image-id' => '',
63
  );
64
 
65
  /**
194
  return $dirty;
195
  }
196
 
 
197
  foreach ( $dirty as $taxonomy => $terms ) {
198
  /* Don't validate taxonomy - may not be registered yet and we don't want to remove valid ones. */
199
  if ( is_array( $terms ) && $terms !== array() ) {
inc/sitemaps/class-post-type-sitemap-provider.php CHANGED
@@ -32,15 +32,6 @@ class WPSEO_Post_Type_Sitemap_Provider implements WPSEO_Sitemap_Provider {
32
  add_filter( 'save_post', array( $this, 'save_post' ) );
33
  }
34
 
35
- /**
36
- * Get all the options
37
- *
38
- * @deprecated 7.0
39
- */
40
- protected function get_options() {
41
- _deprecated_function( __METHOD__, 'WPSEO 7.0', 'WPSEO_Options::get' );
42
- }
43
-
44
  /**
45
  * Get front page ID
46
  *
@@ -638,4 +629,16 @@ class WPSEO_Post_Type_Sitemap_Provider implements WPSEO_Sitemap_Provider {
638
 
639
  return $url;
640
  }
 
 
 
 
 
 
 
 
 
 
 
 
641
  }
32
  add_filter( 'save_post', array( $this, 'save_post' ) );
33
  }
34
 
 
 
 
 
 
 
 
 
 
35
  /**
36
  * Get front page ID
37
  *
629
 
630
  return $url;
631
  }
632
+
633
+ /* ********************* DEPRECATED METHODS ********************* */
634
+
635
+ /**
636
+ * Get all the options
637
+ *
638
+ * @deprecated 7.0
639
+ * @codeCoverageIgnore
640
+ */
641
+ protected function get_options() {
642
+ _deprecated_function( __METHOD__, 'WPSEO 7.0', 'WPSEO_Options::get' );
643
+ }
644
  }
inc/sitemaps/class-sitemap-image-parser.php CHANGED
@@ -22,7 +22,7 @@ class WPSEO_Sitemap_Image_Parser {
22
  /** @var array $attachments Cached set of attachments for multiple posts. */
23
  protected $attachments = array();
24
 
25
- /** @var string $charset Holds blog charset value for use in DOM parsing. */
26
  protected $charset = 'UTF-8';
27
 
28
  /**
22
  /** @var array $attachments Cached set of attachments for multiple posts. */
23
  protected $attachments = array();
24
 
25
+ /** @var string $charset Holds blog charset value for use in DOM parsing. */
26
  protected $charset = 'UTF-8';
27
 
28
  /**
inc/sitemaps/class-sitemaps-admin.php CHANGED
@@ -59,10 +59,6 @@ class WPSEO_Sitemaps_Admin {
59
  return;
60
  }
61
 
62
- if ( WP_CACHE ) {
63
- wp_schedule_single_event( ( time() + 300 ), 'wpseo_hit_sitemap_index' );
64
- }
65
-
66
  /**
67
  * Filter: 'wpseo_allow_xml_sitemap_ping' - Check if pinging is not allowed (allowed by default)
68
  *
@@ -134,11 +130,13 @@ class WPSEO_Sitemaps_Admin {
134
  WPSEO_Sitemaps::ping_search_engines();
135
  }
136
 
137
- // @codeCoverageIgnoreStart
 
138
  /**
139
  * Find sitemaps residing on disk as they will block our rewrite.
140
  *
141
  * @deprecated 7.0
 
142
  */
143
  public function delete_sitemaps() {
144
  _deprecated_function( 'WPSEO_Sitemaps_Admin::delete_sitemaps', '7.0' );
@@ -148,9 +146,9 @@ class WPSEO_Sitemaps_Admin {
148
  * Find sitemaps residing on disk as they will block our rewrite.
149
  *
150
  * @deprecated 7.0
 
151
  */
152
  public function detect_blocking_filesystem_sitemaps() {
153
  _deprecated_function( 'WPSEO_Sitemaps_Admin::delete_sitemaps', '7.0' );
154
  }
155
- // @codeCoverageIgnoreEnd
156
  } /* End of class */
59
  return;
60
  }
61
 
 
 
 
 
62
  /**
63
  * Filter: 'wpseo_allow_xml_sitemap_ping' - Check if pinging is not allowed (allowed by default)
64
  *
130
  WPSEO_Sitemaps::ping_search_engines();
131
  }
132
 
133
+ /* ********************* DEPRECATED METHODS ********************* */
134
+
135
  /**
136
  * Find sitemaps residing on disk as they will block our rewrite.
137
  *
138
  * @deprecated 7.0
139
+ * @codeCoverageIgnore
140
  */
141
  public function delete_sitemaps() {
142
  _deprecated_function( 'WPSEO_Sitemaps_Admin::delete_sitemaps', '7.0' );
146
  * Find sitemaps residing on disk as they will block our rewrite.
147
  *
148
  * @deprecated 7.0
149
+ * @codeCoverageIgnore
150
  */
151
  public function detect_blocking_filesystem_sitemaps() {
152
  _deprecated_function( 'WPSEO_Sitemaps_Admin::delete_sitemaps', '7.0' );
153
  }
 
154
  } /* End of class */
inc/sitemaps/class-sitemaps-cache.php CHANGED
@@ -16,7 +16,7 @@ class WPSEO_Sitemaps_Cache {
16
  protected static $cache_clear = array();
17
 
18
  /** @var bool $is_enabled Mirror of enabled status for static calls. */
19
- protected static $is_enabled = true;
20
 
21
  /** @var bool $clear_all Holds the flag to clear all cache. */
22
  protected static $clear_all = false;
@@ -67,7 +67,7 @@ class WPSEO_Sitemaps_Cache {
67
  *
68
  * @param bool $unsigned Enable cache or not, defaults to true
69
  */
70
- return apply_filters( 'wpseo_enable_xml_sitemap_transient_caching', true );
71
  }
72
 
73
  /**
@@ -190,18 +190,28 @@ class WPSEO_Sitemaps_Cache {
190
  * Invalidate sitemap cache for authors.
191
  *
192
  * @param int $user_id User ID.
 
 
193
  */
194
  public static function invalidate_author( $user_id ) {
195
 
196
  $user = get_user_by( 'id', $user_id );
197
 
 
 
 
 
198
  if ( 'user_register' === current_action() ) {
199
  update_user_meta( $user_id, '_yoast_wpseo_profile_updated', time() );
200
  }
201
 
202
- if ( ! in_array( 'subscriber', $user->roles, true ) ) {
203
- self::invalidate( 'author' );
204
  }
 
 
 
 
205
  }
206
 
207
  /**
16
  protected static $cache_clear = array();
17
 
18
  /** @var bool $is_enabled Mirror of enabled status for static calls. */
19
+ protected static $is_enabled = false;
20
 
21
  /** @var bool $clear_all Holds the flag to clear all cache. */
22
  protected static $clear_all = false;
67
  *
68
  * @param bool $unsigned Enable cache or not, defaults to true
69
  */
70
+ return apply_filters( 'wpseo_enable_xml_sitemap_transient_caching', false );
71
  }
72
 
73
  /**
190
  * Invalidate sitemap cache for authors.
191
  *
192
  * @param int $user_id User ID.
193
+ *
194
+ * @return bool True if the sitemap was properly invalidated. False otherwise.
195
  */
196
  public static function invalidate_author( $user_id ) {
197
 
198
  $user = get_user_by( 'id', $user_id );
199
 
200
+ if ( $user === false ) {
201
+ return false;
202
+ }
203
+
204
  if ( 'user_register' === current_action() ) {
205
  update_user_meta( $user_id, '_yoast_wpseo_profile_updated', time() );
206
  }
207
 
208
+ if ( empty( $user->roles ) || in_array( 'subscriber', $user->roles, true ) ) {
209
+ return false;
210
  }
211
+
212
+ self::invalidate( 'author' );
213
+
214
+ return true;
215
  }
216
 
217
  /**
inc/sitemaps/class-sitemaps.php CHANGED
@@ -419,9 +419,15 @@ class WPSEO_Sitemaps {
419
  }
420
 
421
  /**
422
- * Make a request for the sitemap index so as to cache it before the arrival of the search engines.
 
 
423
  */
424
  public function hit_sitemap_index() {
 
 
 
 
425
  wp_remote_get( WPSEO_Sitemaps_Router::get_base_url( 'sitemap_index.xml' ) );
426
  }
427
 
419
  }
420
 
421
  /**
422
+ * Makes a request to the sitemap index to cache it before the arrival of the search engines.
423
+ *
424
+ * @return void
425
  */
426
  public function hit_sitemap_index() {
427
+ if ( ! $this->cache->is_enabled() ) {
428
+ return;
429
+ }
430
+
431
  wp_remote_get( WPSEO_Sitemaps_Router::get_base_url( 'sitemap_index.xml' ) );
432
  }
433
 
inc/sitemaps/class-taxonomy-sitemap-provider.php CHANGED
@@ -25,15 +25,6 @@ class WPSEO_Taxonomy_Sitemap_Provider implements WPSEO_Sitemap_Provider {
25
  return taxonomy_exists( $type );
26
  }
27
 
28
- /**
29
- * Get all the options
30
- *
31
- * @deprecated 7.0
32
- */
33
- protected function get_options() {
34
- _deprecated_function( __METHOD__, 'WPSEO 7.0', 'WPSEO_Options::get' );
35
- }
36
-
37
  /**
38
  * @param int $max_entries Entries per sitemap.
39
  *
@@ -261,4 +252,16 @@ class WPSEO_Taxonomy_Sitemap_Provider implements WPSEO_Sitemap_Provider {
261
 
262
  return self::$image_parser;
263
  }
 
 
 
 
 
 
 
 
 
 
 
 
264
  }
25
  return taxonomy_exists( $type );
26
  }
27
 
 
 
 
 
 
 
 
 
 
28
  /**
29
  * @param int $max_entries Entries per sitemap.
30
  *
252
 
253
  return self::$image_parser;
254
  }
255
+
256
+ /* ********************* DEPRECATED METHODS ********************* */
257
+
258
+ /**
259
+ * Get all the options
260
+ *
261
+ * @deprecated 7.0
262
+ * @codeCoverageIgnore
263
+ */
264
+ protected function get_options() {
265
+ _deprecated_function( __METHOD__, 'WPSEO 7.0', 'WPSEO_Options::get' );
266
+ }
267
  }
inc/structured-data-blocks/class-faq-block.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class WPSEO_FAQ_Block
10
  */
11
  class WPSEO_FAQ_Block implements WPSEO_WordPress_Integration {
 
12
  /**
13
  * Registers the how-to block as a server-side rendered block.
14
  *
@@ -95,7 +96,7 @@ class WPSEO_FAQ_Block implements WPSEO_WordPress_Integration {
95
  }
96
 
97
  if ( ! empty( $question['jsonAnswer'] ) ) {
98
- $json_ld['answerCount'] = 1;
99
  $json_ld['acceptedAnswer'] = array(
100
  '@type' => 'Answer',
101
  'text' => $question['jsonAnswer'],
9
  * Class WPSEO_FAQ_Block
10
  */
11
  class WPSEO_FAQ_Block implements WPSEO_WordPress_Integration {
12
+
13
  /**
14
  * Registers the how-to block as a server-side rendered block.
15
  *
96
  }
97
 
98
  if ( ! empty( $question['jsonAnswer'] ) ) {
99
+ $json_ld['answerCount'] = 1;
100
  $json_ld['acceptedAnswer'] = array(
101
  '@type' => 'Answer',
102
  'text' => $question['jsonAnswer'],
inc/structured-data-blocks/class-how-to-block.php CHANGED
@@ -9,6 +9,7 @@
9
  * Class WPSEO_How_To_Block
10
  */
11
  class WPSEO_How_To_Block implements WPSEO_WordPress_Integration {
 
12
  /**
13
  * Registers the how-to block as a server-side rendered block.
14
  *
@@ -78,7 +79,7 @@ class WPSEO_How_To_Block implements WPSEO_WordPress_Integration {
78
 
79
  if ( ! empty( $attributes['steps'] ) && is_array( $attributes['steps'] ) ) {
80
  $json_ld['step'] = array();
81
- $steps = array_filter( $attributes['steps'], 'is_array' );
82
  foreach ( $steps as $step ) {
83
  $json_ld['step'][] = $this->get_section_json_ld( $step );
84
  }
9
  * Class WPSEO_How_To_Block
10
  */
11
  class WPSEO_How_To_Block implements WPSEO_WordPress_Integration {
12
+
13
  /**
14
  * Registers the how-to block as a server-side rendered block.
15
  *
79
 
80
  if ( ! empty( $attributes['steps'] ) && is_array( $attributes['steps'] ) ) {
81
  $json_ld['step'] = array();
82
+ $steps = array_filter( $attributes['steps'], 'is_array' );
83
  foreach ( $steps as $step ) {
84
  $json_ld['step'][] = $this->get_section_json_ld( $step );
85
  }
inc/wpseo-non-ajax-functions.php CHANGED
@@ -25,9 +25,9 @@ add_action( 'wp_loaded', 'wpseo_initialize_admin_bar' );
25
  /**
26
  * Allows editing of the meta fields through weblog editors like Marsedit.
27
  *
28
- * @param array $required_capabilities Capabilities that must all be true to allow action.
29
- * @param array $capabilities Array of capabilities to be checked, unused here.
30
- * @param array $args List of arguments for the specific capabilities to be checked.
31
  *
32
  * @return array $required_capabilities Filtered capabilities.
33
  */
@@ -56,7 +56,7 @@ function allow_custom_field_edits( $required_capabilities, $capabilities, $args
56
 
57
  add_filter( 'user_has_cap', 'allow_custom_field_edits', 0, 3 );
58
 
59
- /********************** DEPRECATED FUNCTIONS **********************/
60
 
61
  /**
62
  * Adds an SEO admin bar menu to the site admin, with several options.
@@ -64,6 +64,7 @@ add_filter( 'user_has_cap', 'allow_custom_field_edits', 0, 3 );
64
  * If the current user is an admin he can also go straight to several settings menu's from here.
65
  *
66
  * @deprecated 7.9 Use WPSEO_Admin_Bar_Menu::add_menu() instead
 
67
  *
68
  * @return void
69
  */
@@ -92,6 +93,7 @@ function wpseo_admin_bar_menu() {
92
  * Returns the SEO score element for the admin bar.
93
  *
94
  * @deprecated 7.9
 
95
  *
96
  * @return string
97
  */
@@ -107,6 +109,7 @@ function wpseo_adminbar_seo_score() {
107
  * Returns the content score element for the adminbar.
108
  *
109
  * @deprecated 7.9
 
110
  *
111
  * @return string
112
  */
@@ -122,6 +125,7 @@ function wpseo_adminbar_content_score() {
122
  * Returns the SEO score element for the adminbar.
123
  *
124
  * @deprecated 7.9
 
125
  *
126
  * @return string
127
  */
@@ -141,6 +145,7 @@ function wpseo_tax_adminbar_seo_score() {
141
  * Returns the Content score element for the adminbar.
142
  *
143
  * @deprecated 7.9
 
144
  *
145
  * @return string
146
  */
@@ -160,6 +165,7 @@ function wpseo_tax_adminbar_content_score() {
160
  * Takes The SEO score and makes the score icon for the adminbar with it.
161
  *
162
  * @deprecated 7.9
 
163
  *
164
  * @param int $score The 0-100 rating of the score. Can be either SEO score or content score.
165
  *
@@ -179,6 +185,7 @@ function wpseo_adminbar_score( $score ) {
179
  * Enqueue CSS to format the Yoast SEO adminbar item.
180
  *
181
  * @deprecated 7.9 Use WPSEO_Admin_Bar_Menu::enqueue_assets() instead
 
182
  */
183
  function wpseo_admin_bar_style() {
184
  _deprecated_function( __FUNCTION__, 'WPSEO 7.9', 'WPSEO_Admin_Bar_Menu::enqueue_assets()' );
@@ -199,6 +206,7 @@ function wpseo_admin_bar_style() {
199
  * Detects if the advanced settings are enabled.
200
  *
201
  * @deprecated 7.0
 
202
  */
203
  function wpseo_advanced_settings_enabled() {
204
  _deprecated_function( __FUNCTION__, 'WPSEO 7.0', null );
25
  /**
26
  * Allows editing of the meta fields through weblog editors like Marsedit.
27
  *
28
+ * @param array $required_capabilities Capabilities that must all be true to allow action.
29
+ * @param array $capabilities Array of capabilities to be checked, unused here.
30
+ * @param array $args List of arguments for the specific capabilities to be checked.
31
  *
32
  * @return array $required_capabilities Filtered capabilities.
33
  */
56
 
57
  add_filter( 'user_has_cap', 'allow_custom_field_edits', 0, 3 );
58
 
59
+ /* ********************* DEPRECATED FUNCTIONS ********************* */
60
 
61
  /**
62
  * Adds an SEO admin bar menu to the site admin, with several options.
64
  * If the current user is an admin he can also go straight to several settings menu's from here.
65
  *
66
  * @deprecated 7.9 Use WPSEO_Admin_Bar_Menu::add_menu() instead
67
+ * @codeCoverageIgnore
68
  *
69
  * @return void
70
  */
93
  * Returns the SEO score element for the admin bar.
94
  *
95
  * @deprecated 7.9
96
+ * @codeCoverageIgnore
97
  *
98
  * @return string
99
  */
109
  * Returns the content score element for the adminbar.
110
  *
111
  * @deprecated 7.9
112
+ * @codeCoverageIgnore
113
  *
114
  * @return string
115
  */
125
  * Returns the SEO score element for the adminbar.
126
  *
127
  * @deprecated 7.9
128
+ * @codeCoverageIgnore
129
  *
130
  * @return string
131
  */
145
  * Returns the Content score element for the adminbar.
146
  *
147
  * @deprecated 7.9
148
+ * @codeCoverageIgnore
149
  *
150
  * @return string
151
  */
165
  * Takes The SEO score and makes the score icon for the adminbar with it.
166
  *
167
  * @deprecated 7.9
168
+ * @codeCoverageIgnore
169
  *
170
  * @param int $score The 0-100 rating of the score. Can be either SEO score or content score.
171
  *
185
  * Enqueue CSS to format the Yoast SEO adminbar item.
186
  *
187
  * @deprecated 7.9 Use WPSEO_Admin_Bar_Menu::enqueue_assets() instead
188
+ * @codeCoverageIgnore
189
  */
190
  function wpseo_admin_bar_style() {
191
  _deprecated_function( __FUNCTION__, 'WPSEO 7.9', 'WPSEO_Admin_Bar_Menu::enqueue_assets()' );
206
  * Detects if the advanced settings are enabled.
207
  *
208
  * @deprecated 7.0
209
+ * @codeCoverageIgnore
210
  */
211
  function wpseo_advanced_settings_enabled() {
212
  _deprecated_function( __FUNCTION__, 'WPSEO 7.0', null );
js/dist/analysis-840.min.js DELETED
@@ -1,13 +0,0 @@
1
- yoastWebpackJsonp([1],[,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(529);t.d(e,"add",function(){return i.a});var n=t(530);t.d(e,"after",function(){return n.a});var o=t(381);t.d(e,"ary",function(){return o.a});var r=t(534);t.d(e,"assign",function(){return r.a});var s=t(386);t.d(e,"assignIn",function(){return s.a});var d=t(321);t.d(e,"assignInWith",function(){return d.a});var c=t(538);t.d(e,"assignWith",function(){return c.a});var l=t(539);t.d(e,"at",function(){return l.a});var u=t(393);t.d(e,"attempt",function(){return u.a});var p=t(395);t.d(e,"before",function(){return p.a});var z=t(396);t.d(e,"bind",function(){return z.a});var m=t(544);t.d(e,"bindAll",function(){return m.a});var g=t(545);t.d(e,"bindKey",function(){return g.a});var w=t(546);t.d(e,"camelCase",function(){return w.a});var y=t(397);t.d(e,"capitalize",function(){return y.a});var f=t(549);t.d(e,"castArray",function(){return f.a});var b=t(550);t.d(e,"ceil",function(){return b.a});var h=t(400);t.d(e,"chain",function(){return h.a});var v=t(552);t.d(e,"chunk",function(){return v.a});var k=t(553);t.d(e,"clamp",function(){return k.a});var j=t(554);t.d(e,"clone",function(){return j.a});var _=t(558);t.d(e,"cloneDeep",function(){return _.a});var x=t(559);t.d(e,"cloneDeepWith",function(){return x.a});var O=t(560);t.d(e,"cloneWith",function(){return O.a});var q=t(404);t.d(e,"commit",function(){return q.a});var E=t(561);t.d(e,"compact",function(){return E.a});var A=t(562);t.d(e,"concat",function(){return A.a});var S=t(563);t.d(e,"cond",function(){return S.a});var M=t(569);t.d(e,"conforms",function(){return M.a});var T=t(570);t.d(e,"conformsTo",function(){return T.a});var P=t(317);t.d(e,"constant",function(){return P.a});var C=t(571);t.d(e,"countBy",function(){return C.a});var R=t(573);t.d(e,"create",function(){return R.a});var D=t(574);t.d(e,"curry",function(){return D.a});var B=t(575);t.d(e,"curryRight",function(){return B.a});var F=t(411);t.d(e,"debounce",function(){return F.a});var I=t(398);t.d(e,"deburr",function(){return I.a});var L=t(576);t.d(e,"defaultTo",function(){return L.a});var $=t(577);t.d(e,"defaults",function(){return $.a});var U=t(578);t.d(e,"defaultsDeep",function(){return U.a});var W=t(580);t.d(e,"defer",function(){return W.a});var N=t(581);t.d(e,"delay",function(){return N.a});var K=t(582);t.d(e,"difference",function(){return K.a});var H=t(584);t.d(e,"differenceBy",function(){return H.a});var V=t(585);t.d(e,"differenceWith",function(){return V.a});var Y=t(586);t.d(e,"divide",function(){return Y.a});var G=t(587);t.d(e,"drop",function(){return G.a});var Z=t(588);t.d(e,"dropRight",function(){return Z.a});var J=t(589);t.d(e,"dropRightWhile",function(){return J.a});var X=t(590);t.d(e,"dropWhile",function(){return X.a});var Q=t(591);t.d(e,"each",function(){return Q.a});var aa=t(592);t.d(e,"eachRight",function(){return aa.a});var ea=t(594);t.d(e,"endsWith",function(){return ea.a});var ta=t(595);t.d(e,"entries",function(){return ta.a});var ia=t(596);t.d(e,"entriesIn",function(){return ia.a});var na=t(68);t.d(e,"eq",function(){return na.a});var oa=t(420);t.d(e,"escape",function(){return oa.a});var ra=t(597);t.d(e,"escapeRegExp",function(){return ra.a});var sa=t(598);t.d(e,"every",function(){return sa.a});var da=t(599);t.d(e,"extend",function(){return da.a});var ca=t(600);t.d(e,"extendWith",function(){return ca.a});var la=t(601);t.d(e,"fill",function(){return la.a});var ua=t(602);t.d(e,"filter",function(){return ua.a});var pa=t(603);t.d(e,"find",function(){return pa.a});var za=t(422);t.d(e,"findIndex",function(){return za.a});var ma=t(604);t.d(e,"findKey",function(){return ma.a});var ga=t(605);t.d(e,"findLast",function(){return ga.a});var wa=t(423);t.d(e,"findLastIndex",function(){return wa.a});var ya=t(606);t.d(e,"findLastKey",function(){return ya.a});var fa=t(607);t.d(e,"first",function(){return fa.a});var ba=t(608);t.d(e,"flatMap",function(){return ba.a});var ha=t(609);t.d(e,"flatMapDeep",function(){return ha.a});var va=t(610);t.d(e,"flatMapDepth",function(){return va.a});var ka=t(392);t.d(e,"flatten",function(){return ka.a});var ja=t(611);t.d(e,"flattenDeep",function(){return ja.a});var _a=t(612);t.d(e,"flattenDepth",function(){return _a.a});var xa=t(613);t.d(e,"flip",function(){return xa.a});var Oa=t(614);t.d(e,"floor",function(){return Oa.a});var qa=t(615);t.d(e,"flow",function(){return qa.a});var Ea=t(616);t.d(e,"flowRight",function(){return Ea.a});var Aa=t(416);t.d(e,"forEach",function(){return Aa.a});var Sa=t(417);t.d(e,"forEachRight",function(){return Sa.a});var Ma=t(617);t.d(e,"forIn",function(){return Ma.a});var Ta=t(618);t.d(e,"forInRight",function(){return Ta.a});var Pa=t(619);t.d(e,"forOwn",function(){return Pa.a});var Ca=t(620);t.d(e,"forOwnRight",function(){return Ca.a});var Ra=t(621);t.d(e,"fromPairs",function(){return Ra.a});var Da=t(622);t.d(e,"functions",function(){return Da.a});var Ba=t(623);t.d(e,"functionsIn",function(){return Ba.a});var Fa=t(322);t.d(e,"get",function(){return Fa.a});var Ia=t(624);t.d(e,"groupBy",function(){return Ia.a});var La=t(625);t.d(e,"gt",function(){return La.a});var $a=t(627);t.d(e,"gte",function(){return $a.a});var Ua=t(628);t.d(e,"has",function(){return Ua.a});var Wa=t(326);t.d(e,"hasIn",function(){return Wa.a});var Na=t(424);t.d(e,"head",function(){return Na.a});var Ka=t(43);t.d(e,"identity",function(){return Ka.a});var Ha=t(629);t.d(e,"inRange",function(){return Ha.a});var Va=t(630);t.d(e,"includes",function(){return Va.a});var Ya=t(632);t.d(e,"indexOf",function(){return Ya.a});var Ga=t(633);t.d(e,"initial",function(){return Ga.a});var Za=t(634);t.d(e,"intersection",function(){return Za.a});var Ja=t(637);t.d(e,"intersectionBy",function(){return Ja.a});var Xa=t(638);t.d(e,"intersectionWith",function(){return Xa.a});var Qa=t(639);t.d(e,"invert",function(){return Qa.a});var ae=t(640);t.d(e,"invertBy",function(){return ae.a});var ee=t(641);t.d(e,"invoke",function(){return ee.a});var te=t(642);t.d(e,"invokeMap",function(){return te.a});var ie=t(158);t.d(e,"isArguments",function(){return ie.a});var ne=t(7);t.d(e,"isArray",function(){return ne.a});var oe=t(643);t.d(e,"isArrayBuffer",function(){return oe.a});var re=t(44);t.d(e,"isArrayLike",function(){return re.a});var se=t(46);t.d(e,"isArrayLikeObject",function(){return se.a});var de=t(644);t.d(e,"isBoolean",function(){return de.a});var ce=t(145);t.d(e,"isBuffer",function(){return ce.a});var le=t(645);t.d(e,"isDate",function(){return le.a});var ue=t(646);t.d(e,"isElement",function(){return ue.a});var pe=t(647);t.d(e,"isEmpty",function(){return pe.a});var ze=t(648);t.d(e,"isEqual",function(){return ze.a});var me=t(649);t.d(e,"isEqualWith",function(){return me.a});var ge=t(323);t.d(e,"isError",function(){return ge.a});var we=t(650);t.d(e,"isFinite",function(){return we.a});var ye=t(89);t.d(e,"isFunction",function(){return ye.a});var fe=t(427);t.d(e,"isInteger",function(){return fe.a});var be=t(233);t.d(e,"isLength",function(){return be.a});var he=t(402);t.d(e,"isMap",function(){return he.a});var ve=t(651);t.d(e,"isMatch",function(){return ve.a});var ke=t(652);t.d(e,"isMatchWith",function(){return ke.a});var je=t(653);t.d(e,"isNaN",function(){return je.a});var _e=t(654);t.d(e,"isNative",function(){return _e.a});var xe=t(655);t.d(e,"isNil",function(){return xe.a});var Oe=t(656);t.d(e,"isNull",function(){return Oe.a});var qe=t(428);t.d(e,"isNumber",function(){return qe.a});var Ee=t(25);t.d(e,"isObject",function(){return Ee.a});var Ae=t(23);t.d(e,"isObjectLike",function(){return Ae.a});var Se=t(196);t.d(e,"isPlainObject",function(){return Se.a});var Me=t(329);t.d(e,"isRegExp",function(){return Me.a});var Te=t(657);t.d(e,"isSafeInteger",function(){return Te.a});var Pe=t(403);t.d(e,"isSet",function(){return Pe.a});var Ce=t(239);t.d(e,"isString",function(){return Ce.a});var Re=t(67);t.d(e,"isSymbol",function(){return Re.a});var De=t(159);t.d(e,"isTypedArray",function(){return De.a});var Be=t(658);t.d(e,"isUndefined",function(){return Be.a});var Fe=t(659);t.d(e,"isWeakMap",function(){return Fe.a});var Ie=t(660);t.d(e,"isWeakSet",function(){return Ie.a});var Le=t(661);t.d(e,"iteratee",function(){return Le.a});var $e=t(662);t.d(e,"join",function(){return $e.a});var Ue=t(663);t.d(e,"kebabCase",function(){return Ue.a});var We=t(664);t.d(e,"keyBy",function(){return We.a});var Ne=t(28);t.d(e,"keys",function(){return Ne.a});var Ke=t(52);t.d(e,"keysIn",function(){return Ke.a});var He=t(64);t.d(e,"last",function(){return He.a});var Ve=t(665);t.d(e,"lastIndexOf",function(){return Ve.a});var Ye=t(192);t.d(e,"lodash",function(){return Ye.a});var Ge=t(666);t.d(e,"lowerCase",function(){return Ge.a});var Ze=t(667);t.d(e,"lowerFirst",function(){return Ze.a});var Je=t(668);t.d(e,"lt",function(){return Je.a});var Xe=t(670);t.d(e,"lte",function(){return Xe.a});var Qe=t(238);t.d(e,"map",function(){return Qe.a});var at=t(671);t.d(e,"mapKeys",function(){return at.a});var et=t(672);t.d(e,"mapValues",function(){return et.a});var tt=t(673);t.d(e,"matches",function(){return tt.a});var it=t(674);t.d(e,"matchesProperty",function(){return it.a});var nt=t(675);t.d(e,"max",function(){return nt.a});var ot=t(676);t.d(e,"maxBy",function(){return ot.a});var rt=t(677);t.d(e,"mean",function(){return rt.a});var st=t(679);t.d(e,"meanBy",function(){return st.a});var dt=t(387);t.d(e,"memoize",function(){return dt.a});var ct=t(680);t.d(e,"merge",function(){return ct.a});var lt=t(414);t.d(e,"mergeWith",function(){return lt.a});var ut=t(681);t.d(e,"method",function(){return ut.a});var pt=t(682);t.d(e,"methodOf",function(){return pt.a});var zt=t(683);t.d(e,"min",function(){return zt.a});var mt=t(684);t.d(e,"minBy",function(){return mt.a});var gt=t(430);t.d(e,"mixin",function(){return gt.a});var wt=t(685);t.d(e,"multiply",function(){return wt.a});var yt=t(240);t.d(e,"negate",function(){return yt.a});var ft=t(431);t.d(e,"next",function(){return ft.a});var bt=t(316);t.d(e,"noop",function(){return bt.a});var ht=t(412);t.d(e,"now",function(){return ht.a});var vt=t(686);t.d(e,"nth",function(){return vt.a});var kt=t(687);t.d(e,"nthArg",function(){return kt.a});var jt=t(688);t.d(e,"omit",function(){return jt.a});var _t=t(690);t.d(e,"omitBy",function(){return _t.a});var xt=t(691);t.d(e,"once",function(){return xt.a});var Ot=t(692);t.d(e,"orderBy",function(){return Ot.a});var qt=t(693);t.d(e,"over",function(){return qt.a});var Et=t(695);t.d(e,"overArgs",function(){return Et.a});var At=t(696);t.d(e,"overEvery",function(){return At.a});var St=t(697);t.d(e,"overSome",function(){return St.a});var Mt=t(698);t.d(e,"pad",function(){return Mt.a});var Tt=t(700);t.d(e,"padEnd",function(){return Tt.a});var Pt=t(701);t.d(e,"padStart",function(){return Pt.a});var Ct=t(702);t.d(e,"parseInt",function(){return Ct.a});var Rt=t(434);t.d(e,"partial",function(){return Rt.a});var Dt=t(703);t.d(e,"partialRight",function(){return Dt.a});var Bt=t(704);t.d(e,"partition",function(){return Bt.a});var Ft=t(705);t.d(e,"pick",function(){return Ft.a});var It=t(433);t.d(e,"pickBy",function(){return It.a});var Lt=t(435);t.d(e,"plant",function(){return Lt.a});var $t=t(409);t.d(e,"property",function(){return $t.a});var Ut=t(706);t.d(e,"propertyOf",function(){return Ut.a});var Wt=t(707);t.d(e,"pull",function(){return Wt.a});var Nt=t(436);t.d(e,"pullAll",function(){return Nt.a});var Kt=t(709);t.d(e,"pullAllBy",function(){return Kt.a});var Ht=t(710);t.d(e,"pullAllWith",function(){return Ht.a});var Vt=t(711);t.d(e,"pullAt",function(){return Vt.a});var Yt=t(712);t.d(e,"random",function(){return Yt.a});var Gt=t(714);t.d(e,"range",function(){return Gt.a});var Zt=t(715);t.d(e,"rangeRight",function(){return Zt.a});var Jt=t(716);t.d(e,"rearg",function(){return Jt.a});var Xt=t(717);t.d(e,"reduce",function(){return Xt.a});var Qt=t(718);t.d(e,"reduceRight",function(){return Qt.a});var ai=t(719);t.d(e,"reject",function(){return ai.a});var ei=t(720);t.d(e,"remove",function(){return ei.a});var ti=t(721);t.d(e,"repeat",function(){return ti.a});var ii=t(722);t.d(e,"replace",function(){return ii.a});var ni=t(723);t.d(e,"rest",function(){return ni.a});var oi=t(724);t.d(e,"result",function(){return oi.a});var ri=t(437);t.d(e,"reverse",function(){return ri.a});var si=t(725);t.d(e,"round",function(){return si.a});var di=t(726);t.d(e,"sample",function(){return di.a});var ci=t(727);t.d(e,"sampleSize",function(){return ci.a});var li=t(728);t.d(e,"set",function(){return li.a});var ui=t(729);t.d(e,"setWith",function(){return ui.a});var pi=t(730);t.d(e,"shuffle",function(){return pi.a});var zi=t(731);t.d(e,"size",function(){return zi.a});var mi=t(732);t.d(e,"slice",function(){return mi.a});var gi=t(733);t.d(e,"snakeCase",function(){return gi.a});var wi=t(734);t.d(e,"some",function(){return wi.a});var yi=t(735);t.d(e,"sortBy",function(){return yi.a});var fi=t(736);t.d(e,"sortedIndex",function(){return fi.a});var bi=t(738);t.d(e,"sortedIndexBy",function(){return bi.a});var hi=t(739);t.d(e,"sortedIndexOf",function(){return hi.a});var vi=t(740);t.d(e,"sortedLastIndex",function(){return vi.a});var ki=t(741);t.d(e,"sortedLastIndexBy",function(){return ki.a});var ji=t(742);t.d(e,"sortedLastIndexOf",function(){return ji.a});var _i=t(743);t.d(e,"sortedUniq",function(){return _i.a});var xi=t(744);t.d(e,"sortedUniqBy",function(){return xi.a});var Oi=t(745);t.d(e,"split",function(){return Oi.a});var qi=t(746);t.d(e,"spread",function(){return qi.a});var Ei=t(747);t.d(e,"startCase",function(){return Ei.a});var Ai=t(748);t.d(e,"startsWith",function(){return Ai.a});var Si=t(325);t.d(e,"stubArray",function(){return Si.a});var Mi=t(320);t.d(e,"stubFalse",function(){return Mi.a});var Ti=t(749);t.d(e,"stubObject",function(){return Ti.a});var Pi=t(750);t.d(e,"stubString",function(){return Pi.a});var Ci=t(751);t.d(e,"stubTrue",function(){return Ci.a});var Ri=t(752);t.d(e,"subtract",function(){return Ri.a});var Di=t(753);t.d(e,"sum",function(){return Di.a});var Bi=t(754);t.d(e,"sumBy",function(){return Bi.a});var Fi=t(755);t.d(e,"tail",function(){return Fi.a});var Ii=t(756);t.d(e,"take",function(){return Ii.a});var Li=t(757);t.d(e,"takeRight",function(){return Li.a});var $i=t(758);t.d(e,"takeRightWhile",function(){return $i.a});var Ui=t(759);t.d(e,"takeWhile",function(){return Ui.a});var Wi=t(760);t.d(e,"tap",function(){return Wi.a});var Ni=t(761);t.d(e,"template",function(){return Ni.a});var Ki=t(440);t.d(e,"templateSettings",function(){return Ki.a});var Hi=t(762);t.d(e,"throttle",function(){return Hi.a});var Vi=t(242);t.d(e,"thru",function(){return Vi.a});var Yi=t(763);t.d(e,"times",function(){return Yi.a});var Gi=t(432);t.d(e,"toArray",function(){return Gi.a});var Zi=t(190);t.d(e,"toFinite",function(){return Zi.a});var Ji=t(10);t.d(e,"toInteger",function(){return Ji.a});var Xi=t(441);t.d(e,"toIterator",function(){return Xi.a});var Qi=t(764);t.d(e,"toJSON",function(){return Qi.a});var an=t(421);t.d(e,"toLength",function(){return an.a});var en=t(765);t.d(e,"toLower",function(){return en.a});var tn=t(101);t.d(e,"toNumber",function(){return tn.a});var nn=t(418);t.d(e,"toPairs",function(){return nn.a});var on=t(419);t.d(e,"toPairsIn",function(){return on.a});var rn=t(766);t.d(e,"toPath",function(){return rn.a});var sn=t(413);t.d(e,"toPlainObject",function(){return sn.a});var dn=t(767);t.d(e,"toSafeInteger",function(){return dn.a});var cn=t(13);t.d(e,"toString",function(){return cn.a});var ln=t(768);t.d(e,"toUpper",function(){return ln.a});var un=t(769);t.d(e,"transform",function(){return un.a});var pn=t(770);t.d(e,"trim",function(){return pn.a});var zn=t(771);t.d(e,"trimEnd",function(){return zn.a});var mn=t(772);t.d(e,"trimStart",function(){return mn.a});var gn=t(773);t.d(e,"truncate",function(){return gn.a});var wn=t(774);t.d(e,"unary",function(){return wn.a});var yn=t(775);t.d(e,"unescape",function(){return yn.a});var fn=t(776);t.d(e,"union",function(){return fn.a});var bn=t(777);t.d(e,"unionBy",function(){return bn.a});var hn=t(778);t.d(e,"unionWith",function(){return hn.a});var vn=t(779);t.d(e,"uniq",function(){return vn.a});var kn=t(780);t.d(e,"uniqBy",function(){return kn.a});var jn=t(781);t.d(e,"uniqWith",function(){return jn.a});var _n=t(782);t.d(e,"uniqueId",function(){return _n.a});var xn=t(783);t.d(e,"unset",function(){return xn.a});var On=t(331);t.d(e,"unzip",function(){return On.a});var qn=t(442);t.d(e,"unzipWith",function(){return qn.a});var En=t(784);t.d(e,"update",function(){return En.a});var An=t(785);t.d(e,"updateWith",function(){return An.a});var Sn=t(786);t.d(e,"upperCase",function(){return Sn.a});var Mn=t(324);t.d(e,"upperFirst",function(){return Mn.a});var Tn=t(1331);t.d(e,"value",function(){return Tn.a});var Pn=t(787);t.d(e,"valueOf",function(){return Pn.a});var Cn=t(167);t.d(e,"values",function(){return Cn.a});var Rn=t(788);t.d(e,"valuesIn",function(){return Rn.a});var Dn=t(789);t.d(e,"without",function(){return Dn.a});var Bn=t(399);t.d(e,"words",function(){return Bn.a});var Fn=t(790);t.d(e,"wrap",function(){return Fn.a});var In=t(791);t.d(e,"wrapperAt",function(){return In.a});var Ln=t(792);t.d(e,"wrapperChain",function(){return Ln.a}),t.d(e,"wrapperCommit",function(){return q.a}),t.d(e,"wrapperLodash",function(){return Ye.a}),t.d(e,"wrapperNext",function(){return ft.a}),t.d(e,"wrapperPlant",function(){return Lt.a});var $n=t(793);t.d(e,"wrapperReverse",function(){return $n.a}),t.d(e,"wrapperToIterator",function(){return Xi.a});var Un=t(243);t.d(e,"wrapperValue",function(){return Un.a});var Wn=t(794);t.d(e,"xor",function(){return Wn.a});var Nn=t(796);t.d(e,"xorBy",function(){return Nn.a});var Kn=t(797);t.d(e,"xorWith",function(){return Kn.a});var Hn=t(798);t.d(e,"zip",function(){return Hn.a});var Vn=t(799);t.d(e,"zipObject",function(){return Vn.a});var Yn=t(800);t.d(e,"zipObjectDeep",function(){return Yn.a});var Gn=t(801);t.d(e,"zipWith",function(){return Gn.a});var Zn=t(1332);t.d(e,"default",function(){return Zn.a})},function(a,e){var t=Array.isArray;a.exports=t},,function(a,e,t){"use strict";function i(a){return"function"==typeof a?a:null==a?r.a:"object"==typeof a?Object(s.a)(a)?Object(o.a)(a[0],a[1]):Object(n.a)(a):Object(d.a)(a)}var n=t(954),o=t(958),r=t(43),s=t(7),d=t(409);e.a=i},function(a,e,t){var i=t(75),n="object"==typeof self&&self&&self.Object===Object&&self,o=i||n||Function("return this")();a.exports=o},,function(a,e,t){"use strict";var i=Array.isArray;e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(r.a)(Object(o.a)(a,e,n.a),a+"")}var n=t(43),o=t(940),r=t(533);e.a=i},,function(a,e,t){"use strict";function i(a){var e=Object(n.a)(a),t=e%1;return e===e?t?e-t:e:0}var n=t(190);e.a=i},function(a,e){function t(a){var e=typeof a;return null!=a&&("object"==e||"function"==e)}a.exports=t},,function(a,e,t){"use strict";function i(a){return null==a?"":Object(n.a)(a)}var n=t(100);e.a=i},function(a,e,t){function i(a){return null==a?void 0===a?d:s:c&&c in Object(a)?o(a):r(a)}var n=t(19),o=t(111),r=t(112),s="[object Null]",d="[object Undefined]",c=n?n.toStringTag:void 0;a.exports=i},function(a,e){var t;t=function(){return this}();try{t=t||Function("return this")()||(0,eval)("this")}catch(a){"object"==typeof window&&(t=window)}a.exports=t},function(a,e){function t(a){return null!=a&&"object"==typeof a}a.exports=t},function(a,e,t){function i(a,e){var t=o(a,e);return n(t)?t:void 0}var n=t(118),o=t(121);a.exports=i},,function(a,e,t){var i=t(5),n=i.Symbol;a.exports=n},function(a,e,t){var i=t(17),n=i(Object,"create");a.exports=n},function(a,e,t){function i(a,e){for(var t=a.length;t--;)if(n(a[t][0],e))return t;return-1}var n=t(31);a.exports=i},function(a,e,t){function i(a,e){var t=a.__data__;return n(e)?t["string"==typeof e?"string":"hash"]:t.map}var n=t(132);a.exports=i},function(a,e,t){"use strict";function i(a){return null!=a&&"object"==typeof a}e.a=i},function(a,e,t){function i(a){return"symbol"==typeof a||o(a)&&n(a)==r}var n=t(14),o=t(16),r="[object Symbol]";a.exports=i},function(a,e,t){"use strict";function i(a){var e=typeof a;return null!=a&&("object"==e||"function"==e)}e.a=i},function(a,e,t){function i(a){if("string"==typeof a||n(a))return a;var e=a+"";return"0"==e&&1/a==-o?"-0":e}var n=t(24),o=1/0;a.exports=i},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=null==a?0:a.length,n=Array(i);++t<i;)n[t]=e(a[t],t,a);return n}e.a=i},function(a,e,t){"use strict";function i(a){return Object(r.a)(a)?Object(n.a)(a):Object(o.a)(a)}var n=t(941),o=t(537),r=t(44);e.a=i},,function(a,e,t){function i(a,e,t){var i=null==a?void 0:n(a,e);return void 0===i?t:i}var n=t(48);a.exports=i},function(a,e){function t(a,e){return a===e||a!==a&&e!==e}a.exports=t},,function(a,e,t){function i(a,e){return n(a)?a:o(a,e)?[a]:r(s(a))}var n=t(2),o=t(49),r=t(113),s=t(84);a.exports=i},function(a,e,t){function i(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}var n=t(126),o=t(127),r=t(128),s=t(129),d=t(130);i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=r,i.prototype.has=s,i.prototype.set=d,a.exports=i},function(a,e,t){function i(a){return r(a)?n(a):o(a)}var n=t(169),o=t(177),r=t(36);a.exports=i},function(a,e,t){function i(a){return null!=a&&o(a.length)&&!n(a)}var n=t(40),o=t(87);a.exports=i},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(1),n=t(244),o=function(a){return a&&a.__esModule?a:{default:a}}(n),r=function(){return[]},s=function(a){this._hasScore=!1,this._identifier="",this._hasMarks=!1,this._marker=r,this.score=0,this.text="",this.marks=[],(0,i.isUndefined)(a)&&(a={}),(0,i.isUndefined)(a.score)||this.setScore(a.score),(0,i.isUndefined)(a.text)||this.setText(a.text),(0,i.isUndefined)(a.marks)||this.setMarks(a.marks)};s.prototype.hasScore=function(){return this._hasScore},s.prototype.getScore=function(){return this.score},s.prototype.setScore=function(a){(0,i.isNumber)(a)&&(this.score=a,this._hasScore=!0)},s.prototype.hasText=function(){return""!==this.text},s.prototype.getText=function(){return this.text},s.prototype.setText=function(a){(0,i.isUndefined)(a)&&(a=""),this.text=a},s.prototype.getMarks=function(){return this.marks},s.prototype.setMarks=function(a){(0,i.isArray)(a)&&(this.marks=a,this._hasMarks=a.length>0)},s.prototype.setIdentifier=function(a){this._identifier=a},s.prototype.getIdentifier=function(){return this._identifier},s.prototype.setMarker=function(a){this._marker=a},s.prototype.hasMarker=function(){return this._hasMarks&&this._marker!==this.emptyMarker},s.prototype.getMarker=function(){return this._marker},s.prototype.setHasMarks=function(a){this._hasMarks=a},s.prototype.hasMarks=function(){return this._hasMarks},s.prototype.serialize=function(){return{_parseClass:"AssessmentResult",identifier:this._identifier,score:this.score,text:this.text,marks:this.marks.map(function(a){return a.serialize()})}},s.parse=function(a){var e=new s({text:a.text,score:a.score,marks:a.marks.map(function(a){return o.default.parse(a)})});return e.setIdentifier(a.identifier),e},e.default=s},,function(a,e,t){"use strict";var i=t(921),n="object"==typeof self&&self&&self.Object===Object&&self,o=i.a||n||Function("return this")();e.a=o},function(a,e,t){function i(a){if(!o(a))return!1;var e=n(a);return e==s||e==d||e==r||e==c}var n=t(14),o=t(11),r="[object AsyncFunction]",s="[object Function]",d="[object GeneratorFunction]",c="[object Proxy]";a.exports=i},,function(a,e){function t(a,e){for(var t=-1,i=null==a?0:a.length,n=Array(i);++t<i;)n[t]=e(a[t],t,a);return n}a.exports=t},function(a,e,t){"use strict";function i(a){return a}e.a=i},function(a,e,t){"use strict";function i(a){return null!=a&&Object(o.a)(a.length)&&!Object(n.a)(a)}var n=t(89),o=t(233);e.a=i},function(a,e,t){"use strict";function i(a,e,t,r,s){var d=-1,c=a.length;for(t||(t=o.a),s||(s=[]);++d<c;){var l=a[d];e>0&&t(l)?e>1?i(l,e-1,t,r,s):Object(n.a)(s,l):r||(s[s.length]=l)}return s}var n=t(161),o=t(1258);e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)&&Object(n.a)(a)}var n=t(44),o=t(23);e.a=i},,function(a,e,t){function i(a,e){e=n(e,a);for(var t=0,i=e.length;null!=a&&t<i;)a=a[o(e[t++])];return t&&t==i?a:void 0}var n=t(33),o=t(26);a.exports=i},function(a,e,t){function i(a,e){if(n(a))return!1;var t=typeof a;return!("number"!=t&&"symbol"!=t&&"boolean"!=t&&null!=a&&!o(a))||(s.test(a)||!r.test(a)||null!=e&&a in Object(e))}var n=t(2),o=t(24),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;a.exports=i},function(a,e,t){function i(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}var n=t(115),o=t(131),r=t(133),s=t(134),d=t(135);i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=r,i.prototype.has=s,i.prototype.set=d,a.exports=i},function(a,e,t){var i=t(17),n=t(5),o=i(n,"Map");a.exports=o},function(a,e,t){"use strict";function i(a){return Object(r.a)(a)?Object(n.a)(a,!0):Object(o.a)(a)}var n=t(941),o=t(1238),r=t(44);e.a=i},,,,,,,,function(a,e){a.exports=function(a){return a.webpackPolyfill||(a.deprecate=function(){},a.paths=[],a.children||(a.children=[]),Object.defineProperty(a,"loaded",{enumerable:!0,get:function(){return a.l}}),Object.defineProperty(a,"id",{enumerable:!0,get:function(){return a.i}}),a.webpackPolyfill=1),a}},,function(a,e,t){"use strict";function i(a){return null==a?void 0===a?d:s:c&&c in Object(a)?Object(o.a)(a):Object(r.a)(a)}var n=t(157),o=t(1220),r=t(1221),s="[object Null]",d="[object Undefined]",c=n.a?n.a.toStringTag:void 0;e.a=i},function(a,e,t){"use strict";function i(a,e,t){if(!Object(s.a)(t))return!1;var i=typeof e;return!!("number"==i?Object(o.a)(t)&&Object(r.a)(e,t.length):"string"==i&&e in t)&&Object(n.a)(t[e],a)}var n=t(68),o=t(44),r=t(143),s=t(25);e.a=i},function(a,e,t){"use strict";function i(a){var e=null==a?0:a.length;return e?a[e-1]:void 0}e.a=i},function(a,e,t){var i=t(273),n=t(16),o=Object.prototype,r=o.hasOwnProperty,s=o.propertyIsEnumerable,d=i(function(){return arguments}())?i:function(a){return n(a)&&r.call(a,"callee")&&!s.call(a,"callee")};a.exports=d},function(a,e,t){(function(a){var i=t(5),n=t(274),o="object"==typeof e&&e&&!e.nodeType&&e,r=o&&"object"==typeof a&&a&&!a.nodeType&&a,s=r&&r.exports===o,d=s?i.Buffer:void 0,c=d?d.isBuffer:void 0,l=c||n;a.exports=l}).call(e,t(60)(a))},function(a,e,t){"use strict";function i(a){return"symbol"==typeof a||Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(62),o=t(23),r="[object Symbol]";e.a=i},function(a,e,t){"use strict";function i(a,e){return a===e||a!==a&&e!==e}e.a=i},,function(a,e){function t(a){return a}a.exports=t},,,,,function(a,e,t){(function(e){var t="object"==typeof e&&e&&e.Object===Object&&e;a.exports=t}).call(e,t(15))},function(a,e){function t(a){if(null!=a){try{return n.call(a)}catch(a){}try{return a+""}catch(a){}}return""}var i=Function.prototype,n=i.toString;a.exports=t},function(a,e){function t(a){var e=a&&a.constructor;return a===("function"==typeof e&&e.prototype||i)}var i=Object.prototype;a.exports=t},,function(a,e,t){"use strict";function i(a,e,t){switch(t.length){case 0:return a.call(e);case 1:return a.call(e,t[0]);case 2:return a.call(e,t[0],t[1]);case 3:return a.call(e,t[0],t[1],t[2])}return a.apply(e,t)}e.a=i},function(a,e,t){"use strict";function i(a,e){var t=-1,i=a.length;for(e||(e=Array(i));++t<i;)e[t]=a[t];return e}e.a=i},function(a,e,t){"use strict";function i(a){return function(e){return a(e)}}e.a=i},,,function(a,e,t){function i(a){return null==a?"":n(a)}var n=t(99);a.exports=i},function(a,e){function t(a,e){return!!(e=null==e?i:e)&&("number"==typeof a||n.test(a))&&a>-1&&a%1==0&&a<e}var i=9007199254740991,n=/^(?:0|[1-9]\d*)$/;a.exports=t},function(a,e,t){var i=t(275),n=t(203),o=t(250),r=o&&o.isTypedArray,s=r?n(r):i;a.exports=s},function(a,e){function t(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=i}var i=9007199254740991;a.exports=t},function(a,e,t){function i(a){var e=this.__data__=new n(a);this.size=e.size}var n=t(34),o=t(288),r=t(289),s=t(290),d=t(291),c=t(292);i.prototype.clear=o,i.prototype.delete=r,i.prototype.get=s,i.prototype.has=d,i.prototype.set=c,a.exports=i},function(a,e,t){"use strict";function i(a){if(!Object(o.a)(a))return!1;var e=Object(n.a)(a);return e==s||e==d||e==r||e==c}var n=t(62),o=t(25),r="[object AsyncFunction]",s="[object Function]",d="[object GeneratorFunction]",c="[object Proxy]";e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=-1,n=a.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var o=Array(n);++i<n;)o[i]=a[i+e];return o}e.a=i},function(a,e,t){"use strict";function i(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),o=function(){function a(){i(this,a)}return n(a,[{key:"getResult",value:function(a,e,t){throw"The method getResult is not implemented"}},{key:"isApplicable",value:function(a){return!0}}]),a}();e.default=o},,,,,,,,function(a,e,t){function i(a){if("string"==typeof a)return a;if(r(a))return o(a,i)+"";if(s(a))return l?l.call(a):"";var e=a+"";return"0"==e&&1/a==-d?"-0":e}var n=t(19),o=t(42),r=t(2),s=t(24),d=1/0,c=n?n.prototype:void 0,l=c?c.toString:void 0;a.exports=i},function(a,e,t){"use strict";function i(a){if("string"==typeof a)return a;if(Object(r.a)(a))return Object(o.a)(a,i)+"";if(Object(s.a)(a))return l?l.call(a):"";var e=a+"";return"0"==e&&1/a==-d?"-0":e}var n=t(157),o=t(27),r=t(7),s=t(67),d=1/0,c=n.a?n.a.prototype:void 0,l=c?c.toString:void 0;e.a=i},function(a,e,t){"use strict";function i(a){if("number"==typeof a)return a;if(Object(o.a)(a))return r;if(Object(n.a)(a)){var e="function"==typeof a.valueOf?a.valueOf():a;a=Object(n.a)(e)?e+"":e}if("string"!=typeof a)return 0===a?a:+a;a=a.replace(s,"");var t=c.test(a);return t||l.test(a)?u(a.slice(2),t?2:8):d.test(a)?r:+a}var n=t(25),o=t(67),r=NaN,s=/^\s+|\s+$/g,d=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){var r=!t;t||(t={});for(var s=-1,d=e.length;++s<d;){var c=e[s],l=i?i(t[c],a[c],c,t,a):void 0;void 0===l&&(l=a[c]),r?Object(o.a)(t,c,l):Object(n.a)(t,c,l)}return t}var n=t(318),o=t(144);e.a=i},function(a,e,t){"use strict";function i(a){if("string"==typeof a||Object(n.a)(a))return a;var e=a+"";return"0"==e&&1/a==-o?"-0":e}var n=t(67),o=1/0;e.a=i},function(a,e,t){"use strict";function i(a){return"function"==typeof a?a:n.a}var n=t(43);e.a=i},function(a,e,t){(function(a,i){function n(a,t){var i={seen:[],stylize:r};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),g(t)?i.showHidden=t:t&&e._extend(i,t),v(i.showHidden)&&(i.showHidden=!1),v(i.depth)&&(i.depth=2),v(i.colors)&&(i.colors=!1),v(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=o),d(i,a,i.depth)}function o(a,e){var t=n.styles[e];return t?"["+n.colors[t][0]+"m"+a+"["+n.colors[t][1]+"m":a}function r(a,e){return a}function s(a){var e={};return a.forEach(function(a,t){e[a]=!0}),e}function d(a,t,i){if(a.customInspect&&t&&O(t.inspect)&&t.inspect!==e.inspect&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(i,a);return b(n)||(n=d(a,n,i)),n}var o=c(a,t);if(o)return o;var r=Object.keys(t),g=s(r);if(a.showHidden&&(r=Object.getOwnPropertyNames(t)),x(t)&&(r.indexOf("message")>=0||r.indexOf("description")>=0))return l(t);if(0===r.length){if(O(t)){var w=t.name?": "+t.name:"";return a.stylize("[Function"+w+"]","special")}if(k(t))return a.stylize(RegExp.prototype.toString.call(t),"regexp");if(_(t))return a.stylize(Date.prototype.toString.call(t),"date");if(x(t))return l(t)}var y="",f=!1,h=["{","}"];if(m(t)&&(f=!0,h=["[","]"]),O(t)){y=" [Function"+(t.name?": "+t.name:"")+"]"}if(k(t)&&(y=" "+RegExp.prototype.toString.call(t)),_(t)&&(y=" "+Date.prototype.toUTCString.call(t)),x(t)&&(y=" "+l(t)),0===r.length&&(!f||0==t.length))return h[0]+y+h[1];if(i<0)return k(t)?a.stylize(RegExp.prototype.toString.call(t),"regexp"):a.stylize("[Object]","special");a.seen.push(t);var v;return v=f?u(a,t,i,g,r):r.map(function(e){return p(a,t,i,g,e,f)}),a.seen.pop(),z(v,y,h)}function c(a,e){if(v(e))return a.stylize("undefined","undefined");if(b(e)){var t="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return a.stylize(t,"string")}return f(e)?a.stylize(""+e,"number"):g(e)?a.stylize(""+e,"boolean"):w(e)?a.stylize("null","null"):void 0}function l(a){return"["+Error.prototype.toString.call(a)+"]"}function u(a,e,t,i,n){for(var o=[],r=0,s=e.length;r<s;++r)M(e,String(r))?o.push(p(a,e,t,i,String(r),!0)):o.push("");return n.forEach(function(n){n.match(/^\d+$/)||o.push(p(a,e,t,i,n,!0))}),o}function p(a,e,t,i,n,o){var r,s,c;if(c=Object.getOwnPropertyDescriptor(e,n)||{value:e[n]},c.get?s=c.set?a.stylize("[Getter/Setter]","special"):a.stylize("[Getter]","special"):c.set&&(s=a.stylize("[Setter]","special")),M(i,n)||(r="["+n+"]"),s||(a.seen.indexOf(c.value)<0?(s=w(t)?d(a,c.value,null):d(a,c.value,t-1),s.indexOf("\n")>-1&&(s=o?s.split("\n").map(function(a){return" "+a}).join("\n").substr(2):"\n"+s.split("\n").map(function(a){return" "+a}).join("\n"))):s=a.stylize("[Circular]","special")),v(r)){if(o&&n.match(/^\d+$/))return s;r=JSON.stringify(""+n),r.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(r=r.substr(1,r.length-2),r=a.stylize(r,"name")):(r=r.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),r=a.stylize(r,"string"))}return r+": "+s}function z(a,e,t){var i=0;return a.reduce(function(a,e){return i++,e.indexOf("\n")>=0&&i++,a+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?t[0]+(""===e?"":e+"\n ")+" "+a.join(",\n ")+" "+t[1]:t[0]+e+" "+a.join(", ")+" "+t[1]}function m(a){return Array.isArray(a)}function g(a){return"boolean"==typeof a}function w(a){return null===a}function y(a){return null==a}function f(a){return"number"==typeof a}function b(a){return"string"==typeof a}function h(a){return"symbol"==typeof a}function v(a){return void 0===a}function k(a){return j(a)&&"[object RegExp]"===E(a)}function j(a){return"object"==typeof a&&null!==a}function _(a){return j(a)&&"[object Date]"===E(a)}function x(a){return j(a)&&("[object Error]"===E(a)||a instanceof Error)}function O(a){return"function"==typeof a}function q(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||void 0===a}function E(a){return Object.prototype.toString.call(a)}function A(a){return a<10?"0"+a.toString(10):a.toString(10)}function S(){var a=new Date,e=[A(a.getHours()),A(a.getMinutes()),A(a.getSeconds())].join(":");return[a.getDate(),R[a.getMonth()],e].join(" ")}function M(a,e){return Object.prototype.hasOwnProperty.call(a,e)}var T=/%[sdj%]/g;e.format=function(a){if(!b(a)){for(var e=[],t=0;t<arguments.length;t++)e.push(n(arguments[t]));return e.join(" ")}for(var t=1,i=arguments,o=i.length,r=String(a).replace(T,function(a){if("%%"===a)return"%";if(t>=o)return a;switch(a){case"%s":return String(i[t++]);case"%d":return Number(i[t++]);case"%j":try{return JSON.stringify(i[t++])}catch(a){return"[Circular]"}default:return a}}),s=i[t];t<o;s=i[++t])w(s)||!j(s)?r+=" "+s:r+=" "+n(s);return r},e.deprecate=function(t,n){function o(){if(!r){if(i.throwDeprecation)throw new Error(n);i.traceDeprecation?console.trace(n):console.error(n),r=!0}return t.apply(this,arguments)}if(v(a.process))return function(){return e.deprecate(t,n).apply(this,arguments)};if(!0===i.noDeprecation)return t;var r=!1;return o};var P,C={};e.debuglog=function(a){if(v(P)&&(P=Object({NODE_ENV:"production"}).NODE_DEBUG||""),a=a.toUpperCase(),!C[a])if(new RegExp("\\b"+a+"\\b","i").test(P)){var t=i.pid;C[a]=function(){var i=e.format.apply(e,arguments);console.error("%s %d: %s",a,t,i)}}else C[a]=function(){};return C[a]},e.inspect=n,n.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=m,e.isBoolean=g,e.isNull=w,e.isNullOrUndefined=y,e.isNumber=f,e.isString=b,e.isSymbol=h,e.isUndefined=v,e.isRegExp=k,e.isObject=j,e.isDate=_,e.isError=x,e.isFunction=O,e.isPrimitive=q,e.isBuffer=t(1645);var R=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.log=function(){console.log("%s - %s",S(),e.format.apply(e,arguments))},e.inherits=t(168),e._extend=function(a,e){if(!e||!j(e))return a;for(var t=Object.keys(e),i=t.length;i--;)a[t[i]]=e[t[i]];return a}}).call(e,t(15),t(444))},function(a,e,t){function i(a,e){if("function"!=typeof a||null!=e&&"function"!=typeof e)throw new TypeError(o);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],o=t.cache;if(o.has(n))return o.get(n);var r=a.apply(this,i);return t.cache=o.set(n,r)||o,r};return t.cache=new(i.Cache||n),t}var n=t(50),o="Expected a function";i.Cache=n,a.exports=i},,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a=a.replace(/\s{2,}/g," "),a=a.replace(/\s\./g,"."),a=a.replace(/^\s+|\s+$/g,"")}},,,function(a,e,t){function i(a){var e=r.call(a,d),t=a[d];try{a[d]=void 0;var i=!0}catch(a){}var n=s.call(a);return i&&(e?a[d]=t:delete a[d]),n}var n=t(19),o=Object.prototype,r=o.hasOwnProperty,s=o.toString,d=n?n.toStringTag:void 0;a.exports=i},function(a,e){function t(a){return n.call(a)}var i=Object.prototype,n=i.toString;a.exports=t},function(a,e,t){var i=t(114),n=/^\./,o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,s=i(function(a){var e=[];return n.test(a)&&e.push(""),a.replace(o,function(a,t,i,n){e.push(i?n.replace(r,"$1"):t||a)}),e});a.exports=s},function(a,e,t){function i(a){var e=n(a,function(a){return t.size===o&&t.clear(),a}),t=e.cache;return e}var n=t(106),o=500;a.exports=i},function(a,e,t){function i(){this.size=0,this.__data__={hash:new n,map:new(r||o),string:new n}}var n=t(116),o=t(34),r=t(51);a.exports=i},function(a,e,t){function i(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}var n=t(117),o=t(122),r=t(123),s=t(124),d=t(125);i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=r,i.prototype.has=s,i.prototype.set=d,a.exports=i},function(a,e,t){function i(){this.__data__=n?n(null):{},this.size=0}var n=t(20);a.exports=i},function(a,e,t){function i(a){return!(!r(a)||o(a))&&(n(a)?m:c).test(s(a))}var n=t(40),o=t(119),r=t(11),s=t(76),d=/[\\^$.*+?()[\]{}|]/g,c=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,p=l.toString,z=u.hasOwnProperty,m=RegExp("^"+p.call(z).replace(d,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");a.exports=i},function(a,e,t){function i(a){return!!o&&o in a}var n=t(120),o=function(){var a=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""}();a.exports=i},function(a,e,t){var i=t(5),n=i["__core-js_shared__"];a.exports=n},function(a,e){function t(a,e){return null==a?void 0:a[e]}a.exports=t},function(a,e){function t(a){var e=this.has(a)&&delete this.__data__[a];return this.size-=e?1:0,e}a.exports=t},function(a,e,t){function i(a){var e=this.__data__;if(n){var t=e[a];return t===o?void 0:t}return s.call(e,a)?e[a]:void 0}var n=t(20),o="__lodash_hash_undefined__",r=Object.prototype,s=r.hasOwnProperty;a.exports=i},function(a,e,t){function i(a){var e=this.__data__;return n?void 0!==e[a]:r.call(e,a)}var n=t(20),o=Object.prototype,r=o.hasOwnProperty;a.exports=i},function(a,e,t){function i(a,e){var t=this.__data__;return this.size+=this.has(a)?0:1,t[a]=n&&void 0===e?o:e,this}var n=t(20),o="__lodash_hash_undefined__";a.exports=i},function(a,e){function t(){this.__data__=[],this.size=0}a.exports=t},function(a,e,t){function i(a){var e=this.__data__,t=n(e,a);return!(t<0)&&(t==e.length-1?e.pop():r.call(e,t,1),--this.size,!0)}var n=t(21),o=Array.prototype,r=o.splice;a.exports=i},function(a,e,t){function i(a){var e=this.__data__,t=n(e,a);return t<0?void 0:e[t][1]}var n=t(21);a.exports=i},function(a,e,t){function i(a){return n(this.__data__,a)>-1}var n=t(21);a.exports=i},function(a,e,t){function i(a,e){var t=this.__data__,i=n(t,a);return i<0?(++this.size,t.push([a,e])):t[i][1]=e,this}var n=t(21);a.exports=i},function(a,e,t){function i(a){var e=n(this,a).delete(a);return this.size-=e?1:0,e}var n=t(22);a.exports=i},function(a,e){function t(a){var e=typeof a;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==a:null===a}a.exports=t},function(a,e,t){function i(a){return n(this,a).get(a)}var n=t(22);a.exports=i},function(a,e,t){function i(a){return n(this,a).has(a)}var n=t(22);a.exports=i},function(a,e,t){function i(a,e){var t=n(this,a),i=t.size;return t.set(a,e),this.size+=t.size==i?0:1,this}var n=t(22);a.exports=i},function(a,e,t){function i(a,e,t,r,s){return a===e||(null==a||null==e||!o(a)&&!o(e)?a!==a&&e!==e:n(a,e,t,r,i,s))}var n=t(293),o=t(16);a.exports=i},function(a,e){function t(a,e){for(var t=-1,i=e.length,n=a.length;++t<i;)a[n+t]=e[t];return a}a.exports=t},function(a,e,t){var i=t(206),n=t(184),o=Object.prototype,r=o.propertyIsEnumerable,s=Object.getOwnPropertySymbols,d=s?function(a){return null==a?[]:(a=Object(a),i(s(a),function(e){return r.call(a,e)}))}:n;a.exports=d},function(a,e,t){var i=t(299),n=t(51),o=t(300),r=t(301),s=t(219),d=t(14),c=t(76),l=c(i),u=c(n),p=c(o),z=c(r),m=c(s),g=d;(i&&"[object DataView]"!=g(new i(new ArrayBuffer(1)))||n&&"[object Map]"!=g(new n)||o&&"[object Promise]"!=g(o.resolve())||r&&"[object Set]"!=g(new r)||s&&"[object WeakMap]"!=g(new s))&&(g=function(a){var e=d(a),t="[object Object]"==e?a.constructor:void 0,i=t?c(t):"";if(i)switch(i){case l:return"[object DataView]";case u:return"[object Map]";case p:return"[object Promise]";case z:return"[object Set]";case m:return"[object WeakMap]"}return e}),a.exports=g},,function(a,e,t){"use strict";function i(a,e,t,i,k,j,_,x){var O=e&w;if(!O&&"function"!=typeof a)throw new TypeError(m);var q=i?i.length:0;if(q||(e&=~(b|h),i=k=void 0),_=void 0===_?_:v(Object(z.a)(_),0),x=void 0===x?x:Object(z.a)(x),q-=k?k.length:0,e&h){var E=i,A=k;i=k=void 0}var S=O?void 0:Object(c.a)(a),M=[a,e,t,i,k,E,A,j,_,x];if(S&&Object(l.a)(M,S),a=M[0],e=M[1],t=M[2],i=M[3],k=M[4],x=M[9]=void 0===M[9]?O?0:a.length:v(M[9]-q,0),!x&&e&(y|f)&&(e&=~(y|f)),e&&e!=g)T=e==y||e==f?Object(r.a)(a,e,x):e!=b&&e!=(g|b)||k.length?s.a.apply(void 0,M):Object(d.a)(a,e,t,i);else var T=Object(o.a)(a,e,t);var P=S?n.a:u.a;return Object(p.a)(P(T,M),a,e)}var n=t(922),o=t(1224),r=t(1225),s=t(531),d=t(1233),c=t(532),l=t(1234),u=t(935),p=t(937),z=t(10),m="Expected a function",g=1,w=2,y=8,f=16,b=32,h=64,v=Math.max;e.a=i},function(a,e,t){"use strict";function i(a){this.__wrapped__=a,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=r,this.__views__=[]}var n=t(229),o=t(383),r=4294967295;i.prototype=Object(n.a)(o.a.prototype),i.prototype.constructor=i,e.a=i},function(a,e,t){"use strict";function i(a,e){var t=typeof a;return!!(e=null==e?n:e)&&("number"==t||"symbol"!=t&&o.test(a))&&a>-1&&a%1==0&&a<e}var n=9007199254740991,o=/^(?:0|[1-9]\d*)$/;e.a=i},function(a,e,t){"use strict";function i(a,e,t){"__proto__"==e&&n.a?Object(n.a)(a,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):a[e]=t}var n=t(938);e.a=i},function(a,e,t){"use strict";(function(a){var i=t(39),n=t(320),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=o&&"object"==typeof a&&a&&!a.nodeType&&a,s=r&&r.exports===o,d=s?i.a.Buffer:void 0,c=d?d.isBuffer:void 0,l=c||n.a;e.a=l}).call(e,t(536)(a))},function(a,e,t){"use strict";function i(a){return Object(r.a)(Object(o.a)(a,void 0,n.a),a+"")}var n=t(392),o=t(940),r=t(533);e.a=i},function(a,e,t){"use strict";function i(a,e,t,P,C,R){var D,B=e&x,F=e&O,I=e&q;if(t&&(D=C?t(a,P,C,R):t(a)),void 0!==D)return D;if(!Object(k.a)(a))return a;var L=Object(b.a)(a);if(L){if(D=Object(w.a)(a),!B)return Object(l.a)(a,D)}else{var $=Object(g.a)(a),U=$==A||$==S;if(Object(h.a)(a))return Object(c.a)(a,B);if($==M||$==E||U&&!C){if(D=F||U?{}:Object(f.a)(a),!B)return F?Object(p.a)(a,Object(d.a)(D,a)):Object(u.a)(a,Object(s.a)(D,a))}else{if(!T[$])return C?a:{};D=Object(y.a)(a,$,B)}}R||(R=new n.a);var W=R.get(a);if(W)return W;if(R.set(a,D),Object(j.a)(a))return a.forEach(function(n){D.add(i(n,e,t,n,a,R))}),D;if(Object(v.a)(a))return a.forEach(function(n,o){D.set(o,i(n,e,t,o,a,R))}),D;var N=I?F?m.a:z.a:F?keysIn:_.a,K=L?void 0:N(a);return Object(o.a)(K||a,function(n,o){K&&(o=n,n=a[o]),Object(r.a)(D,o,i(n,e,t,o,a,R))}),D}var n=t(401),o=t(194),r=t(318),s=t(945),d=t(1270),c=t(946),l=t(80),u=t(1271),p=t(1272),z=t(948),m=t(556),g=t(148),w=t(1275),y=t(1276),f=t(953),b=t(7),h=t(145),v=t(402),k=t(25),j=t(403),_=t(28),x=1,O=2,q=4,E="[object Arguments]",A="[object Function]",S="[object GeneratorFunction]",M="[object Object]",T={};T[E]=T["[object Array]"]=T["[object ArrayBuffer]"]=T["[object DataView]"]=T["[object Boolean]"]=T["[object Date]"]=T["[object Float32Array]"]=T["[object Float64Array]"]=T["[object Int8Array]"]=T["[object Int16Array]"]=T["[object Int32Array]"]=T["[object Map]"]=T["[object Number]"]=T[M]=T["[object RegExp]"]=T["[object Set]"]=T["[object String]"]=T["[object Symbol]"]=T["[object Uint8Array]"]=T["[object Uint8ClampedArray]"]=T["[object Uint16Array]"]=T["[object Uint32Array]"]=!0,T["[object Error]"]=T[A]=T["[object WeakMap]"]=!1,e.a=i},function(a,e,t){"use strict";var i=t(1273),n=t(543),o=t(1274),r=t(950),s=t(924),d=t(62),c=t(927),l=Object(c.a)(i.a),u=Object(c.a)(n.a),p=Object(c.a)(o.a),z=Object(c.a)(r.a),m=Object(c.a)(s.a),g=d.a;(i.a&&"[object DataView]"!=g(new i.a(new ArrayBuffer(1)))||n.a&&"[object Map]"!=g(new n.a)||o.a&&"[object Promise]"!=g(o.a.resolve())||r.a&&"[object Set]"!=g(new r.a)||s.a&&"[object WeakMap]"!=g(new s.a))&&(g=function(a){var e=Object(d.a)(a),t="[object Object]"==e?a.constructor:void 0,i=t?Object(c.a)(t):"";if(i)switch(i){case l:return"[object DataView]";case u:return"[object Map]";case p:return"[object Promise]";case z:return"[object Set]";case m:return"[object WeakMap]"}return e}),e.a=g},,,,function(a,e,t){function i(a,e,t,i,c,l){var u=t&s,p=a.length,z=e.length;if(p!=z&&!(u&&z>p))return!1;var m=l.get(a);if(m&&l.get(e))return m==e;var g=-1,w=!0,y=t&d?new n:void 0;for(l.set(a,e),l.set(e,a);++g<p;){var f=a[g],b=e[g];if(i)var h=u?i(b,f,g,e,a,l):i(f,b,g,a,e,l);if(void 0!==h){if(h)continue;w=!1;break}if(y){if(!o(e,function(a,e){if(!r(y,e)&&(f===a||c(f,a,t,i,l)))return y.push(e)})){w=!1;break}}else if(f!==b&&!c(f,b,t,i,l)){w=!1;break}}return l.delete(a),l.delete(e),w}var n=t(217),o=t(296),r=t(218),s=1,d=2;a.exports=i},function(a,e,t){function i(a){return a===a&&!n(a)}var n=t(11);a.exports=i},function(a,e){function t(a,e){return function(t){return null!=t&&(t[a]===e&&(void 0!==e||a in Object(t)))}}a.exports=t},,,function(a,e,t){"use strict";var i=t(39),n=i.a.Symbol;e.a=n},function(a,e,t){"use strict";var i=t(1235),n=t(23),o=Object.prototype,r=o.hasOwnProperty,s=o.propertyIsEnumerable,d=Object(i.a)(function(){return arguments}())?i.a:function(a){return Object(n.a)(a)&&r.call(a,"callee")&&!s.call(a,"callee")};e.a=d},function(a,e,t){"use strict";var i=t(1236),n=t(81),o=t(234),r=o.a&&o.a.isTypedArray,s=r?Object(n.a)(r):i.a;e.a=s},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(a)?a:Object(o.a)(a,e)?[a]:Object(r.a)(Object(s.a)(a))}var n=t(7),o=t(541),r=t(943),s=t(13);e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=e.length,n=a.length;++t<i;)a[n+t]=e[t];return a}e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=a.length;return t=void 0===t?i:t,!e&&t>=i?a:Object(n.a)(a,e,t)}var n=t(90);e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)?Object(r.a)(a):Object(n.a)(a)}var n=t(1259),o=t(236),r=t(1260);e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=null==a?0:a.length,n=0,o=[];++t<i;){var r=a[t];e(r,t,a)&&(o[n++]=r)}return o}e.a=i},function(a,e,t){"use strict";var i=t(166),n=t(962),o=Object(n.a)(i.a);e.a=o},function(a,e,t){"use strict";function i(a,e){return a&&Object(n.a)(a,e,o.a)}var n=t(572),o=t(28);e.a=i},function(a,e,t){"use strict";function i(a){return null==a?[]:Object(n.a)(a,Object(o.a)(a))}var n=t(631),o=t(28);e.a=i},function(a,e){"function"==typeof Object.create?a.exports=function(a,e){a.super_=e,a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:a.exports=function(a,e){a.super_=e;var t=function(){};t.prototype=e.prototype,a.prototype=new t,a.prototype.constructor=a}},function(a,e,t){function i(a,e){var t=r(a),i=!t&&o(a),l=!t&&!i&&s(a),p=!t&&!i&&!l&&c(a),z=t||i||l||p,m=z?n(a.length,String):[],g=m.length;for(var w in a)!e&&!u.call(a,w)||z&&("length"==w||l&&("offset"==w||"parent"==w)||p&&("buffer"==w||"byteLength"==w||"byteOffset"==w)||d(w,g))||m.push(w);return m}var n=t(272),o=t(65),r=t(2),s=t(66),d=t(85),c=t(86),l=Object.prototype,u=l.hasOwnProperty;a.exports=i},,,,,,,function(a,e,t){var i=t(270),n=t(277),o=n(i);a.exports=o},function(a,e,t){function i(a){if(!n(a))return o(a);var e=[];for(var t in Object(a))s.call(a,t)&&"constructor"!=t&&e.push(t);return e}var n=t(77),o=t(276),r=Object.prototype,s=r.hasOwnProperty;a.exports=i},function(a,e){function t(a,e){return function(t){return a(e(t))}}a.exports=t},function(a,e,t){var i=t(5),n=i.Uint8Array;a.exports=n},function(a,e){function t(a){var e=-1,t=Array(a.size);return a.forEach(function(a,i){t[++e]=[i,a]}),t}a.exports=t},function(a,e){function t(a){var e=-1,t=Array(a.size);return a.forEach(function(a){t[++e]=a}),t}a.exports=t},function(a,e,t){function i(a){return n(a,r,o)}var n=t(183),o=t(138),r=t(35);a.exports=i},function(a,e,t){function i(a,e,t){var i=e(a);return o(a)?i:n(i,t(a))}var n=t(137),o=t(2);a.exports=i},function(a,e){function t(){return[]}a.exports=t},,,,,,function(a,e,t){"use strict";function i(a){if(!a)return 0===a?a:0;if((a=Object(n.a)(a))===o||a===-o){return(a<0?-1:1)*r}return a===a?a:0}var n=t(101),o=1/0,r=1.7976931348623157e308;e.a=i},function(a,e,t){"use strict";function i(a,e){var t=Object(o.a)(a,e);return Object(n.a)(t)?t:void 0}var n=t(925),o=t(1223);e.a=i},function(a,e,t){"use strict";function i(a){if(Object(d.a)(a)&&!Object(s.a)(a)&&!(a instanceof n.a)){if(a instanceof o.a)return a;if(u.call(a,"__wrapped__"))return Object(c.a)(a)}return new o.a(a)}var n=t(142),o=t(193),r=t(383),s=t(7),d=t(23),c=t(934),l=Object.prototype,u=l.hasOwnProperty;i.prototype=r.a.prototype,i.prototype.constructor=i,e.a=i},function(a,e,t){"use strict";function i(a,e){this.__wrapped__=a,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=void 0}var n=t(229),o=t(383);i.prototype=Object(n.a)(o.a.prototype),i.prototype.constructor=i,e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=null==a?0:a.length;++t<i&&!1!==e(a[t],t,a););return a}e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=a.length,o=0,r=[];++t<i;){var s=a[t];s!==e&&s!==n||(a[t]=n,r[o++]=t)}return r}var n="__lodash_placeholder__";e.a=i},function(a,e,t){"use strict";function i(a){if(!Object(r.a)(a)||Object(n.a)(a)!=s)return!1;var e=Object(o.a)(a);if(null===e)return!0;var t=u.call(e,"constructor")&&e.constructor;return"function"==typeof t&&t instanceof t&&l.call(t)==p}var n=t(62),o=t(394),r=t(23),s="[object Object]",d=Function.prototype,c=Object.prototype,l=d.toString,u=c.hasOwnProperty,p=l.call(Object);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return a===a&&(void 0!==t&&(a=a<=t?a:t),void 0!==e&&(a=a>=e?a:e)),a}e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=-1,u=o.a,p=a.length,z=!0,m=[],g=m;if(t)z=!1,u=r.a;else if(p>=l){var w=e?null:Object(d.a)(a);if(w)return Object(c.a)(w);z=!1,u=s.a,g=new n.a}else g=e?[]:m;a:for(;++i<p;){var y=a[i],f=e?e(y):y;if(y=t||0!==y?y:0,z&&f===f){for(var b=g.length;b--;)if(g[b]===f)continue a;e&&g.push(f),m.push(y)}else u(g,f,t)||(g!==m&&g.push(f),m.push(y))}return m}var n=t(406),o=t(384),r=t(583),s=t(407),d=t(1330),c=t(408),l=200;e.a=i},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.stripBlockTagsAtStartEnd=e.stripIncompleteTags=e.stripFullTags=void 0;var i=t(108),n=function(a){return a&&a.__esModule?a:{default:a}}(i),o=t(994),r=new RegExp("^<("+o.blockElements.join("|")+")[^>]*?>","i"),s=new RegExp("</("+o.blockElements.join("|")+")[^>]*?>$","i"),d=function(a){return a=a.replace(/^(<\/([^>]+)>)+/i,""),a=a.replace(/(<([^\/>]+)>)+$/i,"")},c=function(a){return a=a.replace(r,""),a=a.replace(s,"")},l=function(a){return a=a.replace(/(<([^>]+)>)/gi," "),a=(0,n.default)(a)};e.stripFullTags=l,e.stripIncompleteTags=d,e.stripBlockTagsAtStartEnd=c,e.default={stripFullTags:l,stripIncompleteTags:d,stripBlockTagsAtStartEnd:c}},,,,function(a,e){function t(a){return function(e){return a(e)}}a.exports=t},,function(a,e,t){function i(a){return"function"==typeof a?a:null==a?r:"object"==typeof a?s(a)?o(a[0],a[1]):n(a):d(a)}var n=t(286),o=t(303),r=t(70),s=t(2),d=t(306);a.exports=i},function(a,e){function t(a,e){for(var t=-1,i=null==a?0:a.length,n=0,o=[];++t<i;){var r=a[t];e(r,t,a)&&(o[n++]=r)}return o}a.exports=t},,,,,,,,,function(a,e,t){var i=t(271),n=i();a.exports=n},function(a,e,t){function i(a,e,t){return e===e?r(a,e,t):n(a,o,t)}var n=t(251),o=t(284),r=t(285);a.exports=i},function(a,e,t){function i(a){var e=-1,t=null==a?0:a.length;for(this.__data__=new n;++e<t;)this.add(a[e])}var n=t(50),o=t(294),r=t(295);i.prototype.add=i.prototype.push=o,i.prototype.has=r,a.exports=i},function(a,e){function t(a,e){return a.has(e)}a.exports=t},function(a,e,t){var i=t(17),n=t(5),o=i(n,"WeakMap");a.exports=o},function(a,e,t){function i(a,e,t){e=n(e,a);for(var i=-1,l=e.length,u=!1;++i<l;){var p=c(e[i]);if(!(u=null!=a&&t(a,p)))break;a=a[p]}return u||++i!=l?u:!!(l=null==a?0:a.length)&&d(l)&&s(p,l)&&(r(a)||o(a))}var n=t(33),o=t(65),r=t(2),s=t(85),d=t(87),c=t(26);a.exports=i},,,,,,,,,function(a,e,t){"use strict";var i=t(25),n=Object.create,o=function(){function a(){}return function(e){if(!Object(i.a)(e))return{};if(n)return n(e);a.prototype=e;var t=new a;return a.prototype=void 0,t}}();e.a=o},function(a,e,t){"use strict";function i(a,e,t){return e===e?Object(r.a)(a,e,t):Object(n.a)(a,o.a,t)}var n=t(385),o=t(939),r=t(1231);e.a=i},function(a,e,t){"use strict";function i(a){return a.placeholder}e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(function(e,t){var i=-1,n=t.length,r=n>1?t[n-1]:void 0,s=n>2?t[2]:void 0;for(r=a.length>3&&"function"==typeof r?(n--,r):void 0,s&&Object(o.a)(t[0],t[1],s)&&(r=n<3?void 0:r,n=1),e=Object(e);++i<n;){var d=t[i];d&&a(e,d,i,r)}return e})}var n=t(8),o=t(63);e.a=i},function(a,e,t){"use strict";function i(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=n}var n=9007199254740991;e.a=i},function(a,e,t){"use strict";(function(a){var i=t(921),n="object"==typeof exports&&exports&&!exports.nodeType&&exports,o=n&&"object"==typeof a&&a&&!a.nodeType&&a,r=o&&o.exports===n,s=r&&i.a.process,d=function(){try{var a=o&&o.require&&o.require("util").types;return a||s&&s.binding&&s.binding("util")}catch(a){}}();e.a=d}).call(e,t(536)(a))},function(a,e,t){"use strict";function i(a,e){e=Object(n.a)(e,a);for(var t=0,i=e.length;null!=a&&t<i;)a=a[Object(o.a)(e[t++])];return t&&t==i?a:void 0}var n=t(160),o=t(103);e.a=i},function(a,e,t){"use strict";function i(a){return n.test(a)}var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.a=i},function(a,e,t){"use strict";function i(a){return function(e){return Object(n.a)(Object(r.a)(Object(o.a)(e).replace(s,"")),a,"")}}var n=t(547),o=t(398),r=t(399),s=RegExp("['’]","g");e.a=i},function(a,e,t){"use strict";function i(a,e){return(Object(s.a)(a)?n.a:r.a)(a,Object(o.a)(e,3))}var n=t(27),o=t(4),r=t(973),s=t(7);e.a=i},function(a,e,t){"use strict";function i(a){return"string"==typeof a||!Object(o.a)(a)&&Object(r.a)(a)&&Object(n.a)(a)==s}var n=t(62),o=t(7),r=t(23),s="[object String]";e.a=i},function(a,e,t){"use strict";function i(a){if("function"!=typeof a)throw new TypeError(n);return function(){var e=arguments;switch(e.length){case 0:return!a.call(this);case 1:return!a.call(this,e[0]);case 2:return!a.call(this,e[0],e[1]);case 3:return!a.call(this,e[0],e[1],e[2])}return!a.apply(this,e)}}var n="Expected a function";e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)?Object(r.a)(a):Object(n.a)(a)}var n=t(1313),o=t(236),r=t(1314);e.a=i},function(a,e,t){"use strict";function i(a,e){return e(a)}e.a=i},function(a,e,t){"use strict";function i(){return Object(n.a)(this.__wrapped__,this.__actions__)}var n=t(989);e.a=i},function(a,e,t){"use strict";function i(a){(0,o.defaults)(a,{original:"",marked:""}),this._properties=a}Object.defineProperty(e,"__esModule",{value:!0});var n=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(a[i]=t[i])}return a},o=t(1);i.prototype.getOriginal=function(){return this._properties.original},i.prototype.getMarked=function(){return this._properties.marked},i.prototype.applyWithReplace=function(a){return a.split(this._properties.original).join(this._properties.marked)},i.prototype.serialize=function(){return n({_parseClass:"Mark"},this._properties)},i.parse=function(a){return new i(a)},e.default=i},,,,,,function(a,e,t){(function(a){var i=t(75),n="object"==typeof e&&e&&!e.nodeType&&e,o=n&&"object"==typeof a&&a&&!a.nodeType&&a,r=o&&o.exports===n,s=r&&i.process,d=function(){try{return s&&s.binding&&s.binding("util")}catch(a){}}();a.exports=d}).call(e,t(60)(a))},function(a,e){function t(a,e,t,i){for(var n=a.length,o=t+(i?1:-1);i?o--:++o<n;)if(e(a[o],o,a))return o;return-1}a.exports=t},function(a,e,t){function i(a){if("number"==typeof a)return a;if(o(a))return r;if(n(a)){var e="function"==typeof a.valueOf?a.valueOf():a;a=n(e)?e+"":e}if("string"!=typeof a)return 0===a?a:+a;a=a.replace(s,"");var t=c.test(a);return t||l.test(a)?u(a.slice(2),t?2:8):d.test(a)?r:+a}var n=t(11),o=t(24),r=NaN,s=/^\s+|\s+$/g,d=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;a.exports=i},function(a,e){function t(a){return function(e){return null==e?void 0:e[a]}}a.exports=t},,,,,,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a.split("_")[0]}},function(a,e,t){"use strict";function i(a,e,t){return a>e&&a<=t}function n(a,e,t){return a>=e&&a<t}function o(a,e,t){return a>=e&&a<=t}Object.defineProperty(e,"__esModule",{value:!0}),e.inRange=i,e.inRangeStartInclusive=n,e.inRangeEndInclusive=i,e.inRangeStartEndInclusive=o,e.default={inRange:i,inRangeStartInclusive:n,inRangeEndInclusive:i,inRangeStartEndInclusive:o}},,,,,,,,,,function(a,e,t){function i(a,e){return a&&n(a,e,o)}var n=t(215),o=t(35);a.exports=i},function(a,e){function t(a){return function(e,t,i){for(var n=-1,o=Object(e),r=i(e),s=r.length;s--;){var d=r[a?s:++n];if(!1===t(o[d],d,o))break}return e}}a.exports=t},function(a,e){function t(a,e){for(var t=-1,i=Array(a);++t<a;)i[t]=e(t);return i}a.exports=t},function(a,e,t){function i(a){return o(a)&&n(a)==r}var n=t(14),o=t(16),r="[object Arguments]";a.exports=i},function(a,e){function t(){return!1}a.exports=t},function(a,e,t){function i(a){return r(a)&&o(a.length)&&!!s[n(a)]}var n=t(14),o=t(87),r=t(16),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,a.exports=i},function(a,e,t){var i=t(178),n=i(Object.keys,Object);a.exports=n},function(a,e,t){function i(a,e){return function(t,i){if(null==t)return t;if(!n(t))return a(t,i);for(var o=t.length,r=e?o:-1,s=Object(t);(e?r--:++r<o)&&!1!==i(s[r],r,s););return t}}var n=t(36);a.exports=i},,,,,,,function(a,e){function t(a){return a!==a}a.exports=t},function(a,e){function t(a,e,t){for(var i=t-1,n=a.length;++i<n;)if(a[i]===e)return i;return-1}a.exports=t},function(a,e,t){function i(a){var e=o(a);return 1==e.length&&e[0][2]?r(e[0][0],e[0][1]):function(t){return t===a||n(t,a,e)}}var n=t(287),o=t(302),r=t(154);a.exports=i},function(a,e,t){function i(a,e,t,i){var d=t.length,c=d,l=!i;if(null==a)return!c;for(a=Object(a);d--;){var u=t[d];if(l&&u[2]?u[1]!==a[u[0]]:!(u[0]in a))return!1}for(;++d<c;){u=t[d];var p=u[0],z=a[p],m=u[1];if(l&&u[2]){if(void 0===z&&!(p in a))return!1}else{var g=new n;if(i)var w=i(z,m,p,a,e,g);if(!(void 0===w?o(m,z,r|s,i,g):w))return!1}}return!0}var n=t(88),o=t(136),r=1,s=2;a.exports=i},function(a,e,t){function i(){this.__data__=new n,this.size=0}var n=t(34);a.exports=i},function(a,e){function t(a){var e=this.__data__,t=e.delete(a);return this.size=e.size,t}a.exports=t},function(a,e){function t(a){return this.__data__.get(a)}a.exports=t},function(a,e){function t(a){return this.__data__.has(a)}a.exports=t},function(a,e,t){function i(a,e){var t=this.__data__;if(t instanceof n){var i=t.__data__;if(!o||i.length<s-1)return i.push([a,e]),this.size=++t.size,this;t=this.__data__=new r(i)}return t.set(a,e),this.size=t.size,this}var n=t(34),o=t(51),r=t(50),s=200;a.exports=i},function(a,e,t){function i(a,e,t,i,w,f){var b=c(a),h=c(e),v=b?m:d(a),k=h?m:d(e);v=v==z?g:v,k=k==z?g:k;var j=v==g,_=k==g,x=v==k;if(x&&l(a)){if(!l(e))return!1;b=!0,j=!1}if(x&&!j)return f||(f=new n),b||u(a)?o(a,e,t,i,w,f):r(a,e,v,t,i,w,f);if(!(t&p)){var O=j&&y.call(a,"__wrapped__"),q=_&&y.call(e,"__wrapped__");if(O||q){var E=O?a.value():a,A=q?e.value():e;return f||(f=new n),w(E,A,t,i,f)}}return!!x&&(f||(f=new n),s(a,e,t,i,w,f))}var n=t(88),o=t(152),r=t(297),s=t(298),d=t(139),c=t(2),l=t(66),u=t(86),p=1,z="[object Arguments]",m="[object Array]",g="[object Object]",w=Object.prototype,y=w.hasOwnProperty;a.exports=i},function(a,e){function t(a){return this.__data__.set(a,i),this}var i="__lodash_hash_undefined__";a.exports=t},function(a,e){function t(a){return this.__data__.has(a)}a.exports=t},function(a,e){function t(a,e){for(var t=-1,i=null==a?0:a.length;++t<i;)if(e(a[t],t,a))return!0;return!1}a.exports=t},function(a,e,t){function i(a,e,t,i,n,j,x){switch(t){case k:if(a.byteLength!=e.byteLength||a.byteOffset!=e.byteOffset)return!1;a=a.buffer,e=e.buffer;case v:return!(a.byteLength!=e.byteLength||!j(new o(a),new o(e)));case p:case z:case w:return r(+a,+e);case m:return a.name==e.name&&a.message==e.message;case y:case b:return a==e+"";case g:var O=d;case f:var q=i&l;if(O||(O=c),a.size!=e.size&&!q)return!1;var E=x.get(a);if(E)return E==e;i|=u,x.set(a,e);var A=s(O(a),O(e),i,n,j,x);return x.delete(a),A;case h:if(_)return _.call(a)==_.call(e)}return!1}var n=t(19),o=t(179),r=t(31),s=t(152),d=t(180),c=t(181),l=1,u=2,p="[object Boolean]",z="[object Date]",m="[object Error]",g="[object Map]",w="[object Number]",y="[object RegExp]",f="[object Set]",b="[object String]",h="[object Symbol]",v="[object ArrayBuffer]",k="[object DataView]",j=n?n.prototype:void 0,_=j?j.valueOf:void 0;a.exports=i},function(a,e,t){function i(a,e,t,i,r,d){var c=t&o,l=n(a),u=l.length;if(u!=n(e).length&&!c)return!1;for(var p=u;p--;){var z=l[p];if(!(c?z in e:s.call(e,z)))return!1}var m=d.get(a);if(m&&d.get(e))return m==e;var g=!0;d.set(a,e),d.set(e,a);for(var w=c;++p<u;){z=l[p];var y=a[z],f=e[z];if(i)var b=c?i(f,y,z,e,a,d):i(y,f,z,a,e,d);if(!(void 0===b?y===f||r(y,f,t,i,d):b)){g=!1;break}w||(w="constructor"==z)}if(g&&!w){var h=a.constructor,v=e.constructor;h!=v&&"constructor"in a&&"constructor"in e&&!("function"==typeof h&&h instanceof h&&"function"==typeof v&&v instanceof v)&&(g=!1)}return d.delete(a),d.delete(e),g}var n=t(182),o=1,r=Object.prototype,s=r.hasOwnProperty;a.exports=i},function(a,e,t){var i=t(17),n=t(5),o=i(n,"DataView");a.exports=o},function(a,e,t){var i=t(17),n=t(5),o=i(n,"Promise");a.exports=o},function(a,e,t){var i=t(17),n=t(5),o=i(n,"Set");a.exports=o},function(a,e,t){function i(a){for(var e=o(a),t=e.length;t--;){var i=e[t],r=a[i];e[t]=[i,r,n(r)]}return e}var n=t(153),o=t(35);a.exports=i},function(a,e,t){function i(a,e){return s(a)&&d(e)?c(l(a),e):function(t){var i=o(t,a);return void 0===i&&i===e?r(t,a):n(e,i,u|p)}}var n=t(136),o=t(30),r=t(304),s=t(49),d=t(153),c=t(154),l=t(26),u=1,p=2;a.exports=i},function(a,e,t){function i(a,e){return null!=a&&o(a,e,n)}var n=t(305),o=t(220);a.exports=i},function(a,e){function t(a,e){return null!=a&&e in Object(a)}a.exports=t},function(a,e,t){function i(a){return r(a)?n(s(a)):o(a)}var n=t(253),o=t(307),r=t(49),s=t(26);a.exports=i},function(a,e,t){function i(a){return function(e){return n(e,a)}}var n=t(48);a.exports=i},,,,,,,,,function(a,e,t){"use strict";function i(){}e.a=i},function(a,e,t){"use strict";function i(a){return function(){return a}}e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=a[e];s.call(a,e)&&Object(o.a)(i,t)&&(void 0!==t||e in a)||Object(n.a)(a,e,t)}var n=t(144),o=t(68),r=Object.prototype,s=r.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a){var e=a&&a.constructor;return a===("function"==typeof e&&e.prototype||n)}var n=Object.prototype;e.a=i},function(a,e,t){"use strict";function i(){return!1}e.a=i},function(a,e,t){"use strict";var i=t(102),n=t(232),o=t(52),r=Object(n.a)(function(a,e,t,n){Object(i.a)(e,Object(o.a)(e),a,n)});e.a=r},function(a,e,t){"use strict";function i(a,e,t){var i=null==a?void 0:Object(n.a)(a,e);return void 0===i?t:i}var n=t(235);e.a=i},function(a,e,t){"use strict";function i(a){if(!Object(o.a)(a))return!1;var e=Object(n.a)(a);return e==d||e==s||"string"==typeof a.message&&"string"==typeof a.name&&!Object(r.a)(a)}var n=t(62),o=t(23),r=t(196),s="[object DOMException]",d="[object Error]";e.a=i},function(a,e,t){"use strict";var i=t(944),n=Object(i.a)("toUpperCase");e.a=n},function(a,e,t){"use strict";function i(){return[]}e.a=i},function(a,e,t){"use strict";function i(a,e){return null!=a&&Object(o.a)(a,e,n.a)}var n=t(1287),o=t(959);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){var u=-1,p=o.a,z=!0,m=a.length,g=[],w=e.length;if(!m)return g;t&&(e=Object(s.a)(e,Object(d.a)(t))),i?(p=r.a,z=!1):e.length>=l&&(p=c.a,z=!1,e=new n.a(e));a:for(;++u<m;){var y=a[u],f=null==t?y:t(y);if(y=i||0!==y?y:0,z&&f===f){for(var b=w;b--;)if(e[b]===f)continue a;g.push(y)}else p(e,f,i)||g.push(y)}return g}var n=t(406),o=t(384),r=t(583),s=t(27),d=t(81),c=t(407),l=200;e.a=i},function(a,e,t){"use strict";function i(a,e,t){e=Object(o.a)(e,a),a=Object(s.a)(a,e);var i=null==a?a:a[Object(d.a)(Object(r.a)(e))];return null==i?void 0:Object(n.a)(i,a,t)}var n=t(79),o=t(160),r=t(64),s=t(976),d=t(103);e.a=i},function(a,e,t){"use strict";var i=t(1306),n=t(81),o=t(234),r=o.a&&o.a.isRegExp,s=r?Object(n.a)(r):i.a;e.a=s},function(a,e,t){"use strict";function i(a,e,t,i){if(!Object(s.a)(a))return a;e=Object(o.a)(e,a);for(var c=-1,l=e.length,u=l-1,p=a;null!=p&&++c<l;){var z=Object(d.a)(e[c]),m=t;if(c!=u){var g=p[z];m=i?i(g,z,p):void 0,void 0===m&&(m=Object(s.a)(g)?g:Object(r.a)(e[c+1])?[]:{})}Object(n.a)(p,z,m),p=p[z]}return a}var n=t(318),o=t(160),r=t(143),s=t(25),d=t(103);e.a=i},function(a,e,t){"use strict";function i(a){if(!a||!a.length)return[];var e=0;return a=Object(n.a)(a,function(a){if(Object(d.a)(a))return e=c(a.length,e),!0}),Object(s.a)(e,function(e){return Object(o.a)(a,Object(r.a)(e))})}var n=t(164),o=t(27),r=t(568),s=t(535),d=t(46),c=Math.max;e.a=i},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){if(""===(a=(0,r.default)((0,n.stripFullTags)(a))))return[];var e=a.split(/\s/g);return e=(0,c.map)(e,function(a){return(0,d.default)(a)}),(0,c.filter)(e,function(a){return""!==a.trim()})};var n=t(199),o=t(108),r=i(o),s=t(1023),d=i(s),c=t(1)},,,,,,,,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,n.default)(a).length};var i=t(332),n=function(a){return a&&a.__esModule?a:{default:a}}(i)},,,,,,,,,,,function(a,e,t){function i(a){return"string"==typeof a||!o(a)&&r(a)&&n(a)==s}var n=t(14),o=t(2),r=t(16),s="[object String]";a.exports=i},function(a,e,t){function i(a){var e=n(a),t=e%1;return e===e?t?e-t:e:0}var n=t(491);a.exports=i},function(a,e,t){function i(a){return null==a?[]:n(a,o(a))}var n=t(354),o=t(35);a.exports=i},function(a,e,t){function i(a,e){return n(e,function(e){return a[e]})}var n=t(42);a.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){"use strict";function i(a,e){return function(t,i){var r;if(void 0===t&&void 0===i)return e;if(void 0!==t&&(r=t),void 0!==i){if(void 0===r)return i;"string"==typeof t||"string"==typeof i?(t=Object(o.a)(t),i=Object(o.a)(i)):(t=Object(n.a)(t),i=Object(n.a)(i)),r=a(t,i)}return r}}var n=t(1219),o=t(100);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return e=t?void 0:e,e=a&&null==e?a.length:e,Object(n.a)(a,o,void 0,void 0,void 0,void 0,e)}var n=t(141),o=128;e.a=i},function(a,e,t){"use strict";function i(a){return function(){var e=arguments;switch(e.length){case 0:return new a;case 1:return new a(e[0]);case 2:return new a(e[0],e[1]);case 3:return new a(e[0],e[1],e[2]);case 4:return new a(e[0],e[1],e[2],e[3]);case 5:return new a(e[0],e[1],e[2],e[3],e[4]);case 6:return new a(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new a(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var t=Object(n.a)(a.prototype),i=a.apply(t,e);return Object(o.a)(i)?i:t}}var n=t(229),o=t(25);e.a=i},function(a,e,t){"use strict";function i(){}e.a=i},function(a,e,t){"use strict";function i(a,e){return!!(null==a?0:a.length)&&Object(n.a)(a,e,0)>-1}var n=t(230);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){for(var n=a.length,o=t+(i?1:-1);i?o--:++o<n;)if(e(a[o],o,a))return o;return-1}e.a=i},function(a,e,t){"use strict";var i=t(102),n=t(232),o=t(52),r=Object(n.a)(function(a,e){Object(i.a)(e,Object(o.a)(e),a)});e.a=r},function(a,e,t){"use strict";function i(a,e){if("function"!=typeof a||null!=e&&"function"!=typeof e)throw new TypeError(o);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],o=t.cache;if(o.has(n))return o.get(n);var r=a.apply(this,i);return t.cache=o.set(n,r)||o,r};return t.cache=new(i.Cache||n.a),t}var n=t(542),o="Expected a function";i.Cache=n.a,e.a=i},function(a,e,t){"use strict";var i=t(191),n=Object(i.a)(Object,"create");e.a=n},function(a,e,t){"use strict";function i(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}var n=t(1248),o=t(1249),r=t(1250),s=t(1251),d=t(1252);i.prototype.clear=n.a,i.prototype.delete=o.a,i.prototype.get=r.a,i.prototype.has=s.a,i.prototype.set=d.a,e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=a.length;t--;)if(Object(n.a)(a[t][0],e))return t;return-1}var n=t(68);e.a=i},function(a,e,t){"use strict";function i(a,e){var t=a.__data__;return Object(n.a)(e)?t["string"==typeof e?"string":"hash"]:t.map}var n=t(1254);e.a=i},function(a,e,t){"use strict";function i(a){return(null==a?0:a.length)?Object(n.a)(a,1):[]}var n=t(45);e.a=i},function(a,e,t){"use strict";var i=t(79),n=t(8),o=t(323),r=Object(n.a)(function(a,e){try{return Object(i.a)(a,void 0,e)}catch(a){return Object(o.a)(a)?a:new Error(a)}});e.a=r},function(a,e,t){"use strict";var i=t(942),n=Object(i.a)(Object.getPrototypeOf,Object);e.a=n},function(a,e,t){"use strict";function i(a,e){var t;if("function"!=typeof e)throw new TypeError(o);return a=Object(n.a)(a),function(){return--a>0&&(t=e.apply(this,arguments)),a<=1&&(e=void 0),t}}var n=t(10),o="Expected a function";e.a=i},function(a,e,t){"use strict";var i=t(8),n=t(141),o=t(231),r=t(195),s=Object(i.a)(function(a,e,t){var i=1;if(t.length){var d=Object(r.a)(t,Object(o.a)(s));i|=32}return Object(n.a)(a,i,e,t,d)});s.placeholder={},e.a=s},function(a,e,t){"use strict";function i(a){return Object(o.a)(Object(n.a)(a).toLowerCase())}var n=t(13),o=t(324);e.a=i},function(a,e,t){"use strict";function i(a){return(a=Object(o.a)(a))&&a.replace(r,n.a).replace(s,"")}var n=t(1261),o=t(13),r=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,s=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");e.a=i},function(a,e,t){"use strict";function i(a,e,t){return a=Object(r.a)(a),e=t?void 0:e,void 0===e?Object(o.a)(a)?Object(s.a)(a):Object(n.a)(a):a.match(e)||[]}var n=t(1262),o=t(1263),r=t(13),s=t(1264);e.a=i},function(a,e,t){"use strict";function i(a){var e=Object(n.a)(a);return e.__chain__=!0,e}var n=t(192);e.a=i},function(a,e,t){"use strict";function i(a){var e=this.__data__=new n.a(a);this.size=e.size}var n=t(389),o=t(1265),r=t(1266),s=t(1267),d=t(1268),c=t(1269);i.prototype.clear=o.a,i.prototype.delete=r.a,i.prototype.get=s.a,i.prototype.has=d.a,i.prototype.set=c.a,e.a=i},function(a,e,t){"use strict";var i=t(1280),n=t(81),o=t(234),r=o.a&&o.a.isMap,s=r?Object(n.a)(r):i.a;e.a=s},function(a,e,t){"use strict";var i=t(1281),n=t(81),o=t(234),r=o.a&&o.a.isSet,s=r?Object(n.a)(r):i.a;e.a=s},function(a,e,t){"use strict";function i(){return new n.a(this.value(),this.__chain__)}var n=t(193);e.a=i},function(a,e,t){"use strict";function i(a,e,t,r,s){return a===e||(null==a||null==e||!Object(o.a)(a)&&!Object(o.a)(e)?a!==a&&e!==e:Object(n.a)(a,e,t,r,i,s))}var n=t(1282),o=t(23);e.a=i},function(a,e,t){"use strict";function i(a){var e=-1,t=null==a?0:a.length;for(this.__data__=new n.a;++e<t;)this.add(a[e])}var n=t(542),o=t(1283),r=t(1284);i.prototype.add=i.prototype.push=o.a,i.prototype.has=r.a,e.a=i},function(a,e,t){"use strict";function i(a,e){return a.has(e)}e.a=i},function(a,e,t){"use strict";function i(a){var e=-1,t=Array(a.size);return a.forEach(function(a){t[++e]=a}),t}e.a=i},function(a,e,t){"use strict";function i(a){return Object(r.a)(a)?Object(n.a)(Object(s.a)(a)):Object(o.a)(a)}var n=t(568),o=t(1288),r=t(541),s=t(103);e.a=i},function(a,e,t){"use strict";function i(a,e){return function(t,i){var d=Object(s.a)(t)?n.a:o.a,c=e?e():{};return d(t,a,Object(r.a)(i,2),c)}}var n=t(1290),o=t(1291),r=t(4),s=t(7);e.a=i},function(a,e,t){"use strict";function i(a,e,t){function i(e){var t=f,i=b;return f=b=void 0,_=e,v=a.apply(i,t)}function l(a){return _=a,k=setTimeout(z,e),x?i(a):v}function u(a){var t=a-j,i=a-_,n=e-t;return O?c(n,h-i):n}function p(a){var t=a-j,i=a-_;return void 0===j||t>=e||t<0||O&&i>=h}function z(){var a=Object(o.a)();if(p(a))return m(a);k=setTimeout(z,u(a))}function m(a){return k=void 0,q&&f?i(a):(f=b=void 0,v)}function g(){void 0!==k&&clearTimeout(k),_=0,f=j=b=k=void 0}function w(){return void 0===k?v:m(Object(o.a)())}function y(){var a=Object(o.a)(),t=p(a);if(f=arguments,b=this,j=a,t){if(void 0===k)return l(j);if(O)return k=setTimeout(z,e),i(j)}return void 0===k&&(k=setTimeout(z,e)),v}var f,b,h,v,k,j,_=0,x=!1,O=!1,q=!0;if("function"!=typeof a)throw new TypeError(s);return e=Object(r.a)(e)||0,Object(n.a)(t)&&(x=!!t.leading,O="maxWait"in t,h=O?d(Object(r.a)(t.maxWait)||0,e):h,q="trailing"in t?!!t.trailing:q),y.cancel=g,y.flush=w,y}var n=t(25),o=t(412),r=t(101),s="Expected a function",d=Math.max,c=Math.min;e.a=i},function(a,e,t){"use strict";var i=t(39),n=function(){return i.a.Date.now()};e.a=n},function(a,e,t){"use strict";function i(a){return Object(n.a)(a,Object(o.a)(a))}var n=t(102),o=t(52);e.a=i},function(a,e,t){"use strict";var i=t(579),n=t(232),o=Object(n.a)(function(a,e,t,n){Object(i.a)(a,e,t,n)});e.a=o},function(a,e,t){"use strict";function i(a,e,t,i){for(var o=a.length,r=i?o:-1;(i?r--:++r<o)&&e(a[r],r,a););return t?Object(n.a)(a,i?0:r,i?r+1:o):Object(n.a)(a,i?r+1:0,i?o:r)}var n=t(90);e.a=i},function(a,e,t){"use strict";function i(a,e){return(Object(s.a)(a)?n.a:o.a)(a,Object(r.a)(e))}var n=t(194),o=t(165),r=t(104),s=t(7);e.a=i},function(a,e,t){"use strict";function i(a,e){return(Object(s.a)(a)?n.a:o.a)(a,Object(r.a)(e))}var n=t(1294),o=t(966),r=t(104),s=t(7);e.a=i},function(a,e,t){"use strict";var i=t(968),n=t(28),o=Object(i.a)(n.a);e.a=o},function(a,e,t){"use strict";var i=t(968),n=t(52),o=Object(i.a)(n.a);e.a=o},function(a,e,t){"use strict";function i(a){return a=Object(o.a)(a),a&&s.test(a)?a.replace(r,n.a):a}var n=t(1297),o=t(13),r=/[&<>"']/g,s=RegExp(r.source);e.a=i},function(a,e,t){"use strict";function i(a){return a?Object(n.a)(Object(o.a)(a),0,r):0}var n=t(197),o=t(10),r=4294967295;e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=null==a?0:a.length;if(!i)return-1;var d=null==t?0:Object(r.a)(t);return d<0&&(d=s(i+d,0)),Object(n.a)(a,Object(o.a)(e,3),d)}var n=t(385),o=t(4),r=t(10),s=Math.max;e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=null==a?0:a.length;if(!i)return-1;var c=i-1;return void 0!==t&&(c=Object(r.a)(t),c=t<0?s(i+c,0):d(c,i-1)),Object(n.a)(a,Object(o.a)(e,3),c,!0)}var n=t(385),o=t(4),r=t(10),s=Math.max,d=Math.min;e.a=i},function(a,e,t){"use strict";function i(a){return a&&a.length?a[0]:void 0}e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(e,function(e){return Object(o.a)(a[e])})}var n=t(164),o=t(89);e.a=i},function(a,e,t){"use strict";function i(a){return function(e,t){return"string"==typeof e&&"string"==typeof t||(e=Object(n.a)(e),t=Object(n.a)(t)),a(e,t)}}var n=t(101);e.a=i},function(a,e,t){"use strict";function i(a){return"number"==typeof a&&a==Object(n.a)(a)}var n=t(10);e.a=i},function(a,e,t){"use strict";function i(a){return"number"==typeof a||Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(62),o=t(23),r="[object Number]";e.a=i},function(a,e,t){"use strict";function i(a,e,t){for(var i=-1,o=a.length;++i<o;){var r=a[i],s=e(r);if(null!=s&&(void 0===d?s===s&&!Object(n.a)(s):t(s,d)))var d=s,c=r}return c}var n=t(67);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=Object(l.a)(e),u=Object(r.a)(e,i),p=!(Object(c.a)(t)&&"chain"in t&&!t.chain),z=Object(d.a)(a);return Object(n.a)(u,function(t){var i=e[t];a[t]=i,z&&(a.prototype[t]=function(){var e=this.__chain__;if(p||e){var t=a(this.__wrapped__);return(t.__actions__=Object(s.a)(this.__actions__)).push({func:i,args:arguments,thisArg:a}),t.__chain__=e,t}return i.apply(a,Object(o.a)([this.value()],arguments))})}),a}var n=t(194),o=t(161),r=t(425),s=t(80),d=t(89),c=t(25),l=t(28);e.a=i},function(a,e,t){"use strict";function i(){void 0===this.__values__&&(this.__values__=Object(n.a)(this.value()));var a=this.__index__>=this.__values__.length;return{done:a,value:a?void 0:this.__values__[this.__index__++]}}var n=t(432);e.a=i},function(a,e,t){"use strict";function i(a){if(!a)return[];if(Object(s.a)(a))return Object(d.a)(a)?Object(p.a)(a):Object(o.a)(a);if(w&&a[w])return Object(c.a)(a[w]());var e=Object(r.a)(a);return(e==m?l.a:e==g?u.a:z.a)(a)}var n=t(157),o=t(80),r=t(148),s=t(44),d=t(239),c=t(1308),l=t(566),u=t(408),p=t(163),z=t(167),m="[object Map]",g="[object Set]",w=n.a?n.a.iterator:void 0;e.a=i},function(a,e,t){"use strict";function i(a,e){if(null==a)return{};var t=Object(n.a)(Object(s.a)(a),function(a){return[a]});return e=Object(o.a)(e),Object(r.a)(a,t,function(a,t){return e(a,t[0])})}var n=t(27),o=t(4),r=t(979),s=t(556);e.a=i},function(a,e,t){"use strict";var i=t(8),n=t(141),o=t(231),r=t(195),s=Object(i.a)(function(a,e){var t=Object(r.a)(e,Object(o.a)(s));return Object(n.a)(a,32,void 0,e,t)});s.placeholder={},e.a=s},function(a,e,t){"use strict";function i(a){for(var e,t=this;t instanceof n.a;){var i=Object(o.a)(t);i.__index__=0,i.__values__=void 0,e?r.__wrapped__=i:e=i;var r=i;t=t.__wrapped__}return r.__wrapped__=a,e}var n=t(383),o=t(934);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&a.length&&e&&e.length?Object(n.a)(a,e):a}var n=t(708);e.a=i},function(a,e,t){"use strict";function i(a){return null==a?a:o.call(a)}var n=Array.prototype,o=n.reverse;e.a=i},function(a,e,t){"use strict";function i(a,e){var t=-1,i=a.length,o=i-1;for(e=void 0===e?i:e;++t<e;){var r=Object(n.a)(t,o),s=a[r];a[r]=a[t],a[t]=s}return a.length=e,a}var n=t(713);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=0,d=null==a?i:a.length;if("number"==typeof e&&e===e&&d<=s){for(;i<d;){var c=i+d>>>1,l=a[c];null!==l&&!Object(r.a)(l)&&(t?l<=e:l<e)?i=c+1:d=c}return d}return Object(n.a)(a,e,o.a,t)}var n=t(737),o=t(43),r=t(67),s=2147483647;e.a=i},function(a,e,t){"use strict";var i=t(420),n=t(1327),o=t(1328),r=t(988),s={escape:n.a,evaluate:o.a,interpolate:r.a,variable:"",imports:{_:{escape:i.a}}};e.a=s},function(a,e,t){"use strict";function i(){return this}e.a=i},function(a,e,t){"use strict";function i(a,e){if(!a||!a.length)return[];var t=Object(r.a)(a);return null==e?t:Object(o.a)(t,function(a){return Object(n.a)(e,void 0,a)})}var n=t(79),o=t(27),r=t(331);e.a=i},function(a,e,t){"use strict";function i(){M=[],w=(0,b.default)(function(a){M.push(a)}),w.addRule(O,"html-start"),w.addRule(q,"html-end"),w.addRule(A,"block-start"),w.addRule(S,"block-end"),w.addRule(j,"full-stop"),w.addRule(_,"sentence-delimiter"),w.addRule(x,"sentence")}function n(a){return a!==a.toLocaleLowerCase()}function o(a){return!(0,y.isNaN)(parseInt(a,10))}function r(a){return/<br/.test(a)}function s(a){return"'"===(a=(0,v.normalize)(a))||'"'===a}function d(a){return"¿"===a||"¡"===a}function c(a){return i(),w.onText(a),w.end(),M}function l(a){return a.replace(/\s+/," ")}function u(a){var e="";return(0,y.isUndefined)(a[0])||(e+=a[0].src),(0,y.isUndefined)(a[1])||(e+=a[1].src),e=l(e)}function p(a){return n(a)||o(a)||s(a)||d(a)}function z(a){return!(0,y.isUndefined)(a)&&("html-start"===a.type||"html-end"===a.type||"block-start"===a.type)}function m(a){var e,t,i=[],n="";do{t=!1;var s=a[0],d=a[a.length-1];"html-start"===s.type&&"html-end"===d.type&&(a=a.slice(1,a.length-1),t=!0)}while(t&&a.length>1);return(0,y.forEach)(a,function(t,s){var d,c,l=a[s+1],m=a[s+2];switch(t.type){case"html-start":case"html-end":r(t.src)?(i.push(n),n=""):n+=t.src;break;case"sentence":n+=t.src;break;case"sentence-delimiter":n+=t.src,(0,y.isUndefined)(l)||"block-end"===l.type||"sentence-delimiter"===l.type||(i.push(n),n="");break;case"full-stop":if(n+=t.src,c=u([l,m]),d=c.length>=2,e=d?c[1]:"",d&&o(c[0]))break;(d&&p(e)||z(l))&&(i.push(n),n="");break;case"block-start":n+=t.src;break;case"block-end":if(n+=t.src,c=u([l,m]),d=c.length>=2,e=d?c[0]:"",d&&o(c[0]))break;(d&&p(e)||z(l))&&(i.push(n),n="")}}),""!==n&&i.push(n),i=(0,y.map)(i,function(a){return a.trim()})}function g(a){var e=c(a);return 0===e.length?[]:m(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){a=(0,k.unifyNonBreakingSpace)(a);var e,t=(0,h.getBlocks)(a);return t=(0,y.flatMap)(t,function(a){return a.split(E)}),e=(0,y.flatMap)(t,T),(0,y.filter)(e,(0,y.negate)(y.isEmpty))};var w,y=t(1),f=t(1022),b=function(a){return a&&a.__esModule?a:{default:a}}(f),h=t(994),v=t(818),k=t(1435),j=new RegExp("^[.]$"),_=new RegExp("^[?!;…]$"),x=new RegExp("^[^.?!;…<\\(\\)\\[\\]]+$"),O=/^<([^>\s\/]+)[^>]*>$/im,q=/^<\/([^>\s]+)[^>]*>$/im,E=new RegExp("\n\r|\n|\r"),A=/^\s*[[({]\s*$/,S=/^\s*[\])}]\s*$/,M=[],T=(0,y.memoize)(g)},function(a,e){function t(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function n(a){if(l===setTimeout)return setTimeout(a,0);if((l===t||!l)&&setTimeout)return l=setTimeout,setTimeout(a,0);try{return l(a,0)}catch(e){try{return l.call(null,a,0)}catch(e){return l.call(this,a,0)}}}function o(a){if(u===clearTimeout)return clearTimeout(a);if((u===i||!u)&&clearTimeout)return u=clearTimeout,clearTimeout(a);try{return u(a)}catch(e){try{return u.call(null,a)}catch(e){return u.call(this,a)}}}function r(){g&&z&&(g=!1,z.length?m=z.concat(m):w=-1,m.length&&s())}function s(){if(!g){var a=n(r);g=!0;for(var e=m.length;e;){for(z=m,m=[];++w<e;)z&&z[w].run();w=-1,e=m.length}z=null,g=!1,o(a)}}function d(a,e){this.fun=a,this.array=e}function c(){}var l,u,p=a.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:t}catch(a){l=t}try{u="function"==typeof clearTimeout?clearTimeout:i}catch(a){u=i}}();var z,m=[],g=!1,w=-1;p.nextTick=function(a){var e=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];m.push(new d(a,e)),1!==m.length||g||n(s)},d.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(a){return[]},p.binding=function(a){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(a){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},,,,,,,,,,,,,,,function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return"<yoastmark class='yoast-text-mark'>"+a+"</yoastmark>"}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a){if(Array.isArray(a)){for(var e=0,t=Array(a.length);e<a.length;e++)t[e]=a[e];return t}return Array.from(a)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t,i){a=(0,r.default)(a),a=(0,u.unifyAllSpaces)(a),a=(0,m.normalize)(a),e=(0,d.default)((0,m.normalize)(e));var o=(0,z.default)(a,e,t,i);o=(0,g.map)(o,function(a){return(0,d.default)((0,l.default)(a))});var s=(0,g.map)(o,function(e){return a.indexOf(e)});return{count:o.length,matches:o,position:Math.min.apply(Math,n(s))}};var o=t(1434),r=i(o),s=t(108),d=i(s),c=t(1023),l=i(c),u=t(1435),p=t(1436),z=i(p),m=t(818),g=t(1)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(1755),n=t(1),o={auxiliaries:[],type:"",language:""},r=function(a){(0,n.forEach)(a,function(a,e){var t=(0,i.getType)(o[e]);if(!1===(0,i.isSameType)(a,t))throw Error("Attribute "+e+" has invalid type. Expected "+t+", got "+(0,i.getType)(a)+".")})},s=function(a,e,t){this.setParticiple(a),this.setSentencePart(e),this._determinesSentencePartIsPassive=!1,t=t||{},(0,n.defaults)(t,o),r(t),this._attributes=t};s.prototype.setParticiple=function(a){if(""===a)throw Error("The participle should not be empty.");this._participle=a},s.prototype.getParticiple=function(){return this._participle},s.prototype.setSentencePart=function(a){if(""===a)throw Error("The sentence part should not be empty.");this._sentencePart=a},s.prototype.getSentencePart=function(){return this._sentencePart},s.prototype.getType=function(){return this._attributes.type},s.prototype.getAuxiliaries=function(){return this._attributes.auxiliaries},s.prototype.getLanguage=function(){return this._attributes.language},s.prototype.determinesSentencePartIsPassive=function(){return this._determinesSentencePartIsPassive},s.prototype.setSentencePartPassiveness=function(a){if(!(0,i.isSameType)(a,"boolean"))throw Error("Passiveness had invalid type. Expected boolean, got "+(0,i.getType)(a)+".");this._determinesSentencePartIsPassive=a},s.prototype.serialize=function(){return{_parseClass:"Participle",attributes:this._attributes,participle:this._participle,sentencePart:this._sentencePart,determinesSentencePartIsPassive:this._determinesSentencePartIsPassive}},s.parse=function(a){var e=new s(a.participle,a.sentencePart,a.attributes);return e.setSentencePartPassiveness(a.determinesSentencePartIsPassive),e},e.default=s},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(a,e,t){this._sentencePartText=a,this._auxiliaries=e,this._locale=t,this._isPassive=!1};i.prototype.getSentencePartText=function(){return this._sentencePartText},i.prototype.isPassive=function(){return this._isPassive},i.prototype.getAuxiliaries=function(){return this._auxiliaries},i.prototype.getLocale=function(){return this._locale},i.prototype.setPassive=function(a){this._isPassive=a},i.prototype.serialize=function(){return{_parseClass:"SentencePart",sentencePartText:this._sentencePartText,auxiliaries:this._auxiliaries,locale:this._locale,isPassive:this._isPassive}},i.parse=function(a){var e=new i(a.sentencePartText,a.auxiliaries,a.locale);return e.setPassive(a.isPassive),e},e.default=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){function i(a){if(!a)return 0===a?a:0;if((a=n(a))===o||a===-o){return(a<0?-1:1)*r}return a===a?a:0}var n=t(252),o=1/0,r=1.7976931348623157e308;a.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){"use strict";var i=t(380),n=Object(i.a)(function(a,e){return a+e},0);e.a=n},function(a,e,t){"use strict";function i(a,e){if("function"!=typeof e)throw new TypeError(o);return a=Object(n.a)(a),function(){if(--a<1)return e.apply(this,arguments)}}var n=t(10),o="Expected a function";e.a=i},function(a,e,t){"use strict";function i(a,e,t,b,h,v,k,j,_,x){function O(){for(var z=arguments.length,m=Array(z),g=z;g--;)m[g]=arguments[g];if(S)var w=Object(c.a)(O),y=Object(r.a)(m,w);if(b&&(m=Object(n.a)(m,b,h,S)),v&&(m=Object(o.a)(m,v,k,S)),z-=y,S&&z<x){var f=Object(u.a)(m,w);return Object(d.a)(a,e,i,O.placeholder,t,m,f,j,_,x-z)}var P=E?t:this,C=A?P[a]:a;return z=m.length,j?m=Object(l.a)(m,j):M&&z>1&&m.reverse(),q&&_<z&&(m.length=_),this&&this!==p.a&&this instanceof O&&(C=T||Object(s.a)(C)),C.apply(P,m)}var q=e&y,E=e&z,A=e&m,S=e&(g|w),M=e&f,T=A?void 0:Object(s.a)(a);return O}var n=t(928),o=t(929),r=t(1226),s=t(382),d=t(930),c=t(231),l=t(1232),u=t(195),p=t(39),z=1,m=2,g=8,w=16,y=128,f=512;e.a=i},function(a,e,t){"use strict";var i=t(923),n=t(316),o=i.a?function(a){return i.a.get(a)}:n.a;e.a=o},function(a,e,t){"use strict";var i=t(1229),n=t(936),o=Object(n.a)(i.a);e.a=o},function(a,e,t){"use strict";var i=t(318),n=t(102),o=t(232),r=t(44),s=t(319),d=t(28),c=Object.prototype,l=c.hasOwnProperty,u=Object(o.a)(function(a,e){if(Object(s.a)(e)||Object(r.a)(e))return void Object(n.a)(e,Object(d.a)(e),a);for(var t in e)l.call(e,t)&&Object(i.a)(a,t,e[t])});e.a=u},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=Array(a);++t<a;)i[t]=e(t);return i}e.a=i},function(a,e){a.exports=function(a){if(!a.webpackPolyfill){var e=Object.create(a);e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),Object.defineProperty(e,"exports",{enumerable:!0}),e.webpackPolyfill=1}return e}},function(a,e,t){"use strict";function i(a){if(!Object(n.a)(a))return Object(o.a)(a);var e=[];for(var t in Object(a))s.call(a,t)&&"constructor"!=t&&e.push(t);return e}var n=t(319),o=t(1237),r=Object.prototype,s=r.hasOwnProperty;e.a=i},function(a,e,t){"use strict";var i=t(102),n=t(232),o=t(28),r=Object(n.a)(function(a,e,t,n){Object(i.a)(e,Object(o.a)(e),a,n)});e.a=r},function(a,e,t){"use strict";var i=t(540),n=t(146),o=Object(n.a)(i.a);e.a=o},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=e.length,o=Array(i),r=null==a;++t<i;)o[t]=r?void 0:Object(n.a)(a,e[t]);return o}var n=t(322);e.a=i},function(a,e,t){"use strict";function i(a,e){if(Object(n.a)(a))return!1;var t=typeof a;return!("number"!=t&&"symbol"!=t&&"boolean"!=t&&null!=a&&!Object(o.a)(a))||(s.test(a)||!r.test(a)||null!=e&&a in Object(e))}var n=t(7),o=t(67),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.a=i},function(a,e,t){"use strict";function i(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}var n=t(1241),o=t(1253),r=t(1255),s=t(1256),d=t(1257);i.prototype.clear=n.a,i.prototype.delete=o.a,i.prototype.get=r.a,i.prototype.has=s.a,i.prototype.set=d.a,e.a=i},function(a,e,t){"use strict";var i=t(191),n=t(39),o=Object(i.a)(n.a,"Map");e.a=o},function(a,e,t){"use strict";var i=t(194),n=t(144),o=t(396),r=t(146),s=t(103),d=Object(r.a)(function(a,e){return Object(i.a)(e,function(e){e=Object(s.a)(e),Object(n.a)(a,e,Object(o.a)(a[e],a))}),a});e.a=d},function(a,e,t){"use strict";var i=t(8),n=t(141),o=t(231),r=t(195),s=Object(i.a)(function(a,e,t){var i=3;if(t.length){var d=Object(r.a)(t,Object(o.a)(s));i|=32}return Object(n.a)(e,i,a,t,d)});s.placeholder={},e.a=s},function(a,e,t){"use strict";var i=t(397),n=t(237),o=Object(n.a)(function(a,e,t){return e=e.toLowerCase(),a+(t?Object(i.a)(e):e)});e.a=o},function(a,e,t){"use strict";function i(a,e,t,i){var n=-1,o=null==a?0:a.length;for(i&&o&&(t=a[++n]);++n<o;)t=e(t,a[n],n,a);return t}e.a=i},function(a,e,t){"use strict";function i(a){return function(e){return null==a?void 0:a[e]}}e.a=i},function(a,e,t){"use strict";function i(){if(!arguments.length)return[];var a=arguments[0];return Object(n.a)(a)?a:[a]}var n=t(7);e.a=i},function(a,e,t){"use strict";var i=t(551),n=Object(i.a)("ceil");e.a=n},function(a,e,t){"use strict";function i(a){var e=Math[a];return function(a,t){if(a=Object(o.a)(a),t=null==t?0:s(Object(n.a)(t),292)){var i=(Object(r.a)(a)+"e").split("e"),d=e(i[0]+"e"+(+i[1]+t));return i=(Object(r.a)(d)+"e").split("e"),+(i[0]+"e"+(+i[1]-t))}return e(a)}}var n=t(10),o=t(101),r=t(13),s=Math.min;e.a=i},function(a,e,t){"use strict";function i(a,e,t){e=(t?Object(o.a)(a,e,t):void 0===e)?1:d(Object(r.a)(e),0);var i=null==a?0:a.length;if(!i||e<1)return[];for(var c=0,l=0,u=Array(s(i/e));c<i;)u[l++]=Object(n.a)(a,c,c+=e);return u}var n=t(90),o=t(63),r=t(10),s=Math.ceil,d=Math.max;e.a=i},function(a,e,t){"use strict";function i(a,e,t){return void 0===t&&(t=e,e=void 0),void 0!==t&&(t=Object(o.a)(t),t=t===t?t:0),void 0!==e&&(e=Object(o.a)(e),e=e===e?e:0),Object(n.a)(Object(o.a)(a),e,t)}var n=t(197),o=t(101);e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(a,o)}var n=t(147),o=4;e.a=i},function(a,e,t){"use strict";var i=t(164),n=t(325),o=Object.prototype,r=o.propertyIsEnumerable,s=Object.getOwnPropertySymbols,d=s?function(a){return null==a?[]:(a=Object(a),Object(i.a)(s(a),function(e){return r.call(a,e)}))}:n.a;e.a=d},function(a,e,t){"use strict";function i(a){return Object(n.a)(a,r.a,o.a)}var n=t(949),o=t(947),r=t(52);e.a=i},function(a,e,t){"use strict";function i(a){var e=new a.constructor(a.byteLength);return new n.a(e).set(new n.a(a)),e}var n=t(951);e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(a,o|r)}var n=t(147),o=1,r=4;e.a=i},function(a,e,t){"use strict";function i(a,e){return e="function"==typeof e?e:void 0,Object(n.a)(a,o|r,e)}var n=t(147),o=1,r=4;e.a=i},function(a,e,t){"use strict";function i(a,e){return e="function"==typeof e?e:void 0,Object(n.a)(a,o,e)}var n=t(147),o=4;e.a=i},function(a,e,t){"use strict";function i(a){for(var e=-1,t=null==a?0:a.length,i=0,n=[];++e<t;){var o=a[e];o&&(n[i++]=o)}return n}e.a=i},function(a,e,t){"use strict";function i(){var a=arguments.length;if(!a)return[];for(var e=Array(a-1),t=arguments[0],i=a;i--;)e[i-1]=arguments[i];return Object(n.a)(Object(s.a)(t)?Object(r.a)(t):[t],Object(o.a)(e,1))}var n=t(161),o=t(45),r=t(80),s=t(7);e.a=i},function(a,e,t){"use strict";function i(a){var e=null==a?0:a.length,t=r.a;return a=e?Object(o.a)(a,function(a){if("function"!=typeof a[1])throw new TypeError(d);return[t(a[0]),a[1]]}):[],Object(s.a)(function(t){for(var i=-1;++i<e;){var o=a[i];if(Object(n.a)(o[0],this,t))return Object(n.a)(o[1],this,t)}})}var n=t(79),o=t(27),r=t(4),s=t(8),d="Expected a function";e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){var d=t.length,c=d,l=!i;if(null==a)return!c;for(a=Object(a);d--;){var u=t[d];if(l&&u[2]?u[1]!==a[u[0]]:!(u[0]in a))return!1}for(;++d<c;){u=t[d];var p=u[0],z=a[p],m=u[1];if(l&&u[2]){if(void 0===z&&!(p in a))return!1}else{var g=new n.a;if(i)var w=i(z,m,p,a,e,g);if(!(void 0===w?Object(o.a)(m,z,r|s,i,g):w))return!1}}return!0}var n=t(401),o=t(405),r=1,s=2;e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=null==a?0:a.length;++t<i;)if(e(a[t],t,a))return!0;return!1}e.a=i},function(a,e,t){"use strict";function i(a){var e=-1,t=Array(a.size);return a.forEach(function(a,i){t[++e]=[i,a]}),t}e.a=i},function(a,e,t){"use strict";function i(a){for(var e=Object(o.a)(a),t=e.length;t--;){var i=e[t],r=a[i];e[t]=[i,r,Object(n.a)(r)]}return e}var n=t(956),o=t(28);e.a=i},function(a,e,t){"use strict";function i(a){return function(e){return null==e?void 0:e[a]}}e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(Object(n.a)(a,r))}var n=t(147),o=t(1289),r=1;e.a=i},function(a,e,t){"use strict";function i(a,e){return null==e||Object(n.a)(a,e,Object(o.a)(e))}var n=t(960),o=t(28);e.a=i},function(a,e,t){"use strict";var i=t(144),n=t(410),o=Object.prototype,r=o.hasOwnProperty,s=Object(n.a)(function(a,e,t){r.call(a,t)?++a[t]:Object(i.a)(a,t,1)});e.a=s},function(a,e,t){"use strict";var i=t(961),n=Object(i.a)();e.a=n},function(a,e,t){"use strict";function i(a,e){var t=Object(o.a)(a);return null==e?t:Object(n.a)(t,e)}var n=t(945),o=t(229);e.a=i},function(a,e,t){"use strict";function i(a,e,t){e=t?void 0:e;var r=Object(n.a)(a,o,void 0,void 0,void 0,void 0,void 0,e);return r.placeholder=i.placeholder,r}var n=t(141),o=8;i.placeholder={},e.a=i},function(a,e,t){"use strict";function i(a,e,t){e=t?void 0:e;var r=Object(n.a)(a,o,void 0,void 0,void 0,void 0,void 0,e);return r.placeholder=i.placeholder,r}var n=t(141),o=16;i.placeholder={},e.a=i},function(a,e,t){"use strict";function i(a,e){return null==a||a!==a?e:a}e.a=i},function(a,e,t){"use strict";var i=t(8),n=t(68),o=t(63),r=t(52),s=Object.prototype,d=s.hasOwnProperty,c=Object(i.a)(function(a,e){a=Object(a);var t=-1,i=e.length,c=i>2?e[2]:void 0;for(c&&Object(o.a)(e[0],e[1],c)&&(i=1);++t<i;)for(var l=e[t],u=Object(r.a)(l),p=-1,z=u.length;++p<z;){var m=u[p],g=a[m];(void 0===g||Object(n.a)(g,s[m])&&!d.call(a,m))&&(a[m]=l[m])}return a});e.a=c},function(a,e,t){"use strict";var i=t(79),n=t(8),o=t(1292),r=t(414),s=Object(n.a)(function(a){return a.push(void 0,o.a),Object(i.a)(r.a,void 0,a)});e.a=s},function(a,e,t){"use strict";function i(a,e,t,u,p){a!==e&&Object(r.a)(e,function(r,c){if(Object(d.a)(r))p||(p=new n.a),Object(s.a)(a,e,c,t,i,u,p);else{var z=u?u(Object(l.a)(a,c),r,c+"",a,e,p):void 0;void 0===z&&(z=r),Object(o.a)(a,c,z)}},c.a)}var n=t(401),o=t(963),r=t(572),s=t(1293),d=t(25),c=t(52),l=t(964);e.a=i},function(a,e,t){"use strict";var i=t(965),n=t(8),o=Object(n.a)(function(a,e){return Object(i.a)(a,1,e)});e.a=o},function(a,e,t){"use strict";var i=t(965),n=t(8),o=t(101),r=Object(n.a)(function(a,e,t){return Object(i.a)(a,Object(o.a)(e)||0,t)});e.a=r},function(a,e,t){"use strict";var i=t(327),n=t(45),o=t(8),r=t(46),s=Object(o.a)(function(a,e){return Object(r.a)(a)?Object(i.a)(a,Object(n.a)(e,1,r.a,!0)):[]});e.a=s},function(a,e,t){"use strict";function i(a,e,t){for(var i=-1,n=null==a?0:a.length;++i<n;)if(t(e,a[i]))return!0;return!1}e.a=i},function(a,e,t){"use strict";var i=t(327),n=t(45),o=t(4),r=t(8),s=t(46),d=t(64),c=Object(r.a)(function(a,e){var t=Object(d.a)(e);return Object(s.a)(t)&&(t=void 0),Object(s.a)(a)?Object(i.a)(a,Object(n.a)(e,1,s.a,!0),Object(o.a)(t,2)):[]});e.a=c},function(a,e,t){"use strict";var i=t(327),n=t(45),o=t(8),r=t(46),s=t(64),d=Object(o.a)(function(a,e){var t=Object(s.a)(e);return Object(r.a)(t)&&(t=void 0),Object(r.a)(a)?Object(i.a)(a,Object(n.a)(e,1,r.a,!0),void 0,t):[]});e.a=d},function(a,e,t){"use strict";var i=t(380),n=Object(i.a)(function(a,e){return a/e},1);e.a=n},function(a,e,t){"use strict";function i(a,e,t){var i=null==a?0:a.length;return i?(e=t||void 0===e?1:Object(o.a)(e),Object(n.a)(a,e<0?0:e,i)):[]}var n=t(90),o=t(10);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=null==a?0:a.length;return i?(e=t||void 0===e?1:Object(o.a)(e),e=i-e,Object(n.a)(a,0,e<0?0:e)):[]}var n=t(90),o=t(10);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&a.length?Object(o.a)(a,Object(n.a)(e,3),!0,!0):[]}var n=t(4),o=t(415);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&a.length?Object(o.a)(a,Object(n.a)(e,3),!0):[]}var n=t(4),o=t(415);e.a=i},function(a,e,t){"use strict";var i=t(416);t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(417);t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";function i(a,e){return a&&Object(n.a)(a,e,o.a)}var n=t(967),o=t(28);e.a=i},function(a,e,t){"use strict";function i(a,e,t){a=Object(s.a)(a),e=Object(o.a)(e);var i=a.length;t=void 0===t?i:Object(n.a)(Object(r.a)(t),0,i);var d=t;return(t-=e.length)>=0&&a.slice(t,d)==e}var n=t(197),o=t(100),r=t(10),s=t(13);e.a=i},function(a,e,t){"use strict";var i=t(418);t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(419);t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";function i(a){return a=Object(n.a)(a),a&&r.test(a)?a.replace(o,"\\$&"):a}var n=t(13),o=/[\\^$.*+?()[\]{}|]/g,r=RegExp(o.source);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=Object(s.a)(a)?n.a:o.a;return t&&Object(d.a)(a,e,t)&&(e=void 0),i(a,Object(r.a)(e,3))}var n=t(969),o=t(1298),r=t(4),s=t(7),d=t(63);e.a=i},function(a,e,t){"use strict";var i=t(386);t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(321);t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";function i(a,e,t,i){var r=null==a?0:a.length;return r?(t&&"number"!=typeof t&&Object(o.a)(a,e,t)&&(t=0,i=r),Object(n.a)(a,e,t,i)):[]}var n=t(1299),o=t(63);e.a=i},function(a,e,t){"use strict";function i(a,e){return(Object(s.a)(a)?n.a:o.a)(a,Object(r.a)(e,3))}var n=t(164),o=t(970),r=t(4),s=t(7);e.a=i},function(a,e,t){"use strict";var i=t(971),n=t(422),o=Object(i.a)(n.a);e.a=o},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(a,Object(r.a)(e,3),o.a)}var n=t(972),o=t(166),r=t(4);e.a=i},function(a,e,t){"use strict";var i=t(971),n=t(423),o=Object(i.a)(n.a);e.a=o},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(a,Object(r.a)(e,3),o.a)}var n=t(972),o=t(593),r=t(4);e.a=i},function(a,e,t){"use strict";var i=t(424);t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(Object(o.a)(a,e),1)}var n=t(45),o=t(238);e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(Object(o.a)(a,e),r)}var n=t(45),o=t(238),r=1/0;e.a=i},function(a,e,t){"use strict";function i(a,e,t){return t=void 0===t?1:Object(r.a)(t),Object(n.a)(Object(o.a)(a,e),t)}var n=t(45),o=t(238),r=t(10);e.a=i},function(a,e,t){"use strict";function i(a){return(null==a?0:a.length)?Object(n.a)(a,o):[]}var n=t(45),o=1/0;e.a=i},function(a,e,t){"use strict";function i(a,e){return(null==a?0:a.length)?(e=void 0===e?1:Object(o.a)(e),Object(n.a)(a,e)):[]}var n=t(45),o=t(10);e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(a,o)}var n=t(141),o=512;e.a=i},function(a,e,t){"use strict";var i=t(551),n=Object(i.a)("floor");e.a=n},function(a,e,t){"use strict";var i=t(974),n=Object(i.a)();e.a=n},function(a,e,t){"use strict";var i=t(974),n=Object(i.a)(!0);e.a=n},function(a,e,t){"use strict";function i(a,e){return null==a?a:Object(n.a)(a,Object(o.a)(e),r.a)}var n=t(572),o=t(104),r=t(52);e.a=i},function(a,e,t){"use strict";function i(a,e){return null==a?a:Object(n.a)(a,Object(o.a)(e),r.a)}var n=t(967),o=t(104),r=t(52);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&Object(n.a)(a,Object(o.a)(e))}var n=t(166),o=t(104);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&Object(n.a)(a,Object(o.a)(e))}var n=t(593),o=t(104);e.a=i},function(a,e,t){"use strict";function i(a){for(var e=-1,t=null==a?0:a.length,i={};++e<t;){var n=a[e];i[n[0]]=n[1]}return i}e.a=i},function(a,e,t){"use strict";function i(a){return null==a?[]:Object(n.a)(a,Object(o.a)(a))}var n=t(425),o=t(28);e.a=i},function(a,e,t){"use strict";function i(a){return null==a?[]:Object(n.a)(a,Object(o.a)(a))}var n=t(425),o=t(52);e.a=i},function(a,e,t){"use strict";var i=t(144),n=t(410),o=Object.prototype,r=o.hasOwnProperty,s=Object(n.a)(function(a,e,t){r.call(a,t)?a[t].push(e):Object(i.a)(a,t,[e])});e.a=s},function(a,e,t){"use strict";var i=t(626),n=t(426),o=Object(n.a)(i.a);e.a=o},function(a,e,t){"use strict";function i(a,e){return a>e}e.a=i},function(a,e,t){"use strict";var i=t(426),n=Object(i.a)(function(a,e){return a>=e});e.a=n},function(a,e,t){"use strict";function i(a,e){return null!=a&&Object(o.a)(a,e,n.a)}var n=t(1300),o=t(959);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return e=Object(o.a)(e),void 0===t?(t=e,e=0):t=Object(o.a)(t),a=Object(r.a)(a),Object(n.a)(a,e,t)}var n=t(1301),o=t(190),r=t(101);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){a=Object(o.a)(a)?a:Object(d.a)(a),t=t&&!i?Object(s.a)(t):0;var l=a.length;return t<0&&(t=c(l+t,0)),Object(r.a)(a)?t<=l&&a.indexOf(e,t)>-1:!!l&&Object(n.a)(a,e,t)>-1}var n=t(230),o=t(44),r=t(239),s=t(10),d=t(167),c=Math.max;e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(e,function(e){return a[e]})}var n=t(27);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=null==a?0:a.length;if(!i)return-1;var s=null==t?0:Object(o.a)(t);return s<0&&(s=r(i+s,0)),Object(n.a)(a,e,s)}var n=t(230),o=t(10),r=Math.max;e.a=i},function(a,e,t){"use strict";function i(a){return(null==a?0:a.length)?Object(n.a)(a,0,-1):[]}var n=t(90);e.a=i},function(a,e,t){"use strict";var i=t(27),n=t(635),o=t(8),r=t(636),s=Object(o.a)(function(a){var e=Object(i.a)(a,r.a);return e.length&&e[0]===a[0]?Object(n.a)(e):[]});e.a=s},function(a,e,t){"use strict";function i(a,e,t){for(var i=t?r.a:o.a,u=a[0].length,p=a.length,z=p,m=Array(p),g=1/0,w=[];z--;){var y=a[z];z&&e&&(y=Object(s.a)(y,Object(d.a)(e))),g=l(y.length,g),m[z]=!t&&(e||u>=120&&y.length>=120)?new n.a(z&&y):void 0}y=a[0];var f=-1,b=m[0];a:for(;++f<u&&w.length<g;){var h=y[f],v=e?e(h):h;if(h=t||0!==h?h:0,!(b?Object(c.a)(b,v):i(w,v,t))){for(z=p;--z;){var k=m[z];if(!(k?Object(c.a)(k,v):i(a[z],v,t)))continue a}b&&b.push(v),w.push(h)}}return w}var n=t(406),o=t(384),r=t(583),s=t(27),d=t(81),c=t(407),l=Math.min;e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(a)?a:[]}var n=t(46);e.a=i},function(a,e,t){"use strict";var i=t(27),n=t(635),o=t(4),r=t(8),s=t(636),d=t(64),c=Object(r.a)(function(a){var e=Object(d.a)(a),t=Object(i.a)(a,s.a);return e===Object(d.a)(t)?e=void 0:t.pop(),t.length&&t[0]===a[0]?Object(n.a)(t,Object(o.a)(e,2)):[]});e.a=c},function(a,e,t){"use strict";var i=t(27),n=t(635),o=t(8),r=t(636),s=t(64),d=Object(o.a)(function(a){var e=Object(s.a)(a),t=Object(i.a)(a,r.a);return e="function"==typeof e?e:void 0,e&&t.pop(),t.length&&t[0]===a[0]?Object(n.a)(t,void 0,e):[]});e.a=d},function(a,e,t){"use strict";var i=t(317),n=t(975),o=t(43),r=Object.prototype,s=r.toString,d=Object(n.a)(function(a,e,t){null!=e&&"function"!=typeof e.toString&&(e=s.call(e)),a[e]=t},Object(i.a)(o.a));e.a=d},function(a,e,t){"use strict";var i=t(4),n=t(975),o=Object.prototype,r=o.hasOwnProperty,s=o.toString,d=Object(n.a)(function(a,e,t){null!=e&&"function"!=typeof e.toString&&(e=s.call(e)),r.call(a,e)?a[e].push(t):a[e]=[t]},i.a);e.a=d},function(a,e,t){"use strict";var i=t(328),n=t(8),o=Object(n.a)(i.a);e.a=o},function(a,e,t){"use strict";var i=t(79),n=t(165),o=t(328),r=t(8),s=t(44),d=Object(r.a)(function(a,e,t){var r=-1,d="function"==typeof e,c=Object(s.a)(a)?Array(a.length):[];return Object(n.a)(a,function(a){c[++r]=d?Object(i.a)(e,a,t):Object(o.a)(a,e,t)}),c});e.a=d},function(a,e,t){"use strict";var i=t(1303),n=t(81),o=t(234),r=o.a&&o.a.isArrayBuffer,s=r?Object(n.a)(r):i.a;e.a=s},function(a,e,t){"use strict";function i(a){return!0===a||!1===a||Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(62),o=t(23),r="[object Boolean]";e.a=i},function(a,e,t){"use strict";var i=t(1304),n=t(81),o=t(234),r=o.a&&o.a.isDate,s=r?Object(n.a)(r):i.a;e.a=s},function(a,e,t){"use strict";function i(a){return Object(n.a)(a)&&1===a.nodeType&&!Object(o.a)(a)}var n=t(23),o=t(196);e.a=i},function(a,e,t){"use strict";function i(a){if(null==a)return!0;if(Object(d.a)(a)&&(Object(s.a)(a)||"string"==typeof a||"function"==typeof a.splice||Object(c.a)(a)||Object(u.a)(a)||Object(r.a)(a)))return!a.length;var e=Object(o.a)(a);if(e==p||e==z)return!a.size;if(Object(l.a)(a))return!Object(n.a)(a).length;for(var t in a)if(g.call(a,t))return!1;return!0}var n=t(537),o=t(148),r=t(158),s=t(7),d=t(44),c=t(145),l=t(319),u=t(159),p="[object Map]",z="[object Set]",m=Object.prototype,g=m.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(a,e)}var n=t(405);e.a=i},function(a,e,t){"use strict";function i(a,e,t){t="function"==typeof t?t:void 0;var i=t?t(a,e):void 0;return void 0===i?Object(n.a)(a,e,void 0,t):!!i}var n=t(405);e.a=i},function(a,e,t){"use strict";function i(a){return"number"==typeof a&&o(a)}var n=t(39),o=n.a.isFinite;e.a=i},function(a,e,t){"use strict";function i(a,e){return a===e||Object(n.a)(a,e,Object(o.a)(e))}var n=t(564),o=t(567);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return t="function"==typeof t?t:void 0,Object(n.a)(a,e,Object(o.a)(e),t)}var n=t(564),o=t(567);e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(a)&&a!=+a}var n=t(428);e.a=i},function(a,e,t){"use strict";function i(a){if(Object(o.a)(a))throw new Error(r);return Object(n.a)(a)}var n=t(925),o=t(1305),r="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.";e.a=i},function(a,e,t){"use strict";function i(a){return null==a}e.a=i},function(a,e,t){"use strict";function i(a){return null===a}e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(a)&&a>=-o&&a<=o}var n=t(427),o=9007199254740991;e.a=i},function(a,e,t){"use strict";function i(a){return void 0===a}e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(148),o=t(23),r="[object WeakMap]";e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(62),o=t(23),r="[object WeakSet]";e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)("function"==typeof a?a:Object(n.a)(a,r))}var n=t(147),o=t(4),r=1;e.a=i},function(a,e,t){"use strict";function i(a,e){return null==a?"":o.call(a,e)}var n=Array.prototype,o=n.join;e.a=i},function(a,e,t){"use strict";var i=t(237),n=Object(i.a)(function(a,e,t){return a+(t?"-":"")+e.toLowerCase()});e.a=n},function(a,e,t){"use strict";var i=t(144),n=t(410),o=Object(n.a)(function(a,e,t){Object(i.a)(a,t,e)});e.a=o},function(a,e,t){"use strict";function i(a,e,t){var i=null==a?0:a.length;if(!i)return-1;var l=i;return void 0!==t&&(l=Object(s.a)(t),l=l<0?d(i+l,0):c(l,i-1)),e===e?Object(r.a)(a,e,l):Object(n.a)(a,o.a,l,!0)}var n=t(385),o=t(939),r=t(1307),s=t(10),d=Math.max,c=Math.min;e.a=i},function(a,e,t){"use strict";var i=t(237),n=Object(i.a)(function(a,e,t){return a+(t?" ":"")+e.toLowerCase()});e.a=n},function(a,e,t){"use strict";var i=t(944),n=Object(i.a)("toLowerCase");e.a=n},function(a,e,t){"use strict";var i=t(669),n=t(426),o=Object(n.a)(i.a);e.a=o},function(a,e,t){"use strict";function i(a,e){return a<e}e.a=i},function(a,e,t){"use strict";var i=t(426),n=Object(i.a)(function(a,e){return a<=e});e.a=n},function(a,e,t){"use strict";function i(a,e){var t={};return e=Object(r.a)(e,3),Object(o.a)(a,function(a,i,o){Object(n.a)(t,e(a,i,o),a)}),t}var n=t(144),o=t(166),r=t(4);e.a=i},function(a,e,t){"use strict";function i(a,e){var t={};return e=Object(r.a)(e,3),Object(o.a)(a,function(a,i,o){Object(n.a)(t,i,e(a,i,o))}),t}var n=t(144),o=t(166),r=t(4);e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(Object(n.a)(a,r))}var n=t(147),o=t(954),r=1;e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(o.a)(a,Object(n.a)(e,r))}var n=t(147),o=t(958),r=1;e.a=i},function(a,e,t){"use strict";function i(a){return a&&a.length?Object(n.a)(a,r.a,o.a):void 0}var n=t(429),o=t(626),r=t(43);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&a.length?Object(n.a)(a,Object(r.a)(e,2),o.a):void 0}var n=t(429),o=t(626),r=t(4);e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(a,o.a)}var n=t(977),o=t(43);e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t,i=-1,n=a.length;++i<n;){var o=e(a[i]);void 0!==o&&(t=void 0===t?o:t+o)}return t}e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(o.a)(a,Object(n.a)(e,2))}var n=t(4),o=t(977);e.a=i},function(a,e,t){"use strict";var i=t(579),n=t(232),o=Object(n.a)(function(a,e,t){Object(i.a)(a,e,t)});e.a=o},function(a,e,t){"use strict";var i=t(328),n=t(8),o=Object(n.a)(function(a,e){return function(t){return Object(i.a)(t,a,e)}});e.a=o},function(a,e,t){"use strict";var i=t(328),n=t(8),o=Object(n.a)(function(a,e){return function(t){return Object(i.a)(a,t,e)}});e.a=o},function(a,e,t){"use strict";function i(a){return a&&a.length?Object(n.a)(a,r.a,o.a):void 0}var n=t(429),o=t(669),r=t(43);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&a.length?Object(n.a)(a,Object(o.a)(e,2),r.a):void 0}var n=t(429),o=t(4),r=t(669);e.a=i},function(a,e,t){"use strict";var i=t(380),n=Object(i.a)(function(a,e){return a*e},1);e.a=n},function(a,e,t){"use strict";function i(a,e){return a&&a.length?Object(n.a)(a,Object(o.a)(e)):void 0}var n=t(978),o=t(10);e.a=i},function(a,e,t){"use strict";function i(a){return a=Object(r.a)(a),Object(o.a)(function(e){return Object(n.a)(e,a)})}var n=t(978),o=t(8),r=t(10);e.a=i},function(a,e,t){"use strict";var i=t(27),n=t(147),o=t(689),r=t(160),s=t(102),d=t(1309),c=t(146),l=t(556),u=Object(c.a)(function(a,e){var t={};if(null==a)return t;var c=!1;e=Object(i.a)(e,function(e){return e=Object(r.a)(e,a),c||(c=e.length>1),e}),Object(s.a)(a,Object(l.a)(a),t),c&&(t=Object(n.a)(t,7,d.a));for(var u=e.length;u--;)Object(o.a)(t,e[u]);return t});e.a=u},function(a,e,t){"use strict";function i(a,e){return e=Object(n.a)(e,a),null==(a=Object(r.a)(a,e))||delete a[Object(s.a)(Object(o.a)(e))]}var n=t(160),o=t(64),r=t(976),s=t(103);e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(r.a)(a,Object(o.a)(Object(n.a)(e)))}var n=t(4),o=t(240),r=t(433);e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(2,a)}var n=t(395);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){return null==a?[]:(Object(o.a)(e)||(e=null==e?[]:[e]),t=i?void 0:t,Object(o.a)(t)||(t=null==t?[]:[t]),Object(n.a)(a,e,t))}var n=t(980),o=t(7);e.a=i},function(a,e,t){"use strict";var i=t(27),n=t(694),o=Object(n.a)(i.a);e.a=o},function(a,e,t){"use strict";function i(a){return Object(c.a)(function(e){return e=Object(o.a)(e,Object(d.a)(r.a)),Object(s.a)(function(t){var i=this;return a(e,function(a){return Object(n.a)(a,i,t)})})})}var n=t(79),o=t(27),r=t(4),s=t(8),d=t(81),c=t(146);e.a=i},function(a,e,t){"use strict";var i=t(79),n=t(27),o=t(45),r=t(4),s=t(8),d=t(81),c=t(1312),l=t(7),u=Math.min,p=Object(c.a)(function(a,e){e=1==e.length&&Object(l.a)(e[0])?Object(n.a)(e[0],Object(d.a)(r.a)):Object(n.a)(Object(o.a)(e,1),Object(d.a)(r.a));var t=e.length;return Object(s.a)(function(n){for(var o=-1,r=u(n.length,t);++o<r;)n[o]=e[o].call(this,n[o]);return Object(i.a)(a,this,n)})});e.a=p},function(a,e,t){"use strict";var i=t(969),n=t(694),o=Object(n.a)(i.a);e.a=o},function(a,e,t){"use strict";var i=t(565),n=t(694),o=Object(n.a)(i.a);e.a=o},function(a,e,t){"use strict";function i(a,e,t){a=Object(s.a)(a),e=Object(r.a)(e);var i=e?Object(o.a)(a):0;if(!e||i>=e)return a;var l=(e-i)/2;return Object(n.a)(c(l),t)+a+Object(n.a)(d(l),t)}var n=t(699),o=t(241),r=t(10),s=t(13),d=Math.ceil,c=Math.floor;e.a=i},function(a,e,t){"use strict";function i(a,e){e=void 0===e?" ":Object(o.a)(e);var t=e.length;if(t<2)return t?Object(n.a)(e,a):e;var i=Object(n.a)(e,l(a/Object(d.a)(e)));return Object(s.a)(e)?Object(r.a)(Object(c.a)(i),0,a).join(""):i.slice(0,a)}var n=t(982),o=t(100),r=t(162),s=t(236),d=t(241),c=t(163),l=Math.ceil;e.a=i},function(a,e,t){"use strict";function i(a,e,t){a=Object(s.a)(a),e=Object(r.a)(e);var i=e?Object(o.a)(a):0;return e&&i<e?a+Object(n.a)(e-i,t):a}var n=t(699),o=t(241),r=t(10),s=t(13);e.a=i},function(a,e,t){"use strict";function i(a,e,t){a=Object(s.a)(a),e=Object(r.a)(e);var i=e?Object(o.a)(a):0;return e&&i<e?Object(n.a)(e-i,t)+a:a}var n=t(699),o=t(241),r=t(10),s=t(13);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return t||null==e?e=0:e&&(e=+e),s(Object(o.a)(a).replace(r,""),e||0)}var n=t(39),o=t(13),r=/^\s+/,s=n.a.parseInt;e.a=i},function(a,e,t){"use strict";var i=t(8),n=t(141),o=t(231),r=t(195),s=Object(i.a)(function(a,e){var t=Object(r.a)(e,Object(o.a)(s));return Object(n.a)(a,64,void 0,e,t)});s.placeholder={},e.a=s},function(a,e,t){"use strict";var i=t(410),n=Object(i.a)(function(a,e,t){a[t?0:1].push(e)},function(){return[[],[]]});e.a=n},function(a,e,t){"use strict";var i=t(1315),n=t(146),o=Object(n.a)(function(a,e){return null==a?{}:Object(i.a)(a,e)});e.a=o},function(a,e,t){"use strict";function i(a){return function(e){return null==a?void 0:Object(n.a)(a,e)}}var n=t(235);e.a=i},function(a,e,t){"use strict";var i=t(8),n=t(436),o=Object(i.a)(n.a);e.a=o},function(a,e,t){"use strict";function i(a,e,t,i){var c=i?r.a:o.a,u=-1,p=e.length,z=a;for(a===e&&(e=Object(d.a)(e)),t&&(z=Object(n.a)(a,Object(s.a)(t)));++u<p;)for(var m=0,g=e[u],w=t?t(g):g;(m=c(z,w,m,i))>-1;)z!==a&&l.call(z,m,1),l.call(a,m,1);return a}var n=t(27),o=t(230),r=t(1316),s=t(81),d=t(80),c=Array.prototype,l=c.splice;e.a=i},function(a,e,t){"use strict";function i(a,e,t){return a&&a.length&&e&&e.length?Object(o.a)(a,e,Object(n.a)(t,2)):a}var n=t(4),o=t(708);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return a&&a.length&&e&&e.length?Object(n.a)(a,e,void 0,t):a}var n=t(708);e.a=i},function(a,e,t){"use strict";var i=t(27),n=t(540),o=t(983),r=t(981),s=t(146),d=t(143),c=Object(s.a)(function(a,e){var t=null==a?0:a.length,s=Object(n.a)(a,e);return Object(o.a)(a,Object(i.a)(e,function(a){return Object(d.a)(a,t)?+a:a}).sort(r.a)),s});e.a=c},function(a,e,t){"use strict";function i(a,e,t){if(t&&"boolean"!=typeof t&&Object(o.a)(a,e,t)&&(e=t=void 0),void 0===t&&("boolean"==typeof e?(t=e,e=void 0):"boolean"==typeof a&&(t=a,a=void 0)),void 0===a&&void 0===e?(a=0,e=1):(a=Object(r.a)(a),void 0===e?(e=a,a=0):e=Object(r.a)(e)),a>e){var i=a;a=e,e=i}if(t||a%1||e%1){var l=c();return d(a+l*(e-a+s("1e-"+((l+"").length-1))),e)}return Object(n.a)(a,e)}var n=t(713),o=t(63),r=t(190),s=parseFloat,d=Math.min,c=Math.random;e.a=i},function(a,e,t){"use strict";function i(a,e){return a+n(o()*(e-a+1))}var n=Math.floor,o=Math.random;e.a=i},function(a,e,t){"use strict";var i=t(984),n=Object(i.a)();e.a=n},function(a,e,t){"use strict";var i=t(984),n=Object(i.a)(!0);e.a=n},function(a,e,t){"use strict";var i=t(141),n=t(146),o=Object(n.a)(function(a,e){return Object(i.a)(a,256,void 0,void 0,void 0,e)});e.a=o},function(a,e,t){"use strict";function i(a,e,t){var i=Object(d.a)(a)?n.a:s.a,c=arguments.length<3;return i(a,Object(r.a)(e,4),t,c,o.a)}var n=t(547),o=t(165),r=t(4),s=t(985),d=t(7);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=Object(d.a)(a)?n.a:s.a,c=arguments.length<3;return i(a,Object(r.a)(e,4),t,c,o.a)}var n=t(1318),o=t(966),r=t(4),s=t(985),d=t(7);e.a=i},function(a,e,t){"use strict";function i(a,e){return(Object(s.a)(a)?n.a:o.a)(a,Object(d.a)(Object(r.a)(e,3)))}var n=t(164),o=t(970),r=t(4),s=t(7),d=t(240);e.a=i},function(a,e,t){"use strict";function i(a,e){var t=[];if(!a||!a.length)return t;var i=-1,r=[],s=a.length;for(e=Object(n.a)(e,3);++i<s;){var d=a[i];e(d,i,a)&&(t.push(d),r.push(i))}return Object(o.a)(a,r),t}var n=t(4),o=t(983);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return e=(t?Object(o.a)(a,e,t):void 0===e)?1:Object(r.a)(e),Object(n.a)(Object(s.a)(a),e)}var n=t(982),o=t(63),r=t(10),s=t(13);e.a=i},function(a,e,t){"use strict";function i(){var a=arguments,e=Object(n.a)(a[0]);return a.length<3?e:e.replace(a[1],a[2])}var n=t(13);e.a=i},function(a,e,t){"use strict";function i(a,e){if("function"!=typeof a)throw new TypeError(r);return e=void 0===e?e:Object(o.a)(e),Object(n.a)(a,e)}var n=t(8),o=t(10),r="Expected a function";e.a=i},function(a,e,t){"use strict";function i(a,e,t){e=Object(n.a)(e,a);var i=-1,s=e.length;for(s||(s=1,a=void 0);++i<s;){var d=null==a?void 0:a[Object(r.a)(e[i])];void 0===d&&(i=s,d=t),a=Object(o.a)(d)?d.call(a):d}return a}var n=t(160),o=t(89),r=t(103);e.a=i},function(a,e,t){"use strict";var i=t(551),n=Object(i.a)("round");e.a=n},function(a,e,t){"use strict";function i(a){return(Object(r.a)(a)?n.a:o.a)(a)}var n=t(986),o=t(1319),r=t(7);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return e=(t?Object(s.a)(a,e,t):void 0===e)?1:Object(d.a)(e),(Object(r.a)(a)?n.a:o.a)(a,e)}var n=t(1320),o=t(1321),r=t(7),s=t(63),d=t(10);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return null==a?a:Object(n.a)(a,e,t)}var n=t(330);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){return i="function"==typeof i?i:void 0,null==a?a:Object(n.a)(a,e,t,i)}var n=t(330);e.a=i},function(a,e,t){"use strict";function i(a){return(Object(r.a)(a)?n.a:o.a)(a)}var n=t(1322),o=t(1323),r=t(7);e.a=i},function(a,e,t){"use strict";function i(a){if(null==a)return 0;if(Object(r.a)(a))return Object(s.a)(a)?Object(d.a)(a):a.length;var e=Object(o.a)(a);return e==c||e==l?a.size:Object(n.a)(a).length}var n=t(537),o=t(148),r=t(44),s=t(239),d=t(241),c="[object Map]",l="[object Set]";e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=null==a?0:a.length;return i?(t&&"number"!=typeof t&&Object(o.a)(a,e,t)?(e=0,t=i):(e=null==e?0:Object(r.a)(e),t=void 0===t?i:Object(r.a)(t)),Object(n.a)(a,e,t)):[]}var n=t(90),o=t(63),r=t(10);e.a=i},function(a,e,t){"use strict";var i=t(237),n=Object(i.a)(function(a,e,t){return a+(t?"_":"")+e.toLowerCase()});e.a=n},function(a,e,t){"use strict";function i(a,e,t){var i=Object(s.a)(a)?n.a:r.a;return t&&Object(d.a)(a,e,t)&&(e=void 0),i(a,Object(o.a)(e,3))}var n=t(565),o=t(4),r=t(1324),s=t(7),d=t(63);e.a=i},function(a,e,t){"use strict";var i=t(45),n=t(980),o=t(8),r=t(63),s=Object(o.a)(function(a,e){if(null==a)return[];var t=e.length;return t>1&&Object(r.a)(a,e[0],e[1])?e=[]:t>2&&Object(r.a)(e[0],e[1],e[2])&&(e=[e[0]]),Object(n.a)(a,Object(i.a)(e,1),[])});e.a=s},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(a,e)}var n=t(439);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){e=t(e);for(var d=0,c=null==a?0:a.length,l=e!==e,u=null===e,p=Object(n.a)(e),z=void 0===e;d<c;){var m=r((d+c)/2),g=t(a[m]),w=void 0!==g,y=null===g,f=g===g,b=Object(n.a)(g);if(l)var h=i||f;else h=z?f&&(i||w):u?f&&w&&(i||!y):p?f&&w&&!y&&(i||!b):!y&&!b&&(i?g<=e:g<e);h?d=m+1:c=m}return s(c,o)}var n=t(67),o=4294967294,r=Math.floor,s=Math.min;e.a=i},function(a,e,t){"use strict";function i(a,e,t){return Object(o.a)(a,e,Object(n.a)(t,2))}var n=t(4),o=t(737);e.a=i},function(a,e,t){"use strict";function i(a,e){var t=null==a?0:a.length;if(t){var i=Object(n.a)(a,e);if(i<t&&Object(o.a)(a[i],e))return i}return-1}var n=t(439),o=t(68);e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(a,e,!0)}var n=t(439);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return Object(o.a)(a,e,Object(n.a)(t,2),!0)}var n=t(4),o=t(737);e.a=i},function(a,e,t){"use strict";function i(a,e){if(null==a?0:a.length){var t=Object(n.a)(a,e,!0)-1;if(Object(o.a)(a[t],e))return t}return-1}var n=t(439),o=t(68);e.a=i},function(a,e,t){"use strict";function i(a){return a&&a.length?Object(n.a)(a):[]}var n=t(987);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&a.length?Object(o.a)(a,Object(n.a)(e,2)):[]}var n=t(4),o=t(987);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return t&&"number"!=typeof t&&Object(s.a)(a,e,t)&&(e=t=void 0),(t=void 0===t?u:t>>>0)?(a=Object(l.a)(a),a&&("string"==typeof e||null!=e&&!Object(d.a)(e))&&!(e=Object(n.a)(e))&&Object(r.a)(a)?Object(o.a)(Object(c.a)(a),0,t):a.split(e,t)):[]}var n=t(100),o=t(162),r=t(236),s=t(63),d=t(329),c=t(163),l=t(13),u=4294967295;e.a=i},function(a,e,t){"use strict";function i(a,e){if("function"!=typeof a)throw new TypeError(c);return e=null==e?0:l(Object(d.a)(e),0),Object(r.a)(function(t){var i=t[e],r=Object(s.a)(t,0,e);return i&&Object(o.a)(r,i),Object(n.a)(a,this,r)})}var n=t(79),o=t(161),r=t(8),s=t(162),d=t(10),c="Expected a function",l=Math.max;e.a=i},function(a,e,t){"use strict";var i=t(237),n=t(324),o=Object(i.a)(function(a,e,t){return a+(t?" ":"")+Object(n.a)(e)});e.a=o},function(a,e,t){"use strict";function i(a,e,t){return a=Object(s.a)(a),t=null==t?0:Object(n.a)(Object(r.a)(t),0,a.length),e=Object(o.a)(e),a.slice(t,t+e.length)==e}var n=t(197),o=t(100),r=t(10),s=t(13);e.a=i},function(a,e,t){"use strict";function i(){return{}}e.a=i},function(a,e,t){"use strict";function i(){return""}e.a=i},function(a,e,t){"use strict";function i(){return!0}e.a=i},function(a,e,t){"use strict";var i=t(380),n=Object(i.a)(function(a,e){return a-e},0);e.a=n},function(a,e,t){"use strict";function i(a){return a&&a.length?Object(n.a)(a,o.a):0}var n=t(678),o=t(43);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&a.length?Object(o.a)(a,Object(n.a)(e,2)):0}var n=t(4),o=t(678);e.a=i},function(a,e,t){"use strict";function i(a){var e=null==a?0:a.length;return e?Object(n.a)(a,1,e):[]}var n=t(90);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return a&&a.length?(e=t||void 0===e?1:Object(o.a)(e),Object(n.a)(a,0,e<0?0:e)):[]}var n=t(90),o=t(10);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=null==a?0:a.length;return i?(e=t||void 0===e?1:Object(o.a)(e),e=i-e,Object(n.a)(a,e<0?0:e,i)):[]}var n=t(90),o=t(10);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&a.length?Object(o.a)(a,Object(n.a)(e,3),!1,!0):[]}var n=t(4),o=t(415);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&a.length?Object(o.a)(a,Object(n.a)(e,3)):[]}var n=t(4),o=t(415);e.a=i},function(a,e,t){"use strict";function i(a,e){return e(a),a}e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=z.a.imports._.templateSettings||z.a;t&&Object(l.a)(a,e,t)&&(e=void 0),a=Object(m.a)(a),e=Object(n.a)({},e,i,s.a);var v,k,j=Object(n.a)({},e.imports,i.imports,s.a),_=Object(u.a)(j),x=Object(r.a)(j,_),O=0,q=e.interpolate||b,E="__p += '",A=RegExp((e.escape||b).source+"|"+q.source+"|"+(q===p.a?f:b).source+"|"+(e.evaluate||b).source+"|$","g"),S="sourceURL"in e?"//# sourceURL="+e.sourceURL+"\n":"";a.replace(A,function(e,t,i,n,o,r){return i||(i=n),E+=a.slice(O,r).replace(h,d.a),t&&(v=!0,E+="' +\n__e("+t+") +\n'"),o&&(k=!0,E+="';\n"+o+";\n__p += '"),i&&(E+="' +\n((__t = ("+i+")) == null ? '' : __t) +\n'"),O=r+e.length,e}),E+="';\n";var M=e.variable;M||(E="with (obj) {\n"+E+"\n}\n"),E=(k?E.replace(g,""):E).replace(w,"$1").replace(y,"$1;"),E="function("+(M||"obj")+") {\n"+(M?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(v?", __e = _.escape":"")+(k?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+E+"return __p\n}";var T=Object(o.a)(function(){return Function(_,S+"return "+E).apply(void 0,x)});if(T.source=E,Object(c.a)(T))throw T;return T}var n=t(321),o=t(393),r=t(631),s=t(1325),d=t(1326),c=t(323),l=t(63),u=t(28),p=t(988),z=t(440),m=t(13),g=/\b__p \+= '';/g,w=/\b(__p \+=) '' \+/g,y=/(__e\(.*?\)|\b__t\)) \+\n'';/g,f=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,b=/($^)/,h=/['\n\r\u2028\u2029\\]/g;e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=!0,s=!0;if("function"!=typeof a)throw new TypeError(r);return Object(o.a)(t)&&(i="leading"in t?!!t.leading:i,s="trailing"in t?!!t.trailing:s),Object(n.a)(a,e,{leading:i,maxWait:e,trailing:s})}var n=t(411),o=t(25),r="Expected a function";e.a=i},function(a,e,t){"use strict";function i(a,e){if((a=Object(r.a)(a))<1||a>s)return[];var t=d,i=c(a,d);e=Object(o.a)(e),a-=d;for(var l=Object(n.a)(i,e);++t<a;)e(t);return l}var n=t(535),o=t(104),r=t(10),s=9007199254740991,d=4294967295,c=Math.min;e.a=i},function(a,e,t){"use strict";var i=t(243);t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";function i(a){return Object(n.a)(a).toLowerCase()}var n=t(13);e.a=i},function(a,e,t){"use strict";function i(a){return Object(r.a)(a)?Object(n.a)(a,c.a):Object(s.a)(a)?[a]:Object(o.a)(Object(d.a)(Object(l.a)(a)))}var n=t(27),o=t(80),r=t(7),s=t(67),d=t(943),c=t(103),l=t(13);e.a=i},function(a,e,t){"use strict";function i(a){return a?Object(n.a)(Object(o.a)(a),-r,r):0===a?a:0}var n=t(197),o=t(10),r=9007199254740991;e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(a).toUpperCase()}var n=t(13);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=Object(c.a)(a),m=i||Object(l.a)(a)||Object(z.a)(a);if(e=Object(s.a)(e,4),null==t){var g=a&&a.constructor;t=m?i?new g:[]:Object(p.a)(a)&&Object(u.a)(g)?Object(o.a)(Object(d.a)(a)):{}}return(m?n.a:r.a)(a,function(a,i,n){return e(t,a,i,n)}),t}var n=t(194),o=t(229),r=t(166),s=t(4),d=t(394),c=t(7),l=t(145),u=t(89),p=t(25),z=t(159);e.a=i},function(a,e,t){"use strict";function i(a,e,t){if((a=Object(c.a)(a))&&(t||void 0===e))return a.replace(l,"");if(!a||!(e=Object(n.a)(e)))return a;var i=Object(d.a)(a),u=Object(d.a)(e),p=Object(s.a)(i,u),z=Object(r.a)(i,u)+1;return Object(o.a)(i,p,z).join("")}var n=t(100),o=t(162),r=t(990),s=t(991),d=t(163),c=t(13),l=/^\s+|\s+$/g;e.a=i},function(a,e,t){"use strict";function i(a,e,t){if((a=Object(d.a)(a))&&(t||void 0===e))return a.replace(c,"");if(!a||!(e=Object(n.a)(e)))return a;var i=Object(s.a)(a),l=Object(r.a)(i,Object(s.a)(e))+1;return Object(o.a)(i,0,l).join("")}var n=t(100),o=t(162),r=t(990),s=t(163),d=t(13),c=/\s+$/;e.a=i},function(a,e,t){"use strict";function i(a,e,t){if((a=Object(d.a)(a))&&(t||void 0===e))return a.replace(c,"");if(!a||!(e=Object(n.a)(e)))return a;var i=Object(s.a)(a),l=Object(r.a)(i,Object(s.a)(e));return Object(o.a)(i,l).join("")}var n=t(100),o=t(162),r=t(991),s=t(163),d=t(13),c=/^\s+/;e.a=i},function(a,e,t){"use strict";function i(a,e){var t=z,i=m;if(Object(s.a)(e)){var w="separator"in e?e.separator:w;t="length"in e?Object(u.a)(e.length):t,i="omission"in e?Object(n.a)(e.omission):i}a=Object(p.a)(a);var y=a.length;if(Object(r.a)(a)){var f=Object(l.a)(a);y=f.length}if(t>=y)return a;var b=t-Object(c.a)(i);if(b<1)return i;var h=f?Object(o.a)(f,0,b).join(""):a.slice(0,b);if(void 0===w)return h+i;if(f&&(b+=h.length-b),Object(d.a)(w)){if(a.slice(b).search(w)){var v,k=h;for(w.global||(w=RegExp(w.source,Object(p.a)(g.exec(w))+"g")),w.lastIndex=0;v=w.exec(k);)var j=v.index;h=h.slice(0,void 0===j?b:j)}}else if(a.indexOf(Object(n.a)(w),b)!=b){var _=h.lastIndexOf(w);_>-1&&(h=h.slice(0,_))}return h+i}var n=t(100),o=t(162),r=t(236),s=t(25),d=t(329),c=t(241),l=t(163),u=t(10),p=t(13),z=30,m="...",g=/\w*$/;e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(a,1)}var n=t(381);e.a=i},function(a,e,t){"use strict";function i(a){return a=Object(n.a)(a),a&&s.test(a)?a.replace(r,o.a):a}var n=t(13),o=t(1329),r=/&(?:amp|lt|gt|quot|#39);/g,s=RegExp(r.source);e.a=i},function(a,e,t){"use strict";var i=t(45),n=t(8),o=t(198),r=t(46),s=Object(n.a)(function(a){return Object(o.a)(Object(i.a)(a,1,r.a,!0))});e.a=s},function(a,e,t){"use strict";var i=t(45),n=t(4),o=t(8),r=t(198),s=t(46),d=t(64),c=Object(o.a)(function(a){var e=Object(d.a)(a);return Object(s.a)(e)&&(e=void 0),Object(r.a)(Object(i.a)(a,1,s.a,!0),Object(n.a)(e,2))});e.a=c},function(a,e,t){"use strict";var i=t(45),n=t(8),o=t(198),r=t(46),s=t(64),d=Object(n.a)(function(a){var e=Object(s.a)(a);return e="function"==typeof e?e:void 0,Object(o.a)(Object(i.a)(a,1,r.a,!0),void 0,e)});e.a=d},function(a,e,t){"use strict";function i(a){return a&&a.length?Object(n.a)(a):[]}var n=t(198);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&a.length?Object(o.a)(a,Object(n.a)(e,2)):[]}var n=t(4),o=t(198);e.a=i},function(a,e,t){"use strict";function i(a,e){return e="function"==typeof e?e:void 0,a&&a.length?Object(n.a)(a,void 0,e):[]}var n=t(198);e.a=i},function(a,e,t){"use strict";function i(a){var e=++o;return Object(n.a)(a)+e}var n=t(13),o=0;e.a=i},function(a,e,t){"use strict";function i(a,e){return null==a||Object(n.a)(a,e)}var n=t(689);e.a=i},function(a,e,t){"use strict";function i(a,e,t){return null==a?a:Object(n.a)(a,e,Object(o.a)(t))}var n=t(992),o=t(104);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){return i="function"==typeof i?i:void 0,null==a?a:Object(n.a)(a,e,Object(o.a)(t),i)}var n=t(992),o=t(104);e.a=i},function(a,e,t){"use strict";var i=t(237),n=Object(i.a)(function(a,e,t){return a+(t?" ":"")+e.toUpperCase()});e.a=n},function(a,e,t){"use strict";var i=t(243);t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";function i(a){return null==a?[]:Object(n.a)(a,Object(o.a)(a))}var n=t(631),o=t(52);e.a=i},function(a,e,t){"use strict";var i=t(327),n=t(8),o=t(46),r=Object(n.a)(function(a,e){return Object(o.a)(a)?Object(i.a)(a,e):[]});e.a=r},function(a,e,t){"use strict";function i(a,e){return Object(o.a)(Object(n.a)(e),a)}var n=t(104),o=t(434);e.a=i},function(a,e,t){"use strict";var i=t(142),n=t(193),o=t(540),r=t(146),s=t(143),d=t(242),c=Object(r.a)(function(a){var e=a.length,t=e?a[0]:0,r=this.__wrapped__,c=function(e){return Object(o.a)(e,a)};return!(e>1||this.__actions__.length)&&r instanceof i.a&&Object(s.a)(t)?(r=r.slice(t,+t+(e?1:0)),r.__actions__.push({func:d.a,args:[c],thisArg:void 0}),new n.a(r,this.__chain__).thru(function(a){return e&&!a.length&&a.push(void 0),a})):this.thru(c)});e.a=c},function(a,e,t){"use strict";function i(){return Object(n.a)(this)}var n=t(400);e.a=i},function(a,e,t){"use strict";function i(){var a=this.__wrapped__;if(a instanceof n.a){var e=a;return this.__actions__.length&&(e=new n.a(this)),e=e.reverse(),e.__actions__.push({func:s.a,args:[r.a],thisArg:void 0}),new o.a(e,this.__chain__)}return this.thru(r.a)}var n=t(142),o=t(193),r=t(437),s=t(242);e.a=i},function(a,e,t){"use strict";var i=t(164),n=t(8),o=t(795),r=t(46),s=Object(n.a)(function(a){return Object(o.a)(Object(i.a)(a,r.a))});e.a=s},function(a,e,t){"use strict";function i(a,e,t){var i=a.length;if(i<2)return i?Object(r.a)(a[0]):[];for(var s=-1,d=Array(i);++s<i;)for(var c=a[s],l=-1;++l<i;)l!=s&&(d[s]=Object(n.a)(d[s]||c,a[l],e,t));return Object(r.a)(Object(o.a)(d,1),e,t)}var n=t(327),o=t(45),r=t(198);e.a=i},function(a,e,t){"use strict";var i=t(164),n=t(4),o=t(8),r=t(795),s=t(46),d=t(64),c=Object(o.a)(function(a){var e=Object(d.a)(a);return Object(s.a)(e)&&(e=void 0),Object(r.a)(Object(i.a)(a,s.a),Object(n.a)(e,2))});e.a=c},function(a,e,t){"use strict";var i=t(164),n=t(8),o=t(795),r=t(46),s=t(64),d=Object(n.a)(function(a){var e=Object(s.a)(a);return e="function"==typeof e?e:void 0,Object(o.a)(Object(i.a)(a,r.a),void 0,e)});e.a=d},function(a,e,t){"use strict";var i=t(8),n=t(331),o=Object(i.a)(n.a);e.a=o},function(a,e,t){"use strict";function i(a,e){return Object(o.a)(a||[],e||[],n.a)}var n=t(318),o=t(993);e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(o.a)(a||[],e||[],n.a)}var n=t(330),o=t(993);e.a=i},function(a,e,t){"use strict";var i=t(8),n=t(442),o=Object(i.a)(function(a){var e=a.length,t=e>1?a[e-1]:void 0;return t="function"==typeof t?(a.pop(),t):void 0,Object(n.a)(a,t)});e.a=o},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return Math.round(a)===a?Math.round(a):Math.round(10*a)/10}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e,t,i,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e='[ \\u00a0 \\n\\r\\t.,()”“〝〞〟‟„"+\\-;!¡?¿:/»«‹›'+o+"<>",t="(^|"+e+"'‘’‛`])",i=n?"($|((?="+e+"]))|((['‘’‛`])("+e+"])))":"($|("+e+"])|((['‘’‛`])("+e+"])))",t+a+i}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t,i=e||!1;return t="("+(0,o.map)(a,function(a){return i?a:(0,n.default)(a,!0)}).join(")|(")+")",new RegExp(t,"ig")};var i=t(803),n=function(a){return a&&a.__esModule?a:{default:a}}(i),o=t(1)},function(a,e,t){"use strict";function i(a){if(!(this instanceof i))return new i(a);c.call(this,a),l.call(this,a),a&&!1===a.readable&&(this.readable=!1),a&&!1===a.writable&&(this.writable=!1),this.allowHalfOpen=!0,a&&!1===a.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",n)}function n(){this.allowHalfOpen||this._writableState.ended||r.nextTick(o,this)}function o(a){a.end()}var r=t(1037),s=Object.keys||function(a){var e=[];for(var t in a)e.push(t);return e};a.exports=i;var d=t(999);d.inherits=t(168);var c=t(1464),l=t(1385);d.inherits(i,c);for(var u=s(l.prototype),p=0;p<u.length;p++){var z=u[p];i.prototype[z]||(i.prototype[z]=l.prototype[z])}Object.defineProperty(i.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(i.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(a){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=a,this._writableState.destroyed=a)}}),i.prototype._destroy=function(a,e){this.push(null),this.end(),r.nextTick(e,a)}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(1040),o=i(n),r=t(1033),s=i(r),d=t(1807),c=i(d),l=t(37),u=i(l),p=t(1808),z=t(1),m=function(a,e){this.setI18n(a),this._assessments=[],this._options=e||{}};m.prototype.setI18n=function(a){if((0,z.isUndefined)(a))throw new s.default("The assessor requires an i18n object.");this.i18n=a},m.prototype.getAvailableAssessments=function(){return this._assessments},m.prototype.isApplicable=function(a,e,t){return!a.hasOwnProperty("isApplicable")&&"function"!=typeof a.isApplicable||a.isApplicable(e,t)},m.prototype.hasMarker=function(a){return(0,z.isFunction)(this._options.marker)&&(a.hasOwnProperty("getMarks")||"function"==typeof a.getMarks)},m.prototype.getSpecificMarker=function(){return this._options.marker},m.prototype.getPaper=function(){return this._lastPaper},m.prototype.getMarker=function(a,e,t){var i=this._options.marker;return function(){var n=a.getMarks(e,t);n=(0,c.default)(n),i(e,n)}},m.prototype.assess=function(a){var e=new o.default(a),t=this.getAvailableAssessments();this.results=[],t=(0,z.filter)(t,function(t){return this.isApplicable(t,a,e)}.bind(this)),this.setHasMarkers(!1),this.results=(0,z.map)(t,this.executeAssessment.bind(this,a,e)),this._lastPaper=a},m.prototype.setHasMarkers=function(a){this._hasMarkers=a},m.prototype.hasMarkers=function(){return this._hasMarkers},m.prototype.executeAssessment=function(a,e,t){var i;try{i=t.getResult(a,e,this.i18n),i.setIdentifier(t.identifier),i.hasMarks()&&(i.marks=t.getMarks(a,e),i.marks=(0,c.default)(i.marks)),i.hasMarks()&&this.hasMarker(t)&&(this.setHasMarkers(!0),i.setMarker(this.getMarker(t,a,e)))}catch(a){(0,p.showTrace)(a),i=new u.default,i.setScore(-1),i.setText(this.i18n.sprintf(this.i18n.dgettext("js-text-analysis","An error occurred in the '%1$s' assessment"),t.identifier,a))}return i},m.prototype.getValidResults=function(){return(0,z.filter)(this.results,function(a){return this.isValidResult(a)}.bind(this))},m.prototype.isValidResult=function(a){return a.hasScore()&&a.hasText()},m.prototype.calculateOverallScore=function(){var a=this.getValidResults(),e=0;return(0,z.forEach)(a,function(a){e+=a.getScore()}),Math.round(e/(9*a.length)*100)||0},m.prototype.addAssessment=function(a,e){return e.hasOwnProperty("identifier")||(e.identifier=a),this._assessments.push(e),!0},m.prototype.removeAssessment=function(a){var e=(0,z.findIndex)(this._assessments,function(e){return e.hasOwnProperty("identifier")&&a===e.identifier});-1!==e&&this._assessments.splice(e,1)},m.prototype.getAssessment=function(a){return(0,z.find)(this._assessments,function(e){return e.hasOwnProperty("identifier")&&a===e.identifier})},m.prototype.getApplicableAssessments=function(){var a=this.getAvailableAssessments();return(0,z.filter)(a,function(a){return this.isApplicable(a,this.getPaper())}.bind(this))},e.default=m},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t){var i=(0,r.default)(a),o=[];return(0,n.forEach)(i,function(i){var n="";if(0!==k(i,t).length&&(n="regular"),0!==j(i,t).length&&(n="irregular"),""!==n)switch(t){case"fr":o.push(new p.default(i,a,{auxiliaries:e,type:n,language:t}));break;case"es":o.push(new m.default(i,a,{auxiliaries:e,type:n,language:t}));break;case"it":o.push(new w.default(i,a,{auxiliaries:e,type:n,language:t}));break;case"nl":o.push(new f.default(i,a,{auxiliaries:e,type:n,language:t}));break;case"pl":o.push(new h.default(i,a,{auxiliaries:e,type:n,language:t}));break;case"en":default:o.push(new l.default(i,a,{auxiliaries:e,type:n,language:t}))}}),o};var n=t(1),o=t(332),r=i(o),s=t(1747),d=i(s),c=t(1754),l=i(c),u=t(1758),p=i(u),z=t(1760),m=i(z),g=t(1761),w=i(g),y=t(1762),f=i(y),b=t(1764),h=i(b),v=(0,d.default)(),k=v.regularParticiples,j=v.irregularParticiples},,,,,,,,,function(a,e,t){/**
2
- * @preserve jed.js https://github.com/SlexAxton/Jed
3
- */
4
- !function(t,i){function n(a){return z.PF.compile(a||"nplurals=2; plural=(n != 1);")}function o(a,e){this._key=a,this._i18n=e}var r=Array.prototype,s=Object.prototype,d=r.slice,c=s.hasOwnProperty,l=r.forEach,u={},p={forEach:function(a,e,t){var i,n,o;if(null!==a)if(l&&a.forEach===l)a.forEach(e,t);else if(a.length===+a.length){for(i=0,n=a.length;i<n;i++)if(i in a&&e.call(t,a[i],i,a)===u)return}else for(o in a)if(c.call(a,o)&&e.call(t,a[o],o,a)===u)return},extend:function(a){return this.forEach(d.call(arguments,1),function(e){for(var t in e)a[t]=e[t]}),a}},z=function(a){if(this.defaults={locale_data:{messages:{"":{domain:"messages",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}},domain:"messages",debug:!1},this.options=p.extend({},this.defaults,a),this.textdomain(this.options.domain),a.domain&&!this.options.locale_data[this.options.domain])throw new Error("Text domain set to non-existent domain: `"+a.domain+"`")};z.context_delimiter=String.fromCharCode(4),p.extend(o.prototype,{onDomain:function(a){return this._domain=a,this},withContext:function(a){return this._context=a,this},ifPlural:function(a,e){return this._val=a,this._pkey=e,this},fetch:function(a){return"[object Array]"!={}.toString.call(a)&&(a=[].slice.call(arguments,0)),(a&&a.length?z.sprintf:function(a){return a})(this._i18n.dcnpgettext(this._domain,this._context,this._key,this._pkey,this._val),a)}}),p.extend(z.prototype,{translate:function(a){return new o(a,this)},textdomain:function(a){if(!a)return this._textdomain;this._textdomain=a},gettext:function(a){/**
5
- * @preserve jed.js https://github.com/SlexAxton/Jed
6
- */
7
- return this.dcnpgettext.call(this,void 0,void 0,a)},dgettext:function(a,e){return this.dcnpgettext.call(this,a,void 0,e)},dcgettext:function(a,e){return this.dcnpgettext.call(this,a,void 0,e)},ngettext:function(a,e,t){return this.dcnpgettext.call(this,void 0,void 0,a,e,t)},dngettext:function(a,e,t,i){return this.dcnpgettext.call(this,a,void 0,e,t,i)},dcngettext:function(a,e,t,i){return this.dcnpgettext.call(this,a,void 0,e,t,i)},pgettext:function(a,e){return this.dcnpgettext.call(this,void 0,a,e)},dpgettext:function(a,e,t){return this.dcnpgettext.call(this,a,e,t)},dcpgettext:function(a,e,t){return this.dcnpgettext.call(this,a,e,t)},npgettext:function(a,e,t,i){return this.dcnpgettext.call(this,void 0,a,e,t,i)},dnpgettext:function(a,e,t,i,n){return this.dcnpgettext.call(this,a,e,t,i,n)},dcnpgettext:function(a,e,t,i,o){i=i||t,a=a||this._textdomain;var r;if(!this.options)return r=new z,r.dcnpgettext.call(r,void 0,void 0,t,i,o);if(!this.options.locale_data)throw new Error("No locale data provided.");if(!this.options.locale_data[a])throw new Error("Domain `"+a+"` was not found.");if(!this.options.locale_data[a][""])throw new Error("No locale meta information provided.");if(!t)throw new Error("No translation key found.");var s,d,c,l=e?e+z.context_delimiter+t:t,u=this.options.locale_data,p=u[a],m=(u.messages||this.defaults.locale_data.messages)[""],g=p[""].plural_forms||p[""]["Plural-Forms"]||p[""]["plural-forms"]||m.plural_forms||m["Plural-Forms"]||m["plural-forms"];if(void 0===o)c=0;else{if("number"!=typeof o&&(o=parseInt(o,10),isNaN(o)))throw new Error("The number that was passed in is not a number.");c=n(g)(o)}if(!p)throw new Error("No domain named `"+a+"` could be found.");return!(s=p[l])||c>s.length?(this.options.missing_key_callback&&this.options.missing_key_callback(l,a),d=[t,i],!0===this.options.debug&&console.log(d[n(g)(o)]),d[n()(o)]):(d=s[c])||(d=[t,i],d[n()(o)])}});var m=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}function e(a,e){for(var t=[];e>0;t[--e]=a);return t.join("")}var t=function(){return t.cache.hasOwnProperty(arguments[0])||(t.cache[arguments[0]]=t.parse(arguments[0])),t.format.call(null,t.cache[arguments[0]],arguments)};return t.format=function(t,i){var n,o,r,s,d,c,l,u=1,p=t.length,z="",g=[];for(o=0;o<p;o++)if("string"===(z=a(t[o])))g.push(t[o]);else if("array"===z){if(s=t[o],s[2])for(n=i[u],r=0;r<s[2].length;r++){if(!n.hasOwnProperty(s[2][r]))throw m('[sprintf] property "%s" does not exist',s[2][r]);n=n[s[2][r]]}else n=s[1]?i[s[1]]:i[u++];if(/[^s]/.test(s[8])&&"number"!=a(n))throw m("[sprintf] expecting number but found %s",a(n));switch(void 0!==n&&null!==n||(n=""),s[8]){case"b":n=n.toString(2);break;case"c":n=String.fromCharCode(n);break;case"d":n=parseInt(n,10);break;case"e":n=s[7]?n.toExponential(s[7]):n.toExponential();break;case"f":n=s[7]?parseFloat(n).toFixed(s[7]):parseFloat(n);break;case"o":n=n.toString(8);break;case"s":n=(n=String(n))&&s[7]?n.substring(0,s[7]):n;break;case"u":n=Math.abs(n);break;case"x":n=n.toString(16);break;case"X":n=n.toString(16).toUpperCase()}n=/[def]/.test(s[8])&&s[3]&&n>=0?"+"+n:n,c=s[4]?"0"==s[4]?"0":s[4].charAt(1):" ",l=s[6]-String(n).length,d=s[6]?e(c,l):"",g.push(s[5]?n+d:d+n)}return g.join("")},t.cache={},t.parse=function(a){for(var e=a,t=[],i=[],n=0;e;){if(null!==(t=/^[^\x25]+/.exec(e)))i.push(t[0]);else if(null!==(t=/^\x25{2}/.exec(e)))i.push("%");else{if(null===(t=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(e)))throw"[sprintf] huh?";if(t[2]){n|=1;var o=[],r=t[2],s=[];if(null===(s=/^([a-z_][a-z_\d]*)/i.exec(r)))throw"[sprintf] huh?";for(o.push(s[1]);""!==(r=r.substring(s[0].length));)if(null!==(s=/^\.([a-z_][a-z_\d]*)/i.exec(r)))o.push(s[1]);else{if(null===(s=/^\[(\d+)\]/.exec(r)))throw"[sprintf] huh?";o.push(s[1])}t[2]=o}else n|=2;if(3===n)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";i.push(t)}e=e.substring(t[0].length)}return i},t}(),g=function(a,e){return e.unshift(a),m.apply(null,e)};z.parse_plural=function(a,e){return a=a.replace(/n/g,e),z.parse_expression(a)},z.sprintf=function(a,e){return"[object Array]"=={}.toString.call(e)?g(a,[].slice.call(e)):m.apply(this,[].slice.call(arguments))},z.prototype.sprintf=function(){return z.sprintf.apply(this,arguments)},z.PF={},z.PF.parse=function(a){var e=z.PF.extractPluralExpr(a);return z.PF.parser.parse.call(z.PF.parser,e)},z.PF.compile=function(a){function e(a){return!0===a?1:a||0}var t=z.PF.parse(a);return function(a){return e(z.PF.interpreter(t)(a))}},z.PF.interpreter=function(a){return function(e){switch(a.type){case"GROUP":return z.PF.interpreter(a.expr)(e);case"TERNARY":return z.PF.interpreter(a.expr)(e)?z.PF.interpreter(a.truthy)(e):z.PF.interpreter(a.falsey)(e);case"OR":return z.PF.interpreter(a.left)(e)||z.PF.interpreter(a.right)(e);case"AND":return z.PF.interpreter(a.left)(e)&&z.PF.interpreter(a.right)(e);case"LT":return z.PF.interpreter(a.left)(e)<z.PF.interpreter(a.right)(e);case"GT":return z.PF.interpreter(a.left)(e)>z.PF.interpreter(a.right)(e);case"LTE":return z.PF.interpreter(a.left)(e)<=z.PF.interpreter(a.right)(e);case"GTE":return z.PF.interpreter(a.left)(e)>=z.PF.interpreter(a.right)(e);case"EQ":return z.PF.interpreter(a.left)(e)==z.PF.interpreter(a.right)(e);case"NEQ":return z.PF.interpreter(a.left)(e)!=z.PF.interpreter(a.right)(e);case"MOD":return z.PF.interpreter(a.left)(e)%z.PF.interpreter(a.right)(e);case"VAR":return e;case"NUM":return a.val;default:throw new Error("Invalid Token found.")}}},z.PF.extractPluralExpr=function(a){a=a.replace(/^\s\s*/,"").replace(/\s\s*$/,""),/;\s*$/.test(a)||(a=a.concat(";"));var e,t=/nplurals\=(\d+);/,i=/plural\=(.*);/,n=a.match(t),o={};if(!(n.length>1))throw new Error("nplurals not found in plural_forms string: "+a);if(o.nplurals=n[1],a=a.replace(t,""),!((e=a.match(i))&&e.length>1))throw new Error("`plural` expression not found: "+a);return e[1]},z.PF.parser=function(){var a={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"?":6,":":7,"||":8,"&&":9,"<":10,"<=":11,">":12,">=":13,"!=":14,"==":15,"%":16,"(":17,")":18,n:19,NUMBER:20,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"?",7:":",8:"||",9:"&&",10:"<",11:"<=",12:">",13:">=",14:"!=",15:"==",16:"%",17:"(",18:")",19:"n",20:"NUMBER"},productions_:[0,[3,2],[4,5],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,1],[4,1]],performAction:function(a,e,t,i,n,o,r){var s=o.length-1;switch(n){case 1:return{type:"GROUP",expr:o[s-1]};case 2:this.$={type:"TERNARY",expr:o[s-4],truthy:o[s-2],falsey:o[s]};break;case 3:this.$={type:"OR",left:o[s-2],right:o[s]};break;case 4:this.$={type:"AND",left:o[s-2],right:o[s]};break;case 5:this.$={type:"LT",left:o[s-2],right:o[s]};break;case 6:this.$={type:"LTE",left:o[s-2],right:o[s]};break;case 7:this.$={type:"GT",left:o[s-2],right:o[s]};break;case 8:this.$={type:"GTE",left:o[s-2],right:o[s]};break;case 9:this.$={type:"NEQ",left:o[s-2],right:o[s]};break;case 10:this.$={type:"EQ",left:o[s-2],right:o[s]};break;case 11:this.$={type:"MOD",left:o[s-2],right:o[s]};break;case 12:this.$={type:"GROUP",expr:o[s-1]};break;case 13:this.$={type:"VAR"};break;case 14:this.$={type:"NUM",val:Number(a)}}},table:[{3:1,4:2,17:[1,3],19:[1,4],20:[1,5]},{1:[3]},{5:[1,6],6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{4:17,17:[1,3],19:[1,4],20:[1,5]},{5:[2,13],6:[2,13],7:[2,13],8:[2,13],9:[2,13],10:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],18:[2,13]},{5:[2,14],6:[2,14],7:[2,14],8:[2,14],9:[2,14],10:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],18:[2,14]},{1:[2,1]},{4:18,17:[1,3],19:[1,4],20:[1,5]},{4:19,17:[1,3],19:[1,4],20:[1,5]},{4:20,17:[1,3],19:[1,4],20:[1,5]},{4:21,17:[1,3],19:[1,4],20:[1,5]},{4:22,17:[1,3],19:[1,4],20:[1,5]},{4:23,17:[1,3],19:[1,4],20:[1,5]},{4:24,17:[1,3],19:[1,4],20:[1,5]},{4:25,17:[1,3],19:[1,4],20:[1,5]},{4:26,17:[1,3],19:[1,4],20:[1,5]},{4:27,17:[1,3],19:[1,4],20:[1,5]},{6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[1,28]},{6:[1,7],7:[1,29],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{5:[2,3],6:[2,3],7:[2,3],8:[2,3],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,3]},{5:[2,4],6:[2,4],7:[2,4],8:[2,4],9:[2,4],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,4]},{5:[2,5],6:[2,5],7:[2,5],8:[2,5],9:[2,5],10:[2,5],11:[2,5],12:[2,5],13:[2,5],14:[2,5],15:[2,5],16:[1,16],18:[2,5]},{5:[2,6],6:[2,6],7:[2,6],8:[2,6],9:[2,6],10:[2,6],11:[2,6],12:[2,6],13:[2,6],14:[2,6],15:[2,6],16:[1,16],18:[2,6]},{5:[2,7],6:[2,7],7:[2,7],8:[2,7],9:[2,7],10:[2,7],11:[2,7],12:[2,7],13:[2,7],14:[2,7],15:[2,7],16:[1,16],18:[2,7]},{5:[2,8],6:[2,8],7:[2,8],8:[2,8],9:[2,8],10:[2,8],11:[2,8],12:[2,8],13:[2,8],14:[2,8],15:[2,8],16:[1,16],18:[2,8]},{5:[2,9],6:[2,9],7:[2,9],8:[2,9],9:[2,9],10:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[1,16],18:[2,9]},{5:[2,10],6:[2,10],7:[2,10],8:[2,10],9:[2,10],10:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[1,16],18:[2,10]},{5:[2,11],6:[2,11],7:[2,11],8:[2,11],9:[2,11],10:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],18:[2,11]},{5:[2,12],6:[2,12],7:[2,12],8:[2,12],9:[2,12],10:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],18:[2,12]},{4:30,17:[1,3],19:[1,4],20:[1,5]},{5:[2,2],6:[1,7],7:[2,2],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,2]}],defaultActions:{6:[2,1]},parseError:function(a,e){throw new Error(a)},parse:function(a){function e(){var a;return a=t.lexer.lex()||1,"number"!=typeof a&&(a=t.symbols_[a]||a),a}var t=this,i=[0],n=[null],o=[],r=this.table,s="",d=0,c=0,l=0,u=2;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,void 0===this.lexer.yylloc&&(this.lexer.yylloc={});var p=this.lexer.yylloc;o.push(p),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var z,m,g,w,y,f,b,h,v,k={};;){if(g=i[i.length-1],this.defaultActions[g]?w=this.defaultActions[g]:(null==z&&(z=e()),w=r[g]&&r[g][z]),void 0===w||!w.length||!w[0]){if(!l){v=[];for(f in r[g])this.terminals_[f]&&f>2&&v.push("'"+this.terminals_[f]+"'");var j="";j=this.lexer.showPosition?"Parse error on line "+(d+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+this.terminals_[z]+"'":"Parse error on line "+(d+1)+": Unexpected "+(1==z?"end of input":"'"+(this.terminals_[z]||z)+"'"),this.parseError(j,{text:this.lexer.match,token:this.terminals_[z]||z,line:this.lexer.yylineno,loc:p,expected:v})}if(3==l){if(1==z)throw new Error(j||"Parsing halted.");c=this.lexer.yyleng,s=this.lexer.yytext,d=this.lexer.yylineno,p=this.lexer.yylloc,z=e()}for(;;){if(u.toString()in r[g])break;if(0==g)throw new Error(j||"Parsing halted.");!function(a){i.length=i.length-2*a,n.length=n.length-a,o.length=o.length-a}(1),g=i[i.length-1]}m=z,z=u,g=i[i.length-1],w=r[g]&&r[g][u],l=3}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+z);switch(w[0]){case 1:i.push(z),n.push(this.lexer.yytext),o.push(this.lexer.yylloc),i.push(w[1]),z=null,m?(z=m,m=null):(c=this.lexer.yyleng,s=this.lexer.yytext,d=this.lexer.yylineno,p=this.lexer.yylloc,l>0&&l--);break;case 2:if(b=this.productions_[w[1]][1],k.$=n[n.length-b],k._$={first_line:o[o.length-(b||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(b||1)].first_column,last_column:o[o.length-1].last_column},void 0!==(y=this.performAction.call(k,s,c,d,this.yy,w[1],n,o)))return y;b&&(i=i.slice(0,-1*b*2),n=n.slice(0,-1*b),o=o.slice(0,-1*b)),i.push(this.productions_[w[1]][0]),n.push(k.$),o.push(k._$),h=r[i[i.length-2]][i[i.length-1]],i.push(h);break;case 3:return!0}}return!0}},e=function(){var a={EOF:1,parseError:function(a,e){if(!this.yy.parseError)throw new Error(a);this.yy.parseError(a,e)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.match+=a,this.matched+=a,a.match(/\n/)&&this.yylineno++,this._input=this._input.slice(1),a},unput:function(a){return this._input=a+this._input,this},more:function(){return this._more=!0,this},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),e=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+e+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,e;this._more||(this.yytext="",this.match="");for(var t=this._currentRules(),i=0;i<t.length;i++)if(a=this._input.match(this.rules[t[i]]))return e=a[0].match(/\n.*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-1:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],this.performAction.call(this,this.yy,this,t[i],this.conditionStack[this.conditionStack.length-1])||void 0;if(""===this._input)return this.EOF;this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return void 0!==a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.performAction=function(a,e,t,i){switch(t){case 0:break;case 1:return 20;case 2:return 19;case 3:return 8;case 4:return 9;case 5:return 6;case 6:return 7;case 7:return 11;case 8:return 13;case 9:return 10;case 10:return 12;case 11:return 14;case 12:return 15;case 13:return 16;case 14:return 17;case 15:return 18;case 16:return 5;case 17:return"INVALID"}},a.rules=[/^\s+/,/^[0-9]+(\.[0-9]+)?\b/,/^n\b/,/^\|\|/,/^&&/,/^\?/,/^:/,/^<=/,/^>=/,/^</,/^>/,/^!=/,/^==/,/^%/,/^\(/,/^\)/,/^$/,/^./],a.conditions={INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}},a}();return a.lexer=e,a}(),void 0!==a&&a.exports&&(e=a.exports=z),e.Jed=z}()},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){var t=(0,o.default)(a);return(0,i.indexOf)(e,t)>-1};var i=t(1),n=t(259),o=function(a){return a&&a.__esModule?a:{default:a}}(n)},function(a,e,t){"use strict";function i(a){return a.replace(/[‘’‛`]/g,"'")}function n(a){return a.replace(/[“”〝〞〟‟„]/g,'"')}function o(a){return n(i(a))}Object.defineProperty(e,"__esModule",{value:!0}),e.normalizeSingle=i,e.normalizeDouble=n,e.normalize=o,e.default={normalizeSingle:i,normalizeDouble:n,normalize:o}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(37),u=i(l),p=t(91),z=i(p),m=t(997),g=i(m),w=g.default.maxMeta,y=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={recommendedMaximumLength:120,maximumLength:w,scores:{noMetaDescription:1,tooLong:6,tooShort:6,correctLength:9}};return t.identifier="metaDescriptionLength",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getMaximumLength",value:function(){return this._config.maximumLength}},{key:"getResult",value:function(a,e,t){var i=e.getResearch("metaDescriptionLength"),n=new u.default;return n.setScore(this.calculateScore(i)),n.setText(this.translateScore(i,t)),n.max=this._config.maximumLength,n.actual=i,n}},{key:"calculateScore",value:function(a){return 0===a?this._config.scores.noMetaDescription:a<=this._config.recommendedMaximumLength?this._config.scores.tooShort:a>this._config.maximumLength?this._config.scores.tooLong:a>=this._config.recommendedMaximumLength&&a<=this._config.maximumLength?this._config.scores.correctLength:0}},{key:"translateScore",value:function(a,e){var t="<a href='https://yoa.st/2pg' target='_blank'>";return 0===a?e.sprintf(e.dgettext("js-text-analysis","No %1$smeta description%2$s has been specified. Search engines will display copy from the page instead."),t,"</a>"):a<=this._config.recommendedMaximumLength?e.sprintf(e.dgettext("js-text-analysis","The %1$smeta description%2$s is under %3$d characters long. However, up to %4$d characters are available."),t,"</a>",this._config.recommendedMaximumLength,this._config.maximumLength):a>this._config.maximumLength?e.sprintf(e.dgettext("js-text-analysis","The %1$smeta description%2$s is over %3$d characters. Reducing the length will ensure the entire description will be visible."),t,"</a>",this._config.maximumLength):a>=this._config.recommendedMaximumLength&&a<=this._config.maximumLength?e.sprintf(e.dgettext("js-text-analysis","The %1$smeta description%2$s has a nice length."),t,"</a>"):void 0}}]),e}(z.default);e.default=y},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(37),u=i(l),p=t(91),z=i(p),m=t(260),g=600,w=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={minLength:400,maxLength:g,scores:{noTitle:1,widthTooShort:6,widthTooLong:3,widthCorrect:9}};return t.identifier="titleWidth",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getMaximumLength",value:function(){return g}},{key:"getResult",value:function(a,e,t){var i=e.getResearch("pageTitleWidth"),n=new u.default;return n.setScore(this.calculateScore(i)),n.setText(this.translateScore(i,t)),n.max=this._config.maxLength,n.actual=i,n}},{key:"calculateScore",value:function(a){return(0,m.inRangeEndInclusive)(a,1,400)?this._config.scores.widthTooShort:(0,m.inRangeEndInclusive)(a,this._config.minLength,this._config.maxLength)?this._config.scores.widthCorrect:a>this._config.maxLength?this._config.scores.widthTooLong:this._config.scores.noTitle}},{key:"translateScore",value:function(a,e){var t="<a href='https://yoa.st/2po' target='_blank'>";return(0,m.inRangeEndInclusive)(a,1,400)?e.sprintf(e.dgettext("js-text-analysis","The %1$sSEO title%2$s is too short. Use the space to add keyword variations or create compelling call-to-action copy."),t,"</a>"):(0,m.inRangeEndInclusive)(a,this._config.minLength,this._config.maxLength)?e.sprintf(e.dgettext("js-text-analysis","The %1$sSEO title%2$s has a nice length."),t,"</a>"):a>this._config.maxLength?e.sprintf(e.dgettext("js-text-analysis","The %1$sSEO title%2$s is wider than the viewable limit."),t,"</a>"):e.sprintf(e.dgettext("js-text-analysis","Please create an %1$sSEO title%2$s."),t,"</a>")}}]),e}(z.default);e.default=w},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){for(var e=(0,n.default)(),t=0;t<e.length;t++)a=a.replace(e[t].letters,e[t].base);return a};var i=t(1375),n=function(a){return a&&a.__esModule?a:{default:a}}(i)},function(a,e,t){function i(e,t){return delete a.exports[e],a.exports[e]=t,t}var n=t(1458),o=t(1653);a.exports={Parser:n,Tokenizer:t(1459),ElementType:t(998),DomHandler:o,get FeedHandler(){return i("FeedHandler",t(1655))},get Stream(){return i("Stream",t(1656))},get WritableStream(){return i("WritableStream",t(1463))},get ProxyHandler(){return i("ProxyHandler",t(1671))},get DomUtils(){return i("DomUtils",t(1672))},get CollectingHandler(){return i("CollectingHandler",t(1684))},DefaultHandler:o,get RssHandler(){return i("RssHandler",this.FeedHandler)},parseDOM:function(a,e){var t=new o(e);return new n(t,e).end(a),t.dom},parseFeed:function(e,t){var i=new a.exports.FeedHandler(t);return new n(i,t).end(e),i.dom},createDomStream:function(a,e,t){var i=new o(a,e,t);return new n(i,e)},EVENTS:{attribute:2,cdatastart:0,cdataend:0,text:1,processinginstruction:2,comment:1,commentend:0,closetag:1,opentag:2,opentagname:1,error:1,end:0}}},function(a,e){function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(a){return"function"==typeof a}function n(a){return"number"==typeof a}function o(a){return"object"==typeof a&&null!==a}function r(a){return void 0===a}a.exports=t,t.EventEmitter=t,t.prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(a){if(!n(a)||a<0||isNaN(a))throw TypeError("n must be a positive number");return this._maxListeners=a,this},t.prototype.emit=function(a){var e,t,n,s,d,c;if(this._events||(this._events={}),"error"===a&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var l=new Error('Uncaught, unspecified "error" event. ('+e+")");throw l.context=e,l}if(t=this._events[a],r(t))return!1;if(i(t))switch(arguments.length){case 1:t.call(this);break;case 2:t.call(this,arguments[1]);break;case 3:t.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),t.apply(this,s)}else if(o(t))for(s=Array.prototype.slice.call(arguments,1),c=t.slice(),n=c.length,d=0;d<n;d++)c[d].apply(this,s);return!0},t.prototype.addListener=function(a,e){var n;if(!i(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",a,i(e.listener)?e.listener:e),this._events[a]?o(this._events[a])?this._events[a].push(e):this._events[a]=[this._events[a],e]:this._events[a]=e,o(this._events[a])&&!this._events[a].warned&&(n=r(this._maxListeners)?t.defaultMaxListeners:this._maxListeners)&&n>0&&this._events[a].length>n&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),"function"==typeof console.trace&&console.trace()),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(a,e){function t(){this.removeListener(a,t),n||(n=!0,e.apply(this,arguments))}if(!i(e))throw TypeError("listener must be a function");var n=!1;return t.listener=e,this.on(a,t),this},t.prototype.removeListener=function(a,e){var t,n,r,s;if(!i(e))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(t=this._events[a],r=t.length,n=-1,t===e||i(t.listener)&&t.listener===e)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,e);else if(o(t)){for(s=r;s-- >0;)if(t[s]===e||t[s].listener&&t[s].listener===e){n=s;break}if(n<0)return this;1===t.length?(t.length=0,delete this._events[a]):t.splice(n,1),this._events.removeListener&&this.emit("removeListener",a,e)}return this},t.prototype.removeAllListeners=function(a){var e,t;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[a]&&delete this._events[a],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(t=this._events[a],i(t))this.removeListener(a,t);else if(t)for(;t.length;)this.removeListener(a,t[t.length-1]);return delete this._events[a],this},t.prototype.listeners=function(a){return this._events&&this._events[a]?i(this._events[a])?[this._events[a]]:this._events[a].slice():[]},t.prototype.listenerCount=function(a){if(this._events){var e=this._events[a];if(i(e))return 1;if(e)return e.length}return 0},t.listenerCount=function(a,e){return a.listenerCount(e)}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){if((0,i.isEmpty)(this.getParticiple()))return void this.setSentencePartPassiveness(!1);this.setSentencePartPassiveness(this.isPassive())};var i=t(1)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){function i(a,e,t,i){a=o(a)?a:d(a),t=t&&!i?s(t):0;var l=a.length;return t<0&&(t=c(l+t,0)),r(a)?t<=l&&a.indexOf(e,t)>-1:!!l&&n(a,e,t)>-1}var n=t(216),o=t(36),r=t(351),s=t(352),d=t(353),c=Math.max;a.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){function i(a,e){return(s(a)?n:o)(a,r(e,3))}var n=t(206),o=t(919),r=t(205),s=t(2);a.exports=i},function(a,e,t){function i(a,e){var t=[];return n(a,function(a,i,n){e(a,i,n)&&t.push(a)}),t}var n=t(176);a.exports=i},,function(a,e,t){"use strict";(function(a){var t="object"==typeof a&&a&&a.Object===Object&&a;e.a=t}).call(e,t(15))},function(a,e,t){"use strict";var i=t(43),n=t(923),o=n.a?function(a,e){return n.a.set(a,e),a}:i.a;e.a=o},function(a,e,t){"use strict";var i=t(924),n=i.a&&new i.a;e.a=n},function(a,e,t){"use strict";var i=t(191),n=t(39),o=Object(i.a)(n.a,"WeakMap");e.a=o},function(a,e,t){"use strict";function i(a){return!(!Object(r.a)(a)||Object(o.a)(a))&&(Object(n.a)(a)?m:c).test(Object(s.a)(a))}var n=t(89),o=t(1222),r=t(25),s=t(927),d=/[\\^$.*+?()[\]{}|]/g,c=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,p=l.toString,z=u.hasOwnProperty,m=RegExp("^"+p.call(z).replace(d,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.a=i},function(a,e,t){"use strict";var i=t(39),n=i.a["__core-js_shared__"];e.a=n},function(a,e,t){"use strict";function i(a){if(null!=a){try{return o.call(a)}catch(a){}try{return a+""}catch(a){}}return""}var n=Function.prototype,o=n.toString;e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){for(var o=-1,r=a.length,s=t.length,d=-1,c=e.length,l=n(r-s,0),u=Array(c+l),p=!i;++d<c;)u[d]=e[d];for(;++o<s;)(p||o<r)&&(u[t[o]]=a[o]);for(;l--;)u[d++]=a[o++];return u}var n=Math.max;e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){for(var o=-1,r=a.length,s=-1,d=t.length,c=-1,l=e.length,u=n(r-d,0),p=Array(u+l),z=!i;++o<u;)p[o]=a[o];for(var m=o;++c<l;)p[m+c]=e[c];for(;++s<d;)(z||o<r)&&(p[m+t[s]]=a[o++]);return p}var n=Math.max;e.a=i},function(a,e,t){"use strict";function i(a,e,t,i,z,m,g,w,y,f){var b=e&l,h=b?g:void 0,v=b?void 0:g,k=b?m:void 0,j=b?void 0:m;e|=b?u:p,(e&=~(b?p:u))&c||(e&=~(s|d));var _=[a,e,z,k,h,j,v,w,y,f],x=t.apply(void 0,_);return Object(n.a)(a)&&Object(o.a)(x,_),x.placeholder=i,Object(r.a)(x,a,e)}var n=t(931),o=t(935),r=t(937),s=1,d=2,c=4,l=8,u=32,p=64;e.a=i},function(a,e,t){"use strict";function i(a){var e=Object(r.a)(a),t=s.a[e];if("function"!=typeof t||!(e in n.a.prototype))return!1;if(a===t)return!0;var i=Object(o.a)(t);return!!i&&a===i[0]}var n=t(142),o=t(532),r=t(932),s=t(192);e.a=i},function(a,e,t){"use strict";function i(a){for(var e=a.name+"",t=n.a[e],i=r.call(n.a,e)?t.length:0;i--;){var o=t[i],s=o.func;if(null==s||s==a)return o.name}return e}var n=t(933),o=Object.prototype,r=o.hasOwnProperty;e.a=i},function(a,e,t){"use strict";var i={};e.a=i},function(a,e,t){"use strict";function i(a){if(a instanceof n.a)return a.clone();var e=new o.a(a.__wrapped__,a.__chain__);return e.__actions__=Object(r.a)(a.__actions__),e.__index__=a.__index__,e.__values__=a.__values__,e}var n=t(142),o=t(193),r=t(80);e.a=i},function(a,e,t){"use strict";var i=t(922),n=t(936),o=Object(n.a)(i.a);e.a=o},function(a,e,t){"use strict";function i(a){var e=0,t=0;return function(){var i=r(),s=o-(i-t);if(t=i,s>0){if(++e>=n)return arguments[0]}else e=0;return a.apply(void 0,arguments)}}var n=800,o=16,r=Date.now;e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=e+"";return Object(r.a)(a,Object(o.a)(i,Object(s.a)(Object(n.a)(i),t)))}var n=t(1227),o=t(1228),r=t(533),s=t(1230);e.a=i},function(a,e,t){"use strict";var i=t(191),n=function(){try{var a=Object(i.a)(Object,"defineProperty");return a({},"",{}),a}catch(a){}}();e.a=n},function(a,e,t){"use strict";function i(a){return a!==a}e.a=i},function(a,e,t){"use strict";function i(a,e,t){return e=o(void 0===e?a.length-1:e,0),function(){for(var i=arguments,r=-1,s=o(i.length-e,0),d=Array(s);++r<s;)d[r]=i[e+r];r=-1;for(var c=Array(e+1);++r<e;)c[r]=i[r];return c[e]=t(d),Object(n.a)(a,this,c)}}var n=t(79),o=Math.max;e.a=i},function(a,e,t){"use strict";function i(a,e){var t=Object(r.a)(a),i=!t&&Object(o.a)(a),l=!t&&!i&&Object(s.a)(a),p=!t&&!i&&!l&&Object(c.a)(a),z=t||i||l||p,m=z?Object(n.a)(a.length,String):[],g=m.length;for(var w in a)!e&&!u.call(a,w)||z&&("length"==w||l&&("offset"==w||"parent"==w)||p&&("buffer"==w||"byteLength"==w||"byteOffset"==w)||Object(d.a)(w,g))||m.push(w);return m}var n=t(535),o=t(158),r=t(7),s=t(145),d=t(143),c=t(159),l=Object.prototype,u=l.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a,e){return function(t){return a(e(t))}}e.a=i},function(a,e,t){"use strict";var i=t(1240),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,r=Object(i.a)(function(a){var e=[];return 46===a.charCodeAt(0)&&e.push(""),a.replace(n,function(a,t,i,n){e.push(i?n.replace(o,"$1"):t||a)}),e});e.a=r},function(a,e,t){"use strict";function i(a){return function(e){e=Object(s.a)(e);var t=Object(o.a)(e)?Object(r.a)(e):void 0,i=t?t[0]:e.charAt(0),d=t?Object(n.a)(t,1).join(""):e.slice(1);return i[a]()+d}}var n=t(162),o=t(236),r=t(163),s=t(13);e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&Object(n.a)(e,Object(o.a)(e),a)}var n=t(102),o=t(28);e.a=i},function(a,e,t){"use strict";(function(a){function i(a,e){if(e)return a.slice();var t=a.length,i=c?c(t):new a.constructor(t);return a.copy(i),i}var n=t(39),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=o&&"object"==typeof a&&a&&!a.nodeType&&a,s=r&&r.exports===o,d=s?n.a.Buffer:void 0,c=d?d.allocUnsafe:void 0;e.a=i}).call(e,t(536)(a))},function(a,e,t){"use strict";var i=t(161),n=t(394),o=t(555),r=t(325),s=Object.getOwnPropertySymbols,d=s?function(a){for(var e=[];a;)Object(i.a)(e,Object(o.a)(a)),a=Object(n.a)(a);return e}:r.a;e.a=d},function(a,e,t){"use strict";function i(a){return Object(n.a)(a,r.a,o.a)}var n=t(949),o=t(555),r=t(28);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=e(a);return Object(o.a)(a)?i:Object(n.a)(i,t(a))}var n=t(161),o=t(7);e.a=i},function(a,e,t){"use strict";var i=t(191),n=t(39),o=Object(i.a)(n.a,"Set");e.a=o},function(a,e,t){"use strict";var i=t(39),n=i.a.Uint8Array;e.a=n},function(a,e,t){"use strict";function i(a,e){var t=e?Object(n.a)(a.buffer):a.buffer;return new a.constructor(t,a.byteOffset,a.length)}var n=t(557);e.a=i},function(a,e,t){"use strict";function i(a){return"function"!=typeof a.constructor||Object(r.a)(a)?{}:Object(n.a)(Object(o.a)(a))}var n=t(229),o=t(394),r=t(319);e.a=i},function(a,e,t){"use strict";function i(a){var e=Object(o.a)(a);return 1==e.length&&e[0][2]?Object(r.a)(e[0][0],e[0][1]):function(t){return t===a||Object(n.a)(t,a,e)}}var n=t(564),o=t(567),r=t(957);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i,c,l){var u=t&s,p=a.length,z=e.length;if(p!=z&&!(u&&z>p))return!1;var m=l.get(a);if(m&&l.get(e))return m==e;var g=-1,w=!0,y=t&d?new n.a:void 0;for(l.set(a,e),l.set(e,a);++g<p;){var f=a[g],b=e[g];if(i)var h=u?i(b,f,g,e,a,l):i(f,b,g,a,e,l);if(void 0!==h){if(h)continue;w=!1;break}if(y){if(!Object(o.a)(e,function(a,e){if(!Object(r.a)(y,e)&&(f===a||c(f,a,t,i,l)))return y.push(e)})){w=!1;break}}else if(f!==b&&!c(f,b,t,i,l)){w=!1;break}}return l.delete(a),l.delete(e),w}var n=t(406),o=t(565),r=t(407),s=1,d=2;e.a=i},function(a,e,t){"use strict";function i(a){return a===a&&!Object(n.a)(a)}var n=t(25);e.a=i},function(a,e,t){"use strict";function i(a,e){return function(t){return null!=t&&(t[a]===e&&(void 0!==e||a in Object(t)))}}e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(s.a)(a)&&Object(d.a)(e)?Object(c.a)(Object(l.a)(a),e):function(t){var i=Object(o.a)(t,a);return void 0===i&&i===e?Object(r.a)(t,a):Object(n.a)(e,i,u|p)}}var n=t(405),o=t(322),r=t(326),s=t(541),d=t(956),c=t(957),l=t(103),u=1,p=2;e.a=i},function(a,e,t){"use strict";function i(a,e,t){e=Object(n.a)(e,a);for(var i=-1,l=e.length,u=!1;++i<l;){var p=Object(c.a)(e[i]);if(!(u=null!=a&&t(a,p)))break;a=a[p]}return u||++i!=l?u:!!(l=null==a?0:a.length)&&Object(d.a)(l)&&Object(s.a)(p,l)&&(Object(r.a)(a)||Object(o.a)(a))}var n=t(160),o=t(158),r=t(7),s=t(143),d=t(233),c=t(103);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=t.length;if(null==a)return!i;for(a=Object(a);i--;){var n=t[i],o=e[n],r=a[n];if(void 0===r&&!(n in a)||!o(r))return!1}return!0}e.a=i},function(a,e,t){"use strict";function i(a){return function(e,t,i){for(var n=-1,o=Object(e),r=i(e),s=r.length;s--;){var d=r[a?s:++n];if(!1===t(o[d],d,o))break}return e}}e.a=i},function(a,e,t){"use strict";function i(a,e){return function(t,i){if(null==t)return t;if(!Object(n.a)(t))return a(t,i);for(var o=t.length,r=e?o:-1,s=Object(t);(e?r--:++r<o)&&!1!==i(s[r],r,s););return t}}var n=t(44);e.a=i},function(a,e,t){"use strict";function i(a,e,t){(void 0===t||Object(o.a)(a[e],t))&&(void 0!==t||e in a)||Object(n.a)(a,e,t)}var n=t(144),o=t(68);e.a=i},function(a,e,t){"use strict";function i(a,e){if("__proto__"!=e)return a[e]}e.a=i},function(a,e,t){"use strict";function i(a,e,t){if("function"!=typeof a)throw new TypeError(n);return setTimeout(function(){a.apply(void 0,t)},e)}var n="Expected a function";e.a=i},function(a,e,t){"use strict";var i=t(593),n=t(962),o=Object(n.a)(i.a,!0);e.a=o},function(a,e,t){"use strict";var i=t(961),n=Object(i.a)(!0);e.a=n},function(a,e,t){"use strict";function i(a){return function(e){var t=Object(o.a)(e);return t==d?Object(r.a)(e):t==c?Object(s.a)(e):Object(n.a)(e,a(e))}}var n=t(1295),o=t(148),r=t(566),s=t(1296),d="[object Map]",c="[object Set]";e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=null==a?0:a.length;++t<i;)if(!e(a[t],t,a))return!1;return!0}e.a=i},function(a,e,t){"use strict";function i(a,e){var t=[];return Object(n.a)(a,function(a,i,n){e(a,i,n)&&t.push(a)}),t}var n=t(165);e.a=i},function(a,e,t){"use strict";function i(a){return function(e,t,i){var s=Object(e);if(!Object(o.a)(e)){var d=Object(n.a)(t,3);e=Object(r.a)(e),t=function(a){return d(s[a],a,s)}}var c=a(e,t,i);return c>-1?s[d?e[c]:c]:void 0}}var n=t(4),o=t(44),r=t(28);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i;return t(a,function(a,t,n){if(e(a,t,n))return i=t,!1}),i}e.a=i},function(a,e,t){"use strict";function i(a,e){var t=-1,i=Object(o.a)(a)?Array(a.length):[];return Object(n.a)(a,function(a,n,o){i[++t]=e(a,n,o)}),i}var n=t(165),o=t(44);e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(function(e){var t=e.length,i=t,o=n.a.prototype.thru;for(a&&e.reverse();i--;){var g=e[i];if("function"!=typeof g)throw new TypeError(l);if(o&&!w&&"wrapper"==Object(s.a)(g))var w=new n.a([],!0)}for(i=w?i:t;++i<t;){g=e[i];var y=Object(s.a)(g),f="wrapper"==y?Object(r.a)(g):void 0;w=f&&Object(c.a)(f[0])&&f[1]==(z|u|p|m)&&!f[4].length&&1==f[9]?w[Object(s.a)(f[0])].apply(w,f[3]):1==g.length&&Object(c.a)(g)?w[y]():w.thru(g)}return function(){var a=arguments,i=a[0];if(w&&1==a.length&&Object(d.a)(i))return w.plant(i).value();for(var n=0,o=t?e[n].apply(this,a):i;++n<t;)o=e[n].call(this,o);return o}})}var n=t(193),o=t(146),r=t(532),s=t(932),d=t(7),c=t(931),l="Expected a function",u=8,p=32,z=128,m=256;e.a=i},function(a,e,t){"use strict";function i(a,e){return function(t,i){return Object(n.a)(t,a,e(i),{})}}var n=t(1302);e.a=i},function(a,e,t){"use strict";function i(a,e){return e.length<2?a:Object(n.a)(a,Object(o.a)(e,0,-1))}var n=t(235),o=t(90);e.a=i},function(a,e,t){"use strict";function i(a,e){var t=null==a?0:a.length;return t?Object(n.a)(a,e)/t:o}var n=t(678),o=NaN;e.a=i},function(a,e,t){"use strict";function i(a,e){var t=a.length;if(t)return e+=e<0?t:0,Object(n.a)(e,t)?a[e]:void 0}var n=t(143);e.a=i},function(a,e,t){"use strict";function i(a,e,t){for(var i=-1,s=e.length,d={};++i<s;){var c=e[i],l=Object(n.a)(a,c);t(l,c)&&Object(o.a)(d,Object(r.a)(c,a),l)}return d}var n=t(235),o=t(330),r=t(160);e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=-1;e=Object(n.a)(e.length?e:[l.a],Object(d.a)(o.a));var u=Object(r.a)(a,function(a,t,o){return{criteria:Object(n.a)(e,function(e){return e(a)}),index:++i,value:a}});return Object(s.a)(u,function(a,e){return Object(c.a)(a,e,t)})}var n=t(27),o=t(4),r=t(973),s=t(1310),d=t(81),c=t(1311),l=t(43);e.a=i},function(a,e,t){"use strict";function i(a,e){if(a!==e){var t=void 0!==a,i=null===a,o=a===a,r=Object(n.a)(a),s=void 0!==e,d=null===e,c=e===e,l=Object(n.a)(e);if(!d&&!l&&!r&&a>e||r&&s&&c&&!d&&!l||i&&s&&c||!t&&c||!o)return 1;if(!i&&!r&&!l&&a<e||l&&t&&o&&!i&&!r||d&&t&&o||!s&&o||!c)return-1}return 0}var n=t(67);e.a=i},function(a,e,t){"use strict";function i(a,e){var t="";if(!a||e<1||e>n)return t;do{e%2&&(t+=a),(e=o(e/2))&&(a+=a)}while(e);return t}var n=9007199254740991,o=Math.floor;e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=a?e.length:0,i=t-1;t--;){var r=e[t];if(t==i||r!==d){var d=r;Object(o.a)(r)?s.call(a,r,1):Object(n.a)(a,r)}}return a}var n=t(689),o=t(143),r=Array.prototype,s=r.splice;e.a=i},function(a,e,t){"use strict";function i(a){return function(e,t,i){return i&&"number"!=typeof i&&Object(o.a)(e,t,i)&&(t=i=void 0),e=Object(r.a)(e),void 0===t?(t=e,e=0):t=Object(r.a)(t),i=void 0===i?e<t?1:-1:Object(r.a)(i),Object(n.a)(e,t,i,a)}}var n=t(1317),o=t(63),r=t(190);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i,n){return n(a,function(a,n,o){t=i?(i=!1,a):e(t,a,n,o)}),t}e.a=i},function(a,e,t){"use strict";function i(a){var e=a.length;return e?a[Object(n.a)(0,e-1)]:void 0}var n=t(713);e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=a.length,o=0,r=[];++t<i;){var s=a[t],d=e?e(s):s;if(!t||!Object(n.a)(d,c)){var c=d;r[o++]=0===s?0:s}}return r}var n=t(68);e.a=i},function(a,e,t){"use strict";var i=/<%=([\s\S]+?)%>/g;e.a=i},function(a,e,t){"use strict";function i(a,e){var t=a;return t instanceof n.a&&(t=t.value()),Object(r.a)(e,function(a,e){return e.func.apply(e.thisArg,Object(o.a)([a],e.args))},t)}var n=t(142),o=t(161),r=t(547);e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=a.length;t--&&Object(n.a)(e,a[t],0)>-1;);return t}var n=t(230);e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=-1,i=a.length;++t<i&&Object(n.a)(e,a[t],0)>-1;);return t}var n=t(230);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){return Object(o.a)(a,e,t(Object(n.a)(a,e)),i)}var n=t(235),o=t(330);e.a=i},function(a,e,t){"use strict";function i(a,e,t){for(var i=-1,n=a.length,o=e.length,r={};++i<n;){var s=i<o?e[i]:void 0;t(r,a[i],s)}return r}e.a=i},function(a,e,t){"use strict";function i(){_=[],s=(0,c.default)(function(a){_.push(a)}),s.addRule(v,"content"),s.addRule(k,"greater-than-sign-content"),s.addRule(g,"block-start"),s.addRule(w,"block-end"),s.addRule(y,"inline-start"),s.addRule(f,"inline-end"),s.addRule(b,"other-element-start"),s.addRule(h,"other-element-end")}function n(a){return z.test(a)}function o(a){return m.test(a)}function r(a){var e=[],t=0,n="",o="",r="";return a=a.replace(j,""),i(),s.onText(a),s.end(),(0,l.forEach)(_,function(a,i){var s=_[i+1];switch(a.type){case"content":case"greater-than-sign-content":case"inline-start":case"inline-end":case"other-tag":case"other-element-start":case"other-element-end":case"greater than sign":s&&(0!==t||"block-start"!==s.type&&"block-end"!==s.type)?o+=a.src:(o+=a.src,e.push(o),n="",o="",r="");break;case"block-start":0!==t&&(""!==o.trim()&&e.push(o),o="",r=""),t++,n=a.src;break;case"block-end":t--,r=a.src,""!==n&&""!==r?e.push(n+o+r):""!==o.trim()&&e.push(o),n="",o="",r=""}t<0&&(t=0)}),e}Object.defineProperty(e,"__esModule",{value:!0}),e.getBlocks=e.isInlineElement=e.isBlockElement=e.inlineElements=e.blockElements=void 0;var s,d=t(1022),c=function(a){return a&&a.__esModule?a:{default:a}}(d),l=t(1),u=["address","article","aside","blockquote","canvas","dd","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","li","main","nav","noscript","ol","output","p","pre","section","table","tfoot","ul","video"],p=["b","big","i","small","tt","abbr","acronym","cite","code","dfn","em","kbd","strong","samp","time","var","a","bdo","br","img","map","object","q","script","span","sub","sup","button","input","label","select","textarea"],z=new RegExp("^("+u.join("|")+")$","i"),m=new RegExp("^("+p.join("|")+")$","i"),g=new RegExp("^<("+u.join("|")+")[^>]*?>$","i"),w=new RegExp("^</("+u.join("|")+")[^>]*?>$","i"),y=new RegExp("^<("+p.join("|")+")[^>]*>$","i"),f=new RegExp("^</("+p.join("|")+")[^>]*>$","i"),b=/^<([^>\s\/]+)[^>]*>$/,h=/^<\/([^>\s]+)[^>]*>$/,v=/^[^<]+$/,k=/^<[^><]*$/,j=/<!--(.|[\r\n])*?-->/g,_=[],x=(0,l.memoize)(r);e.blockElements=u,e.inlineElements=p,e.isBlockElement=n,e.isInlineElement=o,e.getBlocks=x,e.default={blockElements:u,inlineElements:p,isBlockElement:n,isInlineElement:o,getBlocks:x}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=a.getKeyword(),i=(0,d.default)(a.getSynonyms()),n=(0,r.normalize)(a.getText()),s=(0,u.default)(n),l=[];if(!0===e?l=l.concat(t):(l=l.concat(t,i).filter(Boolean),l.sort(function(a,e){return e.length-a.length})),(0,c.isEmpty)(l))return{count:0,matches:[],markings:[],matchesIndices:[]};var p=[],m=[],w=[],f=0,b=0,h=[];return s.forEach(function(e){m=(0,o.default)(e,l,a.getLocale()).matches,m.length>0&&(m.forEach(function(a){var t=e.indexOf(a,b);h.push({index:t+f,match:a}),b+=t+a.length}),w=w.concat(new y.default({original:e,marked:e.replace((0,z.default)(m),function(a){return(0,g.default)(a)})}))),p=p.concat(m),f+=e.length+1}),{count:p.length,matches:(0,c.uniq)(p).sort(function(a,e){return e.length-a.length}),markings:w,matchesIndices:h}};var n=t(1637),o=i(n),r=t(818),s=t(1641),d=i(s),c=t(1),l=t(443),u=i(l),p=t(804),z=i(p),m=t(1642),g=i(m),w=t(244),y=i(w)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){for(var t=(0,n.default)(e),i=0;i<t.length;i++)a=a.replace(t[i].letter,t[i].alternative);return a};var i=t(1369),n=function(a){return a&&a.__esModule?a:{default:a}}(i)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i={queue:["wordCount","keywordDensity","subHeadings","stopwords","fleschReading","linkCount","imageCount","urlKeyword","urlLength","metaDescriptionLength","metaDescriptionKeyword","pageTitleKeyword","pageTitleLength","firstParagraph","urlStopwords","keywordDoubles","keyphraseSizeCheck"],stopWords:["a","about","above","after","again","against","all","am","an","and","any","are","as","at","be","because","been","before","being","below","between","both","but","by","could","did","do","does","doing","down","during","each","few","for","from","further","had","has","have","having","he","he'd","he'll","he's","her","here","here's","hers","herself","him","himself","his","how","how's","i","i'd","i'll","i'm","i've","if","in","into","is","it","it's","its","itself","let's","me","more","most","my","myself","nor","of","on","once","only","or","other","ought","our","ours","ourselves","out","over","own","same","she","she'd","she'll","she's","should","so","some","such","than","that","that's","the","their","theirs","them","themselves","then","there","there's","these","they","they'd","they'll","they're","they've","this","those","through","to","too","under","until","up","very","was","we","we'd","we'll","we're","we've","were","what","what's","when","when's","where","where's","which","while","who","who's","whom","why","why's","with","would","you","you'd","you'll","you're","you've","your","yours","yourself","yourselves"],wordsToRemove:[" a"," in"," an"," on"," for"," the"," and"],maxSlugLength:20,maxUrlLength:40,maxMeta:156};e.default=i},function(a,e){a.exports={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag",CDATA:"cdata",Doctype:"doctype",isTag:function(a){return"tag"===a.type||"script"===a.type||"style"===a.type}}},function(a,e,t){(function(a){function t(a){return Array.isArray?Array.isArray(a):"[object Array]"===w(a)}function i(a){return"boolean"==typeof a}function n(a){return null===a}function o(a){return null==a}function r(a){return"number"==typeof a}function s(a){return"string"==typeof a}function d(a){return"symbol"==typeof a}function c(a){return void 0===a}function l(a){return"[object RegExp]"===w(a)}function u(a){return"object"==typeof a&&null!==a}function p(a){return"[object Date]"===w(a)}function z(a){return"[object Error]"===w(a)||a instanceof Error}function m(a){return"function"==typeof a}function g(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||void 0===a}function w(a){return Object.prototype.toString.call(a)}e.isArray=t,e.isBoolean=i,e.isNull=n,e.isNullOrUndefined=o,e.isNumber=r,e.isString=s,e.isSymbol=d,e.isUndefined=c,e.isRegExp=l,e.isObject=u,e.isDate=p,e.isError=z,e.isFunction=m,e.isPrimitive=g,e.isBuffer=a.isBuffer}).call(e,t(1384).Buffer)},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(1),o=t(821),r=i(o),s=t(803),d=i(s),c=t(1039),l=i(c);e.default=(0,n.memoize)(function(a,e,t){return(0,n.isUndefined)(e)&&(e=""),((0,n.isUndefined)(t)||!0===t)&&(a=(0,r.default)(a)),a=(0,l.default)(a),a=(0,n.escapeRegExp)(a),a=(0,d.default)(a,!1,e),new RegExp(a,"ig")})},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t){var i=void 0;switch(t){case"fr":i=(0,c.default)(k);break;case"es":i=(0,c.default)(_);break;case"it":i=(0,c.default)(x);break;case"nl":i=(0,c.default)(O);break;case"pl":i=(0,c.default)(q);break;case"en":default:i=(0,c.default)(j)}var n=(0,o.default)(a,i);return(0,s.default)(n,e)};var n=t(1042),o=i(n),r=t(1483),s=i(r),d=t(804),c=i(d),l=t(1380),u=i(l),p=t(1377),z=i(p),m=t(1378),g=i(m),w=t(1379),y=i(w),f=t(1449),b=i(f),h=t(1036),v=i(h),k=(0,u.default)().cannotDirectlyPrecedePassiveParticiple,j=(0,z.default)().cannotDirectlyPrecedePassiveParticiple,_=(0,g.default)().cannotDirectlyPrecedePassiveParticiple,x=(0,y.default)().cannotDirectlyPrecedePassiveParticiple,O=(0,b.default)().cannotDirectlyPrecedePassiveParticiple,q=(0,v.default)().cannotDirectlyPrecedePassiveParticiple},,,,,,,,,,,,,,,,,,,,,function(a,e){var t=function(a,e){var t;for(t=0;t<a.length;t++)if(a[t].regex.test(e))return a[t]},i=function(a,e){var i,n,o;for(i=0;i<e.length;i++)if(n=t(a,e.substring(0,i+1)))o=n;else if(o)return{max_index:i,rule:o};return o?{max_index:e.length,rule:o}:void 0};a.exports=function(a){var e="",n=[],o=1,r=1,s=function(e,t){a({type:t,src:e,line:o,col:r});var i=e.split("\n");o+=i.length-1,r=(i.length>1?1:r)+i[i.length-1].length};return{addRule:function(a,e){n.push({regex:a,type:e})},onText:function(a){for(var t=e+a,o=i(n,t);o&&o.max_index!==t.length;)s(t.substring(0,o.max_index),o.rule.type),t=t.substring(o.max_index),o=i(n,t);e=t},end:function(){if(0!==e.length){var a=t(n,e);if(!a){var i=new Error("unable to tokenize");throw i.tokenizer2={buffer:e,line:o,col:r},i}s(e,a.type)}}}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a=a.replace(i,""),a=a.replace(n,"")};var i=new RegExp("^[\\–\\-\\(\\)_\\[\\]’“”\"'.?!:;,¿¡«»‹›—×+&<>]+"),n=new RegExp("[\\–\\-\\(\\)_\\[\\]’“”\"'.?!:;,¿¡«»‹›—×+&<>]+$")},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(91),u=i(l),p=t(37),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={parameters:{recommendedMinimum:1},scores:{good:9,bad:3},url:"<a href='https://yoa.st/2pc' target='_blank'>"};return t.identifier="introductionKeyword",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){var i=new z.default;this._firstParagraphMatches=e.getResearch("firstParagraph");var n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}},{key:"isApplicable",value:function(a){return a.hasKeyword()&&a.hasText()}},{key:"calculateResult",value:function(a){return this._firstParagraphMatches>=this._config.parameters.recommendedMinimum?{score:this._config.scores.good,resultText:a.sprintf(a.dgettext("js-text-analysis","The focus keyword appears in the %1$sfirst paragraph%2$s of the copy."),this._config.url,"</a>")}:{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","The focus keyword doesn't appear in the %1$sfirst paragraph%2$s of the copy. Make sure the topic is clear immediately."),this._config.url,"</a>")}}}]),e}(u.default);e.default=m},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(91),u=i(l),p=t(37),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={parameters:{recommendedMinimum:1,acceptableMaximum:10},scores:{veryBad:-999,consideration:0},urlNoOrGoodKeyword:"<a href='https://yoa.st/2pdd' target='_blank'>",urlKeyphraseTooLong:"<a href='https://yoa.st/2pd' target='_blank'>"};return t.identifier="keyphraseLength",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){this._keyphraseLength=e.getResearch("keyphraseLength");var i=new z.default,n=this.calculateResult(t);return(0,c.isUndefined)(n)||(i.setScore(n.score),i.setText(n.resultText)),i}},{key:"calculateResult",value:function(a){return this._keyphraseLength<this._config.parameters.recommendedMinimum?{score:this._config.scores.veryBad,resultText:a.sprintf(a.dgettext("js-text-analysis","No %1$sfocus keyword%2$s was set for this page. If you do not set a focus keyword, no score can be calculated."),this._config.urlNoOrGoodKeyword,"</a>")}:this._keyphraseLength>this._config.parameters.acceptableMaximum?{score:this._config.scores.consideration,resultText:a.sprintf(a.dgettext("js-text-analysis","The %1$skeyphrase%2$s is over 10 words, a keyphrase should be shorter."),this._config.urlKeyphraseTooLong,"</a>")}:void 0}}]),e}(u.default);e.default=m},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(91),u=i(l),p=t(37),z=i(p),m=t(340),g=i(m),w=t(260),y=i(w),f=t(802),b=i(f),h=t(995),v=i(h),k=y.default.inRangeEndInclusive,j=y.default.inRangeStartInclusive,_=y.default.inRangeStartEndInclusive,x=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={parameters:{overMaximum:3.5,maximum:2.5,minimum:.5},scores:{wayOverMaximum:-50,overMaximum:-10,correctDensity:9,underMinimum:4},url:"<a href='https://yoa.st/2pe' target='_blank'>"};return t.identifier="keywordDensity",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){var i=new z.default;this._keywordCount=e.getResearch("keywordCount").count,this._keywordDensity=e.getResearch("getKeywordDensity");var n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i.setHasMarks(this._keywordCount>0),i}},{key:"hasNoMatches",value:function(){return 0===this._keywordCount}},{key:"hasTooFewMatches",value:function(){return j(this._keywordDensity,0,this._config.parameters.minimum)}},{key:"hasGoodNumberOfMatches",value:function(){return _(this._keywordDensity,this._config.parameters.minimum,this._config.parameters.maximum)}},{key:"hasTooManyMatches",value:function(){return k(this._keywordDensity,this._config.parameters.maximum,this._config.parameters.overMaximum)}},{key:"calculateResult",value:function(a){var e=this._config.parameters.maximum+"%",t=(0,b.default)(this._keywordDensity),i=t+"%";return this.hasNoMatches()?{score:this._config.scores.underMinimum,resultText:a.sprintf(a.dgettext("js-text-analysis","The exact-match %3$skeyword density%4$s is %1$s, which is too low; the focus keyword was found %2$d times.",this._keywordCount),i,this._keywordCount,this._config.url,"</a>")}:this.hasTooFewMatches()?{score:this._config.scores.underMinimum,resultText:a.sprintf(a.dngettext("js-text-analysis","The exact-match %3$skeyword density%4$s is %1$s, which is too low; the focus keyword was found %2$d time.","The exact-match %3$skeyword density%4$s is %1$s, which is too low; the focus keyword was found %2$d times.",this._keywordCount),i,this._keywordCount,this._config.url,"</a>")}:this.hasGoodNumberOfMatches()?{score:this._config.scores.correctDensity,resultText:a.sprintf(a.dngettext("js-text-analysis","The exact-match %3$skeyword density%4$s is %1$s, which is great; the focus keyword was found %2$d time.","The exact-match %3$skeyword density%4$s is %1$s, which is great; the focus keyword was found %2$d times.",this._keywordCount),i,this._keywordCount,this._config.url,"</a>")}:this.hasTooManyMatches()?{score:this._config.scores.overMaximum,resultText:a.sprintf(a.dngettext("js-text-analysis","The exact-match %4$skeyword density%5$s is %1$s, which is over the advised %3$s maximum; the focus keyword was found %2$d time.","The exact-match %4$skeyword density%5$s is %1$s, which is over the advised %3$s maximum; the focus keyword was found %2$d times.",this._keywordCount),i,this._keywordCount,e,this._config.url,"</a>")}:{score:this._config.scores.wayOverMaximum,resultText:a.sprintf(a.dngettext("js-text-analysis","The exact-match %4$skeyword density%5$s is %1$s, which is way over the advised %3$s maximum; the focus keyword was found %2$d time.","The exact-match %4$skeyword density%5$s is %1$s, which is way over the advised %3$s maximum; the focus keyword was found %2$d times.",this._keywordCount),i,this._keywordCount,e,this._config.url,"</a>")}}},{key:"getMarks",value:function(a){return(0,v.default)(a,!0).markings}},{key:"isApplicable",value:function(a){return a.hasText()&&a.hasKeyword()&&(0,g.default)(a.getText())>=100}}]),e}(u.default);e.default=x},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(37),o=i(n),r=t(817),s=i(r),d=["en"],c=function(a,e){return a>0?{score:0,text:e.dngettext("js-text-analysis","The focus keyword contains a stop word. This may or may not be wise depending on the circumstances. %1$sLearn more about the stop words%2$s.","The focus keyword contains %3$d stop words. This may or may not be wise depending on the circumstances. %1$sLearn more about the stop words%2$s.",a)}:{}},l=function(a,e,t){var i=e.getResearch("stopWordsInKeyword"),n=c(i.length,t),r=new o.default;return r.setScore(n.score),r.setText(t.sprintf(n.text,"<a href='https://yoa.st/stopwords/' target='_blank'>","</a>",i.length)),r};e.default={identifier:"keywordStopWords",getResult:l,isApplicable:function(a){var e=(0,s.default)(a.getLocale(),d);return a.hasKeyword()&&e}}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(91),u=i(l),p=t(37),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={parameters:{recommendedMinimum:1},scores:{good:9,bad:3},url:"<a href='https://yoa.st/2pf' target='_blank'>"};return t.identifier="metaDescriptionKeyword",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){this._keywordMatches=e.getResearch("metaDescriptionKeyword");var i=new z.default,n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}},{key:"calculateResult",value:function(a){return this._keywordMatches>=this._config.parameters.recommendedMinimum?{score:this._config.scores.good,resultText:a.sprintf(a.dngettext("js-text-analysis","The meta description %1$scontains the focus keyword%2$s."),this._config.url,"</a>")}:{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","A meta description has been specified, but it %1$sdoes not contain the focus keyword%2$s."),this._config.url,"</a>")}}},{key:"isApplicable",value:function(a){return a.hasKeyword()&&a.hasDescription()}}]),e}(u.default);e.default=m},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(91),u=i(l),p=t(37),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={parameters:{recommendedMinimum:1,recommendedPosition:0},scores:{good:9,okay:6,bad:2},url:"<a href='https://yoa.st/2pn' target='_blank'>"};return t.identifier="titleKeyword",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){this._keywordMatches=e.getResearch("findKeywordInPageTitle"),this._keyword=(0,c.escape)(a.getKeyword());var i=new z.default,n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}},{key:"isApplicable",value:function(a){return a.hasKeyword()&&a.hasTitle()}},{key:"calculateResult",value:function(a){var e=this._keywordMatches.matches,t=this._keywordMatches.position;return e<this._config.parameters.recommendedMinimum?{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","The focus keyword '%1$s' does not appear in the %2$sSEO title%3$s."),this._keyword,this._config.url,"</a>")}:e>=this._config.parameters.recommendedMinimum&&t===this._config.parameters.recommendedPosition?{score:this._config.scores.good,resultText:a.sprintf(a.dgettext("js-text-analysis","The %1$sSEO title%2$s contains the focus keyword, at the beginning which is considered to improve rankings."),this._config.url,"</a>")}:{score:this._config.scores.okay,resultText:a.sprintf(a.dgettext("js-text-analysis","The %1$sSEO title%2$s contains the focus keyword, but it does not appear at the beginning; try and move it to the beginning."),this._config.url,"</a>")}}}]),e}(u.default);e.default=m},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(91),u=i(l),p=t(37),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={scores:{noKeywordInUrl:6,good:9},url:"<a href='https://yoa.st/2pp' target='_blank'>"};return t.identifier="urlKeyword",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){this._totalKeywords=e.getResearch("keywordCountInUrl");var i=new z.default,n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}},{key:"isApplicable",value:function(a){return a.hasKeyword()&&a.hasUrl()}},{key:"calculateResult",value:function(a){return 0===this._totalKeywords?{score:this._config.scores.noKeywordInUrl,resultText:a.sprintf(a.dgettext("js-text-analysis","The focus keyword does not appear in the %1$sURL%2$s for this page. If you decide to rename the URL be sure to check the old URL 301 redirects to the new one!"),this._config.url,"</a>")}:{score:this._config.scores.good,resultText:a.sprintf(a.dgettext("js-text-analysis","The focus keyword appears in the %1$sURL%2$s for this page."),this._config.url,"</a>")}}}]),e}(u.default);e.default=m},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(37),u=i(l),p=t(91),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={scores:{tooLong:6}};return t.identifier="urlLength",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){var i=e.getResearch("urlLength"),n=new u.default;return n.setScore(this.calculateScore(i)),n.setText(this.translateScore(i,t)),n}},{key:"isApplicable",value:function(a){return a.hasUrl()}},{key:"calculateScore",value:function(a){return a?this._config.scores.tooLong:null}},{key:"translateScore",value:function(a,e){return a?e.dgettext("js-text-analysis","The slug for this page is a bit long, consider shortening it."):""}}]),e}(z.default);e.default=m},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(37),o=i(n),r=t(817),s=i(r),d=["en"],c=function(a,e){return a>0?{score:5,text:e.dngettext("js-text-analysis","The slug for this page contains a %1$sstop word%2$s, consider removing it.","The slug for this page contains %1$sstop words%2$s, consider removing them.",a)}:{}},l=function(a,e,t){var i=e.getResearch("stopWordsInUrl"),n=c(i.length,t),r=new o.default;return r.setScore(n.score),r.setText(t.sprintf(n.text,"<a href='"+t.dgettext("js-text-analysis","http://en.wikipedia.org/wiki/Stop_words")+"' target='_blank'>","</a>")),r};e.default={identifier:"urlStopWords",isApplicable:function(a){return(0,s.default)(a.getLocale(),d)},getResult:l}},function(a,e,t){"use strict";function i(a){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=a}Object.defineProperty(e,"__esModule",{value:!0});var n=t(105);(function(a){return a&&a.__esModule?a:{default:a}})(n).default.inherits(i,Error),e.default=i},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(a){return-1===a?"error":0===a?"feedback":a<=4?"bad":a>4&&a<=7?"ok":a>7?"good":""};e.default=i},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{participleLike:i,otherAuxiliaries:n.concat(o),filteredAuxiliaries:i.concat(n),infinitiveAuxiliaries:o,allAuxiliaries:i.concat(n,o)}};var i=["bekommst","bekommt","bekamst","bekommest","bekommet","bekämest","bekämst","bekämet","bekämt","gekriegt","gehörst","gehört","gehörtest","gehörtet","gehörest","gehöret","erhältst","erhält","erhaltet","erhielt","erhieltest","erhieltst","erhieltet","erhaltest"],n=["werde","wirst","wird","werden","werdet","wurde","ward","wurdest","wardst","wurden","wurdet","worden","werdest","würde","würdest","würden","würdet","bekomme","bekommen","bekam","bekamen","bekäme","bekämen","kriege","kriegst","kriegt","kriegen","kriegte","kriegtest","kriegten","kriegtet","kriegest","krieget","gehöre","gehören","gehörte","gehörten","erhalte","erhalten","erhielten","erhielte"],o=["werden","bekommen","kriegen","gehören","erhalten"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtEnding:[].concat(s,F,I,R,E,q),filteredAtBeginningAndEnding:[].concat(A,M,k,j,B,g,w,y),filteredAnywhere:[].concat(o,P,r,d,c,l,u,p,z,m,f,b,h,v,_,S,T,C,D,L,$,U,W,N,K,x),cannotDirectlyPrecedePassiveParticiple:[].concat(A,z,g,r,s,C,R,D,h,f,b),cannotBeBetweenPassiveAuxiliaryAndParticiple:[].concat(x,E,w),all:[].concat(o,P,r,d,c,l,u,p,z,m,f,b,h,v,_,x,S,T,C,D,L,$,U,W,N,K,O,A,M,k,j,B,g,w,y,s,F,I,R,E,q)}};var i=t(1456),n=function(a){return a&&a.__esModule?a:{default:a}}(i),o=(0,n.default)().singleWords,r=["czterech","czterem","czterema","czternaście","czternastce","czternastek","czternastka","czternastką","czternastkach","czternastkami","czternastkę","czternastki","czternastko","czternastkom","czternastoma","czternastu","cztery","czwórce","czwórek","czwórka","czwórką","czwórkach","czwórkami","czwórkę","czwórki","czwórko","czwórkom","czworo","dwa","dwadzieścia","dwanaście","dwie","dwiema","dwóch","dwójce","dwoje","dwójek","dwójka","dwójką","dwójkach","dwójkami","dwójki","dwójko","dwójkom","dwóm","dwoma","dwudziestce","dwudziestek","dwudziestka","dwudziestką","dwudziestkach","dwudziestkami","dwudziestkę","dwudziestki","dwudziestkom","dwudziestoma","dwudziestu","dwunastce","dwunastek","dwunastka","dwunastką","dwunastkach","dwunastkami","dwunastkę","dwunastki","dwunastko","dwunastkom","dwunastoma","dwunastu","dziesiątce","dziesiątek","dziesiątka","dziesiątką","dziesiątkach","dziesiątkami","dziesiątkę","dziesiątki","dziesiątko","dziesiątkom","dziesięć","dziesięcioma","dziesięciu","dziewiątce","dziewiątek","dziewiątka","dziewiątką","dziewiątkach","dziewiątkami","dziewiątkę","dziewiątki","dziewiątko","dziewiątkom","dziewięć","dziewięcioma","dziewięciorga","dziewięciorgiem","dziewięciorgu","dziewięcioro","dziewięciu","dziewiętnaście","dziewiętnastce","dziewiętnastek","dziewiętnastka","dziewiętnastką","dziewiętnastkach","dziewiętnastkami","dziewiętnastkę","dziewiętnastki","dziewiętnastkom","dziewiętnastoma","dziewiętnastu","jeden","jedenaście","jedenastce","jedenastek","jedenastka","jedenastką","jedenastkach","jedenastkami","jedenastkę","jedenastki","jedenastko","jedenastkom","jedenastoma","jedenastu","jedna","jedną","jednego","jednej","jednemu","jedno","jednym","jedynce","jedynek","jedynka","jedynką","jedynkach","jedynkami","jedynkę","jedynki","jedynko","jedynkom","miliard","miliarda","miliardach","miliardami","miliardem","miliardom","miliardów","miliardowi","miliardy","miliardzie","milion","miliona","milionach","milionami","milionem","milionie","milionom","milionów","milionowi","miliony","ósemce","ósemek","ósemka","ósemką","ósemkach","ósemkami","ósemkę","ósemki","ósemko","ósemkom","osiem","osiemnaście","osiemnastce","osiemnastek","osiemnastka","osiemnastką","osiemnastkach","osiemnastkam","osiemnastkę","osiemnastki","osiemnastko","osiemnastkom","osiemnastoma","osiemnastu","ośmioma","ośmiorga","ośmiorgiem","ośmiorgu","ośmioro","ośmiu","piątce","piątek","piątka","piątką","piątkach","piątkami","piątkę","piątki","piątko","piątkom","pięć","pięcioma","pięciorga","pięciorgiem","pięciorgu","pięcioro","pięciu","piętnaście","piętnastce","piętnastek","piętnastka","piętnastką","piętnastkach","piętnastkami","piętnastkę","piętnastki","piętnastko","piętnastkom","piętnastoma","piętnastu","raz","setce","setek","setka","setkach","setkami","setkę","setki","setkom","siedem","siedemnaście","siedemnastce","siedemnastek","siedemnastka","siedemnastką","siedemnastkach","siedemnastkami","siedemnastkę","siedemnastki","siedemnastko","siedemnastkom","siedemnastoma","siedemnastu","siedmioma","siedmiorga","siedmiorgiem","siedmiorgu","siedmioro","siedmiu","siódemce","siódemek","siódemka","siódemką","siódemkach","siódemkami","siódemkę","siódemki","siódemko","siódemkom","sto","stoma","stu","sześć","sześcioma","sześciorga","sześciorgiem","sześciorgu","sześcioro","sześciu","szesnaście","szesnastce","szesnastek","szesnastka","szesnastką","szesnastkach","szesnastkami","szesnastkę","szesnastki","szesnastko","szesnastkom","szesnastoma","szesnastu","szóstce","szóstek","szóstka","szóstką","szóstkach","szóstkami","szóstkę","szóstki","szóstko","szóstkom","trójce","troje","trójek","trójka","trójką","trójkach","trójkami","trójki","trójko","trójkom","trzech","trzem","trzema","trzy","trzynaście","trzynastce","trzynastek","trzynastka","trzynastką","trzynastkach","trzynastkami","trzynastkę","trzynastki","trzynastko","trzynastkom","trzynastoma","trzynastu","tysiąc","tysiąca","tysiącach","tysiącami","tysiące","tysiącem","tysiącom","tysiącowi","tysiącu","tysięcy"],s=["czternaści","czternasta","czternastą","czternaste","czternastego","czternastej","czternastemu","czternasty","czternastych","czternastym","czternastymi","czwarci","czwarta","czwartą","czwarte","czwartego","czwartej","czwartemu","czwarty","czwartych","czwartym","czwartymi","drudzy","druga","drugą","drugi","drugich","drugie","drugiego","drugiej","drugiemu","drugim","drugimi","dwudzieści","dwudziesta","dwudziestą","dwudzieste","dwudziestego","dwudziestej","dwudziestemu","dwudziesty","dwudziestych","dwudziestym","dwudziestymi","dwunaści","dwunasta","dwunastą","dwunaste","dwunastego","dwunastej","dwunastemu","dwunasty","dwunastych","dwunastym","dwunastymi","dziesiąci","dziesiąta","dziesiątą","dziesiąte","dziesiątego","dziesiątej","dziesiątemu","dziesiąty","dziesiątych","dziesiątym","dziesiątymi","dziewiąci","dziewiąta","dziewiątą","dziewiąte","dziewiątego","dziewiątej","dziewiątemu","dziewiąty","dziewiątych","dziewiątym","dziewiątymi","dziewiętnaści","dziewiętnasta","dziewiętnastą","dziewiętnaste","dziewiętnastego","dziewiętnastej","dziewiętnastemu","dziewiętnasty","dziewiętnastych","dziewiętnastym","dziewiętnastymi","jedenaści","jedenasta","jedenastą","jedenaste","jedenastego","jedenastej","jedenastemu","jedenasty","jedenastych","jedenastym","jedenastymi","osiemnaści","osiemnasta","osiemnastą","osiemnaste","osiemnastego","osiemnastej","osiemnastemu","osiemnasty","osiemnastych","osiemnastym","osiemnastymi","ósma","ósmą","ósme","ósmego","ósmej","ósmemu","óśmi","ósmy","ósmych","ósmym","ósmymi","piąci","piąta","piątą","piąte","piątego","piątej","piątemu","piąty","piątych","piątym","piątymi","pierwsi","pierwsza","pierwszą","pierwsze","pierwszego","pierwszej","pierwszemu","pierwszy","pierwszych","pierwszym","pierwszymi","piętnaści","piętnasta","piętnastą","piętnaste","piętnastego","piętnastej","piętnastemu","piętnasty","piętnastych","piętnastym","piętnastymi","siedemnaści","siedemnasta","siedemnastą","siedemnaste","siedemnastego","siedemnastej","siedemnastemu","siedemnasty","siedemnastych","siedemnastym","siedemnastymi","siódma","siódmą","siódme","siódmego","siódmej","siódmemu","siódmi","siódmy","siódmych","siódmym","siódmymi","szesnaści","szesnasta","szesnastą","szesnaste","szesnastego","szesnastej","szesnastemu","szesnasty","szesnastych","szesnastymi","szóści","szósta","szóstą","szóste","szóstego","szóstej","szóstemu","szósty","szóstych","szóstym","szóstymi","trzeci","trzecia","trzecią","trzecich","trzecie","trzeciego","trzeciej","trzeciemu","trzecim","trzecimi","trzynaści","trzynasta","trzynastą","trzynaste","trzynastego","trzynastej","trzynastemu","trzynasty","trzynastych","trzynastym","trzynastymi"],d=["ja","my","on","ona","one","oni","ono","ty","wy"],c=["cię","ciebie","go","ich","ją","je","jego","mnie","nas","nią","nich","nie","niego","was"],l=["jej","niej"],u=["mi","ci","im","jemu","mu","nam","niemu","nim","tobie","wam"],p=["mną","nami","nią","nim","nimi","tobą","wami"],z=["myśmy","wyście","żeście","żeśmy"],m=["doń","nań","zeń"],g=["ich","jego","jej","ma","mą","me","mego","mej","memu","moi","moich","moim","moimi","mój","moja","moją","moje","mojego","mojej","mojemu","mych","mym","mymi","nasi","nasz","nasza","naszą","nasze","naszego","naszej","naszemu","naszych","naszym","naszymi","swa","swą","swe","swego","swej","swemu","swoi","swoich","swoim","swoimi","swój","swoja","swoją","swoje","swojego","swojej","swojemu","swych","swym","swymi","twa","twą","twe","twego","twej","twemu","twoi","twoich","twoim","twoimi","twój","twoja","twoją","twoje","twojego","twojej","twojemu","twych","twym","twymi","wasi","wasz","wasza","waszą","wasze","waszego","waszej","waszemu","waszych","waszym","waszymi"],w=["się"],y=["siebie","sobą"],f=["czyi","czyich","czyim","czyimi","czyj","czyja","czyją","czyje","czyjego","czyjej","czyjemu","kim","kogo","komu","kto"],b=["czy","czyś","czyśbyś","dlaczego","dokąd","dokądże","dokądżeś","gdzie","gdzież","gdzieżeś","ile","ileż","jak","jakbyś","jakże","jakżebyś","jakżeś","kiedy","którędy","którędyż","skąd","skądże","skądżeś"],h=["co","czego","czemu","czym","jacy","jaka","jaką","jaki","jakich","jakie","jakiego","jakiej","jakiemu","jakim","jakimi","która","którą","które","którego","której","któremu","który","których","którym","którymi","którzy"],v=["coś","czegoś","czemuś","czyichkolwiek","czyichś","czyikolwiek","czyimikolwiek","czyimiś","czyimkolwiek","czyimkolwiem","czyimś","czyiś","czyjakolwiek","czyjąkolwiek","czyjaś","czyjąś","czyjegokolwiek","czyjegoś","czyjejkolwiek","czyjejś","czyjekolwiek","czyjemukolwiek","czyjemuś","czyjeś","czyjkolwiek","czymś","dlaczegoś","dokądkolwiek","dokądś","gdziekolwiek","gdzieś","ilekolwiek","ileś","jacykolwiek","jacyś","jakakolwiek","jakąkolwiek","jakaś","jakąś","jakichkolwiek","jakichś","jakiegokolwiek","jakiegoś","jakiejkolwiek","jakiejś","jakiekolwiek","jakiemukolwiek","jakiemuś","jakieś","jakikolwiek","jakimikolwiek","jakimkolwiek","jakimś","jakiś","jakkolwiek","jakoś","każda","każdą","każde","każdego","każdej","każdemu","każdy","każdym","kiedykolwiek","kiedyś","kimkolwiek","kimś","kogokolwiek","kogoś","komukolwiek","komuś","ktokolwiek","którakolwiek","którąkolwiek","któraś","którąś","którędykolwiek","którędyś","któregokolwiek","któregoś","którejkolwiek","którejś","którekolwiek","któremukolwiek","któremuś","któreś","którychkolwiek","którychś","którykolwiek","którymikolwiek","którymiś","którymkolwiek","którymś","któryś","którzykolwiek","którzyś","ktoś","nawzajem","nic","niczego","niczemu","niczyi","niczyich","niczyim","niczyimi","niczyj","niczyja","niczyją","niczyjego","niczyjej","niczyjemu","niczym","nikim","nikogo","nikogokolwiek","nikomu","nikt","skądkolwiek","skądś","wszyscy","wszyskiego","wszystkich","wszystkie","wszystkiemu","wszystkim","wszystkimi","wszystko","żaden","żadna","żadną","żadne","żadnego","żadnej","żadnemu","żadni","żadnych","żadnym","żadnymi"],k=["ci","dlatego","ów","owa","ową","owe","owego","owej","owemu","owi","owo","owych","owym","stąd","stamtąd","ta","tacy","tak","taka","taką","taki","takich","takie","takiego","takiej","takiemu","takim","takimi","tam","tamci","tamta","tamtą","tamte","tamtego","tamtej","tamtemu","tamten","tamto","tamtych","tamtym","tamtymi","tą","te","tę","tędy","tego","tegoż","tej","temu","ten","to","tu","tutaj","tych","tyle","tyloma","tylu","tym","tymi","wtedy"],j=["ciut","część","części","częścią","częściach","częściami","częściom","dość","dosyć","dużo","kilka","kilkadziesiąt","kilkanaście","kilkaset","kilknasty","kilkoma","kilku","kilkudziesiąte","kilkudziesiątego","kilkudziesiątej","kilkudziesiąty","kilkudziesiątych","kilkudziesiątym","kilkudziesiątymi","kilkudziesięcioma","kilkudziesięciu","kilkunasta","kilkunastą","kilkunaste","kilkunastego","kilkunastej","kilkunastemu","kilkunastoma","kilkunastu","kilkunastym","kilkuset","kilkustoma","kiludziesiąta","mało","malutko","mniej","mnóstwa","mnóstwem","mnóstwie","mnóstwo","mnóstwu","multum","nadto","najmniej","najwięcej","nieco","niedużo","niejednokroć","niektóre","niektórzy","niektórych","niektórym","niektórymi","niemało","niewiele","niewieloma","niewielu","oba","obaj","obie","oboje","obojga","obojgiem","obojgu","obóm","oboma","obu","obydwa","obydwaj","obydwie","obydwiema","obydwóch","obydwoje","obydwojgiem","obydwojgu","obydwóm","obydwoma","obydwu","odrobiną","odrobince","odrobinę","odrobinie","odrobinką","odrobinkę","odrobinki","odrobiny","parę","parędziesiąt","parędziesięcioma","parędziesięciu","paręnaście","paręnastoma","paręnastu","parokroć","paroma","paru","parze","pełno","pół","półczwarta","połowa","połową","połowie","połowy","półtora","półtorej","sporo","trochę","trochu","troszeczkę","troszkę","wcale","więcej","większość","większości","większością","większościach","większościami","większościom","wiele","wielokrotnie","wieloma","wielu"],_=["czasem","często","nigdy","rzadko","zawsze"],x=["chcą","chcąc","chcąca","chcące","chcący","chce","chcę","chcecie","chcemy","chcesz","chciał","chciała","chciałaby","chciałabym","chciałabyś","chciałam","chciałaś","chciałby","chciałbym","chciałbyś","chciałem","chciałeś","chciały","chciałyby","chciałybyście","chciałybyśmy","chciałyście","chciałyśmy","chcieli","chcieliby","chcielibyście","chcieliście","chcieliśmy","chcono","ma","macie","mają","mając","mam","mamy","masz","miał","miała","miałaby","miałabym","miałabyś","miałam","miałaś","miałby","miałbym","miałbyś","miałem","miałeś","miało","miałoby","miały","miałyby","miałybyście","miałybyśmy","miałyście","miałyśmy","miano","miej","miejąca","miejące","miejący","miejcie","miejmy","mieli","mieliby","mielibyście","mielibyśmy","mieliście","mieliśmy","mogą","mogąc","mogąca","mogące","mogący","mogę","mógł","mogła","mogłaby","mogłabym","mogłabyś","mogłam","mogłaś","mógłby","mógłbym","mógłbyś","mogłem","mogłeś","mogli","mogliby","moglibyście","moglibyśmy","mogliście","mogliśmy","mogły","mogłyby","mogłybyście","mogłybyśmy","mogłyście","mogłyśmy","może","możecie","możemy","możesz","można","możnaby","musi","musiał","musiała","musiałaby","musiałabym","musiałabyś","musiałam","musiałaś","musiałby","musiałbym","musiałbyś","musiałem","musiałeś","musiało","musiałoby","musiały","musiałyby","musiałybyście","musiałybyśmy","musiałyście","musiałyśmy","musiano","musicie","musieli","musieliby","musielibyście","musielibyśmy","musieliście","musieliśmy","musimy","musisz","muszą","musząc","musząca","muszące","muszący","muszę","należy","niech","potrafi","potrafią","potrafiąc","potrafiąca","potrafiące","potrafiący","potraficie","potrafię","potrafiłaby","potrafiłabym","potrafiłabyś","potrafiłam","potrafiłaś","potrafiłbym","potrafiłbyś","potrafiłem","potrafiłeś","potrafili","potrafiliby","potrafilibyście","potrafilibyśmy","potrafiliście","potrafiliśmy","potrafiło","potrafiłoby","potrafiłyby","potrafiłybyście","potrafiłybyśmy","potrafiłyście","potrafiłyśmy","potrafimy","potrafiono","potrafisz","powinien","powinienem","powinieneś","powinna","powinnam","powinnaś","powinne","powinni","powinniście","powinniśmy","powinnyście","powinnyśmy","pozostaje","stają","stając","stająca","stające","stający","staje","staję","stajecie","stajemy","stajesz","stał","stała","stałaby","stałabym","stałabyś","stałam","stałaś","stałby","stałbym","stałbyś","stałem","stałeś","stali","staliby","stalibyście","stalibyśmy","staliście","staliśmy","stało","stały","stałyby","stałybyście","stałybyśmy","stałyście","stałyśmy","stanie","stano","stawać","stawając","stawająca","stawające","stawający","stawał","stawała","stawałaby","stawałabym","stawałabyś","stawałabyście","stawałam","stawałaś","stawałby","stawałbym","stawałbyś","stawałem","stawałeś","stawali","stawaliby","stawalibyście","stawalibyśmy","stawaliście","stawaliśmy","stawały","stawałyby","stawałybyśmy","stawałyście","stawałyśmy","stawano","stawawszy","stawszy","trzeba","warto","wystarczy"],O=["bądź","bądźcie","bądźmy","będą","będąc","będę","będzie","będziecie","będziemy","będziesz","by","był","była","byłaby","byłabym","byłabyś","byłam","byłaś","byłby","byłbym","byłbyś","byłem","byłeś","byli","byliby","bylibyście","bylibyśmy","byliście","byliśmy","było","byłoby","były","byłyby","byłybyście","byłybyśmy","byłyście","byłyśmy","bym","byś","byście","byśmy","byto","bywało","jest","jestem","jesteś","jesteście","jesteśmy","są","zostają","zostając","zostająca","zostające","zostający","zostaje","zostaję","zostajecie","zostajemy","zostajesz","został","została","zostałaby","zostałabym","zostałabyś","zostałam","zostałaś","zostałby","zostałbym","zostałbyś","zostałem","zostałeś","zostali","zostaliby","zostalibyście","zostalibyśmy","zostaliście","zostaliśmy","zostało","zostaloby","zostały","zostałyby","zostałybyście","zostałybyśmy","zostałyście","zostałyśmy","zostań","zostaną","zostańcie","zostanę","zostanie","zostaniecie","zostaniemy","zostaniesz","zostańmy","zostawało","zostawano","zostawszy"],q=["być","zostać"],E=["chcieć","mieć","móc","musieć","potrafić","stać"],A=["bez","beze","blisko","daleko","dla","do","dole","dookoła","górze","jako","koło","ku","między","mimo","na","nad","nade","naokoło","naprzeciwko","niedaleko","nieopodal","niż","o","obok","od","ode","około","oprócz","po","pod","podczas","pode","pomiędzy","ponad","poniżej","poprzek","poprzez","pośród","powyżej","poza","przeciw","przeciwko","przed","przede","przez","przeze","przy","spodem","spośród","spoza","u","w","wbrew","we","wedle","wewnątrz","wpół","wraz","wśród","wzdłuż","z","za","ze","zza"],S=["bliska","daleka","przodu","tyłu"],M=["albo","ani","bądź","i","lub","oraz","tylko"],T=["aż","by","czy","gdyby","jak","jeśli","jeżeli","że"],P=["ano","ciągu","coraz","dzięki","chyba","jakby","jednocześnie","jeszcze","już","nadal","nagle","znowu","prawdopodobnie","niestety","dziś","dzisiaj","oczywiście","względem","m.in.","właśnie","zaraz"],C=["bierz","bierzcie","bierzecie","bierzemy","bierzesz","bierzmy","biorą","biorąc","biorąca","biorące","biorący","biorę","brał","brała","brałaby","brałabym","brałabyś","brałam","brałaś","brałby","brałbym","brałbyś","brałem","brałeś","brali","braliby","bralibyście","bralibyśmy","braliście","braliśmy","brało","brałoby","brały","brałyby","brałybyście","brałybyśmy","brałyście","brałyśmy","brany","da","dacie","dadzą","daj","dają","dając","dająca","dające","dający","dajcie","daje","daję","dajecie","dajemy","dajesz","dajmy","dał","dała","dałaby","dałabym","dałabyś","dałam","dałaś","dałby","dałbym","dałbyś","dałem","dałeś","dali","daliby","dalibyście","dalibyśmy","daliście","daliśmy","dało","dałoby","dały","dałyby","dałybyście","dałybyśmy","dałyście","dałyśmy","dam","damy","dana","dano","dany","dasz","dawaj","dawajcie","dawajmy","dawał","dawała","dawałaby","dawałabym","dawałabyś","dawałam","dawałaś","dawałby","dawałbym","dawałbyś","dawałem","dawałeś","dawali","dawaliby","dawalibyście","dawalibyśmy","dawaliście","dawaliśmy","dawało","dawały","dawałyby","dawałybyście","dawałybyśmy","dawałyście","dawałyśmy","dawana","dawane","dawano","dawany","idą","idąc","idąca","idące","idący","idę","idź","idźcie","idzie","idziecie","idziemy","idziesz","idźmy","rób","róbcie","robi","robią","robiąc","robiąca","robiące","robiący","robicie","robię","robił","robiła","robiłaby","robiłabym","robiłabyś","robiłam","robiłaś","robiłby","robiłbym","robiłbyś","robiłem","robiłeś","robili","robilibiście","robiliby","robilibyśmy","robiliście","robiliśmy","robiło","robiły","robiłyby","robiłybyście","robiłybyśmy","robiłyście","robiłyśmy","robimy","robiono","robiony","robisz","róbmy","stanowi","stanowią","stanowiły","stanowili","stoi","stoicie","stoimy","stoisz","stój","stoją","stojąc","stojąca","stojące","stojący","stójcie","stoję","stójmy","świadczy","szedł","szedłby","szedłbym","szedłbyś","szedłem","szedłeś","szła","szłaby","szłabym","szłabyś","szłam","szłaś","szli","szliby","szlibyście","szlibyśmy","szliście","szliśmy","szło","szłoby","szły","szłyby","szłybyście","szłybyśmy","szłyście","uprawia","uprawiacie","uprawiają","uprawiając","uprawiająca","uprawiające","uprawiający","uprawiał","uprawiała","uprawiałaby","uprawiałabym","uprawiałabyś","uprawiałam","uprawiałaś","uprawiałby","uprawiałbym","uprawiałbyś","uprawiałem","uprawiałeś","uprawiali","uprawialiby","uprawialibyście","uprawialibyśmy","uprawialiście","uprawialiśmy","uprawiało","uprawiałoby","uprawiały","uprawiałyby","uprawiałybyście","uprawiałybyśmy","uprawiałyście","uprawiałyśmy","uprawiam","uprawiamy","uprawiana","uprawiane","uprawiano","uprawiany","uprawiasz","weź","weźcie","wezmą","wezmę","weźmie","weźmiecie","weźmiemy","weźmiesz","weźmy","wykonuj","wykonują","wykonując","wykonująca","wykonujące","wykonujący","wykonujcie","wykonuje","wykonuję","wykonujecie","wykonujemy","wykonujesz","wykonujmy","wykonywał","wykonywała","wykonywałaby","wykonywałabym","wykonywałabyś","wykonywałam","wykonywałaś","wykonywałby","wykonywałbym","wykonywałbyś","wykonywałem","wykonywałeś","wykonywali","wykonywaliby","wykonywalibyście","wykonywalibyśmy","wykonywaliście","wykonywaliśmy","wykonywało","wykonywałoby","wykonywały","wykonywałyby","wykonywałybyście","wykonywałybyśmy","wykonywałyście","wykonywałyśmy","wykonywana","wykonywane","wykonywany","wziął","wziąłby","wziąłbym","wziąłbyś","wziąłem","wziąłeś","wziąwszy","wzięła","wzięłaby","wzięłabym","wzięłabyś","wzięłam","wzięłaś","wzięli","wzięliby","wzięlibyście","wzięlibyśmy","wzięliście","wzięliśmy","wzięło","wzięłoby","wzięły","wzięłyby","wzięłybyście","wzięłybyśmy","wzięłyście","wzięłyśmy","zrób","zróbcie","zrobi","zrobią","zrobiąc","zrobiąca","zrobiące","zrobiący","zrobicie","zrobię","zrobił","zrobiła","zrobiłaby","zrobiłabym","zrobiłabyś","zrobiłam","zrobiłaś","zrobiłby","zrobiłbym","zrobiłbyś","zrobiłem","zrobiłeś","zrobili","zrobilibiście","zrobiliby","zrobilibyśmy","zrobiliście","zrobiliśmy","zrobiło","zrobiły","zrobiłyby","zrobiłybyście","zrobiłybyśmy","zrobiłyście","zrobiłyśmy","zrobimy","zrobiono","zrobiony","zrobisz","zróbmy"],R=["brać","dać","dawać","iść","robić","stanowić","uprawiać","wykonywać","wziąć","zrobić"],D=["informowali","informowały","informują","informuje","informuję","mówi","mówią","mówię","mówił","mówiła","mówili","mówiły","odpowiada","odpowiadają","odpowiadam","odpowiedział","odpowiedziała","odpowiedziałam","odpowiedziały","odpowiedzieli","odwiedziałam","poinformowałam","poinformowali","poinformowały","powiedział","powiedziała","powiedziałam","powiedziały","powiedzieli","pyta","pytać","pytał","pytała","pytałam","pytali","pytały","pytam","sądzą","sądzę","sądzi","sądzić","sądziłam","sądzili","sądziły","spytał","spytała","spytałam","spytali","spytały","stwierdziały","stwierdzieli","stwierdził","stwierdziła","stwierdziłam","twierdzą","twierdzę","twierdzi","twierdziały","twierdzić","twierdzieli","twierdził","twierdziła","twierdziłam","uważa","uważają","uważał","uważała","uważali","uważały","uważam","wyjaśnia","wyjaśniać","wyjaśniają","wyjaśniam","wyjaśnił","wyjaśniła","wyjaśnili","wyjaśniły","zapytał","zapytała","zapytałam","zapytali","zapytały","zaznacza","zaznaczają","zaznaczam","zaznaczył","zaznaczyła","zaznaczyłam","zaznaczyli","zaznaczyły"],B=["bardziej","bardzo","całkiem","całkowicie","doskonale","dość","dosyć","kompletnie","najbardziej","naprawdę","nawet","nieco","niezbyt","niezmiernie","niezwykle","ogromnie","strasznie","świetnie","wielce","wyjątkowo","zbyt","znacznie","zupełnie"],F=["cała","całą","całe","całego","całej","całemu","cali","cały","całych","całym","całymi","ciekawa","ciekawą","ciekawe","ciekawego","ciekawej","ciekawemu","ciekawi","ciekawy","ciekawych","ciekawym","ciekawymi","dłudzy","długa","długą","długi","długich","długie","długiego","długiej","długiemu","długim","długimi","dłużsi","dłuższa","dłuższą","dłuższe","dłuższego","dłuższej","dłuższemu","dłuższy","dłuższych","dłuższym","dłuższymi","dobra","dobrą","dobre","dobrego","dobrej","dobremu","dobry","dobrych","dobrym","dobrymi","dobrzy","fajna","fajną","fajne","fajnego","fajnej","fajnemu","fajni","fajny","fajnych","fajnym","fajnymi","główna","główną","główne","głównego","głównej","głównemu","główni","główny","głównych","głównym","głównymi","inna","inną","inne","innego","innej","innemu","inni","inny","innych","innym","innymi","krótcy","krótka","krótką","krótki","krótkich","krótkie","krótkiego","krótkiej","krótkiemu","krótkim","krótkimi","krótsi","krótsza","krótszą","krótsze","krótszego","krótszej","krótszemu","krótszych","krótszym","krótszymi","łatwe","łatwego","łatwiejsze","łatwym","lepsi","lepsza","lepszą","lepsze","lepszego","lepszej","lepszemu","lepszy","lepszych","lepszym","lepszymi","mała","małą","małe","małego","małej","małemu","mali","mały","małych","małym","małymi","mniejsi","mniejsza","mniejszą","mniejsze","mniejszego","mniejszej","mniejszemu","mniejszy","mniejszych","mniejszym","mniejszymi","najdłużsi","najdłuższa","najdłuższą","najdłuższe","najdłuższego","najdłuższej","najdłuższemu","najdłuższy","najdłuższych","najdłuższym","najdłuższymi","najkrótsi","najkrótsza","najkrótszą","najkrótsze","najkrótszego","najkrótszej","najkrótszemu","najkrótszych","najkrótszym","najkrótszymi","najłatwiejsze","najlepsi","najlepsza","najlepszą","najlepsze","najlepszego","najlepszej","najlepszemu","najlepszych","najlepszym","najlepszymi","najmniejsi","najmniejsza","najmniejszą","najmniejsze","najmniejszego","najmniejszej","najmniejszemu","najmniejszy","najmniejszych","najmniejszym","najmniejszymi","najniżsi","najniższa","najniższą","najniższe","najniższego","najniższej","najniższemu","najniższy","najniższych","najniższym","najniższymi","najtrudniejsze","najwięksi","największa","największą","największe","największego","największej","największemu","największych","największym","największymi","najwyżsi","najwyższa","najwyższą","najwyższe","najwyższego","najwyższej","najwyższemu","najwyższy","najwyższych","najwyższym","najwyższymi","następna","następną","następne","następnego","następnej","następni","następny","następnych","następnym","następnymi","niewłaściwa","niewłaściwą","niewłaściwe","niewłaściwego","niewłaściwej","niewłaściwemu","niewłaściwi","niewłaściwy","niewłaściwych","niewłaściwym","niewłaściwymi","niscy","niska","niską","niski","niskich","niskie","niskiego","niskiej","niskiemu","niskim","niskimi","niżsi","niższa","niższą","niższe","niższego","niższej","niższemu","niższy","niższych","niższym","niższymi","ostatni","ostatnia","ostatnią","ostatnich","ostatnie","ostatniego","ostatniej","ostatniemu","ostatnim","ostatnimi","poprzedni","poprzednia","poprzednią","poprzednich","poprzednie","poprzedniego","poprzedniej","poprzedniemu","poprzednim","poprzednimi","sam","sama","samą","same","samego","samej","samemu","sami","samo","samych","samym","samymi","trudne","trudnego","trudniejsze","trudnym","więksi","większa","większą","większe","większego","większej","większemu","większych","większym","większymi","wielcy","wielka","wielką","wielki","wielkich","wielkie","wielkiego","wielkiej","wielkiemu","wielkim","wielkimi","właściwa","właściwą","właściwe","właściwego","właściwej","właściwemu","właściwi","właściwy","właściwych","właściwym","właściwymi","wysocy","wysoka","wysoką","wysoki","wysokich","wysokie","wysokiego","wysokiej","wysokiemu","wysokim","wysokimi","wyżsi","wyższa","wyższą","wyższe","wyższego","wyższej","wyższemu","wyższy","wyższych","wyższym","wyższymi"],I=["blisko","bliżej","ciągle","ciężko","czasami","czasem","częściej","często","dalej","daleko","dawniej","dawno","dobrze","dopiero","fajnie","fajniej","gorzej","inaczej","ładnie","łatwiej","łatwo","lepiej","najbliżej","najczęściej","najdalej","najdawniej","najfajniej","najgorzej","najłatwiej","najlepiej","najniżej","najpóźniej","najprościej","najszybciej","najtrudniej","najwcześniej","najwyżej","naprawdę","niedaleko","niedawno","nisko","niżej","ostatnio","pewno","póżniej","późno","prawie","prościej","prosto","prostu","szybciej","szybko","trochę","trudniej","trudno","wcześnie","wcześniej","wolno","wszędzie","wysoko","wyżej","zazwyczaj","źle"],L=["dni","dnia","dniach","dniami","dnie","dzień","dzisiaj","godzin","godzina","godzinach","godzinami","godzinę","godziny","jutro","lata","latach","latami","miesiąc","miesiąca","miesiącach","miesiącami","miesiące","miesiącem","miesiącu","miesięcy","minut","minuta","minutach","minutę","minuty","pojutrze","przedwczoraj","rok","rokiem","roku","sekund","sekunda","sekundach","sekundę","sekundy","tydzień","tygodni","tygodnia","tygodniach","tygodniami","tygodnie","tygodniu","wczoraj"],$=["chwila","chwilą","chwilach","chwilami","chwile","chwilę","chwili","chwilom","część","części","częścią","częściach","częściami","częściom","momencie","moment","ogóle","osób","osoba","osobą","osobach","osobami","osobę","osobie","osobom","osoby","powód","powodach","powodami","powodem","powodom","powodów","powodowi","powodu","powody","powodzie","przypadkiem","przypadku","raz","razach","razami","razem","razie","razom","razów","razowi","razu","razy","rodzaj","rodzajach","rodzajami","rodzajem","rodzajom","rodzajów","rodzajowi","rodzaju","rzecz","rzeczą","rzeczach","rzeczami","rzeczom","rzeczy","sposób","sposobem","sprawa","sprawą","sprawach","sprawami","sprawę","sprawie","sprawom","sprawy","temacie","temat","tematach","tematami","tematem","tematom","tematów","tematowi","tematu","tematy"],U=["dr","dyr","mgr","p","pan","pani","panie","panowie","prof"],W=["a","ach","aha","aj","akurat","ał","aua","auć","ba","brawo","e","ech","ehe","ehm","ej","ejże","ekhm","ekstra","jej","jejku","łał","och","oh","oho","oj","ojej","ojejku","phi","precz","super","uwaga","wow"],N=["°C","°F","ar","ary","arów","arach","c","cl","cm","cm²","cm³","dag","deka","dl","f","ft","g","gram","gramów","gramy","ha","hektar","hektary","hektarów","hektarach","in","kg","kilo","km","km²","cm³","l","litr","litrów","litry","łyżeczka","łyżeczkę","łyżeczki","łyżka","łyżkę","łyżki","m","m²","m³","mg","ml","mm","mm²","mm³","szczypta","szczyptę","szczypty","szklanka","szklankę","szklanki","tuzin"],K=["nie","no","oto","tak","sobie","ok","okej"]},function(a,e,t){"use strict";(function(e){function t(a,t,i,n){if("function"!=typeof a)throw new TypeError('"callback" argument must be a function');var o,r,s=arguments.length;switch(s){case 0:case 1:return e.nextTick(a);case 2:return e.nextTick(function(){a.call(null,t)});case 3:return e.nextTick(function(){a.call(null,t,i)});case 4:return e.nextTick(function(){a.call(null,t,i,n)});default:for(o=new Array(s-1),r=0;r<o.length;)o[r++]=arguments[r];return e.nextTick(function(){a.apply(null,o)})}}!e.version||0===e.version.indexOf("v0.")||0===e.version.indexOf("v1.")&&0!==e.version.indexOf("v1.8.")?a.exports={nextTick:t}:a.exports=e}).call(e,t(444))},function(a,e,t){function i(a,e){for(var t in a)e[t]=a[t]}function n(a,e,t){return r(a,e,t)}var o=t(1384),r=o.Buffer;r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?a.exports=o:(i(o,e),e.Buffer=n),i(r,n),n.from=function(a,e,t){if("number"==typeof a)throw new TypeError("Argument must not be a number");return r(a,e,t)},n.alloc=function(a,e,t){if("number"!=typeof a)throw new TypeError("Argument must be a number");var i=r(a);return void 0!==e?"string"==typeof t?i.fill(e,t):i.fill(e):i.fill(0),i},n.allocUnsafe=function(a){if("number"!=typeof a)throw new TypeError("Argument must be a number");return r(a)},n.allocUnsafeSlow=function(a){if("number"!=typeof a)throw new TypeError("Argument must be a number");return o.SlowBuffer(a)}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a=(0,i.stripFullTags)(a),a=(0,o.default)(a)};var i=t(199),n=t(108),o=function(a){return a&&a.__esModule?a:{default:a}}(n)},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(1685),o=i(n),r=t(1),s=t(1388),d=i(s),c=t(1033),l=i(c),u=t(1473),p=i(u),z=t(1686),m=i(z),g=t(1690),w=i(g),y=t(1475),f=i(y),b=t(1691),h=i(b),v=t(1692),k=i(v),j=t(1693),_=i(j),x=t(1697),O=i(x),q=t(1698),E=i(q),A=t(1699),S=i(A),M=t(1701),T=i(M),P=t(1702),C=i(P),R=t(1716),D=i(R),B=t(1478),F=i(B),I=t(1717),L=i(I),$=t(1719),U=i($),W=t(1720),N=i(W),K=t(1721),H=i(K),V=t(1722),Y=i(V),G=t(1723),Z=i(G),J=t(1724),X=i(J),Q=t(1725),aa=i(Q),ea=t(1726),ta=i(ea),ia=t(1727),na=i(ia),oa=t(1728),ra=i(oa),sa=t(1730),da=i(sa),ca=t(1744),la=i(ca),ua=t(1793),pa=i(ua),za=t(1803),ma=i(za),ga=t(1804),wa=i(ga),ya=t(1805),fa=i(ya),ba=t(995),ha=i(ba),va=t(1806),ka=i(va),ja=function(a){this.setPaper(a),this.defaultResearches={urlLength:h.default,wordCountInText:p.default,findKeywordInPageTitle:k.default,calculateFleschReading:C.default,getLinkStatistics:m.default,getLinks:f.default,linkCount:w.default,imageCount:F.default,altTagCount:L.default,matchKeywordInSubheadings:_.default,keywordCount:E.default,getKeywordDensity:O.default,stopWordsInKeyword:S.default,stopWordsInUrl:T.default,metaDescriptionLength:D.default,keyphraseLength:U.default,keywordCountInUrl:H.default,firstParagraph:Y.default,metaDescriptionKeyword:N.default,pageTitleWidth:Z.default,wordComplexity:X.default,getParagraphLength:aa.default,countSentencesFromText:ta.default,countSentencesFromDescription:na.default,getSubheadingTextLengths:ra.default,findTransitionWords:da.default,passiveVoice:la.default,getSentenceBeginnings:pa.default,relevantWords:ma.default,readingTime:wa.default,getTopicDensity:fa.default,topicCount:ha.default,sentences:o.default,largestKeywordDistance:ka.default},this.customResearches={}};ja.prototype.setPaper=function(a){this.paper=a},ja.prototype.addResearch=function(a,e){if((0,r.isUndefined)(a)||(0,r.isEmpty)(a))throw new l.default("Research name cannot be empty");if(!(e instanceof Function))throw new d.default("The research requires a Function callback.");this.customResearches[a]=e},ja.prototype.hasResearch=function(a){return Object.keys(this.getAvailableResearches()).filter(function(e){return e===a}).length>0},ja.prototype.getAvailableResearches=function(){return(0,r.merge)(this.defaultResearches,this.customResearches)},ja.prototype.getResearch=function(a){if((0,r.isUndefined)(a)||(0,r.isEmpty)(a))throw new l.default("Research name cannot be empty");return!!this.hasResearch(a)&&this.getAvailableResearches()[a](this.paper,this)},e.default=ja},function(a,e,t){"use strict";function i(a,e){if(a.map)return a.map(e);for(var t=[],i=0;i<a.length;i++)t.push(e(a[i],i));return t}var n=function(a){switch(typeof a){case"string":return a;case"boolean":return a?"true":"false";case"number":return isFinite(a)?a:"";default:return""}};a.exports=function(a,e,t,s){return e=e||"&",t=t||"=",null===a&&(a=void 0),"object"==typeof a?i(r(a),function(r){var s=encodeURIComponent(n(r))+t;return o(a[r])?i(a[r],function(a){return s+encodeURIComponent(n(a))}).join(e):s+encodeURIComponent(n(a[r]))}).join(e):s?encodeURIComponent(n(s))+t+encodeURIComponent(n(a)):""};var o=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},r=Object.keys||function(a){var e=[];for(var t in a)Object.prototype.hasOwnProperty.call(a,t)&&e.push(t);return e}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){for(var t=[],i=e.exec(a);null!==i;i=e.exec(a))t.push({match:i[0],index:i.index});return t}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t){var i=void 0;switch(t){case"fr":i=(0,c.default)(f);break;case"es":i=(0,c.default)(h);break;case"it":i=(0,c.default)(v);break;case"en":default:i=(0,c.default)(b)}var n=(0,o.default)(a,i);return(0,s.default)(n,e)};var n=t(1042),o=i(n),r=t(1757),s=i(r),d=t(804),c=i(d),l=t(1380),u=i(l),p=t(1377),z=i(p),m=t(1378),g=i(m),w=t(1379),y=i(w),f=(0,u.default)().cannotBeBetweenPassiveAuxiliaryAndParticiple,b=(0,z.default)().cannotBeBetweenPassiveAuxiliaryAndParticiple,h=(0,g.default)().cannotBeBetweenPassiveAuxiliaryAndParticiple,v=(0,y.default)().cannotBeBetweenPassiveAuxiliaryAndParticiple},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(806),o=i(n),r=t(1359),s=i(r),d=t(1360),c=i(d),l=t(1364),u=i(l),p=t(1365),z=i(p),m=t(1367),g=i(m),w=t(1362),y=i(w),f=t(1363),b=i(f),h=t(1366),v=i(h),k=t(1487),j=i(k),_=t(1034),x=i(_),O=t(1),q=function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o.default.call(this,a,e);var t=e.hasOwnProperty("locale")?e.locale:"en_US";this._assessments=[new s.default((0,j.default)(t).fleschReading),new z.default,c.default,new u.default((0,j.default)(t).sentenceLength),g.default,y.default,v.default,b.default]};t(105).inherits(q,o.default),q.prototype.calculatePenaltyPointsFullSupport=function(a){switch(a){case"bad":return 3;case"ok":return 2;default:case"good":return 0}},q.prototype.calculatePenaltyPointsPartialSupport=function(a){switch(a){case"bad":return 4;case"ok":return 2;default:case"good":return 0}},q.prototype._allAssessmentsSupported=function(){return 8===this.getApplicableAssessments().length},q.prototype.calculatePenaltyPoints=function(){var a=this.getValidResults(),e=(0,O.map)(a,function(a){var e=(0,x.default)(a.getScore());return this._allAssessmentsSupported()?this.calculatePenaltyPointsFullSupport(e):this.calculatePenaltyPointsPartialSupport(e)}.bind(this));return(0,O.sum)(e)},q.prototype._ratePenaltyPoints=function(a){if(1===this.getValidResults().length)return 30;if(this._allAssessmentsSupported()){if(a>6)return 30;if(a>4)return 60}else{if(a>4)return 30;if(a>2)return 60}return 90},q.prototype.calculateOverallScore=function(){if(0===this.getValidResults().length)return 30;var a=this.calculatePenaltyPoints();return this._ratePenaltyPoints(a)},e.default=q},function(a,e,t){"use strict";function i(a,e){var t={};for(var i in a)e.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(a,i)&&(t[i]=a[i]);return t}Object.defineProperty(e,"__esModule",{value:!0});var n=Object.assign||function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(a[i]=t[i])}return a},o=t(1),r={keyword:"",synonyms:"",description:"",title:"",titleWidth:0,url:"",locale:"en_US",permalink:""},s=function(a,e){this._text=a||"",e=e||{},(0,o.defaults)(e,r),""===e.locale&&(e.locale=r.locale);var t=e.keyword.replace(/[‘’“”"'.?!:;,¿¡«»&*@#±^%|~`[\](){}⟨⟩<>\/\\–\-\u2014\u00d7\u002b\u0026\s]/g,"");(0,o.isEmpty)(t)&&(e.keyword=r.keyword),this._attributes=e};s.prototype.hasKeyword=function(){return""!==this._attributes.keyword},s.prototype.getKeyword=function(){return this._attributes.keyword},s.prototype.hasSynonyms=function(){return""!==this._attributes.synonyms},s.prototype.getSynonyms=function(){return this._attributes.synonyms},s.prototype.hasText=function(){return""!==this._text},s.prototype.getText=function(){return this._text},s.prototype.hasDescription=function(){return""!==this._attributes.description},s.prototype.getDescription=function(){return this._attributes.description},s.prototype.hasTitle=function(){return""!==this._attributes.title},s.prototype.getTitle=function(){return this._attributes.title},s.prototype.hasTitleWidth=function(){return 0!==this._attributes.titleWidth},s.prototype.getTitleWidth=function(){return this._attributes.titleWidth},s.prototype.hasUrl=function(){return""!==this._attributes.url},s.prototype.getUrl=function(){return this._attributes.url},s.prototype.hasLocale=function(){return""!==this._attributes.locale},s.prototype.getLocale=function(){return this._attributes.locale},s.prototype.hasPermalink=function(){return""!==this._attributes.permalink},s.prototype.getPermalink=function(){return this._attributes.permalink},s.prototype.serialize=function(){return n({_parseClass:"Paper",text:this._text},this._attributes)},s.prototype.equals=function(a){return this._text===a.getText()&&(0,o.isEqual)(this._attributes,a._attributes)},s.parse=function(a){var e=a.text,t=(a._parseClass,i(a,["text","_parseClass"]));return new s(e,t)},e.default=s},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){"use strict";function i(a){return"number"==typeof a?a:Object(n.a)(a)?o:+a}var n=t(67),o=NaN;e.a=i},function(a,e,t){"use strict";function i(a){var e=r.call(a,d),t=a[d];try{a[d]=void 0;var i=!0}catch(a){}var n=s.call(a);return i&&(e?a[d]=t:delete a[d]),n}var n=t(157),o=Object.prototype,r=o.hasOwnProperty,s=o.toString,d=n.a?n.a.toStringTag:void 0;e.a=i},function(a,e,t){"use strict";function i(a){return o.call(a)}var n=Object.prototype,o=n.toString;e.a=i},function(a,e,t){"use strict";function i(a){return!!o&&o in a}var n=t(926),o=function(){var a=/[^.]+$/.exec(n.a&&n.a.keys&&n.a.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""}();e.a=i},function(a,e,t){"use strict";function i(a,e){return null==a?void 0:a[e]}e.a=i},function(a,e,t){"use strict";function i(a,e,t){function i(){return(this&&this!==o.a&&this instanceof i?d:a).apply(s?t:this,arguments)}var s=e&r,d=Object(n.a)(a);return i}var n=t(382),o=t(39),r=1;e.a=i},function(a,e,t){"use strict";function i(a,e,t){function i(){for(var o=arguments.length,p=Array(o),z=o,m=Object(d.a)(i);z--;)p[z]=arguments[z];var g=o<3&&p[0]!==m&&p[o-1]!==m?[]:Object(c.a)(p,m);if((o-=g.length)<t)return Object(s.a)(a,e,r.a,i.placeholder,void 0,p,g,void 0,void 0,t-o);var w=this&&this!==l.a&&this instanceof i?u:a;return Object(n.a)(w,this,p)}var u=Object(o.a)(a);return i}var n=t(79),o=t(382),r=t(531),s=t(930),d=t(231),c=t(195),l=t(39);e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=a.length,i=0;t--;)a[t]===e&&++i;return i}e.a=i},function(a,e,t){"use strict";function i(a){var e=a.match(n);return e?e[1].split(o):[]}var n=/\{\n\/\* \[wrapped with (.+)\] \*/,o=/,? & /;e.a=i},function(a,e,t){"use strict";function i(a,e){var t=e.length;if(!t)return a;var i=t-1;return e[i]=(t>1?"& ":"")+e[i],e=e.join(t>2?", ":" "),a.replace(n,"{\n/* [wrapped with "+e+"] */\n")}var n=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;e.a=i},function(a,e,t){"use strict";var i=t(317),n=t(938),o=t(43),r=n.a?function(a,e){return Object(n.a)(a,"toString",{configurable:!0,enumerable:!1,value:Object(i.a)(e),writable:!0})}:o.a;e.a=r},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(r,function(t){var i="_."+t[0];e&t[1]&&!Object(o.a)(a,i)&&a.push(i)}),a.sort()}var n=t(194),o=t(384),r=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]];e.a=i},function(a,e,t){"use strict";function i(a,e,t){for(var i=t-1,n=a.length;++i<n;)if(a[i]===e)return i;return-1}e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=a.length,i=r(e.length,t),s=Object(n.a)(a);i--;){var d=e[i];a[i]=Object(o.a)(d,t)?s[d]:void 0}return a}var n=t(80),o=t(143),r=Math.min;e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){function d(){for(var e=-1,o=arguments.length,s=-1,u=i.length,p=Array(u+o),z=this&&this!==r.a&&this instanceof d?l:a;++s<u;)p[s]=i[s];for(;o--;)p[s++]=arguments[++e];return Object(n.a)(z,c?t:this,p)}var c=e&s,l=Object(o.a)(a);return d}var n=t(79),o=t(382),r=t(39),s=1;e.a=i},function(a,e,t){"use strict";function i(a,e){var t=a[1],i=e[1],g=t|i,w=g<(d|c|p),y=i==p&&t==u||i==p&&t==z&&a[7].length<=e[8]||i==(p|z)&&e[7].length<=e[8]&&t==u;if(!w&&!y)return a;i&d&&(a[2]=e[2],g|=t&d?0:l);var f=e[3];if(f){var b=a[3];a[3]=b?Object(n.a)(b,f,e[4]):f,a[4]=b?Object(r.a)(a[3],s):e[4]}return f=e[5],f&&(b=a[5],a[5]=b?Object(o.a)(b,f,e[6]):f,a[6]=b?Object(r.a)(a[5],s):e[6]),f=e[7],f&&(a[7]=f),i&p&&(a[8]=null==a[8]?e[8]:m(a[8],e[8])),null==a[9]&&(a[9]=e[9]),a[0]=e[0],a[1]=g,a}var n=t(928),o=t(929),r=t(195),s="__lodash_placeholder__",d=1,c=2,l=4,u=8,p=128,z=256,m=Math.min;e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(62),o=t(23),r="[object Arguments]";e.a=i},function(a,e,t){"use strict";function i(a){return Object(r.a)(a)&&Object(o.a)(a.length)&&!!s[Object(n.a)(a)]}var n=t(62),o=t(233),r=t(23),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.a=i},function(a,e,t){"use strict";var i=t(942),n=Object(i.a)(Object.keys,Object);e.a=n},function(a,e,t){"use strict";function i(a){if(!Object(n.a)(a))return Object(r.a)(a);var e=Object(o.a)(a),t=[];for(var i in a)("constructor"!=i||!e&&d.call(a,i))&&t.push(i);return t}var n=t(25),o=t(319),r=t(1239),s=Object.prototype,d=s.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a){var e=[];if(null!=a)for(var t in Object(a))e.push(t);return e}e.a=i},function(a,e,t){"use strict";function i(a){var e=Object(n.a)(a,function(a){return t.size===o&&t.clear(),a}),t=e.cache;return e}var n=t(387),o=500;e.a=i},function(a,e,t){"use strict";function i(){this.size=0,this.__data__={hash:new n.a,map:new(r.a||o.a),string:new n.a}}var n=t(1242),o=t(389),r=t(543);e.a=i},function(a,e,t){"use strict";function i(a){var e=-1,t=null==a?0:a.length;for(this.clear();++e<t;){var i=a[e];this.set(i[0],i[1])}}var n=t(1243),o=t(1244),r=t(1245),s=t(1246),d=t(1247);i.prototype.clear=n.a,i.prototype.delete=o.a,i.prototype.get=r.a,i.prototype.has=s.a,i.prototype.set=d.a,e.a=i},function(a,e,t){"use strict";function i(){this.__data__=n.a?Object(n.a)(null):{},this.size=0}var n=t(388);e.a=i},function(a,e,t){"use strict";function i(a){var e=this.has(a)&&delete this.__data__[a];return this.size-=e?1:0,e}e.a=i},function(a,e,t){"use strict";function i(a){var e=this.__data__;if(n.a){var t=e[a];return t===o?void 0:t}return s.call(e,a)?e[a]:void 0}var n=t(388),o="__lodash_hash_undefined__",r=Object.prototype,s=r.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a){var e=this.__data__;return n.a?void 0!==e[a]:r.call(e,a)}var n=t(388),o=Object.prototype,r=o.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a,e){var t=this.__data__;return this.size+=this.has(a)?0:1,t[a]=n.a&&void 0===e?o:e,this}var n=t(388),o="__lodash_hash_undefined__";e.a=i},function(a,e,t){"use strict";function i(){this.__data__=[],this.size=0}e.a=i},function(a,e,t){"use strict";function i(a){var e=this.__data__,t=Object(n.a)(e,a);return!(t<0)&&(t==e.length-1?e.pop():r.call(e,t,1),--this.size,!0)}var n=t(390),o=Array.prototype,r=o.splice;e.a=i},function(a,e,t){"use strict";function i(a){var e=this.__data__,t=Object(n.a)(e,a);return t<0?void 0:e[t][1]}var n=t(390);e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(this.__data__,a)>-1}var n=t(390);e.a=i},function(a,e,t){"use strict";function i(a,e){var t=this.__data__,i=Object(n.a)(t,a);return i<0?(++this.size,t.push([a,e])):t[i][1]=e,this}var n=t(390);e.a=i},function(a,e,t){"use strict";function i(a){var e=Object(n.a)(this,a).delete(a);return this.size-=e?1:0,e}var n=t(391);e.a=i},function(a,e,t){"use strict";function i(a){var e=typeof a;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==a:null===a}e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(this,a).get(a)}var n=t(391);e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(this,a).has(a)}var n=t(391);e.a=i},function(a,e,t){"use strict";function i(a,e){var t=Object(n.a)(this,a),i=t.size;return t.set(a,e),this.size+=t.size==i?0:1,this}var n=t(391);e.a=i},function(a,e,t){"use strict";function i(a){return Object(r.a)(a)||Object(o.a)(a)||!!(s&&a&&a[s])}var n=t(157),o=t(158),r=t(7),s=n.a?n.a.isConcatSpreadable:void 0;e.a=i},function(a,e,t){"use strict";function i(a){return a.split("")}e.a=i},function(a,e,t){"use strict";function i(a){return a.match(p)||[]}var n="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",o="\\ud83c[\\udffb-\\udfff]",r="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",d="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",c="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",r,s].join("|")+")[\\ufe0e\\ufe0f]?"+d+")*",l="[\\ufe0e\\ufe0f]?"+d+c,u="(?:"+["[^\\ud800-\\udfff]"+n+"?",n,r,s,"[\\ud800-\\udfff]"].join("|")+")",p=RegExp(o+"(?="+o+")|"+u+l,"g");e.a=i},function(a,e,t){"use strict";var i=t(548),n={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},o=Object(i.a)(n);e.a=o},function(a,e,t){"use strict";function i(a){return a.match(n)||[]}var n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;e.a=i},function(a,e,t){"use strict";function i(a){return n.test(a)}var n=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;e.a=i},function(a,e,t){"use strict";function i(a){return a.match(w)||[]}var n="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",o="["+n+"]",r="[a-z\\xdf-\\xf6\\xf8-\\xff]",s="[^\\ud800-\\udfff"+n+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",d="(?:\\ud83c[\\udde6-\\uddff]){2}",c="[\\ud800-\\udbff][\\udc00-\\udfff]",l="[A-Z\\xc0-\\xd6\\xd8-\\xde]",u="(?:"+r+"|"+s+")",p="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",z="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",d,c].join("|")+")[\\ufe0e\\ufe0f]?"+p+")*",m="[\\ufe0e\\ufe0f]?"+p+z,g="(?:"+["[\\u2700-\\u27bf]",d,c].join("|")+")"+m,w=RegExp([l+"?"+r+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[o,l,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[o,l+u,"$"].join("|")+")",l+"?"+u+"+(?:['’](?:d|ll|m|re|s|t|ve))?",l+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",g].join("|"),"g");e.a=i},function(a,e,t){"use strict";function i(){this.__data__=new n.a,this.size=0}var n=t(389);e.a=i},function(a,e,t){"use strict";function i(a){var e=this.__data__,t=e.delete(a);return this.size=e.size,t}e.a=i},function(a,e,t){"use strict";function i(a){return this.__data__.get(a)}e.a=i},function(a,e,t){"use strict";function i(a){return this.__data__.has(a)}e.a=i},function(a,e,t){"use strict";function i(a,e){var t=this.__data__;if(t instanceof n.a){var i=t.__data__;if(!o.a||i.length<s-1)return i.push([a,e]),this.size=++t.size,this;t=this.__data__=new r.a(i)}return t.set(a,e),this.size=t.size,this}var n=t(389),o=t(543),r=t(542),s=200;e.a=i},function(a,e,t){"use strict";function i(a,e){return a&&Object(n.a)(e,Object(o.a)(e),a)}var n=t(102),o=t(52);e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(a,Object(o.a)(a),e)}var n=t(102),o=t(555);e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(a,Object(o.a)(a),e)}var n=t(102),o=t(947);e.a=i},function(a,e,t){"use strict";var i=t(191),n=t(39),o=Object(i.a)(n.a,"DataView");e.a=o},function(a,e,t){"use strict";var i=t(191),n=t(39),o=Object(i.a)(n.a,"Promise");e.a=o},function(a,e,t){"use strict";function i(a){var e=a.length,t=new a.constructor(e);return e&&"string"==typeof a[0]&&o.call(a,"index")&&(t.index=a.index,t.input=a.input),t}var n=Object.prototype,o=n.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a,e,t){var i=a.constructor;switch(e){case y:return Object(n.a)(a);case c:case l:return new i(+a);case f:return Object(o.a)(a,t);case b:case h:case v:case k:case j:case _:case x:case O:case q:return Object(d.a)(a,t);case u:return new i;case p:case g:return new i(a);case z:return Object(r.a)(a);case m:return new i;case w:return Object(s.a)(a)}}var n=t(557),o=t(1277),r=t(1278),s=t(1279),d=t(952),c="[object Boolean]",l="[object Date]",u="[object Map]",p="[object Number]",z="[object RegExp]",m="[object Set]",g="[object String]",w="[object Symbol]",y="[object ArrayBuffer]",f="[object DataView]",b="[object Float32Array]",h="[object Float64Array]",v="[object Int8Array]",k="[object Int16Array]",j="[object Int32Array]",_="[object Uint8Array]",x="[object Uint8ClampedArray]",O="[object Uint16Array]",q="[object Uint32Array]";e.a=i},function(a,e,t){"use strict";function i(a,e){var t=e?Object(n.a)(a.buffer):a.buffer;return new a.constructor(t,a.byteOffset,a.byteLength)}var n=t(557);e.a=i},function(a,e,t){"use strict";function i(a){var e=new a.constructor(a.source,n.exec(a));return e.lastIndex=a.lastIndex,e}var n=/\w*$/;e.a=i},function(a,e,t){"use strict";function i(a){return r?Object(r.call(a)):{}}var n=t(157),o=n.a?n.a.prototype:void 0,r=o?o.valueOf:void 0;e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(148),o=t(23),r="[object Map]";e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(148),o=t(23),r="[object Set]";e.a=i},function(a,e,t){"use strict";function i(a,e,t,i,w,f){var b=Object(c.a)(a),h=Object(c.a)(e),v=b?m:Object(d.a)(a),k=h?m:Object(d.a)(e);v=v==z?g:v,k=k==z?g:k;var j=v==g,_=k==g,x=v==k;if(x&&Object(l.a)(a)){if(!Object(l.a)(e))return!1;b=!0,j=!1}if(x&&!j)return f||(f=new n.a),b||Object(u.a)(a)?Object(o.a)(a,e,t,i,w,f):Object(r.a)(a,e,v,t,i,w,f);if(!(t&p)){var O=j&&y.call(a,"__wrapped__"),q=_&&y.call(e,"__wrapped__");if(O||q){var E=O?a.value():a,A=q?e.value():e;return f||(f=new n.a),w(E,A,t,i,f)}}return!!x&&(f||(f=new n.a),Object(s.a)(a,e,t,i,w,f))}var n=t(401),o=t(955),r=t(1285),s=t(1286),d=t(148),c=t(7),l=t(145),u=t(159),p=1,z="[object Arguments]",m="[object Array]",g="[object Object]",w=Object.prototype,y=w.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a){return this.__data__.set(a,n),this}var n="__lodash_hash_undefined__";e.a=i},function(a,e,t){"use strict";function i(a){return this.__data__.has(a)}e.a=i},function(a,e,t){"use strict";function i(a,e,t,i,n,j,x){switch(t){case k:if(a.byteLength!=e.byteLength||a.byteOffset!=e.byteOffset)return!1;a=a.buffer,e=e.buffer;case v:return!(a.byteLength!=e.byteLength||!j(new o.a(a),new o.a(e)));case p:case z:case w:return Object(r.a)(+a,+e);case m:return a.name==e.name&&a.message==e.message;case y:case b:return a==e+"";case g:var O=d.a;case f:var q=i&l;if(O||(O=c.a),a.size!=e.size&&!q)return!1;var E=x.get(a);if(E)return E==e;i|=u,x.set(a,e);var A=Object(s.a)(O(a),O(e),i,n,j,x);return x.delete(a),A;case h:if(_)return _.call(a)==_.call(e)}return!1}var n=t(157),o=t(951),r=t(68),s=t(955),d=t(566),c=t(408),l=1,u=2,p="[object Boolean]",z="[object Date]",m="[object Error]",g="[object Map]",w="[object Number]",y="[object RegExp]",f="[object Set]",b="[object String]",h="[object Symbol]",v="[object ArrayBuffer]",k="[object DataView]",j=n.a?n.a.prototype:void 0,_=j?j.valueOf:void 0;e.a=i},function(a,e,t){"use strict";function i(a,e,t,i,r,d){var c=t&o,l=Object(n.a)(a),u=l.length;if(u!=Object(n.a)(e).length&&!c)return!1;for(var p=u;p--;){var z=l[p];if(!(c?z in e:s.call(e,z)))return!1}var m=d.get(a);if(m&&d.get(e))return m==e;var g=!0;d.set(a,e),d.set(e,a);for(var w=c;++p<u;){z=l[p];var y=a[z],f=e[z];if(i)var b=c?i(f,y,z,e,a,d):i(y,f,z,a,e,d);if(!(void 0===b?y===f||r(y,f,t,i,d):b)){g=!1;break}w||(w="constructor"==z)}if(g&&!w){var h=a.constructor,v=e.constructor;h!=v&&"constructor"in a&&"constructor"in e&&!("function"==typeof h&&h instanceof h&&"function"==typeof v&&v instanceof v)&&(g=!1)}return d.delete(a),d.delete(e),g}var n=t(948),o=1,r=Object.prototype,s=r.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a,e){return null!=a&&e in Object(a)}e.a=i},function(a,e,t){"use strict";function i(a){return function(e){return Object(n.a)(e,a)}}var n=t(235);e.a=i},function(a,e,t){"use strict";function i(a){var e=Object(o.a)(a);return function(t){return Object(n.a)(t,a,e)}}var n=t(960),o=t(28);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){for(var n=-1,o=null==a?0:a.length;++n<o;){var r=a[n];e(i,r,t(r),a)}return i}e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){return Object(n.a)(a,function(a,n,o){e(i,a,t(a),o)}),i}var n=t(165);e.a=i},function(a,e,t){"use strict";function i(a,e,t,r,s,d){return Object(o.a)(a)&&Object(o.a)(e)&&(d.set(e,a),Object(n.a)(a,e,void 0,i,d),d.delete(e)),a}var n=t(579),o=t(25);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i,b,h,v){var k=Object(y.a)(a,t),j=Object(y.a)(e,t),_=v.get(j);if(_)return void Object(n.a)(a,t,_);var x=h?h(k,j,t+"",a,e,v):void 0,O=void 0===x;if(O){var q=Object(l.a)(j),E=!q&&Object(p.a)(j),A=!q&&!E&&Object(w.a)(j);x=j,q||E||A?Object(l.a)(k)?x=k:Object(u.a)(k)?x=Object(s.a)(k):E?(O=!1,x=Object(o.a)(j,!0)):A?(O=!1,x=Object(r.a)(j,!0)):x=[]:Object(g.a)(j)||Object(c.a)(j)?(x=k,Object(c.a)(k)?x=Object(f.a)(k):Object(m.a)(k)&&!Object(z.a)(k)||(x=Object(d.a)(j))):O=!1}O&&(v.set(j,x),b(x,j,i,h,v),v.delete(j)),Object(n.a)(a,t,x)}var n=t(963),o=t(946),r=t(952),s=t(80),d=t(953),c=t(158),l=t(7),u=t(46),p=t(145),z=t(89),m=t(25),g=t(196),w=t(159),y=t(964),f=t(413);e.a=i},function(a,e,t){"use strict";function i(a,e){for(var t=null==a?0:a.length;t--&&!1!==e(a[t],t,a););return a}e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(e,function(e){return[e,a[e]]})}var n=t(27);e.a=i},function(a,e,t){"use strict";function i(a){var e=-1,t=Array(a.size);return a.forEach(function(a){t[++e]=[a,a]}),t}e.a=i},function(a,e,t){"use strict";var i=t(548),n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},o=Object(i.a)(n);e.a=o},function(a,e,t){"use strict";function i(a,e){var t=!0;return Object(n.a)(a,function(a,i,n){return t=!!e(a,i,n)}),t}var n=t(165);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){var r=a.length;for(t=Object(n.a)(t),t<0&&(t=-t>r?0:r+t),i=void 0===i||i>r?r:Object(n.a)(i),i<0&&(i+=r),i=t>i?0:Object(o.a)(i);t<i;)a[t++]=e;return a}var n=t(10),o=t(421);e.a=i},function(a,e,t){"use strict";function i(a,e){return null!=a&&o.call(a,e)}var n=Object.prototype,o=n.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a,e,t){return a>=o(e,t)&&a<n(e,t)}var n=Math.max,o=Math.min;e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){return Object(n.a)(a,function(a,n,o){e(i,t(a),n,o)}),i}var n=t(166);e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(62),o=t(23),r="[object ArrayBuffer]";e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(62),o=t(23),r="[object Date]";e.a=i},function(a,e,t){"use strict";var i=t(926),n=t(89),o=t(320),r=i.a?n.a:o.a;e.a=r},function(a,e,t){"use strict";function i(a){return Object(o.a)(a)&&Object(n.a)(a)==r}var n=t(62),o=t(23),r="[object RegExp]";e.a=i},function(a,e,t){"use strict";function i(a,e,t){for(var i=t+1;i--;)if(a[i]===e)return i;return i}e.a=i},function(a,e,t){"use strict";function i(a){for(var e,t=[];!(e=a.next()).done;)t.push(e.value);return t}e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(a)?void 0:a}var n=t(196);e.a=i},function(a,e,t){"use strict";function i(a,e){var t=a.length;for(a.sort(e);t--;)a[t]=a[t].value;return a}e.a=i},function(a,e,t){"use strict";function i(a,e,t){for(var i=-1,o=a.criteria,r=e.criteria,s=o.length,d=t.length;++i<s;){var c=Object(n.a)(o[i],r[i]);if(c){if(i>=d)return c;return c*("desc"==t[i]?-1:1)}}return a.index-e.index}var n=t(981);e.a=i},function(a,e,t){"use strict";var i=t(8),n=i.a;e.a=n},function(a,e,t){"use strict";var i=t(568),n=Object(i.a)("length");e.a=n},function(a,e,t){"use strict";function i(a){for(var e=p.lastIndex=0;p.test(a);)++e;return e}var n="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",o="\\ud83c[\\udffb-\\udfff]",r="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",d="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",c="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",r,s].join("|")+")[\\ufe0e\\ufe0f]?"+d+")*",l="[\\ufe0e\\ufe0f]?"+d+c,u="(?:"+["[^\\ud800-\\udfff]"+n+"?",n,r,s,"[\\ud800-\\udfff]"].join("|")+")",p=RegExp(o+"(?="+o+")|"+u+l,"g");e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(n.a)(a,e,function(e,t){return Object(o.a)(a,t)})}var n=t(979),o=t(326);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){for(var n=t-1,o=a.length;++n<o;)if(i(a[n],e))return n;return-1}e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){for(var r=-1,s=o(n((e-a)/(t||1)),0),d=Array(s);s--;)d[i?s:++r]=a,a+=t;return d}var n=Math.ceil,o=Math.max;e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){var n=null==a?0:a.length;for(i&&n&&(t=a[--n]);n--;)t=e(t,a[n],n,a);return t}e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(Object(o.a)(a))}var n=t(986),o=t(167);e.a=i},function(a,e,t){"use strict";function i(a,e){return Object(r.a)(Object(o.a)(a),Object(n.a)(e,0,a.length))}var n=t(197),o=t(80),r=t(438);e.a=i},function(a,e,t){"use strict";function i(a,e){var t=Object(r.a)(a);return Object(o.a)(t,Object(n.a)(e,0,t.length))}var n=t(197),o=t(438),r=t(167);e.a=i},function(a,e,t){"use strict";function i(a){return Object(o.a)(Object(n.a)(a))}var n=t(80),o=t(438);e.a=i},function(a,e,t){"use strict";function i(a){return Object(n.a)(Object(o.a)(a))}var n=t(438),o=t(167);e.a=i},function(a,e,t){"use strict";function i(a,e){var t;return Object(n.a)(a,function(a,i,n){return!(t=e(a,i,n))}),!!t}var n=t(165);e.a=i},function(a,e,t){"use strict";function i(a,e,t,i){return void 0===a||Object(n.a)(a,o[t])&&!r.call(i,t)?e:a}var n=t(68),o=Object.prototype,r=o.hasOwnProperty;e.a=i},function(a,e,t){"use strict";function i(a){return"\\"+n[a]}var n={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};e.a=i},function(a,e,t){"use strict";var i=/<%-([\s\S]+?)%>/g;e.a=i},function(a,e,t){"use strict";var i=/<%([\s\S]+?)%>/g;e.a=i},function(a,e,t){"use strict";var i=t(548),n={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},o=Object(i.a)(n);e.a=o},function(a,e,t){"use strict";var i=t(950),n=t(316),o=t(408),r=i.a&&1/Object(o.a)(new i.a([,-0]))[1]==1/0?function(a){return new i.a(a)}:n.a;e.a=r},function(a,e,t){"use strict";var i=t(243);t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(1333),n=t(1335),o=t(1337),r=t(1339),s=t(1341),d=t(1343),c=t(1345),l=t(1347),u=t(1349),p=t(1351),z=t(1353),m=t(142),g=t(193),w=t(157),y=t(194),f=t(161),b=t(166),h=t(425),v=t(328),k=t(4),j=t(8),_=t(531),x=t(43),O=t(7),q=t(25),E=t(28),A=t(64),S=t(1355),M=t(1356),T=t(1357),P=t(430),C=t(240),R=t(933),D=t(242),B=t(10),F=t(192),I=Array.prototype,L=Object.prototype,$=L.hasOwnProperty,U=w.a?w.a.iterator:void 0,W=Math.max,N=Math.min,K=function(a){return function(e,t,i){if(null==i){var n=Object(q.a)(t),o=n&&Object(E.a)(t),r=o&&o.length&&Object(h.a)(t,o);(r?r.length:n)||(i=t,t=e,e=this)}return a(e,t,i)}}(P.a);F.a.after=r.a.after,F.a.ary=r.a.ary,F.a.assign=l.a.assign,F.a.assignIn=l.a.assignIn,F.a.assignInWith=l.a.assignInWith,F.a.assignWith=l.a.assignWith,F.a.at=l.a.at,F.a.before=r.a.before,F.a.bind=r.a.bind,F.a.bindAll=z.a.bindAll,F.a.bindKey=r.a.bindKey,F.a.castArray=s.a.castArray,F.a.chain=u.a.chain,F.a.chunk=i.a.chunk,F.a.compact=i.a.compact,F.a.concat=i.a.concat,F.a.cond=z.a.cond,F.a.conforms=z.a.conforms,F.a.constant=z.a.constant,F.a.countBy=n.a.countBy,F.a.create=l.a.create,F.a.curry=r.a.curry,F.a.curryRight=r.a.curryRight,F.a.debounce=r.a.debounce,F.a.defaults=l.a.defaults,F.a.defaultsDeep=l.a.defaultsDeep,F.a.defer=r.a.defer,F.a.delay=r.a.delay,F.a.difference=i.a.difference,F.a.differenceBy=i.a.differenceBy,F.a.differenceWith=i.a.differenceWith,F.a.drop=i.a.drop,F.a.dropRight=i.a.dropRight,F.a.dropRightWhile=i.a.dropRightWhile,F.a.dropWhile=i.a.dropWhile,F.a.fill=i.a.fill,F.a.filter=n.a.filter,F.a.flatMap=n.a.flatMap,F.a.flatMapDeep=n.a.flatMapDeep,F.a.flatMapDepth=n.a.flatMapDepth,F.a.flatten=i.a.flatten,F.a.flattenDeep=i.a.flattenDeep,F.a.flattenDepth=i.a.flattenDepth,F.a.flip=r.a.flip,F.a.flow=z.a.flow,F.a.flowRight=z.a.flowRight,F.a.fromPairs=i.a.fromPairs,F.a.functions=l.a.functions,F.a.functionsIn=l.a.functionsIn,F.a.groupBy=n.a.groupBy,F.a.initial=i.a.initial,F.a.intersection=i.a.intersection,F.a.intersectionBy=i.a.intersectionBy,F.a.intersectionWith=i.a.intersectionWith,F.a.invert=l.a.invert,F.a.invertBy=l.a.invertBy,F.a.invokeMap=n.a.invokeMap,F.a.iteratee=z.a.iteratee,F.a.keyBy=n.a.keyBy,F.a.keys=E.a,F.a.keysIn=l.a.keysIn,F.a.map=n.a.map,F.a.mapKeys=l.a.mapKeys,F.a.mapValues=l.a.mapValues,F.a.matches=z.a.matches,F.a.matchesProperty=z.a.matchesProperty,F.a.memoize=r.a.memoize,F.a.merge=l.a.merge,F.a.mergeWith=l.a.mergeWith,F.a.method=z.a.method,F.a.methodOf=z.a.methodOf,F.a.mixin=K,F.a.negate=C.a,F.a.nthArg=z.a.nthArg,F.a.omit=l.a.omit,F.a.omitBy=l.a.omitBy,F.a.once=r.a.once,F.a.orderBy=n.a.orderBy,F.a.over=z.a.over,F.a.overArgs=r.a.overArgs,F.a.overEvery=z.a.overEvery,F.a.overSome=z.a.overSome,F.a.partial=r.a.partial,F.a.partialRight=r.a.partialRight,F.a.partition=n.a.partition,F.a.pick=l.a.pick,F.a.pickBy=l.a.pickBy,F.a.property=z.a.property,F.a.propertyOf=z.a.propertyOf,F.a.pull=i.a.pull,F.a.pullAll=i.a.pullAll,F.a.pullAllBy=i.a.pullAllBy,F.a.pullAllWith=i.a.pullAllWith,F.a.pullAt=i.a.pullAt,F.a.range=z.a.range,F.a.rangeRight=z.a.rangeRight,F.a.rearg=r.a.rearg,F.a.reject=n.a.reject,F.a.remove=i.a.remove,F.a.rest=r.a.rest,F.a.reverse=i.a.reverse,F.a.sampleSize=n.a.sampleSize,F.a.set=l.a.set,F.a.setWith=l.a.setWith,F.a.shuffle=n.a.shuffle,F.a.slice=i.a.slice,F.a.sortBy=n.a.sortBy,F.a.sortedUniq=i.a.sortedUniq,F.a.sortedUniqBy=i.a.sortedUniqBy,F.a.split=p.a.split,F.a.spread=r.a.spread,F.a.tail=i.a.tail,F.a.take=i.a.take,F.a.takeRight=i.a.takeRight,F.a.takeRightWhile=i.a.takeRightWhile,F.a.takeWhile=i.a.takeWhile,F.a.tap=u.a.tap,F.a.throttle=r.a.throttle,F.a.thru=D.a,F.a.toArray=s.a.toArray,F.a.toPairs=l.a.toPairs,F.a.toPairsIn=l.a.toPairsIn,F.a.toPath=z.a.toPath,F.a.toPlainObject=s.a.toPlainObject,F.a.transform=l.a.transform,F.a.unary=r.a.unary,F.a.union=i.a.union,F.a.unionBy=i.a.unionBy,F.a.unionWith=i.a.unionWith,F.a.uniq=i.a.uniq,F.a.uniqBy=i.a.uniqBy,F.a.uniqWith=i.a.uniqWith,F.a.unset=l.a.unset,F.a.unzip=i.a.unzip,F.a.unzipWith=i.a.unzipWith,F.a.update=l.a.update,F.a.updateWith=l.a.updateWith,F.a.values=l.a.values,F.a.valuesIn=l.a.valuesIn,F.a.without=i.a.without,F.a.words=p.a.words,F.a.wrap=r.a.wrap,F.a.xor=i.a.xor,F.a.xorBy=i.a.xorBy,F.a.xorWith=i.a.xorWith,F.a.zip=i.a.zip,F.a.zipObject=i.a.zipObject,F.a.zipObjectDeep=i.a.zipObjectDeep,F.a.zipWith=i.a.zipWith,F.a.entries=l.a.toPairs,F.a.entriesIn=l.a.toPairsIn,F.a.extend=l.a.assignIn,F.a.extendWith=l.a.assignInWith,K(F.a,F.a),F.a.add=d.a.add,F.a.attempt=z.a.attempt,F.a.camelCase=p.a.camelCase,F.a.capitalize=p.a.capitalize,F.a.ceil=d.a.ceil,F.a.clamp=c.a.clamp,F.a.clone=s.a.clone,F.a.cloneDeep=s.a.cloneDeep,F.a.cloneDeepWith=s.a.cloneDeepWith,F.a.cloneWith=s.a.cloneWith,F.a.conformsTo=s.a.conformsTo,F.a.deburr=p.a.deburr,F.a.defaultTo=z.a.defaultTo,F.a.divide=d.a.divide,F.a.endsWith=p.a.endsWith,F.a.eq=s.a.eq,F.a.escape=p.a.escape,F.a.escapeRegExp=p.a.escapeRegExp,F.a.every=n.a.every,F.a.find=n.a.find,F.a.findIndex=i.a.findIndex,F.a.findKey=l.a.findKey,F.a.findLast=n.a.findLast,F.a.findLastIndex=i.a.findLastIndex,F.a.findLastKey=l.a.findLastKey,F.a.floor=d.a.floor,F.a.forEach=n.a.forEach,F.a.forEachRight=n.a.forEachRight,F.a.forIn=l.a.forIn,F.a.forInRight=l.a.forInRight,F.a.forOwn=l.a.forOwn,F.a.forOwnRight=l.a.forOwnRight,F.a.get=l.a.get,F.a.gt=s.a.gt,F.a.gte=s.a.gte,F.a.has=l.a.has,F.a.hasIn=l.a.hasIn,F.a.head=i.a.head,F.a.identity=x.a,F.a.includes=n.a.includes,F.a.indexOf=i.a.indexOf,F.a.inRange=c.a.inRange,F.a.invoke=l.a.invoke,F.a.isArguments=s.a.isArguments,F.a.isArray=O.a,F.a.isArrayBuffer=s.a.isArrayBuffer;F.a.isArrayLike=s.a.isArrayLike,F.a.isArrayLikeObject=s.a.isArrayLikeObject,F.a.isBoolean=s.a.isBoolean,F.a.isBuffer=s.a.isBuffer,F.a.isDate=s.a.isDate,F.a.isElement=s.a.isElement,F.a.isEmpty=s.a.isEmpty,F.a.isEqual=s.a.isEqual,F.a.isEqualWith=s.a.isEqualWith,F.a.isError=s.a.isError,F.a.isFinite=s.a.isFinite,F.a.isFunction=s.a.isFunction,F.a.isInteger=s.a.isInteger,F.a.isLength=s.a.isLength,F.a.isMap=s.a.isMap,F.a.isMatch=s.a.isMatch,F.a.isMatchWith=s.a.isMatchWith,F.a.isNaN=s.a.isNaN,F.a.isNative=s.a.isNative,F.a.isNil=s.a.isNil,F.a.isNull=s.a.isNull,F.a.isNumber=s.a.isNumber,F.a.isObject=q.a,F.a.isObjectLike=s.a.isObjectLike,F.a.isPlainObject=s.a.isPlainObject,F.a.isRegExp=s.a.isRegExp,F.a.isSafeInteger=s.a.isSafeInteger,F.a.isSet=s.a.isSet,F.a.isString=s.a.isString,F.a.isSymbol=s.a.isSymbol,F.a.isTypedArray=s.a.isTypedArray,F.a.isUndefined=s.a.isUndefined,F.a.isWeakMap=s.a.isWeakMap,F.a.isWeakSet=s.a.isWeakSet,F.a.join=i.a.join,F.a.kebabCase=p.a.kebabCase,F.a.last=A.a,F.a.lastIndexOf=i.a.lastIndexOf,F.a.lowerCase=p.a.lowerCase,F.a.lowerFirst=p.a.lowerFirst,F.a.lt=s.a.lt,F.a.lte=s.a.lte,F.a.max=d.a.max,F.a.maxBy=d.a.maxBy,F.a.mean=d.a.mean,F.a.meanBy=d.a.meanBy,F.a.min=d.a.min,F.a.minBy=d.a.minBy,F.a.stubArray=z.a.stubArray,F.a.stubFalse=z.a.stubFalse,F.a.stubObject=z.a.stubObject,F.a.stubString=z.a.stubString,F.a.stubTrue=z.a.stubTrue,F.a.multiply=d.a.multiply,F.a.nth=i.a.nth,F.a.noop=z.a.noop,F.a.now=o.a.now,F.a.pad=p.a.pad,F.a.padEnd=p.a.padEnd,F.a.padStart=p.a.padStart,F.a.parseInt=p.a.parseInt,F.a.random=c.a.random,F.a.reduce=n.a.reduce,F.a.reduceRight=n.a.reduceRight,F.a.repeat=p.a.repeat,F.a.replace=p.a.replace,F.a.result=l.a.result,F.a.round=d.a.round,F.a.sample=n.a.sample,F.a.size=n.a.size,F.a.snakeCase=p.a.snakeCase,F.a.some=n.a.some,F.a.sortedIndex=i.a.sortedIndex,F.a.sortedIndexBy=i.a.sortedIndexBy,F.a.sortedIndexOf=i.a.sortedIndexOf,F.a.sortedLastIndex=i.a.sortedLastIndex,F.a.sortedLastIndexBy=i.a.sortedLastIndexBy,F.a.sortedLastIndexOf=i.a.sortedLastIndexOf,F.a.startCase=p.a.startCase,F.a.startsWith=p.a.startsWith,F.a.subtract=d.a.subtract,F.a.sum=d.a.sum,F.a.sumBy=d.a.sumBy,F.a.template=p.a.template,F.a.times=z.a.times,F.a.toFinite=s.a.toFinite,F.a.toInteger=B.a,F.a.toLength=s.a.toLength,F.a.toLower=p.a.toLower,F.a.toNumber=s.a.toNumber,F.a.toSafeInteger=s.a.toSafeInteger,F.a.toString=s.a.toString,F.a.toUpper=p.a.toUpper,F.a.trim=p.a.trim,F.a.trimEnd=p.a.trimEnd,F.a.trimStart=p.a.trimStart,F.a.truncate=p.a.truncate,F.a.unescape=p.a.unescape,F.a.uniqueId=z.a.uniqueId,F.a.upperCase=p.a.upperCase,F.a.upperFirst=p.a.upperFirst,F.a.each=n.a.forEach,F.a.eachRight=n.a.forEachRight,F.a.first=i.a.head,K(F.a,function(){var a={};return Object(b.a)(F.a,function(e,t){$.call(F.a.prototype,t)||(a[t]=e)}),a}(),{chain:!1}),F.a.VERSION="4.17.11",(F.a.templateSettings=p.a.templateSettings).imports._=F.a,Object(y.a)(["bind","bindKey","curry","curryRight","partial","partialRight"],function(a){F.a[a].placeholder=F.a}),Object(y.a)(["drop","take"],function(a,e){m.a.prototype[a]=function(t){t=void 0===t?1:W(Object(B.a)(t),0);var i=this.__filtered__&&!e?new m.a(this):this.clone();return i.__filtered__?i.__takeCount__=N(t,i.__takeCount__):i.__views__.push({size:N(t,4294967295),type:a+(i.__dir__<0?"Right":"")}),i},m.a.prototype[a+"Right"]=function(e){return this.reverse()[a](e).reverse()}}),Object(y.a)(["filter","map","takeWhile"],function(a,e){var t=e+1,i=1==t||3==t;m.a.prototype[a]=function(a){var e=this.clone();return e.__iteratees__.push({iteratee:Object(k.a)(a,3),type:t}),e.__filtered__=e.__filtered__||i,e}}),Object(y.a)(["head","last"],function(a,e){var t="take"+(e?"Right":"");m.a.prototype[a]=function(){return this[t](1).value()[0]}}),Object(y.a)(["initial","tail"],function(a,e){var t="drop"+(e?"":"Right");m.a.prototype[a]=function(){return this.__filtered__?new m.a(this):this[t](1)}}),m.a.prototype.compact=function(){return this.filter(x.a)},m.a.prototype.find=function(a){return this.filter(a).head()},m.a.prototype.findLast=function(a){return this.reverse().find(a)},m.a.prototype.invokeMap=Object(j.a)(function(a,e){return"function"==typeof a?new m.a(this):this.map(function(t){return Object(v.a)(t,a,e)})}),m.a.prototype.reject=function(a){return this.filter(Object(C.a)(Object(k.a)(a)))},m.a.prototype.slice=function(a,e){a=Object(B.a)(a);var t=this;return t.__filtered__&&(a>0||e<0)?new m.a(t):(a<0?t=t.takeRight(-a):a&&(t=t.drop(a)),void 0!==e&&(e=Object(B.a)(e),t=e<0?t.dropRight(-e):t.take(e-a)),t)},m.a.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},m.a.prototype.toArray=function(){return this.take(4294967295)},Object(b.a)(m.a.prototype,function(a,e){var t=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),n=F.a[i?"take"+("last"==e?"Right":""):e],o=i||/^find/.test(e);n&&(F.a.prototype[e]=function(){var e=this.__wrapped__,r=i?[1]:arguments,s=e instanceof m.a,d=r[0],c=s||Object(O.a)(e),l=function(a){var e=n.apply(F.a,Object(f.a)([a],r));return i&&u?e[0]:e};c&&t&&"function"==typeof d&&1!=d.length&&(s=c=!1);var u=this.__chain__,p=!!this.__actions__.length,z=o&&!u,w=s&&!p;if(!o&&c){e=w?e:new m.a(this);var y=a.apply(e,r);return y.__actions__.push({func:D.a,args:[l],thisArg:void 0}),new g.a(y,u)}return z&&w?a.apply(this,r):(y=this.thru(l),z?i?y.value()[0]:y.value():y)})}),Object(y.a)(["pop","push","shift","sort","splice","unshift"],function(a){var e=I[a],t=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",i=/^(?:pop|shift)$/.test(a);F.a.prototype[a]=function(){var a=arguments;if(i&&!this.__chain__){var n=this.value();return e.apply(Object(O.a)(n)?n:[],a)}return this[t](function(t){return e.apply(Object(O.a)(t)?t:[],a)})}}),Object(b.a)(m.a.prototype,function(a,e){var t=F.a[e];if(t){var i=t.name+"";(R.a[i]||(R.a[i]=[])).push({name:e,func:t})}}),R.a[Object(_.a)(void 0,2).name]=[{name:"wrapper",func:void 0}],m.a.prototype.clone=S.a,m.a.prototype.reverse=M.a,m.a.prototype.value=T.a,F.a.prototype.at=u.a.at,F.a.prototype.chain=u.a.wrapperChain,F.a.prototype.commit=u.a.commit,F.a.prototype.next=u.a.next,F.a.prototype.plant=u.a.plant,F.a.prototype.reverse=u.a.reverse,F.a.prototype.toJSON=F.a.prototype.valueOf=F.a.prototype.value=u.a.value,F.a.prototype.first=F.a.prototype.head,U&&(F.a.prototype[U]=u.a.toIterator),e.a=F.a},function(a,e,t){"use strict";var i=(t(552),t(561),t(562),t(582),t(584),t(585),t(587),t(588),t(589),t(590),t(601),t(422),t(423),t(607),t(392),t(611),t(612),t(621),t(424),t(632),t(633),t(634),t(637),t(638),t(662),t(64),t(665),t(686),t(707),t(436),t(709),t(710),t(711),t(720),t(437),t(732),t(736),t(738),t(739),t(740),t(741),t(742),t(743),t(744),t(755),t(756),t(757),t(758),t(759),t(776),t(777),t(778),t(779),t(780),t(781),t(331),t(442),t(789),t(794),t(796),t(797),t(798),t(799),t(800),t(801),t(1334));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(552),n=t(561),o=t(562),r=t(582),s=t(584),d=t(585),c=t(587),l=t(588),u=t(589),p=t(590),z=t(601),m=t(422),g=t(423),w=t(607),y=t(392),f=t(611),b=t(612),h=t(621),v=t(424),k=t(632),j=t(633),_=t(634),x=t(637),O=t(638),q=t(662),E=t(64),A=t(665),S=t(686),M=t(707),T=t(436),P=t(709),C=t(710),R=t(711),D=t(720),B=t(437),F=t(732),I=t(736),L=t(738),$=t(739),U=t(740),W=t(741),N=t(742),K=t(743),H=t(744),V=t(755),Y=t(756),G=t(757),Z=t(758),J=t(759),X=t(776),Q=t(777),aa=t(778),ea=t(779),ta=t(780),ia=t(781),na=t(331),oa=t(442),ra=t(789),sa=t(794),da=t(796),ca=t(797),la=t(798),ua=t(799),pa=t(800),za=t(801);e.a={chunk:i.a,compact:n.a,concat:o.a,difference:r.a,differenceBy:s.a,differenceWith:d.a,drop:c.a,dropRight:l.a,dropRightWhile:u.a,dropWhile:p.a,fill:z.a,findIndex:m.a,findLastIndex:g.a,first:w.a,flatten:y.a,flattenDeep:f.a,flattenDepth:b.a,fromPairs:h.a,head:v.a,indexOf:k.a,initial:j.a,intersection:_.a,intersectionBy:x.a,intersectionWith:O.a,join:q.a,last:E.a,lastIndexOf:A.a,nth:S.a,pull:M.a,pullAll:T.a,pullAllBy:P.a,pullAllWith:C.a,pullAt:R.a,remove:D.a,reverse:B.a,slice:F.a,sortedIndex:I.a,sortedIndexBy:L.a,sortedIndexOf:$.a,sortedLastIndex:U.a,sortedLastIndexBy:W.a,sortedLastIndexOf:N.a,sortedUniq:K.a,sortedUniqBy:H.a,tail:V.a,take:Y.a,takeRight:G.a,takeRightWhile:Z.a,takeWhile:J.a,union:X.a,unionBy:Q.a,unionWith:aa.a,uniq:ea.a,uniqBy:ta.a,uniqWith:ia.a,unzip:na.a,unzipWith:oa.a,without:ra.a,xor:sa.a,xorBy:da.a,xorWith:ca.a,zip:la.a,zipObject:ua.a,zipObjectDeep:pa.a,zipWith:za.a}},function(a,e,t){"use strict";var i=(t(571),t(591),t(592),t(598),t(602),t(603),t(605),t(608),t(609),t(610),t(416),t(417),t(624),t(630),t(642),t(664),t(238),t(692),t(704),t(717),t(718),t(719),t(726),t(727),t(730),t(731),t(734),t(735),t(1336));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(571),n=t(591),o=t(592),r=t(598),s=t(602),d=t(603),c=t(605),l=t(608),u=t(609),p=t(610),z=t(416),m=t(417),g=t(624),w=t(630),y=t(642),f=t(664),b=t(238),h=t(692),v=t(704),k=t(717),j=t(718),_=t(719),x=t(726),O=t(727),q=t(730),E=t(731),A=t(734),S=t(735);e.a={countBy:i.a,each:n.a,eachRight:o.a,every:r.a,filter:s.a,find:d.a,findLast:c.a,flatMap:l.a,flatMapDeep:u.a,flatMapDepth:p.a,forEach:z.a,forEachRight:m.a,groupBy:g.a,includes:w.a,invokeMap:y.a,keyBy:f.a,map:b.a,orderBy:h.a,partition:v.a,reduce:k.a,reduceRight:j.a,reject:_.a,sample:x.a,sampleSize:O.a,shuffle:q.a,size:E.a,some:A.a,sortBy:S.a}},function(a,e,t){"use strict";var i=(t(412),t(1338));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(412);e.a={now:i.a}},function(a,e,t){"use strict";var i=(t(530),t(381),t(395),t(396),t(545),t(574),t(575),t(411),t(580),t(581),t(613),t(387),t(240),t(691),t(695),t(434),t(703),t(716),t(723),t(746),t(762),t(774),t(790),t(1340));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(530),n=t(381),o=t(395),r=t(396),s=t(545),d=t(574),c=t(575),l=t(411),u=t(580),p=t(581),z=t(613),m=t(387),g=t(240),w=t(691),y=t(695),f=t(434),b=t(703),h=t(716),v=t(723),k=t(746),j=t(762),_=t(774),x=t(790);e.a={after:i.a,ary:n.a,before:o.a,bind:r.a,bindKey:s.a,curry:d.a,curryRight:c.a,debounce:l.a,defer:u.a,delay:p.a,flip:z.a,memoize:m.a,negate:g.a,once:w.a,overArgs:y.a,partial:f.a,partialRight:b.a,rearg:h.a,rest:v.a,spread:k.a,throttle:j.a,unary:_.a,wrap:x.a}},function(a,e,t){"use strict";var i=(t(549),t(554),t(558),t(559),t(560),t(570),t(68),t(625),t(627),t(158),t(7),t(643),t(44),t(46),t(644),t(145),t(645),t(646),t(647),t(648),t(649),t(323),t(650),t(89),t(427),t(233),t(402),t(651),t(652),t(653),t(654),t(655),t(656),t(428),t(25),t(23),t(196),t(329),t(657),t(403),t(239),t(67),t(159),t(658),t(659),t(660),t(668),t(670),t(432),t(190),t(10),t(421),t(101),t(413),t(767),t(13),t(1342));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(549),n=t(554),o=t(558),r=t(559),s=t(560),d=t(570),c=t(68),l=t(625),u=t(627),p=t(158),z=t(7),m=t(643),g=t(44),w=t(46),y=t(644),f=t(145),b=t(645),h=t(646),v=t(647),k=t(648),j=t(649),_=t(323),x=t(650),O=t(89),q=t(427),E=t(233),A=t(402),S=t(651),M=t(652),T=t(653),P=t(654),C=t(655),R=t(656),D=t(428),B=t(25),F=t(23),I=t(196),L=t(329),$=t(657),U=t(403),W=t(239),N=t(67),K=t(159),H=t(658),V=t(659),Y=t(660),G=t(668),Z=t(670),J=t(432),X=t(190),Q=t(10),aa=t(421),ea=t(101),ta=t(413),ia=t(767),na=t(13);e.a={castArray:i.a,clone:n.a,cloneDeep:o.a,cloneDeepWith:r.a,cloneWith:s.a,conformsTo:d.a,eq:c.a,gt:l.a,gte:u.a,isArguments:p.a,isArray:z.a,isArrayBuffer:m.a,isArrayLike:g.a,isArrayLikeObject:w.a,isBoolean:y.a,isBuffer:f.a,isDate:b.a,isElement:h.a,isEmpty:v.a,isEqual:k.a,isEqualWith:j.a,isError:_.a,isFinite:x.a,isFunction:O.a,isInteger:q.a,isLength:E.a,isMap:A.a,isMatch:S.a,isMatchWith:M.a,isNaN:T.a,isNative:P.a,isNil:C.a,isNull:R.a,isNumber:D.a,isObject:B.a,isObjectLike:F.a,isPlainObject:I.a,isRegExp:L.a,isSafeInteger:$.a,isSet:U.a,isString:W.a,isSymbol:N.a,isTypedArray:K.a,isUndefined:H.a,isWeakMap:V.a,isWeakSet:Y.a,lt:G.a,lte:Z.a,toArray:J.a,toFinite:X.a,toInteger:Q.a,toLength:aa.a,toNumber:ea.a,toPlainObject:ta.a,toSafeInteger:ia.a,toString:na.a}},function(a,e,t){"use strict";var i=(t(529),t(550),t(586),t(614),t(675),t(676),t(677),t(679),t(683),t(684),t(685),t(725),t(752),t(753),t(754),t(1344));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(529),n=t(550),o=t(586),r=t(614),s=t(675),d=t(676),c=t(677),l=t(679),u=t(683),p=t(684),z=t(685),m=t(725),g=t(752),w=t(753),y=t(754);e.a={add:i.a,ceil:n.a,divide:o.a,floor:r.a,max:s.a,maxBy:d.a,mean:c.a,meanBy:l.a,min:u.a,minBy:p.a,multiply:z.a,round:m.a,subtract:g.a,sum:w.a,sumBy:y.a}},function(a,e,t){"use strict";var i=(t(553),t(629),t(712),t(1346));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(553),n=t(629),o=t(712);e.a={clamp:i.a,inRange:n.a,random:o.a}},function(a,e,t){"use strict";var i=(t(534),t(386),t(321),t(538),t(539),t(573),t(577),t(578),t(595),t(596),t(599),t(600),t(604),t(606),t(617),t(618),t(619),t(620),t(622),t(623),t(322),t(628),t(326),t(639),t(640),t(641),t(28),t(52),t(671),t(672),t(680),t(414),t(688),t(690),t(705),t(433),t(724),t(728),t(729),t(418),t(419),t(769),t(783),t(784),t(785),t(167),t(788),t(1348));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(534),n=t(386),o=t(321),r=t(538),s=t(539),d=t(573),c=t(577),l=t(578),u=t(595),p=t(596),z=t(599),m=t(600),g=t(604),w=t(606),y=t(617),f=t(618),b=t(619),h=t(620),v=t(622),k=t(623),j=t(322),_=t(628),x=t(326),O=t(639),q=t(640),E=t(641),A=t(28),S=t(52),M=t(671),T=t(672),P=t(680),C=t(414),R=t(688),D=t(690),B=t(705),F=t(433),I=t(724),L=t(728),$=t(729),U=t(418),W=t(419),N=t(769),K=t(783),H=t(784),V=t(785),Y=t(167),G=t(788);e.a={assign:i.a,assignIn:n.a,assignInWith:o.a,assignWith:r.a,at:s.a,create:d.a,defaults:c.a,defaultsDeep:l.a,entries:u.a,entriesIn:p.a,extend:z.a,extendWith:m.a,findKey:g.a,findLastKey:w.a,forIn:y.a,forInRight:f.a,forOwn:b.a,forOwnRight:h.a,functions:v.a,functionsIn:k.a,get:j.a,has:_.a,hasIn:x.a,invert:O.a,invertBy:q.a,invoke:E.a,keys:A.a,keysIn:S.a,mapKeys:M.a,mapValues:T.a,merge:P.a,mergeWith:C.a,omit:R.a,omitBy:D.a,pick:B.a,pickBy:F.a,result:I.a,set:L.a,setWith:$.a,toPairs:U.a,toPairsIn:W.a,transform:N.a,unset:K.a,update:H.a,updateWith:V.a,values:Y.a,valuesIn:G.a}},function(a,e,t){"use strict";var i=(t(791),t(400),t(404),t(192),t(431),t(435),t(793),t(760),t(242),t(441),t(764),t(243),t(787),t(792),t(1350));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(791),n=t(400),o=t(404),r=t(192),s=t(431),d=t(435),c=t(793),l=t(760),u=t(242),p=t(441),z=t(764),m=t(243),g=t(787),w=t(792);e.a={at:i.a,chain:n.a,commit:o.a,lodash:r.a,next:s.a,plant:d.a,reverse:c.a,tap:l.a,thru:u.a,toIterator:p.a,toJSON:z.a,value:m.a,valueOf:g.a,wrapperChain:w.a}},function(a,e,t){"use strict";var i=(t(546),t(397),t(398),t(594),t(420),t(597),t(663),t(666),t(667),t(698),t(700),t(701),t(702),t(721),t(722),t(733),t(745),t(747),t(748),t(761),t(440),t(765),t(768),t(770),t(771),t(772),t(773),t(775),t(786),t(324),t(399),t(1352));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(546),n=t(397),o=t(398),r=t(594),s=t(420),d=t(597),c=t(663),l=t(666),u=t(667),p=t(698),z=t(700),m=t(701),g=t(702),w=t(721),y=t(722),f=t(733),b=t(745),h=t(747),v=t(748),k=t(761),j=t(440),_=t(765),x=t(768),O=t(770),q=t(771),E=t(772),A=t(773),S=t(775),M=t(786),T=t(324),P=t(399);e.a={camelCase:i.a,capitalize:n.a,deburr:o.a,endsWith:r.a,escape:s.a,escapeRegExp:d.a,kebabCase:c.a,lowerCase:l.a,lowerFirst:u.a,pad:p.a,padEnd:z.a,padStart:m.a,parseInt:g.a,repeat:w.a,replace:y.a,snakeCase:f.a,split:b.a,startCase:h.a,startsWith:v.a,template:k.a,templateSettings:j.a,toLower:_.a,toUpper:x.a,trim:O.a,trimEnd:q.a,trimStart:E.a,truncate:A.a,unescape:S.a,upperCase:M.a,upperFirst:T.a,words:P.a}},function(a,e,t){"use strict";var i=(t(393),t(544),t(563),t(569),t(317),t(576),t(615),t(616),t(43),t(661),t(673),t(674),t(681),t(682),t(430),t(316),t(687),t(693),t(696),t(697),t(409),t(706),t(714),t(715),t(325),t(320),t(749),t(750),t(751),t(763),t(766),t(782),t(1354));t.d(e,"a",function(){return i.a})},function(a,e,t){"use strict";var i=t(393),n=t(544),o=t(563),r=t(569),s=t(317),d=t(576),c=t(615),l=t(616),u=t(43),p=t(661),z=t(673),m=t(674),g=t(681),w=t(682),y=t(430),f=t(316),b=t(687),h=t(693),v=t(696),k=t(697),j=t(409),_=t(706),x=t(714),O=t(715),q=t(325),E=t(320),A=t(749),S=t(750),M=t(751),T=t(763),P=t(766),C=t(782);e.a={attempt:i.a,bindAll:n.a,cond:o.a,conforms:r.a,constant:s.a,defaultTo:d.a,flow:c.a,flowRight:l.a,identity:u.a,iteratee:p.a,matches:z.a,matchesProperty:m.a,method:g.a,methodOf:w.a,mixin:y.a,noop:f.a,nthArg:b.a,over:h.a,overEvery:v.a,overSome:k.a,property:j.a,propertyOf:_.a,range:x.a,rangeRight:O.a,stubArray:q.a,stubFalse:E.a,stubObject:A.a,stubString:S.a,stubTrue:M.a,times:T.a,toPath:P.a,uniqueId:C.a}},function(a,e,t){"use strict";function i(){var a=new n.a(this.__wrapped__);return a.__actions__=Object(o.a)(this.__actions__),a.__dir__=this.__dir__,a.__filtered__=this.__filtered__,a.__iteratees__=Object(o.a)(this.__iteratees__),a.__takeCount__=this.__takeCount__,a.__views__=Object(o.a)(this.__views__),a}var n=t(142),o=t(80);e.a=i},function(a,e,t){"use strict";function i(){if(this.__filtered__){var a=new n.a(this);a.__dir__=-1,a.__filtered__=!0}else a=this.clone(),a.__dir__*=-1;return a}var n=t(142);e.a=i},function(a,e,t){"use strict";function i(){var a=this.__wrapped__.value(),e=this.__dir__,t=Object(r.a)(a),i=e<0,l=t?a.length:0,u=Object(o.a)(0,l,this.__views__),p=u.start,z=u.end,m=z-p,g=i?z:p-1,w=this.__iteratees__,y=w.length,f=0,b=c(m,this.__takeCount__);if(!t||!i&&l==m&&b==m)return Object(n.a)(a,this.__actions__);var h=[];a:for(;m--&&f<b;){g+=e;for(var v=-1,k=a[g];++v<y;){var j=w[v],_=j.iteratee,x=j.type,O=_(k);if(x==d)k=O;else if(!O){if(x==s)continue a;break a}}h[f++]=k}return h}var n=t(989),o=t(1358),r=t(7),s=1,d=2,c=Math.min;e.a=i},function(a,e,t){"use strict";function i(a,e,t){for(var i=-1,r=t.length;++i<r;){var s=t[i],d=s.size;switch(s.type){case"drop":a+=d;break;case"dropRight":e-=d;break;case"take":e=o(e,a+d);break;case"takeRight":a=n(a,e-d)}}return{start:a,end:e}}var n=Math.max,o=Math.min;e.a=i},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(37),l=i(c),u=t(91),p=i(u),z=t(1),m=t(817),g=i(m),w=["en","nl","de","it","ru","fr","es"],y=function(a){function e(a){n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.identifier="fleschReadingEase",t._config=a,t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){if(this.fleschReadingResult=e.getResearch("calculateFleschReading"),this.isApplicable(a)){var i=new l.default(t),n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}return null}},{key:"calculateResult",value:function(a){this.fleschReadingResult<0&&(this.fleschReadingResult=0),this.fleschReadingResult>100&&(this.fleschReadingResult=100);var e=a.dgettext("js-text-analysis","The copy scores %1$s in the %2$s test, which is considered %3$s to read. %4$s"),t="<a href='https://yoa.st/flesch-reading' target='_blank'>Flesch Reading Ease</a>";if(this.fleschReadingResult>this._config.borders.veryEasy){var i=a.dgettext("js-text-analysis","very easy");return{score:this._config.scores.veryEasy,resultText:a.sprintf(e,this.fleschReadingResult,t,i,"")}}if((0,z.inRange)(this.fleschReadingResult,this._config.borders.easy,this._config.borders.veryEasy)){var n=a.dgettext("js-text-analysis","easy");return{score:this._config.scores.easy,resultText:a.sprintf(e,this.fleschReadingResult,t,n,"")}}if((0,z.inRange)(this.fleschReadingResult,this._config.borders.fairlyEasy,this._config.borders.easy)){var o=a.dgettext("js-text-analysis","fairly easy");return{score:this._config.scores.fairlyEasy,resultText:a.sprintf(e,this.fleschReadingResult,t,o,"")}}if((0,z.inRange)(this.fleschReadingResult,this._config.borders.okay,this._config.borders.fairlyEasy)){var r=a.dgettext("js-text-analysis","ok");return{score:this._config.scores.okay,resultText:a.sprintf(e,this.fleschReadingResult,t,r,"")}}if((0,z.inRange)(this.fleschReadingResult,this._config.borders.fairlyDifficult,this._config.borders.okay)){var s=a.dgettext("js-text-analysis","fairly difficult"),d=a.dgettext("js-text-analysis","Try to make shorter sentences to improve readability.");return{score:this._config.scores.fairlyDifficult,resultText:a.sprintf(e,this.fleschReadingResult,t,s,d)}}if((0,z.inRange)(this.fleschReadingResult,this._config.borders.difficult,this._config.borders.fairlyDifficult)){var c=a.dgettext("js-text-analysis","difficult"),l=a.dgettext("js-text-analysis","Try to make shorter sentences, using less difficult words to improve readability.");return{score:this._config.scores.difficult,resultText:a.sprintf(e,this.fleschReadingResult,t,c,l)}}var u=a.dgettext("js-text-analysis","very difficult"),p=a.dgettext("js-text-analysis","Try to make shorter sentences, using less difficult words to improve readability.");return{score:this._config.scores.veryDifficult,resultText:a.sprintf(e,this.fleschReadingResult,t,u,p)}}},{key:"isApplicable",value:function(a){return(0,g.default)(a.getLocale(),w)&&a.hasText()}}]),e}(p.default);e.default=y},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(37),o=i(n),r=t(199),s=t(1361),d=i(s),c=t(244),l=i(c),u=t(459),p=i(u),z=t(260),m=t(1),g=function(a){return(0,m.filter)(a,function(a){return(0,d.default)(150,a.wordCount)})},w=function(a,e,t){var i;if(0===a.length)return{};var n=a[0].wordCount;return n<=150&&(i=9),(0,z.inRangeEndInclusive)(n,150,200)&&(i=6),n>200&&(i=3),i>=7?{score:i,hasMarks:!1,text:t.dgettext("js-text-analysis","None of the paragraphs are too long, which is great.")}:{score:i,hasMarks:!0,text:t.sprintf(t.dngettext("js-text-analysis","%1$d of the paragraphs contains more than the recommended maximum of %2$d words. Are you sure all information is about the same topic, and therefore belongs in one single paragraph?","%1$d of the paragraphs contain more than the recommended maximum of %2$d words. Are you sure all information within each of these paragraphs is about the same topic, and therefore belongs in a single paragraph?",e.length),e.length,150)}},y=function(a){return a.sort(function(a,e){return e.wordCount-a.wordCount})},f=function(a,e){var t=e.getResearch("getParagraphLength"),i=g(t);return(0,m.map)(i,function(a){var e=(0,r.stripBlockTagsAtStartEnd)(a.text),t=(0,p.default)(e);return new l.default({original:e,marked:t})})},b=function(a,e,t){var i=e.getResearch("getParagraphLength");i=y(i);var n=g(i),r=w(i,n,t),s=new o.default;return s.setScore(r.score),s.setText(r.text),s.setHasMarks(r.hasMarks),s};e.default={identifier:"textParagraphTooLong",getResult:b,isApplicable:function(a){return a.hasText()},getMarks:f}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){return e>a}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(37),o=i(n),r=t(802),s=i(r),d=t(260),c=t(199),l=t(244),u=i(l),p=t(459),z=i(p),m=t(1),g=t(817),w=i(g),y=["en","de","fr","es","ru","it","nl","pl"],f=function(a,e){var t=void 0,i=0,n="<a href='https://yoa.st/passive-voice' target='_blank'>",o=void 0;return 0!==a.total&&(i=(0,s.default)(a.passives.length/a.total*100)),o=i>0,i<=10&&(t=9),(0,d.inRangeEndInclusive)(i,10,15)&&(t=6),i>15&&(t=3),t>=7?{score:t,hasMarks:o,text:e.sprintf(e.dgettext("js-text-analysis","%1$s of the sentences contain %2$spassive voice%3$s, which is less than or equal to the recommended maximum of %4$s."),i+"%",n,"</a>","10%")}:{score:t,hasMarks:o,text:e.sprintf(e.dgettext("js-text-analysis","%1$s of the sentences contain %2$spassive voice%3$s, which is more than the recommended maximum of %4$s. Try to use their active counterparts."),i+"%",n,"</a>","10%")}},b=function(a,e){var t=e.getResearch("passiveVoice");return(0,m.map)(t.passives,function(a){a=(0,c.stripIncompleteTags)(a);var e=(0,z.default)(a);return new u.default({original:a,marked:e})})},h=function(a,e,t){var i=e.getResearch("passiveVoice"),n=f(i,t),r=new o.default;return r.setScore(n.score),r.setText(n.text),r.setHasMarks(n.hasMarks),r};e.default={identifier:"passiveVoice",getResult:h,isApplicable:function(a){return(0,w.default)(a.getLocale(),y)&&a.hasText()},getMarks:b}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(37),o=i(n),r=t(199),s=t(1),d=t(244),c=i(d),l=t(459),u=i(l),p=t(817),z=i(p),m=["en","de","es","fr","nl","it","ru","pl"],g=function(a){var e=(0,s.partition)(a,function(a){return a.count>2});if(0===e[0].length)return{total:0};var t=(0,s.sortBy)(e[0],function(a){return a.count});return{total:e[0].length,lowestCount:t[0].count}},w=function(a,e){return a.total>0?{score:3,hasMarks:!0,text:e.sprintf(e.dngettext("js-text-analysis","The text contains %2$d consecutive sentences starting with the same word. Try to mix things up!","The text contains %1$d instances where %2$d or more consecutive sentences start with the same word. Try to mix things up!",a.total),a.total,a.lowestCount)}:{}},y=function(a,e){var t=e.getResearch("getSentenceBeginnings");t=(0,s.filter)(t,function(a){return a.count>2});var i=(0,s.map)(t,function(a){return a.sentences});return(0,s.map)((0,s.flatten)(i),function(a){a=(0,r.stripIncompleteTags)(a);var e=(0,u.default)(a);return new c.default({original:a,marked:e})})},f=function(a,e,t){var i=e.getResearch("getSentenceBeginnings"),n=g(i),r=w(n,t),s=new o.default;return s.setScore(r.score),s.setText(r.text),s.setHasMarks(r.hasMarks),s};e.default={identifier:"sentenceBeginnings",getResult:f,isApplicable:function(a){return(0,z.default)(a.getLocale(),m)&&a.hasText()},getMarks:y}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(37),l=i(c),u=t(91),p=i(u),z=t(1432),m=i(z),g=t(802),w=i(g),y=t(260),f=t(199),b=t(244),h=i(b),v=t(459),k=i(v),j=t(1),_=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={recommendedWordCount:20,slightlyTooMany:25,farTooMany:30};return t.identifier="textSentenceLength",t._config=(0,j.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){var i=e.getResearch("countSentencesFromText"),n=this.calculatePercentage(i),o=this.calculateScore(n),r=new l.default;return r.setScore(o),r.setText(this.translateScore(o,n,t)),r.setHasMarks(n>0),r}},{key:"isApplicable",value:function(a){return a.hasText()}},{key:"getMarks",value:function(a,e){var t=e.getResearch("countSentencesFromText"),i=this.getTooLongSentences(t);return(0,j.map)(i,function(a){var e=(0,f.stripIncompleteTags)(a.sentence);return new h.default({original:e,marked:(0,k.default)(e)})})}},{key:"translateScore",value:function(a,e,t){var i="<a href='https://yoa.st/short-sentences' target='_blank'>";return a>=7?t.sprintf(t.dgettext("js-text-analysis","%1$s of the sentences contain %2$smore than %3$s words%4$s, which is less than or equal to the recommended maximum of %5$s."),e+"%",i,this._config.recommendedWordCount,"</a>",this._config.slightlyTooMany+"%"):t.sprintf(t.dgettext("js-text-analysis","%1$s of the sentences contain %2$smore than %3$s words%4$s, which is more than the recommended maximum of %5$s. Try to shorten the sentences."),e+"%",i,this._config.recommendedWordCount,"</a>",this._config.slightlyTooMany+"%")}},{key:"calculatePercentage",value:function(a){var e=0;if(0!==a.length){var t=this.countTooLongSentences(a);e=(0,w.default)(t/a.length*100)}return e}},{key:"calculateScore",value:function(a){var e=void 0;return a<=this._config.slightlyTooMany&&(e=9),(0,y.inRangeEndInclusive)(a,this._config.slightlyTooMany,this._config.farTooMany)&&(e=6),a>this._config.farTooMany&&(e=3),e}},{key:"getTooLongSentences",value:function(a){return(0,m.default)(a,this._config.recommendedWordCount)}},{key:"countTooLongSentences",value:function(a){return this.getTooLongSentences(a).length}}]),e}(p.default);e.default=_},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(37),l=i(c),u=t(91),p=i(u),z=t(1361),m=i(z),g=t(1433),w=t(332),y=i(w),f=t(1),b=t(244),h=i(b),v=t(459),k=i(v),j=t(260),_=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={parameters:{recommendedMaximumWordCount:300,slightlyTooMany:300,farTooMany:350},url:"<a href='https://yoa.st/headings' target='_blank'>",scores:{goodShortTextNoSubheadings:9,goodSubheadings:9,okSubheadings:6,badSubheadings:3,badLongTextNoSubheadings:2}};return t.identifier="subheadingsTooLong",t._config=(0,f.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){this._subheadingTextsLength=e.getResearch("getSubheadingTextLengths"),this._subheadingTextsLength=this._subheadingTextsLength.sort(function(a,e){return e.wordCount-a.wordCount}),this._tooLongTexts=this.getTooLongSubheadingTexts(),this._tooLongTextsNumber=this.getTooLongSubheadingTexts().length;var i=new l.default;i.setIdentifier(this.identifier),this._hasSubheadings=this.hasSubheadings(a),this._textLength=(0,y.default)(a.getText()).length;var n=this.calculateResult(t);return n.resultTextPlural=n.resultTextPlural||"",i.setScore(n.score),i.setText(n.resultText),n.score>2&&n.score<7&&(i.setHasMarks(!0),i.setMarker(this.getMarks())),i}},{key:"isApplicable",value:function(a){return a.hasText()}},{key:"hasSubheadings",value:function(a){return(0,g.getSubheadings)(a.getText()).length>0}},{key:"getMarks",value:function(){return(0,f.map)(this._tooLongTexts,function(a){var e=(0,k.default)(a.text);return new h.default({original:a.text,marked:e})})}},{key:"getTooLongSubheadingTexts",value:function(){return(0,f.filter)(this._subheadingTextsLength,function(a){return(0,m.default)(this._config.parameters.recommendedMaximumWordCount,a.wordCount)}.bind(this))}},{key:"calculateResult",value:function(a){if(this._textLength>300){if(this._hasSubheadings){var e=this._subheadingTextsLength[0].wordCount;return e<=this._config.parameters.slightlyTooMany?{score:this._config.scores.goodSubheadings,resultText:a.sprintf(a.dgettext("js-text-analysis","Great job with using %1$ssubheadings%2$s!"),this._config.url,"</a>")}:(0,j.inRangeEndInclusive)(e,this._config.parameters.slightlyTooMany,this._config.parameters.farTooMany)?{score:this._config.scores.okSubheadings,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$d section of your text is longer than %2$d words and is not separated by any subheadings. Add %3$ssubheadings%4$s to improve readability.","%1$d sections of your text are longer than %2$d words and are not separated by any subheadings. Add %3$ssubheadings%4$s to improve readability.",this._tooLongTextsNumber),this._tooLongTextsNumber,this._config.parameters.recommendedMaximumWordCount,this._config.url,"</a>")}:{score:this._config.scores.badSubheadings,resultText:a.sprintf(a.dngettext("js-text-analysis","%1$d section of your text is longer than %2$d words and is not separated by any subheadings. Add %3$ssubheadings%4$s to improve readability.","%1$d sections of your text are longer than %2$d words and are not separated by any subheadings. Add %3$ssubheadings%4$s to improve readability.",this._tooLongTextsNumber),this._tooLongTextsNumber,this._config.parameters.recommendedMaximumWordCount,this._config.url,"</a>")}}return{score:this._config.scores.badLongTextNoSubheadings,resultText:a.sprintf(a.dgettext("js-text-analysis","You are not using any subheadings, although your text is rather long. Try and add some %1$ssubheadings%2$s."),this._config.url,"</a>")}}return this._hasSubheadings?{score:this._config.scores.goodSubheadings,resultText:a.sprintf(a.dgettext("js-text-analysis","Great job with using %1$ssubheadings%2$s!"),this._config.url,"</a>")}:{score:this._config.scores.goodShortTextNoSubheadings,resultText:a.sprintf(a.dgettext("js-text-analysis","You are not using any %1$ssubheadings%2$s, but your text is short enough and probably doesn't need them."),this._config.url,"</a>")}}}]),e}(p.default);e.default=_},function(a,e,t){"use strict";function i(a,e,t){if((0,n.stripFullTags)(a.getText()).length<50){var i=new r.default;return i.setText(t.dgettext("js-text-analysis","You have far too little content, please add some content to enable a good analysis.")),i.setScore(3),i}return new r.default}Object.defineProperty(e,"__esModule",{value:!0});var n=t(199),o=t(37),r=function(a){return a&&a.__esModule?a:{default:a}}(o);e.default={identifier:"textPresence",getResult:i}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(37),o=i(n),r=t(802),s=i(r),d=t(1),c=t(260),l=t(199),u=t(244),p=i(u),z=t(459),m=i(z),g=t(817),w=i(g),y=["en","de","es","fr","nl","it","pt","ru","ca","pl"],f=function(a){return 0===a.transitionWordSentences||0===a.totalSentences?0:(0,s.default)(a.transitionWordSentences/a.totalSentences*100)},b=function(a,e){var t=void 0,i=f(a),n=i>0,o="<a href='https://yoa.st/transition-words' target='_blank'>";if(i<20&&(t=3),(0,c.inRangeStartInclusive)(i,20,30)&&(t=6),i>=30&&(t=9),t<7){return{score:(0,s.default)(t),hasMarks:n,text:e.sprintf(e.dgettext("js-text-analysis","%1$s of the sentences contain a %2$stransition word%3$s or phrase, which is less than the recommended minimum of %4$s."),i+"%",o,"</a>","30%")}}return{score:(0,s.default)(t),hasMarks:n,text:e.sprintf(e.dgettext("js-text-analysis","%1$s of the sentences contain a %2$stransition word%3$s or phrase, which is great."),i+"%",o,"</a>")}},h=function(a,e,t){var i=e.getResearch("findTransitionWords"),n=b(i,t),r=new o.default;return r.setScore(n.score),r.setText(n.text),r.setHasMarks(n.hasMarks),r},v=function(a,e){var t=e.getResearch("findTransitionWords");return(0,d.map)(t.sentenceResults,function(a){var e=a.sentence;return e=(0,l.stripIncompleteTags)(e),new p.default({original:e,marked:(0,m.default)(e)})})};e.default={identifier:"textTransitionWords",getResult:h,isApplicable:function(a){return(0,w.default)(a.getLocale(),y)&&a.hasText()},getMarks:v}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(91),u=i(l),p=t(37),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={parameters:{recommendedMinimum:1},scores:{allInternalFollow:9,someInternalFollow:8,noneInternalFollow:7,noInternal:3},url:"<a href='https://yoa.st/2pm' target='_blank'>"};return t.identifier="internalLinks",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){this.linkStatistics=e.getResearch("getLinkStatistics");var i=new z.default,n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i}},{key:"isApplicable",value:function(a){return a.hasText()}},{key:"calculateResult",value:function(a){return 0===this.linkStatistics.internalTotal?{score:this._config.scores.noInternal,resultText:a.sprintf(a.dgettext("js-text-analysis","No %1$sinternal links%2$s appear in this page, consider adding some as appropriate."),this._config.url,"</a>")}:this.linkStatistics.internalNofollow===this.linkStatistics.internalTotal?{score:this._config.scores.noneInternalFollow,resultText:a.sprintf(a.dgettext("js-text-analysis","This page has %1$s %2$sinternal link(s)%3$s, all nofollowed."),this.linkStatistics.internalNofollow,this._config.url,"</a>")}:this.linkStatistics.internalDofollow===this.linkStatistics.internalTotal?{score:this._config.scores.allInternalFollow,resultText:a.sprintf(a.dgettext("js-text-analysis","This page has %1$s %2$sinternal link(s)%3$s."),this.linkStatistics.internalTotal,this._config.url,"</a>")}:{score:this._config.scores.someInternalFollow,resultText:a.sprintf(a.dgettext("js-text-analysis","This page has %1$s nofollowed %2$sinternal link(s)%3$s and %4$s normal internal link(s)."),this.linkStatistics.internalNofollow,this._config.url,"</a>",this.linkStatistics.internalDofollow)}}}]),e}(u.default);e.default=m},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){if((0,o.isUndefined)(a))return[];switch((0,n.default)(a)){case"es":return r.es;case"pl":return r.pl;case"de":return r.de;case"nb":case"nn":return r.nbnn;case"sv":return r.sv;case"fi":return r.fi;case"da":return r.da;case"tr":return r.tr;case"lv":return r.lv;case"is":return r.is;case"fa":return r.fa;case"cs":return r.cs;case"ru":return r.ru;case"eo":return r.eo;case"af":return r.af;case"bal":case"ca":return r.ca;case"ast":return r.ast;case"an":return r.an;case"ay":return r.ay;case"en":return r.en;case"fr":return r.fr;case"it":return r.it;case"nl":return r.nl;case"bm":return r.bm;case"uk":return r.uk;case"br":return r.br;case"ch":return r.ch;case"csb":return r.csb;case"cy":return r.cy;case"ee":return r.ee;case"et":return r.et;case"eu":return r.eu;case"fuc":return r.fuc;case"fj":return r.fj;case"frp":return r.frp;case"fur":return r.fur;case"fy":return r.fy;case"ga":return r.ga;case"gd":return r.gd;case"gl":return r.gl;case"gn":return r.gn;case"gsw":return r.gsw;case"hat":return r.hat;case"haw":return r.haw;case"hr":return r.hr;case"ka":return r.ka;case"kal":return r.kal;case"kin":return r.kin;case"lb":return r.lb;case"li":return r.li;case"lin":return r.lin;case"lt":return r.lt;case"mg":return r.mg;case"mk":return r.mk;case"mri":return r.mri;case"mwl":return r.mwl;case"oci":return r.oci;case"orm":return r.orm;case"pt":return r.pt;case"roh":return r.roh;case"rup":return r.rup;case"ro":return r.ro;case"tlh":return r.tlh;case"sk":return r.sk;case"sl":return r.sl;case"sq":return r.sq;case"hu":return r.hu;case"srd":return r.srd;case"szl":return r.szl;case"tah":return r.tah;case"vec":return r.vec;case"wa":return r.wa;case"yor":return r.yor;default:return[]}};var i=t(259),n=function(a){return a&&a.__esModule?a:{default:a}}(i),o=t(1),r={es:[{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u00FA\u00FC]/g,alternative:"u"},{letter:/[\u00DA\u00DC]/g,alternative:"U"}],pl:[{letter:/[\u0105]/g,alternative:"a"},{letter:/[\u0104]/g,alternative:"A"},{letter:/[\u0107]/g,alternative:"c"},{letter:/[\u0106]/g,alternative:"C"},{letter:/[\u0119]/g,alternative:"e"},{letter:/[\u0118]/g,alternative:"E"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u0141]/g,alternative:"L"},{letter:/[\u0144]/g,alternative:"n"},{letter:/[\u0143]/g,alternative:"N"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u015B]/g,alternative:"s"},{letter:/[\u015A]/g,alternative:"S"},{letter:/[\u017A\u017C]/g,alternative:"z"},{letter:/[\u0179\u017B]/g,alternative:"Z"}],de:[{letter:/[\u00E4]/g,alternative:"ae"},{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00FC]/g,alternative:"ue"},{letter:/[\u00DC]/g,alternative:"Ue"},{letter:/[\u00F6]/g,alternative:"oe"},{letter:/[\u00D6]/g,alternative:"Oe"},{letter:/[\u00DF]/g,alternative:"ss"},{letter:/[\u1E9E]/g,alternative:"SS"}],nbnn:[{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"},{letter:/[\u00E5]/g,alternative:"aa"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00D8]/g,alternative:"Oe"},{letter:/[\u00E9\u00E8\u00EA]/g,alternative:"e"},{letter:/[\u00C9\u00C8\u00CA]/g,alternative:"E"},{letter:/[\u00F3\u00F2\u00F4]/g,alternative:"o"},{letter:/[\u00D3\u00D2\u00D4]/g,alternative:"O"}],sv:[{letter:/[\u00E5]/g,alternative:"aa"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E4]/g,alternative:"ae"},{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00F6]/g,alternative:"oe"},{letter:/[\u00D6]/g,alternative:"Oe"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00C0]/g,alternative:"A"}],fi:[{letter:/[\u00E5]/g,alternative:"aa"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00C4]/g,alternative:"A"},{letter:/[\u00F6]/g,alternative:"o"},{letter:/[\u00D6]/g,alternative:"O"},{letter:/[\u017E]/g,alternative:"zh"},{letter:/[\u017D]/g,alternative:"Zh"},{letter:/[\u0161]/g,alternative:"sh"},{letter:/[\u0160]/g,alternative:"Sh"}],da:[{letter:/[\u00E5]/g,alternative:"aa"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"},{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00D8]/g,alternative:"Oe"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00C9]/g,alternative:"E"}],tr:[{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u011F]/g,alternative:"g"},{letter:/[\u011E]/g,alternative:"G"},{letter:/[\u00F6]/g,alternative:"o"},{letter:/[\u00D6]/g,alternative:"O"},{letter:/[\u015F]/g,alternative:"s"},{letter:/[\u015E]/g,alternative:"S"},{letter:/[\u00E2]/g,alternative:"a"},{letter:/[\u00C2]/g,alternative:"A"},{letter:/[\u0131\u00EE]/g,alternative:"i"},{letter:/[\u0130\u00CE]/g,alternative:"I"},{letter:/[\u00FC\u00FB]/g,alternative:"u"},{letter:/[\u00DC\u00DB]/g,alternative:"U"}],lv:[{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u010D]/g,alternative:"c"},{letter:/[\u010C]/g,alternative:"C"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u0123]/g,alternative:"g"},{letter:/[\u0122]/g,alternative:"G"},{letter:/[\u012B]/g,alternative:"i"},{letter:/[\u012A]/g,alternative:"I"},{letter:/[\u0137]/g,alternative:"k"},{letter:/[\u0136]/g,alternative:"K"},{letter:/[\u013C]/g,alternative:"l"},{letter:/[\u013B]/g,alternative:"L"},{letter:/[\u0146]/g,alternative:"n"},{letter:/[\u0145]/g,alternative:"N"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u016B]/g,alternative:"u"},{letter:/[\u016A]/g,alternative:"U"},{letter:/[\u017E]/g,alternative:"z"},{letter:/[\u017D]/g,alternative:"Z"}],is:[{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00F0]/g,alternative:"d"},{letter:/[\u00D0]/g,alternative:"D"},{letter:/[\u00E9]/g,alternative:"e"},{letter:/[\u00C9]/g,alternative:"E"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00F3\u00F6]/g,alternative:"o"},{letter:/[\u00D3\u00D6]/g,alternative:"O"},{letter:/[\u00FA]/g,alternative:"u"},{letter:/[\u00DA]/g,alternative:"U"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u00FE]/g,alternative:"th"},{letter:/[\u00DE]/g,alternative:"Th"},{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"}],fa:[{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u00F0]/g,alternative:"d"},{letter:/[\u00D0]/g,alternative:"D"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u00FA]/g,alternative:"u"},{letter:/[\u00DA]/g,alternative:"U"},{letter:/[\u00F3\u00F8]/g,alternative:"o"},{letter:/[\u00D3\u00D8]/g,alternative:"O"},{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"}],cs:[{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00C1]/g,alternative:"A"},{letter:/[\u010D]/g,alternative:"c"},{letter:/[\u010C]/g,alternative:"C"},{letter:/[\u010F]/g,alternative:"d"},{letter:/[\u010E]/g,alternative:"D"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u0148]/g,alternative:"n"},{letter:/[\u0147]/g,alternative:"N"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u0159]/g,alternative:"r"},{letter:/[\u0158]/g,alternative:"R"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0165]/g,alternative:"t"},{letter:/[\u0164]/g,alternative:"T"},{letter:/[\u00FD]/g,alternative:"y"},{letter:/[\u00DD]/g,alternative:"Y"},{letter:/[\u017E]/g,alternative:"z"},{letter:/[\u017D]/g,alternative:"Z"},{letter:/[\u00E9\u011B]/g,alternative:"e"},{letter:/[\u00C9\u011A]/g,alternative:"E"},{letter:/[\u00FA\u016F]/g,alternative:"u"},{letter:/[\u00DA\u016E]/g,alternative:"U"}],ru:[{letter:/[\u0430]/g,alternative:"a"},{letter:/[\u0410]/g,alternative:"A"},{letter:/[\u0431]/g,alternative:"b"},{letter:/[\u0411]/g,alternative:"B"},{letter:/[\u0432]/g,alternative:"v"},{letter:/[\u0412]/g,alternative:"V"},{letter:/[\u0433]/g,alternative:"g"},{letter:/[\u0413]/g,alternative:"G"},{letter:/[\u0434]/g,alternative:"d"},{letter:/[\u0414]/g,alternative:"D"},{letter:/[\u0435]/g,alternative:"e"},{letter:/[\u0415]/g,alternative:"E"},{letter:/[\u0436]/g,alternative:"zh"},{letter:/[\u0416]/g,alternative:"Zh"},{letter:/[\u0437]/g,alternative:"z"},{letter:/[\u0417]/g,alternative:"Z"},{letter:/[\u0456\u0438\u0439]/g,alternative:"i"},{letter:/[\u0406\u0418\u0419]/g,alternative:"I"},{letter:/[\u043A]/g,alternative:"k"},{letter:/[\u041A]/g,alternative:"K"},{letter:/[\u043B]/g,alternative:"l"},{letter:/[\u041B]/g,alternative:"L"},{letter:/[\u043C]/g,alternative:"m"},{letter:/[\u041C]/g,alternative:"M"},{letter:/[\u043D]/g,alternative:"n"},{letter:/[\u041D]/g,alternative:"N"},{letter:/[\u0440]/g,alternative:"r"},{letter:/[\u0420]/g,alternative:"R"},{letter:/[\u043E]/g,alternative:"o"},{letter:/[\u041E]/g,alternative:"O"},{letter:/[\u043F]/g,alternative:"p"},{letter:/[\u041F]/g,alternative:"P"},{letter:/[\u0441]/g,alternative:"s"},{letter:/[\u0421]/g,alternative:"S"},{letter:/[\u0442]/g,alternative:"t"},{letter:/[\u0422]/g,alternative:"T"},{letter:/[\u0443]/g,alternative:"u"},{letter:/[\u0423]/g,alternative:"U"},{letter:/[\u0444]/g,alternative:"f"},{letter:/[\u0424]/g,alternative:"F"},{letter:/[\u0445]/g,alternative:"kh"},{letter:/[\u0425]/g,alternative:"Kh"},{letter:/[\u0446]/g,alternative:"ts"},{letter:/[\u0426]/g,alternative:"Ts"},{letter:/[\u0447]/g,alternative:"ch"},{letter:/[\u0427]/g,alternative:"Ch"},{letter:/[\u0448]/g,alternative:"sh"},{letter:/[\u0428]/g,alternative:"Sh"},{letter:/[\u0449]/g,alternative:"shch"},{letter:/[\u0429]/g,alternative:"Shch"},{letter:/[\u044A]/g,alternative:"ie"},{letter:/[\u042A]/g,alternative:"Ie"},{letter:/[\u044B]/g,alternative:"y"},{letter:/[\u042B]/g,alternative:"Y"},{letter:/[\u044C]/g,alternative:""},{letter:/[\u042C]/g,alternative:""},{letter:/[\u0451\u044D]/g,alternative:"e"},{letter:/[\u0401\u042D]/g,alternative:"E"},{letter:/[\u044E]/g,alternative:"iu"},{letter:/[\u042E]/g,alternative:"Iu"},{letter:/[\u044F]/g,alternative:"ia"},{letter:/[\u042F]/g,alternative:"Ia"}],eo:[{letter:/[\u0109]/g,alternative:"ch"},{letter:/[\u0108]/g,alternative:"Ch"},{letter:/[\u011d]/g,alternative:"gh"},{letter:/[\u011c]/g,alternative:"Gh"},{letter:/[\u0125]/g,alternative:"hx"},{letter:/[\u0124]/g,alternative:"Hx"},{letter:/[\u0135]/g,alternative:"jx"},{letter:/[\u0134]/g,alternative:"Jx"},{letter:/[\u015d]/g,alternative:"sx"},{letter:/[\u015c]/g,alternative:"Sx"},{letter:/[\u016d]/g,alternative:"ux"},{letter:/[\u016c]/g,alternative:"Ux"}],af:[{letter:/[\u00E8\u00EA\u00EB]/g,alternative:"e"},{letter:/[\u00CB\u00C8\u00CA]/g,alternative:"E"},{letter:/[\u00EE\u00EF]/g,alternative:"i"},{letter:/[\u00CE\u00CF]/g,alternative:"I"},{letter:/[\u00F4\u00F6]/g,alternative:"o"},{letter:/[\u00D4\u00D6]/g,alternative:"O"},{letter:/[\u00FB\u00FC]/g,alternative:"u"},{letter:/[\u00DB\u00DC]/g,alternative:"U"}],ca:[{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00C0]/g,alternative:"A"},{letter:/[\u00E9|\u00E8]/g,alternative:"e"},{letter:/[\u00C9|\u00C8]/g,alternative:"E"},{letter:/[\u00ED|\u00EF]/g,alternative:"i"},{letter:/[\u00CD|\u00CF]/g,alternative:"I"},{letter:/[\u00F3|\u00F2]/g,alternative:"o"},{letter:/[\u00D3|\u00D2]/g,alternative:"O"},{letter:/[\u00FA|\u00FC]/g,alternative:"u"},{letter:/[\u00DA|\u00DC]/g,alternative:"U"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"}],ast:[{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"}],an:[{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00F1]/g,alternative:"ny"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00ED]/g,alternative:"i"},{letter:/[\u00F3]/g,alternative:"o"},{letter:/[\u00E1]/g,alternative:"a"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00D1]/g,alternative:"Ny"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00CD]/g,alternative:"I"},{letter:/[\u00D3]/g,alternative:"O"},{letter:/[\u00C1]/g,alternative:"A"}],ay:[{letter:/(([\u00EF])|([\u00ED]))/g,alternative:"i"},{letter:/(([\u00CF])|([\u00CD]))/g,alternative:"I"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00C4]/g,alternative:"A"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u0027]/g,alternative:""},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"}],en:[{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0152]/g,alternative:"Oe"},{letter:/[\u00EB\u00E9]/g,alternative:"e"},{letter:/[\u00C9\u00CB]/g,alternative:"E"},{letter:/[\u00F4\u00F6]/g,alternative:"o"},{letter:/[\u00D4\u00D6]/g,alternative:"O"},{letter:/[\u00EF]/g,alternative:"i"},{letter:/[\u00CF]/g,alternative:"I"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00C4]/g,alternative:"A"}],fr:[{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0152]/g,alternative:"Oe"},{letter:/[\u00E9\u00E8\u00EB\u00EA]/g,alternative:"e"},{letter:/[\u00C9\u00C8\u00CB\u00CA]/g,alternative:"E"},{letter:/[\u00E0\u00E2]/g,alternative:"a"},{letter:/[\u00C0\u00C2]/g,alternative:"A"},{letter:/[\u00EF\u00EE]/g,alternative:"i"},{letter:/[\u00CF\u00CE]/g,alternative:"I"},{letter:/[\u00F9\u00FB\u00FC]/g,alternative:"u"},{letter:/[\u00D9\u00DB\u00DC]/g,alternative:"U"},{letter:/[\u00F4]/g,alternative:"o"},{letter:/[\u00D4]/g,alternative:"O"},{letter:/[\u00FF]/g,alternative:"y"},{letter:/[\u0178]/g,alternative:"Y"},{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"}],it:[{letter:/[\u00E0]/g,alternative:"a"},{letter:/[\u00C0]/g,alternative:"A"},{letter:/[\u00E9\u00E8]/g,alternative:"e"},{letter:/[\u00C9\u00C8]/g,alternative:"E"},{letter:/[\u00EC\u00ED\u00EE]/g,alternative:"i"},{letter:/[\u00CC\u00CD\u00CE]/g,alternative:"I"},{letter:/[\u00F3\u00F2]/g,alternative:"o"},{letter:/[\u00D3\u00D2]/g,alternative:"O"},{letter:/[\u00F9\u00FA]/g,alternative:"u"},{letter:/[\u00D9\u00DA]/g,alternative:"U"}],nl:[{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00F1]/g,alternative:"n"},{letter:/[\u00D1]/g,alternative:"N"},{letter:/[\u00E9\u00E8\u00EA\u00EB]/g,alternative:"e"},{letter:/[\u00C9\u00C8\u00CA\u00CB]/g,alternative:"E"},{letter:/[\u00F4\u00F6]/g,alternative:"o"},{letter:/[\u00D4\u00D6]/g,alternative:"O"},{letter:/[\u00EF]/g,alternative:"i"},{letter:/[\u00CF]/g,alternative:"I"},{letter:/[\u00FC]/g,alternative:"u"},{letter:/[\u00DC]/g,alternative:"U"},{letter:/[\u00E4]/g,alternative:"a"},{letter:/[\u00C4]/g,alternative:"A"}],bm:[{letter:/[\u025B]/g,alternative:"e"},{letter:/[\u0190]/g,alternative:"E"},{letter:/[\u0272]/g,alternative:"ny"},{letter:/[\u019D]/g,alternative:"Ny"},{letter:/[\u014B]/g,alternative:"ng"},{letter:/[\u014A]/g,alternative:"Ng"},{letter:/[\u0254]/g,alternative:"o"},{letter:/[\u0186]/g,alternative:"O"}],uk:[{letter:/[\u0431]/g,alternative:"b"},{letter:/[\u0411]/g,alternative:"B"},{letter:/[\u0432]/g,alternative:"v"},{letter:/[\u0412]/g,alternative:"V"},{letter:/[\u0433]/g,alternative:"h"},{letter:/[\u0413]/g,alternative:"H"},{letter:/[\u0491]/g,alternative:"g"},{letter:/[\u0490]/g,alternative:"G"},{letter:/[\u0434]/g,alternative:"d"},{letter:/[\u0414]/g,alternative:"D"},{letter:/[\u043A]/g,alternative:"k"},{letter:/[\u041A]/g,alternative:"K"},{letter:/[\u043B]/g,alternative:"l"},{letter:/[\u041B]/g,alternative:"L"},{letter:/[\u043C]/g,alternative:"m"},{letter:/[\u041C]/g,alternative:"M"},{letter:/[\u0070]/g,alternative:"r"},{letter:/[\u0050]/g,alternative:"R"},{letter:/[\u043F]/g,alternative:"p"},{letter:/[\u041F]/g,alternative:"P"},{letter:/[\u0441]/g,alternative:"s"},{letter:/[\u0421]/g,alternative:"S"},{letter:/[\u0442]/g,alternative:"t"},{letter:/[\u0422]/g,alternative:"T"},{letter:/[\u0443]/g,alternative:"u"},{letter:/[\u0423]/g,alternative:"U"},{letter:/[\u0444]/g,alternative:"f"},{letter:/[\u0424]/g,alternative:"F"},{letter:/[\u0445]/g,alternative:"kh"},{letter:/[\u0425]/g,alternative:"Kh"},{letter:/[\u0446]/g,alternative:"ts"},{letter:/[\u0426]/g,alternative:"Ts"},{letter:/[\u0447]/g,alternative:"ch"},{letter:/[\u0427]/g,alternative:"Ch"},{letter:/[\u0448]/g,alternative:"sh"},{letter:/[\u0428]/g,alternative:"Sh"},{letter:/[\u0449]/g,alternative:"shch"},{letter:/[\u0429]/g,alternative:"Shch"},{letter:/[\u044C\u042C]/g,alternative:""},{letter:/[\u0436]/g,alternative:"zh"},{letter:/[\u0416]/g,alternative:"Zh"},{letter:/[\u0437]/g,alternative:"z"},{letter:/[\u0417]/g,alternative:"Z"},{letter:/[\u0438]/g,alternative:"y"},{letter:/[\u0418]/g,alternative:"Y"},{letter:/^[\u0454]/g,alternative:"ye"},{letter:/[\s][\u0454]/g,alternative:" ye"},{letter:/[\u0454]/g,alternative:"ie"},{letter:/^[\u0404]/g,alternative:"Ye"},{letter:/[\s][\u0404]/g,alternative:" Ye"},{letter:/[\u0404]/g,alternative:"IE"},{letter:/^[\u0457]/g,alternative:"yi"},{letter:/[\s][\u0457]/g,alternative:" yi"},{letter:/[\u0457]/g,alternative:"i"},{letter:/^[\u0407]/g,alternative:"Yi"},{letter:/[\s][\u0407]/g,alternative:" Yi"},{letter:/[\u0407]/g,alternative:"I"},{letter:/^[\u0439]/g,alternative:"y"},{letter:/[\s][\u0439]/g,alternative:" y"},{letter:/[\u0439]/g,alternative:"i"},{letter:/^[\u0419]/g,alternative:"Y"},{letter:/[\s][\u0419]/g,alternative:" Y"},{letter:/[\u0419]/g,alternative:"I"},{letter:/^[\u044E]/g,alternative:"yu"},{letter:/[\s][\u044E]/g,alternative:" yu"},{letter:/[\u044E]/g,alternative:"iu"},{letter:/^[\u042E]/g,alternative:"Yu"},{letter:/[\s][\u042E]/g,alternative:" Yu"},{letter:/[\u042E]/g,alternative:"IU"},{letter:/^[\u044F]/g,alternative:"ya"},{letter:/[\s][\u044F]/g,alternative:" ya"},{letter:/[\u044F]/g,alternative:"ia"},{letter:/^[\u042F]/g,alternative:"Ya"},{letter:/[\s][\u042F]/g,alternative:" Ya"},{letter:/[\u042F]/g,alternative:"IA"}],br:[{letter:/\u0063\u0027\u0068/g,alternative:"ch"},{letter:/\u0043\u0027\u0048/g,alternative:"CH"},{letter:/[\u00e2]/g,alternative:"a"},{letter:/[\u00c2]/g,alternative:"A"},{letter:/[\u00ea]/g,alternative:"e"},{letter:/[\u00ca]/g,alternative:"E"},{letter:/[\u00ee]/g,alternative:"i"},{letter:/[\u00ce]/g,alternative:"I"},{letter:/[\u00f4]/g,alternative:"o"},{letter:/[\u00d4]/g,alternative:"O"},{letter:/[\u00fb\u00f9\u00fc]/g,alternative:"u"},{letter:/[\u00db\u00d9\u00dc]/g,alternative:"U"},{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"}],ch:[{letter:/[\u0027]/g,alternative:""},{letter:/[\u00e5]/g,alternative:"a"},{letter:/[\u00c5]/g,alternative:"A"},{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"}],co:[{letter:/[\u00e2\u00e0]/g,alternative:"a"},{letter:/[\u00c2\u00c0]/g,alternative:"A"},{letter:/[\u00e6\u04d5]/g,alternative:"ae"},{letter:/[\u00c6\u04d4]/g,alternative:"Ae"},{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00e9\u00ea\u00e8\u00eb]/g,alternative:"e"},{letter:/[\u00c9\u00ca\u00c8\u00cb]/g,alternative:"E"},{letter:/[\u00ec\u00ee\u00ef]/g,alternative:"i"},{letter:/[\u00cc\u00ce\u00cf]/g,alternative:"I"},{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"},{letter:/[\u00f4\u00f2]/g,alternative:"o"},{letter:/[\u00d4\u00d2]/g,alternative:"O"},{letter:/[\u0153]/g,alternative:"oe"},{letter:/[\u0152]]/g,alternative:"Oe"},{letter:/[\u00f9\u00fc]/g,alternative:"u"},{letter:/[\u00d9\u00dc]/g,alternative:"U"},{letter:/[\u00ff]/g,alternative:"y"},{letter:/[\u0178]/g,alternative:"Y"}],csb:[{letter:/[\u0105\u00e3]/g,alternative:"a"},{letter:/[\u0104\u00c3]/g,alternative:"A"},{letter:/[\u00e9\u00eb]/g,alternative:"e"},{letter:/[\u00c9\u00cb]/g,alternative:"E"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u0141]/g,alternative:"L"},{letter:/[\u0144]/g,alternative:"n"},{letter:/[\u0143]/g,alternative:"N"},{letter:/[\u00f2\u00f3\u00f4]/g,alternative:"o"},{letter:/[\u00d2\u00d3\u00d4]/g,alternative:"O"},{letter:/[\u00f9]/g,alternative:"u"},{letter:/[\u00d9]/g,alternative:"U"},{letter:/[\u017c]/g,alternative:"z"},{letter:/[\u017b]/g,alternative:"Z"}],cy:[{letter:/[\u00e2]/g,alternative:"a"},{letter:/[\u00c2]/g,alternative:"A"},{letter:/[\u00ea]/g,alternative:"e"},{letter:/[\u00ca]/g,alternative:"E"},{letter:/[\u00ee]/g,alternative:"i"},{letter:/[\u00ce]/g,alternative:"I"},{letter:/[\u00f4]/g,alternative:"o"},{letter:/[\u00d4]/g,alternative:"O"},{letter:/[\u00fb]/g,alternative:"u"},{letter:/[\u00db]/g,alternative:"U"},{letter:/[\u0175]/g,alternative:"w"},{letter:/[\u0174]/g,alternative:"W"},{letter:/[\u0177]/g,alternative:"y"},{letter:/[\u0176]/g,alternative:"Y"}],ee:[{letter:/[\u0256]/g,alternative:"d"},{letter:/[\u0189]/g,alternative:"D"},{letter:/[\u025b]/g,alternative:"e"},{letter:/[\u0190]/g,alternative:"E"},{letter:/[\u0192]/g,alternative:"f"},{letter:/[\u0191]/g,alternative:"F"},{letter:/[\u0263]/g,alternative:"g"},{letter:/[\u0194]/g,alternative:"G"},{letter:/[\u014b]/g,alternative:"ng"},{letter:/[\u014a]/g,alternative:"Ng"},{letter:/[\u0254]/g,alternative:"o"},{letter:/[\u0186]/g,alternative:"O"},{letter:/[\u028b]/g,alternative:"w"},{letter:/[\u01b2]/g,alternative:"W"},{letter:/\u0061\u0303/g,alternative:"a"},{letter:/[\u00e1\u00e0\u01ce\u00e2\u00e3]/g,alternative:"a"},{letter:/\u0041\u0303/g,alternative:"A"},{letter:/[\u00c1\u00c0\u01cd\u00c2\u00c3]/g,alternative:"A"},{letter:/[\u00e9\u00e8\u011b\u00ea]/g,alternative:"e"},{letter:/[\u00c9\u00c8\u011a\u00ca]/g,alternative:"E"},{letter:/[\u00f3\u00f2\u01d2\u00f4]/g,alternative:"o"},{letter:/[\u00d3\u00d2\u01d1\u00d4]/g,alternative:"O"},{letter:/[\u00fa\u00f9\u01d4\u00fb]/g,alternative:"u"},{letter:/[\u00da\u00d9\u01d3\u00db]/g,alternative:"U"},{letter:/[\u00ed\u00ec\u01d0\u00ee]/g,alternative:"i"},{letter:/[\u00cd\u00cc\u01cf\u00ce]/g,alternative:"I"}],et:[{letter:/[\u0161]/g,alternative:"sh"},{letter:/[\u0160]/g,alternative:"Sh"},{letter:/[\u017e]/g,alternative:"zh"},{letter:/[\u017d]/g,alternative:"Zh"},{letter:/[\u00f5\u00f6]/g,alternative:"o"},{letter:/[\u00d6\u00d5]/g,alternative:"O"},{letter:/[\u00e4]/g,alternative:"a"},{letter:/[\u00c4]/g,alternative:"A"},{letter:/[\u00fc]/g,alternative:"u"},{letter:/[\u00dc]/g,alternative:"U"}],eu:[{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"},{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00fc]/g,alternative:"u"},{letter:/[\u00dc]/g,alternative:"U"}],fuc:[{letter:/[\u0253]/g,alternative:"b"},{letter:/[\u0181]/g,alternative:"B"},{letter:/[\u0257]/g,alternative:"d"},{letter:/[\u018a]/g,alternative:"D"},{letter:/[\u014b]/g,alternative:"ng"},{letter:/[\u014a]/g,alternative:"Ng"},{letter:/[\u0272\u00f1]/g,alternative:"ny"},{letter:/[\u019d\u00d1]/g,alternative:"Ny"},{letter:/[\u01b4]/g,alternative:"y"},{letter:/[\u01b3]/g,alternative:"Y"},{letter:/[\u0260]/g,alternative:"g"},{letter:/[\u0193]/g,alternative:"G"}],fj:[{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u012b]/g,alternative:"i"},{letter:/[\u012a]/g,alternative:"I"},{letter:/[\u016b]/g,alternative:"u"},{letter:/[\u016a]/g,alternative:"U"},{letter:/[\u014d]/g,alternative:"o"},{letter:/[\u014c]/g,alternative:"O"}],frp:[{letter:/[\u00e2]/g,alternative:"a"},{letter:/[\u00c2]/g,alternative:"A"},{letter:/[\u00ea\u00e8\u00e9]/g,alternative:"e"},{letter:/[\u00ca\u00c8\u00c9]/g,alternative:"E"},{letter:/[\u00ee]/g,alternative:"i"},{letter:/[\u00ce]/g,alternative:"I"},{letter:/[\u00fb\u00fc]/g,alternative:"u"},{letter:/[\u00db\u00dc]/g,alternative:"U"},{letter:/[\u00f4]/g,alternative:"o"},{letter:/[\u00d4]/g,alternative:"O"}],fur:[{letter:/[\u00E7]/g,alternative:"c"},{letter:/[\u00C7]/g,alternative:"C"},{letter:/[\u00e0\u00e2]/g,alternative:"a"},{letter:/[\u00c0\u00c2]/g,alternative:"A"},{letter:/[\u00e8\u00ea]/g,alternative:"e"},{letter:/[\u00c8\u00ca]/g,alternative:"E"},{letter:/[\u00ec\u00ee]/g,alternative:"i"},{letter:/[\u00cc\u00ce]/g,alternative:"I"},{letter:/[\u00f2\u00f4]/g,alternative:"o"},{letter:/[\u00d2\u00d4]/g,alternative:"O"},{letter:/[\u00f9\u00fb]/g,alternative:"u"},{letter:/[\u00d9\u00db]/g,alternative:"U"},{letter:/[\u010d]/g,alternative:"c"},{letter:/[\u010c]/g,alternative:"C"},{letter:/[\u011f]/g,alternative:"g"},{letter:/[\u011e]/g,alternative:"G"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"}],fy:[{letter:/[\u00e2\u0101\u00e4\u00e5]/g,alternative:"a"},{letter:/[\u00c2\u0100\u00c4\u00c5]/g,alternative:"A"},{letter:/[\u00ea\u00e9\u0113]/g,alternative:"e"},{letter:/[\u00ca\u00c9\u0112]/g,alternative:"E"},{letter:/[\u00f4\u00f6]/g,alternative:"o"},{letter:/[\u00d4\u00d6]/g,alternative:"O"},{letter:/[\u00fa\u00fb\u00fc]/g,alternative:"u"},{letter:/[\u00da\u00db\u00dc]/g,alternative:"U"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"},{letter:/[\u0111\u00f0]/g,alternative:"d"},{letter:/[\u0110\u00d0]/g,alternative:"D"}],ga:[{letter:/[\u00e1]/g,alternative:"a"},{letter:/[\u00c1]/g,alternative:"A"},{letter:/[\u00e9]/g,alternative:"e"},{letter:/[\u00c9]/g,alternative:"E"},{letter:/[\u00f3]/g,alternative:"o"},{letter:/[\u00d3]/g,alternative:"O"},{letter:/[\u00fa]/g,alternative:"u"},{letter:/[\u00da]/g,alternative:"U"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"}],gd:[{letter:/[\u00e0]/g,alternative:"a"},{letter:/[\u00c0]/g,alternative:"A"},{letter:/[\u00e8]/g,alternative:"e"},{letter:/[\u00c8]/g,alternative:"E"},{letter:/[\u00f2]/g,alternative:"o"},{letter:/[\u00d2]/g,alternative:"O"},{letter:/[\u00f9]/g,alternative:"u"},{letter:/[\u00d9]/g,alternative:"U"},{letter:/[\u00ec]/g,alternative:"i"},{letter:/[\u00cc]/g,alternative:"I"}],gl:[{letter:/[\u00e1\u00e0]/g,alternative:"a"},{letter:/[\u00c1\u00c0]/g,alternative:"A"},{letter:/[\u00e9\u00ea]/g,alternative:"e"},{letter:/[\u00c9\u00ca]/g,alternative:"E"},{letter:/[\u00ed\u00ef]/g,alternative:"i"},{letter:/[\u00cd\u00cf]/g,alternative:"I"},{letter:/[\u00f3]/g,alternative:"o"},{letter:/[\u00d3]/g,alternative:"O"},{letter:/[\u00fa\u00fc]/g,alternative:"u"},{letter:/[\u00da\u00dc]/g,alternative:"U"},{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"}],gn:[{letter:/[\u2019]/g,alternative:""},{letter:/\u0067\u0303/g,alternative:"g"},{letter:/\u0047\u0303/g,alternative:"G"},{letter:/[\u00e3]/g,alternative:"a"},{letter:/[\u00c3]/g,alternative:"A"},{letter:/[\u1ebd]/g,alternative:"e"},{letter:/[\u1ebc]/g,alternative:"E"},{letter:/[\u0129]/g,alternative:"i"},{letter:/[\u0128]/g,alternative:"I"},{letter:/[\u00f5]/g,alternative:"o"},{letter:/[\u00d5]/g,alternative:"O"},{letter:/[\u00f1]/g,alternative:"n"},{letter:/[\u00d1]/g,alternative:"N"},{letter:/[\u0169]/g,alternative:"u"},{letter:/[\u0168]/g,alternative:"U"},{letter:/[\u1ef9]/g,alternative:"y"},{letter:/[\u1ef8]/g,alternative:"Y"}],gsw:[{letter:/[\u00e4]/g,alternative:"a"},{letter:/[\u00c4]/g,alternative:"A"},{letter:/[\u00f6]/g,alternative:"o"},{letter:/[\u00d6]/g,alternative:"O"},{letter:/[\u00fc]/g,alternative:"u"},{letter:/[\u00dc]/g,alternative:"U"}],hat:[{letter:/[\u00e8]/g,alternative:"e"},{letter:/[\u00c8]/g,alternative:"E"},{letter:/[\u00f2]/g,alternative:"o"},{letter:/[\u00d2]/g,alternative:"O"}],haw:[{letter:/[\u02bb\u0027\u2019]/g,alternative:""},{letter:/[\u0101]/g,alternative:"a"},{letter:/[\u0113]/g,alternative:"e"},{letter:/[\u012b]/g,alternative:"i"},{letter:/[\u014d]/g,alternative:"o"},{letter:/[\u016b]/g,alternative:"u"},{letter:/[\u0100]/g,alternative:"A"},{letter:/[\u0112]/g,alternative:"E"},{letter:/[\u012a]/g,alternative:"I"},{letter:/[\u014c]/g,alternative:"O"},{letter:/[\u016a]/g,alternative:"U"}],hr:[{letter:/[\u010d\u0107]/g,alternative:"c"},{letter:/[\u010c\u0106]/g,alternative:"C"},{letter:/[\u0111]/g,alternative:"dj"},{letter:/[\u0110]/g,alternative:"Dj"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u017e]/g,alternative:"z"},{letter:/[\u017d]/g,alternative:"Z"},{letter:/[\u01c4]/g,alternative:"DZ"},{letter:/[\u01c5]/g,alternative:"Dz"},{letter:/[\u01c6]/g,alternative:"dz"}],ka:[{letter:/[\u10d0]/g,alternative:"a"},{letter:/[\u10d1]/g,alternative:"b"},{letter:/[\u10d2]/g,alternative:"g"},{letter:/[\u10d3]/g,alternative:"d"},{letter:/[\u10d4]/g,alternative:"e"},{letter:/[\u10d5]/g,alternative:"v"},{letter:/[\u10d6]/g,alternative:"z"},{letter:/[\u10d7]/g,alternative:"t"},{letter:/[\u10d8]/g,alternative:"i"},{letter:/[\u10d9]/g,alternative:"k"},{letter:/[\u10da]/g,alternative:"l"},{letter:/[\u10db]/g,alternative:"m"},{letter:/[\u10dc]/g,alternative:"n"},{letter:/[\u10dd]/g,alternative:"o"},{letter:/[\u10de]/g,alternative:"p"},{letter:/[\u10df]/g,alternative:"zh"},{letter:/[\u10e0]/g,alternative:"r"},{letter:/[\u10e1]/g,alternative:"s"},{letter:/[\u10e2]/g,alternative:"t"},{letter:/[\u10e3]/g,alternative:"u"},{letter:/[\u10e4]/g,alternative:"p"},{letter:/[\u10e5]/g,alternative:"k"},{letter:/[\u10e6]/g,alternative:"gh"},{letter:/[\u10e7]/g,alternative:"q"},{letter:/[\u10e8]/g,alternative:"sh"},{letter:/[\u10e9]/g,alternative:"ch"},{letter:/[\u10ea]/g,alternative:"ts"},{letter:/[\u10eb]/g,alternative:"dz"},{letter:/[\u10ec]/g,alternative:"ts"},{letter:/[\u10ed]/g,alternative:"ch"},{letter:/[\u10ee]/g,alternative:"kh"},{letter:/[\u10ef]/g,alternative:"j"},{letter:/[\u10f0]/g,alternative:"h"}],kal:[{letter:/[\u00E5]/g,alternative:"aa"},{letter:/[\u00C5]/g,alternative:"Aa"},{letter:/[\u00E6\u04D5]/g,alternative:"ae"},{letter:/[\u00C6\u04D4]/g,alternative:"Ae"},{letter:/[\u00C4]/g,alternative:"Ae"},{letter:/[\u00F8]/g,alternative:"oe"},{letter:/[\u00D8]/g,alternative:"Oe"}],kin:[{letter:/[\u2019\u0027]/g,alternative:""}],lb:[{letter:/[\u00e4]/g,alternative:"a"},{letter:/[\u00c4]/g,alternative:"A"},{letter:/[\u00eb\u00e9]/g,alternative:"e"},{letter:/[\u00cb\u00c9]/g,alternative:"E"}],li:[{letter:/[\u00e1\u00e2\u00e0\u00e4]/g,alternative:"a"},{letter:/[\u00c1\u00c2\u00c0\u00c4]/g,alternative:"A"},{letter:/[\u00eb\u00e8\u00ea]/g,alternative:"e"},{letter:/[\u00cb\u00c8\u00ca]/g,alternative:"E"},{letter:/[\u00f6\u00f3]/g,alternative:"o"},{letter:/[\u00d6\u00d3]/g,alternative:"O"}],lin:[{letter:/[\u00e1\u00e2\u01ce]/g,alternative:"a"},{letter:/[\u00c1\u00c2\u01cd]/g,alternative:"A"},{letter:/\u025b\u0301/g,alternative:"e"},{letter:/\u025b\u0302/g,alternative:"e"},{letter:/\u025b\u030c/g,alternative:"e"},{letter:/[\u00e9\u00ea\u011b\u025b]/g,alternative:"e"},{letter:/\u0190\u0301/g,alternative:"E"},{letter:/\u0190\u0302/g,alternative:"E"},{letter:/\u0190\u030c/g,alternative:"E"},{letter:/[\u00c9\u00ca\u011a\u0190]/g,alternative:"E"},{letter:/[\u00ed\u00ee\u01d0]/g,alternative:"i"},{letter:/[\u00cd\u00ce\u01cf]/g,alternative:"I"},{letter:/\u0254\u0301/g,alternative:"o"},{letter:/\u0254\u0302/g,alternative:"o"},{letter:/\u0254\u030c/g,alternative:"o"},{letter:/[\u00f3\u00f4\u01d2\u0254]/g,alternative:"o"},{letter:/\u0186\u0301/g,alternative:"O"},{letter:/\u0186\u0302/g,alternative:"O"},{letter:/\u0186\u030c/g,alternative:"O"},{letter:/[\u00d3\u00d4\u01d1\u0186]/g,alternative:"O"},{letter:/[\u00fa]/g,alternative:"u"},{letter:/[\u00da]/g,alternative:"U"}],lt:[{letter:/[\u0105]/g,alternative:"a"},{letter:/[\u0104]/g,alternative:"A"},{letter:/[\u010d]/g,alternative:"c"},{letter:/[\u010c]/g,alternative:"C"},{letter:/[\u0119\u0117]/g,alternative:"e"},{letter:/[\u0118\u0116]/g,alternative:"E"},{letter:/[\u012f]/g,alternative:"i"},{letter:/[\u012e]/g,alternative:"I"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0173\u016b]/g,alternative:"u"},{letter:/[\u0172\u016a]/g,alternative:"U"},{letter:/[\u017e]/g,alternative:"z"},{letter:/[\u017d]/g,alternative:"Z"}],mg:[{letter:/[\u00f4]/g,alternative:"ao"},{letter:/[\u00d4]/g,alternative:"Ao"}],mk:[{letter:/[\u0430]/g,alternative:"a"},{letter:/[\u0410]/g,alternative:"A"},{letter:/[\u0431]/g,alternative:"b"},{letter:/[\u0411]/g,alternative:"B"},{letter:/[\u0432]/g,alternative:"v"},{letter:/[\u0412]/g,alternative:"V"},{letter:/[\u0433]/g,alternative:"g"},{letter:/[\u0413]/g,alternative:"G"},{letter:/[\u0434]/g,alternative:"d"},{letter:/[\u0414]/g,alternative:"D"},{letter:/[\u0453]/g,alternative:"gj"},{letter:/[\u0403]/g,alternative:"Gj"},{letter:/[\u0435]/g,alternative:"e"},{letter:/[\u0415]/g,alternative:"E"},{letter:/[\u0436]/g,alternative:"zh"},{letter:/[\u0416]/g,alternative:"Zh"},{letter:/[\u0437]/g,alternative:"z"},{letter:/[\u0417]/g,alternative:"Z"},{letter:/[\u0455]/g,alternative:"dz"},{letter:/[\u0405]/g,alternative:"Dz"},{letter:/[\u0438]/g,alternative:"i"},{letter:/[\u0418]/g,alternative:"I"},{letter:/[\u0458]/g,alternative:"j"},{letter:/[\u0408]/g,alternative:"J"},{letter:/[\u043A]/g,alternative:"k"},{letter:/[\u041A]/g,alternative:"K"},{letter:/[\u043B]/g,alternative:"l"},{letter:/[\u041B]/g,alternative:"L"},{letter:/[\u0459]/g,alternative:"lj"},{letter:/[\u0409]/g,alternative:"Lj"},{letter:/[\u043C]/g,alternative:"m"},{letter:/[\u041C]/g,alternative:"M"},{letter:/[\u043D]/g,alternative:"n"},{letter:/[\u041D]/g,alternative:"N"},{letter:/[\u045A]/g,alternative:"nj"},{letter:/[\u040A]/g,alternative:"Nj"},{letter:/[\u043E]/g,alternative:"o"},{letter:/[\u041E]/g,alternative:"O"},{letter:/[\u0440]/g,alternative:"r"},{letter:/[\u0420]/g,alternative:"R"},{letter:/[\u043F]/g,alternative:"p"},{letter:/[\u041F]/g,alternative:"P"},{letter:/[\u0441]/g,alternative:"s"},{letter:/[\u0421]/g,alternative:"S"},{letter:/[\u0442]/g,alternative:"t"},{letter:/[\u0422]/g,alternative:"T"},{letter:/[\u045C]/g,alternative:"kj"},{letter:/[\u040C]/g,alternative:"Kj"},{letter:/[\u0443]/g,alternative:"u"},{letter:/[\u0423]/g,alternative:"U"},{letter:/[\u0444]/g,alternative:"f"},{letter:/[\u0424]/g,alternative:"F"},{letter:/[\u0445]/g,alternative:"h"},{letter:/[\u0425]/g,alternative:"H"},{letter:/[\u0446]/g,alternative:"c"},{letter:/[\u0426]/g,alternative:"C"},{letter:/[\u0447]/g,alternative:"ch"},{letter:/[\u0427]/g,alternative:"Ch"},{letter:/[\u045F]/g,alternative:"dj"},{letter:/[\u040F]/g,alternative:"Dj"},{letter:/[\u0448]/g,alternative:"sh"},{letter:/[\u0428]/g,alternative:"Sh"}],mri:[{letter:/[\u0101]/g,alternative:"aa"},{letter:/[\u0100]/g,alternative:"Aa"},{letter:/[\u0113]/g,alternative:"ee"},{letter:/[\u0112]/g,alternative:"Ee"},{letter:/[\u012b]/g,alternative:"ii"},{letter:/[\u012a]/g,alternative:"Ii"},{letter:/[\u014d]/g,alternative:"oo"},{letter:/[\u014c]/g,alternative:"Oo"},{letter:/[\u016b]/g,alternative:"uu"},{letter:/[\u016a]/g,alternative:"Uu"}],mwl:[{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00e1]/g,alternative:"a"},{letter:/[\u00c1]/g,alternative:"A"},{letter:/[\u00e9\u00ea]/g,alternative:"e"},{letter:/[\u00c9\u00ca]/g,alternative:"E"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"},{letter:/[\u00f3\u00f4]/g,alternative:"o"},{letter:/[\u00d3\u00d4]/g,alternative:"O"},{letter:/[\u00fa\u0169]/g,alternative:"u"},{letter:/[\u00da\u0168]/g,alternative:"U"}],oci:[{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00e0\u00e1]/g,alternative:"a"},{letter:/[\u00c0\u00c1]/g,alternative:"A"},{letter:/[\u00e8\u00e9]/g,alternative:"e"},{letter:/[\u00c8\u00c9]/g,alternative:"E"},{letter:/[\u00ed\u00ef]/g,alternative:"i"},{letter:/[\u00cd\u00cf]/g,alternative:"I"},{letter:/[\u00f2\u00f3]/g,alternative:"o"},{letter:/[\u00d2\u00d3]/g,alternative:"O"},{letter:/[\u00fa\u00fc]/g,alternative:"u"},{letter:/[\u00da\u00dc]/g,alternative:"U"},{letter:/[\u00b7]/g,alternative:""}],orm:[{letter:/[\u0027]/g,alternative:""}],pt:[{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00e1\u00e2\u00e3\u00e0]/g,alternative:"a"},{letter:/[\u00c1\u00c2\u00c3\u00c0]/g,alternative:"A"},{letter:/[\u00e9\u00ea]/g,alternative:"e"},{letter:/[\u00c9\u00ca]/g,alternative:"E"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"},{letter:/[\u00f3\u00f4\u00f5]/g,alternative:"o"},{letter:/[\u00d3\u00d4\u00d5]/g,alternative:"O"},{letter:/[\u00fa]/g,alternative:"u"},{letter:/[\u00da]/g,alternative:"U"}],roh:[{letter:/[\u00e9\u00e8\u00ea]/g,alternative:"e"},{letter:/[\u00c9\u00c8\u00ca]/g,alternative:"E"},{letter:/[\u00ef]/g,alternative:"i"},{letter:/[\u00cf]/g,alternative:"I"},{letter:/[\u00f6]/g,alternative:"oe"},{letter:/[\u00d6]/g,alternative:"Oe"},{letter:/[\u00fc]/g,alternative:"ue"},{letter:/[\u00dc]/g,alternative:"Ue"},{letter:/[\u00e4]/g,alternative:"ae"},{letter:/[\u00c4]/g,alternative:"Ae"}],rup:[{letter:/[\u00e3]/g,alternative:"a"},{letter:/[\u00c3]/g,alternative:"A"}],ro:[{letter:/[\u0103\u00e2]/g,alternative:"a"},{letter:/[\u0102\u00c2]/g,alternative:"A"},{letter:/[\u00ee]/g,alternative:"i"},{letter:/[\u00ce]/g,alternative:"I"},{letter:/[\u0219\u015f]/g,alternative:"s"},{letter:/[\u0218\u015e]/g,alternative:"S"},{letter:/[\u021b\u0163]/g,alternative:"t"},{letter:/[\u021a\u0162]/g,alternative:"T"}],tlh:[{letter:/[\u2019\u0027]/g,alternative:""}],sk:[{letter:/[\u01c4]/g,alternative:"DZ"},{letter:/[\u01c5]/g,alternative:"Dz"},{letter:/[\u01c6]/g,alternative:"dz"},{letter:/[\u00e1\u00e4]/g,alternative:"a"},{letter:/[\u00c1\u00c4]/g,alternative:"A"},{letter:/[\u010d]/g,alternative:"c"},{letter:/[\u010c]/g,alternative:"C"},{letter:/[\u010f]/g,alternative:"d"},{letter:/[\u010e]/g,alternative:"D"},{letter:/[\u00e9]/g,alternative:"e"},{letter:/[\u00c9]/g,alternative:"E"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"},{letter:/[\u013e\u013a]/g,alternative:"l"},{letter:/[\u013d\u0139]/g,alternative:"L"},{letter:/[\u0148]/g,alternative:"n"},{letter:/[\u0147]/g,alternative:"N"},{letter:/[\u00f3\u00f4]/g,alternative:"o"},{letter:/[\u00d3\u00d4]/g,alternative:"O"},{letter:/[\u0155]/g,alternative:"r"},{letter:/[\u0154]/g,alternative:"R"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u0165]/g,alternative:"t"},{letter:/[\u0164]/g,alternative:"T"},{letter:/[\u00fa]/g,alternative:"u"},{letter:/[\u00da]/g,alternative:"U"},{letter:/[\u00fd]/g,alternative:"y"},{letter:/[\u00dd]/g,alternative:"Y"},{letter:/[\u017e]/g,alternative:"z"},{letter:/[\u017d]/g,alternative:"Z"}],sl:[{letter:/[\u010d\u0107]/g,alternative:"c"},{letter:/[\u010c\u0106]/g,alternative:"C"},{letter:/[\u0111]/g,alternative:"d"},{letter:/[\u0110]/g,alternative:"D"},{letter:/[\u0161]/g,alternative:"s"},{letter:/[\u0160]/g,alternative:"S"},{letter:/[\u017e]/g,alternative:"z"},{letter:/[\u017d]/g,alternative:"Z"},{letter:/[\u00e0\u00e1\u0203\u0201]/g,alternative:"a"},{letter:/[\u00c0\u00c1\u0202\u0200]/g,alternative:"A"},{letter:/[\u00e8\u00e9\u0207\u0205]/g,alternative:"e"},{letter:/\u01dd\u0300/g,alternative:"e"},{letter:/\u01dd\u030f/g,alternative:"e"},{letter:/\u1eb9\u0301/g,alternative:"e"},{letter:/\u1eb9\u0311/g,alternative:"e"},{letter:/[\u00c8\u00c9\u0206\u0204]/g,alternative:"E"},{letter:/\u018e\u030f/g,alternative:"E"},{letter:/\u018e\u0300/g,alternative:"E"},{letter:/\u1eb8\u0311/g,alternative:"E"},{letter:/\u1eb8\u0301/g,alternative:"E"},{letter:/[\u00ec\u00ed\u020b\u0209]/g,alternative:"i"},{letter:/[\u00cc\u00cd\u020a\u0208]/g,alternative:"I"},{letter:/[\u00f2\u00f3\u020f\u020d]/g,alternative:"o"},{letter:/\u1ecd\u0311/g,alternative:"o"},{letter:/\u1ecd\u0301/g,alternative:"o"},{letter:/\u1ecc\u0311/g,alternative:"O"},{letter:/\u1ecc\u0301/g,alternative:"O"},{letter:/[\u00d2\u00d3\u020e\u020c]/g,alternative:"O"},{letter:/[\u00f9\u00fa\u0217\u0215]/g,alternative:"u"},{letter:/[\u00d9\u00da\u0216\u0214]/g,alternative:"U"},{letter:/[\u0155\u0213]/g,alternative:"r"},{letter:/[\u0154\u0212]/g,alternative:"R"}],sq:[{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00eb]/g,alternative:"e"},{letter:/[\u00cb]/g,alternative:"E"}],hu:[{letter:/[\u00e1]/g,alternative:"a"},{letter:/[\u00c1]/g,alternative:"A"},{letter:/[\u00e9]/g,alternative:"e"},{letter:/[\u00c9]/g,alternative:"E"},{letter:/[\u00ed]/g,alternative:"i"},{letter:/[\u00cd]/g,alternative:"I"},{letter:/[\u00f3\u00f6\u0151]/g,alternative:"o"},{letter:/[\u00d3\u00d6\u0150]/g,alternative:"O"},{letter:/[\u00fa\u00fc\u0171]/g,alternative:"u"},{letter:/[\u00da\u00dc\u0170]/g,alternative:"U"}],srd:[{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00e0\u00e1]/g,alternative:"a"},{letter:/[\u00c0\u00c1]/g,alternative:"A"},{letter:/[\u00e8\u00e9]/g,alternative:"e"},{letter:/[\u00c8\u00c9]/g,alternative:"E"},{letter:/[\u00ed\u00ef]/g,alternative:"i"},{letter:/[\u00cd\u00cf]/g,alternative:"I"},{letter:/[\u00f2\u00f3]/g,alternative:"o"},{letter:/[\u00d2\u00d3]/g,alternative:"O"},{letter:/[\u00fa\u00f9]/g,alternative:"u"},{letter:/[\u00da\u00d9]/g,alternative:"U"}],szl:[{letter:/[\u0107]/g,alternative:"c"},{letter:/[\u0106]/g,alternative:"C"},{letter:/[\u00e3]/g,alternative:"a"},{letter:/[\u00c3]/g,alternative:"A"},{letter:/[\u0142]/g,alternative:"u"},{letter:/[\u0141]/g,alternative:"U"},{letter:/[\u006e]/g,alternative:"n"},{letter:/[\u004e]/g,alternative:"N"},{letter:/[\u014f\u014d\u00f4\u00f5]/g,alternative:"o"},{letter:/[\u014e\u014c\u00d4\u00d5]/g,alternative:"O"},{letter:/[\u015b]/g,alternative:"s"},{letter:/[\u015a]/g,alternative:"S"},{letter:/[\u017a\u017c\u017e]/g,alternative:"z"},{letter:/[\u0179\u017b\u017d]/g,alternative:"Z"},{letter:/[\u016f]/g,alternative:"u"},{letter:/[\u016e]/g,alternative:"U"},{letter:/[\u010d]/g,alternative:"cz"},{letter:/[\u010c]/g,alternative:"Cz"},{letter:/[\u0159]/g,alternative:"rz"},{letter:/[\u0158]/g,alternative:"Rz"},{letter:/[\u0161]/g,alternative:"sz"},{letter:/[\u0160]/g,alternative:"Sz"}],tah:[{letter:/[\u0101\u00e2\u00e0]/g,alternative:"a"},{letter:/[\u0100\u00c2\u00c0]/g,alternative:"A"},{letter:/[\u00ef\u00ee\u00ec]/g,alternative:"i"},{letter:/[\u00cf\u00ce\u00cc]/g,alternative:"I"},{letter:/[\u0113\u00ea\u00e9]/g,alternative:"e"},{letter:/[\u0112\u00ca\u00c9]/g,alternative:"E"},{letter:/[\u016b\u00fb\u00fa]/g,alternative:"u"},{letter:/[\u016a\u00db\u00da]/g,alternative:"U"},{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/[\u00f2\u00f4\u014d]/g,alternative:"o"},{letter:/[\u00d2\u00d4\u014c]/g,alternative:"O"},{letter:/[\u2019\u0027\u2018]/g,alternative:""}],vec:[{letter:/\u0073\u002d\u0063/g,alternative:"sc"},{letter:/\u0053\u002d\u0043/g,alternative:"SC"},{letter:/\u0073\u0027\u0063/g,alternative:"sc"},{letter:/\u0053\u0027\u0043/g,alternative:"SC"},{letter:/\u0073\u2019\u0063/g,alternative:"sc"},{letter:/\u0053\u2019\u0043/g,alternative:"SC"},{letter:/\u0073\u2018\u0063/g,alternative:"sc"},{letter:/\u0053\u2018\u0043/g,alternative:"SC"},{letter:/\u0053\u002d\u0063/g,alternative:"Sc"},{letter:/\u0053\u0027\u0063/g,alternative:"Sc"},{letter:/\u0053\u2019\u0063/g,alternative:"Sc"},{letter:/\u0053\u2018\u0063/g,alternative:"Sc"},{letter:/\u0063\u2019/g,alternative:"c"},{letter:/\u0043\u2019/g,alternative:"C"},{letter:/\u0063\u2018/g,alternative:"c"},{letter:/\u0043\u2018/g,alternative:"C"},{letter:/\u0063\u0027/g,alternative:"c"},{letter:/\u0043\u0027/g,alternative:"C"},{letter:/[\u00e0\u00e1\u00e2]/g,alternative:"a"},{letter:/[\u00c0\u00c1\u00c2]/g,alternative:"A"},{letter:/[\u00e8\u00e9]/g,alternative:"e"},{letter:/[\u00c8\u00c9]/g,alternative:"E"},{letter:/[\u00f2\u00f3]/g,alternative:"o"},{letter:/[\u00d2\u00d3]/g,alternative:"O"},{letter:/[\u00f9\u00fa]/g,alternative:"u"},{letter:/[\u00d9\u00da]/g,alternative:"U"},{letter:/[\u00e7\u010d\u010b]/g,alternative:"c"},{letter:/[\u00c7\u010c\u010a]/g,alternative:"C"},{letter:/[\u0142]/g,alternative:"l"},{letter:/[\u00a3\u0141]/g,alternative:"L"},{letter:/\ud835\udeff/g,alternative:"dh"},{letter:/[\u0111\u03b4]/g,alternative:"dh"},{letter:/[\u0110\u0394]/g,alternative:"Dh"}],wa:[{letter:/[\u00e2\u00e5]/g,alternative:"a"},{letter:/[\u00c2\u00c5]/g,alternative:"A"},{letter:/[\u00e7]/g,alternative:"c"},{letter:/[\u00c7]/g,alternative:"C"},{letter:/\u0065\u030a/g,alternative:"e"},{letter:/\u0045\u030a/g,alternative:"E"},{letter:/[\u00eb\u00ea\u00e8\u00e9]/g,alternative:"e"},{letter:/[\u00c9\u00c8\u00ca\u00cb]/g,alternative:"E"},{letter:/[\u00ee]/g,alternative:"i"},{letter:/[\u00ce]/g,alternative:"I"},{letter:/[\u00f4\u00f6]/g,alternative:"o"},{letter:/[\u00d6\u00d4]/g,alternative:"O"},{letter:/[\u00fb]/g,alternative:"u"},{letter:/[\u00db]/g,alternative:"U"}],yor:[{letter:/[\u00e1\u00e0]/g,alternative:"a"},{letter:/[\u00c1\u00c0]/g,alternative:"A"},{letter:/[\u00ec\u00ed]/g,alternative:"i"},{letter:/[\u00cc\u00cd]/g,alternative:"I"},{letter:/\u1ecd\u0301/g,alternative:"o"},{letter:/\u1ecc\u0301/g,alternative:"O"},{letter:/\u1ecd\u0300/g,alternative:"o"},{letter:/\u1ecc\u0300/g,alternative:"O"},{letter:/[\u00f3\u00f2\u1ecd]/g,alternative:"o"},{letter:/[\u00d3\u00d2\u1ecc]/g,alternative:"O"},{letter:/[\u00fa\u00f9]/g,alternative:"u"},{letter:/[\u00da\u00d9]/g,alternative:"U"},{letter:/\u1eb9\u0301/g,alternative:"e"},{letter:/\u1eb8\u0301/g,alternative:"E"},{letter:/\u1eb9\u0300/g,alternative:"e"},{letter:/\u1eb8\u0300/g,alternative:"E"},{letter:/[\u00e9\u00e8\u1eb9]/g,alternative:"e"},{letter:/[\u00c9\u00c8\u1eb8]/g,alternative:"E"},{letter:/[\u1e63]/g,alternative:"s"},{letter:/[\u1e62]/g,alternative:"S"}]}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(37),u=i(l),p=t(91),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={scores:{noLinks:6,allNofollowed:7,moreNoFollowed:8,allFollowed:9}};return t.identifier="externalLinks",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){var i=e.getResearch("getLinkStatistics"),n=new u.default;return(0,c.isEmpty)(i)||(n.setScore(this.calculateScore(i)),n.setText(this.translateScore(i,t))),n}},{key:"isApplicable",value:function(a){return a.hasText()}},{key:"calculateScore",value:function(a){return 0===a.externalTotal?this._config.scores.noLinks:a.externalNofollow===a.total?this._config.scores.allNofollowed:a.externalNofollow<a.externalTotal?this._config.scores.moreNoFollowed:a.externalDofollow===a.total?this._config.scores.allFollowed:null}},{key:"translateScore",value:function(a,e){var t="<a href='https://yoa.st/2pl' target='_blank'>";return 0===a.externalTotal?e.sprintf(e.dgettext("js-text-analysis","No %1$soutbound links%2$s appear in this page, consider adding some as appropriate."),t,"</a>"):a.externalNofollow===a.total?e.sprintf(e.dgettext("js-text-analysis","This page has %1$s %2$soutbound link(s)%3$s, all nofollowed."),a.externalNofollow,t,"</a>"):a.externalNofollow<a.externalTotal?e.sprintf(e.dgettext("js-text-analysis","This page has %1$s nofollowed %2$soutbound link(s)%3$s and %4$s normal outbound link(s)."),a.externalNofollow,t,"</a>",a.externalDofollow):a.externalDofollow===a.total?e.sprintf(e.dgettext("js-text-analysis","This page has %1$s %2$soutbound link(s)%3$s."),a.externalTotal):""}}]),e}(z.default);e.default=m},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(37),u=i(l),p=t(91),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={scores:{noMatches:6,oneMatch:9,multipleMatches:9}};return t.identifier="subheadingsKeyword",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){var i=e.getResearch("matchKeywordInSubheadings"),n=new u.default,o=this.calculateScore(i);return n.setScore(o),n.setText(this.translateScore(o,i,t)),n}},{key:"isApplicable",value:function(a){return a.hasText()&&a.hasKeyword()}},{key:"calculateScore",value:function(a){return 0===a.matches?this._config.scores.noMatches:1===a.matches?this._config.scores.oneMatch:a.matches>1?this._config.scores.multipleMatches:null}},{key:"translateScore",value:function(a,e,t){var i="<a href='https://yoa.st/2ph' target='_blank'>";return a===this._config.scores.multipleMatches||a===this._config.scores.oneMatch?t.sprintf(t.dgettext("js-text-analysis","The focus keyword appears in %1$d (out of %2$d) %3$ssubheadings%4$s in your copy."),e.matches,e.count,i,"</a>"):a===this._config.scores.noMatches?t.sprintf(t.dgettext("js-text-analysis","You have not used the focus keyword in any %1$ssubheading%2$s (such as an H2) in your copy."),i,"</a>"):""}}]),e}(z.default);e.default=m},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(91),u=i(l),p=t(37),z=i(p),m=t(244),g=i(m),w=t(459),y=i(w),f=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={parameters:{recommendedMaximum:0},scores:{bad:2},url:"<a href='https://yoa.st/2pi' target='_blank'>"};return t.identifier="textCompetingLinks",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){var i=new z.default;this.linkCount=e.getResearch("getLinkStatistics");var n=this.calculateResult(t);return(0,c.isUndefined)(n)?i:(i.setScore(n.score),i.setText(n.resultText),i.setHasMarks(!0),i.setMarker(this.getMarks()),i)}},{key:"isApplicable",value:function(a){return a.hasText()&&a.hasKeyword()}},{key:"calculateResult",value:function(a){if(this.linkCount.keyword.totalKeyword>this._config.parameters.recommendedMaximum)return{score:this._config.scores.bad,resultText:a.sprintf(a.dgettext("js-text-analysis","You're %1$slinking to another page with the focus keyword%2$s you want this page to rank for. Consider changing that if you truly want this page to rank."),this._config.url,"</a>")}}},{key:"getMarks",value:function(){return(0,c.map)(this.linkCount.keyword.matchedAnchors,function(a){return new g.default({original:a,marked:(0,y.default)(a)})})}}]),e}(u.default);e.default=f},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(37),u=i(l),p=t(91),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={scores:{noImages:3,withAltKeyword:9,withAltNonKeyword:6,withAlt:6,noAlt:6}};return t.identifier="textImages",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){var i=new u.default,n=e.getResearch("imageCount"),o=e.getResearch("altTagCount");return i.setScore(this.calculateScore(n,o)),i.setText(this.translateScore(n,o,t)),i}},{key:"isApplicable",value:function(a){return a.hasText()}},{key:"calculateScore",value:function(a,e){return 0===a?this._config.scores.noImages:e.withAltKeyword>0?this._config.scores.withAltKeyword:e.withAltNonKeyword>0?this._config.scores.withAltNonKeyword:e.withAlt>0?this._config.scores.withAlt:e.noAlt>0?this._config.scores.noAlt:null}},{key:"translateScore",value:function(a,e,t){var i="<a href='https://yoa.st/2pj' target='_blank'>";return 0===a?t.sprintf(t.dgettext("js-text-analysis","No %1$simages%2$s appear in this page, consider adding some as appropriate."),i,"</a>"):e.withAltKeyword>0?t.sprintf(t.dgettext("js-text-analysis","The %1$simages%2$s on this page contain alt attributes with the focus keyword."),i,"</a>"):e.withAltNonKeyword>0?t.sprintf(t.dgettext("js-text-analysis","The %1$simages%2$s on this page do not have alt attributes containing the focus keyword."),i,"</a>"):e.withAlt>0?t.sprintf(t.dgettext("js-text-analysis","The %1$simages%2$s on this page contain alt attributes."),i,"</a>"):e.noAlt>0?t.sprintf(t.dgettext("js-text-analysis","The %1$simages%2$s on this page are missing alt attributes."),i,"</a>"):""}}]),e}(z.default);e.default=m},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(37),u=i(l),p=t(91),z=i(p),m=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={recommendedMinimum:300,slightlyBelowMinimum:250,belowMinimum:200,veryFarBelowMinimum:100,scores:{recommendedMinimum:9,slightlyBelowMinimum:6,belowMinimum:3,farBelowMinimum:-10,veryFarBelowMinimum:-20}};return t.identifier="textLength",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){var i=e.getResearch("wordCountInText"),n=new u.default;return n.setScore(this.calculateScore(i)),n.setText(t.sprintf(this.translateScore(n.getScore(),i,t),i,this._config.recommendedMinimum)),n}},{key:"calculateScore",value:function(a){return a>=this._config.recommendedMinimum?this._config.scores.recommendedMinimum:(0,c.inRange)(a,this._config.slightlyBelowMinimum,this._config.recommendedMinimum)?this._config.scores.slightlyBelowMinimum:(0,c.inRange)(a,this._config.belowMinimum,this._config.slightlyBelowMinimum)?this._config.scores.belowMinimum:(0,c.inRange)(a,this._config.veryFarBelowMinimum,this._config.belowMinimum)?this._config.scores.farBelowMinimum:(0,c.inRange)(a,0,this._config.veryFarBelowMinimum)?this._config.scores.veryFarBelowMinimum:null}},{key:"translateScore",value:function(a,e,t){var i="<a href='https://yoa.st/2pk' target='_blank'>";return a===this._config.scores.recommendedMinimum?t.sprintf(t.dngettext("js-text-analysis","The text contains %1$d word.","The text contains %1$d words.",e)+" "+t.dngettext("js-text-analysis","This is more than or equal to the %2$srecommended minimum%3$s of %4$d word.","This is more than or equal to the %2$srecommended minimum%3$s of %4$d words.",this._config.recommendedMinimum),e,i,"</a>",this._config.recommendedMinimum):a===this._config.scores.slightlyBelowMinimum?t.sprintf(t.dngettext("js-text-analysis","The text contains %1$d word.","The text contains %1$d words.",e)+" "+t.dngettext("js-text-analysis","This is slightly below the %2$srecommended minimum%3$s of %4$d word. Add a bit more copy.","This is slightly below the %2$srecommended minimum%3$s of %4$d words. Add a bit more copy.",this._config.recommendedMinimum),e,i,"</a>",this._config.recommendedMinimum):a===this._config.scores.belowMinimum?t.sprintf(t.dngettext("js-text-analysis","The text contains %1$d word.","The text contains %1$d words.",e)+" "+t.dngettext("js-text-analysis","This is below the %2$srecommended minimum%3$s of %4$d word. Add more content that is relevant for the topic.","This is below the %2$srecommended minimum%3$s of %4$d words. Add more content that is relevant for the topic.",this._config.recommendedMinimum),e,i,"</a>",this._config.recommendedMinimum):a===this._config.scores.farBelowMinimum||a===this._config.scores.veryFarBelowMinimum?t.sprintf(t.dngettext("js-text-analysis","The text contains %1$d word.","The text contains %1$d words.",e)+" "+t.dngettext("js-text-analysis","This is far below the %2$srecommended minimum%3$s of %4$d word. Add more content that is relevant for the topic.","This is far below the %2$srecommended minimum%3$s of %4$d words. Add more content that is relevant for the topic.",this._config.recommendedMinimum),e,i,"</a>",this._config.recommendedMinimum):""}}]),e}(z.default);e.default=m},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,n.default)(a,"<img(?:[^>]+)?>")};var i=t(1647),n=function(a){return a&&a.__esModule?a:{default:a}}(i)},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtEnding:[].concat(z,S,L),filteredAtBeginningAndEnding:[].concat(u,M,P,w,F,f,y),filteredAnywhere:[].concat(l,q,m,g,b,$,p,d,E,A,D,I,h,C,R,k,j,_,O,K,T,x,U,W,N),cannotDirectlyPrecedePassiveParticiple:[].concat(u,M,w,y,z,S,f),cannotBeBetweenPassiveAuxiliaryAndParticiple:[].concat(E,A,D,I),all:[].concat(u,p,z,w,y,b,m,g,f,h,S,v,k,j,_,x,O,q,T,d,c,E,A,M,P,C,R,D,l,B,F,I,$,L,U,N,K,H,V)}};var n=t(1447),o=i(n),r=t(1448),s=i(r),d=(0,o.default)().filteredAuxiliaries,c=(0,o.default)().notFilteredAuxiliaries,l=(0,s.default)().singleWords,u=["the","an","a"],p=["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","hundred","hundreds","thousand","thousands","million","millions","billion","billions"],z=["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth","sixteenth","seventeenth","eighteenth","nineteenth","twentieth"],m=["i","you","he","she","it","we","they"],g=["me","him","us","them"],w=["this","that","these","those"],y=["my","your","his","her","its","their","our","mine","yours","hers","theirs","ours"],f=["all","some","many","lot","lots","ton","tons","bit","no","every","enough","little","much","more","most","plenty","several","few","fewer","kind","kinds"],b=["myself","yourself","himself","herself","itself","oneself","ourselves","yourselves","themselves"],h=["none","nobody","everyone","everybody","someone","somebody","anyone","anybody","nothing","everything","something","anything","each","other","whatever","whichever","whoever","whomever","whomsoever","whosoever","others","neither","both","either","any","such"],v=["one's","nobody's","everyone's","everybody's","someone's","somebody's","anyone's","anybody's","nothing's","everything's","something's","anything's","whoever's","others'","other's","another's","neither's","either's"],k=["which","what","whose"],j=["who","whom"],_=["where","how","why","whether","wherever","whyever","wheresoever","whensoever","howsoever","whysoever","whatsoever","whereso","whomso","whenso","howso","whyso","whoso","whatso"],x=["therefor","therein","hereby","hereto","wherein","therewith","herewith","wherewith","thereby"],O=["there","here","whither","thither","hither","whence","thence"],q=["always","once","twice","thrice"],E=["can","cannot","can't","could","couldn't","could've","dare","dares","dared","do","don't","does","doesn't","did","didn't","done","have","haven't","had","hadn't","has","hasn't","i've","you've","we've","they've","i'd","you'd","he'd","she'd","it'd","we'd","they'd","would","wouldn't","would've","may","might","must","need","needn't","needs","ought","shall","shalln't","shan't","should","shouldn't","will","won't","i'll","you'll","he'll","she'll","it'll","we'll","they'll","there's","there're","there'll","here's","here're","there'll"],A=["appear","appears","appeared","become","becomes","became","come","comes","came","keep","keeps","kept","remain","remains","remained","stay","stays","stayed","turn","turns","turned"],S=["doing","daring","having","appearing","becoming","coming","keeping","remaining","staying","saying","asking","stating","seeming","letting","making","setting","showing","putting","adding","going","using","trying","containing"],M=["in","from","with","under","throughout","atop","for","on","of","to","aboard","about","above","abreast","absent","across","adjacent","after","against","along","alongside","amid","mid","among","apropos","apud","around","as","astride","at","ontop","afore","tofore","behind","ahind","below","ablow","beneath","neath","beside","between","atween","beyond","ayond","by","chez","circa","spite","down","except","into","less","like","minus","near","nearer","nearest","anear","notwithstanding","off","onto","opposite","out","outen","over","past","per","pre","qua","sans","sauf","sithence","through","thru","truout","toward","underneath","up","upon","upside","versus","via","vis-à-vis","without","ago","apart","aside","aslant","away","withal","towards","amidst","amongst","midst","whilst"],T=["back","within","forward","backward","ahead"],P=["and","or","and/or","yet"],C=["sooner","just","only"],R=["if","even"],D=["say","says","said","claimed","ask","asks","asked","stated","explain","explains","explained","think","thinks","talks","talked","announces","announced","tells","told","discusses","discussed","suggests","suggested","understands","understood"],B=["again","definitely","eternally","expressively","instead","expressly","immediately","including","instantly","namely","naturally","next","notably","now","nowadays","ordinarily","positively","truly","ultimately","uniquely","usually","almost","maybe","probably","granted","initially","too","actually","already","e.g","i.e","often","regularly","simply","optionally","perhaps","sometimes","likely","never","ever","else","inasmuch","provided","currently","incidentally","elsewhere","particular","recently","relatively","f.i","clearly","apparently"],F=["highly","very","really","extremely","absolutely","completely","totally","utterly","quite","somewhat","seriously","fairly","fully","amazingly"],I=["seem","seems","seemed","let","let's","lets","make","makes","made","want","showed","shown","go","goes","went","gone","take","takes","took","taken","put","puts","use","used","try","tries","tried","mean","means","meant","called","based","add","adds","added","contain","contains","contained","consist","consists","consisted","ensure","ensures","ensured"],L=["new","newer","newest","old","older","oldest","previous","good","well","better","best","big","bigger","biggest","easy","easier","easiest","fast","faster","fastest","far","hard","harder","hardest","least","own","large","larger","largest","long","longer","longest","low","lower","lowest","high","higher","highest","regular","simple","simpler","simplest","small","smaller","smallest","tiny","tinier","tiniest","short","shorter","shortest","main","actual","nice","nicer","nicest","real","same","able","certain","usual","so-called","mainly","mostly","recent","anymore","complete","lately","possible","commonly","constantly","continually","directly","easily","nearly","slightly","somewhere","estimated","latest","different","similar","widely","bad","worse","worst","great","specific","available","average","awful","awesome","basic","beautiful","busy","current","entire","everywhere","important","major","multiple","normal","necessary","obvious","partly","special","last","early","earlier","earliest","young","younger","youngest",""],$=["oh","wow","tut-tut","tsk-tsk","ugh","whew","phew","yeah","yea","shh","oops","ouch","aha","yikes"],U=["tbs","tbsp","spk","lb","qt","pk","bu","oz","pt","mod","doz","hr","f.g","ml","dl","cl","l","mg","g","kg","quart"],W=["seconds","minute","minutes","hour","hours","day","days","week","weeks","month","months","year","years","today","tomorrow","yesterday"],N=["thing","things","way","ways","matter","case","likelihood","ones","piece","pieces","stuff","times","part","parts","percent","instance","instances","aspect","aspects","item","items","idea","theme","person","instance","instances","detail","details","factor","factors","difference","differences"],K=["not","yes","sure","top","bottom","ok","okay","amen","aka","etc","etcetera","sorry","please"],H=["ms","mss","mrs","mr","dr","prof"],V=["jr","sr"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtBeginning:B,filteredAtEnding:[].concat(d,k,x,O,D),filteredAtBeginningAndEnding:[].concat(r,q,A,z,C,g,m),filteredAnywhere:[].concat(o,c,l,u,p,F,s,v,j,_,T,R,w,S,M,y,f,b,h,U,E,I,L,$),cannotDirectlyPrecedePassiveParticiple:[].concat(r,q,l,m,w,b,s,d,R,D,T,y,f,p,u,E),cannotBeBetweenPassiveAuxiliaryAndParticiple:[].concat(j,x),all:[].concat(r,s,d,z,m,c,p,u,l,g,w,y,f,b,h,E,v,k,j,_,x,O,q,A,S,M,T,o,P,C,R,D,F,B,I,$,U,W,N)}};var i=t(1451),n=function(a){return a&&a.__esModule?a:{default:a}}(i),o=(0,n.default)().singleWords,r=["el","la","los","las","un","una","unos","unas"],s=["dos","tres","cuatro","cinco","seis","siete","ocho","nueve","diez","once","doce","trece","catorce","quince","dieciseis","diecisiete","dieciocho","diecinueve","veinte","cien","centena","mil","millon","millones"],d=["primera","segunda","tercera","cuarto","cuarta","quinto","quinta","sexto","sexta","septimo","septima","octavo","octava","noveno","novena","décimo","décima","vigésimo","vigésima","primeros","primeras","segundos","segundas","terceros","terceras","cuartos","cuartas","quintos","quintas","sextos","sextas","septimos","septimas","octavos","octavas","novenos","novenas","décimos","décimas","vigésimos","vigésimas"],c=["yo","tú","él","ella","ello","nosotros","nosotras","vosotros","vosotras","ustedes","ellos","ellas"],l=["me","te","lo","se","nos","os","les"],u=["mí","ti","ud","uds","usted","sí"],p=["conmigo","contigo","consigo"],z=["este","ese","aquel","esta","esa","aquella","estos","esos","aquellos","estas","esas","aquellas","esto","eso","aquello"],m=["mi","mis","mío","míos","mía","mías","nuestro","nuestros","nuestra","nuestras","tuyo","tuyos","tuya","tuyas","tu","tus","vuestro","vuestros","vuestra","vuestras","suyo","suyos","suya","suyas","su","sus"],g=["bastante","bastantes","mucho","muchas","mucha","muchos","demasiado","demasiada","demasiados","demasiadas","poco","poca","pocos","pocas","demás","otros","otras","todo","toda","todos","todas"],w=["alguien","algo","algún","alguno","alguna","algunos","algunas","nadie","nada","ningún","ninguno","ninguna","ningunos","ningunas","tanto","tantos","tanta","tantas"],y=["cuyas","cual"],f=["cuyo"],b=["comoquiera","cualesquiera","cualquier","cuanta","cuantas","cuanto","cuantos","cuál","cuáles","cuánta","cuántas","cuánto","cuántos","cómo","dondequiera","dónde","quien","quienes","quienquiera","quién","quiénes","qué"],h=["allí","ahí","allá","aquí","acá","adónde","delante","detrás","debajo","adelante","atrás","adentro","afuera"],v=["he","has","ha","hay","hemos","habéis","han","hube","hubiste","hubo","hubimos","hubisteis","hubieron","había","habías","habíamos","habíais","habían","habría","habrías","habríais","habrían","habré","habrás","habrá","habremos","habréis","habrán","haya","hayas","hayamos","hayáis","hayan","hubiera","hubieras","hubiéramos","hubierais","hubieran","hubiese","hubieses","hubiésemos","hubieseis","hubiesen","hubiere","hubieres","hubiéremos","hubiereis","hubieren","habed","habido","debo","debes","debe","debemos","debéis","deben","debí","debiste","debió","debimos","debisteis","debieron","debía","debías","debíamos","debíais","debían","debería","deberías","deberíamos","deberíais","deberían","deberé","deberás","deberá","deberemos","deberéis","deberán","deba","debas","debamos","debáis","deban","debiera","debieras","debiéramos","debierais","debieran","debiese","debieses","debiésemos","debieseis","debiesen","debiere","debieres","debiéremos","debiereis","debieren","debed","debido","empiezo","empiezas","empieza","empezáis","empiezan","empecé","empezaste","empezó","empezamos","empezasteis","empezaron","empezaba","empezabas","empezábamos","empezabais","empezaban","empezaría","empezarías","empezaríamos","empezaríais","empezarían","empezaré","empezarás","empezará","empezaremos","empezaréis","empezarán","empiece","empieces","empecemos","empecéis","empiecen","empezara","empezaras","empezáramos","empezarais","empezaran","empezase","empezases","empezásemos","empezaseis","empezasen","empezare","empezares","empezáremos","empezareis","empezaren","empezad","empezado","comienzo","comienzas","comienza","comenzamos","comenzáis","comienzan","comencé","comenzaste","comenzó","comenzasteis","comenzaron","comenzaba","comenzabas","comenzábamos","comenzabais","comenzaban","comenzaría","comenzarías","comenzaríamos","comenzaríais","comenzarían","comenzaré","comenzarás","comenzará","comenzaremos","comenzaréis","comenzarán","comience","comiences","comencemos","comencéis","comiencen","comenzara","comenzaras","comenzáramos","comenzarais","comenzaran","comenzase","comenzases","comenzásemos","comenzaseis","comenzasen","comenzare","comenzares","comenzáremos","comenzareis","comenzaren","comenzad","comenzado","sigo","sigues","sigue","seguimos","seguis","siguen","seguí","seguiste","siguió","seguisteis","siguieron","seguía","seguías","seguíamos","seguíais","seguían","seguiría","seguirías","seguiríamos","seguiríais","seguirían","seguiré","seguirás","seguirá","seguiremos","seguiréis","seguirán","siga","sigas","sigamos","sigáis","sigan","siguiera","siguieras","siguiéramos","siguierais","siguieran","siguiese","siguieses","siguiésemos","siguieseis","siguiesen","siguiere","siguieres","siguiéremos","siguiereis","siguieren","seguid","seguido","tengo","tienes","tiene","tenemos","tenéis","tienen","tuve","tuviste","tuvo","tuvimos","tuvisteis","tuvieron","tenía","tenías","teníamos","teníais","tenían","tendría","tendrías","tendríamos","tendríais","tendrían","tendré","tendrás","tendrá","tendremos","tendréis","tendrán","tenga","tengas","tengamos","tengáis","tengan","tuviera","tuvieras","tuviéramos","tuvierais","tuvieran","tuviese","tuvieses","tuviésemos","tuvieseis","tuviesen","tuviere","tuvieres","tuviéremos","tuviereis","tuvieren","ten","tened","tenido","ando","andas","andamos","andáis","andan","anduve","anduviste","anduvo","anduvimos","anduvisteis","anduvieron","andaba","andabas","andábamos","andabais","andaban","andaría","andarías","andaríamos","andaríais","andarían","andaré","andarás","andará","andaremos","andaréis","andarán","ande","andes","andemos","andéis","anden","anduviera","anduvieras","anduviéramos","anduvierais","anduvieran","anduviese","anduvieses","anduviésemos","anduvieseis","anduviesen","anduviere","anduvieres","anduviéremos","anduviereis","anduvieren","andad","andado","quedo","quedas","queda","quedamos","quedáis","quedan","quedé","quedasteis","quedaron","quedaba","quedabas","quedábamos","quedabais","quedaban","quedaría","quedarías","quedaríamos","quedaríais","quedarían","quedaré","quedarás","quedará","quedaremos","quedaréis","quedarán","quede","quedes","quedemos","quedéis","queden","quedara","quedaras","quedáramos","quedarais","quedaran","quedase","quedases","quedásemos","quedaseis","quedasen","quedare","quedares","quedáremos","quedareis","quedaren","quedad","quedado","hallo","hallas","halla","hallamos","halláis","hallan","hallé","hallaste","halló","hallasteis","hallaron","hallaba","hallabas","hallábamos","hallabais","hallaban","hallaría","hallarías","hallaríamos","hallaríais","hallarían","hallaré","hallarás","hallará","hallaremos","hallaréis","hallarán","halle","halles","hallemos","halléis","hallen","hallara","hallaras","halláramos","hallarais","hallaran","hallase","hallases","hallásemos","hallaseis","hallasen","hallare","hallares","halláremos","hallareis","hallaren","hallad","hallado","vengo","vienes","viene","venimos","venis","vienen","vine","viniste","vino","vinimos","vinisteis","vinieron","venía","vanías","verníamos","veníais","venían","vendría","vendrías","vendríamos","vendíais","vendrían","vendré","vendrás","vendrá","vendremos","vendréis","vendrán","venga","vengas","vengamos","vengáis","vengan","viniera","vinieras","viniéramos","vinierais","vinieran","viniese","vinieses","viniésemos","vinieseis","viniesen","viniere","vinieres","viniéremos","viniereis","vinieren","ven","venid","venido","abro","abres","abre","abrismos","abrís","abren","abrí","abriste","abrió","abristeis","abrieron","abría","abrías","abríais","abrían","abriría","abrirías","abriríamos","abriríais","abrirían","abriré","abrirás","abrirá","abriremos","abriréis","abrirán","abra","abras","abramos","abráis","abran","abriera","abrieras","abriéramos","abrierais","abrieran","abriese","abrieses","abriésemos","abrieseis","abriesen","abriere","abrieres","abriéremos","abriereis","abrieren","abrid","abierto","voy","vas","va","vamos","vais","van","iba","ibas","íbamos","ibais","iban","iría","irías","iríamos","iríais","irían","iré","irás","irá","iremos","iréis","irán","vaya","vayas","vayamos","vayáis","vayan","ve","id","ido","acabo","acabas","acaba","acabamos","acabáis","acaban","acabé","acabaste","acabó","acabasteis","acabaron","acababa","acababas","acabábamos","acababais","acababan","acabaría","acabarías","acabaríamos","acabaríais","acabarían","acabaré","acabarás","acabará","acabaremos","acabaréis","acabarán","acabe","acabes","acabemos","acabéis","acaben","acabara","acabaras","acabáramos","acabarais","acabaran","acabase","acabases","acabásemos","acabaseis","acabasen","acabare","acabares","acabáremos","acabareis","acabaren","acabad","acabado","llevo","llevas","lleva","llevamos","lleváis","llevan","llevé","llevaste","llevó","llevasteis","llevaron","llevaba","llevabas","llevábamos","llevabais","llevaban","llevaría","llevarías","llevaríamos","llevaríais","llevarían","llevaré","llevarás","llevará","llevaremos","llevaréis","llevarán","lleve","lleves","llevemos","llevéis","lleven","llevara","llevaras","lleváramos","llevarais","llevaran","llevase","llevases","llevásemos","llevaseis","llevasen","llevare","llevares","lleváremos","llevareis","llevaren","llevad","llevado","alcanzo","alcanzas","alcanza","alcanzamos","alcanzáis","alcanzan","alcancé","alcanzaste","alcanzó","alcanzasteis","alcanzaron","alcanzaba","alcanzabas","alcanzábamos","alcanzabais","alcanzaban","alcanzaría","alcanzarías","alcanzaríamos","alcanzaríais","alcanzarían","alcanzaré","alcanzarás","alcanzará","alcanzaremos","alcanzaréis","alcanzarán","alcance","alcances","alcancemos","alcancéis","alcancen","alcanzara","alcanzaras","alcanzáramos","alcanzarais","alcanzaran","alcanzase","alcanzases","alcanzásemos","alcanzaseis","alcanzasen","alcanzare","alcanzares","alcanzáremos","alcanzareis","alcanzaren","alcanzad","alcanzado","digo","dices","dice","decimos","decís","dicen","dije","dijiste","dijo","dijimos","dijisteis","dijeron","decía","decías","decíamos","decíais","decían","diría","dirías","diríamos","diríais","dirían","diré","dirás","dirá","diremos","diréis","dirán","diga","digas","digamos","digáis","digan","dijera","dijeras","dijéramos","dijerais","dijeran","dijese","dijeses","dijésemos","dijeseis","dijesen","dijere","dijeres","dijéremos","dijereis","dijeren","di","decid","dicho","continúo","continúas","continúa","continuamos","continuáis","continúan","continué","continuaste","continuó","continuasteis","continuaron","continuaba","continuabas","continuábamos","continuabais","continuaban","continuaría","continuarías","continuaríamos","continuaríais","continuarían","continuaré","continuarás","continuará","continuaremos","continuaréis","continuarán","continúe","continúes","continuemos","continuéis","continúen","continuara","continuaras","continuáramos","continuarais","continuaran","continuase","continuases","continuásemos","continuaseis","continuasen","continuare","continuares","continuáremos","continuareis","continuaren","continuad","continuado","resulto","resultas","resulta","resultamos","resultáis","resultan","resulté","resultaste","resultó","resultasteis","resultaron","resultaba","resultabas","resultábamos","resultabais","resultaban","resultaría","resultarías","resultaríamos","resultaríais","resultarían","resultaré","resultarás","resultará","resultaremos","resultaréis","resultarán","resulte","resultes","resultemos","resultéis","resulten","resultara","resultaras","resultáramos","resultarais","resultaran","resultase","resultases","resultásemos","resultaseis","resultasen","resultare","resultares","resultáremos","resultareis","resultaren","resultad","resultado","puedo","puedes","puede","podemos","podéis","pueden","pude","pudiste","pudo","pudimos","pudisteis","pudieron","podía","podías","podíamos","podíais","podían","podría","podrías","podríamos","podríais","podrían","podré","podrás","podrá","podremos","podréis","podrán","pueda","puedas","podamos","podáis","puedan","pudiera","pudieras","pudiéramos","pudierais","pudieran","pudiese","pudieses","pudiésemos","pudieseis","pudiesen","pudiere","pudieres","pudiéremos","pudiereis","pudieren","poded","podido","quiero","quieres","quiere","queremos","queréis","quieren","quise","quisiste","quiso","quisimos","quisisteis","quisieron","quería","querías","queríamos","queríais","querían","querría","querrías","querríamos","querríais","querrían","querré","querrás","querrá","querremos","querréis","querrán","quiera","quieras","queramos","queráis","quieran","quisiera","quisieras","quisiéramos","quisierais","quisieran","quisiese","quisieses","quisiésemos","quisieseis","quisiesen","quisiere","quisieres","quisiéremos","quisiereis","quisieren","quered","querido","sabes","sabe","sabemos","sabéis","saben","supe","supiste","supo","supimos","supisteis","supieron","sabía","sabías","sabíamos","sabíais","sabían","sabría","sabrías","sabríamos","sabríais","sabrían","sabré","sabrás","sabrá","sabremos","sabréis","sabrán","sepa","sepas","sepamos","sepáis","sepan","supiera","supieras","supiéramos","supierais","supieran","supiese","supieses","supiésemos","supieseis","supiesen","supiere","supieres","supiéremos","supiereis","supieren","sabed","sabido","suelo","sueles","suele","solemos","soléis","suelen","solí","soliste","solió","solimos","solisteis","solieron","solía","solías","solíamos","solíais","solían","solería","solerías","soleríamos","soleríais","solerían","soleré","solerás","solerá","soleremos","soleréis","solerán","suela","suelas","solamos","soláis","suelan","soliera","solieras","soliéramos","solierais","solieran","soliese","solieses","soliésemos","solieseis","soliesen","soliere","solieres","soliéremos","soliereis","solieren","soled","solido","necesito","necesitas","necesitamos","necesitáis","necesitan","necesité","necesitaste","necesitó","necesitasteis","necesitaron","necesitaba","necesitabas","necesitábamos","necesitabais","necesitaban","necesitaría","necesitarías","necesitaríamos","necesitaríais","necesitarían","necesitaré","necesitarás","necesitará","necesitaremos","necesitaréis","necesitarán","necesite","necesites","necesitemos","necesitéis","necesiten","necesitara","necesitaras","necesitáramos","necesitarais","necesitaran","necesitase","necesitases","necesitásemos","necesitaseis","necesitasen","necesitare","necesitares","necesitáremos","necesitareis","necesitaren","necesita","necesitad","necesitado"],k=["haber","deber","empezar","comenzar","seguir","tener","andar","quedar","hallar","venir","abrir","ir","acabar","llevar","alcanzar","decir","continuar","resultar","poder","querer","saber","soler","necesitar"],j=["estoy","estás","está","estamos","estáis","están","estuve","estuviste","estuvo","estuvimos","estuvisteis","estuvieron","estuba","estabas","estábamos","estabais","estaban","estraría","estarías","estaríamos","estaríais","estarían","estaré","estarás","estará","estaremos","estaréis","estarán","esté","estés","estemos","estéis","estén","estuviera","estuviese","estuvieras","estuviéramos","estuvierais","estuvieran","estuvieses","estuviésemos","estuvieseis","estuviesen","estuviere","estuvieres","estuviéremos","estuviereis","estuvieren","estad","estado"],_=["soy","eres","es","somos","sois","son","fui","fuiste","fuimos","fuisteis","fueron","era","eras","éramos","erais","eran","sería","serías","seríamos","seríais","serían","seré","serás","seremos","seréis","serán","sea","seas","seamos","seáis","sean","fueras","fuéramos","fuerais","fueran","fuese","fueses","fuésemos","fueseis","fuesen","fuere","fueres","fuéremos","fuereis","fueren","sé","sed","sido"],x=["estar"],O=["ser"],q=["a","ante","abajo","adonde","al","allende","alrededor","amén","antes","arriba","aun","bajo","cabe","cabo","con","contigo","contra","de","dejante","del","dentro","desde","donde","durante","en","encima","entre","excepto","fuera","hacia","hasta","incluso","mediante","más","opuesto","par","para","próximo","salvo","según","sin","so","sobre","tras","versus","vía"],E=["cerca"],A=["o","y","entonces","e","u","ni","bien","ora"],S=["igual"],M=["apenas","segun","que"],T=["apunto","apunta","confieso","confiesa","confesaba","revelado","revelo","revela","revelaba","declarado","declaro","declara","declaba","señalo","señala","señalaba","declaraba","comento","comenta"],P=["básicamente","esencialmente","primeramente","siempre","nunca","ahora","quizá","acaso","inclusive","probablemente","verdaderamente","seguramente","jamás","obviamente","indiscutiblement","inmediatamente","previamente"],C=["muy","tan","completamente","suficiente","tal","tales"],R=["hago","haces","hace","hacemos","hacéis","hacen","hice","hiciste","hizo","hicimos","hicisteis","hicieron","hacía","hacías","hacíamos","hacíais","hacían","haría,","harías","haríamos","haríais","harían","haré","harás","hará","haremos","haréis","harán","haga","hagas","hagamos","hagáis","hagan","hiciera","hicieras","hiciéramos","hicierais","hicieran","hiciese","hicieses","hiciésemos","hicieseis","hiciesen","hiciere","hicieres","hiciéremos","hiciereis","hicieren","haz","haced","hecho","parezco","pareces","parece","parecemos","parecéis","parecen","parecí","pareciste","pareció","parecimos","parecisteis","parecieron","parecía","parecías","parecíamos","parecíais","parecían","parecería","parecerías","pareceríamos","pareceríais","parecerían","pareceré","parecerás","parecerá","pareceremos","pareceréis","parecerán","parezca","parezcas","parezcamos","parezcáis","parezcan","pareciera","parecieras","pareciéramos","parecierais","parecieran","pareciese","parecieses","pareciésemos","parecieseis","pareciesen","pareciere","parecieres","pareciéremos","pareciereis","parecieren","pareced","parecido"],D=["hacer","parecer"],B=["enfrente","mejor","peor","menos","claro","bueno","nuevo","nueva","nuevos","nuevas","viejo","viejos","vieja","viejas","anterior","grande","gran","grandes","mayores","fácil","fáciles","rápido","rápida","rápidos","rápidas","lejos","lejas","difícil","difíciles","propio","propios","propia","propias","largo","larga","largos","largas","bajos","baja","bajas","alto","alta","altos","altas","regular","regulares","normal","pequeño","pequeña","pequeños","pequeñas","diminuta","diminuto","diminutas","diminutos","chiquitito","chiquititos","chiquitita","chiquititas","corta","corto","cortas","cortos","principal","principales","mismo","mismos","misma","mismas","capaz","capaces","cierta","cierto","ciertas","ciertos","llamado","llamada","llamados","llamadas","mayormente","reciente","recientes","completa","completo","completas","completos","absoluta","absoluto","absolutas","absolutos","últimamente","posible","común","comúnes","comúnmente","constantemente","continuamente","directamente","fácilmente","casi","ligeramente","estima","estimada","estimado","aproximada","aproximadamente","última","últimas","último","últimos","diferente","diferentes","similar","mal","malo","malos","mala","malas","perfectamente","excelente","final","general"],F=["ah","eh","ejem","ele","achís","adiós","agur","ajá","ajajá","ala","alá","albricias","aleluya","alerta","alirón","aló","amalaya","ar","aro","arrarray","arre","arsa","atatay","aúpa","ax","ay","ayayay","bah","banzai","barajo","bla","bravo","buf","bum","ca","caguendiós","canastos","caracho","caracoles","carajo","caramba","carape","caray","cáscaras","cáspita","cataplum","ce","chao","chau","che","chis","chist","chitón","cho","chucho","chus","cielos","clo","coche","cochi","cojones","concho","coño","córcholis","cuchí","cuidado","cuz","demonio","demontre","despacio","diablo","diantre","dios","ea","epa","equilicuá","estúpido","eureka","evohé","exacto","fantástico","firmes","fo","forte","gua","gualá","guarte","guay","hala","hale","he","hi","hin","hola","hopo","huesque","huiche","huichó","huifa","hurra","huy","ja","jajajá","jajay","jaque","jau","jo","jobar","joder","jolín","jopo","leñe","listo","malhayas","mamola","mecachis","miéchica","mondo","moste","mutis","nanay","narices","oh","ojalá","ojo","okay","ole","olé","órdiga","oste","ostras","ox","oxte","paf","pardiez","paso","pucha","puf","puff","pumba","puñeta","quia","quiúbole","recórcholis","rediez","rediós","salve","sanseacabó","sniff","socorro","ta","tararira","tate","tururú","uf","uh","ui","upa","uste","uy","victoria","vítor","viva","za","zambomba","zapateta","zape","zas"],I=["kg","mg","gr","g","km","m","l","ml","cl"],L=["minuto","minutos","hora","horas","día","días","semana","semanas","mes","meses","año","años","hoy","mañana","ayer"],$=["cosa","cosas","manera","maneras","caso","casos","pieza","piezas","vez","veces","parte","partes","porcentaje","instancia","aspecto","aspectos","punto","puntos","objeto","objectos","persona","personas"],U=["no","euros"],W=["sra","sras","srta","sr","sres","dra","dr","profa","prof"],N=["jr","sr"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtBeginning:B,filteredAtEnding:[].concat(d,T,k,_,O,D,F),filteredAtBeginningAndEnding:[].concat(r,q,E,p,C,m,z),filteredAnywhere:[].concat(o,c,l,u,I,s,v,j,x,M,R,g,A,S,w,y,f,h,W,b,L,$,U),cannotDirectlyPrecedePassiveParticiple:[].concat(r,q,l,z,g,s,d,R,D,M,w,y,u,f),cannotBeBetweenPassiveAuxiliaryAndParticiple:[].concat(j,_),all:[].concat(r,s,d,p,z,c,l,u,m,g,y,f,w,b,h,v,k,j,_,x,O,q,E,A,S,M,T,o,P,C,R,D,I,B,F,L,U,W,$,N)}};var i=t(1452),n=function(a){return a&&a.__esModule?a:{default:a}}(i),o=(0,n.default)().singleWords,r=["il","i","la","le","lo","gli","un","uno","una"],s=["due","tre","quattro","cinque","sette","otto","nove","dieci","undici","dodici","tredici","quattordici","quindici","sedici","diciassette","diciotto","diciannove","venti","cento","mille","mila","duemila","tremila","quattromila","cinquemila","seimila","settemila","ottomila","novemila","diecimila","milione","milioni","miliardo","miliardi"],d=["prima","primi","prime","secondo","seconda","secondi","seconde","terzo","terza","terzi","terze","quarto","quarta","quarti","quarte","quinto","quinta","quinti","quinte","sesto","sesta","sesti","seste","settimo","settima","settimi","settime","ottavo","ottava","ottavi","ottave","nono","nona","noni","none","decimo","decima","decimi","decime","undicesimo","undicesima","undicesimi","undicesime","dodicesimo","dodicesima","dodicesimi","dodicesime","tredicesimo","tredicesima","tredicesimi","tredicesime","quattordicesimo","quattordicesima","quattordicesimi","quattordicesime","quindicesimo","quindicesima","quindicesimi","quindicesime","sedicesimo","sedicesima","sedicesimi","sedicesime","diciassettesimo","diciassettesima","diciassettesimi","diciassettesime","diciannovesimo","diciannovesima","diciannovesimi","diciannovesime","ventesimo","ventesima","ventesimi","ventesime"],c=["io","tu","egli","esso","lui","ella","essa","lei","noi","voi","essi","esse","loro"],l=["mi","ti","si","ci","vi","li","me","te","se","glie","glielo","gliela","glieli","gliele","gliene","ce","ve"],u=["sé"],p=["ciò","codesto","codesta","codesti","codeste","colei","colui","coloro","costei","costui","costoro","medesimo","medesima","medesimi","medesime","questo","questa","questi","queste","quello","quella","quelli","quelle","quel","quei","quegli"],z=["mio","mia","miei","mie","tuo","tua","tuoi","tue","suo","sua","suoi","sue","nostro","nostra","nostri","nostre","vostro","vostra","vostri","vostre"],m=["affatto","alcun","alcuna","alcune","alcuni","alcuno","bastantemente","grandemente","massimamente","meno","minimamente","molta","molte","molti","moltissimo","molto","nessun","nessuna","nessuno","niente","nulla","ogni","più","po'","poca","poche","pochi","poco","pochissime","pochissimi","qualche","qualsiasi","qualunque","quintali","rara","rarissima","rarissimo","raro","spesso","spessissimo","sufficientemente","taluno","taluna","taluni","talune","tanta","tante","tanti","tantissime","tantissimi","tanto","tonnellate","troppa","troppe","troppi","troppo","tutta","tutte","tutti","tutto"],g=["alcunché","alcunchè","altro","altra","altri","altre","certa","certi","certe","checché","checchè","chicchessia","chiunque","ciascuno","ciascuna","ciascun","diverso","diversa","diversi","diverse","parecchio","parecchia","parecchi","parecchie","qualcosa","qualcuno","qualcuna","vario","varia","vari","varie"],w=["che","cosa","cui","qual","quale","quali"],y=["chi","quanta","quante","quanti","quanto"],f=["com'è","com'era","com'erano","donde","d'onde","dove","dov'è","dov'era","dov'erano","dovunque"],b=["ne"],h=["accanto","altrove","attorno","dappertutto","giù","là","laggiù","lassù","lì","ovunque","qua","quaggiù","quassù","qui"],v=["vengano","vengo","vengono","veniamo","veniate","venimmo","venisse","venissero","venissi","venissimo","veniste","venisti","venite","veniva","venivamo","venivano","venivate","venivi","venivo","venne","vennero","venni","verrà","verrai","verranno","verrebbe","verrebbero","verrei","verremmo","verremo","verreste","verresti","verrete","verrò","viene","vieni"],k=["venire","venir"],j=["abbi","abbia","abbiamo","abbiano","abbiate","abbiente","avemmo","avendo","avente","avesse","avessero","avessi","avessimo","aveste","avesti","avete","aveva","avevamo","avevano","avevate","avevi","avevo","avrà","avrai","avranno","avrebbe","avrebbero","avrei","avremmo","avremo","avreste","avresti","avrete","avrò","avuto","ebbe","ebbero","ebbi","ha","hai","hanno","ho","l'abbi","l'abbia","l'abbiamo","l'abbiano","l'abbiate","l'abbiente","l'avemmo","l'avendo","l'avente","l'avesse","l'avessero","l'avessi","l'avessimo","l'aveste","l'avesti","l'avete","l'aveva","l'avevamo","l'avevano","l'avevate","l'avevi","l'avevo","l'avrà","l'avrai","l'avranno","l'avrebbe","l'avrebbero","l'avrei","l'avremmo","l'avremo","l'avreste","l'avresti","l'avrete","l'avrò","l'avuto","l'ebbe","l'ebbero","l'ebbi","l'ha","l'hai","l'hanno","l'ho","possa","possano","possiamo","possiate","posso","possono","poté","potei","potemmo","potendo","potente","poterono","potesse","potessero","potessi","potessimo","poteste","potesti","potete","potette","potettero","potetti","poteva","potevamo","potevano","potevate","potevi","potevo","potrà","potrai","potranno","potrebbe","potrebbero","potrei","potremmo","potremo","potreste","potresti","potrete","potrò","potuto","può","puoi","voglia","vogliamo","vogliano","vogliate","voglio","vogliono","volemmo","volendo","volente","volesse","volessero","volessi","volessimo","voleste","volesti","volete","voleva","volevamo","volevano","volevate","volevi","volevo","volle","vollero","volli","voluto","vorrà","vorrai","vorranno","vorrebbe","vorrebbero","vorrei","vorremmo","vorremo","vorreste","vorresti","vorrete","vorrò","vuoi","vuole","debba","debbano","debbono","deva","deve","devi","devo","devono","dobbiamo","dobbiate","dové","dovei","dovemmo","dovendo","doverono","dovesse","dovessero","dovessi","dovessimo","doveste","dovesti","dovete","dovette","dovettero","dovetti","doveva","dovevamo","dovevano","dovevate","dovevi","dovevo","dovrà","dovrai","dovranno","dovrebbe","dovrebbero","dovrei","dovremmo","dovremo","dovreste","dovresti","dovrete","dovrò","dovuto","sa","sai","sanno","sapemmo","sapendo","sapesse","sapessero","sapessi","sapessimo","sapeste","sapesti","sapete","sapeva","sapevamo","sapevano","sapevate","sapevi","sapevo","sappi","sappia","sappiamo","sappiano","sappiate","saprà","saprai","sapranno","saprebbe","saprebbero","saprei","sapremmo","sapremo","sapreste","sapresti","saprete","saprò","saputo","seppe","seppero","seppi","so","soglia","sogliamo","sogliano","sogliate","soglio","sogliono","solesse","solessero","solessi","solessimo","soleste","solete","soleva","solevamo","solevano","solevate","solevi","solevo","suoli","sta","stai","stando","stanno","stante","starà","starai","staranno","staremo","starete","starò","stava","stavamo","stavano","stavate","stavi","stavo","stemmo","stessero","stessimo","steste","stesti","stette","stettero","stetti","stia","stiamo","stiano","stiate","sto"],_=["avere","l'avere","aver","l'aver","potere","poter","volere","voler","dovere","dover","sapere","saper","solere","stare","star"],x=["è","e'","era","erano","eravamo","eravate","eri","ero","essendo","essente","fosse","fossero","fossi","fossimo","foste","fosti","fu","fui","fummo","furono","sarà","sarai","saranno","sarebbe","sarebbero","sarei","saremmo","saremo","sareste","saresti","sarete","sarò","sei","sia","siamo","siano","siate","siete","sii","sono","stata","state","stati","stato"],O=["essere","esser"],q=["di","del","dello","della","dei","degli","delle","a","ad","al","allo","alla","ai","agli","alle","da","dal","dallo","dalla","dai","dagli","dalle","in","nel","nello","nella","nei","negli","nelle","con","col","collo","colla","coi","cogli","colle","su","sul","sullo","sulla","sui","sugli","sulle","per","pel","pello","pella","pei","pegli","tra","fra","attraverso","circa","contro","davanti","dentro","dietro","entro","escluso","fuori","insieme","intorno","lontano","lungo","mediante","oltre","presso","rasente","riguardo","senza","sopra","sotto","tramite","vicino"],E=["e","ed","o","oppure"],A=["tale","l'uno","l'altro","tali","dall'altra"],S=["anziché","anzichè","fuorché","fuorchè","giacché","giacchè","laddove","modo","ove","qualora","quantunque","volta"],M=["dice","dicono","diceva","dicevano","disse","dissero","detto","domanda","domandano","domandava","domandavano","domandò","domandarono","domandato","afferma","affermato","aggiunge","aggiunto","ammette","ammesso","annuncia","annunciato","assicura","assicurato","chiede","chiesto","commentato","conclude","concluso","continua","continuato","denuncia","denunciato","dichiara","dichiarato","esordisce","esordito","inizia","iniziato","precisato","prosegue","proseguito","racconta","raccontato","recita","recitato","replica","replicato","risponde","risposto","rimarca","rimarcato","rivela","rivelato","scandisce","scandito","scrive","scritto","segnala","segnalato","sottolinea","sottolineato","spiega","spiegato"],T=["affermare","aggiungere","ammettere","annunciare","assicurare","chiedere","commentare","concludere","continuare","denunciare","dichiarare","esordire","iniziare","precisare","proseguire","raccontare","recitare","replicare","rispondere","rimarcare","rivelare","scandire","scrivere","segnalare","sottolineare","spiegare"],P=["eventualmente","forse","mai","probabilmente"],C=["addirittura","assolutamente","ben","estremamente","mica","nemmeno","quasi"],R=["fa","fa'","faccia","facciamo","facciano","facciate","faccio","facemmo","facendo","facente","facesse","facessero","facessi","facessimo","faceste","facesti","faceva","facevamo","facevano","facevate","facevi","facevo","fai","fanno","farà","farai","faranno","farebbe","farebbero","farei","faremmo","faremo","fareste","faresti","farete","farò","fate","fatto","fece","fecero","feci","fo"],D=["fare"],B=["anteriore","anteriori","precedente","precedenti","facile","facili","facilissimo","facilissima","facilissimi","facilissime","semplice","semplici","semplicissima","semplicissimo","semplicissimi","semplicissime","semplicemente","rapido","rapida","rapidi","rapide","veloce","veloci","differente","difficile","difficili","difficilissimo","difficilissima","difficilissimi","difficilissime","basso","bassa","bassi","basse","alto","alta","alti","alte","normale","normali","normalmente","corto","corta","corti","corte","breve","brevi","recente","recenti","totale","totali","completo","completa","completi","complete","possibile","possibili","ultimo","ultima","ultimi","ultime","differenti","simile","simili","prossimo","prossima","prossimi","prossime","giusto","giusta","giusti","giuste","giustamente","cosiddetto","bene","meglio","benissimo","male","peggio","malissimo","comunemente","constantemente","direttamente","esattamente","facilmente","generalmente","leggermente","personalmente","recentemente","sinceramente","solamente","avanti","indietro"],F=["nuovo","nuova","nuovi","nuove","vecchio","vecchia","vecchi","vecchie","bello","bella","belli","belle","bellissimo","bellissima","bellissimi","bellissime","buono","buona","buoni","buone","buonissimo","buonissima","buonissimi","buonissime","grande","grandi","grandissimo","grandissima","grandissimi","grandissime","lunga","lunghi","lunghe","piccolo","piccola","piccoli","piccole","piccolissimo","piccolissima","piccolissimi","piccolissime","proprio","propria","propri","proprie","solito","solita","soliti","solite","stesso","stessa","stessi","stesse"],I=["accidenti","acciderba","ah","aah","ahi","ahia","ahimé","bah","beh","boh","ca","caspita","chissà","de'","diamine","ecco","eh","ehi","eeh","ehilà","ehm","gna","ih","magari","macché","macchè","mah","mhm","nca","neh","oibò","oh","ohe","ohé","ohilá","ohibò","ohimé","okay","ok","olà","poh","pota","puah","sorbole","to'","toh","ts","uff","uffa","uh","uhi"],L=["cc","g","hg","hl","kg","l","prs","pz","q.b.","qb","ta","tz"],$=["minuto","minuti","ora","ore","giorno","giorni","giornata","giornate","settimana","settimane","mese","mesi","anno","anni","oggi","domani","ieri","stamattina","stanotte","stasera","tardi"],U=["aspetto","aspetti","caso","casi","cose","idea","idee","istanza","maniera","oggetto","oggetti","parte","parti","persona","persone","pezzo","pezzi","punto","punti","sorta","sorte","tema","temi","volte"],W=["sì","no","non","€","euro","euros","ecc","eccetera"],N=["sig.na","sig.ra","sig","sigg","dr","dr.ssa","dott","dott.ssa","prof","prof.ssa","gent","gent.mo","gent.mi","gent.ma","gent.me","egr","egr.i","egr.ia","egr.ie","preg.mo","preg.mo","preg.ma","preg.me","ill","ill.mo","ill.mi","ill.ma","ill.me","cav","on","spett"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtEnding:[].concat(d,j,R,x,M,B),filteredAtBeginning:D,filteredAtBeginningAndEnding:[].concat(r,O,q,p,P,m,z),filteredAnywhere:[].concat(o,c,u,l,g,F,s,_,S,k,C,w,E,A,b,y,v,U,h,I,L,$),cannotDirectlyPrecedePassiveParticiple:[].concat(r,O,l,u,z,g,w,f,b,s,d,C,S,R),cannotBeBetweenPassiveAuxiliaryAndParticiple:[].concat(k,j),all:[].concat(r,s,d,p,z,g,c,u,y,m,w,f,h,v,k,j,b,_,x,O,q,E,A,S,M,o,T,P,C,R,F,D,B,I,$,U,L,W,N)}};var i=t(1453),n=function(a){return a&&a.__esModule?a:{default:a}}(i),o=(0,n.default)().singleWords,r=["le","la","les","un","une","des","aux","du","au","d'un","d'une","l'un","l'une"],s=["deux","trois","quatre","cinq","six","sept","huit","neuf","dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf","vingt","trente","quarante","cinquante","soixante","soixante-dix","quatre-vingt","quatre-vingt-dix","septante","huitante","octante","nonante","cent","mille","million","milliard"],d=["second","secondes","deuxième","deuxièmes","troisième","troisièmes","quatrième","quatrièmes","cinquième","cinquièmes","sixième","sixièmes","septième","septièmes","huitième","huitièmes","neuvième","neuvièmes","dixième","dixièmes","onzième","onzièmes","douzième","douzièmes","treizième","treizièmes","quatorzième","quatorzièmes","quinzième","quinzièmes","seizième","seizièmes","dix-septième","dix-septièmes","dix-huitième","dix-huitièmes","dix-neuvième","dix-neuvièmes","vingtième","vingtièmes"],c=["je","tu","il","elle","on","nous","vous","ils","elles","qu'il","qu'elle","qu'ils","qu'elles","qu'on","d'elle","d'elles"],l=["moi","toi","lui","soi","eux","d'eux","qu'eux"],u=["me","te"],p=["celui","celle","ceux","celles","ce","celui-ci","celui-là","celle-ci","celle-là","ceux-ci","ceux-là","celles-ci","celles-là","ceci","cela","ça","cette","cet","ces"],z=["mon","ton","son","ma","ta","sa","mes","tes","ses","notre","votre","leur","nos","vos","leurs"],m=["beaucoup","peu","quelque","quelques","tous","tout","toute","toutes","plusieurs","plein","chaque","suffisant","suffisante","suffisantes","suffisants","faible","moins","tant","plus","divers","diverse","diverses"],g=["se"],w=["aucun","aucune","autre","autres","d'autres","certain","certaine","certaines","certains","chacun","chacune","même","mêmes","quelqu'un","quelqu'une","quelques'uns","quelques'unes","autrui","nul","personne","quiconque","rien","d'aucunes","d'aucuns","nuls","nules","l'autre","tel","telle","tels","telles"],y=["qui","que","lequel","laquelle","auquel","auxquels","auxquelles","duquel","desquels","desquelles","dont","où","quoi"],f=["combien","comment","pourquoi","d'où"],b=["quel","quels","quelle"],h=["y","n'y"],v=["là","ici","d'ici","voici"],k=["a","a-t-elle","a-t-il","a-t-on","ai","ai-je","aie","as","as-tu","aura","aurai","auraient","aurais","aurait","auras","aurez","auriez","aurons","auront","avaient","avais","avait","avez","avez-vous","aviez","avions","avons","avons-nous","ayez","ayons","eu","eûmes","eurent","eus","eut","eûtes","j'ai","j'aurai","j'avais","j'eus","ont","ont-elles","ont-ils","vais","vas","va","allons","allez","vont","vais-je","vas-tu","va-t-il","va-t-elle","va-t-on","allons-nous","allez-vous","vont-elles","vont-ils","allé","allés","j'allai","allai","allas","alla","allâmes","allâtes","allèrent","j'allais","allais","allait","allions","alliez","allaient","j'irai","iras","ira","irons","irez","iront","j'aille","aille","ailles","aillent","j'allasse","allasse","allasses","allât","allassions","allassiez","allassent","j'irais","irais","irait","irions","iriez","iraient","allant","viens","vient","venons","venez","viennent","viens-je","viens-de","vient-il","vient-elle","vient-on","venons-nous","venez-vous","viennent-elles","viennent-ils","vins","vint","vînmes","vîntes","vinrent","venu","venus","venais","venait","venions","veniez","venaient","viendrai","viendras","viendra","viendrons","viendrez","viendront","vienne","viennes","vinsse","vinsses","vînt","vinssions","vinssiez","vinssent","viendrais","viendrait","viendrions","viendriez","viendraient","venant","dois","doit","devons","devez","doivent","dois-je","dois-tu","doit-il","doit-elle","doit-on","devons-nous","devez-vous","doivent-elles","doivent-ils","dus","dut","dûmes","dûtes","durent","dû","devais","devait","devions","deviez","devaient","devrai","devras","devra","devrons","devrez","devront","doive","doives","dusse","dusses","dût","dussions","dussiez","dussent","devrais","devrait","devrions","devriez","devraient","peux","peut","pouvons","pouvez","peuvent","peux-je","peux-tu","peut-il","peut-elle","peut-on","pouvons-nous","pouvez-vous","peuvent-ils","peuvent-elles","pus","put","pûmes","pûtes","purent","pu","pouvais","pouvait","pouvions","pouviez","pouvaient","pourrai","pourras","pourra","pourrons","pourrez","pourront","puisse","puisses","puissions","puissiez","puissent","pusse","pusses","pût","pussions","pussiez","pussent","pourrais","pourrait","pourrions","pourriez","pourraient","pouvant","semble","sembles","semblons","semblez","semblent","semble-je","sembles-il","sembles-elle","sembles-on","semblons-nous","semblez-vous","semblent-ils","semblent-elles","semblai","semblas","sembla","semblâmes","semblâtes","semblèrent","semblais","semblait","semblions","sembliez","semblaient","semblerai","sembleras","semblera","semblerons","semblerez","sembleront","semblé","semblasse","semblasses","semblât","semblassions","semblassiez","semblassent","semblerais","semblerait","semblerions","sembleriez","sembleraient","parais","paraît","ait","paraissons","paraissez","paraissent","parais-je","parais-tu","paraît-il","paraît-elle","paraît-on","ait-il","ait-elle","ait-on","paraissons-nous","paraissez-vous","paraissent-ils","paraissent-elles","parus","parut","parûmes","parûtes","parurent","paraissais","paraissait","paraissions","paraissiez","paraissaient","paraîtrai","paraîtras","paraîtra","paraîtrons","paraîtrez","paraîtront","paru","paraisse","paraisses","parusse","parusses","parût","parussions","parussiez","parussent","paraîtrais","paraîtrait","paraîtrions","paraîtriez","paraîtraient","paraitrais","paraitrait","paraitrions","paraitriez","paraitraient","paraissant","mets","met","mettons","mettez","mettent","mets-je","mets-tu","met-il","met-elle","met-on","mettons-nous","mettez-vous","mettent-ils","mettent-elles","mis","mit","mîmes","mîtes","mirent","mettais","mettait","mettions","mettiez","mettaient","mettrai","mettras","mettra","mettrons","mettrez","mettront","mette","mettes","misse","misses","mît","missions","missiez","missent","mettrais","mettrait","mettrions","mettriez","mettraient","mettant","finis","finit","finissons","finissez","finissent","finis-je","finis-tu","finit-il","finit-elle","finit-on","finissons-nous","finissez-vous","finissent-ils","finissent-elles","finîmes","finîtes","finirent","finissais","finissait","finissions","finissiez","finissaient","finirai","finiras","finira","finirons","finirez","finiront","fini","finisse","finisses","finît","finirais","finirait","finirions","finiriez","finiraient","finissant","n'a","n'ai","n'aie","n'as","n'aura","n'aurai","n'auraient","n'aurais","n'aurait","n'auras","n'aurez","n'auriez","n'aurons","n'auront","n'avaient","n'avais","n'avait","n'avez","n'avez-vous","n'aviez","n'avions","n'avons","n'avons-nous","n'ayez","n'ayons","n'ont","n'ont-elles","n'ont-ils","n'allons","n'allez","n'allais","n'allait","n'allions","n'alliez","n'allaient","n'iras","n'ira","n'irons","n'irez","n'iront","qu'a"],j=["avoir","aller","venir","devoir","pouvoir","sembler","paraître","paraitre","mettre","finir","d'avoir","d'aller","n'avoir"],_=["suis","es","est","est-ce","n'est","sommes","êtes","sont","suis-je","es-tu","est-il","est-elle","est-on","sommes-nous","êtes-vous","sont-ils","sont-elles","étais","était","étions","étiez","étaient","serai","seras","sera","serons","serez","seront","serais","serait","serions","seriez","seraient","sois","soit","soyons","soyez","soient","été","n'es","n'est-ce","n'êtes","n'était","n'étais","n'étions","n'étiez","n'étaient","qu'est"],x=["être","d'être"],O=["à","après","d'après","au-delà","au-dessous","au-dessus","avant","avec","concernant","chez","contre","dans","de","depuis","derrière","dès","devant","durant","en","entre","envers","environ","hormis","hors","jusque","jusqu'à","jusqu'au","jusqu'aux","loin","moyennant","outre","par","parmi","pendant","pour","près","quant","sans","sous","sur","travers","vers","voilà"],q=["et","ni","or","ou"],E=["non","pas","seulement","sitôt","aussitôt","d'autre"],A=["afin","autant","comme","d'autant","d'ici","quand","lors","parce","si","tandis"],S=["dit","disent","dit-il","dit-elle","disent-ils","disent-elles","disait","disait-il","disait-elle","disaient-ils","disaient-elles","dirent","demande","demandent","demande-t-il","demande-t-elle","demandent-ils","demandent-elles","demandait","demandaient","demandait-il","demandait-elle","demandaient-ils","demandaient-elles","demanda","demanda-t-il","demanda-t-elle","demandé","pense","pensent","pense-t-il","pense-t-elle","pensent-ils","pensent-elles","pensait","pensaient","pensait-il","pensait-elle","pensaient-ils","pensaient-elles","pensa","pensa-t-il","pensa-t-elle","pensé","affirme","affirme-t-il","affirme-t-elle","affirmé","avoue","avoue-t-il","avoue-t-elle","avoué","concède","concède-t-il","concède-t-elle","concédé","confie","confie-t-il","confie-t-elle","confié","continue","continue-t-il","continue-t-elle","continué","déclame","déclame-t-il","déclame-t-elle","déclamé","déclare","déclare-t-il","déclare-t-elle","déclaré","déplore","déplore-t-il","déplore-t-elle","déploré","explique","explique-t-il","explique-t-elle","expliqué","lance","lance-t-il","lance-t-elle","lancé","narre","narre-t-il","narre-t-elle","narré","raconte","raconte-t-il","raconte-t-elle","raconté","rappelle","rappelle-t-il","rappelle-t-elle","rappelé","réagit","réagit-il","réagit-elle","réagi","répond","répond-il","répond-elle","répondu","rétorque","rétorque-t-il","rétorque-t-elle","rétorqué","souligne","souligne-t-il","souligne-t-elle","souligné","affirme-t-il","affirme-t-elle","ajoute-t-il","ajoute-t-elle","analyse-t-il","analyse-t-elle","avance-t-il","avance-t-elle","écrit-il","écrit-elle","indique-t-il","indique-t-elle","poursuit-il","poursuit-elle","précise-t-il","précise-t-elle","résume-t-il","résume-t-elle","souvient-il","souvient-elle","témoigne-t-il","témoigne-t-elle"],M=["dire","penser","demander","concéder","continuer","confier","déclamer","déclarer","déplorer","expliquer","lancer","narrer","raconter","rappeler","réagir","répondre","rétorquer","souligner","affirmer","ajouter","analyser","avancer","écrire","indiquer","poursuivre","préciser","résumer","témoigner"],T=["encore","éternellement","immédiatement","compris","comprenant","inclus","naturellement","particulièrement","notablement","actuellement","maintenant","ordinairement","généralement","habituellement","d'habitude","vraiment","finalement","uniquement","peut-être","initialement","déjà","c.-à-d","souvent","fréquemment","régulièrement","simplement","éventuellement","quelquefois","parfois","probable","plausible","jamais","toujours","incidemment","accidentellement","récemment","dernièrement","relativement","clairement","évidemment","apparemment","pourvu"],P=["assez","trop","tellement","presque","très","absolument","extrêmement","quasi","quasiment","fort"],C=["fais","fait","faisons","faites","font","fais-je","fait-il","fait-elle","fait-on","faisons-nous","faites-vous","font-ils","font-elles","fis","fit","fîmes","fîtes","firent","faisais","faisait","faisions","faisiez","faisaient","ferai","feras","fera","ferons","ferez","feront","veux","veut","voulons","voulez","veulent","voulus","voulut","voulûmes","voulûtes","voulurent","voulais","voulait","voulions","vouliez","voulaient","voudrai","voudras","voudra","voudrons","voudrez","voudront","voulu","veux-je","veux-tu","veut-il","veut-elle","veut-on","voulons-nous","voulez-vous","veulent-ils","veulent-elles","voudrais","voudrait","voudrions","voudriez","voudraient","voulant"],R=["faire","vouloir"],D=["antérieur","antérieures","antérieurs","antérieure","précédent","précédents","précédente","précédentes","facile","faciles","simple","simples","vite","vites","vitesse","vitesses","difficile","difficiles","propre","propres","long","longe","longs","longes","longue","longues","bas","basse","basses","ordinaire","ordinaires","bref","brefs","brève","brèves","sûr","sûrs","sûre","sûres","sure","sures","surs","habituel","habituels","habituelle","habituelles","soi-disant","surtout","récent","récents","récente","récentes","total","totaux","totale","totales","complet","complets","complète","complètes","possible","possibles","communément","constamment","facilement","continuellement","directement","légèrement","dernier","derniers","dernière","dernières","différent","différents","différente","différentes","similaire","similaires","pareil","pareils","pareille","pareilles","largement","mal","super","bien","pire","pires","suivants","suivante","suivantes","prochain","prochaine","prochains","prochaines","proche","proches","fur"],B=["nouveau","nouvel","nouvelle","nouveaux","nouvelles","vieux","vieil","vieille","vieilles","beau","bel","belle","belles","bon","bons","bonne","bonnes","grand","grande","grands","grandes","haut","hauts","haute","hautes","petit","petite","petits","petites","meilleur","meilleurs","meilleure","meilleures","joli","jolis","jolie","jolies","gros","grosse","grosses","mauvais","mauvaise","mauvaises","dernier","derniers","dernière","dernières"],F=["ah","ha","oh","ho","bis","plouf","vlan","ciel","pouf","paf","crac","hurrah","allo","stop","bravo","ô","eh","hé","aïe","oef","ahi","fi","zest","hem","holà","chut"],I=["mg","g","kg","ml","dl","cl","l","grammes","gram","once","onces","oz","lbs","càc","cc","càd","càs","càt","cd","cs","ct"],L=["minute","minutes","heure","heures","journée","journées","semaine","semaines","mois","année","années","aujourd'hui","demain","hier","après-demain","avant-hier"],$=["chose","choses","façon","façons","pièce","pièces","truc","trucs","fois","cas","aspect","aspects","objet","objets","idée","idées","thème","thèmes","sujet","sujets","personnes","manière","manières","sorte","sortes"],U=["ne","oui","d'accord","amen","euro","euros","etc"],W=["mme","mmes","mlle","mlles","mm","dr","pr"],N=["jr","sr"]},function(a,e){a.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅",in:"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺",int:"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(a,e){a.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}},function(a,e,t){e=a.exports=t(1464),e.Stream=e,e.Readable=e,e.Writable=t(1385),e.Duplex=t(805),e.Transform=t(1468),e.PassThrough=t(1665)},function(a,e,t){"use strict";(function(a){function i(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function n(a,e){if(i()<e)throw new RangeError("Invalid typed array length");return o.TYPED_ARRAY_SUPPORT?(a=new Uint8Array(e),a.__proto__=o.prototype):(null===a&&(a=new o(e)),a.length=e),a}function o(a,e,t){if(!(o.TYPED_ARRAY_SUPPORT||this instanceof o))return new o(a,e,t);if("number"==typeof a){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(this,a)}return r(this,a,e,t)}function r(a,e,t,i){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?p(a,e,t,i):"string"==typeof e?l(a,e,t):z(a,e)}function s(a){if("number"!=typeof a)throw new TypeError('"size" argument must be a number');if(a<0)throw new RangeError('"size" argument must not be negative')}function d(a,e,t,i){return s(e),e<=0?n(a,e):void 0!==t?"string"==typeof i?n(a,e).fill(t,i):n(a,e).fill(t):n(a,e)}function c(a,e){if(s(e),a=n(a,e<0?0:0|m(e)),!o.TYPED_ARRAY_SUPPORT)for(var t=0;t<e;++t)a[t]=0;return a}function l(a,e,t){if("string"==typeof t&&""!==t||(t="utf8"),!o.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');var i=0|w(e,t);a=n(a,i);var r=a.write(e,t);return r!==i&&(a=a.slice(0,r)),a}function u(a,e){var t=e.length<0?0:0|m(e.length);a=n(a,t);for(var i=0;i<t;i+=1)a[i]=255&e[i];return a}function p(a,e,t,i){if(e.byteLength,t<0||e.byteLength<t)throw new RangeError("'offset' is out of bounds");if(e.byteLength<t+(i||0))throw new RangeError("'length' is out of bounds");return e=void 0===t&&void 0===i?new Uint8Array(e):void 0===i?new Uint8Array(e,t):new Uint8Array(e,t,i),o.TYPED_ARRAY_SUPPORT?(a=e,a.__proto__=o.prototype):a=u(a,e),a}function z(a,e){if(o.isBuffer(e)){var t=0|m(e.length);return a=n(a,t),0===a.length?a:(e.copy(a,0,0,t),a)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||G(e.length)?n(a,0):u(a,e);if("Buffer"===e.type&&X(e.data))return u(a,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function m(a){if(a>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|a}function g(a){return+a!=a&&(a=0),o.alloc(+a)}function w(a,e){if(o.isBuffer(a))return a.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(a)||a instanceof ArrayBuffer))return a.byteLength;"string"!=typeof a&&(a=""+a);var t=a.length;if(0===t)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":case void 0:return N(a).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*t;case"hex":return t>>>1;case"base64":return V(a).length;default:if(i)return N(a).length;e=(""+e).toLowerCase(),i=!0}}function y(a,e,t){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===t||t>this.length)&&(t=this.length),t<=0)return"";if(t>>>=0,e>>>=0,t<=e)return"";for(a||(a="utf8");;)switch(a){case"hex":return T(this,e,t);case"utf8":case"utf-8":return E(this,e,t);case"ascii":return S(this,e,t);case"latin1":case"binary":return M(this,e,t);case"base64":return q(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,e,t);default:if(i)throw new TypeError("Unknown encoding: "+a);a=(a+"").toLowerCase(),i=!0}}function f(a,e,t){var i=a[e];a[e]=a[t],a[t]=i}function b(a,e,t,i,n){if(0===a.length)return-1;if("string"==typeof t?(i=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,isNaN(t)&&(t=n?0:a.length-1),t<0&&(t=a.length+t),t>=a.length){if(n)return-1;t=a.length-1}else if(t<0){if(!n)return-1;t=0}if("string"==typeof e&&(e=o.from(e,i)),o.isBuffer(e))return 0===e.length?-1:h(a,e,t,i,n);if("number"==typeof e)return e&=255,o.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(a,e,t):Uint8Array.prototype.lastIndexOf.call(a,e,t):h(a,[e],t,i,n);throw new TypeError("val must be string, number or Buffer")}function h(a,e,t,i,n){function o(a,e){return 1===r?a[e]:a.readUInt16BE(e*r)}var r=1,s=a.length,d=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(a.length<2||e.length<2)return-1;r=2,s/=2,d/=2,t/=2}var c;if(n){var l=-1;for(c=t;c<s;c++)if(o(a,c)===o(e,-1===l?0:c-l)){if(-1===l&&(l=c),c-l+1===d)return l*r}else-1!==l&&(c-=c-l),l=-1}else for(t+d>s&&(t=s-d),c=t;c>=0;c--){for(var u=!0,p=0;p<d;p++)if(o(a,c+p)!==o(e,p)){u=!1;break}if(u)return c}return-1}function v(a,e,t,i){t=Number(t)||0;var n=a.length-t;i?(i=Number(i))>n&&(i=n):i=n;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var r=0;r<i;++r){var s=parseInt(e.substr(2*r,2),16);if(isNaN(s))return r;a[t+r]=s}return r}function k(a,e,t,i){return Y(N(e,a.length-t),a,t,i)}function j(a,e,t,i){return Y(K(e),a,t,i)}function _(a,e,t,i){return j(a,e,t,i)}function x(a,e,t,i){return Y(V(e),a,t,i)}function O(a,e,t,i){return Y(H(e,a.length-t),a,t,i)}function q(a,e,t){return 0===e&&t===a.length?Z.fromByteArray(a):Z.fromByteArray(a.slice(e,t))}function E(a,e,t){t=Math.min(a.length,t);for(var i=[],n=e;n<t;){var o=a[n],r=null,s=o>239?4:o>223?3:o>191?2:1;if(n+s<=t){var d,c,l,u;switch(s){case 1:o<128&&(r=o);break;case 2:d=a[n+1],128==(192&d)&&(u=(31&o)<<6|63&d)>127&&(r=u);break;case 3:d=a[n+1],c=a[n+2],128==(192&d)&&128==(192&c)&&(u=(15&o)<<12|(63&d)<<6|63&c)>2047&&(u<55296||u>57343)&&(r=u);break;case 4:d=a[n+1],c=a[n+2],l=a[n+3],128==(192&d)&&128==(192&c)&&128==(192&l)&&(u=(15&o)<<18|(63&d)<<12|(63&c)<<6|63&l)>65535&&u<1114112&&(r=u)}}null===r?(r=65533,s=1):r>65535&&(r-=65536,i.push(r>>>10&1023|55296),r=56320|1023&r),i.push(r),n+=s}return A(i)}function A(a){var e=a.length;if(e<=Q)return String.fromCharCode.apply(String,a);for(var t="",i=0;i<e;)t+=String.fromCharCode.apply(String,a.slice(i,i+=Q));return t}function S(a,e,t){var i="";t=Math.min(a.length,t);for(var n=e;n<t;++n)i+=String.fromCharCode(127&a[n]);return i}function M(a,e,t){var i="";t=Math.min(a.length,t);for(var n=e;n<t;++n)i+=String.fromCharCode(a[n]);return i}function T(a,e,t){var i=a.length;(!e||e<0)&&(e=0),(!t||t<0||t>i)&&(t=i);for(var n="",o=e;o<t;++o)n+=W(a[o]);return n}function P(a,e,t){for(var i=a.slice(e,t),n="",o=0;o<i.length;o+=2)n+=String.fromCharCode(i[o]+256*i[o+1]);return n}function C(a,e,t){if(a%1!=0||a<0)throw new RangeError("offset is not uint");if(a+e>t)throw new RangeError("Trying to access beyond buffer length")}function R(a,e,t,i,n,r){if(!o.isBuffer(a))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<r)throw new RangeError('"value" argument is out of bounds');if(t+i>a.length)throw new RangeError("Index out of range")}function D(a,e,t,i){e<0&&(e=65535+e+1);for(var n=0,o=Math.min(a.length-t,2);n<o;++n)a[t+n]=(e&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function B(a,e,t,i){e<0&&(e=4294967295+e+1);for(var n=0,o=Math.min(a.length-t,4);n<o;++n)a[t+n]=e>>>8*(i?n:3-n)&255}function F(a,e,t,i,n,o){if(t+i>a.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function I(a,e,t,i,n){return n||F(a,e,t,4,3.4028234663852886e38,-3.4028234663852886e38),J.write(a,e,t,i,23,4),t+4}function L(a,e,t,i,n){return n||F(a,e,t,8,1.7976931348623157e308,-1.7976931348623157e308),J.write(a,e,t,i,52,8),t+8}function $(a){if(a=U(a).replace(aa,""),a.length<2)return"";for(;a.length%4!=0;)a+="=";return a}function U(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function W(a){return a<16?"0"+a.toString(16):a.toString(16)}function N(a,e){e=e||1/0;for(var t,i=a.length,n=null,o=[],r=0;r<i;++r){if((t=a.charCodeAt(r))>55295&&t<57344){if(!n){if(t>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(r+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=t;continue}if(t<56320){(e-=3)>-1&&o.push(239,191,189),n=t;continue}t=65536+(n-55296<<10|t-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,t<128){if((e-=1)<0)break;o.push(t)}else if(t<2048){if((e-=2)<0)break;o.push(t>>6|192,63&t|128)}else if(t<65536){if((e-=3)<0)break;o.push(t>>12|224,t>>6&63|128,63&t|128)}else{if(!(t<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(t>>18|240,t>>12&63|128,t>>6&63|128,63&t|128)}}return o}function K(a){for(var e=[],t=0;t<a.length;++t)e.push(255&a.charCodeAt(t));return e}function H(a,e){for(var t,i,n,o=[],r=0;r<a.length&&!((e-=2)<0);++r)t=a.charCodeAt(r),i=t>>8,n=t%256,o.push(n),o.push(i);return o}function V(a){return Z.toByteArray($(a))}function Y(a,e,t,i){for(var n=0;n<i&&!(n+t>=e.length||n>=a.length);++n)e[n+t]=a[n];return n}function G(a){return a!==a}/*!
8
- * The buffer module from node.js, for the browser.
9
- *
10
- * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
11
- * @license MIT
12
- */
13
- var Z=t(1658),J=t(1659),X=t(1465);e.Buffer=o,e.SlowBuffer=g,e.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==a.TYPED_ARRAY_SUPPORT?a.TYPED_ARRAY_SUPPORT:function(){try{var a=new Uint8Array(1);return a.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===a.foo()&&"function"==typeof a.subarray&&0===a.subarray(1,1).byteLength}catch(a){return!1}}(),e.kMaxLength=i(),o.poolSize=8192,o._augment=function(a){return a.__proto__=o.prototype,a},o.from=function(a,e,t){return r(null,a,e,t)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(a,e,t){return d(null,a,e,t)},o.allocUnsafe=function(a){return c(null,a)},o.allocUnsafeSlow=function(a){return c(null,a)},o.isBuffer=function(a){return!(null==a||!a._isBuffer)},o.compare=function(a,e){if(!o.isBuffer(a)||!o.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(a===e)return 0;for(var t=a.length,i=e.length,n=0,r=Math.min(t,i);n<r;++n)if(a[n]!==e[n]){t=a[n],i=e[n];break}return t<i?-1:i<t?1:0},o.isEncoding=function(a){switch(String(a).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(a,e){if(!X(a))throw new TypeError('"list" argument must be an Array of Buffers');if(0===a.length)return o.alloc(0);var t;if(void 0===e)for(e=0,t=0;t<a.length;++t)e+=a[t].length;var i=o.allocUnsafe(e),n=0;for(t=0;t<a.length;++t){var r=a[t];if(!o.isBuffer(r))throw new TypeError('"list" argument must be an Array of Buffers');r.copy(i,n),n+=r.length}return i},o.byteLength=w,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var a=this.length;if(a%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<a;e+=2)f(this,e,e+1);return this},o.prototype.swap32=function(){var a=this.length;if(a%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<a;e+=4)f(this,e,e+3),f(this,e+1,e+2);return this},o.prototype.swap64=function(){var a=this.length;if(a%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<a;e+=8)f(this,e,e+7),f(this,e+1,e+6),f(this,e+2,e+5),f(this,e+3,e+4);return this},o.prototype.toString=function(){var a=0|this.length;return 0===a?"":0===arguments.length?E(this,0,a):y.apply(this,arguments)},o.prototype.equals=function(a){if(!o.isBuffer(a))throw new TypeError("Argument must be a Buffer");return this===a||0===o.compare(this,a)},o.prototype.inspect=function(){var a="",t=e.INSPECT_MAX_BYTES;return this.length>0&&(a=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(a+=" ... ")),"<Buffer "+a+">"},o.prototype.compare=function(a,e,t,i,n){if(!o.isBuffer(a))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===t&&(t=a?a.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||t>a.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=t)return 0;if(i>=n)return-1;if(e>=t)return 1;if(e>>>=0,t>>>=0,i>>>=0,n>>>=0,this===a)return 0;for(var r=n-i,s=t-e,d=Math.min(r,s),c=this.slice(i,n),l=a.slice(e,t),u=0;u<d;++u)if(c[u]!==l[u]){r=c[u],s=l[u];break}return r<s?-1:s<r?1:0},o.prototype.includes=function(a,e,t){return-1!==this.indexOf(a,e,t)},o.prototype.indexOf=function(a,e,t){return b(this,a,e,t,!0)},o.prototype.lastIndexOf=function(a,e,t){return b(this,a,e,t,!1)},o.prototype.write=function(a,e,t,i){if(void 0===e)i="utf8",t=this.length,e=0;else if(void 0===t&&"string"==typeof e)i=e,t=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(t)?(t|=0,void 0===i&&(i="utf8")):(i=t,t=void 0)}var n=this.length-e;if((void 0===t||t>n)&&(t=n),a.length>0&&(t<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return v(this,a,e,t);case"utf8":case"utf-8":return k(this,a,e,t);case"ascii":return j(this,a,e,t);case"latin1":case"binary":return _(this,a,e,t);case"base64":return x(this,a,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,a,e,t);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(a,e){var t=this.length;a=~~a,e=void 0===e?t:~~e,a<0?(a+=t)<0&&(a=0):a>t&&(a=t),e<0?(e+=t)<0&&(e=0):e>t&&(e=t),e<a&&(e=a);var i;if(o.TYPED_ARRAY_SUPPORT)i=this.subarray(a,e),i.__proto__=o.prototype;else{var n=e-a;i=new o(n,void 0);for(var r=0;r<n;++r)i[r]=this[r+a]}return i},o.prototype.readUIntLE=function(a,e,t){a|=0,e|=0,t||C(a,e,this.length);for(var i=this[a],n=1,o=0;++o<e&&(n*=256);)i+=this[a+o]*n;return i},o.prototype.readUIntBE=function(a,e,t){a|=0,e|=0,t||C(a,e,this.length);for(var i=this[a+--e],n=1;e>0&&(n*=256);)i+=this[a+--e]*n;return i},o.prototype.readUInt8=function(a,e){return e||C(a,1,this.length),this[a]},o.prototype.readUInt16LE=function(a,e){return e||C(a,2,this.length),this[a]|this[a+1]<<8},o.prototype.readUInt16BE=function(a,e){return e||C(a,2,this.length),this[a]<<8|this[a+1]},o.prototype.readUInt32LE=function(a,e){return e||C(a,4,this.length),(this[a]|this[a+1]<<8|this[a+2]<<16)+16777216*this[a+3]},o.prototype.readUInt32BE=function(a,e){return e||C(a,4,this.length),16777216*this[a]+(this[a+1]<<16|this[a+2]<<8|this[a+3])},o.prototype.readIntLE=function(a,e,t){a|=0,e|=0,t||C(a,e,this.length);for(var i=this[a],n=1,o=0;++o<e&&(n*=256);)i+=this[a+o]*n;return n*=128,i>=n&&(i-=Math.pow(2,8*e)),i},o.prototype.readIntBE=function(a,e,t){a|=0,e|=0,t||C(a,e,this.length);for(var i=e,n=1,o=this[a+--i];i>0&&(n*=256);)o+=this[a+--i]*n;return n*=128,o>=n&&(o-=Math.pow(2,8*e)),o},o.prototype.readInt8=function(a,e){return e||C(a,1,this.length),128&this[a]?-1*(255-this[a]+1):this[a]},o.prototype.readInt16LE=function(a,e){e||C(a,2,this.length);var t=this[a]|this[a+1]<<8;return 32768&t?4294901760|t:t},o.prototype.readInt16BE=function(a,e){e||C(a,2,this.length);var t=this[a+1]|this[a]<<8;return 32768&t?4294901760|t:t},o.prototype.readInt32LE=function(a,e){return e||C(a,4,this.length),this[a]|this[a+1]<<8|this[a+2]<<16|this[a+3]<<24},o.prototype.readInt32BE=function(a,e){return e||C(a,4,this.length),this[a]<<24|this[a+1]<<16|this[a+2]<<8|this[a+3]},o.prototype.readFloatLE=function(a,e){return e||C(a,4,this.length),J.read(this,a,!0,23,4)},o.prototype.readFloatBE=function(a,e){return e||C(a,4,this.length),J.read(this,a,!1,23,4)},o.prototype.readDoubleLE=function(a,e){return e||C(a,8,this.length),J.read(this,a,!0,52,8)},o.prototype.readDoubleBE=function(a,e){return e||C(a,8,this.length),J.read(this,a,!1,52,8)},o.prototype.writeUIntLE=function(a,e,t,i){if(a=+a,e|=0,t|=0,!i){R(this,a,e,t,Math.pow(2,8*t)-1,0)}var n=1,o=0;for(this[e]=255&a;++o<t&&(n*=256);)this[e+o]=a/n&255;return e+t},o.prototype.writeUIntBE=function(a,e,t,i){if(a=+a,e|=0,t|=0,!i){R(this,a,e,t,Math.pow(2,8*t)-1,0)}var n=t-1,o=1;for(this[e+n]=255&a;--n>=0&&(o*=256);)this[e+n]=a/o&255;return e+t},o.prototype.writeUInt8=function(a,e,t){return a=+a,e|=0,t||R(this,a,e,1,255,0),o.TYPED_ARRAY_SUPPORT||(a=Math.floor(a)),this[e]=255&a,e+1},o.prototype.writeUInt16LE=function(a,e,t){return a=+a,e|=0,t||R(this,a,e,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[e]=255&a,this[e+1]=a>>>8):D(this,a,e,!0),e+2},o.prototype.writeUInt16BE=function(a,e,t){return a=+a,e|=0,t||R(this,a,e,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[e]=a>>>8,this[e+1]=255&a):D(this,a,e,!1),e+2},o.prototype.writeUInt32LE=function(a,e,t){return a=+a,e|=0,t||R(this,a,e,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[e+3]=a>>>24,this[e+2]=a>>>16,this[e+1]=a>>>8,this[e]=255&a):B(this,a,e,!0),e+4},o.prototype.writeUInt32BE=function(a,e,t){return a=+a,e|=0,t||R(this,a,e,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[e]=a>>>24,this[e+1]=a>>>16,this[e+2]=a>>>8,this[e+3]=255&a):B(this,a,e,!1),e+4},o.prototype.writeIntLE=function(a,e,t,i){if(a=+a,e|=0,!i){var n=Math.pow(2,8*t-1);R(this,a,e,t,n-1,-n)}var o=0,r=1,s=0;for(this[e]=255&a;++o<t&&(r*=256);)a<0&&0===s&&0!==this[e+o-1]&&(s=1),this[e+o]=(a/r>>0)-s&255;return e+t},o.prototype.writeIntBE=function(a,e,t,i){if(a=+a,e|=0,!i){var n=Math.pow(2,8*t-1);R(this,a,e,t,n-1,-n)}var o=t-1,r=1,s=0;for(this[e+o]=255&a;--o>=0&&(r*=256);)a<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(a/r>>0)-s&255;return e+t},o.prototype.writeInt8=function(a,e,t){return a=+a,e|=0,t||R(this,a,e,1,127,-128),o.TYPED_ARRAY_SUPPORT||(a=Math.floor(a)),a<0&&(a=255+a+1),this[e]=255&a,e+1},o.prototype.writeInt16LE=function(a,e,t){return a=+a,e|=0,t||R(this,a,e,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[e]=255&a,this[e+1]=a>>>8):D(this,a,e,!0),e+2},o.prototype.writeInt16BE=function(a,e,t){return a=+a,e|=0,t||R(this,a,e,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[e]=a>>>8,this[e+1]=255&a):D(this,a,e,!1),e+2},o.prototype.writeInt32LE=function(a,e,t){return a=+a,e|=0,t||R(this,a,e,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[e]=255&a,this[e+1]=a>>>8,this[e+2]=a>>>16,this[e+3]=a>>>24):B(this,a,e,!0),e+4},o.prototype.writeInt32BE=function(a,e,t){return a=+a,e|=0,t||R(this,a,e,4,2147483647,-2147483648),a<0&&(a=4294967295+a+1),o.TYPED_ARRAY_SUPPORT?(this[e]=a>>>24,this[e+1]=a>>>16,this[e+2]=a>>>8,this[e+3]=255&a):B(this,a,e,!1),e+4},o.prototype.writeFloatLE=function(a,e,t){return I(this,a,e,!0,t)},o.prototype.writeFloatBE=function(a,e,t){return I(this,a,e,!1,t)},o.prototype.writeDoubleLE=function(a,e,t){return L(this,a,e,!0,t)},o.prototype.writeDoubleBE=function(a,e,t){return L(this,a,e,!1,t)},o.prototype.copy=function(a,e,t,i){if(t||(t=0),i||0===i||(i=this.length),e>=a.length&&(e=a.length),e||(e=0),i>0&&i<t&&(i=t),i===t)return 0;if(0===a.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(t<0||t>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),a.length-e<i-t&&(i=a.length-e+t);var n,r=i-t;if(this===a&&t<e&&e<i)for(n=r-1;n>=0;--n)a[n+e]=this[n+t];else if(r<1e3||!o.TYPED_ARRAY_SUPPORT)for(n=0;n<r;++n)a[n+e]=this[n+t];else Uint8Array.prototype.set.call(a,this.subarray(t,t+r),e);return r},o.prototype.fill=function(a,e,t,i){if("string"==typeof a){if("string"==typeof e?(i=e,e=0,t=this.length):"string"==typeof t&&(i=t,t=this.length),1===a.length){var n=a.charCodeAt(0);n<256&&(a=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!o.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof a&&(a&=255);if(e<0||this.length<e||this.length<t)throw new RangeError("Out of range index");if(t<=e)return this;e>>>=0,t=void 0===t?this.length:t>>>0,a||(a=0);var r;if("number"==typeof a)for(r=e;r<t;++r)this[r]=a;else{var s=o.isBuffer(a)?a:N(new o(a,i).toString()),d=s.length;for(r=0;r<t-e;++r)this[r+e]=s[r%d]}return this};var aa=/[^+\/0-9A-Za-z-_]/g}).call(e,t(15))},function(a,e,t){"use strict";(function(e,i,n){function o(a){var e=this;this.next=null,this.entry=null,this.finish=function(){q(e,a)}}function r(a){return C.from(a)}function s(a){return C.isBuffer(a)||a instanceof R}function d(){}function c(a,e){A=A||t(805),a=a||{};var i=e instanceof A;this.objectMode=!!a.objectMode,i&&(this.objectMode=this.objectMode||!!a.writableObjectMode);var n=a.highWaterMark,r=a.writableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i&&(r||0===r)?r:s,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var d=!1===a.decodeStrings;this.decodeStrings=!d,this.defaultEncoding=a.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){f(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function l(a){if(A=A||t(805),!(B.call(l,this)||this instanceof A))return new l(a);this._writableState=new c(a,this),this.writable=!0,a&&("function"==typeof a.write&&(this._write=a.write),"function"==typeof a.writev&&(this._writev=a.writev),"function"==typeof a.destroy&&(this._destroy=a.destroy),"function"==typeof a.final&&(this._final=a.final)),P.call(this)}function u(a,e){var t=new Error("write after end");a.emit("error",t),E.nextTick(e,t)}function p(a,e,t,i){var n=!0,o=!1;return null===t?o=new TypeError("May not write null values to stream"):"string"==typeof t||void 0===t||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(a.emit("error",o),E.nextTick(i,o),n=!1),n}function z(a,e,t){return a.objectMode||!1===a.decodeStrings||"string"!=typeof e||(e=C.from(e,t)),e}function m(a,e,t,i,n,o){if(!t){var r=z(e,i,n);i!==r&&(t=!0,n="buffer",i=r)}var s=e.objectMode?1:i.length;e.length+=s;var d=e.length<e.highWaterMark;if(d||(e.needDrain=!0),e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest={chunk:i,encoding:n,isBuf:t,callback:o,next:null},c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else g(a,e,!1,s,i,n,o);return d}function g(a,e,t,i,n,o,r){e.writelen=i,e.writecb=r,e.writing=!0,e.sync=!0,t?a._writev(n,e.onwrite):a._write(n,o,e.onwrite),e.sync=!1}function w(a,e,t,i,n){--e.pendingcb,t?(E.nextTick(n,i),E.nextTick(x,a,e),a._writableState.errorEmitted=!0,a.emit("error",i)):(n(i),a._writableState.errorEmitted=!0,a.emit("error",i),x(a,e))}function y(a){a.writing=!1,a.writecb=null,a.length-=a.writelen,a.writelen=0}function f(a,e){var t=a._writableState,i=t.sync,n=t.writecb;if(y(t),e)w(a,t,i,e,n);else{var o=k(t);o||t.corked||t.bufferProcessing||!t.bufferedRequest||v(a,t),i?S(b,a,t,o,n):b(a,t,o,n)}}function b(a,e,t,i){t||h(a,e),e.pendingcb--,i(),x(a,e)}function h(a,e){0===e.length&&e.needDrain&&(e.needDrain=!1,a.emit("drain"))}function v(a,e){e.bufferProcessing=!0;var t=e.bufferedRequest;if(a._writev&&t&&t.next){var i=e.bufferedRequestCount,n=new Array(i),r=e.corkedRequestsFree;r.entry=t;for(var s=0,d=!0;t;)n[s]=t,t.isBuf||(d=!1),t=t.next,s+=1;n.allBuffers=d,g(a,e,!0,e.length,n,"",r.finish),e.pendingcb++,e.lastBufferedRequest=null,r.next?(e.corkedRequestsFree=r.next,r.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0}else{for(;t;){var c=t.chunk,l=t.encoding,u=t.callback;if(g(a,e,!1,e.objectMode?1:c.length,c,l,u),t=t.next,e.bufferedRequestCount--,e.writing)break}null===t&&(e.lastBufferedRequest=null)}e.bufferedRequest=t,e.bufferProcessing=!1}function k(a){return a.ending&&0===a.length&&null===a.bufferedRequest&&!a.finished&&!a.writing}function j(a,e){a._final(function(t){e.pendingcb--,t&&a.emit("error",t),e.prefinished=!0,a.emit("prefinish"),x(a,e)})}function _(a,e){e.prefinished||e.finalCalled||("function"==typeof a._final?(e.pendingcb++,e.finalCalled=!0,E.nextTick(j,a,e)):(e.prefinished=!0,a.emit("prefinish")))}function x(a,e){var t=k(e);return t&&(_(a,e),0===e.pendingcb&&(e.finished=!0,a.emit("finish"))),t}function O(a,e,t){e.ending=!0,x(a,e),t&&(e.finished?E.nextTick(t):a.once("finish",t)),e.ended=!0,a.writable=!1}function q(a,e,t){var i=a.entry;for(a.entry=null;i;){var n=i.callback;e.pendingcb--,n(t),i=i.next}e.corkedRequestsFree?e.corkedRequestsFree.next=a:e.corkedRequestsFree=a}var E=t(1037);a.exports=l;var A,S=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?i:E.nextTick;l.WritableState=c;var M=t(999);M.inherits=t(168);var T={deprecate:t(1664)},P=t(1466),C=t(1038).Buffer,R=n.Uint8Array||function(){},D=t(1467);M.inherits(l,P),c.prototype.getBuffer=function(){for(var a=this.bufferedRequest,e=[];a;)e.push(a),a=a.next;return e},function(){try{Object.defineProperty(c.prototype,"buffer",{get:T.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(a){}}();var B;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(B=Function.prototype[Symbol.hasInstance],Object.defineProperty(l,Symbol.hasInstance,{value:function(a){return!!B.call(this,a)||this===l&&(a&&a._writableState instanceof c)}})):B=function(a){return a instanceof this},l.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},l.prototype.write=function(a,e,t){var i=this._writableState,n=!1,o=!i.objectMode&&s(a);return o&&!C.isBuffer(a)&&(a=r(a)),"function"==typeof e&&(t=e,e=null),o?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof t&&(t=d),i.ended?u(this,t):(o||p(this,i,a,t))&&(i.pendingcb++,n=m(this,i,o,a,e,t)),n},l.prototype.cork=function(){this._writableState.corked++},l.prototype.uncork=function(){var a=this._writableState;a.corked&&(a.corked--,a.writing||a.corked||a.finished||a.bufferProcessing||!a.bufferedRequest||v(this,a))},l.prototype.setDefaultEncoding=function(a){if("string"==typeof a&&(a=a.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((a+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+a);return this._writableState.defaultEncoding=a,this},Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),l.prototype._write=function(a,e,t){t(new Error("_write() is not implemented"))},l.prototype._writev=null,l.prototype.end=function(a,e,t){var i=this._writableState;"function"==typeof a?(t=a,a=null,e=null):"function"==typeof e&&(t=e,e=null),null!==a&&void 0!==a&&this.write(a,e),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||O(this,i,t)},Object.defineProperty(l.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(a){this._writableState&&(this._writableState.destroyed=a)}}),l.prototype.destroy=D.destroy,l.prototype._undestroy=D.undestroy,l.prototype._destroy=function(a,e){this.end(),e(a)}}).call(e,t(444),t(1663).setImmediate,t(15))},function(a,e,t){(function(a,e){!function(a,t){"use strict";function i(a){"function"!=typeof a&&(a=new Function(""+a));for(var e=new Array(arguments.length-1),t=0;t<e.length;t++)e[t]=arguments[t+1];var i={callback:a,args:e};return c[d]=i,s(d),d++}function n(a){delete c[a]}function o(a){var e=a.callback,i=a.args;switch(i.length){case 0:e();break;case 1:e(i[0]);break;case 2:e(i[0],i[1]);break;case 3:e(i[0],i[1],i[2]);break;default:e.apply(t,i)}}function r(a){if(l)setTimeout(r,0,a);else{var e=c[a];if(e){l=!0;try{o(e)}finally{n(a),l=!1}}}}if(!a.setImmediate){var s,d=1,c={},l=!1,u=a.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(a);p=p&&p.setTimeout?p:a,"[object process]"==={}.toString.call(a.process)?function(){s=function(a){e.nextTick(function(){r(a)})}}():function(){if(a.postMessage&&!a.importScripts){var e=!0,t=a.onmessage;return a.onmessage=function(){e=!1},a.postMessage("","*"),a.onmessage=t,e}}()?function(){var e="setImmediate$"+Math.random()+"$",t=function(t){t.source===a&&"string"==typeof t.data&&0===t.data.indexOf(e)&&r(+t.data.slice(e.length))};a.addEventListener?a.addEventListener("message",t,!1):a.attachEvent("onmessage",t),s=function(t){a.postMessage(e+t,"*")}}():a.MessageChannel?function(){var a=new MessageChannel;a.port1.onmessage=function(a){r(a.data)},s=function(e){a.port2.postMessage(e)}}():u&&"onreadystatechange"in u.createElement("script")?function(){var a=u.documentElement;s=function(e){var t=u.createElement("script");t.onreadystatechange=function(){r(e),t.onreadystatechange=null,a.removeChild(t),t=null},a.appendChild(t)}}():function(){s=function(a){setTimeout(r,0,a)}}(),p.setImmediate=i,p.clearImmediate=n}}("undefined"==typeof self?void 0===a?this:a:self)}).call(e,t(15),t(444))},function(a,e,t){"use strict";function i(a){if(!a)return"utf8";for(var e;;)switch(a){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return a;default:if(e)return;a=(""+a).toLowerCase(),e=!0}}function n(a){var e=i(a);if("string"!=typeof e&&(f.isEncoding===b||!b(a)))throw new Error("Unknown encoding: "+a);return e||a}function o(a){this.encoding=n(a);var e;switch(this.encoding){case"utf16le":this.text=p,this.end=z,e=4;break;case"utf8":this.fillLast=c,e=4;break;case"base64":this.text=m,this.end=g,e=3;break;default:return this.write=w,void(this.end=y)}this.lastNeed=0,this.lastTotal=0,this.lastChar=f.allocUnsafe(e)}function r(a){return a<=127?0:a>>5==6?2:a>>4==14?3:a>>3==30?4:a>>6==2?-1:-2}function s(a,e,t){var i=e.length-1;if(i<t)return 0;var n=r(e[i]);return n>=0?(n>0&&(a.lastNeed=n-1),n):--i<t||-2===n?0:(n=r(e[i]))>=0?(n>0&&(a.lastNeed=n-2),n):--i<t||-2===n?0:(n=r(e[i]),n>=0?(n>0&&(2===n?n=0:a.lastNeed=n-3),n):0)}function d(a,e,t){if(128!=(192&e[0]))return a.lastNeed=0,"�";if(a.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return a.lastNeed=1,"�";if(a.lastNeed>2&&e.length>2&&128!=(192&e[2]))return a.lastNeed=2,"�"}}function c(a){var e=this.lastTotal-this.lastNeed,t=d(this,a,e);return void 0!==t?t:this.lastNeed<=a.length?(a.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(a.copy(this.lastChar,e,0,a.length),void(this.lastNeed-=a.length))}function l(a,e){var t=s(this,a,e);if(!this.lastNeed)return a.toString("utf8",e);this.lastTotal=t;var i=a.length-(t-this.lastNeed);return a.copy(this.lastChar,0,i),a.toString("utf8",e,i)}function u(a){var e=a&&a.length?this.write(a):"";return this.lastNeed?e+"�":e}function p(a,e){if((a.length-e)%2==0){var t=a.toString("utf16le",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=a[a.length-2],this.lastChar[1]=a[a.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=a[a.length-1],a.toString("utf16le",e,a.length-1)}function z(a){var e=a&&a.length?this.write(a):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function m(a,e){var t=(a.length-e)%3;return 0===t?a.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,1===t?this.lastChar[0]=a[a.length-1]:(this.lastChar[0]=a[a.length-2],this.lastChar[1]=a[a.length-1]),a.toString("base64",e,a.length-t))}function g(a){var e=a&&a.length?this.write(a):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function w(a){return a.toString(this.encoding)}function y(a){return a&&a.length?this.write(a):""}var f=t(1038).Buffer,b=f.isEncoding||function(a){switch((a=""+a)&&a.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};e.StringDecoder=o,o.prototype.write=function(a){if(0===a.length)return"";var e,t;if(this.lastNeed){if(void 0===(e=this.fillLast(a)))return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t<a.length?e?e+this.text(a,t):this.text(a,t):e||""},o.prototype.end=u,o.prototype.text=l,o.prototype.fillLast=function(a){if(this.lastNeed<=a.length)return a.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);a.copy(this.lastChar,this.lastTotal-this.lastNeed,0,a.length),this.lastNeed-=a.length}},function(a,e,t){"use strict";function i(a){Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.message=a}Object.defineProperty(e,"__esModule",{value:!0});var n=t(105);(function(a){return a&&a.__esModule?a:{default:a}})(n).default.inherits(i,Error),e.default=i},function(a,e,t){"use strict";function i(a){return a.split("#")[0]}function n(a){return a.split("?")[0]}function o(a){return a.replace(/\/$/,"")}function r(a){return o(a)+"/"}function s(a){var e=w.exec(a);return null===e?"":e[2]}function d(a,e){return a=n(i(a)),e=n(i(e)),r(a)===r(e)}function c(a){return a=g.default.parse(a),a.hostname}function l(a){return g.default.parse(a).protocol}function u(a,e){var t=g.default.parse(a,!1,!0);return-1===a.indexOf("//")&&0===a.indexOf("/")||0!==a.indexOf("#")&&(!t.host||t.host===e)}function p(a){return!!a&&("http:"===a||"https:"===a)}function z(a){return 0===a.indexOf("#")}Object.defineProperty(e,"__esModule",{value:!0});var m=t(1390),g=function(a){return a&&a.__esModule?a:{default:a}}(m),w=/href=(["'])([^"']+)\1/i;e.default={removeHash:i,removeQueryArgs:n,removeTrailingSlash:o,addTrailingSlash:r,getFromAnchorTag:s,areEqual:d,getHostname:c,getProtocol:l,isInternalLink:u,protocolIsHttpScheme:p,isRelativeFragmentURL:z}},function(a,e,t){"use strict";function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function n(a,e,t){if(a&&c.isObject(a)&&a instanceof i)return a;var n=new i;return n.parse(a,e,t),n}function o(a){return c.isString(a)&&(a=n(a)),a instanceof i?a.format():i.prototype.format.call(a)}function r(a,e){return n(a,!1,!0).resolve(e)}function s(a,e){return a?n(a,!1,!0).resolveObject(e):e}var d=t(1391),c=t(1392);e.parse=n,e.resolve=r,e.resolveObject=s,e.format=o,e.Url=i;var l=/^([a-z0-9.+-]+:)/i,u=/:[0-9]*$/,p=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,z=["<",">",'"',"`"," ","\r","\n","\t"],m=["{","}","|","\\","^","`"].concat(z),g=["'"].concat(m),w=["%","/","?",";","#"].concat(g),y=["/","?","#"],f=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,h={javascript:!0,"javascript:":!0},v={javascript:!0,"javascript:":!0},k={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},j=t(1393);i.prototype.parse=function(a,e,t){if(!c.isString(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var i=a.indexOf("?"),n=-1!==i&&i<a.indexOf("#")?"?":"#",o=a.split(n),r=/\\/g;o[0]=o[0].replace(r,"/"),a=o.join(n);var s=a;if(s=s.trim(),!t&&1===a.split("#").length){var u=p.exec(s);if(u)return this.path=s,this.href=s,this.pathname=u[1],u[2]?(this.search=u[2],this.query=e?j.parse(this.search.substr(1)):this.search.substr(1)):e&&(this.search="",this.query={}),this}var z=l.exec(s);if(z){z=z[0];var m=z.toLowerCase();this.protocol=m,s=s.substr(z.length)}if(t||z||s.match(/^\/\/[^@\/]+@[^@\/]+/)){var _="//"===s.substr(0,2);!_||z&&v[z]||(s=s.substr(2),this.slashes=!0)}if(!v[z]&&(_||z&&!k[z])){for(var x=-1,O=0;O<y.length;O++){var q=s.indexOf(y[O]);-1!==q&&(-1===x||q<x)&&(x=q)}var E,A;A=-1===x?s.lastIndexOf("@"):s.lastIndexOf("@",x),-1!==A&&(E=s.slice(0,A),s=s.slice(A+1),this.auth=decodeURIComponent(E)),x=-1;for(var O=0;O<w.length;O++){var q=s.indexOf(w[O]);-1!==q&&(-1===x||q<x)&&(x=q)}-1===x&&(x=s.length),this.host=s.slice(0,x),s=s.slice(x),this.parseHost(),this.hostname=this.hostname||"";var S="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!S)for(var M=this.hostname.split(/\./),O=0,T=M.length;O<T;O++){var P=M[O];if(P&&!P.match(f)){for(var C="",R=0,D=P.length;R<D;R++)P.charCodeAt(R)>127?C+="x":C+=P[R];if(!C.match(f)){var B=M.slice(0,O),F=M.slice(O+1),I=P.match(b);I&&(B.push(I[1]),F.unshift(I[2])),F.length&&(s="/"+F.join(".")+s),this.hostname=B.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),S||(this.hostname=d.toASCII(this.hostname));var L=this.port?":"+this.port:"",$=this.hostname||"";this.host=$+L,this.href+=this.host,S&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==s[0]&&(s="/"+s))}if(!h[m])for(var O=0,T=g.length;O<T;O++){var U=g[O];if(-1!==s.indexOf(U)){var W=encodeURIComponent(U);W===U&&(W=escape(U)),s=s.split(U).join(W)}}var N=s.indexOf("#");-1!==N&&(this.hash=s.substr(N),s=s.slice(0,N));var K=s.indexOf("?");if(-1!==K?(this.search=s.substr(K),this.query=s.substr(K+1),e&&(this.query=j.parse(this.query)),s=s.slice(0,K)):e&&(this.search="",this.query={}),s&&(this.pathname=s),k[m]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var L=this.pathname||"",H=this.search||"";this.path=L+H}return this.href=this.format(),this},i.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var e=this.protocol||"",t=this.pathname||"",i=this.hash||"",n=!1,o="";this.host?n=a+this.host:this.hostname&&(n=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(n+=":"+this.port)),this.query&&c.isObject(this.query)&&Object.keys(this.query).length&&(o=j.stringify(this.query));var r=this.search||o&&"?"+o||"";return e&&":"!==e.substr(-1)&&(e+=":"),this.slashes||(!e||k[e])&&!1!==n?(n="//"+(n||""),t&&"/"!==t.charAt(0)&&(t="/"+t)):n||(n=""),i&&"#"!==i.charAt(0)&&(i="#"+i),r&&"?"!==r.charAt(0)&&(r="?"+r),t=t.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),r=r.replace("#","%23"),e+n+t+r+i},i.prototype.resolve=function(a){return this.resolveObject(n(a,!1,!0)).format()},i.prototype.resolveObject=function(a){if(c.isString(a)){var e=new i;e.parse(a,!1,!0),a=e}for(var t=new i,n=Object.keys(this),o=0;o<n.length;o++){var r=n[o];t[r]=this[r]}if(t.hash=a.hash,""===a.href)return t.href=t.format(),t;if(a.slashes&&!a.protocol){for(var s=Object.keys(a),d=0;d<s.length;d++){var l=s[d];"protocol"!==l&&(t[l]=a[l])}return k[t.protocol]&&t.hostname&&!t.pathname&&(t.path=t.pathname="/"),t.href=t.format(),t}if(a.protocol&&a.protocol!==t.protocol){if(!k[a.protocol]){for(var u=Object.keys(a),p=0;p<u.length;p++){var z=u[p];t[z]=a[z]}return t.href=t.format(),t}if(t.protocol=a.protocol,a.host||v[a.protocol])t.pathname=a.pathname;else{for(var m=(a.pathname||"").split("/");m.length&&!(a.host=m.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==m[0]&&m.unshift(""),m.length<2&&m.unshift(""),t.pathname=m.join("/")}if(t.search=a.search,t.query=a.query,t.host=a.host||"",t.auth=a.auth,t.hostname=a.hostname||a.host,t.port=a.port,t.pathname||t.search){var g=t.pathname||"",w=t.search||"";t.path=g+w}return t.slashes=t.slashes||a.slashes,t.href=t.format(),t}var y=t.pathname&&"/"===t.pathname.charAt(0),f=a.host||a.pathname&&"/"===a.pathname.charAt(0),b=f||y||t.host&&a.pathname,h=b,j=t.pathname&&t.pathname.split("/")||[],m=a.pathname&&a.pathname.split("/")||[],_=t.protocol&&!k[t.protocol];if(_&&(t.hostname="",t.port=null,t.host&&(""===j[0]?j[0]=t.host:j.unshift(t.host)),t.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===m[0]?m[0]=a.host:m.unshift(a.host)),a.host=null),b=b&&(""===m[0]||""===j[0])),f)t.host=a.host||""===a.host?a.host:t.host,t.hostname=a.hostname||""===a.hostname?a.hostname:t.hostname,t.search=a.search,t.query=a.query,j=m;else if(m.length)j||(j=[]),j.pop(),j=j.concat(m),t.search=a.search,t.query=a.query;else if(!c.isNullOrUndefined(a.search)){if(_){t.hostname=t.host=j.shift();var x=!!(t.host&&t.host.indexOf("@")>0)&&t.host.split("@");x&&(t.auth=x.shift(),t.host=t.hostname=x.shift())}return t.search=a.search,t.query=a.query,c.isNull(t.pathname)&&c.isNull(t.search)||(t.path=(t.pathname?t.pathname:"")+(t.search?t.search:"")),t.href=t.format(),t}if(!j.length)return t.pathname=null,t.search?t.path="/"+t.search:t.path=null,t.href=t.format(),t;for(var O=j.slice(-1)[0],q=(t.host||a.host||j.length>1)&&("."===O||".."===O)||""===O,E=0,A=j.length;A>=0;A--)O=j[A],"."===O?j.splice(A,1):".."===O?(j.splice(A,1),E++):E&&(j.splice(A,1),E--);if(!b&&!h)for(;E--;E)j.unshift("..");!b||""===j[0]||j[0]&&"/"===j[0].charAt(0)||j.unshift(""),q&&"/"!==j.join("/").substr(-1)&&j.push("");var S=""===j[0]||j[0]&&"/"===j[0].charAt(0);if(_){t.hostname=t.host=S?"":j.length?j.shift():"";var x=!!(t.host&&t.host.indexOf("@")>0)&&t.host.split("@");x&&(t.auth=x.shift(),t.host=t.hostname=x.shift())}return b=b||t.host&&j.length,b&&!S&&j.unshift(""),j.length?t.pathname=j.join("/"):(t.pathname=null,t.path=null),c.isNull(t.pathname)&&c.isNull(t.search)||(t.path=(t.pathname?t.pathname:"")+(t.search?t.search:"")),t.auth=a.auth||t.auth,t.slashes=t.slashes||a.slashes,t.href=t.format(),t},i.prototype.parseHost=function(){var a=this.host,e=u.exec(a);e&&(e=e[0],":"!==e&&(this.port=e.substr(1)),a=a.substr(0,a.length-e.length)),a&&(this.hostname=a)}},function(a,e,t){(function(a,i){var n;!function(o){function r(a){throw new RangeError(T[a])}function s(a,e){for(var t=a.length,i=[];t--;)i[t]=e(a[t]);return i}function d(a,e){var t=a.split("@"),i="";return t.length>1&&(i=t[0]+"@",a=t[1]),a=a.replace(M,"."),i+s(a.split("."),e).join(".")}function c(a){for(var e,t,i=[],n=0,o=a.length;n<o;)e=a.charCodeAt(n++),e>=55296&&e<=56319&&n<o?(t=a.charCodeAt(n++),56320==(64512&t)?i.push(((1023&e)<<10)+(1023&t)+65536):(i.push(e),n--)):i.push(e);return i}function l(a){return s(a,function(a){var e="";return a>65535&&(a-=65536,e+=R(a>>>10&1023|55296),a=56320|1023&a),e+=R(a)}).join("")}function u(a){return a-48<10?a-22:a-65<26?a-65:a-97<26?a-97:v}function p(a,e){return a+22+75*(a<26)-((0!=e)<<5)}function z(a,e,t){var i=0;for(a=t?C(a/x):a>>1,a+=C(a/e);a>P*j>>1;i+=v)a=C(a/P);return C(i+(P+1)*a/(a+_))}function m(a){var e,t,i,n,o,s,d,c,p,m,g=[],w=a.length,y=0,f=q,b=O;for(t=a.lastIndexOf(E),t<0&&(t=0),i=0;i<t;++i)a.charCodeAt(i)>=128&&r("not-basic"),g.push(a.charCodeAt(i));for(n=t>0?t+1:0;n<w;){for(o=y,s=1,d=v;n>=w&&r("invalid-input"),c=u(a.charCodeAt(n++)),(c>=v||c>C((h-y)/s))&&r("overflow"),y+=c*s,p=d<=b?k:d>=b+j?j:d-b,!(c<p);d+=v)m=v-p,s>C(h/m)&&r("overflow"),s*=m;e=g.length+1,b=z(y-o,e,0==o),C(y/e)>h-f&&r("overflow"),f+=C(y/e),y%=e,g.splice(y++,0,f)}return l(g)}function g(a){var e,t,i,n,o,s,d,l,u,m,g,w,y,f,b,_=[];for(a=c(a),w=a.length,e=q,t=0,o=O,s=0;s<w;++s)(g=a[s])<128&&_.push(R(g));for(i=n=_.length,n&&_.push(E);i<w;){for(d=h,s=0;s<w;++s)(g=a[s])>=e&&g<d&&(d=g);for(y=i+1,d-e>C((h-t)/y)&&r("overflow"),t+=(d-e)*y,e=d,s=0;s<w;++s)if(g=a[s],g<e&&++t>h&&r("overflow"),g==e){for(l=t,u=v;m=u<=o?k:u>=o+j?j:u-o,!(l<m);u+=v)b=l-m,f=v-m,_.push(R(p(m+b%f,0))),l=C(b/f);_.push(R(p(l,0))),o=z(t,y,i==n),t=0,++i}++t,++e}return _.join("")}function w(a){return d(a,function(a){return A.test(a)?m(a.slice(4).toLowerCase()):a})}function y(a){return d(a,function(a){return S.test(a)?"xn--"+g(a):a})}var f=("object"==typeof e&&e&&e.nodeType,"object"==typeof a&&a&&a.nodeType,"object"==typeof i&&i);var b,h=2147483647,v=36,k=1,j=26,_=38,x=700,O=72,q=128,E="-",A=/^xn--/,S=/[^\x20-\x7E]/,M=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},P=v-k,C=Math.floor,R=String.fromCharCode;b={version:"1.4.1",ucs2:{decode:c,encode:l},decode:m,encode:g,toASCII:y,toUnicode:w},void 0!==(n=function(){return b}.call(e,t,e,a))&&(a.exports=n)}()}).call(e,t(60)(a),t(15))},function(a,e,t){"use strict";a.exports={isString:function(a){return"string"==typeof a},isObject:function(a){return"object"==typeof a&&null!==a},isNull:function(a){return null===a},isNullOrUndefined:function(a){return null==a}}},function(a,e,t){"use strict";e.decode=e.parse=t(1394),e.encode=e.stringify=t(1041)},function(a,e,t){"use strict";function i(a,e){return Object.prototype.hasOwnProperty.call(a,e)}a.exports=function(a,e,t,o){e=e||"&",t=t||"=";var r={};if("string"!=typeof a||0===a.length)return r;var s=/\+/g;a=a.split(e);var d=1e3;o&&"number"==typeof o.maxKeys&&(d=o.maxKeys);var c=a.length;d>0&&c>d&&(c=d);for(var l=0;l<c;++l){var u,p,z,m,g=a[l].replace(s,"%20"),w=g.indexOf(t);w>=0?(u=g.substr(0,w),p=g.substr(w+1)):(u=g,p=""),z=decodeURIComponent(u),m=decodeURIComponent(p),i(r,z)?n(r[z])?r[z].push(m):r[z]=[r[z],m]:r[z]=m}return r};var n=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},function(a,e,t){"use strict";function i(a,e){for(var t,i=0,n=a.length,o=[];(t=e.indexOf(a,i))>-1;){var r=(0,s.characterInBoundary)(e[t-1])||0===t,d=(0,s.characterInBoundary)(e[t+n])||e.length===t+n;r&&d&&o.push({index:t,match:a}),i=t+n}return o}Object.defineProperty(e,"__esModule",{value:!0}),e.getIndicesByWordListSorted=e.sortIndices=e.filterIndices=e.getIndicesByWordList=e.getIndicesByWord=void 0;var n=t(1),o=t(108),r=function(a){return a&&a.__esModule?a:{default:a}}(o),s=t(1481),d=function(a,e){var t=[];return(0,n.forEach)(a,function(a){a=(0,r.default)(a),(0,s.isWordInSentence)(a,e)&&(t=t.concat(i(a,e)))}),t},c=function(a){return a.sort(function(a,e){return a.index>e.index})},l=function(a){a=c(a);for(var e=[],t=0;t<a.length;t++)!(0,n.isUndefined)(a[t+1])&&a[t+1].index<a[t].index+a[t].match.length?(e.push(a[t]),t++):e.push(a[t]);return e},u=function(a,e){var t=[];return(0,n.forEach)(a,function(a){if(a=(0,r.default)(a),!(0,s.isWordInSentence)(a,e))return t;t=t.concat(i(a,e))}),t=t.sort(function(a,e){return a.index<e.index?-1:a.index>e.index?1:0})};e.getIndicesByWord=i,e.getIndicesByWordList=d,e.filterIndices=l,e.sortIndices=c,e.getIndicesByWordListSorted=u,e.default={getIndicesByWord:i,getIndicesByWordList:d,filterIndices:l,sortIndices:c,getIndicesByWordListSorted:u}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0});var n=t(105),o=t(1024),r=i(o),s=t(1025),d=i(s),c=t(1026),l=i(c),u=t(1028),p=i(u),z=t(1372),m=i(z),g=t(1368),w=i(g),y=t(1029),f=i(y),b=t(1030),h=i(b),v=t(806),k=i(v),j=t(1027),_=i(j),x=t(819),O=i(x),q=t(1371),E=i(q),A=t(1373),S=i(A),M=t(1374),T=i(M),P=t(1370),C=i(P),R=t(820),D=i(R),B=t(1031),F=i(B),I=t(1032),L=i(I),$=function(a,e){k.default.call(this,a,e),this._assessments=[new r.default,new d.default,new l.default,_.default,new p.default,new O.default,new E.default,new m.default,new S.default,new T.default,new C.default,new f.default,new w.default,new D.default,new h.default,new F.default,L.default]};(0,n.inherits)($,k.default),e.default=$},function(a,e,t){"use strict";var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"===i(Symbol.iterator)?function(a){return void 0===a?"undefined":i(a)}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":void 0===a?"undefined":i(a)},o=t(1),r=t(1388),s=function(a){return a&&a.__esModule?a:{default:a}}(r),d=function(a){this.app=a,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this.customTests=[],setTimeout(this._pollLoadingPlugins.bind(this),1500)};d.prototype._registerPlugin=function(a,e){return"string"!=typeof a?(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1):(0,o.isUndefined)(e)||"object"===(void 0===e?"undefined":n(e))?!1===this._validateUniqueness(a)?(console.error("Failed to register plugin. Plugin with name "+a+" already exists"),!1):(this.plugins[a]=e,!0):(console.error("Failed to register plugin "+a+". Expected parameters `options` to be a object."),!1)},d.prototype._ready=function(a){return"string"!=typeof a?(console.error("Failed to modify status for plugin "+a+". Expected parameter `pluginName` to be a string."),!1):(0,o.isUndefined)(this.plugins[a])?(console.error("Failed to modify status for plugin "+a+". The plugin was not properly registered."),!1):(this.plugins[a].status="ready",!0)},d.prototype._reloaded=function(a){return"string"!=typeof a?(console.error("Failed to reload Content Analysis for "+a+". Expected parameter `pluginName` to be a string."),!1):(0,o.isUndefined)(this.plugins[a])?(console.error("Failed to reload Content Analysis for plugin "+a+". The plugin was not properly registered."),!1):(this.app.refresh(),!0)},d.prototype._registerModification=function(a,e,t,i){if("string"!=typeof a)return console.error("Failed to register modification for plugin "+t+". Expected parameter `modification` to be a string."),!1;if("function"!=typeof e)return console.error("Failed to register modification for plugin "+t+". Expected parameter `callable` to be a function."),!1;if("string"!=typeof t)return console.error("Failed to register modification for plugin "+t+". Expected parameter `pluginName` to be a string."),!1;if(!1===this._validateOrigin(t))return console.error("Failed to register modification for plugin "+t+". The integration has not finished loading yet."),!1;var n="number"==typeof i?i:10,r={callable:e,origin:t,priority:n};return(0,o.isUndefined)(this.modifications[a])&&(this.modifications[a]=[]),this.modifications[a].push(r),!0},d.prototype._registerTest=function(){console.error("This function is deprecated, please use _registerAssessment")},d.prototype._registerAssessment=function(a,e,t,i){if(!(0,o.isString)(e))throw new s.default("Failed to register test for plugin "+i+". Expected parameter `name` to be a string.");if(!(0,o.isObject)(t))throw new s.default("Failed to register assessment for plugin "+i+". Expected parameter `assessment` to be a function.");if(!(0,o.isString)(i))throw new s.default("Failed to register assessment for plugin "+i+". Expected parameter `pluginName` to be a string.");return e=i+"-"+e,a.addAssessment(e,t),!0},d.prototype._pollLoadingPlugins=function(a){a=(0,o.isUndefined)(a)?0:a,!0===this._allReady()?(this.loaded=!0,this.app.pluginsLoaded()):a>=this.preloadThreshold?this._pollTimeExceeded():(a+=50,setTimeout(this._pollLoadingPlugins.bind(this,a),50))},d.prototype._allReady=function(){return(0,o.reduce)(this.plugins,function(a,e){return a&&"ready"===e.status},!0)},d.prototype._pollTimeExceeded=function(){(0,o.forEach)(this.plugins,function(a,e){(0,o.isUndefined)(a.options)||"ready"===a.options.status||(console.error("Error: Plugin "+e+". did not finish loading in time."),delete this.plugins[e])}),this.loaded=!0,this.app.pluginsLoaded()},d.prototype._applyModifications=function(a,e,t){var i=this.modifications[a];return i instanceof Array&&i.length>0&&(i=this._stripIllegalModifications(i),i.sort(function(a,e){return a.priority-e.priority}),(0,o.forEach)(i,function(i){var o=i.callable,r=o(e,t);(void 0===r?"undefined":n(r))===(void 0===e?"undefined":n(e))?e=r:console.error("Modification with name "+a+" performed by plugin with name "+i.origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")})),e},d.prototype._addPluginTests=function(a){this.customTests.map(function(e){this._addPluginTest(a,e)},this)},d.prototype._addPluginTest=function(a,e){a.addAnalysis({name:e.name,callable:e.analysis}),a.analyzeScorer.addScoring({name:e.name,scoring:e.scoring})},d.prototype._stripIllegalModifications=function(a){return(0,o.forEach)(a,function(e,t){!1===this._validateOrigin(e.origin)&&delete a[t]}.bind(this)),a},d.prototype._validateOrigin=function(a){return"ready"===this.plugins[a].status},d.prototype._validateUniqueness=function(a){return!!(0,o.isUndefined)(this.plugins[a])},e.default=d},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a){return this.data[a]}function o(a,e){this.element.input[a].value=e,this.data[a]=e}function r(a){return a.indexOf("/")===a.length-1}function s(){var a=document.createElement("progress");return!(0,p.isUndefined)(a.max)}function d(a){var e;switch(!0){case a>0&&a<=399:case a>600:e="ok";break;case a>=400&&a<=600:e="good";break;default:e="bad"}return e}function c(a){var e;switch(!0){case a>0&&a<120:case a>P:e="ok";break;case a>=120&&a<=P:e="good";break;default:e="bad"}return e}function l(a,e,t,i){var n,o,r=["snippet-editor__progress--bad","snippet-editor__progress--ok","snippet-editor__progress--good"];a.value=e,q.default.removeClasses(a,r),q.default.addClass(a,"snippet-editor__progress--"+i),this.hasProgressSupport||(n=a.getElementsByClassName("snippet-editor__progress-bar")[0],o=e/t*100,n.style.width=o+"%")}function u(){var a=this.data.title;return(0,p.isEmpty)(a)&&(a=this.opts.defaultValue.title),this.hasPluggable()&&(a=this.refObj.pluggable._applyModifications("data_page_title",a)),(0,y.default)(a)}Object.defineProperty(e,"__esModule",{value:!0});var p=t(1),z=t(1e3),m=i(z),g=t(199),w=t(108),y=i(w),f=t(821),b=i(f),h=t(996),v=i(h),k=t(1489),j=i(k),_=t(1813),x=i(_),O=t(1490),q=i(O),E=t(997),A=i(E),S=j.default.snippetEditor,M=j.default.hiddenSpan,T={data:{title:"",metaDesc:"",urlPath:"",titleWidth:0,metaHeight:0},placeholder:{title:"This is an example title - edit by clicking here",metaDesc:"Modify your meta description by editing it right here",urlPath:"example-post/"},defaultValue:{title:"",metaDesc:""},baseURL:"http://example.com/",callbacks:{saveSnippetData:function(){}},addTrailingSlash:!0,metaDescriptionDate:"",previewMode:"desktop"},P=A.default.maxMeta,C=[{preview:"title_container",inputField:"title"},{preview:"url_container",inputField:"urlPath"},{preview:"meta_container",inputField:"metaDesc"}],R=function(){var a=this.opts.baseURL;return this.hasApp()&&!(0,p.isEmpty)(this.refObj.rawData.baseUrl)&&this.opts.baseURL===T.baseURL&&(a=this.refObj.rawData.baseUrl),a},D=function(a){if((0,p.defaultsDeep)(a,T),this.data=a.data,(0,p.isUndefined)(a.analyzerApp)||(this.refObj=a.analyzerApp,this.i18n=this.refObj.i18n,this.data={title:this.refObj.rawData.snippetTitle||"",urlPath:this.refObj.rawData.snippetCite||"",metaDesc:this.refObj.rawData.snippetMeta||""},(0,p.isEmpty)(this.refObj.rawData.metaTitle)||(a.placeholder.title=this.refObj.rawData.metaTitle)),(0,p.isUndefined)(a.i18n)||(this.i18n=a.i18n),!(0,p.isElement)(a.targetElement))throw new Error("The snippet preview requires a valid target element");this.opts=a,this._currentFocus=null,this._currentHover=null,this.unformattedText={},Object.defineProperty(this.unformattedText,"snippet_cite",{get:n.bind(this,"urlPath"),set:o.bind(this,"urlPath")}),Object.defineProperty(this.unformattedText,"snippet_meta",{get:n.bind(this,"metaDesc"),set:o.bind(this,"metaDesc")}),Object.defineProperty(this.unformattedText,"snippet_title",{get:n.bind(this,"title"),set:o.bind(this,"title")})};D.prototype.renderTemplate=function(){var a=this.opts.targetElement;a.innerHTML=S({raw:{title:this.data.title,snippetCite:this.data.urlPath,meta:this.data.metaDesc},rendered:{title:this.formatTitle(),baseUrl:this.formatUrl(),snippetCite:this.formatCite(),meta:this.formatMeta()},metaDescriptionDate:this.opts.metaDescriptionDate,placeholder:this.opts.placeholder,i18n:{edit:this.i18n.dgettext("js-text-analysis","Edit snippet"),title:this.i18n.dgettext("js-text-analysis","SEO title"),slug:this.i18n.dgettext("js-text-analysis","Slug"),metaDescription:this.i18n.dgettext("js-text-analysis","Meta description"),save:this.i18n.dgettext("js-text-analysis","Close snippet editor"),snippetPreview:this.i18n.dgettext("js-text-analysis","Snippet preview"),titleLabel:this.i18n.dgettext("js-text-analysis","SEO title preview:"),slugLabel:this.i18n.dgettext("js-text-analysis","Slug preview:"),metaDescriptionLabel:this.i18n.dgettext("js-text-analysis","Meta description preview:"),snippetPreviewDescription:this.i18n.dgettext("js-text-analysis","You can click on each element in the preview to jump to the Snippet Editor."),desktopPreviewMode:this.i18n.dgettext("js-text-analysis","Desktop preview"),mobilePreviewMode:this.i18n.dgettext("js-text-analysis","Mobile preview"),isScrollableHint:this.i18n.dgettext("js-text-analysis","Scroll to see the preview content.")}}),this.element={measurers:{metaHeight:null},rendered:{title:document.getElementById("snippet_title"),urlBase:document.getElementById("snippet_citeBase"),urlPath:document.getElementById("snippet_cite"),metaDesc:document.getElementById("snippet_meta")},input:{title:a.getElementsByClassName("js-snippet-editor-title")[0],urlPath:a.getElementsByClassName("js-snippet-editor-slug")[0],metaDesc:a.getElementsByClassName("js-snippet-editor-meta-description")[0]},progress:{title:a.getElementsByClassName("snippet-editor__progress-title")[0],metaDesc:a.getElementsByClassName("snippet-editor__progress-meta-description")[0]},container:document.getElementById("snippet_preview"),formContainer:a.getElementsByClassName("snippet-editor__form")[0],editToggle:a.getElementsByClassName("snippet-editor__edit-button")[0],closeEditor:a.getElementsByClassName("snippet-editor__submit")[0],formFields:a.getElementsByClassName("snippet-editor__form-field")},this.element.label={title:this.element.input.title.parentNode,urlPath:this.element.input.urlPath.parentNode,metaDesc:this.element.input.metaDesc.parentNode},this.element.preview={title:this.element.rendered.title.parentNode,urlPath:this.element.rendered.urlPath.parentNode,metaDesc:this.element.rendered.metaDesc.parentNode},this.hasProgressSupport=s(),this.hasProgressSupport?(this.element.progress.title.max=600,this.element.progress.metaDesc.max=P):(0,p.forEach)(this.element.progress,function(a){q.default.addClass(a,"snippet-editor__progress--fallback")}),this.initPreviewToggler(),this.setInitialView(),this.opened=!1,this.createMeasurementElements(),this.updateProgressBars()},D.prototype.initPreviewToggler=function(){this.snippetPreviewToggle=new x.default(this.opts.previewMode,this.opts.targetElement.getElementsByClassName("snippet-editor__view-icon")),this.snippetPreviewToggle.initialize(),this.snippetPreviewToggle.bindEvents()},D.prototype.refresh=function(){this.output=this.htmlOutput(),this.renderOutput(),this.renderSnippetStyle(),this.measureTitle(),this.measureMetaDescription(),this.updateProgressBars()};var B=function(){var a=this.data.metaDesc;return(0,p.isEmpty)(a)&&(a=this.opts.defaultValue.metaDesc),this.hasPluggable()&&(a=this.refObj.pluggable._applyModifications("data_meta_desc",a)),(0,p.isEmpty)(this.opts.metaDescriptionDate)||(0,p.isEmpty)(a)||(a=this.opts.metaDescriptionDate+" - "+this.data.metaDesc),(0,y.default)(a)};D.prototype.getAnalyzerData=function(){return{title:u.call(this),url:this.data.urlPath,metaDesc:B.call(this)}},D.prototype.callRegisteredEventBinder=function(){this.hasApp()&&this.refObj.callbacks.bindElementEvents(this.refObj)},D.prototype.init=function(){this.hasApp()&&null!==this.refObj.rawData.metaTitle&&null!==this.refObj.rawData.cite&&this.refresh()},D.prototype.htmlOutput=function(){var a={};return a.title=this.formatTitle(),a.cite=this.formatCite(),a.meta=this.formatMeta(),a.url=this.formatUrl(),a},D.prototype.formatTitle=function(){var a=this.data.title;return(0,p.isEmpty)(a)&&(a=this.opts.defaultValue.title),(0,p.isEmpty)(a)&&(a=this.opts.placeholder.title),this.hasPluggable()&&this.refObj.pluggable.loaded&&(a=this.refObj.pluggable._applyModifications("data_page_title",a)),a=(0,g.stripFullTags)(a),(0,p.isEmpty)(a)&&(a=this.i18n.dgettext("js-text-analysis","Please provide an SEO title by editing the snippet below.")),a},D.prototype.formatUrl=function(){return R.call(this).replace(/http:\/\//gi,"")},D.prototype.formatCite=function(){var a=this.data.urlPath;return a=(0,b.default)((0,g.stripFullTags)(a)),(0,p.isEmpty)(a)&&(a=this.opts.placeholder.urlPath),this.hasApp()&&!(0,p.isEmpty)(this.refObj.rawData.keyword)&&(a=this.formatKeywordUrl(a)),this.opts.addTrailingSlash&&!r(a)&&(a+="/"),a=a.replace(/\s/g,"-"),a=a.replace(/\?|#/g,"")},D.prototype.formatMeta=function(){var a=this.data.metaDesc;return(0,p.isEmpty)(a)&&(a=this.getMetaText()),this.hasPluggable()&&this.refObj.pluggable.loaded&&(a=this.refObj.pluggable._applyModifications("data_meta_desc",a)),a=(0,g.stripFullTags)(a),a=a.substring(0,P),this.hasApp()&&!(0,p.isEmpty)(this.refObj.rawData.keyword)&&(a=this.formatKeyword(a)),(0,p.isEmpty)(a)&&(a=this.i18n.dgettext("js-text-analysis","Please provide a meta description by editing the snippet below.")),a},D.prototype.getMetaText=function(){var a=this.opts.defaultValue.metaDesc;return this.hasApp()&&!(0,p.isUndefined)(this.refObj.rawData.excerpt)&&(0,p.isEmpty)(a)&&(a=this.refObj.rawData.excerpt),this.hasApp()&&!(0,p.isUndefined)(this.refObj.rawData.text)&&(0,p.isEmpty)(a)&&(a=this.refObj.rawData.text,this.hasPluggable()&&this.refObj.pluggable.loaded&&(a=this.refObj.pluggable._applyModifications("content",a))),a=(0,g.stripFullTags)(a),a.substring(0,P)},D.prototype.getIndexMatches=function(){for(var a=[],e=0,t=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,e);t>-1;)a.push(t),e=t+this.refObj.rawData.keyword.length,t=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,e);return a},D.prototype.getPeriodMatches=function(){for(var a,e=[0],t=0;(a=this.refObj.rawData.text.indexOf(".",t))>-1;)e.push(a),t=a+1;return e},D.prototype.formatKeyword=function(a){var e=this.refObj.rawData.keyword,t=(0,m.default)(e,"",!1);a=a.replace(t,function(a){return"<strong>"+a+"</strong>"});var i=(0,v.default)(e,this.refObj.rawData.locale);return i!==e&&(t=(0,m.default)(i,"",!1),a=a.replace(t,function(a){return"<strong>"+a+"</strong>"})),a},D.prototype.formatKeywordUrl=function(a){var e=this.refObj.rawData.keyword;e=(0,v.default)(e,this.refObj.rawData.locale),e=e.replace(/'/,"");var t=e.replace(/\s/g,"-"),i=(0,m.default)(t,"\\-");return a.replace(i,function(a){return"<strong>"+a+"</strong>"})},D.prototype.renderOutput=function(){this.element.rendered.title.innerHTML=this.output.title,this.element.rendered.urlPath.innerHTML=this.output.cite,this.element.rendered.urlBase.innerHTML=this.output.url,this.element.rendered.metaDesc.innerHTML=this.output.meta},D.prototype.renderSnippetStyle=function(){var a=this.element.rendered.metaDesc,e=B.call(this);(0,p.isEmpty)(e)?(q.default.addClass(a,"desc-render"),q.default.removeClass(a,"desc-default")):(q.default.addClass(a,"desc-default"),q.default.removeClass(a,"desc-render"))},D.prototype.reRender=function(){this.init()},D.prototype.checkTextLength=function(a){var e=a.currentTarget.textContent;switch(a.currentTarget.id){case"snippet_meta":a.currentTarget.className="desc",e.length>P&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=a.currentTarget.textContent,a.currentTarget.textContent=e.substring(0,P));break;case"snippet_title":a.currentTarget.className="title",e.length>600&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=a.currentTarget.textContent,a.currentTarget.textContent=e.substring(0,600))}},D.prototype.getUnformattedText=function(a){var e=a.currentTarget.id;void 0!==this.unformattedText[e]&&(a.currentTarget.textContent=this.unformattedText[e])},D.prototype.setUnformattedText=function(a){var e=a.currentTarget.id;this.unformattedText[e]=document.getElementById(e).textContent},D.prototype.validateFields=function(){var a=B.call(this),e=u.call(this);a.length>P?q.default.addClass(this.element.input.metaDesc,"snippet-editor__field--invalid"):q.default.removeClass(this.element.input.metaDesc,"snippet-editor__field--invalid"),e.length>600?q.default.addClass(this.element.input.title,"snippet-editor__field--invalid"):q.default.removeClass(this.element.input.title,"snippet-editor__field--invalid")},D.prototype.updateProgressBars=function(){var a,e,t;t=B.call(this),e=d(this.data.titleWidth),a=c(t.length),l.call(this,this.element.progress.title,this.data.titleWidth,600,e),l.call(this,this.element.progress.metaDesc,t.length,P,a)},D.prototype.setInitialView=function(){var a=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setVisibility(a)},D.prototype.handleWindowResizing=(0,p.debounce)(function(){var a=document.getElementById("snippet_preview").getBoundingClientRect().width;this.snippetPreviewToggle.setScrollHintVisibility(a)},25),D.prototype.bindEvents=function(){var a,e=["title","slug","meta-description"];(0,p.forEach)(e,function(e){a=document.getElementsByClassName("js-snippet-editor-"+e)[0],a.addEventListener("keydown",this.changedInput.bind(this)),a.addEventListener("keyup",this.changedInput.bind(this)),a.addEventListener("input",this.changedInput.bind(this)),a.addEventListener("focus",this.changedInput.bind(this)),a.addEventListener("blur",this.changedInput.bind(this))}.bind(this)),this.element.editToggle.addEventListener("click",this.toggleEditor.bind(this)),this.element.closeEditor.addEventListener("click",this.closeEditor.bind(this)),window.addEventListener("resize",this.handleWindowResizing.bind(this)),(0,p.forEach)(C,function(a){var e=document.getElementById(a.preview),t=this.element.input[a.inputField];e.addEventListener("click",function(){this.openEditor(),t.focus()}.bind(this)),t.addEventListener("focus",function(){this._currentFocus=a.inputField,this._updateFocusCarets()}.bind(this)),t.addEventListener("blur",function(){this._currentFocus=null,this._updateFocusCarets()}.bind(this)),e.addEventListener("mouseover",function(){this._currentHover=a.inputField,this._updateHoverCarets()}.bind(this)),e.addEventListener("mouseout",function(){this._currentHover=null,this._updateHoverCarets()}.bind(this))}.bind(this))},D.prototype.changedInput=(0,p.debounce)(function(){this.updateDataFromDOM(),this.validateFields(),this.updateProgressBars(),this.refresh(),this.hasApp()&&this.refObj.refresh()},25),D.prototype.updateDataFromDOM=function(){this.data.title=this.element.input.title.value,this.data.urlPath=this.element.input.urlPath.value,this.data.metaDesc=this.element.input.metaDesc.value,this.opts.callbacks.saveSnippetData((0,p.clone)(this.data))},D.prototype.openEditor=function(){this.element.editToggle.setAttribute("aria-expanded","true"),q.default.removeClass(this.element.formContainer,"snippet-editor--hidden"),this.opened=!0},D.prototype.closeEditor=function(){q.default.addClass(this.element.formContainer,"snippet-editor--hidden"),this.element.editToggle.setAttribute("aria-expanded","false"),this.element.editToggle.focus(),this.opened=!1},D.prototype.toggleEditor=function(){this.opened?this.closeEditor():this.openEditor()},D.prototype._updateFocusCarets=function(){var a,e;(0,p.forEach)(this.element.label,function(a){q.default.removeClass(a,"snippet-editor__label--focus")}),(0,p.forEach)(this.element.preview,function(a){q.default.removeClass(a,"snippet-editor__container--focus")}),null!==this._currentFocus&&(a=this.element.label[this._currentFocus],e=this.element.preview[this._currentFocus],q.default.addClass(a,"snippet-editor__label--focus"),q.default.addClass(e,"snippet-editor__container--focus"))},D.prototype._updateHoverCarets=function(){var a;(0,p.forEach)(this.element.label,function(a){q.default.removeClass(a,"snippet-editor__label--hover")}),null!==this._currentHover&&(a=this.element.label[this._currentHover],q.default.addClass(a,"snippet-editor__label--hover"))},D.prototype.setTitle=function(a){this.element.input.title.value=a,this.changedInput()},D.prototype.setUrlPath=function(a){this.element.input.urlPath.value=a,this.changedInput()},D.prototype.setMetaDescription=function(a){this.element.input.metaDesc.value=a,this.changedInput()},D.prototype.createMeasurementElements=function(){var a,e;a=M({width:document.getElementById("meta_container").offsetWidth+"px",whiteSpace:""}),e=document.createElement("div"),e.className="yoast-measurement-elements-holder",e.innerHTML=a,document.body.appendChild(e),this.element.measurers.metaHeight=e.childNodes[0]},D.prototype.measureTitle=function(){0===this.element.rendered.title.offsetWidth&&""!==this.element.rendered.title.textContent||(this.data.titleWidth=this.element.rendered.title.offsetWidth)},D.prototype.measureMetaDescription=function(){var a=this.element.measurers.metaHeight;a.innerHTML=this.element.rendered.metaDesc.innerHTML,this.data.metaHeight=a.offsetHeight},D.prototype.getTitleWidth=function(){return this.data.titleWidth},D.prototype.setTitleWidth=function(a){this.data.titleWidth=a},D.prototype.hasApp=function(){return!(0,p.isUndefined)(this.refObj)},D.prototype.hasPluggable=function(){return!(0,p.isUndefined)(this.refObj)&&!(0,p.isUndefined)(this.refObj.pluggable)},D.prototype.disableEnter=function(a){},D.prototype.textFeedback=function(a){},D.prototype.showEditIcon=function(a){},D.prototype.hideEditIcon=function(){},D.prototype.setFocus=function(a){},e.default=D},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.seo=e.readability=void 0;var n=t(1359),o=i(n),r=t(1360),s=i(r),d=t(1362),c=i(d),l=t(1363),u=i(l),p=t(1634),z=i(p),m=t(1364),g=i(m),w=t(1365),y=i(w),f=t(1366),b=i(f),h=t(1367),v=i(h),k=t(1635),j=i(k),_=t(1368),x=i(_),O=t(1024),q=i(O),E=t(1025),A=i(E),S=t(1026),M=i(S),T=t(1027),P=i(T),C=t(1437),R=i(C),D=t(1028),B=i(D),F=t(819),I=i(F),L=t(1370),$=i(L),U=t(820),W=i(U),N=t(1371),K=i(N),H=t(1438),V=i(H),Y=t(1372),G=i(Y),Z=t(1373),J=i(Z),X=t(1374),Q=i(X),aa=t(1029),ea=i(aa),ta=t(1030),ia=i(ta),na=t(1031),oa=i(na),ra=t(1032),sa=i(ra),da={FleschReadingEaseAssessment:o.default,ParagraphTooLongAssessment:s.default,PassiveVoiceAssessment:c.default,SentenceBeginningsAssessment:u.default,SentenceLengthInDescriptionAssessment:z.default,SentenceLengthInTextAssessment:g.default,SubheadingDistributionTooLongAssessment:y.default,TextPresenceAssessment:b.default,TransitionWordsAssessment:v.default,WordComplexityAssessment:j.default},ca={InternalLinksAssessment:x.default,IntroductionKeywordAssessment:q.default,KeyphraseLengthAssessment:A.default,KeywordDensityAssessment:M.default,KeywordStopWordsAssessment:P.default,LargestKeywordDistanceAssessment:R.default,MetaDescriptionKeywordAssessment:B.default,MetaDescriptionLengthAssessment:I.default,OutboundLinksAssessment:$.default,PageTitleWidthAssessment:W.default,SubheadingsKeywordAssessment:K.default,TaxonomyTextLengthAssessment:V.default,TextCompetingLinksAssessment:G.default,TextImagesAssessment:J.default,TextLengthAssessment:Q.default,TitleKeywordAssessment:ea.default,UrlKeywordAssessment:ia.default,UrlLengthAssessment:oa.default,UrlStopWordsAssessment:sa.default};e.readability=da,e.seo=ca},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e){return(0,i.filter)(a,function(a){return(0,o.default)(e,a.sentenceLength)})};var i=t(1),n=t(1361),o=function(a){return a&&a.__esModule?a:{default:a}}(n)},function(a,e,t){"use strict";function i(a){for(var e,t=[],i=/<h([1-6])(?:[^>]+)?>(.*?)<\/h\1>/gi;null!==(e=i.exec(a));)t.push(e);return t}function n(a){var e=i(a);return e=(0,o.map)(e,function(a){return a[0]})}Object.defineProperty(e,"__esModule",{value:!0}),e.getSubheadingContents=e.getSubheadings=void 0;var o=t(1);e.getSubheadings=i,e.getSubheadingContents=n,e.default={getSubheadings:i,getSubheadingContents:n}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return a=a.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?>/g,""),a=(0,n.default)(a)};var i=t(108),n=function(a){return a&&a.__esModule?a:{default:a}}(i)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(a){return a.replace(/&nbsp;/g," ")},n=function(a){return a.replace(/\s/g," ")},o=function(a){return a=i(a),n(a)};e.unifyNonBreakingSpace=i,e.unifyWhiteSpace=n,e.unifyAllSpaces=o,e.default={unifyNonBreakingSpace:i,unifyWhiteSpace:n,unifyAllSpaces:o}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a,e,t){var i=m(e);if("tr_TR"===t){var o=(0,z.replaceTurkishIsMemoized)(e);i=new RegExp(o.map(function(a){return(0,r.default)(a)}).join("|"),"ig")}var s=a.match(i)||[];a=a.replace(i,"");var c=(0,l.default)(e,t),u=m(c),g=a.match(u)||[],w=s.concat(g),y=(0,p.default)(e,t);if(y!==c){var f=m(y),b=a.match(f)||[];w=w.concat(b)}return(0,n.map)(w,function(a){return(0,d.default)(a)})};var n=t(1),o=t(803),r=i(o),s=t(108),d=i(s),c=t(996),l=i(c),u=t(1638),p=i(u),z=t(1640),m=function(a){return a=(0,r.default)(a),new RegExp(a,"ig")}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function o(a,e){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":s(e))&&"function"!=typeof e?a:e}function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":s(e)));a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(a,e):a.__proto__=e)}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};Object.defineProperty(e,"__esModule",{value:!0});var d=function(){function a(a,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(a,i.key,i)}}return function(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}}(),c=t(1),l=t(91),u=i(l),p=t(37),z=i(p),m=t(340),g=i(m),w=t(995),y=i(w),f=t(260),b=function(a){function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),i={parameters:{overRecommendedMaximumKeywordDistance:50,recommendedMaximumKeywordDistance:40},scores:{good:9,okay:6,bad:1,consideration:0},url:"<a href='https://yoa.st/2w7' target='_blank'>"};return t.identifier="largestKeywordDistance",t._config=(0,c.merge)(i,a),t}return r(e,a),d(e,[{key:"getResult",value:function(a,e,t){this._largestKeywordDistance=e.getResearch("largestKeywordDistance"),this._hasSynonyms=a.hasSynonyms(),this._topicUsed=(0,y.default)(a).count;var i=new z.default,n=this.calculateResult(t);return i.setScore(n.score),i.setText(n.resultText),i.setHasMarks(n.score>0),i}},{key:"calculateResult",value:function(a){return this._topicUsed<2?{score:this._config.scores.consideration,resultText:a.sprintf(a.dgettext("js-text-analysis","Use your keyword or synonyms more often in your text so that we can check %1$skeyword distribution%2$s."),this._config.url,"</a>")}:this._largestKeywordDistance>this._config.parameters.overRecommendedMaximumKeywordDistance?{score:this._config.scores.bad,resultText:a.sprintf(a.dngettext("js-text-analysis","Large parts of your text do not contain the keyword. Try to %1$sdistribute%2$s the keyword more evenly.","Large parts of your text do not contain the keyword or its synonyms. Try to %1$sdistribute%2$s them more evenly.",this._hasSynonyms+1),this._config.url,"</a>")}:(0,f.inRangeStartEndInclusive)(this._largestKeywordDistance,this._config.parameters.recommendedMaximumKeywordDistance,this._config.parameters.overRecommendedMaximumKeywordDistance)?{score:this._config.scores.okay,resultText:a.sprintf(a.dngettext("js-text-analysis","Some parts of your text do not contain the keyword. Try to %1$sdistribute%2$s the keyword more evenly.","Some parts of your text do not contain the keyword or its synonyms. Try to %1$sdistribute%2$s them more evenly.",this._hasSynonyms+1),this._config.url,"</a>")}:{score:this._config.scores.good,resultText:a.sprintf(a.dngettext("js-text-analysis","Your keyword is %1$sdistributed%2$s evenly throughout the text. That's great.","Your keyword and its synonyms are %1$sdistributed%2$s evenly throughout the text. That's great.",this._hasSynonyms+1),this._config.url,"</a>")}}},{key:"getMarks",value:function(a){return(0,y.default)(a).markings}},{key:"isApplicable",value:function(a){return a.hasText()&&a.hasKeyword()&&(0,g.default)(a.getText())>=200}}]),e}(u.default);e.default=b},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=t(37),n=function(a){return a&&a.__esModule?a:{default:a}}(i),o=t(1),r=function(a,e){var t="<a href='https://yoa.st/2pk' target='_blank'>";return a>=150?{score:9,text:e.sprintf(e.dngettext("js-text-analysis","The text contains %1$d word.","The text contains %1$d words.",a)+" "+e.dngettext("js-text-analysis","This is more than or equal to the %2$srecommended minimum%3$s of %4$d word.","This is more than or equal to the %2$srecommended minimum%3$s of %4$d words.",150),a,t,"</a>",150)}:(0,o.inRange)(a,125,150)?{score:7,text:e.sprintf(e.dngettext("js-text-analysis","The text contains %1$d word.","The text contains %1$d words.",a)+" "+e.dngettext("js-text-analysis","This is slightly below the %2$srecommended minimum%3$s of %4$d word. Add a bit more copy.","This is slightly below the %2$srecommended minimum%3$s of %4$d words. Add a bit more copy.",150),a,t,"</a>",150)}:(0,o.inRange)(a,100,125)?{score:5,text:e.sprintf(e.dngettext("js-text-analysis","The text contains %1$d word.","The text contains %1$d words.",a)+" "+e.dngettext("js-text-analysis","This is below the %2$srecommended minimum%3$s of %4$d word. Add more content that is relevant for the topic.","This is below the %2$srecommended minimum%3$s of %4$d words. Add more content that is relevant for the topic.",150),a,t,"</a>",150)}:(0,o.inRange)(a,50,100)?{score:-10,text:e.sprintf(e.dngettext("js-text-analysis","The text contains %1$d word.","The text contains %1$d words.",a)+" "+e.dngettext("js-text-analysis","This is below the %2$srecommended minimum%3$s of %4$d word. Add more content that is relevant for the topic.","This is below the %2$srecommended minimum%3$s of %4$d words. Add more content that is relevant for the topic.",150),a,t,"</a>",150)}:(0,o.inRange)(a,0,50)?{score:-20,text:e.sprintf(e.dngettext("js-text-analysis","The text contains %1$d word.","The text contains %1$d words.",a)+" "+e.dngettext("js-text-analysis","This is far below the %2$srecommended minimum%3$s of %4$d word. Add more content that is relevant for the topic.","This is far below the %2$srecommended minimum%3$s of %4$d words. Add more content that is relevant for the topic.",150),a,t,"</a>",150)}:void 0},s=function(a,e,t){var i=e.getResearch("wordCountInText"),o=r(i,t),s=new n.default;return s.setScore(o.score),s.setText(t.sprintf(o.text,i,150)),s};e.default={identifier:"taxonomyTextLength",getResult:s}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.usedKeywords=void 0;var i=t(1644),n=function(a){return a&&a.__esModule?a:{default:a}}(i);e.usedKeywords=n.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.scoreToRating=e.measureTextWidth=void 0;var i=t(260);Object.keys(i).forEach(function(a){"default"!==a&&"__esModule"!==a&&Object.defineProperty(e,a,{enumerable:!0,get:function(){return i[a]}})});var n=t(1441),o=t(1034),r=function(a){return a&&a.__esModule?a:{default:a}}(o);e.measureTextWidth=n.measureTextWidth,e.scoreToRating=r.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){var a=document.createElement("div");return a.id="yoast-measurement-element",a.style.position="absolute",a.style.left="-9999em",a.style.top=0,a.style.height=0,a.style.overflow="hidden",a.style.fontFamily="Arial",a.style.fontSize="18px",a.style.fontWeight="400",document.body.appendChild(a),a};e.measureTextWidth=function(a){var e=document.getElementById("yoast-measurement-element");return e||(e=i()),e.innerHTML=a,e.offsetWidth}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.removeMarks=void 0;var i=t(1646),n=function(a){return a&&a.__esModule?a:{default:a}}(i);e.removeMarks=n.default},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.__createWordRegex=e.wordBoundaries=e.removeHtmlBlocks=e.relevantWords=e.imageInText=e.replaceDiacritics=e.transliterate=e.stripSpaces=e.stripHTMLTags=void 0;var n=t(199),o=t(108),r=i(o),s=t(996),d=i(s),c=t(821),l=i(c),u=t(1376),p=i(u),z=t(1444),m=i(z),g=t(1457),w=i(g),y=t(1e3),f=i(y),b=t(1469),h=i(b);e.stripHTMLTags=n.stripFullTags,e.stripSpaces=r.default,e.transliterate=d.default,e.replaceDiacritics=l.default,e.imageInText=p.default,e.relevantWords=m.default,e.removeHtmlBlocks=w.default,e.wordBoundaries=h.default,e.__createWordRegex=f.default},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a,e,t){var i=(0,v.default)(a),n=void 0,o=void 0;return(0,A.flatMap)(i,function(a){return a=a.toLocaleLowerCase(),a=(0,_.normalize)(a),n=(0,b.default)(a),(0,A.filter)((0,A.map)(n,function(a,i){return i+e-1<n.length&&(o=n.slice(i,i+e),new j.default(o,0,t))}))})}function o(a){var e={};return(0,A.forEach)(a,function(a){var t=a.getCombination();(0,A.has)(e,t)||(e[t]=a),e[t].incrementOccurrences()}),(0,A.values)(e)}function r(a){return a=a.filter(function(a){return 1!==a.getOccurrences()&&0!==a.getRelevance()})}function s(a){a.sort(function(a,e){var t=e.getRelevance()-a.getRelevance();return 0!==t?t:e.getLength()-a.getLength()})}function d(a){return a.filter(function(a){return!(1===a.getLength()&&a.getWords()[0].length<=1)})}function c(a,e){return a.filter(function(a){return(0,A.isEmpty)((0,A.intersection)(e,a.getWords()))})}function l(a,e){return a.filter(function(a){return!(0,A.includes)(e,a.getWords()[0])})}function u(a,e){return a.filter(function(a){var t=a.getWords(),i=t.length-1;return!(0,A.includes)(e,t[i])})}function p(a,e){return a=l(a,e),a=u(a,e)}function z(a,e,t,i){return a.filter(function(a){return a.getDensity(e)>=t&&a.getDensity(e)<i})}function m(a,e,t){return a=a.filter(function(a){for(var i=a.getCombination(),n=0;n<t.length;n++)if(i.endsWith(t[n]))return!0;return!i.endsWith(e)})}function g(a,e){return a=c(a,e.filteredAnywhere),a=p(a,e.filteredAtBeginningAndEnding),a=u(a,e.filteredAtEnding),a=l(a,e.filteredAtBeginning)}function w(a,e,t){return a=c(a,R),a=d(a),a=g(a,e),"en"===t&&(a=m(a,"'s",[])),a}function y(a,e){var t=(0,E.default)(e);S.hasOwnProperty(t)||(t="en");var i=S[t],d=n(a,1,i.all),c=d.length,l=r(o(d));s(l),l=(0,A.take)(l,100);var u={};(0,A.forEach)(l,function(a){u[a.getCombination()]=a.getRelevance(i)});var p=o(n(a,2,i.all)),m=o(n(a,3,i.all)),g=o(n(a,4,i.all)),y=o(n(a,5,i.all)),f=l.concat(p,m,g,y);return f=w(f,i,t),(0,A.forEach)(f,function(a){a.setRelevantWords(u)}),f=r(f),s(f),c>=C&&(f=z(f,c,M,T)),(0,A.take)(f,P)}Object.defineProperty(e,"__esModule",{value:!0}),e.filterEndingWith=e.filterOneCharacterWordCombinations=e.filterOnDensity=e.filterFunctionWordsAnywhere=e.filterFunctionWords=e.filterFunctionWordsAtBeginning=e.filterFunctionWordsAtEnding=e.sortCombinations=e.getRelevantCombinations=e.calculateOccurrences=e.getRelevantWords=e.getWordCombinations=void 0;var f=t(332),b=i(f),h=t(443),v=i(h),k=t(1445),j=i(k),_=t(818),x=t(1648),O=i(x),q=t(259),E=i(q),A=t(1),S=(0,O.default)(),M=0,T=.03,P=100,C=200,R=["–","—","-","©","#","%","/","\\","$","€","£","*","•","|","→","←","}","{","//","||","​"];e.getWordCombinations=n,e.getRelevantWords=y,e.calculateOccurrences=o,e.getRelevantCombinations=r,e.sortCombinations=s,e.filterFunctionWordsAtEnding=u,e.filterFunctionWordsAtBeginning=l,e.filterFunctionWords=g,e.filterFunctionWordsAnywhere=c,e.filterOnDensity=z,e.filterOneCharacterWordCombinations=d,e.filterEndingWith=m,e.default={getWordCombinations:n,getRelevantWords:y,calculateOccurrences:o,getRelevantCombinations:r,sortCombinations:s,filterFunctionWordsAtEnding:u,filterFunctionWordsAtBeginning:l,filterFunctionWords:p,filterFunctionWordsAnywhere:c,filterOnDensity:z,filterOneCharacterWordCombinations:d,filterEndingWith:m}},function(a,e,t){"use strict";function i(a,e){return-1!==e.indexOf(a.toLocaleLowerCase())}function n(a,e,t){this._words=a,this._length=a.length,this._occurrences=e||0,this._functionWords=t}Object.defineProperty(e,"__esModule",{value:!0});var o=t(1);n.lengthBonus={2:3,3:7,4:12,5:18},n.prototype.getLengthBonus=function(){return(0,o.has)(n.lengthBonus,this._length)?n.lengthBonus[this._length]:0},n.prototype.getWords=function(){return this._words},n.prototype.getLength=function(){return this._length},n.prototype.getCombination=function(){return this._words.join(" ")},n.prototype.getOccurrences=function(){return this._occurrences},n.prototype.incrementOccurrences=function(){this._occurrences+=1},n.prototype.getMultiplier=function(a){return 1+a*this.getLengthBonus()},n.prototype.isRelevantWord=function(a){return(0,o.has)(this._relevantWords,a)},n.prototype.getRelevantWordPercentage=function(){var a=0,e=1;return this._length>1&&((0,o.forEach)(this._words,function(e){this.isRelevantWord(e)&&(a+=1)}.bind(this)),e=a/this._length),e},n.prototype.getRelevance=function(){if(1===this._words.length&&i(this._words[0],this._functionWords))return 0;var a=this.getRelevantWordPercentage();return 0===a?0:this.getMultiplier(a)*this._occurrences},n.prototype.setRelevantWords=function(a){this._relevantWords=a},n.prototype.getDensity=function(a){return this._occurrences/a},n.prototype.serialize=function(){return{_parseClass:"WordCombination",words:this._words,occurrences:this._occurrences,functionWords:this._functionWords,relevantWords:this._relevantWords}},n.parse=function(a){var e=new n(a.words,a.occurrences,a.functionWords);return e.setRelevantWords(a.relevantWords),e},e.default=n},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["aber","abschließend","abschliessend","alldieweil","allerdings","also","anderenteils","andererseits","andernteils","anfaenglich","anfänglich","anfangs","angenommen","anschliessend","anschließend","aufgrund","ausgenommen","ausserdem","außerdem","beispielsweise","bevor","beziehungsweise","bspw","bzw","d.h","da","dabei","dadurch","dafuer","dafür","dagegen","daher","dahingegen","danach","dann","darauf","darum","dass","davor","dazu","dementgegen","dementsprechend","demgegenüber","demgegenueber","demgemaess","demgemäß","demzufolge","denn","dennoch","dergestalt","desto","deshalb","desungeachtet","deswegen","doch","dort","drittens","ebenfalls","ebenso","endlich","ehe","einerseits","einesteils","entsprechend","entweder","erst","erstens","falls","ferner","folgerichtig","folglich","fürderhin","fuerderhin","genauso","hierdurch","hierzu","hingegen","immerhin","indem","indes","indessen","infolge","infolgedessen","insofern","insoweit","inzwischen","jedenfalls","jedoch","kurzum","m.a.w","mitnichten","mitunter","möglicherweise","moeglicherweise","nachdem","nebenher","nichtsdestotrotz","nichtsdestoweniger","ob","obenrein","obgleich","obschon","obwohl","obzwar","ohnehin","richtigerweise","schliesslich","schließlich","seit","seitdem","sobald","sodass","so dass","sofern","sogar","solang","solange","somit","sondern","sooft","soviel","soweit","sowie","sowohl","statt","stattdessen","trotz","trotzdem","überdies","übrigens","ueberdies","uebrigens","ungeachtet","vielmehr","vorausgesetzt","vorher","waehrend","während","währenddessen","waehrenddessen","weder","wegen","weil","weiter","weiterhin","wenn","wenngleich","wennschon","wennzwar","weshalb","widrigenfalls","wiewohl","wobei","wohingegen","z.b","zudem","zuerst","zufolge","zuletzt","zumal","zuvor","zwar","zweitens"],n=["abgesehen von","abgesehen davon","als dass","als wenn","anders ausgedrückt","anders ausgedrueckt","anders formuliert","anders gefasst","anders gefragt","anders gesagt","anders gesprochen","anstatt dass","auch wenn","auf grund","auf jeden fall","aus diesem grund","ausser dass","außer dass","ausser wenn","außer wenn","besser ausgedrückt","besser ausgedrueckt","besser formuliert","besser gesagt","besser gesprochen","bloss dass","bloß dass","das heisst","das heißt","des weiteren","dessen ungeachtet","ebenso wie","genauso wie","geschweige denn","im fall","im falle","im folgenden","im gegensatz dazu","im grunde genommen","in diesem sinne","je nachdem","kurz gesagt","mit anderen worten","ohne dass","so dass","umso mehr als","umso weniger als","umso mehr, als","umso weniger, als","unbeschadet dessen","und zwar","ungeachtet dessen","unter dem strich","zum beispiel"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAuxiliaries:i,notFilteredAuxiliaries:n,all:i.concat(n)}};var i=["am","is","are","was","were","been","get","gets","got","gotten","be","she's","he's","it's","i'm","we're","they're","you're","isn't","weren't","wasn't","that's","aren't"],n=["being","getting","having","what's"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["accordingly","additionally","afterward","afterwards","albeit","also","although","altogether","another","basically","because","before","besides","but","certainly","chiefly","comparatively","concurrently","consequently","contrarily","conversely","correspondingly","despite","doubtedly","during","e.g.","earlier","emphatically","equally","especially","eventually","evidently","explicitly","finally","firstly","following","formerly","forthwith","fourthly","further","furthermore","generally","hence","henceforth","however","i.e.","identically","indeed","instead","last","lastly","later","lest","likewise","markedly","meanwhile","moreover","nevertheless","nonetheless","nor","notwithstanding","obviously","occasionally","otherwise","overall","particularly","presently","previously","rather","regardless","secondly","shortly","significantly","similarly","simultaneously","since","so","soon","specifically","still","straightaway","subsequently","surely","surprisingly","than","then","thereafter","therefore","thereupon","thirdly","though","thus","till","undeniably","undoubtedly","unless","unlike","unquestionably","until","when","whenever","whereas","while"],n=["above all","after all","after that","all in all","all of a sudden","all things considered","analogous to","although this may be true","analogous to","another key point","as a matter of fact","as a result","as an illustration","as can be seen","as has been noted","as I have noted","as I have said","as I have shown","as long as","as much as","as shown above","as soon as","as well as","at any rate","at first","at last","at least","at length","at the present time","at the same time","at this instant","at this point","at this time","balanced against","being that","by all means","by and large","by comparison","by the same token","by the time","compared to","be that as it may","coupled with","different from","due to","equally important","even if","even more","even so","even though","first thing to remember","for example","for fear that","for instance","for one thing","for that reason","for the most part","for the purpose of","for the same reason","for this purpose","for this reason","from time to time","given that","given these points","important to realize","in a word","in addition","in another case","in any case","in any event","in brief","in case","in conclusion","in contrast","in detail","in due time","in effect","in either case","in essence","in fact","in general","in light of","in like fashion","in like manner","in order that","in order to","in other words","in particular","in reality","in short","in similar fashion","in spite of","in sum","in summary","in that case","in the event that","in the final analysis","in the first place","in the fourth place","in the hope that","in the light of","in the long run","in the meantime","in the same fashion","in the same way","in the second place","in the third place","in this case","in this situation","in time","in truth","in view of","inasmuch as","most compelling evidence","most important","must be remembered","not to mention","now that","of course","on account of","on balance","on condition that","on one hand","on the condition that","on the contrary","on the negative side","on the other hand","on the positive side","on the whole","on this occasion","once","once in a while","only if","owing to","point often overlooked","prior to","provided that","seeing that","so as to","so far","so long as","so that","sooner or later","such as","summing up","take the case of","that is","that is to say","then again","this time","to be sure","to begin with","to clarify","to conclude","to demonstrate","to emphasize","to enumerate","to explain","to illustrate","to list","to point out","to put it another way","to put it differently","to repeat","to rephrase it","to say nothing of","to sum up","to summarize","to that end","to the end that","to this end","together with","under those circumstances","until now","up against","up to the present time","vis a vis","what's more","while it may be true","while this may be true","with attention to","with the result that","with this in mind","with this intention","with this purpose in mind","without a doubt","without delay","without doubt","without reservation"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{filteredAtBeginning:[].concat(j,x,q,B),filteredAtEnding:[].concat(d,F),filteredAtBeginningAndEnding:[].concat(r,E,S,u,R,z),filteredAnywhere:[].concat(o,c,l,m,I,s,k,_,O,P,D,w,M,T,b,f,v,W,A,h,L,$,U,g,p),cannotDirectlyPrecedePassiveParticiple:[].concat(r,b,s,p,m,y,O,q,E),all:[].concat(r,s,d,u,p,m,g,c,l,z,w,y,f,b,h,v,A,k,j,_,x,O,q,E,S,M,T,P,o,C,R,D,B,I,F,L,U,W,N,K)}};var i=t(1450),n=function(a){return a&&a.__esModule?a:{default:a}}(i),o=(0,n.default)().singleWords,r=["de","het","een","der","des","den"],s=["eén","één","twee","drie","vier","vijf","zes","zeven","acht","negen","tien","elf","twaalf","dertien","veertien","vijftien","zestien","zeventien","achttien","negentien","twintig","honderd","honderden","duizend","duizenden","miljoen","miljoenen","biljoen","biljoenen"],d=["eerste","tweede","derde","vierde","vijfde","zesde","zevende","achtste","negende","tiende","elfde","twaalfde","dertiende","veertiende","vijftiende","zestiende","zeventiende","achttiende","negentiende","twinstigste"],c=["ik","je","jij","hij","ze","we","wij","jullie","zij","u","ge","gij","men"],l=["mij","jou","hem","haar","hen","hun","uw"],u=["dit","dat","deze","die","zelf"],p=["mijn","mijne","jouw","jouwe","zijne","hare","ons","onze","hunne","uwe","elkaars","elkanders"],z=["alle","sommige","sommigen","weinig","weinige","weinigen","veel","vele","velen","geen","beetje","elke","elk","genoeg","meer","meest","meeste","meesten","paar","zoveel","enkele","enkelen","zoveelste","hoeveelste","laatste","laatsten","iedere","allemaal","zekere","ander","andere","gene","enig","enige","verscheidene","verschillende","voldoende","allerlei","allerhande","enerlei","enerhande","beiderlei","beiderhande","tweeërlei","tweeërhande","drieërlei","drieërhande","velerlei","velerhande","menigerlei","menigerhande","enigerlei","enigerhande","generlei","generhande"],m=["mezelf","mijzelf","jezelf","jouzelf","zichzelf","haarzelf","hemzelf","onszelf","julliezelf","henzelf","hunzelf","uzelf","zich"],g=["mekaar","elkaar","elkander","mekander"],w=["iedereen","ieder","eenieder","alleman","allen","alles","iemand","niemand","iets","niets","menigeen"],y=["ieders","aller","iedereens","eenieders"],f=["welke","welk","wat","wie","wiens","wier"],b=["hoe","waarom","waar","hoezo","hoeveel"],h=["daaraan","daarachter","daaraf","daarbij","daarbinnen","daarboven","daarbuiten","daardoorheen","daarheen","daarin","daarjegens","daarmede","daarnaar","daarnaartoe","daaromtrent","daaronder","daarop","daarover","daaroverheen","daarrond","daartegen","daartussen","daartussenuit","daaruit","daarvan","daarvandaan","eraan","erachter","erachteraan","eraf","erbij","erbinnen","erboven","erbuiten","erdoor","erdoorheen","erheen","erin","erjegens","ermede","ermee","erna","ernaar","ernaartoe","ernaast","erom","eromtrent","eronder","eronderdoor","erop","eropaf","eropuit","erover","eroverheen","errond","ertegen","ertegenaan","ertoe","ertussen","ertussenuit","eruit","ervan","ervandaan","ervandoor","ervoor","hieraan","hierachter","hieraf","hierbij","hierbinnen","hierboven","hierbuiten","hierdoor","hierdoorheen","hierheen","hierin","hierjegens","hierlangs","hiermede","hiermee","hierna","hiernaar","hiernaartoe","hiernaast","hieromheen","hieromtrent","hieronder","hierop","hierover","hieroverheen","hierrond","hiertegen","hiertoe","hiertussen","hiertussenuit","hieruit","hiervan","hiervandaan","hiervoor","vandaan","waaraan","waarachter","waaraf","waarbij","waarboven","waarbuiten","waardoorheen","waarheen","waarin","waarjegens","waarmede","waarna","waarnaar","waarnaartoe","waarnaast","waarop","waarover","waaroverheen","waarrond","waartegen","waartegenin","waartoe","waartussen","waartussenuit","waaruit","waarvan","waarvandaan","waarvoor"],v=["daar","hier","ginder","daarginds","ginds","ver","veraf","ergens","nergens","overal","dichtbij","kortbij"],k=["word","wordt","werd","werden","ben","bent","is","was","waren"],j=["worden","zijn"],_=["heb","hebt","heeft","hadden","had","kun","kan","kunt","kon","konden","mag","mocht","mochten","dien","dient","diende","dienden","moet","moest","moesten","ga","gaat","ging","gingen"],x=["hebben","kunnen","mogen","dienen","moeten","gaan"],O=["blijkt","blijk","bleek","bleken","gebleken","dunkt","dunk","dunkte","dunkten","gedunkt","heet","heette","heetten","geheten","lijkt","lijk","geleken","leek","leken","schijn","schijnt","scheen","schenen","toescheen","toeschijnt","toeschijn","toeschenen"],q=["blijken","dunken","heten","lijken","schijnen","toeschijnen"],E=["à","aan","aangaande","achter","behalve","behoudens","beneden","benevens","benoorden","benoordoosten","benoordwesten","beoosten","betreffende","bewesten","bezijden","bezuiden","bezuidoosten","bezuidwesten","bij","binnen","blijkens","boven","bovenaan","buiten","circa","conform","contra","cum","dankzij","door","gedurende","gezien","in","ingevolge","inzake","jegens","krachtens","langs","luidens","met","middels","na","naar","naast","nabij","namens","nevens","niettegenstaande","nopens","om","omstreeks","omtrent","onder","onderaan","ongeacht","onverminderd","op","over","overeenkomstig","per","plus","post","richting","rond","rondom","spijts","staande","te","tegen","tegenover","ten","ter","tijdens","tot","tussen","uit","van","vanaf","vanuit","versus","via","vis-à-vis","volgens","voor","voorbij","wegens","zijdens","zonder"],A=["af","heen","mee","toe","achterop","onderin","voorin","bovenop","buitenop","achteraan","onderop","binnenin","tevoren"],S=["en","alsmede","of","ofwel","en/of"],M=["zowel","evenmin","zomin","hetzij"],T=["vermits","dewijl","dorodien","naardien","nademaal","overmits","wijl","eer","eerdat","aleer","vooraleer","alvorens","totdat","zolang","sinds","sedert","ingeval","tenware","alhoewel","hoezeer","uitgezonderd","zoverre","zover","naargelang","naarmate","alsof"],P=["zegt","zei","vraagt","vroeg","denkt","dacht","stelt","pleit","pleitte"],C=["absoluut","zeker","ongetwijfeld","sowieso","onmiddelijk","meteen","inclusief","direct","ogenblikkelijk","terstond","natuurlijk","vanzelfsprekend","gewoonlijk","normaliter","doorgaans","werkelijk","daadwerkelijk","inderdaad","waarachtig","oprecht","bijna","meestal","misschien","waarschijnlijk","wellicht","mogelijk","vermoedelijk","allicht","aannemelijk","oorspronkelijk","aanvankelijk","initieel","eigenlijk","feitelijk","wezenlijk","juist","reeds","alvast","bijv.","vaak","dikwijls","veelal","geregeld","menigmaal","regelmatig","veelvuldig","eenvoudigweg","simpelweg","louter","kortweg","stomweg","domweg","zomaar","eventueel","mogelijkerwijs","eens","weleens","nooit","ooit","anders","momenteel","thans","incidenteel","trouwens","elders","volgend","recent","onlangs","recentelijk","laatst","zojuist","relatief","duidelijk","overduidelijk","klaarblijkelijk","nadrukkelijk","ogenschijnlijk","kennelijk","schijnbaar","alweer","continu","herhaaldelijk","nog","steeds","nu"],R=["zeer","erg","redelijk","flink","tikkeltje","bijzonder","ernstig","enigszins","zo","tamelijk","nogal","behoorlijk","zwaar","heel","hele","reuze","buitengewoon","ontzettend","vreselijk"],D=["laat","liet","lieten","kom","komt","kwam","kwamen","maakt","maak","maakte","maakten","doe","doet","deed","deden","vindt","vind","vond","vonden"],B=["laten","komen","maken","doen","vinden"],F=["nieuw","nieuwe","nieuwer","nieuwere","nieuwst","nieuwste","oud","oude","ouder","oudere","oudst","oudste","vorig","vorige","goed","goede","beter","betere","best","beste","groot","grote","groter","grotere","grootst","grootste","makkelijk","makkelijke","makkelijker","makkelijkere","makkelijkst","makkelijste","gemakkelijk","gemakkelijke","gemakkelijker","gemakkelijkere","gemakkelijkst","gemakkelijste","simpel","simpele","simpeler","simpelere","simpelst","simpelste","snel","snelle","sneller","snellere","snelst","snelste","verre","verder","verdere","verst","verste","lang","lange","langer","langere","langst","langste","hard","harde","harder","hardere","hardst","hardste","minder","mindere","minst","minste","eigen","laag","lage","lager","lagere","laagst","laagste","hoog","hoge","hoger","hogere","hoogst","hoogste","klein","kleine","kleiner","kleinere","kleinst","kleinste","kort","korte","korter","kortere","kortst","kortste","herhaaldelijke","directe","ongeveer","slecht","slechte","slechter","slechtere","slechtst","slechtste","zulke","zulk","zo'n","zulks","er","extreem","extreme","bijbehorende","bijbehorend","niet"],I=["oh","wauw","hèhè","hè","hé","au","ai","jaja","welja","jawel","ssst","heremijntijd","hemeltjelief","aha","foei","hmm","nou","nee","tja","nja","okido","ho","halt","komaan","komop","verrek","nietwaar","brr","oef","ach","och","bah","enfin","afijn","haha","hihi","hatsjie","hatsjoe","hm","tring","vroem","boem","hopla"],L=["ml","cl","dl","l","tl","el","mg","g","gr","kg","ca","theel","min","sec","uur"],$=["seconde","secondes","seconden","minuut","minuten","uur","uren","dag","dagen","week","weken","maand","maanden","jaar","jaren","vandaag","morgen","overmorgen","gisteren","eergisteren","'s","morgens","avonds","middags","nachts"],U=["ding","dingen","manier","manieren","item","items","keer","maal","procent","geval","aspect","persoon","personen","deel"],W=["wel","ja","neen","oké","oke","okee","ok","zoiets","€","euro"],N=["mevr","dhr","mr","dr","prof"],K=["jr","sr"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["aangezien","al","aldus","allereerst","als","alsook","anderzijds","bijgevolg","bijvoorbeeld","bovendien","concluderend","daardoor","daarentegen","daarmee","daarna","daarnaast","daarom","daartoe","daarvoor","dadelijk","dan","desondanks","dienovereenkomstig","dientegevolge","doch","doordat","dus","echter","eerst","evenals","eveneens","evenzeer","hierom","hoewel","immers","indien","integendeel","intussen","kortom","later","maar","mits","nadat","namelijk","net als","niettemin","noch","ofschoon","omdat","ondanks","ondertussen","ook","opdat","resumerend","samengevat","samenvattend","tegenwoordig","teneinde","tenzij","terwijl","tevens","toch","toen","uiteindelijk","vanwege","vervolgens","voorafgaand","vooralsnog","voordat","voorts","vroeger","waardoor","waarmee","waaronder","wanneer","want","zoals","zodat","zodoende","zodra"],n=["aan de andere kant","aan de ene kant","aangenomen dat","al met al","alles afwegend","alles bij elkaar","alles in aanmerking nemend","als gevolg van","anders gezegd","daar staat tegenover","daarbij komt","daaruit volgt","dat betekent","dat blijkt uit","de oorzaak daarvan is","de oorzaak hiervan is","door middel van","een voorbeeld hiervan","een voorbeeld van","gesteld dat","hetzelfde als","hieruit kunnen we afleiden","hieruit volgt","hoe het ook zij","in de derde plaats","in de eerste plaats","in de tweede plaats","in één woord","in het bijzonder","in het geval dat","in plaats van","in tegenstelling tot","in vergelijking met","maar ook","met als doel","met andere woorden","met behulp van","met de bedoeling","neem nou","net als","om kort te gaan","onder andere","op dezelfde wijze","stel dat","te danken aan","te wijten aan","ten derde","ten eerste","ten gevolge van","ten slotte","ten tweede","ter conclusie","ter illustratie","ter verduidelijking","tot nog toe","tot slot","vandaar dat","vergeleken met","voor het geval dat"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["además","adicional","así","asimismo","aún","aunque","ciertamente","como","concluyendo","conque","contrariamente","cuando","decididamente","decisivamente","después","diferentemente","efectivamente","entonces","especialmente","específicamente","eventualmente","evidentemente","finalmente","frecuentemente","generalmente","igualmente","lógicamente","luego","mas","mientras","pero","por","porque","posteriormente","primero","principalmente","pronto","próximamente","pues","raramente","realmente","seguidamente","segundo","semejantemente","si","siguiente","sino","súbitamente","supongamos","también","tampoco","tercero","verbigracia","vice-versa","ya"],n=["a causa de","a continuación","a diferencia de","a fin de cuentas","a la inversa","a la misma vez","a más de","a más de esto","a menos que","a no ser que","a pesar de","a pesar de eso","a pesar de todo","a peser de","a propósito","a saber","a todo esto","ahora bien","al contrario","al fin y al cabo","al final","al inicio","al mismo tiempo","al principio","ante todo","antes bien","antes de","antes de nada","antes que nada","aparte de","as así como","así como","así mismo","así pues","así que","así y todo","aún así","claro está que","claro que","claro que sí","como caso típico","como decíamos","como era de esperar","como es de esperar","como muestra","como resultado","como se ha notado","como sigue","comparado con","con el objeto de","con el propósito de","con que","con relación a","con tal de que","con todo","dado que","de ahí","de cierta manera","de cualquier manera","de cualquier modo","de ello resulta que","de este modo","de golpe","de hecho","de igual manera","de igual modo","de igualmanera","de la manera siguiente","de la misma forma","de la misma manera","de manera semejante","del mismo modo","de modo que","de nuevo","de otra manera","de otro modo","de pronto","de qualquier manera","de repente","de suerte que","de tal modo","de todas formas","de todas maneras","de todos modos","de veras","debido a","debido a que","del mismo modo","dentro de poco","desde entonces","después de","después de todo","ejemplo de esto","el caso es que","en aquel tiempo","en cambio","en cierto modo","en comparación con","en conclusión","en concreto","en conformidad con","en consecuencia","en consiguiente","en contraste con","en cualquier caso","en cuanto","en cuanto a","en definitiva","en efecto","en el caso de que","en este sentido","en fin","en fin de cuentas","en general","en lugar de","en otras palabras","en otro orden","en otros términos","en particular","en primer lugar","en primer término","en primera instancia","en realidad","en relación a","en relación con","en representación de","en resumen","en resumidas cuentas","en segundo lugar","en seguida","en síntesis","en suma","en todo caso","en último término","en verdad","en vez de","en virtud de","entre ellas figura","entre ellos figura","es cierto que","es decir","es evidente que","es incuestionable","es indudable","es más","está claro que","esto indica","excepto si","generalmente por ejemplo","gracias a","hasta aquí","hasta cierto punto","hasta el momento","hay que añadir","igual que","la mayor parte del tiempo","la mayoría del tiempo","lo que es peor","más tarde","mejor dicho","mientras tanto","mirándolo todo","nadie puede ignorar","no faltaría más","no obstante","o sea","otra vez","otro aspecto","par ilustrar","para concluir","para conclusión","para continuar","para empezar","para finalizar","para mencionar una cosa","para que","para resumir","para terminar","pongamos por caso","por añadidura","por cierto","por consiguiente","por ejemplo","por el consiguiente","por el contrario","por el hecho que","por eso","por esta razón","por esto","por fin","por la mayor parte","por lo general","por lo que","por lo tanto","por otro lado","por otra parte","por otro lado","por supuesto","por tanto","por último","por un lado","por una parte","primero que nada","primero que todo","pues bien","puesto que","rara vez","resulta que","sea como sea","seguidamente entre tanto","si bien","siempre que","siempre y cuando","sigue que","sin duda","sin embargo","sin ir más lejos","sobre todo","supuesto que","tal como","tales como","tan pronto como","tanto como","una vez","ya que"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["abbastanza","acciocché","acciocchè","adesso","affinché","affinchè","allora","almeno","alquanto","altrettanto","altrimenti","analogamente","anche","ancora","antecedentemente","anzi","anzitutto","apertamente","appena","assai","attualmente","benché","benchè","beninteso","bensì","brevemente","bruscamente","casomai","celermente","certamente","certo","chiaramente","ciononostante","cioé","cioè","comparabilmente","come","complessivamente","completamente","comunque","concisamente","concludendo","conformemente","congiuntamente","conseguentemente","considerando","considerato","considerevolmente","contemporaneamente","continuamente","contrariamente","controbilanciato","così","cosicché","cosicchè","dapprima","dato","davvero","definitivamente","dettagliatamente","differentemente","diversamente","dopo","dopodiché","dopodichè","durante","dunque","eccetto","eccome","effettivamente","egualmente","elencando","enfaticamente","eppure","esaurientemente","esplicitamente","espressamente","estesamente","evidentemente","finalmente","finché","finchè","fino","finora","fintanto","fintanto che","fintantoché","fintantochè","fondamentalmente","frattanto","frequentemente","generalmente","già","gradualmente","illustrando","immantinente","immediatamente","importantissimo","incontestabilmente","incredibilmente","indipendentemente","indiscutibilmente","indubbiamente","infatti","infine","innanzitutto","innegabilmente","inoltre","insomma","intanto","interamente","istantaneamente","invece","logicamente","lentamente","ma","malgrado","marcatamente","memorabile","mentre","motivatamente","naturalmente","né","nè","neanche","neppure","nonché","nonchè","nondimeno","nonostante","notevolmente","occasionalmente","oltretutto","onde","onestamente","ossia","ostinatamente","ovvero","ovviamente","parimenti","particolarmente","peraltro","perché","perchè","perciò","perlomeno","però","pertanto","pesantemente","piuttosto","poi","poiché","poichè","praticamente","precedentemente","preferibilmente","precisamente","prematuramente","presto","prima","primariamente","primo","principalmente","prontamente","proporzionalmente","pure","purché","purchè","quando","quanto","quantomeno","quindi","raramente","realmente","relativamente","riassumendo","riformulando","ripetutamente","saltuariamente","schiettamente","sebbene","secondariamente","secondo","sempre","sennò","seguente","sensibilmente","seppure","seriamente","siccome","sicuramente","significativamente","similmente","simultaneamente","singolarmente","sinteticamente","solitamente","solo","soltanto","soprattutto","sopravvalutato","sorprendentemente","sostanzialmente","sottolineando","sottovalutato","specialmente","specificamente","specificatamente","subitamente","subito","successivamente","successivo","talmente","terzo","totalmente","tranne","tuttavia","ugualmente","ulteriormente","ultimamente","veramente","verosimilmente","visto"],n=["a breve","a causa","a causa di","a condizione che","a conseguenza","a conti fatti","a differenza di","a differenza del","a differenza della","a differenza dei","a differenza degli","a differenza delle","a dire il vero","a dire la verità","a dirla tutta","a dispetto di","a lungo","a lungo termine","a maggior ragione","a meno che non","a parte","a patto che","a prescindere","a prima vista","a proposito","a qualunque costo","a quanto","a quel proposito","a quel tempo","a quell'epoca","a questo fine","a questo proposito","a questo punto","a questo riguardo","a questo scopo","a riguardo","a seguire","a seguito","a sottolineare","a tal fine","a tal proposito","a tempo debito","a tutti gli effetti","a tutti i costi","a una prima occhiata","ad eccezione di","ad esempio","ad essere maliziosi","ad essere sinceri","ad ogni buon conto","ad ogni costo","ad ogni modo","ad una prima occhiata","adesso che","al che","al contrario","al contrario di","al fine di","al fine di fare","al giorno d'oggi","al momento","al momento giusto","al momento opportuno","al più presto","al posto di","al suo posto","al termine","all'epoca","all'infuori di","all'inizio","all'opposto","all'ultimo","alla fine","alla fine della fiera","alla luce","alla luce di","alla lunga","alla moda","alla stessa maniera","allo scopo di","allo stesso modo","allo stesso tempo","anch'esso","anch'io","anche se","ancora più","ancora di più","assumendo che","bisogna chiarire che","bisogna considerare che","causato da","ciò nondimeno","ciò nonostante","col tempo","con il tempo","come a dire","come abbiamo dimostrato","come è stato notato","come è stato detto","come è stato dimostrato","come hanno detto","come ho detto","come ho dimostrato","come ho notato","come potete notare","come potete vedere","come puoi notare","come puoi vedere","come si è dimostrato","come si può vedere","come si può notare","come sopra indicato","comunque sia","con attenzione","con enfasi","con il risultato che","con l'obiettivo di","con ostinazione","con questa intenzione","con questa idea","con queste idee","con questo in testa","con questo scopo","così che","così da","d'altra parte","d'altro canto","d'altro lato","d'altronde","d'ora in avanti","d'ora in poi","da allora","da quando","da quanto","da quel momento","da quella volta","da questo momento in poi","da questo momento","da qui","da ultimo","da un certo punto di vista","da un lato","da una parte","dall'altro lato","dall'epoca","dal che","dato che","dato per assunto che","davanti a","del tutto","dell'epoca","detto questo","di certo","di colpo","di conseguenza","di fatto","di fronte","di fronte a","di lì a poco","di punto in bianco","di quando in quando","di quanto non sia","di quel tempo","di qui a","di rado","di seguito","di si","di sicuro","di solito","di tanto in tanto","di tutt'altra pasta","di quando in quando","differente da","diversamente da","diverso da","dopotutto","dovuto a","e anche","e inoltre","entro breve","fermo restando che","faccia a faccia","fin da","fin dall'inizio","fin quando","finché non","finchè non","fin dal primo momento","fin dall'inizio","fino a","fino a questo momento","fino ad oggi","fino ai giorni nostri","fino adesso","fino a un certo punto","fino adesso","fra quanto","il prima possibile","in aggiunta","in altre parole","in altri termini","in ambo i casi","in breve","in caso di","in conclusione","in conformità","in confronto","in confronto a","in conseguenza","in considerazione","in considerazione di","in definitiva","in dettaglio","importante rendersi conto","in effetti","in entrambi i casi","in fin dei conti","in generale","in genere","in linea di massima","in poche parole","il più possibile","in maggior parte","in maniera analoga","in maniera convincente","in maniera esauriente","in maniera esaustiva","in maniera esplicita","in maniera evidente","in maniera incontestabile","in maniera indiscutibile","in maniera innegabile","in maniera significativa","in maniera simile","in modo allusivo","in modo analogo","in modo che","in modo convincente","in modo da","in modo identico","in modo notevole","in modo significativo","in modo significativo","in modo simile","in ogni caso","in ogni modo","in ogni momento","in parte considerevole","in parti uguali","in particolare","in particolare per","in particolare","in più","in pratica","in precedenza","in prima battuta","in prima istanza","in primo luogo","in rapporto","in qualche modo","in qualsiasi modo","in qualsiasi momento","in qualunque modo","in qualunque momento","in quarta battuta","in quarta istanza","in quarto luogo","in quel caso","in quelle circostanze","in questa occasione","in questa situazione","in questo caso","in questo caso particolare","in questo istante","in questo momento","in rare occasioni","in realtà","in seconda battuta","in seconda istanza","in secondo luogo","in seguito","in sintesi","in sostanza","in tempo","in terza battuta","in terza istanza","in terzo luogo","in totale","in tutto","in ugual maniera","in ugual misura","in ugual modo","in ultima analisi","in ultima istanza","in un altro caso","in una parola","in verità","insieme a","insieme con","invece che","invece di","la prima cosa da considerare","la prima cosa da tenere a mente","lo stesso","mentre potrebbe essere vero","motivo per cui","motivo per il quale","ne consegue che","ne deriva che","nei dettagli","nel caso","nel caso che","nel caso in cui","nel complesso","nel corso del","nel corso di","nel frattempo","nel lungo periodo","nel mentre","nell'eventualità che","nella misura in cui","nella speranza che","nella stessa maniera","nella stessa misura","nello specifico","nello stesso modo","nello stesso momento","nello stesso stile","non appena","non per essere maliziosi","non più da","nonostante ciò","nonostante tutto","ogni qualvolta","ogni tanto","ogni volta","oltre a","oltre a ciò","ora che","passo dopo passo","per causa di","per certo","per chiarezza","per chiarire","per come","per concludere","per conto di","per contro","per cui","per davvero","per di più","per dirla in altro modo","per dirla meglio","per dirla tutta","per es.","per esempio","per essere sinceri","per far vedere","per farla breve","per finire","per l'avvenire","per l'ultima volta","per la maggior parte","per la stessa ragione","per la verità","per lo più","per mettere in luce","per metterla in altro modo","per non dire di","per non parlare di","per ora","per ovvi motivi","per paura di","per paura dei","per paura delle","per paura degli","per prima cosa","per quanto","per questa ragione","per questo motivo","per riassumere","per sottolineare","per timore","per trarre le conclusioni","per ultima","per ultime","per ultimi","per ultimo","per via di","perché si","perchè si","perfino se","piano piano","più di ogni altra cosa","più di tutto","più facilmente","più importante","più tardi","poco a poco","poco dopo","prendiamo il caso di","presto o tardi","prima che","prima di","prima di ogni cosa","prima di tutto","prima o dopo","prima o poi","questo è probabilmente vero","questo potrebbe essere vero","restando inteso che","riassumendo","quanto prima","questa volta","se confrontato con","se e solo se","se no","seduta stante","sempreché","semprechè","sempre che","senz'altro","senza alcun riguardo","senza dubbio","senz'ombra di dubbio","senza ombra di dubbio","senza riguardo per","senza tregua","senza ulteriore ritardo","sia quel che sia","solo se","sotto questa luce","sperando che","sta volta","su tutto","subito dopo","sul serio","tanto per cominciare","tanto quanto","tra breve","tra l'altro","tra poco","tra quanto","tutte le volte","tutti insieme","tutto a un tratto","tutto ad un tratto","tutto d'un tratto","tutto considerato","tutto sommato","un passo alla volta","un tempo","una volta","una volta ogni tanto","unito a","va chiarito che","va considerato che","vada come vada","vale a dire","visto che"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["ainsi","alors","aussi","car","cependant","certainement","certes","conséquemment","d'abord","d'ailleurs","d'après","davantage","désormais","deuxièmement","donc","dorénavant","effectivement","également","enfin","ensuite","entre-temps","essentiellement","excepté","finalement","globalement","jusqu'ici","là-dessus","lorsque","mais","malgré","néanmoins","notamment","partant","plutôt","pourtant","précédemment","premièrement","probablement","puis","puisque","quoique","sauf","selon","semblablement","sinon","suivant","toutefois","troisièmement"],n=["à cause de","à ce jour","à ce propos","à ce sujet","à cet égard","à cette fin","à compter de","à condition que","à défaut de","à force de","à juste titre","à la lumière de","à la suite de","à l'aide de","à l'appui de","à l'encontre de","à l'époque actuelle","à l'exception de","à l'exclusion de","à l'heure actuelle","à l'image de","à l'instar de","à l'inverse","à l'inverse de","à l'opposé","à la condition que","à mesure que","à moins que","à nouveau","à partir de","à première vue","à savoir","à seule fin que","à supposer que","à tel point que","à tout prendre","à vrai dire","afin de","afin d'attirer l'attention sur","afin que","ainsi donc","ainsi que","alors que","antérieurement","après cela","après quoi","après que","après réflexion","après tout","attendu que","au cas où","au contraire","au fond","au fur et à mesure","au lieu de","au même temps","au moment où","au moyen de","au point que","au risque de","au surplus","au total","aussi bien que","aussitôt que","autant que","autrement dit","avant que","avant tout","ayant fini","bien que","c'est à dire que","c'est ainsi que","c'est dans ce but que","c'est dire","c'est le cas de","c'est pour cela que","c'est la raison pour laquelle","c'est pourquoi","c'est qu'en effet","c'est-à-dire","ça confirme que","ça montre que","ça prouve que","cela étant","cela dit","cependant que","compte tenu","comme l'illustre","comme le souligne","comme on pouvait s'y attendre","comme quoi","comme si","commençons par examiner","comparativement à","conformément à","contrairement à","considérons par exemple","d'autant plus","d'autant que","d'autre part","d'ici là","d'où","d'un autre côté","d'un côté","d'une façon générale","dans ce cas","dans ces conditions","dans cet esprit","dans l'ensemble","dans l'état actuel des choses","dans l'éventualité où","dans l'hypothèse où","dans la mesure où","dans le but de","dans le cadre de","dans le cas où","dans les circonstances actuelles","dans les grandes lignes","dans un autre ordre d'idée","dans un délai de","de ce fait","de cette façon","de crainte que","de façon à","de façon à ce que","de façon que","de fait","de l'autre côté","de la même manière","de la même façon que","de manière que","de même","de même qu'à","de même que","de nos jours","de peur que","de prime abord","de sorte que","de surcroît","de telle manière que","de telle sorte que","de toute évidence","de toute façon","de toute manière","depuis que","dès lors que","dès maintenant","dès qua","dès que","du fait que","du moins","du moment que","du point de vue de","du reste","d'ici là","d'ores et déjà","en admettant que","en attendant que","en bref","en cas de","en cas que","en ce cas","en ce domaine","en ce moment","en ce qui a trait à","en ce qui concerne","en ce sens","en cela","en comparaison de","en conclusion","en conformité avec","en conséquence","en d'autres termes","en définitive","en dépit de","en dernier lieu","en deuxième lieu","en effet","en face de","en fait","en fin de compte","en général","en guise de conclusion","en matière de","en même temps que","en outre","en particulier","en plus","en premier lieu","en principe","en raison de","en réalité","en règle générale","en résumé","en revanche","en second lieu","en somme","en sorte que","en supposant que","en tant que","en terminant","en théorie","en tout cas","en tout premier lieu","en troisième lieu","en un mot","en vérité","en vue que","encore que","encore une fois","entre autres","et même","et puis","étant donné qu'à","étant donné que","face à","grâce à","il est à noter que","il est indéniable que","il est question de","il est vrai que","il faut dire aussi que","il faut reconnaître que","il faut souligner que","il ne faut pas oublier que","il s'ensuit que","il suffit de prendre pour exemple","jusqu'ici","il y a aussi","jusqu'à ce que","jusqu'à ce jour","jusqu'à maintenant","jusqu'à présent","jusqu'au moment où","jusqu'ici","l'aspect le plus important de","l'exemple le plus significatif","jusqu'au moment où","la preuve c'est que","loin que","mais en réalité","malgré cela","malgré tout","même si","mentionnons que","mis à part le fait que","notons que","nul doute que","ou bien","outre cela","où que","par ailleurs","par conséquent","par contre","par exception","par exemple","par la suite","par l'entremise de","par l'intermédiaire de","par rapport à","par suite","par suite de","par surcroît","parce que","pareillement","partant de ce fait","pas du tout","pendant que","plus précisément","plus tard","pour ainsi dire","pour autant que","pour ce qui est de","pour ces motifs","pour ces raisons","pour cette raison","pour commencer","pour conclure","pour le moment","pour marquer la causalité","pour l'instant","pour peu que","pour prendre un autre exemple","pour que","pour résumé","pour terminer","pour tout dire","pour toutes ces raisons","pourvu que","prenons le cas de","quand bien même que","quand même","quant à","quel que soit","qui plus est","qui que","quitte à","quoi qu'il en soit","quoi que","quoiqu'il en soit","sans délai","sans doute","sans parler de","sans préjuger","sans tarder","sauf si","selon que","si bien que","si ce n'est que","si l'on songe que","sitôt que","somme toute","sous cette réserve","sous prétexte que","sous réserve de","sous réserve que","suivant que","supposé que","sur le plan de","tandis que","tant et si bien que","tant que","tel que","tellement que","touchant à","tout à fait","tout bien pesé","tout compte fait","tout d'abord","tout d'abord examinons","tout d'abord il faut dire que","tout de même","tout en reconnaissant que","une fois de plus","vu que"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["ademais","afinal","aliás","analogamente","anteriormente","assim","certamente","conforme","conquanto","contudo","decerto","embora","enfim","enquanto","então","entretanto","eventualmente","igualmente","inegavelmente","inesperadamente","mas","outrossim","pois","porquanto","porque","portanto","posteriormente","precipuamente","primeiramente","primordialmente","principalmente","salvo","semelhantemente","similarmente","sobretudo","surpreendentemente","todavia"],n=["a fim de","a fim de que","a menos que","a princípio","a saber","acima de tudo","ainda assim","ainda mais","ainda que","além disso","antes de mais nada","antes de tudo","antes que","ao mesmo tempo","ao passo que","ao propósito","apesar de","às vezes","assim como","assim que","assim sendo","assim também","bem como","com a finalidade de","com efeito","com o fim de","com o intuito de","com o propósito de","com toda a certeza","como resultado","como se","da mesma forma","de acordo com","de conformidade com","de fato","de maneira idêntica","de tal forma que","de tal sorte que","depois que","desde que","dessa forma","dessa maneira","desse modo","do mesmo modo","é provável","em conclusão","em contrapartida","em contraste com","em outras palavras","em primeiro lugar","em princípio","em resumo","em seguida","em segundo lugar","em síntese","em suma","em terceiro lugar","em virtude de","finalmente agora atualmente","isto é","já que","logo após","logo depois","logo que","mesmo que","não apenas","nesse hiato","nesse ínterim","nesse meio tempo","nesse sentido","no entanto","no momento em que","ou por outra","ou seja","para que","pelo contrário","por analogia","por causa de","por certo","por conseguinte","por conseqüência","por exemplo","por fim","por isso","por mais que","por menos que","por outro lado","posto que","se acaso","se bem que","seja como for","sem dúvida","só para exemplificar","só para ilustrar","só que","sob o mesmo ponto de vista","talvez provavelmente","tanto quanto","uma vez que","visto que"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["безусловно","бесспорно","вероятно","вестимо","вдобавок","видимо","вишь","во-вторых","во-первых","вообще-то","впрочем","дабы","едва","ежели","если","затем ","зачем","ибо","итак","кабы","кажется","кажись","коли","кстати","лишь","лучше","наверно","наверное","например","небось","нежели","несомненно","но","однако","особенно","оттого","отчего","поди","пожалуй","позволь","позвольте","покамест","покуда","поскольку","потому","притом","причем","только","хотя","чтоб","чтобы","чуть","якобы"],n=["а вдобавок","а вот","а именно","а не то","а не","а потом","а также","без всякого сомнения","без того чтобы не","без того, чтобы не","благодаря тому","более того","будто бы","будь то","буквально","в итоге","в конце концов","в общей сложности","в общем-то","в общем","в отношении того что","в отношении того, что","в принципе","в противовес тому что","в противовес тому, что","в противоположность тому","в результате","в самом деле","в свою очередь","в связи с тем что","в связи с тем","в силу того что","в силу того","в силу чего","в случа","в сравнении с тем","в сущности говоря","в сущности","в таком случае","в то время как","в то время, как","в том случае","в частности","в-третьих","ввиду того","вернее говоря","вероятнее всего","видите ли","видишь ли","вместе с тем","вместо того","вне всякого сомнения","вне сомнения","во всяком случае","воля ваша","воля твоя","вообще говоря","вопреки тому","вплоть до того","вроде того как","вроде того что","вроде того","вроде того","вследствие того что","вследствие чего","грубо говоря","да еще","да и то","дай бог память","даром что","для того чтобы","для того, чтобы","до тех пор пока","до тех пор, пока","до того как","до того, как","едва лишь","едва только","ежели бы","если угодно","жалко, что","жаль, что","за счет того что","за счет того, что","знамо дело","и вот еще","из-за того что","из-за того, что","иначе говоря","исходя из того","к вашему сведению","к несчастью","к огорчению","к примеру сказать","к примеру","к прискорбию","к радости","к слову сказать","к сожалению","к стыду своему","к стыду","к счастью","к твоему сведению","к тому же","к удивлению","к ужасу","к чести","как будто","как бы там ни было","как бы то ни было","как бы","как вам известно","как вдруг","как видите","как видишь","как видно","как водится","как выяснилось","как выясняется","как говорилось","как говорится","как если бы","как знать","как известно","как на заказ","как назло","как нарочно","как ни говори","как ни говорите","как ни странно","как оказалось","как оказывается","как полагается","как положено","как правило","как принято говорить","как принято","как сказано","как скоро","как следствие","как словно","как только","как хотите","как это ни странно","ко всему прочему","коль скоро","коль уж","коротко говоря","короче говоря","кроме всего прочего","кстати говоря","кстати сказать","лишь бы","лишь только","мало сказать","мало того","между нами говоря","между прочим","между тем как","может статься","можно подумать","мягко выражаясь","мягко говоря","на беду","на ваш взгляд","на мой взгляд","на несчастье","на основании того что","на основании того, что","на первый взгляд","на самом деле","на случай","на твой взгляд","на худой конец","надо полагать","наряду с тем что","наряду с тем","насчет того что","насчет того, что","не в пример тому как","не в пример тому, как","не то чтобы","невзирая на то","независимо от того","несмотря на то","ничего не скажешь","но вообще-то","но кроме того","однако же","откровенно сказать","относительно того что","относительно того, что","перед тем","по вашему мнению","по видимости","по всей вероятности","по всей видимости","по данным","по замыслу","по идее","по крайней мере","по мере того как","по мере того, как","по мнению","по моему мнению","по обыкновению","по обычаю","по определению","по поводу того","по правде говоря","по правде сказать","по правде","по преданию","по причине того","по прогнозам","по сведениям","по своему обыкновению","по слухам","по совести говоря","по совести сказать","по совести","по сообщению","по сообщениям","по справедливости говоря","по справедливости","по сравнению","по статистике","по сути говоря","по сути дела","по сути","по существу говоря","по существу","по счастью","по твоему мнению","по чести говоря","по чести признаться","по чести сказать","по-вашему","по-видимому","по-ихнему","по-моему","по-нашему","по-твоему","под видом того что","под видом того, что","под предлогом","подобно тому","подумать только","помимо всего прочего","помимо всего","помимо того","помимо того","помимо этого","понятное дело","попросту говоря","попросту сказать","после того","потому как","потому что","правду говоря","правду сказать","правильнее говоря","прежде всего","прежде нежели","прежде чем","при всем том","при условии что","при условии, что","против обыкновения","проще говоря","проще сказать","прямо-таки как","пускай бы","равно как","ради того чтобы","разве что","разумеется","с вашего позволения","с вашего разрешения","с другой стороны","с моей точки зрения","с одной стороны","с позволения сказать","с твоего позволения","с твоего разрешения","с тем чтобы","с тех пор как","с той целью чтобы","с точки зрения","само собой разумеется","сверх того что","сверх того","сказать по правде","сказать по совести","сказать по чести","скорее всего","смотря по тому","со своей стороны","собственно говоря","совсем как","стало быть","стоит отметить","строго говоря","судя по всему","судя по тому","так или иначе","так как","так что","так чтобы","тем более что","тем не менее","тем паче что","то бишь","то есть","тогда как","только бы","только лишь","только чуть","точнее говоря","точнее сказать","точно так же","что и говорить","что ни говори","что ни говорите","чуть лишь","чуть только","шутка ли сказать","шутка ли","шутка сказать","это значит, что"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return{singleWords:i,multipleWords:n,allWords:i.concat(n)}};var i=["aby","abym","abyśmy","abyś","abyście","acz","aczkolwiek","albowiem","ale","aliści","bo","bowiem","bynajmniej","choć","chociaż","chociażby","czyli","dlatego","dodatkowo","dopóki","dotychczas","faktycznie","gdy","gdyż","jakkolwiek","iż","jednak","jednakże","jeśli","kiedy","lecz","mianowicie","mimo","np","najpierw","następnie","natomiast","ni","niemniej","niż","notabene","oczywiście","ogółem","ostatecznie","owszem","podobnie","podsumowując","pokrótce","pomimo","ponadto","ponieważ","poprzednio","potem","później","przecież","przeto","przynajmniej","raczej","również","rzeczywiście","skoro","także","też","toteż","tudzież","tymczasem","wedle","według","więc","właściwie","wobec","wpierw","wprawdzie","wreszcie","wskutek","wstępnie","wszakże","wszelako","zamiast","zanim","zarówno","zaś","zatem","zresztą","zwłaszcza","żeby","żebym","żebyś","żebyście","żebyśmy"],n=["a konkretnie","a propos","aby wrocić do rzeczy","analogicznie do","bacząc na to że","bądź co bądź","bez wątpienia","bez względu","biorąc pod uwagę","choćby","chodzi o to","chyba że","co do","co gorsza","co prawda","co się tyczy","co ważniejsze","co więcej","dzięki czemu","dzięki któremu","dzięki której","dzięki którym","dzięki temu","faktem jest że","inaczej mówiąc","innymi słowy","jak dotąd","jak już mówiłam","jak już mówiłem","jak już wspomniano","jak widać","jako przykład","jednym słowem","jeśli chodzi o","jeżeli chodzi o","konkretnie to","krótko mówiąc","łącznie z","mając to na uwadzę","mam na myśli","mamy na myśli","mówiąc w skrócie","na celu","na dłuższą metę","na dodatek","na koniec","na końcu","na przykład","na skutek","na wstęp","na wypadek gdyby","na zakończenie","nade wszystko","należy pamiętać","nawiasem mówiąc","nie mówiąc już","nie mówiąc o tym","nie pomijając","nie schodząc z tematu","nie wspominając już","nie wspominając o","nie wspominając to","nie wspominając że","nie zważając na","o ile","o tyle","od czasu do czasu","od momentu","odnośnie do","ogólnie mówiąc","ogólnie rzecz biorąc","oprócz tego","oznacza to że","po czwarte","po drugie","po piąte","po pierwsze","po to","po trzecie","pod warunkiem","podczas gdy","podczas kiedy","podobnym sposobem","ponad wszystko","poza tym","prawdę mówiąc","prawdę powiedziawszy","prędzej czy później","przechodząc do","przede wszystkim","przez co","przez tą","przez tego","przez to","przy tym","przypuściwszy że","raz na jakiś czas","rzecz jasna","ściśle biorąc","ściśle mówiąc","skutkiem tego","tak czy inaczej","tak czy owak","tak naprawdę","takich jak","takie jak","to znaczy","tym samym","w celu","w ciągu","w dodatku","w efekcie","w innych słowach","w istocie","w każdym razie","w końcu","w konsekwencji","w kwestii","w międzyczasie","w nadziei że","w obawie że","w odróżnieniu","w podobny sposób","w podsumowaniu","w przeciwieństwie do","w przeciwnym razie","w przypadku","w rezultacie","w rozumieniu że","w rzeczy samej","w rzeczywistości","w skrócie","w szczególności","w takim razie","w ten sposób","w tych okolicznościach","w tym przypadku","w wyniku","w wyniku tego","w związku z tym","wbrew pozorom","włącznie z","wracając do rzeczy","wracając do tematu","wręcz przeciwnie","z drugiej strony","z drugiej zaś strony","z jednej strony","z mocy że","z obawy że","z pewnością","z powodu","z przyczyny","z tą intencją","z tego powodu","z uwagi że","zacznijmy od","zakładając że","ze względu na","ze względu że","zważywszy na to","zważywszy że"]},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return r=[],c.write(a),r.join("")};var i=t(822),n=function(a){return a&&a.__esModule?a:{default:a}}(i),o=t(1),r=void 0,s=!1,d=["script","style","code","pre"],c=new n.default.Parser({onopentag:function(a,e){if((0,o.includes)(d,a))return void(s=!0);var t=Object.keys(e),i="";t.forEach(function(a){i+=" "+a+"='"+e[a]+"'"}),r.push("<"+a+i+">")},ontext:function(a){s||r.push(a)},onclosetag:function(a){if((0,o.includes)(d,a))return void(s=!1);r.push("</"+a+">")}},{decodeEntities:!0})},function(a,e,t){function i(a,e){this._options=e||{},this._cbs=a||{},this._tagname="",this._attribname="",this._attribvalue="",this._attribs=null,this._stack=[],this.startIndex=0,this.endIndex=null,this._lowerCaseTagNames="lowerCaseTags"in this._options?!!this._options.lowerCaseTags:!this._options.xmlMode,this._lowerCaseAttributeNames="lowerCaseAttributeNames"in this._options?!!this._options.lowerCaseAttributeNames:!this._options.xmlMode,this._options.Tokenizer&&(n=this._options.Tokenizer),this._tokenizer=new n(this._options,this),this._cbs.onparserinit&&this._cbs.onparserinit(this)}var n=t(1459),o={input:!0,option:!0,optgroup:!0,select:!0,button:!0,datalist:!0,textarea:!0},r={tr:{tr:!0,th:!0,td:!0},th:{th:!0},td:{thead:!0,th:!0,td:!0},body:{head:!0,link:!0,script:!0},li:{li:!0},p:{p:!0},h1:{p:!0},h2:{p:!0},h3:{p:!0},h4:{p:!0},h5:{p:!0},h6:{p:!0},select:o,input:o,output:o,button:o,datalist:o,textarea:o,option:{option:!0},optgroup:{optgroup:!0}},s={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,path:!0,circle:!0,ellipse:!0,line:!0,rect:!0,use:!0,stop:!0,polyline:!0,polygon:!0},d=/\s|\//;t(168)(i,t(823).EventEmitter),i.prototype._updatePosition=function(a){null===this.endIndex?this._tokenizer._sectionStart<=a?this.startIndex=0:this.startIndex=this._tokenizer._sectionStart-a:this.startIndex=this.endIndex+1,this.endIndex=this._tokenizer.getAbsoluteIndex()},i.prototype.ontext=function(a){this._updatePosition(1),this.endIndex--,this._cbs.ontext&&this._cbs.ontext(a)},i.prototype.onopentagname=function(a){if(this._lowerCaseTagNames&&(a=a.toLowerCase()),this._tagname=a,!this._options.xmlMode&&a in r)for(var e;(e=this._stack[this._stack.length-1])in r[a];this.onclosetag(e));!this._options.xmlMode&&a in s||this._stack.push(a),this._cbs.onopentagname&&this._cbs.onopentagname(a),this._cbs.onopentag&&(this._attribs={})},i.prototype.onopentagend=function(){this._updatePosition(1),this._attribs&&(this._cbs.onopentag&&this._cbs.onopentag(this._tagname,this._attribs),this._attribs=null),!this._options.xmlMode&&this._cbs.onclosetag&&this._tagname in s&&this._cbs.onclosetag(this._tagname),this._tagname=""},i.prototype.onclosetag=function(a){if(this._updatePosition(1),this._lowerCaseTagNames&&(a=a.toLowerCase()),!this._stack.length||a in s&&!this._options.xmlMode)this._options.xmlMode||"br"!==a&&"p"!==a||(this.onopentagname(a),this._closeCurrentTag());else{var e=this._stack.lastIndexOf(a);if(-1!==e)if(this._cbs.onclosetag)for(e=this._stack.length-e;e--;)this._cbs.onclosetag(this._stack.pop());else this._stack.length=e;else"p"!==a||this._options.xmlMode||(this.onopentagname(a),this._closeCurrentTag())}},i.prototype.onselfclosingtag=function(){this._options.xmlMode||this._options.recognizeSelfClosing?this._closeCurrentTag():this.onopentagend()},i.prototype._closeCurrentTag=function(){var a=this._tagname;this.onopentagend(),this._stack[this._stack.length-1]===a&&(this._cbs.onclosetag&&this._cbs.onclosetag(a),this._stack.pop())},i.prototype.onattribname=function(a){this._lowerCaseAttributeNames&&(a=a.toLowerCase()),this._attribname=a},i.prototype.onattribdata=function(a){this._attribvalue+=a},i.prototype.onattribend=function(){this._cbs.onattribute&&this._cbs.onattribute(this._attribname,this._attribvalue),this._attribs&&!Object.prototype.hasOwnProperty.call(this._attribs,this._attribname)&&(this._attribs[this._attribname]=this._attribvalue),this._attribname="",this._attribvalue=""},i.prototype._getInstructionName=function(a){var e=a.search(d),t=e<0?a:a.substr(0,e);return this._lowerCaseTagNames&&(t=t.toLowerCase()),t},i.prototype.ondeclaration=function(a){if(this._cbs.onprocessinginstruction){var e=this._getInstructionName(a);this._cbs.onprocessinginstruction("!"+e,"!"+a)}},i.prototype.onprocessinginstruction=function(a){if(this._cbs.onprocessinginstruction){var e=this._getInstructionName(a);this._cbs.onprocessinginstruction("?"+e,"?"+a)}},i.prototype.oncomment=function(a){this._updatePosition(4),this._cbs.oncomment&&this._cbs.oncomment(a),this._cbs.oncommentend&&this._cbs.oncommentend()},i.prototype.oncdata=function(a){this._updatePosition(1),this._options.xmlMode||this._options.recognizeCDATA?(this._cbs.oncdatastart&&this._cbs.oncdatastart(),this._cbs.ontext&&this._cbs.ontext(a),this._cbs.oncdataend&&this._cbs.oncdataend()):this.oncomment("[CDATA["+a+"]]")},i.prototype.onerror=function(a){this._cbs.onerror&&this._cbs.onerror(a)},i.prototype.onend=function(){if(this._cbs.onclosetag)for(var a=this._stack.length;a>0;this._cbs.onclosetag(this._stack[--a]));this._cbs.onend&&this._cbs.onend()},i.prototype.reset=function(){this._cbs.onreset&&this._cbs.onreset(),this._tokenizer.reset(),this._tagname="",this._attribname="",this._attribs=null,this._stack=[],this._cbs.onparserinit&&this._cbs.onparserinit(this)},i.prototype.parseComplete=function(a){this.reset(),this.end(a)},i.prototype.write=function(a){this._tokenizer.write(a)},i.prototype.end=function(a){this._tokenizer.end(a)},i.prototype.pause=function(){this._tokenizer.pause()},i.prototype.resume=function(){this._tokenizer.resume()},i.prototype.parseChunk=i.prototype.write,i.prototype.done=i.prototype.end,a.exports=i},function(a,e,t){function i(a){return" "===a||"\n"===a||"\t"===a||"\f"===a||"\r"===a}function n(a,e,t){var i=a.toLowerCase();return a===i?function(a){a===i?this._state=e:(this._state=t,this._index--)}:function(n){n===i||n===a?this._state=e:(this._state=t,this._index--)}}function o(a,e){var t=a.toLowerCase();return function(i){i===t||i===a?this._state=e:(this._state=m,this._index--)}}function r(a,e){this._state=p,this._buffer="",this._sectionStart=0,this._index=0,this._bufferOffset=0,this._baseState=p,this._special=ma,this._cbs=e,this._running=!0,this._ended=!1,this._xmlMode=!(!a||!a.xmlMode),this._decodeEntities=!(!a||!a.decodeEntities)}a.exports=r;var s=t(1460),d=t(1381),c=t(1461),l=t(1382),u=0,p=u++,z=u++,m=u++,g=u++,w=u++,y=u++,f=u++,b=u++,h=u++,v=u++,k=u++,j=u++,_=u++,x=u++,O=u++,q=u++,E=u++,A=u++,S=u++,M=u++,T=u++,P=u++,C=u++,R=u++,D=u++,B=u++,F=u++,I=u++,L=u++,$=u++,U=u++,W=u++,N=u++,K=u++,H=u++,V=u++,Y=u++,G=u++,Z=u++,J=u++,X=u++,Q=u++,aa=u++,ea=u++,ta=u++,ia=u++,na=u++,oa=u++,ra=u++,sa=u++,da=u++,ca=u++,la=u++,ua=u++,pa=u++,za=0,ma=za++,ga=za++,wa=za++;r.prototype._stateText=function(a){"<"===a?(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._state=z,this._sectionStart=this._index):this._decodeEntities&&this._special===ma&&"&"===a&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=p,this._state=da,this._sectionStart=this._index)},r.prototype._stateBeforeTagName=function(a){"/"===a?this._state=w:"<"===a?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===a||this._special!==ma||i(a)?this._state=p:"!"===a?(this._state=O,this._sectionStart=this._index+1):"?"===a?(this._state=E,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==a&&"S"!==a?m:U,this._sectionStart=this._index)},r.prototype._stateInTagName=function(a){("/"===a||">"===a||i(a))&&(this._emitToken("onopentagname"),this._state=b,this._index--)},r.prototype._stateBeforeCloseingTagName=function(a){i(a)||(">"===a?this._state=p:this._special!==ma?"s"===a||"S"===a?this._state=W:(this._state=p,this._index--):(this._state=y,this._sectionStart=this._index))},r.prototype._stateInCloseingTagName=function(a){(">"===a||i(a))&&(this._emitToken("onclosetag"),this._state=f,this._index--)},r.prototype._stateAfterCloseingTagName=function(a){">"===a&&(this._state=p,this._sectionStart=this._index+1)},r.prototype._stateBeforeAttributeName=function(a){">"===a?(this._cbs.onopentagend(),this._state=p,this._sectionStart=this._index+1):"/"===a?this._state=g:i(a)||(this._state=h,this._sectionStart=this._index)},r.prototype._stateInSelfClosingTag=function(a){">"===a?(this._cbs.onselfclosingtag(),this._state=p,this._sectionStart=this._index+1):i(a)||(this._state=b,this._index--)},r.prototype._stateInAttributeName=function(a){("="===a||"/"===a||">"===a||i(a))&&(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=v,this._index--)},r.prototype._stateAfterAttributeName=function(a){"="===a?this._state=k:"/"===a||">"===a?(this._cbs.onattribend(),this._state=b,this._index--):i(a)||(this._cbs.onattribend(),this._state=h,this._sectionStart=this._index)},r.prototype._stateBeforeAttributeValue=function(a){'"'===a?(this._state=j,this._sectionStart=this._index+1):"'"===a?(this._state=_,this._sectionStart=this._index+1):i(a)||(this._state=x,this._sectionStart=this._index,this._index--)},r.prototype._stateInAttributeValueDoubleQuotes=function(a){'"'===a?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=b):this._decodeEntities&&"&"===a&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=da,this._sectionStart=this._index)},r.prototype._stateInAttributeValueSingleQuotes=function(a){"'"===a?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=b):this._decodeEntities&&"&"===a&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=da,this._sectionStart=this._index)},r.prototype._stateInAttributeValueNoQuotes=function(a){i(a)||">"===a?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=b,this._index--):this._decodeEntities&&"&"===a&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=da,this._sectionStart=this._index)},r.prototype._stateBeforeDeclaration=function(a){this._state="["===a?P:"-"===a?A:q},r.prototype._stateInDeclaration=function(a){">"===a&&(this._cbs.ondeclaration(this._getSection()),this._state=p,this._sectionStart=this._index+1)},r.prototype._stateInProcessingInstruction=function(a){">"===a&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=p,this._sectionStart=this._index+1)},r.prototype._stateBeforeComment=function(a){"-"===a?(this._state=S,this._sectionStart=this._index+1):this._state=q},r.prototype._stateInComment=function(a){"-"===a&&(this._state=M)},r.prototype._stateAfterComment1=function(a){this._state="-"===a?T:S},r.prototype._stateAfterComment2=function(a){">"===a?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=p,this._sectionStart=this._index+1):"-"!==a&&(this._state=S)},r.prototype._stateBeforeCdata1=n("C",C,q),r.prototype._stateBeforeCdata2=n("D",R,q),r.prototype._stateBeforeCdata3=n("A",D,q),r.prototype._stateBeforeCdata4=n("T",B,q),r.prototype._stateBeforeCdata5=n("A",F,q),r.prototype._stateBeforeCdata6=function(a){"["===a?(this._state=I,this._sectionStart=this._index+1):(this._state=q,this._index--)},r.prototype._stateInCdata=function(a){"]"===a&&(this._state=L)},r.prototype._stateAfterCdata1=function(a,e){return function(t){t===a&&(this._state=e)}}("]",$),r.prototype._stateAfterCdata2=function(a){">"===a?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=p,this._sectionStart=this._index+1):"]"!==a&&(this._state=I)},r.prototype._stateBeforeSpecial=function(a){"c"===a||"C"===a?this._state=N:"t"===a||"T"===a?this._state=aa:(this._state=m,this._index--)},r.prototype._stateBeforeSpecialEnd=function(a){this._special!==ga||"c"!==a&&"C"!==a?this._special!==wa||"t"!==a&&"T"!==a?this._state=p:this._state=na:this._state=G},r.prototype._stateBeforeScript1=o("R",K),r.prototype._stateBeforeScript2=o("I",H),r.prototype._stateBeforeScript3=o("P",V),r.prototype._stateBeforeScript4=o("T",Y),r.prototype._stateBeforeScript5=function(a){("/"===a||">"===a||i(a))&&(this._special=ga),this._state=m,this._index--},r.prototype._stateAfterScript1=n("R",Z,p),r.prototype._stateAfterScript2=n("I",J,p),r.prototype._stateAfterScript3=n("P",X,p),r.prototype._stateAfterScript4=n("T",Q,p),r.prototype._stateAfterScript5=function(a){">"===a||i(a)?(this._special=ma,this._state=y,this._sectionStart=this._index-6,this._index--):this._state=p},r.prototype._stateBeforeStyle1=o("Y",ea),r.prototype._stateBeforeStyle2=o("L",ta),r.prototype._stateBeforeStyle3=o("E",ia),r.prototype._stateBeforeStyle4=function(a){("/"===a||">"===a||i(a))&&(this._special=wa),this._state=m,this._index--},r.prototype._stateAfterStyle1=n("Y",oa,p),r.prototype._stateAfterStyle2=n("L",ra,p),r.prototype._stateAfterStyle3=n("E",sa,p),r.prototype._stateAfterStyle4=function(a){">"===a||i(a)?(this._special=ma,this._state=y,this._sectionStart=this._index-5,this._index--):this._state=p},r.prototype._stateBeforeEntity=n("#",ca,la),r.prototype._stateBeforeNumericEntity=n("X",pa,ua),r.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+1<this._index){var a=this._buffer.substring(this._sectionStart+1,this._index),e=this._xmlMode?l:d;e.hasOwnProperty(a)&&(this._emitPartial(e[a]),this._sectionStart=this._index+1)}},r.prototype._parseLegacyEntity=function(){var a=this._sectionStart+1,e=this._index-a;for(e>6&&(e=6);e>=2;){var t=this._buffer.substr(a,e);if(c.hasOwnProperty(t))return this._emitPartial(c[t]),void(this._sectionStart+=e+1);e--}},r.prototype._stateInNamedEntity=function(a){";"===a?(this._parseNamedEntityStrict(),this._sectionStart+1<this._index&&!this._xmlMode&&this._parseLegacyEntity(),this._state=this._baseState):(a<"a"||a>"z")&&(a<"A"||a>"Z")&&(a<"0"||a>"9")&&(this._xmlMode||this._sectionStart+1===this._index||(this._baseState!==p?"="!==a&&this._parseNamedEntityStrict():this._parseLegacyEntity()),this._state=this._baseState,this._index--)},r.prototype._decodeNumericEntity=function(a,e){var t=this._sectionStart+a;if(t!==this._index){var i=this._buffer.substring(t,this._index),n=parseInt(i,e);this._emitPartial(s(n)),this._sectionStart=this._index}else this._sectionStart--;this._state=this._baseState},r.prototype._stateInNumericEntity=function(a){";"===a?(this._decodeNumericEntity(2,10),this._sectionStart++):(a<"0"||a>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(2,10),this._index--)},r.prototype._stateInHexEntity=function(a){";"===a?(this._decodeNumericEntity(3,16),this._sectionStart++):(a<"a"||a>"f")&&(a<"A"||a>"F")&&(a<"0"||a>"9")&&(this._xmlMode?this._state=this._baseState:this._decodeNumericEntity(3,16),this._index--)},r.prototype._cleanup=function(){this._sectionStart<0?(this._buffer="",this._bufferOffset+=this._index,this._index=0):this._running&&(this._state===p?(this._sectionStart!==this._index&&this._cbs.ontext(this._buffer.substr(this._sectionStart)),this._buffer="",this._bufferOffset+=this._index,this._index=0):this._sectionStart===this._index?(this._buffer="",this._bufferOffset+=this._index,this._index=0):(this._buffer=this._buffer.substr(this._sectionStart),this._index-=this._sectionStart,this._bufferOffset+=this._sectionStart),this._sectionStart=0)},r.prototype.write=function(a){this._ended&&this._cbs.onerror(Error(".write() after done!")),this._buffer+=a,this._parse()},r.prototype._parse=function(){for(;this._index<this._buffer.length&&this._running;){var a=this._buffer.charAt(this._index);this._state===p?this._stateText(a):this._state===z?this._stateBeforeTagName(a):this._state===m?this._stateInTagName(a):this._state===w?this._stateBeforeCloseingTagName(a):this._state===y?this._stateInCloseingTagName(a):this._state===f?this._stateAfterCloseingTagName(a):this._state===g?this._stateInSelfClosingTag(a):this._state===b?this._stateBeforeAttributeName(a):this._state===h?this._stateInAttributeName(a):this._state===v?this._stateAfterAttributeName(a):this._state===k?this._stateBeforeAttributeValue(a):this._state===j?this._stateInAttributeValueDoubleQuotes(a):this._state===_?this._stateInAttributeValueSingleQuotes(a):this._state===x?this._stateInAttributeValueNoQuotes(a):this._state===O?this._stateBeforeDeclaration(a):this._state===q?this._stateInDeclaration(a):this._state===E?this._stateInProcessingInstruction(a):this._state===A?this._stateBeforeComment(a):this._state===S?this._stateInComment(a):this._state===M?this._stateAfterComment1(a):this._state===T?this._stateAfterComment2(a):this._state===P?this._stateBeforeCdata1(a):this._state===C?this._stateBeforeCdata2(a):this._state===R?this._stateBeforeCdata3(a):this._state===D?this._stateBeforeCdata4(a):this._state===B?this._stateBeforeCdata5(a):this._state===F?this._stateBeforeCdata6(a):this._state===I?this._stateInCdata(a):this._state===L?this._stateAfterCdata1(a):this._state===$?this._stateAfterCdata2(a):this._state===U?this._stateBeforeSpecial(a):this._state===W?this._stateBeforeSpecialEnd(a):this._state===N?this._stateBeforeScript1(a):this._state===K?this._stateBeforeScript2(a):this._state===H?this._stateBeforeScript3(a):this._state===V?this._stateBeforeScript4(a):this._state===Y?this._stateBeforeScript5(a):this._state===G?this._stateAfterScript1(a):this._state===Z?this._stateAfterScript2(a):this._state===J?this._stateAfterScript3(a):this._state===X?this._stateAfterScript4(a):this._state===Q?this._stateAfterScript5(a):this._state===aa?this._stateBeforeStyle1(a):this._state===ea?this._stateBeforeStyle2(a):this._state===ta?this._stateBeforeStyle3(a):this._state===ia?this._stateBeforeStyle4(a):this._state===na?this._stateAfterStyle1(a):this._state===oa?this._stateAfterStyle2(a):this._state===ra?this._stateAfterStyle3(a):this._state===sa?this._stateAfterStyle4(a):this._state===da?this._stateBeforeEntity(a):this._state===ca?this._stateBeforeNumericEntity(a):this._state===la?this._stateInNamedEntity(a):this._state===ua?this._stateInNumericEntity(a):this._state===pa?this._stateInHexEntity(a):this._cbs.onerror(Error("unknown _state"),this._state),this._index++}this._cleanup()},r.prototype.pause=function(){this._running=!1},r.prototype.resume=function(){this._running=!0,this._index<this._buffer.length&&this._parse(),this._ended&&this._finish()},r.prototype.end=function(a){this._ended&&this._cbs.onerror(Error(".end() after done!")),a&&this.write(a),this._ended=!0,this._running&&this._finish()},r.prototype._finish=function(){this._sectionStart<this._index&&this._handleTrailingData(),this._cbs.onend()},r.prototype._handleTrailingData=function(){var a=this._buffer.substr(this._sectionStart);this._state===I||this._state===L||this._state===$?this._cbs.oncdata(a):this._state===S||this._state===M||this._state===T?this._cbs.oncomment(a):this._state!==la||this._xmlMode?this._state!==ua||this._xmlMode?this._state!==pa||this._xmlMode?this._state!==m&&this._state!==b&&this._state!==k&&this._state!==v&&this._state!==h&&this._state!==_&&this._state!==j&&this._state!==x&&this._state!==y&&this._cbs.ontext(a):(this._decodeNumericEntity(3,16),this._sectionStart<this._index&&(this._state=this._baseState,this._handleTrailingData())):(this._decodeNumericEntity(2,10),this._sectionStart<this._index&&(this._state=this._baseState,this._handleTrailingData())):(this._parseLegacyEntity(),this._sectionStart<this._index&&(this._state=this._baseState,this._handleTrailingData()))},r.prototype.reset=function(){r.call(this,{xmlMode:this._xmlMode,decodeEntities:this._decodeEntities},this._cbs)},r.prototype.getAbsoluteIndex=function(){return this._bufferOffset+this._index},r.prototype._getSection=function(){return this._buffer.substring(this._sectionStart,this._index)},r.prototype._emitToken=function(a){this._cbs[a](this._getSection()),this._sectionStart=-1},r.prototype._emitPartial=function(a){this._baseState!==p?this._cbs.onattribdata(a):this._cbs.ontext(a)}},function(a,e,t){function i(a){if(a>=55296&&a<=57343||a>1114111)return"�";a in n&&(a=n[a]);var e="";return a>65535&&(a-=65536,e+=String.fromCharCode(a>>>10&1023|55296),a=56320|1023&a),e+=String.fromCharCode(a)}var n=t(1652);a.exports=i},function(a,e){a.exports={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"}},function(a,e){var t=a.exports={get firstChild(){var a=this.children;return a&&a[0]||null},get lastChild(){var a=this.children;return a&&a[a.length-1]||null},get nodeType(){return n[this.type]||n.element}},i={tagName:"name",childNodes:"children",parentNode:"parent",previousSibling:"prev",nextSibling:"next",nodeValue:"data"},n={element:1,text:3,cdata:4,comment:8};Object.keys(i).forEach(function(a){var e=i[a];Object.defineProperty(t,a,{get:function(){return this[e]||null},set:function(a){return this[e]=a,a}})})},function(a,e,t){function i(a,e){var t=this._parser=new n(a,e),i=this._decoder=new r;o.call(this,{decodeStrings:!1}),this.once("finish",function(){t.end(i.end())})}a.exports=i;var n=t(1458),o=t(1657).Writable||t(1670).Writable,r=t(1387).StringDecoder,s=t(1384).Buffer;t(168)(i,o),o.prototype._write=function(a,e,t){a instanceof s&&(a=this._decoder.write(a)),this._parser.write(a),t()}},function(a,e,t){"use strict";(function(e,i){function n(a){return B.from(a)}function o(a){return B.isBuffer(a)||a instanceof F}function r(a,e,t){if("function"==typeof a.prependListener)return a.prependListener(e,t);a._events&&a._events[e]?C(a._events[e])?a._events[e].unshift(t):a._events[e]=[t,a._events[e]]:a.on(e,t)}function s(a,e){P=P||t(805),a=a||{};var i=e instanceof P;this.objectMode=!!a.objectMode,i&&(this.objectMode=this.objectMode||!!a.readableObjectMode);var n=a.highWaterMark,o=a.readableHighWaterMark,r=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i&&(o||0===o)?o:r,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new W,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=a.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,a.encoding&&(U||(U=t(1387).StringDecoder),this.decoder=new U(a.encoding),this.encoding=a.encoding)}function d(a){if(P=P||t(805),!(this instanceof d))return new d(a);this._readableState=new s(a,this),this.readable=!0,a&&("function"==typeof a.read&&(this._read=a.read),"function"==typeof a.destroy&&(this._destroy=a.destroy)),D.call(this)}function c(a,e,t,i,o){var r=a._readableState;if(null===e)r.reading=!1,g(a,r);else{var s;o||(s=u(r,e)),s?a.emit("error",s):r.objectMode||e&&e.length>0?("string"==typeof e||r.objectMode||Object.getPrototypeOf(e)===B.prototype||(e=n(e)),i?r.endEmitted?a.emit("error",new Error("stream.unshift() after end event")):l(a,r,e,!0):r.ended?a.emit("error",new Error("stream.push() after EOF")):(r.reading=!1,r.decoder&&!t?(e=r.decoder.write(e),r.objectMode||0!==e.length?l(a,r,e,!1):f(a,r)):l(a,r,e,!1))):i||(r.reading=!1)}return p(r)}function l(a,e,t,i){e.flowing&&0===e.length&&!e.sync?(a.emit("data",t),a.read(0)):(e.length+=e.objectMode?1:t.length,i?e.buffer.unshift(t):e.buffer.push(t),e.needReadable&&w(a)),f(a,e)}function u(a,e){var t;return o(e)||"string"==typeof e||void 0===e||a.objectMode||(t=new TypeError("Invalid non-string/buffer chunk")),t}function p(a){return!a.ended&&(a.needReadable||a.length<a.highWaterMark||0===a.length)}function z(a){return a>=H?a=H:(a--,a|=a>>>1,a|=a>>>2,a|=a>>>4,a|=a>>>8,a|=a>>>16,a++),a}function m(a,e){return a<=0||0===e.length&&e.ended?0:e.objectMode?1:a!==a?e.flowing&&e.length?e.buffer.head.data.length:e.length:(a>e.highWaterMark&&(e.highWaterMark=z(a)),a<=e.length?a:e.ended?e.length:(e.needReadable=!0,0))}function g(a,e){if(!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,w(a)}}function w(a){var e=a._readableState;e.needReadable=!1,e.emittedReadable||($("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?T.nextTick(y,a):y(a))}function y(a){$("emit readable"),a.emit("readable"),_(a)}function f(a,e){e.readingMore||(e.readingMore=!0,T.nextTick(b,a,e))}function b(a,e){for(var t=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&($("maybeReadMore read 0"),a.read(0),t!==e.length);)t=e.length;e.readingMore=!1}function h(a){return function(){var e=a._readableState;$("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&R(a,"data")&&(e.flowing=!0,_(a))}}function v(a){$("readable nexttick read 0"),a.read(0)}function k(a,e){e.resumeScheduled||(e.resumeScheduled=!0,T.nextTick(j,a,e))}function j(a,e){e.reading||($("resume read 0"),a.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,a.emit("resume"),_(a),e.flowing&&!e.reading&&a.read(0)}function _(a){var e=a._readableState;for($("flow",e.flowing);e.flowing&&null!==a.read(););}function x(a,e){if(0===e.length)return null;var t;return e.objectMode?t=e.buffer.shift():!a||a>=e.length?(t=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):t=O(a,e.buffer,e.decoder),t}function O(a,e,t){var i;return a<e.head.data.length?(i=e.head.data.slice(0,a),e.head.data=e.head.data.slice(a)):i=a===e.head.data.length?e.shift():t?q(a,e):E(a,e),i}function q(a,e){var t=e.head,i=1,n=t.data;for(a-=n.length;t=t.next;){var o=t.data,r=a>o.length?o.length:a;if(r===o.length?n+=o:n+=o.slice(0,a),0===(a-=r)){r===o.length?(++i,t.next?e.head=t.next:e.head=e.tail=null):(e.head=t,t.data=o.slice(r));break}++i}return e.length-=i,n}function E(a,e){var t=B.allocUnsafe(a),i=e.head,n=1;for(i.data.copy(t),a-=i.data.length;i=i.next;){var o=i.data,r=a>o.length?o.length:a;if(o.copy(t,t.length-a,0,r),0===(a-=r)){r===o.length?(++n,i.next?e.head=i.next:e.head=e.tail=null):(e.head=i,i.data=o.slice(r));break}++n}return e.length-=n,t}function A(a){var e=a._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,T.nextTick(S,e,a))}function S(a,e){a.endEmitted||0!==a.length||(a.endEmitted=!0,e.readable=!1,e.emit("end"))}function M(a,e){for(var t=0,i=a.length;t<i;t++)if(a[t]===e)return t;return-1}var T=t(1037);a.exports=d;var P,C=t(1465);d.ReadableState=s;var R=(t(823).EventEmitter,function(a,e){return a.listeners(e).length}),D=t(1466),B=t(1038).Buffer,F=e.Uint8Array||function(){},I=t(999);I.inherits=t(168);var L=t(1660),$=void 0;$=L&&L.debuglog?L.debuglog("stream"):function(){};var U,W=t(1661),N=t(1467);I.inherits(d,D);var K=["error","close","destroy","pause","resume"];Object.defineProperty(d.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(a){this._readableState&&(this._readableState.destroyed=a)}}),d.prototype.destroy=N.destroy,d.prototype._undestroy=N.undestroy,d.prototype._destroy=function(a,e){this.push(null),e(a)},d.prototype.push=function(a,e){var t,i=this._readableState;return i.objectMode?t=!0:"string"==typeof a&&(e=e||i.defaultEncoding,e!==i.encoding&&(a=B.from(a,e),e=""),t=!0),c(this,a,e,!1,t)},d.prototype.unshift=function(a){return c(this,a,null,!0,!1)},d.prototype.isPaused=function(){return!1===this._readableState.flowing},d.prototype.setEncoding=function(a){return U||(U=t(1387).StringDecoder),this._readableState.decoder=new U(a),this._readableState.encoding=a,this};var H=8388608;d.prototype.read=function(a){$("read",a),a=parseInt(a,10);var e=this._readableState,t=a;if(0!==a&&(e.emittedReadable=!1),0===a&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return $("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?A(this):w(this),null;if(0===(a=m(a,e))&&e.ended)return 0===e.length&&A(this),null;var i=e.needReadable;$("need readable",i),(0===e.length||e.length-a<e.highWaterMark)&&(i=!0,$("length less than watermark",i)),e.ended||e.reading?(i=!1,$("reading or ended",i)):i&&($("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(a=m(t,e)));var n;return n=a>0?x(a,e):null,null===n?(e.needReadable=!0,a=0):e.length-=a,0===e.length&&(e.ended||(e.needReadable=!0),t!==a&&e.ended&&A(this)),null!==n&&this.emit("data",n),n},d.prototype._read=function(a){this.emit("error",new Error("_read() is not implemented"))},d.prototype.pipe=function(a,e){function t(a,e){$("onunpipe"),a===p&&e&&!1===e.hasUnpiped&&(e.hasUnpiped=!0,o())}function n(){$("onend"),a.end()}function o(){$("cleanup"),a.removeListener("close",c),a.removeListener("finish",l),a.removeListener("drain",w),a.removeListener("error",d),a.removeListener("unpipe",t),p.removeListener("end",n),p.removeListener("end",u),p.removeListener("data",s),y=!0,!z.awaitDrain||a._writableState&&!a._writableState.needDrain||w()}function s(e){$("ondata"),f=!1,!1!==a.write(e)||f||((1===z.pipesCount&&z.pipes===a||z.pipesCount>1&&-1!==M(z.pipes,a))&&!y&&($("false write response, pause",p._readableState.awaitDrain),p._readableState.awaitDrain++,f=!0),p.pause())}function d(e){$("onerror",e),u(),a.removeListener("error",d),0===R(a,"error")&&a.emit("error",e)}function c(){a.removeListener("finish",l),u()}function l(){$("onfinish"),a.removeListener("close",c),u()}function u(){$("unpipe"),p.unpipe(a)}var p=this,z=this._readableState;switch(z.pipesCount){case 0:z.pipes=a;break;case 1:z.pipes=[z.pipes,a];break;default:z.pipes.push(a)}z.pipesCount+=1,$("pipe count=%d opts=%j",z.pipesCount,e);var m=(!e||!1!==e.end)&&a!==i.stdout&&a!==i.stderr,g=m?n:u;z.endEmitted?T.nextTick(g):p.once("end",g),a.on("unpipe",t);var w=h(p);a.on("drain",w);var y=!1,f=!1;return p.on("data",s),r(a,"error",d),a.once("close",c),a.once("finish",l),a.emit("pipe",p),z.flowing||($("pipe resume"),p.resume()),a},d.prototype.unpipe=function(a){var e=this._readableState,t={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return a&&a!==e.pipes?this:(a||(a=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,a&&a.emit("unpipe",this,t),this);if(!a){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<n;o++)i[o].emit("unpipe",this,t);return this}var r=M(e.pipes,a);return-1===r?this:(e.pipes.splice(r,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),a.emit("unpipe",this,t),this)},d.prototype.on=function(a,e){var t=D.prototype.on.call(this,a,e);if("data"===a)!1!==this._readableState.flowing&&this.resume();else if("readable"===a){var i=this._readableState;i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&w(this):T.nextTick(v,this))}return t},d.prototype.addListener=d.prototype.on,d.prototype.resume=function(){var a=this._readableState;return a.flowing||($("resume"),a.flowing=!0,k(this,a)),this},d.prototype.pause=function(){return $("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&($("pause"),this._readableState.flowing=!1,this.emit("pause")),this},d.prototype.wrap=function(a){var e=this,t=this._readableState,i=!1;a.on("end",function(){if($("wrapped end"),t.decoder&&!t.ended){var a=t.decoder.end();a&&a.length&&e.push(a)}e.push(null)}),a.on("data",function(n){if($("wrapped data"),t.decoder&&(n=t.decoder.write(n)),(!t.objectMode||null!==n&&void 0!==n)&&(t.objectMode||n&&n.length)){e.push(n)||(i=!0,a.pause())}});for(var n in a)void 0===this[n]&&"function"==typeof a[n]&&(this[n]=function(e){return function(){return a[e].apply(a,arguments)}}(n));for(var o=0;o<K.length;o++)a.on(K[o],this.emit.bind(this,K[o]));return this._read=function(e){$("wrapped _read",e),i&&(i=!1,a.resume())},this},Object.defineProperty(d.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),d._fromList=x}).call(e,t(15),t(444))},function(a,e){var t={}.toString;a.exports=Array.isArray||function(a){return"[object Array]"==t.call(a)}},function(a,e,t){a.exports=t(823).EventEmitter},function(a,e,t){"use strict";function i(a,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(a):!a||this._writableState&&this._writableState.errorEmitted||r.nextTick(o,this,a),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(a||null,function(a){!e&&a?(r.nextTick(o,t,a),t._writableState&&(t._writableState.errorEmitted=!0)):e&&e(a)}),this)}function n(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function o(a,e){a.emit("error",e)}var r=t(1037);a.exports={destroy:i,undestroy:n}},function(a,e,t){"use strict";function i(a,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(!i)return this.emit("error",new Error("write callback called multiple times"));t.writechunk=null,t.writecb=null,null!=e&&this.push(e),i(a);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function n(a){if(!(this instanceof n))return new n(a);s.call(this,a),this._transformState={afterTransform:i.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,a&&("function"==typeof a.transform&&(this._transform=a.transform),"function"==typeof a.flush&&(this._flush=a.flush)),this.on("prefinish",o)}function o(){var a=this;"function"==typeof this._flush?this._flush(function(e,t){r(a,e,t)}):r(this,null,null)}function r(a,e,t){if(e)return a.emit("error",e);if(null!=t&&a.push(t),a._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(a._transformState.transforming)throw new Error("Calling transform done when still transforming");return a.push(null)}a.exports=n;var s=t(805),d=t(999);d.inherits=t(168),d.inherits(n,s),n.prototype.push=function(a,e){return this._transformState.needTransform=!1,s.prototype.push.call(this,a,e)},n.prototype._transform=function(a,e,t){throw new Error("_transform() is not implemented")},n.prototype._write=function(a,e,t){var i=this._transformState;if(i.writecb=t,i.writechunk=a,i.writeencoding=e,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},n.prototype._read=function(a){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},n.prototype._destroy=function(a,e){var t=this;s.prototype._destroy.call(this,a,function(a){e(a),t.emit("close")})}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){return[" ","\\n","\\r","\\t"," "," ",".",",","'","(",")",'"',"+","-",";","!","?",":","/","»","«","‹","›","<",">"]}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.scoreToRating=void 0;var i=t(1034),n=function(a){return a&&a.__esModule?a:{default:a}}(i);e.scoreToRating=n.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.presenter=void 0;var i=t(1472),n=function(a){return a&&a.__esModule?a:{default:a}}(i);e.presenter=n.default},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return{feedback:{className:"na",screenReaderText:a.dgettext("js-text-analysis","Feedback"),fullText:a.dgettext("js-text-analysis","Content optimization: Has feedback"),screenReaderReadabilityText:""},bad:{className:"bad",screenReaderText:a.dgettext("js-text-analysis","Bad SEO score"),fullText:a.dgettext("js-text-analysis","Content optimization: Bad SEO score"),screenReaderReadabilityText:a.dgettext("js-text-analysis","Needs improvement")},ok:{className:"ok",screenReaderText:a.dgettext("js-text-analysis","OK SEO score"),fullText:a.dgettext("js-text-analysis","Content optimization: OK SEO score"),screenReaderReadabilityText:a.dgettext("js-text-analysis","OK")},good:{className:"good",screenReaderText:a.dgettext("js-text-analysis","Good SEO score"),fullText:a.dgettext("js-text-analysis","Content optimization: Good SEO score"),screenReaderReadabilityText:a.dgettext("js-text-analysis","Good")}}}},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){return(0,n.default)(a.getText())};var i=t(340),n=function(a){return a&&a.__esModule?a:{default:a}}(i)},function(a,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e;return e=a.match(/<a(?:[^>]+)?>(.*?)<\/a>/gi),null===e&&(e=[]),e}},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e=(0,o.default)(a.getText());return(0,r.map)(e,d.default.getFromAnchorTag)};var n=t(1474),o=i(n),r=t(1),s=t(1389),d=i(s)},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(a){var e,t=[];for(e=0;e<d.length;e++)null!==a.match((0,s.default)(d[e]))&&t.push(d[e]);return t};var n=t(1700),o=i(n),r=t(1e3),s=i(r),d=(0,o.default)()},function(a,e,t){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function n(a){var e=[],t=a.deviations;return(0,c.isUndefined)(t.words)||(0,c.isUndefined)(t.words.fragments)||(e=(0,c.flatMap)(t.words.fragments,function(a,e